@react-md/core 1.0.0-next.15 → 1.0.0-next.16

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 (815) hide show
  1. package/dist/RootHtml.d.ts +0 -2
  2. package/dist/RootHtml.js +0 -2
  3. package/dist/RootHtml.js.map +1 -1
  4. package/dist/app-bar/AppBar.d.ts +0 -2
  5. package/dist/app-bar/AppBar.js +0 -2
  6. package/dist/app-bar/AppBar.js.map +1 -1
  7. package/dist/app-bar/AppBarTitle.d.ts +0 -3
  8. package/dist/app-bar/AppBarTitle.js +0 -2
  9. package/dist/app-bar/AppBarTitle.js.map +1 -1
  10. package/dist/avatar/Avatar.d.ts +0 -2
  11. package/dist/avatar/Avatar.js +0 -2
  12. package/dist/avatar/Avatar.js.map +1 -1
  13. package/dist/badge/Badge.d.ts +1 -3
  14. package/dist/badge/Badge.js +0 -2
  15. package/dist/badge/Badge.js.map +1 -1
  16. package/dist/box/Box.d.ts +0 -2
  17. package/dist/box/Box.js +0 -2
  18. package/dist/box/Box.js.map +1 -1
  19. package/dist/button/ButtonUnstyled.d.ts +0 -2
  20. package/dist/button/ButtonUnstyled.js +0 -2
  21. package/dist/button/ButtonUnstyled.js.map +1 -1
  22. package/dist/card/Card.d.ts +0 -2
  23. package/dist/card/Card.js +0 -2
  24. package/dist/card/Card.js.map +1 -1
  25. package/dist/card/CardContent.d.ts +0 -2
  26. package/dist/card/CardContent.js +0 -2
  27. package/dist/card/CardContent.js.map +1 -1
  28. package/dist/card/CardFooter.d.ts +0 -3
  29. package/dist/card/CardFooter.js +0 -2
  30. package/dist/card/CardFooter.js.map +1 -1
  31. package/dist/card/CardHeader.d.ts +0 -2
  32. package/dist/card/CardHeader.js +0 -2
  33. package/dist/card/CardHeader.js.map +1 -1
  34. package/dist/card/CardSubtitle.d.ts +0 -3
  35. package/dist/card/CardSubtitle.js +0 -2
  36. package/dist/card/CardSubtitle.js.map +1 -1
  37. package/dist/card/CardTitle.d.ts +0 -3
  38. package/dist/card/CardTitle.js +0 -2
  39. package/dist/card/CardTitle.js.map +1 -1
  40. package/dist/chip/Chip.d.ts +0 -2
  41. package/dist/chip/Chip.js +0 -2
  42. package/dist/chip/Chip.js.map +1 -1
  43. package/dist/dialog/DialogContainer.d.ts +0 -2
  44. package/dist/dialog/DialogContainer.js +0 -2
  45. package/dist/dialog/DialogContainer.js.map +1 -1
  46. package/dist/dialog/DialogContent.d.ts +3 -3
  47. package/dist/dialog/DialogContent.js +3 -3
  48. package/dist/dialog/DialogContent.js.map +1 -1
  49. package/dist/dialog/DialogFooter.d.ts +2 -3
  50. package/dist/dialog/DialogFooter.js +2 -3
  51. package/dist/dialog/DialogFooter.js.map +1 -1
  52. package/dist/dialog/DialogHeader.d.ts +3 -3
  53. package/dist/dialog/DialogHeader.js +3 -3
  54. package/dist/dialog/DialogHeader.js.map +1 -1
  55. package/dist/dialog/DialogTitle.d.ts +3 -4
  56. package/dist/dialog/DialogTitle.js +3 -3
  57. package/dist/dialog/DialogTitle.js.map +1 -1
  58. package/dist/dialog/NestedDialogProvider.d.ts +0 -1
  59. package/dist/divider/Divider.d.ts +0 -2
  60. package/dist/divider/Divider.js +0 -2
  61. package/dist/divider/Divider.js.map +1 -1
  62. package/dist/expansion-panel/ExpansionList.d.ts +1 -1
  63. package/dist/expansion-panel/ExpansionList.js +1 -1
  64. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  65. package/dist/expansion-panel/ExpansionPanel.d.ts +8 -24
  66. package/dist/expansion-panel/ExpansionPanel.js +1 -12
  67. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  68. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +0 -1
  69. package/dist/expansion-panel/ExpansionPanelHeader.js +0 -1
  70. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  71. package/dist/expansion-panel/expansionPanelStyles.d.ts +19 -0
  72. package/dist/expansion-panel/expansionPanelStyles.js +14 -0
  73. package/dist/expansion-panel/expansionPanelStyles.js.map +1 -0
  74. package/dist/form/Checkbox.d.ts +0 -1
  75. package/dist/form/Fieldset.d.ts +0 -2
  76. package/dist/form/Fieldset.js.map +1 -1
  77. package/dist/form/FormMessage.d.ts +0 -3
  78. package/dist/form/FormMessage.js +0 -2
  79. package/dist/form/FormMessage.js.map +1 -1
  80. package/dist/form/FormMessageContainer.d.ts +0 -1
  81. package/dist/form/FormMessageContainer.js +0 -1
  82. package/dist/form/FormMessageContainer.js.map +1 -1
  83. package/dist/form/FormMessageCounter.d.ts +0 -2
  84. package/dist/form/FormMessageCounter.js +0 -2
  85. package/dist/form/FormMessageCounter.js.map +1 -1
  86. package/dist/form/InputToggle.js.map +1 -1
  87. package/dist/form/InputToggleIcon.d.ts +0 -2
  88. package/dist/form/InputToggleIcon.js +0 -2
  89. package/dist/form/InputToggleIcon.js.map +1 -1
  90. package/dist/form/Label.d.ts +0 -3
  91. package/dist/form/Label.js +0 -2
  92. package/dist/form/Label.js.map +1 -1
  93. package/dist/form/Legend.d.ts +0 -3
  94. package/dist/form/Legend.js +0 -2
  95. package/dist/form/Legend.js.map +1 -1
  96. package/dist/form/MenuItemCheckbox.d.ts +0 -1
  97. package/dist/form/MenuItemRadio.d.ts +0 -1
  98. package/dist/form/MenuItemSwitch.d.ts +0 -1
  99. package/dist/form/NativeSelect.d.ts +0 -2
  100. package/dist/form/NativeSelect.js +0 -2
  101. package/dist/form/NativeSelect.js.map +1 -1
  102. package/dist/form/Option.js.map +1 -1
  103. package/dist/form/Radio.d.ts +0 -1
  104. package/dist/form/SelectedOption.d.ts +0 -2
  105. package/dist/form/SelectedOption.js +0 -2
  106. package/dist/form/SelectedOption.js.map +1 -1
  107. package/dist/form/SliderContainer.d.ts +0 -2
  108. package/dist/form/SliderContainer.js +0 -2
  109. package/dist/form/SliderContainer.js.map +1 -1
  110. package/dist/form/SliderMark.d.ts +0 -2
  111. package/dist/form/SliderMark.js +0 -2
  112. package/dist/form/SliderMark.js.map +1 -1
  113. package/dist/form/SliderMarkLabel.d.ts +0 -2
  114. package/dist/form/SliderMarkLabel.js +0 -2
  115. package/dist/form/SliderMarkLabel.js.map +1 -1
  116. package/dist/form/SliderTrack.d.ts +0 -2
  117. package/dist/form/SliderTrack.js +0 -2
  118. package/dist/form/SliderTrack.js.map +1 -1
  119. package/dist/form/SliderValueMarks.d.ts +0 -2
  120. package/dist/form/SliderValueMarks.js +0 -2
  121. package/dist/form/SliderValueMarks.js.map +1 -1
  122. package/dist/form/Switch.d.ts +0 -2
  123. package/dist/form/Switch.js +0 -2
  124. package/dist/form/Switch.js.map +1 -1
  125. package/dist/form/SwitchTrack.d.ts +2 -1
  126. package/dist/form/SwitchTrack.js +2 -1
  127. package/dist/form/SwitchTrack.js.map +1 -1
  128. package/dist/form/TextField.d.ts +0 -2
  129. package/dist/form/TextField.js +0 -2
  130. package/dist/form/TextField.js.map +1 -1
  131. package/dist/form/TextFieldAddon.d.ts +1 -4
  132. package/dist/form/TextFieldAddon.js +1 -3
  133. package/dist/form/TextFieldAddon.js.map +1 -1
  134. package/dist/icon/FontIcon.d.ts +0 -2
  135. package/dist/icon/FontIcon.js +0 -2
  136. package/dist/icon/FontIcon.js.map +1 -1
  137. package/dist/icon/IconRotator.d.ts +0 -2
  138. package/dist/icon/IconRotator.js +0 -2
  139. package/dist/icon/IconRotator.js.map +1 -1
  140. package/dist/icon/MaterialIcon.d.ts +0 -2
  141. package/dist/icon/MaterialIcon.js +0 -2
  142. package/dist/icon/MaterialIcon.js.map +1 -1
  143. package/dist/icon/MaterialSymbol.d.ts +0 -1
  144. package/dist/icon/MaterialSymbol.js +0 -1
  145. package/dist/icon/MaterialSymbol.js.map +1 -1
  146. package/dist/icon/SVGIcon.d.ts +0 -2
  147. package/dist/icon/SVGIcon.js +0 -2
  148. package/dist/icon/SVGIcon.js.map +1 -1
  149. package/dist/icon/TextIconSpacing.d.ts +0 -2
  150. package/dist/icon/TextIconSpacing.js +0 -2
  151. package/dist/icon/TextIconSpacing.js.map +1 -1
  152. package/dist/icon/_icon.scss +2 -2
  153. package/dist/icon/styles.js +1 -1
  154. package/dist/icon/styles.js.map +1 -1
  155. package/dist/interaction/RippleContainer.d.ts +0 -2
  156. package/dist/interaction/RippleContainer.js +0 -2
  157. package/dist/interaction/RippleContainer.js.map +1 -1
  158. package/dist/layout/LayoutAppBar.d.ts +0 -1
  159. package/dist/layout/LayoutNav.js +1 -2
  160. package/dist/layout/LayoutNav.js.map +1 -1
  161. package/dist/layout/LayoutWindowSplitter.d.ts +0 -1
  162. package/dist/layout/useHorizontalLayoutTransition.js +1 -1
  163. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  164. package/dist/layout/useLayoutTree.d.ts +2 -2
  165. package/dist/layout/useLayoutTree.js.map +1 -1
  166. package/dist/link/Link.d.ts +0 -2
  167. package/dist/link/Link.js +0 -2
  168. package/dist/link/Link.js.map +1 -1
  169. package/dist/list/List.d.ts +0 -20
  170. package/dist/list/List.js +1 -14
  171. package/dist/list/List.js.map +1 -1
  172. package/dist/list/ListItem.d.ts +0 -16
  173. package/dist/list/ListItem.js.map +1 -1
  174. package/dist/list/ListItemAddon.d.ts +0 -2
  175. package/dist/list/ListItemAddon.js +0 -2
  176. package/dist/list/ListItemAddon.js.map +1 -1
  177. package/dist/list/ListItemChildren.d.ts +0 -2
  178. package/dist/list/ListItemChildren.js +0 -2
  179. package/dist/list/ListItemChildren.js.map +1 -1
  180. package/dist/list/ListItemText.d.ts +0 -2
  181. package/dist/list/ListItemText.js +0 -2
  182. package/dist/list/ListItemText.js.map +1 -1
  183. package/dist/list/ListSubheader.d.ts +3 -2
  184. package/dist/list/ListSubheader.js +0 -2
  185. package/dist/list/ListSubheader.js.map +1 -1
  186. package/dist/list/getListItemHeight.d.ts +2 -2
  187. package/dist/list/getListItemHeight.js +2 -2
  188. package/dist/list/getListItemHeight.js.map +1 -1
  189. package/dist/list/listItemStyles.d.ts +17 -1
  190. package/dist/list/listItemStyles.js.map +1 -1
  191. package/dist/list/listStyles.d.ts +18 -0
  192. package/dist/list/listStyles.js +14 -0
  193. package/dist/list/listStyles.js.map +1 -0
  194. package/dist/list/types.d.ts +9 -3
  195. package/dist/list/types.js +6 -1
  196. package/dist/list/types.js.map +1 -1
  197. package/dist/media-queries/AppSizeProvider.d.ts +8 -0
  198. package/dist/media-queries/AppSizeProvider.js +2 -0
  199. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  200. package/dist/media-queries/appSize.d.ts +5 -5
  201. package/dist/media-queries/useMediaQuery.d.ts +1 -1
  202. package/dist/media-queries/useMediaQuery.js +1 -1
  203. package/dist/media-queries/useMediaQuery.js.map +1 -1
  204. package/dist/menu/MenuBar.d.ts +0 -1
  205. package/dist/menu/MenuButton.d.ts +0 -1
  206. package/dist/menu/MenuConfigurationProvider.js.map +1 -1
  207. package/dist/menu/MenuItem.d.ts +0 -1
  208. package/dist/menu/MenuItemButton.d.ts +0 -1
  209. package/dist/menu/useMenuBarProvider.d.ts +0 -1
  210. package/dist/movement/useKeyboardMovementProvider.d.ts +0 -1
  211. package/dist/navigation/NavGroup.d.ts +0 -2
  212. package/dist/navigation/NavGroup.js +0 -2
  213. package/dist/navigation/NavGroup.js.map +1 -1
  214. package/dist/navigation/NavItem.d.ts +0 -2
  215. package/dist/navigation/NavItem.js +0 -2
  216. package/dist/navigation/NavItem.js.map +1 -1
  217. package/dist/navigation/NavSubheader.d.ts +0 -3
  218. package/dist/navigation/NavSubheader.js +0 -2
  219. package/dist/navigation/NavSubheader.js.map +1 -1
  220. package/dist/progress/CircularProgress.d.ts +0 -2
  221. package/dist/progress/CircularProgress.js +0 -2
  222. package/dist/progress/CircularProgress.js.map +1 -1
  223. package/dist/progress/LinearProgress.d.ts +0 -2
  224. package/dist/progress/LinearProgress.js +0 -2
  225. package/dist/progress/LinearProgress.js.map +1 -1
  226. package/dist/responsive-item/ResponsiveItemContainer.d.ts +0 -2
  227. package/dist/responsive-item/ResponsiveItemContainer.js +0 -2
  228. package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -1
  229. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +0 -2
  230. package/dist/responsive-item/ResponsiveItemOverlay.js +0 -2
  231. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  232. package/dist/segmented-button/SegmentedButtonContainer.d.ts +0 -2
  233. package/dist/segmented-button/SegmentedButtonContainer.js +0 -2
  234. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  235. package/dist/sheet/Sheet.d.ts +30 -16
  236. package/dist/sheet/Sheet.js +24 -14
  237. package/dist/sheet/Sheet.js.map +1 -1
  238. package/dist/sheet/styles.d.ts +29 -0
  239. package/dist/sheet/styles.js +13 -0
  240. package/dist/sheet/styles.js.map +1 -1
  241. package/dist/snackbar/ToastActionButton.d.ts +0 -1
  242. package/dist/snackbar/ToastCloseButton.d.ts +0 -1
  243. package/dist/snackbar/ToastManager.js.map +1 -1
  244. package/dist/snackbar/useCurrentToastActions.d.ts +0 -1
  245. package/dist/suspense/CircularProgressSuspense.d.ts +0 -2
  246. package/dist/suspense/CircularProgressSuspense.js +0 -2
  247. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  248. package/dist/suspense/NullSuspense.d.ts +0 -2
  249. package/dist/suspense/NullSuspense.js +0 -2
  250. package/dist/suspense/NullSuspense.js.map +1 -1
  251. package/dist/table/TableCellContent.d.ts +0 -3
  252. package/dist/table/TableCellContent.js +0 -3
  253. package/dist/table/TableCellContent.js.map +1 -1
  254. package/dist/table/TableConfigurationProvider.d.ts +0 -1
  255. package/dist/tabs/Tab.d.ts +3 -0
  256. package/dist/tabs/Tab.js.map +1 -1
  257. package/dist/tabs/TabListScrollButton.js +5 -1
  258. package/dist/tabs/TabListScrollButton.js.map +1 -1
  259. package/dist/tabs/_tabs.scss +21 -3
  260. package/dist/tabs/tabListScrollButtonStyles.d.ts +2 -0
  261. package/dist/tabs/tabListScrollButtonStyles.js +9 -5
  262. package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
  263. package/dist/tabs/useTabList.d.ts +2 -0
  264. package/dist/tabs/useTabList.js +4 -2
  265. package/dist/tabs/useTabList.js.map +1 -1
  266. package/dist/tabs/useTabs.d.ts +33 -11
  267. package/dist/tabs/useTabs.js +9 -3
  268. package/dist/tabs/useTabs.js.map +1 -1
  269. package/dist/test-utils/IntersectionObserver.js.map +1 -1
  270. package/dist/test-utils/data-testid.d.ts +0 -1
  271. package/dist/theme/useColorScheme.d.ts +0 -1
  272. package/dist/transition/SlideContainer.d.ts +2 -48
  273. package/dist/transition/SlideContainer.js +2 -48
  274. package/dist/transition/SlideContainer.js.map +1 -1
  275. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -3
  276. package/dist/tree/DefaultTreeItemRenderer.js +1 -1
  277. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  278. package/dist/tree/Tree.d.ts +3 -4
  279. package/dist/tree/Tree.js.map +1 -1
  280. package/dist/tree/TreeItem.d.ts +10 -3
  281. package/dist/tree/TreeItem.js +5 -2
  282. package/dist/tree/TreeItem.js.map +1 -1
  283. package/dist/tree/types.d.ts +11 -6
  284. package/dist/tree/types.js +1 -26
  285. package/dist/tree/types.js.map +1 -1
  286. package/dist/tree/useTree.d.ts +3 -3
  287. package/dist/tree/useTree.js.map +1 -1
  288. package/dist/tree/useTreeExpansion.d.ts +3 -3
  289. package/dist/tree/useTreeExpansion.js.map +1 -1
  290. package/dist/tree/useTreeSelection.d.ts +3 -3
  291. package/dist/tree/useTreeSelection.js.map +1 -1
  292. package/dist/typography/SrOnly.d.ts +2 -1
  293. package/dist/typography/SrOnly.js +2 -1
  294. package/dist/typography/SrOnly.js.map +1 -1
  295. package/dist/typography/TextContainer.d.ts +0 -2
  296. package/dist/typography/TextContainer.js +0 -2
  297. package/dist/typography/TextContainer.js.map +1 -1
  298. package/dist/typography/Typography.d.ts +0 -2
  299. package/dist/typography/Typography.js +0 -2
  300. package/dist/typography/Typography.js.map +1 -1
  301. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  302. package/dist/typography/WritingDirectionProvider.js +2 -2
  303. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  304. package/dist/useResizeListener.d.ts +7 -1
  305. package/dist/useResizeListener.js.map +1 -1
  306. package/dist/useResizeObserver.d.ts +3 -3
  307. package/dist/useResizeObserver.js.map +1 -1
  308. package/dist/useToggle.d.ts +4 -4
  309. package/dist/useToggle.js +1 -1
  310. package/dist/useToggle.js.map +1 -1
  311. package/dist/window-splitter/WindowSplitter.d.ts +2 -2
  312. package/dist/window-splitter/WindowSplitter.js +2 -2
  313. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  314. package/package.json +15 -15
  315. package/src/RootHtml.tsx +0 -2
  316. package/src/app-bar/AppBar.tsx +0 -2
  317. package/src/app-bar/AppBarTitle.tsx +0 -2
  318. package/src/avatar/Avatar.tsx +0 -2
  319. package/src/badge/Badge.tsx +1 -3
  320. package/src/box/Box.tsx +0 -2
  321. package/src/button/ButtonUnstyled.tsx +0 -2
  322. package/src/card/Card.tsx +0 -2
  323. package/src/card/CardContent.tsx +0 -2
  324. package/src/card/CardFooter.tsx +0 -2
  325. package/src/card/CardHeader.tsx +0 -2
  326. package/src/card/CardSubtitle.tsx +0 -2
  327. package/src/card/CardTitle.tsx +0 -2
  328. package/src/chip/Chip.tsx +0 -2
  329. package/src/dialog/DialogContainer.tsx +0 -2
  330. package/src/dialog/DialogContent.tsx +3 -3
  331. package/src/dialog/DialogFooter.tsx +2 -3
  332. package/src/dialog/DialogHeader.tsx +3 -3
  333. package/src/dialog/DialogTitle.tsx +3 -3
  334. package/src/divider/Divider.tsx +0 -2
  335. package/src/expansion-panel/ExpansionList.tsx +1 -1
  336. package/src/expansion-panel/ExpansionPanel.tsx +9 -38
  337. package/src/expansion-panel/ExpansionPanelHeader.tsx +0 -1
  338. package/src/expansion-panel/expansionPanelStyles.ts +33 -0
  339. package/src/form/Fieldset.tsx +0 -2
  340. package/src/form/FormMessage.tsx +0 -2
  341. package/src/form/FormMessageContainer.tsx +0 -1
  342. package/src/form/FormMessageCounter.tsx +0 -2
  343. package/src/form/InputToggle.tsx +1 -1
  344. package/src/form/InputToggleIcon.tsx +0 -2
  345. package/src/form/Label.tsx +0 -2
  346. package/src/form/Legend.tsx +0 -2
  347. package/src/form/NativeSelect.tsx +0 -2
  348. package/src/form/Option.tsx +1 -1
  349. package/src/form/SelectedOption.tsx +0 -2
  350. package/src/form/SliderContainer.tsx +0 -2
  351. package/src/form/SliderMark.tsx +0 -2
  352. package/src/form/SliderMarkLabel.tsx +0 -2
  353. package/src/form/SliderTrack.tsx +0 -2
  354. package/src/form/SliderValueMarks.tsx +0 -2
  355. package/src/form/Switch.tsx +0 -2
  356. package/src/form/SwitchTrack.tsx +2 -1
  357. package/src/form/TextField.tsx +0 -2
  358. package/src/form/TextFieldAddon.tsx +1 -3
  359. package/src/icon/FontIcon.tsx +0 -2
  360. package/src/icon/IconRotator.tsx +0 -2
  361. package/src/icon/MaterialIcon.tsx +0 -2
  362. package/src/icon/MaterialSymbol.tsx +0 -1
  363. package/src/icon/SVGIcon.tsx +0 -2
  364. package/src/icon/TextIconSpacing.tsx +0 -2
  365. package/src/icon/styles.ts +1 -1
  366. package/src/interaction/RippleContainer.tsx +0 -2
  367. package/src/layout/LayoutNav.tsx +3 -2
  368. package/src/layout/useHorizontalLayoutTransition.ts +1 -1
  369. package/src/layout/useLayoutTree.ts +2 -2
  370. package/src/link/Link.tsx +0 -2
  371. package/src/list/List.tsx +1 -33
  372. package/src/list/ListItem.tsx +0 -17
  373. package/src/list/ListItemAddon.tsx +0 -2
  374. package/src/list/ListItemChildren.tsx +0 -2
  375. package/src/list/ListItemText.tsx +0 -2
  376. package/src/list/ListSubheader.tsx +3 -2
  377. package/src/list/getListItemHeight.ts +2 -2
  378. package/src/list/listItemStyles.ts +21 -4
  379. package/src/list/listStyles.ts +31 -0
  380. package/src/list/types.ts +9 -3
  381. package/src/media-queries/AppSizeProvider.tsx +8 -0
  382. package/src/media-queries/useMediaQuery.ts +1 -1
  383. package/src/menu/MenuConfigurationProvider.tsx +2 -2
  384. package/src/navigation/NavGroup.tsx +0 -2
  385. package/src/navigation/NavItem.tsx +0 -2
  386. package/src/navigation/NavSubheader.tsx +0 -2
  387. package/src/progress/CircularProgress.tsx +0 -2
  388. package/src/progress/LinearProgress.tsx +0 -2
  389. package/src/responsive-item/ResponsiveItemContainer.tsx +0 -2
  390. package/src/responsive-item/ResponsiveItemOverlay.tsx +0 -2
  391. package/src/segmented-button/SegmentedButtonContainer.tsx +0 -2
  392. package/src/sheet/Sheet.tsx +36 -33
  393. package/src/sheet/styles.ts +50 -0
  394. package/src/suspense/CircularProgressSuspense.tsx +0 -2
  395. package/src/suspense/NullSuspense.tsx +0 -2
  396. package/src/table/TableCellContent.tsx +0 -3
  397. package/src/tabs/Tab.tsx +3 -0
  398. package/src/tabs/TabListScrollButton.tsx +9 -2
  399. package/src/tabs/tabListScrollButtonStyles.ts +9 -5
  400. package/src/tabs/useTabList.ts +4 -0
  401. package/src/tabs/useTabs.ts +61 -14
  402. package/src/test-utils/IntersectionObserver.ts +1 -1
  403. package/src/transition/SlideContainer.tsx +2 -48
  404. package/src/tree/DefaultTreeItemRenderer.tsx +3 -4
  405. package/src/tree/Tree.tsx +4 -6
  406. package/src/tree/TreeItem.tsx +11 -4
  407. package/src/tree/types.ts +16 -6
  408. package/src/tree/useTree.ts +3 -3
  409. package/src/tree/useTreeExpansion.ts +3 -3
  410. package/src/tree/useTreeSelection.ts +3 -3
  411. package/src/typography/SrOnly.tsx +2 -1
  412. package/src/typography/TextContainer.tsx +0 -2
  413. package/src/typography/Typography.tsx +0 -2
  414. package/src/typography/WritingDirectionProvider.tsx +2 -2
  415. package/src/useResizeListener.ts +7 -1
  416. package/src/useResizeObserver.ts +3 -3
  417. package/src/useToggle.ts +4 -4
  418. package/src/window-splitter/WindowSplitter.tsx +2 -2
  419. package/.eslintrc.cjs +0 -34
  420. package/.stylelintrc.json +0 -14
  421. package/.swcrc +0 -17
  422. package/.turbo/turbo-build.log +0 -22
  423. package/.turbo/turbo-lint.log +0 -12
  424. package/.turbo/turbo-test.log +0 -5516
  425. package/.turbo/turbo-typecheck.log +0 -4
  426. package/CHANGELOG.md +0 -323
  427. package/coverage/clover.xml +0 -842
  428. package/coverage/coverage-final.json +0 -6
  429. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +0 -1033
  430. package/coverage/lcov-report/autocomplete/AutocompleteClearButton.tsx.html +0 -262
  431. package/coverage/lcov-report/autocomplete/FilterAutocompleteOptions.tsx.html +0 -364
  432. package/coverage/lcov-report/autocomplete/index.html +0 -146
  433. package/coverage/lcov-report/base.css +0 -224
  434. package/coverage/lcov-report/block-navigation.js +0 -87
  435. package/coverage/lcov-report/button/Button.tsx.html +0 -676
  436. package/coverage/lcov-report/button/index.html +0 -116
  437. package/coverage/lcov-report/card/Card.tsx.html +0 -349
  438. package/coverage/lcov-report/card/CardSubtitle.tsx.html +0 -265
  439. package/coverage/lcov-report/card/index.html +0 -146
  440. package/coverage/lcov-report/card/styles.ts.html +0 -682
  441. package/coverage/lcov-report/createHorizontalPosition.ts.html +0 -1075
  442. package/coverage/lcov-report/createVerticalPosition.ts.html +0 -997
  443. package/coverage/lcov-report/favicon.png +0 -0
  444. package/coverage/lcov-report/form/Option.tsx.html +0 -727
  445. package/coverage/lcov-report/form/index.html +0 -131
  446. package/coverage/lcov-report/form/useListboxProvider.ts.html +0 -253
  447. package/coverage/lcov-report/index.html +0 -146
  448. package/coverage/lcov-report/prettify.css +0 -1
  449. package/coverage/lcov-report/prettify.js +0 -2
  450. package/coverage/lcov-report/searching/fuzzy.ts.html +0 -607
  451. package/coverage/lcov-report/searching/index.html +0 -116
  452. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  453. package/coverage/lcov-report/sorter.js +0 -196
  454. package/coverage/lcov-report/src/card/Card.tsx.html +0 -349
  455. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +0 -277
  456. package/coverage/lcov-report/src/card/index.html +0 -146
  457. package/coverage/lcov-report/src/card/styles.ts.html +0 -682
  458. package/coverage/lcov-report/src/cssUtils.ts.html +0 -787
  459. package/coverage/lcov-report/src/index.html +0 -116
  460. package/coverage/lcov-report/src/transition/index.html +0 -116
  461. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +0 -766
  462. package/coverage/lcov-report/transition/index.html +0 -116
  463. package/coverage/lcov-report/transition/useCSSTransition.ts.html +0 -766
  464. package/coverage/lcov-report/typography/SrOnly.tsx.html +0 -325
  465. package/coverage/lcov-report/typography/index.html +0 -116
  466. package/coverage/lcov-report/utils.ts.html +0 -1225
  467. package/coverage/lcov.info +0 -952
  468. package/jest.config.ts +0 -68
  469. package/jest.setup.ts +0 -3
  470. package/scripts/copySassFiles.ts +0 -70
  471. package/scripts/getExportMap.ts +0 -66
  472. package/scripts/tsconfig.json +0 -18
  473. package/src/__tests__/NoSsr.node.tsx +0 -26
  474. package/src/__tests__/NoSsr.tsx +0 -89
  475. package/src/__tests__/RootHtml.node.tsx +0 -46
  476. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +0 -19
  477. package/src/__tests__/useAsyncFunction.tsx +0 -124
  478. package/src/__tests__/useDebouncedFunction.tsx +0 -108
  479. package/src/__tests__/useDropzone.tsx +0 -131
  480. package/src/__tests__/useElementSize.tsx +0 -181
  481. package/src/__tests__/useEnsuredId.tsx +0 -25
  482. package/src/__tests__/useEnsuredState.tsx +0 -74
  483. package/src/__tests__/useHtmlClassName.tsx +0 -54
  484. package/src/__tests__/useLocalStorage.tsx +0 -377
  485. package/src/__tests__/useOrientation.node.tsx +0 -20
  486. package/src/__tests__/useOrientation.tsx +0 -63
  487. package/src/__tests__/useResizeObserver.tsx +0 -258
  488. package/src/__tests__/useThrottledFunction.tsx +0 -226
  489. package/src/__tests__/useToggle.tsx +0 -78
  490. package/src/__tests__/useWindowSize.node.tsx +0 -56
  491. package/src/__tests__/useWindowSize.tsx +0 -155
  492. package/src/_box-shadows.scss +0 -219
  493. package/src/_core.scss +0 -432
  494. package/src/_utils.scss +0 -348
  495. package/src/app-bar/__tests__/AppBar.tsx +0 -121
  496. package/src/app-bar/__tests__/AppBarTitle.tsx +0 -39
  497. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +0 -186
  498. package/src/app-bar/__tests__/__snapshots__/AppBarTitle.tsx.snap +0 -47
  499. package/src/app-bar/_app-bar.scss +0 -248
  500. package/src/autocomplete/__tests__/Autocomplete.tsx +0 -458
  501. package/src/autocomplete/__tests__/__snapshots__/Autocomplete.tsx.snap +0 -144
  502. package/src/autocomplete/_autocomplete.scss +0 -75
  503. package/src/avatar/__tests__/Avatar.tsx +0 -75
  504. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +0 -73
  505. package/src/avatar/_avatar.scss +0 -157
  506. package/src/badge/__tests__/Badge.tsx +0 -42
  507. package/src/badge/__tests__/__snapshots__/Badge.tsx.snap +0 -54
  508. package/src/badge/_badge.scss +0 -145
  509. package/src/box/__tests__/Box.tsx +0 -158
  510. package/src/box/__tests__/__snapshots__/Box.tsx.snap +0 -544
  511. package/src/box/_box.scss +0 -168
  512. package/src/button/__tests__/AsyncButton.tsx +0 -211
  513. package/src/button/__tests__/Button.tsx +0 -198
  514. package/src/button/__tests__/ButtonUnstyled.tsx +0 -37
  515. package/src/button/__tests__/TooltippedButton.tsx +0 -60
  516. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +0 -418
  517. package/src/button/__tests__/__snapshots__/Button.tsx.snap +0 -573
  518. package/src/button/__tests__/__snapshots__/ButtonUnstyled.tsx.snap +0 -22
  519. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +0 -26
  520. package/src/button/__tests__/__snapshots__/buttonStyles.ts.snap +0 -11
  521. package/src/button/__tests__/buttonStyles.ts +0 -15
  522. package/src/button/_button.scss +0 -330
  523. package/src/card/__tests__/Card.tsx +0 -37
  524. package/src/card/__tests__/CardContent.tsx +0 -40
  525. package/src/card/__tests__/CardFooter.tsx +0 -34
  526. package/src/card/__tests__/CardHeader.tsx +0 -66
  527. package/src/card/__tests__/CardSubtitle.tsx +0 -30
  528. package/src/card/__tests__/CardTitle.tsx +0 -30
  529. package/src/card/__tests__/ClickableCard.tsx +0 -66
  530. package/src/card/__tests__/__snapshots__/Card.tsx.snap +0 -40
  531. package/src/card/__tests__/__snapshots__/CardContent.tsx.snap +0 -50
  532. package/src/card/__tests__/__snapshots__/CardFooter.tsx.snap +0 -30
  533. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +0 -74
  534. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +0 -18
  535. package/src/card/__tests__/__snapshots__/CardTitle.tsx.snap +0 -18
  536. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +0 -20
  537. package/src/card/__tests__/__snapshots__/styles.ts.snap +0 -13
  538. package/src/card/__tests__/styles.ts +0 -45
  539. package/src/card/_card.scss +0 -189
  540. package/src/chip/__tests__/Chip.tsx +0 -327
  541. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +0 -597
  542. package/src/chip/__tests__/__snapshots__/styles.ts.snap +0 -5
  543. package/src/chip/__tests__/styles.ts +0 -14
  544. package/src/chip/_chip.scss +0 -324
  545. package/src/dialog/__tests__/Dialog.tsx +0 -316
  546. package/src/dialog/__tests__/DialogContent.tsx +0 -53
  547. package/src/dialog/__tests__/DialogFooter.tsx +0 -70
  548. package/src/dialog/__tests__/DialogHeader.tsx +0 -37
  549. package/src/dialog/__tests__/DialogTitle.tsx +0 -41
  550. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +0 -84
  551. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +0 -36
  552. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +0 -186
  553. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +0 -18
  554. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +0 -26
  555. package/src/dialog/_dialog.scss +0 -273
  556. package/src/divider/__tests__/Divider.tsx +0 -36
  557. package/src/divider/__tests__/__snapshots__/Divider.tsx.snap +0 -26
  558. package/src/divider/_divider.scss +0 -124
  559. package/src/draggable/__tests__/__snapshots__/useDraggable.tsx.snap +0 -49
  560. package/src/draggable/__tests__/useDraggable.tsx +0 -540
  561. package/src/draggable/_draggable.scss +0 -29
  562. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +0 -290
  563. package/src/expansion-panel/__tests__/__snapshots__/ExpansionPanel.tsx.snap +0 -197
  564. package/src/expansion-panel/_expansion-panel.scss +0 -107
  565. package/src/focus/__tests__/useFocusContainer.tsx +0 -280
  566. package/src/form/__tests__/Checkbox.tsx +0 -42
  567. package/src/form/__tests__/Fieldset.tsx +0 -44
  568. package/src/form/__tests__/FileInput.tsx +0 -120
  569. package/src/form/__tests__/Label.tsx +0 -69
  570. package/src/form/__tests__/Legend.tsx +0 -34
  571. package/src/form/__tests__/MenuItemCheckbox.tsx +0 -53
  572. package/src/form/__tests__/MenuItemRadio.tsx +0 -53
  573. package/src/form/__tests__/Radio.tsx +0 -35
  574. package/src/form/__tests__/Select.tsx +0 -439
  575. package/src/form/__tests__/Switch.tsx +0 -152
  576. package/src/form/__tests__/TextArea.tsx +0 -433
  577. package/src/form/__tests__/TextField.tsx +0 -195
  578. package/src/form/__tests__/__snapshots__/Checkbox.tsx.snap +0 -99
  579. package/src/form/__tests__/__snapshots__/Fieldset.tsx.snap +0 -58
  580. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +0 -612
  581. package/src/form/__tests__/__snapshots__/Label.tsx.snap +0 -140
  582. package/src/form/__tests__/__snapshots__/Legend.tsx.snap +0 -30
  583. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +0 -96
  584. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +0 -96
  585. package/src/form/__tests__/__snapshots__/Radio.tsx.snap +0 -99
  586. package/src/form/__tests__/__snapshots__/Select.tsx.snap +0 -492
  587. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +0 -428
  588. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +0 -548
  589. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +0 -279
  590. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +0 -481
  591. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +0 -704
  592. package/src/form/__tests__/useCheckboxGroup.tsx +0 -292
  593. package/src/form/__tests__/useFileUpload.tsx +0 -289
  594. package/src/form/__tests__/useFormReset.tsx +0 -194
  595. package/src/form/__tests__/useRadioGroup.tsx +0 -227
  596. package/src/form/__tests__/utils.ts +0 -247
  597. package/src/form/_form.scss +0 -2190
  598. package/src/icon/__tests__/FontIcon.tsx +0 -45
  599. package/src/icon/__tests__/IconRotator.tsx +0 -120
  600. package/src/icon/__tests__/MaterialIcon.tsx +0 -79
  601. package/src/icon/__tests__/MaterialSymbol.tsx +0 -100
  602. package/src/icon/__tests__/SVGIcon.tsx +0 -40
  603. package/src/icon/__tests__/TextIconSpacing.tsx +0 -108
  604. package/src/icon/__tests__/__snapshots__/FontIcon.tsx.snap +0 -35
  605. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +0 -165
  606. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +0 -82
  607. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +0 -42
  608. package/src/icon/__tests__/__snapshots__/SVGIcon.tsx.snap +0 -47
  609. package/src/icon/__tests__/__snapshots__/TextIconSpacing.tsx.snap +0 -101
  610. package/src/icon/__tests__/__snapshots__/styles.ts.snap +0 -29
  611. package/src/icon/__tests__/styles.ts +0 -28
  612. package/src/icon/_icon.scss +0 -213
  613. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +0 -121
  614. package/src/interaction/__tests__/__snapshots__/useHigherContrastChildren.tsx.snap +0 -79
  615. package/src/interaction/__tests__/useHigherContrastChildren.tsx +0 -97
  616. package/src/interaction/_interaction.scss +0 -436
  617. package/src/layout/__tests__/LayoutAppBar.tsx +0 -117
  618. package/src/layout/__tests__/LayoutNav.tsx +0 -78
  619. package/src/layout/__tests__/LayoutWindowSplitter.tsx +0 -63
  620. package/src/layout/__tests__/Main.tsx +0 -51
  621. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +0 -78
  622. package/src/layout/__tests__/__snapshots__/LayoutNav.tsx.snap +0 -31
  623. package/src/layout/__tests__/__snapshots__/LayoutWindowSplitter.tsx.snap +0 -60
  624. package/src/layout/__tests__/__snapshots__/Main.tsx.snap +0 -32
  625. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +0 -116
  626. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +0 -676
  627. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +0 -95
  628. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +0 -141
  629. package/src/layout/__tests__/useExpandableLayout.tsx +0 -279
  630. package/src/layout/__tests__/useLayoutTree.tsx +0 -212
  631. package/src/layout/__tests__/useResizableLayout.tsx +0 -170
  632. package/src/layout/__tests__/useTemporaryLayout.tsx +0 -109
  633. package/src/layout/_layout.scss +0 -163
  634. package/src/link/__tests__/Link.tsx +0 -31
  635. package/src/link/__tests__/SkipToMainContent.tsx +0 -125
  636. package/src/link/__tests__/__snapshots__/Link.tsx.snap +0 -20
  637. package/src/link/__tests__/__snapshots__/SkipToMainContent.tsx.snap +0 -22
  638. package/src/link/_link.scss +0 -149
  639. package/src/list/__tests__/List.tsx +0 -58
  640. package/src/list/__tests__/ListItem.tsx +0 -280
  641. package/src/list/__tests__/ListItemLink.tsx +0 -89
  642. package/src/list/__tests__/ListSubheader.tsx +0 -81
  643. package/src/list/__tests__/__snapshots__/List.tsx.snap +0 -41
  644. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +0 -414
  645. package/src/list/__tests__/__snapshots__/ListItemLink.tsx.snap +0 -73
  646. package/src/list/__tests__/__snapshots__/ListSubheader.tsx.snap +0 -99
  647. package/src/list/__tests__/getListItemHeight.ts +0 -176
  648. package/src/list/_list.scss +0 -322
  649. package/src/media-queries/__tests__/AppSizeProvider.node.tsx +0 -37
  650. package/src/media-queries/__tests__/AppSizeProvider.tsx +0 -119
  651. package/src/media-queries/__tests__/useMediaQuery.node.tsx +0 -20
  652. package/src/media-queries/__tests__/useMediaQuery.tsx +0 -59
  653. package/src/media-queries/_media-queries.scss +0 -63
  654. package/src/menu/__tests__/DropdownMenu.tsx +0 -627
  655. package/src/menu/__tests__/MenuBar.tsx +0 -354
  656. package/src/menu/__tests__/MenuItemCircularProgress.tsx +0 -39
  657. package/src/menu/__tests__/MenuVisibilityProvider.tsx +0 -34
  658. package/src/menu/__tests__/__snapshots__/DropdownMenu.tsx.snap +0 -292
  659. package/src/menu/__tests__/__snapshots__/MenuBar.tsx.snap +0 -87
  660. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +0 -68
  661. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +0 -54
  662. package/src/menu/__tests__/useContextMenu.tsx +0 -41
  663. package/src/menu/__tests__/utils.ts +0 -121
  664. package/src/menu/_menu.scss +0 -116
  665. package/src/movement/__tests__/findMatchIndex.ts +0 -244
  666. package/src/movement/__tests__/utils.ts +0 -710
  667. package/src/navigation/__tests__/Navigation.tsx +0 -97
  668. package/src/navigation/__tests__/__snapshots__/Navigation.tsx.snap +0 -165
  669. package/src/navigation/_navigation.scss +0 -99
  670. package/src/overlay/__tests__/Overlay.tsx +0 -198
  671. package/src/overlay/__tests__/__snapshots__/Overlay.tsx.snap +0 -77
  672. package/src/overlay/_overlay.scss +0 -74
  673. package/src/portal/__tests__/PortalContainerProvider.node.tsx +0 -26
  674. package/src/portal/__tests__/PortalContainerProvider.tsx +0 -84
  675. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -87
  676. package/src/positioning/__tests__/createHorizontalPosition.ts +0 -777
  677. package/src/positioning/__tests__/createVerticalPosition.ts +0 -464
  678. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -205
  679. package/src/positioning/__tests__/utils.ts +0 -1311
  680. package/src/progress/__tests__/CircularProgress.tsx +0 -153
  681. package/src/progress/__tests__/LinearProgress.tsx +0 -131
  682. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +0 -499
  683. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +0 -321
  684. package/src/progress/__tests__/getProgressA11y.ts +0 -16
  685. package/src/progress/_progress.scss +0 -577
  686. package/src/responsive-item/__tests__/ResponsiveItemContainer.tsx +0 -56
  687. package/src/responsive-item/__tests__/ResponsiveItemOverlay.tsx +0 -66
  688. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemContainer.tsx.snap +0 -85
  689. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemOverlay.tsx.snap +0 -151
  690. package/src/responsive-item/__tests__/__snapshots__/styles.ts.snap +0 -9
  691. package/src/responsive-item/__tests__/styles.ts +0 -32
  692. package/src/responsive-item/_responsive-item.scss +0 -199
  693. package/src/searching/__tests__/caseInsensitive.ts +0 -165
  694. package/src/searching/__tests__/fuzzy.ts +0 -169
  695. package/src/searching/__tests__/toSearchQuery.ts +0 -21
  696. package/src/searching/__tests__/useFuzzyMatch.tsx +0 -200
  697. package/src/segmented-button/__tests__/SegmentedButton.tsx +0 -61
  698. package/src/segmented-button/__tests__/SegmentedButtonContainer.tsx +0 -38
  699. package/src/segmented-button/__tests__/__snapshots__/SegmentedButton.tsx.snap +0 -116
  700. package/src/segmented-button/__tests__/__snapshots__/SegmentedButtonContainer.tsx.snap +0 -22
  701. package/src/segmented-button/_segmented-button.scss +0 -208
  702. package/src/sheet/_sheet.scss +0 -189
  703. package/src/snackbar/__tests__/Snackbar.tsx +0 -85
  704. package/src/snackbar/__tests__/Toast.tsx +0 -105
  705. package/src/snackbar/__tests__/ToastActionButton.tsx +0 -112
  706. package/src/snackbar/__tests__/ToastCloseButton.tsx +0 -140
  707. package/src/snackbar/__tests__/ToastContent.tsx +0 -88
  708. package/src/snackbar/__tests__/ToastManagerProvider.tsx +0 -852
  709. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +0 -176
  710. package/src/snackbar/__tests__/__snapshots__/Toast.tsx.snap +0 -52
  711. package/src/snackbar/__tests__/__snapshots__/ToastActionButton.tsx.snap +0 -36
  712. package/src/snackbar/__tests__/__snapshots__/ToastCloseButton.tsx.snap +0 -104
  713. package/src/snackbar/__tests__/__snapshots__/ToastContent.tsx.snap +0 -26
  714. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +0 -290
  715. package/src/snackbar/_snackbar.scss +0 -266
  716. package/src/suspense/__tests__/CircularProgressSuspense.tsx +0 -90
  717. package/src/suspense/__tests__/NullSuspense.tsx +0 -46
  718. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +0 -24
  719. package/src/table/__tests__/Table.tsx +0 -315
  720. package/src/table/__tests__/TableBody.tsx +0 -52
  721. package/src/table/__tests__/TableCheckbox.tsx +0 -89
  722. package/src/table/__tests__/TableContainer.tsx +0 -31
  723. package/src/table/__tests__/TableRadio.tsx +0 -112
  724. package/src/table/__tests__/TableRow.tsx +0 -63
  725. package/src/table/__tests__/__snapshots__/Table.tsx.snap +0 -2426
  726. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +0 -54
  727. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +0 -142
  728. package/src/table/__tests__/__snapshots__/TableContainer.tsx.snap +0 -16
  729. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +0 -138
  730. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +0 -56
  731. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +0 -3
  732. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +0 -3
  733. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +0 -3
  734. package/src/table/__tests__/tableContainerStyles.ts +0 -8
  735. package/src/table/__tests__/tableRowStyles.ts +0 -8
  736. package/src/table/__tests__/tableStyles.ts +0 -8
  737. package/src/table/_table.scss +0 -447
  738. package/src/tabs/__tests__/Tab.tsx +0 -51
  739. package/src/tabs/__tests__/TabList.tsx +0 -640
  740. package/src/tabs/__tests__/__snapshots__/Tab.tsx.snap +0 -85
  741. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +0 -51
  742. package/src/tabs/__tests__/useTabs.tsx +0 -212
  743. package/src/tabs/_tabs.scss +0 -273
  744. package/src/test-utils/__tests__/ResizeObserver.ts +0 -171
  745. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +0 -162
  746. package/src/theme/__tests__/ThemeProvider.tsx +0 -90
  747. package/src/theme/__tests__/__snapshots__/useCSSVariables.tsx.snap +0 -27
  748. package/src/theme/__tests__/__snapshots__/useColorSchemeMetaTag.tsx.snap +0 -15
  749. package/src/theme/__tests__/useCSSVariables.tsx +0 -177
  750. package/src/theme/__tests__/useColorSchemeMetaTag.tsx +0 -36
  751. package/src/theme/__tests__/utils.ts +0 -67
  752. package/src/theme/_a11y.scss +0 -114
  753. package/src/theme/_colors.scss +0 -1057
  754. package/src/theme/_theme.scss +0 -520
  755. package/src/tooltip/__tests__/Tooltip.tsx +0 -501
  756. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +0 -94
  757. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -34
  758. package/src/tooltip/__tests__/utils.ts +0 -94
  759. package/src/tooltip/_tooltip.scss +0 -155
  760. package/src/transition/__tests__/CSSTransition.tsx +0 -182
  761. package/src/transition/__tests__/Collapse.tsx +0 -209
  762. package/src/transition/__tests__/CrossFade.tsx +0 -227
  763. package/src/transition/__tests__/ScaleTransition.tsx +0 -204
  764. package/src/transition/__tests__/SkeletonPlaceholder.tsx +0 -72
  765. package/src/transition/__tests__/__snapshots__/CSSTransition.tsx.snap +0 -145
  766. package/src/transition/__tests__/__snapshots__/Collapse.tsx.snap +0 -224
  767. package/src/transition/__tests__/__snapshots__/CrossFade.tsx.snap +0 -240
  768. package/src/transition/__tests__/__snapshots__/ScaleTransition.tsx.snap +0 -239
  769. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +0 -24
  770. package/src/transition/__tests__/__snapshots__/useCollapseTransition.tsx.snap +0 -361
  771. package/src/transition/__tests__/__snapshots__/useCrossFadeTransition.tsx.snap +0 -258
  772. package/src/transition/__tests__/__snapshots__/useMaxWidthTransition.tsx.snap +0 -68
  773. package/src/transition/__tests__/__snapshots__/useScaleTransition.tsx.snap +0 -209
  774. package/src/transition/__tests__/useCSSTransition.tsx +0 -190
  775. package/src/transition/__tests__/useCollapseTransition.tsx +0 -316
  776. package/src/transition/__tests__/useCrossFadeTransition.tsx +0 -229
  777. package/src/transition/__tests__/useMaxWidthTransition.tsx +0 -123
  778. package/src/transition/__tests__/useScaleTransition.tsx +0 -212
  779. package/src/transition/__tests__/useTransition.tsx +0 -569
  780. package/src/transition/__tests__/utils.ts +0 -620
  781. package/src/transition/_transition.scss +0 -365
  782. package/src/tree/__tests__/Tree.tsx +0 -735
  783. package/src/tree/__tests__/TreeGroup.tsx +0 -76
  784. package/src/tree/__tests__/TreeItemExpander.tsx +0 -74
  785. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +0 -3618
  786. package/src/tree/__tests__/__snapshots__/TreeItemExpander.tsx.snap +0 -11
  787. package/src/tree/__tests__/utils.ts +0 -98
  788. package/src/tree/_tree.scss +0 -176
  789. package/src/typography/__tests__/SrOnly.tsx +0 -43
  790. package/src/typography/__tests__/TextContainer.tsx +0 -45
  791. package/src/typography/__tests__/Typography.tsx +0 -87
  792. package/src/typography/__tests__/WritingDirectionProvider.node.tsx +0 -27
  793. package/src/typography/__tests__/WritingDirectionProvider.tsx +0 -119
  794. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +0 -56
  795. package/src/typography/__tests__/__snapshots__/TextContainer.tsx.snap +0 -29
  796. package/src/typography/__tests__/__snapshots__/Typography.tsx.snap +0 -112
  797. package/src/typography/_typography.scss +0 -399
  798. package/src/utils/__tests__/RenderRecursively.tsx +0 -87
  799. package/src/utils/__tests__/__snapshots__/RenderRecursively.tsx.snap +0 -80
  800. package/src/utils/__tests__/applyRef.ts +0 -30
  801. package/src/utils/__tests__/bem.ts +0 -54
  802. package/src/utils/__tests__/getMiddleOfRange.ts +0 -12
  803. package/src/utils/__tests__/getPercentage.ts +0 -104
  804. package/src/utils/__tests__/getRangeDefaultValue.ts +0 -47
  805. package/src/utils/__tests__/getRangeSteps.ts +0 -14
  806. package/src/utils/__tests__/loop.ts +0 -50
  807. package/src/utils/__tests__/nearest.ts +0 -83
  808. package/src/utils/__tests__/parseCssLengthUnit.node.ts +0 -28
  809. package/src/utils/__tests__/parseCssLengthUnit.ts +0 -47
  810. package/src/utils/__tests__/wait.ts +0 -12
  811. package/src/utils/__tests__/withinRange.ts +0 -24
  812. package/src/window-splitter/_window-splitter.scss +0 -143
  813. package/tsconfig.json +0 -19
  814. package/tsconfig.types.json +0 -12
  815. package/tsdoc.json +0 -14
@@ -1,627 +0,0 @@
1
- import { beforeEach, describe, expect, it, jest } from "@jest/globals";
2
- import { type ReactElement } from "react";
3
- import {
4
- act,
5
- rmdRender,
6
- screen,
7
- useImmediateRaf,
8
- userEvent,
9
- waitFor,
10
- waitForElementToBeRemoved,
11
- within,
12
- } from "../../test-utils/index.js";
13
-
14
- import { Button } from "../../button/Button.js";
15
- import { DialogFooter } from "../../dialog/DialogFooter.js";
16
- import { DialogHeader } from "../../dialog/DialogHeader.js";
17
- import { MaterialIcon } from "../../icon/MaterialIcon.js";
18
- import {
19
- DEFAULT_DESKTOP_LARGE_MIN_WIDTH,
20
- DEFAULT_DESKTOP_MIN_WIDTH,
21
- DEFAULT_PHONE_MAX_WIDTH,
22
- } from "../../media-queries/appSize.js";
23
- import { TRANSITION_CONFIG } from "../../transition/config.js";
24
- import { DropdownMenu } from "../DropdownMenu.js";
25
- import { MenuItem } from "../MenuItem.js";
26
- import { useMenuVisibility } from "../MenuVisibilityProvider.js";
27
-
28
- describe("DropdownMenu", () => {
29
- beforeEach(() => {
30
- TRANSITION_CONFIG.disabled = false;
31
- });
32
-
33
- it("should render as a button and toggle the visibility when clicked", async () => {
34
- const user = userEvent.setup();
35
- const onItem1Click = jest.fn();
36
- const onItem2Click = jest.fn();
37
- const onItem3Click = jest.fn();
38
-
39
- rmdRender(
40
- <>
41
- <div data-testid="outside" />
42
- <DropdownMenu buttonChildren="Dropdown">
43
- <MenuItem onClick={onItem1Click}>Item 1</MenuItem>
44
- <MenuItem onClick={onItem2Click}>Item 2</MenuItem>
45
- <MenuItem onClick={onItem3Click}>Item 3</MenuItem>
46
- </DropdownMenu>
47
- </>
48
- );
49
-
50
- const button = await screen.findByRole("button", { name: "Dropdown" });
51
- expect(button).toMatchSnapshot();
52
-
53
- await user.click(button);
54
-
55
- const menu = await screen.findByRole("menu", { name: "Dropdown" });
56
- await waitFor(() => {
57
- expect(menu).not.toHaveClass("rmd-scale-transition--enter");
58
- });
59
- expect(menu).toMatchSnapshot();
60
- expect(document.activeElement).toBe(menu);
61
-
62
- await user.click(screen.getByRole("menuitem", { name: "Item 2" }));
63
- await waitFor(() => {
64
- expect(menu).not.toBeInTheDocument();
65
- });
66
-
67
- expect(document.activeElement).toBe(button);
68
- expect(onItem1Click).not.toHaveBeenCalled();
69
- expect(onItem2Click).toHaveBeenCalledTimes(1);
70
- expect(onItem3Click).not.toHaveBeenCalled();
71
-
72
- await user.click(button);
73
- await waitFor(() => {
74
- expect(screen.getByRole("menu", { name: "Dropdown" })).not.toHaveClass(
75
- "rmd-scale-transition--enter"
76
- );
77
- });
78
-
79
- const outside = screen.getByTestId("outside");
80
- await userEvent.click(outside);
81
- await waitFor(() => {
82
- expect(menu).not.toBeInTheDocument();
83
- });
84
-
85
- // since the outside element is not focusable, the click event should bubble
86
- // up to the body and focus that instead
87
- expect(document.activeElement).toBe(document.body);
88
- expect(onItem1Click).not.toHaveBeenCalled();
89
- expect(onItem2Click).toHaveBeenCalledTimes(1);
90
- expect(onItem3Click).not.toHaveBeenCalled();
91
- });
92
-
93
- it("should allow all transitions to be disabled with the disableTransition prop", async () => {
94
- const user = userEvent.setup();
95
-
96
- rmdRender(
97
- <DropdownMenu buttonChildren="Dropdown" disableTransition>
98
- <MenuItem>Item 1</MenuItem>
99
- <MenuItem>Item 2</MenuItem>
100
- <MenuItem>Item 3</MenuItem>
101
- </DropdownMenu>
102
- );
103
-
104
- const button = screen.getByRole("button", { name: "Dropdown" });
105
- const icon = screen.getByText("arrow_drop_down");
106
- expect(icon).not.toHaveClass("rmd-icon-rotator--animate");
107
-
108
- await user.click(button);
109
- const menu = screen.getByRole("menu", { name: "Dropdown" });
110
- expect(menu).not.toHaveClass("rmd-scale-transition--enter");
111
-
112
- await user.click(button);
113
- expect(menu).not.toBeInTheDocument();
114
- });
115
-
116
- // NOTE: Using disableTransition for all remaining tests since it makes it
117
- // easier to not have to wait for the transitions to complete
118
- it("should allow for a custom id for the button and menu", async () => {
119
- const user = userEvent.setup();
120
- rmdRender(
121
- <DropdownMenu
122
- id="custom-button-id"
123
- menuProps={{ id: "custom-menu-id" }}
124
- buttonChildren="Dropdown"
125
- disableTransition
126
- >
127
- <MenuItem>Item</MenuItem>
128
- </DropdownMenu>
129
- );
130
-
131
- const button = screen.getByRole("button", { name: "Dropdown" });
132
- expect(button).toHaveAttribute("id", "custom-button-id");
133
- await user.click(button);
134
-
135
- const menu = screen.getByRole("menu", { name: "Dropdown" });
136
- expect(menu).toHaveAttribute("id", "custom-menu-id");
137
- });
138
-
139
- it("should allow for a custom aria-label instead of using the aria-labelledby", async () => {
140
- const user = userEvent.setup();
141
- rmdRender(
142
- <DropdownMenu
143
- menuProps={{ "aria-label": "Custom" }}
144
- buttonChildren="Dropdown"
145
- disableTransition
146
- >
147
- <MenuItem>Item</MenuItem>
148
- </DropdownMenu>
149
- );
150
-
151
- await user.click(screen.getByRole("button", { name: "Dropdown" }));
152
-
153
- const menu = screen.getByRole("menu", { name: "Custom" });
154
- expect(menu).not.toHaveAttribute("aria-labelledby");
155
- expect(menu).toHaveAttribute("aria-label", "Custom");
156
- });
157
-
158
- it("should implement the correct keyboard movement behavior", async () => {
159
- const user = userEvent.setup();
160
- rmdRender(
161
- <DropdownMenu buttonChildren="Dropdown" disableTransition>
162
- <MenuItem>Item 1</MenuItem>
163
- <MenuItem>Another 1</MenuItem>
164
- <MenuItem>Orange</MenuItem>
165
- <MenuItem>Apple</MenuItem>
166
- <MenuItem>Another 2</MenuItem>
167
- <MenuItem>Beep</MenuItem>
168
- </DropdownMenu>
169
- );
170
-
171
- const button = screen.getByRole("button", { name: "Dropdown" });
172
-
173
- await user.tab();
174
- expect(document.activeElement).toBe(button);
175
-
176
- await user.keyboard("{ArrowDown}");
177
- let menu = screen.getByRole("menu", { name: "Dropdown" });
178
- let items = screen.getAllByRole("menuitem");
179
- expect(document.activeElement).toBe(items[0]);
180
-
181
- await user.keyboard("{ArrowDown}");
182
- expect(document.activeElement).toBe(items[1]);
183
-
184
- await user.keyboard("a");
185
- expect(document.activeElement).toBe(items[3]);
186
-
187
- await user.keyboard("a");
188
- expect(document.activeElement).toBe(items[4]);
189
-
190
- await user.keyboard("{ArrowUp}");
191
- expect(document.activeElement).toBe(items[3]);
192
-
193
- // this is to emulate "Shift+A" movement which should start the search over
194
- // I can't do `A` since the `useKeyboardMovementProvider` stuff checks with
195
- // a shift key being held
196
- await user.keyboard("{Shift>}A{/Shift}");
197
- expect(document.activeElement).toBe(items[1]);
198
-
199
- await user.keyboard("{Escape}");
200
- expect(menu).not.toBeInTheDocument();
201
- // must wait because of animation frame
202
- await waitFor(() => {
203
- expect(document.activeElement).toBe(button);
204
- });
205
-
206
- await user.keyboard("{ArrowUp}");
207
- menu = screen.getByRole("menu", { name: "Dropdown" });
208
- items = screen.getAllByRole("menuitem");
209
- expect(document.activeElement).toBe(items[5]);
210
- });
211
-
212
- it("should hide the menu when the page is resized when the closeOnResize prop is enabled", async () => {
213
- const raf = useImmediateRaf();
214
- const user = userEvent.setup();
215
- const { rerender } = rmdRender(
216
- <DropdownMenu buttonChildren="Dropdown" disableTransition>
217
- <MenuItem>Item</MenuItem>
218
- </DropdownMenu>
219
- );
220
-
221
- await user.click(screen.getByRole("button", { name: "Dropdown" }));
222
-
223
- const menu = screen.getByRole("menu", { name: "Dropdown" });
224
-
225
- act(() => {
226
- window.dispatchEvent(new Event("resize"));
227
- });
228
- expect(menu).toBeInTheDocument();
229
-
230
- rerender(
231
- <DropdownMenu buttonChildren="Dropdown" disableTransition closeOnResize>
232
- <MenuItem>Item</MenuItem>
233
- </DropdownMenu>
234
- );
235
- expect(menu).toBeInTheDocument();
236
-
237
- act(() => {
238
- window.dispatchEvent(new Event("resize"));
239
- });
240
- expect(menu).not.toBeInTheDocument();
241
-
242
- // when the menu closes because of resize events, the button should not be
243
- // refocused since it would scroll back to the button
244
- expect(document.activeElement).toBe(document.body);
245
-
246
- raf.mockRestore();
247
- });
248
-
249
- it("should hide the menu when the page is scrolled when the closeOnScroll prop is enabled or the menu button is scrolled out of the viewport", async () => {
250
- const raf = useImmediateRaf();
251
- const user = userEvent.setup();
252
- const { rerender } = rmdRender(
253
- <DropdownMenu buttonChildren="Dropdown" disableTransition>
254
- <MenuItem>Item</MenuItem>
255
- </DropdownMenu>
256
- );
257
-
258
- await user.click(screen.getByRole("button", { name: "Dropdown" }));
259
-
260
- let menu = screen.getByRole("menu", { name: "Dropdown" });
261
- act(() => {
262
- window.dispatchEvent(new Event("scroll"));
263
- });
264
- expect(menu).toBeInTheDocument();
265
-
266
- rerender(
267
- <DropdownMenu buttonChildren="Dropdown" disableTransition closeOnScroll>
268
- <MenuItem>Item</MenuItem>
269
- </DropdownMenu>
270
- );
271
- expect(menu).toBeInTheDocument();
272
-
273
- act(() => {
274
- window.dispatchEvent(new Event("scroll"));
275
- });
276
- expect(menu).not.toBeInTheDocument();
277
-
278
- // when the menu closes because of scroll events, the button should not be
279
- // refocused since it would scroll back to the button
280
- expect(document.activeElement).toBe(document.body);
281
-
282
- rerender(
283
- <DropdownMenu buttonChildren="Dropdown" disableTransition>
284
- <MenuItem>Item</MenuItem>
285
- </DropdownMenu>
286
- );
287
-
288
- const button = screen.getByRole("button", { name: "Dropdown" });
289
- await user.click(button);
290
-
291
- menu = screen.getByRole("menu", { name: "Dropdown" });
292
-
293
- // pretend the user scrolled the menu out of the viewport by scrolling down
294
- const baseRect = document.body.getBoundingClientRect();
295
- jest.spyOn(menu, "getBoundingClientRect").mockReturnValue({
296
- ...baseRect,
297
- top: -200,
298
- left: 16,
299
- bottom: -1,
300
- });
301
- jest.spyOn(button, "getBoundingClientRect").mockReturnValue({
302
- ...baseRect,
303
- top: -200,
304
- left: 16,
305
- bottom: -180,
306
- });
307
-
308
- act(() => {
309
- window.dispatchEvent(new Event("scroll"));
310
- });
311
- expect(menu).not.toBeInTheDocument();
312
- expect(document.activeElement).toBe(document.body);
313
-
314
- raf.mockRestore();
315
- });
316
-
317
- it("should be able to render as a sheet", async () => {
318
- const user = userEvent.setup();
319
-
320
- type Listener = (event: MediaQueryListEvent) => void;
321
- const noop = (): void => {};
322
- const listeners = new Map<string, Listener>();
323
- const matchMedia = jest
324
- .spyOn(window, "matchMedia")
325
- .mockImplementation((query) => ({
326
- media: query,
327
- matches:
328
- query.includes(`${DEFAULT_DESKTOP_MIN_WIDTH}`) ||
329
- query.includes(`${DEFAULT_DESKTOP_LARGE_MIN_WIDTH}`),
330
- onchange: noop,
331
- addListener: noop,
332
- removeListener: noop,
333
- addEventListener(
334
- _type: "change",
335
- listener: Listener | EventListenerObject
336
- ) {
337
- if (typeof listener !== "function") {
338
- throw new Error();
339
- }
340
-
341
- listeners.set(query, listener);
342
- },
343
- removeEventListener: noop,
344
- dispatchEvent: () => false,
345
- }));
346
-
347
- function Header(): ReactElement {
348
- const { setVisible } = useMenuVisibility();
349
- return (
350
- <DialogHeader>
351
- <Button onClick={() => setVisible(false)}>Header Close</Button>
352
- </DialogHeader>
353
- );
354
- }
355
-
356
- function Footer(): ReactElement {
357
- const { setVisible } = useMenuVisibility();
358
-
359
- return (
360
- <DialogFooter>
361
- <Button onClick={() => setVisible(false)}>Footer Close</Button>
362
- </DialogFooter>
363
- );
364
- }
365
-
366
- rmdRender(
367
- <DropdownMenu
368
- buttonChildren="Dropdown"
369
- renderAsSheet="phone"
370
- sheetHeader={<Header />}
371
- sheetFooter={<Footer />}
372
- >
373
- <MenuItem>Item 1</MenuItem>
374
- <MenuItem>Item 2</MenuItem>
375
- <MenuItem>Item 3</MenuItem>
376
- </DropdownMenu>
377
- );
378
-
379
- let button = screen.getByRole("button", { name: "Dropdown" });
380
- expect(button).toHaveAttribute("aria-haspopup", "menu");
381
- await user.click(button);
382
-
383
- let menu = await screen.findByRole("menu", { name: "Dropdown" });
384
- await waitFor(() => {
385
- expect(menu).not.toHaveClass("rmd-scale-transition--enter");
386
- });
387
- expect(() => screen.getByRole("dialog")).toThrow();
388
-
389
- await user.keyboard("{Escape}");
390
- await waitFor(() => {
391
- expect(menu).not.toBeInTheDocument();
392
- });
393
-
394
- act(() => {
395
- listeners.forEach((listener, query) => {
396
- const event = new Event("change");
397
- listener({
398
- ...event,
399
- media: "",
400
- matches: query.includes(`${DEFAULT_PHONE_MAX_WIDTH}`),
401
- });
402
- });
403
- });
404
-
405
- button = screen.getByRole("button", { name: "Dropdown" });
406
- expect(button).toHaveAttribute("aria-haspopup", "dialog");
407
- await user.click(button);
408
- const sheet = await screen.findByRole("dialog", { name: "Dropdown" });
409
- await waitFor(() => {
410
- expect(sheet).not.toHaveClass("rmd-sheet--enter");
411
- });
412
- expect(() =>
413
- within(sheet).getByRole("menu", { name: "Dropdown" })
414
- ).not.toThrow();
415
- menu = await screen.findByRole("menu", { name: "Dropdown" });
416
- expect(sheet).toMatchSnapshot();
417
- expect(document.activeElement).toBe(sheet);
418
-
419
- const headerClose = screen.getByRole("button", { name: "Header Close" });
420
- const footerClose = screen.getByRole("button", { name: "Footer Close" });
421
- const item1 = screen.getByRole("menuitem", { name: "Item 1" });
422
- const item2 = screen.getByRole("menuitem", { name: "Item 2" });
423
- const item3 = screen.getByRole("menuitem", { name: "Item 3" });
424
- await user.tab();
425
- expect(document.activeElement).toBe(headerClose);
426
-
427
- await user.tab();
428
- expect(document.activeElement).toBe(item1);
429
-
430
- await user.keyboard("{ArrowDown}");
431
- expect(document.activeElement).toBe(item2);
432
-
433
- await user.keyboard("{Home}");
434
- expect(document.activeElement).toBe(item1);
435
-
436
- await user.keyboard("{End}");
437
- expect(document.activeElement).toBe(item3);
438
-
439
- await user.tab();
440
- // once the menu is blurred in a sheet, it waits an animation frame before
441
- // updating the tab index back to 0 so it can be refocused
442
- await waitFor(() => {
443
- expect(menu).toHaveAttribute("tabIndex", "0");
444
- });
445
- expect(document.activeElement).toBe(footerClose);
446
-
447
- await user.tab({ shift: true });
448
- // there is no roving tab index here, so it'll always be the first item.
449
- // might be something to implement later?
450
- expect(document.activeElement).toBe(item1);
451
-
452
- matchMedia.mockRestore();
453
- });
454
-
455
- it("should remove the dropdown icon when rendered as an icon button", () => {
456
- const { rerender } = rmdRender(
457
- <DropdownMenu
458
- aria-label="Options"
459
- buttonType="icon"
460
- buttonChildren={<MaterialIcon name="more_vert" />}
461
- />
462
- );
463
- let button = screen.getByRole("button", { name: "Options" });
464
- expect(button).toMatchSnapshot();
465
-
466
- rerender(
467
- <DropdownMenu
468
- aria-label="Options"
469
- floating="bottom-right"
470
- buttonChildren={<MaterialIcon name="more_vert" />}
471
- />
472
- );
473
- button = screen.getByRole("button", { name: "Options" });
474
- expect(button).toMatchSnapshot();
475
- });
476
-
477
- it("should allow for a custom dropdown icon before or after the children", () => {
478
- const { rerender } = rmdRender(
479
- <DropdownMenu
480
- buttonChildren="Dropdown"
481
- icon={<MaterialIcon name="favorite" />}
482
- />
483
- );
484
- let button = screen.getByRole("button", { name: "Dropdown" });
485
- expect(button).toMatchSnapshot();
486
-
487
- rerender(
488
- <DropdownMenu
489
- buttonChildren="Dropdown"
490
- icon={<MaterialIcon name="favorite" />}
491
- iconAfter={false}
492
- />
493
- );
494
- button = screen.getByRole("button", { name: "Dropdown" });
495
- expect(button).toMatchSnapshot();
496
-
497
- // this one isn't really useful since it would be better just to add it as
498
- // children with the new button setup
499
- rerender(
500
- <DropdownMenu
501
- buttonChildren="Dropdown"
502
- icon={<MaterialIcon name="favorite" />}
503
- iconAfter={false}
504
- disableDropdownIcon
505
- />
506
- );
507
- button = screen.getByRole("button", { name: "Dropdown" });
508
- expect(button).toMatchSnapshot();
509
- });
510
-
511
- it("should render as a menuitem when a DropdownMenu is a child of another DropdownMenu", async () => {
512
- const user = userEvent.setup();
513
- rmdRender(
514
- <DropdownMenu buttonChildren="Dropdown">
515
- <DropdownMenu buttonChildren="Nested Dropdown 1">
516
- <MenuItem>Nested Item 1</MenuItem>
517
- <MenuItem>Nested Item 2</MenuItem>
518
- <MenuItem>Nested Item 3</MenuItem>
519
- </DropdownMenu>
520
- <DropdownMenu buttonChildren="Nested Dropdown 2" renderAsSheet>
521
- <MenuItem>Nested Item 1</MenuItem>
522
- <MenuItem>Nested Item 2</MenuItem>
523
- <MenuItem>Nested Item 3</MenuItem>
524
- </DropdownMenu>
525
- </DropdownMenu>
526
- );
527
-
528
- const button = screen.getByRole("button", { name: "Dropdown" });
529
- await user.click(button);
530
-
531
- const nestedItem1 = await screen.findByRole("menuitem", {
532
- name: "Nested Dropdown 1",
533
- });
534
- const nestedItem2 = await screen.findByRole("menuitem", {
535
- name: "Nested Dropdown 2",
536
- });
537
- expect(nestedItem1).toHaveAttribute("aria-haspopup", "menu");
538
- expect(nestedItem2).toHaveAttribute("aria-haspopup", "dialog");
539
- expect(nestedItem1).not.toHaveAttribute("aria-expanded");
540
- expect(nestedItem2).not.toHaveAttribute("aria-expanded");
541
- expect(nestedItem1).toMatchSnapshot();
542
- expect(nestedItem2).toMatchSnapshot();
543
-
544
- await user.click(nestedItem1);
545
-
546
- const nestedMenu1 = await screen.findByRole("menu", {
547
- name: "Nested Dropdown 1",
548
- });
549
- await waitFor(() => {
550
- expect(nestedMenu1).not.toHaveClass("rmd-scale-transition--enter");
551
- });
552
-
553
- await user.keyboard("{Escape}");
554
- await waitForElementToBeRemoved(nestedMenu1);
555
- expect(document.activeElement).toBe(nestedItem1);
556
-
557
- await user.click(nestedItem2);
558
- const nestedSheet = await screen.findByRole("dialog", {
559
- name: "Nested Dropdown 2",
560
- });
561
- await waitFor(() => {
562
- expect(nestedSheet).not.toHaveClass("rmd-sheet--enter");
563
- });
564
- await user.keyboard("{Escape}");
565
-
566
- await waitForElementToBeRemoved(nestedSheet);
567
- expect(document.activeElement).toBe(nestedItem2);
568
-
569
- await user.keyboard("{Tab}");
570
- await waitForElementToBeRemoved(
571
- await screen.findByRole("menu", { name: "Dropdown" })
572
- );
573
- expect(document.activeElement).toBe(button);
574
- });
575
-
576
- it("should include disabled menu items for the keyboard movement", async () => {
577
- const onItemClick = jest.fn();
578
- const user = userEvent.setup();
579
- rmdRender(
580
- <DropdownMenu buttonChildren="Dropdown">
581
- <MenuItem disabled>Frozen yogurt</MenuItem>
582
- <MenuItem disabled onClick={onItemClick}>
583
- Ice cream
584
- </MenuItem>
585
- <MenuItem>Eclair</MenuItem>
586
- </DropdownMenu>
587
- );
588
-
589
- await user.tab();
590
- await user.keyboard("{Enter}");
591
- await waitFor(() => {
592
- expect(screen.getByRole("menu", { name: "Dropdown" })).not.toHaveClass(
593
- "rmd-scale-transition--enter"
594
- );
595
- });
596
-
597
- const frozenYogurt = screen.getByRole("menuitem", {
598
- name: "Frozen yogurt",
599
- });
600
- const iceCream = screen.getByRole("menuitem", { name: "Ice cream" });
601
- const eclair = screen.getByRole("menuitem", { name: "Eclair" });
602
- expect(frozenYogurt).toHaveAttribute("aria-disabled", "true");
603
- expect(iceCream).toHaveAttribute("aria-disabled", "true");
604
- expect(eclair).not.toHaveAttribute("aria-disabled");
605
- expect(document.activeElement).toBe(frozenYogurt);
606
-
607
- await user.keyboard("{End}");
608
- expect(document.activeElement).toBe(eclair);
609
-
610
- await user.keyboard("{ArrowUp}");
611
- expect(document.activeElement).toBe(iceCream);
612
-
613
- await user.keyboard("f");
614
- expect(document.activeElement).toBe(frozenYogurt);
615
-
616
- await user.keyboard(" ");
617
- expect(onItemClick).not.toHaveBeenCalled();
618
-
619
- await user.keyboard("{Tab}");
620
- await waitFor(() => {
621
- expect(() => screen.getByRole("menu")).toThrow();
622
- });
623
- expect(document.activeElement).toBe(
624
- screen.getByRole("button", { name: "Dropdown" })
625
- );
626
- });
627
- });