@lumx/react 3.20.1-alpha.35 → 3.20.1-alpha.37
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/index.js +13989 -95
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.js +158 -4
- package/utils/index.js.map +1 -1
- package/_internal/00560d40.js +0 -11
- package/_internal/00560d40.js.map +0 -1
- package/_internal/00cc46ee.js +0 -60
- package/_internal/00cc46ee.js.map +0 -1
- package/_internal/0350c865.js +0 -90
- package/_internal/0350c865.js.map +0 -1
- package/_internal/063618dc.js +0 -21
- package/_internal/063618dc.js.map +0 -1
- package/_internal/07f6dc7c.js +0 -16
- package/_internal/07f6dc7c.js.map +0 -1
- package/_internal/0846b7f3.js +0 -4
- package/_internal/0846b7f3.js.map +0 -1
- package/_internal/08948b47.js +0 -109
- package/_internal/08948b47.js.map +0 -1
- package/_internal/08b0de35.js +0 -14
- package/_internal/08b0de35.js.map +0 -1
- package/_internal/094c811d.js +0 -24
- package/_internal/094c811d.js.map +0 -1
- package/_internal/09d97180.js +0 -18
- package/_internal/09d97180.js.map +0 -1
- package/_internal/0a2c57a2.js +0 -9
- package/_internal/0a2c57a2.js.map +0 -1
- package/_internal/0a7f4911.js +0 -64
- package/_internal/0a7f4911.js.map +0 -1
- package/_internal/0aa9027f.js +0 -10
- package/_internal/0aa9027f.js.map +0 -1
- package/_internal/0c58c8e2.js +0 -59
- package/_internal/0c58c8e2.js.map +0 -1
- package/_internal/0d7cc1e0.js +0 -99
- package/_internal/0d7cc1e0.js.map +0 -1
- package/_internal/0db022d6.js +0 -58
- package/_internal/0db022d6.js.map +0 -1
- package/_internal/0e16222d.js +0 -9
- package/_internal/0e16222d.js.map +0 -1
- package/_internal/0f849025.js +0 -4
- package/_internal/0f849025.js.map +0 -1
- package/_internal/0fe87dc7.js +0 -72
- package/_internal/0fe87dc7.js.map +0 -1
- package/_internal/1060c47e.js +0 -4
- package/_internal/1060c47e.js.map +0 -1
- package/_internal/111e65e5.js +0 -9
- package/_internal/111e65e5.js.map +0 -1
- package/_internal/11687649.js +0 -18
- package/_internal/11687649.js.map +0 -1
- package/_internal/14390eeb.js +0 -7
- package/_internal/14390eeb.js.map +0 -1
- package/_internal/145228a7.js +0 -47
- package/_internal/145228a7.js.map +0 -1
- package/_internal/15fb66ce.js +0 -154
- package/_internal/15fb66ce.js.map +0 -1
- package/_internal/160cf9fe.js +0 -24
- package/_internal/160cf9fe.js.map +0 -1
- package/_internal/1616343a.js +0 -37
- package/_internal/1616343a.js.map +0 -1
- package/_internal/162672de.js +0 -51
- package/_internal/162672de.js.map +0 -1
- package/_internal/168f211f.js +0 -17
- package/_internal/168f211f.js.map +0 -1
- package/_internal/16f5497d.js +0 -20
- package/_internal/16f5497d.js.map +0 -1
- package/_internal/179a2989.js +0 -129
- package/_internal/179a2989.js.map +0 -1
- package/_internal/185778b8.js +0 -4
- package/_internal/185778b8.js.map +0 -1
- package/_internal/1afd2506.js +0 -60
- package/_internal/1afd2506.js.map +0 -1
- package/_internal/1c1cdfa2.js +0 -159
- package/_internal/1c1cdfa2.js.map +0 -1
- package/_internal/1c3b349b.js +0 -4
- package/_internal/1c3b349b.js.map +0 -1
- package/_internal/1d7267a1.js +0 -173
- package/_internal/1d7267a1.js.map +0 -1
- package/_internal/1df25415.js +0 -53
- package/_internal/1df25415.js.map +0 -1
- package/_internal/1ee5415f.js +0 -27
- package/_internal/1ee5415f.js.map +0 -1
- package/_internal/1ff933af.js +0 -5
- package/_internal/1ff933af.js.map +0 -1
- package/_internal/200c2ce1.js +0 -17
- package/_internal/200c2ce1.js.map +0 -1
- package/_internal/203b01d8.js +0 -88
- package/_internal/203b01d8.js.map +0 -1
- package/_internal/2040beb8.js +0 -169
- package/_internal/2040beb8.js.map +0 -1
- package/_internal/20f07616.js +0 -14
- package/_internal/20f07616.js.map +0 -1
- package/_internal/215781b4.js +0 -6
- package/_internal/215781b4.js.map +0 -1
- package/_internal/226a2eac.js +0 -96
- package/_internal/226a2eac.js.map +0 -1
- package/_internal/2291b633.js +0 -52
- package/_internal/2291b633.js.map +0 -1
- package/_internal/2403668c.js +0 -75
- package/_internal/2403668c.js.map +0 -1
- package/_internal/24b48881.js +0 -133
- package/_internal/24b48881.js.map +0 -1
- package/_internal/2517d1d6.js +0 -9
- package/_internal/2517d1d6.js.map +0 -1
- package/_internal/256f8eff.js +0 -4
- package/_internal/256f8eff.js.map +0 -1
- package/_internal/26a92990.js +0 -60
- package/_internal/26a92990.js.map +0 -1
- package/_internal/27a93417.js +0 -223
- package/_internal/27a93417.js.map +0 -1
- package/_internal/27df0cb6.js +0 -30
- package/_internal/27df0cb6.js.map +0 -1
- package/_internal/28f344bd.js +0 -52
- package/_internal/28f344bd.js.map +0 -1
- package/_internal/2c5a950d.js +0 -55
- package/_internal/2c5a950d.js.map +0 -1
- package/_internal/2cdd9ec6.js +0 -16
- package/_internal/2cdd9ec6.js.map +0 -1
- package/_internal/2cfeae78.js +0 -150
- package/_internal/2cfeae78.js.map +0 -1
- package/_internal/2d1acaa0.js +0 -108
- package/_internal/2d1acaa0.js.map +0 -1
- package/_internal/2d69d0f5.js +0 -4
- package/_internal/2d69d0f5.js.map +0 -1
- package/_internal/2dcfa1df.js +0 -18
- package/_internal/2dcfa1df.js.map +0 -1
- package/_internal/2dff9a38.js +0 -150
- package/_internal/2dff9a38.js.map +0 -1
- package/_internal/2e5288d0.js +0 -15
- package/_internal/2e5288d0.js.map +0 -1
- package/_internal/2fc47dc4.js +0 -133
- package/_internal/2fc47dc4.js.map +0 -1
- package/_internal/30ecdee3.js +0 -9
- package/_internal/30ecdee3.js.map +0 -1
- package/_internal/3119c1fe.js +0 -61
- package/_internal/3119c1fe.js.map +0 -1
- package/_internal/31b6784b.js +0 -14
- package/_internal/31b6784b.js.map +0 -1
- package/_internal/341034b4.js +0 -48
- package/_internal/341034b4.js.map +0 -1
- package/_internal/341ceaa9.js +0 -4
- package/_internal/341ceaa9.js.map +0 -1
- package/_internal/355f875f.js +0 -9
- package/_internal/355f875f.js.map +0 -1
- package/_internal/36008a95.js +0 -130
- package/_internal/36008a95.js.map +0 -1
- package/_internal/378a6fb1.js +0 -126
- package/_internal/378a6fb1.js.map +0 -1
- package/_internal/37f5ba95.js +0 -12
- package/_internal/37f5ba95.js.map +0 -1
- package/_internal/38ac8c66.js +0 -33
- package/_internal/38ac8c66.js.map +0 -1
- package/_internal/38ce97de.js +0 -29
- package/_internal/38ce97de.js.map +0 -1
- package/_internal/39534d28.js +0 -30
- package/_internal/39534d28.js.map +0 -1
- package/_internal/3996d544.js +0 -75
- package/_internal/3996d544.js.map +0 -1
- package/_internal/3a7fd4bf.js +0 -60
- package/_internal/3a7fd4bf.js.map +0 -1
- package/_internal/3cfcb0a4.js +0 -122
- package/_internal/3cfcb0a4.js.map +0 -1
- package/_internal/3d5e1fd0.js +0 -46
- package/_internal/3d5e1fd0.js.map +0 -1
- package/_internal/3db5a3e4.js +0 -258
- package/_internal/3db5a3e4.js.map +0 -1
- package/_internal/3e2f0517.js +0 -12
- package/_internal/3e2f0517.js.map +0 -1
- package/_internal/3eba1faf.js +0 -87
- package/_internal/3eba1faf.js.map +0 -1
- package/_internal/3f48eb48.js +0 -73
- package/_internal/3f48eb48.js.map +0 -1
- package/_internal/3f51175c.js +0 -61
- package/_internal/3f51175c.js.map +0 -1
- package/_internal/3f54fe9e.js +0 -4
- package/_internal/3f54fe9e.js.map +0 -1
- package/_internal/41a8b20f.js +0 -362
- package/_internal/41a8b20f.js.map +0 -1
- package/_internal/42b26576.js +0 -4
- package/_internal/42b26576.js.map +0 -1
- package/_internal/45ef51db.js +0 -29
- package/_internal/45ef51db.js.map +0 -1
- package/_internal/48148353.js +0 -100
- package/_internal/48148353.js.map +0 -1
- package/_internal/4bb19934.js +0 -4
- package/_internal/4bb19934.js.map +0 -1
- package/_internal/4c471276.js +0 -75
- package/_internal/4c471276.js.map +0 -1
- package/_internal/4c891480.js +0 -111
- package/_internal/4c891480.js.map +0 -1
- package/_internal/4d540596.js +0 -131
- package/_internal/4d540596.js.map +0 -1
- package/_internal/4d751800.js +0 -40
- package/_internal/4d751800.js.map +0 -1
- package/_internal/4f71fd36.js +0 -4
- package/_internal/4f71fd36.js.map +0 -1
- package/_internal/507d9459.js +0 -67
- package/_internal/507d9459.js.map +0 -1
- package/_internal/5178b7ba.js +0 -10
- package/_internal/5178b7ba.js.map +0 -1
- package/_internal/51921a16.js +0 -30
- package/_internal/51921a16.js.map +0 -1
- package/_internal/535aa51f.js +0 -44
- package/_internal/535aa51f.js.map +0 -1
- package/_internal/536517c5.js +0 -29
- package/_internal/536517c5.js.map +0 -1
- package/_internal/53b8dea1.js +0 -48
- package/_internal/53b8dea1.js.map +0 -1
- package/_internal/5745f198.js +0 -12
- package/_internal/5745f198.js.map +0 -1
- package/_internal/57f2079b.js +0 -10
- package/_internal/57f2079b.js.map +0 -1
- package/_internal/58418448.js +0 -41
- package/_internal/58418448.js.map +0 -1
- package/_internal/595d0e66.js +0 -103
- package/_internal/595d0e66.js.map +0 -1
- package/_internal/5a0207d9.js +0 -77
- package/_internal/5a0207d9.js.map +0 -1
- package/_internal/5a6b1aa5.js +0 -139
- package/_internal/5a6b1aa5.js.map +0 -1
- package/_internal/5c3e15ea.js +0 -107
- package/_internal/5c3e15ea.js.map +0 -1
- package/_internal/5c4e10a0.js +0 -156
- package/_internal/5c4e10a0.js.map +0 -1
- package/_internal/5da9ff06.js +0 -47
- package/_internal/5da9ff06.js.map +0 -1
- package/_internal/60139f6a.js +0 -9
- package/_internal/60139f6a.js.map +0 -1
- package/_internal/612b7365.js +0 -231
- package/_internal/612b7365.js.map +0 -1
- package/_internal/612f6fb4.js +0 -155
- package/_internal/612f6fb4.js.map +0 -1
- package/_internal/617d453e.js +0 -28
- package/_internal/617d453e.js.map +0 -1
- package/_internal/62c6c615.js +0 -280
- package/_internal/62c6c615.js.map +0 -1
- package/_internal/6417ddb1.js +0 -24
- package/_internal/6417ddb1.js.map +0 -1
- package/_internal/658e09de.js +0 -7
- package/_internal/658e09de.js.map +0 -1
- package/_internal/659a1cdd.js +0 -144
- package/_internal/659a1cdd.js.map +0 -1
- package/_internal/6671d28b.js +0 -40
- package/_internal/6671d28b.js.map +0 -1
- package/_internal/66950686.js +0 -14
- package/_internal/66950686.js.map +0 -1
- package/_internal/671b986c.js +0 -14
- package/_internal/671b986c.js.map +0 -1
- package/_internal/6893b89e.js +0 -124
- package/_internal/6893b89e.js.map +0 -1
- package/_internal/68f13c1c.js +0 -4
- package/_internal/68f13c1c.js.map +0 -1
- package/_internal/69eb2393.js +0 -73
- package/_internal/69eb2393.js.map +0 -1
- package/_internal/6af61e2f.js +0 -24
- package/_internal/6af61e2f.js.map +0 -1
- package/_internal/6b510f5e.js +0 -142
- package/_internal/6b510f5e.js.map +0 -1
- package/_internal/6b61b268.js +0 -9
- package/_internal/6b61b268.js.map +0 -1
- package/_internal/6f0ce1bb.js +0 -67
- package/_internal/6f0ce1bb.js.map +0 -1
- package/_internal/6f17bf65.js +0 -8
- package/_internal/6f17bf65.js.map +0 -1
- package/_internal/6f37d603.js +0 -4
- package/_internal/6f37d603.js.map +0 -1
- package/_internal/6f3bb7d6.js +0 -16
- package/_internal/6f3bb7d6.js.map +0 -1
- package/_internal/705f415e.js +0 -67
- package/_internal/705f415e.js.map +0 -1
- package/_internal/722ea461.js +0 -9
- package/_internal/722ea461.js.map +0 -1
- package/_internal/728684f6.js +0 -6
- package/_internal/728684f6.js.map +0 -1
- package/_internal/730f75dc.js +0 -93
- package/_internal/730f75dc.js.map +0 -1
- package/_internal/735bcfa5.js +0 -38
- package/_internal/735bcfa5.js.map +0 -1
- package/_internal/739f2f15.js +0 -61
- package/_internal/739f2f15.js.map +0 -1
- package/_internal/7531ee4d.js +0 -72
- package/_internal/7531ee4d.js.map +0 -1
- package/_internal/75f285fb.js +0 -104
- package/_internal/75f285fb.js.map +0 -1
- package/_internal/78a9c3cd.js +0 -4
- package/_internal/78a9c3cd.js.map +0 -1
- package/_internal/7a2da67a.js +0 -64
- package/_internal/7a2da67a.js.map +0 -1
- package/_internal/7af4a428.js +0 -39
- package/_internal/7af4a428.js.map +0 -1
- package/_internal/7d4eb1c5.js +0 -62
- package/_internal/7d4eb1c5.js.map +0 -1
- package/_internal/7d9c0855.js +0 -55
- package/_internal/7d9c0855.js.map +0 -1
- package/_internal/7eca7fcd.js +0 -28
- package/_internal/7eca7fcd.js.map +0 -1
- package/_internal/81a6a29a.js +0 -55
- package/_internal/81a6a29a.js.map +0 -1
- package/_internal/82159c03.js +0 -146
- package/_internal/82159c03.js.map +0 -1
- package/_internal/82c6852b.js +0 -19
- package/_internal/82c6852b.js.map +0 -1
- package/_internal/840e9690.js +0 -52
- package/_internal/840e9690.js.map +0 -1
- package/_internal/841c2303.js +0 -19
- package/_internal/841c2303.js.map +0 -1
- package/_internal/8429fc80.js +0 -141
- package/_internal/8429fc80.js.map +0 -1
- package/_internal/84978777.js +0 -55
- package/_internal/84978777.js.map +0 -1
- package/_internal/851a3109.js +0 -123
- package/_internal/851a3109.js.map +0 -1
- package/_internal/879fa64d.js +0 -6
- package/_internal/879fa64d.js.map +0 -1
- package/_internal/883321fd.js +0 -17
- package/_internal/883321fd.js.map +0 -1
- package/_internal/893eb653.js +0 -4
- package/_internal/893eb653.js.map +0 -1
- package/_internal/897e2dbb.js +0 -80
- package/_internal/897e2dbb.js.map +0 -1
- package/_internal/89ee5eb2.js +0 -22
- package/_internal/89ee5eb2.js.map +0 -1
- package/_internal/8acd6aff.js +0 -82
- package/_internal/8acd6aff.js.map +0 -1
- package/_internal/8d318b2b.js +0 -138
- package/_internal/8d318b2b.js.map +0 -1
- package/_internal/8e3efbc4.js +0 -65
- package/_internal/8e3efbc4.js.map +0 -1
- package/_internal/8e8c5ab6.js +0 -192
- package/_internal/8e8c5ab6.js.map +0 -1
- package/_internal/8fe4c01f.js +0 -20
- package/_internal/8fe4c01f.js.map +0 -1
- package/_internal/91f36a80.js +0 -34
- package/_internal/91f36a80.js.map +0 -1
- package/_internal/928fa938.js +0 -102
- package/_internal/928fa938.js.map +0 -1
- package/_internal/9361ef65.js +0 -6
- package/_internal/9361ef65.js.map +0 -1
- package/_internal/99513933.js +0 -145
- package/_internal/99513933.js.map +0 -1
- package/_internal/9976fe9a.js +0 -28
- package/_internal/9976fe9a.js.map +0 -1
- package/_internal/9a0544c4.js +0 -34
- package/_internal/9a0544c4.js.map +0 -1
- package/_internal/9a5db774.js +0 -6
- package/_internal/9a5db774.js.map +0 -1
- package/_internal/9ae8998a.js +0 -117
- package/_internal/9ae8998a.js.map +0 -1
- package/_internal/9b0c0489.js +0 -118
- package/_internal/9b0c0489.js.map +0 -1
- package/_internal/9d063548.js +0 -49
- package/_internal/9d063548.js.map +0 -1
- package/_internal/9e3b78fa.js +0 -118
- package/_internal/9e3b78fa.js.map +0 -1
- package/_internal/a0a42aca.js +0 -14
- package/_internal/a0a42aca.js.map +0 -1
- package/_internal/a1974f13.js +0 -62
- package/_internal/a1974f13.js.map +0 -1
- package/_internal/a2b9eb60.js +0 -90
- package/_internal/a2b9eb60.js.map +0 -1
- package/_internal/a2c7c463.js +0 -4
- package/_internal/a2c7c463.js.map +0 -1
- package/_internal/a32628a1.js +0 -4
- package/_internal/a32628a1.js.map +0 -1
- package/_internal/a3f2000f.js +0 -198
- package/_internal/a3f2000f.js.map +0 -1
- package/_internal/a45cc1b9.js +0 -128
- package/_internal/a45cc1b9.js.map +0 -1
- package/_internal/a6be9f05.js +0 -75
- package/_internal/a6be9f05.js.map +0 -1
- package/_internal/a6dc95cd.js +0 -49
- package/_internal/a6dc95cd.js.map +0 -1
- package/_internal/a7abe967.js +0 -20
- package/_internal/a7abe967.js.map +0 -1
- package/_internal/a89bf7bc.js +0 -169
- package/_internal/a89bf7bc.js.map +0 -1
- package/_internal/a9d0f94d.js +0 -53
- package/_internal/a9d0f94d.js.map +0 -1
- package/_internal/ab3e5463.js +0 -39
- package/_internal/ab3e5463.js.map +0 -1
- package/_internal/ac3f7e4d.js +0 -119
- package/_internal/ac3f7e4d.js.map +0 -1
- package/_internal/acd6bed6.js +0 -6
- package/_internal/acd6bed6.js.map +0 -1
- package/_internal/ad7c38b0.js +0 -4
- package/_internal/ad7c38b0.js.map +0 -1
- package/_internal/ae4dc9f0.js +0 -62
- package/_internal/ae4dc9f0.js.map +0 -1
- package/_internal/aeba575c.js +0 -4
- package/_internal/aeba575c.js.map +0 -1
- package/_internal/b0780b33.js +0 -60
- package/_internal/b0780b33.js.map +0 -1
- package/_internal/b0846836.js +0 -4
- package/_internal/b0846836.js.map +0 -1
- package/_internal/b1154f4b.js +0 -14
- package/_internal/b1154f4b.js.map +0 -1
- package/_internal/b125b718.js +0 -131
- package/_internal/b125b718.js.map +0 -1
- package/_internal/b23a92ab.js +0 -56
- package/_internal/b23a92ab.js.map +0 -1
- package/_internal/b4018f8d.js +0 -107
- package/_internal/b4018f8d.js.map +0 -1
- package/_internal/b402784b.js +0 -11
- package/_internal/b402784b.js.map +0 -1
- package/_internal/b4dfa648.js +0 -32
- package/_internal/b4dfa648.js.map +0 -1
- package/_internal/b573621e.js +0 -26
- package/_internal/b573621e.js.map +0 -1
- package/_internal/b5edf49e.js +0 -8
- package/_internal/b5edf49e.js.map +0 -1
- package/_internal/b85a5f3f.js +0 -57
- package/_internal/b85a5f3f.js.map +0 -1
- package/_internal/b93aa71c.js +0 -89
- package/_internal/b93aa71c.js.map +0 -1
- package/_internal/b977b471.js +0 -5
- package/_internal/b977b471.js.map +0 -1
- package/_internal/b9e3e436.js +0 -101
- package/_internal/b9e3e436.js.map +0 -1
- package/_internal/b9ed1f7a.js +0 -4
- package/_internal/b9ed1f7a.js.map +0 -1
- package/_internal/bae815e2.js +0 -46
- package/_internal/bae815e2.js.map +0 -1
- package/_internal/bb05343d.js +0 -36
- package/_internal/bb05343d.js.map +0 -1
- package/_internal/bb5fb0f9.js +0 -28
- package/_internal/bb5fb0f9.js.map +0 -1
- package/_internal/bb8088e1.js +0 -77
- package/_internal/bb8088e1.js.map +0 -1
- package/_internal/bc393aec.js +0 -8
- package/_internal/bc393aec.js.map +0 -1
- package/_internal/bd1cd49f.js +0 -54
- package/_internal/bd1cd49f.js.map +0 -1
- package/_internal/bd8b3ec8.js +0 -9
- package/_internal/bd8b3ec8.js.map +0 -1
- package/_internal/be29f79e.js +0 -52
- package/_internal/be29f79e.js.map +0 -1
- package/_internal/bf202fa2.js +0 -47
- package/_internal/bf202fa2.js.map +0 -1
- package/_internal/bf411e5a.js +0 -109
- package/_internal/bf411e5a.js.map +0 -1
- package/_internal/c01c3bec.js +0 -12
- package/_internal/c01c3bec.js.map +0 -1
- package/_internal/c0a6dba6.js +0 -8
- package/_internal/c0a6dba6.js.map +0 -1
- package/_internal/c241db12.js +0 -110
- package/_internal/c241db12.js.map +0 -1
- package/_internal/c3ccd387.js +0 -20
- package/_internal/c3ccd387.js.map +0 -1
- package/_internal/c51d37f8.js +0 -166
- package/_internal/c51d37f8.js.map +0 -1
- package/_internal/c625d242.js +0 -14
- package/_internal/c625d242.js.map +0 -1
- package/_internal/c72d4f8b.js +0 -4
- package/_internal/c72d4f8b.js.map +0 -1
- package/_internal/c9a3b27f.js +0 -6
- package/_internal/c9a3b27f.js.map +0 -1
- package/_internal/c9bd0e84.js +0 -29
- package/_internal/c9bd0e84.js.map +0 -1
- package/_internal/cb19eca6.js +0 -25
- package/_internal/cb19eca6.js.map +0 -1
- package/_internal/cb525c68.js +0 -165
- package/_internal/cb525c68.js.map +0 -1
- package/_internal/cb7ac456.js +0 -165
- package/_internal/cb7ac456.js.map +0 -1
- package/_internal/cc5cac50.js +0 -139
- package/_internal/cc5cac50.js.map +0 -1
- package/_internal/cd8457fc.js +0 -209
- package/_internal/cd8457fc.js.map +0 -1
- package/_internal/d0b96efd.js +0 -8
- package/_internal/d0b96efd.js.map +0 -1
- package/_internal/d3286249.js +0 -72
- package/_internal/d3286249.js.map +0 -1
- package/_internal/d57d3fc6.js +0 -6
- package/_internal/d57d3fc6.js.map +0 -1
- package/_internal/d5f5f3f5.js +0 -18
- package/_internal/d5f5f3f5.js.map +0 -1
- package/_internal/d672fc0e.js +0 -24
- package/_internal/d672fc0e.js.map +0 -1
- package/_internal/d7ee7efe.js +0 -40
- package/_internal/d7ee7efe.js.map +0 -1
- package/_internal/d8ee966d.js +0 -14
- package/_internal/d8ee966d.js.map +0 -1
- package/_internal/db88500d.js +0 -10
- package/_internal/db88500d.js.map +0 -1
- package/_internal/dbc379f8.js +0 -45
- package/_internal/dbc379f8.js.map +0 -1
- package/_internal/dbe906f1.js +0 -179
- package/_internal/dbe906f1.js.map +0 -1
- package/_internal/de52a4b9.js +0 -20
- package/_internal/de52a4b9.js.map +0 -1
- package/_internal/df688aab.js +0 -121
- package/_internal/df688aab.js.map +0 -1
- package/_internal/dfa00cf7.js +0 -35
- package/_internal/dfa00cf7.js.map +0 -1
- package/_internal/e0398237.js +0 -130
- package/_internal/e0398237.js.map +0 -1
- package/_internal/e142a98d.js +0 -22
- package/_internal/e142a98d.js.map +0 -1
- package/_internal/e429bd82.js +0 -12
- package/_internal/e429bd82.js.map +0 -1
- package/_internal/e47dacb8.js +0 -4
- package/_internal/e47dacb8.js.map +0 -1
- package/_internal/e4a199c0.js +0 -20
- package/_internal/e4a199c0.js.map +0 -1
- package/_internal/e50f2a75.js +0 -27
- package/_internal/e50f2a75.js.map +0 -1
- package/_internal/e5657997.js +0 -130
- package/_internal/e5657997.js.map +0 -1
- package/_internal/e7aa44d1.js +0 -13
- package/_internal/e7aa44d1.js.map +0 -1
- package/_internal/e8e4d09e.js +0 -95
- package/_internal/e8e4d09e.js.map +0 -1
- package/_internal/e918f20b.js +0 -57
- package/_internal/e918f20b.js.map +0 -1
- package/_internal/e9c3b1e0.js +0 -4
- package/_internal/e9c3b1e0.js.map +0 -1
- package/_internal/ebd44733.js +0 -7
- package/_internal/ebd44733.js.map +0 -1
- package/_internal/ebe24fd7.js +0 -20
- package/_internal/ebe24fd7.js.map +0 -1
- package/_internal/ed03c692.js +0 -17
- package/_internal/ed03c692.js.map +0 -1
- package/_internal/eea52073.js +0 -27
- package/_internal/eea52073.js.map +0 -1
- package/_internal/eec574e6.js +0 -40
- package/_internal/eec574e6.js.map +0 -1
- package/_internal/eef5d63f.js +0 -21
- package/_internal/eef5d63f.js.map +0 -1
- package/_internal/ef907c21.js +0 -41
- package/_internal/ef907c21.js.map +0 -1
- package/_internal/ef982c3d.js +0 -36
- package/_internal/ef982c3d.js.map +0 -1
- package/_internal/f0052b9b.js +0 -27
- package/_internal/f0052b9b.js.map +0 -1
- package/_internal/f2e34298.js +0 -75
- package/_internal/f2e34298.js.map +0 -1
- package/_internal/f419ecef.js +0 -4
- package/_internal/f419ecef.js.map +0 -1
- package/_internal/f4baa1da.js +0 -34
- package/_internal/f4baa1da.js.map +0 -1
- package/_internal/f6bc7948.js +0 -45
- package/_internal/f6bc7948.js.map +0 -1
- package/_internal/f7520b8e.js +0 -52
- package/_internal/f7520b8e.js.map +0 -1
- package/_internal/f8c49b24.js +0 -14
- package/_internal/f8c49b24.js.map +0 -1
- package/_internal/fb201a04.js +0 -65
- package/_internal/fb201a04.js.map +0 -1
- package/_internal/fb36ff46.js +0 -51
- package/_internal/fb36ff46.js.map +0 -1
- package/_internal/fcc7c462.js +0 -60
- package/_internal/fcc7c462.js.map +0 -1
- package/_internal/fcf83937.js +0 -28
- package/_internal/fcf83937.js.map +0 -1
- package/_internal/fd3e2f21.js +0 -30
- package/_internal/fd3e2f21.js.map +0 -1
- package/_internal/fdcf3942.js +0 -157
- package/_internal/fdcf3942.js.map +0 -1
- package/_internal/fdebc718.js +0 -57
- package/_internal/fdebc718.js.map +0 -1
- package/_internal/ff96951d.js +0 -8
- package/_internal/ff96951d.js.map +0 -1
- package/_internal/ffb2f7fa.js +0 -84
- package/_internal/ffb2f7fa.js.map +0 -1
package/_internal/a45cc1b9.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import classNames from 'classnames';
|
|
2
|
-
import { useRef, useCallback } from 'react';
|
|
3
|
-
import { Theme, Kind } from '@lumx/core/js/constants';
|
|
4
|
-
import { Dropdown } from './2d1acaa0.js';
|
|
5
|
-
import { InputHelper } from './3119c1fe.js';
|
|
6
|
-
import { useFocusTrap } from './0350c865.js';
|
|
7
|
-
import { useListenFocus } from './bb5fb0f9.js';
|
|
8
|
-
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
9
|
-
import { mergeRefs } from './27df0cb6.js';
|
|
10
|
-
import { useId } from './11687649.js';
|
|
11
|
-
import { useTheme } from './d8ee966d.js';
|
|
12
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
13
|
-
import { Placement } from './9d063548.js';
|
|
14
|
-
|
|
15
|
-
/** The display name of the component. */
|
|
16
|
-
const COMPONENT_NAME = 'Select';
|
|
17
|
-
|
|
18
|
-
/** The default class name and classes prefix for this component. */
|
|
19
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
20
|
-
const WithSelectContext = (SelectElement, props, ref) => {
|
|
21
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
22
|
-
const {
|
|
23
|
-
children,
|
|
24
|
-
className,
|
|
25
|
-
focusElement,
|
|
26
|
-
isMultiple,
|
|
27
|
-
closeOnClick = !isMultiple,
|
|
28
|
-
disabled,
|
|
29
|
-
error,
|
|
30
|
-
hasError,
|
|
31
|
-
helper,
|
|
32
|
-
id,
|
|
33
|
-
isDisabled = disabled,
|
|
34
|
-
isEmpty,
|
|
35
|
-
isOpen,
|
|
36
|
-
isRequired,
|
|
37
|
-
isValid,
|
|
38
|
-
label,
|
|
39
|
-
onClear,
|
|
40
|
-
onDropdownClose,
|
|
41
|
-
onInfiniteScroll,
|
|
42
|
-
onInputClick,
|
|
43
|
-
placeholder,
|
|
44
|
-
theme = defaultTheme,
|
|
45
|
-
value,
|
|
46
|
-
variant,
|
|
47
|
-
...forwardedProps
|
|
48
|
-
} = props;
|
|
49
|
-
const generatedSelectId = useId();
|
|
50
|
-
const selectId = id || generatedSelectId;
|
|
51
|
-
const anchorRef = useRef(null);
|
|
52
|
-
const selectRef = useRef(null);
|
|
53
|
-
const dropdownRef = useRef(null);
|
|
54
|
-
const isFocus = useListenFocus(anchorRef);
|
|
55
|
-
const handleKeyboardNav = useCallback(evt => {
|
|
56
|
-
if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {
|
|
57
|
-
evt.preventDefault();
|
|
58
|
-
onInputClick();
|
|
59
|
-
}
|
|
60
|
-
}, [onInputClick]);
|
|
61
|
-
const onClose = () => {
|
|
62
|
-
if (onDropdownClose) {
|
|
63
|
-
onDropdownClose();
|
|
64
|
-
}
|
|
65
|
-
anchorRef?.current?.blur();
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// Handle focus trap.
|
|
69
|
-
useFocusTrap(isOpen && dropdownRef.current, focusElement?.current);
|
|
70
|
-
return /*#__PURE__*/jsxs("div", {
|
|
71
|
-
ref: mergeRefs(ref, selectRef),
|
|
72
|
-
className: classNames(className, handleBasicClasses({
|
|
73
|
-
hasError,
|
|
74
|
-
hasLabel: Boolean(label),
|
|
75
|
-
hasPlaceholder: Boolean(placeholder),
|
|
76
|
-
hasValue: !isEmpty,
|
|
77
|
-
isDisabled,
|
|
78
|
-
isEmpty,
|
|
79
|
-
isFocus,
|
|
80
|
-
isOpen,
|
|
81
|
-
isValid,
|
|
82
|
-
prefix: CLASSNAME,
|
|
83
|
-
theme: theme === Theme.light ? Theme.light : Theme.dark
|
|
84
|
-
})),
|
|
85
|
-
children: [/*#__PURE__*/jsx(SelectElement, {
|
|
86
|
-
...forwardedProps,
|
|
87
|
-
anchorRef: anchorRef,
|
|
88
|
-
"aria-disabled": isDisabled,
|
|
89
|
-
handleKeyboardNav: handleKeyboardNav,
|
|
90
|
-
hasError: hasError,
|
|
91
|
-
isDisabled: isDisabled,
|
|
92
|
-
isEmpty: isEmpty,
|
|
93
|
-
isRequired: isRequired,
|
|
94
|
-
isValid: isValid,
|
|
95
|
-
label: label,
|
|
96
|
-
placeholder: placeholder,
|
|
97
|
-
id: selectId,
|
|
98
|
-
theme: theme,
|
|
99
|
-
value: value,
|
|
100
|
-
variant: variant,
|
|
101
|
-
onClear: onClear,
|
|
102
|
-
onInputClick: onInputClick
|
|
103
|
-
}), /*#__PURE__*/jsx(Dropdown, {
|
|
104
|
-
anchorRef: anchorRef,
|
|
105
|
-
closeOnClick: closeOnClick,
|
|
106
|
-
closeOnClickAway: true,
|
|
107
|
-
closeOnEscape: true,
|
|
108
|
-
isOpen: !!isOpen,
|
|
109
|
-
placement: Placement.BOTTOM_START,
|
|
110
|
-
onClose: onClose,
|
|
111
|
-
onInfiniteScroll: onInfiniteScroll,
|
|
112
|
-
ref: dropdownRef,
|
|
113
|
-
children: children
|
|
114
|
-
}), hasError && error && /*#__PURE__*/jsx(InputHelper, {
|
|
115
|
-
className: `${CLASSNAME}__helper`,
|
|
116
|
-
kind: Kind.error,
|
|
117
|
-
theme: theme,
|
|
118
|
-
children: error
|
|
119
|
-
}), helper && /*#__PURE__*/jsx(InputHelper, {
|
|
120
|
-
className: `${CLASSNAME}__helper`,
|
|
121
|
-
theme: theme,
|
|
122
|
-
children: helper
|
|
123
|
-
})]
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
export { WithSelectContext };
|
|
128
|
-
//# sourceMappingURL=a45cc1b9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a45cc1b9.js","sources":["../../src/components/select/WithSelectContext.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { Ref, useCallback, useRef } from 'react';\n\nimport { Placement } from '@lumx/react';\nimport { Kind, Theme } from '@lumx/core/js/constants';\nimport { Dropdown } from '@lumx/react/components/dropdown/Dropdown';\nimport { InputHelper } from '@lumx/react/components/input-helper/InputHelper';\nimport { useFocusTrap } from '@lumx/react/hooks/useFocusTrap';\nimport { useListenFocus } from '@lumx/react/hooks/useListenFocus';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\n\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { CoreSelectProps } from './constants';\n\n/** The display name of the component. */\nconst COMPONENT_NAME = 'Select';\n\n/** The default class name and classes prefix for this component. */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\nexport const WithSelectContext = (\n SelectElement: React.FC<any>,\n props: CoreSelectProps,\n ref: Ref<HTMLDivElement>,\n): React.ReactElement => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n children,\n className,\n focusElement,\n isMultiple,\n closeOnClick = !isMultiple,\n disabled,\n error,\n hasError,\n helper,\n id,\n isDisabled = disabled,\n isEmpty,\n isOpen,\n isRequired,\n isValid,\n label,\n onClear,\n onDropdownClose,\n onInfiniteScroll,\n onInputClick,\n placeholder,\n theme = defaultTheme,\n value,\n variant,\n ...forwardedProps\n } = props;\n const generatedSelectId = useId();\n const selectId = id || generatedSelectId;\n const anchorRef = useRef<HTMLElement>(null);\n const selectRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const isFocus = useListenFocus(anchorRef);\n\n const handleKeyboardNav = useCallback(\n (evt: React.KeyboardEvent<HTMLElement>) => {\n if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {\n evt.preventDefault();\n onInputClick();\n }\n },\n [onInputClick],\n );\n\n const onClose = () => {\n if (onDropdownClose) {\n onDropdownClose();\n }\n anchorRef?.current?.blur();\n };\n\n // Handle focus trap.\n useFocusTrap(isOpen && dropdownRef.current, focusElement?.current);\n\n return (\n <div\n ref={mergeRefs(ref, selectRef)}\n className={classNames(\n className,\n handleBasicClasses({\n hasError,\n hasLabel: Boolean(label),\n hasPlaceholder: Boolean(placeholder),\n hasValue: !isEmpty,\n isDisabled,\n isEmpty,\n isFocus,\n isOpen,\n isValid,\n prefix: CLASSNAME,\n theme: theme === Theme.light ? Theme.light : Theme.dark,\n }),\n )}\n >\n <SelectElement\n {...forwardedProps}\n anchorRef={anchorRef}\n aria-disabled={isDisabled}\n handleKeyboardNav={handleKeyboardNav}\n hasError={hasError}\n isDisabled={isDisabled}\n isEmpty={isEmpty}\n isRequired={isRequired}\n isValid={isValid}\n label={label}\n placeholder={placeholder}\n id={selectId}\n theme={theme}\n value={value}\n variant={variant}\n onClear={onClear}\n onInputClick={onInputClick}\n />\n <Dropdown\n anchorRef={anchorRef}\n closeOnClick={closeOnClick}\n closeOnClickAway\n closeOnEscape\n isOpen={!!isOpen}\n placement={Placement.BOTTOM_START}\n onClose={onClose}\n onInfiniteScroll={onInfiniteScroll}\n ref={dropdownRef}\n >\n {children}\n </Dropdown>\n {hasError && error && (\n <InputHelper className={`${CLASSNAME}__helper`} kind={Kind.error} theme={theme}>\n {error}\n </InputHelper>\n )}\n {helper && (\n <InputHelper className={`${CLASSNAME}__helper`} theme={theme}>\n {helper}\n </InputHelper>\n )}\n </div>\n );\n};\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","WithSelectContext","SelectElement","props","ref","defaultTheme","useTheme","Theme","light","children","className","focusElement","isMultiple","closeOnClick","disabled","error","hasError","helper","id","isDisabled","isEmpty","isOpen","isRequired","isValid","label","onClear","onDropdownClose","onInfiniteScroll","onInputClick","placeholder","theme","value","variant","forwardedProps","generatedSelectId","useId","selectId","anchorRef","useRef","selectRef","dropdownRef","isFocus","useListenFocus","handleKeyboardNav","useCallback","evt","key","preventDefault","onClose","current","blur","useFocusTrap","_jsxs","mergeRefs","classNames","handleBasicClasses","hasLabel","Boolean","hasPlaceholder","hasValue","prefix","dark","_jsx","Dropdown","closeOnClickAway","closeOnEscape","placement","Placement","BOTTOM_START","InputHelper","kind","Kind"],"mappings":";;;;;;;;;;;;;;AAgBA;AACA,MAAMA,cAAc,GAAG,QAAQ,CAAA;;AAE/B;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;AAE3C,MAAMG,iBAAiB,GAAGA,CAC7BC,aAA4B,EAC5BC,KAAsB,EACtBC,GAAwB,KACH;EACrB,MAAMC,YAAY,GAAGC,QAAQ,EAAE,IAAIC,KAAK,CAACC,KAAK,CAAA;EAC9C,MAAM;IACFC,QAAQ;IACRC,SAAS;IACTC,YAAY;IACZC,UAAU;IACVC,YAAY,GAAG,CAACD,UAAU;IAC1BE,QAAQ;IACRC,KAAK;IACLC,QAAQ;IACRC,MAAM;IACNC,EAAE;AACFC,IAAAA,UAAU,GAAGL,QAAQ;IACrBM,OAAO;IACPC,MAAM;IACNC,UAAU;IACVC,OAAO;IACPC,KAAK;IACLC,OAAO;IACPC,eAAe;IACfC,gBAAgB;IAChBC,YAAY;IACZC,WAAW;AACXC,IAAAA,KAAK,GAAGzB,YAAY;IACpB0B,KAAK;IACLC,OAAO;IACP,GAAGC,cAAAA;AACP,GAAC,GAAG9B,KAAK,CAAA;AACT,EAAA,MAAM+B,iBAAiB,GAAGC,KAAK,EAAE,CAAA;AACjC,EAAA,MAAMC,QAAQ,GAAGlB,EAAE,IAAIgB,iBAAiB,CAAA;AACxC,EAAA,MAAMG,SAAS,GAAGC,MAAM,CAAc,IAAI,CAAC,CAAA;AAC3C,EAAA,MAAMC,SAAS,GAAGD,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC9C,EAAA,MAAME,WAAW,GAAGF,MAAM,CAAiB,IAAI,CAAC,CAAA;AAChD,EAAA,MAAMG,OAAO,GAAGC,cAAc,CAACL,SAAS,CAAC,CAAA;AAEzC,EAAA,MAAMM,iBAAiB,GAAGC,WAAW,CAChCC,GAAqC,IAAK;IACvC,IAAI,CAACA,GAAG,CAACC,GAAG,KAAK,OAAO,IAAID,GAAG,CAACC,GAAG,KAAK,GAAG,IAAID,GAAG,CAACC,GAAG,KAAK,WAAW,KAAKlB,YAAY,EAAE;MACrFiB,GAAG,CAACE,cAAc,EAAE,CAAA;AACpBnB,MAAAA,YAAY,EAAE,CAAA;AAClB,KAAA;AACJ,GAAC,EACD,CAACA,YAAY,CACjB,CAAC,CAAA;EAED,MAAMoB,OAAO,GAAGA,MAAM;AAClB,IAAA,IAAItB,eAAe,EAAE;AACjBA,MAAAA,eAAe,EAAE,CAAA;AACrB,KAAA;AACAW,IAAAA,SAAS,EAAEY,OAAO,EAAEC,IAAI,EAAE,CAAA;GAC7B,CAAA;;AAED;EACAC,YAAY,CAAC9B,MAAM,IAAImB,WAAW,CAACS,OAAO,EAAEtC,YAAY,EAAEsC,OAAO,CAAC,CAAA;AAElE,EAAA,oBACIG,IAAA,CAAA,KAAA,EAAA;AACIhD,IAAAA,GAAG,EAAEiD,SAAS,CAACjD,GAAG,EAAEmC,SAAS,CAAE;AAC/B7B,IAAAA,SAAS,EAAE4C,UAAU,CACjB5C,SAAS,EACT6C,kBAAkB,CAAC;MACfvC,QAAQ;AACRwC,MAAAA,QAAQ,EAAEC,OAAO,CAACjC,KAAK,CAAC;AACxBkC,MAAAA,cAAc,EAAED,OAAO,CAAC5B,WAAW,CAAC;MACpC8B,QAAQ,EAAE,CAACvC,OAAO;MAClBD,UAAU;MACVC,OAAO;MACPqB,OAAO;MACPpB,MAAM;MACNE,OAAO;AACPqC,MAAAA,MAAM,EAAE7D,SAAS;AACjB+B,MAAAA,KAAK,EAAEA,KAAK,KAAKvB,KAAK,CAACC,KAAK,GAAGD,KAAK,CAACC,KAAK,GAAGD,KAAK,CAACsD,IAAAA;AACvD,KAAC,CACL,CAAE;IAAApD,QAAA,EAAA,cAEFqD,GAAA,CAAC5D,aAAa,EAAA;AAAA,MAAA,GACN+B,cAAc;AAClBI,MAAAA,SAAS,EAAEA,SAAU;AACrB,MAAA,eAAA,EAAelB,UAAW;AAC1BwB,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrC3B,MAAAA,QAAQ,EAAEA,QAAS;AACnBG,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,OAAO,EAAEA,OAAQ;AACjBE,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,KAAK,EAAEA,KAAM;AACbK,MAAAA,WAAW,EAAEA,WAAY;AACzBX,MAAAA,EAAE,EAAEkB,QAAS;AACbN,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,OAAO,EAAEA,OAAQ;AACjBP,MAAAA,OAAO,EAAEA,OAAQ;AACjBG,MAAAA,YAAY,EAAEA,YAAAA;AAAa,KAC9B,CAAC,eACFkC,GAAA,CAACC,QAAQ,EAAA;AACL1B,MAAAA,SAAS,EAAEA,SAAU;AACrBxB,MAAAA,YAAY,EAAEA,YAAa;MAC3BmD,gBAAgB,EAAA,IAAA;MAChBC,aAAa,EAAA,IAAA;MACb5C,MAAM,EAAE,CAAC,CAACA,MAAO;MACjB6C,SAAS,EAAEC,SAAS,CAACC,YAAa;AAClCpB,MAAAA,OAAO,EAAEA,OAAQ;AACjBrB,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCvB,MAAAA,GAAG,EAAEoC,WAAY;AAAA/B,MAAAA,QAAA,EAEhBA,QAAAA;KACK,CAAC,EACVO,QAAQ,IAAID,KAAK,iBACd+C,GAAA,CAACO,WAAW,EAAA;MAAC3D,SAAS,EAAE,CAAGX,EAAAA,SAAS,CAAW,QAAA,CAAA;MAACuE,IAAI,EAAEC,IAAI,CAACxD,KAAM;AAACe,MAAAA,KAAK,EAAEA,KAAM;AAAArB,MAAAA,QAAA,EAC1EM,KAAAA;AAAK,KACG,CAChB,EACAE,MAAM,iBACH6C,GAAA,CAACO,WAAW,EAAA;MAAC3D,SAAS,EAAE,CAAGX,EAAAA,SAAS,CAAW,QAAA,CAAA;AAAC+B,MAAAA,KAAK,EAAEA,KAAM;AAAArB,MAAAA,QAAA,EACxDQ,MAAAA;AAAM,KACE,CAChB,CAAA;AAAA,GACA,CAAC,CAAA;AAEd;;;;"}
|
package/_internal/a6be9f05.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { useRef } from 'react';
|
|
2
|
-
import classNames from 'classnames';
|
|
3
|
-
import { useKeyboardListNavigation } from './2040beb8.js';
|
|
4
|
-
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
5
|
-
import { mergeRefs } from './27df0cb6.js';
|
|
6
|
-
import { forwardRef } from './bd8b3ec8.js';
|
|
7
|
-
import { useInteractiveList } from './fdcf3942.js';
|
|
8
|
-
import { jsx } from 'react/jsx-runtime';
|
|
9
|
-
import { Size } from '@lumx/core/js/constants';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Component display name.
|
|
13
|
-
*/
|
|
14
|
-
const COMPONENT_NAME = 'List';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Component default class name and class prefix.
|
|
18
|
-
*/
|
|
19
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Component default props.
|
|
23
|
-
*/
|
|
24
|
-
const DEFAULT_PROPS = {
|
|
25
|
-
tabIndex: -1
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
|
|
29
|
-
/**
|
|
30
|
-
* List component.
|
|
31
|
-
*
|
|
32
|
-
* @param props Component props.
|
|
33
|
-
* @param ref Component ref.
|
|
34
|
-
* @return React element.
|
|
35
|
-
*/
|
|
36
|
-
const InternalList = forwardRef((props, ref) => {
|
|
37
|
-
const {
|
|
38
|
-
children,
|
|
39
|
-
className,
|
|
40
|
-
isClickable,
|
|
41
|
-
itemPadding,
|
|
42
|
-
onListItemSelected,
|
|
43
|
-
tabIndex = DEFAULT_PROPS.tabIndex,
|
|
44
|
-
...forwardedProps
|
|
45
|
-
} = props;
|
|
46
|
-
const listElementRef = useRef(null);
|
|
47
|
-
const {
|
|
48
|
-
items,
|
|
49
|
-
hasClickableItem
|
|
50
|
-
} = useInteractiveList({
|
|
51
|
-
items: children,
|
|
52
|
-
ref: listElementRef,
|
|
53
|
-
onListItemSelected
|
|
54
|
-
});
|
|
55
|
-
const clickable = hasClickableItem || isClickable;
|
|
56
|
-
return /*#__PURE__*/jsx("ul", {
|
|
57
|
-
...forwardedProps,
|
|
58
|
-
className: classNames(className, handleBasicClasses({
|
|
59
|
-
prefix: CLASSNAME,
|
|
60
|
-
itemPadding: itemPadding ?? (clickable ? Size.big : undefined)
|
|
61
|
-
})),
|
|
62
|
-
tabIndex: tabIndex,
|
|
63
|
-
ref: mergeRefs(ref, listElementRef),
|
|
64
|
-
children: items
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
InternalList.displayName = COMPONENT_NAME;
|
|
68
|
-
InternalList.className = CLASSNAME;
|
|
69
|
-
InternalList.defaultProps = DEFAULT_PROPS;
|
|
70
|
-
const List = Object.assign(InternalList, {
|
|
71
|
-
useKeyboardListNavigation
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
export { List };
|
|
75
|
-
//# sourceMappingURL=a6be9f05.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a6be9f05.js","sources":["../../src/components/list/List.tsx"],"sourcesContent":["import { Key, ReactNode, SyntheticEvent, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Size } from '@lumx/react';\nimport { useKeyboardListNavigation } from '@lumx/react/hooks/useKeyboardListNavigation';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useInteractiveList } from './useInteractiveList';\n\n/**\n * Defines the props of the component.\n */\nexport interface ListProps extends GenericProps {\n /** List content (should be ListItem, ListSubheader or ListDivider). */\n children: ReactNode;\n /**\n * Whether the list items are clickable.\n * @deprecated not needed anymore.\n */\n isClickable?: boolean;\n /** Item padding size. */\n itemPadding?: Extract<Size, 'big' | 'huge'>;\n /** Tab index of the list. Default to -1 */\n tabIndex?: number;\n /**\n * On list item selected callback.\n *\n * @param key React key of the selected item.\n * @param index Index of the selected item among the sibling items.\n * @param evt Source event (either mouse or keyboard event).\n */\n onListItemSelected?(key: Key, index: number, evt: SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'List';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ListProps> = {\n tabIndex: -1,\n};\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n/**\n * List component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nconst InternalList = forwardRef<ListProps, HTMLUListElement>((props, ref) => {\n const {\n children,\n className,\n isClickable,\n itemPadding,\n onListItemSelected,\n tabIndex = DEFAULT_PROPS.tabIndex,\n ...forwardedProps\n } = props;\n const listElementRef = useRef<HTMLUListElement>(null);\n\n const { items, hasClickableItem } = useInteractiveList({\n items: children,\n ref: listElementRef,\n onListItemSelected,\n });\n const clickable = hasClickableItem || isClickable;\n\n return (\n <ul\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n itemPadding: itemPadding ?? (clickable ? Size.big : undefined),\n }),\n )}\n tabIndex={tabIndex}\n ref={mergeRefs(ref, listElementRef)}\n >\n {items}\n </ul>\n );\n});\nInternalList.displayName = COMPONENT_NAME;\nInternalList.className = CLASSNAME;\nInternalList.defaultProps = DEFAULT_PROPS;\n\nexport const List = Object.assign(InternalList, { useKeyboardListNavigation });\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","tabIndex","InternalList","forwardRef","props","ref","children","className","isClickable","itemPadding","onListItemSelected","forwardedProps","listElementRef","useRef","items","hasClickableItem","useInteractiveList","clickable","_jsx","classNames","handleBasicClasses","prefix","Size","big","undefined","mergeRefs","displayName","defaultProps","List","Object","assign","useKeyboardListNavigation"],"mappings":";;;;;;;;;;AAsCA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,MAAM,CAAA;;AAE7B;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAiC,GAAG;AACtCC,EAAAA,QAAQ,EAAE,CAAC,CAAA;AACf,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAGC,UAAU,CAA8B,CAACC,KAAK,EAAEC,GAAG,KAAK;EACzE,MAAM;IACFC,QAAQ;IACRC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,kBAAkB;IAClBT,QAAQ,GAAGD,aAAa,CAACC,QAAQ;IACjC,GAAGU,cAAAA;AACP,GAAC,GAAGP,KAAK,CAAA;AACT,EAAA,MAAMQ,cAAc,GAAGC,MAAM,CAAmB,IAAI,CAAC,CAAA;EAErD,MAAM;IAAEC,KAAK;AAAEC,IAAAA,gBAAAA;GAAkB,GAAGC,kBAAkB,CAAC;AACnDF,IAAAA,KAAK,EAAER,QAAQ;AACfD,IAAAA,GAAG,EAAEO,cAAc;AACnBF,IAAAA,kBAAAA;AACJ,GAAC,CAAC,CAAA;AACF,EAAA,MAAMO,SAAS,GAAGF,gBAAgB,IAAIP,WAAW,CAAA;AAEjD,EAAA,oBACIU,GAAA,CAAA,IAAA,EAAA;AAAA,IAAA,GACQP,cAAc;AAClBJ,IAAAA,SAAS,EAAEY,UAAU,CACjBZ,SAAS,EACTa,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAEvB,SAAS;MACjBW,WAAW,EAAEA,WAAW,KAAKQ,SAAS,GAAGK,IAAI,CAACC,GAAG,GAAGC,SAAS,CAAA;AACjE,KAAC,CACL,CAAE;AACFvB,IAAAA,QAAQ,EAAEA,QAAS;AACnBI,IAAAA,GAAG,EAAEoB,SAAS,CAACpB,GAAG,EAAEO,cAAc,CAAE;AAAAN,IAAAA,QAAA,EAEnCQ,KAAAA;AAAK,GACN,CAAC,CAAA;AAEb,CAAC,CAAC,CAAA;AACFZ,YAAY,CAACwB,WAAW,GAAG7B,cAAc,CAAA;AACzCK,YAAY,CAACK,SAAS,GAAGT,SAAS,CAAA;AAClCI,YAAY,CAACyB,YAAY,GAAG3B,aAAa,CAAA;AAElC,MAAM4B,IAAI,GAAGC,MAAM,CAACC,MAAM,CAAC5B,YAAY,EAAE;AAAE6B,EAAAA,yBAAAA;AAA0B,CAAC;;;;"}
|
package/_internal/a6dc95cd.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { forwardRefPolymorphic } from './ebd44733.js';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Render clickable element (link, button or custom element)
|
|
6
|
-
* (also does some basic disabled state handling)
|
|
7
|
-
*/
|
|
8
|
-
const RawClickable = forwardRefPolymorphic((props, ref) => {
|
|
9
|
-
const {
|
|
10
|
-
children,
|
|
11
|
-
onClick,
|
|
12
|
-
disabled,
|
|
13
|
-
isDisabled = disabled,
|
|
14
|
-
'aria-disabled': ariaDisabled,
|
|
15
|
-
as,
|
|
16
|
-
...forwardedProps
|
|
17
|
-
} = props;
|
|
18
|
-
const isAnyDisabled = isDisabled || ariaDisabled === 'true' || ariaDisabled === true;
|
|
19
|
-
const Component = as;
|
|
20
|
-
let clickableProps;
|
|
21
|
-
if (Component === 'button') {
|
|
22
|
-
clickableProps = {
|
|
23
|
-
type: forwardedProps.type || 'button',
|
|
24
|
-
disabled: isDisabled
|
|
25
|
-
};
|
|
26
|
-
} else {
|
|
27
|
-
clickableProps = {
|
|
28
|
-
tabIndex: isDisabled ? '-1' : forwardedProps.tabIndex
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
return /*#__PURE__*/jsx(Component, {
|
|
32
|
-
ref: ref,
|
|
33
|
-
"aria-disabled": isAnyDisabled || undefined,
|
|
34
|
-
...forwardedProps,
|
|
35
|
-
...clickableProps,
|
|
36
|
-
onClick: event => {
|
|
37
|
-
if (isAnyDisabled) {
|
|
38
|
-
event.stopPropagation();
|
|
39
|
-
event.preventDefault();
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
onClick?.(event);
|
|
43
|
-
},
|
|
44
|
-
children: children
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
export { RawClickable };
|
|
49
|
-
//# sourceMappingURL=a6dc95cd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a6dc95cd.js","sources":["../../src/utils/react/RawClickable.tsx"],"sourcesContent":["import { AriaAttributes, ElementType } from 'react';\nimport { forwardRefPolymorphic } from '@lumx/react/utils/react/forwardRefPolymorphic';\nimport { ComponentRef, HasPolymorphicAs } from '@lumx/react/utils/type';\nimport { HasRequiredLinkHref } from '@lumx/react/utils/type/HasRequiredLinkHref';\n\ntype ClickableElement = 'a' | 'button' | ElementType;\n\ntype BaseClickableProps<E extends ClickableElement> = {\n children?: React.ReactNode;\n isDisabled?: boolean;\n disabled?: boolean;\n 'aria-disabled'?: AriaAttributes['aria-disabled'];\n onClick?: React.MouseEventHandler<E>;\n};\n\nexport type RawClickableProps<E extends ClickableElement> = HasPolymorphicAs<E> &\n HasRequiredLinkHref<E> &\n BaseClickableProps<E>;\n\n/**\n * Render clickable element (link, button or custom element)\n * (also does some basic disabled state handling)\n */\nexport const RawClickable = forwardRefPolymorphic(\n <E extends ClickableElement>(props: RawClickableProps<E>, ref: ComponentRef<E>) => {\n const {\n children,\n onClick,\n disabled,\n isDisabled = disabled,\n 'aria-disabled': ariaDisabled,\n as,\n ...forwardedProps\n } = props;\n\n const isAnyDisabled = isDisabled || ariaDisabled === 'true' || ariaDisabled === true;\n\n const Component = as as any;\n let clickableProps;\n if (Component === 'button') {\n clickableProps = { type: forwardedProps.type || 'button', disabled: isDisabled };\n } else {\n clickableProps = { tabIndex: isDisabled ? '-1' : forwardedProps.tabIndex };\n }\n\n return (\n <Component\n ref={ref}\n aria-disabled={isAnyDisabled || undefined}\n {...forwardedProps}\n {...clickableProps}\n onClick={(event: any) => {\n if (isAnyDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n onClick?.(event);\n }}\n >\n {children}\n </Component>\n );\n },\n);\n"],"names":["RawClickable","forwardRefPolymorphic","props","ref","children","onClick","disabled","isDisabled","ariaDisabled","as","forwardedProps","isAnyDisabled","Component","clickableProps","type","tabIndex","_jsx","undefined","event","stopPropagation","preventDefault"],"mappings":";;;AAmBA;AACA;AACA;AACA;AACO,MAAMA,YAAY,GAAGC,qBAAqB,CAC7C,CAA6BC,KAA2B,EAAEC,GAAoB,KAAK;EAC/E,MAAM;IACFC,QAAQ;IACRC,OAAO;IACPC,QAAQ;AACRC,IAAAA,UAAU,GAAGD,QAAQ;AACrB,IAAA,eAAe,EAAEE,YAAY;IAC7BC,EAAE;IACF,GAAGC,cAAAA;AACP,GAAC,GAAGR,KAAK,CAAA;EAET,MAAMS,aAAa,GAAGJ,UAAU,IAAIC,YAAY,KAAK,MAAM,IAAIA,YAAY,KAAK,IAAI,CAAA;EAEpF,MAAMI,SAAS,GAAGH,EAAS,CAAA;AAC3B,EAAA,IAAII,cAAc,CAAA;EAClB,IAAID,SAAS,KAAK,QAAQ,EAAE;AACxBC,IAAAA,cAAc,GAAG;AAAEC,MAAAA,IAAI,EAAEJ,cAAc,CAACI,IAAI,IAAI,QAAQ;AAAER,MAAAA,QAAQ,EAAEC,UAAAA;KAAY,CAAA;AACpF,GAAC,MAAM;AACHM,IAAAA,cAAc,GAAG;AAAEE,MAAAA,QAAQ,EAAER,UAAU,GAAG,IAAI,GAAGG,cAAc,CAACK,QAAAA;KAAU,CAAA;AAC9E,GAAA;EAEA,oBACIC,GAAA,CAACJ,SAAS,EAAA;AACNT,IAAAA,GAAG,EAAEA,GAAI;IACT,eAAeQ,EAAAA,aAAa,IAAIM,SAAU;AAAA,IAAA,GACtCP,cAAc;AAAA,IAAA,GACdG,cAAc;IAClBR,OAAO,EAAGa,KAAU,IAAK;AACrB,MAAA,IAAIP,aAAa,EAAE;QACfO,KAAK,CAACC,eAAe,EAAE,CAAA;QACvBD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtB,QAAA,OAAA;AACJ,OAAA;MACAf,OAAO,GAAGa,KAAK,CAAC,CAAA;KAClB;AAAAd,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACF,CAAC,CAAA;AAEpB,CACJ;;;;"}
|
package/_internal/a7abe967.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
|
|
3
|
-
const useEnhancedEffect = typeof window !== 'undefined' ? React__default.useLayoutEffect : React__default.useEffect;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* https://github.com/facebook/react/issues/14099#issuecomment-440013892
|
|
7
|
-
*
|
|
8
|
-
* @param fn A function to run
|
|
9
|
-
* @return A React callback
|
|
10
|
-
*/
|
|
11
|
-
function useEventCallback(fn) {
|
|
12
|
-
const ref = React__default.useRef(fn);
|
|
13
|
-
useEnhancedEffect(() => {
|
|
14
|
-
ref.current = fn;
|
|
15
|
-
});
|
|
16
|
-
return React__default.useCallback(event => ref.current(event), []);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { useEventCallback as default };
|
|
20
|
-
//# sourceMappingURL=a7abe967.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a7abe967.js","sources":["../../src/hooks/useEventCallback.tsx"],"sourcesContent":["import React from 'react';\n\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param fn A function to run\n * @return A React callback\n */\nexport default function useEventCallback(fn: (...args: any[]) => any): (event: any) => any {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useCallback((event: any) => ref.current(event), []);\n}\n"],"names":["useEnhancedEffect","window","React","useLayoutEffect","useEffect","useEventCallback","fn","ref","useRef","current","useCallback","event"],"mappings":";;AAEA,MAAMA,iBAAiB,GAAG,OAAOC,MAAM,KAAK,WAAW,GAAGC,cAAK,CAACC,eAAe,GAAGD,cAAK,CAACE,SAAS,CAAA;;AAEjG;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,gBAAgBA,CAACC,EAA2B,EAAuB;AACvF,EAAA,MAAMC,GAAG,GAAGL,cAAK,CAACM,MAAM,CAACF,EAAE,CAAC,CAAA;AAC5BN,EAAAA,iBAAiB,CAAC,MAAM;IACpBO,GAAG,CAACE,OAAO,GAAGH,EAAE,CAAA;AACpB,GAAC,CAAC,CAAA;AACF,EAAA,OAAOJ,cAAK,CAACQ,WAAW,CAAEC,KAAU,IAAKJ,GAAG,CAACE,OAAO,CAACE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;AACpE;;;;"}
|
package/_internal/a89bf7bc.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import React__default, { Children, useRef } from 'react';
|
|
2
|
-
import classNames from 'classnames';
|
|
3
|
-
import isEmpty from 'lodash/isEmpty';
|
|
4
|
-
import { isComponent } from './ebe24fd7.js';
|
|
5
|
-
import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
|
|
6
|
-
import { partitionMulti } from './cb19eca6.js';
|
|
7
|
-
import { useTheme } from './d8ee966d.js';
|
|
8
|
-
import { forwardRef } from './bd8b3ec8.js';
|
|
9
|
-
import { IS_BROWSER } from './6af61e2f.js';
|
|
10
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
11
|
-
import { mdiChevronUp } from './0846b7f3.js';
|
|
12
|
-
import { mdiChevronDown } from './256f8eff.js';
|
|
13
|
-
import { DragHandle } from './840e9690.js';
|
|
14
|
-
import { Theme, ColorPalette, Emphasis } from '@lumx/core/js/constants';
|
|
15
|
-
import { IconButton } from './5a0207d9.js';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Component display name.
|
|
19
|
-
*/
|
|
20
|
-
const COMPONENT_NAME = 'ExpansionPanel';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Component default class name and class prefix.
|
|
24
|
-
*/
|
|
25
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Component default props.
|
|
29
|
-
*/
|
|
30
|
-
const DEFAULT_PROPS = {
|
|
31
|
-
closeMode: 'unmount'
|
|
32
|
-
};
|
|
33
|
-
const isDragHandle = isComponent(DragHandle);
|
|
34
|
-
const isHeader = isComponent('header');
|
|
35
|
-
const isFooter = isComponent('footer');
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* ExpansionPanel component.
|
|
39
|
-
*
|
|
40
|
-
* @param props Component props.
|
|
41
|
-
* @param ref Component ref.
|
|
42
|
-
* @return React element.
|
|
43
|
-
*/
|
|
44
|
-
const ExpansionPanel = forwardRef((props, ref) => {
|
|
45
|
-
const defaultTheme = useTheme() || Theme.light;
|
|
46
|
-
const {
|
|
47
|
-
className,
|
|
48
|
-
closeMode = DEFAULT_PROPS.closeMode,
|
|
49
|
-
children: anyChildren,
|
|
50
|
-
hasBackground,
|
|
51
|
-
hasHeaderDivider,
|
|
52
|
-
isOpen,
|
|
53
|
-
label,
|
|
54
|
-
onClose,
|
|
55
|
-
onOpen,
|
|
56
|
-
onToggleOpen,
|
|
57
|
-
theme = defaultTheme,
|
|
58
|
-
toggleButtonProps,
|
|
59
|
-
...forwardedProps
|
|
60
|
-
} = props;
|
|
61
|
-
const children = Children.toArray(anyChildren);
|
|
62
|
-
|
|
63
|
-
// Partition children by types.
|
|
64
|
-
const [[dragHandle], [header], [footer], content] = partitionMulti(children, [isDragHandle, isHeader, isFooter]);
|
|
65
|
-
|
|
66
|
-
// Either take the header in children or create one with the label.
|
|
67
|
-
const headerProps = /*#__PURE__*/React__default.isValidElement(header) ? header.props : {};
|
|
68
|
-
const headerContent = !isEmpty(headerProps.children) ? headerProps.children : /*#__PURE__*/jsx("span", {
|
|
69
|
-
className: `${CLASSNAME}__label`,
|
|
70
|
-
children: label
|
|
71
|
-
});
|
|
72
|
-
const toggleOpen = event => {
|
|
73
|
-
const shouldOpen = !isOpen;
|
|
74
|
-
if (onOpen && shouldOpen) {
|
|
75
|
-
onOpen(event);
|
|
76
|
-
}
|
|
77
|
-
if (onClose && !shouldOpen) {
|
|
78
|
-
onClose(event);
|
|
79
|
-
}
|
|
80
|
-
if (onToggleOpen) {
|
|
81
|
-
onToggleOpen(shouldOpen, event);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
const color = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;
|
|
85
|
-
const rootClassName = classNames(className, handleBasicClasses({
|
|
86
|
-
hasBackground,
|
|
87
|
-
hasHeader: Boolean(!isEmpty(headerProps.children)),
|
|
88
|
-
hasHeaderDivider,
|
|
89
|
-
isClose: !isOpen,
|
|
90
|
-
isDraggable: Boolean(dragHandle),
|
|
91
|
-
isOpen,
|
|
92
|
-
prefix: CLASSNAME,
|
|
93
|
-
theme
|
|
94
|
-
}));
|
|
95
|
-
const wrapperRef = useRef(null);
|
|
96
|
-
|
|
97
|
-
// Children stay visible while the open/close transition is running
|
|
98
|
-
const [isChildrenVisible, setChildrenVisible] = React__default.useState(isOpen);
|
|
99
|
-
const isOpenRef = React__default.useRef(isOpen);
|
|
100
|
-
React__default.useEffect(() => {
|
|
101
|
-
if (isOpen || closeMode === 'hide') {
|
|
102
|
-
setChildrenVisible(true);
|
|
103
|
-
} else if (!IS_BROWSER) {
|
|
104
|
-
// Outside a browser we can't wait for the transition
|
|
105
|
-
setChildrenVisible(false);
|
|
106
|
-
}
|
|
107
|
-
isOpenRef.current = isOpen;
|
|
108
|
-
}, [closeMode, isOpen]);
|
|
109
|
-
|
|
110
|
-
// Change children's visibility on the transition end
|
|
111
|
-
React__default.useEffect(() => {
|
|
112
|
-
const {
|
|
113
|
-
current: wrapper
|
|
114
|
-
} = wrapperRef;
|
|
115
|
-
if (!IS_BROWSER || !wrapper) {
|
|
116
|
-
return undefined;
|
|
117
|
-
}
|
|
118
|
-
const onTransitionEnd = () => {
|
|
119
|
-
setChildrenVisible(isOpenRef.current || closeMode === 'hide');
|
|
120
|
-
};
|
|
121
|
-
wrapper.addEventListener('transitionend', onTransitionEnd);
|
|
122
|
-
return () => wrapper.removeEventListener('transitionend', onTransitionEnd);
|
|
123
|
-
}, [closeMode]);
|
|
124
|
-
return /*#__PURE__*/jsxs("section", {
|
|
125
|
-
ref: ref,
|
|
126
|
-
...forwardedProps,
|
|
127
|
-
className: rootClassName,
|
|
128
|
-
children: [/*#__PURE__*/jsxs("header", {
|
|
129
|
-
className: `${CLASSNAME}__header`,
|
|
130
|
-
onClick: toggleOpen,
|
|
131
|
-
children: [dragHandle && /*#__PURE__*/jsx("div", {
|
|
132
|
-
className: `${CLASSNAME}__header-drag`,
|
|
133
|
-
children: dragHandle
|
|
134
|
-
}), /*#__PURE__*/jsx("div", {
|
|
135
|
-
...headerProps,
|
|
136
|
-
className: `${CLASSNAME}__header-content`,
|
|
137
|
-
children: headerContent
|
|
138
|
-
}), /*#__PURE__*/jsx("div", {
|
|
139
|
-
className: `${CLASSNAME}__header-toggle`,
|
|
140
|
-
children: /*#__PURE__*/jsx(IconButton, {
|
|
141
|
-
...toggleButtonProps,
|
|
142
|
-
color: color,
|
|
143
|
-
emphasis: Emphasis.low,
|
|
144
|
-
icon: isOpen ? mdiChevronUp : mdiChevronDown,
|
|
145
|
-
"aria-expanded": isOpen || 'false'
|
|
146
|
-
})
|
|
147
|
-
})]
|
|
148
|
-
}), /*#__PURE__*/jsx("div", {
|
|
149
|
-
className: `${CLASSNAME}__wrapper`,
|
|
150
|
-
ref: wrapperRef,
|
|
151
|
-
children: (isOpen || isChildrenVisible) && /*#__PURE__*/jsxs("div", {
|
|
152
|
-
className: `${CLASSNAME}__container`,
|
|
153
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
154
|
-
className: `${CLASSNAME}__content`,
|
|
155
|
-
children: content
|
|
156
|
-
}), footer && /*#__PURE__*/jsx("div", {
|
|
157
|
-
className: `${CLASSNAME}__footer`,
|
|
158
|
-
children: footer
|
|
159
|
-
})]
|
|
160
|
-
})
|
|
161
|
-
})]
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
ExpansionPanel.displayName = COMPONENT_NAME;
|
|
165
|
-
ExpansionPanel.className = CLASSNAME;
|
|
166
|
-
ExpansionPanel.defaultProps = DEFAULT_PROPS;
|
|
167
|
-
|
|
168
|
-
export { ExpansionPanel };
|
|
169
|
-
//# sourceMappingURL=a89bf7bc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a89bf7bc.js","sources":["../../src/components/expansion-panel/ExpansionPanel.tsx"],"sourcesContent":["import React, { Children, PropsWithChildren, ReactNode, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiChevronDown, mdiChevronUp } from '@lumx/icons';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ColorPalette, DragHandle, Emphasis, IconButton, IconButtonProps, Theme } from '@lumx/react';\nimport { GenericProps, HasCloseMode, HasTheme, isComponent } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { partitionMulti } from '@lumx/react/utils/partitionMulti';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { IS_BROWSER } from '@lumx/react/constants';\n\n/**\n * Defines the props of the component.\n */\nexport interface ExpansionPanelProps extends GenericProps, HasCloseMode, HasTheme {\n /** Whether the expansion panel has a background. */\n hasBackground?: boolean;\n /** Whether the header has a divider. */\n hasHeaderDivider?: boolean;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Label text (overwritten if a `<header>` is provided in the children). */\n label?: string;\n /** On open callback. */\n onOpen?: (event: React.MouseEvent) => void;\n /** On close callback. */\n onClose?: (event: React.MouseEvent) => void;\n /** Props to pass to the toggle button (minus those already set by the ExpansionPanel props). */\n toggleButtonProps: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color'>;\n /** On toggle open or close callback. */\n onToggleOpen?(shouldOpen: boolean, event: React.MouseEvent): void;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ExpansionPanel';\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<ExpansionPanelProps> = {\n closeMode: 'unmount',\n};\n\nconst isDragHandle = isComponent(DragHandle);\nconst isHeader = isComponent('header');\nconst isFooter = isComponent('footer');\n\n/**\n * ExpansionPanel component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ExpansionPanel = forwardRef<ExpansionPanelProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n className,\n closeMode = DEFAULT_PROPS.closeMode,\n children: anyChildren,\n hasBackground,\n hasHeaderDivider,\n isOpen,\n label,\n onClose,\n onOpen,\n onToggleOpen,\n theme = defaultTheme,\n toggleButtonProps,\n ...forwardedProps\n } = props;\n\n const children: ReactNode[] = Children.toArray(anyChildren);\n\n // Partition children by types.\n const [[dragHandle], [header], [footer], content] = partitionMulti(children, [isDragHandle, isHeader, isFooter]);\n\n // Either take the header in children or create one with the label.\n const headerProps: PropsWithChildren<any> = React.isValidElement(header) ? header.props : {};\n const headerContent = !isEmpty(headerProps.children) ? (\n headerProps.children\n ) : (\n <span className={`${CLASSNAME}__label`}>{label}</span>\n );\n\n const toggleOpen = (event: React.MouseEvent) => {\n const shouldOpen = !isOpen;\n\n if (onOpen && shouldOpen) {\n onOpen(event);\n }\n if (onClose && !shouldOpen) {\n onClose(event);\n }\n if (onToggleOpen) {\n onToggleOpen(shouldOpen, event);\n }\n };\n\n const color = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;\n\n const rootClassName = classNames(\n className,\n handleBasicClasses({\n hasBackground,\n hasHeader: Boolean(!isEmpty(headerProps.children)),\n hasHeaderDivider,\n isClose: !isOpen,\n isDraggable: Boolean(dragHandle),\n isOpen,\n prefix: CLASSNAME,\n theme,\n }),\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // Children stay visible while the open/close transition is running\n const [isChildrenVisible, setChildrenVisible] = React.useState(isOpen);\n\n const isOpenRef = React.useRef(isOpen);\n React.useEffect(() => {\n if (isOpen || closeMode === 'hide') {\n setChildrenVisible(true);\n } else if (!IS_BROWSER) {\n // Outside a browser we can't wait for the transition\n setChildrenVisible(false);\n }\n isOpenRef.current = isOpen;\n }, [closeMode, isOpen]);\n\n // Change children's visibility on the transition end\n React.useEffect(() => {\n const { current: wrapper } = wrapperRef;\n if (!IS_BROWSER || !wrapper) {\n return undefined;\n }\n const onTransitionEnd = () => {\n setChildrenVisible(isOpenRef.current || closeMode === 'hide');\n };\n wrapper.addEventListener('transitionend', onTransitionEnd);\n return () => wrapper.removeEventListener('transitionend', onTransitionEnd);\n }, [closeMode]);\n\n return (\n <section ref={ref} {...forwardedProps} className={rootClassName}>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions */}\n <header className={`${CLASSNAME}__header`} onClick={toggleOpen}>\n {dragHandle && <div className={`${CLASSNAME}__header-drag`}>{dragHandle}</div>}\n\n <div {...headerProps} className={`${CLASSNAME}__header-content`}>\n {headerContent}\n </div>\n\n <div className={`${CLASSNAME}__header-toggle`}>\n <IconButton\n {...toggleButtonProps}\n color={color}\n emphasis={Emphasis.low}\n icon={isOpen ? mdiChevronUp : mdiChevronDown}\n aria-expanded={isOpen || 'false'}\n />\n </div>\n </header>\n\n <div className={`${CLASSNAME}__wrapper`} ref={wrapperRef}>\n {(isOpen || isChildrenVisible) && (\n <div className={`${CLASSNAME}__container`}>\n <div className={`${CLASSNAME}__content`}>{content}</div>\n\n {footer && <div className={`${CLASSNAME}__footer`}>{footer}</div>}\n </div>\n )}\n </div>\n </section>\n );\n});\nExpansionPanel.displayName = COMPONENT_NAME;\nExpansionPanel.className = CLASSNAME;\nExpansionPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","closeMode","isDragHandle","isComponent","DragHandle","isHeader","isFooter","ExpansionPanel","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","children","anyChildren","hasBackground","hasHeaderDivider","isOpen","label","onClose","onOpen","onToggleOpen","theme","toggleButtonProps","forwardedProps","Children","toArray","dragHandle","header","footer","content","partitionMulti","headerProps","React","isValidElement","headerContent","isEmpty","_jsx","toggleOpen","event","shouldOpen","color","dark","ColorPalette","rootClassName","classNames","handleBasicClasses","hasHeader","Boolean","isClose","isDraggable","prefix","wrapperRef","useRef","isChildrenVisible","setChildrenVisible","useState","isOpenRef","useEffect","IS_BROWSER","current","wrapper","undefined","onTransitionEnd","addEventListener","removeEventListener","_jsxs","onClick","IconButton","emphasis","Emphasis","low","icon","mdiChevronUp","mdiChevronDown","displayName","defaultProps"],"mappings":"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"}
|
package/_internal/a9d0f94d.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { useState } from 'react';
|
|
2
|
-
import { addMonthResetDay } from './e429bd82.js';
|
|
3
|
-
import { isDateValid } from './658e09de.js';
|
|
4
|
-
import { forwardRef } from './bd8b3ec8.js';
|
|
5
|
-
import { COMPONENT_NAME, CLASSNAME } from './f8c49b24.js';
|
|
6
|
-
import { DatePickerControlled } from './27a93417.js';
|
|
7
|
-
import { jsx } from 'react/jsx-runtime';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* DatePicker component.
|
|
11
|
-
*
|
|
12
|
-
* @param props Component props.
|
|
13
|
-
* @param ref Component ref.
|
|
14
|
-
* @return React element.
|
|
15
|
-
*/
|
|
16
|
-
const DatePicker = forwardRef((props, ref) => {
|
|
17
|
-
const {
|
|
18
|
-
defaultMonth,
|
|
19
|
-
locale,
|
|
20
|
-
value,
|
|
21
|
-
onChange,
|
|
22
|
-
...forwardedProps
|
|
23
|
-
} = props;
|
|
24
|
-
let referenceDate = value || defaultMonth || new Date();
|
|
25
|
-
if (!isDateValid(referenceDate)) {
|
|
26
|
-
// eslint-disable-next-line no-console
|
|
27
|
-
console.warn(`[@lumx/react/DatePicker] Invalid date provided ${referenceDate}`);
|
|
28
|
-
referenceDate = new Date();
|
|
29
|
-
}
|
|
30
|
-
const [selectedMonth, setSelectedMonth] = useState(referenceDate);
|
|
31
|
-
const setPrevMonth = () => setSelectedMonth(current => addMonthResetDay(current, -1));
|
|
32
|
-
const setNextMonth = () => setSelectedMonth(current => addMonthResetDay(current, +1));
|
|
33
|
-
const onDatePickerChange = newDate => {
|
|
34
|
-
onChange(newDate);
|
|
35
|
-
};
|
|
36
|
-
return /*#__PURE__*/jsx(DatePickerControlled, {
|
|
37
|
-
ref: ref,
|
|
38
|
-
...forwardedProps,
|
|
39
|
-
defaultMonth: defaultMonth,
|
|
40
|
-
locale: locale,
|
|
41
|
-
value: value,
|
|
42
|
-
onPrevMonthChange: setPrevMonth,
|
|
43
|
-
onNextMonthChange: setNextMonth,
|
|
44
|
-
selectedMonth: selectedMonth,
|
|
45
|
-
onChange: onDatePickerChange,
|
|
46
|
-
onMonthChange: setSelectedMonth
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
DatePicker.displayName = COMPONENT_NAME;
|
|
50
|
-
DatePicker.className = CLASSNAME;
|
|
51
|
-
|
|
52
|
-
export { DatePicker };
|
|
53
|
-
//# sourceMappingURL=a9d0f94d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a9d0f94d.js","sources":["../../src/components/date-picker/DatePicker.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { addMonthResetDay } from '@lumx/react/utils/date/addMonthResetDay';\nimport { isDateValid } from '@lumx/react/utils/date/isDateValid';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { CLASSNAME, COMPONENT_NAME } from './constants';\nimport { DatePickerControlled } from './DatePickerControlled';\nimport { DatePickerProps } from './types';\n\n/**\n * DatePicker component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const DatePicker = forwardRef<DatePickerProps, HTMLDivElement>((props, ref) => {\n const { defaultMonth, locale, value, onChange, ...forwardedProps } = props;\n\n let referenceDate = value || defaultMonth || new Date();\n if (!isDateValid(referenceDate)) {\n // eslint-disable-next-line no-console\n console.warn(`[@lumx/react/DatePicker] Invalid date provided ${referenceDate}`);\n referenceDate = new Date();\n }\n\n const [selectedMonth, setSelectedMonth] = useState(referenceDate);\n const setPrevMonth = () => setSelectedMonth((current) => addMonthResetDay(current, -1));\n const setNextMonth = () => setSelectedMonth((current) => addMonthResetDay(current, +1));\n\n const onDatePickerChange = (newDate?: Date) => {\n onChange(newDate);\n };\n\n return (\n <DatePickerControlled\n ref={ref}\n {...forwardedProps}\n defaultMonth={defaultMonth}\n locale={locale}\n value={value}\n onPrevMonthChange={setPrevMonth}\n onNextMonthChange={setNextMonth}\n selectedMonth={selectedMonth}\n onChange={onDatePickerChange}\n onMonthChange={setSelectedMonth}\n />\n );\n});\nDatePicker.displayName = COMPONENT_NAME;\nDatePicker.className = CLASSNAME;\n"],"names":["DatePicker","forwardRef","props","ref","defaultMonth","locale","value","onChange","forwardedProps","referenceDate","Date","isDateValid","console","warn","selectedMonth","setSelectedMonth","useState","setPrevMonth","current","addMonthResetDay","setNextMonth","onDatePickerChange","newDate","_jsx","DatePickerControlled","onPrevMonthChange","onNextMonthChange","onMonthChange","displayName","COMPONENT_NAME","className","CLASSNAME"],"mappings":";;;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,UAAU,GAAGC,UAAU,CAAkC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAClF,MAAM;IAAEC,YAAY;IAAEC,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAGN,KAAK,CAAA;EAE1E,IAAIO,aAAa,GAAGH,KAAK,IAAIF,YAAY,IAAI,IAAIM,IAAI,EAAE,CAAA;AACvD,EAAA,IAAI,CAACC,WAAW,CAACF,aAAa,CAAC,EAAE;AAC7B;AACAG,IAAAA,OAAO,CAACC,IAAI,CAAC,CAAkDJ,+CAAAA,EAAAA,aAAa,EAAE,CAAC,CAAA;AAC/EA,IAAAA,aAAa,GAAG,IAAIC,IAAI,EAAE,CAAA;AAC9B,GAAA;EAEA,MAAM,CAACI,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,QAAQ,CAACP,aAAa,CAAC,CAAA;AACjE,EAAA,MAAMQ,YAAY,GAAGA,MAAMF,gBAAgB,CAAEG,OAAO,IAAKC,gBAAgB,CAACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACvF,EAAA,MAAME,YAAY,GAAGA,MAAML,gBAAgB,CAAEG,OAAO,IAAKC,gBAAgB,CAACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;EAEvF,MAAMG,kBAAkB,GAAIC,OAAc,IAAK;IAC3Cf,QAAQ,CAACe,OAAO,CAAC,CAAA;GACpB,CAAA;EAED,oBACIC,GAAA,CAACC,oBAAoB,EAAA;AACjBrB,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLK,cAAc;AAClBJ,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,KAAK,EAAEA,KAAM;AACbmB,IAAAA,iBAAiB,EAAER,YAAa;AAChCS,IAAAA,iBAAiB,EAAEN,YAAa;AAChCN,IAAAA,aAAa,EAAEA,aAAc;AAC7BP,IAAAA,QAAQ,EAAEc,kBAAmB;AAC7BM,IAAAA,aAAa,EAAEZ,gBAAAA;AAAiB,GACnC,CAAC,CAAA;AAEV,CAAC,EAAC;AACFf,UAAU,CAAC4B,WAAW,GAAGC,cAAc,CAAA;AACvC7B,UAAU,CAAC8B,SAAS,GAAGC,SAAS;;;;"}
|
package/_internal/ab3e5463.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import isEmpty from 'lodash/isEmpty';
|
|
3
|
-
|
|
4
|
-
const EVENT_TYPES = ['mousedown', 'touchstart'];
|
|
5
|
-
function isClickAway(targets, refs) {
|
|
6
|
-
// The targets elements are not contained in any of the listed element references.
|
|
7
|
-
return !refs.some(ref => targets.some(target => ref?.current?.contains(target)));
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Listen to clicks away from the given elements and callback the passed in function.
|
|
11
|
-
*
|
|
12
|
-
* Warning: If you need to detect click away on nested React portals, please use the `ClickAwayProvider` component.
|
|
13
|
-
*/
|
|
14
|
-
function useClickAway({
|
|
15
|
-
callback,
|
|
16
|
-
childrenRefs
|
|
17
|
-
}) {
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
const {
|
|
20
|
-
current: currentRefs
|
|
21
|
-
} = childrenRefs;
|
|
22
|
-
if (!callback || !currentRefs || isEmpty(currentRefs)) {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
const listener = evt => {
|
|
26
|
-
const targets = [evt.composedPath?.()[0], evt.target];
|
|
27
|
-
if (isClickAway(targets, currentRefs)) {
|
|
28
|
-
callback(evt);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
EVENT_TYPES.forEach(evtType => document.addEventListener(evtType, listener));
|
|
32
|
-
return () => {
|
|
33
|
-
EVENT_TYPES.forEach(evtType => document.removeEventListener(evtType, listener));
|
|
34
|
-
};
|
|
35
|
-
}, [callback, childrenRefs]);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { useClickAway };
|
|
39
|
-
//# sourceMappingURL=ab3e5463.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ab3e5463.js","sources":["../../src/hooks/useClickAway.tsx"],"sourcesContent":["import { RefObject, useEffect } from 'react';\n\nimport { Falsy } from '@lumx/react/utils/type';\n\nimport isEmpty from 'lodash/isEmpty';\n\nconst EVENT_TYPES = ['mousedown', 'touchstart'];\n\nfunction isClickAway(targets: HTMLElement[], refs: Array<RefObject<HTMLElement>>): boolean {\n // The targets elements are not contained in any of the listed element references.\n return !refs.some((ref) => targets.some((target) => ref?.current?.contains(target)));\n}\n\nexport interface ClickAwayParameters {\n /**\n * A callback function to call when the user clicks away from the elements.\n */\n callback: EventListener | Falsy;\n /**\n * Elements considered within the click away context (clicking outside them will trigger the click away callback).\n */\n childrenRefs: RefObject<Array<RefObject<HTMLElement>>>;\n}\n\n/**\n * Listen to clicks away from the given elements and callback the passed in function.\n *\n * Warning: If you need to detect click away on nested React portals, please use the `ClickAwayProvider` component.\n */\nexport function useClickAway({ callback, childrenRefs }: ClickAwayParameters): void {\n useEffect(() => {\n const { current: currentRefs } = childrenRefs;\n if (!callback || !currentRefs || isEmpty(currentRefs)) {\n return undefined;\n }\n const listener: EventListener = (evt) => {\n const targets = [evt.composedPath?.()[0], evt.target] as HTMLElement[];\n if (isClickAway(targets, currentRefs)) {\n callback(evt);\n }\n };\n\n EVENT_TYPES.forEach((evtType) => document.addEventListener(evtType, listener));\n return () => {\n EVENT_TYPES.forEach((evtType) => document.removeEventListener(evtType, listener));\n };\n }, [callback, childrenRefs]);\n}\n"],"names":["EVENT_TYPES","isClickAway","targets","refs","some","ref","target","current","contains","useClickAway","callback","childrenRefs","useEffect","currentRefs","isEmpty","undefined","listener","evt","composedPath","forEach","evtType","document","addEventListener","removeEventListener"],"mappings":";;;AAMA,MAAMA,WAAW,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;AAE/C,SAASC,WAAWA,CAACC,OAAsB,EAAEC,IAAmC,EAAW;AACvF;EACA,OAAO,CAACA,IAAI,CAACC,IAAI,CAAEC,GAAG,IAAKH,OAAO,CAACE,IAAI,CAAEE,MAAM,IAAKD,GAAG,EAAEE,OAAO,EAAEC,QAAQ,CAACF,MAAM,CAAC,CAAC,CAAC,CAAA;AACxF,CAAA;AAaA;AACA;AACA;AACA;AACA;AACO,SAASG,YAAYA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,YAAAA;AAAkC,CAAC,EAAQ;AAChFC,EAAAA,SAAS,CAAC,MAAM;IACZ,MAAM;AAAEL,MAAAA,OAAO,EAAEM,WAAAA;AAAY,KAAC,GAAGF,YAAY,CAAA;IAC7C,IAAI,CAACD,QAAQ,IAAI,CAACG,WAAW,IAAIC,OAAO,CAACD,WAAW,CAAC,EAAE;AACnD,MAAA,OAAOE,SAAS,CAAA;AACpB,KAAA;IACA,MAAMC,QAAuB,GAAIC,GAAG,IAAK;AACrC,MAAA,MAAMf,OAAO,GAAG,CAACe,GAAG,CAACC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAED,GAAG,CAACX,MAAM,CAAkB,CAAA;AACtE,MAAA,IAAIL,WAAW,CAACC,OAAO,EAAEW,WAAW,CAAC,EAAE;QACnCH,QAAQ,CAACO,GAAG,CAAC,CAAA;AACjB,OAAA;KACH,CAAA;AAEDjB,IAAAA,WAAW,CAACmB,OAAO,CAAEC,OAAO,IAAKC,QAAQ,CAACC,gBAAgB,CAACF,OAAO,EAAEJ,QAAQ,CAAC,CAAC,CAAA;AAC9E,IAAA,OAAO,MAAM;AACThB,MAAAA,WAAW,CAACmB,OAAO,CAAEC,OAAO,IAAKC,QAAQ,CAACE,mBAAmB,CAACH,OAAO,EAAEJ,QAAQ,CAAC,CAAC,CAAA;KACpF,CAAA;AACL,GAAC,EAAE,CAACN,QAAQ,EAAEC,YAAY,CAAC,CAAC,CAAA;AAChC;;;;"}
|