@lumx/react 3.0.1 → 3.0.2-alpha-react-utils.2

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 (619) hide show
  1. package/{esm/_internal/useDisableBodyScroll.js → _internal/0062d1bc.js} +1 -1
  2. package/_internal/0062d1bc.js.map +1 -0
  3. package/_internal/03e8323d.d.ts +118 -0
  4. package/_internal/0402f9bc.d.ts +183 -0
  5. package/{esm/_internal/List2.js → _internal/0b370acc.js} +7 -10
  6. package/_internal/0b370acc.js.map +1 -0
  7. package/_internal/0d154d73.d.ts +67 -0
  8. package/_internal/113e3b40.d.ts +31 -0
  9. package/{esm/_internal/InputLabel.js → _internal/12ab39e4.js} +4 -4
  10. package/_internal/12ab39e4.js.map +1 -0
  11. package/{esm/_internal/DatePickerField.js → _internal/13e759f3.js} +10 -14
  12. package/_internal/13e759f3.js.map +1 -0
  13. package/{esm/_internal/SideNavigationItem.js → _internal/158b46d5.js} +8 -8
  14. package/_internal/158b46d5.js.map +1 -0
  15. package/_internal/17b74e16.d.ts +31 -0
  16. package/_internal/1b1530a4.d.ts +43 -0
  17. package/_internal/20976405.js +87 -0
  18. package/_internal/20976405.js.map +1 -0
  19. package/_internal/20b0e9a5.d.ts +77 -0
  20. package/{esm/_internal/Chip2.js → _internal/26cd9c63.js} +4 -4
  21. package/_internal/26cd9c63.js.map +1 -0
  22. package/{esm/_internal/ListSubheader.js → _internal/27f21164.js} +3 -3
  23. package/_internal/27f21164.js.map +1 -0
  24. package/{esm/_internal/constants.js → _internal/288dfd0f.js} +1 -1
  25. package/_internal/288dfd0f.js.map +1 -0
  26. package/_internal/28aaf23a.d.ts +41 -0
  27. package/_internal/2c829c0b.d.ts +57 -0
  28. package/{esm/_internal/useFocusTrap.js → _internal/2cc0aec5.js} +3 -3
  29. package/_internal/2cc0aec5.js.map +1 -0
  30. package/{esm/_internal/types.js → _internal/2d0a5b28.js} +3 -3
  31. package/_internal/2d0a5b28.js.map +1 -0
  32. package/_internal/2d4b5a5e.d.ts +92 -0
  33. package/_internal/2d770113.d.ts +38 -0
  34. package/{esm/_internal/TableRow.js → _internal/2fe97f00.js} +5 -5
  35. package/_internal/2fe97f00.js.map +1 -0
  36. package/_internal/31c16fa0.d.ts +37 -0
  37. package/{esm/_internal/renderLink.js → _internal/329a01d3.js} +2 -2
  38. package/_internal/329a01d3.js.map +1 -0
  39. package/{esm/_internal/SkeletonTypography.js → _internal/3326e990.js} +4 -4
  40. package/_internal/3326e990.js.map +1 -0
  41. package/{esm/_internal/IconButton.js → _internal/377b2f44.js} +7 -11
  42. package/_internal/377b2f44.js.map +1 -0
  43. package/{esm/_internal/CommentBlock.js → _internal/3b8d2a6e.js} +6 -6
  44. package/_internal/3b8d2a6e.js.map +1 -0
  45. package/_internal/3bd3186e.d.ts +57 -0
  46. package/{esm/_internal/ImageBlock.js → _internal/48e40868.js} +5 -5
  47. package/_internal/48e40868.js.map +1 -0
  48. package/{esm/_internal/TextField.js → _internal/490ec1da.js} +10 -10
  49. package/_internal/490ec1da.js.map +1 -0
  50. package/_internal/49127d69.d.ts +52 -0
  51. package/{esm/_internal/Message2.js → _internal/4dcd87cb.js} +5 -5
  52. package/_internal/4dcd87cb.js.map +1 -0
  53. package/{esm/_internal/Dropdown2.js → _internal/4f44d848.js} +6 -6
  54. package/_internal/4f44d848.js.map +1 -0
  55. package/{esm/_internal/partitionMulti.js → _internal/4fc64a2e.js} +2 -2
  56. package/_internal/4fc64a2e.js.map +1 -0
  57. package/_internal/53a831be.js +108 -0
  58. package/_internal/53a831be.js.map +1 -0
  59. package/_internal/55271fa1.d.ts +34 -0
  60. package/_internal/55d30377.d.ts +22 -0
  61. package/{esm/_internal/Switch2.js → _internal/56385b04.js} +7 -7
  62. package/_internal/56385b04.js.map +1 -0
  63. package/_internal/599e250a.d.ts +88 -0
  64. package/_internal/5a054691.d.ts +33 -0
  65. package/{esm/_internal/Avatar2.js → _internal/5a127b58.js} +5 -5
  66. package/_internal/5a127b58.js.map +1 -0
  67. package/{esm/_internal/ExpansionPanel.js → _internal/5a1c0db4.js} +10 -10
  68. package/_internal/5a1c0db4.js.map +1 -0
  69. package/{esm/_internal/RadioGroup.js → _internal/5babcc39.js} +7 -7
  70. package/_internal/5babcc39.js.map +1 -0
  71. package/_internal/5c1bf4d4.d.ts +81 -0
  72. package/_internal/5d8ed4ee.js +113 -0
  73. package/_internal/5d8ed4ee.js.map +1 -0
  74. package/{esm/_internal/Thumbnail2.js → _internal/616f2912.js} +6 -6
  75. package/_internal/616f2912.js.map +1 -0
  76. package/_internal/61f915de.d.ts +49 -0
  77. package/{esm/_internal/ChipGroup.js → _internal/620081fa.js} +4 -4
  78. package/_internal/620081fa.js.map +1 -0
  79. package/{esm/_internal/_rollupPluginBabelHelpers.js → _internal/6340c129.js} +18 -2
  80. package/_internal/6340c129.js.map +1 -0
  81. package/_internal/6581c863.d.ts +34 -0
  82. package/_internal/66de4d45.d.ts +32 -0
  83. package/_internal/6735c5c8.d.ts +62 -0
  84. package/_internal/69dd1472.js +112 -0
  85. package/_internal/69dd1472.js.map +1 -0
  86. package/{esm/_internal/Slider2.js → _internal/6a0e1c77.js} +7 -7
  87. package/_internal/6a0e1c77.js.map +1 -0
  88. package/_internal/701c20b0.d.ts +24 -0
  89. package/{esm/_internal/Progress2.js → _internal/7391188a.js} +4 -4
  90. package/_internal/7391188a.js.map +1 -0
  91. package/{esm/_internal/ButtonRoot.js → _internal/74cb6c26.js} +6 -5
  92. package/_internal/74cb6c26.js.map +1 -0
  93. package/{esm/_internal/ProgressTrackerStepPanel.js → _internal/761031bf.js} +11 -9
  94. package/_internal/761031bf.js.map +1 -0
  95. package/{esm/_internal/DragHandle.js → _internal/76fed69d.js} +5 -5
  96. package/_internal/76fed69d.js.map +1 -0
  97. package/{esm/_internal/type.js → _internal/78ef8e34.js} +1 -1
  98. package/_internal/78ef8e34.js.map +1 -0
  99. package/_internal/7b906e16.d.ts +17 -0
  100. package/_internal/7be11ddc.d.ts +35 -0
  101. package/_internal/7d39705e.d.ts +20 -0
  102. package/{esm/_internal/useDelayedVisibility.js → _internal/7e03266f.js} +2 -2
  103. package/_internal/7e03266f.js.map +1 -0
  104. package/{esm/_internal/Button2.js → _internal/7e8d0ac5.js} +6 -6
  105. package/_internal/7e8d0ac5.js.map +1 -0
  106. package/{esm/_internal/Flag2.js → _internal/7ffa45f6.js} +5 -5
  107. package/_internal/7ffa45f6.js.map +1 -0
  108. package/{esm/_internal/AutocompleteMultiple.js → _internal/84c1ec44.js} +10 -10
  109. package/_internal/84c1ec44.js.map +1 -0
  110. package/{esm/_internal/PostBlock.js → _internal/8518279f.js} +6 -6
  111. package/_internal/8518279f.js.map +1 -0
  112. package/{esm/_internal/mergeRefs.js → _internal/853713cd.js} +1 -1
  113. package/_internal/853713cd.js.map +1 -0
  114. package/_internal/86566d75.d.ts +27 -0
  115. package/_internal/86d22dde.d.ts +57 -0
  116. package/_internal/8e755ded.d.ts +101 -0
  117. package/_internal/901471f5.d.ts +37 -0
  118. package/_internal/935ce959.d.ts +49 -0
  119. package/_internal/97089888.d.ts +16 -0
  120. package/_internal/97cc728c.d.ts +26 -0
  121. package/{esm/_internal/Popover2.js → _internal/9ab3c637.js} +7 -6
  122. package/_internal/9ab3c637.js.map +1 -0
  123. package/{esm/_internal/Toolbar2.js → _internal/9ca3f59c.js} +3 -3
  124. package/_internal/9ca3f59c.js.map +1 -0
  125. package/_internal/9e95ea38.d.ts +43 -0
  126. package/{esm/_internal/Uploader2.js → _internal/a0108f92.js} +5 -5
  127. package/_internal/a0108f92.js.map +1 -0
  128. package/_internal/a493a193.d.ts +65 -0
  129. package/{esm/_internal/Icon2.js → _internal/a521723d.js} +4 -4
  130. package/_internal/a521723d.js.map +1 -0
  131. package/_internal/a6fad025.d.ts +107 -0
  132. package/{esm/_internal/Lightbox2.js → _internal/a8fa525f.js} +13 -12
  133. package/_internal/a8fa525f.js.map +1 -0
  134. package/{esm/_internal/AlertDialog.js → _internal/aca2ecf5.js} +9 -9
  135. package/_internal/aca2ecf5.js.map +1 -0
  136. package/{esm/_internal/Divider2.js → _internal/aef2ef1c.js} +5 -5
  137. package/_internal/aef2ef1c.js.map +1 -0
  138. package/{esm/_internal/Mosaic2.js → _internal/af048b0c.js} +5 -5
  139. package/_internal/af048b0c.js.map +1 -0
  140. package/_internal/af2cd0cd.d.ts +17 -0
  141. package/{esm/_internal/Slides.js → _internal/afec6b62.js} +278 -87
  142. package/_internal/afec6b62.js.map +1 -0
  143. package/{esm/_internal/InputHelper.js → _internal/b0eb3a30.js} +4 -4
  144. package/_internal/b0eb3a30.js.map +1 -0
  145. package/{esm/_internal/Dialog2.js → _internal/b89517ea.js} +14 -13
  146. package/_internal/b89517ea.js.map +1 -0
  147. package/{esm/_internal/Checkbox2.js → _internal/bafa6fcc.js} +8 -8
  148. package/_internal/bafa6fcc.js.map +1 -0
  149. package/{esm/_internal/ButtonGroup.js → _internal/bbbeb49e.js} +3 -7
  150. package/_internal/bbbeb49e.js.map +1 -0
  151. package/_internal/c11f6162.d.ts +52 -0
  152. package/{esm/_internal/Notification2.js → _internal/c723dab4.js} +8 -8
  153. package/_internal/c723dab4.js.map +1 -0
  154. package/_internal/c87cc857.d.ts +42 -0
  155. package/{esm/_internal/SelectMultiple.js → _internal/c97f8d04.js} +13 -13
  156. package/_internal/c97f8d04.js.map +1 -0
  157. package/_internal/cbb373ea.d.ts +6 -0
  158. package/_internal/cbef23b6.d.ts +104 -0
  159. package/_internal/cdf77f06.d.ts +88 -0
  160. package/{esm/_internal/LinkPreview.js → _internal/d350f2ff.js} +6 -6
  161. package/_internal/d350f2ff.js.map +1 -0
  162. package/{esm/_internal/Badge2.js → _internal/d71a8cf7.js} +4 -4
  163. package/_internal/d71a8cf7.js.map +1 -0
  164. package/{esm/_internal/GridItem.js → _internal/d9337952.js} +4 -4
  165. package/_internal/d9337952.js.map +1 -0
  166. package/_internal/def14e1a.d.ts +24 -0
  167. package/_internal/e0cd29c7.d.ts +35 -0
  168. package/{esm/_internal/useRovingTabIndex.js → _internal/e354228f.js} +4 -81
  169. package/_internal/e354228f.js.map +1 -0
  170. package/_internal/e3922a05.d.ts +22 -0
  171. package/_internal/e3cb6177.d.ts +75 -0
  172. package/_internal/e810c841.d.ts +182 -0
  173. package/_internal/ea700b01.d.ts +43 -0
  174. package/_internal/eca6d4dc.d.ts +269 -0
  175. package/{esm/_internal/Link2.js → _internal/eed07003.js} +6 -6
  176. package/_internal/eed07003.js.map +1 -0
  177. package/_internal/f1c9b334.d.ts +22 -0
  178. package/{esm/_internal/TabPanel.js → _internal/f3c3a674.js} +9 -7
  179. package/_internal/f3c3a674.js.map +1 -0
  180. package/{esm/_internal/UserBlock.js → _internal/f571cdcd.js} +6 -6
  181. package/_internal/f571cdcd.js.map +1 -0
  182. package/{esm/_internal/Tooltip2.js → _internal/f5bdff7e.js} +8 -8
  183. package/_internal/f5bdff7e.js.map +1 -0
  184. package/_internal/f851fc00.d.ts +34 -0
  185. package/_internal/f859b007.d.ts +49 -0
  186. package/_internal/fb384b79.d.ts +38 -0
  187. package/_internal/fc4c034b.js +63 -0
  188. package/_internal/fc4c034b.js.map +1 -0
  189. package/{esm/index2.js → _internal/fc608bd9.js} +1 -1
  190. package/_internal/fc608bd9.js.map +1 -0
  191. package/_internal/fd1f4d68.d.ts +36 -0
  192. package/{esm/_internal/getRootClassName.js → _internal/fd867c9d.js} +33 -33
  193. package/_internal/fd867c9d.js.map +1 -0
  194. package/{esm/_internal/FlexBox.js → _internal/ff8081e5.js} +9 -7
  195. package/_internal/ff8081e5.js.map +1 -0
  196. package/{esm/_internal/GenericBlock.js → _internal/ffd1bfe3.js} +7 -9
  197. package/_internal/ffd1bfe3.js.map +1 -0
  198. package/components/alert-dialog.d.ts +6 -0
  199. package/components/alert-dialog.js +2 -0
  200. package/{esm/_internal → components}/alert-dialog.js.map +1 -1
  201. package/components/autocomplete.d.ts +8 -0
  202. package/components/autocomplete.js +2 -0
  203. package/{esm/_internal → components}/autocomplete.js.map +1 -1
  204. package/components/avatar.d.ts +4 -0
  205. package/components/avatar.js +2 -0
  206. package/{esm/_internal → components}/avatar.js.map +1 -1
  207. package/components/badge.d.ts +3 -0
  208. package/components/badge.js +2 -0
  209. package/{esm/_internal → components}/badge.js.map +1 -1
  210. package/components/button.d.ts +8 -0
  211. package/components/button.js +4 -0
  212. package/{esm/_internal → components}/button.js.map +1 -1
  213. package/components/checkbox.d.ts +3 -0
  214. package/components/checkbox.js +2 -0
  215. package/{esm/_internal → components}/checkbox.js.map +1 -1
  216. package/components/chip.d.ts +3 -0
  217. package/components/chip.js +3 -0
  218. package/{esm/_internal → components}/chip.js.map +1 -1
  219. package/components/comment-block.d.ts +5 -0
  220. package/components/comment-block.js +2 -0
  221. package/{esm/_internal → components}/comment-block.js.map +1 -1
  222. package/components/date-picker.d.ts +7 -0
  223. package/components/date-picker.js +2 -0
  224. package/{esm/_internal → components}/date-picker.js.map +1 -1
  225. package/components/dialog.d.ts +3 -0
  226. package/components/dialog.js +2 -0
  227. package/{esm/_internal → components}/dialog.js.map +1 -1
  228. package/components/divider.d.ts +3 -0
  229. package/components/divider.js +2 -0
  230. package/{esm/_internal → components}/divider.js.map +1 -1
  231. package/components/drag-handle.d.ts +3 -0
  232. package/components/drag-handle.js +2 -0
  233. package/{esm/_internal → components}/drag-handle.js.map +1 -1
  234. package/components/dropdown.d.ts +4 -0
  235. package/components/dropdown.js +2 -0
  236. package/{esm/_internal → components}/dropdown.js.map +1 -1
  237. package/components/expansion-panel.d.ts +7 -0
  238. package/components/expansion-panel.js +2 -0
  239. package/components/expansion-panel.js.map +1 -0
  240. package/components/flag.d.ts +3 -0
  241. package/components/flag.js +2 -0
  242. package/{esm/_internal → components}/flag.js.map +1 -1
  243. package/components/flex-box.d.ts +3 -0
  244. package/components/flex-box.js +2 -0
  245. package/{esm/_internal → components}/flex-box.js.map +1 -1
  246. package/components/generic-block.d.ts +4 -0
  247. package/components/generic-block.js +2 -0
  248. package/{esm/_internal → components}/generic-block.js.map +1 -1
  249. package/components/grid.d.ts +3 -0
  250. package/components/grid.js +2 -0
  251. package/{esm/_internal → components}/grid.js.map +1 -1
  252. package/components/heading.d.ts +4 -0
  253. package/components/heading.js +2 -0
  254. package/components/heading.js.map +1 -0
  255. package/components/icon.d.ts +3 -0
  256. package/components/icon.js +2 -0
  257. package/{esm/_internal → components}/icon.js.map +1 -1
  258. package/components/image-block.d.ts +4 -0
  259. package/components/image-block.js +2 -0
  260. package/{esm/_internal → components}/image-block.js.map +1 -1
  261. package/components/input-helper.d.ts +3 -0
  262. package/components/input-helper.js +2 -0
  263. package/{esm/_internal → components}/input-helper.js.map +1 -1
  264. package/components/input-label.d.ts +3 -0
  265. package/components/input-label.js +2 -0
  266. package/{esm/_internal → components}/input-label.js.map +1 -1
  267. package/components/lightbox.d.ts +7 -0
  268. package/components/lightbox.js +2 -0
  269. package/{esm/_internal → components}/lightbox.js.map +1 -1
  270. package/components/link-preview.d.ts +5 -0
  271. package/components/link-preview.js +2 -0
  272. package/{esm/_internal → components}/link-preview.js.map +1 -1
  273. package/components/link.d.ts +3 -0
  274. package/components/link.js +2 -0
  275. package/{esm/_internal → components}/link.js.map +1 -1
  276. package/components/list.d.ts +3 -0
  277. package/components/list.js +3 -0
  278. package/{esm/_internal → components}/list.js.map +1 -1
  279. package/components/message.d.ts +3 -0
  280. package/components/message.js +2 -0
  281. package/{esm/_internal → components}/message.js.map +1 -1
  282. package/components/mosaic.d.ts +4 -0
  283. package/components/mosaic.js +2 -0
  284. package/{esm/_internal → components}/mosaic.js.map +1 -1
  285. package/components/notification.d.ts +3 -0
  286. package/components/notification.js +2 -0
  287. package/{esm/_internal → components}/notification.js.map +1 -1
  288. package/components/popover.d.ts +3 -0
  289. package/components/popover.js +2 -0
  290. package/{esm/_internal → components}/popover.js.map +1 -1
  291. package/components/post-block.d.ts +4 -0
  292. package/components/post-block.js +2 -0
  293. package/{esm/_internal → components}/post-block.js.map +1 -1
  294. package/components/progress-tracker.d.ts +3 -0
  295. package/components/progress-tracker.js +2 -0
  296. package/{esm/_internal → components}/progress-tracker.js.map +1 -1
  297. package/components/progress.d.ts +3 -0
  298. package/components/progress.js +2 -0
  299. package/{esm/_internal → components}/progress.js.map +1 -1
  300. package/components/radio-button.d.ts +3 -0
  301. package/components/radio-button.js +2 -0
  302. package/{esm/_internal → components}/radio-button.js.map +1 -1
  303. package/components/select.d.ts +7 -0
  304. package/components/select.js +2 -0
  305. package/{esm/_internal → components}/select.js.map +1 -1
  306. package/components/side-navigation.d.ts +7 -0
  307. package/components/side-navigation.js +2 -0
  308. package/{esm/_internal → components}/side-navigation.js.map +1 -1
  309. package/components/skeleton.d.ts +3 -0
  310. package/components/skeleton.js +2 -0
  311. package/{esm/_internal → components}/skeleton.js.map +1 -1
  312. package/components/slider.d.ts +3 -0
  313. package/components/slider.js +2 -0
  314. package/{esm/_internal → components}/slider.js.map +1 -1
  315. package/components/slideshow.d.ts +7 -0
  316. package/components/slideshow.js +2 -0
  317. package/{esm/_internal → components}/slideshow.js.map +1 -1
  318. package/components/switch.d.ts +3 -0
  319. package/components/switch.js +2 -0
  320. package/{esm/_internal → components}/switch.js.map +1 -1
  321. package/components/table.d.ts +3 -0
  322. package/components/table.js +2 -0
  323. package/{esm/_internal → components}/table.js.map +1 -1
  324. package/components/tabs.d.ts +4 -0
  325. package/components/tabs.js +2 -0
  326. package/{esm/_internal → components}/tabs.js.map +1 -1
  327. package/components/text-field.d.ts +7 -0
  328. package/components/text-field.js +2 -0
  329. package/{esm/_internal → components}/text-field.js.map +1 -1
  330. package/components/text.d.ts +3 -0
  331. package/components/text.js +2 -0
  332. package/components/text.js.map +1 -0
  333. package/components/thumbnail.d.ts +4 -0
  334. package/components/thumbnail.js +3 -0
  335. package/{esm/_internal → components}/thumbnail.js.map +1 -1
  336. package/components/toolbar.d.ts +3 -0
  337. package/components/toolbar.js +2 -0
  338. package/{esm/_internal → components}/toolbar.js.map +1 -1
  339. package/components/tooltip.d.ts +4 -0
  340. package/components/tooltip.js +2 -0
  341. package/{esm/_internal → components}/tooltip.js.map +1 -1
  342. package/components/uploader.d.ts +3 -0
  343. package/components/uploader.js +2 -0
  344. package/{esm/_internal → components}/uploader.js.map +1 -1
  345. package/components/user-block.d.ts +5 -0
  346. package/components/user-block.js +2 -0
  347. package/{esm/_internal → components}/user-block.js.map +1 -1
  348. package/components.d.ts +2 -0
  349. package/{esm/_internal/components.js → components.js} +2 -1
  350. package/components.js.map +1 -0
  351. package/index.d.ts +56 -0
  352. package/index.js +57 -0
  353. package/{esm/index.js.map → index.js.map} +1 -1
  354. package/package.json +7 -7
  355. package/src/components/alert-dialog/AlertDialog.tsx +2 -1
  356. package/src/components/autocomplete/Autocomplete.tsx +2 -2
  357. package/src/components/autocomplete/AutocompleteMultiple.tsx +2 -1
  358. package/src/components/avatar/Avatar.tsx +2 -1
  359. package/src/components/badge/Badge.test.tsx +1 -1
  360. package/src/components/badge/Badge.tsx +2 -1
  361. package/src/components/button/Button.test.tsx +1 -1
  362. package/src/components/button/Button.tsx +2 -1
  363. package/src/components/button/ButtonGroup.tsx +2 -1
  364. package/src/components/button/ButtonRoot.test.tsx +1 -1
  365. package/src/components/button/ButtonRoot.tsx +2 -1
  366. package/src/components/button/IconButton.tsx +2 -1
  367. package/src/components/checkbox/Checkbox.test.tsx +1 -1
  368. package/src/components/checkbox/Checkbox.tsx +2 -1
  369. package/src/components/chip/Chip.test.tsx +1 -1
  370. package/src/components/chip/Chip.tsx +3 -1
  371. package/src/components/chip/ChipGroup.tsx +2 -1
  372. package/src/components/comment-block/CommentBlock.tsx +2 -1
  373. package/src/components/date-picker/DatePicker.tsx +1 -1
  374. package/src/components/date-picker/DatePickerControlled.tsx +1 -1
  375. package/src/components/date-picker/DatePickerField.tsx +1 -1
  376. package/src/components/date-picker/constants.ts +1 -1
  377. package/src/components/date-picker/types.ts +1 -1
  378. package/src/components/dialog/Dialog.tsx +4 -8
  379. package/src/components/divider/Divider.test.tsx +1 -1
  380. package/src/components/divider/Divider.tsx +3 -2
  381. package/src/components/drag-handle/DragHandle.tsx +2 -1
  382. package/src/components/dropdown/Dropdown.tsx +2 -1
  383. package/src/components/expansion-panel/ExpansionPanel.test.tsx +1 -1
  384. package/src/components/expansion-panel/ExpansionPanel.tsx +3 -10
  385. package/src/components/flag/Flag.test.tsx +1 -1
  386. package/src/components/flag/Flag.tsx +2 -1
  387. package/src/components/flex-box/FlexBox.stories.tsx +68 -4
  388. package/src/components/flex-box/FlexBox.tsx +14 -7
  389. package/src/components/flex-box/__snapshots__/FlexBox.test.tsx.snap +51 -0
  390. package/src/components/generic-block/GenericBlock.stories.jsx +23 -1
  391. package/src/components/generic-block/GenericBlock.tsx +3 -1
  392. package/src/components/grid/Grid.tsx +2 -1
  393. package/src/components/grid/GridItem.tsx +2 -1
  394. package/src/components/heading/Heading.stories.tsx +108 -0
  395. package/src/components/heading/Heading.test.tsx +77 -0
  396. package/src/components/heading/Heading.tsx +63 -0
  397. package/src/components/heading/HeadingLevelProvider.tsx +30 -0
  398. package/src/components/heading/constants.ts +16 -0
  399. package/src/components/heading/context.tsx +13 -0
  400. package/src/components/heading/index.ts +3 -0
  401. package/src/components/heading/useHeadingLevel.tsx +8 -0
  402. package/src/components/icon/Icon.test.tsx +1 -1
  403. package/src/components/icon/Icon.tsx +2 -1
  404. package/src/components/image-block/ImageBlock.tsx +2 -1
  405. package/src/components/index.ts +2 -1
  406. package/src/components/input-helper/InputHelper.tsx +2 -1
  407. package/src/components/input-label/InputLabel.tsx +2 -1
  408. package/src/components/lightbox/Lightbox.tsx +2 -1
  409. package/src/components/link/Link.tsx +2 -1
  410. package/src/components/link-preview/LinkPreview.test.tsx +1 -1
  411. package/src/components/link-preview/LinkPreview.tsx +2 -1
  412. package/src/components/list/List.tsx +2 -1
  413. package/src/components/list/ListDivider.tsx +2 -1
  414. package/src/components/list/ListItem.tsx +3 -8
  415. package/src/components/list/ListSubheader.tsx +2 -1
  416. package/src/components/list/useInteractiveList.tsx +1 -1
  417. package/src/components/message/Message.test.tsx +1 -1
  418. package/src/components/message/Message.tsx +2 -1
  419. package/src/components/mosaic/Mosaic.tsx +2 -1
  420. package/src/components/notification/Notification.tsx +2 -1
  421. package/src/components/popover/Popover.tsx +2 -1
  422. package/src/components/post-block/PostBlock.tsx +2 -1
  423. package/src/components/progress/Progress.tsx +2 -1
  424. package/src/components/progress-tracker/ProgressTracker.tsx +2 -1
  425. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +1 -1
  426. package/src/components/progress-tracker/ProgressTrackerStep.tsx +2 -1
  427. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +2 -1
  428. package/src/components/radio-button/RadioButton.test.tsx +1 -1
  429. package/src/components/radio-button/RadioButton.tsx +2 -1
  430. package/src/components/radio-button/RadioGroup.tsx +2 -1
  431. package/src/components/select/Select.test.tsx +1 -1
  432. package/src/components/select/Select.tsx +2 -1
  433. package/src/components/select/SelectMultiple.test.tsx +1 -1
  434. package/src/components/select/SelectMultiple.tsx +2 -1
  435. package/src/components/select/WithSelectContext.tsx +1 -1
  436. package/src/components/select/constants.ts +1 -1
  437. package/src/components/side-navigation/SideNavigation.tsx +2 -1
  438. package/src/components/side-navigation/SideNavigationItem.test.tsx +1 -1
  439. package/src/components/side-navigation/SideNavigationItem.tsx +3 -9
  440. package/src/components/skeleton/SkeletonCircle.tsx +2 -1
  441. package/src/components/skeleton/SkeletonRectangle.tsx +2 -1
  442. package/src/components/skeleton/SkeletonTypography.tsx +2 -1
  443. package/src/components/slider/Slider.tsx +2 -1
  444. package/src/components/slideshow/Slides.tsx +35 -4
  445. package/src/components/slideshow/Slideshow.stories.tsx +98 -2
  446. package/src/components/slideshow/Slideshow.tsx +16 -4
  447. package/src/components/slideshow/SlideshowControls.stories.tsx +1 -1
  448. package/src/components/slideshow/SlideshowControls.tsx +51 -12
  449. package/src/components/slideshow/SlideshowItem.tsx +2 -6
  450. package/src/components/slideshow/SlideshowItemGroup.tsx +64 -0
  451. package/src/components/slideshow/__snapshots__/Slideshow.test.tsx.snap +4 -1
  452. package/src/components/slideshow/useSlideFocusManagement.tsx +92 -0
  453. package/src/components/switch/Switch.test.tsx +1 -1
  454. package/src/components/switch/Switch.tsx +2 -1
  455. package/src/components/table/Table.tsx +2 -1
  456. package/src/components/table/TableBody.tsx +2 -1
  457. package/src/components/table/TableCell.tsx +3 -1
  458. package/src/components/table/TableHeader.tsx +2 -1
  459. package/src/components/table/TableRow.tsx +2 -1
  460. package/src/components/tabs/Tab.test.tsx +1 -1
  461. package/src/components/tabs/Tab.tsx +2 -1
  462. package/src/components/tabs/TabList.test.tsx +1 -1
  463. package/src/components/tabs/TabList.tsx +2 -1
  464. package/src/components/tabs/TabPanel.tsx +2 -1
  465. package/src/components/text/Text.stories.tsx +80 -0
  466. package/src/components/text/Text.test.tsx +62 -0
  467. package/src/components/text/Text.tsx +95 -0
  468. package/src/components/text/index.ts +1 -0
  469. package/src/components/text-field/TextField.test.tsx +1 -1
  470. package/src/components/text-field/TextField.tsx +2 -1
  471. package/src/components/thumbnail/Thumbnail.tsx +2 -1
  472. package/src/components/thumbnail/types.ts +1 -1
  473. package/src/components/toolbar/Toolbar.tsx +2 -1
  474. package/src/components/tooltip/Tooltip.tsx +2 -1
  475. package/src/components/tooltip/useTooltipOpen.tsx +1 -1
  476. package/src/components/uploader/Uploader.test.tsx +1 -1
  477. package/src/components/uploader/Uploader.tsx +2 -1
  478. package/src/components/user-block/UserBlock.tsx +2 -1
  479. package/src/hooks/useCallbackOnEscape.ts +2 -1
  480. package/src/hooks/useClickAway.tsx +1 -1
  481. package/src/hooks/useDisableBodyScroll.ts +1 -1
  482. package/src/hooks/useFocusTrap.ts +1 -1
  483. package/src/hooks/useInterval.tsx +1 -1
  484. package/src/hooks/useOnResize.ts +1 -1
  485. package/src/hooks/useRovingTabIndex.tsx +9 -0
  486. package/src/index.ts +6 -0
  487. package/src/testing/utils/commonTestsSuite.ts +1 -1
  488. package/src/utils/{getRootClassName.ts → className.ts} +2 -0
  489. package/src/utils/event.ts +1 -0
  490. package/src/utils/focus/constants.ts +5 -0
  491. package/src/utils/focus/getFirstAndLastFocusable.ts +4 -10
  492. package/src/utils/focus/getFocusableElements.test.ts +151 -0
  493. package/src/utils/focus/getFocusableElements.ts +7 -0
  494. package/src/utils/index.ts +5 -0
  495. package/src/utils/utils.test.ts +1 -1
  496. package/types.d.ts +96 -11
  497. package/utils/index.d.ts +29 -0
  498. package/utils/index.js +2 -0
  499. package/utils/index.js.map +1 -0
  500. package/esm/_internal/AlertDialog.js.map +0 -1
  501. package/esm/_internal/AutocompleteMultiple.js.map +0 -1
  502. package/esm/_internal/Avatar2.js.map +0 -1
  503. package/esm/_internal/Badge2.js.map +0 -1
  504. package/esm/_internal/Button2.js.map +0 -1
  505. package/esm/_internal/ButtonGroup.js.map +0 -1
  506. package/esm/_internal/ButtonRoot.js.map +0 -1
  507. package/esm/_internal/Checkbox2.js.map +0 -1
  508. package/esm/_internal/Chip2.js.map +0 -1
  509. package/esm/_internal/ChipGroup.js.map +0 -1
  510. package/esm/_internal/ClickAwayProvider.js +0 -213
  511. package/esm/_internal/ClickAwayProvider.js.map +0 -1
  512. package/esm/_internal/CommentBlock.js.map +0 -1
  513. package/esm/_internal/DatePickerField.js.map +0 -1
  514. package/esm/_internal/Dialog2.js.map +0 -1
  515. package/esm/_internal/Divider2.js.map +0 -1
  516. package/esm/_internal/DragHandle.js.map +0 -1
  517. package/esm/_internal/Dropdown2.js.map +0 -1
  518. package/esm/_internal/ExpansionPanel.js.map +0 -1
  519. package/esm/_internal/Flag2.js.map +0 -1
  520. package/esm/_internal/FlexBox.js.map +0 -1
  521. package/esm/_internal/GenericBlock.js.map +0 -1
  522. package/esm/_internal/GridItem.js.map +0 -1
  523. package/esm/_internal/Icon2.js.map +0 -1
  524. package/esm/_internal/IconButton.js.map +0 -1
  525. package/esm/_internal/ImageBlock.js.map +0 -1
  526. package/esm/_internal/InputHelper.js.map +0 -1
  527. package/esm/_internal/InputLabel.js.map +0 -1
  528. package/esm/_internal/Lightbox2.js.map +0 -1
  529. package/esm/_internal/Link2.js.map +0 -1
  530. package/esm/_internal/LinkPreview.js.map +0 -1
  531. package/esm/_internal/List2.js.map +0 -1
  532. package/esm/_internal/ListSubheader.js.map +0 -1
  533. package/esm/_internal/Message2.js.map +0 -1
  534. package/esm/_internal/Mosaic2.js.map +0 -1
  535. package/esm/_internal/Notification2.js.map +0 -1
  536. package/esm/_internal/Popover2.js.map +0 -1
  537. package/esm/_internal/PostBlock.js.map +0 -1
  538. package/esm/_internal/Progress2.js.map +0 -1
  539. package/esm/_internal/ProgressTrackerStepPanel.js.map +0 -1
  540. package/esm/_internal/RadioGroup.js.map +0 -1
  541. package/esm/_internal/SelectMultiple.js.map +0 -1
  542. package/esm/_internal/SideNavigationItem.js.map +0 -1
  543. package/esm/_internal/SkeletonTypography.js.map +0 -1
  544. package/esm/_internal/Slider2.js.map +0 -1
  545. package/esm/_internal/Slides.js.map +0 -1
  546. package/esm/_internal/Switch2.js.map +0 -1
  547. package/esm/_internal/TabPanel.js.map +0 -1
  548. package/esm/_internal/TableRow.js.map +0 -1
  549. package/esm/_internal/TextField.js.map +0 -1
  550. package/esm/_internal/Thumbnail2.js.map +0 -1
  551. package/esm/_internal/Toolbar2.js.map +0 -1
  552. package/esm/_internal/Tooltip2.js.map +0 -1
  553. package/esm/_internal/Uploader2.js.map +0 -1
  554. package/esm/_internal/UserBlock.js.map +0 -1
  555. package/esm/_internal/_rollupPluginBabelHelpers.js.map +0 -1
  556. package/esm/_internal/alert-dialog.js +0 -34
  557. package/esm/_internal/autocomplete.js +0 -32
  558. package/esm/_internal/avatar.js +0 -13
  559. package/esm/_internal/badge.js +0 -10
  560. package/esm/_internal/button.js +0 -25
  561. package/esm/_internal/checkbox.js +0 -14
  562. package/esm/_internal/chip.js +0 -12
  563. package/esm/_internal/comment-block.js +0 -24
  564. package/esm/_internal/components.js.map +0 -1
  565. package/esm/_internal/constants.js.map +0 -1
  566. package/esm/_internal/date-picker.js +0 -32
  567. package/esm/_internal/dialog.js +0 -27
  568. package/esm/_internal/divider.js +0 -10
  569. package/esm/_internal/drag-handle.js +0 -11
  570. package/esm/_internal/dropdown.js +0 -21
  571. package/esm/_internal/expansion-panel.js +0 -32
  572. package/esm/_internal/expansion-panel.js.map +0 -1
  573. package/esm/_internal/flag.js +0 -11
  574. package/esm/_internal/flex-box.js +0 -11
  575. package/esm/_internal/generic-block.js +0 -20
  576. package/esm/_internal/getRootClassName.js.map +0 -1
  577. package/esm/_internal/grid.js +0 -10
  578. package/esm/_internal/icon.js +0 -10
  579. package/esm/_internal/image-block.js +0 -14
  580. package/esm/_internal/input-helper.js +0 -10
  581. package/esm/_internal/input-label.js +0 -10
  582. package/esm/_internal/lightbox.js +0 -27
  583. package/esm/_internal/link-preview.js +0 -15
  584. package/esm/_internal/link.js +0 -12
  585. package/esm/_internal/list.js +0 -15
  586. package/esm/_internal/mergeRefs.js.map +0 -1
  587. package/esm/_internal/message.js +0 -11
  588. package/esm/_internal/mosaic.js +0 -14
  589. package/esm/_internal/notification.js +0 -18
  590. package/esm/_internal/partitionMulti.js.map +0 -1
  591. package/esm/_internal/popover.js +0 -15
  592. package/esm/_internal/post-block.js +0 -15
  593. package/esm/_internal/progress-tracker.js +0 -16
  594. package/esm/_internal/progress.js +0 -10
  595. package/esm/_internal/radio-button.js +0 -13
  596. package/esm/_internal/renderLink.js.map +0 -1
  597. package/esm/_internal/select.js +0 -31
  598. package/esm/_internal/side-navigation.js +0 -25
  599. package/esm/_internal/skeleton.js +0 -10
  600. package/esm/_internal/slider.js +0 -13
  601. package/esm/_internal/slideshow.js +0 -27
  602. package/esm/_internal/switch.js +0 -13
  603. package/esm/_internal/table.js +0 -12
  604. package/esm/_internal/tabs.js +0 -14
  605. package/esm/_internal/text-field.js +0 -26
  606. package/esm/_internal/thumbnail.js +0 -13
  607. package/esm/_internal/toolbar.js +0 -9
  608. package/esm/_internal/tooltip.js +0 -18
  609. package/esm/_internal/type.js.map +0 -1
  610. package/esm/_internal/types.js.map +0 -1
  611. package/esm/_internal/uploader.js +0 -11
  612. package/esm/_internal/useDelayedVisibility.js.map +0 -1
  613. package/esm/_internal/useDisableBodyScroll.js.map +0 -1
  614. package/esm/_internal/useFocusTrap.js.map +0 -1
  615. package/esm/_internal/useRovingTabIndex.js.map +0 -1
  616. package/esm/_internal/user-block.js +0 -17
  617. package/esm/index.js +0 -91
  618. package/esm/index2.js.map +0 -1
  619. package/src/utils/index.tsx +0 -7
@@ -0,0 +1,62 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { l as GenericProps, m as HasTheme, k as Comp, E as Emphasis } from './eca6d4dc.js';
3
+ import { I as IconButtonProps } from './2d770113.js';
4
+
5
+ /**
6
+ * Defines the props of the component.
7
+ */
8
+ interface SideNavigationProps extends GenericProps, HasTheme {
9
+ /** SideNavigationItem elements. */
10
+ children: ReactNode;
11
+ }
12
+ /**
13
+ * SideNavigation component.
14
+ *
15
+ * @param props Component props.
16
+ * @param ref Component ref.
17
+ * @return React element.
18
+ */
19
+ declare const SideNavigation: Comp<SideNavigationProps, HTMLUListElement>;
20
+
21
+ /**
22
+ * Defines the props of the component.
23
+ */
24
+ interface SideNavigationItemProps extends GenericProps {
25
+ /** SideNavigationItem elements. */
26
+ children?: ReactNode;
27
+ /** Emphasis variant. */
28
+ emphasis?: Emphasis;
29
+ /** Label content. */
30
+ label: string | ReactNode;
31
+ /** Icon (SVG path). */
32
+ icon?: string;
33
+ /** Whether the component is open or not. */
34
+ isOpen?: boolean;
35
+ /** Whether the component is selected or not. */
36
+ isSelected?: boolean;
37
+ /** Custom react component for the link (can be used to inject react router Link). */
38
+ linkAs?: 'a' | any;
39
+ /** Props to pass to the link (minus those already set by the SideNavigationItem props). */
40
+ linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
41
+ /** Props to pass to the toggle button (minus those already set by the SideNavigationItem props). */
42
+ toggleButtonProps: Pick<IconButtonProps, 'label'> & Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color' | 'size'>;
43
+ /**
44
+ * Choose how the children are hidden when closed
45
+ * ('hide' keeps the children in DOM but hide them, 'unmount' remove the children from the DOM).
46
+ */
47
+ closeMode?: 'hide' | 'unmount';
48
+ /** On action button click callback. */
49
+ onActionClick?(evt: React.MouseEvent): void;
50
+ /** On click callback. */
51
+ onClick?(evt: React.MouseEvent): void;
52
+ }
53
+ /**
54
+ * SideNavigationItem component.
55
+ *
56
+ * @param props Component props.
57
+ * @param ref Component ref.
58
+ * @return React element.
59
+ */
60
+ declare const SideNavigationItem: Comp<SideNavigationItemProps, HTMLLIElement>;
61
+
62
+ export { SideNavigationProps as S, SideNavigation as a, SideNavigationItemProps as b, SideNavigationItem as c };
@@ -0,0 +1,112 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './6340c129.js';
2
+ import { Typography } from '../components.js';
3
+ import React, { createContext, forwardRef } from 'react';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './fd867c9d.js';
5
+ import { T as Text } from './fc4c034b.js';
6
+
7
+ /** The maximum authorized heading level. */
8
+
9
+ var MAX_HEADING_LEVEL = 6;
10
+ /**
11
+ * Typography to use by default depending on the heading level.
12
+ */
13
+
14
+ var DEFAULT_TYPOGRAPHY_BY_LEVEL = {
15
+ h1: Typography.display1,
16
+ h2: Typography.headline,
17
+ h3: Typography.title,
18
+ h4: Typography.subtitle2,
19
+ h5: Typography.subtitle1,
20
+ h6: Typography.body2
21
+ };
22
+
23
+ var defaultContext = {
24
+ level: 1,
25
+ headingElement: 'h1'
26
+ };
27
+ var HeadingLevelContext = createContext(defaultContext);
28
+
29
+ var useHeadingLevel = function useHeadingLevel() {
30
+ var _React$useContext = React.useContext(HeadingLevelContext),
31
+ _React$useContext$lev = _React$useContext.level,
32
+ level = _React$useContext$lev === void 0 ? 1 : _React$useContext$lev,
33
+ _React$useContext$hea = _React$useContext.headingElement,
34
+ headingElement = _React$useContext$hea === void 0 ? 'h1' : _React$useContext$hea;
35
+
36
+ return {
37
+ level: level,
38
+ headingElement: headingElement
39
+ };
40
+ };
41
+
42
+ /**
43
+ * Defines the props of the component.
44
+ */
45
+
46
+ /**
47
+ * Component display name.
48
+ */
49
+ var COMPONENT_NAME = 'Heading';
50
+ /**
51
+ * Component default class name and class prefix.
52
+ */
53
+
54
+ var CLASSNAME = getRootClassName(COMPONENT_NAME);
55
+ /**
56
+ * Component default props.
57
+ */
58
+
59
+ var DEFAULT_PROPS = {};
60
+ /**
61
+ * Renders a heading component.
62
+ * Extends the `Text` Component with the heading level automatically computed based on
63
+ * the current level provided by the context.
64
+ */
65
+
66
+ var Heading = forwardRef(function (props, ref) {
67
+ var children = props.children,
68
+ as = props.as,
69
+ className = props.className,
70
+ forwardedProps = _objectWithoutProperties(props, ["children", "as", "className"]);
71
+
72
+ var _useHeadingLevel = useHeadingLevel(),
73
+ headingElement = _useHeadingLevel.headingElement;
74
+
75
+ return React.createElement(Text, _extends({
76
+ ref: ref,
77
+ className: classnames(className, handleBasicClasses({
78
+ prefix: CLASSNAME
79
+ })),
80
+ as: as || headingElement,
81
+ typography: DEFAULT_TYPOGRAPHY_BY_LEVEL[headingElement]
82
+ }, forwardedProps), children);
83
+ });
84
+ Heading.displayName = COMPONENT_NAME;
85
+ Heading.className = CLASSNAME;
86
+ Heading.defaultProps = DEFAULT_PROPS;
87
+
88
+ /**
89
+ * Provide a new heading level context.
90
+ */
91
+ var HeadingLevelProvider = function HeadingLevelProvider(_ref) {
92
+ var children = _ref.children,
93
+ level = _ref.level;
94
+
95
+ var _useHeadingLevel = useHeadingLevel(),
96
+ contextLevel = _useHeadingLevel.level;
97
+
98
+ var incrementedLevel = level || contextLevel + 1;
99
+ /** Don't allow a level beyond the maximum level. */
100
+
101
+ var nextLevel = incrementedLevel > MAX_HEADING_LEVEL ? MAX_HEADING_LEVEL : incrementedLevel;
102
+ var headingElement = "h".concat(nextLevel);
103
+ return React.createElement(HeadingLevelContext.Provider, {
104
+ value: {
105
+ level: nextLevel,
106
+ headingElement: headingElement
107
+ }
108
+ }, children);
109
+ };
110
+
111
+ export { Heading as H, HeadingLevelProvider as a, useHeadingLevel as u };
112
+ //# sourceMappingURL=69dd1472.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"69dd1472.js","sources":["../../src/components/heading/constants.ts","../../src/components/heading/context.tsx","../../src/components/heading/useHeadingLevel.tsx","../../src/components/heading/Heading.tsx","../../src/components/heading/HeadingLevelProvider.tsx"],"sourcesContent":["import { Typography } from '..';\n\n/** The maximum authorized heading level. */\nexport const MAX_HEADING_LEVEL = 6;\n\n/**\n * Typography to use by default depending on the heading level.\n */\nexport const DEFAULT_TYPOGRAPHY_BY_LEVEL = {\n h1: Typography.display1,\n h2: Typography.headline,\n h3: Typography.title,\n h4: Typography.subtitle2,\n h5: Typography.subtitle1,\n h6: Typography.body2,\n};\n","import { HeadingElement } from '@lumx/react/utils/type';\nimport { createContext } from 'react';\n\ninterface HeadingLevelContext {\n /** The current level */\n level: number;\n /** The heading element matching the current level */\n headingElement: HeadingElement;\n}\n\nconst defaultContext: HeadingLevelContext = { level: 1, headingElement: 'h1' };\n\nexport const HeadingLevelContext = createContext<HeadingLevelContext>(defaultContext);\n","import React from 'react';\nimport { HeadingLevelContext } from './context';\n\nexport const useHeadingLevel = () => {\n const { level = 1, headingElement = 'h1' } = React.useContext(HeadingLevelContext);\n\n return { level, headingElement };\n};\n","import { Comp, HeadingElement } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport classNames from 'classnames';\nimport React, { forwardRef } from 'react';\nimport { Text, TextProps } from '../text';\nimport { DEFAULT_TYPOGRAPHY_BY_LEVEL } from './constants';\nimport { useHeadingLevel } from './useHeadingLevel';\n\n/**\n * Defines the props of the component.\n */\nexport interface HeadingProps extends Partial<TextProps> {\n /**\n * Display a specific heading level instead of the one provided by parent context provider.\n */\n as?: HeadingElement;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Heading';\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 = {} as const;\n\n/**\n * Renders a heading component.\n * Extends the `Text` Component with the heading level automatically computed based on\n * the current level provided by the context.\n */\nexport const Heading: Comp<HeadingProps> = forwardRef((props, ref) => {\n const { children, as, className, ...forwardedProps } = props;\n const { headingElement } = useHeadingLevel();\n\n return (\n <Text\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n }),\n )}\n as={as || headingElement}\n typography={DEFAULT_TYPOGRAPHY_BY_LEVEL[headingElement]}\n {...forwardedProps}\n >\n {children}\n </Text>\n );\n});\n\nHeading.displayName = COMPONENT_NAME;\nHeading.className = CLASSNAME;\nHeading.defaultProps = DEFAULT_PROPS;\n","import { HeadingElement } from '@lumx/react/utils/type';\nimport React, { ReactNode } from 'react';\nimport { MAX_HEADING_LEVEL } from './constants';\nimport { HeadingLevelContext } from './context';\nimport { useHeadingLevel } from './useHeadingLevel';\n\nexport interface HeadingLevelProviderProps {\n /** The heading level to start at. If left undefined, the parent context will be used, if any. */\n level?: number;\n /** The children to display */\n children: ReactNode;\n}\n\n/**\n * Provide a new heading level context.\n */\nexport const HeadingLevelProvider: React.FC<HeadingLevelProviderProps> = ({ children, level }) => {\n const { level: contextLevel } = useHeadingLevel();\n\n const incrementedLevel = level || contextLevel + 1;\n /** Don't allow a level beyond the maximum level. */\n const nextLevel = incrementedLevel > MAX_HEADING_LEVEL ? MAX_HEADING_LEVEL : incrementedLevel;\n const headingElement = `h${nextLevel}` as HeadingElement;\n\n return (\n <HeadingLevelContext.Provider value={{ level: nextLevel, headingElement }}>\n {children}\n </HeadingLevelContext.Provider>\n );\n};\n"],"names":["MAX_HEADING_LEVEL","DEFAULT_TYPOGRAPHY_BY_LEVEL","h1","Typography","display1","h2","headline","h3","title","h4","subtitle2","h5","subtitle1","h6","body2","defaultContext","level","headingElement","HeadingLevelContext","createContext","useHeadingLevel","React","useContext","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Heading","forwardRef","props","ref","children","as","className","forwardedProps","classNames","handleBasicClasses","prefix","displayName","defaultProps","HeadingLevelProvider","contextLevel","incrementedLevel","nextLevel"],"mappings":";;;;;;AAEA;;AACO,IAAMA,iBAAiB,GAAG,CAA1B;AAEP;;;;AAGO,IAAMC,2BAA2B,GAAG;AACvCC,EAAAA,EAAE,EAAEC,UAAU,CAACC,QADwB;AAEvCC,EAAAA,EAAE,EAAEF,UAAU,CAACG,QAFwB;AAGvCC,EAAAA,EAAE,EAAEJ,UAAU,CAACK,KAHwB;AAIvCC,EAAAA,EAAE,EAAEN,UAAU,CAACO,SAJwB;AAKvCC,EAAAA,EAAE,EAAER,UAAU,CAACS,SALwB;AAMvCC,EAAAA,EAAE,EAAEV,UAAU,CAACW;AANwB,CAApC;;ACEP,IAAMC,cAAmC,GAAG;AAAEC,EAAAA,KAAK,EAAE,CAAT;AAAYC,EAAAA,cAAc,EAAE;AAA5B,CAA5C;AAEO,IAAMC,mBAAmB,GAAGC,aAAa,CAAsBJ,cAAtB,CAAzC;;ICTMK,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAAA,0BACYC,KAAK,CAACC,UAAN,CAAiBJ,mBAAjB,CADZ;AAAA,gDACzBF,KADyB;AAAA,MACzBA,KADyB,sCACjB,CADiB;AAAA,gDACdC,cADc;AAAA,MACdA,cADc,sCACG,IADH;;AAGjC,SAAO;AAAED,IAAAA,KAAK,EAALA,KAAF;AAASC,IAAAA,cAAc,EAAdA;AAAT,GAAP;AACH;;ACCD;;;;AAUA;;;AAGA,IAAMM,cAAc,GAAG,SAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAa,GAAG,EAAtB;AAEA;;;;;;IAKaC,OAA2B,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAC1DC,QAD0D,GACXF,KADW,CAC1DE,QAD0D;AAAA,MAChDC,EADgD,GACXH,KADW,CAChDG,EADgD;AAAA,MAC5CC,SAD4C,GACXJ,KADW,CAC5CI,SAD4C;AAAA,MAC9BC,cAD8B,4BACXL,KADW;;AAAA,yBAEvCT,eAAe,EAFwB;AAAA,MAE1DH,cAF0D,oBAE1DA,cAF0D;;AAIlE,SACI,oBAAC,IAAD;AACI,IAAA,GAAG,EAAEa,GADT;AAEI,IAAA,SAAS,EAAEK,UAAU,CACjBF,SADiB,EAEjBG,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAEb;AADO,KAAD,CAFD,CAFzB;AAQI,IAAA,EAAE,EAAEQ,EAAE,IAAIf,cARd;AASI,IAAA,UAAU,EAAEhB,2BAA2B,CAACgB,cAAD;AAT3C,KAUQiB,cAVR,GAYKH,QAZL,CADJ;AAgBH,CApBoD;AAsBrDJ,OAAO,CAACW,WAAR,GAAsBf,cAAtB;AACAI,OAAO,CAACM,SAAR,GAAoBT,SAApB;AACAG,OAAO,CAACY,YAAR,GAAuBb,aAAvB;;ACjDA;;;IAGac,oBAAyD,GAAG,SAA5DA,oBAA4D,OAAyB;AAAA,MAAtBT,QAAsB,QAAtBA,QAAsB;AAAA,MAAZf,KAAY,QAAZA,KAAY;;AAAA,yBAC9DI,eAAe,EAD+C;AAAA,MAC/EqB,YAD+E,oBACtFzB,KADsF;;AAG9F,MAAM0B,gBAAgB,GAAG1B,KAAK,IAAIyB,YAAY,GAAG,CAAjD;AACA;;AACA,MAAME,SAAS,GAAGD,gBAAgB,GAAG1C,iBAAnB,GAAuCA,iBAAvC,GAA2D0C,gBAA7E;AACA,MAAMzB,cAAc,cAAO0B,SAAP,CAApB;AAEA,SACI,oBAAC,mBAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAE;AAAE3B,MAAAA,KAAK,EAAE2B,SAAT;AAAoB1B,MAAAA,cAAc,EAAdA;AAApB;AAArC,KACKc,QADL,CADJ;AAKH;;;;"}
@@ -1,10 +1,10 @@
1
- import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
- import { Theme } from './components.js';
1
+ import { b as _objectWithoutProperties, c as _extends } from './6340c129.js';
2
+ import { Theme } from '../components.js';
3
3
  import React, { forwardRef, useMemo, useRef } from 'react';
4
- import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getRootClassName.js';
5
- import { u as uid } from '../index2.js';
6
- import { I as InputHelper } from './InputHelper.js';
7
- import { I as InputLabel } from './InputLabel.js';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './fd867c9d.js';
5
+ import { u as uid } from './fc608bd9.js';
6
+ import { I as InputHelper } from './b0eb3a30.js';
7
+ import { I as InputLabel } from './12ab39e4.js';
8
8
 
9
9
  var useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
10
10
  /**
@@ -324,4 +324,4 @@ Slider.className = CLASSNAME;
324
324
  Slider.defaultProps = DEFAULT_PROPS;
325
325
 
326
326
  export { Slider as S, clamp as c };
327
- //# sourceMappingURL=Slider2.js.map
327
+ //# sourceMappingURL=6a0e1c77.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"6a0e1c77.js","sources":["../../src/hooks/useEventCallback.tsx","../../src/utils/clamp.ts","../../src/components/slider/Slider.tsx"],"sourcesContent":["import React from 'react';\n\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param fn A function to run\n * @return A React callback\n */\nexport default function useEventCallback(fn: (...args: any[]) => any): (event: any) => any {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useCallback((event: any) => ref.current(event), []);\n}\n","/**\n * Clamp value in range.\n *\n * @param value Value to clamp.\n * @param min Minimum value.\n * @param max Maximum value.\n * @return Clamped value.\n */\nexport const clamp = (value: number, min: number, max: number): number => {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n};\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { forwardRef, SyntheticEvent, useMemo, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { InputHelper, InputLabel, Theme } from '@lumx/react';\n\nimport useEventCallback from '@lumx/react/hooks/useEventCallback';\nimport { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\nimport { uid } from 'uid';\nimport { clamp } from '@lumx/react/utils/clamp';\n\n/**\n * Defines the props of the component.\n */\nexport interface SliderProps extends GenericProps, HasTheme {\n /** Helper text. */\n helper?: string;\n /** Whether the min and max labels should be hidden or not. */\n hideMinMaxLabel?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: string;\n /** Maximum value on the range. */\n max: number;\n /** Minimum value of the range. */\n min: number;\n /** Native input name property. */\n name?: string;\n /** Number of digits in the fractional part of the selected value. */\n precision?: number;\n /** Range step value. */\n steps?: number;\n /** Selected ranged value. */\n value: number;\n /** On change callback. */\n onChange(value: number, name?: string, event?: SyntheticEvent): void;\n /** On click callback. */\n onMouseDown?(event: React.SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Slider';\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<SliderProps> = {\n precision: 0,\n steps: 0,\n theme: Theme.light,\n};\n\n/**\n * Convert a percent value to a value in range min - max.\n *\n * @param percent Value to convert.\n * @param min Minimum value.\n * @param max Maximum value.\n * @param precision Precision.\n * @return Value in range min - max\n */\nconst computeValueFromPercent = (percent: number, min: number, max: number, precision = 0): number =>\n Number((min + percent * (max - min)).toFixed(precision));\n\n/**\n * Convert a value in range min - max to a percent value.\n *\n * @param value Value to convert.\n * @param min Minimum value.\n * @param max Maximum value.\n * @return Value in percent\n */\nconst computePercentFromValue = (value: number, min: number, max: number): number =>\n Number((value - min) / (max - min));\n\n/**\n * Slider component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Slider: Comp<SliderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n className,\n disabled,\n helper,\n hideMinMaxLabel,\n id,\n isDisabled = disabled,\n label,\n max,\n min,\n name,\n onChange,\n onMouseDown,\n precision,\n steps,\n theme,\n value,\n ...forwardedProps\n } = props;\n const sliderId = useMemo(() => id || `slider-${uid()}`, [id]);\n const sliderLabelId = useMemo(() => `label-${sliderId}`, [sliderId]);\n const sliderRef = useRef<HTMLDivElement>(null);\n\n // build a lookup array for the steps.\n const availableSteps = useMemo((): number[] => {\n if (!steps) return [];\n\n const available = [0];\n const percentStep = 1 / ((max - min) / steps);\n let ptr = 0;\n while (ptr + percentStep < 1) {\n ptr += percentStep;\n available.push(ptr);\n }\n return available;\n }, [steps, min, max]);\n\n /**\n * Try to find the closest step to the current slider position.\n *\n * @param percentValue Reference value\n * @return The closest step value\n */\n const findClosestStep = (percentValue: number): number => {\n const closest = availableSteps.reduce(\n (acc, step) => {\n const aDst = Math.abs(percentValue - step);\n if (aDst < acc.dst) {\n return { dst: aDst, val: step };\n }\n return acc;\n },\n { dst: Infinity, val: -1 },\n );\n return closest.val;\n };\n\n /**\n * Convert slider's handle position to percent.\n *\n * @param event The interaction event\n * @param slider the slider element\n * @return The computed percent value\n */\n const getPercentValue = (event: React.MouseEvent, slider: HTMLDivElement): number => {\n const { width, left } = slider.getBoundingClientRect();\n let percent = (event.pageX - left - window.pageXOffset) / width;\n percent = clamp(percent, 0, 1);\n if (steps) {\n percent = findClosestStep(percent);\n }\n return percent;\n };\n\n /**\n * Register a handler for the mouse move event.\n */\n const handleMove = useEventCallback((event: React.MouseEvent) => {\n const { current: slider } = sliderRef;\n if (!slider || !onChange) return;\n const newValue = getPercentValue(event, slider);\n onChange(computeValueFromPercent(newValue, min, max, precision), name, event);\n });\n\n /**\n * Register a handler for the mouse up event.\n * Clean a all listeners.\n */\n const handleEnd = useEventCallback(() => {\n document.body.removeEventListener('mousemove', handleMove);\n document.body.removeEventListener('mouseup', handleEnd);\n document.body.removeEventListener('touchmove', handleMove);\n document.body.removeEventListener('touchend', handleEnd);\n });\n\n /**\n * Move to the next or previous value (i.e. + or - 10%) or next step\n * @param previous Should seek the previous value.\n */\n const hopToValue = (previous = false) => {\n const oldPercent = computePercentFromValue(value, min, max);\n let percent = clamp(oldPercent + (previous ? -0.1 : 0.1), 0, 1);\n if (steps) {\n percent = oldPercent + availableSteps[1] * (previous ? -1 : 1);\n percent = findClosestStep(percent);\n }\n if (onChange) {\n onChange(computeValueFromPercent(percent, min, max, precision), name);\n }\n };\n\n /**\n * Register a handler for keyboard interactions\n */\n const handleKeyDown = useEventCallback((event: React.KeyboardEvent) => {\n if (event.key === 'ArrowRight') {\n hopToValue();\n } else if (event.key === 'ArrowLeft') {\n hopToValue(true);\n }\n });\n\n /**\n * Register a handler for the mouseDown event.\n */\n const handleMouseDown = useEventCallback((event: React.MouseEvent) => {\n onMouseDown?.(event);\n\n const { current: slider } = sliderRef;\n if (isDisabled || !slider) return;\n const newValue = getPercentValue(event, slider);\n if (onChange) {\n onChange(computeValueFromPercent(newValue, min, max, precision), name, event);\n }\n\n document.body.addEventListener('mousemove', handleMove);\n document.body.addEventListener('mouseup', handleEnd);\n });\n\n const percentString = `${computePercentFromValue(value, min, max) * 100}%`;\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, theme, hasLabel: Boolean(label) }),\n )}\n onMouseDown={handleMouseDown}\n aria-disabled={isDisabled}\n >\n {label && (\n <InputLabel id={sliderLabelId} htmlFor={sliderId} className={`${CLASSNAME}__label`} theme={theme}>\n {label}\n </InputLabel>\n )}\n\n {helper && (\n <InputHelper className={`${CLASSNAME}__helper`} theme={theme}>\n {helper}\n </InputHelper>\n )}\n\n <div className={`${CLASSNAME}__ui-wrapper`}>\n {!hideMinMaxLabel && (\n <span className={`${CLASSNAME}__value-label ${CLASSNAME}__value-label--min`}>{min}</span>\n )}\n <div className={`${CLASSNAME}__wrapper`} ref={sliderRef}>\n <div className={`${CLASSNAME}__track ${CLASSNAME}__track--background`} />\n <div\n className={`${CLASSNAME}__track ${CLASSNAME}__track--active`}\n style={{ width: percentString }}\n />\n {steps ? (\n <div className={`${CLASSNAME}__ticks`}>\n {availableSteps.map((step, idx) => (\n <div\n key={`tick_${idx}`}\n className={`${CLASSNAME}__tick`}\n style={{ left: `${step * 100}%` }}\n />\n ))}\n </div>\n ) : null}\n <button\n type=\"button\"\n aria-labelledby={sliderLabelId}\n name={name}\n id={sliderId}\n className={`${CLASSNAME}__handle`}\n style={{ left: percentString }}\n onKeyDown={handleKeyDown}\n disabled={isDisabled}\n />\n </div>\n {!hideMinMaxLabel && (\n <span className={`${CLASSNAME}__value-label ${CLASSNAME}__value-label--max`}>{max}</span>\n )}\n </div>\n </div>\n );\n});\nSlider.displayName = COMPONENT_NAME;\nSlider.className = CLASSNAME;\nSlider.defaultProps = DEFAULT_PROPS;\n"],"names":["useEnhancedEffect","window","React","useLayoutEffect","useEffect","useEventCallback","fn","ref","useRef","current","useCallback","event","clamp","value","min","max","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","precision","steps","theme","Theme","light","computeValueFromPercent","percent","Number","toFixed","computePercentFromValue","Slider","forwardRef","props","className","disabled","helper","hideMinMaxLabel","id","isDisabled","label","name","onChange","onMouseDown","forwardedProps","sliderId","useMemo","uid","sliderLabelId","sliderRef","availableSteps","available","percentStep","ptr","push","findClosestStep","percentValue","closest","reduce","acc","step","aDst","Math","abs","dst","val","Infinity","getPercentValue","slider","getBoundingClientRect","width","left","pageX","pageXOffset","handleMove","newValue","handleEnd","document","body","removeEventListener","hopToValue","previous","oldPercent","handleKeyDown","key","handleMouseDown","addEventListener","percentString","classNames","handleBasicClasses","prefix","hasLabel","Boolean","map","idx","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ReactNode } from 'react';
2
+ import { l as GenericProps, k as Comp } from './eca6d4dc.js';
3
+
4
+ /**
5
+ * Defines the props of the component.
6
+ */
7
+ interface ToolbarProps extends GenericProps {
8
+ /** After content (placed after the label). */
9
+ after?: ReactNode;
10
+ /** Before content (placed before the label). */
11
+ before?: ReactNode;
12
+ /** Label content. */
13
+ label?: ReactNode;
14
+ }
15
+ /**
16
+ * Toolbar component.
17
+ *
18
+ * @param props Component props.
19
+ * @param ref Component ref.
20
+ * @return React element.
21
+ */
22
+ declare const Toolbar: Comp<ToolbarProps, HTMLDivElement>;
23
+
24
+ export { ToolbarProps as T, Toolbar as a };
@@ -1,7 +1,7 @@
1
- import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
- import { Theme } from './components.js';
1
+ import { b as _objectWithoutProperties, c as _extends } from './6340c129.js';
2
+ import { Theme } from '../components.js';
3
3
  import React, { forwardRef } from 'react';
4
- import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getRootClassName.js';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './fd867c9d.js';
5
5
 
6
6
  /**
7
7
  * Progress variants.
@@ -78,4 +78,4 @@ Progress.className = CLASSNAME;
78
78
  Progress.defaultProps = DEFAULT_PROPS;
79
79
 
80
80
  export { ProgressVariant as P, Progress as a };
81
- //# sourceMappingURL=Progress2.js.map
81
+ //# sourceMappingURL=7391188a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"7391188a.js","sources":["../../src/components/progress/Progress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\n/**\n * Progress variants.\n */\nexport const ProgressVariant = { linear: 'linear', circular: 'circular' } as const;\nexport type ProgressVariant = ValueOf<typeof ProgressVariant>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressProps extends GenericProps, HasTheme {\n /** Progress variant. */\n variant?: ProgressVariant;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Progress';\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<ProgressProps> = {\n theme: Theme.light,\n variant: ProgressVariant.circular,\n};\n/**\n * Progress component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Progress: Comp<ProgressProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { className, theme, variant, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme, variant }))}\n >\n <div className={classNames(`${CLASSNAME}-${variant}`)}>\n {variant === ProgressVariant.circular && (\n <>\n <div className=\"lumx-progress-circular__double-bounce1\" />\n <div className=\"lumx-progress-circular__double-bounce2\" />\n\n <svg className=\"lumx-progress-circular__svg\" viewBox=\"25 25 50 50\">\n <circle\n className=\"lumx-progress-circular__path\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n strokeWidth=\"5\"\n />\n </svg>\n </>\n )}\n {variant === ProgressVariant.linear && (\n <>\n <div className=\"lumx-progress-linear__line1\" />\n <div className=\"lumx-progress-linear__line2\" />\n </>\n )}\n </div>\n </div>\n );\n});\nProgress.displayName = COMPONENT_NAME;\nProgress.className = CLASSNAME;\nProgress.defaultProps = DEFAULT_PROPS;\n"],"names":["ProgressVariant","linear","circular","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","theme","Theme","light","variant","Progress","forwardRef","props","ref","className","forwardedProps","classNames","handleBasicClasses","prefix","displayName","defaultProps"],"mappings":";;;;;AASA;;;;IAGaA,eAAe,GAAG;AAAEC,EAAAA,MAAM,EAAE,QAAV;AAAoBC,EAAAA,QAAQ,EAAE;AAA9B;;AAW/B;;;AAGA,IAAMC,cAAc,GAAG,UAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAqC,GAAG;AAC1CC,EAAAA,KAAK,EAAEC,KAAK,CAACC,KAD6B;AAE1CC,EAAAA,OAAO,EAAEV,eAAe,CAACE;AAFiB,CAA9C;AAIA;;;;;;;;IAOaS,QAA6C,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAC5EC,SAD4E,GAC3BF,KAD2B,CAC5EE,SAD4E;AAAA,MACjER,KADiE,GAC3BM,KAD2B,CACjEN,KADiE;AAAA,MAC1DG,OAD0D,GAC3BG,KAD2B,CAC1DH,OAD0D;AAAA,MAC9CM,cAD8C,4BAC3BH,KAD2B;;AAGpF,SACI;AACI,IAAA,GAAG,EAAEC;AADT,KAEQE,cAFR;AAGI,IAAA,SAAS,EAAEC,UAAU,CAACF,SAAD,EAAYG,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEf,SAAV;AAAqBG,MAAAA,KAAK,EAALA,KAArB;AAA4BG,MAAAA,OAAO,EAAPA;AAA5B,KAAD,CAA9B;AAHzB,MAKI;AAAK,IAAA,SAAS,EAAEO,UAAU,WAAIb,SAAJ,cAAiBM,OAAjB;AAA1B,KACKA,OAAO,KAAKV,eAAe,CAACE,QAA5B,IACG,0CACI;AAAK,IAAA,SAAS,EAAC;AAAf,IADJ,EAEI;AAAK,IAAA,SAAS,EAAC;AAAf,IAFJ,EAII;AAAK,IAAA,SAAS,EAAC,6BAAf;AAA6C,IAAA,OAAO,EAAC;AAArD,KACI;AACI,IAAA,SAAS,EAAC,8BADd;AAEI,IAAA,EAAE,EAAC,IAFP;AAGI,IAAA,EAAE,EAAC,IAHP;AAII,IAAA,CAAC,EAAC,IAJN;AAKI,IAAA,IAAI,EAAC,MALT;AAMI,IAAA,WAAW,EAAC;AANhB,IADJ,CAJJ,CAFR,EAkBKQ,OAAO,KAAKV,eAAe,CAACC,MAA5B,IACG,0CACI;AAAK,IAAA,SAAS,EAAC;AAAf,IADJ,EAEI;AAAK,IAAA,SAAS,EAAC;AAAf,IAFJ,CAnBR,CALJ,CADJ;AAiCH,CApCsE;AAqCvEU,QAAQ,CAACS,WAAT,GAAuBjB,cAAvB;AACAQ,QAAQ,CAACI,SAAT,GAAqBX,SAArB;AACAO,QAAQ,CAACU,YAAT,GAAwBf,aAAxB;;;;"}
@@ -1,9 +1,10 @@
1
- import { b as _objectWithoutProperties, _ as _objectSpread2, c as _extends } from './_rollupPluginBabelHelpers.js';
2
- import { Emphasis, ColorPalette, Theme } from './components.js';
1
+ import { b as _objectWithoutProperties, _ as _objectSpread2, c as _extends } from './6340c129.js';
2
+ import { Emphasis, ColorPalette, Theme } from '../components.js';
3
3
  import React, { forwardRef } from 'react';
4
- import { c as classnames, h as handleBasicClasses, C as CSS_PREFIX } from './getRootClassName.js';
4
+ import { c as classnames, h as handleBasicClasses, C as CSS_PREFIX } from './fd867c9d.js';
5
+ import 'lodash/kebabCase';
5
6
  import isEmpty from 'lodash/isEmpty';
6
- import { r as renderLink } from './renderLink.js';
7
+ import { r as renderLink } from './329a01d3.js';
7
8
 
8
9
  /**
9
10
  * Component display name.
@@ -132,4 +133,4 @@ ButtonRoot.displayName = COMPONENT_NAME;
132
133
  ButtonRoot.defaultProps = {};
133
134
 
134
135
  export { ButtonRoot as B };
135
- //# sourceMappingURL=ButtonRoot.js.map
136
+ //# sourceMappingURL=74cb6c26.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"74cb6c26.js","sources":["../../src/components/button/ButtonRoot.tsx"],"sourcesContent":["import React, { AriaAttributes, ButtonHTMLAttributes, DetailedHTMLProps, forwardRef, RefObject } from 'react';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport classNames from 'classnames';\n\nimport { Color, ColorPalette, Emphasis, Size, Theme } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/react/utils/className';\nimport { renderLink } from '@lumx/react/utils/renderLink';\n\ntype HTMLButtonProps = DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;\n\n/**\n * Button size definition.\n */\nexport type ButtonSize = Extract<Size, 's' | 'm'>;\n\nexport interface BaseButtonProps\n extends GenericProps,\n Pick<AriaAttributes, 'aria-expanded' | 'aria-haspopup' | 'aria-pressed' | 'aria-label'>,\n HasTheme {\n /** Color variant. */\n color?: Color;\n /** Emphasis variant. */\n emphasis?: Emphasis;\n /** Whether or not the button has a background color in low emphasis. */\n hasBackground?: boolean;\n /** Native anchor href property. It determines whether the Button will be a <button> or an <a>. */\n href?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is selected or not. */\n isSelected?: boolean;\n /** Native button name property. */\n name?: string;\n /** Size variant. */\n size?: ButtonSize;\n /** Native anchor target property. */\n target?: '_self' | '_blank' | '_parent' | '_top';\n /** Native button type. */\n type?: HTMLButtonProps['type'];\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n}\n\nexport interface ButtonRootProps extends BaseButtonProps {\n variant: 'button' | 'icon';\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ButtonRoot';\n\nexport const BUTTON_WRAPPER_CLASSNAME = `${CSS_PREFIX}-button-wrapper`;\nexport const BUTTON_CLASSNAME = `${CSS_PREFIX}-button`;\n\n/**\n * Render a button wrapper with the ButtonRoot inside.\n *\n * @param props Component props.\n * @return React element.\n */\nconst renderButtonWrapper: React.FC<ButtonRootProps> = (props) => {\n const { color, emphasis, variant, fullWidth } = props;\n\n const adaptedColor =\n emphasis === Emphasis.low && (color === ColorPalette.light ? ColorPalette.dark : ColorPalette.light);\n\n const wrapperClassName = classNames(\n handleBasicClasses({\n color: adaptedColor,\n prefix: BUTTON_WRAPPER_CLASSNAME,\n variant,\n fullWidth,\n }),\n );\n const buttonProps = { ...props, hasBackground: false };\n\n return (\n <div className={wrapperClassName}>\n {/* eslint-disable-next-line @typescript-eslint/no-use-before-define */}\n <ButtonRoot {...buttonProps} />\n </div>\n );\n};\n\n/**\n * ButtonRoot component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ButtonRoot: Comp<ButtonRootProps, HTMLButtonElement | HTMLAnchorElement> = forwardRef((props, ref) => {\n const {\n 'aria-label': ariaLabel,\n children,\n className,\n color,\n disabled,\n emphasis,\n hasBackground,\n href,\n isDisabled = disabled,\n isSelected,\n isActive,\n isFocused,\n isHovered,\n linkAs,\n name,\n size,\n target,\n theme,\n variant,\n type = 'button',\n fullWidth,\n ...forwardedProps\n } = props;\n\n const adaptedColor =\n color ||\n (emphasis !== Emphasis.high && theme === Theme.dark && ColorPalette.light) ||\n (emphasis === Emphasis.high && ColorPalette.primary) ||\n ColorPalette.dark;\n\n if (hasBackground) {\n return renderButtonWrapper({ ...props, ref, variant, color: adaptedColor });\n }\n\n const buttonClassName = classNames(\n className,\n handleBasicClasses({\n color: adaptedColor,\n emphasis,\n isSelected,\n isDisabled,\n isActive,\n isFocused,\n isHovered,\n prefix: BUTTON_CLASSNAME,\n size,\n theme: emphasis === Emphasis.high && theme,\n variant,\n fullWidth,\n }),\n );\n\n /**\n * If the linkAs prop is used, we use the linkAs component instead of a <button>.\n * If there is an href attribute, we display an <a> instead of a <button>.\n *\n * However, in any case, if the component is disabled, we returned a <button> since disabled is not compatible with <a>.\n */\n if ((linkAs || !isEmpty(props.href)) && !isDisabled) {\n return renderLink(\n {\n linkAs,\n ...forwardedProps,\n 'aria-label': ariaLabel,\n href,\n target,\n className: buttonClassName,\n ref: ref as RefObject<HTMLAnchorElement>,\n },\n children,\n );\n }\n return (\n <button\n {...forwardedProps}\n disabled={isDisabled}\n aria-disabled={isDisabled}\n aria-label={ariaLabel}\n ref={ref as RefObject<HTMLButtonElement>}\n className={buttonClassName}\n name={name}\n type={\n // eslint-disable-next-line react/button-has-type\n type\n }\n >\n {children}\n </button>\n );\n});\nButtonRoot.displayName = COMPONENT_NAME;\nButtonRoot.defaultProps = {};\n"],"names":["COMPONENT_NAME","BUTTON_WRAPPER_CLASSNAME","CSS_PREFIX","BUTTON_CLASSNAME","renderButtonWrapper","props","color","emphasis","variant","fullWidth","adaptedColor","Emphasis","low","ColorPalette","light","dark","wrapperClassName","classNames","handleBasicClasses","prefix","buttonProps","hasBackground","ButtonRoot","forwardRef","ref","ariaLabel","children","className","disabled","href","isDisabled","isSelected","isActive","isFocused","isHovered","linkAs","name","size","target","theme","type","forwardedProps","high","Theme","primary","buttonClassName","isEmpty","renderLink","displayName","defaultProps"],"mappings":"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"}
@@ -1,12 +1,14 @@
1
- import { b as _objectWithoutProperties, d as _slicedToArray, _ as _objectSpread2, e as _toConsumableArray, c as _extends } from './_rollupPluginBabelHelpers.js';
2
- import { Size, Kind } from './components.js';
1
+ import { b as _objectWithoutProperties, d as _slicedToArray, _ as _objectSpread2, e as _toConsumableArray, c as _extends } from './6340c129.js';
2
+ import { Size, Kind } from '../components.js';
3
3
  import React, { useReducer, useEffect, forwardRef, useCallback } from 'react';
4
- import { g as getRootClassName, c as classnames, h as handleBasicClasses, C as CSS_PREFIX } from './getRootClassName.js';
5
- import { I as Icon, b as mdiCheckCircle, c as mdiAlertCircle, k as mdiRadioboxMarked, l as mdiRadioboxBlank } from './Icon2.js';
6
- import { m as mergeRefs } from './mergeRefs.js';
7
- import { I as InputHelper } from './InputHelper.js';
8
- import { I as InputLabel } from './InputLabel.js';
9
- import { r as reducer, I as INIT_STATE, T as TabProviderContext, u as useRovingTabIndex, a as useTabProviderContextState, b as useTabProviderContext } from './useRovingTabIndex.js';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses, C as CSS_PREFIX } from './fd867c9d.js';
5
+ import { I as Icon, b as mdiCheckCircle, c as mdiAlertCircle, k as mdiRadioboxMarked, l as mdiRadioboxBlank } from './a521723d.js';
6
+ import 'lodash/kebabCase';
7
+ import { m as mergeRefs } from './853713cd.js';
8
+ import { I as InputHelper } from './b0eb3a30.js';
9
+ import { I as InputLabel } from './12ab39e4.js';
10
+ import { r as reducer, I as INIT_STATE, T as TabProviderContext, u as useTabProviderContextState, a as useTabProviderContext } from './e354228f.js';
11
+ import { u as useRovingTabIndex } from './20976405.js';
10
12
 
11
13
  var DEFAULT_PROPS = {
12
14
  isLazy: INIT_STATE.isLazy,
@@ -309,4 +311,4 @@ ProgressTrackerStepPanel.className = CLASSNAME$2;
309
311
  ProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS$3;
310
312
 
311
313
  export { ProgressTrackerProvider as P, ProgressTracker as a, ProgressTrackerStep as b, ProgressTrackerStepPanel as c };
312
- //# sourceMappingURL=ProgressTrackerStepPanel.js.map
314
+ //# sourceMappingURL=761031bf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"761031bf.js","sources":["../../src/components/progress-tracker/ProgressTrackerProvider.tsx","../../src/components/progress-tracker/ProgressTracker.tsx","../../src/components/progress-tracker/ProgressTrackerStep.tsx","../../src/components/progress-tracker/ProgressTrackerStepPanel.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useReducer } from 'react';\nimport { INIT_STATE, TabProviderContext, reducer } from '../tabs/state';\n\nexport interface ProgressTrackerProviderProps {\n /** Active step index. */\n activeStepIndex?: number;\n /** ProgressTrackerProvider children. */\n children: ReactNode;\n /** Step panel children should not render if the step panel is hidden. */\n isLazy?: boolean;\n /** Activate tabs on focus. */\n shouldActivateOnFocus?: boolean;\n /** Step change callback. */\n onChange?(index: number): void;\n}\n\nconst DEFAULT_PROPS: Partial<ProgressTrackerProviderProps> = {\n isLazy: INIT_STATE.isLazy,\n shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,\n};\n\n/**\n * This component provides a context in which steps can be defined and linked to their step panel.\n *\n * It does not produce any markup so you can wrap it around any React elements and then split the ProgressTracker and ProgressTrackerPanel\n * components in the react tree.\n *\n * This works exactly as TabProvider so it uses TabProviderContext and tabs state.\n *\n * @param props React component props.\n * @return React element.\n */\nexport const ProgressTrackerProvider: React.FC<ProgressTrackerProviderProps> = (props) => {\n const { children, onChange, ...propState } = props;\n const [state, dispatch] = useReducer(reducer, INIT_STATE);\n\n // On prop state change => dispatch update.\n useEffect(\n () => {\n dispatch({\n type: 'update',\n payload: {\n ...propState,\n activeTabIndex: propState.activeStepIndex || INIT_STATE.activeTabIndex,\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ...Object.values(propState)],\n );\n\n // On active tab index state change => send update to the onChange.\n useEffect(\n () => {\n if (state === INIT_STATE || !onChange || propState.activeStepIndex === state.activeTabIndex) {\n return;\n }\n onChange(state.activeTabIndex);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, state.activeTabIndex],\n );\n\n return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;\n};\nProgressTrackerProvider.defaultProps = DEFAULT_PROPS;\n","import React, { forwardRef, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Comp, GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndex';\nimport { useTabProviderContextState } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerProps extends GenericProps {\n /** ARIA label (purpose of the set of steps). */\n ['aria-label']: string;\n /** Step list. */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTracker';\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<ProgressTrackerProps> = {};\n\n/**\n * ProgressTracker component.\n *\n * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTracker: Comp<ProgressTrackerProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { 'aria-label': ariaLabel, children, className, ...forwardedProps } = props;\n const stepListRef = React.useRef(null);\n useRovingTabIndex({\n parentRef: stepListRef,\n elementSelector: '[role=\"tab\"]',\n keepTabIndex: false,\n extraDependencies: [children],\n });\n\n const state = useTabProviderContextState();\n const numberOfSteps = state?.ids?.tab?.length || 0;\n const backgroundPosition: number = numberOfSteps > 0 ? 100 / (numberOfSteps * 2) : 0;\n const trackPosition: number =\n numberOfSteps > 0 ? ((100 / (numberOfSteps - 1)) * (state?.activeTabIndex || 0)) / 100 : 0;\n\n return (\n <div\n ref={mergeRefs(ref, stepListRef)}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME }))}\n >\n <div className={`${CLASSNAME}__steps`} role=\"tablist\" aria-label={ariaLabel}>\n {children}\n </div>\n\n <div\n className={`${CLASSNAME}__background-bar`}\n style={{ left: `${backgroundPosition}%`, right: `${backgroundPosition}%` }}\n />\n\n <div\n className={`${CLASSNAME}__foreground-bar`}\n style={{\n left: `${backgroundPosition}%`,\n right: `${backgroundPosition}%`,\n transform: `scaleX(${trackPosition})`,\n }}\n />\n </div>\n );\n});\nProgressTracker.displayName = COMPONENT_NAME;\nProgressTracker.className = CLASSNAME;\nProgressTracker.defaultProps = DEFAULT_PROPS;\n","import React, { FocusEventHandler, forwardRef, KeyboardEventHandler, useCallback } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Icon, InputHelper, InputLabel, Kind, Size } from '@lumx/react';\n\nimport { Comp, GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiRadioboxBlank, mdiRadioboxMarked } from '@lumx/icons';\nimport { useTabProviderContext } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepProps extends GenericProps {\n /** Children are not supported. */\n children?: never;\n /** Whether the step should be in error state or not. */\n hasError?: boolean;\n /** Helper text. */\n helper?: string | null;\n /** Native id property. */\n id?: string;\n /** Whether the current step is active or not. */\n isActive?: boolean;\n /** Whether the current step is completed or not. */\n isComplete?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: string | null;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStep';\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<ProgressTrackerStepProps> = {};\n\n/**\n * ProgressTrackerStep component.\n *\n * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStep: Comp<ProgressTrackerStepProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const {\n className,\n disabled,\n hasError,\n helper,\n id,\n isActive: propIsActive,\n isComplete,\n isDisabled = disabled,\n label,\n onFocus,\n onKeyPress,\n tabIndex = -1,\n ...forwardedProps\n } = props;\n const state = useTabProviderContext('tab', id);\n const isActive = propIsActive || state?.isActive;\n\n const changeToCurrentTab = useCallback(() => {\n if (isDisabled) {\n return;\n }\n state?.changeToTab();\n }, [isDisabled, state]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n onFocus?.(event);\n if (state?.shouldActivateOnFocus) {\n changeToCurrentTab();\n }\n },\n [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus],\n );\n\n const handleKeyPress: KeyboardEventHandler = useCallback(\n (event) => {\n onKeyPress?.(event);\n if (event.key !== 'Enter') {\n return;\n }\n changeToCurrentTab();\n },\n [changeToCurrentTab, onKeyPress],\n );\n\n const getIcon = (): string => {\n if (isComplete) {\n return mdiCheckCircle;\n }\n\n if (isActive) {\n return hasError ? mdiAlertCircle : mdiRadioboxMarked;\n }\n\n return mdiRadioboxBlank;\n };\n\n return (\n <button\n ref={ref}\n {...forwardedProps}\n type=\"button\"\n id={state?.tabId}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n hasError,\n isActive,\n isClickable: state && !isDisabled,\n isComplete,\n }),\n )}\n onClick={changeToCurrentTab}\n onKeyPress={handleKeyPress}\n onFocus={handleFocus}\n role=\"tab\"\n tabIndex={isActive ? 0 : tabIndex}\n aria-disabled={isDisabled}\n aria-selected={isActive}\n aria-controls={state?.tabPanelId}\n >\n <Icon className={`${CLASSNAME}__state`} icon={getIcon()} size={Size.s} />\n\n <InputLabel htmlFor={state?.tabId || ''} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n\n {helper && (\n <InputHelper kind={hasError ? Kind.error : Kind.info} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </button>\n );\n});\nProgressTrackerStep.displayName = COMPONENT_NAME;\nProgressTrackerStep.className = CLASSNAME;\nProgressTrackerStep.defaultProps = DEFAULT_PROPS;\n","import { useTabProviderContext } from '@lumx/react/components/tabs/state';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { Comp, GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/react/utils/className';\n\nimport classNames from 'classnames';\nimport React, { forwardRef } from 'react';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepPanelProps extends GenericProps {\n /** Native id property. */\n id?: string;\n /** Whether the step is active or not. */\n isActive?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStepPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-step-panel`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerStepPanelProps> = {};\n\n/**\n * ProgressTrackerStepPanel component.\n *\n * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStepPanel: Comp<ProgressTrackerStepPanelProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;\n\n const state = useTabProviderContext('tabPanel', id);\n const isActive = propIsActive || state?.isActive;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n id={state?.tabPanelId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}\n role=\"tabpanel\"\n tabIndex={0}\n aria-labelledby={state?.tabId}\n >\n {(!state?.isLazy || isActive) && children}\n </div>\n );\n },\n);\nProgressTrackerStepPanel.displayName = COMPONENT_NAME;\nProgressTrackerStepPanel.className = CLASSNAME;\nProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["DEFAULT_PROPS","isLazy","INIT_STATE","shouldActivateOnFocus","ProgressTrackerProvider","props","children","onChange","propState","useReducer","reducer","state","dispatch","useEffect","type","payload","activeTabIndex","activeStepIndex","Object","values","defaultProps","COMPONENT_NAME","CLASSNAME","getRootClassName","ProgressTracker","forwardRef","ref","ariaLabel","className","forwardedProps","stepListRef","React","useRef","useRovingTabIndex","parentRef","elementSelector","keepTabIndex","extraDependencies","useTabProviderContextState","numberOfSteps","ids","tab","length","backgroundPosition","trackPosition","mergeRefs","classNames","handleBasicClasses","prefix","left","right","transform","displayName","ProgressTrackerStep","disabled","hasError","helper","id","propIsActive","isActive","isComplete","isDisabled","label","onFocus","onKeyPress","tabIndex","useTabProviderContext","changeToCurrentTab","useCallback","changeToTab","handleFocus","event","handleKeyPress","key","getIcon","mdiCheckCircle","mdiAlertCircle","mdiRadioboxMarked","mdiRadioboxBlank","tabId","isClickable","tabPanelId","Size","s","Kind","error","info","CSS_PREFIX","ProgressTrackerStepPanel"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
- import { Theme, ColorPalette, Size } from './components.js';
1
+ import { b as _objectWithoutProperties, c as _extends } from './6340c129.js';
2
+ import { Theme, ColorPalette, Size } from '../components.js';
3
3
  import React, { forwardRef } from 'react';
4
- import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getRootClassName.js';
5
- import { I as Icon, h as mdiDragVertical } from './Icon2.js';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './fd867c9d.js';
5
+ import { I as Icon, h as mdiDragVertical } from './a521723d.js';
6
6
 
7
7
  /**
8
8
  * Defines the props of the component.
@@ -47,4 +47,4 @@ DragHandle.displayName = COMPONENT_NAME;
47
47
  DragHandle.className = CLASSNAME;
48
48
 
49
49
  export { DragHandle as D };
50
- //# sourceMappingURL=DragHandle.js.map
50
+ //# sourceMappingURL=76fed69d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"76fed69d.js","sources":["../../src/components/drag-handle/DragHandle.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiDragVertical } from '@lumx/icons';\nimport { ColorPalette, Icon, Size, Theme } from '@lumx/react';\nimport { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\n/**\n * Defines the props of the component.\n */\nexport interface DragHandleProps extends GenericProps, HasTheme {}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'DragHandle';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * DragHandle component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const DragHandle: Comp<DragHandleProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { className, theme, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }))}\n >\n <Icon\n icon={mdiDragVertical}\n color={theme === Theme.dark ? ColorPalette.light : ColorPalette.dark}\n size={Size.xs}\n />\n </div>\n );\n});\nDragHandle.displayName = COMPONENT_NAME;\nDragHandle.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DragHandle","forwardRef","props","ref","className","theme","forwardedProps","classNames","handleBasicClasses","prefix","mdiDragVertical","Theme","dark","ColorPalette","light","Size","xs","displayName"],"mappings":";;;;;;AASA;;;;AAKA;;;AAGA,IAAMA,cAAc,GAAG,YAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;;;;;IAOaG,UAAiD,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAChFC,SADgF,GACxCF,KADwC,CAChFE,SADgF;AAAA,MACrEC,KADqE,GACxCH,KADwC,CACrEG,KADqE;AAAA,MAC3DC,cAD2D,4BACxCJ,KADwC;;AAGxF,SACI;AACI,IAAA,GAAG,EAAEC;AADT,KAEQG,cAFR;AAGI,IAAA,SAAS,EAAEC,UAAU,CAACH,SAAD,EAAYI,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEX,SAAV;AAAqBO,MAAAA,KAAK,EAALA;AAArB,KAAD,CAA9B;AAHzB,MAKI,oBAAC,IAAD;AACI,IAAA,IAAI,EAAEK,eADV;AAEI,IAAA,KAAK,EAAEL,KAAK,KAAKM,KAAK,CAACC,IAAhB,GAAuBC,YAAY,CAACC,KAApC,GAA4CD,YAAY,CAACD,IAFpE;AAGI,IAAA,IAAI,EAAEG,IAAI,CAACC;AAHf,IALJ,CADJ;AAaH,CAhB0E;AAiB3EhB,UAAU,CAACiB,WAAX,GAAyBpB,cAAzB;AACAG,UAAU,CAACI,SAAX,GAAuBN,SAAvB;;;;"}
@@ -37,4 +37,4 @@ var isComponentType = function isComponentType(type) {
37
37
  */
38
38
 
39
39
  export { isComponentType as a, isComponent as i };
40
- //# sourceMappingURL=type.js.map
40
+ //# sourceMappingURL=78ef8e34.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"78ef8e34.js","sources":["../../src/utils/type.ts"],"sourcesContent":["import get from 'lodash/get';\nimport React, { ReactElement, ReactNode, Ref } from 'react';\nimport { Theme } from '@lumx/react';\n\n/** Get types of the values of a record. */\nexport type ValueOf<T extends Record<any, any>> = T[keyof T];\n\n/**\n * Properties of a component to use to determine it's name.\n * In the order of preference.\n */\nconst NAME_PROPERTIES: string[] = [\n 'type',\n 'type.displayName',\n 'displayName',\n 'name',\n 'type.name',\n 'props.mdxType',\n '_reactInternalFiber.elementType.name',\n];\n\n/** LumX Component Type. */\nexport type Comp<P, T = HTMLElement> = {\n (props: P & { ref?: Ref<T> }): ReactElement | null;\n /** React component type. */\n readonly $$typeof: symbol;\n /** Component default props. */\n defaultProps?: Partial<P>;\n /** Component name. */\n displayName?: string;\n /** Component base class name. */\n className?: string;\n};\n\n/** Union type of all heading elements */\nexport type HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface HasTheme {\n /**\n * Theme adapting the component to light or dark background.\n */\n theme?: Theme;\n}\n\n/**\n * Define a generic props types.\n */\nexport interface GenericProps {\n /**\n * Class name forwarded to the root element of the component.\n */\n className?: string;\n /**\n * Any prop (particularly any supported prop for a HTML element).\n */\n [propName: string]: any;\n}\n\n/**\n * Callback function type alias (use for readability)\n */\nexport type Callback = () => void;\nexport type Predicate<T> = (t: T) => boolean;\n\n/**\n * Create a predicate function that checks if a ReactNode is a react element from the given component.\n *\n * @param component React function component or the component name\n * @return predicate returning true if value is instance of the component\n */\nexport const isComponent = <C>(component: Comp<C, any> | string) => (instance: ReactNode): instance is ReactElement => {\n const componentName = typeof component === 'string' ? component : component.displayName;\n\n return (\n !!get(instance, '$$typeof') &&\n NAME_PROPERTIES.some((nameProperty: string): boolean => get(instance, nameProperty) === componentName)\n );\n};\n\n/**\n * Similar to `isComponent` but more precise as it's not based on the component `displayName` but on the component function reference.\n */\nexport const isComponentType = (type: ReactElement['type']) => (node: ReactNode): node is ReactElement =>\n React.isValidElement(node) && node.type === type;\n\n/**\n * JS falsy values.\n * (excluding `NaN` as it can't be distinguished from `number`)\n */\nexport type Falsy = false | undefined | null | 0 | '';\n"],"names":["NAME_PROPERTIES","isComponent","component","instance","componentName","displayName","get","some","nameProperty","isComponentType","type","node","React","isValidElement"],"mappings":";;;AAOA;;;;AAIA,IAAMA,eAAyB,GAAG,CAC9B,MAD8B,EAE9B,kBAF8B,EAG9B,aAH8B,EAI9B,MAJ8B,EAK9B,WAL8B,EAM9B,eAN8B,EAO9B,sCAP8B,CAAlC;AAUA;;AA2CA;;;;;;IAMaC,WAAW,GAAG,SAAdA,WAAc,CAAIC,SAAJ;AAAA,SAAyC,UAACC,QAAD,EAAmD;AACnH,QAAMC,aAAa,GAAG,OAAOF,SAAP,KAAqB,QAArB,GAAgCA,SAAhC,GAA4CA,SAAS,CAACG,WAA5E;AAEA,WACI,CAAC,CAACC,GAAG,CAACH,QAAD,EAAW,UAAX,CAAL,IACAH,eAAe,CAACO,IAAhB,CAAqB,UAACC,YAAD;AAAA,aAAmCF,GAAG,CAACH,QAAD,EAAWK,YAAX,CAAH,KAAgCJ,aAAnE;AAAA,KAArB,CAFJ;AAIH,GAP0B;AAAA;AAS3B;;;;IAGaK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD;AAAA,SAAgC,UAACC,IAAD;AAAA,WAC3DC,KAAK,CAACC,cAAN,CAAqBF,IAArB,KAA8BA,IAAI,CAACD,IAAL,KAAcA,IADe;AAAA,GAAhC;AAAA;AAG/B;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ import { l as GenericProps, m as HasTheme, k as Comp } from './eca6d4dc.js';
2
+
3
+ /**
4
+ * Defines the props of the component.
5
+ */
6
+ interface DividerProps extends GenericProps, HasTheme {
7
+ }
8
+ /**
9
+ * Divider component.
10
+ *
11
+ * @param props Component props.
12
+ * @param ref Component ref.
13
+ * @return React element.
14
+ */
15
+ declare const Divider: Comp<DividerProps, HTMLHRElement>;
16
+
17
+ export { DividerProps as D, Divider as a };
@@ -0,0 +1,35 @@
1
+ import { K as Kind, k as Comp } from './eca6d4dc.js';
2
+ import { a as ButtonProps } from './fd1f4d68.js';
3
+ import { D as DialogProps } from './935ce959.js';
4
+
5
+ interface AlertDialogProps extends Omit<DialogProps, 'header' | 'footer'> {
6
+ /** Message variant. */
7
+ kind?: Kind;
8
+ /** Dialog title. */
9
+ title?: string;
10
+ /** Props forwarded to the confirm button */
11
+ confirmProps: ButtonProps & {
12
+ onClick(): void;
13
+ label: string;
14
+ };
15
+ /**
16
+ * Props forwarded to the cancel button.
17
+ * Will not render a cancel button if undefined.
18
+ */
19
+ cancelProps?: ButtonProps & {
20
+ onClick(): void;
21
+ label: string;
22
+ };
23
+ }
24
+ /**
25
+ * AlertDialog component.
26
+ *
27
+ * An alert dialog is a modal dialog that interrupts the user's workflow to
28
+ * communicate an important message and acquire a response.
29
+ *
30
+ * It should not have a complex content.
31
+ * Children of this component should only be strings, paragraphs or links.
32
+ */
33
+ declare const AlertDialog: Comp<AlertDialogProps, HTMLDivElement>;
34
+
35
+ export { AlertDialogProps as A, AlertDialog as a };
@@ -0,0 +1,20 @@
1
+ import { l as GenericProps, m as HasTheme, C as ColorPalette, k as Comp } from './eca6d4dc.js';
2
+
3
+ interface FlagProps extends GenericProps, HasTheme {
4
+ /** Color of the component. */
5
+ color?: ColorPalette;
6
+ /** Icon to use before the label. */
7
+ icon?: string;
8
+ /** Text label of the flag. */
9
+ label: string;
10
+ }
11
+ /**
12
+ * Flag component.
13
+ *
14
+ * @param props Component props.
15
+ * @param ref Component ref.
16
+ * @return React element.
17
+ */
18
+ declare const Flag: Comp<FlagProps, HTMLDivElement>;
19
+
20
+ export { FlagProps as F, Flag as a };
@@ -1,4 +1,4 @@
1
- import { d as _slicedToArray } from './_rollupPluginBabelHelpers.js';
1
+ import { d as _slicedToArray } from './6340c129.js';
2
2
  import { useState, useEffect, useRef } from 'react';
3
3
 
4
4
  /**
@@ -44,4 +44,4 @@ function useDelayedVisibility(isComponentVisible, transitionDuration, onVisibili
44
44
  }
45
45
 
46
46
  export { useDelayedVisibility as u };
47
- //# sourceMappingURL=useDelayedVisibility.js.map
47
+ //# sourceMappingURL=7e03266f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"7e03266f.js","sources":["../../src/hooks/useDelayedVisibility.tsx"],"sourcesContent":["import { useEffect, useState, useRef } from 'react';\n\n/**\n * Returns true if the component is visible taking into account the component's\n * own visibility and the animations delay\n *\n * @param isComponentVisible Whether the component intends to be visible or not.\n * @param transitionDuration time in ms that the transition takes for the specific component.\n * @param onVisibilityChange Callback called when the visibility changes.\n * @return true if the component should be rendered\n */\nexport function useDelayedVisibility(\n isComponentVisible: boolean,\n transitionDuration: number,\n onVisibilityChange?: (isVisible: boolean) => void,\n): boolean {\n // Delay visibility to account for the 400ms of CSS opacity animation.\n const [isVisible, setVisible] = useState(isComponentVisible);\n\n useEffect(() => {\n if (isComponentVisible) {\n setVisible(true);\n } else {\n setTimeout(() => setVisible(false), transitionDuration);\n }\n }, [isComponentVisible, transitionDuration]);\n\n /**\n * Since we don't want onVisibiltyChange function to trigger itself if when it changes,\n * we store the previous visibility and only trigger when visibility is different\n * than previous value.\n */\n\n const previousVisibility = useRef(isVisible);\n\n useEffect(() => {\n if (onVisibilityChange && previousVisibility.current !== isVisible) {\n onVisibilityChange(isVisible);\n previousVisibility.current = isVisible;\n }\n }, [isVisible, onVisibilityChange]);\n\n return isComponentVisible || isVisible;\n}\n"],"names":["useDelayedVisibility","isComponentVisible","transitionDuration","onVisibilityChange","useState","isVisible","setVisible","useEffect","setTimeout","previousVisibility","useRef","current"],"mappings":";;;AAEA;;;;;;;;;;AASO,SAASA,oBAAT,CACHC,kBADG,EAEHC,kBAFG,EAGHC,kBAHG,EAII;AACP;AADO,kBAEyBC,QAAQ,CAACH,kBAAD,CAFjC;AAAA;AAAA,MAEAI,SAFA;AAAA,MAEWC,UAFX;;AAIPC,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAIN,kBAAJ,EAAwB;AACpBK,MAAAA,UAAU,CAAC,IAAD,CAAV;AACH,KAFD,MAEO;AACHE,MAAAA,UAAU,CAAC;AAAA,eAAMF,UAAU,CAAC,KAAD,CAAhB;AAAA,OAAD,EAA0BJ,kBAA1B,CAAV;AACH;AACJ,GANQ,EAMN,CAACD,kBAAD,EAAqBC,kBAArB,CANM,CAAT;AAQA;;;;;;AAMA,MAAMO,kBAAkB,GAAGC,MAAM,CAACL,SAAD,CAAjC;AAEAE,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAIJ,kBAAkB,IAAIM,kBAAkB,CAACE,OAAnB,KAA+BN,SAAzD,EAAoE;AAChEF,MAAAA,kBAAkB,CAACE,SAAD,CAAlB;AACAI,MAAAA,kBAAkB,CAACE,OAAnB,GAA6BN,SAA7B;AACH;AACJ,GALQ,EAKN,CAACA,SAAD,EAAYF,kBAAZ,CALM,CAAT;AAOA,SAAOF,kBAAkB,IAAII,SAA7B;AACH;;;;"}