@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
package/_internal/86aa4aa4.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { useRef, useEffect } from 'react';
|
|
2
|
-
import { m as getRootClassName, n as forwardRef, l as classNames, D as DIALOG_TRANSITION_DURATION } from './6589b796.js';
|
|
3
|
-
import { D as DOCUMENT } from './478b5c92.js';
|
|
4
|
-
import { h as handleBasicClasses } from './e2afb13f.js';
|
|
5
|
-
import { u as useFocusTrap } from './5fe09341.js';
|
|
6
|
-
import { u as useDisableBodyScroll } from './36bd7352.js';
|
|
7
|
-
import { m as mergeRefs } from './f0d7d6ea.js';
|
|
8
|
-
import { u as useCallbackOnEscape } from './d5f316cb.js';
|
|
9
|
-
import { u as useTransitionVisibility } from './e6dd117e.js';
|
|
10
|
-
import { T as ThemeProvider } from './3181f000.js';
|
|
11
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
|
-
import { P as Portal } from './3f86608e.js';
|
|
13
|
-
import { I as IconButton } from './0a490b07.js';
|
|
14
|
-
import { m as mdiClose } from './eaf6c45a.js';
|
|
15
|
-
import { H as HeadingLevelProvider } from './370bdaed.js';
|
|
16
|
-
import { C as ClickAwayProvider } from './7093ba23.js';
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Component display name.
|
|
20
|
-
*/
|
|
21
|
-
const COMPONENT_NAME = 'Lightbox';
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Component default class name and class prefix.
|
|
25
|
-
*/
|
|
26
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Lightbox component.
|
|
30
|
-
*
|
|
31
|
-
* @param props Component props.
|
|
32
|
-
* @param ref Component ref.
|
|
33
|
-
* @return React element.
|
|
34
|
-
*/
|
|
35
|
-
const Lightbox = forwardRef((props, ref) => {
|
|
36
|
-
const {
|
|
37
|
-
'aria-labelledby': propAriaLabelledBy,
|
|
38
|
-
ariaLabelledBy = propAriaLabelledBy,
|
|
39
|
-
'aria-label': propAriaLabel,
|
|
40
|
-
ariaLabel = propAriaLabel,
|
|
41
|
-
children,
|
|
42
|
-
className,
|
|
43
|
-
closeButtonProps,
|
|
44
|
-
isOpen,
|
|
45
|
-
onClose,
|
|
46
|
-
parentElement,
|
|
47
|
-
focusElement,
|
|
48
|
-
preventAutoClose,
|
|
49
|
-
theme,
|
|
50
|
-
zIndex,
|
|
51
|
-
...forwardedProps
|
|
52
|
-
} = props;
|
|
53
|
-
if (!DOCUMENT) {
|
|
54
|
-
// Can't render in SSR.
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
59
|
-
const childrenRef = useRef(null);
|
|
60
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
61
|
-
const wrapperRef = useRef(null);
|
|
62
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
63
|
-
const closeButtonRef = useRef(null);
|
|
64
|
-
|
|
65
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
66
|
-
useDisableBodyScroll(isOpen && wrapperRef.current);
|
|
67
|
-
|
|
68
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
69
|
-
const isVisible = useTransitionVisibility(wrapperRef, !!isOpen, DIALOG_TRANSITION_DURATION);
|
|
70
|
-
|
|
71
|
-
// Handle focus trap.
|
|
72
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
73
|
-
useFocusTrap(
|
|
74
|
-
// Focus trap zone
|
|
75
|
-
isOpen && wrapperRef.current,
|
|
76
|
-
// Focus element (fallback on close button and then on the dialog)
|
|
77
|
-
focusElement?.current || closeButtonRef.current || wrapperRef.current);
|
|
78
|
-
|
|
79
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
80
|
-
const previousOpen = useRef(isOpen);
|
|
81
|
-
|
|
82
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
83
|
-
useEffect(() => {
|
|
84
|
-
if (isOpen !== previousOpen.current) {
|
|
85
|
-
previousOpen.current = isOpen;
|
|
86
|
-
|
|
87
|
-
// Focus the parent element on close.
|
|
88
|
-
if (!isOpen && parentElement && parentElement.current) {
|
|
89
|
-
parentElement.current.focus();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}, [isOpen, parentElement]);
|
|
93
|
-
|
|
94
|
-
// Close lightbox on escape key pressed.
|
|
95
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
96
|
-
useCallbackOnEscape(onClose);
|
|
97
|
-
|
|
98
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
99
|
-
const clickAwayRefs = useRef([wrapperRef]);
|
|
100
|
-
if (!isOpen && !isVisible) return null;
|
|
101
|
-
return /*#__PURE__*/jsx(Portal, {
|
|
102
|
-
children: /*#__PURE__*/jsxs("div", {
|
|
103
|
-
ref: mergeRefs(ref, wrapperRef),
|
|
104
|
-
...forwardedProps,
|
|
105
|
-
"aria-label": ariaLabel,
|
|
106
|
-
"aria-labelledby": ariaLabelledBy,
|
|
107
|
-
"aria-modal": "true",
|
|
108
|
-
role: "dialog",
|
|
109
|
-
tabIndex: -1,
|
|
110
|
-
className: classNames(className, handleBasicClasses({
|
|
111
|
-
prefix: CLASSNAME,
|
|
112
|
-
isHidden: !isOpen,
|
|
113
|
-
isShown: isOpen || isVisible,
|
|
114
|
-
theme
|
|
115
|
-
})),
|
|
116
|
-
style: {
|
|
117
|
-
zIndex
|
|
118
|
-
},
|
|
119
|
-
children: [closeButtonProps && /*#__PURE__*/jsx("div", {
|
|
120
|
-
className: `${CLASSNAME}__close`,
|
|
121
|
-
children: /*#__PURE__*/jsx(IconButton, {
|
|
122
|
-
...closeButtonProps,
|
|
123
|
-
ref: closeButtonRef,
|
|
124
|
-
emphasis: "low",
|
|
125
|
-
hasBackground: true,
|
|
126
|
-
icon: mdiClose,
|
|
127
|
-
theme: "dark",
|
|
128
|
-
type: "button",
|
|
129
|
-
onClick: onClose
|
|
130
|
-
})
|
|
131
|
-
}), /*#__PURE__*/jsx(HeadingLevelProvider, {
|
|
132
|
-
level: 2,
|
|
133
|
-
children: /*#__PURE__*/jsx(ThemeProvider, {
|
|
134
|
-
value: undefined,
|
|
135
|
-
children: /*#__PURE__*/jsx(ClickAwayProvider, {
|
|
136
|
-
callback: !preventAutoClose && onClose,
|
|
137
|
-
childrenRefs: clickAwayRefs,
|
|
138
|
-
children: /*#__PURE__*/jsx("div", {
|
|
139
|
-
ref: childrenRef,
|
|
140
|
-
className: `${CLASSNAME}__wrapper`,
|
|
141
|
-
role: "presentation",
|
|
142
|
-
children: children
|
|
143
|
-
})
|
|
144
|
-
})
|
|
145
|
-
})
|
|
146
|
-
})]
|
|
147
|
-
})
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
Lightbox.displayName = COMPONENT_NAME;
|
|
151
|
-
Lightbox.className = CLASSNAME;
|
|
152
|
-
|
|
153
|
-
export { Lightbox };
|
|
154
|
-
//# sourceMappingURL=86aa4aa4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"86aa4aa4.js","sources":["../../src/components/lightbox/Lightbox.tsx"],"sourcesContent":["import { RefObject, useRef, useEffect, AriaAttributes } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiClose } from '@lumx/icons';\nimport { HeadingLevelProvider, IconButton, IconButtonProps } from '@lumx/react';\nimport { DIALOG_TRANSITION_DURATION, DOCUMENT } from '@lumx/react/constants';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\n\nimport { useFocusTrap } from '@lumx/react/hooks/useFocusTrap';\nimport { useDisableBodyScroll } from '@lumx/react/hooks/useDisableBodyScroll';\nimport { ClickAwayProvider } from '@lumx/react/utils/ClickAwayProvider';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useCallbackOnEscape } from '@lumx/react/hooks/useCallbackOnEscape';\nimport { useTransitionVisibility } from '@lumx/react/hooks/useTransitionVisibility';\nimport { ThemeProvider } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { Portal } from '@lumx/react/utils';\n\n/**\n * Defines the props of the component.\n */\nexport interface LightboxProps extends GenericProps, HasTheme, Pick<AriaAttributes, 'aria-label' | 'aria-labelledby'> {\n /** Props to pass to the close button (minus those already set by the Lightbox props). */\n closeButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color'>;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Reference to the element that triggered modal opening to set focus on. */\n parentElement: RefObject<any>;\n /** Reference to the element that should get the focus when the lightbox opens. By default, the close button or the lightbox itself will take focus. */\n focusElement?: RefObject<HTMLElement>;\n /** Whether to keep the dialog open on clickaway or escape press. */\n preventAutoClose?: boolean;\n /** Z-axis position. */\n zIndex?: number;\n /** On close callback. */\n onClose?(): void;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Lightbox';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Lightbox component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Lightbox = forwardRef<LightboxProps, HTMLDivElement>((props, ref) => {\n const {\n 'aria-labelledby': propAriaLabelledBy,\n ariaLabelledBy = propAriaLabelledBy,\n 'aria-label': propAriaLabel,\n ariaLabel = propAriaLabel,\n children,\n className,\n closeButtonProps,\n isOpen,\n onClose,\n parentElement,\n focusElement,\n preventAutoClose,\n theme,\n zIndex,\n ...forwardedProps\n } = props;\n if (!DOCUMENT) {\n // Can't render in SSR.\n return null;\n }\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const childrenRef = useRef<any>(null);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const wrapperRef = useRef<HTMLDivElement>(null);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useDisableBodyScroll(isOpen && wrapperRef.current);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const isVisible = useTransitionVisibility(wrapperRef, !!isOpen, DIALOG_TRANSITION_DURATION);\n\n // Handle focus trap.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useFocusTrap(\n // Focus trap zone\n isOpen && wrapperRef.current,\n // Focus element (fallback on close button and then on the dialog)\n focusElement?.current || closeButtonRef.current || wrapperRef.current,\n );\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const previousOpen = useRef(isOpen);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n if (isOpen !== previousOpen.current) {\n previousOpen.current = isOpen;\n\n // Focus the parent element on close.\n if (!isOpen && parentElement && parentElement.current) {\n parentElement.current.focus();\n }\n }\n }, [isOpen, parentElement]);\n\n // Close lightbox on escape key pressed.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useCallbackOnEscape(onClose);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const clickAwayRefs = useRef([wrapperRef]);\n\n if (!isOpen && !isVisible) return null;\n\n return (\n <Portal>\n <div\n ref={mergeRefs(ref, wrapperRef)}\n {...forwardedProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n isHidden: !isOpen,\n isShown: isOpen || isVisible,\n theme,\n }),\n )}\n style={{ zIndex }}\n >\n {closeButtonProps && (\n <div className={`${CLASSNAME}__close`}>\n <IconButton\n {...closeButtonProps}\n ref={closeButtonRef}\n emphasis=\"low\"\n hasBackground\n icon={mdiClose}\n theme=\"dark\"\n type=\"button\"\n onClick={onClose}\n />\n </div>\n )}\n <HeadingLevelProvider level={2}>\n <ThemeProvider value={undefined}>\n <ClickAwayProvider callback={!preventAutoClose && onClose} childrenRefs={clickAwayRefs}>\n <div ref={childrenRef} className={`${CLASSNAME}__wrapper`} role=\"presentation\">\n {children}\n </div>\n </ClickAwayProvider>\n </ThemeProvider>\n </HeadingLevelProvider>\n </div>\n </Portal>\n );\n});\nLightbox.displayName = COMPONENT_NAME;\nLightbox.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","Lightbox","forwardRef","props","ref","propAriaLabelledBy","ariaLabelledBy","propAriaLabel","ariaLabel","children","className","closeButtonProps","isOpen","onClose","parentElement","focusElement","preventAutoClose","theme","zIndex","forwardedProps","DOCUMENT","childrenRef","useRef","wrapperRef","closeButtonRef","useDisableBodyScroll","current","isVisible","useTransitionVisibility","DIALOG_TRANSITION_DURATION","useFocusTrap","previousOpen","useEffect","focus","useCallbackOnEscape","clickAwayRefs","_jsx","Portal","_jsxs","mergeRefs","role","tabIndex","classNames","handleBasicClasses","prefix","isHidden","isShown","style","IconButton","emphasis","hasBackground","icon","mdiClose","type","onClick","HeadingLevelProvider","level","ThemeProvider","value","undefined","ClickAwayProvider","callback","childrenRefs","displayName"],"mappings":"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"}
|
package/_internal/88ec77c2.js
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import noop from 'lodash/noop';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Make sure the pressed key is the enter key before calling the callback.
|
|
5
|
-
*
|
|
6
|
-
* @param handler The handler to call on enter/return press.
|
|
7
|
-
* @return The decorated function.
|
|
8
|
-
*/
|
|
9
|
-
function onEnterPressed(handler) {
|
|
10
|
-
return evt => {
|
|
11
|
-
if (evt.key !== 'Enter') {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
handler(evt);
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Make sure the pressed key is the escape key before calling the callback.
|
|
20
|
-
*
|
|
21
|
-
* @param handler The handler to call on enter/return press.
|
|
22
|
-
* @return The decorated function.
|
|
23
|
-
*/
|
|
24
|
-
function onEscapePressed(handler) {
|
|
25
|
-
return evt => {
|
|
26
|
-
if (evt.key !== 'Escape') {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
handler(evt);
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Handle button key pressed (Enter + Space).
|
|
35
|
-
*
|
|
36
|
-
* @param handler The handler to call.
|
|
37
|
-
* @return The decorated function.
|
|
38
|
-
*/
|
|
39
|
-
function onButtonPressed(handler) {
|
|
40
|
-
return evt => {
|
|
41
|
-
if (evt.key !== 'Enter' && evt.key !== ' ') {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
handler(evt);
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Checks whether or not the browser support passive events.
|
|
50
|
-
* @see https://github.com/Modernizr/Modernizr/blob/6d56d814b9682843313b16060adb25a58d83a317/feature-detects/dom/passiveeventlisteners.js
|
|
51
|
-
*/
|
|
52
|
-
function isPassiveEventAvailable() {
|
|
53
|
-
let supportsPassiveOption = false;
|
|
54
|
-
try {
|
|
55
|
-
const opts = Object.defineProperty({}, 'passive', {
|
|
56
|
-
get() {
|
|
57
|
-
supportsPassiveOption = true;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
window.addEventListener('testPassiveEventSupport', noop, opts);
|
|
61
|
-
window.removeEventListener('testPassiveEventSupport', noop, opts);
|
|
62
|
-
} catch (e) {
|
|
63
|
-
// ignored
|
|
64
|
-
}
|
|
65
|
-
return supportsPassiveOption;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Detects horizontal swipe direction without blocking the browser scroll using passive event.
|
|
70
|
-
* @see http://javascriptkit.com/javatutors/touchevents2.shtml
|
|
71
|
-
* @see https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
|
|
72
|
-
*/
|
|
73
|
-
function detectHorizontalSwipe(touchSurface, handleSwipe) {
|
|
74
|
-
let startX;
|
|
75
|
-
let startY;
|
|
76
|
-
// Required min distance traveled to be considered swipe.
|
|
77
|
-
const threshold = 150;
|
|
78
|
-
// Maximum distance allowed at the same time in perpendicular direction.
|
|
79
|
-
const restraint = 150;
|
|
80
|
-
// Maximum time allowed to travel that distance.
|
|
81
|
-
const allowedTime = 300;
|
|
82
|
-
let elapsedTime;
|
|
83
|
-
let startTime;
|
|
84
|
-
let finished;
|
|
85
|
-
const onTouchStart = evt => {
|
|
86
|
-
const [touch] = Array.from(evt.changedTouches);
|
|
87
|
-
startX = touch.pageX;
|
|
88
|
-
startY = touch.pageY;
|
|
89
|
-
// Record time when finger first makes contact with surface.
|
|
90
|
-
startTime = new Date().getTime();
|
|
91
|
-
finished = false;
|
|
92
|
-
};
|
|
93
|
-
const onTouchMove = evt => {
|
|
94
|
-
if (finished) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
elapsedTime = new Date().getTime() - startTime;
|
|
98
|
-
if (elapsedTime > allowedTime) {
|
|
99
|
-
// Touch swipe too long to be considered.
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
const [touch] = Array.from(evt.changedTouches);
|
|
103
|
-
// Get horizontal dist traveled by finger while in contact with surface.
|
|
104
|
-
const distX = touch.pageX - startX;
|
|
105
|
-
// Get vertical dist traveled by finger while in contact with surface.
|
|
106
|
-
const distY = touch.pageY - startY;
|
|
107
|
-
if (!(Math.abs(distX) >= threshold && Math.abs(distY) <= restraint)) {
|
|
108
|
-
// Swipe is not horizontal.
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
// Swipe direction.
|
|
112
|
-
const direction = distX < 0 ? 'left' : 'right';
|
|
113
|
-
handleSwipe(direction);
|
|
114
|
-
finished = true;
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
// Activate passive event if possible for better scrolling performance.
|
|
118
|
-
const eventOptions = isPassiveEventAvailable() ? {
|
|
119
|
-
passive: true
|
|
120
|
-
} : false;
|
|
121
|
-
touchSurface.addEventListener('touchstart', onTouchStart, eventOptions);
|
|
122
|
-
touchSurface.addEventListener('touchmove', onTouchMove, eventOptions);
|
|
123
|
-
return () => {
|
|
124
|
-
touchSurface.removeEventListener('touchstart', onTouchStart, eventOptions);
|
|
125
|
-
touchSurface.removeEventListener('touchmove', onTouchMove, eventOptions);
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export { onEscapePressed as a, onButtonPressed as b, detectHorizontalSwipe as d, onEnterPressed as o };
|
|
130
|
-
//# sourceMappingURL=88ec77c2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"88ec77c2.js","sources":["../../../lumx-core/src/js/utils/index.ts"],"sourcesContent":["import type { KeyboardEvent as ReactKeyboardEvent } from 'react';\n\nimport noop from 'lodash/noop';\n\nexport * from './className';\n\ntype KeyboardEventHandler<E extends KeyboardEvent | ReactKeyboardEvent> = (event: E) => void;\n\n/**\n * Make sure the pressed key is the enter key before calling the callback.\n *\n * @param handler The handler to call on enter/return press.\n * @return The decorated function.\n */\nexport function onEnterPressed<E extends KeyboardEvent | ReactKeyboardEvent>(\n handler: KeyboardEventHandler<E>,\n): KeyboardEventHandler<E> {\n return (evt) => {\n if (evt.key !== 'Enter') {\n return;\n }\n handler(evt);\n };\n}\n\n/**\n * Make sure the pressed key is the escape key before calling the callback.\n *\n * @param handler The handler to call on enter/return press.\n * @return The decorated function.\n */\nexport function onEscapePressed<E extends KeyboardEvent | ReactKeyboardEvent>(\n handler: KeyboardEventHandler<E>,\n): KeyboardEventHandler<E> {\n return (evt) => {\n if (evt.key !== 'Escape') {\n return;\n }\n handler(evt);\n };\n}\n\n/**\n * Handle button key pressed (Enter + Space).\n *\n * @param handler The handler to call.\n * @return The decorated function.\n */\nexport function onButtonPressed<E extends KeyboardEvent | ReactKeyboardEvent>(\n handler: KeyboardEventHandler<E>,\n): KeyboardEventHandler<E> {\n return (evt) => {\n if (evt.key !== 'Enter' && evt.key !== ' ') {\n return;\n }\n handler(evt);\n };\n}\n\ndeclare type SwipeDirection = 'none' | 'up' | 'down' | 'left' | 'right';\n\n/**\n * Detects swipe direction.\n * Credits: http://javascriptkit.com/javatutors/touchevents2.shtml.\n *\n * @deprecated use `detectHorizontalSwipe` instead if possible (better performance and does not block scroll)\n * @param touchSurface Element that will hold touch events.\n * @param handleSwipe Callback function.\n * @return Function to remove listeners.\n */\nexport function detectSwipe(touchSurface: Element, handleSwipe: (direction: SwipeDirection) => void = noop) {\n let distX: number;\n let distY: number;\n let startX: number;\n let startY: number;\n let direction: SwipeDirection;\n // Required min distance traveled to be considered swipe.\n const threshold = 150;\n // Maximum distance allowed at the same time in perpendicular direction.\n const restraint = 100;\n // Maximum time allowed to travel that distance.\n const allowedTime = 300;\n let elapsedTime: number;\n let startTime: number;\n\n const onTouchStart = (evt: Event) => {\n const [touch] = Array.from((evt as TouchEvent).changedTouches);\n direction = 'none';\n // Const dist = 0;\n startX = touch.pageX;\n startY = touch.pageY;\n // Record time when finger first makes contact with surface.\n startTime = new Date().getTime();\n evt.preventDefault();\n };\n\n const onTouchMove = (evt: Event) => {\n // Prevent scrolling when inside DIV.\n evt.preventDefault();\n };\n\n const onTouchEnd = (evt: Event) => {\n const [touch] = Array.from((evt as TouchEvent).changedTouches);\n // Get horizontal dist traveled by finger while in contact with surface.\n distX = touch.pageX - startX;\n // Get vertical dist traveled by finger while in contact with surface.\n distY = touch.pageY - startY;\n // Get time elapsed.\n elapsedTime = new Date().getTime() - startTime;\n if (elapsedTime <= allowedTime) {\n // First condition for awipe met.\n if (Math.abs(distX) >= threshold && Math.abs(distY) <= restraint) {\n // 2nd condition for horizontal swipe met.\n // If dist traveled is negative, it indicates left swipe.\n direction = distX < 0 ? 'left' : 'right';\n } else if (Math.abs(distY) >= threshold && Math.abs(distX) <= restraint) {\n // 2nd condition for vertical swipe met.\n // If dist traveled is negative, it indicates up swipe.\n direction = distY < 0 ? 'up' : 'down';\n }\n }\n handleSwipe(direction);\n evt.preventDefault();\n };\n\n touchSurface.addEventListener('touchstart', onTouchStart, false);\n touchSurface.addEventListener('touchmove', onTouchMove, false);\n touchSurface.addEventListener('touchend', onTouchEnd, false);\n\n return () => {\n touchSurface.removeEventListener('touchstart', onTouchStart, false);\n touchSurface.removeEventListener('touchmove', onTouchMove, false);\n touchSurface.removeEventListener('touchend', onTouchEnd, false);\n };\n}\n\n/**\n * Checks whether or not the browser support passive events.\n * @see https://github.com/Modernizr/Modernizr/blob/6d56d814b9682843313b16060adb25a58d83a317/feature-detects/dom/passiveeventlisteners.js\n */\nfunction isPassiveEventAvailable() {\n let supportsPassiveOption = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n get() {\n supportsPassiveOption = true;\n },\n });\n window.addEventListener('testPassiveEventSupport', noop, opts);\n window.removeEventListener('testPassiveEventSupport', noop, opts);\n } catch (e) {\n // ignored\n }\n return supportsPassiveOption;\n}\n\n/**\n * Detects horizontal swipe direction without blocking the browser scroll using passive event.\n * @see http://javascriptkit.com/javatutors/touchevents2.shtml\n * @see https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nexport function detectHorizontalSwipe(touchSurface: Element, handleSwipe: (direction: 'right' | 'left') => void) {\n let startX: number;\n let startY: number;\n // Required min distance traveled to be considered swipe.\n const threshold = 150;\n // Maximum distance allowed at the same time in perpendicular direction.\n const restraint = 150;\n // Maximum time allowed to travel that distance.\n const allowedTime = 300;\n let elapsedTime: number;\n let startTime: number;\n let finished: boolean;\n\n const onTouchStart = (evt: Event) => {\n const [touch] = Array.from((evt as TouchEvent).changedTouches);\n startX = touch.pageX;\n startY = touch.pageY;\n // Record time when finger first makes contact with surface.\n startTime = new Date().getTime();\n finished = false;\n };\n\n const onTouchMove = (evt: Event) => {\n if (finished) {\n return;\n }\n\n elapsedTime = new Date().getTime() - startTime;\n if (elapsedTime > allowedTime) {\n // Touch swipe too long to be considered.\n return;\n }\n\n const [touch] = Array.from((evt as TouchEvent).changedTouches);\n // Get horizontal dist traveled by finger while in contact with surface.\n const distX = touch.pageX - startX;\n // Get vertical dist traveled by finger while in contact with surface.\n const distY = touch.pageY - startY;\n\n if (!(Math.abs(distX) >= threshold && Math.abs(distY) <= restraint)) {\n // Swipe is not horizontal.\n return;\n }\n // Swipe direction.\n const direction = distX < 0 ? 'left' : 'right';\n\n handleSwipe(direction);\n finished = true;\n };\n\n // Activate passive event if possible for better scrolling performance.\n const eventOptions: any = isPassiveEventAvailable() ? { passive: true } : false;\n touchSurface.addEventListener('touchstart', onTouchStart, eventOptions);\n touchSurface.addEventListener('touchmove', onTouchMove, eventOptions);\n\n return () => {\n touchSurface.removeEventListener('touchstart', onTouchStart, eventOptions);\n touchSurface.removeEventListener('touchmove', onTouchMove, eventOptions);\n };\n}\n"],"names":["onEnterPressed","handler","evt","key","onEscapePressed","onButtonPressed","isPassiveEventAvailable","supportsPassiveOption","opts","Object","defineProperty","get","window","addEventListener","noop","removeEventListener","e","detectHorizontalSwipe","touchSurface","handleSwipe","startX","startY","threshold","restraint","allowedTime","elapsedTime","startTime","finished","onTouchStart","touch","Array","from","changedTouches","pageX","pageY","Date","getTime","onTouchMove","distX","distY","Math","abs","direction","eventOptions","passive"],"mappings":"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"}
|
package/_internal/8ab42752.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { m as getRootClassName, n as forwardRef, b as Theme, j as ColorPalette, c as Size, l as classNames } from './6589b796.js';
|
|
2
|
-
import { h as handleBasicClasses } from './e2afb13f.js';
|
|
3
|
-
import { r as resolveColorWithVariants } from './7b221b05.js';
|
|
4
|
-
import { u as useTheme } from './3181f000.js';
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
const mdiAlertCircle = 'M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Component display name.
|
|
11
|
-
*/
|
|
12
|
-
const COMPONENT_NAME = 'Icon';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Component default class name and class prefix.
|
|
16
|
-
*/
|
|
17
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Component default props.
|
|
21
|
-
*/
|
|
22
|
-
const DEFAULT_PROPS = {};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Icon component.
|
|
26
|
-
*
|
|
27
|
-
* @param props Component props.
|
|
28
|
-
* @param ref Component ref.
|
|
29
|
-
* @return React element.
|
|
30
|
-
*/
|
|
31
|
-
const Icon = forwardRef((props, ref) => {
|
|
32
|
-
const defaultTheme = useTheme();
|
|
33
|
-
const {
|
|
34
|
-
className,
|
|
35
|
-
color: propColor,
|
|
36
|
-
colorVariant: propColorVariant,
|
|
37
|
-
hasShape,
|
|
38
|
-
icon,
|
|
39
|
-
size,
|
|
40
|
-
theme = defaultTheme,
|
|
41
|
-
alt,
|
|
42
|
-
...forwardedProps
|
|
43
|
-
} = props;
|
|
44
|
-
const [color, colorVariant] = resolveColorWithVariants(propColor, propColorVariant);
|
|
45
|
-
|
|
46
|
-
// Color
|
|
47
|
-
let iconColor = color;
|
|
48
|
-
if (!iconColor && (hasShape || theme)) {
|
|
49
|
-
iconColor = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// Color variant
|
|
53
|
-
let iconColorVariant = colorVariant;
|
|
54
|
-
if (!iconColorVariant && hasShape && iconColor === ColorPalette.dark) {
|
|
55
|
-
iconColorVariant = 'L2';
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Size
|
|
59
|
-
let iconSize = size;
|
|
60
|
-
if (size && hasShape) {
|
|
61
|
-
if (size === Size.xxs || size === Size.xs) {
|
|
62
|
-
iconSize = Size.s;
|
|
63
|
-
} else if (size === Size.xxl) {
|
|
64
|
-
iconSize = Size.xl;
|
|
65
|
-
}
|
|
66
|
-
} else if (hasShape) {
|
|
67
|
-
iconSize = Size.m;
|
|
68
|
-
}
|
|
69
|
-
return /*#__PURE__*/jsx("i", {
|
|
70
|
-
ref: ref,
|
|
71
|
-
...forwardedProps,
|
|
72
|
-
className: classNames(className, handleBasicClasses({
|
|
73
|
-
color: iconColor,
|
|
74
|
-
colorVariant: iconColorVariant,
|
|
75
|
-
hasShape,
|
|
76
|
-
prefix: CLASSNAME,
|
|
77
|
-
theme,
|
|
78
|
-
size: iconSize
|
|
79
|
-
}), !hasShape && `${CLASSNAME}--no-shape`, !hasShape && iconColor === ColorPalette.yellow && icon === mdiAlertCircle && `${CLASSNAME}--has-dark-layer`, `${CLASSNAME}--path`),
|
|
80
|
-
children: /*#__PURE__*/jsx("svg", {
|
|
81
|
-
"aria-hidden": alt ? undefined : 'true',
|
|
82
|
-
role: alt ? 'img' : undefined,
|
|
83
|
-
"aria-label": alt,
|
|
84
|
-
height: "1em",
|
|
85
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
86
|
-
style: {
|
|
87
|
-
verticalAlign: '-0.125em'
|
|
88
|
-
},
|
|
89
|
-
viewBox: "0 0 24 24",
|
|
90
|
-
width: "1em",
|
|
91
|
-
children: /*#__PURE__*/jsx("path", {
|
|
92
|
-
d: icon,
|
|
93
|
-
fill: "currentColor"
|
|
94
|
-
})
|
|
95
|
-
})
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
Icon.displayName = COMPONENT_NAME;
|
|
99
|
-
Icon.className = CLASSNAME;
|
|
100
|
-
Icon.defaultProps = DEFAULT_PROPS;
|
|
101
|
-
|
|
102
|
-
export { Icon as I, mdiAlertCircle as m };
|
|
103
|
-
//# sourceMappingURL=8ab42752.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"8ab42752.js","sources":["../../../lumx-icons/dist/esm/alert-circle.js","../../src/components/icon/Icon.tsx"],"sourcesContent":["export const mdiAlertCircle = 'M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2';","import classNames from 'classnames';\n\nimport { mdiAlertCircle } from '@lumx/icons';\nimport { ColorPalette, ColorVariant, ColorWithVariants, Size, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses, resolveColorWithVariants } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\nexport type IconSizes = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface IconProps extends GenericProps, HasTheme {\n /** Color variant. */\n color?: ColorWithVariants;\n /** Lightened or darkened variant of the selected icon color. */\n colorVariant?: ColorVariant;\n /** Whether the icon has a shape. */\n hasShape?: boolean;\n /**\n * Icon (SVG path) draw code (`d` property of the `<path>` SVG element).\n * See https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\n */\n icon: string;\n /** Size variant. */\n size?: IconSizes;\n /** Sets an alternative text on the svg. Will set an `img` role to the svg. */\n alt?: string;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Icon';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<IconProps> = {};\n\n/**\n * Icon component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Icon = forwardRef<IconProps, HTMLElement>((props, ref) => {\n const defaultTheme = useTheme();\n const {\n className,\n color: propColor,\n colorVariant: propColorVariant,\n hasShape,\n icon,\n size,\n theme = defaultTheme,\n alt,\n ...forwardedProps\n } = props;\n const [color, colorVariant] = resolveColorWithVariants(propColor, propColorVariant);\n\n // Color\n let iconColor = color;\n if (!iconColor && (hasShape || theme)) {\n iconColor = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;\n }\n\n // Color variant\n let iconColorVariant = colorVariant;\n if (!iconColorVariant && hasShape && iconColor === ColorPalette.dark) {\n iconColorVariant = 'L2';\n }\n\n // Size\n let iconSize = size;\n if (size && hasShape) {\n if (size === Size.xxs || size === Size.xs) {\n iconSize = Size.s;\n } else if (size === Size.xxl) {\n iconSize = Size.xl;\n }\n } else if (hasShape) {\n iconSize = Size.m;\n }\n\n return (\n <i\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n color: iconColor,\n colorVariant: iconColorVariant,\n hasShape,\n prefix: CLASSNAME,\n theme,\n size: iconSize,\n }),\n !hasShape && `${CLASSNAME}--no-shape`,\n !hasShape &&\n iconColor === ColorPalette.yellow &&\n icon === mdiAlertCircle &&\n `${CLASSNAME}--has-dark-layer`,\n `${CLASSNAME}--path`,\n )}\n >\n <svg\n aria-hidden={alt ? undefined : 'true'}\n role={alt ? 'img' : undefined}\n aria-label={alt}\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n >\n <path d={icon} fill=\"currentColor\" />\n </svg>\n </i>\n );\n});\nIcon.displayName = COMPONENT_NAME;\nIcon.className = CLASSNAME;\nIcon.defaultProps = DEFAULT_PROPS;\n"],"names":["mdiAlertCircle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Icon","forwardRef","props","ref","defaultTheme","useTheme","className","color","propColor","colorVariant","propColorVariant","hasShape","icon","size","theme","alt","forwardedProps","resolveColorWithVariants","iconColor","Theme","dark","ColorPalette","light","iconColorVariant","iconSize","Size","xxs","xs","s","xxl","xl","m","_jsx","classNames","handleBasicClasses","prefix","yellow","children","undefined","role","height","preserveAspectRatio","style","verticalAlign","viewBox","width","d","fill","displayName","defaultProps"],"mappings":"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"}
|
package/_internal/95cfd814.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
export { L as List, a as ListItem, i as isClickable } from './f5508d3d.js';
|
|
2
|
-
import { m as getRootClassName, n as forwardRef, l as classNames } from './6589b796.js';
|
|
3
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Component display name.
|
|
7
|
-
*/
|
|
8
|
-
const COMPONENT_NAME$1 = 'ListDivider';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Component default class name and class prefix.
|
|
12
|
-
*/
|
|
13
|
-
const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* ListDivider component.
|
|
17
|
-
*
|
|
18
|
-
* @param props Component props.
|
|
19
|
-
* @param ref Component ref.
|
|
20
|
-
* @return React element.
|
|
21
|
-
*/
|
|
22
|
-
const ListDivider = forwardRef((props, ref) => {
|
|
23
|
-
const {
|
|
24
|
-
className,
|
|
25
|
-
...forwardedProps
|
|
26
|
-
} = props;
|
|
27
|
-
return /*#__PURE__*/jsx("li", {
|
|
28
|
-
ref: ref,
|
|
29
|
-
...forwardedProps,
|
|
30
|
-
className: classNames(className, CLASSNAME$1)
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
ListDivider.displayName = COMPONENT_NAME$1;
|
|
34
|
-
ListDivider.className = CLASSNAME$1;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Component display name.
|
|
38
|
-
*/
|
|
39
|
-
const COMPONENT_NAME = 'ListSubheader';
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Component default class name and class prefix.
|
|
43
|
-
*/
|
|
44
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* ListSubheader component.
|
|
48
|
-
*
|
|
49
|
-
* @param props Component props.
|
|
50
|
-
* @param ref Component ref.
|
|
51
|
-
* @return React element.
|
|
52
|
-
*/
|
|
53
|
-
const ListSubheader = forwardRef((props, ref) => {
|
|
54
|
-
const {
|
|
55
|
-
children,
|
|
56
|
-
className,
|
|
57
|
-
...forwardedProps
|
|
58
|
-
} = props;
|
|
59
|
-
return /*#__PURE__*/jsx("li", {
|
|
60
|
-
ref: ref,
|
|
61
|
-
...forwardedProps,
|
|
62
|
-
className: classNames(className, CLASSNAME),
|
|
63
|
-
children: children
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
ListSubheader.displayName = COMPONENT_NAME;
|
|
67
|
-
ListSubheader.className = CLASSNAME;
|
|
68
|
-
|
|
69
|
-
export { ListDivider, ListSubheader };
|
|
70
|
-
//# sourceMappingURL=95cfd814.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"95cfd814.js","sources":["../../src/components/list/ListDivider.tsx","../../src/components/list/ListSubheader.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport type ListDividerProps = GenericProps;\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ListDivider';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * ListDivider component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ListDivider = forwardRef<ListDividerProps, HTMLLIElement>((props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return <li ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)} />;\n});\nListDivider.displayName = COMPONENT_NAME;\nListDivider.className = CLASSNAME;\n","import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface ListSubheaderProps extends GenericProps {\n /** Content. */\n children: string | ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ListSubheader';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * ListSubheader component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ListSubheader = forwardRef<ListSubheaderProps, HTMLLIElement>((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <li ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n {children}\n </li>\n );\n});\nListSubheader.displayName = COMPONENT_NAME;\nListSubheader.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","ListDivider","forwardRef","props","ref","className","forwardedProps","_jsx","classNames","displayName","ListSubheader","children"],"mappings":";;;;AAWA;AACA;AACA;AACA,MAAMA,gBAAc,GAAG,aAAa,CAAA;;AAEpC;AACA;AACA;AACA,MAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,WAAW,GAAGC,UAAU,CAAkC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACnF,MAAM;IAAEC,SAAS;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGH,KAAK,CAAA;AAE9C,EAAA,oBAAOI,GAAA,CAAA,IAAA,EAAA;AAAIH,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GAAKE,cAAc;AAAED,IAAAA,SAAS,EAAEG,UAAU,CAACH,SAAS,EAAEN,WAAS,CAAA;AAAE,GAAE,CAAC,CAAA;AAC5F,CAAC,EAAC;AACFE,WAAW,CAACQ,WAAW,GAAGX,gBAAc,CAAA;AACxCG,WAAW,CAACI,SAAS,GAAGN,WAAS;;AClBjC;AACA;AACA;AACA,MAAMD,cAAc,GAAG,eAAe,CAAA;;AAEtC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMY,aAAa,GAAGR,UAAU,CAAoC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACvF,MAAM;IAAEO,QAAQ;IAAEN,SAAS;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGH,KAAK,CAAA;AAExD,EAAA,oBACII,GAAA,CAAA,IAAA,EAAA;AAAIH,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GAAKE,cAAc;AAAED,IAAAA,SAAS,EAAEG,UAAU,CAACH,SAAS,EAAEN,SAAS,CAAE;AAAAY,IAAAA,QAAA,EACzEA,QAAAA;AAAQ,GACT,CAAC,CAAA;AAEb,CAAC,EAAC;AACFD,aAAa,CAACD,WAAW,GAAGX,cAAc,CAAA;AAC1CY,aAAa,CAACL,SAAS,GAAGN,SAAS;;;;"}
|