@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,157 +0,0 @@
1
- import React, { ReactNode, Ref, SyntheticEvent, useMemo } from 'react';
2
-
3
- import classNames from 'classnames';
4
- import isEmpty from 'lodash/isEmpty';
5
-
6
- import { ListProps, Size } from '@lumx/react';
7
- import { GenericProps } from '@lumx/react/utils/type';
8
- import { onEnterPressed, onButtonPressed } from '@lumx/core/js/utils';
9
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
10
- import { renderLink } from '@lumx/react/utils/react/renderLink';
11
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
12
- import { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';
13
- import { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';
14
-
15
- export type ListItemSize = Extract<Size, 'tiny' | 'regular' | 'big' | 'huge'>;
16
-
17
- /**
18
- * Defines the props of the component.
19
- */
20
- export interface ListItemProps extends GenericProps, HasAriaDisabled {
21
- /** A component to be rendered after the content. */
22
- after?: ReactNode;
23
- /** A component to be rendered before the content. */
24
- before?: ReactNode;
25
- /** Content. */
26
- children: string | ReactNode;
27
- /** Whether the list item should be highlighted or not. */
28
- isHighlighted?: boolean;
29
- /** Whether the component is selected or not. */
30
- isSelected?: boolean;
31
- /** Whether link/button is disabled or not. */
32
- isDisabled?: boolean;
33
- /** Reference to the <li> element. */
34
- listItemRef?: Ref<HTMLLIElement>;
35
- /** Custom react component for the link (can be used to inject react router Link). */
36
- linkAs?: 'a' | any;
37
- /** Props that will be passed on to the Link */
38
- linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
39
- /** Reference to the link element. */
40
- linkRef?: Ref<HTMLAnchorElement>;
41
- /** Size variant. */
42
- size?: ListItemSize;
43
-
44
- /** On selected callback. */
45
- onItemSelected?(evt: SyntheticEvent): void;
46
- }
47
-
48
- /**
49
- * Component display name.
50
- */
51
- const COMPONENT_NAME = 'ListItem';
52
-
53
- /**
54
- * Component default class name and class prefix.
55
- */
56
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
57
-
58
- /**
59
- * Component default props.
60
- */
61
- const DEFAULT_PROPS: Partial<ListProps> = {
62
- size: Size.regular,
63
- };
64
-
65
- /**
66
- * Check if the list item is clickable.
67
- * @return `true` if the list item is clickable; `false` otherwise.
68
- */
69
- export function isClickable({ linkProps, onItemSelected }: Partial<ListItemProps>): boolean {
70
- return !isEmpty(linkProps?.href) || !!onItemSelected;
71
- }
72
-
73
- /**
74
- * ListItem component.
75
- *
76
- * @param props Component props.
77
- * @param ref Component ref.
78
- * @return React element.
79
- */
80
- export const ListItem = forwardRef<ListItemProps, HTMLLIElement>((props, ref) => {
81
- const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);
82
- const {
83
- after,
84
- before,
85
- children,
86
- className,
87
- isHighlighted,
88
- isSelected,
89
- linkAs,
90
- linkProps = {},
91
- linkRef,
92
- onItemSelected,
93
- size = DEFAULT_PROPS.size,
94
- ...forwardedProps
95
- } = otherProps;
96
-
97
- const role = linkAs || linkProps.href ? 'link' : 'button';
98
- const onKeyDown = useMemo(() => {
99
- if (onItemSelected && role === 'link') return onEnterPressed(onItemSelected as any);
100
- if (onItemSelected && role === 'button') return onButtonPressed(onItemSelected as any);
101
- return undefined;
102
- }, [role, onItemSelected]);
103
-
104
- const content = (
105
- <>
106
- {before && <div className={`${CLASSNAME}__before`}>{before}</div>}
107
- <div className={`${CLASSNAME}__content`}>{children}</div>
108
- {after && <div className={`${CLASSNAME}__after`}>{after}</div>}
109
- </>
110
- );
111
-
112
- return (
113
- <li
114
- ref={ref}
115
- {...forwardedProps}
116
- className={classNames(
117
- className,
118
- handleBasicClasses({
119
- prefix: CLASSNAME,
120
- size,
121
- }),
122
- )}
123
- >
124
- {isClickable({ linkProps, onItemSelected }) ? (
125
- /* Clickable list item */
126
- renderLink(
127
- {
128
- linkAs,
129
- tabIndex: !disabledStateProps.disabled ? 0 : undefined,
130
- role,
131
- 'aria-disabled': isAnyDisabled,
132
- ...linkProps,
133
- href: isAnyDisabled ? undefined : linkProps.href,
134
- className: classNames(
135
- handleBasicClasses({
136
- prefix: `${CLASSNAME}__link`,
137
- isHighlighted,
138
- isSelected,
139
- isDisabled: isAnyDisabled,
140
- }),
141
- ),
142
- onClick: isAnyDisabled ? undefined : onItemSelected,
143
- onKeyDown: isAnyDisabled ? undefined : onKeyDown,
144
- ref: linkRef,
145
- },
146
- content,
147
- )
148
- ) : (
149
- /* Non clickable list item */
150
- <div className={`${CLASSNAME}__wrapper`}>{content}</div>
151
- )}
152
- </li>
153
- );
154
- });
155
- ListItem.displayName = COMPONENT_NAME;
156
- ListItem.className = CLASSNAME;
157
- ListItem.defaultProps = DEFAULT_PROPS;
@@ -1,11 +0,0 @@
1
- import { ListSubheader } from '@lumx/react';
2
-
3
- export default {
4
- title: 'LumX components/list/ListSubheader',
5
- component: ListSubheader,
6
- args: ListSubheader.defaultProps,
7
- };
8
-
9
- export const Default = {
10
- args: { children: 'List subheader text' },
11
- };
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
-
3
- import { commonTestsSuiteRTL } from '@lumx/react/testing/utils';
4
- import { render } from '@testing-library/react';
5
- import { queryByClassName } from '@lumx/react/testing/utils/queries';
6
- import { ListSubheader, ListSubheaderProps } from './ListSubheader';
7
-
8
- const CLASSNAME = ListSubheader.className as string;
9
-
10
- const setup = (props: Partial<ListSubheaderProps> = {}) => {
11
- render(<ListSubheader {...(props as any)} />);
12
- const listSubheader = queryByClassName(document.body, CLASSNAME);
13
- return { props, listSubheader };
14
- };
15
-
16
- describe(`<${ListSubheader.displayName}>`, () => {
17
- // Common tests suite.
18
- commonTestsSuiteRTL(setup, {
19
- baseClassName: CLASSNAME,
20
- forwardClassName: 'listSubheader',
21
- forwardAttributes: 'listSubheader',
22
- });
23
- });
@@ -1,44 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- import { GenericProps } from '@lumx/react/utils/type';
6
- import { getRootClassName } from '@lumx/core/js/utils/className';
7
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
8
-
9
- /**
10
- * Defines the props of the component.
11
- */
12
- export interface ListSubheaderProps extends GenericProps {
13
- /** Content. */
14
- children: string | ReactNode;
15
- }
16
-
17
- /**
18
- * Component display name.
19
- */
20
- const COMPONENT_NAME = 'ListSubheader';
21
-
22
- /**
23
- * Component default class name and class prefix.
24
- */
25
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
26
-
27
- /**
28
- * ListSubheader component.
29
- *
30
- * @param props Component props.
31
- * @param ref Component ref.
32
- * @return React element.
33
- */
34
- export const ListSubheader = forwardRef<ListSubheaderProps, HTMLLIElement>((props, ref) => {
35
- const { children, className, ...forwardedProps } = props;
36
-
37
- return (
38
- <li ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>
39
- {children}
40
- </li>
41
- );
42
- });
43
- ListSubheader.displayName = COMPONENT_NAME;
44
- ListSubheader.className = CLASSNAME;
@@ -1,4 +0,0 @@
1
- export * from './List';
2
- export * from './ListItem';
3
- export * from './ListDivider';
4
- export * from './ListSubheader';
@@ -1,202 +0,0 @@
1
- import { ListItemProps } from '@lumx/react';
2
- import { isClickable } from '@lumx/react/components/list/ListItem';
3
-
4
- import { isComponent } from '@lumx/react/utils/type';
5
- import { flattenChildren } from '@lumx/react/utils/react/flattenChildren';
6
- import { mergeRefs } from '@lumx/react/utils/react/mergeRefs';
7
- import get from 'lodash/get';
8
- import {
9
- cloneElement,
10
- Key,
11
- ReactElement,
12
- ReactNode,
13
- RefObject,
14
- SyntheticEvent,
15
- useEffect,
16
- useMemo,
17
- useState,
18
- } from 'react';
19
-
20
- type Listener = (evt: KeyboardEvent) => void;
21
-
22
- interface Options {
23
- /** List of items to navigate on. */
24
- items: ReactNode[] | ReactNode;
25
- /** Reference to the list-like element controlling the navigation. */
26
- ref: RefObject<HTMLElement>;
27
-
28
- /**
29
- * On list item navigated callback (triggered on ARROW key navigation).
30
- *
31
- * @param index Index of the navigated item among the sibling items.
32
- * @param key React key of the navigated item.
33
- */
34
- onListItemNavigated?(index: number, key: Key | null): void;
35
-
36
- /**
37
- * On list item selected callback (via ENTER key or click).
38
- *
39
- * @param index Index of the selected item among the sibling items.
40
- * @param key React key of the selected item.
41
- * @param evt Source event (either mouse or keyboard event).
42
- */
43
- onListItemSelected?(index: number, key: Key | null, evt: SyntheticEvent): void;
44
- }
45
-
46
- interface Output {
47
- /** List of items transformed to accommodate keyboard navigation. */
48
- items: ReactNode[];
49
- /** Whether the list contains clickable items or not. */
50
- hasClickableItem: boolean;
51
- }
52
-
53
- export type useInteractiveList = (options: Options) => Output;
54
-
55
- const INITIAL_INDEX = -1;
56
-
57
- function onKeyboardFocus(props: any, handler: (evt: FocusEvent) => void) {
58
- let isMouseDown = false;
59
- return {
60
- onFocus(evt: FocusEvent) {
61
- props.onFocus?.(evt);
62
- if (!isMouseDown) {
63
- handler(evt);
64
- }
65
- },
66
- onMouseDown(evt: MouseEvent) {
67
- props.onMouseDown?.(evt);
68
- isMouseDown = true;
69
- },
70
- onMouseUp(evt: MouseEvent) {
71
- props.onMouseUp?.(evt);
72
- isMouseDown = false;
73
- },
74
- };
75
- }
76
-
77
- const isNavigableItem = (node: ReactNode): node is ReactElement => {
78
- return isComponent('ListItem')(node) && isClickable(node.props) && !node.props.isDisabled;
79
- };
80
-
81
- /**
82
- * This custom hook detects clickable list item in a list and make them navigable with the keyboard.
83
- *
84
- * @param options See {@link Options}
85
- * @return See {@link Output}
86
- */
87
- export const useInteractiveList: useInteractiveList = (options) => {
88
- const { ref, onListItemSelected, onListItemNavigated } = options;
89
- const items = useMemo(() => flattenChildren(options.items), [options.items]);
90
- const [activeItemIndex, setActiveItemIndex] = useState(INITIAL_INDEX);
91
-
92
- // Attach listeners to the list.
93
- useEffect(() => {
94
- const { current: listElement } = ref;
95
- if (!listElement) {
96
- return undefined;
97
- }
98
-
99
- /**
100
- * This function calculates the next index in the list to be active
101
- * @param index current index
102
- * @param code key code pressed
103
- * @return next index
104
- */
105
- const getNextIndex = (index: number, key: string): number => {
106
- switch (key) {
107
- case 'ArrowDown':
108
- return index + 1 < items.length ? index + 1 : 0;
109
- case 'ArrowUp':
110
- return index - 1 >= 0 ? index - 1 : items.length - 1;
111
- default:
112
- return INITIAL_INDEX;
113
- }
114
- };
115
-
116
- /**
117
- * Resets the active index to the initial state
118
- */
119
- const resetActiveIndex = () => {
120
- setActiveItemIndex(INITIAL_INDEX);
121
- };
122
-
123
- /**
124
- * Handles navigation with the arrows using the keyboard
125
- * @param evt Key event
126
- */
127
- const onArrowPressed: Listener = (evt) => {
128
- const { key } = evt;
129
- if (key !== 'ArrowUp' && key !== 'ArrowDown') {
130
- return;
131
- }
132
-
133
- let nextIndex = activeItemIndex;
134
- let iterations = 0;
135
-
136
- // Move to next navigable item.
137
- do {
138
- nextIndex = getNextIndex(nextIndex, key);
139
- iterations += 1;
140
- } while (
141
- nextIndex !== INITIAL_INDEX &&
142
- nextIndex !== activeItemIndex &&
143
- !isNavigableItem(items[nextIndex] as any) &&
144
- iterations < items.length
145
- );
146
-
147
- setActiveItemIndex(nextIndex);
148
- evt.preventDefault();
149
- evt.stopPropagation();
150
- onListItemNavigated?.(nextIndex, get(items, [nextIndex, 'key']));
151
- };
152
-
153
- /**
154
- * Reset active list item index when focusing outside the list.
155
- * @param evt Focus out event
156
- */
157
- const onFocusOut = (evt: FocusEvent) => {
158
- if (!evt.relatedTarget || !listElement.contains(evt.relatedTarget as any)) {
159
- resetActiveIndex();
160
- }
161
- };
162
-
163
- listElement.addEventListener('focusout', onFocusOut);
164
- listElement.addEventListener('keydown', onArrowPressed);
165
- return () => {
166
- listElement.removeEventListener('focusout', onFocusOut);
167
- listElement.removeEventListener('keydown', onArrowPressed);
168
- };
169
- }, [ref, activeItemIndex, items, onListItemNavigated]);
170
-
171
- return useMemo(() => {
172
- let hasClickableItem = false;
173
- const transformedItems = items.map((item, index) => {
174
- // Ignore if list not clickable or item is not a simple list item.
175
- if (!isNavigableItem(item)) {
176
- return item;
177
- }
178
-
179
- hasClickableItem = true;
180
- const isHighlighted = index === activeItemIndex;
181
-
182
- // Clone list item: inject ref, add tab index and active state.
183
- return cloneElement<ListItemProps>(item, {
184
- ...item.props,
185
- isHighlighted: item.props.isHighlighted ?? isHighlighted,
186
- linkRef: mergeRefs(item.props.linkRef, (element: any) => {
187
- if (isHighlighted) {
188
- element?.focus();
189
- }
190
- }),
191
- onItemSelected(evt) {
192
- item.props.onItemSelected?.();
193
- onListItemSelected?.(index, item.key, evt);
194
- },
195
- ...onKeyboardFocus(item.props, () => {
196
- setActiveItemIndex(index);
197
- }),
198
- });
199
- });
200
- return { items: transformedItems, hasClickableItem };
201
- }, [items, activeItemIndex, onListItemSelected]);
202
- };
@@ -1,72 +0,0 @@
1
- import { Kind, Message } from '@lumx/react';
2
- import { mdiDelete } from '@lumx/icons';
3
- import { getSelectArgType } from '@lumx/react/stories/controls/selectArgType';
4
- import { loremIpsum } from '@lumx/react/stories/utils/lorem';
5
- import { iconArgType } from '@lumx/react/stories/controls/icons';
6
- import { withCombinations } from '@lumx/react/stories/decorators/withCombinations';
7
- import { withUndefined } from '@lumx/react/stories/controls/withUndefined';
8
- import { withNestedProps } from '../../stories/decorators/withNestedProps';
9
-
10
- export default {
11
- title: 'LumX components/message/Message',
12
- component: Message,
13
- argTypes: {
14
- kind: getSelectArgType(Kind),
15
- hasBackground: { control: 'boolean' },
16
- icon: iconArgType,
17
- },
18
- args: { ...Message.defaultProps, children: loremIpsum('tiny') },
19
- };
20
-
21
- /**
22
- * Default message
23
- */
24
- export const Default = {};
25
-
26
- /**
27
- * All `kind` variants
28
- */
29
- export const AllKinds = {
30
- ...Default,
31
- decorators: [
32
- withCombinations({
33
- combinations: {
34
- rows: { key: 'kind', options: withUndefined(Kind) },
35
- },
36
- }),
37
- ],
38
- };
39
-
40
- /**
41
- * All `kind` variants with `hasBackground`
42
- */
43
- export const AllKindsWithBackground = {
44
- ...AllKinds,
45
- args: {
46
- hasBackground: true,
47
- },
48
- };
49
-
50
- /**
51
- * With custom icon
52
- */
53
- export const CustomIcon = {
54
- args: {
55
- icon: mdiDelete,
56
- },
57
- };
58
-
59
- /**
60
- * With close button (has background and kind info)
61
- */
62
- export const ClosableMessage = {
63
- args: {
64
- 'closeButtonProps.label': 'Close',
65
- hasBackground: true,
66
- kind: 'info',
67
- },
68
- argTypes: {
69
- 'closeButtonProps.onClick': { action: true },
70
- },
71
- decorators: [withNestedProps()],
72
- };
@@ -1,77 +0,0 @@
1
- import { commonTestsSuiteRTL } from '@lumx/react/testing/utils';
2
- import { Kind } from '@lumx/react';
3
-
4
- import React from 'react';
5
- import { queryByRole, render } from '@testing-library/react';
6
- import { getByClassName, queryByClassName } from '@lumx/react/testing/utils/queries';
7
- import { mdiAbTesting } from '@lumx/icons';
8
-
9
- import userEvent from '@testing-library/user-event';
10
- import { Message, MessageProps } from './Message';
11
-
12
- const CLASSNAME = Message.className as string;
13
-
14
- type SetupProps = Partial<MessageProps>;
15
-
16
- /**
17
- * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
18
- */
19
- const setup = (propsOverride: SetupProps = {}) => {
20
- const props: any = { ...propsOverride };
21
- render(<Message {...props} />);
22
- const message = getByClassName(document.body, CLASSNAME);
23
- const icon = queryByClassName(message, `${CLASSNAME}__icon`);
24
- const closeButton = queryByRole(message, 'button', { name: props.closeButtonProps?.label });
25
- return { message, icon, closeButton, props };
26
- };
27
-
28
- describe(`<${Message.displayName}>`, () => {
29
- describe('Props', () => {
30
- it('should render default', () => {
31
- const { message, icon } = setup({ children: 'Message text' });
32
- expect(message).toBeInTheDocument();
33
- expect(message.className).toMatchInlineSnapshot('"lumx-message"');
34
- expect(message).toHaveTextContent('Message text');
35
-
36
- expect(icon).not.toBeInTheDocument();
37
- });
38
-
39
- it('should render hasBackground', () => {
40
- const { message } = setup({ hasBackground: true });
41
- expect(message).toHaveClass(`${CLASSNAME}--has-background`);
42
- });
43
-
44
- it('should render icon', () => {
45
- const { icon } = setup({ icon: mdiAbTesting });
46
- expect(icon).toBeInTheDocument();
47
- });
48
-
49
- it.each(Object.values(Kind))('should render kind %s', (kind) => {
50
- const { message, icon, closeButton } = setup({ kind });
51
- expect(message.className).toEqual(expect.stringMatching(/\blumx-message--color-\w+\b/));
52
- expect(icon).toBeInTheDocument();
53
- expect(closeButton).not.toBeInTheDocument();
54
- });
55
-
56
- it('should render close button', async () => {
57
- const onClick = jest.fn();
58
- const { closeButton } = setup({
59
- hasBackground: true,
60
- kind: 'info',
61
- closeButtonProps: {
62
- label: 'Close',
63
- onClick,
64
- },
65
- });
66
-
67
- expect(closeButton).toBeInTheDocument();
68
-
69
- await userEvent.click(closeButton as HTMLElement);
70
-
71
- expect(onClick).toHaveBeenCalled();
72
- });
73
- });
74
-
75
- // Common tests suite.
76
- commonTestsSuiteRTL(setup, { baseClassName: CLASSNAME, forwardClassName: 'message', forwardAttributes: 'message' });
77
- });
@@ -1,100 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- import { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiClose, mdiInformation } from '@lumx/icons';
6
- import { ColorPalette, Emphasis, Icon, IconButton, Kind, Size } from '@lumx/react';
7
- import { GenericProps } from '@lumx/react/utils/type';
8
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
9
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
10
-
11
- /**
12
- * Defines the props of the component.
13
- */
14
- export interface MessageProps extends GenericProps {
15
- /** Content. */
16
- children?: ReactNode;
17
- /** Whether the message has a background or not. */
18
- hasBackground?: boolean;
19
- /** Message variant. */
20
- kind?: Kind;
21
- /** Message custom icon SVG path. */
22
- icon?: string;
23
- /**
24
- * Displays a close button.
25
- *
26
- * NB: only available if `kind === 'info' && hasBackground === true`
27
- */
28
- closeButtonProps?: {
29
- /** The callback called when the button is clicked */
30
- onClick: () => void;
31
- /** The label of the close button. */
32
- label: string;
33
- };
34
- }
35
-
36
- /**
37
- * Component display name.
38
- */
39
- const COMPONENT_NAME = 'Message';
40
-
41
- /**
42
- * Component default class name and class prefix.
43
- */
44
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
45
-
46
- /**
47
- * Associative map from message kind to color and icon.
48
- */
49
- const CONFIG = {
50
- [Kind.error]: { color: ColorPalette.red, icon: mdiAlert },
51
- [Kind.info]: { color: ColorPalette.blue, icon: mdiInformation },
52
- [Kind.success]: { color: ColorPalette.green, icon: mdiCheckCircle },
53
- [Kind.warning]: { color: ColorPalette.yellow, icon: mdiAlertCircle },
54
- };
55
-
56
- /**
57
- * Message component.
58
- *
59
- * @param props Component props.
60
- * @param ref Component ref.
61
- * @return React element.
62
- */
63
- export const Message = forwardRef<MessageProps, HTMLDivElement>((props, ref) => {
64
- const { children, className, hasBackground, kind, icon: customIcon, closeButtonProps, ...forwardedProps } = props;
65
- const { color, icon } = CONFIG[kind as Kind] || {};
66
- const { onClick, label: closeButtonLabel } = closeButtonProps || {};
67
- const isCloseButtonDisplayed = hasBackground && kind === 'info' && onClick && closeButtonLabel;
68
-
69
- return (
70
- <div
71
- ref={ref}
72
- className={classNames(
73
- className,
74
- handleBasicClasses({
75
- color,
76
- hasBackground,
77
- prefix: CLASSNAME,
78
- }),
79
- )}
80
- {...forwardedProps}
81
- >
82
- {(customIcon || icon) && (
83
- <Icon className={`${CLASSNAME}__icon`} icon={customIcon || icon} size={Size.xs} color={color} />
84
- )}
85
- <div className={`${CLASSNAME}__text`}>{children}</div>
86
- {isCloseButtonDisplayed && (
87
- <IconButton
88
- className={`${CLASSNAME}__close-button`}
89
- icon={mdiClose}
90
- onClick={onClick}
91
- label={closeButtonLabel}
92
- emphasis={Emphasis.low}
93
- />
94
- )}
95
- </div>
96
- );
97
- });
98
-
99
- Message.displayName = COMPONENT_NAME;
100
- Message.className = CLASSNAME;