@react-md/core 1.0.0-next.20 → 1.0.0-next.21

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 (1138) hide show
  1. package/dist/CoreProviders.d.ts +1 -0
  2. package/dist/CoreProviders.js +1 -0
  3. package/dist/CoreProviders.js.map +1 -1
  4. package/dist/NoSsr.d.ts +3 -1
  5. package/dist/NoSsr.js +3 -1
  6. package/dist/NoSsr.js.map +1 -1
  7. package/dist/RootHtml.d.ts +1 -1
  8. package/dist/RootHtml.js +1 -1
  9. package/dist/RootHtml.js.map +1 -1
  10. package/dist/SsrProvider.d.ts +1 -0
  11. package/dist/SsrProvider.js +1 -0
  12. package/dist/SsrProvider.js.map +1 -1
  13. package/dist/_a11y.scss +187 -0
  14. package/dist/_base.scss +479 -0
  15. package/dist/_box-shadows.scss +80 -71
  16. package/dist/_colors.scss +283 -279
  17. package/dist/_core.scss +5 -483
  18. package/dist/_object-fit.scss +27 -23
  19. package/dist/_utils.scss +225 -225
  20. package/dist/app-bar/AppBar.d.ts +3 -1
  21. package/dist/app-bar/AppBar.js +3 -1
  22. package/dist/app-bar/AppBar.js.map +1 -1
  23. package/dist/app-bar/AppBarTitle.d.ts +2 -1
  24. package/dist/app-bar/AppBarTitle.js +2 -1
  25. package/dist/app-bar/AppBarTitle.js.map +1 -1
  26. package/dist/app-bar/_app-bar.scss +112 -105
  27. package/dist/autocomplete/Autocomplete.d.ts +81 -2
  28. package/dist/autocomplete/Autocomplete.js +4 -2
  29. package/dist/autocomplete/Autocomplete.js.map +1 -1
  30. package/dist/autocomplete/AutocompleteChip.d.ts +1 -0
  31. package/dist/autocomplete/AutocompleteChip.js +1 -0
  32. package/dist/autocomplete/AutocompleteChip.js.map +1 -1
  33. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +1 -0
  34. package/dist/autocomplete/AutocompleteCircularProgress.js +1 -0
  35. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  36. package/dist/autocomplete/AutocompleteClearButton.d.ts +1 -0
  37. package/dist/autocomplete/AutocompleteClearButton.js +4 -2
  38. package/dist/autocomplete/AutocompleteClearButton.js.map +1 -1
  39. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +1 -0
  40. package/dist/autocomplete/AutocompleteDropdownButton.js +1 -0
  41. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  42. package/dist/autocomplete/AutocompleteListboxChildren.d.ts +1 -3
  43. package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -1
  44. package/dist/autocomplete/_autocomplete.scss +125 -71
  45. package/dist/autocomplete/autocompleteStyles.d.ts +3 -0
  46. package/dist/autocomplete/autocompleteStyles.js +5 -2
  47. package/dist/autocomplete/autocompleteStyles.js.map +1 -1
  48. package/dist/autocomplete/types.d.ts +128 -82
  49. package/dist/autocomplete/types.js.map +1 -1
  50. package/dist/autocomplete/useAutocomplete.d.ts +3 -0
  51. package/dist/autocomplete/useAutocomplete.js +17 -17
  52. package/dist/autocomplete/useAutocomplete.js.map +1 -1
  53. package/dist/autocomplete/utils.d.ts +3 -6
  54. package/dist/autocomplete/utils.js.map +1 -1
  55. package/dist/avatar/Avatar.d.ts +2 -1
  56. package/dist/avatar/Avatar.js +2 -1
  57. package/dist/avatar/Avatar.js.map +1 -1
  58. package/dist/avatar/_avatar.scss +81 -77
  59. package/dist/badge/Badge.d.ts +8 -4
  60. package/dist/badge/Badge.js +8 -4
  61. package/dist/badge/Badge.js.map +1 -1
  62. package/dist/badge/_badge.scss +72 -68
  63. package/dist/box/Box.d.ts +4 -3
  64. package/dist/box/Box.js +4 -3
  65. package/dist/box/Box.js.map +1 -1
  66. package/dist/box/_box.scss +115 -119
  67. package/dist/button/AsyncButton.d.ts +3 -2
  68. package/dist/button/AsyncButton.js +4 -3
  69. package/dist/button/AsyncButton.js.map +1 -1
  70. package/dist/button/Button.d.ts +11 -9
  71. package/dist/button/Button.js +11 -9
  72. package/dist/button/Button.js.map +1 -1
  73. package/dist/button/ButtonUnstyled.d.ts +1 -0
  74. package/dist/button/ButtonUnstyled.js +2 -1
  75. package/dist/button/ButtonUnstyled.js.map +1 -1
  76. package/dist/button/TooltippedButton.d.ts +3 -2
  77. package/dist/button/TooltippedButton.js +2 -1
  78. package/dist/button/TooltippedButton.js.map +1 -1
  79. package/dist/button/_button.scss +128 -98
  80. package/dist/button/{buttonStyles.d.ts → styles.d.ts} +10 -0
  81. package/dist/button/{buttonStyles.js → styles.js} +9 -1
  82. package/dist/button/styles.js.map +1 -0
  83. package/dist/card/Card.d.ts +9 -10
  84. package/dist/card/Card.js +9 -10
  85. package/dist/card/Card.js.map +1 -1
  86. package/dist/card/CardContent.d.ts +1 -0
  87. package/dist/card/CardContent.js +1 -0
  88. package/dist/card/CardContent.js.map +1 -1
  89. package/dist/card/CardFooter.d.ts +1 -0
  90. package/dist/card/CardFooter.js +1 -0
  91. package/dist/card/CardFooter.js.map +1 -1
  92. package/dist/card/CardHeader.d.ts +1 -0
  93. package/dist/card/CardHeader.js +1 -0
  94. package/dist/card/CardHeader.js.map +1 -1
  95. package/dist/card/CardSubtitle.d.ts +1 -0
  96. package/dist/card/CardSubtitle.js +1 -0
  97. package/dist/card/CardSubtitle.js.map +1 -1
  98. package/dist/card/CardTitle.d.ts +2 -1
  99. package/dist/card/CardTitle.js +1 -0
  100. package/dist/card/CardTitle.js.map +1 -1
  101. package/dist/card/ClickableCard.d.ts +3 -1
  102. package/dist/card/ClickableCard.js +3 -1
  103. package/dist/card/ClickableCard.js.map +1 -1
  104. package/dist/card/_card.scss +76 -71
  105. package/dist/chip/Chip.d.ts +5 -3
  106. package/dist/chip/Chip.js +5 -3
  107. package/dist/chip/Chip.js.map +1 -1
  108. package/dist/chip/_chip.scss +247 -33
  109. package/dist/cssUtils.d.ts +1 -1
  110. package/dist/cssUtils.js.map +1 -1
  111. package/dist/dialog/Dialog.d.ts +9 -10
  112. package/dist/dialog/Dialog.js +9 -10
  113. package/dist/dialog/Dialog.js.map +1 -1
  114. package/dist/dialog/DialogContent.d.ts +2 -0
  115. package/dist/dialog/DialogContent.js +5 -2
  116. package/dist/dialog/DialogContent.js.map +1 -1
  117. package/dist/dialog/DialogFooter.d.ts +2 -0
  118. package/dist/dialog/DialogFooter.js +5 -2
  119. package/dist/dialog/DialogFooter.js.map +1 -1
  120. package/dist/dialog/DialogHeader.d.ts +14 -2
  121. package/dist/dialog/DialogHeader.js +8 -2
  122. package/dist/dialog/DialogHeader.js.map +1 -1
  123. package/dist/dialog/DialogTitle.d.ts +2 -0
  124. package/dist/dialog/DialogTitle.js +5 -2
  125. package/dist/dialog/DialogTitle.js.map +1 -1
  126. package/dist/dialog/FixedDialog.d.ts +11 -10
  127. package/dist/dialog/FixedDialog.js +13 -12
  128. package/dist/dialog/FixedDialog.js.map +1 -1
  129. package/dist/dialog/_dialog.scss +167 -22
  130. package/dist/dialog/styles.d.ts +12 -6
  131. package/dist/dialog/styles.js +11 -5
  132. package/dist/dialog/styles.js.map +1 -1
  133. package/dist/divider/Divider.d.ts +3 -1
  134. package/dist/divider/Divider.js +3 -1
  135. package/dist/divider/Divider.js.map +1 -1
  136. package/dist/divider/_divider.scss +68 -0
  137. package/dist/divider/styles.js.map +1 -1
  138. package/dist/draggable/_draggable.scss +16 -0
  139. package/dist/draggable/useDraggable.d.ts +1 -0
  140. package/dist/draggable/useDraggable.js +1 -0
  141. package/dist/draggable/useDraggable.js.map +1 -1
  142. package/dist/error-boundary/ErrorBoundary.d.ts +58 -0
  143. package/dist/error-boundary/ErrorBoundary.js +99 -0
  144. package/dist/error-boundary/ErrorBoundary.js.map +1 -0
  145. package/dist/error-boundary/context.d.ts +11 -0
  146. package/dist/error-boundary/context.js +12 -0
  147. package/dist/error-boundary/context.js.map +1 -0
  148. package/dist/error-boundary/types.d.ts +16 -0
  149. package/dist/error-boundary/types.js +7 -0
  150. package/dist/error-boundary/types.js.map +1 -0
  151. package/dist/error-boundary/useErrorBoundary.d.ts +25 -0
  152. package/dist/error-boundary/useErrorBoundary.js +33 -0
  153. package/dist/error-boundary/useErrorBoundary.js.map +1 -0
  154. package/dist/expansion-panel/ExpansionList.d.ts +1 -0
  155. package/dist/expansion-panel/ExpansionList.js +1 -0
  156. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  157. package/dist/expansion-panel/ExpansionPanel.d.ts +32 -0
  158. package/dist/expansion-panel/ExpansionPanel.js +32 -0
  159. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  160. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +4 -7
  161. package/dist/expansion-panel/ExpansionPanelHeader.js +9 -10
  162. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  163. package/dist/expansion-panel/_expansion-panel.scss +45 -0
  164. package/dist/expansion-panel/expansionPanelStyles.d.ts +20 -0
  165. package/dist/expansion-panel/expansionPanelStyles.js +12 -0
  166. package/dist/expansion-panel/expansionPanelStyles.js.map +1 -1
  167. package/dist/expansion-panel/useExpansionList.d.ts +7 -8
  168. package/dist/expansion-panel/useExpansionList.js +7 -8
  169. package/dist/expansion-panel/useExpansionList.js.map +1 -1
  170. package/dist/expansion-panel/useExpansionPanels.d.ts +7 -10
  171. package/dist/expansion-panel/useExpansionPanels.js +7 -10
  172. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  173. package/dist/files/FileInput.d.ts +4 -2
  174. package/dist/files/FileInput.js +3 -1
  175. package/dist/files/FileInput.js.map +1 -1
  176. package/dist/files/_files.scss +9 -0
  177. package/dist/files/styles.d.ts +1 -1
  178. package/dist/files/styles.js +1 -1
  179. package/dist/files/styles.js.map +1 -1
  180. package/dist/files/useFileUpload.d.ts +2 -0
  181. package/dist/files/useFileUpload.js +2 -0
  182. package/dist/files/useFileUpload.js.map +1 -1
  183. package/dist/focus/useFocusContainer.js +24 -23
  184. package/dist/focus/useFocusContainer.js.map +1 -1
  185. package/dist/form/Checkbox.d.ts +3 -1
  186. package/dist/form/Checkbox.js +3 -1
  187. package/dist/form/Checkbox.js.map +1 -1
  188. package/dist/form/Fieldset.d.ts +6 -20
  189. package/dist/form/Fieldset.js +6 -13
  190. package/dist/form/Fieldset.js.map +1 -1
  191. package/dist/form/Form.d.ts +2 -0
  192. package/dist/form/Form.js +2 -0
  193. package/dist/form/Form.js.map +1 -1
  194. package/dist/form/FormMessage.d.ts +2 -0
  195. package/dist/form/FormMessage.js +2 -0
  196. package/dist/form/FormMessage.js.map +1 -1
  197. package/dist/form/FormMessageContainer.d.ts +1 -0
  198. package/dist/form/FormMessageContainer.js +1 -0
  199. package/dist/form/FormMessageContainer.js.map +1 -1
  200. package/dist/form/FormMessageCounter.d.ts +2 -0
  201. package/dist/form/FormMessageCounter.js +2 -0
  202. package/dist/form/FormMessageCounter.js.map +1 -1
  203. package/dist/form/InputToggle.d.ts +4 -2
  204. package/dist/form/InputToggle.js +2 -0
  205. package/dist/form/InputToggle.js.map +1 -1
  206. package/dist/form/Label.d.ts +4 -5
  207. package/dist/form/Label.js +4 -32
  208. package/dist/form/Label.js.map +1 -1
  209. package/dist/form/Legend.d.ts +1 -0
  210. package/dist/form/Legend.js +1 -0
  211. package/dist/form/Legend.js.map +1 -1
  212. package/dist/form/Listbox.d.ts +1 -1
  213. package/dist/form/Listbox.js.map +1 -1
  214. package/dist/form/MenuItemCheckbox.d.ts +3 -1
  215. package/dist/form/MenuItemCheckbox.js +3 -1
  216. package/dist/form/MenuItemCheckbox.js.map +1 -1
  217. package/dist/form/MenuItemFileInput.d.ts +1 -0
  218. package/dist/form/MenuItemFileInput.js +1 -0
  219. package/dist/form/MenuItemFileInput.js.map +1 -1
  220. package/dist/form/MenuItemInputToggle.d.ts +3 -2
  221. package/dist/form/MenuItemInputToggle.js +1 -0
  222. package/dist/form/MenuItemInputToggle.js.map +1 -1
  223. package/dist/form/MenuItemRadio.d.ts +8 -8
  224. package/dist/form/MenuItemRadio.js +8 -8
  225. package/dist/form/MenuItemRadio.js.map +1 -1
  226. package/dist/form/MenuItemSwitch.d.ts +3 -1
  227. package/dist/form/MenuItemSwitch.js +3 -1
  228. package/dist/form/MenuItemSwitch.js.map +1 -1
  229. package/dist/form/MenuItemTextField.d.ts +1 -0
  230. package/dist/form/MenuItemTextField.js +1 -0
  231. package/dist/form/MenuItemTextField.js.map +1 -1
  232. package/dist/form/NativeSelect.d.ts +2 -0
  233. package/dist/form/NativeSelect.js +2 -0
  234. package/dist/form/NativeSelect.js.map +1 -1
  235. package/dist/form/OptGroup.d.ts +4 -1
  236. package/dist/form/OptGroup.js +4 -1
  237. package/dist/form/OptGroup.js.map +1 -1
  238. package/dist/form/Option.d.ts +2 -1
  239. package/dist/form/Option.js +1 -0
  240. package/dist/form/Option.js.map +1 -1
  241. package/dist/form/Password.d.ts +3 -1
  242. package/dist/form/Password.js +3 -1
  243. package/dist/form/Password.js.map +1 -1
  244. package/dist/form/Radio.d.ts +2 -0
  245. package/dist/form/Radio.js +2 -0
  246. package/dist/form/Radio.js.map +1 -1
  247. package/dist/form/Select.d.ts +5 -28
  248. package/dist/form/Select.js +4 -27
  249. package/dist/form/Select.js.map +1 -1
  250. package/dist/form/Slider.d.ts +9 -2
  251. package/dist/form/Slider.js.map +1 -1
  252. package/dist/form/SliderContainer.js +7 -11
  253. package/dist/form/SliderContainer.js.map +1 -1
  254. package/dist/form/SliderMark.js +5 -8
  255. package/dist/form/SliderMark.js.map +1 -1
  256. package/dist/form/SliderMarkLabel.js +5 -7
  257. package/dist/form/SliderMarkLabel.js.map +1 -1
  258. package/dist/form/SliderThumb.js +2 -27
  259. package/dist/form/SliderThumb.js.map +1 -1
  260. package/dist/form/SliderTrack.js +6 -12
  261. package/dist/form/SliderTrack.js.map +1 -1
  262. package/dist/form/SliderValueTooltip.js +7 -7
  263. package/dist/form/SliderValueTooltip.js.map +1 -1
  264. package/dist/form/Switch.d.ts +9 -1
  265. package/dist/form/Switch.js +3 -1
  266. package/dist/form/Switch.js.map +1 -1
  267. package/dist/form/SwitchTrack.js +8 -8
  268. package/dist/form/SwitchTrack.js.map +1 -1
  269. package/dist/form/TextArea.d.ts +9 -1
  270. package/dist/form/TextArea.js +3 -1
  271. package/dist/form/TextArea.js.map +1 -1
  272. package/dist/form/TextField.d.ts +3 -1
  273. package/dist/form/TextField.js +3 -1
  274. package/dist/form/TextField.js.map +1 -1
  275. package/dist/form/TextFieldAddon.d.ts +1 -34
  276. package/dist/form/TextFieldAddon.js +1 -16
  277. package/dist/form/TextFieldAddon.js.map +1 -1
  278. package/dist/form/TextFieldContainer.d.ts +13 -0
  279. package/dist/form/TextFieldContainer.js.map +1 -1
  280. package/dist/form/_form.scss +737 -10
  281. package/dist/form/fieldsetStyles.d.ts +19 -0
  282. package/dist/form/fieldsetStyles.js +14 -0
  283. package/dist/form/fieldsetStyles.js.map +1 -0
  284. package/dist/form/formConfig.js +22 -3
  285. package/dist/form/formConfig.js.map +1 -1
  286. package/dist/form/labelStyles.d.ts +5 -0
  287. package/dist/form/labelStyles.js +34 -0
  288. package/dist/form/labelStyles.js.map +1 -0
  289. package/dist/form/sliderStyles.d.ts +89 -0
  290. package/dist/form/sliderStyles.js +96 -0
  291. package/dist/form/sliderStyles.js.map +1 -0
  292. package/dist/form/switchStyles.d.ts +24 -6
  293. package/dist/form/switchStyles.js +18 -0
  294. package/dist/form/switchStyles.js.map +1 -1
  295. package/dist/form/textAreaStyles.d.ts +0 -6
  296. package/dist/form/textAreaStyles.js.map +1 -1
  297. package/dist/form/textFieldAddonStyles.d.ts +17 -0
  298. package/dist/form/textFieldAddonStyles.js +18 -0
  299. package/dist/form/textFieldAddonStyles.js.map +1 -0
  300. package/dist/form/textFieldContainerStyles.d.ts +0 -13
  301. package/dist/form/textFieldContainerStyles.js.map +1 -1
  302. package/dist/form/types.d.ts +23 -2
  303. package/dist/form/types.js.map +1 -1
  304. package/dist/form/useCheckboxGroup.d.ts +8 -0
  305. package/dist/form/useCheckboxGroup.js +6 -1
  306. package/dist/form/useCheckboxGroup.js.map +1 -1
  307. package/dist/form/useCombobox.d.ts +0 -1
  308. package/dist/form/useCombobox.js +66 -63
  309. package/dist/form/useCombobox.js.map +1 -1
  310. package/dist/form/useNumberField.d.ts +17 -7
  311. package/dist/form/useNumberField.js +2 -0
  312. package/dist/form/useNumberField.js.map +1 -1
  313. package/dist/form/useRadioGroup.d.ts +6 -0
  314. package/dist/form/useRadioGroup.js +3 -0
  315. package/dist/form/useRadioGroup.js.map +1 -1
  316. package/dist/form/useRangeSlider.d.ts +6 -1
  317. package/dist/form/useRangeSlider.js +6 -1
  318. package/dist/form/useRangeSlider.js.map +1 -1
  319. package/dist/form/useSlider.d.ts +4 -1
  320. package/dist/form/useSlider.js +4 -1
  321. package/dist/form/useSlider.js.map +1 -1
  322. package/dist/form/useTextField.d.ts +7 -1
  323. package/dist/form/useTextField.js +5 -1
  324. package/dist/form/useTextField.js.map +1 -1
  325. package/dist/form/validation.d.ts +1 -0
  326. package/dist/form/validation.js.map +1 -1
  327. package/dist/icon/FontIcon.d.ts +1 -0
  328. package/dist/icon/FontIcon.js +1 -0
  329. package/dist/icon/FontIcon.js.map +1 -1
  330. package/dist/icon/IconRotator.d.ts +2 -0
  331. package/dist/icon/IconRotator.js +2 -0
  332. package/dist/icon/IconRotator.js.map +1 -1
  333. package/dist/icon/MaterialIcon.d.ts +2 -0
  334. package/dist/icon/MaterialIcon.js +2 -0
  335. package/dist/icon/MaterialIcon.js.map +1 -1
  336. package/dist/icon/MaterialSymbol.d.ts +3 -1
  337. package/dist/icon/MaterialSymbol.js +3 -1
  338. package/dist/icon/MaterialSymbol.js.map +1 -1
  339. package/dist/icon/SVGIcon.d.ts +2 -0
  340. package/dist/icon/SVGIcon.js +2 -0
  341. package/dist/icon/SVGIcon.js.map +1 -1
  342. package/dist/icon/TextIconSpacing.d.ts +6 -2
  343. package/dist/icon/TextIconSpacing.js +6 -2
  344. package/dist/icon/TextIconSpacing.js.map +1 -1
  345. package/dist/icon/_icon.scss +137 -129
  346. package/dist/icon/config.d.ts +2 -2
  347. package/dist/icon/config.js +2 -2
  348. package/dist/icon/config.js.map +1 -1
  349. package/dist/icon/material.d.ts +1 -1
  350. package/dist/icon/material.js.map +1 -1
  351. package/dist/icon/styles.d.ts +2 -1
  352. package/dist/icon/styles.js.map +1 -1
  353. package/dist/interaction/Ripple.d.ts +11 -2
  354. package/dist/interaction/Ripple.js.map +1 -1
  355. package/dist/interaction/UserInteractionModeProvider.d.ts +1 -1
  356. package/dist/interaction/UserInteractionModeProvider.js +1 -1
  357. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  358. package/dist/interaction/_interaction.scss +279 -13
  359. package/dist/layout/LayoutAppBar.d.ts +1 -0
  360. package/dist/layout/LayoutAppBar.js +1 -0
  361. package/dist/layout/LayoutAppBar.js.map +1 -1
  362. package/dist/layout/LayoutNav.d.ts +9 -12
  363. package/dist/layout/LayoutNav.js +9 -12
  364. package/dist/layout/LayoutNav.js.map +1 -1
  365. package/dist/layout/LayoutWindowSplitter.d.ts +7 -8
  366. package/dist/layout/LayoutWindowSplitter.js +7 -8
  367. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  368. package/dist/layout/Main.d.ts +2 -1
  369. package/dist/layout/Main.js +2 -1
  370. package/dist/layout/Main.js.map +1 -1
  371. package/dist/layout/_layout.scss +106 -23
  372. package/dist/layout/useExpandableLayout.d.ts +1 -0
  373. package/dist/layout/useExpandableLayout.js +1 -0
  374. package/dist/layout/useExpandableLayout.js.map +1 -1
  375. package/dist/layout/useHorizontalLayoutTransition.d.ts +9 -6
  376. package/dist/layout/useHorizontalLayoutTransition.js +4 -1
  377. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  378. package/dist/layout/useLayoutAppBarHeight.d.ts +7 -10
  379. package/dist/layout/useLayoutAppBarHeight.js +7 -10
  380. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  381. package/dist/layout/useLayoutTree.d.ts +3 -0
  382. package/dist/layout/useLayoutTree.js +3 -0
  383. package/dist/layout/useLayoutTree.js.map +1 -1
  384. package/dist/layout/useLayoutWindowSplitter.d.ts +4 -2
  385. package/dist/layout/useLayoutWindowSplitter.js +4 -2
  386. package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
  387. package/dist/layout/useResizableLayout.d.ts +1 -0
  388. package/dist/layout/useResizableLayout.js +3 -1
  389. package/dist/layout/useResizableLayout.js.map +1 -1
  390. package/dist/layout/useTemporaryLayout.d.ts +1 -0
  391. package/dist/layout/useTemporaryLayout.js +1 -0
  392. package/dist/layout/useTemporaryLayout.js.map +1 -1
  393. package/dist/link/Link.d.ts +3 -1
  394. package/dist/link/Link.js +3 -1
  395. package/dist/link/Link.js.map +1 -1
  396. package/dist/link/SkipToMainContent.d.ts +22 -0
  397. package/dist/link/SkipToMainContent.js +22 -0
  398. package/dist/link/SkipToMainContent.js.map +1 -1
  399. package/dist/link/_link.scss +55 -6
  400. package/dist/list/List.d.ts +11 -1
  401. package/dist/list/List.js +5 -1
  402. package/dist/list/List.js.map +1 -1
  403. package/dist/list/ListItem.d.ts +22 -2
  404. package/dist/list/ListItem.js +6 -2
  405. package/dist/list/ListItem.js.map +1 -1
  406. package/dist/list/ListItemChildren.d.ts +3 -1
  407. package/dist/list/ListItemChildren.js +3 -1
  408. package/dist/list/ListItemChildren.js.map +1 -1
  409. package/dist/list/ListItemLink.d.ts +32 -1
  410. package/dist/list/ListItemLink.js +32 -1
  411. package/dist/list/ListItemLink.js.map +1 -1
  412. package/dist/list/ListSubheader.d.ts +2 -0
  413. package/dist/list/ListSubheader.js +2 -0
  414. package/dist/list/ListSubheader.js.map +1 -1
  415. package/dist/list/_list.scss +224 -1
  416. package/dist/list/listItemStyles.d.ts +0 -16
  417. package/dist/list/listItemStyles.js.map +1 -1
  418. package/dist/list/listStyles.d.ts +0 -6
  419. package/dist/list/listStyles.js.map +1 -1
  420. package/dist/media-queries/AppSizeProvider.d.ts +2 -0
  421. package/dist/media-queries/AppSizeProvider.js +2 -0
  422. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  423. package/dist/media-queries/_media-queries.scss +111 -4
  424. package/dist/media-queries/useMediaQuery.d.ts +2 -0
  425. package/dist/media-queries/useMediaQuery.js +2 -0
  426. package/dist/media-queries/useMediaQuery.js.map +1 -1
  427. package/dist/menu/DropdownMenu.d.ts +5 -2
  428. package/dist/menu/DropdownMenu.js +5 -2
  429. package/dist/menu/DropdownMenu.js.map +1 -1
  430. package/dist/menu/Menu.d.ts +1 -0
  431. package/dist/menu/Menu.js +1 -0
  432. package/dist/menu/Menu.js.map +1 -1
  433. package/dist/menu/MenuBar.d.ts +4 -1
  434. package/dist/menu/MenuBar.js +4 -1
  435. package/dist/menu/MenuBar.js.map +1 -1
  436. package/dist/menu/MenuButton.d.ts +1 -0
  437. package/dist/menu/MenuButton.js +1 -0
  438. package/dist/menu/MenuButton.js.map +1 -1
  439. package/dist/menu/MenuItem.d.ts +1 -0
  440. package/dist/menu/MenuItem.js +1 -0
  441. package/dist/menu/MenuItem.js.map +1 -1
  442. package/dist/menu/MenuItemCircularProgress.d.ts +4 -6
  443. package/dist/menu/MenuItemCircularProgress.js +4 -6
  444. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  445. package/dist/menu/MenuItemGroup.d.ts +6 -7
  446. package/dist/menu/MenuItemGroup.js +6 -7
  447. package/dist/menu/MenuItemGroup.js.map +1 -1
  448. package/dist/menu/MenuItemSeparator.d.ts +1 -0
  449. package/dist/menu/MenuItemSeparator.js +1 -0
  450. package/dist/menu/MenuItemSeparator.js.map +1 -1
  451. package/dist/menu/MenuWidget.d.ts +0 -12
  452. package/dist/menu/MenuWidget.js +1 -12
  453. package/dist/menu/MenuWidget.js.map +1 -1
  454. package/dist/menu/_menu.scss +61 -0
  455. package/dist/menu/styles.d.ts +12 -0
  456. package/dist/menu/styles.js +14 -0
  457. package/dist/menu/styles.js.map +1 -0
  458. package/dist/menu/useContextMenu.d.ts +4 -1
  459. package/dist/menu/useContextMenu.js +4 -1
  460. package/dist/menu/useContextMenu.js.map +1 -1
  461. package/dist/movement/useKeyboardMovementProvider.d.ts +3 -3
  462. package/dist/movement/useKeyboardMovementProvider.js +3 -3
  463. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  464. package/dist/navigation/CollapsibleNavGroup.d.ts +1 -0
  465. package/dist/navigation/CollapsibleNavGroup.js +1 -0
  466. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  467. package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -0
  468. package/dist/navigation/DefaultNavigationRenderer.js +1 -0
  469. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  470. package/dist/navigation/NavGroup.d.ts +1 -0
  471. package/dist/navigation/NavGroup.js +1 -0
  472. package/dist/navigation/NavGroup.js.map +1 -1
  473. package/dist/navigation/NavItem.d.ts +1 -0
  474. package/dist/navigation/NavItem.js +1 -0
  475. package/dist/navigation/NavItem.js.map +1 -1
  476. package/dist/navigation/NavItemButton.d.ts +1 -0
  477. package/dist/navigation/NavItemButton.js +1 -0
  478. package/dist/navigation/NavItemButton.js.map +1 -1
  479. package/dist/navigation/NavItemLink.d.ts +1 -0
  480. package/dist/navigation/NavItemLink.js +1 -0
  481. package/dist/navigation/NavItemLink.js.map +1 -1
  482. package/dist/navigation/NavSubheader.d.ts +1 -0
  483. package/dist/navigation/NavSubheader.js +1 -0
  484. package/dist/navigation/NavSubheader.js.map +1 -1
  485. package/dist/navigation/Navigation.d.ts +44 -0
  486. package/dist/navigation/Navigation.js +44 -0
  487. package/dist/navigation/Navigation.js.map +1 -1
  488. package/dist/navigation/_navigation.scss +47 -5
  489. package/dist/navigation/getTableOfContentsHeadings.d.ts +20 -0
  490. package/dist/navigation/getTableOfContentsHeadings.js +53 -0
  491. package/dist/navigation/getTableOfContentsHeadings.js.map +1 -0
  492. package/dist/navigation/navItemStyles.js +1 -1
  493. package/dist/navigation/navItemStyles.js.map +1 -1
  494. package/dist/navigation/types.d.ts +47 -0
  495. package/dist/navigation/types.js +1 -3
  496. package/dist/navigation/types.js.map +1 -1
  497. package/dist/navigation/useActiveHeadingId.d.ts +2 -12
  498. package/dist/navigation/useActiveHeadingId.js +1 -0
  499. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  500. package/dist/navigation/useNavigationExpansion.d.ts +2 -0
  501. package/dist/navigation/useNavigationExpansion.js +2 -0
  502. package/dist/navigation/useNavigationExpansion.js.map +1 -1
  503. package/dist/navigation/useTableOfContentsHeadings.d.ts +3 -37
  504. package/dist/navigation/useTableOfContentsHeadings.js +18 -41
  505. package/dist/navigation/useTableOfContentsHeadings.js.map +1 -1
  506. package/dist/overlay/Overlay.d.ts +10 -1
  507. package/dist/overlay/Overlay.js +5 -2
  508. package/dist/overlay/Overlay.js.map +1 -1
  509. package/dist/overlay/_overlay.scss +35 -0
  510. package/dist/overlay/{overlayStyles.d.ts → styles.d.ts} +0 -6
  511. package/dist/overlay/{overlayStyles.js → styles.js} +1 -1
  512. package/dist/overlay/styles.js.map +1 -0
  513. package/dist/portal/Portal.d.ts +1 -0
  514. package/dist/portal/Portal.js +1 -0
  515. package/dist/portal/Portal.js.map +1 -1
  516. package/dist/portal/PortalContainerProvider.d.ts +1 -0
  517. package/dist/portal/PortalContainerProvider.js +1 -0
  518. package/dist/portal/PortalContainerProvider.js.map +1 -1
  519. package/dist/positioning/createHorizontalPosition.d.ts +6 -6
  520. package/dist/positioning/createHorizontalPosition.js +12 -12
  521. package/dist/positioning/createHorizontalPosition.js.map +1 -1
  522. package/dist/positioning/createVerticalPosition.d.ts +6 -6
  523. package/dist/positioning/createVerticalPosition.js +2 -2
  524. package/dist/positioning/createVerticalPosition.js.map +1 -1
  525. package/dist/positioning/useFixedPositioning.d.ts +1 -0
  526. package/dist/positioning/useFixedPositioning.js +1 -0
  527. package/dist/positioning/useFixedPositioning.js.map +1 -1
  528. package/dist/progress/CircularProgress.d.ts +3 -2
  529. package/dist/progress/CircularProgress.js +3 -2
  530. package/dist/progress/CircularProgress.js.map +1 -1
  531. package/dist/progress/LinearProgress.d.ts +3 -2
  532. package/dist/progress/LinearProgress.js +3 -2
  533. package/dist/progress/LinearProgress.js.map +1 -1
  534. package/dist/progress/_progress.scss +164 -38
  535. package/dist/responsive-item/ResponsiveItem.d.ts +4 -3
  536. package/dist/responsive-item/ResponsiveItem.js +4 -3
  537. package/dist/responsive-item/ResponsiveItem.js.map +1 -1
  538. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +6 -4
  539. package/dist/responsive-item/ResponsiveItemOverlay.js +6 -4
  540. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  541. package/dist/responsive-item/_responsive-item.scss +89 -0
  542. package/dist/scroll/useScrollLock.d.ts +1 -0
  543. package/dist/scroll/useScrollLock.js +1 -0
  544. package/dist/scroll/useScrollLock.js.map +1 -1
  545. package/dist/searching/fuzzy.d.ts +2 -1
  546. package/dist/searching/fuzzy.js +2 -1
  547. package/dist/searching/fuzzy.js.map +1 -1
  548. package/dist/segmented-button/SegmentedButton.d.ts +3 -4
  549. package/dist/segmented-button/SegmentedButton.js +3 -4
  550. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  551. package/dist/segmented-button/SegmentedButtonContainer.d.ts +5 -6
  552. package/dist/segmented-button/SegmentedButtonContainer.js +7 -8
  553. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  554. package/dist/segmented-button/_segmented-button.scss +79 -33
  555. package/dist/segmented-button/segmentedButtonContainerStyles.d.ts +1 -1
  556. package/dist/segmented-button/segmentedButtonContainerStyles.js +1 -1
  557. package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
  558. package/dist/sheet/Sheet.d.ts +14 -0
  559. package/dist/sheet/Sheet.js +2 -0
  560. package/dist/sheet/Sheet.js.map +1 -1
  561. package/dist/sheet/_sheet.scss +84 -0
  562. package/dist/sheet/styles.d.ts +19 -15
  563. package/dist/sheet/styles.js +6 -2
  564. package/dist/sheet/styles.js.map +1 -1
  565. package/dist/snackbar/DefaultToastRenderer.d.ts +1 -0
  566. package/dist/snackbar/DefaultToastRenderer.js +1 -0
  567. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  568. package/dist/snackbar/Snackbar.d.ts +10 -9
  569. package/dist/snackbar/Snackbar.js +4 -1
  570. package/dist/snackbar/Snackbar.js.map +1 -1
  571. package/dist/snackbar/Toast.d.ts +8 -0
  572. package/dist/snackbar/Toast.js +1 -0
  573. package/dist/snackbar/Toast.js.map +1 -1
  574. package/dist/snackbar/ToastActionButton.d.ts +2 -1
  575. package/dist/snackbar/ToastActionButton.js +1 -0
  576. package/dist/snackbar/ToastActionButton.js.map +1 -1
  577. package/dist/snackbar/ToastCloseButton.d.ts +2 -1
  578. package/dist/snackbar/ToastCloseButton.js +1 -0
  579. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  580. package/dist/snackbar/ToastContent.d.ts +1 -0
  581. package/dist/snackbar/ToastContent.js +1 -0
  582. package/dist/snackbar/ToastContent.js.map +1 -1
  583. package/dist/snackbar/ToastManager.d.ts +1 -1
  584. package/dist/snackbar/ToastManager.js +1 -1
  585. package/dist/snackbar/ToastManager.js.map +1 -1
  586. package/dist/snackbar/ToastManagerProvider.d.ts +1 -0
  587. package/dist/snackbar/ToastManagerProvider.js +1 -0
  588. package/dist/snackbar/ToastManagerProvider.js.map +1 -1
  589. package/dist/snackbar/_snackbar.scss +131 -3
  590. package/dist/snackbar/toastStyles.d.ts +0 -7
  591. package/dist/snackbar/toastStyles.js.map +1 -1
  592. package/dist/snackbar/useCurrentToastActions.d.ts +1 -0
  593. package/dist/snackbar/useCurrentToastActions.js +1 -0
  594. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  595. package/dist/storage/useStorage.d.ts +1 -0
  596. package/dist/storage/useStorage.js +1 -0
  597. package/dist/storage/useStorage.js.map +1 -1
  598. package/dist/suspense/CircularProgressSuspense.d.ts +2 -1
  599. package/dist/suspense/CircularProgressSuspense.js +2 -1
  600. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  601. package/dist/suspense/NullSuspense.d.ts +2 -1
  602. package/dist/suspense/NullSuspense.js +2 -1
  603. package/dist/suspense/NullSuspense.js.map +1 -1
  604. package/dist/table/StickyTableSection.d.ts +2 -0
  605. package/dist/table/StickyTableSection.js +2 -0
  606. package/dist/table/StickyTableSection.js.map +1 -1
  607. package/dist/table/Table.d.ts +8 -8
  608. package/dist/table/Table.js +8 -8
  609. package/dist/table/Table.js.map +1 -1
  610. package/dist/table/TableBody.d.ts +2 -0
  611. package/dist/table/TableBody.js +2 -0
  612. package/dist/table/TableBody.js.map +1 -1
  613. package/dist/table/TableCell.d.ts +6 -2
  614. package/dist/table/TableCell.js +2 -0
  615. package/dist/table/TableCell.js.map +1 -1
  616. package/dist/table/TableCheckbox.d.ts +11 -12
  617. package/dist/table/TableCheckbox.js +10 -11
  618. package/dist/table/TableCheckbox.js.map +1 -1
  619. package/dist/table/TableConfigurationProvider.js +1 -1
  620. package/dist/table/TableConfigurationProvider.js.map +1 -1
  621. package/dist/table/TableContainer.d.ts +2 -0
  622. package/dist/table/TableContainer.js +2 -0
  623. package/dist/table/TableContainer.js.map +1 -1
  624. package/dist/table/TableContainerProvider.js +1 -1
  625. package/dist/table/TableContainerProvider.js.map +1 -1
  626. package/dist/table/TableFooter.d.ts +2 -0
  627. package/dist/table/TableFooter.js +2 -0
  628. package/dist/table/TableFooter.js.map +1 -1
  629. package/dist/table/TableHeader.d.ts +2 -0
  630. package/dist/table/TableHeader.js +2 -0
  631. package/dist/table/TableHeader.js.map +1 -1
  632. package/dist/table/TableRadio.d.ts +13 -13
  633. package/dist/table/TableRadio.js +10 -10
  634. package/dist/table/TableRadio.js.map +1 -1
  635. package/dist/table/TableRow.d.ts +2 -0
  636. package/dist/table/TableRow.js +2 -0
  637. package/dist/table/TableRow.js.map +1 -1
  638. package/dist/table/_table.scss +209 -11
  639. package/dist/table/tableCellStyles.js +3 -2
  640. package/dist/table/tableCellStyles.js.map +1 -1
  641. package/dist/tabs/SimpleTabPanel.d.ts +2 -0
  642. package/dist/tabs/SimpleTabPanel.js +2 -0
  643. package/dist/tabs/SimpleTabPanel.js.map +1 -1
  644. package/dist/tabs/SimpleTabPanels.d.ts +2 -0
  645. package/dist/tabs/SimpleTabPanels.js +2 -0
  646. package/dist/tabs/SimpleTabPanels.js.map +1 -1
  647. package/dist/tabs/Tab.d.ts +19 -1
  648. package/dist/tabs/Tab.js +1 -1
  649. package/dist/tabs/Tab.js.map +1 -1
  650. package/dist/tabs/TabList.d.ts +1 -1
  651. package/dist/tabs/TabList.js +1 -1
  652. package/dist/tabs/TabList.js.map +1 -1
  653. package/dist/tabs/TabListScrollButton.d.ts +1 -1
  654. package/dist/tabs/TabListScrollButton.js.map +1 -1
  655. package/dist/tabs/_tabs.scss +142 -5
  656. package/dist/tabs/tabStyles.d.ts +0 -18
  657. package/dist/tabs/tabStyles.js.map +1 -1
  658. package/dist/tabs/useTabs.d.ts +4 -0
  659. package/dist/tabs/useTabs.js +3 -2
  660. package/dist/tabs/useTabs.js.map +1 -1
  661. package/dist/test-utils/jest-globals/match-media.d.ts +1 -2
  662. package/dist/test-utils/jest-globals/match-media.js +1 -1
  663. package/dist/test-utils/jest-globals/match-media.js.map +1 -1
  664. package/dist/test-utils/jest-globals/resize-observer.js +2 -2
  665. package/dist/test-utils/jest-globals/resize-observer.js.map +1 -1
  666. package/dist/test-utils/mocks/ResizeObserver.d.ts +7 -7
  667. package/dist/test-utils/mocks/ResizeObserver.js +7 -7
  668. package/dist/test-utils/mocks/ResizeObserver.js.map +1 -1
  669. package/dist/test-utils/mocks/match-media.d.ts +31 -0
  670. package/dist/test-utils/mocks/match-media.js.map +1 -1
  671. package/dist/test-utils/utils/createMatchMediaSpy.d.ts +40 -0
  672. package/dist/test-utils/{mocks/match-media-implementation.js → utils/createMatchMediaSpy.js} +33 -4
  673. package/dist/test-utils/utils/createMatchMediaSpy.js.map +1 -0
  674. package/dist/test-utils/vitest/match-media.d.ts +1 -2
  675. package/dist/test-utils/vitest/match-media.js +1 -1
  676. package/dist/test-utils/vitest/match-media.js.map +1 -1
  677. package/dist/test-utils/vitest/resize-observer.js +2 -2
  678. package/dist/test-utils/vitest/resize-observer.js.map +1 -1
  679. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +6 -6
  680. package/dist/theme/LocalStorageColorSchemeProvider.js +6 -6
  681. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  682. package/dist/theme/ThemeProvider.d.ts +10 -11
  683. package/dist/theme/ThemeProvider.js +7 -9
  684. package/dist/theme/ThemeProvider.js.map +1 -1
  685. package/dist/theme/_a11y.scss +62 -62
  686. package/dist/theme/_colors.scss +283 -279
  687. package/dist/theme/_theme.scss +298 -249
  688. package/dist/theme/colors.d.ts +2 -2
  689. package/dist/theme/colors.js +2 -2
  690. package/dist/theme/colors.js.map +1 -1
  691. package/dist/theme/useColorScheme.d.ts +1 -1
  692. package/dist/theme/useColorScheme.js +1 -1
  693. package/dist/theme/useColorScheme.js.map +1 -1
  694. package/dist/tooltip/Tooltip.d.ts +12 -1
  695. package/dist/tooltip/Tooltip.js +6 -2
  696. package/dist/tooltip/Tooltip.js.map +1 -1
  697. package/dist/tooltip/TooltipHoverModeProvider.d.ts +1 -0
  698. package/dist/tooltip/TooltipHoverModeProvider.js +1 -0
  699. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  700. package/dist/tooltip/_tooltip.scss +109 -5
  701. package/dist/tooltip/constants.d.ts +13 -3
  702. package/dist/tooltip/constants.js +4 -4
  703. package/dist/tooltip/constants.js.map +1 -1
  704. package/dist/tooltip/{tooltipStyles.d.ts → styles.d.ts} +1 -1
  705. package/dist/tooltip/{tooltipStyles.js → styles.js} +1 -1
  706. package/dist/tooltip/styles.js.map +1 -0
  707. package/dist/tooltip/useTooltip.d.ts +8 -15
  708. package/dist/tooltip/useTooltip.js +8 -8
  709. package/dist/tooltip/useTooltip.js.map +1 -1
  710. package/dist/transition/CSSTransition.d.ts +3 -1
  711. package/dist/transition/CSSTransition.js +3 -1
  712. package/dist/transition/CSSTransition.js.map +1 -1
  713. package/dist/transition/Collapse.d.ts +1 -0
  714. package/dist/transition/Collapse.js +1 -0
  715. package/dist/transition/Collapse.js.map +1 -1
  716. package/dist/transition/CrossFade.d.ts +1 -0
  717. package/dist/transition/CrossFade.js +1 -0
  718. package/dist/transition/CrossFade.js.map +1 -1
  719. package/dist/transition/ScaleTransition.d.ts +4 -1
  720. package/dist/transition/ScaleTransition.js +4 -1
  721. package/dist/transition/ScaleTransition.js.map +1 -1
  722. package/dist/transition/SkeletonPlaceholder.d.ts +3 -2
  723. package/dist/transition/SkeletonPlaceholder.js +3 -2
  724. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  725. package/dist/transition/Slide.d.ts +1 -0
  726. package/dist/transition/Slide.js +1 -0
  727. package/dist/transition/Slide.js.map +1 -1
  728. package/dist/transition/SlideContainer.d.ts +10 -7
  729. package/dist/transition/SlideContainer.js +12 -8
  730. package/dist/transition/SlideContainer.js.map +1 -1
  731. package/dist/transition/_transition.scss +178 -6
  732. package/dist/transition/getTransitionCallbacks.d.ts +76 -0
  733. package/dist/transition/getTransitionCallbacks.js +57 -0
  734. package/dist/transition/getTransitionCallbacks.js.map +1 -0
  735. package/dist/transition/skeletonPlaceholderUtils.d.ts +4 -1
  736. package/dist/transition/skeletonPlaceholderUtils.js +4 -1
  737. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  738. package/dist/transition/types.d.ts +26 -1
  739. package/dist/transition/types.js.map +1 -1
  740. package/dist/transition/useCSSTransition.d.ts +2 -0
  741. package/dist/transition/useCSSTransition.js +2 -0
  742. package/dist/transition/useCSSTransition.js.map +1 -1
  743. package/dist/transition/useCarousel.d.ts +6 -2
  744. package/dist/transition/useCarousel.js +11 -7
  745. package/dist/transition/useCarousel.js.map +1 -1
  746. package/dist/transition/useCollapseTransition.d.ts +7 -2
  747. package/dist/transition/useCollapseTransition.js +2 -0
  748. package/dist/transition/useCollapseTransition.js.map +1 -1
  749. package/dist/transition/useCrossFadeTransition.d.ts +22 -45
  750. package/dist/transition/useCrossFadeTransition.js +17 -49
  751. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  752. package/dist/transition/useScaleTransition.d.ts +22 -16
  753. package/dist/transition/useScaleTransition.js +20 -14
  754. package/dist/transition/useScaleTransition.js.map +1 -1
  755. package/dist/transition/useSkeletonPlaceholder.d.ts +6 -3
  756. package/dist/transition/useSkeletonPlaceholder.js +3 -0
  757. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  758. package/dist/transition/useSlideTransition.d.ts +9 -3
  759. package/dist/transition/useSlideTransition.js +1 -0
  760. package/dist/transition/useSlideTransition.js.map +1 -1
  761. package/dist/transition/useTransition.d.ts +1 -0
  762. package/dist/transition/useTransition.js +3 -2
  763. package/dist/transition/useTransition.js.map +1 -1
  764. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -0
  765. package/dist/tree/DefaultTreeItemRenderer.js +1 -0
  766. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  767. package/dist/tree/Tree.d.ts +8 -9
  768. package/dist/tree/Tree.js +4 -3
  769. package/dist/tree/Tree.js.map +1 -1
  770. package/dist/tree/TreeItem.d.ts +1 -0
  771. package/dist/tree/TreeItem.js +1 -0
  772. package/dist/tree/TreeItem.js.map +1 -1
  773. package/dist/tree/_tree.scss +71 -1
  774. package/dist/tree/types.d.ts +1 -1
  775. package/dist/tree/types.js.map +1 -1
  776. package/dist/tree/useTree.d.ts +4 -2
  777. package/dist/tree/useTree.js +4 -2
  778. package/dist/tree/useTree.js.map +1 -1
  779. package/dist/tree/useTreeExpansion.d.ts +1 -0
  780. package/dist/tree/useTreeExpansion.js +1 -0
  781. package/dist/tree/useTreeExpansion.js.map +1 -1
  782. package/dist/tree/useTreeItems.d.ts +1 -0
  783. package/dist/tree/useTreeItems.js +1 -0
  784. package/dist/tree/useTreeItems.js.map +1 -1
  785. package/dist/tree/useTreeSelection.d.ts +1 -0
  786. package/dist/tree/useTreeSelection.js +1 -0
  787. package/dist/tree/useTreeSelection.js.map +1 -1
  788. package/dist/types.d.ts +1 -1
  789. package/dist/types.js.map +1 -1
  790. package/dist/typography/HighlightText.d.ts +76 -0
  791. package/dist/typography/HighlightText.js +60 -0
  792. package/dist/typography/HighlightText.js.map +1 -0
  793. package/dist/typography/HighlightTextMark.d.ts +16 -0
  794. package/dist/typography/HighlightTextMark.js +16 -0
  795. package/dist/typography/HighlightTextMark.js.map +1 -0
  796. package/dist/typography/Mark.d.ts +27 -0
  797. package/dist/typography/Mark.js +34 -0
  798. package/dist/typography/Mark.js.map +1 -0
  799. package/dist/typography/SrOnly.d.ts +3 -1
  800. package/dist/typography/SrOnly.js +3 -1
  801. package/dist/typography/SrOnly.js.map +1 -1
  802. package/dist/typography/TextContainer.d.ts +9 -1
  803. package/dist/typography/TextContainer.js +3 -1
  804. package/dist/typography/TextContainer.js.map +1 -1
  805. package/dist/typography/Typography.d.ts +2 -1
  806. package/dist/typography/Typography.js +2 -1
  807. package/dist/typography/Typography.js.map +1 -1
  808. package/dist/typography/WritingDirectionProvider.d.ts +8 -8
  809. package/dist/typography/WritingDirectionProvider.js +8 -8
  810. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  811. package/dist/typography/_typography.scss +392 -51
  812. package/dist/typography/markStyles.d.ts +10 -0
  813. package/dist/typography/markStyles.js +11 -0
  814. package/dist/typography/markStyles.js.map +1 -0
  815. package/dist/typography/textContainerStyles.d.ts +2 -7
  816. package/dist/typography/textContainerStyles.js +2 -1
  817. package/dist/typography/textContainerStyles.js.map +1 -1
  818. package/dist/typography/typographyStyles.d.ts +2 -2
  819. package/dist/typography/typographyStyles.js +2 -2
  820. package/dist/typography/typographyStyles.js.map +1 -1
  821. package/dist/useAsyncFunction.d.ts +10 -68
  822. package/dist/useAsyncFunction.js +9 -67
  823. package/dist/useAsyncFunction.js.map +1 -1
  824. package/dist/useDebouncedFunction.d.ts +3 -1
  825. package/dist/useDebouncedFunction.js +3 -1
  826. package/dist/useDebouncedFunction.js.map +1 -1
  827. package/dist/useDropzone.d.ts +3 -2
  828. package/dist/useDropzone.js +3 -2
  829. package/dist/useDropzone.js.map +1 -1
  830. package/dist/useThrottledFunction.d.ts +3 -1
  831. package/dist/useThrottledFunction.js +3 -1
  832. package/dist/useThrottledFunction.js.map +1 -1
  833. package/dist/useUnmounted.d.ts +1 -1
  834. package/dist/useUnmounted.js +1 -1
  835. package/dist/useUnmounted.js.map +1 -1
  836. package/dist/utils/RenderRecursively.d.ts +1 -0
  837. package/dist/utils/RenderRecursively.js +1 -0
  838. package/dist/utils/RenderRecursively.js.map +1 -1
  839. package/dist/utils/applyRef.d.ts +1 -1
  840. package/dist/utils/applyRef.js +1 -1
  841. package/dist/utils/applyRef.js.map +1 -1
  842. package/dist/window-splitter/WindowSplitter.d.ts +11 -0
  843. package/dist/window-splitter/WindowSplitter.js +1 -0
  844. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  845. package/dist/window-splitter/_window-splitter.scss +46 -0
  846. package/dist/window-splitter/useWindowSplitter.d.ts +0 -10
  847. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  848. package/package.json +43 -17
  849. package/src/CoreProviders.tsx +1 -0
  850. package/src/NoSsr.tsx +3 -1
  851. package/src/RootHtml.tsx +1 -1
  852. package/src/SsrProvider.tsx +1 -0
  853. package/src/app-bar/AppBar.tsx +3 -1
  854. package/src/app-bar/AppBarTitle.tsx +2 -1
  855. package/src/autocomplete/Autocomplete.tsx +85 -3
  856. package/src/autocomplete/AutocompleteChip.tsx +1 -0
  857. package/src/autocomplete/AutocompleteCircularProgress.tsx +1 -0
  858. package/src/autocomplete/AutocompleteClearButton.tsx +3 -1
  859. package/src/autocomplete/AutocompleteDropdownButton.tsx +1 -0
  860. package/src/autocomplete/AutocompleteListboxChildren.tsx +2 -3
  861. package/src/autocomplete/autocompleteStyles.ts +11 -2
  862. package/src/autocomplete/types.ts +140 -86
  863. package/src/autocomplete/useAutocomplete.ts +21 -26
  864. package/src/autocomplete/utils.ts +6 -8
  865. package/src/avatar/Avatar.tsx +2 -1
  866. package/src/badge/Badge.tsx +8 -4
  867. package/src/box/Box.tsx +4 -3
  868. package/src/button/AsyncButton.tsx +4 -3
  869. package/src/button/Button.tsx +11 -9
  870. package/src/button/ButtonUnstyled.tsx +2 -1
  871. package/src/button/TooltippedButton.tsx +3 -2
  872. package/src/button/{buttonStyles.ts → styles.ts} +18 -0
  873. package/src/card/Card.tsx +9 -10
  874. package/src/card/CardContent.tsx +1 -0
  875. package/src/card/CardFooter.tsx +1 -0
  876. package/src/card/CardHeader.tsx +1 -0
  877. package/src/card/CardSubtitle.tsx +1 -0
  878. package/src/card/CardTitle.tsx +2 -1
  879. package/src/card/ClickableCard.tsx +3 -1
  880. package/src/chip/Chip.tsx +5 -3
  881. package/src/cssUtils.ts +1 -1
  882. package/src/dialog/Dialog.tsx +9 -10
  883. package/src/dialog/DialogContent.tsx +5 -5
  884. package/src/dialog/DialogFooter.tsx +5 -2
  885. package/src/dialog/DialogHeader.tsx +31 -5
  886. package/src/dialog/DialogTitle.tsx +8 -7
  887. package/src/dialog/FixedDialog.tsx +13 -12
  888. package/src/dialog/styles.ts +16 -10
  889. package/src/divider/Divider.tsx +3 -1
  890. package/src/divider/styles.ts +2 -2
  891. package/src/draggable/useDraggable.ts +1 -0
  892. package/src/error-boundary/ErrorBoundary.tsx +103 -0
  893. package/src/error-boundary/context.ts +16 -0
  894. package/src/error-boundary/types.ts +19 -0
  895. package/src/error-boundary/useErrorBoundary.ts +36 -0
  896. package/src/expansion-panel/ExpansionList.tsx +1 -0
  897. package/src/expansion-panel/ExpansionPanel.tsx +32 -0
  898. package/src/expansion-panel/ExpansionPanelHeader.tsx +10 -10
  899. package/src/expansion-panel/expansionPanelStyles.ts +33 -0
  900. package/src/expansion-panel/useExpansionList.ts +7 -8
  901. package/src/expansion-panel/useExpansionPanels.ts +7 -10
  902. package/src/files/FileInput.tsx +4 -2
  903. package/src/files/styles.ts +1 -1
  904. package/src/files/useFileUpload.ts +2 -0
  905. package/src/focus/useFocusContainer.ts +29 -43
  906. package/src/form/Checkbox.tsx +3 -1
  907. package/src/form/Fieldset.tsx +6 -35
  908. package/src/form/Form.tsx +2 -0
  909. package/src/form/FormMessage.tsx +2 -0
  910. package/src/form/FormMessageContainer.tsx +1 -0
  911. package/src/form/FormMessageCounter.tsx +2 -0
  912. package/src/form/InputToggle.tsx +4 -2
  913. package/src/form/Label.tsx +5 -54
  914. package/src/form/Legend.tsx +1 -0
  915. package/src/form/Listbox.tsx +1 -1
  916. package/src/form/MenuItemCheckbox.tsx +3 -1
  917. package/src/form/MenuItemFileInput.tsx +1 -0
  918. package/src/form/MenuItemInputToggle.tsx +3 -2
  919. package/src/form/MenuItemRadio.tsx +8 -8
  920. package/src/form/MenuItemSwitch.tsx +3 -1
  921. package/src/form/MenuItemTextField.tsx +1 -0
  922. package/src/form/NativeSelect.tsx +2 -0
  923. package/src/form/OptGroup.tsx +4 -1
  924. package/src/form/Option.tsx +2 -1
  925. package/src/form/Password.tsx +3 -1
  926. package/src/form/Radio.tsx +2 -0
  927. package/src/form/Select.tsx +6 -29
  928. package/src/form/Slider.tsx +9 -2
  929. package/src/form/SliderContainer.tsx +7 -15
  930. package/src/form/SliderMark.tsx +2 -13
  931. package/src/form/SliderMarkLabel.tsx +2 -5
  932. package/src/form/SliderThumb.tsx +2 -50
  933. package/src/form/SliderTrack.tsx +8 -18
  934. package/src/form/SliderValueTooltip.tsx +2 -10
  935. package/src/form/Switch.tsx +10 -1
  936. package/src/form/SwitchTrack.tsx +3 -6
  937. package/src/form/TextArea.tsx +10 -1
  938. package/src/form/TextField.tsx +3 -1
  939. package/src/form/TextFieldAddon.tsx +2 -59
  940. package/src/form/TextFieldContainer.tsx +14 -0
  941. package/src/form/fieldsetStyles.ts +35 -0
  942. package/src/form/formConfig.ts +29 -4
  943. package/src/form/labelStyles.ts +55 -0
  944. package/src/form/sliderStyles.ts +204 -0
  945. package/src/form/switchStyles.ts +36 -7
  946. package/src/form/textAreaStyles.ts +0 -7
  947. package/src/form/textFieldAddonStyles.ts +41 -0
  948. package/src/form/textFieldContainerStyles.ts +0 -14
  949. package/src/form/types.ts +25 -2
  950. package/src/form/useCheckboxGroup.ts +14 -0
  951. package/src/form/useCombobox.ts +78 -84
  952. package/src/form/useNumberField.ts +19 -7
  953. package/src/form/useRadioGroup.ts +9 -0
  954. package/src/form/useRangeSlider.ts +6 -1
  955. package/src/form/useSlider.ts +4 -1
  956. package/src/form/useTextField.ts +12 -1
  957. package/src/form/validation.ts +1 -0
  958. package/src/icon/FontIcon.tsx +1 -0
  959. package/src/icon/IconRotator.tsx +2 -0
  960. package/src/icon/MaterialIcon.tsx +2 -0
  961. package/src/icon/MaterialSymbol.tsx +3 -1
  962. package/src/icon/SVGIcon.tsx +2 -0
  963. package/src/icon/TextIconSpacing.tsx +6 -2
  964. package/src/icon/config.tsx +2 -2
  965. package/src/icon/material.ts +260 -17
  966. package/src/icon/styles.ts +5 -1
  967. package/src/interaction/Ripple.tsx +4 -4
  968. package/src/interaction/UserInteractionModeProvider.tsx +1 -1
  969. package/src/layout/LayoutAppBar.tsx +1 -0
  970. package/src/layout/LayoutNav.tsx +9 -12
  971. package/src/layout/LayoutWindowSplitter.tsx +7 -8
  972. package/src/layout/Main.tsx +2 -1
  973. package/src/layout/useExpandableLayout.ts +1 -0
  974. package/src/layout/useHorizontalLayoutTransition.ts +5 -2
  975. package/src/layout/useLayoutAppBarHeight.ts +7 -10
  976. package/src/layout/useLayoutTree.ts +3 -0
  977. package/src/layout/useLayoutWindowSplitter.ts +4 -2
  978. package/src/layout/useResizableLayout.ts +3 -0
  979. package/src/layout/useTemporaryLayout.ts +1 -0
  980. package/src/link/Link.tsx +3 -1
  981. package/src/link/SkipToMainContent.tsx +22 -0
  982. package/src/list/List.tsx +12 -1
  983. package/src/list/ListItem.tsx +23 -2
  984. package/src/list/ListItemChildren.tsx +3 -1
  985. package/src/list/ListItemLink.tsx +32 -1
  986. package/src/list/ListSubheader.tsx +2 -0
  987. package/src/list/listItemStyles.ts +0 -17
  988. package/src/list/listStyles.ts +0 -7
  989. package/src/media-queries/AppSizeProvider.tsx +2 -0
  990. package/src/media-queries/useMediaQuery.ts +2 -0
  991. package/src/menu/DropdownMenu.tsx +5 -2
  992. package/src/menu/Menu.tsx +1 -0
  993. package/src/menu/MenuBar.tsx +4 -1
  994. package/src/menu/MenuButton.tsx +1 -0
  995. package/src/menu/MenuItem.tsx +1 -0
  996. package/src/menu/MenuItemCircularProgress.tsx +4 -6
  997. package/src/menu/MenuItemGroup.tsx +6 -7
  998. package/src/menu/MenuItemSeparator.tsx +1 -0
  999. package/src/menu/MenuWidget.tsx +1 -21
  1000. package/src/menu/styles.ts +23 -0
  1001. package/src/menu/useContextMenu.ts +4 -1
  1002. package/src/movement/useKeyboardMovementProvider.ts +3 -3
  1003. package/src/navigation/CollapsibleNavGroup.tsx +1 -0
  1004. package/src/navigation/DefaultNavigationRenderer.tsx +1 -0
  1005. package/src/navigation/NavGroup.tsx +1 -0
  1006. package/src/navigation/NavItem.tsx +1 -0
  1007. package/src/navigation/NavItemButton.tsx +1 -0
  1008. package/src/navigation/NavItemLink.tsx +1 -0
  1009. package/src/navigation/NavSubheader.tsx +1 -0
  1010. package/src/navigation/Navigation.tsx +44 -0
  1011. package/src/navigation/getTableOfContentsHeadings.ts +70 -0
  1012. package/src/navigation/navItemStyles.ts +1 -1
  1013. package/src/navigation/types.ts +57 -0
  1014. package/src/navigation/useActiveHeadingId.ts +3 -15
  1015. package/src/navigation/useNavigationExpansion.ts +2 -0
  1016. package/src/navigation/useTableOfContentsHeadings.ts +22 -89
  1017. package/src/overlay/Overlay.tsx +12 -2
  1018. package/src/overlay/{overlayStyles.ts → styles.ts} +1 -7
  1019. package/src/portal/Portal.tsx +1 -0
  1020. package/src/portal/PortalContainerProvider.tsx +1 -0
  1021. package/src/positioning/createHorizontalPosition.ts +25 -19
  1022. package/src/positioning/createVerticalPosition.ts +10 -8
  1023. package/src/positioning/useFixedPositioning.ts +1 -0
  1024. package/src/progress/CircularProgress.tsx +3 -2
  1025. package/src/progress/LinearProgress.tsx +3 -2
  1026. package/src/responsive-item/ResponsiveItem.tsx +4 -3
  1027. package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -4
  1028. package/src/scroll/useScrollLock.ts +1 -0
  1029. package/src/searching/fuzzy.ts +2 -1
  1030. package/src/segmented-button/SegmentedButton.tsx +3 -4
  1031. package/src/segmented-button/SegmentedButtonContainer.tsx +7 -8
  1032. package/src/segmented-button/segmentedButtonContainerStyles.ts +1 -1
  1033. package/src/sheet/Sheet.tsx +15 -0
  1034. package/src/sheet/styles.ts +10 -17
  1035. package/src/snackbar/DefaultToastRenderer.tsx +1 -0
  1036. package/src/snackbar/Snackbar.tsx +10 -9
  1037. package/src/snackbar/Toast.tsx +9 -0
  1038. package/src/snackbar/ToastActionButton.tsx +2 -1
  1039. package/src/snackbar/ToastCloseButton.tsx +2 -1
  1040. package/src/snackbar/ToastContent.tsx +1 -0
  1041. package/src/snackbar/{ToastManager.tsx → ToastManager.ts} +1 -1
  1042. package/src/snackbar/ToastManagerProvider.tsx +1 -0
  1043. package/src/snackbar/toastStyles.ts +0 -8
  1044. package/src/snackbar/useCurrentToastActions.ts +1 -0
  1045. package/src/storage/useStorage.ts +1 -0
  1046. package/src/suspense/CircularProgressSuspense.tsx +2 -1
  1047. package/src/suspense/NullSuspense.tsx +2 -1
  1048. package/src/table/StickyTableSection.tsx +2 -0
  1049. package/src/table/Table.tsx +8 -8
  1050. package/src/table/TableBody.tsx +2 -0
  1051. package/src/table/TableCell.tsx +6 -2
  1052. package/src/table/TableCheckbox.tsx +11 -12
  1053. package/src/table/TableContainer.tsx +2 -0
  1054. package/src/table/TableFooter.tsx +2 -0
  1055. package/src/table/TableHeader.tsx +2 -0
  1056. package/src/table/TableRadio.tsx +13 -13
  1057. package/src/table/TableRow.tsx +2 -0
  1058. package/src/table/tableCellStyles.ts +1 -1
  1059. package/src/tabs/SimpleTabPanel.tsx +2 -0
  1060. package/src/tabs/SimpleTabPanels.tsx +2 -0
  1061. package/src/tabs/Tab.tsx +21 -1
  1062. package/src/tabs/TabList.tsx +1 -1
  1063. package/src/tabs/TabListScrollButton.tsx +1 -1
  1064. package/src/tabs/tabStyles.ts +0 -20
  1065. package/src/tabs/useTabs.ts +7 -2
  1066. package/src/test-utils/jest-globals/match-media.ts +4 -3
  1067. package/src/test-utils/jest-globals/resize-observer.ts +2 -2
  1068. package/src/test-utils/mocks/ResizeObserver.ts +7 -7
  1069. package/src/test-utils/mocks/match-media.ts +32 -0
  1070. package/src/test-utils/{mocks/match-media-implementation.ts → utils/createMatchMediaSpy.ts} +34 -36
  1071. package/src/test-utils/vitest/match-media.ts +4 -3
  1072. package/src/test-utils/vitest/resize-observer.ts +2 -2
  1073. package/src/theme/LocalStorageColorSchemeProvider.tsx +6 -6
  1074. package/src/theme/ThemeProvider.tsx +10 -11
  1075. package/src/theme/colors.ts +2 -2
  1076. package/src/theme/useColorScheme.ts +1 -1
  1077. package/src/tooltip/Tooltip.tsx +14 -2
  1078. package/src/tooltip/TooltipHoverModeProvider.tsx +1 -0
  1079. package/src/tooltip/constants.ts +11 -11
  1080. package/src/tooltip/{tooltipStyles.ts → styles.ts} +1 -1
  1081. package/src/tooltip/useTooltip.ts +8 -16
  1082. package/src/transition/CSSTransition.tsx +3 -1
  1083. package/src/transition/Collapse.tsx +1 -0
  1084. package/src/transition/CrossFade.tsx +1 -0
  1085. package/src/transition/ScaleTransition.tsx +4 -1
  1086. package/src/transition/SkeletonPlaceholder.tsx +3 -2
  1087. package/src/transition/Slide.tsx +1 -0
  1088. package/src/transition/SlideContainer.tsx +15 -11
  1089. package/src/transition/getTransitionCallbacks.ts +140 -0
  1090. package/src/transition/skeletonPlaceholderUtils.ts +4 -1
  1091. package/src/transition/types.ts +28 -7
  1092. package/src/transition/useCSSTransition.ts +2 -0
  1093. package/src/transition/useCarousel.ts +11 -7
  1094. package/src/transition/useCollapseTransition.ts +4 -3
  1095. package/src/transition/useCrossFadeTransition.ts +23 -57
  1096. package/src/transition/useScaleTransition.ts +27 -19
  1097. package/src/transition/useSkeletonPlaceholder.ts +6 -3
  1098. package/src/transition/useSlideTransition.ts +14 -13
  1099. package/src/transition/useTransition.ts +3 -2
  1100. package/src/tree/DefaultTreeItemRenderer.tsx +1 -0
  1101. package/src/tree/Tree.tsx +8 -9
  1102. package/src/tree/TreeItem.tsx +1 -0
  1103. package/src/tree/types.ts +1 -1
  1104. package/src/tree/useTree.ts +4 -2
  1105. package/src/tree/useTreeExpansion.ts +1 -0
  1106. package/src/tree/useTreeItems.ts +1 -0
  1107. package/src/tree/useTreeSelection.ts +1 -0
  1108. package/src/types.ts +1 -1
  1109. package/src/typography/HighlightText.tsx +201 -0
  1110. package/src/typography/HighlightTextMark.tsx +25 -0
  1111. package/src/typography/Mark.tsx +41 -0
  1112. package/src/typography/SrOnly.tsx +3 -1
  1113. package/src/typography/TextContainer.tsx +10 -1
  1114. package/src/typography/Typography.tsx +2 -1
  1115. package/src/typography/WritingDirectionProvider.tsx +8 -8
  1116. package/src/typography/markStyles.ts +20 -0
  1117. package/src/typography/textContainerStyles.ts +2 -8
  1118. package/src/typography/typographyStyles.ts +2 -2
  1119. package/src/useAsyncFunction.ts +12 -68
  1120. package/src/useDebouncedFunction.ts +3 -1
  1121. package/src/useDropzone.ts +3 -2
  1122. package/src/useThrottledFunction.ts +3 -1
  1123. package/src/useUnmounted.ts +1 -1
  1124. package/src/utils/RenderRecursively.tsx +1 -0
  1125. package/src/utils/applyRef.ts +1 -1
  1126. package/src/window-splitter/WindowSplitter.tsx +12 -0
  1127. package/src/window-splitter/useWindowSplitter.ts +0 -11
  1128. package/dist/button/buttonStyles.js.map +0 -1
  1129. package/dist/button/buttonUnstyledStyles.d.ts +0 -10
  1130. package/dist/button/buttonUnstyledStyles.js +0 -11
  1131. package/dist/button/buttonUnstyledStyles.js.map +0 -1
  1132. package/dist/overlay/overlayStyles.js.map +0 -1
  1133. package/dist/test-utils/mocks/match-media-implementation.d.ts +0 -42
  1134. package/dist/test-utils/mocks/match-media-implementation.js.map +0 -1
  1135. package/dist/tooltip/tooltipStyles.js.map +0 -1
  1136. package/src/button/buttonUnstyledStyles.ts +0 -19
  1137. /package/src/table/{TableConfigurationProvider.tsx → TableConfigurationProvider.ts} +0 -0
  1138. /package/src/table/{TableContainerProvider.tsx → TableContainerProvider.ts} +0 -0
@@ -1,9 +1,10 @@
1
1
  import { type TextColor, type ThemeColor } from "../cssUtils.js";
2
- import type { MaterialIconFamily, MaterialSymbolFamily } from "./material.js";
2
+ import { type MaterialIconFamily, type MaterialSymbolFamily } from "./material.js";
3
3
  declare module "react" {
4
4
  interface CSSProperties {
5
5
  "--rmd-icon-color"?: string;
6
6
  "--rmd-icon-size"?: string | number;
7
+ "--rmd-icon-dense-size"?: string | number;
7
8
  "--rmd-icon-spacing"?: string | number;
8
9
  "--rmd-icon-rotate-from"?: string | number;
9
10
  "--rmd-icon-rotate-to"?: string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/icon/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { type TextColor, type ThemeColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport type { MaterialIconFamily, MaterialSymbolFamily } from \"./material.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-icon-color\"?: string;\n \"--rmd-icon-size\"?: string | number;\n \"--rmd-icon-spacing\"?: string | number;\n \"--rmd-icon-rotate-from\"?: string | number;\n \"--rmd-icon-rotate-to\"?: string | number;\n }\n}\n\nconst styles = bem(\"rmd-icon\");\nconst rotatorStyles = bem(\"rmd-icon-rotator\");\n\n/** @since 6.0.0 */\nexport interface SVGIconClassNameOptions {\n className?: string;\n\n /**\n * An optional theme color to apply to the icon. When this is `undefined`, the\n * default icon color will be used instead.\n *\n * - `primary -> $primary-color`\n * - `secondary -> $secondary-color`\n * - `warning -> $warning-color`\n * - `success -> $success-color`\n * - `error -> $error-color`\n * - `text-primary -> $text-primary-color`\n * - `text-secondary -> $text-primary-color`\n * - `text-hint -> $text-hint-color`\n * - `text-disabled -> $text-disabled-color`\n */\n theme?: ThemeColor | TextColor;\n\n /**\n * Boolean if the font icon should use the dense spec.\n *\n * @defaultValue `false`\n */\n dense?: boolean;\n\n /**\n * Set this to `true` if the icon should display inline with other text (like\n * a paragraph) by applying `vertical-align: bottom`.\n *\n * @example\n * ```tsx\n * <Typography>\n * <InfoIcon inline className=\"rmd-icon--before\" />\n * Some additional information around xyz.\n * </Typography>\n * ```\n *\n * @defaultValue `false`\n */\n inline?: boolean;\n}\n\n/** @since 6.0.0 */\nexport interface FontIconClassNameOptions extends SVGIconClassNameOptions {\n /**\n * The font icon class name to use.\n *\n * @defaultValue `\"material-icons\"`\n */\n iconClassName?: string;\n}\n\n/** @since 6.0.0 */\nexport interface MaterialIconClassNameOptions extends SVGIconClassNameOptions {\n family: MaterialIconFamily;\n}\n\n/** @since 6.0.0 */\nexport interface MaterialSymbolClassNameOptions\n extends SVGIconClassNameOptions {\n family: MaterialSymbolFamily;\n}\n\n/** @since 6.0.0 */\nexport type IconClassNameOptions =\n | ({ type: \"font\" } & FontIconClassNameOptions)\n | ({ type: \"svg\" } & SVGIconClassNameOptions)\n | ({ type: \"material\" } & MaterialIconClassNameOptions)\n | ({ type: \"symbol\" } & MaterialSymbolClassNameOptions);\n\n/**\n *\n * @since 6.0.0\n */\nexport function icon(options: IconClassNameOptions): string {\n const {\n className,\n type,\n theme,\n family = \"\",\n dense = false,\n inline = false,\n iconClassName,\n } = options as FontIconClassNameOptions &\n SVGIconClassNameOptions & {\n type: \"font\" | \"svg\" | \"symbol\" | \"material\";\n family?: MaterialIconFamily;\n };\n\n const isFont = type === \"font\";\n const isSvg = type === \"svg\";\n const isSymbol = type === \"symbol\";\n const isMaterial = type === \"material\";\n\n return cnb(\n styles({\n svg: isSvg,\n font: isFont || isMaterial,\n symbol: isSymbol,\n vam: inline,\n dense,\n }),\n isSymbol && `material-symbols-${family}`,\n isMaterial &&\n `material-icons${\n family === \"filled\" ? \"\" : `-${family === \"rounded\" ? \"round\" : family}`\n }`,\n cssUtils({\n textColor: theme,\n }),\n iconClassName,\n className\n );\n}\n\n/** @since 6.0.0 */\nexport interface IconRotatorClassNameOptions {\n className?: string;\n\n /**\n * Boolean if the icon is currently rotated.\n */\n rotated: boolean;\n\n /**\n * Boolean if changing the {@link rotated} state should no longer transition.\n *\n * @defaultValue `false`\n */\n disableTransition?: boolean;\n}\n\n/**\n *\n * @since 6.0.0\n */\nexport function iconRotator(options: IconRotatorClassNameOptions): string {\n const { className, rotated, disableTransition = false } = options;\n\n return cnb(\n rotatorStyles({\n animate: !disableTransition,\n rotated,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","styles","rotatorStyles","icon","options","className","type","theme","family","dense","inline","iconClassName","isFont","isSvg","isSymbol","isMaterial","svg","font","symbol","vam","textColor","iconRotator","rotated","disableTransition","animate"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAA0CC,QAAQ,QAAQ,iBAAiB;AAC3E,SAASC,GAAG,QAAQ,kBAAkB;AAatC,MAAMC,SAASD,IAAI;AACnB,MAAME,gBAAgBF,IAAI;AA0E1B;;;CAGC,GACD,OAAO,SAASG,KAAKC,OAA6B;IAChD,MAAM,EACJC,SAAS,EACTC,IAAI,EACJC,KAAK,EACLC,SAAS,EAAE,EACXC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,aAAa,EACd,GAAGP;IAMJ,MAAMQ,SAASN,SAAS;IACxB,MAAMO,QAAQP,SAAS;IACvB,MAAMQ,WAAWR,SAAS;IAC1B,MAAMS,aAAaT,SAAS;IAE5B,OAAOR,IACLG,OAAO;QACLe,KAAKH;QACLI,MAAML,UAAUG;QAChBG,QAAQJ;QACRK,KAAKT;QACLD;IACF,IACAK,YAAY,CAAC,iBAAiB,EAAEN,QAAQ,EACxCO,cACE,CAAC,cAAc,EACbP,WAAW,WAAW,KAAK,CAAC,CAAC,EAAEA,WAAW,YAAY,UAAUA,QAAQ,EACxE,EACJT,SAAS;QACPqB,WAAWb;IACb,IACAI,eACAN;AAEJ;AAmBA;;;CAGC,GACD,OAAO,SAASgB,YAAYjB,OAAoC;IAC9D,MAAM,EAAEC,SAAS,EAAEiB,OAAO,EAAEC,oBAAoB,KAAK,EAAE,GAAGnB;IAE1D,OAAON,IACLI,cAAc;QACZsB,SAAS,CAACD;QACVD;IACF,IACAjB;AAEJ"}
1
+ {"version":3,"sources":["../../src/icon/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { type TextColor, type ThemeColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport {\n type MaterialIconFamily,\n type MaterialSymbolFamily,\n} from \"./material.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-icon-color\"?: string;\n \"--rmd-icon-size\"?: string | number;\n \"--rmd-icon-dense-size\"?: string | number;\n \"--rmd-icon-spacing\"?: string | number;\n \"--rmd-icon-rotate-from\"?: string | number;\n \"--rmd-icon-rotate-to\"?: string | number;\n }\n}\n\nconst styles = bem(\"rmd-icon\");\nconst rotatorStyles = bem(\"rmd-icon-rotator\");\n\n/** @since 6.0.0 */\nexport interface SVGIconClassNameOptions {\n className?: string;\n\n /**\n * An optional theme color to apply to the icon. When this is `undefined`, the\n * default icon color will be used instead.\n *\n * - `primary -> $primary-color`\n * - `secondary -> $secondary-color`\n * - `warning -> $warning-color`\n * - `success -> $success-color`\n * - `error -> $error-color`\n * - `text-primary -> $text-primary-color`\n * - `text-secondary -> $text-primary-color`\n * - `text-hint -> $text-hint-color`\n * - `text-disabled -> $text-disabled-color`\n */\n theme?: ThemeColor | TextColor;\n\n /**\n * Boolean if the font icon should use the dense spec.\n *\n * @defaultValue `false`\n */\n dense?: boolean;\n\n /**\n * Set this to `true` if the icon should display inline with other text (like\n * a paragraph) by applying `vertical-align: bottom`.\n *\n * @example\n * ```tsx\n * <Typography>\n * <InfoIcon inline className=\"rmd-icon--before\" />\n * Some additional information around xyz.\n * </Typography>\n * ```\n *\n * @defaultValue `false`\n */\n inline?: boolean;\n}\n\n/** @since 6.0.0 */\nexport interface FontIconClassNameOptions extends SVGIconClassNameOptions {\n /**\n * The font icon class name to use.\n *\n * @defaultValue `\"material-icons\"`\n */\n iconClassName?: string;\n}\n\n/** @since 6.0.0 */\nexport interface MaterialIconClassNameOptions extends SVGIconClassNameOptions {\n family: MaterialIconFamily;\n}\n\n/** @since 6.0.0 */\nexport interface MaterialSymbolClassNameOptions\n extends SVGIconClassNameOptions {\n family: MaterialSymbolFamily;\n}\n\n/** @since 6.0.0 */\nexport type IconClassNameOptions =\n | ({ type: \"font\" } & FontIconClassNameOptions)\n | ({ type: \"svg\" } & SVGIconClassNameOptions)\n | ({ type: \"material\" } & MaterialIconClassNameOptions)\n | ({ type: \"symbol\" } & MaterialSymbolClassNameOptions);\n\n/**\n *\n * @since 6.0.0\n */\nexport function icon(options: IconClassNameOptions): string {\n const {\n className,\n type,\n theme,\n family = \"\",\n dense = false,\n inline = false,\n iconClassName,\n } = options as FontIconClassNameOptions &\n SVGIconClassNameOptions & {\n type: \"font\" | \"svg\" | \"symbol\" | \"material\";\n family?: MaterialIconFamily;\n };\n\n const isFont = type === \"font\";\n const isSvg = type === \"svg\";\n const isSymbol = type === \"symbol\";\n const isMaterial = type === \"material\";\n\n return cnb(\n styles({\n svg: isSvg,\n font: isFont || isMaterial,\n symbol: isSymbol,\n vam: inline,\n dense,\n }),\n isSymbol && `material-symbols-${family}`,\n isMaterial &&\n `material-icons${\n family === \"filled\" ? \"\" : `-${family === \"rounded\" ? \"round\" : family}`\n }`,\n cssUtils({\n textColor: theme,\n }),\n iconClassName,\n className\n );\n}\n\n/** @since 6.0.0 */\nexport interface IconRotatorClassNameOptions {\n className?: string;\n\n /**\n * Boolean if the icon is currently rotated.\n */\n rotated: boolean;\n\n /**\n * Boolean if changing the {@link rotated} state should no longer transition.\n *\n * @defaultValue `false`\n */\n disableTransition?: boolean;\n}\n\n/**\n *\n * @since 6.0.0\n */\nexport function iconRotator(options: IconRotatorClassNameOptions): string {\n const { className, rotated, disableTransition = false } = options;\n\n return cnb(\n rotatorStyles({\n animate: !disableTransition,\n rotated,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","styles","rotatorStyles","icon","options","className","type","theme","family","dense","inline","iconClassName","isFont","isSvg","isSymbol","isMaterial","svg","font","symbol","vam","textColor","iconRotator","rotated","disableTransition","animate"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAA0CC,QAAQ,QAAQ,iBAAiB;AAC3E,SAASC,GAAG,QAAQ,kBAAkB;AAiBtC,MAAMC,SAASD,IAAI;AACnB,MAAME,gBAAgBF,IAAI;AA0E1B;;;CAGC,GACD,OAAO,SAASG,KAAKC,OAA6B;IAChD,MAAM,EACJC,SAAS,EACTC,IAAI,EACJC,KAAK,EACLC,SAAS,EAAE,EACXC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,aAAa,EACd,GAAGP;IAMJ,MAAMQ,SAASN,SAAS;IACxB,MAAMO,QAAQP,SAAS;IACvB,MAAMQ,WAAWR,SAAS;IAC1B,MAAMS,aAAaT,SAAS;IAE5B,OAAOR,IACLG,OAAO;QACLe,KAAKH;QACLI,MAAML,UAAUG;QAChBG,QAAQJ;QACRK,KAAKT;QACLD;IACF,IACAK,YAAY,CAAC,iBAAiB,EAAEN,QAAQ,EACxCO,cACE,CAAC,cAAc,EACbP,WAAW,WAAW,KAAK,CAAC,CAAC,EAAEA,WAAW,YAAY,UAAUA,QAAQ,EACxE,EACJT,SAAS;QACPqB,WAAWb;IACb,IACAI,eACAN;AAEJ;AAmBA;;;CAGC,GACD,OAAO,SAASgB,YAAYjB,OAAoC;IAC9D,MAAM,EAAEC,SAAS,EAAEiB,OAAO,EAAEC,oBAAoB,KAAK,EAAE,GAAGnB;IAE1D,OAAON,IACLI,cAAc;QACZsB,SAAS,CAACD;QACVD;IACF,IACAjB;AAEJ"}
@@ -2,9 +2,18 @@ import { type ReactElement } from "react";
2
2
  import { type CSSTransitionClassNames, type TransitionTimeout } from "../transition/types.js";
3
3
  import { type RippleState, type RippleTransitionCallbacks } from "./types.js";
4
4
  /** @internal */
5
- export declare const DEFAULT_RIPPLE_CLASSNAMES: Readonly<CSSTransitionClassNames>;
5
+ export declare const DEFAULT_RIPPLE_CLASSNAMES: {
6
+ readonly enter: "rmd-ripple--animating";
7
+ readonly enterActive: "rmd-ripple--scaling";
8
+ readonly enterDone: "rmd-ripple--animating rmd-ripple--scaling";
9
+ readonly exit: "rmd-ripple--animating rmd-ripple--scaling";
10
+ readonly exitActive: "rmd-ripple--fading";
11
+ };
6
12
  /** @internal */
7
- export declare const DEFAULT_RIPPLE_TIMEOUT: Readonly<TransitionTimeout>;
13
+ export declare const DEFAULT_RIPPLE_TIMEOUT: {
14
+ readonly enter: 150;
15
+ readonly exit: 300;
16
+ };
8
17
  /** @internal */
9
18
  export interface RippleProps extends RippleTransitionCallbacks {
10
19
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/interaction/Ripple.tsx"],"sourcesContent":["\"use client\";\n\nimport { cnb } from \"cnbuilder\";\nimport { type ReactElement } from \"react\";\n\nimport {\n type CSSTransitionClassNames,\n type TransitionTimeout,\n} from \"../transition/types.js\";\nimport { useCSSTransition } from \"../transition/useCSSTransition.js\";\nimport { type RippleState, type RippleTransitionCallbacks } from \"./types.js\";\n\n/** @internal */\nexport const DEFAULT_RIPPLE_CLASSNAMES: Readonly<CSSTransitionClassNames> = {\n enter: \"rmd-ripple--animating\",\n enterActive: \"rmd-ripple--scaling\",\n enterDone: \"rmd-ripple--animating rmd-ripple--scaling\",\n exit: \"rmd-ripple--animating rmd-ripple--scaling\",\n exitActive: \"rmd-ripple--fading\",\n};\n\n/** @internal */\nexport const DEFAULT_RIPPLE_TIMEOUT: Readonly<TransitionTimeout> = {\n enter: 150,\n exit: 300,\n};\n\n/** @internal */\nexport interface RippleProps extends RippleTransitionCallbacks {\n className?: string;\n timeout?: TransitionTimeout;\n classNames?: CSSTransitionClassNames;\n ripple: RippleState;\n}\n\n/**\n * **Client Component**\n *\n * This component should only be used by the `RippleContainer` component.\n *\n * @internal\n */\nexport function Ripple(props: RippleProps): ReactElement {\n const {\n className,\n timeout = DEFAULT_RIPPLE_TIMEOUT,\n classNames = DEFAULT_RIPPLE_CLASSNAMES,\n ripple,\n onEntered,\n onExited,\n } = props;\n const { style, exiting } = ripple;\n const { elementProps, rendered } = useCSSTransition({\n appear: true,\n className: cnb(\"rmd-ripple\", className),\n transitionIn: !exiting,\n timeout,\n classNames,\n onEntered() {\n onEntered(ripple);\n },\n onExited() {\n onExited(ripple);\n },\n });\n\n return <>{rendered && <span style={style} {...elementProps} />}</>;\n}\n"],"names":["cnb","useCSSTransition","DEFAULT_RIPPLE_CLASSNAMES","enter","enterActive","enterDone","exit","exitActive","DEFAULT_RIPPLE_TIMEOUT","Ripple","props","className","timeout","classNames","ripple","onEntered","onExited","style","exiting","elementProps","rendered","appear","transitionIn","span"],"mappings":"AAAA;;AAEA,SAASA,GAAG,QAAQ,YAAY;AAOhC,SAASC,gBAAgB,QAAQ,oCAAoC;AAGrE,cAAc,GACd,OAAO,MAAMC,4BAA+D;IAC1EC,OAAO;IACPC,aAAa;IACbC,WAAW;IACXC,MAAM;IACNC,YAAY;AACd,EAAE;AAEF,cAAc,GACd,OAAO,MAAMC,yBAAsD;IACjEL,OAAO;IACPG,MAAM;AACR,EAAE;AAUF;;;;;;CAMC,GACD,OAAO,SAASG,OAAOC,KAAkB;IACvC,MAAM,EACJC,SAAS,EACTC,UAAUJ,sBAAsB,EAChCK,aAAaX,yBAAyB,EACtCY,MAAM,EACNC,SAAS,EACTC,QAAQ,EACT,GAAGN;IACJ,MAAM,EAAEO,KAAK,EAAEC,OAAO,EAAE,GAAGJ;IAC3B,MAAM,EAAEK,YAAY,EAAEC,QAAQ,EAAE,GAAGnB,iBAAiB;QAClDoB,QAAQ;QACRV,WAAWX,IAAI,cAAcW;QAC7BW,cAAc,CAACJ;QACfN;QACAC;QACAE;YACEA,UAAUD;QACZ;QACAE;YACEA,SAASF;QACX;IACF;IAEA,qBAAO;kBAAGM,0BAAY,KAACG;YAAKN,OAAOA;YAAQ,GAAGE,YAAY;;;AAC5D"}
1
+ {"version":3,"sources":["../../src/interaction/Ripple.tsx"],"sourcesContent":["\"use client\";\n\nimport { cnb } from \"cnbuilder\";\nimport { type ReactElement } from \"react\";\n\nimport {\n type CSSTransitionClassNames,\n type TransitionTimeout,\n} from \"../transition/types.js\";\nimport { useCSSTransition } from \"../transition/useCSSTransition.js\";\nimport { type RippleState, type RippleTransitionCallbacks } from \"./types.js\";\n\n/** @internal */\nexport const DEFAULT_RIPPLE_CLASSNAMES = {\n enter: \"rmd-ripple--animating\",\n enterActive: \"rmd-ripple--scaling\",\n enterDone: \"rmd-ripple--animating rmd-ripple--scaling\",\n exit: \"rmd-ripple--animating rmd-ripple--scaling\",\n exitActive: \"rmd-ripple--fading\",\n} as const satisfies CSSTransitionClassNames;\n\n/** @internal */\nexport const DEFAULT_RIPPLE_TIMEOUT = {\n enter: 150,\n exit: 300,\n} as const satisfies TransitionTimeout;\n\n/** @internal */\nexport interface RippleProps extends RippleTransitionCallbacks {\n className?: string;\n timeout?: TransitionTimeout;\n classNames?: CSSTransitionClassNames;\n ripple: RippleState;\n}\n\n/**\n * **Client Component**\n *\n * This component should only be used by the `RippleContainer` component.\n *\n * @internal\n */\nexport function Ripple(props: RippleProps): ReactElement {\n const {\n className,\n timeout = DEFAULT_RIPPLE_TIMEOUT,\n classNames = DEFAULT_RIPPLE_CLASSNAMES,\n ripple,\n onEntered,\n onExited,\n } = props;\n const { style, exiting } = ripple;\n const { elementProps, rendered } = useCSSTransition({\n appear: true,\n className: cnb(\"rmd-ripple\", className),\n transitionIn: !exiting,\n timeout,\n classNames,\n onEntered() {\n onEntered(ripple);\n },\n onExited() {\n onExited(ripple);\n },\n });\n\n return <>{rendered && <span style={style} {...elementProps} />}</>;\n}\n"],"names":["cnb","useCSSTransition","DEFAULT_RIPPLE_CLASSNAMES","enter","enterActive","enterDone","exit","exitActive","DEFAULT_RIPPLE_TIMEOUT","Ripple","props","className","timeout","classNames","ripple","onEntered","onExited","style","exiting","elementProps","rendered","appear","transitionIn","span"],"mappings":"AAAA;;AAEA,SAASA,GAAG,QAAQ,YAAY;AAOhC,SAASC,gBAAgB,QAAQ,oCAAoC;AAGrE,cAAc,GACd,OAAO,MAAMC,4BAA4B;IACvCC,OAAO;IACPC,aAAa;IACbC,WAAW;IACXC,MAAM;IACNC,YAAY;AACd,EAA6C;AAE7C,cAAc,GACd,OAAO,MAAMC,yBAAyB;IACpCL,OAAO;IACPG,MAAM;AACR,EAAuC;AAUvC;;;;;;CAMC,GACD,OAAO,SAASG,OAAOC,KAAkB;IACvC,MAAM,EACJC,SAAS,EACTC,UAAUJ,sBAAsB,EAChCK,aAAaX,yBAAyB,EACtCY,MAAM,EACNC,SAAS,EACTC,QAAQ,EACT,GAAGN;IACJ,MAAM,EAAEO,KAAK,EAAEC,OAAO,EAAE,GAAGJ;IAC3B,MAAM,EAAEK,YAAY,EAAEC,QAAQ,EAAE,GAAGnB,iBAAiB;QAClDoB,QAAQ;QACRV,WAAWX,IAAI,cAAcW;QAC7BW,cAAc,CAACJ;QACfN;QACAC;QACAE;YACEA,UAAUD;QACZ;QACAE;YACEA,SAASF;QACX;IACF;IAEA,qBAAO;kBAAGM,0BAAY,KAACG;YAAKN,OAAOA;YAAQ,GAAGE,YAAY;;;AAC5D"}
@@ -32,7 +32,7 @@ export interface UserInteractionModeProviderProps {
32
32
  * @example Mount at the root of your app
33
33
  * ```tsx
34
34
  * import { createRoot } from "react-dom/client";
35
- * import { UserInteractionModeProvider } from "@react-md/core";
35
+ * import { UserInteractionModeProvider } from "@react-md/core/interaction/UserInteractionModeProvider";
36
36
  * import App from "./App":
37
37
  *
38
38
  * const container = document.getElementById("root");
@@ -31,7 +31,7 @@ const { Provider } = context;
31
31
  * @example Mount at the root of your app
32
32
  * ```tsx
33
33
  * import { createRoot } from "react-dom/client";
34
- * import { UserInteractionModeProvider } from "@react-md/core";
34
+ * import { UserInteractionModeProvider } from "@react-md/core/interaction/UserInteractionModeProvider";
35
35
  * import App from "./App":
36
36
  *
37
37
  * const container = document.getElementById("root");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/interaction/UserInteractionModeProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type ReactElement,\n type ReactNode,\n createContext,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\n/**\n * This is the current mode for how your user is interacting with your app. This\n * will be used to determine which type of state styles should be applied at the\n * time of interacting with an element on your page.\n *\n * @defaultValue `\"mouse\"`\n */\nexport type UserInteractionMode = \"keyboard\" | \"mouse\" | \"touch\";\n\n/** @internal */\ninterface UserInteractionModeContext {\n __root: boolean;\n mode: UserInteractionMode;\n}\n\nconst context = createContext<UserInteractionModeContext>({\n __root: false,\n mode: \"mouse\",\n});\ncontext.displayName = \"UserInteractionMode\";\nconst { Provider } = context;\n\n/**\n * @returns the current user interaction mode\n */\nexport function useUserInteractionMode(): UserInteractionMode {\n return useContext(context).mode;\n}\n\n/** @internal */\nconst TOUCH_TIMEOUT = 1200;\n\nexport interface UserInteractionModeProviderProps {\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * This component is used to determine how a user is interacting with your app\n * to update component functionality and applying the following class names to\n * the `document.body`:\n *\n * - `\"rmd-mouse-mode\"`\n * - `\"rmd-keyboard-mode\"`\n * - `\"rmd-touch-mode\"`\n *\n * Within `react-md`, these classes are used for the following behavior:\n * - only display `:focus` outlines while in `\"rmd-keyboard-mode\"`\n * - do not display `:hover` effects while in `\"rmd-touch-mode\"`\n *\n * @example Mount at the root of your app\n * ```tsx\n * import { createRoot } from \"react-dom/client\";\n * import { UserInteractionModeProvider } from \"@react-md/core\";\n * import App from \"./App\":\n *\n * const container = document.getElementById(\"root\");\n * const root = createRoot(container);\n *\n * root.render(\n * <UserInteractionModeProvider>\n * <App />\n * </UserInteractionModeProvider>\n * );\n * ```\n *\n * @throws \"The `UserInteractionModeProvider` cannot be mounted multiple times.\"\n * if this component is mounted multiple times in your app.\n */\nexport function UserInteractionModeProvider(\n props: UserInteractionModeProviderProps\n): ReactElement {\n const { children } = props;\n const { __root } = useContext(context);\n if (__root) {\n throw new Error(\n \"The `UserInteractionModeProvider` cannot be mounted multiple times.\"\n );\n }\n\n const [mode, setMode] = useState<UserInteractionMode>(\"mouse\");\n const lastTouchTime = useRef(0);\n const isTouchContextMenu = useRef(false);\n\n /**\n * This effect helps determine the current interaction mode by attaching the\n * required event listeners to the window. The `mode` will always be defaulted\n * to `mouse` at first since it has the least possibilities of causing errors\n * with styles since the mouse-only styles are normally just `:hover` effects.\n *\n * ## Switching between modes:\n *\n * ### While in `mouse` mode:\n *\n * - any `keydown` event will switch to `keyboard` mode\n * - this does have the side effect of meta keys also causing the switch over,\n * but it feels fine since it helps show the current focus in the document\n * as well\n * - any `touchstart` event will switch to `touch` mode\n *\n * ### While in `keyboard` mode:\n *\n * - any `mousedown` event will switch to `mouse` mode\n * - it is perfectly okay to move the mouse while in keyboard mode, but still\n * want to keep the keyboard styles until the user actually starts clicking\n * - any `touchstart` event will switch to `touch` mode\n *\n * ### While in `touch` mode:\n *\n * - any `mousemove` event will switch to `mouse` mode, but **only** if there\n * hasn't been a `contextmenu` event within the last `1.2s`\n * - you can really only switch back to `mouse` mode if you are using the\n * devtools to emulate devices OR using a touch-desktop. I don't know how\n * common this really is though.\n * - touching the screen will always fire a `mousemove` event (which is why\n * the `:hover` styles are normally with `rmd-utils-mouse-only`) and even\n * after the `contextmenu` event. Normally want to go back to `mouse` mode\n * when the mouse re-enters the `window`\n *\n * Note: It's currently impossible to switch from `touch` to `keyboard`\n * immediately. You'd first need to switch to `mouse` and then to `keyboard`. I\n * don't really know of any use-cases other than the weird touch-desktop stuff\n * and I have no experience using them.\n */\n useEffect(() => {\n const enableMouseMode = (): void => {\n setMode(\"mouse\");\n };\n const enableKeyboardMode = (): void => {\n setMode(\"keyboard\");\n };\n\n const handleTouchStart = (): void => {\n lastTouchTime.current = Date.now();\n isTouchContextMenu.current = false;\n setMode(\"touch\");\n };\n\n const handleMouseMove = (): void => {\n if (\n isTouchContextMenu.current ||\n Date.now() - lastTouchTime.current < TOUCH_TIMEOUT\n ) {\n isTouchContextMenu.current = false;\n return;\n }\n\n enableMouseMode();\n };\n const handleContextMenu = (): void => {\n isTouchContextMenu.current = true;\n };\n\n const className = `rmd-${mode}-mode`;\n document.body.classList.add(className);\n window.addEventListener(\"touchstart\", handleTouchStart, true);\n if (mode === \"mouse\") {\n window.addEventListener(\"keydown\", enableKeyboardMode, true);\n } else if (mode === \"keyboard\") {\n window.addEventListener(\"mousedown\", enableMouseMode, true);\n } else {\n window.addEventListener(\"mousemove\", handleMouseMove, true);\n window.addEventListener(\"contextmenu\", handleContextMenu, true);\n }\n\n return () => {\n document.body.classList.remove(className);\n window.removeEventListener(\"touchstart\", handleTouchStart, true);\n if (mode === \"mouse\") {\n window.removeEventListener(\"keydown\", enableKeyboardMode, true);\n } else if (mode === \"keyboard\") {\n window.removeEventListener(\"mousedown\", enableMouseMode, true);\n } else {\n window.removeEventListener(\"mousemove\", handleMouseMove, true);\n window.removeEventListener(\"contextmenu\", handleContextMenu, true);\n }\n };\n }, [mode]);\n\n const value = useMemo<UserInteractionModeContext>(\n () => ({\n mode,\n __root: true,\n }),\n [mode]\n );\n return <Provider value={value}>{children}</Provider>;\n}\n"],"names":["createContext","useContext","useEffect","useMemo","useRef","useState","context","__root","mode","displayName","Provider","useUserInteractionMode","TOUCH_TIMEOUT","UserInteractionModeProvider","props","children","Error","setMode","lastTouchTime","isTouchContextMenu","enableMouseMode","enableKeyboardMode","handleTouchStart","current","Date","now","handleMouseMove","handleContextMenu","className","document","body","classList","add","window","addEventListener","remove","removeEventListener","value"],"mappings":"AAAA;;AAEA,SAGEA,aAAa,EACbC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,QAAQ;AAiBf,MAAMC,wBAAUN,cAA0C;IACxDO,QAAQ;IACRC,MAAM;AACR;AACAF,QAAQG,WAAW,GAAG;AACtB,MAAM,EAAEC,QAAQ,EAAE,GAAGJ;AAErB;;CAEC,GACD,OAAO,SAASK;IACd,OAAOV,WAAWK,SAASE,IAAI;AACjC;AAEA,cAAc,GACd,MAAMI,gBAAgB;AAMtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCC,GACD,OAAO,SAASC,4BACdC,KAAuC;IAEvC,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IACrB,MAAM,EAAEP,MAAM,EAAE,GAAGN,WAAWK;IAC9B,IAAIC,QAAQ;QACV,MAAM,IAAIS,MACR;IAEJ;IAEA,MAAM,CAACR,MAAMS,QAAQ,GAAGZ,SAA8B;IACtD,MAAMa,gBAAgBd,OAAO;IAC7B,MAAMe,qBAAqBf,OAAO;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCC,GACDF,UAAU;QACR,MAAMkB,kBAAkB;YACtBH,QAAQ;QACV;QACA,MAAMI,qBAAqB;YACzBJ,QAAQ;QACV;QAEA,MAAMK,mBAAmB;YACvBJ,cAAcK,OAAO,GAAGC,KAAKC,GAAG;YAChCN,mBAAmBI,OAAO,GAAG;YAC7BN,QAAQ;QACV;QAEA,MAAMS,kBAAkB;YACtB,IACEP,mBAAmBI,OAAO,IAC1BC,KAAKC,GAAG,KAAKP,cAAcK,OAAO,GAAGX,eACrC;gBACAO,mBAAmBI,OAAO,GAAG;gBAC7B;YACF;YAEAH;QACF;QACA,MAAMO,oBAAoB;YACxBR,mBAAmBI,OAAO,GAAG;QAC/B;QAEA,MAAMK,YAAY,CAAC,IAAI,EAAEpB,KAAK,KAAK,CAAC;QACpCqB,SAASC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACJ;QAC5BK,OAAOC,gBAAgB,CAAC,cAAcZ,kBAAkB;QACxD,IAAId,SAAS,SAAS;YACpByB,OAAOC,gBAAgB,CAAC,WAAWb,oBAAoB;QACzD,OAAO,IAAIb,SAAS,YAAY;YAC9ByB,OAAOC,gBAAgB,CAAC,aAAad,iBAAiB;QACxD,OAAO;YACLa,OAAOC,gBAAgB,CAAC,aAAaR,iBAAiB;YACtDO,OAAOC,gBAAgB,CAAC,eAAeP,mBAAmB;QAC5D;QAEA,OAAO;YACLE,SAASC,IAAI,CAACC,SAAS,CAACI,MAAM,CAACP;YAC/BK,OAAOG,mBAAmB,CAAC,cAAcd,kBAAkB;YAC3D,IAAId,SAAS,SAAS;gBACpByB,OAAOG,mBAAmB,CAAC,WAAWf,oBAAoB;YAC5D,OAAO,IAAIb,SAAS,YAAY;gBAC9ByB,OAAOG,mBAAmB,CAAC,aAAahB,iBAAiB;YAC3D,OAAO;gBACLa,OAAOG,mBAAmB,CAAC,aAAaV,iBAAiB;gBACzDO,OAAOG,mBAAmB,CAAC,eAAeT,mBAAmB;YAC/D;QACF;IACF,GAAG;QAACnB;KAAK;IAET,MAAM6B,QAAQlC,QACZ,IAAO,CAAA;YACLK;YACAD,QAAQ;QACV,CAAA,GACA;QAACC;KAAK;IAER,qBAAO,KAACE;QAAS2B,OAAOA;kBAAQtB;;AAClC"}
1
+ {"version":3,"sources":["../../src/interaction/UserInteractionModeProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type ReactElement,\n type ReactNode,\n createContext,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\n/**\n * This is the current mode for how your user is interacting with your app. This\n * will be used to determine which type of state styles should be applied at the\n * time of interacting with an element on your page.\n *\n * @defaultValue `\"mouse\"`\n */\nexport type UserInteractionMode = \"keyboard\" | \"mouse\" | \"touch\";\n\n/** @internal */\ninterface UserInteractionModeContext {\n __root: boolean;\n mode: UserInteractionMode;\n}\n\nconst context = createContext<UserInteractionModeContext>({\n __root: false,\n mode: \"mouse\",\n});\ncontext.displayName = \"UserInteractionMode\";\nconst { Provider } = context;\n\n/**\n * @returns the current user interaction mode\n */\nexport function useUserInteractionMode(): UserInteractionMode {\n return useContext(context).mode;\n}\n\n/** @internal */\nconst TOUCH_TIMEOUT = 1200;\n\nexport interface UserInteractionModeProviderProps {\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * This component is used to determine how a user is interacting with your app\n * to update component functionality and applying the following class names to\n * the `document.body`:\n *\n * - `\"rmd-mouse-mode\"`\n * - `\"rmd-keyboard-mode\"`\n * - `\"rmd-touch-mode\"`\n *\n * Within `react-md`, these classes are used for the following behavior:\n * - only display `:focus` outlines while in `\"rmd-keyboard-mode\"`\n * - do not display `:hover` effects while in `\"rmd-touch-mode\"`\n *\n * @example Mount at the root of your app\n * ```tsx\n * import { createRoot } from \"react-dom/client\";\n * import { UserInteractionModeProvider } from \"@react-md/core/interaction/UserInteractionModeProvider\";\n * import App from \"./App\":\n *\n * const container = document.getElementById(\"root\");\n * const root = createRoot(container);\n *\n * root.render(\n * <UserInteractionModeProvider>\n * <App />\n * </UserInteractionModeProvider>\n * );\n * ```\n *\n * @throws \"The `UserInteractionModeProvider` cannot be mounted multiple times.\"\n * if this component is mounted multiple times in your app.\n */\nexport function UserInteractionModeProvider(\n props: UserInteractionModeProviderProps\n): ReactElement {\n const { children } = props;\n const { __root } = useContext(context);\n if (__root) {\n throw new Error(\n \"The `UserInteractionModeProvider` cannot be mounted multiple times.\"\n );\n }\n\n const [mode, setMode] = useState<UserInteractionMode>(\"mouse\");\n const lastTouchTime = useRef(0);\n const isTouchContextMenu = useRef(false);\n\n /**\n * This effect helps determine the current interaction mode by attaching the\n * required event listeners to the window. The `mode` will always be defaulted\n * to `mouse` at first since it has the least possibilities of causing errors\n * with styles since the mouse-only styles are normally just `:hover` effects.\n *\n * ## Switching between modes:\n *\n * ### While in `mouse` mode:\n *\n * - any `keydown` event will switch to `keyboard` mode\n * - this does have the side effect of meta keys also causing the switch over,\n * but it feels fine since it helps show the current focus in the document\n * as well\n * - any `touchstart` event will switch to `touch` mode\n *\n * ### While in `keyboard` mode:\n *\n * - any `mousedown` event will switch to `mouse` mode\n * - it is perfectly okay to move the mouse while in keyboard mode, but still\n * want to keep the keyboard styles until the user actually starts clicking\n * - any `touchstart` event will switch to `touch` mode\n *\n * ### While in `touch` mode:\n *\n * - any `mousemove` event will switch to `mouse` mode, but **only** if there\n * hasn't been a `contextmenu` event within the last `1.2s`\n * - you can really only switch back to `mouse` mode if you are using the\n * devtools to emulate devices OR using a touch-desktop. I don't know how\n * common this really is though.\n * - touching the screen will always fire a `mousemove` event (which is why\n * the `:hover` styles are normally with `rmd-utils-mouse-only`) and even\n * after the `contextmenu` event. Normally want to go back to `mouse` mode\n * when the mouse re-enters the `window`\n *\n * Note: It's currently impossible to switch from `touch` to `keyboard`\n * immediately. You'd first need to switch to `mouse` and then to `keyboard`. I\n * don't really know of any use-cases other than the weird touch-desktop stuff\n * and I have no experience using them.\n */\n useEffect(() => {\n const enableMouseMode = (): void => {\n setMode(\"mouse\");\n };\n const enableKeyboardMode = (): void => {\n setMode(\"keyboard\");\n };\n\n const handleTouchStart = (): void => {\n lastTouchTime.current = Date.now();\n isTouchContextMenu.current = false;\n setMode(\"touch\");\n };\n\n const handleMouseMove = (): void => {\n if (\n isTouchContextMenu.current ||\n Date.now() - lastTouchTime.current < TOUCH_TIMEOUT\n ) {\n isTouchContextMenu.current = false;\n return;\n }\n\n enableMouseMode();\n };\n const handleContextMenu = (): void => {\n isTouchContextMenu.current = true;\n };\n\n const className = `rmd-${mode}-mode`;\n document.body.classList.add(className);\n window.addEventListener(\"touchstart\", handleTouchStart, true);\n if (mode === \"mouse\") {\n window.addEventListener(\"keydown\", enableKeyboardMode, true);\n } else if (mode === \"keyboard\") {\n window.addEventListener(\"mousedown\", enableMouseMode, true);\n } else {\n window.addEventListener(\"mousemove\", handleMouseMove, true);\n window.addEventListener(\"contextmenu\", handleContextMenu, true);\n }\n\n return () => {\n document.body.classList.remove(className);\n window.removeEventListener(\"touchstart\", handleTouchStart, true);\n if (mode === \"mouse\") {\n window.removeEventListener(\"keydown\", enableKeyboardMode, true);\n } else if (mode === \"keyboard\") {\n window.removeEventListener(\"mousedown\", enableMouseMode, true);\n } else {\n window.removeEventListener(\"mousemove\", handleMouseMove, true);\n window.removeEventListener(\"contextmenu\", handleContextMenu, true);\n }\n };\n }, [mode]);\n\n const value = useMemo<UserInteractionModeContext>(\n () => ({\n mode,\n __root: true,\n }),\n [mode]\n );\n return <Provider value={value}>{children}</Provider>;\n}\n"],"names":["createContext","useContext","useEffect","useMemo","useRef","useState","context","__root","mode","displayName","Provider","useUserInteractionMode","TOUCH_TIMEOUT","UserInteractionModeProvider","props","children","Error","setMode","lastTouchTime","isTouchContextMenu","enableMouseMode","enableKeyboardMode","handleTouchStart","current","Date","now","handleMouseMove","handleContextMenu","className","document","body","classList","add","window","addEventListener","remove","removeEventListener","value"],"mappings":"AAAA;;AAEA,SAGEA,aAAa,EACbC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,QAAQ;AAiBf,MAAMC,wBAAUN,cAA0C;IACxDO,QAAQ;IACRC,MAAM;AACR;AACAF,QAAQG,WAAW,GAAG;AACtB,MAAM,EAAEC,QAAQ,EAAE,GAAGJ;AAErB;;CAEC,GACD,OAAO,SAASK;IACd,OAAOV,WAAWK,SAASE,IAAI;AACjC;AAEA,cAAc,GACd,MAAMI,gBAAgB;AAMtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCC,GACD,OAAO,SAASC,4BACdC,KAAuC;IAEvC,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IACrB,MAAM,EAAEP,MAAM,EAAE,GAAGN,WAAWK;IAC9B,IAAIC,QAAQ;QACV,MAAM,IAAIS,MACR;IAEJ;IAEA,MAAM,CAACR,MAAMS,QAAQ,GAAGZ,SAA8B;IACtD,MAAMa,gBAAgBd,OAAO;IAC7B,MAAMe,qBAAqBf,OAAO;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCC,GACDF,UAAU;QACR,MAAMkB,kBAAkB;YACtBH,QAAQ;QACV;QACA,MAAMI,qBAAqB;YACzBJ,QAAQ;QACV;QAEA,MAAMK,mBAAmB;YACvBJ,cAAcK,OAAO,GAAGC,KAAKC,GAAG;YAChCN,mBAAmBI,OAAO,GAAG;YAC7BN,QAAQ;QACV;QAEA,MAAMS,kBAAkB;YACtB,IACEP,mBAAmBI,OAAO,IAC1BC,KAAKC,GAAG,KAAKP,cAAcK,OAAO,GAAGX,eACrC;gBACAO,mBAAmBI,OAAO,GAAG;gBAC7B;YACF;YAEAH;QACF;QACA,MAAMO,oBAAoB;YACxBR,mBAAmBI,OAAO,GAAG;QAC/B;QAEA,MAAMK,YAAY,CAAC,IAAI,EAAEpB,KAAK,KAAK,CAAC;QACpCqB,SAASC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACJ;QAC5BK,OAAOC,gBAAgB,CAAC,cAAcZ,kBAAkB;QACxD,IAAId,SAAS,SAAS;YACpByB,OAAOC,gBAAgB,CAAC,WAAWb,oBAAoB;QACzD,OAAO,IAAIb,SAAS,YAAY;YAC9ByB,OAAOC,gBAAgB,CAAC,aAAad,iBAAiB;QACxD,OAAO;YACLa,OAAOC,gBAAgB,CAAC,aAAaR,iBAAiB;YACtDO,OAAOC,gBAAgB,CAAC,eAAeP,mBAAmB;QAC5D;QAEA,OAAO;YACLE,SAASC,IAAI,CAACC,SAAS,CAACI,MAAM,CAACP;YAC/BK,OAAOG,mBAAmB,CAAC,cAAcd,kBAAkB;YAC3D,IAAId,SAAS,SAAS;gBACpByB,OAAOG,mBAAmB,CAAC,WAAWf,oBAAoB;YAC5D,OAAO,IAAIb,SAAS,YAAY;gBAC9ByB,OAAOG,mBAAmB,CAAC,aAAahB,iBAAiB;YAC3D,OAAO;gBACLa,OAAOG,mBAAmB,CAAC,aAAaV,iBAAiB;gBACzDO,OAAOG,mBAAmB,CAAC,eAAeT,mBAAmB;YAC/D;QACF;IACF,GAAG;QAACnB;KAAK;IAET,MAAM6B,QAAQlC,QACZ,IAAO,CAAA;YACLK;YACAD,QAAQ;QACV,CAAA,GACA;QAACC;KAAK;IAER,qBAAO,KAACE;QAAS2B,OAAOA;kBAAQtB;;AAClC"}
@@ -1,3 +1,7 @@
1
+ ////
2
+ /// @group interaction
3
+ ////
4
+
1
5
  @use "sass:map";
2
6
  @use "sass:list";
3
7
  @use "../utils";
@@ -5,22 +9,71 @@
5
9
  @use "../theme/theme";
6
10
  @use "../transition/transition";
7
11
 
8
- /// ripple | press | both | none
12
+ /// This should be one of:
13
+ /// - `ripple`
14
+ /// - `press`
15
+ /// - `both`
16
+ /// - `none`
17
+ ///
18
+ /// @type String
9
19
  $mode: ripple !default;
10
- $disable-surface: false !default;
11
- $disable-outline-offset: false !default;
12
- $disable-focus-background: false !default;
13
- $disable-ripple-inset-var: false !default;
14
- $disable-ripple-border-radius-var: false !default;
15
- $disable-surface-inset-var: $disable-surface !default;
16
- $disable-surface-border-radius-var: $disable-surface !default;
17
20
 
18
- $_disable-ripple: not
21
+ /// Convenience feature flag check for ripples
22
+ /// @type Boolean
23
+ $disable-ripple: not
19
24
  list.index(
20
25
  (ripple, both),
21
26
  utils.validate((ripple, press, both, none), $mode, "interaction mode")
22
27
  );
23
28
 
29
+ /// Set to `true` if the interaction surface styles should not be created. This
30
+ /// includes the:
31
+ ///
32
+ /// - `.rmd-interaction-surface` class
33
+ /// - `use-light-surface` and `use-dark-surface` mixins
34
+ /// - `hover-background-color`
35
+ /// - `focus-background-color`
36
+ /// - `press-background-color`
37
+ /// - `selected-background-color`
38
+ ///
39
+ /// @type Boolean
40
+ $disable-surface: false !default;
41
+
42
+ /// Set to `true` if the `outline` styles should not also apply an
43
+ /// `outline-offset`.
44
+ /// @type Boolean
45
+ $disable-outline-offset: false !default;
46
+
47
+ /// Set to `true` if the default focus styles should not also change the
48
+ /// background color of the element.
49
+ ///
50
+ /// @type Boolean
51
+ $disable-focus-background: false !default;
52
+
53
+ /// Set to `true` if not using the interaction ripple behavior.
54
+ /// @type Boolean
55
+ $disable-ripple-inset-var: $disable-ripple !default;
56
+
57
+ /// Set to `true` if not using the interaction ripple behavior.
58
+ /// @type Boolean
59
+ $disable-ripple-border-radius-var: $disable-ripple !default;
60
+
61
+ /// Set this to `true` if the interaction surface background inset should not
62
+ /// be configurable through custom CSS properties.
63
+ ///
64
+ /// @type Boolean
65
+ $disable-surface-inset-var: $disable-surface !default;
66
+
67
+ /// Set this to `true` if the interaction surface border-radius should not be
68
+ /// configurable through custom CSS properties.
69
+ ///
70
+ /// @type Boolean
71
+ $disable-surface-border-radius-var: $disable-surface !default;
72
+
73
+ /// The class name to apply while an element is pressed and using the
74
+ /// `useElementInteraction` hook.
75
+ ///
76
+ /// @type String
24
77
  $pressed-class-name: "rmd-pressed";
25
78
 
26
79
  /// Setting this value to `true` will update the styles for all interactable
@@ -36,88 +89,192 @@ $pressed-class-name: "rmd-pressed";
36
89
  /// This helps improve the legibility of the content since the normal
37
90
  /// interaction states apply an overlay with some opacity for the different
38
91
  /// states.
92
+ ///
93
+ /// @type Boolean
39
94
  $disable-higher-contrast: false !default;
95
+
96
+ /// The base interaction background color to apply when an element is on a
97
+ /// light surface.
98
+ /// @type Color
40
99
  $light-surface-base-background-color: #000 !default;
100
+
101
+ /// The base interaction background color to apply when an element is on a
102
+ /// dark surface.
103
+ /// @type Color
41
104
  $dark-surface-base-background-color: #fff !default;
42
105
 
106
+ /// The default color to use while elements are focused.
107
+ /// @type Color
43
108
  $focus-color: colors.$blue-500 !default;
109
+
110
+ /// The default outline/box-shadow width while elements are focused.
111
+ /// @type Number
44
112
  $focus-width: 0.125rem !default;
113
+
114
+ /// Set to `true` if focus behavior should use `box-shadow` instead of
115
+ /// `outline`.
116
+ /// @type Boolean
45
117
  $focus-box-shadow: false !default;
46
118
 
119
+ /// The base interaction background color to apply when an element is on a
120
+ /// light surface.
121
+ /// @type Color
47
122
  $light-surface-ripple-background-color: rgba(
48
123
  $light-surface-base-background-color,
49
124
  0.08
50
125
  ) !default;
126
+ /// The base interaction background color to apply when an element is on a
127
+ /// light surface.
128
+ /// @type Color
51
129
  $dark-surface-ripple-background-color: rgba(
52
130
  $dark-surface-base-background-color,
53
131
  0.12
54
132
  ) !default;
133
+
134
+ /// The default background color for interaction ripples.
135
+ /// @type Color
55
136
  $ripple-background-color: theme.get-default-color(
56
137
  $light-surface-ripple-background-color,
57
138
  $dark-surface-ripple-background-color
58
139
  ) !default;
140
+
141
+ /// The ripple animation duration.
142
+ /// @type Number
59
143
  $ripple-transform-duration: 0.45s !default;
144
+
145
+ /// The ripple opacity animation duration. This should normally be shorter than
146
+ /// the `$ripple-transform-duration` so the ripple is fully visible before the
147
+ /// transition completes.
148
+ ///
149
+ /// @type Number
60
150
  $ripple-opacity-duration: 0.3s !default;
61
151
 
152
+ /// The `opacity` to apply while hovering an element on a light surface.
153
+ /// @see $light-surface-hover-background-color
154
+ /// @type Number
62
155
  $light-surface-hover-opacity: 0.08 !default;
156
+
157
+ /// The `opacity` to apply while focusing an element on a light surface.
158
+ /// @see $light-surface-focus-background-color
159
+ /// @type Number
63
160
  $light-surface-focus-opacity: 0.24 !default;
161
+
162
+ /// The `opacity` to apply while pressing an element on a light surface.
163
+ /// @see $light-surface-press-background-color
164
+ /// @type Number
64
165
  $light-surface-press-opacity: 0.32 !default;
166
+
167
+ /// The `opacity` to apply while an element is selected on a light surface.
168
+ /// @see $light-surface-selected-background-color
169
+ /// @type Number
65
170
  $light-surface-selected-opacity: 0.16 !default;
171
+
172
+ /// The background color for an element while hovered on a light surface.
173
+ /// @type Color
66
174
  $light-surface-hover-background-color: rgba(
67
175
  $light-surface-base-background-color,
68
176
  $light-surface-hover-opacity
69
177
  ) !default;
178
+
179
+ /// The background color for an element while focused on a light surface.
180
+ /// @type Color
70
181
  $light-surface-focus-background-color: rgba(
71
182
  $light-surface-base-background-color,
72
183
  $light-surface-focus-opacity
73
184
  ) !default;
185
+
186
+ /// The background color for an element while pressed on a light surface.
187
+ /// @type Color
74
188
  $light-surface-press-background-color: rgba(
75
189
  $light-surface-base-background-color,
76
190
  $light-surface-press-opacity
77
191
  ) !default;
192
+
193
+ /// The background color for a selected element on a light surface.
194
+ /// @type Color
78
195
  $light-surface-selected-background-color: rgba(
79
196
  $light-surface-base-background-color,
80
197
  $light-surface-selected-opacity
81
198
  ) !default;
82
199
 
200
+ /// The `opacity` to apply while hovering an element on a dark surface.
201
+ /// @see $dark-surface-hover-background-color
202
+ /// @type Number
83
203
  $dark-surface-hover-opacity: 0.1 !default;
204
+
205
+ /// The `opacity` to apply while focusing an element on a dark surface.
206
+ /// @see $dark-surface-hover-background-color
207
+ /// @type Number
84
208
  $dark-surface-focus-opacity: 0.12 !default;
209
+
210
+ /// The `opacity` to apply while pressing an element on a dark surface.
211
+ /// @see $dark-surface-hover-background-color
212
+ /// @type Number
85
213
  $dark-surface-press-opacity: 0.24 !default;
214
+ /// The `opacity` to apply while hovering an element on a dark surface.
215
+ /// @see $dark-surface-hover-background-color
216
+ /// @type Number
86
217
  $dark-surface-selected-opacity: 0.12 !default;
218
+
219
+ /// The background color for an element while hovered on a dark surface.
220
+ /// @type Color
87
221
  $dark-surface-hover-background-color: rgba(
88
222
  $dark-surface-base-background-color,
89
223
  $dark-surface-hover-opacity
90
224
  ) !default;
225
+
226
+ /// The background color for an element while focused on a dark surface.
227
+ /// @type Color
91
228
  $dark-surface-focus-background-color: rgba(
92
229
  $dark-surface-base-background-color,
93
230
  $dark-surface-focus-opacity
94
231
  ) !default;
232
+
233
+ /// The background color for an element while pressed on a dark surface.
234
+ /// @type Color
95
235
  $dark-surface-press-background-color: rgba(
96
236
  $dark-surface-base-background-color,
97
237
  $dark-surface-press-opacity
98
238
  ) !default;
239
+
240
+ /// The background color for a selected element on a dark surface.
241
+ /// @type Color
99
242
  $dark-surface-selected-background-color: rgba(
100
243
  $dark-surface-base-background-color,
101
244
  $dark-surface-selected-opacity
102
245
  ) !default;
103
246
 
247
+ /// The default background color for an element while hovered.
248
+ /// @type Color
104
249
  $hover-background-color: theme.get-default-color(
105
250
  $light-surface-hover-background-color,
106
251
  $dark-surface-hover-background-color
107
252
  ) !default;
253
+
254
+ /// The default background color for an element while focused.
255
+ /// @type Color
108
256
  $focus-background-color: theme.get-default-color(
109
257
  $light-surface-focus-background-color,
110
258
  $dark-surface-focus-background-color
111
259
  ) !default;
260
+
261
+ /// The default background color for an element while pressed.
262
+ /// @type Color
112
263
  $press-background-color: theme.get-default-color(
113
264
  $light-surface-press-background-color,
114
265
  $dark-surface-press-background-color
115
266
  ) !default;
267
+
268
+ /// The default background color for an element while selected.
269
+ /// @type Color
116
270
  $selected-background-color: theme.get-default-color(
117
271
  $light-surface-selected-background-color,
118
272
  $dark-surface-selected-background-color
119
273
  ) !default;
120
274
 
275
+ /// The available configurable css variables and mostly used internally for the
276
+ /// `get-var`, `set-var`, and `use-var` utils.
277
+ /// @type List
121
278
  $variables: (
122
279
  background-color,
123
280
  hover-background-color,
@@ -133,6 +290,11 @@ $variables: (
133
290
  surface-border-radius
134
291
  );
135
292
 
293
+ /// Used to check if a variable is disabled based on feature flags.
294
+ ///
295
+ /// @access private
296
+ /// @param {String} name - The var name
297
+ /// @returns {Boolean} true if the variable is disabled
136
298
  @function _is-var-disabled($name) {
137
299
  @if $name == ripple-inset {
138
300
  @return $disable-ripple-inset-var;
@@ -153,6 +315,9 @@ $variables: (
153
315
  @return false;
154
316
  }
155
317
 
318
+ /// @param {String} name - The supported variable name
319
+ /// @param {any} fallback [null] - An optional fallback value
320
+ /// @returns {String} a `var()` statement
156
321
  @function get-var($name, $fallback: null) {
157
322
  // cannot set a custom property to `inherit` for some reason. It will not be parsed.
158
323
  @if not
@@ -175,6 +340,9 @@ $variables: (
175
340
  @return var(#{$var});
176
341
  }
177
342
 
343
+ /// @param {String} name - The supported variable name
344
+ /// @param {any} value - The value to set the variable to. Supports `null` which
345
+ /// will just be a no-op.
178
346
  @mixin set-var($name, $value) {
179
347
  @if _is-var-disabled($name) {
180
348
  @error '"#{$name}" is currently disabled and cannot be changed. Set "$disable-#{$name}-var" to `true` or remove it from the Sass module overrides.';
@@ -185,10 +353,24 @@ $variables: (
185
353
  }
186
354
  }
187
355
 
356
+ /// @param {String} property - The css property to apply the variable to
357
+ /// @param {String} name [$property] - The supported variable name
358
+ /// @param {any} fallback [null] - An optional fallback value if the variable
359
+ /// has not been set
188
360
  @mixin use-var($property, $name: $property, $fallback: null) {
189
361
  #{$property}: get-var($name, $fallback);
190
362
  }
191
363
 
364
+ /// This mixin is used to apply interaction state colors that are visible on
365
+ /// a light surface color.
366
+ ///
367
+ /// @example scss - Example Usage SCSS
368
+ /// .container {
369
+ /// background-color: #fff;
370
+ ///
371
+ /// @include use-light-surface;
372
+ /// }
373
+ ///
192
374
  @mixin use-light-surface {
193
375
  @if not $disable-surface {
194
376
  @include set-var(
@@ -209,7 +391,7 @@ $variables: (
209
391
  );
210
392
  }
211
393
 
212
- @if not $_disable-ripple {
394
+ @if not $disable-ripple {
213
395
  @include set-var(
214
396
  ripple-background-color,
215
397
  $light-surface-ripple-background-color
@@ -217,6 +399,16 @@ $variables: (
217
399
  }
218
400
  }
219
401
 
402
+ /// This mixin is used to apply interaction state colors that are visible on
403
+ /// a dark surface color.
404
+ ///
405
+ /// @example scss - Example Usage SCSS
406
+ /// .container {
407
+ /// background-color: #000;
408
+ ///
409
+ /// @include use-dark-surface;
410
+ /// }
411
+ ///
220
412
  @mixin use-dark-surface {
221
413
  @if not $disable-surface {
222
414
  @include set-var(
@@ -237,7 +429,7 @@ $variables: (
237
429
  );
238
430
  }
239
431
 
240
- @if not $_disable-ripple {
432
+ @if not $disable-ripple {
241
433
  @include set-var(
242
434
  ripple-background-color,
243
435
  $dark-surface-ripple-background-color
@@ -245,6 +437,21 @@ $variables: (
245
437
  }
246
438
  }
247
439
 
440
+ /// This mixin should only be used when not using the `surface`
441
+ /// mixin.
442
+ ///
443
+ /// @example scss - Example Usage SCSS
444
+ /// .link {
445
+ /// @include outline;
446
+ /// }
447
+ ///
448
+ /// @param {Boolean} box-shadow [$focus-box-shadow] - Set this to `true` to
449
+ /// disable the `outline` styles when using `box-shadow` instead.
450
+ /// @param {Color} color [transparent] - The outline color to use by default
451
+ /// @param {Boolean} outline-offset [not $disable-outline-offset] - Set to
452
+ /// `true` if the `outline-offset` property should also be set to match how
453
+ /// box shadow would have been applied.
454
+ /// @see surface
248
455
  @mixin outline(
249
456
  $box-shadow: $focus-box-shadow,
250
457
  $color: transparent,
@@ -263,6 +470,22 @@ $variables: (
263
470
  }
264
471
  }
265
472
 
473
+ /// This mixin should only be used when not using the `surface`
474
+ /// mixin.
475
+ ///
476
+ /// @example scss - Example Usage SCSS
477
+ /// .link {
478
+ /// &:focus-visible {
479
+ /// @include focus-styles($disable-background: true);
480
+ /// }
481
+ /// }
482
+ ///
483
+ /// @param {Boolean} $box-shadow [$focus-box-shadow] - Set to `true` if using
484
+ /// `box-shadow` instead of `outline` styles for focus states.
485
+ /// @param {Boolean} $disable-background [$disable-focus-background] - Set to
486
+ /// `true` if the `background-color` should not change while the element is
487
+ /// focused.
488
+ /// @see surface
266
489
  @mixin focus-styles(
267
490
  $box-shadow: $focus-box-shadow,
268
491
  $disable-background: $disable-focus-background
@@ -278,6 +501,13 @@ $variables: (
278
501
  }
279
502
  }
280
503
 
504
+ /// This mixin should only be used when not using the `surface`
505
+ /// mixin.
506
+ ///
507
+ /// @param {Boolean} $clickable [true] - Set to `false` if the `cursor: auto`
508
+ /// styles should not be applied.
509
+ /// @param {Boolean} $hoverable [true] - Set to `false` if the element was not
510
+ /// hoverable.
281
511
  @mixin surface-disabled($clickable: true, $hoverable: true) {
282
512
  @if $clickable {
283
513
  cursor: auto;
@@ -290,6 +520,37 @@ $variables: (
290
520
  }
291
521
  }
292
522
 
523
+ /// Creates a "surface" for an interactable element that:
524
+ /// - applies a focus outline/box-shadow
525
+ /// - applies different background colors based on the `focus` and `hover` states
526
+ /// - applies styles based on if the element is clickable
527
+ /// - applies styles if the element is disabled
528
+ ///
529
+ /// @example scss - Example Usage SCSS
530
+ /// .container {
531
+ /// display: flex;
532
+ ///
533
+ /// @include surface;
534
+ /// }
535
+ ///
536
+ /// @param {String} $focus-selector ["&:focus" + if(utils.disable-focus-visible, "", "-visible")] -
537
+ /// The selector to use indicating the element has been focused.
538
+ /// @param {Boolean} $keyboard-only-focus [utils.$disable-focus-visible] -
539
+ /// @param {String} $disabled-selector ["&:disabled"] - The selector to use
540
+ /// indicating the element is disabled.
541
+ /// @param {Boolean} $clickable [true] - Set to `false` if the element should
542
+ /// not gain the `cursor: pointer` styles.
543
+ /// @param {Boolean} $hoverable [true] - Set to `false` if the element should
544
+ /// not apply styles for changing the background color while hovering.
545
+ /// @param {Boolean} $css-modules [false] - Set to `true` if this mixin is
546
+ /// being used within CSS modules to fix the global name spacing of classes.
547
+ /// @param {Boolean} $higher-contrast [true] - Set to `false` if all child
548
+ /// elements should no longer gain a `z-index: 1` to appear above the
549
+ /// background styles.
550
+ /// @param {Boolean} $box-shadow [$focus-box-shadow] - Set to `true` if using
551
+ /// focus box shadow behavior instead of outlines
552
+ /// @param {Boolean} $disable-background [$disable-focus-background] - Set to
553
+ /// `true` to disable the focus background color styles.
293
554
  @mixin surface(
294
555
  $focus-selector: "&:focus" + if(utils.$disable-focus-visible, "", "-visible"),
295
556
  $keyboard-only-focus: utils.$disable-focus-visible,
@@ -364,6 +625,7 @@ $variables: (
364
625
  }
365
626
  }
366
627
 
628
+ /// Conditionally applies the css variables based on feature flags
367
629
  @mixin variables {
368
630
  @include set-var(focus-color, $focus-color);
369
631
  @include set-var(focus-width, $focus-width);
@@ -375,7 +637,7 @@ $variables: (
375
637
  @include set-var(selected-background-color, $selected-background-color);
376
638
  }
377
639
 
378
- @if not $_disable-ripple {
640
+ @if not $disable-ripple {
379
641
  @include set-var(ripple-background-color, $ripple-background-color);
380
642
  @include set-var(ripple-inset, 0);
381
643
  }
@@ -385,9 +647,13 @@ $variables: (
385
647
  }
386
648
  }
387
649
 
650
+ /// Generates all the styles based on feature flags.
651
+ ///
652
+ /// @param {Boolean} disable-layer [false] - Set this to `true` to disable the
653
+ /// layer behavior
388
654
  @mixin styles($disable-layer: false) {
389
655
  @include utils.optional-layer(interaction, $disable-layer) {
390
- @if not $_disable-ripple {
656
+ @if not $disable-ripple {
391
657
  .rmd-ripple-container {
392
658
  @include use-var(border-radius, ripple-border-radius);
393
659
  @include use-var(inset, ripple-inset);
@@ -43,6 +43,7 @@ export interface LayoutAppBarProps extends AppBarProps {
43
43
  * }
44
44
  * ```
45
45
  *
46
+ * @see {@link https://next.react-md.dev/getting-started/layout | Layout Demos}
46
47
  * @since 6.0.0 This component no longer renders the `LayoutNavToggle` and
47
48
  * `LayoutAppBarTitle` since they no longer exist. The only purpose of this
48
49
  * component is to dynamically set the `--rmd-layout-header-height` variable.
@@ -35,6 +35,7 @@ import { useLayoutAppBarHeight } from "./useLayoutAppBarHeight.js";
35
35
  * }
36
36
  * ```
37
37
  *
38
+ * @see {@link https://next.react-md.dev/getting-started/layout | Layout Demos}
38
39
  * @since 6.0.0 This component no longer renders the `LayoutNavToggle` and
39
40
  * `LayoutAppBarTitle` since they no longer exist. The only purpose of this
40
41
  * component is to dynamically set the `--rmd-layout-header-height` variable.