@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.
- package/CHANGELOG.md +60 -0
- package/css/salt-lab.css +284 -251
- package/dist-cjs/app-header/AppHeader.js.map +1 -1
- package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
- package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
- package/dist-cjs/button-bar/ButtonBar.js.map +1 -1
- package/dist-cjs/button-bar/OrderedButton.js.map +1 -1
- package/dist-cjs/button-bar/internal/ButtonBarContext.js.map +1 -1
- package/dist-cjs/button-bar/internal/DescendantContext.js.map +1 -1
- package/dist-cjs/button-bar/internal/useDescendant.js.map +1 -1
- package/dist-cjs/button-bar/internal/useDescendants.js.map +1 -1
- package/dist-cjs/calendar/Calendar.css.js +1 -1
- package/dist-cjs/calendar/Calendar.js +11 -2
- package/dist-cjs/calendar/Calendar.js.map +1 -1
- package/dist-cjs/calendar/CalendarGrid.js +38 -36
- package/dist-cjs/calendar/CalendarGrid.js.map +1 -1
- package/dist-cjs/calendar/CalendarMonthHeader.js +1 -1
- package/dist-cjs/calendar/CalendarMonthHeader.js.map +1 -1
- package/dist-cjs/calendar/CalendarNavigation.css.js +1 -1
- package/dist-cjs/calendar/CalendarNavigation.js +20 -13
- package/dist-cjs/calendar/CalendarNavigation.js.map +1 -1
- package/dist-cjs/calendar/CalendarWeekHeader.css.js +1 -1
- package/dist-cjs/calendar/CalendarWeekHeader.js +1 -1
- package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarContext.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-cjs/calendar/internal/CalendarDay.js +26 -36
- package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarMonth.css.js +1 -1
- package/dist-cjs/calendar/internal/CalendarMonth.js +30 -9
- package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-cjs/calendar/internal/utils.js.map +1 -1
- package/dist-cjs/calendar/useCalendar.js +7 -9
- package/dist-cjs/calendar/useCalendar.js.map +1 -1
- package/dist-cjs/calendar/useCalendarDay.js +7 -11
- package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
- package/dist-cjs/calendar/useCalendarSelection.js +144 -76
- package/dist-cjs/calendar/useCalendarSelection.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenu.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/keydownHandlers.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/menuPositioning.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/stateUtils.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useClickAway.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useMountedRef.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useRefsManager.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useStateReducer.js.map +1 -1
- package/dist-cjs/cascading-menu/stateChangeTypes.js.map +1 -1
- package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-cjs/color-chooser/Color.js.map +1 -1
- package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
- package/dist-cjs/color-chooser/ColorHelpers.js.map +1 -1
- package/dist-cjs/color-chooser/ColorPicker.js.map +1 -1
- package/dist-cjs/color-chooser/DictTabs.js.map +1 -1
- package/dist-cjs/color-chooser/GetColorPalettes.js.map +1 -1
- package/dist-cjs/color-chooser/HexInput.js.map +1 -1
- package/dist-cjs/color-chooser/RGBAInput.js.map +1 -1
- package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
- package/dist-cjs/color-chooser/Swatch.js.map +1 -1
- package/dist-cjs/color-chooser/Swatches.js.map +1 -1
- package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
- package/dist-cjs/color-chooser/color-utils.js.map +1 -1
- package/dist-cjs/color-chooser/colorMap.js.map +1 -1
- package/dist-cjs/color-chooser/createTabsMapping.js.map +1 -1
- package/dist-cjs/combo-box/ComboBox.js.map +1 -1
- package/dist-cjs/combo-box/useCombobox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/filterHelpers.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/useComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
- package/dist-cjs/common-hooks/calcPreferredHeight.js.map +1 -1
- package/dist-cjs/common-hooks/collectionProvider.js.map +1 -1
- package/dist-cjs/common-hooks/itemToString.js.map +1 -1
- package/dist-cjs/common-hooks/keyUtils.js.map +1 -1
- package/dist-cjs/common-hooks/list-dom-utils.js.map +1 -1
- package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
- package/dist-cjs/common-hooks/useAutoSizer.js.map +1 -1
- package/dist-cjs/common-hooks/useCollapsibleGroups.js.map +1 -1
- package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
- package/dist-cjs/common-hooks/useImperativeScrollingAPI.js.map +1 -1
- package/dist-cjs/common-hooks/useKeyboardNavigation.js.map +1 -1
- package/dist-cjs/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
- package/dist-cjs/common-hooks/useSelection.js.map +1 -1
- package/dist-cjs/common-hooks/useTypeahead.js.map +1 -1
- package/dist-cjs/common-hooks/useViewportTracking.js.map +1 -1
- package/dist-cjs/common-hooks/utils/collection-item-utils.js.map +1 -1
- package/dist-cjs/common-hooks/utils/filter-utils.js.map +1 -1
- package/dist-cjs/common-hooks/utils/isSelected.js.map +1 -1
- package/dist-cjs/contact-details/ContactAction.js.map +1 -1
- package/dist-cjs/contact-details/ContactActions.js.map +1 -1
- package/dist-cjs/contact-details/ContactAvatar.js.map +1 -1
- package/dist-cjs/contact-details/ContactDetails.js.map +1 -1
- package/dist-cjs/contact-details/ContactFavoriteToggle.js.map +1 -1
- package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
- package/dist-cjs/contact-details/ContactMetadataItem.js.map +1 -1
- package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/MailLinkComponent.js.map +1 -1
- package/dist-cjs/contact-details/internal/ContactDetailsContext.js.map +1 -1
- package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
- package/dist-cjs/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
- package/dist-cjs/contact-details/internal/StarIcon.js.map +1 -1
- package/dist-cjs/contact-details/internal/StarIconContainer.js.map +1 -1
- package/dist-cjs/contact-details/internal/useComponentSize.js.map +1 -1
- package/dist-cjs/content-status/ContentStatus.js.map +1 -1
- package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
- package/dist-cjs/date-input/DateInputRange.js +3 -2
- package/dist-cjs/date-input/DateInputRange.js.map +1 -1
- package/dist-cjs/date-input/DateInputSingle.js +5 -2
- package/dist-cjs/date-input/DateInputSingle.js.map +1 -1
- package/dist-cjs/date-picker/DatePicker.js +0 -2
- package/dist-cjs/date-picker/DatePicker.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerActions.js +1 -1
- package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerHelperText.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerRangeGridPanel.js +2 -3
- package/dist-cjs/date-picker/DatePickerRangeGridPanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerRangeInput.js +22 -8
- package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerRangePanel.js +2 -4
- package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerSingleGridPanel.js +2 -4
- package/dist-cjs/date-picker/DatePickerSingleGridPanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerSingleInput.js +12 -7
- package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerTrigger.js.map +1 -1
- package/dist-cjs/date-picker/useDatePicker.js +0 -17
- package/dist-cjs/date-picker/useDatePicker.js.map +1 -1
- package/dist-cjs/date-picker/useFocusOut.js.map +1 -1
- package/dist-cjs/date-picker/useKeyboard.js.map +1 -1
- package/dist-cjs/deck-item/DeckItem.js.map +1 -1
- package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
- package/dist-cjs/dropdown/Dropdown.js.map +1 -1
- package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
- package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
- package/dist-cjs/dropdown/useClickAway.js.map +1 -1
- package/dist-cjs/dropdown/useDropdown.js.map +1 -1
- package/dist-cjs/dropdown/useDropdownBase.js.map +1 -1
- package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
- package/dist-cjs/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
- package/dist-cjs/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
- package/dist-cjs/form-field-legacy/FormActivationIndicator.js.map +1 -1
- package/dist-cjs/form-field-legacy/FormFieldLegacy.js.map +1 -1
- package/dist-cjs/form-field-legacy/FormHelperText.js.map +1 -1
- package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
- package/dist-cjs/form-field-legacy/NecessityIndicator.js.map +1 -1
- package/dist-cjs/form-field-legacy/StatusIndicator.js.map +1 -1
- package/dist-cjs/form-field-legacy/constant.js.map +1 -1
- package/dist-cjs/form-group/FormGroup.js.map +1 -1
- package/dist-cjs/formatted-input/FormattedInput.js.map +1 -1
- package/dist-cjs/formatted-input/internal/InputWithMask.js.map +1 -1
- package/dist-cjs/index.js +0 -21
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
- package/dist-cjs/input-legacy/StaticInputAdornment.js.map +1 -1
- package/dist-cjs/input-legacy/useCursorOnFocus.js.map +1 -1
- package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
- package/dist-cjs/list/Highlighter.js.map +1 -1
- package/dist-cjs/list/List.js.map +1 -1
- package/dist-cjs/list/ListItem.js.map +1 -1
- package/dist-cjs/list/ListItemGroup.js.map +1 -1
- package/dist-cjs/list/ListItemHeader.js.map +1 -1
- package/dist-cjs/list/VirtualizedList.js.map +1 -1
- package/dist-cjs/list/keyset.js.map +1 -1
- package/dist-cjs/list/useList.js.map +1 -1
- package/dist-cjs/list/useListHeight.js.map +1 -1
- package/dist-cjs/list/useVirtualization.js.map +1 -1
- package/dist-cjs/list-deprecated/List.js.map +1 -1
- package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
- package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
- package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-cjs/list-deprecated/ListItemContext.js.map +1 -1
- package/dist-cjs/list-deprecated/ListStateContext.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/helpers.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/scrollIntoView.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/useListAutoSizer.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/useWidth.js.map +1 -1
- package/dist-cjs/list-deprecated/itemToString.js.map +1 -1
- package/dist-cjs/list-deprecated/useList.js.map +1 -1
- package/dist-cjs/list-deprecated/useListItem.js.map +1 -1
- package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
- package/dist-cjs/list-next/ListItemNext.js.map +1 -1
- package/dist-cjs/list-next/ListNext.js.map +1 -1
- package/dist-cjs/list-next/ListNextContext.js.map +1 -1
- package/dist-cjs/list-next/useList.js.map +1 -1
- package/dist-cjs/localization-provider/LocalizationProvider.js.map +1 -1
- package/dist-cjs/logo/Logo.js.map +1 -1
- package/dist-cjs/logo/LogoImage.js.map +1 -1
- package/dist-cjs/logo/LogoSeparator.js.map +1 -1
- package/dist-cjs/menu-button/MenuButton.js.map +1 -1
- package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-cjs/metric/Metric.js.map +1 -1
- package/dist-cjs/metric/MetricContent.js.map +1 -1
- package/dist-cjs/metric/MetricHeader.js.map +1 -1
- package/dist-cjs/metric/internal/MetricContext.js.map +1 -1
- package/dist-cjs/number-input/NumberInput.js.map +1 -1
- package/dist-cjs/number-input/internal/useActivateWhileMouseDown.js.map +1 -1
- package/dist-cjs/number-input/internal/useCaret.js.map +1 -1
- package/dist-cjs/number-input/internal/useInterval.js.map +1 -1
- package/dist-cjs/number-input/internal/utils.js.map +1 -1
- package/dist-cjs/number-input/useNumberInput.js.map +1 -1
- package/dist-cjs/portal/Portal.js.map +1 -1
- package/dist-cjs/query-input/QueryInput.js.map +1 -1
- package/dist-cjs/query-input/internal/CategoryList.js.map +1 -1
- package/dist-cjs/query-input/internal/CategoryListContext.js.map +1 -1
- package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-cjs/query-input/internal/SearchList.js.map +1 -1
- package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
- package/dist-cjs/query-input/internal/ValueSelector.js.map +1 -1
- package/dist-cjs/query-input/internal/usePopperStatus.js.map +1 -1
- package/dist-cjs/query-input/useQueryInput.js.map +1 -1
- package/dist-cjs/responsive/OverflowReducer.js.map +1 -1
- package/dist-cjs/responsive/overflowUtils.js.map +1 -1
- package/dist-cjs/responsive/useDynamicCollapse.js.map +1 -1
- package/dist-cjs/responsive/useInstantCollapse.js.map +1 -1
- package/dist-cjs/responsive/useOverflow.js.map +1 -1
- package/dist-cjs/responsive/useOverflowCollectionItems.js.map +1 -1
- package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
- package/dist-cjs/responsive/useReclaimSpace.js.map +1 -1
- package/dist-cjs/responsive/useResizeObserver.js.map +1 -1
- package/dist-cjs/responsive/useWidth.js.map +1 -1
- package/dist-cjs/responsive/utils.js.map +1 -1
- package/dist-cjs/search-input/SearchInput.js.map +1 -1
- package/dist-cjs/static-list/StaticList.js.map +1 -1
- package/dist-cjs/static-list/StaticListItem.js.map +1 -1
- package/dist-cjs/static-list/StaticListItemContent.js.map +1 -1
- package/dist-cjs/system-status/SystemStatus.js.map +1 -1
- package/dist-cjs/system-status/SystemStatusActions.js.map +1 -1
- package/dist-cjs/system-status/SystemStatusContent.js.map +1 -1
- package/dist-cjs/table/TBody.js.map +1 -1
- package/dist-cjs/table/TD.js +6 -2
- package/dist-cjs/table/TD.js.map +1 -1
- package/dist-cjs/table/TFoot.js.map +1 -1
- package/dist-cjs/table/TH.js +6 -2
- package/dist-cjs/table/TH.js.map +1 -1
- package/dist-cjs/table/THead.js.map +1 -1
- package/dist-cjs/table/TR.js.map +1 -1
- package/dist-cjs/table/Table.css.js +1 -1
- package/dist-cjs/table/Table.js +2 -2
- package/dist-cjs/table/Table.js.map +1 -1
- package/dist-cjs/tabs/Tab.js.map +1 -1
- package/dist-cjs/tabs/TabActivationIndicator.js.map +1 -1
- package/dist-cjs/tabs/TabPanel.js.map +1 -1
- package/dist-cjs/tabs/Tabs.js.map +1 -1
- package/dist-cjs/tabs/Tabstrip.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/Draggable.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/drag-utils.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/dragDropTypes.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/useDragDrop.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/useDragSpacers.js.map +1 -1
- package/dist-cjs/tabs/useActivationIndicator.js.map +1 -1
- package/dist-cjs/tabs/useEditableItem.js.map +1 -1
- package/dist-cjs/tabs/useItemsWithIds.js.map +1 -1
- package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-cjs/tabs/useSelection.js.map +1 -1
- package/dist-cjs/tabs/useTabs.js.map +1 -1
- package/dist-cjs/tabs/useTabstrip.js.map +1 -1
- package/dist-cjs/tabs-next/TabBar.js.map +1 -1
- package/dist-cjs/tabs-next/TabListNext.css.js +1 -1
- package/dist-cjs/tabs-next/TabListNext.js +3 -3
- package/dist-cjs/tabs-next/TabListNext.js.map +1 -1
- package/dist-cjs/tabs-next/TabNext.css.js +1 -1
- package/dist-cjs/tabs-next/TabNext.js +0 -1
- package/dist-cjs/tabs-next/TabNext.js.map +1 -1
- package/dist-cjs/tabs-next/TabNextAction.js.map +1 -1
- package/dist-cjs/tabs-next/TabNextContext.js.map +1 -1
- package/dist-cjs/tabs-next/TabNextPanel.js.map +1 -1
- package/dist-cjs/tabs-next/TabNextTrigger.css.js +1 -1
- package/dist-cjs/tabs-next/TabNextTrigger.js +24 -23
- package/dist-cjs/tabs-next/TabNextTrigger.js.map +1 -1
- package/dist-cjs/tabs-next/TabOverflowList.css.js +1 -1
- package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -1
- package/dist-cjs/tabs-next/TabsNext.js.map +1 -1
- package/dist-cjs/tabs-next/TabsNextContext.js.map +1 -1
- package/dist-cjs/tabs-next/hooks/useCollection.js.map +1 -1
- package/dist-cjs/tabs-next/hooks/useFocusOutside.js.map +1 -1
- package/dist-cjs/tabs-next/hooks/useOverflow.js +1 -1
- package/dist-cjs/tabs-next/hooks/useOverflow.js.map +1 -1
- package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js +3 -3
- package/dist-cjs/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
- package/dist-cjs/toast-group/ToastGroup.js.map +1 -1
- package/dist-cjs/tokenized-input/TokenizedInput.js.map +1 -1
- package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/InputRuler.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/defaultItemToString.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/getCursorPosition.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/isPlainObject.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/useResizeObserver.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/useWidth.js.map +1 -1
- package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
- package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
- package/dist-cjs/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
- package/dist-cjs/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
- package/dist-cjs/tokenized-input-next/internal/useWidth.js.map +1 -1
- package/dist-cjs/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
- package/dist-cjs/toolbar/Toolbar.js.map +1 -1
- package/dist-cjs/toolbar/ToolbarButton.js.map +1 -1
- package/dist-cjs/toolbar/Tooltray.js.map +1 -1
- package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-cjs/toolbar/internal/renderTrayTools.js.map +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
- package/dist-cjs/toolbar/toolbar-field/ToolbarField.js.map +1 -1
- package/dist-cjs/toolbar/toolbar-field/useToolbarField.js.map +1 -1
- package/dist-cjs/tree/Tree.js.map +1 -1
- package/dist-cjs/tree/TreeNode.js.map +1 -1
- package/dist-cjs/tree/use-tree-keyboard-navigation.js.map +1 -1
- package/dist-cjs/tree/useTree.js.map +1 -1
- package/dist-cjs/utils/escapeRegExp.js.map +1 -1
- package/dist-cjs/utils/forwardCallbackProps.js.map +1 -1
- package/dist-cjs/utils/isEmail.js.map +1 -1
- package/dist-cjs/utils/isPlainObject.js.map +1 -1
- package/dist-cjs/utils/partition.js.map +1 -1
- package/dist-cjs/utils/useClickOutside.js.map +1 -1
- package/dist-cjs/utils/useEventCallback.js.map +1 -1
- package/dist-cjs/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
- package/dist-cjs/utils/useLayoutEffectOnce.js.map +1 -1
- package/dist-cjs/utils/useLayoutEffectSkipFirst.js.map +1 -1
- package/dist-cjs/utils/useOverflowDetection.js.map +1 -1
- package/dist-cjs/utils/useSlideSelection.js.map +1 -1
- package/dist-cjs/window/ElectronWindow.js.map +1 -1
- package/dist-cjs/window/WindowContext.js.map +1 -1
- package/dist-cjs/window/desktop-utils.js.map +1 -1
- package/dist-es/app-header/AppHeader.js.map +1 -1
- package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +1 -1
- package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js.map +1 -1
- package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js.map +1 -1
- package/dist-es/button-bar/ButtonBar.js.map +1 -1
- package/dist-es/button-bar/OrderedButton.js.map +1 -1
- package/dist-es/button-bar/internal/ButtonBarContext.js.map +1 -1
- package/dist-es/button-bar/internal/DescendantContext.js.map +1 -1
- package/dist-es/button-bar/internal/useDescendant.js.map +1 -1
- package/dist-es/button-bar/internal/useDescendants.js.map +1 -1
- package/dist-es/calendar/Calendar.css.js +1 -1
- package/dist-es/calendar/Calendar.js +12 -3
- package/dist-es/calendar/Calendar.js.map +1 -1
- package/dist-es/calendar/CalendarGrid.js +39 -37
- package/dist-es/calendar/CalendarGrid.js.map +1 -1
- package/dist-es/calendar/CalendarMonthHeader.js +1 -1
- package/dist-es/calendar/CalendarMonthHeader.js.map +1 -1
- package/dist-es/calendar/CalendarNavigation.css.js +1 -1
- package/dist-es/calendar/CalendarNavigation.js +21 -14
- package/dist-es/calendar/CalendarNavigation.js.map +1 -1
- package/dist-es/calendar/CalendarWeekHeader.css.js +1 -1
- package/dist-es/calendar/CalendarWeekHeader.js +2 -2
- package/dist-es/calendar/CalendarWeekHeader.js.map +1 -1
- package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
- package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-es/calendar/internal/CalendarDay.js +27 -37
- package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
- package/dist-es/calendar/internal/CalendarMonth.css.js +1 -1
- package/dist-es/calendar/internal/CalendarMonth.js +31 -10
- package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-es/calendar/internal/utils.js.map +1 -1
- package/dist-es/calendar/useCalendar.js +7 -9
- package/dist-es/calendar/useCalendar.js.map +1 -1
- package/dist-es/calendar/useCalendarDay.js +7 -11
- package/dist-es/calendar/useCalendarDay.js.map +1 -1
- package/dist-es/calendar/useCalendarSelection.js +144 -76
- package/dist-es/calendar/useCalendarSelection.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-es/cascading-menu/internal/CascadingMenuAction.js.map +1 -1
- package/dist-es/cascading-menu/internal/keydownHandlers.js.map +1 -1
- package/dist-es/cascading-menu/internal/menuPositioning.js.map +1 -1
- package/dist-es/cascading-menu/internal/stateUtils.js.map +1 -1
- package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
- package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-es/cascading-menu/internal/useMountedRef.js.map +1 -1
- package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
- package/dist-es/cascading-menu/internal/useRefsManager.js.map +1 -1
- package/dist-es/cascading-menu/internal/useStateReducer.js.map +1 -1
- package/dist-es/cascading-menu/stateChangeTypes.js.map +1 -1
- package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-es/color-chooser/Color.js.map +1 -1
- package/dist-es/color-chooser/ColorChooser.js.map +1 -1
- package/dist-es/color-chooser/ColorHelpers.js.map +1 -1
- package/dist-es/color-chooser/ColorPicker.js.map +1 -1
- package/dist-es/color-chooser/DictTabs.js.map +1 -1
- package/dist-es/color-chooser/GetColorPalettes.js.map +1 -1
- package/dist-es/color-chooser/HexInput.js.map +1 -1
- package/dist-es/color-chooser/RGBAInput.js.map +1 -1
- package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
- package/dist-es/color-chooser/Swatch.js.map +1 -1
- package/dist-es/color-chooser/Swatches.js.map +1 -1
- package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
- package/dist-es/color-chooser/color-utils.js.map +1 -1
- package/dist-es/color-chooser/colorMap.js.map +1 -1
- package/dist-es/color-chooser/createTabsMapping.js.map +1 -1
- package/dist-es/combo-box/ComboBox.js.map +1 -1
- package/dist-es/combo-box/useCombobox.js.map +1 -1
- package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
- package/dist-es/combo-box-deprecated/filterHelpers.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/usePopperStatus.js.map +1 -1
- package/dist-es/common-hooks/calcPreferredHeight.js.map +1 -1
- package/dist-es/common-hooks/collectionProvider.js.map +1 -1
- package/dist-es/common-hooks/itemToString.js.map +1 -1
- package/dist-es/common-hooks/keyUtils.js.map +1 -1
- package/dist-es/common-hooks/list-dom-utils.js.map +1 -1
- package/dist-es/common-hooks/selectionTypes.js.map +1 -1
- package/dist-es/common-hooks/useAutoSizer.js.map +1 -1
- package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
- package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
- package/dist-es/common-hooks/useImperativeScrollingAPI.js.map +1 -1
- package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
- package/dist-es/common-hooks/useKeyboardNavigationPanel.js.map +1 -1
- package/dist-es/common-hooks/useSelection.js.map +1 -1
- package/dist-es/common-hooks/useTypeahead.js.map +1 -1
- package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
- package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
- package/dist-es/common-hooks/utils/filter-utils.js.map +1 -1
- package/dist-es/common-hooks/utils/isSelected.js.map +1 -1
- package/dist-es/contact-details/ContactAction.js.map +1 -1
- package/dist-es/contact-details/ContactActions.js.map +1 -1
- package/dist-es/contact-details/ContactAvatar.js.map +1 -1
- package/dist-es/contact-details/ContactDetails.js.map +1 -1
- package/dist-es/contact-details/ContactFavoriteToggle.js.map +1 -1
- package/dist-es/contact-details/ContactMetadata.js.map +1 -1
- package/dist-es/contact-details/ContactMetadataItem.js.map +1 -1
- package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-es/contact-details/MailLinkComponent.js.map +1 -1
- package/dist-es/contact-details/internal/ContactDetailsContext.js.map +1 -1
- package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
- package/dist-es/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
- package/dist-es/contact-details/internal/StarIcon.js.map +1 -1
- package/dist-es/contact-details/internal/StarIconContainer.js.map +1 -1
- package/dist-es/contact-details/internal/useComponentSize.js.map +1 -1
- package/dist-es/content-status/ContentStatus.js.map +1 -1
- package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
- package/dist-es/date-input/DateInputRange.js +3 -2
- package/dist-es/date-input/DateInputRange.js.map +1 -1
- package/dist-es/date-input/DateInputSingle.js +5 -2
- package/dist-es/date-input/DateInputSingle.js.map +1 -1
- package/dist-es/date-picker/DatePicker.js +0 -2
- package/dist-es/date-picker/DatePicker.js.map +1 -1
- package/dist-es/date-picker/DatePickerActions.js +1 -1
- package/dist-es/date-picker/DatePickerActions.js.map +1 -1
- package/dist-es/date-picker/DatePickerContext.js.map +1 -1
- package/dist-es/date-picker/DatePickerHelperText.js.map +1 -1
- package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
- package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
- package/dist-es/date-picker/DatePickerRangeGridPanel.js +2 -3
- package/dist-es/date-picker/DatePickerRangeGridPanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerRangeInput.js +22 -8
- package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
- package/dist-es/date-picker/DatePickerRangePanel.js +2 -4
- package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerSingleGridPanel.js +2 -4
- package/dist-es/date-picker/DatePickerSingleGridPanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerSingleInput.js +12 -7
- package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
- package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerTrigger.js.map +1 -1
- package/dist-es/date-picker/useDatePicker.js +0 -17
- package/dist-es/date-picker/useDatePicker.js.map +1 -1
- package/dist-es/date-picker/useFocusOut.js.map +1 -1
- package/dist-es/date-picker/useKeyboard.js.map +1 -1
- package/dist-es/deck-item/DeckItem.js.map +1 -1
- package/dist-es/deck-layout/DeckLayout.js.map +1 -1
- package/dist-es/dropdown/Dropdown.js.map +1 -1
- package/dist-es/dropdown/DropdownBase.js.map +1 -1
- package/dist-es/dropdown/DropdownButton.js.map +1 -1
- package/dist-es/dropdown/useClickAway.js.map +1 -1
- package/dist-es/dropdown/useDropdown.js.map +1 -1
- package/dist-es/dropdown/useDropdownBase.js.map +1 -1
- package/dist-es/editable-label/EditableLabel.js.map +1 -1
- package/dist-es/form-field-context-legacy/FormFieldLegacyContext.js.map +1 -1
- package/dist-es/form-field-context-legacy/useFormFieldLegacyProps.js.map +1 -1
- package/dist-es/form-field-legacy/FormActivationIndicator.js.map +1 -1
- package/dist-es/form-field-legacy/FormFieldLegacy.js.map +1 -1
- package/dist-es/form-field-legacy/FormHelperText.js.map +1 -1
- package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
- package/dist-es/form-field-legacy/NecessityIndicator.js.map +1 -1
- package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
- package/dist-es/form-field-legacy/constant.js.map +1 -1
- package/dist-es/form-group/FormGroup.js.map +1 -1
- package/dist-es/formatted-input/FormattedInput.js.map +1 -1
- package/dist-es/formatted-input/internal/InputWithMask.js.map +1 -1
- package/dist-es/index.js +0 -10
- package/dist-es/index.js.map +1 -1
- package/dist-es/input-legacy/InputLegacy.js.map +1 -1
- package/dist-es/input-legacy/StaticInputAdornment.js.map +1 -1
- package/dist-es/input-legacy/useCursorOnFocus.js.map +1 -1
- package/dist-es/layer-layout/LayerLayout.js.map +1 -1
- package/dist-es/list/Highlighter.js.map +1 -1
- package/dist-es/list/List.js.map +1 -1
- package/dist-es/list/ListItem.js.map +1 -1
- package/dist-es/list/ListItemGroup.js.map +1 -1
- package/dist-es/list/ListItemHeader.js.map +1 -1
- package/dist-es/list/VirtualizedList.js.map +1 -1
- package/dist-es/list/keyset.js.map +1 -1
- package/dist-es/list/useList.js.map +1 -1
- package/dist-es/list/useListHeight.js.map +1 -1
- package/dist-es/list/useVirtualization.js.map +1 -1
- package/dist-es/list-deprecated/List.js.map +1 -1
- package/dist-es/list-deprecated/ListBase.js.map +1 -1
- package/dist-es/list-deprecated/ListItem.js.map +1 -1
- package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-es/list-deprecated/ListItemContext.js.map +1 -1
- package/dist-es/list-deprecated/ListStateContext.js.map +1 -1
- package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
- package/dist-es/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-es/list-deprecated/internal/calcPreferredListHeight.js.map +1 -1
- package/dist-es/list-deprecated/internal/helpers.js.map +1 -1
- package/dist-es/list-deprecated/internal/scrollIntoView.js.map +1 -1
- package/dist-es/list-deprecated/internal/useListAutoSizer.js.map +1 -1
- package/dist-es/list-deprecated/internal/useWidth.js.map +1 -1
- package/dist-es/list-deprecated/itemToString.js.map +1 -1
- package/dist-es/list-deprecated/useList.js.map +1 -1
- package/dist-es/list-deprecated/useListItem.js.map +1 -1
- package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
- package/dist-es/list-next/ListItemNext.js.map +1 -1
- package/dist-es/list-next/ListNext.js.map +1 -1
- package/dist-es/list-next/ListNextContext.js.map +1 -1
- package/dist-es/list-next/useList.js.map +1 -1
- package/dist-es/localization-provider/LocalizationProvider.js.map +1 -1
- package/dist-es/logo/Logo.js.map +1 -1
- package/dist-es/logo/LogoImage.js.map +1 -1
- package/dist-es/logo/LogoSeparator.js.map +1 -1
- package/dist-es/menu-button/MenuButton.js.map +1 -1
- package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-es/metric/Metric.js.map +1 -1
- package/dist-es/metric/MetricContent.js.map +1 -1
- package/dist-es/metric/MetricHeader.js.map +1 -1
- package/dist-es/metric/internal/MetricContext.js.map +1 -1
- package/dist-es/number-input/NumberInput.js.map +1 -1
- package/dist-es/number-input/internal/useActivateWhileMouseDown.js.map +1 -1
- package/dist-es/number-input/internal/useCaret.js.map +1 -1
- package/dist-es/number-input/internal/useInterval.js.map +1 -1
- package/dist-es/number-input/internal/utils.js.map +1 -1
- package/dist-es/number-input/useNumberInput.js.map +1 -1
- package/dist-es/portal/Portal.js.map +1 -1
- package/dist-es/query-input/QueryInput.js.map +1 -1
- package/dist-es/query-input/internal/CategoryList.js.map +1 -1
- package/dist-es/query-input/internal/CategoryListContext.js.map +1 -1
- package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-es/query-input/internal/SearchList.js.map +1 -1
- package/dist-es/query-input/internal/ValueList.js.map +1 -1
- package/dist-es/query-input/internal/ValueSelector.js.map +1 -1
- package/dist-es/query-input/internal/usePopperStatus.js.map +1 -1
- package/dist-es/query-input/useQueryInput.js.map +1 -1
- package/dist-es/responsive/OverflowReducer.js.map +1 -1
- package/dist-es/responsive/overflowUtils.js.map +1 -1
- package/dist-es/responsive/useDynamicCollapse.js.map +1 -1
- package/dist-es/responsive/useInstantCollapse.js.map +1 -1
- package/dist-es/responsive/useOverflow.js.map +1 -1
- package/dist-es/responsive/useOverflowCollectionItems.js.map +1 -1
- package/dist-es/responsive/useOverflowLayout.js.map +1 -1
- package/dist-es/responsive/useReclaimSpace.js.map +1 -1
- package/dist-es/responsive/useResizeObserver.js.map +1 -1
- package/dist-es/responsive/useWidth.js.map +1 -1
- package/dist-es/responsive/utils.js.map +1 -1
- package/dist-es/search-input/SearchInput.js.map +1 -1
- package/dist-es/static-list/StaticList.js.map +1 -1
- package/dist-es/static-list/StaticListItem.js.map +1 -1
- package/dist-es/static-list/StaticListItemContent.js.map +1 -1
- package/dist-es/system-status/SystemStatus.js.map +1 -1
- package/dist-es/system-status/SystemStatusActions.js.map +1 -1
- package/dist-es/system-status/SystemStatusContent.js.map +1 -1
- package/dist-es/table/TBody.js.map +1 -1
- package/dist-es/table/TD.js +6 -2
- package/dist-es/table/TD.js.map +1 -1
- package/dist-es/table/TFoot.js.map +1 -1
- package/dist-es/table/TH.js +6 -2
- package/dist-es/table/TH.js.map +1 -1
- package/dist-es/table/THead.js.map +1 -1
- package/dist-es/table/TR.js.map +1 -1
- package/dist-es/table/Table.css.js +1 -1
- package/dist-es/table/Table.js +2 -2
- package/dist-es/table/Table.js.map +1 -1
- package/dist-es/tabs/Tab.js.map +1 -1
- package/dist-es/tabs/TabActivationIndicator.js.map +1 -1
- package/dist-es/tabs/TabPanel.js.map +1 -1
- package/dist-es/tabs/Tabs.js.map +1 -1
- package/dist-es/tabs/Tabstrip.js.map +1 -1
- package/dist-es/tabs/drag-drop/Draggable.js.map +1 -1
- package/dist-es/tabs/drag-drop/drag-utils.js.map +1 -1
- package/dist-es/tabs/drag-drop/dragDropTypes.js.map +1 -1
- package/dist-es/tabs/drag-drop/useDragDrop.js.map +1 -1
- package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
- package/dist-es/tabs/drag-drop/useDragSpacers.js.map +1 -1
- package/dist-es/tabs/useActivationIndicator.js.map +1 -1
- package/dist-es/tabs/useEditableItem.js.map +1 -1
- package/dist-es/tabs/useItemsWithIds.js.map +1 -1
- package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-es/tabs/useSelection.js.map +1 -1
- package/dist-es/tabs/useTabs.js.map +1 -1
- package/dist-es/tabs/useTabstrip.js.map +1 -1
- package/dist-es/tabs-next/TabBar.js.map +1 -1
- package/dist-es/tabs-next/TabListNext.css.js +1 -1
- package/dist-es/tabs-next/TabListNext.js +3 -3
- package/dist-es/tabs-next/TabListNext.js.map +1 -1
- package/dist-es/tabs-next/TabNext.css.js +1 -1
- package/dist-es/tabs-next/TabNext.js +0 -1
- package/dist-es/tabs-next/TabNext.js.map +1 -1
- package/dist-es/tabs-next/TabNextAction.js.map +1 -1
- package/dist-es/tabs-next/TabNextContext.js.map +1 -1
- package/dist-es/tabs-next/TabNextPanel.js.map +1 -1
- package/dist-es/tabs-next/TabNextTrigger.css.js +1 -1
- package/dist-es/tabs-next/TabNextTrigger.js +24 -23
- package/dist-es/tabs-next/TabNextTrigger.js.map +1 -1
- package/dist-es/tabs-next/TabOverflowList.css.js +1 -1
- package/dist-es/tabs-next/TabOverflowList.js.map +1 -1
- package/dist-es/tabs-next/TabsNext.js.map +1 -1
- package/dist-es/tabs-next/TabsNextContext.js.map +1 -1
- package/dist-es/tabs-next/hooks/useCollection.js.map +1 -1
- package/dist-es/tabs-next/hooks/useFocusOutside.js.map +1 -1
- package/dist-es/tabs-next/hooks/useOverflow.js +1 -1
- package/dist-es/tabs-next/hooks/useOverflow.js.map +1 -1
- package/dist-es/tabs-next/hooks/useRestoreActiveTab.js +3 -3
- package/dist-es/tabs-next/hooks/useRestoreActiveTab.js.map +1 -1
- package/dist-es/toast-group/ToastGroup.js.map +1 -1
- package/dist-es/tokenized-input/TokenizedInput.js.map +1 -1
- package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-es/tokenized-input/internal/InputRuler.js.map +1 -1
- package/dist-es/tokenized-input/internal/calcFirstHiddenIndex.js.map +1 -1
- package/dist-es/tokenized-input/internal/defaultItemToString.js.map +1 -1
- package/dist-es/tokenized-input/internal/getCursorPosition.js.map +1 -1
- package/dist-es/tokenized-input/internal/isPlainObject.js.map +1 -1
- package/dist-es/tokenized-input/internal/useResizeObserver.js.map +1 -1
- package/dist-es/tokenized-input/internal/useWidth.js.map +1 -1
- package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
- package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
- package/dist-es/tokenized-input-next/internal/calcFirstHiddenIndex.js.map +1 -1
- package/dist-es/tokenized-input-next/internal/useResizeObserver.js.map +1 -1
- package/dist-es/tokenized-input-next/internal/useWidth.js.map +1 -1
- package/dist-es/tokenized-input-next/useTokenizedInputNext.js.map +1 -1
- package/dist-es/toolbar/Toolbar.js.map +1 -1
- package/dist-es/toolbar/ToolbarButton.js.map +1 -1
- package/dist-es/toolbar/Tooltray.js.map +1 -1
- package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-es/toolbar/internal/renderTrayTools.js.map +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
- package/dist-es/toolbar/toolbar-field/ToolbarField.js.map +1 -1
- package/dist-es/toolbar/toolbar-field/useToolbarField.js.map +1 -1
- package/dist-es/tree/Tree.js.map +1 -1
- package/dist-es/tree/TreeNode.js.map +1 -1
- package/dist-es/tree/use-tree-keyboard-navigation.js.map +1 -1
- package/dist-es/tree/useTree.js.map +1 -1
- package/dist-es/utils/escapeRegExp.js.map +1 -1
- package/dist-es/utils/forwardCallbackProps.js.map +1 -1
- package/dist-es/utils/isEmail.js.map +1 -1
- package/dist-es/utils/isPlainObject.js.map +1 -1
- package/dist-es/utils/partition.js.map +1 -1
- package/dist-es/utils/useClickOutside.js.map +1 -1
- package/dist-es/utils/useEventCallback.js.map +1 -1
- package/dist-es/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
- package/dist-es/utils/useLayoutEffectOnce.js.map +1 -1
- package/dist-es/utils/useLayoutEffectSkipFirst.js.map +1 -1
- package/dist-es/utils/useOverflowDetection.js.map +1 -1
- package/dist-es/utils/useSlideSelection.js.map +1 -1
- package/dist-es/window/ElectronWindow.js.map +1 -1
- package/dist-es/window/WindowContext.js.map +1 -1
- package/dist-es/window/desktop-utils.js.map +1 -1
- package/dist-types/calendar/useCalendar.d.ts +26 -25
- package/dist-types/calendar/useCalendarDay.d.ts +1 -5
- package/dist-types/calendar/useCalendarSelection.d.ts +14 -11
- package/dist-types/date-picker/DatePickerContext.d.ts +0 -6
- package/dist-types/date-picker/DatePickerRangeGridPanel.d.ts +2 -2
- package/dist-types/date-picker/DatePickerRangePanel.d.ts +4 -4
- package/dist-types/date-picker/DatePickerSingleGridPanel.d.ts +2 -2
- package/dist-types/date-picker/useDatePicker.d.ts +0 -6
- package/dist-types/index.d.ts +0 -2
- package/dist-types/table/TD.d.ts +6 -0
- package/dist-types/table/TH.d.ts +6 -0
- package/dist-types/table/Table.d.ts +3 -3
- package/dist-types/tabs-next/TabNextTrigger.d.ts +1 -1
- package/package.json +2 -2
- package/dist-cjs/collapsible/Collapsible.js +0 -47
- package/dist-cjs/collapsible/Collapsible.js.map +0 -1
- package/dist-cjs/collapsible/CollapsibleContext.js +0 -23
- package/dist-cjs/collapsible/CollapsibleContext.js.map +0 -1
- package/dist-cjs/collapsible/CollapsiblePanel.css.js +0 -6
- package/dist-cjs/collapsible/CollapsiblePanel.css.js.map +0 -1
- package/dist-cjs/collapsible/CollapsiblePanel.js +0 -42
- package/dist-cjs/collapsible/CollapsiblePanel.js.map +0 -1
- package/dist-cjs/collapsible/CollapsibleTrigger.js +0 -35
- package/dist-cjs/collapsible/CollapsibleTrigger.js.map +0 -1
- package/dist-cjs/vertical-navigation/SubMenuContext.js +0 -34
- package/dist-cjs/vertical-navigation/SubMenuContext.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigation.css.js +0 -6
- package/dist-cjs/vertical-navigation/VerticalNavigation.css.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigation.js +0 -34
- package/dist-cjs/vertical-navigation/VerticalNavigation.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItem.js +0 -48
- package/dist-cjs/vertical-navigation/VerticalNavigationItem.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js +0 -6
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.css.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js +0 -83
- package/dist-cjs/vertical-navigation/VerticalNavigationItemContent.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js +0 -29
- package/dist-cjs/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js +0 -6
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.css.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js +0 -24
- package/dist-cjs/vertical-navigation/VerticalNavigationItemLabel.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js +0 -6
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js +0 -69
- package/dist-cjs/vertical-navigation/VerticalNavigationItemTrigger.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js +0 -6
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.css.js.map +0 -1
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js +0 -35
- package/dist-cjs/vertical-navigation/VerticalNavigationSubMenu.js.map +0 -1
- package/dist-es/collapsible/Collapsible.js +0 -45
- package/dist-es/collapsible/Collapsible.js.map +0 -1
- package/dist-es/collapsible/CollapsibleContext.js +0 -20
- package/dist-es/collapsible/CollapsibleContext.js.map +0 -1
- package/dist-es/collapsible/CollapsiblePanel.css.js +0 -4
- package/dist-es/collapsible/CollapsiblePanel.css.js.map +0 -1
- package/dist-es/collapsible/CollapsiblePanel.js +0 -40
- package/dist-es/collapsible/CollapsiblePanel.js.map +0 -1
- package/dist-es/collapsible/CollapsibleTrigger.js +0 -33
- package/dist-es/collapsible/CollapsibleTrigger.js.map +0 -1
- package/dist-es/vertical-navigation/SubMenuContext.js +0 -30
- package/dist-es/vertical-navigation/SubMenuContext.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigation.css.js +0 -4
- package/dist-es/vertical-navigation/VerticalNavigation.css.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigation.js +0 -32
- package/dist-es/vertical-navigation/VerticalNavigation.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItem.js +0 -45
- package/dist-es/vertical-navigation/VerticalNavigationItem.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js +0 -4
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.css.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.js +0 -81
- package/dist-es/vertical-navigation/VerticalNavigationItemContent.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js +0 -27
- package/dist-es/vertical-navigation/VerticalNavigationItemExpansionIcon.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js +0 -4
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.css.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js +0 -22
- package/dist-es/vertical-navigation/VerticalNavigationItemLabel.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js +0 -4
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.css.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js +0 -67
- package/dist-es/vertical-navigation/VerticalNavigationItemTrigger.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js +0 -4
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.css.js.map +0 -1
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js +0 -33
- package/dist-es/vertical-navigation/VerticalNavigationSubMenu.js.map +0 -1
- package/dist-types/collapsible/Collapsible.d.ts +0 -16
- package/dist-types/collapsible/CollapsibleContext.d.ts +0 -9
- package/dist-types/collapsible/CollapsiblePanel.d.ts +0 -4
- package/dist-types/collapsible/CollapsibleTrigger.d.ts +0 -5
- package/dist-types/collapsible/index.d.ts +0 -3
- package/dist-types/vertical-navigation/SubMenuContext.d.ts +0 -14
- package/dist-types/vertical-navigation/VerticalNavigation.d.ts +0 -5
- package/dist-types/vertical-navigation/VerticalNavigationItem.d.ts +0 -12
- package/dist-types/vertical-navigation/VerticalNavigationItemContent.d.ts +0 -4
- package/dist-types/vertical-navigation/VerticalNavigationItemExpansionIcon.d.ts +0 -2
- package/dist-types/vertical-navigation/VerticalNavigationItemLabel.d.ts +0 -4
- package/dist-types/vertical-navigation/VerticalNavigationItemTrigger.d.ts +0 -6
- package/dist-types/vertical-navigation/VerticalNavigationSubMenu.d.ts +0 -4
- 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":";;;;;;AAIO,SAAS,uBACd,
|
|
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":";;;;;;;;;;;;;;AAYA,MAAM,YAAA,GAAeA,kBAAa,wBAAwB,CAAA;AAcnD,MAAM,cAAc,CAAC;AAAA,EAC1B,
|
|
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,
|
|
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":";;;;
|
|
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,
|
|
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,
|
|
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":";;;;;;;;;;;AAcA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA;AAO7C,MAAM,WAAW,CAAC;AAAA,EACvB,SAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,
|
|
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,
|
|
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,WAAA,GAAc;AAChB,CAAA,KAAgC;AAC9B,EAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,EAAAC,+BAAA,CAAyB;AAAA,IACvB,MAAA,EAAQ,aAAA;AAAA,IACR,GAAA,EAAKC,QAAA;AAAA,IACL,MAAA,EAAQ;AAAA,GACT,CAAA;AAED,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,MAAM,QAAA,GAAWC,WAAA,CAAM,gBAAA,CAAiB,KAAK,CAAA;AAC7C,IAAAC,wBAAA,CAAc,KAAK,CAAA,GAAI,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,QAAA,CAAS,CAAA,CAAA,GAAK,qCAAU,QAAA,CAAS,KAAA,CAAA;AAElE,IAAA,OAAA,CAAQ,UAAU,IAAI,CAAA;AACtB,IAAA,cAAA,EAAe;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAA2C;AAjDpE,IAAA,IAAA,EAAA;AAkDI,IAAA,MAAM,YAAW,EAAA,GAAAD,WAAA,CAAM,gBAAA,CAAiB,KAAK,CAAA,KAA5B,mBAA+B,QAAA,CAAS,KAAA,CAAA;AACzD,IAAA,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,OAAA,CAAQ,QAAA,EAAU,IAAI,CAAA;AAC3C,IAAA,cAAA,EAAe;AAAA,EACjB,CAAA;AAGA,EAAA,MAAM,aAAA,GAAgB,CAACE,MAAAA,KAA2B;AAChD,IAAA,OACEA,MAAAA,CAAM,WAAA,EAAY,KAAM,OAAA,IACxBA,MAAAA,CAAM,WAAA,EAAY,CAAE,UAAA,CAAW,SAAS,CAAA,IACxCA,MAAAA,CAAM,WAAA,EAAY,CAAE,WAAW,SAAS,CAAA,IACxCA,MAAAA,CAAM,WAAA,EAAY,CAAE,UAAA,CAAW,SAAS,CAAA,IACxCA,MAAAA,CAAM,WAAA,EAAY,CAAE,UAAA,CAAW,SAAS,CAAA;AAAA,EAE5C,CAAA;AACA,EAAA,MAAM,OAAA,GAAU,CAACA,MAAAA,KAA2BA,MAAAA,KAAU,OAAA;AAEtD,EAAA,MAAM,qBAAqB,MAAM;AAC/B,IAAA,MAAM,eAAA,GAAkBF,WAAA,CAAM,gBAAA,CAAiB,KAAK,CAAA;AACpD,IAAA,OAAO,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,SAAS,KAAA,CAAA,CAAO,GAAA;AAAA,EAC1C,CAAA;AAEA,EAAA,uBACEG,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAa,UAAU,KAAK,CAAA,CAAA;AAAA,MAC5B,KAAA,EAAO;AAAA,QACL,YAAY,kBAAA;AAAmB,OACjC;AAAA,MACA,WAAWC,SAAA,CAAK;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,OAAA,EAAS,WAAA;AAAA,MACT,QAAA,EAAU,CAAA;AAAA,MACV,SAAA,EAAW;AAAA;AAAA,GACb;AAEJ;;;;"}
|
|
@@ -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,
|
|
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,
|
|
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":";;
|
|
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,
|
|
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,
|
|
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":";;;;;;;;;;;;;;;;;;;;;
|
|
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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"}
|