{"version":3,"sourceRoot":"","sources":["../src/IrisGridTheme.module.scss","../../../node_modules/@deephaven/components/scss/custom.scss","../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss","../src/CellDropdownField.scss"],"names":[],"mappings":"AAAA;ACAA;AC6LA;AF7KA;EACE;EACA,MACE;EAEF;EACA;EACA;EACA;EACA,eApBc;EAqBd;EACA;EACA;EAGA;EACA;EACA;EACA,aACE;EAEF,YAjCW;EAkCX;EAEA,oCAlCmC;EAmCnC;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AGtGF;EACE;EAIA;EACA;EAIA;EACA;EAEA;EACA;EACA;EAIA;EAEA;EACA;EAEA;EA6CA,YH9DA;;AGqBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EAOA;;AAKA;EACE;;AAIF;EACE;EACA;;AAQJ;EACE,YH7DF","file":"CellDropdownField.css","sourcesContent":["/* stylelint-disable */\n@import '@deephaven/components/scss/custom.scss';\n\n$font-size: 12px;\n$row-height: 19px;\n$header-height: 30px;\n$active-cell-selection-border-width: 2px;\n\n$cell-box-shadow:\n  0 0 0 $active-cell-selection-border-width\n    var(--dh-color-grid-selection-outline),\n  0 0 0 5px accent-opacity(25);\n$cell-invalid-box-shadow:\n  0 0 0 $active-cell-selection-border-width var(--dh-color-negative),\n  0 0 0 5px negative-opacity(25);\n\n:export {\n  grid-bg: var(--dh-color-grid-bg);\n  font:\n    $font-size Fira Sans,\n    sans-serif; // must be preloaded\n  white: var(--dh-color-white);\n  black: var(--dh-color-black);\n  header-bg: var(--dh-color-grid-header-bg);\n  header-color: var(--dh-color-grid-header-text);\n  header-height: $header-height;\n  header-separator-color: var(--dh-color-grid-header-separator);\n  header-separator-hover-color: var(--dh-color-grid-header-separator-hover);\n  header-hidden-separator-hover-color: var(\n    --dh-color-grid-header-separator-hidden-hover\n  );\n  header-sort-bar-color: var(--dh-color-grid-header-sort-bar);\n  header-reverse-bar-color: var(--dh-color-grid-header-reverse-bar);\n  header-bar-casing-color: var(--dh-color-grid-header-bar-casing);\n  header-font:\n    600 $font-size Fira Sans,\n    sans-serif; // must be preloaded\n  row-height: $row-height;\n  row-background-colors: var(--dh-color-grid-row-0-bg)\n    var(--dh-color-grid-row-1-bg);\n  active-cell-selection-border-width: $active-cell-selection-border-width;\n  selection-color: var(--dh-color-grid-selection);\n  selection-outline-color: var(--dh-color-grid-selection-outline);\n  selection-outline-casing-color: var(--dh-color-grid-selection-outline-casing);\n  row-hover-bg: var(--dh-color-grid-row-hover-bg);\n  row-shadow-alpha: var(--dh-color-grid-row-shadow-alpha);\n  selected-row-hover-bg: var(--dh-color-grid-row-hover-bg-selected);\n  scroll-bar-active-selection-tick-color: var(\n    --dh-color-grid-scroll-bar-active-selection-tick\n  );\n\n  scroll-bar-bg: var(--dh-color-grid-scroll-bar-bg);\n  scroll-bar-hover-bg: var(--dh-color-grid-scroll-bar-hover-bg);\n  scroll-bar-casing-color: var(--dh-color-grid-scroll-bar-casing);\n  scroll-bar-corner-color: var(--dh-color-grid-scroll-bar-corner);\n  scroll-bar-color: var(--dh-color-grid-scroll-bar);\n  scroll-bar-hover-color: var(--dh-color-grid-scroll-bar-hover);\n  scroll-bar-active-color: var(--dh-color-grid-scroll-bar-active);\n\n  text-color: var(--dh-color-grid-text);\n  hyperlink-color: var(--dh-color-grid-text-hyperlink);\n  positive-number-color: var(--dh-color-grid-number-positive);\n  negative-number-color: var(--dh-color-grid-number-negative);\n  zero-number-color: var(--dh-color-grid-number-zero);\n  date-color: var(--dh-color-grid-date);\n  pending-text-color: var(--dh-color-grid-text-pending);\n  error-text-color: var(--dh-color-grid-text-error);\n  null-string-color: var(--dh-color-grid-string-null);\n\n  filter-bar-active-bg: var(--dh-color-grid-filter-bar-active-bg);\n  filter-bar-active-color: var(--dh-color-grid-filter-bar-active);\n  filter-bar-expanded-bg: var(--dh-color-grid-filter-bar-expanded-bg);\n  filter-bar-expanded-active-bg: var(\n    --dh-color-grid-filter-bar-expanded-active-bg\n  );\n  filter-bar-expanded-active-cell-bg: var(\n    --dh-color-grid-filter-bar-expanded-active-cell-bg\n  );\n  filter-bar-separator-color: var(--dh-color-grid-filter-bar-separator);\n  filter-bar-error-color: var(--dh-color-grid-filter-bar-error);\n  filter-icon-color: var(--dh-color-grid-filter-icon);\n\n  scrim-color: var(--dh-color-grid-scrim);\n  context-menu-sort-icon-color: var(--dh-color-grid-context-menu-sort-icon);\n  context-menu-reverse-icon-color: var(\n    --dh-color-grid-context-menu-reverse-icon\n  );\n  linker-column-hover-bg: var(--dh-color-grid-column-linker-hover-bg);\n  tree-line-color: var(--dh-color-grid-tree-line);\n  tree-marker-color: var(--dh-color-grid-tree-marker);\n  tree-marker-hover-color: var(--dh-color-grid-tree-marker-hover);\n  grouped-column-divider-color: var(--dh-color-grid-column-grouped-divider);\n\n  floating-grid-row-color: var(--dh-color-grid-floating-row);\n  floating-row-background-colors: var(--dh-color-grid-floating-row-bg);\n  floating-divider-inner-color: var(--dh-color-grid-floating-divider-inner);\n  floating-divider-outer-color: var(--dh-color-grid-floating-divider-outer);\n\n  overflow-button-color: var(--dh-color-grid-overflow-button);\n  overflow-button-hover-color: var(--dh-color-grid-overflow-button-hover);\n\n  zero-line-color: var(--dh-color-grid-data-bar-zero-line);\n  positive-bar-color: var(--dh-color-grid-data-bar-positive);\n  negative-bar-color: var(--dh-color-grid-data-bar-negative);\n  marker-bar-color: var(--dh-color-grid-data-bar-marker);\n}\n","/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n@import './util.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n  '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n  'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n  in (\n    'primary',\n    'secondary',\n    'success',\n    'info',\n    'warning',\n    'danger',\n    'light',\n    'dark'\n  )\n{\n  $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n  'primary': 'accent',\n  'secondary': 'neutral',\n  'success': 'positive',\n  'info': 'info',\n  'warning': 'notice',\n  'danger': 'negative',\n  // We shouldn't be using these, but mapping so they work with our custom\n  // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n  // defined in Bootstrap _variables.scss, we should remove these\n  'light': 'neutral',\n  'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n  'primary-hover': $primary-hover,\n  'primary-dark': $primary-dark,\n  'mid': $mid,\n  'content-bg': $interfacegray,\n  'background': $interfaceblack,\n  'foreground': $interfacewhite,\n  'secondary-hover': $secondary-hover,\n  'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n  'Fira Sans',\n  -apple-system,\n  blinkmacsystemfont,\n  'Segoe UI',\n  'Roboto',\n  'Helvetica Neue',\n  arial,\n  sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n  'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n  color 0.12s ease-in-out,\n  background-color 0.12s ease-in-out,\n  border-color 0.12s ease-in-out,\n  box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: color-mix(\n  in srgb,\n  var(--dh-color-accent) 35%,\n  transparent\n);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n  --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n  url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n  '#',\n  '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-text-disabled);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n  url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n  '#',\n  '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n","@import './IrisGridTheme.module.scss';\n\n.cell-dropdown-field {\n  position: absolute;\n  // Span the full cell so the focus-ring box-shadow aligns with the cell\n  // boundary, matching the canvas selection border (and the standard\n  // CellInputField). Do not offset with `left`, as that shifts the border.\n  left: 0;\n  right: 0;\n  // Align the label text with the grid canvas text, which is drawn at\n  // `cellHorizontalPadding` from the cell's left edge (5px regular, 7px\n  // spacious). Driven by the theme so it stays aligned across densities.\n  padding-right: var(--grid-cell-horizontal-padding, 5px);\n  padding-left: var(--grid-cell-horizontal-padding, 5px);\n  // Clip to the cell row height; the Picker button is taller than the row.\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n\n  // Override Spectrum Picker sizing to match grid cell dimensions.\n  // --spectrum-dropdown-height drives the button block-size and internal padding.\n  --spectrum-dropdown-height: var(--grid-row-height, 20px);\n  // Remove Spectrum's minimum width so the Picker can be as narrow as the cell.\n  --spectrum-dropdown-quiet-min-width: 0;\n  --spectrum-dropdown-min-width: 0;\n  // Match the grid font size (Spectrum reads this variable for the label text).\n  --spectrum-dropdown-text-size: var(--grid-font-size, 12px);\n\n  // Our own chevron rendered as a pseudo-element on the right.\n  // Square element with border-right + border-bottom rotated 45° → symmetric V.\n  &::after {\n    content: '';\n    display: block;\n    flex-shrink: 0;\n    width: 8px;\n    height: 8px;\n    border-right: 2px solid currentcolor;\n    border-bottom: 2px solid currentcolor;\n    transform: rotate(45deg);\n    margin-left: 4px;\n    margin-bottom: 4px; // shift up to visually center the rotated square\n    opacity: 0.7;\n  }\n\n  .cell-dropdown-field-picker {\n    flex: 1;\n    min-width: 0;\n    // The canvas centers cell text on rowHeight/2, but Spectrum's quiet Picker\n    // rounds the label to an integer pixel. When (rowHeight - fontSize) is odd\n    // (regular 19-12=7, compact 16-11=5) the label lands 1px above the canvas\n    // text; when even (spacious 28-12=16) it is already aligned. Nudge down by\n    // that parity so the label matches the canvas text across all densities.\n    // Interpolated so Sass emits the CSS `mod()` instead of evaluating its own.\n    transform: translateY(\n      #{'mod(var(--grid-row-height, 19px) - var(--grid-font-size, 12px), 2px)'}\n    );\n\n    // Hide Spectrum's built-in chevron since we render our own.\n    svg[class*='spectrum-Dropdown-chevron'] {\n      display: none;\n    }\n\n    // Override font-family: Spectrum sets this via an ancestor i18n class.\n    button {\n      font-family: 'fira sans', sans-serif;\n      color: inherit;\n    }\n  }\n\n  // Apply the same focus-ring box-shadow as CellInputField (the textarea)\n  // so the cell outline is visible when a dropdown editor is open.\n  box-shadow: $cell-box-shadow;\n\n  &.error {\n    box-shadow: $cell-invalid-box-shadow;\n  }\n}\n"]}