@lumx/react 3.0.1 → 3.0.2-alpha-react-utils.2

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 (619) hide show
  1. package/{esm/_internal/useDisableBodyScroll.js → _internal/0062d1bc.js} +1 -1
  2. package/_internal/0062d1bc.js.map +1 -0
  3. package/_internal/03e8323d.d.ts +118 -0
  4. package/_internal/0402f9bc.d.ts +183 -0
  5. package/{esm/_internal/List2.js → _internal/0b370acc.js} +7 -10
  6. package/_internal/0b370acc.js.map +1 -0
  7. package/_internal/0d154d73.d.ts +67 -0
  8. package/_internal/113e3b40.d.ts +31 -0
  9. package/{esm/_internal/InputLabel.js → _internal/12ab39e4.js} +4 -4
  10. package/_internal/12ab39e4.js.map +1 -0
  11. package/{esm/_internal/DatePickerField.js → _internal/13e759f3.js} +10 -14
  12. package/_internal/13e759f3.js.map +1 -0
  13. package/{esm/_internal/SideNavigationItem.js → _internal/158b46d5.js} +8 -8
  14. package/_internal/158b46d5.js.map +1 -0
  15. package/_internal/17b74e16.d.ts +31 -0
  16. package/_internal/1b1530a4.d.ts +43 -0
  17. package/_internal/20976405.js +87 -0
  18. package/_internal/20976405.js.map +1 -0
  19. package/_internal/20b0e9a5.d.ts +77 -0
  20. package/{esm/_internal/Chip2.js → _internal/26cd9c63.js} +4 -4
  21. package/_internal/26cd9c63.js.map +1 -0
  22. package/{esm/_internal/ListSubheader.js → _internal/27f21164.js} +3 -3
  23. package/_internal/27f21164.js.map +1 -0
  24. package/{esm/_internal/constants.js → _internal/288dfd0f.js} +1 -1
  25. package/_internal/288dfd0f.js.map +1 -0
  26. package/_internal/28aaf23a.d.ts +41 -0
  27. package/_internal/2c829c0b.d.ts +57 -0
  28. package/{esm/_internal/useFocusTrap.js → _internal/2cc0aec5.js} +3 -3
  29. package/_internal/2cc0aec5.js.map +1 -0
  30. package/{esm/_internal/types.js → _internal/2d0a5b28.js} +3 -3
  31. package/_internal/2d0a5b28.js.map +1 -0
  32. package/_internal/2d4b5a5e.d.ts +92 -0
  33. package/_internal/2d770113.d.ts +38 -0
  34. package/{esm/_internal/TableRow.js → _internal/2fe97f00.js} +5 -5
  35. package/_internal/2fe97f00.js.map +1 -0
  36. package/_internal/31c16fa0.d.ts +37 -0
  37. package/{esm/_internal/renderLink.js → _internal/329a01d3.js} +2 -2
  38. package/_internal/329a01d3.js.map +1 -0
  39. package/{esm/_internal/SkeletonTypography.js → _internal/3326e990.js} +4 -4
  40. package/_internal/3326e990.js.map +1 -0
  41. package/{esm/_internal/IconButton.js → _internal/377b2f44.js} +7 -11
  42. package/_internal/377b2f44.js.map +1 -0
  43. package/{esm/_internal/CommentBlock.js → _internal/3b8d2a6e.js} +6 -6
  44. package/_internal/3b8d2a6e.js.map +1 -0
  45. package/_internal/3bd3186e.d.ts +57 -0
  46. package/{esm/_internal/ImageBlock.js → _internal/48e40868.js} +5 -5
  47. package/_internal/48e40868.js.map +1 -0
  48. package/{esm/_internal/TextField.js → _internal/490ec1da.js} +10 -10
  49. package/_internal/490ec1da.js.map +1 -0
  50. package/_internal/49127d69.d.ts +52 -0
  51. package/{esm/_internal/Message2.js → _internal/4dcd87cb.js} +5 -5
  52. package/_internal/4dcd87cb.js.map +1 -0
  53. package/{esm/_internal/Dropdown2.js → _internal/4f44d848.js} +6 -6
  54. package/_internal/4f44d848.js.map +1 -0
  55. package/{esm/_internal/partitionMulti.js → _internal/4fc64a2e.js} +2 -2
  56. package/_internal/4fc64a2e.js.map +1 -0
  57. package/_internal/53a831be.js +108 -0
  58. package/_internal/53a831be.js.map +1 -0
  59. package/_internal/55271fa1.d.ts +34 -0
  60. package/_internal/55d30377.d.ts +22 -0
  61. package/{esm/_internal/Switch2.js → _internal/56385b04.js} +7 -7
  62. package/_internal/56385b04.js.map +1 -0
  63. package/_internal/599e250a.d.ts +88 -0
  64. package/_internal/5a054691.d.ts +33 -0
  65. package/{esm/_internal/Avatar2.js → _internal/5a127b58.js} +5 -5
  66. package/_internal/5a127b58.js.map +1 -0
  67. package/{esm/_internal/ExpansionPanel.js → _internal/5a1c0db4.js} +10 -10
  68. package/_internal/5a1c0db4.js.map +1 -0
  69. package/{esm/_internal/RadioGroup.js → _internal/5babcc39.js} +7 -7
  70. package/_internal/5babcc39.js.map +1 -0
  71. package/_internal/5c1bf4d4.d.ts +81 -0
  72. package/_internal/5d8ed4ee.js +113 -0
  73. package/_internal/5d8ed4ee.js.map +1 -0
  74. package/{esm/_internal/Thumbnail2.js → _internal/616f2912.js} +6 -6
  75. package/_internal/616f2912.js.map +1 -0
  76. package/_internal/61f915de.d.ts +49 -0
  77. package/{esm/_internal/ChipGroup.js → _internal/620081fa.js} +4 -4
  78. package/_internal/620081fa.js.map +1 -0
  79. package/{esm/_internal/_rollupPluginBabelHelpers.js → _internal/6340c129.js} +18 -2
  80. package/_internal/6340c129.js.map +1 -0
  81. package/_internal/6581c863.d.ts +34 -0
  82. package/_internal/66de4d45.d.ts +32 -0
  83. package/_internal/6735c5c8.d.ts +62 -0
  84. package/_internal/69dd1472.js +112 -0
  85. package/_internal/69dd1472.js.map +1 -0
  86. package/{esm/_internal/Slider2.js → _internal/6a0e1c77.js} +7 -7
  87. package/_internal/6a0e1c77.js.map +1 -0
  88. package/_internal/701c20b0.d.ts +24 -0
  89. package/{esm/_internal/Progress2.js → _internal/7391188a.js} +4 -4
  90. package/_internal/7391188a.js.map +1 -0
  91. package/{esm/_internal/ButtonRoot.js → _internal/74cb6c26.js} +6 -5
  92. package/_internal/74cb6c26.js.map +1 -0
  93. package/{esm/_internal/ProgressTrackerStepPanel.js → _internal/761031bf.js} +11 -9
  94. package/_internal/761031bf.js.map +1 -0
  95. package/{esm/_internal/DragHandle.js → _internal/76fed69d.js} +5 -5
  96. package/_internal/76fed69d.js.map +1 -0
  97. package/{esm/_internal/type.js → _internal/78ef8e34.js} +1 -1
  98. package/_internal/78ef8e34.js.map +1 -0
  99. package/_internal/7b906e16.d.ts +17 -0
  100. package/_internal/7be11ddc.d.ts +35 -0
  101. package/_internal/7d39705e.d.ts +20 -0
  102. package/{esm/_internal/useDelayedVisibility.js → _internal/7e03266f.js} +2 -2
  103. package/_internal/7e03266f.js.map +1 -0
  104. package/{esm/_internal/Button2.js → _internal/7e8d0ac5.js} +6 -6
  105. package/_internal/7e8d0ac5.js.map +1 -0
  106. package/{esm/_internal/Flag2.js → _internal/7ffa45f6.js} +5 -5
  107. package/_internal/7ffa45f6.js.map +1 -0
  108. package/{esm/_internal/AutocompleteMultiple.js → _internal/84c1ec44.js} +10 -10
  109. package/_internal/84c1ec44.js.map +1 -0
  110. package/{esm/_internal/PostBlock.js → _internal/8518279f.js} +6 -6
  111. package/_internal/8518279f.js.map +1 -0
  112. package/{esm/_internal/mergeRefs.js → _internal/853713cd.js} +1 -1
  113. package/_internal/853713cd.js.map +1 -0
  114. package/_internal/86566d75.d.ts +27 -0
  115. package/_internal/86d22dde.d.ts +57 -0
  116. package/_internal/8e755ded.d.ts +101 -0
  117. package/_internal/901471f5.d.ts +37 -0
  118. package/_internal/935ce959.d.ts +49 -0
  119. package/_internal/97089888.d.ts +16 -0
  120. package/_internal/97cc728c.d.ts +26 -0
  121. package/{esm/_internal/Popover2.js → _internal/9ab3c637.js} +7 -6
  122. package/_internal/9ab3c637.js.map +1 -0
  123. package/{esm/_internal/Toolbar2.js → _internal/9ca3f59c.js} +3 -3
  124. package/_internal/9ca3f59c.js.map +1 -0
  125. package/_internal/9e95ea38.d.ts +43 -0
  126. package/{esm/_internal/Uploader2.js → _internal/a0108f92.js} +5 -5
  127. package/_internal/a0108f92.js.map +1 -0
  128. package/_internal/a493a193.d.ts +65 -0
  129. package/{esm/_internal/Icon2.js → _internal/a521723d.js} +4 -4
  130. package/_internal/a521723d.js.map +1 -0
  131. package/_internal/a6fad025.d.ts +107 -0
  132. package/{esm/_internal/Lightbox2.js → _internal/a8fa525f.js} +13 -12
  133. package/_internal/a8fa525f.js.map +1 -0
  134. package/{esm/_internal/AlertDialog.js → _internal/aca2ecf5.js} +9 -9
  135. package/_internal/aca2ecf5.js.map +1 -0
  136. package/{esm/_internal/Divider2.js → _internal/aef2ef1c.js} +5 -5
  137. package/_internal/aef2ef1c.js.map +1 -0
  138. package/{esm/_internal/Mosaic2.js → _internal/af048b0c.js} +5 -5
  139. package/_internal/af048b0c.js.map +1 -0
  140. package/_internal/af2cd0cd.d.ts +17 -0
  141. package/{esm/_internal/Slides.js → _internal/afec6b62.js} +278 -87
  142. package/_internal/afec6b62.js.map +1 -0
  143. package/{esm/_internal/InputHelper.js → _internal/b0eb3a30.js} +4 -4
  144. package/_internal/b0eb3a30.js.map +1 -0
  145. package/{esm/_internal/Dialog2.js → _internal/b89517ea.js} +14 -13
  146. package/_internal/b89517ea.js.map +1 -0
  147. package/{esm/_internal/Checkbox2.js → _internal/bafa6fcc.js} +8 -8
  148. package/_internal/bafa6fcc.js.map +1 -0
  149. package/{esm/_internal/ButtonGroup.js → _internal/bbbeb49e.js} +3 -7
  150. package/_internal/bbbeb49e.js.map +1 -0
  151. package/_internal/c11f6162.d.ts +52 -0
  152. package/{esm/_internal/Notification2.js → _internal/c723dab4.js} +8 -8
  153. package/_internal/c723dab4.js.map +1 -0
  154. package/_internal/c87cc857.d.ts +42 -0
  155. package/{esm/_internal/SelectMultiple.js → _internal/c97f8d04.js} +13 -13
  156. package/_internal/c97f8d04.js.map +1 -0
  157. package/_internal/cbb373ea.d.ts +6 -0
  158. package/_internal/cbef23b6.d.ts +104 -0
  159. package/_internal/cdf77f06.d.ts +88 -0
  160. package/{esm/_internal/LinkPreview.js → _internal/d350f2ff.js} +6 -6
  161. package/_internal/d350f2ff.js.map +1 -0
  162. package/{esm/_internal/Badge2.js → _internal/d71a8cf7.js} +4 -4
  163. package/_internal/d71a8cf7.js.map +1 -0
  164. package/{esm/_internal/GridItem.js → _internal/d9337952.js} +4 -4
  165. package/_internal/d9337952.js.map +1 -0
  166. package/_internal/def14e1a.d.ts +24 -0
  167. package/_internal/e0cd29c7.d.ts +35 -0
  168. package/{esm/_internal/useRovingTabIndex.js → _internal/e354228f.js} +4 -81
  169. package/_internal/e354228f.js.map +1 -0
  170. package/_internal/e3922a05.d.ts +22 -0
  171. package/_internal/e3cb6177.d.ts +75 -0
  172. package/_internal/e810c841.d.ts +182 -0
  173. package/_internal/ea700b01.d.ts +43 -0
  174. package/_internal/eca6d4dc.d.ts +269 -0
  175. package/{esm/_internal/Link2.js → _internal/eed07003.js} +6 -6
  176. package/_internal/eed07003.js.map +1 -0
  177. package/_internal/f1c9b334.d.ts +22 -0
  178. package/{esm/_internal/TabPanel.js → _internal/f3c3a674.js} +9 -7
  179. package/_internal/f3c3a674.js.map +1 -0
  180. package/{esm/_internal/UserBlock.js → _internal/f571cdcd.js} +6 -6
  181. package/_internal/f571cdcd.js.map +1 -0
  182. package/{esm/_internal/Tooltip2.js → _internal/f5bdff7e.js} +8 -8
  183. package/_internal/f5bdff7e.js.map +1 -0
  184. package/_internal/f851fc00.d.ts +34 -0
  185. package/_internal/f859b007.d.ts +49 -0
  186. package/_internal/fb384b79.d.ts +38 -0
  187. package/_internal/fc4c034b.js +63 -0
  188. package/_internal/fc4c034b.js.map +1 -0
  189. package/{esm/index2.js → _internal/fc608bd9.js} +1 -1
  190. package/_internal/fc608bd9.js.map +1 -0
  191. package/_internal/fd1f4d68.d.ts +36 -0
  192. package/{esm/_internal/getRootClassName.js → _internal/fd867c9d.js} +33 -33
  193. package/_internal/fd867c9d.js.map +1 -0
  194. package/{esm/_internal/FlexBox.js → _internal/ff8081e5.js} +9 -7
  195. package/_internal/ff8081e5.js.map +1 -0
  196. package/{esm/_internal/GenericBlock.js → _internal/ffd1bfe3.js} +7 -9
  197. package/_internal/ffd1bfe3.js.map +1 -0
  198. package/components/alert-dialog.d.ts +6 -0
  199. package/components/alert-dialog.js +2 -0
  200. package/{esm/_internal → components}/alert-dialog.js.map +1 -1
  201. package/components/autocomplete.d.ts +8 -0
  202. package/components/autocomplete.js +2 -0
  203. package/{esm/_internal → components}/autocomplete.js.map +1 -1
  204. package/components/avatar.d.ts +4 -0
  205. package/components/avatar.js +2 -0
  206. package/{esm/_internal → components}/avatar.js.map +1 -1
  207. package/components/badge.d.ts +3 -0
  208. package/components/badge.js +2 -0
  209. package/{esm/_internal → components}/badge.js.map +1 -1
  210. package/components/button.d.ts +8 -0
  211. package/components/button.js +4 -0
  212. package/{esm/_internal → components}/button.js.map +1 -1
  213. package/components/checkbox.d.ts +3 -0
  214. package/components/checkbox.js +2 -0
  215. package/{esm/_internal → components}/checkbox.js.map +1 -1
  216. package/components/chip.d.ts +3 -0
  217. package/components/chip.js +3 -0
  218. package/{esm/_internal → components}/chip.js.map +1 -1
  219. package/components/comment-block.d.ts +5 -0
  220. package/components/comment-block.js +2 -0
  221. package/{esm/_internal → components}/comment-block.js.map +1 -1
  222. package/components/date-picker.d.ts +7 -0
  223. package/components/date-picker.js +2 -0
  224. package/{esm/_internal → components}/date-picker.js.map +1 -1
  225. package/components/dialog.d.ts +3 -0
  226. package/components/dialog.js +2 -0
  227. package/{esm/_internal → components}/dialog.js.map +1 -1
  228. package/components/divider.d.ts +3 -0
  229. package/components/divider.js +2 -0
  230. package/{esm/_internal → components}/divider.js.map +1 -1
  231. package/components/drag-handle.d.ts +3 -0
  232. package/components/drag-handle.js +2 -0
  233. package/{esm/_internal → components}/drag-handle.js.map +1 -1
  234. package/components/dropdown.d.ts +4 -0
  235. package/components/dropdown.js +2 -0
  236. package/{esm/_internal → components}/dropdown.js.map +1 -1
  237. package/components/expansion-panel.d.ts +7 -0
  238. package/components/expansion-panel.js +2 -0
  239. package/components/expansion-panel.js.map +1 -0
  240. package/components/flag.d.ts +3 -0
  241. package/components/flag.js +2 -0
  242. package/{esm/_internal → components}/flag.js.map +1 -1
  243. package/components/flex-box.d.ts +3 -0
  244. package/components/flex-box.js +2 -0
  245. package/{esm/_internal → components}/flex-box.js.map +1 -1
  246. package/components/generic-block.d.ts +4 -0
  247. package/components/generic-block.js +2 -0
  248. package/{esm/_internal → components}/generic-block.js.map +1 -1
  249. package/components/grid.d.ts +3 -0
  250. package/components/grid.js +2 -0
  251. package/{esm/_internal → components}/grid.js.map +1 -1
  252. package/components/heading.d.ts +4 -0
  253. package/components/heading.js +2 -0
  254. package/components/heading.js.map +1 -0
  255. package/components/icon.d.ts +3 -0
  256. package/components/icon.js +2 -0
  257. package/{esm/_internal → components}/icon.js.map +1 -1
  258. package/components/image-block.d.ts +4 -0
  259. package/components/image-block.js +2 -0
  260. package/{esm/_internal → components}/image-block.js.map +1 -1
  261. package/components/input-helper.d.ts +3 -0
  262. package/components/input-helper.js +2 -0
  263. package/{esm/_internal → components}/input-helper.js.map +1 -1
  264. package/components/input-label.d.ts +3 -0
  265. package/components/input-label.js +2 -0
  266. package/{esm/_internal → components}/input-label.js.map +1 -1
  267. package/components/lightbox.d.ts +7 -0
  268. package/components/lightbox.js +2 -0
  269. package/{esm/_internal → components}/lightbox.js.map +1 -1
  270. package/components/link-preview.d.ts +5 -0
  271. package/components/link-preview.js +2 -0
  272. package/{esm/_internal → components}/link-preview.js.map +1 -1
  273. package/components/link.d.ts +3 -0
  274. package/components/link.js +2 -0
  275. package/{esm/_internal → components}/link.js.map +1 -1
  276. package/components/list.d.ts +3 -0
  277. package/components/list.js +3 -0
  278. package/{esm/_internal → components}/list.js.map +1 -1
  279. package/components/message.d.ts +3 -0
  280. package/components/message.js +2 -0
  281. package/{esm/_internal → components}/message.js.map +1 -1
  282. package/components/mosaic.d.ts +4 -0
  283. package/components/mosaic.js +2 -0
  284. package/{esm/_internal → components}/mosaic.js.map +1 -1
  285. package/components/notification.d.ts +3 -0
  286. package/components/notification.js +2 -0
  287. package/{esm/_internal → components}/notification.js.map +1 -1
  288. package/components/popover.d.ts +3 -0
  289. package/components/popover.js +2 -0
  290. package/{esm/_internal → components}/popover.js.map +1 -1
  291. package/components/post-block.d.ts +4 -0
  292. package/components/post-block.js +2 -0
  293. package/{esm/_internal → components}/post-block.js.map +1 -1
  294. package/components/progress-tracker.d.ts +3 -0
  295. package/components/progress-tracker.js +2 -0
  296. package/{esm/_internal → components}/progress-tracker.js.map +1 -1
  297. package/components/progress.d.ts +3 -0
  298. package/components/progress.js +2 -0
  299. package/{esm/_internal → components}/progress.js.map +1 -1
  300. package/components/radio-button.d.ts +3 -0
  301. package/components/radio-button.js +2 -0
  302. package/{esm/_internal → components}/radio-button.js.map +1 -1
  303. package/components/select.d.ts +7 -0
  304. package/components/select.js +2 -0
  305. package/{esm/_internal → components}/select.js.map +1 -1
  306. package/components/side-navigation.d.ts +7 -0
  307. package/components/side-navigation.js +2 -0
  308. package/{esm/_internal → components}/side-navigation.js.map +1 -1
  309. package/components/skeleton.d.ts +3 -0
  310. package/components/skeleton.js +2 -0
  311. package/{esm/_internal → components}/skeleton.js.map +1 -1
  312. package/components/slider.d.ts +3 -0
  313. package/components/slider.js +2 -0
  314. package/{esm/_internal → components}/slider.js.map +1 -1
  315. package/components/slideshow.d.ts +7 -0
  316. package/components/slideshow.js +2 -0
  317. package/{esm/_internal → components}/slideshow.js.map +1 -1
  318. package/components/switch.d.ts +3 -0
  319. package/components/switch.js +2 -0
  320. package/{esm/_internal → components}/switch.js.map +1 -1
  321. package/components/table.d.ts +3 -0
  322. package/components/table.js +2 -0
  323. package/{esm/_internal → components}/table.js.map +1 -1
  324. package/components/tabs.d.ts +4 -0
  325. package/components/tabs.js +2 -0
  326. package/{esm/_internal → components}/tabs.js.map +1 -1
  327. package/components/text-field.d.ts +7 -0
  328. package/components/text-field.js +2 -0
  329. package/{esm/_internal → components}/text-field.js.map +1 -1
  330. package/components/text.d.ts +3 -0
  331. package/components/text.js +2 -0
  332. package/components/text.js.map +1 -0
  333. package/components/thumbnail.d.ts +4 -0
  334. package/components/thumbnail.js +3 -0
  335. package/{esm/_internal → components}/thumbnail.js.map +1 -1
  336. package/components/toolbar.d.ts +3 -0
  337. package/components/toolbar.js +2 -0
  338. package/{esm/_internal → components}/toolbar.js.map +1 -1
  339. package/components/tooltip.d.ts +4 -0
  340. package/components/tooltip.js +2 -0
  341. package/{esm/_internal → components}/tooltip.js.map +1 -1
  342. package/components/uploader.d.ts +3 -0
  343. package/components/uploader.js +2 -0
  344. package/{esm/_internal → components}/uploader.js.map +1 -1
  345. package/components/user-block.d.ts +5 -0
  346. package/components/user-block.js +2 -0
  347. package/{esm/_internal → components}/user-block.js.map +1 -1
  348. package/components.d.ts +2 -0
  349. package/{esm/_internal/components.js → components.js} +2 -1
  350. package/components.js.map +1 -0
  351. package/index.d.ts +56 -0
  352. package/index.js +57 -0
  353. package/{esm/index.js.map → index.js.map} +1 -1
  354. package/package.json +7 -7
  355. package/src/components/alert-dialog/AlertDialog.tsx +2 -1
  356. package/src/components/autocomplete/Autocomplete.tsx +2 -2
  357. package/src/components/autocomplete/AutocompleteMultiple.tsx +2 -1
  358. package/src/components/avatar/Avatar.tsx +2 -1
  359. package/src/components/badge/Badge.test.tsx +1 -1
  360. package/src/components/badge/Badge.tsx +2 -1
  361. package/src/components/button/Button.test.tsx +1 -1
  362. package/src/components/button/Button.tsx +2 -1
  363. package/src/components/button/ButtonGroup.tsx +2 -1
  364. package/src/components/button/ButtonRoot.test.tsx +1 -1
  365. package/src/components/button/ButtonRoot.tsx +2 -1
  366. package/src/components/button/IconButton.tsx +2 -1
  367. package/src/components/checkbox/Checkbox.test.tsx +1 -1
  368. package/src/components/checkbox/Checkbox.tsx +2 -1
  369. package/src/components/chip/Chip.test.tsx +1 -1
  370. package/src/components/chip/Chip.tsx +3 -1
  371. package/src/components/chip/ChipGroup.tsx +2 -1
  372. package/src/components/comment-block/CommentBlock.tsx +2 -1
  373. package/src/components/date-picker/DatePicker.tsx +1 -1
  374. package/src/components/date-picker/DatePickerControlled.tsx +1 -1
  375. package/src/components/date-picker/DatePickerField.tsx +1 -1
  376. package/src/components/date-picker/constants.ts +1 -1
  377. package/src/components/date-picker/types.ts +1 -1
  378. package/src/components/dialog/Dialog.tsx +4 -8
  379. package/src/components/divider/Divider.test.tsx +1 -1
  380. package/src/components/divider/Divider.tsx +3 -2
  381. package/src/components/drag-handle/DragHandle.tsx +2 -1
  382. package/src/components/dropdown/Dropdown.tsx +2 -1
  383. package/src/components/expansion-panel/ExpansionPanel.test.tsx +1 -1
  384. package/src/components/expansion-panel/ExpansionPanel.tsx +3 -10
  385. package/src/components/flag/Flag.test.tsx +1 -1
  386. package/src/components/flag/Flag.tsx +2 -1
  387. package/src/components/flex-box/FlexBox.stories.tsx +68 -4
  388. package/src/components/flex-box/FlexBox.tsx +14 -7
  389. package/src/components/flex-box/__snapshots__/FlexBox.test.tsx.snap +51 -0
  390. package/src/components/generic-block/GenericBlock.stories.jsx +23 -1
  391. package/src/components/generic-block/GenericBlock.tsx +3 -1
  392. package/src/components/grid/Grid.tsx +2 -1
  393. package/src/components/grid/GridItem.tsx +2 -1
  394. package/src/components/heading/Heading.stories.tsx +108 -0
  395. package/src/components/heading/Heading.test.tsx +77 -0
  396. package/src/components/heading/Heading.tsx +63 -0
  397. package/src/components/heading/HeadingLevelProvider.tsx +30 -0
  398. package/src/components/heading/constants.ts +16 -0
  399. package/src/components/heading/context.tsx +13 -0
  400. package/src/components/heading/index.ts +3 -0
  401. package/src/components/heading/useHeadingLevel.tsx +8 -0
  402. package/src/components/icon/Icon.test.tsx +1 -1
  403. package/src/components/icon/Icon.tsx +2 -1
  404. package/src/components/image-block/ImageBlock.tsx +2 -1
  405. package/src/components/index.ts +2 -1
  406. package/src/components/input-helper/InputHelper.tsx +2 -1
  407. package/src/components/input-label/InputLabel.tsx +2 -1
  408. package/src/components/lightbox/Lightbox.tsx +2 -1
  409. package/src/components/link/Link.tsx +2 -1
  410. package/src/components/link-preview/LinkPreview.test.tsx +1 -1
  411. package/src/components/link-preview/LinkPreview.tsx +2 -1
  412. package/src/components/list/List.tsx +2 -1
  413. package/src/components/list/ListDivider.tsx +2 -1
  414. package/src/components/list/ListItem.tsx +3 -8
  415. package/src/components/list/ListSubheader.tsx +2 -1
  416. package/src/components/list/useInteractiveList.tsx +1 -1
  417. package/src/components/message/Message.test.tsx +1 -1
  418. package/src/components/message/Message.tsx +2 -1
  419. package/src/components/mosaic/Mosaic.tsx +2 -1
  420. package/src/components/notification/Notification.tsx +2 -1
  421. package/src/components/popover/Popover.tsx +2 -1
  422. package/src/components/post-block/PostBlock.tsx +2 -1
  423. package/src/components/progress/Progress.tsx +2 -1
  424. package/src/components/progress-tracker/ProgressTracker.tsx +2 -1
  425. package/src/components/progress-tracker/ProgressTrackerStep.test.tsx +1 -1
  426. package/src/components/progress-tracker/ProgressTrackerStep.tsx +2 -1
  427. package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +2 -1
  428. package/src/components/radio-button/RadioButton.test.tsx +1 -1
  429. package/src/components/radio-button/RadioButton.tsx +2 -1
  430. package/src/components/radio-button/RadioGroup.tsx +2 -1
  431. package/src/components/select/Select.test.tsx +1 -1
  432. package/src/components/select/Select.tsx +2 -1
  433. package/src/components/select/SelectMultiple.test.tsx +1 -1
  434. package/src/components/select/SelectMultiple.tsx +2 -1
  435. package/src/components/select/WithSelectContext.tsx +1 -1
  436. package/src/components/select/constants.ts +1 -1
  437. package/src/components/side-navigation/SideNavigation.tsx +2 -1
  438. package/src/components/side-navigation/SideNavigationItem.test.tsx +1 -1
  439. package/src/components/side-navigation/SideNavigationItem.tsx +3 -9
  440. package/src/components/skeleton/SkeletonCircle.tsx +2 -1
  441. package/src/components/skeleton/SkeletonRectangle.tsx +2 -1
  442. package/src/components/skeleton/SkeletonTypography.tsx +2 -1
  443. package/src/components/slider/Slider.tsx +2 -1
  444. package/src/components/slideshow/Slides.tsx +35 -4
  445. package/src/components/slideshow/Slideshow.stories.tsx +98 -2
  446. package/src/components/slideshow/Slideshow.tsx +16 -4
  447. package/src/components/slideshow/SlideshowControls.stories.tsx +1 -1
  448. package/src/components/slideshow/SlideshowControls.tsx +51 -12
  449. package/src/components/slideshow/SlideshowItem.tsx +2 -6
  450. package/src/components/slideshow/SlideshowItemGroup.tsx +64 -0
  451. package/src/components/slideshow/__snapshots__/Slideshow.test.tsx.snap +4 -1
  452. package/src/components/slideshow/useSlideFocusManagement.tsx +92 -0
  453. package/src/components/switch/Switch.test.tsx +1 -1
  454. package/src/components/switch/Switch.tsx +2 -1
  455. package/src/components/table/Table.tsx +2 -1
  456. package/src/components/table/TableBody.tsx +2 -1
  457. package/src/components/table/TableCell.tsx +3 -1
  458. package/src/components/table/TableHeader.tsx +2 -1
  459. package/src/components/table/TableRow.tsx +2 -1
  460. package/src/components/tabs/Tab.test.tsx +1 -1
  461. package/src/components/tabs/Tab.tsx +2 -1
  462. package/src/components/tabs/TabList.test.tsx +1 -1
  463. package/src/components/tabs/TabList.tsx +2 -1
  464. package/src/components/tabs/TabPanel.tsx +2 -1
  465. package/src/components/text/Text.stories.tsx +80 -0
  466. package/src/components/text/Text.test.tsx +62 -0
  467. package/src/components/text/Text.tsx +95 -0
  468. package/src/components/text/index.ts +1 -0
  469. package/src/components/text-field/TextField.test.tsx +1 -1
  470. package/src/components/text-field/TextField.tsx +2 -1
  471. package/src/components/thumbnail/Thumbnail.tsx +2 -1
  472. package/src/components/thumbnail/types.ts +1 -1
  473. package/src/components/toolbar/Toolbar.tsx +2 -1
  474. package/src/components/tooltip/Tooltip.tsx +2 -1
  475. package/src/components/tooltip/useTooltipOpen.tsx +1 -1
  476. package/src/components/uploader/Uploader.test.tsx +1 -1
  477. package/src/components/uploader/Uploader.tsx +2 -1
  478. package/src/components/user-block/UserBlock.tsx +2 -1
  479. package/src/hooks/useCallbackOnEscape.ts +2 -1
  480. package/src/hooks/useClickAway.tsx +1 -1
  481. package/src/hooks/useDisableBodyScroll.ts +1 -1
  482. package/src/hooks/useFocusTrap.ts +1 -1
  483. package/src/hooks/useInterval.tsx +1 -1
  484. package/src/hooks/useOnResize.ts +1 -1
  485. package/src/hooks/useRovingTabIndex.tsx +9 -0
  486. package/src/index.ts +6 -0
  487. package/src/testing/utils/commonTestsSuite.ts +1 -1
  488. package/src/utils/{getRootClassName.ts → className.ts} +2 -0
  489. package/src/utils/event.ts +1 -0
  490. package/src/utils/focus/constants.ts +5 -0
  491. package/src/utils/focus/getFirstAndLastFocusable.ts +4 -10
  492. package/src/utils/focus/getFocusableElements.test.ts +151 -0
  493. package/src/utils/focus/getFocusableElements.ts +7 -0
  494. package/src/utils/index.ts +5 -0
  495. package/src/utils/utils.test.ts +1 -1
  496. package/types.d.ts +96 -11
  497. package/utils/index.d.ts +29 -0
  498. package/utils/index.js +2 -0
  499. package/utils/index.js.map +1 -0
  500. package/esm/_internal/AlertDialog.js.map +0 -1
  501. package/esm/_internal/AutocompleteMultiple.js.map +0 -1
  502. package/esm/_internal/Avatar2.js.map +0 -1
  503. package/esm/_internal/Badge2.js.map +0 -1
  504. package/esm/_internal/Button2.js.map +0 -1
  505. package/esm/_internal/ButtonGroup.js.map +0 -1
  506. package/esm/_internal/ButtonRoot.js.map +0 -1
  507. package/esm/_internal/Checkbox2.js.map +0 -1
  508. package/esm/_internal/Chip2.js.map +0 -1
  509. package/esm/_internal/ChipGroup.js.map +0 -1
  510. package/esm/_internal/ClickAwayProvider.js +0 -213
  511. package/esm/_internal/ClickAwayProvider.js.map +0 -1
  512. package/esm/_internal/CommentBlock.js.map +0 -1
  513. package/esm/_internal/DatePickerField.js.map +0 -1
  514. package/esm/_internal/Dialog2.js.map +0 -1
  515. package/esm/_internal/Divider2.js.map +0 -1
  516. package/esm/_internal/DragHandle.js.map +0 -1
  517. package/esm/_internal/Dropdown2.js.map +0 -1
  518. package/esm/_internal/ExpansionPanel.js.map +0 -1
  519. package/esm/_internal/Flag2.js.map +0 -1
  520. package/esm/_internal/FlexBox.js.map +0 -1
  521. package/esm/_internal/GenericBlock.js.map +0 -1
  522. package/esm/_internal/GridItem.js.map +0 -1
  523. package/esm/_internal/Icon2.js.map +0 -1
  524. package/esm/_internal/IconButton.js.map +0 -1
  525. package/esm/_internal/ImageBlock.js.map +0 -1
  526. package/esm/_internal/InputHelper.js.map +0 -1
  527. package/esm/_internal/InputLabel.js.map +0 -1
  528. package/esm/_internal/Lightbox2.js.map +0 -1
  529. package/esm/_internal/Link2.js.map +0 -1
  530. package/esm/_internal/LinkPreview.js.map +0 -1
  531. package/esm/_internal/List2.js.map +0 -1
  532. package/esm/_internal/ListSubheader.js.map +0 -1
  533. package/esm/_internal/Message2.js.map +0 -1
  534. package/esm/_internal/Mosaic2.js.map +0 -1
  535. package/esm/_internal/Notification2.js.map +0 -1
  536. package/esm/_internal/Popover2.js.map +0 -1
  537. package/esm/_internal/PostBlock.js.map +0 -1
  538. package/esm/_internal/Progress2.js.map +0 -1
  539. package/esm/_internal/ProgressTrackerStepPanel.js.map +0 -1
  540. package/esm/_internal/RadioGroup.js.map +0 -1
  541. package/esm/_internal/SelectMultiple.js.map +0 -1
  542. package/esm/_internal/SideNavigationItem.js.map +0 -1
  543. package/esm/_internal/SkeletonTypography.js.map +0 -1
  544. package/esm/_internal/Slider2.js.map +0 -1
  545. package/esm/_internal/Slides.js.map +0 -1
  546. package/esm/_internal/Switch2.js.map +0 -1
  547. package/esm/_internal/TabPanel.js.map +0 -1
  548. package/esm/_internal/TableRow.js.map +0 -1
  549. package/esm/_internal/TextField.js.map +0 -1
  550. package/esm/_internal/Thumbnail2.js.map +0 -1
  551. package/esm/_internal/Toolbar2.js.map +0 -1
  552. package/esm/_internal/Tooltip2.js.map +0 -1
  553. package/esm/_internal/Uploader2.js.map +0 -1
  554. package/esm/_internal/UserBlock.js.map +0 -1
  555. package/esm/_internal/_rollupPluginBabelHelpers.js.map +0 -1
  556. package/esm/_internal/alert-dialog.js +0 -34
  557. package/esm/_internal/autocomplete.js +0 -32
  558. package/esm/_internal/avatar.js +0 -13
  559. package/esm/_internal/badge.js +0 -10
  560. package/esm/_internal/button.js +0 -25
  561. package/esm/_internal/checkbox.js +0 -14
  562. package/esm/_internal/chip.js +0 -12
  563. package/esm/_internal/comment-block.js +0 -24
  564. package/esm/_internal/components.js.map +0 -1
  565. package/esm/_internal/constants.js.map +0 -1
  566. package/esm/_internal/date-picker.js +0 -32
  567. package/esm/_internal/dialog.js +0 -27
  568. package/esm/_internal/divider.js +0 -10
  569. package/esm/_internal/drag-handle.js +0 -11
  570. package/esm/_internal/dropdown.js +0 -21
  571. package/esm/_internal/expansion-panel.js +0 -32
  572. package/esm/_internal/expansion-panel.js.map +0 -1
  573. package/esm/_internal/flag.js +0 -11
  574. package/esm/_internal/flex-box.js +0 -11
  575. package/esm/_internal/generic-block.js +0 -20
  576. package/esm/_internal/getRootClassName.js.map +0 -1
  577. package/esm/_internal/grid.js +0 -10
  578. package/esm/_internal/icon.js +0 -10
  579. package/esm/_internal/image-block.js +0 -14
  580. package/esm/_internal/input-helper.js +0 -10
  581. package/esm/_internal/input-label.js +0 -10
  582. package/esm/_internal/lightbox.js +0 -27
  583. package/esm/_internal/link-preview.js +0 -15
  584. package/esm/_internal/link.js +0 -12
  585. package/esm/_internal/list.js +0 -15
  586. package/esm/_internal/mergeRefs.js.map +0 -1
  587. package/esm/_internal/message.js +0 -11
  588. package/esm/_internal/mosaic.js +0 -14
  589. package/esm/_internal/notification.js +0 -18
  590. package/esm/_internal/partitionMulti.js.map +0 -1
  591. package/esm/_internal/popover.js +0 -15
  592. package/esm/_internal/post-block.js +0 -15
  593. package/esm/_internal/progress-tracker.js +0 -16
  594. package/esm/_internal/progress.js +0 -10
  595. package/esm/_internal/radio-button.js +0 -13
  596. package/esm/_internal/renderLink.js.map +0 -1
  597. package/esm/_internal/select.js +0 -31
  598. package/esm/_internal/side-navigation.js +0 -25
  599. package/esm/_internal/skeleton.js +0 -10
  600. package/esm/_internal/slider.js +0 -13
  601. package/esm/_internal/slideshow.js +0 -27
  602. package/esm/_internal/switch.js +0 -13
  603. package/esm/_internal/table.js +0 -12
  604. package/esm/_internal/tabs.js +0 -14
  605. package/esm/_internal/text-field.js +0 -26
  606. package/esm/_internal/thumbnail.js +0 -13
  607. package/esm/_internal/toolbar.js +0 -9
  608. package/esm/_internal/tooltip.js +0 -18
  609. package/esm/_internal/type.js.map +0 -1
  610. package/esm/_internal/types.js.map +0 -1
  611. package/esm/_internal/uploader.js +0 -11
  612. package/esm/_internal/useDelayedVisibility.js.map +0 -1
  613. package/esm/_internal/useDisableBodyScroll.js.map +0 -1
  614. package/esm/_internal/useFocusTrap.js.map +0 -1
  615. package/esm/_internal/useRovingTabIndex.js.map +0 -1
  616. package/esm/_internal/user-block.js +0 -17
  617. package/esm/index.js +0 -91
  618. package/esm/index2.js.map +0 -1
  619. package/src/utils/index.tsx +0 -7
@@ -1,15 +1,18 @@
1
- import { d as _slicedToArray, _ as _objectSpread2, b as _objectWithoutProperties, c as _extends, a as _defineProperty } from './_rollupPluginBabelHelpers.js';
2
- import { Theme, Emphasis } from './components.js';
3
- import React, { useRef, useEffect, useState, useCallback, useMemo, forwardRef } from 'react';
4
- import { g as getRootClassName, c as classnames, h as handleBasicClasses, e as detectHorizontalSwipe } from './getRootClassName.js';
5
- import { g as mdiChevronLeft, p as mdiPauseCircleOutline, q as mdiPlayCircleOutline, f as mdiChevronRight } from './Icon2.js';
6
- import { W as WINDOW } from './constants.js';
7
- import { b as useFocusWithin } from './Popover2.js';
8
- import { m as mergeRefs } from './mergeRefs.js';
9
- import { I as IconButton } from './IconButton.js';
1
+ import { d as _slicedToArray, b as _objectWithoutProperties, c as _extends, _ as _objectSpread2, a as _defineProperty } from './6340c129.js';
2
+ import { Theme, Emphasis } from '../components.js';
3
+ import React, { useRef, useEffect, useState, useCallback, useMemo, forwardRef, Children } from 'react';
4
+ import { g as getRootClassName, c as classnames, h as handleBasicClasses, e as detectHorizontalSwipe } from './fd867c9d.js';
5
+ import { g as mdiChevronLeft, p as mdiPauseCircleOutline, q as mdiPlayCircleOutline, f as mdiChevronRight } from './a521723d.js';
6
+ import { W as WINDOW } from './288dfd0f.js';
7
+ import { b as useFocusWithin } from './9ab3c637.js';
8
+ import { m as mergeRefs } from './853713cd.js';
9
+ import { I as IconButton } from './377b2f44.js';
10
10
  import isFunction from 'lodash/isFunction';
11
11
  import range from 'lodash/range';
12
+ import { a as getFocusableElements } from './5d8ed4ee.js';
13
+ import { u as useRovingTabIndex } from './20976405.js';
12
14
  import uniqueId from 'lodash/uniqueId';
15
+ import chunk from 'lodash/chunk';
13
16
 
14
17
  /**
15
18
  * Making setInterval Declarative with React Hooks.
@@ -242,6 +245,172 @@ var useSlideshowControls = function useSlideshowControls(_ref) {
242
245
  };
243
246
  };
244
247
 
248
+ /**
249
+ * Classname set on elements whose focus was blocked.
250
+ * This is to easily find elements that have been tempered with,
251
+ * and not elements whose focus was already initially blocked.
252
+ * */
253
+ var BLOCKED_FOCUS_CLASSNAME = "focus-blocked";
254
+ /**
255
+ * Manage how slides must behave when visible or not.
256
+ * When not visible, they should be hidden from screen readers and not focusable.
257
+ */
258
+
259
+ var useSlideFocusManagement = function useSlideFocusManagement(_ref) {
260
+ var isSlideDisplayed = _ref.isSlideDisplayed,
261
+ slideRef = _ref.slideRef;
262
+ useEffect(function () {
263
+ var element = slideRef === null || slideRef === void 0 ? void 0 : slideRef.current;
264
+
265
+ if (!element) {
266
+ return undefined;
267
+ }
268
+ /**
269
+ * Display given slide to screen readers and, if focus was blocked, restore focus on elements.
270
+ */
271
+
272
+
273
+ var enableSlide = function enableSlide() {
274
+ // Hide from screen readers
275
+ element.setAttribute('aria-hidden', 'false'); // Find elements we have blocked focus on
276
+
277
+ element.querySelectorAll(".".concat(BLOCKED_FOCUS_CLASSNAME)).forEach(function (focusableElement) {
278
+ focusableElement.removeAttribute('tabindex');
279
+ focusableElement.classList.remove(BLOCKED_FOCUS_CLASSNAME);
280
+ });
281
+ };
282
+ /**
283
+ * Hide given slide from screen readers and block focus on all focusable elements within.
284
+ */
285
+
286
+
287
+ var blockSlide = function blockSlide() {
288
+ element.setAttribute('aria-hidden', 'true');
289
+ getFocusableElements(element).forEach(function (focusableElement) {
290
+ focusableElement.setAttribute('tabindex', '-1');
291
+ focusableElement.classList.add(BLOCKED_FOCUS_CLASSNAME);
292
+ });
293
+ };
294
+
295
+ var handleDisplay = function handleDisplay() {
296
+ if (!element) {
297
+ return;
298
+ }
299
+
300
+ if (isSlideDisplayed) {
301
+ enableSlide();
302
+ } else {
303
+ blockSlide();
304
+ }
305
+ }; // Callback function to execute when mutations are observed
306
+
307
+
308
+ var callback = function callback(mutationsList) {
309
+ if (element) {
310
+ var _iteratorNormalCompletion = true;
311
+ var _didIteratorError = false;
312
+ var _iteratorError = undefined;
313
+
314
+ try {
315
+ for (var _iterator = mutationsList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
316
+ var mutation = _step.value;
317
+
318
+ if (mutation.type === 'childList') {
319
+ handleDisplay();
320
+ }
321
+ }
322
+ } catch (err) {
323
+ _didIteratorError = true;
324
+ _iteratorError = err;
325
+ } finally {
326
+ try {
327
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
328
+ _iterator.return();
329
+ }
330
+ } finally {
331
+ if (_didIteratorError) {
332
+ throw _iteratorError;
333
+ }
334
+ }
335
+ }
336
+ }
337
+ }; // Create an observer instance linked to the callback function
338
+
339
+
340
+ var observer = new MutationObserver(callback);
341
+
342
+ if (element) {
343
+ handleDisplay();
344
+ /** If slide is hidden, start observing for elements to block focus */
345
+
346
+ if (!isSlideDisplayed) {
347
+ observer.observe(element, {
348
+ attributes: true,
349
+ childList: true,
350
+ subtree: true
351
+ });
352
+ }
353
+ }
354
+
355
+ return function () {
356
+ if (!isSlideDisplayed) {
357
+ observer.disconnect();
358
+ }
359
+ };
360
+ }, [isSlideDisplayed, slideRef]);
361
+ };
362
+
363
+ /**
364
+ * Defines the props of the component.
365
+ */
366
+
367
+ /**
368
+ * Component display name.
369
+ */
370
+ var COMPONENT_NAME = 'SlideshowItemGroup';
371
+ /**
372
+ * Component default class name and class prefix.
373
+ */
374
+
375
+ var CLASSNAME = getRootClassName(COMPONENT_NAME);
376
+ var buildSlideShowGroupId = function buildSlideShowGroupId(slidesId, index) {
377
+ return "".concat(slidesId, "-slide-").concat(index);
378
+ };
379
+ /**
380
+ * SlideshowItemGroup component.
381
+ *
382
+ * @param props Component props.
383
+ * @param ref Component ref.
384
+ * @return React element.
385
+ */
386
+
387
+ var SlideshowItemGroup = forwardRef(function (props, ref) {
388
+ var className = props.className,
389
+ children = props.children,
390
+ _props$role = props.role,
391
+ role = _props$role === void 0 ? 'group' : _props$role,
392
+ label = props.label,
393
+ isDisplayed = props.isDisplayed,
394
+ forwardedProps = _objectWithoutProperties(props, ["className", "children", "role", "label", "isDisplayed"]);
395
+
396
+ var groupRef = React.useRef(null);
397
+ useSlideFocusManagement({
398
+ isSlideDisplayed: isDisplayed,
399
+ slideRef: groupRef
400
+ });
401
+ return React.createElement("div", _extends({
402
+ ref: mergeRefs(groupRef, ref),
403
+ role: role,
404
+ className: classnames(className, handleBasicClasses({
405
+ prefix: CLASSNAME
406
+ })),
407
+ "aria-roledescription": "slide",
408
+ "aria-label": label
409
+ }, forwardedProps), children);
410
+ });
411
+ SlideshowItemGroup.displayName = COMPONENT_NAME;
412
+ SlideshowItemGroup.className = CLASSNAME;
413
+
245
414
  /**
246
415
  * Defines the props of the component.
247
416
  */
@@ -274,7 +443,8 @@ var Slideshow = forwardRef(function (props, ref) {
274
443
  theme = props.theme,
275
444
  id = props.id,
276
445
  slidesId = props.slidesId,
277
- forwardedProps = _objectWithoutProperties(props, ["activeIndex", "autoPlay", "children", "className", "fillHeight", "groupBy", "interval", "onChange", "slideshowControlsProps", "theme", "id", "slidesId"]); // Number of slideshow items.
446
+ slideGroupLabel = props.slideGroupLabel,
447
+ forwardedProps = _objectWithoutProperties(props, ["activeIndex", "autoPlay", "children", "className", "fillHeight", "groupBy", "interval", "onChange", "slideshowControlsProps", "theme", "id", "slidesId", "slideGroupLabel"]); // Number of slideshow items.
278
448
 
279
449
 
280
450
  var itemsCount = React.Children.count(children);
@@ -310,6 +480,7 @@ var Slideshow = forwardRef(function (props, ref) {
310
480
  onFocusIn: stopAutoPlay,
311
481
  onFocusOut: startAutoPlay
312
482
  });
483
+ var showControls = slideshowControlsProps && slidesCount > 1;
313
484
  return React.createElement(Slides, _extends({
314
485
  activeIndex: currentIndex,
315
486
  id: slideshowId,
@@ -321,8 +492,9 @@ var Slideshow = forwardRef(function (props, ref) {
321
492
  autoPlay: autoPlay,
322
493
  slidesId: slideshowSlidesId,
323
494
  toggleAutoPlay: toggleAutoPlay,
324
- interval: interval,
325
495
  ref: mergeRefs(ref, setSlideshow),
496
+ hasControls: showControls,
497
+ slideGroupLabel: slideGroupLabel,
326
498
  afterSlides: slideshowControlsProps && slidesCount > 1 ? React.createElement("div", {
327
499
  className: "".concat(Slides.className, "__controls")
328
500
  }, React.createElement(SlideshowControls, _extends({}, slideshowControlsProps, {
@@ -343,7 +515,14 @@ var Slideshow = forwardRef(function (props, ref) {
343
515
  playButtonProps: autoPlay ? _objectSpread2({
344
516
  'aria-controls': slideshowSlidesId,
345
517
  onClick: toggleForcePause
346
- }, slideshowControlsProps.playButtonProps) : undefined
518
+ }, slideshowControlsProps.playButtonProps) : undefined,
519
+ paginationItemProps: function paginationItemProps(index) {
520
+ var _slideshowControlsPro;
521
+
522
+ return _objectSpread2({
523
+ 'aria-controls': buildSlideShowGroupId(slideshowSlidesId, index)
524
+ }, (_slideshowControlsPro = slideshowControlsProps.paginationItemProps) === null || _slideshowControlsPro === void 0 ? void 0 : _slideshowControlsPro.call(slideshowControlsProps, index));
525
+ }
347
526
  }))) : undefined
348
527
  }, forwardedProps), children);
349
528
  });
@@ -357,12 +536,12 @@ Slideshow.defaultProps = DEFAULT_PROPS;
357
536
  /**
358
537
  * Component display name.
359
538
  */
360
- var COMPONENT_NAME = 'SlideshowItem';
539
+ var COMPONENT_NAME$1 = 'SlideshowItem';
361
540
  /**
362
541
  * Component default class name and class prefix.
363
542
  */
364
543
 
365
- var CLASSNAME = getRootClassName(COMPONENT_NAME);
544
+ var CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
366
545
  /**
367
546
  * SlideshowItem component.
368
547
  *
@@ -379,14 +558,12 @@ var SlideshowItem = forwardRef(function (props, ref) {
379
558
  return React.createElement("div", _extends({
380
559
  ref: ref,
381
560
  className: classnames(className, handleBasicClasses({
382
- prefix: CLASSNAME
383
- })),
384
- "aria-roledescription": "slide",
385
- role: "group"
561
+ prefix: CLASSNAME$1
562
+ }))
386
563
  }, forwardedProps), children);
387
564
  });
388
- SlideshowItem.displayName = COMPONENT_NAME;
389
- SlideshowItem.className = CLASSNAME;
565
+ SlideshowItem.displayName = COMPONENT_NAME$1;
566
+ SlideshowItem.className = CLASSNAME$1;
390
567
 
391
568
  var isTouchDevice = function isTouchDevice() {
392
569
  return 'ontouchstart' in window;
@@ -406,36 +583,6 @@ function useSwipeNavigate(element, onNext, onPrevious) {
406
583
  }, [onPrevious, onNext, element]);
407
584
  }
408
585
 
409
- /**
410
- * Listen keyboard to navigate left and right.
411
- */
412
-
413
- function useKeyNavigate(element, onNext, onPrevious) {
414
- useEffect(function () {
415
- if (!element) return undefined;
416
-
417
- var onKeyNavigate = function onKeyNavigate(evt) {
418
- var callback;
419
-
420
- if ((evt === null || evt === void 0 ? void 0 : evt.key) === 'ArrowRight') {
421
- callback = onNext;
422
- } else if ((evt === null || evt === void 0 ? void 0 : evt.key) === 'ArrowLeft') {
423
- callback = onPrevious;
424
- }
425
-
426
- if (!callback) return;
427
- callback();
428
- evt.preventDefault();
429
- evt.stopPropagation();
430
- };
431
-
432
- element.addEventListener('keydown', onKeyNavigate);
433
- return function () {
434
- element.removeEventListener('keydown', onKeyNavigate);
435
- };
436
- }, [onPrevious, onNext, element]);
437
- }
438
-
439
586
  /**
440
587
  * Calculate the currently visible pagination "bullet" range.
441
588
  */
@@ -487,12 +634,12 @@ function usePaginationVisibleRange(activeIndex, slideCount) {
487
634
  /**
488
635
  * Component display name.
489
636
  */
490
- var COMPONENT_NAME$1 = 'SlideshowControls';
637
+ var COMPONENT_NAME$2 = 'SlideshowControls';
491
638
  /**
492
639
  * Component default class name and class prefix.
493
640
  */
494
641
 
495
- var CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
642
+ var CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2);
496
643
  /**
497
644
  * Component default props.
498
645
  */
@@ -518,23 +665,24 @@ var InternalSlideshowControls = forwardRef(function (props, ref) {
518
665
  onPreviousClick = props.onPreviousClick,
519
666
  parentRef = props.parentRef,
520
667
  previousButtonProps = props.previousButtonProps,
668
+ paginationProps = props.paginationProps,
521
669
  slidesCount = props.slidesCount,
522
670
  theme = props.theme,
523
671
  _props$isAutoPlaying = props.isAutoPlaying,
524
672
  isAutoPlaying = _props$isAutoPlaying === void 0 ? false : _props$isAutoPlaying,
525
673
  playButtonProps = props.playButtonProps,
526
674
  paginationItemLabel = props.paginationItemLabel,
527
- forwardedProps = _objectWithoutProperties(props, ["activeIndex", "className", "nextButtonProps", "onNextClick", "onPaginationClick", "onPreviousClick", "parentRef", "previousButtonProps", "slidesCount", "theme", "isAutoPlaying", "playButtonProps", "paginationItemLabel"]);
675
+ paginationItemProps = props.paginationItemProps,
676
+ forwardedProps = _objectWithoutProperties(props, ["activeIndex", "className", "nextButtonProps", "onNextClick", "onPaginationClick", "onPreviousClick", "parentRef", "previousButtonProps", "paginationProps", "slidesCount", "theme", "isAutoPlaying", "playButtonProps", "paginationItemLabel", "paginationItemProps"]);
528
677
 
529
678
  var parent;
530
679
 
531
680
  if (WINDOW) {
532
681
  // Checking window object to avoid errors in SSR.
533
682
  parent = parentRef instanceof HTMLElement ? parentRef : parentRef === null || parentRef === void 0 ? void 0 : parentRef.current;
534
- } // Listen to keyboard navigate left & right.
535
-
683
+ }
536
684
 
537
- useKeyNavigate(parent, onNextClick, onPreviousClick); // Listen to touch swipe navigate left & right.
685
+ var paginationRef = React.useRef(null); // Listen to touch swipe navigate left & right.
538
686
 
539
687
  useSwipeNavigate(parent, // Go next without loopback.
540
688
  useCallback(function () {
@@ -542,7 +690,19 @@ var InternalSlideshowControls = forwardRef(function (props, ref) {
542
690
  }, [onNextClick]), // Go previous without loopback.
543
691
  useCallback(function () {
544
692
  return onPreviousClick === null || onPreviousClick === void 0 ? void 0 : onPreviousClick(false);
545
- }, [onPreviousClick])); // Pagination "bullet" range.
693
+ }, [onPreviousClick]));
694
+ /**
695
+ * Add roving tab index pattern to pagination items and activate slide on focus.
696
+ */
697
+
698
+ useRovingTabIndex({
699
+ parentRef: paginationRef,
700
+ elementSelector: 'button',
701
+ keepTabIndex: true,
702
+ onElementFocus: function onElementFocus(element) {
703
+ element.click();
704
+ }
705
+ }); // Pagination "bullet" range.
546
706
 
547
707
  var visibleRange = usePaginationVisibleRange(activeIndex, slidesCount); // Inline style of wrapper element.
548
708
 
@@ -553,56 +713,69 @@ var InternalSlideshowControls = forwardRef(function (props, ref) {
553
713
  ref: ref
554
714
  }, forwardedProps, {
555
715
  className: classnames(className, handleBasicClasses({
556
- prefix: CLASSNAME$1,
716
+ prefix: CLASSNAME$2,
557
717
  theme: theme
558
- }), _defineProperty({}, "".concat(CLASSNAME$1, "--has-infinite-pagination"), slidesCount > PAGINATION_ITEMS_MAX))
718
+ }), _defineProperty({}, "".concat(CLASSNAME$2, "--has-infinite-pagination"), slidesCount > PAGINATION_ITEMS_MAX))
559
719
  }), React.createElement(IconButton, _extends({}, previousButtonProps, {
560
720
  icon: mdiChevronLeft,
561
- className: "".concat(CLASSNAME$1, "__navigation"),
721
+ className: "".concat(CLASSNAME$2, "__navigation"),
562
722
  color: theme === Theme.dark ? 'light' : 'dark',
563
723
  emphasis: Emphasis.low,
564
724
  onClick: onPreviousClick
565
725
  })), React.createElement("div", {
566
- className: "".concat(CLASSNAME$1, "__pagination")
567
- }, React.createElement("div", {
568
- className: "".concat(CLASSNAME$1, "__pagination-items"),
569
- style: wrapperStyle
570
- }, useMemo(function () {
726
+ ref: paginationRef,
727
+ className: "".concat(CLASSNAME$2, "__pagination")
728
+ }, React.createElement("div", _extends({
729
+ className: "".concat(CLASSNAME$2, "__pagination-items"),
730
+ style: wrapperStyle,
731
+ role: "tablist"
732
+ }, paginationProps), useMemo(function () {
571
733
  return range(slidesCount).map(function (index) {
572
734
  var isOnEdge = index !== 0 && index !== slidesCount - 1 && (index === visibleRange.min || index === visibleRange.max);
573
735
  var isActive = activeIndex === index;
574
736
  var isOutRange = index < visibleRange.min || index > visibleRange.max;
737
+
738
+ var _ref = paginationItemProps ? paginationItemProps(index) : {},
739
+ _ref$className = _ref.className,
740
+ itemClassName = _ref$className === void 0 ? undefined : _ref$className,
741
+ _ref$label = _ref.label,
742
+ label = _ref$label === void 0 ? undefined : _ref$label,
743
+ itemProps = _objectWithoutProperties(_ref, ["className", "label"]);
744
+
745
+ var ariaLabel = label || (paginationItemLabel === null || paginationItemLabel === void 0 ? void 0 : paginationItemLabel(index)) || "".concat(index + 1, " / ").concat(slidesCount);
575
746
  return React.createElement("button", _extends({
576
747
  className: classnames(handleBasicClasses({
577
- prefix: "".concat(CLASSNAME$1, "__pagination-item"),
748
+ prefix: "".concat(CLASSNAME$2, "__pagination-item"),
578
749
  isActive: isActive,
579
750
  isOnEdge: isOnEdge,
580
751
  isOutRange: isOutRange
581
- })),
752
+ }), itemClassName),
582
753
  key: index,
583
754
  type: "button",
755
+ tabIndex: isActive ? undefined : -1,
756
+ role: "tab",
757
+ "aria-selected": isActive,
584
758
  onClick: function onClick() {
585
759
  return onPaginationClick === null || onPaginationClick === void 0 ? void 0 : onPaginationClick(index);
586
- }
587
- }, {
588
- 'aria-label': paginationItemLabel ? paginationItemLabel(index) : "".concat(index + 1, " / ").concat(slidesCount)
589
- }));
760
+ },
761
+ "aria-label": ariaLabel
762
+ }, itemProps));
590
763
  });
591
- }, [slidesCount, visibleRange.min, visibleRange.max, activeIndex, paginationItemLabel, onPaginationClick]))), playButtonProps ? React.createElement(IconButton, _extends({}, playButtonProps, {
764
+ }, [slidesCount, visibleRange.min, visibleRange.max, activeIndex, paginationItemProps, paginationItemLabel, onPaginationClick]))), playButtonProps ? React.createElement(IconButton, _extends({}, playButtonProps, {
592
765
  icon: isAutoPlaying ? mdiPauseCircleOutline : mdiPlayCircleOutline,
593
- className: "".concat(CLASSNAME$1, "__play"),
766
+ className: "".concat(CLASSNAME$2, "__play"),
594
767
  color: theme === Theme.dark ? 'light' : 'dark',
595
768
  emphasis: Emphasis.low
596
769
  })) : null, React.createElement(IconButton, _extends({}, nextButtonProps, {
597
770
  icon: mdiChevronRight,
598
- className: "".concat(CLASSNAME$1, "__navigation"),
771
+ className: "".concat(CLASSNAME$2, "__navigation"),
599
772
  color: theme === Theme.dark ? 'light' : 'dark',
600
773
  emphasis: Emphasis.low,
601
774
  onClick: onNextClick
602
775
  })));
603
776
  });
604
- InternalSlideshowControls.displayName = COMPONENT_NAME$1;
605
- InternalSlideshowControls.className = CLASSNAME$1;
777
+ InternalSlideshowControls.displayName = COMPONENT_NAME$2;
778
+ InternalSlideshowControls.className = CLASSNAME$2;
606
779
  InternalSlideshowControls.defaultProps = DEFAULT_PROPS$1;
607
780
  var SlideshowControls = Object.assign(InternalSlideshowControls, {
608
781
  useSlideshowControls: useSlideshowControls,
@@ -612,12 +785,12 @@ var SlideshowControls = Object.assign(InternalSlideshowControls, {
612
785
  /**
613
786
  * Component display name.
614
787
  */
615
- var COMPONENT_NAME$2 = 'Slideshow';
788
+ var COMPONENT_NAME$3 = 'Slideshow';
616
789
  /**
617
790
  * Component default class name and class prefix.
618
791
  */
619
792
 
620
- var CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2);
793
+ var CLASSNAME$3 = getRootClassName(COMPONENT_NAME$3);
621
794
  /**
622
795
  * Slides component.
623
796
  *
@@ -640,34 +813,52 @@ var Slides = forwardRef(function (props, ref) {
640
813
  slidesId = props.slidesId,
641
814
  children = props.children,
642
815
  afterSlides = props.afterSlides,
643
- forwardedProps = _objectWithoutProperties(props, ["activeIndex", "id", "className", "theme", "fillHeight", "groupBy", "isAutoPlaying", "toggleAutoPlay", "slidesId", "children", "afterSlides"]); // Inline style of wrapper element.
816
+ hasControls = props.hasControls,
817
+ slideGroupLabel = props.slideGroupLabel,
818
+ forwardedProps = _objectWithoutProperties(props, ["activeIndex", "id", "className", "theme", "fillHeight", "groupBy", "isAutoPlaying", "toggleAutoPlay", "slidesId", "children", "afterSlides", "hasControls", "slideGroupLabel"]);
644
819
 
820
+ var wrapperRef = React.useRef(null);
821
+ var startIndexVisible = activeIndex;
822
+ var endIndexVisible = startIndexVisible + 1; // Inline style of wrapper element.
645
823
 
646
824
  var wrapperStyle = {
647
825
  transform: "translateX(-".concat(FULL_WIDTH_PERCENT * activeIndex, "%)")
648
826
  };
827
+ var groups = React.useMemo(function () {
828
+ var childrenArray = Children.toArray(children);
829
+ return groupBy && groupBy > 1 ? chunk(childrenArray, groupBy) : childrenArray;
830
+ }, [children, groupBy]);
649
831
  return React.createElement("section", _extends({
650
832
  id: id,
651
833
  ref: ref
652
834
  }, forwardedProps, {
653
835
  className: classnames(className, handleBasicClasses({
654
- prefix: CLASSNAME$2,
836
+ prefix: CLASSNAME$3,
655
837
  theme: theme
656
- }), (_classNames = {}, _defineProperty(_classNames, "".concat(CLASSNAME$2, "--fill-height"), fillHeight), _defineProperty(_classNames, "".concat(CLASSNAME$2, "--group-by-").concat(groupBy), Boolean(groupBy)), _classNames)),
838
+ }), (_classNames = {}, _defineProperty(_classNames, "".concat(CLASSNAME$3, "--fill-height"), fillHeight), _defineProperty(_classNames, "".concat(CLASSNAME$3, "--group-by-").concat(groupBy), Boolean(groupBy)), _classNames)),
657
839
  "aria-roledescription": "carousel"
658
840
  }), React.createElement("div", {
659
841
  id: slidesId,
660
- className: "".concat(CLASSNAME$2, "__slides"),
842
+ className: "".concat(CLASSNAME$3, "__slides"),
661
843
  onMouseEnter: toggleAutoPlay,
662
844
  onMouseLeave: toggleAutoPlay,
663
845
  "aria-live": isAutoPlaying ? 'off' : 'polite'
664
846
  }, React.createElement("div", {
665
- className: "".concat(CLASSNAME$2, "__wrapper"),
847
+ ref: wrapperRef,
848
+ className: "".concat(CLASSNAME$3, "__wrapper"),
666
849
  style: wrapperStyle
667
- }, children)), afterSlides);
850
+ }, groups.map(function (group, index) {
851
+ return React.createElement(SlideshowItemGroup, {
852
+ key: index,
853
+ id: slidesId && buildSlideShowGroupId(slidesId, index),
854
+ role: hasControls ? 'tabpanel' : 'group',
855
+ label: slideGroupLabel ? slideGroupLabel(index + 1, groups.length) : undefined,
856
+ isDisplayed: index >= startIndexVisible && index < endIndexVisible
857
+ }, group);
858
+ }))), afterSlides);
668
859
  });
669
- Slides.displayName = COMPONENT_NAME$2;
670
- Slides.className = CLASSNAME$2;
860
+ Slides.displayName = COMPONENT_NAME$3;
861
+ Slides.className = CLASSNAME$3;
671
862
 
672
863
  export { Slideshow as S, SlideshowItem as a, SlideshowControls as b, Slides as c };
673
- //# sourceMappingURL=Slides.js.map
864
+ //# sourceMappingURL=afec6b62.js.map