@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
@@ -0,0 +1,198 @@
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
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,128 @@
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
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,75 @@
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
@@ -0,0 +1 @@
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,9 +1,6 @@
1
- import React__default from 'react';
1
+ import { forwardRefPolymorphic } from './ebd44733.js';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
 
4
- /** Same as `React.forwardRef` but inferring Ref type from the `as` prop. */
5
- const forwardRefPolymorphic = React__default.forwardRef;
6
-
7
4
  /**
8
5
  * Render clickable element (link, button or custom element)
9
6
  * (also does some basic disabled state handling)
@@ -48,5 +45,5 @@ const RawClickable = forwardRefPolymorphic((props, ref) => {
48
45
  });
49
46
  });
50
47
 
51
- export { RawClickable as R, forwardRefPolymorphic as f };
52
- //# sourceMappingURL=RawClickable-2c2b6a89.js.map
48
+ export { RawClickable };
49
+ //# sourceMappingURL=a6dc95cd.js.map
@@ -0,0 +1 @@
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;;;;"}
@@ -0,0 +1,20 @@
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
@@ -0,0 +1 @@
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,17 +1,18 @@
1
1
  import React__default, { Children, useRef } from 'react';
2
2
  import classNames from 'classnames';
3
3
  import isEmpty from 'lodash/isEmpty';
4
- import { i as isComponent } from '../isComponent-78df9309.js';
4
+ import { isComponent } from './ebe24fd7.js';
5
5
  import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
6
- import { p as partitionMulti } from '../partitionMulti-4daccdd5.js';
7
- import { u as useTheme } from '../ThemeContext-3181f000.js';
8
- import { f as forwardRef } from '../forwardRef-8bce732e.js';
9
- import { I as IS_BROWSER } from '../constants-d0e3f49e.js';
6
+ import { partitionMulti } from './cb19eca6.js';
7
+ import { useTheme } from './d8ee966d.js';
8
+ import { forwardRef } from './bd8b3ec8.js';
9
+ import { IS_BROWSER } from './6af61e2f.js';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
11
- import { m as mdiChevronUp, a as mdiChevronDown } from '../chevron-up-0b9c76cb.js';
12
- import { DragHandle } from './drag-handle-eec23fc2.js';
11
+ import { mdiChevronUp } from './0846b7f3.js';
12
+ import { mdiChevronDown } from './256f8eff.js';
13
+ import { DragHandle } from './840e9690.js';
13
14
  import { Theme, ColorPalette, Emphasis } from '@lumx/core/js/constants';
14
- import { I as IconButton } from '../IconButton-e11b5e74.js';
15
+ import { IconButton } from './5a0207d9.js';
15
16
 
16
17
  /**
17
18
  * Component display name.
@@ -165,4 +166,4 @@ ExpansionPanel.className = CLASSNAME;
165
166
  ExpansionPanel.defaultProps = DEFAULT_PROPS;
166
167
 
167
168
  export { ExpansionPanel };
168
- //# sourceMappingURL=expansion-panel-df812318.js.map
169
+ //# sourceMappingURL=a89bf7bc.js.map
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,53 @@
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