@salt-ds/lab 1.0.0-alpha.49 → 1.0.0-alpha.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/css/salt-lab.css +53 -1
  2. package/dist-cjs/app-header/AppHeader.js +2 -2
  3. package/dist-cjs/breadcrumbs/Breadcrumb.js +3 -3
  4. package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
  5. package/dist-cjs/breadcrumbs/Breadcrumbs.js +6 -10
  6. package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +1 -1
  7. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +7 -7
  8. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js +3 -3
  9. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js +4 -4
  10. package/dist-cjs/button-bar/ButtonBar.js +4 -4
  11. package/dist-cjs/button-bar/OrderedButton.js +3 -3
  12. package/dist-cjs/button-bar/internal/DescendantContext.js +4 -4
  13. package/dist-cjs/button-bar/internal/useDescendant.js +3 -3
  14. package/dist-cjs/button-bar/internal/useDescendants.js +2 -2
  15. package/dist-cjs/calendar/Calendar.js +4 -4
  16. package/dist-cjs/calendar/internal/CalendarCarousel.js +6 -6
  17. package/dist-cjs/calendar/internal/CalendarContext.js +3 -3
  18. package/dist-cjs/calendar/internal/CalendarDay.js +3 -3
  19. package/dist-cjs/calendar/internal/CalendarMonth.js +2 -2
  20. package/dist-cjs/calendar/internal/CalendarNavigation.js +2 -2
  21. package/dist-cjs/calendar/internal/CalendarWeekHeader.js +2 -2
  22. package/dist-cjs/calendar/useCalendar.js +9 -9
  23. package/dist-cjs/calendar/useCalendarDay.js +2 -2
  24. package/dist-cjs/carousel/Carousel.js +5 -5
  25. package/dist-cjs/carousel/CarouselSlide.js +3 -3
  26. package/dist-cjs/cascading-menu/CascadingMenu.js +18 -18
  27. package/dist-cjs/cascading-menu/CascadingMenuItem.js +5 -5
  28. package/dist-cjs/cascading-menu/CascadingMenuList.js +9 -9
  29. package/dist-cjs/cascading-menu/internal/useClickAway.js +2 -2
  30. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js +3 -3
  31. package/dist-cjs/cascading-menu/internal/useMountedRef.js +3 -3
  32. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js +7 -7
  33. package/dist-cjs/cascading-menu/internal/useRefsManager.js +7 -7
  34. package/dist-cjs/cascading-menu/internal/useStateReducer.js +2 -2
  35. package/dist-cjs/color-chooser/AlphaInputField.js +3 -3
  36. package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
  37. package/dist-cjs/color-chooser/ColorChooser.js +3 -3
  38. package/dist-cjs/color-chooser/HexInput.js +3 -3
  39. package/dist-cjs/color-chooser/HexInput.js.map +1 -1
  40. package/dist-cjs/color-chooser/RGBAInputField.js +3 -3
  41. package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
  42. package/dist-cjs/color-chooser/Swatches.js.map +1 -1
  43. package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
  44. package/dist-cjs/combo-box/ComboBox.js +3 -3
  45. package/dist-cjs/combo-box/useCombobox.js +25 -25
  46. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js +3 -3
  47. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +12 -12
  48. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  49. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +12 -12
  50. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  51. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js +11 -11
  52. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js +12 -12
  53. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js +2 -2
  54. package/dist-cjs/common-hooks/collectionProvider.js +4 -4
  55. package/dist-cjs/common-hooks/keyUtils.js.map +1 -1
  56. package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
  57. package/dist-cjs/common-hooks/useAutoSizer.js +3 -3
  58. package/dist-cjs/common-hooks/useCollapsibleGroups.js +3 -3
  59. package/dist-cjs/common-hooks/useCollectionItems.js +24 -24
  60. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js +3 -3
  61. package/dist-cjs/common-hooks/useKeyboardNavigation.js +13 -13
  62. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js +10 -10
  63. package/dist-cjs/common-hooks/useSelection.js +13 -13
  64. package/dist-cjs/common-hooks/useTypeahead.js +6 -6
  65. package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
  66. package/dist-cjs/common-hooks/useViewportTracking.js +9 -9
  67. package/dist-cjs/common-hooks/utils/collection-item-utils.js +5 -5
  68. package/dist-cjs/contact-details/ContactAction.js +2 -2
  69. package/dist-cjs/contact-details/ContactActions.js +2 -2
  70. package/dist-cjs/contact-details/ContactAvatar.js +3 -3
  71. package/dist-cjs/contact-details/ContactDetails.js +9 -9
  72. package/dist-cjs/contact-details/ContactFavoriteToggle.js +2 -2
  73. package/dist-cjs/contact-details/ContactMetadata.js +3 -3
  74. package/dist-cjs/contact-details/ContactMetadataItem.js +2 -2
  75. package/dist-cjs/contact-details/ContactPrimaryInfo.js +3 -3
  76. package/dist-cjs/contact-details/ContactSecondaryInfo.js +3 -3
  77. package/dist-cjs/contact-details/ContactTertiaryInfo.js +3 -3
  78. package/dist-cjs/contact-details/internal/ContactDetailsContext.js +3 -3
  79. package/dist-cjs/contact-details/internal/FavoriteToggle.js +5 -5
  80. package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
  81. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js +2 -2
  82. package/dist-cjs/contact-details/internal/StarIcon.js +2 -2
  83. package/dist-cjs/contact-details/internal/StarIconContainer.js +2 -2
  84. package/dist-cjs/contact-details/internal/useComponentSize.js +4 -4
  85. package/dist-cjs/content-status/ContentStatus.js +3 -3
  86. package/dist-cjs/date-input/DateInput.js +7 -7
  87. package/dist-cjs/date-picker/DatePicker.js +11 -11
  88. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  89. package/dist-cjs/date-picker/DatePickerContext.js +2 -2
  90. package/dist-cjs/date-picker/DatePickerPanel.js +4 -4
  91. package/dist-cjs/deck-item/DeckItem.js +4 -4
  92. package/dist-cjs/deck-layout/DeckLayout.js +5 -5
  93. package/dist-cjs/dropdown/Dropdown.js +5 -5
  94. package/dist-cjs/dropdown/DropdownBase.js +11 -11
  95. package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
  96. package/dist-cjs/dropdown/DropdownButton.js +2 -2
  97. package/dist-cjs/dropdown/useClickAway.js +2 -2
  98. package/dist-cjs/dropdown/useDropdown.js +5 -5
  99. package/dist-cjs/dropdown/useDropdownBase.js +11 -11
  100. package/dist-cjs/editable-label/EditableLabel.js +5 -5
  101. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js +2 -2
  102. package/dist-cjs/form-field-legacy/FormFieldLegacy.js +5 -5
  103. package/dist-cjs/form-field-legacy/FormHelperText.js.map +1 -1
  104. package/dist-cjs/form-group/FormGroup.js +2 -2
  105. package/dist-cjs/formatted-input/FormattedInput.js +2 -2
  106. package/dist-cjs/formatted-input/internal/InputWithMask.js +2 -2
  107. package/dist-cjs/index.js +6 -0
  108. package/dist-cjs/index.js.map +1 -1
  109. package/dist-cjs/input-legacy/InputLegacy.js +4 -4
  110. package/dist-cjs/input-legacy/StaticInputAdornment.js +2 -2
  111. package/dist-cjs/input-legacy/useCursorOnFocus.js +9 -9
  112. package/dist-cjs/layer-layout/LayerLayout.js +5 -5
  113. package/dist-cjs/list/List.js +8 -8
  114. package/dist-cjs/list/ListItem.js +3 -3
  115. package/dist-cjs/list/VirtualizedList.js +4 -4
  116. package/dist-cjs/list/useList.js +9 -9
  117. package/dist-cjs/list/useListHeight.js +4 -4
  118. package/dist-cjs/list/useVirtualization.js +6 -6
  119. package/dist-cjs/list-deprecated/List.js +5 -5
  120. package/dist-cjs/list-deprecated/ListBase.js +13 -13
  121. package/dist-cjs/list-deprecated/ListItem.js +2 -2
  122. package/dist-cjs/list-deprecated/ListItemBase.js +4 -4
  123. package/dist-cjs/list-deprecated/ListItemContext.js +3 -3
  124. package/dist-cjs/list-deprecated/ListStateContext.js +3 -3
  125. package/dist-cjs/list-deprecated/internal/DescendantContext.js +6 -6
  126. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js +4 -4
  127. package/dist-cjs/list-deprecated/internal/useWidth.js +4 -4
  128. package/dist-cjs/list-deprecated/useList.js +17 -17
  129. package/dist-cjs/list-deprecated/useListItem.js +5 -5
  130. package/dist-cjs/list-deprecated/useTypeSelect.js +3 -3
  131. package/dist-cjs/list-next/ListItemNext.js +2 -2
  132. package/dist-cjs/list-next/ListNext.js +3 -3
  133. package/dist-cjs/list-next/ListNextContext.js +2 -2
  134. package/dist-cjs/list-next/useList.js +14 -14
  135. package/dist-cjs/logo/Logo.js +2 -2
  136. package/dist-cjs/logo/LogoImage.js +2 -2
  137. package/dist-cjs/logo/LogoSeparator.js +2 -2
  138. package/dist-cjs/menu-button/MenuButton.js +5 -5
  139. package/dist-cjs/menu-button/MenuButtonTrigger.js +2 -2
  140. package/dist-cjs/metric/Metric.js +3 -3
  141. package/dist-cjs/metric/MetricContent.js +2 -2
  142. package/dist-cjs/metric/MetricHeader.js +3 -3
  143. package/dist-cjs/metric/internal/MetricContext.js +3 -3
  144. package/dist-cjs/portal/Portal.js +6 -6
  145. package/dist-cjs/query-input/QueryInput.js +2 -2
  146. package/dist-cjs/query-input/internal/CategoryList.js +5 -5
  147. package/dist-cjs/query-input/internal/CategoryListContext.js +3 -3
  148. package/dist-cjs/query-input/internal/CategoryListItem.js +3 -3
  149. package/dist-cjs/query-input/internal/QueryInputBody.js +3 -3
  150. package/dist-cjs/query-input/internal/SearchList.js +2 -2
  151. package/dist-cjs/query-input/internal/ValueSelector.js +2 -2
  152. package/dist-cjs/query-input/internal/usePopperStatus.js +2 -2
  153. package/dist-cjs/query-input/useQueryInput.js +13 -13
  154. package/dist-cjs/responsive/OverflowReducer.js +3 -7
  155. package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
  156. package/dist-cjs/responsive/useDynamicCollapse.js +7 -7
  157. package/dist-cjs/responsive/useInstantCollapse.js +7 -7
  158. package/dist-cjs/responsive/useOverflow.js +11 -11
  159. package/dist-cjs/responsive/useOverflowCollectionItems.js +12 -12
  160. package/dist-cjs/responsive/useOverflowLayout.js +8 -8
  161. package/dist-cjs/responsive/useReclaimSpace.js +3 -3
  162. package/dist-cjs/responsive/useResizeObserver.js +3 -3
  163. package/dist-cjs/responsive/useWidth.js +4 -4
  164. package/dist-cjs/search-input/SearchInput.js +3 -3
  165. package/dist-cjs/skip-link/SkipLink.js +2 -2
  166. package/dist-cjs/skip-link/SkipLinks.js +2 -2
  167. package/dist-cjs/skip-link/internal/useManageFocusOnTarget.js +6 -6
  168. package/dist-cjs/slider/Slider.js +5 -5
  169. package/dist-cjs/slider/internal/SliderMarkLabels.js +3 -3
  170. package/dist-cjs/slider/internal/SliderRailMarks.js +3 -3
  171. package/dist-cjs/slider/internal/useSliderKeyDown.js.map +1 -1
  172. package/dist-cjs/slider/internal/useSliderMouseDown.js +6 -6
  173. package/dist-cjs/slider/internal/utils.js +2 -2
  174. package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +2 -2
  175. package/dist-cjs/stepped-tracker/SteppedTracker.js +7 -7
  176. package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +6 -6
  177. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +3 -3
  178. package/dist-cjs/stepper-input/StepperInput.js +3 -3
  179. package/dist-cjs/stepper-input/internal/useInterval.js +4 -4
  180. package/dist-cjs/stepper-input/internal/useSpinner.js +4 -4
  181. package/dist-cjs/system-status/SystemStatus.css.js +6 -0
  182. package/dist-cjs/system-status/SystemStatus.css.js.map +1 -0
  183. package/dist-cjs/system-status/SystemStatus.js +39 -0
  184. package/dist-cjs/system-status/SystemStatus.js.map +1 -0
  185. package/dist-cjs/system-status/SystemStatusActions.css.js +6 -0
  186. package/dist-cjs/system-status/SystemStatusActions.css.js.map +1 -0
  187. package/dist-cjs/system-status/SystemStatusActions.js +30 -0
  188. package/dist-cjs/system-status/SystemStatusActions.js.map +1 -0
  189. package/dist-cjs/system-status/SystemStatusContent.css.js +6 -0
  190. package/dist-cjs/system-status/SystemStatusContent.css.js.map +1 -0
  191. package/dist-cjs/system-status/SystemStatusContent.js +30 -0
  192. package/dist-cjs/system-status/SystemStatusContent.js.map +1 -0
  193. package/dist-cjs/tabs/Tab.js +6 -6
  194. package/dist-cjs/tabs/TabActivationIndicator.js +2 -2
  195. package/dist-cjs/tabs/TabPanel.js +2 -2
  196. package/dist-cjs/tabs/Tabs.js +5 -5
  197. package/dist-cjs/tabs/Tabstrip.js +26 -30
  198. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  199. package/dist-cjs/tabs/drag-drop/Draggable.js +3 -3
  200. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js +20 -20
  201. package/dist-cjs/tabs/drag-drop/useDragSpacers.js +9 -9
  202. package/dist-cjs/tabs/useActivationIndicator.js +7 -7
  203. package/dist-cjs/tabs/useEditableItem.js +3 -3
  204. package/dist-cjs/tabs/useItemsWithIds.js +6 -6
  205. package/dist-cjs/tabs/useKeyboardNavigation.js +12 -12
  206. package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
  207. package/dist-cjs/tabs/useSelection.js +5 -5
  208. package/dist-cjs/tabs/useTabs.js +2 -2
  209. package/dist-cjs/tabs/useTabstrip.js +12 -12
  210. package/dist-cjs/tabs-next/OverflowMenu.js +2 -2
  211. package/dist-cjs/tabs-next/TabNext.js +3 -3
  212. package/dist-cjs/tabs-next/TabNextContext.js +2 -2
  213. package/dist-cjs/tabs-next/TabstripNext.js +13 -13
  214. package/dist-cjs/toast-group/ToastGroup.js +2 -2
  215. package/dist-cjs/tokenized-input/TokenizedInput.js +2 -2
  216. package/dist-cjs/tokenized-input/TokenizedInputBase.js +9 -9
  217. package/dist-cjs/tokenized-input/internal/InputPill.js +3 -3
  218. package/dist-cjs/tokenized-input/internal/InputRuler.js +2 -2
  219. package/dist-cjs/tokenized-input/internal/useResizeObserver.js +3 -3
  220. package/dist-cjs/tokenized-input/internal/useWidth.js +3 -3
  221. package/dist-cjs/tokenized-input/useTokenizedInput.js +16 -16
  222. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +3 -3
  223. package/dist-cjs/tokenized-input-next/internal/InputPill.js +4 -4
  224. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js +3 -3
  225. package/dist-cjs/tokenized-input-next/internal/useWidth.js +3 -3
  226. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js +15 -15
  227. package/dist-cjs/toolbar/Toolbar.js +6 -6
  228. package/dist-cjs/toolbar/ToolbarButton.js +2 -2
  229. package/dist-cjs/toolbar/Tooltray.js +2 -2
  230. package/dist-cjs/toolbar/internal/renderToolbarItems.js +5 -9
  231. package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
  232. package/dist-cjs/toolbar/internal/renderTrayTools.js +6 -10
  233. package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
  234. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +7 -14
  235. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  236. package/dist-cjs/toolbar/toolbar-field/ToolbarField.js +2 -2
  237. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js +5 -5
  238. package/dist-cjs/tree/Tree.js +8 -8
  239. package/dist-cjs/tree/use-tree-keyboard-navigation.js +2 -2
  240. package/dist-cjs/tree/useTree.js +5 -5
  241. package/dist-cjs/utils/useClickOutside.js +3 -3
  242. package/dist-cjs/utils/useEventCallback.js +3 -3
  243. package/dist-cjs/utils/useLayoutEffectOnce.js +2 -2
  244. package/dist-cjs/utils/useLayoutEffectSkipFirst.js +2 -2
  245. package/dist-cjs/utils/useOverflowDetection.js +4 -4
  246. package/dist-cjs/utils/useSlideSelection.js +3 -3
  247. package/dist-cjs/window/ElectronWindow.js +7 -7
  248. package/dist-cjs/window/WindowContext.js +4 -4
  249. package/dist-cjs/window/desktop-utils.js +3 -3
  250. package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
  251. package/dist-es/breadcrumbs/Breadcrumbs.js +4 -4
  252. package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
  253. package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
  254. package/dist-es/color-chooser/HexInput.js.map +1 -1
  255. package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
  256. package/dist-es/color-chooser/Swatches.js.map +1 -1
  257. package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
  258. package/dist-es/common-hooks/keyUtils.js.map +1 -1
  259. package/dist-es/common-hooks/selectionTypes.js.map +1 -1
  260. package/dist-es/common-hooks/useTypeahead.js.map +1 -1
  261. package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
  262. package/dist-es/form-field-legacy/FormHelperText.js.map +1 -1
  263. package/dist-es/index.js +3 -0
  264. package/dist-es/index.js.map +1 -1
  265. package/dist-es/responsive/OverflowReducer.js +2 -2
  266. package/dist-es/responsive/OverflowReducer.js.map +1 -1
  267. package/dist-es/slider/internal/useSliderKeyDown.js.map +1 -1
  268. package/dist-es/system-status/SystemStatus.css.js +4 -0
  269. package/dist-es/system-status/SystemStatus.css.js.map +1 -0
  270. package/dist-es/system-status/SystemStatus.js +35 -0
  271. package/dist-es/system-status/SystemStatus.js.map +1 -0
  272. package/dist-es/system-status/SystemStatusActions.css.js +4 -0
  273. package/dist-es/system-status/SystemStatusActions.css.js.map +1 -0
  274. package/dist-es/system-status/SystemStatusActions.js +26 -0
  275. package/dist-es/system-status/SystemStatusActions.js.map +1 -0
  276. package/dist-es/system-status/SystemStatusContent.css.js +4 -0
  277. package/dist-es/system-status/SystemStatusContent.css.js.map +1 -0
  278. package/dist-es/system-status/SystemStatusContent.js +26 -0
  279. package/dist-es/system-status/SystemStatusContent.js.map +1 -0
  280. package/dist-es/tabs/Tabstrip.js +10 -10
  281. package/dist-es/tabs/Tabstrip.js.map +1 -1
  282. package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
  283. package/dist-es/toolbar/internal/renderToolbarItems.js +5 -5
  284. package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
  285. package/dist-es/toolbar/internal/renderTrayTools.js +4 -4
  286. package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
  287. package/dist-es/toolbar/overflow-panel/OverflowPanel.js +2 -5
  288. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  289. package/dist-types/breadcrumbs/Breadcrumb.d.ts +2 -2
  290. package/dist-types/breadcrumbs/Breadcrumbs.d.ts +2 -2
  291. package/dist-types/color-chooser/HexInput.d.ts +2 -1
  292. package/dist-types/color-chooser/HexInputField.d.ts +2 -1
  293. package/dist-types/color-chooser/RGBAInputField.d.ts +2 -1
  294. package/dist-types/color-chooser/Swatches.d.ts +2 -1
  295. package/dist-types/color-chooser/SwatchesPicker.d.ts +2 -1
  296. package/dist-types/common-hooks/keyUtils.d.ts +3 -3
  297. package/dist-types/common-hooks/selectionTypes.d.ts +5 -5
  298. package/dist-types/common-hooks/useTypeahead.d.ts +2 -1
  299. package/dist-types/contact-details/internal/FavoriteToggle.d.ts +3 -4
  300. package/dist-types/form-field-legacy/FormHelperText.d.ts +3 -3
  301. package/dist-types/index.d.ts +1 -0
  302. package/dist-types/list/listTypes.d.ts +3 -4
  303. package/dist-types/slider/internal/useSliderKeyDown.d.ts +2 -1
  304. package/dist-types/system-status/SystemStatus.d.ts +9 -0
  305. package/dist-types/system-status/SystemStatusActions.d.ts +9 -0
  306. package/dist-types/system-status/SystemStatusContent.d.ts +9 -0
  307. package/dist-types/system-status/index.d.ts +3 -0
  308. package/dist-types/tabs/Tabstrip.d.ts +1 -2
  309. package/dist-types/toolbar/overflow-panel/OverflowPanel.d.ts +1 -2
  310. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"HexInput.js","sources":["../src/color-chooser/HexInput.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { useEffect, useState } from \"react\";\nimport { InputLegacy as Input } from \"../input-legacy\";\nimport { isValidHex } from \"./ColorHelpers\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport hexInputCss from \"./HexInput.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserHexInput\");\n\ninterface HexInputProps {\n hexValue: string | undefined;\n disableAlphaChooser: boolean;\n onSubmit: (hex: string | undefined, e?: React.ChangeEvent) => void;\n}\n\nexport const HexInput = ({\n hexValue,\n disableAlphaChooser,\n onSubmit,\n}: HexInputProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-hex-input\",\n css: hexInputCss,\n window: targetWindow,\n });\n\n const [hexInputValue, setHexInputValue] = useState<string | undefined>(\n hexValue,\n );\n\n useEffect(() => {\n setHexInputValue(hexValue);\n }, [hexValue]);\n\n const handleHexInputChange = (\n event: React.ChangeEvent<HTMLInputElement>,\n value: string,\n ): void => {\n if (disableAlphaChooser && value.length < 7) {\n setHexInputValue(`#${value}`);\n }\n if (!disableAlphaChooser) {\n setHexInputValue(`#${value}`);\n }\n };\n\n const handleKeyDownHex = (e: React.KeyboardEvent<HTMLInputElement>): void => {\n if (e.key === \"Enter\") {\n isValidHex(hexInputValue) && onSubmit(hexInputValue);\n }\n };\n\n const handleOnBlurHex = (e: React.FocusEvent<HTMLInputElement>): void => {\n isValidHex(hexInputValue) && onSubmit(hexInputValue, e);\n };\n\n return (\n <div className={clsx(withBaseName())}>\n <span className={clsx(withBaseName(\"hashSign\"))}>#</span>\n <Input\n data-testid=\"hex-input\"\n className={clsx(withBaseName(\"input\"))}\n value={hexInputValue?.toString().replace(\"#\", \"\").toUpperCase() ?? \"\"}\n onChange={handleHexInputChange}\n onKeyDown={handleKeyDownHex}\n onBlur={handleOnBlurHex}\n />\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","hexInputCss","useState","useEffect","isValidHex","jsxs","clsx","jsx","Input"],"mappings":";;;;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA,CAAA;AAQrD,MAAM,WAAW,CAAC;AAAA,EACvB,QAAA;AAAA,EACA,mBAAA;AAAA,EACA,QAAA;AACF,CAAkC,KAAA;AAvBlC,EAAA,IAAA,EAAA,CAAA;AAwBE,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,CAAC,aAAe,EAAA,gBAAgB,CAAI,GAAAC,cAAA;AAAA,IACxC,QAAA;AAAA,GACF,CAAA;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,gBAAA,CAAiB,QAAQ,CAAA,CAAA;AAAA,GAC3B,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAM,MAAA,oBAAA,GAAuB,CAC3B,KAAA,EACA,KACS,KAAA;AACT,IAAI,IAAA,mBAAA,IAAuB,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAC3C,MAAA,gBAAA,CAAiB,IAAI,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,KAC9B;AACA,IAAA,IAAI,CAAC,mBAAqB,EAAA;AACxB,MAAA,gBAAA,CAAiB,IAAI,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,KAC9B;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,gBAAA,GAAmB,CAAC,CAAmD,KAAA;AAC3E,IAAI,IAAA,CAAA,CAAE,QAAQ,OAAS,EAAA;AACrB,MAAWC,uBAAA,CAAA,aAAa,CAAK,IAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,KACrD;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,eAAA,GAAkB,CAAC,CAAgD,KAAA;AACvE,IAAAA,uBAAA,CAAW,aAAa,CAAA,IAAK,QAAS,CAAA,aAAA,EAAe,CAAC,CAAA,CAAA;AAAA,GACxD,CAAA;AAEA,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IAAI,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAc,CAAA;AAAA,IACjC,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,UAAU,CAAC,CAAA;AAAA,QAAG,QAAA,EAAA,GAAA;AAAA,OAAC,CAAA;AAAA,sBACjDC,cAAA,CAAAC,uBAAA,EAAA;AAAA,QACC,aAAY,EAAA,WAAA;AAAA,QACZ,SAAW,EAAAF,SAAA,CAAK,YAAa,CAAA,OAAO,CAAC,CAAA;AAAA,QACrC,QAAO,EAAe,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,QAAA,EAAA,CAAW,QAAQ,GAAK,EAAA,EAAA,CAAA,CAAI,kBAA3C,IAA4D,GAAA,EAAA,GAAA,EAAA;AAAA,QACnE,QAAU,EAAA,oBAAA;AAAA,QACV,SAAW,EAAA,gBAAA;AAAA,QACX,MAAQ,EAAA,eAAA;AAAA,OACV,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"HexInput.js","sources":["../src/color-chooser/HexInput.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent, FocusEvent, KeyboardEvent } from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { InputLegacy as Input } from \"../input-legacy\";\nimport { isValidHex } from \"./ColorHelpers\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport hexInputCss from \"./HexInput.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserHexInput\");\n\ninterface HexInputProps {\n hexValue: string | undefined;\n disableAlphaChooser: boolean;\n onSubmit: (hex: string | undefined, e?: ChangeEvent) => void;\n}\n\nexport const HexInput = ({\n hexValue,\n disableAlphaChooser,\n onSubmit,\n}: HexInputProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-hex-input\",\n css: hexInputCss,\n window: targetWindow,\n });\n\n const [hexInputValue, setHexInputValue] = useState<string | undefined>(\n hexValue,\n );\n\n useEffect(() => {\n setHexInputValue(hexValue);\n }, [hexValue]);\n\n const handleHexInputChange = (\n event: ChangeEvent<HTMLInputElement>,\n value: string,\n ): void => {\n if (disableAlphaChooser && value.length < 7) {\n setHexInputValue(`#${value}`);\n }\n if (!disableAlphaChooser) {\n setHexInputValue(`#${value}`);\n }\n };\n\n const handleKeyDownHex = (e: KeyboardEvent<HTMLInputElement>): void => {\n if (e.key === \"Enter\") {\n isValidHex(hexInputValue) && onSubmit(hexInputValue);\n }\n };\n\n const handleOnBlurHex = (e: FocusEvent<HTMLInputElement>): void => {\n isValidHex(hexInputValue) && onSubmit(hexInputValue, e);\n };\n\n return (\n <div className={clsx(withBaseName())}>\n <span className={clsx(withBaseName(\"hashSign\"))}>#</span>\n <Input\n data-testid=\"hex-input\"\n className={clsx(withBaseName(\"input\"))}\n value={hexInputValue?.toString().replace(\"#\", \"\").toUpperCase() ?? \"\"}\n onChange={handleHexInputChange}\n onKeyDown={handleKeyDownHex}\n onBlur={handleOnBlurHex}\n />\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","hexInputCss","useState","useEffect","isValidHex","jsxs","clsx","jsx","Input"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA,CAAA;AAQrD,MAAM,WAAW,CAAC;AAAA,EACvB,QAAA;AAAA,EACA,mBAAA;AAAA,EACA,QAAA;AACF,CAAkC,KAAA;AAxBlC,EAAA,IAAA,EAAA,CAAA;AAyBE,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,CAAC,aAAe,EAAA,gBAAgB,CAAI,GAAAC,cAAA;AAAA,IACxC,QAAA;AAAA,GACF,CAAA;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,gBAAA,CAAiB,QAAQ,CAAA,CAAA;AAAA,GAC3B,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAM,MAAA,oBAAA,GAAuB,CAC3B,KAAA,EACA,KACS,KAAA;AACT,IAAI,IAAA,mBAAA,IAAuB,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAC3C,MAAA,gBAAA,CAAiB,IAAI,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,KAC9B;AACA,IAAA,IAAI,CAAC,mBAAqB,EAAA;AACxB,MAAA,gBAAA,CAAiB,IAAI,KAAO,CAAA,CAAA,CAAA,CAAA;AAAA,KAC9B;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,gBAAA,GAAmB,CAAC,CAA6C,KAAA;AACrE,IAAI,IAAA,CAAA,CAAE,QAAQ,OAAS,EAAA;AACrB,MAAWC,uBAAA,CAAA,aAAa,CAAK,IAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,KACrD;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,eAAA,GAAkB,CAAC,CAA0C,KAAA;AACjE,IAAAA,uBAAA,CAAW,aAAa,CAAA,IAAK,QAAS,CAAA,aAAA,EAAe,CAAC,CAAA,CAAA;AAAA,GACxD,CAAA;AAEA,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IAAI,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAc,CAAA;AAAA,IACjC,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,UAAU,CAAC,CAAA;AAAA,QAAG,QAAA,EAAA,GAAA;AAAA,OAAC,CAAA;AAAA,sBACjDC,cAAA,CAAAC,uBAAA,EAAA;AAAA,QACC,aAAY,EAAA,WAAA;AAAA,QACZ,SAAW,EAAAF,SAAA,CAAK,YAAa,CAAA,OAAO,CAAC,CAAA;AAAA,QACrC,QAAO,EAAe,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,QAAA,EAAA,CAAW,QAAQ,GAAK,EAAA,EAAA,CAAA,CAAI,kBAA3C,IAA4D,GAAA,EAAA,GAAA,EAAA;AAAA,QACnE,QAAU,EAAA,oBAAA;AAAA,QACV,SAAW,EAAA,gBAAA;AAAA,QACX,MAAQ,EAAA,eAAA;AAAA,OACV,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@salt-ds/core');
7
- var React = require('react');
7
+ var react = require('react');
8
8
  var InputLegacy = require('../input-legacy/InputLegacy.js');
9
9
  require('../input-legacy/StaticInputAdornment.js');
10
10
  var styles = require('@salt-ds/styles');
@@ -23,10 +23,10 @@ const RGBInput = ({
23
23
  css: RGBAInput,
24
24
  window: targetWindow
25
25
  });
26
- const [rgbaInputValue, setRgbaInputValue] = React.useState(
26
+ const [rgbaInputValue, setRgbaInputValue] = react.useState(
27
27
  rgbaValue ? rgbaValue[value] : ""
28
28
  );
29
- React.useEffect(() => {
29
+ react.useEffect(() => {
30
30
  setRgbaInputValue(rgbaValue ? rgbaValue[value] : "");
31
31
  }, [rgbaValue, value]);
32
32
  const handleRGBInputChange = (e, value2) => {
@@ -1 +1 @@
1
- {"version":3,"file":"RGBAInputField.js","sources":["../src/color-chooser/RGBAInputField.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useEffect, useState } from \"react\";\nimport { InputLegacy as Input } from \"../input-legacy\";\nimport type { RGBAValue } from \"./Color\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport rgbaInputCss from \"./RGBAInput.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooser\");\ninterface RGBInputProps {\n rgbaValue: RGBAValue;\n value: \"r\" | \"g\" | \"b\";\n onSubmit: (rgb: RGBAValue, e?: React.ChangeEvent) => void;\n}\n\nexport const RGBInput = ({\n rgbaValue,\n value,\n onSubmit,\n}: RGBInputProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-rgba-input\",\n css: rgbaInputCss,\n window: targetWindow,\n });\n\n const [rgbaInputValue, setRgbaInputValue] = useState<number | string>(\n rgbaValue ? rgbaValue[value] : \"\",\n );\n\n useEffect(() => {\n setRgbaInputValue(rgbaValue ? rgbaValue[value] : \"\");\n }, [rgbaValue, value]);\n\n const handleRGBInputChange = (\n e: React.ChangeEvent<HTMLInputElement>,\n value: string,\n ): void => {\n let rgb: string | number;\n\n rgb = Number.parseInt(value);\n\n if (value.trim() === \"\" || Number.isNaN(rgb)) {\n rgb = \"\";\n }\n\n setRgbaInputValue(rgb);\n };\n\n const handleKeyDownRGB = (e: React.KeyboardEvent<HTMLInputElement>): void => {\n if (e.key === \"Enter\") {\n const newRgb = { ...rgbaValue, [value]: e.currentTarget.value };\n const validatedRgb = {\n r: Math.max(0, Math.min(newRgb.r, 255)),\n g: Math.max(0, Math.min(newRgb.g, 255)),\n b: Math.max(0, Math.min(newRgb.b, 255)),\n a: newRgb.a,\n };\n\n onSubmit(validatedRgb);\n }\n };\n\n const handleOnBlurRGB = (e: React.FocusEvent<HTMLInputElement>): void => {\n const newRgb = { ...rgbaValue, [value]: e.target.value };\n const validatedRgb = {\n r: Math.max(0, Math.min(newRgb.r, 255)),\n g: Math.max(0, Math.min(newRgb.g, 255)),\n b: Math.max(0, Math.min(newRgb.b, 255)),\n a: newRgb.a,\n };\n\n onSubmit(validatedRgb, e);\n };\n\n return (\n <Input\n inputProps={{\n // @ts-ignore\n \"data-testid\": `${value}-input`,\n }}\n className={withBaseName(\"rgbaInput\")}\n value={rgbaInputValue.toString()}\n onChange={handleRGBInputChange}\n onBlur={handleOnBlurRGB}\n onKeyDown={handleKeyDownRGB}\n />\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","rgbaInputCss","useState","useEffect","value","jsx","Input"],"mappings":"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"}
1
+ {"version":3,"file":"RGBAInputField.js","sources":["../src/color-chooser/RGBAInputField.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport {\n type ChangeEvent,\n type FocusEvent,\n type KeyboardEvent,\n useEffect,\n useState,\n} from \"react\";\nimport { InputLegacy as Input } from \"../input-legacy\";\nimport type { RGBAValue } from \"./Color\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport rgbaInputCss from \"./RGBAInput.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooser\");\ninterface RGBInputProps {\n rgbaValue: RGBAValue;\n value: \"r\" | \"g\" | \"b\";\n onSubmit: (rgb: RGBAValue, e?: ChangeEvent) => void;\n}\n\nexport const RGBInput = ({\n rgbaValue,\n value,\n onSubmit,\n}: RGBInputProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-rgba-input\",\n css: rgbaInputCss,\n window: targetWindow,\n });\n\n const [rgbaInputValue, setRgbaInputValue] = useState<number | string>(\n rgbaValue ? rgbaValue[value] : \"\",\n );\n\n useEffect(() => {\n setRgbaInputValue(rgbaValue ? rgbaValue[value] : \"\");\n }, [rgbaValue, value]);\n\n const handleRGBInputChange = (\n e: ChangeEvent<HTMLInputElement>,\n value: string,\n ): void => {\n let rgb: string | number;\n\n rgb = Number.parseInt(value);\n\n if (value.trim() === \"\" || Number.isNaN(rgb)) {\n rgb = \"\";\n }\n\n setRgbaInputValue(rgb);\n };\n\n const handleKeyDownRGB = (e: KeyboardEvent<HTMLInputElement>): void => {\n if (e.key === \"Enter\") {\n const newRgb = { ...rgbaValue, [value]: e.currentTarget.value };\n const validatedRgb = {\n r: Math.max(0, Math.min(newRgb.r, 255)),\n g: Math.max(0, Math.min(newRgb.g, 255)),\n b: Math.max(0, Math.min(newRgb.b, 255)),\n a: newRgb.a,\n };\n\n onSubmit(validatedRgb);\n }\n };\n\n const handleOnBlurRGB = (e: FocusEvent<HTMLInputElement>): void => {\n const newRgb = { ...rgbaValue, [value]: e.target.value };\n const validatedRgb = {\n r: Math.max(0, Math.min(newRgb.r, 255)),\n g: Math.max(0, Math.min(newRgb.g, 255)),\n b: Math.max(0, Math.min(newRgb.b, 255)),\n a: newRgb.a,\n };\n\n onSubmit(validatedRgb, e);\n };\n\n return (\n <Input\n inputProps={{\n // @ts-ignore\n \"data-testid\": `${value}-input`,\n }}\n className={withBaseName(\"rgbaInput\")}\n value={rgbaInputValue.toString()}\n onChange={handleRGBInputChange}\n onBlur={handleOnBlurRGB}\n onKeyDown={handleKeyDownRGB}\n />\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","rgbaInputCss","useState","useEffect","value","jsx","Input"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Swatches.js","sources":["../src/color-chooser/Swatches.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { AlphaInput } from \"./AlphaInputField\";\nimport type { Color } from \"./Color\";\nimport { SwatchesPicker } from \"./SwatchesPicker\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport swatchesCss from \"./Swatches.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserSwatches\");\n\nexport interface SwatchesTabProps {\n allColors: string[][];\n color: Color | undefined;\n alpha: number;\n handleColorChange: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: React.ChangeEvent,\n ) => void;\n displayColorName: string | undefined;\n placeholder: string | undefined;\n onDialogClosed: () => void;\n}\n\nexport const Swatches = ({\n allColors,\n color,\n alpha,\n handleColorChange,\n displayColorName,\n placeholder,\n onDialogClosed,\n}: SwatchesTabProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-swatches\",\n css: swatchesCss,\n window: targetWindow,\n });\n return (\n <div data-testid=\"swatches\" className={clsx(withBaseName(\"pickerDiv\"))}>\n <SwatchesPicker\n allColors={allColors}\n color={color}\n onChange={handleColorChange}\n alpha={alpha}\n onDialogClosed={onDialogClosed}\n />\n <div className={clsx(withBaseName(\"textDiv\"))}>\n <div>\n <span className={clsx(withBaseName(\"colorTextDiv\"))}>Color:</span>\n <span className={clsx(withBaseName(\"colorNameTextDiv\"))}>\n {displayColorName ?? placeholder}\n </span>\n </div>\n <div>\n <span className={clsx(withBaseName(\"alphaTextDiv\"))}>Opacity:</span>\n <AlphaInput\n alphaValue={color?.rgba.a === 0 ? 0 : alpha}\n showAsOpacity={true}\n onSubmit={(alpha: number, e?: React.ChangeEvent): void => {\n const newColor = color?.setAlpha(alpha);\n handleColorChange(newColor, false, e);\n }}\n />\n </div>\n </div>\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","swatchesCss","jsxs","clsx","jsx","SwatchesPicker","AlphaInput","alpha"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA,CAAA;AAgBrD,MAAM,WAAW,CAAC;AAAA,EACvB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AACF,CAAqC,KAAA;AACnC,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AACD,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IAAI,aAAY,EAAA,UAAA;AAAA,IAAW,SAAW,EAAAC,SAAA,CAAK,YAAa,CAAA,WAAW,CAAC,CAAA;AAAA,IACnE,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAC,6BAAA,EAAA;AAAA,QACC,SAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAU,EAAA,iBAAA;AAAA,QACV,KAAA;AAAA,QACA,cAAA;AAAA,OACF,CAAA;AAAA,sBACCH,eAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAW,EAAAC,SAAA,CAAK,YAAa,CAAA,SAAS,CAAC,CAAA;AAAA,QAC1C,QAAA,EAAA;AAAA,0BAACD,eAAA,CAAA,KAAA,EAAA;AAAA,YACC,QAAA,EAAA;AAAA,8BAACE,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,cAAc,CAAC,CAAA;AAAA,gBAAG,QAAA,EAAA,QAAA;AAAA,eAAM,CAAA;AAAA,8BAC1DC,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,kBAAkB,CAAC,CAAA;AAAA,gBACnD,QAAoB,EAAA,gBAAA,IAAA,IAAA,GAAA,gBAAA,GAAA,WAAA;AAAA,eACvB,CAAA;AAAA,aAAA;AAAA,WACF,CAAA;AAAA,0BACCD,eAAA,CAAA,KAAA,EAAA;AAAA,YACC,QAAA,EAAA;AAAA,8BAACE,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,cAAc,CAAC,CAAA;AAAA,gBAAG,QAAA,EAAA,UAAA;AAAA,eAAQ,CAAA;AAAA,8BAC5DC,cAAA,CAAAE,0BAAA,EAAA;AAAA,gBACC,UAAY,EAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAK,CAAA,CAAA,MAAM,IAAI,CAAI,GAAA,KAAA;AAAA,gBACtC,aAAe,EAAA,IAAA;AAAA,gBACf,QAAA,EAAU,CAACC,MAAAA,EAAe,CAAgC,KAAA;AACxD,kBAAM,MAAA,QAAA,GAAW,+BAAO,QAASA,CAAAA,MAAAA,CAAAA,CAAAA;AACjC,kBAAkB,iBAAA,CAAA,QAAA,EAAU,OAAO,CAAC,CAAA,CAAA;AAAA,iBACtC;AAAA,eACF,CAAA;AAAA,aAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Swatches.js","sources":["../src/color-chooser/Swatches.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent } from \"react\";\nimport { AlphaInput } from \"./AlphaInputField\";\nimport type { Color } from \"./Color\";\nimport { SwatchesPicker } from \"./SwatchesPicker\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport swatchesCss from \"./Swatches.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserSwatches\");\n\nexport interface SwatchesTabProps {\n allColors: string[][];\n color: Color | undefined;\n alpha: number;\n handleColorChange: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: ChangeEvent,\n ) => void;\n displayColorName: string | undefined;\n placeholder: string | undefined;\n onDialogClosed: () => void;\n}\n\nexport const Swatches = ({\n allColors,\n color,\n alpha,\n handleColorChange,\n displayColorName,\n placeholder,\n onDialogClosed,\n}: SwatchesTabProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-swatches\",\n css: swatchesCss,\n window: targetWindow,\n });\n return (\n <div data-testid=\"swatches\" className={clsx(withBaseName(\"pickerDiv\"))}>\n <SwatchesPicker\n allColors={allColors}\n color={color}\n onChange={handleColorChange}\n alpha={alpha}\n onDialogClosed={onDialogClosed}\n />\n <div className={clsx(withBaseName(\"textDiv\"))}>\n <div>\n <span className={clsx(withBaseName(\"colorTextDiv\"))}>Color:</span>\n <span className={clsx(withBaseName(\"colorNameTextDiv\"))}>\n {displayColorName ?? placeholder}\n </span>\n </div>\n <div>\n <span className={clsx(withBaseName(\"alphaTextDiv\"))}>Opacity:</span>\n <AlphaInput\n alphaValue={color?.rgba.a === 0 ? 0 : alpha}\n showAsOpacity={true}\n onSubmit={(alpha: number, e?: ChangeEvent): void => {\n const newColor = color?.setAlpha(alpha);\n handleColorChange(newColor, false, e);\n }}\n />\n </div>\n </div>\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","swatchesCss","jsxs","clsx","jsx","SwatchesPicker","AlphaInput","alpha"],"mappings":";;;;;;;;;;;;;AAYA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA,CAAA;AAgBrD,MAAM,WAAW,CAAC;AAAA,EACvB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AACF,CAAqC,KAAA;AACnC,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AACD,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IAAI,aAAY,EAAA,UAAA;AAAA,IAAW,SAAW,EAAAC,SAAA,CAAK,YAAa,CAAA,WAAW,CAAC,CAAA;AAAA,IACnE,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAC,6BAAA,EAAA;AAAA,QACC,SAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAU,EAAA,iBAAA;AAAA,QACV,KAAA;AAAA,QACA,cAAA;AAAA,OACF,CAAA;AAAA,sBACCH,eAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAW,EAAAC,SAAA,CAAK,YAAa,CAAA,SAAS,CAAC,CAAA;AAAA,QAC1C,QAAA,EAAA;AAAA,0BAACD,eAAA,CAAA,KAAA,EAAA;AAAA,YACC,QAAA,EAAA;AAAA,8BAACE,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,cAAc,CAAC,CAAA;AAAA,gBAAG,QAAA,EAAA,QAAA;AAAA,eAAM,CAAA;AAAA,8BAC1DC,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,kBAAkB,CAAC,CAAA;AAAA,gBACnD,QAAoB,EAAA,gBAAA,IAAA,IAAA,GAAA,gBAAA,GAAA,WAAA;AAAA,eACvB,CAAA;AAAA,aAAA;AAAA,WACF,CAAA;AAAA,0BACCD,eAAA,CAAA,KAAA,EAAA;AAAA,YACC,QAAA,EAAA;AAAA,8BAACE,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,cAAc,CAAC,CAAA;AAAA,gBAAG,QAAA,EAAA,UAAA;AAAA,eAAQ,CAAA;AAAA,8BAC5DC,cAAA,CAAAE,0BAAA,EAAA;AAAA,gBACC,UAAY,EAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAK,CAAA,CAAA,MAAM,IAAI,CAAI,GAAA,KAAA;AAAA,gBACtC,aAAe,EAAA,IAAA;AAAA,gBACf,QAAA,EAAU,CAACC,MAAAA,EAAe,CAA0B,KAAA;AAClD,kBAAM,MAAA,QAAA,GAAW,+BAAO,QAASA,CAAAA,MAAAA,CAAAA,CAAAA;AACjC,kBAAkB,iBAAA,CAAA,QAAA,EAAU,OAAO,CAAC,CAAA,CAAA;AAAA,iBACtC;AAAA,eACF,CAAA;AAAA,aAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwatchesPicker.js","sources":["../src/color-chooser/SwatchesPicker.tsx"],"sourcesContent":["import type { Color } from \"./Color\";\nimport { convertColorMapValueToHex } from \"./ColorHelpers\";\nimport { Swatch } from \"./Swatch\";\nimport { isTransparent } from \"./color-utils\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport swatchCSS from \"./Swatch.css\";\n\ninterface SwatchesPickerProps {\n allColors: string[][];\n color: Color | undefined;\n alpha?: number;\n onChange: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: React.ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n}\n\ninterface SwatchesGroupProps {\n swatchGroup: string[];\n selectedColor: string | undefined;\n alpha: number;\n onClick: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: React.ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n}\n\nconst SwatchesGroup = ({\n swatchGroup,\n onClick,\n onDialogClosed,\n selectedColor,\n alpha,\n}: SwatchesGroupProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-swatches\",\n css: swatchCSS,\n window: targetWindow,\n });\n\n const isBlackOrWhite = (color: string): boolean => {\n return (\n ((selectedColor ? selectedColor.startsWith(\"#000000\") : false) &&\n color.toLowerCase() === \"black\") ||\n ((selectedColor\n ? selectedColor.toLowerCase().startsWith(\"#ffffff\")\n : false) &&\n color.toLowerCase() === \"white\")\n );\n };\n const isActive = (color: string): boolean => {\n return (\n color.toLowerCase() ===\n selectedColor?.substring(0, 7).toString().toLowerCase() ||\n isBlackOrWhite(color)\n );\n };\n\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n {swatchGroup\n ?.map((color) => {\n return convertColorMapValueToHex(color);\n })\n ?.map((color) => (\n <Swatch\n key={color.toString()}\n active={isActive(color)}\n color={color}\n onClick={onClick}\n onDialogClosed={onDialogClosed}\n alpha={alpha}\n transparent={isTransparent(color)}\n />\n ))}\n </div>\n );\n};\n\nexport const SwatchesPicker = ({\n allColors,\n color,\n alpha = 1,\n onChange,\n onDialogClosed,\n}: SwatchesPickerProps): JSX.Element => {\n return (\n <div\n data-testid=\"swatches-picker\"\n style={{ display: \"flex\", flexDirection: \"row\" }}\n >\n {allColors?.map((swatchGroup: string[]) => (\n <SwatchesGroup\n swatchGroup={swatchGroup}\n key={swatchGroup.toString()}\n selectedColor={color?.hex}\n onClick={onChange}\n onDialogClosed={onDialogClosed}\n alpha={alpha}\n />\n ))}\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","swatchCSS","jsx","convertColorMapValueToHex","Swatch","isTransparent"],"mappings":";;;;;;;;;;;;AAkCA,MAAM,gBAAgB,CAAC;AAAA,EACrB,WAAA;AAAA,EACA,OAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,KAAA;AACF,CAAuC,KAAA;AAxCvC,EAAA,IAAA,EAAA,CAAA;AAyCE,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,MAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,cAAA,GAAiB,CAAC,KAA2B,KAAA;AACjD,IACI,OAAA,CAAA,aAAA,GAAgB,cAAc,UAAW,CAAA,SAAS,IAAI,KACtD,KAAA,KAAA,CAAM,aAAkB,KAAA,OAAA,IAAA,CACxB,gBACE,aAAc,CAAA,WAAA,GAAc,UAAW,CAAA,SAAS,IAChD,KACF,KAAA,KAAA,CAAM,aAAkB,KAAA,OAAA,CAAA;AAAA,GAE9B,CAAA;AACA,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IACE,OAAA,KAAA,CAAM,WAAY,EAAA,MAChB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA,CAAU,GAAG,CAAG,CAAA,CAAA,QAAA,EAAA,CAAW,WAC5C,EAAA,CAAA,IAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AAAA,GAExB,CAAA;AAEA,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IAAI,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,eAAe,QAAS,EAAA;AAAA,IACpD,QAAA,EAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CACG,GAAI,CAAA,CAAC,KAAU,KAAA;AACf,MAAA,OAAOC,uCAA0B,KAAK,CAAA,CAAA;AAAA,KAFzC,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAIG,GAAI,CAAA,CAAC,0BACJD,cAAA,CAAAE,eAAA,EAAA;AAAA,MAEC,MAAA,EAAQ,SAAS,KAAK,CAAA;AAAA,MACtB,KAAA;AAAA,MACA,OAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA,EAAaC,yBAAc,KAAK,CAAA;AAAA,KAN3B,EAAA,KAAA,CAAM,UAOb,CAAA,CAAA;AAAA,GAEN,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAQ,GAAA,CAAA;AAAA,EACR,QAAA;AAAA,EACA,cAAA;AACF,CAAwC,KAAA;AACtC,EAAA,uBACGH,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,iBAAA;AAAA,IACZ,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,eAAe,KAAM,EAAA;AAAA,IAE9C,QAAW,EAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,GAAA,CAAI,CAAC,WAAA,qBACdA,cAAA,CAAA,aAAA,EAAA;AAAA,MACC,WAAA;AAAA,MAEA,eAAe,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA;AAAA,MACtB,OAAS,EAAA,QAAA;AAAA,MACT,cAAA;AAAA,MACA,KAAA;AAAA,KAJK,EAAA,WAAA,CAAY,UAKnB,CAAA,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"SwatchesPicker.js","sources":["../src/color-chooser/SwatchesPicker.tsx"],"sourcesContent":["import type { ChangeEvent } from \"react\";\nimport type { Color } from \"./Color\";\nimport { convertColorMapValueToHex } from \"./ColorHelpers\";\nimport { Swatch } from \"./Swatch\";\nimport { isTransparent } from \"./color-utils\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport swatchCSS from \"./Swatch.css\";\n\ninterface SwatchesPickerProps {\n allColors: string[][];\n color: Color | undefined;\n alpha?: number;\n onChange: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n}\n\ninterface SwatchesGroupProps {\n swatchGroup: string[];\n selectedColor: string | undefined;\n alpha: number;\n onClick: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n}\n\nconst SwatchesGroup = ({\n swatchGroup,\n onClick,\n onDialogClosed,\n selectedColor,\n alpha,\n}: SwatchesGroupProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-swatches\",\n css: swatchCSS,\n window: targetWindow,\n });\n\n const isBlackOrWhite = (color: string): boolean => {\n return (\n ((selectedColor ? selectedColor.startsWith(\"#000000\") : false) &&\n color.toLowerCase() === \"black\") ||\n ((selectedColor\n ? selectedColor.toLowerCase().startsWith(\"#ffffff\")\n : false) &&\n color.toLowerCase() === \"white\")\n );\n };\n const isActive = (color: string): boolean => {\n return (\n color.toLowerCase() ===\n selectedColor?.substring(0, 7).toString().toLowerCase() ||\n isBlackOrWhite(color)\n );\n };\n\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n {swatchGroup\n ?.map((color) => {\n return convertColorMapValueToHex(color);\n })\n ?.map((color) => (\n <Swatch\n key={color.toString()}\n active={isActive(color)}\n color={color}\n onClick={onClick}\n onDialogClosed={onDialogClosed}\n alpha={alpha}\n transparent={isTransparent(color)}\n />\n ))}\n </div>\n );\n};\n\nexport const SwatchesPicker = ({\n allColors,\n color,\n alpha = 1,\n onChange,\n onDialogClosed,\n}: SwatchesPickerProps): JSX.Element => {\n return (\n <div\n data-testid=\"swatches-picker\"\n style={{ display: \"flex\", flexDirection: \"row\" }}\n >\n {allColors?.map((swatchGroup: string[]) => (\n <SwatchesGroup\n swatchGroup={swatchGroup}\n key={swatchGroup.toString()}\n selectedColor={color?.hex}\n onClick={onChange}\n onDialogClosed={onDialogClosed}\n alpha={alpha}\n />\n ))}\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","swatchCSS","jsx","convertColorMapValueToHex","Swatch","isTransparent"],"mappings":";;;;;;;;;;;;AAmCA,MAAM,gBAAgB,CAAC;AAAA,EACrB,WAAA;AAAA,EACA,OAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,KAAA;AACF,CAAuC,KAAA;AAzCvC,EAAA,IAAA,EAAA,CAAA;AA0CE,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,MAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,cAAA,GAAiB,CAAC,KAA2B,KAAA;AACjD,IACI,OAAA,CAAA,aAAA,GAAgB,cAAc,UAAW,CAAA,SAAS,IAAI,KACtD,KAAA,KAAA,CAAM,aAAkB,KAAA,OAAA,IAAA,CACxB,gBACE,aAAc,CAAA,WAAA,GAAc,UAAW,CAAA,SAAS,IAChD,KACF,KAAA,KAAA,CAAM,aAAkB,KAAA,OAAA,CAAA;AAAA,GAE9B,CAAA;AACA,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IACE,OAAA,KAAA,CAAM,WAAY,EAAA,MAChB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA,CAAU,GAAG,CAAG,CAAA,CAAA,QAAA,EAAA,CAAW,WAC5C,EAAA,CAAA,IAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AAAA,GAExB,CAAA;AAEA,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IAAI,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,eAAe,QAAS,EAAA;AAAA,IACpD,QAAA,EAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CACG,GAAI,CAAA,CAAC,KAAU,KAAA;AACf,MAAA,OAAOC,uCAA0B,KAAK,CAAA,CAAA;AAAA,KAFzC,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAIG,GAAI,CAAA,CAAC,0BACJD,cAAA,CAAAE,eAAA,EAAA;AAAA,MAEC,MAAA,EAAQ,SAAS,KAAK,CAAA;AAAA,MACtB,KAAA;AAAA,MACA,OAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA,EAAaC,yBAAc,KAAK,CAAA;AAAA,KAN3B,EAAA,KAAA,CAAM,UAOb,CAAA,CAAA;AAAA,GAEN,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAQ,GAAA,CAAA;AAAA,EACR,QAAA;AAAA,EACA,cAAA;AACF,CAAwC,KAAA;AACtC,EAAA,uBACGH,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,iBAAA;AAAA,IACZ,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,eAAe,KAAM,EAAA;AAAA,IAE9C,QAAW,EAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,GAAA,CAAI,CAAC,WAAA,qBACdA,cAAA,CAAA,aAAA,EAAA;AAAA,MACC,WAAA;AAAA,MAEA,eAAe,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA;AAAA,MACtB,OAAS,EAAA,QAAA;AAAA,MACT,cAAA;AAAA,MACA,KAAA;AAAA,KAJK,EAAA,WAAA,CAAY,UAKnB,CAAA,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@salt-ds/core');
7
- var React = require('react');
7
+ var react = require('react');
8
8
  var DropdownBase = require('../dropdown/DropdownBase.js');
9
9
  require('../dropdown/DropdownButton.js');
10
10
  require('../dropdown/Dropdown.js');
@@ -21,7 +21,7 @@ var useCollectionItems = require('../common-hooks/useCollectionItems.js');
21
21
  require('../list/VirtualizedList.js');
22
22
  var useCombobox = require('./useCombobox.js');
23
23
 
24
- const ComboBox = React.forwardRef(function Combobox({
24
+ const ComboBox = react.forwardRef(function Combobox({
25
25
  InputProps,
26
26
  ListProps,
27
27
  ListItem,
@@ -90,7 +90,7 @@ const ComboBox = React.forwardRef(function Combobox({
90
90
  stringToItem,
91
91
  value: valueProp
92
92
  });
93
- const collectionItemsToItem = React.useCallback(
93
+ const collectionItemsToItem = react.useCallback(
94
94
  (sel) => {
95
95
  if (Array.isArray(sel)) {
96
96
  return sel.map((i) => i.value);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var core = require('@salt-ds/core');
6
- var React = require('react');
6
+ var react = require('react');
7
7
  require('../common-hooks/collectionProvider.js');
8
8
  var itemToString = require('../common-hooks/itemToString.js');
9
9
  require('../common-hooks/keyUtils.js');
@@ -53,10 +53,10 @@ const useCombobox = ({
53
53
  setFilterPattern,
54
54
  stringToCollectionItem
55
55
  } = collectionHook;
56
- const setHighlightedIndexRef = React.useRef(null);
57
- const setSelectedRef = React.useRef(null);
58
- const ignoreSelectOnFocus = React.useRef(true);
59
- const selectedRef = React.useRef(selectedValue);
56
+ const setHighlightedIndexRef = react.useRef(null);
57
+ const setSelectedRef = react.useRef(null);
58
+ const ignoreSelectOnFocus = react.useRef(true);
59
+ const selectedRef = react.useRef(selectedValue);
60
60
  const [isOpen, setIsOpen] = core.useControlled({
61
61
  controlled: isOpenProp,
62
62
  default: defaultIsOpen != null ? defaultIsOpen : false,
@@ -68,7 +68,7 @@ const useCombobox = ({
68
68
  name: "ComboBox",
69
69
  state: "value"
70
70
  });
71
- const collectionItemsToItem = React.useCallback(
71
+ const collectionItemsToItem = react.useCallback(
72
72
  (sel) => {
73
73
  if (Array.isArray(sel)) {
74
74
  return sel.map((i) => i.value);
@@ -80,9 +80,9 @@ const useCombobox = ({
80
80
  },
81
81
  []
82
82
  );
83
- const [disableAriaActiveDescendant, setDisableAriaActiveDescendant] = React.useState(true);
84
- const [quickSelection, setQuickSelection] = React.useState(false);
85
- const highlightSelectedItem = React.useCallback(
83
+ const [disableAriaActiveDescendant, setDisableAriaActiveDescendant] = react.useState(true);
84
+ const [quickSelection, setQuickSelection] = react.useState(false);
85
+ const highlightSelectedItem = react.useCallback(
86
86
  (selected2 = selectedRef.current) => {
87
87
  var _a2, _b;
88
88
  if (Array.isArray(selected2)) {
@@ -96,14 +96,14 @@ const useCombobox = ({
96
96
  },
97
97
  [indexPositions]
98
98
  );
99
- const setTextValue = React.useCallback(
99
+ const setTextValue = react.useCallback(
100
100
  (value2) => {
101
101
  setValue(value2);
102
102
  setFilterPattern(value2 === "" ? void 0 : value2);
103
103
  },
104
104
  [setFilterPattern]
105
105
  );
106
- const reconcileInput = React.useCallback(
106
+ const reconcileInput = react.useCallback(
107
107
  (selected2 = selectedRef.current) => {
108
108
  var _a2;
109
109
  let value2 = "";
@@ -121,7 +121,7 @@ const useCombobox = ({
121
121
  },
122
122
  [highlightSelectedItem, itemToString$1, setTextValue]
123
123
  );
124
- const applySelection = React.useCallback(
124
+ const applySelection = react.useCallback(
125
125
  (evt, selected2) => {
126
126
  if (!isMultiSelect) {
127
127
  setIsOpen(false);
@@ -132,7 +132,7 @@ const useCombobox = ({
132
132
  },
133
133
  [collectionItemsToItem, isMultiSelect, onSelectionChange, reconcileInput]
134
134
  );
135
- const handleSelectionChange = React.useCallback(
135
+ const handleSelectionChange = react.useCallback(
136
136
  (evt, selected2) => {
137
137
  if (!isMultiSelect) {
138
138
  const selectedCollectionItem = itemToCollectionItem(selected2);
@@ -141,7 +141,7 @@ const useCombobox = ({
141
141
  },
142
142
  [applySelection, isMultiSelect, itemToCollectionItem]
143
143
  );
144
- const handleFirstItemSelection = React.useCallback(
144
+ const handleFirstItemSelection = react.useCallback(
145
145
  (evt) => {
146
146
  if (!allowFreeText && evt.key === "Enter" && quickSelection) {
147
147
  const [firstItem] = indexPositions;
@@ -157,7 +157,7 @@ const useCombobox = ({
157
157
  onBlur: inputOnBlur,
158
158
  onSelect: inputOnSelect
159
159
  } = inputProps;
160
- const handleInputKeyDown = React.useCallback(
160
+ const handleInputKeyDown = react.useCallback(
161
161
  (evt) => {
162
162
  if ("Escape" === evt.key) {
163
163
  if (allowFreeText) {
@@ -181,7 +181,7 @@ const useCombobox = ({
181
181
  setTextValue
182
182
  ]
183
183
  );
184
- const handleKeyboardNavigation = React.useCallback(() => {
184
+ const handleKeyboardNavigation = react.useCallback(() => {
185
185
  setDisableAriaActiveDescendant(false);
186
186
  }, []);
187
187
  const {
@@ -209,7 +209,7 @@ const useCombobox = ({
209
209
  });
210
210
  setHighlightedIndexRef.current = setHighlightedIndex;
211
211
  setSelectedRef.current = setSelected;
212
- const handleOpenChange = React.useCallback(
212
+ const handleOpenChange = react.useCallback(
213
213
  (open) => {
214
214
  setIsOpen(open);
215
215
  if (!open) {
@@ -220,7 +220,7 @@ const useCombobox = ({
220
220
  [onOpenChange]
221
221
  );
222
222
  const { onClick: listHandlersOnClick } = listHookListHandlers;
223
- const handleListClick = React.useCallback(
223
+ const handleListClick = react.useCallback(
224
224
  (evt) => {
225
225
  var _a2;
226
226
  (_a2 = document.getElementById(`${id}-input`)) == null ? void 0 : _a2.focus();
@@ -229,7 +229,7 @@ const useCombobox = ({
229
229
  },
230
230
  [id, listHandlersOnClick]
231
231
  );
232
- const handleInputChange = React.useCallback(
232
+ const handleInputChange = react.useCallback(
233
233
  (evt) => {
234
234
  const newValue = evt.target.value;
235
235
  setValue(newValue);
@@ -252,7 +252,7 @@ const useCombobox = ({
252
252
  [allowFreeText, inputOnChange, setFilterPattern, onSelectionChange]
253
253
  );
254
254
  const { onFocus: listOnFocus } = listControlProps;
255
- const handleInputFocus = React.useCallback(
255
+ const handleInputFocus = react.useCallback(
256
256
  (evt) => {
257
257
  setDisableAriaActiveDescendant(false);
258
258
  listOnFocus == null ? void 0 : listOnFocus(evt);
@@ -260,14 +260,14 @@ const useCombobox = ({
260
260
  },
261
261
  [inputOnFocus, listOnFocus]
262
262
  );
263
- const listFocused = React.useCallback(
263
+ const listFocused = react.useCallback(
264
264
  (evt) => {
265
265
  const element = evt.relatedTarget;
266
266
  return (element == null ? void 0 : element.id) === `${id}-list`;
267
267
  },
268
268
  [id]
269
269
  );
270
- const selectInputValue = React.useCallback(
270
+ const selectInputValue = react.useCallback(
271
271
  (evt) => {
272
272
  var _a2;
273
273
  const text = value.trim();
@@ -294,7 +294,7 @@ const useCombobox = ({
294
294
  [onSelectionChange, selected, stringToItem, stringToCollectionItem, value]
295
295
  );
296
296
  const { onBlur: listOnBlur } = listControlProps;
297
- const handleInputBlur = React.useCallback(
297
+ const handleInputBlur = react.useCallback(
298
298
  (evt) => {
299
299
  if (listFocused(evt)) ; else {
300
300
  listOnBlur == null ? void 0 : listOnBlur(evt);
@@ -317,7 +317,7 @@ const useCombobox = ({
317
317
  selectInputValue
318
318
  ]
319
319
  );
320
- const handleInputSelect = React.useCallback(
320
+ const handleInputSelect = react.useCallback(
321
321
  (event) => {
322
322
  if (ignoreSelectOnFocus.current) {
323
323
  ignoreSelectOnFocus.current = false;
@@ -328,7 +328,7 @@ const useCombobox = ({
328
328
  },
329
329
  [inputOnSelect]
330
330
  );
331
- React.useEffect(() => {
331
+ react.useEffect(() => {
332
332
  highlightSelectedItem();
333
333
  if (indexPositions.length === 0) {
334
334
  setIsOpen(false);
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@salt-ds/core');
7
7
  var clsx = require('clsx');
8
- var React = require('react');
8
+ var react = require('react');
9
9
  require('../form-field-context-legacy/FormFieldLegacyContext.js');
10
10
  var useFormFieldLegacyProps = require('../form-field-context-legacy/useFormFieldLegacyProps.js');
11
11
  var useWidth = require('../list-deprecated/internal/useWidth.js');
@@ -33,7 +33,7 @@ const validateProps = ({
33
33
  }
34
34
  }
35
35
  };
36
- const ComboBoxDeprecated = React.forwardRef(function ComboBox$1(props, ref) {
36
+ const ComboBoxDeprecated = react.forwardRef(function ComboBox$1(props, ref) {
37
37
  const targetWindow = window.useWindow();
38
38
  styles.useComponentCssInjection({
39
39
  testId: "salt-combo-box-deprecated",
@@ -48,7 +48,7 @@ const ComboBoxDeprecated = React.forwardRef(function ComboBox$1(props, ref) {
48
48
  disabled: formFieldDisabled
49
49
  } = {}
50
50
  } = useFormFieldLegacyProps.useFormFieldLegacyProps();
51
- const { current: isMultiSelect } = React.useRef(getMultiSelect(props));
51
+ const { current: isMultiSelect } = react.useRef(getMultiSelect(props));
52
52
  validateProps({ isMultiSelect, ...props });
53
53
  const {
54
54
  inputRef,
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('@floating-ui/react');
6
+ var react$1 = require('@floating-ui/react');
7
7
  var core = require('@salt-ds/core');
8
- var React = require('react');
8
+ var react = require('react');
9
9
  var InputLegacy = require('../../input-legacy/InputLegacy.js');
10
10
  require('../../input-legacy/StaticInputAdornment.js');
11
11
  require('../../list-deprecated/List.js');
@@ -31,8 +31,8 @@ const DefaultComboBox = function DefaultComboBox2(props) {
31
31
  listWidth,
32
32
  ...restProps
33
33
  } = props;
34
- const inputRef = React.useRef(null);
35
- const listRef = React.useRef(null);
34
+ const inputRef = react.useRef(null);
35
+ const listRef = react.useRef(null);
36
36
  const setInputRef = core.useForkRef(inputRef, inputRefProp);
37
37
  const setListRef = core.useForkRef(listRef, listRefProp);
38
38
  const { announce } = core.useAriaAnnouncer({ debounce: 1e3 });
@@ -45,24 +45,24 @@ const DefaultComboBox = function DefaultComboBox2(props) {
45
45
  const { allowAnnouncement, disabled, value, ...restInputProps } = inputProps;
46
46
  const { isListOpen, itemCount, itemToString, source, ...restListProps } = listProps;
47
47
  const firstItem = null;
48
- const allowAnnouncementRef = React.useRef(allowAnnouncement);
49
- React.useEffect(() => {
48
+ const allowAnnouncementRef = react.useRef(allowAnnouncement);
49
+ react.useEffect(() => {
50
50
  allowAnnouncementRef.current = allowAnnouncement;
51
51
  }, [allowAnnouncement]);
52
- React.useEffect(() => {
52
+ react.useEffect(() => {
53
53
  if (allowAnnouncementRef.current && value && firstItem) {
54
54
  announce(getAnnouncement.getAnnouncement(itemCount, firstItem));
55
55
  }
56
56
  }, [firstItem, value, itemCount, announce]);
57
- const [maxListHeight, setMaxListHeight] = React.useState(
57
+ const [maxListHeight, setMaxListHeight] = react.useState(
58
58
  void 0
59
59
  );
60
60
  const middleware = WindowContext.isDesktop ? [] : [
61
- react.flip({
61
+ react$1.flip({
62
62
  fallbackPlacements: ["bottom-start", "top-start"]
63
63
  }),
64
- react.shift({ limiter: react.limitShift() }),
65
- react.size({
64
+ react$1.shift({ limiter: react$1.limitShift() }),
65
+ react$1.size({
66
66
  apply({ availableHeight }) {
67
67
  setMaxListHeight(availableHeight);
68
68
  }
@@ -72,7 +72,7 @@ const DefaultComboBox = function DefaultComboBox2(props) {
72
72
  placement: "bottom-start",
73
73
  middleware
74
74
  });
75
- React.useEffect(() => {
75
+ react.useEffect(() => {
76
76
  if (rootRef.current) {
77
77
  reference(rootRef.current);
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultComboBox.js","sources":["../src/combo-box-deprecated/internal/DefaultComboBox.tsx"],"sourcesContent":["import { flip, limitShift, shift, size } from \"@floating-ui/react\";\nimport { useAriaAnnouncer, useFloatingUI, useForkRef } from \"@salt-ds/core\";\nimport {\n type ComponentType,\n type HTMLAttributes,\n type ReactNode,\n type Ref,\n type RefObject,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport {\n InputLegacy as Input,\n type InputLegacyProps as InputProps,\n} from \"../../input-legacy\";\nimport {\n type IndexedListItemProps,\n ListBase,\n type ListProps,\n type ListSelectionVariant,\n ListStateContext,\n} from \"../../list-deprecated\";\nimport { Portal } from \"../../portal\";\nimport { Window, type WindowProps, isDesktop } from \"../../window\";\nimport type { GetFilterRegex } from \"../filterHelpers\";\nimport { getAnnouncement } from \"./getAnnouncement\";\nimport { useComboBox } from \"./useComboBox\";\n\nexport type BaseComboBoxProps<\n Item,\n Variant extends ListSelectionVariant = \"default\",\n> = Omit<\n HTMLAttributes<HTMLDivElement>,\n \"children\" | \"onChange\" | \"onSelect\" | \"onFocus\" | \"onBlur\" | \"onClick\"\n> &\n Pick<\n ListProps<Item, Variant>,\n | \"displayedItemCount\"\n | \"itemToString\"\n | \"listRef\"\n | \"onChange\"\n | \"onSelect\"\n | \"overscanCount\"\n | \"virtualized\"\n | \"width\"\n > & {\n ListItem?: ComponentType<IndexedListItemProps<Item>>;\n ListProps?: Partial<ListProps<Item, Variant>>;\n WindowProps?: Partial<WindowProps>;\n allowFreeText?: boolean;\n disabled?: boolean;\n getFilterRegex?: GetFilterRegex;\n initialOpen?: boolean;\n inputRef?: Ref<HTMLInputElement>;\n inputValue?: string;\n listWidth?: number | string;\n\n rootWidth?: string | number;\n rootRef: RefObject<HTMLElement>;\n disabledPortal?: boolean;\n source: ReadonlyArray<Item>;\n };\n\nexport interface DefaultComboBoxProps<Item>\n extends BaseComboBoxProps<Item>,\n Pick<InputProps, \"onFocus\" | \"onBlur\"> {\n InputProps?: InputProps;\n initialSelectedItem?: Item;\n selectedItem?: Item;\n multiSelect?: false;\n onInputFocus?: InputProps[\"onFocus\"];\n onInputBlur?: InputProps[\"onBlur\"];\n onInputChange?: InputProps[\"onChange\"];\n onInputSelect?: InputProps[\"onSelect\"];\n stringToItem?: (value?: string) => Item | null | undefined;\n}\n\nexport const DefaultComboBox = function DefaultComboBox<Item>(\n props: DefaultComboBoxProps<Item>,\n): ReactNode {\n const {\n ListItem,\n WindowProps = {},\n rootRef,\n listRef: listRefProp,\n inputRef: inputRefProp,\n rootWidth,\n listWidth,\n ...restProps\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef(null);\n\n const setInputRef = useForkRef(inputRef, inputRefProp);\n // Use callback ref as listRef could be null when it's closed\n const setListRef = useForkRef(listRef, listRefProp);\n\n const { announce } = useAriaAnnouncer({ debounce: 1000 });\n\n const {\n inputRef: setHookInputRef,\n listContext,\n inputProps,\n listProps,\n } = useComboBox(restProps);\n\n const { allowAnnouncement, disabled, value, ...restInputProps } = inputProps;\n const { isListOpen, itemCount, itemToString, source, ...restListProps } =\n listProps;\n\n const firstItem = null;\n\n const allowAnnouncementRef = useRef(allowAnnouncement);\n useEffect(() => {\n allowAnnouncementRef.current = allowAnnouncement;\n }, [allowAnnouncement]);\n\n useEffect(() => {\n if (allowAnnouncementRef.current && value && firstItem) {\n announce(getAnnouncement(itemCount, firstItem));\n }\n }, [firstItem, value, itemCount, announce]);\n\n const [maxListHeight, setMaxListHeight] = useState<number | undefined>(\n undefined,\n );\n const middleware = isDesktop\n ? []\n : [\n flip({\n fallbackPlacements: [\"bottom-start\", \"top-start\"],\n }),\n shift({ limiter: limitShift() }),\n size({\n apply({ availableHeight }) {\n setMaxListHeight(availableHeight);\n },\n }),\n ];\n const { reference, floating, x, y, strategy } = useFloatingUI({\n placement: \"bottom-start\",\n middleware,\n });\n\n useEffect(() => {\n if (rootRef.current) {\n reference(rootRef.current);\n }\n }, [rootRef, reference]);\n\n return (\n <>\n <Input\n disabled={disabled}\n ref={useForkRef(setInputRef, setHookInputRef)}\n value={value}\n {...restInputProps}\n />\n {rootRef.current && isListOpen && (\n <Portal>\n <Window\n style={{\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n maxHeight: maxListHeight ?? \"\",\n }}\n {...WindowProps}\n ref={floating}\n >\n <ListStateContext.Provider value={listContext}>\n <ListBase\n {...{\n ListItem,\n disabled,\n itemCount,\n itemToString,\n width: listWidth || rootWidth,\n source,\n ...restListProps,\n listRef: setListRef,\n }}\n maxHeight={maxListHeight || listProps.maxHeight}\n />\n </ListStateContext.Provider>\n </Window>\n </Portal>\n )}\n </>\n );\n};\n"],"names":["DefaultComboBox","useRef","useForkRef","useAriaAnnouncer","useComboBox","useEffect","getAnnouncement","useState","isDesktop","flip","shift","limitShift","size","useFloatingUI","jsxs","Fragment","jsx","Input","Portal","Window","ListStateContext","ListBase"],"mappings":"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"}
1
+ {"version":3,"file":"DefaultComboBox.js","sources":["../src/combo-box-deprecated/internal/DefaultComboBox.tsx"],"sourcesContent":["import { flip, limitShift, shift, size } from \"@floating-ui/react\";\nimport { useAriaAnnouncer, useFloatingUI, useForkRef } from \"@salt-ds/core\";\nimport {\n type ComponentType,\n type HTMLAttributes,\n type ReactNode,\n type Ref,\n type RefObject,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport {\n InputLegacy as Input,\n type InputLegacyProps as InputProps,\n} from \"../../input-legacy\";\nimport {\n type IndexedListItemProps,\n ListBase,\n type ListProps,\n type ListSelectionVariant,\n ListStateContext,\n} from \"../../list-deprecated\";\nimport { Portal } from \"../../portal\";\nimport { Window, type WindowProps, isDesktop } from \"../../window\";\nimport type { GetFilterRegex } from \"../filterHelpers\";\nimport { getAnnouncement } from \"./getAnnouncement\";\nimport { useComboBox } from \"./useComboBox\";\n\nexport type BaseComboBoxProps<\n Item,\n Variant extends ListSelectionVariant = \"default\",\n> = Omit<\n HTMLAttributes<HTMLDivElement>,\n \"children\" | \"onChange\" | \"onSelect\" | \"onFocus\" | \"onBlur\" | \"onClick\"\n> &\n Pick<\n ListProps<Item, Variant>,\n | \"displayedItemCount\"\n | \"itemToString\"\n | \"listRef\"\n | \"onChange\"\n | \"onSelect\"\n | \"overscanCount\"\n | \"virtualized\"\n | \"width\"\n > & {\n ListItem?: ComponentType<IndexedListItemProps<Item>>;\n ListProps?: Partial<ListProps<Item, Variant>>;\n WindowProps?: Partial<WindowProps>;\n allowFreeText?: boolean;\n disabled?: boolean;\n getFilterRegex?: GetFilterRegex;\n initialOpen?: boolean;\n inputRef?: Ref<HTMLInputElement>;\n inputValue?: string;\n listWidth?: number | string;\n\n rootWidth?: string | number;\n rootRef: RefObject<HTMLElement>;\n disabledPortal?: boolean;\n source: ReadonlyArray<Item>;\n };\n\nexport interface DefaultComboBoxProps<Item>\n extends BaseComboBoxProps<Item>,\n Pick<InputProps, \"onFocus\" | \"onBlur\"> {\n InputProps?: InputProps;\n initialSelectedItem?: Item;\n selectedItem?: Item;\n multiSelect?: false;\n onInputFocus?: InputProps[\"onFocus\"];\n onInputBlur?: InputProps[\"onBlur\"];\n onInputChange?: InputProps[\"onChange\"];\n onInputSelect?: InputProps[\"onSelect\"];\n stringToItem?: (value?: string) => Item | null | undefined;\n}\n\nexport const DefaultComboBox = function DefaultComboBox<Item>(\n props: DefaultComboBoxProps<Item>,\n): ReactNode {\n const {\n ListItem,\n WindowProps = {},\n rootRef,\n listRef: listRefProp,\n inputRef: inputRefProp,\n rootWidth,\n listWidth,\n ...restProps\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef(null);\n\n const setInputRef = useForkRef(inputRef, inputRefProp);\n // Use callback ref as listRef could be null when it's closed\n const setListRef = useForkRef(listRef, listRefProp);\n\n const { announce } = useAriaAnnouncer({ debounce: 1000 });\n\n const {\n inputRef: setHookInputRef,\n listContext,\n inputProps,\n listProps,\n } = useComboBox(restProps);\n\n const { allowAnnouncement, disabled, value, ...restInputProps } = inputProps;\n const { isListOpen, itemCount, itemToString, source, ...restListProps } =\n listProps;\n\n const firstItem = null;\n\n const allowAnnouncementRef = useRef(allowAnnouncement);\n useEffect(() => {\n allowAnnouncementRef.current = allowAnnouncement;\n }, [allowAnnouncement]);\n\n useEffect(() => {\n if (allowAnnouncementRef.current && value && firstItem) {\n announce(getAnnouncement(itemCount, firstItem));\n }\n }, [firstItem, value, itemCount, announce]);\n\n const [maxListHeight, setMaxListHeight] = useState<number | undefined>(\n undefined,\n );\n const middleware = isDesktop\n ? []\n : [\n flip({\n fallbackPlacements: [\"bottom-start\", \"top-start\"],\n }),\n shift({ limiter: limitShift() }),\n size({\n apply({ availableHeight }) {\n setMaxListHeight(availableHeight);\n },\n }),\n ];\n const { reference, floating, x, y, strategy } = useFloatingUI({\n placement: \"bottom-start\",\n middleware,\n });\n\n useEffect(() => {\n if (rootRef.current) {\n reference(rootRef.current);\n }\n }, [rootRef, reference]);\n\n return (\n <>\n <Input\n disabled={disabled}\n ref={useForkRef(setInputRef, setHookInputRef)}\n value={value}\n {...restInputProps}\n />\n {rootRef.current && isListOpen && (\n <Portal>\n <Window\n style={{\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n maxHeight: maxListHeight ?? \"\",\n }}\n {...WindowProps}\n ref={floating}\n >\n <ListStateContext.Provider value={listContext}>\n <ListBase\n {...{\n ListItem,\n disabled,\n itemCount,\n itemToString,\n width: listWidth || rootWidth,\n source,\n ...restListProps,\n listRef: setListRef,\n }}\n maxHeight={maxListHeight || listProps.maxHeight}\n />\n </ListStateContext.Provider>\n </Window>\n </Portal>\n )}\n </>\n );\n};\n"],"names":["DefaultComboBox","useRef","useForkRef","useAriaAnnouncer","useComboBox","useEffect","getAnnouncement","useState","isDesktop","flip","shift","limitShift","size","useFloatingUI","jsxs","Fragment","jsx","Input","Portal","Window","ListStateContext","ListBase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA8Ea,MAAA,eAAA,GAAkB,SAASA,gBAAAA,CACtC,KACW,EAAA;AACX,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,cAAc,EAAC;AAAA,IACf,OAAA;AAAA,IACA,OAAS,EAAA,WAAA;AAAA,IACT,QAAU,EAAA,YAAA;AAAA,IACV,SAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,SAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAM,MAAA,QAAA,GAAWC,aAAyB,IAAI,CAAA,CAAA;AAC9C,EAAM,MAAA,OAAA,GAAUA,aAAO,IAAI,CAAA,CAAA;AAE3B,EAAM,MAAA,WAAA,GAAcC,eAAW,CAAA,QAAA,EAAU,YAAY,CAAA,CAAA;AAErD,EAAM,MAAA,UAAA,GAAaA,eAAW,CAAA,OAAA,EAAS,WAAW,CAAA,CAAA;AAElD,EAAA,MAAM,EAAE,QAAS,EAAA,GAAIC,sBAAiB,EAAE,QAAA,EAAU,KAAM,CAAA,CAAA;AAExD,EAAM,MAAA;AAAA,IACJ,QAAU,EAAA,eAAA;AAAA,IACV,WAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,GACF,GAAIC,wBAAY,SAAS,CAAA,CAAA;AAEzB,EAAA,MAAM,EAAE,iBAAA,EAAmB,QAAU,EAAA,KAAA,EAAA,GAAU,gBAAmB,GAAA,UAAA,CAAA;AAClE,EAAA,MAAM,EAAE,UAAY,EAAA,SAAA,EAAW,YAAc,EAAA,MAAA,EAAA,GAAW,eACtD,GAAA,SAAA,CAAA;AAEF,EAAA,MAAM,SAAY,GAAA,IAAA,CAAA;AAElB,EAAM,MAAA,oBAAA,GAAuBH,aAAO,iBAAiB,CAAA,CAAA;AACrD,EAAAI,eAAA,CAAU,MAAM;AACd,IAAA,oBAAA,CAAqB,OAAU,GAAA,iBAAA,CAAA;AAAA,GACjC,EAAG,CAAC,iBAAiB,CAAC,CAAA,CAAA;AAEtB,EAAAA,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,oBAAA,CAAqB,OAAW,IAAA,KAAA,IAAS,SAAW,EAAA;AACtD,MAAS,QAAA,CAAAC,+BAAA,CAAgB,SAAW,EAAA,SAAS,CAAC,CAAA,CAAA;AAAA,KAChD;AAAA,KACC,CAAC,SAAA,EAAW,KAAO,EAAA,SAAA,EAAW,QAAQ,CAAC,CAAA,CAAA;AAE1C,EAAM,MAAA,CAAC,aAAe,EAAA,gBAAgB,CAAI,GAAAC,cAAA;AAAA,IACxC,KAAA,CAAA;AAAA,GACF,CAAA;AACA,EAAM,MAAA,UAAA,GAAaC,uBACf,GAAA,EACA,GAAA;AAAA,IACEC,YAAK,CAAA;AAAA,MACH,kBAAA,EAAoB,CAAC,cAAA,EAAgB,WAAW,CAAA;AAAA,KACjD,CAAA;AAAA,IACDC,aAAM,CAAA,EAAE,OAAS,EAAAC,kBAAA,IAAc,CAAA;AAAA,IAC/BC,YAAK,CAAA;AAAA,MACH,KAAA,CAAM,EAAE,eAAA,EAAmB,EAAA;AACzB,QAAA,gBAAA,CAAiB,eAAe,CAAA,CAAA;AAAA,OAClC;AAAA,KACD,CAAA;AAAA,GACH,CAAA;AACJ,EAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAU,GAAG,CAAG,EAAA,QAAA,KAAaC,kBAAc,CAAA;AAAA,IAC5D,SAAW,EAAA,cAAA;AAAA,IACX,UAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAAR,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,QAAQ,OAAS,EAAA;AACnB,MAAA,SAAA,CAAU,QAAQ,OAAO,CAAA,CAAA;AAAA,KAC3B;AAAA,GACC,EAAA,CAAC,OAAS,EAAA,SAAS,CAAC,CAAA,CAAA;AAEvB,EACE,uBAAAS,eAAA,CAAAC,mBAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAC,uBAAA,EAAA;AAAA,QACC,QAAA;AAAA,QACA,GAAA,EAAKf,eAAW,CAAA,WAAA,EAAa,eAAe,CAAA;AAAA,QAC5C,KAAA;AAAA,QACC,GAAG,cAAA;AAAA,OACN,CAAA;AAAA,MACC,OAAA,CAAQ,OAAW,IAAA,UAAA,oBACjBc,cAAA,CAAAE,aAAA,EAAA;AAAA,QACC,QAAC,kBAAAF,cAAA,CAAAG,oBAAA,EAAA;AAAA,UACC,KAAO,EAAA;AAAA,YACL,KAAK,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,YACV,MAAM,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,YACX,QAAU,EAAA,QAAA;AAAA,YACV,WAAW,aAAiB,IAAA,IAAA,GAAA,aAAA,GAAA,EAAA;AAAA,WAC9B;AAAA,UACC,GAAG,WAAA;AAAA,UACJ,GAAK,EAAA,QAAA;AAAA,UAEL,QAAA,kBAAAH,cAAA,CAACI,kCAAiB,QAAjB,EAAA;AAAA,YAA0B,KAAO,EAAA,WAAA;AAAA,YAChC,QAAC,kBAAAJ,cAAA,CAAAK,iBAAA,EAAA;AAAA,cACE,GAAG;AAAA,gBACF,QAAA;AAAA,gBACA,QAAA;AAAA,gBACA,SAAA;AAAA,gBACA,YAAA;AAAA,gBACA,OAAO,SAAa,IAAA,SAAA;AAAA,gBACpB,MAAA;AAAA,gBACA,GAAG,aAAA;AAAA,gBACH,OAAS,EAAA,UAAA;AAAA,eACX;AAAA,cACA,SAAA,EAAW,iBAAiB,SAAU,CAAA,SAAA;AAAA,aACxC,CAAA;AAAA,WACF,CAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('@floating-ui/react');
6
+ var react$1 = require('@floating-ui/react');
7
7
  var core = require('@salt-ds/core');
8
- var React = require('react');
8
+ var react = require('react');
9
9
  require('../../list-deprecated/List.js');
10
10
  var ListBase = require('../../list-deprecated/ListBase.js');
11
11
  require('../../list-deprecated/ListItemBase.js');
@@ -34,8 +34,8 @@ function MultiSelectComboBox(props) {
34
34
  ...restProps
35
35
  } = props;
36
36
  const { announce } = core.useAriaAnnouncer({ debounce: 1e3 });
37
- const expandButtonRef = React.useRef(null);
38
- const listRef = React.useRef(null);
37
+ const expandButtonRef = react.useRef(null);
38
+ const listRef = react.useRef(null);
39
39
  const setListRef = core.useForkRef(listRef, listRefProp);
40
40
  const { inputRef, listContext, inputProps, listProps, inputHelpers } = useMultiSelectComboBox.useMultiSelectComboBox({
41
41
  ...restProps,
@@ -44,24 +44,24 @@ function MultiSelectComboBox(props) {
44
44
  const { allowAnnouncement, disabled, value, ...restInputProps } = inputProps;
45
45
  const { isListOpen, itemCount, itemToString, source, ...restListProps } = listProps;
46
46
  const firstItem = null;
47
- const allowAnnouncementRef = React.useRef(allowAnnouncement);
48
- React.useEffect(() => {
47
+ const allowAnnouncementRef = react.useRef(allowAnnouncement);
48
+ react.useEffect(() => {
49
49
  allowAnnouncementRef.current = allowAnnouncement;
50
50
  }, [allowAnnouncement]);
51
- React.useEffect(() => {
51
+ react.useEffect(() => {
52
52
  if (allowAnnouncementRef.current && value && firstItem) {
53
53
  announce(getAnnouncement.getAnnouncement(itemCount, firstItem));
54
54
  }
55
55
  }, [value, firstItem, itemCount, announce]);
56
- const [maxListHeight, setMaxListHeight] = React.useState(
56
+ const [maxListHeight, setMaxListHeight] = react.useState(
57
57
  void 0
58
58
  );
59
59
  const middleware = WindowContext.isDesktop ? [] : [
60
- react.flip({
60
+ react$1.flip({
61
61
  fallbackPlacements: ["bottom-start", "top-start"]
62
62
  }),
63
- react.shift({ limiter: react.limitShift() }),
64
- react.size({
63
+ react$1.shift({ limiter: react$1.limitShift() }),
64
+ react$1.size({
65
65
  apply({ availableHeight }) {
66
66
  setMaxListHeight(availableHeight);
67
67
  }
@@ -71,7 +71,7 @@ function MultiSelectComboBox(props) {
71
71
  placement: "bottom-start",
72
72
  middleware
73
73
  });
74
- React.useEffect(() => {
74
+ react.useEffect(() => {
75
75
  if (rootRef.current) {
76
76
  reference(rootRef.current);
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectComboBox.js","sources":["../src/combo-box-deprecated/internal/MultiSelectComboBox.tsx"],"sourcesContent":["import { flip, limitShift, shift, size } from \"@floating-ui/react\";\nimport { useAriaAnnouncer, useFloatingUI, useForkRef } from \"@salt-ds/core\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { ListBase, ListStateContext } from \"../../list-deprecated\";\nimport { Portal } from \"../../portal\";\nimport {\n TokenizedInputBase,\n type TokenizedInputProps,\n} from \"../../tokenized-input\";\nimport { isDesktop, useWindow } from \"../../window\";\nimport type { BaseComboBoxProps } from \"./DefaultComboBox\";\nimport { getAnnouncement } from \"./getAnnouncement\";\nimport { useMultiSelectComboBox } from \"./useMultiSelectComboBox\";\n\nexport type MultiSelectComboBoxProps<Item> = BaseComboBoxProps<\n Item,\n \"multiple\"\n> &\n Pick<\n TokenizedInputProps<Item>,\n | \"onFocus\"\n | \"onBlur\"\n | \"onInputFocus\"\n | \"onInputBlur\"\n | \"onInputChange\"\n | \"onInputSelect\"\n | \"stringToItem\"\n > & {\n InputProps?: Partial<TokenizedInputProps<Item>>;\n initialSelectedItem?: Item[];\n selectedItem?: Item[];\n multiSelect: true;\n delimiter?: string | string[];\n };\n\nexport function MultiSelectComboBox<Item>(\n props: MultiSelectComboBoxProps<Item>,\n) {\n const {\n ListItem,\n WindowProps,\n rootRef,\n listRef: listRefProp,\n rootWidth,\n listWidth,\n inputRef: inputRefProp,\n ...restProps\n } = props;\n\n const { announce } = useAriaAnnouncer({ debounce: 1000 });\n\n const expandButtonRef = useRef(null);\n const listRef = useRef(null);\n // Use callback ref as listRef could be null when it's closed\n const setListRef = useForkRef(listRef, listRefProp);\n\n const { inputRef, listContext, inputProps, listProps, inputHelpers } =\n useMultiSelectComboBox({\n ...restProps,\n expandButtonRef,\n });\n\n const { allowAnnouncement, disabled, value, ...restInputProps } = inputProps;\n const { isListOpen, itemCount, itemToString, source, ...restListProps } =\n listProps;\n\n const firstItem = null;\n\n const allowAnnouncementRef = useRef(allowAnnouncement);\n useEffect(() => {\n allowAnnouncementRef.current = allowAnnouncement;\n }, [allowAnnouncement]);\n\n useEffect(() => {\n if (allowAnnouncementRef.current && value && firstItem) {\n announce(getAnnouncement(itemCount, firstItem));\n }\n }, [value, firstItem, itemCount, announce]);\n\n const [maxListHeight, setMaxListHeight] = useState<number | undefined>(\n undefined,\n );\n const middleware = isDesktop\n ? []\n : [\n flip({\n fallbackPlacements: [\"bottom-start\", \"top-start\"],\n }),\n shift({ limiter: limitShift() }),\n size({\n apply({ availableHeight }) {\n setMaxListHeight(availableHeight);\n },\n }),\n ];\n const { reference, floating, x, y, strategy } = useFloatingUI({\n placement: \"bottom-start\",\n middleware,\n });\n\n useEffect(() => {\n if (rootRef.current) {\n reference(rootRef.current);\n }\n }, [rootRef, reference]);\n\n const Window = useWindow();\n\n return (\n <>\n <TokenizedInputBase\n disabled={disabled}\n expandButtonRef={expandButtonRef}\n inputRef={useForkRef(inputRef, inputRefProp)}\n value={value}\n helpers={inputHelpers}\n {...restInputProps}\n />\n {rootRef.current && isListOpen && (\n <Portal>\n <Window\n style={{\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n maxHeight: maxListHeight ?? \"\",\n }}\n {...WindowProps}\n ref={floating}\n >\n <ListStateContext.Provider value={listContext}>\n <ListBase\n {...{\n ListItem,\n disabled,\n itemCount,\n itemToString,\n width: listWidth || rootWidth,\n source,\n ...restListProps,\n listRef: setListRef,\n }}\n maxHeight={maxListHeight || listProps.maxHeight}\n />\n </ListStateContext.Provider>\n </Window>\n </Portal>\n )}\n </>\n );\n}\n"],"names":["useAriaAnnouncer","useRef","useForkRef","useMultiSelectComboBox","useEffect","getAnnouncement","useState","isDesktop","flip","shift","limitShift","size","useFloatingUI","useWindow","jsxs","Fragment","jsx","TokenizedInputBase","Portal","ListStateContext","ListBase"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelectComboBox.js","sources":["../src/combo-box-deprecated/internal/MultiSelectComboBox.tsx"],"sourcesContent":["import { flip, limitShift, shift, size } from \"@floating-ui/react\";\nimport { useAriaAnnouncer, useFloatingUI, useForkRef } from \"@salt-ds/core\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { ListBase, ListStateContext } from \"../../list-deprecated\";\nimport { Portal } from \"../../portal\";\nimport {\n TokenizedInputBase,\n type TokenizedInputProps,\n} from \"../../tokenized-input\";\nimport { isDesktop, useWindow } from \"../../window\";\nimport type { BaseComboBoxProps } from \"./DefaultComboBox\";\nimport { getAnnouncement } from \"./getAnnouncement\";\nimport { useMultiSelectComboBox } from \"./useMultiSelectComboBox\";\n\nexport type MultiSelectComboBoxProps<Item> = BaseComboBoxProps<\n Item,\n \"multiple\"\n> &\n Pick<\n TokenizedInputProps<Item>,\n | \"onFocus\"\n | \"onBlur\"\n | \"onInputFocus\"\n | \"onInputBlur\"\n | \"onInputChange\"\n | \"onInputSelect\"\n | \"stringToItem\"\n > & {\n InputProps?: Partial<TokenizedInputProps<Item>>;\n initialSelectedItem?: Item[];\n selectedItem?: Item[];\n multiSelect: true;\n delimiter?: string | string[];\n };\n\nexport function MultiSelectComboBox<Item>(\n props: MultiSelectComboBoxProps<Item>,\n) {\n const {\n ListItem,\n WindowProps,\n rootRef,\n listRef: listRefProp,\n rootWidth,\n listWidth,\n inputRef: inputRefProp,\n ...restProps\n } = props;\n\n const { announce } = useAriaAnnouncer({ debounce: 1000 });\n\n const expandButtonRef = useRef(null);\n const listRef = useRef(null);\n // Use callback ref as listRef could be null when it's closed\n const setListRef = useForkRef(listRef, listRefProp);\n\n const { inputRef, listContext, inputProps, listProps, inputHelpers } =\n useMultiSelectComboBox({\n ...restProps,\n expandButtonRef,\n });\n\n const { allowAnnouncement, disabled, value, ...restInputProps } = inputProps;\n const { isListOpen, itemCount, itemToString, source, ...restListProps } =\n listProps;\n\n const firstItem = null;\n\n const allowAnnouncementRef = useRef(allowAnnouncement);\n useEffect(() => {\n allowAnnouncementRef.current = allowAnnouncement;\n }, [allowAnnouncement]);\n\n useEffect(() => {\n if (allowAnnouncementRef.current && value && firstItem) {\n announce(getAnnouncement(itemCount, firstItem));\n }\n }, [value, firstItem, itemCount, announce]);\n\n const [maxListHeight, setMaxListHeight] = useState<number | undefined>(\n undefined,\n );\n const middleware = isDesktop\n ? []\n : [\n flip({\n fallbackPlacements: [\"bottom-start\", \"top-start\"],\n }),\n shift({ limiter: limitShift() }),\n size({\n apply({ availableHeight }) {\n setMaxListHeight(availableHeight);\n },\n }),\n ];\n const { reference, floating, x, y, strategy } = useFloatingUI({\n placement: \"bottom-start\",\n middleware,\n });\n\n useEffect(() => {\n if (rootRef.current) {\n reference(rootRef.current);\n }\n }, [rootRef, reference]);\n\n const Window = useWindow();\n\n return (\n <>\n <TokenizedInputBase\n disabled={disabled}\n expandButtonRef={expandButtonRef}\n inputRef={useForkRef(inputRef, inputRefProp)}\n value={value}\n helpers={inputHelpers}\n {...restInputProps}\n />\n {rootRef.current && isListOpen && (\n <Portal>\n <Window\n style={{\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n maxHeight: maxListHeight ?? \"\",\n }}\n {...WindowProps}\n ref={floating}\n >\n <ListStateContext.Provider value={listContext}>\n <ListBase\n {...{\n ListItem,\n disabled,\n itemCount,\n itemToString,\n width: listWidth || rootWidth,\n source,\n ...restListProps,\n listRef: setListRef,\n }}\n maxHeight={maxListHeight || listProps.maxHeight}\n />\n </ListStateContext.Provider>\n </Window>\n </Portal>\n )}\n </>\n );\n}\n"],"names":["useAriaAnnouncer","useRef","useForkRef","useMultiSelectComboBox","useEffect","getAnnouncement","useState","isDesktop","flip","shift","limitShift","size","useFloatingUI","useWindow","jsxs","Fragment","jsx","TokenizedInputBase","Portal","ListStateContext","ListBase"],"mappings":"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"}