@lumx/react 3.20.1-alpha.34 → 3.20.1-alpha.36

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 (590) hide show
  1. package/_internal/035c132d.js +314 -0
  2. package/_internal/0b9c76cb.js +5 -0
  3. package/_internal/0ea95af1.js +819 -0
  4. package/_internal/{c0a6dba6.js → 230173a8.js} +6 -2
  5. package/_internal/{3e2f0517.js → 2a3d237c.js} +1 -2
  6. package/_internal/{a6dc95cd.js → 2c2b6a89.js} +5 -3
  7. package/_internal/{d8ee966d.js → 3181f000.js} +1 -2
  8. package/_internal/{8e8c5ab6.js → 36bd7352.js} +28 -2
  9. package/_internal/3864a6c1.js +436 -0
  10. package/_internal/{11687649.js → 3a1facc0.js} +1 -2
  11. package/_internal/{68f13c1c.js → 49bbeed3.js} +3 -2
  12. package/_internal/{cb19eca6.js → 4daccdd5.js} +1 -2
  13. package/_internal/4f4c0582.js +2169 -0
  14. package/_internal/{3996d544.js → 5cef5e8c.js} +4 -5
  15. package/_internal/{9b0c0489.js → 6a60381c.js} +5 -6
  16. package/_internal/{0350c865.js → 6f084a40.js} +26 -5
  17. package/_internal/{91f36a80.js → 76ddefd4.js} +31 -4
  18. package/_internal/{ebe24fd7.js → 78df9309.js} +1 -2
  19. package/_internal/{0d7cc1e0.js → 7ad474e4.js} +7 -8
  20. package/_internal/{16f5497d.js → 7b293665.js} +3 -4
  21. package/_internal/{bb8088e1.js → 7daf0f24.js} +1 -2
  22. package/_internal/{e0398237.js → 825ac334.js} +2 -3
  23. package/_internal/827b804a.js +5 -0
  24. package/_internal/{bd8b3ec8.js → 8bce732e.js} +1 -2
  25. package/_internal/{841c2303.js → 9d1336a1.js} +1 -2
  26. package/_internal/{f6bc7948.js → a38bdcd0.js} +7 -3
  27. package/_internal/b326655a.js +682 -0
  28. package/_internal/{5a0207d9.js → b83e864b.js} +6 -7
  29. package/_internal/{595d0e66.js → bace1bf1.js} +5 -5
  30. package/_internal/{b125b718.js → c57190eb.js} +21 -6
  31. package/_internal/{c51d37f8.js → components/alert-dialog/index-284fed80.js} +8 -11
  32. package/_internal/components/autocomplete/__mockData__/index-96fc7ea7.js +27 -0
  33. package/_internal/components/autocomplete/index-27a49d5d.js +261 -0
  34. package/_internal/{ffb2f7fa.js → components/avatar/index-b8bc3cae.js} +3 -4
  35. package/_internal/components/badge/index-9880f056.js +81 -0
  36. package/_internal/{bae815e2.js → components/button/index-d919f96d.js} +3 -2
  37. package/_internal/{6b510f5e.js → components/checkbox/index-dd478de9.js} +12 -11
  38. package/_internal/{7d9c0855.js → components/chip/index-7f84cdbd.js} +49 -2
  39. package/_internal/{cc5cac50.js → components/comment-block/index-e942de30.js} +4 -5
  40. package/_internal/components/date-picker/index-a258d3ce.js +596 -0
  41. package/_internal/{cd8457fc.js → components/dialog/index-c7066813.js} +46 -17
  42. package/_internal/{162672de.js → components/divider/index-b6934baf.js} +2 -3
  43. package/_internal/{840e9690.js → components/drag-handle/index-80e5af6c.js} +5 -5
  44. package/_internal/{2d1acaa0.js → components/dropdown/index-cebfc268.js} +47 -8
  45. package/_internal/{a89bf7bc.js → components/expansion-panel/index-9d45a211.js} +8 -10
  46. package/_internal/{fcc7c462.js → components/flag/index-33e9d909.js} +4 -5
  47. package/_internal/{fdebc718.js → components/flex-box/index-0d6b6b43.js} +1 -2
  48. package/_internal/{ac3f7e4d.js → components/generic-block/index-836c4352.js} +11 -6
  49. package/_internal/components/grid/index-8c16a4f1.js +104 -0
  50. package/_internal/{00cc46ee.js → components/grid-column/index-4a2f56bb.js} +1 -2
  51. package/_internal/{bd1cd49f.js → components/heading/index-fd558a9a.js} +5 -6
  52. package/_internal/components/icon/index-e7b9b40e.js +1 -0
  53. package/_internal/{4c891480.js → components/image-block/index-7021c2f1.js} +4 -5
  54. package/_internal/components/image-lightbox/index-27017547.js +759 -0
  55. package/_internal/{2403668c.js → components/inline-list/index-52efec7f.js} +1 -2
  56. package/_internal/{3119c1fe.js → components/input-helper/index-5a837e7c.js} +14 -4
  57. package/_internal/{26a92990.js → components/input-label/index-0113f382.js} +2 -3
  58. package/_internal/{5c4e10a0.js → components/lightbox/index-fad5a9f2.js} +13 -14
  59. package/_internal/{69eb2393.js → components/link/index-008bae4b.js} +5 -6
  60. package/_internal/{9e3b78fa.js → components/link-preview/index-3e9c32f2.js} +4 -5
  61. package/_internal/{4d751800.js → components/list/index-da88c6e9.js} +34 -3
  62. package/_internal/{b9e3e436.js → components/message/index-17b568f2.js} +6 -9
  63. package/_internal/{226a2eac.js → components/mosaic/index-2d40e01c.js} +3 -4
  64. package/_internal/components/navigation/index-dc17c639.js +225 -0
  65. package/_internal/{6893b89e.js → components/notification/index-a1101015.js} +32 -10
  66. package/_internal/components/popover/index-dbca63f1.js +2 -0
  67. package/_internal/{507d9459.js → components/popover-dialog/index-654d2abc.js} +3 -4
  68. package/_internal/{c241db12.js → components/post-block/index-4b6b4dcb.js} +4 -5
  69. package/_internal/components/progress/index-6f578c31.js +182 -0
  70. package/_internal/components/progress-tracker/index-700bc4c2.js +309 -0
  71. package/_internal/{9ae8998a.js → components/radio-button/index-89b725af.js} +53 -21
  72. package/_internal/components/select/index-2755aa32.js +458 -0
  73. package/_internal/{36008a95.js → components/side-navigation/index-0bbe1fdd.js} +48 -13
  74. package/_internal/components/skeleton/index-b2f8501c.js +166 -0
  75. package/_internal/{62c6c615.js → components/slider/index-4f9b891b.js} +42 -11
  76. package/_internal/{e5657997.js → components/slideshow/index-d4604589.js} +31 -11
  77. package/_internal/{851a3109.js → components/switch/index-58fe0f0c.js} +6 -7
  78. package/_internal/components/table/index-d541aa88.js +297 -0
  79. package/_internal/components/tabs/index-af1538d6.js +298 -0
  80. package/_internal/components/text/index-5bfc6d5e.js +1 -0
  81. package/_internal/{41a8b20f.js → components/text-field/index-47c98d09.js} +11 -13
  82. package/_internal/{58418448.js → components/thumbnail/index-71545d95.js} +1 -1
  83. package/_internal/{a1974f13.js → components/toolbar/index-7041a5a6.js} +1 -2
  84. package/_internal/components/tooltip/index-8bb97e60.js +327 -0
  85. package/_internal/{15fb66ce.js → components/uploader/index-8f6f55de.js} +7 -8
  86. package/_internal/{82159c03.js → components/user-block/index-70d4ce8f.js} +4 -5
  87. package/_internal/{6af61e2f.js → d0e3f49e.js} +2 -3
  88. package/_internal/{e47dacb8.js → de24f857.js} +1 -2
  89. package/_internal/{111e65e5.js → e806b848.js} +1 -2
  90. package/_internal/{203b01d8.js → e913a3af.js} +35 -6
  91. package/_internal/{536517c5.js → ea04260d.js} +1 -2
  92. package/_internal/{ad7c38b0.js → eaf6c45a.js} +1 -2
  93. package/_internal/ebdcb0c7.js +60 -0
  94. package/_internal/{6f37d603.js → ef5d1aac.js} +1 -2
  95. package/_internal/{27df0cb6.js → f0d7d6ea.js} +1 -2
  96. package/_internal/{739f2f15.js → utils/ClickAwayProvider/index-1234ce76.js} +36 -3
  97. package/_internal/utils/MaterialThemeSwitcher/index-8d22de5a.js +48 -0
  98. package/_internal/{38ac8c66.js → utils/Portal/index-6e0a7404.js} +14 -3
  99. package/_internal/{ef982c3d.js → utils/disabled/index-075b99c3.js} +3 -3
  100. package/_internal/utils/type/index-ea9fc197.js +2 -0
  101. package/index.js +64 -96
  102. package/package.json +3 -3
  103. package/utils/index.js +3 -5
  104. package/_internal/00560d40.js +0 -11
  105. package/_internal/00560d40.js.map +0 -1
  106. package/_internal/00cc46ee.js.map +0 -1
  107. package/_internal/0350c865.js.map +0 -1
  108. package/_internal/063618dc.js +0 -21
  109. package/_internal/063618dc.js.map +0 -1
  110. package/_internal/07f6dc7c.js +0 -16
  111. package/_internal/07f6dc7c.js.map +0 -1
  112. package/_internal/0846b7f3.js +0 -4
  113. package/_internal/0846b7f3.js.map +0 -1
  114. package/_internal/08948b47.js +0 -109
  115. package/_internal/08948b47.js.map +0 -1
  116. package/_internal/08b0de35.js +0 -14
  117. package/_internal/08b0de35.js.map +0 -1
  118. package/_internal/094c811d.js +0 -24
  119. package/_internal/094c811d.js.map +0 -1
  120. package/_internal/09d97180.js +0 -18
  121. package/_internal/09d97180.js.map +0 -1
  122. package/_internal/0a2c57a2.js +0 -9
  123. package/_internal/0a2c57a2.js.map +0 -1
  124. package/_internal/0a7f4911.js +0 -64
  125. package/_internal/0a7f4911.js.map +0 -1
  126. package/_internal/0aa9027f.js +0 -10
  127. package/_internal/0aa9027f.js.map +0 -1
  128. package/_internal/0c58c8e2.js +0 -59
  129. package/_internal/0c58c8e2.js.map +0 -1
  130. package/_internal/0d7cc1e0.js.map +0 -1
  131. package/_internal/0db022d6.js +0 -58
  132. package/_internal/0db022d6.js.map +0 -1
  133. package/_internal/0e16222d.js +0 -9
  134. package/_internal/0e16222d.js.map +0 -1
  135. package/_internal/0f849025.js +0 -4
  136. package/_internal/0f849025.js.map +0 -1
  137. package/_internal/0fe87dc7.js +0 -72
  138. package/_internal/0fe87dc7.js.map +0 -1
  139. package/_internal/1060c47e.js +0 -4
  140. package/_internal/1060c47e.js.map +0 -1
  141. package/_internal/111e65e5.js.map +0 -1
  142. package/_internal/11687649.js.map +0 -1
  143. package/_internal/14390eeb.js +0 -7
  144. package/_internal/14390eeb.js.map +0 -1
  145. package/_internal/145228a7.js +0 -47
  146. package/_internal/145228a7.js.map +0 -1
  147. package/_internal/15fb66ce.js.map +0 -1
  148. package/_internal/160cf9fe.js +0 -24
  149. package/_internal/160cf9fe.js.map +0 -1
  150. package/_internal/1616343a.js +0 -37
  151. package/_internal/1616343a.js.map +0 -1
  152. package/_internal/162672de.js.map +0 -1
  153. package/_internal/168f211f.js +0 -17
  154. package/_internal/168f211f.js.map +0 -1
  155. package/_internal/16f5497d.js.map +0 -1
  156. package/_internal/179a2989.js +0 -129
  157. package/_internal/179a2989.js.map +0 -1
  158. package/_internal/185778b8.js +0 -4
  159. package/_internal/185778b8.js.map +0 -1
  160. package/_internal/1afd2506.js +0 -60
  161. package/_internal/1afd2506.js.map +0 -1
  162. package/_internal/1c1cdfa2.js +0 -159
  163. package/_internal/1c1cdfa2.js.map +0 -1
  164. package/_internal/1c3b349b.js +0 -4
  165. package/_internal/1c3b349b.js.map +0 -1
  166. package/_internal/1d7267a1.js +0 -173
  167. package/_internal/1d7267a1.js.map +0 -1
  168. package/_internal/1df25415.js +0 -53
  169. package/_internal/1df25415.js.map +0 -1
  170. package/_internal/1ee5415f.js +0 -27
  171. package/_internal/1ee5415f.js.map +0 -1
  172. package/_internal/1ff933af.js +0 -5
  173. package/_internal/1ff933af.js.map +0 -1
  174. package/_internal/200c2ce1.js +0 -17
  175. package/_internal/200c2ce1.js.map +0 -1
  176. package/_internal/203b01d8.js.map +0 -1
  177. package/_internal/2040beb8.js +0 -169
  178. package/_internal/2040beb8.js.map +0 -1
  179. package/_internal/20f07616.js +0 -14
  180. package/_internal/20f07616.js.map +0 -1
  181. package/_internal/215781b4.js +0 -6
  182. package/_internal/215781b4.js.map +0 -1
  183. package/_internal/226a2eac.js.map +0 -1
  184. package/_internal/2291b633.js +0 -52
  185. package/_internal/2291b633.js.map +0 -1
  186. package/_internal/2403668c.js.map +0 -1
  187. package/_internal/24b48881.js +0 -133
  188. package/_internal/24b48881.js.map +0 -1
  189. package/_internal/2517d1d6.js +0 -9
  190. package/_internal/2517d1d6.js.map +0 -1
  191. package/_internal/256f8eff.js +0 -4
  192. package/_internal/256f8eff.js.map +0 -1
  193. package/_internal/26a92990.js.map +0 -1
  194. package/_internal/27a93417.js +0 -223
  195. package/_internal/27a93417.js.map +0 -1
  196. package/_internal/27df0cb6.js.map +0 -1
  197. package/_internal/28f344bd.js +0 -52
  198. package/_internal/28f344bd.js.map +0 -1
  199. package/_internal/2c5a950d.js +0 -55
  200. package/_internal/2c5a950d.js.map +0 -1
  201. package/_internal/2cdd9ec6.js +0 -16
  202. package/_internal/2cdd9ec6.js.map +0 -1
  203. package/_internal/2cfeae78.js +0 -150
  204. package/_internal/2cfeae78.js.map +0 -1
  205. package/_internal/2d1acaa0.js.map +0 -1
  206. package/_internal/2d69d0f5.js +0 -4
  207. package/_internal/2d69d0f5.js.map +0 -1
  208. package/_internal/2dcfa1df.js +0 -18
  209. package/_internal/2dcfa1df.js.map +0 -1
  210. package/_internal/2dff9a38.js +0 -150
  211. package/_internal/2dff9a38.js.map +0 -1
  212. package/_internal/2e5288d0.js +0 -15
  213. package/_internal/2e5288d0.js.map +0 -1
  214. package/_internal/2fc47dc4.js +0 -133
  215. package/_internal/2fc47dc4.js.map +0 -1
  216. package/_internal/30ecdee3.js +0 -9
  217. package/_internal/30ecdee3.js.map +0 -1
  218. package/_internal/3119c1fe.js.map +0 -1
  219. package/_internal/31b6784b.js +0 -14
  220. package/_internal/31b6784b.js.map +0 -1
  221. package/_internal/341034b4.js +0 -48
  222. package/_internal/341034b4.js.map +0 -1
  223. package/_internal/341ceaa9.js +0 -4
  224. package/_internal/341ceaa9.js.map +0 -1
  225. package/_internal/355f875f.js +0 -9
  226. package/_internal/355f875f.js.map +0 -1
  227. package/_internal/36008a95.js.map +0 -1
  228. package/_internal/378a6fb1.js +0 -126
  229. package/_internal/378a6fb1.js.map +0 -1
  230. package/_internal/37f5ba95.js +0 -12
  231. package/_internal/37f5ba95.js.map +0 -1
  232. package/_internal/38ac8c66.js.map +0 -1
  233. package/_internal/38ce97de.js +0 -29
  234. package/_internal/38ce97de.js.map +0 -1
  235. package/_internal/39534d28.js +0 -30
  236. package/_internal/39534d28.js.map +0 -1
  237. package/_internal/3996d544.js.map +0 -1
  238. package/_internal/3a7fd4bf.js +0 -60
  239. package/_internal/3a7fd4bf.js.map +0 -1
  240. package/_internal/3cfcb0a4.js +0 -122
  241. package/_internal/3cfcb0a4.js.map +0 -1
  242. package/_internal/3d5e1fd0.js +0 -46
  243. package/_internal/3d5e1fd0.js.map +0 -1
  244. package/_internal/3db5a3e4.js +0 -258
  245. package/_internal/3db5a3e4.js.map +0 -1
  246. package/_internal/3e2f0517.js.map +0 -1
  247. package/_internal/3eba1faf.js +0 -87
  248. package/_internal/3eba1faf.js.map +0 -1
  249. package/_internal/3f48eb48.js +0 -73
  250. package/_internal/3f48eb48.js.map +0 -1
  251. package/_internal/3f51175c.js +0 -61
  252. package/_internal/3f51175c.js.map +0 -1
  253. package/_internal/3f54fe9e.js +0 -4
  254. package/_internal/3f54fe9e.js.map +0 -1
  255. package/_internal/41a8b20f.js.map +0 -1
  256. package/_internal/42b26576.js +0 -4
  257. package/_internal/42b26576.js.map +0 -1
  258. package/_internal/45ef51db.js +0 -29
  259. package/_internal/45ef51db.js.map +0 -1
  260. package/_internal/48148353.js +0 -100
  261. package/_internal/48148353.js.map +0 -1
  262. package/_internal/4bb19934.js +0 -4
  263. package/_internal/4bb19934.js.map +0 -1
  264. package/_internal/4c471276.js +0 -75
  265. package/_internal/4c471276.js.map +0 -1
  266. package/_internal/4c891480.js.map +0 -1
  267. package/_internal/4d540596.js +0 -131
  268. package/_internal/4d540596.js.map +0 -1
  269. package/_internal/4d751800.js.map +0 -1
  270. package/_internal/4f71fd36.js +0 -4
  271. package/_internal/4f71fd36.js.map +0 -1
  272. package/_internal/507d9459.js.map +0 -1
  273. package/_internal/5178b7ba.js +0 -10
  274. package/_internal/5178b7ba.js.map +0 -1
  275. package/_internal/51921a16.js +0 -30
  276. package/_internal/51921a16.js.map +0 -1
  277. package/_internal/535aa51f.js +0 -44
  278. package/_internal/535aa51f.js.map +0 -1
  279. package/_internal/536517c5.js.map +0 -1
  280. package/_internal/53b8dea1.js +0 -48
  281. package/_internal/53b8dea1.js.map +0 -1
  282. package/_internal/5745f198.js +0 -12
  283. package/_internal/5745f198.js.map +0 -1
  284. package/_internal/57f2079b.js +0 -10
  285. package/_internal/57f2079b.js.map +0 -1
  286. package/_internal/58418448.js.map +0 -1
  287. package/_internal/595d0e66.js.map +0 -1
  288. package/_internal/5a0207d9.js.map +0 -1
  289. package/_internal/5a6b1aa5.js +0 -139
  290. package/_internal/5a6b1aa5.js.map +0 -1
  291. package/_internal/5c3e15ea.js +0 -107
  292. package/_internal/5c3e15ea.js.map +0 -1
  293. package/_internal/5c4e10a0.js.map +0 -1
  294. package/_internal/5da9ff06.js +0 -47
  295. package/_internal/5da9ff06.js.map +0 -1
  296. package/_internal/60139f6a.js +0 -9
  297. package/_internal/60139f6a.js.map +0 -1
  298. package/_internal/612b7365.js +0 -231
  299. package/_internal/612b7365.js.map +0 -1
  300. package/_internal/612f6fb4.js +0 -155
  301. package/_internal/612f6fb4.js.map +0 -1
  302. package/_internal/617d453e.js +0 -28
  303. package/_internal/617d453e.js.map +0 -1
  304. package/_internal/62c6c615.js.map +0 -1
  305. package/_internal/6417ddb1.js +0 -24
  306. package/_internal/6417ddb1.js.map +0 -1
  307. package/_internal/658e09de.js +0 -7
  308. package/_internal/658e09de.js.map +0 -1
  309. package/_internal/659a1cdd.js +0 -144
  310. package/_internal/659a1cdd.js.map +0 -1
  311. package/_internal/6671d28b.js +0 -40
  312. package/_internal/6671d28b.js.map +0 -1
  313. package/_internal/66950686.js +0 -14
  314. package/_internal/66950686.js.map +0 -1
  315. package/_internal/671b986c.js +0 -14
  316. package/_internal/671b986c.js.map +0 -1
  317. package/_internal/6893b89e.js.map +0 -1
  318. package/_internal/68f13c1c.js.map +0 -1
  319. package/_internal/69eb2393.js.map +0 -1
  320. package/_internal/6af61e2f.js.map +0 -1
  321. package/_internal/6b510f5e.js.map +0 -1
  322. package/_internal/6b61b268.js +0 -9
  323. package/_internal/6b61b268.js.map +0 -1
  324. package/_internal/6f0ce1bb.js +0 -67
  325. package/_internal/6f0ce1bb.js.map +0 -1
  326. package/_internal/6f17bf65.js +0 -8
  327. package/_internal/6f17bf65.js.map +0 -1
  328. package/_internal/6f37d603.js.map +0 -1
  329. package/_internal/6f3bb7d6.js +0 -16
  330. package/_internal/6f3bb7d6.js.map +0 -1
  331. package/_internal/705f415e.js +0 -67
  332. package/_internal/705f415e.js.map +0 -1
  333. package/_internal/722ea461.js +0 -9
  334. package/_internal/722ea461.js.map +0 -1
  335. package/_internal/728684f6.js +0 -6
  336. package/_internal/728684f6.js.map +0 -1
  337. package/_internal/730f75dc.js +0 -93
  338. package/_internal/730f75dc.js.map +0 -1
  339. package/_internal/735bcfa5.js +0 -38
  340. package/_internal/735bcfa5.js.map +0 -1
  341. package/_internal/739f2f15.js.map +0 -1
  342. package/_internal/7531ee4d.js +0 -72
  343. package/_internal/7531ee4d.js.map +0 -1
  344. package/_internal/75f285fb.js +0 -104
  345. package/_internal/75f285fb.js.map +0 -1
  346. package/_internal/78a9c3cd.js +0 -4
  347. package/_internal/78a9c3cd.js.map +0 -1
  348. package/_internal/7a2da67a.js +0 -64
  349. package/_internal/7a2da67a.js.map +0 -1
  350. package/_internal/7af4a428.js +0 -39
  351. package/_internal/7af4a428.js.map +0 -1
  352. package/_internal/7d4eb1c5.js +0 -62
  353. package/_internal/7d4eb1c5.js.map +0 -1
  354. package/_internal/7d9c0855.js.map +0 -1
  355. package/_internal/7eca7fcd.js +0 -28
  356. package/_internal/7eca7fcd.js.map +0 -1
  357. package/_internal/81a6a29a.js +0 -55
  358. package/_internal/81a6a29a.js.map +0 -1
  359. package/_internal/82159c03.js.map +0 -1
  360. package/_internal/82c6852b.js +0 -19
  361. package/_internal/82c6852b.js.map +0 -1
  362. package/_internal/840e9690.js.map +0 -1
  363. package/_internal/841c2303.js.map +0 -1
  364. package/_internal/8429fc80.js +0 -141
  365. package/_internal/8429fc80.js.map +0 -1
  366. package/_internal/84978777.js +0 -55
  367. package/_internal/84978777.js.map +0 -1
  368. package/_internal/851a3109.js.map +0 -1
  369. package/_internal/879fa64d.js +0 -6
  370. package/_internal/879fa64d.js.map +0 -1
  371. package/_internal/883321fd.js +0 -17
  372. package/_internal/883321fd.js.map +0 -1
  373. package/_internal/893eb653.js +0 -4
  374. package/_internal/893eb653.js.map +0 -1
  375. package/_internal/897e2dbb.js +0 -80
  376. package/_internal/897e2dbb.js.map +0 -1
  377. package/_internal/89ee5eb2.js +0 -22
  378. package/_internal/89ee5eb2.js.map +0 -1
  379. package/_internal/8acd6aff.js +0 -82
  380. package/_internal/8acd6aff.js.map +0 -1
  381. package/_internal/8d318b2b.js +0 -138
  382. package/_internal/8d318b2b.js.map +0 -1
  383. package/_internal/8e3efbc4.js +0 -65
  384. package/_internal/8e3efbc4.js.map +0 -1
  385. package/_internal/8e8c5ab6.js.map +0 -1
  386. package/_internal/8fe4c01f.js +0 -20
  387. package/_internal/8fe4c01f.js.map +0 -1
  388. package/_internal/91f36a80.js.map +0 -1
  389. package/_internal/928fa938.js +0 -102
  390. package/_internal/928fa938.js.map +0 -1
  391. package/_internal/9361ef65.js +0 -6
  392. package/_internal/9361ef65.js.map +0 -1
  393. package/_internal/99513933.js +0 -145
  394. package/_internal/99513933.js.map +0 -1
  395. package/_internal/9976fe9a.js +0 -28
  396. package/_internal/9976fe9a.js.map +0 -1
  397. package/_internal/9a0544c4.js +0 -34
  398. package/_internal/9a0544c4.js.map +0 -1
  399. package/_internal/9a5db774.js +0 -6
  400. package/_internal/9a5db774.js.map +0 -1
  401. package/_internal/9ae8998a.js.map +0 -1
  402. package/_internal/9b0c0489.js.map +0 -1
  403. package/_internal/9d063548.js +0 -49
  404. package/_internal/9d063548.js.map +0 -1
  405. package/_internal/9e3b78fa.js.map +0 -1
  406. package/_internal/a0a42aca.js +0 -14
  407. package/_internal/a0a42aca.js.map +0 -1
  408. package/_internal/a1974f13.js.map +0 -1
  409. package/_internal/a2b9eb60.js +0 -90
  410. package/_internal/a2b9eb60.js.map +0 -1
  411. package/_internal/a2c7c463.js +0 -4
  412. package/_internal/a2c7c463.js.map +0 -1
  413. package/_internal/a32628a1.js +0 -4
  414. package/_internal/a32628a1.js.map +0 -1
  415. package/_internal/a3f2000f.js +0 -198
  416. package/_internal/a3f2000f.js.map +0 -1
  417. package/_internal/a45cc1b9.js +0 -128
  418. package/_internal/a45cc1b9.js.map +0 -1
  419. package/_internal/a6be9f05.js +0 -75
  420. package/_internal/a6be9f05.js.map +0 -1
  421. package/_internal/a6dc95cd.js.map +0 -1
  422. package/_internal/a7abe967.js +0 -20
  423. package/_internal/a7abe967.js.map +0 -1
  424. package/_internal/a89bf7bc.js.map +0 -1
  425. package/_internal/a9d0f94d.js +0 -53
  426. package/_internal/a9d0f94d.js.map +0 -1
  427. package/_internal/ab3e5463.js +0 -39
  428. package/_internal/ab3e5463.js.map +0 -1
  429. package/_internal/ac3f7e4d.js.map +0 -1
  430. package/_internal/acd6bed6.js +0 -6
  431. package/_internal/acd6bed6.js.map +0 -1
  432. package/_internal/ad7c38b0.js.map +0 -1
  433. package/_internal/ae4dc9f0.js +0 -62
  434. package/_internal/ae4dc9f0.js.map +0 -1
  435. package/_internal/aeba575c.js +0 -4
  436. package/_internal/aeba575c.js.map +0 -1
  437. package/_internal/b0780b33.js +0 -60
  438. package/_internal/b0780b33.js.map +0 -1
  439. package/_internal/b0846836.js +0 -4
  440. package/_internal/b0846836.js.map +0 -1
  441. package/_internal/b1154f4b.js +0 -14
  442. package/_internal/b1154f4b.js.map +0 -1
  443. package/_internal/b125b718.js.map +0 -1
  444. package/_internal/b23a92ab.js +0 -56
  445. package/_internal/b23a92ab.js.map +0 -1
  446. package/_internal/b4018f8d.js +0 -107
  447. package/_internal/b4018f8d.js.map +0 -1
  448. package/_internal/b402784b.js +0 -11
  449. package/_internal/b402784b.js.map +0 -1
  450. package/_internal/b4dfa648.js +0 -32
  451. package/_internal/b4dfa648.js.map +0 -1
  452. package/_internal/b573621e.js +0 -26
  453. package/_internal/b573621e.js.map +0 -1
  454. package/_internal/b5edf49e.js +0 -8
  455. package/_internal/b5edf49e.js.map +0 -1
  456. package/_internal/b85a5f3f.js +0 -57
  457. package/_internal/b85a5f3f.js.map +0 -1
  458. package/_internal/b93aa71c.js +0 -89
  459. package/_internal/b93aa71c.js.map +0 -1
  460. package/_internal/b977b471.js +0 -5
  461. package/_internal/b977b471.js.map +0 -1
  462. package/_internal/b9e3e436.js.map +0 -1
  463. package/_internal/b9ed1f7a.js +0 -4
  464. package/_internal/b9ed1f7a.js.map +0 -1
  465. package/_internal/bae815e2.js.map +0 -1
  466. package/_internal/bb05343d.js +0 -36
  467. package/_internal/bb05343d.js.map +0 -1
  468. package/_internal/bb5fb0f9.js +0 -28
  469. package/_internal/bb5fb0f9.js.map +0 -1
  470. package/_internal/bb8088e1.js.map +0 -1
  471. package/_internal/bc393aec.js +0 -8
  472. package/_internal/bc393aec.js.map +0 -1
  473. package/_internal/bd1cd49f.js.map +0 -1
  474. package/_internal/bd8b3ec8.js.map +0 -1
  475. package/_internal/be29f79e.js +0 -52
  476. package/_internal/be29f79e.js.map +0 -1
  477. package/_internal/bf202fa2.js +0 -47
  478. package/_internal/bf202fa2.js.map +0 -1
  479. package/_internal/bf411e5a.js +0 -109
  480. package/_internal/bf411e5a.js.map +0 -1
  481. package/_internal/c01c3bec.js +0 -12
  482. package/_internal/c01c3bec.js.map +0 -1
  483. package/_internal/c0a6dba6.js.map +0 -1
  484. package/_internal/c241db12.js.map +0 -1
  485. package/_internal/c3ccd387.js +0 -20
  486. package/_internal/c3ccd387.js.map +0 -1
  487. package/_internal/c51d37f8.js.map +0 -1
  488. package/_internal/c625d242.js +0 -14
  489. package/_internal/c625d242.js.map +0 -1
  490. package/_internal/c72d4f8b.js +0 -4
  491. package/_internal/c72d4f8b.js.map +0 -1
  492. package/_internal/c9a3b27f.js +0 -6
  493. package/_internal/c9a3b27f.js.map +0 -1
  494. package/_internal/c9bd0e84.js +0 -29
  495. package/_internal/c9bd0e84.js.map +0 -1
  496. package/_internal/cb19eca6.js.map +0 -1
  497. package/_internal/cb525c68.js +0 -165
  498. package/_internal/cb525c68.js.map +0 -1
  499. package/_internal/cb7ac456.js +0 -165
  500. package/_internal/cb7ac456.js.map +0 -1
  501. package/_internal/cc5cac50.js.map +0 -1
  502. package/_internal/cd8457fc.js.map +0 -1
  503. package/_internal/d0b96efd.js +0 -8
  504. package/_internal/d0b96efd.js.map +0 -1
  505. package/_internal/d3286249.js +0 -72
  506. package/_internal/d3286249.js.map +0 -1
  507. package/_internal/d57d3fc6.js +0 -6
  508. package/_internal/d57d3fc6.js.map +0 -1
  509. package/_internal/d5f5f3f5.js +0 -18
  510. package/_internal/d5f5f3f5.js.map +0 -1
  511. package/_internal/d672fc0e.js +0 -24
  512. package/_internal/d672fc0e.js.map +0 -1
  513. package/_internal/d7ee7efe.js +0 -40
  514. package/_internal/d7ee7efe.js.map +0 -1
  515. package/_internal/d8ee966d.js.map +0 -1
  516. package/_internal/db88500d.js +0 -10
  517. package/_internal/db88500d.js.map +0 -1
  518. package/_internal/dbc379f8.js +0 -45
  519. package/_internal/dbc379f8.js.map +0 -1
  520. package/_internal/dbe906f1.js +0 -179
  521. package/_internal/dbe906f1.js.map +0 -1
  522. package/_internal/de52a4b9.js +0 -20
  523. package/_internal/de52a4b9.js.map +0 -1
  524. package/_internal/df688aab.js +0 -121
  525. package/_internal/df688aab.js.map +0 -1
  526. package/_internal/dfa00cf7.js +0 -35
  527. package/_internal/dfa00cf7.js.map +0 -1
  528. package/_internal/e0398237.js.map +0 -1
  529. package/_internal/e142a98d.js +0 -22
  530. package/_internal/e142a98d.js.map +0 -1
  531. package/_internal/e429bd82.js +0 -12
  532. package/_internal/e429bd82.js.map +0 -1
  533. package/_internal/e47dacb8.js.map +0 -1
  534. package/_internal/e4a199c0.js +0 -20
  535. package/_internal/e4a199c0.js.map +0 -1
  536. package/_internal/e50f2a75.js +0 -27
  537. package/_internal/e50f2a75.js.map +0 -1
  538. package/_internal/e5657997.js.map +0 -1
  539. package/_internal/e7aa44d1.js +0 -13
  540. package/_internal/e7aa44d1.js.map +0 -1
  541. package/_internal/e8e4d09e.js +0 -95
  542. package/_internal/e8e4d09e.js.map +0 -1
  543. package/_internal/e918f20b.js +0 -57
  544. package/_internal/e918f20b.js.map +0 -1
  545. package/_internal/e9c3b1e0.js +0 -4
  546. package/_internal/e9c3b1e0.js.map +0 -1
  547. package/_internal/ebd44733.js +0 -7
  548. package/_internal/ebd44733.js.map +0 -1
  549. package/_internal/ebe24fd7.js.map +0 -1
  550. package/_internal/ed03c692.js +0 -17
  551. package/_internal/ed03c692.js.map +0 -1
  552. package/_internal/eea52073.js +0 -27
  553. package/_internal/eea52073.js.map +0 -1
  554. package/_internal/eec574e6.js +0 -40
  555. package/_internal/eec574e6.js.map +0 -1
  556. package/_internal/eef5d63f.js +0 -21
  557. package/_internal/eef5d63f.js.map +0 -1
  558. package/_internal/ef907c21.js +0 -41
  559. package/_internal/ef907c21.js.map +0 -1
  560. package/_internal/ef982c3d.js.map +0 -1
  561. package/_internal/f0052b9b.js +0 -27
  562. package/_internal/f0052b9b.js.map +0 -1
  563. package/_internal/f2e34298.js +0 -75
  564. package/_internal/f2e34298.js.map +0 -1
  565. package/_internal/f419ecef.js +0 -4
  566. package/_internal/f419ecef.js.map +0 -1
  567. package/_internal/f4baa1da.js +0 -34
  568. package/_internal/f4baa1da.js.map +0 -1
  569. package/_internal/f6bc7948.js.map +0 -1
  570. package/_internal/f7520b8e.js +0 -52
  571. package/_internal/f7520b8e.js.map +0 -1
  572. package/_internal/f8c49b24.js +0 -14
  573. package/_internal/f8c49b24.js.map +0 -1
  574. package/_internal/fb201a04.js +0 -65
  575. package/_internal/fb201a04.js.map +0 -1
  576. package/_internal/fb36ff46.js +0 -51
  577. package/_internal/fb36ff46.js.map +0 -1
  578. package/_internal/fcc7c462.js.map +0 -1
  579. package/_internal/fcf83937.js +0 -28
  580. package/_internal/fcf83937.js.map +0 -1
  581. package/_internal/fd3e2f21.js +0 -30
  582. package/_internal/fd3e2f21.js.map +0 -1
  583. package/_internal/fdcf3942.js +0 -157
  584. package/_internal/fdcf3942.js.map +0 -1
  585. package/_internal/fdebc718.js.map +0 -1
  586. package/_internal/ff96951d.js +0 -8
  587. package/_internal/ff96951d.js.map +0 -1
  588. package/_internal/ffb2f7fa.js.map +0 -1
  589. package/index.js.map +0 -1
  590. package/utils/index.js.map +0 -1
@@ -1,198 +0,0 @@
1
- import { useState, useEffect, useMemo } from 'react';
2
- import memoize from 'lodash/memoize';
3
- import { WINDOW, DOCUMENT } from './6af61e2f.js';
4
- import { usePopper } from './094c811d.js';
5
- import { ARROW_SIZE, FitAnchorWidth } from './9d063548.js';
6
- import detectOverflow from './6f0ce1bb.js';
7
-
8
- /**
9
- * Popper js modifier to fit popover min width to the anchor width.
10
- */
11
- const sameWidth = memoize(anchorWidthOption => ({
12
- name: 'sameWidth',
13
- enabled: true,
14
- phase: 'beforeWrite',
15
- requires: ['computeStyles'],
16
- fn({
17
- state
18
- }) {
19
- // eslint-disable-next-line no-param-reassign
20
- state.styles.popper[anchorWidthOption] = `${state.rects.reference.width}px`;
21
- },
22
- effect({
23
- state
24
- }) {
25
- // eslint-disable-next-line no-param-reassign
26
- state.elements.popper.style[anchorWidthOption] = `${state.elements.reference.offsetWidth}px`;
27
- }
28
- }));
29
-
30
- /**
31
- * Popper js modifier to compute max size of the popover.
32
- */
33
- const maxSize = {
34
- name: 'maxSize',
35
- enabled: true,
36
- phase: 'main',
37
- requiresIfExists: ['offset', 'preventOverflow', 'flip'],
38
- fn({
39
- state,
40
- name,
41
- options
42
- }) {
43
- const overflow = detectOverflow(state, options);
44
- const {
45
- y = 0,
46
- x = 0
47
- } = state.modifiersData.preventOverflow;
48
- const {
49
- width,
50
- height
51
- } = state.rects.popper;
52
- const [basePlacement] = state.placement.split('-');
53
- const widthProp = basePlacement === 'left' ? 'left' : 'right';
54
- const heightProp = basePlacement === 'top' ? 'top' : 'bottom';
55
- // eslint-disable-next-line no-param-reassign
56
- state.modifiersData[name] = {
57
- width: width - overflow[widthProp] - x,
58
- height: height - overflow[heightProp] - y
59
- };
60
- }
61
- };
62
-
63
- /**
64
- * Popper js modifier to apply the max height.
65
- */
66
- const applyMaxHeight = {
67
- name: 'applyMaxHeight',
68
- enabled: true,
69
- phase: 'beforeWrite',
70
- requires: ['maxSize'],
71
- fn({
72
- state
73
- }) {
74
- const {
75
- height
76
- } = state.modifiersData.maxSize;
77
- // eslint-disable-next-line no-param-reassign
78
- state.elements.popper.style.maxHeight = `${height - ARROW_SIZE}px`;
79
- }
80
- };
81
- function usePopoverStyle({
82
- offset,
83
- hasArrow,
84
- fitToAnchorWidth,
85
- fitWithinViewportHeight,
86
- boundaryRef,
87
- anchorRef,
88
- placement,
89
- style,
90
- zIndex
91
- }) {
92
- const [popperElement, setPopperElement] = useState(null);
93
- const [arrowElement, setArrowElement] = useState(null);
94
- const actualOffset = [offset?.along ?? 0, (offset?.away ?? 0) + (hasArrow ? ARROW_SIZE : 0)];
95
- const modifiers = [{
96
- name: 'offset',
97
- options: {
98
- offset: actualOffset
99
- }
100
- }];
101
- if (hasArrow && arrowElement) {
102
- modifiers.push({
103
- name: 'arrow',
104
- options: {
105
- element: arrowElement,
106
- padding: ARROW_SIZE / 2
107
- }
108
- });
109
- }
110
- if (fitToAnchorWidth) {
111
- const fitWidth = typeof fitToAnchorWidth === 'string' ? fitToAnchorWidth : FitAnchorWidth.MIN_WIDTH;
112
- modifiers.push(sameWidth(fitWidth));
113
- }
114
- if (fitWithinViewportHeight) {
115
- modifiers.push({
116
- ...maxSize,
117
- options: {
118
- boundary: boundaryRef?.current
119
- }
120
- }, applyMaxHeight);
121
- }
122
- if (boundaryRef) {
123
- modifiers.push({
124
- name: 'flip',
125
- options: {
126
- boundary: boundaryRef.current
127
- }
128
- }, {
129
- name: 'preventOverflow',
130
- options: {
131
- boundary: boundaryRef.current
132
- }
133
- });
134
- }
135
- const {
136
- styles,
137
- attributes,
138
- state,
139
- update
140
- } = usePopper(anchorRef.current, popperElement, {
141
- placement,
142
- modifiers
143
- });
144
-
145
- // Auto update popover
146
- useEffect(() => {
147
- const {
148
- current: anchorElement
149
- } = anchorRef;
150
- if (!update || !popperElement || !anchorElement || !WINDOW?.ResizeObserver) {
151
- return undefined;
152
- }
153
- let running;
154
- function updateRateLimited() {
155
- if (running) return;
156
- update?.();
157
- running = setTimeout(() => {
158
- running = undefined;
159
- }, 100);
160
- }
161
- updateRateLimited();
162
-
163
- // On anchor or popover resize
164
- const resizeObserver = new ResizeObserver(updateRateLimited);
165
- resizeObserver.observe(anchorElement);
166
- resizeObserver.observe(popperElement);
167
- return () => {
168
- resizeObserver.disconnect();
169
- };
170
- }, [anchorRef, popperElement, update]);
171
- const position = state?.placement ?? placement;
172
- const popoverStyle = useMemo(() => {
173
- const newStyles = {
174
- ...style,
175
- ...styles.popper,
176
- zIndex
177
- };
178
- if (fitWithinViewportHeight && !newStyles.maxHeight) {
179
- newStyles.maxHeight = WINDOW?.innerHeight || DOCUMENT?.documentElement.clientHeight;
180
- }
181
- return newStyles;
182
- }, [style, styles.popper, zIndex, fitWithinViewportHeight]);
183
- return {
184
- styles: {
185
- arrow: styles.arrow,
186
- popover: popoverStyle
187
- },
188
- attributes,
189
- isPositioned: (state?.rects?.popper?.y ?? -1) >= 0,
190
- position,
191
- setArrowElement,
192
- setPopperElement,
193
- popperElement
194
- };
195
- }
196
-
197
- export { usePopoverStyle };
198
- //# sourceMappingURL=a3f2000f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"a3f2000f.js","sources":["../../src/components/popover/usePopoverStyle.tsx"],"sourcesContent":["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"],"names":["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","anchorRef","zIndex","popperElement","setPopperElement","useState","arrowElement","setArrowElement","actualOffset","along","away","modifiers","push","element","padding","fitWidth","FitAnchorWidth","MIN_WIDTH","boundary","current","attributes","update","usePopper","useEffect","anchorElement","WINDOW","ResizeObserver","undefined","running","updateRateLimited","setTimeout","resizeObserver","observe","disconnect","position","popoverStyle","useMemo","newStyles","innerHeight","DOCUMENT","documentElement","clientHeight","arrow","popover","isPositioned"],"mappings":"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"}
@@ -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":"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"}
@@ -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;;;;"}
@@ -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;;;;"}
@@ -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;;;;"}
@@ -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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"}
@@ -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;;;;"}
@@ -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;;;;"}