@lumx/react 3.20.1-alpha.32 → 3.20.1-alpha.34
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/00560d40.js +11 -0
- package/_internal/00560d40.js.map +1 -0
- package/_internal/{components/grid-column-99652545.js → 00cc46ee.js} +2 -2
- package/_internal/00cc46ee.js.map +1 -0
- package/_internal/{useFocusTrap-c3c6378b.js → 0350c865.js} +5 -27
- package/_internal/0350c865.js.map +1 -0
- package/_internal/063618dc.js +21 -0
- package/_internal/063618dc.js.map +1 -0
- package/_internal/07f6dc7c.js +16 -0
- package/_internal/07f6dc7c.js.map +1 -0
- package/_internal/0846b7f3.js +4 -0
- package/_internal/0846b7f3.js.map +1 -0
- package/_internal/08948b47.js +109 -0
- package/_internal/08948b47.js.map +1 -0
- package/_internal/08b0de35.js +14 -0
- package/_internal/08b0de35.js.map +1 -0
- package/_internal/094c811d.js +24 -0
- package/_internal/094c811d.js.map +1 -0
- package/_internal/09d97180.js +18 -0
- package/_internal/09d97180.js.map +1 -0
- package/_internal/0a2c57a2.js +9 -0
- package/_internal/0a2c57a2.js.map +1 -0
- package/_internal/0a7f4911.js +64 -0
- package/_internal/0a7f4911.js.map +1 -0
- package/_internal/0aa9027f.js +10 -0
- package/_internal/0aa9027f.js.map +1 -0
- package/_internal/0c58c8e2.js +59 -0
- package/_internal/0c58c8e2.js.map +1 -0
- package/_internal/{Button-1b7d3b79.js → 0d7cc1e0.js} +8 -8
- package/_internal/0d7cc1e0.js.map +1 -0
- package/_internal/0db022d6.js +58 -0
- package/_internal/0db022d6.js.map +1 -0
- package/_internal/0e16222d.js +9 -0
- package/_internal/0e16222d.js.map +1 -0
- package/_internal/0f849025.js +4 -0
- package/_internal/0f849025.js.map +1 -0
- package/_internal/0fe87dc7.js +72 -0
- package/_internal/0fe87dc7.js.map +1 -0
- package/_internal/1060c47e.js +4 -0
- package/_internal/1060c47e.js.map +1 -0
- package/_internal/{isComponentType-e806b848.js → 111e65e5.js} +2 -2
- package/_internal/111e65e5.js.map +1 -0
- package/_internal/{useId-3a1facc0.js → 11687649.js} +2 -2
- package/_internal/11687649.js.map +1 -0
- package/_internal/14390eeb.js +7 -0
- package/_internal/14390eeb.js.map +1 -0
- package/_internal/145228a7.js +47 -0
- package/_internal/145228a7.js.map +1 -0
- package/_internal/{components/uploader-2e1b080e.js → 15fb66ce.js} +8 -8
- package/_internal/15fb66ce.js.map +1 -0
- package/_internal/160cf9fe.js +24 -0
- package/_internal/160cf9fe.js.map +1 -0
- package/_internal/1616343a.js +37 -0
- package/_internal/1616343a.js.map +1 -0
- package/_internal/{components/divider-0e93aa3d.js → 162672de.js} +3 -3
- package/_internal/162672de.js.map +1 -0
- package/_internal/168f211f.js +17 -0
- package/_internal/168f211f.js.map +1 -0
- package/_internal/{wrapChildrenIconWithSpaces-fb85a743.js → 16f5497d.js} +4 -4
- package/_internal/16f5497d.js.map +1 -0
- package/_internal/179a2989.js +129 -0
- package/_internal/179a2989.js.map +1 -0
- package/_internal/185778b8.js +4 -0
- package/_internal/185778b8.js.map +1 -0
- package/_internal/1afd2506.js +60 -0
- package/_internal/1afd2506.js.map +1 -0
- package/_internal/1c1cdfa2.js +159 -0
- package/_internal/1c1cdfa2.js.map +1 -0
- package/_internal/1c3b349b.js +4 -0
- package/_internal/1c3b349b.js.map +1 -0
- package/_internal/1d7267a1.js +173 -0
- package/_internal/1d7267a1.js.map +1 -0
- package/_internal/1df25415.js +53 -0
- package/_internal/1df25415.js.map +1 -0
- package/_internal/1ee5415f.js +27 -0
- package/_internal/1ee5415f.js.map +1 -0
- package/_internal/1ff933af.js +5 -0
- package/_internal/1ff933af.js.map +1 -0
- package/_internal/200c2ce1.js +17 -0
- package/_internal/200c2ce1.js.map +1 -0
- package/_internal/{index-77f213b1.js → 203b01d8.js} +6 -36
- package/_internal/203b01d8.js.map +1 -0
- package/_internal/2040beb8.js +169 -0
- package/_internal/2040beb8.js.map +1 -0
- package/_internal/20f07616.js +14 -0
- package/_internal/20f07616.js.map +1 -0
- package/_internal/215781b4.js +6 -0
- package/_internal/215781b4.js.map +1 -0
- package/_internal/{components/mosaic-c8084ee8.js → 226a2eac.js} +4 -4
- package/_internal/226a2eac.js.map +1 -0
- package/_internal/2291b633.js +52 -0
- package/_internal/2291b633.js.map +1 -0
- package/_internal/{components/inline-list-5ba8bb0f.js → 2403668c.js} +2 -2
- package/_internal/2403668c.js.map +1 -0
- package/_internal/24b48881.js +133 -0
- package/_internal/24b48881.js.map +1 -0
- package/_internal/2517d1d6.js +9 -0
- package/_internal/2517d1d6.js.map +1 -0
- package/_internal/256f8eff.js +4 -0
- package/_internal/256f8eff.js.map +1 -0
- package/_internal/{components/input-label-30d199c3.js → 26a92990.js} +3 -3
- package/_internal/26a92990.js.map +1 -0
- package/_internal/27a93417.js +223 -0
- package/_internal/27a93417.js.map +1 -0
- package/_internal/{mergeRefs-f0d7d6ea.js → 27df0cb6.js} +2 -2
- package/_internal/27df0cb6.js.map +1 -0
- package/_internal/28f344bd.js +52 -0
- package/_internal/28f344bd.js.map +1 -0
- package/_internal/2c5a950d.js +55 -0
- package/_internal/2c5a950d.js.map +1 -0
- package/_internal/2cdd9ec6.js +16 -0
- package/_internal/2cdd9ec6.js.map +1 -0
- package/_internal/2cfeae78.js +150 -0
- package/_internal/2cfeae78.js.map +1 -0
- package/_internal/{components/dropdown-25170b7c.js → 2d1acaa0.js} +8 -48
- package/_internal/2d1acaa0.js.map +1 -0
- package/_internal/2d69d0f5.js +4 -0
- package/_internal/2d69d0f5.js.map +1 -0
- package/_internal/2dcfa1df.js +18 -0
- package/_internal/2dcfa1df.js.map +1 -0
- package/_internal/2dff9a38.js +150 -0
- package/_internal/2dff9a38.js.map +1 -0
- package/_internal/2e5288d0.js +15 -0
- package/_internal/2e5288d0.js.map +1 -0
- package/_internal/2fc47dc4.js +133 -0
- package/_internal/2fc47dc4.js.map +1 -0
- package/_internal/30ecdee3.js +9 -0
- package/_internal/30ecdee3.js.map +1 -0
- package/_internal/{components/input-helper-2e4e49fd.js → 3119c1fe.js} +4 -15
- package/_internal/3119c1fe.js.map +1 -0
- package/_internal/31b6784b.js +14 -0
- package/_internal/31b6784b.js.map +1 -0
- package/_internal/341034b4.js +48 -0
- package/_internal/341034b4.js.map +1 -0
- package/_internal/341ceaa9.js +4 -0
- package/_internal/341ceaa9.js.map +1 -0
- package/_internal/355f875f.js +9 -0
- package/_internal/355f875f.js.map +1 -0
- package/_internal/{components/side-navigation-385825d4.js → 36008a95.js} +13 -49
- package/_internal/36008a95.js.map +1 -0
- package/_internal/378a6fb1.js +126 -0
- package/_internal/378a6fb1.js.map +1 -0
- package/_internal/37f5ba95.js +12 -0
- package/_internal/37f5ba95.js.map +1 -0
- package/_internal/{Portal-3f86608e.js → 38ac8c66.js} +3 -15
- package/_internal/38ac8c66.js.map +1 -0
- package/_internal/38ce97de.js +29 -0
- package/_internal/38ce97de.js.map +1 -0
- package/_internal/39534d28.js +30 -0
- package/_internal/39534d28.js.map +1 -0
- package/_internal/{ImageCaption-6f2f4131.js → 3996d544.js} +5 -5
- package/_internal/3996d544.js.map +1 -0
- package/_internal/3a7fd4bf.js +60 -0
- package/_internal/3a7fd4bf.js.map +1 -0
- package/_internal/3cfcb0a4.js +122 -0
- package/_internal/3cfcb0a4.js.map +1 -0
- package/_internal/3d5e1fd0.js +46 -0
- package/_internal/3d5e1fd0.js.map +1 -0
- package/_internal/3db5a3e4.js +258 -0
- package/_internal/3db5a3e4.js.map +1 -0
- package/_internal/{useBooleanState-2a3d237c.js → 3e2f0517.js} +2 -2
- package/_internal/3e2f0517.js.map +1 -0
- package/_internal/3eba1faf.js +87 -0
- package/_internal/3eba1faf.js.map +1 -0
- package/_internal/3f48eb48.js +73 -0
- package/_internal/3f48eb48.js.map +1 -0
- package/_internal/3f51175c.js +61 -0
- package/_internal/3f51175c.js.map +1 -0
- package/_internal/3f54fe9e.js +4 -0
- package/_internal/3f54fe9e.js.map +1 -0
- package/_internal/{components/text-field-8597b7f7.js → 41a8b20f.js} +13 -12
- package/_internal/41a8b20f.js.map +1 -0
- package/_internal/42b26576.js +4 -0
- package/_internal/42b26576.js.map +1 -0
- package/_internal/45ef51db.js +29 -0
- package/_internal/45ef51db.js.map +1 -0
- package/_internal/48148353.js +100 -0
- package/_internal/48148353.js.map +1 -0
- package/_internal/4bb19934.js +4 -0
- package/_internal/4bb19934.js.map +1 -0
- package/_internal/4c471276.js +75 -0
- package/_internal/4c471276.js.map +1 -0
- package/_internal/{components/image-block-4f3fe64c.js → 4c891480.js} +5 -5
- package/_internal/4c891480.js.map +1 -0
- package/_internal/4d540596.js +131 -0
- package/_internal/4d540596.js.map +1 -0
- package/_internal/4d751800.js +40 -0
- package/_internal/4d751800.js.map +1 -0
- package/_internal/4f71fd36.js +4 -0
- package/_internal/4f71fd36.js.map +1 -0
- package/_internal/507d9459.js +67 -0
- package/_internal/507d9459.js.map +1 -0
- package/_internal/5178b7ba.js +10 -0
- package/_internal/5178b7ba.js.map +1 -0
- package/_internal/51921a16.js +30 -0
- package/_internal/51921a16.js.map +1 -0
- package/_internal/535aa51f.js +44 -0
- package/_internal/535aa51f.js.map +1 -0
- package/_internal/{DisabledStateContext-ea04260d.js → 536517c5.js} +2 -2
- package/_internal/536517c5.js.map +1 -0
- package/_internal/53b8dea1.js +48 -0
- package/_internal/53b8dea1.js.map +1 -0
- package/_internal/5745f198.js +12 -0
- package/_internal/5745f198.js.map +1 -0
- package/_internal/57f2079b.js +10 -0
- package/_internal/57f2079b.js.map +1 -0
- package/_internal/{components/thumbnail-4928bba2.js → 58418448.js} +1 -2
- package/_internal/58418448.js.map +1 -0
- package/_internal/{index-d3e86bd8.js → 595d0e66.js} +5 -6
- package/_internal/595d0e66.js.map +1 -0
- package/_internal/{IconButton-e11b5e74.js → 5a0207d9.js} +7 -7
- package/_internal/5a0207d9.js.map +1 -0
- package/_internal/5a6b1aa5.js +139 -0
- package/_internal/5a6b1aa5.js.map +1 -0
- package/_internal/5c3e15ea.js +107 -0
- package/_internal/5c3e15ea.js.map +1 -0
- package/_internal/{components/lightbox-10ff28f9.js → 5c4e10a0.js} +14 -14
- package/_internal/5c4e10a0.js.map +1 -0
- package/_internal/5da9ff06.js +47 -0
- package/_internal/5da9ff06.js.map +1 -0
- package/_internal/60139f6a.js +9 -0
- package/_internal/60139f6a.js.map +1 -0
- package/_internal/612b7365.js +231 -0
- package/_internal/612b7365.js.map +1 -0
- package/_internal/612f6fb4.js +155 -0
- package/_internal/612f6fb4.js.map +1 -0
- package/_internal/617d453e.js +28 -0
- package/_internal/617d453e.js.map +1 -0
- package/_internal/{components/slider-78cfaa67.js → 62c6c615.js} +11 -43
- package/_internal/62c6c615.js.map +1 -0
- package/_internal/6417ddb1.js +24 -0
- package/_internal/6417ddb1.js.map +1 -0
- package/_internal/658e09de.js +7 -0
- package/_internal/658e09de.js.map +1 -0
- package/_internal/659a1cdd.js +144 -0
- package/_internal/659a1cdd.js.map +1 -0
- package/_internal/6671d28b.js +40 -0
- package/_internal/6671d28b.js.map +1 -0
- package/_internal/66950686.js +14 -0
- package/_internal/66950686.js.map +1 -0
- package/_internal/671b986c.js +14 -0
- package/_internal/671b986c.js.map +1 -0
- package/_internal/{components/notification-97a8a04a.js → 6893b89e.js} +10 -33
- package/_internal/6893b89e.js.map +1 -0
- package/_internal/68f13c1c.js +4 -0
- package/_internal/68f13c1c.js.map +1 -0
- package/_internal/{components/link-9d1bd2f6.js → 69eb2393.js} +6 -6
- package/_internal/69eb2393.js.map +1 -0
- package/_internal/{constants-d0e3f49e.js → 6af61e2f.js} +3 -3
- package/_internal/6af61e2f.js.map +1 -0
- package/_internal/{components/checkbox-f7751583.js → 6b510f5e.js} +11 -13
- package/_internal/6b510f5e.js.map +1 -0
- package/_internal/6b61b268.js +9 -0
- package/_internal/6b61b268.js.map +1 -0
- package/_internal/6f0ce1bb.js +67 -0
- package/_internal/6f0ce1bb.js.map +1 -0
- package/_internal/6f17bf65.js +8 -0
- package/_internal/6f17bf65.js.map +1 -0
- package/_internal/{close-circle-ef5d1aac.js → 6f37d603.js} +2 -2
- package/_internal/6f37d603.js.map +1 -0
- package/_internal/6f3bb7d6.js +16 -0
- package/_internal/6f3bb7d6.js.map +1 -0
- package/_internal/705f415e.js +67 -0
- package/_internal/705f415e.js.map +1 -0
- package/_internal/722ea461.js +9 -0
- package/_internal/722ea461.js.map +1 -0
- package/_internal/728684f6.js +6 -0
- package/_internal/728684f6.js.map +1 -0
- package/_internal/730f75dc.js +93 -0
- package/_internal/730f75dc.js.map +1 -0
- package/_internal/735bcfa5.js +38 -0
- package/_internal/735bcfa5.js.map +1 -0
- package/_internal/{ClickAwayProvider-7093ba23.js → 739f2f15.js} +4 -38
- package/_internal/739f2f15.js.map +1 -0
- package/_internal/7531ee4d.js +72 -0
- package/_internal/7531ee4d.js.map +1 -0
- package/_internal/75f285fb.js +104 -0
- package/_internal/75f285fb.js.map +1 -0
- package/_internal/78a9c3cd.js +4 -0
- package/_internal/78a9c3cd.js.map +1 -0
- package/_internal/7a2da67a.js +64 -0
- package/_internal/7a2da67a.js.map +1 -0
- package/_internal/7af4a428.js +39 -0
- package/_internal/7af4a428.js.map +1 -0
- package/_internal/7d4eb1c5.js +62 -0
- package/_internal/7d4eb1c5.js.map +1 -0
- package/_internal/{components/chip-1ed080fb.js → 7d9c0855.js} +2 -50
- package/_internal/7d9c0855.js.map +1 -0
- package/_internal/7eca7fcd.js +28 -0
- package/_internal/7eca7fcd.js.map +1 -0
- package/_internal/81a6a29a.js +55 -0
- package/_internal/81a6a29a.js.map +1 -0
- package/_internal/{components/user-block-5fd51607.js → 82159c03.js} +5 -5
- package/_internal/82159c03.js.map +1 -0
- package/_internal/82c6852b.js +19 -0
- package/_internal/82c6852b.js.map +1 -0
- package/_internal/{components/drag-handle-eec23fc2.js → 840e9690.js} +5 -6
- package/_internal/840e9690.js.map +1 -0
- package/_internal/{context-9d1336a1.js → 841c2303.js} +2 -2
- package/_internal/841c2303.js.map +1 -0
- package/_internal/8429fc80.js +141 -0
- package/_internal/8429fc80.js.map +1 -0
- package/_internal/84978777.js +55 -0
- package/_internal/84978777.js.map +1 -0
- package/_internal/{components/switch-24fea8d7.js → 851a3109.js} +7 -7
- package/_internal/851a3109.js.map +1 -0
- package/_internal/879fa64d.js +6 -0
- package/_internal/879fa64d.js.map +1 -0
- package/_internal/883321fd.js +17 -0
- package/_internal/883321fd.js.map +1 -0
- package/_internal/893eb653.js +4 -0
- package/_internal/893eb653.js.map +1 -0
- package/_internal/897e2dbb.js +80 -0
- package/_internal/897e2dbb.js.map +1 -0
- package/_internal/89ee5eb2.js +22 -0
- package/_internal/89ee5eb2.js.map +1 -0
- package/_internal/8acd6aff.js +82 -0
- package/_internal/8acd6aff.js.map +1 -0
- package/_internal/8d318b2b.js +138 -0
- package/_internal/8d318b2b.js.map +1 -0
- package/_internal/8e3efbc4.js +65 -0
- package/_internal/8e3efbc4.js.map +1 -0
- package/_internal/{useDisableBodyScroll-36bd7352.js → 8e8c5ab6.js} +2 -29
- package/_internal/8e8c5ab6.js.map +1 -0
- package/_internal/8fe4c01f.js +20 -0
- package/_internal/8fe4c01f.js.map +1 -0
- package/_internal/91f36a80.js +34 -0
- package/_internal/91f36a80.js.map +1 -0
- package/_internal/928fa938.js +102 -0
- package/_internal/928fa938.js.map +1 -0
- package/_internal/9361ef65.js +6 -0
- package/_internal/9361ef65.js.map +1 -0
- package/_internal/99513933.js +145 -0
- package/_internal/99513933.js.map +1 -0
- package/_internal/9976fe9a.js +28 -0
- package/_internal/9976fe9a.js.map +1 -0
- package/_internal/9a0544c4.js +34 -0
- package/_internal/9a0544c4.js.map +1 -0
- package/_internal/9a5db774.js +6 -0
- package/_internal/9a5db774.js.map +1 -0
- package/_internal/{components/radio-button-929c7bee.js → 9ae8998a.js} +21 -54
- package/_internal/9ae8998a.js.map +1 -0
- package/_internal/{ButtonRoot-a70baf82.js → 9b0c0489.js} +6 -6
- package/_internal/9b0c0489.js.map +1 -0
- package/_internal/9d063548.js +49 -0
- package/_internal/9d063548.js.map +1 -0
- package/_internal/{components/link-preview-9525e97f.js → 9e3b78fa.js} +5 -5
- package/_internal/9e3b78fa.js.map +1 -0
- package/_internal/a0a42aca.js +14 -0
- package/_internal/a0a42aca.js.map +1 -0
- package/_internal/{components/toolbar-e7c984e6.js → a1974f13.js} +2 -2
- package/_internal/a1974f13.js.map +1 -0
- package/_internal/a2b9eb60.js +90 -0
- package/_internal/a2b9eb60.js.map +1 -0
- package/_internal/a2c7c463.js +4 -0
- package/_internal/a2c7c463.js.map +1 -0
- package/_internal/a32628a1.js +4 -0
- package/_internal/a32628a1.js.map +1 -0
- package/_internal/a3f2000f.js +198 -0
- package/_internal/a3f2000f.js.map +1 -0
- package/_internal/a45cc1b9.js +128 -0
- package/_internal/a45cc1b9.js.map +1 -0
- package/_internal/a6be9f05.js +75 -0
- package/_internal/a6be9f05.js.map +1 -0
- package/_internal/{RawClickable-2c2b6a89.js → a6dc95cd.js} +3 -6
- package/_internal/a6dc95cd.js.map +1 -0
- package/_internal/a7abe967.js +20 -0
- package/_internal/a7abe967.js.map +1 -0
- package/_internal/{components/expansion-panel-df812318.js → a89bf7bc.js} +10 -9
- package/_internal/a89bf7bc.js.map +1 -0
- package/_internal/a9d0f94d.js +53 -0
- package/_internal/a9d0f94d.js.map +1 -0
- package/_internal/ab3e5463.js +39 -0
- package/_internal/ab3e5463.js.map +1 -0
- package/_internal/{components/generic-block-964b2724.js → ac3f7e4d.js} +6 -12
- package/_internal/ac3f7e4d.js.map +1 -0
- package/_internal/acd6bed6.js +6 -0
- package/_internal/acd6bed6.js.map +1 -0
- package/_internal/{close-eaf6c45a.js → ad7c38b0.js} +2 -2
- package/_internal/ad7c38b0.js.map +1 -0
- package/_internal/ae4dc9f0.js +62 -0
- package/_internal/ae4dc9f0.js.map +1 -0
- package/_internal/aeba575c.js +4 -0
- package/_internal/aeba575c.js.map +1 -0
- package/_internal/b0780b33.js +60 -0
- package/_internal/b0780b33.js.map +1 -0
- package/_internal/b0846836.js +4 -0
- package/_internal/b0846836.js.map +1 -0
- package/_internal/b1154f4b.js +14 -0
- package/_internal/b1154f4b.js.map +1 -0
- package/_internal/{Chip-8fbedc93.js → b125b718.js} +6 -22
- package/_internal/b125b718.js.map +1 -0
- package/_internal/b23a92ab.js +56 -0
- package/_internal/b23a92ab.js.map +1 -0
- package/_internal/b4018f8d.js +107 -0
- package/_internal/b4018f8d.js.map +1 -0
- package/_internal/b402784b.js +11 -0
- package/_internal/b402784b.js.map +1 -0
- package/_internal/b4dfa648.js +32 -0
- package/_internal/b4dfa648.js.map +1 -0
- package/_internal/b573621e.js +26 -0
- package/_internal/b573621e.js.map +1 -0
- package/_internal/b5edf49e.js +8 -0
- package/_internal/b5edf49e.js.map +1 -0
- package/_internal/b85a5f3f.js +57 -0
- package/_internal/b85a5f3f.js.map +1 -0
- package/_internal/b93aa71c.js +89 -0
- package/_internal/b93aa71c.js.map +1 -0
- package/_internal/b977b471.js +5 -0
- package/_internal/b977b471.js.map +1 -0
- package/_internal/{components/message-edd6a28a.js → b9e3e436.js} +9 -7
- package/_internal/b9e3e436.js.map +1 -0
- package/_internal/b9ed1f7a.js +4 -0
- package/_internal/b9ed1f7a.js.map +1 -0
- package/_internal/{components/button-c4127e86.js → bae815e2.js} +2 -4
- package/_internal/bae815e2.js.map +1 -0
- package/_internal/bb05343d.js +36 -0
- package/_internal/bb05343d.js.map +1 -0
- package/_internal/bb5fb0f9.js +28 -0
- package/_internal/bb5fb0f9.js.map +1 -0
- package/_internal/{useRovingTabIndex-7daf0f24.js → bb8088e1.js} +2 -2
- package/_internal/bb8088e1.js.map +1 -0
- package/_internal/bc393aec.js +8 -0
- package/_internal/bc393aec.js.map +1 -0
- package/_internal/{components/heading-6cc0f178.js → bd1cd49f.js} +6 -6
- package/_internal/bd1cd49f.js.map +1 -0
- package/_internal/{forwardRef-8bce732e.js → bd8b3ec8.js} +2 -2
- package/_internal/bd8b3ec8.js.map +1 -0
- package/_internal/be29f79e.js +52 -0
- package/_internal/be29f79e.js.map +1 -0
- package/_internal/bf202fa2.js +47 -0
- package/_internal/bf202fa2.js.map +1 -0
- package/_internal/bf411e5a.js +109 -0
- package/_internal/bf411e5a.js.map +1 -0
- package/_internal/c01c3bec.js +12 -0
- package/_internal/c01c3bec.js.map +1 -0
- package/_internal/{getFocusableElements-230173a8.js → c0a6dba6.js} +2 -7
- package/_internal/c0a6dba6.js.map +1 -0
- package/_internal/{components/post-block-7e63c4f4.js → c241db12.js} +5 -5
- package/_internal/c241db12.js.map +1 -0
- package/_internal/c3ccd387.js +20 -0
- package/_internal/c3ccd387.js.map +1 -0
- package/_internal/{components/alert-dialog-5326cf04.js → c51d37f8.js} +11 -9
- package/_internal/c51d37f8.js.map +1 -0
- package/_internal/c625d242.js +14 -0
- package/_internal/c625d242.js.map +1 -0
- package/_internal/c72d4f8b.js +4 -0
- package/_internal/c72d4f8b.js.map +1 -0
- package/_internal/c9a3b27f.js +6 -0
- package/_internal/c9a3b27f.js.map +1 -0
- package/_internal/c9bd0e84.js +29 -0
- package/_internal/c9bd0e84.js.map +1 -0
- package/_internal/{partitionMulti-4daccdd5.js → cb19eca6.js} +2 -2
- package/_internal/cb19eca6.js.map +1 -0
- package/_internal/cb525c68.js +165 -0
- package/_internal/cb525c68.js.map +1 -0
- package/_internal/cb7ac456.js +165 -0
- package/_internal/cb7ac456.js.map +1 -0
- package/_internal/{components/comment-block-343e1922.js → cc5cac50.js} +5 -5
- package/_internal/cc5cac50.js.map +1 -0
- package/_internal/{components/dialog-d0e090b1.js → cd8457fc.js} +17 -47
- package/_internal/cd8457fc.js.map +1 -0
- package/_internal/d0b96efd.js +8 -0
- package/_internal/d0b96efd.js.map +1 -0
- package/_internal/d3286249.js +72 -0
- package/_internal/d3286249.js.map +1 -0
- package/_internal/d57d3fc6.js +6 -0
- package/_internal/d57d3fc6.js.map +1 -0
- package/_internal/d5f5f3f5.js +18 -0
- package/_internal/d5f5f3f5.js.map +1 -0
- package/_internal/d672fc0e.js +24 -0
- package/_internal/d672fc0e.js.map +1 -0
- package/_internal/d7ee7efe.js +40 -0
- package/_internal/d7ee7efe.js.map +1 -0
- package/_internal/{ThemeContext-3181f000.js → d8ee966d.js} +2 -2
- package/_internal/d8ee966d.js.map +1 -0
- package/_internal/db88500d.js +10 -0
- package/_internal/db88500d.js.map +1 -0
- package/_internal/dbc379f8.js +45 -0
- package/_internal/dbc379f8.js.map +1 -0
- package/_internal/dbe906f1.js +179 -0
- package/_internal/dbe906f1.js.map +1 -0
- package/_internal/de52a4b9.js +20 -0
- package/_internal/de52a4b9.js.map +1 -0
- package/_internal/df688aab.js +121 -0
- package/_internal/df688aab.js.map +1 -0
- package/_internal/dfa00cf7.js +35 -0
- package/_internal/dfa00cf7.js.map +1 -0
- package/_internal/{state-db358714.js → e0398237.js} +3 -3
- package/_internal/e0398237.js.map +1 -0
- package/_internal/e142a98d.js +22 -0
- package/_internal/e142a98d.js.map +1 -0
- package/_internal/e429bd82.js +12 -0
- package/_internal/e429bd82.js.map +1 -0
- package/_internal/{check-circle-de24f857.js → e47dacb8.js} +2 -2
- package/_internal/e47dacb8.js.map +1 -0
- package/_internal/e4a199c0.js +20 -0
- package/_internal/e4a199c0.js.map +1 -0
- package/_internal/e50f2a75.js +27 -0
- package/_internal/e50f2a75.js.map +1 -0
- package/_internal/{components/slideshow-e0880d40.js → e5657997.js} +11 -32
- package/_internal/e5657997.js.map +1 -0
- package/_internal/e7aa44d1.js +13 -0
- package/_internal/e7aa44d1.js.map +1 -0
- package/_internal/e8e4d09e.js +95 -0
- package/_internal/e8e4d09e.js.map +1 -0
- package/_internal/e918f20b.js +57 -0
- package/_internal/e918f20b.js.map +1 -0
- package/_internal/e9c3b1e0.js +4 -0
- package/_internal/e9c3b1e0.js.map +1 -0
- package/_internal/ebd44733.js +7 -0
- package/_internal/ebd44733.js.map +1 -0
- package/_internal/{isComponent-78df9309.js → ebe24fd7.js} +2 -2
- package/_internal/ebe24fd7.js.map +1 -0
- package/_internal/ed03c692.js +17 -0
- package/_internal/ed03c692.js.map +1 -0
- package/_internal/eea52073.js +27 -0
- package/_internal/eea52073.js.map +1 -0
- package/_internal/eec574e6.js +40 -0
- package/_internal/eec574e6.js.map +1 -0
- package/_internal/eef5d63f.js +21 -0
- package/_internal/eef5d63f.js.map +1 -0
- package/_internal/ef907c21.js +41 -0
- package/_internal/ef907c21.js.map +1 -0
- package/_internal/{useDisableStateProps-69e16b7c.js → ef982c3d.js} +3 -3
- package/_internal/ef982c3d.js.map +1 -0
- package/_internal/f0052b9b.js +27 -0
- package/_internal/f0052b9b.js.map +1 -0
- package/_internal/f2e34298.js +75 -0
- package/_internal/f2e34298.js.map +1 -0
- package/_internal/f419ecef.js +4 -0
- package/_internal/f419ecef.js.map +1 -0
- package/_internal/f4baa1da.js +34 -0
- package/_internal/f4baa1da.js.map +1 -0
- package/_internal/{useTransitionVisibility-321fdbfa.js → f6bc7948.js} +3 -8
- package/_internal/f6bc7948.js.map +1 -0
- package/_internal/f7520b8e.js +52 -0
- package/_internal/f7520b8e.js.map +1 -0
- package/_internal/f8c49b24.js +14 -0
- package/_internal/f8c49b24.js.map +1 -0
- package/_internal/fb201a04.js +65 -0
- package/_internal/fb201a04.js.map +1 -0
- package/_internal/fb36ff46.js +51 -0
- package/_internal/fb36ff46.js.map +1 -0
- package/_internal/{components/flag-c8d690bc.js → fcc7c462.js} +5 -5
- package/_internal/fcc7c462.js.map +1 -0
- package/_internal/fcf83937.js +28 -0
- package/_internal/fcf83937.js.map +1 -0
- package/_internal/fd3e2f21.js +30 -0
- package/_internal/fd3e2f21.js.map +1 -0
- package/_internal/fdcf3942.js +157 -0
- package/_internal/fdcf3942.js.map +1 -0
- package/_internal/{components/flex-box-4eeba972.js → fdebc718.js} +2 -2
- package/_internal/fdebc718.js.map +1 -0
- package/_internal/ff96951d.js +8 -0
- package/_internal/ff96951d.js.map +1 -0
- package/_internal/{components/avatar-52bb217f.js → ffb2f7fa.js} +4 -4
- package/_internal/ffb2f7fa.js.map +1 -0
- package/index.js +95 -63
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.js +4 -3
- package/utils/index.js.map +1 -1
- package/_internal/Button-1b7d3b79.js.map +0 -1
- package/_internal/ButtonRoot-a70baf82.js.map +0 -1
- package/_internal/Chip-8fbedc93.js.map +0 -1
- package/_internal/ClickAwayProvider-7093ba23.js.map +0 -1
- package/_internal/DisabledStateContext-ea04260d.js.map +0 -1
- package/_internal/HeadingLevelProvider-ebdcb0c7.js +0 -61
- package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +0 -1
- package/_internal/IconButton-e11b5e74.js.map +0 -1
- package/_internal/ImageCaption-6f2f4131.js.map +0 -1
- package/_internal/List-4e95288a.js +0 -820
- package/_internal/List-4e95288a.js.map +0 -1
- package/_internal/PopoverDialog-d85ff977.js +0 -656
- package/_internal/PopoverDialog-d85ff977.js.map +0 -1
- package/_internal/Portal-3f86608e.js.map +0 -1
- package/_internal/RawClickable-2c2b6a89.js.map +0 -1
- package/_internal/Slides-68a7d0e6.js +0 -683
- package/_internal/Slides-68a7d0e6.js.map +0 -1
- package/_internal/ThemeContext-3181f000.js.map +0 -1
- package/_internal/Thumbnail-22bbea7e.js +0 -315
- package/_internal/Thumbnail-22bbea7e.js.map +0 -1
- package/_internal/check-circle-de24f857.js.map +0 -1
- package/_internal/chevron-right-827b804a.js +0 -6
- package/_internal/chevron-right-827b804a.js.map +0 -1
- package/_internal/chevron-up-0b9c76cb.js +0 -6
- package/_internal/chevron-up-0b9c76cb.js.map +0 -1
- package/_internal/close-circle-ef5d1aac.js.map +0 -1
- package/_internal/close-eaf6c45a.js.map +0 -1
- package/_internal/components/alert-dialog-5326cf04.js.map +0 -1
- package/_internal/components/autocomplete-7d9581e8.js +0 -262
- package/_internal/components/autocomplete-7d9581e8.js.map +0 -1
- package/_internal/components/avatar-52bb217f.js.map +0 -1
- package/_internal/components/badge-ccf47147.js +0 -82
- package/_internal/components/badge-ccf47147.js.map +0 -1
- package/_internal/components/button-c4127e86.js.map +0 -1
- package/_internal/components/checkbox-f7751583.js.map +0 -1
- package/_internal/components/chip-1ed080fb.js.map +0 -1
- package/_internal/components/comment-block-343e1922.js.map +0 -1
- package/_internal/components/date-picker-b6b3dc77.js +0 -2
- package/_internal/components/date-picker-b6b3dc77.js.map +0 -1
- package/_internal/components/dialog-d0e090b1.js.map +0 -1
- package/_internal/components/divider-0e93aa3d.js.map +0 -1
- package/_internal/components/drag-handle-eec23fc2.js.map +0 -1
- package/_internal/components/dropdown-25170b7c.js.map +0 -1
- package/_internal/components/expansion-panel-df812318.js.map +0 -1
- package/_internal/components/flag-c8d690bc.js.map +0 -1
- package/_internal/components/flex-box-4eeba972.js.map +0 -1
- package/_internal/components/generic-block-964b2724.js.map +0 -1
- package/_internal/components/grid-8c08dc4b.js +0 -105
- package/_internal/components/grid-8c08dc4b.js.map +0 -1
- package/_internal/components/grid-column-99652545.js.map +0 -1
- package/_internal/components/heading-6cc0f178.js.map +0 -1
- package/_internal/components/icon-9cf785b1.js +0 -2
- package/_internal/components/icon-9cf785b1.js.map +0 -1
- package/_internal/components/image-block-4f3fe64c.js.map +0 -1
- package/_internal/components/image-lightbox-7b172571.js +0 -760
- package/_internal/components/image-lightbox-7b172571.js.map +0 -1
- package/_internal/components/inline-list-5ba8bb0f.js.map +0 -1
- package/_internal/components/input-helper-2e4e49fd.js.map +0 -1
- package/_internal/components/input-label-30d199c3.js.map +0 -1
- package/_internal/components/lightbox-10ff28f9.js.map +0 -1
- package/_internal/components/link-9d1bd2f6.js.map +0 -1
- package/_internal/components/link-preview-9525e97f.js.map +0 -1
- package/_internal/components/list-c8c7a6eb.js +0 -72
- package/_internal/components/list-c8c7a6eb.js.map +0 -1
- package/_internal/components/message-edd6a28a.js.map +0 -1
- package/_internal/components/mosaic-c8084ee8.js.map +0 -1
- package/_internal/components/navigation-c9121998.js +0 -226
- package/_internal/components/navigation-c9121998.js.map +0 -1
- package/_internal/components/notification-97a8a04a.js.map +0 -1
- package/_internal/components/popover-f93484cd.js +0 -3
- package/_internal/components/popover-f93484cd.js.map +0 -1
- package/_internal/components/post-block-7e63c4f4.js.map +0 -1
- package/_internal/components/progress-44bb0301.js +0 -183
- package/_internal/components/progress-44bb0301.js.map +0 -1
- package/_internal/components/progress-tracker-c9758d83.js +0 -310
- package/_internal/components/progress-tracker-c9758d83.js.map +0 -1
- package/_internal/components/radio-button-929c7bee.js.map +0 -1
- package/_internal/components/select-bea40e77.js +0 -459
- package/_internal/components/select-bea40e77.js.map +0 -1
- package/_internal/components/side-navigation-385825d4.js.map +0 -1
- package/_internal/components/skeleton-1ea8c82a.js +0 -167
- package/_internal/components/skeleton-1ea8c82a.js.map +0 -1
- package/_internal/components/slider-78cfaa67.js.map +0 -1
- package/_internal/components/slideshow-e0880d40.js.map +0 -1
- package/_internal/components/switch-24fea8d7.js.map +0 -1
- package/_internal/components/table-834af792.js +0 -298
- package/_internal/components/table-834af792.js.map +0 -1
- package/_internal/components/tabs-bebfe959.js +0 -299
- package/_internal/components/tabs-bebfe959.js.map +0 -1
- package/_internal/components/text-9074f440.js +0 -2
- package/_internal/components/text-9074f440.js.map +0 -1
- package/_internal/components/text-field-8597b7f7.js.map +0 -1
- package/_internal/components/thumbnail-4928bba2.js.map +0 -1
- package/_internal/components/toolbar-e7c984e6.js.map +0 -1
- package/_internal/components/tooltip-21018736.js +0 -328
- package/_internal/components/tooltip-21018736.js.map +0 -1
- package/_internal/components/uploader-2e1b080e.js.map +0 -1
- package/_internal/components/user-block-5fd51607.js.map +0 -1
- package/_internal/constants-43721918.js +0 -2170
- package/_internal/constants-43721918.js.map +0 -1
- package/_internal/constants-d0e3f49e.js.map +0 -1
- package/_internal/context-9d1336a1.js.map +0 -1
- package/_internal/forwardRef-8bce732e.js.map +0 -1
- package/_internal/getFocusableElements-230173a8.js.map +0 -1
- package/_internal/index-77f213b1.js.map +0 -1
- package/_internal/index-aa6d1d90.js +0 -437
- package/_internal/index-aa6d1d90.js.map +0 -1
- package/_internal/index-d3e86bd8.js.map +0 -1
- package/_internal/information-49bbeed3.js +0 -6
- package/_internal/information-49bbeed3.js.map +0 -1
- package/_internal/isComponent-78df9309.js.map +0 -1
- package/_internal/isComponentType-e806b848.js.map +0 -1
- package/_internal/mergeRefs-f0d7d6ea.js.map +0 -1
- package/_internal/partitionMulti-4daccdd5.js.map +0 -1
- package/_internal/state-db358714.js.map +0 -1
- package/_internal/useBooleanState-2a3d237c.js.map +0 -1
- package/_internal/useCallbackOnEscape-ea4d9eb4.js +0 -62
- package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +0 -1
- package/_internal/useDisableBodyScroll-36bd7352.js.map +0 -1
- package/_internal/useDisableStateProps-69e16b7c.js.map +0 -1
- package/_internal/useFocusTrap-c3c6378b.js.map +0 -1
- package/_internal/useId-3a1facc0.js.map +0 -1
- package/_internal/useRovingTabIndex-7daf0f24.js.map +0 -1
- package/_internal/useTransitionVisibility-321fdbfa.js.map +0 -1
- package/_internal/wrapChildrenIconWithSpaces-fb85a743.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2fc47dc4.js","sources":["../../src/components/image-lightbox/useImageLightbox.tsx"],"sourcesContent":["import React from 'react';\n\nimport memoize from 'lodash/memoize';\n\nimport { startViewTransition } from '@lumx/react/utils/browser/DOM/startViewTransition';\nimport { findImage } from '@lumx/react/utils/browser/DOM/findImage';\n\nimport type { ImageLightboxProps } from './types';\nimport { CLASSNAME } from './constants';\n\n/** Subset of the ImageLightboxProps managed by the useImageLightbox hook */\ntype ManagedProps = Pick<\n ImageLightboxProps,\n 'isOpen' | 'images' | 'parentElement' | 'activeImageRef' | 'onClose' | 'activeImageIndex'\n>;\n\nconst EMPTY_PROPS: ManagedProps = { isOpen: false, images: [], parentElement: React.createRef() };\n\ntype TriggerOptions = Pick<ImageLightboxProps, 'activeImageIndex'>;\n\n/**\n * Set up an ImageLightbox with images and triggers.\n *\n * - Associate a trigger with the lightbox to properly focus the trigger on close\n * - Associate a trigger with an image to display on open\n * - Automatically provide a view transition between an image trigger and the displayed image on open & close\n *\n * @param props Images to display in the image lightbox\n */\nexport function useImageLightbox<P extends Partial<ImageLightboxProps>>(\n props: P,\n): {\n /**\n * Generates trigger props\n * @param index Provide an index to choose which image to display when the image lightbox opens.\n * */\n getTriggerProps: (options?: TriggerOptions) => { onClick: React.MouseEventHandler; ref: React.Ref<any> };\n /** Props to forward to the ImageLightbox */\n imageLightboxProps: ManagedProps & P;\n} {\n const propsRef = React.useRef(props);\n\n React.useEffect(() => {\n propsRef.current = props;\n }, [props]);\n\n // Keep reference for each image elements\n const imageRefsRef = React.useRef<Array<React.RefObject<HTMLImageElement>>>([]);\n\n const currentImageRef = React.useRef<HTMLImageElement>(null);\n const [imageLightboxProps, setImageLightboxProps] = React.useState(\n () => ({ ...EMPTY_PROPS, ...props }) as ManagedProps & P,\n );\n\n const getTriggerProps = React.useMemo(() => {\n const triggerImageRefs: Record<number, React.RefObject<HTMLImageElement>> = {};\n\n async function close() {\n const currentImage = currentImageRef.current;\n if (!currentImage) {\n return;\n }\n const currentIndex = imageRefsRef.current.findIndex(\n (imageRef) => imageRef.current === currentImage,\n ) as number;\n\n await startViewTransition({\n changes() {\n // Close lightbox\n setImageLightboxProps((prevProps) => ({ ...prevProps, isOpen: false }));\n },\n // Morph from the image in lightbox to the image in trigger\n viewTransitionName: {\n source: currentImageRef,\n target: triggerImageRefs[currentIndex],\n name: CLASSNAME,\n },\n });\n }\n\n async function open(triggerElement: HTMLElement, { activeImageIndex }: TriggerOptions = {}) {\n // If we find an image inside the trigger, animate it in transition with the opening image\n const triggerImage = triggerImageRefs[activeImageIndex as any]?.current || findImage(triggerElement);\n\n // Inject refs to improve transition and loading style\n const images = propsRef.current?.images?.map((image, idx) => {\n // Get or create image reference\n let imgRef = imageRefsRef.current[idx];\n if (!imgRef) {\n imgRef = React.createRef();\n imageRefsRef.current[idx] = imgRef;\n }\n\n // Try to use the trigger image as the loading placeholder\n const loadingPlaceholderImageRef =\n triggerImage && idx === activeImageIndex ? { current: triggerImage } : undefined;\n\n return { loadingPlaceholderImageRef, ...image, imgRef };\n });\n\n await startViewTransition({\n changes: () => {\n // Open lightbox with setup props\n setImageLightboxProps((prevProps) => ({\n ...prevProps,\n ...propsRef.current,\n activeImageRef: currentImageRef,\n parentElement: { current: triggerElement },\n isOpen: true,\n onClose: () => {\n close();\n propsRef.current?.onClose?.();\n },\n images,\n activeImageIndex: activeImageIndex || 0,\n }));\n },\n // Morph from the image in trigger to the image in lightbox\n viewTransitionName: {\n source: triggerImage,\n target: currentImageRef,\n name: CLASSNAME,\n },\n });\n }\n\n return memoize((options?: TriggerOptions) => ({\n ref(element: HTMLElement | null) {\n // Track trigger image ref if any\n if (options?.activeImageIndex !== undefined && element) {\n triggerImageRefs[options.activeImageIndex] = { current: findImage(element) };\n }\n },\n onClick(e: React.MouseEvent) {\n open(e.target as HTMLElement, options);\n },\n }));\n }, []);\n\n return { getTriggerProps, imageLightboxProps };\n}\n"],"names":["EMPTY_PROPS","isOpen","images","parentElement","React","createRef","useImageLightbox","props","propsRef","useRef","useEffect","current","imageRefsRef","currentImageRef","imageLightboxProps","setImageLightboxProps","useState","getTriggerProps","useMemo","triggerImageRefs","close","currentImage","currentIndex","findIndex","imageRef","startViewTransition","changes","prevProps","viewTransitionName","source","target","name","CLASSNAME","open","triggerElement","activeImageIndex","triggerImage","findImage","map","image","idx","imgRef","loadingPlaceholderImageRef","undefined","activeImageRef","onClose","memoize","options","ref","element","onClick","e"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"30ecdee3.js","sources":["../../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js"],"sourcesContent":["export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}"],"names":[],"mappings":"AAAe,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACtD,EAAE,OAAO;AACT,IAAI,UAAU,EAAE,OAAO,CAAC,UAAU;AAClC,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,GAAG,CAAC;AACJ;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
4
|
+
import { useTheme } from './d8ee966d.js';
|
|
5
|
+
import { INPUT_HELPER_CONFIGURATION } from './08b0de35.js';
|
|
5
6
|
import { jsx } from 'react/jsx-runtime';
|
|
6
7
|
import { Kind, Theme } from '@lumx/core/js/constants';
|
|
7
8
|
|
|
8
|
-
const INPUT_HELPER_CONFIGURATION = {
|
|
9
|
-
error: {
|
|
10
|
-
color: 'red'
|
|
11
|
-
},
|
|
12
|
-
success: {
|
|
13
|
-
color: 'green'
|
|
14
|
-
},
|
|
15
|
-
warning: {
|
|
16
|
-
color: 'yellow'
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
|
|
20
9
|
/**
|
|
21
10
|
* Component display name.
|
|
22
11
|
*/
|
|
@@ -69,4 +58,4 @@ InputHelper.className = CLASSNAME;
|
|
|
69
58
|
InputHelper.defaultProps = DEFAULT_PROPS;
|
|
70
59
|
|
|
71
60
|
export { InputHelper };
|
|
72
|
-
//# sourceMappingURL=
|
|
61
|
+
//# sourceMappingURL=3119c1fe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3119c1fe.js","sources":["../../src/components/input-helper/InputHelper.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Kind, Theme } 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\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { INPUT_HELPER_CONFIGURATION } from './constants';\n\n/**\n * Defines the props of the component.\n */\nexport interface InputHelperProps extends GenericProps, HasTheme {\n /** Helper content. */\n children: string | ReactNode;\n /** Helper variant. */\n kind?: Kind;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'InputHelper';\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<InputHelperProps> = {\n kind: Kind.info,\n};\n\n/**\n * InputHelper component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const InputHelper = forwardRef<InputHelperProps, HTMLParagraphElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { children, className, kind = DEFAULT_PROPS.kind, theme = defaultTheme, ...forwardedProps } = props;\n const { color } = INPUT_HELPER_CONFIGURATION[kind as any] || {};\n\n return (\n <p\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, color, theme }))}\n >\n {children}\n </p>\n );\n});\n\nInputHelper.displayName = COMPONENT_NAME;\nInputHelper.className = CLASSNAME;\nInputHelper.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","kind","Kind","info","InputHelper","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","children","className","theme","forwardedProps","color","INPUT_HELPER_CONFIGURATION","_jsx","classNames","handleBasicClasses","prefix","displayName","defaultProps"],"mappings":";;;;;;;;AAsBA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,aAAa,CAAA;;AAEpC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAwC,GAAG;EAC7CC,IAAI,EAAEC,IAAI,CAACC,IAAAA;AACf,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,GAAGC,UAAU,CAAyC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC1F,MAAMC,YAAY,GAAGC,QAAQ,EAAE,IAAIC,KAAK,CAACC,KAAK,CAAA;EAC9C,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEZ,IAAI,GAAGD,aAAa,CAACC,IAAI;AAAEa,IAAAA,KAAK,GAAGN,YAAY;IAAE,GAAGO,cAAAA;AAAe,GAAC,GAAGT,KAAK,CAAA;EACzG,MAAM;AAAEU,IAAAA,KAAAA;AAAM,GAAC,GAAGC,0BAA0B,CAAChB,IAAI,CAAQ,IAAI,EAAE,CAAA;AAE/D,EAAA,oBACIiB,GAAA,CAAA,GAAA,EAAA;AACIX,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLQ,cAAc;AAClBF,IAAAA,SAAS,EAAEM,UAAU,CAACN,SAAS,EAAEO,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEvB,SAAS;MAAEkB,KAAK;AAAEF,MAAAA,KAAAA;AAAM,KAAC,CAAC,CAAE;AAAAF,IAAAA,QAAA,EAEzFA,QAAAA;AAAQ,GACV,CAAC,CAAA;AAEZ,CAAC,EAAC;AAEFR,WAAW,CAACkB,WAAW,GAAGzB,cAAc,CAAA;AACxCO,WAAW,CAACS,SAAS,GAAGf,SAAS,CAAA;AACjCM,WAAW,CAACmB,YAAY,GAAGvB,aAAa;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getRootClassName } from '@lumx/core/js/utils/className';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Component display name.
|
|
5
|
+
*/
|
|
6
|
+
const COMPONENT_NAME = 'ImageLightbox';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Component default class name and class prefix.
|
|
10
|
+
*/
|
|
11
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
12
|
+
|
|
13
|
+
export { CLASSNAME, COMPONENT_NAME };
|
|
14
|
+
//# sourceMappingURL=31b6784b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"31b6784b.js","sources":["../../src/components/image-lightbox/constants.ts"],"sourcesContent":["import { getRootClassName } from '@lumx/core/js/utils/className';\n\n/**\n * Component display name.\n */\nexport const COMPONENT_NAME = 'ImageLightbox';\n\n/**\n * Component default class name and class prefix.\n */\nexport const CLASSNAME = getRootClassName(COMPONENT_NAME);\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName"],"mappings":";;AAEA;AACA;AACA;AACO,MAAMA,cAAc,GAAG,gBAAe;;AAE7C;AACA;AACA;MACaC,SAAS,GAAGC,gBAAgB,CAACF,cAAc;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Children } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { isComponent } from './ebe24fd7.js';
|
|
4
|
+
import { getRootClassName } from '@lumx/core/js/utils/className';
|
|
5
|
+
import { useTheme } from './d8ee966d.js';
|
|
6
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
7
|
+
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
import { SideNavigationItem } from './36008a95.js';
|
|
9
|
+
import { Theme } from '@lumx/core/js/constants';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Component display name.
|
|
13
|
+
*/
|
|
14
|
+
const COMPONENT_NAME = 'SideNavigation';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Component default class name and class prefix.
|
|
18
|
+
*/
|
|
19
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* SideNavigation component.
|
|
23
|
+
*
|
|
24
|
+
* @param props Component props.
|
|
25
|
+
* @param ref Component ref.
|
|
26
|
+
* @return React element.
|
|
27
|
+
*/
|
|
28
|
+
const SideNavigation = forwardRef((props, ref) => {
|
|
29
|
+
const defaultTheme = useTheme();
|
|
30
|
+
const {
|
|
31
|
+
children,
|
|
32
|
+
className,
|
|
33
|
+
theme = defaultTheme,
|
|
34
|
+
...forwardedProps
|
|
35
|
+
} = props;
|
|
36
|
+
const content = Children.toArray(children).filter(isComponent(SideNavigationItem));
|
|
37
|
+
return /*#__PURE__*/jsx("ul", {
|
|
38
|
+
ref: ref,
|
|
39
|
+
...forwardedProps,
|
|
40
|
+
className: classNames(className, theme === Theme.dark && 'lumx-color-font-light-N', CLASSNAME),
|
|
41
|
+
children: content
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
SideNavigation.displayName = COMPONENT_NAME;
|
|
45
|
+
SideNavigation.className = CLASSNAME;
|
|
46
|
+
|
|
47
|
+
export { SideNavigation };
|
|
48
|
+
//# sourceMappingURL=341034b4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"341034b4.js","sources":["../../src/components/side-navigation/SideNavigation.tsx"],"sourcesContent":["import { Children, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { SideNavigationItem, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme, isComponent } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\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 SideNavigationProps extends GenericProps, HasTheme {\n /** SideNavigationItem elements. */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'SideNavigation';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * SideNavigation component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const SideNavigation = forwardRef<SideNavigationProps, HTMLUListElement>((props, ref) => {\n const defaultTheme = useTheme();\n const { children, className, theme = defaultTheme, ...forwardedProps } = props;\n const content = Children.toArray(children).filter(isComponent(SideNavigationItem));\n\n return (\n <ul\n ref={ref}\n {...forwardedProps}\n className={classNames(className, theme === Theme.dark && 'lumx-color-font-light-N', CLASSNAME)}\n >\n {content}\n </ul>\n );\n});\nSideNavigation.displayName = COMPONENT_NAME;\nSideNavigation.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","SideNavigation","forwardRef","props","ref","defaultTheme","useTheme","children","className","theme","forwardedProps","content","Children","toArray","filter","isComponent","SideNavigationItem","_jsx","classNames","Theme","dark","displayName"],"mappings":";;;;;;;;;;AAkBA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,gBAAgB,CAAA;;AAEvC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,cAAc,GAAGC,UAAU,CAAwC,CAACC,KAAK,EAAEC,GAAG,KAAK;AAC5F,EAAA,MAAMC,YAAY,GAAGC,QAAQ,EAAE,CAAA;EAC/B,MAAM;IAAEC,QAAQ;IAAEC,SAAS;AAAEC,IAAAA,KAAK,GAAGJ,YAAY;IAAE,GAAGK,cAAAA;AAAe,GAAC,GAAGP,KAAK,CAAA;AAC9E,EAAA,MAAMQ,OAAO,GAAGC,QAAQ,CAACC,OAAO,CAACN,QAAQ,CAAC,CAACO,MAAM,CAACC,WAAW,CAACC,kBAAkB,CAAC,CAAC,CAAA;AAElF,EAAA,oBACIC,GAAA,CAAA,IAAA,EAAA;AACIb,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLM,cAAc;AAClBF,IAAAA,SAAS,EAAEU,UAAU,CAACV,SAAS,EAAEC,KAAK,KAAKU,KAAK,CAACC,IAAI,IAAI,yBAAyB,EAAErB,SAAS,CAAE;AAAAQ,IAAAA,QAAA,EAE9FI,OAAAA;AAAO,GACR,CAAC,CAAA;AAEb,CAAC,EAAC;AACFV,cAAc,CAACoB,WAAW,GAAGvB,cAAc,CAAA;AAC3CG,cAAc,CAACO,SAAS,GAAGT,SAAS;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const mdiMagnifyPlusOutline = 'm15.5 14 5 5-1.5 1.5-5-5v-.79l-.27-.28A6.5 6.5 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3 6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.57 4.23l.28.27zm-6 0C12 14 14 12 14 9.5S12 5 9.5 5 5 7 5 9.5 7 14 9.5 14m2.5-4h-2v2H9v-2H7V9h2V7h1v2h2z';
|
|
2
|
+
|
|
3
|
+
export { mdiMagnifyPlusOutline };
|
|
4
|
+
//# sourceMappingURL=341ceaa9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"341ceaa9.js","sources":["../../../lumx-icons/dist/esm/magnify-plus-outline.js"],"sourcesContent":["export const mdiMagnifyPlusOutline = 'm15.5 14 5 5-1.5 1.5-5-5v-.79l-.27-.28A6.5 6.5 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3 6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.57 4.23l.28.27zm-6 0C12 14 14 12 14 9.5S12 5 9.5 5 5 7 5 9.5 7 14 9.5 14m2.5-4h-2v2H9v-2H7V9h2V7h1v2h2z';"],"names":["mdiMagnifyPlusOutline"],"mappings":"AAAO,MAAMA,qBAAqB,GAAG;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WINDOW } from './6af61e2f.js';
|
|
2
|
+
|
|
3
|
+
/** Check if user prefers reduced motion */
|
|
4
|
+
function isReducedMotion() {
|
|
5
|
+
return WINDOW?.matchMedia?.('(prefers-reduced-motion: reduce)').matches;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { isReducedMotion };
|
|
9
|
+
//# sourceMappingURL=355f875f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"355f875f.js","sources":["../../src/utils/browser/isReducedMotion.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"],"names":["isReducedMotion","WINDOW","matchMedia","matches"],"mappings":";;AAEA;AACO,SAASA,eAAeA,GAAG;AAC9B,EAAA,OAAOC,MAAM,EAAEC,UAAU,GAAG,kCAAkC,CAAC,CAACC,OAAO,CAAA;AAC3E;;;;"}
|
|
@@ -1,53 +1,17 @@
|
|
|
1
1
|
import { Children } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
|
-
import { i as isComponent } from '../isComponent-78df9309.js';
|
|
4
|
-
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
5
|
-
import { u as useTheme } from '../ThemeContext-3181f000.js';
|
|
6
|
-
import { f as forwardRef } from '../forwardRef-8bce732e.js';
|
|
7
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
3
|
import isEmpty from 'lodash/isEmpty';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Component default class name and class prefix.
|
|
23
|
-
*/
|
|
24
|
-
const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* SideNavigation component.
|
|
28
|
-
*
|
|
29
|
-
* @param props Component props.
|
|
30
|
-
* @param ref Component ref.
|
|
31
|
-
* @return React element.
|
|
32
|
-
*/
|
|
33
|
-
const SideNavigation = forwardRef((props, ref) => {
|
|
34
|
-
const defaultTheme = useTheme();
|
|
35
|
-
const {
|
|
36
|
-
children,
|
|
37
|
-
className,
|
|
38
|
-
theme = defaultTheme,
|
|
39
|
-
...forwardedProps
|
|
40
|
-
} = props;
|
|
41
|
-
const content = Children.toArray(children).filter(isComponent(SideNavigationItem));
|
|
42
|
-
return /*#__PURE__*/jsx("ul", {
|
|
43
|
-
ref: ref,
|
|
44
|
-
...forwardedProps,
|
|
45
|
-
className: classNames(className, theme === Theme.dark && 'lumx-color-font-light-N', CLASSNAME$1),
|
|
46
|
-
children: content
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
SideNavigation.displayName = COMPONENT_NAME$1;
|
|
50
|
-
SideNavigation.className = CLASSNAME$1;
|
|
4
|
+
import { isComponent } from './ebe24fd7.js';
|
|
5
|
+
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
6
|
+
import { useId } from './11687649.js';
|
|
7
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
8
|
+
import { RawClickable } from './a6dc95cd.js';
|
|
9
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
10
|
+
import { Emphasis, Size } from '@lumx/core/js/constants';
|
|
11
|
+
import { Icon } from './595d0e66.js';
|
|
12
|
+
import { IconButton } from './5a0207d9.js';
|
|
13
|
+
import { mdiChevronUp } from './0846b7f3.js';
|
|
14
|
+
import { mdiChevronDown } from './256f8eff.js';
|
|
51
15
|
|
|
52
16
|
/**
|
|
53
17
|
* Component display name.
|
|
@@ -162,5 +126,5 @@ SideNavigationItem.displayName = COMPONENT_NAME;
|
|
|
162
126
|
SideNavigationItem.className = CLASSNAME;
|
|
163
127
|
SideNavigationItem.defaultProps = DEFAULT_PROPS;
|
|
164
128
|
|
|
165
|
-
export {
|
|
166
|
-
//# sourceMappingURL=
|
|
129
|
+
export { SideNavigationItem };
|
|
130
|
+
//# sourceMappingURL=36008a95.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"36008a95.js","sources":["../../src/components/side-navigation/SideNavigationItem.tsx"],"sourcesContent":["import { Children, ReactNode } from 'react';\n\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { mdiChevronDown, mdiChevronUp } from '@lumx/icons';\nimport { Emphasis, Icon, Size, IconButton, IconButtonProps } from '@lumx/react';\nimport { GenericProps, HasCloseMode, isComponent } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { RawClickable } from '@lumx/react/utils/react/RawClickable';\n\n/**\n * Defines the props of the component.\n */\nexport interface SideNavigationItemProps extends GenericProps, HasCloseMode {\n /** SideNavigationItem elements. */\n children?: ReactNode;\n /** Emphasis variant. */\n emphasis?: Emphasis;\n /** Label content. */\n label: string | ReactNode;\n /** Icon (SVG path). */\n icon?: string;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Whether the component is selected or not. */\n isSelected?: boolean;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /** Props to pass to the link (minus those already set by the SideNavigationItem props). */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Props to pass to the toggle button (minus those already set by the SideNavigationItem props). */\n toggleButtonProps: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color' | 'size'>;\n /** On action button click callback. */\n onActionClick?(evt: React.MouseEvent): void;\n /** On click callback. */\n onClick?(evt: React.MouseEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'SideNavigationItem';\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<SideNavigationItemProps> = {\n emphasis: Emphasis.high,\n closeMode: 'unmount',\n};\n\n/**\n * SideNavigationItem component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const SideNavigationItem = forwardRef<SideNavigationItemProps, HTMLLIElement>((props, ref) => {\n const {\n children,\n className,\n emphasis = DEFAULT_PROPS.emphasis,\n icon,\n isOpen,\n isSelected,\n label,\n linkAs,\n linkProps,\n onActionClick,\n onClick,\n toggleButtonProps,\n closeMode = DEFAULT_PROPS.closeMode,\n ...forwardedProps\n } = props;\n\n const content = children && Children.toArray(children).filter(isComponent(SideNavigationItem));\n const hasContent = !isEmpty(content);\n const shouldSplitActions = Boolean(onActionClick);\n const showChildren = hasContent && isOpen;\n\n const contentId = useId();\n const ariaProps: any = {};\n if (hasContent) {\n ariaProps['aria-expanded'] = !!showChildren;\n // Associate with content ID only if in DOM (shown or hidden and not unmounted)\n ariaProps['aria-controls'] = showChildren || closeMode === 'hide' ? contentId : undefined;\n }\n\n return (\n <li\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n emphasis,\n isOpen: showChildren,\n isSelected,\n prefix: CLASSNAME,\n }),\n )}\n >\n {shouldSplitActions ? (\n <div className={`${CLASSNAME}__wrapper`}>\n <RawClickable\n as={linkAs || (linkProps?.href ? 'a' : 'button')}\n {...(linkProps as any)}\n className={`${CLASSNAME}__link`}\n onClick={onClick}\n >\n {icon && <Icon className={`${CLASSNAME}__icon`} icon={icon} size={Size.xs} />}\n <span>{label}</span>\n </RawClickable>\n\n <IconButton\n {...toggleButtonProps}\n className={`${CLASSNAME}__toggle`}\n icon={isOpen ? mdiChevronUp : mdiChevronDown}\n size={Size.m}\n emphasis={Emphasis.low}\n onClick={onActionClick}\n {...ariaProps}\n />\n </div>\n ) : (\n <RawClickable\n as={linkAs || (linkProps?.href ? 'a' : 'button')}\n {...linkProps}\n className={`${CLASSNAME}__link`}\n onClick={onClick}\n {...ariaProps}\n >\n {icon && <Icon className={`${CLASSNAME}__icon`} icon={icon} size={Size.xs} />}\n <span>{label}</span>\n {hasContent && (\n <Icon\n className={`${CLASSNAME}__chevron`}\n icon={isOpen ? mdiChevronUp : mdiChevronDown}\n size={Size.xs}\n />\n )}\n </RawClickable>\n )}\n\n {(closeMode === 'hide' || showChildren) && (\n <ul className={`${CLASSNAME}__children`} id={contentId}>\n {content}\n </ul>\n )}\n </li>\n );\n});\nSideNavigationItem.displayName = COMPONENT_NAME;\nSideNavigationItem.className = CLASSNAME;\nSideNavigationItem.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","emphasis","Emphasis","high","closeMode","SideNavigationItem","forwardRef","props","ref","children","className","icon","isOpen","isSelected","label","linkAs","linkProps","onActionClick","onClick","toggleButtonProps","forwardedProps","content","Children","toArray","filter","isComponent","hasContent","isEmpty","shouldSplitActions","Boolean","showChildren","contentId","useId","ariaProps","undefined","_jsxs","classNames","handleBasicClasses","prefix","RawClickable","as","href","_jsx","Icon","size","Size","xs","IconButton","mdiChevronUp","mdiChevronDown","m","low","id","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import isEmpty from 'lodash/isEmpty';
|
|
4
|
+
import { onEnterPressed, onButtonPressed } from '@lumx/core/js/utils';
|
|
5
|
+
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
6
|
+
import { renderLink } from './09d97180.js';
|
|
7
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
8
|
+
import { useDisableStateProps } from './ef982c3d.js';
|
|
9
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
|
+
import { Size } from '@lumx/core/js/constants';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Component display name.
|
|
14
|
+
*/
|
|
15
|
+
const COMPONENT_NAME = 'ListItem';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Component default class name and class prefix.
|
|
19
|
+
*/
|
|
20
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Component default props.
|
|
24
|
+
*/
|
|
25
|
+
const DEFAULT_PROPS = {
|
|
26
|
+
size: Size.regular
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Check if the list item is clickable.
|
|
31
|
+
* @return `true` if the list item is clickable; `false` otherwise.
|
|
32
|
+
*/
|
|
33
|
+
function isClickable({
|
|
34
|
+
linkProps,
|
|
35
|
+
onItemSelected
|
|
36
|
+
}) {
|
|
37
|
+
return !isEmpty(linkProps?.href) || !!onItemSelected;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* ListItem component.
|
|
42
|
+
*
|
|
43
|
+
* @param props Component props.
|
|
44
|
+
* @param ref Component ref.
|
|
45
|
+
* @return React element.
|
|
46
|
+
*/
|
|
47
|
+
const ListItem = forwardRef((props, ref) => {
|
|
48
|
+
const {
|
|
49
|
+
isAnyDisabled,
|
|
50
|
+
disabledStateProps,
|
|
51
|
+
otherProps
|
|
52
|
+
} = useDisableStateProps(props);
|
|
53
|
+
const {
|
|
54
|
+
after,
|
|
55
|
+
before,
|
|
56
|
+
children,
|
|
57
|
+
className,
|
|
58
|
+
isHighlighted,
|
|
59
|
+
isSelected,
|
|
60
|
+
linkAs,
|
|
61
|
+
linkProps = {},
|
|
62
|
+
linkRef,
|
|
63
|
+
onItemSelected,
|
|
64
|
+
size = DEFAULT_PROPS.size,
|
|
65
|
+
...forwardedProps
|
|
66
|
+
} = otherProps;
|
|
67
|
+
const role = linkAs || linkProps.href ? 'link' : 'button';
|
|
68
|
+
const onKeyDown = useMemo(() => {
|
|
69
|
+
if (onItemSelected && role === 'link') return onEnterPressed(onItemSelected);
|
|
70
|
+
if (onItemSelected && role === 'button') return onButtonPressed(onItemSelected);
|
|
71
|
+
return undefined;
|
|
72
|
+
}, [role, onItemSelected]);
|
|
73
|
+
const content = /*#__PURE__*/jsxs(Fragment, {
|
|
74
|
+
children: [before && /*#__PURE__*/jsx("div", {
|
|
75
|
+
className: `${CLASSNAME}__before`,
|
|
76
|
+
children: before
|
|
77
|
+
}), /*#__PURE__*/jsx("div", {
|
|
78
|
+
className: `${CLASSNAME}__content`,
|
|
79
|
+
children: children
|
|
80
|
+
}), after && /*#__PURE__*/jsx("div", {
|
|
81
|
+
className: `${CLASSNAME}__after`,
|
|
82
|
+
children: after
|
|
83
|
+
})]
|
|
84
|
+
});
|
|
85
|
+
return /*#__PURE__*/jsx("li", {
|
|
86
|
+
ref: ref,
|
|
87
|
+
...forwardedProps,
|
|
88
|
+
className: classNames(className, handleBasicClasses({
|
|
89
|
+
prefix: CLASSNAME,
|
|
90
|
+
size
|
|
91
|
+
})),
|
|
92
|
+
children: isClickable({
|
|
93
|
+
linkProps,
|
|
94
|
+
onItemSelected
|
|
95
|
+
}) ? (/* Clickable list item */
|
|
96
|
+
renderLink({
|
|
97
|
+
linkAs,
|
|
98
|
+
tabIndex: !disabledStateProps.disabled ? 0 : undefined,
|
|
99
|
+
role,
|
|
100
|
+
'aria-disabled': isAnyDisabled,
|
|
101
|
+
...linkProps,
|
|
102
|
+
href: isAnyDisabled ? undefined : linkProps.href,
|
|
103
|
+
className: classNames(handleBasicClasses({
|
|
104
|
+
prefix: `${CLASSNAME}__link`,
|
|
105
|
+
isHighlighted,
|
|
106
|
+
isSelected,
|
|
107
|
+
isDisabled: isAnyDisabled
|
|
108
|
+
})),
|
|
109
|
+
onClick: isAnyDisabled ? undefined : onItemSelected,
|
|
110
|
+
onKeyDown: isAnyDisabled ? undefined : onKeyDown,
|
|
111
|
+
ref: linkRef
|
|
112
|
+
}, content)) :
|
|
113
|
+
/*#__PURE__*/
|
|
114
|
+
/* Non clickable list item */
|
|
115
|
+
jsx("div", {
|
|
116
|
+
className: `${CLASSNAME}__wrapper`,
|
|
117
|
+
children: content
|
|
118
|
+
})
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
ListItem.displayName = COMPONENT_NAME;
|
|
122
|
+
ListItem.className = CLASSNAME;
|
|
123
|
+
ListItem.defaultProps = DEFAULT_PROPS;
|
|
124
|
+
|
|
125
|
+
export { ListItem, isClickable };
|
|
126
|
+
//# sourceMappingURL=378a6fb1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"378a6fb1.js","sources":["../../src/components/list/ListItem.tsx"],"sourcesContent":["import { ReactNode, Ref, SyntheticEvent, useMemo } from 'react';\n\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ListProps, Size } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { onEnterPressed, onButtonPressed } from '@lumx/core/js/utils';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { renderLink } from '@lumx/react/utils/react/renderLink';\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\nexport type ListItemSize = Extract<Size, 'tiny' | 'regular' | 'big' | 'huge'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ListItemProps extends GenericProps, HasAriaDisabled {\n /** A component to be rendered after the content. */\n after?: ReactNode;\n /** A component to be rendered before the content. */\n before?: ReactNode;\n /** Content. */\n children: string | ReactNode;\n /** Whether the list item should be highlighted or not. */\n isHighlighted?: boolean;\n /** Whether the component is selected or not. */\n isSelected?: boolean;\n /** Whether link/button is disabled or not. */\n isDisabled?: boolean;\n /** Reference to the <li> element. */\n listItemRef?: Ref<HTMLLIElement>;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /** Props that will be passed on to the Link */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Reference to the link element. */\n linkRef?: Ref<HTMLAnchorElement>;\n /** Size variant. */\n size?: ListItemSize;\n\n /** On selected callback. */\n onItemSelected?(evt: SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ListItem';\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<ListProps> = {\n size: Size.regular,\n};\n\n/**\n * Check if the list item is clickable.\n * @return `true` if the list item is clickable; `false` otherwise.\n */\nexport function isClickable({ linkProps, onItemSelected }: Partial<ListItemProps>): boolean {\n return !isEmpty(linkProps?.href) || !!onItemSelected;\n}\n\n/**\n * ListItem component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ListItem = forwardRef<ListItemProps, HTMLLIElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n after,\n before,\n children,\n className,\n isHighlighted,\n isSelected,\n linkAs,\n linkProps = {},\n linkRef,\n onItemSelected,\n size = DEFAULT_PROPS.size,\n ...forwardedProps\n } = otherProps;\n\n const role = linkAs || linkProps.href ? 'link' : 'button';\n const onKeyDown = useMemo(() => {\n if (onItemSelected && role === 'link') return onEnterPressed(onItemSelected as any);\n if (onItemSelected && role === 'button') return onButtonPressed(onItemSelected as any);\n return undefined;\n }, [role, onItemSelected]);\n\n const content = (\n <>\n {before && <div className={`${CLASSNAME}__before`}>{before}</div>}\n <div className={`${CLASSNAME}__content`}>{children}</div>\n {after && <div className={`${CLASSNAME}__after`}>{after}</div>}\n </>\n );\n\n return (\n <li\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n size,\n }),\n )}\n >\n {isClickable({ linkProps, onItemSelected }) ? (\n /* Clickable list item */\n renderLink(\n {\n linkAs,\n tabIndex: !disabledStateProps.disabled ? 0 : undefined,\n role,\n 'aria-disabled': isAnyDisabled,\n ...linkProps,\n href: isAnyDisabled ? undefined : linkProps.href,\n className: classNames(\n handleBasicClasses({\n prefix: `${CLASSNAME}__link`,\n isHighlighted,\n isSelected,\n isDisabled: isAnyDisabled,\n }),\n ),\n onClick: isAnyDisabled ? undefined : onItemSelected,\n onKeyDown: isAnyDisabled ? undefined : onKeyDown,\n ref: linkRef,\n },\n content,\n )\n ) : (\n /* Non clickable list item */\n <div className={`${CLASSNAME}__wrapper`}>{content}</div>\n )}\n </li>\n );\n});\nListItem.displayName = COMPONENT_NAME;\nListItem.className = CLASSNAME;\nListItem.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","size","Size","regular","isClickable","linkProps","onItemSelected","isEmpty","href","ListItem","forwardRef","props","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","after","before","children","className","isHighlighted","isSelected","linkAs","linkRef","forwardedProps","role","onKeyDown","useMemo","onEnterPressed","onButtonPressed","undefined","content","_jsxs","_Fragment","_jsx","classNames","handleBasicClasses","prefix","renderLink","tabIndex","disabled","isDisabled","onClick","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var hash = {
|
|
2
|
+
start: 'end',
|
|
3
|
+
end: 'start'
|
|
4
|
+
};
|
|
5
|
+
function getOppositeVariationPlacement(placement) {
|
|
6
|
+
return placement.replace(/start|end/g, function (matched) {
|
|
7
|
+
return hash[matched];
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { getOppositeVariationPlacement as default };
|
|
12
|
+
//# sourceMappingURL=37f5ba95.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"37f5ba95.js","sources":["../../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js"],"sourcesContent":["var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}"],"names":[],"mappings":"AAAA,IAAI,IAAI,GAAG;AACX,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,GAAG,EAAE,OAAO;AACd,CAAC,CAAC;AACa,SAAS,6BAA6B,CAAC,SAAS,EAAE;AACjE,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,OAAO,EAAE;AAC5D,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,GAAG,CAAC,CAAC;AACL;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
|
+
import { PortalContext } from './883321fd.js';
|
|
3
4
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
4
5
|
|
|
5
|
-
/**
|
|
6
|
-
* Portal initializing function.
|
|
7
|
-
* If it does not provide a container, the Portal children will render in classic React tree and not in a portal.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
const PortalContext = /*#__PURE__*/React__default.createContext(() => ({
|
|
11
|
-
container: document.body
|
|
12
|
-
}));
|
|
13
|
-
/**
|
|
14
|
-
* Customize where <Portal> wrapped elements render (tooltip, popover, dialog, etc.)
|
|
15
|
-
*/
|
|
16
|
-
const PortalProvider = PortalContext.Provider;
|
|
17
|
-
|
|
18
6
|
/**
|
|
19
7
|
* Render children in a portal outside the current DOM position
|
|
20
8
|
* (defaults to `document.body` but can be customized with the PortalContextProvider)
|
|
@@ -41,5 +29,5 @@ const Portal = ({
|
|
|
41
29
|
return /*#__PURE__*/createPortal(children, context.container);
|
|
42
30
|
};
|
|
43
31
|
|
|
44
|
-
export { Portal
|
|
45
|
-
//# sourceMappingURL=
|
|
32
|
+
export { Portal };
|
|
33
|
+
//# sourceMappingURL=38ac8c66.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"38ac8c66.js","sources":["../../src/utils/Portal/Portal.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport { PortalContext } from './PortalProvider';\n\nexport interface PortalProps {\n enabled?: boolean;\n children: React.ReactNode;\n}\n\n/**\n * Render children in a portal outside the current DOM position\n * (defaults to `document.body` but can be customized with the PortalContextProvider)\n */\nexport const Portal: React.FC<PortalProps> = ({ children, enabled = true }) => {\n const init = React.useContext(PortalContext);\n const context = React.useMemo(\n () => {\n return enabled ? init() : null;\n },\n // Only update on 'enabled'\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [enabled],\n );\n\n React.useLayoutEffect(() => {\n return context?.teardown;\n }, [context?.teardown, enabled]);\n\n if (!context?.container) {\n return <>{children}</>;\n }\n return createPortal(children, context.container);\n};\n"],"names":["Portal","children","enabled","init","React","useContext","PortalContext","context","useMemo","useLayoutEffect","teardown","container","_jsx","_Fragment","createPortal"],"mappings":";;;;;AASA;AACA;AACA;AACA;AACO,MAAMA,MAA6B,GAAGA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,OAAO,GAAG,IAAA;AAAK,CAAC,KAAK;AAC3E,EAAA,MAAMC,IAAI,GAAGC,cAAK,CAACC,UAAU,CAACC,aAAa,CAAC,CAAA;AAC5C,EAAA,MAAMC,OAAO,GAAGH,cAAK,CAACI,OAAO,CACzB,MAAM;AACF,IAAA,OAAON,OAAO,GAAGC,IAAI,EAAE,GAAG,IAAI,CAAA;GACjC;AACD;AACA;EACA,CAACD,OAAO,CACZ,CAAC,CAAA;EAEDE,cAAK,CAACK,eAAe,CAAC,MAAM;IACxB,OAAOF,OAAO,EAAEG,QAAQ,CAAA;GAC3B,EAAE,CAACH,OAAO,EAAEG,QAAQ,EAAER,OAAO,CAAC,CAAC,CAAA;AAEhC,EAAA,IAAI,CAACK,OAAO,EAAEI,SAAS,EAAE;IACrB,oBAAOC,GAAA,CAAAC,QAAA,EAAA;AAAAZ,MAAAA,QAAA,EAAGA,QAAAA;AAAQ,KAAG,CAAC,CAAA;AAC1B,GAAA;AACA,EAAA,oBAAOa,YAAY,CAACb,QAAQ,EAAEM,OAAO,CAACI,SAAS,CAAC,CAAA;AACpD;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import getScrollParent from './8fe4c01f.js';
|
|
2
|
+
import getParentNode from './063618dc.js';
|
|
3
|
+
import getNodeName from './879fa64d.js';
|
|
4
|
+
import getWindow from './a0a42aca.js';
|
|
5
|
+
import isScrollParent from './671b986c.js';
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
given a DOM element, return the list of all scroll parents, up the list of ancesors
|
|
9
|
+
until we get to the top window object. This list is what we attach scroll listeners
|
|
10
|
+
to, because if any of these parent elements scroll, we'll need to re-calculate the
|
|
11
|
+
reference element's position.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function listScrollParents(element, list) {
|
|
15
|
+
if (list === void 0) {
|
|
16
|
+
list = [];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var scrollParent = getScrollParent(element);
|
|
20
|
+
var isBody = getNodeName(scrollParent) === 'body';
|
|
21
|
+
var win = getWindow(scrollParent);
|
|
22
|
+
var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
|
|
23
|
+
var updatedList = list.concat(target);
|
|
24
|
+
return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here
|
|
25
|
+
updatedList.concat(listScrollParents(getParentNode(target)));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { listScrollParents as default };
|
|
29
|
+
//# sourceMappingURL=38ce97de.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"38ce97de.js","sources":["../../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"],"sourcesContent":["import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the \nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = getNodeName(scrollParent) === 'body';\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}"],"names":[],"mappings":";;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE;AACzD,EAAE,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE;AACvB,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,GAAG;AACH;AACA,EAAE,IAAI,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,IAAI,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;AACpD,EAAE,IAAI,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AACpC,EAAE,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC;AAChI,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACxC,EAAE,OAAO,MAAM,GAAG,WAAW;AAC7B,EAAE,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/D;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { disableBodyScroll, enableBodyScroll } from './8e8c5ab6.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Disables the scroll on the body to make it only usable in the current modal element.
|
|
6
|
+
* When the modal element is not provided anymore, the scroll is restored.
|
|
7
|
+
*
|
|
8
|
+
* @param modalElement The modal element.
|
|
9
|
+
*/
|
|
10
|
+
const useDisableBodyScroll = modalElement => {
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!modalElement) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
// Fixing the document overflow style to prevent a bug that scrolls the window to the top.
|
|
16
|
+
const previousDocumentOverflow = document.documentElement.style.overflow;
|
|
17
|
+
document.documentElement.style.overflow = 'visible';
|
|
18
|
+
disableBodyScroll(modalElement);
|
|
19
|
+
return () => {
|
|
20
|
+
enableBodyScroll(modalElement);
|
|
21
|
+
// Restore the previous overflow style.
|
|
22
|
+
requestAnimationFrame(() => {
|
|
23
|
+
document.documentElement.style.overflow = previousDocumentOverflow;
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
}, [modalElement]);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { useDisableBodyScroll };
|
|
30
|
+
//# sourceMappingURL=39534d28.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"39534d28.js","sources":["../../src/hooks/useDisableBodyScroll.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { Falsy } from '@lumx/react/utils/type';\n\n/**\n * Disables the scroll on the body to make it only usable in the current modal element.\n * When the modal element is not provided anymore, the scroll is restored.\n *\n * @param modalElement The modal element.\n */\nexport const useDisableBodyScroll = (modalElement: Element | Falsy): void => {\n useEffect(() => {\n if (!modalElement) {\n return undefined;\n }\n // Fixing the document overflow style to prevent a bug that scrolls the window to the top.\n const previousDocumentOverflow = document.documentElement.style.overflow;\n document.documentElement.style.overflow = 'visible';\n disableBodyScroll(modalElement);\n return () => {\n enableBodyScroll(modalElement);\n // Restore the previous overflow style.\n requestAnimationFrame(() => {\n document.documentElement.style.overflow = previousDocumentOverflow;\n });\n };\n }, [modalElement]);\n};\n"],"names":["useDisableBodyScroll","modalElement","useEffect","undefined","previousDocumentOverflow","document","documentElement","style","overflow","disableBodyScroll","enableBodyScroll","requestAnimationFrame"],"mappings":";;;AAIA;AACA;AACA;AACA;AACA;AACA;AACaA,MAAAA,oBAAoB,GAAIC,YAA6B,IAAW;AACzEC,EAAAA,SAAS,CAAC,MAAM;IACZ,IAAI,CAACD,YAAY,EAAE;AACf,MAAA,OAAOE,SAAS,CAAA;AACpB,KAAA;AACA;IACA,MAAMC,wBAAwB,GAAGC,QAAQ,CAACC,eAAe,CAACC,KAAK,CAACC,QAAQ,CAAA;AACxEH,IAAAA,QAAQ,CAACC,eAAe,CAACC,KAAK,CAACC,QAAQ,GAAG,SAAS,CAAA;IACnDC,iBAAiB,CAACR,YAAY,CAAC,CAAA;AAC/B,IAAA,OAAO,MAAM;MACTS,gBAAgB,CAACT,YAAY,CAAC,CAAA;AAC9B;AACAU,MAAAA,qBAAqB,CAAC,MAAM;AACxBN,QAAAA,QAAQ,CAACC,eAAe,CAACC,KAAK,CAACC,QAAQ,GAAGJ,wBAAwB,CAAA;AACtE,OAAC,CAAC,CAAA;KACL,CAAA;AACL,GAAC,EAAE,CAACH,YAAY,CAAC,CAAC,CAAA;AACtB;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
4
|
-
import { FlexBox } from './
|
|
5
|
-
import {
|
|
3
|
+
import { useTheme } from './d8ee966d.js';
|
|
4
|
+
import { FlexBox } from './fdebc718.js';
|
|
5
|
+
import { Text } from './203b01d8.js';
|
|
6
6
|
|
|
7
7
|
/** Internal component used to render image captions */
|
|
8
8
|
const ImageCaption = props => {
|
|
@@ -71,5 +71,5 @@ const ImageCaption = props => {
|
|
|
71
71
|
});
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
export { ImageCaption
|
|
75
|
-
//# sourceMappingURL=
|
|
74
|
+
export { ImageCaption };
|
|
75
|
+
//# sourceMappingURL=3996d544.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3996d544.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":"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"}
|