@lumx/react 3.10.1-alpha.2 → 3.10.1-alpha.4
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/{8d67e1e3.d.ts → index.d.ts} +1 -1
- package/_internal/index.js +99 -0
- package/_internal/index.js.map +1 -0
- package/index.d.ts +3000 -66
- package/index.js +14561 -64
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/button/Button.tsx +4 -5
- package/src/components/button/ButtonRoot.tsx +1 -3
- package/src/components/chip/Chip.tsx +7 -11
- package/src/components/date-picker/DatePickerControlled.tsx +1 -1
- package/src/components/dialog/Dialog.tsx +1 -1
- package/src/components/expansion-panel/ExpansionPanel.test.tsx +2 -2
- package/src/components/expansion-panel/ExpansionPanel.tsx +14 -18
- package/src/components/flex-box/FlexBox.tsx +1 -1
- package/src/components/generic-block/GenericBlock.tsx +6 -7
- package/src/components/generic-block/constants.ts +9 -4
- package/src/components/grid-column/GridColumn.tsx +1 -2
- package/src/components/image-lightbox/internal/ImageSlide.tsx +2 -2
- package/src/components/image-lightbox/internal/ImageSlideshow.tsx +4 -8
- package/src/components/image-lightbox/useImageLightbox.tsx +3 -4
- package/src/components/link/Link.tsx +3 -5
- package/src/components/list/ListItem.tsx +2 -3
- package/src/components/list/useInteractiveList.tsx +1 -2
- package/src/components/mosaic/Mosaic.test.tsx +3 -3
- package/src/components/mosaic/Mosaic.tsx +2 -3
- package/src/components/navigation/Navigation.tsx +42 -37
- package/src/components/navigation/NavigationSection.tsx +76 -79
- package/src/components/notification/Notification.tsx +1 -5
- package/src/components/popover/usePopoverStyle.tsx +3 -1
- package/src/components/popover/useRestoreFocusOnClose.tsx +1 -1
- package/src/components/popover-dialog/PopoverDialog.test.tsx +1 -1
- package/src/components/post-block/PostBlock.tsx +4 -8
- package/src/components/progress-tracker/ProgressTracker.stories.tsx +11 -11
- package/src/components/select/Select.stories.tsx +14 -5
- package/src/components/select/Select.test.tsx +2 -2
- package/src/components/select/Select.tsx +1 -2
- package/src/components/select/SelectMultiple.stories.tsx +12 -10
- package/src/components/side-navigation/SideNavigationItem.tsx +1 -1
- package/src/components/slideshow/Slides.tsx +1 -1
- package/src/components/slideshow/SlideshowControls.tsx +1 -1
- package/src/components/slideshow/useSlideFocusManagement.tsx +1 -1
- package/src/components/switch/Switch.tsx +1 -2
- package/src/components/tabs/Tabs.stories.tsx +3 -4
- package/src/components/text-field/TextField.test.tsx +4 -4
- package/src/components/text-field/TextField.tsx +2 -3
- package/src/components/tooltip/Tooltip.test.tsx +2 -2
- package/src/components/tooltip/useTooltipOpen.tsx +3 -3
- package/src/components/user-block/UserBlock.tsx +7 -9
- package/src/hooks/useCallbackOnEscape.ts +1 -1
- package/src/hooks/useClickAway.tsx +1 -2
- package/src/hooks/useFocusTrap.ts +1 -1
- package/src/hooks/useInterval.tsx +1 -4
- package/src/hooks/useKeyboardListNavigation.tsx +2 -4
- package/src/hooks/useSizeOnWindowResize.ts +14 -10
- package/src/hooks/useStopPropagation.ts +1 -2
- package/src/hooks/useTransitionVisibility.ts +2 -2
- package/src/stories/decorators/withCombinations.tsx +1 -1
- package/src/testing/utils/commonTestsSuiteRTL.tsx +2 -2
- package/src/utils/{DOM → browser/DOM}/startViewTransition.ts +3 -3
- package/src/utils/{focus → browser/focus}/getFirstAndLastFocusable.test.ts +1 -1
- package/src/utils/{focus → browser/focus}/getFocusableElements.test.ts +1 -1
- package/src/utils/{browserDoesNotSupportHover.test.js → browser/isHoverNotSupported.test.js} +5 -5
- package/src/utils/browser/isHoverNotSupported.ts +2 -0
- package/src/utils/browser/{getPrefersReducedMotion.ts → isReducedMotion.ts} +1 -1
- package/src/utils/className/getFontColorClassName.ts +9 -0
- package/src/utils/{className.ts → className/getRootClassName.ts} +1 -21
- package/src/utils/className/getTypographyClassName.ts +9 -0
- package/src/utils/className/index.ts +4 -0
- package/src/utils/collection/castArray.test.ts +15 -0
- package/src/utils/collection/castArray.ts +3 -0
- package/src/utils/collection/chunk.test.ts +15 -0
- package/src/utils/collection/chunk.ts +6 -0
- package/src/utils/collection/isEmpty.test.js +20 -0
- package/src/utils/collection/isEmpty.ts +4 -0
- package/src/utils/collection/last.ts +2 -0
- package/src/utils/collection/partitionMulti.test.ts +35 -0
- package/src/utils/{partitionMulti.ts → collection/partitionMulti.ts} +13 -12
- package/src/utils/collection/pull.test.ts +17 -0
- package/src/utils/collection/pull.ts +7 -0
- package/src/utils/collection/range.test.js +9 -0
- package/src/utils/collection/range.ts +2 -0
- package/src/utils/date/getMonthCalendar.ts +3 -4
- package/src/utils/flattenChildren.ts +2 -3
- package/src/utils/function/memoize.test.ts +36 -0
- package/src/utils/function/memoize.ts +13 -0
- package/src/utils/makeListenerTowerContext.ts +2 -2
- package/src/utils/partitionMulti.test.ts +27 -0
- package/src/utils/react/forwardRef.ts +3 -2
- package/src/utils/react/forwardRefPolymorphic.ts +1 -2
- package/utils/index.d.ts +1 -1
- package/utils/index.js +1 -96
- package/utils/index.js.map +1 -1
- package/_internal/17c3ea1d.js +0 -137
- package/_internal/17c3ea1d.js.map +0 -1
- package/_internal/1da25128.js +0 -411
- package/_internal/1da25128.js.map +0 -1
- package/_internal/230173a8.js +0 -13
- package/_internal/230173a8.js.map +0 -1
- package/_internal/23bdba2d.js +0 -71
- package/_internal/23bdba2d.js.map +0 -1
- package/_internal/26926e5c.d.ts +0 -36
- package/_internal/2a3d237c.js +0 -12
- package/_internal/2a3d237c.js.map +0 -1
- package/_internal/2c5dbb03.js +0 -26
- package/_internal/2c5dbb03.js.map +0 -1
- package/_internal/2e2abe51.js +0 -2154
- package/_internal/2e2abe51.js.map +0 -1
- package/_internal/31490c59.d.ts +0 -167
- package/_internal/3181f000.js +0 -14
- package/_internal/3181f000.js.map +0 -1
- package/_internal/35f100be.d.ts +0 -104
- package/_internal/36bd7352.js +0 -219
- package/_internal/36bd7352.js.map +0 -1
- package/_internal/3a1facc0.js +0 -18
- package/_internal/3a1facc0.js.map +0 -1
- package/_internal/4c20d932.js +0 -89
- package/_internal/4c20d932.js.map +0 -1
- package/_internal/4c28d012.js +0 -305
- package/_internal/4c28d012.js.map +0 -1
- package/_internal/4cd0bf32.js +0 -160
- package/_internal/4cd0bf32.js.map +0 -1
- package/_internal/4daccdd5.js +0 -25
- package/_internal/4daccdd5.js.map +0 -1
- package/_internal/524b1d04.js +0 -64
- package/_internal/524b1d04.js.map +0 -1
- package/_internal/53c94227.js +0 -123
- package/_internal/53c94227.js.map +0 -1
- package/_internal/54d9ded5.js +0 -418
- package/_internal/54d9ded5.js.map +0 -1
- package/_internal/56aec41b.js +0 -652
- package/_internal/56aec41b.js.map +0 -1
- package/_internal/5720caf5.js +0 -124
- package/_internal/5720caf5.js.map +0 -1
- package/_internal/646f0db6.js +0 -113
- package/_internal/646f0db6.js.map +0 -1
- package/_internal/6cc8dca8.d.ts +0 -22
- package/_internal/7f022f8c.d.ts +0 -34
- package/_internal/b8f2948d.js +0 -691
- package/_internal/b8f2948d.js.map +0 -1
- package/_internal/bc28d510.js +0 -784
- package/_internal/bc28d510.js.map +0 -1
- package/_internal/c68d24e4.js +0 -145
- package/_internal/c68d24e4.js.map +0 -1
- package/_internal/c6c99f76.js +0 -105
- package/_internal/c6c99f76.js.map +0 -1
- package/_internal/cae46566.js +0 -65
- package/_internal/cae46566.js.map +0 -1
- package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +0 -37
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +0 -148
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +0 -1
- package/_internal/components/autocomplete/index.ts-3f8f125c.js +0 -264
- package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +0 -1
- package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +0 -201
- package/_internal/components/avatar/index.ts-93ee0ea9.js +0 -89
- package/_internal/components/avatar/index.ts-93ee0ea9.js.map +0 -1
- package/_internal/components/avatar/index.ts-f92852b4.d.ts +0 -43
- package/_internal/components/badge/index.ts-2d7700ef.d.ts +0 -30
- package/_internal/components/badge/index.ts-6753d67f.js +0 -88
- package/_internal/components/badge/index.ts-6753d67f.js.map +0 -1
- package/_internal/components/button/index.ts-031307ce.js +0 -51
- package/_internal/components/button/index.ts-031307ce.js.map +0 -1
- package/_internal/components/button/index.ts-b29e26a4.d.ts +0 -22
- package/_internal/components/checkbox/index.ts-a33166d7.js +0 -127
- package/_internal/components/checkbox/index.ts-a33166d7.js.map +0 -1
- package/_internal/components/checkbox/index.ts-f82358ff.d.ts +0 -38
- package/_internal/components/chip/index.ts-4a91f1a7.d.ts +0 -68
- package/_internal/components/chip/index.ts-a2b5b771.js +0 -110
- package/_internal/components/chip/index.ts-a2b5b771.js.map +0 -1
- package/_internal/components/comment-block/index.ts-58fa051a.js +0 -121
- package/_internal/components/comment-block/index.ts-58fa051a.js.map +0 -1
- package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +0 -67
- package/_internal/components/date-picker/index.ts-145262d5.js +0 -2
- package/_internal/components/date-picker/index.ts-145262d5.js.map +0 -1
- package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +0 -95
- package/_internal/components/dialog/index.ts-ea044db2.js +0 -224
- package/_internal/components/dialog/index.ts-ea044db2.js.map +0 -1
- package/_internal/components/dialog/index.ts-eca28654.d.ts +0 -55
- package/_internal/components/divider/index.ts-4a56db75.js +0 -55
- package/_internal/components/divider/index.ts-4a56db75.js.map +0 -1
- package/_internal/components/divider/index.ts-b011d8ca.d.ts +0 -18
- package/_internal/components/drag-handle/index.ts-0aebf92f.js +0 -54
- package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +0 -1
- package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +0 -18
- package/_internal/components/dropdown/index.ts-2a17db51.js +0 -154
- package/_internal/components/dropdown/index.ts-2a17db51.js.map +0 -1
- package/_internal/components/dropdown/index.ts-b648a15c.d.ts +0 -87
- package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +0 -38
- package/_internal/components/expansion-panel/index.ts-fae3762e.js +0 -143
- package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +0 -1
- package/_internal/components/flag/index.ts-8dcd685b.js +0 -56
- package/_internal/components/flag/index.ts-8dcd685b.js.map +0 -1
- package/_internal/components/flag/index.ts-fda89adb.d.ts +0 -23
- package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +0 -43
- package/_internal/components/flex-box/index.ts-c216e957.js +0 -60
- package/_internal/components/flex-box/index.ts-c216e957.js.map +0 -1
- package/_internal/components/generic-block/index.ts-999a62a4.js +0 -115
- package/_internal/components/generic-block/index.ts-999a62a4.js.map +0 -1
- package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +0 -106
- package/_internal/components/grid/index.ts-67e0694f.d.ts +0 -50
- package/_internal/components/grid/index.ts-fdf1b306.js +0 -113
- package/_internal/components/grid/index.ts-fdf1b306.js.map +0 -1
- package/_internal/components/grid-column/index.ts-97c61cbe.js +0 -64
- package/_internal/components/grid-column/index.ts-97c61cbe.js.map +0 -1
- package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +0 -31
- package/_internal/components/heading/index.ts-0179e9a9.js +0 -112
- package/_internal/components/heading/index.ts-0179e9a9.js.map +0 -1
- package/_internal/components/heading/index.ts-587579e8.d.ts +0 -37
- package/_internal/components/icon/index.ts-740ca1de.js +0 -2
- package/_internal/components/icon/index.ts-740ca1de.js.map +0 -1
- package/_internal/components/icon/index.ts-b3fa5e15.d.ts +0 -34
- package/_internal/components/image-block/index.ts-36b3828f.d.ts +0 -49
- package/_internal/components/image-block/index.ts-ef5e2e7d.js +0 -111
- package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +0 -1
- package/_internal/components/image-lightbox/index.ts-137f85a8.js +0 -765
- package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +0 -1
- package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +0 -75
- package/_internal/components/inline-list/index.ts-033dd358.js +0 -76
- package/_internal/components/inline-list/index.ts-033dd358.js.map +0 -1
- package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +0 -34
- package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +0 -22
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js +0 -75
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +0 -1
- package/_internal/components/input-label/index.ts-86f2ea41.d.ts +0 -24
- package/_internal/components/input-label/index.ts-d6ca5569.js +0 -60
- package/_internal/components/input-label/index.ts-d6ca5569.js.map +0 -1
- package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +0 -36
- package/_internal/components/lightbox/index.ts-7a16cdc7.js +0 -149
- package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +0 -1
- package/_internal/components/link/index.ts-26435006.d.ts +0 -37
- package/_internal/components/link/index.ts-d04f4e53.js +0 -120
- package/_internal/components/link/index.ts-d04f4e53.js.map +0 -1
- package/_internal/components/link-preview/index.ts-e560a274.d.ts +0 -36
- package/_internal/components/link-preview/index.ts-fee89f66.js +0 -109
- package/_internal/components/link-preview/index.ts-fee89f66.js.map +0 -1
- package/_internal/components/list/index.ts-ab57902e.d.ts +0 -118
- package/_internal/components/list/index.ts-f3101625.js +0 -86
- package/_internal/components/list/index.ts-f3101625.js.map +0 -1
- package/_internal/components/message/index.ts-041cf0cb.js +0 -97
- package/_internal/components/message/index.ts-041cf0cb.js.map +0 -1
- package/_internal/components/message/index.ts-2d38e0ea.d.ts +0 -37
- package/_internal/components/mosaic/index.ts-232d5aed.d.ts +0 -23
- package/_internal/components/mosaic/index.ts-d2128cd3.js +0 -94
- package/_internal/components/mosaic/index.ts-d2128cd3.js.map +0 -1
- package/_internal/components/navigation/index.ts-6d8bea53.d.ts +0 -58
- package/_internal/components/navigation/index.ts-e8dc0a7f.js +0 -222
- package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +0 -1
- package/_internal/components/notification/index.ts-235fd340.js +0 -140
- package/_internal/components/notification/index.ts-235fd340.js.map +0 -1
- package/_internal/components/notification/index.ts-bb3f03f6.d.ts +0 -34
- package/_internal/components/popover/index.ts-2f17a9b6.js +0 -3
- package/_internal/components/popover/index.ts-2f17a9b6.js.map +0 -1
- package/_internal/components/popover/index.ts-e3b4ff19.d.ts +0 -66
- package/_internal/components/post-block/index.ts-0acb9bb4.js +0 -101
- package/_internal/components/post-block/index.ts-0acb9bb4.js.map +0 -1
- package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +0 -41
- package/_internal/components/progress/index.ts-2a713859.js +0 -189
- package/_internal/components/progress/index.ts-2a713859.js.map +0 -1
- package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +0 -60
- package/_internal/components/progress-tracker/index.ts-2649f756.js +0 -312
- package/_internal/components/progress-tracker/index.ts-2649f756.js.map +0 -1
- package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +0 -101
- package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +0 -54
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js +0 -150
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +0 -1
- package/_internal/components/select/index.ts-a65e3507.d.ts +0 -91
- package/_internal/components/select/index.ts-e8fad28b.js +0 -257
- package/_internal/components/select/index.ts-e8fad28b.js.map +0 -1
- package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +0 -60
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +0 -184
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +0 -1
- package/_internal/components/skeleton/index.ts-a7daefac.d.ts +0 -75
- package/_internal/components/skeleton/index.ts-ffc995af.js +0 -179
- package/_internal/components/skeleton/index.ts-ffc995af.js.map +0 -1
- package/_internal/components/slider/index.ts-24a0d598.d.ts +0 -52
- package/_internal/components/slider/index.ts-72aadf4c.js +0 -308
- package/_internal/components/slider/index.ts-72aadf4c.js.map +0 -1
- package/_internal/components/slideshow/index.ts-c99f2892.js +0 -151
- package/_internal/components/slideshow/index.ts-c99f2892.js.map +0 -1
- package/_internal/components/slideshow/index.ts-e49462c6.d.ts +0 -25
- package/_internal/components/switch/index.ts-207ba52b.d.ts +0 -34
- package/_internal/components/switch/index.ts-542e6eaf.js +0 -115
- package/_internal/components/switch/index.ts-542e6eaf.js.map +0 -1
- package/_internal/components/table/index.ts-905ce390.js +0 -310
- package/_internal/components/table/index.ts-905ce390.js.map +0 -1
- package/_internal/components/table/index.ts-c4f39b2d.d.ts +0 -108
- package/_internal/components/tabs/index.ts-713119f4.js +0 -289
- package/_internal/components/tabs/index.ts-713119f4.js.map +0 -1
- package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +0 -106
- package/_internal/components/text/index.ts-6afbe8cd.js +0 -2
- package/_internal/components/text/index.ts-6afbe8cd.js.map +0 -1
- package/_internal/components/text/index.ts-8a812048.d.ts +0 -53
- package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +0 -77
- package/_internal/components/text-field/index.ts-c3be8563.js +0 -341
- package/_internal/components/text-field/index.ts-c3be8563.js.map +0 -1
- package/_internal/components/thumbnail/index.ts-16d7b403.js +0 -40
- package/_internal/components/thumbnail/index.ts-16d7b403.js.map +0 -1
- package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +0 -8
- package/_internal/components/toolbar/index.ts-813b902e.js +0 -63
- package/_internal/components/toolbar/index.ts-813b902e.js.map +0 -1
- package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +0 -24
- package/_internal/components/tooltip/index.ts-905c847c.js +0 -322
- package/_internal/components/tooltip/index.ts-905c847c.js.map +0 -1
- package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +0 -35
- package/_internal/components/uploader/index.ts-31f21c2a.js +0 -132
- package/_internal/components/uploader/index.ts-31f21c2a.js.map +0 -1
- package/_internal/components/uploader/index.ts-c3ccba98.d.ts +0 -51
- package/_internal/components/user-block/index.ts-18c58e19.d.ts +0 -50
- package/_internal/components/user-block/index.ts-d43e5f3c.js +0 -136
- package/_internal/components/user-block/index.ts-d43e5f3c.js.map +0 -1
- package/_internal/dc3e28c8.d.ts +0 -38
- package/_internal/f39a1ba4.js +0 -73
- package/_internal/f39a1ba4.js.map +0 -1
- package/_internal/f3e77e3e.js +0 -22
- package/_internal/f3e77e3e.js.map +0 -1
- package/_internal/f502ab30.js +0 -78
- package/_internal/f502ab30.js.map +0 -1
- package/_internal/f52adbae.js +0 -36
- package/_internal/f52adbae.js.map +0 -1
- package/_internal/f57e1239.js +0 -205
- package/_internal/f57e1239.js.map +0 -1
- package/_internal/f5ff1aa4.d.ts +0 -47
- package/_internal/fb975afe.js +0 -52
- package/_internal/fb975afe.js.map +0 -1
- package/src/utils/browserDoesNotSupportHover.ts +0 -2
- package/src/utils/isInternetExplorer.ts +0 -15
- package/src/utils/userHasReducedMotion.ts +0 -7
- package/src/utils/utils.test.ts +0 -48
- /package/src/utils/{DOM → browser/DOM}/findImage.tsx +0 -0
- /package/src/utils/{event.ts → browser/event.ts} +0 -0
- /package/src/utils/{focus → browser/focus}/constants.ts +0 -0
- /package/src/utils/{focus → browser/focus}/getFirstAndLastFocusable.ts +0 -0
- /package/src/utils/{focus → browser/focus}/getFocusableElements.ts +0 -0
- /package/src/utils/{isFocusVisible.ts → browser/isFocusVisible.ts} +0 -0
package/_internal/cae46566.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { D as DOCUMENT } from './1da25128.js';
|
|
2
|
-
import { a as onEscapePressed } from './f57e1239.js';
|
|
3
|
-
import { useEffect } from 'react';
|
|
4
|
-
import last from 'lodash/last';
|
|
5
|
-
import pull from 'lodash/pull';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Keep track of listeners, only the last registered listener gets activated at any point (previously registered
|
|
9
|
-
* listener are disabled).
|
|
10
|
-
* When a listener gets unregistered, the previously registered listener gets enabled again.
|
|
11
|
-
*/
|
|
12
|
-
function makeListenerTowerContext() {
|
|
13
|
-
const LISTENERS = [];
|
|
14
|
-
return {
|
|
15
|
-
register(listener) {
|
|
16
|
-
var _last;
|
|
17
|
-
// Disable previous listener.
|
|
18
|
-
(_last = last(LISTENERS)) === null || _last === void 0 ? void 0 : _last.disable();
|
|
19
|
-
// Keep track of current listener.
|
|
20
|
-
LISTENERS.push(listener);
|
|
21
|
-
// Enable current listener.
|
|
22
|
-
listener.enable();
|
|
23
|
-
},
|
|
24
|
-
unregister(listener) {
|
|
25
|
-
var _last2;
|
|
26
|
-
// Disable current listener.
|
|
27
|
-
listener.disable();
|
|
28
|
-
// Remove current listener.
|
|
29
|
-
pull(LISTENERS, listener);
|
|
30
|
-
// Enable previous listener.
|
|
31
|
-
(_last2 = last(LISTENERS)) === null || _last2 === void 0 ? void 0 : _last2.enable();
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const LISTENERS = makeListenerTowerContext();
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Register a global listener on 'Escape' key pressed.
|
|
40
|
-
*
|
|
41
|
-
* If multiple listener are registered, only the last one is maintained. When a listener is unregistered, the previous
|
|
42
|
-
* one gets activated again.
|
|
43
|
-
*
|
|
44
|
-
* @param callback Callback
|
|
45
|
-
* @param closeOnEscape Disables the hook when false
|
|
46
|
-
*/
|
|
47
|
-
function useCallbackOnEscape(callback) {
|
|
48
|
-
let closeOnEscape = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
const rootElement = DOCUMENT === null || DOCUMENT === void 0 ? void 0 : DOCUMENT.body;
|
|
51
|
-
if (!closeOnEscape || !callback || !rootElement) {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
const onKeyDown = onEscapePressed(callback);
|
|
55
|
-
const listener = {
|
|
56
|
-
enable: () => rootElement.addEventListener('keydown', onKeyDown),
|
|
57
|
-
disable: () => rootElement.removeEventListener('keydown', onKeyDown)
|
|
58
|
-
};
|
|
59
|
-
LISTENERS.register(listener);
|
|
60
|
-
return () => LISTENERS.unregister(listener);
|
|
61
|
-
}, [callback, closeOnEscape]);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export { makeListenerTowerContext as m, useCallbackOnEscape as u };
|
|
65
|
-
//# sourceMappingURL=cae46566.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cae46566.js","sources":["../../src/utils/makeListenerTowerContext.ts","../../src/hooks/useCallbackOnEscape.ts"],"sourcesContent":["import last from 'lodash/last';\nimport pull from 'lodash/pull';\n\nexport type Listener = { enable(): void; disable(): void };\n\n/**\n * Keep track of listeners, only the last registered listener gets activated at any point (previously registered\n * listener are disabled).\n * When a listener gets unregistered, the previously registered listener gets enabled again.\n */\nexport function makeListenerTowerContext() {\n const LISTENERS: Listener[] = [];\n\n return {\n register(listener: Listener) {\n // Disable previous listener.\n last(LISTENERS)?.disable();\n // Keep track of current listener.\n LISTENERS.push(listener);\n // Enable current listener.\n listener.enable();\n },\n unregister(listener: Listener) {\n // Disable current listener.\n listener.disable();\n // Remove current listener.\n pull(LISTENERS, listener);\n // Enable previous listener.\n last(LISTENERS)?.enable();\n },\n };\n}\n","import { DOCUMENT } from '@lumx/react/constants';\nimport { Callback } from '@lumx/react/utils/type';\nimport { onEscapePressed } from '@lumx/react/utils/event';\nimport { useEffect } from 'react';\nimport { Listener, makeListenerTowerContext } from '@lumx/react/utils/makeListenerTowerContext';\n\nconst LISTENERS = makeListenerTowerContext();\n\n/**\n * Register a global listener on 'Escape' key pressed.\n *\n * If multiple listener are registered, only the last one is maintained. When a listener is unregistered, the previous\n * one gets activated again.\n *\n * @param callback Callback\n * @param closeOnEscape Disables the hook when false\n */\nexport function useCallbackOnEscape(callback: Callback | undefined, closeOnEscape = true) {\n useEffect(() => {\n const rootElement = DOCUMENT?.body;\n if (!closeOnEscape || !callback || !rootElement) {\n return undefined;\n }\n const onKeyDown = onEscapePressed(callback);\n\n const listener: Listener = {\n enable: () => rootElement.addEventListener('keydown', onKeyDown),\n disable: () => rootElement.removeEventListener('keydown', onKeyDown),\n };\n\n LISTENERS.register(listener);\n return () => LISTENERS.unregister(listener);\n }, [callback, closeOnEscape]);\n}\n"],"names":["makeListenerTowerContext","LISTENERS","register","listener","_last","last","disable","push","enable","unregister","_last2","pull","useCallbackOnEscape","callback","closeOnEscape","arguments","length","undefined","useEffect","rootElement","DOCUMENT","body","onKeyDown","onEscapePressed","addEventListener","removeEventListener"],"mappings":";;;;;;AAKA;AACA;AACA;AACA;AACA;AACO,SAASA,wBAAwBA,GAAG;EACvC,MAAMC,SAAqB,GAAG,EAAE,CAAA;EAEhC,OAAO;IACHC,QAAQA,CAACC,QAAkB,EAAE;AAAA,MAAA,IAAAC,KAAA,CAAA;AACzB;AACA,MAAA,CAAAA,KAAA,GAAAC,IAAI,CAACJ,SAAS,CAAC,MAAAG,IAAAA,IAAAA,KAAA,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAA,CAAiBE,OAAO,EAAE,CAAA;AAC1B;AACAL,MAAAA,SAAS,CAACM,IAAI,CAACJ,QAAQ,CAAC,CAAA;AACxB;MACAA,QAAQ,CAACK,MAAM,EAAE,CAAA;KACpB;IACDC,UAAUA,CAACN,QAAkB,EAAE;AAAA,MAAA,IAAAO,MAAA,CAAA;AAC3B;MACAP,QAAQ,CAACG,OAAO,EAAE,CAAA;AAClB;AACAK,MAAAA,IAAI,CAACV,SAAS,EAAEE,QAAQ,CAAC,CAAA;AACzB;AACA,MAAA,CAAAO,MAAA,GAAAL,IAAI,CAACJ,SAAS,CAAC,MAAAS,IAAAA,IAAAA,MAAA,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAA,CAAiBF,MAAM,EAAE,CAAA;AAC7B,KAAA;GACH,CAAA;AACL;;ACzBA,MAAMP,SAAS,GAAGD,wBAAwB,EAAE,CAAA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASY,mBAAmBA,CAACC,QAA8B,EAAwB;AAAA,EAAA,IAAtBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI,CAAA;AACpFG,EAAAA,SAAS,CAAC,MAAM;IACZ,MAAMC,WAAW,GAAGC,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEC,IAAI,CAAA;IAClC,IAAI,CAACP,aAAa,IAAI,CAACD,QAAQ,IAAI,CAACM,WAAW,EAAE;AAC7C,MAAA,OAAOF,SAAS,CAAA;AACpB,KAAA;AACA,IAAA,MAAMK,SAAS,GAAGC,eAAe,CAACV,QAAQ,CAAC,CAAA;AAE3C,IAAA,MAAMV,QAAkB,GAAG;MACvBK,MAAM,EAAEA,MAAMW,WAAW,CAACK,gBAAgB,CAAC,SAAS,EAAEF,SAAS,CAAC;MAChEhB,OAAO,EAAEA,MAAMa,WAAW,CAACM,mBAAmB,CAAC,SAAS,EAAEH,SAAS,CAAA;KACtE,CAAA;AAEDrB,IAAAA,SAAS,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAA;AAC5B,IAAA,OAAO,MAAMF,SAAS,CAACQ,UAAU,CAACN,QAAQ,CAAC,CAAA;AAC/C,GAAC,EAAE,CAACU,QAAQ,EAAEC,aAAa,CAAC,CAAC,CAAA;AACjC;;;;"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { K as Kind, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
-
import { a as ButtonProps } from '../../26926e5c.js';
|
|
3
|
-
import { DialogProps } from '../dialog/index.ts-eca28654.js';
|
|
4
|
-
import 'react';
|
|
5
|
-
import '../../7f022f8c.js';
|
|
6
|
-
|
|
7
|
-
interface AlertDialogProps extends Omit<DialogProps, 'header' | 'footer'> {
|
|
8
|
-
/** Message variant. */
|
|
9
|
-
kind?: Kind;
|
|
10
|
-
/** Dialog title. */
|
|
11
|
-
title?: string;
|
|
12
|
-
/** Props forwarded to the confirm button */
|
|
13
|
-
confirmProps: ButtonProps & {
|
|
14
|
-
onClick(): void;
|
|
15
|
-
label: string;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Props forwarded to the cancel button.
|
|
19
|
-
* Will not render a cancel button if undefined.
|
|
20
|
-
*/
|
|
21
|
-
cancelProps?: ButtonProps & {
|
|
22
|
-
onClick(): void;
|
|
23
|
-
label: string;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* AlertDialog component.
|
|
28
|
-
*
|
|
29
|
-
* An alert dialog is a modal dialog that interrupts the user's workflow to
|
|
30
|
-
* communicate an important message and acquire a response.
|
|
31
|
-
*
|
|
32
|
-
* It should not have a complex content.
|
|
33
|
-
* Children of this component should only be strings, paragraphs or links.
|
|
34
|
-
*/
|
|
35
|
-
declare const AlertDialog: Comp<AlertDialogProps, HTMLDivElement>;
|
|
36
|
-
|
|
37
|
-
export { AlertDialog, type AlertDialogProps };
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { K as Kind, C as ColorPalette, h as getRootClassName, S as Size, i as forwardRef, j as _objectWithoutProperties, _ as _extends, k as _objectSpread2, g as classNames, E as Emphasis } from '../../1da25128.js';
|
|
2
|
-
import React__default from 'react';
|
|
3
|
-
import { u as useId } from '../../3a1facc0.js';
|
|
4
|
-
import { e as mdiAlert, f as mdiInformation, g as mdiCheckCircle, h as mdiAlertCircle, I as Icon } from '../../c6c99f76.js';
|
|
5
|
-
import { Dialog } from '../dialog/index.ts-ea044db2.js';
|
|
6
|
-
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
7
|
-
import { Toolbar } from '../toolbar/index.ts-813b902e.js';
|
|
8
|
-
import { a as Button } from '../../4c20d932.js';
|
|
9
|
-
|
|
10
|
-
const _excluded = ["id", "title", "className", "cancelProps", "confirmProps", "kind", "size", "dialogProps", "children"],
|
|
11
|
-
_excluded2 = ["label", "onClick"],
|
|
12
|
-
_excluded3 = ["label", "onClick"];
|
|
13
|
-
/**
|
|
14
|
-
* Associative map from message kind to color and icon.
|
|
15
|
-
*/
|
|
16
|
-
const CONFIG = {
|
|
17
|
-
[Kind.error]: {
|
|
18
|
-
color: ColorPalette.red,
|
|
19
|
-
icon: mdiAlert
|
|
20
|
-
},
|
|
21
|
-
[Kind.info]: {
|
|
22
|
-
color: ColorPalette.blue,
|
|
23
|
-
icon: mdiInformation
|
|
24
|
-
},
|
|
25
|
-
[Kind.success]: {
|
|
26
|
-
color: ColorPalette.green,
|
|
27
|
-
icon: mdiCheckCircle
|
|
28
|
-
},
|
|
29
|
-
[Kind.warning]: {
|
|
30
|
-
color: ColorPalette.yellow,
|
|
31
|
-
icon: mdiAlertCircle
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Component display name.
|
|
37
|
-
*/
|
|
38
|
-
const COMPONENT_NAME = 'AlertDialog';
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Component default class name and class prefix.
|
|
42
|
-
*/
|
|
43
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Component default props.
|
|
47
|
-
*/
|
|
48
|
-
const DEFAULT_PROPS = {
|
|
49
|
-
size: Size.tiny,
|
|
50
|
-
kind: Kind.info
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* AlertDialog component.
|
|
55
|
-
*
|
|
56
|
-
* An alert dialog is a modal dialog that interrupts the user's workflow to
|
|
57
|
-
* communicate an important message and acquire a response.
|
|
58
|
-
*
|
|
59
|
-
* It should not have a complex content.
|
|
60
|
-
* Children of this component should only be strings, paragraphs or links.
|
|
61
|
-
*/
|
|
62
|
-
const AlertDialog = forwardRef((props, ref) => {
|
|
63
|
-
const {
|
|
64
|
-
id,
|
|
65
|
-
title,
|
|
66
|
-
className,
|
|
67
|
-
cancelProps,
|
|
68
|
-
confirmProps,
|
|
69
|
-
kind,
|
|
70
|
-
size,
|
|
71
|
-
dialogProps,
|
|
72
|
-
children
|
|
73
|
-
} = props,
|
|
74
|
-
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
75
|
-
const cancelButtonRef = React__default.useRef(null);
|
|
76
|
-
const confirmationButtonRef = React__default.useRef(null);
|
|
77
|
-
const {
|
|
78
|
-
color,
|
|
79
|
-
icon
|
|
80
|
-
} = CONFIG[kind] || {};
|
|
81
|
-
|
|
82
|
-
// Define a unique ID to target title and description for aria attributes.
|
|
83
|
-
const generatedId = useId();
|
|
84
|
-
const uniqueId = id || generatedId;
|
|
85
|
-
const titleId = `${uniqueId}-title`;
|
|
86
|
-
const descriptionId = `${uniqueId}-description`;
|
|
87
|
-
|
|
88
|
-
// If content is a string, set in a paragraph.
|
|
89
|
-
const DescriptionElement = typeof children === 'string' ? 'p' : 'div';
|
|
90
|
-
const {
|
|
91
|
-
label: confirmLabel,
|
|
92
|
-
onClick: confirmOnClick
|
|
93
|
-
} = confirmProps,
|
|
94
|
-
forwardedConfirmProps = _objectWithoutProperties(confirmProps, _excluded2);
|
|
95
|
-
const _ref = cancelProps || {},
|
|
96
|
-
{
|
|
97
|
-
label: cancelLabel,
|
|
98
|
-
onClick: cancelOnClick
|
|
99
|
-
} = _ref,
|
|
100
|
-
forwardedCancelProps = _objectWithoutProperties(_ref, _excluded3);
|
|
101
|
-
return /*#__PURE__*/React__default.createElement(Dialog, _extends({
|
|
102
|
-
ref: ref,
|
|
103
|
-
focusElement: cancelProps ? cancelButtonRef : confirmationButtonRef,
|
|
104
|
-
size: size,
|
|
105
|
-
dialogProps: _objectSpread2({
|
|
106
|
-
id: uniqueId,
|
|
107
|
-
role: 'alertdialog',
|
|
108
|
-
'aria-labelledby': titleId,
|
|
109
|
-
'aria-describedby': descriptionId
|
|
110
|
-
}, dialogProps),
|
|
111
|
-
className: classNames(className, handleBasicClasses({
|
|
112
|
-
kind,
|
|
113
|
-
prefix: CLASSNAME
|
|
114
|
-
}))
|
|
115
|
-
}, forwardedProps), /*#__PURE__*/React__default.createElement("header", null, /*#__PURE__*/React__default.createElement(Toolbar, {
|
|
116
|
-
className: "lumx-spacing-margin-horizontal",
|
|
117
|
-
before: /*#__PURE__*/React__default.createElement(Icon, {
|
|
118
|
-
icon: icon,
|
|
119
|
-
size: Size.s,
|
|
120
|
-
color: color
|
|
121
|
-
}),
|
|
122
|
-
label: /*#__PURE__*/React__default.createElement("h2", {
|
|
123
|
-
id: titleId,
|
|
124
|
-
className: "lumx-typography-title"
|
|
125
|
-
}, title)
|
|
126
|
-
})), children && /*#__PURE__*/React__default.createElement(DescriptionElement, {
|
|
127
|
-
id: descriptionId,
|
|
128
|
-
className: "lumx-typography-body2 lumx-spacing-padding-vertical-big lumx-spacing-padding-horizontal-huge"
|
|
129
|
-
}, children), /*#__PURE__*/React__default.createElement("footer", null, /*#__PURE__*/React__default.createElement(Toolbar, {
|
|
130
|
-
className: "lumx-spacing-margin-horizontal",
|
|
131
|
-
after: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, cancelProps && /*#__PURE__*/React__default.createElement(Button, _extends({}, forwardedCancelProps, {
|
|
132
|
-
ref: cancelButtonRef,
|
|
133
|
-
emphasis: Emphasis.medium,
|
|
134
|
-
onClick: cancelOnClick
|
|
135
|
-
}), cancelLabel), /*#__PURE__*/React__default.createElement(Button, _extends({}, forwardedConfirmProps, {
|
|
136
|
-
ref: confirmationButtonRef,
|
|
137
|
-
color: color,
|
|
138
|
-
className: "lumx-spacing-margin-left-regular",
|
|
139
|
-
onClick: confirmOnClick
|
|
140
|
-
}), confirmLabel))
|
|
141
|
-
})));
|
|
142
|
-
});
|
|
143
|
-
AlertDialog.displayName = COMPONENT_NAME;
|
|
144
|
-
AlertDialog.className = CLASSNAME;
|
|
145
|
-
AlertDialog.defaultProps = DEFAULT_PROPS;
|
|
146
|
-
|
|
147
|
-
export { AlertDialog };
|
|
148
|
-
//# sourceMappingURL=index.ts-f83bd6ef.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.ts-f83bd6ef.js","sources":["../../../../src/components/alert-dialog/AlertDialog.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport {\n DialogProps,\n Dialog,\n Button,\n Emphasis,\n ColorPalette,\n Icon,\n Size,\n Kind,\n Toolbar,\n ButtonProps,\n} from '@lumx/react';\nimport { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiInformation } from '@lumx/icons';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nexport interface AlertDialogProps extends Omit<DialogProps, 'header' | 'footer'> {\n /** Message variant. */\n kind?: Kind;\n /** Dialog title. */\n title?: string;\n /** Props forwarded to the confirm button */\n confirmProps: ButtonProps & {\n onClick(): void;\n label: string;\n };\n /**\n * Props forwarded to the cancel button.\n * Will not render a cancel button if undefined.\n */\n cancelProps?: ButtonProps & {\n onClick(): void;\n label: string;\n };\n}\n\n/**\n * Associative map from message kind to color and icon.\n */\nconst CONFIG = {\n [Kind.error]: { color: ColorPalette.red, icon: mdiAlert },\n [Kind.info]: { color: ColorPalette.blue, icon: mdiInformation },\n [Kind.success]: { color: ColorPalette.green, icon: mdiCheckCircle },\n [Kind.warning]: { color: ColorPalette.yellow, icon: mdiAlertCircle },\n};\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'AlertDialog';\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<DialogProps> = {\n size: Size.tiny,\n kind: Kind.info,\n};\n\n/**\n * AlertDialog component.\n *\n * An alert dialog is a modal dialog that interrupts the user's workflow to\n * communicate an important message and acquire a response.\n *\n * It should not have a complex content.\n * Children of this component should only be strings, paragraphs or links.\n */\nexport const AlertDialog = forwardRef<AlertDialogProps, HTMLDivElement>((props, ref) => {\n const { id, title, className, cancelProps, confirmProps, kind, size, dialogProps, children, ...forwardedProps } =\n props;\n\n const cancelButtonRef = React.useRef(null);\n const confirmationButtonRef = React.useRef(null);\n const { color, icon } = CONFIG[kind as Kind] || {};\n\n // Define a unique ID to target title and description for aria attributes.\n const generatedId = useId();\n const uniqueId = id || generatedId;\n const titleId = `${uniqueId}-title`;\n const descriptionId = `${uniqueId}-description`;\n\n // If content is a string, set in a paragraph.\n const DescriptionElement = typeof children === 'string' ? 'p' : 'div';\n\n const { label: confirmLabel, onClick: confirmOnClick, ...forwardedConfirmProps } = confirmProps;\n const { label: cancelLabel, onClick: cancelOnClick, ...forwardedCancelProps } = cancelProps || {};\n\n return (\n <Dialog\n ref={ref}\n focusElement={cancelProps ? cancelButtonRef : confirmationButtonRef}\n size={size}\n dialogProps={{\n id: uniqueId,\n role: 'alertdialog',\n 'aria-labelledby': titleId,\n 'aria-describedby': descriptionId,\n ...dialogProps,\n }}\n className={classNames(\n className,\n handleBasicClasses({\n kind,\n prefix: CLASSNAME,\n }),\n )}\n {...forwardedProps}\n >\n <header>\n <Toolbar\n className=\"lumx-spacing-margin-horizontal\"\n before={<Icon icon={icon} size={Size.s} color={color} />}\n label={\n <h2 id={titleId} className=\"lumx-typography-title\">\n {title}\n </h2>\n }\n />\n </header>\n\n {children && (\n <DescriptionElement\n id={descriptionId}\n className=\"lumx-typography-body2 lumx-spacing-padding-vertical-big lumx-spacing-padding-horizontal-huge\"\n >\n {children}\n </DescriptionElement>\n )}\n\n <footer>\n <Toolbar\n className=\"lumx-spacing-margin-horizontal\"\n after={\n <>\n {cancelProps && (\n <Button\n {...forwardedCancelProps}\n ref={cancelButtonRef}\n emphasis={Emphasis.medium}\n onClick={cancelOnClick}\n >\n {cancelLabel}\n </Button>\n )}\n <Button\n {...forwardedConfirmProps}\n ref={confirmationButtonRef}\n color={color}\n className=\"lumx-spacing-margin-left-regular\"\n onClick={confirmOnClick}\n >\n {confirmLabel}\n </Button>\n </>\n }\n />\n </footer>\n </Dialog>\n );\n});\n\nAlertDialog.displayName = COMPONENT_NAME;\nAlertDialog.className = CLASSNAME;\nAlertDialog.defaultProps = DEFAULT_PROPS;\n"],"names":["CONFIG","Kind","error","color","ColorPalette","red","icon","mdiAlert","info","blue","mdiInformation","success","green","mdiCheckCircle","warning","yellow","mdiAlertCircle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","size","Size","tiny","kind","AlertDialog","forwardRef","props","ref","id","title","className","cancelProps","confirmProps","dialogProps","children","forwardedProps","_objectWithoutProperties","_excluded","cancelButtonRef","React","useRef","confirmationButtonRef","generatedId","useId","uniqueId","titleId","descriptionId","DescriptionElement","label","confirmLabel","onClick","confirmOnClick","forwardedConfirmProps","_excluded2","_ref","cancelLabel","cancelOnClick","forwardedCancelProps","_excluded3","createElement","Dialog","_extends","focusElement","_objectSpread","role","classNames","handleBasicClasses","prefix","Toolbar","before","Icon","s","after","Fragment","Button","emphasis","Emphasis","medium","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { h as getRootClassName, i as forwardRef, j as _objectWithoutProperties, _ as _extends, g as classNames, S as Size } from '../../1da25128.js';
|
|
2
|
-
import React__default, { useRef } from 'react';
|
|
3
|
-
import { u as useFocus } from '../../54d9ded5.js';
|
|
4
|
-
import { m as mergeRefs } from '../../f52adbae.js';
|
|
5
|
-
import { u as useTheme } from '../../3181f000.js';
|
|
6
|
-
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
7
|
-
import { TextField } from '../text-field/index.ts-c3be8563.js';
|
|
8
|
-
import { Dropdown } from '../dropdown/index.ts-2a17db51.js';
|
|
9
|
-
import { C as Chip } from '../../c68d24e4.js';
|
|
10
|
-
import { I as Icon, i as mdiClose } from '../../c6c99f76.js';
|
|
11
|
-
|
|
12
|
-
const _excluded$1 = ["anchorToInput", "children", "chips", "className", "closeOnClick", "closeOnClickAway", "closeOnEscape", "disabled", "error", "fitToAnchorWidth", "hasError", "helper", "icon", "inputRef", "clearButtonProps", "isDisabled", "isRequired", "isOpen", "isValid", "label", "name", "offset", "onBlur", "onChange", "onClose", "onFocus", "onInfiniteScroll", "placeholder", "placement", "shouldFocusOnClose", "theme", "value", "textFieldProps", "focusAnchorOnClose"];
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Defines the props of the component.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Component display name.
|
|
20
|
-
*/
|
|
21
|
-
const COMPONENT_NAME$1 = 'Autocomplete';
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Component default class name and class prefix.
|
|
25
|
-
*/
|
|
26
|
-
const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Component default props.
|
|
30
|
-
*/
|
|
31
|
-
const DEFAULT_PROPS$1 = {
|
|
32
|
-
anchorToInput: false,
|
|
33
|
-
closeOnClick: false,
|
|
34
|
-
closeOnClickAway: true,
|
|
35
|
-
closeOnEscape: true,
|
|
36
|
-
shouldFocusOnClose: false
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Autocomplete component.
|
|
41
|
-
*
|
|
42
|
-
* @param props Component props.
|
|
43
|
-
* @param ref Component ref.
|
|
44
|
-
* @return React element.
|
|
45
|
-
*/
|
|
46
|
-
const Autocomplete = forwardRef((props, ref) => {
|
|
47
|
-
const defaultTheme = useTheme();
|
|
48
|
-
const {
|
|
49
|
-
anchorToInput,
|
|
50
|
-
children,
|
|
51
|
-
chips,
|
|
52
|
-
className,
|
|
53
|
-
closeOnClick,
|
|
54
|
-
closeOnClickAway,
|
|
55
|
-
closeOnEscape,
|
|
56
|
-
disabled,
|
|
57
|
-
error,
|
|
58
|
-
fitToAnchorWidth,
|
|
59
|
-
hasError,
|
|
60
|
-
helper,
|
|
61
|
-
icon,
|
|
62
|
-
inputRef,
|
|
63
|
-
clearButtonProps,
|
|
64
|
-
isDisabled = disabled,
|
|
65
|
-
isRequired,
|
|
66
|
-
isOpen,
|
|
67
|
-
isValid,
|
|
68
|
-
label,
|
|
69
|
-
name,
|
|
70
|
-
offset,
|
|
71
|
-
onBlur,
|
|
72
|
-
onChange,
|
|
73
|
-
onClose,
|
|
74
|
-
onFocus,
|
|
75
|
-
onInfiniteScroll,
|
|
76
|
-
placeholder,
|
|
77
|
-
placement,
|
|
78
|
-
shouldFocusOnClose,
|
|
79
|
-
theme = defaultTheme,
|
|
80
|
-
value,
|
|
81
|
-
textFieldProps = {},
|
|
82
|
-
focusAnchorOnClose
|
|
83
|
-
} = props,
|
|
84
|
-
forwardedProps = _objectWithoutProperties(props, _excluded$1);
|
|
85
|
-
const inputAnchorRef = useRef(null);
|
|
86
|
-
const textFieldRef = useRef(null);
|
|
87
|
-
useFocus(inputAnchorRef.current, !isOpen && shouldFocusOnClose);
|
|
88
|
-
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
89
|
-
ref: ref
|
|
90
|
-
}, forwardedProps, {
|
|
91
|
-
className: classNames(className, handleBasicClasses({
|
|
92
|
-
prefix: CLASSNAME$1
|
|
93
|
-
}))
|
|
94
|
-
}), /*#__PURE__*/React__default.createElement(TextField, _extends({}, textFieldProps, {
|
|
95
|
-
chips: chips,
|
|
96
|
-
error: error,
|
|
97
|
-
hasError: hasError,
|
|
98
|
-
helper: helper,
|
|
99
|
-
icon: icon,
|
|
100
|
-
inputRef: mergeRefs(inputAnchorRef, inputRef),
|
|
101
|
-
clearButtonProps: clearButtonProps,
|
|
102
|
-
isDisabled: isDisabled,
|
|
103
|
-
isRequired: isRequired,
|
|
104
|
-
isValid: isValid,
|
|
105
|
-
label: label,
|
|
106
|
-
name: name,
|
|
107
|
-
onBlur: onBlur,
|
|
108
|
-
onChange: onChange,
|
|
109
|
-
onFocus: onFocus,
|
|
110
|
-
placeholder: placeholder,
|
|
111
|
-
textFieldRef: textFieldRef,
|
|
112
|
-
theme: theme,
|
|
113
|
-
value: value
|
|
114
|
-
})), /*#__PURE__*/React__default.createElement(Dropdown, {
|
|
115
|
-
anchorRef: anchorToInput ? inputAnchorRef : textFieldRef,
|
|
116
|
-
closeOnClick: closeOnClick,
|
|
117
|
-
closeOnClickAway: closeOnClickAway,
|
|
118
|
-
closeOnEscape: closeOnEscape,
|
|
119
|
-
focusAnchorOnClose: focusAnchorOnClose,
|
|
120
|
-
fitToAnchorWidth: fitToAnchorWidth,
|
|
121
|
-
isOpen: isOpen,
|
|
122
|
-
offset: offset,
|
|
123
|
-
onClose: onClose,
|
|
124
|
-
onInfiniteScroll: onInfiniteScroll,
|
|
125
|
-
placement: placement,
|
|
126
|
-
shouldFocusOnOpen: false,
|
|
127
|
-
theme: theme
|
|
128
|
-
}, children));
|
|
129
|
-
});
|
|
130
|
-
Autocomplete.displayName = COMPONENT_NAME$1;
|
|
131
|
-
Autocomplete.className = CLASSNAME$1;
|
|
132
|
-
Autocomplete.defaultProps = DEFAULT_PROPS$1;
|
|
133
|
-
|
|
134
|
-
const _excluded = ["anchorToInput", "children", "chipsAlignment", "className", "closeOnClickAway", "closeOnEscape", "fitToAnchorWidth", "hasError", "helper", "icon", "inputRef", "clearButtonProps", "isDisabled", "isRequired", "isOpen", "isValid", "label", "name", "offset", "onBlur", "onChange", "onClear", "onClose", "onFocus", "onInfiniteScroll", "onKeyDown", "placeholder", "placement", "selectedChipRender", "shouldFocusOnClose", "theme", "type", "value", "values"];
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Defines the props of the component.
|
|
138
|
-
*/
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Component display name.
|
|
142
|
-
*/
|
|
143
|
-
const COMPONENT_NAME = 'AutocompleteMultiple';
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Component default class name and class prefix.
|
|
147
|
-
*/
|
|
148
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Component default props.
|
|
152
|
-
*/
|
|
153
|
-
const DEFAULT_PROPS = {
|
|
154
|
-
closeOnClickAway: true,
|
|
155
|
-
closeOnEscape: true,
|
|
156
|
-
selectedChipRender(choice, index, onClear, isDisabled) {
|
|
157
|
-
const onClick = event => onClear && onClear(event, choice);
|
|
158
|
-
return /*#__PURE__*/React__default.createElement(Chip, {
|
|
159
|
-
key: index,
|
|
160
|
-
after: onClear && /*#__PURE__*/React__default.createElement(Icon, {
|
|
161
|
-
icon: mdiClose,
|
|
162
|
-
size: Size.xxs
|
|
163
|
-
}),
|
|
164
|
-
isDisabled: isDisabled,
|
|
165
|
-
size: Size.s,
|
|
166
|
-
onAfterClick: onClick,
|
|
167
|
-
onClick: onClick
|
|
168
|
-
}, choice);
|
|
169
|
-
},
|
|
170
|
-
values: []
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* AutocompleteMultiple component.
|
|
175
|
-
*
|
|
176
|
-
* @param props Component props.
|
|
177
|
-
* @param ref Component ref.
|
|
178
|
-
* @return React element.
|
|
179
|
-
*/
|
|
180
|
-
const AutocompleteMultiple = forwardRef((props, ref) => {
|
|
181
|
-
const defaultTheme = useTheme();
|
|
182
|
-
const {
|
|
183
|
-
anchorToInput,
|
|
184
|
-
children,
|
|
185
|
-
// `chipsAlignment` needs to be here to remove it from `forwardedProps`.
|
|
186
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
187
|
-
chipsAlignment,
|
|
188
|
-
className,
|
|
189
|
-
closeOnClickAway,
|
|
190
|
-
closeOnEscape,
|
|
191
|
-
fitToAnchorWidth,
|
|
192
|
-
hasError,
|
|
193
|
-
helper,
|
|
194
|
-
icon,
|
|
195
|
-
inputRef,
|
|
196
|
-
clearButtonProps,
|
|
197
|
-
isDisabled,
|
|
198
|
-
isRequired,
|
|
199
|
-
isOpen,
|
|
200
|
-
isValid,
|
|
201
|
-
label,
|
|
202
|
-
name,
|
|
203
|
-
offset,
|
|
204
|
-
onBlur,
|
|
205
|
-
onChange,
|
|
206
|
-
onClear,
|
|
207
|
-
onClose,
|
|
208
|
-
onFocus,
|
|
209
|
-
onInfiniteScroll,
|
|
210
|
-
onKeyDown,
|
|
211
|
-
placeholder,
|
|
212
|
-
placement,
|
|
213
|
-
selectedChipRender,
|
|
214
|
-
shouldFocusOnClose,
|
|
215
|
-
theme = defaultTheme,
|
|
216
|
-
type,
|
|
217
|
-
value,
|
|
218
|
-
values
|
|
219
|
-
} = props,
|
|
220
|
-
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
221
|
-
return /*#__PURE__*/React__default.createElement(Autocomplete, _extends({
|
|
222
|
-
ref: ref
|
|
223
|
-
}, forwardedProps, {
|
|
224
|
-
anchorToInput: anchorToInput,
|
|
225
|
-
className: classNames(className, handleBasicClasses({
|
|
226
|
-
prefix: CLASSNAME
|
|
227
|
-
})),
|
|
228
|
-
name: name,
|
|
229
|
-
value: value,
|
|
230
|
-
onChange: onChange,
|
|
231
|
-
onKeyDown: onKeyDown,
|
|
232
|
-
onBlur: onBlur,
|
|
233
|
-
shouldFocusOnClose: shouldFocusOnClose,
|
|
234
|
-
onFocus: onFocus,
|
|
235
|
-
hasError: hasError,
|
|
236
|
-
helper: helper,
|
|
237
|
-
icon: icon,
|
|
238
|
-
inputRef: inputRef,
|
|
239
|
-
chips: values && values.map((chip, index) => selectedChipRender(chip, index, onClear)),
|
|
240
|
-
isDisabled: isDisabled,
|
|
241
|
-
isRequired: isRequired,
|
|
242
|
-
clearButtonProps: clearButtonProps,
|
|
243
|
-
isValid: isValid,
|
|
244
|
-
label: label,
|
|
245
|
-
placeholder: placeholder,
|
|
246
|
-
theme: theme,
|
|
247
|
-
type: type,
|
|
248
|
-
isOpen: isOpen,
|
|
249
|
-
closeOnClick: false,
|
|
250
|
-
closeOnClickAway: closeOnClickAway,
|
|
251
|
-
closeOnEscape: closeOnEscape,
|
|
252
|
-
onClose: onClose,
|
|
253
|
-
offset: offset,
|
|
254
|
-
placement: placement,
|
|
255
|
-
fitToAnchorWidth: fitToAnchorWidth,
|
|
256
|
-
onInfiniteScroll: onInfiniteScroll
|
|
257
|
-
}), children);
|
|
258
|
-
});
|
|
259
|
-
AutocompleteMultiple.displayName = COMPONENT_NAME;
|
|
260
|
-
AutocompleteMultiple.className = CLASSNAME;
|
|
261
|
-
AutocompleteMultiple.defaultProps = DEFAULT_PROPS;
|
|
262
|
-
|
|
263
|
-
export { Autocomplete, AutocompleteMultiple };
|
|
264
|
-
//# sourceMappingURL=index.ts-3f8f125c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.ts-3f8f125c.js","sources":["../../../../src/components/autocomplete/Autocomplete.tsx","../../../../src/components/autocomplete/AutocompleteMultiple.tsx"],"sourcesContent":["import React, { ReactNode, SyntheticEvent, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Dropdown, DropdownProps, IconButtonProps, Offset, Placement, TextField, TextFieldProps } from '@lumx/react';\n\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { useFocus } from '@lumx/react/hooks/useFocus';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface AutocompleteProps extends GenericProps, HasTheme {\n /**\n * Whether the suggestions list should display anchored to the input or to the wrapper.\n * @see {@link DropdownProps#anchorToInput}\n */\n anchorToInput?: boolean;\n /**\n * Props to pass to the clear button (minus those already set by the TextField props).\n * If not specified, the button won't be displayed.\n * @see {@link TextFieldProps#clearButtonProps}\n */\n clearButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /**\n * Reference to the <input> or <textarea> element.\n * @see {@link TextFieldProps#inputRef}\n */\n inputRef?: TextFieldProps['inputRef'];\n /**\n * The offset that will be applied to the Dropdown position.\n * @see {@link DropdownProps#offset}\n */\n offset?: Offset;\n /**\n * The preferred Dropdown location against the anchor element.\n * @see {@link DropdownProps#placement}\n */\n placement?: Placement;\n /**\n * Manage dropdown width:\n * - `maxWidth`: dropdown not bigger than anchor\n * - `minWidth` or `true`: dropdown not smaller than anchor\n * - `width`: dropdown equal to the anchor.\n * @see {@link DropdownProps#fitToAnchorWidth}\n */\n fitToAnchorWidth?: DropdownProps['fitToAnchorWidth'];\n /**\n * The error related to the component.\n * @see {@link TextFieldProps#error}\n */\n error?: string | ReactNode;\n /**\n * Whether the text field is displayed with error style or not.\n * @see {@link TextFieldProps#hasError}\n */\n hasError?: boolean;\n /**\n * Whether the text box should be focused upon closing the suggestions or not.\n */\n shouldFocusOnClose?: boolean;\n /**\n * The helper message of the text field.\n * @see {@link TextFieldProps#helper}\n */\n helper?: string;\n /**\n * The icon of the text field (SVG path).\n * @see {@link TextFieldProps#icon}\n */\n icon?: string;\n /**\n * Whether the component is disabled or not.\n * @see {@link TextFieldProps#isDisabled}\n */\n isDisabled?: boolean;\n /**\n * Whether the component is required or not.\n * @see {@link TextFieldProps#isRequired}\n */\n isRequired?: boolean;\n /**\n * Whether the text field is displayed with valid style or not.\n * @see {@link TextFieldProps#isValid}\n */\n isValid?: boolean;\n /**\n * The label of the text field displayed in a label tag.\n * @see {@link TextFieldProps#label}\n */\n label?: string;\n /**\n * The placeholder message of the text field.\n * @see {@link TextFieldProps#placeholder}\n */\n placeholder?: string;\n /** List of suggestions to display during autocomplete. */\n children: React.ReactNode;\n /**\n * The list of chips to be displayed before the text field input.\n */\n chips?: React.ReactNode;\n /**\n * The value of the text field.\n * @see {@link TextFieldProps#value}\n */\n value: string;\n /**\n * Whether the suggestions from the autocomplete should be displayed or not.\n * @see {@link DropdownProps#isOpen}\n */\n isOpen: boolean;\n /**\n * The native input name property.\n * @see {@link TextFieldProps#name}\n */\n name?: string;\n /**\n * Whether a click in the Autocomplete dropdown would close it or not.\n * @see {@link DropdownProps#closeOnClick}\n */\n closeOnClick?: boolean;\n /**\n * Whether a click anywhere out of the Autocomplete would close it or not.\n * @see {@link DropdownProps#closeOnClickAway}\n */\n closeOnClickAway?: boolean;\n /**\n * Whether an escape key press would close the Autocomplete or not.\n * @see {@link DropdownProps#closeOnEscape}\n */\n closeOnEscape?: boolean;\n /**\n * Whether the focus should go back on the anchor when dropdown closes and focus is within.\n * @see {@link DropdownProps#focusAnchorOnClose}\n */\n focusAnchorOnClose?: DropdownProps['focusAnchorOnClose'];\n /**\n * The function called on blur.\n * @see {@link TextFieldProps#onBlur}\n */\n onBlur?(event: React.FocusEvent): void;\n /**\n * On change callback.\n * @see {@link TextFieldProps#onChange}\n */\n onChange(value: string, name?: string, event?: SyntheticEvent): void;\n /**\n * The function called on close.\n * @see {@link DropdownProps#onClose}\n */\n onClose?(): void;\n /**\n * The function called on focus.\n * @see {@link TextFieldProps#onFocus}\n */\n onFocus?(event: React.FocusEvent): void;\n /**\n * The function called when the bottom of the dropdown is reached.\n * @see {@link DropdownProps#onInfiniteScroll}\n */\n onInfiniteScroll?(): void;\n /**\n * Props forwarded to the underlying TextField component.\n * Only the props not managed by the Autocomplete can be set.\n * @see {@link TextFieldProps}\n */\n textFieldProps?: Partial<TextFieldProps>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Autocomplete';\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<AutocompleteProps> = {\n anchorToInput: false,\n closeOnClick: false,\n closeOnClickAway: true,\n closeOnEscape: true,\n shouldFocusOnClose: false,\n};\n\n/**\n * Autocomplete component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Autocomplete = forwardRef<AutocompleteProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme();\n const {\n anchorToInput,\n children,\n chips,\n className,\n closeOnClick,\n closeOnClickAway,\n closeOnEscape,\n disabled,\n error,\n fitToAnchorWidth,\n hasError,\n helper,\n icon,\n inputRef,\n clearButtonProps,\n isDisabled = disabled,\n isRequired,\n isOpen,\n isValid,\n label,\n name,\n offset,\n onBlur,\n onChange,\n onClose,\n onFocus,\n onInfiniteScroll,\n placeholder,\n placement,\n shouldFocusOnClose,\n theme = defaultTheme,\n value,\n textFieldProps = {},\n focusAnchorOnClose,\n ...forwardedProps\n } = props;\n const inputAnchorRef = useRef<HTMLElement>(null);\n const textFieldRef = useRef(null);\n useFocus(inputAnchorRef.current, !isOpen && shouldFocusOnClose);\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n }),\n )}\n >\n <TextField\n {...textFieldProps}\n chips={chips}\n error={error}\n hasError={hasError}\n helper={helper}\n icon={icon}\n inputRef={mergeRefs(inputAnchorRef as React.RefObject<HTMLInputElement>, inputRef)}\n clearButtonProps={clearButtonProps}\n isDisabled={isDisabled}\n isRequired={isRequired}\n isValid={isValid}\n label={label}\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n placeholder={placeholder}\n textFieldRef={textFieldRef}\n theme={theme}\n value={value}\n />\n <Dropdown\n anchorRef={anchorToInput ? inputAnchorRef : textFieldRef}\n closeOnClick={closeOnClick}\n closeOnClickAway={closeOnClickAway}\n closeOnEscape={closeOnEscape}\n focusAnchorOnClose={focusAnchorOnClose}\n fitToAnchorWidth={fitToAnchorWidth}\n isOpen={isOpen}\n offset={offset}\n onClose={onClose}\n onInfiniteScroll={onInfiniteScroll}\n placement={placement}\n shouldFocusOnOpen={false}\n theme={theme}\n >\n {children}\n </Dropdown>\n </div>\n );\n});\nAutocomplete.displayName = COMPONENT_NAME;\nAutocomplete.className = CLASSNAME;\nAutocomplete.defaultProps = DEFAULT_PROPS;\n","import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiClose } from '@lumx/icons';\n\nimport { Autocomplete, AutocompleteProps, Chip, HorizontalAlignment, Icon, Size } from '@lumx/react';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\n/**\n * Defines the props of the component.\n */\nexport interface AutocompleteMultipleProps extends AutocompleteProps {\n /** Selected values. */\n values: any[];\n /** Alignment of the chips in the autocomplete. */\n chipsAlignment?: HorizontalAlignment;\n /** Selected value render function. Default: Renders the value inside of a Chip. */\n selectedChipRender(\n choice: any,\n index: number,\n onClear?: (event: React.MouseEvent, choice: any) => void,\n isDisabled?: boolean,\n ): ReactNode | string;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'AutocompleteMultiple';\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<AutocompleteMultipleProps> = {\n closeOnClickAway: true,\n closeOnEscape: true,\n selectedChipRender(choice, index, onClear, isDisabled) {\n const onClick = (event: React.MouseEvent) => onClear && onClear(event, choice);\n return (\n <Chip\n key={index}\n after={onClear && <Icon icon={mdiClose} size={Size.xxs} />}\n isDisabled={isDisabled}\n size={Size.s}\n onAfterClick={onClick}\n onClick={onClick}\n >\n {choice}\n </Chip>\n );\n },\n values: [],\n};\n\n/**\n * AutocompleteMultiple component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const AutocompleteMultiple = forwardRef<AutocompleteMultipleProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme();\n const {\n anchorToInput,\n children,\n // `chipsAlignment` needs to be here to remove it from `forwardedProps`.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n chipsAlignment,\n className,\n closeOnClickAway,\n closeOnEscape,\n fitToAnchorWidth,\n hasError,\n helper,\n icon,\n inputRef,\n clearButtonProps,\n isDisabled,\n isRequired,\n isOpen,\n isValid,\n label,\n name,\n offset,\n onBlur,\n onChange,\n onClear,\n onClose,\n onFocus,\n onInfiniteScroll,\n onKeyDown,\n placeholder,\n placement,\n selectedChipRender,\n shouldFocusOnClose,\n theme = defaultTheme,\n type,\n value,\n values,\n ...forwardedProps\n } = props;\n\n return (\n <Autocomplete\n ref={ref}\n {...forwardedProps}\n anchorToInput={anchorToInput}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n }),\n )}\n name={name}\n value={value}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onBlur={onBlur}\n shouldFocusOnClose={shouldFocusOnClose}\n onFocus={onFocus}\n hasError={hasError}\n helper={helper}\n icon={icon}\n inputRef={inputRef}\n chips={values && values.map((chip: any, index: number) => selectedChipRender(chip, index, onClear))}\n isDisabled={isDisabled}\n isRequired={isRequired}\n clearButtonProps={clearButtonProps}\n isValid={isValid}\n label={label}\n placeholder={placeholder}\n theme={theme}\n type={type}\n isOpen={isOpen}\n closeOnClick={false}\n closeOnClickAway={closeOnClickAway}\n closeOnEscape={closeOnEscape}\n onClose={onClose}\n offset={offset}\n placement={placement}\n fitToAnchorWidth={fitToAnchorWidth}\n onInfiniteScroll={onInfiniteScroll}\n >\n {children}\n </Autocomplete>\n );\n});\nAutocompleteMultiple.displayName = COMPONENT_NAME;\nAutocompleteMultiple.className = CLASSNAME;\nAutocompleteMultiple.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","anchorToInput","closeOnClick","closeOnClickAway","closeOnEscape","shouldFocusOnClose","Autocomplete","forwardRef","props","ref","defaultTheme","useTheme","children","chips","className","disabled","error","fitToAnchorWidth","hasError","helper","icon","inputRef","clearButtonProps","isDisabled","isRequired","isOpen","isValid","label","name","offset","onBlur","onChange","onClose","onFocus","onInfiniteScroll","placeholder","placement","theme","value","textFieldProps","focusAnchorOnClose","forwardedProps","_objectWithoutProperties","_excluded","inputAnchorRef","useRef","textFieldRef","useFocus","current","React","createElement","_extends","classNames","handleBasicClasses","prefix","TextField","mergeRefs","Dropdown","anchorRef","shouldFocusOnOpen","displayName","defaultProps","selectedChipRender","choice","index","onClear","onClick","event","Chip","key","after","Icon","mdiClose","size","Size","xxs","s","onAfterClick","values","AutocompleteMultiple","chipsAlignment","onKeyDown","type","map","chip"],"mappings":"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"}
|