@lumx/react 3.20.1-alpha.25 → 3.20.1-alpha.27
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/Button-2b55a913.js +97 -0
- package/_internal/Button-2b55a913.js.map +1 -0
- package/_internal/ButtonRoot-823f3e9c.js +117 -0
- package/_internal/ButtonRoot-823f3e9c.js.map +1 -0
- package/_internal/Chip-e1e85810.js +143 -0
- package/_internal/Chip-e1e85810.js.map +1 -0
- package/_internal/ClickAwayProvider-1204f237.js +95 -0
- package/_internal/ClickAwayProvider-1204f237.js.map +1 -0
- package/_internal/DisabledStateContext-ea04260d.js +29 -0
- package/_internal/DisabledStateContext-ea04260d.js.map +1 -0
- package/_internal/HeadingLevelProvider-ebdcb0c7.js +61 -0
- package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +1 -0
- package/_internal/IconButton-be160cb0.js +77 -0
- package/_internal/IconButton-be160cb0.js.map +1 -0
- package/_internal/ImageCaption-fcf5720c.js +75 -0
- package/_internal/ImageCaption-fcf5720c.js.map +1 -0
- package/_internal/List-dbf4297f.js +791 -0
- package/_internal/List-dbf4297f.js.map +1 -0
- package/_internal/PopoverDialog-193a0918.js +655 -0
- package/_internal/PopoverDialog-193a0918.js.map +1 -0
- package/_internal/Portal-3f86608e.js +45 -0
- package/_internal/Portal-3f86608e.js.map +1 -0
- package/_internal/RawClickable-2c2b6a89.js +52 -0
- package/_internal/RawClickable-2c2b6a89.js.map +1 -0
- package/_internal/Slides-2d267d8c.js +679 -0
- package/_internal/Slides-2d267d8c.js.map +1 -0
- package/_internal/ThemeContext-3181f000.js +14 -0
- package/_internal/ThemeContext-3181f000.js.map +1 -0
- package/_internal/Thumbnail-0872250e.js +314 -0
- package/_internal/Thumbnail-0872250e.js.map +1 -0
- package/_internal/check-circle-de24f857.js +4 -0
- package/_internal/check-circle-de24f857.js.map +1 -0
- package/_internal/chevron-right-827b804a.js +6 -0
- package/_internal/chevron-right-827b804a.js.map +1 -0
- package/_internal/chevron-up-0b9c76cb.js +6 -0
- package/_internal/chevron-up-0b9c76cb.js.map +1 -0
- package/_internal/close-circle-ef5d1aac.js +4 -0
- package/_internal/close-circle-ef5d1aac.js.map +1 -0
- package/_internal/close-eaf6c45a.js +4 -0
- package/_internal/close-eaf6c45a.js.map +1 -0
- package/_internal/components/alert-dialog-a6ed922b.js +163 -0
- package/_internal/components/alert-dialog-a6ed922b.js.map +1 -0
- package/_internal/components/autocomplete-c97b7698.js +261 -0
- package/_internal/components/autocomplete-c97b7698.js.map +1 -0
- package/_internal/components/avatar-d2214a61.js +83 -0
- package/_internal/components/avatar-d2214a61.js.map +1 -0
- package/_internal/components/badge-8390e590.js +81 -0
- package/_internal/components/badge-8390e590.js.map +1 -0
- package/_internal/components/button-b05f8f0c.js +47 -0
- package/_internal/components/button-b05f8f0c.js.map +1 -0
- package/_internal/components/checkbox-346834f8.js +143 -0
- package/_internal/components/checkbox-346834f8.js.map +1 -0
- package/_internal/components/chip-e3a6330f.js +102 -0
- package/_internal/components/chip-e3a6330f.js.map +1 -0
- package/_internal/components/comment-block-b1acc69f.js +138 -0
- package/_internal/components/comment-block-b1acc69f.js.map +1 -0
- package/_internal/components/date-picker-582c4925.js +2 -0
- package/_internal/components/date-picker-582c4925.js.map +1 -0
- package/_internal/components/dialog-785646aa.js +238 -0
- package/_internal/components/dialog-785646aa.js.map +1 -0
- package/_internal/components/divider-116af6b9.js +50 -0
- package/_internal/components/divider-116af6b9.js.map +1 -0
- package/_internal/components/drag-handle-6b073866.js +52 -0
- package/_internal/components/drag-handle-6b073866.js.map +1 -0
- package/_internal/components/dropdown-c0c0cfe8.js +147 -0
- package/_internal/components/dropdown-c0c0cfe8.js.map +1 -0
- package/_internal/components/expansion-panel-1de1d1ff.js +167 -0
- package/_internal/components/expansion-panel-1de1d1ff.js.map +1 -0
- package/_internal/components/flag-7c9d3abf.js +59 -0
- package/_internal/components/flag-7c9d3abf.js.map +1 -0
- package/_internal/components/flex-box-10423fa5.js +56 -0
- package/_internal/components/flex-box-10423fa5.js.map +1 -0
- package/_internal/components/generic-block-b79f163a.js +128 -0
- package/_internal/components/generic-block-b79f163a.js.map +1 -0
- package/_internal/components/grid-6f1b5a41.js +104 -0
- package/_internal/components/grid-6f1b5a41.js.map +1 -0
- package/_internal/components/grid-column-ee504283.js +58 -0
- package/_internal/components/grid-column-ee504283.js.map +1 -0
- package/_internal/components/heading-d4c66a34.js +53 -0
- package/_internal/components/heading-d4c66a34.js.map +1 -0
- package/_internal/components/icon-7c79ab42.js +2 -0
- package/_internal/components/icon-7c79ab42.js.map +1 -0
- package/_internal/components/image-block-762eb669.js +110 -0
- package/_internal/components/image-block-762eb669.js.map +1 -0
- package/_internal/components/image-lightbox-10fef304.js +759 -0
- package/_internal/components/image-lightbox-10fef304.js.map +1 -0
- package/_internal/components/inline-list-e6f19a98.js +74 -0
- package/_internal/components/inline-list-e6f19a98.js.map +1 -0
- package/_internal/components/input-helper-64153099.js +71 -0
- package/_internal/components/input-helper-64153099.js.map +1 -0
- package/_internal/components/input-label-2feb0bb0.js +59 -0
- package/_internal/components/input-label-2feb0bb0.js.map +1 -0
- package/_internal/components/lightbox-dcc9a7a0.js +155 -0
- package/_internal/components/lightbox-dcc9a7a0.js.map +1 -0
- package/_internal/components/link-f9421eab.js +72 -0
- package/_internal/components/link-f9421eab.js.map +1 -0
- package/_internal/components/link-preview-5c7e3878.js +117 -0
- package/_internal/components/link-preview-5c7e3878.js.map +1 -0
- package/_internal/components/list-f29e54b7.js +71 -0
- package/_internal/components/list-f29e54b7.js.map +1 -0
- package/_internal/components/message-aa3e3f76.js +98 -0
- package/_internal/components/message-aa3e3f76.js.map +1 -0
- package/_internal/components/mosaic-b4b35fa7.js +94 -0
- package/_internal/components/mosaic-b4b35fa7.js.map +1 -0
- package/_internal/components/navigation-8357dbe6.js +225 -0
- package/_internal/components/navigation-8357dbe6.js.map +1 -0
- package/_internal/components/notification-ec4cf95f.js +143 -0
- package/_internal/components/notification-ec4cf95f.js.map +1 -0
- package/_internal/components/popover-a674dd8d.js +3 -0
- package/_internal/components/popover-a674dd8d.js.map +1 -0
- package/_internal/components/post-block-bb3d3cbf.js +109 -0
- package/_internal/components/post-block-bb3d3cbf.js.map +1 -0
- package/_internal/components/progress-f39c3fa2.js +182 -0
- package/_internal/components/progress-f39c3fa2.js.map +1 -0
- package/_internal/components/progress-tracker-997931ac.js +309 -0
- package/_internal/components/progress-tracker-997931ac.js.map +1 -0
- package/_internal/components/radio-button-559a4863.js +149 -0
- package/_internal/components/radio-button-559a4863.js.map +1 -0
- package/_internal/components/select-8295a416.js +457 -0
- package/_internal/components/select-8295a416.js.map +1 -0
- package/_internal/components/side-navigation-40ee8bda.js +164 -0
- package/_internal/components/side-navigation-40ee8bda.js.map +1 -0
- package/_internal/components/skeleton-c66516ee.js +166 -0
- package/_internal/components/skeleton-c66516ee.js.map +1 -0
- package/_internal/components/slider-efbfbc45.js +311 -0
- package/_internal/components/slider-efbfbc45.js.map +1 -0
- package/_internal/components/slideshow-c5faf531.js +151 -0
- package/_internal/components/slideshow-c5faf531.js.map +1 -0
- package/_internal/components/switch-a26a5a72.js +121 -0
- package/_internal/components/switch-a26a5a72.js.map +1 -0
- package/_internal/components/table-c43ec4a5.js +297 -0
- package/_internal/components/table-c43ec4a5.js.map +1 -0
- package/_internal/components/tabs-4037fe57.js +298 -0
- package/_internal/components/tabs-4037fe57.js.map +1 -0
- package/_internal/components/text-851c62f8.js +2 -0
- package/_internal/components/text-851c62f8.js.map +1 -0
- package/_internal/components/text-field-82adaeb4.js +359 -0
- package/_internal/components/text-field-82adaeb4.js.map +1 -0
- package/_internal/components/thumbnail-f1784929.js +42 -0
- package/_internal/components/thumbnail-f1784929.js.map +1 -0
- package/_internal/components/toolbar-a43533a2.js +61 -0
- package/_internal/components/toolbar-a43533a2.js.map +1 -0
- package/_internal/components/tooltip-aa48ddda.js +327 -0
- package/_internal/components/tooltip-aa48ddda.js.map +1 -0
- package/_internal/components/uploader-7bc3adaa.js +153 -0
- package/_internal/components/uploader-7bc3adaa.js.map +1 -0
- package/_internal/components/user-block-fc03f01a.js +144 -0
- package/_internal/components/user-block-fc03f01a.js.map +1 -0
- package/_internal/constants-b9e57936.js +2155 -0
- package/_internal/constants-b9e57936.js.map +1 -0
- package/_internal/constants-d0e3f49e.js +24 -0
- package/_internal/constants-d0e3f49e.js.map +1 -0
- package/_internal/context-9d1336a1.js +19 -0
- package/_internal/context-9d1336a1.js.map +1 -0
- package/_internal/forwardRef-15f62847.js +70 -0
- package/_internal/forwardRef-15f62847.js.map +1 -0
- package/_internal/getFocusableElements-230173a8.js +13 -0
- package/_internal/getFocusableElements-230173a8.js.map +1 -0
- package/_internal/index-192f8ada.js +103 -0
- package/_internal/index-192f8ada.js.map +1 -0
- package/_internal/index-8e7fecb5.js +436 -0
- package/_internal/index-8e7fecb5.js.map +1 -0
- package/_internal/index-b06353f2.js +117 -0
- package/_internal/index-b06353f2.js.map +1 -0
- package/_internal/information-49bbeed3.js +6 -0
- package/_internal/information-49bbeed3.js.map +1 -0
- package/_internal/isComponent-b9762ff1.js +18 -0
- package/_internal/isComponent-b9762ff1.js.map +1 -0
- package/_internal/isComponentType-e806b848.js +9 -0
- package/_internal/isComponentType-e806b848.js.map +1 -0
- package/_internal/mergeRefs-f0d7d6ea.js +30 -0
- package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
- package/_internal/state-db358714.js +130 -0
- package/_internal/state-db358714.js.map +1 -0
- package/_internal/useBooleanState-2a3d237c.js +12 -0
- package/_internal/useBooleanState-2a3d237c.js.map +1 -0
- package/_internal/useCallbackOnEscape-0b220f9c.js +62 -0
- package/_internal/useCallbackOnEscape-0b220f9c.js.map +1 -0
- package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
- package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
- package/_internal/useDisableStateProps-69e16b7c.js +36 -0
- package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
- package/_internal/useFocusTrap-3114e5e8.js +112 -0
- package/_internal/useFocusTrap-3114e5e8.js.map +1 -0
- package/_internal/useId-3a1facc0.js +18 -0
- package/_internal/useId-3a1facc0.js.map +1 -0
- package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
- package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
- package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
- package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
- package/_internal/wrapChildrenIconWithSpaces-f1e91251.js +20 -0
- package/_internal/wrapChildrenIconWithSpaces-f1e91251.js.map +1 -0
- package/index.d.ts +11 -367
- package/index.js +65 -14486
- package/index.js.map +1 -1
- package/package.json +4 -11
- package/utils/index.d.ts +1 -1
- package/utils/index.js +3 -1
- package/utils/index.js.map +1 -1
- package/_internal/Falsy.d.ts +0 -7
- package/_internal/index.js +0 -236
- package/_internal/index.js.map +0 -1
- package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
- package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
- package/src/components/alert-dialog/AlertDialog.tsx +0 -189
- package/src/components/alert-dialog/index.ts +0 -1
- package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
- package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
- package/src/components/autocomplete/Autocomplete.tsx +0 -294
- package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
- package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
- package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
- package/src/components/autocomplete/__mockData__/index.ts +0 -39
- package/src/components/autocomplete/index.ts +0 -2
- package/src/components/avatar/Avatar.stories.tsx +0 -119
- package/src/components/avatar/Avatar.test.tsx +0 -32
- package/src/components/avatar/Avatar.tsx +0 -114
- package/src/components/avatar/index.ts +0 -1
- package/src/components/badge/Badge.stories.tsx +0 -69
- package/src/components/badge/Badge.test.tsx +0 -45
- package/src/components/badge/Badge.tsx +0 -58
- package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
- package/src/components/badge/BadgeWrapper.test.tsx +0 -47
- package/src/components/badge/BadgeWrapper.tsx +0 -37
- package/src/components/badge/index.ts +0 -2
- package/src/components/button/Button.stories.tsx +0 -355
- package/src/components/button/Button.test.tsx +0 -125
- package/src/components/button/Button.tsx +0 -101
- package/src/components/button/ButtonGroup.stories.tsx +0 -52
- package/src/components/button/ButtonGroup.test.tsx +0 -41
- package/src/components/button/ButtonGroup.tsx +0 -50
- package/src/components/button/ButtonRoot.tsx +0 -163
- package/src/components/button/IconButton.stories.tsx +0 -52
- package/src/components/button/IconButton.test.tsx +0 -66
- package/src/components/button/IconButton.tsx +0 -91
- package/src/components/button/index.ts +0 -4
- package/src/components/checkbox/Checkbox.stories.tsx +0 -64
- package/src/components/checkbox/Checkbox.test.tsx +0 -154
- package/src/components/checkbox/Checkbox.tsx +0 -164
- package/src/components/checkbox/index.ts +0 -1
- package/src/components/chip/Chip.stories.tsx +0 -164
- package/src/components/chip/Chip.test.tsx +0 -243
- package/src/components/chip/Chip.tsx +0 -168
- package/src/components/chip/ChipGroup.stories.tsx +0 -47
- package/src/components/chip/ChipGroup.test.tsx +0 -37
- package/src/components/chip/ChipGroup.tsx +0 -60
- package/src/components/chip/index.ts +0 -2
- package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
- package/src/components/comment-block/CommentBlock.test.tsx +0 -28
- package/src/components/comment-block/CommentBlock.tsx +0 -172
- package/src/components/comment-block/index.ts +0 -1
- package/src/components/date-picker/DatePicker.stories.tsx +0 -118
- package/src/components/date-picker/DatePicker.test.tsx +0 -34
- package/src/components/date-picker/DatePicker.tsx +0 -52
- package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
- package/src/components/date-picker/DatePickerControlled.tsx +0 -259
- package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
- package/src/components/date-picker/DatePickerField.test.tsx +0 -70
- package/src/components/date-picker/DatePickerField.tsx +0 -135
- package/src/components/date-picker/constants.ts +0 -11
- package/src/components/date-picker/index.ts +0 -4
- package/src/components/date-picker/types.ts +0 -28
- package/src/components/dialog/Dialog.stories.tsx +0 -318
- package/src/components/dialog/Dialog.test.tsx +0 -97
- package/src/components/dialog/Dialog.tsx +0 -288
- package/src/components/dialog/index.ts +0 -1
- package/src/components/divider/Divider.test.tsx +0 -51
- package/src/components/divider/Divider.tsx +0 -50
- package/src/components/divider/index.ts +0 -1
- package/src/components/drag-handle/DragHandle.test.tsx +0 -36
- package/src/components/drag-handle/DragHandle.tsx +0 -51
- package/src/components/drag-handle/index.ts +0 -1
- package/src/components/dropdown/Dropdown.stories.tsx +0 -31
- package/src/components/dropdown/Dropdown.test.tsx +0 -66
- package/src/components/dropdown/Dropdown.tsx +0 -186
- package/src/components/dropdown/index.ts +0 -1
- package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
- package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
- package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
- package/src/components/expansion-panel/index.ts +0 -1
- package/src/components/flag/Flag.stories.tsx +0 -48
- package/src/components/flag/Flag.test.tsx +0 -62
- package/src/components/flag/Flag.tsx +0 -52
- package/src/components/flag/index.ts +0 -1
- package/src/components/flex-box/FlexBox.stories.tsx +0 -156
- package/src/components/flex-box/FlexBox.test.tsx +0 -24
- package/src/components/flex-box/FlexBox.tsx +0 -100
- package/src/components/flex-box/index.ts +0 -1
- package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
- package/src/components/generic-block/GenericBlock.test.tsx +0 -156
- package/src/components/generic-block/GenericBlock.tsx +0 -225
- package/src/components/generic-block/constants.ts +0 -9
- package/src/components/generic-block/index.ts +0 -2
- package/src/components/grid/Grid.tsx +0 -83
- package/src/components/grid/GridItem.tsx +0 -55
- package/src/components/grid/index.ts +0 -2
- package/src/components/grid-column/GridColumn.stories.tsx +0 -45
- package/src/components/grid-column/GridColumn.test.jsx +0 -56
- package/src/components/grid-column/GridColumn.tsx +0 -83
- package/src/components/grid-column/index.ts +0 -1
- package/src/components/heading/Heading.stories.tsx +0 -69
- package/src/components/heading/Heading.test.tsx +0 -82
- package/src/components/heading/Heading.tsx +0 -65
- package/src/components/heading/HeadingLevelProvider.tsx +0 -30
- package/src/components/heading/constants.ts +0 -16
- package/src/components/heading/context.tsx +0 -13
- package/src/components/heading/index.ts +0 -3
- package/src/components/heading/useHeadingLevel.tsx +0 -8
- package/src/components/icon/Icon.stories.tsx +0 -73
- package/src/components/icon/Icon.test.tsx +0 -125
- package/src/components/icon/Icon.tsx +0 -133
- package/src/components/icon/index.ts +0 -1
- package/src/components/image-block/ImageBlock.stories.tsx +0 -117
- package/src/components/image-block/ImageBlock.test.tsx +0 -58
- package/src/components/image-block/ImageBlock.tsx +0 -142
- package/src/components/image-block/ImageCaption.tsx +0 -115
- package/src/components/image-block/index.ts +0 -1
- package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
- package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
- package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
- package/src/components/image-lightbox/constants.ts +0 -11
- package/src/components/image-lightbox/index.ts +0 -2
- package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
- package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
- package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
- package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
- package/src/components/image-lightbox/types.ts +0 -48
- package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
- package/src/components/inline-list/InlineList.stories.tsx +0 -77
- package/src/components/inline-list/InlineList.test.tsx +0 -52
- package/src/components/inline-list/InlineList.tsx +0 -96
- package/src/components/inline-list/index.ts +0 -1
- package/src/components/input-helper/InputHelper.stories.tsx +0 -35
- package/src/components/input-helper/InputHelper.test.tsx +0 -55
- package/src/components/input-helper/InputHelper.tsx +0 -65
- package/src/components/input-helper/constants.ts +0 -11
- package/src/components/input-helper/index.ts +0 -1
- package/src/components/input-label/InputLabel.stories.tsx +0 -45
- package/src/components/input-label/InputLabel.test.tsx +0 -59
- package/src/components/input-label/InputLabel.tsx +0 -69
- package/src/components/input-label/index.ts +0 -1
- package/src/components/lightbox/Lightbox.stories.tsx +0 -101
- package/src/components/lightbox/Lightbox.test.tsx +0 -53
- package/src/components/lightbox/Lightbox.tsx +0 -180
- package/src/components/lightbox/index.ts +0 -1
- package/src/components/link/Link.stories.tsx +0 -195
- package/src/components/link/Link.test.tsx +0 -127
- package/src/components/link/Link.tsx +0 -106
- package/src/components/link/index.ts +0 -1
- package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
- package/src/components/link-preview/LinkPreview.test.tsx +0 -105
- package/src/components/link-preview/LinkPreview.tsx +0 -158
- package/src/components/link-preview/index.ts +0 -1
- package/src/components/list/List.stories.tsx +0 -116
- package/src/components/list/List.test.tsx +0 -18
- package/src/components/list/List.tsx +0 -104
- package/src/components/list/ListDivider.stories.tsx +0 -12
- package/src/components/list/ListDivider.test.tsx +0 -22
- package/src/components/list/ListDivider.tsx +0 -35
- package/src/components/list/ListItem.stories.tsx +0 -66
- package/src/components/list/ListItem.test.tsx +0 -93
- package/src/components/list/ListItem.tsx +0 -157
- package/src/components/list/ListSubheader.stories.tsx +0 -11
- package/src/components/list/ListSubheader.test.tsx +0 -21
- package/src/components/list/ListSubheader.tsx +0 -44
- package/src/components/list/index.ts +0 -4
- package/src/components/list/useInteractiveList.tsx +0 -202
- package/src/components/message/Message.stories.tsx +0 -72
- package/src/components/message/Message.test.tsx +0 -76
- package/src/components/message/Message.tsx +0 -100
- package/src/components/message/index.ts +0 -1
- package/src/components/mosaic/Mosaic.stories.tsx +0 -89
- package/src/components/mosaic/Mosaic.test.tsx +0 -77
- package/src/components/mosaic/Mosaic.tsx +0 -98
- package/src/components/mosaic/index.ts +0 -1
- package/src/components/navigation/Navigation.stories.tsx +0 -234
- package/src/components/navigation/Navigation.test.tsx +0 -65
- package/src/components/navigation/Navigation.tsx +0 -79
- package/src/components/navigation/NavigationItem.test.tsx +0 -35
- package/src/components/navigation/NavigationItem.tsx +0 -82
- package/src/components/navigation/NavigationSection.test.tsx +0 -137
- package/src/components/navigation/NavigationSection.tsx +0 -108
- package/src/components/navigation/context.tsx +0 -7
- package/src/components/navigation/index.ts +0 -1
- package/src/components/notification/Notification.test.tsx +0 -94
- package/src/components/notification/Notification.tsx +0 -138
- package/src/components/notification/Notifications.stories.tsx +0 -92
- package/src/components/notification/constants.ts +0 -28
- package/src/components/notification/index.ts +0 -1
- package/src/components/popover/Popover.stories.tsx +0 -264
- package/src/components/popover/Popover.test.tsx +0 -62
- package/src/components/popover/Popover.tsx +0 -201
- package/src/components/popover/constants.ts +0 -62
- package/src/components/popover/index.ts +0 -3
- package/src/components/popover/usePopoverStyle.tsx +0 -184
- package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
- package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
- package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
- package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
- package/src/components/popover-dialog/index.tsx +0 -1
- package/src/components/post-block/PostBlock.test.tsx +0 -27
- package/src/components/post-block/PostBlock.tsx +0 -122
- package/src/components/post-block/index.ts +0 -1
- package/src/components/progress/Progress.tsx +0 -68
- package/src/components/progress/ProgressCircular.stories.tsx +0 -43
- package/src/components/progress/ProgressCircular.test.tsx +0 -46
- package/src/components/progress/ProgressCircular.tsx +0 -82
- package/src/components/progress/ProgressLinear.stories.tsx +0 -12
- package/src/components/progress/ProgressLinear.test.tsx +0 -30
- package/src/components/progress/ProgressLinear.tsx +0 -50
- package/src/components/progress/index.ts +0 -3
- package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
- package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
- package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
- package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
- package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
- package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
- package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
- package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
- package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
- package/src/components/progress-tracker/index.ts +0 -4
- package/src/components/radio-button/RadioButton.stories.tsx +0 -71
- package/src/components/radio-button/RadioButton.test.tsx +0 -143
- package/src/components/radio-button/RadioButton.tsx +0 -143
- package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
- package/src/components/radio-button/RadioGroup.test.tsx +0 -29
- package/src/components/radio-button/RadioGroup.tsx +0 -44
- package/src/components/radio-button/index.ts +0 -2
- package/src/components/select/Select.stories.tsx +0 -385
- package/src/components/select/Select.test.tsx +0 -199
- package/src/components/select/Select.tsx +0 -199
- package/src/components/select/SelectMultiple.stories.tsx +0 -315
- package/src/components/select/SelectMultiple.test.tsx +0 -213
- package/src/components/select/SelectMultiple.tsx +0 -206
- package/src/components/select/WithSelectContext.tsx +0 -147
- package/src/components/select/constants.ts +0 -55
- package/src/components/select/index.ts +0 -2
- package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
- package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
- package/src/components/side-navigation/SideNavigation.tsx +0 -52
- package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
- package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
- package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
- package/src/components/side-navigation/index.ts +0 -2
- package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
- package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
- package/src/components/skeleton/SkeletonCircle.tsx +0 -52
- package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
- package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
- package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
- package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
- package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
- package/src/components/skeleton/SkeletonTypography.tsx +0 -59
- package/src/components/skeleton/index.ts +0 -3
- package/src/components/slider/Slider.stories.tsx +0 -45
- package/src/components/slider/Slider.test.tsx +0 -29
- package/src/components/slider/Slider.tsx +0 -299
- package/src/components/slider/index.ts +0 -2
- package/src/components/slideshow/Slides.tsx +0 -130
- package/src/components/slideshow/Slideshow.stories.tsx +0 -179
- package/src/components/slideshow/Slideshow.test.tsx +0 -35
- package/src/components/slideshow/Slideshow.tsx +0 -173
- package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
- package/src/components/slideshow/SlideshowControls.tsx +0 -243
- package/src/components/slideshow/SlideshowItem.tsx +0 -44
- package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
- package/src/components/slideshow/constants.ts +0 -24
- package/src/components/slideshow/index.ts +0 -4
- package/src/components/slideshow/useKeyNavigate.ts +0 -28
- package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
- package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
- package/src/components/slideshow/useSwipeNavigate.ts +0 -18
- package/src/components/switch/Switch.stories.tsx +0 -49
- package/src/components/switch/Switch.test.tsx +0 -144
- package/src/components/switch/Switch.tsx +0 -145
- package/src/components/switch/index.ts +0 -1
- package/src/components/table/Table.test.tsx +0 -29
- package/src/components/table/Table.tsx +0 -59
- package/src/components/table/TableBody.test.tsx +0 -30
- package/src/components/table/TableBody.tsx +0 -42
- package/src/components/table/TableCell.test.tsx +0 -72
- package/src/components/table/TableCell.tsx +0 -130
- package/src/components/table/TableHeader.test.tsx +0 -30
- package/src/components/table/TableHeader.tsx +0 -48
- package/src/components/table/TableRow.test.tsx +0 -40
- package/src/components/table/TableRow.tsx +0 -71
- package/src/components/table/index.ts +0 -5
- package/src/components/tabs/Tab.test.tsx +0 -50
- package/src/components/tabs/Tab.tsx +0 -133
- package/src/components/tabs/TabList.test.tsx +0 -49
- package/src/components/tabs/TabList.tsx +0 -94
- package/src/components/tabs/TabPanel.test.tsx +0 -37
- package/src/components/tabs/TabPanel.tsx +0 -67
- package/src/components/tabs/TabProvider.test.tsx +0 -161
- package/src/components/tabs/TabProvider.tsx +0 -67
- package/src/components/tabs/Tabs.stories.tsx +0 -170
- package/src/components/tabs/index.ts +0 -4
- package/src/components/tabs/state.ts +0 -114
- package/src/components/tabs/test-utils.ts +0 -39
- package/src/components/text/Text.stories.tsx +0 -177
- package/src/components/text/Text.test.tsx +0 -92
- package/src/components/text/Text.tsx +0 -139
- package/src/components/text/index.ts +0 -1
- package/src/components/text-field/TextField.stories.tsx +0 -180
- package/src/components/text-field/TextField.test.tsx +0 -298
- package/src/components/text-field/TextField.tsx +0 -493
- package/src/components/text-field/index.ts +0 -1
- package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
- package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
- package/src/components/thumbnail/Thumbnail.tsx +0 -248
- package/src/components/thumbnail/index.ts +0 -3
- package/src/components/thumbnail/types.ts +0 -48
- package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
- package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
- package/src/components/thumbnail/useImageLoad.ts +0 -40
- package/src/components/toolbar/Toolbar.tsx +0 -68
- package/src/components/toolbar/index.ts +0 -1
- package/src/components/tooltip/Tooltip.stories.tsx +0 -118
- package/src/components/tooltip/Tooltip.test.tsx +0 -417
- package/src/components/tooltip/Tooltip.tsx +0 -165
- package/src/components/tooltip/constants.ts +0 -8
- package/src/components/tooltip/context.tsx +0 -17
- package/src/components/tooltip/index.ts +0 -1
- package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
- package/src/components/tooltip/useTooltipOpen.tsx +0 -143
- package/src/components/uploader/Uploader.stories.tsx +0 -109
- package/src/components/uploader/Uploader.test.tsx +0 -146
- package/src/components/uploader/Uploader.tsx +0 -177
- package/src/components/uploader/index.ts +0 -1
- package/src/components/user-block/UserBlock.stories.tsx +0 -133
- package/src/components/user-block/UserBlock.test.tsx +0 -106
- package/src/components/user-block/UserBlock.tsx +0 -193
- package/src/components/user-block/index.ts +0 -1
- package/src/constants.ts +0 -27
- package/src/hooks/useBooleanState.tsx +0 -13
- package/src/hooks/useCallbackOnEscape.ts +0 -34
- package/src/hooks/useChipGroupNavigation.tsx +0 -75
- package/src/hooks/useClickAway.tsx +0 -48
- package/src/hooks/useDisableBodyScroll.ts +0 -28
- package/src/hooks/useEventCallback.tsx +0 -17
- package/src/hooks/useFocus.tsx +0 -21
- package/src/hooks/useFocusTrap.ts +0 -93
- package/src/hooks/useFocusWithin.ts +0 -33
- package/src/hooks/useId.test.tsx +0 -22
- package/src/hooks/useId.ts +0 -15
- package/src/hooks/useImageSize.ts +0 -17
- package/src/hooks/useInfiniteScroll.tsx +0 -60
- package/src/hooks/useIntersectionObserver.tsx +0 -43
- package/src/hooks/useInterval.tsx +0 -31
- package/src/hooks/useKeyboardListNavigation.tsx +0 -204
- package/src/hooks/useListenFocus.tsx +0 -26
- package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
- package/src/hooks/usePopper.ts +0 -12
- package/src/hooks/usePreviousValue.ts +0 -12
- package/src/hooks/useRovingTabIndex.tsx +0 -90
- package/src/hooks/useSizeOnWindowResize.ts +0 -30
- package/src/hooks/useSlideshowControls.ts +0 -246
- package/src/hooks/useStopPropagation.ts +0 -21
- package/src/hooks/useTransitionVisibility.ts +0 -48
- package/src/index.ts +0 -63
- package/src/stories/controls/color.ts +0 -7
- package/src/stories/controls/element.ts +0 -6
- package/src/stories/controls/focusPoint.ts +0 -1
- package/src/stories/controls/icons.ts +0 -126
- package/src/stories/controls/image.ts +0 -84
- package/src/stories/controls/selectArgType.ts +0 -8
- package/src/stories/controls/theme.ts +0 -3
- package/src/stories/controls/typography.ts +0 -5
- package/src/stories/controls/withUndefined.ts +0 -1
- package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
- package/src/stories/decorators/withCombinations.tsx +0 -132
- package/src/stories/decorators/withNestedProps.tsx +0 -22
- package/src/stories/decorators/withResizableBox.tsx +0 -21
- package/src/stories/decorators/withThemedBackground.tsx +0 -16
- package/src/stories/decorators/withValueOnChange.tsx +0 -18
- package/src/stories/decorators/withWrapper.tsx +0 -19
- package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
- package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
- package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
- package/src/stories/generated/Button/Demos.stories.tsx +0 -11
- package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
- package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
- package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
- package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
- package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
- package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
- package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
- package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
- package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
- package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
- package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
- package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
- package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
- package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
- package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
- package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
- package/src/stories/generated/List/Demos.stories.tsx +0 -11
- package/src/stories/generated/Message/Demos.stories.tsx +0 -11
- package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
- package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
- package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
- package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
- package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
- package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
- package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
- package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
- package/src/stories/generated/Select/Demos.stories.tsx +0 -14
- package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
- package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
- package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
- package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
- package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
- package/src/stories/generated/Table/Demos.stories.tsx +0 -7
- package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
- package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
- package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
- package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
- package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
- package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
- package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
- package/src/stories/utils/CustomLink.tsx +0 -12
- package/src/stories/utils/concatPath.tsx +0 -17
- package/src/stories/utils/disableArgTypes.ts +0 -3
- package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
- package/src/stories/utils/lorem.ts +0 -59
- package/src/stories/utils/theming.tsx +0 -166
- package/src/stories/utils/toFlattenProps.ts +0 -28
- package/src/stories/utils/withCategory.ts +0 -12
- package/src/testing/utils/ThemeSentinel.tsx +0 -10
- package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
- package/src/testing/utils/index.ts +0 -1
- package/src/testing/utils/queries.ts +0 -19
- package/src/untypped-modules.d.ts +0 -9
- package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
- package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
- package/src/utils/ClickAwayProvider/index.ts +0 -1
- package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
- package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
- package/src/utils/Portal/Portal.test.tsx +0 -31
- package/src/utils/Portal/Portal.tsx +0 -33
- package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
- package/src/utils/Portal/PortalProvider.test.tsx +0 -72
- package/src/utils/Portal/PortalProvider.tsx +0 -24
- package/src/utils/Portal/index.tsx +0 -2
- package/src/utils/browser/DOM/findImage.tsx +0 -3
- package/src/utils/browser/DOM/startViewTransition.ts +0 -68
- package/src/utils/browser/focus/constants.ts +0 -7
- package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
- package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
- package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
- package/src/utils/browser/focus/getFocusableElements.ts +0 -7
- package/src/utils/browser/isFocusVisible.ts +0 -9
- package/src/utils/browser/isHoverNotSupported.test.js +0 -24
- package/src/utils/browser/isHoverNotSupported.ts +0 -2
- package/src/utils/browser/isReducedMotion.ts +0 -6
- package/src/utils/date/addMonthResetDay.test.ts +0 -13
- package/src/utils/date/addMonthResetDay.ts +0 -9
- package/src/utils/date/formatDayNumber.test.ts +0 -12
- package/src/utils/date/formatDayNumber.ts +0 -5
- package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
- package/src/utils/date/getFirstDayOfWeek.ts +0 -59
- package/src/utils/date/getMonthCalendar.test.ts +0 -127
- package/src/utils/date/getMonthCalendar.ts +0 -69
- package/src/utils/date/getWeekDays.test.ts +0 -48
- package/src/utils/date/getWeekDays.ts +0 -34
- package/src/utils/date/getYearDisplayName.test.ts +0 -20
- package/src/utils/date/getYearDisplayName.ts +0 -12
- package/src/utils/date/isDateValid.test.ts +0 -15
- package/src/utils/date/isDateValid.ts +0 -4
- package/src/utils/date/isSameDay.test.ts +0 -37
- package/src/utils/date/isSameDay.ts +0 -11
- package/src/utils/disabled/DisabledStateContext.tsx +0 -29
- package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
- package/src/utils/disabled/index.ts +0 -2
- package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
- package/src/utils/disabled/useDisableStateProps.tsx +0 -37
- package/src/utils/function/makeListenerTowerContext.ts +0 -32
- package/src/utils/index.ts +0 -7
- package/src/utils/locale/getCurrentLocale.ts +0 -4
- package/src/utils/locale/parseLocale.test.ts +0 -17
- package/src/utils/locale/parseLocale.ts +0 -23
- package/src/utils/locale/types.ts +0 -8
- package/src/utils/number/clamp.ts +0 -17
- package/src/utils/object/isEqual.test.ts +0 -25
- package/src/utils/object/isEqual.ts +0 -11
- package/src/utils/partitionMulti.test.ts +0 -27
- package/src/utils/partitionMulti.ts +0 -29
- package/src/utils/react/OnBeforeUnmount.tsx +0 -20
- package/src/utils/react/RawClickable.test.tsx +0 -153
- package/src/utils/react/RawClickable.tsx +0 -65
- package/src/utils/react/flattenChildren.ts +0 -32
- package/src/utils/react/forwardRef.ts +0 -11
- package/src/utils/react/forwardRefPolymorphic.ts +0 -9
- package/src/utils/react/mergeRefs.ts +0 -33
- package/src/utils/react/renderLink.tsx +0 -17
- package/src/utils/react/skipRender.tsx +0 -18
- package/src/utils/react/unref.ts +0 -7
- package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
- package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
- package/src/utils/theme/ThemeContext.ts +0 -16
- package/src/utils/theme/invertTheme.ts +0 -4
- package/src/utils/type/Comp.ts +0 -14
- package/src/utils/type/ComponentRef.ts +0 -16
- package/src/utils/type/HasAriaDisabled.ts +0 -6
- package/src/utils/type/HasPolymorphicAs.ts +0 -6
- package/src/utils/type/HasRequiredLinkHref.ts +0 -1
- package/src/utils/type/MaybeElementOrRef.ts +0 -6
- package/src/utils/type/index.ts +0 -9
- package/src/utils/type/isComponent.ts +0 -33
- package/src/utils/type/isComponentType.ts +0 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverDialog-193a0918.js","sources":["../../src/utils/date/addMonthResetDay.ts","../../src/utils/date/isDateValid.ts","../../src/components/date-picker/constants.ts","../../src/utils/date/getFirstDayOfWeek.ts","../../src/utils/date/getWeekDays.ts","../../src/utils/date/getMonthCalendar.ts","../../src/utils/date/isSameDay.ts","../../src/utils/locale/getCurrentLocale.ts","../../src/utils/locale/parseLocale.ts","../../src/hooks/usePreviousValue.ts","../../src/utils/date/getYearDisplayName.ts","../../src/utils/date/formatDayNumber.ts","../../src/components/date-picker/DatePickerControlled.tsx","../../src/components/date-picker/DatePicker.tsx","../../src/components/date-picker/DatePickerField.tsx","../../src/components/popover-dialog/PopoverDialog.tsx"],"sourcesContent":["/**\n * Add a number of months from a date while resetting the day to prevent month length mismatches.\n */\nexport function addMonthResetDay(date: Date, monthOffset: number) {\n const newDate = new Date(date.getTime());\n newDate.setDate(1);\n newDate.setMonth(date.getMonth() + monthOffset);\n return newDate;\n}\n","/**\n * Check if given date is valid.\n */\nexport const isDateValid = (date?: Date) => date instanceof Date && !Number.isNaN(date.getTime());\n","import { getRootClassName } from '@lumx/core/js/utils/className';\n\n/**\n * Component display name.\n */\nexport const COMPONENT_NAME = 'DatePicker';\n\n/**\n * Component default class name and class prefix.\n */\nexport const CLASSNAME = getRootClassName(COMPONENT_NAME);\n","import { Locale } from '@lumx/react/utils/locale/types';\n\n/** Get first day of week for locale from the browser API */\nexport const getFromBrowser = (locale: Locale): number | undefined => {\n try {\n const localeMetadata = new Intl.Locale(locale.code) as any;\n const { firstDay } = localeMetadata.getWeekInfo?.() || localeMetadata.weekInfo;\n // Sunday is represented as `0` in Date.getDay()\n if (firstDay === 7) return 0;\n return firstDay;\n } catch (e) {\n return undefined;\n }\n};\n\n/** List first day for each locale (could be removed when all browser implement Locale weekInfo) */\nconst FIRST_DAY_FOR_LOCALES = [\n {\n // Locales with Sunday as the first day of the week\n localeRX: /^(af|ar-(dz|eg|sa)|bn|cy|en-(ca|us|za)|fr-ca|gd|he|hi|ja|km|ko|pt-br|te|th|ug|zh-hk)$/i,\n firstDay: 0,\n },\n {\n // Locales with Monday as the first day of the week\n localeRX:\n /^(ar-(ma|tn)|az|be|bg|bs|ca|cs|da|de|el|en-(au|gb|ie|in|nz)|eo|es|et|eu|fi|fr|fy|gl|gu|hr|ht|hu|hy|id|is|it|ka|kk|kn|lb|lt|lv|mk|mn|ms|mt|nb|nl|nn|oc|pl|pt|ro|ru|sk|sl|sq|sr|sv|ta|tr|uk|uz|vi|zh-(cn|tw))$/i,\n firstDay: 1,\n },\n {\n // Locales with Saturday as the first day of the week\n localeRX: /^(ar|fa-ir)$/i,\n firstDay: 6,\n },\n];\n\n/** Find first day of week for locale from the constant */\nconst getFromConstant = (locale: Locale, searchBy: keyof Locale = 'code'): number | undefined => {\n // Search for locale (lang + region)\n for (const { localeRX, firstDay } of FIRST_DAY_FOR_LOCALES) {\n if (localeRX.test(locale[searchBy] as string)) return firstDay;\n }\n // Fallback search for locale lang\n if (locale.code !== locale.language) {\n return getFromConstant(locale, 'language');\n }\n return undefined;\n};\n\n/**\n * Get first day of the week for the given locale code (language + region).\n */\nexport const getFirstDayOfWeek = (locale: Locale): number | undefined => {\n // Get from browser API\n const firstDay = getFromBrowser(locale);\n if (firstDay !== undefined) return firstDay;\n\n // Get from constant\n return getFromConstant(locale);\n};\n","import { Locale } from '@lumx/react/utils/locale/types';\nimport { getFirstDayOfWeek } from './getFirstDayOfWeek';\n\nexport type WeekDayInfo = { letter: string; number: number; long: string };\n\nexport const DAYS_PER_WEEK = 7;\n\n/**\n * List week days (based on locale) with the week day letter (ex: \"M\" for \"Monday\") and week day number\n * (0-based index starting on Sunday).\n */\nexport const getWeekDays = (locale: Locale): Array<WeekDayInfo> => {\n const iterDate = new Date();\n const firstDay = getFirstDayOfWeek(locale) ?? 1;\n\n // Go to start of the week\n const offset = firstDay - iterDate.getDay();\n iterDate.setDate(iterDate.getDate() + offset);\n\n // Iterate through the days of the week\n const weekDays: Array<WeekDayInfo> = [];\n for (let i = 0; i < DAYS_PER_WEEK; i++) {\n // Single letter week day (ex: \"M\" for \"Monday\", \"L\" for \"Lundi\", etc.)\n const letter = iterDate.toLocaleDateString(locale.code, { weekday: 'narrow' });\n // Weed day long notation\n const long = iterDate.toLocaleDateString(locale.code, { weekday: 'long' });\n // Day number (1-based index starting on Monday)\n const number = iterDate.getDay();\n\n weekDays.push({ letter, number, long });\n iterDate.setDate(iterDate.getDate() + 1);\n }\n return weekDays;\n};\n","import { getWeekDays, WeekDayInfo } from '@lumx/react/utils/date/getWeekDays';\nimport { Locale } from '@lumx/react/utils/locale/types';\nimport { last } from '@lumx/core/js/utils/collection/last';\n\ntype AnnotatedDay = { date: Date; isOutOfRange?: boolean };\ntype AnnotatedWeek = Partial<Record<number, AnnotatedDay>>;\n\ninterface MonthCalendar {\n weekDays: Array<WeekDayInfo>;\n weeks: Array<AnnotatedWeek>;\n}\n\n/** Up to 6 rows can appear in a month calendar => 4 weeks + 1 start of month partial week + 1 send of month partial week */\nconst MONTH_ROW_COUNT = 6;\n\n/**\n * Get month calendar.\n * A list of weeks with days indexed by week day number\n */\nexport const getMonthCalendar = (\n locale: Locale,\n referenceDate = new Date(),\n rangeMinDate?: Date,\n rangeMaxDate?: Date,\n): MonthCalendar => {\n const month = referenceDate.getMonth();\n const iterDate = new Date(referenceDate);\n iterDate.setDate(1);\n\n const minDate = rangeMinDate && new Date(rangeMinDate);\n const maxDate = rangeMaxDate && new Date(rangeMaxDate);\n // Reset time to compare dates only.\n iterDate.setUTCHours(0, 0, 0, 0);\n minDate?.setUTCHours(0, 0, 0, 0);\n maxDate?.setUTCHours(0, 0, 0, 0);\n\n const weekDays = getWeekDays(locale);\n const lastDayOfWeek = last(weekDays);\n\n const weeks: Array<AnnotatedWeek> = [];\n let week: AnnotatedWeek = {};\n let rowCount = 0;\n\n while (rowCount < MONTH_ROW_COUNT) {\n const weekDayNumber = iterDate.getDay();\n const day: AnnotatedDay = { date: new Date(iterDate.getTime()) };\n\n // If a range is specified, check if the day is out of range.\n // min and max date are included within the valid range.\n if ((minDate && iterDate < minDate) || (maxDate && iterDate > maxDate)) {\n day.isOutOfRange = true;\n }\n\n if (iterDate.getMonth() === month) {\n week[weekDayNumber] = day;\n }\n\n if (weekDayNumber === lastDayOfWeek?.number) {\n weeks.push(week);\n rowCount += 1;\n week = {};\n }\n iterDate.setDate(iterDate.getDate() + 1);\n }\n if (Object.keys(week).length) weeks.push(week);\n\n return { weeks, weekDays };\n};\n","import { isDateValid } from '@lumx/react/utils/date/isDateValid';\n\n/**\n * Check `date1` is on the same day as `date2`.\n */\nexport const isSameDay = (date1: Date, date2: Date) =>\n isDateValid(date1) &&\n isDateValid(date2) &&\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate();\n","/**\n * Get current browser locale.\n */\nexport const getCurrentLocale = (): string => navigator.languages?.[0] || navigator.language;\n","import { Locale } from '@lumx/react/utils/locale/types';\n\n/**\n * Parse locale code\n * @example\n * parseLocale('EN') // => { code: 'en', language: 'en' }\n * parseLocale('en_us') // => { code: 'en-US', language: 'en', region: 'US' }\n * parseLocale('EN-US') // => { code: 'en-US', language: 'en', region: 'US' }\n */\nexport function parseLocale(locale: string): Locale | undefined {\n const [rawLanguage, rawRegion] = locale.split(/[-_]/);\n if (!rawLanguage) {\n return undefined;\n }\n const language = rawLanguage.toLowerCase();\n let region: string | undefined;\n let code = language;\n if (rawRegion) {\n region = rawRegion.toUpperCase();\n code += `-${region}`;\n }\n return { code, region, language };\n}\n","import React from 'react';\n/**\n * Returns the value from the previous render.\n */\nexport function usePreviousValue<V>(value: V): V | undefined {\n const prevValueRef = React.useRef<V>();\n const prevValue = prevValueRef.current;\n React.useEffect(() => {\n prevValueRef.current = value;\n }, [value]);\n return prevValue;\n}\n","export const getYearDisplayName = (locale: string) => {\n let label: string | undefined;\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const displayNames = new Intl.DisplayNames(locale, { type: 'dateTimeField' });\n label = displayNames.of('year');\n } catch (error) {\n label = '';\n }\n return label;\n};\n","export function formatDayNumber(locale: string, date: Date): string {\n const formattedDate = date.toLocaleDateString(locale, { day: 'numeric' });\n if (formattedDate.match(/\\d/)) return formattedDate.replace(/\\D*(\\d+)\\D*/g, '$1');\n return formattedDate;\n}\n","import React, { KeyboardEventHandler } from 'react';\n\nimport classNames from 'classnames';\n\nimport {\n Button,\n DatePickerProps,\n Emphasis,\n FlexBox,\n IconButton,\n Text,\n TextField,\n TextFieldProps,\n Toolbar,\n} from '@lumx/react';\nimport { mdiChevronLeft, mdiChevronRight } from '@lumx/icons';\nimport { getMonthCalendar } from '@lumx/react/utils/date/getMonthCalendar';\nimport { isSameDay } from '@lumx/react/utils/date/isSameDay';\nimport { getCurrentLocale } from '@lumx/react/utils/locale/getCurrentLocale';\nimport { parseLocale } from '@lumx/react/utils/locale/parseLocale';\nimport { Locale } from '@lumx/react/utils/locale/types';\nimport { usePreviousValue } from '@lumx/react/hooks/usePreviousValue';\nimport { getYearDisplayName } from '@lumx/react/utils/date/getYearDisplayName';\nimport { onEnterPressed } from '@lumx/core/js/utils';\nimport { addMonthResetDay } from '@lumx/react/utils/date/addMonthResetDay';\nimport { formatDayNumber } from '@lumx/react/utils/date/formatDayNumber';\nimport { VISUALLY_HIDDEN } from '@lumx/react/constants';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { CLASSNAME } from './constants';\n\n/**\n * Defines the props of the component.\n */\nexport interface DatePickerControlledProps extends DatePickerProps {\n /** Selected month to display. */\n selectedMonth: Date;\n /** On previous month change callback. */\n onPrevMonthChange(): void;\n /** On next month change callback. */\n onNextMonthChange(): void;\n /** On month/year change callback. */\n onMonthChange?: (newMonth: Date) => void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'DatePickerControlled';\n\n/**\n * DatePickerControlled component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const DatePickerControlled = forwardRef<DatePickerControlledProps, HTMLDivElement>((props, ref) => {\n const {\n locale = getCurrentLocale(),\n maxDate,\n minDate,\n nextButtonProps,\n onChange,\n onNextMonthChange,\n onPrevMonthChange,\n previousButtonProps,\n selectedMonth,\n todayOrSelectedDateRef,\n value,\n onMonthChange,\n style,\n } = props;\n const { weeks, weekDays } = React.useMemo(() => {\n const localeObj = parseLocale(locale) as Locale;\n return getMonthCalendar(localeObj, selectedMonth, minDate, maxDate);\n }, [locale, minDate, maxDate, selectedMonth]);\n\n const selectedYear = selectedMonth.getFullYear();\n const formattedYear = selectedMonth.toLocaleDateString(locale, { year: 'numeric' }).slice(0, 4);\n const [currentYear, setCurrentYear] = React.useState(String(selectedYear));\n\n // Updates month offset when validating year. Adds or removes 12 months per year when updating year value.\n const updateMonthOffset = React.useCallback(\n (newYearValue: string) => {\n const yearNumber = Number(newYearValue);\n if (yearNumber < 0 && yearNumber >= 9999) {\n return;\n }\n\n const previousYearNumber = selectedMonth.getFullYear();\n const offset = (yearNumber - previousYearNumber) * 12;\n onMonthChange?.(addMonthResetDay(selectedMonth, offset));\n },\n [selectedMonth, onMonthChange],\n );\n\n const onYearChange = React.useCallback<TextFieldProps['onChange']>(\n (newYearValue, _, event) => {\n setCurrentYear(newYearValue);\n\n // Detect if change is coming from the spin up/down arrows\n const inputType = (event?.nativeEvent as any)?.inputType;\n if (\n // Chrome/Safari\n !inputType ||\n // Firefox\n inputType === 'insertReplacementText'\n ) {\n updateMonthOffset(newYearValue);\n }\n },\n [updateMonthOffset],\n );\n\n const updateYear = React.useCallback(() => {\n updateMonthOffset(currentYear);\n }, [updateMonthOffset, currentYear]);\n\n const updateYearOnEnterPressed: KeyboardEventHandler = React.useMemo(\n () => onEnterPressed(updateYear),\n [updateYear],\n );\n\n const monthYear = selectedMonth.toLocaleDateString(locale, { year: 'numeric', month: 'long' });\n\n // Update current year when selected year changes\n React.useEffect(() => {\n setCurrentYear(String(selectedYear));\n }, [selectedYear]);\n\n const prevSelectedMonth = usePreviousValue(selectedMonth);\n const monthHasChanged = prevSelectedMonth && !isSameDay(selectedMonth, prevSelectedMonth);\n\n // Only set the aria-live after the month has changed otherwise it can get announced on mount when used in the popover dialog\n const [labelAriaLive, setLabelAriaLive] = React.useState<'polite'>();\n React.useEffect(() => {\n if (monthHasChanged) setLabelAriaLive('polite');\n }, [monthHasChanged]);\n\n const yearLabel = getYearDisplayName(locale);\n\n return (\n <div ref={ref} className={`${CLASSNAME}`} style={style}>\n <Toolbar\n className={`${CLASSNAME}__toolbar`}\n after={\n <IconButton\n {...nextButtonProps}\n emphasis={Emphasis.low}\n icon={mdiChevronRight}\n onClick={onNextMonthChange}\n />\n }\n before={\n <IconButton\n {...previousButtonProps}\n emphasis={Emphasis.low}\n icon={mdiChevronLeft}\n onClick={onPrevMonthChange}\n />\n }\n label={\n <>\n <span aria-live={labelAriaLive} className={onMonthChange ? VISUALLY_HIDDEN : ''} dir=\"auto\">\n {monthYear}\n </span>\n {onMonthChange && (\n <FlexBox\n className={`${CLASSNAME}__month`}\n orientation=\"horizontal\"\n hAlign=\"center\"\n gap=\"regular\"\n vAlign=\"center\"\n dir=\"auto\"\n >\n {RegExp(`(.*)(${formattedYear})(.*)`)\n .exec(monthYear)\n ?.slice(1)\n .filter((part) => part !== '')\n .map((part) =>\n part === formattedYear ? (\n <TextField\n value={currentYear}\n aria-label={yearLabel}\n onChange={onYearChange}\n type=\"number\"\n max={9999}\n min={0}\n onBlur={updateYear}\n onKeyPress={updateYearOnEnterPressed}\n key=\"year\"\n className={`${CLASSNAME}__year`}\n />\n ) : (\n <Text as=\"p\" key={part}>\n {part}\n </Text>\n ),\n )}\n </FlexBox>\n )}\n </>\n }\n />\n <div className={`${CLASSNAME}__calendar`}>\n <div className={`${CLASSNAME}__week-days ${CLASSNAME}__days-wrapper`}>\n {weekDays.map(({ letter, number, long }) => (\n <div key={number} className={`${CLASSNAME}__day-wrapper`}>\n <span className={`${CLASSNAME}__week-day`} aria-hidden>\n {letter.toLocaleUpperCase()}\n </span>\n <span className=\"visually-hidden\">{long}</span>\n </div>\n ))}\n </div>\n\n <div className={`${CLASSNAME}__month-days ${CLASSNAME}__days-wrapper`}>\n {weeks.flatMap((week, weekIndex) => {\n return weekDays.map((weekDay, dayIndex) => {\n const { date, isOutOfRange } = week[weekDay.number] || {};\n const key = `${weekIndex}-${dayIndex}`;\n const isToday = !isOutOfRange && date && isSameDay(date, new Date());\n const isSelected = date && value && isSameDay(value, date);\n\n return (\n <div key={key} className={`${CLASSNAME}__day-wrapper`}>\n {date && (\n <Button\n ref={isSelected || (!value && isToday) ? todayOrSelectedDateRef : null}\n className={classNames(`${CLASSNAME}__month-day`, {\n [`${CLASSNAME}__month-day--is-today`]: isToday,\n })}\n disabled={isOutOfRange}\n isSelected={isSelected}\n emphasis=\"low\"\n onClick={() => onChange(date)}\n >\n <span aria-hidden>{formatDayNumber(locale, date)}</span>\n <span className={VISUALLY_HIDDEN}>\n {date.toLocaleDateString(locale, {\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n })}\n </span>\n </Button>\n )}\n </div>\n );\n });\n })}\n </div>\n </div>\n </div>\n );\n});\nDatePickerControlled.displayName = COMPONENT_NAME;\nDatePickerControlled.className = CLASSNAME;\n","import { useState } from 'react';\n\nimport { addMonthResetDay } from '@lumx/react/utils/date/addMonthResetDay';\nimport { isDateValid } from '@lumx/react/utils/date/isDateValid';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { CLASSNAME, COMPONENT_NAME } from './constants';\nimport { DatePickerControlled } from './DatePickerControlled';\nimport { DatePickerProps } from './types';\n\n/**\n * DatePicker component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const DatePicker = forwardRef<DatePickerProps, HTMLDivElement>((props, ref) => {\n const { defaultMonth, locale, value, onChange, ...forwardedProps } = props;\n\n let referenceDate = value || defaultMonth || new Date();\n if (!isDateValid(referenceDate)) {\n // eslint-disable-next-line no-console\n console.warn(`[@lumx/react/DatePicker] Invalid date provided ${referenceDate}`);\n referenceDate = new Date();\n }\n\n const [selectedMonth, setSelectedMonth] = useState(referenceDate);\n const setPrevMonth = () => setSelectedMonth((current) => addMonthResetDay(current, -1));\n const setNextMonth = () => setSelectedMonth((current) => addMonthResetDay(current, +1));\n\n const onDatePickerChange = (newDate?: Date) => {\n onChange(newDate);\n };\n\n return (\n <DatePickerControlled\n ref={ref}\n {...forwardedProps}\n defaultMonth={defaultMonth}\n locale={locale}\n value={value}\n onPrevMonthChange={setPrevMonth}\n onNextMonthChange={setNextMonth}\n selectedMonth={selectedMonth}\n onChange={onDatePickerChange}\n onMonthChange={setSelectedMonth}\n />\n );\n});\nDatePicker.displayName = COMPONENT_NAME;\nDatePicker.className = CLASSNAME;\n","import React, { SyntheticEvent, useCallback, useRef } from 'react';\n\nimport { DatePicker, IconButtonProps, Placement, PopoverDialog, TextField, TextFieldProps } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getCurrentLocale } from '@lumx/react/utils/locale/getCurrentLocale';\nimport { useBooleanState } from '@lumx/react/hooks/useBooleanState';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\n\n/**\n * Defines the props of the component.\n */\nexport interface DatePickerFieldProps extends Omit<TextFieldProps, 'value' | 'onChange'>, GenericProps {\n /** Default month. */\n defaultMonth?: Date;\n /** Locale (language or region) to use. */\n locale?: string;\n /** Date after which dates can't be selected. */\n maxDate?: Date;\n /** Date before which dates can't be selected. */\n minDate?: Date;\n /** Props to pass to the next month button (minus those already set by the DatePickerControlled props). */\n nextButtonProps: Pick<IconButtonProps, 'label'> & Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /** Props to pass to the previous month button (minus those already set by the DatePickerControlled props). */\n previousButtonProps: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /** Currently selected date. */\n value: Date | undefined;\n /** On change callback. */\n onChange(value: Date | undefined, name?: string, event?: SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'DatePickerField';\n\n/**\n * DatePickerField component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const DatePickerField = forwardRef<DatePickerFieldProps, HTMLDivElement>((props, ref) => {\n const { disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n defaultMonth,\n locale = getCurrentLocale(),\n maxDate,\n minDate,\n name,\n nextButtonProps,\n onChange,\n previousButtonProps,\n value,\n ...forwardedProps\n } = otherProps;\n const anchorRef = useRef(null);\n\n const [isOpen, close, , toggleOpen] = useBooleanState(false);\n\n const handleKeyboardNav = useCallback(\n (evt: React.KeyboardEvent) => {\n if (evt.key === 'Enter' || evt.key === ' ') {\n toggleOpen();\n }\n },\n [toggleOpen],\n );\n const onTextFieldChange = useCallback(\n (textFieldValue: string, textFieldName?: string, event?: SyntheticEvent) => {\n if (!textFieldValue) {\n onChange(undefined, textFieldName, event);\n }\n },\n [onChange],\n );\n const onDatePickerChange = useCallback(\n (newDate?: Date) => {\n onChange(newDate, name);\n close();\n },\n [name, onChange, close],\n );\n\n // Format date for text field\n const textFieldValue = value?.toLocaleDateString(locale, { year: 'numeric', month: 'long', day: 'numeric' }) || '';\n\n const todayOrSelectedDateRef = React.useRef(null);\n\n return (\n <>\n <TextField\n ref={ref}\n {...forwardedProps}\n name={name}\n forceFocusStyle={isOpen}\n textFieldRef={anchorRef}\n value={textFieldValue}\n onClick={toggleOpen}\n onChange={onTextFieldChange}\n onKeyPress={handleKeyboardNav}\n {...disabledStateProps}\n readOnly\n aria-haspopup=\"dialog\"\n />\n {isOpen ? (\n <PopoverDialog\n // Can't use `aria-labelledby` targeting the text field label element (not correctly read on some screen readers)\n aria-label={forwardedProps.label}\n anchorRef={anchorRef}\n placement={Placement.BOTTOM_START}\n isOpen={isOpen}\n onClose={close}\n // On open, focus the selected day or today\n focusElement={todayOrSelectedDateRef}\n >\n <DatePicker\n locale={locale}\n maxDate={maxDate}\n minDate={minDate}\n value={value}\n todayOrSelectedDateRef={todayOrSelectedDateRef}\n onChange={onDatePickerChange}\n defaultMonth={defaultMonth}\n nextButtonProps={nextButtonProps}\n previousButtonProps={previousButtonProps}\n />\n </PopoverDialog>\n ) : null}\n </>\n );\n});\nDatePickerField.displayName = COMPONENT_NAME;\n","import classNames from 'classnames';\n\nimport { HasAriaLabelOrLabelledBy } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { HeadingLevelProvider } from '@lumx/react/components/heading';\nimport { Popover, PopoverProps } from '../popover/Popover';\n\n/**\n * PopoverDialog props.\n * The PopoverDialog has the same props as the Popover but requires an accessible label.\n */\nexport type PopoverDialogProps = PopoverProps & HasAriaLabelOrLabelledBy;\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'PopoverDialog';\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<PopoverDialogProps> = {};\n\n/**\n * PopoverDialog component.\n * Defines a popover that acts like a dialog\n * * Has a dialog aria role\n * * Sets a focus trap within the popover\n * * Closes on click away and escape.\n */\nexport const PopoverDialog = forwardRef<PopoverDialogProps, HTMLDivElement>((props, ref) => {\n const {\n children,\n isOpen,\n focusElement,\n 'aria-label': ariaLabel,\n label = ariaLabel,\n className,\n ...forwardedProps\n } = props;\n\n return (\n <Popover\n {...forwardedProps}\n ref={ref}\n className={classNames(className, CLASSNAME)}\n role=\"dialog\"\n aria-modal=\"true\"\n /**\n * If a label is set, set as aria-label.\n * If it is undefined, the label can be set using the `aria-label` and `aria-labelledby` props\n */\n aria-label={label}\n isOpen={isOpen}\n focusElement={focusElement}\n closeOnClickAway\n closeOnEscape\n withFocusTrap\n >\n <HeadingLevelProvider level={2}>{children}</HeadingLevelProvider>\n </Popover>\n );\n});\n\nPopoverDialog.displayName = COMPONENT_NAME;\nPopoverDialog.className = CLASSNAME;\nPopoverDialog.defaultProps = DEFAULT_PROPS;\n"],"names":["addMonthResetDay","date","monthOffset","newDate","Date","getTime","setDate","setMonth","getMonth","isDateValid","Number","isNaN","COMPONENT_NAME","CLASSNAME","getRootClassName","getFromBrowser","locale","localeMetadata","Intl","Locale","code","firstDay","getWeekInfo","weekInfo","e","undefined","FIRST_DAY_FOR_LOCALES","localeRX","getFromConstant","searchBy","test","language","getFirstDayOfWeek","DAYS_PER_WEEK","getWeekDays","iterDate","offset","getDay","getDate","weekDays","i","letter","toLocaleDateString","weekday","long","number","push","MONTH_ROW_COUNT","getMonthCalendar","referenceDate","rangeMinDate","rangeMaxDate","month","minDate","maxDate","setUTCHours","lastDayOfWeek","last","weeks","week","rowCount","weekDayNumber","day","isOutOfRange","Object","keys","length","isSameDay","date1","date2","getFullYear","getCurrentLocale","navigator","languages","parseLocale","rawLanguage","rawRegion","split","toLowerCase","region","toUpperCase","usePreviousValue","value","prevValueRef","React","useRef","prevValue","current","useEffect","getYearDisplayName","label","displayNames","DisplayNames","type","of","error","formatDayNumber","formattedDate","match","replace","DatePickerControlled","forwardRef","props","ref","nextButtonProps","onChange","onNextMonthChange","onPrevMonthChange","previousButtonProps","selectedMonth","todayOrSelectedDateRef","onMonthChange","style","useMemo","localeObj","selectedYear","formattedYear","year","slice","currentYear","setCurrentYear","useState","String","updateMonthOffset","useCallback","newYearValue","yearNumber","previousYearNumber","onYearChange","_","event","inputType","nativeEvent","updateYear","updateYearOnEnterPressed","onEnterPressed","monthYear","prevSelectedMonth","monthHasChanged","labelAriaLive","setLabelAriaLive","yearLabel","_jsxs","className","children","_jsx","Toolbar","after","IconButton","emphasis","Emphasis","low","icon","mdiChevronRight","onClick","before","mdiChevronLeft","_Fragment","VISUALLY_HIDDEN","dir","FlexBox","orientation","hAlign","gap","vAlign","RegExp","exec","filter","part","map","TextField","max","min","onBlur","onKeyPress","Text","as","toLocaleUpperCase","flatMap","weekIndex","weekDay","dayIndex","key","isToday","isSelected","Button","classNames","disabled","displayName","DatePicker","defaultMonth","forwardedProps","console","warn","setSelectedMonth","setPrevMonth","setNextMonth","onDatePickerChange","DatePickerField","disabledStateProps","otherProps","useDisableStateProps","name","anchorRef","isOpen","close","toggleOpen","useBooleanState","handleKeyboardNav","evt","onTextFieldChange","textFieldValue","textFieldName","forceFocusStyle","textFieldRef","readOnly","PopoverDialog","placement","Placement","BOTTOM_START","onClose","focusElement","DEFAULT_PROPS","ariaLabel","Popover","role","closeOnClickAway","closeOnEscape","withFocusTrap","HeadingLevelProvider","level","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { createPortal } from 'react-dom';
|
|
3
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Portal initializing function.
|
|
7
|
+
* If it does not provide a container, the Portal children will render in classic React tree and not in a portal.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const PortalContext = /*#__PURE__*/React__default.createContext(() => ({
|
|
11
|
+
container: document.body
|
|
12
|
+
}));
|
|
13
|
+
/**
|
|
14
|
+
* Customize where <Portal> wrapped elements render (tooltip, popover, dialog, etc.)
|
|
15
|
+
*/
|
|
16
|
+
const PortalProvider = PortalContext.Provider;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Render children in a portal outside the current DOM position
|
|
20
|
+
* (defaults to `document.body` but can be customized with the PortalContextProvider)
|
|
21
|
+
*/
|
|
22
|
+
const Portal = ({
|
|
23
|
+
children,
|
|
24
|
+
enabled = true
|
|
25
|
+
}) => {
|
|
26
|
+
const init = React__default.useContext(PortalContext);
|
|
27
|
+
const context = React__default.useMemo(() => {
|
|
28
|
+
return enabled ? init() : null;
|
|
29
|
+
},
|
|
30
|
+
// Only update on 'enabled'
|
|
31
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
+
[enabled]);
|
|
33
|
+
React__default.useLayoutEffect(() => {
|
|
34
|
+
return context?.teardown;
|
|
35
|
+
}, [context?.teardown, enabled]);
|
|
36
|
+
if (!context?.container) {
|
|
37
|
+
return /*#__PURE__*/jsx(Fragment, {
|
|
38
|
+
children: children
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return /*#__PURE__*/createPortal(children, context.container);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { Portal as P, PortalProvider as a };
|
|
45
|
+
//# sourceMappingURL=Portal-3f86608e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Portal-3f86608e.js","sources":["../../src/utils/Portal/PortalProvider.tsx","../../src/utils/Portal/Portal.tsx"],"sourcesContent":["import React from 'react';\n\ntype Container = DocumentFragment | Element;\n\n/**\n * Portal initializing function.\n * If it does not provide a container, the Portal children will render in classic React tree and not in a portal.\n */\nexport type PortalInit = () => {\n container?: Container;\n teardown?: () => void;\n};\n\nexport const PortalContext = React.createContext<PortalInit>(() => ({ container: document.body }));\n\nexport interface PortalProviderProps {\n children?: React.ReactNode;\n value: PortalInit;\n}\n\n/**\n * Customize where <Portal> wrapped elements render (tooltip, popover, dialog, etc.)\n */\nexport const PortalProvider: React.FC<PortalProviderProps> = PortalContext.Provider;\n","import React from 'react';\nimport { createPortal } from 'react-dom';\nimport { PortalContext } from './PortalProvider';\n\nexport interface PortalProps {\n enabled?: boolean;\n children: React.ReactNode;\n}\n\n/**\n * Render children in a portal outside the current DOM position\n * (defaults to `document.body` but can be customized with the PortalContextProvider)\n */\nexport const Portal: React.FC<PortalProps> = ({ children, enabled = true }) => {\n const init = React.useContext(PortalContext);\n const context = React.useMemo(\n () => {\n return enabled ? init() : null;\n },\n // Only update on 'enabled'\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [enabled],\n );\n\n React.useLayoutEffect(() => {\n return context?.teardown;\n }, [context?.teardown, enabled]);\n\n if (!context?.container) {\n return <>{children}</>;\n }\n return createPortal(children, context.container);\n};\n"],"names":["PortalContext","React","createContext","container","document","body","PortalProvider","Provider","Portal","children","enabled","init","useContext","context","useMemo","useLayoutEffect","teardown","_jsx","_Fragment","createPortal"],"mappings":";;;;AAIA;AACA;AACA;AACA;;AAMO,MAAMA,aAAa,gBAAGC,cAAK,CAACC,aAAa,CAAa,OAAO;EAAEC,SAAS,EAAEC,QAAQ,CAACC,IAAAA;AAAK,CAAC,CAAC,CAAC,CAAA;AAOlG;AACA;AACA;AACaC,MAAAA,cAA6C,GAAGN,aAAa,CAACO;;ACd3E;AACA;AACA;AACA;AACO,MAAMC,MAA6B,GAAGA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,OAAO,GAAG,IAAA;AAAK,CAAC,KAAK;AAC3E,EAAA,MAAMC,IAAI,GAAGV,cAAK,CAACW,UAAU,CAACZ,aAAa,CAAC,CAAA;AAC5C,EAAA,MAAMa,OAAO,GAAGZ,cAAK,CAACa,OAAO,CACzB,MAAM;AACF,IAAA,OAAOJ,OAAO,GAAGC,IAAI,EAAE,GAAG,IAAI,CAAA;GACjC;AACD;AACA;EACA,CAACD,OAAO,CACZ,CAAC,CAAA;EAEDT,cAAK,CAACc,eAAe,CAAC,MAAM;IACxB,OAAOF,OAAO,EAAEG,QAAQ,CAAA;GAC3B,EAAE,CAACH,OAAO,EAAEG,QAAQ,EAAEN,OAAO,CAAC,CAAC,CAAA;AAEhC,EAAA,IAAI,CAACG,OAAO,EAAEV,SAAS,EAAE;IACrB,oBAAOc,GAAA,CAAAC,QAAA,EAAA;AAAAT,MAAAA,QAAA,EAAGA,QAAAA;AAAQ,KAAG,CAAC,CAAA;AAC1B,GAAA;AACA,EAAA,oBAAOU,YAAY,CAACV,QAAQ,EAAEI,OAAO,CAACV,SAAS,CAAC,CAAA;AACpD;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
/** Same as `React.forwardRef` but inferring Ref type from the `as` prop. */
|
|
5
|
+
const forwardRefPolymorphic = React__default.forwardRef;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Render clickable element (link, button or custom element)
|
|
9
|
+
* (also does some basic disabled state handling)
|
|
10
|
+
*/
|
|
11
|
+
const RawClickable = forwardRefPolymorphic((props, ref) => {
|
|
12
|
+
const {
|
|
13
|
+
children,
|
|
14
|
+
onClick,
|
|
15
|
+
disabled,
|
|
16
|
+
isDisabled = disabled,
|
|
17
|
+
'aria-disabled': ariaDisabled,
|
|
18
|
+
as,
|
|
19
|
+
...forwardedProps
|
|
20
|
+
} = props;
|
|
21
|
+
const isAnyDisabled = isDisabled || ariaDisabled === 'true' || ariaDisabled === true;
|
|
22
|
+
const Component = as;
|
|
23
|
+
let clickableProps;
|
|
24
|
+
if (Component === 'button') {
|
|
25
|
+
clickableProps = {
|
|
26
|
+
type: forwardedProps.type || 'button',
|
|
27
|
+
disabled: isDisabled
|
|
28
|
+
};
|
|
29
|
+
} else {
|
|
30
|
+
clickableProps = {
|
|
31
|
+
tabIndex: isDisabled ? '-1' : forwardedProps.tabIndex
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return /*#__PURE__*/jsx(Component, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
"aria-disabled": isAnyDisabled || undefined,
|
|
37
|
+
...forwardedProps,
|
|
38
|
+
...clickableProps,
|
|
39
|
+
onClick: event => {
|
|
40
|
+
if (isAnyDisabled) {
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
onClick?.(event);
|
|
46
|
+
},
|
|
47
|
+
children: children
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export { RawClickable as R, forwardRefPolymorphic as f };
|
|
52
|
+
//# sourceMappingURL=RawClickable-2c2b6a89.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RawClickable-2c2b6a89.js","sources":["../../src/utils/react/forwardRefPolymorphic.ts","../../src/utils/react/RawClickable.tsx"],"sourcesContent":["import React, { type ElementType } from 'react';\nimport type { ComponentRef } from '@lumx/react/utils/type';\n\ntype ForwardRefPolymorphic = <E extends ElementType, P extends { as?: E }>(\n render: (props: P, ref: ComponentRef<E>) => React.ReactNode,\n) => (props: P & React.ComponentProps<E> & { ref?: ComponentRef<E> }) => React.JSX.Element;\n\n/** Same as `React.forwardRef` but inferring Ref type from the `as` prop. */\nexport const forwardRefPolymorphic = React.forwardRef as ForwardRefPolymorphic;\n","import { AriaAttributes, ElementType } from 'react';\nimport { forwardRefPolymorphic } from '@lumx/react/utils/react/forwardRefPolymorphic';\nimport { ComponentRef, HasPolymorphicAs } from '@lumx/react/utils/type';\nimport { HasRequiredLinkHref } from '@lumx/react/utils/type/HasRequiredLinkHref';\n\ntype ClickableElement = 'a' | 'button' | ElementType;\n\ntype BaseClickableProps<E extends ClickableElement> = {\n children?: React.ReactNode;\n isDisabled?: boolean;\n disabled?: boolean;\n 'aria-disabled'?: AriaAttributes['aria-disabled'];\n onClick?: React.MouseEventHandler<E>;\n};\n\nexport type RawClickableProps<E extends ClickableElement> = HasPolymorphicAs<E> &\n HasRequiredLinkHref<E> &\n BaseClickableProps<E>;\n\n/**\n * Render clickable element (link, button or custom element)\n * (also does some basic disabled state handling)\n */\nexport const RawClickable = forwardRefPolymorphic(\n <E extends ClickableElement>(props: RawClickableProps<E>, ref: ComponentRef<E>) => {\n const {\n children,\n onClick,\n disabled,\n isDisabled = disabled,\n 'aria-disabled': ariaDisabled,\n as,\n ...forwardedProps\n } = props;\n\n const isAnyDisabled = isDisabled || ariaDisabled === 'true' || ariaDisabled === true;\n\n const Component = as as any;\n let clickableProps;\n if (Component === 'button') {\n clickableProps = { type: forwardedProps.type || 'button', disabled: isDisabled };\n } else {\n clickableProps = { tabIndex: isDisabled ? '-1' : forwardedProps.tabIndex };\n }\n\n return (\n <Component\n ref={ref}\n aria-disabled={isAnyDisabled || undefined}\n {...forwardedProps}\n {...clickableProps}\n onClick={(event: any) => {\n if (isAnyDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n onClick?.(event);\n }}\n >\n {children}\n </Component>\n );\n },\n);\n"],"names":["forwardRefPolymorphic","React","forwardRef","RawClickable","props","ref","children","onClick","disabled","isDisabled","ariaDisabled","as","forwardedProps","isAnyDisabled","Component","clickableProps","type","tabIndex","_jsx","undefined","event","stopPropagation","preventDefault"],"mappings":";;;AAOA;AACaA,MAAAA,qBAAqB,GAAGC,cAAK,CAACC;;ACW3C;AACA;AACA;AACA;AACO,MAAMC,YAAY,GAAGH,qBAAqB,CAC7C,CAA6BI,KAA2B,EAAEC,GAAoB,KAAK;EAC/E,MAAM;IACFC,QAAQ;IACRC,OAAO;IACPC,QAAQ;AACRC,IAAAA,UAAU,GAAGD,QAAQ;AACrB,IAAA,eAAe,EAAEE,YAAY;IAC7BC,EAAE;IACF,GAAGC,cAAAA;AACP,GAAC,GAAGR,KAAK,CAAA;EAET,MAAMS,aAAa,GAAGJ,UAAU,IAAIC,YAAY,KAAK,MAAM,IAAIA,YAAY,KAAK,IAAI,CAAA;EAEpF,MAAMI,SAAS,GAAGH,EAAS,CAAA;AAC3B,EAAA,IAAII,cAAc,CAAA;EAClB,IAAID,SAAS,KAAK,QAAQ,EAAE;AACxBC,IAAAA,cAAc,GAAG;AAAEC,MAAAA,IAAI,EAAEJ,cAAc,CAACI,IAAI,IAAI,QAAQ;AAAER,MAAAA,QAAQ,EAAEC,UAAAA;KAAY,CAAA;AACpF,GAAC,MAAM;AACHM,IAAAA,cAAc,GAAG;AAAEE,MAAAA,QAAQ,EAAER,UAAU,GAAG,IAAI,GAAGG,cAAc,CAACK,QAAAA;KAAU,CAAA;AAC9E,GAAA;EAEA,oBACIC,GAAA,CAACJ,SAAS,EAAA;AACNT,IAAAA,GAAG,EAAEA,GAAI;IACT,eAAeQ,EAAAA,aAAa,IAAIM,SAAU;AAAA,IAAA,GACtCP,cAAc;AAAA,IAAA,GACdG,cAAc;IAClBR,OAAO,EAAGa,KAAU,IAAK;AACrB,MAAA,IAAIP,aAAa,EAAE;QACfO,KAAK,CAACC,eAAe,EAAE,CAAA;QACvBD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtB,QAAA,OAAA;AACJ,OAAA;MACAf,OAAO,GAAGa,KAAK,CAAC,CAAA;KAClB;AAAAd,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACF,CAAC,CAAA;AAEpB,CACJ;;;;"}
|