@lumx/react 3.20.1-alpha.10 → 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 (723) 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 +1 -2
  208. package/index.js +65 -14607
  209. package/index.js.map +1 -1
  210. package/package.json +3 -7
  211. package/utils/index.d.ts +1 -1
  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 -34
  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 -99
  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 -61
  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 -119
  229. package/src/components/avatar/Avatar.test.tsx +0 -32
  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 -69
  233. package/src/components/badge/Badge.test.tsx +0 -45
  234. package/src/components/badge/Badge.tsx +0 -58
  235. package/src/components/badge/BadgeWrapper.stories.tsx +0 -75
  236. package/src/components/badge/BadgeWrapper.test.tsx +0 -47
  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 -355
  240. package/src/components/button/Button.test.tsx +0 -125
  241. package/src/components/button/Button.tsx +0 -101
  242. package/src/components/button/ButtonGroup.stories.tsx +0 -52
  243. package/src/components/button/ButtonGroup.test.tsx +0 -41
  244. package/src/components/button/ButtonGroup.tsx +0 -50
  245. package/src/components/button/ButtonRoot.tsx +0 -163
  246. package/src/components/button/IconButton.stories.tsx +0 -52
  247. package/src/components/button/IconButton.test.tsx +0 -66
  248. package/src/components/button/IconButton.tsx +0 -91
  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 -154
  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 -164
  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 -47
  258. package/src/components/chip/ChipGroup.test.tsx +0 -37
  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 -91
  262. package/src/components/comment-block/CommentBlock.test.tsx +0 -28
  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 -34
  267. package/src/components/date-picker/DatePicker.tsx +0 -52
  268. package/src/components/date-picker/DatePickerControlled.test.tsx +0 -91
  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 -70
  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 -97
  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 -51
  281. package/src/components/divider/Divider.tsx +0 -50
  282. package/src/components/divider/index.ts +0 -1
  283. package/src/components/drag-handle/DragHandle.test.tsx +0 -36
  284. package/src/components/drag-handle/DragHandle.tsx +0 -51
  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 -185
  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 -62
  296. package/src/components/flag/Flag.tsx +0 -52
  297. package/src/components/flag/index.ts +0 -1
  298. package/src/components/flex-box/FlexBox.stories.tsx +0 -156
  299. package/src/components/flex-box/FlexBox.test.tsx +0 -24
  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 -83
  308. package/src/components/grid/GridItem.tsx +0 -55
  309. package/src/components/grid/index.ts +0 -2
  310. package/src/components/grid-column/GridColumn.stories.tsx +0 -45
  311. package/src/components/grid-column/GridColumn.test.jsx +0 -56
  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 -69
  315. package/src/components/heading/Heading.test.tsx +0 -82
  316. package/src/components/heading/Heading.tsx +0 -65
  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 -73
  323. package/src/components/icon/Icon.test.tsx +0 -125
  324. package/src/components/icon/Icon.tsx +0 -22
  325. package/src/components/icon/index.ts +0 -1
  326. package/src/components/image-block/ImageBlock.stories.tsx +0 -117
  327. package/src/components/image-block/ImageBlock.test.tsx +0 -58
  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 -160
  332. package/src/components/image-lightbox/ImageLightbox.test.tsx +0 -254
  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 -48
  341. package/src/components/image-lightbox/useImageLightbox.tsx +0 -141
  342. package/src/components/inline-list/InlineList.stories.tsx +0 -77
  343. package/src/components/inline-list/InlineList.test.tsx +0 -52
  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 -55
  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 -45
  352. package/src/components/input-label/InputLabel.test.tsx +0 -59
  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 -53
  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 -195
  360. package/src/components/link/Link.test.tsx +0 -127
  361. package/src/components/link/Link.tsx +0 -106
  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 -105
  365. package/src/components/link-preview/LinkPreview.tsx +0 -158
  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 -18
  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 -22
  372. package/src/components/list/ListDivider.tsx +0 -35
  373. package/src/components/list/ListItem.stories.tsx +0 -66
  374. package/src/components/list/ListItem.test.tsx +0 -93
  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 -21
  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 -76
  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 -77
  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 -234
  390. package/src/components/navigation/Navigation.test.tsx +0 -65
  391. package/src/components/navigation/Navigation.tsx +0 -79
  392. package/src/components/navigation/NavigationItem.test.tsx +0 -35
  393. package/src/components/navigation/NavigationItem.tsx +0 -82
  394. package/src/components/navigation/NavigationSection.test.tsx +0 -137
  395. package/src/components/navigation/NavigationSection.tsx +0 -108
  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 -94
  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 -62
  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 -139
  412. package/src/components/popover-dialog/PopoverDialog.tsx +0 -74
  413. package/src/components/popover-dialog/index.tsx +0 -1
  414. package/src/components/post-block/PostBlock.test.tsx +0 -27
  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 -68
  418. package/src/components/progress/ProgressCircular.stories.tsx +0 -43
  419. package/src/components/progress/ProgressCircular.test.tsx +0 -46
  420. package/src/components/progress/ProgressCircular.tsx +0 -82
  421. package/src/components/progress/ProgressLinear.stories.tsx +0 -12
  422. package/src/components/progress/ProgressLinear.test.tsx +0 -30
  423. package/src/components/progress/ProgressLinear.tsx +0 -50
  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 -42
  427. package/src/components/progress-tracker/ProgressTracker.tsx +0 -87
  428. package/src/components/progress-tracker/ProgressTrackerProvider.test.tsx +0 -65
  429. package/src/components/progress-tracker/ProgressTrackerProvider.tsx +0 -67
  430. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +0 -36
  431. package/src/components/progress-tracker/ProgressTrackerStep.tsx +0 -159
  432. package/src/components/progress-tracker/ProgressTrackerStepPanel.test.tsx +0 -34
  433. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +0 -67
  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 -143
  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 -29
  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 -199
  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 -213
  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 -37
  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 -136
  456. package/src/components/side-navigation/SideNavigationItem.tsx +0 -165
  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 -27
  460. package/src/components/skeleton/SkeletonCircle.tsx +0 -52
  461. package/src/components/skeleton/SkeletonRectangle.stories.tsx +0 -82
  462. package/src/components/skeleton/SkeletonRectangle.test.tsx +0 -27
  463. package/src/components/skeleton/SkeletonRectangle.tsx +0 -88
  464. package/src/components/skeleton/SkeletonTypography.stories.tsx +0 -19
  465. package/src/components/skeleton/SkeletonTypography.test.tsx +0 -27
  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 -29
  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 -179
  474. package/src/components/slideshow/Slideshow.test.tsx +0 -35
  475. package/src/components/slideshow/Slideshow.tsx +0 -173
  476. package/src/components/slideshow/SlideshowControls.stories.tsx +0 -100
  477. package/src/components/slideshow/SlideshowControls.tsx +0 -243
  478. package/src/components/slideshow/SlideshowItem.tsx +0 -44
  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 -144
  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 -29
  491. package/src/components/table/Table.tsx +0 -59
  492. package/src/components/table/TableBody.test.tsx +0 -30
  493. package/src/components/table/TableBody.tsx +0 -42
  494. package/src/components/table/TableCell.test.tsx +0 -72
  495. package/src/components/table/TableCell.tsx +0 -130
  496. package/src/components/table/TableHeader.test.tsx +0 -30
  497. package/src/components/table/TableHeader.tsx +0 -48
  498. package/src/components/table/TableRow.test.tsx +0 -40
  499. package/src/components/table/TableRow.tsx +0 -71
  500. package/src/components/table/index.ts +0 -5
  501. package/src/components/tabs/Tab.test.tsx +0 -50
  502. package/src/components/tabs/Tab.tsx +0 -133
  503. package/src/components/tabs/TabList.test.tsx +0 -49
  504. package/src/components/tabs/TabList.tsx +0 -94
  505. package/src/components/tabs/TabPanel.test.tsx +0 -37
  506. package/src/components/tabs/TabPanel.tsx +0 -67
  507. package/src/components/tabs/TabProvider.test.tsx +0 -161
  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 -92
  515. package/src/components/text/Text.tsx +0 -139
  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 -298
  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 -88
  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 -118
  532. package/src/components/tooltip/Tooltip.test.tsx +0 -417
  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 -146
  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 -133
  544. package/src/components/user-block/UserBlock.test.tsx +0 -106
  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 -22
  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 -12
  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 -7
  584. package/src/stories/decorators/withCombinations.tsx +0 -132
  585. package/src/stories/decorators/withNestedProps.tsx +0 -22
  586. package/src/stories/decorators/withResizableBox.tsx +0 -21
  587. package/src/stories/decorators/withThemedBackground.tsx +0 -16
  588. package/src/stories/decorators/withValueOnChange.tsx +0 -18
  589. package/src/stories/decorators/withWrapper.tsx +0 -19
  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 -12
  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 -10
  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 -9
  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 -31
  653. package/src/utils/Portal/Portal.tsx +0 -33
  654. package/src/utils/Portal/PortalProvider.stories.jsx +0 -22
  655. package/src/utils/Portal/PortalProvider.test.tsx +0 -72
  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 -92
  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/RawClickable.test.tsx +0 -153
  702. package/src/utils/react/RawClickable.tsx +0 -65
  703. package/src/utils/react/flattenChildren.ts +0 -32
  704. package/src/utils/react/forwardRef.ts +0 -11
  705. package/src/utils/react/forwardRefPolymorphic.ts +0 -9
  706. package/src/utils/react/mergeRefs.ts +0 -33
  707. package/src/utils/react/renderLink.tsx +0 -17
  708. package/src/utils/react/skipRender.tsx +0 -18
  709. package/src/utils/react/unref.ts +0 -7
  710. package/src/utils/react/wrapChildrenIconWithSpaces.test.tsx +0 -37
  711. package/src/utils/react/wrapChildrenIconWithSpaces.tsx +0 -22
  712. package/src/utils/theme/ThemeContext.ts +0 -16
  713. package/src/utils/theme/invertTheme.ts +0 -4
  714. package/src/utils/type/Comp.ts +0 -14
  715. package/src/utils/type/ComponentRef.ts +0 -16
  716. package/src/utils/type/HasAriaDisabled.ts +0 -6
  717. package/src/utils/type/HasPolymorphicAs.ts +0 -6
  718. package/src/utils/type/HasRequiredLinkHref.ts +0 -1
  719. package/src/utils/type/MaybeElementOrRef.ts +0 -6
  720. package/src/utils/type/index.ts +0 -9
  721. package/src/utils/type/isComponent.ts +0 -33
  722. package/src/utils/type/isComponentType.ts +0 -9
  723. /package/_internal/{Falsy.d.ts → d95844c1.d.ts} +0 -0
@@ -1,157 +0,0 @@
1
- import { 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,21 +0,0 @@
1
- import { commonTestsSuiteRTL } from '@lumx/react/testing/utils';
2
- import { render } from '@testing-library/react';
3
- import { queryByClassName } from '@lumx/react/testing/utils/queries';
4
- import { ListSubheader, ListSubheaderProps } from './ListSubheader';
5
-
6
- const CLASSNAME = ListSubheader.className as string;
7
-
8
- const setup = (props: Partial<ListSubheaderProps> = {}) => {
9
- render(<ListSubheader {...(props as any)} />);
10
- const listSubheader = queryByClassName(document.body, CLASSNAME);
11
- return { props, listSubheader };
12
- };
13
-
14
- describe(`<${ListSubheader.displayName}>`, () => {
15
- // Common tests suite.
16
- commonTestsSuiteRTL(setup, {
17
- baseClassName: CLASSNAME,
18
- forwardClassName: 'listSubheader',
19
- forwardAttributes: 'listSubheader',
20
- });
21
- });
@@ -1,44 +0,0 @@
1
- import { 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,76 +0,0 @@
1
- import { commonTestsSuiteRTL } from '@lumx/react/testing/utils';
2
- import { Kind } from '@lumx/react';
3
-
4
- import { queryByRole, render } from '@testing-library/react';
5
- import { getByClassName, queryByClassName } from '@lumx/react/testing/utils/queries';
6
- import { mdiAbTesting } from '@lumx/icons';
7
-
8
- import userEvent from '@testing-library/user-event';
9
- import { Message, MessageProps } from './Message';
10
-
11
- const CLASSNAME = Message.className as string;
12
-
13
- type SetupProps = Partial<MessageProps>;
14
-
15
- /**
16
- * Mounts the component and returns common DOM elements / data needed in multiple tests further down.
17
- */
18
- const setup = (propsOverride: SetupProps = {}) => {
19
- const props: any = { ...propsOverride };
20
- render(<Message {...props} />);
21
- const message = getByClassName(document.body, CLASSNAME);
22
- const icon = queryByClassName(message, `${CLASSNAME}__icon`);
23
- const closeButton = queryByRole(message, 'button', { name: props.closeButtonProps?.label });
24
- return { message, icon, closeButton, props };
25
- };
26
-
27
- describe(`<${Message.displayName}>`, () => {
28
- describe('Props', () => {
29
- it('should render default', () => {
30
- const { message, icon } = setup({ children: 'Message text' });
31
- expect(message).toBeInTheDocument();
32
- expect(message.className).toMatchInlineSnapshot('"lumx-message"');
33
- expect(message).toHaveTextContent('Message text');
34
-
35
- expect(icon).not.toBeInTheDocument();
36
- });
37
-
38
- it('should render hasBackground', () => {
39
- const { message } = setup({ hasBackground: true });
40
- expect(message).toHaveClass(`${CLASSNAME}--has-background`);
41
- });
42
-
43
- it('should render icon', () => {
44
- const { icon } = setup({ icon: mdiAbTesting });
45
- expect(icon).toBeInTheDocument();
46
- });
47
-
48
- it.each(Object.values(Kind))('should render kind %s', (kind) => {
49
- const { message, icon, closeButton } = setup({ kind });
50
- expect(message.className).toEqual(expect.stringMatching(/\blumx-message--color-\w+\b/));
51
- expect(icon).toBeInTheDocument();
52
- expect(closeButton).not.toBeInTheDocument();
53
- });
54
-
55
- it('should render close button', async () => {
56
- const onClick = vi.fn();
57
- const { closeButton } = setup({
58
- hasBackground: true,
59
- kind: 'info',
60
- closeButtonProps: {
61
- label: 'Close',
62
- onClick,
63
- },
64
- });
65
-
66
- expect(closeButton).toBeInTheDocument();
67
-
68
- await userEvent.click(closeButton as HTMLElement);
69
-
70
- expect(onClick).toHaveBeenCalled();
71
- });
72
- });
73
-
74
- // Common tests suite.
75
- commonTestsSuiteRTL(setup, { baseClassName: CLASSNAME, forwardClassName: 'message', forwardAttributes: 'message' });
76
- });
@@ -1,100 +0,0 @@
1
- import { 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;
@@ -1 +0,0 @@
1
- export * from './Message';