@lumx/react 3.20.1-alpha.10 → 3.20.1-alpha.12

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/0420e67b.js +119 -0
  4. package/_internal/0420e67b.js.map +1 -0
  5. package/_internal/0a490b07.js +75 -0
  6. package/_internal/0a490b07.js.map +1 -0
  7. package/_internal/0b9c76cb.js +6 -0
  8. package/_internal/0b9c76cb.js.map +1 -0
  9. package/_internal/0be1006e.js +97 -0
  10. package/_internal/0be1006e.js.map +1 -0
  11. package/_internal/0d1a078c.js +144 -0
  12. package/_internal/0d1a078c.js.map +1 -0
  13. package/_internal/15eab19b.js +75 -0
  14. package/_internal/15eab19b.js.map +1 -0
  15. package/_internal/179a84d1.js +259 -0
  16. package/_internal/179a84d1.js.map +1 -0
  17. package/_internal/193521fa.js +52 -0
  18. package/_internal/193521fa.js.map +1 -0
  19. package/_internal/1a90ea3d.js +51 -0
  20. package/_internal/1a90ea3d.js.map +1 -0
  21. package/_internal/1deba7d7.js +224 -0
  22. package/_internal/1deba7d7.js.map +1 -0
  23. package/_internal/1ea72630.js +146 -0
  24. package/_internal/1ea72630.js.map +1 -0
  25. package/_internal/21b83d16.js +137 -0
  26. package/_internal/21b83d16.js.map +1 -0
  27. package/_internal/230173a8.js +13 -0
  28. package/_internal/230173a8.js.map +1 -0
  29. package/_internal/297bed8f.js +457 -0
  30. package/_internal/297bed8f.js.map +1 -0
  31. package/_internal/2a3d237c.js +12 -0
  32. package/_internal/2a3d237c.js.map +1 -0
  33. package/_internal/2c2b6a89.js +52 -0
  34. package/_internal/2c2b6a89.js.map +1 -0
  35. package/_internal/2f1716fa.js +237 -0
  36. package/_internal/2f1716fa.js.map +1 -0
  37. package/_internal/2f6c7f84.js +103 -0
  38. package/_internal/2f6c7f84.js.map +1 -0
  39. package/_internal/3181f000.js +14 -0
  40. package/_internal/3181f000.js.map +1 -0
  41. package/_internal/329b5f12.js +55 -0
  42. package/_internal/329b5f12.js.map +1 -0
  43. package/_internal/332e9844.js +2 -0
  44. package/_internal/332e9844.js.map +1 -0
  45. package/_internal/34c59f5b.js +681 -0
  46. package/_internal/34c59f5b.js.map +1 -0
  47. package/_internal/36bd7352.js +219 -0
  48. package/_internal/36bd7352.js.map +1 -0
  49. package/_internal/370bdaed.js +61 -0
  50. package/_internal/370bdaed.js.map +1 -0
  51. package/_internal/37b007a4.js +20 -0
  52. package/_internal/37b007a4.js.map +1 -0
  53. package/_internal/3a1facc0.js +18 -0
  54. package/_internal/3a1facc0.js.map +1 -0
  55. package/_internal/3a4e4636.js +162 -0
  56. package/_internal/3a4e4636.js.map +1 -0
  57. package/_internal/3e653144.js +49 -0
  58. package/_internal/3e653144.js.map +1 -0
  59. package/_internal/3f86608e.js +45 -0
  60. package/_internal/3f86608e.js.map +1 -0
  61. package/_internal/478b5c92.js +24 -0
  62. package/_internal/478b5c92.js.map +1 -0
  63. package/_internal/4962be5b.js +121 -0
  64. package/_internal/4962be5b.js.map +1 -0
  65. package/_internal/49bbeed3.js +6 -0
  66. package/_internal/49bbeed3.js.map +1 -0
  67. package/_internal/4cd870a5.js +2155 -0
  68. package/_internal/4cd870a5.js.map +1 -0
  69. package/{src/utils/partitionMulti.ts → _internal/4daccdd5.js} +5 -9
  70. package/_internal/4daccdd5.js.map +1 -0
  71. package/_internal/501f2f9f.js +58 -0
  72. package/_internal/501f2f9f.js.map +1 -0
  73. package/_internal/5e7b90e2.js +2 -0
  74. package/_internal/5e7b90e2.js.map +1 -0
  75. package/_internal/5ec059fe.js +145 -0
  76. package/_internal/5ec059fe.js.map +1 -0
  77. package/_internal/5f8f9454.js +70 -0
  78. package/_internal/5f8f9454.js.map +1 -0
  79. package/_internal/5fe09341.js +112 -0
  80. package/_internal/5fe09341.js.map +1 -0
  81. package/_internal/628468c4.js +313 -0
  82. package/_internal/628468c4.js.map +1 -0
  83. package/_internal/6589b796.js +280 -0
  84. package/_internal/6589b796.js.map +1 -0
  85. package/_internal/65f91970.js +297 -0
  86. package/_internal/65f91970.js.map +1 -0
  87. package/_internal/66f691d3.js +74 -0
  88. package/_internal/66f691d3.js.map +1 -0
  89. package/_internal/68c10f98.js +166 -0
  90. package/_internal/68c10f98.js.map +1 -0
  91. package/_internal/690ca33e.js +109 -0
  92. package/_internal/690ca33e.js.map +1 -0
  93. package/_internal/6ca04271.js +108 -0
  94. package/_internal/6ca04271.js.map +1 -0
  95. package/_internal/6da19518.js +165 -0
  96. package/_internal/6da19518.js.map +1 -0
  97. package/_internal/7093ba23.js +95 -0
  98. package/_internal/7093ba23.js.map +1 -0
  99. package/_internal/74a4a214.js +82 -0
  100. package/_internal/74a4a214.js.map +1 -0
  101. package/_internal/76be70dd.js +42 -0
  102. package/_internal/76be70dd.js.map +1 -0
  103. package/_internal/78df9309.js +20 -0
  104. package/_internal/78df9309.js.map +1 -0
  105. package/_internal/7b221b05.js +9 -0
  106. package/_internal/7b221b05.js.map +1 -0
  107. package/_internal/7daf0f24.js +77 -0
  108. package/_internal/7daf0f24.js.map +1 -0
  109. package/_internal/7f54e947.js +758 -0
  110. package/_internal/7f54e947.js.map +1 -0
  111. package/_internal/825ac334.js +130 -0
  112. package/_internal/825ac334.js.map +1 -0
  113. package/_internal/827b804a.js +6 -0
  114. package/_internal/827b804a.js.map +1 -0
  115. package/_internal/84dfe68f.js +436 -0
  116. package/_internal/84dfe68f.js.map +1 -0
  117. package/_internal/85e3a5ca.js +145 -0
  118. package/_internal/85e3a5ca.js.map +1 -0
  119. package/_internal/86aa4aa4.js +154 -0
  120. package/_internal/86aa4aa4.js.map +1 -0
  121. package/_internal/88ec77c2.js +130 -0
  122. package/_internal/88ec77c2.js.map +1 -0
  123. package/_internal/8ab42752.js +103 -0
  124. package/_internal/8ab42752.js.map +1 -0
  125. package/_internal/95cfd814.js +70 -0
  126. package/_internal/95cfd814.js.map +1 -0
  127. package/_internal/9a4dfad0.js +326 -0
  128. package/_internal/9a4dfad0.js.map +1 -0
  129. package/_internal/9c9df5f2.js +80 -0
  130. package/_internal/9c9df5f2.js.map +1 -0
  131. package/_internal/9d1336a1.js +19 -0
  132. package/_internal/9d1336a1.js.map +1 -0
  133. package/_internal/9fdc715b.js +152 -0
  134. package/_internal/9fdc715b.js.map +1 -0
  135. package/_internal/a003602b.js +116 -0
  136. package/_internal/a003602b.js.map +1 -0
  137. package/_internal/a34639bd.js +97 -0
  138. package/_internal/a34639bd.js.map +1 -0
  139. package/_internal/a84f4981.js +122 -0
  140. package/_internal/a84f4981.js.map +1 -0
  141. package/_internal/b0a7a999.js +59 -0
  142. package/_internal/b0a7a999.js.map +1 -0
  143. package/_internal/b0b2e33d.js +359 -0
  144. package/_internal/b0b2e33d.js.map +1 -0
  145. package/_internal/b1af5979.js +653 -0
  146. package/_internal/b1af5979.js.map +1 -0
  147. package/_internal/b477da26.js +164 -0
  148. package/_internal/b477da26.js.map +1 -0
  149. package/_internal/b8667090.js +36 -0
  150. package/_internal/b8667090.js.map +1 -0
  151. package/_internal/bae266a9.js +61 -0
  152. package/_internal/bae266a9.js.map +1 -0
  153. package/_internal/be6da9b0.js +296 -0
  154. package/_internal/be6da9b0.js.map +1 -0
  155. package/_internal/c0414b89.js +101 -0
  156. package/_internal/c0414b89.js.map +1 -0
  157. package/_internal/c2388b10.js +58 -0
  158. package/_internal/c2388b10.js.map +1 -0
  159. package/_internal/c459a04d.js +148 -0
  160. package/_internal/c459a04d.js.map +1 -0
  161. package/_internal/c6ca7494.js +2 -0
  162. package/_internal/c6ca7494.js.map +1 -0
  163. package/_internal/cdddaed8.js +116 -0
  164. package/_internal/cdddaed8.js.map +1 -0
  165. package/_internal/d0dd1815.js +10 -0
  166. package/_internal/d0dd1815.js.map +1 -0
  167. package/_internal/d45e3f16.js +15 -0
  168. package/_internal/d45e3f16.js.map +1 -0
  169. package/_internal/d5f316cb.js +62 -0
  170. package/_internal/d5f316cb.js.map +1 -0
  171. package/_internal/db4fdc7b.js +310 -0
  172. package/_internal/db4fdc7b.js.map +1 -0
  173. package/_internal/dbe0cf24.js +75 -0
  174. package/_internal/dbe0cf24.js.map +1 -0
  175. package/_internal/de24f857.js +4 -0
  176. package/_internal/de24f857.js.map +1 -0
  177. package/_internal/e2afb13f.js +75 -0
  178. package/_internal/e2afb13f.js.map +1 -0
  179. package/_internal/e52f0d3f.js +94 -0
  180. package/_internal/e52f0d3f.js.map +1 -0
  181. package/_internal/e6dd117e.js +50 -0
  182. package/_internal/e6dd117e.js.map +1 -0
  183. package/_internal/e806b848.js +9 -0
  184. package/_internal/e806b848.js.map +1 -0
  185. package/_internal/ea04260d.js +29 -0
  186. package/_internal/ea04260d.js.map +1 -0
  187. package/_internal/eaa8b1d8.js +150 -0
  188. package/_internal/eaa8b1d8.js.map +1 -0
  189. package/_internal/eaf6c45a.js +4 -0
  190. package/_internal/eaf6c45a.js.map +1 -0
  191. package/_internal/edab29ce.js +308 -0
  192. package/_internal/edab29ce.js.map +1 -0
  193. package/_internal/ef5d1aac.js +4 -0
  194. package/_internal/ef5d1aac.js.map +1 -0
  195. package/_internal/f0900583.js +142 -0
  196. package/_internal/f0900583.js.map +1 -0
  197. package/_internal/f0d7d6ea.js +30 -0
  198. package/_internal/f0d7d6ea.js.map +1 -0
  199. package/_internal/f23cdf84.js +181 -0
  200. package/_internal/f23cdf84.js.map +1 -0
  201. package/_internal/f52e979e.js +3 -0
  202. package/_internal/f52e979e.js.map +1 -0
  203. package/_internal/f5508d3d.js +792 -0
  204. package/_internal/f5508d3d.js.map +1 -0
  205. package/_internal/f93fe83e.js +46 -0
  206. package/_internal/f93fe83e.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 -15
  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,184 +0,0 @@
1
- import { useEffect, useMemo, useState } from 'react';
2
- import memoize from 'lodash/memoize';
3
- import { detectOverflow } from '@popperjs/core';
4
-
5
- import { DOCUMENT, WINDOW } from '@lumx/react/constants';
6
- import { PopoverProps } from '@lumx/react/components/popover/Popover';
7
- import { usePopper } from '@lumx/react/hooks/usePopper';
8
- import { ARROW_SIZE, FitAnchorWidth, Placement } from './constants';
9
-
10
- /**
11
- * Popper js modifier to fit popover min width to the anchor width.
12
- */
13
- const sameWidth = memoize((anchorWidthOption: FitAnchorWidth) => ({
14
- name: 'sameWidth',
15
- enabled: true,
16
- phase: 'beforeWrite',
17
- requires: ['computeStyles'],
18
- fn({ state }: any) {
19
- // eslint-disable-next-line no-param-reassign
20
- state.styles.popper[anchorWidthOption] = `${state.rects.reference.width}px`;
21
- },
22
- effect({ state }: any) {
23
- // eslint-disable-next-line no-param-reassign
24
- state.elements.popper.style[anchorWidthOption] = `${state.elements.reference.offsetWidth}px`;
25
- },
26
- }));
27
-
28
- /**
29
- * Popper js modifier to compute max size of the popover.
30
- */
31
- const maxSize = {
32
- name: 'maxSize',
33
- enabled: true,
34
- phase: 'main',
35
- requiresIfExists: ['offset', 'preventOverflow', 'flip'],
36
- fn({ state, name, options }: any) {
37
- const overflow = detectOverflow(state, options);
38
-
39
- const { y = 0, x = 0 } = state.modifiersData.preventOverflow;
40
- const { width, height } = state.rects.popper;
41
-
42
- const [basePlacement] = state.placement.split('-');
43
-
44
- const widthProp = basePlacement === 'left' ? 'left' : 'right';
45
- const heightProp = basePlacement === 'top' ? 'top' : 'bottom';
46
- // eslint-disable-next-line no-param-reassign
47
- state.modifiersData[name] = {
48
- width: width - overflow[widthProp] - x,
49
- height: height - overflow[heightProp] - y,
50
- };
51
- },
52
- };
53
-
54
- /**
55
- * Popper js modifier to apply the max height.
56
- */
57
- const applyMaxHeight = {
58
- name: 'applyMaxHeight',
59
- enabled: true,
60
- phase: 'beforeWrite',
61
- requires: ['maxSize'],
62
- fn({ state }: any) {
63
- const { height } = state.modifiersData.maxSize;
64
- // eslint-disable-next-line no-param-reassign
65
- state.elements.popper.style.maxHeight = `${height - ARROW_SIZE}px`;
66
- },
67
- };
68
-
69
- type Options = Pick<
70
- PopoverProps,
71
- | 'offset'
72
- | 'hasArrow'
73
- | 'fitToAnchorWidth'
74
- | 'fitWithinViewportHeight'
75
- | 'boundaryRef'
76
- | 'anchorRef'
77
- | 'placement'
78
- | 'style'
79
- | 'zIndex'
80
- >;
81
-
82
- interface Output {
83
- styles: { arrow?: React.CSSProperties; popover?: React.CSSProperties };
84
- attributes: any;
85
- isPositioned: boolean;
86
- position?: Placement;
87
- setArrowElement?: React.Ref<HTMLDivElement>;
88
- setPopperElement?: React.Ref<HTMLDivElement>;
89
- popperElement: HTMLElement | null;
90
- }
91
-
92
- export function usePopoverStyle({
93
- offset,
94
- hasArrow,
95
- fitToAnchorWidth,
96
- fitWithinViewportHeight,
97
- boundaryRef,
98
- anchorRef,
99
- placement,
100
- style,
101
- zIndex,
102
- }: Options): Output {
103
- const [popperElement, setPopperElement] = useState<null | HTMLElement>(null);
104
- const [arrowElement, setArrowElement] = useState<null | HTMLElement>(null);
105
-
106
- const actualOffset: [number, number] = [offset?.along ?? 0, (offset?.away ?? 0) + (hasArrow ? ARROW_SIZE : 0)];
107
- const modifiers: any = [
108
- {
109
- name: 'offset',
110
- options: { offset: actualOffset },
111
- },
112
- ];
113
- if (hasArrow && arrowElement) {
114
- modifiers.push({
115
- name: 'arrow',
116
- options: {
117
- element: arrowElement,
118
- padding: ARROW_SIZE / 2,
119
- },
120
- });
121
- }
122
- if (fitToAnchorWidth) {
123
- const fitWidth = typeof fitToAnchorWidth === 'string' ? fitToAnchorWidth : FitAnchorWidth.MIN_WIDTH;
124
- modifiers.push(sameWidth(fitWidth));
125
- }
126
- if (fitWithinViewportHeight) {
127
- modifiers.push({ ...maxSize, options: { boundary: boundaryRef?.current } }, applyMaxHeight);
128
- }
129
- if (boundaryRef) {
130
- modifiers.push(
131
- { name: 'flip', options: { boundary: boundaryRef.current } },
132
- { name: 'preventOverflow', options: { boundary: boundaryRef.current } },
133
- );
134
- }
135
-
136
- const { styles, attributes, state, update } = usePopper(anchorRef.current, popperElement, { placement, modifiers });
137
-
138
- // Auto update popover
139
- useEffect(() => {
140
- const { current: anchorElement } = anchorRef;
141
- if (!update || !popperElement || !anchorElement || !WINDOW?.ResizeObserver) {
142
- return undefined;
143
- }
144
- let running: ReturnType<typeof setTimeout> | undefined;
145
- function updateRateLimited() {
146
- if (running) return;
147
- update?.();
148
- running = setTimeout(() => {
149
- running = undefined;
150
- }, 100);
151
- }
152
- updateRateLimited();
153
-
154
- // On anchor or popover resize
155
- const resizeObserver = new ResizeObserver(updateRateLimited);
156
- resizeObserver.observe(anchorElement);
157
- resizeObserver.observe(popperElement);
158
- return () => {
159
- resizeObserver.disconnect();
160
- };
161
- }, [anchorRef, popperElement, update]);
162
-
163
- const position = state?.placement ?? placement;
164
-
165
- const popoverStyle = useMemo(() => {
166
- const newStyles = { ...style, ...styles.popper, zIndex };
167
-
168
- if (fitWithinViewportHeight && !newStyles.maxHeight) {
169
- newStyles.maxHeight = WINDOW?.innerHeight || DOCUMENT?.documentElement.clientHeight;
170
- }
171
-
172
- return newStyles;
173
- }, [style, styles.popper, zIndex, fitWithinViewportHeight]);
174
-
175
- return {
176
- styles: { arrow: styles.arrow, popover: popoverStyle },
177
- attributes,
178
- isPositioned: (state?.rects?.popper?.y ?? -1) >= 0,
179
- position,
180
- setArrowElement,
181
- setPopperElement,
182
- popperElement,
183
- };
184
- }
@@ -1,47 +0,0 @@
1
- import React from 'react';
2
- import { getFirstAndLastFocusable } from '@lumx/react/utils/browser/focus/getFirstAndLastFocusable';
3
- import { OnBeforeUnmount } from '@lumx/react/utils/react/OnBeforeUnmount';
4
- import type { PopoverProps } from './Popover';
5
-
6
- /**
7
- * Provides an unmount sentinel to inject in the popover to detect when it closes and restore the focus to the
8
- * anchor if needed.
9
- */
10
- export function useRestoreFocusOnClose(
11
- {
12
- focusAnchorOnClose,
13
- anchorRef,
14
- parentElement,
15
- }: Pick<PopoverProps, 'focusAnchorOnClose' | 'anchorRef' | 'parentElement'>,
16
- popoverElement?: HTMLElement | null,
17
- ) {
18
- const onBeforeUnmountRef = React.useRef<(() => void) | undefined>();
19
-
20
- React.useEffect(() => {
21
- if (!popoverElement || !focusAnchorOnClose) {
22
- onBeforeUnmountRef.current = undefined;
23
- return;
24
- }
25
-
26
- onBeforeUnmountRef.current = () => {
27
- const isFocusWithin = popoverElement?.contains(document.activeElement);
28
- if (!isFocusWithin) return;
29
-
30
- // On next render
31
- setTimeout(() => {
32
- const anchor = anchorRef.current;
33
- const elementToFocus =
34
- // Provided parent element
35
- parentElement?.current ||
36
- // Or first focusable element in anchor
37
- (anchor ? getFirstAndLastFocusable(anchor).first : undefined) ||
38
- // Fallback to anchor
39
- anchor;
40
-
41
- elementToFocus?.focus({ preventScroll: true });
42
- }, 0);
43
- };
44
- }, [anchorRef, focusAnchorOnClose, parentElement, popoverElement]);
45
-
46
- return <OnBeforeUnmount callbackRef={onBeforeUnmountRef} />;
47
- }
@@ -1,64 +0,0 @@
1
- import React from 'react';
2
- import { useBooleanState } from '@lumx/react/hooks/useBooleanState';
3
- import { mdiMenuDown } from '@lumx/icons';
4
- import { PopoverDialog } from '.';
5
- import { Button, IconButton } from '../button';
6
-
7
- export default {
8
- title: 'LumX components/popover-dialog/PopoverDialog',
9
- component: PopoverDialog,
10
- parameters: { chromatic: { disableSnapshot: true } },
11
- };
12
-
13
- /**
14
- * Example PopoverDialog using a button as a trigger
15
- */
16
- export const WithButtonTrigger = (props: any) => {
17
- const anchorRef = React.useRef(null);
18
- const [isOpen, close, open] = useBooleanState(false);
19
-
20
- return (
21
- <>
22
- <Button ref={anchorRef} onClick={open}>
23
- Open popover
24
- </Button>
25
- <PopoverDialog
26
- anchorRef={anchorRef}
27
- isOpen={isOpen}
28
- onClose={close}
29
- placement="bottom"
30
- className="lumx-spacing-padding-huge"
31
- {...props}
32
- >
33
- <Button onClick={close}>Close</Button>
34
- <Button emphasis="medium">Other button</Button>
35
- </PopoverDialog>
36
- </>
37
- );
38
- };
39
-
40
- /**
41
- * Example PopoverDialog using an icon button as a trigger
42
- */
43
- export const WithIconButtonTrigger = ({ children, ...props }: any) => {
44
- const anchorRef = React.useRef(null);
45
- const [isOpen, close, open] = useBooleanState(false);
46
-
47
- return (
48
- <>
49
- <IconButton label="Open popover" ref={anchorRef} onClick={open} icon={mdiMenuDown} />
50
- <PopoverDialog
51
- anchorRef={anchorRef}
52
- isOpen={isOpen}
53
- onClose={close}
54
- placement="bottom"
55
- className="lumx-spacing-padding-huge"
56
- label="Example popover"
57
- {...props}
58
- >
59
- <Button onClick={close}>Close</Button>
60
- {children}
61
- </PopoverDialog>
62
- </>
63
- );
64
- };
@@ -1,139 +0,0 @@
1
- import { render, screen, within } from '@testing-library/react';
2
- import userEvent from '@testing-library/user-event';
3
-
4
- import { Heading, HeadingLevelProvider } from '@lumx/react';
5
- import { WithButtonTrigger, WithIconButtonTrigger } from './PopoverDialog.stories';
6
- import { PopoverDialog } from './PopoverDialog';
7
-
8
- vi.mock('@lumx/react/utils/browser/isFocusVisible');
9
-
10
- describe(`<${PopoverDialog.displayName}>`, () => {
11
- it('should open and init focus', async () => {
12
- const label = 'Test Label';
13
- render(<WithButtonTrigger label={label} />);
14
-
15
- // Open popover
16
- const triggerElement = screen.getByRole('button', { name: 'Open popover' });
17
- await userEvent.click(triggerElement);
18
-
19
- const dialog = await screen.findByRole('dialog', { name: label });
20
-
21
- // Focused the first button
22
- expect(within(dialog).getAllByRole('button')[0]).toHaveFocus();
23
- });
24
-
25
- it('should work with aria-label', async () => {
26
- const label = 'Test Label';
27
- render(<WithButtonTrigger aria-label={label} />);
28
-
29
- // Open popover
30
- const triggerElement = screen.getByRole('button', { name: 'Open popover' });
31
- await userEvent.click(triggerElement);
32
-
33
- expect(await screen.findByRole('dialog', { name: label })).toBeInTheDocument();
34
- });
35
-
36
- it('should trap focus', async () => {
37
- const label = 'Test Label';
38
- render(<WithButtonTrigger label={label} />);
39
-
40
- // Open popover
41
- const triggerElement = screen.getByRole('button', { name: 'Open popover' });
42
- await userEvent.click(triggerElement);
43
-
44
- const dialog = await screen.findByRole('dialog', { name: label });
45
-
46
- const dialogButtons = within(dialog).getAllByRole('button');
47
-
48
- // First button should have focus by default on opening
49
- expect(dialogButtons[0]).toHaveFocus();
50
-
51
- // Tab to next button
52
- await userEvent.tab();
53
-
54
- // Second button should have focus
55
- expect(dialogButtons[1]).toHaveFocus();
56
-
57
- // Tab to next button
58
- await userEvent.tab();
59
-
60
- // As there is no more button, focus should loop back to first button.
61
- expect(dialogButtons[0]).toHaveFocus();
62
- });
63
-
64
- it('should close on escape and restore focus to trigger', async () => {
65
- const label = 'Test Label';
66
- render(<WithButtonTrigger label={label} />);
67
-
68
- // Open popover
69
- const triggerElement = screen.getByRole('button', { name: 'Open popover' });
70
- await userEvent.click(triggerElement);
71
-
72
- const dialog = await screen.findByRole('dialog', { name: label });
73
-
74
- // Close the popover
75
- await userEvent.keyboard('{escape}');
76
-
77
- expect(dialog).not.toBeInTheDocument();
78
-
79
- // Focus restored to the trigger element
80
- expect(triggerElement).toHaveFocus();
81
- });
82
-
83
- it('should close externally and restore focus to trigger', async () => {
84
- const label = 'Test Label';
85
- render(<WithButtonTrigger label={label} />);
86
-
87
- // Open popover
88
- const triggerElement = screen.getByRole('button', { name: 'Open popover' });
89
- await userEvent.click(triggerElement);
90
-
91
- const dialog = await screen.findByRole('dialog', { name: label });
92
-
93
- // Close the popover
94
- await userEvent.click(screen.getByRole('button', { name: 'Close' }));
95
-
96
- expect(dialog).not.toBeInTheDocument();
97
-
98
- // Focus restored to the trigger element
99
- expect(triggerElement).toHaveFocus();
100
- });
101
-
102
- it('should close on escape and restore focus to trigger having a tooltip', async () => {
103
- const label = 'Test Label';
104
- render(<WithIconButtonTrigger label={label} />);
105
-
106
- // Open popover
107
- const triggerElement = screen.getByRole('button', { name: 'Open popover' });
108
- await userEvent.click(triggerElement);
109
-
110
- const dialog = await screen.findByRole('dialog', { name: label });
111
-
112
- // Close the popover
113
- await userEvent.keyboard('{escape}');
114
-
115
- expect(dialog).not.toBeInTheDocument();
116
-
117
- // Focus restored to the trigger element
118
- expect(triggerElement).toHaveFocus();
119
- });
120
-
121
- it('should have reset the heading level context', async () => {
122
- render(
123
- // This level context should not affect headings inside the popover dialog
124
-
125
- <HeadingLevelProvider level={3}>
126
- <WithIconButtonTrigger>
127
- {/* Heading inside the popover dialog */}
128
- <Heading>Title</Heading>
129
- </WithIconButtonTrigger>
130
- </HeadingLevelProvider>,
131
- );
132
-
133
- // Open popover
134
- await userEvent.click(screen.getByRole('button', { name: 'Open popover' }));
135
-
136
- // Heading inside should use the popover dialog heading level 2
137
- expect(screen.getByRole('heading', { name: 'Title', level: 2 })).toBeInTheDocument();
138
- });
139
- });
@@ -1,74 +0,0 @@
1
- import classNames from 'classnames';
2
-
3
- import { HasAriaLabelOrLabelledBy } from '@lumx/react/utils/type';
4
- import { getRootClassName } from '@lumx/core/js/utils/className';
5
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
6
-
7
- import { HeadingLevelProvider } from '@lumx/react/components/heading';
8
- import { Popover, PopoverProps } from '../popover/Popover';
9
-
10
- /**
11
- * PopoverDialog props.
12
- * The PopoverDialog has the same props as the Popover but requires an accessible label.
13
- */
14
- export type PopoverDialogProps = PopoverProps & HasAriaLabelOrLabelledBy;
15
-
16
- /**
17
- * Component display name.
18
- */
19
- const COMPONENT_NAME = 'PopoverDialog';
20
-
21
- /**
22
- * Component default class name and class prefix.
23
- */
24
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
25
-
26
- /**
27
- * Component default props.
28
- */
29
- const DEFAULT_PROPS: Partial<PopoverDialogProps> = {};
30
-
31
- /**
32
- * PopoverDialog component.
33
- * Defines a popover that acts like a dialog
34
- * * Has a dialog aria role
35
- * * Sets a focus trap within the popover
36
- * * Closes on click away and escape.
37
- */
38
- export const PopoverDialog = forwardRef<PopoverDialogProps, HTMLDivElement>((props, ref) => {
39
- const {
40
- children,
41
- isOpen,
42
- focusElement,
43
- 'aria-label': ariaLabel,
44
- label = ariaLabel,
45
- className,
46
- ...forwardedProps
47
- } = props;
48
-
49
- return (
50
- <Popover
51
- {...forwardedProps}
52
- ref={ref}
53
- className={classNames(className, CLASSNAME)}
54
- role="dialog"
55
- aria-modal="true"
56
- /**
57
- * If a label is set, set as aria-label.
58
- * If it is undefined, the label can be set using the `aria-label` and `aria-labelledby` props
59
- */
60
- aria-label={label}
61
- isOpen={isOpen}
62
- focusElement={focusElement}
63
- closeOnClickAway
64
- closeOnEscape
65
- withFocusTrap
66
- >
67
- <HeadingLevelProvider level={2}>{children}</HeadingLevelProvider>
68
- </Popover>
69
- );
70
- });
71
-
72
- PopoverDialog.displayName = COMPONENT_NAME;
73
- PopoverDialog.className = CLASSNAME;
74
- PopoverDialog.defaultProps = DEFAULT_PROPS;
@@ -1 +0,0 @@
1
- export * from './PopoverDialog';
@@ -1,27 +0,0 @@
1
- import { commonTestsSuiteRTL, SetupRenderOptions } from '@lumx/react/testing/utils';
2
- import { render } from '@testing-library/react';
3
- import { queryByClassName } from '@lumx/react/testing/utils/queries';
4
- import { PostBlock, PostBlockProps } from './PostBlock';
5
-
6
- const CLASSNAME = PostBlock.className as string;
7
-
8
- const setup = (props: Partial<PostBlockProps> = {}, { wrapper }: SetupRenderOptions = {}) => {
9
- render(<PostBlock {...(props as any)} />, { wrapper });
10
- const postBlock = queryByClassName(document.body, CLASSNAME);
11
- return { props, postBlock };
12
- };
13
-
14
- describe(`<${PostBlock.displayName}>`, () => {
15
- // Common tests suite.
16
- commonTestsSuiteRTL(setup, {
17
- baseClassName: CLASSNAME,
18
- forwardClassName: 'postBlock',
19
- forwardAttributes: 'postBlock',
20
- applyTheme: {
21
- affects: [{ element: 'postBlock' }],
22
- viaProp: true,
23
- viaContext: true,
24
- defaultTheme: 'light',
25
- },
26
- });
27
- });
@@ -1,122 +0,0 @@
1
- import { ReactNode } from 'react';
2
-
3
- import classNames from 'classnames';
4
- import isObject from 'lodash/isObject';
5
-
6
- import { Orientation, Theme, Thumbnail, ThumbnailProps, ThumbnailVariant } from '@lumx/react';
7
- import { GenericProps, HasTheme } from '@lumx/react/utils/type';
8
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
9
- import { useTheme } from '@lumx/react/utils/theme/ThemeContext';
10
- import { forwardRef } from '@lumx/react/utils/react/forwardRef';
11
-
12
- /**
13
- * Defines the props of the component.
14
- */
15
- export interface PostBlockProps extends GenericProps, HasTheme {
16
- /** Action toolbar content. */
17
- actions?: ReactNode;
18
- /** Attachment content. */
19
- attachments?: ReactNode;
20
- /** Author content. */
21
- author?: ReactNode;
22
- /** Metadata content. */
23
- meta?: ReactNode;
24
- /** Orientation. */
25
- orientation?: Orientation;
26
- /** Tag content. */
27
- tags?: ReactNode;
28
- /** Content (string, or sanitized html). */
29
- text?: string | { __html: string };
30
- /** Thumbnail. */
31
- thumbnailProps?: ThumbnailProps;
32
- /** Title. */
33
- title: string;
34
- /** On click callback. */
35
- onClick?(): void;
36
- }
37
-
38
- /**
39
- * Component display name.
40
- */
41
- const COMPONENT_NAME = 'PostBlock';
42
-
43
- /**
44
- * Component default class name and class prefix.
45
- */
46
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
47
-
48
- /**
49
- * Component default props.
50
- */
51
- const DEFAULT_PROPS: Partial<PostBlockProps> = {
52
- orientation: Orientation.horizontal,
53
- };
54
-
55
- /**
56
- * PostBlock component.
57
- *
58
- * @param props Component props.
59
- * @param ref Component ref.
60
- * @return React element.
61
- */
62
- export const PostBlock = forwardRef<PostBlockProps, HTMLDivElement>((props, ref) => {
63
- const defaultTheme = useTheme() || Theme.light;
64
- const {
65
- actions,
66
- attachments,
67
- author,
68
- className,
69
- meta,
70
- onClick,
71
- orientation = DEFAULT_PROPS.orientation,
72
- tags,
73
- text,
74
- theme = defaultTheme,
75
- thumbnailProps,
76
- title,
77
- ...forwardedProps
78
- } = props;
79
-
80
- return (
81
- <div
82
- ref={ref}
83
- className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, orientation, theme }))}
84
- {...forwardedProps}
85
- >
86
- {thumbnailProps && (
87
- <div className={`${CLASSNAME}__thumbnail`}>
88
- <Thumbnail {...thumbnailProps} theme={theme} variant={ThumbnailVariant.rounded} />
89
- </div>
90
- )}
91
- <div className={`${CLASSNAME}__wrapper`}>
92
- {author && <div className={`${CLASSNAME}__author`}>{author}</div>}
93
-
94
- {title && (
95
- <button type="button" className={`${CLASSNAME}__title`} onClick={onClick}>
96
- {title}
97
- </button>
98
- )}
99
-
100
- {meta && <span className={`${CLASSNAME}__meta`}>{meta}</span>}
101
-
102
- {isObject(text) && text.__html ? (
103
- // eslint-disable-next-line react/no-danger
104
- <p dangerouslySetInnerHTML={text} className={`${CLASSNAME}__text`} />
105
- ) : (
106
- <p className={`${CLASSNAME}__text`}>{text}</p>
107
- )}
108
-
109
- {attachments && <div className={`${CLASSNAME}__attachments`}>{attachments}</div>}
110
- {(tags || actions) && (
111
- <div className={`${CLASSNAME}__toolbar`}>
112
- {tags && <div className={`${CLASSNAME}__tags`}>{tags}</div>}
113
- {actions && <div className={`${CLASSNAME}__actions`}>{actions}</div>}
114
- </div>
115
- )}
116
- </div>
117
- </div>
118
- );
119
- });
120
- PostBlock.displayName = COMPONENT_NAME;
121
- PostBlock.className = CLASSNAME;
122
- PostBlock.defaultProps = DEFAULT_PROPS;
@@ -1 +0,0 @@
1
- export * from './PostBlock';