@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,45 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
// The error margin in px we want to have for triggering infinite scroll
|
|
4
|
+
const SCROLL_TRIGGER_MARGIN = 5;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Listen to clicks away from a given element and callback the passed in function.
|
|
8
|
+
*
|
|
9
|
+
* @param ref A reference to the element on which you want to listen scroll event.
|
|
10
|
+
* @param [callback] A callback function to call when the bottom of the reference element is reached.
|
|
11
|
+
* @param [callbackOnMount] A callback function to call when the component is mounted.
|
|
12
|
+
*/
|
|
13
|
+
const useInfiniteScroll = (ref, callback, callbackOnMount = false, scrollTriggerMargin = SCROLL_TRIGGER_MARGIN) => {
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const {
|
|
16
|
+
current
|
|
17
|
+
} = ref;
|
|
18
|
+
if (!callback || !current) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
const isAtBottom = () => Boolean(current && current.scrollHeight - (current.scrollTop + current.clientHeight) <= scrollTriggerMargin);
|
|
22
|
+
const onScroll = e => {
|
|
23
|
+
if (isAtBottom()) {
|
|
24
|
+
callback(e);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
if (isAtBottom()) {
|
|
28
|
+
onScroll();
|
|
29
|
+
}
|
|
30
|
+
current.addEventListener('scroll', onScroll);
|
|
31
|
+
current.addEventListener('resize', onScroll);
|
|
32
|
+
return () => {
|
|
33
|
+
current.removeEventListener('scroll', onScroll);
|
|
34
|
+
current.removeEventListener('resize', onScroll);
|
|
35
|
+
};
|
|
36
|
+
}, [ref, callback, scrollTriggerMargin]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (callback && callbackOnMount) {
|
|
39
|
+
callback();
|
|
40
|
+
}
|
|
41
|
+
}, [callback, callbackOnMount]);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { useInfiniteScroll };
|
|
45
|
+
//# sourceMappingURL=dbc379f8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dbc379f8.js","sources":["../../src/hooks/useInfiniteScroll.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\ntype useInfiniteScrollType = (\n ref: React.RefObject<HTMLElement>,\n callback?: EventCallback,\n callbackOnMount?: boolean,\n) => void;\ntype EventCallback = (evt?: Event) => void;\n\n// The error margin in px we want to have for triggering infinite scroll\nconst SCROLL_TRIGGER_MARGIN = 5;\n\n/**\n * Listen to clicks away from a given element and callback the passed in function.\n *\n * @param ref A reference to the element on which you want to listen scroll event.\n * @param [callback] A callback function to call when the bottom of the reference element is reached.\n * @param [callbackOnMount] A callback function to call when the component is mounted.\n */\nexport const useInfiniteScroll: useInfiniteScrollType = (\n ref,\n callback,\n callbackOnMount = false,\n scrollTriggerMargin = SCROLL_TRIGGER_MARGIN,\n) => {\n useEffect(() => {\n const { current } = ref;\n if (!callback || !current) {\n return undefined;\n }\n\n const isAtBottom = () =>\n Boolean(\n current && current.scrollHeight - (current.scrollTop + current.clientHeight) <= scrollTriggerMargin,\n );\n\n const onScroll = (e?: Event): void => {\n if (isAtBottom()) {\n callback(e);\n }\n };\n\n if (isAtBottom()) {\n onScroll();\n }\n\n current.addEventListener('scroll', onScroll);\n current.addEventListener('resize', onScroll);\n return () => {\n current.removeEventListener('scroll', onScroll);\n current.removeEventListener('resize', onScroll);\n };\n }, [ref, callback, scrollTriggerMargin]);\n\n useEffect(() => {\n if (callback && callbackOnMount) {\n callback();\n }\n }, [callback, callbackOnMount]);\n};\n"],"names":["SCROLL_TRIGGER_MARGIN","useInfiniteScroll","ref","callback","callbackOnMount","scrollTriggerMargin","useEffect","current","undefined","isAtBottom","Boolean","scrollHeight","scrollTop","clientHeight","onScroll","e","addEventListener","removeEventListener"],"mappings":";;AASA;AACA,MAAMA,qBAAqB,GAAG,CAAC,CAAA;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,MAAAA,iBAAwC,GAAGA,CACpDC,GAAG,EACHC,QAAQ,EACRC,eAAe,GAAG,KAAK,EACvBC,mBAAmB,GAAGL,qBAAqB,KAC1C;AACDM,EAAAA,SAAS,CAAC,MAAM;IACZ,MAAM;AAAEC,MAAAA,OAAAA;AAAQ,KAAC,GAAGL,GAAG,CAAA;AACvB,IAAA,IAAI,CAACC,QAAQ,IAAI,CAACI,OAAO,EAAE;AACvB,MAAA,OAAOC,SAAS,CAAA;AACpB,KAAA;IAEA,MAAMC,UAAU,GAAGA,MACfC,OAAO,CACHH,OAAO,IAAIA,OAAO,CAACI,YAAY,IAAIJ,OAAO,CAACK,SAAS,GAAGL,OAAO,CAACM,YAAY,CAAC,IAAIR,mBACpF,CAAC,CAAA;IAEL,MAAMS,QAAQ,GAAIC,CAAS,IAAW;MAClC,IAAIN,UAAU,EAAE,EAAE;QACdN,QAAQ,CAACY,CAAC,CAAC,CAAA;AACf,OAAA;KACH,CAAA;IAED,IAAIN,UAAU,EAAE,EAAE;AACdK,MAAAA,QAAQ,EAAE,CAAA;AACd,KAAA;AAEAP,IAAAA,OAAO,CAACS,gBAAgB,CAAC,QAAQ,EAAEF,QAAQ,CAAC,CAAA;AAC5CP,IAAAA,OAAO,CAACS,gBAAgB,CAAC,QAAQ,EAAEF,QAAQ,CAAC,CAAA;AAC5C,IAAA,OAAO,MAAM;AACTP,MAAAA,OAAO,CAACU,mBAAmB,CAAC,QAAQ,EAAEH,QAAQ,CAAC,CAAA;AAC/CP,MAAAA,OAAO,CAACU,mBAAmB,CAAC,QAAQ,EAAEH,QAAQ,CAAC,CAAA;KAClD,CAAA;GACJ,EAAE,CAACZ,GAAG,EAAEC,QAAQ,EAAEE,mBAAmB,CAAC,CAAC,CAAA;AAExCC,EAAAA,SAAS,CAAC,MAAM;IACZ,IAAIH,QAAQ,IAAIC,eAAe,EAAE;AAC7BD,MAAAA,QAAQ,EAAE,CAAA;AACd,KAAA;AACJ,GAAC,EAAE,CAACA,QAAQ,EAAEC,eAAe,CAAC,CAAC,CAAA;AACnC;;;;"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import React__default, { useState } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
4
|
+
import { useMergeRefs } from './27df0cb6.js';
|
|
5
|
+
import { useImageLoad } from './7af4a428.js';
|
|
6
|
+
import { useFocusPointStyle } from './b4018f8d.js';
|
|
7
|
+
import { useTheme } from './d8ee966d.js';
|
|
8
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
9
|
+
import { RawClickable } from './a6dc95cd.js';
|
|
10
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
|
+
import { useDisableStateProps } from './ef982c3d.js';
|
|
12
|
+
import { mdiImageBroken } from './1060c47e.js';
|
|
13
|
+
import { Theme, AspectRatio, Size } from '@lumx/core/js/constants';
|
|
14
|
+
import { Icon } from './595d0e66.js';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Component display name.
|
|
18
|
+
*/
|
|
19
|
+
const COMPONENT_NAME = 'Thumbnail';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Component default class name and class prefix.
|
|
23
|
+
*/
|
|
24
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Component default props.
|
|
28
|
+
*/
|
|
29
|
+
const DEFAULT_PROPS = {
|
|
30
|
+
fallback: mdiImageBroken,
|
|
31
|
+
loading: 'lazy'
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Thumbnail component.
|
|
36
|
+
*
|
|
37
|
+
* @param props Component props.
|
|
38
|
+
* @param ref Component ref.
|
|
39
|
+
* @return React element.
|
|
40
|
+
*/
|
|
41
|
+
const Thumbnail = forwardRef((props, ref) => {
|
|
42
|
+
const {
|
|
43
|
+
isAnyDisabled,
|
|
44
|
+
otherProps,
|
|
45
|
+
disabledStateProps
|
|
46
|
+
} = useDisableStateProps(props);
|
|
47
|
+
const defaultTheme = useTheme() || Theme.light;
|
|
48
|
+
const {
|
|
49
|
+
align,
|
|
50
|
+
alt,
|
|
51
|
+
aspectRatio = AspectRatio.original,
|
|
52
|
+
badge,
|
|
53
|
+
className,
|
|
54
|
+
crossOrigin,
|
|
55
|
+
fallback = DEFAULT_PROPS.fallback,
|
|
56
|
+
fillHeight,
|
|
57
|
+
// `focusPoint` needs to be here to remove it from `forwardedProps`.
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
|
+
focusPoint,
|
|
60
|
+
image,
|
|
61
|
+
imgProps,
|
|
62
|
+
imgRef: propImgRef,
|
|
63
|
+
isLoading: isLoadingProp,
|
|
64
|
+
objectFit,
|
|
65
|
+
loading = DEFAULT_PROPS.loading,
|
|
66
|
+
loadingPlaceholderImageRef,
|
|
67
|
+
size,
|
|
68
|
+
theme = defaultTheme,
|
|
69
|
+
variant,
|
|
70
|
+
linkProps,
|
|
71
|
+
linkAs,
|
|
72
|
+
...forwardedProps
|
|
73
|
+
} = otherProps;
|
|
74
|
+
const [imgElement, setImgElement] = useState();
|
|
75
|
+
|
|
76
|
+
// Image loading state.
|
|
77
|
+
const loadingState = useImageLoad(image, imgElement);
|
|
78
|
+
const isLoaded = loadingState === 'isLoaded';
|
|
79
|
+
const isLoading = isLoadingProp || loadingState === 'isLoading';
|
|
80
|
+
const hasError = loadingState === 'hasError';
|
|
81
|
+
|
|
82
|
+
// Focus point.
|
|
83
|
+
const focusPointStyle = useFocusPointStyle(props, imgElement, isLoaded);
|
|
84
|
+
const hasIconErrorFallback = hasError && typeof fallback === 'string';
|
|
85
|
+
const hasCustomErrorFallback = hasError && !hasIconErrorFallback;
|
|
86
|
+
const imageErrorStyle = {};
|
|
87
|
+
if (hasIconErrorFallback) {
|
|
88
|
+
// Keep the image layout on icon fallback.
|
|
89
|
+
imageErrorStyle.visibility = 'hidden';
|
|
90
|
+
} else if (hasCustomErrorFallback) {
|
|
91
|
+
// Remove the image on custom fallback.
|
|
92
|
+
imageErrorStyle.display = 'none';
|
|
93
|
+
}
|
|
94
|
+
const isLink = Boolean(linkProps?.href || linkAs);
|
|
95
|
+
const isClickable = !isAnyDisabled && Boolean(isLink || !!forwardedProps.onClick);
|
|
96
|
+
const Wrapper = isClickable ? RawClickable : 'div';
|
|
97
|
+
const wrapperProps = {
|
|
98
|
+
...forwardedProps
|
|
99
|
+
};
|
|
100
|
+
if (isClickable) {
|
|
101
|
+
Object.assign(wrapperProps, {
|
|
102
|
+
as: linkAs || (linkProps?.href ? 'a' : 'button')
|
|
103
|
+
}, disabledStateProps);
|
|
104
|
+
if (isLink) {
|
|
105
|
+
Object.assign(wrapperProps, linkProps);
|
|
106
|
+
} else {
|
|
107
|
+
wrapperProps['aria-label'] = forwardedProps['aria-label'] || alt;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// If we have a loading placeholder image that is really loaded (complete)
|
|
112
|
+
const loadingPlaceholderImage = isLoading && loadingPlaceholderImageRef?.current?.complete && loadingPlaceholderImageRef?.current || undefined;
|
|
113
|
+
|
|
114
|
+
// Set loading placeholder image as background
|
|
115
|
+
const loadingStyle = loadingPlaceholderImage ? {
|
|
116
|
+
backgroundImage: `url(${loadingPlaceholderImage.src})`
|
|
117
|
+
} : undefined;
|
|
118
|
+
return /*#__PURE__*/jsxs(Wrapper, {
|
|
119
|
+
...wrapperProps,
|
|
120
|
+
ref: ref,
|
|
121
|
+
className: classNames(linkProps?.className, className, handleBasicClasses({
|
|
122
|
+
align,
|
|
123
|
+
aspectRatio,
|
|
124
|
+
prefix: CLASSNAME,
|
|
125
|
+
size,
|
|
126
|
+
theme,
|
|
127
|
+
variant,
|
|
128
|
+
isClickable,
|
|
129
|
+
hasError,
|
|
130
|
+
hasIconErrorFallback,
|
|
131
|
+
hasCustomErrorFallback,
|
|
132
|
+
isLoading,
|
|
133
|
+
objectFit,
|
|
134
|
+
hasBadge: !!badge
|
|
135
|
+
}), fillHeight && `${CLASSNAME}--fill-height`),
|
|
136
|
+
children: [/*#__PURE__*/jsxs("span", {
|
|
137
|
+
className: `${CLASSNAME}__background`,
|
|
138
|
+
children: [/*#__PURE__*/jsx("img", {
|
|
139
|
+
// Use placeholder image size
|
|
140
|
+
width: loadingPlaceholderImage?.naturalWidth,
|
|
141
|
+
height: loadingPlaceholderImage?.naturalHeight,
|
|
142
|
+
...imgProps,
|
|
143
|
+
style: {
|
|
144
|
+
// Reserve space while loading (when possible)
|
|
145
|
+
width: isLoading ? imgProps?.width || loadingPlaceholderImage?.naturalWidth : undefined,
|
|
146
|
+
...imgProps?.style,
|
|
147
|
+
...imageErrorStyle,
|
|
148
|
+
...focusPointStyle,
|
|
149
|
+
...loadingStyle
|
|
150
|
+
},
|
|
151
|
+
ref: useMergeRefs(setImgElement, propImgRef),
|
|
152
|
+
className: classNames(handleBasicClasses({
|
|
153
|
+
prefix: `${CLASSNAME}__image`,
|
|
154
|
+
isLoading,
|
|
155
|
+
hasDefinedSize: Boolean(imgProps?.height && imgProps.width)
|
|
156
|
+
}), imgProps?.className),
|
|
157
|
+
crossOrigin: crossOrigin,
|
|
158
|
+
src: image,
|
|
159
|
+
alt: alt,
|
|
160
|
+
loading: loading
|
|
161
|
+
}), !isLoading && hasError && /*#__PURE__*/jsx("span", {
|
|
162
|
+
className: `${CLASSNAME}__fallback`,
|
|
163
|
+
children: hasIconErrorFallback ? /*#__PURE__*/jsx(Icon, {
|
|
164
|
+
icon: fallback,
|
|
165
|
+
size: Size.xxs,
|
|
166
|
+
theme: theme
|
|
167
|
+
}) : fallback
|
|
168
|
+
})]
|
|
169
|
+
}), badge && /*#__PURE__*/React__default.cloneElement(badge, {
|
|
170
|
+
className: classNames(`${CLASSNAME}__badge`, badge.props.className)
|
|
171
|
+
})]
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
Thumbnail.displayName = COMPONENT_NAME;
|
|
175
|
+
Thumbnail.className = CLASSNAME;
|
|
176
|
+
Thumbnail.defaultProps = DEFAULT_PROPS;
|
|
177
|
+
|
|
178
|
+
export { Thumbnail };
|
|
179
|
+
//# sourceMappingURL=dbe906f1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dbe906f1.js","sources":["../../src/components/thumbnail/Thumbnail.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n ImgHTMLAttributes,\n KeyboardEventHandler,\n MouseEventHandler,\n ReactElement,\n ReactNode,\n Ref,\n useState,\n} from 'react';\n\nimport classNames from 'classnames';\n\nimport { AspectRatio, HorizontalAlignment, Icon, Size, Theme, ThumbnailObjectFit } from '@lumx/react';\nimport { Falsy, GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mdiImageBroken } from '@lumx/icons';\nimport { useMergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useImageLoad } from '@lumx/react/components/thumbnail/useImageLoad';\nimport { useFocusPointStyle } from '@lumx/react/components/thumbnail/useFocusPointStyle';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useDisableStateProps } from '@lumx/react/utils/disabled';\nimport { RawClickable } from '@lumx/react/utils/react/RawClickable';\nimport { FocusPoint, ThumbnailSize, ThumbnailVariant } from './types';\n\ntype ImgHTMLProps = ImgHTMLAttributes<HTMLImageElement>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ThumbnailProps extends GenericProps, HasTheme {\n /** Alignment of the thumbnail in it's parent (requires flex parent). */\n align?: HorizontalAlignment;\n /** Image alternative text. */\n alt: string;\n /** Image aspect ratio. */\n aspectRatio?: AspectRatio;\n /** Badge. */\n badge?: ReactElement | Falsy;\n /** Image cross origin resource policy. */\n crossOrigin?: ImgHTMLProps['crossOrigin'];\n /** Fallback icon (SVG path) or react node when image fails to load. */\n fallback?: string | ReactNode;\n /** Whether the thumbnail should fill it's parent size (requires flex parent) or not. */\n fillHeight?: boolean;\n /** Apply relative vertical and horizontal shift (from -1 to 1) on the image position inside the thumbnail. */\n focusPoint?: FocusPoint;\n /** Image URL. */\n image: string;\n /** Props to inject into the native <img> element. */\n imgProps?: ImgHTMLProps;\n /** Reference to the native <img> element. */\n imgRef?: Ref<HTMLImageElement>;\n /** Set to true to force the display of the loading skeleton. */\n isLoading?: boolean;\n /** Set how the image should fit when its aspect ratio is constrained */\n objectFit?: ThumbnailObjectFit;\n /** Size variant of the component. */\n size?: ThumbnailSize;\n /** Image loading mode. */\n loading?: ImgHTMLProps['loading'];\n /** Ref of an existing placeholder image to display while loading. */\n loadingPlaceholderImageRef?: React.RefObject<HTMLImageElement>;\n /** On click callback. */\n onClick?: MouseEventHandler<HTMLDivElement>;\n /** On key press callback. */\n onKeyPress?: KeyboardEventHandler<HTMLDivElement>;\n /** Variant of the component. */\n variant?: ThumbnailVariant;\n /** Props to pass to the link wrapping the thumbnail. */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Thumbnail';\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<ThumbnailProps> = {\n fallback: mdiImageBroken,\n loading: 'lazy',\n};\n\n/**\n * Thumbnail component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Thumbnail = forwardRef<ThumbnailProps>((props, ref) => {\n const { isAnyDisabled, otherProps, disabledStateProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n align,\n alt,\n aspectRatio = AspectRatio.original,\n badge,\n className,\n crossOrigin,\n fallback = DEFAULT_PROPS.fallback,\n fillHeight,\n // `focusPoint` needs to be here to remove it from `forwardedProps`.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusPoint,\n image,\n imgProps,\n imgRef: propImgRef,\n isLoading: isLoadingProp,\n objectFit,\n loading = DEFAULT_PROPS.loading,\n loadingPlaceholderImageRef,\n size,\n theme = defaultTheme,\n variant,\n linkProps,\n linkAs,\n ...forwardedProps\n } = otherProps;\n const [imgElement, setImgElement] = useState<HTMLImageElement>();\n\n // Image loading state.\n const loadingState = useImageLoad(image, imgElement);\n const isLoaded = loadingState === 'isLoaded';\n const isLoading = isLoadingProp || loadingState === 'isLoading';\n const hasError = loadingState === 'hasError';\n\n // Focus point.\n const focusPointStyle = useFocusPointStyle(props, imgElement, isLoaded);\n\n const hasIconErrorFallback = hasError && typeof fallback === 'string';\n const hasCustomErrorFallback = hasError && !hasIconErrorFallback;\n const imageErrorStyle: CSSProperties = {};\n if (hasIconErrorFallback) {\n // Keep the image layout on icon fallback.\n imageErrorStyle.visibility = 'hidden';\n } else if (hasCustomErrorFallback) {\n // Remove the image on custom fallback.\n imageErrorStyle.display = 'none';\n }\n\n const isLink = Boolean(linkProps?.href || linkAs);\n const isClickable = !isAnyDisabled && Boolean(isLink || !!forwardedProps.onClick);\n\n const Wrapper: any = isClickable ? RawClickable : 'div';\n const wrapperProps = { ...forwardedProps };\n if (isClickable) {\n Object.assign(wrapperProps, { as: linkAs || (linkProps?.href ? 'a' : 'button') }, disabledStateProps);\n if (isLink) {\n Object.assign(wrapperProps, linkProps);\n } else {\n wrapperProps['aria-label'] = forwardedProps['aria-label'] || alt;\n }\n }\n\n // If we have a loading placeholder image that is really loaded (complete)\n const loadingPlaceholderImage =\n (isLoading && loadingPlaceholderImageRef?.current?.complete && loadingPlaceholderImageRef?.current) ||\n undefined;\n\n // Set loading placeholder image as background\n const loadingStyle = loadingPlaceholderImage\n ? { backgroundImage: `url(${loadingPlaceholderImage.src})` }\n : undefined;\n\n return (\n <Wrapper\n {...wrapperProps}\n ref={ref}\n className={classNames(\n linkProps?.className,\n className,\n handleBasicClasses({\n align,\n aspectRatio,\n prefix: CLASSNAME,\n size,\n theme,\n variant,\n isClickable,\n hasError,\n hasIconErrorFallback,\n hasCustomErrorFallback,\n isLoading,\n objectFit,\n hasBadge: !!badge,\n }),\n fillHeight && `${CLASSNAME}--fill-height`,\n )}\n >\n <span className={`${CLASSNAME}__background`}>\n <img\n // Use placeholder image size\n width={loadingPlaceholderImage?.naturalWidth}\n height={loadingPlaceholderImage?.naturalHeight}\n {...imgProps}\n style={{\n // Reserve space while loading (when possible)\n width: isLoading ? imgProps?.width || loadingPlaceholderImage?.naturalWidth : undefined,\n ...imgProps?.style,\n ...imageErrorStyle,\n ...focusPointStyle,\n ...loadingStyle,\n }}\n ref={useMergeRefs(setImgElement, propImgRef)}\n className={classNames(\n handleBasicClasses({\n prefix: `${CLASSNAME}__image`,\n isLoading,\n hasDefinedSize: Boolean(imgProps?.height && imgProps.width),\n }),\n imgProps?.className,\n )}\n crossOrigin={crossOrigin}\n src={image}\n alt={alt}\n loading={loading}\n />\n {!isLoading && hasError && (\n <span className={`${CLASSNAME}__fallback`}>\n {hasIconErrorFallback ? (\n <Icon icon={fallback as string} size={Size.xxs} theme={theme} />\n ) : (\n fallback\n )}\n </span>\n )}\n </span>\n {badge &&\n React.cloneElement(badge, { className: classNames(`${CLASSNAME}__badge`, badge.props.className) })}\n </Wrapper>\n );\n});\nThumbnail.displayName = COMPONENT_NAME;\nThumbnail.className = CLASSNAME;\nThumbnail.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","fallback","mdiImageBroken","loading","Thumbnail","forwardRef","props","ref","isAnyDisabled","otherProps","disabledStateProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","align","alt","aspectRatio","AspectRatio","original","badge","className","crossOrigin","fillHeight","focusPoint","image","imgProps","imgRef","propImgRef","isLoading","isLoadingProp","objectFit","loadingPlaceholderImageRef","size","theme","variant","linkProps","linkAs","forwardedProps","imgElement","setImgElement","useState","loadingState","useImageLoad","isLoaded","hasError","focusPointStyle","useFocusPointStyle","hasIconErrorFallback","hasCustomErrorFallback","imageErrorStyle","visibility","display","isLink","Boolean","href","isClickable","onClick","Wrapper","RawClickable","wrapperProps","Object","assign","as","loadingPlaceholderImage","current","complete","undefined","loadingStyle","backgroundImage","src","_jsxs","classNames","handleBasicClasses","prefix","hasBadge","children","_jsx","width","naturalWidth","height","naturalHeight","style","useMergeRefs","hasDefinedSize","Icon","icon","Size","xxs","React","cloneElement","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { detectHorizontalSwipe } from '@lumx/core/js/utils';
|
|
3
|
+
|
|
4
|
+
const isTouchDevice = () => 'ontouchstart' in window;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Listen swipe to navigate left and right.
|
|
8
|
+
*/
|
|
9
|
+
function useSwipeNavigate(element, onNext, onPrevious) {
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (!element || !isTouchDevice()) return undefined;
|
|
12
|
+
return detectHorizontalSwipe(element, swipe => {
|
|
13
|
+
const callback = swipe === 'right' ? onPrevious : onNext;
|
|
14
|
+
callback?.();
|
|
15
|
+
});
|
|
16
|
+
}, [onPrevious, onNext, element]);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { useSwipeNavigate };
|
|
20
|
+
//# sourceMappingURL=de52a4b9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de52a4b9.js","sources":["../../src/components/slideshow/useSwipeNavigate.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { detectHorizontalSwipe } from '@lumx/core/js/utils';\n\nconst isTouchDevice = () => 'ontouchstart' in window;\n\n/**\n * Listen swipe to navigate left and right.\n */\nexport function useSwipeNavigate(element?: HTMLElement | null, onNext?: () => void, onPrevious?: () => void): void {\n useEffect(() => {\n if (!element || !isTouchDevice()) return undefined;\n\n return detectHorizontalSwipe(element, (swipe) => {\n const callback = swipe === 'right' ? onPrevious : onNext;\n callback?.();\n });\n }, [onPrevious, onNext, element]);\n}\n"],"names":["isTouchDevice","window","useSwipeNavigate","element","onNext","onPrevious","useEffect","undefined","detectHorizontalSwipe","swipe","callback"],"mappings":";;;AAGA,MAAMA,aAAa,GAAGA,MAAM,cAAc,IAAIC,MAAM,CAAA;;AAEpD;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,OAA4B,EAAEC,MAAmB,EAAEC,UAAuB,EAAQ;AAC/GC,EAAAA,SAAS,CAAC,MAAM;IACZ,IAAI,CAACH,OAAO,IAAI,CAACH,aAAa,EAAE,EAAE,OAAOO,SAAS,CAAA;AAElD,IAAA,OAAOC,qBAAqB,CAACL,OAAO,EAAGM,KAAK,IAAK;MAC7C,MAAMC,QAAQ,GAAGD,KAAK,KAAK,OAAO,GAAGJ,UAAU,GAAGD,MAAM,CAAA;AACxDM,MAAAA,QAAQ,IAAI,CAAA;AAChB,KAAC,CAAC,CAAA;GACL,EAAE,CAACL,UAAU,EAAED,MAAM,EAAED,OAAO,CAAC,CAAC,CAAA;AACrC;;;;"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
3
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
4
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
5
|
+
import { mdiArrowUp } from './78a9c3cd.js';
|
|
6
|
+
import { mdiArrowDown } from './a32628a1.js';
|
|
7
|
+
import { Icon } from './595d0e66.js';
|
|
8
|
+
import { Size } from '@lumx/core/js/constants';
|
|
9
|
+
|
|
10
|
+
const ThOrder = {
|
|
11
|
+
asc: 'asc',
|
|
12
|
+
desc: 'desc'
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Table cell variants.
|
|
16
|
+
*/
|
|
17
|
+
const TableCellVariant = {
|
|
18
|
+
body: 'body',
|
|
19
|
+
head: 'head'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Defines the props of the component.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Component display name.
|
|
28
|
+
*/
|
|
29
|
+
const COMPONENT_NAME = 'TableCell';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Component default class name and class prefix.
|
|
33
|
+
*/
|
|
34
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME, true);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Component default props.
|
|
38
|
+
*/
|
|
39
|
+
const DEFAULT_PROPS = {
|
|
40
|
+
variant: TableCellVariant.body
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* TableCell component.
|
|
45
|
+
*
|
|
46
|
+
* @param props Component props.
|
|
47
|
+
* @param ref Component ref.
|
|
48
|
+
* @return React element.
|
|
49
|
+
*/
|
|
50
|
+
const TableCell = forwardRef((props, ref) => {
|
|
51
|
+
const {
|
|
52
|
+
children,
|
|
53
|
+
className,
|
|
54
|
+
icon,
|
|
55
|
+
isSortable,
|
|
56
|
+
onHeaderClick,
|
|
57
|
+
sortOrder,
|
|
58
|
+
variant = DEFAULT_PROPS.variant,
|
|
59
|
+
...forwardedProps
|
|
60
|
+
} = props;
|
|
61
|
+
|
|
62
|
+
// Use button if clickable
|
|
63
|
+
const Wrapper = onHeaderClick ? 'button' : 'div';
|
|
64
|
+
const wrapperProps = Wrapper === 'button' ? {
|
|
65
|
+
type: 'button',
|
|
66
|
+
onClick: onHeaderClick
|
|
67
|
+
} : undefined;
|
|
68
|
+
|
|
69
|
+
// ARIA sort
|
|
70
|
+
let ariaSort;
|
|
71
|
+
if (isSortable) {
|
|
72
|
+
ariaSort = 'none';
|
|
73
|
+
if (sortOrder === ThOrder.asc) ariaSort = 'ascending';
|
|
74
|
+
if (sortOrder === ThOrder.desc) ariaSort = 'descending';
|
|
75
|
+
}
|
|
76
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
77
|
+
children: [variant === TableCellVariant.head && /*#__PURE__*/jsx("th", {
|
|
78
|
+
ref: ref,
|
|
79
|
+
...forwardedProps,
|
|
80
|
+
className: classNames(handleBasicClasses({
|
|
81
|
+
prefix: CLASSNAME,
|
|
82
|
+
isSortable,
|
|
83
|
+
isSorted: isSortable && !!sortOrder
|
|
84
|
+
}), className, `${CLASSNAME}--head`),
|
|
85
|
+
"aria-sort": ariaSort,
|
|
86
|
+
children: /*#__PURE__*/jsxs(Wrapper, {
|
|
87
|
+
className: `${CLASSNAME}-wrapper`,
|
|
88
|
+
...wrapperProps,
|
|
89
|
+
children: [icon && !isSortable && /*#__PURE__*/jsx(Icon, {
|
|
90
|
+
className: `${CLASSNAME}-icon`,
|
|
91
|
+
icon: icon,
|
|
92
|
+
size: Size.xxs
|
|
93
|
+
}), isSortable && sortOrder === ThOrder.asc && /*#__PURE__*/jsx(Icon, {
|
|
94
|
+
className: `${CLASSNAME}-icon`,
|
|
95
|
+
icon: mdiArrowUp,
|
|
96
|
+
size: Size.xxs
|
|
97
|
+
}), isSortable && sortOrder === ThOrder.desc && /*#__PURE__*/jsx(Icon, {
|
|
98
|
+
className: `${CLASSNAME}-icon`,
|
|
99
|
+
icon: mdiArrowDown,
|
|
100
|
+
size: Size.xxs
|
|
101
|
+
}), /*#__PURE__*/jsx("div", {
|
|
102
|
+
className: `${CLASSNAME}-content`,
|
|
103
|
+
children: children
|
|
104
|
+
})]
|
|
105
|
+
})
|
|
106
|
+
}), variant === TableCellVariant.body && /*#__PURE__*/jsx("td", {
|
|
107
|
+
...forwardedProps,
|
|
108
|
+
className: classNames(className, CLASSNAME, `${CLASSNAME}--body`),
|
|
109
|
+
children: /*#__PURE__*/jsx("div", {
|
|
110
|
+
className: `${CLASSNAME}-content`,
|
|
111
|
+
children: children
|
|
112
|
+
})
|
|
113
|
+
})]
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
TableCell.displayName = COMPONENT_NAME;
|
|
117
|
+
TableCell.className = CLASSNAME;
|
|
118
|
+
TableCell.defaultProps = DEFAULT_PROPS;
|
|
119
|
+
|
|
120
|
+
export { TableCell, TableCellVariant, ThOrder };
|
|
121
|
+
//# sourceMappingURL=df688aab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"df688aab.js","sources":["../../src/components/table/TableCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { mdiArrowDown, mdiArrowUp } from '@lumx/icons';\nimport { Icon, Size } from '@lumx/react';\nimport { GenericProps, ValueOf } 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 * Table head cell sort order.\n */\nexport const ThOrder = { asc: 'asc', desc: 'desc' } as const;\nexport type ThOrder = ValueOf<typeof ThOrder>;\n\n/**\n * Table cell variants.\n */\nexport const TableCellVariant = { body: 'body', head: 'head' } as const;\nexport type TableCellVariant = ValueOf<typeof TableCellVariant>;\n\n/**\n * Defines the props of the component.\n */\nexport interface TableCellProps extends GenericProps {\n /** Icon (SVG path).(thead only). */\n icon?: string;\n /** Whether the column is sortable or not (thead only). */\n isSortable?: boolean;\n /** Sort order displayed as icon (sortable thead only). */\n sortOrder?: ThOrder;\n /** Variant. */\n variant?: TableCellVariant;\n /** On header cell click callback. */\n onHeaderClick?(): void;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'TableCell';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME, true);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TableCellProps> = {\n variant: TableCellVariant.body,\n};\n\n/**\n * TableCell component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const TableCell = forwardRef<TableCellProps, HTMLTableCellElement>((props, ref) => {\n const {\n children,\n className,\n icon,\n isSortable,\n onHeaderClick,\n sortOrder,\n variant = DEFAULT_PROPS.variant,\n ...forwardedProps\n } = props;\n\n // Use button if clickable\n const Wrapper = onHeaderClick ? 'button' : 'div';\n const wrapperProps = Wrapper === 'button' ? ({ type: 'button', onClick: onHeaderClick } as const) : undefined;\n\n // ARIA sort\n let ariaSort: 'ascending' | 'descending' | 'none' | undefined;\n if (isSortable) {\n ariaSort = 'none';\n if (sortOrder === ThOrder.asc) ariaSort = 'ascending';\n if (sortOrder === ThOrder.desc) ariaSort = 'descending';\n }\n\n return (\n <>\n {variant === TableCellVariant.head && (\n <th\n ref={ref}\n {...forwardedProps}\n className={classNames(\n handleBasicClasses({\n prefix: CLASSNAME,\n isSortable,\n isSorted: isSortable && !!sortOrder,\n }),\n className,\n `${CLASSNAME}--head`,\n )}\n aria-sort={ariaSort}\n >\n <Wrapper className={`${CLASSNAME}-wrapper`} {...wrapperProps}>\n {icon && !isSortable && <Icon className={`${CLASSNAME}-icon`} icon={icon} size={Size.xxs} />}\n\n {isSortable && sortOrder === ThOrder.asc && (\n <Icon className={`${CLASSNAME}-icon`} icon={mdiArrowUp} size={Size.xxs} />\n )}\n\n {isSortable && sortOrder === ThOrder.desc && (\n <Icon className={`${CLASSNAME}-icon`} icon={mdiArrowDown} size={Size.xxs} />\n )}\n\n <div className={`${CLASSNAME}-content`}>{children}</div>\n </Wrapper>\n </th>\n )}\n\n {variant === TableCellVariant.body && (\n <td {...forwardedProps} className={classNames(className, CLASSNAME, `${CLASSNAME}--body`)}>\n <div className={`${CLASSNAME}-content`}>{children}</div>\n </td>\n )}\n </>\n );\n});\nTableCell.displayName = COMPONENT_NAME;\nTableCell.className = CLASSNAME;\nTableCell.defaultProps = DEFAULT_PROPS;\n"],"names":["ThOrder","asc","desc","TableCellVariant","body","head","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","variant","TableCell","forwardRef","props","ref","children","className","icon","isSortable","onHeaderClick","sortOrder","forwardedProps","Wrapper","wrapperProps","type","onClick","undefined","ariaSort","_jsxs","_Fragment","_jsx","classNames","handleBasicClasses","prefix","isSorted","Icon","size","Size","xxs","mdiArrowUp","mdiArrowDown","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Convenient hook to create interaction observers.
|
|
5
|
+
*
|
|
6
|
+
* @param elements Elements to observe.
|
|
7
|
+
* @param options IntersectionObserver options.
|
|
8
|
+
* @return Map of intersections.
|
|
9
|
+
*/
|
|
10
|
+
function useIntersectionObserver(elements, options) {
|
|
11
|
+
const [intersections, setIntersections] = useState(() => new Map());
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (elements.length < 1 || !elements.some(Boolean)) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const observer = new IntersectionObserver(entries => {
|
|
17
|
+
for (const entry of entries) {
|
|
18
|
+
intersections.set(entry.target, entry);
|
|
19
|
+
}
|
|
20
|
+
setIntersections(new Map(intersections));
|
|
21
|
+
}, options);
|
|
22
|
+
for (const element of elements) {
|
|
23
|
+
if (element) {
|
|
24
|
+
observer.observe(element);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return () => observer.disconnect();
|
|
28
|
+
},
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
[...elements]);
|
|
31
|
+
return intersections;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { useIntersectionObserver };
|
|
35
|
+
//# sourceMappingURL=dfa00cf7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dfa00cf7.js","sources":["../../src/hooks/useIntersectionObserver.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport type Intersections<T> = Map<T, IntersectionObserverEntry>;\n\n/**\n * Convenient hook to create interaction observers.\n *\n * @param elements Elements to observe.\n * @param options IntersectionObserver options.\n * @return Map of intersections.\n */\nexport function useIntersectionObserver<T extends Element>(\n elements: Array<T | null | undefined>,\n options?: IntersectionObserverInit,\n): Intersections<T> {\n const [intersections, setIntersections] = useState<Intersections<T>>(() => new Map());\n\n useEffect(\n () => {\n if (elements.length < 1 || !elements.some(Boolean)) {\n return undefined;\n }\n\n const observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n intersections.set(entry.target as T, entry);\n }\n setIntersections(new Map(intersections));\n }, options);\n\n for (const element of elements) {\n if (element) {\n observer.observe(element);\n }\n }\n return () => observer.disconnect();\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [...elements],\n );\n\n return intersections;\n}\n"],"names":["useIntersectionObserver","elements","options","intersections","setIntersections","useState","Map","useEffect","length","some","Boolean","undefined","observer","IntersectionObserver","entries","entry","set","target","element","observe","disconnect"],"mappings":";;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,uBAAuBA,CACnCC,QAAqC,EACrCC,OAAkC,EAClB;AAChB,EAAA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,QAAQ,CAAmB,MAAM,IAAIC,GAAG,EAAE,CAAC,CAAA;AAErFC,EAAAA,SAAS,CACL,MAAM;AACF,IAAA,IAAIN,QAAQ,CAACO,MAAM,GAAG,CAAC,IAAI,CAACP,QAAQ,CAACQ,IAAI,CAACC,OAAO,CAAC,EAAE;AAChD,MAAA,OAAOC,SAAS,CAAA;AACpB,KAAA;AAEA,IAAA,MAAMC,QAAQ,GAAG,IAAIC,oBAAoB,CAAEC,OAAO,IAAK;AACnD,MAAA,KAAK,MAAMC,KAAK,IAAID,OAAO,EAAE;QACzBX,aAAa,CAACa,GAAG,CAACD,KAAK,CAACE,MAAM,EAAOF,KAAK,CAAC,CAAA;AAC/C,OAAA;AACAX,MAAAA,gBAAgB,CAAC,IAAIE,GAAG,CAACH,aAAa,CAAC,CAAC,CAAA;KAC3C,EAAED,OAAO,CAAC,CAAA;AAEX,IAAA,KAAK,MAAMgB,OAAO,IAAIjB,QAAQ,EAAE;AAC5B,MAAA,IAAIiB,OAAO,EAAE;AACTN,QAAAA,QAAQ,CAACO,OAAO,CAACD,OAAO,CAAC,CAAA;AAC7B,OAAA;AACJ,KAAA;AACA,IAAA,OAAO,MAAMN,QAAQ,CAACQ,UAAU,EAAE,CAAA;GACrC;AACD;EACA,CAAC,GAAGnB,QAAQ,CAChB,CAAC,CAAA;AAED,EAAA,OAAOE,aAAa,CAAA;AACxB;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createContext, useContext, useEffect, useMemo, useCallback } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useId } from './11687649.js';
|
|
3
3
|
|
|
4
4
|
const INIT_STATE = {
|
|
5
5
|
isLazy: true,
|
|
@@ -126,5 +126,5 @@ const useTabProviderContextState = () => {
|
|
|
126
126
|
return context?.[0];
|
|
127
127
|
};
|
|
128
128
|
|
|
129
|
-
export { INIT_STATE
|
|
130
|
-
//# sourceMappingURL=
|
|
129
|
+
export { INIT_STATE, TabProviderContext, reducer, useTabProviderContext, useTabProviderContextState };
|
|
130
|
+
//# sourceMappingURL=e0398237.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e0398237.js","sources":["../../src/components/tabs/state.ts"],"sourcesContent":["import { Dispatch, createContext, useCallback, useContext, useEffect, useMemo } from 'react';\nimport { useId } from '@lumx/react/hooks/useId';\n\ntype TabType = 'tab' | 'tabPanel';\n\nexport interface State {\n isLazy: boolean;\n shouldActivateOnFocus: boolean;\n activeTabIndex: number;\n ids: Record<TabType, string[]>;\n}\n\nexport const INIT_STATE: State = {\n isLazy: true,\n shouldActivateOnFocus: false,\n activeTabIndex: 0,\n ids: { tab: [], tabPanel: [] },\n};\n\nexport type Action =\n | { type: 'update'; payload: Partial<State> }\n | { type: 'setActiveTabIndex'; payload: number }\n | { type: 'register'; payload: { type: TabType; id: string } }\n | { type: 'unregister'; payload: { type: TabType; id: string } };\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'update':\n return { ...state, ...action.payload };\n case 'setActiveTabIndex': {\n if (state.activeTabIndex === action.payload) {\n return state;\n }\n // Change active tab index.\n return { ...state, activeTabIndex: action.payload };\n }\n case 'register': {\n const { type, id } = action.payload;\n // Append tab/tabPanel id in state.\n return { ...state, ids: { ...state.ids, [type]: [...state.ids[type], id] } };\n }\n case 'unregister': {\n const { type, id } = action.payload;\n const index = state.ids[type].indexOf(id);\n if (index === -1) return state;\n // Remove tab & tab panel at index.\n const tabIds = [...state.ids.tab];\n tabIds.splice(index, 1);\n const tabPanelIds = [...state.ids.tabPanel];\n tabPanelIds.splice(index, 1);\n return {\n ...state,\n ids: { tab: tabIds, tabPanel: tabPanelIds },\n };\n }\n default:\n return state;\n }\n};\n\nexport const TabProviderContext = createContext<[State, Dispatch<Action>] | null>(null);\n\nexport type TabState = Pick<Required<State>, 'isLazy' | 'shouldActivateOnFocus'> & {\n isActive: boolean;\n tabId: string;\n tabPanelId: string;\n changeToTab(): void;\n};\n\n/* eslint-disable react-hooks/rules-of-hooks */\nexport const useTabProviderContext = (type: TabType, originalId?: string): undefined | TabState => {\n const context = useContext(TabProviderContext);\n if (!context) {\n return undefined;\n }\n const [state, dispatch] = context;\n\n // Current tab or tab panel id.\n const generatedId = useId();\n const id = originalId || generatedId;\n\n useEffect(\n () => {\n // On mount: register tab or tab panel id.\n dispatch({ type: 'register', payload: { type, id } });\n return () => {\n // On unmount: unregister tab or tab panel id.\n dispatch({ type: 'unregister', payload: { type, id } });\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n // Find tab/tabPanel index using it's id.\n const index = useMemo(() => state.ids[type].indexOf(id), [state.ids, type, id]);\n const tabId = useMemo(() => state.ids.tab[index] || '', [state, index]);\n const tabPanelId = useMemo(() => state.ids.tabPanel[index] || '', [state, index]);\n const isActive = useMemo(() => state.activeTabIndex === index, [state, index]);\n const changeToTab = useCallback(() => dispatch({ type: 'setActiveTabIndex', payload: index }), [dispatch, index]);\n return {\n isLazy: state.isLazy,\n shouldActivateOnFocus: state.shouldActivateOnFocus,\n tabId,\n tabPanelId,\n isActive,\n changeToTab,\n };\n};\n\nexport const useTabProviderContextState = (): State | undefined => {\n const context = useContext(TabProviderContext);\n return context?.[0];\n};\n"],"names":["INIT_STATE","isLazy","shouldActivateOnFocus","activeTabIndex","ids","tab","tabPanel","reducer","state","action","type","payload","id","index","indexOf","tabIds","splice","tabPanelIds","TabProviderContext","createContext","useTabProviderContext","originalId","context","useContext","undefined","dispatch","generatedId","useId","useEffect","useMemo","tabId","tabPanelId","isActive","changeToTab","useCallback","useTabProviderContextState"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Simple ponyfill for Object.fromEntries
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
var fromEntries = function fromEntries(entries) {
|
|
8
|
+
return entries.reduce(function (acc, _ref) {
|
|
9
|
+
var key = _ref[0],
|
|
10
|
+
value = _ref[1];
|
|
11
|
+
acc[key] = value;
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;
|
|
20
|
+
|
|
21
|
+
export { fromEntries, useIsomorphicLayoutEffect };
|
|
22
|
+
//# sourceMappingURL=e142a98d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e142a98d.js","sources":["../../../../node_modules/react-popper/lib/esm/utils.js"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;"],"names":[],"mappings":";;AAoCA;AACA;AACA;AACA;AACU,IAAC,WAAW,GAAG,SAAS,WAAW,CAAC,OAAO,EAAE;AACvD,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE;AAC7C,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACrB,QAAQ,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACrB,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE;AACF;AACA;AACA;AACA;AACU,IAAC,yBAAyB,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add a number of months from a date while resetting the day to prevent month length mismatches.
|
|
3
|
+
*/
|
|
4
|
+
function addMonthResetDay(date, monthOffset) {
|
|
5
|
+
const newDate = new Date(date.getTime());
|
|
6
|
+
newDate.setDate(1);
|
|
7
|
+
newDate.setMonth(date.getMonth() + monthOffset);
|
|
8
|
+
return newDate;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { addMonthResetDay };
|
|
12
|
+
//# sourceMappingURL=e429bd82.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e429bd82.js","sources":["../../src/utils/date/addMonthResetDay.ts"],"sourcesContent":["/**\n * Add a number of months from a date while resetting the day to prevent month length mismatches.\n */\nexport function addMonthResetDay(date: Date, monthOffset: number) {\n const newDate = new Date(date.getTime());\n newDate.setDate(1);\n newDate.setMonth(date.getMonth() + monthOffset);\n return newDate;\n}\n"],"names":["addMonthResetDay","date","monthOffset","newDate","Date","getTime","setDate","setMonth","getMonth"],"mappings":"AAAA;AACA;AACA;AACO,SAASA,gBAAgBA,CAACC,IAAU,EAAEC,WAAmB,EAAE;EAC9D,MAAMC,OAAO,GAAG,IAAIC,IAAI,CAACH,IAAI,CAACI,OAAO,EAAE,CAAC,CAAA;AACxCF,EAAAA,OAAO,CAACG,OAAO,CAAC,CAAC,CAAC,CAAA;EAClBH,OAAO,CAACI,QAAQ,CAACN,IAAI,CAACO,QAAQ,EAAE,GAAGN,WAAW,CAAC,CAAA;AAC/C,EAAA,OAAOC,OAAO,CAAA;AAClB;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
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';
|
|
2
2
|
|
|
3
|
-
export { mdiCheckCircle
|
|
4
|
-
//# sourceMappingURL=
|
|
3
|
+
export { mdiCheckCircle };
|
|
4
|
+
//# sourceMappingURL=e47dacb8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e47dacb8.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;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __module as reactIs } from './3f54fe9e.js';
|
|
2
|
+
import { __require as requireReactIs_production_min } from './eea52073.js';
|
|
3
|
+
import { __require as requireReactIs_development } from './612b7365.js';
|
|
4
|
+
|
|
5
|
+
var hasRequiredReactIs;
|
|
6
|
+
|
|
7
|
+
function requireReactIs () {
|
|
8
|
+
if (hasRequiredReactIs) return reactIs.exports;
|
|
9
|
+
hasRequiredReactIs = 1;
|
|
10
|
+
|
|
11
|
+
if (process.env.NODE_ENV === 'production') {
|
|
12
|
+
reactIs.exports = requireReactIs_production_min();
|
|
13
|
+
} else {
|
|
14
|
+
reactIs.exports = requireReactIs_development();
|
|
15
|
+
}
|
|
16
|
+
return reactIs.exports;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { requireReactIs as __require };
|
|
20
|
+
//# sourceMappingURL=e4a199c0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e4a199c0.js","sources":["../../../../node_modules/react-is/index.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n"],"names":["reactIsModule","require$$0","require$$1"],"mappings":";;;;;;;;;;AAEA,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;GACzCA,OAAA,CAAA,OAAc,GAAGC,6BAA2C,EAAA,CAAA;AAC9D,EAAC,MAAM;GACLD,OAAA,CAAA,OAAc,GAAGE,0BAAwC,EAAA,CAAA;AAC3D,EAAA;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autoplay default interval in ms.
|
|
3
|
+
*/
|
|
4
|
+
const AUTOPLAY_DEFAULT_INTERVAL = 5000;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Full width size in percent.
|
|
8
|
+
*/
|
|
9
|
+
const FULL_WIDTH_PERCENT = 100;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Edge from the active index.
|
|
13
|
+
*/
|
|
14
|
+
const EDGE_FROM_ACTIVE_INDEX = 2;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Max number of pagination items.
|
|
18
|
+
*/
|
|
19
|
+
const PAGINATION_ITEMS_MAX = 5;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Size of a pagination item. Used to translate wrapper.
|
|
23
|
+
*/
|
|
24
|
+
const PAGINATION_ITEM_SIZE = 12;
|
|
25
|
+
|
|
26
|
+
export { AUTOPLAY_DEFAULT_INTERVAL, EDGE_FROM_ACTIVE_INDEX, FULL_WIDTH_PERCENT, PAGINATION_ITEMS_MAX, PAGINATION_ITEM_SIZE };
|
|
27
|
+
//# sourceMappingURL=e50f2a75.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e50f2a75.js","sources":["../../src/components/slideshow/constants.ts"],"sourcesContent":["/**\n * Autoplay default interval in ms.\n */\nexport const AUTOPLAY_DEFAULT_INTERVAL = 5000;\n\n/**\n * Full width size in percent.\n */\nexport const FULL_WIDTH_PERCENT = 100;\n\n/**\n * Edge from the active index.\n */\nexport const EDGE_FROM_ACTIVE_INDEX = 2;\n\n/**\n * Max number of pagination items.\n */\nexport const PAGINATION_ITEMS_MAX = 5;\n\n/**\n * Size of a pagination item. Used to translate wrapper.\n */\nexport const PAGINATION_ITEM_SIZE = 12;\n"],"names":["AUTOPLAY_DEFAULT_INTERVAL","FULL_WIDTH_PERCENT","EDGE_FROM_ACTIVE_INDEX","PAGINATION_ITEMS_MAX","PAGINATION_ITEM_SIZE"],"mappings":"AAAA;AACA;AACA;AACO,MAAMA,yBAAyB,GAAG,KAAI;;AAE7C;AACA;AACA;AACO,MAAMC,kBAAkB,GAAG,IAAG;;AAErC;AACA;AACA;AACO,MAAMC,sBAAsB,GAAG,EAAC;;AAEvC;AACA;AACA;AACO,MAAMC,oBAAoB,GAAG,EAAC;;AAErC;AACA;AACA;AACO,MAAMC,oBAAoB,GAAG;;;;"}
|