@lumx/react 3.20.1-alpha.24 → 3.20.1-alpha.26

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 (711) hide show
  1. package/_internal/Button-85482487.js +98 -0
  2. package/_internal/Button-85482487.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-a34f6905.js +146 -0
  6. package/_internal/Chip-a34f6905.js.map +1 -0
  7. package/_internal/ClickAwayProvider-7093ba23.js +95 -0
  8. package/_internal/ClickAwayProvider-7093ba23.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-1a22c4c8.js +77 -0
  14. package/_internal/IconButton-1a22c4c8.js.map +1 -0
  15. package/_internal/ImageCaption-a0a6de5c.js +75 -0
  16. package/_internal/ImageCaption-a0a6de5c.js.map +1 -0
  17. package/_internal/List-54237e0e.js +793 -0
  18. package/_internal/List-54237e0e.js.map +1 -0
  19. package/_internal/PopoverDialog-4ebe79f2.js +655 -0
  20. package/_internal/PopoverDialog-4ebe79f2.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-ae91d12c.js +682 -0
  26. package/_internal/Slides-ae91d12c.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-0eeb06ce.js +163 -0
  42. package/_internal/components/alert-dialog-0eeb06ce.js.map +1 -0
  43. package/_internal/components/autocomplete-32170542.js +261 -0
  44. package/_internal/components/autocomplete-32170542.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-b5818c5a.js +47 -0
  50. package/_internal/components/button-b5818c5a.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-e40c5521.js +102 -0
  54. package/_internal/components/chip-e40c5521.js.map +1 -0
  55. package/_internal/components/comment-block-a4997791.js +138 -0
  56. package/_internal/components/comment-block-a4997791.js.map +1 -0
  57. package/_internal/components/date-picker-48a39549.js +2 -0
  58. package/_internal/components/date-picker-48a39549.js.map +1 -0
  59. package/_internal/components/dialog-ebdb9500.js +238 -0
  60. package/_internal/components/dialog-ebdb9500.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-0baed51b.js +147 -0
  66. package/_internal/components/dropdown-0baed51b.js.map +1 -0
  67. package/_internal/components/expansion-panel-80edf6c9.js +167 -0
  68. package/_internal/components/expansion-panel-80edf6c9.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-55144e5f.js +56 -0
  72. package/_internal/components/flex-box-55144e5f.js.map +1 -0
  73. package/_internal/components/generic-block-ff0509ee.js +124 -0
  74. package/_internal/components/generic-block-ff0509ee.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-f01df853.js +59 -0
  78. package/_internal/components/grid-column-f01df853.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-755d8b96.js +110 -0
  84. package/_internal/components/image-block-755d8b96.js.map +1 -0
  85. package/_internal/components/image-lightbox-d31dcd8a.js +759 -0
  86. package/_internal/components/image-lightbox-d31dcd8a.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-9dbd7c15.js +155 -0
  94. package/_internal/components/lightbox-9dbd7c15.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-b08d8423.js +71 -0
  100. package/_internal/components/list-b08d8423.js.map +1 -0
  101. package/_internal/components/message-b3957df0.js +98 -0
  102. package/_internal/components/message-b3957df0.js.map +1 -0
  103. package/_internal/components/mosaic-742a9109.js +95 -0
  104. package/_internal/components/mosaic-742a9109.js.map +1 -0
  105. package/_internal/components/navigation-b1cd43c3.js +225 -0
  106. package/_internal/components/navigation-b1cd43c3.js.map +1 -0
  107. package/_internal/components/notification-94679f51.js +146 -0
  108. package/_internal/components/notification-94679f51.js.map +1 -0
  109. package/_internal/components/popover-65bfbc57.js +3 -0
  110. package/_internal/components/popover-65bfbc57.js.map +1 -0
  111. package/_internal/components/post-block-3ac52237.js +109 -0
  112. package/_internal/components/post-block-3ac52237.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-f3b44cb6.js +458 -0
  120. package/_internal/components/select-f3b44cb6.js.map +1 -0
  121. package/_internal/components/side-navigation-414825d8.js +165 -0
  122. package/_internal/components/side-navigation-414825d8.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-dc4b79ae.js +151 -0
  128. package/_internal/components/slideshow-dc4b79ae.js.map +1 -0
  129. package/_internal/components/switch-769a2a04.js +122 -0
  130. package/_internal/components/switch-769a2a04.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-0a15a15d.js +360 -0
  138. package/_internal/components/text-field-0a15a15d.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-2885ab2e.js +327 -0
  144. package/_internal/components/tooltip-2885ab2e.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-5f7b09af.js +145 -0
  148. package/_internal/components/user-block-5f7b09af.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-9df37c0d.js +436 -0
  162. package/_internal/index-9df37c0d.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-78df9309.js +20 -0
  168. package/_internal/isComponent-78df9309.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/{src/utils/partitionMulti.ts → _internal/partitionMulti-4daccdd5.js} +5 -9
  174. package/_internal/partitionMulti-4daccdd5.js.map +1 -0
  175. package/_internal/state-db358714.js +130 -0
  176. package/_internal/state-db358714.js.map +1 -0
  177. package/_internal/useBooleanState-2a3d237c.js +12 -0
  178. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  179. package/_internal/useCallbackOnEscape-ea4d9eb4.js +62 -0
  180. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +1 -0
  181. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  182. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  183. package/_internal/useDisableStateProps-69e16b7c.js +36 -0
  184. package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
  185. package/_internal/useFocusTrap-c3c6378b.js +112 -0
  186. package/_internal/useFocusTrap-c3c6378b.js.map +1 -0
  187. package/_internal/useId-3a1facc0.js +18 -0
  188. package/_internal/useId-3a1facc0.js.map +1 -0
  189. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  190. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  191. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  192. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  193. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js +20 -0
  194. package/_internal/wrapChildrenIconWithSpaces-f1e91251.js.map +1 -0
  195. package/index.d.ts +7 -352
  196. package/index.js +65 -14486
  197. package/index.js.map +1 -1
  198. package/package.json +4 -11
  199. package/utils/index.d.ts +1 -1
  200. package/utils/index.js +3 -1
  201. package/utils/index.js.map +1 -1
  202. package/_internal/Falsy.d.ts +0 -7
  203. package/_internal/index.js +0 -236
  204. package/_internal/index.js.map +0 -1
  205. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  206. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
  207. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  208. package/src/components/alert-dialog/index.ts +0 -1
  209. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  210. package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
  211. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  212. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  213. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
  214. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  215. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  216. package/src/components/autocomplete/index.ts +0 -2
  217. package/src/components/avatar/Avatar.stories.tsx +0 -119
  218. package/src/components/avatar/Avatar.test.tsx +0 -32
  219. package/src/components/avatar/Avatar.tsx +0 -114
  220. package/src/components/avatar/index.ts +0 -1
  221. package/src/components/badge/Badge.stories.tsx +0 -69
  222. package/src/components/badge/Badge.test.tsx +0 -45
  223. package/src/components/badge/Badge.tsx +0 -58
  224. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  225. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  226. package/src/components/badge/BadgeWrapper.tsx +0 -37
  227. package/src/components/badge/index.ts +0 -2
  228. package/src/components/button/Button.stories.tsx +0 -355
  229. package/src/components/button/Button.test.tsx +0 -125
  230. package/src/components/button/Button.tsx +0 -101
  231. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  232. package/src/components/button/ButtonGroup.test.tsx +0 -41
  233. package/src/components/button/ButtonGroup.tsx +0 -50
  234. package/src/components/button/ButtonRoot.tsx +0 -163
  235. package/src/components/button/IconButton.stories.tsx +0 -52
  236. package/src/components/button/IconButton.test.tsx +0 -66
  237. package/src/components/button/IconButton.tsx +0 -91
  238. package/src/components/button/index.ts +0 -4
  239. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  240. package/src/components/checkbox/Checkbox.test.tsx +0 -154
  241. package/src/components/checkbox/Checkbox.tsx +0 -164
  242. package/src/components/checkbox/index.ts +0 -1
  243. package/src/components/chip/Chip.stories.tsx +0 -164
  244. package/src/components/chip/Chip.test.tsx +0 -243
  245. package/src/components/chip/Chip.tsx +0 -168
  246. package/src/components/chip/ChipGroup.stories.tsx +0 -47
  247. package/src/components/chip/ChipGroup.test.tsx +0 -37
  248. package/src/components/chip/ChipGroup.tsx +0 -60
  249. package/src/components/chip/index.ts +0 -2
  250. package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
  251. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  252. package/src/components/comment-block/CommentBlock.tsx +0 -172
  253. package/src/components/comment-block/index.ts +0 -1
  254. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  255. package/src/components/date-picker/DatePicker.test.tsx +0 -34
  256. package/src/components/date-picker/DatePicker.tsx +0 -52
  257. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  258. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  259. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  260. package/src/components/date-picker/DatePickerField.test.tsx +0 -70
  261. package/src/components/date-picker/DatePickerField.tsx +0 -135
  262. package/src/components/date-picker/constants.ts +0 -11
  263. package/src/components/date-picker/index.ts +0 -4
  264. package/src/components/date-picker/types.ts +0 -28
  265. package/src/components/dialog/Dialog.stories.tsx +0 -318
  266. package/src/components/dialog/Dialog.test.tsx +0 -97
  267. package/src/components/dialog/Dialog.tsx +0 -288
  268. package/src/components/dialog/index.ts +0 -1
  269. package/src/components/divider/Divider.test.tsx +0 -51
  270. package/src/components/divider/Divider.tsx +0 -50
  271. package/src/components/divider/index.ts +0 -1
  272. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  273. package/src/components/drag-handle/DragHandle.tsx +0 -51
  274. package/src/components/drag-handle/index.ts +0 -1
  275. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  276. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  277. package/src/components/dropdown/Dropdown.tsx +0 -186
  278. package/src/components/dropdown/index.ts +0 -1
  279. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  280. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
  281. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  282. package/src/components/expansion-panel/index.ts +0 -1
  283. package/src/components/flag/Flag.stories.tsx +0 -48
  284. package/src/components/flag/Flag.test.tsx +0 -62
  285. package/src/components/flag/Flag.tsx +0 -52
  286. package/src/components/flag/index.ts +0 -1
  287. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  288. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  289. package/src/components/flex-box/FlexBox.tsx +0 -100
  290. package/src/components/flex-box/index.ts +0 -1
  291. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  292. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  293. package/src/components/generic-block/GenericBlock.tsx +0 -225
  294. package/src/components/generic-block/constants.ts +0 -9
  295. package/src/components/generic-block/index.ts +0 -2
  296. package/src/components/grid/Grid.tsx +0 -83
  297. package/src/components/grid/GridItem.tsx +0 -55
  298. package/src/components/grid/index.ts +0 -2
  299. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  300. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  301. package/src/components/grid-column/GridColumn.tsx +0 -83
  302. package/src/components/grid-column/index.ts +0 -1
  303. package/src/components/heading/Heading.stories.tsx +0 -69
  304. package/src/components/heading/Heading.test.tsx +0 -82
  305. package/src/components/heading/Heading.tsx +0 -65
  306. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  307. package/src/components/heading/constants.ts +0 -16
  308. package/src/components/heading/context.tsx +0 -13
  309. package/src/components/heading/index.ts +0 -3
  310. package/src/components/heading/useHeadingLevel.tsx +0 -8
  311. package/src/components/icon/Icon.stories.tsx +0 -73
  312. package/src/components/icon/Icon.test.tsx +0 -125
  313. package/src/components/icon/Icon.tsx +0 -133
  314. package/src/components/icon/index.ts +0 -1
  315. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  316. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  317. package/src/components/image-block/ImageBlock.tsx +0 -142
  318. package/src/components/image-block/ImageCaption.tsx +0 -115
  319. package/src/components/image-block/index.ts +0 -1
  320. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
  321. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  322. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  323. package/src/components/image-lightbox/constants.ts +0 -11
  324. package/src/components/image-lightbox/index.ts +0 -2
  325. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  326. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  327. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  328. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  329. package/src/components/image-lightbox/types.ts +0 -48
  330. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  331. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  332. package/src/components/inline-list/InlineList.test.tsx +0 -52
  333. package/src/components/inline-list/InlineList.tsx +0 -96
  334. package/src/components/inline-list/index.ts +0 -1
  335. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  336. package/src/components/input-helper/InputHelper.test.tsx +0 -55
  337. package/src/components/input-helper/InputHelper.tsx +0 -65
  338. package/src/components/input-helper/constants.ts +0 -11
  339. package/src/components/input-helper/index.ts +0 -1
  340. package/src/components/input-label/InputLabel.stories.tsx +0 -45
  341. package/src/components/input-label/InputLabel.test.tsx +0 -59
  342. package/src/components/input-label/InputLabel.tsx +0 -69
  343. package/src/components/input-label/index.ts +0 -1
  344. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  345. package/src/components/lightbox/Lightbox.test.tsx +0 -53
  346. package/src/components/lightbox/Lightbox.tsx +0 -180
  347. package/src/components/lightbox/index.ts +0 -1
  348. package/src/components/link/Link.stories.tsx +0 -195
  349. package/src/components/link/Link.test.tsx +0 -127
  350. package/src/components/link/Link.tsx +0 -106
  351. package/src/components/link/index.ts +0 -1
  352. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  353. package/src/components/link-preview/LinkPreview.test.tsx +0 -105
  354. package/src/components/link-preview/LinkPreview.tsx +0 -158
  355. package/src/components/link-preview/index.ts +0 -1
  356. package/src/components/list/List.stories.tsx +0 -116
  357. package/src/components/list/List.test.tsx +0 -18
  358. package/src/components/list/List.tsx +0 -104
  359. package/src/components/list/ListDivider.stories.tsx +0 -12
  360. package/src/components/list/ListDivider.test.tsx +0 -22
  361. package/src/components/list/ListDivider.tsx +0 -35
  362. package/src/components/list/ListItem.stories.tsx +0 -66
  363. package/src/components/list/ListItem.test.tsx +0 -93
  364. package/src/components/list/ListItem.tsx +0 -157
  365. package/src/components/list/ListSubheader.stories.tsx +0 -11
  366. package/src/components/list/ListSubheader.test.tsx +0 -21
  367. package/src/components/list/ListSubheader.tsx +0 -44
  368. package/src/components/list/index.ts +0 -4
  369. package/src/components/list/useInteractiveList.tsx +0 -202
  370. package/src/components/message/Message.stories.tsx +0 -72
  371. package/src/components/message/Message.test.tsx +0 -76
  372. package/src/components/message/Message.tsx +0 -100
  373. package/src/components/message/index.ts +0 -1
  374. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  375. package/src/components/mosaic/Mosaic.test.tsx +0 -77
  376. package/src/components/mosaic/Mosaic.tsx +0 -98
  377. package/src/components/mosaic/index.ts +0 -1
  378. package/src/components/navigation/Navigation.stories.tsx +0 -234
  379. package/src/components/navigation/Navigation.test.tsx +0 -65
  380. package/src/components/navigation/Navigation.tsx +0 -79
  381. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  382. package/src/components/navigation/NavigationItem.tsx +0 -82
  383. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  384. package/src/components/navigation/NavigationSection.tsx +0 -108
  385. package/src/components/navigation/context.tsx +0 -7
  386. package/src/components/navigation/index.ts +0 -1
  387. package/src/components/notification/Notification.test.tsx +0 -94
  388. package/src/components/notification/Notification.tsx +0 -138
  389. package/src/components/notification/Notifications.stories.tsx +0 -92
  390. package/src/components/notification/constants.ts +0 -28
  391. package/src/components/notification/index.ts +0 -1
  392. package/src/components/popover/Popover.stories.tsx +0 -264
  393. package/src/components/popover/Popover.test.tsx +0 -62
  394. package/src/components/popover/Popover.tsx +0 -201
  395. package/src/components/popover/constants.ts +0 -62
  396. package/src/components/popover/index.ts +0 -3
  397. package/src/components/popover/usePopoverStyle.tsx +0 -184
  398. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  399. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  400. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
  401. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  402. package/src/components/popover-dialog/index.tsx +0 -1
  403. package/src/components/post-block/PostBlock.test.tsx +0 -27
  404. package/src/components/post-block/PostBlock.tsx +0 -122
  405. package/src/components/post-block/index.ts +0 -1
  406. package/src/components/progress/Progress.tsx +0 -68
  407. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  408. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  409. package/src/components/progress/ProgressCircular.tsx +0 -82
  410. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  411. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  412. package/src/components/progress/ProgressLinear.tsx +0 -50
  413. package/src/components/progress/index.ts +0 -3
  414. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  415. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
  416. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  417. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  418. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  419. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  420. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  421. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  422. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  423. package/src/components/progress-tracker/index.ts +0 -4
  424. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  425. package/src/components/radio-button/RadioButton.test.tsx +0 -143
  426. package/src/components/radio-button/RadioButton.tsx +0 -143
  427. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  428. package/src/components/radio-button/RadioGroup.test.tsx +0 -29
  429. package/src/components/radio-button/RadioGroup.tsx +0 -44
  430. package/src/components/radio-button/index.ts +0 -2
  431. package/src/components/select/Select.stories.tsx +0 -385
  432. package/src/components/select/Select.test.tsx +0 -199
  433. package/src/components/select/Select.tsx +0 -199
  434. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  435. package/src/components/select/SelectMultiple.test.tsx +0 -213
  436. package/src/components/select/SelectMultiple.tsx +0 -206
  437. package/src/components/select/WithSelectContext.tsx +0 -147
  438. package/src/components/select/constants.ts +0 -55
  439. package/src/components/select/index.ts +0 -2
  440. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  441. package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
  442. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  443. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  444. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
  445. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  446. package/src/components/side-navigation/index.ts +0 -2
  447. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  448. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
  449. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  450. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  451. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  452. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  453. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  454. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  455. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  456. package/src/components/skeleton/index.ts +0 -3
  457. package/src/components/slider/Slider.stories.tsx +0 -45
  458. package/src/components/slider/Slider.test.tsx +0 -29
  459. package/src/components/slider/Slider.tsx +0 -299
  460. package/src/components/slider/index.ts +0 -2
  461. package/src/components/slideshow/Slides.tsx +0 -130
  462. package/src/components/slideshow/Slideshow.stories.tsx +0 -179
  463. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  464. package/src/components/slideshow/Slideshow.tsx +0 -173
  465. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  466. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  467. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  468. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  469. package/src/components/slideshow/constants.ts +0 -24
  470. package/src/components/slideshow/index.ts +0 -4
  471. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  472. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  473. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  474. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  475. package/src/components/switch/Switch.stories.tsx +0 -49
  476. package/src/components/switch/Switch.test.tsx +0 -144
  477. package/src/components/switch/Switch.tsx +0 -145
  478. package/src/components/switch/index.ts +0 -1
  479. package/src/components/table/Table.test.tsx +0 -29
  480. package/src/components/table/Table.tsx +0 -59
  481. package/src/components/table/TableBody.test.tsx +0 -30
  482. package/src/components/table/TableBody.tsx +0 -42
  483. package/src/components/table/TableCell.test.tsx +0 -72
  484. package/src/components/table/TableCell.tsx +0 -130
  485. package/src/components/table/TableHeader.test.tsx +0 -30
  486. package/src/components/table/TableHeader.tsx +0 -48
  487. package/src/components/table/TableRow.test.tsx +0 -40
  488. package/src/components/table/TableRow.tsx +0 -71
  489. package/src/components/table/index.ts +0 -5
  490. package/src/components/tabs/Tab.test.tsx +0 -50
  491. package/src/components/tabs/Tab.tsx +0 -133
  492. package/src/components/tabs/TabList.test.tsx +0 -49
  493. package/src/components/tabs/TabList.tsx +0 -94
  494. package/src/components/tabs/TabPanel.test.tsx +0 -37
  495. package/src/components/tabs/TabPanel.tsx +0 -67
  496. package/src/components/tabs/TabProvider.test.tsx +0 -161
  497. package/src/components/tabs/TabProvider.tsx +0 -67
  498. package/src/components/tabs/Tabs.stories.tsx +0 -170
  499. package/src/components/tabs/index.ts +0 -4
  500. package/src/components/tabs/state.ts +0 -114
  501. package/src/components/tabs/test-utils.ts +0 -39
  502. package/src/components/text/Text.stories.tsx +0 -177
  503. package/src/components/text/Text.test.tsx +0 -92
  504. package/src/components/text/Text.tsx +0 -139
  505. package/src/components/text/index.ts +0 -1
  506. package/src/components/text-field/TextField.stories.tsx +0 -180
  507. package/src/components/text-field/TextField.test.tsx +0 -298
  508. package/src/components/text-field/TextField.tsx +0 -493
  509. package/src/components/text-field/index.ts +0 -1
  510. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  511. package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
  512. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  513. package/src/components/thumbnail/index.ts +0 -3
  514. package/src/components/thumbnail/types.ts +0 -48
  515. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  516. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  517. package/src/components/thumbnail/useImageLoad.ts +0 -40
  518. package/src/components/toolbar/Toolbar.tsx +0 -68
  519. package/src/components/toolbar/index.ts +0 -1
  520. package/src/components/tooltip/Tooltip.stories.tsx +0 -118
  521. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  522. package/src/components/tooltip/Tooltip.tsx +0 -165
  523. package/src/components/tooltip/constants.ts +0 -8
  524. package/src/components/tooltip/context.tsx +0 -17
  525. package/src/components/tooltip/index.ts +0 -1
  526. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  527. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  528. package/src/components/uploader/Uploader.stories.tsx +0 -109
  529. package/src/components/uploader/Uploader.test.tsx +0 -146
  530. package/src/components/uploader/Uploader.tsx +0 -177
  531. package/src/components/uploader/index.ts +0 -1
  532. package/src/components/user-block/UserBlock.stories.tsx +0 -133
  533. package/src/components/user-block/UserBlock.test.tsx +0 -106
  534. package/src/components/user-block/UserBlock.tsx +0 -193
  535. package/src/components/user-block/index.ts +0 -1
  536. package/src/constants.ts +0 -27
  537. package/src/hooks/useBooleanState.tsx +0 -13
  538. package/src/hooks/useCallbackOnEscape.ts +0 -34
  539. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  540. package/src/hooks/useClickAway.tsx +0 -48
  541. package/src/hooks/useDisableBodyScroll.ts +0 -28
  542. package/src/hooks/useEventCallback.tsx +0 -17
  543. package/src/hooks/useFocus.tsx +0 -21
  544. package/src/hooks/useFocusTrap.ts +0 -93
  545. package/src/hooks/useFocusWithin.ts +0 -33
  546. package/src/hooks/useId.test.tsx +0 -22
  547. package/src/hooks/useId.ts +0 -15
  548. package/src/hooks/useImageSize.ts +0 -17
  549. package/src/hooks/useInfiniteScroll.tsx +0 -60
  550. package/src/hooks/useIntersectionObserver.tsx +0 -43
  551. package/src/hooks/useInterval.tsx +0 -31
  552. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  553. package/src/hooks/useListenFocus.tsx +0 -26
  554. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  555. package/src/hooks/usePopper.ts +0 -12
  556. package/src/hooks/usePreviousValue.ts +0 -12
  557. package/src/hooks/useRovingTabIndex.tsx +0 -90
  558. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  559. package/src/hooks/useSlideshowControls.ts +0 -246
  560. package/src/hooks/useStopPropagation.ts +0 -21
  561. package/src/hooks/useTransitionVisibility.ts +0 -48
  562. package/src/index.ts +0 -63
  563. package/src/stories/controls/color.ts +0 -7
  564. package/src/stories/controls/element.ts +0 -6
  565. package/src/stories/controls/focusPoint.ts +0 -1
  566. package/src/stories/controls/icons.ts +0 -126
  567. package/src/stories/controls/image.ts +0 -84
  568. package/src/stories/controls/selectArgType.ts +0 -8
  569. package/src/stories/controls/theme.ts +0 -3
  570. package/src/stories/controls/typography.ts +0 -5
  571. package/src/stories/controls/withUndefined.ts +0 -1
  572. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
  573. package/src/stories/decorators/withCombinations.tsx +0 -132
  574. package/src/stories/decorators/withNestedProps.tsx +0 -22
  575. package/src/stories/decorators/withResizableBox.tsx +0 -21
  576. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  577. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  578. package/src/stories/decorators/withWrapper.tsx +0 -19
  579. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  580. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  581. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  582. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  583. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  584. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  585. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  586. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  587. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  588. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  589. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  590. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  591. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  592. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  593. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  594. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  595. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  596. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  597. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  598. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  599. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  600. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  601. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  602. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  604. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  605. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  606. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  607. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  608. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  609. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  610. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  611. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  612. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  613. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  614. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  615. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  616. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  617. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  618. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  619. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  620. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  621. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  622. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  623. package/src/stories/utils/CustomLink.tsx +0 -12
  624. package/src/stories/utils/concatPath.tsx +0 -17
  625. package/src/stories/utils/disableArgTypes.ts +0 -3
  626. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  627. package/src/stories/utils/lorem.ts +0 -59
  628. package/src/stories/utils/theming.tsx +0 -166
  629. package/src/stories/utils/toFlattenProps.ts +0 -28
  630. package/src/stories/utils/withCategory.ts +0 -12
  631. package/src/testing/utils/ThemeSentinel.tsx +0 -10
  632. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  633. package/src/testing/utils/index.ts +0 -1
  634. package/src/testing/utils/queries.ts +0 -19
  635. package/src/untypped-modules.d.ts +0 -9
  636. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  637. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  638. package/src/utils/ClickAwayProvider/index.ts +0 -1
  639. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  640. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  641. package/src/utils/Portal/Portal.test.tsx +0 -31
  642. package/src/utils/Portal/Portal.tsx +0 -33
  643. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  644. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  645. package/src/utils/Portal/PortalProvider.tsx +0 -24
  646. package/src/utils/Portal/index.tsx +0 -2
  647. package/src/utils/browser/DOM/findImage.tsx +0 -3
  648. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  649. package/src/utils/browser/focus/constants.ts +0 -7
  650. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  651. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  652. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  653. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  654. package/src/utils/browser/isFocusVisible.ts +0 -9
  655. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  656. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  657. package/src/utils/browser/isReducedMotion.ts +0 -6
  658. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  659. package/src/utils/date/addMonthResetDay.ts +0 -9
  660. package/src/utils/date/formatDayNumber.test.ts +0 -12
  661. package/src/utils/date/formatDayNumber.ts +0 -5
  662. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  663. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  664. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  665. package/src/utils/date/getMonthCalendar.ts +0 -69
  666. package/src/utils/date/getWeekDays.test.ts +0 -48
  667. package/src/utils/date/getWeekDays.ts +0 -34
  668. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  669. package/src/utils/date/getYearDisplayName.ts +0 -12
  670. package/src/utils/date/isDateValid.test.ts +0 -15
  671. package/src/utils/date/isDateValid.ts +0 -4
  672. package/src/utils/date/isSameDay.test.ts +0 -37
  673. package/src/utils/date/isSameDay.ts +0 -11
  674. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  675. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
  676. package/src/utils/disabled/index.ts +0 -2
  677. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  678. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  679. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  680. package/src/utils/index.ts +0 -7
  681. package/src/utils/locale/getCurrentLocale.ts +0 -4
  682. package/src/utils/locale/parseLocale.test.ts +0 -17
  683. package/src/utils/locale/parseLocale.ts +0 -23
  684. package/src/utils/locale/types.ts +0 -8
  685. package/src/utils/number/clamp.ts +0 -17
  686. package/src/utils/object/isEqual.test.ts +0 -25
  687. package/src/utils/object/isEqual.ts +0 -11
  688. package/src/utils/partitionMulti.test.ts +0 -27
  689. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  690. package/src/utils/react/RawClickable.test.tsx +0 -153
  691. package/src/utils/react/RawClickable.tsx +0 -65
  692. package/src/utils/react/flattenChildren.ts +0 -32
  693. package/src/utils/react/forwardRef.ts +0 -11
  694. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  695. package/src/utils/react/mergeRefs.ts +0 -33
  696. package/src/utils/react/renderLink.tsx +0 -17
  697. package/src/utils/react/skipRender.tsx +0 -18
  698. package/src/utils/react/unref.ts +0 -7
  699. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  700. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  701. package/src/utils/theme/ThemeContext.ts +0 -16
  702. package/src/utils/theme/invertTheme.ts +0 -4
  703. package/src/utils/type/Comp.ts +0 -14
  704. package/src/utils/type/ComponentRef.ts +0 -16
  705. package/src/utils/type/HasAriaDisabled.ts +0 -6
  706. package/src/utils/type/HasPolymorphicAs.ts +0 -6
  707. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  708. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  709. package/src/utils/type/index.ts +0 -9
  710. package/src/utils/type/isComponent.ts +0 -33
  711. package/src/utils/type/isComponentType.ts +0 -9
@@ -1,37 +0,0 @@
1
- import { useDisabledStateContext } from './DisabledStateContext';
2
-
3
- type GenericProps = {
4
- disabled?: boolean;
5
- isDisabled?: boolean;
6
- 'aria-disabled'?: boolean | 'true' | 'false';
7
- onClick?: any;
8
- onChange?: any;
9
- };
10
-
11
- interface Output<TProps extends GenericProps> {
12
- /** Is disabled or aria-disabled */
13
- isAnyDisabled?: boolean;
14
- disabledStateProps: { disabled?: boolean; 'aria-disabled'?: boolean };
15
- otherProps: TProps & { disabled: never; 'aria-disabled': never; isDisabled: never };
16
- }
17
-
18
- /**
19
- * Resolve disabled state from props.
20
- * (handles `disabled`, `isDisabled` and `aria-disabled`)
21
- *
22
- * @params component props
23
- */
24
- export function useDisableStateProps<TProps extends GenericProps>(props: TProps): Output<TProps> {
25
- const { disabled, isDisabled = disabled, 'aria-disabled': ariaDisabled, onClick, onChange, ...otherProps } = props;
26
- const disabledStateContext = useDisabledStateContext();
27
- const disabledStateProps = {
28
- disabled: disabledStateContext?.state === 'disabled' || isDisabled,
29
- 'aria-disabled': ariaDisabled === true || ariaDisabled === 'true',
30
- };
31
- const isAnyDisabled = disabledStateProps['aria-disabled'] || disabledStateProps.disabled;
32
- if (!isAnyDisabled) {
33
- (otherProps as any).onClick = onClick;
34
- (otherProps as any).onChange = onChange;
35
- }
36
- return { disabledStateProps, otherProps: otherProps as Output<TProps>['otherProps'], isAnyDisabled };
37
- }
@@ -1,32 +0,0 @@
1
- import last from 'lodash/last';
2
- import pull from 'lodash/pull';
3
-
4
- export type Listener = { enable(): void; disable(): void };
5
-
6
- /**
7
- * Keep track of listeners, only the last registered listener gets activated at any point (previously registered
8
- * listener are disabled).
9
- * When a listener gets unregistered, the previously registered listener gets enabled again.
10
- */
11
- export function makeListenerTowerContext() {
12
- const LISTENERS: Listener[] = [];
13
-
14
- return {
15
- register(listener: Listener) {
16
- // Disable previous listener.
17
- last(LISTENERS)?.disable();
18
- // Keep track of current listener.
19
- LISTENERS.push(listener);
20
- // Enable current listener.
21
- listener.enable();
22
- },
23
- unregister(listener: Listener) {
24
- // Disable current listener.
25
- listener.disable();
26
- // Remove current listener.
27
- pull(LISTENERS, listener);
28
- // Enable previous listener.
29
- last(LISTENERS)?.enable();
30
- },
31
- };
32
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * WARNING: All modules exported here are exposed to NPM in '@lumx/react/utils'.
3
- */
4
-
5
- export { ClickAwayProvider } from './ClickAwayProvider';
6
- export { Portal, type PortalProps, type PortalInit, PortalProvider, type PortalProviderProps } from './Portal';
7
- export { DisabledStateProvider, useDisabledStateContext } from './disabled';
@@ -1,4 +0,0 @@
1
- /**
2
- * Get current browser locale.
3
- */
4
- export const getCurrentLocale = (): string => navigator.languages?.[0] || navigator.language;
@@ -1,17 +0,0 @@
1
- import { parseLocale } from '@lumx/react/utils/locale/parseLocale';
2
-
3
- describe(parseLocale.name, () => {
4
- it('should parse various locale formats', () => {
5
- expect(parseLocale('en')).toEqual({ code: 'en', language: 'en' });
6
- expect(parseLocale('EN')).toEqual({ code: 'en', language: 'en' });
7
- expect(parseLocale('en-US')).toEqual({ code: 'en-US', language: 'en', region: 'US' });
8
- expect(parseLocale('en-us')).toEqual({ code: 'en-US', language: 'en', region: 'US' });
9
- expect(parseLocale('en_us')).toEqual({ code: 'en-US', language: 'en', region: 'US' });
10
- expect(parseLocale('EN-US')).toEqual({ code: 'en-US', language: 'en', region: 'US' });
11
- });
12
-
13
- it('should fail on invalid locale', () => {
14
- expect(parseLocale('-')).toBe(undefined);
15
- expect(parseLocale('-foo')).toBe(undefined);
16
- });
17
- });
@@ -1,23 +0,0 @@
1
- import { Locale } from '@lumx/react/utils/locale/types';
2
-
3
- /**
4
- * Parse locale code
5
- * @example
6
- * parseLocale('EN') // => { code: 'en', language: 'en' }
7
- * parseLocale('en_us') // => { code: 'en-US', language: 'en', region: 'US' }
8
- * parseLocale('EN-US') // => { code: 'en-US', language: 'en', region: 'US' }
9
- */
10
- export function parseLocale(locale: string): Locale | undefined {
11
- const [rawLanguage, rawRegion] = locale.split(/[-_]/);
12
- if (!rawLanguage) {
13
- return undefined;
14
- }
15
- const language = rawLanguage.toLowerCase();
16
- let region: string | undefined;
17
- let code = language;
18
- if (rawRegion) {
19
- region = rawRegion.toUpperCase();
20
- code += `-${region}`;
21
- }
22
- return { code, region, language };
23
- }
@@ -1,8 +0,0 @@
1
- export interface Locale {
2
- /** ISO locale code `lang-REGION` (ex: `en-US`) */
3
- code: string;
4
- /** ISO locale language code (ex: `en`) */
5
- language: string;
6
- /** ISO locale region code (ex: `US`) */
7
- region?: string;
8
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Clamp value in range.
3
- *
4
- * @param value Value to clamp.
5
- * @param min Minimum value.
6
- * @param max Maximum value.
7
- * @return Clamped value.
8
- */
9
- export const clamp = (value: number, min: number, max: number): number => {
10
- if (value < min) {
11
- return min;
12
- }
13
- if (value > max) {
14
- return max;
15
- }
16
- return value;
17
- };
@@ -1,25 +0,0 @@
1
- import { isEqual } from './isEqual';
2
-
3
- test(isEqual.name, () => {
4
- expect(isEqual('', '')).toBe(true);
5
- expect(isEqual(0, 0)).toBe(true);
6
- expect(isEqual(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY)).toBe(true);
7
-
8
- expect(isEqual('', 0)).toBe(false);
9
-
10
- expect(isEqual({}, {})).toBe(true);
11
- expect(isEqual({ a: 1 }, { a: 1 })).toBe(true);
12
- expect(isEqual({ a: { a: 1 } }, { a: { a: 1 } })).toBe(true);
13
-
14
- expect(isEqual([], [])).toBe(true);
15
-
16
- expect(isEqual([1], [2])).toBe(false);
17
- expect(isEqual([1], [1, 2])).toBe(false);
18
- expect(isEqual([1, 2], [2, 1])).toBe(false);
19
-
20
- expect(isEqual({ a: 1 }, { a: 2 })).toBe(false);
21
- expect(isEqual({ a: 1 }, {})).toBe(false);
22
- expect(isEqual({}, { a: 1 })).toBe(false);
23
- expect(isEqual({ a: { a: 1 } }, { a: { a: 2 } })).toBe(false);
24
- expect(isEqual({ a: 1 }, { a: 1, b: 1 })).toBe(false);
25
- });
@@ -1,11 +0,0 @@
1
- /** Minimal recursive deep equal of JS values */
2
- export function isEqual(obj1: any, obj2: any): boolean {
3
- if (obj1 === obj2) return true;
4
- if (typeof obj1 === 'object' && typeof obj2 === 'object') {
5
- const keys1 = Object.keys(obj1);
6
- const keys2 = Object.keys(obj2);
7
- if (keys1.length !== keys2.length) return false;
8
- return keys1.every((key1) => isEqual(obj1[key1], obj2[key1]));
9
- }
10
- return false;
11
- }
@@ -1,27 +0,0 @@
1
- import partition from 'lodash/partition';
2
- import { partitionMulti } from './partitionMulti';
3
-
4
- describe('partitionMulti', () => {
5
- it('should act like partition for single predicate', () => {
6
- const data = [0, 1, 2, 3, 4, 5];
7
- const isEven = (n: number): boolean => n % 2 === 0;
8
-
9
- const expected = partition(data, isEven);
10
- const actual = partitionMulti(data, [isEven]);
11
-
12
- expect(actual).toEqual(expected);
13
- });
14
-
15
- it('should partition on multiple predicates', () => {
16
- type T = string | number | boolean;
17
- const data: T[] = ['a', 1, 'b', false, true];
18
- const isString = (s: T): boolean => typeof s === 'string';
19
- const isNumber = (s: T): boolean => typeof s === 'number';
20
-
21
- const [strings, numbers, others] = partitionMulti(data, [isString, isNumber]);
22
-
23
- expect(strings).toEqual(['a', 'b']);
24
- expect(numbers).toEqual([1]);
25
- expect(others).toEqual([false, true]);
26
- });
27
- });
@@ -1,20 +0,0 @@
1
- import { useLayoutEffect } from 'react';
2
-
3
- /**
4
- * Helper component using useLayoutEffect to trigger a callback on before unmount.
5
- *
6
- * The callback must be wrapped in a React ref to avoid updating the `useLayoutEffect` before the un-mount
7
- */
8
- export const OnBeforeUnmount = ({ callbackRef }: { callbackRef: React.RefObject<(() => void) | undefined> }) => {
9
- useLayoutEffect(
10
- () => {
11
- return () => {
12
- // On unmount
13
- // eslint-disable-next-line react-hooks/exhaustive-deps
14
- callbackRef.current?.();
15
- };
16
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
17
- [],
18
- );
19
- return null;
20
- };
@@ -1,153 +0,0 @@
1
- import React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
- import userEvent from '@testing-library/user-event';
4
- import { RawClickable, RawClickableProps } from './RawClickable';
5
- import { CustomLink } from '../../stories/utils/CustomLink';
6
-
7
- /**
8
- * Mounts the component and returns common DOM elements / data needed in multiple tests.
9
- */
10
- const setup = (props: RawClickableProps<any>) => {
11
- render(<RawClickable {...props} data-testid="raw-element" />);
12
- const element = screen.getByTestId('raw-element');
13
- return { props, element };
14
- };
15
-
16
- describe(`<RawClickable>`, () => {
17
- describe('as a button', () => {
18
- it('should render a button by default', () => {
19
- const { element } = setup({ as: 'button', children: 'Click me' });
20
- expect(element.tagName).toBe('BUTTON');
21
- expect(element).toHaveAttribute('type', 'button');
22
- expect(screen.getByRole('button', { name: 'Click me' })).toBe(element);
23
- });
24
-
25
- it('should trigger onClick', async () => {
26
- const onClick = vi.fn();
27
- const { element } = setup({ as: 'button', children: 'Click me', onClick });
28
- await userEvent.click(element);
29
- expect(onClick).toHaveBeenCalledTimes(1);
30
- });
31
-
32
- it('should be disabled with `disabled` prop', async () => {
33
- const onClick = vi.fn();
34
- const { element } = setup({ as: 'button', children: 'Click me', onClick, disabled: true });
35
- expect(element).toBeDisabled();
36
- await userEvent.click(element);
37
- expect(onClick).not.toHaveBeenCalled();
38
- });
39
-
40
- it('should be disabled with `isDisabled` prop', async () => {
41
- const onClick = vi.fn();
42
- const { element } = setup({ as: 'button', children: 'Click me', onClick, isDisabled: true });
43
- expect(element).toBeDisabled();
44
- await userEvent.click(element);
45
- expect(onClick).not.toHaveBeenCalled();
46
- });
47
-
48
- it('should be aria-disabled with `aria-disabled` prop', async () => {
49
- const onClick = vi.fn();
50
- const { element } = setup({ as: 'button', children: 'Click me', onClick, 'aria-disabled': true });
51
- expect(element).not.toBeDisabled();
52
- expect(element).toHaveAttribute('aria-disabled', 'true');
53
- await userEvent.click(element);
54
- expect(onClick).not.toHaveBeenCalled();
55
- });
56
- });
57
-
58
- describe('as a link', () => {
59
- const href = 'https://example.com';
60
-
61
- it('should render a link with `href` prop', () => {
62
- const { element } = setup({ as: 'a', children: 'Click me', href });
63
- expect(element.tagName).toBe('A');
64
- expect(element).toHaveAttribute('href', href);
65
- expect(screen.getByRole('link', { name: 'Click me' })).toBe(element);
66
- });
67
-
68
- it('should trigger onClick', async () => {
69
- const onClick = vi.fn((evt: any) => evt.preventDefault());
70
- const { element } = setup({ as: 'a', children: 'Click me', href, onClick });
71
- await userEvent.click(element);
72
- expect(onClick).toHaveBeenCalledTimes(1);
73
- });
74
-
75
- it('should be disabled with `disabled` prop', async () => {
76
- const onClick = vi.fn();
77
- const { element } = setup({ as: 'a', children: 'Click me', href, onClick, disabled: true });
78
- expect(element).toHaveAttribute('aria-disabled', 'true');
79
- expect(element).toHaveAttribute('tabindex', '-1');
80
- await userEvent.click(element);
81
- expect(onClick).not.toHaveBeenCalled();
82
- });
83
-
84
- it('should be disabled with `isDisabled` prop', async () => {
85
- const onClick = vi.fn();
86
- const { element } = setup({ as: 'a', children: 'Click me', href, onClick, isDisabled: true });
87
- expect(element).toHaveAttribute('aria-disabled', 'true');
88
- expect(element).toHaveAttribute('tabindex', '-1');
89
- await userEvent.click(element);
90
- expect(onClick).not.toHaveBeenCalled();
91
- });
92
-
93
- it('should be aria-disabled with `aria-disabled` prop', async () => {
94
- const onClick = vi.fn();
95
- const { element } = setup({ as: 'a', children: 'Click me', href, onClick, 'aria-disabled': true });
96
- expect(element).toHaveAttribute('aria-disabled', 'true');
97
- await userEvent.click(element);
98
- expect(onClick).not.toHaveBeenCalled();
99
- });
100
- });
101
-
102
- describe('as a custom component', () => {
103
- it('should render a custom component with `linkAs` prop', () => {
104
- const { element } = setup({ as: CustomLink, children: 'Click me' });
105
- expect(element).toHaveAttribute('data-custom-link');
106
- });
107
-
108
- it('should trigger onClick', async () => {
109
- const onClick = vi.fn();
110
- const { element } = setup({ as: CustomLink, children: 'Click me', onClick });
111
- expect(element).toHaveAttribute('data-custom-link');
112
- await userEvent.click(element);
113
- expect(onClick).toHaveBeenCalledTimes(1);
114
- });
115
-
116
- it('should be disabled with `disabled` prop', async () => {
117
- const onClick = vi.fn();
118
- const { element } = setup({ as: CustomLink, children: 'Click me', onClick, disabled: true });
119
- expect(element).toHaveAttribute('data-custom-link');
120
- expect(element).toHaveAttribute('aria-disabled', 'true');
121
- expect(element).toHaveAttribute('tabindex', '-1');
122
- await userEvent.click(element);
123
- expect(onClick).not.toHaveBeenCalled();
124
- });
125
- });
126
-
127
- describe('prop forwarding', () => {
128
- it('should forward className', () => {
129
- const { element } = setup({ as: 'button', className: 'foo bar' });
130
- expect(element).toHaveClass('foo bar');
131
- });
132
-
133
- it('should forward ref and override type in button', () => {
134
- const ref = React.createRef<HTMLButtonElement>();
135
- const { element } = setup({ as: 'button', ref, type: 'submit' });
136
- expect(element).toHaveAttribute('type', 'submit');
137
- expect(ref.current).toBeInstanceOf(HTMLButtonElement);
138
- });
139
-
140
- it('should forward ref and override tabindex in link', () => {
141
- const ref = React.createRef<HTMLAnchorElement>();
142
- const { element } = setup({ as: 'a', ref, href: '#', tabIndex: -1 });
143
- expect(ref.current).toBeInstanceOf(HTMLAnchorElement);
144
- expect(element).toHaveAttribute('tabindex', '-1');
145
- });
146
-
147
- it('should forward ref to custom component', () => {
148
- const ref = React.createRef<HTMLAnchorElement>();
149
- setup({ as: CustomLink, ref });
150
- expect(ref.current).toBeInstanceOf(HTMLAnchorElement);
151
- });
152
- });
153
- });
@@ -1,65 +0,0 @@
1
- import { AriaAttributes, ElementType } from 'react';
2
- import { forwardRefPolymorphic } from '@lumx/react/utils/react/forwardRefPolymorphic';
3
- import { ComponentRef, HasPolymorphicAs } from '@lumx/react/utils/type';
4
- import { HasRequiredLinkHref } from '@lumx/react/utils/type/HasRequiredLinkHref';
5
-
6
- type ClickableElement = 'a' | 'button' | ElementType;
7
-
8
- type BaseClickableProps<E extends ClickableElement> = {
9
- children?: React.ReactNode;
10
- isDisabled?: boolean;
11
- disabled?: boolean;
12
- 'aria-disabled'?: AriaAttributes['aria-disabled'];
13
- onClick?: React.MouseEventHandler<E>;
14
- };
15
-
16
- export type RawClickableProps<E extends ClickableElement> = HasPolymorphicAs<E> &
17
- HasRequiredLinkHref<E> &
18
- BaseClickableProps<E>;
19
-
20
- /**
21
- * Render clickable element (link, button or custom element)
22
- * (also does some basic disabled state handling)
23
- */
24
- export const RawClickable = forwardRefPolymorphic(
25
- <E extends ClickableElement>(props: RawClickableProps<E>, ref: ComponentRef<E>) => {
26
- const {
27
- children,
28
- onClick,
29
- disabled,
30
- isDisabled = disabled,
31
- 'aria-disabled': ariaDisabled,
32
- as,
33
- ...forwardedProps
34
- } = props;
35
-
36
- const isAnyDisabled = isDisabled || ariaDisabled === 'true' || ariaDisabled === true;
37
-
38
- const Component = as as any;
39
- let clickableProps;
40
- if (Component === 'button') {
41
- clickableProps = { type: forwardedProps.type || 'button', disabled: isDisabled };
42
- } else {
43
- clickableProps = { tabIndex: isDisabled ? '-1' : forwardedProps.tabIndex };
44
- }
45
-
46
- return (
47
- <Component
48
- ref={ref}
49
- aria-disabled={isAnyDisabled || undefined}
50
- {...forwardedProps}
51
- {...clickableProps}
52
- onClick={(event: any) => {
53
- if (isAnyDisabled) {
54
- event.stopPropagation();
55
- event.preventDefault();
56
- return;
57
- }
58
- onClick?.(event);
59
- }}
60
- >
61
- {children}
62
- </Component>
63
- );
64
- },
65
- );
@@ -1,32 +0,0 @@
1
- import get from 'lodash/get';
2
- import { Children, Key, ReactChild, ReactNode, cloneElement, isValidElement } from 'react';
3
- import { isFragment } from 'react-is';
4
-
5
- /**
6
- * Flatten list of react nodes removing fragments and adding keys.
7
- * based on: https://github.com/grrowl/react-keyed-flatten-children/blob/5d421644a449765ddd62b659946196b4b5d7b135/index.ts
8
- *
9
- * @param children React nodes to flatten.
10
- * @return Flattened react nodes.
11
- * @deprecated This function was used to develop keyboard navigation in the List component,
12
- * but we will replace this with a better method that does not require to hack the children inspection
13
- *
14
- * TODO: remove List keyboard navigation once we have provided alternative component (Menu, Combobox, etc.),
15
- * remove this function and then remove react-is from the dependencies
16
- */
17
- export function flattenChildren(children: ReactNode) {
18
- function recur(nodes: ReactNode, keys: Key[] = []) {
19
- return Children.toArray(nodes).reduce((acc: ReactChild[], node, index) => {
20
- const nodeKeys = keys.concat(get(node, 'key') ?? index);
21
- if (isFragment(node)) {
22
- acc.push(...recur(node.props.children, nodeKeys));
23
- } else if (isValidElement(node)) {
24
- acc.push(cloneElement(node, { key: nodeKeys.join('.') }));
25
- } else if (typeof node === 'string' || typeof node === 'number') {
26
- acc.push(node);
27
- }
28
- return acc;
29
- }, []);
30
- }
31
- return recur(children);
32
- }
@@ -1,11 +0,0 @@
1
- import React, { type ReactNode, type ForwardedRef } from 'react';
2
- import type { Comp } from '../type';
3
-
4
- type ForwardRef = <P, T = HTMLElement, A = unknown>(
5
- render: (props: P, ref: ForwardedRef<T>) => ReactNode,
6
- ) => Comp<P, T> & A;
7
-
8
- /**
9
- * React.forwardRef but re-typed to attach some custom metadata on our components.
10
- */
11
- export const forwardRef = React.forwardRef as ForwardRef;
@@ -1,9 +0,0 @@
1
- import React, { type ElementType } from 'react';
2
- import type { ComponentRef } from '@lumx/react/utils/type';
3
-
4
- type ForwardRefPolymorphic = <E extends ElementType, P extends { as?: E }>(
5
- render: (props: P, ref: ComponentRef<E>) => React.ReactNode,
6
- ) => (props: P & React.ComponentProps<E> & { ref?: ComponentRef<E> }) => React.JSX.Element;
7
-
8
- /** Same as `React.forwardRef` but inferring Ref type from the `as` prop. */
9
- export const forwardRefPolymorphic = React.forwardRef as ForwardRefPolymorphic;
@@ -1,33 +0,0 @@
1
- import { Falsy } from '@lumx/react/utils/type';
2
- import { MutableRefObject, useMemo } from 'react';
3
-
4
- type FnRef<T> = (value: T) => void;
5
-
6
- /**
7
- * Merge refs into a single function ref.
8
- *
9
- * @param refs React references to merge.
10
- * @return the merged ref.
11
- */
12
- export function mergeRefs<T>(...refs: Array<MutableRefObject<T | null> | FnRef<T> | Falsy>): FnRef<T> {
13
- return (value) =>
14
- refs.forEach((ref) => {
15
- if (typeof ref === 'function') {
16
- ref(value);
17
- } else if (ref) {
18
- // eslint-disable-next-line no-param-reassign
19
- (ref as MutableRefObject<T>).current = value;
20
- }
21
- });
22
- }
23
-
24
- /**
25
- * Same as `mergeRefs` but memoized
26
- */
27
- export const useMergeRefs = <T>(...refs: Array<MutableRefObject<T | null> | FnRef<T> | Falsy>) => {
28
- return useMemo(
29
- () => mergeRefs(...refs),
30
- // eslint-disable-next-line react-hooks/exhaustive-deps
31
- refs,
32
- );
33
- };
@@ -1,17 +0,0 @@
1
- import React, { ReactElement, ReactNode } from 'react';
2
-
3
- interface Props {
4
- linkAs?: any;
5
- }
6
-
7
- /**
8
- * Render link with default <a> HTML component or a custom one provided by `linkAs`.
9
- *
10
- * Can be used to inject the `Link` component from `react-router` and provide better a11y on LumX components.
11
- *
12
- * @param linkAs Custom link component.
13
- * @param children Link children.
14
- * @return A link.
15
- */
16
- export const renderLink = <P extends Props>({ linkAs, ...forwardedProps }: P, ...children: ReactNode[]): ReactElement =>
17
- React.createElement(linkAs || 'a', forwardedProps, ...children);
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
-
3
- import { DOCUMENT } from '@lumx/react/constants';
4
- import type { Comp } from '@lumx/react/utils/type';
5
- /**
6
- * HOC component wrapping a component to skip render if predicate return falsy
7
- */
8
- export const skipRender = <P, T>(predicate: (props: P) => any, Component: Comp<P, T>) => {
9
- const Wrapper = React.forwardRef<T, P>((props, ref) => {
10
- if (!DOCUMENT) {
11
- // Can't render in SSR.
12
- return null;
13
- }
14
- return <Component ref={ref} {...props} />;
15
- });
16
- Wrapper.displayName = Component.displayName;
17
- return Wrapper;
18
- };
@@ -1,7 +0,0 @@
1
- import { MaybeElementOrRef } from '@lumx/react/utils/type';
2
-
3
- /** Unref a react ref or element */
4
- export function unref(maybeElement: MaybeElementOrRef<HTMLElement>) {
5
- if (maybeElement instanceof HTMLElement) return maybeElement;
6
- return maybeElement?.current;
7
- }
@@ -1,37 +0,0 @@
1
- import { Fragment } from 'react';
2
-
3
- import { Icon } from '@lumx/react';
4
- import { mdiEarth, mdiFoodApple, mdiPencil } from '@lumx/icons';
5
- import { wrapChildrenIconWithSpaces } from './wrapChildrenIconWithSpaces';
6
-
7
- describe(wrapChildrenIconWithSpaces, () => {
8
- it('should ignore null or undefined children', () => {
9
- expect(wrapChildrenIconWithSpaces(undefined)).toBeUndefined();
10
- expect(wrapChildrenIconWithSpaces(null)).toBeUndefined();
11
- });
12
-
13
- it('should wrap icons with spaces', () => {
14
- expect(
15
- wrapChildrenIconWithSpaces(
16
- <>
17
- <Icon icon={mdiEarth} />a string
18
- <>
19
- some more string with
20
- <Icon icon={mdiFoodApple} />
21
- </>
22
- {['array with', <Icon key="custom-key" icon={mdiPencil} />]}
23
- </>,
24
- ),
25
- ).toEqual([
26
- // prettier-ignore
27
- <Fragment key=".0">
28
- {' '}
29
- <Icon key=".0" icon={mdiEarth} />{' '}a string
30
- <Fragment key=".2">
31
- some more string with{' '}<Icon key=".1" icon={mdiFoodApple} />{' '}
32
- </Fragment>
33
- array with{' '}<Icon key=".3:$custom-key" icon={mdiPencil} />{' '}
34
- </Fragment>,
35
- ]);
36
- });
37
- });
@@ -1,22 +0,0 @@
1
- import React, { Children } from 'react';
2
- import { isComponentType } from '@lumx/react/utils/type';
3
- import { Icon } from '@lumx/react';
4
-
5
- /** Force wrap spaces around icons to make sure they are never stuck against text. */
6
- export function wrapChildrenIconWithSpaces(children: React.ReactNode): React.ReactNode {
7
- if (children === null || children === undefined) return undefined;
8
- return Children.toArray(children).flatMap((child) => {
9
- if (isComponentType(Icon)(child)) {
10
- return [' ', child, ' '];
11
- }
12
- if (
13
- React.isValidElement(child) &&
14
- child.props &&
15
- typeof child.props === 'object' &&
16
- 'children' in child.props
17
- ) {
18
- return React.cloneElement(child, undefined, wrapChildrenIconWithSpaces(child.props.children));
19
- }
20
- return child;
21
- });
22
- }