@lumx/react 3.20.1-alpha.12 → 3.20.1-alpha.14
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/index.js +236 -0
- package/_internal/index.js.map +1 -0
- package/index.d.ts +1 -1
- package/index.js +14440 -65
- package/index.js.map +1 -1
- package/package.json +11 -3
- package/src/components/alert-dialog/AlertDialog.stories.tsx +127 -0
- package/src/components/alert-dialog/AlertDialog.test.tsx +34 -0
- package/src/components/alert-dialog/AlertDialog.tsx +189 -0
- package/src/components/alert-dialog/index.ts +1 -0
- package/src/components/autocomplete/Autocomplete.stories.tsx +75 -0
- package/src/components/autocomplete/Autocomplete.test.tsx +99 -0
- package/src/components/autocomplete/Autocomplete.tsx +294 -0
- package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +167 -0
- package/src/components/autocomplete/AutocompleteMultiple.test.tsx +61 -0
- package/src/components/autocomplete/AutocompleteMultiple.tsx +156 -0
- package/src/components/autocomplete/__mockData__/index.ts +39 -0
- package/src/components/autocomplete/index.ts +2 -0
- package/src/components/avatar/Avatar.stories.tsx +119 -0
- package/src/components/avatar/Avatar.test.tsx +32 -0
- package/src/components/avatar/Avatar.tsx +114 -0
- package/src/components/avatar/index.ts +1 -0
- package/src/components/badge/Badge.stories.tsx +69 -0
- package/src/components/badge/Badge.test.tsx +45 -0
- package/src/components/badge/Badge.tsx +58 -0
- package/src/components/badge/BadgeWrapper.stories.tsx +75 -0
- package/src/components/badge/BadgeWrapper.test.tsx +47 -0
- package/src/components/badge/BadgeWrapper.tsx +37 -0
- package/src/components/badge/index.ts +2 -0
- package/src/components/button/Button.stories.tsx +355 -0
- package/src/components/button/Button.test.tsx +125 -0
- package/src/components/button/Button.tsx +101 -0
- package/src/components/button/ButtonGroup.stories.tsx +52 -0
- package/src/components/button/ButtonGroup.test.tsx +41 -0
- package/src/components/button/ButtonGroup.tsx +50 -0
- package/src/components/button/ButtonRoot.tsx +163 -0
- package/src/components/button/IconButton.stories.tsx +52 -0
- package/src/components/button/IconButton.test.tsx +66 -0
- package/src/components/button/IconButton.tsx +91 -0
- package/src/components/button/index.ts +4 -0
- package/src/components/checkbox/Checkbox.stories.tsx +64 -0
- package/src/components/checkbox/Checkbox.test.tsx +154 -0
- package/src/components/checkbox/Checkbox.tsx +164 -0
- package/src/components/checkbox/index.ts +1 -0
- package/src/components/chip/Chip.stories.tsx +164 -0
- package/src/components/chip/Chip.test.tsx +243 -0
- package/src/components/chip/Chip.tsx +168 -0
- package/src/components/chip/ChipGroup.stories.tsx +47 -0
- package/src/components/chip/ChipGroup.test.tsx +37 -0
- package/src/components/chip/ChipGroup.tsx +60 -0
- package/src/components/chip/index.ts +2 -0
- package/src/components/comment-block/CommentBlock.stories.tsx +91 -0
- package/src/components/comment-block/CommentBlock.test.tsx +28 -0
- package/src/components/comment-block/CommentBlock.tsx +172 -0
- package/src/components/comment-block/index.ts +1 -0
- package/src/components/date-picker/DatePicker.stories.tsx +118 -0
- package/src/components/date-picker/DatePicker.test.tsx +34 -0
- package/src/components/date-picker/DatePicker.tsx +52 -0
- package/src/components/date-picker/DatePickerControlled.test.tsx +91 -0
- package/src/components/date-picker/DatePickerControlled.tsx +259 -0
- package/src/components/date-picker/DatePickerField.stories.tsx +100 -0
- package/src/components/date-picker/DatePickerField.test.tsx +70 -0
- package/src/components/date-picker/DatePickerField.tsx +135 -0
- package/src/components/date-picker/constants.ts +11 -0
- package/src/components/date-picker/index.ts +4 -0
- package/src/components/date-picker/types.ts +28 -0
- package/src/components/dialog/Dialog.stories.tsx +318 -0
- package/src/components/dialog/Dialog.test.tsx +97 -0
- package/src/components/dialog/Dialog.tsx +288 -0
- package/src/components/dialog/index.ts +1 -0
- package/src/components/divider/Divider.test.tsx +51 -0
- package/src/components/divider/Divider.tsx +50 -0
- package/src/components/divider/index.ts +1 -0
- package/src/components/drag-handle/DragHandle.test.tsx +36 -0
- package/src/components/drag-handle/DragHandle.tsx +51 -0
- package/src/components/drag-handle/index.ts +1 -0
- package/src/components/dropdown/Dropdown.stories.tsx +31 -0
- package/src/components/dropdown/Dropdown.test.tsx +66 -0
- package/src/components/dropdown/Dropdown.tsx +186 -0
- package/src/components/dropdown/index.ts +1 -0
- package/src/components/expansion-panel/ExpansionPanel.stories.tsx +91 -0
- package/src/components/expansion-panel/ExpansionPanel.test.tsx +185 -0
- package/src/components/expansion-panel/ExpansionPanel.tsx +195 -0
- package/src/components/expansion-panel/index.ts +1 -0
- package/src/components/flag/Flag.stories.tsx +48 -0
- package/src/components/flag/Flag.test.tsx +62 -0
- package/src/components/flag/Flag.tsx +52 -0
- package/src/components/flag/index.ts +1 -0
- package/src/components/flex-box/FlexBox.stories.tsx +156 -0
- package/src/components/flex-box/FlexBox.test.tsx +24 -0
- package/src/components/flex-box/FlexBox.tsx +100 -0
- package/src/components/flex-box/index.ts +1 -0
- package/src/components/generic-block/GenericBlock.stories.jsx +128 -0
- package/src/components/generic-block/GenericBlock.test.tsx +156 -0
- package/src/components/generic-block/GenericBlock.tsx +225 -0
- package/src/components/generic-block/constants.ts +9 -0
- package/src/components/generic-block/index.ts +2 -0
- package/src/components/grid/Grid.tsx +83 -0
- package/src/components/grid/GridItem.tsx +55 -0
- package/src/components/grid/index.ts +2 -0
- package/src/components/grid-column/GridColumn.stories.tsx +45 -0
- package/src/components/grid-column/GridColumn.test.jsx +56 -0
- package/src/components/grid-column/GridColumn.tsx +83 -0
- package/src/components/grid-column/index.ts +1 -0
- package/src/components/heading/Heading.stories.tsx +69 -0
- package/src/components/heading/Heading.test.tsx +82 -0
- package/src/components/heading/Heading.tsx +65 -0
- package/src/components/heading/HeadingLevelProvider.tsx +30 -0
- package/src/components/heading/constants.ts +16 -0
- package/src/components/heading/context.tsx +13 -0
- package/src/components/heading/index.ts +3 -0
- package/src/components/heading/useHeadingLevel.tsx +8 -0
- package/src/components/icon/Icon.stories.tsx +73 -0
- package/src/components/icon/Icon.test.tsx +125 -0
- package/src/components/icon/Icon.tsx +133 -0
- package/src/components/icon/index.ts +1 -0
- package/src/components/image-block/ImageBlock.stories.tsx +117 -0
- package/src/components/image-block/ImageBlock.test.tsx +58 -0
- package/src/components/image-block/ImageBlock.tsx +142 -0
- package/src/components/image-block/ImageCaption.tsx +115 -0
- package/src/components/image-block/index.ts +1 -0
- package/src/components/image-lightbox/ImageLightbox.stories.tsx +160 -0
- package/src/components/image-lightbox/ImageLightbox.test.tsx +254 -0
- package/src/components/image-lightbox/ImageLightbox.tsx +90 -0
- package/src/components/image-lightbox/constants.ts +11 -0
- package/src/components/image-lightbox/index.ts +2 -0
- package/src/components/image-lightbox/internal/ImageSlide.tsx +107 -0
- package/src/components/image-lightbox/internal/ImageSlideshow.tsx +164 -0
- package/src/components/image-lightbox/internal/useAnimateScroll.ts +55 -0
- package/src/components/image-lightbox/internal/usePointerZoom.ts +148 -0
- package/src/components/image-lightbox/types.ts +48 -0
- package/src/components/image-lightbox/useImageLightbox.tsx +141 -0
- package/src/components/inline-list/InlineList.stories.tsx +77 -0
- package/src/components/inline-list/InlineList.test.tsx +52 -0
- package/src/components/inline-list/InlineList.tsx +96 -0
- package/src/components/inline-list/index.ts +1 -0
- package/src/components/input-helper/InputHelper.stories.tsx +35 -0
- package/src/components/input-helper/InputHelper.test.tsx +55 -0
- package/src/components/input-helper/InputHelper.tsx +65 -0
- package/src/components/input-helper/constants.ts +11 -0
- package/src/components/input-helper/index.ts +1 -0
- package/src/components/input-label/InputLabel.stories.tsx +45 -0
- package/src/components/input-label/InputLabel.test.tsx +59 -0
- package/src/components/input-label/InputLabel.tsx +69 -0
- package/src/components/input-label/index.ts +1 -0
- package/src/components/lightbox/Lightbox.stories.tsx +101 -0
- package/src/components/lightbox/Lightbox.test.tsx +53 -0
- package/src/components/lightbox/Lightbox.tsx +180 -0
- package/src/components/lightbox/index.ts +1 -0
- package/src/components/link/Link.stories.tsx +195 -0
- package/src/components/link/Link.test.tsx +127 -0
- package/src/components/link/Link.tsx +106 -0
- package/src/components/link/index.ts +1 -0
- package/src/components/link-preview/LinkPreview.stories.tsx +61 -0
- package/src/components/link-preview/LinkPreview.test.tsx +105 -0
- package/src/components/link-preview/LinkPreview.tsx +158 -0
- package/src/components/link-preview/index.ts +1 -0
- package/src/components/list/List.stories.tsx +116 -0
- package/src/components/list/List.test.tsx +18 -0
- package/src/components/list/List.tsx +104 -0
- package/src/components/list/ListDivider.stories.tsx +12 -0
- package/src/components/list/ListDivider.test.tsx +22 -0
- package/src/components/list/ListDivider.tsx +35 -0
- package/src/components/list/ListItem.stories.tsx +66 -0
- package/src/components/list/ListItem.test.tsx +93 -0
- package/src/components/list/ListItem.tsx +157 -0
- package/src/components/list/ListSubheader.stories.tsx +11 -0
- package/src/components/list/ListSubheader.test.tsx +21 -0
- package/src/components/list/ListSubheader.tsx +44 -0
- package/src/components/list/index.ts +4 -0
- package/src/components/list/useInteractiveList.tsx +202 -0
- package/src/components/message/Message.stories.tsx +72 -0
- package/src/components/message/Message.test.tsx +76 -0
- package/src/components/message/Message.tsx +100 -0
- package/src/components/message/index.ts +1 -0
- package/src/components/mosaic/Mosaic.stories.tsx +89 -0
- package/src/components/mosaic/Mosaic.test.tsx +77 -0
- package/src/components/mosaic/Mosaic.tsx +98 -0
- package/src/components/mosaic/index.ts +1 -0
- package/src/components/navigation/Navigation.stories.tsx +234 -0
- package/src/components/navigation/Navigation.test.tsx +65 -0
- package/src/components/navigation/Navigation.tsx +79 -0
- package/src/components/navigation/NavigationItem.test.tsx +35 -0
- package/src/components/navigation/NavigationItem.tsx +82 -0
- package/src/components/navigation/NavigationSection.test.tsx +137 -0
- package/src/components/navigation/NavigationSection.tsx +108 -0
- package/src/components/navigation/context.tsx +7 -0
- package/src/components/navigation/index.ts +1 -0
- package/src/components/notification/Notification.test.tsx +94 -0
- package/src/components/notification/Notification.tsx +138 -0
- package/src/components/notification/Notifications.stories.tsx +92 -0
- package/src/components/notification/constants.ts +28 -0
- package/src/components/notification/index.ts +1 -0
- package/src/components/popover/Popover.stories.tsx +264 -0
- package/src/components/popover/Popover.test.tsx +62 -0
- package/src/components/popover/Popover.tsx +201 -0
- package/src/components/popover/constants.ts +62 -0
- package/src/components/popover/index.ts +3 -0
- package/src/components/popover/usePopoverStyle.tsx +184 -0
- package/src/components/popover/useRestoreFocusOnClose.tsx +47 -0
- package/src/components/popover-dialog/PopoverDialog.stories.tsx +64 -0
- package/src/components/popover-dialog/PopoverDialog.test.tsx +139 -0
- package/src/components/popover-dialog/PopoverDialog.tsx +74 -0
- package/src/components/popover-dialog/index.tsx +1 -0
- package/src/components/post-block/PostBlock.test.tsx +27 -0
- package/src/components/post-block/PostBlock.tsx +122 -0
- package/src/components/post-block/index.ts +1 -0
- package/src/components/progress/Progress.tsx +68 -0
- package/src/components/progress/ProgressCircular.stories.tsx +43 -0
- package/src/components/progress/ProgressCircular.test.tsx +46 -0
- package/src/components/progress/ProgressCircular.tsx +82 -0
- package/src/components/progress/ProgressLinear.stories.tsx +12 -0
- package/src/components/progress/ProgressLinear.test.tsx +30 -0
- package/src/components/progress/ProgressLinear.tsx +50 -0
- package/src/components/progress/index.ts +3 -0
- package/src/components/progress-tracker/ProgressTracker.stories.tsx +145 -0
- package/src/components/progress-tracker/ProgressTracker.test.tsx +42 -0
- package/src/components/progress-tracker/ProgressTracker.tsx +87 -0
- package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +65 -0
- package/src/components/progress-tracker/ProgressTrackerProvider.tsx +67 -0
- package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +36 -0
- package/src/components/progress-tracker/ProgressTrackerStep.tsx +159 -0
- package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +34 -0
- package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +67 -0
- package/src/components/progress-tracker/index.ts +4 -0
- package/src/components/radio-button/RadioButton.stories.tsx +71 -0
- package/src/components/radio-button/RadioButton.test.tsx +143 -0
- package/src/components/radio-button/RadioButton.tsx +143 -0
- package/src/components/radio-button/RadioGroup.stories.tsx +39 -0
- package/src/components/radio-button/RadioGroup.test.tsx +29 -0
- package/src/components/radio-button/RadioGroup.tsx +44 -0
- package/src/components/radio-button/index.ts +2 -0
- package/src/components/select/Select.stories.tsx +385 -0
- package/src/components/select/Select.test.tsx +199 -0
- package/src/components/select/Select.tsx +199 -0
- package/src/components/select/SelectMultiple.stories.tsx +315 -0
- package/src/components/select/SelectMultiple.test.tsx +213 -0
- package/src/components/select/SelectMultiple.tsx +206 -0
- package/src/components/select/WithSelectContext.tsx +147 -0
- package/src/components/select/constants.ts +55 -0
- package/src/components/select/index.ts +2 -0
- package/src/components/side-navigation/SideNavigation.stories.tsx +191 -0
- package/src/components/side-navigation/SideNavigation.test.tsx +37 -0
- package/src/components/side-navigation/SideNavigation.tsx +52 -0
- package/src/components/side-navigation/SideNavigationItem.stories.tsx +133 -0
- package/src/components/side-navigation/SideNavigationItem.test.tsx +136 -0
- package/src/components/side-navigation/SideNavigationItem.tsx +165 -0
- package/src/components/side-navigation/index.ts +2 -0
- package/src/components/skeleton/SkeletonCircle.stories.tsx +41 -0
- package/src/components/skeleton/SkeletonCircle.test.tsx +27 -0
- package/src/components/skeleton/SkeletonCircle.tsx +52 -0
- package/src/components/skeleton/SkeletonRectangle.stories.tsx +82 -0
- package/src/components/skeleton/SkeletonRectangle.test.tsx +27 -0
- package/src/components/skeleton/SkeletonRectangle.tsx +88 -0
- package/src/components/skeleton/SkeletonTypography.stories.tsx +19 -0
- package/src/components/skeleton/SkeletonTypography.test.tsx +27 -0
- package/src/components/skeleton/SkeletonTypography.tsx +59 -0
- package/src/components/skeleton/index.ts +3 -0
- package/src/components/slider/Slider.stories.tsx +45 -0
- package/src/components/slider/Slider.test.tsx +29 -0
- package/src/components/slider/Slider.tsx +299 -0
- package/src/components/slider/index.ts +2 -0
- package/src/components/slideshow/Slides.tsx +130 -0
- package/src/components/slideshow/Slideshow.stories.tsx +179 -0
- package/src/components/slideshow/Slideshow.test.tsx +35 -0
- package/src/components/slideshow/Slideshow.tsx +173 -0
- package/src/components/slideshow/SlideshowControls.stories.tsx +100 -0
- package/src/components/slideshow/SlideshowControls.tsx +243 -0
- package/src/components/slideshow/SlideshowItem.tsx +44 -0
- package/src/components/slideshow/SlideshowItemGroup.tsx +60 -0
- package/src/components/slideshow/constants.ts +24 -0
- package/src/components/slideshow/index.ts +4 -0
- package/src/components/slideshow/useKeyNavigate.ts +28 -0
- package/src/components/slideshow/usePaginationVisibleRange.ts +37 -0
- package/src/components/slideshow/useSlideFocusManagement.tsx +92 -0
- package/src/components/slideshow/useSwipeNavigate.ts +18 -0
- package/src/components/switch/Switch.stories.tsx +49 -0
- package/src/components/switch/Switch.test.tsx +144 -0
- package/src/components/switch/Switch.tsx +145 -0
- package/src/components/switch/index.ts +1 -0
- package/src/components/table/Table.test.tsx +29 -0
- package/src/components/table/Table.tsx +59 -0
- package/src/components/table/TableBody.test.tsx +30 -0
- package/src/components/table/TableBody.tsx +42 -0
- package/src/components/table/TableCell.test.tsx +72 -0
- package/src/components/table/TableCell.tsx +130 -0
- package/src/components/table/TableHeader.test.tsx +30 -0
- package/src/components/table/TableHeader.tsx +48 -0
- package/src/components/table/TableRow.test.tsx +40 -0
- package/src/components/table/TableRow.tsx +71 -0
- package/src/components/table/index.ts +5 -0
- package/src/components/tabs/Tab.test.tsx +50 -0
- package/src/components/tabs/Tab.tsx +133 -0
- package/src/components/tabs/TabList.test.tsx +49 -0
- package/src/components/tabs/TabList.tsx +94 -0
- package/src/components/tabs/TabPanel.test.tsx +37 -0
- package/src/components/tabs/TabPanel.tsx +67 -0
- package/src/components/tabs/TabProvider.test.tsx +161 -0
- package/src/components/tabs/TabProvider.tsx +67 -0
- package/src/components/tabs/Tabs.stories.tsx +170 -0
- package/src/components/tabs/index.ts +4 -0
- package/src/components/tabs/state.ts +114 -0
- package/src/components/tabs/test-utils.ts +39 -0
- package/src/components/text/Text.stories.tsx +177 -0
- package/src/components/text/Text.test.tsx +92 -0
- package/src/components/text/Text.tsx +139 -0
- package/src/components/text/index.ts +1 -0
- package/src/components/text-field/TextField.stories.tsx +180 -0
- package/src/components/text-field/TextField.test.tsx +298 -0
- package/src/components/text-field/TextField.tsx +493 -0
- package/src/components/text-field/index.ts +1 -0
- package/src/components/thumbnail/Thumbnail.stories.tsx +448 -0
- package/src/components/thumbnail/Thumbnail.test.tsx +88 -0
- package/src/components/thumbnail/Thumbnail.tsx +248 -0
- package/src/components/thumbnail/index.ts +3 -0
- package/src/components/thumbnail/types.ts +48 -0
- package/src/components/thumbnail/useFocusPointStyle.test.ts +92 -0
- package/src/components/thumbnail/useFocusPointStyle.tsx +107 -0
- package/src/components/thumbnail/useImageLoad.ts +40 -0
- package/src/components/toolbar/Toolbar.tsx +68 -0
- package/src/components/toolbar/index.ts +1 -0
- package/src/components/tooltip/Tooltip.stories.tsx +118 -0
- package/src/components/tooltip/Tooltip.test.tsx +417 -0
- package/src/components/tooltip/Tooltip.tsx +165 -0
- package/src/components/tooltip/constants.ts +8 -0
- package/src/components/tooltip/context.tsx +17 -0
- package/src/components/tooltip/index.ts +1 -0
- package/src/components/tooltip/useInjectTooltipRef.tsx +55 -0
- package/src/components/tooltip/useTooltipOpen.tsx +143 -0
- package/src/components/uploader/Uploader.stories.tsx +109 -0
- package/src/components/uploader/Uploader.test.tsx +146 -0
- package/src/components/uploader/Uploader.tsx +177 -0
- package/src/components/uploader/index.ts +1 -0
- package/src/components/user-block/UserBlock.stories.tsx +133 -0
- package/src/components/user-block/UserBlock.test.tsx +106 -0
- package/src/components/user-block/UserBlock.tsx +193 -0
- package/src/components/user-block/index.ts +1 -0
- package/src/constants.ts +27 -0
- package/src/hooks/useBooleanState.tsx +13 -0
- package/src/hooks/useCallbackOnEscape.ts +34 -0
- package/src/hooks/useChipGroupNavigation.tsx +75 -0
- package/src/hooks/useClickAway.tsx +48 -0
- package/src/hooks/useDisableBodyScroll.ts +28 -0
- package/src/hooks/useEventCallback.tsx +17 -0
- package/src/hooks/useFocus.tsx +21 -0
- package/src/hooks/useFocusTrap.ts +93 -0
- package/src/hooks/useFocusWithin.ts +33 -0
- package/src/hooks/useId.test.tsx +22 -0
- package/src/hooks/useId.ts +15 -0
- package/src/hooks/useImageSize.ts +17 -0
- package/src/hooks/useInfiniteScroll.tsx +60 -0
- package/src/hooks/useIntersectionObserver.tsx +43 -0
- package/src/hooks/useInterval.tsx +31 -0
- package/src/hooks/useKeyboardListNavigation.tsx +204 -0
- package/src/hooks/useListenFocus.tsx +26 -0
- package/src/hooks/useOverflowTooltipLabel.tsx +32 -0
- package/src/hooks/usePopper.ts +12 -0
- package/src/hooks/usePreviousValue.ts +12 -0
- package/src/hooks/useRovingTabIndex.tsx +90 -0
- package/src/hooks/useSizeOnWindowResize.ts +30 -0
- package/src/hooks/useSlideshowControls.ts +246 -0
- package/src/hooks/useStopPropagation.ts +21 -0
- package/src/hooks/useTransitionVisibility.ts +48 -0
- package/src/index.ts +63 -0
- package/src/stories/controls/color.ts +7 -0
- package/src/stories/controls/element.ts +6 -0
- package/src/stories/controls/focusPoint.ts +1 -0
- package/src/stories/controls/icons.ts +126 -0
- package/src/stories/controls/image.ts +84 -0
- package/src/stories/controls/selectArgType.ts +8 -0
- package/src/stories/controls/theme.ts +3 -0
- package/src/stories/controls/typography.ts +5 -0
- package/src/stories/controls/withUndefined.ts +1 -0
- package/src/stories/decorators/withChromaticForceScreenSize.tsx +7 -0
- package/src/stories/decorators/withCombinations.tsx +132 -0
- package/src/stories/decorators/withNestedProps.tsx +22 -0
- package/src/stories/decorators/withResizableBox.tsx +21 -0
- package/src/stories/decorators/withThemedBackground.tsx +16 -0
- package/src/stories/decorators/withValueOnChange.tsx +18 -0
- package/src/stories/decorators/withWrapper.tsx +19 -0
- package/src/stories/generated/Autocomplete/Demos.stories.tsx +7 -0
- package/src/stories/generated/Avatar/Demos.stories.tsx +7 -0
- package/src/stories/generated/Badge/Demos.stories.tsx +9 -0
- package/src/stories/generated/Button/Demos.stories.tsx +11 -0
- package/src/stories/generated/Checkbox/Demos.stories.tsx +6 -0
- package/src/stories/generated/Chip/Demos.stories.tsx +11 -0
- package/src/stories/generated/CommentBlock/Demos.stories.tsx +8 -0
- package/src/stories/generated/DatePicker/Demos.stories.tsx +8 -0
- package/src/stories/generated/Dialog/Demos.stories.tsx +10 -0
- package/src/stories/generated/Divider/Demos.stories.tsx +6 -0
- package/src/stories/generated/Dropdown/Demos.stories.tsx +8 -0
- package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +9 -0
- package/src/stories/generated/Flag/Demos.stories.tsx +6 -0
- package/src/stories/generated/GenericBlock/Demos.stories.tsx +8 -0
- package/src/stories/generated/Heading/Demos.stories.tsx +6 -0
- package/src/stories/generated/Icon/Demos.stories.tsx +8 -0
- package/src/stories/generated/ImageBlock/Demos.stories.tsx +9 -0
- package/src/stories/generated/ImageLightbox/Demos.stories.tsx +6 -0
- package/src/stories/generated/Lightbox/Demos.stories.tsx +6 -0
- package/src/stories/generated/LinkPreview/Demos.stories.tsx +7 -0
- package/src/stories/generated/List/Demos.stories.tsx +11 -0
- package/src/stories/generated/Message/Demos.stories.tsx +11 -0
- package/src/stories/generated/Mosaic/Demos.stories.tsx +10 -0
- package/src/stories/generated/Notification/Demos.stories.tsx +6 -0
- package/src/stories/generated/Popover/Demos.stories.tsx +11 -0
- package/src/stories/generated/PopoverDialog/Demos.stories.tsx +6 -0
- package/src/stories/generated/PostBlock/Demos.stories.tsx +6 -0
- package/src/stories/generated/Progress/Demos.stories.tsx +7 -0
- package/src/stories/generated/ProgressTracker/Demos.stories.tsx +9 -0
- package/src/stories/generated/RadioButton/Demos.stories.tsx +6 -0
- package/src/stories/generated/Select/Demos.stories.tsx +14 -0
- package/src/stories/generated/SideNavigation/Demos.stories.tsx +10 -0
- package/src/stories/generated/Skeleton/Demos.stories.tsx +9 -0
- package/src/stories/generated/Slider/Demos.stories.tsx +9 -0
- package/src/stories/generated/Slideshow/Demos.stories.tsx +8 -0
- package/src/stories/generated/Switch/Demos.stories.tsx +6 -0
- package/src/stories/generated/Table/Demos.stories.tsx +7 -0
- package/src/stories/generated/Tabs/Demos.stories.tsx +8 -0
- package/src/stories/generated/TextField/Demos.stories.tsx +20 -0
- package/src/stories/generated/Thumbnail/Demos.stories.tsx +12 -0
- package/src/stories/generated/Toolbar/Demos.stories.tsx +10 -0
- package/src/stories/generated/Tooltip/Demos.stories.tsx +8 -0
- package/src/stories/generated/Uploader/Demos.stories.tsx +8 -0
- package/src/stories/generated/UserBlock/Demos.stories.tsx +11 -0
- package/src/stories/utils/CustomLink.tsx +12 -0
- package/src/stories/utils/concatPath.tsx +17 -0
- package/src/stories/utils/disableArgTypes.ts +3 -0
- package/src/stories/utils/initDemoShadowDOMPortal.ts +10 -0
- package/src/stories/utils/lorem.ts +59 -0
- package/src/stories/utils/theming.tsx +166 -0
- package/src/stories/utils/toFlattenProps.ts +28 -0
- package/src/stories/utils/withCategory.ts +12 -0
- package/src/testing/utils/ThemeSentinel.tsx +10 -0
- package/src/testing/utils/commonTestsSuiteRTL.tsx +193 -0
- package/src/testing/utils/index.ts +1 -0
- package/src/testing/utils/queries.ts +19 -0
- package/src/untypped-modules.d.ts +9 -0
- package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +70 -0
- package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +69 -0
- package/src/utils/ClickAwayProvider/index.ts +1 -0
- package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +54 -0
- package/src/utils/MaterialThemeSwitcher/index.ts +1 -0
- package/src/utils/Portal/Portal.test.tsx +31 -0
- package/src/utils/Portal/Portal.tsx +33 -0
- package/src/utils/Portal/PortalProvider.stories.jsx +22 -0
- package/src/utils/Portal/PortalProvider.test.tsx +72 -0
- package/src/utils/Portal/PortalProvider.tsx +24 -0
- package/src/utils/Portal/index.tsx +2 -0
- package/src/utils/browser/DOM/findImage.tsx +3 -0
- package/src/utils/browser/DOM/startViewTransition.ts +68 -0
- package/src/utils/browser/focus/constants.ts +7 -0
- package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +134 -0
- package/src/utils/browser/focus/getFirstAndLastFocusable.ts +21 -0
- package/src/utils/browser/focus/getFocusableElements.test.ts +151 -0
- package/src/utils/browser/focus/getFocusableElements.ts +7 -0
- package/src/utils/browser/isFocusVisible.ts +9 -0
- package/src/utils/browser/isHoverNotSupported.test.js +24 -0
- package/src/utils/browser/isHoverNotSupported.ts +2 -0
- package/src/utils/browser/isReducedMotion.ts +6 -0
- package/src/utils/date/addMonthResetDay.test.ts +13 -0
- package/src/utils/date/addMonthResetDay.ts +9 -0
- package/src/utils/date/formatDayNumber.test.ts +12 -0
- package/src/utils/date/formatDayNumber.ts +5 -0
- package/src/utils/date/getFirstDayOfWeek.test.ts +20 -0
- package/src/utils/date/getFirstDayOfWeek.ts +59 -0
- package/src/utils/date/getMonthCalendar.test.ts +127 -0
- package/src/utils/date/getMonthCalendar.ts +69 -0
- package/src/utils/date/getWeekDays.test.ts +48 -0
- package/src/utils/date/getWeekDays.ts +34 -0
- package/src/utils/date/getYearDisplayName.test.ts +20 -0
- package/src/utils/date/getYearDisplayName.ts +12 -0
- package/src/utils/date/isDateValid.test.ts +15 -0
- package/src/utils/date/isDateValid.ts +4 -0
- package/src/utils/date/isSameDay.test.ts +37 -0
- package/src/utils/date/isSameDay.ts +11 -0
- package/src/utils/disabled/DisabledStateContext.tsx +29 -0
- package/src/utils/disabled/DisabledStateProvider.stories.tsx +92 -0
- package/src/utils/disabled/index.ts +2 -0
- package/src/utils/disabled/useDisableStateProps.test.tsx +74 -0
- package/src/utils/disabled/useDisableStateProps.tsx +37 -0
- package/src/utils/function/makeListenerTowerContext.ts +32 -0
- package/src/utils/index.ts +7 -0
- package/src/utils/locale/getCurrentLocale.ts +4 -0
- package/src/utils/locale/parseLocale.test.ts +17 -0
- package/src/utils/locale/parseLocale.ts +23 -0
- package/src/utils/locale/types.ts +8 -0
- package/src/utils/number/clamp.ts +17 -0
- package/src/utils/object/isEqual.test.ts +25 -0
- package/src/utils/object/isEqual.ts +11 -0
- package/src/utils/partitionMulti.test.ts +27 -0
- package/{_internal/4daccdd5.js → src/utils/partitionMulti.ts} +9 -5
- package/src/utils/react/OnBeforeUnmount.tsx +20 -0
- package/src/utils/react/RawClickable.test.tsx +153 -0
- package/src/utils/react/RawClickable.tsx +65 -0
- package/src/utils/react/flattenChildren.ts +32 -0
- package/src/utils/react/forwardRef.ts +11 -0
- package/src/utils/react/forwardRefPolymorphic.ts +9 -0
- package/src/utils/react/mergeRefs.ts +33 -0
- package/src/utils/react/renderLink.tsx +17 -0
- package/src/utils/react/skipRender.tsx +18 -0
- package/src/utils/react/unref.ts +7 -0
- package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +37 -0
- package/src/utils/react/wrapChildrenIconWithSpaces.tsx +22 -0
- package/src/utils/theme/ThemeContext.ts +16 -0
- package/src/utils/theme/invertTheme.ts +4 -0
- package/src/utils/type/Comp.ts +14 -0
- package/src/utils/type/ComponentRef.ts +16 -0
- package/src/utils/type/HasAriaDisabled.ts +6 -0
- package/src/utils/type/HasPolymorphicAs.ts +6 -0
- package/src/utils/type/HasRequiredLinkHref.ts +1 -0
- package/src/utils/type/MaybeElementOrRef.ts +6 -0
- package/src/utils/type/index.ts +9 -0
- package/src/utils/type/isComponent.ts +33 -0
- package/src/utils/type/isComponentType.ts +9 -0
- package/utils/index.d.ts +1 -1
- package/utils/index.js +1 -3
- package/utils/index.js.map +1 -1
- package/_internal/0420e67b.js +0 -119
- package/_internal/0420e67b.js.map +0 -1
- package/_internal/0a490b07.js +0 -75
- package/_internal/0a490b07.js.map +0 -1
- package/_internal/0b9c76cb.js +0 -6
- package/_internal/0b9c76cb.js.map +0 -1
- package/_internal/0be1006e.js +0 -97
- package/_internal/0be1006e.js.map +0 -1
- package/_internal/0d1a078c.js +0 -144
- package/_internal/0d1a078c.js.map +0 -1
- package/_internal/15eab19b.js +0 -75
- package/_internal/15eab19b.js.map +0 -1
- package/_internal/179a84d1.js +0 -259
- package/_internal/179a84d1.js.map +0 -1
- package/_internal/193521fa.js +0 -52
- package/_internal/193521fa.js.map +0 -1
- package/_internal/1a90ea3d.js +0 -51
- package/_internal/1a90ea3d.js.map +0 -1
- package/_internal/1deba7d7.js +0 -224
- package/_internal/1deba7d7.js.map +0 -1
- package/_internal/1ea72630.js +0 -146
- package/_internal/1ea72630.js.map +0 -1
- package/_internal/21b83d16.js +0 -137
- package/_internal/21b83d16.js.map +0 -1
- package/_internal/230173a8.js +0 -13
- package/_internal/230173a8.js.map +0 -1
- package/_internal/297bed8f.js +0 -457
- package/_internal/297bed8f.js.map +0 -1
- package/_internal/2a3d237c.js +0 -12
- package/_internal/2a3d237c.js.map +0 -1
- package/_internal/2c2b6a89.js +0 -52
- package/_internal/2c2b6a89.js.map +0 -1
- package/_internal/2f1716fa.js +0 -237
- package/_internal/2f1716fa.js.map +0 -1
- package/_internal/2f6c7f84.js +0 -103
- package/_internal/2f6c7f84.js.map +0 -1
- package/_internal/3181f000.js +0 -14
- package/_internal/3181f000.js.map +0 -1
- package/_internal/329b5f12.js +0 -55
- package/_internal/329b5f12.js.map +0 -1
- package/_internal/332e9844.js +0 -2
- package/_internal/332e9844.js.map +0 -1
- package/_internal/34c59f5b.js +0 -681
- package/_internal/34c59f5b.js.map +0 -1
- package/_internal/36bd7352.js +0 -219
- package/_internal/36bd7352.js.map +0 -1
- package/_internal/370bdaed.js +0 -61
- package/_internal/370bdaed.js.map +0 -1
- package/_internal/37b007a4.js +0 -20
- package/_internal/37b007a4.js.map +0 -1
- package/_internal/3a1facc0.js +0 -18
- package/_internal/3a1facc0.js.map +0 -1
- package/_internal/3a4e4636.js +0 -162
- package/_internal/3a4e4636.js.map +0 -1
- package/_internal/3e653144.js +0 -49
- package/_internal/3e653144.js.map +0 -1
- package/_internal/3f86608e.js +0 -45
- package/_internal/3f86608e.js.map +0 -1
- package/_internal/478b5c92.js +0 -24
- package/_internal/478b5c92.js.map +0 -1
- package/_internal/4962be5b.js +0 -121
- package/_internal/4962be5b.js.map +0 -1
- package/_internal/49bbeed3.js +0 -6
- package/_internal/49bbeed3.js.map +0 -1
- package/_internal/4cd870a5.js +0 -2155
- package/_internal/4cd870a5.js.map +0 -1
- package/_internal/4daccdd5.js.map +0 -1
- package/_internal/501f2f9f.js +0 -58
- package/_internal/501f2f9f.js.map +0 -1
- package/_internal/5e7b90e2.js +0 -2
- package/_internal/5e7b90e2.js.map +0 -1
- package/_internal/5ec059fe.js +0 -145
- package/_internal/5ec059fe.js.map +0 -1
- package/_internal/5f8f9454.js +0 -70
- package/_internal/5f8f9454.js.map +0 -1
- package/_internal/5fe09341.js +0 -112
- package/_internal/5fe09341.js.map +0 -1
- package/_internal/628468c4.js +0 -313
- package/_internal/628468c4.js.map +0 -1
- package/_internal/6589b796.js +0 -280
- package/_internal/6589b796.js.map +0 -1
- package/_internal/65f91970.js +0 -297
- package/_internal/65f91970.js.map +0 -1
- package/_internal/66f691d3.js +0 -74
- package/_internal/66f691d3.js.map +0 -1
- package/_internal/68c10f98.js +0 -166
- package/_internal/68c10f98.js.map +0 -1
- package/_internal/690ca33e.js +0 -109
- package/_internal/690ca33e.js.map +0 -1
- package/_internal/6ca04271.js +0 -108
- package/_internal/6ca04271.js.map +0 -1
- package/_internal/6da19518.js +0 -165
- package/_internal/6da19518.js.map +0 -1
- package/_internal/7093ba23.js +0 -95
- package/_internal/7093ba23.js.map +0 -1
- package/_internal/74a4a214.js +0 -82
- package/_internal/74a4a214.js.map +0 -1
- package/_internal/76be70dd.js +0 -42
- package/_internal/76be70dd.js.map +0 -1
- package/_internal/78df9309.js +0 -20
- package/_internal/78df9309.js.map +0 -1
- package/_internal/7b221b05.js +0 -9
- package/_internal/7b221b05.js.map +0 -1
- package/_internal/7daf0f24.js +0 -77
- package/_internal/7daf0f24.js.map +0 -1
- package/_internal/7f54e947.js +0 -758
- package/_internal/7f54e947.js.map +0 -1
- package/_internal/825ac334.js +0 -130
- package/_internal/825ac334.js.map +0 -1
- package/_internal/827b804a.js +0 -6
- package/_internal/827b804a.js.map +0 -1
- package/_internal/84dfe68f.js +0 -436
- package/_internal/84dfe68f.js.map +0 -1
- package/_internal/85e3a5ca.js +0 -145
- package/_internal/85e3a5ca.js.map +0 -1
- package/_internal/86aa4aa4.js +0 -154
- package/_internal/86aa4aa4.js.map +0 -1
- package/_internal/88ec77c2.js +0 -130
- package/_internal/88ec77c2.js.map +0 -1
- package/_internal/8ab42752.js +0 -103
- package/_internal/8ab42752.js.map +0 -1
- package/_internal/95cfd814.js +0 -70
- package/_internal/95cfd814.js.map +0 -1
- package/_internal/9a4dfad0.js +0 -326
- package/_internal/9a4dfad0.js.map +0 -1
- package/_internal/9c9df5f2.js +0 -80
- package/_internal/9c9df5f2.js.map +0 -1
- package/_internal/9d1336a1.js +0 -19
- package/_internal/9d1336a1.js.map +0 -1
- package/_internal/9fdc715b.js +0 -152
- package/_internal/9fdc715b.js.map +0 -1
- package/_internal/a003602b.js +0 -116
- package/_internal/a003602b.js.map +0 -1
- package/_internal/a34639bd.js +0 -97
- package/_internal/a34639bd.js.map +0 -1
- package/_internal/a84f4981.js +0 -122
- package/_internal/a84f4981.js.map +0 -1
- package/_internal/b0a7a999.js +0 -59
- package/_internal/b0a7a999.js.map +0 -1
- package/_internal/b0b2e33d.js +0 -359
- package/_internal/b0b2e33d.js.map +0 -1
- package/_internal/b1af5979.js +0 -653
- package/_internal/b1af5979.js.map +0 -1
- package/_internal/b477da26.js +0 -164
- package/_internal/b477da26.js.map +0 -1
- package/_internal/b8667090.js +0 -36
- package/_internal/b8667090.js.map +0 -1
- package/_internal/bae266a9.js +0 -61
- package/_internal/bae266a9.js.map +0 -1
- package/_internal/be6da9b0.js +0 -296
- package/_internal/be6da9b0.js.map +0 -1
- package/_internal/c0414b89.js +0 -101
- package/_internal/c0414b89.js.map +0 -1
- package/_internal/c2388b10.js +0 -58
- package/_internal/c2388b10.js.map +0 -1
- package/_internal/c459a04d.js +0 -148
- package/_internal/c459a04d.js.map +0 -1
- package/_internal/c6ca7494.js +0 -2
- package/_internal/c6ca7494.js.map +0 -1
- package/_internal/cdddaed8.js +0 -116
- package/_internal/cdddaed8.js.map +0 -1
- package/_internal/d0dd1815.js +0 -10
- package/_internal/d0dd1815.js.map +0 -1
- package/_internal/d45e3f16.js +0 -15
- package/_internal/d45e3f16.js.map +0 -1
- package/_internal/d5f316cb.js +0 -62
- package/_internal/d5f316cb.js.map +0 -1
- package/_internal/db4fdc7b.js +0 -310
- package/_internal/db4fdc7b.js.map +0 -1
- package/_internal/dbe0cf24.js +0 -75
- package/_internal/dbe0cf24.js.map +0 -1
- package/_internal/de24f857.js +0 -4
- package/_internal/de24f857.js.map +0 -1
- package/_internal/e2afb13f.js +0 -75
- package/_internal/e2afb13f.js.map +0 -1
- package/_internal/e52f0d3f.js +0 -94
- package/_internal/e52f0d3f.js.map +0 -1
- package/_internal/e6dd117e.js +0 -50
- package/_internal/e6dd117e.js.map +0 -1
- package/_internal/e806b848.js +0 -9
- package/_internal/e806b848.js.map +0 -1
- package/_internal/ea04260d.js +0 -29
- package/_internal/ea04260d.js.map +0 -1
- package/_internal/eaa8b1d8.js +0 -150
- package/_internal/eaa8b1d8.js.map +0 -1
- package/_internal/eaf6c45a.js +0 -4
- package/_internal/eaf6c45a.js.map +0 -1
- package/_internal/edab29ce.js +0 -308
- package/_internal/edab29ce.js.map +0 -1
- package/_internal/ef5d1aac.js +0 -4
- package/_internal/ef5d1aac.js.map +0 -1
- package/_internal/f0900583.js +0 -142
- package/_internal/f0900583.js.map +0 -1
- package/_internal/f0d7d6ea.js +0 -30
- package/_internal/f0d7d6ea.js.map +0 -1
- package/_internal/f23cdf84.js +0 -181
- package/_internal/f23cdf84.js.map +0 -1
- package/_internal/f52e979e.js +0 -3
- package/_internal/f52e979e.js.map +0 -1
- package/_internal/f5508d3d.js +0 -792
- package/_internal/f5508d3d.js.map +0 -1
- package/_internal/f93fe83e.js +0 -46
- package/_internal/f93fe83e.js.map +0 -1
- /package/_internal/{d95844c1.d.ts → Falsy.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"6589b796.js","sources":["../../../lumx-core/src/js/constants/index.ts","../../../../node_modules/classnames/index.js","../../../lumx-core/src/js/utils/className/getRootClassName.ts","../../src/utils/react/forwardRef.ts"],"sourcesContent":["import { ValueOf } from '../types/ValueOf';\n/**\n * The prefix to use for the CSS classes.\n */\nexport const CSS_PREFIX = 'lumx';\n\n/**\n * Key codes.\n */\nexport * from './keycodes';\n\n/**\n * Animation duration constants. Take into consideration that if you change one of these variables,\n * you need to update their scss counterpart as well\n */\nexport const DIALOG_TRANSITION_DURATION = 400;\nexport const EXPANSION_PANEL_TRANSITION_DURATION = 400;\nexport const NOTIFICATION_TRANSITION_DURATION = 200;\nexport const SLIDESHOW_TRANSITION_DURATION = 5000;\n\n/**\n * Delay on hover after which we open or close the tooltip.\n * Only applies to devices supporting pointer hover.\n */\nexport const TOOLTIP_HOVER_DELAY = {\n open: 500,\n close: 500,\n};\n\n/**\n * Delay on long press after which we open or close the tooltip.\n * Only applies to devices not supporting pointer hover.\n */\nexport const TOOLTIP_LONG_PRESS_DELAY = {\n open: 250,\n close: 3000,\n};\n\n/**\n * Alignments.\n */\nexport const Alignment = {\n bottom: 'bottom',\n center: 'center',\n end: 'end',\n left: 'left',\n right: 'right',\n spaceAround: 'space-around',\n spaceBetween: 'space-between',\n spaceEvenly: 'space-evenly',\n start: 'start',\n top: 'top',\n} as const;\nexport type Alignment = ValueOf<typeof Alignment>;\nexport type VerticalAlignment = Extract<Alignment, 'top' | 'center' | 'bottom'>;\nexport type HorizontalAlignment = Extract<Alignment, 'right' | 'center' | 'left'>;\n\nexport const Theme = {\n light: 'light',\n dark: 'dark',\n} as const;\nexport type Theme = ValueOf<typeof Theme>;\n\nexport const Size = {\n xxs: 'xxs',\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'l',\n xl: 'xl',\n xxl: 'xxl',\n tiny: 'tiny',\n regular: 'regular',\n medium: 'medium',\n big: 'big',\n huge: 'huge',\n} as const;\nexport type Size = ValueOf<typeof Size>;\nexport type GlobalSize = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;\n\nexport const Orientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\nexport type Orientation = ValueOf<typeof Orientation>;\n\nexport const Emphasis = {\n low: 'low',\n medium: 'medium',\n high: 'high',\n} as const;\nexport type Emphasis = ValueOf<typeof Emphasis>;\n\n/**\n * List of typographies that can't be customized.\n */\nexport const TypographyInterface = {\n overline: 'overline',\n caption: 'caption',\n body1: 'body1',\n body2: 'body2',\n subtitle1: 'subtitle1',\n subtitle2: 'subtitle2',\n title: 'title',\n headline: 'headline',\n display1: 'display1',\n} as const;\nexport type TypographyInterface = ValueOf<typeof TypographyInterface>;\n\n/**\n * List of title typographies that can be customized (via CSS variables).\n */\nexport const TypographyTitleCustom = {\n title1: 'custom-title1',\n title2: 'custom-title2',\n title3: 'custom-title3',\n title4: 'custom-title4',\n title5: 'custom-title5',\n title6: 'custom-title6',\n} as const;\nexport type TypographyTitleCustom = ValueOf<typeof TypographyTitleCustom>;\n\n/**\n * List of typographies that can be customized (via CSS variables).\n */\nexport const TypographyCustom = {\n ...TypographyTitleCustom,\n intro: 'custom-intro',\n 'body-large': 'custom-body-large',\n body: 'custom-body',\n quote: 'custom-quote',\n 'publish-info': 'custom-publish-info',\n button: 'custom-button',\n} as const;\nexport type TypographyCustom = ValueOf<typeof TypographyCustom>;\n\n/**\n * List of all typographies.\n */\nexport const Typography = {\n ...TypographyInterface,\n custom: TypographyCustom,\n} as const;\nexport type Typography = TypographyInterface | TypographyCustom;\n\n/**\n * All available aspect ratios.\n */\nexport const AspectRatio = {\n /** Intrinsic content ratio. */\n original: 'original',\n /** Ratio 3:1 */\n panoramic: 'panoramic',\n /** Ratio 16:9 */\n wide: 'wide',\n /** Ratio 3:2 */\n horizontal: 'horizontal',\n /** Ratio 3:2 */\n vertical: 'vertical',\n /** Ratio 1:1 */\n square: 'square',\n /** Ratio constrained by the parent. */\n free: 'free',\n} as const;\nexport type AspectRatio = ValueOf<typeof AspectRatio>;\n\n/**\n * Semantic info about the purpose of the component\n */\nexport const Kind = {\n info: 'info',\n success: 'success',\n warning: 'warning',\n error: 'error',\n} as const;\nexport type Kind = ValueOf<typeof Kind>;\n\n/**\n * All available white-space values\n * */\nexport const WhiteSpace = {\n normal: 'normal',\n nowrap: 'nowrap',\n pre: 'pre',\n 'pre-wrap': 'pre-wrap',\n 'pre-line': 'pre-line',\n 'break-spaces': 'break-spaces',\n};\nexport type WhiteSpace = ValueOf<typeof WhiteSpace>;\n\n/**\n * See SCSS variable $lumx-color-palette\n */\nexport const ColorPalette = {\n primary: 'primary',\n secondary: 'secondary',\n blue: 'blue',\n dark: 'dark',\n green: 'green',\n yellow: 'yellow',\n red: 'red',\n light: 'light',\n grey: 'grey',\n} as const;\nexport type ColorPalette = ValueOf<typeof ColorPalette>;\nexport type Color = ColorPalette | string;\n\n/**\n * See SCSS variable $lumx-color-variants\n */\nexport const ColorVariant = {\n D1: 'D1',\n D2: 'D2',\n L1: 'L1',\n L2: 'L2',\n L3: 'L3',\n L4: 'L4',\n L5: 'L5',\n L6: 'L6',\n N: 'N',\n} as const;\nexport type ColorVariant = ValueOf<typeof ColorVariant>;\n\n/** ColorPalette with all possible color variant combination */\nexport type ColorWithVariants =\n | ColorPalette\n | Exclude<\n `${ColorPalette}-${ColorVariant}`,\n // No dark variant for light and dark\n `light-D${number}` | `dark-D${number}`\n >;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import kebabCase from 'lodash/kebabCase';\n\nimport { CSS_PREFIX } from '../../constants';\n\n// See https://regex101.com/r/YjS1uI/3\nconst LAST_PART_CLASSNAME = /^(.*)-(.+)$/gi;\n\n/**\n * Get the name of the root CSS class of a component based on its name.\n *\n * @param componentName The name of the component. This name should contains the component prefix and be\n * written in PascalCase.\n * @param subComponent Whether the current component is a sub component, if true, define the class according\n * to BEM standards.\n * @return The name of the root CSS class. This classname include the CSS classname prefix and is written in\n * lower-snake-case.\n */\nexport function getRootClassName(componentName: string, subComponent?: boolean): string {\n const formattedClassName = `${CSS_PREFIX}-${kebabCase(componentName)}`;\n\n if (subComponent) {\n return formattedClassName.replace(LAST_PART_CLASSNAME, '$1__$2');\n }\n return formattedClassName;\n}\n","import React, { type ReactNode, type ForwardedRef } from 'react';\nimport type { Comp } from '../type';\n\ntype ForwardRef = <P, T = HTMLElement, A = unknown>(\n render: (props: P, ref: ForwardedRef<T>) => ReactNode,\n) => Comp<P, T> & A;\n\n/**\n * React.forwardRef but re-typed to attach some custom metadata on our components.\n */\nexport const forwardRef = React.forwardRef as ForwardRef;\n"],"names":["CSS_PREFIX","DIALOG_TRANSITION_DURATION","EXPANSION_PANEL_TRANSITION_DURATION","NOTIFICATION_TRANSITION_DURATION","SLIDESHOW_TRANSITION_DURATION","TOOLTIP_HOVER_DELAY","open","close","TOOLTIP_LONG_PRESS_DELAY","Alignment","bottom","center","end","left","right","spaceAround","spaceBetween","spaceEvenly","start","top","Theme","light","dark","Size","xxs","xs","s","m","l","xl","xxl","tiny","regular","medium","big","huge","Orientation","horizontal","vertical","Emphasis","low","high","TypographyInterface","overline","caption","body1","body2","subtitle1","subtitle2","title","headline","display1","TypographyTitleCustom","title1","title2","title3","title4","title5","title6","TypographyCustom","intro","body","quote","button","Typography","custom","AspectRatio","original","panoramic","wide","square","free","Kind","info","success","warning","error","WhiteSpace","normal","nowrap","pre","ColorPalette","primary","secondary","blue","green","yellow","red","grey","ColorVariant","D1","D2","L1","L2","L3","L4","L5","L6","N","LAST_PART_CLASSNAME","getRootClassName","componentName","subComponent","formattedClassName","kebabCase","replace","forwardRef","React"],"mappings":";;;AACA;AACA;AACA;AACO,MAAMA,UAAU,GAAG,OAAM;;AAOhC;AACA;AACA;AACA;AACO,MAAMC,0BAA0B,GAAG,IAAG;AACtC,MAAMC,mCAAmC,GAAG,IAAG;AAC/C,MAAMC,gCAAgC,GAAG,IAAG;AAC5C,MAAMC,6BAA6B,GAAG,KAAI;;AAEjD;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,KAAK,EAAE,GAAA;AACX,EAAC;;AAED;AACA;AACA;AACA;AACO,MAAMC,wBAAwB,GAAG;AACpCF,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,KAAK,EAAE,IAAA;AACX,EAAC;;AAED;AACA;AACA;AACO,MAAME,SAAS,GAAG;AACrBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,GAAG,EAAE,KAAA;AACT,EAAU;AAKH,MAAMC,KAAK,GAAG;AACjBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,IAAI,EAAE,MAAA;AACV,EAAU;AAGH,MAAMC,IAAI,GAAG;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,CAAC,EAAE,GAAG;AACNC,EAAAA,CAAC,EAAE,GAAG;AACNC,EAAAA,CAAC,EAAE,GAAG;AACNC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,IAAI,EAAE,MAAA;AACV,EAAU;AAIH,MAAMC,WAAW,GAAG;AACvBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,QAAQ,EAAE,UAAA;AACd,EAAU;AAGH,MAAMC,QAAQ,GAAG;AACpBC,EAAAA,GAAG,EAAE,KAAK;AACVP,EAAAA,MAAM,EAAE,QAAQ;AAChBQ,EAAAA,IAAI,EAAE,MAAA;AACV,EAAU;AAGV;AACA;AACA;AACO,MAAMC,mBAAmB,GAAG;AAC/BC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE,UAAA;AACd,EAAU;AAGV;AACA;AACA;AACO,MAAMC,qBAAqB,GAAG;AACjCC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,MAAM,EAAE,eAAe;AACvBC,EAAAA,MAAM,EAAE,eAAA;AACZ,EAAU;AAGV;AACA;AACA;AACO,MAAMC,gBAAgB,GAAG;AAC5B,EAAA,GAAGP,qBAAqB;AACxBQ,EAAAA,KAAK,EAAE,cAAc;AACrB,EAAA,YAAY,EAAE,mBAAmB;AACjCC,EAAAA,IAAI,EAAE,aAAa;AACnBC,EAAAA,KAAK,EAAE,cAAc;AACrB,EAAA,cAAc,EAAE,qBAAqB;AACrCC,EAAAA,MAAM,EAAE,eAAA;AACZ,EAAU;AAGV;AACA;AACA;AACO,MAAMC,UAAU,GAAG;AACtB,EAAA,GAAGtB,mBAAmB;AACtBuB,EAAAA,MAAM,EAAEN,gBAAAA;AACZ,EAAU;AAGV;AACA;AACA;AACO,MAAMO,WAAW,GAAG;AACvB;AACAC,EAAAA,QAAQ,EAAE,UAAU;AACpB;AACAC,EAAAA,SAAS,EAAE,WAAW;AACtB;AACAC,EAAAA,IAAI,EAAE,MAAM;AACZ;AACAhC,EAAAA,UAAU,EAAE,YAAY;AACxB;AACAC,EAAAA,QAAQ,EAAE,UAAU;AACpB;AACAgC,EAAAA,MAAM,EAAE,QAAQ;AAChB;AACAC,EAAAA,IAAI,EAAE,MAAA;AACV,EAAU;AAGV;AACA;AACA;AACO,MAAMC,IAAI,GAAG;AAChBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAA;AACX,EAAU;AAGV;AACA;AACA;AACO,MAAMC,UAAU,GAAG;AACtBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACV,EAAA,UAAU,EAAE,UAAU;AACtB,EAAA,UAAU,EAAE,UAAU;AACtB,EAAA,cAAc,EAAE,cAAA;AACpB,EAAC;AAGD;AACA;AACA;AACO,MAAMC,YAAY,GAAG;AACxBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,IAAI,EAAE,MAAM;AACZ9D,EAAAA,IAAI,EAAE,MAAM;AACZ+D,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVlE,EAAAA,KAAK,EAAE,OAAO;AACdmE,EAAAA,IAAI,EAAE,MAAA;AACV,EAAU;AAIV;AACA;AACA;AACO,MAAMC,YAAY,GAAG;AACxBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,CAAC,EAAE,GAAA;AACP,EAAU;;AAGV;;;;;;;;;;;AC1NA;AACA;AACA,CAAC,YAAY;AAEb;AACA,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC;AAEhC;AACA,CAAC,SAAS,UAAU,GAAG;AACvB,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1B,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS;AACtB;AACA,GAAG,IAAI,OAAO,GAAG,OAAO,GAAG,CAAC;AAC5B;AACA,GAAG,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE;AACrD,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAClC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE;AACpB,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7C,KAAK,IAAI,KAAK,EAAE;AAChB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,MAAM;AACN,KAAK;AACL,IAAI,MAAM,IAAI,OAAO,KAAK,QAAQ,EAAE;AACpC,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAC1G,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClC,KAAK,SAAS;AACd,KAAK;AACL;AACA,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;AACzB,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;AAC5C,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,MAAM;AACN,KAAK;AACL,IAAI;AACJ,GAAG;AACH;AACA,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,EAAE;AACF;AACA,CAAC,IAAqC,MAAM,CAAC,OAAO,EAAE;AACtD,EAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;AAClC,EAAE,MAAA,CAAA,OAAA,GAAiB,UAAU,CAAC;AAC9B,EAAE,MAKM;AACR,EAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AACjC,EAAE;AACF,CAAC,EAAE,EAAA;;;;;ACvDH;AACA,MAAMC,mBAAmB,GAAG,eAAe,CAAA;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,aAAqB,EAAEC,YAAsB,EAAU;EACpF,MAAMC,kBAAkB,GAAG,CAAGvG,EAAAA,UAAU,IAAIwG,SAAS,CAACH,aAAa,CAAC,CAAE,CAAA,CAAA;AAEtE,EAAA,IAAIC,YAAY,EAAE;AACd,IAAA,OAAOC,kBAAkB,CAACE,OAAO,CAACN,mBAAmB,EAAE,QAAQ,CAAC,CAAA;AACpE,GAAA;AACA,EAAA,OAAOI,kBAAkB,CAAA;AAC7B;;ACjBA;AACA;AACA;AACaG,MAAAA,UAAU,GAAGC,cAAK,CAACD;;;;","x_google_ignoreList":[1]}
|
package/_internal/65f91970.js
DELETED
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
import ReactDOM from 'react-dom';
|
|
2
|
-
import React__default, { useReducer, useEffect, useCallback } from 'react';
|
|
3
|
-
import { I as INIT_STATE, r as reducer, T as TabProviderContext, a as useTabProviderContext } from './825ac334.js';
|
|
4
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
-
import { A as Alignment, n as forwardRef, b as Theme, l as classNames, C as CSS_PREFIX, c as Size } from './6589b796.js';
|
|
6
|
-
import './478b5c92.js';
|
|
7
|
-
import { h as handleBasicClasses } from './e2afb13f.js';
|
|
8
|
-
import { m as mergeRefs } from './f0d7d6ea.js';
|
|
9
|
-
import { u as useTheme } from './3181f000.js';
|
|
10
|
-
import { u as useRovingTabIndex } from './7daf0f24.js';
|
|
11
|
-
import { u as useDisableStateProps } from './b8667090.js';
|
|
12
|
-
import { I as Icon } from './8ab42752.js';
|
|
13
|
-
import { T as Text } from './0420e67b.js';
|
|
14
|
-
|
|
15
|
-
const DEFAULT_PROPS$3 = {
|
|
16
|
-
isLazy: INIT_STATE.isLazy,
|
|
17
|
-
shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* This component provides a context in which tabs can be defined and linked to their tab panel.
|
|
22
|
-
*
|
|
23
|
-
* It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel
|
|
24
|
-
* components in the react tree.
|
|
25
|
-
*
|
|
26
|
-
* @param props React component props.
|
|
27
|
-
* @return React element.
|
|
28
|
-
*/
|
|
29
|
-
const TabProvider = props => {
|
|
30
|
-
const {
|
|
31
|
-
children,
|
|
32
|
-
onChange,
|
|
33
|
-
...propState
|
|
34
|
-
} = props;
|
|
35
|
-
const [state, dispatch] = useReducer(reducer, INIT_STATE);
|
|
36
|
-
|
|
37
|
-
// On prop state change => dispatch update.
|
|
38
|
-
useEffect(() => {
|
|
39
|
-
dispatch({
|
|
40
|
-
type: 'update',
|
|
41
|
-
payload: {
|
|
42
|
-
...DEFAULT_PROPS$3,
|
|
43
|
-
...propState
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
},
|
|
47
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48
|
-
[dispatch, ...Object.values(propState)]);
|
|
49
|
-
|
|
50
|
-
// On active tab index state change => send update to the onChange.
|
|
51
|
-
useEffect(() => {
|
|
52
|
-
if (state === INIT_STATE || !onChange || propState.activeTabIndex === state.activeTabIndex) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Escape rendering/useEffect context
|
|
57
|
-
queueMicrotask(() => {
|
|
58
|
-
// Wait for React to commit last state changes (avoid looping state update)
|
|
59
|
-
ReactDOM.flushSync(() => {
|
|
60
|
-
onChange(state.activeTabIndex);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
},
|
|
64
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
-
[onChange, state.activeTabIndex]);
|
|
66
|
-
return /*#__PURE__*/jsx(TabProviderContext.Provider, {
|
|
67
|
-
value: [state, dispatch],
|
|
68
|
-
children: children
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
TabProvider.defaultProps = DEFAULT_PROPS$3;
|
|
72
|
-
|
|
73
|
-
let TabListLayout = /*#__PURE__*/function (TabListLayout) {
|
|
74
|
-
TabListLayout["clustered"] = "clustered";
|
|
75
|
-
TabListLayout["fixed"] = "fixed";
|
|
76
|
-
return TabListLayout;
|
|
77
|
-
}({});
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Defines the props of the component.
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Component display name.
|
|
85
|
-
*/
|
|
86
|
-
const COMPONENT_NAME$2 = 'TabList';
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Component default class name and class prefix.
|
|
90
|
-
*/
|
|
91
|
-
const CLASSNAME$2 = `${CSS_PREFIX}-tabs`;
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Component default props.
|
|
95
|
-
*/
|
|
96
|
-
const DEFAULT_PROPS$2 = {
|
|
97
|
-
layout: TabListLayout.fixed,
|
|
98
|
-
position: Alignment.left
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* TabList component.
|
|
103
|
-
*
|
|
104
|
-
* Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
105
|
-
*
|
|
106
|
-
* @param props Component props.
|
|
107
|
-
* @param ref Component ref.
|
|
108
|
-
* @return React element.
|
|
109
|
-
*/
|
|
110
|
-
const TabList = forwardRef((props, ref) => {
|
|
111
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
112
|
-
const {
|
|
113
|
-
'aria-label': ariaLabel,
|
|
114
|
-
children,
|
|
115
|
-
className,
|
|
116
|
-
layout = DEFAULT_PROPS$2.layout,
|
|
117
|
-
position = DEFAULT_PROPS$2.position,
|
|
118
|
-
theme = defaultTheme,
|
|
119
|
-
...forwardedProps
|
|
120
|
-
} = props;
|
|
121
|
-
const tabListRef = React__default.useRef(null);
|
|
122
|
-
useRovingTabIndex({
|
|
123
|
-
parentRef: tabListRef,
|
|
124
|
-
elementSelector: '[role="tab"]',
|
|
125
|
-
keepTabIndex: false,
|
|
126
|
-
extraDependencies: [children]
|
|
127
|
-
});
|
|
128
|
-
return /*#__PURE__*/jsx("div", {
|
|
129
|
-
ref: mergeRefs(ref, tabListRef),
|
|
130
|
-
...forwardedProps,
|
|
131
|
-
className: classNames(className, handleBasicClasses({
|
|
132
|
-
prefix: CLASSNAME$2,
|
|
133
|
-
layout,
|
|
134
|
-
position,
|
|
135
|
-
theme
|
|
136
|
-
})),
|
|
137
|
-
children: /*#__PURE__*/jsx("div", {
|
|
138
|
-
className: `${CLASSNAME$2}__links`,
|
|
139
|
-
role: "tablist",
|
|
140
|
-
"aria-label": ariaLabel,
|
|
141
|
-
children: children
|
|
142
|
-
})
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
TabList.displayName = COMPONENT_NAME$2;
|
|
146
|
-
TabList.className = CLASSNAME$2;
|
|
147
|
-
TabList.defaultProps = DEFAULT_PROPS$2;
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Component display name.
|
|
151
|
-
*/
|
|
152
|
-
const COMPONENT_NAME$1 = 'Tab';
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Component default class name and class prefix.
|
|
156
|
-
*/
|
|
157
|
-
const CLASSNAME$1 = `${CSS_PREFIX}-tabs__link`;
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Component default props.
|
|
161
|
-
*/
|
|
162
|
-
const DEFAULT_PROPS$1 = {};
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Tab component.
|
|
166
|
-
*
|
|
167
|
-
* Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
168
|
-
*
|
|
169
|
-
* @param props Component props.
|
|
170
|
-
* @param ref Component ref.
|
|
171
|
-
* @return React element.
|
|
172
|
-
*/
|
|
173
|
-
const Tab = forwardRef((props, ref) => {
|
|
174
|
-
const {
|
|
175
|
-
isAnyDisabled,
|
|
176
|
-
otherProps
|
|
177
|
-
} = useDisableStateProps(props);
|
|
178
|
-
const {
|
|
179
|
-
className,
|
|
180
|
-
icon,
|
|
181
|
-
iconProps = {},
|
|
182
|
-
id,
|
|
183
|
-
isActive: propIsActive,
|
|
184
|
-
label,
|
|
185
|
-
onFocus,
|
|
186
|
-
onKeyPress,
|
|
187
|
-
tabIndex = -1,
|
|
188
|
-
...forwardedProps
|
|
189
|
-
} = otherProps;
|
|
190
|
-
const state = useTabProviderContext('tab', id);
|
|
191
|
-
const isActive = propIsActive || state?.isActive;
|
|
192
|
-
const changeToCurrentTab = useCallback(() => {
|
|
193
|
-
if (isAnyDisabled) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
state?.changeToTab();
|
|
197
|
-
}, [isAnyDisabled, state]);
|
|
198
|
-
const handleFocus = useCallback(event => {
|
|
199
|
-
onFocus?.(event);
|
|
200
|
-
if (state?.shouldActivateOnFocus) {
|
|
201
|
-
changeToCurrentTab();
|
|
202
|
-
}
|
|
203
|
-
}, [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus]);
|
|
204
|
-
const handleKeyPress = useCallback(event => {
|
|
205
|
-
onKeyPress?.(event);
|
|
206
|
-
if (event.key !== 'Enter' || isAnyDisabled) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
changeToCurrentTab();
|
|
210
|
-
}, [changeToCurrentTab, isAnyDisabled, onKeyPress]);
|
|
211
|
-
return /*#__PURE__*/jsxs("button", {
|
|
212
|
-
ref: ref,
|
|
213
|
-
...forwardedProps,
|
|
214
|
-
type: "button",
|
|
215
|
-
id: state?.tabId,
|
|
216
|
-
className: classNames(className, handleBasicClasses({
|
|
217
|
-
prefix: CLASSNAME$1,
|
|
218
|
-
isActive,
|
|
219
|
-
isDisabled: isAnyDisabled
|
|
220
|
-
})),
|
|
221
|
-
onClick: changeToCurrentTab,
|
|
222
|
-
onKeyPress: handleKeyPress,
|
|
223
|
-
onFocus: handleFocus,
|
|
224
|
-
role: "tab",
|
|
225
|
-
tabIndex: isActive ? 0 : tabIndex,
|
|
226
|
-
"aria-disabled": isAnyDisabled,
|
|
227
|
-
"aria-selected": isActive,
|
|
228
|
-
"aria-controls": state?.tabPanelId,
|
|
229
|
-
children: [icon && /*#__PURE__*/jsx(Icon, {
|
|
230
|
-
icon: icon,
|
|
231
|
-
size: Size.xs,
|
|
232
|
-
...iconProps
|
|
233
|
-
}), label && /*#__PURE__*/jsx(Text, {
|
|
234
|
-
as: "span",
|
|
235
|
-
truncate: true,
|
|
236
|
-
children: label
|
|
237
|
-
})]
|
|
238
|
-
});
|
|
239
|
-
});
|
|
240
|
-
Tab.displayName = COMPONENT_NAME$1;
|
|
241
|
-
Tab.className = CLASSNAME$1;
|
|
242
|
-
Tab.defaultProps = DEFAULT_PROPS$1;
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Component display name.
|
|
246
|
-
*/
|
|
247
|
-
const COMPONENT_NAME = 'TabPanel';
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Component default class name and class prefix.
|
|
251
|
-
*/
|
|
252
|
-
const CLASSNAME = `${CSS_PREFIX}-tab-panel`;
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Component default props.
|
|
256
|
-
*/
|
|
257
|
-
const DEFAULT_PROPS = {};
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* TabPanel component.
|
|
261
|
-
*
|
|
262
|
-
* Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
263
|
-
*
|
|
264
|
-
* @param props Component props.
|
|
265
|
-
* @param ref Component ref.
|
|
266
|
-
* @return React element.
|
|
267
|
-
*/
|
|
268
|
-
const TabPanel = forwardRef((props, ref) => {
|
|
269
|
-
const {
|
|
270
|
-
children,
|
|
271
|
-
id,
|
|
272
|
-
className,
|
|
273
|
-
isActive: propIsActive,
|
|
274
|
-
...forwardedProps
|
|
275
|
-
} = props;
|
|
276
|
-
const state = useTabProviderContext('tabPanel', id);
|
|
277
|
-
const isActive = propIsActive || state?.isActive;
|
|
278
|
-
return /*#__PURE__*/jsx("div", {
|
|
279
|
-
ref: ref,
|
|
280
|
-
...forwardedProps,
|
|
281
|
-
id: state?.tabPanelId,
|
|
282
|
-
className: classNames(className, handleBasicClasses({
|
|
283
|
-
prefix: CLASSNAME,
|
|
284
|
-
isActive
|
|
285
|
-
})),
|
|
286
|
-
role: "tabpanel",
|
|
287
|
-
tabIndex: isActive ? 0 : -1,
|
|
288
|
-
"aria-labelledby": state?.tabId,
|
|
289
|
-
children: (!state?.isLazy || isActive) && children
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
TabPanel.displayName = COMPONENT_NAME;
|
|
293
|
-
TabPanel.className = CLASSNAME;
|
|
294
|
-
TabPanel.defaultProps = DEFAULT_PROPS;
|
|
295
|
-
|
|
296
|
-
export { Tab, TabList, TabListLayout, TabPanel, TabProvider };
|
|
297
|
-
//# sourceMappingURL=65f91970.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"65f91970.js","sources":["../../src/components/tabs/TabProvider.tsx","../../src/components/tabs/TabList.tsx","../../src/components/tabs/Tab.tsx","../../src/components/tabs/TabPanel.tsx"],"sourcesContent":["import ReactDOM from 'react-dom';\nimport { ReactNode, useEffect, useReducer } from 'react';\nimport { INIT_STATE, TabProviderContext, reducer } from './state';\n\nexport interface TabProviderProps {\n /** Active tab index. */\n activeTabIndex?: number;\n /** Tab provider children. */\n children: ReactNode;\n /** Tab panel children should not render if the tab panel is hidden. */\n isLazy?: boolean;\n /** Activate tabs on focus. */\n shouldActivateOnFocus?: boolean;\n\n /** Tab change callback. */\n onChange?(index: number): void;\n}\n\nconst DEFAULT_PROPS: Partial<TabProviderProps> = {\n isLazy: INIT_STATE.isLazy,\n shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,\n};\n\n/**\n * This component provides a context in which tabs can be defined and linked to their tab panel.\n *\n * It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel\n * components in the react tree.\n *\n * @param props React component props.\n * @return React element.\n */\nexport const TabProvider: React.FC<TabProviderProps> = (props) => {\n const { children, onChange, ...propState } = props;\n const [state, dispatch] = useReducer(reducer, INIT_STATE);\n\n // On prop state change => dispatch update.\n useEffect(\n () => {\n dispatch({ type: 'update', payload: { ...DEFAULT_PROPS, ...propState } });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ...Object.values(propState)],\n );\n\n // On active tab index state change => send update to the onChange.\n useEffect(\n () => {\n if (state === INIT_STATE || !onChange || propState.activeTabIndex === state.activeTabIndex) {\n return;\n }\n\n // Escape rendering/useEffect context\n queueMicrotask(() => {\n // Wait for React to commit last state changes (avoid looping state update)\n ReactDOM.flushSync(() => {\n onChange(state.activeTabIndex);\n });\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, state.activeTabIndex],\n );\n\n return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;\n};\nTabProvider.defaultProps = DEFAULT_PROPS;\n","import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment, Theme } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndex';\n\nexport enum TabListLayout {\n clustered = 'clustered',\n fixed = 'fixed',\n}\n\n/**\n * Defines the props of the component.\n */\nexport interface TabListProps extends GenericProps, HasTheme {\n /** ARIA label (purpose of the set of tabs). */\n ['aria-label']: string;\n /** Tab list. */\n children: ReactNode;\n /** Layout of the tabs in the list. */\n layout?: TabListLayout;\n /** Position of the tabs in the list (requires 'clustered' layout). */\n position?: Alignment;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TabList';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tabs`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabListProps> = {\n layout: TabListLayout.fixed,\n position: Alignment.left,\n};\n\n/**\n * TabList component.\n *\n * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TabList = forwardRef<TabListProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n 'aria-label': ariaLabel,\n children,\n className,\n layout = DEFAULT_PROPS.layout,\n position = DEFAULT_PROPS.position,\n theme = defaultTheme,\n ...forwardedProps\n } = props;\n const tabListRef = React.useRef(null);\n useRovingTabIndex({\n parentRef: tabListRef,\n elementSelector: '[role=\"tab\"]',\n keepTabIndex: false,\n extraDependencies: [children],\n });\n\n return (\n <div\n ref={mergeRefs(ref, tabListRef)}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, layout, position, theme }))}\n >\n <div className={`${CLASSNAME}__links`} role=\"tablist\" aria-label={ariaLabel}>\n {children}\n </div>\n </div>\n );\n});\nTabList.displayName = COMPONENT_NAME;\nTabList.className = CLASSNAME;\nTabList.defaultProps = DEFAULT_PROPS;\n","import { FocusEventHandler, KeyboardEventHandler, ReactNode, useCallback } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Icon, IconProps, Size, Text } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { useTabProviderContext } from './state';\n\n/**\n * Defines the props of the component.\n */\nexport interface TabProps extends GenericProps {\n /** Children are not supported. */\n children?: never;\n /** Icon (SVG path). */\n icon?: IconProps['icon'];\n /** Icon component properties. */\n iconProps?: Omit<IconProps, 'icon'>;\n /** Native id property. */\n id?: string;\n /** Whether the tab is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label content. */\n label: string | ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Tab';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tabs__link`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabProps> = {};\n\n/**\n * Tab component.\n *\n * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Tab = forwardRef<TabProps, HTMLButtonElement>((props, ref) => {\n const { isAnyDisabled, otherProps } = useDisableStateProps(props);\n const {\n className,\n icon,\n iconProps = {},\n id,\n isActive: propIsActive,\n label,\n onFocus,\n onKeyPress,\n tabIndex = -1,\n ...forwardedProps\n } = otherProps;\n const state = useTabProviderContext('tab', id);\n const isActive = propIsActive || state?.isActive;\n\n const changeToCurrentTab = useCallback(() => {\n if (isAnyDisabled) {\n return;\n }\n state?.changeToTab();\n }, [isAnyDisabled, state]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n onFocus?.(event);\n if (state?.shouldActivateOnFocus) {\n changeToCurrentTab();\n }\n },\n [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus],\n );\n\n const handleKeyPress: KeyboardEventHandler = useCallback(\n (event) => {\n onKeyPress?.(event);\n if (event.key !== 'Enter' || isAnyDisabled) {\n return;\n }\n changeToCurrentTab();\n },\n [changeToCurrentTab, isAnyDisabled, onKeyPress],\n );\n\n return (\n <button\n ref={ref}\n {...forwardedProps}\n type=\"button\"\n id={state?.tabId}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, isActive, isDisabled: isAnyDisabled }),\n )}\n onClick={changeToCurrentTab}\n onKeyPress={handleKeyPress}\n onFocus={handleFocus}\n role=\"tab\"\n tabIndex={isActive ? 0 : tabIndex}\n aria-disabled={isAnyDisabled}\n aria-selected={isActive}\n aria-controls={state?.tabPanelId}\n >\n {icon && <Icon icon={icon} size={Size.xs} {...iconProps} />}\n {label && (\n <Text as=\"span\" truncate>\n {label}\n </Text>\n )}\n </button>\n );\n});\nTab.displayName = COMPONENT_NAME;\nTab.className = CLASSNAME;\nTab.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTabProviderContext } from '@lumx/react/components/tabs/state';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\n\n/**\n * Defines the props of the component.\n */\nexport interface TabPanelProps extends GenericProps {\n /** Native id property */\n id?: string;\n /** Whether the tab is active or not. */\n isActive?: boolean;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TabPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-tab-panel`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TabPanelProps> = {};\n\n/**\n * TabPanel component.\n *\n * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TabPanel = forwardRef<TabPanelProps, HTMLDivElement>((props, ref) => {\n const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;\n\n const state = useTabProviderContext('tabPanel', id);\n const isActive = propIsActive || state?.isActive;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n id={state?.tabPanelId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}\n role=\"tabpanel\"\n tabIndex={isActive ? 0 : -1}\n aria-labelledby={state?.tabId}\n >\n {(!state?.isLazy || isActive) && children}\n </div>\n );\n});\nTabPanel.displayName = COMPONENT_NAME;\nTabPanel.className = CLASSNAME;\nTabPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["DEFAULT_PROPS","isLazy","INIT_STATE","shouldActivateOnFocus","TabProvider","props","children","onChange","propState","state","dispatch","useReducer","reducer","useEffect","type","payload","Object","values","activeTabIndex","queueMicrotask","ReactDOM","flushSync","_jsx","TabProviderContext","Provider","value","defaultProps","TabListLayout","COMPONENT_NAME","CLASSNAME","CSS_PREFIX","layout","fixed","position","Alignment","left","TabList","forwardRef","ref","defaultTheme","useTheme","Theme","light","ariaLabel","className","theme","forwardedProps","tabListRef","React","useRef","useRovingTabIndex","parentRef","elementSelector","keepTabIndex","extraDependencies","mergeRefs","classNames","handleBasicClasses","prefix","role","displayName","Tab","isAnyDisabled","otherProps","useDisableStateProps","icon","iconProps","id","isActive","propIsActive","label","onFocus","onKeyPress","tabIndex","useTabProviderContext","changeToCurrentTab","useCallback","changeToTab","handleFocus","event","handleKeyPress","key","_jsxs","tabId","isDisabled","onClick","tabPanelId","Icon","size","Size","xs","Text","as","truncate","TabPanel"],"mappings":"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"}
|
package/_internal/66f691d3.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { m as getRootClassName, n as forwardRef, l as classNames } from './6589b796.js';
|
|
2
|
-
import { h as handleBasicClasses } from './e2afb13f.js';
|
|
3
|
-
import { g as getTypographyClassName } from './d0dd1815.js';
|
|
4
|
-
import { r as resolveColorWithVariants } from './7b221b05.js';
|
|
5
|
-
import { w as wrapChildrenIconWithSpaces } from './37b007a4.js';
|
|
6
|
-
import { R as RawClickable } from './2c2b6a89.js';
|
|
7
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
-
import { u as useDisableStateProps } from './b8667090.js';
|
|
9
|
-
import { I as Icon } from './8ab42752.js';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Component display name.
|
|
13
|
-
*/
|
|
14
|
-
const COMPONENT_NAME = 'Link';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Component default class name and class prefix.
|
|
18
|
-
*/
|
|
19
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Link component.
|
|
23
|
-
*
|
|
24
|
-
* @param props Component props.
|
|
25
|
-
* @param ref Component ref.
|
|
26
|
-
* @return React element.
|
|
27
|
-
*/
|
|
28
|
-
const Link = forwardRef((props, ref) => {
|
|
29
|
-
const {
|
|
30
|
-
disabledStateProps,
|
|
31
|
-
otherProps
|
|
32
|
-
} = useDisableStateProps(props);
|
|
33
|
-
const {
|
|
34
|
-
children,
|
|
35
|
-
className,
|
|
36
|
-
color: propColor,
|
|
37
|
-
colorVariant: propColorVariant,
|
|
38
|
-
leftIcon,
|
|
39
|
-
rightIcon,
|
|
40
|
-
typography,
|
|
41
|
-
linkAs,
|
|
42
|
-
...forwardedProps
|
|
43
|
-
} = otherProps;
|
|
44
|
-
const [color, colorVariant] = resolveColorWithVariants(propColor, propColorVariant);
|
|
45
|
-
return /*#__PURE__*/jsx(RawClickable, {
|
|
46
|
-
ref: ref,
|
|
47
|
-
as: linkAs || (forwardedProps.href ? 'a' : 'button'),
|
|
48
|
-
...forwardedProps,
|
|
49
|
-
...disabledStateProps,
|
|
50
|
-
className: classNames(className, handleBasicClasses({
|
|
51
|
-
prefix: CLASSNAME,
|
|
52
|
-
color,
|
|
53
|
-
colorVariant,
|
|
54
|
-
hasTypography: !!typography
|
|
55
|
-
}), typography && getTypographyClassName(typography)),
|
|
56
|
-
children: wrapChildrenIconWithSpaces(/*#__PURE__*/jsxs(Fragment, {
|
|
57
|
-
children: [leftIcon && /*#__PURE__*/jsx(Icon, {
|
|
58
|
-
icon: leftIcon,
|
|
59
|
-
className: `${CLASSNAME}__left-icon`
|
|
60
|
-
}), children && /*#__PURE__*/jsx("span", {
|
|
61
|
-
className: `${CLASSNAME}__content`,
|
|
62
|
-
children: children
|
|
63
|
-
}), rightIcon && /*#__PURE__*/jsx(Icon, {
|
|
64
|
-
icon: rightIcon,
|
|
65
|
-
className: `${CLASSNAME}__right-icon`
|
|
66
|
-
})]
|
|
67
|
-
}))
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
Link.displayName = COMPONENT_NAME;
|
|
71
|
-
Link.className = CLASSNAME;
|
|
72
|
-
|
|
73
|
-
export { Link };
|
|
74
|
-
//# sourceMappingURL=66f691d3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"66f691d3.js","sources":["../../src/components/link/Link.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { ColorVariant, ColorWithVariants, Icon, Typography } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport {\n getRootClassName,\n getTypographyClassName,\n handleBasicClasses,\n resolveColorWithVariants,\n} from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { wrapChildrenIconWithSpaces } from '@lumx/react/utils/react/wrapChildrenIconWithSpaces';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\nimport { RawClickable } from '@lumx/react/utils/react/RawClickable';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled';\n\ntype HTMLAnchorProps = React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n\n/**\n * Defines the props of the component.\n */\nexport interface LinkProps extends GenericProps, HasAriaDisabled {\n /** Color variant. */\n color?: ColorWithVariants;\n /** Lightened or darkened variant of the selected icon color. */\n colorVariant?: ColorVariant;\n /** Link href. */\n href?: HTMLAnchorProps['href'];\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /**\n * Left icon (SVG path).\n * @deprecated Instead, simply nest `<Icon />` in the children\n */\n leftIcon?: string;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /**\n * Right icon (SVG path).\n * @deprecated Instead, simply nest `<Icon />` in the children\n */\n rightIcon?: string;\n /** Link target. */\n target?: HTMLAnchorProps['target'];\n /** Typography variant. */\n typography?: Typography;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Link';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Link component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Link = forwardRef<LinkProps, HTMLAnchorElement | HTMLButtonElement>((props, ref) => {\n const { disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n children,\n className,\n color: propColor,\n colorVariant: propColorVariant,\n leftIcon,\n rightIcon,\n typography,\n linkAs,\n ...forwardedProps\n } = otherProps;\n const [color, colorVariant] = resolveColorWithVariants(propColor, propColorVariant);\n\n return (\n <RawClickable\n ref={ref as any}\n as={linkAs || (forwardedProps.href ? 'a' : 'button')}\n {...forwardedProps}\n {...disabledStateProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, color, colorVariant, hasTypography: !!typography }),\n typography && getTypographyClassName(typography),\n )}\n >\n {wrapChildrenIconWithSpaces(\n <>\n {leftIcon && <Icon icon={leftIcon} className={`${CLASSNAME}__left-icon`} />}\n {children && <span className={`${CLASSNAME}__content`}>{children}</span>}\n {rightIcon && <Icon icon={rightIcon} className={`${CLASSNAME}__right-icon`} />}\n </>,\n )}\n </RawClickable>\n );\n});\nLink.displayName = COMPONENT_NAME;\nLink.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","Link","forwardRef","props","ref","disabledStateProps","otherProps","useDisableStateProps","children","className","color","propColor","colorVariant","propColorVariant","leftIcon","rightIcon","typography","linkAs","forwardedProps","resolveColorWithVariants","_jsx","RawClickable","as","href","classNames","handleBasicClasses","prefix","hasTypography","getTypographyClassName","wrapChildrenIconWithSpaces","_jsxs","_Fragment","Icon","icon","displayName"],"mappings":";;;;;;;;;;AAkDA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,MAAM,CAAA;;AAE7B;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,IAAI,GAAGC,UAAU,CAAmD,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC7F,MAAM;IAAEC,kBAAkB;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,oBAAoB,CAACJ,KAAK,CAAC,CAAA;EACtE,MAAM;IACFK,QAAQ;IACRC,SAAS;AACTC,IAAAA,KAAK,EAAEC,SAAS;AAChBC,IAAAA,YAAY,EAAEC,gBAAgB;IAC9BC,QAAQ;IACRC,SAAS;IACTC,UAAU;IACVC,MAAM;IACN,GAAGC,cAAAA;AACP,GAAC,GAAGZ,UAAU,CAAA;EACd,MAAM,CAACI,KAAK,EAAEE,YAAY,CAAC,GAAGO,wBAAwB,CAACR,SAAS,EAAEE,gBAAgB,CAAC,CAAA;EAEnF,oBACIO,GAAA,CAACC,YAAY,EAAA;AACTjB,IAAAA,GAAG,EAAEA,GAAW;IAChBkB,EAAE,EAAEL,MAAM,KAAKC,cAAc,CAACK,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAE;AAAA,IAAA,GACjDL,cAAc;AAAA,IAAA,GACdb,kBAAkB;AACtBI,IAAAA,SAAS,EAAEe,UAAU,CACjBf,SAAS,EACTgB,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAE3B,SAAS;MAAEW,KAAK;MAAEE,YAAY;MAAEe,aAAa,EAAE,CAAC,CAACX,UAAAA;KAAY,CAAC,EAC3FA,UAAU,IAAIY,sBAAsB,CAACZ,UAAU,CACnD,CAAE;AAAAR,IAAAA,QAAA,EAEDqB,0BAA0B,cACvBC,IAAA,CAAAC,QAAA,EAAA;AAAAvB,MAAAA,QAAA,EACKM,CAAAA,QAAQ,iBAAIM,GAAA,CAACY,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAEnB,QAAS;QAACL,SAAS,EAAE,GAAGV,SAAS,CAAA,WAAA,CAAA;AAAc,OAAE,CAAC,EAC1ES,QAAQ,iBAAIY,GAAA,CAAA,MAAA,EAAA;QAAMX,SAAS,EAAE,CAAGV,EAAAA,SAAS,CAAY,SAAA,CAAA;AAAAS,QAAAA,QAAA,EAAEA,QAAAA;AAAQ,OAAO,CAAC,EACvEO,SAAS,iBAAIK,GAAA,CAACY,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAElB,SAAU;QAACN,SAAS,EAAE,GAAGV,SAAS,CAAA,YAAA,CAAA;AAAe,OAAE,CAAC,CAAA;AAAA,KAChF,CACN,CAAA;AAAC,GACS,CAAC,CAAA;AAEvB,CAAC,EAAC;AACFE,IAAI,CAACiC,WAAW,GAAGpC,cAAc,CAAA;AACjCG,IAAI,CAACQ,SAAS,GAAGV,SAAS;;;;"}
|
package/_internal/68c10f98.js
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import React__default, { Children, useRef } from 'react';
|
|
2
|
-
import { m as getRootClassName, n as forwardRef, b as Theme, j as ColorPalette, l as classNames, d as Emphasis } from './6589b796.js';
|
|
3
|
-
import isEmpty from 'lodash/isEmpty';
|
|
4
|
-
import { i as isComponent } from './78df9309.js';
|
|
5
|
-
import { h as handleBasicClasses } from './e2afb13f.js';
|
|
6
|
-
import { p as partitionMulti } from './4daccdd5.js';
|
|
7
|
-
import { u as useTheme } from './3181f000.js';
|
|
8
|
-
import { I as IS_BROWSER } from './478b5c92.js';
|
|
9
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
|
-
import { m as mdiChevronUp, a as mdiChevronDown } from './0b9c76cb.js';
|
|
11
|
-
import { DragHandle } from './1a90ea3d.js';
|
|
12
|
-
import { I as IconButton } from './0a490b07.js';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Component display name.
|
|
16
|
-
*/
|
|
17
|
-
const COMPONENT_NAME = 'ExpansionPanel';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Component default class name and class prefix.
|
|
21
|
-
*/
|
|
22
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Component default props.
|
|
26
|
-
*/
|
|
27
|
-
const DEFAULT_PROPS = {
|
|
28
|
-
closeMode: 'unmount'
|
|
29
|
-
};
|
|
30
|
-
const isDragHandle = isComponent(DragHandle);
|
|
31
|
-
const isHeader = isComponent('header');
|
|
32
|
-
const isFooter = isComponent('footer');
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* ExpansionPanel component.
|
|
36
|
-
*
|
|
37
|
-
* @param props Component props.
|
|
38
|
-
* @param ref Component ref.
|
|
39
|
-
* @return React element.
|
|
40
|
-
*/
|
|
41
|
-
const ExpansionPanel = forwardRef((props, ref) => {
|
|
42
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
43
|
-
const {
|
|
44
|
-
className,
|
|
45
|
-
closeMode = DEFAULT_PROPS.closeMode,
|
|
46
|
-
children: anyChildren,
|
|
47
|
-
hasBackground,
|
|
48
|
-
hasHeaderDivider,
|
|
49
|
-
isOpen,
|
|
50
|
-
label,
|
|
51
|
-
onClose,
|
|
52
|
-
onOpen,
|
|
53
|
-
onToggleOpen,
|
|
54
|
-
theme = defaultTheme,
|
|
55
|
-
toggleButtonProps,
|
|
56
|
-
...forwardedProps
|
|
57
|
-
} = props;
|
|
58
|
-
const children = Children.toArray(anyChildren);
|
|
59
|
-
|
|
60
|
-
// Partition children by types.
|
|
61
|
-
const [[dragHandle], [header], [footer], content] = partitionMulti(children, [isDragHandle, isHeader, isFooter]);
|
|
62
|
-
|
|
63
|
-
// Either take the header in children or create one with the label.
|
|
64
|
-
const headerProps = /*#__PURE__*/React__default.isValidElement(header) ? header.props : {};
|
|
65
|
-
const headerContent = !isEmpty(headerProps.children) ? headerProps.children : /*#__PURE__*/jsx("span", {
|
|
66
|
-
className: `${CLASSNAME}__label`,
|
|
67
|
-
children: label
|
|
68
|
-
});
|
|
69
|
-
const toggleOpen = event => {
|
|
70
|
-
const shouldOpen = !isOpen;
|
|
71
|
-
if (onOpen && shouldOpen) {
|
|
72
|
-
onOpen(event);
|
|
73
|
-
}
|
|
74
|
-
if (onClose && !shouldOpen) {
|
|
75
|
-
onClose(event);
|
|
76
|
-
}
|
|
77
|
-
if (onToggleOpen) {
|
|
78
|
-
onToggleOpen(shouldOpen, event);
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
const color = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;
|
|
82
|
-
const rootClassName = classNames(className, handleBasicClasses({
|
|
83
|
-
hasBackground,
|
|
84
|
-
hasHeader: Boolean(!isEmpty(headerProps.children)),
|
|
85
|
-
hasHeaderDivider,
|
|
86
|
-
isClose: !isOpen,
|
|
87
|
-
isDraggable: Boolean(dragHandle),
|
|
88
|
-
isOpen,
|
|
89
|
-
prefix: CLASSNAME,
|
|
90
|
-
theme
|
|
91
|
-
}));
|
|
92
|
-
const wrapperRef = useRef(null);
|
|
93
|
-
|
|
94
|
-
// Children stay visible while the open/close transition is running
|
|
95
|
-
const [isChildrenVisible, setChildrenVisible] = React__default.useState(isOpen);
|
|
96
|
-
const isOpenRef = React__default.useRef(isOpen);
|
|
97
|
-
React__default.useEffect(() => {
|
|
98
|
-
if (isOpen || closeMode === 'hide') {
|
|
99
|
-
setChildrenVisible(true);
|
|
100
|
-
} else if (!IS_BROWSER) {
|
|
101
|
-
// Outside a browser we can't wait for the transition
|
|
102
|
-
setChildrenVisible(false);
|
|
103
|
-
}
|
|
104
|
-
isOpenRef.current = isOpen;
|
|
105
|
-
}, [closeMode, isOpen]);
|
|
106
|
-
|
|
107
|
-
// Change children's visibility on the transition end
|
|
108
|
-
React__default.useEffect(() => {
|
|
109
|
-
const {
|
|
110
|
-
current: wrapper
|
|
111
|
-
} = wrapperRef;
|
|
112
|
-
if (!IS_BROWSER || !wrapper) {
|
|
113
|
-
return undefined;
|
|
114
|
-
}
|
|
115
|
-
const onTransitionEnd = () => {
|
|
116
|
-
setChildrenVisible(isOpenRef.current || closeMode === 'hide');
|
|
117
|
-
};
|
|
118
|
-
wrapper.addEventListener('transitionend', onTransitionEnd);
|
|
119
|
-
return () => wrapper.removeEventListener('transitionend', onTransitionEnd);
|
|
120
|
-
}, [closeMode]);
|
|
121
|
-
return /*#__PURE__*/jsxs("section", {
|
|
122
|
-
ref: ref,
|
|
123
|
-
...forwardedProps,
|
|
124
|
-
className: rootClassName,
|
|
125
|
-
children: [/*#__PURE__*/jsxs("header", {
|
|
126
|
-
className: `${CLASSNAME}__header`,
|
|
127
|
-
onClick: toggleOpen,
|
|
128
|
-
children: [dragHandle && /*#__PURE__*/jsx("div", {
|
|
129
|
-
className: `${CLASSNAME}__header-drag`,
|
|
130
|
-
children: dragHandle
|
|
131
|
-
}), /*#__PURE__*/jsx("div", {
|
|
132
|
-
...headerProps,
|
|
133
|
-
className: `${CLASSNAME}__header-content`,
|
|
134
|
-
children: headerContent
|
|
135
|
-
}), /*#__PURE__*/jsx("div", {
|
|
136
|
-
className: `${CLASSNAME}__header-toggle`,
|
|
137
|
-
children: /*#__PURE__*/jsx(IconButton, {
|
|
138
|
-
...toggleButtonProps,
|
|
139
|
-
color: color,
|
|
140
|
-
emphasis: Emphasis.low,
|
|
141
|
-
icon: isOpen ? mdiChevronUp : mdiChevronDown,
|
|
142
|
-
"aria-expanded": isOpen || 'false'
|
|
143
|
-
})
|
|
144
|
-
})]
|
|
145
|
-
}), /*#__PURE__*/jsx("div", {
|
|
146
|
-
className: `${CLASSNAME}__wrapper`,
|
|
147
|
-
ref: wrapperRef,
|
|
148
|
-
children: (isOpen || isChildrenVisible) && /*#__PURE__*/jsxs("div", {
|
|
149
|
-
className: `${CLASSNAME}__container`,
|
|
150
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
151
|
-
className: `${CLASSNAME}__content`,
|
|
152
|
-
children: content
|
|
153
|
-
}), footer && /*#__PURE__*/jsx("div", {
|
|
154
|
-
className: `${CLASSNAME}__footer`,
|
|
155
|
-
children: footer
|
|
156
|
-
})]
|
|
157
|
-
})
|
|
158
|
-
})]
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
ExpansionPanel.displayName = COMPONENT_NAME;
|
|
162
|
-
ExpansionPanel.className = CLASSNAME;
|
|
163
|
-
ExpansionPanel.defaultProps = DEFAULT_PROPS;
|
|
164
|
-
|
|
165
|
-
export { ExpansionPanel };
|
|
166
|
-
//# sourceMappingURL=68c10f98.js.map
|