{"version":3,"sources":["../src/src/box/box.scss","../src/src/support/variables/misc.scss","../src/src/support/variables/typography.scss","../src/src/support/variables/layout.scss","../src/src/support/mixins/layout.scss"],"names":[],"mappings":"AAGA,KACE,wCAAyC,CACzC,wCAAyC,CACzC,kBCFkB,CDGlB,gBCJgB,CDKhB,iBCCoB,CDArB,gBAIC,gBEiBiB,CFlBnB,4BAII,gBGqBkB,CHzBtB,0BAQI,gBGiBkB,CHzBtB,4BAYI,gBGakB,CHzBtB,6CAiBM,gBGQgB,CHNhB,iBGMgB,CHLhB,gBEFa,CFlBnB,yBAyBI,gBGAkB,CHCnB,2BAKC,YGLkB,CHMlB,gBEde,CFWnB,0BAOI,cEjCU,CF0Bd,yBAWI,YGdkB,CHGtB,2BAeI,YGlBkB,CHGtB,4CAoBM,YGvBgB,CHyBhB,kBGzBgB,CHGtB,wBA2BI,YG9BkB,CH+BnB,YAID,YGpCoB,CHsCpB,kBAA2C,CAC3C,yCAA0C,CAC1C,wCAAyC,CACzC,kBC1EkB,CD2ElB,gBC5EgB,CD6EhB,0BCvEoB,CDwEpB,2BCxEoB,CDyErB,WAGC,cE7CmB,CF8CnB,eE/DoB,CFgErB,UAGC,YGrDoB,CHsDpB,mDAAsE,CAFxE,uBAOI,kBC7Fc,CD8Fd,8BCxFkB,CDyFlB,6BCzFkB,CD0FnB,SAKD,YGnEoB,CHqEpB,eAAgB,CAChB,oBAAqB,CACrB,8CAA+C,CAC/C,sBCzGkB,CD0GlB,oBC3GgB,CDoGlB,uBAUI,0BCxGkB,CDyGlB,2BCzGkB,CD8FtB,sBAeI,8BC7GkB,CD8GlB,6BC9GkB,CD8FtB,yCAyBI,iDAAkD,CAzBtD,gDA+BM,4BAA6B,CAC7B,WAAY,CACZ,WAAY,CAjClB,4DAsCM,eAAgB,CAtCtB,0CA2CM,0CAA2C,CA3CjD,yCAgDM,yCAA0C,CAhDhD,6DAoDQ,SAAU,CACX,sCAOH,yCAA0C,CAC3C,sCAKC,6CAA8C,CAC/C,2BAKC,yCAA0C,CAC3C,2BAKC,6CAA8C,CIvK5C,0BJ8KN,cAEI,+BAAgC,CAChC,oBAAqB,CAHzB,oBAMM,4BAA6B,CAC7B,oBAAqB,CACtB,CAML,sBACE,SAAU,CACX,YAGC,YG1KoB,CH4KpB,eAAgB,CAChB,4CAA6C,CAC7C,sBC/MkB,CDgNlB,oBCjNgB,CDkNhB,yBC5MoB,CD6MrB,iBAIC,gBAAiB,CACjB,eAAgB,CACjB,WAKC,yCAA0C,CAD5C,uBAII,qCAAsC,CACtC,yCAA0C,CAL9C,qBASI,yCAA0C,CAT9C,oBAaI,yCAA0C,CAb9C,uBAiBI,yCAA0C,CAC3C,aAMD,uCAAwC,CAD1C,oCAKM,uCAAwC,CAL9C,oCAWM,uCAAwC,CACzC,kBAKH,gDAAiD,CACjD,gDAAiD,CAClD,iBAKC,+CAAgD,CACjD,eAGC,6CAA8C,CAC/C,eAGC,yCAA0C,CAC3C,6BAMG,iBGzPkB,CH2PlB,kBG3PkB,CH4PlB,eElQY","file":"box.css","sourcesContent":["// Box\n// Intended to replace simple-box, boxed-group, and table-list\n\n.Box {\n background-color: var(--color-bg-primary);\n border-color: var(--color-border-primary);\n border-style: $border-style;\n border-width: $border-width;\n border-radius: $border-radius;\n}\n\n// Box padding density options\n.Box--condensed {\n line-height: $lh-condensed;\n\n .Box-header {\n padding: $spacer-2 $spacer-3;\n }\n\n .Box-body {\n padding: $spacer-2 $spacer-3;\n }\n\n .Box-footer {\n padding: $spacer-2 $spacer-3;\n }\n\n .Box-btn-octicon {\n &.btn-octicon {\n padding: $spacer-2 $spacer-3;\n // stylelint-disable-next-line primer/spacing\n margin: (-$spacer-2) (-$spacer-3);\n line-height: $lh-condensed;\n }\n }\n\n .Box-row {\n padding: $spacer-2 $spacer-3;\n }\n}\n\n.Box--spacious {\n .Box-header {\n padding: $spacer-4;\n line-height: $lh-condensed;\n }\n\n .Box-title {\n font-size: $h3-size;\n }\n\n .Box-body {\n padding: $spacer-4;\n }\n\n .Box-footer {\n padding: $spacer-4;\n }\n\n .Box-btn-octicon {\n &.btn-octicon {\n padding: $spacer-4;\n // stylelint-disable-next-line primer/spacing\n margin: (-$spacer-4) (-$spacer-4);\n }\n }\n\n .Box-row {\n padding: $spacer-4;\n }\n}\n\n.Box-header {\n padding: $spacer-3;\n // stylelint-disable-next-line primer/spacing\n margin: (-$border-width) (-$border-width) 0;\n background-color: var(--color-bg-tertiary);\n border-color: var(--color-border-primary);\n border-style: $border-style;\n border-width: $border-width;\n border-top-left-radius: $border-radius;\n border-top-right-radius: $border-radius;\n}\n\n.Box-title {\n font-size: $body-font-size;\n font-weight: $font-weight-bold;\n}\n\n.Box-body {\n padding: $spacer-3;\n border-bottom: $border-width $border-style var(--color-border-primary);\n\n // Ensures bottom-border doesn't poke out when .Box-body used without box-footer\n &:last-of-type {\n // stylelint-disable-next-line primer/spacing\n margin-bottom: -$border-width;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n }\n}\n\n// Box rows\n.Box-row {\n padding: $spacer-3;\n // stylelint-disable-next-line primer/spacing\n margin-top: -1px;\n list-style-type: none; // To account for applying Box component to a list\n border-top-color: var(--color-border-secondary);\n border-top-style: $border-style;\n border-top-width: $border-width;\n\n &:first-of-type {\n border-top-left-radius: $border-radius;\n border-top-right-radius: $border-radius;\n }\n\n &:last-of-type {\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n }\n\n // Adds a blue vertical line to the left of the row\n // For indicating a row item is unread\n &.Box-row--unread,\n // .unread to be deprecated with .Box-row-unread\n &.unread {\n // stylelint-disable-next-line primer/box-shadow\n box-shadow: inset 2px 0 0 var(--color-border-info);\n }\n\n &.navigation-focus {\n // Focus styles for when drag icon\n .Box-row--drag-button {\n color: var(--color-text-link);\n cursor: grab;\n opacity: 100;\n }\n\n // Grabbing while row is dragged\n &.is-dragging .Box-row--drag-button {\n cursor: grabbing;\n }\n\n // Row dragging styles\n &.sortable-chosen {\n background-color: var(--color-bg-secondary);\n }\n\n // Makes dragging row background gray\n &.sortable-ghost {\n background-color: var(--color-bg-tertiary);\n\n // Hides contents of row while dragging so row looks solid gray\n .Box-row--drag-hide {\n opacity: 0;\n }\n }\n }\n}\n\n.Box-row--focus-gray {\n &.navigation-focus {\n background-color: var(--color-bg-tertiary);\n }\n}\n\n.Box-row--focus-blue {\n &.navigation-focus {\n background-color: var(--color-box-row-blue-bg);\n }\n}\n\n.Box-row--hover-gray {\n &:hover {\n background-color: var(--color-bg-tertiary);\n }\n}\n\n.Box-row--hover-blue {\n &:hover {\n background-color: var(--color-box-row-blue-bg);\n }\n}\n\n// Optional link style\n// Makes links on mobile blue since they don't have hover state,\n// and links are dark-gray with blue hover on desktop.\n.Box-row-link {\n @include breakpoint(md) {\n color: var(--color-text-primary);\n text-decoration: none;\n\n &:hover {\n color: var(--color-text-link);\n text-decoration: none;\n }\n }\n}\n\n// Optional drag icon styles for reordering items\n// Focus styles included in .Box-row above\n.Box-row--drag-button {\n opacity: 0;\n}\n\n.Box-footer {\n padding: $spacer-3;\n // stylelint-disable-next-line primer/spacing\n margin-top: -1px; // prevents double border when used with .Box-body\n border-top-color: var(--color-border-primary);\n border-top-style: $border-style;\n border-top-width: $border-width;\n border-radius: 0 0 $border-radius $border-radius;\n}\n\n// Option for a box with scrolling content\n.Box--scrollable {\n max-height: 324px;\n overflow: scroll;\n}\n\n// Box themes\n\n.Box--blue {\n border-color: var(--color-box-blue-border);\n\n .Box-header {\n background-color: var(--color-bg-info);\n border-color: var(--color-box-blue-border);\n }\n\n .Box-body {\n border-color: var(--color-box-blue-border);\n }\n\n .Box-row {\n border-color: var(--color-box-blue-border);\n }\n\n .Box-footer {\n border-color: var(--color-box-blue-border);\n }\n}\n\n// Applies and red border to the outside of the box,\n// but not to the border separating rows.\n.Box--danger {\n border-color: var(--color-border-danger);\n\n .Box-row {\n &:first-of-type {\n border-color: var(--color-border-danger);\n }\n }\n\n .Box-body {\n &:last-of-type {\n border-color: var(--color-border-danger);\n }\n }\n}\n\n.Box-header--blue {\n background-color: var(--color-box-header-blue-bg);\n border-color: var(--color-box-header-blue-border);\n}\n\n// Box row highlight themes\n\n.Box-row--yellow {\n background-color: var(--color-box-row-yellow-bg);\n}\n\n.Box-row--blue {\n background-color: var(--color-box-row-blue-bg);\n}\n\n.Box-row--gray {\n background-color: var(--color-bg-tertiary);\n}\n\n//Box with btn-octicon\n.Box-btn-octicon {\n // Increase specificity when btn-octicon is used because comes after .Box in the cascade\n &.btn-octicon {\n padding: $spacer-3 $spacer-3;\n // stylelint-disable-next-line primer/spacing\n margin: (-$spacer-3) (-$spacer-3);\n line-height: $lh-default; // override btn-octicon line-height\n }\n}\n","// Miscellaneous variables\n\n// Border\n$border-width: 1px !default;\n$border-style: solid !default;\n$border: $border-width $border-style var(--color-border-primary) !default;\n\n// Border Radius\n$border-radius-1: 4px !default;\n$border-radius-2: 6px !default;\n$border-radius-3: 8px !default;\n$border-radius: $border-radius-2 !default;\n\n// Tooltips\n$tooltip-max-width: 250px !default;\n$tooltip-delay: 0.4s !default;\n$tooltip-duration: 0.1s !default;\n","// Typography variables\n\n// Heading sizes - mobile\n// h4-h6 remain the same size on both mobile & desktop\n$h00-size-mobile: 40px !default;\n$h0-size-mobile: 32px !default;\n$h1-size-mobile: 26px !default;\n$h2-size-mobile: 22px !default;\n$h3-size-mobile: 18px !default;\n\n// Heading sizes - desktop\n$h00-size: 48px !default;\n$h0-size: 40px !default;\n$h1-size: 32px !default;\n$h2-size: 24px !default;\n$h3-size: 20px !default;\n$h4-size: 16px !default;\n$h5-size: 14px !default;\n$h6-size: 12px !default;\n\n$font-size-small: 12px !default;\n\n// Font weights\n$font-weight-bold: 600 !default;\n$font-weight-semibold: 500 !default;\n$font-weight-normal: 400 !default;\n$font-weight-light: 300 !default;\n\n// Line heights\n$lh-condensed-ultra: 1 !default;\n$lh-condensed: 1.25 !default;\n$lh-default: 1.5 !default;\n\n// Font stacks\n$body-font: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\" !default;\n\n// Monospace font stack\n$mono-font: \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, monospace !default;\n\n// The base body size\n$body-font-size: 14px !default;\n$body-line-height: $lh-default !default;\n","// Layout variables\n\n// these are values for the display CSS property\n$display-values: (\n block,\n flex,\n inline,\n inline-block,\n inline-flex,\n none,\n table,\n table-cell\n) !default;\n\n// maps edges to respective corners for border-radius\n$edges: (\n top: (top-left, top-right),\n right: (top-right, bottom-right),\n bottom: (bottom-right, bottom-left),\n left: (bottom-left, top-left)\n) !default;\n\n// These are our margin and padding utility spacers. The default step size we\n// use is 8px. This gives us a key of:\n// 0 => 0px\n// 1 => 4px\n// 2 => 8px\n// 3 => 16px\n// 4 => 24px\n// 5 => 32px\n// 6 => 40px\n$spacer: 8px !default;\n\n// Our spacing scale\n$spacer-0: 0 !default; // 0\n$spacer-1: round($spacer / 2) !default; // 4px\n$spacer-2: $spacer !default; // 8px\n$spacer-3: $spacer * 2 !default; // 16px\n$spacer-4: $spacer * 3 !default; // 24px\n$spacer-5: $spacer * 4 !default; // 32px\n$spacer-6: $spacer * 5 !default; // 40px\n\n// The list of spacer values\n$spacers: (\n $spacer-0,\n $spacer-1,\n $spacer-2,\n $spacer-3,\n $spacer-4,\n $spacer-5,\n $spacer-6,\n) !default;\n\n// And the map of spacers, for easier looping:\n// @each $scale, $length in $spacer-map { ... }\n$spacer-map: (\n 0: $spacer-0,\n 1: $spacer-1,\n 2: $spacer-2,\n 3: $spacer-3,\n 4: $spacer-4,\n 5: $spacer-5,\n 6: $spacer-6,\n) !default;\n\n// Increases the core spacing scale first by 8px for $spacer-7, then by 16px\n// increments from $spacer-8 to $spacer-12, i.e. after 40px, we have 48, 64,\n// 80, 96, etc.\n$spacer-7: $spacer * 6 !default; // 48px\n$spacer-8: $spacer * 8 !default; // 64px\n$spacer-9: $spacer * 10 !default; // 80px\n$spacer-10: $spacer * 12 !default; // 96px\n$spacer-11: $spacer * 14 !default; // 112px\n$spacer-12: $spacer * 16 !default; // 128px\n\n$spacers-large: (\n 7: $spacer-7,\n 8: $spacer-8,\n 9: $spacer-9,\n 10: $spacer-10,\n 11: $spacer-11,\n 12: $spacer-12,\n) !default;\n\n$spacer-map-extended: map-merge(\n (\n 0: 0,\n 1: $spacer-1,\n 2: $spacer-2,\n 3: $spacer-3,\n 4: $spacer-4,\n 5: $spacer-5,\n 6: $spacer-6,\n ),\n $spacers-large,\n) !default;\n\n// Em spacer variables\n$em-spacer-1: 0.0625em !default; // 1/16\n$em-spacer-2: 0.125em !default; // 1/8\n$em-spacer-3: 0.25em !default; // 1/4\n$em-spacer-4: 0.375em !default; // 3/8\n$em-spacer-5: 0.5em !default; // 1/2\n$em-spacer-6: 0.75em !default; // 3/4\n\n// Size scale\n// Used for buttons, inputs, labels, avatars etc.\n$size: 16px !default;\n\n$size-0: 0 !default;\n$size-1: $size !default; // 16px\n$size-2: $size-1 + 4px !default; // 20px\n$size-3: $size-2 + 4px !default; // 24px\n$size-4: $size-3 + 4px !default; // 28px\n$size-5: $size-4 + 4px !default; // 32px\n$size-6: $size-5 + 8px !default; // 40px\n$size-7: $size-6 + 8px !default; // 48px\n$size-8: $size-7 + 16px !default; // 64px\n\n// Fixed-width container variables\n$container-width: 980px !default;\n$grid-gutter: 10px !default;\n\n// Breakpoint widths\n$width-xs: 0 !default;\n// Small screen / phone\n$width-sm: 544px !default;\n// Medium screen / tablet\n$width-md: 768px !default;\n// Large screen / desktop (980 + (16 * 2)) <= container + gutters\n$width-lg: 1012px !default;\n// Extra large screen / wide desktop\n$width-xl: 1280px !default;\n\n// Responsive container widths\n$container-sm: $width-sm !default;\n$container-md: $width-md !default;\n$container-lg: $width-lg !default;\n$container-xl: $width-xl !default;\n\n// Breakpoints in the form (name: length)\n$breakpoints: (\n sm: $width-sm,\n md: $width-md,\n lg: $width-lg,\n xl: $width-xl\n) !default;\n\n// This map in the form (breakpoint: variant) is used to iterate over\n// breakpoints and create both responsive and non-responsive classes in one\n// loop:\n//\n// ```scss\n// @each $breakpoint, $variant of $responsive-variants {\n// @include breakpoint($breakpoint) {\n// .foo#{$variant}-bar { foo: bar !important; }\n// }\n// }\n// ```\n$responsive-variants: (\n \"\": \"\",\n sm: \"-sm\",\n md: \"-md\",\n lg: \"-lg\",\n xl: \"-xl\",\n) !default;\n\n// responive utility position values\n$responsive-positions: (\n static,\n relative,\n absolute,\n fixed,\n sticky\n) !default;\n","// Responsive media queries\n\n@mixin breakpoint($breakpoint) {\n @if $breakpoint == \"\" {\n @content;\n }\n\n @else {\n // Retrieves the value from the key\n $value: map-get($breakpoints, $breakpoint);\n\n // If the key exists in the map\n @if $value != null {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n }\n\n // If the key doesn't exist in the map\n @else {\n @warn \"Unfortunately, no value could be retrieved from `#{$breakpoint}`. \"\n + \"Please make sure it is defined in `$breakpoints` map.\";\n }\n }\n}\n\n// Retina media query\n\n@mixin retina-media-query {\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and (min--moz-device-pixel-ratio: 2),\n only screen and (-moz-min-device-pixel-ratio: 2),\n only screen and (-o-min-device-pixel-ratio: 2/1),\n only screen and (min-device-pixel-ratio: 2),\n only screen and (min-resolution: 192dpi),\n only screen and (min-resolution: 2dppx) {\n @content;\n }\n}\n\n// Clearfix\n//\n// Clears floats via mixin.\n\n@mixin clearfix {\n &::before {\n display: table;\n content: \"\";\n }\n\n &::after {\n display: table;\n clear: both;\n content: \"\";\n }\n}\n"]}