@lumx/react 4.17.1-alpha.2 → 4.17.1-alpha.3
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/_internal/_virtual/_rolldown/runtime.js +34 -0
- package/_internal/components/alert-dialog/AlertDialog.d.ts +30 -0
- package/_internal/components/alert-dialog/AlertDialog.js +49 -0
- package/_internal/components/alert-dialog/index.d.ts +1 -0
- package/_internal/components/autocomplete/Autocomplete.d.ts +181 -0
- package/_internal/components/autocomplete/Autocomplete.js +92 -0
- package/_internal/components/autocomplete/AutocompleteMultiple.d.ts +28 -0
- package/_internal/components/autocomplete/AutocompleteMultiple.js +95 -0
- package/_internal/components/autocomplete/index.d.ts +2 -0
- package/_internal/components/avatar/Avatar.d.ts +39 -0
- package/_internal/components/avatar/Avatar.js +46 -0
- package/_internal/components/avatar/index.d.ts +2 -0
- package/_internal/components/badge/Badge.d.ts +24 -0
- package/_internal/components/badge/Badge.js +21 -0
- package/_internal/components/badge/BadgeWrapper.d.ts +16 -0
- package/_internal/components/badge/BadgeWrapper.js +13 -0
- package/_internal/components/badge/index.d.ts +2 -0
- package/_internal/components/button/Button.d.ts +22 -0
- package/_internal/components/button/Button.js +49 -0
- package/_internal/components/button/ButtonGroup.d.ts +17 -0
- package/_internal/components/button/ButtonGroup.js +21 -0
- package/_internal/components/button/ButtonRoot.d.ts +1 -0
- package/_internal/components/button/IconButton.d.ts +30 -0
- package/_internal/components/button/IconButton.js +40 -0
- package/_internal/components/button/index.d.ts +5 -0
- package/_internal/components/checkbox/Checkbox.d.ts +24 -0
- package/_internal/components/checkbox/Checkbox.js +58 -0
- package/_internal/components/checkbox/index.d.ts +1 -0
- package/_internal/components/chip/Chip.d.ts +34 -0
- package/_internal/components/chip/Chip.js +43 -0
- package/_internal/components/chip/ChipGroup.d.ts +20 -0
- package/_internal/components/chip/ChipGroup.js +25 -0
- package/_internal/components/chip/SelectionChipGroup.d.ts +43 -0
- package/_internal/components/chip/SelectionChipGroup.js +78 -0
- package/_internal/components/chip/index.d.ts +3 -0
- package/_internal/components/combobox/ComboboxButton.d.ts +17 -0
- package/_internal/components/combobox/ComboboxButton.js +59 -0
- package/_internal/components/combobox/ComboboxInput.d.ts +19 -0
- package/_internal/components/combobox/ComboboxInput.js +79 -0
- package/_internal/components/combobox/ComboboxList.d.ts +8 -0
- package/_internal/components/combobox/ComboboxList.js +64 -0
- package/_internal/components/combobox/ComboboxOption.d.ts +36 -0
- package/_internal/components/combobox/ComboboxOption.js +76 -0
- package/_internal/components/combobox/ComboboxOptionAction.d.ts +18 -0
- package/_internal/components/combobox/ComboboxOptionAction.js +38 -0
- package/_internal/components/combobox/ComboboxOptionMoreInfo.d.ts +19 -0
- package/_internal/components/combobox/ComboboxOptionMoreInfo.js +49 -0
- package/_internal/components/combobox/ComboboxOptionSkeleton.d.ts +19 -0
- package/_internal/components/combobox/ComboboxOptionSkeleton.js +38 -0
- package/_internal/components/combobox/ComboboxPopover.d.ts +18 -0
- package/_internal/components/combobox/ComboboxPopover.js +32 -0
- package/_internal/components/combobox/ComboboxProvider.d.ts +27 -0
- package/_internal/components/combobox/ComboboxProvider.js +41 -0
- package/_internal/components/combobox/ComboboxSection.d.ts +15 -0
- package/_internal/components/combobox/ComboboxSection.js +47 -0
- package/_internal/components/combobox/ComboboxState.d.ts +14 -0
- package/_internal/components/combobox/ComboboxState.js +70 -0
- package/_internal/components/combobox/context/ComboboxContext.js +15 -0
- package/_internal/components/combobox/context/ComboboxListContext.js +12 -0
- package/_internal/components/combobox/context/ComboboxOptionContext.js +16 -0
- package/_internal/components/combobox/context/useComboboxEvent.d.ts +10 -0
- package/_internal/components/combobox/context/useComboboxEvent.js +17 -0
- package/_internal/components/combobox/context/useComboboxOpen.js +13 -0
- package/_internal/components/combobox/index.d.ts +73 -0
- package/_internal/components/combobox/index.js +47 -0
- package/_internal/components/combobox/wrapRenderOption.js +38 -0
- package/_internal/components/comment-block/CommentBlock.d.ts +68 -0
- package/_internal/components/comment-block/CommentBlock.js +109 -0
- package/_internal/components/comment-block/index.d.ts +1 -0
- package/_internal/components/date-picker/DatePicker.d.ts +14 -0
- package/_internal/components/date-picker/DatePicker.js +45 -0
- package/_internal/components/date-picker/DatePickerControlled.d.ts +26 -0
- package/_internal/components/date-picker/DatePickerControlled.js +177 -0
- package/_internal/components/date-picker/DatePickerField.d.ts +38 -0
- package/_internal/components/date-picker/DatePickerField.js +83 -0
- package/_internal/components/date-picker/constants.js +11 -0
- package/_internal/components/date-picker/index.d.ts +4 -0
- package/_internal/components/date-picker/types.d.ts +30 -0
- package/_internal/components/dialog/Dialog.d.ts +47 -0
- package/_internal/components/dialog/Dialog.js +110 -0
- package/_internal/components/dialog/index.d.ts +2 -0
- package/_internal/components/divider/Divider.d.ts +20 -0
- package/_internal/components/divider/Divider.js +30 -0
- package/_internal/components/divider/index.d.ts +1 -0
- package/_internal/components/drag-handle/DragHandle.d.ts +20 -0
- package/_internal/components/drag-handle/DragHandle.js +29 -0
- package/_internal/components/drag-handle/index.d.ts +1 -0
- package/_internal/components/dropdown/Dropdown.d.ts +89 -0
- package/_internal/components/dropdown/Dropdown.js +89 -0
- package/_internal/components/dropdown/index.d.ts +1 -0
- package/_internal/components/expansion-panel/ExpansionPanel.d.ts +31 -0
- package/_internal/components/expansion-panel/ExpansionPanel.js +80 -0
- package/_internal/components/expansion-panel/index.d.ts +1 -0
- package/_internal/components/flag/Flag.d.ts +20 -0
- package/_internal/components/flag/Flag.js +28 -0
- package/_internal/components/flag/index.d.ts +1 -0
- package/_internal/components/flex-box/FlexBox.d.ts +25 -0
- package/_internal/components/flex-box/FlexBox.js +24 -0
- package/_internal/components/flex-box/index.d.ts +2 -0
- package/_internal/components/generic-block/GenericBlock.d.ts +51 -0
- package/_internal/components/generic-block/GenericBlock.js +90 -0
- package/_internal/components/generic-block/index.d.ts +2 -0
- package/_internal/components/grid/Grid.d.ts +33 -0
- package/_internal/components/grid/Grid.js +48 -0
- package/_internal/components/grid/GridItem.d.ts +29 -0
- package/_internal/components/grid/GridItem.js +37 -0
- package/_internal/components/grid/index.d.ts +2 -0
- package/_internal/components/grid-column/GridColumn.d.ts +24 -0
- package/_internal/components/grid-column/GridColumn.js +27 -0
- package/_internal/components/grid-column/index.d.ts +2 -0
- package/_internal/components/heading/Heading.d.ts +14 -0
- package/_internal/components/heading/Heading.js +25 -0
- package/_internal/components/heading/HeadingLevelProvider.d.ts +15 -0
- package/_internal/components/heading/HeadingLevelProvider.js +22 -0
- package/_internal/components/heading/context.js +6 -0
- package/_internal/components/heading/index.d.ts +3 -0
- package/_internal/components/heading/useHeadingLevel.d.ts +7 -0
- package/_internal/components/heading/useHeadingLevel.js +12 -0
- package/_internal/components/icon/Icon.d.ts +17 -0
- package/_internal/components/icon/Icon.js +24 -0
- package/_internal/components/icon/index.d.ts +2 -0
- package/_internal/components/image-block/ImageBlock.d.ts +29 -0
- package/_internal/components/image-block/ImageBlock.js +30 -0
- package/_internal/components/image-block/ImageCaption.d.ts +13 -0
- package/_internal/components/image-block/ImageCaption.js +18 -0
- package/_internal/components/image-block/index.d.ts +2 -0
- package/_internal/components/image-lightbox/ImageLightbox.d.ts +17 -0
- package/_internal/components/image-lightbox/ImageLightbox.js +66 -0
- package/_internal/components/image-lightbox/constants.js +11 -0
- package/_internal/components/image-lightbox/index.d.ts +2 -0
- package/_internal/components/image-lightbox/internal/ImageSlide.js +81 -0
- package/_internal/components/image-lightbox/internal/ImageSlideshow.js +112 -0
- package/_internal/components/image-lightbox/internal/useAnimateScroll.js +40 -0
- package/_internal/components/image-lightbox/internal/usePointerZoom.js +98 -0
- package/_internal/components/image-lightbox/types.d.ts +33 -0
- package/_internal/components/image-lightbox/useImageLightbox.d.ts +29 -0
- package/_internal/components/image-lightbox/useImageLightbox.js +102 -0
- package/_internal/components/inline-list/InlineList.d.ts +25 -0
- package/_internal/components/inline-list/InlineList.js +24 -0
- package/_internal/components/inline-list/index.d.ts +1 -0
- package/_internal/components/input-helper/InputHelper.d.ts +17 -0
- package/_internal/components/input-helper/InputHelper.js +25 -0
- package/_internal/components/input-helper/index.d.ts +1 -0
- package/_internal/components/input-label/InputLabel.d.ts +17 -0
- package/_internal/components/input-label/InputLabel.js +25 -0
- package/_internal/components/input-label/index.d.ts +1 -0
- package/_internal/components/lightbox/Lightbox.d.ts +33 -0
- package/_internal/components/lightbox/Lightbox.js +69 -0
- package/_internal/components/lightbox/index.d.ts +1 -0
- package/_internal/components/link/Link.d.ts +35 -0
- package/_internal/components/link/Link.js +45 -0
- package/_internal/components/link/index.d.ts +1 -0
- package/_internal/components/link-preview/LinkPreview.d.ts +25 -0
- package/_internal/components/link-preview/LinkPreview.js +31 -0
- package/_internal/components/link-preview/index.d.ts +1 -0
- package/_internal/components/list/List.d.ts +27 -0
- package/_internal/components/list/List.js +28 -0
- package/_internal/components/list/ListDivider.d.ts +21 -0
- package/_internal/components/list/ListDivider.js +22 -0
- package/_internal/components/list/ListItem.d.ts +47 -0
- package/_internal/components/list/ListItem.js +39 -0
- package/_internal/components/list/ListItemAction.js +30 -0
- package/_internal/components/list/ListSection.d.ts +24 -0
- package/_internal/components/list/ListSection.js +26 -0
- package/_internal/components/list/ListSubheader.d.ts +23 -0
- package/_internal/components/list/ListSubheader.js +33 -0
- package/_internal/components/list/index.d.ts +6 -0
- package/_internal/components/menu-button/MenuButton.d.ts +34 -0
- package/_internal/components/menu-button/MenuButton.js +48 -0
- package/_internal/components/menu-button/MenuItem.d.ts +46 -0
- package/_internal/components/menu-button/MenuItem.js +62 -0
- package/_internal/components/menu-button/MenuList.js +39 -0
- package/_internal/components/menu-button/MenuPopover.d.ts +13 -0
- package/_internal/components/menu-button/MenuPopover.js +31 -0
- package/_internal/components/menu-button/MenuProvider.js +45 -0
- package/_internal/components/menu-button/MenuTrigger.js +40 -0
- package/_internal/components/menu-button/context/MenuContext.js +11 -0
- package/_internal/components/menu-button/context/useMenuEvent.js +21 -0
- package/_internal/components/menu-button/context/useMenuOpen.js +15 -0
- package/_internal/components/menu-button/index.d.ts +3 -0
- package/_internal/components/message/Message.d.ts +17 -0
- package/_internal/components/message/Message.js +20 -0
- package/_internal/components/message/index.d.ts +1 -0
- package/_internal/components/mosaic/Mosaic.d.ts +25 -0
- package/_internal/components/mosaic/Mosaic.js +29 -0
- package/_internal/components/mosaic/index.d.ts +1 -0
- package/_internal/components/navigation/Navigation.d.ts +18 -0
- package/_internal/components/navigation/Navigation.js +51 -0
- package/_internal/components/navigation/NavigationItem.d.ts +23 -0
- package/_internal/components/navigation/NavigationItem.js +52 -0
- package/_internal/components/navigation/NavigationSection.d.ts +15 -0
- package/_internal/components/navigation/NavigationSection.js +100 -0
- package/_internal/components/navigation/constants.js +11 -0
- package/_internal/components/navigation/context.js +6 -0
- package/_internal/components/navigation/index.d.ts +1 -0
- package/_internal/components/notification/Notification.d.ts +36 -0
- package/_internal/components/notification/Notification.js +97 -0
- package/_internal/components/notification/constants.js +28 -0
- package/_internal/components/notification/index.d.ts +1 -0
- package/_internal/components/popover/Popover.d.ts +43 -0
- package/_internal/components/popover/Popover.js +86 -0
- package/_internal/components/popover/index.d.ts +3 -0
- package/_internal/components/popover/usePopoverStyle.js +82 -0
- package/_internal/components/popover-dialog/PopoverDialog.d.ts +22 -0
- package/_internal/components/popover-dialog/PopoverDialog.js +42 -0
- package/_internal/components/popover-dialog/index.d.ts +1 -0
- package/_internal/components/post-block/PostBlock.d.ts +44 -0
- package/_internal/components/post-block/PostBlock.js +92 -0
- package/_internal/components/post-block/index.d.ts +1 -0
- package/_internal/components/progress/Progress.d.ts +30 -0
- package/_internal/components/progress/Progress.js +54 -0
- package/_internal/components/progress/ProgressCircular.d.ts +20 -0
- package/_internal/components/progress/ProgressCircular.js +31 -0
- package/_internal/components/progress/ProgressLinear.d.ts +20 -0
- package/_internal/components/progress/ProgressLinear.js +26 -0
- package/_internal/components/progress/index.d.ts +4 -0
- package/_internal/components/progress-tracker/ProgressTracker.d.ts +26 -0
- package/_internal/components/progress-tracker/ProgressTracker.js +75 -0
- package/_internal/components/progress-tracker/ProgressTrackerProvider.d.ts +29 -0
- package/_internal/components/progress-tracker/ProgressTrackerProvider.js +45 -0
- package/_internal/components/progress-tracker/ProgressTrackerStep.d.ts +37 -0
- package/_internal/components/progress-tracker/ProgressTrackerStep.js +107 -0
- package/_internal/components/progress-tracker/ProgressTrackerStepPanel.d.ts +27 -0
- package/_internal/components/progress-tracker/ProgressTrackerStepPanel.js +47 -0
- package/_internal/components/progress-tracker/index.d.ts +4 -0
- package/_internal/components/radio-button/RadioButton.d.ts +23 -0
- package/_internal/components/radio-button/RadioButton.js +50 -0
- package/_internal/components/radio-button/RadioGroup.d.ts +20 -0
- package/_internal/components/radio-button/RadioGroup.js +23 -0
- package/_internal/components/radio-button/index.d.ts +2 -0
- package/_internal/components/select/Select.d.ts +20 -0
- package/_internal/components/select/Select.js +130 -0
- package/_internal/components/select/SelectMultiple.d.ts +24 -0
- package/_internal/components/select/SelectMultiple.js +128 -0
- package/_internal/components/select/WithSelectContext.js +96 -0
- package/_internal/components/select/constants.d.ts +59 -0
- package/_internal/components/select/constants.js +10 -0
- package/_internal/components/select/index.d.ts +3 -0
- package/_internal/components/select-button/SelectButton.d.ts +93 -0
- package/_internal/components/select-button/SelectButton.js +73 -0
- package/_internal/components/select-button/index.d.ts +18 -0
- package/_internal/components/select-button/index.js +11 -0
- package/_internal/components/select-text-field/SelectTextField.d.ts +80 -0
- package/_internal/components/select-text-field/SelectTextField.js +167 -0
- package/_internal/components/select-text-field/index.d.ts +33 -0
- package/_internal/components/select-text-field/index.js +24 -0
- package/_internal/components/side-navigation/SideNavigation.d.ts +22 -0
- package/_internal/components/side-navigation/SideNavigation.js +39 -0
- package/_internal/components/side-navigation/SideNavigationItem.d.ts +44 -0
- package/_internal/components/side-navigation/SideNavigationItem.js +111 -0
- package/_internal/components/side-navigation/index.d.ts +2 -0
- package/_internal/components/skeleton/SkeletonCircle.d.ts +19 -0
- package/_internal/components/skeleton/SkeletonCircle.js +30 -0
- package/_internal/components/skeleton/SkeletonRectangle.d.ts +19 -0
- package/_internal/components/skeleton/SkeletonRectangle.js +33 -0
- package/_internal/components/skeleton/SkeletonTypography.d.ts +19 -0
- package/_internal/components/skeleton/SkeletonTypography.js +31 -0
- package/_internal/components/skeleton/index.d.ts +4 -0
- package/_internal/components/slider/Slider.d.ts +44 -0
- package/_internal/components/slider/Slider.js +232 -0
- package/_internal/components/slider/index.d.ts +2 -0
- package/_internal/components/slideshow/Slides.d.ts +49 -0
- package/_internal/components/slideshow/Slides.js +86 -0
- package/_internal/components/slideshow/Slideshow.d.ts +35 -0
- package/_internal/components/slideshow/Slideshow.js +104 -0
- package/_internal/components/slideshow/SlideshowControls.d.ts +65 -0
- package/_internal/components/slideshow/SlideshowControls.js +139 -0
- package/_internal/components/slideshow/SlideshowItem.d.ts +23 -0
- package/_internal/components/slideshow/SlideshowItem.js +32 -0
- package/_internal/components/slideshow/SlideshowItemGroup.js +44 -0
- package/_internal/components/slideshow/constants.d.ts +13 -0
- package/_internal/components/slideshow/constants.js +16 -0
- package/_internal/components/slideshow/index.d.ts +4 -0
- package/_internal/components/slideshow/usePaginationVisibleRange.js +41 -0
- package/_internal/components/slideshow/useSlideFocusManagement.js +64 -0
- package/_internal/components/slideshow/useSlideScroll.js +57 -0
- package/_internal/components/slideshow/useSwipeNavigate.js +21 -0
- package/_internal/components/switch/Switch.d.ts +24 -0
- package/_internal/components/switch/Switch.js +54 -0
- package/_internal/components/switch/index.d.ts +1 -0
- package/_internal/components/table/Table.d.ts +20 -0
- package/_internal/components/table/Table.js +28 -0
- package/_internal/components/table/TableBody.d.ts +20 -0
- package/_internal/components/table/TableBody.js +22 -0
- package/_internal/components/table/TableCell.d.ts +23 -0
- package/_internal/components/table/TableCell.js +23 -0
- package/_internal/components/table/TableHeader.d.ts +20 -0
- package/_internal/components/table/TableHeader.js +23 -0
- package/_internal/components/table/TableRow.d.ts +23 -0
- package/_internal/components/table/TableRow.js +28 -0
- package/_internal/components/table/index.d.ts +6 -0
- package/_internal/components/tabs/Tab.d.ts +39 -0
- package/_internal/components/tabs/Tab.js +39 -0
- package/_internal/components/tabs/TabList.d.ts +22 -0
- package/_internal/components/tabs/TabList.js +37 -0
- package/_internal/components/tabs/TabPanel.d.ts +25 -0
- package/_internal/components/tabs/TabPanel.js +30 -0
- package/_internal/components/tabs/TabProvider.d.ts +27 -0
- package/_internal/components/tabs/TabProvider.js +51 -0
- package/_internal/components/tabs/index.d.ts +5 -0
- package/_internal/components/tabs/state.js +55 -0
- package/_internal/components/text/Text.d.ts +17 -0
- package/_internal/components/text/Text.js +33 -0
- package/_internal/components/text/index.d.ts +1 -0
- package/_internal/components/text-field/RawInputText.d.ts +20 -0
- package/_internal/components/text-field/RawInputText.js +23 -0
- package/_internal/components/text-field/RawInputTextarea.d.ts +21 -0
- package/_internal/components/text-field/RawInputTextarea.js +34 -0
- package/_internal/components/text-field/TextField.d.ts +46 -0
- package/_internal/components/text-field/TextField.js +122 -0
- package/_internal/components/text-field/index.d.ts +3 -0
- package/_internal/components/text-field/useFitRowsToContent.js +27 -0
- package/_internal/components/thumbnail/Thumbnail.d.ts +31 -0
- package/_internal/components/thumbnail/Thumbnail.js +45 -0
- package/_internal/components/thumbnail/index.d.ts +3 -0
- package/_internal/components/thumbnail/types.d.ts +49 -0
- package/_internal/components/thumbnail/types.js +23 -0
- package/_internal/components/thumbnail/useFocusPointStyle.d.ts +15 -0
- package/_internal/components/thumbnail/useFocusPointStyle.js +53 -0
- package/_internal/components/thumbnail/useImageLoad.js +23 -0
- package/_internal/components/time-picker-field/TimePickerField.d.ts +38 -0
- package/_internal/components/time-picker-field/TimePickerField.js +103 -0
- package/_internal/components/time-picker-field/index.d.ts +2 -0
- package/_internal/components/toolbar/Toolbar.d.ts +28 -0
- package/_internal/components/toolbar/Toolbar.js +21 -0
- package/_internal/components/toolbar/index.d.ts +1 -0
- package/_internal/components/tooltip/Tooltip.d.ts +23 -0
- package/_internal/components/tooltip/Tooltip.js +69 -0
- package/_internal/components/tooltip/context.js +15 -0
- package/_internal/components/tooltip/index.d.ts +2 -0
- package/_internal/components/tooltip/useInjectTooltipRef.js +43 -0
- package/_internal/components/tooltip/useTooltipOpen.js +36 -0
- package/_internal/components/uploader/Uploader.d.ts +29 -0
- package/_internal/components/uploader/Uploader.js +71 -0
- package/_internal/components/uploader/index.d.ts +2 -0
- package/_internal/components/user-block/UserBlock.d.ts +33 -0
- package/_internal/components/user-block/UserBlock.js +88 -0
- package/_internal/components/user-block/index.d.ts +2 -0
- package/_internal/constants.js +2 -0
- package/_internal/hooks/useBooleanState.js +13 -0
- package/_internal/hooks/useCallbackOnEscape.js +30 -0
- package/_internal/hooks/useChipGroupNavigation.d.ts +12 -0
- package/_internal/hooks/useChipGroupNavigation.js +49 -0
- package/_internal/hooks/useClickAway.d.ts +16 -0
- package/_internal/hooks/useClickAway.js +20 -0
- package/_internal/hooks/useDisableBodyScroll.js +25 -0
- package/_internal/hooks/useEventCallback.js +21 -0
- package/_internal/hooks/useFocus.js +19 -0
- package/_internal/hooks/useFocusTrap.js +28 -0
- package/_internal/hooks/useFocusWithin.js +27 -0
- package/_internal/hooks/useId.js +16 -0
- package/_internal/hooks/useImageSize.js +19 -0
- package/_internal/hooks/useInfiniteScroll.js +36 -0
- package/_internal/hooks/useIntersectionObserver.js +24 -0
- package/_internal/hooks/useInterval.js +26 -0
- package/_internal/hooks/useIsomorphicLayoutEffect.js +9 -0
- package/_internal/hooks/useKeyboardListNavigation.d.ts +17 -0
- package/_internal/hooks/useKeyboardListNavigation.js +136 -0
- package/_internal/hooks/useListenFocus.js +23 -0
- package/_internal/hooks/useOverflowTooltipLabel.js +27 -0
- package/_internal/hooks/usePreviousValue.js +15 -0
- package/_internal/hooks/useRestoreFocusOnClose.js +47 -0
- package/_internal/hooks/useRovingTabIndexContainer.js +31 -0
- package/_internal/hooks/useSizeOnWindowResize.js +26 -0
- package/_internal/hooks/useSlideshowControls.d.ts +63 -0
- package/_internal/hooks/useSlideshowControls.js +105 -0
- package/_internal/hooks/useStopPropagation.js +18 -0
- package/_internal/hooks/useTransitionVisibility.js +41 -0
- package/_internal/node_modules/@floating-ui/core/dist/floating-ui.core.js +536 -0
- package/_internal/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +528 -0
- package/_internal/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +209 -0
- package/_internal/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -0
- package/_internal/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +135 -0
- package/_internal/node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js +114 -0
- package/_internal/node_modules/classnames/index.js +45 -0
- package/_internal/packages/lumx-core/src/js/components/AlertDialog/index.d.ts +15 -0
- package/_internal/packages/lumx-core/src/js/components/AlertDialog/index.js +116 -0
- package/_internal/packages/lumx-core/src/js/components/Avatar/index.d.ts +27 -0
- package/_internal/packages/lumx-core/src/js/components/Avatar/index.js +49 -0
- package/_internal/packages/lumx-core/src/js/components/Badge/BadgeWrapper.d.ts +14 -0
- package/_internal/packages/lumx-core/src/js/components/Badge/BadgeWrapper.js +21 -0
- package/_internal/packages/lumx-core/src/js/components/Badge/index.d.ts +18 -0
- package/_internal/packages/lumx-core/src/js/components/Badge/index.js +38 -0
- package/_internal/packages/lumx-core/src/js/components/Button/Button.d.ts +41 -0
- package/_internal/packages/lumx-core/src/js/components/Button/Button.js +46 -0
- package/_internal/packages/lumx-core/src/js/components/Button/ButtonGroup.d.ts +17 -0
- package/_internal/packages/lumx-core/src/js/components/Button/ButtonGroup.js +34 -0
- package/_internal/packages/lumx-core/src/js/components/Button/ButtonRoot.d.ts +46 -0
- package/_internal/packages/lumx-core/src/js/components/Button/ButtonRoot.js +75 -0
- package/_internal/packages/lumx-core/src/js/components/Button/IconButton.d.ts +24 -0
- package/_internal/packages/lumx-core/src/js/components/Button/IconButton.js +46 -0
- package/_internal/packages/lumx-core/src/js/components/Checkbox/index.d.ts +35 -0
- package/_internal/packages/lumx-core/src/js/components/Checkbox/index.js +83 -0
- package/_internal/packages/lumx-core/src/js/components/Chip/ChipGroup.d.ts +21 -0
- package/_internal/packages/lumx-core/src/js/components/Chip/ChipGroup.js +32 -0
- package/_internal/packages/lumx-core/src/js/components/Chip/SelectionChipGroup.d.ts +29 -0
- package/_internal/packages/lumx-core/src/js/components/Chip/SelectionChipGroup.js +66 -0
- package/_internal/packages/lumx-core/src/js/components/Chip/index.d.ts +63 -0
- package/_internal/packages/lumx-core/src/js/components/Chip/index.js +78 -0
- package/_internal/packages/lumx-core/src/js/components/Chip/setupSelectionChipGroupEvents.js +97 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxButton.d.ts +34 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxButton.js +51 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxInput.d.ts +34 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxInput.js +56 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxList.d.ts +36 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxList.js +34 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOption.d.ts +53 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOption.js +73 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionAction.js +33 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.d.ts +29 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.js +53 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.d.ts +32 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.js +44 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxPopover.js +47 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxSection.d.ts +36 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxSection.js +36 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxState.d.ts +64 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxState.js +86 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/constants.js +4 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/setupCombobox.js +350 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/setupComboboxButton.js +84 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/setupComboboxInput.js +95 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/setupListbox.js +84 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/subscribeComboboxState.js +43 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/types.d.ts +59 -0
- package/_internal/packages/lumx-core/src/js/components/Combobox/utils.js +63 -0
- package/_internal/packages/lumx-core/src/js/components/Dialog/index.d.ts +20 -0
- package/_internal/packages/lumx-core/src/js/components/Dialog/index.js +93 -0
- package/_internal/packages/lumx-core/src/js/components/Divider/index.d.ts +13 -0
- package/_internal/packages/lumx-core/src/js/components/Divider/index.js +29 -0
- package/_internal/packages/lumx-core/src/js/components/DragHandle/index.d.ts +13 -0
- package/_internal/packages/lumx-core/src/js/components/DragHandle/index.js +37 -0
- package/_internal/packages/lumx-core/src/js/components/ExpansionPanel/index.d.ts +51 -0
- package/_internal/packages/lumx-core/src/js/components/ExpansionPanel/index.js +92 -0
- package/_internal/packages/lumx-core/src/js/components/Flag/index.d.ts +24 -0
- package/_internal/packages/lumx-core/src/js/components/Flag/index.js +41 -0
- package/_internal/packages/lumx-core/src/js/components/FlexBox/index.d.ts +34 -0
- package/_internal/packages/lumx-core/src/js/components/FlexBox/index.js +39 -0
- package/_internal/packages/lumx-core/src/js/components/FlexBox/types.d.ts +9 -0
- package/_internal/packages/lumx-core/src/js/components/GenericBlock/constants.d.ts +22 -0
- package/_internal/packages/lumx-core/src/js/components/GenericBlock/constants.js +15 -0
- package/_internal/packages/lumx-core/src/js/components/GenericBlock/index.d.ts +66 -0
- package/_internal/packages/lumx-core/src/js/components/GenericBlock/index.js +63 -0
- package/_internal/packages/lumx-core/src/js/components/GridColumn/GridColumn.d.ts +27 -0
- package/_internal/packages/lumx-core/src/js/components/GridColumn/GridColumn.js +44 -0
- package/_internal/packages/lumx-core/src/js/components/GridColumn/index.d.ts +1 -0
- package/_internal/packages/lumx-core/src/js/components/Heading/constants.js +19 -0
- package/_internal/packages/lumx-core/src/js/components/Heading/index.d.ts +14 -0
- package/_internal/packages/lumx-core/src/js/components/Heading/index.js +34 -0
- package/_internal/packages/lumx-core/src/js/components/Heading/utils.js +14 -0
- package/_internal/packages/lumx-core/src/js/components/Icon/constants.d.ts +4 -0
- package/_internal/packages/lumx-core/src/js/components/Icon/index.d.ts +34 -0
- package/_internal/packages/lumx-core/src/js/components/Icon/index.js +66 -0
- package/_internal/packages/lumx-core/src/js/components/ImageBlock/ImageCaption.d.ts +19 -0
- package/_internal/packages/lumx-core/src/js/components/ImageBlock/ImageCaption.js +61 -0
- package/_internal/packages/lumx-core/src/js/components/ImageBlock/index.d.ts +52 -0
- package/_internal/packages/lumx-core/src/js/components/ImageBlock/index.js +80 -0
- package/_internal/packages/lumx-core/src/js/components/InlineList/index.d.ts +34 -0
- package/_internal/packages/lumx-core/src/js/components/InlineList/index.js +48 -0
- package/_internal/packages/lumx-core/src/js/components/InputHelper/constants.js +9 -0
- package/_internal/packages/lumx-core/src/js/components/InputHelper/index.d.ts +21 -0
- package/_internal/packages/lumx-core/src/js/components/InputHelper/index.js +34 -0
- package/_internal/packages/lumx-core/src/js/components/InputLabel/index.d.ts +24 -0
- package/_internal/packages/lumx-core/src/js/components/InputLabel/index.js +31 -0
- package/_internal/packages/lumx-core/src/js/components/Lightbox/index.d.ts +14 -0
- package/_internal/packages/lumx-core/src/js/components/Lightbox/index.js +70 -0
- package/_internal/packages/lumx-core/src/js/components/Link/index.d.ts +34 -0
- package/_internal/packages/lumx-core/src/js/components/Link/index.js +40 -0
- package/_internal/packages/lumx-core/src/js/components/LinkPreview/index.d.ts +36 -0
- package/_internal/packages/lumx-core/src/js/components/LinkPreview/index.js +94 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListDivider.d.ts +12 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListDivider.js +36 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListItem.d.ts +41 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListItem.js +66 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListItemAction.d.ts +10 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListItemAction.js +36 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListSection.d.ts +27 -0
- package/_internal/packages/lumx-core/src/js/components/List/ListSection.js +51 -0
- package/_internal/packages/lumx-core/src/js/components/List/index.d.ts +20 -0
- package/_internal/packages/lumx-core/src/js/components/List/index.js +37 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuButton.d.ts +28 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuButton.js +29 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuItem.d.ts +30 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuItem.js +34 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuList.js +20 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuPopover.d.ts +12 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuPopover.js +32 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/MenuTrigger.js +20 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/setupMenu.js +256 -0
- package/_internal/packages/lumx-core/src/js/components/Menu/utils.js +16 -0
- package/_internal/packages/lumx-core/src/js/components/Message/index.d.ts +31 -0
- package/_internal/packages/lumx-core/src/js/components/Message/index.js +85 -0
- package/_internal/packages/lumx-core/src/js/components/Mosaic/index.d.ts +18 -0
- package/_internal/packages/lumx-core/src/js/components/Mosaic/index.js +70 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/constants.d.ts +39 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/constants.js +37 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/index.d.ts +65 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/index.js +74 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/types.d.ts +39 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/utils/buildPopoverMiddleware.js +53 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/utils/computeArrowStyles.js +13 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/utils/getFloatingPlacement.js +10 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/utils/parseAutoPlacement.js +21 -0
- package/_internal/packages/lumx-core/src/js/components/Popover/utils/parseFitWidth.js +12 -0
- package/_internal/packages/lumx-core/src/js/components/PopoverDialog/index.d.ts +13 -0
- package/_internal/packages/lumx-core/src/js/components/PopoverDialog/index.js +15 -0
- package/_internal/packages/lumx-core/src/js/components/ProgressCircular/index.d.ts +32 -0
- package/_internal/packages/lumx-core/src/js/components/ProgressCircular/index.js +57 -0
- package/_internal/packages/lumx-core/src/js/components/ProgressLinear/index.d.ts +13 -0
- package/_internal/packages/lumx-core/src/js/components/ProgressLinear/index.js +34 -0
- package/_internal/packages/lumx-core/src/js/components/RadioButton/index.d.ts +35 -0
- package/_internal/packages/lumx-core/src/js/components/RadioButton/index.js +71 -0
- package/_internal/packages/lumx-core/src/js/components/RadioGroup/index.d.ts +15 -0
- package/_internal/packages/lumx-core/src/js/components/RadioGroup/index.js +35 -0
- package/_internal/packages/lumx-core/src/js/components/RawClickable/index.d.ts +17 -0
- package/_internal/packages/lumx-core/src/js/components/RawClickable/index.js +34 -0
- package/_internal/packages/lumx-core/src/js/components/SelectButton/index.d.ts +58 -0
- package/_internal/packages/lumx-core/src/js/components/SelectButton/index.js +85 -0
- package/_internal/packages/lumx-core/src/js/components/SelectTextField/index.js +78 -0
- package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonCircle.d.ts +18 -0
- package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonCircle.js +33 -0
- package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonRectangle.d.ts +34 -0
- package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonRectangle.js +49 -0
- package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonTypography.d.ts +24 -0
- package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonTypography.js +38 -0
- package/_internal/packages/lumx-core/src/js/components/Skeleton/index.d.ts +3 -0
- package/_internal/packages/lumx-core/src/js/components/Switch/index.d.ts +37 -0
- package/_internal/packages/lumx-core/src/js/components/Switch/index.js +78 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableBody.d.ts +15 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableBody.js +29 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableCell.d.ts +42 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableCell.js +101 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableHeader.d.ts +15 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableHeader.js +33 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableRow.d.ts +22 -0
- package/_internal/packages/lumx-core/src/js/components/Table/TableRow.js +42 -0
- package/_internal/packages/lumx-core/src/js/components/Table/constants.d.ts +1 -0
- package/_internal/packages/lumx-core/src/js/components/Table/constants.js +11 -0
- package/_internal/packages/lumx-core/src/js/components/Table/index.d.ts +20 -0
- package/_internal/packages/lumx-core/src/js/components/Table/index.js +31 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/Tab.d.ts +54 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/Tab.js +69 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/TabList.d.ts +27 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/TabList.js +52 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/TabPanel.d.ts +26 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/TabPanel.js +41 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/constants.js +7 -0
- package/_internal/packages/lumx-core/src/js/components/Tabs/state.js +53 -0
- package/_internal/packages/lumx-core/src/js/components/Text/index.d.ts +55 -0
- package/_internal/packages/lumx-core/src/js/components/Text/index.js +50 -0
- package/_internal/packages/lumx-core/src/js/components/TextField/RawInputText.d.ts +21 -0
- package/_internal/packages/lumx-core/src/js/components/TextField/RawInputText.js +40 -0
- package/_internal/packages/lumx-core/src/js/components/TextField/RawInputTextarea.d.ts +19 -0
- package/_internal/packages/lumx-core/src/js/components/TextField/RawInputTextarea.js +40 -0
- package/_internal/packages/lumx-core/src/js/components/TextField/TextField.d.ts +70 -0
- package/_internal/packages/lumx-core/src/js/components/TextField/TextField.js +143 -0
- package/_internal/packages/lumx-core/src/js/components/TextField/constants.js +15 -0
- package/_internal/packages/lumx-core/src/js/components/Thumbnail/index.d.ts +60 -0
- package/_internal/packages/lumx-core/src/js/components/Thumbnail/index.js +114 -0
- package/_internal/packages/lumx-core/src/js/components/Thumbnail/types.d.ts +39 -0
- package/_internal/packages/lumx-core/src/js/components/Thumbnail/utils.d.ts +1 -0
- package/_internal/packages/lumx-core/src/js/components/Thumbnail/utils.js +76 -0
- package/_internal/packages/lumx-core/src/js/components/TimePickerField/index.d.ts +70 -0
- package/_internal/packages/lumx-core/src/js/components/TimePickerField/index.js +53 -0
- package/_internal/packages/lumx-core/src/js/components/Toolbar/index.d.ts +19 -0
- package/_internal/packages/lumx-core/src/js/components/Toolbar/index.js +51 -0
- package/_internal/packages/lumx-core/src/js/components/Tooltip/constants.d.ts +4 -0
- package/_internal/packages/lumx-core/src/js/components/Tooltip/constants.js +8 -0
- package/_internal/packages/lumx-core/src/js/components/Tooltip/index.d.ts +25 -0
- package/_internal/packages/lumx-core/src/js/components/Tooltip/index.js +55 -0
- package/_internal/packages/lumx-core/src/js/components/Tooltip/tooltipOpenManager.js +93 -0
- package/_internal/packages/lumx-core/src/js/components/Uploader/index.d.ts +59 -0
- package/_internal/packages/lumx-core/src/js/components/Uploader/index.js +79 -0
- package/_internal/packages/lumx-core/src/js/components/UserBlock/index.d.ts +124 -0
- package/_internal/packages/lumx-core/src/js/components/UserBlock/index.js +101 -0
- package/_internal/packages/lumx-core/src/js/constants/browser/index.js +7 -0
- package/_internal/packages/lumx-core/src/js/constants/components/index.js +19 -0
- package/_internal/packages/lumx-core/src/js/constants/enums/index.d.ts +184 -0
- package/_internal/packages/lumx-core/src/js/constants/enums/index.js +140 -0
- package/_internal/packages/lumx-core/src/js/constants/index.d.ts +1 -0
- package/_internal/packages/lumx-core/src/js/types/AriaAttributes.d.ts +32 -0
- package/_internal/packages/lumx-core/src/js/types/Booleanish.d.ts +4 -0
- package/_internal/packages/lumx-core/src/js/types/CommonRef.d.ts +4 -0
- package/_internal/packages/lumx-core/src/js/types/GenericProps.d.ts +14 -0
- package/_internal/packages/lumx-core/src/js/types/HasAriaDisabled.d.ts +9 -0
- package/_internal/packages/lumx-core/src/js/types/HasAriaLabelOrLabelledBy.d.ts +19 -0
- package/_internal/packages/lumx-core/src/js/types/HasChecked.d.ts +9 -0
- package/_internal/packages/lumx-core/src/js/types/HasClassName.d.ts +9 -0
- package/_internal/packages/lumx-core/src/js/types/HasCloseMode.d.ts +10 -0
- package/_internal/packages/lumx-core/src/js/types/HasDisabled.d.ts +9 -0
- package/_internal/packages/lumx-core/src/js/types/HasPolymorphicAs.d.ts +12 -0
- package/_internal/packages/lumx-core/src/js/types/HasRequiredLinkHref.d.ts +6 -0
- package/_internal/packages/lumx-core/src/js/types/HasTheme.d.ts +10 -0
- package/_internal/packages/lumx-core/src/js/types/HeadingElement.d.ts +5 -0
- package/_internal/packages/lumx-core/src/js/types/JSXElement.d.ts +13 -0
- package/_internal/packages/lumx-core/src/js/types/KebabCase.d.ts +5 -0
- package/_internal/packages/lumx-core/src/js/types/LumxClassName.d.ts +7 -0
- package/_internal/packages/lumx-core/src/js/types/Selector.d.ts +11 -0
- package/_internal/packages/lumx-core/src/js/types/TextElement.d.ts +7 -0
- package/_internal/packages/lumx-core/src/js/types/ValueOf.d.ts +5 -0
- package/_internal/packages/lumx-core/src/js/types/index.d.ts +18 -0
- package/_internal/packages/lumx-core/src/js/utils/ClickAway/index.js +37 -0
- package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/index.d.ts +9 -0
- package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/index.js +21 -0
- package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/setupInfiniteScrollObserver.js +18 -0
- package/_internal/packages/lumx-core/src/js/utils/Portal/index.d.ts +28 -0
- package/_internal/packages/lumx-core/src/js/utils/_internal/color/resolveColorWithVariants.js +9 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/createSelectorTreeWalker.js +20 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/css/combineSize.js +14 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/css/resolveCssSize.js +8 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/css/types.d.ts +7 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/isFocusVisible.js +11 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/isHoverNotSupported.js +5 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/isPrintableKey.js +12 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/lastDescendant.js +9 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/querySelectorInclusive.js +18 -0
- package/_internal/packages/lumx-core/src/js/utils/browser/trackContainerFocus.js +28 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/action-area/index.js +22 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/bem/block.js +18 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/bem/element.js +7 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/bem/index.js +22 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/bem/modifier.js +19 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/color/index.js +38 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/index.js +12 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/spacing/index.js +31 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/typography/index.js +10 -0
- package/_internal/packages/lumx-core/src/js/utils/classNames/visually-hidden/index.js +9 -0
- package/_internal/packages/lumx-core/src/js/utils/disabledState/index.js +13 -0
- package/_internal/packages/lumx-core/src/js/utils/events/keyboard.js +15 -0
- package/_internal/packages/lumx-core/src/js/utils/focus/constants.js +13 -0
- package/_internal/packages/lumx-core/src/js/utils/focus/getFirstAndLastFocusable.js +20 -0
- package/_internal/packages/lumx-core/src/js/utils/focus/getFocusableElements.js +8 -0
- package/_internal/packages/lumx-core/src/js/utils/focus/setupFocusTrap.js +83 -0
- package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createActiveItemState.js +38 -0
- package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createGridFocusNavigation.js +182 -0
- package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createListFocusNavigation.js +151 -0
- package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createPendingNavigation.js +23 -0
- package/_internal/packages/lumx-core/src/js/utils/focusNavigation/setupRovingTabIndex.js +167 -0
- package/_internal/packages/lumx-core/src/js/utils/function/listenerTower.js +25 -0
- package/_internal/packages/lumx-core/src/js/utils/iterable/first.js +8 -0
- package/_internal/packages/lumx-core/src/js/utils/locale/getCurrentLocale.js +10 -0
- package/_internal/packages/lumx-core/src/js/utils/select/findOptionById.js +19 -0
- package/_internal/packages/lumx-core/src/js/utils/select/getOptionDisplayName.js +19 -0
- package/_internal/packages/lumx-core/src/js/utils/select/renderSelectOptions.js +51 -0
- package/_internal/packages/lumx-core/src/js/utils/select/toggleSelection.js +39 -0
- package/_internal/packages/lumx-core/src/js/utils/select/types.d.ts +203 -0
- package/_internal/packages/lumx-core/src/js/utils/selectors/getWithSelector.js +9 -0
- package/_internal/packages/lumx-core/src/js/utils/selectors/groupBySelector.js +21 -0
- package/_internal/packages/lumx-core/src/js/utils/time/buildTimeList.d.ts +20 -0
- package/_internal/packages/lumx-core/src/js/utils/time/buildTimeList.js +36 -0
- package/_internal/packages/lumx-core/src/js/utils/time/formatTime.js +14 -0
- package/_internal/packages/lumx-core/src/js/utils/time/getDateAtTime.js +12 -0
- package/_internal/packages/lumx-core/src/js/utils/time/isDateOnTime.js +10 -0
- package/_internal/packages/lumx-core/src/js/utils/time/parseTimeInput.js +46 -0
- package/_internal/packages/lumx-core/src/js/utils/time/snapTimeToBounds.js +21 -0
- package/_internal/packages/lumx-core/src/js/utils/time/timeOfDayMinutes.js +9 -0
- package/_internal/packages/lumx-core/src/js/utils/typeahead/index.js +77 -0
- package/_internal/utils/A11YLiveMessage/index.d.ts +50 -0
- package/_internal/utils/A11YLiveMessage/index.js +28 -0
- package/_internal/utils/ClickAwayProvider/ClickAwayProvider.d.ts +23 -0
- package/_internal/utils/ClickAwayProvider/ClickAwayProvider.js +46 -0
- package/_internal/utils/ClickAwayProvider/index.d.ts +1 -0
- package/_internal/utils/InfiniteScroll/InfiniteScroll.d.ts +10 -0
- package/_internal/utils/InfiniteScroll/InfiniteScroll.js +18 -0
- package/_internal/utils/InfiniteScroll/index.d.ts +2 -0
- package/_internal/utils/Portal/Portal.d.ts +15 -0
- package/_internal/utils/Portal/Portal.js +23 -0
- package/_internal/utils/Portal/PortalProvider.d.ts +14 -0
- package/_internal/utils/Portal/PortalProvider.js +9 -0
- package/_internal/utils/Portal/index.d.ts +3 -0
- package/_internal/utils/browser/DOM/findImage.js +5 -0
- package/_internal/utils/browser/DOM/startViewTransition.js +47 -0
- package/_internal/utils/browser/isReducedMotion.js +8 -0
- package/_internal/utils/browser/isScrollSnapSupported.js +8 -0
- package/_internal/utils/browser/onScrollEnd.js +25 -0
- package/_internal/utils/date/addMonthResetDay.js +12 -0
- package/_internal/utils/date/formatDayNumber.js +8 -0
- package/_internal/utils/date/getFirstDayOfWeek.js +42 -0
- package/_internal/utils/date/getMonthCalendar.js +43 -0
- package/_internal/utils/date/getWeekDays.js +25 -0
- package/_internal/utils/date/getYearDisplayName.js +12 -0
- package/_internal/utils/date/isDateValid.js +7 -0
- package/_internal/utils/date/isSameDay.js +8 -0
- package/_internal/utils/disabled/DisabledStateContext.d.ts +21 -0
- package/_internal/utils/disabled/DisabledStateContext.js +22 -0
- package/_internal/utils/disabled/index.d.ts +1 -0
- package/_internal/utils/disabled/useDisableStateProps.d.ts +1 -0
- package/_internal/utils/disabled/useDisableStateProps.js +29 -0
- package/_internal/utils/locale/parseLocale.js +26 -0
- package/_internal/utils/moving-focus/components/MovingFocusProvider/context.d.ts +14 -0
- package/_internal/utils/moving-focus/components/MovingFocusProvider/context.js +10 -0
- package/_internal/utils/moving-focus/components/MovingFocusProvider/index.d.ts +21 -0
- package/_internal/utils/moving-focus/components/MovingFocusProvider/index.js +58 -0
- package/_internal/utils/moving-focus/constants.d.ts +19 -0
- package/_internal/utils/moving-focus/constants.js +25 -0
- package/_internal/utils/moving-focus/ducks/keyboard-navigation.js +453 -0
- package/_internal/utils/moving-focus/ducks/slice.js +50 -0
- package/_internal/utils/moving-focus/ducks/tab-stop.js +109 -0
- package/_internal/utils/moving-focus/hooks/useRovingTabIndex/index.d.ts +1 -0
- package/_internal/utils/moving-focus/hooks/useRovingTabIndex/useRovingTabIndex.d.ts +19 -0
- package/_internal/utils/moving-focus/hooks/useRovingTabIndex/useRovingTabIndex.js +81 -0
- package/_internal/utils/moving-focus/hooks/useVirtualFocus/index.d.ts +2 -0
- package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocus.d.ts +15 -0
- package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocus.js +83 -0
- package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocusParent.d.ts +10 -0
- package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocusParent.js +47 -0
- package/_internal/utils/moving-focus/index.d.ts +5 -0
- package/_internal/utils/moving-focus/types.d.ts +177 -0
- package/_internal/utils/moving-focus/utils/buildLoopAroundObject.js +22 -0
- package/_internal/utils/moving-focus/utils/createGridMap.js +17 -0
- package/_internal/utils/moving-focus/utils/getCell.js +94 -0
- package/_internal/utils/moving-focus/utils/getCellCoordinates.js +16 -0
- package/_internal/utils/moving-focus/utils/getPointerTypeFromEvent.js +11 -0
- package/_internal/utils/moving-focus/utils/shouldLoopListHorizontally.js +7 -0
- package/_internal/utils/moving-focus/utils/shouldLoopListVertically.js +7 -0
- package/_internal/utils/moving-focus/utils/tabStopIsEnabled.js +5 -0
- package/_internal/utils/number/clamp.d.ts +12 -0
- package/_internal/utils/number/clamp.js +16 -0
- package/_internal/utils/object/isEqual.js +14 -0
- package/_internal/utils/partitionMulti.js +24 -0
- package/_internal/utils/react/OnBeforeUnmount.js +17 -0
- package/_internal/utils/react/forwardRef.js +8 -0
- package/_internal/utils/react/forwardRefPolymorphic.js +6 -0
- package/_internal/utils/react/mergeRefs.js +22 -0
- package/_internal/utils/react/skipRender.js +19 -0
- package/_internal/utils/react/unref.js +8 -0
- package/_internal/utils/react/wrapChildrenIconWithSpaces.js +19 -0
- package/_internal/utils/theme/ThemeContext.d.ts +14 -0
- package/_internal/utils/theme/ThemeContext.js +11 -0
- package/_internal/utils/type/Comp.d.ts +15 -0
- package/_internal/utils/type/ComponentRef.d.ts +15 -0
- package/_internal/utils/type/HasPolymorphicAs.d.ts +9 -0
- package/_internal/utils/type/MaybeElementOrRef.d.ts +9 -0
- package/_internal/utils/type/ReactToJSX.d.ts +13 -0
- package/_internal/utils/type/index.d.ts +15 -0
- package/_internal/utils/type/isComponent.d.ts +13 -0
- package/_internal/utils/type/isComponent.js +27 -0
- package/_internal/utils/type/isComponentType.d.ts +9 -0
- package/_internal/utils/type/isComponentType.js +8 -0
- package/index.d.ts +150 -5788
- package/index.js +247 -22493
- package/package.json +8 -21
- package/utils/index.d.ts +14 -413
- package/utils/index.js +12 -1440
- package/_internal/BvaFEHZn.js +0 -262
- package/_internal/BvaFEHZn.js.map +0 -1
- package/index.js.map +0 -1
- package/utils/index.js.map +0 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { forwardRef } from "../../utils/react/forwardRef.js";
|
|
2
|
+
import { useMergeRefs } from "../../utils/react/mergeRefs.js";
|
|
3
|
+
import { IconButton } from "../button/IconButton.js";
|
|
4
|
+
import { useComboboxContext } from "./context/ComboboxContext.js";
|
|
5
|
+
import { useComboboxOpen } from "./context/useComboboxOpen.js";
|
|
6
|
+
import { setupComboboxInput } from "../../packages/lumx-core/src/js/components/Combobox/setupComboboxInput.js";
|
|
7
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxInput as ComboboxInput$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxInput.js";
|
|
8
|
+
import { TextField } from "../text-field/TextField.js";
|
|
9
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
10
|
+
//#region src/components/combobox/ComboboxInput.tsx
|
|
11
|
+
/**
|
|
12
|
+
* Combobox.Input component - wraps TextField with combobox ARIA attributes
|
|
13
|
+
* and optionally includes a toggle button.
|
|
14
|
+
*
|
|
15
|
+
* @param props Component props.
|
|
16
|
+
* @param ref Component ref (will be forwarded to the anchor ref for popover positioning).
|
|
17
|
+
* @return React element.
|
|
18
|
+
*/
|
|
19
|
+
var ComboboxInput = forwardRef((props, ref) => {
|
|
20
|
+
const { listboxId, anchorRef, setHandle } = useComboboxContext();
|
|
21
|
+
const [isOpen, setIsOpen] = useComboboxOpen();
|
|
22
|
+
const { inputRef: externalInputRef, toggleButtonProps, onSelect, filter, openOnFocus, ...otherProps } = props;
|
|
23
|
+
const internalInputRef = useRef(null);
|
|
24
|
+
const mergedInputRef = useMergeRefs(externalInputRef, internalInputRef);
|
|
25
|
+
const onSelectRef = useRef(onSelect);
|
|
26
|
+
onSelectRef.current = onSelect;
|
|
27
|
+
const onChangeRef = useRef(otherProps.onChange);
|
|
28
|
+
onChangeRef.current = otherProps.onChange;
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
const input = internalInputRef.current;
|
|
31
|
+
if (!input) return void 0;
|
|
32
|
+
const handle = setupComboboxInput(input, {
|
|
33
|
+
onSelect(option) {
|
|
34
|
+
onChangeRef.current?.(option.value);
|
|
35
|
+
onSelectRef.current?.(option);
|
|
36
|
+
},
|
|
37
|
+
onInput(value) {
|
|
38
|
+
onChangeRef.current?.(value);
|
|
39
|
+
},
|
|
40
|
+
filter,
|
|
41
|
+
openOnFocus
|
|
42
|
+
});
|
|
43
|
+
setHandle(handle);
|
|
44
|
+
return () => {
|
|
45
|
+
handle.destroy();
|
|
46
|
+
setHandle(null);
|
|
47
|
+
};
|
|
48
|
+
}, [
|
|
49
|
+
filter,
|
|
50
|
+
openOnFocus,
|
|
51
|
+
setHandle
|
|
52
|
+
]);
|
|
53
|
+
const handleToggle = useCallback(() => {
|
|
54
|
+
setIsOpen(!isOpen);
|
|
55
|
+
internalInputRef.current?.focus();
|
|
56
|
+
}, [
|
|
57
|
+
internalInputRef,
|
|
58
|
+
isOpen,
|
|
59
|
+
setIsOpen
|
|
60
|
+
]);
|
|
61
|
+
return ComboboxInput$1({
|
|
62
|
+
...otherProps,
|
|
63
|
+
ref,
|
|
64
|
+
listboxId,
|
|
65
|
+
isOpen,
|
|
66
|
+
filter,
|
|
67
|
+
inputRef: mergedInputRef,
|
|
68
|
+
textFieldRef: anchorRef,
|
|
69
|
+
toggleButtonProps,
|
|
70
|
+
handleToggle
|
|
71
|
+
}, {
|
|
72
|
+
TextField,
|
|
73
|
+
IconButton
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
ComboboxInput.displayName = COMPONENT_NAME;
|
|
77
|
+
ComboboxInput.className = CLASSNAME;
|
|
78
|
+
//#endregion
|
|
79
|
+
export { ComboboxInput };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactToJSX } from "../../utils/type/ReactToJSX.js";
|
|
2
|
+
import { ComboboxListProps as ComboboxListProps$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxList.js";
|
|
3
|
+
|
|
4
|
+
//#region src/components/combobox/ComboboxList.d.ts
|
|
5
|
+
/** Props for Combobox.List component. */
|
|
6
|
+
interface ComboboxListProps extends ReactToJSX<ComboboxListProps$1, 'aria-busy'> {}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { ComboboxListProps };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { forwardRef } from "../../utils/react/forwardRef.js";
|
|
2
|
+
import { useMergeRefs } from "../../utils/react/mergeRefs.js";
|
|
3
|
+
import { useComboboxContext } from "./context/ComboboxContext.js";
|
|
4
|
+
import { useComboboxEvent } from "./context/useComboboxEvent.js";
|
|
5
|
+
import { useComboboxOpen } from "./context/useComboboxOpen.js";
|
|
6
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxList as ComboboxList$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxList.js";
|
|
7
|
+
import { ComboboxListContext } from "./context/ComboboxListContext.js";
|
|
8
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
//#region src/components/combobox/ComboboxList.tsx
|
|
11
|
+
/**
|
|
12
|
+
* Combobox.List component - wraps List with listbox ARIA attributes.
|
|
13
|
+
* Registers itself as the combobox listbox on mount.
|
|
14
|
+
*
|
|
15
|
+
* To render the list inside a popover, wrap it with Combobox.Popover.
|
|
16
|
+
*
|
|
17
|
+
* @param props Component props.
|
|
18
|
+
* @param ref Component ref.
|
|
19
|
+
* @return React element.
|
|
20
|
+
*/
|
|
21
|
+
var ComboboxList = forwardRef((props, ref) => {
|
|
22
|
+
const { listboxId, handle } = useComboboxContext();
|
|
23
|
+
const { "aria-label": ariaLabel, type = "listbox", className, children, ...forwardedProps } = props;
|
|
24
|
+
const internalRef = useRef(null);
|
|
25
|
+
const mergedRef = useMergeRefs(ref, internalRef);
|
|
26
|
+
const listContextValue = useMemo(() => ({ type }), [type]);
|
|
27
|
+
const [isOpen] = useComboboxOpen();
|
|
28
|
+
const visibleCount = useComboboxEvent("optionsChange", void 0)?.optionsLength ?? 0;
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
const list = internalRef.current;
|
|
31
|
+
if (!list) return void 0;
|
|
32
|
+
return handle?.registerListbox(list);
|
|
33
|
+
}, [handle]);
|
|
34
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (!handle) return void 0;
|
|
37
|
+
setIsLoading(handle.isLoading);
|
|
38
|
+
return handle.subscribe("loadingChange", setIsLoading);
|
|
39
|
+
}, [handle]);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (isOpen) handle?.flushPendingNavigation();
|
|
42
|
+
}, [
|
|
43
|
+
isOpen,
|
|
44
|
+
visibleCount,
|
|
45
|
+
handle
|
|
46
|
+
]);
|
|
47
|
+
return /* @__PURE__ */ jsx(ComboboxListContext.Provider, {
|
|
48
|
+
value: listContextValue,
|
|
49
|
+
children: ComboboxList$1({
|
|
50
|
+
...forwardedProps,
|
|
51
|
+
"aria-label": ariaLabel,
|
|
52
|
+
"aria-busy": isLoading || void 0,
|
|
53
|
+
className,
|
|
54
|
+
ref: mergedRef,
|
|
55
|
+
id: listboxId,
|
|
56
|
+
type,
|
|
57
|
+
children: isOpen ? children : null
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
ComboboxList.displayName = COMPONENT_NAME;
|
|
62
|
+
ComboboxList.className = CLASSNAME;
|
|
63
|
+
//#endregion
|
|
64
|
+
export { ComboboxList };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { HasPolymorphicAs } from "../../utils/type/HasPolymorphicAs.js";
|
|
2
|
+
import { index_d_exports } from "../../utils/type/index.js";
|
|
3
|
+
import { ReactToJSX } from "../../utils/type/ReactToJSX.js";
|
|
4
|
+
import { ComboboxOptionProps as ComboboxOptionProps$1, ComboboxOptionPropsToOverride } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxOption.js";
|
|
5
|
+
import { TooltipProps } from "../tooltip/Tooltip.js";
|
|
6
|
+
import { GenericProps } from "@lumx/core/js/types";
|
|
7
|
+
import { ElementType, ReactNode } from "react";
|
|
8
|
+
|
|
9
|
+
//#region src/components/combobox/ComboboxOption.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* Props forwarded to the inner action element (button or link).
|
|
12
|
+
*/
|
|
13
|
+
type ComboboxOptionActionProps<E extends ElementType = 'button'> = HasPolymorphicAs<E> & index_d_exports.HasRequiredLinkHref<E>;
|
|
14
|
+
/**
|
|
15
|
+
* Props for Combobox.Option component.
|
|
16
|
+
*/
|
|
17
|
+
interface ComboboxOptionProps extends GenericProps, ReactToJSX<ComboboxOptionProps$1, ComboboxOptionPropsToOverride> {
|
|
18
|
+
/** Display label for the option. */
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
/** On option clicked (or activated with keyboard) */
|
|
21
|
+
onClick?(): void;
|
|
22
|
+
/** Content rendered before the option label (e.g. an icon or avatar). */
|
|
23
|
+
before?: ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* Content rendered after the option label.
|
|
26
|
+
* In grid mode (`type="grid"` on the parent Combobox.List), use `Combobox.OptionAction` elements here
|
|
27
|
+
* to add secondary action buttons. Each action becomes an independent `role="gridcell"`.
|
|
28
|
+
*/
|
|
29
|
+
after?: ReactNode;
|
|
30
|
+
/** Props forwarded to a Tooltip wrapping the role="option" / role="gridcell" trigger element. */
|
|
31
|
+
tooltipProps?: Partial<TooltipProps>;
|
|
32
|
+
/** Props forwarded to the inner action element (e.g. `{ as: 'a', href: '/foo' }`). */
|
|
33
|
+
actionProps?: ComboboxOptionActionProps<any>;
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { ComboboxOptionProps };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { useId } from "../../hooks/useId.js";
|
|
2
|
+
import { forwardRef } from "../../utils/react/forwardRef.js";
|
|
3
|
+
import { useMergeRefs } from "../../utils/react/mergeRefs.js";
|
|
4
|
+
import { Tooltip } from "../tooltip/Tooltip.js";
|
|
5
|
+
import { useComboboxContext } from "./context/ComboboxContext.js";
|
|
6
|
+
import { useComboboxListContext } from "./context/ComboboxListContext.js";
|
|
7
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxOption as ComboboxOption$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxOption.js";
|
|
8
|
+
import { ComboboxOptionContext } from "./context/ComboboxOptionContext.js";
|
|
9
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
//#region src/components/combobox/ComboboxOption.tsx
|
|
12
|
+
/**
|
|
13
|
+
* Combobox.Option component - wraps ListItem with option role and data-value.
|
|
14
|
+
*
|
|
15
|
+
* When filter="auto" is enabled on the parent Combobox.Input, each option registers itself
|
|
16
|
+
* with the combobox handle (via an internal ref to its root <li>). When the filter changes,
|
|
17
|
+
* the handle calls back with the new match state. When filtered out, the core template renders
|
|
18
|
+
* a bare `<li hidden>` — no ARIA roles, no CSS classes — keeping the element in the DOM so
|
|
19
|
+
* its textContent remains readable for future filter evaluations.
|
|
20
|
+
*
|
|
21
|
+
* In grid mode (`type="grid"` on the parent Combobox.List), the ListItem renders with `role="row"`
|
|
22
|
+
* and the option content uses `role="gridcell"` instead of `role="option"`.
|
|
23
|
+
* Use `after` to pass `Combobox.OptionAction` elements as secondary action gridcells.
|
|
24
|
+
*
|
|
25
|
+
* @param props Component props.
|
|
26
|
+
* @param ref Component ref.
|
|
27
|
+
* @return React element.
|
|
28
|
+
*/
|
|
29
|
+
var ComboboxOption = forwardRef((props, ref) => {
|
|
30
|
+
const { value, description, children, isSelected, isDisabled, before, after, tooltipProps, actionProps, onClick, ...forwardedProps } = props;
|
|
31
|
+
const { type } = useComboboxListContext();
|
|
32
|
+
const { handle } = useComboboxContext();
|
|
33
|
+
const isGrid = type === "grid";
|
|
34
|
+
const optionId = useId();
|
|
35
|
+
const descriptionId = useId();
|
|
36
|
+
const internalRef = useRef(null);
|
|
37
|
+
const mergedRef = useMergeRefs(ref, internalRef);
|
|
38
|
+
const [isFiltered, setIsFiltered] = useState(false);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
const element = internalRef.current;
|
|
41
|
+
if (!element || !handle) return void 0;
|
|
42
|
+
return handle.registerOption(element, setIsFiltered);
|
|
43
|
+
}, [handle]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
const element = internalRef.current;
|
|
46
|
+
if (!element || !handle) return;
|
|
47
|
+
handle.refilterOption(element);
|
|
48
|
+
}, [handle, value]);
|
|
49
|
+
const optionContextValue = useMemo(() => ({ optionId }), [optionId]);
|
|
50
|
+
const wrappedAfter = after ? /* @__PURE__ */ jsx(ComboboxOptionContext.Provider, {
|
|
51
|
+
value: optionContextValue,
|
|
52
|
+
children: after
|
|
53
|
+
}) : void 0;
|
|
54
|
+
return ComboboxOption$1({
|
|
55
|
+
...forwardedProps,
|
|
56
|
+
ref: mergedRef,
|
|
57
|
+
actionProps,
|
|
58
|
+
hidden: isFiltered,
|
|
59
|
+
value,
|
|
60
|
+
description,
|
|
61
|
+
children,
|
|
62
|
+
isSelected,
|
|
63
|
+
isDisabled,
|
|
64
|
+
isGrid,
|
|
65
|
+
before,
|
|
66
|
+
after: wrappedAfter,
|
|
67
|
+
handleClick: onClick,
|
|
68
|
+
id: optionId,
|
|
69
|
+
descriptionId,
|
|
70
|
+
tooltipProps
|
|
71
|
+
}, { Tooltip });
|
|
72
|
+
});
|
|
73
|
+
ComboboxOption.displayName = COMPONENT_NAME;
|
|
74
|
+
ComboboxOption.className = CLASSNAME;
|
|
75
|
+
//#endregion
|
|
76
|
+
export { ComboboxOption };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HasPolymorphicAs } from "../../utils/type/HasPolymorphicAs.js";
|
|
2
|
+
import { index_d_exports } from "../../utils/type/index.js";
|
|
3
|
+
import { ElementType, ReactNode, SyntheticEvent } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/combobox/ComboboxOptionAction.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Combobox.OptionAction props.
|
|
8
|
+
*
|
|
9
|
+
* Polymorphic component — use `as` to render as a different element or component
|
|
10
|
+
* (e.g., `as={IconButton}`, `as={Button}`). Defaults to `'button'`.
|
|
11
|
+
*/
|
|
12
|
+
type ComboboxOptionActionProps<E extends ElementType = 'button'> = HasPolymorphicAs<E> & index_d_exports.HasClassName & index_d_exports.HasRequiredLinkHref<E> & {
|
|
13
|
+
/** Content of the action (icon, label, etc.). Optional when using a polymorphic `as` that provides its own content (e.g., IconButton). */children?: ReactNode; /** Whether the action is disabled. */
|
|
14
|
+
isDisabled?: boolean; /** On click callback. */
|
|
15
|
+
onClick?(evt: SyntheticEvent): void;
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { ComboboxOptionActionProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useId } from "../../hooks/useId.js";
|
|
2
|
+
import { useDisableStateProps } from "../../utils/disabled/useDisableStateProps.js";
|
|
3
|
+
import { forwardRefPolymorphic } from "../../utils/react/forwardRefPolymorphic.js";
|
|
4
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxOptionAction as ComboboxOptionAction$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxOptionAction.js";
|
|
5
|
+
//#region src/components/combobox/ComboboxOptionAction.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Combobox.OptionAction sub-component.
|
|
8
|
+
*
|
|
9
|
+
* Renders a secondary action button within a combobox option row (grid mode).
|
|
10
|
+
* Each action renders as a `role="gridcell"` element, enabling 2D keyboard
|
|
11
|
+
* navigation (ArrowLeft/Right to move between the option and its actions).
|
|
12
|
+
*
|
|
13
|
+
* Uses the same polymorphic pattern as ListItem.Action (forwardRefPolymorphic + RawClickable).
|
|
14
|
+
*
|
|
15
|
+
* @param props Component props.
|
|
16
|
+
* @param ref Component ref.
|
|
17
|
+
* @return React element.
|
|
18
|
+
*/
|
|
19
|
+
var ComboboxOptionAction = Object.assign(forwardRefPolymorphic((props, ref) => {
|
|
20
|
+
const { disabledStateProps, otherProps } = useDisableStateProps(props);
|
|
21
|
+
const { children, className, as: Element = "button", onClick, ...forwardedProps } = otherProps;
|
|
22
|
+
const actionId = useId();
|
|
23
|
+
return ComboboxOptionAction$1({
|
|
24
|
+
as: Element,
|
|
25
|
+
...forwardedProps,
|
|
26
|
+
...disabledStateProps,
|
|
27
|
+
id: actionId,
|
|
28
|
+
className,
|
|
29
|
+
handleClick: onClick,
|
|
30
|
+
ref,
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
}), {
|
|
34
|
+
displayName: COMPONENT_NAME,
|
|
35
|
+
className: CLASSNAME
|
|
36
|
+
});
|
|
37
|
+
//#endregion
|
|
38
|
+
export { ComboboxOptionAction };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactToJSX } from "../../utils/type/ReactToJSX.js";
|
|
2
|
+
import { IconButtonProps } from "../button/IconButton.js";
|
|
3
|
+
import { ComboboxOptionMoreInfoProps as ComboboxOptionMoreInfoProps$1, ComboboxOptionMoreInfoPropsToOverride } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.js";
|
|
4
|
+
import { ReactNode } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/combobox/ComboboxOptionMoreInfo.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Props for Combobox.OptionMoreInfo component.
|
|
9
|
+
*/
|
|
10
|
+
interface ComboboxOptionMoreInfoProps extends ReactToJSX<ComboboxOptionMoreInfoProps$1, ComboboxOptionMoreInfoPropsToOverride> {
|
|
11
|
+
/** Content of the popover (additional details about the option). */
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
/** Callback when the popover opens or closes. */
|
|
14
|
+
onToggle?(isOpen: boolean): void;
|
|
15
|
+
/** Props forwarded to the IconButton. */
|
|
16
|
+
buttonProps?: Partial<IconButtonProps>;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ComboboxOptionMoreInfoProps };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { IconButton } from "../button/IconButton.js";
|
|
2
|
+
import { useComboboxEvent } from "./context/useComboboxEvent.js";
|
|
3
|
+
import { useComboboxOptionContext } from "./context/ComboboxOptionContext.js";
|
|
4
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxOptionMoreInfo as ComboboxOptionMoreInfo$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.js";
|
|
5
|
+
import { Popover } from "../popover/Popover.js";
|
|
6
|
+
import { useEffect, useRef, useState } from "react";
|
|
7
|
+
//#region src/components/combobox/ComboboxOptionMoreInfo.tsx
|
|
8
|
+
/**
|
|
9
|
+
* Combobox.OptionMoreInfo component.
|
|
10
|
+
*
|
|
11
|
+
* Displays an info icon button on a combobox option that shows a popover with additional details.
|
|
12
|
+
* The popover opens on mouse hover over the icon or when the parent option is keyboard-highlighted.
|
|
13
|
+
*
|
|
14
|
+
* Must be placed in the `after` slot of a `Combobox.Option`.
|
|
15
|
+
*
|
|
16
|
+
* Please consider using a simpler option `description` prop instead for better UX and a11y.
|
|
17
|
+
*
|
|
18
|
+
* @param props Component props.
|
|
19
|
+
* @return React element.
|
|
20
|
+
*/
|
|
21
|
+
var ComboboxOptionMoreInfo = (props) => {
|
|
22
|
+
const { children, onToggle, buttonProps, ...forwardedProps } = props;
|
|
23
|
+
const ref = useRef(null);
|
|
24
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
25
|
+
const { optionId } = useComboboxOptionContext();
|
|
26
|
+
const isKeyboardHighlighted = useComboboxEvent("activeDescendantChange", null) === optionId;
|
|
27
|
+
const isOpen = isHovered || isKeyboardHighlighted;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
onToggle?.(isOpen);
|
|
30
|
+
}, [isOpen, onToggle]);
|
|
31
|
+
const popoverId = `${optionId}-more-info`;
|
|
32
|
+
return ComboboxOptionMoreInfo$1({
|
|
33
|
+
...forwardedProps,
|
|
34
|
+
ref,
|
|
35
|
+
isOpen,
|
|
36
|
+
popoverId,
|
|
37
|
+
children,
|
|
38
|
+
buttonProps,
|
|
39
|
+
onMouseEnter: () => setIsHovered(true),
|
|
40
|
+
onMouseLeave: () => setIsHovered(false)
|
|
41
|
+
}, {
|
|
42
|
+
IconButton,
|
|
43
|
+
Popover
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
ComboboxOptionMoreInfo.displayName = COMPONENT_NAME;
|
|
47
|
+
ComboboxOptionMoreInfo.className = CLASSNAME;
|
|
48
|
+
//#endregion
|
|
49
|
+
export { ComboboxOptionMoreInfo };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactToJSX } from "../../utils/type/ReactToJSX.js";
|
|
2
|
+
import { ComboboxOptionSkeletonProps as ComboboxOptionSkeletonProps$1, ComboboxOptionSkeletonPropsToOverride } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.js";
|
|
3
|
+
import { GenericProps } from "@lumx/core/js/types";
|
|
4
|
+
import { ReactNode } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/combobox/ComboboxOptionSkeleton.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Props for Combobox.OptionSkeleton component.
|
|
9
|
+
*/
|
|
10
|
+
interface ComboboxOptionSkeletonProps extends GenericProps, ReactToJSX<ComboboxOptionSkeletonProps$1, ComboboxOptionSkeletonPropsToOverride> {
|
|
11
|
+
/** Content rendered before the skeleton text (e.g. SkeletonCircle for avatar placeholders). */
|
|
12
|
+
before?: ReactNode;
|
|
13
|
+
/** Content rendered after the skeleton text. */
|
|
14
|
+
after?: ReactNode;
|
|
15
|
+
/** Override the default SkeletonTypography content entirely. */
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ComboboxOptionSkeletonProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useComboboxContext } from "./context/ComboboxContext.js";
|
|
2
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxOptionSkeleton as ComboboxOptionSkeleton$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.js";
|
|
3
|
+
import { useEffect } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/combobox/ComboboxOptionSkeleton.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Combobox.OptionSkeleton component — renders skeleton placeholder(s) inside a combobox list.
|
|
8
|
+
*
|
|
9
|
+
* Registers once with the combobox handle on mount (regardless of `count`). The handle
|
|
10
|
+
* fires `loadingChange` / `loadingAnnouncement` events, so consumers don't need an
|
|
11
|
+
* explicit `isLoading` prop on `Combobox.List`.
|
|
12
|
+
*
|
|
13
|
+
* Width variation across skeletons is handled by SCSS `:nth-child` rules automatically.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* // Basic — 3 plain skeletons
|
|
18
|
+
* <Combobox.List aria-label="Users">
|
|
19
|
+
* {users.map(u => <Combobox.Option key={u.id} value={u.id}>{u.name}</Combobox.Option>)}
|
|
20
|
+
* {isLoading && <Combobox.OptionSkeleton count={3} />}
|
|
21
|
+
* </Combobox.List>
|
|
22
|
+
*
|
|
23
|
+
* // With avatar placeholder
|
|
24
|
+
* {isLoading && <Combobox.OptionSkeleton count={3} before={<SkeletonCircle size="s" />} />}
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @param props Component props.
|
|
28
|
+
* @return React element(s).
|
|
29
|
+
*/
|
|
30
|
+
var ComboboxOptionSkeleton = (props) => {
|
|
31
|
+
const { handle } = useComboboxContext();
|
|
32
|
+
useEffect(() => handle?.registerSkeleton(), [handle]);
|
|
33
|
+
return /* @__PURE__ */ jsx(ComboboxOptionSkeleton$1, { ...props });
|
|
34
|
+
};
|
|
35
|
+
ComboboxOptionSkeleton.displayName = COMPONENT_NAME;
|
|
36
|
+
ComboboxOptionSkeleton.className = CLASSNAME;
|
|
37
|
+
//#endregion
|
|
38
|
+
export { ComboboxOptionSkeleton };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PopoverProps } from "../popover/Popover.js";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/combobox/ComboboxPopover.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Props for Popover that can be passed to Combobox.Popover.
|
|
7
|
+
* Excludes isOpen, anchorRef, children, and onClose which are managed internally.
|
|
8
|
+
*/
|
|
9
|
+
type ComboboxPopoverProps = Partial<Omit<PopoverProps, 'isOpen' | 'anchorRef' | 'children' | 'onClose'>>;
|
|
10
|
+
/**
|
|
11
|
+
* Props for the Combobox.Popover component.
|
|
12
|
+
*/
|
|
13
|
+
interface ComboboxPopoverComponentProps extends ComboboxPopoverProps {
|
|
14
|
+
/** Content (should contain a Combobox.List). */
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { ComboboxPopoverComponentProps, ComboboxPopoverProps };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useComboboxContext } from "./context/ComboboxContext.js";
|
|
2
|
+
import { useComboboxOpen } from "./context/useComboboxOpen.js";
|
|
3
|
+
import { Popover } from "../popover/Popover.js";
|
|
4
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxPopover as ComboboxPopover$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxPopover.js";
|
|
5
|
+
import { FlexBox } from "../flex-box/FlexBox.js";
|
|
6
|
+
//#region src/components/combobox/ComboboxPopover.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Combobox.Popover component - renders a Popover connected to the combobox context.
|
|
9
|
+
* Automatically binds to the combobox anchor element and open/close state.
|
|
10
|
+
*
|
|
11
|
+
* @param props Component props.
|
|
12
|
+
* @return React element.
|
|
13
|
+
*/
|
|
14
|
+
var ComboboxPopover = (props) => {
|
|
15
|
+
const { anchorRef } = useComboboxContext();
|
|
16
|
+
const [isOpen, setIsOpen] = useComboboxOpen();
|
|
17
|
+
const { children, ...popoverProps } = props;
|
|
18
|
+
return ComboboxPopover$1({
|
|
19
|
+
...popoverProps,
|
|
20
|
+
children,
|
|
21
|
+
isOpen,
|
|
22
|
+
anchorRef,
|
|
23
|
+
handleClose: () => setIsOpen(false)
|
|
24
|
+
}, {
|
|
25
|
+
Popover,
|
|
26
|
+
FlexBox
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
ComboboxPopover.displayName = COMPONENT_NAME;
|
|
30
|
+
ComboboxPopover.className = CLASSNAME;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { ComboboxPopover };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/components/combobox/ComboboxProvider.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Defines the props of the component.
|
|
6
|
+
*/
|
|
7
|
+
interface ComboboxProviderProps {
|
|
8
|
+
/** Combobox content. */
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
/** Callback fired when the combobox open state changes. */
|
|
11
|
+
onOpen?: (isOpen: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Combobox.Provider component.
|
|
15
|
+
*
|
|
16
|
+
* Provides shared context to sub-components. The vanilla JS combobox handle is
|
|
17
|
+
* created by the trigger sub-component (Combobox.Input or Combobox.Button) on mount.
|
|
18
|
+
*
|
|
19
|
+
* @param props Component props.
|
|
20
|
+
* @return React element.
|
|
21
|
+
*/
|
|
22
|
+
declare function ComboboxProvider(props: ComboboxProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare namespace ComboboxProvider {
|
|
24
|
+
var displayName: string;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { ComboboxProvider, ComboboxProviderProps };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useId } from "../../hooks/useId.js";
|
|
2
|
+
import { ComboboxContext } from "./context/ComboboxContext.js";
|
|
3
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/combobox/ComboboxProvider.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Combobox.Provider component.
|
|
8
|
+
*
|
|
9
|
+
* Provides shared context to sub-components. The vanilla JS combobox handle is
|
|
10
|
+
* created by the trigger sub-component (Combobox.Input or Combobox.Button) on mount.
|
|
11
|
+
*
|
|
12
|
+
* @param props Component props.
|
|
13
|
+
* @return React element.
|
|
14
|
+
*/
|
|
15
|
+
function ComboboxProvider(props) {
|
|
16
|
+
const { children, onOpen } = props;
|
|
17
|
+
const listboxId = useId();
|
|
18
|
+
const anchorRef = useRef(null);
|
|
19
|
+
const [handle, setHandle] = useState(null);
|
|
20
|
+
const contextValue = useMemo(() => ({
|
|
21
|
+
handle,
|
|
22
|
+
setHandle,
|
|
23
|
+
listboxId,
|
|
24
|
+
anchorRef
|
|
25
|
+
}), [handle, listboxId]);
|
|
26
|
+
const onOpenRef = useRef(onOpen);
|
|
27
|
+
onOpenRef.current = onOpen;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!handle) return void 0;
|
|
30
|
+
return handle.subscribe("open", (isOpen) => {
|
|
31
|
+
onOpenRef.current?.(isOpen);
|
|
32
|
+
});
|
|
33
|
+
}, [handle]);
|
|
34
|
+
return /* @__PURE__ */ jsx(ComboboxContext.Provider, {
|
|
35
|
+
value: contextValue,
|
|
36
|
+
children
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
ComboboxProvider.displayName = "Combobox.Provider";
|
|
40
|
+
//#endregion
|
|
41
|
+
export { ComboboxProvider };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactToJSX } from "../../utils/type/ReactToJSX.js";
|
|
2
|
+
import { ComboboxSectionProps as ComboboxSectionProps$1, ComboboxSectionPropsToOverride } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxSection.js";
|
|
3
|
+
import { GenericProps } from "@lumx/core/js/types";
|
|
4
|
+
import { ReactNode } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/combobox/ComboboxSection.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Props for Combobox.Section component.
|
|
9
|
+
*/
|
|
10
|
+
interface ComboboxSectionProps extends GenericProps, ReactToJSX<ComboboxSectionProps$1, ComboboxSectionPropsToOverride> {
|
|
11
|
+
/** Section content (should be Combobox.Option elements). */
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { ComboboxSectionProps };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { forwardRef } from "../../utils/react/forwardRef.js";
|
|
2
|
+
import { useMergeRefs } from "../../utils/react/mergeRefs.js";
|
|
3
|
+
import { useComboboxContext } from "./context/ComboboxContext.js";
|
|
4
|
+
import { CLASSNAME, COMPONENT_NAME, ComboboxSection as ComboboxSection$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxSection.js";
|
|
5
|
+
import { ListSection } from "../list/ListSection.js";
|
|
6
|
+
import { Children, useEffect, useRef, useState } from "react";
|
|
7
|
+
//#region src/components/combobox/ComboboxSection.tsx
|
|
8
|
+
/**
|
|
9
|
+
* Combobox.Section component - groups Combobox.Option items under a labelled section.
|
|
10
|
+
* Delegates rendering to the core ComboboxSection template, injecting the React ListSection.
|
|
11
|
+
*
|
|
12
|
+
* Returns null when children is empty so the section header is not rendered as an orphan.
|
|
13
|
+
*
|
|
14
|
+
* When filter="auto" is active, the section registers itself with the combobox handle.
|
|
15
|
+
* The handle monitors registered options within this section and notifies when all
|
|
16
|
+
* are filtered out. When hidden, the core template renders a bare `<li hidden>` wrapper
|
|
17
|
+
* so children (options) stay mounted and registered.
|
|
18
|
+
*
|
|
19
|
+
* @param props Component props.
|
|
20
|
+
* @param ref Component ref.
|
|
21
|
+
* @return React element.
|
|
22
|
+
*/
|
|
23
|
+
var ComboboxSection = forwardRef((props, ref) => {
|
|
24
|
+
const { handle } = useComboboxContext();
|
|
25
|
+
const internalRef = useRef(null);
|
|
26
|
+
const mergedRef = useMergeRefs(ref, internalRef);
|
|
27
|
+
const [sectionState, setSectionState] = useState({
|
|
28
|
+
hidden: false,
|
|
29
|
+
"aria-hidden": false
|
|
30
|
+
});
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
const element = internalRef.current;
|
|
33
|
+
if (!element || !handle) return void 0;
|
|
34
|
+
return handle.registerSection(element, setSectionState);
|
|
35
|
+
}, [handle]);
|
|
36
|
+
if (Children.count(props.children) === 0) return null;
|
|
37
|
+
return ComboboxSection$1({
|
|
38
|
+
...props,
|
|
39
|
+
ref: mergedRef,
|
|
40
|
+
hidden: sectionState.hidden,
|
|
41
|
+
"aria-hidden": sectionState["aria-hidden"] || void 0
|
|
42
|
+
}, { ListSection });
|
|
43
|
+
});
|
|
44
|
+
ComboboxSection.displayName = COMPONENT_NAME;
|
|
45
|
+
ComboboxSection.className = CLASSNAME;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { ComboboxSection };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactToJSX } from "../../utils/type/ReactToJSX.js";
|
|
2
|
+
import { ComboboxStateProps as ComboboxStateProps$1 } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxState.js";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/combobox/ComboboxState.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Props for Combobox.State component.
|
|
8
|
+
*/
|
|
9
|
+
interface ComboboxStateProps extends ReactToJSX<ComboboxStateProps$1, 'state'> {
|
|
10
|
+
/** Additional content rendered after the state message. */
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ComboboxStateProps };
|