@lumx/react 3.20.1-alpha.12 → 3.20.1-alpha.13
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-f19e18df.js +96 -0
- package/_internal/Button-f19e18df.js.map +1 -0
- package/_internal/{cdddaed8.js → ButtonRoot-ab633b1d.js} +19 -20
- package/_internal/ButtonRoot-ab633b1d.js.map +1 -0
- package/_internal/{85e3a5ca.js → Chip-4c572eec.js} +38 -34
- package/_internal/Chip-4c572eec.js.map +1 -0
- package/_internal/{7093ba23.js → ClickAwayProvider-bcce6ceb.js} +4 -6
- package/_internal/ClickAwayProvider-bcce6ceb.js.map +1 -0
- package/_internal/{ea04260d.js → DisabledStateContext-077b7bef.js} +6 -6
- package/_internal/DisabledStateContext-077b7bef.js.map +1 -0
- package/_internal/{370bdaed.js → HeadingLevelProvider-e4817816.js} +5 -7
- package/_internal/HeadingLevelProvider-e4817816.js.map +1 -0
- package/_internal/IconButton-10585058.js +72 -0
- package/_internal/IconButton-10585058.js.map +1 -0
- package/_internal/ImageCaption-4279b2b6.js +65 -0
- package/_internal/ImageCaption-4279b2b6.js.map +1 -0
- package/_internal/{f5508d3d.js → List-d5f5d465.js} +55 -56
- package/_internal/List-d5f5d465.js.map +1 -0
- package/_internal/{b1af5979.js → PopoverDialog-21e5c9dd.js} +165 -171
- package/_internal/PopoverDialog-21e5c9dd.js.map +1 -0
- package/_internal/{3f86608e.js → Portal-c43d098b.js} +2 -5
- package/_internal/Portal-c43d098b.js.map +1 -0
- package/_internal/{2c2b6a89.js → RawClickable-c76bbc4c.js} +7 -9
- package/_internal/RawClickable-c76bbc4c.js.map +1 -0
- package/_internal/{34c59f5b.js → Slides-01f513ce.js} +106 -112
- package/_internal/Slides-01f513ce.js.map +1 -0
- package/_internal/{3181f000.js → ThemeContext-3181f000.js} +1 -1
- package/_internal/ThemeContext-3181f000.js.map +1 -0
- package/_internal/{628468c4.js → Thumbnail-30d2a781.js} +50 -51
- package/_internal/Thumbnail-30d2a781.js.map +1 -0
- package/_internal/{3a4e4636.js → components/alert-dialog-8f1c163c.js} +39 -54
- package/_internal/components/alert-dialog-8f1c163c.js.map +1 -0
- package/_internal/{179a84d1.js → components/autocomplete-bfbdeb3c.js} +72 -67
- package/_internal/components/autocomplete-bfbdeb3c.js.map +1 -0
- package/_internal/components/avatar-6990e3e9.js +87 -0
- package/_internal/components/avatar-6990e3e9.js.map +1 -0
- package/_internal/{9c9df5f2.js → components/badge-81543bc7.js} +20 -19
- package/_internal/components/badge-81543bc7.js.map +1 -0
- package/_internal/{f93fe83e.js → components/button-927abe71.js} +14 -11
- package/_internal/components/button-927abe71.js.map +1 -0
- package/_internal/components/checkbox-dc4caec8.js +131 -0
- package/_internal/{f0900583.js.map → components/checkbox-dc4caec8.js.map} +1 -1
- package/_internal/{c0414b89.js → components/chip-fb3d0c76.js} +13 -10
- package/_internal/components/chip-fb3d0c76.js.map +1 -0
- package/_internal/components/comment-block-b84c4694.js +121 -0
- package/_internal/components/comment-block-b84c4694.js.map +1 -0
- package/_internal/components/date-picker-a425534c.js +2 -0
- package/_internal/components/date-picker-a425534c.js.map +1 -0
- package/_internal/{2f1716fa.js → components/dialog-7dbcb485.js} +69 -80
- package/_internal/components/dialog-7dbcb485.js.map +1 -0
- package/_internal/{3e653144.js → components/divider-12e9b6a0.js} +13 -9
- package/_internal/components/divider-12e9b6a0.js.map +1 -0
- package/_internal/components/drag-handle-a38ff757.js +53 -0
- package/_internal/components/drag-handle-a38ff757.js.map +1 -0
- package/_internal/{1ea72630.js → components/dropdown-38b0b6a0.js} +19 -17
- package/_internal/components/dropdown-38b0b6a0.js.map +1 -0
- package/_internal/{68c10f98.js → components/expansion-panel-c4b93653.js} +46 -54
- package/_internal/components/expansion-panel-c4b93653.js.map +1 -0
- package/_internal/{c2388b10.js → components/flag-c5e2f5f0.js} +19 -22
- package/_internal/components/flag-c5e2f5f0.js.map +1 -0
- package/_internal/{329b5f12.js → components/flex-box-c8701a85.js} +13 -10
- package/_internal/components/flex-box-c8701a85.js.map +1 -0
- package/_internal/{a84f4981.js → components/generic-block-0d6ad5a6.js} +30 -37
- package/_internal/components/generic-block-0d6ad5a6.js.map +1 -0
- package/_internal/{2f6c7f84.js → components/grid-3b194fe8.js} +22 -16
- package/_internal/components/grid-3b194fe8.js.map +1 -0
- package/_internal/{501f2f9f.js → components/grid-column-985b9327.js} +10 -8
- package/_internal/components/grid-column-985b9327.js.map +1 -0
- package/_internal/{193521fa.js → components/heading-5e954dfc.js} +13 -11
- package/_internal/components/heading-5e954dfc.js.map +1 -0
- package/_internal/{8ab42752.js → components/icon-2e7345ad.js} +29 -29
- package/_internal/components/icon-2e7345ad.js.map +1 -0
- package/_internal/components/image-block-8d21dd7e.js +109 -0
- package/_internal/components/image-block-8d21dd7e.js.map +1 -0
- package/_internal/{7f54e947.js → components/image-lightbox-4a5ab962.js} +105 -120
- package/_internal/components/image-lightbox-4a5ab962.js.map +1 -0
- package/_internal/{15eab19b.js → components/inline-list-4884f004.js} +25 -26
- package/_internal/components/inline-list-4884f004.js.map +1 -0
- package/_internal/{5f8f9454.js → components/input-helper-e644e05e.js} +14 -11
- package/_internal/components/input-helper-e644e05e.js.map +1 -0
- package/_internal/{b0a7a999.js → components/input-label-5e509a1b.js} +14 -12
- package/_internal/components/input-label-5e509a1b.js.map +1 -0
- package/_internal/{86aa4aa4.js → components/lightbox-bec1b95f.js} +59 -64
- package/_internal/components/lightbox-bec1b95f.js.map +1 -0
- package/_internal/components/link-9637b9e4.js +70 -0
- package/_internal/components/link-9637b9e4.js.map +1 -0
- package/_internal/components/link-preview-7a4a6e4b.js +108 -0
- package/_internal/components/link-preview-7a4a6e4b.js.map +1 -0
- package/_internal/{95cfd814.js → components/list-5c8f7122.js} +21 -14
- package/_internal/components/list-5c8f7122.js.map +1 -0
- package/_internal/{0be1006e.js → components/message-a67067d9.js} +27 -28
- package/_internal/components/message-a67067d9.js.map +1 -0
- package/_internal/components/mosaic-92b66c80.js +92 -0
- package/_internal/components/mosaic-92b66c80.js.map +1 -0
- package/_internal/components/navigation-4fd3917d.js +210 -0
- package/_internal/components/navigation-4fd3917d.js.map +1 -0
- package/_internal/{5ec059fe.js → components/notification-9063c963.js} +47 -52
- package/_internal/components/notification-9063c963.js.map +1 -0
- package/_internal/components/popover-3c4c54bd.js +3 -0
- package/_internal/components/popover-3c4c54bd.js.map +1 -0
- package/_internal/components/post-block-0cfc2206.js +99 -0
- package/_internal/components/post-block-0cfc2206.js.map +1 -0
- package/_internal/{f23cdf84.js → components/progress-eaf5b33d.js} +53 -46
- package/_internal/components/progress-eaf5b33d.js.map +1 -0
- package/_internal/{edab29ce.js → components/progress-tracker-4a65718d.js} +70 -69
- package/_internal/components/progress-tracker-4a65718d.js.map +1 -0
- package/_internal/components/radio-button-3ef8a325.js +148 -0
- package/_internal/components/radio-button-3ef8a325.js.map +1 -0
- package/_internal/components/select-d46cfe35.js +404 -0
- package/_internal/components/select-d46cfe35.js.map +1 -0
- package/_internal/{b477da26.js → components/side-navigation-75b22f19.js} +62 -67
- package/_internal/components/side-navigation-75b22f19.js.map +1 -0
- package/_internal/{6da19518.js → components/skeleton-361ce335.js} +34 -25
- package/_internal/components/skeleton-361ce335.js.map +1 -0
- package/_internal/{db4fdc7b.js → components/slider-8094cb5c.js} +60 -65
- package/_internal/components/slider-8094cb5c.js.map +1 -0
- package/_internal/{eaa8b1d8.js → components/slideshow-2e8cd372.js} +41 -41
- package/_internal/components/slideshow-2e8cd372.js.map +1 -0
- package/_internal/components/switch-5516949b.js +118 -0
- package/_internal/components/switch-5516949b.js.map +1 -0
- package/_internal/{be6da9b0.js → components/table-fa198ee6.js} +76 -73
- package/_internal/components/table-fa198ee6.js.map +1 -0
- package/_internal/{65f91970.js → components/tabs-bb9bc2a5.js} +48 -47
- package/_internal/components/tabs-bb9bc2a5.js.map +1 -0
- package/_internal/components/text-289c0526.js +2 -0
- package/_internal/components/text-289c0526.js.map +1 -0
- package/_internal/{b0b2e33d.js → components/text-field-82733568.js} +109 -122
- package/_internal/components/text-field-82733568.js.map +1 -0
- package/_internal/{76be70dd.js → components/thumbnail-e3acff82.js} +3 -3
- package/_internal/components/thumbnail-e3acff82.js.map +1 -0
- package/_internal/{bae266a9.js → components/toolbar-155562be.js} +18 -19
- package/_internal/components/toolbar-155562be.js.map +1 -0
- package/_internal/{9a4dfad0.js → components/tooltip-84ffb4f9.js} +42 -50
- package/_internal/components/tooltip-84ffb4f9.js.map +1 -0
- package/_internal/{9fdc715b.js → components/uploader-896a1d89.js} +38 -40
- package/_internal/components/uploader-896a1d89.js.map +1 -0
- package/_internal/{0d1a078c.js → components/user-block-8fd15895.js} +44 -45
- package/_internal/components/user-block-8fd15895.js.map +1 -0
- package/_internal/{4cd870a5.js → constants-b9e57936.js} +2 -2
- package/_internal/constants-b9e57936.js.map +1 -0
- package/_internal/{478b5c92.js → constants-d0e3f49e.js} +2 -2
- package/_internal/constants-d0e3f49e.js.map +1 -0
- package/_internal/{9d1336a1.js → context-21aeb1c7.js} +6 -6
- package/_internal/context-21aeb1c7.js.map +1 -0
- package/_internal/forwardRef-49d2bb84.js +80 -0
- package/_internal/forwardRef-49d2bb84.js.map +1 -0
- package/_internal/{230173a8.js → getFocusableElements-230173a8.js} +1 -1
- package/_internal/getFocusableElements-230173a8.js.map +1 -0
- package/_internal/{0420e67b.js → index-b4d256e7.js} +14 -15
- package/_internal/index-b4d256e7.js.map +1 -0
- package/_internal/{84dfe68f.js → index-f415b08e.js} +46 -52
- package/_internal/index-f415b08e.js.map +1 -0
- package/_internal/{78df9309.js → isComponent-78df9309.js} +1 -1
- package/_internal/isComponent-78df9309.js.map +1 -0
- package/_internal/{e806b848.js → isComponentType-e806b848.js} +1 -1
- package/_internal/isComponentType-e806b848.js.map +1 -0
- package/_internal/{f0d7d6ea.js → mergeRefs-f0d7d6ea.js} +1 -1
- package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
- package/_internal/{4daccdd5.js → partitionMulti-4daccdd5.js} +1 -1
- package/_internal/partitionMulti-4daccdd5.js.map +1 -0
- package/_internal/{825ac334.js → state-db358714.js} +2 -2
- package/_internal/state-db358714.js.map +1 -0
- package/_internal/{2a3d237c.js → useBooleanState-2a3d237c.js} +1 -1
- package/_internal/useBooleanState-2a3d237c.js.map +1 -0
- package/_internal/{d5f316cb.js → useCallbackOnEscape-ea4d9eb4.js} +3 -3
- package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +1 -0
- package/_internal/{36bd7352.js → useDisableBodyScroll-36bd7352.js} +1 -1
- package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
- package/_internal/{b8667090.js → useDisableStateProps-fffc365f.js} +2 -2
- package/_internal/useDisableStateProps-fffc365f.js.map +1 -0
- package/_internal/{5fe09341.js → useFocusTrap-c3c6378b.js} +4 -4
- package/_internal/useFocusTrap-c3c6378b.js.map +1 -0
- package/_internal/{3a1facc0.js → useId-3a1facc0.js} +1 -1
- package/_internal/useId-3a1facc0.js.map +1 -0
- package/_internal/{7daf0f24.js → useRovingTabIndex-7daf0f24.js} +1 -1
- package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
- package/_internal/{e6dd117e.js → useTransitionVisibility-321fdbfa.js} +2 -2
- package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
- package/_internal/{37b007a4.js → wrapChildrenIconWithSpaces-f86106ce.js} +3 -3
- package/_internal/wrapChildrenIconWithSpaces-f86106ce.js.map +1 -0
- package/index.d.ts +7 -352
- package/index.js +65 -111
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.d.ts +1 -1
- package/utils/index.js +3 -3
- package/_internal/0420e67b.js.map +0 -1
- package/_internal/0a490b07.js +0 -75
- package/_internal/0a490b07.js.map +0 -1
- package/_internal/0b9c76cb.js +0 -6
- package/_internal/0b9c76cb.js.map +0 -1
- package/_internal/0be1006e.js.map +0 -1
- package/_internal/0d1a078c.js.map +0 -1
- package/_internal/15eab19b.js.map +0 -1
- package/_internal/179a84d1.js.map +0 -1
- package/_internal/193521fa.js.map +0 -1
- package/_internal/1a90ea3d.js +0 -51
- package/_internal/1a90ea3d.js.map +0 -1
- package/_internal/1deba7d7.js +0 -224
- package/_internal/1deba7d7.js.map +0 -1
- package/_internal/1ea72630.js.map +0 -1
- package/_internal/21b83d16.js +0 -137
- package/_internal/21b83d16.js.map +0 -1
- package/_internal/230173a8.js.map +0 -1
- package/_internal/297bed8f.js +0 -457
- package/_internal/297bed8f.js.map +0 -1
- package/_internal/2a3d237c.js.map +0 -1
- package/_internal/2c2b6a89.js.map +0 -1
- package/_internal/2f1716fa.js.map +0 -1
- package/_internal/2f6c7f84.js.map +0 -1
- package/_internal/3181f000.js.map +0 -1
- package/_internal/329b5f12.js.map +0 -1
- package/_internal/332e9844.js +0 -2
- package/_internal/332e9844.js.map +0 -1
- package/_internal/34c59f5b.js.map +0 -1
- package/_internal/36bd7352.js.map +0 -1
- package/_internal/370bdaed.js.map +0 -1
- package/_internal/37b007a4.js.map +0 -1
- package/_internal/3a1facc0.js.map +0 -1
- package/_internal/3a4e4636.js.map +0 -1
- package/_internal/3e653144.js.map +0 -1
- package/_internal/3f86608e.js.map +0 -1
- package/_internal/478b5c92.js.map +0 -1
- package/_internal/4962be5b.js +0 -121
- package/_internal/4962be5b.js.map +0 -1
- package/_internal/49bbeed3.js +0 -6
- package/_internal/49bbeed3.js.map +0 -1
- package/_internal/4cd870a5.js.map +0 -1
- package/_internal/4daccdd5.js.map +0 -1
- package/_internal/501f2f9f.js.map +0 -1
- package/_internal/5e7b90e2.js +0 -2
- package/_internal/5e7b90e2.js.map +0 -1
- package/_internal/5ec059fe.js.map +0 -1
- package/_internal/5f8f9454.js.map +0 -1
- package/_internal/5fe09341.js.map +0 -1
- package/_internal/628468c4.js.map +0 -1
- package/_internal/6589b796.js +0 -280
- package/_internal/6589b796.js.map +0 -1
- package/_internal/65f91970.js.map +0 -1
- package/_internal/66f691d3.js +0 -74
- package/_internal/66f691d3.js.map +0 -1
- package/_internal/68c10f98.js.map +0 -1
- package/_internal/690ca33e.js +0 -109
- package/_internal/690ca33e.js.map +0 -1
- package/_internal/6ca04271.js +0 -108
- package/_internal/6ca04271.js.map +0 -1
- package/_internal/6da19518.js.map +0 -1
- package/_internal/7093ba23.js.map +0 -1
- package/_internal/74a4a214.js +0 -82
- package/_internal/74a4a214.js.map +0 -1
- package/_internal/76be70dd.js.map +0 -1
- package/_internal/78df9309.js.map +0 -1
- package/_internal/7b221b05.js +0 -9
- package/_internal/7b221b05.js.map +0 -1
- package/_internal/7daf0f24.js.map +0 -1
- package/_internal/7f54e947.js.map +0 -1
- package/_internal/825ac334.js.map +0 -1
- package/_internal/827b804a.js +0 -6
- package/_internal/827b804a.js.map +0 -1
- package/_internal/84dfe68f.js.map +0 -1
- package/_internal/85e3a5ca.js.map +0 -1
- package/_internal/86aa4aa4.js.map +0 -1
- package/_internal/88ec77c2.js +0 -130
- package/_internal/88ec77c2.js.map +0 -1
- package/_internal/8ab42752.js.map +0 -1
- package/_internal/95cfd814.js.map +0 -1
- package/_internal/9a4dfad0.js.map +0 -1
- package/_internal/9c9df5f2.js.map +0 -1
- package/_internal/9d1336a1.js.map +0 -1
- package/_internal/9fdc715b.js.map +0 -1
- package/_internal/a003602b.js +0 -116
- package/_internal/a003602b.js.map +0 -1
- package/_internal/a34639bd.js +0 -97
- package/_internal/a34639bd.js.map +0 -1
- package/_internal/a84f4981.js.map +0 -1
- package/_internal/b0a7a999.js.map +0 -1
- package/_internal/b0b2e33d.js.map +0 -1
- package/_internal/b1af5979.js.map +0 -1
- package/_internal/b477da26.js.map +0 -1
- package/_internal/b8667090.js.map +0 -1
- package/_internal/bae266a9.js.map +0 -1
- package/_internal/be6da9b0.js.map +0 -1
- package/_internal/c0414b89.js.map +0 -1
- package/_internal/c2388b10.js.map +0 -1
- package/_internal/c459a04d.js +0 -148
- package/_internal/c459a04d.js.map +0 -1
- package/_internal/c6ca7494.js +0 -2
- package/_internal/c6ca7494.js.map +0 -1
- package/_internal/cdddaed8.js.map +0 -1
- package/_internal/d0dd1815.js +0 -10
- package/_internal/d0dd1815.js.map +0 -1
- package/_internal/d45e3f16.js +0 -15
- package/_internal/d45e3f16.js.map +0 -1
- package/_internal/d5f316cb.js.map +0 -1
- package/_internal/d95844c1.d.ts +0 -7
- package/_internal/db4fdc7b.js.map +0 -1
- package/_internal/dbe0cf24.js +0 -75
- package/_internal/dbe0cf24.js.map +0 -1
- package/_internal/de24f857.js +0 -4
- package/_internal/de24f857.js.map +0 -1
- package/_internal/e2afb13f.js +0 -75
- package/_internal/e2afb13f.js.map +0 -1
- package/_internal/e52f0d3f.js +0 -94
- package/_internal/e52f0d3f.js.map +0 -1
- package/_internal/e6dd117e.js.map +0 -1
- package/_internal/e806b848.js.map +0 -1
- package/_internal/ea04260d.js.map +0 -1
- package/_internal/eaa8b1d8.js.map +0 -1
- package/_internal/eaf6c45a.js +0 -4
- package/_internal/eaf6c45a.js.map +0 -1
- package/_internal/edab29ce.js.map +0 -1
- package/_internal/ef5d1aac.js +0 -4
- package/_internal/ef5d1aac.js.map +0 -1
- package/_internal/f0900583.js +0 -142
- package/_internal/f0d7d6ea.js.map +0 -1
- package/_internal/f23cdf84.js.map +0 -1
- package/_internal/f52e979e.js +0 -3
- package/_internal/f52e979e.js.map +0 -1
- package/_internal/f5508d3d.js.map +0 -1
- package/_internal/f93fe83e.js.map +0 -1
package/_internal/c459a04d.js
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { m as getRootClassName, n as forwardRef, b as Theme, l as classNames } from './6589b796.js';
|
|
2
|
-
import { h as handleBasicClasses } from './e2afb13f.js';
|
|
3
|
-
import { u as useId } from './3a1facc0.js';
|
|
4
|
-
import { u as useTheme } from './3181f000.js';
|
|
5
|
-
import { u as useDisableStateProps } from './b8667090.js';
|
|
6
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
-
import { InputLabel } from './b0a7a999.js';
|
|
8
|
-
import { InputHelper } from './5f8f9454.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Component display name.
|
|
12
|
-
*/
|
|
13
|
-
const COMPONENT_NAME$1 = 'RadioButton';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Component default class name and class prefix.
|
|
17
|
-
*/
|
|
18
|
-
const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Component default props.
|
|
22
|
-
*/
|
|
23
|
-
const DEFAULT_PROPS = {};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* RadioButton component.
|
|
27
|
-
*
|
|
28
|
-
* @param props Component props.
|
|
29
|
-
* @param ref Component ref.
|
|
30
|
-
* @return React element.
|
|
31
|
-
*/
|
|
32
|
-
const RadioButton = forwardRef((props, ref) => {
|
|
33
|
-
const {
|
|
34
|
-
isAnyDisabled,
|
|
35
|
-
disabledStateProps,
|
|
36
|
-
otherProps
|
|
37
|
-
} = useDisableStateProps(props);
|
|
38
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
39
|
-
const {
|
|
40
|
-
checked,
|
|
41
|
-
className,
|
|
42
|
-
helper,
|
|
43
|
-
id,
|
|
44
|
-
inputRef,
|
|
45
|
-
isChecked = checked,
|
|
46
|
-
label,
|
|
47
|
-
name,
|
|
48
|
-
onChange,
|
|
49
|
-
theme = defaultTheme,
|
|
50
|
-
value,
|
|
51
|
-
inputProps,
|
|
52
|
-
...forwardedProps
|
|
53
|
-
} = otherProps;
|
|
54
|
-
const generatedInputId = useId();
|
|
55
|
-
const inputId = id || generatedInputId;
|
|
56
|
-
const handleChange = event => {
|
|
57
|
-
if (onChange) {
|
|
58
|
-
onChange(value, name, event);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
return /*#__PURE__*/jsxs("div", {
|
|
62
|
-
ref: ref,
|
|
63
|
-
...forwardedProps,
|
|
64
|
-
className: classNames(className, handleBasicClasses({
|
|
65
|
-
isChecked,
|
|
66
|
-
isDisabled: isAnyDisabled,
|
|
67
|
-
isUnchecked: !isChecked,
|
|
68
|
-
prefix: CLASSNAME$1,
|
|
69
|
-
theme
|
|
70
|
-
})),
|
|
71
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
72
|
-
className: `${CLASSNAME$1}__input-wrapper`,
|
|
73
|
-
children: [/*#__PURE__*/jsx("input", {
|
|
74
|
-
ref: inputRef,
|
|
75
|
-
className: `${CLASSNAME$1}__input-native`,
|
|
76
|
-
...disabledStateProps,
|
|
77
|
-
id: inputId,
|
|
78
|
-
type: "radio",
|
|
79
|
-
name: name,
|
|
80
|
-
value: value,
|
|
81
|
-
checked: isChecked,
|
|
82
|
-
onChange: handleChange,
|
|
83
|
-
readOnly: inputProps?.readOnly || isAnyDisabled,
|
|
84
|
-
"aria-describedby": helper ? `${inputId}-helper` : undefined,
|
|
85
|
-
...inputProps
|
|
86
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
87
|
-
className: `${CLASSNAME$1}__input-placeholder`,
|
|
88
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
89
|
-
className: `${CLASSNAME$1}__input-background`
|
|
90
|
-
}), /*#__PURE__*/jsx("div", {
|
|
91
|
-
className: `${CLASSNAME$1}__input-indicator`
|
|
92
|
-
})]
|
|
93
|
-
})]
|
|
94
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
95
|
-
className: `${CLASSNAME$1}__content`,
|
|
96
|
-
children: [label && /*#__PURE__*/jsx(InputLabel, {
|
|
97
|
-
htmlFor: inputId,
|
|
98
|
-
theme: theme,
|
|
99
|
-
className: `${CLASSNAME$1}__label`,
|
|
100
|
-
children: label
|
|
101
|
-
}), helper && /*#__PURE__*/jsx(InputHelper, {
|
|
102
|
-
id: `${inputId}-helper`,
|
|
103
|
-
theme: theme,
|
|
104
|
-
className: `${CLASSNAME$1}__helper`,
|
|
105
|
-
children: helper
|
|
106
|
-
})]
|
|
107
|
-
})]
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
RadioButton.displayName = COMPONENT_NAME$1;
|
|
111
|
-
RadioButton.className = CLASSNAME$1;
|
|
112
|
-
RadioButton.defaultProps = DEFAULT_PROPS;
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Component display name.
|
|
116
|
-
*/
|
|
117
|
-
const COMPONENT_NAME = 'RadioGroup';
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Component default class name and class prefix.
|
|
121
|
-
*/
|
|
122
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* RadioGroup component.
|
|
126
|
-
*
|
|
127
|
-
* @param props Component props.
|
|
128
|
-
* @param ref Component ref.
|
|
129
|
-
* @return React element.
|
|
130
|
-
*/
|
|
131
|
-
const RadioGroup = forwardRef((props, ref) => {
|
|
132
|
-
const {
|
|
133
|
-
children,
|
|
134
|
-
className,
|
|
135
|
-
...forwardedProps
|
|
136
|
-
} = props;
|
|
137
|
-
return /*#__PURE__*/jsx("div", {
|
|
138
|
-
ref: ref,
|
|
139
|
-
...forwardedProps,
|
|
140
|
-
className: classNames(className, CLASSNAME),
|
|
141
|
-
children: children
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
RadioGroup.displayName = COMPONENT_NAME;
|
|
145
|
-
RadioGroup.className = CLASSNAME;
|
|
146
|
-
|
|
147
|
-
export { RadioButton, RadioGroup };
|
|
148
|
-
//# sourceMappingURL=c459a04d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"c459a04d.js","sources":["../../src/components/radio-button/RadioButton.tsx","../../src/components/radio-button/RadioGroup.tsx"],"sourcesContent":["import { ReactNode, SyntheticEvent, InputHTMLAttributes } from 'react';\n\nimport classNames from 'classnames';\n\nimport { InputHelper, InputLabel, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioButtonProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** Helper text. */\n helper?: string;\n /** Native input id property. */\n id?: string;\n /** Native input ref. */\n inputRef?: React.Ref<HTMLInputElement>;\n /** Whether it is checked or not. */\n isChecked?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label content. */\n label?: ReactNode;\n /** Native input name property. */\n name?: string;\n /** Native input value property. */\n value?: string;\n /** On change callback. */\n onChange?(value?: string, name?: string, event?: SyntheticEvent): void;\n /** optional props for input */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioButton';\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<RadioButtonProps> = {};\n\n/**\n * RadioButton component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioButton = forwardRef<RadioButtonProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n checked,\n className,\n helper,\n id,\n inputRef,\n isChecked = checked,\n label,\n name,\n onChange,\n theme = defaultTheme,\n value,\n inputProps,\n ...forwardedProps\n } = otherProps;\n const generatedInputId = useId();\n const inputId = id || generatedInputId;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(value, name, event);\n }\n };\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n isChecked,\n isDisabled: isAnyDisabled,\n isUnchecked: !isChecked,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n >\n <div className={`${CLASSNAME}__input-wrapper`}>\n <input\n ref={inputRef}\n className={`${CLASSNAME}__input-native`}\n {...disabledStateProps}\n id={inputId}\n type=\"radio\"\n name={name}\n value={value}\n checked={isChecked}\n onChange={handleChange}\n readOnly={inputProps?.readOnly || isAnyDisabled}\n aria-describedby={helper ? `${inputId}-helper` : undefined}\n {...inputProps}\n />\n\n <div className={`${CLASSNAME}__input-placeholder`}>\n <div className={`${CLASSNAME}__input-background`} />\n <div className={`${CLASSNAME}__input-indicator`} />\n </div>\n </div>\n\n <div className={`${CLASSNAME}__content`}>\n {label && (\n <InputLabel htmlFor={inputId} theme={theme} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n )}\n {helper && (\n <InputHelper id={`${inputId}-helper`} theme={theme} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </div>\n </div>\n );\n});\nRadioButton.displayName = COMPONENT_NAME;\nRadioButton.className = CLASSNAME;\nRadioButton.defaultProps = DEFAULT_PROPS;\n","import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioGroupProps extends GenericProps {\n /** RadioButton elements */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioGroup';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * RadioGroup component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioGroup = forwardRef<RadioGroupProps, HTMLDivElement>((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <div ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n {children}\n </div>\n );\n});\nRadioGroup.displayName = COMPONENT_NAME;\nRadioGroup.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","RadioButton","forwardRef","props","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","checked","className","helper","id","inputRef","isChecked","label","name","onChange","theme","value","inputProps","forwardedProps","generatedInputId","useId","inputId","handleChange","event","_jsxs","classNames","handleBasicClasses","isDisabled","isUnchecked","prefix","children","_jsx","type","readOnly","undefined","InputLabel","htmlFor","InputHelper","displayName","defaultProps","RadioGroup"],"mappings":"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"}
|
package/_internal/c6ca7494.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"c6ca7494.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cdddaed8.js","sources":["../../src/components/button/ButtonRoot.tsx"],"sourcesContent":["import { AriaAttributes, ButtonHTMLAttributes, DetailedHTMLProps, RefObject } from 'react';\n\nimport classNames from 'classnames';\n\nimport { ColorPalette, Emphasis, Size, Theme } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\nimport { RawClickable } from '@lumx/react/utils/react/RawClickable';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled';\n\ntype HTMLButtonProps = DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;\n\n/**\n * Button size definition.\n */\nexport type ButtonSize = Extract<Size, 's' | 'm'>;\n\nexport interface BaseButtonProps\n extends GenericProps,\n Pick<AriaAttributes, 'aria-expanded' | 'aria-haspopup' | 'aria-pressed' | 'aria-label'>,\n HasTheme,\n HasAriaDisabled {\n /** Color variant. */\n color?: ColorPalette;\n /** Emphasis variant. */\n emphasis?: Emphasis;\n /** Whether or not the button has a background color in low emphasis. */\n hasBackground?: boolean;\n /** Native anchor href property. It determines whether the Button will be a <button> or an <a>. */\n href?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is selected or not (unsupported in `high` emphasis). */\n isSelected?: boolean;\n /** Native button name property. */\n name?: string;\n /** Size variant. */\n size?: ButtonSize;\n /** Native anchor target property. */\n target?: '_self' | '_blank' | '_parent' | '_top';\n /** Native button type. */\n type?: HTMLButtonProps['type'];\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n}\n\nexport interface ButtonRootProps extends BaseButtonProps {\n variant: 'button' | 'icon';\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ButtonRoot';\n\nexport const BUTTON_WRAPPER_CLASSNAME = `${CSS_PREFIX}-button-wrapper`;\nexport const BUTTON_CLASSNAME = `${CSS_PREFIX}-button`;\n\n/**\n * Render a button wrapper with the ButtonRoot inside.\n *\n * @param props Component props.\n * @return React element.\n */\nconst renderButtonWrapper: React.FC<ButtonRootProps> = (props) => {\n const { color, emphasis, variant, fullWidth } = props;\n\n const adaptedColor =\n emphasis === Emphasis.low && (color === ColorPalette.light ? ColorPalette.dark : ColorPalette.light);\n\n const wrapperClassName = classNames(\n handleBasicClasses({\n color: adaptedColor,\n prefix: BUTTON_WRAPPER_CLASSNAME,\n variant,\n fullWidth,\n }),\n );\n const buttonProps = { ...props, hasBackground: false };\n\n return (\n <div className={wrapperClassName}>\n {/* eslint-disable-next-line @typescript-eslint/no-use-before-define */}\n <ButtonRoot {...buttonProps} />\n </div>\n );\n};\n\n/**\n * ButtonRoot component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ButtonRoot = forwardRef<ButtonRootProps, HTMLButtonElement | HTMLAnchorElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n 'aria-label': ariaLabel,\n children,\n className,\n color,\n emphasis,\n hasBackground,\n isSelected,\n isActive,\n isFocused,\n isHovered,\n linkAs,\n size,\n theme,\n variant,\n fullWidth,\n ...forwardedProps\n } = otherProps;\n\n const adaptedColor =\n color ||\n (emphasis !== Emphasis.high && theme === Theme.dark && ColorPalette.light) ||\n (emphasis === Emphasis.high && ColorPalette.primary) ||\n ColorPalette.dark;\n\n if (hasBackground) {\n return renderButtonWrapper({ ...props, ref, variant, color: adaptedColor });\n }\n\n const buttonClassName = classNames(\n className,\n handleBasicClasses({\n color: adaptedColor,\n emphasis,\n isSelected,\n isDisabled: props.isDisabled || props['aria-disabled'],\n isActive,\n isFocused,\n isHovered,\n prefix: BUTTON_CLASSNAME,\n size,\n theme: emphasis === Emphasis.high && theme,\n variant,\n fullWidth,\n }),\n );\n\n return (\n <RawClickable\n as={linkAs || (forwardedProps.href ? 'a' : 'button')}\n {...forwardedProps}\n {...disabledStateProps}\n aria-disabled={isAnyDisabled}\n aria-label={ariaLabel}\n ref={ref as RefObject<HTMLButtonElement>}\n className={buttonClassName}\n >\n {children}\n </RawClickable>\n );\n});\nButtonRoot.displayName = COMPONENT_NAME;\nButtonRoot.defaultProps = {};\n"],"names":["COMPONENT_NAME","BUTTON_WRAPPER_CLASSNAME","CSS_PREFIX","BUTTON_CLASSNAME","renderButtonWrapper","props","color","emphasis","variant","fullWidth","adaptedColor","Emphasis","low","ColorPalette","light","dark","wrapperClassName","classNames","handleBasicClasses","prefix","buttonProps","hasBackground","_jsx","className","children","ButtonRoot","forwardRef","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","ariaLabel","isSelected","isActive","isFocused","isHovered","linkAs","size","theme","forwardedProps","high","Theme","primary","buttonClassName","isDisabled","RawClickable","as","href","displayName","defaultProps"],"mappings":"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"}
|
package/_internal/d0dd1815.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the classname associated to the given typography.
|
|
3
|
-
* For example, for `Typography.title` it returns `lumx-typography-title`
|
|
4
|
-
*/
|
|
5
|
-
const getTypographyClassName = typography => {
|
|
6
|
-
return `lumx-typography-${typography}`;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export { getTypographyClassName as g };
|
|
10
|
-
//# sourceMappingURL=d0dd1815.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d0dd1815.js","sources":["../../../lumx-core/src/js/utils/className/getTypographyClassName.ts"],"sourcesContent":["import { Typography } from '../../constants';\n\n/**\n * Returns the classname associated to the given typography.\n * For example, for `Typography.title` it returns `lumx-typography-title`\n */\nexport const getTypographyClassName = (typography: Typography) => {\n return `lumx-typography-${typography}`;\n};\n"],"names":["getTypographyClassName","typography"],"mappings":"AAEA;AACA;AACA;AACA;AACaA,MAAAA,sBAAsB,GAAIC,UAAsB,IAAK;EAC9D,OAAO,CAAA,gBAAA,EAAmBA,UAAU,CAAE,CAAA,CAAA;AAC1C;;;;"}
|
package/_internal/d45e3f16.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { k as ColorVariant } from './6589b796.js';
|
|
2
|
-
import { r as resolveColorWithVariants } from './7b221b05.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Returns the classname associated to the given color and variant.
|
|
6
|
-
* For example, for 'dark' and 'L2' it returns `lumx-color-font-dark-L2`
|
|
7
|
-
*/
|
|
8
|
-
function fontColorClass(propColor, propColorVariant) {
|
|
9
|
-
if (!propColor) return undefined;
|
|
10
|
-
const [color, colorVariant = ColorVariant.N] = resolveColorWithVariants(propColor, propColorVariant);
|
|
11
|
-
return `lumx-color-font-${color}-${colorVariant}`;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { fontColorClass as f };
|
|
15
|
-
//# sourceMappingURL=d45e3f16.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d45e3f16.js","sources":["../../../lumx-core/src/js/utils/className/fontColorClass.ts"],"sourcesContent":["import { ColorVariant, ColorWithVariants } from '../../constants';\nimport { resolveColorWithVariants } from './resolveColorWithVariants';\n\n/**\n * Returns the classname associated to the given color and variant.\n * For example, for 'dark' and 'L2' it returns `lumx-color-font-dark-L2`\n */\nexport function fontColorClass(propColor?: ColorWithVariants, propColorVariant?: ColorVariant) {\n if (!propColor) return undefined;\n const [color, colorVariant = ColorVariant.N] = resolveColorWithVariants(propColor, propColorVariant);\n return `lumx-color-font-${color}-${colorVariant}`;\n}\n"],"names":["fontColorClass","propColor","propColorVariant","undefined","color","colorVariant","ColorVariant","N","resolveColorWithVariants"],"mappings":";;;AAGA;AACA;AACA;AACA;AACO,SAASA,cAAcA,CAACC,SAA6B,EAAEC,gBAA+B,EAAE;AAC3F,EAAA,IAAI,CAACD,SAAS,EAAE,OAAOE,SAAS,CAAA;AAChC,EAAA,MAAM,CAACC,KAAK,EAAEC,YAAY,GAAGC,YAAY,CAACC,CAAC,CAAC,GAAGC,wBAAwB,CAACP,SAAS,EAAEC,gBAAgB,CAAC,CAAA;AACpG,EAAA,OAAO,CAAmBE,gBAAAA,EAAAA,KAAK,CAAIC,CAAAA,EAAAA,YAAY,CAAE,CAAA,CAAA;AACrD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d5f316cb.js","sources":["../../src/utils/function/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/core/js/utils';\nimport { useEffect } from 'react';\nimport { Listener, makeListenerTowerContext } from '@lumx/react/utils/function/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","disable","push","enable","unregister","pull","useCallbackOnEscape","callback","closeOnEscape","useEffect","rootElement","DOCUMENT","body","undefined","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;AACzB;AACAC,MAAAA,IAAI,CAACH,SAAS,CAAC,EAAEI,OAAO,EAAE,CAAA;AAC1B;AACAJ,MAAAA,SAAS,CAACK,IAAI,CAACH,QAAQ,CAAC,CAAA;AACxB;MACAA,QAAQ,CAACI,MAAM,EAAE,CAAA;KACpB;IACDC,UAAUA,CAACL,QAAkB,EAAE;AAC3B;MACAA,QAAQ,CAACE,OAAO,EAAE,CAAA;AAClB;AACAI,MAAAA,IAAI,CAACR,SAAS,EAAEE,QAAQ,CAAC,CAAA;AACzB;AACAC,MAAAA,IAAI,CAACH,SAAS,CAAC,EAAEM,MAAM,EAAE,CAAA;AAC7B,KAAA;GACH,CAAA;AACL;;ACzBA,MAAMN,SAAS,GAAGD,wBAAwB,EAAE,CAAA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,mBAAmBA,CAACC,QAA8B,EAAEC,aAAa,GAAG,IAAI,EAAE;AACtFC,EAAAA,SAAS,CAAC,MAAM;AACZ,IAAA,MAAMC,WAAW,GAAGC,QAAQ,EAAEC,IAAI,CAAA;IAClC,IAAI,CAACJ,aAAa,IAAI,CAACD,QAAQ,IAAI,CAACG,WAAW,EAAE;AAC7C,MAAA,OAAOG,SAAS,CAAA;AACpB,KAAA;AACA,IAAA,MAAMC,SAAS,GAAGC,eAAe,CAACR,QAAQ,CAAC,CAAA;AAE3C,IAAA,MAAMR,QAAkB,GAAG;MACvBI,MAAM,EAAEA,MAAMO,WAAW,CAACM,gBAAgB,CAAC,SAAS,EAAEF,SAAS,CAAC;MAChEb,OAAO,EAAEA,MAAMS,WAAW,CAACO,mBAAmB,CAAC,SAAS,EAAEH,SAAS,CAAA;KACtE,CAAA;AAEDjB,IAAAA,SAAS,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAA;AAC5B,IAAA,OAAO,MAAMF,SAAS,CAACO,UAAU,CAACL,QAAQ,CAAC,CAAA;AAC/C,GAAC,EAAE,CAACQ,QAAQ,EAAEC,aAAa,CAAC,CAAC,CAAA;AACjC;;;;"}
|
package/_internal/d95844c1.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db4fdc7b.js","sources":["../../src/hooks/useEventCallback.tsx","../../src/utils/number/clamp.ts","../../src/components/slider/Slider.tsx"],"sourcesContent":["import React from 'react';\n\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param fn A function to run\n * @return A React callback\n */\nexport default function useEventCallback(fn: (...args: any[]) => any): (event: any) => any {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useCallback((event: any) => ref.current(event), []);\n}\n","/**\n * Clamp value in range.\n *\n * @param value Value to clamp.\n * @param min Minimum value.\n * @param max Maximum value.\n * @return Clamped value.\n */\nexport const clamp = (value: number, min: number, max: number): number => {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n};\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport { SyntheticEvent, useMemo, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { InputHelper, InputLabel, Theme } from '@lumx/react';\nimport useEventCallback from '@lumx/react/hooks/useEventCallback';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { clamp } from '@lumx/react/utils/number/clamp';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\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 SliderProps extends GenericProps, HasTheme {\n /** Helper text. */\n helper?: string;\n /** Whether the min and max labels should be hidden or not. */\n hideMinMaxLabel?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: string;\n /** Maximum value on the range. */\n max: number;\n /** Minimum value of the range. */\n min: number;\n /** Native input name property. */\n name?: string;\n /** Number of digits in the fractional part of the selected value. */\n precision?: number;\n /** Range step value. */\n steps?: number;\n /** Selected ranged value. */\n value: number;\n /** On change callback. */\n onChange(value: number, name?: string, event?: SyntheticEvent): void;\n /** On click callback. */\n onMouseDown?(event: React.SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Slider';\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<SliderProps> = {\n precision: 0,\n steps: 0,\n};\n\n/**\n * Convert a percent value to a value in range min - max.\n *\n * @param percent Value to convert.\n * @param min Minimum value.\n * @param max Maximum value.\n * @param precision Precision.\n * @return Value in range min - max\n */\nconst computeValueFromPercent = (percent: number, min: number, max: number, precision = 0): number =>\n Number((min + percent * (max - min)).toFixed(precision));\n\n/**\n * Convert a value in range min - max to a percent value.\n *\n * @param value Value to convert.\n * @param min Minimum value.\n * @param max Maximum value.\n * @return Value in percent\n */\nconst computePercentFromValue = (value: number, min: number, max: number): number =>\n Number((value - min) / (max - min));\n\n/**\n * Slider component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Slider = forwardRef<SliderProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n className,\n helper,\n hideMinMaxLabel,\n id,\n label,\n max,\n min,\n name,\n onChange,\n onMouseDown,\n precision = DEFAULT_PROPS.precision,\n steps = DEFAULT_PROPS.steps,\n theme = defaultTheme,\n value,\n ...forwardedProps\n } = otherProps;\n const generatedId = useId();\n const sliderId = id || generatedId;\n const sliderLabelId = useMemo(() => `label-${sliderId}`, [sliderId]);\n const sliderRef = useRef<HTMLDivElement>(null);\n\n // build a lookup array for the steps.\n const availableSteps = useMemo((): number[] => {\n if (!steps) return [];\n\n const available = [0];\n const percentStep = 1 / ((max - min) / steps);\n let ptr = 0;\n while (ptr + percentStep < 1) {\n ptr += percentStep;\n available.push(ptr);\n }\n return available;\n }, [steps, min, max]);\n\n /**\n * Try to find the closest step to the current slider position.\n *\n * @param percentValue Reference value\n * @return The closest step value\n */\n const findClosestStep = (percentValue: number): number => {\n const closest = availableSteps.reduce(\n (acc, step) => {\n const aDst = Math.abs(percentValue - step);\n if (aDst < acc.dst) {\n return { dst: aDst, val: step };\n }\n return acc;\n },\n { dst: Infinity, val: -1 },\n );\n return closest.val;\n };\n\n /**\n * Convert slider's handle position to percent.\n *\n * @param event The interaction event\n * @param slider the slider element\n * @return The computed percent value\n */\n const getPercentValue = (event: React.MouseEvent, slider: HTMLDivElement): number => {\n const { width, left } = slider.getBoundingClientRect();\n let percent = (event.pageX - left - window.pageXOffset) / width;\n percent = clamp(percent, 0, 1);\n if (steps) {\n percent = findClosestStep(percent);\n }\n return percent;\n };\n\n /**\n * Register a handler for the mouse move event.\n */\n const handleMove = useEventCallback((event: React.MouseEvent) => {\n const { current: slider } = sliderRef;\n if (!slider || !onChange) return;\n const newValue = getPercentValue(event, slider);\n onChange(computeValueFromPercent(newValue, min, max, precision), name, event);\n });\n\n /**\n * Register a handler for the mouse up event.\n * Clean a all listeners.\n */\n const handleEnd = useEventCallback(() => {\n document.body.removeEventListener('mousemove', handleMove);\n document.body.removeEventListener('mouseup', handleEnd);\n document.body.removeEventListener('touchmove', handleMove);\n document.body.removeEventListener('touchend', handleEnd);\n });\n\n /**\n * Move to the next or previous value (i.e. + or - 10%) or next step\n * @param previous Should seek the previous value.\n */\n const hopToValue = (previous = false) => {\n const oldPercent = computePercentFromValue(value, min, max);\n let percent = clamp(oldPercent + (previous ? -0.1 : 0.1), 0, 1);\n if (steps) {\n percent = oldPercent + availableSteps[1] * (previous ? -1 : 1);\n percent = findClosestStep(percent);\n }\n if (onChange) {\n onChange(computeValueFromPercent(percent, min, max, precision), name);\n }\n };\n\n /**\n * Register a handler for keyboard interactions\n */\n const handleKeyDown = useEventCallback((event: React.KeyboardEvent) => {\n if (event.key === 'ArrowRight') {\n hopToValue();\n } else if (event.key === 'ArrowLeft') {\n hopToValue(true);\n }\n });\n\n /**\n * Register a handler for the mouseDown event.\n */\n const handleMouseDown = useEventCallback((event: React.MouseEvent) => {\n onMouseDown?.(event);\n\n const { current: slider } = sliderRef;\n if (isAnyDisabled || !slider) return;\n const newValue = getPercentValue(event, slider);\n if (onChange) {\n onChange(computeValueFromPercent(newValue, min, max, precision), name, event);\n }\n\n document.body.addEventListener('mousemove', handleMove);\n document.body.addEventListener('mouseup', handleEnd);\n });\n\n const percentString = `${computePercentFromValue(value, min, max) * 100}%`;\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, theme, hasLabel: Boolean(label) }),\n )}\n onMouseDown={handleMouseDown}\n >\n {label && (\n <InputLabel id={sliderLabelId} htmlFor={sliderId} className={`${CLASSNAME}__label`} theme={theme}>\n {label}\n </InputLabel>\n )}\n\n {helper && (\n <InputHelper className={`${CLASSNAME}__helper`} theme={theme}>\n {helper}\n </InputHelper>\n )}\n\n <div className={`${CLASSNAME}__ui-wrapper`}>\n {!hideMinMaxLabel && (\n <span className={`${CLASSNAME}__value-label ${CLASSNAME}__value-label--min`}>{min}</span>\n )}\n <div className={`${CLASSNAME}__wrapper`} ref={sliderRef}>\n <div className={`${CLASSNAME}__track ${CLASSNAME}__track--background`} />\n <div\n className={`${CLASSNAME}__track ${CLASSNAME}__track--active`}\n style={{ width: percentString }}\n />\n {steps ? (\n <div className={`${CLASSNAME}__ticks`}>\n {availableSteps.map((step, idx) => (\n <div\n key={`tick_${idx}`}\n className={`${CLASSNAME}__tick`}\n style={{ left: `${step * 100}%` }}\n />\n ))}\n </div>\n ) : null}\n <button\n type=\"button\"\n aria-labelledby={sliderLabelId}\n name={name}\n id={sliderId}\n className={`${CLASSNAME}__handle`}\n style={{ left: percentString }}\n onKeyDown={isAnyDisabled ? undefined : handleKeyDown}\n {...disabledStateProps}\n />\n </div>\n {!hideMinMaxLabel && (\n <span className={`${CLASSNAME}__value-label ${CLASSNAME}__value-label--max`}>{max}</span>\n )}\n </div>\n </div>\n );\n});\nSlider.displayName = COMPONENT_NAME;\nSlider.className = CLASSNAME;\nSlider.defaultProps = DEFAULT_PROPS;\n"],"names":["useEnhancedEffect","window","React","useLayoutEffect","useEffect","useEventCallback","fn","ref","useRef","current","useCallback","event","clamp","value","min","max","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","precision","steps","computeValueFromPercent","percent","Number","toFixed","computePercentFromValue","Slider","forwardRef","props","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","className","helper","hideMinMaxLabel","id","label","name","onChange","onMouseDown","theme","forwardedProps","generatedId","useId","sliderId","sliderLabelId","useMemo","sliderRef","availableSteps","available","percentStep","ptr","push","findClosestStep","percentValue","closest","reduce","acc","step","aDst","Math","abs","dst","val","Infinity","getPercentValue","slider","width","left","getBoundingClientRect","pageX","pageXOffset","handleMove","newValue","handleEnd","document","body","removeEventListener","hopToValue","previous","oldPercent","handleKeyDown","key","handleMouseDown","addEventListener","percentString","_jsxs","classNames","handleBasicClasses","prefix","hasLabel","Boolean","children","_jsx","InputLabel","htmlFor","InputHelper","style","map","idx","type","onKeyDown","undefined","displayName","defaultProps"],"mappings":"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"}
|
package/_internal/dbe0cf24.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { l as classNames } from './6589b796.js';
|
|
2
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { u as useTheme } from './3181f000.js';
|
|
4
|
-
import { FlexBox } from './329b5f12.js';
|
|
5
|
-
import { T as Text } from './0420e67b.js';
|
|
6
|
-
|
|
7
|
-
/** Internal component used to render image captions */
|
|
8
|
-
const ImageCaption = props => {
|
|
9
|
-
const defaultTheme = useTheme();
|
|
10
|
-
const {
|
|
11
|
-
baseClassName,
|
|
12
|
-
theme = defaultTheme,
|
|
13
|
-
as = 'figcaption',
|
|
14
|
-
title,
|
|
15
|
-
titleProps,
|
|
16
|
-
description,
|
|
17
|
-
descriptionProps,
|
|
18
|
-
tags,
|
|
19
|
-
captionStyle,
|
|
20
|
-
align,
|
|
21
|
-
truncate
|
|
22
|
-
} = props;
|
|
23
|
-
if (!title && !description && !tags) return null;
|
|
24
|
-
const titleColor = {
|
|
25
|
-
color: theme === 'dark' ? 'light' : 'dark'
|
|
26
|
-
};
|
|
27
|
-
const baseColor = {
|
|
28
|
-
color: theme === 'dark' ? 'light' : 'dark',
|
|
29
|
-
colorVariant: 'L2'
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
// Display description as string or HTML
|
|
33
|
-
const descriptionContent = typeof description === 'string' ? {
|
|
34
|
-
children: description
|
|
35
|
-
} : {
|
|
36
|
-
dangerouslySetInnerHTML: description
|
|
37
|
-
};
|
|
38
|
-
return /*#__PURE__*/jsxs(FlexBox, {
|
|
39
|
-
as: as,
|
|
40
|
-
className: classNames(baseClassName && `${baseClassName}__wrapper`),
|
|
41
|
-
style: captionStyle,
|
|
42
|
-
orientation: "vertical",
|
|
43
|
-
vAlign: align,
|
|
44
|
-
hAlign: align === 'center' ? align : undefined,
|
|
45
|
-
gap: "regular",
|
|
46
|
-
children: [(title || description) && /*#__PURE__*/jsxs(Text, {
|
|
47
|
-
as: "p",
|
|
48
|
-
className: classNames(baseClassName && `${baseClassName}__caption`),
|
|
49
|
-
truncate: truncate,
|
|
50
|
-
...baseColor,
|
|
51
|
-
children: [title && /*#__PURE__*/jsx(Text, {
|
|
52
|
-
...titleProps,
|
|
53
|
-
as: "span",
|
|
54
|
-
className: classNames(titleProps?.className, baseClassName && `${baseClassName}__title`),
|
|
55
|
-
typography: "subtitle1",
|
|
56
|
-
...titleColor,
|
|
57
|
-
children: title
|
|
58
|
-
}), ' ', description && /*#__PURE__*/jsx(Text, {
|
|
59
|
-
...descriptionProps,
|
|
60
|
-
as: "span",
|
|
61
|
-
className: classNames(descriptionProps?.className, baseClassName && `${baseClassName}__description`),
|
|
62
|
-
typography: "body1",
|
|
63
|
-
...descriptionContent
|
|
64
|
-
})]
|
|
65
|
-
}), tags && /*#__PURE__*/jsx(FlexBox, {
|
|
66
|
-
className: classNames(baseClassName && `${baseClassName}__tags`),
|
|
67
|
-
orientation: "horizontal",
|
|
68
|
-
vAlign: align,
|
|
69
|
-
children: tags
|
|
70
|
-
})]
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
export { ImageCaption as I };
|
|
75
|
-
//# sourceMappingURL=dbe0cf24.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dbe0cf24.js","sources":["../../src/components/image-block/ImageCaption.tsx"],"sourcesContent":["import { CSSProperties, ReactNode } from 'react';\n\nimport { FlexBox, HorizontalAlignment, Text, TextProps, useTheme } from '@lumx/react';\nimport { HasPolymorphicAs, HasTheme } from '@lumx/react/utils/type';\nimport classNames from 'classnames';\n\ntype As = 'div' | 'figcaption';\n\ntype ForwardedTextProps = Omit<TextProps, 'as' | 'typography' | 'color' | 'colorVariant'>;\n\nexport type ImageCaptionMetadata = {\n /** Image title to display in the caption. */\n title?: string;\n /** Props to pass to the title. */\n titleProps?: ForwardedTextProps;\n /** Image description. Can be either a string, or sanitized html. */\n description?: string | { __html: string };\n /** Props to pass to the title. */\n descriptionProps?: ForwardedTextProps;\n /** Tag content. */\n tags?: ReactNode;\n /** Caption custom CSS style. */\n captionStyle?: CSSProperties;\n};\n\nexport type ImageCaptionProps<AS extends As = 'figcaption'> = HasTheme &\n HasPolymorphicAs<AS> &\n ImageCaptionMetadata & {\n /** Base className for sub elements */\n baseClassName?: string;\n /** Alignment. */\n align?: HorizontalAlignment;\n /** Truncate text on title & description (no line wrapping). */\n truncate?: TextProps['truncate'];\n };\n\n/** Internal component used to render image captions */\nexport const ImageCaption = <AS extends As>(props: ImageCaptionProps<AS>) => {\n const defaultTheme = useTheme();\n const {\n baseClassName,\n theme = defaultTheme,\n as = 'figcaption',\n title,\n titleProps,\n description,\n descriptionProps,\n tags,\n captionStyle,\n align,\n truncate,\n } = props;\n if (!title && !description && !tags) return null;\n\n const titleColor = { color: theme === 'dark' ? 'light' : 'dark' } as const;\n const baseColor = { color: theme === 'dark' ? 'light' : 'dark', colorVariant: 'L2' } as const;\n\n // Display description as string or HTML\n const descriptionContent =\n typeof description === 'string' ? { children: description } : { dangerouslySetInnerHTML: description };\n\n return (\n <FlexBox\n as={as}\n className={classNames(baseClassName && `${baseClassName}__wrapper`)}\n style={captionStyle}\n orientation=\"vertical\"\n vAlign={align}\n hAlign={align === 'center' ? align : undefined}\n gap=\"regular\"\n >\n {(title || description) && (\n <Text\n as=\"p\"\n className={classNames(baseClassName && `${baseClassName}__caption`)}\n truncate={truncate}\n {...baseColor}\n >\n {title && (\n <Text\n {...titleProps}\n as=\"span\"\n className={classNames(titleProps?.className, baseClassName && `${baseClassName}__title`)}\n typography=\"subtitle1\"\n {...titleColor}\n >\n {title}\n </Text>\n )}{' '}\n {description && (\n <Text\n {...descriptionProps}\n as=\"span\"\n className={classNames(\n descriptionProps?.className,\n baseClassName && `${baseClassName}__description`,\n )}\n typography=\"body1\"\n {...descriptionContent}\n />\n )}\n </Text>\n )}\n {tags && (\n <FlexBox\n className={classNames(baseClassName && `${baseClassName}__tags`)}\n orientation=\"horizontal\"\n vAlign={align}\n >\n {tags}\n </FlexBox>\n )}\n </FlexBox>\n );\n};\n"],"names":["ImageCaption","props","defaultTheme","useTheme","baseClassName","theme","as","title","titleProps","description","descriptionProps","tags","captionStyle","align","truncate","titleColor","color","baseColor","colorVariant","descriptionContent","children","dangerouslySetInnerHTML","_jsxs","FlexBox","className","classNames","style","orientation","vAlign","hAlign","undefined","gap","Text","_jsx","typography"],"mappings":";;;;;;AAoCA;AACaA,MAAAA,YAAY,GAAmBC,KAA4B,IAAK;AACzE,EAAA,MAAMC,YAAY,GAAGC,QAAQ,EAAE,CAAA;EAC/B,MAAM;IACFC,aAAa;AACbC,IAAAA,KAAK,GAAGH,YAAY;AACpBI,IAAAA,EAAE,GAAG,YAAY;IACjBC,KAAK;IACLC,UAAU;IACVC,WAAW;IACXC,gBAAgB;IAChBC,IAAI;IACJC,YAAY;IACZC,KAAK;AACLC,IAAAA,QAAAA;AACJ,GAAC,GAAGb,KAAK,CAAA;EACT,IAAI,CAACM,KAAK,IAAI,CAACE,WAAW,IAAI,CAACE,IAAI,EAAE,OAAO,IAAI,CAAA;AAEhD,EAAA,MAAMI,UAAU,GAAG;AAAEC,IAAAA,KAAK,EAAEX,KAAK,KAAK,MAAM,GAAG,OAAO,GAAG,MAAA;GAAiB,CAAA;AAC1E,EAAA,MAAMY,SAAS,GAAG;AAAED,IAAAA,KAAK,EAAEX,KAAK,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM;AAAEa,IAAAA,YAAY,EAAE,IAAA;GAAe,CAAA;;AAE7F;AACA,EAAA,MAAMC,kBAAkB,GACpB,OAAOV,WAAW,KAAK,QAAQ,GAAG;AAAEW,IAAAA,QAAQ,EAAEX,WAAAA;AAAY,GAAC,GAAG;AAAEY,IAAAA,uBAAuB,EAAEZ,WAAAA;GAAa,CAAA;EAE1G,oBACIa,IAAA,CAACC,OAAO,EAAA;AACJjB,IAAAA,EAAE,EAAEA,EAAG;IACPkB,SAAS,EAAEC,UAAU,CAACrB,aAAa,IAAI,CAAGA,EAAAA,aAAa,WAAW,CAAE;AACpEsB,IAAAA,KAAK,EAAEd,YAAa;AACpBe,IAAAA,WAAW,EAAC,UAAU;AACtBC,IAAAA,MAAM,EAAEf,KAAM;AACdgB,IAAAA,MAAM,EAAEhB,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGiB,SAAU;AAC/CC,IAAAA,GAAG,EAAC,SAAS;IAAAX,QAAA,EAAA,CAEZ,CAACb,KAAK,IAAIE,WAAW,kBAClBa,IAAA,CAACU,IAAI,EAAA;AACD1B,MAAAA,EAAE,EAAC,GAAG;MACNkB,SAAS,EAAEC,UAAU,CAACrB,aAAa,IAAI,CAAGA,EAAAA,aAAa,WAAW,CAAE;AACpEU,MAAAA,QAAQ,EAAEA,QAAS;AAAA,MAAA,GACfG,SAAS;AAAAG,MAAAA,QAAA,EAEZb,CAAAA,KAAK,iBACF0B,GAAA,CAACD,IAAI,EAAA;AAAA,QAAA,GACGxB,UAAU;AACdF,QAAAA,EAAE,EAAC,MAAM;AACTkB,QAAAA,SAAS,EAAEC,UAAU,CAACjB,UAAU,EAAEgB,SAAS,EAAEpB,aAAa,IAAI,CAAA,EAAGA,aAAa,CAAA,OAAA,CAAS,CAAE;AACzF8B,QAAAA,UAAU,EAAC,WAAW;AAAA,QAAA,GAClBnB,UAAU;AAAAK,QAAAA,QAAA,EAEbb,KAAAA;OACC,CACT,EAAE,GAAG,EACLE,WAAW,iBACRwB,GAAA,CAACD,IAAI,EAAA;AAAA,QAAA,GACGtB,gBAAgB;AACpBJ,QAAAA,EAAE,EAAC,MAAM;AACTkB,QAAAA,SAAS,EAAEC,UAAU,CACjBf,gBAAgB,EAAEc,SAAS,EAC3BpB,aAAa,IAAI,CAAA,EAAGA,aAAa,CAAA,aAAA,CACrC,CAAE;AACF8B,QAAAA,UAAU,EAAC,OAAO;QAAA,GACdf,kBAAAA;AAAkB,OACzB,CACJ,CAAA;AAAA,KACC,CACT,EACAR,IAAI,iBACDsB,GAAA,CAACV,OAAO,EAAA;MACJC,SAAS,EAAEC,UAAU,CAACrB,aAAa,IAAI,CAAGA,EAAAA,aAAa,QAAQ,CAAE;AACjEuB,MAAAA,WAAW,EAAC,YAAY;AACxBC,MAAAA,MAAM,EAAEf,KAAM;AAAAO,MAAAA,QAAA,EAEbT,IAAAA;AAAI,KACA,CACZ,CAAA;AAAA,GACI,CAAC,CAAA;AAElB;;;;"}
|
package/_internal/de24f857.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"de24f857.js","sources":["../../../lumx-icons/dist/esm/check-circle.js"],"sourcesContent":["export const mdiCheckCircle = 'M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z';"],"names":["mdiCheckCircle"],"mappings":"AAAO,MAAMA,cAAc,GAAG;;;;"}
|
package/_internal/e2afb13f.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { l as classNames } from './6589b796.js';
|
|
2
|
-
import isBoolean from 'lodash/isBoolean';
|
|
3
|
-
import isEmpty from 'lodash/isEmpty';
|
|
4
|
-
import kebabCase from 'lodash/kebabCase';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Get the basic CSS class for the given type.
|
|
8
|
-
*
|
|
9
|
-
* @param prefix The class name prefix for the generated CSS class.
|
|
10
|
-
* @param type The type of CSS class we want to generate (e.g.: 'color', 'variant', ...).
|
|
11
|
-
* @param value The value of the type of the CSS class (e.g.: 'primary', 'button', ...).
|
|
12
|
-
* @return The basic CSS class.
|
|
13
|
-
*/
|
|
14
|
-
function getBasicClass({
|
|
15
|
-
prefix,
|
|
16
|
-
type,
|
|
17
|
-
value
|
|
18
|
-
}) {
|
|
19
|
-
if (isBoolean(value)) {
|
|
20
|
-
if (!value) {
|
|
21
|
-
// False value should not return a class.
|
|
22
|
-
return '';
|
|
23
|
-
}
|
|
24
|
-
const booleanPrefixes = ['has', 'is'];
|
|
25
|
-
if (booleanPrefixes.some(booleanPrefix => type.toString().startsWith(booleanPrefix))) {
|
|
26
|
-
return `${prefix}--${kebabCase(type)}`;
|
|
27
|
-
}
|
|
28
|
-
return `${prefix}--is-${kebabCase(type)}`;
|
|
29
|
-
}
|
|
30
|
-
return `${prefix}--${kebabCase(type)}-${value}`;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Enhance isEmpty method to also works with numbers.
|
|
35
|
-
*
|
|
36
|
-
* @param value The value to check.
|
|
37
|
-
* @return Whether the input value is empty or != 0.
|
|
38
|
-
*/
|
|
39
|
-
const _isEmpty = value => {
|
|
40
|
-
if (typeof value === 'number') {
|
|
41
|
-
return value === 0;
|
|
42
|
-
}
|
|
43
|
-
return isEmpty(value);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Return all basic LumX CSS classes which are available for every components.
|
|
48
|
-
*
|
|
49
|
-
* @see {@link /src/components/index.d.ts} for the possible values of each parameter.
|
|
50
|
-
*
|
|
51
|
-
* @param prefix The class name prefix for the generated CSS class.
|
|
52
|
-
* @param props All the other props you want to generate a class.
|
|
53
|
-
* The rule of thumb: the key is the name of the prop in the class, the value a string that will
|
|
54
|
-
* be used in the classname to represent the value of the given prop.
|
|
55
|
-
* @return All LumX basic CSS classes.
|
|
56
|
-
*/
|
|
57
|
-
function handleBasicClasses({
|
|
58
|
-
prefix,
|
|
59
|
-
...props
|
|
60
|
-
}) {
|
|
61
|
-
const otherClasses = {};
|
|
62
|
-
if (!isEmpty(props)) {
|
|
63
|
-
Object.keys(props).forEach(prop => {
|
|
64
|
-
otherClasses[getBasicClass({
|
|
65
|
-
prefix,
|
|
66
|
-
type: prop,
|
|
67
|
-
value: props[prop]
|
|
68
|
-
})] = isBoolean(props[prop]) ? props[prop] : !_isEmpty(props[prop]);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
return classNames(prefix, otherClasses);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export { getBasicClass as g, handleBasicClasses as h };
|
|
75
|
-
//# sourceMappingURL=e2afb13f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"e2afb13f.js","sources":["../../../lumx-core/src/js/utils/className/getBasicClass.ts","../../../lumx-core/src/js/utils/className/handleBasicClasses.ts"],"sourcesContent":["import isBoolean from 'lodash/isBoolean';\nimport kebabCase from 'lodash/kebabCase';\n\n/**\n * Get the basic CSS class for the given type.\n *\n * @param prefix The class name prefix for the generated CSS class.\n * @param type The type of CSS class we want to generate (e.g.: 'color', 'variant', ...).\n * @param value The value of the type of the CSS class (e.g.: 'primary', 'button', ...).\n * @return The basic CSS class.\n */\nexport function getBasicClass({\n prefix,\n type,\n value,\n}: {\n prefix: string;\n type: string;\n value: string | number | boolean | undefined;\n}): string {\n if (isBoolean(value)) {\n if (!value) {\n // False value should not return a class.\n return '';\n }\n const booleanPrefixes = ['has', 'is'];\n\n if (booleanPrefixes.some((booleanPrefix) => type.toString().startsWith(booleanPrefix))) {\n return `${prefix}--${kebabCase(type)}`;\n }\n\n return `${prefix}--is-${kebabCase(type)}`;\n }\n\n return `${prefix}--${kebabCase(type)}-${value}`;\n}\n","import classNames from 'classnames';\n\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { getBasicClass } from './getBasicClass';\n\n/**\n * Enhance isEmpty method to also works with numbers.\n *\n * @param value The value to check.\n * @return Whether the input value is empty or != 0.\n */\nconst _isEmpty = (value: any) => {\n if (typeof value === 'number') {\n return value === 0;\n }\n\n return isEmpty(value);\n};\n\n/**\n * Return all basic LumX CSS classes which are available for every components.\n *\n * @see {@link /src/components/index.d.ts} for the possible values of each parameter.\n *\n * @param prefix The class name prefix for the generated CSS class.\n * @param props All the other props you want to generate a class.\n * The rule of thumb: the key is the name of the prop in the class, the value a string that will\n * be used in the classname to represent the value of the given prop.\n * @return All LumX basic CSS classes.\n */\nexport function handleBasicClasses({ prefix, ...props }: { prefix: string; [prop: string]: any }): string {\n const otherClasses: any = {};\n if (!isEmpty(props)) {\n Object.keys(props).forEach((prop) => {\n otherClasses[getBasicClass({ prefix, type: prop, value: props[prop] })] = isBoolean(props[prop])\n ? props[prop]\n : !_isEmpty(props[prop]);\n });\n }\n\n return classNames(prefix, otherClasses);\n}\n"],"names":["getBasicClass","prefix","type","value","isBoolean","booleanPrefixes","some","booleanPrefix","toString","startsWith","kebabCase","_isEmpty","isEmpty","handleBasicClasses","props","otherClasses","Object","keys","forEach","prop","classNames"],"mappings":";;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,aAAaA,CAAC;EAC1BC,MAAM;EACNC,IAAI;AACJC,EAAAA,KAAAA;AAKJ,CAAC,EAAU;AACP,EAAA,IAAIC,SAAS,CAACD,KAAK,CAAC,EAAE;IAClB,IAAI,CAACA,KAAK,EAAE;AACR;AACA,MAAA,OAAO,EAAE,CAAA;AACb,KAAA;AACA,IAAA,MAAME,eAAe,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAErC,IAAA,IAAIA,eAAe,CAACC,IAAI,CAAEC,aAAa,IAAKL,IAAI,CAACM,QAAQ,EAAE,CAACC,UAAU,CAACF,aAAa,CAAC,CAAC,EAAE;AACpF,MAAA,OAAO,GAAGN,MAAM,CAAA,EAAA,EAAKS,SAAS,CAACR,IAAI,CAAC,CAAE,CAAA,CAAA;AAC1C,KAAA;AAEA,IAAA,OAAO,GAAGD,MAAM,CAAA,KAAA,EAAQS,SAAS,CAACR,IAAI,CAAC,CAAE,CAAA,CAAA;AAC7C,GAAA;EAEA,OAAO,CAAA,EAAGD,MAAM,CAAKS,EAAAA,EAAAA,SAAS,CAACR,IAAI,CAAC,CAAIC,CAAAA,EAAAA,KAAK,CAAE,CAAA,CAAA;AACnD;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMQ,QAAQ,GAAIR,KAAU,IAAK;AAC7B,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAOA,KAAK,KAAK,CAAC,CAAA;AACtB,GAAA;EAEA,OAAOS,OAAO,CAACT,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,kBAAkBA,CAAC;EAAEZ,MAAM;EAAE,GAAGa,KAAAA;AAA+C,CAAC,EAAU;EACtG,MAAMC,YAAiB,GAAG,EAAE,CAAA;AAC5B,EAAA,IAAI,CAACH,OAAO,CAACE,KAAK,CAAC,EAAE;IACjBE,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,OAAO,CAAEC,IAAI,IAAK;MACjCJ,YAAY,CAACf,aAAa,CAAC;QAAEC,MAAM;AAAEC,QAAAA,IAAI,EAAEiB,IAAI;QAAEhB,KAAK,EAAEW,KAAK,CAACK,IAAI,CAAA;OAAG,CAAC,CAAC,GAAGf,SAAS,CAACU,KAAK,CAACK,IAAI,CAAC,CAAC,GAC1FL,KAAK,CAACK,IAAI,CAAC,GACX,CAACR,QAAQ,CAACG,KAAK,CAACK,IAAI,CAAC,CAAC,CAAA;AAChC,KAAC,CAAC,CAAA;AACN,GAAA;AAEA,EAAA,OAAOC,UAAU,CAACnB,MAAM,EAAEc,YAAY,CAAC,CAAA;AAC3C;;;;"}
|
package/_internal/e52f0d3f.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
|
-
import { m as getRootClassName, n as forwardRef, b as Theme, l as classNames, A as Alignment, i as AspectRatio } from './6589b796.js';
|
|
3
|
-
import take from 'lodash/take';
|
|
4
|
-
import { u as useTheme } from './3181f000.js';
|
|
5
|
-
import { h as handleBasicClasses } from './e2afb13f.js';
|
|
6
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
-
import { T as Thumbnail } from './628468c4.js';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Component display name.
|
|
11
|
-
*/
|
|
12
|
-
const COMPONENT_NAME = 'Mosaic';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Component default class name and class prefix.
|
|
16
|
-
*/
|
|
17
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Component default props.
|
|
21
|
-
*/
|
|
22
|
-
const DEFAULT_PROPS = {};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Mosaic component.
|
|
26
|
-
*
|
|
27
|
-
* @param props Component props.
|
|
28
|
-
* @param ref Component ref.
|
|
29
|
-
* @return React element.
|
|
30
|
-
*/
|
|
31
|
-
const Mosaic = forwardRef((props, ref) => {
|
|
32
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
33
|
-
const {
|
|
34
|
-
className,
|
|
35
|
-
theme = defaultTheme,
|
|
36
|
-
thumbnails,
|
|
37
|
-
onImageClick,
|
|
38
|
-
...forwardedProps
|
|
39
|
-
} = props;
|
|
40
|
-
const handleImageClick = useMemo(() => {
|
|
41
|
-
if (!onImageClick) return undefined;
|
|
42
|
-
return (index, onClick) => event => {
|
|
43
|
-
onClick?.(event);
|
|
44
|
-
onImageClick?.(index);
|
|
45
|
-
};
|
|
46
|
-
}, [onImageClick]);
|
|
47
|
-
return /*#__PURE__*/jsx("div", {
|
|
48
|
-
ref: ref,
|
|
49
|
-
...forwardedProps,
|
|
50
|
-
className: classNames(className, handleBasicClasses({
|
|
51
|
-
prefix: CLASSNAME,
|
|
52
|
-
theme
|
|
53
|
-
}), {
|
|
54
|
-
[`${CLASSNAME}--has-1-thumbnail`]: thumbnails?.length === 1,
|
|
55
|
-
[`${CLASSNAME}--has-2-thumbnails`]: thumbnails?.length === 2,
|
|
56
|
-
[`${CLASSNAME}--has-3-thumbnails`]: thumbnails?.length === 3,
|
|
57
|
-
[`${CLASSNAME}--has-4-thumbnails`]: thumbnails?.length >= 4
|
|
58
|
-
}),
|
|
59
|
-
children: /*#__PURE__*/jsx("div", {
|
|
60
|
-
className: `${CLASSNAME}__wrapper`,
|
|
61
|
-
children: take(thumbnails, 4).map((thumbnail, index) => {
|
|
62
|
-
const {
|
|
63
|
-
image,
|
|
64
|
-
onClick,
|
|
65
|
-
align,
|
|
66
|
-
...thumbnailProps
|
|
67
|
-
} = thumbnail;
|
|
68
|
-
return /*#__PURE__*/jsxs("div", {
|
|
69
|
-
className: `${CLASSNAME}__thumbnail`,
|
|
70
|
-
children: [/*#__PURE__*/jsx(Thumbnail, {
|
|
71
|
-
...thumbnailProps,
|
|
72
|
-
align: align || Alignment.left,
|
|
73
|
-
image: image,
|
|
74
|
-
theme: theme,
|
|
75
|
-
aspectRatio: AspectRatio.free,
|
|
76
|
-
fillHeight: true,
|
|
77
|
-
onClick: handleImageClick?.(index, onClick) || onClick
|
|
78
|
-
}), thumbnails.length > 4 && index === 3 && /*#__PURE__*/jsx("div", {
|
|
79
|
-
className: `${CLASSNAME}__overlay`,
|
|
80
|
-
children: /*#__PURE__*/jsxs("span", {
|
|
81
|
-
children: ["+", thumbnails.length - 4]
|
|
82
|
-
})
|
|
83
|
-
})]
|
|
84
|
-
}, index);
|
|
85
|
-
})
|
|
86
|
-
})
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
Mosaic.displayName = COMPONENT_NAME;
|
|
90
|
-
Mosaic.className = CLASSNAME;
|
|
91
|
-
Mosaic.defaultProps = DEFAULT_PROPS;
|
|
92
|
-
|
|
93
|
-
export { Mosaic };
|
|
94
|
-
//# sourceMappingURL=e52f0d3f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"e52f0d3f.js","sources":["../../src/components/mosaic/Mosaic.tsx"],"sourcesContent":["import { MouseEventHandler, useMemo } from 'react';\n\nimport classNames from 'classnames';\nimport take from 'lodash/take';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\nimport { Alignment, AspectRatio, Theme, Thumbnail, ThumbnailProps } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface MosaicProps extends GenericProps, HasTheme {\n /** Thumbnails. */\n thumbnails: ThumbnailProps[];\n /** On image click callback. */\n onImageClick?(index: number): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Mosaic';\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<MosaicProps> = {};\n\n/**\n * Mosaic component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Mosaic = forwardRef<MosaicProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { className, theme = defaultTheme, thumbnails, onImageClick, ...forwardedProps } = props;\n const handleImageClick = useMemo(() => {\n if (!onImageClick) return undefined;\n\n return (index: number, onClick?: MouseEventHandler): MouseEventHandler =>\n (event) => {\n onClick?.(event);\n onImageClick?.(index);\n };\n }, [onImageClick]);\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }), {\n [`${CLASSNAME}--has-1-thumbnail`]: thumbnails?.length === 1,\n [`${CLASSNAME}--has-2-thumbnails`]: thumbnails?.length === 2,\n [`${CLASSNAME}--has-3-thumbnails`]: thumbnails?.length === 3,\n [`${CLASSNAME}--has-4-thumbnails`]: thumbnails?.length >= 4,\n })}\n >\n <div className={`${CLASSNAME}__wrapper`}>\n {take(thumbnails, 4).map((thumbnail: any, index: number) => {\n const { image, onClick, align, ...thumbnailProps } = thumbnail;\n\n return (\n <div key={index} className={`${CLASSNAME}__thumbnail`}>\n <Thumbnail\n {...thumbnailProps}\n align={align || Alignment.left}\n image={image}\n theme={theme}\n aspectRatio={AspectRatio.free}\n fillHeight\n onClick={handleImageClick?.(index, onClick) || onClick}\n />\n\n {thumbnails.length > 4 && index === 3 && (\n <div className={`${CLASSNAME}__overlay`}>\n <span>+{thumbnails.length - 4}</span>\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n});\nMosaic.displayName = COMPONENT_NAME;\nMosaic.className = CLASSNAME;\nMosaic.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Mosaic","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","theme","thumbnails","onImageClick","forwardedProps","handleImageClick","useMemo","undefined","index","onClick","event","_jsx","classNames","handleBasicClasses","prefix","length","children","take","map","thumbnail","image","align","thumbnailProps","_jsxs","Thumbnail","Alignment","left","aspectRatio","AspectRatio","free","fillHeight","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"e6dd117e.js","sources":["../../src/utils/browser/isReducedMotion.ts","../../src/hooks/useTransitionVisibility.ts"],"sourcesContent":["import { WINDOW } from '@lumx/react/constants';\n\n/** Check if user prefers reduced motion */\nexport function isReducedMotion() {\n return WINDOW?.matchMedia?.('(prefers-reduced-motion: reduce)').matches;\n}\n","import { RefObject, useEffect, useRef, useState } from 'react';\nimport { isReducedMotion } from '@lumx/react/utils/browser/isReducedMotion';\n\n/**\n * Returns true if the component is visible tracking the opacity transition.\n *\n * @param ref Element on which to listen the transition event.\n * @param isComponentVisible Whether the component intends to be visible or not.\n * @param onVisibilityChange Callback called when the visibility changes.\n * @return true if the component should be rendered\n */\nexport const useTransitionVisibility = (\n ref: RefObject<HTMLElement>,\n isComponentVisible: boolean,\n timeout: number,\n onVisibilityChange?: (isVisible: boolean) => void,\n) => {\n const [isVisible, setVisible] = useState(isComponentVisible);\n const previousVisibility = useRef(isVisible);\n\n // On component visibility change.\n useEffect(() => {\n if (isComponentVisible) {\n setVisible(true);\n return undefined;\n }\n const { current: element } = ref;\n\n // Transition event is not supported or the user prefers reduced motion.\n // => Skip and set visibility to false directly.\n if (!element || !window.TransitionEvent || isReducedMotion()) {\n setVisible(false);\n return undefined;\n }\n\n const timer = setTimeout(() => setVisible(false), timeout);\n return () => clearTimeout(timer);\n }, [isComponentVisible, ref, timeout]);\n\n useEffect(() => {\n if (onVisibilityChange && previousVisibility.current !== isVisible) {\n onVisibilityChange(isVisible);\n previousVisibility.current = isVisible;\n }\n }, [isVisible, onVisibilityChange]);\n\n return isVisible || isComponentVisible;\n};\n"],"names":["isReducedMotion","WINDOW","matchMedia","matches","useTransitionVisibility","ref","isComponentVisible","timeout","onVisibilityChange","isVisible","setVisible","useState","previousVisibility","useRef","useEffect","undefined","current","element","window","TransitionEvent","timer","setTimeout","clearTimeout"],"mappings":";;;AAEA;AACO,SAASA,eAAeA,GAAG;AAC9B,EAAA,OAAOC,MAAM,EAAEC,UAAU,GAAG,kCAAkC,CAAC,CAACC,OAAO,CAAA;AAC3E;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,uBAAuB,GAAGA,CACnCC,GAA2B,EAC3BC,kBAA2B,EAC3BC,OAAe,EACfC,kBAAiD,KAChD;EACD,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,GAAGC,QAAQ,CAACL,kBAAkB,CAAC,CAAA;AAC5D,EAAA,MAAMM,kBAAkB,GAAGC,MAAM,CAACJ,SAAS,CAAC,CAAA;;AAE5C;AACAK,EAAAA,SAAS,CAAC,MAAM;AACZ,IAAA,IAAIR,kBAAkB,EAAE;MACpBI,UAAU,CAAC,IAAI,CAAC,CAAA;AAChB,MAAA,OAAOK,SAAS,CAAA;AACpB,KAAA;IACA,MAAM;AAAEC,MAAAA,OAAO,EAAEC,OAAAA;AAAQ,KAAC,GAAGZ,GAAG,CAAA;;AAEhC;AACA;IACA,IAAI,CAACY,OAAO,IAAI,CAACC,MAAM,CAACC,eAAe,IAAInB,eAAe,EAAE,EAAE;MAC1DU,UAAU,CAAC,KAAK,CAAC,CAAA;AACjB,MAAA,OAAOK,SAAS,CAAA;AACpB,KAAA;IAEA,MAAMK,KAAK,GAAGC,UAAU,CAAC,MAAMX,UAAU,CAAC,KAAK,CAAC,EAAEH,OAAO,CAAC,CAAA;AAC1D,IAAA,OAAO,MAAMe,YAAY,CAACF,KAAK,CAAC,CAAA;GACnC,EAAE,CAACd,kBAAkB,EAAED,GAAG,EAAEE,OAAO,CAAC,CAAC,CAAA;AAEtCO,EAAAA,SAAS,CAAC,MAAM;AACZ,IAAA,IAAIN,kBAAkB,IAAII,kBAAkB,CAACI,OAAO,KAAKP,SAAS,EAAE;MAChED,kBAAkB,CAACC,SAAS,CAAC,CAAA;MAC7BG,kBAAkB,CAACI,OAAO,GAAGP,SAAS,CAAA;AAC1C,KAAA;AACJ,GAAC,EAAE,CAACA,SAAS,EAAED,kBAAkB,CAAC,CAAC,CAAA;EAEnC,OAAOC,SAAS,IAAIH,kBAAkB,CAAA;AAC1C;;;;"}
|