@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.
Files changed (688) hide show
  1. package/_internal/00560d40.js +11 -0
  2. package/_internal/00560d40.js.map +1 -0
  3. package/_internal/{components/grid-column-99652545.js → 00cc46ee.js} +2 -2
  4. package/_internal/00cc46ee.js.map +1 -0
  5. package/_internal/{useFocusTrap-c3c6378b.js → 0350c865.js} +5 -27
  6. package/_internal/0350c865.js.map +1 -0
  7. package/_internal/063618dc.js +21 -0
  8. package/_internal/063618dc.js.map +1 -0
  9. package/_internal/07f6dc7c.js +16 -0
  10. package/_internal/07f6dc7c.js.map +1 -0
  11. package/_internal/0846b7f3.js +4 -0
  12. package/_internal/0846b7f3.js.map +1 -0
  13. package/_internal/08948b47.js +109 -0
  14. package/_internal/08948b47.js.map +1 -0
  15. package/_internal/08b0de35.js +14 -0
  16. package/_internal/08b0de35.js.map +1 -0
  17. package/_internal/094c811d.js +24 -0
  18. package/_internal/094c811d.js.map +1 -0
  19. package/_internal/09d97180.js +18 -0
  20. package/_internal/09d97180.js.map +1 -0
  21. package/_internal/0a2c57a2.js +9 -0
  22. package/_internal/0a2c57a2.js.map +1 -0
  23. package/_internal/0a7f4911.js +64 -0
  24. package/_internal/0a7f4911.js.map +1 -0
  25. package/_internal/0aa9027f.js +10 -0
  26. package/_internal/0aa9027f.js.map +1 -0
  27. package/_internal/0c58c8e2.js +59 -0
  28. package/_internal/0c58c8e2.js.map +1 -0
  29. package/_internal/{Button-1b7d3b79.js → 0d7cc1e0.js} +8 -8
  30. package/_internal/0d7cc1e0.js.map +1 -0
  31. package/_internal/0db022d6.js +58 -0
  32. package/_internal/0db022d6.js.map +1 -0
  33. package/_internal/0e16222d.js +9 -0
  34. package/_internal/0e16222d.js.map +1 -0
  35. package/_internal/0f849025.js +4 -0
  36. package/_internal/0f849025.js.map +1 -0
  37. package/_internal/0fe87dc7.js +72 -0
  38. package/_internal/0fe87dc7.js.map +1 -0
  39. package/_internal/1060c47e.js +4 -0
  40. package/_internal/1060c47e.js.map +1 -0
  41. package/_internal/{isComponentType-e806b848.js → 111e65e5.js} +2 -2
  42. package/_internal/111e65e5.js.map +1 -0
  43. package/_internal/{useId-3a1facc0.js → 11687649.js} +2 -2
  44. package/_internal/11687649.js.map +1 -0
  45. package/_internal/14390eeb.js +7 -0
  46. package/_internal/14390eeb.js.map +1 -0
  47. package/_internal/145228a7.js +47 -0
  48. package/_internal/145228a7.js.map +1 -0
  49. package/_internal/{components/uploader-2e1b080e.js → 15fb66ce.js} +8 -8
  50. package/_internal/15fb66ce.js.map +1 -0
  51. package/_internal/160cf9fe.js +24 -0
  52. package/_internal/160cf9fe.js.map +1 -0
  53. package/_internal/1616343a.js +37 -0
  54. package/_internal/1616343a.js.map +1 -0
  55. package/_internal/{components/divider-0e93aa3d.js → 162672de.js} +3 -3
  56. package/_internal/162672de.js.map +1 -0
  57. package/_internal/168f211f.js +17 -0
  58. package/_internal/168f211f.js.map +1 -0
  59. package/_internal/{wrapChildrenIconWithSpaces-fb85a743.js → 16f5497d.js} +4 -4
  60. package/_internal/16f5497d.js.map +1 -0
  61. package/_internal/179a2989.js +129 -0
  62. package/_internal/179a2989.js.map +1 -0
  63. package/_internal/185778b8.js +4 -0
  64. package/_internal/185778b8.js.map +1 -0
  65. package/_internal/1afd2506.js +60 -0
  66. package/_internal/1afd2506.js.map +1 -0
  67. package/_internal/1c1cdfa2.js +159 -0
  68. package/_internal/1c1cdfa2.js.map +1 -0
  69. package/_internal/1c3b349b.js +4 -0
  70. package/_internal/1c3b349b.js.map +1 -0
  71. package/_internal/1d7267a1.js +173 -0
  72. package/_internal/1d7267a1.js.map +1 -0
  73. package/_internal/1df25415.js +53 -0
  74. package/_internal/1df25415.js.map +1 -0
  75. package/_internal/1ee5415f.js +27 -0
  76. package/_internal/1ee5415f.js.map +1 -0
  77. package/_internal/1ff933af.js +5 -0
  78. package/_internal/1ff933af.js.map +1 -0
  79. package/_internal/200c2ce1.js +17 -0
  80. package/_internal/200c2ce1.js.map +1 -0
  81. package/_internal/{index-77f213b1.js → 203b01d8.js} +6 -36
  82. package/_internal/203b01d8.js.map +1 -0
  83. package/_internal/2040beb8.js +169 -0
  84. package/_internal/2040beb8.js.map +1 -0
  85. package/_internal/20f07616.js +14 -0
  86. package/_internal/20f07616.js.map +1 -0
  87. package/_internal/215781b4.js +6 -0
  88. package/_internal/215781b4.js.map +1 -0
  89. package/_internal/{components/mosaic-c8084ee8.js → 226a2eac.js} +4 -4
  90. package/_internal/226a2eac.js.map +1 -0
  91. package/_internal/2291b633.js +52 -0
  92. package/_internal/2291b633.js.map +1 -0
  93. package/_internal/{components/inline-list-5ba8bb0f.js → 2403668c.js} +2 -2
  94. package/_internal/2403668c.js.map +1 -0
  95. package/_internal/24b48881.js +133 -0
  96. package/_internal/24b48881.js.map +1 -0
  97. package/_internal/2517d1d6.js +9 -0
  98. package/_internal/2517d1d6.js.map +1 -0
  99. package/_internal/256f8eff.js +4 -0
  100. package/_internal/256f8eff.js.map +1 -0
  101. package/_internal/{components/input-label-30d199c3.js → 26a92990.js} +3 -3
  102. package/_internal/26a92990.js.map +1 -0
  103. package/_internal/27a93417.js +223 -0
  104. package/_internal/27a93417.js.map +1 -0
  105. package/_internal/{mergeRefs-f0d7d6ea.js → 27df0cb6.js} +2 -2
  106. package/_internal/27df0cb6.js.map +1 -0
  107. package/_internal/28f344bd.js +52 -0
  108. package/_internal/28f344bd.js.map +1 -0
  109. package/_internal/2c5a950d.js +55 -0
  110. package/_internal/2c5a950d.js.map +1 -0
  111. package/_internal/2cdd9ec6.js +16 -0
  112. package/_internal/2cdd9ec6.js.map +1 -0
  113. package/_internal/2cfeae78.js +150 -0
  114. package/_internal/2cfeae78.js.map +1 -0
  115. package/_internal/{components/dropdown-25170b7c.js → 2d1acaa0.js} +8 -48
  116. package/_internal/2d1acaa0.js.map +1 -0
  117. package/_internal/2d69d0f5.js +4 -0
  118. package/_internal/2d69d0f5.js.map +1 -0
  119. package/_internal/2dcfa1df.js +18 -0
  120. package/_internal/2dcfa1df.js.map +1 -0
  121. package/_internal/2dff9a38.js +150 -0
  122. package/_internal/2dff9a38.js.map +1 -0
  123. package/_internal/2e5288d0.js +15 -0
  124. package/_internal/2e5288d0.js.map +1 -0
  125. package/_internal/2fc47dc4.js +133 -0
  126. package/_internal/2fc47dc4.js.map +1 -0
  127. package/_internal/30ecdee3.js +9 -0
  128. package/_internal/30ecdee3.js.map +1 -0
  129. package/_internal/{components/input-helper-2e4e49fd.js → 3119c1fe.js} +4 -15
  130. package/_internal/3119c1fe.js.map +1 -0
  131. package/_internal/31b6784b.js +14 -0
  132. package/_internal/31b6784b.js.map +1 -0
  133. package/_internal/341034b4.js +48 -0
  134. package/_internal/341034b4.js.map +1 -0
  135. package/_internal/341ceaa9.js +4 -0
  136. package/_internal/341ceaa9.js.map +1 -0
  137. package/_internal/355f875f.js +9 -0
  138. package/_internal/355f875f.js.map +1 -0
  139. package/_internal/{components/side-navigation-385825d4.js → 36008a95.js} +13 -49
  140. package/_internal/36008a95.js.map +1 -0
  141. package/_internal/378a6fb1.js +126 -0
  142. package/_internal/378a6fb1.js.map +1 -0
  143. package/_internal/37f5ba95.js +12 -0
  144. package/_internal/37f5ba95.js.map +1 -0
  145. package/_internal/{Portal-3f86608e.js → 38ac8c66.js} +3 -15
  146. package/_internal/38ac8c66.js.map +1 -0
  147. package/_internal/38ce97de.js +29 -0
  148. package/_internal/38ce97de.js.map +1 -0
  149. package/_internal/39534d28.js +30 -0
  150. package/_internal/39534d28.js.map +1 -0
  151. package/_internal/{ImageCaption-6f2f4131.js → 3996d544.js} +5 -5
  152. package/_internal/3996d544.js.map +1 -0
  153. package/_internal/3a7fd4bf.js +60 -0
  154. package/_internal/3a7fd4bf.js.map +1 -0
  155. package/_internal/3cfcb0a4.js +122 -0
  156. package/_internal/3cfcb0a4.js.map +1 -0
  157. package/_internal/3d5e1fd0.js +46 -0
  158. package/_internal/3d5e1fd0.js.map +1 -0
  159. package/_internal/3db5a3e4.js +258 -0
  160. package/_internal/3db5a3e4.js.map +1 -0
  161. package/_internal/{useBooleanState-2a3d237c.js → 3e2f0517.js} +2 -2
  162. package/_internal/3e2f0517.js.map +1 -0
  163. package/_internal/3eba1faf.js +87 -0
  164. package/_internal/3eba1faf.js.map +1 -0
  165. package/_internal/3f48eb48.js +73 -0
  166. package/_internal/3f48eb48.js.map +1 -0
  167. package/_internal/3f51175c.js +61 -0
  168. package/_internal/3f51175c.js.map +1 -0
  169. package/_internal/3f54fe9e.js +4 -0
  170. package/_internal/3f54fe9e.js.map +1 -0
  171. package/_internal/{components/text-field-8597b7f7.js → 41a8b20f.js} +13 -12
  172. package/_internal/41a8b20f.js.map +1 -0
  173. package/_internal/42b26576.js +4 -0
  174. package/_internal/42b26576.js.map +1 -0
  175. package/_internal/45ef51db.js +29 -0
  176. package/_internal/45ef51db.js.map +1 -0
  177. package/_internal/48148353.js +100 -0
  178. package/_internal/48148353.js.map +1 -0
  179. package/_internal/4bb19934.js +4 -0
  180. package/_internal/4bb19934.js.map +1 -0
  181. package/_internal/4c471276.js +75 -0
  182. package/_internal/4c471276.js.map +1 -0
  183. package/_internal/{components/image-block-4f3fe64c.js → 4c891480.js} +5 -5
  184. package/_internal/4c891480.js.map +1 -0
  185. package/_internal/4d540596.js +131 -0
  186. package/_internal/4d540596.js.map +1 -0
  187. package/_internal/4d751800.js +40 -0
  188. package/_internal/4d751800.js.map +1 -0
  189. package/_internal/4f71fd36.js +4 -0
  190. package/_internal/4f71fd36.js.map +1 -0
  191. package/_internal/507d9459.js +67 -0
  192. package/_internal/507d9459.js.map +1 -0
  193. package/_internal/5178b7ba.js +10 -0
  194. package/_internal/5178b7ba.js.map +1 -0
  195. package/_internal/51921a16.js +30 -0
  196. package/_internal/51921a16.js.map +1 -0
  197. package/_internal/535aa51f.js +44 -0
  198. package/_internal/535aa51f.js.map +1 -0
  199. package/_internal/{DisabledStateContext-ea04260d.js → 536517c5.js} +2 -2
  200. package/_internal/536517c5.js.map +1 -0
  201. package/_internal/53b8dea1.js +48 -0
  202. package/_internal/53b8dea1.js.map +1 -0
  203. package/_internal/5745f198.js +12 -0
  204. package/_internal/5745f198.js.map +1 -0
  205. package/_internal/57f2079b.js +10 -0
  206. package/_internal/57f2079b.js.map +1 -0
  207. package/_internal/{components/thumbnail-4928bba2.js → 58418448.js} +1 -2
  208. package/_internal/58418448.js.map +1 -0
  209. package/_internal/{index-d3e86bd8.js → 595d0e66.js} +5 -6
  210. package/_internal/595d0e66.js.map +1 -0
  211. package/_internal/{IconButton-e11b5e74.js → 5a0207d9.js} +7 -7
  212. package/_internal/5a0207d9.js.map +1 -0
  213. package/_internal/5a6b1aa5.js +139 -0
  214. package/_internal/5a6b1aa5.js.map +1 -0
  215. package/_internal/5c3e15ea.js +107 -0
  216. package/_internal/5c3e15ea.js.map +1 -0
  217. package/_internal/{components/lightbox-10ff28f9.js → 5c4e10a0.js} +14 -14
  218. package/_internal/5c4e10a0.js.map +1 -0
  219. package/_internal/5da9ff06.js +47 -0
  220. package/_internal/5da9ff06.js.map +1 -0
  221. package/_internal/60139f6a.js +9 -0
  222. package/_internal/60139f6a.js.map +1 -0
  223. package/_internal/612b7365.js +231 -0
  224. package/_internal/612b7365.js.map +1 -0
  225. package/_internal/612f6fb4.js +155 -0
  226. package/_internal/612f6fb4.js.map +1 -0
  227. package/_internal/617d453e.js +28 -0
  228. package/_internal/617d453e.js.map +1 -0
  229. package/_internal/{components/slider-78cfaa67.js → 62c6c615.js} +11 -43
  230. package/_internal/62c6c615.js.map +1 -0
  231. package/_internal/6417ddb1.js +24 -0
  232. package/_internal/6417ddb1.js.map +1 -0
  233. package/_internal/658e09de.js +7 -0
  234. package/_internal/658e09de.js.map +1 -0
  235. package/_internal/659a1cdd.js +144 -0
  236. package/_internal/659a1cdd.js.map +1 -0
  237. package/_internal/6671d28b.js +40 -0
  238. package/_internal/6671d28b.js.map +1 -0
  239. package/_internal/66950686.js +14 -0
  240. package/_internal/66950686.js.map +1 -0
  241. package/_internal/671b986c.js +14 -0
  242. package/_internal/671b986c.js.map +1 -0
  243. package/_internal/{components/notification-97a8a04a.js → 6893b89e.js} +10 -33
  244. package/_internal/6893b89e.js.map +1 -0
  245. package/_internal/68f13c1c.js +4 -0
  246. package/_internal/68f13c1c.js.map +1 -0
  247. package/_internal/{components/link-9d1bd2f6.js → 69eb2393.js} +6 -6
  248. package/_internal/69eb2393.js.map +1 -0
  249. package/_internal/{constants-d0e3f49e.js → 6af61e2f.js} +3 -3
  250. package/_internal/6af61e2f.js.map +1 -0
  251. package/_internal/{components/checkbox-f7751583.js → 6b510f5e.js} +11 -13
  252. package/_internal/6b510f5e.js.map +1 -0
  253. package/_internal/6b61b268.js +9 -0
  254. package/_internal/6b61b268.js.map +1 -0
  255. package/_internal/6f0ce1bb.js +67 -0
  256. package/_internal/6f0ce1bb.js.map +1 -0
  257. package/_internal/6f17bf65.js +8 -0
  258. package/_internal/6f17bf65.js.map +1 -0
  259. package/_internal/{close-circle-ef5d1aac.js → 6f37d603.js} +2 -2
  260. package/_internal/6f37d603.js.map +1 -0
  261. package/_internal/6f3bb7d6.js +16 -0
  262. package/_internal/6f3bb7d6.js.map +1 -0
  263. package/_internal/705f415e.js +67 -0
  264. package/_internal/705f415e.js.map +1 -0
  265. package/_internal/722ea461.js +9 -0
  266. package/_internal/722ea461.js.map +1 -0
  267. package/_internal/728684f6.js +6 -0
  268. package/_internal/728684f6.js.map +1 -0
  269. package/_internal/730f75dc.js +93 -0
  270. package/_internal/730f75dc.js.map +1 -0
  271. package/_internal/735bcfa5.js +38 -0
  272. package/_internal/735bcfa5.js.map +1 -0
  273. package/_internal/{ClickAwayProvider-7093ba23.js → 739f2f15.js} +4 -38
  274. package/_internal/739f2f15.js.map +1 -0
  275. package/_internal/7531ee4d.js +72 -0
  276. package/_internal/7531ee4d.js.map +1 -0
  277. package/_internal/75f285fb.js +104 -0
  278. package/_internal/75f285fb.js.map +1 -0
  279. package/_internal/78a9c3cd.js +4 -0
  280. package/_internal/78a9c3cd.js.map +1 -0
  281. package/_internal/7a2da67a.js +64 -0
  282. package/_internal/7a2da67a.js.map +1 -0
  283. package/_internal/7af4a428.js +39 -0
  284. package/_internal/7af4a428.js.map +1 -0
  285. package/_internal/7d4eb1c5.js +62 -0
  286. package/_internal/7d4eb1c5.js.map +1 -0
  287. package/_internal/{components/chip-1ed080fb.js → 7d9c0855.js} +2 -50
  288. package/_internal/7d9c0855.js.map +1 -0
  289. package/_internal/7eca7fcd.js +28 -0
  290. package/_internal/7eca7fcd.js.map +1 -0
  291. package/_internal/81a6a29a.js +55 -0
  292. package/_internal/81a6a29a.js.map +1 -0
  293. package/_internal/{components/user-block-5fd51607.js → 82159c03.js} +5 -5
  294. package/_internal/82159c03.js.map +1 -0
  295. package/_internal/82c6852b.js +19 -0
  296. package/_internal/82c6852b.js.map +1 -0
  297. package/_internal/{components/drag-handle-eec23fc2.js → 840e9690.js} +5 -6
  298. package/_internal/840e9690.js.map +1 -0
  299. package/_internal/{context-9d1336a1.js → 841c2303.js} +2 -2
  300. package/_internal/841c2303.js.map +1 -0
  301. package/_internal/8429fc80.js +141 -0
  302. package/_internal/8429fc80.js.map +1 -0
  303. package/_internal/84978777.js +55 -0
  304. package/_internal/84978777.js.map +1 -0
  305. package/_internal/{components/switch-24fea8d7.js → 851a3109.js} +7 -7
  306. package/_internal/851a3109.js.map +1 -0
  307. package/_internal/879fa64d.js +6 -0
  308. package/_internal/879fa64d.js.map +1 -0
  309. package/_internal/883321fd.js +17 -0
  310. package/_internal/883321fd.js.map +1 -0
  311. package/_internal/893eb653.js +4 -0
  312. package/_internal/893eb653.js.map +1 -0
  313. package/_internal/897e2dbb.js +80 -0
  314. package/_internal/897e2dbb.js.map +1 -0
  315. package/_internal/89ee5eb2.js +22 -0
  316. package/_internal/89ee5eb2.js.map +1 -0
  317. package/_internal/8acd6aff.js +82 -0
  318. package/_internal/8acd6aff.js.map +1 -0
  319. package/_internal/8d318b2b.js +138 -0
  320. package/_internal/8d318b2b.js.map +1 -0
  321. package/_internal/8e3efbc4.js +65 -0
  322. package/_internal/8e3efbc4.js.map +1 -0
  323. package/_internal/{useDisableBodyScroll-36bd7352.js → 8e8c5ab6.js} +2 -29
  324. package/_internal/8e8c5ab6.js.map +1 -0
  325. package/_internal/8fe4c01f.js +20 -0
  326. package/_internal/8fe4c01f.js.map +1 -0
  327. package/_internal/91f36a80.js +34 -0
  328. package/_internal/91f36a80.js.map +1 -0
  329. package/_internal/928fa938.js +102 -0
  330. package/_internal/928fa938.js.map +1 -0
  331. package/_internal/9361ef65.js +6 -0
  332. package/_internal/9361ef65.js.map +1 -0
  333. package/_internal/99513933.js +145 -0
  334. package/_internal/99513933.js.map +1 -0
  335. package/_internal/9976fe9a.js +28 -0
  336. package/_internal/9976fe9a.js.map +1 -0
  337. package/_internal/9a0544c4.js +34 -0
  338. package/_internal/9a0544c4.js.map +1 -0
  339. package/_internal/9a5db774.js +6 -0
  340. package/_internal/9a5db774.js.map +1 -0
  341. package/_internal/{components/radio-button-929c7bee.js → 9ae8998a.js} +21 -54
  342. package/_internal/9ae8998a.js.map +1 -0
  343. package/_internal/{ButtonRoot-a70baf82.js → 9b0c0489.js} +6 -6
  344. package/_internal/9b0c0489.js.map +1 -0
  345. package/_internal/9d063548.js +49 -0
  346. package/_internal/9d063548.js.map +1 -0
  347. package/_internal/{components/link-preview-9525e97f.js → 9e3b78fa.js} +5 -5
  348. package/_internal/9e3b78fa.js.map +1 -0
  349. package/_internal/a0a42aca.js +14 -0
  350. package/_internal/a0a42aca.js.map +1 -0
  351. package/_internal/{components/toolbar-e7c984e6.js → a1974f13.js} +2 -2
  352. package/_internal/a1974f13.js.map +1 -0
  353. package/_internal/a2b9eb60.js +90 -0
  354. package/_internal/a2b9eb60.js.map +1 -0
  355. package/_internal/a2c7c463.js +4 -0
  356. package/_internal/a2c7c463.js.map +1 -0
  357. package/_internal/a32628a1.js +4 -0
  358. package/_internal/a32628a1.js.map +1 -0
  359. package/_internal/a3f2000f.js +198 -0
  360. package/_internal/a3f2000f.js.map +1 -0
  361. package/_internal/a45cc1b9.js +128 -0
  362. package/_internal/a45cc1b9.js.map +1 -0
  363. package/_internal/a6be9f05.js +75 -0
  364. package/_internal/a6be9f05.js.map +1 -0
  365. package/_internal/{RawClickable-2c2b6a89.js → a6dc95cd.js} +3 -6
  366. package/_internal/a6dc95cd.js.map +1 -0
  367. package/_internal/a7abe967.js +20 -0
  368. package/_internal/a7abe967.js.map +1 -0
  369. package/_internal/{components/expansion-panel-df812318.js → a89bf7bc.js} +10 -9
  370. package/_internal/a89bf7bc.js.map +1 -0
  371. package/_internal/a9d0f94d.js +53 -0
  372. package/_internal/a9d0f94d.js.map +1 -0
  373. package/_internal/ab3e5463.js +39 -0
  374. package/_internal/ab3e5463.js.map +1 -0
  375. package/_internal/{components/generic-block-964b2724.js → ac3f7e4d.js} +6 -12
  376. package/_internal/ac3f7e4d.js.map +1 -0
  377. package/_internal/acd6bed6.js +6 -0
  378. package/_internal/acd6bed6.js.map +1 -0
  379. package/_internal/{close-eaf6c45a.js → ad7c38b0.js} +2 -2
  380. package/_internal/ad7c38b0.js.map +1 -0
  381. package/_internal/ae4dc9f0.js +62 -0
  382. package/_internal/ae4dc9f0.js.map +1 -0
  383. package/_internal/aeba575c.js +4 -0
  384. package/_internal/aeba575c.js.map +1 -0
  385. package/_internal/b0780b33.js +60 -0
  386. package/_internal/b0780b33.js.map +1 -0
  387. package/_internal/b0846836.js +4 -0
  388. package/_internal/b0846836.js.map +1 -0
  389. package/_internal/b1154f4b.js +14 -0
  390. package/_internal/b1154f4b.js.map +1 -0
  391. package/_internal/{Chip-8fbedc93.js → b125b718.js} +6 -22
  392. package/_internal/b125b718.js.map +1 -0
  393. package/_internal/b23a92ab.js +56 -0
  394. package/_internal/b23a92ab.js.map +1 -0
  395. package/_internal/b4018f8d.js +107 -0
  396. package/_internal/b4018f8d.js.map +1 -0
  397. package/_internal/b402784b.js +11 -0
  398. package/_internal/b402784b.js.map +1 -0
  399. package/_internal/b4dfa648.js +32 -0
  400. package/_internal/b4dfa648.js.map +1 -0
  401. package/_internal/b573621e.js +26 -0
  402. package/_internal/b573621e.js.map +1 -0
  403. package/_internal/b5edf49e.js +8 -0
  404. package/_internal/b5edf49e.js.map +1 -0
  405. package/_internal/b85a5f3f.js +57 -0
  406. package/_internal/b85a5f3f.js.map +1 -0
  407. package/_internal/b93aa71c.js +89 -0
  408. package/_internal/b93aa71c.js.map +1 -0
  409. package/_internal/b977b471.js +5 -0
  410. package/_internal/b977b471.js.map +1 -0
  411. package/_internal/{components/message-edd6a28a.js → b9e3e436.js} +9 -7
  412. package/_internal/b9e3e436.js.map +1 -0
  413. package/_internal/b9ed1f7a.js +4 -0
  414. package/_internal/b9ed1f7a.js.map +1 -0
  415. package/_internal/{components/button-c4127e86.js → bae815e2.js} +2 -4
  416. package/_internal/bae815e2.js.map +1 -0
  417. package/_internal/bb05343d.js +36 -0
  418. package/_internal/bb05343d.js.map +1 -0
  419. package/_internal/bb5fb0f9.js +28 -0
  420. package/_internal/bb5fb0f9.js.map +1 -0
  421. package/_internal/{useRovingTabIndex-7daf0f24.js → bb8088e1.js} +2 -2
  422. package/_internal/bb8088e1.js.map +1 -0
  423. package/_internal/bc393aec.js +8 -0
  424. package/_internal/bc393aec.js.map +1 -0
  425. package/_internal/{components/heading-6cc0f178.js → bd1cd49f.js} +6 -6
  426. package/_internal/bd1cd49f.js.map +1 -0
  427. package/_internal/{forwardRef-8bce732e.js → bd8b3ec8.js} +2 -2
  428. package/_internal/bd8b3ec8.js.map +1 -0
  429. package/_internal/be29f79e.js +52 -0
  430. package/_internal/be29f79e.js.map +1 -0
  431. package/_internal/bf202fa2.js +47 -0
  432. package/_internal/bf202fa2.js.map +1 -0
  433. package/_internal/bf411e5a.js +109 -0
  434. package/_internal/bf411e5a.js.map +1 -0
  435. package/_internal/c01c3bec.js +12 -0
  436. package/_internal/c01c3bec.js.map +1 -0
  437. package/_internal/{getFocusableElements-230173a8.js → c0a6dba6.js} +2 -7
  438. package/_internal/c0a6dba6.js.map +1 -0
  439. package/_internal/{components/post-block-7e63c4f4.js → c241db12.js} +5 -5
  440. package/_internal/c241db12.js.map +1 -0
  441. package/_internal/c3ccd387.js +20 -0
  442. package/_internal/c3ccd387.js.map +1 -0
  443. package/_internal/{components/alert-dialog-5326cf04.js → c51d37f8.js} +11 -9
  444. package/_internal/c51d37f8.js.map +1 -0
  445. package/_internal/c625d242.js +14 -0
  446. package/_internal/c625d242.js.map +1 -0
  447. package/_internal/c72d4f8b.js +4 -0
  448. package/_internal/c72d4f8b.js.map +1 -0
  449. package/_internal/c9a3b27f.js +6 -0
  450. package/_internal/c9a3b27f.js.map +1 -0
  451. package/_internal/c9bd0e84.js +29 -0
  452. package/_internal/c9bd0e84.js.map +1 -0
  453. package/_internal/{partitionMulti-4daccdd5.js → cb19eca6.js} +2 -2
  454. package/_internal/cb19eca6.js.map +1 -0
  455. package/_internal/cb525c68.js +165 -0
  456. package/_internal/cb525c68.js.map +1 -0
  457. package/_internal/cb7ac456.js +165 -0
  458. package/_internal/cb7ac456.js.map +1 -0
  459. package/_internal/{components/comment-block-343e1922.js → cc5cac50.js} +5 -5
  460. package/_internal/cc5cac50.js.map +1 -0
  461. package/_internal/{components/dialog-d0e090b1.js → cd8457fc.js} +17 -47
  462. package/_internal/cd8457fc.js.map +1 -0
  463. package/_internal/d0b96efd.js +8 -0
  464. package/_internal/d0b96efd.js.map +1 -0
  465. package/_internal/d3286249.js +72 -0
  466. package/_internal/d3286249.js.map +1 -0
  467. package/_internal/d57d3fc6.js +6 -0
  468. package/_internal/d57d3fc6.js.map +1 -0
  469. package/_internal/d5f5f3f5.js +18 -0
  470. package/_internal/d5f5f3f5.js.map +1 -0
  471. package/_internal/d672fc0e.js +24 -0
  472. package/_internal/d672fc0e.js.map +1 -0
  473. package/_internal/d7ee7efe.js +40 -0
  474. package/_internal/d7ee7efe.js.map +1 -0
  475. package/_internal/{ThemeContext-3181f000.js → d8ee966d.js} +2 -2
  476. package/_internal/d8ee966d.js.map +1 -0
  477. package/_internal/db88500d.js +10 -0
  478. package/_internal/db88500d.js.map +1 -0
  479. package/_internal/dbc379f8.js +45 -0
  480. package/_internal/dbc379f8.js.map +1 -0
  481. package/_internal/dbe906f1.js +179 -0
  482. package/_internal/dbe906f1.js.map +1 -0
  483. package/_internal/de52a4b9.js +20 -0
  484. package/_internal/de52a4b9.js.map +1 -0
  485. package/_internal/df688aab.js +121 -0
  486. package/_internal/df688aab.js.map +1 -0
  487. package/_internal/dfa00cf7.js +35 -0
  488. package/_internal/dfa00cf7.js.map +1 -0
  489. package/_internal/{state-db358714.js → e0398237.js} +3 -3
  490. package/_internal/e0398237.js.map +1 -0
  491. package/_internal/e142a98d.js +22 -0
  492. package/_internal/e142a98d.js.map +1 -0
  493. package/_internal/e429bd82.js +12 -0
  494. package/_internal/e429bd82.js.map +1 -0
  495. package/_internal/{check-circle-de24f857.js → e47dacb8.js} +2 -2
  496. package/_internal/e47dacb8.js.map +1 -0
  497. package/_internal/e4a199c0.js +20 -0
  498. package/_internal/e4a199c0.js.map +1 -0
  499. package/_internal/e50f2a75.js +27 -0
  500. package/_internal/e50f2a75.js.map +1 -0
  501. package/_internal/{components/slideshow-e0880d40.js → e5657997.js} +11 -32
  502. package/_internal/e5657997.js.map +1 -0
  503. package/_internal/e7aa44d1.js +13 -0
  504. package/_internal/e7aa44d1.js.map +1 -0
  505. package/_internal/e8e4d09e.js +95 -0
  506. package/_internal/e8e4d09e.js.map +1 -0
  507. package/_internal/e918f20b.js +57 -0
  508. package/_internal/e918f20b.js.map +1 -0
  509. package/_internal/e9c3b1e0.js +4 -0
  510. package/_internal/e9c3b1e0.js.map +1 -0
  511. package/_internal/ebd44733.js +7 -0
  512. package/_internal/ebd44733.js.map +1 -0
  513. package/_internal/{isComponent-78df9309.js → ebe24fd7.js} +2 -2
  514. package/_internal/ebe24fd7.js.map +1 -0
  515. package/_internal/ed03c692.js +17 -0
  516. package/_internal/ed03c692.js.map +1 -0
  517. package/_internal/eea52073.js +27 -0
  518. package/_internal/eea52073.js.map +1 -0
  519. package/_internal/eec574e6.js +40 -0
  520. package/_internal/eec574e6.js.map +1 -0
  521. package/_internal/eef5d63f.js +21 -0
  522. package/_internal/eef5d63f.js.map +1 -0
  523. package/_internal/ef907c21.js +41 -0
  524. package/_internal/ef907c21.js.map +1 -0
  525. package/_internal/{useDisableStateProps-69e16b7c.js → ef982c3d.js} +3 -3
  526. package/_internal/ef982c3d.js.map +1 -0
  527. package/_internal/f0052b9b.js +27 -0
  528. package/_internal/f0052b9b.js.map +1 -0
  529. package/_internal/f2e34298.js +75 -0
  530. package/_internal/f2e34298.js.map +1 -0
  531. package/_internal/f419ecef.js +4 -0
  532. package/_internal/f419ecef.js.map +1 -0
  533. package/_internal/f4baa1da.js +34 -0
  534. package/_internal/f4baa1da.js.map +1 -0
  535. package/_internal/{useTransitionVisibility-321fdbfa.js → f6bc7948.js} +3 -8
  536. package/_internal/f6bc7948.js.map +1 -0
  537. package/_internal/f7520b8e.js +52 -0
  538. package/_internal/f7520b8e.js.map +1 -0
  539. package/_internal/f8c49b24.js +14 -0
  540. package/_internal/f8c49b24.js.map +1 -0
  541. package/_internal/fb201a04.js +65 -0
  542. package/_internal/fb201a04.js.map +1 -0
  543. package/_internal/fb36ff46.js +51 -0
  544. package/_internal/fb36ff46.js.map +1 -0
  545. package/_internal/{components/flag-c8d690bc.js → fcc7c462.js} +5 -5
  546. package/_internal/fcc7c462.js.map +1 -0
  547. package/_internal/fcf83937.js +28 -0
  548. package/_internal/fcf83937.js.map +1 -0
  549. package/_internal/fd3e2f21.js +30 -0
  550. package/_internal/fd3e2f21.js.map +1 -0
  551. package/_internal/fdcf3942.js +157 -0
  552. package/_internal/fdcf3942.js.map +1 -0
  553. package/_internal/{components/flex-box-4eeba972.js → fdebc718.js} +2 -2
  554. package/_internal/fdebc718.js.map +1 -0
  555. package/_internal/ff96951d.js +8 -0
  556. package/_internal/ff96951d.js.map +1 -0
  557. package/_internal/{components/avatar-52bb217f.js → ffb2f7fa.js} +4 -4
  558. package/_internal/ffb2f7fa.js.map +1 -0
  559. package/index.js +95 -63
  560. package/index.js.map +1 -1
  561. package/package.json +3 -3
  562. package/utils/index.js +4 -3
  563. package/utils/index.js.map +1 -1
  564. package/_internal/Button-1b7d3b79.js.map +0 -1
  565. package/_internal/ButtonRoot-a70baf82.js.map +0 -1
  566. package/_internal/Chip-8fbedc93.js.map +0 -1
  567. package/_internal/ClickAwayProvider-7093ba23.js.map +0 -1
  568. package/_internal/DisabledStateContext-ea04260d.js.map +0 -1
  569. package/_internal/HeadingLevelProvider-ebdcb0c7.js +0 -61
  570. package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +0 -1
  571. package/_internal/IconButton-e11b5e74.js.map +0 -1
  572. package/_internal/ImageCaption-6f2f4131.js.map +0 -1
  573. package/_internal/List-4e95288a.js +0 -820
  574. package/_internal/List-4e95288a.js.map +0 -1
  575. package/_internal/PopoverDialog-d85ff977.js +0 -656
  576. package/_internal/PopoverDialog-d85ff977.js.map +0 -1
  577. package/_internal/Portal-3f86608e.js.map +0 -1
  578. package/_internal/RawClickable-2c2b6a89.js.map +0 -1
  579. package/_internal/Slides-68a7d0e6.js +0 -683
  580. package/_internal/Slides-68a7d0e6.js.map +0 -1
  581. package/_internal/ThemeContext-3181f000.js.map +0 -1
  582. package/_internal/Thumbnail-22bbea7e.js +0 -315
  583. package/_internal/Thumbnail-22bbea7e.js.map +0 -1
  584. package/_internal/check-circle-de24f857.js.map +0 -1
  585. package/_internal/chevron-right-827b804a.js +0 -6
  586. package/_internal/chevron-right-827b804a.js.map +0 -1
  587. package/_internal/chevron-up-0b9c76cb.js +0 -6
  588. package/_internal/chevron-up-0b9c76cb.js.map +0 -1
  589. package/_internal/close-circle-ef5d1aac.js.map +0 -1
  590. package/_internal/close-eaf6c45a.js.map +0 -1
  591. package/_internal/components/alert-dialog-5326cf04.js.map +0 -1
  592. package/_internal/components/autocomplete-7d9581e8.js +0 -262
  593. package/_internal/components/autocomplete-7d9581e8.js.map +0 -1
  594. package/_internal/components/avatar-52bb217f.js.map +0 -1
  595. package/_internal/components/badge-ccf47147.js +0 -82
  596. package/_internal/components/badge-ccf47147.js.map +0 -1
  597. package/_internal/components/button-c4127e86.js.map +0 -1
  598. package/_internal/components/checkbox-f7751583.js.map +0 -1
  599. package/_internal/components/chip-1ed080fb.js.map +0 -1
  600. package/_internal/components/comment-block-343e1922.js.map +0 -1
  601. package/_internal/components/date-picker-b6b3dc77.js +0 -2
  602. package/_internal/components/date-picker-b6b3dc77.js.map +0 -1
  603. package/_internal/components/dialog-d0e090b1.js.map +0 -1
  604. package/_internal/components/divider-0e93aa3d.js.map +0 -1
  605. package/_internal/components/drag-handle-eec23fc2.js.map +0 -1
  606. package/_internal/components/dropdown-25170b7c.js.map +0 -1
  607. package/_internal/components/expansion-panel-df812318.js.map +0 -1
  608. package/_internal/components/flag-c8d690bc.js.map +0 -1
  609. package/_internal/components/flex-box-4eeba972.js.map +0 -1
  610. package/_internal/components/generic-block-964b2724.js.map +0 -1
  611. package/_internal/components/grid-8c08dc4b.js +0 -105
  612. package/_internal/components/grid-8c08dc4b.js.map +0 -1
  613. package/_internal/components/grid-column-99652545.js.map +0 -1
  614. package/_internal/components/heading-6cc0f178.js.map +0 -1
  615. package/_internal/components/icon-9cf785b1.js +0 -2
  616. package/_internal/components/icon-9cf785b1.js.map +0 -1
  617. package/_internal/components/image-block-4f3fe64c.js.map +0 -1
  618. package/_internal/components/image-lightbox-7b172571.js +0 -760
  619. package/_internal/components/image-lightbox-7b172571.js.map +0 -1
  620. package/_internal/components/inline-list-5ba8bb0f.js.map +0 -1
  621. package/_internal/components/input-helper-2e4e49fd.js.map +0 -1
  622. package/_internal/components/input-label-30d199c3.js.map +0 -1
  623. package/_internal/components/lightbox-10ff28f9.js.map +0 -1
  624. package/_internal/components/link-9d1bd2f6.js.map +0 -1
  625. package/_internal/components/link-preview-9525e97f.js.map +0 -1
  626. package/_internal/components/list-c8c7a6eb.js +0 -72
  627. package/_internal/components/list-c8c7a6eb.js.map +0 -1
  628. package/_internal/components/message-edd6a28a.js.map +0 -1
  629. package/_internal/components/mosaic-c8084ee8.js.map +0 -1
  630. package/_internal/components/navigation-c9121998.js +0 -226
  631. package/_internal/components/navigation-c9121998.js.map +0 -1
  632. package/_internal/components/notification-97a8a04a.js.map +0 -1
  633. package/_internal/components/popover-f93484cd.js +0 -3
  634. package/_internal/components/popover-f93484cd.js.map +0 -1
  635. package/_internal/components/post-block-7e63c4f4.js.map +0 -1
  636. package/_internal/components/progress-44bb0301.js +0 -183
  637. package/_internal/components/progress-44bb0301.js.map +0 -1
  638. package/_internal/components/progress-tracker-c9758d83.js +0 -310
  639. package/_internal/components/progress-tracker-c9758d83.js.map +0 -1
  640. package/_internal/components/radio-button-929c7bee.js.map +0 -1
  641. package/_internal/components/select-bea40e77.js +0 -459
  642. package/_internal/components/select-bea40e77.js.map +0 -1
  643. package/_internal/components/side-navigation-385825d4.js.map +0 -1
  644. package/_internal/components/skeleton-1ea8c82a.js +0 -167
  645. package/_internal/components/skeleton-1ea8c82a.js.map +0 -1
  646. package/_internal/components/slider-78cfaa67.js.map +0 -1
  647. package/_internal/components/slideshow-e0880d40.js.map +0 -1
  648. package/_internal/components/switch-24fea8d7.js.map +0 -1
  649. package/_internal/components/table-834af792.js +0 -298
  650. package/_internal/components/table-834af792.js.map +0 -1
  651. package/_internal/components/tabs-bebfe959.js +0 -299
  652. package/_internal/components/tabs-bebfe959.js.map +0 -1
  653. package/_internal/components/text-9074f440.js +0 -2
  654. package/_internal/components/text-9074f440.js.map +0 -1
  655. package/_internal/components/text-field-8597b7f7.js.map +0 -1
  656. package/_internal/components/thumbnail-4928bba2.js.map +0 -1
  657. package/_internal/components/toolbar-e7c984e6.js.map +0 -1
  658. package/_internal/components/tooltip-21018736.js +0 -328
  659. package/_internal/components/tooltip-21018736.js.map +0 -1
  660. package/_internal/components/uploader-2e1b080e.js.map +0 -1
  661. package/_internal/components/user-block-5fd51607.js.map +0 -1
  662. package/_internal/constants-43721918.js +0 -2170
  663. package/_internal/constants-43721918.js.map +0 -1
  664. package/_internal/constants-d0e3f49e.js.map +0 -1
  665. package/_internal/context-9d1336a1.js.map +0 -1
  666. package/_internal/forwardRef-8bce732e.js.map +0 -1
  667. package/_internal/getFocusableElements-230173a8.js.map +0 -1
  668. package/_internal/index-77f213b1.js.map +0 -1
  669. package/_internal/index-aa6d1d90.js +0 -437
  670. package/_internal/index-aa6d1d90.js.map +0 -1
  671. package/_internal/index-d3e86bd8.js.map +0 -1
  672. package/_internal/information-49bbeed3.js +0 -6
  673. package/_internal/information-49bbeed3.js.map +0 -1
  674. package/_internal/isComponent-78df9309.js.map +0 -1
  675. package/_internal/isComponentType-e806b848.js.map +0 -1
  676. package/_internal/mergeRefs-f0d7d6ea.js.map +0 -1
  677. package/_internal/partitionMulti-4daccdd5.js.map +0 -1
  678. package/_internal/state-db358714.js.map +0 -1
  679. package/_internal/useBooleanState-2a3d237c.js.map +0 -1
  680. package/_internal/useCallbackOnEscape-ea4d9eb4.js +0 -62
  681. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +0 -1
  682. package/_internal/useDisableBodyScroll-36bd7352.js.map +0 -1
  683. package/_internal/useDisableStateProps-69e16b7c.js.map +0 -1
  684. package/_internal/useFocusTrap-c3c6378b.js.map +0 -1
  685. package/_internal/useId-3a1facc0.js.map +0 -1
  686. package/_internal/useRovingTabIndex-7daf0f24.js.map +0 -1
  687. package/_internal/useTransitionVisibility-321fdbfa.js.map +0 -1
  688. package/_internal/wrapChildrenIconWithSpaces-fb85a743.js.map +0 -1
@@ -1,437 +0,0 @@
1
- import React__default, { useState, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
2
- import classNames from 'classnames';
3
- import { u as useCallbackOnEscape } from './useCallbackOnEscape-ea4d9eb4.js';
4
- import { C as ClickAwayProvider } from './ClickAwayProvider-7093ba23.js';
5
- import { D as DOCUMENT, W as WINDOW } from './constants-d0e3f49e.js';
6
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
7
- import { u as useMergeRefs } from './mergeRefs-f0d7d6ea.js';
8
- import { g as getFirstAndLastFocusable, u as useFocusTrap } from './useFocusTrap-c3c6378b.js';
9
- import { jsx, jsxs } from 'react/jsx-runtime';
10
- import { f as forwardRef } from './forwardRef-8bce732e.js';
11
- import { T as ThemeProvider } from './ThemeContext-3181f000.js';
12
- import memoize from 'lodash/memoize';
13
- import { A as ARROW_SIZE, u as usePopper, d as detectOverflow, F as FitAnchorWidth, P as Placement, a as POPOVER_ZINDEX } from './constants-43721918.js';
14
- import { P as Portal } from './Portal-3f86608e.js';
15
-
16
- /**
17
- * Hook focusing an element when defined and `focus` boolean `true`.
18
- *
19
- * @param element Element to focus.
20
- * @param shouldFocus Boolean flag to trigger the focus
21
- */
22
- function useFocus(element, shouldFocus = true) {
23
- const [wasFocus, setWasFocus] = useState(false);
24
- useEffect(() => {
25
- if (shouldFocus && wasFocus !== shouldFocus && element) {
26
- element.focus();
27
- setWasFocus(shouldFocus);
28
- }
29
- },
30
- // eslint-disable-next-line react-hooks/exhaustive-deps
31
- [element, shouldFocus]);
32
- }
33
-
34
- /**
35
- * HOC component wrapping a component to skip render if predicate return falsy
36
- */
37
- const skipRender = (predicate, Component) => {
38
- const Wrapper = /*#__PURE__*/React__default.forwardRef((props, ref) => {
39
- if (!DOCUMENT) {
40
- // Can't render in SSR.
41
- return null;
42
- }
43
- return /*#__PURE__*/jsx(Component, {
44
- ref: ref,
45
- ...props
46
- });
47
- });
48
- Wrapper.displayName = Component.displayName;
49
- return Wrapper;
50
- };
51
-
52
- /**
53
- * Helper component using useLayoutEffect to trigger a callback on before unmount.
54
- *
55
- * The callback must be wrapped in a React ref to avoid updating the `useLayoutEffect` before the un-mount
56
- */
57
- const OnBeforeUnmount = ({
58
- callbackRef
59
- }) => {
60
- useLayoutEffect(() => {
61
- return () => {
62
- // On unmount
63
- // eslint-disable-next-line react-hooks/exhaustive-deps
64
- callbackRef.current?.();
65
- };
66
- },
67
- // eslint-disable-next-line react-hooks/exhaustive-deps
68
- []);
69
- return null;
70
- };
71
-
72
- /**
73
- * Provides an unmount sentinel to inject in the popover to detect when it closes and restore the focus to the
74
- * anchor if needed.
75
- */
76
- function useRestoreFocusOnClose({
77
- focusAnchorOnClose,
78
- anchorRef,
79
- parentElement
80
- }, popoverElement) {
81
- const onBeforeUnmountRef = React__default.useRef();
82
- React__default.useEffect(() => {
83
- if (!popoverElement || !focusAnchorOnClose) {
84
- onBeforeUnmountRef.current = undefined;
85
- return;
86
- }
87
- onBeforeUnmountRef.current = () => {
88
- const isFocusWithin = popoverElement?.contains(document.activeElement);
89
- if (!isFocusWithin) return;
90
-
91
- // On next render
92
- setTimeout(() => {
93
- const anchor = anchorRef.current;
94
- const elementToFocus =
95
- // Provided parent element
96
- parentElement?.current || (
97
- // Or first focusable element in anchor
98
- anchor ? getFirstAndLastFocusable(anchor).first : undefined) ||
99
- // Fallback to anchor
100
- anchor;
101
- elementToFocus?.focus({
102
- preventScroll: true
103
- });
104
- }, 0);
105
- };
106
- }, [anchorRef, focusAnchorOnClose, parentElement, popoverElement]);
107
- return /*#__PURE__*/jsx(OnBeforeUnmount, {
108
- callbackRef: onBeforeUnmountRef
109
- });
110
- }
111
-
112
- /**
113
- * Popper js modifier to fit popover min width to the anchor width.
114
- */
115
- const sameWidth = memoize(anchorWidthOption => ({
116
- name: 'sameWidth',
117
- enabled: true,
118
- phase: 'beforeWrite',
119
- requires: ['computeStyles'],
120
- fn({
121
- state
122
- }) {
123
- // eslint-disable-next-line no-param-reassign
124
- state.styles.popper[anchorWidthOption] = `${state.rects.reference.width}px`;
125
- },
126
- effect({
127
- state
128
- }) {
129
- // eslint-disable-next-line no-param-reassign
130
- state.elements.popper.style[anchorWidthOption] = `${state.elements.reference.offsetWidth}px`;
131
- }
132
- }));
133
-
134
- /**
135
- * Popper js modifier to compute max size of the popover.
136
- */
137
- const maxSize = {
138
- name: 'maxSize',
139
- enabled: true,
140
- phase: 'main',
141
- requiresIfExists: ['offset', 'preventOverflow', 'flip'],
142
- fn({
143
- state,
144
- name,
145
- options
146
- }) {
147
- const overflow = detectOverflow(state, options);
148
- const {
149
- y = 0,
150
- x = 0
151
- } = state.modifiersData.preventOverflow;
152
- const {
153
- width,
154
- height
155
- } = state.rects.popper;
156
- const [basePlacement] = state.placement.split('-');
157
- const widthProp = basePlacement === 'left' ? 'left' : 'right';
158
- const heightProp = basePlacement === 'top' ? 'top' : 'bottom';
159
- // eslint-disable-next-line no-param-reassign
160
- state.modifiersData[name] = {
161
- width: width - overflow[widthProp] - x,
162
- height: height - overflow[heightProp] - y
163
- };
164
- }
165
- };
166
-
167
- /**
168
- * Popper js modifier to apply the max height.
169
- */
170
- const applyMaxHeight = {
171
- name: 'applyMaxHeight',
172
- enabled: true,
173
- phase: 'beforeWrite',
174
- requires: ['maxSize'],
175
- fn({
176
- state
177
- }) {
178
- const {
179
- height
180
- } = state.modifiersData.maxSize;
181
- // eslint-disable-next-line no-param-reassign
182
- state.elements.popper.style.maxHeight = `${height - ARROW_SIZE}px`;
183
- }
184
- };
185
- function usePopoverStyle({
186
- offset,
187
- hasArrow,
188
- fitToAnchorWidth,
189
- fitWithinViewportHeight,
190
- boundaryRef,
191
- anchorRef,
192
- placement,
193
- style,
194
- zIndex
195
- }) {
196
- const [popperElement, setPopperElement] = useState(null);
197
- const [arrowElement, setArrowElement] = useState(null);
198
- const actualOffset = [offset?.along ?? 0, (offset?.away ?? 0) + (hasArrow ? ARROW_SIZE : 0)];
199
- const modifiers = [{
200
- name: 'offset',
201
- options: {
202
- offset: actualOffset
203
- }
204
- }];
205
- if (hasArrow && arrowElement) {
206
- modifiers.push({
207
- name: 'arrow',
208
- options: {
209
- element: arrowElement,
210
- padding: ARROW_SIZE / 2
211
- }
212
- });
213
- }
214
- if (fitToAnchorWidth) {
215
- const fitWidth = typeof fitToAnchorWidth === 'string' ? fitToAnchorWidth : FitAnchorWidth.MIN_WIDTH;
216
- modifiers.push(sameWidth(fitWidth));
217
- }
218
- if (fitWithinViewportHeight) {
219
- modifiers.push({
220
- ...maxSize,
221
- options: {
222
- boundary: boundaryRef?.current
223
- }
224
- }, applyMaxHeight);
225
- }
226
- if (boundaryRef) {
227
- modifiers.push({
228
- name: 'flip',
229
- options: {
230
- boundary: boundaryRef.current
231
- }
232
- }, {
233
- name: 'preventOverflow',
234
- options: {
235
- boundary: boundaryRef.current
236
- }
237
- });
238
- }
239
- const {
240
- styles,
241
- attributes,
242
- state,
243
- update
244
- } = usePopper(anchorRef.current, popperElement, {
245
- placement,
246
- modifiers
247
- });
248
-
249
- // Auto update popover
250
- useEffect(() => {
251
- const {
252
- current: anchorElement
253
- } = anchorRef;
254
- if (!update || !popperElement || !anchorElement || !WINDOW?.ResizeObserver) {
255
- return undefined;
256
- }
257
- let running;
258
- function updateRateLimited() {
259
- if (running) return;
260
- update?.();
261
- running = setTimeout(() => {
262
- running = undefined;
263
- }, 100);
264
- }
265
- updateRateLimited();
266
-
267
- // On anchor or popover resize
268
- const resizeObserver = new ResizeObserver(updateRateLimited);
269
- resizeObserver.observe(anchorElement);
270
- resizeObserver.observe(popperElement);
271
- return () => {
272
- resizeObserver.disconnect();
273
- };
274
- }, [anchorRef, popperElement, update]);
275
- const position = state?.placement ?? placement;
276
- const popoverStyle = useMemo(() => {
277
- const newStyles = {
278
- ...style,
279
- ...styles.popper,
280
- zIndex
281
- };
282
- if (fitWithinViewportHeight && !newStyles.maxHeight) {
283
- newStyles.maxHeight = WINDOW?.innerHeight || DOCUMENT?.documentElement.clientHeight;
284
- }
285
- return newStyles;
286
- }, [style, styles.popper, zIndex, fitWithinViewportHeight]);
287
- return {
288
- styles: {
289
- arrow: styles.arrow,
290
- popover: popoverStyle
291
- },
292
- attributes,
293
- isPositioned: (state?.rects?.popper?.y ?? -1) >= 0,
294
- position,
295
- setArrowElement,
296
- setPopperElement,
297
- popperElement
298
- };
299
- }
300
-
301
- /**
302
- * Component display name.
303
- */
304
- const COMPONENT_NAME = 'Popover';
305
-
306
- /**
307
- * Component default class name and class prefix.
308
- */
309
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
310
-
311
- /**
312
- * Component default props.
313
- */
314
- const DEFAULT_PROPS = {
315
- elevation: 3,
316
- placement: Placement.AUTO,
317
- focusAnchorOnClose: true,
318
- usePortal: true,
319
- zIndex: POPOVER_ZINDEX
320
- };
321
-
322
- // Inner component (must be wrapped before export)
323
- const _InnerPopover = forwardRef((props, ref) => {
324
- const {
325
- anchorRef,
326
- as: Component = 'div',
327
- children,
328
- className,
329
- closeOnClickAway,
330
- closeOnEscape,
331
- elevation = DEFAULT_PROPS.elevation,
332
- focusElement,
333
- hasArrow,
334
- isOpen,
335
- onClose,
336
- parentElement,
337
- usePortal = DEFAULT_PROPS.usePortal,
338
- focusAnchorOnClose = DEFAULT_PROPS.focusAnchorOnClose,
339
- withFocusTrap,
340
- boundaryRef,
341
- fitToAnchorWidth,
342
- fitWithinViewportHeight,
343
- focusTrapZoneElement,
344
- offset,
345
- placement = DEFAULT_PROPS.placement,
346
- style,
347
- theme,
348
- zIndex = DEFAULT_PROPS.zIndex,
349
- ...forwardedProps
350
- } = props;
351
- const popoverRef = useRef(null);
352
- const {
353
- styles,
354
- attributes,
355
- isPositioned,
356
- position,
357
- setArrowElement,
358
- setPopperElement,
359
- popperElement
360
- } = usePopoverStyle({
361
- offset,
362
- hasArrow,
363
- fitToAnchorWidth,
364
- fitWithinViewportHeight,
365
- boundaryRef,
366
- anchorRef,
367
- placement,
368
- style,
369
- zIndex
370
- });
371
- const unmountSentinel = useRestoreFocusOnClose({
372
- focusAnchorOnClose,
373
- anchorRef,
374
- parentElement
375
- }, popperElement);
376
- const focusZoneElement = focusTrapZoneElement?.current || popoverRef?.current;
377
- useCallbackOnEscape(onClose, isOpen && closeOnEscape);
378
-
379
- /** Only set focus within if the focus trap is disabled as they interfere with one another. */
380
- useFocus(focusElement?.current, !withFocusTrap && isOpen && isPositioned);
381
- useFocusTrap(withFocusTrap && isOpen && focusZoneElement, focusElement?.current);
382
- const clickAwayRefs = useRef([popoverRef, anchorRef]);
383
- const mergedRefs = useMergeRefs(setPopperElement, ref, popoverRef);
384
- return isOpen ? /*#__PURE__*/jsx(Portal, {
385
- enabled: usePortal,
386
- children: /*#__PURE__*/jsxs(Component, {
387
- ...forwardedProps,
388
- ref: mergedRefs,
389
- className: classNames(className, handleBasicClasses({
390
- prefix: CLASSNAME,
391
- theme,
392
- elevation: Math.min(elevation || 0, 5),
393
- position,
394
- isInitializing: !styles.popover?.transform
395
- })),
396
- style: styles.popover,
397
- ...attributes.popper,
398
- children: [unmountSentinel, /*#__PURE__*/jsxs(ClickAwayProvider, {
399
- callback: closeOnClickAway && onClose,
400
- childrenRefs: clickAwayRefs,
401
- children: [hasArrow && /*#__PURE__*/jsx("div", {
402
- ref: setArrowElement,
403
- className: `${CLASSNAME}__arrow`,
404
- style: styles.arrow,
405
- children: /*#__PURE__*/jsx("svg", {
406
- viewBox: "0 0 14 14",
407
- "aria-hidden": true,
408
- children: /*#__PURE__*/jsx("path", {
409
- d: "M8 3.49C7.62 2.82 6.66 2.82 6.27 3.48L.04 14 14.04 14 8 3.49Z"
410
- })
411
- })
412
- }), /*#__PURE__*/jsx(ThemeProvider, {
413
- value: theme,
414
- children: children
415
- })]
416
- })]
417
- })
418
- }) : null;
419
- });
420
- _InnerPopover.displayName = COMPONENT_NAME;
421
-
422
- /**
423
- * Popover component.
424
- *
425
- * @param props Component props.
426
- * @param ref Component ref.
427
- * @return React element.
428
- */
429
- const Popover = skipRender(
430
- // Skip render in SSR
431
- () => Boolean(DOCUMENT), _InnerPopover);
432
- Popover.displayName = COMPONENT_NAME;
433
- Popover.className = CLASSNAME;
434
- Popover.defaultProps = DEFAULT_PROPS;
435
-
436
- export { Popover as P, useFocus as u };
437
- //# sourceMappingURL=index-aa6d1d90.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-aa6d1d90.js","sources":["../../src/hooks/useFocus.tsx","../../src/utils/react/skipRender.tsx","../../src/utils/react/OnBeforeUnmount.tsx","../../src/components/popover/useRestoreFocusOnClose.tsx","../../src/components/popover/usePopoverStyle.tsx","../../src/components/popover/Popover.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * Hook focusing an element when defined and `focus` boolean `true`.\n *\n * @param element Element to focus.\n * @param shouldFocus Boolean flag to trigger the focus\n */\nexport function useFocus(element: HTMLElement | null | undefined, shouldFocus = true): void {\n const [wasFocus, setWasFocus] = useState(false);\n useEffect(\n () => {\n if (shouldFocus && wasFocus !== shouldFocus && element) {\n element.focus();\n setWasFocus(shouldFocus);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [element, shouldFocus],\n );\n}\n","import React from 'react';\n\nimport { DOCUMENT } from '@lumx/react/constants';\nimport type { Comp } from '@lumx/react/utils/type';\n/**\n * HOC component wrapping a component to skip render if predicate return falsy\n */\nexport const skipRender = <P, T>(predicate: (props: P) => any, Component: Comp<P, T>) => {\n const Wrapper = React.forwardRef<T, P>((props, ref) => {\n if (!DOCUMENT) {\n // Can't render in SSR.\n return null;\n }\n return <Component ref={ref} {...props} />;\n });\n Wrapper.displayName = Component.displayName;\n return Wrapper;\n};\n","import { useLayoutEffect } from 'react';\n\n/**\n * Helper component using useLayoutEffect to trigger a callback on before unmount.\n *\n * The callback must be wrapped in a React ref to avoid updating the `useLayoutEffect` before the un-mount\n */\nexport const OnBeforeUnmount = ({ callbackRef }: { callbackRef: React.RefObject<(() => void) | undefined> }) => {\n useLayoutEffect(\n () => {\n return () => {\n // On unmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n callbackRef.current?.();\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n return null;\n};\n","import React from 'react';\nimport { getFirstAndLastFocusable } from '@lumx/react/utils/browser/focus/getFirstAndLastFocusable';\nimport { OnBeforeUnmount } from '@lumx/react/utils/react/OnBeforeUnmount';\nimport type { PopoverProps } from './Popover';\n\n/**\n * Provides an unmount sentinel to inject in the popover to detect when it closes and restore the focus to the\n * anchor if needed.\n */\nexport function useRestoreFocusOnClose(\n {\n focusAnchorOnClose,\n anchorRef,\n parentElement,\n }: Pick<PopoverProps, 'focusAnchorOnClose' | 'anchorRef' | 'parentElement'>,\n popoverElement?: HTMLElement | null,\n) {\n const onBeforeUnmountRef = React.useRef<(() => void) | undefined>();\n\n React.useEffect(() => {\n if (!popoverElement || !focusAnchorOnClose) {\n onBeforeUnmountRef.current = undefined;\n return;\n }\n\n onBeforeUnmountRef.current = () => {\n const isFocusWithin = popoverElement?.contains(document.activeElement);\n if (!isFocusWithin) return;\n\n // On next render\n setTimeout(() => {\n const anchor = anchorRef.current;\n const elementToFocus =\n // Provided parent element\n parentElement?.current ||\n // Or first focusable element in anchor\n (anchor ? getFirstAndLastFocusable(anchor).first : undefined) ||\n // Fallback to anchor\n anchor;\n\n elementToFocus?.focus({ preventScroll: true });\n }, 0);\n };\n }, [anchorRef, focusAnchorOnClose, parentElement, popoverElement]);\n\n return <OnBeforeUnmount callbackRef={onBeforeUnmountRef} />;\n}\n","import { useEffect, useMemo, useState } from 'react';\nimport memoize from 'lodash/memoize';\nimport { detectOverflow } from '@popperjs/core';\n\nimport { DOCUMENT, WINDOW } from '@lumx/react/constants';\nimport { PopoverProps } from '@lumx/react/components/popover/Popover';\nimport { usePopper } from '@lumx/react/hooks/usePopper';\nimport { ARROW_SIZE, FitAnchorWidth, Placement } from './constants';\n\n/**\n * Popper js modifier to fit popover min width to the anchor width.\n */\nconst sameWidth = memoize((anchorWidthOption: FitAnchorWidth) => ({\n name: 'sameWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn({ state }: any) {\n // eslint-disable-next-line no-param-reassign\n state.styles.popper[anchorWidthOption] = `${state.rects.reference.width}px`;\n },\n effect({ state }: any) {\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style[anchorWidthOption] = `${state.elements.reference.offsetWidth}px`;\n },\n}));\n\n/**\n * Popper js modifier to compute max size of the popover.\n */\nconst maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn({ state, name, options }: any) {\n const overflow = detectOverflow(state, options);\n\n const { y = 0, x = 0 } = state.modifiersData.preventOverflow;\n const { width, height } = state.rects.popper;\n\n const [basePlacement] = state.placement.split('-');\n\n const widthProp = basePlacement === 'left' ? 'left' : 'right';\n const heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n // eslint-disable-next-line no-param-reassign\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y,\n };\n },\n};\n\n/**\n * Popper js modifier to apply the max height.\n */\nconst applyMaxHeight = {\n name: 'applyMaxHeight',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['maxSize'],\n fn({ state }: any) {\n const { height } = state.modifiersData.maxSize;\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style.maxHeight = `${height - ARROW_SIZE}px`;\n },\n};\n\ntype Options = Pick<\n PopoverProps,\n | 'offset'\n | 'hasArrow'\n | 'fitToAnchorWidth'\n | 'fitWithinViewportHeight'\n | 'boundaryRef'\n | 'anchorRef'\n | 'placement'\n | 'style'\n | 'zIndex'\n>;\n\ninterface Output {\n styles: { arrow?: React.CSSProperties; popover?: React.CSSProperties };\n attributes: any;\n isPositioned: boolean;\n position?: Placement;\n setArrowElement?: React.Ref<HTMLDivElement>;\n setPopperElement?: React.Ref<HTMLDivElement>;\n popperElement: HTMLElement | null;\n}\n\nexport function usePopoverStyle({\n offset,\n hasArrow,\n fitToAnchorWidth,\n fitWithinViewportHeight,\n boundaryRef,\n anchorRef,\n placement,\n style,\n zIndex,\n}: Options): Output {\n const [popperElement, setPopperElement] = useState<null | HTMLElement>(null);\n const [arrowElement, setArrowElement] = useState<null | HTMLElement>(null);\n\n const actualOffset: [number, number] = [offset?.along ?? 0, (offset?.away ?? 0) + (hasArrow ? ARROW_SIZE : 0)];\n const modifiers: any = [\n {\n name: 'offset',\n options: { offset: actualOffset },\n },\n ];\n if (hasArrow && arrowElement) {\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrowElement,\n padding: ARROW_SIZE / 2,\n },\n });\n }\n if (fitToAnchorWidth) {\n const fitWidth = typeof fitToAnchorWidth === 'string' ? fitToAnchorWidth : FitAnchorWidth.MIN_WIDTH;\n modifiers.push(sameWidth(fitWidth));\n }\n if (fitWithinViewportHeight) {\n modifiers.push({ ...maxSize, options: { boundary: boundaryRef?.current } }, applyMaxHeight);\n }\n if (boundaryRef) {\n modifiers.push(\n { name: 'flip', options: { boundary: boundaryRef.current } },\n { name: 'preventOverflow', options: { boundary: boundaryRef.current } },\n );\n }\n\n const { styles, attributes, state, update } = usePopper(anchorRef.current, popperElement, { placement, modifiers });\n\n // Auto update popover\n useEffect(() => {\n const { current: anchorElement } = anchorRef;\n if (!update || !popperElement || !anchorElement || !WINDOW?.ResizeObserver) {\n return undefined;\n }\n let running: ReturnType<typeof setTimeout> | undefined;\n function updateRateLimited() {\n if (running) return;\n update?.();\n running = setTimeout(() => {\n running = undefined;\n }, 100);\n }\n updateRateLimited();\n\n // On anchor or popover resize\n const resizeObserver = new ResizeObserver(updateRateLimited);\n resizeObserver.observe(anchorElement);\n resizeObserver.observe(popperElement);\n return () => {\n resizeObserver.disconnect();\n };\n }, [anchorRef, popperElement, update]);\n\n const position = state?.placement ?? placement;\n\n const popoverStyle = useMemo(() => {\n const newStyles = { ...style, ...styles.popper, zIndex };\n\n if (fitWithinViewportHeight && !newStyles.maxHeight) {\n newStyles.maxHeight = WINDOW?.innerHeight || DOCUMENT?.documentElement.clientHeight;\n }\n\n return newStyles;\n }, [style, styles.popper, zIndex, fitWithinViewportHeight]);\n\n return {\n styles: { arrow: styles.arrow, popover: popoverStyle },\n attributes,\n isPositioned: (state?.rects?.popper?.y ?? -1) >= 0,\n position,\n setArrowElement,\n setPopperElement,\n popperElement,\n };\n}\n","import { ReactNode, RefObject, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useCallbackOnEscape } from '@lumx/react/hooks/useCallbackOnEscape';\nimport { useFocus } from '@lumx/react/hooks/useFocus';\nimport { ClickAwayProvider } from '@lumx/react/utils/ClickAwayProvider';\nimport { DOCUMENT } from '@lumx/react/constants';\nimport { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useMergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useFocusTrap } from '@lumx/react/hooks/useFocusTrap';\nimport { skipRender } from '@lumx/react/utils/react/skipRender';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { ThemeProvider } from '@lumx/react/utils/theme/ThemeContext';\nimport { Portal } from '@lumx/react/utils';\nimport { useRestoreFocusOnClose } from './useRestoreFocusOnClose';\nimport { usePopoverStyle } from './usePopoverStyle';\nimport { Elevation, FitAnchorWidth, Offset, Placement, POPOVER_ZINDEX } from './constants';\n\n/**\n * Defines the props of the component.\n */\nexport interface PopoverProps extends GenericProps, HasTheme {\n /** Reference to the DOM element used to set the position of the popover. */\n anchorRef: React.RefObject<HTMLElement>;\n /** Customize the root element. (Must accept ref forwarding and props forwarding!). */\n as?: React.ElementType;\n /** Element which will act as boundary when opening the popover. */\n boundaryRef?: RefObject<HTMLElement>;\n /** Content. */\n children: ReactNode;\n /** Whether a click anywhere out of the popover would close it. */\n closeOnClickAway?: boolean;\n /** Whether an escape key press would close the popover. */\n closeOnEscape?: boolean;\n /** Shadow elevation. */\n elevation?: Elevation;\n /**\n * Manage popover width:\n * - `maxWidth`: popover not bigger than anchor\n * - `minWidth` or `true`: popover not smaller than anchor\n * - `width`: popover equal to the anchor.\n */\n fitToAnchorWidth?: FitAnchorWidth | boolean;\n /** Shrink popover if even after flipping there is not enough space. */\n fitWithinViewportHeight?: boolean;\n /** Element to focus when opening the popover. */\n focusElement?: RefObject<HTMLElement>;\n /** Whether the focus should go back on the anchor when popover closes and focus is within. */\n focusAnchorOnClose?: boolean;\n /** Whether we put an arrow or not. */\n hasArrow?: boolean;\n /** Whether the popover is open or not. */\n isOpen: boolean;\n /** Offset placement relative to anchor. */\n offset?: Offset;\n /** Reference to the parent element that triggered the popover (will get back focus on close or else fallback on the anchor element). */\n parentElement?: RefObject<HTMLElement>;\n /** Placement relative to anchor. */\n placement?: Placement;\n /** Whether the popover should be rendered into a DOM node that exists outside the DOM hierarchy of the parent component. */\n usePortal?: boolean;\n /** The element in which the focus trap should be set. Default to popover. */\n focusTrapZoneElement?: RefObject<HTMLElement>;\n /** Z-axis position. */\n zIndex?: number;\n /** On close callback (on click away or Escape pressed). */\n onClose?(): void;\n /** Whether the popover should trap the focus within itself. Default to false. */\n withFocusTrap?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Popover';\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<PopoverProps> = {\n elevation: 3,\n placement: Placement.AUTO,\n focusAnchorOnClose: true,\n usePortal: true,\n zIndex: POPOVER_ZINDEX,\n};\n\n// Inner component (must be wrapped before export)\nconst _InnerPopover = forwardRef<PopoverProps, HTMLDivElement>((props, ref) => {\n const {\n anchorRef,\n as: Component = 'div',\n children,\n className,\n closeOnClickAway,\n closeOnEscape,\n elevation = DEFAULT_PROPS.elevation,\n focusElement,\n hasArrow,\n isOpen,\n onClose,\n parentElement,\n usePortal = DEFAULT_PROPS.usePortal,\n focusAnchorOnClose = DEFAULT_PROPS.focusAnchorOnClose,\n withFocusTrap,\n boundaryRef,\n fitToAnchorWidth,\n fitWithinViewportHeight,\n focusTrapZoneElement,\n offset,\n placement = DEFAULT_PROPS.placement,\n style,\n theme,\n zIndex = DEFAULT_PROPS.zIndex,\n ...forwardedProps\n } = props;\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const { styles, attributes, isPositioned, position, setArrowElement, setPopperElement, popperElement } =\n usePopoverStyle({\n offset,\n hasArrow,\n fitToAnchorWidth,\n fitWithinViewportHeight,\n boundaryRef,\n anchorRef,\n placement,\n style,\n zIndex,\n });\n\n const unmountSentinel = useRestoreFocusOnClose({ focusAnchorOnClose, anchorRef, parentElement }, popperElement);\n const focusZoneElement = focusTrapZoneElement?.current || popoverRef?.current;\n\n useCallbackOnEscape(onClose, isOpen && closeOnEscape);\n\n /** Only set focus within if the focus trap is disabled as they interfere with one another. */\n useFocus(focusElement?.current, !withFocusTrap && isOpen && isPositioned);\n useFocusTrap(withFocusTrap && isOpen && focusZoneElement, focusElement?.current);\n\n const clickAwayRefs = useRef([popoverRef, anchorRef]);\n const mergedRefs = useMergeRefs<HTMLDivElement>(setPopperElement, ref, popoverRef);\n\n return isOpen ? (\n <Portal enabled={usePortal}>\n <Component\n {...forwardedProps}\n ref={mergedRefs}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n theme,\n elevation: Math.min(elevation || 0, 5),\n position,\n isInitializing: !styles.popover?.transform,\n }),\n )}\n style={styles.popover}\n {...attributes.popper}\n >\n {unmountSentinel}\n <ClickAwayProvider callback={closeOnClickAway && onClose} childrenRefs={clickAwayRefs}>\n {hasArrow && (\n <div ref={setArrowElement} className={`${CLASSNAME}__arrow`} style={styles.arrow}>\n <svg viewBox=\"0 0 14 14\" aria-hidden>\n <path d=\"M8 3.49C7.62 2.82 6.66 2.82 6.27 3.48L.04 14 14.04 14 8 3.49Z\" />\n </svg>\n </div>\n )}\n <ThemeProvider value={theme}>{children}</ThemeProvider>\n </ClickAwayProvider>\n </Component>\n </Portal>\n ) : null;\n});\n_InnerPopover.displayName = COMPONENT_NAME;\n\n/**\n * Popover component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Popover: Comp<PopoverProps, HTMLDivElement> = skipRender(\n // Skip render in SSR\n () => Boolean(DOCUMENT),\n _InnerPopover,\n);\nPopover.displayName = COMPONENT_NAME;\nPopover.className = CLASSNAME;\nPopover.defaultProps = DEFAULT_PROPS;\n"],"names":["useFocus","element","shouldFocus","wasFocus","setWasFocus","useState","useEffect","focus","skipRender","predicate","Component","Wrapper","React","forwardRef","props","ref","DOCUMENT","_jsx","displayName","OnBeforeUnmount","callbackRef","useLayoutEffect","current","useRestoreFocusOnClose","focusAnchorOnClose","anchorRef","parentElement","popoverElement","onBeforeUnmountRef","useRef","undefined","isFocusWithin","contains","document","activeElement","setTimeout","anchor","elementToFocus","getFirstAndLastFocusable","first","preventScroll","sameWidth","memoize","anchorWidthOption","name","enabled","phase","requires","fn","state","styles","popper","rects","reference","width","effect","elements","style","offsetWidth","maxSize","requiresIfExists","options","overflow","detectOverflow","y","x","modifiersData","preventOverflow","height","basePlacement","placement","split","widthProp","heightProp","applyMaxHeight","maxHeight","ARROW_SIZE","usePopoverStyle","offset","hasArrow","fitToAnchorWidth","fitWithinViewportHeight","boundaryRef","zIndex","popperElement","setPopperElement","arrowElement","setArrowElement","actualOffset","along","away","modifiers","push","padding","fitWidth","FitAnchorWidth","MIN_WIDTH","boundary","attributes","update","usePopper","anchorElement","WINDOW","ResizeObserver","running","updateRateLimited","resizeObserver","observe","disconnect","position","popoverStyle","useMemo","newStyles","innerHeight","documentElement","clientHeight","arrow","popover","isPositioned","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","elevation","Placement","AUTO","usePortal","POPOVER_ZINDEX","_InnerPopover","as","children","className","closeOnClickAway","closeOnEscape","focusElement","isOpen","onClose","withFocusTrap","focusTrapZoneElement","theme","forwardedProps","popoverRef","unmountSentinel","focusZoneElement","useCallbackOnEscape","useFocusTrap","clickAwayRefs","mergedRefs","useMergeRefs","Portal","_jsxs","classNames","handleBasicClasses","prefix","Math","min","isInitializing","transform","ClickAwayProvider","callback","childrenRefs","viewBox","d","ThemeProvider","value","Popover","Boolean","defaultProps"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-d3e86bd8.js","sources":["../../../lumx-icons/dist/esm/alert-circle.js","../../src/components/icon/Icon.tsx"],"sourcesContent":["export const mdiAlertCircle = 'M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2';","import classNames from 'classnames';\n\nimport { mdiAlertCircle } from '@lumx/icons';\nimport { ColorPalette, ColorVariant, ColorWithVariants, Size, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses, resolveColorWithVariants } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\n\nexport type IconSizes = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface IconProps extends GenericProps, HasTheme {\n /** Color variant. */\n color?: ColorWithVariants;\n /** Lightened or darkened variant of the selected icon color. */\n colorVariant?: ColorVariant;\n /** Whether the icon has a shape. */\n hasShape?: boolean;\n /**\n * Icon (SVG path) draw code (`d` property of the `<path>` SVG element).\n * See https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\n */\n icon: string;\n /** Size variant. */\n size?: IconSizes;\n /** Sets an alternative text on the svg. Will set an `img` role to the svg. */\n alt?: string;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Icon';\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<IconProps> = {};\n\n/**\n * Icon component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Icon = forwardRef<IconProps, HTMLElement>((props, ref) => {\n const defaultTheme = useTheme();\n const {\n className,\n color: propColor,\n colorVariant: propColorVariant,\n hasShape,\n icon,\n size,\n theme = defaultTheme,\n alt,\n ...forwardedProps\n } = props;\n const [color, colorVariant] = resolveColorWithVariants(propColor, propColorVariant);\n\n // Color\n let iconColor = color;\n if (!iconColor && (hasShape || theme)) {\n iconColor = theme === Theme.dark ? ColorPalette.light : ColorPalette.dark;\n }\n\n // Color variant\n let iconColorVariant = colorVariant;\n if (!iconColorVariant && hasShape && iconColor === ColorPalette.dark) {\n iconColorVariant = 'L2';\n }\n\n // Size\n let iconSize = size;\n if (size && hasShape) {\n if (size === Size.xxs || size === Size.xs) {\n iconSize = Size.s;\n } else if (size === Size.xxl) {\n iconSize = Size.xl;\n }\n } else if (hasShape) {\n iconSize = Size.m;\n }\n\n return (\n <i\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n color: iconColor,\n colorVariant: iconColorVariant,\n hasShape,\n prefix: CLASSNAME,\n theme,\n size: iconSize,\n }),\n !hasShape && `${CLASSNAME}--no-shape`,\n !hasShape &&\n iconColor === ColorPalette.yellow &&\n icon === mdiAlertCircle &&\n `${CLASSNAME}--has-dark-layer`,\n `${CLASSNAME}--path`,\n )}\n >\n <svg\n aria-hidden={alt ? undefined : 'true'}\n role={alt ? 'img' : undefined}\n aria-label={alt}\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n >\n <path d={icon} fill=\"currentColor\" />\n </svg>\n </i>\n );\n});\nIcon.displayName = COMPONENT_NAME;\nIcon.className = CLASSNAME;\nIcon.defaultProps = DEFAULT_PROPS;\n"],"names":["mdiAlertCircle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Icon","forwardRef","props","ref","defaultTheme","useTheme","className","color","propColor","colorVariant","propColorVariant","hasShape","icon","size","theme","alt","forwardedProps","resolveColorWithVariants","iconColor","Theme","dark","ColorPalette","light","iconColorVariant","iconSize","Size","xxs","xs","s","xxl","xl","m","_jsx","classNames","handleBasicClasses","prefix","yellow","children","undefined","role","height","preserveAspectRatio","style","verticalAlign","viewBox","width","d","fill","displayName","defaultProps"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- const mdiAlert = 'M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2z';
2
-
3
- const mdiInformation = 'M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2';
4
-
5
- export { mdiInformation as a, mdiAlert as m };
6
- //# sourceMappingURL=information-49bbeed3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"information-49bbeed3.js","sources":["../../../lumx-icons/dist/esm/alert.js","../../../lumx-icons/dist/esm/information.js"],"sourcesContent":["export const mdiAlert = 'M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2z';","export const mdiInformation = 'M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2';"],"names":["mdiAlert","mdiInformation"],"mappings":"AAAO,MAAMA,QAAQ,GAAG;;ACAjB,MAAMC,cAAc,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"isComponent-78df9309.js","sources":["../../src/utils/type/isComponent.ts"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport get from 'lodash/get';\nimport type { Comp } from './Comp';\n\n/**\n * Properties of a component to use to determine it's name.\n * In the order of preference.\n */\nconst NAME_PROPERTIES: string[] = [\n 'type',\n 'type.displayName',\n 'displayName',\n 'name',\n 'type.name',\n 'props.mdxType',\n '_reactInternalFiber.elementType.name',\n];\n/**\n * Create a predicate function that checks if a ReactNode is a react element from the given component.\n *\n * @param component React function component or the component name\n * @return predicate returning true if value is instance of the component\n */\nexport const isComponent =\n <C>(component: Comp<C, any> | string) =>\n (instance: ReactNode): instance is ReactElement => {\n const componentName = typeof component === 'string' ? component : component.displayName;\n\n return (\n !!get(instance, '$$typeof') &&\n NAME_PROPERTIES.some((nameProperty: string): boolean => get(instance, nameProperty) === componentName)\n );\n };\n"],"names":["NAME_PROPERTIES","isComponent","component","instance","componentName","displayName","get","some","nameProperty"],"mappings":";;AAIA;AACA;AACA;AACA;AACA,MAAMA,eAAyB,GAAG,CAC9B,MAAM,EACN,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,WAAW,EACX,eAAe,EACf,sCAAsC,CACzC,CAAA;AACD;AACA;AACA;AACA;AACA;AACA;MACaC,WAAW,GAChBC,SAAgC,IACnCC,QAAmB,IAA+B;EAC/C,MAAMC,aAAa,GAAG,OAAOF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAACG,WAAW,CAAA;EAEvF,OACI,CAAC,CAACC,GAAG,CAACH,QAAQ,EAAE,UAAU,CAAC,IAC3BH,eAAe,CAACO,IAAI,CAAEC,YAAoB,IAAcF,GAAG,CAACH,QAAQ,EAAEK,YAAY,CAAC,KAAKJ,aAAa,CAAC,CAAA;AAE9G;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"isComponentType-e806b848.js","sources":["../../src/utils/type/isComponentType.ts"],"sourcesContent":["import React, { ReactElement, ReactNode } from 'react';\n\n/**\n * Similar to `isComponent` but more precise as it's not based on the component `displayName` but on the component function reference.\n */\nexport const isComponentType =\n (type: ReactElement['type']) =>\n (node: ReactNode): node is ReactElement =>\n React.isValidElement(node) && node.type === type;\n"],"names":["isComponentType","type","node","React","isValidElement"],"mappings":";;AAEA;AACA;AACA;MACaA,eAAe,GACvBC,IAA0B,IAC1BC,IAAe,iBACZC,cAAK,CAACC,cAAc,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACD,IAAI,KAAKA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeRefs-f0d7d6ea.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;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"partitionMulti-4daccdd5.js","sources":["../../src/utils/partitionMulti.ts"],"sourcesContent":["import concat from 'lodash/concat';\nimport dropRight from 'lodash/dropRight';\nimport last from 'lodash/last';\nimport partition from 'lodash/partition';\nimport reduce from 'lodash/reduce';\n\nimport { Predicate } from '@lumx/core/js/types';\n\n/**\n * Similar to lodash `partition` function but working with multiple predicates.\n *\n * @example\n * const isString = (s) => typeof s === 'string'\n * const isNumber = (s) => typeof s === 'number'\n * const [strings, numbers, others] = partitionMulti(['a', 1, 'b', false], [isString, isNumber])\n * //=> [['a', 'b'], [1], [false]]\n *\n * @param elements array of elements\n * @param predicates array of predicates to apply on elements\n * @return partitioned elements by the given predicates\n */\nexport function partitionMulti<T>(elements: T[], predicates: Array<Predicate<T>>): T[][] {\n return reduce(\n predicates,\n (partitioned: T[][], predicate: Predicate<T>) =>\n concat(dropRight(partitioned), partition(last(partitioned), predicate)),\n [elements],\n );\n}\n"],"names":["partitionMulti","elements","predicates","reduce","partitioned","predicate","concat","dropRight","partition","last"],"mappings":";;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,cAAcA,CAAIC,QAAa,EAAEC,UAA+B,EAAS;AACrF,EAAA,OAAOC,MAAM,CACTD,UAAU,EACV,CAACE,WAAkB,EAAEC,SAAuB,KACxCC,MAAM,CAACC,SAAS,CAACH,WAAW,CAAC,EAAEI,SAAS,CAACC,IAAI,CAACL,WAAW,CAAC,EAAEC,SAAS,CAAC,CAAC,EAC3E,CAACJ,QAAQ,CACb,CAAC,CAAA;AACL;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-db358714.js","sources":["../../src/components/tabs/state.ts"],"sourcesContent":["import { Dispatch, createContext, useCallback, useContext, useEffect, useMemo } from 'react';\nimport { useId } from '@lumx/react/hooks/useId';\n\ntype TabType = 'tab' | 'tabPanel';\n\nexport interface State {\n isLazy: boolean;\n shouldActivateOnFocus: boolean;\n activeTabIndex: number;\n ids: Record<TabType, string[]>;\n}\n\nexport const INIT_STATE: State = {\n isLazy: true,\n shouldActivateOnFocus: false,\n activeTabIndex: 0,\n ids: { tab: [], tabPanel: [] },\n};\n\nexport type Action =\n | { type: 'update'; payload: Partial<State> }\n | { type: 'setActiveTabIndex'; payload: number }\n | { type: 'register'; payload: { type: TabType; id: string } }\n | { type: 'unregister'; payload: { type: TabType; id: string } };\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'update':\n return { ...state, ...action.payload };\n case 'setActiveTabIndex': {\n if (state.activeTabIndex === action.payload) {\n return state;\n }\n // Change active tab index.\n return { ...state, activeTabIndex: action.payload };\n }\n case 'register': {\n const { type, id } = action.payload;\n // Append tab/tabPanel id in state.\n return { ...state, ids: { ...state.ids, [type]: [...state.ids[type], id] } };\n }\n case 'unregister': {\n const { type, id } = action.payload;\n const index = state.ids[type].indexOf(id);\n if (index === -1) return state;\n // Remove tab & tab panel at index.\n const tabIds = [...state.ids.tab];\n tabIds.splice(index, 1);\n const tabPanelIds = [...state.ids.tabPanel];\n tabPanelIds.splice(index, 1);\n return {\n ...state,\n ids: { tab: tabIds, tabPanel: tabPanelIds },\n };\n }\n default:\n return state;\n }\n};\n\nexport const TabProviderContext = createContext<[State, Dispatch<Action>] | null>(null);\n\nexport type TabState = Pick<Required<State>, 'isLazy' | 'shouldActivateOnFocus'> & {\n isActive: boolean;\n tabId: string;\n tabPanelId: string;\n changeToTab(): void;\n};\n\n/* eslint-disable react-hooks/rules-of-hooks */\nexport const useTabProviderContext = (type: TabType, originalId?: string): undefined | TabState => {\n const context = useContext(TabProviderContext);\n if (!context) {\n return undefined;\n }\n const [state, dispatch] = context;\n\n // Current tab or tab panel id.\n const generatedId = useId();\n const id = originalId || generatedId;\n\n useEffect(\n () => {\n // On mount: register tab or tab panel id.\n dispatch({ type: 'register', payload: { type, id } });\n return () => {\n // On unmount: unregister tab or tab panel id.\n dispatch({ type: 'unregister', payload: { type, id } });\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n // Find tab/tabPanel index using it's id.\n const index = useMemo(() => state.ids[type].indexOf(id), [state.ids, type, id]);\n const tabId = useMemo(() => state.ids.tab[index] || '', [state, index]);\n const tabPanelId = useMemo(() => state.ids.tabPanel[index] || '', [state, index]);\n const isActive = useMemo(() => state.activeTabIndex === index, [state, index]);\n const changeToTab = useCallback(() => dispatch({ type: 'setActiveTabIndex', payload: index }), [dispatch, index]);\n return {\n isLazy: state.isLazy,\n shouldActivateOnFocus: state.shouldActivateOnFocus,\n tabId,\n tabPanelId,\n isActive,\n changeToTab,\n };\n};\n\nexport const useTabProviderContextState = (): State | undefined => {\n const context = useContext(TabProviderContext);\n return context?.[0];\n};\n"],"names":["INIT_STATE","isLazy","shouldActivateOnFocus","activeTabIndex","ids","tab","tabPanel","reducer","state","action","type","payload","id","index","indexOf","tabIds","splice","tabPanelIds","TabProviderContext","createContext","useTabProviderContext","originalId","context","useContext","undefined","dispatch","generatedId","useId","useEffect","useMemo","tabId","tabPanelId","isActive","changeToTab","useCallback","useTabProviderContextState"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBooleanState-2a3d237c.js","sources":["../../src/hooks/useBooleanState.tsx"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nexport const useBooleanState = (defaultValue: boolean): [boolean, () => void, () => void, () => void] => {\n const [booleanValue, setBoolean] = useState<boolean>(defaultValue);\n\n const setToFalse = useCallback(() => setBoolean(false), []);\n\n const setToTrue = useCallback(() => setBoolean(true), []);\n\n const toggleBoolean = useCallback(() => setBoolean((previousValue) => !previousValue), []);\n\n return [booleanValue, setToFalse, setToTrue, toggleBoolean];\n};\n"],"names":["useBooleanState","defaultValue","booleanValue","setBoolean","useState","setToFalse","useCallback","setToTrue","toggleBoolean","previousValue"],"mappings":";;AAEaA,MAAAA,eAAe,GAAIC,YAAqB,IAAoD;EACrG,MAAM,CAACC,YAAY,EAAEC,UAAU,CAAC,GAAGC,QAAQ,CAAUH,YAAY,CAAC,CAAA;EAElE,MAAMI,UAAU,GAAGC,WAAW,CAAC,MAAMH,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;EAE3D,MAAMI,SAAS,GAAGD,WAAW,CAAC,MAAMH,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AAEzD,EAAA,MAAMK,aAAa,GAAGF,WAAW,CAAC,MAAMH,UAAU,CAAEM,aAAa,IAAK,CAACA,aAAa,CAAC,EAAE,EAAE,CAAC,CAAA;EAE1F,OAAO,CAACP,YAAY,EAAEG,UAAU,EAAEE,SAAS,EAAEC,aAAa,CAAC,CAAA;AAC/D;;;;"}
@@ -1,62 +0,0 @@
1
- import { D as DOCUMENT } from './constants-d0e3f49e.js';
2
- import { onEscapePressed } from '@lumx/core/js/utils';
3
- import { useEffect } from 'react';
4
- import last from 'lodash/last';
5
- import pull from 'lodash/pull';
6
-
7
- /**
8
- * Keep track of listeners, only the last registered listener gets activated at any point (previously registered
9
- * listener are disabled).
10
- * When a listener gets unregistered, the previously registered listener gets enabled again.
11
- */
12
- function makeListenerTowerContext() {
13
- const LISTENERS = [];
14
- return {
15
- register(listener) {
16
- // Disable previous listener.
17
- last(LISTENERS)?.disable();
18
- // Keep track of current listener.
19
- LISTENERS.push(listener);
20
- // Enable current listener.
21
- listener.enable();
22
- },
23
- unregister(listener) {
24
- // Disable current listener.
25
- listener.disable();
26
- // Remove current listener.
27
- pull(LISTENERS, listener);
28
- // Enable previous listener.
29
- last(LISTENERS)?.enable();
30
- }
31
- };
32
- }
33
-
34
- const LISTENERS = makeListenerTowerContext();
35
-
36
- /**
37
- * Register a global listener on 'Escape' key pressed.
38
- *
39
- * If multiple listener are registered, only the last one is maintained. When a listener is unregistered, the previous
40
- * one gets activated again.
41
- *
42
- * @param callback Callback
43
- * @param closeOnEscape Disables the hook when false
44
- */
45
- function useCallbackOnEscape(callback, closeOnEscape = true) {
46
- useEffect(() => {
47
- const rootElement = DOCUMENT?.body;
48
- if (!closeOnEscape || !callback || !rootElement) {
49
- return undefined;
50
- }
51
- const onKeyDown = onEscapePressed(callback);
52
- const listener = {
53
- enable: () => rootElement.addEventListener('keydown', onKeyDown),
54
- disable: () => rootElement.removeEventListener('keydown', onKeyDown)
55
- };
56
- LISTENERS.register(listener);
57
- return () => LISTENERS.unregister(listener);
58
- }, [callback, closeOnEscape]);
59
- }
60
-
61
- export { makeListenerTowerContext as m, useCallbackOnEscape as u };
62
- //# sourceMappingURL=useCallbackOnEscape-ea4d9eb4.js.map