@lumx/react 3.20.1-alpha.25 → 3.20.1-alpha.27

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 (710) hide show
  1. package/_internal/Button-2b55a913.js +97 -0
  2. package/_internal/Button-2b55a913.js.map +1 -0
  3. package/_internal/ButtonRoot-823f3e9c.js +117 -0
  4. package/_internal/ButtonRoot-823f3e9c.js.map +1 -0
  5. package/_internal/Chip-e1e85810.js +143 -0
  6. package/_internal/Chip-e1e85810.js.map +1 -0
  7. package/_internal/ClickAwayProvider-1204f237.js +95 -0
  8. package/_internal/ClickAwayProvider-1204f237.js.map +1 -0
  9. package/_internal/DisabledStateContext-ea04260d.js +29 -0
  10. package/_internal/DisabledStateContext-ea04260d.js.map +1 -0
  11. package/_internal/HeadingLevelProvider-ebdcb0c7.js +61 -0
  12. package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +1 -0
  13. package/_internal/IconButton-be160cb0.js +77 -0
  14. package/_internal/IconButton-be160cb0.js.map +1 -0
  15. package/_internal/ImageCaption-fcf5720c.js +75 -0
  16. package/_internal/ImageCaption-fcf5720c.js.map +1 -0
  17. package/_internal/List-dbf4297f.js +791 -0
  18. package/_internal/List-dbf4297f.js.map +1 -0
  19. package/_internal/PopoverDialog-193a0918.js +655 -0
  20. package/_internal/PopoverDialog-193a0918.js.map +1 -0
  21. package/_internal/Portal-3f86608e.js +45 -0
  22. package/_internal/Portal-3f86608e.js.map +1 -0
  23. package/_internal/RawClickable-2c2b6a89.js +52 -0
  24. package/_internal/RawClickable-2c2b6a89.js.map +1 -0
  25. package/_internal/Slides-2d267d8c.js +679 -0
  26. package/_internal/Slides-2d267d8c.js.map +1 -0
  27. package/_internal/ThemeContext-3181f000.js +14 -0
  28. package/_internal/ThemeContext-3181f000.js.map +1 -0
  29. package/_internal/Thumbnail-0872250e.js +314 -0
  30. package/_internal/Thumbnail-0872250e.js.map +1 -0
  31. package/_internal/check-circle-de24f857.js +4 -0
  32. package/_internal/check-circle-de24f857.js.map +1 -0
  33. package/_internal/chevron-right-827b804a.js +6 -0
  34. package/_internal/chevron-right-827b804a.js.map +1 -0
  35. package/_internal/chevron-up-0b9c76cb.js +6 -0
  36. package/_internal/chevron-up-0b9c76cb.js.map +1 -0
  37. package/_internal/close-circle-ef5d1aac.js +4 -0
  38. package/_internal/close-circle-ef5d1aac.js.map +1 -0
  39. package/_internal/close-eaf6c45a.js +4 -0
  40. package/_internal/close-eaf6c45a.js.map +1 -0
  41. package/_internal/components/alert-dialog-a6ed922b.js +163 -0
  42. package/_internal/components/alert-dialog-a6ed922b.js.map +1 -0
  43. package/_internal/components/autocomplete-c97b7698.js +261 -0
  44. package/_internal/components/autocomplete-c97b7698.js.map +1 -0
  45. package/_internal/components/avatar-d2214a61.js +83 -0
  46. package/_internal/components/avatar-d2214a61.js.map +1 -0
  47. package/_internal/components/badge-8390e590.js +81 -0
  48. package/_internal/components/badge-8390e590.js.map +1 -0
  49. package/_internal/components/button-b05f8f0c.js +47 -0
  50. package/_internal/components/button-b05f8f0c.js.map +1 -0
  51. package/_internal/components/checkbox-346834f8.js +143 -0
  52. package/_internal/components/checkbox-346834f8.js.map +1 -0
  53. package/_internal/components/chip-e3a6330f.js +102 -0
  54. package/_internal/components/chip-e3a6330f.js.map +1 -0
  55. package/_internal/components/comment-block-b1acc69f.js +138 -0
  56. package/_internal/components/comment-block-b1acc69f.js.map +1 -0
  57. package/_internal/components/date-picker-582c4925.js +2 -0
  58. package/_internal/components/date-picker-582c4925.js.map +1 -0
  59. package/_internal/components/dialog-785646aa.js +238 -0
  60. package/_internal/components/dialog-785646aa.js.map +1 -0
  61. package/_internal/components/divider-116af6b9.js +50 -0
  62. package/_internal/components/divider-116af6b9.js.map +1 -0
  63. package/_internal/components/drag-handle-6b073866.js +52 -0
  64. package/_internal/components/drag-handle-6b073866.js.map +1 -0
  65. package/_internal/components/dropdown-c0c0cfe8.js +147 -0
  66. package/_internal/components/dropdown-c0c0cfe8.js.map +1 -0
  67. package/_internal/components/expansion-panel-1de1d1ff.js +167 -0
  68. package/_internal/components/expansion-panel-1de1d1ff.js.map +1 -0
  69. package/_internal/components/flag-7c9d3abf.js +59 -0
  70. package/_internal/components/flag-7c9d3abf.js.map +1 -0
  71. package/_internal/components/flex-box-10423fa5.js +56 -0
  72. package/_internal/components/flex-box-10423fa5.js.map +1 -0
  73. package/_internal/components/generic-block-b79f163a.js +128 -0
  74. package/_internal/components/generic-block-b79f163a.js.map +1 -0
  75. package/_internal/components/grid-6f1b5a41.js +104 -0
  76. package/_internal/components/grid-6f1b5a41.js.map +1 -0
  77. package/_internal/components/grid-column-ee504283.js +58 -0
  78. package/_internal/components/grid-column-ee504283.js.map +1 -0
  79. package/_internal/components/heading-d4c66a34.js +53 -0
  80. package/_internal/components/heading-d4c66a34.js.map +1 -0
  81. package/_internal/components/icon-7c79ab42.js +2 -0
  82. package/_internal/components/icon-7c79ab42.js.map +1 -0
  83. package/_internal/components/image-block-762eb669.js +110 -0
  84. package/_internal/components/image-block-762eb669.js.map +1 -0
  85. package/_internal/components/image-lightbox-10fef304.js +759 -0
  86. package/_internal/components/image-lightbox-10fef304.js.map +1 -0
  87. package/_internal/components/inline-list-e6f19a98.js +74 -0
  88. package/_internal/components/inline-list-e6f19a98.js.map +1 -0
  89. package/_internal/components/input-helper-64153099.js +71 -0
  90. package/_internal/components/input-helper-64153099.js.map +1 -0
  91. package/_internal/components/input-label-2feb0bb0.js +59 -0
  92. package/_internal/components/input-label-2feb0bb0.js.map +1 -0
  93. package/_internal/components/lightbox-dcc9a7a0.js +155 -0
  94. package/_internal/components/lightbox-dcc9a7a0.js.map +1 -0
  95. package/_internal/components/link-f9421eab.js +72 -0
  96. package/_internal/components/link-f9421eab.js.map +1 -0
  97. package/_internal/components/link-preview-5c7e3878.js +117 -0
  98. package/_internal/components/link-preview-5c7e3878.js.map +1 -0
  99. package/_internal/components/list-f29e54b7.js +71 -0
  100. package/_internal/components/list-f29e54b7.js.map +1 -0
  101. package/_internal/components/message-aa3e3f76.js +98 -0
  102. package/_internal/components/message-aa3e3f76.js.map +1 -0
  103. package/_internal/components/mosaic-b4b35fa7.js +94 -0
  104. package/_internal/components/mosaic-b4b35fa7.js.map +1 -0
  105. package/_internal/components/navigation-8357dbe6.js +225 -0
  106. package/_internal/components/navigation-8357dbe6.js.map +1 -0
  107. package/_internal/components/notification-ec4cf95f.js +143 -0
  108. package/_internal/components/notification-ec4cf95f.js.map +1 -0
  109. package/_internal/components/popover-a674dd8d.js +3 -0
  110. package/_internal/components/popover-a674dd8d.js.map +1 -0
  111. package/_internal/components/post-block-bb3d3cbf.js +109 -0
  112. package/_internal/components/post-block-bb3d3cbf.js.map +1 -0
  113. package/_internal/components/progress-f39c3fa2.js +182 -0
  114. package/_internal/components/progress-f39c3fa2.js.map +1 -0
  115. package/_internal/components/progress-tracker-997931ac.js +309 -0
  116. package/_internal/components/progress-tracker-997931ac.js.map +1 -0
  117. package/_internal/components/radio-button-559a4863.js +149 -0
  118. package/_internal/components/radio-button-559a4863.js.map +1 -0
  119. package/_internal/components/select-8295a416.js +457 -0
  120. package/_internal/components/select-8295a416.js.map +1 -0
  121. package/_internal/components/side-navigation-40ee8bda.js +164 -0
  122. package/_internal/components/side-navigation-40ee8bda.js.map +1 -0
  123. package/_internal/components/skeleton-c66516ee.js +166 -0
  124. package/_internal/components/skeleton-c66516ee.js.map +1 -0
  125. package/_internal/components/slider-efbfbc45.js +311 -0
  126. package/_internal/components/slider-efbfbc45.js.map +1 -0
  127. package/_internal/components/slideshow-c5faf531.js +151 -0
  128. package/_internal/components/slideshow-c5faf531.js.map +1 -0
  129. package/_internal/components/switch-a26a5a72.js +121 -0
  130. package/_internal/components/switch-a26a5a72.js.map +1 -0
  131. package/_internal/components/table-c43ec4a5.js +297 -0
  132. package/_internal/components/table-c43ec4a5.js.map +1 -0
  133. package/_internal/components/tabs-4037fe57.js +298 -0
  134. package/_internal/components/tabs-4037fe57.js.map +1 -0
  135. package/_internal/components/text-851c62f8.js +2 -0
  136. package/_internal/components/text-851c62f8.js.map +1 -0
  137. package/_internal/components/text-field-82adaeb4.js +359 -0
  138. package/_internal/components/text-field-82adaeb4.js.map +1 -0
  139. package/_internal/components/thumbnail-f1784929.js +42 -0
  140. package/_internal/components/thumbnail-f1784929.js.map +1 -0
  141. package/_internal/components/toolbar-a43533a2.js +61 -0
  142. package/_internal/components/toolbar-a43533a2.js.map +1 -0
  143. package/_internal/components/tooltip-aa48ddda.js +327 -0
  144. package/_internal/components/tooltip-aa48ddda.js.map +1 -0
  145. package/_internal/components/uploader-7bc3adaa.js +153 -0
  146. package/_internal/components/uploader-7bc3adaa.js.map +1 -0
  147. package/_internal/components/user-block-fc03f01a.js +144 -0
  148. package/_internal/components/user-block-fc03f01a.js.map +1 -0
  149. package/_internal/constants-b9e57936.js +2155 -0
  150. package/_internal/constants-b9e57936.js.map +1 -0
  151. package/_internal/constants-d0e3f49e.js +24 -0
  152. package/_internal/constants-d0e3f49e.js.map +1 -0
  153. package/_internal/context-9d1336a1.js +19 -0
  154. package/_internal/context-9d1336a1.js.map +1 -0
  155. package/_internal/forwardRef-15f62847.js +70 -0
  156. package/_internal/forwardRef-15f62847.js.map +1 -0
  157. package/_internal/getFocusableElements-230173a8.js +13 -0
  158. package/_internal/getFocusableElements-230173a8.js.map +1 -0
  159. package/_internal/index-192f8ada.js +103 -0
  160. package/_internal/index-192f8ada.js.map +1 -0
  161. package/_internal/index-8e7fecb5.js +436 -0
  162. package/_internal/index-8e7fecb5.js.map +1 -0
  163. package/_internal/index-b06353f2.js +117 -0
  164. package/_internal/index-b06353f2.js.map +1 -0
  165. package/_internal/information-49bbeed3.js +6 -0
  166. package/_internal/information-49bbeed3.js.map +1 -0
  167. package/_internal/isComponent-b9762ff1.js +18 -0
  168. package/_internal/isComponent-b9762ff1.js.map +1 -0
  169. package/_internal/isComponentType-e806b848.js +9 -0
  170. package/_internal/isComponentType-e806b848.js.map +1 -0
  171. package/_internal/mergeRefs-f0d7d6ea.js +30 -0
  172. package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
  173. package/_internal/state-db358714.js +130 -0
  174. package/_internal/state-db358714.js.map +1 -0
  175. package/_internal/useBooleanState-2a3d237c.js +12 -0
  176. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  177. package/_internal/useCallbackOnEscape-0b220f9c.js +62 -0
  178. package/_internal/useCallbackOnEscape-0b220f9c.js.map +1 -0
  179. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  180. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  181. package/_internal/useDisableStateProps-69e16b7c.js +36 -0
  182. package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
  183. package/_internal/useFocusTrap-3114e5e8.js +112 -0
  184. package/_internal/useFocusTrap-3114e5e8.js.map +1 -0
  185. package/_internal/useId-3a1facc0.js +18 -0
  186. package/_internal/useId-3a1facc0.js.map +1 -0
  187. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  188. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  189. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  190. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  191. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js +20 -0
  192. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js.map +1 -0
  193. package/index.d.ts +11 -367
  194. package/index.js +65 -14486
  195. package/index.js.map +1 -1
  196. package/package.json +4 -11
  197. package/utils/index.d.ts +1 -1
  198. package/utils/index.js +3 -1
  199. package/utils/index.js.map +1 -1
  200. package/_internal/Falsy.d.ts +0 -7
  201. package/_internal/index.js +0 -236
  202. package/_internal/index.js.map +0 -1
  203. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  204. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
  205. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  206. package/src/components/alert-dialog/index.ts +0 -1
  207. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  208. package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
  209. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  210. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  211. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
  212. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  213. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  214. package/src/components/autocomplete/index.ts +0 -2
  215. package/src/components/avatar/Avatar.stories.tsx +0 -119
  216. package/src/components/avatar/Avatar.test.tsx +0 -32
  217. package/src/components/avatar/Avatar.tsx +0 -114
  218. package/src/components/avatar/index.ts +0 -1
  219. package/src/components/badge/Badge.stories.tsx +0 -69
  220. package/src/components/badge/Badge.test.tsx +0 -45
  221. package/src/components/badge/Badge.tsx +0 -58
  222. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  223. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  224. package/src/components/badge/BadgeWrapper.tsx +0 -37
  225. package/src/components/badge/index.ts +0 -2
  226. package/src/components/button/Button.stories.tsx +0 -355
  227. package/src/components/button/Button.test.tsx +0 -125
  228. package/src/components/button/Button.tsx +0 -101
  229. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  230. package/src/components/button/ButtonGroup.test.tsx +0 -41
  231. package/src/components/button/ButtonGroup.tsx +0 -50
  232. package/src/components/button/ButtonRoot.tsx +0 -163
  233. package/src/components/button/IconButton.stories.tsx +0 -52
  234. package/src/components/button/IconButton.test.tsx +0 -66
  235. package/src/components/button/IconButton.tsx +0 -91
  236. package/src/components/button/index.ts +0 -4
  237. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  238. package/src/components/checkbox/Checkbox.test.tsx +0 -154
  239. package/src/components/checkbox/Checkbox.tsx +0 -164
  240. package/src/components/checkbox/index.ts +0 -1
  241. package/src/components/chip/Chip.stories.tsx +0 -164
  242. package/src/components/chip/Chip.test.tsx +0 -243
  243. package/src/components/chip/Chip.tsx +0 -168
  244. package/src/components/chip/ChipGroup.stories.tsx +0 -47
  245. package/src/components/chip/ChipGroup.test.tsx +0 -37
  246. package/src/components/chip/ChipGroup.tsx +0 -60
  247. package/src/components/chip/index.ts +0 -2
  248. package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
  249. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  250. package/src/components/comment-block/CommentBlock.tsx +0 -172
  251. package/src/components/comment-block/index.ts +0 -1
  252. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  253. package/src/components/date-picker/DatePicker.test.tsx +0 -34
  254. package/src/components/date-picker/DatePicker.tsx +0 -52
  255. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  256. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  257. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  258. package/src/components/date-picker/DatePickerField.test.tsx +0 -70
  259. package/src/components/date-picker/DatePickerField.tsx +0 -135
  260. package/src/components/date-picker/constants.ts +0 -11
  261. package/src/components/date-picker/index.ts +0 -4
  262. package/src/components/date-picker/types.ts +0 -28
  263. package/src/components/dialog/Dialog.stories.tsx +0 -318
  264. package/src/components/dialog/Dialog.test.tsx +0 -97
  265. package/src/components/dialog/Dialog.tsx +0 -288
  266. package/src/components/dialog/index.ts +0 -1
  267. package/src/components/divider/Divider.test.tsx +0 -51
  268. package/src/components/divider/Divider.tsx +0 -50
  269. package/src/components/divider/index.ts +0 -1
  270. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  271. package/src/components/drag-handle/DragHandle.tsx +0 -51
  272. package/src/components/drag-handle/index.ts +0 -1
  273. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  274. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  275. package/src/components/dropdown/Dropdown.tsx +0 -186
  276. package/src/components/dropdown/index.ts +0 -1
  277. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  278. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
  279. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  280. package/src/components/expansion-panel/index.ts +0 -1
  281. package/src/components/flag/Flag.stories.tsx +0 -48
  282. package/src/components/flag/Flag.test.tsx +0 -62
  283. package/src/components/flag/Flag.tsx +0 -52
  284. package/src/components/flag/index.ts +0 -1
  285. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  286. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  287. package/src/components/flex-box/FlexBox.tsx +0 -100
  288. package/src/components/flex-box/index.ts +0 -1
  289. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  290. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  291. package/src/components/generic-block/GenericBlock.tsx +0 -225
  292. package/src/components/generic-block/constants.ts +0 -9
  293. package/src/components/generic-block/index.ts +0 -2
  294. package/src/components/grid/Grid.tsx +0 -83
  295. package/src/components/grid/GridItem.tsx +0 -55
  296. package/src/components/grid/index.ts +0 -2
  297. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  298. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  299. package/src/components/grid-column/GridColumn.tsx +0 -83
  300. package/src/components/grid-column/index.ts +0 -1
  301. package/src/components/heading/Heading.stories.tsx +0 -69
  302. package/src/components/heading/Heading.test.tsx +0 -82
  303. package/src/components/heading/Heading.tsx +0 -65
  304. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  305. package/src/components/heading/constants.ts +0 -16
  306. package/src/components/heading/context.tsx +0 -13
  307. package/src/components/heading/index.ts +0 -3
  308. package/src/components/heading/useHeadingLevel.tsx +0 -8
  309. package/src/components/icon/Icon.stories.tsx +0 -73
  310. package/src/components/icon/Icon.test.tsx +0 -125
  311. package/src/components/icon/Icon.tsx +0 -133
  312. package/src/components/icon/index.ts +0 -1
  313. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  314. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  315. package/src/components/image-block/ImageBlock.tsx +0 -142
  316. package/src/components/image-block/ImageCaption.tsx +0 -115
  317. package/src/components/image-block/index.ts +0 -1
  318. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
  319. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  320. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  321. package/src/components/image-lightbox/constants.ts +0 -11
  322. package/src/components/image-lightbox/index.ts +0 -2
  323. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  324. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  325. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  326. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  327. package/src/components/image-lightbox/types.ts +0 -48
  328. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  329. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  330. package/src/components/inline-list/InlineList.test.tsx +0 -52
  331. package/src/components/inline-list/InlineList.tsx +0 -96
  332. package/src/components/inline-list/index.ts +0 -1
  333. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  334. package/src/components/input-helper/InputHelper.test.tsx +0 -55
  335. package/src/components/input-helper/InputHelper.tsx +0 -65
  336. package/src/components/input-helper/constants.ts +0 -11
  337. package/src/components/input-helper/index.ts +0 -1
  338. package/src/components/input-label/InputLabel.stories.tsx +0 -45
  339. package/src/components/input-label/InputLabel.test.tsx +0 -59
  340. package/src/components/input-label/InputLabel.tsx +0 -69
  341. package/src/components/input-label/index.ts +0 -1
  342. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  343. package/src/components/lightbox/Lightbox.test.tsx +0 -53
  344. package/src/components/lightbox/Lightbox.tsx +0 -180
  345. package/src/components/lightbox/index.ts +0 -1
  346. package/src/components/link/Link.stories.tsx +0 -195
  347. package/src/components/link/Link.test.tsx +0 -127
  348. package/src/components/link/Link.tsx +0 -106
  349. package/src/components/link/index.ts +0 -1
  350. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  351. package/src/components/link-preview/LinkPreview.test.tsx +0 -105
  352. package/src/components/link-preview/LinkPreview.tsx +0 -158
  353. package/src/components/link-preview/index.ts +0 -1
  354. package/src/components/list/List.stories.tsx +0 -116
  355. package/src/components/list/List.test.tsx +0 -18
  356. package/src/components/list/List.tsx +0 -104
  357. package/src/components/list/ListDivider.stories.tsx +0 -12
  358. package/src/components/list/ListDivider.test.tsx +0 -22
  359. package/src/components/list/ListDivider.tsx +0 -35
  360. package/src/components/list/ListItem.stories.tsx +0 -66
  361. package/src/components/list/ListItem.test.tsx +0 -93
  362. package/src/components/list/ListItem.tsx +0 -157
  363. package/src/components/list/ListSubheader.stories.tsx +0 -11
  364. package/src/components/list/ListSubheader.test.tsx +0 -21
  365. package/src/components/list/ListSubheader.tsx +0 -44
  366. package/src/components/list/index.ts +0 -4
  367. package/src/components/list/useInteractiveList.tsx +0 -202
  368. package/src/components/message/Message.stories.tsx +0 -72
  369. package/src/components/message/Message.test.tsx +0 -76
  370. package/src/components/message/Message.tsx +0 -100
  371. package/src/components/message/index.ts +0 -1
  372. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  373. package/src/components/mosaic/Mosaic.test.tsx +0 -77
  374. package/src/components/mosaic/Mosaic.tsx +0 -98
  375. package/src/components/mosaic/index.ts +0 -1
  376. package/src/components/navigation/Navigation.stories.tsx +0 -234
  377. package/src/components/navigation/Navigation.test.tsx +0 -65
  378. package/src/components/navigation/Navigation.tsx +0 -79
  379. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  380. package/src/components/navigation/NavigationItem.tsx +0 -82
  381. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  382. package/src/components/navigation/NavigationSection.tsx +0 -108
  383. package/src/components/navigation/context.tsx +0 -7
  384. package/src/components/navigation/index.ts +0 -1
  385. package/src/components/notification/Notification.test.tsx +0 -94
  386. package/src/components/notification/Notification.tsx +0 -138
  387. package/src/components/notification/Notifications.stories.tsx +0 -92
  388. package/src/components/notification/constants.ts +0 -28
  389. package/src/components/notification/index.ts +0 -1
  390. package/src/components/popover/Popover.stories.tsx +0 -264
  391. package/src/components/popover/Popover.test.tsx +0 -62
  392. package/src/components/popover/Popover.tsx +0 -201
  393. package/src/components/popover/constants.ts +0 -62
  394. package/src/components/popover/index.ts +0 -3
  395. package/src/components/popover/usePopoverStyle.tsx +0 -184
  396. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  397. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  398. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
  399. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  400. package/src/components/popover-dialog/index.tsx +0 -1
  401. package/src/components/post-block/PostBlock.test.tsx +0 -27
  402. package/src/components/post-block/PostBlock.tsx +0 -122
  403. package/src/components/post-block/index.ts +0 -1
  404. package/src/components/progress/Progress.tsx +0 -68
  405. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  406. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  407. package/src/components/progress/ProgressCircular.tsx +0 -82
  408. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  409. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  410. package/src/components/progress/ProgressLinear.tsx +0 -50
  411. package/src/components/progress/index.ts +0 -3
  412. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  413. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
  414. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  415. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  416. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  417. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  418. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  419. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  420. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  421. package/src/components/progress-tracker/index.ts +0 -4
  422. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  423. package/src/components/radio-button/RadioButton.test.tsx +0 -143
  424. package/src/components/radio-button/RadioButton.tsx +0 -143
  425. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  426. package/src/components/radio-button/RadioGroup.test.tsx +0 -29
  427. package/src/components/radio-button/RadioGroup.tsx +0 -44
  428. package/src/components/radio-button/index.ts +0 -2
  429. package/src/components/select/Select.stories.tsx +0 -385
  430. package/src/components/select/Select.test.tsx +0 -199
  431. package/src/components/select/Select.tsx +0 -199
  432. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  433. package/src/components/select/SelectMultiple.test.tsx +0 -213
  434. package/src/components/select/SelectMultiple.tsx +0 -206
  435. package/src/components/select/WithSelectContext.tsx +0 -147
  436. package/src/components/select/constants.ts +0 -55
  437. package/src/components/select/index.ts +0 -2
  438. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  439. package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
  440. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  441. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  442. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
  443. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  444. package/src/components/side-navigation/index.ts +0 -2
  445. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  446. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
  447. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  448. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  449. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  450. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  451. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  452. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  453. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  454. package/src/components/skeleton/index.ts +0 -3
  455. package/src/components/slider/Slider.stories.tsx +0 -45
  456. package/src/components/slider/Slider.test.tsx +0 -29
  457. package/src/components/slider/Slider.tsx +0 -299
  458. package/src/components/slider/index.ts +0 -2
  459. package/src/components/slideshow/Slides.tsx +0 -130
  460. package/src/components/slideshow/Slideshow.stories.tsx +0 -179
  461. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  462. package/src/components/slideshow/Slideshow.tsx +0 -173
  463. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  464. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  465. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  466. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  467. package/src/components/slideshow/constants.ts +0 -24
  468. package/src/components/slideshow/index.ts +0 -4
  469. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  470. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  471. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  472. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  473. package/src/components/switch/Switch.stories.tsx +0 -49
  474. package/src/components/switch/Switch.test.tsx +0 -144
  475. package/src/components/switch/Switch.tsx +0 -145
  476. package/src/components/switch/index.ts +0 -1
  477. package/src/components/table/Table.test.tsx +0 -29
  478. package/src/components/table/Table.tsx +0 -59
  479. package/src/components/table/TableBody.test.tsx +0 -30
  480. package/src/components/table/TableBody.tsx +0 -42
  481. package/src/components/table/TableCell.test.tsx +0 -72
  482. package/src/components/table/TableCell.tsx +0 -130
  483. package/src/components/table/TableHeader.test.tsx +0 -30
  484. package/src/components/table/TableHeader.tsx +0 -48
  485. package/src/components/table/TableRow.test.tsx +0 -40
  486. package/src/components/table/TableRow.tsx +0 -71
  487. package/src/components/table/index.ts +0 -5
  488. package/src/components/tabs/Tab.test.tsx +0 -50
  489. package/src/components/tabs/Tab.tsx +0 -133
  490. package/src/components/tabs/TabList.test.tsx +0 -49
  491. package/src/components/tabs/TabList.tsx +0 -94
  492. package/src/components/tabs/TabPanel.test.tsx +0 -37
  493. package/src/components/tabs/TabPanel.tsx +0 -67
  494. package/src/components/tabs/TabProvider.test.tsx +0 -161
  495. package/src/components/tabs/TabProvider.tsx +0 -67
  496. package/src/components/tabs/Tabs.stories.tsx +0 -170
  497. package/src/components/tabs/index.ts +0 -4
  498. package/src/components/tabs/state.ts +0 -114
  499. package/src/components/tabs/test-utils.ts +0 -39
  500. package/src/components/text/Text.stories.tsx +0 -177
  501. package/src/components/text/Text.test.tsx +0 -92
  502. package/src/components/text/Text.tsx +0 -139
  503. package/src/components/text/index.ts +0 -1
  504. package/src/components/text-field/TextField.stories.tsx +0 -180
  505. package/src/components/text-field/TextField.test.tsx +0 -298
  506. package/src/components/text-field/TextField.tsx +0 -493
  507. package/src/components/text-field/index.ts +0 -1
  508. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  509. package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
  510. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  511. package/src/components/thumbnail/index.ts +0 -3
  512. package/src/components/thumbnail/types.ts +0 -48
  513. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  514. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  515. package/src/components/thumbnail/useImageLoad.ts +0 -40
  516. package/src/components/toolbar/Toolbar.tsx +0 -68
  517. package/src/components/toolbar/index.ts +0 -1
  518. package/src/components/tooltip/Tooltip.stories.tsx +0 -118
  519. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  520. package/src/components/tooltip/Tooltip.tsx +0 -165
  521. package/src/components/tooltip/constants.ts +0 -8
  522. package/src/components/tooltip/context.tsx +0 -17
  523. package/src/components/tooltip/index.ts +0 -1
  524. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  525. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  526. package/src/components/uploader/Uploader.stories.tsx +0 -109
  527. package/src/components/uploader/Uploader.test.tsx +0 -146
  528. package/src/components/uploader/Uploader.tsx +0 -177
  529. package/src/components/uploader/index.ts +0 -1
  530. package/src/components/user-block/UserBlock.stories.tsx +0 -133
  531. package/src/components/user-block/UserBlock.test.tsx +0 -106
  532. package/src/components/user-block/UserBlock.tsx +0 -193
  533. package/src/components/user-block/index.ts +0 -1
  534. package/src/constants.ts +0 -27
  535. package/src/hooks/useBooleanState.tsx +0 -13
  536. package/src/hooks/useCallbackOnEscape.ts +0 -34
  537. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  538. package/src/hooks/useClickAway.tsx +0 -48
  539. package/src/hooks/useDisableBodyScroll.ts +0 -28
  540. package/src/hooks/useEventCallback.tsx +0 -17
  541. package/src/hooks/useFocus.tsx +0 -21
  542. package/src/hooks/useFocusTrap.ts +0 -93
  543. package/src/hooks/useFocusWithin.ts +0 -33
  544. package/src/hooks/useId.test.tsx +0 -22
  545. package/src/hooks/useId.ts +0 -15
  546. package/src/hooks/useImageSize.ts +0 -17
  547. package/src/hooks/useInfiniteScroll.tsx +0 -60
  548. package/src/hooks/useIntersectionObserver.tsx +0 -43
  549. package/src/hooks/useInterval.tsx +0 -31
  550. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  551. package/src/hooks/useListenFocus.tsx +0 -26
  552. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  553. package/src/hooks/usePopper.ts +0 -12
  554. package/src/hooks/usePreviousValue.ts +0 -12
  555. package/src/hooks/useRovingTabIndex.tsx +0 -90
  556. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  557. package/src/hooks/useSlideshowControls.ts +0 -246
  558. package/src/hooks/useStopPropagation.ts +0 -21
  559. package/src/hooks/useTransitionVisibility.ts +0 -48
  560. package/src/index.ts +0 -63
  561. package/src/stories/controls/color.ts +0 -7
  562. package/src/stories/controls/element.ts +0 -6
  563. package/src/stories/controls/focusPoint.ts +0 -1
  564. package/src/stories/controls/icons.ts +0 -126
  565. package/src/stories/controls/image.ts +0 -84
  566. package/src/stories/controls/selectArgType.ts +0 -8
  567. package/src/stories/controls/theme.ts +0 -3
  568. package/src/stories/controls/typography.ts +0 -5
  569. package/src/stories/controls/withUndefined.ts +0 -1
  570. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
  571. package/src/stories/decorators/withCombinations.tsx +0 -132
  572. package/src/stories/decorators/withNestedProps.tsx +0 -22
  573. package/src/stories/decorators/withResizableBox.tsx +0 -21
  574. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  575. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  576. package/src/stories/decorators/withWrapper.tsx +0 -19
  577. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  578. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  579. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  580. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  581. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  582. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  583. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  584. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  585. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  586. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  587. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  588. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  589. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  590. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  591. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  592. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  593. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  594. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  595. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  596. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  597. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  598. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  599. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  600. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  601. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  602. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  604. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  605. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  606. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  607. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  608. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  609. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  610. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  611. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  612. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  613. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  614. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  615. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  616. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  617. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  618. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  619. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  620. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  621. package/src/stories/utils/CustomLink.tsx +0 -12
  622. package/src/stories/utils/concatPath.tsx +0 -17
  623. package/src/stories/utils/disableArgTypes.ts +0 -3
  624. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  625. package/src/stories/utils/lorem.ts +0 -59
  626. package/src/stories/utils/theming.tsx +0 -166
  627. package/src/stories/utils/toFlattenProps.ts +0 -28
  628. package/src/stories/utils/withCategory.ts +0 -12
  629. package/src/testing/utils/ThemeSentinel.tsx +0 -10
  630. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  631. package/src/testing/utils/index.ts +0 -1
  632. package/src/testing/utils/queries.ts +0 -19
  633. package/src/untypped-modules.d.ts +0 -9
  634. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  635. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  636. package/src/utils/ClickAwayProvider/index.ts +0 -1
  637. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  638. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  639. package/src/utils/Portal/Portal.test.tsx +0 -31
  640. package/src/utils/Portal/Portal.tsx +0 -33
  641. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  642. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  643. package/src/utils/Portal/PortalProvider.tsx +0 -24
  644. package/src/utils/Portal/index.tsx +0 -2
  645. package/src/utils/browser/DOM/findImage.tsx +0 -3
  646. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  647. package/src/utils/browser/focus/constants.ts +0 -7
  648. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  649. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  650. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  651. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  652. package/src/utils/browser/isFocusVisible.ts +0 -9
  653. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  654. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  655. package/src/utils/browser/isReducedMotion.ts +0 -6
  656. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  657. package/src/utils/date/addMonthResetDay.ts +0 -9
  658. package/src/utils/date/formatDayNumber.test.ts +0 -12
  659. package/src/utils/date/formatDayNumber.ts +0 -5
  660. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  661. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  662. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  663. package/src/utils/date/getMonthCalendar.ts +0 -69
  664. package/src/utils/date/getWeekDays.test.ts +0 -48
  665. package/src/utils/date/getWeekDays.ts +0 -34
  666. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  667. package/src/utils/date/getYearDisplayName.ts +0 -12
  668. package/src/utils/date/isDateValid.test.ts +0 -15
  669. package/src/utils/date/isDateValid.ts +0 -4
  670. package/src/utils/date/isSameDay.test.ts +0 -37
  671. package/src/utils/date/isSameDay.ts +0 -11
  672. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  673. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
  674. package/src/utils/disabled/index.ts +0 -2
  675. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  676. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  677. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  678. package/src/utils/index.ts +0 -7
  679. package/src/utils/locale/getCurrentLocale.ts +0 -4
  680. package/src/utils/locale/parseLocale.test.ts +0 -17
  681. package/src/utils/locale/parseLocale.ts +0 -23
  682. package/src/utils/locale/types.ts +0 -8
  683. package/src/utils/number/clamp.ts +0 -17
  684. package/src/utils/object/isEqual.test.ts +0 -25
  685. package/src/utils/object/isEqual.ts +0 -11
  686. package/src/utils/partitionMulti.test.ts +0 -27
  687. package/src/utils/partitionMulti.ts +0 -29
  688. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  689. package/src/utils/react/RawClickable.test.tsx +0 -153
  690. package/src/utils/react/RawClickable.tsx +0 -65
  691. package/src/utils/react/flattenChildren.ts +0 -32
  692. package/src/utils/react/forwardRef.ts +0 -11
  693. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  694. package/src/utils/react/mergeRefs.ts +0 -33
  695. package/src/utils/react/renderLink.tsx +0 -17
  696. package/src/utils/react/skipRender.tsx +0 -18
  697. package/src/utils/react/unref.ts +0 -7
  698. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  699. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  700. package/src/utils/theme/ThemeContext.ts +0 -16
  701. package/src/utils/theme/invertTheme.ts +0 -4
  702. package/src/utils/type/Comp.ts +0 -14
  703. package/src/utils/type/ComponentRef.ts +0 -16
  704. package/src/utils/type/HasAriaDisabled.ts +0 -6
  705. package/src/utils/type/HasPolymorphicAs.ts +0 -6
  706. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  707. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  708. package/src/utils/type/index.ts +0 -9
  709. package/src/utils/type/isComponent.ts +0 -33
  710. package/src/utils/type/isComponentType.ts +0 -9
@@ -0,0 +1,97 @@
1
+ import { f as forwardRef, c as classNames } from './forwardRef-15f62847.js';
2
+ import { i as isComponent } from './isComponent-b9762ff1.js';
3
+ import { getRootClassName, getBasicClass } from '@lumx/core/js/utils/className';
4
+ import { u as useTheme, T as ThemeProvider } from './ThemeContext-3181f000.js';
5
+ import { B as ButtonRoot } from './ButtonRoot-823f3e9c.js';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+ import { T as Text } from './index-b06353f2.js';
8
+ import { Emphasis, Size, Theme } from '@lumx/core/js/constants';
9
+ import { I as Icon } from './index-192f8ada.js';
10
+
11
+ const ButtonEmphasis = Emphasis;
12
+
13
+ /**
14
+ * Defines the props of the component.
15
+ */
16
+
17
+ /**
18
+ * Component display name.
19
+ */
20
+ const COMPONENT_NAME = 'Button';
21
+
22
+ /**
23
+ * Component default class name and class prefix.
24
+ */
25
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
26
+
27
+ /**
28
+ * Component default props.
29
+ */
30
+ const DEFAULT_PROPS = {
31
+ emphasis: Emphasis.high,
32
+ size: Size.m
33
+ };
34
+
35
+ /**
36
+ * Button component.
37
+ *
38
+ * @param props Component props.
39
+ * @param ref Component ref.
40
+ * @return React element.
41
+ */
42
+ const Button = forwardRef((props, ref) => {
43
+ const defaultTheme = useTheme() || Theme.light;
44
+ const {
45
+ children,
46
+ className,
47
+ emphasis = DEFAULT_PROPS.emphasis,
48
+ leftIcon,
49
+ rightIcon,
50
+ size = DEFAULT_PROPS.size,
51
+ theme = defaultTheme,
52
+ ...forwardedProps
53
+ } = props;
54
+ const buttonClassName = classNames(className, getBasicClass({
55
+ prefix: CLASSNAME,
56
+ type: 'hasLeftIcon',
57
+ value: !!leftIcon
58
+ }), getBasicClass({
59
+ prefix: CLASSNAME,
60
+ type: 'hasRightIcon',
61
+ value: !!rightIcon
62
+ }));
63
+ return /*#__PURE__*/jsxs(ButtonRoot, {
64
+ ref: ref,
65
+ emphasis,
66
+ size,
67
+ theme,
68
+ ...forwardedProps,
69
+ className: buttonClassName,
70
+ variant: "button",
71
+ children: [leftIcon &&
72
+ /*#__PURE__*/
73
+ // Theme is handled in the button scss
74
+ jsx(ThemeProvider, {
75
+ value: undefined,
76
+ children: /*#__PURE__*/jsx(Icon, {
77
+ icon: leftIcon
78
+ })
79
+ }), children && (isComponent(Text)(children) ? children : /*#__PURE__*/jsx("span", {
80
+ children: children
81
+ })), rightIcon &&
82
+ /*#__PURE__*/
83
+ // Theme is handled in the button scss
84
+ jsx(ThemeProvider, {
85
+ value: undefined,
86
+ children: /*#__PURE__*/jsx(Icon, {
87
+ icon: rightIcon
88
+ })
89
+ })]
90
+ });
91
+ });
92
+ Button.displayName = COMPONENT_NAME;
93
+ Button.className = CLASSNAME;
94
+ Button.defaultProps = DEFAULT_PROPS;
95
+
96
+ export { ButtonEmphasis as B, Button as a };
97
+ //# sourceMappingURL=Button-2b55a913.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-2b55a913.js","sources":["../../src/components/button/Button.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { Emphasis, Icon, Size, Theme, Text, ThemeProvider } from '@lumx/react';\nimport { isComponent } from '@lumx/react/utils/type';\nimport { getBasicClass, getRootClassName } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { BaseButtonProps, ButtonRoot } from './ButtonRoot';\n\n/**\n * Button emphasis definition.\n * @deprecated Use Emphasis instead.\n */\nexport const ButtonEmphasis = Emphasis;\n\n/**\n * Defines the props of the component.\n */\nexport interface ButtonProps extends BaseButtonProps {\n /** Left icon (SVG path). */\n leftIcon?: string;\n /** Right icon (SVG path). */\n rightIcon?: string;\n /** When `true`, the button gets as large as possible. */\n fullWidth?: boolean;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Button';\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<ButtonProps> = {\n emphasis: Emphasis.high,\n size: Size.m,\n};\n\n/**\n * Button component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Button = forwardRef<ButtonProps, HTMLButtonElement | HTMLAnchorElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n children,\n className,\n emphasis = DEFAULT_PROPS.emphasis,\n leftIcon,\n rightIcon,\n size = DEFAULT_PROPS.size,\n theme = defaultTheme,\n ...forwardedProps\n } = props;\n\n const buttonClassName = classNames(\n className,\n getBasicClass({ prefix: CLASSNAME, type: 'hasLeftIcon', value: !!leftIcon }),\n getBasicClass({ prefix: CLASSNAME, type: 'hasRightIcon', value: !!rightIcon }),\n );\n\n return (\n <ButtonRoot\n ref={ref}\n {...{ emphasis, size, theme, ...forwardedProps }}\n className={buttonClassName}\n variant=\"button\"\n >\n {leftIcon && (\n // Theme is handled in the button scss\n <ThemeProvider value={undefined}>\n <Icon icon={leftIcon} />\n </ThemeProvider>\n )}\n {children && (isComponent(Text)(children) ? children : <span>{children}</span>)}\n {rightIcon && (\n // Theme is handled in the button scss\n <ThemeProvider value={undefined}>\n <Icon icon={rightIcon} />\n </ThemeProvider>\n )}\n </ButtonRoot>\n );\n});\nButton.displayName = COMPONENT_NAME;\nButton.className = CLASSNAME;\nButton.defaultProps = DEFAULT_PROPS;\n"],"names":["ButtonEmphasis","Emphasis","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","emphasis","high","size","Size","m","Button","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","children","className","leftIcon","rightIcon","theme","forwardedProps","buttonClassName","classNames","getBasicClass","prefix","type","value","_jsxs","ButtonRoot","variant","_jsx","ThemeProvider","undefined","Icon","icon","isComponent","Text","displayName","defaultProps"],"mappings":";;;;;;;;;;AAcO,MAAMA,cAAc,GAAGC,SAAQ;;AAEtC;AACA;AACA;;AAYA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,QAAQ,CAAA;;AAE/B;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAmC,GAAG;EACxCC,QAAQ,EAAEL,QAAQ,CAACM,IAAI;EACvBC,IAAI,EAAEC,IAAI,CAACC,CAAAA;AACf,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,MAAM,GAAGC,UAAU,CAAqD,CAACC,KAAK,EAAEC,GAAG,KAAK;EACjG,MAAMC,YAAY,GAAGC,QAAQ,EAAE,IAAIC,KAAK,CAACC,KAAK,CAAA;EAC9C,MAAM;IACFC,QAAQ;IACRC,SAAS;IACTd,QAAQ,GAAGD,aAAa,CAACC,QAAQ;IACjCe,QAAQ;IACRC,SAAS;IACTd,IAAI,GAAGH,aAAa,CAACG,IAAI;AACzBe,IAAAA,KAAK,GAAGR,YAAY;IACpB,GAAGS,cAAAA;AACP,GAAC,GAAGX,KAAK,CAAA;AAET,EAAA,MAAMY,eAAe,GAAGC,UAAU,CAC9BN,SAAS,EACTO,aAAa,CAAC;AAAEC,IAAAA,MAAM,EAAEzB,SAAS;AAAE0B,IAAAA,IAAI,EAAE,aAAa;IAAEC,KAAK,EAAE,CAAC,CAACT,QAAAA;GAAU,CAAC,EAC5EM,aAAa,CAAC;AAAEC,IAAAA,MAAM,EAAEzB,SAAS;AAAE0B,IAAAA,IAAI,EAAE,cAAc;IAAEC,KAAK,EAAE,CAAC,CAACR,SAAAA;AAAU,GAAC,CACjF,CAAC,CAAA;EAED,oBACIS,IAAA,CAACC,UAAU,EAAA;AACPlB,IAAAA,GAAG,EAAEA,GAAI;IACHR,QAAQ;IAAEE,IAAI;IAAEe,KAAK;AAAE,IAAA,GAAGC,cAAc;AAC9CJ,IAAAA,SAAS,EAAEK,eAAgB;AAC3BQ,IAAAA,OAAO,EAAC,QAAQ;AAAAd,IAAAA,QAAA,GAEfE,QAAQ;AAAA;AACL;AACAa,IAAAA,GAAA,CAACC,aAAa,EAAA;AAACL,MAAAA,KAAK,EAAEM,SAAU;MAAAjB,QAAA,eAC5Be,GAAA,CAACG,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAEjB,QAAAA;OAAW,CAAA;AAAC,KACb,CAClB,EACAF,QAAQ,KAAKoB,WAAW,CAACC,IAAI,CAAC,CAACrB,QAAQ,CAAC,GAAGA,QAAQ,gBAAGe,GAAA,CAAA,MAAA,EAAA;AAAAf,MAAAA,QAAA,EAAOA,QAAAA;KAAe,CAAC,CAAC,EAC9EG,SAAS;AAAA;AACN;AACAY,IAAAA,GAAA,CAACC,aAAa,EAAA;AAACL,MAAAA,KAAK,EAAEM,SAAU;MAAAjB,QAAA,eAC5Be,GAAA,CAACG,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAEhB,SAAAA;OAAY,CAAA;AAAC,KACd,CAClB,CAAA;AAAA,GACO,CAAC,CAAA;AAErB,CAAC,EAAC;AACFX,MAAM,CAAC8B,WAAW,GAAGvC,cAAc,CAAA;AACnCS,MAAM,CAACS,SAAS,GAAGjB,SAAS,CAAA;AAC5BQ,MAAM,CAAC+B,YAAY,GAAGrC,aAAa;;;;"}
@@ -0,0 +1,117 @@
1
+ import { f as forwardRef, c as classNames } from './forwardRef-15f62847.js';
2
+ import './constants-d0e3f49e.js';
3
+ import { handleBasicClasses } from '@lumx/core/js/utils/className';
4
+ import { R as RawClickable } from './RawClickable-2c2b6a89.js';
5
+ import { jsx } from 'react/jsx-runtime';
6
+ import { u as useDisableStateProps } from './useDisableStateProps-69e16b7c.js';
7
+ import { Emphasis, Theme, ColorPalette, CSS_PREFIX } from '@lumx/core/js/constants';
8
+
9
+ /**
10
+ * Component display name.
11
+ */
12
+ const COMPONENT_NAME = 'ButtonRoot';
13
+ const BUTTON_WRAPPER_CLASSNAME = `${CSS_PREFIX}-button-wrapper`;
14
+ const BUTTON_CLASSNAME = `${CSS_PREFIX}-button`;
15
+
16
+ /**
17
+ * Render a button wrapper with the ButtonRoot inside.
18
+ *
19
+ * @param props Component props.
20
+ * @return React element.
21
+ */
22
+ const renderButtonWrapper = props => {
23
+ const {
24
+ color,
25
+ emphasis,
26
+ variant,
27
+ fullWidth
28
+ } = props;
29
+ const adaptedColor = emphasis === Emphasis.low && (color === ColorPalette.light ? ColorPalette.dark : ColorPalette.light);
30
+ const wrapperClassName = classNames(handleBasicClasses({
31
+ color: adaptedColor,
32
+ prefix: BUTTON_WRAPPER_CLASSNAME,
33
+ variant,
34
+ fullWidth
35
+ }));
36
+ const buttonProps = {
37
+ ...props,
38
+ hasBackground: false
39
+ };
40
+ return /*#__PURE__*/jsx("div", {
41
+ className: wrapperClassName,
42
+ children: /*#__PURE__*/jsx(ButtonRoot, {
43
+ ...buttonProps
44
+ })
45
+ });
46
+ };
47
+
48
+ /**
49
+ * ButtonRoot component.
50
+ *
51
+ * @param props Component props.
52
+ * @param ref Component ref.
53
+ * @return React element.
54
+ */
55
+ const ButtonRoot = forwardRef((props, ref) => {
56
+ const {
57
+ isAnyDisabled,
58
+ disabledStateProps,
59
+ otherProps
60
+ } = useDisableStateProps(props);
61
+ const {
62
+ 'aria-label': ariaLabel,
63
+ children,
64
+ className,
65
+ color,
66
+ emphasis,
67
+ hasBackground,
68
+ isSelected,
69
+ isActive,
70
+ isFocused,
71
+ isHovered,
72
+ linkAs,
73
+ size,
74
+ theme,
75
+ variant,
76
+ fullWidth,
77
+ ...forwardedProps
78
+ } = otherProps;
79
+ const adaptedColor = color || emphasis !== Emphasis.high && theme === Theme.dark && ColorPalette.light || emphasis === Emphasis.high && ColorPalette.primary || ColorPalette.dark;
80
+ if (hasBackground) {
81
+ return renderButtonWrapper({
82
+ ...props,
83
+ ref,
84
+ variant,
85
+ color: adaptedColor
86
+ });
87
+ }
88
+ const buttonClassName = classNames(className, handleBasicClasses({
89
+ color: adaptedColor,
90
+ emphasis,
91
+ isSelected,
92
+ isDisabled: props.isDisabled || props['aria-disabled'],
93
+ isActive,
94
+ isFocused,
95
+ isHovered,
96
+ prefix: BUTTON_CLASSNAME,
97
+ size,
98
+ theme: emphasis === Emphasis.high && theme,
99
+ variant,
100
+ fullWidth
101
+ }));
102
+ return /*#__PURE__*/jsx(RawClickable, {
103
+ as: linkAs || (forwardedProps.href ? 'a' : 'button'),
104
+ ...forwardedProps,
105
+ ...disabledStateProps,
106
+ "aria-disabled": isAnyDisabled,
107
+ "aria-label": ariaLabel,
108
+ ref: ref,
109
+ className: buttonClassName,
110
+ children: children
111
+ });
112
+ });
113
+ ButtonRoot.displayName = COMPONENT_NAME;
114
+ ButtonRoot.defaultProps = {};
115
+
116
+ export { ButtonRoot as B };
117
+ //# sourceMappingURL=ButtonRoot-823f3e9c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonRoot-823f3e9c.js","sources":["../../src/components/button/ButtonRoot.tsx"],"sourcesContent":["import { AriaAttributes, ButtonHTMLAttributes, DetailedHTMLProps, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { ColorPalette, Emphasis, Size, Theme } from '@lumx/react';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\nimport { RawClickable } from '@lumx/react/utils/react/RawClickable';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled';\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 HasAriaDisabled {\n /** Color variant. */\n color?: ColorPalette;\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 (unsupported in `high` emphasis). */\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 = forwardRef<ButtonRootProps, HTMLButtonElement | HTMLAnchorElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n 'aria-label': ariaLabel,\n children,\n className,\n color,\n emphasis,\n hasBackground,\n isSelected,\n isActive,\n isFocused,\n isHovered,\n linkAs,\n size,\n theme,\n variant,\n fullWidth,\n ...forwardedProps\n } = otherProps;\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: props.isDisabled || props['aria-disabled'],\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 return (\n <RawClickable\n as={linkAs || (forwardedProps.href ? 'a' : 'button')}\n {...forwardedProps}\n {...disabledStateProps}\n aria-disabled={isAnyDisabled}\n aria-label={ariaLabel}\n ref={ref as RefObject<HTMLButtonElement>}\n className={buttonClassName}\n >\n {children}\n </RawClickable>\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","_jsx","className","children","ButtonRoot","forwardRef","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","ariaLabel","isSelected","isActive","isFocused","isHovered","linkAs","size","theme","forwardedProps","high","Theme","primary","buttonClassName","isDisabled","RawClickable","as","href","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import { f as forwardRef, c as classNames } from './forwardRef-15f62847.js';
2
+ import { useCallback } from 'react';
3
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
4
+ import { onEnterPressed } from '@lumx/core/js/utils';
5
+ import { u as useTheme } from './ThemeContext-3181f000.js';
6
+ import { u as useDisableStateProps } from './useDisableStateProps-69e16b7c.js';
7
+ import { jsxs, jsx } from 'react/jsx-runtime';
8
+ import { Size, Theme, ColorPalette } from '@lumx/core/js/constants';
9
+
10
+ /**
11
+ * Wrap mouse event handler to stop event propagation.
12
+ *
13
+ * @param handler The mouse handler to wrap.
14
+ * @return Mouse handler stopping propagation.
15
+ */
16
+ function useStopPropagation(handler) {
17
+ return useCallback(evt => {
18
+ if (!evt || !handler) {
19
+ return;
20
+ }
21
+ handler(evt);
22
+ evt.stopPropagation();
23
+ }, [handler]);
24
+ }
25
+
26
+ /**
27
+ * Component display name.
28
+ */
29
+ const COMPONENT_NAME = 'Chip';
30
+
31
+ /**
32
+ * Component default class name and class prefix.
33
+ */
34
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
35
+
36
+ /**
37
+ * Component default props.
38
+ */
39
+ const DEFAULT_PROPS = {
40
+ size: Size.m
41
+ };
42
+
43
+ /**
44
+ * Chip component.
45
+ *
46
+ * @param props Component props.
47
+ * @param ref Component ref.
48
+ * @return React element.
49
+ */
50
+ const Chip = forwardRef((props, ref) => {
51
+ const defaultTheme = useTheme() || Theme.light;
52
+ const {
53
+ isAnyDisabled,
54
+ disabledStateProps,
55
+ otherProps
56
+ } = useDisableStateProps(props);
57
+ const {
58
+ after,
59
+ before,
60
+ children,
61
+ className,
62
+ color,
63
+ isClickable: propIsClickable,
64
+ isHighlighted,
65
+ isSelected,
66
+ onAfterClick,
67
+ onBeforeClick,
68
+ onClick,
69
+ size = DEFAULT_PROPS.size,
70
+ theme = defaultTheme,
71
+ href,
72
+ onKeyDown,
73
+ ...forwardedProps
74
+ } = otherProps;
75
+ const hasOnClick = Boolean(props.onClick);
76
+ const isButton = hasOnClick && !href;
77
+ const isClickable = Boolean(hasOnClick) || Boolean(href) || propIsClickable;
78
+
79
+ // Adapt color to the theme.
80
+ const chipColor = color || (theme === Theme.light ? ColorPalette.dark : ColorPalette.light);
81
+ const handleOnBeforeClick = useStopPropagation(onBeforeClick);
82
+ const handleOnAfterClick = useStopPropagation(onAfterClick);
83
+ const handleKeyDown = evt => {
84
+ onKeyDown?.(evt);
85
+ if (onClick) {
86
+ onEnterPressed(onClick)(evt);
87
+ }
88
+ };
89
+ return (
90
+ /*#__PURE__*/
91
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
92
+ jsxs("a", {
93
+ role: isButton ? 'button' : undefined,
94
+ tabIndex: isClickable && !disabledStateProps.disabled ? 0 : undefined,
95
+ ...forwardedProps,
96
+ href: !disabledStateProps.disabled ? href : undefined,
97
+ ref: ref,
98
+ className: classNames(className, handleBasicClasses({
99
+ clickable: isClickable,
100
+ color: chipColor,
101
+ isDisabled: isAnyDisabled,
102
+ hasAfter: Boolean(after),
103
+ hasBefore: Boolean(before),
104
+ highlighted: Boolean(isHighlighted),
105
+ prefix: CLASSNAME,
106
+ selected: Boolean(isSelected),
107
+ size,
108
+ unselected: Boolean(!isSelected)
109
+ })),
110
+ "aria-disabled": isClickable && isAnyDisabled || undefined,
111
+ onClick: onClick || undefined,
112
+ onKeyDown: handleKeyDown,
113
+ children: [before &&
114
+ /*#__PURE__*/
115
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
116
+ jsx("div", {
117
+ className: classNames(`${CLASSNAME}__before`, {
118
+ [`${CLASSNAME}__before--is-clickable`]: !!onBeforeClick
119
+ }),
120
+ onClick: handleOnBeforeClick,
121
+ children: before
122
+ }), /*#__PURE__*/jsx("div", {
123
+ className: `${CLASSNAME}__label`,
124
+ children: children
125
+ }), after &&
126
+ /*#__PURE__*/
127
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
128
+ jsx("div", {
129
+ className: classNames(`${CLASSNAME}__after`, {
130
+ [`${CLASSNAME}__after--is-clickable`]: !!onAfterClick
131
+ }),
132
+ onClick: handleOnAfterClick,
133
+ children: after
134
+ })]
135
+ })
136
+ );
137
+ });
138
+ Chip.displayName = COMPONENT_NAME;
139
+ Chip.className = CLASSNAME;
140
+ Chip.defaultProps = DEFAULT_PROPS;
141
+
142
+ export { Chip as C };
143
+ //# sourceMappingURL=Chip-e1e85810.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chip-e1e85810.js","sources":["../../src/hooks/useStopPropagation.ts","../../src/components/chip/Chip.tsx"],"sourcesContent":["import { MouseEventHandler, useCallback } from 'react';\n\n/**\n * Wrap mouse event handler to stop event propagation.\n *\n * @param handler The mouse handler to wrap.\n * @return Mouse handler stopping propagation.\n */\nexport function useStopPropagation(handler?: MouseEventHandler): MouseEventHandler {\n return useCallback(\n (evt) => {\n if (!evt || !handler) {\n return;\n }\n handler(evt);\n evt.stopPropagation();\n },\n [handler],\n );\n}\n","import { MouseEventHandler, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { ColorPalette, Size, Theme } from '@lumx/react';\nimport { useStopPropagation } from '@lumx/react/hooks/useStopPropagation';\n\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { onEnterPressed } from '@lumx/core/js/utils';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\n\n/**\n * Chip sizes.\n */\ntype ChipSize = Extract<Size, 's' | 'm'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ChipProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** A component to be rendered after the content. */\n after?: ReactNode;\n /** A component to be rendered before the content. */\n before?: ReactNode;\n /** Color variant. */\n color?: ColorPalette;\n /** Whether the component is clickable or not. */\n isClickable?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the chip is currently in a highlighted state or not. */\n isHighlighted?: boolean;\n /** Whether the component is selected or not. */\n isSelected?: boolean;\n /** Size variant. */\n size?: ChipSize;\n /** On \"after\" element clicked callback. */\n onAfterClick?: MouseEventHandler;\n /** On \"before\" element clicked callback. */\n onBeforeClick?: MouseEventHandler;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Chip';\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<ChipProps> = {\n size: Size.m,\n};\n\n/**\n * Chip component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Chip = forwardRef<ChipProps, HTMLAnchorElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const {\n after,\n before,\n children,\n className,\n color,\n isClickable: propIsClickable,\n isHighlighted,\n isSelected,\n onAfterClick,\n onBeforeClick,\n onClick,\n size = DEFAULT_PROPS.size,\n theme = defaultTheme,\n href,\n onKeyDown,\n ...forwardedProps\n } = otherProps;\n const hasOnClick = Boolean(props.onClick);\n const isButton = hasOnClick && !href;\n const isClickable = Boolean(hasOnClick) || Boolean(href) || propIsClickable;\n\n // Adapt color to the theme.\n const chipColor = color || (theme === Theme.light ? ColorPalette.dark : ColorPalette.light);\n\n const handleOnBeforeClick = useStopPropagation(onBeforeClick);\n const handleOnAfterClick = useStopPropagation(onAfterClick);\n const handleKeyDown = (evt: React.KeyboardEvent) => {\n onKeyDown?.(evt);\n if (onClick) {\n onEnterPressed(onClick)(evt);\n }\n };\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <a\n role={isButton ? 'button' : undefined}\n tabIndex={isClickable && !disabledStateProps.disabled ? 0 : undefined}\n {...forwardedProps}\n href={!disabledStateProps.disabled ? href : undefined}\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n clickable: isClickable,\n color: chipColor,\n isDisabled: isAnyDisabled,\n hasAfter: Boolean(after),\n hasBefore: Boolean(before),\n highlighted: Boolean(isHighlighted),\n prefix: CLASSNAME,\n selected: Boolean(isSelected),\n size,\n unselected: Boolean(!isSelected),\n }),\n )}\n aria-disabled={(isClickable && isAnyDisabled) || undefined}\n onClick={onClick || undefined}\n onKeyDown={handleKeyDown}\n >\n {before && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div\n className={classNames(`${CLASSNAME}__before`, {\n [`${CLASSNAME}__before--is-clickable`]: !!onBeforeClick,\n })}\n onClick={handleOnBeforeClick}\n >\n {before}\n </div>\n )}\n <div className={`${CLASSNAME}__label`}>{children}</div>\n {after && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div\n className={classNames(`${CLASSNAME}__after`, {\n [`${CLASSNAME}__after--is-clickable`]: !!onAfterClick,\n })}\n onClick={handleOnAfterClick}\n >\n {after}\n </div>\n )}\n </a>\n );\n});\nChip.displayName = COMPONENT_NAME;\nChip.className = CLASSNAME;\nChip.defaultProps = DEFAULT_PROPS;\n"],"names":["useStopPropagation","handler","useCallback","evt","stopPropagation","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","size","Size","m","Chip","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","after","before","children","className","color","isClickable","propIsClickable","isHighlighted","isSelected","onAfterClick","onBeforeClick","onClick","theme","href","onKeyDown","forwardedProps","hasOnClick","Boolean","isButton","chipColor","ColorPalette","dark","handleOnBeforeClick","handleOnAfterClick","handleKeyDown","onEnterPressed","_jsxs","role","undefined","tabIndex","disabled","classNames","handleBasicClasses","clickable","isDisabled","hasAfter","hasBefore","highlighted","prefix","selected","unselected","_jsx","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { useEffect, useContext, useMemo, useRef, createContext } from 'react';
2
+ import { isEmpty } from '@lumx/core/js/utils/collection/isEmpty';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ const EVENT_TYPES = ['mousedown', 'touchstart'];
6
+ function isClickAway(targets, refs) {
7
+ // The targets elements are not contained in any of the listed element references.
8
+ return !refs.some(ref => targets.some(target => ref?.current?.contains(target)));
9
+ }
10
+ /**
11
+ * Listen to clicks away from the given elements and callback the passed in function.
12
+ *
13
+ * Warning: If you need to detect click away on nested React portals, please use the `ClickAwayProvider` component.
14
+ */
15
+ function useClickAway({
16
+ callback,
17
+ childrenRefs
18
+ }) {
19
+ useEffect(() => {
20
+ const {
21
+ current: currentRefs
22
+ } = childrenRefs;
23
+ if (!callback || !currentRefs || isEmpty(currentRefs)) {
24
+ return undefined;
25
+ }
26
+ const listener = evt => {
27
+ const targets = [evt.composedPath?.()[0], evt.target];
28
+ if (isClickAway(targets, currentRefs)) {
29
+ callback(evt);
30
+ }
31
+ };
32
+ EVENT_TYPES.forEach(evtType => document.addEventListener(evtType, listener));
33
+ return () => {
34
+ EVENT_TYPES.forEach(evtType => document.removeEventListener(evtType, listener));
35
+ };
36
+ }, [callback, childrenRefs]);
37
+ }
38
+
39
+ const ClickAwayAncestorContext = /*#__PURE__*/createContext(null);
40
+ /**
41
+ * Component combining the `useClickAway` hook with a React context to hook into the React component tree and make sure
42
+ * we take into account both the DOM tree and the React tree to detect click away.
43
+ *
44
+ * @return the react component.
45
+ */
46
+ const ClickAwayProvider = ({
47
+ children,
48
+ callback,
49
+ childrenRefs,
50
+ parentRef
51
+ }) => {
52
+ const parentContext = useContext(ClickAwayAncestorContext);
53
+ const currentContext = useMemo(() => {
54
+ const context = {
55
+ childrenRefs: [],
56
+ /**
57
+ * Add element refs to the current context and propagate to the parent context.
58
+ */
59
+ addRefs(...newChildrenRefs) {
60
+ // Add element refs that should be considered as inside the click away context.
61
+ context.childrenRefs.push(...newChildrenRefs);
62
+ if (parentContext) {
63
+ // Also add then to the parent context
64
+ parentContext.addRefs(...newChildrenRefs);
65
+ if (parentRef) {
66
+ // The parent element is also considered as inside the parent click away context but not inside the current context
67
+ parentContext.addRefs(parentRef);
68
+ }
69
+ }
70
+ }
71
+ };
72
+ return context;
73
+ }, [parentContext, parentRef]);
74
+ useEffect(() => {
75
+ const {
76
+ current: currentRefs
77
+ } = childrenRefs;
78
+ if (!currentRefs) {
79
+ return;
80
+ }
81
+ currentContext.addRefs(...currentRefs);
82
+ }, [currentContext, childrenRefs]);
83
+ useClickAway({
84
+ callback,
85
+ childrenRefs: useRef(currentContext.childrenRefs)
86
+ });
87
+ return /*#__PURE__*/jsx(ClickAwayAncestorContext.Provider, {
88
+ value: currentContext,
89
+ children: children
90
+ });
91
+ };
92
+ ClickAwayProvider.displayName = 'ClickAwayProvider';
93
+
94
+ export { ClickAwayProvider as C };
95
+ //# sourceMappingURL=ClickAwayProvider-1204f237.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClickAwayProvider-1204f237.js","sources":["../../src/hooks/useClickAway.tsx","../../src/utils/ClickAwayProvider/ClickAwayProvider.tsx"],"sourcesContent":["import { RefObject, useEffect } from 'react';\n\nimport { Falsy } from '@lumx/react/utils/type';\nimport { isEmpty } from '@lumx/core/js/utils/collection/isEmpty';\n\nconst EVENT_TYPES = ['mousedown', 'touchstart'];\n\nfunction isClickAway(targets: HTMLElement[], refs: Array<RefObject<HTMLElement>>): boolean {\n // The targets elements are not contained in any of the listed element references.\n return !refs.some((ref) => targets.some((target) => ref?.current?.contains(target)));\n}\n\nexport interface ClickAwayParameters {\n /**\n * A callback function to call when the user clicks away from the elements.\n */\n callback: EventListener | Falsy;\n /**\n * Elements considered within the click away context (clicking outside them will trigger the click away callback).\n */\n childrenRefs: RefObject<Array<RefObject<HTMLElement>>>;\n}\n\n/**\n * Listen to clicks away from the given elements and callback the passed in function.\n *\n * Warning: If you need to detect click away on nested React portals, please use the `ClickAwayProvider` component.\n */\nexport function useClickAway({ callback, childrenRefs }: ClickAwayParameters): void {\n useEffect(() => {\n const { current: currentRefs } = childrenRefs;\n if (!callback || !currentRefs || isEmpty(currentRefs)) {\n return undefined;\n }\n const listener: EventListener = (evt) => {\n const targets = [evt.composedPath?.()[0], evt.target] as HTMLElement[];\n if (isClickAway(targets, currentRefs)) {\n callback(evt);\n }\n };\n\n EVENT_TYPES.forEach((evtType) => document.addEventListener(evtType, listener));\n return () => {\n EVENT_TYPES.forEach((evtType) => document.removeEventListener(evtType, listener));\n };\n }, [callback, childrenRefs]);\n}\n","import { createContext, RefObject, useContext, useEffect, useMemo, useRef } from 'react';\nimport { ClickAwayParameters, useClickAway } from '@lumx/react/hooks/useClickAway';\n\ninterface ContextValue {\n childrenRefs: Array<RefObject<HTMLElement>>;\n addRefs(...newChildrenRefs: Array<RefObject<HTMLElement>>): void;\n}\n\nconst ClickAwayAncestorContext = createContext<ContextValue | null>(null);\n\ninterface ClickAwayProviderProps extends ClickAwayParameters {\n /**\n * (Optional) Element that should be considered as part of the parent\n */\n parentRef?: RefObject<HTMLElement>;\n /**\n * Children\n */\n children?: React.ReactNode;\n}\n\n/**\n * Component combining the `useClickAway` hook with a React context to hook into the React component tree and make sure\n * we take into account both the DOM tree and the React tree to detect click away.\n *\n * @return the react component.\n */\nexport const ClickAwayProvider: React.FC<ClickAwayProviderProps> = ({\n children,\n callback,\n childrenRefs,\n parentRef,\n}) => {\n const parentContext = useContext(ClickAwayAncestorContext);\n const currentContext = useMemo(() => {\n const context: ContextValue = {\n childrenRefs: [],\n /**\n * Add element refs to the current context and propagate to the parent context.\n */\n addRefs(...newChildrenRefs) {\n // Add element refs that should be considered as inside the click away context.\n context.childrenRefs.push(...newChildrenRefs);\n\n if (parentContext) {\n // Also add then to the parent context\n parentContext.addRefs(...newChildrenRefs);\n if (parentRef) {\n // The parent element is also considered as inside the parent click away context but not inside the current context\n parentContext.addRefs(parentRef);\n }\n }\n },\n };\n return context;\n }, [parentContext, parentRef]);\n\n useEffect(() => {\n const { current: currentRefs } = childrenRefs;\n if (!currentRefs) {\n return;\n }\n currentContext.addRefs(...currentRefs);\n }, [currentContext, childrenRefs]);\n\n useClickAway({ callback, childrenRefs: useRef(currentContext.childrenRefs) });\n return <ClickAwayAncestorContext.Provider value={currentContext}>{children}</ClickAwayAncestorContext.Provider>;\n};\nClickAwayProvider.displayName = 'ClickAwayProvider';\n"],"names":["EVENT_TYPES","isClickAway","targets","refs","some","ref","target","current","contains","useClickAway","callback","childrenRefs","useEffect","currentRefs","isEmpty","undefined","listener","evt","composedPath","forEach","evtType","document","addEventListener","removeEventListener","ClickAwayAncestorContext","createContext","ClickAwayProvider","children","parentRef","parentContext","useContext","currentContext","useMemo","context","addRefs","newChildrenRefs","push","useRef","_jsx","Provider","value","displayName"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import React__default, { useContext } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ const DisabledStateContext = /*#__PURE__*/React__default.createContext({
5
+ state: null
6
+ });
7
+ /**
8
+ * Disabled state provider.
9
+ * All nested LumX Design System components inherit this disabled state.
10
+ */
11
+ function DisabledStateProvider({
12
+ children,
13
+ ...value
14
+ }) {
15
+ return /*#__PURE__*/jsx(DisabledStateContext.Provider, {
16
+ value: value,
17
+ children: children
18
+ });
19
+ }
20
+
21
+ /**
22
+ * Get DisabledState context value
23
+ */
24
+ function useDisabledStateContext() {
25
+ return useContext(DisabledStateContext);
26
+ }
27
+
28
+ export { DisabledStateProvider as D, useDisabledStateContext as u };
29
+ //# sourceMappingURL=DisabledStateContext-ea04260d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisabledStateContext-ea04260d.js","sources":["../../src/utils/disabled/DisabledStateContext.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\n/** Disable state */\ntype DisabledStateContextValue =\n | {\n state: 'disabled';\n }\n | { state: undefined | null };\n\nexport const DisabledStateContext = React.createContext<DisabledStateContextValue>({ state: null });\n\nexport type DisabledStateProviderProps = DisabledStateContextValue & {\n children: React.ReactNode;\n};\n\n/**\n * Disabled state provider.\n * All nested LumX Design System components inherit this disabled state.\n */\nexport function DisabledStateProvider({ children, ...value }: DisabledStateProviderProps) {\n return <DisabledStateContext.Provider value={value}>{children}</DisabledStateContext.Provider>;\n}\n\n/**\n * Get DisabledState context value\n */\nexport function useDisabledStateContext(): DisabledStateContextValue {\n return useContext(DisabledStateContext);\n}\n"],"names":["DisabledStateContext","React","createContext","state","DisabledStateProvider","children","value","_jsx","Provider","useDisabledStateContext","useContext"],"mappings":";;;AASO,MAAMA,oBAAoB,gBAAGC,cAAK,CAACC,aAAa,CAA4B;AAAEC,EAAAA,KAAK,EAAE,IAAA;AAAK,CAAC,CAAC,CAAA;AAMnG;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAC;EAAEC,QAAQ;EAAE,GAAGC,KAAAA;AAAkC,CAAC,EAAE;AACtF,EAAA,oBAAOC,GAAA,CAACP,oBAAoB,CAACQ,QAAQ,EAAA;AAACF,IAAAA,KAAK,EAAEA,KAAM;AAAAD,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgC,CAAC,CAAA;AAClG,CAAA;;AAEA;AACA;AACA;AACO,SAASI,uBAAuBA,GAA8B;EACjE,OAAOC,UAAU,CAACV,oBAAoB,CAAC,CAAA;AAC3C;;;;"}
@@ -0,0 +1,61 @@
1
+ import { Typography } from '@lumx/core/js/constants';
2
+ import React__default, { createContext } from 'react';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ /** The maximum authorized heading level. */
6
+ const MAX_HEADING_LEVEL = 6;
7
+
8
+ /**
9
+ * Typography to use by default depending on the heading level.
10
+ */
11
+ const DEFAULT_TYPOGRAPHY_BY_LEVEL = {
12
+ h1: Typography.display1,
13
+ h2: Typography.headline,
14
+ h3: Typography.title,
15
+ h4: Typography.subtitle2,
16
+ h5: Typography.subtitle1,
17
+ h6: Typography.body2
18
+ };
19
+
20
+ const defaultContext = {
21
+ level: 1,
22
+ headingElement: 'h1'
23
+ };
24
+ const HeadingLevelContext = /*#__PURE__*/createContext(defaultContext);
25
+
26
+ const useHeadingLevel = () => {
27
+ const {
28
+ level = 1,
29
+ headingElement = 'h1'
30
+ } = React__default.useContext(HeadingLevelContext);
31
+ return {
32
+ level,
33
+ headingElement
34
+ };
35
+ };
36
+
37
+ /**
38
+ * Provide a new heading level context.
39
+ */
40
+ const HeadingLevelProvider = ({
41
+ children,
42
+ level
43
+ }) => {
44
+ const {
45
+ level: contextLevel
46
+ } = useHeadingLevel();
47
+ const incrementedLevel = level || contextLevel + 1;
48
+ /** Don't allow a level beyond the maximum level. */
49
+ const nextLevel = incrementedLevel > MAX_HEADING_LEVEL ? MAX_HEADING_LEVEL : incrementedLevel;
50
+ const headingElement = `h${nextLevel}`;
51
+ return /*#__PURE__*/jsx(HeadingLevelContext.Provider, {
52
+ value: {
53
+ level: nextLevel,
54
+ headingElement
55
+ },
56
+ children: children
57
+ });
58
+ };
59
+
60
+ export { DEFAULT_TYPOGRAPHY_BY_LEVEL as D, HeadingLevelProvider as H, useHeadingLevel as u };
61
+ //# sourceMappingURL=HeadingLevelProvider-ebdcb0c7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingLevelProvider-ebdcb0c7.js","sources":["../../src/components/heading/constants.ts","../../src/components/heading/context.tsx","../../src/components/heading/useHeadingLevel.tsx","../../src/components/heading/HeadingLevelProvider.tsx"],"sourcesContent":["import { Typography } from '@lumx/core/js/constants';\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 { HeadingElement } from '@lumx/react/utils/type';\nimport { 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","HeadingLevelProvider","children","contextLevel","incrementedLevel","nextLevel","_jsx","Provider","value"],"mappings":";;;;AAEA;AACO,MAAMA,iBAAiB,GAAG,CAAC,CAAA;;AAElC;AACA;AACA;AACO,MAAMC,2BAA2B,GAAG;EACvCC,EAAE,EAAEC,UAAU,CAACC,QAAQ;EACvBC,EAAE,EAAEF,UAAU,CAACG,QAAQ;EACvBC,EAAE,EAAEJ,UAAU,CAACK,KAAK;EACpBC,EAAE,EAAEN,UAAU,CAACO,SAAS;EACxBC,EAAE,EAAER,UAAU,CAACS,SAAS;EACxBC,EAAE,EAAEV,UAAU,CAACW,KAAAA;AACnB;;ACLA,MAAMC,cAAmC,GAAG;AAAEC,EAAAA,KAAK,EAAE,CAAC;AAAEC,EAAAA,cAAc,EAAE,IAAA;AAAK,CAAC,CAAA;AAEvE,MAAMC,mBAAmB,gBAAGC,aAAa,CAAsBJ,cAAc,CAAC;;ACTxEK,MAAAA,eAAe,GAAGA,MAAM;EACjC,MAAM;AAAEJ,IAAAA,KAAK,GAAG,CAAC;AAAEC,IAAAA,cAAc,GAAG,IAAA;AAAK,GAAC,GAAGI,cAAK,CAACC,UAAU,CAACJ,mBAAmB,CAAC,CAAA;EAElF,OAAO;IAAEF,KAAK;AAAEC,IAAAA,cAAAA;GAAgB,CAAA;AACpC;;ACMA;AACA;AACA;AACO,MAAMM,oBAAyD,GAAGA,CAAC;EAAEC,QAAQ;AAAER,EAAAA,KAAAA;AAAM,CAAC,KAAK;EAC9F,MAAM;AAAEA,IAAAA,KAAK,EAAES,YAAAA;GAAc,GAAGL,eAAe,EAAE,CAAA;AAEjD,EAAA,MAAMM,gBAAgB,GAAGV,KAAK,IAAIS,YAAY,GAAG,CAAC,CAAA;AAClD;EACA,MAAME,SAAS,GAAGD,gBAAgB,GAAG1B,iBAAiB,GAAGA,iBAAiB,GAAG0B,gBAAgB,CAAA;AAC7F,EAAA,MAAMT,cAAc,GAAG,CAAIU,CAAAA,EAAAA,SAAS,CAAoB,CAAA,CAAA;AAExD,EAAA,oBACIC,GAAA,CAACV,mBAAmB,CAACW,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAEd,MAAAA,KAAK,EAAEW,SAAS;AAAEV,MAAAA,cAAAA;KAAiB;AAAAO,IAAAA,QAAA,EACrEA,QAAAA;AAAQ,GACiB,CAAC,CAAA;AAEvC;;;;"}