@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,133 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { getRootClassName } from '@lumx/core/js/utils/className';
|
|
4
|
+
import { useFocus } from './89ee5eb2.js';
|
|
5
|
+
import { mergeRefs } from './27df0cb6.js';
|
|
6
|
+
import { useTheme } from './d8ee966d.js';
|
|
7
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
8
|
+
import { useDisableStateProps } from './ef982c3d.js';
|
|
9
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
10
|
+
import { TextField } from './41a8b20f.js';
|
|
11
|
+
import { Dropdown } from './2d1acaa0.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Component display name.
|
|
15
|
+
*/
|
|
16
|
+
const COMPONENT_NAME = 'Autocomplete';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Component default class name and class prefix.
|
|
20
|
+
*/
|
|
21
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Component default props.
|
|
25
|
+
*/
|
|
26
|
+
const DEFAULT_PROPS = {
|
|
27
|
+
anchorToInput: false,
|
|
28
|
+
closeOnClick: false,
|
|
29
|
+
closeOnClickAway: true,
|
|
30
|
+
closeOnEscape: true,
|
|
31
|
+
shouldFocusOnClose: false
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Autocomplete component.
|
|
36
|
+
*
|
|
37
|
+
* @param props Component props.
|
|
38
|
+
* @param ref Component ref.
|
|
39
|
+
* @return React element.
|
|
40
|
+
*/
|
|
41
|
+
const Autocomplete = forwardRef((props, ref) => {
|
|
42
|
+
const defaultTheme = useTheme();
|
|
43
|
+
const {
|
|
44
|
+
disabledStateProps,
|
|
45
|
+
otherProps
|
|
46
|
+
} = useDisableStateProps(props);
|
|
47
|
+
const {
|
|
48
|
+
anchorToInput = DEFAULT_PROPS.anchorToInput,
|
|
49
|
+
children,
|
|
50
|
+
chips,
|
|
51
|
+
className,
|
|
52
|
+
closeOnClick = DEFAULT_PROPS.closeOnClick,
|
|
53
|
+
closeOnClickAway = DEFAULT_PROPS.closeOnClickAway,
|
|
54
|
+
closeOnEscape = DEFAULT_PROPS.closeOnEscape,
|
|
55
|
+
error,
|
|
56
|
+
fitToAnchorWidth,
|
|
57
|
+
hasError,
|
|
58
|
+
helper,
|
|
59
|
+
icon,
|
|
60
|
+
inputRef,
|
|
61
|
+
clearButtonProps,
|
|
62
|
+
isRequired,
|
|
63
|
+
isOpen,
|
|
64
|
+
isValid,
|
|
65
|
+
label,
|
|
66
|
+
name,
|
|
67
|
+
offset,
|
|
68
|
+
onBlur,
|
|
69
|
+
onChange,
|
|
70
|
+
onClose,
|
|
71
|
+
onFocus,
|
|
72
|
+
onInfiniteScroll,
|
|
73
|
+
placeholder,
|
|
74
|
+
placement,
|
|
75
|
+
shouldFocusOnClose = DEFAULT_PROPS.shouldFocusOnClose,
|
|
76
|
+
theme = defaultTheme,
|
|
77
|
+
value,
|
|
78
|
+
textFieldProps = {},
|
|
79
|
+
focusAnchorOnClose,
|
|
80
|
+
...forwardedProps
|
|
81
|
+
} = otherProps;
|
|
82
|
+
const inputAnchorRef = useRef(null);
|
|
83
|
+
const textFieldRef = useRef(null);
|
|
84
|
+
useFocus(inputAnchorRef.current, !isOpen && shouldFocusOnClose);
|
|
85
|
+
return /*#__PURE__*/jsxs("div", {
|
|
86
|
+
ref: ref,
|
|
87
|
+
...forwardedProps,
|
|
88
|
+
className: classNames(className, CLASSNAME),
|
|
89
|
+
children: [/*#__PURE__*/jsx(TextField, {
|
|
90
|
+
...textFieldProps,
|
|
91
|
+
chips: chips,
|
|
92
|
+
error: error,
|
|
93
|
+
hasError: hasError,
|
|
94
|
+
helper: helper,
|
|
95
|
+
icon: icon,
|
|
96
|
+
inputRef: mergeRefs(inputAnchorRef, inputRef),
|
|
97
|
+
clearButtonProps: clearButtonProps,
|
|
98
|
+
...disabledStateProps,
|
|
99
|
+
isRequired: isRequired,
|
|
100
|
+
isValid: isValid,
|
|
101
|
+
label: label,
|
|
102
|
+
name: name,
|
|
103
|
+
onBlur: onBlur,
|
|
104
|
+
onChange: onChange,
|
|
105
|
+
onFocus: onFocus,
|
|
106
|
+
placeholder: placeholder,
|
|
107
|
+
textFieldRef: textFieldRef,
|
|
108
|
+
theme: theme,
|
|
109
|
+
value: value
|
|
110
|
+
}), /*#__PURE__*/jsx(Dropdown, {
|
|
111
|
+
anchorRef: anchorToInput ? inputAnchorRef : textFieldRef,
|
|
112
|
+
closeOnClick: closeOnClick,
|
|
113
|
+
closeOnClickAway: closeOnClickAway,
|
|
114
|
+
closeOnEscape: closeOnEscape,
|
|
115
|
+
focusAnchorOnClose: focusAnchorOnClose,
|
|
116
|
+
fitToAnchorWidth: fitToAnchorWidth,
|
|
117
|
+
isOpen: isOpen,
|
|
118
|
+
offset: offset,
|
|
119
|
+
onClose: onClose,
|
|
120
|
+
onInfiniteScroll: onInfiniteScroll,
|
|
121
|
+
placement: placement,
|
|
122
|
+
shouldFocusOnOpen: false,
|
|
123
|
+
theme: theme,
|
|
124
|
+
children: children
|
|
125
|
+
})]
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
Autocomplete.displayName = COMPONENT_NAME;
|
|
129
|
+
Autocomplete.className = CLASSNAME;
|
|
130
|
+
Autocomplete.defaultProps = DEFAULT_PROPS;
|
|
131
|
+
|
|
132
|
+
export { Autocomplete };
|
|
133
|
+
//# sourceMappingURL=24b48881.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"24b48881.js","sources":["../../src/components/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { ReactNode, SyntheticEvent, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Dropdown, DropdownProps, IconButtonProps, Offset, Placement, TextField, TextFieldProps } from '@lumx/react';\n\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { useFocus } from '@lumx/react/hooks/useFocus';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\n\n/**\n * Defines the props of the component.\n */\nexport interface AutocompleteProps extends GenericProps, HasTheme {\n /**\n * Whether the suggestions list should display anchored to the input or to the wrapper.\n * @see {@link DropdownProps#anchorToInput}\n */\n anchorToInput?: boolean;\n /**\n * Props to pass to the clear button (minus those already set by the TextField props).\n * If not specified, the button won't be displayed.\n * @see {@link TextFieldProps#clearButtonProps}\n */\n clearButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /**\n * Reference to the <input> or <textarea> element.\n * @see {@link TextFieldProps#inputRef}\n */\n inputRef?: TextFieldProps['inputRef'];\n /**\n * The offset that will be applied to the Dropdown position.\n * @see {@link DropdownProps#offset}\n */\n offset?: Offset;\n /**\n * The preferred Dropdown location against the anchor element.\n * @see {@link DropdownProps#placement}\n */\n placement?: Placement;\n /**\n * Manage dropdown width:\n * - `maxWidth`: dropdown not bigger than anchor\n * - `minWidth` or `true`: dropdown not smaller than anchor\n * - `width`: dropdown equal to the anchor.\n * @see {@link DropdownProps#fitToAnchorWidth}\n */\n fitToAnchorWidth?: DropdownProps['fitToAnchorWidth'];\n /**\n * The error related to the component.\n * @see {@link TextFieldProps#error}\n */\n error?: string | ReactNode;\n /**\n * Whether the text field is displayed with error style or not.\n * @see {@link TextFieldProps#hasError}\n */\n hasError?: boolean;\n /**\n * Whether the text box should be focused upon closing the suggestions or not.\n */\n shouldFocusOnClose?: boolean;\n /**\n * The helper message of the text field.\n * @see {@link TextFieldProps#helper}\n */\n helper?: string;\n /**\n * The icon of the text field (SVG path).\n * @see {@link TextFieldProps#icon}\n */\n icon?: string;\n /**\n * Whether the component is disabled or not.\n * @see {@link TextFieldProps#isDisabled}\n */\n isDisabled?: boolean;\n /**\n * Whether the component is required or not.\n * @see {@link TextFieldProps#isRequired}\n */\n isRequired?: boolean;\n /**\n * Whether the text field is displayed with valid style or not.\n * @see {@link TextFieldProps#isValid}\n */\n isValid?: boolean;\n /**\n * The label of the text field displayed in a label tag.\n * @see {@link TextFieldProps#label}\n */\n label?: string;\n /**\n * The placeholder message of the text field.\n * @see {@link TextFieldProps#placeholder}\n */\n placeholder?: string;\n /** List of suggestions to display during autocomplete. */\n children: React.ReactNode;\n /**\n * The list of chips to be displayed before the text field input.\n */\n chips?: React.ReactNode;\n /**\n * The value of the text field.\n * @see {@link TextFieldProps#value}\n */\n value: string;\n /**\n * Whether the suggestions from the autocomplete should be displayed or not.\n * @see {@link DropdownProps#isOpen}\n */\n isOpen: boolean;\n /**\n * The native input name property.\n * @see {@link TextFieldProps#name}\n */\n name?: string;\n /**\n * Whether a click in the Autocomplete dropdown would close it or not.\n * @see {@link DropdownProps#closeOnClick}\n */\n closeOnClick?: boolean;\n /**\n * Whether a click anywhere out of the Autocomplete would close it or not.\n * @see {@link DropdownProps#closeOnClickAway}\n */\n closeOnClickAway?: boolean;\n /**\n * Whether an escape key press would close the Autocomplete or not.\n * @see {@link DropdownProps#closeOnEscape}\n */\n closeOnEscape?: boolean;\n /**\n * Whether the focus should go back on the anchor when dropdown closes and focus is within.\n * @see {@link DropdownProps#focusAnchorOnClose}\n */\n focusAnchorOnClose?: DropdownProps['focusAnchorOnClose'];\n /**\n * The function called on blur.\n * @see {@link TextFieldProps#onBlur}\n */\n onBlur?(event: React.FocusEvent): void;\n /**\n * On change callback.\n * @see {@link TextFieldProps#onChange}\n */\n onChange(value: string, name?: string, event?: SyntheticEvent): void;\n /**\n * The function called on close.\n * @see {@link DropdownProps#onClose}\n */\n onClose?(): void;\n /**\n * The function called on focus.\n * @see {@link TextFieldProps#onFocus}\n */\n onFocus?(event: React.FocusEvent): void;\n /**\n * The function called when the bottom of the dropdown is reached.\n * @see {@link DropdownProps#onInfiniteScroll}\n */\n onInfiniteScroll?(): void;\n /**\n * Props forwarded to the underlying TextField component.\n * Only the props not managed by the Autocomplete can be set.\n * @see {@link TextFieldProps}\n */\n textFieldProps?: Partial<TextFieldProps>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Autocomplete';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<AutocompleteProps> = {\n anchorToInput: false,\n closeOnClick: false,\n closeOnClickAway: true,\n closeOnEscape: true,\n shouldFocusOnClose: false,\n};\n\n/**\n * Autocomplete component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Autocomplete = forwardRef<AutocompleteProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme();\n const { disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n anchorToInput = DEFAULT_PROPS.anchorToInput,\n children,\n chips,\n className,\n closeOnClick = DEFAULT_PROPS.closeOnClick,\n closeOnClickAway = DEFAULT_PROPS.closeOnClickAway,\n closeOnEscape = DEFAULT_PROPS.closeOnEscape,\n error,\n fitToAnchorWidth,\n hasError,\n helper,\n icon,\n inputRef,\n clearButtonProps,\n isRequired,\n isOpen,\n isValid,\n label,\n name,\n offset,\n onBlur,\n onChange,\n onClose,\n onFocus,\n onInfiniteScroll,\n placeholder,\n placement,\n shouldFocusOnClose = DEFAULT_PROPS.shouldFocusOnClose,\n theme = defaultTheme,\n value,\n textFieldProps = {},\n focusAnchorOnClose,\n ...forwardedProps\n } = otherProps;\n const inputAnchorRef = useRef<HTMLElement>(null);\n const textFieldRef = useRef(null);\n useFocus(inputAnchorRef.current, !isOpen && shouldFocusOnClose);\n\n return (\n <div ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n <TextField\n {...textFieldProps}\n chips={chips}\n error={error}\n hasError={hasError}\n helper={helper}\n icon={icon}\n inputRef={mergeRefs(inputAnchorRef as React.RefObject<HTMLInputElement>, inputRef)}\n clearButtonProps={clearButtonProps}\n {...disabledStateProps}\n isRequired={isRequired}\n isValid={isValid}\n label={label}\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n placeholder={placeholder}\n textFieldRef={textFieldRef}\n theme={theme}\n value={value}\n />\n <Dropdown\n anchorRef={anchorToInput ? inputAnchorRef : textFieldRef}\n closeOnClick={closeOnClick}\n closeOnClickAway={closeOnClickAway}\n closeOnEscape={closeOnEscape}\n focusAnchorOnClose={focusAnchorOnClose}\n fitToAnchorWidth={fitToAnchorWidth}\n isOpen={isOpen}\n offset={offset}\n onClose={onClose}\n onInfiniteScroll={onInfiniteScroll}\n placement={placement}\n shouldFocusOnOpen={false}\n theme={theme}\n >\n {children}\n </Dropdown>\n </div>\n );\n});\nAutocomplete.displayName = COMPONENT_NAME;\nAutocomplete.className = CLASSNAME;\nAutocomplete.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","anchorToInput","closeOnClick","closeOnClickAway","closeOnEscape","shouldFocusOnClose","Autocomplete","forwardRef","props","ref","defaultTheme","useTheme","disabledStateProps","otherProps","useDisableStateProps","children","chips","className","error","fitToAnchorWidth","hasError","helper","icon","inputRef","clearButtonProps","isRequired","isOpen","isValid","label","name","offset","onBlur","onChange","onClose","onFocus","onInfiniteScroll","placeholder","placement","theme","value","textFieldProps","focusAnchorOnClose","forwardedProps","inputAnchorRef","useRef","textFieldRef","useFocus","current","_jsxs","classNames","_jsx","TextField","mergeRefs","Dropdown","anchorRef","shouldFocusOnOpen","displayName","defaultProps"],"mappings":";;;;;;;;;;;;AAiLA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,cAAc,CAAA;;AAErC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAyC,GAAG;AAC9CC,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,YAAY,EAAE,KAAK;AACnBC,EAAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,kBAAkB,EAAE,KAAA;AACxB,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,GAAGC,UAAU,CAAoC,CAACC,KAAK,EAAEC,GAAG,KAAK;AACtF,EAAA,MAAMC,YAAY,GAAGC,QAAQ,EAAE,CAAA;EAC/B,MAAM;IAAEC,kBAAkB;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,oBAAoB,CAACN,KAAK,CAAC,CAAA;EACtE,MAAM;IACFP,aAAa,GAAGD,aAAa,CAACC,aAAa;IAC3Cc,QAAQ;IACRC,KAAK;IACLC,SAAS;IACTf,YAAY,GAAGF,aAAa,CAACE,YAAY;IACzCC,gBAAgB,GAAGH,aAAa,CAACG,gBAAgB;IACjDC,aAAa,GAAGJ,aAAa,CAACI,aAAa;IAC3Cc,KAAK;IACLC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,IAAI;IACJC,QAAQ;IACRC,gBAAgB;IAChBC,UAAU;IACVC,MAAM;IACNC,OAAO;IACPC,KAAK;IACLC,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,QAAQ;IACRC,OAAO;IACPC,OAAO;IACPC,gBAAgB;IAChBC,WAAW;IACXC,SAAS;IACThC,kBAAkB,GAAGL,aAAa,CAACK,kBAAkB;AACrDiC,IAAAA,KAAK,GAAG5B,YAAY;IACpB6B,KAAK;IACLC,cAAc,GAAG,EAAE;IACnBC,kBAAkB;IAClB,GAAGC,cAAAA;AACP,GAAC,GAAG7B,UAAU,CAAA;AACd,EAAA,MAAM8B,cAAc,GAAGC,MAAM,CAAc,IAAI,CAAC,CAAA;AAChD,EAAA,MAAMC,YAAY,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAA;EACjCE,QAAQ,CAACH,cAAc,CAACI,OAAO,EAAE,CAACrB,MAAM,IAAIrB,kBAAkB,CAAC,CAAA;AAE/D,EAAA,oBACI2C,IAAA,CAAA,KAAA,EAAA;AAAKvC,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GAAKiC,cAAc;AAAEzB,IAAAA,SAAS,EAAEgC,UAAU,CAAChC,SAAS,EAAEnB,SAAS,CAAE;IAAAiB,QAAA,EAAA,cAC3EmC,GAAA,CAACC,SAAS,EAAA;AAAA,MAAA,GACFX,cAAc;AAClBxB,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,MAAM,EAAEA,MAAO;AACfC,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,QAAQ,EAAE6B,SAAS,CAACT,cAAc,EAAuCpB,QAAQ,CAAE;AACnFC,MAAAA,gBAAgB,EAAEA,gBAAiB;AAAA,MAAA,GAC/BZ,kBAAkB;AACtBa,MAAAA,UAAU,EAAEA,UAAW;AACvBE,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,MAAM,EAAEA,MAAO;AACfC,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,OAAO,EAAEA,OAAQ;AACjBE,MAAAA,WAAW,EAAEA,WAAY;AACzBS,MAAAA,YAAY,EAAEA,YAAa;AAC3BP,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAChB,CAAC,eACFW,GAAA,CAACG,QAAQ,EAAA;AACLC,MAAAA,SAAS,EAAErD,aAAa,GAAG0C,cAAc,GAAGE,YAAa;AACzD3C,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,aAAa,EAAEA,aAAc;AAC7BqC,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvCtB,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCO,MAAAA,MAAM,EAAEA,MAAO;AACfI,MAAAA,MAAM,EAAEA,MAAO;AACfG,MAAAA,OAAO,EAAEA,OAAQ;AACjBE,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCE,MAAAA,SAAS,EAAEA,SAAU;AACrBkB,MAAAA,iBAAiB,EAAE,KAAM;AACzBjB,MAAAA,KAAK,EAAEA,KAAM;AAAAvB,MAAAA,QAAA,EAEZA,QAAAA;AAAQ,KACH,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAEd,CAAC,EAAC;AACFT,YAAY,CAACkD,WAAW,GAAG3D,cAAc,CAAA;AACzCS,YAAY,CAACW,SAAS,GAAGnB,SAAS,CAAA;AAClCQ,YAAY,CAACmD,YAAY,GAAGzD,aAAa;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { isDateValid } from './658e09de.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Check `date1` is on the same day as `date2`.
|
|
5
|
+
*/
|
|
6
|
+
const isSameDay = (date1, date2) => isDateValid(date1) && isDateValid(date2) && date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
|
|
7
|
+
|
|
8
|
+
export { isSameDay };
|
|
9
|
+
//# sourceMappingURL=2517d1d6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2517d1d6.js","sources":["../../src/utils/date/isSameDay.ts"],"sourcesContent":["import { isDateValid } from '@lumx/react/utils/date/isDateValid';\n\n/**\n * Check `date1` is on the same day as `date2`.\n */\nexport const isSameDay = (date1: Date, date2: Date) =>\n isDateValid(date1) &&\n isDateValid(date2) &&\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate();\n"],"names":["isSameDay","date1","date2","isDateValid","getFullYear","getMonth","getDate"],"mappings":";;AAEA;AACA;AACA;AACO,MAAMA,SAAS,GAAGA,CAACC,KAAW,EAAEC,KAAW,KAC9CC,WAAW,CAACF,KAAK,CAAC,IAClBE,WAAW,CAACD,KAAK,CAAC,IAClBD,KAAK,CAACG,WAAW,EAAE,KAAKF,KAAK,CAACE,WAAW,EAAE,IAC3CH,KAAK,CAACI,QAAQ,EAAE,KAAKH,KAAK,CAACG,QAAQ,EAAE,IACrCJ,KAAK,CAACK,OAAO,EAAE,KAAKJ,KAAK,CAACI,OAAO;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"256f8eff.js","sources":["../../../lumx-icons/dist/esm/chevron-down.js"],"sourcesContent":["export const mdiChevronDown = 'M7.41 8.58 12 13.17l4.59-4.59L18 10l-6 6-6-6z';"],"names":["mdiChevronDown"],"mappings":"AAAO,MAAMA,cAAc,GAAG;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import { getRootClassName, getTypographyClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
4
|
+
import { useTheme } from './d8ee966d.js';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
import { Theme } from '@lumx/core/js/constants';
|
|
7
7
|
|
|
@@ -57,4 +57,4 @@ InputLabel.className = CLASSNAME;
|
|
|
57
57
|
InputLabel.defaultProps = DEFAULT_PROPS;
|
|
58
58
|
|
|
59
59
|
export { InputLabel };
|
|
60
|
-
//# sourceMappingURL=
|
|
60
|
+
//# sourceMappingURL=26a92990.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"26a92990.js","sources":["../../src/components/input-label/InputLabel.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Theme, Typography } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses, getTypographyClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\n/**\n * Defines the props of the component.\n */\nexport interface InputLabelProps extends GenericProps, HasTheme {\n /** Typography variant. */\n typography?: Typography;\n /** Label content. */\n children: string | ReactNode;\n /** Native htmlFor property. */\n htmlFor: string;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'InputLabel';\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<InputLabelProps> = {};\n\n/**\n * InputLabel component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const InputLabel = forwardRef<InputLabelProps, HTMLLabelElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { children, className, htmlFor, isRequired, theme = defaultTheme, typography, ...forwardedProps } = props;\n const typographyClass = typography && getTypographyClassName(typography);\n\n return (\n <label\n ref={ref}\n {...forwardedProps}\n htmlFor={htmlFor}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, isRequired, theme, hasCustomTypography: Boolean(typography) }),\n typographyClass,\n )}\n >\n {children}\n </label>\n );\n});\nInputLabel.displayName = COMPONENT_NAME;\nInputLabel.className = CLASSNAME;\nInputLabel.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","InputLabel","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","children","className","htmlFor","isRequired","theme","typography","forwardedProps","typographyClass","getTypographyClassName","_jsx","classNames","handleBasicClasses","prefix","hasCustomTypography","Boolean","displayName","defaultProps"],"mappings":";;;;;;;AAwBA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,YAAY,CAAA;;AAEnC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAuC,GAAG,EAAE,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,UAAU,GAAGC,UAAU,CAAoC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACpF,MAAMC,YAAY,GAAGC,QAAQ,EAAE,IAAIC,KAAK,CAACC,KAAK,CAAA;EAC9C,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,OAAO;IAAEC,UAAU;AAAEC,IAAAA,KAAK,GAAGR,YAAY;IAAES,UAAU;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGZ,KAAK,CAAA;AAC/G,EAAA,MAAMa,eAAe,GAAGF,UAAU,IAAIG,sBAAsB,CAACH,UAAU,CAAC,CAAA;AAExE,EAAA,oBACII,GAAA,CAAA,OAAA,EAAA;AACId,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLW,cAAc;AAClBJ,IAAAA,OAAO,EAAEA,OAAQ;AACjBD,IAAAA,SAAS,EAAES,UAAU,CACjBT,SAAS,EACTU,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEvB,SAAS;MAAEc,UAAU;MAAEC,KAAK;MAAES,mBAAmB,EAAEC,OAAO,CAACT,UAAU,CAAA;KAAG,CAAC,EACtGE,eACJ,CAAE;AAAAP,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACN,CAAC,CAAA;AAEhB,CAAC,EAAC;AACFR,UAAU,CAACuB,WAAW,GAAG3B,cAAc,CAAA;AACvCI,UAAU,CAACS,SAAS,GAAGZ,SAAS,CAAA;AAChCG,UAAU,CAACwB,YAAY,GAAGzB,aAAa;;;;"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { getMonthCalendar } from './2c5a950d.js';
|
|
4
|
+
import { isSameDay } from './2517d1d6.js';
|
|
5
|
+
import { getCurrentLocale } from './14390eeb.js';
|
|
6
|
+
import { parseLocale } from './7eca7fcd.js';
|
|
7
|
+
import { usePreviousValue } from './6f3bb7d6.js';
|
|
8
|
+
import { getYearDisplayName } from './ed03c692.js';
|
|
9
|
+
import { onEnterPressed } from '@lumx/core/js/utils';
|
|
10
|
+
import { addMonthResetDay } from './e429bd82.js';
|
|
11
|
+
import { formatDayNumber } from './db88500d.js';
|
|
12
|
+
import { VISUALLY_HIDDEN } from './6af61e2f.js';
|
|
13
|
+
import { forwardRef } from './bd8b3ec8.js';
|
|
14
|
+
import { CLASSNAME } from './f8c49b24.js';
|
|
15
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
16
|
+
import { IconButton } from './5a0207d9.js';
|
|
17
|
+
import { mdiChevronRight } from './aeba575c.js';
|
|
18
|
+
import { mdiChevronLeft } from './e9c3b1e0.js';
|
|
19
|
+
import { FlexBox } from './fdebc718.js';
|
|
20
|
+
import { Toolbar } from './a1974f13.js';
|
|
21
|
+
import { Emphasis } from '@lumx/core/js/constants';
|
|
22
|
+
import { TextField } from './41a8b20f.js';
|
|
23
|
+
import { Text } from './203b01d8.js';
|
|
24
|
+
import { Button } from './0d7cc1e0.js';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Component display name.
|
|
28
|
+
*/
|
|
29
|
+
const COMPONENT_NAME = 'DatePickerControlled';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* DatePickerControlled component.
|
|
33
|
+
*
|
|
34
|
+
* @param props Component props.
|
|
35
|
+
* @param ref Component ref.
|
|
36
|
+
* @return React element.
|
|
37
|
+
*/
|
|
38
|
+
const DatePickerControlled = forwardRef((props, ref) => {
|
|
39
|
+
const {
|
|
40
|
+
locale = getCurrentLocale(),
|
|
41
|
+
maxDate,
|
|
42
|
+
minDate,
|
|
43
|
+
nextButtonProps,
|
|
44
|
+
onChange,
|
|
45
|
+
onNextMonthChange,
|
|
46
|
+
onPrevMonthChange,
|
|
47
|
+
previousButtonProps,
|
|
48
|
+
selectedMonth,
|
|
49
|
+
todayOrSelectedDateRef,
|
|
50
|
+
value,
|
|
51
|
+
onMonthChange,
|
|
52
|
+
style
|
|
53
|
+
} = props;
|
|
54
|
+
const {
|
|
55
|
+
weeks,
|
|
56
|
+
weekDays
|
|
57
|
+
} = React__default.useMemo(() => {
|
|
58
|
+
const localeObj = parseLocale(locale);
|
|
59
|
+
return getMonthCalendar(localeObj, selectedMonth, minDate, maxDate);
|
|
60
|
+
}, [locale, minDate, maxDate, selectedMonth]);
|
|
61
|
+
const selectedYear = selectedMonth.getFullYear();
|
|
62
|
+
const formattedYear = selectedMonth.toLocaleDateString(locale, {
|
|
63
|
+
year: 'numeric'
|
|
64
|
+
}).slice(0, 4);
|
|
65
|
+
const [currentYear, setCurrentYear] = React__default.useState(String(selectedYear));
|
|
66
|
+
|
|
67
|
+
// Updates month offset when validating year. Adds or removes 12 months per year when updating year value.
|
|
68
|
+
const updateMonthOffset = React__default.useCallback(newYearValue => {
|
|
69
|
+
const yearNumber = Number(newYearValue);
|
|
70
|
+
if (yearNumber < 0 && yearNumber >= 9999) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const previousYearNumber = selectedMonth.getFullYear();
|
|
74
|
+
const offset = (yearNumber - previousYearNumber) * 12;
|
|
75
|
+
onMonthChange?.(addMonthResetDay(selectedMonth, offset));
|
|
76
|
+
}, [selectedMonth, onMonthChange]);
|
|
77
|
+
const onYearChange = React__default.useCallback((newYearValue, _, event) => {
|
|
78
|
+
setCurrentYear(newYearValue);
|
|
79
|
+
|
|
80
|
+
// Detect if change is coming from the spin up/down arrows
|
|
81
|
+
const inputType = event?.nativeEvent?.inputType;
|
|
82
|
+
if (
|
|
83
|
+
// Chrome/Safari
|
|
84
|
+
!inputType ||
|
|
85
|
+
// Firefox
|
|
86
|
+
inputType === 'insertReplacementText') {
|
|
87
|
+
updateMonthOffset(newYearValue);
|
|
88
|
+
}
|
|
89
|
+
}, [updateMonthOffset]);
|
|
90
|
+
const updateYear = React__default.useCallback(() => {
|
|
91
|
+
updateMonthOffset(currentYear);
|
|
92
|
+
}, [updateMonthOffset, currentYear]);
|
|
93
|
+
const updateYearOnEnterPressed = React__default.useMemo(() => onEnterPressed(updateYear), [updateYear]);
|
|
94
|
+
const monthYear = selectedMonth.toLocaleDateString(locale, {
|
|
95
|
+
year: 'numeric',
|
|
96
|
+
month: 'long'
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
// Update current year when selected year changes
|
|
100
|
+
React__default.useEffect(() => {
|
|
101
|
+
setCurrentYear(String(selectedYear));
|
|
102
|
+
}, [selectedYear]);
|
|
103
|
+
const prevSelectedMonth = usePreviousValue(selectedMonth);
|
|
104
|
+
const monthHasChanged = prevSelectedMonth && !isSameDay(selectedMonth, prevSelectedMonth);
|
|
105
|
+
|
|
106
|
+
// Only set the aria-live after the month has changed otherwise it can get announced on mount when used in the popover dialog
|
|
107
|
+
const [labelAriaLive, setLabelAriaLive] = React__default.useState();
|
|
108
|
+
React__default.useEffect(() => {
|
|
109
|
+
if (monthHasChanged) setLabelAriaLive('polite');
|
|
110
|
+
}, [monthHasChanged]);
|
|
111
|
+
const yearLabel = getYearDisplayName(locale);
|
|
112
|
+
return /*#__PURE__*/jsxs("div", {
|
|
113
|
+
ref: ref,
|
|
114
|
+
className: `${CLASSNAME}`,
|
|
115
|
+
style: style,
|
|
116
|
+
children: [/*#__PURE__*/jsx(Toolbar, {
|
|
117
|
+
className: `${CLASSNAME}__toolbar`,
|
|
118
|
+
after: /*#__PURE__*/jsx(IconButton, {
|
|
119
|
+
...nextButtonProps,
|
|
120
|
+
emphasis: Emphasis.low,
|
|
121
|
+
icon: mdiChevronRight,
|
|
122
|
+
onClick: onNextMonthChange
|
|
123
|
+
}),
|
|
124
|
+
before: /*#__PURE__*/jsx(IconButton, {
|
|
125
|
+
...previousButtonProps,
|
|
126
|
+
emphasis: Emphasis.low,
|
|
127
|
+
icon: mdiChevronLeft,
|
|
128
|
+
onClick: onPrevMonthChange
|
|
129
|
+
}),
|
|
130
|
+
label: /*#__PURE__*/jsxs(Fragment, {
|
|
131
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
132
|
+
"aria-live": labelAriaLive,
|
|
133
|
+
className: onMonthChange ? VISUALLY_HIDDEN : '',
|
|
134
|
+
dir: "auto",
|
|
135
|
+
children: monthYear
|
|
136
|
+
}), onMonthChange && /*#__PURE__*/jsx(FlexBox, {
|
|
137
|
+
className: `${CLASSNAME}__month`,
|
|
138
|
+
orientation: "horizontal",
|
|
139
|
+
hAlign: "center",
|
|
140
|
+
gap: "regular",
|
|
141
|
+
vAlign: "center",
|
|
142
|
+
dir: "auto",
|
|
143
|
+
children: RegExp(`(.*)(${formattedYear})(.*)`).exec(monthYear)?.slice(1).filter(part => part !== '').map(part => part === formattedYear ? /*#__PURE__*/jsx(TextField, {
|
|
144
|
+
value: currentYear,
|
|
145
|
+
"aria-label": yearLabel,
|
|
146
|
+
onChange: onYearChange,
|
|
147
|
+
type: "number",
|
|
148
|
+
max: 9999,
|
|
149
|
+
min: 0,
|
|
150
|
+
onBlur: updateYear,
|
|
151
|
+
onKeyPress: updateYearOnEnterPressed,
|
|
152
|
+
className: `${CLASSNAME}__year`
|
|
153
|
+
}, "year") : /*#__PURE__*/jsx(Text, {
|
|
154
|
+
as: "p",
|
|
155
|
+
children: part
|
|
156
|
+
}, part))
|
|
157
|
+
})]
|
|
158
|
+
})
|
|
159
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
160
|
+
className: `${CLASSNAME}__calendar`,
|
|
161
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
162
|
+
className: `${CLASSNAME}__week-days ${CLASSNAME}__days-wrapper`,
|
|
163
|
+
children: weekDays.map(({
|
|
164
|
+
letter,
|
|
165
|
+
number,
|
|
166
|
+
long
|
|
167
|
+
}) => /*#__PURE__*/jsxs("div", {
|
|
168
|
+
className: `${CLASSNAME}__day-wrapper`,
|
|
169
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
170
|
+
className: `${CLASSNAME}__week-day`,
|
|
171
|
+
"aria-hidden": true,
|
|
172
|
+
children: letter.toLocaleUpperCase()
|
|
173
|
+
}), /*#__PURE__*/jsx("span", {
|
|
174
|
+
className: "visually-hidden",
|
|
175
|
+
children: long
|
|
176
|
+
})]
|
|
177
|
+
}, number))
|
|
178
|
+
}), /*#__PURE__*/jsx("div", {
|
|
179
|
+
className: `${CLASSNAME}__month-days ${CLASSNAME}__days-wrapper`,
|
|
180
|
+
children: weeks.flatMap((week, weekIndex) => {
|
|
181
|
+
return weekDays.map((weekDay, dayIndex) => {
|
|
182
|
+
const {
|
|
183
|
+
date,
|
|
184
|
+
isOutOfRange
|
|
185
|
+
} = week[weekDay.number] || {};
|
|
186
|
+
const key = `${weekIndex}-${dayIndex}`;
|
|
187
|
+
const isToday = !isOutOfRange && date && isSameDay(date, new Date());
|
|
188
|
+
const isSelected = date && value && isSameDay(value, date);
|
|
189
|
+
return /*#__PURE__*/jsx("div", {
|
|
190
|
+
className: `${CLASSNAME}__day-wrapper`,
|
|
191
|
+
children: date && /*#__PURE__*/jsxs(Button, {
|
|
192
|
+
ref: isSelected || !value && isToday ? todayOrSelectedDateRef : null,
|
|
193
|
+
className: classNames(`${CLASSNAME}__month-day`, {
|
|
194
|
+
[`${CLASSNAME}__month-day--is-today`]: isToday
|
|
195
|
+
}),
|
|
196
|
+
disabled: isOutOfRange,
|
|
197
|
+
isSelected: isSelected,
|
|
198
|
+
emphasis: "low",
|
|
199
|
+
onClick: () => onChange(date),
|
|
200
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
201
|
+
"aria-hidden": true,
|
|
202
|
+
children: formatDayNumber(locale, date)
|
|
203
|
+
}), /*#__PURE__*/jsx("span", {
|
|
204
|
+
className: VISUALLY_HIDDEN,
|
|
205
|
+
children: date.toLocaleDateString(locale, {
|
|
206
|
+
day: 'numeric',
|
|
207
|
+
month: 'long',
|
|
208
|
+
year: 'numeric'
|
|
209
|
+
})
|
|
210
|
+
})]
|
|
211
|
+
})
|
|
212
|
+
}, key);
|
|
213
|
+
});
|
|
214
|
+
})
|
|
215
|
+
})]
|
|
216
|
+
})]
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
DatePickerControlled.displayName = COMPONENT_NAME;
|
|
220
|
+
DatePickerControlled.className = CLASSNAME;
|
|
221
|
+
|
|
222
|
+
export { DatePickerControlled };
|
|
223
|
+
//# sourceMappingURL=27a93417.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"27a93417.js","sources":["../../src/components/date-picker/DatePickerControlled.tsx"],"sourcesContent":["import React, { KeyboardEventHandler } from 'react';\n\nimport classNames from 'classnames';\n\nimport {\n Button,\n DatePickerProps,\n Emphasis,\n FlexBox,\n IconButton,\n Text,\n TextField,\n TextFieldProps,\n Toolbar,\n} from '@lumx/react';\nimport { mdiChevronLeft, mdiChevronRight } from '@lumx/icons';\nimport { getMonthCalendar } from '@lumx/react/utils/date/getMonthCalendar';\nimport { isSameDay } from '@lumx/react/utils/date/isSameDay';\nimport { getCurrentLocale } from '@lumx/react/utils/locale/getCurrentLocale';\nimport { parseLocale } from '@lumx/react/utils/locale/parseLocale';\nimport { Locale } from '@lumx/react/utils/locale/types';\nimport { usePreviousValue } from '@lumx/react/hooks/usePreviousValue';\nimport { getYearDisplayName } from '@lumx/react/utils/date/getYearDisplayName';\nimport { onEnterPressed } from '@lumx/core/js/utils';\nimport { addMonthResetDay } from '@lumx/react/utils/date/addMonthResetDay';\nimport { formatDayNumber } from '@lumx/react/utils/date/formatDayNumber';\nimport { VISUALLY_HIDDEN } from '@lumx/react/constants';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { CLASSNAME } from './constants';\n\n/**\n * Defines the props of the component.\n */\nexport interface DatePickerControlledProps extends DatePickerProps {\n /** Selected month to display. */\n selectedMonth: Date;\n /** On previous month change callback. */\n onPrevMonthChange(): void;\n /** On next month change callback. */\n onNextMonthChange(): void;\n /** On month/year change callback. */\n onMonthChange?: (newMonth: Date) => void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'DatePickerControlled';\n\n/**\n * DatePickerControlled component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const DatePickerControlled = forwardRef<DatePickerControlledProps, HTMLDivElement>((props, ref) => {\n const {\n locale = getCurrentLocale(),\n maxDate,\n minDate,\n nextButtonProps,\n onChange,\n onNextMonthChange,\n onPrevMonthChange,\n previousButtonProps,\n selectedMonth,\n todayOrSelectedDateRef,\n value,\n onMonthChange,\n style,\n } = props;\n const { weeks, weekDays } = React.useMemo(() => {\n const localeObj = parseLocale(locale) as Locale;\n return getMonthCalendar(localeObj, selectedMonth, minDate, maxDate);\n }, [locale, minDate, maxDate, selectedMonth]);\n\n const selectedYear = selectedMonth.getFullYear();\n const formattedYear = selectedMonth.toLocaleDateString(locale, { year: 'numeric' }).slice(0, 4);\n const [currentYear, setCurrentYear] = React.useState(String(selectedYear));\n\n // Updates month offset when validating year. Adds or removes 12 months per year when updating year value.\n const updateMonthOffset = React.useCallback(\n (newYearValue: string) => {\n const yearNumber = Number(newYearValue);\n if (yearNumber < 0 && yearNumber >= 9999) {\n return;\n }\n\n const previousYearNumber = selectedMonth.getFullYear();\n const offset = (yearNumber - previousYearNumber) * 12;\n onMonthChange?.(addMonthResetDay(selectedMonth, offset));\n },\n [selectedMonth, onMonthChange],\n );\n\n const onYearChange = React.useCallback<TextFieldProps['onChange']>(\n (newYearValue, _, event) => {\n setCurrentYear(newYearValue);\n\n // Detect if change is coming from the spin up/down arrows\n const inputType = (event?.nativeEvent as any)?.inputType;\n if (\n // Chrome/Safari\n !inputType ||\n // Firefox\n inputType === 'insertReplacementText'\n ) {\n updateMonthOffset(newYearValue);\n }\n },\n [updateMonthOffset],\n );\n\n const updateYear = React.useCallback(() => {\n updateMonthOffset(currentYear);\n }, [updateMonthOffset, currentYear]);\n\n const updateYearOnEnterPressed: KeyboardEventHandler = React.useMemo(\n () => onEnterPressed(updateYear),\n [updateYear],\n );\n\n const monthYear = selectedMonth.toLocaleDateString(locale, { year: 'numeric', month: 'long' });\n\n // Update current year when selected year changes\n React.useEffect(() => {\n setCurrentYear(String(selectedYear));\n }, [selectedYear]);\n\n const prevSelectedMonth = usePreviousValue(selectedMonth);\n const monthHasChanged = prevSelectedMonth && !isSameDay(selectedMonth, prevSelectedMonth);\n\n // Only set the aria-live after the month has changed otherwise it can get announced on mount when used in the popover dialog\n const [labelAriaLive, setLabelAriaLive] = React.useState<'polite'>();\n React.useEffect(() => {\n if (monthHasChanged) setLabelAriaLive('polite');\n }, [monthHasChanged]);\n\n const yearLabel = getYearDisplayName(locale);\n\n return (\n <div ref={ref} className={`${CLASSNAME}`} style={style}>\n <Toolbar\n className={`${CLASSNAME}__toolbar`}\n after={\n <IconButton\n {...nextButtonProps}\n emphasis={Emphasis.low}\n icon={mdiChevronRight}\n onClick={onNextMonthChange}\n />\n }\n before={\n <IconButton\n {...previousButtonProps}\n emphasis={Emphasis.low}\n icon={mdiChevronLeft}\n onClick={onPrevMonthChange}\n />\n }\n label={\n <>\n <span aria-live={labelAriaLive} className={onMonthChange ? VISUALLY_HIDDEN : ''} dir=\"auto\">\n {monthYear}\n </span>\n {onMonthChange && (\n <FlexBox\n className={`${CLASSNAME}__month`}\n orientation=\"horizontal\"\n hAlign=\"center\"\n gap=\"regular\"\n vAlign=\"center\"\n dir=\"auto\"\n >\n {RegExp(`(.*)(${formattedYear})(.*)`)\n .exec(monthYear)\n ?.slice(1)\n .filter((part) => part !== '')\n .map((part) =>\n part === formattedYear ? (\n <TextField\n value={currentYear}\n aria-label={yearLabel}\n onChange={onYearChange}\n type=\"number\"\n max={9999}\n min={0}\n onBlur={updateYear}\n onKeyPress={updateYearOnEnterPressed}\n key=\"year\"\n className={`${CLASSNAME}__year`}\n />\n ) : (\n <Text as=\"p\" key={part}>\n {part}\n </Text>\n ),\n )}\n </FlexBox>\n )}\n </>\n }\n />\n <div className={`${CLASSNAME}__calendar`}>\n <div className={`${CLASSNAME}__week-days ${CLASSNAME}__days-wrapper`}>\n {weekDays.map(({ letter, number, long }) => (\n <div key={number} className={`${CLASSNAME}__day-wrapper`}>\n <span className={`${CLASSNAME}__week-day`} aria-hidden>\n {letter.toLocaleUpperCase()}\n </span>\n <span className=\"visually-hidden\">{long}</span>\n </div>\n ))}\n </div>\n\n <div className={`${CLASSNAME}__month-days ${CLASSNAME}__days-wrapper`}>\n {weeks.flatMap((week, weekIndex) => {\n return weekDays.map((weekDay, dayIndex) => {\n const { date, isOutOfRange } = week[weekDay.number] || {};\n const key = `${weekIndex}-${dayIndex}`;\n const isToday = !isOutOfRange && date && isSameDay(date, new Date());\n const isSelected = date && value && isSameDay(value, date);\n\n return (\n <div key={key} className={`${CLASSNAME}__day-wrapper`}>\n {date && (\n <Button\n ref={isSelected || (!value && isToday) ? todayOrSelectedDateRef : null}\n className={classNames(`${CLASSNAME}__month-day`, {\n [`${CLASSNAME}__month-day--is-today`]: isToday,\n })}\n disabled={isOutOfRange}\n isSelected={isSelected}\n emphasis=\"low\"\n onClick={() => onChange(date)}\n >\n <span aria-hidden>{formatDayNumber(locale, date)}</span>\n <span className={VISUALLY_HIDDEN}>\n {date.toLocaleDateString(locale, {\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n })}\n </span>\n </Button>\n )}\n </div>\n );\n });\n })}\n </div>\n </div>\n </div>\n );\n});\nDatePickerControlled.displayName = COMPONENT_NAME;\nDatePickerControlled.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","DatePickerControlled","forwardRef","props","ref","locale","getCurrentLocale","maxDate","minDate","nextButtonProps","onChange","onNextMonthChange","onPrevMonthChange","previousButtonProps","selectedMonth","todayOrSelectedDateRef","value","onMonthChange","style","weeks","weekDays","React","useMemo","localeObj","parseLocale","getMonthCalendar","selectedYear","getFullYear","formattedYear","toLocaleDateString","year","slice","currentYear","setCurrentYear","useState","String","updateMonthOffset","useCallback","newYearValue","yearNumber","Number","previousYearNumber","offset","addMonthResetDay","onYearChange","_","event","inputType","nativeEvent","updateYear","updateYearOnEnterPressed","onEnterPressed","monthYear","month","useEffect","prevSelectedMonth","usePreviousValue","monthHasChanged","isSameDay","labelAriaLive","setLabelAriaLive","yearLabel","getYearDisplayName","_jsxs","className","CLASSNAME","children","_jsx","Toolbar","after","IconButton","emphasis","Emphasis","low","icon","mdiChevronRight","onClick","before","mdiChevronLeft","label","_Fragment","VISUALLY_HIDDEN","dir","FlexBox","orientation","hAlign","gap","vAlign","RegExp","exec","filter","part","map","TextField","type","max","min","onBlur","onKeyPress","Text","as","letter","number","long","toLocaleUpperCase","flatMap","week","weekIndex","weekDay","dayIndex","date","isOutOfRange","key","isToday","Date","isSelected","Button","classNames","disabled","formatDayNumber","day","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"27df0cb6.js","sources":["../../src/utils/react/mergeRefs.ts"],"sourcesContent":["import { Falsy } from '@lumx/react/utils/type';\nimport { MutableRefObject, useMemo } from 'react';\n\ntype FnRef<T> = (value: T) => void;\n\n/**\n * Merge refs into a single function ref.\n *\n * @param refs React references to merge.\n * @return the merged ref.\n */\nexport function mergeRefs<T>(...refs: Array<MutableRefObject<T | null> | FnRef<T> | Falsy>): FnRef<T> {\n return (value) =>\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n // eslint-disable-next-line no-param-reassign\n (ref as MutableRefObject<T>).current = value;\n }\n });\n}\n\n/**\n * Same as `mergeRefs` but memoized\n */\nexport const useMergeRefs = <T>(...refs: Array<MutableRefObject<T | null> | FnRef<T> | Falsy>) => {\n return useMemo(\n () => mergeRefs(...refs),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n refs,\n );\n};\n"],"names":["mergeRefs","refs","value","forEach","ref","current","useMergeRefs","useMemo"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,SAASA,CAAI,GAAGC,IAA0D,EAAY;AAClG,EAAA,OAAQC,KAAK,IACTD,IAAI,CAACE,OAAO,CAAEC,GAAG,IAAK;AAClB,IAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;MAC3BA,GAAG,CAACF,KAAK,CAAC,CAAA;KACb,MAAM,IAAIE,GAAG,EAAE;AACZ;MACCA,GAAG,CAAyBC,OAAO,GAAGH,KAAK,CAAA;AAChD,KAAA;AACJ,GAAC,CAAC,CAAA;AACV,CAAA;;AAEA;AACA;AACA;MACaI,YAAY,GAAGA,CAAI,GAAGL,IAA0D,KAAK;AAC9F,EAAA,OAAOM,OAAO,CACV,MAAMP,SAAS,CAAC,GAAGC,IAAI,CAAC;AACxB;AACAA,EAAAA,IACJ,CAAC,CAAA;AACL;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import getWindow from './a0a42aca.js';
|
|
2
|
+
|
|
3
|
+
var passive = {
|
|
4
|
+
passive: true
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
function effect(_ref) {
|
|
8
|
+
var state = _ref.state,
|
|
9
|
+
instance = _ref.instance,
|
|
10
|
+
options = _ref.options;
|
|
11
|
+
var _options$scroll = options.scroll,
|
|
12
|
+
scroll = _options$scroll === void 0 ? true : _options$scroll,
|
|
13
|
+
_options$resize = options.resize,
|
|
14
|
+
resize = _options$resize === void 0 ? true : _options$resize;
|
|
15
|
+
var window = getWindow(state.elements.popper);
|
|
16
|
+
var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
|
|
17
|
+
|
|
18
|
+
if (scroll) {
|
|
19
|
+
scrollParents.forEach(function (scrollParent) {
|
|
20
|
+
scrollParent.addEventListener('scroll', instance.update, passive);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (resize) {
|
|
25
|
+
window.addEventListener('resize', instance.update, passive);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return function () {
|
|
29
|
+
if (scroll) {
|
|
30
|
+
scrollParents.forEach(function (scrollParent) {
|
|
31
|
+
scrollParent.removeEventListener('scroll', instance.update, passive);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (resize) {
|
|
36
|
+
window.removeEventListener('resize', instance.update, passive);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
} // eslint-disable-next-line import/no-unused-modules
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
var eventListeners = {
|
|
43
|
+
name: 'eventListeners',
|
|
44
|
+
enabled: true,
|
|
45
|
+
phase: 'write',
|
|
46
|
+
fn: function fn() {},
|
|
47
|
+
effect: effect,
|
|
48
|
+
data: {}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { eventListeners as default };
|
|
52
|
+
//# sourceMappingURL=28f344bd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"28f344bd.js","sources":["../../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js"],"sourcesContent":["import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};"],"names":[],"mappings":";;AAEA,IAAI,OAAO,GAAG;AACd,EAAE,OAAO,EAAE,IAAI;AACf,CAAC,CAAC;AACF;AACA,SAAS,MAAM,CAAC,IAAI,EAAE;AACtB,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;AACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,EAAE,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM;AACtC,MAAM,MAAM,GAAG,eAAe,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,eAAe;AAClE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM;AACtC,MAAM,MAAM,GAAG,eAAe,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,eAAe,CAAC;AACnE,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,EAAE,IAAI,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC3F;AACA,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,aAAa,CAAC,OAAO,CAAC,UAAU,YAAY,EAAE;AAClD,MAAM,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACxE,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChE,GAAG;AACH;AACA,EAAE,OAAO,YAAY;AACrB,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,YAAY,EAAE;AACpD,QAAQ,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7E,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD;AACA;AACA,qBAAe;AACf,EAAE,IAAI,EAAE,gBAAgB;AACxB,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;AACtB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,IAAI,EAAE,EAAE;AACV,CAAC;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import last from 'lodash/last';
|
|
2
|
+
import { getWeekDays } from './ef907c21.js';
|
|
3
|
+
|
|
4
|
+
/** Up to 6 rows can appear in a month calendar => 4 weeks + 1 start of month partial week + 1 send of month partial week */
|
|
5
|
+
const MONTH_ROW_COUNT = 6;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Get month calendar.
|
|
9
|
+
* A list of weeks with days indexed by week day number
|
|
10
|
+
*/
|
|
11
|
+
const getMonthCalendar = (locale, referenceDate = new Date(), rangeMinDate, rangeMaxDate) => {
|
|
12
|
+
const month = referenceDate.getMonth();
|
|
13
|
+
const iterDate = new Date(referenceDate);
|
|
14
|
+
iterDate.setDate(1);
|
|
15
|
+
const minDate = rangeMinDate && new Date(rangeMinDate);
|
|
16
|
+
const maxDate = rangeMaxDate && new Date(rangeMaxDate);
|
|
17
|
+
// Reset time to compare dates only.
|
|
18
|
+
iterDate.setUTCHours(0, 0, 0, 0);
|
|
19
|
+
minDate?.setUTCHours(0, 0, 0, 0);
|
|
20
|
+
maxDate?.setUTCHours(0, 0, 0, 0);
|
|
21
|
+
const weekDays = getWeekDays(locale);
|
|
22
|
+
const lastDayOfWeek = last(weekDays);
|
|
23
|
+
const weeks = [];
|
|
24
|
+
let week = {};
|
|
25
|
+
let rowCount = 0;
|
|
26
|
+
while (rowCount < MONTH_ROW_COUNT) {
|
|
27
|
+
const weekDayNumber = iterDate.getDay();
|
|
28
|
+
const day = {
|
|
29
|
+
date: new Date(iterDate.getTime())
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// If a range is specified, check if the day is out of range.
|
|
33
|
+
// min and max date are included within the valid range.
|
|
34
|
+
if (minDate && iterDate < minDate || maxDate && iterDate > maxDate) {
|
|
35
|
+
day.isOutOfRange = true;
|
|
36
|
+
}
|
|
37
|
+
if (iterDate.getMonth() === month) {
|
|
38
|
+
week[weekDayNumber] = day;
|
|
39
|
+
}
|
|
40
|
+
if (weekDayNumber === lastDayOfWeek.number) {
|
|
41
|
+
weeks.push(week);
|
|
42
|
+
rowCount += 1;
|
|
43
|
+
week = {};
|
|
44
|
+
}
|
|
45
|
+
iterDate.setDate(iterDate.getDate() + 1);
|
|
46
|
+
}
|
|
47
|
+
if (Object.keys(week).length) weeks.push(week);
|
|
48
|
+
return {
|
|
49
|
+
weeks,
|
|
50
|
+
weekDays
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export { getMonthCalendar };
|
|
55
|
+
//# sourceMappingURL=2c5a950d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2c5a950d.js","sources":["../../src/utils/date/getMonthCalendar.ts"],"sourcesContent":["import last from 'lodash/last';\n\nimport { getWeekDays, WeekDayInfo } from '@lumx/react/utils/date/getWeekDays';\nimport { Locale } from '@lumx/react/utils/locale/types';\n\ntype AnnotatedDay = { date: Date; isOutOfRange?: boolean };\ntype AnnotatedWeek = Partial<Record<number, AnnotatedDay>>;\n\ninterface MonthCalendar {\n weekDays: Array<WeekDayInfo>;\n weeks: Array<AnnotatedWeek>;\n}\n\n/** Up to 6 rows can appear in a month calendar => 4 weeks + 1 start of month partial week + 1 send of month partial week */\nconst MONTH_ROW_COUNT = 6;\n\n/**\n * Get month calendar.\n * A list of weeks with days indexed by week day number\n */\nexport const getMonthCalendar = (\n locale: Locale,\n referenceDate = new Date(),\n rangeMinDate?: Date,\n rangeMaxDate?: Date,\n): MonthCalendar => {\n const month = referenceDate.getMonth();\n const iterDate = new Date(referenceDate);\n iterDate.setDate(1);\n\n const minDate = rangeMinDate && new Date(rangeMinDate);\n const maxDate = rangeMaxDate && new Date(rangeMaxDate);\n // Reset time to compare dates only.\n iterDate.setUTCHours(0, 0, 0, 0);\n minDate?.setUTCHours(0, 0, 0, 0);\n maxDate?.setUTCHours(0, 0, 0, 0);\n\n const weekDays = getWeekDays(locale);\n const lastDayOfWeek = last(weekDays) as WeekDayInfo;\n\n const weeks: Array<AnnotatedWeek> = [];\n let week: AnnotatedWeek = {};\n let rowCount = 0;\n\n while (rowCount < MONTH_ROW_COUNT) {\n const weekDayNumber = iterDate.getDay();\n const day: AnnotatedDay = { date: new Date(iterDate.getTime()) };\n\n // If a range is specified, check if the day is out of range.\n // min and max date are included within the valid range.\n if ((minDate && iterDate < minDate) || (maxDate && iterDate > maxDate)) {\n day.isOutOfRange = true;\n }\n\n if (iterDate.getMonth() === month) {\n week[weekDayNumber] = day;\n }\n\n if (weekDayNumber === lastDayOfWeek.number) {\n weeks.push(week);\n rowCount += 1;\n week = {};\n }\n iterDate.setDate(iterDate.getDate() + 1);\n }\n if (Object.keys(week).length) weeks.push(week);\n\n return { weeks, weekDays };\n};\n"],"names":["MONTH_ROW_COUNT","getMonthCalendar","locale","referenceDate","Date","rangeMinDate","rangeMaxDate","month","getMonth","iterDate","setDate","minDate","maxDate","setUTCHours","weekDays","getWeekDays","lastDayOfWeek","last","weeks","week","rowCount","weekDayNumber","getDay","day","date","getTime","isOutOfRange","number","push","getDate","Object","keys","length"],"mappings":";;;AAaA;AACA,MAAMA,eAAe,GAAG,CAAC,CAAA;;AAEzB;AACA;AACA;AACA;MACaC,gBAAgB,GAAGA,CAC5BC,MAAc,EACdC,aAAa,GAAG,IAAIC,IAAI,EAAE,EAC1BC,YAAmB,EACnBC,YAAmB,KACH;AAChB,EAAA,MAAMC,KAAK,GAAGJ,aAAa,CAACK,QAAQ,EAAE,CAAA;AACtC,EAAA,MAAMC,QAAQ,GAAG,IAAIL,IAAI,CAACD,aAAa,CAAC,CAAA;AACxCM,EAAAA,QAAQ,CAACC,OAAO,CAAC,CAAC,CAAC,CAAA;EAEnB,MAAMC,OAAO,GAAGN,YAAY,IAAI,IAAID,IAAI,CAACC,YAAY,CAAC,CAAA;EACtD,MAAMO,OAAO,GAAGN,YAAY,IAAI,IAAIF,IAAI,CAACE,YAAY,CAAC,CAAA;AACtD;EACAG,QAAQ,CAACI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;EAChCF,OAAO,EAAEE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;EAChCD,OAAO,EAAEC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEhC,EAAA,MAAMC,QAAQ,GAAGC,WAAW,CAACb,MAAM,CAAC,CAAA;AACpC,EAAA,MAAMc,aAAa,GAAGC,IAAI,CAACH,QAAQ,CAAgB,CAAA;EAEnD,MAAMI,KAA2B,GAAG,EAAE,CAAA;EACtC,IAAIC,IAAmB,GAAG,EAAE,CAAA;EAC5B,IAAIC,QAAQ,GAAG,CAAC,CAAA;EAEhB,OAAOA,QAAQ,GAAGpB,eAAe,EAAE;AAC/B,IAAA,MAAMqB,aAAa,GAAGZ,QAAQ,CAACa,MAAM,EAAE,CAAA;AACvC,IAAA,MAAMC,GAAiB,GAAG;MAAEC,IAAI,EAAE,IAAIpB,IAAI,CAACK,QAAQ,CAACgB,OAAO,EAAE,CAAA;KAAG,CAAA;;AAEhE;AACA;IACA,IAAKd,OAAO,IAAIF,QAAQ,GAAGE,OAAO,IAAMC,OAAO,IAAIH,QAAQ,GAAGG,OAAQ,EAAE;MACpEW,GAAG,CAACG,YAAY,GAAG,IAAI,CAAA;AAC3B,KAAA;AAEA,IAAA,IAAIjB,QAAQ,CAACD,QAAQ,EAAE,KAAKD,KAAK,EAAE;AAC/BY,MAAAA,IAAI,CAACE,aAAa,CAAC,GAAGE,GAAG,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAIF,aAAa,KAAKL,aAAa,CAACW,MAAM,EAAE;AACxCT,MAAAA,KAAK,CAACU,IAAI,CAACT,IAAI,CAAC,CAAA;AAChBC,MAAAA,QAAQ,IAAI,CAAC,CAAA;MACbD,IAAI,GAAG,EAAE,CAAA;AACb,KAAA;IACAV,QAAQ,CAACC,OAAO,CAACD,QAAQ,CAACoB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;AAC5C,GAAA;AACA,EAAA,IAAIC,MAAM,CAACC,IAAI,CAACZ,IAAI,CAAC,CAACa,MAAM,EAAEd,KAAK,CAACU,IAAI,CAACT,IAAI,CAAC,CAAA;EAE9C,OAAO;IAAED,KAAK;AAAEJ,IAAAA,QAAAA;GAAU,CAAA;AAC9B;;;;"}
|