@salt-ds/lab 1.0.0-alpha.75 → 1.0.0-alpha.77

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 (794) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/css/salt-lab.css +284 -251
  3. package/dist-cjs/app-header/AppHeader.js.map +1 -1
  4. package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
  5. package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +1 -1
  6. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  7. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  8. package/dist-cjs/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
  9. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
  10. package/dist-cjs/button-bar/ButtonBar.js.map +1 -1
  11. package/dist-cjs/button-bar/OrderedButton.js.map +1 -1
  12. package/dist-cjs/button-bar/internal/ButtonBarContext.js.map +1 -1
  13. package/dist-cjs/button-bar/internal/DescendantContext.js.map +1 -1
  14. package/dist-cjs/button-bar/internal/useDescendant.js.map +1 -1
  15. package/dist-cjs/button-bar/internal/useDescendants.js.map +1 -1
  16. package/dist-cjs/calendar/Calendar.css.js +1 -1
  17. package/dist-cjs/calendar/Calendar.js +11 -2
  18. package/dist-cjs/calendar/Calendar.js.map +1 -1
  19. package/dist-cjs/calendar/CalendarGrid.js +38 -36
  20. package/dist-cjs/calendar/CalendarGrid.js.map +1 -1
  21. package/dist-cjs/calendar/CalendarMonthHeader.js +1 -1
  22. package/dist-cjs/calendar/CalendarMonthHeader.js.map +1 -1
  23. package/dist-cjs/calendar/CalendarNavigation.css.js +1 -1
  24. package/dist-cjs/calendar/CalendarNavigation.js +20 -13
  25. package/dist-cjs/calendar/CalendarNavigation.js.map +1 -1
  26. package/dist-cjs/calendar/CalendarWeekHeader.css.js +1 -1
  27. package/dist-cjs/calendar/CalendarWeekHeader.js +1 -1
  28. package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -1
  29. package/dist-cjs/calendar/internal/CalendarContext.js.map +1 -1
  30. package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
  31. package/dist-cjs/calendar/internal/CalendarDay.js +26 -36
  32. package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
  33. package/dist-cjs/calendar/internal/CalendarMonth.css.js +1 -1
  34. package/dist-cjs/calendar/internal/CalendarMonth.js +30 -9
  35. package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
  36. package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
  37. package/dist-cjs/calendar/internal/utils.js.map +1 -1
  38. package/dist-cjs/calendar/useCalendar.js +7 -9
  39. package/dist-cjs/calendar/useCalendar.js.map +1 -1
  40. package/dist-cjs/calendar/useCalendarDay.js +7 -11
  41. package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
  42. package/dist-cjs/calendar/useCalendarSelection.js +144 -76
  43. package/dist-cjs/calendar/useCalendarSelection.js.map +1 -1
  44. package/dist-cjs/cascading-menu/CascadingMenu.js.map +1 -1
  45. package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
  46. package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
  47. package/dist-cjs/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  48. package/dist-cjs/cascading-menu/internal/keydownHandlers.js.map +1 -1
  49. package/dist-cjs/cascading-menu/internal/menuPositioning.js.map +1 -1
  50. package/dist-cjs/cascading-menu/internal/stateUtils.js.map +1 -1
  51. package/dist-cjs/cascading-menu/internal/useClickAway.js.map +1 -1
  52. package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  53. package/dist-cjs/cascading-menu/internal/useMountedRef.js.map +1 -1
  54. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  55. package/dist-cjs/cascading-menu/internal/useRefsManager.js.map +1 -1
  56. package/dist-cjs/cascading-menu/internal/useStateReducer.js.map +1 -1
  57. package/dist-cjs/cascading-menu/stateChangeTypes.js.map +1 -1
  58. package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
  59. package/dist-cjs/color-chooser/Color.js.map +1 -1
  60. package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
  61. package/dist-cjs/color-chooser/ColorHelpers.js.map +1 -1
  62. package/dist-cjs/color-chooser/ColorPicker.js.map +1 -1
  63. package/dist-cjs/color-chooser/DictTabs.js.map +1 -1
  64. package/dist-cjs/color-chooser/GetColorPalettes.js.map +1 -1
  65. package/dist-cjs/color-chooser/HexInput.js.map +1 -1
  66. package/dist-cjs/color-chooser/RGBAInput.js.map +1 -1
  67. package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
  68. package/dist-cjs/color-chooser/Swatch.js.map +1 -1
  69. package/dist-cjs/color-chooser/Swatches.js.map +1 -1
  70. package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
  71. package/dist-cjs/color-chooser/color-utils.js.map +1 -1
  72. package/dist-cjs/color-chooser/colorMap.js.map +1 -1
  73. package/dist-cjs/color-chooser/createTabsMapping.js.map +1 -1
  74. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  75. package/dist-cjs/combo-box/useCombobox.js.map +1 -1
  76. package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  77. package/dist-cjs/combo-box-deprecated/filterHelpers.js.map +1 -1
  78. package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  79. package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  80. package/dist-cjs/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  81. package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  82. package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  83. package/dist-cjs/common-hooks/calcPreferredHeight.js.map +1 -1
  84. package/dist-cjs/common-hooks/collectionProvider.js.map +1 -1
  85. package/dist-cjs/common-hooks/itemToString.js.map +1 -1
  86. package/dist-cjs/common-hooks/keyUtils.js.map +1 -1
  87. package/dist-cjs/common-hooks/list-dom-utils.js.map +1 -1
  88. package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
  89. package/dist-cjs/common-hooks/useAutoSizer.js.map +1 -1
  90. package/dist-cjs/common-hooks/useCollapsibleGroups.js.map +1 -1
  91. package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
  92. package/dist-cjs/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  93. package/dist-cjs/common-hooks/useKeyboardNavigation.js.map +1 -1
  94. package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  95. package/dist-cjs/common-hooks/useSelection.js.map +1 -1
  96. package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
  97. package/dist-cjs/common-hooks/useViewportTracking.js.map +1 -1
  98. package/dist-cjs/common-hooks/utils/collection-item-utils.js.map +1 -1
  99. package/dist-cjs/common-hooks/utils/filter-utils.js.map +1 -1
  100. package/dist-cjs/common-hooks/utils/isSelected.js.map +1 -1
  101. package/dist-cjs/contact-details/ContactAction.js.map +1 -1
  102. package/dist-cjs/contact-details/ContactActions.js.map +1 -1
  103. package/dist-cjs/contact-details/ContactAvatar.js.map +1 -1
  104. package/dist-cjs/contact-details/ContactDetails.js.map +1 -1
  105. package/dist-cjs/contact-details/ContactFavoriteToggle.js.map +1 -1
  106. package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
  107. package/dist-cjs/contact-details/ContactMetadataItem.js.map +1 -1
  108. package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
  109. package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
  110. package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
  111. package/dist-cjs/contact-details/MailLinkComponent.js.map +1 -1
  112. package/dist-cjs/contact-details/internal/ContactDetailsContext.js.map +1 -1
  113. package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
  114. package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  115. package/dist-cjs/contact-details/internal/StarIcon.js.map +1 -1
  116. package/dist-cjs/contact-details/internal/StarIconContainer.js.map +1 -1
  117. package/dist-cjs/contact-details/internal/useComponentSize.js.map +1 -1
  118. package/dist-cjs/content-status/ContentStatus.js.map +1 -1
  119. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  120. package/dist-cjs/date-input/DateInputRange.js +3 -2
  121. package/dist-cjs/date-input/DateInputRange.js.map +1 -1
  122. package/dist-cjs/date-input/DateInputSingle.js +5 -2
  123. package/dist-cjs/date-input/DateInputSingle.js.map +1 -1
  124. package/dist-cjs/date-picker/DatePicker.js +0 -2
  125. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  126. package/dist-cjs/date-picker/DatePickerActions.js +1 -1
  127. package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
  128. package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
  129. package/dist-cjs/date-picker/DatePickerHelperText.js.map +1 -1
  130. package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -1
  131. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
  132. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js +2 -3
  133. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js.map +1 -1
  134. package/dist-cjs/date-picker/DatePickerRangeInput.js +22 -8
  135. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
  136. package/dist-cjs/date-picker/DatePickerRangePanel.js +2 -4
  137. package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -1
  138. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js +2 -4
  139. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js.map +1 -1
  140. package/dist-cjs/date-picker/DatePickerSingleInput.js +12 -7
  141. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
  142. package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -1
  143. package/dist-cjs/date-picker/DatePickerTrigger.js.map +1 -1
  144. package/dist-cjs/date-picker/useDatePicker.js +0 -17
  145. package/dist-cjs/date-picker/useDatePicker.js.map +1 -1
  146. package/dist-cjs/date-picker/useFocusOut.js.map +1 -1
  147. package/dist-cjs/date-picker/useKeyboard.js.map +1 -1
  148. package/dist-cjs/deck-item/DeckItem.js.map +1 -1
  149. package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
  150. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  151. package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
  152. package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
  153. package/dist-cjs/dropdown/useClickAway.js.map +1 -1
  154. package/dist-cjs/dropdown/useDropdown.js.map +1 -1
  155. package/dist-cjs/dropdown/useDropdownBase.js.map +1 -1
  156. package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
  157. package/dist-cjs/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  158. package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  159. package/dist-cjs/form-field-legacy/FormActivationIndicator.js.map +1 -1
  160. package/dist-cjs/form-field-legacy/FormFieldLegacy.js.map +1 -1
  161. package/dist-cjs/form-field-legacy/FormHelperText.js.map +1 -1
  162. package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
  163. package/dist-cjs/form-field-legacy/NecessityIndicator.js.map +1 -1
  164. package/dist-cjs/form-field-legacy/StatusIndicator.js.map +1 -1
  165. package/dist-cjs/form-field-legacy/constant.js.map +1 -1
  166. package/dist-cjs/form-group/FormGroup.js.map +1 -1
  167. package/dist-cjs/formatted-input/FormattedInput.js.map +1 -1
  168. package/dist-cjs/formatted-input/internal/InputWithMask.js.map +1 -1
  169. package/dist-cjs/index.js +0 -21
  170. package/dist-cjs/index.js.map +1 -1
  171. package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
  172. package/dist-cjs/input-legacy/StaticInputAdornment.js.map +1 -1
  173. package/dist-cjs/input-legacy/useCursorOnFocus.js.map +1 -1
  174. package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
  175. package/dist-cjs/list/Highlighter.js.map +1 -1
  176. package/dist-cjs/list/List.js.map +1 -1
  177. package/dist-cjs/list/ListItem.js.map +1 -1
  178. package/dist-cjs/list/ListItemGroup.js.map +1 -1
  179. package/dist-cjs/list/ListItemHeader.js.map +1 -1
  180. package/dist-cjs/list/VirtualizedList.js.map +1 -1
  181. package/dist-cjs/list/keyset.js.map +1 -1
  182. package/dist-cjs/list/useList.js.map +1 -1
  183. package/dist-cjs/list/useListHeight.js.map +1 -1
  184. package/dist-cjs/list/useVirtualization.js.map +1 -1
  185. package/dist-cjs/list-deprecated/List.js.map +1 -1
  186. package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
  187. package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
  188. package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
  189. package/dist-cjs/list-deprecated/ListItemContext.js.map +1 -1
  190. package/dist-cjs/list-deprecated/ListStateContext.js.map +1 -1
  191. package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
  192. package/dist-cjs/list-deprecated/internal/Highlighter.js.map +1 -1
  193. package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  194. package/dist-cjs/list-deprecated/internal/helpers.js.map +1 -1
  195. package/dist-cjs/list-deprecated/internal/scrollIntoView.js.map +1 -1
  196. package/dist-cjs/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  197. package/dist-cjs/list-deprecated/internal/useWidth.js.map +1 -1
  198. package/dist-cjs/list-deprecated/itemToString.js.map +1 -1
  199. package/dist-cjs/list-deprecated/useList.js.map +1 -1
  200. package/dist-cjs/list-deprecated/useListItem.js.map +1 -1
  201. package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
  202. package/dist-cjs/list-next/ListItemNext.js.map +1 -1
  203. package/dist-cjs/list-next/ListNext.js.map +1 -1
  204. package/dist-cjs/list-next/ListNextContext.js.map +1 -1
  205. package/dist-cjs/list-next/useList.js.map +1 -1
  206. package/dist-cjs/localization-provider/LocalizationProvider.js.map +1 -1
  207. package/dist-cjs/logo/Logo.js.map +1 -1
  208. package/dist-cjs/logo/LogoImage.js.map +1 -1
  209. package/dist-cjs/logo/LogoSeparator.js.map +1 -1
  210. package/dist-cjs/menu-button/MenuButton.js.map +1 -1
  211. package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
  212. package/dist-cjs/metric/Metric.js.map +1 -1
  213. package/dist-cjs/metric/MetricContent.js.map +1 -1
  214. package/dist-cjs/metric/MetricHeader.js.map +1 -1
  215. package/dist-cjs/metric/internal/MetricContext.js.map +1 -1
  216. package/dist-cjs/number-input/NumberInput.js.map +1 -1
  217. package/dist-cjs/number-input/internal/useActivateWhileMouseDown.js.map +1 -1
  218. package/dist-cjs/number-input/internal/useCaret.js.map +1 -1
  219. package/dist-cjs/number-input/internal/useInterval.js.map +1 -1
  220. package/dist-cjs/number-input/internal/utils.js.map +1 -1
  221. package/dist-cjs/number-input/useNumberInput.js.map +1 -1
  222. package/dist-cjs/portal/Portal.js.map +1 -1
  223. package/dist-cjs/query-input/QueryInput.js.map +1 -1
  224. package/dist-cjs/query-input/internal/CategoryList.js.map +1 -1
  225. package/dist-cjs/query-input/internal/CategoryListContext.js.map +1 -1
  226. package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
  227. package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
  228. package/dist-cjs/query-input/internal/SearchList.js.map +1 -1
  229. package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
  230. package/dist-cjs/query-input/internal/ValueSelector.js.map +1 -1
  231. package/dist-cjs/query-input/internal/usePopperStatus.js.map +1 -1
  232. package/dist-cjs/query-input/useQueryInput.js.map +1 -1
  233. package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
  234. package/dist-cjs/responsive/overflowUtils.js.map +1 -1
  235. package/dist-cjs/responsive/useDynamicCollapse.js.map +1 -1
  236. package/dist-cjs/responsive/useInstantCollapse.js.map +1 -1
  237. package/dist-cjs/responsive/useOverflow.js.map +1 -1
  238. package/dist-cjs/responsive/useOverflowCollectionItems.js.map +1 -1
  239. package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
  240. package/dist-cjs/responsive/useReclaimSpace.js.map +1 -1
  241. package/dist-cjs/responsive/useResizeObserver.js.map +1 -1
  242. package/dist-cjs/responsive/useWidth.js.map +1 -1
  243. package/dist-cjs/responsive/utils.js.map +1 -1
  244. package/dist-cjs/search-input/SearchInput.js.map +1 -1
  245. package/dist-cjs/static-list/StaticList.js.map +1 -1
  246. package/dist-cjs/static-list/StaticListItem.js.map +1 -1
  247. package/dist-cjs/static-list/StaticListItemContent.js.map +1 -1
  248. package/dist-cjs/system-status/SystemStatus.js.map +1 -1
  249. package/dist-cjs/system-status/SystemStatusActions.js.map +1 -1
  250. package/dist-cjs/system-status/SystemStatusContent.js.map +1 -1
  251. package/dist-cjs/table/TBody.js.map +1 -1
  252. package/dist-cjs/table/TD.js +6 -2
  253. package/dist-cjs/table/TD.js.map +1 -1
  254. package/dist-cjs/table/TFoot.js.map +1 -1
  255. package/dist-cjs/table/TH.js +6 -2
  256. package/dist-cjs/table/TH.js.map +1 -1
  257. package/dist-cjs/table/THead.js.map +1 -1
  258. package/dist-cjs/table/TR.js.map +1 -1
  259. package/dist-cjs/table/Table.css.js +1 -1
  260. package/dist-cjs/table/Table.js +2 -2
  261. package/dist-cjs/table/Table.js.map +1 -1
  262. package/dist-cjs/tabs/Tab.js.map +1 -1
  263. package/dist-cjs/tabs/TabActivationIndicator.js.map +1 -1
  264. package/dist-cjs/tabs/TabPanel.js.map +1 -1
  265. package/dist-cjs/tabs/Tabs.js.map +1 -1
  266. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  267. package/dist-cjs/tabs/drag-drop/Draggable.js.map +1 -1
  268. package/dist-cjs/tabs/drag-drop/drag-utils.js.map +1 -1
  269. package/dist-cjs/tabs/drag-drop/dragDropTypes.js.map +1 -1
  270. package/dist-cjs/tabs/drag-drop/useDragDrop.js.map +1 -1
  271. package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  272. package/dist-cjs/tabs/drag-drop/useDragSpacers.js.map +1 -1
  273. package/dist-cjs/tabs/useActivationIndicator.js.map +1 -1
  274. package/dist-cjs/tabs/useEditableItem.js.map +1 -1
  275. package/dist-cjs/tabs/useItemsWithIds.js.map +1 -1
  276. package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
  277. package/dist-cjs/tabs/useSelection.js.map +1 -1
  278. package/dist-cjs/tabs/useTabs.js.map +1 -1
  279. package/dist-cjs/tabs/useTabstrip.js.map +1 -1
  280. package/dist-cjs/tabs-next/TabBar.js.map +1 -1
  281. package/dist-cjs/tabs-next/TabListNext.css.js +1 -1
  282. package/dist-cjs/tabs-next/TabListNext.js +3 -3
  283. package/dist-cjs/tabs-next/TabListNext.js.map +1 -1
  284. package/dist-cjs/tabs-next/TabNext.css.js +1 -1
  285. package/dist-cjs/tabs-next/TabNext.js +0 -1
  286. package/dist-cjs/tabs-next/TabNext.js.map +1 -1
  287. package/dist-cjs/tabs-next/TabNextAction.js.map +1 -1
  288. package/dist-cjs/tabs-next/TabNextContext.js.map +1 -1
  289. package/dist-cjs/tabs-next/TabNextPanel.js.map +1 -1
  290. package/dist-cjs/tabs-next/TabNextTrigger.css.js +1 -1
  291. package/dist-cjs/tabs-next/TabNextTrigger.js +24 -23
  292. package/dist-cjs/tabs-next/TabNextTrigger.js.map +1 -1
  293. package/dist-cjs/tabs-next/TabOverflowList.css.js +1 -1
  294. package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -1
  295. package/dist-cjs/tabs-next/TabsNext.js.map +1 -1
  296. package/dist-cjs/tabs-next/TabsNextContext.js.map +1 -1
  297. package/dist-cjs/tabs-next/hooks/useCollection.js.map +1 -1
  298. package/dist-cjs/tabs-next/hooks/useFocusOutside.js.map +1 -1
  299. package/dist-cjs/tabs-next/hooks/useOverflow.js +1 -1
  300. package/dist-cjs/tabs-next/hooks/useOverflow.js.map +1 -1
  301. package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js +3 -3
  302. package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
  303. package/dist-cjs/toast-group/ToastGroup.js.map +1 -1
  304. package/dist-cjs/tokenized-input/TokenizedInput.js.map +1 -1
  305. package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
  306. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  307. package/dist-cjs/tokenized-input/internal/InputRuler.js.map +1 -1
  308. package/dist-cjs/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
  309. package/dist-cjs/tokenized-input/internal/defaultItemToString.js.map +1 -1
  310. package/dist-cjs/tokenized-input/internal/getCursorPosition.js.map +1 -1
  311. package/dist-cjs/tokenized-input/internal/isPlainObject.js.map +1 -1
  312. package/dist-cjs/tokenized-input/internal/useResizeObserver.js.map +1 -1
  313. package/dist-cjs/tokenized-input/internal/useWidth.js.map +1 -1
  314. package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
  315. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  316. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
  317. package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
  318. package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  319. package/dist-cjs/tokenized-input-next/internal/useWidth.js.map +1 -1
  320. package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  321. package/dist-cjs/toolbar/Toolbar.js.map +1 -1
  322. package/dist-cjs/toolbar/ToolbarButton.js.map +1 -1
  323. package/dist-cjs/toolbar/Tooltray.js.map +1 -1
  324. package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
  325. package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
  326. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  327. package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  328. package/dist-cjs/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  329. package/dist-cjs/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  330. package/dist-cjs/tree/Tree.js.map +1 -1
  331. package/dist-cjs/tree/TreeNode.js.map +1 -1
  332. package/dist-cjs/tree/use-tree-keyboard-navigation.js.map +1 -1
  333. package/dist-cjs/tree/useTree.js.map +1 -1
  334. package/dist-cjs/utils/escapeRegExp.js.map +1 -1
  335. package/dist-cjs/utils/forwardCallbackProps.js.map +1 -1
  336. package/dist-cjs/utils/isEmail.js.map +1 -1
  337. package/dist-cjs/utils/isPlainObject.js.map +1 -1
  338. package/dist-cjs/utils/partition.js.map +1 -1
  339. package/dist-cjs/utils/useClickOutside.js.map +1 -1
  340. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  341. package/dist-cjs/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  342. package/dist-cjs/utils/useLayoutEffectOnce.js.map +1 -1
  343. package/dist-cjs/utils/useLayoutEffectSkipFirst.js.map +1 -1
  344. package/dist-cjs/utils/useOverflowDetection.js.map +1 -1
  345. package/dist-cjs/utils/useSlideSelection.js.map +1 -1
  346. package/dist-cjs/window/ElectronWindow.js.map +1 -1
  347. package/dist-cjs/window/WindowContext.js.map +1 -1
  348. package/dist-cjs/window/desktop-utils.js.map +1 -1
  349. package/dist-es/app-header/AppHeader.js.map +1 -1
  350. package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
  351. package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
  352. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  353. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
  354. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
  355. package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
  356. package/dist-es/button-bar/ButtonBar.js.map +1 -1
  357. package/dist-es/button-bar/OrderedButton.js.map +1 -1
  358. package/dist-es/button-bar/internal/ButtonBarContext.js.map +1 -1
  359. package/dist-es/button-bar/internal/DescendantContext.js.map +1 -1
  360. package/dist-es/button-bar/internal/useDescendant.js.map +1 -1
  361. package/dist-es/button-bar/internal/useDescendants.js.map +1 -1
  362. package/dist-es/calendar/Calendar.css.js +1 -1
  363. package/dist-es/calendar/Calendar.js +12 -3
  364. package/dist-es/calendar/Calendar.js.map +1 -1
  365. package/dist-es/calendar/CalendarGrid.js +39 -37
  366. package/dist-es/calendar/CalendarGrid.js.map +1 -1
  367. package/dist-es/calendar/CalendarMonthHeader.js +1 -1
  368. package/dist-es/calendar/CalendarMonthHeader.js.map +1 -1
  369. package/dist-es/calendar/CalendarNavigation.css.js +1 -1
  370. package/dist-es/calendar/CalendarNavigation.js +21 -14
  371. package/dist-es/calendar/CalendarNavigation.js.map +1 -1
  372. package/dist-es/calendar/CalendarWeekHeader.css.js +1 -1
  373. package/dist-es/calendar/CalendarWeekHeader.js +2 -2
  374. package/dist-es/calendar/CalendarWeekHeader.js.map +1 -1
  375. package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
  376. package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
  377. package/dist-es/calendar/internal/CalendarDay.js +27 -37
  378. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  379. package/dist-es/calendar/internal/CalendarMonth.css.js +1 -1
  380. package/dist-es/calendar/internal/CalendarMonth.js +31 -10
  381. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  382. package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
  383. package/dist-es/calendar/internal/utils.js.map +1 -1
  384. package/dist-es/calendar/useCalendar.js +7 -9
  385. package/dist-es/calendar/useCalendar.js.map +1 -1
  386. package/dist-es/calendar/useCalendarDay.js +7 -11
  387. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  388. package/dist-es/calendar/useCalendarSelection.js +144 -76
  389. package/dist-es/calendar/useCalendarSelection.js.map +1 -1
  390. package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
  391. package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
  392. package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
  393. package/dist-es/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
  394. package/dist-es/cascading-menu/internal/keydownHandlers.js.map +1 -1
  395. package/dist-es/cascading-menu/internal/menuPositioning.js.map +1 -1
  396. package/dist-es/cascading-menu/internal/stateUtils.js.map +1 -1
  397. package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
  398. package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  399. package/dist-es/cascading-menu/internal/useMountedRef.js.map +1 -1
  400. package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  401. package/dist-es/cascading-menu/internal/useRefsManager.js.map +1 -1
  402. package/dist-es/cascading-menu/internal/useStateReducer.js.map +1 -1
  403. package/dist-es/cascading-menu/stateChangeTypes.js.map +1 -1
  404. package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
  405. package/dist-es/color-chooser/Color.js.map +1 -1
  406. package/dist-es/color-chooser/ColorChooser.js.map +1 -1
  407. package/dist-es/color-chooser/ColorHelpers.js.map +1 -1
  408. package/dist-es/color-chooser/ColorPicker.js.map +1 -1
  409. package/dist-es/color-chooser/DictTabs.js.map +1 -1
  410. package/dist-es/color-chooser/GetColorPalettes.js.map +1 -1
  411. package/dist-es/color-chooser/HexInput.js.map +1 -1
  412. package/dist-es/color-chooser/RGBAInput.js.map +1 -1
  413. package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
  414. package/dist-es/color-chooser/Swatch.js.map +1 -1
  415. package/dist-es/color-chooser/Swatches.js.map +1 -1
  416. package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
  417. package/dist-es/color-chooser/color-utils.js.map +1 -1
  418. package/dist-es/color-chooser/colorMap.js.map +1 -1
  419. package/dist-es/color-chooser/createTabsMapping.js.map +1 -1
  420. package/dist-es/combo-box/ComboBox.js.map +1 -1
  421. package/dist-es/combo-box/useCombobox.js.map +1 -1
  422. package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  423. package/dist-es/combo-box-deprecated/filterHelpers.js.map +1 -1
  424. package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  425. package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  426. package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  427. package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  428. package/dist-es/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
  429. package/dist-es/common-hooks/calcPreferredHeight.js.map +1 -1
  430. package/dist-es/common-hooks/collectionProvider.js.map +1 -1
  431. package/dist-es/common-hooks/itemToString.js.map +1 -1
  432. package/dist-es/common-hooks/keyUtils.js.map +1 -1
  433. package/dist-es/common-hooks/list-dom-utils.js.map +1 -1
  434. package/dist-es/common-hooks/selectionTypes.js.map +1 -1
  435. package/dist-es/common-hooks/useAutoSizer.js.map +1 -1
  436. package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
  437. package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
  438. package/dist-es/common-hooks/useImperativeScrollingAPI.js.map +1 -1
  439. package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
  440. package/dist-es/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
  441. package/dist-es/common-hooks/useSelection.js.map +1 -1
  442. package/dist-es/common-hooks/useTypeahead.js.map +1 -1
  443. package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
  444. package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
  445. package/dist-es/common-hooks/utils/filter-utils.js.map +1 -1
  446. package/dist-es/common-hooks/utils/isSelected.js.map +1 -1
  447. package/dist-es/contact-details/ContactAction.js.map +1 -1
  448. package/dist-es/contact-details/ContactActions.js.map +1 -1
  449. package/dist-es/contact-details/ContactAvatar.js.map +1 -1
  450. package/dist-es/contact-details/ContactDetails.js.map +1 -1
  451. package/dist-es/contact-details/ContactFavoriteToggle.js.map +1 -1
  452. package/dist-es/contact-details/ContactMetadata.js.map +1 -1
  453. package/dist-es/contact-details/ContactMetadataItem.js.map +1 -1
  454. package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
  455. package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
  456. package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
  457. package/dist-es/contact-details/MailLinkComponent.js.map +1 -1
  458. package/dist-es/contact-details/internal/ContactDetailsContext.js.map +1 -1
  459. package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
  460. package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  461. package/dist-es/contact-details/internal/StarIcon.js.map +1 -1
  462. package/dist-es/contact-details/internal/StarIconContainer.js.map +1 -1
  463. package/dist-es/contact-details/internal/useComponentSize.js.map +1 -1
  464. package/dist-es/content-status/ContentStatus.js.map +1 -1
  465. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  466. package/dist-es/date-input/DateInputRange.js +3 -2
  467. package/dist-es/date-input/DateInputRange.js.map +1 -1
  468. package/dist-es/date-input/DateInputSingle.js +5 -2
  469. package/dist-es/date-input/DateInputSingle.js.map +1 -1
  470. package/dist-es/date-picker/DatePicker.js +0 -2
  471. package/dist-es/date-picker/DatePicker.js.map +1 -1
  472. package/dist-es/date-picker/DatePickerActions.js +1 -1
  473. package/dist-es/date-picker/DatePickerActions.js.map +1 -1
  474. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  475. package/dist-es/date-picker/DatePickerHelperText.js.map +1 -1
  476. package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
  477. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
  478. package/dist-es/date-picker/DatePickerRangeGridPanel.js +2 -3
  479. package/dist-es/date-picker/DatePickerRangeGridPanel.js.map +1 -1
  480. package/dist-es/date-picker/DatePickerRangeInput.js +22 -8
  481. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
  482. package/dist-es/date-picker/DatePickerRangePanel.js +2 -4
  483. package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
  484. package/dist-es/date-picker/DatePickerSingleGridPanel.js +2 -4
  485. package/dist-es/date-picker/DatePickerSingleGridPanel.js.map +1 -1
  486. package/dist-es/date-picker/DatePickerSingleInput.js +12 -7
  487. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
  488. package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -1
  489. package/dist-es/date-picker/DatePickerTrigger.js.map +1 -1
  490. package/dist-es/date-picker/useDatePicker.js +0 -17
  491. package/dist-es/date-picker/useDatePicker.js.map +1 -1
  492. package/dist-es/date-picker/useFocusOut.js.map +1 -1
  493. package/dist-es/date-picker/useKeyboard.js.map +1 -1
  494. package/dist-es/deck-item/DeckItem.js.map +1 -1
  495. package/dist-es/deck-layout/DeckLayout.js.map +1 -1
  496. package/dist-es/dropdown/Dropdown.js.map +1 -1
  497. package/dist-es/dropdown/DropdownBase.js.map +1 -1
  498. package/dist-es/dropdown/DropdownButton.js.map +1 -1
  499. package/dist-es/dropdown/useClickAway.js.map +1 -1
  500. package/dist-es/dropdown/useDropdown.js.map +1 -1
  501. package/dist-es/dropdown/useDropdownBase.js.map +1 -1
  502. package/dist-es/editable-label/EditableLabel.js.map +1 -1
  503. package/dist-es/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
  504. package/dist-es/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
  505. package/dist-es/form-field-legacy/FormActivationIndicator.js.map +1 -1
  506. package/dist-es/form-field-legacy/FormFieldLegacy.js.map +1 -1
  507. package/dist-es/form-field-legacy/FormHelperText.js.map +1 -1
  508. package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
  509. package/dist-es/form-field-legacy/NecessityIndicator.js.map +1 -1
  510. package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
  511. package/dist-es/form-field-legacy/constant.js.map +1 -1
  512. package/dist-es/form-group/FormGroup.js.map +1 -1
  513. package/dist-es/formatted-input/FormattedInput.js.map +1 -1
  514. package/dist-es/formatted-input/internal/InputWithMask.js.map +1 -1
  515. package/dist-es/index.js +0 -10
  516. package/dist-es/index.js.map +1 -1
  517. package/dist-es/input-legacy/InputLegacy.js.map +1 -1
  518. package/dist-es/input-legacy/StaticInputAdornment.js.map +1 -1
  519. package/dist-es/input-legacy/useCursorOnFocus.js.map +1 -1
  520. package/dist-es/layer-layout/LayerLayout.js.map +1 -1
  521. package/dist-es/list/Highlighter.js.map +1 -1
  522. package/dist-es/list/List.js.map +1 -1
  523. package/dist-es/list/ListItem.js.map +1 -1
  524. package/dist-es/list/ListItemGroup.js.map +1 -1
  525. package/dist-es/list/ListItemHeader.js.map +1 -1
  526. package/dist-es/list/VirtualizedList.js.map +1 -1
  527. package/dist-es/list/keyset.js.map +1 -1
  528. package/dist-es/list/useList.js.map +1 -1
  529. package/dist-es/list/useListHeight.js.map +1 -1
  530. package/dist-es/list/useVirtualization.js.map +1 -1
  531. package/dist-es/list-deprecated/List.js.map +1 -1
  532. package/dist-es/list-deprecated/ListBase.js.map +1 -1
  533. package/dist-es/list-deprecated/ListItem.js.map +1 -1
  534. package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
  535. package/dist-es/list-deprecated/ListItemContext.js.map +1 -1
  536. package/dist-es/list-deprecated/ListStateContext.js.map +1 -1
  537. package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
  538. package/dist-es/list-deprecated/internal/Highlighter.js.map +1 -1
  539. package/dist-es/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
  540. package/dist-es/list-deprecated/internal/helpers.js.map +1 -1
  541. package/dist-es/list-deprecated/internal/scrollIntoView.js.map +1 -1
  542. package/dist-es/list-deprecated/internal/useListAutoSizer.js.map +1 -1
  543. package/dist-es/list-deprecated/internal/useWidth.js.map +1 -1
  544. package/dist-es/list-deprecated/itemToString.js.map +1 -1
  545. package/dist-es/list-deprecated/useList.js.map +1 -1
  546. package/dist-es/list-deprecated/useListItem.js.map +1 -1
  547. package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
  548. package/dist-es/list-next/ListItemNext.js.map +1 -1
  549. package/dist-es/list-next/ListNext.js.map +1 -1
  550. package/dist-es/list-next/ListNextContext.js.map +1 -1
  551. package/dist-es/list-next/useList.js.map +1 -1
  552. package/dist-es/localization-provider/LocalizationProvider.js.map +1 -1
  553. package/dist-es/logo/Logo.js.map +1 -1
  554. package/dist-es/logo/LogoImage.js.map +1 -1
  555. package/dist-es/logo/LogoSeparator.js.map +1 -1
  556. package/dist-es/menu-button/MenuButton.js.map +1 -1
  557. package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
  558. package/dist-es/metric/Metric.js.map +1 -1
  559. package/dist-es/metric/MetricContent.js.map +1 -1
  560. package/dist-es/metric/MetricHeader.js.map +1 -1
  561. package/dist-es/metric/internal/MetricContext.js.map +1 -1
  562. package/dist-es/number-input/NumberInput.js.map +1 -1
  563. package/dist-es/number-input/internal/useActivateWhileMouseDown.js.map +1 -1
  564. package/dist-es/number-input/internal/useCaret.js.map +1 -1
  565. package/dist-es/number-input/internal/useInterval.js.map +1 -1
  566. package/dist-es/number-input/internal/utils.js.map +1 -1
  567. package/dist-es/number-input/useNumberInput.js.map +1 -1
  568. package/dist-es/portal/Portal.js.map +1 -1
  569. package/dist-es/query-input/QueryInput.js.map +1 -1
  570. package/dist-es/query-input/internal/CategoryList.js.map +1 -1
  571. package/dist-es/query-input/internal/CategoryListContext.js.map +1 -1
  572. package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
  573. package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
  574. package/dist-es/query-input/internal/SearchList.js.map +1 -1
  575. package/dist-es/query-input/internal/ValueList.js.map +1 -1
  576. package/dist-es/query-input/internal/ValueSelector.js.map +1 -1
  577. package/dist-es/query-input/internal/usePopperStatus.js.map +1 -1
  578. package/dist-es/query-input/useQueryInput.js.map +1 -1
  579. package/dist-es/responsive/OverflowReducer.js.map +1 -1
  580. package/dist-es/responsive/overflowUtils.js.map +1 -1
  581. package/dist-es/responsive/useDynamicCollapse.js.map +1 -1
  582. package/dist-es/responsive/useInstantCollapse.js.map +1 -1
  583. package/dist-es/responsive/useOverflow.js.map +1 -1
  584. package/dist-es/responsive/useOverflowCollectionItems.js.map +1 -1
  585. package/dist-es/responsive/useOverflowLayout.js.map +1 -1
  586. package/dist-es/responsive/useReclaimSpace.js.map +1 -1
  587. package/dist-es/responsive/useResizeObserver.js.map +1 -1
  588. package/dist-es/responsive/useWidth.js.map +1 -1
  589. package/dist-es/responsive/utils.js.map +1 -1
  590. package/dist-es/search-input/SearchInput.js.map +1 -1
  591. package/dist-es/static-list/StaticList.js.map +1 -1
  592. package/dist-es/static-list/StaticListItem.js.map +1 -1
  593. package/dist-es/static-list/StaticListItemContent.js.map +1 -1
  594. package/dist-es/system-status/SystemStatus.js.map +1 -1
  595. package/dist-es/system-status/SystemStatusActions.js.map +1 -1
  596. package/dist-es/system-status/SystemStatusContent.js.map +1 -1
  597. package/dist-es/table/TBody.js.map +1 -1
  598. package/dist-es/table/TD.js +6 -2
  599. package/dist-es/table/TD.js.map +1 -1
  600. package/dist-es/table/TFoot.js.map +1 -1
  601. package/dist-es/table/TH.js +6 -2
  602. package/dist-es/table/TH.js.map +1 -1
  603. package/dist-es/table/THead.js.map +1 -1
  604. package/dist-es/table/TR.js.map +1 -1
  605. package/dist-es/table/Table.css.js +1 -1
  606. package/dist-es/table/Table.js +2 -2
  607. package/dist-es/table/Table.js.map +1 -1
  608. package/dist-es/tabs/Tab.js.map +1 -1
  609. package/dist-es/tabs/TabActivationIndicator.js.map +1 -1
  610. package/dist-es/tabs/TabPanel.js.map +1 -1
  611. package/dist-es/tabs/Tabs.js.map +1 -1
  612. package/dist-es/tabs/Tabstrip.js.map +1 -1
  613. package/dist-es/tabs/drag-drop/Draggable.js.map +1 -1
  614. package/dist-es/tabs/drag-drop/drag-utils.js.map +1 -1
  615. package/dist-es/tabs/drag-drop/dragDropTypes.js.map +1 -1
  616. package/dist-es/tabs/drag-drop/useDragDrop.js.map +1 -1
  617. package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
  618. package/dist-es/tabs/drag-drop/useDragSpacers.js.map +1 -1
  619. package/dist-es/tabs/useActivationIndicator.js.map +1 -1
  620. package/dist-es/tabs/useEditableItem.js.map +1 -1
  621. package/dist-es/tabs/useItemsWithIds.js.map +1 -1
  622. package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
  623. package/dist-es/tabs/useSelection.js.map +1 -1
  624. package/dist-es/tabs/useTabs.js.map +1 -1
  625. package/dist-es/tabs/useTabstrip.js.map +1 -1
  626. package/dist-es/tabs-next/TabBar.js.map +1 -1
  627. package/dist-es/tabs-next/TabListNext.css.js +1 -1
  628. package/dist-es/tabs-next/TabListNext.js +3 -3
  629. package/dist-es/tabs-next/TabListNext.js.map +1 -1
  630. package/dist-es/tabs-next/TabNext.css.js +1 -1
  631. package/dist-es/tabs-next/TabNext.js +0 -1
  632. package/dist-es/tabs-next/TabNext.js.map +1 -1
  633. package/dist-es/tabs-next/TabNextAction.js.map +1 -1
  634. package/dist-es/tabs-next/TabNextContext.js.map +1 -1
  635. package/dist-es/tabs-next/TabNextPanel.js.map +1 -1
  636. package/dist-es/tabs-next/TabNextTrigger.css.js +1 -1
  637. package/dist-es/tabs-next/TabNextTrigger.js +24 -23
  638. package/dist-es/tabs-next/TabNextTrigger.js.map +1 -1
  639. package/dist-es/tabs-next/TabOverflowList.css.js +1 -1
  640. package/dist-es/tabs-next/TabOverflowList.js.map +1 -1
  641. package/dist-es/tabs-next/TabsNext.js.map +1 -1
  642. package/dist-es/tabs-next/TabsNextContext.js.map +1 -1
  643. package/dist-es/tabs-next/hooks/useCollection.js.map +1 -1
  644. package/dist-es/tabs-next/hooks/useFocusOutside.js.map +1 -1
  645. package/dist-es/tabs-next/hooks/useOverflow.js +1 -1
  646. package/dist-es/tabs-next/hooks/useOverflow.js.map +1 -1
  647. package/dist-es/tabs-next/hooks/useRestoreActiveTab.js +3 -3
  648. package/dist-es/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
  649. package/dist-es/toast-group/ToastGroup.js.map +1 -1
  650. package/dist-es/tokenized-input/TokenizedInput.js.map +1 -1
  651. package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
  652. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  653. package/dist-es/tokenized-input/internal/InputRuler.js.map +1 -1
  654. package/dist-es/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
  655. package/dist-es/tokenized-input/internal/defaultItemToString.js.map +1 -1
  656. package/dist-es/tokenized-input/internal/getCursorPosition.js.map +1 -1
  657. package/dist-es/tokenized-input/internal/isPlainObject.js.map +1 -1
  658. package/dist-es/tokenized-input/internal/useResizeObserver.js.map +1 -1
  659. package/dist-es/tokenized-input/internal/useWidth.js.map +1 -1
  660. package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
  661. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  662. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
  663. package/dist-es/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
  664. package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
  665. package/dist-es/tokenized-input-next/internal/useWidth.js.map +1 -1
  666. package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
  667. package/dist-es/toolbar/Toolbar.js.map +1 -1
  668. package/dist-es/toolbar/ToolbarButton.js.map +1 -1
  669. package/dist-es/toolbar/Tooltray.js.map +1 -1
  670. package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
  671. package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
  672. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  673. package/dist-es/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  674. package/dist-es/toolbar/toolbar-field/ToolbarField.js.map +1 -1
  675. package/dist-es/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  676. package/dist-es/tree/Tree.js.map +1 -1
  677. package/dist-es/tree/TreeNode.js.map +1 -1
  678. package/dist-es/tree/use-tree-keyboard-navigation.js.map +1 -1
  679. package/dist-es/tree/useTree.js.map +1 -1
  680. package/dist-es/utils/escapeRegExp.js.map +1 -1
  681. package/dist-es/utils/forwardCallbackProps.js.map +1 -1
  682. package/dist-es/utils/isEmail.js.map +1 -1
  683. package/dist-es/utils/isPlainObject.js.map +1 -1
  684. package/dist-es/utils/partition.js.map +1 -1
  685. package/dist-es/utils/useClickOutside.js.map +1 -1
  686. package/dist-es/utils/useEventCallback.js.map +1 -1
  687. package/dist-es/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  688. package/dist-es/utils/useLayoutEffectOnce.js.map +1 -1
  689. package/dist-es/utils/useLayoutEffectSkipFirst.js.map +1 -1
  690. package/dist-es/utils/useOverflowDetection.js.map +1 -1
  691. package/dist-es/utils/useSlideSelection.js.map +1 -1
  692. package/dist-es/window/ElectronWindow.js.map +1 -1
  693. package/dist-es/window/WindowContext.js.map +1 -1
  694. package/dist-es/window/desktop-utils.js.map +1 -1
  695. package/dist-types/calendar/useCalendar.d.ts +26 -25
  696. package/dist-types/calendar/useCalendarDay.d.ts +1 -5
  697. package/dist-types/calendar/useCalendarSelection.d.ts +14 -11
  698. package/dist-types/date-picker/DatePickerContext.d.ts +0 -6
  699. package/dist-types/date-picker/DatePickerRangeGridPanel.d.ts +2 -2
  700. package/dist-types/date-picker/DatePickerRangePanel.d.ts +4 -4
  701. package/dist-types/date-picker/DatePickerSingleGridPanel.d.ts +2 -2
  702. package/dist-types/date-picker/useDatePicker.d.ts +0 -6
  703. package/dist-types/index.d.ts +0 -2
  704. package/dist-types/table/TD.d.ts +6 -0
  705. package/dist-types/table/TH.d.ts +6 -0
  706. package/dist-types/table/Table.d.ts +3 -3
  707. package/dist-types/tabs-next/TabNextTrigger.d.ts +1 -1
  708. package/package.json +2 -2
  709. package/dist-cjs/collapsible/Collapsible.js +0 -47
  710. package/dist-cjs/collapsible/Collapsible.js.map +0 -1
  711. package/dist-cjs/collapsible/CollapsibleContext.js +0 -23
  712. package/dist-cjs/collapsible/CollapsibleContext.js.map +0 -1
  713. package/dist-cjs/collapsible/CollapsiblePanel.css.js +0 -6
  714. package/dist-cjs/collapsible/CollapsiblePanel.css.js.map +0 -1
  715. package/dist-cjs/collapsible/CollapsiblePanel.js +0 -42
  716. package/dist-cjs/collapsible/CollapsiblePanel.js.map +0 -1
  717. package/dist-cjs/collapsible/CollapsibleTrigger.js +0 -35
  718. package/dist-cjs/collapsible/CollapsibleTrigger.js.map +0 -1
  719. package/dist-cjs/vertical-navigation/SubMenuContext.js +0 -34
  720. package/dist-cjs/vertical-navigation/SubMenuContext.js.map +0 -1
  721. package/dist-cjs/vertical-navigation/VerticalNavigation.css.js +0 -6
  722. package/dist-cjs/vertical-navigation/VerticalNavigation.css.js.map +0 -1
  723. package/dist-cjs/vertical-navigation/VerticalNavigation.js +0 -34
  724. package/dist-cjs/vertical-navigation/VerticalNavigation.js.map +0 -1
  725. package/dist-cjs/vertical-navigation/VerticalNavigationItem.js +0 -48
  726. package/dist-cjs/vertical-navigation/VerticalNavigationItem.js.map +0 -1
  727. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js +0 -6
  728. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js.map +0 -1
  729. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js +0 -83
  730. package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js.map +0 -1
  731. package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js +0 -29
  732. package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +0 -1
  733. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js +0 -6
  734. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js.map +0 -1
  735. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js +0 -24
  736. package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js.map +0 -1
  737. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js +0 -6
  738. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +0 -1
  739. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js +0 -69
  740. package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js.map +0 -1
  741. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js +0 -6
  742. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js.map +0 -1
  743. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js +0 -35
  744. package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js.map +0 -1
  745. package/dist-es/collapsible/Collapsible.js +0 -45
  746. package/dist-es/collapsible/Collapsible.js.map +0 -1
  747. package/dist-es/collapsible/CollapsibleContext.js +0 -20
  748. package/dist-es/collapsible/CollapsibleContext.js.map +0 -1
  749. package/dist-es/collapsible/CollapsiblePanel.css.js +0 -4
  750. package/dist-es/collapsible/CollapsiblePanel.css.js.map +0 -1
  751. package/dist-es/collapsible/CollapsiblePanel.js +0 -40
  752. package/dist-es/collapsible/CollapsiblePanel.js.map +0 -1
  753. package/dist-es/collapsible/CollapsibleTrigger.js +0 -33
  754. package/dist-es/collapsible/CollapsibleTrigger.js.map +0 -1
  755. package/dist-es/vertical-navigation/SubMenuContext.js +0 -30
  756. package/dist-es/vertical-navigation/SubMenuContext.js.map +0 -1
  757. package/dist-es/vertical-navigation/VerticalNavigation.css.js +0 -4
  758. package/dist-es/vertical-navigation/VerticalNavigation.css.js.map +0 -1
  759. package/dist-es/vertical-navigation/VerticalNavigation.js +0 -32
  760. package/dist-es/vertical-navigation/VerticalNavigation.js.map +0 -1
  761. package/dist-es/vertical-navigation/VerticalNavigationItem.js +0 -45
  762. package/dist-es/vertical-navigation/VerticalNavigationItem.js.map +0 -1
  763. package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js +0 -4
  764. package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js.map +0 -1
  765. package/dist-es/vertical-navigation/VerticalNavigationItemContent.js +0 -81
  766. package/dist-es/vertical-navigation/VerticalNavigationItemContent.js.map +0 -1
  767. package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js +0 -27
  768. package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +0 -1
  769. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js +0 -4
  770. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js.map +0 -1
  771. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js +0 -22
  772. package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js.map +0 -1
  773. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js +0 -4
  774. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +0 -1
  775. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js +0 -67
  776. package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js.map +0 -1
  777. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js +0 -4
  778. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js.map +0 -1
  779. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js +0 -33
  780. package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js.map +0 -1
  781. package/dist-types/collapsible/Collapsible.d.ts +0 -16
  782. package/dist-types/collapsible/CollapsibleContext.d.ts +0 -9
  783. package/dist-types/collapsible/CollapsiblePanel.d.ts +0 -4
  784. package/dist-types/collapsible/CollapsibleTrigger.d.ts +0 -5
  785. package/dist-types/collapsible/index.d.ts +0 -3
  786. package/dist-types/vertical-navigation/SubMenuContext.d.ts +0 -14
  787. package/dist-types/vertical-navigation/VerticalNavigation.d.ts +0 -5
  788. package/dist-types/vertical-navigation/VerticalNavigationItem.d.ts +0 -12
  789. package/dist-types/vertical-navigation/VerticalNavigationItemContent.d.ts +0 -4
  790. package/dist-types/vertical-navigation/VerticalNavigationItemExpansionIcon.d.ts +0 -2
  791. package/dist-types/vertical-navigation/VerticalNavigationItemLabel.d.ts +0 -4
  792. package/dist-types/vertical-navigation/VerticalNavigationItemTrigger.d.ts +0 -6
  793. package/dist-types/vertical-navigation/VerticalNavigationSubMenu.d.ts +0 -4
  794. package/dist-types/vertical-navigation/index.d.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ColorChooser.js","sources":["../src/color-chooser/ColorChooser.tsx"],"sourcesContent":["import {\n Button,\n type ButtonProps,\n makePrefixer,\n Overlay,\n OverlayPanel,\n OverlayPanelCloseButton,\n OverlayPanelContent,\n OverlayTrigger,\n} from \"@salt-ds/core\";\nimport { RefreshIcon } from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ChangeEvent, useState } from \"react\";\nimport type { Color } from \"./Color\";\nimport colorChooserCss from \"./ColorChooser.css\";\nimport {\n convertColorMapValueToHex,\n getColorNameByHexValue,\n getHexValue,\n hexValueWithoutAlpha,\n} from \"./ColorHelpers\";\nimport { isTransparent } from \"./color-utils\";\nimport { saltColorMap } from \"./colorMap\";\nimport { createTabsMapping } from \"./createTabsMapping\";\nimport { type ColorChooserTabs, DictTabs } from \"./DictTabs\";\nimport { getColorPalettes } from \"./GetColorPalettes\";\n\nconst withBaseName = makePrefixer(\"saltColorChooser\");\n\nfunction getActiveTab(\n hexValue: string | undefined,\n tabs: ColorChooserTabs,\n saltColorOverrides: Record<string, string> | undefined,\n): number {\n if (tabs.Swatches && tabs[\"Color Picker\"]) {\n const hexNoAlpha: string | undefined = hexValueWithoutAlpha(hexValue);\n const colors = saltColorOverrides ?? saltColorMap;\n // if hexNoAlpha is a Salt color or null/undefined then set the active tab as Swatches\n if (\n hexNoAlpha &&\n !Object.keys(colors).find(\n (key: string) =>\n convertColorMapValueToHex(colors[key])?.toLowerCase() ===\n hexNoAlpha?.toLowerCase(),\n )\n ) {\n return 1;\n }\n }\n return 0;\n}\n\nexport interface ColorChooserProps {\n color: Color | undefined;\n defaultAlpha?: number;\n disableAlphaChooser?: boolean;\n displayHexOnly?: boolean;\n hideLabel?: boolean;\n onClear: () => void; // called when user clicks \"default\" button\n onSelect: (\n color: Color | undefined,\n finalSelection: boolean,\n event?: ChangeEvent,\n ) => void;\n placeholder?: string;\n buttonProps?: Partial<ButtonProps>;\n saltColorOverrides?: Record<string, string>;\n showSwatches?: boolean;\n showColorPicker?: boolean;\n readOnly?: boolean;\n}\n\nexport const ColorChooser = ({\n onClear,\n onSelect,\n color,\n showSwatches = true,\n showColorPicker = true,\n defaultAlpha = 1,\n disableAlphaChooser = false,\n hideLabel = false,\n placeholder,\n buttonProps,\n saltColorOverrides,\n readOnly = false,\n displayHexOnly = false,\n}: ColorChooserProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-color-chooser\",\n css: colorChooserCss,\n window: targetWindow,\n });\n\n const [open, setOpen] = useState(false);\n\n const allColors: string[][] = saltColorOverrides\n ? getColorPalettes(saltColorOverrides)\n : getColorPalettes();\n const displayColorName = displayHexOnly\n ? getHexValue(color?.hex, disableAlphaChooser)\n : getColorNameByHexValue(\n color?.hex,\n disableAlphaChooser,\n saltColorOverrides,\n );\n\n const handleOpenChange = (open: boolean) => setOpen(open);\n\n const alphaForTabs = isTransparent(color?.hex)\n ? defaultAlpha\n : (color?.rgba?.a ?? defaultAlpha);\n\n const tabsMapping = createTabsMapping({\n swatches: showSwatches,\n colorPicker: showColorPicker,\n disableAlphaChooser,\n allColors,\n color,\n alpha: alphaForTabs,\n handleColorChange: onSelect,\n displayColorName,\n placeholder,\n onDialogClosed: () => {\n setOpen(false);\n },\n });\n\n const [activeTab, setActiveTab] = useState<number>(\n getActiveTab(color?.hex, tabsMapping, saltColorOverrides),\n );\n const onDefaultSelected = (): void => {\n if (activeTab === 0 && showSwatches) {\n onClear();\n handleOpenChange(false);\n } else {\n onClear();\n }\n };\n\n const onTabClick = (index: number): void => {\n setActiveTab(index);\n };\n\n const overlayContent = (\n <div\n className={clsx(withBaseName(\"overlayContent\"))}\n data-testid=\"overlay-content\"\n >\n <Button\n data-testid=\"default-button\"\n variant=\"secondary\"\n className={clsx(withBaseName(\"defaultButton\"))}\n onClick={onDefaultSelected}\n >\n <RefreshIcon className={clsx(withBaseName(\"refreshIcon\"))} />\n Default\n </Button>\n <DictTabs\n tabs={tabsMapping}\n hexValue={color?.hex}\n onTabClick={onTabClick}\n activeTab={activeTab}\n />\n </div>\n );\n\n return (\n <Overlay placement=\"bottom\" data-testid=\"color-chooser-overlay\">\n <OverlayTrigger>\n <Button\n className={clsx(withBaseName(\"overlayButton\"), {\n [withBaseName(\"overlayButtonHiddenLabel\")]: hideLabel,\n })}\n data-testid=\"color-chooser-overlay-button\"\n disabled={readOnly}\n {...buttonProps}\n >\n {color && (\n <div\n className={clsx(withBaseName(\"overlayButtonSwatch\"), {\n [withBaseName(\"overlayButtonSwatchWithBorder\")]:\n color?.hex.startsWith(\"#ffffff\"),\n [withBaseName(\"overlayButtonSwatchTransparent\")]: isTransparent(\n color?.hex,\n ),\n })}\n style={{\n backgroundColor: color?.hex,\n }}\n />\n )}\n {!hideLabel && (\n <div className={withBaseName(\"overlayButtonText\")}>\n {displayColorName ?? placeholder ?? \"No color selected\"}\n </div>\n )}\n </Button>\n </OverlayTrigger>\n <OverlayPanel>\n <OverlayPanelCloseButton />\n <OverlayPanelContent>{overlayContent}</OverlayPanelContent>\n </OverlayPanel>\n </Overlay>\n );\n};\n"],"names":["makePrefixer","hexValueWithoutAlpha","saltColorMap","convertColorMapValueToHex","useWindow","useComponentCssInjection","colorChooserCss","useState","getColorPalettes","getHexValue","getColorNameByHexValue","open","isTransparent","createTabsMapping","jsxs","clsx","Button","jsx","RefreshIcon","DictTabs","Overlay","OverlayTrigger","OverlayPanel","OverlayPanelCloseButton","OverlayPanelContent"],"mappings":"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"}
1
+ {"version":3,"file":"ColorChooser.js","sources":["../src/color-chooser/ColorChooser.tsx"],"sourcesContent":["import {\n Button,\n type ButtonProps,\n makePrefixer,\n Overlay,\n OverlayPanel,\n OverlayPanelCloseButton,\n OverlayPanelContent,\n OverlayTrigger,\n} from \"@salt-ds/core\";\nimport { RefreshIcon } from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ChangeEvent, useState } from \"react\";\nimport type { Color } from \"./Color\";\nimport colorChooserCss from \"./ColorChooser.css\";\nimport {\n convertColorMapValueToHex,\n getColorNameByHexValue,\n getHexValue,\n hexValueWithoutAlpha,\n} from \"./ColorHelpers\";\nimport { isTransparent } from \"./color-utils\";\nimport { saltColorMap } from \"./colorMap\";\nimport { createTabsMapping } from \"./createTabsMapping\";\nimport { type ColorChooserTabs, DictTabs } from \"./DictTabs\";\nimport { getColorPalettes } from \"./GetColorPalettes\";\n\nconst withBaseName = makePrefixer(\"saltColorChooser\");\n\nfunction getActiveTab(\n hexValue: string | undefined,\n tabs: ColorChooserTabs,\n saltColorOverrides: Record<string, string> | undefined,\n): number {\n if (tabs.Swatches && tabs[\"Color Picker\"]) {\n const hexNoAlpha: string | undefined = hexValueWithoutAlpha(hexValue);\n const colors = saltColorOverrides ?? saltColorMap;\n // if hexNoAlpha is a Salt color or null/undefined then set the active tab as Swatches\n if (\n hexNoAlpha &&\n !Object.keys(colors).find(\n (key: string) =>\n convertColorMapValueToHex(colors[key])?.toLowerCase() ===\n hexNoAlpha?.toLowerCase(),\n )\n ) {\n return 1;\n }\n }\n return 0;\n}\n\nexport interface ColorChooserProps {\n color: Color | undefined;\n defaultAlpha?: number;\n disableAlphaChooser?: boolean;\n displayHexOnly?: boolean;\n hideLabel?: boolean;\n onClear: () => void; // called when user clicks \"default\" button\n onSelect: (\n color: Color | undefined,\n finalSelection: boolean,\n event?: ChangeEvent,\n ) => void;\n placeholder?: string;\n buttonProps?: Partial<ButtonProps>;\n saltColorOverrides?: Record<string, string>;\n showSwatches?: boolean;\n showColorPicker?: boolean;\n readOnly?: boolean;\n}\n\nexport const ColorChooser = ({\n onClear,\n onSelect,\n color,\n showSwatches = true,\n showColorPicker = true,\n defaultAlpha = 1,\n disableAlphaChooser = false,\n hideLabel = false,\n placeholder,\n buttonProps,\n saltColorOverrides,\n readOnly = false,\n displayHexOnly = false,\n}: ColorChooserProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-color-chooser\",\n css: colorChooserCss,\n window: targetWindow,\n });\n\n const [open, setOpen] = useState(false);\n\n const allColors: string[][] = saltColorOverrides\n ? getColorPalettes(saltColorOverrides)\n : getColorPalettes();\n const displayColorName = displayHexOnly\n ? getHexValue(color?.hex, disableAlphaChooser)\n : getColorNameByHexValue(\n color?.hex,\n disableAlphaChooser,\n saltColorOverrides,\n );\n\n const handleOpenChange = (open: boolean) => setOpen(open);\n\n const alphaForTabs = isTransparent(color?.hex)\n ? defaultAlpha\n : (color?.rgba?.a ?? defaultAlpha);\n\n const tabsMapping = createTabsMapping({\n swatches: showSwatches,\n colorPicker: showColorPicker,\n disableAlphaChooser,\n allColors,\n color,\n alpha: alphaForTabs,\n handleColorChange: onSelect,\n displayColorName,\n placeholder,\n onDialogClosed: () => {\n setOpen(false);\n },\n });\n\n const [activeTab, setActiveTab] = useState<number>(\n getActiveTab(color?.hex, tabsMapping, saltColorOverrides),\n );\n const onDefaultSelected = (): void => {\n if (activeTab === 0 && showSwatches) {\n onClear();\n handleOpenChange(false);\n } else {\n onClear();\n }\n };\n\n const onTabClick = (index: number): void => {\n setActiveTab(index);\n };\n\n const overlayContent = (\n <div\n className={clsx(withBaseName(\"overlayContent\"))}\n data-testid=\"overlay-content\"\n >\n <Button\n data-testid=\"default-button\"\n variant=\"secondary\"\n className={clsx(withBaseName(\"defaultButton\"))}\n onClick={onDefaultSelected}\n >\n <RefreshIcon className={clsx(withBaseName(\"refreshIcon\"))} />\n Default\n </Button>\n <DictTabs\n tabs={tabsMapping}\n hexValue={color?.hex}\n onTabClick={onTabClick}\n activeTab={activeTab}\n />\n </div>\n );\n\n return (\n <Overlay placement=\"bottom\" data-testid=\"color-chooser-overlay\">\n <OverlayTrigger>\n <Button\n className={clsx(withBaseName(\"overlayButton\"), {\n [withBaseName(\"overlayButtonHiddenLabel\")]: hideLabel,\n })}\n data-testid=\"color-chooser-overlay-button\"\n disabled={readOnly}\n {...buttonProps}\n >\n {color && (\n <div\n className={clsx(withBaseName(\"overlayButtonSwatch\"), {\n [withBaseName(\"overlayButtonSwatchWithBorder\")]:\n color?.hex.startsWith(\"#ffffff\"),\n [withBaseName(\"overlayButtonSwatchTransparent\")]: isTransparent(\n color?.hex,\n ),\n })}\n style={{\n backgroundColor: color?.hex,\n }}\n />\n )}\n {!hideLabel && (\n <div className={withBaseName(\"overlayButtonText\")}>\n {displayColorName ?? placeholder ?? \"No color selected\"}\n </div>\n )}\n </Button>\n </OverlayTrigger>\n <OverlayPanel>\n <OverlayPanelCloseButton />\n <OverlayPanelContent>{overlayContent}</OverlayPanelContent>\n </OverlayPanel>\n </Overlay>\n );\n};\n"],"names":["makePrefixer","hexValueWithoutAlpha","saltColorMap","convertColorMapValueToHex","useWindow","useComponentCssInjection","colorChooserCss","useState","getColorPalettes","getHexValue","getColorNameByHexValue","open","isTransparent","createTabsMapping","jsxs","clsx","Button","jsx","RefreshIcon","DictTabs","Overlay","OverlayTrigger","OverlayPanel","OverlayPanelCloseButton","OverlayPanelContent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorHelpers.js","sources":["../src/color-chooser/ColorHelpers.ts"],"sourcesContent":["import { Color } from \"./Color\";\nimport { isTransparent } from \"./color-utils\";\nimport { saltColorMap } from \"./colorMap\";\n\nexport function getColorNameByHexValue(\n hexValue: string | undefined,\n disableAlpha = false,\n saltColorOverrides?: Record<string, string>,\n /** When disabled, color names not recognized will be undefined instead of hex values */\n disableFallBackToHex = false,\n): string | undefined {\n const hexNoAlpha = hexValueWithoutAlpha(hexValue);\n const saltColors = saltColorOverrides ?? saltColorMap;\n\n // Special case\n if (isTransparent(hexValue)) return \"Transparent\";\n\n let colorName = Object.keys(saltColors).find((key: string) => {\n if (saltColors[key]) {\n const rgbVals = saltColors[key].startsWith(\"rgba\")\n ? saltColors[key].substring(5, saltColors[key].length - 1)\n : saltColors[key].substring(4, saltColors[key].length - 1);\n const [r, g, b] = [...rgbVals.replace(\" \", \"\").split(\",\")];\n return (\n Color.makeColorFromRGB(Number(r), Number(g), Number(b)).hex ===\n hexNoAlpha?.toLowerCase()\n );\n }\n return 0;\n });\n\n if (colorName) {\n colorName = colorName.slice(4);\n return colorName.charAt(0).toUpperCase() + colorName.slice(1).toLowerCase();\n }\n\n if (hexValue === \"WHITE\" || hexValue === \"BLACK\") {\n return hexValue.charAt(0) + hexValue.slice(1).toLowerCase();\n }\n\n return disableFallBackToHex ? undefined : getHexValue(hexValue, disableAlpha);\n}\n\nexport function hexValueWithoutAlpha(\n hexValue: string | undefined,\n): string | undefined {\n if (hexValue === undefined) return undefined;\n return isValidHex(hexValue)\n ? hexValue.substring(0, 7).toUpperCase()\n : undefined;\n}\n\nexport function getHexValue(\n hexValue: string | undefined,\n disableAlpha: boolean,\n): string | undefined {\n if (hexValue === undefined) return undefined;\n return disableAlpha ? hexValueWithoutAlpha(hexValue) : hexValue;\n}\n\nexport const isValidHex = (hex: string | undefined): boolean => {\n return hex\n ? /^#[0-9a-fA-F]{8}$/.test(hex) || /#[0-9a-fA-F]{6}$/.test(hex)\n : false;\n};\n\nexport const convertColorMapValueToHex = (color: string): string => {\n if (!color.startsWith(\"rgb\")) return color;\n const rgbVals = color.startsWith(\"rgba\")\n ? color.substring(5, color.length - 1)\n : color.substring(4, color.length - 1);\n const [r, g, b, a] = [...rgbVals.replace(\" \", \"\").split(\",\")];\n return Color.makeColorFromRGB(\n Number(r),\n Number(g),\n Number(b),\n a ? Number(a) : 1,\n ).hex;\n};\n"],"names":["saltColorMap","isTransparent","Color"],"mappings":"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"}
1
+ {"version":3,"file":"ColorHelpers.js","sources":["../src/color-chooser/ColorHelpers.ts"],"sourcesContent":["import { Color } from \"./Color\";\nimport { isTransparent } from \"./color-utils\";\nimport { saltColorMap } from \"./colorMap\";\n\nexport function getColorNameByHexValue(\n hexValue: string | undefined,\n disableAlpha = false,\n saltColorOverrides?: Record<string, string>,\n /** When disabled, color names not recognized will be undefined instead of hex values */\n disableFallBackToHex = false,\n): string | undefined {\n const hexNoAlpha = hexValueWithoutAlpha(hexValue);\n const saltColors = saltColorOverrides ?? saltColorMap;\n\n // Special case\n if (isTransparent(hexValue)) return \"Transparent\";\n\n let colorName = Object.keys(saltColors).find((key: string) => {\n if (saltColors[key]) {\n const rgbVals = saltColors[key].startsWith(\"rgba\")\n ? saltColors[key].substring(5, saltColors[key].length - 1)\n : saltColors[key].substring(4, saltColors[key].length - 1);\n const [r, g, b] = [...rgbVals.replace(\" \", \"\").split(\",\")];\n return (\n Color.makeColorFromRGB(Number(r), Number(g), Number(b)).hex ===\n hexNoAlpha?.toLowerCase()\n );\n }\n return 0;\n });\n\n if (colorName) {\n colorName = colorName.slice(4);\n return colorName.charAt(0).toUpperCase() + colorName.slice(1).toLowerCase();\n }\n\n if (hexValue === \"WHITE\" || hexValue === \"BLACK\") {\n return hexValue.charAt(0) + hexValue.slice(1).toLowerCase();\n }\n\n return disableFallBackToHex ? undefined : getHexValue(hexValue, disableAlpha);\n}\n\nexport function hexValueWithoutAlpha(\n hexValue: string | undefined,\n): string | undefined {\n if (hexValue === undefined) return undefined;\n return isValidHex(hexValue)\n ? hexValue.substring(0, 7).toUpperCase()\n : undefined;\n}\n\nexport function getHexValue(\n hexValue: string | undefined,\n disableAlpha: boolean,\n): string | undefined {\n if (hexValue === undefined) return undefined;\n return disableAlpha ? hexValueWithoutAlpha(hexValue) : hexValue;\n}\n\nexport const isValidHex = (hex: string | undefined): boolean => {\n return hex\n ? /^#[0-9a-fA-F]{8}$/.test(hex) || /#[0-9a-fA-F]{6}$/.test(hex)\n : false;\n};\n\nexport const convertColorMapValueToHex = (color: string): string => {\n if (!color.startsWith(\"rgb\")) return color;\n const rgbVals = color.startsWith(\"rgba\")\n ? color.substring(5, color.length - 1)\n : color.substring(4, color.length - 1);\n const [r, g, b, a] = [...rgbVals.replace(\" \", \"\").split(\",\")];\n return Color.makeColorFromRGB(\n Number(r),\n Number(g),\n Number(b),\n a ? Number(a) : 1,\n ).hex;\n};\n"],"names":["saltColorMap","isTransparent","Color"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sources":["../src/color-chooser/ColorPicker.tsx"],"sourcesContent":["import { Button, makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent } from \"react\";\nimport { type ColorResult, SketchPicker } from \"react-color\";\nimport { Color, type RGBAValue } from \"./Color\";\nimport { hexValueWithoutAlpha } from \"./ColorHelpers\";\nimport colorPickerCss from \"./ColorPicker.css\";\nimport { HexInput } from \"./HexInput\";\nimport { RGBAInput } from \"./RGBAInput\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserPicker\");\n\nexport interface ColorPickerProps {\n disableAlphaChooser: boolean;\n color?: Color;\n alpha?: number;\n onChange: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n}\n\nexport const ColorPicker = ({\n alpha = 1,\n disableAlphaChooser,\n color,\n onChange,\n onDialogClosed,\n}: ColorPickerProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-color-picker\",\n css: colorPickerCss,\n window: targetWindow,\n });\n\n const rgbaValue: RGBAValue =\n color?.rgba ?? Color.makeColorFromRGB(0, 0, 0, alpha).rgba;\n const rgbaText = disableAlphaChooser ? \"RGB\" : \"RGBA\";\n\n const onSubmitHex = (hexValue?: string, e?: ChangeEvent): void => {\n const newColor = Color.makeColorFromHex(hexValue);\n onChange(newColor, false, e);\n };\n\n const onSubmitRgb = (rgba: RGBAValue, e?: ChangeEvent): void => {\n const newColor = Color.makeColorFromRGB(rgba.r, rgba.g, rgba.b, rgba.a);\n onChange(newColor, false, e);\n };\n\n const onSubmitAlpha = (alpha: number, e?: ChangeEvent): void => {\n const newColor = Color.makeColorFromRGB(\n rgbaValue.r,\n rgbaValue.g,\n rgbaValue.b,\n Math.max(0, Math.min(alpha, 1)),\n );\n onChange(newColor, false, e);\n };\n\n const onSketchPickerChange = (\n colorResult: ColorResult,\n e: ChangeEvent,\n ): void => {\n const newColor = Color.makeColorFromRGB(\n colorResult.rgb.r,\n colorResult.rgb.g,\n colorResult.rgb.b,\n colorResult.rgb.a ?? alpha,\n );\n onChange(newColor, false, e);\n };\n\n const onApply = (): void => {\n onChange(color, true);\n onDialogClosed();\n };\n\n return (\n <div data-testid=\"color-picker\" className={clsx(withBaseName())}>\n {/** @ts-ignore react-color has incorrect types **/}\n <SketchPicker\n className={clsx(withBaseName(\"swatchPickerStyles\"), {\n [withBaseName(\"rootDisabledAlpha\")]: disableAlphaChooser,\n [withBaseName(\"root\")]: !disableAlphaChooser,\n })}\n color={rgbaValue}\n onChange={onSketchPickerChange}\n presetColors={[]}\n disableAlpha={disableAlphaChooser}\n />\n <div className={clsx(withBaseName(\"inputContainer\"))}>\n <div className={clsx(withBaseName(\"inputDivs\"))}>\n <span className={clsx(withBaseName(\"textDivOverrides\"))}>HEX</span>\n <HexInput\n hexValue={\n disableAlphaChooser\n ? hexValueWithoutAlpha(color?.hex)\n : color?.hex\n }\n disableAlphaChooser={disableAlphaChooser}\n onSubmit={onSubmitHex}\n />\n <RGBAInput\n disableAlphaChooser={disableAlphaChooser}\n rgbaText={rgbaText}\n rgbaValue={rgbaValue}\n onSubmitAlpha={onSubmitAlpha}\n onSubmitRgb={onSubmitRgb}\n />\n </div>\n <div className={clsx(withBaseName(\"applyButtonDiv\"))}>\n <Button data-testid=\"apply-button\" variant=\"cta\" onClick={onApply}>\n Apply\n </Button>\n </div>\n </div>\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","colorPickerCss","Color","alpha","jsxs","clsx","jsx","SketchPicker","HexInput","hexValueWithoutAlpha","RGBAInput","Button"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.js","sources":["../src/color-chooser/ColorPicker.tsx"],"sourcesContent":["import { Button, makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent } from \"react\";\nimport { type ColorResult, SketchPicker } from \"react-color\";\nimport { Color, type RGBAValue } from \"./Color\";\nimport { hexValueWithoutAlpha } from \"./ColorHelpers\";\nimport colorPickerCss from \"./ColorPicker.css\";\nimport { HexInput } from \"./HexInput\";\nimport { RGBAInput } from \"./RGBAInput\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserPicker\");\n\nexport interface ColorPickerProps {\n disableAlphaChooser: boolean;\n color?: Color;\n alpha?: number;\n onChange: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n}\n\nexport const ColorPicker = ({\n alpha = 1,\n disableAlphaChooser,\n color,\n onChange,\n onDialogClosed,\n}: ColorPickerProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-color-picker\",\n css: colorPickerCss,\n window: targetWindow,\n });\n\n const rgbaValue: RGBAValue =\n color?.rgba ?? Color.makeColorFromRGB(0, 0, 0, alpha).rgba;\n const rgbaText = disableAlphaChooser ? \"RGB\" : \"RGBA\";\n\n const onSubmitHex = (hexValue?: string, e?: ChangeEvent): void => {\n const newColor = Color.makeColorFromHex(hexValue);\n onChange(newColor, false, e);\n };\n\n const onSubmitRgb = (rgba: RGBAValue, e?: ChangeEvent): void => {\n const newColor = Color.makeColorFromRGB(rgba.r, rgba.g, rgba.b, rgba.a);\n onChange(newColor, false, e);\n };\n\n const onSubmitAlpha = (alpha: number, e?: ChangeEvent): void => {\n const newColor = Color.makeColorFromRGB(\n rgbaValue.r,\n rgbaValue.g,\n rgbaValue.b,\n Math.max(0, Math.min(alpha, 1)),\n );\n onChange(newColor, false, e);\n };\n\n const onSketchPickerChange = (\n colorResult: ColorResult,\n e: ChangeEvent,\n ): void => {\n const newColor = Color.makeColorFromRGB(\n colorResult.rgb.r,\n colorResult.rgb.g,\n colorResult.rgb.b,\n colorResult.rgb.a ?? alpha,\n );\n onChange(newColor, false, e);\n };\n\n const onApply = (): void => {\n onChange(color, true);\n onDialogClosed();\n };\n\n return (\n <div data-testid=\"color-picker\" className={clsx(withBaseName())}>\n {/** @ts-ignore react-color has incorrect types **/}\n <SketchPicker\n className={clsx(withBaseName(\"swatchPickerStyles\"), {\n [withBaseName(\"rootDisabledAlpha\")]: disableAlphaChooser,\n [withBaseName(\"root\")]: !disableAlphaChooser,\n })}\n color={rgbaValue}\n onChange={onSketchPickerChange}\n presetColors={[]}\n disableAlpha={disableAlphaChooser}\n />\n <div className={clsx(withBaseName(\"inputContainer\"))}>\n <div className={clsx(withBaseName(\"inputDivs\"))}>\n <span className={clsx(withBaseName(\"textDivOverrides\"))}>HEX</span>\n <HexInput\n hexValue={\n disableAlphaChooser\n ? hexValueWithoutAlpha(color?.hex)\n : color?.hex\n }\n disableAlphaChooser={disableAlphaChooser}\n onSubmit={onSubmitHex}\n />\n <RGBAInput\n disableAlphaChooser={disableAlphaChooser}\n rgbaText={rgbaText}\n rgbaValue={rgbaValue}\n onSubmitAlpha={onSubmitAlpha}\n onSubmitRgb={onSubmitRgb}\n />\n </div>\n <div className={clsx(withBaseName(\"applyButtonDiv\"))}>\n <Button data-testid=\"apply-button\" variant=\"cta\" onClick={onApply}>\n Apply\n </Button>\n </div>\n </div>\n </div>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","colorPickerCss","Color","alpha","jsxs","clsx","jsx","SketchPicker","HexInput","hexValueWithoutAlpha","RGBAInput","Button"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DictTabs.js","sources":["../src/color-chooser/DictTabs.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { Tab, Tabstrip, type TabstripProps } from \"../tabs\";\nimport type { ColorPicker, ColorPickerProps } from \"./ColorPicker\";\nimport type { Swatches, SwatchesTabProps } from \"./Swatches\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserDictTabs\");\n\nexport type ColorChooserTabs = {\n Swatches?: {\n Component: typeof Swatches;\n props: SwatchesTabProps;\n };\n \"Color Picker\"?: {\n Component: typeof ColorPicker;\n props: ColorPickerProps;\n };\n};\n\nexport interface DictTabsProps\n extends Omit<TabstripProps, \"tabs\" | \"renderContent\" | \"classes\"> {\n hexValue: string | undefined;\n tabs: ColorChooserTabs;\n onTabClick: (index: number) => void;\n activeTab: number;\n}\n\nexport const DictTabs = ({\n tabs,\n hexValue,\n onTabClick,\n activeTab,\n ...props\n}: DictTabsProps): JSX.Element => {\n return (\n <div>\n <Tabstrip\n {...props}\n data-testid=\"color-chooser-tabstrip\"\n className={clsx(withBaseName(\"wrapper\"))}\n activeTabIndex={activeTab}\n onActiveChange={(tabIndex: number) => onTabClick(tabIndex)}\n >\n {[...Object.keys(tabs)].map((label, i) => (\n <Tab className={clsx(withBaseName(\"text\"))} label={label} key={i} />\n ))}\n </Tabstrip>\n {[...Object.values(tabs)].map((tab, idx) => {\n if (!tab) {\n return null;\n }\n const TabComponent: typeof Swatches | typeof ColorPicker =\n tab?.Component;\n\n return (\n <div\n aria-hidden={activeTab !== idx}\n hidden={activeTab !== idx}\n key={idx}\n >\n {tab?.props ? (\n // @ts-expect-error\n <TabComponent {...tab?.props} />\n ) : null}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["makePrefixer","jsx","Tabstrip","clsx","Tab"],"mappings":";;;;;;;;;;;AAMA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA;AAqBrD,MAAM,WAAW,CAAC;AAAA,EACvB,IAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAkC,KAAA;AAChC,EAAA,uCACG,KACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,iBAAA;AAAA,MAAA;AAAA,QACE,GAAG,KAAA;AAAA,QACJ,aAAY,EAAA,wBAAA;AAAA,QACZ,SAAW,EAAAC,SAAA,CAAK,YAAa,CAAA,SAAS,CAAC,CAAA;AAAA,QACvC,cAAgB,EAAA,SAAA;AAAA,QAChB,cAAgB,EAAA,CAAC,QAAqB,KAAA,UAAA,CAAW,QAAQ,CAAA;AAAA,QAExD,QAAA,EAAA,CAAC,GAAG,MAAO,CAAA,IAAA,CAAK,IAAI,CAAC,CAAA,CAAE,IAAI,CAAC,KAAA,EAAO,sBACjCF,cAAA,CAAAG,OAAA,EAAA,EAAI,WAAWD,SAAK,CAAA,YAAA,CAAa,MAAM,CAAC,CAAA,EAAG,KAAmB,EAAA,EAAA,CAAG,CACnE;AAAA;AAAA,KACH;AAAA,IACC,CAAC,GAAG,MAAA,CAAO,MAAO,CAAA,IAAI,CAAC,CAAE,CAAA,GAAA,CAAI,CAAC,GAAA,EAAK,GAAQ,KAAA;AAC1C,MAAA,IAAI,CAAC,GAAK,EAAA;AACR,QAAO,OAAA,IAAA;AAAA;AAET,MAAA,MAAM,eACJ,GAAK,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAA,SAAA;AAEP,MACE,uBAAAF,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,eAAa,SAAc,KAAA,GAAA;AAAA,UAC3B,QAAQ,SAAc,KAAA,GAAA;AAAA,UAGrB,QAAK,EAAA,CAAA,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAA,KAAA;AAAA;AAAA,4BAEHA,cAAA,CAAA,YAAA,EAAA,EAAc,GAAG,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,KAAO,EAAA;AAAA,cAC5B;AAAA,SAAA;AAAA,QALC;AAAA,OAMP;AAAA,KAEH;AAAA,GACH,EAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"DictTabs.js","sources":["../src/color-chooser/DictTabs.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { Tab, Tabstrip, type TabstripProps } from \"../tabs\";\nimport type { ColorPicker, ColorPickerProps } from \"./ColorPicker\";\nimport type { Swatches, SwatchesTabProps } from \"./Swatches\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserDictTabs\");\n\nexport type ColorChooserTabs = {\n Swatches?: {\n Component: typeof Swatches;\n props: SwatchesTabProps;\n };\n \"Color Picker\"?: {\n Component: typeof ColorPicker;\n props: ColorPickerProps;\n };\n};\n\nexport interface DictTabsProps\n extends Omit<TabstripProps, \"tabs\" | \"renderContent\" | \"classes\"> {\n hexValue: string | undefined;\n tabs: ColorChooserTabs;\n onTabClick: (index: number) => void;\n activeTab: number;\n}\n\nexport const DictTabs = ({\n tabs,\n hexValue,\n onTabClick,\n activeTab,\n ...props\n}: DictTabsProps): JSX.Element => {\n return (\n <div>\n <Tabstrip\n {...props}\n data-testid=\"color-chooser-tabstrip\"\n className={clsx(withBaseName(\"wrapper\"))}\n activeTabIndex={activeTab}\n onActiveChange={(tabIndex: number) => onTabClick(tabIndex)}\n >\n {[...Object.keys(tabs)].map((label, i) => (\n <Tab className={clsx(withBaseName(\"text\"))} label={label} key={i} />\n ))}\n </Tabstrip>\n {[...Object.values(tabs)].map((tab, idx) => {\n if (!tab) {\n return null;\n }\n const TabComponent: typeof Swatches | typeof ColorPicker =\n tab?.Component;\n\n return (\n <div\n aria-hidden={activeTab !== idx}\n hidden={activeTab !== idx}\n key={idx}\n >\n {tab?.props ? (\n // @ts-expect-error\n <TabComponent {...tab?.props} />\n ) : null}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["makePrefixer","jsx","Tabstrip","clsx","Tab"],"mappings":";;;;;;;;;;;AAMA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA;AAqBrD,MAAM,WAAW,CAAC;AAAA,EACvB,IAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAkC;AAChC,EAAA,uCACG,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,iBAAA;AAAA,MAAA;AAAA,QACE,GAAG,KAAA;AAAA,QACJ,aAAA,EAAY,wBAAA;AAAA,QACZ,SAAA,EAAWC,SAAA,CAAK,YAAA,CAAa,SAAS,CAAC,CAAA;AAAA,QACvC,cAAA,EAAgB,SAAA;AAAA,QAChB,cAAA,EAAgB,CAAC,QAAA,KAAqB,UAAA,CAAW,QAAQ,CAAA;AAAA,QAExD,QAAA,EAAA,CAAC,GAAG,MAAA,CAAO,IAAA,CAAK,IAAI,CAAC,CAAA,CAAE,IAAI,CAAC,KAAA,EAAO,sBAClCF,cAAA,CAACG,OAAA,EAAA,EAAI,WAAWD,SAAA,CAAK,YAAA,CAAa,MAAM,CAAC,CAAA,EAAG,KAAA,EAAA,EAAmB,CAAG,CACnE;AAAA;AAAA,KACH;AAAA,IACC,CAAC,GAAG,MAAA,CAAO,MAAA,CAAO,IAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,GAAA,EAAK,GAAA,KAAQ;AAC1C,MAAA,IAAI,CAAC,GAAA,EAAK;AACR,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,MAAM,eACJ,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,SAAA;AAEP,MAAA,uBACEF,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,eAAa,SAAA,KAAc,GAAA;AAAA,UAC3B,QAAQ,SAAA,KAAc,GAAA;AAAA,UAGrB,QAAA,EAAA,CAAA,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,KAAA;AAAA;AAAA,4BAEJA,cAAA,CAAC,YAAA,EAAA,EAAc,GAAG,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,KAAA,EAAO;AAAA,cAC5B;AAAA,SAAA;AAAA,QALC;AAAA,OAMP;AAAA,IAEJ,CAAC;AAAA,GAAA,EACH,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"GetColorPalettes.js","sources":["../src/color-chooser/GetColorPalettes.ts"],"sourcesContent":["import { saltColorMap } from \"./colorMap\";\n\nexport function makePalette(\n colorScheme: string,\n saltColorOverrides?: Record<string, string>,\n): string[] {\n //Doesn't matter which theme you use here as the color names are the same\n const colorNames = Array.from(\n Object.keys(saltColorOverrides ?? saltColorMap),\n );\n\n const colorArray: string[] = [];\n for (const colorName of colorNames) {\n if (colorName.includes(colorScheme) && !(colorName === colorScheme)) {\n colorArray.push(\n saltColorOverrides\n ? saltColorOverrides[colorName]\n : saltColorMap[colorName],\n );\n }\n }\n return colorArray;\n}\n\nconst bluePalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"blue\", saltColorOverrides);\nconst greenPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"green\", saltColorOverrides);\nconst redPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"red\", saltColorOverrides);\nconst orangePalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"orange\", saltColorOverrides);\nconst tealPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"teal\", saltColorOverrides);\nconst purplePalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"purple\", saltColorOverrides);\nconst grayPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"gray\", saltColorOverrides);\n\nexport function getColorPalettes(\n saltColorOverrides?: Record<string, string>,\n): string[][] {\n return [\n bluePalette(saltColorOverrides).slice(0, 7),\n bluePalette(saltColorOverrides).slice(7, 14),\n greenPalette(saltColorOverrides).slice(0, 7),\n greenPalette(saltColorOverrides).slice(7, 14),\n tealPalette(saltColorOverrides).slice(0, 7),\n tealPalette(saltColorOverrides).slice(7, 14),\n orangePalette(saltColorOverrides).slice(0, 7),\n orangePalette(saltColorOverrides).slice(7, 14),\n redPalette(saltColorOverrides).slice(0, 7),\n redPalette(saltColorOverrides).slice(7, 14),\n purplePalette(saltColorOverrides).slice(0, 7),\n purplePalette(saltColorOverrides).slice(7, 14),\n grayPalette(saltColorOverrides).slice(0, 7),\n grayPalette(saltColorOverrides).slice(7, 14),\n [\n saltColorOverrides\n ? saltColorOverrides.saltwhite\n ? saltColorOverrides.saltwhite\n : \"rgb(255, 255, 255)\"\n : saltColorMap.saltwhite,\n ...grayPalette(saltColorOverrides).slice(14, 18),\n saltColorOverrides\n ? saltColorOverrides.saltblack\n ? saltColorOverrides.saltblack\n : \"rgb(0, 0, 0)\"\n : saltColorMap.saltblack,\n \"rgba(0, 0, 0, 0)\",\n ],\n ];\n}\n"],"names":["saltColorMap"],"mappings":"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"}
1
+ {"version":3,"file":"GetColorPalettes.js","sources":["../src/color-chooser/GetColorPalettes.ts"],"sourcesContent":["import { saltColorMap } from \"./colorMap\";\n\nexport function makePalette(\n colorScheme: string,\n saltColorOverrides?: Record<string, string>,\n): string[] {\n //Doesn't matter which theme you use here as the color names are the same\n const colorNames = Array.from(\n Object.keys(saltColorOverrides ?? saltColorMap),\n );\n\n const colorArray: string[] = [];\n for (const colorName of colorNames) {\n if (colorName.includes(colorScheme) && !(colorName === colorScheme)) {\n colorArray.push(\n saltColorOverrides\n ? saltColorOverrides[colorName]\n : saltColorMap[colorName],\n );\n }\n }\n return colorArray;\n}\n\nconst bluePalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"blue\", saltColorOverrides);\nconst greenPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"green\", saltColorOverrides);\nconst redPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"red\", saltColorOverrides);\nconst orangePalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"orange\", saltColorOverrides);\nconst tealPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"teal\", saltColorOverrides);\nconst purplePalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"purple\", saltColorOverrides);\nconst grayPalette = (saltColorOverrides?: Record<string, string>) =>\n makePalette(\"gray\", saltColorOverrides);\n\nexport function getColorPalettes(\n saltColorOverrides?: Record<string, string>,\n): string[][] {\n return [\n bluePalette(saltColorOverrides).slice(0, 7),\n bluePalette(saltColorOverrides).slice(7, 14),\n greenPalette(saltColorOverrides).slice(0, 7),\n greenPalette(saltColorOverrides).slice(7, 14),\n tealPalette(saltColorOverrides).slice(0, 7),\n tealPalette(saltColorOverrides).slice(7, 14),\n orangePalette(saltColorOverrides).slice(0, 7),\n orangePalette(saltColorOverrides).slice(7, 14),\n redPalette(saltColorOverrides).slice(0, 7),\n redPalette(saltColorOverrides).slice(7, 14),\n purplePalette(saltColorOverrides).slice(0, 7),\n purplePalette(saltColorOverrides).slice(7, 14),\n grayPalette(saltColorOverrides).slice(0, 7),\n grayPalette(saltColorOverrides).slice(7, 14),\n [\n saltColorOverrides\n ? saltColorOverrides.saltwhite\n ? saltColorOverrides.saltwhite\n : \"rgb(255, 255, 255)\"\n : saltColorMap.saltwhite,\n ...grayPalette(saltColorOverrides).slice(14, 18),\n saltColorOverrides\n ? saltColorOverrides.saltblack\n ? saltColorOverrides.saltblack\n : \"rgb(0, 0, 0)\"\n : saltColorMap.saltblack,\n \"rgba(0, 0, 0, 0)\",\n ],\n ];\n}\n"],"names":["saltColorMap"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HexInput.js","sources":["../src/color-chooser/HexInput.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\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 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","clsx","jsx","Input"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA;AAQrD,MAAM,WAAW,CAAC;AAAA,EACvB,QAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF,CAAkC,KAAA;AAChC,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,CAAC,aAAe,EAAA,gBAAgB,CAAI,GAAAC,cAAA;AAAA,IACxC;AAAA,GACF;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,gBAAA,CAAiB,QAAQ,CAAA;AAAA,GAC3B,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAM,MAAA,oBAAA,GAAuB,CAC3B,KAAA,EACA,KACS,KAAA;AACT,IAAI,IAAA,mBAAA,IAAuB,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAC3C,MAAiB,gBAAA,CAAA,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,CAAA;AAAA;AAE9B,IAAA,IAAI,CAAC,mBAAqB,EAAA;AACxB,MAAiB,gBAAA,CAAA,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,CAAA;AAAA;AAC9B,GACF;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;AAAA;AACrD,GACF;AAEA,EAAM,MAAA,eAAA,GAAkB,CAAC,CAA0C,KAAA;AACjE,IAAAA,uBAAA,CAAW,aAAa,CAAA,IAAK,QAAS,CAAA,aAAA,EAAe,CAAC,CAAA;AAAA,GACxD;AAEA,EAAA,uCACG,KAAI,EAAA,EAAA,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAc,CACjC,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAK,SAAW,EAAAD,SAAA,CAAK,aAAa,UAAU,CAAC,GAAG,QAAC,EAAA,GAAA,EAAA,CAAA;AAAA,oBAClDC,cAAA;AAAA,MAACC,uBAAA;AAAA,MAAA;AAAA,QACC,aAAY,EAAA,WAAA;AAAA,QACZ,SAAW,EAAAF,SAAA,CAAK,YAAa,CAAA,OAAO,CAAC,CAAA;AAAA,QACrC,QAAO,aAAe,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAA,QAAA,EAAA,CAAW,OAAQ,CAAA,GAAA,EAAK,IAAI,WAAiB,EAAA,KAAA,EAAA;AAAA,QACnE,QAAU,EAAA,oBAAA;AAAA,QACV,SAAW,EAAA,gBAAA;AAAA,QACX,MAAQ,EAAA;AAAA;AAAA;AACV,GACF,EAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"HexInput.js","sources":["../src/color-chooser/HexInput.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\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 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","clsx","jsx","Input"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA;AAQrD,MAAM,WAAW,CAAC;AAAA,EACvB,QAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF,CAAA,KAAkC;AAChC,EAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,EAAAC,+BAAA,CAAyB;AAAA,IACvB,MAAA,EAAQ,gBAAA;AAAA,IACR,GAAA,EAAKC,UAAA;AAAA,IACL,MAAA,EAAQ;AAAA,GACT,CAAA;AAED,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIC,cAAA;AAAA,IACxC;AAAA,GACF;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,gBAAA,CAAiB,QAAQ,CAAA;AAAA,EAC3B,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,MAAM,oBAAA,GAAuB,CAC3B,KAAA,EACA,KAAA,KACS;AACT,IAAA,IAAI,mBAAA,IAAuB,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG;AAC3C,MAAA,gBAAA,CAAiB,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAA;AAAA,IAC9B;AACA,IAAA,IAAI,CAAC,mBAAA,EAAqB;AACxB,MAAA,gBAAA,CAAiB,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,CAAC,CAAA,KAA6C;AACrE,IAAA,IAAI,CAAA,CAAE,QAAQ,OAAA,EAAS;AACrB,MAAAC,uBAAA,CAAW,aAAa,CAAA,IAAK,QAAA,CAAS,aAAa,CAAA;AAAA,IACrD;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,CAAC,CAAA,KAA0C;AACjE,IAAAA,uBAAA,CAAW,aAAa,CAAA,IAAK,QAAA,CAAS,aAAA,EAAe,CAAC,CAAA;AAAA,EACxD,CAAA;AAEA,EAAA,uCACG,KAAA,EAAA,EAAI,SAAA,EAAWC,SAAA,CAAK,YAAA,EAAc,CAAA,EACjC,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAK,SAAA,EAAWD,SAAA,CAAK,aAAa,UAAU,CAAC,GAAG,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,oBAClDC,cAAA;AAAA,MAACC,uBAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAY,WAAA;AAAA,QACZ,SAAA,EAAWF,SAAA,CAAK,YAAA,CAAa,OAAO,CAAC,CAAA;AAAA,QACrC,QAAO,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,QAAA,EAAA,CAAW,OAAA,CAAQ,GAAA,EAAK,IAAI,WAAA,EAAA,KAAiB,EAAA;AAAA,QACnE,QAAA,EAAU,oBAAA;AAAA,QACV,SAAA,EAAW,gBAAA;AAAA,QACX,MAAA,EAAQ;AAAA;AAAA;AACV,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RGBAInput.js","sources":["../src/color-chooser/RGBAInput.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent } from \"react\";\nimport { AlphaInput } from \"./AlphaInputField\";\nimport type { RGBAValue } from \"./Color\";\nimport rgbaInputCss from \"./RGBAInput.css\";\nimport { RGBInput } from \"./RGBAInputField\";\n\nconst withBaseName = makePrefixer(\"saltColorChooser\");\n\ninterface RGBAInputProps {\n disableAlphaChooser: boolean;\n rgbaText: string;\n rgbaValue: RGBAValue;\n onSubmitRgb: (\n rgbaValue: RGBAValue,\n e?: ChangeEvent<Element> | undefined,\n ) => void;\n onSubmitAlpha: (alpha: number, e?: ChangeEvent<Element> | undefined) => void;\n}\n\nexport const RGBAInput = ({\n disableAlphaChooser,\n rgbaText,\n rgbaValue,\n onSubmitAlpha,\n onSubmitRgb,\n}: RGBAInputProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-rgba-input\",\n css: rgbaInputCss,\n window: targetWindow,\n });\n\n return (\n <>\n <span className={clsx(withBaseName(\"textDivOverrides\"))}>{rgbaText}</span>\n {[\"r\", \"g\", \"b\"].map((value) => (\n <div className={withBaseName(\"rgbaInputDiv\")} key={value}>\n <span className={withBaseName(\"rgbaText\")}>\n {value.toUpperCase()}\n </span>\n <RGBInput\n rgbaValue={rgbaValue}\n value={value as \"r\" | \"g\" | \"b\"}\n onSubmit={onSubmitRgb}\n />\n </div>\n ))}\n {!disableAlphaChooser ? (\n <div className={clsx(withBaseName(\"rgbaInputDiv\"))}>\n <span className={clsx(withBaseName(\"rgbaText\"))}>A</span>\n <AlphaInput\n alphaValue={Number.parseFloat(rgbaValue.a.toFixed(2))}\n onSubmit={onSubmitAlpha}\n />\n </div>\n ) : (\n <div className={clsx(withBaseName(\"alphaSpacerDiv\"))} />\n )}\n </>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","rgbaInputCss","jsxs","Fragment","jsx","clsx","RGBInput","AlphaInput"],"mappings":";;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA;AAa7C,MAAM,YAAY,CAAC;AAAA,EACxB,mBAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAmC,KAAA;AACjC,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAK,EAAAC,WAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,uBAEIC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAK,SAAW,EAAAC,SAAA,CAAK,aAAa,kBAAkB,CAAC,GAAI,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,IAClE,CAAC,GAAA,EAAK,GAAK,EAAA,GAAG,CAAE,CAAA,GAAA,CAAI,CAAC,KAAA,qBACnBH,eAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,YAAA,CAAa,cAAc,CACzC,EAAA,QAAA,EAAA;AAAA,sBAAAE,cAAA,CAAC,UAAK,SAAW,EAAA,YAAA,CAAa,UAAU,CACrC,EAAA,QAAA,EAAA,KAAA,CAAM,aACT,EAAA,CAAA;AAAA,sBACAA,cAAA;AAAA,QAACE,uBAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAU,EAAA;AAAA;AAAA;AACZ,KAAA,EAAA,EARiD,KASnD,CACD,CAAA;AAAA,IACA,CAAC,sCACCJ,eAAA,CAAA,KAAA,EAAA,EAAI,WAAWG,SAAK,CAAA,YAAA,CAAa,cAAc,CAAC,CAC/C,EAAA,QAAA,EAAA;AAAA,sBAAAD,cAAA,CAAC,UAAK,SAAW,EAAAC,SAAA,CAAK,aAAa,UAAU,CAAC,GAAG,QAAC,EAAA,GAAA,EAAA,CAAA;AAAA,sBAClDD,cAAA;AAAA,QAACG,0BAAA;AAAA,QAAA;AAAA,UACC,YAAY,MAAO,CAAA,UAAA,CAAW,UAAU,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,CAAA;AAAA,UACpD,QAAU,EAAA;AAAA;AAAA;AACZ,KACF,EAAA,CAAA,kCAEC,KAAI,EAAA,EAAA,SAAA,EAAWF,UAAK,YAAa,CAAA,gBAAgB,CAAC,CAAG,EAAA;AAAA,GAE1D,EAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"RGBAInput.js","sources":["../src/color-chooser/RGBAInput.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent } from \"react\";\nimport { AlphaInput } from \"./AlphaInputField\";\nimport type { RGBAValue } from \"./Color\";\nimport rgbaInputCss from \"./RGBAInput.css\";\nimport { RGBInput } from \"./RGBAInputField\";\n\nconst withBaseName = makePrefixer(\"saltColorChooser\");\n\ninterface RGBAInputProps {\n disableAlphaChooser: boolean;\n rgbaText: string;\n rgbaValue: RGBAValue;\n onSubmitRgb: (\n rgbaValue: RGBAValue,\n e?: ChangeEvent<Element> | undefined,\n ) => void;\n onSubmitAlpha: (alpha: number, e?: ChangeEvent<Element> | undefined) => void;\n}\n\nexport const RGBAInput = ({\n disableAlphaChooser,\n rgbaText,\n rgbaValue,\n onSubmitAlpha,\n onSubmitRgb,\n}: RGBAInputProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-rgba-input\",\n css: rgbaInputCss,\n window: targetWindow,\n });\n\n return (\n <>\n <span className={clsx(withBaseName(\"textDivOverrides\"))}>{rgbaText}</span>\n {[\"r\", \"g\", \"b\"].map((value) => (\n <div className={withBaseName(\"rgbaInputDiv\")} key={value}>\n <span className={withBaseName(\"rgbaText\")}>\n {value.toUpperCase()}\n </span>\n <RGBInput\n rgbaValue={rgbaValue}\n value={value as \"r\" | \"g\" | \"b\"}\n onSubmit={onSubmitRgb}\n />\n </div>\n ))}\n {!disableAlphaChooser ? (\n <div className={clsx(withBaseName(\"rgbaInputDiv\"))}>\n <span className={clsx(withBaseName(\"rgbaText\"))}>A</span>\n <AlphaInput\n alphaValue={Number.parseFloat(rgbaValue.a.toFixed(2))}\n onSubmit={onSubmitAlpha}\n />\n </div>\n ) : (\n <div className={clsx(withBaseName(\"alphaSpacerDiv\"))} />\n )}\n </>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","rgbaInputCss","jsxs","Fragment","jsx","clsx","RGBInput","AlphaInput"],"mappings":";;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA;AAa7C,MAAM,YAAY,CAAC;AAAA,EACxB,mBAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,KAAmC;AACjC,EAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,EAAAC,+BAAA,CAAyB;AAAA,IACvB,MAAA,EAAQ,iBAAA;AAAA,IACR,GAAA,EAAKC,WAAA;AAAA,IACL,MAAA,EAAQ;AAAA,GACT,CAAA;AAED,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAK,SAAA,EAAWC,SAAA,CAAK,aAAa,kBAAkB,CAAC,GAAI,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,IAClE,CAAC,GAAA,EAAK,GAAA,EAAK,GAAG,CAAA,CAAE,GAAA,CAAI,CAAC,KAAA,qBACpBH,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,YAAA,CAAa,cAAc,CAAA,EACzC,QAAA,EAAA;AAAA,sBAAAE,cAAA,CAAC,UAAK,SAAA,EAAW,YAAA,CAAa,UAAU,CAAA,EACrC,QAAA,EAAA,KAAA,CAAM,aAAY,EACrB,CAAA;AAAA,sBACAA,cAAA;AAAA,QAACE,uBAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAA,EAAU;AAAA;AAAA;AACZ,KAAA,EAAA,EARiD,KASnD,CACD,CAAA;AAAA,IACA,CAAC,sCACAJ,eAAA,CAAC,KAAA,EAAA,EAAI,WAAWG,SAAA,CAAK,YAAA,CAAa,cAAc,CAAC,CAAA,EAC/C,QAAA,EAAA;AAAA,sBAAAD,cAAA,CAAC,UAAK,SAAA,EAAWC,SAAA,CAAK,aAAa,UAAU,CAAC,GAAG,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,sBAClDD,cAAA;AAAA,QAACG,0BAAA;AAAA,QAAA;AAAA,UACC,YAAY,MAAA,CAAO,UAAA,CAAW,UAAU,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,CAAA;AAAA,UACpD,QAAA,EAAU;AAAA;AAAA;AACZ,KAAA,EACF,CAAA,kCAEC,KAAA,EAAA,EAAI,SAAA,EAAWF,UAAK,YAAA,CAAa,gBAAgB,CAAC,CAAA,EAAG;AAAA,GAAA,EAE1D,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RGBAInputField.js","sources":["../src/color-chooser/RGBAInputField.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\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\";\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, 10);\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-expect-error\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 { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\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\";\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, 10);\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-expect-error\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":"Swatch.js","sources":["../src/color-chooser/Swatch.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent, KeyboardEvent } from \"react\";\n\nimport { Color } from \"./Color\";\nimport { isTransparent } from \"./color-utils\";\n\nimport swatchCss from \"./Swatch.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserSwatch\");\n\ninterface SwatchProps {\n active: boolean;\n alpha: number;\n color: string;\n onClick: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n transparent?: boolean;\n}\n\nexport const Swatch = ({\n color,\n onClick,\n active,\n alpha,\n onDialogClosed,\n transparent = false,\n}: SwatchProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-swatch\",\n css: swatchCss,\n window: targetWindow,\n });\n\n const handleClick = () => {\n const newColor = Color.makeColorFromHex(color);\n isTransparent(color) ? newColor?.setAlpha(0) : newColor?.setAlpha(alpha);\n\n onClick(newColor, true);\n onDialogClosed();\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>): void => {\n const newColor = Color.makeColorFromHex(color)?.setAlpha(alpha);\n e.key === \"ENTER\" && onClick(newColor, true);\n onDialogClosed();\n };\n\n // If it's black/gray/white\n const isBlackOrgray = (color: string): boolean => {\n return (\n color.toLowerCase() === \"black\" ||\n color.toUpperCase().startsWith(\"#2F3136\") ||\n color.toUpperCase().startsWith(\"#2A2C2F\") ||\n color.toUpperCase().startsWith(\"#242526\") ||\n color.toUpperCase().startsWith(\"#161616\")\n );\n };\n const isWhite = (color: string): boolean => color === \"white\";\n\n const getBackgroundColor = () => {\n const backgroundColor = Color.makeColorFromHex(color);\n return backgroundColor?.setAlpha(alpha).hex;\n };\n\n return (\n <div\n data-testid={`swatch-${color}`}\n style={{\n background: getBackgroundColor(),\n }}\n className={clsx({\n [withBaseName(\"active\")]: active,\n [withBaseName(\"transparent\")]: transparent,\n [withBaseName(\"graySwatch\")]: isBlackOrgray(color),\n [withBaseName(\"whiteSwatch\")]: isWhite(color),\n [withBaseName(\"swatch\")]: !isWhite(color) && !isBlackOrgray(color),\n })}\n onClick={handleClick}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n />\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","swatchCss","Color","isTransparent","color","jsx","clsx"],"mappings":";;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,wBAAwB,CAAA;AAenD,MAAM,SAAS,CAAC;AAAA,EACrB,KAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,cAAA;AAAA,EACA,WAAc,GAAA;AAChB,CAAgC,KAAA;AAC9B,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,aAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,cAAc,MAAM;AACxB,IAAM,MAAA,QAAA,GAAWC,WAAM,CAAA,gBAAA,CAAiB,KAAK,CAAA;AAC7C,IAAAC,wBAAA,CAAc,KAAK,CAAI,GAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,QAAS,CAAA,CAAA,CAAA,GAAK,qCAAU,QAAS,CAAA,KAAA,CAAA;AAElE,IAAA,OAAA,CAAQ,UAAU,IAAI,CAAA;AACtB,IAAe,cAAA,EAAA;AAAA,GACjB;AAEA,EAAM,MAAA,aAAA,GAAgB,CAAC,CAA2C,KAAA;AAjDpE,IAAA,IAAA,EAAA;AAkDI,IAAA,MAAM,YAAW,EAAM,GAAAD,WAAA,CAAA,gBAAA,CAAiB,KAAK,CAAA,KAA5B,mBAA+B,QAAS,CAAA,KAAA,CAAA;AACzD,IAAA,CAAA,CAAE,GAAQ,KAAA,OAAA,IAAW,OAAQ,CAAA,QAAA,EAAU,IAAI,CAAA;AAC3C,IAAe,cAAA,EAAA;AAAA,GACjB;AAGA,EAAM,MAAA,aAAA,GAAgB,CAACE,MAA2B,KAAA;AAChD,IACEA,OAAAA,MAAAA,CAAM,WAAY,EAAA,KAAM,OACxBA,IAAAA,MAAAA,CAAM,WAAY,EAAA,CAAE,UAAW,CAAA,SAAS,CACxCA,IAAAA,MAAAA,CAAM,WAAY,EAAA,CAAE,WAAW,SAAS,CAAA,IACxCA,MAAM,CAAA,WAAA,EAAc,CAAA,UAAA,CAAW,SAAS,CAAA,IACxCA,MAAM,CAAA,WAAA,EAAc,CAAA,UAAA,CAAW,SAAS,CAAA;AAAA,GAE5C;AACA,EAAM,MAAA,OAAA,GAAU,CAACA,MAAAA,KAA2BA,MAAU,KAAA,OAAA;AAEtD,EAAA,MAAM,qBAAqB,MAAM;AAC/B,IAAM,MAAA,eAAA,GAAkBF,WAAM,CAAA,gBAAA,CAAiB,KAAK,CAAA;AACpD,IAAO,OAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,SAAS,KAAO,CAAA,CAAA,GAAA;AAAA,GAC1C;AAEA,EACE,uBAAAG,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAa,UAAU,KAAK,CAAA,CAAA;AAAA,MAC5B,KAAO,EAAA;AAAA,QACL,YAAY,kBAAmB;AAAA,OACjC;AAAA,MACA,WAAWC,SAAK,CAAA;AAAA,QACd,CAAC,YAAA,CAAa,QAAQ,CAAC,GAAG,MAAA;AAAA,QAC1B,CAAC,YAAA,CAAa,aAAa,CAAC,GAAG,WAAA;AAAA,QAC/B,CAAC,YAAa,CAAA,YAAY,CAAC,GAAG,cAAc,KAAK,CAAA;AAAA,QACjD,CAAC,YAAa,CAAA,aAAa,CAAC,GAAG,QAAQ,KAAK,CAAA;AAAA,QAC5C,CAAC,YAAa,CAAA,QAAQ,CAAC,GAAG,CAAC,OAAA,CAAQ,KAAK,CAAA,IAAK,CAAC,aAAA,CAAc,KAAK;AAAA,OAClE,CAAA;AAAA,MACD,OAAS,EAAA,WAAA;AAAA,MACT,QAAU,EAAA,CAAA;AAAA,MACV,SAAW,EAAA;AAAA;AAAA,GACb;AAEJ;;;;"}
1
+ {"version":3,"file":"Swatch.js","sources":["../src/color-chooser/Swatch.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent, KeyboardEvent } from \"react\";\n\nimport { Color } from \"./Color\";\nimport { isTransparent } from \"./color-utils\";\n\nimport swatchCss from \"./Swatch.css\";\n\nconst withBaseName = makePrefixer(\"saltColorChooserSwatch\");\n\ninterface SwatchProps {\n active: boolean;\n alpha: number;\n color: string;\n onClick: (\n color: Color | undefined,\n finalSelection: boolean,\n e?: ChangeEvent,\n ) => void;\n onDialogClosed: () => void;\n transparent?: boolean;\n}\n\nexport const Swatch = ({\n color,\n onClick,\n active,\n alpha,\n onDialogClosed,\n transparent = false,\n}: SwatchProps): JSX.Element => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-swatch\",\n css: swatchCss,\n window: targetWindow,\n });\n\n const handleClick = () => {\n const newColor = Color.makeColorFromHex(color);\n isTransparent(color) ? newColor?.setAlpha(0) : newColor?.setAlpha(alpha);\n\n onClick(newColor, true);\n onDialogClosed();\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>): void => {\n const newColor = Color.makeColorFromHex(color)?.setAlpha(alpha);\n e.key === \"ENTER\" && onClick(newColor, true);\n onDialogClosed();\n };\n\n // If it's black/gray/white\n const isBlackOrgray = (color: string): boolean => {\n return (\n color.toLowerCase() === \"black\" ||\n color.toUpperCase().startsWith(\"#2F3136\") ||\n color.toUpperCase().startsWith(\"#2A2C2F\") ||\n color.toUpperCase().startsWith(\"#242526\") ||\n color.toUpperCase().startsWith(\"#161616\")\n );\n };\n const isWhite = (color: string): boolean => color === \"white\";\n\n const getBackgroundColor = () => {\n const backgroundColor = Color.makeColorFromHex(color);\n return backgroundColor?.setAlpha(alpha).hex;\n };\n\n return (\n <div\n data-testid={`swatch-${color}`}\n style={{\n background: getBackgroundColor(),\n }}\n className={clsx({\n [withBaseName(\"active\")]: active,\n [withBaseName(\"transparent\")]: transparent,\n [withBaseName(\"graySwatch\")]: isBlackOrgray(color),\n [withBaseName(\"whiteSwatch\")]: isWhite(color),\n [withBaseName(\"swatch\")]: !isWhite(color) && !isBlackOrgray(color),\n })}\n onClick={handleClick}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n />\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","swatchCss","Color","isTransparent","color","jsx","clsx"],"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 { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent } from \"react\";\nimport { AlphaInput } from \"./AlphaInputField\";\nimport type { Color } from \"./Color\";\nimport swatchesCss from \"./Swatches.css\";\nimport { SwatchesPicker } from \"./SwatchesPicker\";\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":";;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,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;AACF,CAAqC,KAAA;AACnC,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AACD,EACE,uBAAAC,eAAA,CAAC,SAAI,aAAY,EAAA,UAAA,EAAW,WAAWC,SAAK,CAAA,YAAA,CAAa,WAAW,CAAC,CACnE,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,6BAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAU,EAAA,iBAAA;AAAA,QACV,KAAA;AAAA,QACA;AAAA;AAAA,KACF;AAAA,oCACC,KAAI,EAAA,EAAA,SAAA,EAAWF,UAAK,YAAa,CAAA,SAAS,CAAC,CAC1C,EAAA,QAAA,EAAA;AAAA,sBAAAD,eAAA,CAAC,KACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAAC,UAAK,SAAW,EAAAD,SAAA,CAAK,aAAa,cAAc,CAAC,GAAG,QAAM,EAAA,QAAA,EAAA,CAAA;AAAA,wBAC3DC,cAAA,CAAC,UAAK,SAAW,EAAAD,SAAA,CAAK,aAAa,kBAAkB,CAAC,CACnD,EAAA,QAAA,EAAA,gBAAA,IAAoB,WACvB,EAAA;AAAA,OACF,EAAA,CAAA;AAAA,sCACC,KACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,UAAK,SAAW,EAAAD,SAAA,CAAK,aAAa,cAAc,CAAC,GAAG,QAAQ,EAAA,UAAA,EAAA,CAAA;AAAA,wBAC7DC,cAAA;AAAA,UAACE,0BAAA;AAAA,UAAA;AAAA,YACC,UAAY,EAAA,CAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,IAAK,CAAA,CAAA,MAAM,IAAI,CAAI,GAAA,KAAA;AAAA,YACtC,aAAe,EAAA,IAAA;AAAA,YACf,QAAA,EAAU,CAACC,MAAAA,EAAe,CAA0B,KAAA;AAClD,cAAM,MAAA,QAAA,GAAW,+BAAO,QAASA,CAAAA,MAAAA,CAAAA;AACjC,cAAkB,iBAAA,CAAA,QAAA,EAAU,OAAO,CAAC,CAAA;AAAA;AACtC;AAAA;AACF,OACF,EAAA;AAAA,KACF,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Swatches.js","sources":["../src/color-chooser/Swatches.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { ChangeEvent } from \"react\";\nimport { AlphaInput } from \"./AlphaInputField\";\nimport type { Color } from \"./Color\";\nimport swatchesCss from \"./Swatches.css\";\nimport { SwatchesPicker } from \"./SwatchesPicker\";\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":";;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,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;AACF,CAAA,KAAqC;AACnC,EAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,EAAAC,+BAAA,CAAyB;AAAA,IACvB,MAAA,EAAQ,eAAA;AAAA,IACR,GAAA,EAAKC,UAAA;AAAA,IACL,MAAA,EAAQ;AAAA,GACT,CAAA;AACD,EAAA,uBACEC,eAAA,CAAC,SAAI,aAAA,EAAY,UAAA,EAAW,WAAWC,SAAA,CAAK,YAAA,CAAa,WAAW,CAAC,CAAA,EACnE,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,6BAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAA,EAAU,iBAAA;AAAA,QACV,KAAA;AAAA,QACA;AAAA;AAAA,KACF;AAAA,oCACC,KAAA,EAAA,EAAI,SAAA,EAAWF,UAAK,YAAA,CAAa,SAAS,CAAC,CAAA,EAC1C,QAAA,EAAA;AAAA,sBAAAD,eAAA,CAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAAC,UAAK,SAAA,EAAWD,SAAA,CAAK,aAAa,cAAc,CAAC,GAAG,QAAA,EAAA,QAAA,EAAM,CAAA;AAAA,wBAC3DC,cAAA,CAAC,UAAK,SAAA,EAAWD,SAAA,CAAK,aAAa,kBAAkB,CAAC,CAAA,EACnD,QAAA,EAAA,gBAAA,IAAoB,WAAA,EACvB;AAAA,OAAA,EACF,CAAA;AAAA,sCACC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,UAAK,SAAA,EAAWD,SAAA,CAAK,aAAa,cAAc,CAAC,GAAG,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,wBAC7DC,cAAA;AAAA,UAACE,0BAAA;AAAA,UAAA;AAAA,YACC,UAAA,EAAA,CAAY,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,IAAA,CAAK,CAAA,MAAM,IAAI,CAAA,GAAI,KAAA;AAAA,YACtC,aAAA,EAAe,IAAA;AAAA,YACf,QAAA,EAAU,CAACC,MAAAA,EAAe,CAAA,KAA0B;AAClD,cAAA,MAAM,QAAA,GAAW,+BAAO,QAAA,CAASA,MAAAA,CAAAA;AACjC,cAAA,iBAAA,CAAkB,QAAA,EAAU,OAAO,CAAC,CAAA;AAAA,YACtC;AAAA;AAAA;AACF,OAAA,EACF;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwatchesPicker.js","sources":["../src/color-chooser/SwatchesPicker.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { ChangeEvent } from \"react\";\nimport type { Color } from \"./Color\";\nimport { convertColorMapValueToHex } from \"./ColorHelpers\";\nimport { isTransparent } from \"./color-utils\";\nimport { Swatch } from \"./Swatch\";\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":";;;;;;;;;;AAkCA,MAAM,gBAAgB,CAAC;AAAA,EACrB,WAAA;AAAA,EACA,OAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAuC,KAAA;AAxCvC,EAAA,IAAA,EAAA;AAyCE,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,MAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,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;AAAA,GAE9B;AACA,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IACE,OAAA,KAAA,CAAM,WAAY,EAAA,MAChB,aAAe,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAA,SAAA,CAAU,GAAG,CAAG,CAAA,CAAA,QAAA,EAAA,CAAW,WAC5C,EAAA,CAAA,IAAA,cAAA,CAAe,KAAK,CAAA;AAAA,GAExB;AAEA,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA,EAAI,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,aAAe,EAAA,QAAA,EAC3C,EAAA,QAAA,EAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CACG,GAAI,CAAA,CAAC,KAAU,KAAA;AACf,IAAA,OAAOC,uCAA0B,KAAK,CAAA;AAAA,GAFzC,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAIG,GAAI,CAAA,CAAC,KACL,qBAAAD,cAAA;AAAA,IAACE,eAAA;AAAA,IAAA;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;AAAA,KAAA;AAAA,IAN3B,MAAM,QAAS;AAAA,GAS5B,CAAA,EAAA,CAAA;AAEJ,CAAA;AAEO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAQ,GAAA,CAAA;AAAA,EACR,QAAA;AAAA,EACA;AACF,CAAwC,KAAA;AACtC,EACE,uBAAAH,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAY,EAAA,iBAAA;AAAA,MACZ,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,eAAe,KAAM,EAAA;AAAA,MAE9C,QAAA,EAAA,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW,GAAI,CAAA,CAAC,WACf,qBAAAA,cAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACC,WAAA;AAAA,UAEA,eAAe,KAAO,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,GAAA;AAAA,UACtB,OAAS,EAAA,QAAA;AAAA,UACT,cAAA;AAAA,UACA;AAAA,SAAA;AAAA,QAJK,YAAY,QAAS;AAAA,OAK5B;AAAA;AAAA,GAEJ;AAEJ;;;;"}
1
+ {"version":3,"file":"SwatchesPicker.js","sources":["../src/color-chooser/SwatchesPicker.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { ChangeEvent } from \"react\";\nimport type { Color } from \"./Color\";\nimport { convertColorMapValueToHex } from \"./ColorHelpers\";\nimport { isTransparent } from \"./color-utils\";\nimport { Swatch } from \"./Swatch\";\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":";;;;;;;;;;AAkCA,MAAM,gBAAgB,CAAC;AAAA,EACrB,WAAA;AAAA,EACA,OAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,KAAuC;AAxCvC,EAAA,IAAA,EAAA;AAyCE,EAAA,MAAM,eAAeA,gBAAA,EAAU;AAC/B,EAAAC,+BAAA,CAAyB;AAAA,IACvB,MAAA,EAAQ,eAAA;AAAA,IACR,GAAA,EAAKC,MAAA;AAAA,IACL,MAAA,EAAQ;AAAA,GACT,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,CAAC,KAAA,KAA2B;AACjD,IAAA,OAAA,CACI,aAAA,GAAgB,cAAc,UAAA,CAAW,SAAS,IAAI,KAAA,KACtD,KAAA,CAAM,aAAY,KAAM,OAAA,IAAA,CACxB,gBACE,aAAA,CAAc,WAAA,GAAc,UAAA,CAAW,SAAS,IAChD,KAAA,KACF,KAAA,CAAM,aAAY,KAAM,OAAA;AAAA,EAE9B,CAAA;AACA,EAAA,MAAM,QAAA,GAAW,CAAC,KAAA,KAA2B;AAC3C,IAAA,OACE,KAAA,CAAM,WAAA,EAAY,MAChB,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,SAAA,CAAU,GAAG,CAAA,CAAA,CAAG,QAAA,EAAA,CAAW,WAAA,EAAA,CAAA,IAC5C,cAAA,CAAe,KAAK,CAAA;AAAA,EAExB,CAAA;AAEA,EAAA,uBACEC,cAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAS,EACpD,QAAA,EAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CACG,GAAA,CAAI,CAAC,KAAA,KAAU;AACf,IAAA,OAAOC,uCAA0B,KAAK,CAAA;AAAA,EACxC,CAAA,CAAA,KAHD,IAAA,GAAA,MAAA,GAAA,EAAA,CAIG,GAAA,CAAI,CAAC,KAAA,qBACLD,cAAA;AAAA,IAACE,eAAA;AAAA,IAAA;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;AAAA,KAAA;AAAA,IAN3B,MAAM,QAAA;AAAS,GAOtB,CAAA,EAEN,CAAA;AAEJ,CAAA;AAEO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA,GAAQ,CAAA;AAAA,EACR,QAAA;AAAA,EACA;AACF,CAAA,KAAwC;AACtC,EAAA,uBACEH,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAY,iBAAA;AAAA,MACZ,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,eAAe,KAAA,EAAM;AAAA,MAE9C,QAAA,EAAA,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW,GAAA,CAAI,CAAC,WAAA,qBACfA,cAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACC,WAAA;AAAA,UAEA,eAAe,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,GAAA;AAAA,UACtB,OAAA,EAAS,QAAA;AAAA,UACT,cAAA;AAAA,UACA;AAAA,SAAA;AAAA,QAJK,YAAY,QAAA;AAAS,OAK5B;AAAA;AAAA,GAEJ;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"color-utils.js","sources":["../src/color-chooser/color-utils.ts"],"sourcesContent":["export const isTransparent = (color?: string): boolean => {\n return color ? /#[\\da-f]{6}00/i.test(color) : false;\n};\n"],"names":[],"mappings":";;AAAa,MAAA,aAAA,GAAgB,CAAC,KAA4B,KAAA;AACxD,EAAA,OAAO,KAAQ,GAAA,gBAAA,CAAiB,IAAK,CAAA,KAAK,CAAI,GAAA,KAAA;AAChD;;;;"}
1
+ {"version":3,"file":"color-utils.js","sources":["../src/color-chooser/color-utils.ts"],"sourcesContent":["export const isTransparent = (color?: string): boolean => {\n return color ? /#[\\da-f]{6}00/i.test(color) : false;\n};\n"],"names":[],"mappings":";;AAAO,MAAM,aAAA,GAAgB,CAAC,KAAA,KAA4B;AACxD,EAAA,OAAO,KAAA,GAAQ,gBAAA,CAAiB,IAAA,CAAK,KAAK,CAAA,GAAI,KAAA;AAChD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"colorMap.js","sources":["../src/color-chooser/colorMap.tsx"],"sourcesContent":["const common = {\n saltwhite: \"rgb(255, 255, 255)\",\n saltblack: \"rgb(0, 0, 0)\",\n};\n/* TODO: a few of these are probably out of date and need checking */\nexport const saltlight = {\n ...common,\n /* Color palette will stay the same no matter of theming */\n saltred10: \"rgb(255, 227, 224)\",\n saltred20: \"rgb(255, 207, 201)\",\n saltred30: \"rgb(255, 187, 178)\" /* ffbbb2 */,\n saltred40: \"rgb(255, 167, 156)\" /* #ffa79c */,\n saltred50: \"rgb(255, 148, 133)\" /* ff9485 */,\n saltred100: \"rgb(255, 128, 111)\",\n saltred200: \"rgb(255, 108, 88)\",\n saltred300: \"rgb(255, 89, 66)\" /* 555942 */,\n saltred400: \"rgb(237, 65, 42)\",\n saltred500: \"rgb(227, 43, 22)\",\n saltred600: \"rgb(196, 32, 16)\" /* #c42010 */,\n saltred700: \"rgb(166, 21, 11)\",\n saltred800: \"rgb(136, 10, 5)\",\n saltred900: \"rgb(106, 0, 0)\",\n saltorange10: \"rgb(255, 232, 191)\",\n saltorange20: \"rgb(254, 223, 166)\",\n saltorange30: \"rgb(254, 214, 142)\",\n saltorange40: \"rgb(254, 205, 118)\",\n saltorange50: \"rgb(254, 197, 94)\",\n saltorange100: \"rgb(250, 181, 81)\" /* faB551 */,\n saltorange200: \"rgb(246, 165, 68)\" /* f6a544 */,\n saltorange300: \"rgb(242, 149, 56)\" /* #f29538 */,\n saltorange400: \"rgb(238, 133, 43)\",\n saltorange500: \"rgb(234, 115, 25)\" /* #ea7319 */,\n saltorange600: \"rgb(224, 101, 25)\" /* e06519*/,\n saltorange700: \"rgb(214, 85, 19)\",\n saltorange800: \"rgb(204, 68, 13)\",\n saltorange900: \"rgb(194, 52, 7)\" /* #c23407 */,\n saltgreen10: \"rgb(209, 244, 201)\",\n saltgreen20: \"rgb(184, 232, 182)\",\n saltgreen30: \"rgb(160, 221, 164)\",\n saltgreen40: \"rgb(136, 210, 145)\",\n saltgreen50: \"rgb(112, 199, 127)\",\n saltgreen100: \"rgb(93, 189, 116)\",\n saltgreen200: \"rgb(77, 180, 105)\",\n saltgreen300: \"rgb(60, 171, 96)\",\n saltgreen400: \"rgb(48, 156, 90)\",\n saltgreen500: \"rgb(36, 135, 75)\",\n saltgreen600: \"rgb(24, 114, 61)\",\n saltgreen700: \"rgb(12, 93, 46)\",\n saltgreen800: \"rgb(1, 73, 32)\",\n saltgreen900: \"rgb(0, 57, 18)\",\n saltteal10: \"rgb(218, 240, 240)\",\n saltteal20: \"rgb(199, 232, 232)\",\n saltteal30: \"rgb(180, 224, 225)\",\n saltteal40: \"rgb(162, 217, 218)\",\n saltteal50: \"rgb(141, 205, 209)\",\n saltteal100: \"rgb(123, 193, 200)\",\n saltteal200: \"rgb(99, 181, 192)\",\n saltteal300: \"rgb(73, 160, 172)\",\n saltteal400: \"rgb(48, 149, 166)\",\n saltteal500: \"rgb(0, 130, 151)\",\n saltteal600: \"rgb(27, 107, 133)\",\n saltteal700: \"rgb(0, 85, 113)\",\n saltteal800: \"rgb(1, 65, 86)\",\n saltteal900: \"rgb(0, 49, 76)\",\n saltblue10: \"rgb(203, 231, 249)\",\n saltblue20: \"rgb(183, 222, 246)\",\n saltblue30: \"rgb(164, 213, 244)\",\n saltblue40: \"rgb(144, 204, 242)\",\n saltblue50: \"rgb(125, 195, 240)\" /* #7dc3f0 */,\n saltblue100: \"rgb(100, 177, 228)\" /* #64B1E4 */,\n saltblue200: \"rgb(75, 159, 216)\",\n saltblue300: \"rgb(51, 141, 205)\" /* 338dcd */,\n saltblue400: \"rgb(45, 129, 189)\",\n saltblue500: \"rgb(38, 112, 169)\" /* 2670a9 */,\n saltblue600: \"rgb(21, 92, 147)\" /* 155c93 */,\n saltblue700: \"rgb(0, 71, 123)\",\n saltblue800: \"rgb(12, 53, 102)\",\n saltblue900: \"rgb(0, 40, 88)\",\n saltblue1000: \"rgb(0, 18, 40)\",\n saltpurple10: \"rgb(249, 224, 247)\",\n saltpurple20: \"rgb(247, 212, 244)\",\n saltpurple30: \"rgb(245, 201, 241)\",\n saltpurple40: \"rgb(243, 189, 238)\",\n saltpurple50: \"rgb(241, 178, 235)\",\n saltpurple100: \"rgb(223, 156, 225)\",\n saltpurple200: \"rgb(205, 135, 215)\",\n saltpurple300: \"rgb(192, 116, 203)\",\n saltpurple400: \"rgb(169, 97, 181)\",\n saltpurple500: \"rgb(150, 78, 162)\",\n saltpurple600: \"rgb(129, 60, 141)\",\n saltpurple700: \"rgb(103, 46, 122)\",\n saltpurple800: \"rgb(83, 37, 109)\",\n saltpurple900: \"rgb(59, 16, 84)\",\n saltgray10: \"rgb(242, 244, 246)\",\n saltgray20: \"rgb(234, 237, 239)\" /* #EAEDEF */,\n saltgray30: \"rgb(224, 228, 233)\",\n saltgray40: \"rgb(217, 221, 227)\" /* #D9DDE3 */,\n saltgray50: \"rgb(206, 210, 217)\",\n saltgray60: \"rgb(197, 201, 208)\" /* #C5C9D0 */,\n saltgray70: \"rgb(180, 183, 190)\" /* B4B7BE*/,\n saltgray80: \"rgb(159, 163, 170)\",\n saltgray90: \"rgb(132, 135, 142)\" /* #84878e */,\n saltgray100: \"rgb(116, 119, 127)\",\n saltgray200: \"rgb(97, 101, 110)\",\n saltgray300: \"rgb(76, 80, 91)\" /* 4c505b*/,\n saltgray400: \"rgb(68, 72, 79)\",\n saltgray500: \"rgb(59, 63, 70)\",\n saltgray600: \"rgb(47, 49, 54)\",\n saltgray700: \"rgb(42, 44, 47)\",\n saltgray800: \"rgb(36, 37, 38)\",\n saltgray900: \"rgb(22, 22, 22)\" /* #161616 */,\n};\n\nexport const saltColorMap: Record<string, string> = saltlight;\n"],"names":[],"mappings":";;AAAA,MAAM,MAAS,GAAA;AAAA,EACb,SAAW,EAAA,oBAAA;AAAA,EACX,SAAW,EAAA;AACb,CAAA;AAEO,MAAM,SAAY,GAAA;AAAA,EACvB,GAAG,MAAA;AAAA;AAAA,EAEH,SAAW,EAAA,oBAAA;AAAA,EACX,SAAW,EAAA,oBAAA;AAAA,EACX,SAAW,EAAA,oBAAA;AAAA,EACX,SAAW,EAAA,oBAAA;AAAA,EACX,SAAW,EAAA,oBAAA;AAAA,EACX,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,mBAAA;AAAA,EACZ,UAAY,EAAA,kBAAA;AAAA,EACZ,UAAY,EAAA,kBAAA;AAAA,EACZ,UAAY,EAAA,kBAAA;AAAA,EACZ,UAAY,EAAA,kBAAA;AAAA,EACZ,UAAY,EAAA,kBAAA;AAAA,EACZ,UAAY,EAAA,iBAAA;AAAA,EACZ,UAAY,EAAA,gBAAA;AAAA,EACZ,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,mBAAA;AAAA,EACd,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,kBAAA;AAAA,EACf,aAAe,EAAA,kBAAA;AAAA,EACf,aAAe,EAAA,iBAAA;AAAA,EACf,WAAa,EAAA,oBAAA;AAAA,EACb,WAAa,EAAA,oBAAA;AAAA,EACb,WAAa,EAAA,oBAAA;AAAA,EACb,WAAa,EAAA,oBAAA;AAAA,EACb,WAAa,EAAA,oBAAA;AAAA,EACb,YAAc,EAAA,mBAAA;AAAA,EACd,YAAc,EAAA,mBAAA;AAAA,EACd,YAAc,EAAA,kBAAA;AAAA,EACd,YAAc,EAAA,kBAAA;AAAA,EACd,YAAc,EAAA,kBAAA;AAAA,EACd,YAAc,EAAA,kBAAA;AAAA,EACd,YAAc,EAAA,iBAAA;AAAA,EACd,YAAc,EAAA,gBAAA;AAAA,EACd,YAAc,EAAA,gBAAA;AAAA,EACd,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,WAAa,EAAA,oBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,kBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA,gBAAA;AAAA,EACb,WAAa,EAAA,gBAAA;AAAA,EACb,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,WAAa,EAAA,oBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,kBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA,kBAAA;AAAA,EACb,WAAa,EAAA,gBAAA;AAAA,EACb,YAAc,EAAA,gBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,YAAc,EAAA,oBAAA;AAAA,EACd,aAAe,EAAA,oBAAA;AAAA,EACf,aAAe,EAAA,oBAAA;AAAA,EACf,aAAe,EAAA,oBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,mBAAA;AAAA,EACf,aAAe,EAAA,kBAAA;AAAA,EACf,aAAe,EAAA,iBAAA;AAAA,EACf,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,UAAY,EAAA,oBAAA;AAAA,EACZ,WAAa,EAAA,oBAAA;AAAA,EACb,WAAa,EAAA,mBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA,iBAAA;AAAA,EACb,WAAa,EAAA;AACf;AAEO,MAAM,YAAuC,GAAA;;;;;"}
1
+ {"version":3,"file":"colorMap.js","sources":["../src/color-chooser/colorMap.tsx"],"sourcesContent":["const common = {\n saltwhite: \"rgb(255, 255, 255)\",\n saltblack: \"rgb(0, 0, 0)\",\n};\n/* TODO: a few of these are probably out of date and need checking */\nexport const saltlight = {\n ...common,\n /* Color palette will stay the same no matter of theming */\n saltred10: \"rgb(255, 227, 224)\",\n saltred20: \"rgb(255, 207, 201)\",\n saltred30: \"rgb(255, 187, 178)\" /* ffbbb2 */,\n saltred40: \"rgb(255, 167, 156)\" /* #ffa79c */,\n saltred50: \"rgb(255, 148, 133)\" /* ff9485 */,\n saltred100: \"rgb(255, 128, 111)\",\n saltred200: \"rgb(255, 108, 88)\",\n saltred300: \"rgb(255, 89, 66)\" /* 555942 */,\n saltred400: \"rgb(237, 65, 42)\",\n saltred500: \"rgb(227, 43, 22)\",\n saltred600: \"rgb(196, 32, 16)\" /* #c42010 */,\n saltred700: \"rgb(166, 21, 11)\",\n saltred800: \"rgb(136, 10, 5)\",\n saltred900: \"rgb(106, 0, 0)\",\n saltorange10: \"rgb(255, 232, 191)\",\n saltorange20: \"rgb(254, 223, 166)\",\n saltorange30: \"rgb(254, 214, 142)\",\n saltorange40: \"rgb(254, 205, 118)\",\n saltorange50: \"rgb(254, 197, 94)\",\n saltorange100: \"rgb(250, 181, 81)\" /* faB551 */,\n saltorange200: \"rgb(246, 165, 68)\" /* f6a544 */,\n saltorange300: \"rgb(242, 149, 56)\" /* #f29538 */,\n saltorange400: \"rgb(238, 133, 43)\",\n saltorange500: \"rgb(234, 115, 25)\" /* #ea7319 */,\n saltorange600: \"rgb(224, 101, 25)\" /* e06519*/,\n saltorange700: \"rgb(214, 85, 19)\",\n saltorange800: \"rgb(204, 68, 13)\",\n saltorange900: \"rgb(194, 52, 7)\" /* #c23407 */,\n saltgreen10: \"rgb(209, 244, 201)\",\n saltgreen20: \"rgb(184, 232, 182)\",\n saltgreen30: \"rgb(160, 221, 164)\",\n saltgreen40: \"rgb(136, 210, 145)\",\n saltgreen50: \"rgb(112, 199, 127)\",\n saltgreen100: \"rgb(93, 189, 116)\",\n saltgreen200: \"rgb(77, 180, 105)\",\n saltgreen300: \"rgb(60, 171, 96)\",\n saltgreen400: \"rgb(48, 156, 90)\",\n saltgreen500: \"rgb(36, 135, 75)\",\n saltgreen600: \"rgb(24, 114, 61)\",\n saltgreen700: \"rgb(12, 93, 46)\",\n saltgreen800: \"rgb(1, 73, 32)\",\n saltgreen900: \"rgb(0, 57, 18)\",\n saltteal10: \"rgb(218, 240, 240)\",\n saltteal20: \"rgb(199, 232, 232)\",\n saltteal30: \"rgb(180, 224, 225)\",\n saltteal40: \"rgb(162, 217, 218)\",\n saltteal50: \"rgb(141, 205, 209)\",\n saltteal100: \"rgb(123, 193, 200)\",\n saltteal200: \"rgb(99, 181, 192)\",\n saltteal300: \"rgb(73, 160, 172)\",\n saltteal400: \"rgb(48, 149, 166)\",\n saltteal500: \"rgb(0, 130, 151)\",\n saltteal600: \"rgb(27, 107, 133)\",\n saltteal700: \"rgb(0, 85, 113)\",\n saltteal800: \"rgb(1, 65, 86)\",\n saltteal900: \"rgb(0, 49, 76)\",\n saltblue10: \"rgb(203, 231, 249)\",\n saltblue20: \"rgb(183, 222, 246)\",\n saltblue30: \"rgb(164, 213, 244)\",\n saltblue40: \"rgb(144, 204, 242)\",\n saltblue50: \"rgb(125, 195, 240)\" /* #7dc3f0 */,\n saltblue100: \"rgb(100, 177, 228)\" /* #64B1E4 */,\n saltblue200: \"rgb(75, 159, 216)\",\n saltblue300: \"rgb(51, 141, 205)\" /* 338dcd */,\n saltblue400: \"rgb(45, 129, 189)\",\n saltblue500: \"rgb(38, 112, 169)\" /* 2670a9 */,\n saltblue600: \"rgb(21, 92, 147)\" /* 155c93 */,\n saltblue700: \"rgb(0, 71, 123)\",\n saltblue800: \"rgb(12, 53, 102)\",\n saltblue900: \"rgb(0, 40, 88)\",\n saltblue1000: \"rgb(0, 18, 40)\",\n saltpurple10: \"rgb(249, 224, 247)\",\n saltpurple20: \"rgb(247, 212, 244)\",\n saltpurple30: \"rgb(245, 201, 241)\",\n saltpurple40: \"rgb(243, 189, 238)\",\n saltpurple50: \"rgb(241, 178, 235)\",\n saltpurple100: \"rgb(223, 156, 225)\",\n saltpurple200: \"rgb(205, 135, 215)\",\n saltpurple300: \"rgb(192, 116, 203)\",\n saltpurple400: \"rgb(169, 97, 181)\",\n saltpurple500: \"rgb(150, 78, 162)\",\n saltpurple600: \"rgb(129, 60, 141)\",\n saltpurple700: \"rgb(103, 46, 122)\",\n saltpurple800: \"rgb(83, 37, 109)\",\n saltpurple900: \"rgb(59, 16, 84)\",\n saltgray10: \"rgb(242, 244, 246)\",\n saltgray20: \"rgb(234, 237, 239)\" /* #EAEDEF */,\n saltgray30: \"rgb(224, 228, 233)\",\n saltgray40: \"rgb(217, 221, 227)\" /* #D9DDE3 */,\n saltgray50: \"rgb(206, 210, 217)\",\n saltgray60: \"rgb(197, 201, 208)\" /* #C5C9D0 */,\n saltgray70: \"rgb(180, 183, 190)\" /* B4B7BE*/,\n saltgray80: \"rgb(159, 163, 170)\",\n saltgray90: \"rgb(132, 135, 142)\" /* #84878e */,\n saltgray100: \"rgb(116, 119, 127)\",\n saltgray200: \"rgb(97, 101, 110)\",\n saltgray300: \"rgb(76, 80, 91)\" /* 4c505b*/,\n saltgray400: \"rgb(68, 72, 79)\",\n saltgray500: \"rgb(59, 63, 70)\",\n saltgray600: \"rgb(47, 49, 54)\",\n saltgray700: \"rgb(42, 44, 47)\",\n saltgray800: \"rgb(36, 37, 38)\",\n saltgray900: \"rgb(22, 22, 22)\" /* #161616 */,\n};\n\nexport const saltColorMap: Record<string, string> = saltlight;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTabsMapping.js","sources":["../src/color-chooser/createTabsMapping.ts"],"sourcesContent":["import type { ChangeEvent } from \"react\";\nimport type { Color } from \"./Color\";\nimport { ColorPicker } from \"./ColorPicker\";\nimport type { DictTabsProps } from \"./DictTabs\";\nimport { Swatches } from \"./Swatches\";\n\ninterface TabsMappingProps {\n swatches: boolean;\n colorPicker: boolean;\n disableAlphaChooser: boolean;\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 createTabsMapping = ({\n swatches,\n colorPicker,\n disableAlphaChooser,\n allColors,\n color,\n alpha,\n handleColorChange,\n displayColorName,\n placeholder,\n onDialogClosed,\n}: TabsMappingProps): DictTabsProps[\"tabs\"] => {\n if (!swatches && !colorPicker) {\n throw new Error(\"You cannot select no color chooser tabs\");\n }\n\n return {\n ...(swatches && {\n Swatches: {\n Component: Swatches,\n props: {\n allColors,\n color,\n alpha,\n handleColorChange,\n displayColorName,\n placeholder,\n onDialogClosed,\n },\n },\n }),\n ...(colorPicker && {\n \"Color Picker\": {\n Component: ColorPicker,\n props: {\n disableAlphaChooser,\n color,\n alpha,\n onChange: handleColorChange,\n onDialogClosed,\n },\n },\n }),\n };\n};\n"],"names":["Swatches","ColorPicker"],"mappings":";;;;;AAuBO,MAAM,oBAAoB,CAAC;AAAA,EAChC,QAAA;AAAA,EACA,WAAA;AAAA,EACA,mBAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAA+C,KAAA;AAC7C,EAAI,IAAA,CAAC,QAAY,IAAA,CAAC,WAAa,EAAA;AAC7B,IAAM,MAAA,IAAI,MAAM,yCAAyC,CAAA;AAAA;AAG3D,EAAO,OAAA;AAAA,IACL,GAAI,QAAY,IAAA;AAAA,MACd,QAAU,EAAA;AAAA,QACR,SAAW,EAAAA,iBAAA;AAAA,QACX,KAAO,EAAA;AAAA,UACL,SAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,UACA,iBAAA;AAAA,UACA,gBAAA;AAAA,UACA,WAAA;AAAA,UACA;AAAA;AACF;AACF,KACF;AAAA,IACA,GAAI,WAAe,IAAA;AAAA,MACjB,cAAgB,EAAA;AAAA,QACd,SAAW,EAAAC,uBAAA;AAAA,QACX,KAAO,EAAA;AAAA,UACL,mBAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAU,EAAA,iBAAA;AAAA,UACV;AAAA;AACF;AACF;AACF,GACF;AACF;;;;"}
1
+ {"version":3,"file":"createTabsMapping.js","sources":["../src/color-chooser/createTabsMapping.ts"],"sourcesContent":["import type { ChangeEvent } from \"react\";\nimport type { Color } from \"./Color\";\nimport { ColorPicker } from \"./ColorPicker\";\nimport type { DictTabsProps } from \"./DictTabs\";\nimport { Swatches } from \"./Swatches\";\n\ninterface TabsMappingProps {\n swatches: boolean;\n colorPicker: boolean;\n disableAlphaChooser: boolean;\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 createTabsMapping = ({\n swatches,\n colorPicker,\n disableAlphaChooser,\n allColors,\n color,\n alpha,\n handleColorChange,\n displayColorName,\n placeholder,\n onDialogClosed,\n}: TabsMappingProps): DictTabsProps[\"tabs\"] => {\n if (!swatches && !colorPicker) {\n throw new Error(\"You cannot select no color chooser tabs\");\n }\n\n return {\n ...(swatches && {\n Swatches: {\n Component: Swatches,\n props: {\n allColors,\n color,\n alpha,\n handleColorChange,\n displayColorName,\n placeholder,\n onDialogClosed,\n },\n },\n }),\n ...(colorPicker && {\n \"Color Picker\": {\n Component: ColorPicker,\n props: {\n disableAlphaChooser,\n color,\n alpha,\n onChange: handleColorChange,\n onDialogClosed,\n },\n },\n }),\n };\n};\n"],"names":["Swatches","ColorPicker"],"mappings":";;;;;AAuBO,MAAM,oBAAoB,CAAC;AAAA,EAChC,QAAA;AAAA,EACA,WAAA;AAAA,EACA,mBAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,KAA+C;AAC7C,EAAA,IAAI,CAAC,QAAA,IAAY,CAAC,WAAA,EAAa;AAC7B,IAAA,MAAM,IAAI,MAAM,yCAAyC,CAAA;AAAA,EAC3D;AAEA,EAAA,OAAO;AAAA,IACL,GAAI,QAAA,IAAY;AAAA,MACd,QAAA,EAAU;AAAA,QACR,SAAA,EAAWA,iBAAA;AAAA,QACX,KAAA,EAAO;AAAA,UACL,SAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,UACA,iBAAA;AAAA,UACA,gBAAA;AAAA,UACA,WAAA;AAAA,UACA;AAAA;AACF;AACF,KACF;AAAA,IACA,GAAI,WAAA,IAAe;AAAA,MACjB,cAAA,EAAgB;AAAA,QACd,SAAA,EAAWC,uBAAA;AAAA,QACX,KAAA,EAAO;AAAA,UACL,mBAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAA,EAAU,iBAAA;AAAA,UACV;AAAA;AACF;AACF;AACF,GACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","sources":["../src/combo-box/ComboBox.tsx"],"sourcesContent":["import { useIdMemo as useId } from \"@salt-ds/core\";\nimport {\n type ForwardedRef,\n forwardRef,\n type ReactElement,\n useCallback,\n} from \"react\";\nimport {\n type CollectionItem,\n CollectionProvider,\n type SelectionProps,\n type SelectionStrategy,\n type SingleSelectionStrategy,\n useCollectionItems,\n} from \"../common-hooks\";\nimport { DropdownBase, type DropdownBaseProps } from \"../dropdown\";\nimport {\n InputLegacy as Input,\n type InputLegacyProps as InputProps,\n} from \"../input-legacy\";\nimport { List, type ListProps } from \"../list\";\nimport { useCombobox } from \"./useCombobox\";\n\nexport interface ComboBoxProps<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n> extends Omit<\n DropdownBaseProps,\n \"triggerComponent\" | \"onBlur\" | \"onChange\" | \"onFocus\"\n >,\n Pick<InputProps, \"onBlur\" | \"onChange\" | \"onFocus\" | \"onSelect\">,\n Pick<\n ListProps<Item, Selection>,\n \"ListItem\" | \"itemToString\" | \"source\" | \"width\"\n >,\n Pick<\n SelectionProps<Item, Selection>,\n \"onSelectionChange\" | \"selectionStrategy\"\n > {\n InputProps?: InputProps;\n ListProps?: Omit<\n ListProps<Item, Selection>,\n \"ListItem\" | \"itemToString\" | \"source\"\n >;\n allowFreeText?: boolean;\n defaultValue?: string;\n getFilterRegex?: (inputValue: string) => RegExp;\n stringToItem?: (value?: string) => Item | null | undefined;\n value?: string;\n}\n\nexport const ComboBox = forwardRef(function Combobox<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n>(\n {\n InputProps,\n ListProps,\n ListItem,\n \"aria-label\": ariaLabel,\n allowFreeText,\n children,\n defaultIsOpen,\n defaultValue,\n disabled,\n onBlur,\n onFocus,\n onChange,\n onSelect,\n getFilterRegex,\n id: idProp,\n isOpen: isOpenProp,\n itemToString,\n onOpenChange: onOpenChangeProp,\n onSelectionChange,\n selectionStrategy,\n source,\n stringToItem,\n value: valueProp,\n width = 180,\n ...props\n }: ComboBoxProps<Item, Selection>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const id = useId(idProp);\n\n const collectionHook = useCollectionItems<Item>({\n id,\n source,\n children,\n options: {\n filterPattern: valueProp ?? defaultValue,\n getFilterRegex,\n itemToString,\n },\n });\n\n const {\n focusVisible,\n highlightedIndex,\n inputProps,\n isOpen,\n listHandlers,\n listControlProps: controlProps,\n onOpenChange,\n selected,\n } = useCombobox<Item, Selection>({\n InputProps,\n allowFreeText,\n ariaLabel,\n collectionHook,\n defaultIsOpen,\n defaultValue,\n disabled,\n onBlur,\n onFocus,\n onChange,\n onSelect,\n id,\n isOpen: isOpenProp,\n itemToString,\n label: \"ComboBox\",\n onOpenChange: onOpenChangeProp,\n onSelectionChange,\n selectionStrategy,\n stringToItem,\n value: valueProp,\n });\n\n const collectionItemsToItem = useCallback(\n (\n sel?: CollectionItem<Item> | null | CollectionItem<Item>[],\n ):\n | undefined\n | (Selection extends SingleSelectionStrategy ? Item | null : Item[]) => {\n type returnType = Selection extends SingleSelectionStrategy\n ? Item | null\n : Item[];\n if (Array.isArray(sel)) {\n return sel.map((i) => i.value) as returnType;\n }\n if (sel) {\n return sel.value as returnType;\n }\n return sel as returnType;\n },\n [],\n );\n\n return (\n <CollectionProvider<Item> collectionHook={collectionHook}>\n <DropdownBase\n {...props}\n fullWidth\n id={id}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n openOnFocus\n ref={forwardedRef}\n width={width}\n >\n <Input\n {...inputProps}\n disabled={disabled}\n // ref={useForkRef(setInputRef, setHookInputRef)}\n {...controlProps}\n />\n\n <List<Item, Selection>\n {...ListProps}\n ListItem={ListItem}\n focusVisible={focusVisible}\n highlightedIndex={highlightedIndex}\n itemTextHighlightPattern={inputProps.value || undefined}\n id={`${id}-list`}\n listHandlers={listHandlers}\n onSelectionChange={onSelectionChange}\n selected={collectionItemsToItem(selected)}\n selectionStrategy={selectionStrategy}\n />\n </DropdownBase>\n </CollectionProvider>\n );\n}) as <Item, Selection extends SelectionStrategy = \"default\">(\n props: ComboBoxProps<Item, Selection> & {\n ref?: ForwardedRef<HTMLDivElement>;\n },\n) => ReactElement<ComboBoxProps<Item, Selection>>;\n"],"names":["forwardRef","useId","useCollectionItems","useCombobox","useCallback","jsx","CollectionProvider","jsxs","DropdownBase","Input","List"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmDa,MAAA,QAAA,GAAWA,gBAAW,CAAA,SAAS,QAI1C,CAAA;AAAA,EACE,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAc,EAAA,SAAA;AAAA,EACd,aAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,EAAI,EAAA,MAAA;AAAA,EACJ,MAAQ,EAAA,UAAA;AAAA,EACR,YAAA;AAAA,EACA,YAAc,EAAA,gBAAA;AAAA,EACd,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAO,EAAA,SAAA;AAAA,EACP,KAAQ,GAAA,GAAA;AAAA,EACR,GAAG;AACL,CAAA,EACA,YACA,EAAA;AACA,EAAM,MAAA,EAAA,GAAKC,eAAM,MAAM,CAAA;AAEvB,EAAA,MAAM,iBAAiBC,qCAAyB,CAAA;AAAA,IAC9C,EAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAS,EAAA;AAAA,MACP,eAAe,SAAa,IAAA,YAAA;AAAA,MAC5B,cAAA;AAAA,MACA;AAAA;AACF,GACD,CAAA;AAED,EAAM,MAAA;AAAA,IACJ,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAkB,EAAA,YAAA;AAAA,IAClB,YAAA;AAAA,IACA;AAAA,MACEC,uBAA6B,CAAA;AAAA,IAC/B,UAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IAEA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,EAAA;AAAA,IACA,MAAQ,EAAA,UAAA;AAAA,IACR,YAAA;AAAA,IAEA,YAAc,EAAA,gBAAA;AAAA,IACd,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAO,EAAA;AAAA,GACR,CAAA;AAED,EAAA,MAAM,qBAAwB,GAAAC,iBAAA;AAAA,IAC5B,CACE,GAGwE,KAAA;AAIxE,MAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,GAAG,CAAG,EAAA;AACtB,QAAA,OAAO,GAAI,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,KAAK,CAAA;AAAA;AAE/B,MAAA,IAAI,GAAK,EAAA;AACP,QAAA,OAAO,GAAI,CAAA,KAAA;AAAA;AAEb,MAAO,OAAA,GAAA;AAAA,KACT;AAAA,IACA;AAAC,GACH;AAEA,EACE,uBAAAC,cAAA,CAACC,yCAAyB,cACxB,EAAA,QAAA,kBAAAC,eAAA;AAAA,IAACC,yBAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAS,EAAA,IAAA;AAAA,MACT,EAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAW,EAAA,IAAA;AAAA,MACX,GAAK,EAAA,YAAA;AAAA,MACL,KAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAH,cAAA;AAAA,UAACI,uBAAA;AAAA,UAAA;AAAA,YACE,GAAG,UAAA;AAAA,YACJ,QAAA;AAAA,YAEC,GAAG;AAAA;AAAA,SACN;AAAA,wBAEAJ,cAAA;AAAA,UAACK,SAAA;AAAA,UAAA;AAAA,YACE,GAAG,SAAA;AAAA,YACJ,QAAA;AAAA,YACA,YAAA;AAAA,YACA,gBAAA;AAAA,YACA,wBAAA,EAA0B,WAAW,KAAS,IAAA,MAAA;AAAA,YAC9C,EAAA,EAAI,GAAG,EAAE,CAAA,KAAA,CAAA;AAAA,YACT,YAAA;AAAA,YACA,iBAAA;AAAA,YACA,QAAA,EAAU,sBAAsB,QAAQ,CAAA;AAAA,YACxC;AAAA;AAAA;AACF;AAAA;AAAA,GAEJ,EAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"ComboBox.js","sources":["../src/combo-box/ComboBox.tsx"],"sourcesContent":["import { useIdMemo as useId } from \"@salt-ds/core\";\nimport {\n type ForwardedRef,\n forwardRef,\n type ReactElement,\n useCallback,\n} from \"react\";\nimport {\n type CollectionItem,\n CollectionProvider,\n type SelectionProps,\n type SelectionStrategy,\n type SingleSelectionStrategy,\n useCollectionItems,\n} from \"../common-hooks\";\nimport { DropdownBase, type DropdownBaseProps } from \"../dropdown\";\nimport {\n InputLegacy as Input,\n type InputLegacyProps as InputProps,\n} from \"../input-legacy\";\nimport { List, type ListProps } from \"../list\";\nimport { useCombobox } from \"./useCombobox\";\n\nexport interface ComboBoxProps<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n> extends Omit<\n DropdownBaseProps,\n \"triggerComponent\" | \"onBlur\" | \"onChange\" | \"onFocus\"\n >,\n Pick<InputProps, \"onBlur\" | \"onChange\" | \"onFocus\" | \"onSelect\">,\n Pick<\n ListProps<Item, Selection>,\n \"ListItem\" | \"itemToString\" | \"source\" | \"width\"\n >,\n Pick<\n SelectionProps<Item, Selection>,\n \"onSelectionChange\" | \"selectionStrategy\"\n > {\n InputProps?: InputProps;\n ListProps?: Omit<\n ListProps<Item, Selection>,\n \"ListItem\" | \"itemToString\" | \"source\"\n >;\n allowFreeText?: boolean;\n defaultValue?: string;\n getFilterRegex?: (inputValue: string) => RegExp;\n stringToItem?: (value?: string) => Item | null | undefined;\n value?: string;\n}\n\nexport const ComboBox = forwardRef(function Combobox<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n>(\n {\n InputProps,\n ListProps,\n ListItem,\n \"aria-label\": ariaLabel,\n allowFreeText,\n children,\n defaultIsOpen,\n defaultValue,\n disabled,\n onBlur,\n onFocus,\n onChange,\n onSelect,\n getFilterRegex,\n id: idProp,\n isOpen: isOpenProp,\n itemToString,\n onOpenChange: onOpenChangeProp,\n onSelectionChange,\n selectionStrategy,\n source,\n stringToItem,\n value: valueProp,\n width = 180,\n ...props\n }: ComboBoxProps<Item, Selection>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const id = useId(idProp);\n\n const collectionHook = useCollectionItems<Item>({\n id,\n source,\n children,\n options: {\n filterPattern: valueProp ?? defaultValue,\n getFilterRegex,\n itemToString,\n },\n });\n\n const {\n focusVisible,\n highlightedIndex,\n inputProps,\n isOpen,\n listHandlers,\n listControlProps: controlProps,\n onOpenChange,\n selected,\n } = useCombobox<Item, Selection>({\n InputProps,\n allowFreeText,\n ariaLabel,\n collectionHook,\n defaultIsOpen,\n defaultValue,\n disabled,\n onBlur,\n onFocus,\n onChange,\n onSelect,\n id,\n isOpen: isOpenProp,\n itemToString,\n label: \"ComboBox\",\n onOpenChange: onOpenChangeProp,\n onSelectionChange,\n selectionStrategy,\n stringToItem,\n value: valueProp,\n });\n\n const collectionItemsToItem = useCallback(\n (\n sel?: CollectionItem<Item> | null | CollectionItem<Item>[],\n ):\n | undefined\n | (Selection extends SingleSelectionStrategy ? Item | null : Item[]) => {\n type returnType = Selection extends SingleSelectionStrategy\n ? Item | null\n : Item[];\n if (Array.isArray(sel)) {\n return sel.map((i) => i.value) as returnType;\n }\n if (sel) {\n return sel.value as returnType;\n }\n return sel as returnType;\n },\n [],\n );\n\n return (\n <CollectionProvider<Item> collectionHook={collectionHook}>\n <DropdownBase\n {...props}\n fullWidth\n id={id}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n openOnFocus\n ref={forwardedRef}\n width={width}\n >\n <Input\n {...inputProps}\n disabled={disabled}\n // ref={useForkRef(setInputRef, setHookInputRef)}\n {...controlProps}\n />\n\n <List<Item, Selection>\n {...ListProps}\n ListItem={ListItem}\n focusVisible={focusVisible}\n highlightedIndex={highlightedIndex}\n itemTextHighlightPattern={inputProps.value || undefined}\n id={`${id}-list`}\n listHandlers={listHandlers}\n onSelectionChange={onSelectionChange}\n selected={collectionItemsToItem(selected)}\n selectionStrategy={selectionStrategy}\n />\n </DropdownBase>\n </CollectionProvider>\n );\n}) as <Item, Selection extends SelectionStrategy = \"default\">(\n props: ComboBoxProps<Item, Selection> & {\n ref?: ForwardedRef<HTMLDivElement>;\n },\n) => ReactElement<ComboBoxProps<Item, Selection>>;\n"],"names":["forwardRef","useId","useCollectionItems","useCombobox","useCallback","jsx","CollectionProvider","jsxs","DropdownBase","Input","List"],"mappings":"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"}