@lumx/react 3.20.1-alpha.1 → 3.20.1-alpha.11

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 (721) hide show
  1. package/CONTRIBUTING.md +1 -5
  2. package/README.md +0 -2
  3. package/_internal/01bc8fcf.js +114 -0
  4. package/_internal/01bc8fcf.js.map +1 -0
  5. package/_internal/0361b7fb.js +15 -0
  6. package/_internal/0361b7fb.js.map +1 -0
  7. package/_internal/077b7bef.js +29 -0
  8. package/_internal/077b7bef.js.map +1 -0
  9. package/_internal/07e0bd90.js +147 -0
  10. package/_internal/07e0bd90.js.map +1 -0
  11. package/_internal/0a31e895.js +304 -0
  12. package/_internal/0a31e895.js.map +1 -0
  13. package/_internal/0b9c76cb.js +6 -0
  14. package/_internal/0b9c76cb.js.map +1 -0
  15. package/_internal/0f4b35b2.js +76 -0
  16. package/_internal/0f4b35b2.js.map +1 -0
  17. package/_internal/18334f0d.js +140 -0
  18. package/_internal/18334f0d.js.map +1 -0
  19. package/_internal/1921f348.js +72 -0
  20. package/_internal/1921f348.js.map +1 -0
  21. package/_internal/1aaa0341.js +645 -0
  22. package/_internal/1aaa0341.js.map +1 -0
  23. package/_internal/1ce667fb.js +790 -0
  24. package/_internal/1ce667fb.js.map +1 -0
  25. package/_internal/1e4b7ad5.js +60 -0
  26. package/_internal/1e4b7ad5.js.map +1 -0
  27. package/_internal/1eab656b.js +75 -0
  28. package/_internal/1eab656b.js.map +1 -0
  29. package/_internal/21aeb1c7.js +19 -0
  30. package/_internal/21aeb1c7.js.map +1 -0
  31. package/_internal/21cf275f.js +158 -0
  32. package/_internal/21cf275f.js.map +1 -0
  33. package/_internal/230173a8.js +13 -0
  34. package/_internal/230173a8.js.map +1 -0
  35. package/_internal/2368cb68.js +297 -0
  36. package/_internal/2368cb68.js.map +1 -0
  37. package/_internal/286fc728.js +2 -0
  38. package/_internal/286fc728.js.map +1 -0
  39. package/_internal/2938a251.js +147 -0
  40. package/_internal/2938a251.js.map +1 -0
  41. package/_internal/2a3d237c.js +12 -0
  42. package/_internal/2a3d237c.js.map +1 -0
  43. package/_internal/2c7942af.js +108 -0
  44. package/_internal/2c7942af.js.map +1 -0
  45. package/_internal/2d6bde7d.js +209 -0
  46. package/_internal/2d6bde7d.js.map +1 -0
  47. package/_internal/30f4c83c.js +59 -0
  48. package/_internal/30f4c83c.js.map +1 -0
  49. package/_internal/3181f000.js +14 -0
  50. package/_internal/3181f000.js.map +1 -0
  51. package/_internal/32698205.js +107 -0
  52. package/_internal/32698205.js.map +1 -0
  53. package/_internal/3646abc3.js +346 -0
  54. package/_internal/3646abc3.js.map +1 -0
  55. package/_internal/3683d267.js +52 -0
  56. package/_internal/3683d267.js.map +1 -0
  57. package/_internal/36bd7352.js +219 -0
  58. package/_internal/36bd7352.js.map +1 -0
  59. package/_internal/38b3ecf3.js +133 -0
  60. package/_internal/38b3ecf3.js.map +1 -0
  61. package/_internal/3a1facc0.js +18 -0
  62. package/_internal/3a1facc0.js.map +1 -0
  63. package/_internal/3f3de25e.js +112 -0
  64. package/_internal/3f3de25e.js.map +1 -0
  65. package/_internal/407735b4.js +2155 -0
  66. package/_internal/407735b4.js.map +1 -0
  67. package/_internal/43262bfe.js +48 -0
  68. package/_internal/43262bfe.js.map +1 -0
  69. package/_internal/432c85a7.js +50 -0
  70. package/_internal/432c85a7.js.map +1 -0
  71. package/_internal/49bbeed3.js +6 -0
  72. package/_internal/49bbeed3.js.map +1 -0
  73. package/_internal/4c5a7b63.js +53 -0
  74. package/_internal/4c5a7b63.js.map +1 -0
  75. package/_internal/4ceaf17c.js +75 -0
  76. package/_internal/4ceaf17c.js.map +1 -0
  77. package/_internal/4d92e13b.js +97 -0
  78. package/_internal/4d92e13b.js.map +1 -0
  79. package/{src/utils/partitionMulti.ts → _internal/4daccdd5.js} +5 -9
  80. package/_internal/4daccdd5.js.map +1 -0
  81. package/_internal/4e1dde79.js +104 -0
  82. package/_internal/4e1dde79.js.map +1 -0
  83. package/_internal/5ba8fae8.js +120 -0
  84. package/_internal/5ba8fae8.js.map +1 -0
  85. package/_internal/60923026.js +36 -0
  86. package/_internal/60923026.js.map +1 -0
  87. package/_internal/60f8e509.js +745 -0
  88. package/_internal/60f8e509.js.map +1 -0
  89. package/_internal/64046d7a.js +57 -0
  90. package/_internal/64046d7a.js.map +1 -0
  91. package/_internal/70cf341b.js +117 -0
  92. package/_internal/70cf341b.js.map +1 -0
  93. package/_internal/714809cc.js +312 -0
  94. package/_internal/714809cc.js.map +1 -0
  95. package/_internal/72407886.js +430 -0
  96. package/_internal/72407886.js.map +1 -0
  97. package/_internal/742d4906.js +148 -0
  98. package/_internal/742d4906.js.map +1 -0
  99. package/_internal/77eb8ef3.js +149 -0
  100. package/_internal/77eb8ef3.js.map +1 -0
  101. package/_internal/78df9309.js +20 -0
  102. package/_internal/78df9309.js.map +1 -0
  103. package/_internal/7b214f74.js +70 -0
  104. package/_internal/7b214f74.js.map +1 -0
  105. package/_internal/7b221b05.js +9 -0
  106. package/_internal/7b221b05.js.map +1 -0
  107. package/_internal/7c4f4643.js +20 -0
  108. package/_internal/7c4f4643.js.map +1 -0
  109. package/_internal/7daf0f24.js +77 -0
  110. package/_internal/7daf0f24.js.map +1 -0
  111. package/_internal/803945f7.js +65 -0
  112. package/_internal/803945f7.js.map +1 -0
  113. package/_internal/80e5c950.js +80 -0
  114. package/_internal/80e5c950.js.map +1 -0
  115. package/_internal/825ac334.js +130 -0
  116. package/_internal/825ac334.js.map +1 -0
  117. package/_internal/827b804a.js +6 -0
  118. package/_internal/827b804a.js.map +1 -0
  119. package/_internal/85d992d2.js +678 -0
  120. package/_internal/85d992d2.js.map +1 -0
  121. package/_internal/87bada02.js +262 -0
  122. package/_internal/87bada02.js.map +1 -0
  123. package/_internal/881714a1.js +187 -0
  124. package/_internal/881714a1.js.map +1 -0
  125. package/_internal/88ec77c2.js +130 -0
  126. package/_internal/88ec77c2.js.map +1 -0
  127. package/_internal/8fcceef3.js +120 -0
  128. package/_internal/8fcceef3.js.map +1 -0
  129. package/_internal/9210e2f3.js +61 -0
  130. package/_internal/9210e2f3.js.map +1 -0
  131. package/_internal/9452daf7.js +103 -0
  132. package/_internal/9452daf7.js.map +1 -0
  133. package/_internal/95a2e851.js +42 -0
  134. package/_internal/95a2e851.js.map +1 -0
  135. package/_internal/9cf0d217.js +147 -0
  136. package/_internal/9cf0d217.js.map +1 -0
  137. package/_internal/9cfa3e10.js +108 -0
  138. package/_internal/9cfa3e10.js.map +1 -0
  139. package/_internal/9d8130ae.js +301 -0
  140. package/_internal/9d8130ae.js.map +1 -0
  141. package/_internal/a67f26a8.js +98 -0
  142. package/_internal/a67f26a8.js.map +1 -0
  143. package/_internal/aa8c5d9b.js +50 -0
  144. package/_internal/aa8c5d9b.js.map +1 -0
  145. package/_internal/aafcf80e.js +312 -0
  146. package/_internal/aafcf80e.js.map +1 -0
  147. package/_internal/ac3bc511.js +2 -0
  148. package/_internal/ac3bc511.js.map +1 -0
  149. package/_internal/b3bfbe72.js +24 -0
  150. package/_internal/b3bfbe72.js.map +1 -0
  151. package/_internal/b925072d.js +91 -0
  152. package/_internal/b925072d.js.map +1 -0
  153. package/_internal/baa0a23b.js +95 -0
  154. package/_internal/baa0a23b.js.map +1 -0
  155. package/_internal/bba7d4c4.js +225 -0
  156. package/_internal/bba7d4c4.js.map +1 -0
  157. package/_internal/bc4cb4c0.js +86 -0
  158. package/_internal/bc4cb4c0.js.map +1 -0
  159. package/_internal/bcce6ceb.js +93 -0
  160. package/_internal/bcce6ceb.js.map +1 -0
  161. package/_internal/bdd41804.js +157 -0
  162. package/_internal/bdd41804.js.map +1 -0
  163. package/_internal/c43d098b.js +42 -0
  164. package/_internal/c43d098b.js.map +1 -0
  165. package/_internal/cb036703.js +113 -0
  166. package/_internal/cb036703.js.map +1 -0
  167. package/_internal/cc995526.js +2 -0
  168. package/_internal/cc995526.js.map +1 -0
  169. package/_internal/cdc3efab.js +173 -0
  170. package/_internal/cdc3efab.js.map +1 -0
  171. package/_internal/d0dd1815.js +10 -0
  172. package/_internal/d0dd1815.js.map +1 -0
  173. package/_internal/d3321a86.js +290 -0
  174. package/_internal/d3321a86.js.map +1 -0
  175. package/_internal/d66c4375.js +62 -0
  176. package/_internal/d66c4375.js.map +1 -0
  177. package/_internal/d6b3a3c0.js +317 -0
  178. package/_internal/d6b3a3c0.js.map +1 -0
  179. package/_internal/dd0a245d.js +142 -0
  180. package/_internal/dd0a245d.js.map +1 -0
  181. package/_internal/de24f857.js +4 -0
  182. package/_internal/de24f857.js.map +1 -0
  183. package/_internal/e2122a37.js +3 -0
  184. package/_internal/e2122a37.js.map +1 -0
  185. package/_internal/e2440593.js +148 -0
  186. package/_internal/e2440593.js.map +1 -0
  187. package/_internal/e4613195.js +59 -0
  188. package/_internal/e4613195.js.map +1 -0
  189. package/_internal/e53b5a39.js +407 -0
  190. package/_internal/e53b5a39.js.map +1 -0
  191. package/_internal/e566d502.js +54 -0
  192. package/_internal/e566d502.js.map +1 -0
  193. package/_internal/e806b848.js +9 -0
  194. package/_internal/e806b848.js.map +1 -0
  195. package/_internal/eaf6c45a.js +4 -0
  196. package/_internal/eaf6c45a.js.map +1 -0
  197. package/_internal/ee64ab0d.js +149 -0
  198. package/_internal/ee64ab0d.js.map +1 -0
  199. package/_internal/ef5d1aac.js +4 -0
  200. package/_internal/ef5d1aac.js.map +1 -0
  201. package/_internal/f0d7d6ea.js +30 -0
  202. package/_internal/f0d7d6ea.js.map +1 -0
  203. package/_internal/f57d4eb8.js +53 -0
  204. package/_internal/f57d4eb8.js.map +1 -0
  205. package/_internal/fc47f2da.js +72 -0
  206. package/_internal/fc47f2da.js.map +1 -0
  207. package/index.d.ts +36 -36
  208. package/index.js +65 -14480
  209. package/index.js.map +1 -1
  210. package/package.json +10 -13
  211. package/utils/index.d.ts +7 -7
  212. package/utils/index.js +3 -1
  213. package/utils/index.js.map +1 -1
  214. package/_internal/index.js +0 -229
  215. package/_internal/index.js.map +0 -1
  216. package/src/components/alert-dialog/AlertDialog.stories.tsx +0 -127
  217. package/src/components/alert-dialog/AlertDialog.test.tsx +0 -35
  218. package/src/components/alert-dialog/AlertDialog.tsx +0 -189
  219. package/src/components/alert-dialog/index.ts +0 -1
  220. package/src/components/autocomplete/Autocomplete.stories.tsx +0 -75
  221. package/src/components/autocomplete/Autocomplete.test.tsx +0 -101
  222. package/src/components/autocomplete/Autocomplete.tsx +0 -294
  223. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +0 -167
  224. package/src/components/autocomplete/AutocompleteMultiple.test.tsx +0 -63
  225. package/src/components/autocomplete/AutocompleteMultiple.tsx +0 -156
  226. package/src/components/autocomplete/__mockData__/index.ts +0 -39
  227. package/src/components/autocomplete/index.ts +0 -2
  228. package/src/components/avatar/Avatar.stories.tsx +0 -121
  229. package/src/components/avatar/Avatar.test.tsx +0 -34
  230. package/src/components/avatar/Avatar.tsx +0 -114
  231. package/src/components/avatar/index.ts +0 -1
  232. package/src/components/badge/Badge.stories.tsx +0 -70
  233. package/src/components/badge/Badge.test.tsx +0 -47
  234. package/src/components/badge/Badge.tsx +0 -58
  235. package/src/components/badge/BadgeWrapper.stories.tsx +0 -76
  236. package/src/components/badge/BadgeWrapper.test.tsx +0 -49
  237. package/src/components/badge/BadgeWrapper.tsx +0 -37
  238. package/src/components/badge/index.ts +0 -2
  239. package/src/components/button/Button.stories.tsx +0 -356
  240. package/src/components/button/Button.test.tsx +0 -127
  241. package/src/components/button/Button.tsx +0 -103
  242. package/src/components/button/ButtonGroup.stories.tsx +0 -54
  243. package/src/components/button/ButtonGroup.test.tsx +0 -43
  244. package/src/components/button/ButtonGroup.tsx +0 -52
  245. package/src/components/button/ButtonRoot.tsx +0 -193
  246. package/src/components/button/IconButton.stories.tsx +0 -52
  247. package/src/components/button/IconButton.test.tsx +0 -68
  248. package/src/components/button/IconButton.tsx +0 -93
  249. package/src/components/button/index.ts +0 -4
  250. package/src/components/checkbox/Checkbox.stories.tsx +0 -64
  251. package/src/components/checkbox/Checkbox.test.tsx +0 -156
  252. package/src/components/checkbox/Checkbox.tsx +0 -164
  253. package/src/components/checkbox/index.ts +0 -1
  254. package/src/components/chip/Chip.stories.tsx +0 -166
  255. package/src/components/chip/Chip.test.tsx +0 -243
  256. package/src/components/chip/Chip.tsx +0 -168
  257. package/src/components/chip/ChipGroup.stories.tsx +0 -49
  258. package/src/components/chip/ChipGroup.test.tsx +0 -39
  259. package/src/components/chip/ChipGroup.tsx +0 -60
  260. package/src/components/chip/index.ts +0 -2
  261. package/src/components/comment-block/CommentBlock.stories.tsx +0 -92
  262. package/src/components/comment-block/CommentBlock.test.tsx +0 -29
  263. package/src/components/comment-block/CommentBlock.tsx +0 -172
  264. package/src/components/comment-block/index.ts +0 -1
  265. package/src/components/date-picker/DatePicker.stories.tsx +0 -118
  266. package/src/components/date-picker/DatePicker.test.tsx +0 -36
  267. package/src/components/date-picker/DatePicker.tsx +0 -52
  268. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -93
  269. package/src/components/date-picker/DatePickerControlled.tsx +0 -259
  270. package/src/components/date-picker/DatePickerField.stories.tsx +0 -100
  271. package/src/components/date-picker/DatePickerField.test.tsx +0 -72
  272. package/src/components/date-picker/DatePickerField.tsx +0 -135
  273. package/src/components/date-picker/constants.ts +0 -11
  274. package/src/components/date-picker/index.ts +0 -4
  275. package/src/components/date-picker/types.ts +0 -28
  276. package/src/components/dialog/Dialog.stories.tsx +0 -318
  277. package/src/components/dialog/Dialog.test.tsx +0 -99
  278. package/src/components/dialog/Dialog.tsx +0 -288
  279. package/src/components/dialog/index.ts +0 -1
  280. package/src/components/divider/Divider.test.tsx +0 -53
  281. package/src/components/divider/Divider.tsx +0 -52
  282. package/src/components/divider/index.ts +0 -1
  283. package/src/components/drag-handle/DragHandle.test.tsx +0 -38
  284. package/src/components/drag-handle/DragHandle.tsx +0 -53
  285. package/src/components/drag-handle/index.ts +0 -1
  286. package/src/components/dropdown/Dropdown.stories.tsx +0 -31
  287. package/src/components/dropdown/Dropdown.test.tsx +0 -66
  288. package/src/components/dropdown/Dropdown.tsx +0 -186
  289. package/src/components/dropdown/index.ts +0 -1
  290. package/src/components/expansion-panel/ExpansionPanel.stories.tsx +0 -91
  291. package/src/components/expansion-panel/ExpansionPanel.test.tsx +0 -186
  292. package/src/components/expansion-panel/ExpansionPanel.tsx +0 -195
  293. package/src/components/expansion-panel/index.ts +0 -1
  294. package/src/components/flag/Flag.stories.tsx +0 -48
  295. package/src/components/flag/Flag.test.tsx +0 -64
  296. package/src/components/flag/Flag.tsx +0 -54
  297. package/src/components/flag/index.ts +0 -1
  298. package/src/components/flex-box/FlexBox.stories.tsx +0 -158
  299. package/src/components/flex-box/FlexBox.test.tsx +0 -25
  300. package/src/components/flex-box/FlexBox.tsx +0 -100
  301. package/src/components/flex-box/index.ts +0 -1
  302. package/src/components/generic-block/GenericBlock.stories.jsx +0 -128
  303. package/src/components/generic-block/GenericBlock.test.tsx +0 -156
  304. package/src/components/generic-block/GenericBlock.tsx +0 -225
  305. package/src/components/generic-block/constants.ts +0 -9
  306. package/src/components/generic-block/index.ts +0 -2
  307. package/src/components/grid/Grid.tsx +0 -85
  308. package/src/components/grid/GridItem.tsx +0 -57
  309. package/src/components/grid/index.ts +0 -2
  310. package/src/components/grid-column/GridColumn.stories.tsx +0 -46
  311. package/src/components/grid-column/GridColumn.test.jsx +0 -58
  312. package/src/components/grid-column/GridColumn.tsx +0 -83
  313. package/src/components/grid-column/index.ts +0 -1
  314. package/src/components/heading/Heading.stories.tsx +0 -70
  315. package/src/components/heading/Heading.test.tsx +0 -84
  316. package/src/components/heading/Heading.tsx +0 -67
  317. package/src/components/heading/HeadingLevelProvider.tsx +0 -30
  318. package/src/components/heading/constants.ts +0 -16
  319. package/src/components/heading/context.tsx +0 -13
  320. package/src/components/heading/index.ts +0 -3
  321. package/src/components/heading/useHeadingLevel.tsx +0 -8
  322. package/src/components/icon/Icon.stories.tsx +0 -47
  323. package/src/components/icon/Icon.test.tsx +0 -44
  324. package/src/components/icon/Icon.tsx +0 -24
  325. package/src/components/icon/index.ts +0 -1
  326. package/src/components/image-block/ImageBlock.stories.tsx +0 -119
  327. package/src/components/image-block/ImageBlock.test.tsx +0 -59
  328. package/src/components/image-block/ImageBlock.tsx +0 -142
  329. package/src/components/image-block/ImageCaption.tsx +0 -115
  330. package/src/components/image-block/index.ts +0 -1
  331. package/src/components/image-lightbox/ImageLightbox.stories.tsx +0 -161
  332. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -252
  333. package/src/components/image-lightbox/ImageLightbox.tsx +0 -90
  334. package/src/components/image-lightbox/constants.ts +0 -11
  335. package/src/components/image-lightbox/index.ts +0 -2
  336. package/src/components/image-lightbox/internal/ImageSlide.tsx +0 -107
  337. package/src/components/image-lightbox/internal/ImageSlideshow.tsx +0 -164
  338. package/src/components/image-lightbox/internal/useAnimateScroll.ts +0 -55
  339. package/src/components/image-lightbox/internal/usePointerZoom.ts +0 -148
  340. package/src/components/image-lightbox/types.ts +0 -50
  341. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  342. package/src/components/inline-list/InlineList.stories.tsx +0 -78
  343. package/src/components/inline-list/InlineList.test.tsx +0 -54
  344. package/src/components/inline-list/InlineList.tsx +0 -96
  345. package/src/components/inline-list/index.ts +0 -1
  346. package/src/components/input-helper/InputHelper.stories.tsx +0 -35
  347. package/src/components/input-helper/InputHelper.test.tsx +0 -57
  348. package/src/components/input-helper/InputHelper.tsx +0 -65
  349. package/src/components/input-helper/constants.ts +0 -11
  350. package/src/components/input-helper/index.ts +0 -1
  351. package/src/components/input-label/InputLabel.stories.tsx +0 -47
  352. package/src/components/input-label/InputLabel.test.tsx +0 -61
  353. package/src/components/input-label/InputLabel.tsx +0 -69
  354. package/src/components/input-label/index.ts +0 -1
  355. package/src/components/lightbox/Lightbox.stories.tsx +0 -101
  356. package/src/components/lightbox/Lightbox.test.tsx +0 -55
  357. package/src/components/lightbox/Lightbox.tsx +0 -180
  358. package/src/components/lightbox/index.ts +0 -1
  359. package/src/components/link/Link.stories.tsx +0 -196
  360. package/src/components/link/Link.test.tsx +0 -127
  361. package/src/components/link/Link.tsx +0 -119
  362. package/src/components/link/index.ts +0 -1
  363. package/src/components/link-preview/LinkPreview.stories.tsx +0 -61
  364. package/src/components/link-preview/LinkPreview.test.tsx +0 -107
  365. package/src/components/link-preview/LinkPreview.tsx +0 -160
  366. package/src/components/link-preview/index.ts +0 -1
  367. package/src/components/list/List.stories.tsx +0 -116
  368. package/src/components/list/List.test.tsx +0 -20
  369. package/src/components/list/List.tsx +0 -104
  370. package/src/components/list/ListDivider.stories.tsx +0 -12
  371. package/src/components/list/ListDivider.test.tsx +0 -24
  372. package/src/components/list/ListDivider.tsx +0 -37
  373. package/src/components/list/ListItem.stories.tsx +0 -66
  374. package/src/components/list/ListItem.test.tsx +0 -95
  375. package/src/components/list/ListItem.tsx +0 -157
  376. package/src/components/list/ListSubheader.stories.tsx +0 -11
  377. package/src/components/list/ListSubheader.test.tsx +0 -23
  378. package/src/components/list/ListSubheader.tsx +0 -44
  379. package/src/components/list/index.ts +0 -4
  380. package/src/components/list/useInteractiveList.tsx +0 -202
  381. package/src/components/message/Message.stories.tsx +0 -72
  382. package/src/components/message/Message.test.tsx +0 -77
  383. package/src/components/message/Message.tsx +0 -100
  384. package/src/components/message/index.ts +0 -1
  385. package/src/components/mosaic/Mosaic.stories.tsx +0 -89
  386. package/src/components/mosaic/Mosaic.test.tsx +0 -79
  387. package/src/components/mosaic/Mosaic.tsx +0 -98
  388. package/src/components/mosaic/index.ts +0 -1
  389. package/src/components/navigation/Navigation.stories.tsx +0 -236
  390. package/src/components/navigation/Navigation.test.tsx +0 -67
  391. package/src/components/navigation/Navigation.tsx +0 -81
  392. package/src/components/navigation/NavigationItem.test.tsx +0 -37
  393. package/src/components/navigation/NavigationItem.tsx +0 -86
  394. package/src/components/navigation/NavigationSection.test.tsx +0 -139
  395. package/src/components/navigation/NavigationSection.tsx +0 -107
  396. package/src/components/navigation/context.tsx +0 -7
  397. package/src/components/navigation/index.ts +0 -1
  398. package/src/components/notification/Notification.test.tsx +0 -95
  399. package/src/components/notification/Notification.tsx +0 -138
  400. package/src/components/notification/Notifications.stories.tsx +0 -92
  401. package/src/components/notification/constants.ts +0 -28
  402. package/src/components/notification/index.ts +0 -1
  403. package/src/components/popover/Popover.stories.tsx +0 -264
  404. package/src/components/popover/Popover.test.tsx +0 -64
  405. package/src/components/popover/Popover.tsx +0 -201
  406. package/src/components/popover/constants.ts +0 -62
  407. package/src/components/popover/index.ts +0 -3
  408. package/src/components/popover/usePopoverStyle.tsx +0 -184
  409. package/src/components/popover/useRestoreFocusOnClose.tsx +0 -47
  410. package/src/components/popover-dialog/PopoverDialog.stories.tsx +0 -64
  411. package/src/components/popover-dialog/PopoverDialog.test.tsx +0 -140
  412. package/src/components/popover-dialog/PopoverDialog.tsx +0 -76
  413. package/src/components/popover-dialog/index.tsx +0 -1
  414. package/src/components/post-block/PostBlock.test.tsx +0 -29
  415. package/src/components/post-block/PostBlock.tsx +0 -122
  416. package/src/components/post-block/index.ts +0 -1
  417. package/src/components/progress/Progress.tsx +0 -70
  418. package/src/components/progress/ProgressCircular.stories.tsx +0 -44
  419. package/src/components/progress/ProgressCircular.test.tsx +0 -48
  420. package/src/components/progress/ProgressCircular.tsx +0 -84
  421. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  422. package/src/components/progress/ProgressLinear.test.tsx +0 -32
  423. package/src/components/progress/ProgressLinear.tsx +0 -52
  424. package/src/components/progress/index.ts +0 -3
  425. package/src/components/progress-tracker/ProgressTracker.stories.tsx +0 -145
  426. package/src/components/progress-tracker/ProgressTracker.test.tsx +0 -44
  427. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  428. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -67
  429. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  430. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -38
  431. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  432. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -36
  433. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -69
  434. package/src/components/progress-tracker/index.ts +0 -4
  435. package/src/components/radio-button/RadioButton.stories.tsx +0 -71
  436. package/src/components/radio-button/RadioButton.test.tsx +0 -145
  437. package/src/components/radio-button/RadioButton.tsx +0 -143
  438. package/src/components/radio-button/RadioGroup.stories.tsx +0 -39
  439. package/src/components/radio-button/RadioGroup.test.tsx +0 -31
  440. package/src/components/radio-button/RadioGroup.tsx +0 -44
  441. package/src/components/radio-button/index.ts +0 -2
  442. package/src/components/select/Select.stories.tsx +0 -385
  443. package/src/components/select/Select.test.tsx +0 -200
  444. package/src/components/select/Select.tsx +0 -199
  445. package/src/components/select/SelectMultiple.stories.tsx +0 -315
  446. package/src/components/select/SelectMultiple.test.tsx +0 -215
  447. package/src/components/select/SelectMultiple.tsx +0 -206
  448. package/src/components/select/WithSelectContext.tsx +0 -147
  449. package/src/components/select/constants.ts +0 -55
  450. package/src/components/select/index.ts +0 -2
  451. package/src/components/side-navigation/SideNavigation.stories.tsx +0 -191
  452. package/src/components/side-navigation/SideNavigation.test.tsx +0 -39
  453. package/src/components/side-navigation/SideNavigation.tsx +0 -52
  454. package/src/components/side-navigation/SideNavigationItem.stories.tsx +0 -133
  455. package/src/components/side-navigation/SideNavigationItem.test.tsx +0 -138
  456. package/src/components/side-navigation/SideNavigationItem.tsx +0 -170
  457. package/src/components/side-navigation/index.ts +0 -2
  458. package/src/components/skeleton/SkeletonCircle.stories.tsx +0 -41
  459. package/src/components/skeleton/SkeletonCircle.test.tsx +0 -29
  460. package/src/components/skeleton/SkeletonCircle.tsx +0 -54
  461. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  462. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -29
  463. package/src/components/skeleton/SkeletonRectangle.tsx +0 -90
  464. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -21
  465. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -29
  466. package/src/components/skeleton/SkeletonTypography.tsx +0 -59
  467. package/src/components/skeleton/index.ts +0 -3
  468. package/src/components/slider/Slider.stories.tsx +0 -45
  469. package/src/components/slider/Slider.test.tsx +0 -31
  470. package/src/components/slider/Slider.tsx +0 -299
  471. package/src/components/slider/index.ts +0 -2
  472. package/src/components/slideshow/Slides.tsx +0 -130
  473. package/src/components/slideshow/Slideshow.stories.tsx +0 -180
  474. package/src/components/slideshow/Slideshow.test.tsx +0 -37
  475. package/src/components/slideshow/Slideshow.tsx +0 -173
  476. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -102
  477. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  478. package/src/components/slideshow/SlideshowItem.tsx +0 -46
  479. package/src/components/slideshow/SlideshowItemGroup.tsx +0 -60
  480. package/src/components/slideshow/constants.ts +0 -24
  481. package/src/components/slideshow/index.ts +0 -4
  482. package/src/components/slideshow/useKeyNavigate.ts +0 -28
  483. package/src/components/slideshow/usePaginationVisibleRange.ts +0 -37
  484. package/src/components/slideshow/useSlideFocusManagement.tsx +0 -92
  485. package/src/components/slideshow/useSwipeNavigate.ts +0 -18
  486. package/src/components/switch/Switch.stories.tsx +0 -49
  487. package/src/components/switch/Switch.test.tsx +0 -146
  488. package/src/components/switch/Switch.tsx +0 -145
  489. package/src/components/switch/index.ts +0 -1
  490. package/src/components/table/Table.test.tsx +0 -31
  491. package/src/components/table/Table.tsx +0 -61
  492. package/src/components/table/TableBody.test.tsx +0 -32
  493. package/src/components/table/TableBody.tsx +0 -44
  494. package/src/components/table/TableCell.test.tsx +0 -74
  495. package/src/components/table/TableCell.tsx +0 -132
  496. package/src/components/table/TableHeader.test.tsx +0 -32
  497. package/src/components/table/TableHeader.tsx +0 -50
  498. package/src/components/table/TableRow.test.tsx +0 -42
  499. package/src/components/table/TableRow.tsx +0 -73
  500. package/src/components/table/index.ts +0 -5
  501. package/src/components/tabs/Tab.test.tsx +0 -52
  502. package/src/components/tabs/Tab.tsx +0 -133
  503. package/src/components/tabs/TabList.test.tsx +0 -51
  504. package/src/components/tabs/TabList.tsx +0 -94
  505. package/src/components/tabs/TabPanel.test.tsx +0 -39
  506. package/src/components/tabs/TabPanel.tsx +0 -69
  507. package/src/components/tabs/TabProvider.test.tsx +0 -163
  508. package/src/components/tabs/TabProvider.tsx +0 -67
  509. package/src/components/tabs/Tabs.stories.tsx +0 -170
  510. package/src/components/tabs/index.ts +0 -4
  511. package/src/components/tabs/state.ts +0 -114
  512. package/src/components/tabs/test-utils.ts +0 -39
  513. package/src/components/text/Text.stories.tsx +0 -177
  514. package/src/components/text/Text.test.tsx +0 -94
  515. package/src/components/text/Text.tsx +0 -141
  516. package/src/components/text/index.ts +0 -1
  517. package/src/components/text-field/TextField.stories.tsx +0 -180
  518. package/src/components/text-field/TextField.test.tsx +0 -299
  519. package/src/components/text-field/TextField.tsx +0 -493
  520. package/src/components/text-field/index.ts +0 -1
  521. package/src/components/thumbnail/Thumbnail.stories.tsx +0 -448
  522. package/src/components/thumbnail/Thumbnail.test.tsx +0 -66
  523. package/src/components/thumbnail/Thumbnail.tsx +0 -248
  524. package/src/components/thumbnail/index.ts +0 -3
  525. package/src/components/thumbnail/types.ts +0 -48
  526. package/src/components/thumbnail/useFocusPointStyle.test.ts +0 -92
  527. package/src/components/thumbnail/useFocusPointStyle.tsx +0 -107
  528. package/src/components/thumbnail/useImageLoad.ts +0 -40
  529. package/src/components/toolbar/Toolbar.tsx +0 -68
  530. package/src/components/toolbar/index.ts +0 -1
  531. package/src/components/tooltip/Tooltip.stories.tsx +0 -117
  532. package/src/components/tooltip/Tooltip.test.tsx +0 -411
  533. package/src/components/tooltip/Tooltip.tsx +0 -165
  534. package/src/components/tooltip/constants.ts +0 -8
  535. package/src/components/tooltip/context.tsx +0 -17
  536. package/src/components/tooltip/index.ts +0 -1
  537. package/src/components/tooltip/useInjectTooltipRef.tsx +0 -55
  538. package/src/components/tooltip/useTooltipOpen.tsx +0 -143
  539. package/src/components/uploader/Uploader.stories.tsx +0 -109
  540. package/src/components/uploader/Uploader.test.tsx +0 -148
  541. package/src/components/uploader/Uploader.tsx +0 -177
  542. package/src/components/uploader/index.ts +0 -1
  543. package/src/components/user-block/UserBlock.stories.tsx +0 -135
  544. package/src/components/user-block/UserBlock.test.tsx +0 -108
  545. package/src/components/user-block/UserBlock.tsx +0 -193
  546. package/src/components/user-block/index.ts +0 -1
  547. package/src/constants.ts +0 -27
  548. package/src/hooks/useBooleanState.tsx +0 -13
  549. package/src/hooks/useCallbackOnEscape.ts +0 -34
  550. package/src/hooks/useChipGroupNavigation.tsx +0 -75
  551. package/src/hooks/useClickAway.tsx +0 -48
  552. package/src/hooks/useDisableBodyScroll.ts +0 -28
  553. package/src/hooks/useEventCallback.tsx +0 -17
  554. package/src/hooks/useFocus.tsx +0 -21
  555. package/src/hooks/useFocusTrap.ts +0 -93
  556. package/src/hooks/useFocusWithin.ts +0 -33
  557. package/src/hooks/useId.test.tsx +0 -23
  558. package/src/hooks/useId.ts +0 -15
  559. package/src/hooks/useImageSize.ts +0 -17
  560. package/src/hooks/useInfiniteScroll.tsx +0 -60
  561. package/src/hooks/useIntersectionObserver.tsx +0 -43
  562. package/src/hooks/useInterval.tsx +0 -31
  563. package/src/hooks/useKeyboardListNavigation.tsx +0 -204
  564. package/src/hooks/useListenFocus.tsx +0 -26
  565. package/src/hooks/useOverflowTooltipLabel.tsx +0 -32
  566. package/src/hooks/usePopper.ts +0 -12
  567. package/src/hooks/usePreviousValue.ts +0 -13
  568. package/src/hooks/useRovingTabIndex.tsx +0 -90
  569. package/src/hooks/useSizeOnWindowResize.ts +0 -30
  570. package/src/hooks/useSlideshowControls.ts +0 -246
  571. package/src/hooks/useStopPropagation.ts +0 -21
  572. package/src/hooks/useTransitionVisibility.ts +0 -48
  573. package/src/index.ts +0 -63
  574. package/src/stories/controls/color.ts +0 -7
  575. package/src/stories/controls/element.ts +0 -6
  576. package/src/stories/controls/focusPoint.ts +0 -1
  577. package/src/stories/controls/icons.ts +0 -126
  578. package/src/stories/controls/image.ts +0 -84
  579. package/src/stories/controls/selectArgType.ts +0 -8
  580. package/src/stories/controls/theme.ts +0 -3
  581. package/src/stories/controls/typography.ts +0 -5
  582. package/src/stories/controls/withUndefined.ts +0 -1
  583. package/src/stories/decorators/withChromaticForceScreenSize.tsx +0 -8
  584. package/src/stories/decorators/withCombinations.tsx +0 -132
  585. package/src/stories/decorators/withNestedProps.tsx +0 -23
  586. package/src/stories/decorators/withResizableBox.tsx +0 -21
  587. package/src/stories/decorators/withThemedBackground.tsx +0 -18
  588. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  589. package/src/stories/decorators/withWrapper.tsx +0 -21
  590. package/src/stories/generated/Autocomplete/Demos.stories.tsx +0 -7
  591. package/src/stories/generated/Avatar/Demos.stories.tsx +0 -7
  592. package/src/stories/generated/Badge/Demos.stories.tsx +0 -9
  593. package/src/stories/generated/Button/Demos.stories.tsx +0 -11
  594. package/src/stories/generated/Checkbox/Demos.stories.tsx +0 -6
  595. package/src/stories/generated/Chip/Demos.stories.tsx +0 -11
  596. package/src/stories/generated/CommentBlock/Demos.stories.tsx +0 -8
  597. package/src/stories/generated/DatePicker/Demos.stories.tsx +0 -8
  598. package/src/stories/generated/Dialog/Demos.stories.tsx +0 -10
  599. package/src/stories/generated/Divider/Demos.stories.tsx +0 -6
  600. package/src/stories/generated/Dropdown/Demos.stories.tsx +0 -8
  601. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +0 -9
  602. package/src/stories/generated/Flag/Demos.stories.tsx +0 -6
  603. package/src/stories/generated/GenericBlock/Demos.stories.tsx +0 -8
  604. package/src/stories/generated/Heading/Demos.stories.tsx +0 -6
  605. package/src/stories/generated/Icon/Demos.stories.tsx +0 -8
  606. package/src/stories/generated/ImageBlock/Demos.stories.tsx +0 -9
  607. package/src/stories/generated/ImageLightbox/Demos.stories.tsx +0 -6
  608. package/src/stories/generated/Lightbox/Demos.stories.tsx +0 -6
  609. package/src/stories/generated/LinkPreview/Demos.stories.tsx +0 -7
  610. package/src/stories/generated/List/Demos.stories.tsx +0 -11
  611. package/src/stories/generated/Message/Demos.stories.tsx +0 -11
  612. package/src/stories/generated/Mosaic/Demos.stories.tsx +0 -10
  613. package/src/stories/generated/Notification/Demos.stories.tsx +0 -6
  614. package/src/stories/generated/Popover/Demos.stories.tsx +0 -11
  615. package/src/stories/generated/PopoverDialog/Demos.stories.tsx +0 -6
  616. package/src/stories/generated/PostBlock/Demos.stories.tsx +0 -6
  617. package/src/stories/generated/Progress/Demos.stories.tsx +0 -7
  618. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +0 -9
  619. package/src/stories/generated/RadioButton/Demos.stories.tsx +0 -6
  620. package/src/stories/generated/Select/Demos.stories.tsx +0 -14
  621. package/src/stories/generated/SideNavigation/Demos.stories.tsx +0 -10
  622. package/src/stories/generated/Skeleton/Demos.stories.tsx +0 -9
  623. package/src/stories/generated/Slider/Demos.stories.tsx +0 -9
  624. package/src/stories/generated/Slideshow/Demos.stories.tsx +0 -8
  625. package/src/stories/generated/Switch/Demos.stories.tsx +0 -6
  626. package/src/stories/generated/Table/Demos.stories.tsx +0 -7
  627. package/src/stories/generated/Tabs/Demos.stories.tsx +0 -8
  628. package/src/stories/generated/TextField/Demos.stories.tsx +0 -20
  629. package/src/stories/generated/Thumbnail/Demos.stories.tsx +0 -12
  630. package/src/stories/generated/Toolbar/Demos.stories.tsx +0 -10
  631. package/src/stories/generated/Tooltip/Demos.stories.tsx +0 -8
  632. package/src/stories/generated/Uploader/Demos.stories.tsx +0 -8
  633. package/src/stories/generated/UserBlock/Demos.stories.tsx +0 -11
  634. package/src/stories/utils/CustomLink.tsx +0 -13
  635. package/src/stories/utils/concatPath.tsx +0 -17
  636. package/src/stories/utils/disableArgTypes.ts +0 -3
  637. package/src/stories/utils/initDemoShadowDOMPortal.ts +0 -10
  638. package/src/stories/utils/lorem.ts +0 -59
  639. package/src/stories/utils/theming.tsx +0 -166
  640. package/src/stories/utils/toFlattenProps.ts +0 -28
  641. package/src/stories/utils/withCategory.ts +0 -12
  642. package/src/testing/utils/ThemeSentinel.tsx +0 -11
  643. package/src/testing/utils/commonTestsSuiteRTL.tsx +0 -193
  644. package/src/testing/utils/index.ts +0 -1
  645. package/src/testing/utils/queries.ts +0 -19
  646. package/src/untypped-modules.d.ts +0 -5
  647. package/src/utils/ClickAwayProvider/ClickAwayProvider.stories.jsx +0 -70
  648. package/src/utils/ClickAwayProvider/ClickAwayProvider.tsx +0 -69
  649. package/src/utils/ClickAwayProvider/index.ts +0 -1
  650. package/src/utils/MaterialThemeSwitcher/MaterialThemeSwitcher.tsx +0 -54
  651. package/src/utils/MaterialThemeSwitcher/index.ts +0 -1
  652. package/src/utils/Portal/Portal.test.tsx +0 -32
  653. package/src/utils/Portal/Portal.tsx +0 -33
  654. package/src/utils/Portal/PortalProvider.stories.jsx +0 -23
  655. package/src/utils/Portal/PortalProvider.test.tsx +0 -73
  656. package/src/utils/Portal/PortalProvider.tsx +0 -24
  657. package/src/utils/Portal/index.tsx +0 -2
  658. package/src/utils/browser/DOM/findImage.tsx +0 -3
  659. package/src/utils/browser/DOM/startViewTransition.ts +0 -68
  660. package/src/utils/browser/focus/constants.ts +0 -7
  661. package/src/utils/browser/focus/getFirstAndLastFocusable.test.ts +0 -134
  662. package/src/utils/browser/focus/getFirstAndLastFocusable.ts +0 -21
  663. package/src/utils/browser/focus/getFocusableElements.test.ts +0 -151
  664. package/src/utils/browser/focus/getFocusableElements.ts +0 -7
  665. package/src/utils/browser/isFocusVisible.ts +0 -9
  666. package/src/utils/browser/isHoverNotSupported.test.js +0 -24
  667. package/src/utils/browser/isHoverNotSupported.ts +0 -2
  668. package/src/utils/browser/isReducedMotion.ts +0 -6
  669. package/src/utils/date/addMonthResetDay.test.ts +0 -13
  670. package/src/utils/date/addMonthResetDay.ts +0 -9
  671. package/src/utils/date/formatDayNumber.test.ts +0 -12
  672. package/src/utils/date/formatDayNumber.ts +0 -5
  673. package/src/utils/date/getFirstDayOfWeek.test.ts +0 -20
  674. package/src/utils/date/getFirstDayOfWeek.ts +0 -59
  675. package/src/utils/date/getMonthCalendar.test.ts +0 -127
  676. package/src/utils/date/getMonthCalendar.ts +0 -69
  677. package/src/utils/date/getWeekDays.test.ts +0 -48
  678. package/src/utils/date/getWeekDays.ts +0 -34
  679. package/src/utils/date/getYearDisplayName.test.ts +0 -20
  680. package/src/utils/date/getYearDisplayName.ts +0 -12
  681. package/src/utils/date/isDateValid.test.ts +0 -15
  682. package/src/utils/date/isDateValid.ts +0 -4
  683. package/src/utils/date/isSameDay.test.ts +0 -37
  684. package/src/utils/date/isSameDay.ts +0 -11
  685. package/src/utils/disabled/DisabledStateContext.tsx +0 -29
  686. package/src/utils/disabled/DisabledStateProvider.stories.tsx +0 -94
  687. package/src/utils/disabled/index.ts +0 -2
  688. package/src/utils/disabled/useDisableStateProps.test.tsx +0 -74
  689. package/src/utils/disabled/useDisableStateProps.tsx +0 -37
  690. package/src/utils/function/makeListenerTowerContext.ts +0 -32
  691. package/src/utils/index.ts +0 -7
  692. package/src/utils/locale/getCurrentLocale.ts +0 -4
  693. package/src/utils/locale/parseLocale.test.ts +0 -17
  694. package/src/utils/locale/parseLocale.ts +0 -23
  695. package/src/utils/locale/types.ts +0 -8
  696. package/src/utils/number/clamp.ts +0 -17
  697. package/src/utils/object/isEqual.test.ts +0 -25
  698. package/src/utils/object/isEqual.ts +0 -11
  699. package/src/utils/partitionMulti.test.ts +0 -27
  700. package/src/utils/react/OnBeforeUnmount.tsx +0 -20
  701. package/src/utils/react/flattenChildren.ts +0 -32
  702. package/src/utils/react/forwardRef.ts +0 -11
  703. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  704. package/src/utils/react/mergeRefs.ts +0 -33
  705. package/src/utils/react/renderButtonOrLink.tsx +0 -16
  706. package/src/utils/react/renderLink.tsx +0 -17
  707. package/src/utils/react/skipRender.tsx +0 -18
  708. package/src/utils/react/unref.ts +0 -7
  709. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  710. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  711. package/src/utils/theme/ThemeContext.ts +0 -16
  712. package/src/utils/theme/invertTheme.ts +0 -4
  713. package/src/utils/type/Comp.ts +0 -14
  714. package/src/utils/type/ComponentRef.ts +0 -16
  715. package/src/utils/type/HasAriaDisabled.ts +0 -6
  716. package/src/utils/type/HasPolymorphicAs.ts +0 -8
  717. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  718. package/src/utils/type/index.ts +0 -8
  719. package/src/utils/type/isComponent.ts +0 -33
  720. package/src/utils/type/isComponentType.ts +0 -9
  721. /package/_internal/{Falsy.d.ts → d95844c1.d.ts} +0 -0
@@ -1,94 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- import { Alignment, Theme } from '@lumx/react';
6
- import { CSS_PREFIX } from '@lumx/react/constants';
7
- import { GenericProps, HasTheme } from '@lumx/react/utils/type';
8
- import { handleBasicClasses } from '@lumx/core/js/utils/className';
9
- import { mergeRefs } from '@lumx/react/utils/react/mergeRefs';
10
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
11
- import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
12
-
13
- import { useRovingTabIndex } from '../../hooks/useRovingTabIndex';
14
-
15
- export enum TabListLayout {
16
- clustered = 'clustered',
17
- fixed = 'fixed',
18
- }
19
-
20
- /**
21
- * Defines the props of the component.
22
- */
23
- export interface TabListProps extends GenericProps, HasTheme {
24
- /** ARIA label (purpose of the set of tabs). */
25
- ['aria-label']: string;
26
- /** Tab list. */
27
- children: ReactNode;
28
- /** Layout of the tabs in the list. */
29
- layout?: TabListLayout;
30
- /** Position of the tabs in the list (requires 'clustered' layout). */
31
- position?: Alignment;
32
- }
33
-
34
- /**
35
- * Component display name.
36
- */
37
- const COMPONENT_NAME = 'TabList';
38
-
39
- /**
40
- * Component default class name and class prefix.
41
- */
42
- const CLASSNAME = `${CSS_PREFIX}-tabs`;
43
-
44
- /**
45
- * Component default props.
46
- */
47
- const DEFAULT_PROPS: Partial<TabListProps> = {
48
- layout: TabListLayout.fixed,
49
- position: Alignment.left,
50
- };
51
-
52
- /**
53
- * TabList component.
54
- *
55
- * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
56
- *
57
- * @param props Component props.
58
- * @param ref Component ref.
59
- * @return React element.
60
- */
61
- export const TabList = forwardRef<TabListProps, HTMLDivElement>((props, ref) => {
62
- const defaultTheme = useTheme() || Theme.light;
63
- const {
64
- 'aria-label': ariaLabel,
65
- children,
66
- className,
67
- layout = DEFAULT_PROPS.layout,
68
- position = DEFAULT_PROPS.position,
69
- theme = defaultTheme,
70
- ...forwardedProps
71
- } = props;
72
- const tabListRef = React.useRef(null);
73
- useRovingTabIndex({
74
- parentRef: tabListRef,
75
- elementSelector: '[role="tab"]',
76
- keepTabIndex: false,
77
- extraDependencies: [children],
78
- });
79
-
80
- return (
81
- <div
82
- ref={mergeRefs(ref, tabListRef)}
83
- {...forwardedProps}
84
- className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, layout, position, theme }))}
85
- >
86
- <div className={`${CLASSNAME}__links`} role="tablist" aria-label={ariaLabel}>
87
- {children}
88
- </div>
89
- </div>
90
- );
91
- });
92
- TabList.displayName = COMPONENT_NAME;
93
- TabList.className = CLASSNAME;
94
- TabList.defaultProps = DEFAULT_PROPS;
@@ -1,39 +0,0 @@
1
- import React from 'react';
2
-
3
- import { commonTestsSuiteRTL } from '@lumx/react/testing/utils';
4
- import { getByClassName } from '@lumx/react/testing/utils/queries';
5
- import { render, screen } from '@testing-library/react';
6
-
7
- import { TabPanel, TabPanelProps } from './TabPanel';
8
-
9
- const CLASSNAME = TabPanel.className as string;
10
-
11
- type SetupProps = Partial<TabPanelProps>;
12
-
13
- /**
14
- * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
15
- */
16
- const setup = (propsOverride: SetupProps = {}) => {
17
- const props: TabPanelProps = { ...propsOverride, children: 'Tab panel content' };
18
-
19
- render(<TabPanel {...props} />);
20
- const tabPanel = getByClassName(document.body, CLASSNAME);
21
-
22
- return { props, tabPanel };
23
- };
24
-
25
- describe(`<${TabPanel.displayName}>`, () => {
26
- it('should render default', () => {
27
- const content = 'Content';
28
- const { tabPanel } = setup({ children: content });
29
- expect(tabPanel).toBe(screen.queryByRole('tabpanel'));
30
- });
31
-
32
- // Common tests suite.
33
- commonTestsSuiteRTL(setup, {
34
- baseClassName: CLASSNAME,
35
- forwardClassName: 'tabPanel',
36
- forwardAttributes: 'tabPanel',
37
- forwardRef: 'tabPanel',
38
- });
39
- });
@@ -1,69 +0,0 @@
1
- import React from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
6
- import { useTabProviderContext } from '@lumx/react/components/tabs/state';
7
- import { CSS_PREFIX } from '@lumx/react/constants';
8
- import { GenericProps } from '@lumx/react/utils/type';
9
- import { handleBasicClasses } from '@lumx/core/js/utils/className';
10
-
11
- /**
12
- * Defines the props of the component.
13
- */
14
- export interface TabPanelProps extends GenericProps {
15
- /** Native id property */
16
- id?: string;
17
- /** Whether the tab is active or not. */
18
- isActive?: boolean;
19
- /** Children */
20
- children?: React.ReactNode;
21
- }
22
-
23
- /**
24
- * Component display name.
25
- */
26
- const COMPONENT_NAME = 'TabPanel';
27
-
28
- /**
29
- * Component default class name and class prefix.
30
- */
31
- const CLASSNAME = `${CSS_PREFIX}-tab-panel`;
32
-
33
- /**
34
- * Component default props.
35
- */
36
- const DEFAULT_PROPS: Partial<TabPanelProps> = {};
37
-
38
- /**
39
- * TabPanel component.
40
- *
41
- * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
42
- *
43
- * @param props Component props.
44
- * @param ref Component ref.
45
- * @return React element.
46
- */
47
- export const TabPanel = forwardRef<TabPanelProps, HTMLDivElement>((props, ref) => {
48
- const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;
49
-
50
- const state = useTabProviderContext('tabPanel', id);
51
- const isActive = propIsActive || state?.isActive;
52
-
53
- return (
54
- <div
55
- ref={ref}
56
- {...forwardedProps}
57
- id={state?.tabPanelId}
58
- className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}
59
- role="tabpanel"
60
- tabIndex={isActive ? 0 : -1}
61
- aria-labelledby={state?.tabId}
62
- >
63
- {(!state?.isLazy || isActive) && children}
64
- </div>
65
- );
66
- });
67
- TabPanel.displayName = COMPONENT_NAME;
68
- TabPanel.className = CLASSNAME;
69
- TabPanel.defaultProps = DEFAULT_PROPS;
@@ -1,163 +0,0 @@
1
- import React from 'react';
2
-
3
- import { Tab, TabList, TabPanel, TabProvider, TabProviderProps } from '@lumx/react';
4
- import { render } from '@testing-library/react';
5
- import userEvent from '@testing-library/user-event';
6
- import { checkTabActive, query } from '@lumx/react/components/tabs/test-utils';
7
-
8
- const setup = (props: Partial<TabProviderProps> = {}) => {
9
- render(
10
- <TabProvider {...props}>
11
- <TabList aria-label="Tab list">
12
- <Tab label="Tab 1" />
13
- <Tab label="Tab 2" isDisabled />
14
- <Tab label="Tab 3" />
15
- </TabList>
16
-
17
- <TabPanel>Tab 1 content</TabPanel>
18
- <TabPanel>Tab 2 content</TabPanel>
19
- <TabPanel>Tab 3 content</TabPanel>
20
- </TabProvider>,
21
- );
22
- };
23
-
24
- describe('TabProvider', () => {
25
- describe('default config', () => {
26
- it('should render with accessible DOM', () => {
27
- setup();
28
-
29
- // Tab list
30
- const tabList = query.tabList('Tab list');
31
- expect(tabList).toBeInTheDocument();
32
- expect(query.tabs(tabList).length).toBe(3);
33
-
34
- // Tab 1
35
- const tab1 = query.tab('Tab 1', tabList);
36
- expect(tab1).toBeInTheDocument();
37
-
38
- // Tab 2
39
- const tab2 = query.tab('Tab 2', tabList);
40
- expect(tab2).toBeInTheDocument();
41
-
42
- // Tab 3
43
- const tab3 = query.tab('Tab 3', tabList);
44
- expect(tab3).toBeInTheDocument();
45
-
46
- // Tab panel 1
47
- const tabPanel1 = query.tabPanel('Tab 1');
48
- expect(tabPanel1).toBeInTheDocument();
49
- expect(tab1).toHaveAttribute('aria-controls', tabPanel1?.id);
50
-
51
- // Tab panel 2
52
- const tabPanel2 = query.tabPanel('Tab 2');
53
- expect(tabPanel2).toBeInTheDocument();
54
- expect(tab2).toHaveAttribute('aria-controls', tabPanel2?.id);
55
-
56
- // Tab panel 3
57
- const tabPanel3 = query.tabPanel('Tab 3');
58
- expect(tabPanel3).toBeInTheDocument();
59
- expect(tab3).toHaveAttribute('aria-controls', tabPanel3?.id);
60
-
61
- // First tab is active
62
- checkTabActive('Tab 1');
63
- });
64
-
65
- it('should switch tab on click', async () => {
66
- setup();
67
-
68
- checkTabActive('Tab 1');
69
-
70
- // Click on second tab (that is disabled) should do nothing
71
- await userEvent.click(query.tab('Tab 2'));
72
- checkTabActive('Tab 1');
73
-
74
- // Click on third tab should work
75
- await userEvent.click(query.tab('Tab 3'));
76
- checkTabActive('Tab 3');
77
- });
78
-
79
- it('should be navigable with keyboard', async () => {
80
- setup();
81
-
82
- checkTabActive('Tab 1');
83
-
84
- // First tab stop on active tab (tab1)
85
- await userEvent.tab();
86
- expect(query.tab('Tab 1')).toHaveFocus();
87
-
88
- // Second tab stop on active tab panel (tabPanel1)
89
- await userEvent.tab();
90
- expect(query.tabPanel('Tab 1')).toHaveFocus();
91
-
92
- // Go back to tab1
93
- await userEvent.tab({ shift: true });
94
- expect(query.tab('Tab 1')).toHaveFocus();
95
-
96
- // Navigate with ArrowRight to go to the next tab (tab2)
97
- await userEvent.keyboard('[ArrowRight]');
98
- expect(query.tab('Tab 2')).toHaveFocus();
99
-
100
- // Activate tab with Enter should not work on disabled tab
101
- await userEvent.keyboard('{Enter}');
102
- expect(query.tab('Tab 2')).toHaveFocus();
103
- checkTabActive('Tab 1');
104
-
105
- // Navigate with ArrowRight to go to the next tab (tab3)
106
- await userEvent.keyboard('[ArrowRight]');
107
- expect(query.tab('Tab 3')).toHaveFocus();
108
-
109
- // Activate tab with Enter
110
- await userEvent.keyboard('{Enter}');
111
- expect(query.tab('Tab 3')).toHaveFocus();
112
- checkTabActive('Tab 3');
113
-
114
- // Focus next should go to active tab panel (tabPanel3)
115
- await userEvent.tab();
116
- expect(query.tabPanel('Tab 3')).toHaveFocus();
117
-
118
- // Go back to tab3
119
- await userEvent.tab({ shift: true });
120
- expect(query.tab('Tab 3')).toHaveFocus();
121
-
122
- // Navigate with ArrowRight to loop back to the first tab (tab1)
123
- await userEvent.keyboard('[ArrowRight]');
124
- expect(query.tab('Tab 1')).toHaveFocus();
125
-
126
- // Navigate with ArrowLeft to loop back to the last tab (tab3)
127
- await userEvent.keyboard('[ArrowLeft]');
128
- expect(query.tab('Tab 3')).toHaveFocus();
129
-
130
- checkTabActive('Tab 3');
131
- });
132
- });
133
-
134
- describe('not lazy', () => {
135
- it('should render tab panel everytime', () => {
136
- setup({ isLazy: false });
137
- // Check the first tab is active and all panel are loaded
138
- checkTabActive('Tab 1', { isLazy: false });
139
- });
140
- });
141
-
142
- describe('activate on focus', () => {
143
- it('should activate tab on focus', async () => {
144
- setup({ shouldActivateOnFocus: true });
145
-
146
- checkTabActive('Tab 1');
147
-
148
- await userEvent.tab();
149
- expect(query.tab('Tab 1')).toHaveFocus();
150
- checkTabActive('Tab 1');
151
-
152
- await userEvent.keyboard('[ArrowRight]');
153
- expect(query.tab('Tab 2')).toHaveFocus();
154
- // Active tab not changed since tab 2 is disabled
155
- checkTabActive('Tab 1');
156
-
157
- await userEvent.keyboard('[ArrowRight]');
158
- expect(query.tab('Tab 3')).toHaveFocus();
159
- // Active tab changed to tab 3
160
- checkTabActive('Tab 3');
161
- });
162
- });
163
- });
@@ -1,67 +0,0 @@
1
- import ReactDOM from 'react-dom';
2
- import React, { ReactNode, useEffect, useReducer } from 'react';
3
- import { INIT_STATE, TabProviderContext, reducer } from './state';
4
-
5
- export interface TabProviderProps {
6
- /** Active tab index. */
7
- activeTabIndex?: number;
8
- /** Tab provider children. */
9
- children: ReactNode;
10
- /** Tab panel children should not render if the tab panel is hidden. */
11
- isLazy?: boolean;
12
- /** Activate tabs on focus. */
13
- shouldActivateOnFocus?: boolean;
14
-
15
- /** Tab change callback. */
16
- onChange?(index: number): void;
17
- }
18
-
19
- const DEFAULT_PROPS: Partial<TabProviderProps> = {
20
- isLazy: INIT_STATE.isLazy,
21
- shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,
22
- };
23
-
24
- /**
25
- * This component provides a context in which tabs can be defined and linked to their tab panel.
26
- *
27
- * It does not produce any markup so you can wrap it around any React elements and then split the TabList and TabPanel
28
- * components in the react tree.
29
- *
30
- * @param props React component props.
31
- * @return React element.
32
- */
33
- export const TabProvider: React.FC<TabProviderProps> = (props) => {
34
- const { children, onChange, ...propState } = props;
35
- const [state, dispatch] = useReducer(reducer, INIT_STATE);
36
-
37
- // On prop state change => dispatch update.
38
- useEffect(
39
- () => {
40
- dispatch({ type: 'update', payload: { ...DEFAULT_PROPS, ...propState } });
41
- },
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
- [dispatch, ...Object.values(propState)],
44
- );
45
-
46
- // On active tab index state change => send update to the onChange.
47
- useEffect(
48
- () => {
49
- if (state === INIT_STATE || !onChange || propState.activeTabIndex === state.activeTabIndex) {
50
- return;
51
- }
52
-
53
- // Escape rendering/useEffect context
54
- queueMicrotask(() => {
55
- // Wait for React to commit last state changes (avoid looping state update)
56
- ReactDOM.flushSync(() => {
57
- onChange(state.activeTabIndex);
58
- });
59
- });
60
- },
61
- // eslint-disable-next-line react-hooks/exhaustive-deps
62
- [onChange, state.activeTabIndex],
63
- );
64
-
65
- return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;
66
- };
67
- TabProvider.defaultProps = DEFAULT_PROPS;
@@ -1,170 +0,0 @@
1
- /* eslint-disable react-hooks/rules-of-hooks */
2
-
3
- import { Alignment, Button, Dialog, Tab, TabList, TabListLayout, TabPanel, TabProvider } from '@lumx/react';
4
- import { iconArgType } from '@lumx/react/stories/controls/icons';
5
- import { getSelectArgType } from '@lumx/react/stories/controls/selectArgType';
6
- import { withNestedProps } from '@lumx/react/stories/decorators/withNestedProps';
7
- import { toFlattenProps } from '@lumx/react/stories/utils/toFlattenProps';
8
- import { withCategory } from '@lumx/react/stories/utils/withCategory';
9
- import get from 'lodash/get';
10
- import times from 'lodash/times';
11
- import React, { useState } from 'react';
12
-
13
- export default {
14
- title: 'LumX components/tabs',
15
- decorators: [withNestedProps()],
16
- parameters: { controls: { sort: 'alpha' } },
17
- };
18
-
19
- /** Default tab behavior with some controllable args */
20
- export const Default = {
21
- render: ({ tabProviderProps, tabListProps, tabProps }: any) => (
22
- <TabProvider {...tabProviderProps}>
23
- <TabList aria-label="Tab list" {...tabListProps}>
24
- <Tab {...tabProps[0]} />
25
- <Tab {...tabProps[1]} />
26
- <Tab {...tabProps[2]} />
27
- </TabList>
28
- <TabPanel className="lumx-spacing-padding-huge">{tabProps[0].label} content</TabPanel>
29
- <TabPanel className="lumx-spacing-padding-huge">{tabProps[1].label} content</TabPanel>
30
- <TabPanel className="lumx-spacing-padding-huge">{tabProps[2].label} content</TabPanel>
31
- </TabProvider>
32
- ),
33
- args: toFlattenProps({
34
- tabProps: [
35
- { label: 'Tab 1' },
36
- {
37
- label: 'Tab 2',
38
- isDisabled: true,
39
- },
40
- { label: 'Tab 3' },
41
- ],
42
- }),
43
- argTypes: toFlattenProps({
44
- tabProviderProps: withCategory('Tab Provider', {
45
- isLazy: { control: 'boolean' },
46
- shouldActivateOnFocus: { control: 'boolean' },
47
- }),
48
- tabListProps: withCategory('Tab List', {
49
- layout: getSelectArgType(TabListLayout),
50
- position: getSelectArgType([Alignment.left, Alignment.center, Alignment.right]),
51
- }),
52
- tabProps: times(3, (index) =>
53
- withCategory(`Tab ${index + 1}`, {
54
- label: { control: 'text' },
55
- icon: iconArgType,
56
- isDisabled: { control: 'boolean' },
57
- }),
58
- ),
59
- }),
60
- };
61
-
62
- /* Control active tab externally (with activate tab on focus). */
63
- export const Controlled = {
64
- render() {
65
- const [activeTab, setActiveTab] = useState(1);
66
- const changeActiveTabIndex = (evt: any) => setActiveTab(parseInt(get(evt, 'target.value', '0'), 10));
67
-
68
- const [isLazy, setIsLazy] = useState(true);
69
- const changeIsLazy = (evt: any) => setIsLazy(get(evt, 'target.checked'));
70
-
71
- const [shouldActivateOnFocus, setShouldActivateOnFocus] = useState(true);
72
- const changeShouldActivateOnFocus = (evt: any) => setShouldActivateOnFocus(get(evt, 'target.checked'));
73
-
74
- return (
75
- <>
76
- <div>
77
- Active tab index:
78
- <input type="number" min={0} max={2} value={activeTab} onChange={changeActiveTabIndex} />
79
- </div>
80
-
81
- <div>
82
- Lazy render tab panel content:
83
- <input type="checkbox" checked={isLazy} onChange={changeIsLazy} />
84
- </div>
85
-
86
- <div>
87
- Activate tab on focus:
88
- <input type="checkbox" checked={shouldActivateOnFocus} onChange={changeShouldActivateOnFocus} />
89
- </div>
90
- <TabProvider
91
- activeTabIndex={activeTab}
92
- onChange={setActiveTab}
93
- isLazy={isLazy}
94
- shouldActivateOnFocus={shouldActivateOnFocus}
95
- >
96
- <TabList aria-label="Tab list">
97
- <Tab label="Tab a" />
98
- <Tab label="Tab b" />
99
- <Tab label="Tab c" />
100
- </TabList>
101
-
102
- <TabPanel className="lumx-spacing-padding-huge">Tab a content</TabPanel>
103
- <TabPanel className="lumx-spacing-padding-huge">Tab b content</TabPanel>
104
- <TabPanel className="lumx-spacing-padding-huge">Tab c content</TabPanel>
105
- </TabProvider>
106
- </>
107
- );
108
- },
109
- chromatic: { disable: true },
110
- };
111
-
112
- /* Display tabs far from their tab panels. */
113
- export const SplitTabListAndTabPanels = {
114
- render() {
115
- const [isOpen, setOpen] = useState(true);
116
- const [activeTabIndex, onChange] = useState(1);
117
-
118
- return (
119
- <TabProvider activeTabIndex={activeTabIndex} onChange={onChange} isLazy={false}>
120
- <Button
121
- onClick={() => {
122
- setOpen(!isOpen);
123
- onChange(1);
124
- }}
125
- >
126
- Open dialog with tabs in footer
127
- </Button>
128
- <Dialog isOpen={isOpen} forceFooterDivider onClose={() => setOpen(false)}>
129
- <TabPanel className="lumx-spacing-padding-huge">Tab 1 content</TabPanel>
130
- <TabPanel className="lumx-spacing-padding-huge">Tab 2 content</TabPanel>
131
- <TabPanel className="lumx-spacing-padding-huge">Tab 3 content</TabPanel>
132
-
133
- <footer>
134
- <TabList aria-label="Tab list">
135
- <Tab label="Tab 1" />
136
- <Tab label="Tab 2" />
137
- <Tab label="Tab 3" />
138
- </TabList>
139
- </footer>
140
- </Dialog>
141
- </TabProvider>
142
- );
143
- },
144
- chromatic: { disable: true },
145
- };
146
-
147
- /* Dynamically generate tabs. */
148
- export const DynamicTabs = {
149
- render({ tabCount }: any) {
150
- return (
151
- <TabProvider>
152
- <TabList aria-label="Tab list">
153
- {times(tabCount, (tabNumber) => (
154
- <Tab key={tabNumber} label={`Tab ${tabNumber}`} />
155
- ))}
156
- </TabList>
157
-
158
- {times(tabCount, (tabNumber) => (
159
- <TabPanel key={tabNumber} className="lumx-spacing-padding-huge">
160
- Tab {tabNumber} content
161
- </TabPanel>
162
- ))}
163
- </TabProvider>
164
- );
165
- },
166
- args: {
167
- tabCount: 3,
168
- },
169
- chromatic: { disable: true },
170
- };
@@ -1,4 +0,0 @@
1
- export * from './TabProvider';
2
- export * from './TabList';
3
- export * from './Tab';
4
- export * from './TabPanel';