@salt-ds/lab 1.0.0-alpha.0 → 1.0.0-alpha.2
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/dist-cjs/packages/lab/src/accordion/Accordion.js +2 -6
- package/dist-cjs/packages/lab/src/accordion/Accordion.js.map +1 -1
- package/dist-cjs/packages/lab/src/accordion/AccordionDetails.js +3 -7
- package/dist-cjs/packages/lab/src/accordion/AccordionDetails.js.map +1 -1
- package/dist-cjs/packages/lab/src/accordion/AccordionSection.js +3 -6
- package/dist-cjs/packages/lab/src/accordion/AccordionSection.js.map +1 -1
- package/dist-cjs/packages/lab/src/accordion/AccordionSummary.js +2 -6
- package/dist-cjs/packages/lab/src/accordion/AccordionSummary.js.map +1 -1
- package/dist-cjs/packages/lab/src/app-header/AppHeader.js +3 -6
- package/dist-cjs/packages/lab/src/app-header/AppHeader.js.map +1 -1
- package/dist-cjs/packages/lab/src/avatar/Avatar.js +2 -6
- package/dist-cjs/packages/lab/src/avatar/Avatar.js.map +1 -1
- package/dist-cjs/packages/lab/src/badge/Badge.js +4 -8
- package/dist-cjs/packages/lab/src/badge/Badge.js.map +1 -1
- package/dist-cjs/packages/lab/src/banner/Banner.js +5 -9
- package/dist-cjs/packages/lab/src/banner/Banner.js.map +1 -1
- package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumb.js +4 -8
- package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumbs.js +3 -4
- package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-cjs/packages/lab/src/button-bar/ButtonBar.js +2 -6
- package/dist-cjs/packages/lab/src/button-bar/ButtonBar.js.map +1 -1
- package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js +3 -6
- package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/calendar/Calendar.js +2 -6
- package/dist-cjs/packages/lab/src/calendar/Calendar.js.map +1 -1
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js +34 -54
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarMonth.js +2 -6
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js +38 -72
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarWeekHeader.js +2 -6
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarWeekHeader.js.map +1 -1
- package/dist-cjs/packages/lab/src/calendar/useSelection.js +3 -6
- package/dist-cjs/packages/lab/src/calendar/useSelection.js.map +1 -1
- package/dist-cjs/packages/lab/src/carousel/Carousel.js +3 -6
- package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
- package/dist-cjs/packages/lab/src/carousel/CarouselSlide.js +4 -8
- package/dist-cjs/packages/lab/src/carousel/CarouselSlide.js.map +1 -1
- package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js +2 -1
- package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
- package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js +48 -69
- package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js +5 -9
- package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-cjs/packages/lab/src/cascading-menu/internal/useClickAway.js +1 -0
- package/dist-cjs/packages/lab/src/cascading-menu/internal/useClickAway.js.map +1 -1
- package/dist-cjs/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js +1 -0
- package/dist-cjs/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-cjs/packages/lab/src/checkbox/Checkbox.js +2 -6
- package/dist-cjs/packages/lab/src/checkbox/Checkbox.js.map +1 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js +2 -6
- package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js +2 -6
- package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js.map +1 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js +4 -8
- package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/AlphaInputField.js +2 -6
- package/dist-cjs/packages/lab/src/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.js +7 -11
- package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/ColorPicker.js +7 -11
- package/dist-cjs/packages/lab/src/color-chooser/ColorPicker.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/DictTabs.js +3 -7
- package/dist-cjs/packages/lab/src/color-chooser/DictTabs.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/HexInput.js +4 -8
- package/dist-cjs/packages/lab/src/color-chooser/HexInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/RGBAInput.js +5 -9
- package/dist-cjs/packages/lab/src/color-chooser/RGBAInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/Swatch.js +2 -6
- package/dist-cjs/packages/lab/src/color-chooser/Swatch.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/Swatches.js +6 -10
- package/dist-cjs/packages/lab/src/color-chooser/Swatches.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box/ComboBox.js +1 -0
- package/dist-cjs/packages/lab/src/combo-box/ComboBox.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box/useCombobox.js +1 -0
- package/dist-cjs/packages/lab/src/combo-box/useCombobox.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js +3 -7
- package/dist-cjs/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box-deprecated/filterHelpers.js +1 -0
- package/dist-cjs/packages/lab/src/combo-box-deprecated/filterHelpers.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js +21 -39
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js +28 -49
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useComboBox.js +1 -0
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useComboBox.js.map +1 -1
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -0
- package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
- package/dist-cjs/packages/lab/src/common-hooks/useAutoSizer.js +3 -2
- package/dist-cjs/packages/lab/src/common-hooks/useAutoSizer.js.map +1 -1
- package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js +3 -2
- package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
- package/dist-cjs/packages/lab/src/common-hooks/utils/filter-utils.js +1 -0
- package/dist-cjs/packages/lab/src/common-hooks/utils/filter-utils.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactAction.js +8 -23
- package/dist-cjs/packages/lab/src/contact-details/ContactAction.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js +2 -6
- package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactDetails.js +2 -6
- package/dist-cjs/packages/lab/src/contact-details/ContactDetails.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactFavoriteToggle.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactMetadata.js +2 -6
- package/dist-cjs/packages/lab/src/contact-details/ContactMetadata.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactPrimaryInfo.js +2 -6
- package/dist-cjs/packages/lab/src/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactSecondaryInfo.js +2 -6
- package/dist-cjs/packages/lab/src/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactTertiaryInfo.js +2 -6
- package/dist-cjs/packages/lab/src/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/MailLinkComponent.js +1 -0
- package/dist-cjs/packages/lab/src/contact-details/MailLinkComponent.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js +8 -19
- package/dist-cjs/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/internal/StarIconContainer.js +3 -7
- package/dist-cjs/packages/lab/src/contact-details/internal/StarIconContainer.js.map +1 -1
- package/dist-cjs/packages/lab/src/content-status/ContentStatus.js +6 -10
- package/dist-cjs/packages/lab/src/content-status/ContentStatus.js.map +1 -1
- package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js +4 -9
- package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
- package/dist-cjs/packages/lab/src/control-label/ControlLabel.js +2 -6
- package/dist-cjs/packages/lab/src/control-label/ControlLabel.js.map +1 -1
- package/dist-cjs/packages/lab/src/deck-item/DeckItem.js +2 -6
- package/dist-cjs/packages/lab/src/deck-item/DeckItem.js.map +1 -1
- package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js +4 -7
- package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
- package/dist-cjs/packages/lab/src/dialog/Dialog.js +2 -6
- package/dist-cjs/packages/lab/src/dialog/Dialog.js.map +1 -1
- package/dist-cjs/packages/lab/src/dialog/DialogActions.js +2 -6
- package/dist-cjs/packages/lab/src/dialog/DialogActions.js.map +1 -1
- package/dist-cjs/packages/lab/src/dialog/DialogContent.js +2 -6
- package/dist-cjs/packages/lab/src/dialog/DialogContent.js.map +1 -1
- package/dist-cjs/packages/lab/src/dialog/DialogTitle.js +2 -6
- package/dist-cjs/packages/lab/src/dialog/DialogTitle.js.map +1 -1
- package/dist-cjs/packages/lab/src/dropdown/Dropdown.js +1 -0
- package/dist-cjs/packages/lab/src/dropdown/Dropdown.js.map +1 -1
- package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js +10 -14
- package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/dropdown/DropdownButton.js +2 -6
- package/dist-cjs/packages/lab/src/dropdown/DropdownButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/dropdown/useDropdown.js +1 -0
- package/dist-cjs/packages/lab/src/dropdown/useDropdown.js.map +1 -1
- package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js +1 -0
- package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/editable-label/EditableLabel.js +2 -6
- package/dist-cjs/packages/lab/src/editable-label/EditableLabel.js.map +1 -1
- package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.js +2 -6
- package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.js.map +1 -1
- package/dist-cjs/packages/lab/src/form-field/FormField.js +61 -78
- package/dist-cjs/packages/lab/src/form-field/FormField.js.map +1 -1
- package/dist-cjs/packages/lab/src/form-field/FormLabel.js +2 -6
- package/dist-cjs/packages/lab/src/form-field/FormLabel.js.map +1 -1
- package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js +18 -35
- package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
- package/dist-cjs/packages/lab/src/form-group/FormGroup.js +2 -6
- package/dist-cjs/packages/lab/src/form-group/FormGroup.js.map +1 -1
- package/dist-cjs/packages/lab/src/formatted-input/FormattedInput.js +2 -6
- package/dist-cjs/packages/lab/src/formatted-input/FormattedInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/formatted-input/internal/InputWithMask.js +2 -6
- package/dist-cjs/packages/lab/src/formatted-input/internal/InputWithMask.js.map +1 -1
- package/dist-cjs/packages/lab/src/index.js +3 -19
- package/dist-cjs/packages/lab/src/index.js.map +1 -1
- package/dist-cjs/packages/lab/src/input/Input.js +4 -8
- package/dist-cjs/packages/lab/src/input/Input.js.map +1 -1
- package/dist-cjs/packages/lab/src/input/StaticInputAdornment.js +2 -6
- package/dist-cjs/packages/lab/src/input/StaticInputAdornment.js.map +1 -1
- package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js +6 -9
- package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/Highlighter.js +1 -0
- package/dist-cjs/packages/lab/src/list/Highlighter.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/List.js +5 -8
- package/dist-cjs/packages/lab/src/list/List.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/ListItem.js +3 -7
- package/dist-cjs/packages/lab/src/list/ListItem.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/VirtualizedList.js +4 -7
- package/dist-cjs/packages/lab/src/list/VirtualizedList.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/useList.js +2 -1
- package/dist-cjs/packages/lab/src/list/useList.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/useListHeight.js +1 -0
- package/dist-cjs/packages/lab/src/list/useListHeight.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/useVirtualization.js +2 -1
- package/dist-cjs/packages/lab/src/list/useVirtualization.js.map +1 -1
- package/dist-cjs/packages/lab/src/list-deprecated/List.js +5 -26
- package/dist-cjs/packages/lab/src/list-deprecated/List.js.map +1 -1
- package/dist-cjs/packages/lab/src/list-deprecated/ListBase.js +3 -7
- package/dist-cjs/packages/lab/src/list-deprecated/ListBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js +29 -63
- package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/list-deprecated/internal/Highlighter.js +1 -0
- package/dist-cjs/packages/lab/src/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-cjs/packages/lab/src/list-deprecated/useTypeSelect.js +1 -0
- package/dist-cjs/packages/lab/src/list-deprecated/useTypeSelect.js.map +1 -1
- package/dist-cjs/packages/lab/src/logo/Logo.js +5 -9
- package/dist-cjs/packages/lab/src/logo/Logo.js.map +1 -1
- package/dist-cjs/packages/lab/src/menu-button/MenuButtonTrigger.js +2 -6
- package/dist-cjs/packages/lab/src/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-cjs/packages/lab/src/metric/Metric.js +2 -6
- package/dist-cjs/packages/lab/src/metric/Metric.js.map +1 -1
- package/dist-cjs/packages/lab/src/metric/MetricContent.js +2 -6
- package/dist-cjs/packages/lab/src/metric/MetricContent.js.map +1 -1
- package/dist-cjs/packages/lab/src/metric/MetricHeader.js +2 -6
- package/dist-cjs/packages/lab/src/metric/MetricHeader.js.map +1 -1
- package/dist-cjs/packages/lab/src/overlay/Overlay.js +4 -8
- package/dist-cjs/packages/lab/src/overlay/Overlay.js.map +1 -1
- package/dist-cjs/packages/lab/src/overlay/useOverlay.js +11 -12
- package/dist-cjs/packages/lab/src/overlay/useOverlay.js.map +1 -1
- package/dist-cjs/packages/lab/src/pagination/ArrowButton.js +2 -6
- package/dist-cjs/packages/lab/src/pagination/ArrowButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/pagination/CompactInput.js +3 -7
- package/dist-cjs/packages/lab/src/pagination/CompactInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/pagination/GoToInput.js +3 -7
- package/dist-cjs/packages/lab/src/pagination/GoToInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/pagination/PageButton.js +2 -6
- package/dist-cjs/packages/lab/src/pagination/PageButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/pagination/Pagination.js +2 -6
- package/dist-cjs/packages/lab/src/pagination/Pagination.js.map +1 -1
- package/dist-cjs/packages/lab/src/pagination/Paginator.js +2 -6
- package/dist-cjs/packages/lab/src/pagination/Paginator.js.map +1 -1
- package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js +2 -6
- package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
- package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js +3 -6
- package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-cjs/packages/lab/src/pill/ClosablePill.js +2 -6
- package/dist-cjs/packages/lab/src/pill/ClosablePill.js.map +1 -1
- package/dist-cjs/packages/lab/src/pill/PillBase.js +42 -62
- package/dist-cjs/packages/lab/src/pill/PillBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/pill/SelectablePill.js +2 -6
- package/dist-cjs/packages/lab/src/pill/SelectablePill.js.map +1 -1
- package/dist-cjs/packages/lab/src/pill/internal/DeleteButton.js +2 -6
- package/dist-cjs/packages/lab/src/pill/internal/DeleteButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/pill/internal/DivButton.js +2 -6
- package/dist-cjs/packages/lab/src/pill/internal/DivButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.js +4 -8
- package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.js.map +1 -1
- package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.js +5 -9
- package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/QueryInput.js +2 -6
- package/dist-cjs/packages/lab/src/query-input/QueryInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/internal/CategoryList.js +1 -0
- package/dist-cjs/packages/lab/src/query-input/internal/CategoryList.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/internal/CategoryListItem.js +1 -0
- package/dist-cjs/packages/lab/src/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/internal/QueryInputBody.js +1 -0
- package/dist-cjs/packages/lab/src/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/internal/SearchList.js +1 -0
- package/dist-cjs/packages/lab/src/query-input/internal/SearchList.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/internal/ValueList.js +1 -0
- package/dist-cjs/packages/lab/src/query-input/internal/ValueList.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/internal/ValueSelector.js +2 -3
- package/dist-cjs/packages/lab/src/query-input/internal/ValueSelector.js.map +1 -1
- package/dist-cjs/packages/lab/src/query-input/useQueryInput.js +1 -0
- package/dist-cjs/packages/lab/src/query-input/useQueryInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.js +3 -7
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js +2 -6
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js +3 -7
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js +2 -6
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
- package/dist-cjs/packages/lab/src/responsive/useOverflow.js +1 -0
- package/dist-cjs/packages/lab/src/responsive/useOverflow.js.map +1 -1
- package/dist-cjs/packages/lab/src/responsive/useResizeObserver.js +6 -3
- package/dist-cjs/packages/lab/src/responsive/useResizeObserver.js.map +1 -1
- package/dist-cjs/packages/lab/src/scrim/Scrim.js +2 -3
- package/dist-cjs/packages/lab/src/scrim/Scrim.js.map +1 -1
- package/dist-cjs/packages/lab/src/search-input/SearchInput.js +3 -7
- package/dist-cjs/packages/lab/src/search-input/SearchInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/skip-link/SkipLink.js +3 -7
- package/dist-cjs/packages/lab/src/skip-link/SkipLink.js.map +1 -1
- package/dist-cjs/packages/lab/src/skip-link/SkipLinks.js +2 -6
- package/dist-cjs/packages/lab/src/skip-link/SkipLinks.js.map +1 -1
- package/dist-cjs/packages/lab/src/slider/Slider.js +2 -6
- package/dist-cjs/packages/lab/src/slider/Slider.js.map +1 -1
- package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js +18 -31
- package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
- package/dist-cjs/packages/lab/src/slider/internal/SliderRailMarks.js +2 -6
- package/dist-cjs/packages/lab/src/slider/internal/SliderRailMarks.js.map +1 -1
- package/dist-cjs/packages/lab/src/stepper-input/StepperInput.js +5 -9
- package/dist-cjs/packages/lab/src/stepper-input/StepperInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/switch/Switch.js +4 -8
- package/dist-cjs/packages/lab/src/switch/Switch.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/Tab.js +2 -6
- package/dist-cjs/packages/lab/src/tabs/Tab.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/TabPanel.js +2 -6
- package/dist-cjs/packages/lab/src/tabs/TabPanel.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/Tabs.js +2 -6
- package/dist-cjs/packages/lab/src/tabs/Tabs.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/Tabstrip.js +37 -48
- package/dist-cjs/packages/lab/src/tabs/Tabstrip.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/drag-drop/Draggable.js +2 -6
- package/dist-cjs/packages/lab/src/tabs/drag-drop/Draggable.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/useActivationIndicator.js +1 -0
- package/dist-cjs/packages/lab/src/tabs/useActivationIndicator.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/useKeyboardNavigation.js +1 -0
- package/dist-cjs/packages/lab/src/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js +8 -32
- package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/toggle-button/ToggleButtonGroup.js +2 -6
- package/dist-cjs/packages/lab/src/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInputBase.js +7 -12
- package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/tokenized-input/internal/InputPill.js +2 -6
- package/dist-cjs/packages/lab/src/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-cjs/packages/lab/src/tokenized-input/useTokenizedInput.js +1 -0
- package/dist-cjs/packages/lab/src/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/toolbar/Toolbar.js +5 -8
- package/dist-cjs/packages/lab/src/toolbar/Toolbar.js.map +1 -1
- package/dist-cjs/packages/lab/src/toolbar/Tooltray.js +4 -8
- package/dist-cjs/packages/lab/src/toolbar/Tooltray.js.map +1 -1
- package/dist-cjs/packages/lab/src/toolbar/internal/renderToolbarItems.js +1 -0
- package/dist-cjs/packages/lab/src/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +3 -3
- package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js +2 -6
- package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
- package/dist-cjs/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +3 -7
- package/dist-cjs/packages/lab/src/toolbar/toolbar-field/useToolbarField.js.map +1 -1
- package/dist-cjs/packages/lab/src/tree/Tree.js +5 -8
- package/dist-cjs/packages/lab/src/tree/Tree.js.map +1 -1
- package/dist-cjs/packages/lab/src/tree/TreeNode.js +2 -6
- package/dist-cjs/packages/lab/src/tree/TreeNode.js.map +1 -1
- package/dist-cjs/packages/lab/src/tree/useTree.js +2 -1
- package/dist-cjs/packages/lab/src/tree/useTree.js.map +1 -1
- package/dist-cjs/packages/lab/src/utils/useFloatingUI.js +38 -0
- package/dist-cjs/packages/lab/src/utils/useFloatingUI.js.map +1 -0
- package/dist-cjs/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js +1 -2
- package/dist-cjs/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
- package/dist-es/packages/lab/src/accordion/Accordion.js +2 -2
- package/dist-es/packages/lab/src/accordion/Accordion.js.map +1 -1
- package/dist-es/packages/lab/src/accordion/AccordionDetails.js +3 -3
- package/dist-es/packages/lab/src/accordion/AccordionDetails.js.map +1 -1
- package/dist-es/packages/lab/src/accordion/AccordionSection.js +3 -2
- package/dist-es/packages/lab/src/accordion/AccordionSection.js.map +1 -1
- package/dist-es/packages/lab/src/accordion/AccordionSummary.js +2 -2
- package/dist-es/packages/lab/src/accordion/AccordionSummary.js.map +1 -1
- package/dist-es/packages/lab/src/app-header/AppHeader.js +3 -2
- package/dist-es/packages/lab/src/app-header/AppHeader.js.map +1 -1
- package/dist-es/packages/lab/src/avatar/Avatar.js +2 -2
- package/dist-es/packages/lab/src/avatar/Avatar.js.map +1 -1
- package/dist-es/packages/lab/src/badge/Badge.js +4 -4
- package/dist-es/packages/lab/src/badge/Badge.js.map +1 -1
- package/dist-es/packages/lab/src/banner/Banner.js +5 -5
- package/dist-es/packages/lab/src/banner/Banner.js.map +1 -1
- package/dist-es/packages/lab/src/breadcrumbs/Breadcrumb.js +4 -4
- package/dist-es/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist-es/packages/lab/src/breadcrumbs/Breadcrumbs.js +3 -3
- package/dist-es/packages/lab/src/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist-es/packages/lab/src/button-bar/ButtonBar.js +2 -2
- package/dist-es/packages/lab/src/button-bar/ButtonBar.js.map +1 -1
- package/dist-es/packages/lab/src/button-bar/OrderedButton.js +3 -2
- package/dist-es/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
- package/dist-es/packages/lab/src/calendar/Calendar.js +2 -2
- package/dist-es/packages/lab/src/calendar/Calendar.js.map +1 -1
- package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js +36 -52
- package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
- package/dist-es/packages/lab/src/calendar/internal/CalendarMonth.js +2 -2
- package/dist-es/packages/lab/src/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js +39 -69
- package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
- package/dist-es/packages/lab/src/calendar/internal/CalendarWeekHeader.js +2 -2
- package/dist-es/packages/lab/src/calendar/internal/CalendarWeekHeader.js.map +1 -1
- package/dist-es/packages/lab/src/calendar/useSelection.js +3 -2
- package/dist-es/packages/lab/src/calendar/useSelection.js.map +1 -1
- package/dist-es/packages/lab/src/carousel/Carousel.js +3 -2
- package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
- package/dist-es/packages/lab/src/carousel/CarouselSlide.js +4 -4
- package/dist-es/packages/lab/src/carousel/CarouselSlide.js.map +1 -1
- package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js +2 -1
- package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
- package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js +50 -67
- package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js +5 -5
- package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-es/packages/lab/src/cascading-menu/internal/useClickAway.js +1 -0
- package/dist-es/packages/lab/src/cascading-menu/internal/useClickAway.js.map +1 -1
- package/dist-es/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js +1 -0
- package/dist-es/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-es/packages/lab/src/checkbox/Checkbox.js +2 -2
- package/dist-es/packages/lab/src/checkbox/Checkbox.js.map +1 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxBase.js +2 -2
- package/dist-es/packages/lab/src/checkbox/CheckboxBase.js.map +1 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js +2 -2
- package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js.map +1 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js +4 -4
- package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/AlphaInputField.js +2 -2
- package/dist-es/packages/lab/src/color-chooser/AlphaInputField.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/ColorChooser.js +7 -7
- package/dist-es/packages/lab/src/color-chooser/ColorChooser.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/ColorPicker.js +7 -7
- package/dist-es/packages/lab/src/color-chooser/ColorPicker.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/DictTabs.js +3 -3
- package/dist-es/packages/lab/src/color-chooser/DictTabs.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/HexInput.js +4 -4
- package/dist-es/packages/lab/src/color-chooser/HexInput.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/RGBAInput.js +5 -5
- package/dist-es/packages/lab/src/color-chooser/RGBAInput.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/Swatch.js +2 -2
- package/dist-es/packages/lab/src/color-chooser/Swatch.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/Swatches.js +6 -6
- package/dist-es/packages/lab/src/color-chooser/Swatches.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box/ComboBox.js +1 -0
- package/dist-es/packages/lab/src/combo-box/ComboBox.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box/useCombobox.js +1 -0
- package/dist-es/packages/lab/src/combo-box/useCombobox.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js +3 -3
- package/dist-es/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box-deprecated/filterHelpers.js +1 -0
- package/dist-es/packages/lab/src/combo-box-deprecated/filterHelpers.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js +19 -37
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js +26 -47
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/useComboBox.js +1 -0
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/useComboBox.js.map +1 -1
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -0
- package/dist-es/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
- package/dist-es/packages/lab/src/common-hooks/useAutoSizer.js +4 -3
- package/dist-es/packages/lab/src/common-hooks/useAutoSizer.js.map +1 -1
- package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js +4 -3
- package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
- package/dist-es/packages/lab/src/common-hooks/utils/filter-utils.js +1 -0
- package/dist-es/packages/lab/src/common-hooks/utils/filter-utils.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactAction.js +10 -25
- package/dist-es/packages/lab/src/contact-details/ContactAction.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactAvatar.js +2 -2
- package/dist-es/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactDetails.js +2 -2
- package/dist-es/packages/lab/src/contact-details/ContactDetails.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactFavoriteToggle.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactMetadata.js +2 -2
- package/dist-es/packages/lab/src/contact-details/ContactMetadata.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactPrimaryInfo.js +2 -2
- package/dist-es/packages/lab/src/contact-details/ContactPrimaryInfo.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactSecondaryInfo.js +2 -2
- package/dist-es/packages/lab/src/contact-details/ContactSecondaryInfo.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactTertiaryInfo.js +2 -2
- package/dist-es/packages/lab/src/contact-details/ContactTertiaryInfo.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/MailLinkComponent.js +1 -0
- package/dist-es/packages/lab/src/contact-details/MailLinkComponent.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js +9 -20
- package/dist-es/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/internal/StarIconContainer.js +3 -3
- package/dist-es/packages/lab/src/contact-details/internal/StarIconContainer.js.map +1 -1
- package/dist-es/packages/lab/src/content-status/ContentStatus.js +6 -6
- package/dist-es/packages/lab/src/content-status/ContentStatus.js.map +1 -1
- package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js +4 -5
- package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
- package/dist-es/packages/lab/src/control-label/ControlLabel.js +2 -2
- package/dist-es/packages/lab/src/control-label/ControlLabel.js.map +1 -1
- package/dist-es/packages/lab/src/deck-item/DeckItem.js +2 -2
- package/dist-es/packages/lab/src/deck-item/DeckItem.js.map +1 -1
- package/dist-es/packages/lab/src/deck-layout/DeckLayout.js +4 -3
- package/dist-es/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
- package/dist-es/packages/lab/src/dialog/Dialog.js +2 -2
- package/dist-es/packages/lab/src/dialog/Dialog.js.map +1 -1
- package/dist-es/packages/lab/src/dialog/DialogActions.js +2 -2
- package/dist-es/packages/lab/src/dialog/DialogActions.js.map +1 -1
- package/dist-es/packages/lab/src/dialog/DialogContent.js +2 -2
- package/dist-es/packages/lab/src/dialog/DialogContent.js.map +1 -1
- package/dist-es/packages/lab/src/dialog/DialogTitle.js +2 -2
- package/dist-es/packages/lab/src/dialog/DialogTitle.js.map +1 -1
- package/dist-es/packages/lab/src/dropdown/Dropdown.js +1 -0
- package/dist-es/packages/lab/src/dropdown/Dropdown.js.map +1 -1
- package/dist-es/packages/lab/src/dropdown/DropdownBase.js +7 -7
- package/dist-es/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
- package/dist-es/packages/lab/src/dropdown/DropdownButton.js +2 -2
- package/dist-es/packages/lab/src/dropdown/DropdownButton.js.map +1 -1
- package/dist-es/packages/lab/src/dropdown/useDropdown.js +1 -0
- package/dist-es/packages/lab/src/dropdown/useDropdown.js.map +1 -1
- package/dist-es/packages/lab/src/dropdown/useDropdownBase.js +1 -0
- package/dist-es/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
- package/dist-es/packages/lab/src/editable-label/EditableLabel.js +2 -2
- package/dist-es/packages/lab/src/editable-label/EditableLabel.js.map +1 -1
- package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.js +2 -2
- package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.js.map +1 -1
- package/dist-es/packages/lab/src/form-field/FormField.js +63 -76
- package/dist-es/packages/lab/src/form-field/FormField.js.map +1 -1
- package/dist-es/packages/lab/src/form-field/FormLabel.js +2 -2
- package/dist-es/packages/lab/src/form-field/FormLabel.js.map +1 -1
- package/dist-es/packages/lab/src/form-field/StatusIndicator.js +19 -32
- package/dist-es/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
- package/dist-es/packages/lab/src/form-group/FormGroup.js +2 -2
- package/dist-es/packages/lab/src/form-group/FormGroup.js.map +1 -1
- package/dist-es/packages/lab/src/formatted-input/FormattedInput.js +2 -2
- package/dist-es/packages/lab/src/formatted-input/FormattedInput.js.map +1 -1
- package/dist-es/packages/lab/src/formatted-input/internal/InputWithMask.js +2 -2
- package/dist-es/packages/lab/src/formatted-input/internal/InputWithMask.js.map +1 -1
- package/dist-es/packages/lab/src/index.js +1 -8
- package/dist-es/packages/lab/src/index.js.map +1 -1
- package/dist-es/packages/lab/src/input/Input.js +4 -4
- package/dist-es/packages/lab/src/input/Input.js.map +1 -1
- package/dist-es/packages/lab/src/input/StaticInputAdornment.js +2 -2
- package/dist-es/packages/lab/src/input/StaticInputAdornment.js.map +1 -1
- package/dist-es/packages/lab/src/layer-layout/LayerLayout.js +6 -5
- package/dist-es/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
- package/dist-es/packages/lab/src/list/Highlighter.js +1 -0
- package/dist-es/packages/lab/src/list/Highlighter.js.map +1 -1
- package/dist-es/packages/lab/src/list/List.js +5 -4
- package/dist-es/packages/lab/src/list/List.js.map +1 -1
- package/dist-es/packages/lab/src/list/ListItem.js +3 -3
- package/dist-es/packages/lab/src/list/ListItem.js.map +1 -1
- package/dist-es/packages/lab/src/list/VirtualizedList.js +4 -3
- package/dist-es/packages/lab/src/list/VirtualizedList.js.map +1 -1
- package/dist-es/packages/lab/src/list/useList.js +2 -1
- package/dist-es/packages/lab/src/list/useList.js.map +1 -1
- package/dist-es/packages/lab/src/list/useListHeight.js +1 -0
- package/dist-es/packages/lab/src/list/useListHeight.js.map +1 -1
- package/dist-es/packages/lab/src/list/useVirtualization.js +3 -2
- package/dist-es/packages/lab/src/list/useVirtualization.js.map +1 -1
- package/dist-es/packages/lab/src/list-deprecated/List.js +5 -26
- package/dist-es/packages/lab/src/list-deprecated/List.js.map +1 -1
- package/dist-es/packages/lab/src/list-deprecated/ListBase.js +3 -3
- package/dist-es/packages/lab/src/list-deprecated/ListBase.js.map +1 -1
- package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js +32 -62
- package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-es/packages/lab/src/list-deprecated/internal/Highlighter.js +1 -0
- package/dist-es/packages/lab/src/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-es/packages/lab/src/list-deprecated/useTypeSelect.js +1 -0
- package/dist-es/packages/lab/src/list-deprecated/useTypeSelect.js.map +1 -1
- package/dist-es/packages/lab/src/logo/Logo.js +5 -5
- package/dist-es/packages/lab/src/logo/Logo.js.map +1 -1
- package/dist-es/packages/lab/src/menu-button/MenuButtonTrigger.js +2 -2
- package/dist-es/packages/lab/src/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-es/packages/lab/src/metric/Metric.js +2 -2
- package/dist-es/packages/lab/src/metric/Metric.js.map +1 -1
- package/dist-es/packages/lab/src/metric/MetricContent.js +2 -2
- package/dist-es/packages/lab/src/metric/MetricContent.js.map +1 -1
- package/dist-es/packages/lab/src/metric/MetricHeader.js +2 -2
- package/dist-es/packages/lab/src/metric/MetricHeader.js.map +1 -1
- package/dist-es/packages/lab/src/overlay/Overlay.js +4 -4
- package/dist-es/packages/lab/src/overlay/Overlay.js.map +1 -1
- package/dist-es/packages/lab/src/overlay/useOverlay.js +2 -3
- package/dist-es/packages/lab/src/overlay/useOverlay.js.map +1 -1
- package/dist-es/packages/lab/src/pagination/ArrowButton.js +2 -2
- package/dist-es/packages/lab/src/pagination/ArrowButton.js.map +1 -1
- package/dist-es/packages/lab/src/pagination/CompactInput.js +3 -3
- package/dist-es/packages/lab/src/pagination/CompactInput.js.map +1 -1
- package/dist-es/packages/lab/src/pagination/GoToInput.js +3 -3
- package/dist-es/packages/lab/src/pagination/GoToInput.js.map +1 -1
- package/dist-es/packages/lab/src/pagination/PageButton.js +2 -2
- package/dist-es/packages/lab/src/pagination/PageButton.js.map +1 -1
- package/dist-es/packages/lab/src/pagination/Pagination.js +2 -2
- package/dist-es/packages/lab/src/pagination/Pagination.js.map +1 -1
- package/dist-es/packages/lab/src/pagination/Paginator.js +2 -2
- package/dist-es/packages/lab/src/pagination/Paginator.js.map +1 -1
- package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js +2 -2
- package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
- package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js +3 -2
- package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-es/packages/lab/src/pill/ClosablePill.js +2 -2
- package/dist-es/packages/lab/src/pill/ClosablePill.js.map +1 -1
- package/dist-es/packages/lab/src/pill/PillBase.js +44 -60
- package/dist-es/packages/lab/src/pill/PillBase.js.map +1 -1
- package/dist-es/packages/lab/src/pill/SelectablePill.js +2 -2
- package/dist-es/packages/lab/src/pill/SelectablePill.js.map +1 -1
- package/dist-es/packages/lab/src/pill/internal/DeleteButton.js +2 -2
- package/dist-es/packages/lab/src/pill/internal/DeleteButton.js.map +1 -1
- package/dist-es/packages/lab/src/pill/internal/DivButton.js +2 -2
- package/dist-es/packages/lab/src/pill/internal/DivButton.js.map +1 -1
- package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.js +4 -4
- package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.js.map +1 -1
- package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.js +5 -5
- package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/QueryInput.js +2 -2
- package/dist-es/packages/lab/src/query-input/QueryInput.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/internal/CategoryList.js +1 -0
- package/dist-es/packages/lab/src/query-input/internal/CategoryList.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/internal/CategoryListItem.js +1 -0
- package/dist-es/packages/lab/src/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/internal/QueryInputBody.js +1 -0
- package/dist-es/packages/lab/src/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/internal/SearchList.js +1 -0
- package/dist-es/packages/lab/src/query-input/internal/SearchList.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/internal/ValueList.js +1 -0
- package/dist-es/packages/lab/src/query-input/internal/ValueList.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/internal/ValueSelector.js +2 -3
- package/dist-es/packages/lab/src/query-input/internal/ValueSelector.js.map +1 -1
- package/dist-es/packages/lab/src/query-input/useQueryInput.js +1 -0
- package/dist-es/packages/lab/src/query-input/useQueryInput.js.map +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButton.js +3 -3
- package/dist-es/packages/lab/src/radio-button/RadioButton.js.map +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js +2 -2
- package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js.map +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js +3 -3
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js +2 -2
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
- package/dist-es/packages/lab/src/responsive/useOverflow.js +1 -0
- package/dist-es/packages/lab/src/responsive/useOverflow.js.map +1 -1
- package/dist-es/packages/lab/src/responsive/useResizeObserver.js +6 -3
- package/dist-es/packages/lab/src/responsive/useResizeObserver.js.map +1 -1
- package/dist-es/packages/lab/src/scrim/Scrim.js +2 -2
- package/dist-es/packages/lab/src/scrim/Scrim.js.map +1 -1
- package/dist-es/packages/lab/src/search-input/SearchInput.js +3 -3
- package/dist-es/packages/lab/src/search-input/SearchInput.js.map +1 -1
- package/dist-es/packages/lab/src/skip-link/SkipLink.js +3 -3
- package/dist-es/packages/lab/src/skip-link/SkipLink.js.map +1 -1
- package/dist-es/packages/lab/src/skip-link/SkipLinks.js +2 -2
- package/dist-es/packages/lab/src/skip-link/SkipLinks.js.map +1 -1
- package/dist-es/packages/lab/src/slider/Slider.js +2 -2
- package/dist-es/packages/lab/src/slider/Slider.js.map +1 -1
- package/dist-es/packages/lab/src/slider/internal/SliderHandle.js +20 -29
- package/dist-es/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
- package/dist-es/packages/lab/src/slider/internal/SliderRailMarks.js +2 -2
- package/dist-es/packages/lab/src/slider/internal/SliderRailMarks.js.map +1 -1
- package/dist-es/packages/lab/src/stepper-input/StepperInput.js +5 -5
- package/dist-es/packages/lab/src/stepper-input/StepperInput.js.map +1 -1
- package/dist-es/packages/lab/src/switch/Switch.js +4 -4
- package/dist-es/packages/lab/src/switch/Switch.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/Tab.js +2 -2
- package/dist-es/packages/lab/src/tabs/Tab.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/TabPanel.js +2 -2
- package/dist-es/packages/lab/src/tabs/TabPanel.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/Tabs.js +2 -2
- package/dist-es/packages/lab/src/tabs/Tabs.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/Tabstrip.js +38 -48
- package/dist-es/packages/lab/src/tabs/Tabstrip.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/drag-drop/Draggable.js +2 -2
- package/dist-es/packages/lab/src/tabs/drag-drop/Draggable.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/useActivationIndicator.js +1 -0
- package/dist-es/packages/lab/src/tabs/useActivationIndicator.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/useKeyboardNavigation.js +1 -0
- package/dist-es/packages/lab/src/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-es/packages/lab/src/toggle-button/ToggleButton.js +10 -30
- package/dist-es/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
- package/dist-es/packages/lab/src/toggle-button/ToggleButtonGroup.js +2 -2
- package/dist-es/packages/lab/src/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/dist-es/packages/lab/src/tokenized-input/TokenizedInput.js.map +1 -1
- package/dist-es/packages/lab/src/tokenized-input/TokenizedInputBase.js +7 -11
- package/dist-es/packages/lab/src/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-es/packages/lab/src/tokenized-input/internal/InputPill.js +2 -2
- package/dist-es/packages/lab/src/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-es/packages/lab/src/tokenized-input/useTokenizedInput.js +1 -0
- package/dist-es/packages/lab/src/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-es/packages/lab/src/toolbar/Toolbar.js +5 -4
- package/dist-es/packages/lab/src/toolbar/Toolbar.js.map +1 -1
- package/dist-es/packages/lab/src/toolbar/Tooltray.js +4 -4
- package/dist-es/packages/lab/src/toolbar/Tooltray.js.map +1 -1
- package/dist-es/packages/lab/src/toolbar/internal/renderToolbarItems.js +1 -0
- package/dist-es/packages/lab/src/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +3 -2
- package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js +2 -2
- package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
- package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +3 -3
- package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js.map +1 -1
- package/dist-es/packages/lab/src/tree/Tree.js +5 -4
- package/dist-es/packages/lab/src/tree/Tree.js.map +1 -1
- package/dist-es/packages/lab/src/tree/TreeNode.js +2 -2
- package/dist-es/packages/lab/src/tree/TreeNode.js.map +1 -1
- package/dist-es/packages/lab/src/tree/useTree.js +2 -1
- package/dist-es/packages/lab/src/tree/useTree.js.map +1 -1
- package/dist-es/packages/lab/src/{popper → utils}/useFloatingUI.js +10 -9
- package/dist-es/packages/lab/src/utils/useFloatingUI.js.map +1 -0
- package/dist-es/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js +1 -2
- package/dist-es/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
- package/dist-types/breadcrumbs/Breadcrumb.d.ts +1 -1
- package/dist-types/calendar/internal/CalendarCarousel.d.ts +1 -1
- package/dist-types/calendar/internal/CalendarDay.d.ts +2 -2
- package/dist-types/calendar/internal/CalendarMonth.d.ts +1 -1
- package/dist-types/calendar/internal/CalendarNavigation.d.ts +1 -1
- package/dist-types/calendar/internal/CalendarWeekHeader.d.ts +2 -2
- package/dist-types/calendar/useCalendar.d.ts +1 -1
- package/dist-types/calendar/useCalendarDay.d.ts +1 -1
- package/dist-types/cascading-menu/CascadingMenuList.d.ts +1 -1
- package/dist-types/cascading-menu/CascadingMenuProps.d.ts +1 -1
- package/dist-types/combo-box-deprecated/internal/DefaultComboBox.d.ts +1 -3
- package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +10 -11
- package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +27 -22
- package/dist-types/contact-details/ContactAction.d.ts +1 -2
- package/dist-types/contact-details/ContactFavoriteToggle.d.ts +1 -1
- package/dist-types/contact-details/internal/FavoriteToggleWithTooltip.d.ts +1 -1
- package/dist-types/content-status/internal/StatusIndicator.d.ts +1 -2
- package/dist-types/form-field/StatusIndicator.d.ts +1 -1
- package/dist-types/index.d.ts +0 -6
- package/dist-types/layer-layout/LayerLayout.d.ts +1 -1
- package/dist-types/list-deprecated/ListProps.d.ts +0 -5
- package/dist-types/overlay/Overlay.d.ts +1 -1
- package/dist-types/overlay/useOverlay.d.ts +2 -2
- package/dist-types/pill/PillBase.d.ts +1 -1
- package/dist-types/skip-link/SkipLink.d.ts +1 -1
- package/dist-types/stepper-input/useStepperInput.d.ts +13 -10
- package/dist-types/tabs/Tab.d.ts +1 -1
- package/dist-types/tabs/drag-drop/drag-utils.d.ts +8 -8
- package/dist-types/tokenized-input/TokenizedInput.d.ts +1 -1
- package/dist-types/toolbar/ToolbarProps.d.ts +1 -1
- package/dist-types/utils/index.d.ts +1 -0
- package/dist-types/utils/useFloatingUI.d.ts +34 -0
- package/dist-types/window/ElectronWindow.d.ts +1 -1
- package/dist-types/window/WindowContext.d.ts +3 -3
- package/package.json +6 -6
- package/dist-cjs/packages/lab/src/card/Card.css.js +0 -9
- package/dist-cjs/packages/lab/src/card/Card.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/card/Card.js +0 -37
- package/dist-cjs/packages/lab/src/card/Card.js.map +0 -1
- package/dist-cjs/packages/lab/src/panel/Panel.css.js +0 -9
- package/dist-cjs/packages/lab/src/panel/Panel.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/panel/Panel.js +0 -28
- package/dist-cjs/packages/lab/src/panel/Panel.js.map +0 -1
- package/dist-cjs/packages/lab/src/popper/useFloatingUI.js +0 -37
- package/dist-cjs/packages/lab/src/popper/useFloatingUI.js.map +0 -1
- package/dist-cjs/packages/lab/src/spinner/Spinner.css.js +0 -9
- package/dist-cjs/packages/lab/src/spinner/Spinner.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/spinner/Spinner.js +0 -80
- package/dist-cjs/packages/lab/src/spinner/Spinner.js.map +0 -1
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js +0 -71
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js.map +0 -1
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js +0 -71
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js.map +0 -1
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js +0 -71
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js.map +0 -1
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/index.js +0 -21
- package/dist-cjs/packages/lab/src/spinner/svgSpinners/index.js.map +0 -1
- package/dist-cjs/packages/lab/src/split-layout/SplitLayout.css.js +0 -9
- package/dist-cjs/packages/lab/src/split-layout/SplitLayout.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/split-layout/SplitLayout.js +0 -40
- package/dist-cjs/packages/lab/src/split-layout/SplitLayout.js.map +0 -1
- package/dist-cjs/packages/lab/src/tooltip/Tooltip.css.js +0 -9
- package/dist-cjs/packages/lab/src/tooltip/Tooltip.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/tooltip/Tooltip.js +0 -88
- package/dist-cjs/packages/lab/src/tooltip/Tooltip.js.map +0 -1
- package/dist-cjs/packages/lab/src/tooltip/TooltipContext.js +0 -26
- package/dist-cjs/packages/lab/src/tooltip/TooltipContext.js.map +0 -1
- package/dist-cjs/packages/lab/src/tooltip/useAriaAnnounce.js +0 -87
- package/dist-cjs/packages/lab/src/tooltip/useAriaAnnounce.js.map +0 -1
- package/dist-cjs/packages/lab/src/tooltip/useTooltip.js +0 -137
- package/dist-cjs/packages/lab/src/tooltip/useTooltip.js.map +0 -1
- package/dist-es/packages/lab/src/card/Card.css.js +0 -7
- package/dist-es/packages/lab/src/card/Card.css.js.map +0 -1
- package/dist-es/packages/lab/src/card/Card.js +0 -29
- package/dist-es/packages/lab/src/card/Card.js.map +0 -1
- package/dist-es/packages/lab/src/panel/Panel.css.js +0 -7
- package/dist-es/packages/lab/src/panel/Panel.css.js.map +0 -1
- package/dist-es/packages/lab/src/panel/Panel.js +0 -20
- package/dist-es/packages/lab/src/panel/Panel.js.map +0 -1
- package/dist-es/packages/lab/src/popper/useFloatingUI.js.map +0 -1
- package/dist-es/packages/lab/src/spinner/Spinner.css.js +0 -7
- package/dist-es/packages/lab/src/spinner/Spinner.css.js.map +0 -1
- package/dist-es/packages/lab/src/spinner/Spinner.js +0 -71
- package/dist-es/packages/lab/src/spinner/Spinner.js.map +0 -1
- package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js +0 -67
- package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js.map +0 -1
- package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js +0 -67
- package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js.map +0 -1
- package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js +0 -67
- package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js.map +0 -1
- package/dist-es/packages/lab/src/spinner/svgSpinners/index.js +0 -17
- package/dist-es/packages/lab/src/spinner/svgSpinners/index.js.map +0 -1
- package/dist-es/packages/lab/src/split-layout/SplitLayout.css.js +0 -7
- package/dist-es/packages/lab/src/split-layout/SplitLayout.css.js.map +0 -1
- package/dist-es/packages/lab/src/split-layout/SplitLayout.js +0 -36
- package/dist-es/packages/lab/src/split-layout/SplitLayout.js.map +0 -1
- package/dist-es/packages/lab/src/tooltip/Tooltip.css.js +0 -7
- package/dist-es/packages/lab/src/tooltip/Tooltip.css.js.map +0 -1
- package/dist-es/packages/lab/src/tooltip/Tooltip.js +0 -80
- package/dist-es/packages/lab/src/tooltip/Tooltip.js.map +0 -1
- package/dist-es/packages/lab/src/tooltip/TooltipContext.js +0 -21
- package/dist-es/packages/lab/src/tooltip/TooltipContext.js.map +0 -1
- package/dist-es/packages/lab/src/tooltip/useAriaAnnounce.js +0 -83
- package/dist-es/packages/lab/src/tooltip/useAriaAnnounce.js.map +0 -1
- package/dist-es/packages/lab/src/tooltip/useTooltip.js +0 -133
- package/dist-es/packages/lab/src/tooltip/useTooltip.js.map +0 -1
- package/dist-types/card/Card.d.ts +0 -18
- package/dist-types/card/index.d.ts +0 -1
- package/dist-types/panel/Panel.d.ts +0 -20
- package/dist-types/panel/index.d.ts +0 -1
- package/dist-types/popper/index.d.ts +0 -1
- package/dist-types/popper/useFloatingUI.d.ts +0 -5
- package/dist-types/spinner/Spinner.d.ts +0 -45
- package/dist-types/spinner/index.d.ts +0 -1
- package/dist-types/spinner/svgSpinners/SpinnerLarge.d.ts +0 -2
- package/dist-types/spinner/svgSpinners/SpinnerMedium.d.ts +0 -2
- package/dist-types/spinner/svgSpinners/SpinnerSmall.d.ts +0 -2
- package/dist-types/spinner/svgSpinners/index.d.ts +0 -2
- package/dist-types/split-layout/SplitLayout.d.ts +0 -32
- package/dist-types/split-layout/index.d.ts +0 -1
- package/dist-types/tooltip/Tooltip.d.ts +0 -37
- package/dist-types/tooltip/TooltipContext.d.ts +0 -22
- package/dist-types/tooltip/index.d.ts +0 -3
- package/dist-types/tooltip/useAriaAnnounce.d.ts +0 -9
- package/dist-types/tooltip/useTooltip.d.ts +0 -31
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var core = require('@salt-ds/core');
|
|
7
7
|
var icons = require('@salt-ds/icons');
|
|
8
|
-
var
|
|
8
|
+
var clsx = require('clsx');
|
|
9
9
|
var React = require('react');
|
|
10
10
|
require('../list-deprecated/List.js');
|
|
11
11
|
require('../list-deprecated/ListBase.js');
|
|
@@ -13,22 +13,16 @@ require('../list-deprecated/ListItemBase.js');
|
|
|
13
13
|
var ListItem = require('../list-deprecated/ListItem.js');
|
|
14
14
|
require('../list-deprecated/ListItemContext.js');
|
|
15
15
|
require('../list-deprecated/ListStateContext.js');
|
|
16
|
-
|
|
17
|
-
require('../tooltip/TooltipContext.js');
|
|
18
|
-
var useTooltip = require('../tooltip/useTooltip.js');
|
|
16
|
+
require('../utils/useFloatingUI.js');
|
|
19
17
|
require('./CascadingMenuItem.css.js');
|
|
20
18
|
|
|
21
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
|
-
|
|
23
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
24
|
-
|
|
25
19
|
const noop = () => void 0;
|
|
26
20
|
const withBaseName = core.makePrefixer("saltMenuItem");
|
|
27
21
|
const getIcon = (sourceItem, isDisabled = false) => {
|
|
28
22
|
const CustomIcon = sourceItem.icon;
|
|
29
23
|
if (CustomIcon) {
|
|
30
24
|
return /* @__PURE__ */ jsxRuntime.jsx(CustomIcon, {
|
|
31
|
-
className:
|
|
25
|
+
className: clsx.clsx(withBaseName("menuItemStartAdornment"), {
|
|
32
26
|
[withBaseName("menuItemDisabled")]: isDisabled
|
|
33
27
|
})
|
|
34
28
|
});
|
|
@@ -82,75 +76,60 @@ const DefaultMenuItem = React.forwardRef(
|
|
|
82
76
|
};
|
|
83
77
|
const icon = hasStartAdornment ? getIcon(sourceItem, isDisabled) : null;
|
|
84
78
|
const tooltipTitle = sourceItem.tooltip || menuText;
|
|
85
|
-
|
|
79
|
+
return /* @__PURE__ */ jsxRuntime.jsx(core.Tooltip, {
|
|
86
80
|
disableFocusListener: true,
|
|
87
81
|
disableHoverListener: true,
|
|
88
82
|
enterDelay: tooltipEnterDelay,
|
|
89
83
|
leaveDelay: tooltipLeaveDelay,
|
|
90
84
|
placement: "top",
|
|
91
|
-
disabled: !tooltipTitle || !hasTooltip || isChildMenuOpen
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ListItem.ListItem, {
|
|
121
|
-
...triggerProps,
|
|
122
|
-
ref: handleRef,
|
|
123
|
-
children: [
|
|
124
|
-
hasStartAdornment && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
125
|
-
className: withBaseName("menuItemStartAdornmentContainer"),
|
|
126
|
-
children: icon
|
|
85
|
+
disabled: !tooltipTitle || !hasTooltip || isChildMenuOpen,
|
|
86
|
+
content: tooltipTitle,
|
|
87
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(ListItem.ListItem, {
|
|
88
|
+
ref,
|
|
89
|
+
"aria-expanded": isChildMenuOpen || void 0,
|
|
90
|
+
className: clsx.clsx(
|
|
91
|
+
withBaseName(),
|
|
92
|
+
{
|
|
93
|
+
[withBaseName("menuItemDivider")]: divider,
|
|
94
|
+
[withBaseName("menuItemBlurSelected")]: blurSelected,
|
|
95
|
+
[withBaseName("menuItemSelected")]: !isDisabled && !hasSubMenu && isInteracted,
|
|
96
|
+
...interactionClasses,
|
|
97
|
+
[withBaseName("menuItemWithScrollbar")]: hasScrollbar
|
|
98
|
+
},
|
|
99
|
+
className
|
|
100
|
+
),
|
|
101
|
+
disabled: isDisabled,
|
|
102
|
+
role: "menuitem",
|
|
103
|
+
onClick: handleOnClick,
|
|
104
|
+
item: sourceItem,
|
|
105
|
+
...restProps,
|
|
106
|
+
children: [
|
|
107
|
+
hasStartAdornment && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
108
|
+
className: withBaseName("menuItemStartAdornmentContainer"),
|
|
109
|
+
children: icon
|
|
110
|
+
}),
|
|
111
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
112
|
+
className: clsx.clsx(withBaseName("menuItemText"), {
|
|
113
|
+
[withBaseName("menuItemDisabled")]: isDisabled
|
|
127
114
|
}),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
115
|
+
ref: menuTextRef,
|
|
116
|
+
children: menuText
|
|
117
|
+
}),
|
|
118
|
+
hasEndAdornment && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
119
|
+
className: clsx.clsx(withBaseName("menuItemEndAdornmentContainer"), {
|
|
120
|
+
[withBaseName("menuItemAdornmentHidden")]: !hasSubMenu
|
|
134
121
|
}),
|
|
135
|
-
|
|
136
|
-
className:
|
|
137
|
-
withBaseName("
|
|
138
|
-
{
|
|
139
|
-
[withBaseName("menuItemAdornmentHidden")]: !hasSubMenu
|
|
140
|
-
}
|
|
141
|
-
),
|
|
142
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(icons.ChevronRightIcon, {
|
|
143
|
-
className: cx__default["default"](withBaseName("menuItemEndAdornment"), {
|
|
144
|
-
[withBaseName("menuItemDisabled")]: isDisabled
|
|
145
|
-
})
|
|
122
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons.ChevronRightIcon, {
|
|
123
|
+
className: clsx.clsx(withBaseName("menuItemEndAdornment"), {
|
|
124
|
+
[withBaseName("menuItemDisabled")]: isDisabled
|
|
146
125
|
})
|
|
147
|
-
}),
|
|
148
|
-
divider && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
149
|
-
role: "separator"
|
|
150
126
|
})
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
127
|
+
}),
|
|
128
|
+
divider && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
129
|
+
role: "separator"
|
|
130
|
+
})
|
|
131
|
+
]
|
|
132
|
+
})
|
|
154
133
|
});
|
|
155
134
|
}
|
|
156
135
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CascadingMenuItem.js","sources":["../src/cascading-menu/CascadingMenuItem.tsx"],"sourcesContent":["import { makePrefixer, useForkRef } from \"@salt-ds/core\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport classnames from \"classnames\";\nimport {\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ListItem, ListItemProps } from \"../list-deprecated\";\nimport { MenuDescriptor } from \"./CascadingMenuProps\";\nimport { Tooltip, useTooltip } from \"../tooltip\";\n\nimport \"./CascadingMenuItem.css\";\n\nconst noop = () => undefined;\nconst withBaseName = makePrefixer(\"saltMenuItem\");\n\nconst getIcon = (sourceItem: MenuDescriptor, isDisabled = false) => {\n const CustomIcon = sourceItem.icon;\n if (CustomIcon) {\n return (\n <CustomIcon\n className={classnames(withBaseName(\"menuItemStartAdornment\"), {\n [withBaseName(\"menuItemDisabled\")]: isDisabled,\n })}\n />\n );\n } else {\n return null;\n }\n};\n\nexport interface MenuItemProps extends ListItemProps<MenuDescriptor> {\n blurSelected: boolean;\n className?: string;\n hasEndAdornment: boolean;\n hasScrollbar: boolean;\n hasStartAdornment: boolean;\n hasSubMenu: boolean;\n isInteracted: boolean;\n isChildMenuOpen: boolean;\n isNavigatingWithKeyboard: boolean;\n itemToString: Required<ListItemProps<MenuDescriptor>>[\"itemToString\"];\n onItemClick?: (\n sourceItem: MenuDescriptor,\n event: MouseEvent | KeyboardEvent\n ) => void;\n sourceItem: MenuDescriptor;\n tooltipEnterDelay: number;\n tooltipLeaveDelay: number;\n}\n\nexport const DefaultMenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n function (props, ref) {\n const {\n blurSelected,\n className,\n hasEndAdornment,\n hasScrollbar,\n hasStartAdornment,\n onItemClick,\n itemToString,\n isInteracted,\n isNavigatingWithKeyboard,\n isChildMenuOpen,\n hasSubMenu,\n sourceItem,\n tooltipEnterDelay,\n tooltipLeaveDelay,\n ...restProps\n } = props;\n\n const menuTextRef = useRef<HTMLDivElement>(null);\n const [hasTooltip, setHasTooltip] = useState(false);\n const menuText = itemToString(sourceItem);\n\n useEffect(() => {\n const element = menuTextRef.current;\n if (element) {\n if (element.offsetWidth < element.scrollWidth) {\n setHasTooltip(true);\n }\n }\n }, [menuText]);\n\n const isDisabled = sourceItem.disabled;\n const divider = sourceItem.divider;\n\n const onClick = isDisabled || hasSubMenu ? noop : onItemClick;\n\n const handleOnClick = (event: MouseEvent) => {\n if (!isDisabled && !hasSubMenu) {\n onClick?.(sourceItem, event);\n }\n };\n const interactionClasses = isNavigatingWithKeyboard\n ? {\n [withBaseName(`menuItemKeyboardActive`)]:\n !isDisabled && isInteracted && !blurSelected,\n [withBaseName(`menuItemKeyboardDisabled`)]:\n isDisabled && isInteracted,\n }\n : {\n [withBaseName(`menuItemHover`)]: !isDisabled && !blurSelected,\n };\n\n const icon = hasStartAdornment ? getIcon(sourceItem, isDisabled) : null;\n const tooltipTitle = sourceItem.tooltip || menuText;\n const { getTooltipProps, getTriggerProps } = useTooltip({\n disableFocusListener: true,\n disableHoverListener: true,\n enterDelay: tooltipEnterDelay,\n leaveDelay: tooltipLeaveDelay,\n placement: \"top\",\n disabled: !tooltipTitle || !hasTooltip || isChildMenuOpen,\n });\n\n const { ref: triggerRef, ...triggerProps } = getTriggerProps<\n typeof ListItem\n >({\n \"aria-expanded\": isChildMenuOpen || undefined,\n className: classnames(\n withBaseName(),\n {\n [withBaseName(\"menuItemDivider\")]: divider,\n [withBaseName(\"menuItemBlurSelected\")]: blurSelected,\n [withBaseName(\"menuItemSelected\")]:\n !isDisabled && !hasSubMenu && isInteracted,\n ...interactionClasses,\n [withBaseName(\"menuItemWithScrollbar\")]: hasScrollbar,\n },\n className\n ),\n disabled: isDisabled,\n role: \"menuitem\",\n onClick: handleOnClick,\n item: sourceItem,\n // TODO highlightProps - see original code?\n ...restProps,\n });\n\n const handleRef = useForkRef<HTMLDivElement>(triggerRef, ref);\n\n return (\n <>\n <Tooltip\n {...getTooltipProps({\n title: tooltipTitle,\n })}\n />\n <ListItem {...triggerProps} ref={handleRef}>\n {hasStartAdornment && (\n <div className={withBaseName(\"menuItemStartAdornmentContainer\")}>\n {icon}\n </div>\n )}\n <div\n className={classnames(withBaseName(\"menuItemText\"), {\n [withBaseName(\"menuItemDisabled\")]: isDisabled,\n })}\n ref={menuTextRef}\n >\n {menuText}\n </div>\n {hasEndAdornment && (\n <div\n className={classnames(\n withBaseName(\"menuItemEndAdornmentContainer\"),\n {\n [withBaseName(\"menuItemAdornmentHidden\")]: !hasSubMenu,\n }\n )}\n >\n <ChevronRightIcon\n className={classnames(withBaseName(\"menuItemEndAdornment\"), {\n [withBaseName(\"menuItemDisabled\")]: isDisabled,\n })}\n />\n </div>\n )}\n {divider && <div role=\"separator\" />}\n </ListItem>\n </>\n );\n }\n);\n"],"names":["makePrefixer","jsx","classnames","forwardRef","useRef","useState","useEffect","useTooltip","useForkRef","jsxs","Fragment","Tooltip","ListItem","ChevronRightIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CascadingMenuItem.js","sources":["../src/cascading-menu/CascadingMenuItem.tsx"],"sourcesContent":["import { makePrefixer, Tooltip } from \"@salt-ds/core\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { ListItem, ListItemProps } from \"../list-deprecated\";\nimport { MenuDescriptor } from \"./CascadingMenuProps\";\n\nimport \"./CascadingMenuItem.css\";\n\nconst noop = () => undefined;\nconst withBaseName = makePrefixer(\"saltMenuItem\");\n\nconst getIcon = (sourceItem: MenuDescriptor, isDisabled = false) => {\n const CustomIcon = sourceItem.icon;\n if (CustomIcon) {\n return (\n <CustomIcon\n className={clsx(withBaseName(\"menuItemStartAdornment\"), {\n [withBaseName(\"menuItemDisabled\")]: isDisabled,\n })}\n />\n );\n } else {\n return null;\n }\n};\n\nexport interface MenuItemProps extends ListItemProps<MenuDescriptor> {\n blurSelected: boolean;\n className?: string;\n hasEndAdornment: boolean;\n hasScrollbar: boolean;\n hasStartAdornment: boolean;\n hasSubMenu: boolean;\n isInteracted: boolean;\n isChildMenuOpen: boolean;\n isNavigatingWithKeyboard: boolean;\n itemToString: Required<ListItemProps<MenuDescriptor>>[\"itemToString\"];\n onItemClick?: (\n sourceItem: MenuDescriptor,\n event: MouseEvent | KeyboardEvent\n ) => void;\n sourceItem: MenuDescriptor;\n tooltipEnterDelay: number;\n tooltipLeaveDelay: number;\n}\n\nexport const DefaultMenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n function (props, ref) {\n const {\n blurSelected,\n className,\n hasEndAdornment,\n hasScrollbar,\n hasStartAdornment,\n onItemClick,\n itemToString,\n isInteracted,\n isNavigatingWithKeyboard,\n isChildMenuOpen,\n hasSubMenu,\n sourceItem,\n tooltipEnterDelay,\n tooltipLeaveDelay,\n ...restProps\n } = props;\n\n const menuTextRef = useRef<HTMLDivElement>(null);\n const [hasTooltip, setHasTooltip] = useState(false);\n const menuText = itemToString(sourceItem);\n\n useEffect(() => {\n const element = menuTextRef.current;\n if (element) {\n if (element.offsetWidth < element.scrollWidth) {\n setHasTooltip(true);\n }\n }\n }, [menuText]);\n\n const isDisabled = sourceItem.disabled;\n const divider = sourceItem.divider;\n\n const onClick = isDisabled || hasSubMenu ? noop : onItemClick;\n\n const handleOnClick = (event: MouseEvent) => {\n if (!isDisabled && !hasSubMenu) {\n onClick?.(sourceItem, event);\n }\n };\n const interactionClasses = isNavigatingWithKeyboard\n ? {\n [withBaseName(`menuItemKeyboardActive`)]:\n !isDisabled && isInteracted && !blurSelected,\n [withBaseName(`menuItemKeyboardDisabled`)]:\n isDisabled && isInteracted,\n }\n : {\n [withBaseName(`menuItemHover`)]: !isDisabled && !blurSelected,\n };\n\n const icon = hasStartAdornment ? getIcon(sourceItem, isDisabled) : null;\n const tooltipTitle = sourceItem.tooltip || menuText;\n\n return (\n <Tooltip\n disableFocusListener\n disableHoverListener\n enterDelay={tooltipEnterDelay}\n leaveDelay={tooltipLeaveDelay}\n placement=\"top\"\n disabled={!tooltipTitle || !hasTooltip || isChildMenuOpen}\n content={tooltipTitle}\n >\n <ListItem\n ref={ref}\n aria-expanded={isChildMenuOpen || undefined}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"menuItemDivider\")]: divider,\n [withBaseName(\"menuItemBlurSelected\")]: blurSelected,\n [withBaseName(\"menuItemSelected\")]:\n !isDisabled && !hasSubMenu && isInteracted,\n ...interactionClasses,\n [withBaseName(\"menuItemWithScrollbar\")]: hasScrollbar,\n },\n className\n )}\n disabled={isDisabled}\n role=\"menuitem\"\n onClick={handleOnClick}\n item={sourceItem}\n // TODO highlightProps - see original code?\n {...restProps}\n >\n {hasStartAdornment && (\n <div className={withBaseName(\"menuItemStartAdornmentContainer\")}>\n {icon}\n </div>\n )}\n <div\n className={clsx(withBaseName(\"menuItemText\"), {\n [withBaseName(\"menuItemDisabled\")]: isDisabled,\n })}\n ref={menuTextRef}\n >\n {menuText}\n </div>\n {hasEndAdornment && (\n <div\n className={clsx(withBaseName(\"menuItemEndAdornmentContainer\"), {\n [withBaseName(\"menuItemAdornmentHidden\")]: !hasSubMenu,\n })}\n >\n <ChevronRightIcon\n className={clsx(withBaseName(\"menuItemEndAdornment\"), {\n [withBaseName(\"menuItemDisabled\")]: isDisabled,\n })}\n />\n </div>\n )}\n {divider && <div role=\"separator\" />}\n </ListItem>\n </Tooltip>\n );\n }\n);\n"],"names":["makePrefixer","jsx","clsx","forwardRef","useRef","useState","useEffect","Tooltip","jsxs","ListItem","ChevronRightIcon"],"mappings":"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"}
|
|
@@ -4,14 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var core = require('@salt-ds/core');
|
|
7
|
-
var
|
|
7
|
+
var clsx = require('clsx');
|
|
8
8
|
var React = require('react');
|
|
9
|
+
var Portal = require('../portal/Portal.js');
|
|
9
10
|
var List = require('../list-deprecated/List.js');
|
|
10
11
|
require('../list-deprecated/ListBase.js');
|
|
11
12
|
require('../list-deprecated/ListItemBase.js');
|
|
12
13
|
require('../list-deprecated/ListItem.js');
|
|
13
14
|
require('../list-deprecated/ListItemContext.js');
|
|
14
15
|
require('../list-deprecated/ListStateContext.js');
|
|
16
|
+
require('../utils/useFloatingUI.js');
|
|
15
17
|
var CascadingMenuItem = require('./CascadingMenuItem.js');
|
|
16
18
|
var CascadingMenuAction = require('./internal/CascadingMenuAction.js');
|
|
17
19
|
var keydownHandlers = require('./internal/keydownHandlers.js');
|
|
@@ -21,14 +23,8 @@ var useMouseHandlers = require('./internal/useMouseHandlers.js');
|
|
|
21
23
|
var stateChangeTypes = require('./stateChangeTypes.js');
|
|
22
24
|
var WindowContext = require('../window/WindowContext.js');
|
|
23
25
|
require('../window/ElectronWindow.js');
|
|
24
|
-
var useFloatingUI = require('../popper/useFloatingUI.js');
|
|
25
|
-
var Portal = require('../portal/Portal.js');
|
|
26
26
|
require('./CascadingMenuList.css.js');
|
|
27
27
|
|
|
28
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
|
-
|
|
30
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
31
|
-
|
|
32
28
|
const CascadingMenuList = React.forwardRef(function CascadingMenuList2(props, ref) {
|
|
33
29
|
const {
|
|
34
30
|
className,
|
|
@@ -116,7 +112,7 @@ const CascadingMenuList = React.forwardRef(function CascadingMenuList2(props, re
|
|
|
116
112
|
const hasScrollbar = menuHeight >= maxHeight;
|
|
117
113
|
const menuContainerHeight = menuHeight + 2;
|
|
118
114
|
const Window = WindowContext.useWindow();
|
|
119
|
-
const { reference, floating, x, y, strategy } =
|
|
115
|
+
const { reference, floating, x, y, strategy } = core.useFloatingUI({
|
|
120
116
|
placement: isRoot ? rootPlacement : "right-start"
|
|
121
117
|
});
|
|
122
118
|
core.useIsomorphicLayoutEffect(() => {
|
|
@@ -142,7 +138,7 @@ const CascadingMenuList = React.forwardRef(function CascadingMenuList2(props, re
|
|
|
142
138
|
},
|
|
143
139
|
ref: floating,
|
|
144
140
|
children: /* @__PURE__ */ jsxRuntime.jsx(List.List, {
|
|
145
|
-
className:
|
|
141
|
+
className: clsx.clsx(baseClass, className),
|
|
146
142
|
height: menuContainerHeight,
|
|
147
143
|
highlightedIndex: highlightedItemIndex === null ? -1 : highlightedItemIndex,
|
|
148
144
|
id: menuId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CascadingMenuList.js","sources":["../src/cascading-menu/CascadingMenuList.tsx"],"sourcesContent":["import { useForkRef, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport classnames from \"classnames\";\nimport { forwardRef, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { List, ListProps } from \"../list-deprecated\";\n\nimport { DefaultMenuItem, MenuItemProps } from \"./CascadingMenuItem\";\nimport { CascadingMenuAction } from \"./internal/CascadingMenuAction\";\nimport { getKeyDownHandlers } from \"./internal/keydownHandlers\";\nimport {\n getHeight,\n getMaxHeight,\n screenBounds,\n} from \"./internal/menuPositioning\";\nimport { hasIcon, hasSubMenu, menuState } from \"./internal/stateUtils\";\nimport { useMouseHandlers } from \"./internal/useMouseHandlers\";\nimport { refsManager } from \"./internal/useRefsManager\";\nimport { stateChangeTypes } from \"./stateChangeTypes\";\nimport { useWindow } from \"../window\";\nimport { useFloatingUI, UseFloatingUIProps } from \"../popper\";\nimport { Portal } from \"../portal\";\n\nimport \"./CascadingMenuList.css\";\n\nexport interface CascadingMenuListProps {\n className?: string;\n data: menuState;\n delay?: number;\n disableMouseOutInteractions?: boolean;\n // TODO any\n dispatch: (action: any) => void;\n getBoundingClientRect?: (element: HTMLElement) => DOMRect;\n getScreenBounds?: () => screenBounds;\n height?: number;\n highlightedItemIndex: number | null;\n isChildMenuOpen: boolean;\n itemToString: MenuItemProps[\"itemToString\"];\n isNavigatingWithKeyboard: boolean;\n isRoot: boolean;\n maxWidth?: ListProps[\"maxWidth\"];\n menuId: string;\n menuTriggerRef: HTMLElement | null;\n minWidth?: ListProps[\"minWidth\"];\n onItemClick?: MenuItemProps[\"onItemClick\"];\n parentElement?: HTMLElement | null;\n refsManager: refsManager;\n rootPlacement?: UseFloatingUIProps[\"placement\"];\n rootPlacementOffset?: string;\n rowHeight?: number;\n setIsNavigatingWithKeyboard: (value: boolean) => void;\n tooltipEnterDelay: number;\n tooltipLeaveDelay: number;\n}\n\nexport const CascadingMenuList = forwardRef<\n HTMLDivElement,\n CascadingMenuListProps\n>(function CascadingMenuList(props, ref) {\n const {\n className,\n maxWidth,\n minWidth,\n itemToString,\n onItemClick,\n refsManager,\n dispatch,\n rowHeight: rowHeightProp,\n isNavigatingWithKeyboard,\n data,\n tooltipEnterDelay,\n tooltipLeaveDelay,\n height: heightProp,\n isChildMenuOpen,\n isRoot,\n highlightedItemIndex,\n menuId,\n parentElement = null,\n getScreenBounds,\n disableMouseOutInteractions,\n rootPlacementOffset,\n rootPlacement = \"bottom-start\",\n } = props;\n\n const baseClass = \"saltCascadingMenuList\";\n\n const [menuRef, setInternalMenuRef] = useState<HTMLElement | null>(null);\n const setMenuRef = useCallback(\n (node: HTMLElement) => {\n refsManager.set(menuId, node);\n },\n [refsManager, menuId]\n );\n\n // TODO removed useCharacteristic here\n const sizeStackable = 36;\n const defaultRowHeight = sizeStackable;\n\n // TODO removed useCharacteristic here\n const spacing = 8;\n\n const isMenuActiveState = useState(true);\n const [isMenuActive, setIsMenuActive] = isMenuActiveState;\n const listRef = useForkRef<HTMLElement>(ref, setInternalMenuRef);\n const handleRef = useForkRef(setMenuRef, listRef);\n\n useEffect(() => {\n if (menuRef && menuRef.focus) {\n // timeout prevents scrolling issue by waiting a split second\n // and menu should be correctly positioned by then and\n // focusing popper content offscreen will not scroll page\n // it would be better to maybe use popper onUpdate callback\n // or some kind of polling mechanism to confirm placement is\n // correct before focus call\n const id = setTimeout(() => {\n menuRef.focus();\n });\n return () => {\n clearTimeout(id);\n };\n }\n }, [menuRef, rootPlacementOffset]);\n\n const handleKeyDown = getKeyDownHandlers(props, setIsMenuActive);\n\n const onFocusHandler = useCallback(() => {\n setIsMenuActive(true);\n // When navigating via keyboard on open highlight first time in the list\n if (isNavigatingWithKeyboard) {\n if (!highlightedItemIndex) {\n dispatch({\n type: CascadingMenuAction.SET_CURRENT_INTERACTED_ITEM,\n cause: stateChangeTypes.KEYBOARD_NAV_AUTO_FOCUS,\n targetId: menuId,\n highlightedItemIndex: 0,\n });\n }\n }\n }, [\n setIsMenuActive,\n isNavigatingWithKeyboard,\n highlightedItemIndex,\n dispatch,\n menuId,\n ]);\n\n const [handleMouseMove, handleMouseOut] = useMouseHandlers(\n props,\n isMenuActiveState,\n menuRef\n );\n\n const hasEndAdornment = useMemo(\n () => data.menuItems.some(hasSubMenu),\n [data]\n );\n const hasStartAdornment = useMemo(() => data.menuItems.some(hasIcon), [data]);\n const rowHeight = rowHeightProp != null ? rowHeightProp : defaultRowHeight;\n const maxHeight = getMaxHeight(heightProp, spacing, getScreenBounds);\n const calculatedMenuHeight = rowHeight * data.menuItems.length;\n const menuHeight = getHeight(heightProp, calculatedMenuHeight, maxHeight);\n const hasScrollbar = menuHeight >= maxHeight;\n\n // menu container size is 2px larger than the list to include the border\n const menuContainerHeight = menuHeight + 2;\n const Window = useWindow();\n const { reference, floating, x, y, strategy } = useFloatingUI({\n placement: isRoot ? rootPlacement : \"right-start\",\n });\n useIsomorphicLayoutEffect(() => {\n if (parentElement) {\n reference(\n isRoot\n ? parentElement\n : parentElement.querySelector(\n `#${\n parentElement.getAttribute(\"aria-activedescendant\") as string\n }`\n )\n );\n }\n }, [reference, isRoot, parentElement]);\n\n if (parentElement === null) {\n return null;\n }\n\n return (\n <Portal>\n <Window\n className={`${baseClass}-popper`}\n id={menuId}\n style={{\n top: y ?? \"\",\n left: x ?? \"\",\n position: strategy,\n }}\n ref={floating}\n >\n <List\n className={classnames(baseClass, className)}\n height={menuContainerHeight}\n highlightedIndex={\n highlightedItemIndex === null ? -1 : highlightedItemIndex\n }\n id={menuId}\n itemHeight={rowHeight}\n itemToString={itemToString}\n key={menuId}\n listRef={handleRef}\n maxWidth={maxWidth}\n minWidth={minWidth}\n onFocus={onFocusHandler}\n onKeyDown={handleKeyDown}\n onMouseOut={disableMouseOutInteractions ? undefined : handleMouseOut}\n role=\"menu\"\n width=\"auto\"\n >\n {data.menuItems.map((menuItem, idx) => {\n const isInteracted = highlightedItemIndex === idx;\n return (\n <DefaultMenuItem\n blurSelected={!isMenuActive && isInteracted}\n hasEndAdornment={hasEndAdornment}\n hasScrollbar={hasScrollbar}\n hasStartAdornment={hasStartAdornment}\n hasSubMenu={hasSubMenu(menuItem)}\n isChildMenuOpen={isChildMenuOpen}\n isInteracted={isInteracted}\n isNavigatingWithKeyboard={isNavigatingWithKeyboard}\n itemToString={itemToString}\n key={idx}\n onItemClick={onItemClick}\n onMouseMove={() => handleMouseMove(idx)}\n sourceItem={menuItem}\n tooltipEnterDelay={tooltipEnterDelay}\n tooltipLeaveDelay={tooltipLeaveDelay}\n />\n );\n })}\n </List>\n </Window>\n </Portal>\n );\n});\n"],"names":["forwardRef","CascadingMenuList","refsManager","useState","useCallback","useForkRef","useEffect","getKeyDownHandlers","CascadingMenuAction","stateChangeTypes","useMouseHandlers","useMemo","hasSubMenu","hasIcon","getMaxHeight","getHeight","useWindow","useFloatingUI","useIsomorphicLayoutEffect","jsx","Portal","List","classnames","DefaultMenuItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CascadingMenuList.js","sources":["../src/cascading-menu/CascadingMenuList.tsx"],"sourcesContent":["import {\n useFloatingUI,\n UseFloatingUIProps,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Portal } from \"../portal\";\nimport { List, ListProps } from \"../list-deprecated\";\n\nimport { DefaultMenuItem, MenuItemProps } from \"./CascadingMenuItem\";\nimport { CascadingMenuAction } from \"./internal/CascadingMenuAction\";\nimport { getKeyDownHandlers } from \"./internal/keydownHandlers\";\nimport {\n getHeight,\n getMaxHeight,\n screenBounds,\n} from \"./internal/menuPositioning\";\nimport { hasIcon, hasSubMenu, menuState } from \"./internal/stateUtils\";\nimport { useMouseHandlers } from \"./internal/useMouseHandlers\";\nimport { refsManager } from \"./internal/useRefsManager\";\nimport { stateChangeTypes } from \"./stateChangeTypes\";\nimport { useWindow } from \"../window\";\n\nimport \"./CascadingMenuList.css\";\n\nexport interface CascadingMenuListProps {\n className?: string;\n data: menuState;\n delay?: number;\n disableMouseOutInteractions?: boolean;\n // TODO any\n dispatch: (action: any) => void;\n getBoundingClientRect?: (element: HTMLElement) => DOMRect;\n getScreenBounds?: () => screenBounds;\n height?: number;\n highlightedItemIndex: number | null;\n isChildMenuOpen: boolean;\n itemToString: MenuItemProps[\"itemToString\"];\n isNavigatingWithKeyboard: boolean;\n isRoot: boolean;\n maxWidth?: ListProps[\"maxWidth\"];\n menuId: string;\n menuTriggerRef: HTMLElement | null;\n minWidth?: ListProps[\"minWidth\"];\n onItemClick?: MenuItemProps[\"onItemClick\"];\n parentElement?: HTMLElement | null;\n refsManager: refsManager;\n rootPlacement?: UseFloatingUIProps[\"placement\"];\n rootPlacementOffset?: string;\n rowHeight?: number;\n setIsNavigatingWithKeyboard: (value: boolean) => void;\n tooltipEnterDelay: number;\n tooltipLeaveDelay: number;\n}\n\nexport const CascadingMenuList = forwardRef<\n HTMLDivElement,\n CascadingMenuListProps\n>(function CascadingMenuList(props, ref) {\n const {\n className,\n maxWidth,\n minWidth,\n itemToString,\n onItemClick,\n refsManager,\n dispatch,\n rowHeight: rowHeightProp,\n isNavigatingWithKeyboard,\n data,\n tooltipEnterDelay,\n tooltipLeaveDelay,\n height: heightProp,\n isChildMenuOpen,\n isRoot,\n highlightedItemIndex,\n menuId,\n parentElement = null,\n getScreenBounds,\n disableMouseOutInteractions,\n rootPlacementOffset,\n rootPlacement = \"bottom-start\",\n } = props;\n\n const baseClass = \"saltCascadingMenuList\";\n\n const [menuRef, setInternalMenuRef] = useState<HTMLElement | null>(null);\n const setMenuRef = useCallback(\n (node: HTMLElement) => {\n refsManager.set(menuId, node);\n },\n [refsManager, menuId]\n );\n\n // TODO removed useCharacteristic here\n const sizeStackable = 36;\n const defaultRowHeight = sizeStackable;\n\n // TODO removed useCharacteristic here\n const spacing = 8;\n\n const isMenuActiveState = useState(true);\n const [isMenuActive, setIsMenuActive] = isMenuActiveState;\n const listRef = useForkRef<HTMLElement>(ref, setInternalMenuRef);\n const handleRef = useForkRef(setMenuRef, listRef);\n\n useEffect(() => {\n if (menuRef && menuRef.focus) {\n // timeout prevents scrolling issue by waiting a split second\n // and menu should be correctly positioned by then and\n // focusing popper content offscreen will not scroll page\n // it would be better to maybe use popper onUpdate callback\n // or some kind of polling mechanism to confirm placement is\n // correct before focus call\n const id = setTimeout(() => {\n menuRef.focus();\n });\n return () => {\n clearTimeout(id);\n };\n }\n }, [menuRef, rootPlacementOffset]);\n\n const handleKeyDown = getKeyDownHandlers(props, setIsMenuActive);\n\n const onFocusHandler = useCallback(() => {\n setIsMenuActive(true);\n // When navigating via keyboard on open highlight first time in the list\n if (isNavigatingWithKeyboard) {\n if (!highlightedItemIndex) {\n dispatch({\n type: CascadingMenuAction.SET_CURRENT_INTERACTED_ITEM,\n cause: stateChangeTypes.KEYBOARD_NAV_AUTO_FOCUS,\n targetId: menuId,\n highlightedItemIndex: 0,\n });\n }\n }\n }, [\n setIsMenuActive,\n isNavigatingWithKeyboard,\n highlightedItemIndex,\n dispatch,\n menuId,\n ]);\n\n const [handleMouseMove, handleMouseOut] = useMouseHandlers(\n props,\n isMenuActiveState,\n menuRef\n );\n\n const hasEndAdornment = useMemo(\n () => data.menuItems.some(hasSubMenu),\n [data]\n );\n const hasStartAdornment = useMemo(() => data.menuItems.some(hasIcon), [data]);\n const rowHeight = rowHeightProp != null ? rowHeightProp : defaultRowHeight;\n const maxHeight = getMaxHeight(heightProp, spacing, getScreenBounds);\n const calculatedMenuHeight = rowHeight * data.menuItems.length;\n const menuHeight = getHeight(heightProp, calculatedMenuHeight, maxHeight);\n const hasScrollbar = menuHeight >= maxHeight;\n\n // menu container size is 2px larger than the list to include the border\n const menuContainerHeight = menuHeight + 2;\n const Window = useWindow();\n const { reference, floating, x, y, strategy } = useFloatingUI({\n placement: isRoot ? rootPlacement : \"right-start\",\n });\n useIsomorphicLayoutEffect(() => {\n if (parentElement) {\n reference(\n isRoot\n ? parentElement\n : parentElement.querySelector(\n `#${\n parentElement.getAttribute(\"aria-activedescendant\") as string\n }`\n )\n );\n }\n }, [reference, isRoot, parentElement]);\n\n if (parentElement === null) {\n return null;\n }\n\n return (\n <Portal>\n <Window\n className={`${baseClass}-popper`}\n id={menuId}\n style={{\n top: y ?? \"\",\n left: x ?? \"\",\n position: strategy,\n }}\n ref={floating}\n >\n <List\n className={clsx(baseClass, className)}\n height={menuContainerHeight}\n highlightedIndex={\n highlightedItemIndex === null ? -1 : highlightedItemIndex\n }\n id={menuId}\n itemHeight={rowHeight}\n itemToString={itemToString}\n key={menuId}\n listRef={handleRef}\n maxWidth={maxWidth}\n minWidth={minWidth}\n onFocus={onFocusHandler}\n onKeyDown={handleKeyDown}\n onMouseOut={disableMouseOutInteractions ? undefined : handleMouseOut}\n role=\"menu\"\n width=\"auto\"\n >\n {data.menuItems.map((menuItem, idx) => {\n const isInteracted = highlightedItemIndex === idx;\n return (\n <DefaultMenuItem\n blurSelected={!isMenuActive && isInteracted}\n hasEndAdornment={hasEndAdornment}\n hasScrollbar={hasScrollbar}\n hasStartAdornment={hasStartAdornment}\n hasSubMenu={hasSubMenu(menuItem)}\n isChildMenuOpen={isChildMenuOpen}\n isInteracted={isInteracted}\n isNavigatingWithKeyboard={isNavigatingWithKeyboard}\n itemToString={itemToString}\n key={idx}\n onItemClick={onItemClick}\n onMouseMove={() => handleMouseMove(idx)}\n sourceItem={menuItem}\n tooltipEnterDelay={tooltipEnterDelay}\n tooltipLeaveDelay={tooltipLeaveDelay}\n />\n );\n })}\n </List>\n </Window>\n </Portal>\n );\n});\n"],"names":["forwardRef","CascadingMenuList","refsManager","useState","useCallback","useForkRef","useEffect","getKeyDownHandlers","CascadingMenuAction","stateChangeTypes","useMouseHandlers","useMemo","hasSubMenu","hasIcon","getMaxHeight","getHeight","useWindow","useFloatingUI","useIsomorphicLayoutEffect","jsx","Portal","List","clsx","DefaultMenuItem"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var useEventCallback = require('../../utils/useEventCallback.js');
|
|
7
|
+
require('../../utils/useFloatingUI.js');
|
|
7
8
|
require('@salt-ds/core');
|
|
8
9
|
var useMountedRef = require('./useMountedRef.js');
|
|
9
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClickAway.js","sources":["../src/cascading-menu/internal/useClickAway.ts"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useEventCallback } from \"../../utils\";\n\nimport { useMountedRef } from \"./useMountedRef\";\n\nfunction eventComingFromNodes(nodes: HTMLElement[], event: MouseEvent) {\n return nodes.some(\n (node) =>\n node != null &&\n (node === event.target || node.contains(event.target as HTMLElement))\n );\n}\n\ntype clickAwayHook = (\n nodes: HTMLElement[] | (() => HTMLElement[]) | null,\n containingDocument: Document,\n onClickAway: (event: FocusEvent) => void,\n onClick: (event: MouseEvent) => void,\n mouseEvent?: keyof DocumentEventMap\n) => void;\n\nexport const useClickAway: clickAwayHook = (\n nodes,\n containingDocument,\n onClickAway,\n onClick = () => undefined,\n mouseEvent = \"mouseup\"\n) => {\n //TODO can we get rid of this if it's just for IE11 ?\n const mountedRef = useMountedRef();\n\n const handleClickAway = useEventCallback((event: MouseEvent) => {\n // Ignore events that have been `event.preventDefault()` marked.\n if (event.defaultPrevented) {\n return;\n }\n\n // IE 11 support, which trigger the handleClickAway even after the unbind\n if (!mountedRef.current) {\n return;\n }\n\n onClick(event);\n\n if (!nodes) {\n return;\n }\n\n const resolvedNodes = typeof nodes === \"function\" ? nodes() : nodes;\n const isEventComingFromNodes = eventComingFromNodes(resolvedNodes, event);\n\n const ownerDocumentNode = resolvedNodes.find((node) =>\n // node could be null, e.g. left click on surrounding area of context menu examples\n node ? node.ownerDocument : false\n );\n const doc =\n containingDocument ||\n (ownerDocumentNode && ownerDocumentNode.ownerDocument);\n\n if (\n doc.documentElement &&\n doc.documentElement.contains(event.target as HTMLElement) &&\n !isEventComingFromNodes\n ) {\n onClickAway(event);\n }\n });\n\n useEffect(() => {\n if (containingDocument) {\n containingDocument.addEventListener(\n mouseEvent,\n handleClickAway as EventListener\n );\n containingDocument.defaultView?.addEventListener(\"blur\", onClickAway);\n }\n return () => {\n if (containingDocument) {\n containingDocument.removeEventListener(\n mouseEvent,\n handleClickAway as EventListener\n );\n containingDocument.defaultView?.removeEventListener(\n \"blur\",\n onClickAway\n );\n }\n };\n }, [handleClickAway, mouseEvent, containingDocument, onClickAway]);\n};\n"],"names":["useMountedRef","useEventCallback","useEffect","_a"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useClickAway.js","sources":["../src/cascading-menu/internal/useClickAway.ts"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useEventCallback } from \"../../utils\";\n\nimport { useMountedRef } from \"./useMountedRef\";\n\nfunction eventComingFromNodes(nodes: HTMLElement[], event: MouseEvent) {\n return nodes.some(\n (node) =>\n node != null &&\n (node === event.target || node.contains(event.target as HTMLElement))\n );\n}\n\ntype clickAwayHook = (\n nodes: HTMLElement[] | (() => HTMLElement[]) | null,\n containingDocument: Document,\n onClickAway: (event: FocusEvent) => void,\n onClick: (event: MouseEvent) => void,\n mouseEvent?: keyof DocumentEventMap\n) => void;\n\nexport const useClickAway: clickAwayHook = (\n nodes,\n containingDocument,\n onClickAway,\n onClick = () => undefined,\n mouseEvent = \"mouseup\"\n) => {\n //TODO can we get rid of this if it's just for IE11 ?\n const mountedRef = useMountedRef();\n\n const handleClickAway = useEventCallback((event: MouseEvent) => {\n // Ignore events that have been `event.preventDefault()` marked.\n if (event.defaultPrevented) {\n return;\n }\n\n // IE 11 support, which trigger the handleClickAway even after the unbind\n if (!mountedRef.current) {\n return;\n }\n\n onClick(event);\n\n if (!nodes) {\n return;\n }\n\n const resolvedNodes = typeof nodes === \"function\" ? nodes() : nodes;\n const isEventComingFromNodes = eventComingFromNodes(resolvedNodes, event);\n\n const ownerDocumentNode = resolvedNodes.find((node) =>\n // node could be null, e.g. left click on surrounding area of context menu examples\n node ? node.ownerDocument : false\n );\n const doc =\n containingDocument ||\n (ownerDocumentNode && ownerDocumentNode.ownerDocument);\n\n if (\n doc.documentElement &&\n doc.documentElement.contains(event.target as HTMLElement) &&\n !isEventComingFromNodes\n ) {\n onClickAway(event);\n }\n });\n\n useEffect(() => {\n if (containingDocument) {\n containingDocument.addEventListener(\n mouseEvent,\n handleClickAway as EventListener\n );\n containingDocument.defaultView?.addEventListener(\"blur\", onClickAway);\n }\n return () => {\n if (containingDocument) {\n containingDocument.removeEventListener(\n mouseEvent,\n handleClickAway as EventListener\n );\n containingDocument.defaultView?.removeEventListener(\n \"blur\",\n onClickAway\n );\n }\n };\n }, [handleClickAway, mouseEvent, containingDocument, onClickAway]);\n};\n"],"names":["useMountedRef","useEventCallback","useEffect","_a"],"mappings":";;;;;;;;;;AAKA,SAAS,oBAAA,CAAqB,OAAsB,KAAmB,EAAA;AACrE,EAAA,OAAO,KAAM,CAAA,IAAA;AAAA,IACX,CAAC,IACC,KAAA,IAAA,IAAQ,IACP,KAAA,IAAA,KAAS,MAAM,MAAU,IAAA,IAAA,CAAK,QAAS,CAAA,KAAA,CAAM,MAAqB,CAAA,CAAA;AAAA,GACvE,CAAA;AACF,CAAA;AAUa,MAAA,YAAA,GAA8B,CACzC,KACA,EAAA,kBAAA,EACA,aACA,OAAU,GAAA,MAAM,KAChB,CAAA,EAAA,UAAA,GAAa,SACV,KAAA;AAEH,EAAA,MAAM,aAAaA,2BAAc,EAAA,CAAA;AAEjC,EAAM,MAAA,eAAA,GAAkBC,iCAAiB,CAAA,CAAC,KAAsB,KAAA;AAE9D,IAAA,IAAI,MAAM,gBAAkB,EAAA;AAC1B,MAAA,OAAA;AAAA,KACF;AAGA,IAAI,IAAA,CAAC,WAAW,OAAS,EAAA;AACvB,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAEb,IAAA,IAAI,CAAC,KAAO,EAAA;AACV,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,MAAM,aAAgB,GAAA,OAAO,KAAU,KAAA,UAAA,GAAa,OAAU,GAAA,KAAA,CAAA;AAC9D,IAAM,MAAA,sBAAA,GAAyB,oBAAqB,CAAA,aAAA,EAAe,KAAK,CAAA,CAAA;AAExE,IAAA,MAAM,oBAAoB,aAAc,CAAA,IAAA;AAAA,MAAK,CAAC,IAAA,KAE5C,IAAO,GAAA,IAAA,CAAK,aAAgB,GAAA,KAAA;AAAA,KAC9B,CAAA;AACA,IAAM,MAAA,GAAA,GACJ,kBACC,IAAA,iBAAA,IAAqB,iBAAkB,CAAA,aAAA,CAAA;AAE1C,IACE,IAAA,GAAA,CAAI,mBACJ,GAAI,CAAA,eAAA,CAAgB,SAAS,KAAM,CAAA,MAAqB,CACxD,IAAA,CAAC,sBACD,EAAA;AACA,MAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAAA,KACnB;AAAA,GACD,CAAA,CAAA;AAED,EAAAC,eAAA,CAAU,MAAM;AApElB,IAAA,IAAA,EAAA,CAAA;AAqEI,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAmB,kBAAA,CAAA,gBAAA;AAAA,QACjB,UAAA;AAAA,QACA,eAAA;AAAA,OACF,CAAA;AACA,MAAmB,CAAA,EAAA,GAAA,kBAAA,CAAA,WAAA,KAAnB,IAAgC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAiB,MAAQ,EAAA,WAAA,CAAA,CAAA;AAAA,KAC3D;AACA,IAAA,OAAO,MAAM;AA5EjB,MAAAC,IAAAA,GAAAA,CAAAA;AA6EM,MAAA,IAAI,kBAAoB,EAAA;AACtB,QAAmB,kBAAA,CAAA,mBAAA;AAAA,UACjB,UAAA;AAAA,UACA,eAAA;AAAA,SACF,CAAA;AACA,QAAA,CAAAA,GAAA,GAAA,kBAAA,CAAmB,WAAnB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAgC,CAAA,mBAAA;AAAA,UAC9B,MAAA;AAAA,UACA,WAAA;AAAA,SAAA,CAAA;AAAA,OAEJ;AAAA,KACF,CAAA;AAAA,KACC,CAAC,eAAA,EAAiB,UAAY,EAAA,kBAAA,EAAoB,WAAW,CAAC,CAAA,CAAA;AACnE;;;;"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var useEventCallback = require('../../utils/useEventCallback.js');
|
|
7
|
+
require('../../utils/useFloatingUI.js');
|
|
7
8
|
require('@salt-ds/core');
|
|
8
9
|
var stateChangeTypes = require('../stateChangeTypes.js');
|
|
9
10
|
var CascadingMenuAction = require('./CascadingMenuAction.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuTriggerHandlers.js","sources":["../src/cascading-menu/internal/useMenuTriggerHandlers.ts"],"sourcesContent":["import { useEventCallback } from \"../../utils\";\nimport { stateChangeTypes } from \"../stateChangeTypes\";\nimport { CascadingMenuAction } from \"./CascadingMenuAction\";\nimport { CascadingMenuProps } from \"../CascadingMenuProps\";\nimport { menuState } from \"./stateUtils\";\nimport { stateItem } from \"./useStateReducer\";\nimport {\n HTMLAttributes,\n isValidElement,\n MouseEvent,\n KeyboardEvent,\n} from \"react\";\n\ninterface useMenuTriggerHandlersProps {\n dispatch: (action: any) => void;\n children: CascadingMenuProps[\"children\"];\n setIsNavigatingWithKeyboard: (value: boolean) => void;\n openCloseMenu: (open: boolean) => void;\n rootMenuState: stateItem;\n rootMenuId: string | undefined;\n menusDataById: Record<string, menuState>;\n}\n\nexport function useMenuTriggerHandlers({\n dispatch,\n children,\n setIsNavigatingWithKeyboard,\n openCloseMenu,\n rootMenuState,\n rootMenuId,\n menusDataById = {},\n}: useMenuTriggerHandlersProps) {\n const handleOnClick = useEventCallback((event: MouseEvent<HTMLElement>) => {\n const { type } = event;\n\n setIsNavigatingWithKeyboard(false);\n if (type === \"click\") {\n if (isValidElement(children)) {\n const childrenProps = children.props as HTMLAttributes<HTMLElement>;\n childrenProps.onClick?.(event);\n }\n openCloseMenu(!rootMenuState);\n }\n });\n\n const handleOnKeydown = useEventCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n const { key } = event;\n\n switch (key) {\n case \"Spacebar\":\n case \" \":\n case \"Enter\":\n event.stopPropagation();\n event.preventDefault();\n setIsNavigatingWithKeyboard(true);\n dispatch({\n type: rootMenuState\n ? CascadingMenuAction.CLOSE_MENU\n : CascadingMenuAction.OPEN_MENU,\n cause: stateChangeTypes.KEYBOARD_TOGGLE,\n targetId: rootMenuId,\n });\n break;\n case \"ArrowDown\":\n event.stopPropagation();\n event.preventDefault();\n setIsNavigatingWithKeyboard(true);\n if (rootMenuState) {\n break;\n }\n dispatch({\n type: CascadingMenuAction.OPEN_MENU,\n cause: stateChangeTypes.KEYBOARD_TOGGLE,\n targetId: rootMenuId,\n });\n break;\n case \"ArrowUp\":\n event.stopPropagation();\n event.preventDefault();\n setIsNavigatingWithKeyboard(true);\n if (rootMenuState || !rootMenuId) {\n break;\n }\n dispatch({\n type: CascadingMenuAction.OPEN_MENU,\n cause: stateChangeTypes.KEYBOARD_TOGGLE,\n targetId: rootMenuId,\n });\n dispatch({\n type: CascadingMenuAction.SET_CURRENT_INTERACTED_ITEM,\n cause: stateChangeTypes.ITEM_KEYDOWN_ARROW_UP,\n targetId: rootMenuId,\n highlightedItemIndex:\n menusDataById[rootMenuId].menuItems.length - 1,\n });\n break;\n default:\n break;\n }\n\n if (isValidElement(children)) {\n const childrenProps = children.props as HTMLAttributes<HTMLElement>;\n childrenProps.onKeyDown?.(event);\n }\n }\n );\n\n return [handleOnClick, handleOnKeydown] as const;\n}\n"],"names":["useEventCallback","isValidElement","CascadingMenuAction","stateChangeTypes"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMenuTriggerHandlers.js","sources":["../src/cascading-menu/internal/useMenuTriggerHandlers.ts"],"sourcesContent":["import { useEventCallback } from \"../../utils\";\nimport { stateChangeTypes } from \"../stateChangeTypes\";\nimport { CascadingMenuAction } from \"./CascadingMenuAction\";\nimport { CascadingMenuProps } from \"../CascadingMenuProps\";\nimport { menuState } from \"./stateUtils\";\nimport { stateItem } from \"./useStateReducer\";\nimport {\n HTMLAttributes,\n isValidElement,\n MouseEvent,\n KeyboardEvent,\n} from \"react\";\n\ninterface useMenuTriggerHandlersProps {\n dispatch: (action: any) => void;\n children: CascadingMenuProps[\"children\"];\n setIsNavigatingWithKeyboard: (value: boolean) => void;\n openCloseMenu: (open: boolean) => void;\n rootMenuState: stateItem;\n rootMenuId: string | undefined;\n menusDataById: Record<string, menuState>;\n}\n\nexport function useMenuTriggerHandlers({\n dispatch,\n children,\n setIsNavigatingWithKeyboard,\n openCloseMenu,\n rootMenuState,\n rootMenuId,\n menusDataById = {},\n}: useMenuTriggerHandlersProps) {\n const handleOnClick = useEventCallback((event: MouseEvent<HTMLElement>) => {\n const { type } = event;\n\n setIsNavigatingWithKeyboard(false);\n if (type === \"click\") {\n if (isValidElement(children)) {\n const childrenProps = children.props as HTMLAttributes<HTMLElement>;\n childrenProps.onClick?.(event);\n }\n openCloseMenu(!rootMenuState);\n }\n });\n\n const handleOnKeydown = useEventCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n const { key } = event;\n\n switch (key) {\n case \"Spacebar\":\n case \" \":\n case \"Enter\":\n event.stopPropagation();\n event.preventDefault();\n setIsNavigatingWithKeyboard(true);\n dispatch({\n type: rootMenuState\n ? CascadingMenuAction.CLOSE_MENU\n : CascadingMenuAction.OPEN_MENU,\n cause: stateChangeTypes.KEYBOARD_TOGGLE,\n targetId: rootMenuId,\n });\n break;\n case \"ArrowDown\":\n event.stopPropagation();\n event.preventDefault();\n setIsNavigatingWithKeyboard(true);\n if (rootMenuState) {\n break;\n }\n dispatch({\n type: CascadingMenuAction.OPEN_MENU,\n cause: stateChangeTypes.KEYBOARD_TOGGLE,\n targetId: rootMenuId,\n });\n break;\n case \"ArrowUp\":\n event.stopPropagation();\n event.preventDefault();\n setIsNavigatingWithKeyboard(true);\n if (rootMenuState || !rootMenuId) {\n break;\n }\n dispatch({\n type: CascadingMenuAction.OPEN_MENU,\n cause: stateChangeTypes.KEYBOARD_TOGGLE,\n targetId: rootMenuId,\n });\n dispatch({\n type: CascadingMenuAction.SET_CURRENT_INTERACTED_ITEM,\n cause: stateChangeTypes.ITEM_KEYDOWN_ARROW_UP,\n targetId: rootMenuId,\n highlightedItemIndex:\n menusDataById[rootMenuId].menuItems.length - 1,\n });\n break;\n default:\n break;\n }\n\n if (isValidElement(children)) {\n const childrenProps = children.props as HTMLAttributes<HTMLElement>;\n childrenProps.onKeyDown?.(event);\n }\n }\n );\n\n return [handleOnClick, handleOnKeydown] as const;\n}\n"],"names":["useEventCallback","isValidElement","CascadingMenuAction","stateChangeTypes"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var clsx = require('clsx');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var core = require('@salt-ds/core');
|
|
9
9
|
var ControlLabel = require('../control-label/ControlLabel.js');
|
|
@@ -11,10 +11,6 @@ var CheckboxBase = require('./CheckboxBase.js');
|
|
|
11
11
|
var CheckboxGroupContext = require('./internal/CheckboxGroupContext.js');
|
|
12
12
|
require('./Checkbox.css.js');
|
|
13
13
|
|
|
14
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
|
-
|
|
16
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
17
|
-
|
|
18
14
|
const classBase = "saltCheckbox";
|
|
19
15
|
const Checkbox = React.forwardRef(
|
|
20
16
|
function Checkbox2(props, ref) {
|
|
@@ -47,7 +43,7 @@ const Checkbox = React.forwardRef(
|
|
|
47
43
|
}
|
|
48
44
|
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
49
45
|
...rest,
|
|
50
|
-
className:
|
|
46
|
+
className: clsx.clsx(classBase, className, {
|
|
51
47
|
[`${classBase}-disabled`]: disabled
|
|
52
48
|
}),
|
|
53
49
|
"data-testid": "checkbox",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../src/checkbox/Checkbox.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../src/checkbox/Checkbox.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { forwardRef, useContext } from \"react\";\nimport { createChainedFunction } from \"@salt-ds/core\";\nimport { ControlLabel, ControlLabelProps } from \"../control-label\";\nimport { CheckboxBase, CheckboxBaseProps } from \"./CheckboxBase\";\nimport { CheckboxGroupContext } from \"./internal/CheckboxGroupContext\";\n\nimport \"./Checkbox.css\";\n\nexport interface CheckboxProps extends CheckboxBaseProps {\n label?: ControlLabelProps[\"label\"];\n LabelProps?: Partial<ControlLabelProps>;\n}\n\nconst classBase = \"saltCheckbox\";\n\nexport const Checkbox = forwardRef<HTMLDivElement, CheckboxProps>(\n function Checkbox(props, ref) {\n const {\n checked: checkedProp,\n className,\n defaultChecked: defaultCheckedProp,\n disabled,\n indeterminate,\n inputProps,\n label,\n LabelProps,\n onChange,\n value,\n ...rest\n } = props;\n\n const groupContext = useContext(CheckboxGroupContext);\n\n const handleChange = createChainedFunction(\n onChange,\n groupContext?.onChange\n );\n\n let checked = checkedProp;\n let defaultChecked = defaultCheckedProp;\n\n if (groupContext) {\n if (typeof checked === \"undefined\" && typeof value === \"string\") {\n checked = groupContext?.checkedValues?.includes(value);\n }\n\n defaultChecked = undefined;\n }\n\n return (\n <div\n {...rest}\n className={clsx(classBase, className, {\n [`${classBase}-disabled`]: disabled,\n })}\n data-testid=\"checkbox\"\n ref={ref}\n >\n <ControlLabel\n {...LabelProps}\n className={`${classBase}-label`}\n disabled={disabled}\n label={label}\n labelPlacement={\"right\"}\n >\n <CheckboxBase\n checked={checked}\n disabled={disabled}\n defaultChecked={defaultChecked}\n indeterminate={indeterminate}\n onChange={handleChange}\n value={value}\n />\n </ControlLabel>\n </div>\n );\n }\n);\n"],"names":["forwardRef","Checkbox","useContext","CheckboxGroupContext","createChainedFunction","jsx","clsx","ControlLabel","CheckboxBase"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,SAAY,GAAA,cAAA,CAAA;AAEX,MAAM,QAAW,GAAAA,gBAAA;AAAA,EACtB,SAASC,SAAS,CAAA,KAAA,EAAO,GAAK,EAAA;AAjBhC,IAAA,IAAA,EAAA,CAAA;AAkBI,IAAM,MAAA;AAAA,MACJ,OAAS,EAAA,WAAA;AAAA,MACT,SAAA;AAAA,MACA,cAAgB,EAAA,kBAAA;AAAA,MAChB,QAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,YAAA,GAAeC,iBAAWC,yCAAoB,CAAA,CAAA;AAEpD,IAAA,MAAM,YAAe,GAAAC,0BAAA;AAAA,MACnB,QAAA;AAAA,MACA,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,QAAA;AAAA,KAChB,CAAA;AAEA,IAAA,IAAI,OAAU,GAAA,WAAA,CAAA;AACd,IAAA,IAAI,cAAiB,GAAA,kBAAA,CAAA;AAErB,IAAA,IAAI,YAAc,EAAA;AAChB,MAAA,IAAI,OAAO,OAAA,KAAY,WAAe,IAAA,OAAO,UAAU,QAAU,EAAA;AAC/D,QAAU,OAAA,GAAA,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,aAAd,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA6B,QAAS,CAAA,KAAA,CAAA,CAAA;AAAA,OAClD;AAEA,MAAiB,cAAA,GAAA,KAAA,CAAA,CAAA;AAAA,KACnB;AAEA,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAWC,SAAK,CAAA,SAAA,EAAW,SAAW,EAAA;AAAA,QACpC,CAAC,GAAG,SAAuB,CAAA,SAAA,CAAA,GAAA,QAAA;AAAA,OAC5B,CAAA;AAAA,MACD,aAAY,EAAA,UAAA;AAAA,MACZ,GAAA;AAAA,MAEA,QAAC,kBAAAD,cAAA,CAAAE,yBAAA,EAAA;AAAA,QACE,GAAG,UAAA;AAAA,QACJ,WAAW,CAAG,EAAA,SAAA,CAAA,MAAA,CAAA;AAAA,QACd,QAAA;AAAA,QACA,KAAA;AAAA,QACA,cAAgB,EAAA,OAAA;AAAA,QAEhB,QAAC,kBAAAF,cAAA,CAAAG,yBAAA,EAAA;AAAA,UACC,OAAA;AAAA,UACA,QAAA;AAAA,UACA,cAAA;AAAA,UACA,aAAA;AAAA,UACA,QAAU,EAAA,YAAA;AAAA,UACV,KAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -3,16 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var clsx = require('clsx');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var core = require('@salt-ds/core');
|
|
9
9
|
var CheckboxIcon = require('./CheckboxIcon.js');
|
|
10
10
|
require('./CheckboxBase.css.js');
|
|
11
11
|
|
|
12
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
-
|
|
14
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
15
|
-
|
|
16
12
|
const withBaseName = core.makePrefixer("saltCheckboxBase");
|
|
17
13
|
const CheckboxBase = React.forwardRef(
|
|
18
14
|
function CheckboxBase2({
|
|
@@ -65,7 +61,7 @@ const CheckboxBase = React.forwardRef(
|
|
|
65
61
|
},
|
|
66
62
|
[onBlur]
|
|
67
63
|
);
|
|
68
|
-
const className =
|
|
64
|
+
const className = clsx.clsx(withBaseName(), classNameProp, {
|
|
69
65
|
saltFocusVisible: focusVisible
|
|
70
66
|
});
|
|
71
67
|
return /* @__PURE__ */ jsxRuntime.jsxs("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxBase.js","sources":["../src/checkbox/CheckboxBase.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"CheckboxBase.js","sources":["../src/checkbox/CheckboxBase.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n FocusEvent,\n FocusEventHandler,\n forwardRef,\n HTMLAttributes,\n InputHTMLAttributes,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { CheckboxIcon } from \"./CheckboxIcon\";\n\nimport \"./CheckboxBase.css\";\n\nconst withBaseName = makePrefixer(\"saltCheckboxBase\");\n\nexport interface CheckboxBaseProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n checked?: boolean;\n defaultChecked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n inputProps?: Partial<InputHTMLAttributes<HTMLInputElement>>;\n name?: string;\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback when checked state is changed\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;\n onFocus?: FocusEventHandler<HTMLInputElement>;\n value?: string;\n}\n\nexport const CheckboxBase = forwardRef<HTMLDivElement, CheckboxBaseProps>(\n function CheckboxBase(\n {\n checked: checkedProp,\n className: classNameProp,\n defaultChecked,\n disabled,\n indeterminate,\n inputProps,\n name,\n onBlur,\n onChange,\n onFocus,\n value,\n ...rest\n },\n ref\n ) {\n // null is needed here so we can modify the ref on line 70\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [checked, setChecked] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: \"Checkbox\",\n state: \"checked\",\n });\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const value = event.target.checked;\n setChecked(value);\n onChange?.(event, value);\n };\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!inputRef.current) {\n inputRef.current = event.currentTarget;\n }\n\n // TODO :focus-visible not yet supported on Safari, so we'll need to use the\n // useIsFocusVisible polyfill\n if (inputRef.current?.matches(\":focus-visible\")) {\n setFocusVisible(true);\n }\n\n onFocus && onFocus(event);\n },\n [onFocus]\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setFocusVisible(false);\n onBlur && onBlur(event);\n },\n [onBlur]\n );\n\n const className = clsx(withBaseName(), classNameProp, {\n saltFocusVisible: focusVisible,\n });\n return (\n <span {...rest} className={className} ref={ref}>\n <input\n aria-checked={indeterminate ? \"mixed\" : checked}\n name={name}\n value={value}\n {...inputProps}\n checked={checkedProp}\n className={withBaseName(\"input\")}\n data-indeterminate={indeterminate}\n defaultChecked={defaultChecked}\n disabled={disabled}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n ref={inputRef}\n type=\"checkbox\"\n />\n <CheckboxIcon\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n />\n </span>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","CheckboxBase","useRef","useControlled","useState","value","useCallback","clsx","jsxs","jsx","CheckboxIcon"],"mappings":"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"}
|
|
@@ -3,17 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var clsx = require('clsx');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var core = require('@salt-ds/core');
|
|
9
9
|
var FormGroup = require('../form-group/FormGroup.js');
|
|
10
10
|
var CheckboxGroupContext = require('./internal/CheckboxGroupContext.js');
|
|
11
11
|
require('./CheckboxGroup.css.js');
|
|
12
12
|
|
|
13
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
-
|
|
15
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
16
|
-
|
|
17
13
|
const classBase = "saltCheckboxGroup";
|
|
18
14
|
const CheckboxGroup = React.forwardRef(function CheckboxGroup2({
|
|
19
15
|
checkedValues: checkedValuesProp,
|
|
@@ -43,7 +39,7 @@ const CheckboxGroup = React.forwardRef(function CheckboxGroup2({
|
|
|
43
39
|
return /* @__PURE__ */ jsxRuntime.jsx(CheckboxGroupContext.CheckboxGroupContext.Provider, {
|
|
44
40
|
value: { name, onChange: handleChange, checkedValues },
|
|
45
41
|
children: /* @__PURE__ */ jsxRuntime.jsx("fieldset", {
|
|
46
|
-
className:
|
|
42
|
+
className: clsx.clsx(classBase, {
|
|
47
43
|
[`${classBase}-horizontal`]: row
|
|
48
44
|
}),
|
|
49
45
|
ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.js","sources":["../src/checkbox/CheckboxGroup.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.js","sources":["../src/checkbox/CheckboxGroup.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n ChangeEventHandler,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n} from \"react\";\nimport { useControlled } from \"@salt-ds/core\";\nimport { FormGroup, FormGroupProps } from \"../form-group\";\nimport { CheckboxGroupContext } from \"./internal/CheckboxGroupContext\";\n\nimport \"./CheckboxGroup.css\";\n\nexport interface CheckboxGroupProps extends FormGroupProps {\n /**\n * The current checked options.\n */\n checkedValues?: string[];\n /**\n * The default selected options for un-controlled component.\n */\n defaultCheckedValues?: string[];\n /**\n * Props spread onto the FormControl component that wraps the checkboxes.\n */\n FormControlProps?: Partial<HTMLAttributes<HTMLFieldSetElement>>;\n /**\n * Props spread onto the legend.\n */\n LegendProps?: unknown;\n /**\n * The label for the group legend\n */\n legend?: ReactNode;\n /**\n * The name used to reference the value of the control.\n */\n name?: string;\n /**\n * Callback fired when a checkbox is clicked.\n * `event.target.value` returns the value of the checkbox that was clicked.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n}\n\nconst classBase = \"saltCheckboxGroup\";\n\nexport const CheckboxGroup = forwardRef<\n HTMLFieldSetElement,\n CheckboxGroupProps\n>(function CheckboxGroup(\n {\n checkedValues: checkedValuesProp,\n defaultCheckedValues = [],\n children,\n className,\n FormControlProps,\n row,\n name,\n onChange,\n ...other\n },\n ref\n) {\n const [checkedValues, setCheckedValues] = useControlled({\n controlled: checkedValuesProp,\n default: defaultCheckedValues,\n name: \"CheckboxGroup\",\n state: \"checkedValues\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setCheckedValues((oldValues: string[] = []) => {\n const name = event.target.value;\n const isSelected = oldValues.includes(name);\n\n return isSelected\n ? oldValues.filter((value) => value !== name)\n : oldValues.concat(name);\n });\n\n onChange?.(event);\n };\n\n return (\n <CheckboxGroupContext.Provider\n value={{ name, onChange: handleChange, checkedValues }}\n >\n <fieldset\n className={clsx(classBase, {\n [`${classBase}-horizontal`]: row,\n })}\n ref={ref}\n >\n <FormGroup className={`${classBase}-formGroup`} row={row} {...other}>\n {children}\n </FormGroup>\n </fieldset>\n </CheckboxGroupContext.Provider>\n );\n});\n"],"names":["forwardRef","CheckboxGroup","useControlled","name","jsx","CheckboxGroupContext","clsx","FormGroup"],"mappings":";;;;;;;;;;;;AA8CA,MAAM,SAAY,GAAA,mBAAA,CAAA;AAEL,MAAA,aAAA,GAAgBA,gBAG3B,CAAA,SAASC,cACT,CAAA;AAAA,EACE,aAAe,EAAA,iBAAA;AAAA,EACf,uBAAuB,EAAC;AAAA,EACxB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACG,GAAA,KAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIC,kBAAc,CAAA;AAAA,IACtD,UAAY,EAAA,iBAAA;AAAA,IACZ,OAAS,EAAA,oBAAA;AAAA,IACT,IAAM,EAAA,eAAA;AAAA,IACN,KAAO,EAAA,eAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAM,MAAA,YAAA,GAAe,CAAC,KAAyC,KAAA;AAC7D,IAAiB,gBAAA,CAAA,CAAC,SAAsB,GAAA,EAAO,KAAA;AAC7C,MAAMC,MAAAA,KAAAA,GAAO,MAAM,MAAO,CAAA,KAAA,CAAA;AAC1B,MAAM,MAAA,UAAA,GAAa,SAAU,CAAA,QAAA,CAASA,KAAI,CAAA,CAAA;AAE1C,MAAO,OAAA,UAAA,GACH,SAAU,CAAA,MAAA,CAAO,CAAC,KAAA,KAAU,UAAUA,KAAI,CAAA,GAC1C,SAAU,CAAA,MAAA,CAAOA,KAAI,CAAA,CAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACb,CAAA;AAEA,EACE,uBAAAC,cAAA,CAACC,0CAAqB,QAArB,EAAA;AAAA,IACC,KAAO,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,cAAc,aAAc,EAAA;AAAA,IAErD,QAAC,kBAAAD,cAAA,CAAA,UAAA,EAAA;AAAA,MACC,SAAA,EAAWE,UAAK,SAAW,EAAA;AAAA,QACzB,CAAC,GAAG,SAAyB,CAAA,WAAA,CAAA,GAAA,GAAA;AAAA,OAC9B,CAAA;AAAA,MACD,GAAA;AAAA,MAEA,QAAC,kBAAAF,cAAA,CAAAG,mBAAA,EAAA;AAAA,QAAU,WAAW,CAAG,EAAA,SAAA,CAAA,UAAA,CAAA;AAAA,QAAuB,GAAA;AAAA,QAAW,GAAG,KAAA;AAAA,QAC3D,QAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -3,17 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var clsx = require('clsx');
|
|
7
7
|
var core = require('@salt-ds/core');
|
|
8
8
|
var CheckboxUncheckedIcon = require('./assets/CheckboxUncheckedIcon.js');
|
|
9
9
|
var CheckboxCheckedIcon = require('./assets/CheckboxCheckedIcon.js');
|
|
10
10
|
var CheckboxIndeterminateIcon = require('./assets/CheckboxIndeterminateIcon.js');
|
|
11
11
|
require('./CheckboxIcon.css.js');
|
|
12
12
|
|
|
13
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
-
|
|
15
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
16
|
-
|
|
17
13
|
const withBaseName = core.makePrefixer("saltCheckboxIcon");
|
|
18
14
|
const CheckboxIcon = ({
|
|
19
15
|
checked = false,
|
|
@@ -21,13 +17,13 @@ const CheckboxIcon = ({
|
|
|
21
17
|
disabled,
|
|
22
18
|
indeterminate
|
|
23
19
|
}) => {
|
|
24
|
-
const className =
|
|
20
|
+
const className = clsx.clsx(withBaseName(), classNameProp, {
|
|
25
21
|
[withBaseName("disabled")]: disabled
|
|
26
22
|
});
|
|
27
23
|
return indeterminate ? /* @__PURE__ */ jsxRuntime.jsx(CheckboxIndeterminateIcon.CheckboxIndeterminateIcon, {
|
|
28
|
-
className:
|
|
24
|
+
className: clsx.clsx(className, withBaseName("indeterminate"))
|
|
29
25
|
}) : checked ? /* @__PURE__ */ jsxRuntime.jsx(CheckboxCheckedIcon.CheckboxCheckedIcon, {
|
|
30
|
-
className:
|
|
26
|
+
className: clsx.clsx(className, withBaseName("checked"))
|
|
31
27
|
}) : /* @__PURE__ */ jsxRuntime.jsx(CheckboxUncheckedIcon.CheckboxUncheckedIcon, {
|
|
32
28
|
className
|
|
33
29
|
});
|