@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
@@ -1,137 +0,0 @@
1
- import { Children } from 'react';
2
- import { m as getRootClassName, n as forwardRef, b as Theme, l as classNames, c as Size } from './6589b796.js';
3
- import { h as handleBasicClasses } from './e2afb13f.js';
4
- import { u as useTheme } from './3181f000.js';
5
- import { jsxs, jsx } from 'react/jsx-runtime';
6
- import { Avatar } from './74a4a214.js';
7
- import { Tooltip } from './9a4dfad0.js';
8
-
9
- /**
10
- * Comment block variants.
11
- */
12
- const CommentBlockVariant = {
13
- indented: 'indented',
14
- linear: 'linear'
15
- };
16
-
17
- /**
18
- * Defines the props of the component.
19
- */
20
-
21
- /**
22
- * Component display name.
23
- */
24
- const COMPONENT_NAME = 'CommentBlock';
25
-
26
- /**
27
- * Component default class name and class prefix.
28
- */
29
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
30
-
31
- /**
32
- * Component default props.
33
- */
34
- const DEFAULT_PROPS = {
35
- variant: CommentBlockVariant.indented
36
- };
37
-
38
- /**
39
- * CommentBlock component.
40
- *
41
- * @param props Component props.
42
- * @param ref Component ref.
43
- * @return React element.
44
- */
45
- const CommentBlock = forwardRef((props, ref) => {
46
- const defaultTheme = useTheme() || Theme.light;
47
- const {
48
- actions,
49
- avatarProps,
50
- children,
51
- className,
52
- date,
53
- fullDate,
54
- hasActions,
55
- headerActions,
56
- isOpen,
57
- isRelevant,
58
- name,
59
- onClick,
60
- onMouseEnter,
61
- onMouseLeave,
62
- text,
63
- theme = defaultTheme,
64
- variant = DEFAULT_PROPS.variant,
65
- ...forwardedProps
66
- } = props;
67
- const hasChildren = Children.count(children) > 0;
68
- return /*#__PURE__*/jsxs("div", {
69
- ref: ref,
70
- className: classNames(className, handleBasicClasses({
71
- hasChildren: hasChildren && isOpen,
72
- hasIndentedChildren: hasChildren && variant === CommentBlockVariant.indented,
73
- hasLinearChildren: hasChildren && variant === CommentBlockVariant.linear,
74
- isRelevant,
75
- prefix: CLASSNAME,
76
- theme
77
- })),
78
- ...forwardedProps,
79
- children: [/*#__PURE__*/jsxs("div", {
80
- className: `${CLASSNAME}__wrapper`,
81
- children: [/*#__PURE__*/jsx("div", {
82
- className: `${CLASSNAME}__avatar`,
83
- children: /*#__PURE__*/jsx(Avatar, {
84
- ...avatarProps,
85
- size: Size.m,
86
- onClick: onClick
87
- })
88
- }), /*#__PURE__*/jsxs("div", {
89
- className: `${CLASSNAME}__container`,
90
- children: [/*#__PURE__*/jsxs("div", {
91
- className: `${CLASSNAME}__content`,
92
- children: [/*#__PURE__*/jsxs("div", {
93
- className: `${CLASSNAME}__meta`,
94
- children: [name &&
95
- /*#__PURE__*/
96
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
97
- jsx("span", {
98
- className: `${CLASSNAME}__name`,
99
- onClick: onClick,
100
- onMouseEnter: onMouseEnter,
101
- onMouseLeave: onMouseLeave,
102
- children: name
103
- }), headerActions && /*#__PURE__*/jsx("span", {
104
- className: `${CLASSNAME}__header-actions`,
105
- children: headerActions
106
- })]
107
- }), /*#__PURE__*/jsx("div", {
108
- className: `${CLASSNAME}__text`,
109
- children: text
110
- }), date && (fullDate ? /*#__PURE__*/jsx(Tooltip, {
111
- label: fullDate,
112
- placement: "top",
113
- children: /*#__PURE__*/jsx("span", {
114
- className: `${CLASSNAME}__date`,
115
- children: date
116
- })
117
- }) : /*#__PURE__*/jsx("span", {
118
- className: `${CLASSNAME}__date`,
119
- children: date
120
- }))]
121
- }), hasActions && /*#__PURE__*/jsx("div", {
122
- className: `${CLASSNAME}__actions`,
123
- children: actions
124
- })]
125
- })]
126
- }), hasChildren && isOpen && /*#__PURE__*/jsx("div", {
127
- className: `${CLASSNAME}__children`,
128
- children: children
129
- })]
130
- });
131
- });
132
- CommentBlock.displayName = COMPONENT_NAME;
133
- CommentBlock.className = CLASSNAME;
134
- CommentBlock.defaultProps = DEFAULT_PROPS;
135
-
136
- export { CommentBlock, CommentBlockVariant };
137
- //# sourceMappingURL=21b83d16.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"21b83d16.js","sources":["../../src/components/comment-block/CommentBlock.tsx"],"sourcesContent":["import { Children, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Avatar, Size, Theme, Tooltip } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { AvatarProps } from '../avatar/Avatar';\n\n/**\n * Comment block variants.\n */\nexport const CommentBlockVariant = {\n indented: 'indented',\n linear: 'linear',\n} as const;\nexport type CommentBlockVariant = ValueOf<typeof CommentBlockVariant>;\n\n/**\n * Defines the props of the component.\n */\nexport interface CommentBlockProps extends GenericProps, HasTheme {\n /** Action toolbar content. */\n actions?: ReactNode;\n /** Props to pass to the avatar. */\n avatarProps: AvatarProps;\n /** Comment block replies. */\n children?: ReactNode;\n /** Comment date with the minimal timestamp information (xx minutes, x hours, yesterday, 6 days, Month Day, Month Day Year)*/\n date?: string;\n /** Comment date with the full timestamp information (day, month, year, time) */\n fullDate?: string;\n /** Whether the component has actions to display or not. */\n hasActions?: boolean;\n /** Action toolbar header content. */\n headerActions?: ReactNode;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Whether the comment is relevant or not. */\n isRelevant?: boolean;\n /** Comment author name. */\n name?: React.ReactNode;\n /**\n * On click callback.\n * @deprecated Use avatarProps instead and/or inject a clickable component in `name`\n */\n onClick?(): void;\n /**\n * On mouse enter callback.\n * @deprecated Use avatarProps instead and/or inject a clickable component in `name`\n */\n onMouseEnter?(): void;\n /**\n * On mouse leave callback.\n * @deprecated Use avatarProps instead and/or inject a clickable component in `name`\n */\n onMouseLeave?(): void;\n /** Comment content. */\n text: ReactNode | string;\n /** Comment variant. */\n variant?: CommentBlockVariant;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'CommentBlock';\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<CommentBlockProps> = {\n variant: CommentBlockVariant.indented,\n};\n\n/**\n * CommentBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const CommentBlock = forwardRef<CommentBlockProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n actions,\n avatarProps,\n children,\n className,\n date,\n fullDate,\n hasActions,\n headerActions,\n isOpen,\n isRelevant,\n name,\n onClick,\n onMouseEnter,\n onMouseLeave,\n text,\n theme = defaultTheme,\n variant = DEFAULT_PROPS.variant,\n ...forwardedProps\n } = props;\n const hasChildren = Children.count(children) > 0;\n\n return (\n <div\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n hasChildren: hasChildren && isOpen,\n hasIndentedChildren: hasChildren && variant === CommentBlockVariant.indented,\n hasLinearChildren: hasChildren && variant === CommentBlockVariant.linear,\n isRelevant,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n {...forwardedProps}\n >\n <div className={`${CLASSNAME}__wrapper`}>\n <div className={`${CLASSNAME}__avatar`}>\n <Avatar {...avatarProps} size={Size.m} onClick={onClick} />\n </div>\n\n <div className={`${CLASSNAME}__container`}>\n <div className={`${CLASSNAME}__content`}>\n <div className={`${CLASSNAME}__meta`}>\n {name && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <span\n className={`${CLASSNAME}__name`}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {name}\n </span>\n )}\n {headerActions && <span className={`${CLASSNAME}__header-actions`}>{headerActions}</span>}\n </div>\n\n <div className={`${CLASSNAME}__text`}>{text}</div>\n {date &&\n (fullDate ? (\n <Tooltip label={fullDate} placement=\"top\">\n <span className={`${CLASSNAME}__date`}>{date}</span>\n </Tooltip>\n ) : (\n <span className={`${CLASSNAME}__date`}>{date}</span>\n ))}\n </div>\n {hasActions && <div className={`${CLASSNAME}__actions`}>{actions}</div>}\n </div>\n </div>\n {hasChildren && isOpen && <div className={`${CLASSNAME}__children`}>{children}</div>}\n </div>\n );\n});\nCommentBlock.displayName = COMPONENT_NAME;\nCommentBlock.className = CLASSNAME;\nCommentBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["CommentBlockVariant","indented","linear","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","variant","CommentBlock","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","actions","avatarProps","children","className","date","fullDate","hasActions","headerActions","isOpen","isRelevant","name","onClick","onMouseEnter","onMouseLeave","text","theme","forwardedProps","hasChildren","Children","count","_jsxs","classNames","handleBasicClasses","hasIndentedChildren","hasLinearChildren","prefix","_jsx","Avatar","size","Size","m","Tooltip","label","placement","displayName","defaultProps"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"230173a8.js","sources":["../../src/utils/browser/focus/constants.ts","../../src/utils/browser/focus/getFocusableElements.ts"],"sourcesContent":["/** CSS selector listing all tabbable elements. */\nexport const TABBABLE_ELEMENTS_SELECTOR =\n 'a[href], button, textarea, input:not([type=\"hidden\"]):not([hidden]), [tabindex]';\n\n/** CSS selector matching element that are disabled (should not receive focus). */\nexport const DISABLED_SELECTOR =\n '[hidden], [tabindex=\"-1\"], [disabled]:not([disabled=\"false\"]), [aria-disabled]:not([aria-disabled=\"false\"])';\n","import { DISABLED_SELECTOR, TABBABLE_ELEMENTS_SELECTOR } from './constants';\n\nconst isNotDisabled = (element: HTMLElement) => !element.matches(DISABLED_SELECTOR);\n\nexport function getFocusableElements(element: HTMLElement | ShadowRoot): HTMLElement[] {\n return Array.from(element.querySelectorAll<HTMLElement>(TABBABLE_ELEMENTS_SELECTOR)).filter(isNotDisabled);\n}\n"],"names":["TABBABLE_ELEMENTS_SELECTOR","DISABLED_SELECTOR","isNotDisabled","element","matches","getFocusableElements","Array","from","querySelectorAll","filter"],"mappings":"AAAA;AACO,MAAMA,0BAA0B,GACnC,iFAAiF,CAAA;;AAErF;AACO,MAAMC,iBAAiB,GAC1B,6GAA6G;;ACJjH,MAAMC,aAAa,GAAIC,OAAoB,IAAK,CAACA,OAAO,CAACC,OAAO,CAACH,iBAAiB,CAAC,CAAA;AAE5E,SAASI,oBAAoBA,CAACF,OAAiC,EAAiB;AACnF,EAAA,OAAOG,KAAK,CAACC,IAAI,CAACJ,OAAO,CAACK,gBAAgB,CAAcR,0BAA0B,CAAC,CAAC,CAACS,MAAM,CAACP,aAAa,CAAC,CAAA;AAC9G;;;;"}
@@ -1,457 +0,0 @@
1
- import { m as getRootClassName, b as Theme, l as classNames, K as Kind, n as forwardRef, c as Size, d as Emphasis } from './6589b796.js';
2
- import isEmpty from 'lodash/isEmpty';
3
- import { I as IconButton } from './0a490b07.js';
4
- import { C as Chip } from './85e3a5ca.js';
5
- import { I as Icon, m as mdiAlertCircle } from './8ab42752.js';
6
- import { InputLabel } from './b0a7a999.js';
7
- import { h as handleBasicClasses } from './e2afb13f.js';
8
- import { m as mergeRefs } from './f0d7d6ea.js';
9
- import { u as useTheme } from './3181f000.js';
10
- import { useState, useEffect, useRef, useCallback } from 'react';
11
- import { Dropdown } from './1ea72630.js';
12
- import { InputHelper } from './5f8f9454.js';
13
- import { u as useFocusTrap } from './5fe09341.js';
14
- import { u as useId } from './3a1facc0.js';
15
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
16
- import { P as Placement } from './4cd870a5.js';
17
- import { m as mdiCloseCircle } from './ef5d1aac.js';
18
- import { m as mdiCheckCircle } from './de24f857.js';
19
- import { m as mdiClose } from './eaf6c45a.js';
20
-
21
- const mdiMenuDown = 'm7 10 5 5 5-5z';
22
-
23
- /**
24
- * Listen on element focus to store the focus status.
25
- */
26
- function useListenFocus(ref) {
27
- const [isFocus, setFocus] = useState(false);
28
- useEffect(() => {
29
- const {
30
- current: element
31
- } = ref;
32
- if (!element) {
33
- return undefined;
34
- }
35
- const onFocus = () => setFocus(true);
36
- const onBlur = () => setFocus(false);
37
- element.addEventListener('focus', onFocus);
38
- element.addEventListener('blur', onBlur);
39
- return () => {
40
- element.removeEventListener('focus', onFocus);
41
- element.removeEventListener('blur', onBlur);
42
- };
43
- }, [ref, setFocus]);
44
- return isFocus;
45
- }
46
-
47
- /** The display name of the component. */
48
- const COMPONENT_NAME$2 = 'Select';
49
-
50
- /** The default class name and classes prefix for this component. */
51
- const CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2);
52
- const WithSelectContext = (SelectElement, props, ref) => {
53
- const defaultTheme = useTheme() || Theme.light;
54
- const {
55
- children,
56
- className,
57
- focusElement,
58
- isMultiple,
59
- closeOnClick = !isMultiple,
60
- disabled,
61
- error,
62
- hasError,
63
- helper,
64
- id,
65
- isDisabled = disabled,
66
- isEmpty,
67
- isOpen,
68
- isRequired,
69
- isValid,
70
- label,
71
- onClear,
72
- onDropdownClose,
73
- onInfiniteScroll,
74
- onInputClick,
75
- placeholder,
76
- theme = defaultTheme,
77
- value,
78
- variant,
79
- ...forwardedProps
80
- } = props;
81
- const generatedSelectId = useId();
82
- const selectId = id || generatedSelectId;
83
- const anchorRef = useRef(null);
84
- const selectRef = useRef(null);
85
- const dropdownRef = useRef(null);
86
- const isFocus = useListenFocus(anchorRef);
87
- const handleKeyboardNav = useCallback(evt => {
88
- if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {
89
- evt.preventDefault();
90
- onInputClick();
91
- }
92
- }, [onInputClick]);
93
- const onClose = () => {
94
- if (onDropdownClose) {
95
- onDropdownClose();
96
- }
97
- anchorRef?.current?.blur();
98
- };
99
-
100
- // Handle focus trap.
101
- useFocusTrap(isOpen && dropdownRef.current, focusElement?.current);
102
- return /*#__PURE__*/jsxs("div", {
103
- ref: mergeRefs(ref, selectRef),
104
- className: classNames(className, handleBasicClasses({
105
- hasError,
106
- hasLabel: Boolean(label),
107
- hasPlaceholder: Boolean(placeholder),
108
- hasValue: !isEmpty,
109
- isDisabled,
110
- isEmpty,
111
- isFocus,
112
- isOpen,
113
- isValid,
114
- prefix: CLASSNAME$2,
115
- theme: theme === Theme.light ? Theme.light : Theme.dark
116
- })),
117
- children: [/*#__PURE__*/jsx(SelectElement, {
118
- ...forwardedProps,
119
- anchorRef: anchorRef,
120
- "aria-disabled": isDisabled,
121
- handleKeyboardNav: handleKeyboardNav,
122
- hasError: hasError,
123
- isDisabled: isDisabled,
124
- isEmpty: isEmpty,
125
- isRequired: isRequired,
126
- isValid: isValid,
127
- label: label,
128
- placeholder: placeholder,
129
- id: selectId,
130
- theme: theme,
131
- value: value,
132
- variant: variant,
133
- onClear: onClear,
134
- onInputClick: onInputClick
135
- }), /*#__PURE__*/jsx(Dropdown, {
136
- anchorRef: anchorRef,
137
- closeOnClick: closeOnClick,
138
- closeOnClickAway: true,
139
- closeOnEscape: true,
140
- isOpen: !!isOpen,
141
- placement: Placement.BOTTOM_START,
142
- onClose: onClose,
143
- onInfiniteScroll: onInfiniteScroll,
144
- ref: dropdownRef,
145
- children: children
146
- }), hasError && error && /*#__PURE__*/jsx(InputHelper, {
147
- className: `${CLASSNAME$2}__helper`,
148
- kind: Kind.error,
149
- theme: theme,
150
- children: error
151
- }), helper && /*#__PURE__*/jsx(InputHelper, {
152
- className: `${CLASSNAME$2}__helper`,
153
- theme: theme,
154
- children: helper
155
- })]
156
- });
157
- };
158
-
159
- /**
160
- * Select variants.
161
- */
162
- const SelectVariant = {
163
- input: 'input',
164
- chip: 'chip'
165
- };
166
-
167
- /** The display name of the component. */
168
- const COMPONENT_NAME$1 = 'Select';
169
-
170
- /** The default class name and classes prefix for this component. */
171
- const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
172
-
173
- /** The default value of props. */
174
- const DEFAULT_PROPS$1 = {
175
- selectedValueRender: choice => choice,
176
- variant: SelectVariant.input
177
- };
178
- const stopPropagation = evt => evt.stopPropagation();
179
-
180
- /**
181
- * Select component.
182
- */
183
- const SelectField = props => {
184
- const defaultTheme = useTheme();
185
- const {
186
- anchorRef,
187
- clearButtonProps,
188
- handleKeyboardNav,
189
- hasError,
190
- hasInputClear,
191
- icon,
192
- id,
193
- isDisabled,
194
- isEmpty,
195
- isRequired,
196
- isValid,
197
- label,
198
- onClear,
199
- onInputClick,
200
- placeholder,
201
- selectedValueRender,
202
- theme = defaultTheme,
203
- value,
204
- variant,
205
- selectElementRef,
206
- ...forwardedProps
207
- } = props;
208
- return /*#__PURE__*/jsxs(Fragment, {
209
- children: [variant === SelectVariant.input && /*#__PURE__*/jsxs(Fragment, {
210
- children: [label && /*#__PURE__*/jsx("div", {
211
- className: `${CLASSNAME$1}__header`,
212
- children: /*#__PURE__*/jsx(InputLabel, {
213
- htmlFor: id,
214
- className: `${CLASSNAME$1}__label`,
215
- isRequired: isRequired,
216
- theme: theme,
217
- children: label
218
- })
219
- }), /*#__PURE__*/jsxs("div", {
220
- ref: mergeRefs(anchorRef, selectElementRef),
221
- id: id,
222
- className: `${CLASSNAME$1}__wrapper`,
223
- onClick: onInputClick,
224
- onKeyDown: handleKeyboardNav,
225
- tabIndex: isDisabled ? undefined : 0,
226
- "aria-disabled": isDisabled || undefined,
227
- ...forwardedProps,
228
- children: [icon && /*#__PURE__*/jsx(Icon, {
229
- className: `${CLASSNAME$1}__input-icon`,
230
- color: theme === Theme.dark ? 'light' : undefined,
231
- icon: icon,
232
- size: Size.xs
233
- }), /*#__PURE__*/jsxs("div", {
234
- className: classNames([`${CLASSNAME$1}__input-native`, isEmpty && placeholder && `${CLASSNAME$1}__input-native--placeholder`]),
235
- children: [!isEmpty && /*#__PURE__*/jsx("span", {
236
- children: selectedValueRender?.(value)
237
- }), isEmpty && placeholder && /*#__PURE__*/jsx("span", {
238
- children: placeholder
239
- })]
240
- }), (isValid || hasError) && /*#__PURE__*/jsx("div", {
241
- className: `${CLASSNAME$1}__input-validity`,
242
- children: /*#__PURE__*/jsx(Icon, {
243
- icon: isValid ? mdiCheckCircle : mdiAlertCircle,
244
- size: Size.xxs
245
- })
246
- }), hasInputClear && clearButtonProps && /*#__PURE__*/jsx(IconButton, {
247
- ...clearButtonProps,
248
- className: `${CLASSNAME$1}__input-clear`,
249
- icon: mdiCloseCircle,
250
- emphasis: Emphasis.low,
251
- size: Size.s,
252
- theme: theme,
253
- onClick: onClear,
254
- onKeyDown: stopPropagation
255
- }), /*#__PURE__*/jsx("div", {
256
- className: `${CLASSNAME$1}__input-indicator`,
257
- children: /*#__PURE__*/jsx(Icon, {
258
- icon: mdiMenuDown,
259
- size: Size.s
260
- })
261
- })]
262
- })]
263
- }), variant === SelectVariant.chip && /*#__PURE__*/jsxs(Chip, {
264
- id: id,
265
- isSelected: !isEmpty,
266
- isDisabled: isDisabled,
267
- after: /*#__PURE__*/jsx(Icon, {
268
- icon: isEmpty ? mdiMenuDown : mdiCloseCircle
269
- }),
270
- onAfterClick: isEmpty ? onInputClick : onClear,
271
- onClick: onInputClick,
272
- ref: mergeRefs(anchorRef, selectElementRef),
273
- theme: theme,
274
- ...forwardedProps,
275
- children: [isEmpty && /*#__PURE__*/jsx("span", {
276
- children: label
277
- }), !isEmpty && /*#__PURE__*/jsx("span", {
278
- children: selectedValueRender?.(value)
279
- })]
280
- })]
281
- });
282
- };
283
-
284
- /**
285
- * Select component.
286
- *
287
- * @param props Component props.
288
- * @param ref Component ref.
289
- * @return React element.
290
- */
291
- const Select = forwardRef((props, ref) => {
292
- const isEmpty$1 = isEmpty(props.value);
293
- const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty$1;
294
- return WithSelectContext(SelectField, {
295
- ...DEFAULT_PROPS$1,
296
- ...props,
297
- className: classNames(props.className, handleBasicClasses({
298
- hasInputClear,
299
- hasUnique: !props.isEmpty,
300
- prefix: CLASSNAME$1
301
- })),
302
- hasInputClear,
303
- isEmpty: isEmpty$1
304
- }, ref);
305
- });
306
- Select.displayName = COMPONENT_NAME$1;
307
- Select.className = CLASSNAME$1;
308
- Select.defaultProps = DEFAULT_PROPS$1;
309
- Select.className = CLASSNAME$1;
310
-
311
- /** The display name of the component. */
312
- const COMPONENT_NAME = 'Select';
313
-
314
- /** The default class name and classes prefix for this component. */
315
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
316
-
317
- /** The default value of props. */
318
- const DEFAULT_PROPS = {
319
- selectedChipRender(choice, index, onClear, isDisabled, theme) {
320
- const onClick = event => onClear && onClear(event, choice);
321
- return /*#__PURE__*/jsx(Chip, {
322
- after: onClear && /*#__PURE__*/jsx(Icon, {
323
- icon: mdiClose,
324
- size: Size.xxs
325
- }),
326
- isDisabled: isDisabled,
327
- size: Size.s,
328
- onAfterClick: onClick,
329
- onClick: onClick,
330
- theme: theme,
331
- children: choice
332
- }, index);
333
- },
334
- selectedValueRender: choice => choice,
335
- variant: SelectVariant.input
336
- };
337
- const SelectMultipleField = props => {
338
- const defaultTheme = useTheme();
339
- const {
340
- anchorRef,
341
- handleKeyboardNav,
342
- hasError,
343
- icon,
344
- id,
345
- isDisabled,
346
- isEmpty,
347
- isRequired,
348
- isValid,
349
- label,
350
- onClear,
351
- onInputClick,
352
- placeholder,
353
- selectedChipRender,
354
- selectedValueRender,
355
- theme = defaultTheme,
356
- value,
357
- variant,
358
- selectElementRef,
359
- ...forwardedProps
360
- } = props;
361
- return /*#__PURE__*/jsxs(Fragment, {
362
- children: [variant === SelectVariant.input && /*#__PURE__*/jsxs(Fragment, {
363
- children: [label && /*#__PURE__*/jsx("div", {
364
- className: `${CLASSNAME}__header`,
365
- children: /*#__PURE__*/jsx(InputLabel, {
366
- htmlFor: id,
367
- className: `${CLASSNAME}__label`,
368
- isRequired: isRequired,
369
- theme: theme,
370
- children: label
371
- })
372
- }), /*#__PURE__*/jsxs("div", {
373
- ref: mergeRefs(anchorRef, selectElementRef),
374
- id: id,
375
- className: `${CLASSNAME}__wrapper`,
376
- onClick: onInputClick,
377
- onKeyDown: handleKeyboardNav,
378
- tabIndex: isDisabled ? undefined : 0,
379
- "aria-disabled": isDisabled || undefined,
380
- ...forwardedProps,
381
- children: [icon && /*#__PURE__*/jsx(Icon, {
382
- className: `${CLASSNAME}__input-icon`,
383
- color: theme === Theme.dark ? 'light' : undefined,
384
- icon: icon,
385
- size: Size.xs
386
- }), /*#__PURE__*/jsx("div", {
387
- className: `${CLASSNAME}__chips`,
388
- children: !isEmpty && value.map((val, index) => selectedChipRender?.(val, index, onClear, isDisabled, theme))
389
- }), isEmpty && placeholder && /*#__PURE__*/jsx("div", {
390
- className: classNames([`${CLASSNAME}__input-native`, `${CLASSNAME}__input-native--placeholder`]),
391
- children: /*#__PURE__*/jsx("span", {
392
- children: placeholder
393
- })
394
- }), (isValid || hasError) && /*#__PURE__*/jsx("div", {
395
- className: `${CLASSNAME}__input-validity`,
396
- children: /*#__PURE__*/jsx(Icon, {
397
- icon: isValid ? mdiCheckCircle : mdiAlertCircle,
398
- size: Size.xxs
399
- })
400
- }), /*#__PURE__*/jsx("div", {
401
- className: `${CLASSNAME}__input-indicator`,
402
- children: /*#__PURE__*/jsx(Icon, {
403
- icon: mdiMenuDown,
404
- size: Size.s
405
- })
406
- })]
407
- })]
408
- }), variant === SelectVariant.chip && /*#__PURE__*/jsxs(Chip, {
409
- id: id,
410
- isSelected: !isEmpty,
411
- isDisabled: isDisabled,
412
- after: /*#__PURE__*/jsx(Icon, {
413
- icon: isEmpty ? mdiMenuDown : mdiCloseCircle
414
- }),
415
- onAfterClick: isEmpty ? onInputClick : onClear,
416
- onClick: onInputClick,
417
- ref: mergeRefs(anchorRef, selectElementRef),
418
- theme: theme,
419
- ...forwardedProps,
420
- children: [isEmpty && /*#__PURE__*/jsx("span", {
421
- children: label
422
- }), !isEmpty && /*#__PURE__*/jsxs("span", {
423
- children: [/*#__PURE__*/jsx("span", {
424
- children: selectedValueRender?.(value[0])
425
- }), value.length > 1 && /*#__PURE__*/jsxs("span", {
426
- children: ["\xA0+", value.length - 1]
427
- })]
428
- })]
429
- })]
430
- });
431
- };
432
-
433
- /**
434
- * SelectMultiple component.
435
- *
436
- * @param props Component props.
437
- * @param ref Component ref.
438
- * @return React element.
439
- */
440
- const SelectMultiple = forwardRef((props, ref) => {
441
- return WithSelectContext(SelectMultipleField, {
442
- ...DEFAULT_PROPS,
443
- ...props,
444
- className: classNames(props.className, handleBasicClasses({
445
- hasMultiple: !props.isEmpty,
446
- prefix: CLASSNAME
447
- })),
448
- isEmpty: props.value.length === 0,
449
- isMultiple: true
450
- }, ref);
451
- });
452
- SelectMultiple.displayName = COMPONENT_NAME;
453
- SelectMultiple.className = CLASSNAME;
454
- SelectMultiple.defaultProps = DEFAULT_PROPS;
455
-
456
- export { Select, SelectMultiple, SelectMultipleField, SelectVariant };
457
- //# sourceMappingURL=297bed8f.js.map