@salt-ds/lab 1.0.0-alpha.70 → 1.0.0-alpha.72
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 +154 -0
- package/css/salt-lab.css +239 -346
- package/dist-cjs/app-header/AppHeader.css.js +1 -1
- package/dist-cjs/app-header/AppHeader.js +5 -5
- package/dist-cjs/app-header/AppHeader.js.map +1 -1
- package/dist-cjs/breadcrumbs/Breadcrumb.js +3 -3
- package/dist-cjs/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-cjs/breadcrumbs/Breadcrumbs.js +3 -3
- package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-cjs/button-bar/ButtonBar.js +4 -4
- package/dist-cjs/button-bar/ButtonBar.js.map +1 -1
- package/dist-cjs/button-bar/OrderedButton.js +3 -3
- package/dist-cjs/button-bar/OrderedButton.js.map +1 -1
- package/dist-cjs/button-bar/internal/DescendantContext.js.map +1 -1
- package/dist-cjs/calendar/Calendar.js +35 -10
- package/dist-cjs/calendar/Calendar.js.map +1 -1
- package/dist-cjs/calendar/CalendarGrid.js +2 -2
- package/dist-cjs/calendar/CalendarGrid.js.map +1 -1
- package/dist-cjs/calendar/CalendarMonthHeader.js +2 -2
- package/dist-cjs/calendar/CalendarMonthHeader.js.map +1 -1
- package/dist-cjs/calendar/CalendarNavigation.js.map +1 -1
- package/dist-cjs/calendar/CalendarWeekHeader.css.js +1 -1
- package/dist-cjs/calendar/CalendarWeekHeader.js +3 -3
- package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
- 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 +3 -3
- package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-cjs/calendar/internal/useFocusManagement.js +1 -1
- package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-cjs/calendar/useCalendar.js +6 -0
- package/dist-cjs/calendar/useCalendar.js.map +1 -1
- package/dist-cjs/calendar/useCalendarSelection.js +185 -103
- 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.css.js +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuItem.js +3 -3
- package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuList.js +5 -5
- package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-cjs/color-chooser/AlphaInputField.js +2 -2
- package/dist-cjs/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-cjs/color-chooser/ColorChooser.css.js +1 -1
- package/dist-cjs/color-chooser/ColorChooser.js +38 -40
- package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
- package/dist-cjs/color-chooser/ColorPicker.css.js +1 -1
- package/dist-cjs/color-chooser/ColorPicker.js +3 -3
- package/dist-cjs/color-chooser/ColorPicker.js.map +1 -1
- package/dist-cjs/color-chooser/DictTabs.js +2 -2
- package/dist-cjs/color-chooser/HexInput.css.js +1 -1
- package/dist-cjs/color-chooser/HexInput.js +2 -2
- package/dist-cjs/color-chooser/HexInput.js.map +1 -1
- package/dist-cjs/color-chooser/RGBAInput.css.js +1 -1
- package/dist-cjs/color-chooser/RGBAInput.js +3 -3
- package/dist-cjs/color-chooser/RGBAInput.js.map +1 -1
- package/dist-cjs/color-chooser/RGBAInputField.js +2 -2
- package/dist-cjs/color-chooser/RGBAInputField.js.map +1 -1
- package/dist-cjs/color-chooser/Swatch.css.js +1 -1
- package/dist-cjs/color-chooser/Swatches.js +3 -3
- package/dist-cjs/color-chooser/Swatches.js.map +1 -1
- package/dist-cjs/color-chooser/SwatchesPicker.js +3 -3
- package/dist-cjs/color-chooser/SwatchesPicker.js.map +1 -1
- package/dist-cjs/combo-box/ComboBox.js +6 -6
- package/dist-cjs/combo-box/ComboBox.js.map +1 -1
- package/dist-cjs/combo-box/useCombobox.js +1 -1
- package/dist-cjs/combo-box/useCombobox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js +3 -3
- package/dist-cjs/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +2 -2
- package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +2 -2
- package/dist-cjs/combo-box-deprecated/internal/useComboBox.js +1 -1
- package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -1
- package/dist-cjs/common-hooks/collectionProvider.js.map +1 -1
- package/dist-cjs/common-hooks/itemToString.js +1 -1
- package/dist-cjs/common-hooks/itemToString.js.map +1 -1
- package/dist-cjs/common-hooks/selectionTypes.js.map +1 -1
- package/dist-cjs/common-hooks/useCollapsibleGroups.js.map +1 -1
- package/dist-cjs/common-hooks/useCollectionItems.js +1 -1
- package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
- package/dist-cjs/common-hooks/useImperativeScrollingAPI.js +6 -10
- 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/useTypeahead.js.map +1 -1
- package/dist-cjs/common-hooks/utils/collection-item-utils.js +2 -2
- package/dist-cjs/common-hooks/utils/collection-item-utils.js.map +1 -1
- package/dist-cjs/contact-details/ContactActions.js +1 -1
- package/dist-cjs/contact-details/ContactActions.js.map +1 -1
- package/dist-cjs/contact-details/ContactAvatar.js +1 -1
- package/dist-cjs/contact-details/ContactDetails.js +4 -4
- package/dist-cjs/contact-details/ContactDetails.js.map +1 -1
- package/dist-cjs/contact-details/ContactFavoriteToggle.js +1 -1
- package/dist-cjs/contact-details/ContactMetadata.js +2 -2
- 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 +1 -1
- package/dist-cjs/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/ContactSecondaryInfo.js +1 -1
- package/dist-cjs/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/ContactTertiaryInfo.js +1 -1
- package/dist-cjs/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-cjs/contact-details/internal/FavoriteToggle.js.map +1 -1
- package/dist-cjs/contact-details/internal/StarIconContainer.js.map +1 -1
- package/dist-cjs/content-status/ContentStatus.js +3 -3
- 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/DateInput.css.js +1 -1
- package/dist-cjs/date-input/DateInputRange.js.map +1 -1
- package/dist-cjs/date-input/DateInputSingle.js.map +1 -1
- package/dist-cjs/date-picker/DatePicker.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerActions.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerContext.js +10 -10
- package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerOverlay.css.js +1 -1
- package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerOverlayProvider.js +4 -0
- package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerPanel.css.js +1 -1
- package/dist-cjs/date-picker/DatePickerRangeGridPanel.js +3 -3
- package/dist-cjs/date-picker/DatePickerRangeGridPanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerRangeInput.js +1 -1
- package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerRangePanel.js +3 -3
- package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerSingleGridPanel.js +3 -3
- package/dist-cjs/date-picker/DatePickerSingleGridPanel.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerSingleInput.js +1 -1
- package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerTrigger.js.map +1 -1
- package/dist-cjs/deck-item/DeckItem.js +2 -2
- package/dist-cjs/deck-item/DeckItem.js.map +1 -1
- package/dist-cjs/deck-layout/DeckLayout.js +3 -3
- package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
- package/dist-cjs/dropdown/Dropdown.js +1 -1
- package/dist-cjs/dropdown/Dropdown.js.map +1 -1
- package/dist-cjs/dropdown/DropdownBase.js +3 -3
- package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
- package/dist-cjs/dropdown/DropdownButton.js +2 -2
- package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
- package/dist-cjs/dropdown/useDropdown.js +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 +2 -2
- package/dist-cjs/editable-label/EditableLabel.js.map +1 -1
- package/dist-cjs/form-field-legacy/FormActivationIndicator.js.map +1 -1
- package/dist-cjs/form-field-legacy/FormFieldLegacy.css.js +1 -1
- package/dist-cjs/form-field-legacy/FormFieldLegacy.js +4 -4
- 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.css.js +1 -1
- package/dist-cjs/form-field-legacy/FormLabel.js +3 -3
- package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
- package/dist-cjs/form-field-legacy/StatusIndicator.js.map +1 -1
- package/dist-cjs/form-group/FormGroup.js +2 -2
- package/dist-cjs/form-group/FormGroup.js.map +1 -1
- package/dist-cjs/formatted-input/FormattedInput.js +3 -3
- 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 +105 -115
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/input-legacy/InputLegacy.css.js +1 -1
- package/dist-cjs/input-legacy/InputLegacy.js +3 -3
- package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
- package/dist-cjs/input-legacy/StaticInputAdornment.js +2 -2
- package/dist-cjs/input-legacy/StaticInputAdornment.js.map +1 -1
- package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
- package/dist-cjs/list/Highlighter.js +2 -2
- package/dist-cjs/list/Highlighter.js.map +1 -1
- package/dist-cjs/list/List.css.js +1 -1
- package/dist-cjs/list/List.js +3 -3
- package/dist-cjs/list/List.js.map +1 -1
- package/dist-cjs/list/ListItem.css.js +1 -1
- package/dist-cjs/list/ListItem.js +2 -2
- package/dist-cjs/list/ListItem.js.map +1 -1
- package/dist-cjs/list/VirtualizedList.js +4 -4
- package/dist-cjs/list/VirtualizedList.js.map +1 -1
- package/dist-cjs/list/useList.js +2 -2
- package/dist-cjs/list/useList.js.map +1 -1
- package/dist-cjs/list/useListHeight.js +1 -1
- package/dist-cjs/list-deprecated/List.css.js +1 -1
- package/dist-cjs/list-deprecated/List.js +2 -2
- package/dist-cjs/list-deprecated/List.js.map +1 -1
- package/dist-cjs/list-deprecated/ListBase.js +15 -19
- package/dist-cjs/list-deprecated/ListBase.js.map +1 -1
- package/dist-cjs/list-deprecated/ListItem.css.js +1 -1
- package/dist-cjs/list-deprecated/ListItem.js +1 -1
- package/dist-cjs/list-deprecated/ListItem.js.map +1 -1
- package/dist-cjs/list-deprecated/ListItemBase.js +2 -2
- package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/DescendantContext.js +7 -4
- package/dist-cjs/list-deprecated/internal/DescendantContext.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/Highlighter.js +2 -2
- package/dist-cjs/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-cjs/list-deprecated/itemToString.js +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-next/ListItemNext.css.js +1 -1
- package/dist-cjs/list-next/ListItemNext.js +2 -2
- package/dist-cjs/list-next/ListItemNext.js.map +1 -1
- package/dist-cjs/list-next/ListNext.css.js +1 -1
- package/dist-cjs/list-next/ListNext.js.map +1 -1
- package/dist-cjs/logo/Logo.js +2 -2
- package/dist-cjs/logo/Logo.js.map +1 -1
- package/dist-cjs/logo/LogoSeparator.css.js +1 -1
- package/dist-cjs/logo/LogoSeparator.js +2 -2
- package/dist-cjs/logo/LogoSeparator.js.map +1 -1
- package/dist-cjs/menu-button/MenuButton.js +1 -1
- package/dist-cjs/menu-button/MenuButton.js.map +1 -1
- package/dist-cjs/menu-button/MenuButtonTrigger.js +2 -2
- package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-cjs/metric/Metric.js +2 -2
- package/dist-cjs/metric/Metric.js.map +1 -1
- package/dist-cjs/metric/MetricContent.css.js +1 -1
- package/dist-cjs/metric/MetricContent.js +2 -2
- package/dist-cjs/metric/MetricContent.js.map +1 -1
- package/dist-cjs/metric/MetricHeader.js +2 -2
- package/dist-cjs/metric/MetricHeader.js.map +1 -1
- package/dist-cjs/number-input/NumberInput.css.js +1 -1
- package/dist-cjs/number-input/NumberInput.js +146 -79
- package/dist-cjs/number-input/NumberInput.js.map +1 -1
- package/dist-cjs/number-input/internal/useCaret.js +34 -0
- package/dist-cjs/number-input/internal/useCaret.js.map +1 -0
- package/dist-cjs/number-input/internal/utils.js +56 -14
- package/dist-cjs/number-input/internal/utils.js.map +1 -1
- package/dist-cjs/number-input/useNumberInput.js +34 -26
- 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.css.js +1 -1
- package/dist-cjs/query-input/QueryInput.js +3 -3
- package/dist-cjs/query-input/QueryInput.js.map +1 -1
- package/dist-cjs/query-input/internal/CategoryList.js +1 -1
- package/dist-cjs/query-input/internal/CategoryListItem.js +1 -1
- package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-cjs/query-input/internal/SearchList.js +3 -3
- package/dist-cjs/query-input/internal/SearchList.js.map +1 -1
- package/dist-cjs/query-input/internal/ValueList.js +1 -1
- package/dist-cjs/query-input/internal/ValueSelector.js +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/useOverflowCollectionItems.js.map +1 -1
- package/dist-cjs/responsive/useOverflowLayout.js.map +1 -1
- package/dist-cjs/responsive/useWidth.js.map +1 -1
- package/dist-cjs/search-input/SearchInput.js +2 -2
- 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/StaticListItemContent.js.map +1 -1
- package/dist-cjs/system-status/SystemStatus.css.js +1 -1
- package/dist-cjs/system-status/SystemStatus.js +2 -2
- package/dist-cjs/system-status/SystemStatus.js.map +1 -1
- package/dist-cjs/system-status/SystemStatusActions.js +2 -2
- package/dist-cjs/system-status/SystemStatusActions.js.map +1 -1
- package/dist-cjs/system-status/SystemStatusContent.js +2 -2
- package/dist-cjs/system-status/SystemStatusContent.js.map +1 -1
- package/dist-cjs/tabs/Tab.css.js +1 -1
- package/dist-cjs/tabs/Tab.js.map +1 -1
- package/dist-cjs/tabs/TabActivationIndicator.css.js +1 -1
- package/dist-cjs/tabs/TabActivationIndicator.js +2 -2
- package/dist-cjs/tabs/TabActivationIndicator.js.map +1 -1
- package/dist-cjs/tabs/TabPanel.js.map +1 -1
- package/dist-cjs/tabs/Tabs.js +3 -3
- package/dist-cjs/tabs/Tabs.js.map +1 -1
- package/dist-cjs/tabs/Tabstrip.css.js +1 -1
- package/dist-cjs/tabs/Tabstrip.js +5 -5
- package/dist-cjs/tabs/Tabstrip.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/Draggable.css.js +1 -1
- package/dist-cjs/tabs/drag-drop/Draggable.js +2 -2
- package/dist-cjs/tabs/drag-drop/Draggable.js.map +1 -1
- package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js +2 -2
- package/dist-cjs/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
- package/dist-cjs/tabs/useActivationIndicator.js +1 -1
- package/dist-cjs/tabs/useActivationIndicator.js.map +1 -1
- package/dist-cjs/tabs/useItemsWithIds.js.map +1 -1
- package/dist-cjs/tabs/useTabstrip.js +1 -1
- package/dist-cjs/tabs/useTabstrip.js.map +1 -1
- package/dist-cjs/tabs-next/TabBar.css.js +1 -1
- package/dist-cjs/tabs-next/TabBar.js +2 -2
- package/dist-cjs/tabs-next/TabBar.js.map +1 -1
- package/dist-cjs/tabs-next/TabListNext.js +2 -2
- 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.map +1 -1
- 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 +1 -1
- package/dist-cjs/tabs-next/TabOverflowList.js.map +1 -1
- package/dist-cjs/tabs-next/TabsNext.js +2 -2
- package/dist-cjs/tabs-next/TabsNext.js.map +1 -1
- package/dist-cjs/tokenized-input/TokenizedInput.css.js +1 -1
- package/dist-cjs/tokenized-input/TokenizedInputBase.js +2 -2
- 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 +1 -1
- package/dist-cjs/tokenized-input/internal/defaultItemToString.js.map +1 -1
- package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.css.js +1 -1
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +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/useTokenizedInputNext.js.map +1 -1
- package/dist-cjs/toolbar/Toolbar.css.js +1 -1
- package/dist-cjs/toolbar/Toolbar.js +6 -6
- package/dist-cjs/toolbar/Toolbar.js.map +1 -1
- package/dist-cjs/toolbar/ToolbarButton.js +1 -1
- package/dist-cjs/toolbar/ToolbarButton.js.map +1 -1
- package/dist-cjs/toolbar/Tooltray.js +3 -3
- package/dist-cjs/toolbar/Tooltray.js.map +1 -1
- package/dist-cjs/toolbar/internal/renderToolbarItems.js +3 -3
- 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.css.js +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +5 -5
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.css.js +1 -1
- package/dist-cjs/toolbar/toolbar-field/ToolbarField.js +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 +4 -4
- package/dist-cjs/tree/Tree.js.map +1 -1
- package/dist-cjs/tree/TreeNode.js +2 -2
- package/dist-cjs/tree/TreeNode.js.map +1 -1
- package/dist-cjs/tree/useTree.js +2 -2
- package/dist-cjs/tree/useTree.js.map +1 -1
- package/dist-cjs/utils/useEventCallback.js +1 -1
- package/dist-cjs/utils/useEventCallback.js.map +1 -1
- package/dist-cjs/window/ElectronWindow.js +4 -4
- package/dist-cjs/window/ElectronWindow.js.map +1 -1
- package/dist-es/app-header/AppHeader.css.js +1 -1
- package/dist-es/app-header/AppHeader.js +5 -5
- package/dist-es/app-header/AppHeader.js.map +1 -1
- package/dist-es/breadcrumbs/Breadcrumb.js +3 -3
- package/dist-es/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-es/breadcrumbs/Breadcrumbs.js +3 -3
- package/dist-es/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-es/button-bar/ButtonBar.js +4 -4
- package/dist-es/button-bar/ButtonBar.js.map +1 -1
- package/dist-es/button-bar/OrderedButton.js +3 -3
- package/dist-es/button-bar/OrderedButton.js.map +1 -1
- package/dist-es/button-bar/internal/DescendantContext.js.map +1 -1
- package/dist-es/calendar/Calendar.js +35 -10
- package/dist-es/calendar/Calendar.js.map +1 -1
- package/dist-es/calendar/CalendarGrid.js +2 -2
- package/dist-es/calendar/CalendarGrid.js.map +1 -1
- package/dist-es/calendar/CalendarMonthHeader.js +2 -2
- package/dist-es/calendar/CalendarMonthHeader.js.map +1 -1
- package/dist-es/calendar/CalendarNavigation.js.map +1 -1
- package/dist-es/calendar/CalendarWeekHeader.css.js +1 -1
- package/dist-es/calendar/CalendarWeekHeader.js +3 -3
- package/dist-es/calendar/CalendarWeekHeader.js.map +1 -1
- package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
- 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 +3 -3
- package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-es/calendar/internal/useFocusManagement.js +1 -1
- package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-es/calendar/useCalendar.js +6 -0
- package/dist-es/calendar/useCalendar.js.map +1 -1
- package/dist-es/calendar/useCalendarSelection.js +186 -102
- 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.css.js +1 -1
- package/dist-es/cascading-menu/CascadingMenuItem.js +3 -3
- package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenuList.js +5 -5
- package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-es/color-chooser/AlphaInputField.js +2 -2
- package/dist-es/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-es/color-chooser/ColorChooser.css.js +1 -1
- package/dist-es/color-chooser/ColorChooser.js +39 -41
- package/dist-es/color-chooser/ColorChooser.js.map +1 -1
- package/dist-es/color-chooser/ColorPicker.css.js +1 -1
- package/dist-es/color-chooser/ColorPicker.js +3 -3
- package/dist-es/color-chooser/ColorPicker.js.map +1 -1
- package/dist-es/color-chooser/DictTabs.js +2 -2
- package/dist-es/color-chooser/HexInput.css.js +1 -1
- package/dist-es/color-chooser/HexInput.js +2 -2
- package/dist-es/color-chooser/HexInput.js.map +1 -1
- package/dist-es/color-chooser/RGBAInput.css.js +1 -1
- package/dist-es/color-chooser/RGBAInput.js +3 -3
- package/dist-es/color-chooser/RGBAInput.js.map +1 -1
- package/dist-es/color-chooser/RGBAInputField.js +2 -2
- package/dist-es/color-chooser/RGBAInputField.js.map +1 -1
- package/dist-es/color-chooser/Swatch.css.js +1 -1
- package/dist-es/color-chooser/Swatches.js +3 -3
- package/dist-es/color-chooser/Swatches.js.map +1 -1
- package/dist-es/color-chooser/SwatchesPicker.js +3 -3
- package/dist-es/color-chooser/SwatchesPicker.js.map +1 -1
- package/dist-es/combo-box/ComboBox.js +6 -6
- package/dist-es/combo-box/ComboBox.js.map +1 -1
- package/dist-es/combo-box/useCombobox.js +1 -1
- package/dist-es/combo-box/useCombobox.js.map +1 -1
- package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js +3 -3
- package/dist-es/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js +2 -2
- package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js +2 -2
- package/dist-es/combo-box-deprecated/internal/useComboBox.js +1 -1
- package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -1
- package/dist-es/common-hooks/collectionProvider.js.map +1 -1
- package/dist-es/common-hooks/itemToString.js +1 -1
- package/dist-es/common-hooks/itemToString.js.map +1 -1
- package/dist-es/common-hooks/selectionTypes.js.map +1 -1
- package/dist-es/common-hooks/useCollapsibleGroups.js.map +1 -1
- package/dist-es/common-hooks/useCollectionItems.js +1 -1
- package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
- package/dist-es/common-hooks/useImperativeScrollingAPI.js +6 -10
- 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/useTypeahead.js.map +1 -1
- package/dist-es/common-hooks/utils/collection-item-utils.js +2 -2
- package/dist-es/common-hooks/utils/collection-item-utils.js.map +1 -1
- package/dist-es/contact-details/ContactActions.js +1 -1
- package/dist-es/contact-details/ContactActions.js.map +1 -1
- package/dist-es/contact-details/ContactAvatar.js +1 -1
- package/dist-es/contact-details/ContactDetails.js +4 -4
- package/dist-es/contact-details/ContactDetails.js.map +1 -1
- package/dist-es/contact-details/ContactFavoriteToggle.js +1 -1
- package/dist-es/contact-details/ContactMetadata.js +2 -2
- 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 +1 -1
- package/dist-es/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-es/contact-details/ContactSecondaryInfo.js +1 -1
- package/dist-es/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-es/contact-details/ContactTertiaryInfo.js +1 -1
- package/dist-es/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-es/contact-details/internal/FavoriteToggle.js.map +1 -1
- package/dist-es/contact-details/internal/StarIconContainer.js.map +1 -1
- package/dist-es/content-status/ContentStatus.js +3 -3
- 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/DateInput.css.js +1 -1
- package/dist-es/date-input/DateInputRange.js.map +1 -1
- package/dist-es/date-input/DateInputSingle.js.map +1 -1
- package/dist-es/date-picker/DatePicker.js.map +1 -1
- package/dist-es/date-picker/DatePickerActions.js.map +1 -1
- package/dist-es/date-picker/DatePickerContext.js +10 -10
- package/dist-es/date-picker/DatePickerContext.js.map +1 -1
- package/dist-es/date-picker/DatePickerOverlay.css.js +1 -1
- package/dist-es/date-picker/DatePickerOverlay.js.map +1 -1
- package/dist-es/date-picker/DatePickerOverlayProvider.js +4 -0
- package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -1
- package/dist-es/date-picker/DatePickerPanel.css.js +1 -1
- package/dist-es/date-picker/DatePickerRangeGridPanel.js +3 -3
- package/dist-es/date-picker/DatePickerRangeGridPanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerRangeInput.js +1 -1
- package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -1
- package/dist-es/date-picker/DatePickerRangePanel.js +3 -3
- package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerSingleGridPanel.js +3 -3
- package/dist-es/date-picker/DatePickerSingleGridPanel.js.map +1 -1
- package/dist-es/date-picker/DatePickerSingleInput.js +1 -1
- package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -1
- package/dist-es/date-picker/DatePickerTrigger.js.map +1 -1
- package/dist-es/deck-item/DeckItem.js +2 -2
- package/dist-es/deck-item/DeckItem.js.map +1 -1
- package/dist-es/deck-layout/DeckLayout.js +3 -3
- package/dist-es/deck-layout/DeckLayout.js.map +1 -1
- package/dist-es/dropdown/Dropdown.js +1 -1
- package/dist-es/dropdown/Dropdown.js.map +1 -1
- package/dist-es/dropdown/DropdownBase.js +3 -3
- package/dist-es/dropdown/DropdownBase.js.map +1 -1
- package/dist-es/dropdown/DropdownButton.js +2 -2
- package/dist-es/dropdown/DropdownButton.js.map +1 -1
- package/dist-es/dropdown/useDropdown.js +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 +2 -2
- package/dist-es/editable-label/EditableLabel.js.map +1 -1
- package/dist-es/form-field-legacy/FormActivationIndicator.js.map +1 -1
- package/dist-es/form-field-legacy/FormFieldLegacy.css.js +1 -1
- package/dist-es/form-field-legacy/FormFieldLegacy.js +4 -4
- 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.css.js +1 -1
- package/dist-es/form-field-legacy/FormLabel.js +3 -3
- package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
- package/dist-es/form-field-legacy/StatusIndicator.js.map +1 -1
- package/dist-es/form-group/FormGroup.js +2 -2
- package/dist-es/form-group/FormGroup.js.map +1 -1
- package/dist-es/formatted-input/FormattedInput.js +3 -3
- 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 +52 -56
- package/dist-es/index.js.map +1 -1
- package/dist-es/input-legacy/InputLegacy.css.js +1 -1
- package/dist-es/input-legacy/InputLegacy.js +3 -3
- package/dist-es/input-legacy/InputLegacy.js.map +1 -1
- package/dist-es/input-legacy/StaticInputAdornment.js +2 -2
- package/dist-es/input-legacy/StaticInputAdornment.js.map +1 -1
- package/dist-es/layer-layout/LayerLayout.js.map +1 -1
- package/dist-es/list/Highlighter.js +2 -2
- package/dist-es/list/Highlighter.js.map +1 -1
- package/dist-es/list/List.css.js +1 -1
- package/dist-es/list/List.js +3 -3
- package/dist-es/list/List.js.map +1 -1
- package/dist-es/list/ListItem.css.js +1 -1
- package/dist-es/list/ListItem.js +2 -2
- package/dist-es/list/ListItem.js.map +1 -1
- package/dist-es/list/VirtualizedList.js +4 -4
- package/dist-es/list/VirtualizedList.js.map +1 -1
- package/dist-es/list/useList.js +2 -2
- package/dist-es/list/useList.js.map +1 -1
- package/dist-es/list/useListHeight.js +1 -1
- package/dist-es/list-deprecated/List.css.js +1 -1
- package/dist-es/list-deprecated/List.js +2 -2
- package/dist-es/list-deprecated/List.js.map +1 -1
- package/dist-es/list-deprecated/ListBase.js +15 -19
- package/dist-es/list-deprecated/ListBase.js.map +1 -1
- package/dist-es/list-deprecated/ListItem.css.js +1 -1
- package/dist-es/list-deprecated/ListItem.js +1 -1
- package/dist-es/list-deprecated/ListItem.js.map +1 -1
- package/dist-es/list-deprecated/ListItemBase.js +2 -2
- package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-es/list-deprecated/internal/DescendantContext.js +7 -4
- package/dist-es/list-deprecated/internal/DescendantContext.js.map +1 -1
- package/dist-es/list-deprecated/internal/Highlighter.js +2 -2
- package/dist-es/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-es/list-deprecated/itemToString.js +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-next/ListItemNext.css.js +1 -1
- package/dist-es/list-next/ListItemNext.js +2 -2
- package/dist-es/list-next/ListItemNext.js.map +1 -1
- package/dist-es/list-next/ListNext.css.js +1 -1
- package/dist-es/list-next/ListNext.js.map +1 -1
- package/dist-es/logo/Logo.js +2 -2
- package/dist-es/logo/Logo.js.map +1 -1
- package/dist-es/logo/LogoSeparator.css.js +1 -1
- package/dist-es/logo/LogoSeparator.js +2 -2
- package/dist-es/logo/LogoSeparator.js.map +1 -1
- package/dist-es/menu-button/MenuButton.js +1 -1
- package/dist-es/menu-button/MenuButton.js.map +1 -1
- package/dist-es/menu-button/MenuButtonTrigger.js +2 -2
- package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-es/metric/Metric.js +2 -2
- package/dist-es/metric/Metric.js.map +1 -1
- package/dist-es/metric/MetricContent.css.js +1 -1
- package/dist-es/metric/MetricContent.js +2 -2
- package/dist-es/metric/MetricContent.js.map +1 -1
- package/dist-es/metric/MetricHeader.js +2 -2
- package/dist-es/metric/MetricHeader.js.map +1 -1
- package/dist-es/number-input/NumberInput.css.js +1 -1
- package/dist-es/number-input/NumberInput.js +149 -82
- package/dist-es/number-input/NumberInput.js.map +1 -1
- package/dist-es/number-input/internal/useCaret.js +32 -0
- package/dist-es/number-input/internal/useCaret.js.map +1 -0
- package/dist-es/number-input/internal/utils.js +52 -10
- package/dist-es/number-input/internal/utils.js.map +1 -1
- package/dist-es/number-input/useNumberInput.js +35 -27
- 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.css.js +1 -1
- package/dist-es/query-input/QueryInput.js +3 -3
- package/dist-es/query-input/QueryInput.js.map +1 -1
- package/dist-es/query-input/internal/CategoryList.js +1 -1
- package/dist-es/query-input/internal/CategoryListItem.js +1 -1
- package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-es/query-input/internal/SearchList.js +3 -3
- package/dist-es/query-input/internal/SearchList.js.map +1 -1
- package/dist-es/query-input/internal/ValueList.js +1 -1
- package/dist-es/query-input/internal/ValueSelector.js +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/useOverflowCollectionItems.js.map +1 -1
- package/dist-es/responsive/useOverflowLayout.js.map +1 -1
- package/dist-es/responsive/useWidth.js.map +1 -1
- package/dist-es/search-input/SearchInput.js +2 -2
- 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/StaticListItemContent.js.map +1 -1
- package/dist-es/system-status/SystemStatus.css.js +1 -1
- package/dist-es/system-status/SystemStatus.js +2 -2
- package/dist-es/system-status/SystemStatus.js.map +1 -1
- package/dist-es/system-status/SystemStatusActions.js +2 -2
- package/dist-es/system-status/SystemStatusActions.js.map +1 -1
- package/dist-es/system-status/SystemStatusContent.js +2 -2
- package/dist-es/system-status/SystemStatusContent.js.map +1 -1
- package/dist-es/tabs/Tab.css.js +1 -1
- package/dist-es/tabs/Tab.js.map +1 -1
- package/dist-es/tabs/TabActivationIndicator.css.js +1 -1
- package/dist-es/tabs/TabActivationIndicator.js +2 -2
- package/dist-es/tabs/TabActivationIndicator.js.map +1 -1
- package/dist-es/tabs/TabPanel.js.map +1 -1
- package/dist-es/tabs/Tabs.js +3 -3
- package/dist-es/tabs/Tabs.js.map +1 -1
- package/dist-es/tabs/Tabstrip.css.js +1 -1
- package/dist-es/tabs/Tabstrip.js +5 -5
- package/dist-es/tabs/Tabstrip.js.map +1 -1
- package/dist-es/tabs/drag-drop/Draggable.css.js +1 -1
- package/dist-es/tabs/drag-drop/Draggable.js +2 -2
- package/dist-es/tabs/drag-drop/Draggable.js.map +1 -1
- package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js +2 -2
- package/dist-es/tabs/drag-drop/useDragDropNaturalMovement.js.map +1 -1
- package/dist-es/tabs/useActivationIndicator.js +1 -1
- package/dist-es/tabs/useActivationIndicator.js.map +1 -1
- package/dist-es/tabs/useItemsWithIds.js.map +1 -1
- package/dist-es/tabs/useTabstrip.js +1 -1
- package/dist-es/tabs/useTabstrip.js.map +1 -1
- package/dist-es/tabs-next/TabBar.css.js +1 -1
- package/dist-es/tabs-next/TabBar.js +2 -2
- package/dist-es/tabs-next/TabBar.js.map +1 -1
- package/dist-es/tabs-next/TabListNext.js +2 -2
- 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.map +1 -1
- 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 +1 -1
- package/dist-es/tabs-next/TabOverflowList.js.map +1 -1
- package/dist-es/tabs-next/TabsNext.js +2 -2
- package/dist-es/tabs-next/TabsNext.js.map +1 -1
- package/dist-es/tokenized-input/TokenizedInput.css.js +1 -1
- package/dist-es/tokenized-input/TokenizedInputBase.js +2 -2
- 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 +1 -1
- package/dist-es/tokenized-input/internal/defaultItemToString.js.map +1 -1
- package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-es/tokenized-input-next/TokenizedInputNext.css.js +1 -1
- package/dist-es/tokenized-input-next/TokenizedInputNext.js +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/useTokenizedInputNext.js.map +1 -1
- package/dist-es/toolbar/Toolbar.css.js +1 -1
- package/dist-es/toolbar/Toolbar.js +6 -6
- package/dist-es/toolbar/Toolbar.js.map +1 -1
- package/dist-es/toolbar/ToolbarButton.js +1 -1
- package/dist-es/toolbar/ToolbarButton.js.map +1 -1
- package/dist-es/toolbar/Tooltray.js +3 -3
- package/dist-es/toolbar/Tooltray.js.map +1 -1
- package/dist-es/toolbar/internal/renderToolbarItems.js +3 -3
- 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.css.js +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js +5 -5
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowSeparator.css.js +1 -1
- package/dist-es/toolbar/toolbar-field/ToolbarField.js +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 +4 -4
- package/dist-es/tree/Tree.js.map +1 -1
- package/dist-es/tree/TreeNode.js +2 -2
- package/dist-es/tree/TreeNode.js.map +1 -1
- package/dist-es/tree/useTree.js +2 -2
- package/dist-es/tree/useTree.js.map +1 -1
- package/dist-es/utils/useEventCallback.js +1 -1
- package/dist-es/utils/useEventCallback.js.map +1 -1
- package/dist-es/window/ElectronWindow.js +4 -4
- package/dist-es/window/ElectronWindow.js.map +1 -1
- package/dist-types/app-header/AppHeader.d.ts +1 -1
- package/dist-types/button-bar/ButtonBar.d.ts +4 -4
- package/dist-types/calendar/Calendar.d.ts +43 -7
- package/dist-types/calendar/CalendarGrid.d.ts +2 -2
- package/dist-types/calendar/CalendarMonthHeader.d.ts +1 -1
- package/dist-types/calendar/CalendarWeekHeader.d.ts +1 -1
- package/dist-types/calendar/index.d.ts +3 -3
- package/dist-types/calendar/useCalendar.d.ts +23 -24
- package/dist-types/calendar/useCalendarDay.d.ts +2 -1
- package/dist-types/calendar/useCalendarSelection.d.ts +154 -60
- package/dist-types/cascading-menu/internal/CascadingMenuAction.d.ts +2 -2
- package/dist-types/cascading-menu/internal/menuPositioning.d.ts +1 -1
- package/dist-types/cascading-menu/internal/stateUtils.d.ts +2 -2
- package/dist-types/cascading-menu/internal/useClickAway.d.ts +1 -1
- package/dist-types/cascading-menu/internal/useRefsManager.d.ts +1 -1
- package/dist-types/cascading-menu/internal/useStateReducer.d.ts +2 -2
- package/dist-types/cascading-menu/stateChangeTypes.d.ts +1 -1
- package/dist-types/color-chooser/Color.d.ts +1 -1
- package/dist-types/color-chooser/DictTabs.d.ts +1 -1
- package/dist-types/color-chooser/color-utils.d.ts +1 -1
- package/dist-types/color-chooser/index.d.ts +4 -4
- package/dist-types/combo-box/ComboBox.d.ts +4 -4
- package/dist-types/combo-box/useCombobox.d.ts +1 -1
- package/dist-types/combo-box-deprecated/ComboBoxDeprecated.d.ts +3 -3
- package/dist-types/combo-box-deprecated/filterHelpers.d.ts +1 -1
- package/dist-types/combo-box-deprecated/internal/DefaultComboBox.d.ts +1 -1
- package/dist-types/combo-box-deprecated/internal/MultiSelectComboBox.d.ts +1 -1
- package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +98 -97
- package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +214 -212
- package/dist-types/combo-box-deprecated/internal/usePopperStatus.d.ts +3 -3
- package/dist-types/common-hooks/collectionTypes.d.ts +3 -3
- package/dist-types/common-hooks/index.d.ts +2 -2
- package/dist-types/common-hooks/itemToString.d.ts +1 -1
- package/dist-types/common-hooks/navigationTypes.d.ts +4 -4
- package/dist-types/common-hooks/selectionTypes.d.ts +10 -10
- package/dist-types/common-hooks/useKeyboardNavigation.d.ts +1 -1
- package/dist-types/common-hooks/useSelection.d.ts +2 -2
- package/dist-types/common-hooks/utils/collection-item-utils.d.ts +2 -2
- package/dist-types/common-hooks/utils/filter-utils.d.ts +2 -2
- package/dist-types/contact-details/ContactAction.d.ts +1 -1
- package/dist-types/contact-details/ContactAvatar.d.ts +1 -1
- package/dist-types/contact-details/ContactDetails.d.ts +1 -1
- package/dist-types/contact-details/index.d.ts +1 -1
- package/dist-types/contact-details/internal/index.d.ts +1 -1
- package/dist-types/content-status/internal/StatusIndicator.d.ts +1 -2
- package/dist-types/date-input/DateInputRange.d.ts +2 -2
- package/dist-types/date-input/DateInputSingle.d.ts +1 -1
- package/dist-types/date-input/index.d.ts +1 -1
- package/dist-types/date-picker/DatePicker.d.ts +1 -1
- package/dist-types/date-picker/DatePickerActions.d.ts +1 -1
- package/dist-types/date-picker/DatePickerContext.d.ts +1 -1
- package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +1 -1
- package/dist-types/date-picker/DatePickerRangeGridPanel.d.ts +3 -4
- package/dist-types/date-picker/DatePickerSingleGridPanel.d.ts +2 -3
- package/dist-types/date-picker/DatePickerSinglePanel.d.ts +1 -1
- package/dist-types/date-picker/index.d.ts +3 -3
- package/dist-types/date-picker/useDatePicker.d.ts +1 -1
- package/dist-types/deck-layout/DeckLayout.d.ts +3 -3
- package/dist-types/dropdown/Dropdown.d.ts +3 -3
- package/dist-types/dropdown/DropdownBase.d.ts +1 -1
- package/dist-types/dropdown/dropdownTypes.d.ts +1 -1
- package/dist-types/dropdown/index.d.ts +1 -1
- package/dist-types/dropdown/useClickAway.d.ts +1 -1
- package/dist-types/dropdown/useDropdown.d.ts +1 -1
- package/dist-types/focus-manager/internal/findAllTabbableElements.d.ts +1 -1
- package/dist-types/form-field-legacy/FormFieldLegacy.d.ts +5 -5
- package/dist-types/form-field-legacy/NecessityIndicator.d.ts +1 -1
- package/dist-types/form-field-legacy/StatusIndicator.d.ts +1 -1
- package/dist-types/formatted-input/FormattedInput.d.ts +1 -1
- package/dist-types/index.d.ts +5 -6
- package/dist-types/input-legacy/StaticInputAdornment.d.ts +1 -1
- package/dist-types/layer-layout/LayerLayout.d.ts +1 -1
- package/dist-types/list/List.d.ts +3 -3
- package/dist-types/list/ListItem.d.ts +1 -1
- package/dist-types/list/VirtualizedList.d.ts +3 -3
- package/dist-types/list/index.d.ts +3 -3
- package/dist-types/list/listTypes.d.ts +2 -2
- package/dist-types/list/useList.d.ts +1 -1
- package/dist-types/list/useVirtualization.d.ts +1 -1
- package/dist-types/list-deprecated/List.d.ts +2 -2
- package/dist-types/list-deprecated/ListBase.d.ts +2 -2
- package/dist-types/list-deprecated/ListItem.d.ts +1 -1
- package/dist-types/list-deprecated/ListItemContext.d.ts +1 -1
- package/dist-types/list-deprecated/ListProps.d.ts +5 -5
- package/dist-types/list-deprecated/index.d.ts +3 -3
- package/dist-types/list-deprecated/internal/DescendantContext.d.ts +13 -6
- package/dist-types/list-deprecated/itemToString.d.ts +1 -1
- package/dist-types/list-deprecated/useListItem.d.ts +2 -2
- package/dist-types/list-next/index.d.ts +1 -1
- package/dist-types/localization-provider/LocalizationProvider.d.ts +3 -3
- package/dist-types/logo/Logo.d.ts +1 -1
- package/dist-types/logo/LogoSeparator.d.ts +1 -1
- package/dist-types/metric/index.d.ts +1 -1
- package/dist-types/metric/internal/index.d.ts +1 -1
- package/dist-types/number-input/NumberInput.d.ts +49 -27
- package/dist-types/number-input/index.d.ts +1 -1
- package/dist-types/number-input/internal/useCaret.d.ts +5 -0
- package/dist-types/number-input/internal/useInterval.d.ts +1 -1
- package/dist-types/number-input/internal/utils.d.ts +5 -5
- package/dist-types/number-input/useNumberInput.d.ts +11 -6
- package/dist-types/query-input/index.d.ts +1 -1
- package/dist-types/query-input/useQueryInput.d.ts +2 -2
- package/dist-types/responsive/OverflowReducer.d.ts +4 -4
- package/dist-types/responsive/index.d.ts +5 -5
- package/dist-types/responsive/overflowTypes.d.ts +20 -20
- package/dist-types/responsive/overflowUtils.d.ts +3 -3
- package/dist-types/responsive/useOverflowCollectionItems.d.ts +1 -1
- package/dist-types/responsive/useOverflowLayout.d.ts +1 -1
- package/dist-types/responsive/useResizeObserver.d.ts +2 -2
- package/dist-types/responsive/utils.d.ts +3 -3
- package/dist-types/system-status/index.d.ts +1 -1
- package/dist-types/tabs/Tab.d.ts +20 -19
- package/dist-types/tabs/Tabs.d.ts +1 -1
- package/dist-types/tabs/TabsTypes.d.ts +7 -7
- package/dist-types/tabs/drag-drop/Draggable.d.ts +2 -2
- package/dist-types/tabs/drag-drop/DropIndicator.d.ts +1 -1
- package/dist-types/tabs/drag-drop/drag-utils.d.ts +26 -22
- package/dist-types/tabs/drag-drop/dragDropTypes.d.ts +5 -5
- package/dist-types/tabs/drag-drop/useDragSpacers.d.ts +1 -1
- package/dist-types/tabs/index.d.ts +2 -2
- package/dist-types/tabs/useActivationIndicator.d.ts +1 -1
- package/dist-types/tabs/useEditableItem.d.ts +1 -1
- package/dist-types/tabs/useKeyboardNavigation.d.ts +1 -1
- package/dist-types/tabs/useSelection.d.ts +3 -3
- package/dist-types/tabs/useTabstrip.d.ts +1 -1
- package/dist-types/tabs-next/hooks/useCollection.d.ts +1 -1
- package/dist-types/tabs-next/index.d.ts +4 -4
- package/dist-types/tokenized-input/TokenizedInput.d.ts +2 -2
- package/dist-types/tokenized-input/TokenizedInputBase.d.ts +5 -5
- package/dist-types/tokenized-input/internal/InputPill.d.ts +1 -1
- package/dist-types/tokenized-input/internal/isPlainObject.d.ts +1 -1
- package/dist-types/tokenized-input/useTokenizedInput.d.ts +1 -1
- package/dist-types/tokenized-input-next/TokenizedInputNext.d.ts +2 -2
- package/dist-types/tokenized-input-next/internal/InputPill.d.ts +1 -1
- package/dist-types/toolbar/ToolbarButton.d.ts +3 -3
- package/dist-types/toolbar/ToolbarProps.d.ts +1 -1
- package/dist-types/toolbar/TooltrayProps.d.ts +2 -2
- package/dist-types/toolbar/index.d.ts +1 -1
- package/dist-types/toolbar/internal/ToolbarButtonRefsContext.d.ts +1 -1
- package/dist-types/toolbar/internal/renderTrayTools.d.ts +1 -1
- package/dist-types/tree/useTree.d.ts +1 -1
- package/dist-types/utils/forwardCallbackProps.d.ts +1 -1
- package/dist-types/utils/index.d.ts +1 -1
- package/dist-types/utils/isEmail.d.ts +1 -1
- package/dist-types/utils/useClickOutside.d.ts +1 -1
- package/dist-types/utils/useSlideSelection.d.ts +1 -1
- package/dist-types/window/ElectronWindow.d.ts +1 -1
- package/dist-types/window/WindowContext.d.ts +4 -4
- package/dist-types/window/index.d.ts +1 -1
- package/package.json +7 -6
- package/dist-cjs/carousel/Carousel.css.js +0 -6
- package/dist-cjs/carousel/Carousel.css.js.map +0 -1
- package/dist-cjs/carousel/Carousel.js +0 -62
- package/dist-cjs/carousel/Carousel.js.map +0 -1
- package/dist-cjs/carousel/CarouselContext.js +0 -62
- package/dist-cjs/carousel/CarouselContext.js.map +0 -1
- package/dist-cjs/carousel/CarouselControls.css.js +0 -6
- package/dist-cjs/carousel/CarouselControls.css.js.map +0 -1
- package/dist-cjs/carousel/CarouselControls.js +0 -122
- package/dist-cjs/carousel/CarouselControls.js.map +0 -1
- package/dist-cjs/carousel/CarouselReducer.js +0 -77
- package/dist-cjs/carousel/CarouselReducer.js.map +0 -1
- package/dist-cjs/carousel/CarouselSlide.css.js +0 -6
- package/dist-cjs/carousel/CarouselSlide.css.js.map +0 -1
- package/dist-cjs/carousel/CarouselSlide.js +0 -110
- package/dist-cjs/carousel/CarouselSlide.js.map +0 -1
- package/dist-cjs/carousel/CarouselSlider.css.js +0 -6
- package/dist-cjs/carousel/CarouselSlider.css.js.map +0 -1
- package/dist-cjs/carousel/CarouselSlider.js +0 -93
- package/dist-cjs/carousel/CarouselSlider.js.map +0 -1
- package/dist-es/carousel/Carousel.css.js +0 -4
- package/dist-es/carousel/Carousel.css.js.map +0 -1
- package/dist-es/carousel/Carousel.js +0 -60
- package/dist-es/carousel/Carousel.js.map +0 -1
- package/dist-es/carousel/CarouselContext.js +0 -58
- package/dist-es/carousel/CarouselContext.js.map +0 -1
- package/dist-es/carousel/CarouselControls.css.js +0 -4
- package/dist-es/carousel/CarouselControls.css.js.map +0 -1
- package/dist-es/carousel/CarouselControls.js +0 -120
- package/dist-es/carousel/CarouselControls.js.map +0 -1
- package/dist-es/carousel/CarouselReducer.js +0 -75
- package/dist-es/carousel/CarouselReducer.js.map +0 -1
- package/dist-es/carousel/CarouselSlide.css.js +0 -4
- package/dist-es/carousel/CarouselSlide.css.js.map +0 -1
- package/dist-es/carousel/CarouselSlide.js +0 -108
- package/dist-es/carousel/CarouselSlide.js.map +0 -1
- package/dist-es/carousel/CarouselSlider.css.js +0 -4
- package/dist-es/carousel/CarouselSlider.css.js.map +0 -1
- package/dist-es/carousel/CarouselSlider.js +0 -91
- package/dist-es/carousel/CarouselSlider.js.map +0 -1
- package/dist-types/carousel/Carousel.d.ts +0 -23
- package/dist-types/carousel/CarouselContext.d.ts +0 -11
- package/dist-types/carousel/CarouselControls.d.ts +0 -26
- package/dist-types/carousel/CarouselReducer.d.ts +0 -30
- package/dist-types/carousel/CarouselSlide.d.ts +0 -32
- package/dist-types/carousel/CarouselSlider.d.ts +0 -13
- package/dist-types/carousel/index.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerSingleGridPanel.js","sources":["../src/date-picker/DatePickerSingleGridPanel.tsx"],"sourcesContent":["import {\n FlexItem,\n FlexLayout,\n FormFieldContext,\n type FormFieldContextValue,\n FormFieldHelperText,\n type ResponsiveProp,\n StackLayout,\n makePrefixer,\n resolveResponsiveValue,\n useBreakpoint,\n useControlled,\n} from \"@salt-ds/core\";\nimport type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport clsx from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type SyntheticEvent,\n forwardRef,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport {\n CalendarGrid,\n type CalendarGridProps,\n CalendarNavigation,\n type CalendarNavigationProps,\n type CalendarSingleProps,\n} from \"../calendar\";\nimport {\n Calendar,\n type DateRangeSelection,\n type SingleDateSelection,\n} from \"../calendar\";\nimport { generateDatesForMonth } from \"../calendar/internal/utils\";\nimport { useLocalization } from \"../localization-provider\";\nimport {\n type SingleDatePickerState,\n useDatePickerContext,\n} from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\nimport datePickerPanelCss from \"./DatePickerPanel.css\";\n\n/**\n * Base props for the DatePickerPanel grid components.\n * @template TDate - The type of the date object.\n */\nexport interface DatePickerPanelBaseProps<TDate extends DateFrameworkType>\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Helper text to be displayed below the date picker.\n */\n helperText?: string;\n /**\n * The visible month for the first visible calendar\n */\n visibleMonth?: TDate;\n /**\n * Number of columns.\n */\n columns?: ResponsiveProp<number | string>;\n /**\n * Number of visible months, maximum 12, defaults to 1\n */\n numberOfVisibleMonths?: ResponsiveProp<\n 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12\n >;\n /**\n * The default visible month.\n */\n defaultVisibleMonth?: TDate;\n /**\n * Callback fired when the visible month changes.\n * @param event - The synthetic event or null if triggered by code.\n * @param visibleMonth - The new visible month.\n */\n onVisibleMonthChange?: (\n event: SyntheticEvent | null,\n visibleMonth: TDate,\n ) => void;\n /**\n * Callback fired when the focused date changes.\n * @param event - The synthetic event or null if triggered by code.\n * @param hoveredDate - The new hovered date.\n */\n onFocusedDateChange?: (\n event: SyntheticEvent | null,\n hoveredDate?: TDate | null,\n ) => void;\n /**\n * Callback fired when the hovered date changes.\n * @param event - The synthetic event.\n * @param hoveredDate - The new hovered date.\n */\n onHoveredDateChange?: (\n event: SyntheticEvent,\n hoveredDate?: TDate | null,\n ) => void;\n /**\n * Props to be passed to the CalendarNavigation component.\n */\n CalendarNavigationProps?: Partial<CalendarNavigationProps<TDate>>;\n /**\n * Props to be passed to the CalendarGrid component.\n */\n CalendarGridProps?: Partial<CalendarGridProps<TDate>>;\n}\n\nconst withBaseName = makePrefixer(\"saltDatePickerPanel\");\n\nexport type DatePickerSingleGridPanelProps<TDate extends DateFrameworkType> =\n DatePickerPanelBaseProps<TDate> &\n SingleDateSelection<TDate> & {\n onSelectionChange?: (\n event: SyntheticEvent,\n selectedDate?: TDate | null,\n ) => void;\n CalendarProps?: Partial<\n Omit<\n CalendarSingleProps<TDate>,\n | \"selectionVariant\"\n | \"selectedDate\"\n | \"defaultSelectedDate\"\n | \"onSelectionChange\"\n | \"onVisibleMonthChange\"\n >\n >;\n };\n\nexport const DatePickerSingleGridPanel = forwardRef(\n function DatePickerSingleGridPanel<TDate extends DateFrameworkType>(\n props: DatePickerSingleGridPanelProps<TDate>,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const { dateAdapter } = useLocalization<TDate>();\n\n const {\n CalendarProps,\n CalendarNavigationProps,\n CalendarGridProps,\n className,\n defaultVisibleMonth,\n visibleMonth: visibleMonthProp,\n onVisibleMonthChange,\n helperText,\n onFocusedDateChange,\n onHoveredDateChange,\n onSelectionChange,\n numberOfVisibleMonths = 1,\n columns = numberOfVisibleMonths,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-single-grid-panel\",\n css: datePickerPanelCss,\n window: targetWindow,\n });\n\n const stateAndHelpers: SingleDatePickerState<TDate> = useDatePickerContext({\n selectionVariant: \"single\",\n });\n\n const {\n state: {\n timezone,\n selectedDate = null,\n minDate = dateAdapter.startOf(dateAdapter.today(timezone), \"month\"),\n maxDate = dateAdapter.add(minDate, { months: 1 }),\n },\n helpers: { select, isDayDisabled, isDayHighlighted, isDayUnselectable },\n } = stateAndHelpers;\n\n const { matchedBreakpoints } = useBreakpoint();\n\n const responsiveColumns =\n resolveResponsiveValue(columns, matchedBreakpoints) ?? 1;\n const responsiveNumberOfVisibleMonths =\n resolveResponsiveValue(numberOfVisibleMonths, matchedBreakpoints) ?? 1;\n\n const {\n state: { focused, initialFocusRef },\n } = useDatePickerOverlay();\n\n const [hoveredDate, setHoveredDate] = useState<TDate | null>(null);\n\n const [uncontrolledDefaultVisibleMonth] = useState(() => {\n const validDate = dateAdapter.isValid(selectedDate)\n ? selectedDate\n : dateAdapter.today(timezone);\n return defaultVisibleMonth || dateAdapter.startOf(validDate, \"month\");\n });\n const [visibleMonth, setVisibleMonth] = useControlled({\n controlled: visibleMonthProp,\n default: uncontrolledDefaultVisibleMonth,\n name: \"DatePickerSingleGridPanel\",\n state: \"visibleMonth\",\n });\n\n const [focusedDate, setFocusedDate] = useState<TDate | null>(null);\n const calendarGridFocused = useRef(false);\n\n const handleSelectionChange = useCallback(\n (\n event: SyntheticEvent,\n newDate: TDate | DateRangeSelection<TDate> | null,\n ) => {\n const singleDate = newDate as TDate | null;\n select(event, singleDate);\n onSelectionChange?.(event, singleDate);\n },\n [onSelectionChange, select],\n );\n\n const handleHoveredDateChange = useCallback(\n (event: SyntheticEvent, newHoveredDate: TDate | null) => {\n setHoveredDate(newHoveredDate);\n onHoveredDateChange?.(event, newHoveredDate);\n },\n [onHoveredDateChange],\n );\n\n const handleVisibleMonthChange = useCallback(\n (event: SyntheticEvent | null, newVisibleMonth: TDate) => {\n setVisibleMonth(newVisibleMonth);\n onVisibleMonthChange?.(event, newVisibleMonth);\n },\n [onVisibleMonthChange],\n );\n\n const handleFocusedDateChange = useCallback(\n (event: SyntheticEvent | null, newFocusedDate: TDate) => {\n setFocusedDate(newFocusedDate);\n if (!newFocusedDate) {\n onFocusedDateChange?.(event, newFocusedDate);\n return;\n }\n\n const startOfFocusedMonth = dateAdapter.startOf(\n newFocusedDate,\n \"month\",\n );\n const lastVisibleMonth = dateAdapter.add(visibleMonth, {\n months: responsiveNumberOfVisibleMonths - 1,\n });\n\n const isBeforeVisibleMonth =\n dateAdapter.compare(startOfFocusedMonth, visibleMonth) < 0;\n const isAfterLastVisibleMonth =\n dateAdapter.compare(startOfFocusedMonth, lastVisibleMonth) > 0;\n\n if (isBeforeVisibleMonth) {\n handleVisibleMonthChange(event, startOfFocusedMonth);\n } else if (isAfterLastVisibleMonth) {\n const newLastVisibleMonth = dateAdapter.subtract(\n startOfFocusedMonth,\n {\n months: responsiveNumberOfVisibleMonths - 1,\n },\n );\n handleVisibleMonthChange(event, newLastVisibleMonth);\n }\n onFocusedDateChange?.(event, newFocusedDate);\n },\n [\n dateAdapter,\n handleVisibleMonthChange,\n onFocusedDateChange,\n responsiveNumberOfVisibleMonths,\n visibleMonth,\n ],\n );\n\n const getNextFocusedDate = useCallback(() => {\n const isOutsideAllowedDates = (date: TDate) => {\n return (\n dateAdapter.compare(date, minDate) < 0 ||\n dateAdapter.compare(date, maxDate) > 0\n );\n };\n const isDaySelectable = (date: TDate) =>\n !(\n date &&\n (isDayUnselectable?.(date) ||\n isDayDisabled?.(date) ||\n isOutsideAllowedDates(date))\n );\n\n const startVisibleMonth = dateAdapter.startOf(visibleMonth, \"month\");\n const endVisibleMonth = dateAdapter.add(visibleMonth, {\n months: responsiveNumberOfVisibleMonths - 1,\n });\n const selectedDateStartOfMonth = selectedDate\n ? dateAdapter.startOf(selectedDate, \"month\")\n : null;\n\n const getVisibleSelectedDate = () => {\n if (\n selectedDateStartOfMonth &&\n dateAdapter.compare(selectedDateStartOfMonth, startVisibleMonth) >=\n 0 &&\n dateAdapter.compare(selectedDateStartOfMonth, endVisibleMonth) <= 0\n ) {\n return selectedDate;\n }\n return null;\n };\n\n const focusSelectedDate = getVisibleSelectedDate();\n if (focusSelectedDate && isDaySelectable(focusSelectedDate)) {\n return focusSelectedDate;\n }\n\n // Today\n const today = dateAdapter.today(timezone);\n const todayStartOfMonth = dateAdapter.startOf(today, \"month\");\n if (\n dateAdapter.compare(todayStartOfMonth, startVisibleMonth) >= 0 &&\n dateAdapter.compare(todayStartOfMonth, endVisibleMonth) <= 0 &&\n isDaySelectable(today)\n ) {\n return today;\n }\n\n // First selectable date across visible months\n const getFirstSelectableDate = (\n startMonth: TDate,\n numberOfMonths: number,\n ) => {\n for (let i = 0; i < numberOfMonths; i++) {\n const currentMonth = dateAdapter.add(startMonth, { months: i });\n const firstSelectableDate = generateDatesForMonth(\n dateAdapter,\n currentMonth,\n ).find((visibleDay) => isDaySelectable(visibleDay));\n\n if (firstSelectableDate) {\n return firstSelectableDate;\n }\n }\n\n return null;\n };\n\n return getFirstSelectableDate(\n startVisibleMonth,\n responsiveNumberOfVisibleMonths,\n );\n }, [\n dateAdapter,\n isDayDisabled,\n isDayUnselectable,\n minDate,\n maxDate,\n responsiveNumberOfVisibleMonths,\n selectedDate,\n visibleMonth,\n timezone,\n ]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: only run when focus/min/max date changes\n useLayoutEffect(() => {\n // Called when the overlay opens or the focus shifts between trigger and overlay\n if (focused && !calendarGridFocused.current) {\n setFocusedDate((prevFocusedDate) => {\n if (!prevFocusedDate) {\n return getNextFocusedDate();\n }\n return prevFocusedDate;\n });\n }\n calendarGridFocused.current = focused;\n }, [focused]);\n\n const calendarProps = {\n visibleMonth,\n focusedDateRef: initialFocusRef,\n focusedDate: calendarGridFocused?.current ? focusedDate : null,\n hoveredDate,\n isDayDisabled,\n isDayHighlighted,\n isDayUnselectable,\n hideOutOfRangeDates: true,\n selectedDate,\n minDate,\n maxDate,\n numberOfVisibleMonths: responsiveNumberOfVisibleMonths,\n onFocusedDateChange: handleFocusedDateChange,\n onHoveredDateChange: handleHoveredDateChange,\n onSelectionChange: handleSelectionChange,\n onVisibleMonthChange: handleVisibleMonthChange,\n timezone,\n ...CalendarProps,\n };\n\n return (\n <StackLayout\n separators\n gap={0}\n className={clsx(className, withBaseName(\"container\"))}\n ref={ref}\n {...rest}\n >\n {helperText && (\n <FlexItem className={withBaseName(\"header\")}>\n <FormFieldHelperText>{helperText}</FormFieldHelperText>\n </FlexItem>\n )}\n <FlexLayout gap={0}>\n <FormFieldContext.Provider value={{} as FormFieldContextValue}>\n <Calendar\n selectionVariant={\"single\"}\n {...(calendarProps as Partial<CalendarSingleProps<TDate>>)}\n >\n <CalendarNavigation {...CalendarNavigationProps} />\n <CalendarGrid\n columns={responsiveColumns}\n {...CalendarGridProps}\n />\n </Calendar>\n </FormFieldContext.Provider>\n </FlexLayout>\n </StackLayout>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","DatePickerSingleGridPanel","useLocalization","useWindow","useComponentCssInjection","datePickerPanelCss","useDatePickerContext","useBreakpoint","resolveResponsiveValue","useDatePickerOverlay","useState","useControlled","useRef","useCallback","generateDatesForMonth","useLayoutEffect","jsxs","StackLayout","jsx","FlexItem","FormFieldHelperText","FlexLayout","FormFieldContext","Calendar","CalendarNavigation","CalendarGrid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerSingleGridPanel.js","sources":["../src/date-picker/DatePickerSingleGridPanel.tsx"],"sourcesContent":["import {\n FlexItem,\n FlexLayout,\n FormFieldContext,\n type FormFieldContextValue,\n FormFieldHelperText,\n makePrefixer,\n type ResponsiveProp,\n resolveResponsiveValue,\n StackLayout,\n useBreakpoint,\n useControlled,\n} from \"@salt-ds/core\";\nimport type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type SyntheticEvent,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport {\n Calendar,\n CalendarGrid,\n type CalendarGridProps,\n CalendarNavigation,\n type CalendarNavigationProps,\n type CalendarSingleProps,\n type DateRangeSelection,\n type SingleDateSelection,\n} from \"../calendar\";\nimport { generateDatesForMonth } from \"../calendar/internal/utils\";\nimport { useLocalization } from \"../localization-provider\";\nimport {\n type SingleDatePickerState,\n useDatePickerContext,\n} from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\nimport datePickerPanelCss from \"./DatePickerPanel.css\";\n\n/**\n * Base props for the DatePickerPanel grid components.\n * @template TDate - The type of the date object.\n */\nexport interface DatePickerPanelBaseProps<TDate extends DateFrameworkType>\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Helper text to be displayed below the date picker.\n */\n helperText?: string;\n /**\n * The visible month for the first visible calendar\n */\n visibleMonth?: TDate;\n /**\n * Number of columns.\n */\n columns?: ResponsiveProp<number | string>;\n /**\n * Number of visible months, maximum 12, defaults to 1\n */\n numberOfVisibleMonths?: ResponsiveProp<\n 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12\n >;\n /**\n * The default visible month.\n */\n defaultVisibleMonth?: TDate;\n /**\n * Callback fired when the visible month changes.\n * @param event - The synthetic event or null if triggered by code.\n * @param visibleMonth - The new visible month.\n */\n onVisibleMonthChange?: (\n event: SyntheticEvent | null,\n visibleMonth: TDate,\n ) => void;\n /**\n * Callback fired when the focused date changes.\n * @param event - The synthetic event or null if triggered by code.\n * @param hoveredDate - The new hovered date.\n */\n onFocusedDateChange?: (\n event: SyntheticEvent | null,\n hoveredDate?: TDate | null,\n ) => void;\n /**\n * Callback fired when the hovered date changes.\n * @param event - The synthetic event.\n * @param hoveredDate - The new hovered date.\n */\n onHoveredDateChange?: (\n event: SyntheticEvent,\n hoveredDate?: TDate | null,\n ) => void;\n /**\n * Props to be passed to the CalendarNavigation component.\n */\n CalendarNavigationProps?: Partial<CalendarNavigationProps<TDate>>;\n /**\n * Props to be passed to the CalendarGrid component.\n */\n CalendarGridProps?: Partial<CalendarGridProps<TDate>>;\n}\n\nconst withBaseName = makePrefixer(\"saltDatePickerPanel\");\n\nexport type DatePickerSingleGridPanelProps<TDate extends DateFrameworkType> =\n DatePickerPanelBaseProps<TDate> &\n SingleDateSelection<TDate> & {\n onSelectionChange?: (\n event: SyntheticEvent,\n selectedDate?: TDate | null,\n ) => void;\n CalendarProps?: Partial<\n Omit<\n CalendarSingleProps<TDate>,\n | \"selectionVariant\"\n | \"selectedDate\"\n | \"defaultSelectedDate\"\n | \"onSelectionChange\"\n | \"onVisibleMonthChange\"\n >\n >;\n };\n\nexport const DatePickerSingleGridPanel = forwardRef(\n function DatePickerSingleGridPanel<TDate extends DateFrameworkType>(\n props: DatePickerSingleGridPanelProps<TDate>,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const { dateAdapter } = useLocalization<TDate>();\n\n const {\n CalendarProps,\n CalendarNavigationProps,\n CalendarGridProps,\n className,\n defaultVisibleMonth,\n visibleMonth: visibleMonthProp,\n onVisibleMonthChange,\n helperText,\n onFocusedDateChange,\n onHoveredDateChange,\n onSelectionChange,\n numberOfVisibleMonths = 1,\n columns = numberOfVisibleMonths,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-date-picker-single-grid-panel\",\n css: datePickerPanelCss,\n window: targetWindow,\n });\n\n const stateAndHelpers: SingleDatePickerState<TDate> = useDatePickerContext({\n selectionVariant: \"single\",\n });\n\n const {\n state: {\n timezone,\n selectedDate = null,\n minDate = dateAdapter.startOf(dateAdapter.today(timezone), \"month\"),\n maxDate = dateAdapter.add(minDate, { months: 1 }),\n },\n helpers: { select, isDayDisabled, isDayHighlighted, isDayUnselectable },\n } = stateAndHelpers;\n\n const { matchedBreakpoints } = useBreakpoint();\n\n const responsiveColumns =\n resolveResponsiveValue(columns, matchedBreakpoints) ?? 1;\n const responsiveNumberOfVisibleMonths =\n resolveResponsiveValue(numberOfVisibleMonths, matchedBreakpoints) ?? 1;\n\n const {\n state: { focused, initialFocusRef },\n } = useDatePickerOverlay();\n\n const [hoveredDate, setHoveredDate] = useState<TDate | null>(null);\n\n const [uncontrolledDefaultVisibleMonth] = useState(() => {\n const validDate = dateAdapter.isValid(selectedDate)\n ? selectedDate\n : dateAdapter.today(timezone);\n return defaultVisibleMonth || dateAdapter.startOf(validDate, \"month\");\n });\n const [visibleMonth, setVisibleMonth] = useControlled({\n controlled: visibleMonthProp,\n default: uncontrolledDefaultVisibleMonth,\n name: \"DatePickerSingleGridPanel\",\n state: \"visibleMonth\",\n });\n\n const [focusedDate, setFocusedDate] = useState<TDate | null>(null);\n const calendarGridFocused = useRef(false);\n\n const handleSelectionChange = useCallback(\n (\n event: SyntheticEvent,\n newDate: TDate | DateRangeSelection<TDate> | null,\n ) => {\n const singleDate = newDate as TDate | null;\n select(event, singleDate);\n onSelectionChange?.(event, singleDate);\n },\n [onSelectionChange, select],\n );\n\n const handleHoveredDateChange = useCallback(\n (event: SyntheticEvent, newHoveredDate: TDate | null) => {\n setHoveredDate(newHoveredDate);\n onHoveredDateChange?.(event, newHoveredDate);\n },\n [onHoveredDateChange],\n );\n\n const handleVisibleMonthChange = useCallback(\n (event: SyntheticEvent | null, newVisibleMonth: TDate) => {\n setVisibleMonth(newVisibleMonth);\n onVisibleMonthChange?.(event, newVisibleMonth);\n },\n [onVisibleMonthChange],\n );\n\n const handleFocusedDateChange = useCallback(\n (event: SyntheticEvent | null, newFocusedDate: TDate) => {\n setFocusedDate(newFocusedDate);\n if (!newFocusedDate) {\n onFocusedDateChange?.(event, newFocusedDate);\n return;\n }\n\n const startOfFocusedMonth = dateAdapter.startOf(\n newFocusedDate,\n \"month\",\n );\n const lastVisibleMonth = dateAdapter.add(visibleMonth, {\n months: responsiveNumberOfVisibleMonths - 1,\n });\n\n const isBeforeVisibleMonth =\n dateAdapter.compare(startOfFocusedMonth, visibleMonth) < 0;\n const isAfterLastVisibleMonth =\n dateAdapter.compare(startOfFocusedMonth, lastVisibleMonth) > 0;\n\n if (isBeforeVisibleMonth) {\n handleVisibleMonthChange(event, startOfFocusedMonth);\n } else if (isAfterLastVisibleMonth) {\n const newLastVisibleMonth = dateAdapter.subtract(\n startOfFocusedMonth,\n {\n months: responsiveNumberOfVisibleMonths - 1,\n },\n );\n handleVisibleMonthChange(event, newLastVisibleMonth);\n }\n onFocusedDateChange?.(event, newFocusedDate);\n },\n [\n dateAdapter,\n handleVisibleMonthChange,\n onFocusedDateChange,\n responsiveNumberOfVisibleMonths,\n visibleMonth,\n ],\n );\n\n const getNextFocusedDate = useCallback(() => {\n const isOutsideAllowedDates = (date: TDate) => {\n return (\n dateAdapter.compare(date, minDate) < 0 ||\n dateAdapter.compare(date, maxDate) > 0\n );\n };\n const isDaySelectable = (date: TDate) =>\n !(\n date &&\n (isDayUnselectable?.(date) ||\n isDayDisabled?.(date) ||\n isOutsideAllowedDates(date))\n );\n\n const startVisibleMonth = dateAdapter.startOf(visibleMonth, \"month\");\n const endVisibleMonth = dateAdapter.add(visibleMonth, {\n months: responsiveNumberOfVisibleMonths - 1,\n });\n const selectedDateStartOfMonth = selectedDate\n ? dateAdapter.startOf(selectedDate, \"month\")\n : null;\n\n const getVisibleSelectedDate = () => {\n if (\n selectedDateStartOfMonth &&\n dateAdapter.compare(selectedDateStartOfMonth, startVisibleMonth) >=\n 0 &&\n dateAdapter.compare(selectedDateStartOfMonth, endVisibleMonth) <= 0\n ) {\n return selectedDate;\n }\n return null;\n };\n\n const focusSelectedDate = getVisibleSelectedDate();\n if (focusSelectedDate && isDaySelectable(focusSelectedDate)) {\n return focusSelectedDate;\n }\n\n // Today\n const today = dateAdapter.today(timezone);\n const todayStartOfMonth = dateAdapter.startOf(today, \"month\");\n if (\n dateAdapter.compare(todayStartOfMonth, startVisibleMonth) >= 0 &&\n dateAdapter.compare(todayStartOfMonth, endVisibleMonth) <= 0 &&\n isDaySelectable(today)\n ) {\n return today;\n }\n\n // First selectable date across visible months\n const getFirstSelectableDate = (\n startMonth: TDate,\n numberOfMonths: number,\n ) => {\n for (let i = 0; i < numberOfMonths; i++) {\n const currentMonth = dateAdapter.add(startMonth, { months: i });\n const firstSelectableDate = generateDatesForMonth(\n dateAdapter,\n currentMonth,\n ).find((visibleDay) => isDaySelectable(visibleDay));\n\n if (firstSelectableDate) {\n return firstSelectableDate;\n }\n }\n\n return null;\n };\n\n return getFirstSelectableDate(\n startVisibleMonth,\n responsiveNumberOfVisibleMonths,\n );\n }, [\n dateAdapter,\n isDayDisabled,\n isDayUnselectable,\n minDate,\n maxDate,\n responsiveNumberOfVisibleMonths,\n selectedDate,\n visibleMonth,\n timezone,\n ]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: only run when focus/min/max date changes\n useLayoutEffect(() => {\n // Called when the overlay opens or the focus shifts between trigger and overlay\n if (focused && !calendarGridFocused.current) {\n setFocusedDate((prevFocusedDate) => {\n if (!prevFocusedDate) {\n return getNextFocusedDate();\n }\n return prevFocusedDate;\n });\n }\n calendarGridFocused.current = focused;\n }, [focused]);\n\n const calendarProps = {\n visibleMonth,\n focusedDateRef: initialFocusRef,\n focusedDate: calendarGridFocused?.current ? focusedDate : null,\n hoveredDate,\n isDayDisabled,\n isDayHighlighted,\n isDayUnselectable,\n hideOutOfRangeDates: true,\n selectedDate,\n minDate,\n maxDate,\n numberOfVisibleMonths: responsiveNumberOfVisibleMonths,\n onFocusedDateChange: handleFocusedDateChange,\n onHoveredDateChange: handleHoveredDateChange,\n onSelectionChange: handleSelectionChange,\n onVisibleMonthChange: handleVisibleMonthChange,\n timezone,\n ...CalendarProps,\n };\n\n return (\n <StackLayout\n separators\n gap={0}\n className={clsx(className, withBaseName(\"container\"))}\n ref={ref}\n {...rest}\n >\n {helperText && (\n <FlexItem className={withBaseName(\"header\")}>\n <FormFieldHelperText>{helperText}</FormFieldHelperText>\n </FlexItem>\n )}\n <FlexLayout gap={0}>\n <FormFieldContext.Provider value={{} as FormFieldContextValue}>\n <Calendar\n selectionVariant={\"single\"}\n {...(calendarProps as Partial<CalendarSingleProps<TDate>>)}\n >\n <CalendarNavigation {...CalendarNavigationProps} />\n <CalendarGrid\n columns={responsiveColumns}\n {...CalendarGridProps}\n />\n </Calendar>\n </FormFieldContext.Provider>\n </FlexLayout>\n </StackLayout>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","DatePickerSingleGridPanel","useLocalization","useWindow","useComponentCssInjection","datePickerPanelCss","useDatePickerContext","useBreakpoint","resolveResponsiveValue","useDatePickerOverlay","useState","useControlled","useRef","useCallback","generateDatesForMonth","useLayoutEffect","jsxs","StackLayout","clsx","jsx","FlexItem","FormFieldHelperText","FlexLayout","FormFieldContext","Calendar","CalendarNavigation","CalendarGrid"],"mappings":";;;;;;;;;;;;;;;;;;;;AA8GA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA;AAqBhD,MAAM,yBAA4B,GAAAC,gBAAA;AAAA,EACvC,SAASC,0BACP,CAAA,KAAA,EACA,GACA,EAAA;AACA,IAAM,MAAA,EAAE,WAAY,EAAA,GAAIC,oCAAuB,EAAA;AAE/C,IAAM,MAAA;AAAA,MACJ,aAAA;AAAA,MACA,uBAAA;AAAA,MACA,iBAAA;AAAA,MACA,SAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAc,EAAA,gBAAA;AAAA,MACd,oBAAA;AAAA,MACA,UAAA;AAAA,MACA,mBAAA;AAAA,MACA,mBAAA;AAAA,MACA,iBAAA;AAAA,MACA,qBAAwB,GAAA,CAAA;AAAA,MACxB,OAAU,GAAA,qBAAA;AAAA,MACV,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,oCAAA;AAAA,MACR,GAAK,EAAAC,eAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAA,MAAM,kBAAgDC,sCAAqB,CAAA;AAAA,MACzE,gBAAkB,EAAA;AAAA,KACnB,CAAA;AAED,IAAM,MAAA;AAAA,MACJ,KAAO,EAAA;AAAA,QACL,QAAA;AAAA,QACA,YAAe,GAAA,IAAA;AAAA,QACf,UAAU,WAAY,CAAA,OAAA,CAAQ,YAAY,KAAM,CAAA,QAAQ,GAAG,OAAO,CAAA;AAAA,QAClE,UAAU,WAAY,CAAA,GAAA,CAAI,SAAS,EAAE,MAAA,EAAQ,GAAG;AAAA,OAClD;AAAA,MACA,OAAS,EAAA,EAAE,MAAQ,EAAA,aAAA,EAAe,kBAAkB,iBAAkB;AAAA,KACpE,GAAA,eAAA;AAEJ,IAAM,MAAA,EAAE,kBAAmB,EAAA,GAAIC,kBAAc,EAAA;AAE7C,IAAA,MAAM,iBACJ,GAAAC,2BAAA,CAAuB,OAAS,EAAA,kBAAkB,CAAK,IAAA,CAAA;AACzD,IAAA,MAAM,+BACJ,GAAAA,2BAAA,CAAuB,qBAAuB,EAAA,kBAAkB,CAAK,IAAA,CAAA;AAEvE,IAAM,MAAA;AAAA,MACJ,KAAA,EAAO,EAAE,OAAA,EAAS,eAAgB;AAAA,QAChCC,8CAAqB,EAAA;AAEzB,IAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIC,eAAuB,IAAI,CAAA;AAEjE,IAAA,MAAM,CAAC,+BAA+B,CAAI,GAAAA,cAAA,CAAS,MAAM;AACvD,MAAM,MAAA,SAAA,GAAY,YAAY,OAAQ,CAAA,YAAY,IAC9C,YACA,GAAA,WAAA,CAAY,MAAM,QAAQ,CAAA;AAC9B,MAAA,OAAO,mBAAuB,IAAA,WAAA,CAAY,OAAQ,CAAA,SAAA,EAAW,OAAO,CAAA;AAAA,KACrE,CAAA;AACD,IAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIC,kBAAc,CAAA;AAAA,MACpD,UAAY,EAAA,gBAAA;AAAA,MACZ,OAAS,EAAA,+BAAA;AAAA,MACT,IAAM,EAAA,2BAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACR,CAAA;AAED,IAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAID,eAAuB,IAAI,CAAA;AACjE,IAAM,MAAA,mBAAA,GAAsBE,aAAO,KAAK,CAAA;AAExC,IAAA,MAAM,qBAAwB,GAAAC,iBAAA;AAAA,MAC5B,CACE,OACA,OACG,KAAA;AACH,QAAA,MAAM,UAAa,GAAA,OAAA;AACnB,QAAA,MAAA,CAAO,OAAO,UAAU,CAAA;AACxB,QAAA,iBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,iBAAA,CAAoB,KAAO,EAAA,UAAA,CAAA;AAAA,OAC7B;AAAA,MACA,CAAC,mBAAmB,MAAM;AAAA,KAC5B;AAEA,IAAA,MAAM,uBAA0B,GAAAA,iBAAA;AAAA,MAC9B,CAAC,OAAuB,cAAiC,KAAA;AACvD,QAAA,cAAA,CAAe,cAAc,CAAA;AAC7B,QAAA,mBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAsB,KAAO,EAAA,cAAA,CAAA;AAAA,OAC/B;AAAA,MACA,CAAC,mBAAmB;AAAA,KACtB;AAEA,IAAA,MAAM,wBAA2B,GAAAA,iBAAA;AAAA,MAC/B,CAAC,OAA8B,eAA2B,KAAA;AACxD,QAAA,eAAA,CAAgB,eAAe,CAAA;AAC/B,QAAA,oBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,oBAAA,CAAuB,KAAO,EAAA,eAAA,CAAA;AAAA,OAChC;AAAA,MACA,CAAC,oBAAoB;AAAA,KACvB;AAEA,IAAA,MAAM,uBAA0B,GAAAA,iBAAA;AAAA,MAC9B,CAAC,OAA8B,cAA0B,KAAA;AACvD,QAAA,cAAA,CAAe,cAAc,CAAA;AAC7B,QAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,UAAA,mBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAsB,KAAO,EAAA,cAAA,CAAA;AAC7B,UAAA;AAAA;AAGF,QAAA,MAAM,sBAAsB,WAAY,CAAA,OAAA;AAAA,UACtC,cAAA;AAAA,UACA;AAAA,SACF;AACA,QAAM,MAAA,gBAAA,GAAmB,WAAY,CAAA,GAAA,CAAI,YAAc,EAAA;AAAA,UACrD,QAAQ,+BAAkC,GAAA;AAAA,SAC3C,CAAA;AAED,QAAA,MAAM,oBACJ,GAAA,WAAA,CAAY,OAAQ,CAAA,mBAAA,EAAqB,YAAY,CAAI,GAAA,CAAA;AAC3D,QAAA,MAAM,uBACJ,GAAA,WAAA,CAAY,OAAQ,CAAA,mBAAA,EAAqB,gBAAgB,CAAI,GAAA,CAAA;AAE/D,QAAA,IAAI,oBAAsB,EAAA;AACxB,UAAA,wBAAA,CAAyB,OAAO,mBAAmB,CAAA;AAAA,mBAC1C,uBAAyB,EAAA;AAClC,UAAA,MAAM,sBAAsB,WAAY,CAAA,QAAA;AAAA,YACtC,mBAAA;AAAA,YACA;AAAA,cACE,QAAQ,+BAAkC,GAAA;AAAA;AAC5C,WACF;AACA,UAAA,wBAAA,CAAyB,OAAO,mBAAmB,CAAA;AAAA;AAErD,QAAA,mBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAsB,KAAO,EAAA,cAAA,CAAA;AAAA,OAC/B;AAAA,MACA;AAAA,QACE,WAAA;AAAA,QACA,wBAAA;AAAA,QACA,mBAAA;AAAA,QACA,+BAAA;AAAA,QACA;AAAA;AACF,KACF;AAEA,IAAM,MAAA,kBAAA,GAAqBA,kBAAY,MAAM;AAC3C,MAAM,MAAA,qBAAA,GAAwB,CAAC,IAAgB,KAAA;AAC7C,QACE,OAAA,WAAA,CAAY,OAAQ,CAAA,IAAA,EAAM,OAAO,CAAA,GAAI,KACrC,WAAY,CAAA,OAAA,CAAQ,IAAM,EAAA,OAAO,CAAI,GAAA,CAAA;AAAA,OAEzC;AACA,MAAM,MAAA,eAAA,GAAkB,CAAC,IAAA,KACvB,EACE,IAAA,KAAA,CACC,uDAAoB,IACnB,CAAA,MAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAgB,IAChB,CAAA,CAAA,IAAA,qBAAA,CAAsB,IAAI,CAAA,CAAA,CAAA;AAGhC,MAAA,MAAM,iBAAoB,GAAA,WAAA,CAAY,OAAQ,CAAA,YAAA,EAAc,OAAO,CAAA;AACnE,MAAM,MAAA,eAAA,GAAkB,WAAY,CAAA,GAAA,CAAI,YAAc,EAAA;AAAA,QACpD,QAAQ,+BAAkC,GAAA;AAAA,OAC3C,CAAA;AACD,MAAA,MAAM,2BAA2B,YAC7B,GAAA,WAAA,CAAY,OAAQ,CAAA,YAAA,EAAc,OAAO,CACzC,GAAA,IAAA;AAEJ,MAAA,MAAM,yBAAyB,MAAM;AACnC,QAAA,IACE,wBACA,IAAA,WAAA,CAAY,OAAQ,CAAA,wBAAA,EAA0B,iBAAiB,CAAA,IAC7D,CACF,IAAA,WAAA,CAAY,OAAQ,CAAA,wBAAA,EAA0B,eAAe,CAAA,IAAK,CAClE,EAAA;AACA,UAAO,OAAA,YAAA;AAAA;AAET,QAAO,OAAA,IAAA;AAAA,OACT;AAEA,MAAA,MAAM,oBAAoB,sBAAuB,EAAA;AACjD,MAAI,IAAA,iBAAA,IAAqB,eAAgB,CAAA,iBAAiB,CAAG,EAAA;AAC3D,QAAO,OAAA,iBAAA;AAAA;AAIT,MAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,KAAA,CAAM,QAAQ,CAAA;AACxC,MAAA,MAAM,iBAAoB,GAAA,WAAA,CAAY,OAAQ,CAAA,KAAA,EAAO,OAAO,CAAA;AAC5D,MAAA,IACE,WAAY,CAAA,OAAA,CAAQ,iBAAmB,EAAA,iBAAiB,KAAK,CAC7D,IAAA,WAAA,CAAY,OAAQ,CAAA,iBAAA,EAAmB,eAAe,CAAA,IAAK,CAC3D,IAAA,eAAA,CAAgB,KAAK,CACrB,EAAA;AACA,QAAO,OAAA,KAAA;AAAA;AAIT,MAAM,MAAA,sBAAA,GAAyB,CAC7B,UAAA,EACA,cACG,KAAA;AACH,QAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,cAAA,EAAgB,CAAK,EAAA,EAAA;AACvC,UAAA,MAAM,eAAe,WAAY,CAAA,GAAA,CAAI,YAAY,EAAE,MAAA,EAAQ,GAAG,CAAA;AAC9D,UAAA,MAAM,mBAAsB,GAAAC,2BAAA;AAAA,YAC1B,WAAA;AAAA,YACA;AAAA,YACA,IAAK,CAAA,CAAC,UAAe,KAAA,eAAA,CAAgB,UAAU,CAAC,CAAA;AAElD,UAAA,IAAI,mBAAqB,EAAA;AACvB,YAAO,OAAA,mBAAA;AAAA;AACT;AAGF,QAAO,OAAA,IAAA;AAAA,OACT;AAEA,MAAO,OAAA,sBAAA;AAAA,QACL,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,KACC,EAAA;AAAA,MACD,WAAA;AAAA,MACA,aAAA;AAAA,MACA,iBAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,+BAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,KACD,CAAA;AAGD,IAAAC,qBAAA,CAAgB,MAAM;AAEpB,MAAI,IAAA,OAAA,IAAW,CAAC,mBAAA,CAAoB,OAAS,EAAA;AAC3C,QAAA,cAAA,CAAe,CAAC,eAAoB,KAAA;AAClC,UAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,YAAA,OAAO,kBAAmB,EAAA;AAAA;AAE5B,UAAO,OAAA,eAAA;AAAA,SACR,CAAA;AAAA;AAEH,MAAA,mBAAA,CAAoB,OAAU,GAAA,OAAA;AAAA,KAChC,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,IAAA,MAAM,aAAgB,GAAA;AAAA,MACpB,YAAA;AAAA,MACA,cAAgB,EAAA,eAAA;AAAA,MAChB,WAAA,EAAA,CAAa,mBAAqB,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAA,OAAA,IAAU,WAAc,GAAA,IAAA;AAAA,MAC1D,WAAA;AAAA,MACA,aAAA;AAAA,MACA,gBAAA;AAAA,MACA,iBAAA;AAAA,MACA,mBAAqB,EAAA,IAAA;AAAA,MACrB,YAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,qBAAuB,EAAA,+BAAA;AAAA,MACvB,mBAAqB,EAAA,uBAAA;AAAA,MACrB,mBAAqB,EAAA,uBAAA;AAAA,MACrB,iBAAmB,EAAA,qBAAA;AAAA,MACnB,oBAAsB,EAAA,wBAAA;AAAA,MACtB,QAAA;AAAA,MACA,GAAG;AAAA,KACL;AAEA,IACE,uBAAAC,eAAA;AAAA,MAACC,gBAAA;AAAA,MAAA;AAAA,QACC,UAAU,EAAA,IAAA;AAAA,QACV,GAAK,EAAA,CAAA;AAAA,QACL,SAAW,EAAAC,SAAA,CAAK,SAAW,EAAA,YAAA,CAAa,WAAW,CAAC,CAAA;AAAA,QACpD,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UACC,UAAA,oBAAAC,cAAA,CAACC,iBAAS,SAAW,EAAA,YAAA,CAAa,QAAQ,CACxC,EAAA,QAAA,kBAAAD,cAAA,CAACE,wBAAqB,EAAA,EAAA,QAAA,EAAA,UAAA,EAAW,CACnC,EAAA,CAAA;AAAA,0BAEFF,cAAA,CAACG,eAAW,EAAA,EAAA,GAAA,EAAK,CACf,EAAA,QAAA,kBAAAH,cAAA,CAACI,sBAAiB,QAAjB,EAAA,EAA0B,KAAO,EAAA,EAChC,EAAA,QAAA,kBAAAP,eAAA;AAAA,YAACQ,iBAAA;AAAA,YAAA;AAAA,cACC,gBAAkB,EAAA,QAAA;AAAA,cACjB,GAAI,aAAA;AAAA,cAEL,QAAA,EAAA;AAAA,gCAACL,cAAA,CAAAM,qCAAA,EAAA,EAAoB,GAAG,uBAAyB,EAAA,CAAA;AAAA,gCACjDN,cAAA;AAAA,kBAACO,yBAAA;AAAA,kBAAA;AAAA,oBACC,OAAS,EAAA,iBAAA;AAAA,oBACR,GAAG;AAAA;AAAA;AACN;AAAA;AAAA,aAEJ,CACF,EAAA;AAAA;AAAA;AAAA,KACF;AAAA;AAGN;;;;"}
|
|
@@ -6,8 +6,8 @@ var dateAdapters = require('@salt-ds/date-adapters');
|
|
|
6
6
|
var icons = require('@salt-ds/icons');
|
|
7
7
|
var clsx = require('clsx');
|
|
8
8
|
var react = require('react');
|
|
9
|
-
var DateInputSingle = require('../date-input/DateInputSingle.js');
|
|
10
9
|
require('../date-input/DateInputRange.js');
|
|
10
|
+
var DateInputSingle = require('../date-input/DateInputSingle.js');
|
|
11
11
|
var LocalizationProvider = require('../localization-provider/LocalizationProvider.js');
|
|
12
12
|
var DatePickerContext = require('./DatePickerContext.js');
|
|
13
13
|
var DatePickerOverlayProvider = require('./DatePickerOverlayProvider.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerSingleInput.js","sources":["../src/date-picker/DatePickerSingleInput.tsx"],"sourcesContent":["import { Button, makePrefixer, useControlled } from \"@salt-ds/core\";\nimport {\n DateDetailError,\n type DateFrameworkType,\n type SaltDateAdapter,\n} from \"@salt-ds/date-adapters\";\nimport { CalendarIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n type MouseEventHandler,\n type SyntheticEvent,\n
|
|
1
|
+
{"version":3,"file":"DatePickerSingleInput.js","sources":["../src/date-picker/DatePickerSingleInput.tsx"],"sourcesContent":["import { Button, makePrefixer, useControlled } from \"@salt-ds/core\";\nimport {\n DateDetailError,\n type DateFrameworkType,\n type SaltDateAdapter,\n} from \"@salt-ds/date-adapters\";\nimport { CalendarIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n forwardRef,\n type MouseEventHandler,\n type SyntheticEvent,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport type { SingleDateSelection } from \"../calendar\";\nimport {\n DateInputSingle,\n type DateInputSingleDetails,\n type DateInputSingleProps,\n} from \"../date-input\";\nimport { useLocalization } from \"../localization-provider\";\nimport { useDatePickerContext } from \"./DatePickerContext\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerSingleInput\");\n\n/**\n * Props for the DatePickerSingleInput component.\n * @template TDate - The type of the date object.\n */\nexport interface DatePickerSingleInputProps<TDate extends DateFrameworkType>\n extends DateInputSingleProps<TDate> {\n /**\n * Function to validate the entered date\n * @param date - The selected date\n * @param details - The details of date selection, either a valid date or error\n * @returns updated DateInputSingleDetails details\n */\n validate?: (\n date: SingleDateSelection<TDate>,\n details: DateInputSingleDetails,\n ) => DateInputSingleDetails;\n}\n\nfunction defaultSingleValidation<TDate extends DateFrameworkType>(\n dateAdapter: SaltDateAdapter<TDate>,\n date: TDate,\n details: DateInputSingleDetails,\n minDate?: TDate,\n maxDate?: TDate,\n): DateInputSingleDetails {\n if (!date) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: DateDetailError.UNSET,\n message: \"no date defined\",\n });\n } else {\n if (\n minDate &&\n dateAdapter.isValid(date) &&\n dateAdapter.compare(date, minDate) < 0\n ) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: \"min-date\",\n message: \"is before min date\",\n });\n } else if (\n maxDate &&\n dateAdapter.isValid(date) &&\n dateAdapter.compare(date, maxDate) > 0\n ) {\n details.errors = details.errors ?? [];\n details.errors?.push({\n type: \"max-date\",\n message: \"is after max date\",\n });\n }\n }\n return details;\n}\n\nexport const DatePickerSingleInput = forwardRef<\n HTMLDivElement,\n DatePickerSingleInputProps<DateFrameworkType>\n>(\n <TDate extends DateFrameworkType>(\n props: DatePickerSingleInputProps<TDate>,\n ref: React.Ref<HTMLDivElement>,\n ) => {\n const { dateAdapter } = useLocalization<TDate>();\n\n const {\n className,\n value: valueProp,\n validate,\n defaultValue,\n onDateValueChange,\n ...rest\n } = props;\n\n const {\n state: {\n selectedDate,\n disabled,\n readOnly,\n cancelled,\n minDate,\n maxDate,\n timezone,\n },\n helpers: { select },\n } = useDatePickerContext<TDate>({ selectionVariant: \"single\" });\n const {\n state: { open },\n helpers: { setOpen },\n } = useDatePickerOverlay();\n\n const previousValue = useRef<typeof valueProp>();\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"DatePickerSingleInput\",\n state: \"value\",\n });\n\n const handleCalendarButton: MouseEventHandler<HTMLButtonElement> =\n useCallback(\n (event) => {\n event.persist();\n setOpen(!open, event.nativeEvent, \"click\");\n event.stopPropagation();\n },\n [open, setOpen],\n );\n\n const handleDateChange = useCallback(\n (\n event: SyntheticEvent,\n date: SingleDateSelection<TDate>,\n details: DateInputSingleDetails,\n ) => {\n const validatedDetails = validate\n ? validate(date, details)\n : defaultSingleValidation<TDate>(\n dateAdapter,\n date,\n details,\n minDate,\n maxDate,\n );\n select(event, date, validatedDetails);\n },\n [dateAdapter, minDate, maxDate, select, validate],\n );\n\n const handleDateValueChange = useCallback(\n (event: SyntheticEvent | null, newDateValue: string) => {\n setValue(newDateValue);\n onDateValueChange?.(event, newDateValue);\n },\n [onDateValueChange],\n );\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: should run when open changes and not selected date or value\n useEffect(() => {\n if (open) {\n previousValue.current = value;\n }\n }, [open]);\n\n useEffect(() => {\n if (cancelled) {\n setValue(previousValue?.current);\n }\n }, [cancelled]);\n\n return (\n <DateInputSingle\n value={value ?? \"\"}\n className={clsx(withBaseName(), className)}\n date={selectedDate ?? null}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n onDateChange={handleDateChange}\n onDateValueChange={handleDateValueChange}\n endAdornment={\n !readOnly && (\n <Button\n appearance=\"transparent\"\n sentiment=\"neutral\"\n onClick={handleCalendarButton}\n disabled={disabled}\n aria-label=\"Open Calendar\"\n >\n <CalendarIcon aria-hidden />\n </Button>\n )\n }\n timezone={timezone}\n {...rest}\n />\n );\n },\n);\n"],"names":["makePrefixer","DateDetailError","forwardRef","useLocalization","useDatePickerContext","useDatePickerOverlay","useRef","useControlled","useCallback","useEffect","jsx","DateInputSingle","clsx","Button","CalendarIcon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTrigger.js","sources":["../src/date-picker/DatePickerTrigger.tsx"],"sourcesContent":["import { makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { type ReactNode
|
|
1
|
+
{"version":3,"file":"DatePickerTrigger.js","sources":["../src/date-picker/DatePickerTrigger.tsx"],"sourcesContent":["import { makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, type ReactNode } from \"react\";\nimport { useDatePickerOverlay } from \"./DatePickerOverlayProvider\";\n\nconst withBaseName = makePrefixer(\"saltDatePickerTrigger\");\n\n/**\n * Props for the DatePickerTrigger component.\n */\nexport interface DatePickerTriggerProps {\n className?: string;\n children?: ReactNode;\n}\n\nexport const DatePickerTrigger = forwardRef<\n HTMLDivElement,\n DatePickerTriggerProps\n>((props: DatePickerTriggerProps, ref: React.Ref<HTMLDivElement>) => {\n const { children, className, ...rest } = props;\n\n const {\n state: { floatingUIResult },\n helpers: { getReferenceProps },\n } = useDatePickerOverlay();\n\n const triggerRef = useForkRef<HTMLDivElement>(\n ref,\n floatingUIResult?.reference,\n );\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={triggerRef}\n {...getReferenceProps(rest)}\n >\n {children}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","useDatePickerOverlay","useForkRef","jsx","clsx"],"mappings":";;;;;;;;AAKA,MAAM,YAAA,GAAeA,kBAAa,uBAAuB,CAAA;AAUlD,MAAM,iBAAoB,GAAAC,gBAAA,CAG/B,CAAC,KAAA,EAA+B,GAAmC,KAAA;AACnE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,GAAG,MAAS,GAAA,KAAA;AAEzC,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,gBAAiB,EAAA;AAAA,IAC1B,OAAA,EAAS,EAAE,iBAAkB;AAAA,MAC3BC,8CAAqB,EAAA;AAEzB,EAAA,MAAM,UAAa,GAAAC,eAAA;AAAA,IACjB,GAAA;AAAA,IACA,gBAAkB,IAAA,IAAA,GAAA,MAAA,GAAA,gBAAA,CAAA;AAAA,GACpB;AAEA,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAK,EAAA,UAAA;AAAA,MACJ,GAAG,kBAAkB,IAAI,CAAA;AAAA,MAEzB;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var core = require('@salt-ds/core');
|
|
5
|
-
var clsx = require('clsx');
|
|
6
|
-
var react = require('react');
|
|
7
5
|
var styles = require('@salt-ds/styles');
|
|
8
6
|
var window = require('@salt-ds/window');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var react = require('react');
|
|
9
9
|
var DeckItem$1 = require('./DeckItem.css.js');
|
|
10
10
|
|
|
11
11
|
const withBaseName = core.makePrefixer("saltDeckItem");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeckItem.js","sources":["../src/deck-item/DeckItem.tsx"],"sourcesContent":["import { makePrefixer, useForkRef, useId } from \"@salt-ds/core\";\nimport {
|
|
1
|
+
{"version":3,"file":"DeckItem.js","sources":["../src/deck-item/DeckItem.tsx"],"sourcesContent":["import { makePrefixer, useForkRef, useId } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, type HTMLAttributes, useMemo, useRef } from \"react\";\nimport type { LayoutAnimation } from \"../deck-layout\";\n\nimport deckItemCss from \"./DeckItem.css\";\n\nconst withBaseName = makePrefixer(\"saltDeckItem\");\n\nexport interface DeckItemProps extends HTMLAttributes<HTMLDivElement> {\n activeIndex?: number;\n animation?: LayoutAnimation;\n index: number;\n role?: string;\n}\n\nexport const DeckItem = forwardRef<HTMLDivElement, DeckItemProps>(\n function DeckItem(\n {\n activeIndex = 0,\n animation,\n children,\n className,\n index,\n role = \"group\",\n id: idProp,\n ...rest\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-deck-item\",\n css: deckItemCss,\n window: targetWindow,\n });\n\n const sliderRef = useRef<HTMLDivElement | null>(null);\n\n const isCurrent = activeIndex === index;\n\n const position = useMemo(() => {\n return isCurrent ? \"current\" : activeIndex < index ? \"next\" : \"previous\";\n }, [activeIndex, index, isCurrent]);\n\n const classesIndex = animation && position === \"current\" ? 0 : 1;\n\n const getActiveClasses = [\n `${animation || \"fade\"}-in`, // in-right\n `${animation || \"fade\"}-out`, // out-left\n ];\n\n const id = useId(idProp);\n\n return (\n <div\n className={clsx(\n withBaseName(),\n withBaseName(`${animation ? animation : \"static\"}-${position}`),\n {\n [withBaseName(getActiveClasses[classesIndex])]:\n animation === \"fade\",\n },\n className,\n )}\n ref={useForkRef(ref, sliderRef)}\n role={role}\n tabIndex={isCurrent ? 0 : -1}\n id={id}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","DeckItem","useWindow","useComponentCssInjection","deckItemCss","useRef","useMemo","useId","jsx","clsx","useForkRef"],"mappings":";;;;;;;;;;AASA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA;AASzC,MAAM,QAAW,GAAAC,gBAAA;AAAA,EACtB,SAASC,SACP,CAAA;AAAA,IACE,WAAc,GAAA,CAAA;AAAA,IACd,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAO,GAAA,OAAA;AAAA,IACP,EAAI,EAAA,MAAA;AAAA,IACJ,GAAG;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,UAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAM,MAAA,SAAA,GAAYC,aAA8B,IAAI,CAAA;AAEpD,IAAA,MAAM,YAAY,WAAgB,KAAA,KAAA;AAElC,IAAM,MAAA,QAAA,GAAWC,cAAQ,MAAM;AAC7B,MAAA,OAAO,SAAY,GAAA,SAAA,GAAY,WAAc,GAAA,KAAA,GAAQ,MAAS,GAAA,UAAA;AAAA,KAC7D,EAAA,CAAC,WAAa,EAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AAElC,IAAA,MAAM,YAAe,GAAA,SAAA,IAAa,QAAa,KAAA,SAAA,GAAY,CAAI,GAAA,CAAA;AAE/D,IAAA,MAAM,gBAAmB,GAAA;AAAA,MACvB,CAAA,EAAG,aAAa,MAAM,CAAA,GAAA,CAAA;AAAA;AAAA,MACtB,CAAA,EAAG,aAAa,MAAM,CAAA,IAAA;AAAA;AAAA,KACxB;AAEA,IAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA;AAEvB,IACE,uBAAAC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAAC,SAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb,aAAa,CAAG,EAAA,SAAA,GAAY,YAAY,QAAQ,CAAA,CAAA,EAAI,QAAQ,CAAE,CAAA,CAAA;AAAA,UAC9D;AAAA,YACE,CAAC,YAAa,CAAA,gBAAA,CAAiB,YAAY,CAAC,CAAC,GAC3C,SAAc,KAAA;AAAA,WAClB;AAAA,UACA;AAAA,SACF;AAAA,QACA,GAAA,EAAKC,eAAW,CAAA,GAAA,EAAK,SAAS,CAAA;AAAA,QAC9B,IAAA;AAAA,QACA,QAAA,EAAU,YAAY,CAAI,GAAA,EAAA;AAAA,QAC1B,EAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA;AAGN;;;;"}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var clsx = require('clsx');
|
|
5
8
|
var react = require('react');
|
|
6
9
|
var DeckItem = require('../deck-item/DeckItem.js');
|
|
7
10
|
require('../responsive/useResizeObserver.js');
|
|
8
11
|
var useWidth = require('../responsive/useWidth.js');
|
|
9
|
-
var styles = require('@salt-ds/styles');
|
|
10
|
-
var window = require('@salt-ds/window');
|
|
11
|
-
var clsx = require('clsx');
|
|
12
12
|
var DeckLayout$1 = require('./DeckLayout.css.js');
|
|
13
13
|
|
|
14
14
|
const withBaseName = core.makePrefixer("saltDeckLayout");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeckLayout.js","sources":["../src/deck-layout/DeckLayout.tsx"],"sourcesContent":["import { makePrefixer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport {
|
|
1
|
+
{"version":3,"file":"DeckLayout.js","sources":["../src/deck-layout/DeckLayout.tsx"],"sourcesContent":["import { makePrefixer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n Children,\n type CSSProperties,\n forwardRef,\n type HTMLAttributes,\n useCallback,\n useState,\n} from \"react\";\nimport { DeckItem, type DeckItemProps } from \"../deck-item\";\nimport { useWidth } from \"../responsive\";\n\nimport deckLayoutCss from \"./DeckLayout.css\";\n\nexport type LayoutAnimation = \"slide\" | \"fade\";\nexport type LayoutAnimationDirection = \"horizontal\" | \"vertical\";\nexport type LayoutAnimationTransition = \"increase\" | \"decrease\";\n\nexport interface DeckLayoutProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The initial item to render.\n **/\n activeIndex?: number;\n /**\n * The animation when the slides are shown.\n **/\n animation?: LayoutAnimation;\n /**\n * The direction in which items will transition.\n **/\n direction?: LayoutAnimationDirection;\n /**\n * Props to be passed to the DeckItem component.\n */\n deckItemProps?: Partial<DeckItemProps>;\n}\n\nconst withBaseName = makePrefixer(\"saltDeckLayout\");\n\nexport const DeckLayout = forwardRef<HTMLDivElement, DeckLayoutProps>(\n function DeckLayout(\n {\n activeIndex = 0,\n animation,\n className,\n children,\n direction = \"horizontal\",\n style,\n deckItemProps,\n ...rest\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-deck-layout\",\n css: deckLayoutCss,\n window: targetWindow,\n });\n\n const [deckItemRef, deckItemWidth] = useWidth<HTMLDivElement>(true);\n\n const [deckItemHeight, setDeckItemHeight] = useState<number>(0);\n\n const handleResize = useCallback(function handleResize(\n contentRect: DOMRect,\n ) {\n setDeckItemHeight(contentRect.height);\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (!deckItemRef.current) {\n return undefined;\n }\n\n handleResize(deckItemRef.current.getBoundingClientRect());\n\n const observer = new ResizeObserver(\n ([{ contentRect }]: ResizeObserverEntry[]) => {\n handleResize(contentRect);\n },\n );\n observer.observe(deckItemRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [deckItemRef, handleResize]);\n\n const deckLayoutStyles = {\n ...style,\n \"--deckLayout-width\": `${deckItemWidth}px`,\n \"--deckLayout-height\": `${deckItemHeight}px`,\n };\n\n const innerStyles = {\n \"--deckLayout-transform-value\": `-${activeIndex * 100}%`,\n } as CSSProperties;\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n style={deckLayoutStyles}\n ref={ref}\n {...rest}\n >\n <div\n className={clsx(\n {\n [withBaseName(\"animate\")]: animation,\n },\n {\n [withBaseName(`${animation || \"slide\"}-${direction}`)]: animation,\n },\n )}\n style={innerStyles}\n >\n {Children.map(children, (child, index) => {\n return (\n <DeckItem\n ref={deckItemRef}\n index={index}\n activeIndex={activeIndex}\n animation={animation}\n {...deckItemProps}\n >\n {child}\n </DeckItem>\n );\n })}\n </div>\n </div>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","DeckLayout","useWindow","useComponentCssInjection","deckLayoutCss","useWidth","useState","useCallback","handleResize","useIsomorphicLayoutEffect","jsx","clsx","Children","DeckItem"],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ var collectionProvider = require('../common-hooks/collectionProvider.js');
|
|
|
7
7
|
var itemToString = require('../common-hooks/itemToString.js');
|
|
8
8
|
require('../common-hooks/keyUtils.js');
|
|
9
9
|
var useCollectionItems = require('../common-hooks/useCollectionItems.js');
|
|
10
|
-
require('../responsive/useResizeObserver.js');
|
|
11
10
|
var forwardCallbackProps = require('../utils/forwardCallbackProps.js');
|
|
11
|
+
require('../responsive/useResizeObserver.js');
|
|
12
12
|
var List = require('../list/List.js');
|
|
13
13
|
var DropdownBase = require('./DropdownBase.js');
|
|
14
14
|
var DropdownButton = require('./DropdownButton.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../src/dropdown/Dropdown.tsx"],"sourcesContent":["import { useForkRef, useIdMemo as useId } from \"@salt-ds/core\";\nimport {\n
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../src/dropdown/Dropdown.tsx"],"sourcesContent":["import { useForkRef, useIdMemo as useId } from \"@salt-ds/core\";\nimport {\n cloneElement,\n type ForwardedRef,\n forwardRef,\n type ReactElement,\n useCallback,\n useRef,\n} from \"react\";\n\nimport {\n type CollectionItem,\n CollectionProvider,\n itemToString as defaultItemToString,\n type SelectionProps,\n type SelectionStrategy,\n type SingleSelectionStrategy,\n useCollectionItems,\n} from \"../common-hooks\";\nimport { List } from \"../list/List\";\nimport type { ListProps } from \"../list/listTypes\";\nimport { forwardCallbackProps } from \"../utils\";\nimport { DropdownBase, type MaybeChildProps } from \"./DropdownBase\";\nimport { DropdownButton } from \"./DropdownButton\";\nimport type { DropdownBaseProps } from \"./dropdownTypes\";\nimport { useDropdown } from \"./useDropdown\";\n\nexport interface DropdownProps<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n> extends DropdownBaseProps,\n Pick<\n ListProps<Item, Selection>,\n \"ListItem\" | \"itemToString\" | \"source\" | \"width\"\n >,\n SelectionProps<Item, Selection> {\n ListProps?: Omit<\n ListProps<Item, Selection>,\n \"ListItem\" | \"itemToString\" | \"source\"\n >;\n}\n\nexport const Dropdown = forwardRef(function Dropdown<\n Item = string,\n Selection extends SelectionStrategy = \"default\",\n>(\n {\n \"aria-label\": ariaLabel,\n children,\n defaultIsOpen,\n defaultSelected,\n id: idProp,\n isOpen: isOpenProp,\n itemToString = defaultItemToString,\n onOpenChange,\n onSelectionChange,\n onSelect,\n selected: selectedProp,\n selectionStrategy,\n source,\n triggerComponent,\n ListItem,\n ListProps,\n width = 180,\n ...props\n }: DropdownProps<Item, Selection>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const id = useId(idProp);\n const rootRef = useRef<HTMLDivElement>(null);\n const forkedRef = useForkRef<HTMLDivElement>(rootRef, forwardedRef);\n\n const collectionHook = useCollectionItems<Item>({\n id,\n source,\n children,\n options: {\n itemToString,\n },\n });\n\n const {\n highlightedIndex,\n triggerLabel,\n listHandlers,\n listControlProps,\n selected,\n ...dropdownListHook\n } = useDropdown<Item, Selection>({\n collectionHook,\n defaultHighlightedIndex: ListProps?.defaultHighlightedIndex,\n defaultIsOpen,\n defaultSelected: collectionHook.itemToCollectionItem<\n Selection,\n typeof defaultSelected\n >(defaultSelected),\n highlightedIndex: ListProps?.highlightedIndex,\n isOpen: isOpenProp,\n itemToString,\n label: \"Dropdown\",\n onHighlight: ListProps?.onHighlight,\n onOpenChange,\n onSelectionChange,\n onSelect,\n selected: collectionHook.itemToCollectionItem<\n Selection,\n typeof selectedProp\n >(selectedProp),\n selectionStrategy,\n });\n\n const collectionItemsToItem = useCallback(\n (\n itemOrItems?: 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(itemOrItems)) {\n return itemOrItems.map((i) => i.value) as returnType;\n }\n if (itemOrItems) {\n return itemOrItems.value as returnType;\n }\n },\n [],\n );\n\n const getTriggerComponent = () => {\n const ariaProps = {\n \"aria-activedescendant\": dropdownListHook.isOpen\n ? listControlProps?.[\"aria-activedescendant\"]\n : undefined,\n \"aria-label\": ariaLabel,\n };\n if (triggerComponent) {\n const ownProps = triggerComponent.props as MaybeChildProps;\n return cloneElement(\n triggerComponent,\n forwardCallbackProps(ownProps, {\n ...(dropdownListHook.isOpen ? listControlProps : {}),\n ...ariaProps,\n }),\n );\n }\n return (\n <DropdownButton\n label={triggerLabel}\n {...(dropdownListHook.isOpen ? listControlProps : {})}\n {...ariaProps}\n />\n );\n };\n\n return (\n <CollectionProvider<Item> collectionHook={collectionHook}>\n <DropdownBase\n {...props}\n id={id}\n isOpen={dropdownListHook.isOpen}\n onOpenChange={dropdownListHook.onOpenChange}\n ref={forkedRef}\n width={width}\n >\n {getTriggerComponent()}\n <List<Item, Selection>\n ListItem={ListItem}\n itemToString={itemToString}\n {...ListProps}\n highlightedIndex={highlightedIndex}\n listHandlers={listHandlers}\n onSelectionChange={onSelectionChange}\n onSelect={onSelect}\n selected={collectionItemsToItem(selected)}\n selectionStrategy={selectionStrategy}\n data-testid=\"dropdown-list\"\n />\n </DropdownBase>\n </CollectionProvider>\n );\n}) as <Item, Selection extends SelectionStrategy = \"default\">(\n props: DropdownProps<Item, Selection> & {\n ref?: ForwardedRef<HTMLDivElement>;\n },\n) => ReactElement<DropdownProps<Item, Selection>>;\n"],"names":["forwardRef","Dropdown","itemToString","defaultItemToString","useId","useRef","useForkRef","useCollectionItems","useDropdown","useCallback","cloneElement","forwardCallbackProps","jsx","DropdownButton","CollectionProvider","jsxs","DropdownBase","List"],"mappings":"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"}
|
|
@@ -4,15 +4,15 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var react$1 = require('@floating-ui/react');
|
|
5
5
|
var core = require('@salt-ds/core');
|
|
6
6
|
var styles = require('@salt-ds/styles');
|
|
7
|
+
var window = require('@salt-ds/window');
|
|
7
8
|
var clsx = require('clsx');
|
|
8
9
|
var react = require('react');
|
|
9
10
|
var Portal = require('../portal/Portal.js');
|
|
10
11
|
var forwardCallbackProps = require('../utils/forwardCallbackProps.js');
|
|
11
|
-
var WindowContext = require('../window/WindowContext.js');
|
|
12
12
|
require('../window/ElectronWindow.js');
|
|
13
|
-
var
|
|
14
|
-
var window = require('@salt-ds/window');
|
|
13
|
+
var WindowContext = require('../window/WindowContext.js');
|
|
15
14
|
var Dropdown = require('./Dropdown.css.js');
|
|
15
|
+
var useDropdownBase = require('./useDropdownBase.js');
|
|
16
16
|
|
|
17
17
|
const withBaseName = core.makePrefixer("saltDropdownBase");
|
|
18
18
|
const DropdownBase = react.forwardRef(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownBase.js","sources":["../src/dropdown/DropdownBase.tsx"],"sourcesContent":["import { flip, limitShift, shift, size } from \"@floating-ui/react\";\nimport {\n makePrefixer,\n useFloatingUI,\n useForkRef,\n useIdMemo as useId,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { clsx } from \"clsx\";\nimport { Children, cloneElement, forwardRef, useRef, useState } from \"react\";\nimport { Portal } from \"../portal\";\nimport { forwardCallbackProps } from \"../utils\";\nimport { isDesktop, useWindow as usePortalWindow } from \"../window\";\nimport
|
|
1
|
+
{"version":3,"file":"DropdownBase.js","sources":["../src/dropdown/DropdownBase.tsx"],"sourcesContent":["import { flip, limitShift, shift, size } from \"@floating-ui/react\";\nimport {\n makePrefixer,\n useFloatingUI,\n useForkRef,\n useIdMemo as useId,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { Children, cloneElement, forwardRef, useRef, useState } from \"react\";\nimport { Portal } from \"../portal\";\nimport { forwardCallbackProps } from \"../utils\";\nimport { isDesktop, useWindow as usePortalWindow } from \"../window\";\nimport dropdownCss from \"./Dropdown.css\";\nimport type { DropdownBaseProps } from \"./dropdownTypes\";\nimport { useDropdownBase } from \"./useDropdownBase\";\n// Any component may be passed as our trigger or popup component.\n// Define the common props that we will act on, if present,\n// so we can type them.\nexport type MaybeChildProps = {\n className?: string;\n id?: string;\n role?: string;\n width: number | string;\n};\n\nconst withBaseName = makePrefixer(\"saltDropdownBase\");\n\nexport const DropdownBase = forwardRef<HTMLDivElement, DropdownBaseProps>(\n function Dropdown(\n {\n \"aria-labelledby\": ariaLabelledByProp,\n children,\n className: classNameProp,\n container,\n defaultIsOpen,\n disabled,\n disablePortal,\n fullWidth,\n id: idProp,\n isOpen: isOpenProp,\n onKeyDown,\n onOpenChange,\n openOnFocus,\n placement = \"bottom-start\",\n popupWidth,\n width,\n ...htmlAttributes\n },\n forwardedRef,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dropdown\",\n css: dropdownCss,\n window: targetWindow,\n });\n\n const rootRef = useRef<HTMLDivElement>(null);\n const className = clsx(withBaseName(), classNameProp, {\n [withBaseName(\"fullWidth\")]: fullWidth,\n [withBaseName(\"disabled\")]: disabled,\n });\n const [trigger, popupComponent] = Children.toArray(\n children,\n ) as JSX.Element[];\n const id = useId(idProp);\n const Window = usePortalWindow();\n\n const { componentProps, popperRef, isOpen, triggerProps } = useDropdownBase(\n {\n ariaLabelledBy: ariaLabelledByProp,\n defaultIsOpen,\n disabled,\n fullWidth,\n id,\n isOpen: isOpenProp,\n onOpenChange,\n onKeyDown,\n openOnFocus,\n popupComponent,\n popupWidth,\n rootRef,\n width,\n },\n );\n const [maxPopupHeight, setMaxPopupHeight] = useState<number | undefined>(\n undefined,\n );\n\n const middleware = isDesktop\n ? []\n : [\n flip({\n fallbackPlacements: [\"bottom-start\", \"top-start\"],\n }),\n shift({ limiter: limitShift() }),\n size({\n apply({ availableHeight }) {\n setMaxPopupHeight(availableHeight);\n },\n }),\n ];\n\n const { reference, floating, x, y, strategy } = useFloatingUI({\n placement,\n middleware,\n });\n\n const handlePopperListAdapterRef = useForkRef<HTMLDivElement>(\n reference,\n forwardedRef,\n );\n const handleRootRef = useForkRef(rootRef, handlePopperListAdapterRef);\n const handleFloatingRef = useForkRef<HTMLDivElement>(floating, popperRef);\n // TODO maybe we should pass style, with maxHeight, to the popupComponent\n\n const getTriggerComponent = () => {\n const {\n id: defaultId,\n role: defaultRole,\n ...restTriggerProps\n } = triggerProps;\n\n const {\n id = defaultId,\n role = defaultRole,\n ...ownProps\n } = trigger.props as MaybeChildProps;\n\n return cloneElement(\n trigger,\n forwardCallbackProps(ownProps, {\n ...restTriggerProps,\n id,\n role,\n }),\n );\n };\n\n const getPopupComponent = () => {\n const { id: defaultId, width, ...restComponentProps } = componentProps;\n const {\n className,\n id = defaultId,\n width: ownWidth,\n ...ownProps\n } = popupComponent.props as MaybeChildProps;\n return cloneElement(popupComponent, {\n ...ownProps,\n ...restComponentProps,\n className: clsx(className, withBaseName(\"popup-component\")),\n id,\n width: ownWidth ?? width,\n });\n };\n\n return (\n <div\n {...htmlAttributes}\n className={className}\n data-testid=\"dropdown\"\n id={idProp}\n ref={handleRootRef}\n >\n {getTriggerComponent()}\n {isOpen && (\n <Portal disablePortal={disablePortal} container={container}>\n <Window\n className={clsx(withBaseName(\"popup\"), classNameProp)}\n id={`${id}-popup`}\n style={{\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n maxHeight: maxPopupHeight,\n }}\n ref={handleFloatingRef}\n >\n {getPopupComponent()}\n </Window>\n </Portal>\n )}\n </div>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Dropdown","useWindow","useComponentCssInjection","dropdownCss","useRef","clsx","Children","useId","usePortalWindow","useDropdownBase","useState","isDesktop","flip","shift","limitShift","size","useFloatingUI","useForkRef","id","cloneElement","forwardCallbackProps","width","className","jsxs","jsx","Portal"],"mappings":";;;;;;;;;;;;;;;;AA2BA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA;AAE7C,MAAM,YAAe,GAAAC,gBAAA;AAAA,EAC1B,SAASC,UACP,CAAA;AAAA,IACE,iBAAmB,EAAA,kBAAA;AAAA,IACnB,QAAA;AAAA,IACA,SAAW,EAAA,aAAA;AAAA,IACX,SAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,EAAI,EAAA,MAAA;AAAA,IACJ,MAAQ,EAAA,UAAA;AAAA,IACR,SAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAY,GAAA,cAAA;AAAA,IACZ,UAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAG;AAAA,KAEL,YACA,EAAA;AACA,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,eAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAM,MAAA,OAAA,GAAUC,aAAuB,IAAI,CAAA;AAC3C,IAAA,MAAM,SAAY,GAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,aAAe,EAAA;AAAA,MACpD,CAAC,YAAA,CAAa,WAAW,CAAC,GAAG,SAAA;AAAA,MAC7B,CAAC,YAAA,CAAa,UAAU,CAAC,GAAG;AAAA,KAC7B,CAAA;AACD,IAAA,MAAM,CAAC,OAAA,EAAS,cAAc,CAAA,GAAIC,cAAS,CAAA,OAAA;AAAA,MACzC;AAAA,KACF;AACA,IAAM,MAAA,EAAA,GAAKC,eAAM,MAAM,CAAA;AACvB,IAAA,MAAM,SAASC,uBAAgB,EAAA;AAE/B,IAAA,MAAM,EAAE,cAAA,EAAgB,SAAW,EAAA,MAAA,EAAQ,cAAiB,GAAAC,+BAAA;AAAA,MAC1D;AAAA,QACE,cAAgB,EAAA,kBAAA;AAAA,QAChB,aAAA;AAAA,QACA,QAAA;AAAA,QACA,SAAA;AAAA,QACA,EAAA;AAAA,QACA,MAAQ,EAAA,UAAA;AAAA,QACR,YAAA;AAAA,QACA,SAAA;AAAA,QACA,WAAA;AAAA,QAEA,UAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA;AACF,KACF;AACA,IAAM,MAAA,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAAC,cAAA;AAAA,MAC1C;AAAA,KACF;AAEA,IAAM,MAAA,UAAA,GAAaC,uBACf,GAAA,EACA,GAAA;AAAA,MACEC,YAAK,CAAA;AAAA,QACH,kBAAA,EAAoB,CAAC,cAAA,EAAgB,WAAW;AAAA,OACjD,CAAA;AAAA,MACDC,aAAM,CAAA,EAAE,OAAS,EAAAC,kBAAA,IAAc,CAAA;AAAA,MAC/BC,YAAK,CAAA;AAAA,QACH,KAAA,CAAM,EAAE,eAAA,EAAmB,EAAA;AACzB,UAAA,iBAAA,CAAkB,eAAe,CAAA;AAAA;AACnC,OACD;AAAA,KACH;AAEJ,IAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAU,GAAG,CAAG,EAAA,QAAA,KAAaC,kBAAc,CAAA;AAAA,MAC5D,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,0BAA6B,GAAAC,eAAA;AAAA,MACjC,SAAA;AAAA,MACA;AAAA,KACF;AACA,IAAM,MAAA,aAAA,GAAgBA,eAAW,CAAA,OAAA,EAAS,0BAA0B,CAAA;AACpE,IAAM,MAAA,iBAAA,GAAoBA,eAA2B,CAAA,QAAA,EAAU,SAAS,CAAA;AAGxE,IAAA,MAAM,sBAAsB,MAAM;AAChC,MAAM,MAAA;AAAA,QACJ,EAAI,EAAA,SAAA;AAAA,QACJ,IAAM,EAAA,WAAA;AAAA,QACN,GAAG;AAAA,OACD,GAAA,YAAA;AAEJ,MAAM,MAAA;AAAA,QACJ,IAAAC,GAAK,GAAA,SAAA;AAAA,QACL,IAAO,GAAA,WAAA;AAAA,QACP,GAAG;AAAA,UACD,OAAQ,CAAA,KAAA;AAEZ,MAAO,OAAAC,kBAAA;AAAA,QACL,OAAA;AAAA,QACAC,0CAAqB,QAAU,EAAA;AAAA,UAC7B,GAAG,gBAAA;AAAA,UACH,EAAAF,EAAAA,GAAAA;AAAA,UACA;AAAA,SACD;AAAA,OACH;AAAA,KACF;AAEA,IAAA,MAAM,oBAAoB,MAAM;AAC9B,MAAA,MAAM,EAAE,EAAI,EAAA,SAAA,EAAW,OAAAG,MAAO,EAAA,GAAG,oBAAuB,GAAA,cAAA;AACxD,MAAM,MAAA;AAAA,QACJ,SAAAC,EAAAA,UAAAA;AAAA,QACA,IAAAJ,GAAK,GAAA,SAAA;AAAA,QACL,KAAO,EAAA,QAAA;AAAA,QACP,GAAG;AAAA,UACD,cAAe,CAAA,KAAA;AACnB,MAAA,OAAOC,mBAAa,cAAgB,EAAA;AAAA,QAClC,GAAG,QAAA;AAAA,QACH,GAAG,kBAAA;AAAA,QACH,SAAW,EAAAd,SAAA,CAAKiB,UAAW,EAAA,YAAA,CAAa,iBAAiB,CAAC,CAAA;AAAA,QAC1D,EAAAJ,EAAAA,GAAAA;AAAA,QACA,OAAO,QAAYG,IAAAA;AAAA,OACpB,CAAA;AAAA,KACH;AAEA,IACE,uBAAAE,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACE,GAAG,cAAA;AAAA,QACJ,SAAA;AAAA,QACA,aAAY,EAAA,UAAA;AAAA,QACZ,EAAI,EAAA,MAAA;AAAA,QACJ,GAAK,EAAA,aAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,UAAoB,mBAAA,EAAA;AAAA,UACpB,MACC,oBAAAC,cAAA,CAACC,aAAO,EAAA,EAAA,aAAA,EAA8B,SACpC,EAAA,QAAA,kBAAAD,cAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAW,EAAAnB,SAAA,CAAK,YAAa,CAAA,OAAO,GAAG,aAAa,CAAA;AAAA,cACpD,EAAA,EAAI,GAAG,EAAE,CAAA,MAAA,CAAA;AAAA,cACT,KAAO,EAAA;AAAA,gBACL,KAAK,CAAK,IAAA,CAAA;AAAA,gBACV,MAAM,CAAK,IAAA,CAAA;AAAA,gBACX,QAAU,EAAA,QAAA;AAAA,gBACV,SAAW,EAAA;AAAA,eACb;AAAA,cACA,GAAK,EAAA,iBAAA;AAAA,cAEJ,QAAkB,EAAA,iBAAA;AAAA;AAAA,WAEvB,EAAA;AAAA;AAAA;AAAA,KAEJ;AAAA;AAGN;;;;"}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var core = require('@salt-ds/core');
|
|
5
5
|
var icons = require('@salt-ds/icons');
|
|
6
|
+
var styles = require('@salt-ds/styles');
|
|
7
|
+
var window = require('@salt-ds/window');
|
|
6
8
|
var clsx = require('clsx');
|
|
7
9
|
var react = require('react');
|
|
8
10
|
require('../form-field-context-legacy/FormFieldLegacyContext.js');
|
|
9
11
|
var useFormFieldLegacyProps = require('../form-field-context-legacy/useFormFieldLegacyProps.js');
|
|
10
|
-
var styles = require('@salt-ds/styles');
|
|
11
|
-
var window = require('@salt-ds/window');
|
|
12
12
|
var DropdownButton$1 = require('./DropdownButton.css.js');
|
|
13
13
|
|
|
14
14
|
const withBaseName = core.makePrefixer("saltDropdownButton");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownButton.js","sources":["../src/dropdown/DropdownButton.tsx"],"sourcesContent":["import { Button, type ButtonProps, makePrefixer, useIcon } from \"@salt-ds/core\";\nimport { DEFAULT_ICON_SIZE, type IconProps } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n type AriaAttributes,\n type ComponentType,\n type ForwardedRef,\n forwardRef,\n} from \"react\";\nimport { useFormFieldLegacyProps } from \"../form-field-context-legacy\";\n\nimport
|
|
1
|
+
{"version":3,"file":"DropdownButton.js","sources":["../src/dropdown/DropdownButton.tsx"],"sourcesContent":["import { Button, type ButtonProps, makePrefixer, useIcon } from \"@salt-ds/core\";\nimport { DEFAULT_ICON_SIZE, type IconProps } from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type AriaAttributes,\n type ComponentType,\n type ForwardedRef,\n forwardRef,\n} from \"react\";\nimport { useFormFieldLegacyProps } from \"../form-field-context-legacy\";\n\nimport dropdownButtonCss from \"./DropdownButton.css\";\n\nexport interface DropdownButtonProps extends ButtonProps {\n /**\n * Replace the default Icon component\n */\n IconComponent?: ComponentType<any>;\n /**\n * Whether the dropdown button should hide role='option' via 'aria-hidden'\n */\n ariaHideOptionRole?: boolean;\n /**\n * If, `true`, the Dropdown button will occupy the full width of it's container\n */\n fullWidth?: boolean;\n /**\n * Sets the size of the down arrow icon. If this is not specified, a default size based on density is used.\n */\n iconSize?: IconProps[\"size\"];\n /**\n * Is the dropdown list open\n */\n isOpen?: boolean;\n /**\n * Label for the dropdown button\n */\n label?: string;\n /**\n * Id for the label. This is needed for ARIA attributes.\n */\n labelId?: string;\n /**\n * When the dropdown is collapsed this value is set as aria-posinset on the span containing the selected value\n * **/\n posInSet?: number;\n /**\n * When the dropdown is collapsed this value is set as aria-setsize on the span containing the selected value\n * **/\n setSize?: number;\n /**\n *\n * **/\n labelAriaAttributes?: Pick<\n AriaAttributes,\n \"aria-posinset\" | \"aria-setsize\" | \"aria-selected\"\n >;\n}\n\nconst withBaseName = makePrefixer(\"saltDropdownButton\");\n\nexport const DropdownButton = forwardRef(function DropdownButton(\n {\n IconComponent,\n ariaHideOptionRole,\n className,\n disabled,\n iconSize = DEFAULT_ICON_SIZE,\n isOpen,\n label,\n labelId,\n fullWidth,\n posInSet,\n setSize,\n labelAriaAttributes,\n ...rest\n }: DropdownButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dropdown-button\",\n css: dropdownButtonCss,\n window: targetWindow,\n });\n const { ExpandIcon } = useIcon();\n const Icon = IconComponent === undefined ? ExpandIcon : IconComponent;\n const { inFormField } = useFormFieldLegacyProps();\n // FIXME: use polymorphic button\n // We don't want the 'button' tag to be shown in the DOM to trigger some accessibility testing\n // tool's false alarm on role of 'listbox'\n return (\n <Button\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"fullwidth\")]: fullWidth,\n [withBaseName(\"formField\")]: inFormField,\n },\n className,\n )}\n data-testid=\"dropdown-button\"\n disabled={disabled}\n variant=\"secondary\"\n {...rest}\n ref={ref}\n >\n <div className={withBaseName(\"content\")}>\n <span\n // 'hidden' so that screen reader won't be confused the additional 'option' which is just a label\n aria-hidden={ariaHideOptionRole ? \"true\" : undefined}\n {...labelAriaAttributes}\n className={withBaseName(\"buttonLabel\")}\n id={labelId}\n // biome-ignore lint/a11y/useAriaPropsForRole: 'option' role here is to suppress accessibility testing tool warning about 'listbox' missing children role\n role=\"option\"\n >\n {label}\n </span>\n <Icon\n className={withBaseName(\"icon\")}\n size={iconSize}\n aria-label={null}\n aria-hidden=\"true\"\n />\n </div>\n </Button>\n );\n});\n"],"names":["makePrefixer","forwardRef","DropdownButton","DEFAULT_ICON_SIZE","useWindow","useComponentCssInjection","dropdownButtonCss","useIcon","useFormFieldLegacyProps","jsx","Button","clsx","jsxs"],"mappings":";;;;;;;;;;;;;AA6DA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA;AAEzC,MAAA,cAAA,GAAiBC,gBAAW,CAAA,SAASC,eAChD,CAAA;AAAA,EACE,aAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAW,GAAAC,uBAAA;AAAA,EACX,MAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,mBAAA;AAAA,EACA,GAAG;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,sBAAA;AAAA,IACR,GAAK,EAAAC,gBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AACD,EAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,YAAQ,EAAA;AAC/B,EAAM,MAAA,IAAA,GAAO,aAAkB,KAAA,MAAA,GAAY,UAAa,GAAA,aAAA;AACxD,EAAM,MAAA,EAAE,WAAY,EAAA,GAAIC,+CAAwB,EAAA;AAIhD,EACE,uBAAAC,cAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,CAAC,YAAA,CAAa,WAAW,CAAC,GAAG,SAAA;AAAA,UAC7B,CAAC,YAAA,CAAa,WAAW,CAAC,GAAG;AAAA,SAC/B;AAAA,QACA;AAAA,OACF;AAAA,MACA,aAAY,EAAA,iBAAA;AAAA,MACZ,QAAA;AAAA,MACA,OAAQ,EAAA,WAAA;AAAA,MACP,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MAEA,QAAC,kBAAAC,eAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,YAAA,CAAa,SAAS,CACpC,EAAA,QAAA,EAAA;AAAA,wBAAAH,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YAEC,aAAA,EAAa,qBAAqB,MAAS,GAAA,MAAA;AAAA,YAC1C,GAAG,mBAAA;AAAA,YACJ,SAAA,EAAW,aAAa,aAAa,CAAA;AAAA,YACrC,EAAI,EAAA,OAAA;AAAA,YAEJ,IAAK,EAAA,QAAA;AAAA,YAEJ,QAAA,EAAA;AAAA;AAAA,SACH;AAAA,wBACAA,cAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,YAC9B,IAAM,EAAA,QAAA;AAAA,YACN,YAAY,EAAA,IAAA;AAAA,YACZ,aAAY,EAAA;AAAA;AAAA;AACd,OACF,EAAA;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
|
|
@@ -8,8 +8,8 @@ require('../common-hooks/keyUtils.js');
|
|
|
8
8
|
require('react/jsx-runtime');
|
|
9
9
|
require('../responsive/useResizeObserver.js');
|
|
10
10
|
require('../list/Highlighter.js');
|
|
11
|
-
require('../list/ListItem.js');
|
|
12
11
|
require('../list/List.js');
|
|
12
|
+
require('../list/ListItem.js');
|
|
13
13
|
var useList = require('../list/useList.js');
|
|
14
14
|
require('../list/VirtualizedList.js');
|
|
15
15
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdown.js","sources":["../src/dropdown/useDropdown.ts"],"sourcesContent":["import { useControlled } from \"@salt-ds/core\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n type CollectionItem,\n type SelectHandler,\n type SelectionChangeHandler,\n type SelectionStrategy,\n
|
|
1
|
+
{"version":3,"file":"useDropdown.js","sources":["../src/dropdown/useDropdown.ts"],"sourcesContent":["import { useControlled } from \"@salt-ds/core\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n type CollectionItem,\n itemToString as defaultItemToString,\n type SelectHandler,\n type SelectionChangeHandler,\n type SelectionStrategy,\n} from \"../common-hooks\";\nimport { type ListHookProps, type ListHookResult, useList } from \"../list\";\nimport type { DropdownHookProps, DropdownHookResult } from \"./dropdownTypes\";\n\nconst NULL_REF = { current: null };\n\nexport interface DropdownListHookProps<Item, Strategy extends SelectionStrategy>\n extends Partial<Omit<DropdownHookProps, \"onKeyDown\">>,\n Omit<ListHookProps<Item, Strategy>, \"containerRef\"> {\n itemToString?: (item: Item) => string;\n}\n\nexport interface DropdownListHookResult<\n Item,\n Selection extends SelectionStrategy,\n> extends Partial<ListHookResult<Item, Selection>>,\n Partial<DropdownHookResult> {\n onOpenChange: any;\n triggerLabel?: string;\n}\n\nexport const useDropdown = <\n Item,\n Selection extends SelectionStrategy = \"default\",\n>({\n collectionHook,\n defaultHighlightedIndex: defaultHighlightedIndexProp,\n defaultIsOpen,\n defaultSelected,\n highlightedIndex: highlightedIndexProp,\n isOpen: isOpenProp,\n itemToString = defaultItemToString,\n onHighlight,\n onOpenChange,\n onSelectionChange,\n onSelect,\n selected,\n selectionStrategy,\n}: DropdownListHookProps<Item, Selection>): DropdownListHookResult<\n Item,\n Selection\n> => {\n const isMultiSelect =\n selectionStrategy === \"multiple\" || selectionStrategy === \"extended\";\n\n const [isOpen, setIsOpen] = useControlled<boolean>({\n controlled: isOpenProp,\n default: defaultIsOpen ?? false,\n name: \"useDropdownList\",\n });\n\n const handleSelectionChange = useCallback<\n SelectionChangeHandler<Item, Selection>\n >(\n (evt, selected) => {\n if (!isMultiSelect) {\n setIsOpen(false);\n onOpenChange?.(false);\n }\n onSelectionChange?.(evt, selected);\n },\n [isMultiSelect, onOpenChange, onSelectionChange],\n );\n\n const handleSelect = useCallback<SelectHandler<Item>>(\n (evt, selected) => {\n if (!isMultiSelect) {\n setIsOpen(false);\n onOpenChange?.(false);\n }\n onSelect?.(evt, selected);\n },\n [isMultiSelect, onOpenChange, onSelect],\n );\n\n const listHook = useList<Item, Selection>({\n collectionHook,\n defaultHighlightedIndex:\n (defaultHighlightedIndexProp ?? highlightedIndexProp === undefined)\n ? 0\n : undefined,\n defaultSelected,\n label: \"useDropDownList\",\n onSelectionChange: handleSelectionChange,\n onSelect: handleSelect,\n containerRef: NULL_REF,\n highlightedIndex: highlightedIndexProp,\n onHighlight,\n selected,\n selectionStrategy,\n tabToSelect: !isMultiSelect,\n });\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n onOpenChange?.(open);\n },\n [onOpenChange],\n );\n\n const triggerLabel = useMemo(() => {\n if (isMultiSelect && Array.isArray(listHook.selected)) {\n const selectedItems = listHook.selected as CollectionItem<Item>[];\n if (selectedItems.length === 0) {\n return undefined;\n }\n if (selectedItems.length === 1) {\n const { value } = selectedItems[0];\n return value === null ? undefined : itemToString(value);\n }\n return `${selectedItems.length} items selected`;\n }\n const selectedItem = listHook.selected as CollectionItem<Item>;\n return selectedItem == null || selectedItem.value === null\n ? undefined\n : itemToString(selectedItem.value);\n }, [isMultiSelect, itemToString, listHook.selected]);\n\n return {\n isOpen,\n onOpenChange: handleOpenChange,\n triggerLabel,\n ...listHook,\n };\n};\n"],"names":["itemToString","defaultItemToString","useControlled","useCallback","selected","useList","useMemo"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDropdownBase.js","sources":["../src/dropdown/useDropdownBase.ts"],"sourcesContent":["import { useControlled } from \"@salt-ds/core\";\nimport { type KeyboardEvent, useCallback, useRef, useState } from \"react\";\n\nimport { useFormFieldLegacyProps } from \"../form-field-context-legacy\";\nimport {
|
|
1
|
+
{"version":3,"file":"useDropdownBase.js","sources":["../src/dropdown/useDropdownBase.ts"],"sourcesContent":["import { useControlled } from \"@salt-ds/core\";\nimport { type KeyboardEvent, useCallback, useRef, useState } from \"react\";\n\nimport { useFormFieldLegacyProps } from \"../form-field-context-legacy\";\nimport { type measurements, useResizeObserver, WidthOnly } from \"../responsive\";\nimport type { DropdownHookProps, DropdownHookResult } from \"./dropdownTypes\";\nimport { useClickAway } from \"./useClickAway\";\n\nconst NO_OBSERVER: string[] = [];\n\nexport const useDropdownBase = ({\n ariaLabelledBy: ariaLabelledByProp,\n defaultIsOpen,\n disabled,\n // TODO check how we're using fullWidth, do we need a separate value for the popup component\n fullWidth: fullWidthProp,\n id,\n isOpen: isOpenProp,\n onOpenChange,\n onKeyDown: onKeyDownProp,\n openOnFocus,\n popupWidth: popupWidthProp,\n rootRef,\n width,\n}: DropdownHookProps): DropdownHookResult => {\n const justFocused = useRef<number | null>(null);\n const popperRef = useRef<HTMLElement | null>(null);\n const popperCallbackRef = useCallback((element: HTMLElement | null) => {\n popperRef.current = element;\n }, []);\n const [isOpen, setIsOpen] = useControlled({\n controlled: isOpenProp,\n default: Boolean(defaultIsOpen),\n name: \"useDropdown\",\n state: \"isOpen\",\n });\n\n const {\n inFormField,\n setFocused: setFormFieldFocused,\n a11yProps: { \"aria-labelledby\": ariaLabelledBy, ...restA11yProps } = {},\n } = useFormFieldLegacyProps();\n\n const [popup, setPopup] = useState<measurements>({\n width: popupWidthProp ?? width ?? 0,\n });\n\n const showDropdown = useCallback(() => {\n setIsOpen(true);\n onOpenChange?.(true);\n }, [onOpenChange]);\n\n const hideDropdown = useCallback(() => {\n setIsOpen(false);\n onOpenChange?.(false);\n }, [onOpenChange]);\n\n useClickAway({\n popperRef,\n rootRef,\n isOpen,\n onClose: hideDropdown,\n });\n\n const handleTriggerFocus = useCallback(() => {\n if (!disabled) {\n setFormFieldFocused?.(true);\n\n if (openOnFocus) {\n setIsOpen(true);\n onOpenChange?.(true);\n // Suppress response to click if click was the cause of focus\n justFocused.current = window.setTimeout(() => {\n justFocused.current = null;\n }, 1000);\n }\n }\n }, [disabled, onOpenChange, openOnFocus, setFormFieldFocused]);\n\n const handleTriggerBlur = useCallback(() => {\n setFormFieldFocused?.(false);\n }, [setFormFieldFocused]);\n\n const handleTriggerToggle = useCallback(\n (e: MouseEvent) => {\n // Do not trigger menu open for 'Enter' and 'SPACE' key as they're handled in `handleKeyDown`\n if (\n [\"Enter\", \" \"].indexOf(\n (e as unknown as KeyboardEvent<HTMLDivElement>).key,\n ) === -1\n ) {\n const newIsOpen = !isOpen;\n setIsOpen(newIsOpen);\n onOpenChange?.(newIsOpen);\n }\n },\n [isOpen, onOpenChange],\n );\n\n const handleKeydown = useCallback(\n (evt: KeyboardEvent<HTMLElement>) => {\n if ((evt.key === \"Tab\" || evt.key === \"Escape\") && isOpen) {\n // No preventDefault here, this behaviour does not need to be exclusive\n hideDropdown();\n } else if (\n (evt.key === \"Enter\" || evt.key === \"ArrowDown\" || evt.key === \" \") &&\n !isOpen\n ) {\n evt.preventDefault();\n showDropdown();\n } else {\n onKeyDownProp?.(evt);\n }\n },\n [hideDropdown, isOpen, onKeyDownProp, showDropdown],\n );\n\n const fullWidth = fullWidthProp ?? inFormField;\n const measurements = fullWidth ? WidthOnly : NO_OBSERVER;\n useResizeObserver(rootRef, measurements, setPopup, fullWidth);\n\n const componentId = `${id}-dropdown`;\n\n const getAriaLabelledBy = (\n labelledBy: string | undefined,\n labelledByProp: string | undefined,\n ): string | undefined => {\n if (labelledBy === undefined && labelledByProp === undefined) {\n return undefined;\n }\n return [labelledBy, labelledByProp].filter((x) => !!x).join(\" \");\n };\n\n // TODO do we use aria-popup - valid values are menu, dialog, grid, tree, listbox\n const triggerProps = {\n ...restA11yProps,\n \"aria-expanded\": isOpen,\n \"aria-labelledby\": getAriaLabelledBy(ariaLabelledBy, ariaLabelledByProp),\n \"aria-owns\": isOpen ? componentId : undefined,\n id: `${id}-control`,\n onClick: disabled || openOnFocus ? undefined : handleTriggerToggle,\n onFocus: handleTriggerFocus,\n onBlur: handleTriggerBlur,\n role: \"listbox\",\n onKeyDown: disabled ? undefined : handleKeydown,\n style: { width: fullWidth ? undefined : width },\n };\n\n const dropdownComponentProps = {\n \"aria-labelledby\": ariaLabelledBy,\n id: componentId,\n width: popup.width,\n };\n\n return {\n componentProps: dropdownComponentProps,\n popperRef: popperCallbackRef,\n isOpen,\n label: \"Dropdown Button\",\n triggerProps,\n };\n};\n"],"names":["useRef","useCallback","useControlled","useFormFieldLegacyProps","useState","useClickAway","WidthOnly","useResizeObserver"],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
5
7
|
var clsx = require('clsx');
|
|
6
8
|
var react = require('react');
|
|
7
9
|
var InputLegacy = require('../input-legacy/InputLegacy.js');
|
|
8
10
|
require('../input-legacy/StaticInputAdornment.js');
|
|
9
|
-
var styles = require('@salt-ds/styles');
|
|
10
|
-
var window = require('@salt-ds/window');
|
|
11
11
|
var EditableLabel$1 = require('./EditableLabel.css.js');
|
|
12
12
|
|
|
13
13
|
const classBase = "saltEditableLabel";
|