@lumx/react 3.20.1-alpha.2 → 3.20.1-alpha.20

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 (697) hide show
  1. package/CONTRIBUTING.md +1 -5
  2. package/README.md +0 -2
  3. package/_internal/Button-1f227024.js +98 -0
  4. package/_internal/Button-1f227024.js.map +1 -0
  5. package/_internal/ButtonRoot-823f3e9c.js +117 -0
  6. package/_internal/ButtonRoot-823f3e9c.js.map +1 -0
  7. package/_internal/Chip-a34f6905.js +146 -0
  8. package/_internal/Chip-a34f6905.js.map +1 -0
  9. package/_internal/ClickAwayProvider-7093ba23.js +95 -0
  10. package/_internal/ClickAwayProvider-7093ba23.js.map +1 -0
  11. package/_internal/DisabledStateContext-ea04260d.js +29 -0
  12. package/_internal/DisabledStateContext-ea04260d.js.map +1 -0
  13. package/_internal/HeadingLevelProvider-ebdcb0c7.js +61 -0
  14. package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +1 -0
  15. package/_internal/IconButton-f4df224c.js +77 -0
  16. package/_internal/IconButton-f4df224c.js.map +1 -0
  17. package/_internal/ImageCaption-8134a3aa.js +75 -0
  18. package/_internal/ImageCaption-8134a3aa.js.map +1 -0
  19. package/_internal/List-54237e0e.js +793 -0
  20. package/_internal/List-54237e0e.js.map +1 -0
  21. package/_internal/PopoverDialog-e0967e5f.js +655 -0
  22. package/_internal/PopoverDialog-e0967e5f.js.map +1 -0
  23. package/_internal/Portal-3f86608e.js +45 -0
  24. package/_internal/Portal-3f86608e.js.map +1 -0
  25. package/_internal/RawClickable-2c2b6a89.js +52 -0
  26. package/_internal/RawClickable-2c2b6a89.js.map +1 -0
  27. package/_internal/Slides-b7a67f32.js +678 -0
  28. package/_internal/Slides-b7a67f32.js.map +1 -0
  29. package/_internal/ThemeContext-3181f000.js +14 -0
  30. package/_internal/ThemeContext-3181f000.js.map +1 -0
  31. package/_internal/Thumbnail-b5dea0af.js +313 -0
  32. package/_internal/Thumbnail-b5dea0af.js.map +1 -0
  33. package/_internal/components/alert-dialog-b284b191.js +162 -0
  34. package/_internal/components/alert-dialog-b284b191.js.map +1 -0
  35. package/_internal/components/autocomplete-8d3f37ea.js +261 -0
  36. package/_internal/components/autocomplete-8d3f37ea.js.map +1 -0
  37. package/_internal/components/avatar-5fc70e00.js +83 -0
  38. package/_internal/components/avatar-5fc70e00.js.map +1 -0
  39. package/_internal/components/badge-8390e590.js +81 -0
  40. package/_internal/components/badge-8390e590.js.map +1 -0
  41. package/_internal/components/button-e3c7f2eb.js +47 -0
  42. package/_internal/components/button-e3c7f2eb.js.map +1 -0
  43. package/_internal/components/checkbox-d1ca9748.js +140 -0
  44. package/_internal/components/checkbox-d1ca9748.js.map +1 -0
  45. package/_internal/components/chip-e40c5521.js +102 -0
  46. package/_internal/components/chip-e40c5521.js.map +1 -0
  47. package/_internal/components/comment-block-a3cf7b9b.js +138 -0
  48. package/_internal/components/comment-block-a3cf7b9b.js.map +1 -0
  49. package/_internal/components/date-picker-6c1b14e4.js +2 -0
  50. package/_internal/components/date-picker-6c1b14e4.js.map +1 -0
  51. package/_internal/components/dialog-ebdb9500.js +238 -0
  52. package/_internal/components/dialog-ebdb9500.js.map +1 -0
  53. package/_internal/components/divider-116af6b9.js +50 -0
  54. package/_internal/components/divider-116af6b9.js.map +1 -0
  55. package/_internal/components/drag-handle-5215cd21.js +51 -0
  56. package/_internal/components/drag-handle-5215cd21.js.map +1 -0
  57. package/_internal/components/dropdown-0baed51b.js +147 -0
  58. package/_internal/components/dropdown-0baed51b.js.map +1 -0
  59. package/_internal/components/expansion-panel-5533a680.js +167 -0
  60. package/_internal/components/expansion-panel-5533a680.js.map +1 -0
  61. package/_internal/components/flag-8d4a7e72.js +59 -0
  62. package/_internal/components/flag-8d4a7e72.js.map +1 -0
  63. package/_internal/components/flex-box-55144e5f.js +56 -0
  64. package/_internal/components/flex-box-55144e5f.js.map +1 -0
  65. package/_internal/components/generic-block-ff0509ee.js +124 -0
  66. package/_internal/components/generic-block-ff0509ee.js.map +1 -0
  67. package/_internal/components/grid-6f1b5a41.js +104 -0
  68. package/_internal/components/grid-6f1b5a41.js.map +1 -0
  69. package/_internal/components/grid-column-f01df853.js +59 -0
  70. package/_internal/components/grid-column-f01df853.js.map +1 -0
  71. package/_internal/components/heading-89239843.js +53 -0
  72. package/_internal/components/heading-89239843.js.map +1 -0
  73. package/_internal/components/icon-b708cca4.js +102 -0
  74. package/_internal/components/icon-b708cca4.js.map +1 -0
  75. package/_internal/components/image-block-7938422d.js +110 -0
  76. package/_internal/components/image-block-7938422d.js.map +1 -0
  77. package/_internal/components/image-lightbox-58331704.js +756 -0
  78. package/_internal/components/image-lightbox-58331704.js.map +1 -0
  79. package/_internal/components/inline-list-e6f19a98.js +74 -0
  80. package/_internal/components/inline-list-e6f19a98.js.map +1 -0
  81. package/_internal/components/input-helper-64153099.js +71 -0
  82. package/_internal/components/input-helper-64153099.js.map +1 -0
  83. package/_internal/components/input-label-2feb0bb0.js +59 -0
  84. package/_internal/components/input-label-2feb0bb0.js.map +1 -0
  85. package/_internal/components/lightbox-570ad9e5.js +155 -0
  86. package/_internal/components/lightbox-570ad9e5.js.map +1 -0
  87. package/_internal/components/link-91f76477.js +72 -0
  88. package/_internal/components/link-91f76477.js.map +1 -0
  89. package/_internal/components/link-preview-fdd8d738.js +117 -0
  90. package/_internal/components/link-preview-fdd8d738.js.map +1 -0
  91. package/_internal/components/list-b08d8423.js +71 -0
  92. package/_internal/components/list-b08d8423.js.map +1 -0
  93. package/_internal/components/message-29cb9181.js +96 -0
  94. package/_internal/components/message-29cb9181.js.map +1 -0
  95. package/_internal/components/mosaic-cdb9f563.js +95 -0
  96. package/_internal/components/mosaic-cdb9f563.js.map +1 -0
  97. package/_internal/components/navigation-8b7d9bd8.js +225 -0
  98. package/_internal/components/navigation-8b7d9bd8.js.map +1 -0
  99. package/_internal/components/notification-a45fda96.js +145 -0
  100. package/_internal/components/notification-a45fda96.js.map +1 -0
  101. package/_internal/components/popover-65bfbc57.js +3 -0
  102. package/_internal/components/popover-65bfbc57.js.map +1 -0
  103. package/_internal/components/post-block-52e58dd5.js +109 -0
  104. package/_internal/components/post-block-52e58dd5.js.map +1 -0
  105. package/_internal/components/progress-f39c3fa2.js +182 -0
  106. package/_internal/components/progress-f39c3fa2.js.map +1 -0
  107. package/_internal/components/progress-tracker-512d7a08.js +305 -0
  108. package/_internal/components/progress-tracker-512d7a08.js.map +1 -0
  109. package/_internal/components/radio-button-559a4863.js +149 -0
  110. package/_internal/components/radio-button-559a4863.js.map +1 -0
  111. package/_internal/components/select-48d4fa8c.js +454 -0
  112. package/_internal/components/select-48d4fa8c.js.map +1 -0
  113. package/_internal/components/side-navigation-f9bc5b4e.js +165 -0
  114. package/_internal/components/side-navigation-f9bc5b4e.js.map +1 -0
  115. package/_internal/components/skeleton-c66516ee.js +166 -0
  116. package/_internal/components/skeleton-c66516ee.js.map +1 -0
  117. package/_internal/components/slider-efbfbc45.js +311 -0
  118. package/_internal/components/slider-efbfbc45.js.map +1 -0
  119. package/_internal/components/slideshow-dd312470.js +151 -0
  120. package/_internal/components/slideshow-dd312470.js.map +1 -0
  121. package/_internal/components/switch-769a2a04.js +122 -0
  122. package/_internal/components/switch-769a2a04.js.map +1 -0
  123. package/_internal/components/table-8617b1ba.js +294 -0
  124. package/_internal/components/table-8617b1ba.js.map +1 -0
  125. package/_internal/components/tabs-884c57b6.js +298 -0
  126. package/_internal/components/tabs-884c57b6.js.map +1 -0
  127. package/_internal/components/text-c7b1e079.js +2 -0
  128. package/_internal/components/text-c7b1e079.js.map +1 -0
  129. package/_internal/components/text-field-478acd86.js +359 -0
  130. package/_internal/components/text-field-478acd86.js.map +1 -0
  131. package/_internal/components/thumbnail-310a4c4b.js +42 -0
  132. package/_internal/components/thumbnail-310a4c4b.js.map +1 -0
  133. package/_internal/components/toolbar-a43533a2.js +61 -0
  134. package/_internal/components/toolbar-a43533a2.js.map +1 -0
  135. package/_internal/components/tooltip-2885ab2e.js +327 -0
  136. package/_internal/components/tooltip-2885ab2e.js.map +1 -0
  137. package/_internal/components/uploader-1e7f5bbb.js +153 -0
  138. package/_internal/components/uploader-1e7f5bbb.js.map +1 -0
  139. package/_internal/components/user-block-68a51ed0.js +145 -0
  140. package/_internal/components/user-block-68a51ed0.js.map +1 -0
  141. package/_internal/constants-b9e57936.js +2155 -0
  142. package/_internal/constants-b9e57936.js.map +1 -0
  143. package/_internal/constants-d0e3f49e.js +24 -0
  144. package/_internal/constants-d0e3f49e.js.map +1 -0
  145. package/_internal/context-9d1336a1.js +19 -0
  146. package/_internal/context-9d1336a1.js.map +1 -0
  147. package/_internal/forwardRef-15f62847.js +70 -0
  148. package/_internal/forwardRef-15f62847.js.map +1 -0
  149. package/_internal/getFocusableElements-230173a8.js +13 -0
  150. package/_internal/getFocusableElements-230173a8.js.map +1 -0
  151. package/_internal/index-9df37c0d.js +436 -0
  152. package/_internal/index-9df37c0d.js.map +1 -0
  153. package/_internal/index-a9c5cd69.js +117 -0
  154. package/_internal/index-a9c5cd69.js.map +1 -0
  155. package/_internal/isComponent-78df9309.js +20 -0
  156. package/_internal/isComponent-78df9309.js.map +1 -0
  157. package/_internal/isComponentType-e806b848.js +9 -0
  158. package/_internal/isComponentType-e806b848.js.map +1 -0
  159. package/_internal/mergeRefs-f0d7d6ea.js +30 -0
  160. package/_internal/mergeRefs-f0d7d6ea.js.map +1 -0
  161. package/{src/utils/partitionMulti.ts → _internal/partitionMulti-4daccdd5.js} +5 -9
  162. package/_internal/partitionMulti-4daccdd5.js.map +1 -0
  163. package/_internal/state-db358714.js +130 -0
  164. package/_internal/state-db358714.js.map +1 -0
  165. package/_internal/useBooleanState-2a3d237c.js +12 -0
  166. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  167. package/_internal/useCallbackOnEscape-ea4d9eb4.js +62 -0
  168. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +1 -0
  169. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  170. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  171. package/_internal/useDisableStateProps-69e16b7c.js +36 -0
  172. package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
  173. package/_internal/useFocusTrap-c3c6378b.js +112 -0
  174. package/_internal/useFocusTrap-c3c6378b.js.map +1 -0
  175. package/_internal/useId-3a1facc0.js +18 -0
  176. package/_internal/useId-3a1facc0.js.map +1 -0
  177. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  178. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  179. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  180. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  181. package/_internal/wrapChildrenIconWithSpaces-c1faaae4.js +20 -0
  182. package/_internal/wrapChildrenIconWithSpaces-c1faaae4.js.map +1 -0
  183. package/index.d.ts +42 -387
  184. package/index.js +65 -14526
  185. package/index.js.map +1 -1
  186. package/package.json +11 -21
  187. package/utils/index.d.ts +7 -7
  188. package/utils/index.js +3 -1
  189. package/utils/index.js.map +1 -1
  190. package/_internal/Falsy.d.ts +0 -7
  191. package/_internal/index.js +0 -229
  192. package/_internal/index.js.map +0 -1
  193. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  194. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -35
  195. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  196. package/src/components/alert-dialog/index.ts +0 -1
  197. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  198. package/src/components/autocomplete/Autocomplete.test.tsx +0 -101
  199. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  200. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  201. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -63
  202. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  203. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  204. package/src/components/autocomplete/index.ts +0 -2
  205. package/src/components/avatar/Avatar.stories.tsx +0 -121
  206. package/src/components/avatar/Avatar.test.tsx +0 -34
  207. package/src/components/avatar/Avatar.tsx +0 -114
  208. package/src/components/avatar/index.ts +0 -1
  209. package/src/components/badge/Badge.stories.tsx +0 -70
  210. package/src/components/badge/Badge.test.tsx +0 -47
  211. package/src/components/badge/Badge.tsx +0 -58
  212. package/src/components/badge/BadgeWrapper.stories.tsx +0 -76
  213. package/src/components/badge/BadgeWrapper.test.tsx +0 -49
  214. package/src/components/badge/BadgeWrapper.tsx +0 -37
  215. package/src/components/badge/index.ts +0 -2
  216. package/src/components/button/Button.stories.tsx +0 -356
  217. package/src/components/button/Button.test.tsx +0 -127
  218. package/src/components/button/Button.tsx +0 -103
  219. package/src/components/button/ButtonGroup.stories.tsx +0 -54
  220. package/src/components/button/ButtonGroup.test.tsx +0 -43
  221. package/src/components/button/ButtonGroup.tsx +0 -52
  222. package/src/components/button/ButtonRoot.tsx +0 -193
  223. package/src/components/button/IconButton.stories.tsx +0 -52
  224. package/src/components/button/IconButton.test.tsx +0 -68
  225. package/src/components/button/IconButton.tsx +0 -93
  226. package/src/components/button/index.ts +0 -4
  227. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  228. package/src/components/checkbox/Checkbox.test.tsx +0 -156
  229. package/src/components/checkbox/Checkbox.tsx +0 -164
  230. package/src/components/checkbox/index.ts +0 -1
  231. package/src/components/chip/Chip.stories.tsx +0 -166
  232. package/src/components/chip/Chip.test.tsx +0 -243
  233. package/src/components/chip/Chip.tsx +0 -168
  234. package/src/components/chip/ChipGroup.stories.tsx +0 -49
  235. package/src/components/chip/ChipGroup.test.tsx +0 -39
  236. package/src/components/chip/ChipGroup.tsx +0 -60
  237. package/src/components/chip/index.ts +0 -2
  238. package/src/components/comment-block/CommentBlock.stories.tsx +0 -92
  239. package/src/components/comment-block/CommentBlock.test.tsx +0 -29
  240. package/src/components/comment-block/CommentBlock.tsx +0 -172
  241. package/src/components/comment-block/index.ts +0 -1
  242. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  243. package/src/components/date-picker/DatePicker.test.tsx +0 -36
  244. package/src/components/date-picker/DatePicker.tsx +0 -52
  245. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -93
  246. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  247. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  248. package/src/components/date-picker/DatePickerField.test.tsx +0 -72
  249. package/src/components/date-picker/DatePickerField.tsx +0 -135
  250. package/src/components/date-picker/constants.ts +0 -11
  251. package/src/components/date-picker/index.ts +0 -4
  252. package/src/components/date-picker/types.ts +0 -28
  253. package/src/components/dialog/Dialog.stories.tsx +0 -318
  254. package/src/components/dialog/Dialog.test.tsx +0 -99
  255. package/src/components/dialog/Dialog.tsx +0 -288
  256. package/src/components/dialog/index.ts +0 -1
  257. package/src/components/divider/Divider.test.tsx +0 -53
  258. package/src/components/divider/Divider.tsx +0 -52
  259. package/src/components/divider/index.ts +0 -1
  260. package/src/components/drag-handle/DragHandle.test.tsx +0 -38
  261. package/src/components/drag-handle/DragHandle.tsx +0 -53
  262. package/src/components/drag-handle/index.ts +0 -1
  263. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  264. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  265. package/src/components/dropdown/Dropdown.tsx +0 -186
  266. package/src/components/dropdown/index.ts +0 -1
  267. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  268. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -186
  269. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  270. package/src/components/expansion-panel/index.ts +0 -1
  271. package/src/components/flag/Flag.stories.tsx +0 -48
  272. package/src/components/flag/Flag.test.tsx +0 -64
  273. package/src/components/flag/Flag.tsx +0 -54
  274. package/src/components/flag/index.ts +0 -1
  275. package/src/components/flex-box/FlexBox.stories.tsx +0 -158
  276. package/src/components/flex-box/FlexBox.test.tsx +0 -25
  277. package/src/components/flex-box/FlexBox.tsx +0 -100
  278. package/src/components/flex-box/index.ts +0 -1
  279. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  280. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  281. package/src/components/generic-block/GenericBlock.tsx +0 -225
  282. package/src/components/generic-block/constants.ts +0 -9
  283. package/src/components/generic-block/index.ts +0 -2
  284. package/src/components/grid/Grid.tsx +0 -85
  285. package/src/components/grid/GridItem.tsx +0 -57
  286. package/src/components/grid/index.ts +0 -2
  287. package/src/components/grid-column/GridColumn.stories.tsx +0 -46
  288. package/src/components/grid-column/GridColumn.test.jsx +0 -58
  289. package/src/components/grid-column/GridColumn.tsx +0 -83
  290. package/src/components/grid-column/index.ts +0 -1
  291. package/src/components/heading/Heading.stories.tsx +0 -70
  292. package/src/components/heading/Heading.test.tsx +0 -84
  293. package/src/components/heading/Heading.tsx +0 -67
  294. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  295. package/src/components/heading/constants.ts +0 -16
  296. package/src/components/heading/context.tsx +0 -13
  297. package/src/components/heading/index.ts +0 -3
  298. package/src/components/heading/useHeadingLevel.tsx +0 -8
  299. package/src/components/icon/Icon.stories.tsx +0 -47
  300. package/src/components/icon/Icon.test.tsx +0 -44
  301. package/src/components/icon/Icon.tsx +0 -24
  302. package/src/components/icon/index.ts +0 -1
  303. package/src/components/image-block/ImageBlock.stories.tsx +0 -119
  304. package/src/components/image-block/ImageBlock.test.tsx +0 -59
  305. package/src/components/image-block/ImageBlock.tsx +0 -142
  306. package/src/components/image-block/ImageCaption.tsx +0 -115
  307. package/src/components/image-block/index.ts +0 -1
  308. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -161
  309. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -252
  310. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  311. package/src/components/image-lightbox/constants.ts +0 -11
  312. package/src/components/image-lightbox/index.ts +0 -2
  313. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  314. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  315. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  316. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  317. package/src/components/image-lightbox/types.ts +0 -50
  318. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  319. package/src/components/inline-list/InlineList.stories.tsx +0 -78
  320. package/src/components/inline-list/InlineList.test.tsx +0 -54
  321. package/src/components/inline-list/InlineList.tsx +0 -96
  322. package/src/components/inline-list/index.ts +0 -1
  323. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  324. package/src/components/input-helper/InputHelper.test.tsx +0 -57
  325. package/src/components/input-helper/InputHelper.tsx +0 -65
  326. package/src/components/input-helper/constants.ts +0 -11
  327. package/src/components/input-helper/index.ts +0 -1
  328. package/src/components/input-label/InputLabel.stories.tsx +0 -47
  329. package/src/components/input-label/InputLabel.test.tsx +0 -61
  330. package/src/components/input-label/InputLabel.tsx +0 -69
  331. package/src/components/input-label/index.ts +0 -1
  332. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  333. package/src/components/lightbox/Lightbox.test.tsx +0 -55
  334. package/src/components/lightbox/Lightbox.tsx +0 -180
  335. package/src/components/lightbox/index.ts +0 -1
  336. package/src/components/link/Link.stories.tsx +0 -196
  337. package/src/components/link/Link.test.tsx +0 -127
  338. package/src/components/link/Link.tsx +0 -119
  339. package/src/components/link/index.ts +0 -1
  340. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  341. package/src/components/link-preview/LinkPreview.test.tsx +0 -107
  342. package/src/components/link-preview/LinkPreview.tsx +0 -160
  343. package/src/components/link-preview/index.ts +0 -1
  344. package/src/components/list/List.stories.tsx +0 -116
  345. package/src/components/list/List.test.tsx +0 -20
  346. package/src/components/list/List.tsx +0 -104
  347. package/src/components/list/ListDivider.stories.tsx +0 -12
  348. package/src/components/list/ListDivider.test.tsx +0 -24
  349. package/src/components/list/ListDivider.tsx +0 -37
  350. package/src/components/list/ListItem.stories.tsx +0 -66
  351. package/src/components/list/ListItem.test.tsx +0 -95
  352. package/src/components/list/ListItem.tsx +0 -157
  353. package/src/components/list/ListSubheader.stories.tsx +0 -11
  354. package/src/components/list/ListSubheader.test.tsx +0 -23
  355. package/src/components/list/ListSubheader.tsx +0 -44
  356. package/src/components/list/index.ts +0 -4
  357. package/src/components/list/useInteractiveList.tsx +0 -202
  358. package/src/components/message/Message.stories.tsx +0 -72
  359. package/src/components/message/Message.test.tsx +0 -77
  360. package/src/components/message/Message.tsx +0 -100
  361. package/src/components/message/index.ts +0 -1
  362. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  363. package/src/components/mosaic/Mosaic.test.tsx +0 -79
  364. package/src/components/mosaic/Mosaic.tsx +0 -98
  365. package/src/components/mosaic/index.ts +0 -1
  366. package/src/components/navigation/Navigation.stories.tsx +0 -236
  367. package/src/components/navigation/Navigation.test.tsx +0 -67
  368. package/src/components/navigation/Navigation.tsx +0 -81
  369. package/src/components/navigation/NavigationItem.test.tsx +0 -37
  370. package/src/components/navigation/NavigationItem.tsx +0 -86
  371. package/src/components/navigation/NavigationSection.test.tsx +0 -139
  372. package/src/components/navigation/NavigationSection.tsx +0 -107
  373. package/src/components/navigation/context.tsx +0 -7
  374. package/src/components/navigation/index.ts +0 -1
  375. package/src/components/notification/Notification.test.tsx +0 -95
  376. package/src/components/notification/Notification.tsx +0 -138
  377. package/src/components/notification/Notifications.stories.tsx +0 -92
  378. package/src/components/notification/constants.ts +0 -28
  379. package/src/components/notification/index.ts +0 -1
  380. package/src/components/popover/Popover.stories.tsx +0 -264
  381. package/src/components/popover/Popover.test.tsx +0 -64
  382. package/src/components/popover/Popover.tsx +0 -201
  383. package/src/components/popover/constants.ts +0 -62
  384. package/src/components/popover/index.ts +0 -3
  385. package/src/components/popover/usePopoverStyle.tsx +0 -184
  386. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  387. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  388. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -140
  389. package/src/components/popover-dialog/PopoverDialog.tsx +0 -76
  390. package/src/components/popover-dialog/index.tsx +0 -1
  391. package/src/components/post-block/PostBlock.test.tsx +0 -29
  392. package/src/components/post-block/PostBlock.tsx +0 -122
  393. package/src/components/post-block/index.ts +0 -1
  394. package/src/components/progress/Progress.tsx +0 -70
  395. package/src/components/progress/ProgressCircular.stories.tsx +0 -44
  396. package/src/components/progress/ProgressCircular.test.tsx +0 -48
  397. package/src/components/progress/ProgressCircular.tsx +0 -84
  398. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  399. package/src/components/progress/ProgressLinear.test.tsx +0 -32
  400. package/src/components/progress/ProgressLinear.tsx +0 -52
  401. package/src/components/progress/index.ts +0 -3
  402. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  403. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -44
  404. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  405. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -67
  406. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  407. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -38
  408. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  409. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -36
  410. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -69
  411. package/src/components/progress-tracker/index.ts +0 -4
  412. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  413. package/src/components/radio-button/RadioButton.test.tsx +0 -145
  414. package/src/components/radio-button/RadioButton.tsx +0 -143
  415. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  416. package/src/components/radio-button/RadioGroup.test.tsx +0 -31
  417. package/src/components/radio-button/RadioGroup.tsx +0 -44
  418. package/src/components/radio-button/index.ts +0 -2
  419. package/src/components/select/Select.stories.tsx +0 -385
  420. package/src/components/select/Select.test.tsx +0 -200
  421. package/src/components/select/Select.tsx +0 -199
  422. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  423. package/src/components/select/SelectMultiple.test.tsx +0 -215
  424. package/src/components/select/SelectMultiple.tsx +0 -206
  425. package/src/components/select/WithSelectContext.tsx +0 -147
  426. package/src/components/select/constants.ts +0 -55
  427. package/src/components/select/index.ts +0 -2
  428. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  429. package/src/components/side-navigation/SideNavigation.test.tsx +0 -39
  430. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  431. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  432. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -138
  433. package/src/components/side-navigation/SideNavigationItem.tsx +0 -170
  434. package/src/components/side-navigation/index.ts +0 -2
  435. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  436. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -29
  437. package/src/components/skeleton/SkeletonCircle.tsx +0 -54
  438. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  439. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -29
  440. package/src/components/skeleton/SkeletonRectangle.tsx +0 -90
  441. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -21
  442. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -29
  443. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  444. package/src/components/skeleton/index.ts +0 -3
  445. package/src/components/slider/Slider.stories.tsx +0 -45
  446. package/src/components/slider/Slider.test.tsx +0 -31
  447. package/src/components/slider/Slider.tsx +0 -299
  448. package/src/components/slider/index.ts +0 -2
  449. package/src/components/slideshow/Slides.tsx +0 -130
  450. package/src/components/slideshow/Slideshow.stories.tsx +0 -180
  451. package/src/components/slideshow/Slideshow.test.tsx +0 -37
  452. package/src/components/slideshow/Slideshow.tsx +0 -173
  453. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -102
  454. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  455. package/src/components/slideshow/SlideshowItem.tsx +0 -46
  456. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  457. package/src/components/slideshow/constants.ts +0 -24
  458. package/src/components/slideshow/index.ts +0 -4
  459. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  460. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  461. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  462. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  463. package/src/components/switch/Switch.stories.tsx +0 -49
  464. package/src/components/switch/Switch.test.tsx +0 -146
  465. package/src/components/switch/Switch.tsx +0 -145
  466. package/src/components/switch/index.ts +0 -1
  467. package/src/components/table/Table.test.tsx +0 -31
  468. package/src/components/table/Table.tsx +0 -61
  469. package/src/components/table/TableBody.test.tsx +0 -32
  470. package/src/components/table/TableBody.tsx +0 -44
  471. package/src/components/table/TableCell.test.tsx +0 -74
  472. package/src/components/table/TableCell.tsx +0 -132
  473. package/src/components/table/TableHeader.test.tsx +0 -32
  474. package/src/components/table/TableHeader.tsx +0 -50
  475. package/src/components/table/TableRow.test.tsx +0 -42
  476. package/src/components/table/TableRow.tsx +0 -73
  477. package/src/components/table/index.ts +0 -5
  478. package/src/components/tabs/Tab.test.tsx +0 -52
  479. package/src/components/tabs/Tab.tsx +0 -133
  480. package/src/components/tabs/TabList.test.tsx +0 -51
  481. package/src/components/tabs/TabList.tsx +0 -94
  482. package/src/components/tabs/TabPanel.test.tsx +0 -39
  483. package/src/components/tabs/TabPanel.tsx +0 -69
  484. package/src/components/tabs/TabProvider.test.tsx +0 -163
  485. package/src/components/tabs/TabProvider.tsx +0 -67
  486. package/src/components/tabs/Tabs.stories.tsx +0 -170
  487. package/src/components/tabs/index.ts +0 -4
  488. package/src/components/tabs/state.ts +0 -114
  489. package/src/components/tabs/test-utils.ts +0 -39
  490. package/src/components/text/Text.stories.tsx +0 -177
  491. package/src/components/text/Text.test.tsx +0 -94
  492. package/src/components/text/Text.tsx +0 -141
  493. package/src/components/text/index.ts +0 -1
  494. package/src/components/text-field/TextField.stories.tsx +0 -180
  495. package/src/components/text-field/TextField.test.tsx +0 -299
  496. package/src/components/text-field/TextField.tsx +0 -493
  497. package/src/components/text-field/index.ts +0 -1
  498. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  499. package/src/components/thumbnail/Thumbnail.test.tsx +0 -66
  500. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  501. package/src/components/thumbnail/index.ts +0 -3
  502. package/src/components/thumbnail/types.ts +0 -48
  503. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  504. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  505. package/src/components/thumbnail/useImageLoad.ts +0 -40
  506. package/src/components/toolbar/Toolbar.tsx +0 -68
  507. package/src/components/toolbar/index.ts +0 -1
  508. package/src/components/tooltip/Tooltip.stories.tsx +0 -117
  509. package/src/components/tooltip/Tooltip.test.tsx +0 -411
  510. package/src/components/tooltip/Tooltip.tsx +0 -165
  511. package/src/components/tooltip/constants.ts +0 -8
  512. package/src/components/tooltip/context.tsx +0 -17
  513. package/src/components/tooltip/index.ts +0 -1
  514. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  515. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  516. package/src/components/uploader/Uploader.stories.tsx +0 -109
  517. package/src/components/uploader/Uploader.test.tsx +0 -148
  518. package/src/components/uploader/Uploader.tsx +0 -177
  519. package/src/components/uploader/index.ts +0 -1
  520. package/src/components/user-block/UserBlock.stories.tsx +0 -135
  521. package/src/components/user-block/UserBlock.test.tsx +0 -108
  522. package/src/components/user-block/UserBlock.tsx +0 -193
  523. package/src/components/user-block/index.ts +0 -1
  524. package/src/constants.ts +0 -27
  525. package/src/hooks/useBooleanState.tsx +0 -13
  526. package/src/hooks/useCallbackOnEscape.ts +0 -34
  527. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  528. package/src/hooks/useClickAway.tsx +0 -48
  529. package/src/hooks/useDisableBodyScroll.ts +0 -28
  530. package/src/hooks/useEventCallback.tsx +0 -17
  531. package/src/hooks/useFocus.tsx +0 -21
  532. package/src/hooks/useFocusTrap.ts +0 -93
  533. package/src/hooks/useFocusWithin.ts +0 -33
  534. package/src/hooks/useId.test.tsx +0 -23
  535. package/src/hooks/useId.ts +0 -15
  536. package/src/hooks/useImageSize.ts +0 -17
  537. package/src/hooks/useInfiniteScroll.tsx +0 -60
  538. package/src/hooks/useIntersectionObserver.tsx +0 -43
  539. package/src/hooks/useInterval.tsx +0 -31
  540. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  541. package/src/hooks/useListenFocus.tsx +0 -26
  542. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  543. package/src/hooks/usePopper.ts +0 -12
  544. package/src/hooks/usePreviousValue.ts +0 -13
  545. package/src/hooks/useRovingTabIndex.tsx +0 -90
  546. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  547. package/src/hooks/useSlideshowControls.ts +0 -246
  548. package/src/hooks/useStopPropagation.ts +0 -21
  549. package/src/hooks/useTransitionVisibility.ts +0 -48
  550. package/src/index.ts +0 -63
  551. package/src/stories/controls/color.ts +0 -7
  552. package/src/stories/controls/element.ts +0 -6
  553. package/src/stories/controls/focusPoint.ts +0 -1
  554. package/src/stories/controls/icons.ts +0 -126
  555. package/src/stories/controls/image.ts +0 -84
  556. package/src/stories/controls/selectArgType.ts +0 -8
  557. package/src/stories/controls/theme.ts +0 -3
  558. package/src/stories/controls/typography.ts +0 -5
  559. package/src/stories/controls/withUndefined.ts +0 -1
  560. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -8
  561. package/src/stories/decorators/withCombinations.tsx +0 -132
  562. package/src/stories/decorators/withNestedProps.tsx +0 -23
  563. package/src/stories/decorators/withResizableBox.tsx +0 -21
  564. package/src/stories/decorators/withThemedBackground.tsx +0 -18
  565. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  566. package/src/stories/decorators/withWrapper.tsx +0 -21
  567. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  568. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  569. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  570. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  571. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  572. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  573. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  574. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  575. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  576. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  577. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  578. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  579. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  580. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  581. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  582. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  583. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  584. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  585. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  586. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  587. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  588. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  589. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  590. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  591. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  592. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  593. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  594. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  595. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  596. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  597. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  598. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  599. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  600. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  601. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  602. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  604. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  605. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  606. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  607. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  608. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  609. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  610. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  611. package/src/stories/utils/CustomLink.tsx +0 -13
  612. package/src/stories/utils/concatPath.tsx +0 -17
  613. package/src/stories/utils/disableArgTypes.ts +0 -3
  614. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  615. package/src/stories/utils/lorem.ts +0 -59
  616. package/src/stories/utils/theming.tsx +0 -166
  617. package/src/stories/utils/toFlattenProps.ts +0 -28
  618. package/src/stories/utils/withCategory.ts +0 -12
  619. package/src/testing/utils/ThemeSentinel.tsx +0 -11
  620. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  621. package/src/testing/utils/index.ts +0 -1
  622. package/src/testing/utils/queries.ts +0 -19
  623. package/src/untypped-modules.d.ts +0 -5
  624. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  625. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  626. package/src/utils/ClickAwayProvider/index.ts +0 -1
  627. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  628. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  629. package/src/utils/Portal/Portal.test.tsx +0 -32
  630. package/src/utils/Portal/Portal.tsx +0 -33
  631. package/src/utils/Portal/PortalProvider.stories.jsx +0 -23
  632. package/src/utils/Portal/PortalProvider.test.tsx +0 -73
  633. package/src/utils/Portal/PortalProvider.tsx +0 -24
  634. package/src/utils/Portal/index.tsx +0 -2
  635. package/src/utils/browser/DOM/findImage.tsx +0 -3
  636. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  637. package/src/utils/browser/focus/constants.ts +0 -7
  638. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  639. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  640. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  641. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  642. package/src/utils/browser/isFocusVisible.ts +0 -9
  643. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  644. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  645. package/src/utils/browser/isReducedMotion.ts +0 -6
  646. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  647. package/src/utils/date/addMonthResetDay.ts +0 -9
  648. package/src/utils/date/formatDayNumber.test.ts +0 -12
  649. package/src/utils/date/formatDayNumber.ts +0 -5
  650. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  651. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  652. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  653. package/src/utils/date/getMonthCalendar.ts +0 -69
  654. package/src/utils/date/getWeekDays.test.ts +0 -48
  655. package/src/utils/date/getWeekDays.ts +0 -34
  656. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  657. package/src/utils/date/getYearDisplayName.ts +0 -12
  658. package/src/utils/date/isDateValid.test.ts +0 -15
  659. package/src/utils/date/isDateValid.ts +0 -4
  660. package/src/utils/date/isSameDay.test.ts +0 -37
  661. package/src/utils/date/isSameDay.ts +0 -11
  662. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  663. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -94
  664. package/src/utils/disabled/index.ts +0 -2
  665. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  666. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  667. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  668. package/src/utils/index.ts +0 -7
  669. package/src/utils/locale/getCurrentLocale.ts +0 -4
  670. package/src/utils/locale/parseLocale.test.ts +0 -17
  671. package/src/utils/locale/parseLocale.ts +0 -23
  672. package/src/utils/locale/types.ts +0 -8
  673. package/src/utils/number/clamp.ts +0 -17
  674. package/src/utils/object/isEqual.test.ts +0 -25
  675. package/src/utils/object/isEqual.ts +0 -11
  676. package/src/utils/partitionMulti.test.ts +0 -27
  677. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  678. package/src/utils/react/flattenChildren.ts +0 -32
  679. package/src/utils/react/forwardRef.ts +0 -11
  680. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  681. package/src/utils/react/mergeRefs.ts +0 -33
  682. package/src/utils/react/renderButtonOrLink.tsx +0 -16
  683. package/src/utils/react/renderLink.tsx +0 -17
  684. package/src/utils/react/skipRender.tsx +0 -18
  685. package/src/utils/react/unref.ts +0 -7
  686. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  687. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  688. package/src/utils/theme/ThemeContext.ts +0 -16
  689. package/src/utils/theme/invertTheme.ts +0 -4
  690. package/src/utils/type/Comp.ts +0 -14
  691. package/src/utils/type/ComponentRef.ts +0 -16
  692. package/src/utils/type/HasAriaDisabled.ts +0 -6
  693. package/src/utils/type/HasPolymorphicAs.ts +0 -8
  694. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  695. package/src/utils/type/index.ts +0 -8
  696. package/src/utils/type/isComponent.ts +0 -33
  697. package/src/utils/type/isComponentType.ts +0 -9
@@ -1,135 +0,0 @@
1
- /* eslint-disable jsx-a11y/anchor-is-valid */
2
- import React from 'react';
3
-
4
- import { mdiMenuDown, mdiStar } from '@lumx/icons';
5
- import { Badge, ColorPalette, Icon, IconButton, Link, Orientation, Size, Text } from '@lumx/react';
6
- import { CustomLink } from '@lumx/react/stories/utils/CustomLink';
7
-
8
- import { AVATAR_IMAGES } from '@lumx/react/stories/controls/image';
9
- import { withCombinations } from '@lumx/react/stories/decorators/withCombinations';
10
- import { getSelectArgType } from '@lumx/react/stories/controls/selectArgType';
11
- import { withResizableBox } from '@lumx/react/stories/decorators/withResizableBox';
12
- import { UserBlock } from './UserBlock';
13
-
14
- const sizes = [Size.xs, Size.s, Size.m, Size.l];
15
-
16
- export default {
17
- title: 'LumX components/user-block/UserBlock',
18
- component: UserBlock,
19
- args: UserBlock.defaultProps,
20
- argTypes: {
21
- size: getSelectArgType(sizes),
22
- orientation: getSelectArgType(Orientation),
23
- },
24
- decorators: [withResizableBox({ width: 'auto', minWidth: 'min-content', height: 'auto' })],
25
- };
26
-
27
- /** Only an avatar */
28
- export const AvatarOnly = {
29
- args: { avatarProps: { image: AVATAR_IMAGES.avatar1 } },
30
- };
31
-
32
- /** Avatar and name */
33
- export const AvatarAndName = {
34
- args: { ...AvatarOnly.args, name: 'Emmitt O. Lum' },
35
- };
36
-
37
- /** Avatar and children */
38
- export const AvatarAndCustomName = {
39
- args: {
40
- ...AvatarOnly.args,
41
- name: (
42
- <Text as="span" color="green">
43
- Emmitt O. Lum
44
- </Text>
45
- ),
46
- },
47
- };
48
-
49
- /** Avatar, name and secondary fields */
50
- export const AvatarAndNameAndSecondaryFields = {
51
- args: {
52
- ...AvatarAndName.args,
53
- fields: ['Creative developer', 'Denpasar'],
54
- },
55
- };
56
-
57
- /** With Right component */
58
- export const WithAfter = {
59
- args: {
60
- ...AvatarAndNameAndSecondaryFields.args,
61
- after: <IconButton label="View" icon={mdiMenuDown} emphasis="low" />,
62
- },
63
- };
64
-
65
- /** With after component */
66
- export const WithAdditionalFields = {
67
- args: {
68
- ...AvatarAndName.args,
69
- fields: [
70
- <Text key={0} as="span" color="dark">
71
- Published a post in <Link href="#">Space</Link>
72
- </Text>,
73
- <time key={1}>May 13, 2025</time>,
74
- ],
75
- additionalFields: (
76
- <Text as="span" typography="body1">
77
- Works at the Toronto office
78
- </Text>
79
- ),
80
- },
81
- parameters: {
82
- // Testing constrained space
83
- wrapperProps: { style: { width: 245 } },
84
- },
85
- };
86
-
87
- /** Size variants */
88
- export const SizesAndOrientations = {
89
- args: AvatarAndNameAndSecondaryFields.args,
90
- decorators: [
91
- withCombinations({
92
- combinations: {
93
- rows: { key: 'size', options: sizes },
94
- cols: { key: 'orientation', options: Object.values(Orientation) },
95
- },
96
- }),
97
- ],
98
- };
99
-
100
- /** Setting `onClick` to use it as a button */
101
- export const AsButton = {
102
- args: AvatarAndNameAndSecondaryFields.args,
103
- argTypes: { onClick: { action: true } },
104
- };
105
-
106
- /** Setting the `linkProps` prop to use it as a link */
107
- export const AsLink = {
108
- args: {
109
- ...AvatarAndNameAndSecondaryFields.args,
110
- linkProps: { href: 'https://example.com' },
111
- },
112
- };
113
-
114
- /** Setting the `linkAs` prop to inject a custom link component */
115
- export const AsCustomLink = {
116
- args: {
117
- ...AvatarAndNameAndSecondaryFields.args,
118
- linkAs: CustomLink,
119
- },
120
- };
121
-
122
- /** Setting the `avatarProps.badge` prop to inject a badge */
123
- export const WithBadge = {
124
- args: {
125
- ...AvatarAndNameAndSecondaryFields.args,
126
- avatarProps: {
127
- ...AvatarAndNameAndSecondaryFields.args.avatarProps,
128
- badge: (
129
- <Badge color={ColorPalette.blue}>
130
- <Icon icon={mdiStar} />
131
- </Badge>
132
- ),
133
- },
134
- },
135
- };
@@ -1,108 +0,0 @@
1
- import React from 'react';
2
-
3
- import { commonTestsSuiteRTL, SetupRenderOptions } from '@lumx/react/testing/utils';
4
- import { render, within, screen } from '@testing-library/react';
5
- import { getByClassName, queryByClassName } from '@lumx/react/testing/utils/queries';
6
- import { Text, Thumbnail } from '@lumx/react';
7
- import userEvent from '@testing-library/user-event';
8
-
9
- import { UserBlock, UserBlockProps } from './UserBlock';
10
-
11
- const CLASSNAME = UserBlock.className as string;
12
-
13
- /**
14
- * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
15
- */
16
- const setup = (propsOverride: Partial<UserBlockProps> = {}, { wrapper }: SetupRenderOptions = {}) => {
17
- const props: UserBlockProps = { ...propsOverride };
18
-
19
- render(<UserBlock {...props} />, { wrapper });
20
- const userBlock = getByClassName(document.body, CLASSNAME);
21
- const name = queryByClassName(userBlock, `${CLASSNAME}__name`);
22
- const avatar = queryByClassName(userBlock, `${CLASSNAME}__avatar`);
23
- const thumbnail = avatar && queryByClassName(avatar, Thumbnail.className as string);
24
- const fields = queryByClassName(userBlock, `${CLASSNAME}__fields`);
25
- const after = queryByClassName(userBlock, `${CLASSNAME}__after`);
26
-
27
- return { props, userBlock, name, avatar, thumbnail, fields, after };
28
- };
29
-
30
- describe(`<${UserBlock.displayName}>`, () => {
31
- describe('Props', () => {
32
- it('should forward name props', () => {
33
- const { name } = setup({ name: 'John Doe', nameProps: { 'data-custom-attribute': true } });
34
-
35
- expect(name).toHaveAttribute('data-custom-attribute');
36
- });
37
-
38
- it('should render button', async () => {
39
- const onClick = jest.fn();
40
- const { name, thumbnail } = setup({
41
- onClick,
42
- name: 'John Doe',
43
- avatarProps: { image: 'profile-picture.jpg' },
44
- });
45
-
46
- // Button name
47
- expect(name?.tagName).toBe('BUTTON');
48
- await userEvent.click(name as any);
49
- expect(onClick).toHaveBeenCalled();
50
-
51
- // Button thumbnail (but excluded from tab stops)
52
- expect(thumbnail?.tagName).toBe('BUTTON');
53
- expect(thumbnail?.tabIndex).toBe(-1);
54
- onClick.mockClear();
55
- await userEvent.click(thumbnail as any);
56
- expect(onClick).toHaveBeenCalled();
57
- });
58
-
59
- it('should render link', async () => {
60
- const { props, name, thumbnail } = setup({
61
- linkProps: { href: 'https://example.com' },
62
- name: 'John Doe',
63
- avatarProps: { image: 'profile-picture.jpg' },
64
- });
65
-
66
- // Link name
67
- expect(name?.tagName).toBe('A');
68
- expect(name).toHaveAttribute('href', props.linkProps?.href);
69
-
70
- // Link thumbnail (but excluded from tab stops)
71
- expect(thumbnail?.tagName).toBe('A');
72
- expect(thumbnail?.tabIndex).toBe(-1);
73
- expect(thumbnail).toHaveAttribute('href', props.linkProps?.href);
74
- });
75
-
76
- it('should render fields', () => {
77
- const { fields } = setup({ fields: ['Field 1', 'Field 2'] });
78
- expect(fields).toBeInTheDocument();
79
- expect(within(fields as any).getByText('Field 1')).toBeInTheDocument();
80
- expect(within(fields as any).getByText('Field 2')).toBeInTheDocument();
81
- });
82
-
83
- it('should render additional fields', () => {
84
- setup({ additionalFields: <Text as="span">Works in Toronto</Text> });
85
- expect(screen.queryByText(/works in toronto/i)).toBeInTheDocument();
86
- });
87
-
88
- it('should render after', () => {
89
- const { after } = setup({ after: <Text as="span">After</Text> });
90
- expect(after).toBeInTheDocument();
91
- expect(screen.queryByText(/after/i)).toBeInTheDocument();
92
- });
93
- });
94
-
95
- // Common tests suite.
96
- commonTestsSuiteRTL(setup, {
97
- baseClassName: CLASSNAME,
98
- forwardClassName: 'userBlock',
99
- forwardAttributes: 'userBlock',
100
- forwardRef: 'userBlock',
101
- applyTheme: {
102
- affects: [{ element: 'userBlock' }],
103
- viaProp: true,
104
- viaContext: true,
105
- defaultTheme: 'light',
106
- },
107
- });
108
- });
@@ -1,193 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
-
3
- import classNames from 'classnames';
4
- import isEmpty from 'lodash/isEmpty';
5
- import set from 'lodash/set';
6
-
7
- import { Avatar, ColorPalette, Link, Orientation, Size, Theme } from '@lumx/react';
8
- import { GenericProps, HasTheme } from '@lumx/react/utils/type';
9
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
10
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
11
-
12
- import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
13
- import { AvatarProps } from '../avatar/Avatar';
14
-
15
- /**
16
- * User block sizes.
17
- */
18
- export type UserBlockSize = Extract<Size, 'xs' | 's' | 'm' | 'l'>;
19
-
20
- /**
21
- * Defines the props of the component.
22
- */
23
- export interface UserBlockProps extends GenericProps, HasTheme {
24
- /** Props to pass to the avatar. */
25
- avatarProps?: Omit<AvatarProps, 'alt'>;
26
- /** Additional fields used to describe the user. */
27
- fields?: string[];
28
- /** Props to pass to the link wrapping the avatar thumbnail. */
29
- linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
30
- /** Custom react component for the link (can be used to inject react router Link). */
31
- linkAs?: 'a' | any;
32
- /** Multiple action toolbar content. */
33
- multipleActions?: ReactNode;
34
- /** User name. */
35
- name?: React.ReactNode;
36
- /** Props to pass to the name block. */
37
- nameProps?: GenericProps;
38
- /** Orientation. */
39
- orientation?: Orientation;
40
- /** Simple action toolbar content. */
41
- simpleAction?: ReactNode;
42
- /** Size variant. */
43
- size?: UserBlockSize;
44
- /** On click callback. */
45
- onClick?(): void;
46
- /** On mouse enter callback. */
47
- onMouseEnter?(): void;
48
- /** On mouse leave callback. */
49
- onMouseLeave?(): void;
50
- /** Display additional fields below the original name and fields */
51
- additionalFields?: React.ReactNode;
52
- /** Display an additional element after the entire component. (to the right if orientation is horizontal, at the bottom if orientation is vertical) */
53
- after?: React.ReactNode;
54
- }
55
-
56
- /**
57
- * Component display name.
58
- */
59
- const COMPONENT_NAME = 'UserBlock';
60
-
61
- /**
62
- * Component default class name and class prefix.
63
- */
64
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
65
-
66
- /**
67
- * Component default props.
68
- */
69
- const DEFAULT_PROPS: Partial<UserBlockProps> = {
70
- orientation: Orientation.horizontal,
71
- size: Size.m,
72
- };
73
-
74
- /**
75
- * UserBlock component.
76
- *
77
- * @param props Component props.
78
- * @param ref Component ref.
79
- * @return React element.
80
- */
81
- export const UserBlock = forwardRef<UserBlockProps, HTMLDivElement>((props, ref) => {
82
- const defaultTheme = useTheme() || Theme.light;
83
- const {
84
- avatarProps,
85
- className,
86
- fields,
87
- linkProps,
88
- linkAs,
89
- multipleActions,
90
- name,
91
- nameProps,
92
- onClick,
93
- onMouseEnter,
94
- onMouseLeave,
95
- orientation = DEFAULT_PROPS.orientation,
96
- simpleAction,
97
- size = DEFAULT_PROPS.size,
98
- theme = defaultTheme,
99
- children,
100
- additionalFields,
101
- after,
102
- ...forwardedProps
103
- } = props;
104
- let componentSize = size;
105
-
106
- // Special case - When using vertical orientation force the size to be Sizes.l.
107
- if (orientation === Orientation.vertical) {
108
- componentSize = Size.l;
109
- }
110
-
111
- const shouldDisplayActions: boolean = orientation === Orientation.vertical;
112
-
113
- const isLink = Boolean(linkProps?.href || linkAs);
114
- const isClickable = !!onClick || isLink;
115
-
116
- const nameBlock: ReactNode = React.useMemo(() => {
117
- if (isEmpty(name)) {
118
- return null;
119
- }
120
- let NameComponent: any = 'span';
121
- const nProps: any = {
122
- ...nameProps,
123
- className: classNames(`${CLASSNAME}__name`, linkProps?.className, nameProps?.className),
124
- };
125
- if (isClickable) {
126
- NameComponent = Link;
127
- Object.assign(nProps, {
128
- ...linkProps,
129
- onClick,
130
- linkAs,
131
- color: ColorPalette.dark,
132
- });
133
- }
134
- // Disable avatar focus since the name block is the same link / same button.
135
- if (avatarProps) {
136
- set(avatarProps, ['thumbnailProps', 'tabIndex'], -1);
137
- }
138
- return <NameComponent {...nProps}>{name}</NameComponent>;
139
- }, [avatarProps, isClickable, linkAs, linkProps, name, nameProps, onClick]);
140
-
141
- const shouldDisplayFields = componentSize !== Size.s && componentSize !== Size.xs;
142
-
143
- const fieldsBlock: ReactNode = fields && shouldDisplayFields && (
144
- <div className={`${CLASSNAME}__fields`}>
145
- {fields.map((field: string, idx: number) => (
146
- <span key={idx} className={`${CLASSNAME}__field`}>
147
- {field}
148
- </span>
149
- ))}
150
- </div>
151
- );
152
-
153
- return (
154
- <div
155
- ref={ref}
156
- {...forwardedProps}
157
- className={classNames(
158
- className,
159
- handleBasicClasses({ prefix: CLASSNAME, orientation, size: componentSize, theme, isClickable }),
160
- )}
161
- onMouseLeave={onMouseLeave}
162
- onMouseEnter={onMouseEnter}
163
- >
164
- {avatarProps && (
165
- <Avatar
166
- linkAs={linkAs}
167
- linkProps={linkProps}
168
- alt=""
169
- {...(avatarProps as any)}
170
- className={classNames(`${CLASSNAME}__avatar`, avatarProps.className)}
171
- size={componentSize}
172
- onClick={onClick}
173
- theme={theme}
174
- />
175
- )}
176
- {(fields || name || children || additionalFields) && (
177
- <div className={`${CLASSNAME}__wrapper`}>
178
- {children || nameBlock}
179
- {fieldsBlock}
180
- {shouldDisplayFields ? additionalFields : null}
181
- </div>
182
- )}
183
- {shouldDisplayActions && simpleAction && <div className={`${CLASSNAME}__action`}>{simpleAction}</div>}
184
- {shouldDisplayActions && multipleActions && (
185
- <div className={`${CLASSNAME}__actions`}>{multipleActions}</div>
186
- )}
187
- {after ? <div className={`${CLASSNAME}__after`}>{after}</div> : null}
188
- </div>
189
- );
190
- });
191
- UserBlock.displayName = COMPONENT_NAME;
192
- UserBlock.className = CLASSNAME;
193
- UserBlock.defaultProps = DEFAULT_PROPS;
@@ -1 +0,0 @@
1
- export * from './UserBlock';
package/src/constants.ts DELETED
@@ -1,27 +0,0 @@
1
- export {
2
- CSS_PREFIX,
3
- DIALOG_TRANSITION_DURATION,
4
- NOTIFICATION_TRANSITION_DURATION,
5
- TOOLTIP_HOVER_DELAY,
6
- TOOLTIP_LONG_PRESS_DELAY,
7
- } from '@lumx/core/js/constants';
8
-
9
- /**
10
- * Optional global `window` instance (not defined when running SSR).
11
- */
12
- export const WINDOW = typeof window !== 'undefined' ? window : undefined;
13
-
14
- /**
15
- * Optional global `document` instance (not defined when running SSR).
16
- */
17
- export const DOCUMENT = typeof document !== 'undefined' ? document : undefined;
18
-
19
- /**
20
- * Check if we are running in a true browser
21
- */
22
- export const IS_BROWSER = typeof navigator !== 'undefined' && !navigator.userAgent.includes('jsdom');
23
-
24
- /**
25
- * Visually hidden a11y utility class name
26
- */
27
- export const VISUALLY_HIDDEN = 'visually-hidden';
@@ -1,13 +0,0 @@
1
- import { useCallback, useState } from 'react';
2
-
3
- export const useBooleanState = (defaultValue: boolean): [boolean, () => void, () => void, () => void] => {
4
- const [booleanValue, setBoolean] = useState<boolean>(defaultValue);
5
-
6
- const setToFalse = useCallback(() => setBoolean(false), []);
7
-
8
- const setToTrue = useCallback(() => setBoolean(true), []);
9
-
10
- const toggleBoolean = useCallback(() => setBoolean((previousValue) => !previousValue), []);
11
-
12
- return [booleanValue, setToFalse, setToTrue, toggleBoolean];
13
- };
@@ -1,34 +0,0 @@
1
- import { DOCUMENT } from '@lumx/react/constants';
2
- import { Callback } from '@lumx/react/utils/type';
3
- import { onEscapePressed } from '@lumx/core/js/utils';
4
- import { useEffect } from 'react';
5
- import { Listener, makeListenerTowerContext } from '@lumx/react/utils/function/makeListenerTowerContext';
6
-
7
- const LISTENERS = makeListenerTowerContext();
8
-
9
- /**
10
- * Register a global listener on 'Escape' key pressed.
11
- *
12
- * If multiple listener are registered, only the last one is maintained. When a listener is unregistered, the previous
13
- * one gets activated again.
14
- *
15
- * @param callback Callback
16
- * @param closeOnEscape Disables the hook when false
17
- */
18
- export function useCallbackOnEscape(callback: Callback | undefined, closeOnEscape = true) {
19
- useEffect(() => {
20
- const rootElement = DOCUMENT?.body;
21
- if (!closeOnEscape || !callback || !rootElement) {
22
- return undefined;
23
- }
24
- const onKeyDown = onEscapePressed(callback);
25
-
26
- const listener: Listener = {
27
- enable: () => rootElement.addEventListener('keydown', onKeyDown),
28
- disable: () => rootElement.removeEventListener('keydown', onKeyDown),
29
- };
30
-
31
- LISTENERS.register(listener);
32
- return () => LISTENERS.unregister(listener);
33
- }, [callback, closeOnEscape]);
34
- }
@@ -1,75 +0,0 @@
1
- import { useState } from 'react';
2
-
3
- interface UseChipGroupNavigation {
4
- /** the current active chip index */
5
- activeChip: number;
6
-
7
- /** callback to be executed when the backspace was pressed */
8
- onBackspacePressed(): void;
9
-
10
- /** function that allows to reset the navigation */
11
- resetChipNavigation(): void;
12
- }
13
-
14
- export type useChipGroupNavigationType<C = any> = (
15
- chips: C[],
16
- onChipDeleted: (chip: C) => void,
17
- initialActiveChip?: number,
18
- ) => UseChipGroupNavigation;
19
-
20
- const INITIAL_STATE_ACTIVE_CHIP = -1;
21
-
22
- /**
23
- * Hook that provides the necessary information to manage chips navigation.
24
- * @param chips List of chips selected.
25
- * @param onChipDeleted Callback executed when a chip must be eliminated.
26
- * @param initialActiveChip Initial active chip index.
27
- *
28
- * @return chip navigation tools.
29
- */
30
- export const useChipGroupNavigation: useChipGroupNavigationType = (
31
- chips,
32
- onChipDeleted,
33
- initialActiveChip = INITIAL_STATE_ACTIVE_CHIP,
34
- ) => {
35
- const [wasBackspacePressed, setWasBackspacePressed] = useState(false);
36
- const [activeChip, setActiveChip] = useState(initialActiveChip);
37
-
38
- /**
39
- * Resets the active index and backspace control to their initial state
40
- */
41
- const resetChipNavigation = () => {
42
- setWasBackspacePressed(false);
43
- setActiveChip(initialActiveChip);
44
- };
45
-
46
- /**
47
- * Callback to be executed when the backspace was pressed. If there are no chips
48
- * selected, it will return immediately. If there are it will check if the
49
- * backspace was already pressed. if it was, it means that the user wants to eliminate
50
- * the chip, so we execute the `onChipDeleted` function and reset internal state.
51
- *
52
- * If it was not pressed before, we set the `wasBackspacePressed` flag to true and
53
- * highlight the last chip.
54
- */
55
- const onBackspacePressed = () => {
56
- if (chips.length === 0) {
57
- return;
58
- }
59
-
60
- if (wasBackspacePressed) {
61
- const chipDeleted: any = chips[chips.length - 1];
62
- onChipDeleted(chipDeleted);
63
- resetChipNavigation();
64
- } else {
65
- setActiveChip(chips.length - 1);
66
- setWasBackspacePressed(true);
67
- }
68
- };
69
-
70
- return {
71
- activeChip,
72
- onBackspacePressed,
73
- resetChipNavigation,
74
- };
75
- };
@@ -1,48 +0,0 @@
1
- import { RefObject, useEffect } from 'react';
2
-
3
- import { Falsy } from '@lumx/react/utils/type';
4
-
5
- import isEmpty from 'lodash/isEmpty';
6
-
7
- const EVENT_TYPES = ['mousedown', 'touchstart'];
8
-
9
- function isClickAway(targets: HTMLElement[], refs: Array<RefObject<HTMLElement>>): boolean {
10
- // The targets elements are not contained in any of the listed element references.
11
- return !refs.some((ref) => targets.some((target) => ref?.current?.contains(target)));
12
- }
13
-
14
- export interface ClickAwayParameters {
15
- /**
16
- * A callback function to call when the user clicks away from the elements.
17
- */
18
- callback: EventListener | Falsy;
19
- /**
20
- * Elements considered within the click away context (clicking outside them will trigger the click away callback).
21
- */
22
- childrenRefs: RefObject<Array<RefObject<HTMLElement>>>;
23
- }
24
-
25
- /**
26
- * Listen to clicks away from the given elements and callback the passed in function.
27
- *
28
- * Warning: If you need to detect click away on nested React portals, please use the `ClickAwayProvider` component.
29
- */
30
- export function useClickAway({ callback, childrenRefs }: ClickAwayParameters): void {
31
- useEffect(() => {
32
- const { current: currentRefs } = childrenRefs;
33
- if (!callback || !currentRefs || isEmpty(currentRefs)) {
34
- return undefined;
35
- }
36
- const listener: EventListener = (evt) => {
37
- const targets = [evt.composedPath?.()[0], evt.target] as HTMLElement[];
38
- if (isClickAway(targets, currentRefs)) {
39
- callback(evt);
40
- }
41
- };
42
-
43
- EVENT_TYPES.forEach((evtType) => document.addEventListener(evtType, listener));
44
- return () => {
45
- EVENT_TYPES.forEach((evtType) => document.removeEventListener(evtType, listener));
46
- };
47
- }, [callback, childrenRefs]);
48
- }
@@ -1,28 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
3
- import { Falsy } from '@lumx/react/utils/type';
4
-
5
- /**
6
- * Disables the scroll on the body to make it only usable in the current modal element.
7
- * When the modal element is not provided anymore, the scroll is restored.
8
- *
9
- * @param modalElement The modal element.
10
- */
11
- export const useDisableBodyScroll = (modalElement: Element | Falsy): void => {
12
- useEffect(() => {
13
- if (!modalElement) {
14
- return undefined;
15
- }
16
- // Fixing the document overflow style to prevent a bug that scrolls the window to the top.
17
- const previousDocumentOverflow = document.documentElement.style.overflow;
18
- document.documentElement.style.overflow = 'visible';
19
- disableBodyScroll(modalElement);
20
- return () => {
21
- enableBodyScroll(modalElement);
22
- // Restore the previous overflow style.
23
- requestAnimationFrame(() => {
24
- document.documentElement.style.overflow = previousDocumentOverflow;
25
- });
26
- };
27
- }, [modalElement]);
28
- };
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
-
3
- const useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
4
-
5
- /**
6
- * https://github.com/facebook/react/issues/14099#issuecomment-440013892
7
- *
8
- * @param fn A function to run
9
- * @return A React callback
10
- */
11
- export default function useEventCallback(fn: (...args: any[]) => any): (event: any) => any {
12
- const ref = React.useRef(fn);
13
- useEnhancedEffect(() => {
14
- ref.current = fn;
15
- });
16
- return React.useCallback((event: any) => ref.current(event), []);
17
- }