{"version":3,"sources":["../src/src/select-menu/select-menu.scss","../src/src/support/variables/layout.scss","../src/src/support/mixins/layout.scss","../src/src/support/variables/typography.scss","../src/src/support/variables/misc.scss"],"names":[],"mappings":"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","file":"select-menu.css","sourcesContent":["// stylelint-disable selector-max-type\n// selector-max-type is needed for body:not(.intent-mouse) to target keyboard only styles.\n\n$SelectMenu-max-height: 480px !default;\n\n// Select Menu\n//\n// A more advanced menu with support for navigation, filtering, and more.\n\n.SelectMenu {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 99;\n display: flex;\n padding: $spacer-3;\n pointer-events: none;\n flex-direction: column;\n\n @include breakpoint(sm) {\n position: absolute;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n padding: 0;\n }\n}\n\n// Backdrop\n//\n// Adds a dark, semi transparent \"cover\" underneat the modal. Only visible for xs.\n\n.SelectMenu::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n content: \"\";\n background-color: var(--color-primer-canvas-backdrop);\n\n @include breakpoint(sm) {\n display: none;\n }\n}\n\n// Modal\n//\n// The main \"box\" that contains the content\n\n.SelectMenu-modal {\n position: relative;\n z-index: 99; // Needs to be higher than .details-overlay's z-index: 80.\n display: flex;\n max-height: 66%;\n margin: auto 0;\n overflow: hidden; // Enables border radius on scrollable child elements\n pointer-events: auto;\n flex-direction: column;\n background-color: var(--color-canvas-overlay);\n border: $border-width $border-style var(--color-select-menu-backdrop-border);\n // stylelint-disable-next-line primer/borders\n border-radius: $border-radius * 2;\n box-shadow: var(--color-shadow-large);\n animation: SelectMenu-modal-animation 0.12s cubic-bezier(0, 0.1, 0.1, 1) backwards;\n\n @keyframes SelectMenu-modal-animation {\n 0% {\n opacity: 0;\n transform: scale(0.9);\n }\n }\n\n @keyframes SelectMenu-modal-animation--sm {\n 0% {\n opacity: 0;\n transform: translateY(-$spacer-3);\n }\n }\n\n @include breakpoint(sm) {\n width: 300px;\n height: auto;\n max-height: $SelectMenu-max-height;\n margin: $spacer-2 0 $spacer-3 0;\n font-size: $font-size-small;\n border-color: var(--color-border-default);\n border-radius: $border-radius;\n box-shadow: var(--color-shadow-large);\n animation-name: SelectMenu-modal-animation--sm;\n }\n}\n\n// Header\n//\n// Used for showing a title and the close button. Close button is only visible for xs.\n\n.SelectMenu-header {\n display: flex;\n padding: $spacer-3;\n flex: none; // fixes header from getting squeezed in Safari iOS\n align-items: center;\n border-bottom: $border-width $border-style var(--color-border-muted);\n\n @include breakpoint(sm) {\n // stylelint-disable-next-line primer/spacing\n padding: 7px 7px 7px $spacer-3;\n }\n}\n\n.SelectMenu-title {\n flex: 1;\n font-size: $body-font-size;\n font-weight: $font-weight-bold;\n\n @include breakpoint(sm) {\n font-size: inherit;\n }\n}\n\n.SelectMenu-closeButton {\n padding: $spacer-3;\n margin: -$spacer-3;\n line-height: 1;\n color: var(--color-fg-muted);\n background-color: transparent;\n border: 0;\n\n @include breakpoint(sm) {\n padding: $spacer-2;\n // stylelint-disable-next-line primer/spacing\n margin: (-$spacer-2) (-7px); // Using -7px fixes a :focus glitch\n }\n}\n\n// Filter\n//\n// An input to filter a large list\n\n.SelectMenu-filter {\n padding: $spacer-3;\n margin: 0;\n border-bottom: $border-width $border-style var(--color-border-muted);\n\n @include breakpoint(sm) {\n padding: $spacer-2;\n }\n}\n\n.SelectMenu-input {\n display: block;\n width: 100%;\n\n @include breakpoint(sm) {\n font-size: $h5-size;\n }\n}\n\n// List\n//\n// The container that holds all the list items. Starts scrolling when the list gets too long.\n\n.SelectMenu-list {\n position: relative;\n padding: 0;\n margin: 0;\n // stylelint-disable-next-line primer/spacing\n margin-bottom: -$border-width; // Hides the last border in the list\n flex: auto;\n overflow-x: hidden;\n overflow-y: auto;\n background-color: var(--color-canvas-overlay);\n -webkit-overflow-scrolling: touch; // Adds momentum + bouncy scrolling\n}\n\n// List Item\n//\n// The interactive element used to make a selection\n\n.SelectMenu-item {\n display: flex;\n align-items: center;\n width: 100%;\n padding: $spacer-3;\n overflow: hidden;\n color: var(--color-fg-default);\n text-align: left;\n cursor: pointer;\n background-color: var(--color-canvas-overlay);\n border: 0;\n border-bottom: $border-width $border-style var(--color-border-muted);\n\n @include breakpoint(sm) {\n // stylelint-disable-next-line primer/spacing\n padding-top: 7px;\n // stylelint-disable-next-line primer/spacing\n padding-bottom: 7px;\n }\n\n // Borderless\n .SelectMenu-list--borderless & {\n border-bottom: 0;\n }\n}\n\n// Icon\n//\n// Icon shown on the left of a list item.\n\n.SelectMenu-icon {\n width: $spacer-3; // fixed width to make sure following content aligns\n margin-right: $spacer-2;\n flex-shrink: 0;\n}\n\n// Check icon\n.SelectMenu-icon--check {\n visibility: hidden;\n transition: transform 0.12s cubic-bezier(0.5, 0.1, 1, 0.5), visibility 0s 0.12s linear;\n transform: scale(0);\n}\n\n// Tabs\n//\n// Allows switching between multiple lists\n\n.SelectMenu-tabs {\n display: flex;\n flex-shrink: 0;\n overflow-x: auto;\n overflow-y: hidden;\n // stylelint-disable-next-line primer/box-shadow\n box-shadow: inset 0 -1px 0 var(--color-border-muted);\n -webkit-overflow-scrolling: touch;\n\n // Hide scrollbar so it doesn't cover the text\n &::-webkit-scrollbar {\n display: none;\n }\n\n @include breakpoint(sm) {\n padding: $spacer-2 $spacer-2 0 $spacer-2;\n }\n}\n\n.SelectMenu-tab {\n flex: 1;\n padding: $spacer-2 $spacer-3;\n font-size: $font-size-small;\n font-weight: $font-weight-semibold;\n color: var(--color-fg-muted);\n text-align: center;\n background-color: transparent;\n border: 0;\n // stylelint-disable-next-line primer/box-shadow\n box-shadow: inset 0 -1px 0 var(--color-border-muted);\n\n @include breakpoint(sm) {\n flex: none;\n padding: $spacer-1 $spacer-3;\n border: $border-width $border-style transparent;\n border-bottom-width: 0;\n border-top-left-radius: $border-radius;\n border-top-right-radius: $border-radius;\n }\n\n &[aria-selected=\"true\"] {\n z-index: 1; // Keeps box-shadow visible when hovering\n color: var(--color-fg-default);\n cursor: default;\n background-color: var(--color-canvas-overlay);\n // stylelint-disable-next-line primer/box-shadow\n box-shadow: 0 0 0 1px var(--color-border-muted);\n\n @include breakpoint(sm) {\n border-color: var(--color-border-muted);\n box-shadow: none;\n }\n }\n}\n\n// Message\n//\n// A container used to show different kinds of text messages.\n\n.SelectMenu-message {\n // stylelint-disable-next-line primer/spacing\n padding: 7px $spacer-3;\n text-align: center;\n background-color: var(--color-canvas-overlay);\n border-bottom: $border-width $border-style var(--color-border-muted);\n}\n\n// Blankslate and Loading\n//\n// A container used to show a blankslate or the loading animation.\n\n.SelectMenu-blankslate,\n.SelectMenu-loading {\n padding: $spacer-4 $spacer-3;\n text-align: center;\n background-color: var(--color-canvas-overlay);\n}\n\n// Divider\n//\n// Can be used to divide the list into multiple groups\n\n.SelectMenu-divider {\n padding: $spacer-1 $spacer-3;\n margin: 0;\n font-size: $font-size-small;\n font-weight: $font-weight-semibold;\n color: var(--color-fg-muted);\n background-color: var(--color-canvas-subtle);\n border-bottom: $border-width $border-style var(--color-border-muted);\n\n // Borderless\n .SelectMenu-list--borderless & {\n border-top: $border-width $border-style var(--color-border-muted);\n\n &:empty {\n padding: 0;\n border-top: 0;\n }\n }\n}\n\n// Footer\n//\n// A container at the bottom.\n\n.SelectMenu-footer {\n z-index: 0; // Avoid top border from getting covered by the negative margin of the list\n padding: $spacer-2 $spacer-3;\n font-size: $font-size-small;\n color: var(--color-fg-muted);\n text-align: center;\n border-top: $border-width $border-style var(--color-border-muted);\n\n @include breakpoint(sm) {\n // stylelint-disable-next-line primer/spacing\n padding: 7px $spacer-3;\n }\n}\n\n// Has Filter (modifier)\n//\n// Makes sure that the filter input keeps a fixed position at the top while typing. Only visible for xs.\n\n.SelectMenu--hasFilter {\n .SelectMenu-modal {\n height: 80%;\n max-height: none;\n margin-top: 0;\n\n @include breakpoint(sm) {\n height: auto;\n max-height: $SelectMenu-max-height;\n margin-top: $spacer-2;\n }\n }\n}\n\n// States\n//\n// Different states\n\n// Reset outlines\n.SelectMenu-closeButton:focus,\n.SelectMenu-tab:focus,\n.SelectMenu-item:focus {\n outline: 0;\n}\n\n// Reset elements\n.SelectMenu-item:hover {\n text-decoration: none;\n}\n\n// Selected\n//\n// Visible when a user clicks/taps on a list item\n\n.SelectMenu-item[aria-checked=true] {\n font-weight: $font-weight-semibold;\n color: var(--color-fg-default);\n\n .SelectMenu-icon--check {\n visibility: visible;\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), visibility 0s linear;\n transform: scale(1);\n }\n}\n\n// Disabled\n//\n// Prevent list items to be selected\n\n.SelectMenu-item:disabled,\n.SelectMenu-item[aria-disabled=true] {\n color: var(--color-fg-muted);\n pointer-events: none;\n}\n\n// Can hover states\n//\n// For mouse/keyboard input\n\n@media (hover: hover) {\n body:not(.intent-mouse) .SelectMenu-closeButton:focus,\n .SelectMenu-closeButton:hover {\n color: var(--color-fg-default);\n }\n\n .SelectMenu-closeButton:active {\n color: var(--color-fg-muted);\n }\n\n body:not(.intent-mouse) .SelectMenu-item:focus,\n .SelectMenu-item:hover {\n background-color: var(--color-neutral-subtle);\n }\n\n .SelectMenu-item:active {\n background-color: var(--color-canvas-subtle);\n }\n\n body:not(.intent-mouse) .SelectMenu-tab:focus {\n background-color: var(--color-select-menu-tap-focus-bg);\n }\n\n .SelectMenu-tab:hover {\n color: var(--color-fg-default);\n }\n\n .SelectMenu-tab:not([aria-selected=\"true\"]):active {\n color: var(--color-fg-default);\n background-color: var(--color-canvas-subtle);\n }\n}\n\n// Can not hover states\n//\n// For touch input\n\n@media (hover: none) {\n // Android\n .SelectMenu-item:focus,\n .SelectMenu-item:active {\n background-color: var(--color-canvas-subtle);\n }\n\n // iOS Safari\n // :active would work if ontouchstart is added to the button\n // Instead this tweaks the \"native\" highlight color\n .SelectMenu-item {\n -webkit-tap-highlight-color: var(--color-select-menu-tap-highlight);\n }\n}\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: $spacer * 0.5 !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\n$sidebar-width: (\n sm: 220px,\n md: 256px,\n lg: 296px,\n xl: 320px\n) !default;\n\n$sidebar-narrow-width: (\n md: 240px,\n lg: 256px,\n xl: 296px\n) !default;\n\n$sidebar-wide-width: (\n md: 296px,\n lg: 320px,\n xl: 344px\n) !default;\n\n$gutter: (\n md: $spacer-3,\n lg: $spacer-4,\n xl: $spacer-5\n) !default;\n\n$gutter-condensed: (\n md: $spacer-3,\n lg: $spacer-3,\n xl: $spacer-4\n) !default;\n\n$gutter-spacious: (\n md: $spacer-4,\n lg: $spacer-5,\n xl: $spacer-6\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","// 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// Note: SFMono-Regular needs to come before SF Mono to fix an older version of the font in Chrome\n$mono-font: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace !default;\n\n// The base body size\n$body-font-size: 14px !default;\n$body-line-height: $lh-default !default;\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"]}