@lumx/react 3.20.1-alpha.3 → 3.20.1-alpha.31

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 (698) hide show
  1. package/CONTRIBUTING.md +1 -5
  2. package/README.md +0 -2
  3. package/_internal/Button-f382ee1c.js +98 -0
  4. package/_internal/Button-f382ee1c.js.map +1 -0
  5. package/_internal/ButtonRoot-a70baf82.js +118 -0
  6. package/_internal/ButtonRoot-a70baf82.js.map +1 -0
  7. package/_internal/Chip-70af04b4.js +144 -0
  8. package/_internal/Chip-70af04b4.js.map +1 -0
  9. package/_internal/ClickAwayProvider-1204f237.js +95 -0
  10. package/_internal/ClickAwayProvider-1204f237.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-1790b47e.js +77 -0
  16. package/_internal/IconButton-1790b47e.js.map +1 -0
  17. package/_internal/ImageCaption-16bf224b.js +75 -0
  18. package/_internal/ImageCaption-16bf224b.js.map +1 -0
  19. package/_internal/List-c75646f2.js +818 -0
  20. package/_internal/List-c75646f2.js.map +1 -0
  21. package/_internal/PopoverDialog-3b63f140.js +656 -0
  22. package/_internal/PopoverDialog-3b63f140.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-2a427c44.js +676 -0
  28. package/_internal/Slides-2a427c44.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-d2001ccb.js +314 -0
  32. package/_internal/Thumbnail-d2001ccb.js.map +1 -0
  33. package/_internal/components/alert-dialog-bd1b2532.js +163 -0
  34. package/_internal/components/alert-dialog-bd1b2532.js.map +1 -0
  35. package/_internal/components/autocomplete-8ae2c4f9.js +262 -0
  36. package/_internal/components/autocomplete-8ae2c4f9.js.map +1 -0
  37. package/_internal/components/avatar-778d7df6.js +84 -0
  38. package/_internal/components/avatar-778d7df6.js.map +1 -0
  39. package/_internal/components/badge-ccf47147.js +82 -0
  40. package/_internal/components/badge-ccf47147.js.map +1 -0
  41. package/_internal/components/button-4aff084a.js +48 -0
  42. package/_internal/components/button-4aff084a.js.map +1 -0
  43. package/_internal/components/checkbox-a448ca6c.js +141 -0
  44. package/_internal/components/checkbox-a448ca6c.js.map +1 -0
  45. package/_internal/components/chip-19e40755.js +103 -0
  46. package/_internal/components/chip-19e40755.js.map +1 -0
  47. package/_internal/components/comment-block-bcbedf3c.js +139 -0
  48. package/_internal/components/comment-block-bcbedf3c.js.map +1 -0
  49. package/_internal/components/date-picker-b6d4048e.js +2 -0
  50. package/_internal/components/date-picker-b6d4048e.js.map +1 -0
  51. package/_internal/components/dialog-30336ccb.js +239 -0
  52. package/_internal/components/dialog-30336ccb.js.map +1 -0
  53. package/_internal/components/divider-0e93aa3d.js +51 -0
  54. package/_internal/components/divider-0e93aa3d.js.map +1 -0
  55. package/_internal/components/drag-handle-137f71b6.js +52 -0
  56. package/_internal/components/drag-handle-137f71b6.js.map +1 -0
  57. package/_internal/components/dropdown-d18122d7.js +148 -0
  58. package/_internal/components/dropdown-d18122d7.js.map +1 -0
  59. package/_internal/components/expansion-panel-38ed3d9f.js +168 -0
  60. package/_internal/components/expansion-panel-38ed3d9f.js.map +1 -0
  61. package/_internal/components/flag-c2e41e8d.js +60 -0
  62. package/_internal/components/flag-c2e41e8d.js.map +1 -0
  63. package/_internal/components/flex-box-15be92f6.js +57 -0
  64. package/_internal/components/flex-box-15be92f6.js.map +1 -0
  65. package/_internal/components/generic-block-5d843f1e.js +128 -0
  66. package/_internal/components/generic-block-5d843f1e.js.map +1 -0
  67. package/_internal/components/grid-8c08dc4b.js +105 -0
  68. package/_internal/components/grid-8c08dc4b.js.map +1 -0
  69. package/_internal/components/grid-column-85e305e7.js +59 -0
  70. package/_internal/components/grid-column-85e305e7.js.map +1 -0
  71. package/_internal/components/heading-28520e1c.js +54 -0
  72. package/_internal/components/heading-28520e1c.js.map +1 -0
  73. package/_internal/components/icon-a00d698b.js +103 -0
  74. package/_internal/components/icon-a00d698b.js.map +1 -0
  75. package/_internal/components/image-block-10976174.js +111 -0
  76. package/_internal/components/image-block-10976174.js.map +1 -0
  77. package/_internal/components/image-lightbox-86f1e1fb.js +757 -0
  78. package/_internal/components/image-lightbox-86f1e1fb.js.map +1 -0
  79. package/_internal/components/inline-list-5ba8bb0f.js +75 -0
  80. package/_internal/components/inline-list-5ba8bb0f.js.map +1 -0
  81. package/_internal/components/input-helper-2e4e49fd.js +72 -0
  82. package/_internal/components/input-helper-2e4e49fd.js.map +1 -0
  83. package/_internal/components/input-label-30d199c3.js +60 -0
  84. package/_internal/components/input-label-30d199c3.js.map +1 -0
  85. package/_internal/components/lightbox-c618a33b.js +156 -0
  86. package/_internal/components/lightbox-c618a33b.js.map +1 -0
  87. package/_internal/components/link-9c3feb34.js +73 -0
  88. package/_internal/components/link-9c3feb34.js.map +1 -0
  89. package/_internal/components/link-preview-79500604.js +118 -0
  90. package/_internal/components/link-preview-79500604.js.map +1 -0
  91. package/_internal/components/list-2f256244.js +72 -0
  92. package/_internal/components/list-2f256244.js.map +1 -0
  93. package/_internal/components/message-a3806f51.js +97 -0
  94. package/_internal/components/message-a3806f51.js.map +1 -0
  95. package/_internal/components/mosaic-e6581097.js +95 -0
  96. package/_internal/components/mosaic-e6581097.js.map +1 -0
  97. package/_internal/components/navigation-5378f128.js +226 -0
  98. package/_internal/components/navigation-5378f128.js.map +1 -0
  99. package/_internal/components/notification-49837625.js +143 -0
  100. package/_internal/components/notification-49837625.js.map +1 -0
  101. package/_internal/components/popover-dfcddda4.js +3 -0
  102. package/_internal/components/popover-dfcddda4.js.map +1 -0
  103. package/_internal/components/post-block-478bc3b8.js +110 -0
  104. package/_internal/components/post-block-478bc3b8.js.map +1 -0
  105. package/_internal/components/progress-44bb0301.js +183 -0
  106. package/_internal/components/progress-44bb0301.js.map +1 -0
  107. package/_internal/components/progress-tracker-0fd35bea.js +306 -0
  108. package/_internal/components/progress-tracker-0fd35bea.js.map +1 -0
  109. package/_internal/components/radio-button-929c7bee.js +150 -0
  110. package/_internal/components/radio-button-929c7bee.js.map +1 -0
  111. package/_internal/components/select-a145edbb.js +454 -0
  112. package/_internal/components/select-a145edbb.js.map +1 -0
  113. package/_internal/components/side-navigation-b99d6022.js +165 -0
  114. package/_internal/components/side-navigation-b99d6022.js.map +1 -0
  115. package/_internal/components/skeleton-1ea8c82a.js +167 -0
  116. package/_internal/components/skeleton-1ea8c82a.js.map +1 -0
  117. package/_internal/components/slider-78cfaa67.js +312 -0
  118. package/_internal/components/slider-78cfaa67.js.map +1 -0
  119. package/_internal/components/slideshow-b78ac3d6.js +151 -0
  120. package/_internal/components/slideshow-b78ac3d6.js.map +1 -0
  121. package/_internal/components/switch-25b65051.js +122 -0
  122. package/_internal/components/switch-25b65051.js.map +1 -0
  123. package/_internal/components/table-3cbee034.js +295 -0
  124. package/_internal/components/table-3cbee034.js.map +1 -0
  125. package/_internal/components/tabs-5d8ea1a5.js +299 -0
  126. package/_internal/components/tabs-5d8ea1a5.js.map +1 -0
  127. package/_internal/components/text-f84a5417.js +2 -0
  128. package/_internal/components/text-f84a5417.js.map +1 -0
  129. package/_internal/components/text-field-c26582c5.js +359 -0
  130. package/_internal/components/text-field-c26582c5.js.map +1 -0
  131. package/_internal/components/thumbnail-cb55b26c.js +42 -0
  132. package/_internal/components/thumbnail-cb55b26c.js.map +1 -0
  133. package/_internal/components/toolbar-e7c984e6.js +62 -0
  134. package/_internal/components/toolbar-e7c984e6.js.map +1 -0
  135. package/_internal/components/tooltip-dcb43bbe.js +328 -0
  136. package/_internal/components/tooltip-dcb43bbe.js.map +1 -0
  137. package/_internal/components/uploader-873b9bc1.js +154 -0
  138. package/_internal/components/uploader-873b9bc1.js.map +1 -0
  139. package/_internal/components/user-block-7cbaffe0.js +145 -0
  140. package/_internal/components/user-block-7cbaffe0.js.map +1 -0
  141. package/_internal/constants-43721918.js +2170 -0
  142. package/_internal/constants-43721918.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-8bce732e.js +9 -0
  148. package/_internal/forwardRef-8bce732e.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-151e2652.js +118 -0
  152. package/_internal/index-151e2652.js.map +1 -0
  153. package/_internal/index-25d2a45e.js +437 -0
  154. package/_internal/index-25d2a45e.js.map +1 -0
  155. package/_internal/isComponent-b9762ff1.js +18 -0
  156. package/_internal/isComponent-b9762ff1.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/_internal/state-db358714.js +130 -0
  162. package/_internal/state-db358714.js.map +1 -0
  163. package/_internal/useBooleanState-2a3d237c.js +12 -0
  164. package/_internal/useBooleanState-2a3d237c.js.map +1 -0
  165. package/_internal/useCallbackOnEscape-b956a85d.js +64 -0
  166. package/_internal/useCallbackOnEscape-b956a85d.js.map +1 -0
  167. package/_internal/useDisableBodyScroll-36bd7352.js +219 -0
  168. package/_internal/useDisableBodyScroll-36bd7352.js.map +1 -0
  169. package/_internal/useDisableStateProps-69e16b7c.js +36 -0
  170. package/_internal/useDisableStateProps-69e16b7c.js.map +1 -0
  171. package/_internal/useFocusTrap-2dbae79e.js +112 -0
  172. package/_internal/useFocusTrap-2dbae79e.js.map +1 -0
  173. package/_internal/useId-3a1facc0.js +18 -0
  174. package/_internal/useId-3a1facc0.js.map +1 -0
  175. package/_internal/useRovingTabIndex-7daf0f24.js +77 -0
  176. package/_internal/useRovingTabIndex-7daf0f24.js.map +1 -0
  177. package/_internal/useTransitionVisibility-321fdbfa.js +50 -0
  178. package/_internal/useTransitionVisibility-321fdbfa.js.map +1 -0
  179. package/_internal/wrapChildrenIconWithSpaces-ef2a6772.js +20 -0
  180. package/_internal/wrapChildrenIconWithSpaces-ef2a6772.js.map +1 -0
  181. package/index.d.ts +11 -368
  182. package/index.js +65 -14523
  183. package/index.js.map +1 -1
  184. package/package.json +8 -22
  185. package/utils/index.d.ts +1 -1
  186. package/utils/index.js +3 -1
  187. package/utils/index.js.map +1 -1
  188. package/_internal/Falsy.d.ts +0 -7
  189. package/_internal/index.js +0 -229
  190. package/_internal/index.js.map +0 -1
  191. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  192. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -34
  193. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  194. package/src/components/alert-dialog/index.ts +0 -1
  195. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  196. package/src/components/autocomplete/Autocomplete.test.tsx +0 -99
  197. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  198. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  199. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -61
  200. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  201. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  202. package/src/components/autocomplete/index.ts +0 -2
  203. package/src/components/avatar/Avatar.stories.tsx +0 -119
  204. package/src/components/avatar/Avatar.test.tsx +0 -32
  205. package/src/components/avatar/Avatar.tsx +0 -114
  206. package/src/components/avatar/index.ts +0 -1
  207. package/src/components/badge/Badge.stories.tsx +0 -69
  208. package/src/components/badge/Badge.test.tsx +0 -45
  209. package/src/components/badge/Badge.tsx +0 -58
  210. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  211. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  212. package/src/components/badge/BadgeWrapper.tsx +0 -37
  213. package/src/components/badge/index.ts +0 -2
  214. package/src/components/button/Button.stories.tsx +0 -355
  215. package/src/components/button/Button.test.tsx +0 -125
  216. package/src/components/button/Button.tsx +0 -101
  217. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  218. package/src/components/button/ButtonGroup.test.tsx +0 -41
  219. package/src/components/button/ButtonGroup.tsx +0 -50
  220. package/src/components/button/ButtonRoot.tsx +0 -163
  221. package/src/components/button/IconButton.stories.tsx +0 -52
  222. package/src/components/button/IconButton.test.tsx +0 -66
  223. package/src/components/button/IconButton.tsx +0 -91
  224. package/src/components/button/index.ts +0 -4
  225. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  226. package/src/components/checkbox/Checkbox.test.tsx +0 -154
  227. package/src/components/checkbox/Checkbox.tsx +0 -164
  228. package/src/components/checkbox/index.ts +0 -1
  229. package/src/components/chip/Chip.stories.tsx +0 -164
  230. package/src/components/chip/Chip.test.tsx +0 -243
  231. package/src/components/chip/Chip.tsx +0 -168
  232. package/src/components/chip/ChipGroup.stories.tsx +0 -47
  233. package/src/components/chip/ChipGroup.test.tsx +0 -37
  234. package/src/components/chip/ChipGroup.tsx +0 -60
  235. package/src/components/chip/index.ts +0 -2
  236. package/src/components/comment-block/CommentBlock.stories.tsx +0 -91
  237. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  238. package/src/components/comment-block/CommentBlock.tsx +0 -172
  239. package/src/components/comment-block/index.ts +0 -1
  240. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  241. package/src/components/date-picker/DatePicker.test.tsx +0 -34
  242. package/src/components/date-picker/DatePicker.tsx +0 -52
  243. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  244. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  245. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  246. package/src/components/date-picker/DatePickerField.test.tsx +0 -70
  247. package/src/components/date-picker/DatePickerField.tsx +0 -135
  248. package/src/components/date-picker/constants.ts +0 -11
  249. package/src/components/date-picker/index.ts +0 -4
  250. package/src/components/date-picker/types.ts +0 -28
  251. package/src/components/dialog/Dialog.stories.tsx +0 -318
  252. package/src/components/dialog/Dialog.test.tsx +0 -97
  253. package/src/components/dialog/Dialog.tsx +0 -288
  254. package/src/components/dialog/index.ts +0 -1
  255. package/src/components/divider/Divider.test.tsx +0 -51
  256. package/src/components/divider/Divider.tsx +0 -50
  257. package/src/components/divider/index.ts +0 -1
  258. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  259. package/src/components/drag-handle/DragHandle.tsx +0 -51
  260. package/src/components/drag-handle/index.ts +0 -1
  261. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  262. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  263. package/src/components/dropdown/Dropdown.tsx +0 -186
  264. package/src/components/dropdown/index.ts +0 -1
  265. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  266. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -185
  267. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  268. package/src/components/expansion-panel/index.ts +0 -1
  269. package/src/components/flag/Flag.stories.tsx +0 -48
  270. package/src/components/flag/Flag.test.tsx +0 -62
  271. package/src/components/flag/Flag.tsx +0 -52
  272. package/src/components/flag/index.ts +0 -1
  273. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  274. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  275. package/src/components/flex-box/FlexBox.tsx +0 -100
  276. package/src/components/flex-box/index.ts +0 -1
  277. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  278. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  279. package/src/components/generic-block/GenericBlock.tsx +0 -225
  280. package/src/components/generic-block/constants.ts +0 -9
  281. package/src/components/generic-block/index.ts +0 -2
  282. package/src/components/grid/Grid.tsx +0 -83
  283. package/src/components/grid/GridItem.tsx +0 -55
  284. package/src/components/grid/index.ts +0 -2
  285. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  286. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  287. package/src/components/grid-column/GridColumn.tsx +0 -83
  288. package/src/components/grid-column/index.ts +0 -1
  289. package/src/components/heading/Heading.stories.tsx +0 -69
  290. package/src/components/heading/Heading.test.tsx +0 -82
  291. package/src/components/heading/Heading.tsx +0 -65
  292. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  293. package/src/components/heading/constants.ts +0 -16
  294. package/src/components/heading/context.tsx +0 -13
  295. package/src/components/heading/index.ts +0 -3
  296. package/src/components/heading/useHeadingLevel.tsx +0 -8
  297. package/src/components/icon/Icon.stories.tsx +0 -73
  298. package/src/components/icon/Icon.test.tsx +0 -125
  299. package/src/components/icon/Icon.tsx +0 -22
  300. package/src/components/icon/index.ts +0 -1
  301. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  302. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  303. package/src/components/image-block/ImageBlock.tsx +0 -142
  304. package/src/components/image-block/ImageCaption.tsx +0 -115
  305. package/src/components/image-block/index.ts +0 -1
  306. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -160
  307. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  308. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  309. package/src/components/image-lightbox/constants.ts +0 -11
  310. package/src/components/image-lightbox/index.ts +0 -2
  311. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  312. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  313. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  314. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  315. package/src/components/image-lightbox/types.ts +0 -48
  316. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  317. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  318. package/src/components/inline-list/InlineList.test.tsx +0 -52
  319. package/src/components/inline-list/InlineList.tsx +0 -96
  320. package/src/components/inline-list/index.ts +0 -1
  321. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  322. package/src/components/input-helper/InputHelper.test.tsx +0 -55
  323. package/src/components/input-helper/InputHelper.tsx +0 -65
  324. package/src/components/input-helper/constants.ts +0 -11
  325. package/src/components/input-helper/index.ts +0 -1
  326. package/src/components/input-label/InputLabel.stories.tsx +0 -45
  327. package/src/components/input-label/InputLabel.test.tsx +0 -59
  328. package/src/components/input-label/InputLabel.tsx +0 -69
  329. package/src/components/input-label/index.ts +0 -1
  330. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  331. package/src/components/lightbox/Lightbox.test.tsx +0 -53
  332. package/src/components/lightbox/Lightbox.tsx +0 -180
  333. package/src/components/lightbox/index.ts +0 -1
  334. package/src/components/link/Link.stories.tsx +0 -195
  335. package/src/components/link/Link.test.tsx +0 -127
  336. package/src/components/link/Link.tsx +0 -106
  337. package/src/components/link/index.ts +0 -1
  338. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  339. package/src/components/link-preview/LinkPreview.test.tsx +0 -105
  340. package/src/components/link-preview/LinkPreview.tsx +0 -158
  341. package/src/components/link-preview/index.ts +0 -1
  342. package/src/components/list/List.stories.tsx +0 -116
  343. package/src/components/list/List.test.tsx +0 -18
  344. package/src/components/list/List.tsx +0 -104
  345. package/src/components/list/ListDivider.stories.tsx +0 -12
  346. package/src/components/list/ListDivider.test.tsx +0 -22
  347. package/src/components/list/ListDivider.tsx +0 -35
  348. package/src/components/list/ListItem.stories.tsx +0 -66
  349. package/src/components/list/ListItem.test.tsx +0 -93
  350. package/src/components/list/ListItem.tsx +0 -157
  351. package/src/components/list/ListSubheader.stories.tsx +0 -11
  352. package/src/components/list/ListSubheader.test.tsx +0 -21
  353. package/src/components/list/ListSubheader.tsx +0 -44
  354. package/src/components/list/index.ts +0 -4
  355. package/src/components/list/useInteractiveList.tsx +0 -202
  356. package/src/components/message/Message.stories.tsx +0 -72
  357. package/src/components/message/Message.test.tsx +0 -76
  358. package/src/components/message/Message.tsx +0 -100
  359. package/src/components/message/index.ts +0 -1
  360. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  361. package/src/components/mosaic/Mosaic.test.tsx +0 -77
  362. package/src/components/mosaic/Mosaic.tsx +0 -98
  363. package/src/components/mosaic/index.ts +0 -1
  364. package/src/components/navigation/Navigation.stories.tsx +0 -234
  365. package/src/components/navigation/Navigation.test.tsx +0 -65
  366. package/src/components/navigation/Navigation.tsx +0 -79
  367. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  368. package/src/components/navigation/NavigationItem.tsx +0 -82
  369. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  370. package/src/components/navigation/NavigationSection.tsx +0 -108
  371. package/src/components/navigation/context.tsx +0 -7
  372. package/src/components/navigation/index.ts +0 -1
  373. package/src/components/notification/Notification.test.tsx +0 -94
  374. package/src/components/notification/Notification.tsx +0 -138
  375. package/src/components/notification/Notifications.stories.tsx +0 -92
  376. package/src/components/notification/constants.ts +0 -28
  377. package/src/components/notification/index.ts +0 -1
  378. package/src/components/popover/Popover.stories.tsx +0 -264
  379. package/src/components/popover/Popover.test.tsx +0 -62
  380. package/src/components/popover/Popover.tsx +0 -201
  381. package/src/components/popover/constants.ts +0 -62
  382. package/src/components/popover/index.ts +0 -3
  383. package/src/components/popover/usePopoverStyle.tsx +0 -184
  384. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  385. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  386. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -139
  387. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  388. package/src/components/popover-dialog/index.tsx +0 -1
  389. package/src/components/post-block/PostBlock.test.tsx +0 -27
  390. package/src/components/post-block/PostBlock.tsx +0 -122
  391. package/src/components/post-block/index.ts +0 -1
  392. package/src/components/progress/Progress.tsx +0 -68
  393. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  394. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  395. package/src/components/progress/ProgressCircular.tsx +0 -82
  396. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  397. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  398. package/src/components/progress/ProgressLinear.tsx +0 -50
  399. package/src/components/progress/index.ts +0 -3
  400. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  401. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -42
  402. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  403. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  404. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  405. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  406. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  407. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  408. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  409. package/src/components/progress-tracker/index.ts +0 -4
  410. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  411. package/src/components/radio-button/RadioButton.test.tsx +0 -143
  412. package/src/components/radio-button/RadioButton.tsx +0 -143
  413. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  414. package/src/components/radio-button/RadioGroup.test.tsx +0 -29
  415. package/src/components/radio-button/RadioGroup.tsx +0 -44
  416. package/src/components/radio-button/index.ts +0 -2
  417. package/src/components/select/Select.stories.tsx +0 -385
  418. package/src/components/select/Select.test.tsx +0 -199
  419. package/src/components/select/Select.tsx +0 -199
  420. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  421. package/src/components/select/SelectMultiple.test.tsx +0 -213
  422. package/src/components/select/SelectMultiple.tsx +0 -206
  423. package/src/components/select/WithSelectContext.tsx +0 -147
  424. package/src/components/select/constants.ts +0 -55
  425. package/src/components/select/index.ts +0 -2
  426. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  427. package/src/components/side-navigation/SideNavigation.test.tsx +0 -37
  428. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  429. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  430. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -136
  431. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  432. package/src/components/side-navigation/index.ts +0 -2
  433. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  434. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -27
  435. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  436. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  437. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  438. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  439. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  440. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  441. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  442. package/src/components/skeleton/index.ts +0 -3
  443. package/src/components/slider/Slider.stories.tsx +0 -45
  444. package/src/components/slider/Slider.test.tsx +0 -29
  445. package/src/components/slider/Slider.tsx +0 -299
  446. package/src/components/slider/index.ts +0 -2
  447. package/src/components/slideshow/Slides.tsx +0 -130
  448. package/src/components/slideshow/Slideshow.stories.tsx +0 -179
  449. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  450. package/src/components/slideshow/Slideshow.tsx +0 -173
  451. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  452. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  453. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  454. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  455. package/src/components/slideshow/constants.ts +0 -24
  456. package/src/components/slideshow/index.ts +0 -4
  457. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  458. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  459. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  460. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  461. package/src/components/switch/Switch.stories.tsx +0 -49
  462. package/src/components/switch/Switch.test.tsx +0 -144
  463. package/src/components/switch/Switch.tsx +0 -145
  464. package/src/components/switch/index.ts +0 -1
  465. package/src/components/table/Table.test.tsx +0 -29
  466. package/src/components/table/Table.tsx +0 -59
  467. package/src/components/table/TableBody.test.tsx +0 -30
  468. package/src/components/table/TableBody.tsx +0 -42
  469. package/src/components/table/TableCell.test.tsx +0 -72
  470. package/src/components/table/TableCell.tsx +0 -130
  471. package/src/components/table/TableHeader.test.tsx +0 -30
  472. package/src/components/table/TableHeader.tsx +0 -48
  473. package/src/components/table/TableRow.test.tsx +0 -40
  474. package/src/components/table/TableRow.tsx +0 -71
  475. package/src/components/table/index.ts +0 -5
  476. package/src/components/tabs/Tab.test.tsx +0 -50
  477. package/src/components/tabs/Tab.tsx +0 -133
  478. package/src/components/tabs/TabList.test.tsx +0 -49
  479. package/src/components/tabs/TabList.tsx +0 -94
  480. package/src/components/tabs/TabPanel.test.tsx +0 -37
  481. package/src/components/tabs/TabPanel.tsx +0 -67
  482. package/src/components/tabs/TabProvider.test.tsx +0 -161
  483. package/src/components/tabs/TabProvider.tsx +0 -67
  484. package/src/components/tabs/Tabs.stories.tsx +0 -170
  485. package/src/components/tabs/index.ts +0 -4
  486. package/src/components/tabs/state.ts +0 -114
  487. package/src/components/tabs/test-utils.ts +0 -39
  488. package/src/components/text/Text.stories.tsx +0 -177
  489. package/src/components/text/Text.test.tsx +0 -92
  490. package/src/components/text/Text.tsx +0 -139
  491. package/src/components/text/index.ts +0 -1
  492. package/src/components/text-field/TextField.stories.tsx +0 -180
  493. package/src/components/text-field/TextField.test.tsx +0 -298
  494. package/src/components/text-field/TextField.tsx +0 -493
  495. package/src/components/text-field/index.ts +0 -1
  496. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  497. package/src/components/thumbnail/Thumbnail.test.tsx +0 -88
  498. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  499. package/src/components/thumbnail/index.ts +0 -3
  500. package/src/components/thumbnail/types.ts +0 -48
  501. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  502. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  503. package/src/components/thumbnail/useImageLoad.ts +0 -40
  504. package/src/components/toolbar/Toolbar.tsx +0 -68
  505. package/src/components/toolbar/index.ts +0 -1
  506. package/src/components/tooltip/Tooltip.stories.tsx +0 -118
  507. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  508. package/src/components/tooltip/Tooltip.tsx +0 -165
  509. package/src/components/tooltip/constants.ts +0 -8
  510. package/src/components/tooltip/context.tsx +0 -17
  511. package/src/components/tooltip/index.ts +0 -1
  512. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  513. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  514. package/src/components/uploader/Uploader.stories.tsx +0 -109
  515. package/src/components/uploader/Uploader.test.tsx +0 -146
  516. package/src/components/uploader/Uploader.tsx +0 -177
  517. package/src/components/uploader/index.ts +0 -1
  518. package/src/components/user-block/UserBlock.stories.tsx +0 -133
  519. package/src/components/user-block/UserBlock.test.tsx +0 -106
  520. package/src/components/user-block/UserBlock.tsx +0 -193
  521. package/src/components/user-block/index.ts +0 -1
  522. package/src/constants.ts +0 -27
  523. package/src/hooks/useBooleanState.tsx +0 -13
  524. package/src/hooks/useCallbackOnEscape.ts +0 -34
  525. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  526. package/src/hooks/useClickAway.tsx +0 -48
  527. package/src/hooks/useDisableBodyScroll.ts +0 -28
  528. package/src/hooks/useEventCallback.tsx +0 -17
  529. package/src/hooks/useFocus.tsx +0 -21
  530. package/src/hooks/useFocusTrap.ts +0 -93
  531. package/src/hooks/useFocusWithin.ts +0 -33
  532. package/src/hooks/useId.test.tsx +0 -22
  533. package/src/hooks/useId.ts +0 -15
  534. package/src/hooks/useImageSize.ts +0 -17
  535. package/src/hooks/useInfiniteScroll.tsx +0 -60
  536. package/src/hooks/useIntersectionObserver.tsx +0 -43
  537. package/src/hooks/useInterval.tsx +0 -31
  538. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  539. package/src/hooks/useListenFocus.tsx +0 -26
  540. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  541. package/src/hooks/usePopper.ts +0 -12
  542. package/src/hooks/usePreviousValue.ts +0 -12
  543. package/src/hooks/useRovingTabIndex.tsx +0 -90
  544. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  545. package/src/hooks/useSlideshowControls.ts +0 -246
  546. package/src/hooks/useStopPropagation.ts +0 -21
  547. package/src/hooks/useTransitionVisibility.ts +0 -48
  548. package/src/index.ts +0 -63
  549. package/src/stories/controls/color.ts +0 -7
  550. package/src/stories/controls/element.ts +0 -6
  551. package/src/stories/controls/focusPoint.ts +0 -1
  552. package/src/stories/controls/icons.ts +0 -126
  553. package/src/stories/controls/image.ts +0 -84
  554. package/src/stories/controls/selectArgType.ts +0 -8
  555. package/src/stories/controls/theme.ts +0 -3
  556. package/src/stories/controls/typography.ts +0 -5
  557. package/src/stories/controls/withUndefined.ts +0 -1
  558. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -7
  559. package/src/stories/decorators/withCombinations.tsx +0 -132
  560. package/src/stories/decorators/withNestedProps.tsx +0 -22
  561. package/src/stories/decorators/withResizableBox.tsx +0 -21
  562. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  563. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  564. package/src/stories/decorators/withWrapper.tsx +0 -19
  565. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  566. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  567. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  568. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  569. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  570. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  571. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  572. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  573. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  574. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  575. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  576. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  577. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  578. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  579. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  580. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  581. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  582. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  583. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  584. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  585. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  586. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  587. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  588. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  589. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  590. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  591. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  592. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  593. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  594. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  595. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  596. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  597. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  598. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  599. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  600. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  601. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  602. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  603. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  604. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  605. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  606. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  607. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  608. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  609. package/src/stories/utils/CustomLink.tsx +0 -12
  610. package/src/stories/utils/concatPath.tsx +0 -17
  611. package/src/stories/utils/disableArgTypes.ts +0 -3
  612. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  613. package/src/stories/utils/lorem.ts +0 -59
  614. package/src/stories/utils/theming.tsx +0 -166
  615. package/src/stories/utils/toFlattenProps.ts +0 -28
  616. package/src/stories/utils/withCategory.ts +0 -12
  617. package/src/testing/utils/ThemeSentinel.tsx +0 -10
  618. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  619. package/src/testing/utils/index.ts +0 -1
  620. package/src/testing/utils/queries.ts +0 -19
  621. package/src/untypped-modules.d.ts +0 -9
  622. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  623. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  624. package/src/utils/ClickAwayProvider/index.ts +0 -1
  625. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  626. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  627. package/src/utils/Portal/Portal.test.tsx +0 -31
  628. package/src/utils/Portal/Portal.tsx +0 -33
  629. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  630. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  631. package/src/utils/Portal/PortalProvider.tsx +0 -24
  632. package/src/utils/Portal/index.tsx +0 -2
  633. package/src/utils/browser/DOM/findImage.tsx +0 -3
  634. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  635. package/src/utils/browser/focus/constants.ts +0 -7
  636. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  637. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  638. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  639. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  640. package/src/utils/browser/isFocusVisible.ts +0 -9
  641. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  642. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  643. package/src/utils/browser/isReducedMotion.ts +0 -6
  644. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  645. package/src/utils/date/addMonthResetDay.ts +0 -9
  646. package/src/utils/date/formatDayNumber.test.ts +0 -12
  647. package/src/utils/date/formatDayNumber.ts +0 -5
  648. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  649. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  650. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  651. package/src/utils/date/getMonthCalendar.ts +0 -69
  652. package/src/utils/date/getWeekDays.test.ts +0 -48
  653. package/src/utils/date/getWeekDays.ts +0 -34
  654. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  655. package/src/utils/date/getYearDisplayName.ts +0 -12
  656. package/src/utils/date/isDateValid.test.ts +0 -15
  657. package/src/utils/date/isDateValid.ts +0 -4
  658. package/src/utils/date/isSameDay.test.ts +0 -37
  659. package/src/utils/date/isSameDay.ts +0 -11
  660. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  661. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -92
  662. package/src/utils/disabled/index.ts +0 -2
  663. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  664. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  665. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  666. package/src/utils/index.ts +0 -7
  667. package/src/utils/locale/getCurrentLocale.ts +0 -4
  668. package/src/utils/locale/parseLocale.test.ts +0 -17
  669. package/src/utils/locale/parseLocale.ts +0 -23
  670. package/src/utils/locale/types.ts +0 -8
  671. package/src/utils/number/clamp.ts +0 -17
  672. package/src/utils/object/isEqual.test.ts +0 -25
  673. package/src/utils/object/isEqual.ts +0 -11
  674. package/src/utils/partitionMulti.test.ts +0 -27
  675. package/src/utils/partitionMulti.ts +0 -29
  676. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  677. package/src/utils/react/RawClickable.test.tsx +0 -153
  678. package/src/utils/react/RawClickable.tsx +0 -65
  679. package/src/utils/react/flattenChildren.ts +0 -32
  680. package/src/utils/react/forwardRef.ts +0 -11
  681. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  682. package/src/utils/react/mergeRefs.ts +0 -33
  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 -6
  694. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  695. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  696. package/src/utils/type/index.ts +0 -9
  697. package/src/utils/type/isComponent.ts +0 -33
  698. package/src/utils/type/isComponentType.ts +0 -9
@@ -1,166 +0,0 @@
1
- import React from 'react';
2
- import { Predicate } from '@lumx/react/utils/type';
3
- import { FlexBox } from '@lumx/react';
4
-
5
- type Property = string | { value: string };
6
- interface PropertyTree {
7
- [key: string]: PropertyTree | Property;
8
- }
9
- type Entry = [key: string, value: string];
10
- type Variables = Record<string, string>;
11
-
12
- function asValue(prop?: PropertyTree | Property): string | undefined {
13
- if (typeof prop === 'string') {
14
- return prop;
15
- }
16
- if (typeof prop === 'object' && 'value' in prop) {
17
- return prop.value as string;
18
- }
19
- return undefined;
20
- }
21
-
22
- /** Convert property tree into a list of args entries ([key, value]) */
23
- function* toArgEntries(props: PropertyTree | Property, parent = ''): Iterable<Entry> {
24
- const value = asValue(props);
25
- if (value) {
26
- yield [parent, value];
27
- } else {
28
- for (const [key, prop] of Object.entries(props)) {
29
- const newParent = parent ? `${parent}-${key}` : key;
30
- yield* toArgEntries(prop, newParent);
31
- }
32
- }
33
- }
34
- function* parseVariableEntries(cssString: string, strict = false) {
35
- for (const line of cssString.split(/(?<=;)/)) {
36
- if (!line.trim()) continue;
37
- const match = line.match(/^\s*(--lumx[^:]+)\s*:\s*([^;]+);/m);
38
- if (!match) {
39
- if (strict) throw new Error(`Could not parse \`${line}\``);
40
- else continue;
41
- }
42
- const [, variableName, variableValue] = match;
43
- yield [variableName, variableValue];
44
- }
45
- }
46
-
47
- function VariableEditor({
48
- variable: [key, value],
49
- setVariable,
50
- defaultStyle,
51
- }: {
52
- variable: Entry;
53
- setVariable: (newVariable: Entry) => void;
54
- defaultStyle: Variables;
55
- }) {
56
- const onChange = React.useCallback<React.ChangeEventHandler<HTMLInputElement>>(
57
- (evt) => {
58
- setVariable([evt.target.name, evt.target.value]);
59
- },
60
- [setVariable],
61
- );
62
-
63
- return (
64
- <FlexBox as="label" orientation="horizontal" hAlign="center" style={{ whiteSpace: 'nowrap' }}>
65
- <span style={{ flexShrink: 0 }}>{key}</span>:
66
- <input
67
- name={key}
68
- onChange={onChange}
69
- style={{ border: 0, padding: 8, fieldSizing: 'content', display: 'inline' } as any}
70
- value={defaultStyle[key] === value ? '' : value}
71
- placeholder={value}
72
- />
73
- ;
74
- </FlexBox>
75
- );
76
- }
77
-
78
- function VariablesEditor({
79
- style,
80
- defaultStyle,
81
- setStyle,
82
- }: {
83
- style: Variables;
84
- defaultStyle: Variables;
85
- setStyle: (fn: (newStyle: Variables) => Variables) => void;
86
- }) {
87
- const setVariable = React.useCallback(
88
- ([key, value]: Entry) => {
89
- setStyle((prevStyle) => ({ ...prevStyle, [key]: value }));
90
- },
91
- [setStyle],
92
- );
93
- return (
94
- <details style={{ fontFamily: 'monospace' }} className="lumx-spacing-margin-vertical-huge">
95
- <summary className="lumx-typography-subtitle2">Edit variables</summary>
96
- {Object.entries(style).map((variable) => (
97
- <VariableEditor
98
- key={variable[0]}
99
- defaultStyle={defaultStyle}
100
- variable={variable}
101
- setVariable={setVariable}
102
- />
103
- ))}
104
- </details>
105
- );
106
- }
107
-
108
- const FILTER_PROPS = ['theme', 'emphasis', 'size'];
109
-
110
- export function withTheming<P extends PropertyTree>({
111
- properties,
112
- values,
113
- }: {
114
- properties?: P;
115
- values?: string | Partial<P>;
116
- }) {
117
- const initialStyle = values
118
- ? Object.fromEntries(
119
- typeof values === 'string'
120
- ? parseVariableEntries(values)
121
- : toArgEntries(values as PropertyTree, '--lumx'),
122
- )
123
- : [];
124
- const defaultStyle = Object.fromEntries(properties ? Array.from(toArgEntries(properties, '--lumx')) : []);
125
-
126
- const varNames = new Set(Object.keys(initialStyle).concat(Object.keys(defaultStyle)));
127
-
128
- function filteredStyles(args: any) {
129
- // Create predicate
130
- const filterArgs = Object.entries(args)
131
- .map(([argName, argValue]) => {
132
- if (typeof argValue === 'string' && FILTER_PROPS.includes(argName)) {
133
- return (varName: string) =>
134
- // Has the given arg with value
135
- varName.match(new RegExp(`${argName}-${argValue}`)) ||
136
- (argName === 'emphasis' &&
137
- (argValue === 'medium' || argValue === 'low') &&
138
- varName.match(/emphasis-selected/)) ||
139
- // Or does not have the arg at all
140
- !varName.match(new RegExp(`${argName}-\\w+`));
141
- }
142
- return false;
143
- })
144
- .filter(Boolean) as Array<Predicate<string>>;
145
- const styles = Object.fromEntries(
146
- Array.from(varNames.values())
147
- .map((varName) => {
148
- if (!filterArgs.every((filter) => filter(varName))) return null as any;
149
- return [varName, initialStyle[varName] || defaultStyle[varName]];
150
- })
151
- .filter(Boolean),
152
- );
153
- return () => styles;
154
- }
155
-
156
- return (Story: any, ctx: any) => {
157
- const [style, setStyle] = React.useState<Variables>(filteredStyles(ctx.args));
158
-
159
- return (
160
- <>
161
- <Story args={{ ...ctx.args, style: { ...ctx.args.style, ...style } }} />
162
- <VariablesEditor style={style} defaultStyle={defaultStyle} setStyle={setStyle} />
163
- </>
164
- );
165
- };
166
- }
@@ -1,28 +0,0 @@
1
- import castArray from 'lodash/castArray';
2
- import { concatPath } from './concatPath';
3
-
4
- type Props = Record<string, any>;
5
- type OneOrMoreProps = Props | Array<Props>;
6
-
7
- /**
8
- * Build a flat props object from the given nested props
9
- *
10
- * @example toFlattenProps({ foo: { bar: 4 } }) // => { 'foo.bar': 4 }
11
- * @example toFlattenProps({ foo: [{ bar: 4 }, { bar: 5 }] }) // => { 'foo[0].bar': 4, 'foo[0].bar': 5 }
12
- */
13
- export function toFlattenProps(props: { [prefix: string]: OneOrMoreProps }): Props {
14
- const out: Props = {};
15
- for (const [prefix, oneOrMoreProps] of Object.entries(props)) {
16
- const propsArray = castArray(oneOrMoreProps);
17
-
18
- for (let i = 0; i < propsArray.length; i += 1) {
19
- const path = Array.isArray(oneOrMoreProps) ? concatPath(prefix, i) : prefix;
20
- const subProps = propsArray[i];
21
-
22
- for (const [key, value] of Object.entries(subProps)) {
23
- out[concatPath(path, key)] = value;
24
- }
25
- }
26
- }
27
- return out;
28
- }
@@ -1,12 +0,0 @@
1
- import setWith from 'lodash/setWith';
2
-
3
- /**
4
- * Add table.category to the provided argTypes
5
- */
6
- export function withCategory(category: string, argTypes: Record<string, any>) {
7
- const out: typeof argTypes = {};
8
- for (const [key, value] of Object.entries(argTypes)) {
9
- out[key] = setWith({ ...value }, 'table.category', category);
10
- }
11
- return out;
12
- }
@@ -1,10 +0,0 @@
1
- import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
2
-
3
- const TEST_ID = 'theme-sentinel';
4
-
5
- /** Test component used as sentinel to detect the value of the theme context */
6
- export function ThemeSentinel() {
7
- const theme = useTheme();
8
- return <div data-testid={TEST_ID} className={`--theme-${theme}`} />;
9
- }
10
- ThemeSentinel.testId = TEST_ID;
@@ -1,193 +0,0 @@
1
- import isEmpty from 'lodash/isEmpty';
2
-
3
- import { GenericProps } from '@lumx/react/utils/type';
4
- import { queryByClassName } from '@lumx/react/testing/utils/queries';
5
- import React from 'react';
6
- import { Theme } from '@lumx/react';
7
- import { RenderOptions } from '@testing-library/react';
8
- import { ThemeProvider } from '@lumx/react/utils/theme/ThemeContext';
9
- import castArray from 'lodash/castArray';
10
- import { invertTheme } from '@lumx/react/utils/theme/invertTheme';
11
-
12
- interface CommonSetup {
13
- props: GenericProps;
14
- }
15
-
16
- type AffectConfig<E> = { element: E; classModifier?: 'color' | 'theme'; inverted?: boolean };
17
- type Not<E> = { not: E };
18
-
19
- interface Options<S extends CommonSetup> {
20
- baseClassName: string;
21
- forwardClassName?: keyof S;
22
- forwardAttributes?: keyof S;
23
- forwardRef?: keyof S;
24
- applyTheme?: {
25
- /** Element(s) to which we apply the theme class */
26
- affects: Array<AffectConfig<keyof S> | Not<AffectConfig<keyof S>>>;
27
- /** Apply theme via theme prop */
28
- viaProp: boolean;
29
- /** Apply theme via theme context */
30
- viaContext: boolean;
31
- /** Apply a default theme if no prop or context was provided */
32
- defaultTheme?: Theme;
33
- /** Default props to apply when testing theme */
34
- defaultProps?: S['props'];
35
- };
36
- }
37
-
38
- export type RenderWrapper = RenderOptions['wrapper'];
39
- export type SetupRenderOptions = { wrapper?: RenderWrapper };
40
- export type SetupFunction<S extends CommonSetup> = (
41
- props?: GenericProps,
42
- options?: SetupRenderOptions,
43
- ) => S | Promise<S>;
44
-
45
- /**
46
- * Common tests on components
47
- * - Check base class name and class name forwarding
48
- * - Check props forwarding
49
- */
50
- export function commonTestsSuiteRTL<S extends CommonSetup>(setup: SetupFunction<S>, options: Options<S>): void {
51
- if (isEmpty(options)) {
52
- return;
53
- }
54
- const { baseClassName, forwardClassName, forwardAttributes, forwardRef, applyTheme } = options;
55
- describe('Common tests suite', () => {
56
- it('should render with base class name', async () => {
57
- await setup();
58
- expect(queryByClassName(document.body, baseClassName)).toBeInTheDocument();
59
- });
60
-
61
- if (forwardClassName) {
62
- it('should forward any CSS class', async () => {
63
- const modifiedProps = {
64
- className: 'component component--is-tested',
65
- };
66
- const wrappers = await setup(modifiedProps);
67
- expect(wrappers[forwardClassName]).toHaveClass(modifiedProps.className);
68
- });
69
- }
70
-
71
- if (forwardAttributes) {
72
- it('should forward any other prop', async () => {
73
- const modifiedProps = {
74
- winter: 'is coming',
75
- };
76
- const wrappers = await setup(modifiedProps);
77
- expect(wrappers[forwardAttributes]).toHaveAttribute('winter', modifiedProps.winter);
78
- });
79
- }
80
-
81
- if (forwardRef) {
82
- it('should forward ref', async () => {
83
- const ref = React.createRef();
84
- const wrappers = await setup({ ref });
85
- expect(ref.current).toBe(wrappers[forwardRef]);
86
- });
87
- }
88
-
89
- if (applyTheme) {
90
- describe('theme', () => {
91
- const { affects, defaultTheme, viaProp, viaContext } = applyTheme;
92
- const testElements = affects.map((configOrNot) => {
93
- let shouldHaveModifier: boolean = true;
94
- let config: AffectConfig<any>;
95
- if ('not' in configOrNot) {
96
- shouldHaveModifier = false;
97
- config = configOrNot.not;
98
- } else config = configOrNot;
99
-
100
- const {
101
- element,
102
- classModifier = 'theme',
103
- inverted = false,
104
- }: AffectConfig<any> = typeof config === 'object' ? config : { element: config };
105
- return {
106
- element,
107
- getExpectedClassModifier: (theme: Theme) =>
108
- `--${classModifier}-${inverted ? invertTheme(theme) : theme}`,
109
- shouldHaveModifier,
110
- apply: shouldHaveModifier ? 'apply' : 'not apply',
111
- };
112
- });
113
-
114
- const expectTheme = (
115
- wrappers: any,
116
- { element, getExpectedClassModifier, shouldHaveModifier }: any,
117
- theme: Theme,
118
- override: { shouldHaveModifier?: boolean } = {},
119
- ) => {
120
- for (const wrapper of castArray(wrappers[element])) {
121
- let expected: any = expect(wrapper.className);
122
- if (override.shouldHaveModifier === false || !shouldHaveModifier) {
123
- expected = expected.not;
124
- }
125
- expected.toContain(getExpectedClassModifier(theme));
126
- }
127
- };
128
-
129
- if (defaultTheme) {
130
- it.each(testElements)(
131
- `should $apply default theme (${defaultTheme}) to \`$element\``,
132
- async (affectedElement) => {
133
- const wrappers = await setup(applyTheme.defaultProps);
134
- expectTheme(wrappers, affectedElement, defaultTheme);
135
- },
136
- );
137
- }
138
-
139
- // Only the elements that are affected by theme
140
- const affectedElements = testElements.filter((e) => e.shouldHaveModifier);
141
- if (!defaultTheme && affectedElements.length) {
142
- it.each(affectedElements)(
143
- `should not apply default theme (${defaultTheme}) to \`$element\``,
144
- async (affectedElement) => {
145
- const wrappers = await setup(applyTheme.defaultProps);
146
- expectTheme(wrappers, affectedElement, Theme.light, { shouldHaveModifier: false });
147
- expectTheme(wrappers, affectedElement, Theme.dark, { shouldHaveModifier: false });
148
- },
149
- );
150
- }
151
-
152
- if (viaProp) {
153
- const theme = invertTheme(defaultTheme || Theme.light);
154
- it.each(testElements)(
155
- `should $apply prop theme=${theme} to \`$element\``,
156
- async (affectedElement) => {
157
- const wrappers = await setup({ ...applyTheme.defaultProps, theme });
158
- expectTheme(wrappers, affectedElement, theme);
159
- },
160
- );
161
- }
162
-
163
- const contextTheme = invertTheme(defaultTheme || Theme.light);
164
- it.each(testElements)(
165
- `should $apply context theme=${contextTheme} to \`$element\``,
166
- async (affectedElement) => {
167
- const Wrapper = ({ children }: any) => (
168
- <ThemeProvider value={contextTheme}>{children}</ThemeProvider>
169
- );
170
- const wrappers = await setup({}, { wrapper: Wrapper });
171
- expectTheme(wrappers, affectedElement, contextTheme, {
172
- shouldHaveModifier: !viaContext ? false : undefined,
173
- });
174
- },
175
- );
176
-
177
- if (viaProp && viaContext) {
178
- const propTheme = invertTheme(contextTheme);
179
- it.each(testElements)(
180
- `should $apply prop theme=${propTheme} to \`$element\` overriding the context theme=${contextTheme}`,
181
- async (affectedElement) => {
182
- const Wrapper = ({ children }: any) => (
183
- <ThemeProvider value={contextTheme}>{children}</ThemeProvider>
184
- );
185
- const wrappers = await setup({ theme: propTheme }, { wrapper: Wrapper });
186
- expectTheme(wrappers, affectedElement, propTheme);
187
- },
188
- );
189
- }
190
- });
191
- }
192
- });
193
- }
@@ -1 +0,0 @@
1
- export * from './commonTestsSuiteRTL';
@@ -1,19 +0,0 @@
1
- import { buildQueries } from '@testing-library/dom';
2
-
3
- export const queryAllByClassName = (container: HTMLElement, className: string) =>
4
- Array.from(container.getElementsByClassName(className) as HTMLCollectionOf<HTMLElement>);
5
-
6
- export const [queryByClassName, getAllByClassName, getByClassName, findAllByClassName, findByClassName] = buildQueries(
7
- queryAllByClassName,
8
- (_, className) => `Multiple \`.${className}\` found`,
9
- (_, className) => `No \`.${className}\` found`,
10
- );
11
-
12
- export const queryAllByTagName = (container: HTMLElement, tagName: string) =>
13
- Array.from(container.getElementsByTagName(tagName) as HTMLCollectionOf<HTMLElement>);
14
-
15
- export const [queryByTagName, getAllByTagName, getByTagName, findAllByTagName, findByTagName] = buildQueries(
16
- queryAllByTagName,
17
- (_, tagName) => `Multiple \`${tagName}\` found`,
18
- (_, tagName) => `No \`${tagName}\` found`,
19
- );
@@ -1,9 +0,0 @@
1
- // Extend CSSStyleDeclaration to support viewTransitionName for view transitions
2
- interface CSSStyleDeclaration {
3
- viewTransitionName: string | null;
4
- }
5
- /**
6
- * List untypped modules here to declare them as explicit any.
7
- */
8
- declare module 'test-data-bot';
9
- declare module '*.jpg';
@@ -1,70 +0,0 @@
1
- /* eslint-disable react-hooks/rules-of-hooks */
2
- /* eslint-disable @typescript-eslint/no-use-before-define */
3
- import { useCallback, useRef, useState } from 'react';
4
- import { Button } from '@lumx/react';
5
- import { ClickAwayProvider } from '@lumx/react/utils/ClickAwayProvider';
6
- import { initDemoShadowDOMPortal } from '@lumx/react/stories/utils/initDemoShadowDOMPortal';
7
- import { PortalProvider, Portal } from '@lumx/react/utils/Portal';
8
-
9
- export default {
10
- title: 'LumX components/ClickAwayProvider',
11
- parameters: {
12
- // Disables Chromatic snapshot (not relevant for this story).
13
- chromatic: { disable: true },
14
- },
15
- };
16
-
17
- // eslint-disable-next-line react/display-name
18
- const Card = React.forwardRef(({ top, children, close }, ref) => (
19
- <ClickAwayProvider callback={close} childrenRefs={useRef([ref])}>
20
- <Portal>
21
- <div
22
- className="lumx-spacing-padding"
23
- ref={ref}
24
- style={{ position: 'absolute', top, border: '1px solid red' }}
25
- >
26
- {children}
27
- </div>
28
- </Portal>
29
- </ClickAwayProvider>
30
- ));
31
-
32
- const ButtonWithCard = ({ level, parentRef }) => {
33
- const ref3 = useRef();
34
- const [isOpen3, setOpen3] = useState(false);
35
- const open3 = useCallback(() => setOpen3(true), []);
36
- const close3 = useCallback(() => setOpen3(false), []);
37
- const nextLevel = level + 1;
38
-
39
- return (
40
- <>
41
- Level {level} - <Button onClick={open3}>Open level {nextLevel}</Button>
42
- {isOpen3 && (
43
- <Card ref={ref3} close={close3} top={parentRef?.current?.getBoundingClientRect().bottom || '130px'}>
44
- {nextLevel === 4 ? `Level ${nextLevel}` : <ButtonWithCard level={nextLevel} parentRef={ref3} />}
45
- </Card>
46
- )}
47
- </>
48
- );
49
- };
50
-
51
- /**
52
- * This story showcases the detection of click away inside a nested React portal tree (i.e. not nested in the DOM)
53
- */
54
- export const NestedClickAway = () => (
55
- <>
56
- <p>Clicking inside a level should close all child levels but not parent levels</p>
57
- <ButtonWithCard level={0} />
58
- </>
59
- );
60
-
61
- /**
62
- * Testing close on click away for a popover rendered in a shadow DOM
63
- */
64
- export const InShadowDOM = () => {
65
- return (
66
- <PortalProvider value={initDemoShadowDOMPortal}>
67
- <NestedClickAway />
68
- </PortalProvider>
69
- );
70
- };
@@ -1,69 +0,0 @@
1
- import { createContext, RefObject, useContext, useEffect, useMemo, useRef } from 'react';
2
- import { ClickAwayParameters, useClickAway } from '@lumx/react/hooks/useClickAway';
3
-
4
- interface ContextValue {
5
- childrenRefs: Array<RefObject<HTMLElement>>;
6
- addRefs(...newChildrenRefs: Array<RefObject<HTMLElement>>): void;
7
- }
8
-
9
- const ClickAwayAncestorContext = createContext<ContextValue | null>(null);
10
-
11
- interface ClickAwayProviderProps extends ClickAwayParameters {
12
- /**
13
- * (Optional) Element that should be considered as part of the parent
14
- */
15
- parentRef?: RefObject<HTMLElement>;
16
- /**
17
- * Children
18
- */
19
- children?: React.ReactNode;
20
- }
21
-
22
- /**
23
- * Component combining the `useClickAway` hook with a React context to hook into the React component tree and make sure
24
- * we take into account both the DOM tree and the React tree to detect click away.
25
- *
26
- * @return the react component.
27
- */
28
- export const ClickAwayProvider: React.FC<ClickAwayProviderProps> = ({
29
- children,
30
- callback,
31
- childrenRefs,
32
- parentRef,
33
- }) => {
34
- const parentContext = useContext(ClickAwayAncestorContext);
35
- const currentContext = useMemo(() => {
36
- const context: ContextValue = {
37
- childrenRefs: [],
38
- /**
39
- * Add element refs to the current context and propagate to the parent context.
40
- */
41
- addRefs(...newChildrenRefs) {
42
- // Add element refs that should be considered as inside the click away context.
43
- context.childrenRefs.push(...newChildrenRefs);
44
-
45
- if (parentContext) {
46
- // Also add then to the parent context
47
- parentContext.addRefs(...newChildrenRefs);
48
- if (parentRef) {
49
- // The parent element is also considered as inside the parent click away context but not inside the current context
50
- parentContext.addRefs(parentRef);
51
- }
52
- }
53
- },
54
- };
55
- return context;
56
- }, [parentContext, parentRef]);
57
-
58
- useEffect(() => {
59
- const { current: currentRefs } = childrenRefs;
60
- if (!currentRefs) {
61
- return;
62
- }
63
- currentContext.addRefs(...currentRefs);
64
- }, [currentContext, childrenRefs]);
65
-
66
- useClickAway({ callback, childrenRefs: useRef(currentContext.childrenRefs) });
67
- return <ClickAwayAncestorContext.Provider value={currentContext}>{children}</ClickAwayAncestorContext.Provider>;
68
- };
69
- ClickAwayProvider.displayName = 'ClickAwayProvider';
@@ -1 +0,0 @@
1
- export * from './ClickAwayProvider';
@@ -1,54 +0,0 @@
1
- import { useCallback, useState } from 'react';
2
- import { Switch } from '@lumx/react/components/switch';
3
- import { Alignment } from '@lumx/react';
4
-
5
- // Global state used to
6
- const globalState = {
7
- isEnabled: false,
8
- styleSheet: null as any,
9
- };
10
-
11
- /** Toggle apply the material CSS override. */
12
- export async function toggleMaterialTheme(wasEnabled: boolean) {
13
- globalState.isEnabled = !wasEnabled;
14
-
15
- // Inject the material theme CSS file.
16
- if (!globalState.styleSheet) {
17
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
18
- // @ts-ignore
19
- const cssCode = await import('!!raw-loader!@lumx/core/css/material.css');
20
-
21
- // Inject CSS override in a <style> node in <head>
22
- const style = document.createElement('style');
23
- style.textContent = cssCode.default;
24
- document.head.appendChild(style);
25
-
26
- globalState.styleSheet = style.sheet;
27
- }
28
- // Disable/Enable stylesheet
29
- globalState.styleSheet.disabled = !globalState.isEnabled;
30
- }
31
-
32
- export const MaterialThemeSwitcher: React.FC<any> = ({ theme }) => {
33
- const [isEnabled, setEnabled] = useState(globalState.isEnabled);
34
- const toggleTheme = useCallback(
35
- () =>
36
- setEnabled((wasEnabled) => {
37
- toggleMaterialTheme(wasEnabled);
38
- return !wasEnabled;
39
- }),
40
- [],
41
- );
42
-
43
- return (
44
- <Switch
45
- className="material-theme-switcher"
46
- isChecked={isEnabled}
47
- onChange={toggleTheme}
48
- position={Alignment.right}
49
- theme={theme}
50
- >
51
- Material theme
52
- </Switch>
53
- );
54
- };
@@ -1 +0,0 @@
1
- export * from './MaterialThemeSwitcher';
@@ -1,31 +0,0 @@
1
- import { render, screen } from '@testing-library/react';
2
- import { Portal } from './Portal';
3
-
4
- const TEST_ID = 'portal-child';
5
- const PortalChild = () => <div data-testid={TEST_ID}>Hello from portal</div>;
6
-
7
- describe(Portal, () => {
8
- it('should render portal content in document.body by default', () => {
9
- render(
10
- <Portal>
11
- <PortalChild />
12
- </Portal>,
13
- );
14
-
15
- const child = screen.getByTestId(TEST_ID);
16
- expect(child.parentElement).toBe(document.body);
17
- });
18
-
19
- it('should render inline when enabled is false', () => {
20
- const { container } = render(
21
- <div id="wrapper">
22
- <Portal enabled={false}>
23
- <PortalChild />
24
- </Portal>
25
- </div>,
26
- );
27
-
28
- const child = screen.getByTestId(TEST_ID);
29
- expect(child.parentElement).toBe(container.querySelector('#wrapper'));
30
- });
31
- });