@lumx/react 3.20.1-alpha.12 → 3.20.1-alpha.13

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 (320) hide show
  1. package/_internal/Button-f19e18df.js +96 -0
  2. package/_internal/Button-f19e18df.js.map +1 -0
  3. package/_internal/{cdddaed8.js → ButtonRoot-ab633b1d.js} +19 -20
  4. package/_internal/ButtonRoot-ab633b1d.js.map +1 -0
  5. package/_internal/{85e3a5ca.js → Chip-4c572eec.js} +38 -34
  6. package/_internal/Chip-4c572eec.js.map +1 -0
  7. package/_internal/{7093ba23.js → ClickAwayProvider-bcce6ceb.js} +4 -6
  8. package/_internal/ClickAwayProvider-bcce6ceb.js.map +1 -0
  9. package/_internal/{ea04260d.js → DisabledStateContext-077b7bef.js} +6 -6
  10. package/_internal/DisabledStateContext-077b7bef.js.map +1 -0
  11. package/_internal/{370bdaed.js → HeadingLevelProvider-e4817816.js} +5 -7
  12. package/_internal/HeadingLevelProvider-e4817816.js.map +1 -0
  13. package/_internal/IconButton-10585058.js +72 -0
  14. package/_internal/IconButton-10585058.js.map +1 -0
  15. package/_internal/ImageCaption-4279b2b6.js +65 -0
  16. package/_internal/ImageCaption-4279b2b6.js.map +1 -0
  17. package/_internal/{f5508d3d.js → List-d5f5d465.js} +55 -56
  18. package/_internal/List-d5f5d465.js.map +1 -0
  19. package/_internal/{b1af5979.js → PopoverDialog-21e5c9dd.js} +165 -171
  20. package/_internal/PopoverDialog-21e5c9dd.js.map +1 -0
  21. package/_internal/{3f86608e.js → Portal-c43d098b.js} +2 -5
  22. package/_internal/Portal-c43d098b.js.map +1 -0
  23. package/_internal/{2c2b6a89.js → RawClickable-c76bbc4c.js} +7 -9
  24. package/_internal/RawClickable-c76bbc4c.js.map +1 -0
  25. package/_internal/{34c59f5b.js → Slides-01f513ce.js} +106 -112
  26. package/_internal/Slides-01f513ce.js.map +1 -0
  27. package/_internal/{3181f000.js → ThemeContext-3181f000.js} +1 -1
  28. package/_internal/ThemeContext-3181f000.js.map +1 -0
  29. package/_internal/{628468c4.js → Thumbnail-30d2a781.js} +50 -51
  30. package/_internal/Thumbnail-30d2a781.js.map +1 -0
  31. package/_internal/{3a4e4636.js → components/alert-dialog-8f1c163c.js} +39 -54
  32. package/_internal/components/alert-dialog-8f1c163c.js.map +1 -0
  33. package/_internal/{179a84d1.js → components/autocomplete-bfbdeb3c.js} +72 -67
  34. package/_internal/components/autocomplete-bfbdeb3c.js.map +1 -0
  35. package/_internal/components/avatar-6990e3e9.js +87 -0
  36. package/_internal/components/avatar-6990e3e9.js.map +1 -0
  37. package/_internal/{9c9df5f2.js → components/badge-81543bc7.js} +20 -19
  38. package/_internal/components/badge-81543bc7.js.map +1 -0
  39. package/_internal/{f93fe83e.js → components/button-927abe71.js} +14 -11
  40. package/_internal/components/button-927abe71.js.map +1 -0
  41. package/_internal/components/checkbox-dc4caec8.js +131 -0
  42. package/_internal/{f0900583.js.map → components/checkbox-dc4caec8.js.map} +1 -1
  43. package/_internal/{c0414b89.js → components/chip-fb3d0c76.js} +13 -10
  44. package/_internal/components/chip-fb3d0c76.js.map +1 -0
  45. package/_internal/components/comment-block-b84c4694.js +121 -0
  46. package/_internal/components/comment-block-b84c4694.js.map +1 -0
  47. package/_internal/components/date-picker-a425534c.js +2 -0
  48. package/_internal/components/date-picker-a425534c.js.map +1 -0
  49. package/_internal/{2f1716fa.js → components/dialog-7dbcb485.js} +69 -80
  50. package/_internal/components/dialog-7dbcb485.js.map +1 -0
  51. package/_internal/{3e653144.js → components/divider-12e9b6a0.js} +13 -9
  52. package/_internal/components/divider-12e9b6a0.js.map +1 -0
  53. package/_internal/components/drag-handle-a38ff757.js +53 -0
  54. package/_internal/components/drag-handle-a38ff757.js.map +1 -0
  55. package/_internal/{1ea72630.js → components/dropdown-38b0b6a0.js} +19 -17
  56. package/_internal/components/dropdown-38b0b6a0.js.map +1 -0
  57. package/_internal/{68c10f98.js → components/expansion-panel-c4b93653.js} +46 -54
  58. package/_internal/components/expansion-panel-c4b93653.js.map +1 -0
  59. package/_internal/{c2388b10.js → components/flag-c5e2f5f0.js} +19 -22
  60. package/_internal/components/flag-c5e2f5f0.js.map +1 -0
  61. package/_internal/{329b5f12.js → components/flex-box-c8701a85.js} +13 -10
  62. package/_internal/components/flex-box-c8701a85.js.map +1 -0
  63. package/_internal/{a84f4981.js → components/generic-block-0d6ad5a6.js} +30 -37
  64. package/_internal/components/generic-block-0d6ad5a6.js.map +1 -0
  65. package/_internal/{2f6c7f84.js → components/grid-3b194fe8.js} +22 -16
  66. package/_internal/components/grid-3b194fe8.js.map +1 -0
  67. package/_internal/{501f2f9f.js → components/grid-column-985b9327.js} +10 -8
  68. package/_internal/components/grid-column-985b9327.js.map +1 -0
  69. package/_internal/{193521fa.js → components/heading-5e954dfc.js} +13 -11
  70. package/_internal/components/heading-5e954dfc.js.map +1 -0
  71. package/_internal/{8ab42752.js → components/icon-2e7345ad.js} +29 -29
  72. package/_internal/components/icon-2e7345ad.js.map +1 -0
  73. package/_internal/components/image-block-8d21dd7e.js +109 -0
  74. package/_internal/components/image-block-8d21dd7e.js.map +1 -0
  75. package/_internal/{7f54e947.js → components/image-lightbox-4a5ab962.js} +105 -120
  76. package/_internal/components/image-lightbox-4a5ab962.js.map +1 -0
  77. package/_internal/{15eab19b.js → components/inline-list-4884f004.js} +25 -26
  78. package/_internal/components/inline-list-4884f004.js.map +1 -0
  79. package/_internal/{5f8f9454.js → components/input-helper-e644e05e.js} +14 -11
  80. package/_internal/components/input-helper-e644e05e.js.map +1 -0
  81. package/_internal/{b0a7a999.js → components/input-label-5e509a1b.js} +14 -12
  82. package/_internal/components/input-label-5e509a1b.js.map +1 -0
  83. package/_internal/{86aa4aa4.js → components/lightbox-bec1b95f.js} +59 -64
  84. package/_internal/components/lightbox-bec1b95f.js.map +1 -0
  85. package/_internal/components/link-9637b9e4.js +70 -0
  86. package/_internal/components/link-9637b9e4.js.map +1 -0
  87. package/_internal/components/link-preview-7a4a6e4b.js +108 -0
  88. package/_internal/components/link-preview-7a4a6e4b.js.map +1 -0
  89. package/_internal/{95cfd814.js → components/list-5c8f7122.js} +21 -14
  90. package/_internal/components/list-5c8f7122.js.map +1 -0
  91. package/_internal/{0be1006e.js → components/message-a67067d9.js} +27 -28
  92. package/_internal/components/message-a67067d9.js.map +1 -0
  93. package/_internal/components/mosaic-92b66c80.js +92 -0
  94. package/_internal/components/mosaic-92b66c80.js.map +1 -0
  95. package/_internal/components/navigation-4fd3917d.js +210 -0
  96. package/_internal/components/navigation-4fd3917d.js.map +1 -0
  97. package/_internal/{5ec059fe.js → components/notification-9063c963.js} +47 -52
  98. package/_internal/components/notification-9063c963.js.map +1 -0
  99. package/_internal/components/popover-3c4c54bd.js +3 -0
  100. package/_internal/components/popover-3c4c54bd.js.map +1 -0
  101. package/_internal/components/post-block-0cfc2206.js +99 -0
  102. package/_internal/components/post-block-0cfc2206.js.map +1 -0
  103. package/_internal/{f23cdf84.js → components/progress-eaf5b33d.js} +53 -46
  104. package/_internal/components/progress-eaf5b33d.js.map +1 -0
  105. package/_internal/{edab29ce.js → components/progress-tracker-4a65718d.js} +70 -69
  106. package/_internal/components/progress-tracker-4a65718d.js.map +1 -0
  107. package/_internal/components/radio-button-3ef8a325.js +148 -0
  108. package/_internal/components/radio-button-3ef8a325.js.map +1 -0
  109. package/_internal/components/select-d46cfe35.js +404 -0
  110. package/_internal/components/select-d46cfe35.js.map +1 -0
  111. package/_internal/{b477da26.js → components/side-navigation-75b22f19.js} +62 -67
  112. package/_internal/components/side-navigation-75b22f19.js.map +1 -0
  113. package/_internal/{6da19518.js → components/skeleton-361ce335.js} +34 -25
  114. package/_internal/components/skeleton-361ce335.js.map +1 -0
  115. package/_internal/{db4fdc7b.js → components/slider-8094cb5c.js} +60 -65
  116. package/_internal/components/slider-8094cb5c.js.map +1 -0
  117. package/_internal/{eaa8b1d8.js → components/slideshow-2e8cd372.js} +41 -41
  118. package/_internal/components/slideshow-2e8cd372.js.map +1 -0
  119. package/_internal/components/switch-5516949b.js +118 -0
  120. package/_internal/components/switch-5516949b.js.map +1 -0
  121. package/_internal/{be6da9b0.js → components/table-fa198ee6.js} +76 -73
  122. package/_internal/components/table-fa198ee6.js.map +1 -0
  123. package/_internal/{65f91970.js → components/tabs-bb9bc2a5.js} +48 -47
  124. package/_internal/components/tabs-bb9bc2a5.js.map +1 -0
  125. package/_internal/components/text-289c0526.js +2 -0
  126. package/_internal/components/text-289c0526.js.map +1 -0
  127. package/_internal/{b0b2e33d.js → components/text-field-82733568.js} +109 -122
  128. package/_internal/components/text-field-82733568.js.map +1 -0
  129. package/_internal/{76be70dd.js → components/thumbnail-e3acff82.js} +3 -3
  130. package/_internal/components/thumbnail-e3acff82.js.map +1 -0
  131. package/_internal/{bae266a9.js → components/toolbar-155562be.js} +18 -19
  132. package/_internal/components/toolbar-155562be.js.map +1 -0
  133. package/_internal/{9a4dfad0.js → components/tooltip-84ffb4f9.js} +42 -50
  134. package/_internal/components/tooltip-84ffb4f9.js.map +1 -0
  135. package/_internal/{9fdc715b.js → components/uploader-896a1d89.js} +38 -40
  136. package/_internal/components/uploader-896a1d89.js.map +1 -0
  137. package/_internal/{0d1a078c.js → components/user-block-8fd15895.js} +44 -45
  138. package/_internal/components/user-block-8fd15895.js.map +1 -0
  139. package/_internal/{4cd870a5.js → constants-b9e57936.js} +2 -2
  140. package/_internal/constants-b9e57936.js.map +1 -0
  141. package/_internal/{478b5c92.js → constants-d0e3f49e.js} +2 -2
  142. package/_internal/constants-d0e3f49e.js.map +1 -0
  143. package/_internal/{9d1336a1.js → context-21aeb1c7.js} +6 -6
  144. package/_internal/context-21aeb1c7.js.map +1 -0
  145. package/_internal/forwardRef-49d2bb84.js +80 -0
  146. package/_internal/forwardRef-49d2bb84.js.map +1 -0
  147. package/_internal/{230173a8.js → getFocusableElements-230173a8.js} +1 -1
  148. package/_internal/getFocusableElements-230173a8.js.map +1 -0
  149. package/_internal/{0420e67b.js → index-b4d256e7.js} +14 -15
  150. package/_internal/index-b4d256e7.js.map +1 -0
  151. package/_internal/{84dfe68f.js → index-f415b08e.js} +46 -52
  152. package/_internal/index-f415b08e.js.map +1 -0
  153. package/_internal/{78df9309.js → isComponent-78df9309.js} +1 -1
  154. package/_internal/isComponent-78df9309.js.map +1 -0
  155. package/_internal/{e806b848.js → isComponentType-e806b848.js} +1 -1
  156. package/_internal/isComponentType-e806b848.js.map +1 -0
  157. package/_internal/{f0d7d6ea.js → mergeRefs-f0d7d6ea.js} +1 -1
  158. package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
  159. package/_internal/{4daccdd5.js → partitionMulti-4daccdd5.js} +1 -1
  160. package/_internal/partitionMulti-4daccdd5.js.map +1 -0
  161. package/_internal/{825ac334.js → state-db358714.js} +2 -2
  162. package/_internal/state-db358714.js.map +1 -0
  163. package/_internal/{2a3d237c.js → useBooleanState-2a3d237c.js} +1 -1
  164. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  165. package/_internal/{d5f316cb.js → useCallbackOnEscape-ea4d9eb4.js} +3 -3
  166. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +1 -0
  167. package/_internal/{36bd7352.js → useDisableBodyScroll-36bd7352.js} +1 -1
  168. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  169. package/_internal/{b8667090.js → useDisableStateProps-fffc365f.js} +2 -2
  170. package/_internal/useDisableStateProps-fffc365f.js.map +1 -0
  171. package/_internal/{5fe09341.js → useFocusTrap-c3c6378b.js} +4 -4
  172. package/_internal/useFocusTrap-c3c6378b.js.map +1 -0
  173. package/_internal/{3a1facc0.js → useId-3a1facc0.js} +1 -1
  174. package/_internal/useId-3a1facc0.js.map +1 -0
  175. package/_internal/{7daf0f24.js → useRovingTabIndex-7daf0f24.js} +1 -1
  176. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  177. package/_internal/{e6dd117e.js → useTransitionVisibility-321fdbfa.js} +2 -2
  178. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  179. package/_internal/{37b007a4.js → wrapChildrenIconWithSpaces-f86106ce.js} +3 -3
  180. package/_internal/wrapChildrenIconWithSpaces-f86106ce.js.map +1 -0
  181. package/index.d.ts +7 -352
  182. package/index.js +65 -111
  183. package/index.js.map +1 -1
  184. package/package.json +3 -3
  185. package/utils/index.d.ts +1 -1
  186. package/utils/index.js +3 -3
  187. package/_internal/0420e67b.js.map +0 -1
  188. package/_internal/0a490b07.js +0 -75
  189. package/_internal/0a490b07.js.map +0 -1
  190. package/_internal/0b9c76cb.js +0 -6
  191. package/_internal/0b9c76cb.js.map +0 -1
  192. package/_internal/0be1006e.js.map +0 -1
  193. package/_internal/0d1a078c.js.map +0 -1
  194. package/_internal/15eab19b.js.map +0 -1
  195. package/_internal/179a84d1.js.map +0 -1
  196. package/_internal/193521fa.js.map +0 -1
  197. package/_internal/1a90ea3d.js +0 -51
  198. package/_internal/1a90ea3d.js.map +0 -1
  199. package/_internal/1deba7d7.js +0 -224
  200. package/_internal/1deba7d7.js.map +0 -1
  201. package/_internal/1ea72630.js.map +0 -1
  202. package/_internal/21b83d16.js +0 -137
  203. package/_internal/21b83d16.js.map +0 -1
  204. package/_internal/230173a8.js.map +0 -1
  205. package/_internal/297bed8f.js +0 -457
  206. package/_internal/297bed8f.js.map +0 -1
  207. package/_internal/2a3d237c.js.map +0 -1
  208. package/_internal/2c2b6a89.js.map +0 -1
  209. package/_internal/2f1716fa.js.map +0 -1
  210. package/_internal/2f6c7f84.js.map +0 -1
  211. package/_internal/3181f000.js.map +0 -1
  212. package/_internal/329b5f12.js.map +0 -1
  213. package/_internal/332e9844.js +0 -2
  214. package/_internal/332e9844.js.map +0 -1
  215. package/_internal/34c59f5b.js.map +0 -1
  216. package/_internal/36bd7352.js.map +0 -1
  217. package/_internal/370bdaed.js.map +0 -1
  218. package/_internal/37b007a4.js.map +0 -1
  219. package/_internal/3a1facc0.js.map +0 -1
  220. package/_internal/3a4e4636.js.map +0 -1
  221. package/_internal/3e653144.js.map +0 -1
  222. package/_internal/3f86608e.js.map +0 -1
  223. package/_internal/478b5c92.js.map +0 -1
  224. package/_internal/4962be5b.js +0 -121
  225. package/_internal/4962be5b.js.map +0 -1
  226. package/_internal/49bbeed3.js +0 -6
  227. package/_internal/49bbeed3.js.map +0 -1
  228. package/_internal/4cd870a5.js.map +0 -1
  229. package/_internal/4daccdd5.js.map +0 -1
  230. package/_internal/501f2f9f.js.map +0 -1
  231. package/_internal/5e7b90e2.js +0 -2
  232. package/_internal/5e7b90e2.js.map +0 -1
  233. package/_internal/5ec059fe.js.map +0 -1
  234. package/_internal/5f8f9454.js.map +0 -1
  235. package/_internal/5fe09341.js.map +0 -1
  236. package/_internal/628468c4.js.map +0 -1
  237. package/_internal/6589b796.js +0 -280
  238. package/_internal/6589b796.js.map +0 -1
  239. package/_internal/65f91970.js.map +0 -1
  240. package/_internal/66f691d3.js +0 -74
  241. package/_internal/66f691d3.js.map +0 -1
  242. package/_internal/68c10f98.js.map +0 -1
  243. package/_internal/690ca33e.js +0 -109
  244. package/_internal/690ca33e.js.map +0 -1
  245. package/_internal/6ca04271.js +0 -108
  246. package/_internal/6ca04271.js.map +0 -1
  247. package/_internal/6da19518.js.map +0 -1
  248. package/_internal/7093ba23.js.map +0 -1
  249. package/_internal/74a4a214.js +0 -82
  250. package/_internal/74a4a214.js.map +0 -1
  251. package/_internal/76be70dd.js.map +0 -1
  252. package/_internal/78df9309.js.map +0 -1
  253. package/_internal/7b221b05.js +0 -9
  254. package/_internal/7b221b05.js.map +0 -1
  255. package/_internal/7daf0f24.js.map +0 -1
  256. package/_internal/7f54e947.js.map +0 -1
  257. package/_internal/825ac334.js.map +0 -1
  258. package/_internal/827b804a.js +0 -6
  259. package/_internal/827b804a.js.map +0 -1
  260. package/_internal/84dfe68f.js.map +0 -1
  261. package/_internal/85e3a5ca.js.map +0 -1
  262. package/_internal/86aa4aa4.js.map +0 -1
  263. package/_internal/88ec77c2.js +0 -130
  264. package/_internal/88ec77c2.js.map +0 -1
  265. package/_internal/8ab42752.js.map +0 -1
  266. package/_internal/95cfd814.js.map +0 -1
  267. package/_internal/9a4dfad0.js.map +0 -1
  268. package/_internal/9c9df5f2.js.map +0 -1
  269. package/_internal/9d1336a1.js.map +0 -1
  270. package/_internal/9fdc715b.js.map +0 -1
  271. package/_internal/a003602b.js +0 -116
  272. package/_internal/a003602b.js.map +0 -1
  273. package/_internal/a34639bd.js +0 -97
  274. package/_internal/a34639bd.js.map +0 -1
  275. package/_internal/a84f4981.js.map +0 -1
  276. package/_internal/b0a7a999.js.map +0 -1
  277. package/_internal/b0b2e33d.js.map +0 -1
  278. package/_internal/b1af5979.js.map +0 -1
  279. package/_internal/b477da26.js.map +0 -1
  280. package/_internal/b8667090.js.map +0 -1
  281. package/_internal/bae266a9.js.map +0 -1
  282. package/_internal/be6da9b0.js.map +0 -1
  283. package/_internal/c0414b89.js.map +0 -1
  284. package/_internal/c2388b10.js.map +0 -1
  285. package/_internal/c459a04d.js +0 -148
  286. package/_internal/c459a04d.js.map +0 -1
  287. package/_internal/c6ca7494.js +0 -2
  288. package/_internal/c6ca7494.js.map +0 -1
  289. package/_internal/cdddaed8.js.map +0 -1
  290. package/_internal/d0dd1815.js +0 -10
  291. package/_internal/d0dd1815.js.map +0 -1
  292. package/_internal/d45e3f16.js +0 -15
  293. package/_internal/d45e3f16.js.map +0 -1
  294. package/_internal/d5f316cb.js.map +0 -1
  295. package/_internal/d95844c1.d.ts +0 -7
  296. package/_internal/db4fdc7b.js.map +0 -1
  297. package/_internal/dbe0cf24.js +0 -75
  298. package/_internal/dbe0cf24.js.map +0 -1
  299. package/_internal/de24f857.js +0 -4
  300. package/_internal/de24f857.js.map +0 -1
  301. package/_internal/e2afb13f.js +0 -75
  302. package/_internal/e2afb13f.js.map +0 -1
  303. package/_internal/e52f0d3f.js +0 -94
  304. package/_internal/e52f0d3f.js.map +0 -1
  305. package/_internal/e6dd117e.js.map +0 -1
  306. package/_internal/e806b848.js.map +0 -1
  307. package/_internal/ea04260d.js.map +0 -1
  308. package/_internal/eaa8b1d8.js.map +0 -1
  309. package/_internal/eaf6c45a.js +0 -4
  310. package/_internal/eaf6c45a.js.map +0 -1
  311. package/_internal/edab29ce.js.map +0 -1
  312. package/_internal/ef5d1aac.js +0 -4
  313. package/_internal/ef5d1aac.js.map +0 -1
  314. package/_internal/f0900583.js +0 -142
  315. package/_internal/f0d7d6ea.js.map +0 -1
  316. package/_internal/f23cdf84.js.map +0 -1
  317. package/_internal/f52e979e.js +0 -3
  318. package/_internal/f52e979e.js.map +0 -1
  319. package/_internal/f5508d3d.js.map +0 -1
  320. package/_internal/f93fe83e.js.map +0 -1
@@ -0,0 +1,404 @@
1
+ import { c as classNames, _ as _extends, f as forwardRef } from '../forwardRef-49d2bb84.js';
2
+ import isEmpty from 'lodash/isEmpty';
3
+ import { mdiCheckCircle, mdiAlertCircle, mdiCloseCircle, mdiMenuDown, mdiClose } from '@lumx/icons';
4
+ import { Theme, Kind, Size, Emphasis } from '@lumx/core/js/constants';
5
+ import { I as IconButton } from '../IconButton-10585058.js';
6
+ import { C as Chip } from '../Chip-4c572eec.js';
7
+ import { Icon } from './icon-2e7345ad.js';
8
+ import { InputLabel } from './input-label-5e509a1b.js';
9
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
10
+ import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
11
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
12
+ import { useState, useEffect, useRef, useCallback } from 'react';
13
+ import { Dropdown } from './dropdown-38b0b6a0.js';
14
+ import { InputHelper } from './input-helper-e644e05e.js';
15
+ import { u as useFocusTrap } from '../useFocusTrap-c3c6378b.js';
16
+ import { u as useId } from '../useId-3a1facc0.js';
17
+ import { P as Placement } from '../constants-b9e57936.js';
18
+
19
+ /**
20
+ * Listen on element focus to store the focus status.
21
+ */
22
+ function useListenFocus(ref) {
23
+ const [isFocus, setFocus] = useState(false);
24
+ useEffect(() => {
25
+ const {
26
+ current: element
27
+ } = ref;
28
+ if (!element) {
29
+ return undefined;
30
+ }
31
+ const onFocus = () => setFocus(true);
32
+ const onBlur = () => setFocus(false);
33
+ element.addEventListener('focus', onFocus);
34
+ element.addEventListener('blur', onBlur);
35
+ return () => {
36
+ element.removeEventListener('focus', onFocus);
37
+ element.removeEventListener('blur', onBlur);
38
+ };
39
+ }, [ref, setFocus]);
40
+ return isFocus;
41
+ }
42
+
43
+ /** The display name of the component. */
44
+ const COMPONENT_NAME$2 = 'Select';
45
+
46
+ /** The default class name and classes prefix for this component. */
47
+ const CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2);
48
+ const WithSelectContext = (SelectElement, props, ref) => {
49
+ const defaultTheme = useTheme() || Theme.light;
50
+ const {
51
+ children,
52
+ className,
53
+ focusElement,
54
+ isMultiple,
55
+ closeOnClick = !isMultiple,
56
+ disabled,
57
+ error,
58
+ hasError,
59
+ helper,
60
+ id,
61
+ isDisabled = disabled,
62
+ isEmpty,
63
+ isOpen,
64
+ isRequired,
65
+ isValid,
66
+ label,
67
+ onClear,
68
+ onDropdownClose,
69
+ onInfiniteScroll,
70
+ onInputClick,
71
+ placeholder,
72
+ theme = defaultTheme,
73
+ value,
74
+ variant,
75
+ ...forwardedProps
76
+ } = props;
77
+ const generatedSelectId = useId();
78
+ const selectId = id || generatedSelectId;
79
+ const anchorRef = useRef(null);
80
+ const selectRef = useRef(null);
81
+ const dropdownRef = useRef(null);
82
+ const isFocus = useListenFocus(anchorRef);
83
+ const handleKeyboardNav = useCallback(evt => {
84
+ if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {
85
+ evt.preventDefault();
86
+ onInputClick();
87
+ }
88
+ }, [onInputClick]);
89
+ const onClose = () => {
90
+ if (onDropdownClose) {
91
+ onDropdownClose();
92
+ }
93
+ anchorRef?.current?.blur();
94
+ };
95
+
96
+ // Handle focus trap.
97
+ useFocusTrap(isOpen && dropdownRef.current, focusElement?.current);
98
+ return /*#__PURE__*/React.createElement("div", {
99
+ ref: mergeRefs(ref, selectRef),
100
+ className: classNames(className, handleBasicClasses({
101
+ hasError,
102
+ hasLabel: Boolean(label),
103
+ hasPlaceholder: Boolean(placeholder),
104
+ hasValue: !isEmpty,
105
+ isDisabled,
106
+ isEmpty,
107
+ isFocus,
108
+ isOpen,
109
+ isValid,
110
+ prefix: CLASSNAME$2,
111
+ theme: theme === Theme.light ? Theme.light : Theme.dark
112
+ }))
113
+ }, /*#__PURE__*/React.createElement(SelectElement, _extends({}, forwardedProps, {
114
+ anchorRef: anchorRef,
115
+ "aria-disabled": isDisabled,
116
+ handleKeyboardNav: handleKeyboardNav,
117
+ hasError: hasError,
118
+ isDisabled: isDisabled,
119
+ isEmpty: isEmpty,
120
+ isRequired: isRequired,
121
+ isValid: isValid,
122
+ label: label,
123
+ placeholder: placeholder,
124
+ id: selectId,
125
+ theme: theme,
126
+ value: value,
127
+ variant: variant,
128
+ onClear: onClear,
129
+ onInputClick: onInputClick
130
+ })), /*#__PURE__*/React.createElement(Dropdown, {
131
+ anchorRef: anchorRef,
132
+ closeOnClick: closeOnClick,
133
+ closeOnClickAway: true,
134
+ closeOnEscape: true,
135
+ isOpen: !!isOpen,
136
+ placement: Placement.BOTTOM_START,
137
+ onClose: onClose,
138
+ onInfiniteScroll: onInfiniteScroll,
139
+ ref: dropdownRef
140
+ }, children), hasError && error && /*#__PURE__*/React.createElement(InputHelper, {
141
+ className: `${CLASSNAME$2}__helper`,
142
+ kind: Kind.error,
143
+ theme: theme
144
+ }, error), helper && /*#__PURE__*/React.createElement(InputHelper, {
145
+ className: `${CLASSNAME$2}__helper`,
146
+ theme: theme
147
+ }, helper));
148
+ };
149
+
150
+ /**
151
+ * Select variants.
152
+ */
153
+ const SelectVariant = {
154
+ input: 'input',
155
+ chip: 'chip'
156
+ };
157
+
158
+ /** The display name of the component. */
159
+ const COMPONENT_NAME$1 = 'Select';
160
+
161
+ /** The default class name and classes prefix for this component. */
162
+ const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
163
+
164
+ /** The default value of props. */
165
+ const DEFAULT_PROPS$1 = {
166
+ selectedValueRender: choice => choice,
167
+ variant: SelectVariant.input
168
+ };
169
+ const stopPropagation = evt => evt.stopPropagation();
170
+
171
+ /**
172
+ * Select component.
173
+ */
174
+ const SelectField = props => {
175
+ const defaultTheme = useTheme();
176
+ const {
177
+ anchorRef,
178
+ clearButtonProps,
179
+ handleKeyboardNav,
180
+ hasError,
181
+ hasInputClear,
182
+ icon,
183
+ id,
184
+ isDisabled,
185
+ isEmpty,
186
+ isRequired,
187
+ isValid,
188
+ label,
189
+ onClear,
190
+ onInputClick,
191
+ placeholder,
192
+ selectedValueRender,
193
+ theme = defaultTheme,
194
+ value,
195
+ variant,
196
+ selectElementRef,
197
+ ...forwardedProps
198
+ } = props;
199
+ return /*#__PURE__*/React.createElement(React.Fragment, null, variant === SelectVariant.input && /*#__PURE__*/React.createElement(React.Fragment, null, label && /*#__PURE__*/React.createElement("div", {
200
+ className: `${CLASSNAME$1}__header`
201
+ }, /*#__PURE__*/React.createElement(InputLabel, {
202
+ htmlFor: id,
203
+ className: `${CLASSNAME$1}__label`,
204
+ isRequired: isRequired,
205
+ theme: theme
206
+ }, label)), /*#__PURE__*/React.createElement("div", _extends({
207
+ ref: mergeRefs(anchorRef, selectElementRef),
208
+ id: id,
209
+ className: `${CLASSNAME$1}__wrapper`,
210
+ onClick: onInputClick,
211
+ onKeyDown: handleKeyboardNav,
212
+ tabIndex: isDisabled ? undefined : 0,
213
+ "aria-disabled": isDisabled || undefined
214
+ }, forwardedProps), icon && /*#__PURE__*/React.createElement(Icon, {
215
+ className: `${CLASSNAME$1}__input-icon`,
216
+ color: theme === Theme.dark ? 'light' : undefined,
217
+ icon: icon,
218
+ size: Size.xs
219
+ }), /*#__PURE__*/React.createElement("div", {
220
+ className: classNames([`${CLASSNAME$1}__input-native`, isEmpty && placeholder && `${CLASSNAME$1}__input-native--placeholder`])
221
+ }, !isEmpty && /*#__PURE__*/React.createElement("span", null, selectedValueRender?.(value)), isEmpty && placeholder && /*#__PURE__*/React.createElement("span", null, placeholder)), (isValid || hasError) && /*#__PURE__*/React.createElement("div", {
222
+ className: `${CLASSNAME$1}__input-validity`
223
+ }, /*#__PURE__*/React.createElement(Icon, {
224
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
225
+ size: Size.xxs
226
+ })), hasInputClear && clearButtonProps && /*#__PURE__*/React.createElement(IconButton, _extends({}, clearButtonProps, {
227
+ className: `${CLASSNAME$1}__input-clear`,
228
+ icon: mdiCloseCircle,
229
+ emphasis: Emphasis.low,
230
+ size: Size.s,
231
+ theme: theme,
232
+ onClick: onClear,
233
+ onKeyDown: stopPropagation
234
+ })), /*#__PURE__*/React.createElement("div", {
235
+ className: `${CLASSNAME$1}__input-indicator`
236
+ }, /*#__PURE__*/React.createElement(Icon, {
237
+ icon: mdiMenuDown,
238
+ size: Size.s
239
+ })))), variant === SelectVariant.chip && /*#__PURE__*/React.createElement(Chip, _extends({
240
+ id: id,
241
+ isSelected: !isEmpty,
242
+ isDisabled: isDisabled,
243
+ after: /*#__PURE__*/React.createElement(Icon, {
244
+ icon: isEmpty ? mdiMenuDown : mdiCloseCircle
245
+ }),
246
+ onAfterClick: isEmpty ? onInputClick : onClear,
247
+ onClick: onInputClick,
248
+ ref: mergeRefs(anchorRef, selectElementRef),
249
+ theme: theme
250
+ }, forwardedProps), isEmpty && /*#__PURE__*/React.createElement("span", null, label), !isEmpty && /*#__PURE__*/React.createElement("span", null, selectedValueRender?.(value))));
251
+ };
252
+
253
+ /**
254
+ * Select component.
255
+ *
256
+ * @param props Component props.
257
+ * @param ref Component ref.
258
+ * @return React element.
259
+ */
260
+ const Select = forwardRef((props, ref) => {
261
+ const isEmpty$1 = isEmpty(props.value);
262
+ const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty$1;
263
+ return WithSelectContext(SelectField, {
264
+ ...DEFAULT_PROPS$1,
265
+ ...props,
266
+ className: classNames(props.className, handleBasicClasses({
267
+ hasInputClear,
268
+ hasUnique: !props.isEmpty,
269
+ prefix: CLASSNAME$1
270
+ })),
271
+ hasInputClear,
272
+ isEmpty: isEmpty$1
273
+ }, ref);
274
+ });
275
+ Select.displayName = COMPONENT_NAME$1;
276
+ Select.className = CLASSNAME$1;
277
+ Select.defaultProps = DEFAULT_PROPS$1;
278
+ Select.className = CLASSNAME$1;
279
+
280
+ /** Defines the props of the component. */
281
+
282
+ /** The display name of the component. */
283
+ const COMPONENT_NAME = 'Select';
284
+
285
+ /** The default class name and classes prefix for this component. */
286
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
287
+
288
+ /** The default value of props. */
289
+ const DEFAULT_PROPS = {
290
+ selectedChipRender(choice, index, onClear, isDisabled, theme) {
291
+ const onClick = event => onClear && onClear(event, choice);
292
+ return /*#__PURE__*/React.createElement(Chip, {
293
+ key: index,
294
+ after: onClear && /*#__PURE__*/React.createElement(Icon, {
295
+ icon: mdiClose,
296
+ size: Size.xxs
297
+ }),
298
+ isDisabled: isDisabled,
299
+ size: Size.s,
300
+ onAfterClick: onClick,
301
+ onClick: onClick,
302
+ theme: theme
303
+ }, choice);
304
+ },
305
+ selectedValueRender: choice => choice,
306
+ variant: SelectVariant.input
307
+ };
308
+ const SelectMultipleField = props => {
309
+ const defaultTheme = useTheme();
310
+ const {
311
+ anchorRef,
312
+ handleKeyboardNav,
313
+ hasError,
314
+ icon,
315
+ id,
316
+ isDisabled,
317
+ isEmpty,
318
+ isRequired,
319
+ isValid,
320
+ label,
321
+ onClear,
322
+ onInputClick,
323
+ placeholder,
324
+ selectedChipRender,
325
+ selectedValueRender,
326
+ theme = defaultTheme,
327
+ value,
328
+ variant,
329
+ selectElementRef,
330
+ ...forwardedProps
331
+ } = props;
332
+ return /*#__PURE__*/React.createElement(React.Fragment, null, variant === SelectVariant.input && /*#__PURE__*/React.createElement(React.Fragment, null, label && /*#__PURE__*/React.createElement("div", {
333
+ className: `${CLASSNAME}__header`
334
+ }, /*#__PURE__*/React.createElement(InputLabel, {
335
+ htmlFor: id,
336
+ className: `${CLASSNAME}__label`,
337
+ isRequired: isRequired,
338
+ theme: theme
339
+ }, label)), /*#__PURE__*/React.createElement("div", _extends({
340
+ ref: mergeRefs(anchorRef, selectElementRef),
341
+ id: id,
342
+ className: `${CLASSNAME}__wrapper`,
343
+ onClick: onInputClick,
344
+ onKeyDown: handleKeyboardNav,
345
+ tabIndex: isDisabled ? undefined : 0,
346
+ "aria-disabled": isDisabled || undefined
347
+ }, forwardedProps), icon && /*#__PURE__*/React.createElement(Icon, {
348
+ className: `${CLASSNAME}__input-icon`,
349
+ color: theme === Theme.dark ? 'light' : undefined,
350
+ icon: icon,
351
+ size: Size.xs
352
+ }), /*#__PURE__*/React.createElement("div", {
353
+ className: `${CLASSNAME}__chips`
354
+ }, !isEmpty && value.map((val, index) => selectedChipRender?.(val, index, onClear, isDisabled, theme))), isEmpty && placeholder && /*#__PURE__*/React.createElement("div", {
355
+ className: classNames([`${CLASSNAME}__input-native`, `${CLASSNAME}__input-native--placeholder`])
356
+ }, /*#__PURE__*/React.createElement("span", null, placeholder)), (isValid || hasError) && /*#__PURE__*/React.createElement("div", {
357
+ className: `${CLASSNAME}__input-validity`
358
+ }, /*#__PURE__*/React.createElement(Icon, {
359
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
360
+ size: Size.xxs
361
+ })), /*#__PURE__*/React.createElement("div", {
362
+ className: `${CLASSNAME}__input-indicator`
363
+ }, /*#__PURE__*/React.createElement(Icon, {
364
+ icon: mdiMenuDown,
365
+ size: Size.s
366
+ })))), variant === SelectVariant.chip && /*#__PURE__*/React.createElement(Chip, _extends({
367
+ id: id,
368
+ isSelected: !isEmpty,
369
+ isDisabled: isDisabled,
370
+ after: /*#__PURE__*/React.createElement(Icon, {
371
+ icon: isEmpty ? mdiMenuDown : mdiCloseCircle
372
+ }),
373
+ onAfterClick: isEmpty ? onInputClick : onClear,
374
+ onClick: onInputClick,
375
+ ref: mergeRefs(anchorRef, selectElementRef),
376
+ theme: theme
377
+ }, forwardedProps), isEmpty && /*#__PURE__*/React.createElement("span", null, label), !isEmpty && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, selectedValueRender?.(value[0])), value.length > 1 && /*#__PURE__*/React.createElement("span", null, "\xA0+", value.length - 1))));
378
+ };
379
+
380
+ /**
381
+ * SelectMultiple component.
382
+ *
383
+ * @param props Component props.
384
+ * @param ref Component ref.
385
+ * @return React element.
386
+ */
387
+ const SelectMultiple = forwardRef((props, ref) => {
388
+ return WithSelectContext(SelectMultipleField, {
389
+ ...DEFAULT_PROPS,
390
+ ...props,
391
+ className: classNames(props.className, handleBasicClasses({
392
+ hasMultiple: !props.isEmpty,
393
+ prefix: CLASSNAME
394
+ })),
395
+ isEmpty: props.value.length === 0,
396
+ isMultiple: true
397
+ }, ref);
398
+ });
399
+ SelectMultiple.displayName = COMPONENT_NAME;
400
+ SelectMultiple.className = CLASSNAME;
401
+ SelectMultiple.defaultProps = DEFAULT_PROPS;
402
+
403
+ export { Select, SelectMultiple, SelectMultipleField, SelectVariant };
404
+ //# sourceMappingURL=select-d46cfe35.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-d46cfe35.js","sources":["../../../src/hooks/useListenFocus.tsx","../../../src/components/select/WithSelectContext.tsx","../../../src/components/select/constants.ts","../../../src/components/select/Select.tsx","../../../src/components/select/SelectMultiple.tsx"],"sourcesContent":["import { RefObject, useEffect, useState } from 'react';\n\n/**\n * Listen on element focus to store the focus status.\n */\nexport function useListenFocus(ref: RefObject<HTMLElement>) {\n const [isFocus, setFocus] = useState(false);\n\n useEffect(() => {\n const { current: element } = ref;\n if (!element) {\n return undefined;\n }\n\n const onFocus = () => setFocus(true);\n const onBlur = () => setFocus(false);\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [ref, setFocus]);\n\n return isFocus;\n}\n","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","import { IconButtonProps } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { ReactNode, SyntheticEvent } from 'react';\n\n/**\n * Select variants.\n */\nexport const SelectVariant = { input: 'input', chip: 'chip' } as const;\nexport type SelectVariant = ValueOf<typeof SelectVariant>;\n\nexport interface CoreSelectProps extends GenericProps, HasTheme {\n /** Props to pass to the clear button (minus those already set by the Select props). If not specified, the button won't be displayed. */\n clearButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /** Whether the select (input variant) is displayed with error style or not. */\n hasError?: boolean;\n /** Error message. */\n error?: string | ReactNode;\n /** Helper text. */\n helper?: string;\n /** Whether the select should close on click. */\n closeOnClick?: boolean;\n /** Icon (SVG path). */\n icon?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Whether the select (input variant) is displayed with valid style or not. */\n isValid?: boolean;\n /** Label text. */\n label?: string;\n /** Placeholder input text. */\n placeholder?: string;\n /** Select variant. */\n variant?: SelectVariant;\n /** On clear callback. */\n onClear?(event: SyntheticEvent, value?: string): void;\n /** On blur callback. */\n onBlur?(): void;\n /** On filter text change callback (with 500ms debounce). */\n onFilter?(): void;\n /** On input click callback (can be used for dropdown toggle). */\n onInputClick?(): void;\n /** On dropdown close callback. */\n onDropdownClose?(): void;\n /** On scroll end callback. */\n onInfiniteScroll?(): void;\n /** Render value function. Default: Renders the value as a string. */\n selectedValueRender?(choice: string): ReactNode | string;\n /** Children */\n children?: React.ReactNode;\n}\n","import { RefObject } from 'react';\n\nimport classNames from 'classnames';\nimport lodashIsEmpty from 'lodash/isEmpty';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiCloseCircle, mdiMenuDown } from '@lumx/icons';\nimport { Emphasis, Size, Theme } from '@lumx/core/js/constants';\nimport { IconButton } from '@lumx/react/components/button/IconButton';\nimport { Chip } from '@lumx/react/components/chip/Chip';\nimport { Icon } from '@lumx/react/components/icon/Icon';\nimport { InputLabel } from '@lumx/react/components/input-label/InputLabel';\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 { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { WithSelectContext } from './WithSelectContext';\nimport { CoreSelectProps, SelectVariant } from './constants';\n\n/** Defines the props of the component. */\nexport interface SelectProps extends CoreSelectProps {\n /** Selected value. */\n value: string;\n}\n\nexport { SelectVariant };\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\n/** The default value of props. */\nconst DEFAULT_PROPS: Partial<SelectProps> = {\n selectedValueRender: (choice) => choice,\n variant: SelectVariant.input,\n};\n\nconst stopPropagation = (evt: Event) => evt.stopPropagation();\n\n/**\n * Select component.\n */\nconst SelectField: React.FC<SelectProps> = (props) => {\n const defaultTheme = useTheme();\n const {\n anchorRef,\n clearButtonProps,\n handleKeyboardNav,\n hasError,\n hasInputClear,\n icon,\n id,\n isDisabled,\n isEmpty,\n isRequired,\n isValid,\n label,\n onClear,\n onInputClick,\n placeholder,\n selectedValueRender,\n theme = defaultTheme,\n value,\n variant,\n selectElementRef,\n ...forwardedProps\n } = props;\n\n return (\n <>\n {variant === SelectVariant.input && (\n <>\n {label && (\n <div className={`${CLASSNAME}__header`}>\n <InputLabel\n htmlFor={id}\n className={`${CLASSNAME}__label`}\n isRequired={isRequired}\n theme={theme}\n >\n {label}\n </InputLabel>\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={mergeRefs(anchorRef as RefObject<HTMLDivElement>, selectElementRef)}\n id={id}\n className={`${CLASSNAME}__wrapper`}\n onClick={onInputClick}\n onKeyDown={handleKeyboardNav}\n tabIndex={isDisabled ? undefined : 0}\n aria-disabled={isDisabled || undefined}\n {...forwardedProps}\n >\n {icon && (\n <Icon\n className={`${CLASSNAME}__input-icon`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={icon}\n size={Size.xs}\n />\n )}\n\n <div\n className={classNames([\n `${CLASSNAME}__input-native`,\n isEmpty && placeholder && `${CLASSNAME}__input-native--placeholder`,\n ])}\n >\n {!isEmpty && <span>{selectedValueRender?.(value)}</span>}\n\n {isEmpty && placeholder && <span>{placeholder}</span>}\n </div>\n\n {(isValid || hasError) && (\n <div className={`${CLASSNAME}__input-validity`}>\n <Icon icon={isValid ? mdiCheckCircle : mdiAlertCircle} size={Size.xxs} />\n </div>\n )}\n\n {hasInputClear && clearButtonProps && (\n <IconButton\n {...clearButtonProps}\n className={`${CLASSNAME}__input-clear`}\n icon={mdiCloseCircle}\n emphasis={Emphasis.low}\n size={Size.s}\n theme={theme}\n onClick={onClear}\n onKeyDown={stopPropagation}\n />\n )}\n\n <div className={`${CLASSNAME}__input-indicator`}>\n <Icon icon={mdiMenuDown} size={Size.s} />\n </div>\n </div>\n </>\n )}\n\n {variant === SelectVariant.chip && (\n <Chip\n id={id}\n isSelected={!isEmpty}\n isDisabled={isDisabled}\n after={<Icon icon={isEmpty ? mdiMenuDown : mdiCloseCircle} />}\n onAfterClick={isEmpty ? onInputClick : onClear}\n onClick={onInputClick}\n ref={mergeRefs(anchorRef as RefObject<HTMLAnchorElement>, selectElementRef)}\n theme={theme}\n {...forwardedProps}\n >\n {isEmpty && <span>{label}</span>}\n\n {!isEmpty && <span>{selectedValueRender?.(value)}</span>}\n </Chip>\n )}\n </>\n );\n};\n\n/**\n * Select component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Select = forwardRef<SelectProps, HTMLDivElement>((props, ref) => {\n const isEmpty = lodashIsEmpty(props.value);\n const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty;\n\n return WithSelectContext(\n SelectField,\n {\n ...DEFAULT_PROPS,\n ...props,\n className: classNames(\n props.className,\n handleBasicClasses({\n hasInputClear,\n hasUnique: !props.isEmpty,\n prefix: CLASSNAME,\n }),\n ),\n hasInputClear,\n isEmpty,\n },\n ref,\n );\n});\nSelect.displayName = COMPONENT_NAME;\nSelect.className = CLASSNAME;\nSelect.defaultProps = DEFAULT_PROPS;\nSelect.className = CLASSNAME;\n","import { ReactNode, RefObject, SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiClose, mdiCloseCircle, mdiMenuDown } from '@lumx/icons';\nimport { Size, Theme } from '@lumx/core/js/constants';\nimport { Chip } from '@lumx/react/components/chip/Chip';\nimport { Icon } from '@lumx/react/components/icon/Icon';\nimport { InputLabel } from '@lumx/react/components/input-label/InputLabel';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { WithSelectContext } from './WithSelectContext';\nimport { CoreSelectProps, SelectVariant } from './constants';\n\n/** Defines the props of the component. */\nexport interface SelectMultipleProps extends CoreSelectProps {\n /** Selected values. */\n value: string[];\n /** Selected value render function. Default: Renders the value inside of a Chip. */\n selectedChipRender?(\n choice: string,\n index: number,\n onClear?: (event: SyntheticEvent, choice: string) => void,\n isDisabled?: boolean,\n theme?: any,\n ): ReactNode | string;\n}\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\n/** The default value of props. */\nconst DEFAULT_PROPS: Partial<SelectMultipleProps> = {\n selectedChipRender(choice, index, onClear, isDisabled?, theme?) {\n const onClick = (event: React.MouseEvent) => onClear && onClear(event, choice);\n return (\n <Chip\n key={index}\n after={onClear && <Icon icon={mdiClose} size={Size.xxs} />}\n isDisabled={isDisabled}\n size={Size.s}\n onAfterClick={onClick}\n onClick={onClick}\n theme={theme}\n >\n {choice}\n </Chip>\n );\n },\n selectedValueRender: (choice) => choice,\n variant: SelectVariant.input,\n};\n\nexport const SelectMultipleField: React.FC<SelectMultipleProps> = (props) => {\n const defaultTheme = useTheme();\n const {\n anchorRef,\n handleKeyboardNav,\n hasError,\n icon,\n id,\n isDisabled,\n isEmpty,\n isRequired,\n isValid,\n label,\n onClear,\n onInputClick,\n placeholder,\n selectedChipRender,\n selectedValueRender,\n theme = defaultTheme,\n value,\n variant,\n selectElementRef,\n ...forwardedProps\n } = props;\n\n return (\n <>\n {variant === SelectVariant.input && (\n <>\n {label && (\n <div className={`${CLASSNAME}__header`}>\n <InputLabel\n htmlFor={id}\n className={`${CLASSNAME}__label`}\n isRequired={isRequired}\n theme={theme}\n >\n {label}\n </InputLabel>\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={mergeRefs(anchorRef as RefObject<HTMLDivElement>, selectElementRef)}\n id={id}\n className={`${CLASSNAME}__wrapper`}\n onClick={onInputClick}\n onKeyDown={handleKeyboardNav}\n tabIndex={isDisabled ? undefined : 0}\n aria-disabled={isDisabled || undefined}\n {...forwardedProps}\n >\n {icon && (\n <Icon\n className={`${CLASSNAME}__input-icon`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={icon}\n size={Size.xs}\n />\n )}\n\n <div className={`${CLASSNAME}__chips`}>\n {!isEmpty &&\n value.map((val, index) => selectedChipRender?.(val, index, onClear, isDisabled, theme))}\n </div>\n\n {isEmpty && placeholder && (\n <div\n className={classNames([\n `${CLASSNAME}__input-native`,\n `${CLASSNAME}__input-native--placeholder`,\n ])}\n >\n <span>{placeholder}</span>\n </div>\n )}\n\n {(isValid || hasError) && (\n <div className={`${CLASSNAME}__input-validity`}>\n <Icon icon={isValid ? mdiCheckCircle : mdiAlertCircle} size={Size.xxs} />\n </div>\n )}\n\n <div className={`${CLASSNAME}__input-indicator`}>\n <Icon icon={mdiMenuDown} size={Size.s} />\n </div>\n </div>\n </>\n )}\n\n {variant === SelectVariant.chip && (\n <Chip\n id={id}\n isSelected={!isEmpty}\n isDisabled={isDisabled}\n after={<Icon icon={isEmpty ? mdiMenuDown : mdiCloseCircle} />}\n onAfterClick={isEmpty ? onInputClick : onClear}\n onClick={onInputClick}\n ref={mergeRefs(anchorRef as RefObject<HTMLAnchorElement>, selectElementRef)}\n theme={theme}\n {...forwardedProps}\n >\n {isEmpty && <span>{label}</span>}\n\n {!isEmpty && (\n <span>\n <span>{selectedValueRender?.(value[0])}</span>\n\n {value.length > 1 && <span>&nbsp;+{value.length - 1}</span>}\n </span>\n )}\n </Chip>\n )}\n </>\n );\n};\n\n/**\n * SelectMultiple component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const SelectMultiple = forwardRef<SelectMultipleProps, HTMLDivElement>((props, ref) => {\n return WithSelectContext(\n SelectMultipleField,\n {\n ...DEFAULT_PROPS,\n ...props,\n className: classNames(\n props.className,\n handleBasicClasses({\n hasMultiple: !props.isEmpty,\n prefix: CLASSNAME,\n }),\n ),\n isEmpty: props.value.length === 0,\n isMultiple: true,\n },\n ref,\n );\n});\nSelectMultiple.displayName = COMPONENT_NAME;\nSelectMultiple.className = CLASSNAME;\nSelectMultiple.defaultProps = DEFAULT_PROPS;\n"],"names":["useListenFocus","ref","isFocus","setFocus","useState","useEffect","current","element","undefined","onFocus","onBlur","addEventListener","removeEventListener","COMPONENT_NAME","CLASSNAME","getRootClassName","WithSelectContext","SelectElement","props","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","handleKeyboardNav","useCallback","evt","key","preventDefault","onClose","blur","useFocusTrap","React","createElement","mergeRefs","classNames","handleBasicClasses","hasLabel","Boolean","hasPlaceholder","hasValue","prefix","dark","_extends","Dropdown","closeOnClickAway","closeOnEscape","placement","Placement","BOTTOM_START","InputHelper","kind","Kind","SelectVariant","input","chip","DEFAULT_PROPS","selectedValueRender","choice","stopPropagation","SelectField","clearButtonProps","hasInputClear","icon","selectElementRef","Fragment","InputLabel","htmlFor","onClick","onKeyDown","tabIndex","Icon","color","size","Size","xs","mdiCheckCircle","mdiAlertCircle","xxs","IconButton","mdiCloseCircle","emphasis","Emphasis","low","s","mdiMenuDown","Chip","isSelected","after","onAfterClick","Select","forwardRef","lodashIsEmpty","hasUnique","displayName","defaultProps","selectedChipRender","index","event","mdiClose","SelectMultipleField","map","val","length","SelectMultiple","hasMultiple"],"mappings":"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"}
@@ -1,15 +1,19 @@
1
+ import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
1
2
  import { Children } from 'react';
2
- import { m as getRootClassName, n as forwardRef, l as classNames, b as Theme, d as Emphasis, c as Size } from './6589b796.js';
3
- import { i as isComponent } from './78df9309.js';
4
- import { u as useTheme } from './3181f000.js';
5
- import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { i as isComponent } from '../isComponent-78df9309.js';
4
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
5
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
6
6
  import isEmpty from 'lodash/isEmpty';
7
- import { h as handleBasicClasses } from './e2afb13f.js';
8
- import { u as useId } from './3a1facc0.js';
9
- import { R as RawClickable } from './2c2b6a89.js';
10
- import { I as Icon } from './8ab42752.js';
11
- import { I as IconButton } from './0a490b07.js';
12
- import { m as mdiChevronUp, a as mdiChevronDown } from './0b9c76cb.js';
7
+ import { mdiChevronUp, mdiChevronDown } from '@lumx/icons';
8
+ import { u as useId } from '../useId-3a1facc0.js';
9
+ import { R as RawClickable } from '../RawClickable-c76bbc4c.js';
10
+ import { Theme, Emphasis, Size } from '@lumx/core/js/constants';
11
+ import { Icon } from './icon-2e7345ad.js';
12
+ import { I as IconButton } from '../IconButton-10585058.js';
13
+
14
+ /**
15
+ * Defines the props of the component.
16
+ */
13
17
 
14
18
  /**
15
19
  * Component display name.
@@ -37,16 +41,19 @@ const SideNavigation = forwardRef((props, ref) => {
37
41
  ...forwardedProps
38
42
  } = props;
39
43
  const content = Children.toArray(children).filter(isComponent(SideNavigationItem));
40
- return /*#__PURE__*/jsx("ul", {
41
- ref: ref,
42
- ...forwardedProps,
43
- className: classNames(className, theme === Theme.dark && 'lumx-color-font-light-N', CLASSNAME$1),
44
- children: content
45
- });
44
+ return /*#__PURE__*/React.createElement("ul", _extends({
45
+ ref: ref
46
+ }, forwardedProps, {
47
+ className: classNames(className, theme === Theme.dark && 'lumx-color-font-light-N', CLASSNAME$1)
48
+ }), content);
46
49
  });
47
50
  SideNavigation.displayName = COMPONENT_NAME$1;
48
51
  SideNavigation.className = CLASSNAME$1;
49
52
 
53
+ /**
54
+ * Defines the props of the component.
55
+ */
56
+
50
57
  /**
51
58
  * Component display name.
52
59
  */
@@ -100,65 +107,53 @@ const SideNavigationItem = forwardRef((props, ref) => {
100
107
  // Associate with content ID only if in DOM (shown or hidden and not unmounted)
101
108
  ariaProps['aria-controls'] = showChildren || closeMode === 'hide' ? contentId : undefined;
102
109
  }
103
- return /*#__PURE__*/jsxs("li", {
104
- ref: ref,
105
- ...forwardedProps,
110
+ return /*#__PURE__*/React.createElement("li", _extends({
111
+ ref: ref
112
+ }, forwardedProps, {
106
113
  className: classNames(className, handleBasicClasses({
107
114
  emphasis,
108
115
  isOpen: showChildren,
109
116
  isSelected,
110
117
  prefix: CLASSNAME
111
- })),
112
- children: [shouldSplitActions ? /*#__PURE__*/jsxs("div", {
113
- className: `${CLASSNAME}__wrapper`,
114
- children: [/*#__PURE__*/jsxs(RawClickable, {
115
- as: linkAs || (linkProps?.href ? 'a' : 'button'),
116
- ...linkProps,
117
- className: `${CLASSNAME}__link`,
118
- onClick: onClick,
119
- children: [icon && /*#__PURE__*/jsx(Icon, {
120
- className: `${CLASSNAME}__icon`,
121
- icon: icon,
122
- size: Size.xs
123
- }), /*#__PURE__*/jsx("span", {
124
- children: label
125
- })]
126
- }), /*#__PURE__*/jsx(IconButton, {
127
- ...toggleButtonProps,
128
- className: `${CLASSNAME}__toggle`,
129
- icon: isOpen ? mdiChevronUp : mdiChevronDown,
130
- size: Size.m,
131
- emphasis: Emphasis.low,
132
- onClick: onActionClick,
133
- ...ariaProps
134
- })]
135
- }) : /*#__PURE__*/jsxs(RawClickable, {
136
- as: linkAs || (linkProps?.href ? 'a' : 'button'),
137
- ...linkProps,
138
- className: `${CLASSNAME}__link`,
139
- onClick: onClick,
140
- ...ariaProps,
141
- children: [icon && /*#__PURE__*/jsx(Icon, {
142
- className: `${CLASSNAME}__icon`,
143
- icon: icon,
144
- size: Size.xs
145
- }), /*#__PURE__*/jsx("span", {
146
- children: label
147
- }), hasContent && /*#__PURE__*/jsx(Icon, {
148
- className: `${CLASSNAME}__chevron`,
149
- icon: isOpen ? mdiChevronUp : mdiChevronDown,
150
- size: Size.xs
151
- })]
152
- }), (closeMode === 'hide' || showChildren) && /*#__PURE__*/jsx("ul", {
153
- className: `${CLASSNAME}__children`,
154
- id: contentId,
155
- children: content
156
- })]
157
- });
118
+ }))
119
+ }), shouldSplitActions ? /*#__PURE__*/React.createElement("div", {
120
+ className: `${CLASSNAME}__wrapper`
121
+ }, /*#__PURE__*/React.createElement(RawClickable, _extends({
122
+ as: linkAs || (linkProps?.href ? 'a' : 'button')
123
+ }, linkProps, {
124
+ className: `${CLASSNAME}__link`,
125
+ onClick: onClick
126
+ }), icon && /*#__PURE__*/React.createElement(Icon, {
127
+ className: `${CLASSNAME}__icon`,
128
+ icon: icon,
129
+ size: Size.xs
130
+ }), /*#__PURE__*/React.createElement("span", null, label)), /*#__PURE__*/React.createElement(IconButton, _extends({}, toggleButtonProps, {
131
+ className: `${CLASSNAME}__toggle`,
132
+ icon: isOpen ? mdiChevronUp : mdiChevronDown,
133
+ size: Size.m,
134
+ emphasis: Emphasis.low,
135
+ onClick: onActionClick
136
+ }, ariaProps))) : /*#__PURE__*/React.createElement(RawClickable, _extends({
137
+ as: linkAs || (linkProps?.href ? 'a' : 'button')
138
+ }, linkProps, {
139
+ className: `${CLASSNAME}__link`,
140
+ onClick: onClick
141
+ }, ariaProps), icon && /*#__PURE__*/React.createElement(Icon, {
142
+ className: `${CLASSNAME}__icon`,
143
+ icon: icon,
144
+ size: Size.xs
145
+ }), /*#__PURE__*/React.createElement("span", null, label), hasContent && /*#__PURE__*/React.createElement(Icon, {
146
+ className: `${CLASSNAME}__chevron`,
147
+ icon: isOpen ? mdiChevronUp : mdiChevronDown,
148
+ size: Size.xs
149
+ })), (closeMode === 'hide' || showChildren) && /*#__PURE__*/React.createElement("ul", {
150
+ className: `${CLASSNAME}__children`,
151
+ id: contentId
152
+ }, content));
158
153
  });
159
154
  SideNavigationItem.displayName = COMPONENT_NAME;
160
155
  SideNavigationItem.className = CLASSNAME;
161
156
  SideNavigationItem.defaultProps = DEFAULT_PROPS;
162
157
 
163
158
  export { SideNavigation, SideNavigationItem };
164
- //# sourceMappingURL=b477da26.js.map
159
+ //# sourceMappingURL=side-navigation-75b22f19.js.map