@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 +1 @@
1
- {"version":3,"sources":["../../src/utils/RenderRecursively.tsx"],"sourcesContent":["// TODO: Figure out how to strictly enforce the data\nimport { type ComponentType, type ReactElement, type ReactNode } from \"react\";\n\n/**\n * @since 6.0.0\n */\nexport type RecursiveItem<T = Record<string, unknown>> = T & {\n items?: readonly RecursiveItem<T>[];\n};\n\n/**\n * @since 6.0.0\n */\nexport interface RecursiveItemKeyOptions<Item = Record<string, unknown>> {\n item: RecursiveItem<Item>;\n depth: number;\n index: number;\n}\n\n/**\n * This is the default implementation for {@link RenderRecursivelyProps.getItemKey}.\n *\n * ```ts\n * return `${options.depth}-${options.index}`\n * ```\n *\n * @since 6.0.0\n */\nexport function getRecursiveItemKey<Item = Record<string, unknown>>(\n options: RecursiveItemKeyOptions<Item>\n): string {\n const { depth, index } = options;\n\n return `${depth}-${index}`;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface RenderRecursiveItemsProps<\n Item = Record<string, unknown>,\n Data = unknown,\n> {\n data?: Data;\n\n /**\n * The current item to render.\n */\n item: RecursiveItem<Item>;\n\n /**\n * The list of parent items which can be used to determine the depth or \"share\n * props\" if the items contained props.\n */\n parents: readonly RecursiveItem<Item>[];\n\n /**\n * This will be provided if the {@link item} had child items and will be the\n * rendered content.\n */\n children?: ReactNode;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface RenderRecursivelyProps<\n Item = Record<string, unknown>,\n Data = unknown,\n> {\n data?: Data;\n items: readonly RecursiveItem<Item>[];\n\n /**\n * The renderer for each item.\n */\n render: ComponentType<RenderRecursiveItemsProps<Item, Data>>;\n\n /**\n * This should not be used for external users. This is used to build the\n * {@link RenderRecursiveItemsProps.parents} list.\n *\n * @internal\n * @defaultValue `[]`\n */\n parents?: readonly RecursiveItem<Item>[];\n\n /**\n * Gets a React `key` for a specific item. This should be provided if the\n * items can be moved around to improve performance.\n *\n * @example\n * ```ts\n * getItemKey={({ item }) => item.id}\n * ```\n *\n * @see {@link getRecursiveItemKey}\n * @defaultValue `` ({ index, depth }) => `${depth}-${index}` ``\n */\n getItemKey?: (options: RecursiveItemKeyOptions<Item>) => string;\n}\n\n/**\n * Helper component for recursively rendering specific data structures (mostly\n * trees). The main use-case is for rendering site navigation and the `Tree`\n * component.\n *\n * @example\n * ```tsx\n * \"use client\";\n *\n * import { Box } from \"@react-md/core/box/Box\";\n * import { Button } from \"@react-md/core/button/Button\";\n * import { Divider } from \"@react-md/core/divider/Divider\";\n * import { List } from \"@react-md/core/list/List\";\n * import { useCollapseTransition } from \"@react-md/core/transition/useCollapseTransition\";\n * import {\n * type DefaultTreeItemNode,\n * type TreeData,\n * } from \"@react-md/core/tree/types\";\n * import { type UseStateSetter } from \"@react-md/core/types\";\n * import { useToggle } from \"@react-md/core/useToggle\";\n * import {\n * type RenderRecursiveItemsProps,\n * RenderRecursively,\n * } from \"@react-md/core/utils/RenderRecursively\";\n * import { type ReactElement, useState } from \"react\";\n *\n * interface Data {\n * activeId: string;\n * setActiveId: UseStateSetter<string>;\n * }\n *\n * export default function SimpleExample(): ReactElement {\n * const [activeId, setActiveId] = useState(\"/\");\n * return (\n * <Box fullWidth disableWrap>\n * <Box stacked align=\"stretch\">\n * <RenderRecursively\n * // this is optional and can be any sort of info\n * data={{ activeId, setActiveId }}\n * items={Object.values(navItems)}\n * render={Render}\n * />\n * </Box>\n * <div>Active route: {activeId}</div>\n * </Box>\n * );\n * }\n *\n * const navItems = {\n * \"/\": {\n * href: \"/\",\n * itemId: \"/\",\n * parentId: null,\n * children: \"Home\",\n * },\n * \"/route-1\": {\n * itemId: \"/route-1\",\n * parentId: null,\n * children: \"Collapsible\",\n * },\n * \"/nested-route-1\": {\n * itemId: \"/nested-route-1\",\n * parentId: \"/route-1\",\n * children: \"Child 1\",\n * },\n * \"/nested-route-2\": {\n * itemId: \"/nested-route-2\",\n * parentId: \"/route-2\",\n * children: \"Child 2\",\n * },\n * \"/divider-1\": {\n * itemId: \"/divider-1\",\n * parentId: null,\n * },\n * \"/route-2\": {\n * itemId: \"/route-2\",\n * parentId: null,\n * children: \"Route 2\",\n * },\n * } satisfies TreeData;\n *\n * function Render(\n * props: RenderRecursiveItemsProps<DefaultTreeItemNode, Data>\n * ): ReactElement {\n * const {\n * item,\n * parents,\n * // this is passed down from the root `RenderRecursively`\n * data,\n * // this _might_ be defined based on the implementation. it's set to any\n * // renderable element\n * children: _children,\n * } = props;\n * if (item.itemId.includes(\"divider\")) {\n * return <Divider />;\n * }\n *\n * if (item.items) {\n * return <NestedNavigation {...props} />;\n * }\n *\n * const prefix = parents.map((parent) => parent.itemId).join(\"/\");\n * const currentId = `${prefix}${item.itemId}`;\n * // I haven't figured out how to manage the type safety of this yet\n * const active = data?.activeId === currentId;\n * // this would normally be a link, but to keep the demo simple, it's a button\n * return (\n * <Button\n * theme={active ? \"primary\" : \"clear\"}\n * themeType={active ? \"contained\" : \"flat\"}\n * onClick={() => {\n * data?.setActiveId(currentId);\n * }}\n * style={{ justifyContent: \"flex-start\" }}\n * >\n * {item.children}\n * </Button>\n * );\n * }\n *\n * function NestedNavigation(\n * props: RenderRecursiveItemsProps<DefaultTreeItemNode, Data>\n * ): ReactElement {\n * const {\n * item,\n * parents: _parents,\n * // this is passed down from the root `RenderRecursively`\n * data: _data,\n * children,\n * } = props;\n * const { toggle, toggled: collapsed } = useToggle(false);\n * const { elementProps } = useCollapseTransition({\n * transitionIn: !collapsed,\n * });\n *\n * return (\n * <li>\n * <Button onClick={toggle}>{item.children}</Button>\n * <List {...elementProps}>{children}</List>\n * </li>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport function RenderRecursively<Item, Data>(\n props: RenderRecursivelyProps<Item, Data>\n): ReactElement {\n const {\n data,\n items,\n render: Render,\n getItemKey = getRecursiveItemKey,\n parents = [],\n } = props;\n\n return (\n <>\n {items.map((item, index) => {\n let children: ReactNode;\n const depth = parents.length;\n if (item.items?.length) {\n children = (\n <RenderRecursively\n data={data}\n items={item.items}\n render={Render}\n getItemKey={getItemKey}\n parents={[...parents, item]}\n />\n );\n }\n\n return (\n <Render\n key={getItemKey({ item, depth, index })}\n // typecast since it should be undefined in renderer as well?\n data={data}\n item={item}\n parents={parents}\n >\n {children}\n </Render>\n );\n })}\n </>\n );\n}\n"],"names":["getRecursiveItemKey","options","depth","index","RenderRecursively","props","data","items","render","Render","getItemKey","parents","map","item","children","length"],"mappings":"AAAA,oDAAoD;;AAmBpD;;;;;;;;CAQC,GACD,OAAO,SAASA,oBACdC,OAAsC;IAEtC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IAEzB,OAAO,GAAGC,MAAM,CAAC,EAAEC,OAAO;AAC5B;AAoEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJC,GACD,OAAO,SAASC,kBACdC,KAAyC;IAEzC,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,QAAQC,MAAM,EACdC,aAAaV,mBAAmB,EAChCW,UAAU,EAAE,EACb,GAAGN;IAEJ,qBACE;kBACGE,MAAMK,GAAG,CAAC,CAACC,MAAMV;YAChB,IAAIW;YACJ,MAAMZ,QAAQS,QAAQI,MAAM;YAC5B,IAAIF,KAAKN,KAAK,EAAEQ,QAAQ;gBACtBD,yBACE,KAACV;oBACCE,MAAMA;oBACNC,OAAOM,KAAKN,KAAK;oBACjBC,QAAQC;oBACRC,YAAYA;oBACZC,SAAS;2BAAIA;wBAASE;qBAAK;;YAGjC;YAEA,qBACE,KAACJ;gBAEC,6DAA6D;gBAC7DH,MAAMA;gBACNO,MAAMA;gBACNF,SAASA;0BAERG;eANIJ,WAAW;gBAAEG;gBAAMX;gBAAOC;YAAM;QAS3C;;AAGN"}
1
+ {"version":3,"sources":["../../src/utils/RenderRecursively.tsx"],"sourcesContent":["// TODO: Figure out how to strictly enforce the data\nimport { type ComponentType, type ReactElement, type ReactNode } from \"react\";\n\n/**\n * @since 6.0.0\n */\nexport type RecursiveItem<T = Record<string, unknown>> = T & {\n items?: readonly RecursiveItem<T>[];\n};\n\n/**\n * @since 6.0.0\n */\nexport interface RecursiveItemKeyOptions<Item = Record<string, unknown>> {\n item: RecursiveItem<Item>;\n depth: number;\n index: number;\n}\n\n/**\n * This is the default implementation for {@link RenderRecursivelyProps.getItemKey}.\n *\n * ```ts\n * return `${options.depth}-${options.index}`\n * ```\n *\n * @since 6.0.0\n */\nexport function getRecursiveItemKey<Item = Record<string, unknown>>(\n options: RecursiveItemKeyOptions<Item>\n): string {\n const { depth, index } = options;\n\n return `${depth}-${index}`;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface RenderRecursiveItemsProps<\n Item = Record<string, unknown>,\n Data = unknown,\n> {\n data?: Data;\n\n /**\n * The current item to render.\n */\n item: RecursiveItem<Item>;\n\n /**\n * The list of parent items which can be used to determine the depth or \"share\n * props\" if the items contained props.\n */\n parents: readonly RecursiveItem<Item>[];\n\n /**\n * This will be provided if the {@link item} had child items and will be the\n * rendered content.\n */\n children?: ReactNode;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface RenderRecursivelyProps<\n Item = Record<string, unknown>,\n Data = unknown,\n> {\n data?: Data;\n items: readonly RecursiveItem<Item>[];\n\n /**\n * The renderer for each item.\n */\n render: ComponentType<RenderRecursiveItemsProps<Item, Data>>;\n\n /**\n * This should not be used for external users. This is used to build the\n * {@link RenderRecursiveItemsProps.parents} list.\n *\n * @internal\n * @defaultValue `[]`\n */\n parents?: readonly RecursiveItem<Item>[];\n\n /**\n * Gets a React `key` for a specific item. This should be provided if the\n * items can be moved around to improve performance.\n *\n * @example\n * ```ts\n * getItemKey={({ item }) => item.id}\n * ```\n *\n * @see {@link getRecursiveItemKey}\n * @defaultValue `` ({ index, depth }) => `${depth}-${index}` ``\n */\n getItemKey?: (options: RecursiveItemKeyOptions<Item>) => string;\n}\n\n/**\n * Helper component for recursively rendering specific data structures (mostly\n * trees). The main use-case is for rendering site navigation and the `Tree`\n * component.\n *\n * @example\n * ```tsx\n * \"use client\";\n *\n * import { Box } from \"@react-md/core/box/Box\";\n * import { Button } from \"@react-md/core/button/Button\";\n * import { Divider } from \"@react-md/core/divider/Divider\";\n * import { List } from \"@react-md/core/list/List\";\n * import { useCollapseTransition } from \"@react-md/core/transition/useCollapseTransition\";\n * import {\n * type DefaultTreeItemNode,\n * type TreeData,\n * } from \"@react-md/core/tree/types\";\n * import { type UseStateSetter } from \"@react-md/core/types\";\n * import { useToggle } from \"@react-md/core/useToggle\";\n * import {\n * type RenderRecursiveItemsProps,\n * RenderRecursively,\n * } from \"@react-md/core/utils/RenderRecursively\";\n * import { type ReactElement, useState } from \"react\";\n *\n * interface Data {\n * activeId: string;\n * setActiveId: UseStateSetter<string>;\n * }\n *\n * export default function SimpleExample(): ReactElement {\n * const [activeId, setActiveId] = useState(\"/\");\n * return (\n * <Box fullWidth disableWrap>\n * <Box stacked align=\"stretch\">\n * <RenderRecursively\n * // this is optional and can be any sort of info\n * data={{ activeId, setActiveId }}\n * items={Object.values(navItems)}\n * render={Render}\n * />\n * </Box>\n * <div>Active route: {activeId}</div>\n * </Box>\n * );\n * }\n *\n * const navItems = {\n * \"/\": {\n * href: \"/\",\n * itemId: \"/\",\n * parentId: null,\n * children: \"Home\",\n * },\n * \"/route-1\": {\n * itemId: \"/route-1\",\n * parentId: null,\n * children: \"Collapsible\",\n * },\n * \"/nested-route-1\": {\n * itemId: \"/nested-route-1\",\n * parentId: \"/route-1\",\n * children: \"Child 1\",\n * },\n * \"/nested-route-2\": {\n * itemId: \"/nested-route-2\",\n * parentId: \"/route-2\",\n * children: \"Child 2\",\n * },\n * \"/divider-1\": {\n * itemId: \"/divider-1\",\n * parentId: null,\n * },\n * \"/route-2\": {\n * itemId: \"/route-2\",\n * parentId: null,\n * children: \"Route 2\",\n * },\n * } satisfies TreeData;\n *\n * function Render(\n * props: RenderRecursiveItemsProps<DefaultTreeItemNode, Data>\n * ): ReactElement {\n * const {\n * item,\n * parents,\n * // this is passed down from the root `RenderRecursively`\n * data,\n * // this _might_ be defined based on the implementation. it's set to any\n * // renderable element\n * children: _children,\n * } = props;\n * if (item.itemId.includes(\"divider\")) {\n * return <Divider />;\n * }\n *\n * if (item.items) {\n * return <NestedNavigation {...props} />;\n * }\n *\n * const prefix = parents.map((parent) => parent.itemId).join(\"/\");\n * const currentId = `${prefix}${item.itemId}`;\n * // I haven't figured out how to manage the type safety of this yet\n * const active = data?.activeId === currentId;\n * // this would normally be a link, but to keep the demo simple, it's a button\n * return (\n * <Button\n * theme={active ? \"primary\" : \"clear\"}\n * themeType={active ? \"contained\" : \"flat\"}\n * onClick={() => {\n * data?.setActiveId(currentId);\n * }}\n * style={{ justifyContent: \"flex-start\" }}\n * >\n * {item.children}\n * </Button>\n * );\n * }\n *\n * function NestedNavigation(\n * props: RenderRecursiveItemsProps<DefaultTreeItemNode, Data>\n * ): ReactElement {\n * const {\n * item,\n * parents: _parents,\n * // this is passed down from the root `RenderRecursively`\n * data: _data,\n * children,\n * } = props;\n * const { toggle, toggled: collapsed } = useToggle(false);\n * const { elementProps } = useCollapseTransition({\n * transitionIn: !collapsed,\n * });\n *\n * return (\n * <li>\n * <Button onClick={toggle}>{item.children}</Button>\n * <List {...elementProps}>{children}</List>\n * </li>\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/render-recursively | RenderRecursively Demos}\n * @since 6.0.0\n */\nexport function RenderRecursively<Item, Data>(\n props: RenderRecursivelyProps<Item, Data>\n): ReactElement {\n const {\n data,\n items,\n render: Render,\n getItemKey = getRecursiveItemKey,\n parents = [],\n } = props;\n\n return (\n <>\n {items.map((item, index) => {\n let children: ReactNode;\n const depth = parents.length;\n if (item.items?.length) {\n children = (\n <RenderRecursively\n data={data}\n items={item.items}\n render={Render}\n getItemKey={getItemKey}\n parents={[...parents, item]}\n />\n );\n }\n\n return (\n <Render\n key={getItemKey({ item, depth, index })}\n // typecast since it should be undefined in renderer as well?\n data={data}\n item={item}\n parents={parents}\n >\n {children}\n </Render>\n );\n })}\n </>\n );\n}\n"],"names":["getRecursiveItemKey","options","depth","index","RenderRecursively","props","data","items","render","Render","getItemKey","parents","map","item","children","length"],"mappings":"AAAA,oDAAoD;;AAmBpD;;;;;;;;CAQC,GACD,OAAO,SAASA,oBACdC,OAAsC;IAEtC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IAEzB,OAAO,GAAGC,MAAM,CAAC,EAAEC,OAAO;AAC5B;AAoEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJC,GACD,OAAO,SAASC,kBACdC,KAAyC;IAEzC,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,QAAQC,MAAM,EACdC,aAAaV,mBAAmB,EAChCW,UAAU,EAAE,EACb,GAAGN;IAEJ,qBACE;kBACGE,MAAMK,GAAG,CAAC,CAACC,MAAMV;YAChB,IAAIW;YACJ,MAAMZ,QAAQS,QAAQI,MAAM;YAC5B,IAAIF,KAAKN,KAAK,EAAEQ,QAAQ;gBACtBD,yBACE,KAACV;oBACCE,MAAMA;oBACNC,OAAOM,KAAKN,KAAK;oBACjBC,QAAQC;oBACRC,YAAYA;oBACZC,SAAS;2BAAIA;wBAASE;qBAAK;;YAGjC;YAEA,qBACE,KAACJ;gBAEC,6DAA6D;gBAC7DH,MAAMA;gBACNO,MAAMA;gBACNF,SAASA;0BAERG;eANIJ,WAAW;gBAAEG;gBAAMX;gBAAOC;YAAM;QAS3C;;AAGN"}
@@ -6,7 +6,7 @@ import type { Ref } from "react";
6
6
  * @example Simple Example
7
7
  * ```tsx
8
8
  * import { HTMLAttributes, forwardRef } from "react";
9
- * import { applyRef } from "@react-md/core";
9
+ * import { applyRef } from "@react-md/core/utils/applyRef";
10
10
  *
11
11
  * export type ExampleProps = HTMLAttributes<HTMLDivElement>;
12
12
  *
@@ -5,7 +5,7 @@
5
5
  * @example Simple Example
6
6
  * ```tsx
7
7
  * import { HTMLAttributes, forwardRef } from "react";
8
- * import { applyRef } from "@react-md/core";
8
+ * import { applyRef } from "@react-md/core/utils/applyRef";
9
9
  *
10
10
  * export type ExampleProps = HTMLAttributes<HTMLDivElement>;
11
11
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/applyRef.ts"],"sourcesContent":["import type { MutableRefObject, Ref } from \"react\";\n\n/**\n * A small utility function that allows me to apply a passed in ref along with\n * my own custom ref logic.\n *\n * @example Simple Example\n * ```tsx\n * import { HTMLAttributes, forwardRef } from \"react\";\n * import { applyRef } from \"@react-md/core\";\n *\n * export type ExampleProps = HTMLAttributes<HTMLDivElement>;\n *\n * const Example = forwardRef<HTMLDivElement, ExampleProps>(function Example(props, ref) {\n * const refHandler = useCallback((instance: HTMLDivElement | null) => {\n * applyRef(instance, ref);\n * if (!instance) {\n * return;\n * }\n *\n * // do something with instance\n * });\n *\n * return <div ref={refHandler} />;\n * });\n * ```\n *\n * @param instance - The DOM Node instance\n * @param ref - The prop ref\n * @internal\n */\nexport function applyRef<E>(instance: E | null, ref: Ref<E> | undefined): void {\n if (!ref) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (typeof ref === \"object\") {\n (ref as MutableRefObject<E | null>).current = instance;\n }\n}\n"],"names":["applyRef","instance","ref","current"],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BC,GACD,OAAO,SAASA,SAAYC,QAAkB,EAAEC,GAAuB;IACrE,IAAI,CAACA,KAAK;QACR;IACF;IAEA,IAAI,OAAOA,QAAQ,YAAY;QAC7BA,IAAID;IACN,OAAO,IAAI,OAAOC,QAAQ,UAAU;QACjCA,IAAmCC,OAAO,GAAGF;IAChD;AACF"}
1
+ {"version":3,"sources":["../../src/utils/applyRef.ts"],"sourcesContent":["import type { MutableRefObject, Ref } from \"react\";\n\n/**\n * A small utility function that allows me to apply a passed in ref along with\n * my own custom ref logic.\n *\n * @example Simple Example\n * ```tsx\n * import { HTMLAttributes, forwardRef } from \"react\";\n * import { applyRef } from \"@react-md/core/utils/applyRef\";\n *\n * export type ExampleProps = HTMLAttributes<HTMLDivElement>;\n *\n * const Example = forwardRef<HTMLDivElement, ExampleProps>(function Example(props, ref) {\n * const refHandler = useCallback((instance: HTMLDivElement | null) => {\n * applyRef(instance, ref);\n * if (!instance) {\n * return;\n * }\n *\n * // do something with instance\n * });\n *\n * return <div ref={refHandler} />;\n * });\n * ```\n *\n * @param instance - The DOM Node instance\n * @param ref - The prop ref\n * @internal\n */\nexport function applyRef<E>(instance: E | null, ref: Ref<E> | undefined): void {\n if (!ref) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (typeof ref === \"object\") {\n (ref as MutableRefObject<E | null>).current = instance;\n }\n}\n"],"names":["applyRef","instance","ref","current"],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BC,GACD,OAAO,SAASA,SAAYC,QAAkB,EAAEC,GAAuB;IACrE,IAAI,CAACA,KAAK;QACR;IACF;IAEA,IAAI,OAAOA,QAAQ,YAAY;QAC7BA,IAAID;IACN,OAAO,IAAI,OAAOC,QAAQ,UAAU;QACjCA,IAAmCC,OAAO,GAAGF;IAChD;AACF"}
@@ -1,5 +1,15 @@
1
1
  import { type ButtonHTMLAttributes } from "react";
2
2
  import { type LabelRequiredForA11y } from "../types.js";
3
+ declare module "react" {
4
+ interface CSSProperties {
5
+ "--rmd-window-splitter-top"?: number | string;
6
+ "--rmd-window-splitter-right"?: number | string;
7
+ "--rmd-window-splitter-bottom"?: number | string;
8
+ "--rmd-window-splitter-left"?: number | string;
9
+ "--rmd-window-splitter-opacity"?: number | string;
10
+ "--rmd-window-splitter-position"?: number | string;
11
+ }
12
+ }
3
13
  /**
4
14
  * @since 6.0.0
5
15
  * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/}
@@ -70,6 +80,7 @@ export type WindowSplitterProps = LabelRequiredForA11y<BaseWindowSplitterProps>;
70
80
  * }
71
81
  * ```
72
82
  *
83
+ * @see {@link https://next.react-md.dev/components/window-splitter | WindowSplitter Demos}
73
84
  * @since 6.0.0
74
85
  */
75
86
  export declare const WindowSplitter: import("react").ForwardRefExoticComponent<WindowSplitterProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -42,6 +42,7 @@ import { windowSplitter } from "./styles.js";
42
42
  * }
43
43
  * ```
44
44
  *
45
+ * @see {@link https://next.react-md.dev/components/window-splitter | WindowSplitter Demos}
45
46
  * @since 6.0.0
46
47
  */ export const WindowSplitter = /*#__PURE__*/ forwardRef(function WindowSplitter(props, ref) {
47
48
  const { role = "separator", className, dragging, reversed, disableFixed = false, ...remaining } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/window-splitter/WindowSplitter.tsx"],"sourcesContent":["import { type ButtonHTMLAttributes, forwardRef } from \"react\";\n\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { windowSplitter } from \"./styles.js\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type useWindowSplitter } from \"./useWindowSplitter.js\";\n\n/**\n * @since 6.0.0\n * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/}\n */\nexport interface BaseWindowSplitterProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"type\" | \"children\"> {\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n \"aria-controls\": string;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n dragging: boolean;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n reversed: boolean;\n\n /**\n * Set this to `true` if the window splitter should use `position: absolute`\n * instead of `position: fixed`.\n *\n * @defaultValue `false`\n */\n disableFixed?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport type WindowSplitterProps = LabelRequiredForA11y<BaseWindowSplitterProps>;\n\n/**\n * The `WindowSplitter` should be used with the `useWindowSplitter` hook to\n * resize parts of a layout.\n *\n * See the `useResizableLayout` hook if the entire page layout should be\n * resizable.\n *\n * @example Simple Example\n * ```tsx\n * \"use client\";\n * import { WindowSplitter } from \"@react-md/core/window-splitter/WindowSplitter\";\n * import { useWindowSplitter } from \"@react-md/core/window-splitter/useWindowSplitter\";\n * import { useId, type ReactElement } from \"react\";\n *\n * export function Example(): ReactElement {\n * const panelId = useId();\n * const { value, splitterProps } = useWindowSplitter({\n * min: 120,\n * max: 380,\n * });\n *\n * return (\n * <div\n * style={{\n * \"--rmd-window-splitter-position\": `${value}px`,\n * display: \"grid\",\n * gridTemplateColumns: \"var(--rmd-window-splitter-position, 120px) 1fr\",\n * }}\n * >\n * <div>Panel 1</div>\n * <WindowSplitter\n * {...splitterProps}\n * aria-controls={panelId}\n * aria-labelledby={panelId}\n * />\n * <div>Panel 2</div>\n * </div>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const WindowSplitter = forwardRef<\n HTMLButtonElement,\n WindowSplitterProps\n>(function WindowSplitter(props, ref) {\n const {\n role = \"separator\",\n className,\n dragging,\n reversed,\n disableFixed = false,\n ...remaining\n } = props;\n const vertical = props[\"aria-orientation\"] === \"vertical\";\n\n return (\n <button\n {...remaining}\n ref={ref}\n type=\"button\"\n role={role}\n className={windowSplitter({\n className,\n reversed,\n dragging,\n vertical,\n disableFixed,\n })}\n />\n );\n});\n"],"names":["forwardRef","windowSplitter","WindowSplitter","props","ref","role","className","dragging","reversed","disableFixed","remaining","vertical","button","type"],"mappings":";AAAA,SAAoCA,UAAU,QAAQ,QAAQ;AAG9D,SAASC,cAAc,QAAQ,cAAc;AAuC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CC,GACD,OAAO,MAAMC,+BAAiBF,WAG5B,SAASE,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EACJC,OAAO,WAAW,EAClBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,eAAe,KAAK,EACpB,GAAGC,WACJ,GAAGP;IACJ,MAAMQ,WAAWR,KAAK,CAAC,mBAAmB,KAAK;IAE/C,qBACE,KAACS;QACE,GAAGF,SAAS;QACbN,KAAKA;QACLS,MAAK;QACLR,MAAMA;QACNC,WAAWL,eAAe;YACxBK;YACAE;YACAD;YACAI;YACAF;QACF;;AAGN,GAAG"}
1
+ {"version":3,"sources":["../../src/window-splitter/WindowSplitter.tsx"],"sourcesContent":["import { type ButtonHTMLAttributes, forwardRef } from \"react\";\n\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { windowSplitter } from \"./styles.js\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type useWindowSplitter } from \"./useWindowSplitter.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-top\"?: number | string;\n \"--rmd-window-splitter-right\"?: number | string;\n \"--rmd-window-splitter-bottom\"?: number | string;\n \"--rmd-window-splitter-left\"?: number | string;\n \"--rmd-window-splitter-opacity\"?: number | string;\n \"--rmd-window-splitter-position\"?: number | string;\n }\n}\n\n/**\n * @since 6.0.0\n * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/}\n */\nexport interface BaseWindowSplitterProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"type\" | \"children\"> {\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n \"aria-controls\": string;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n dragging: boolean;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n reversed: boolean;\n\n /**\n * Set this to `true` if the window splitter should use `position: absolute`\n * instead of `position: fixed`.\n *\n * @defaultValue `false`\n */\n disableFixed?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport type WindowSplitterProps = LabelRequiredForA11y<BaseWindowSplitterProps>;\n\n/**\n * The `WindowSplitter` should be used with the `useWindowSplitter` hook to\n * resize parts of a layout.\n *\n * See the `useResizableLayout` hook if the entire page layout should be\n * resizable.\n *\n * @example Simple Example\n * ```tsx\n * \"use client\";\n * import { WindowSplitter } from \"@react-md/core/window-splitter/WindowSplitter\";\n * import { useWindowSplitter } from \"@react-md/core/window-splitter/useWindowSplitter\";\n * import { useId, type ReactElement } from \"react\";\n *\n * export function Example(): ReactElement {\n * const panelId = useId();\n * const { value, splitterProps } = useWindowSplitter({\n * min: 120,\n * max: 380,\n * });\n *\n * return (\n * <div\n * style={{\n * \"--rmd-window-splitter-position\": `${value}px`,\n * display: \"grid\",\n * gridTemplateColumns: \"var(--rmd-window-splitter-position, 120px) 1fr\",\n * }}\n * >\n * <div>Panel 1</div>\n * <WindowSplitter\n * {...splitterProps}\n * aria-controls={panelId}\n * aria-labelledby={panelId}\n * />\n * <div>Panel 2</div>\n * </div>\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/window-splitter | WindowSplitter Demos}\n * @since 6.0.0\n */\nexport const WindowSplitter = forwardRef<\n HTMLButtonElement,\n WindowSplitterProps\n>(function WindowSplitter(props, ref) {\n const {\n role = \"separator\",\n className,\n dragging,\n reversed,\n disableFixed = false,\n ...remaining\n } = props;\n const vertical = props[\"aria-orientation\"] === \"vertical\";\n\n return (\n <button\n {...remaining}\n ref={ref}\n type=\"button\"\n role={role}\n className={windowSplitter({\n className,\n reversed,\n dragging,\n vertical,\n disableFixed,\n })}\n />\n );\n});\n"],"names":["forwardRef","windowSplitter","WindowSplitter","props","ref","role","className","dragging","reversed","disableFixed","remaining","vertical","button","type"],"mappings":";AAAA,SAAoCA,UAAU,QAAQ,QAAQ;AAG9D,SAASC,cAAc,QAAQ,cAAc;AAkD7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CC,GACD,OAAO,MAAMC,+BAAiBF,WAG5B,SAASE,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EACJC,OAAO,WAAW,EAClBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,eAAe,KAAK,EACpB,GAAGC,WACJ,GAAGP;IACJ,MAAMQ,WAAWR,KAAK,CAAC,mBAAmB,KAAK;IAE/C,qBACE,KAACS;QACE,GAAGF,SAAS;QACbN,KAAKA;QACLS,MAAK;QACLR,MAAMA;QACNC,WAAWL,eAAe;YACxBK;YACAE;YACAD;YACAI;YACAF;QACF;;AAGN,GAAG"}
@@ -1,21 +1,56 @@
1
+ ////
2
+ /// @group window-splitter
3
+ ////
4
+
1
5
  @use "sass:map";
2
6
  @use "../utils";
3
7
  @use "../interaction/interaction";
4
8
  @use "../transition/transition";
5
9
 
10
+ /// Set to `true` to disable generating any styles
11
+ /// @type Boolean
6
12
  $disable-everything: false !default;
13
+
14
+ /// Set to `true` to disable the horizontal `WindowSplitter` styles.
15
+ /// @type Boolean
7
16
  $disable-horizontal: false !default;
17
+
18
+ /// Set to `true` to disable the vertical `WindowSplitter` styles.
19
+ /// @type Boolean
8
20
  $disable-vertical: false !default;
21
+
22
+ /// Set to `true` to disable the reversed `WindowSplitter` styles.
23
+ /// @type Boolean
9
24
  $disable-reversed: false !default;
25
+
26
+ /// Set to `true` to disable the `position: absolute` styles
27
+ /// @type Boolean
10
28
  $disable-absolute-position: false !default;
11
29
 
30
+ /// The default `WindowSplitter` draggable area.
31
+ /// @type Number
12
32
  $size: 1rem !default;
33
+
34
+ /// The default `WindowSplitter` visible size (`background-color`).
35
+ /// @type Number
13
36
  $background-size: 0.25rem !default;
37
+
38
+ /// The default `background-color` for the `WindowSplitter`.
39
+ /// @type Color
14
40
  $background-color: interaction.get-var(focus-color) !default;
41
+
42
+ /// The default `z-index` for the `WindowSplitter`.
43
+ /// @type Number
15
44
  $z-index: 30 !default;
16
45
 
46
+ /// The available configurable css variables and mostly used internally for the
47
+ /// `get-var`, `set-var`, and `use-var` utils.
48
+ /// @type List
17
49
  $variables: (top, right, bottom, left, opacity, position);
18
50
 
51
+ /// @param {String} name - The supported variable name
52
+ /// @param {any} fallback [null] - An optional fallback value
53
+ /// @returns {String} a `var()` statement
19
54
  @function get-var($name, $fallback: null) {
20
55
  $var: utils.get-var-name($variables, $name, "window-splitter");
21
56
  // window-splitter variables don't make much sense to set globally
@@ -27,16 +62,27 @@ $variables: (top, right, bottom, left, opacity, position);
27
62
  @return var(#{$var});
28
63
  }
29
64
 
65
+ /// @param {String} name - The supported variable name
66
+ /// @param {any} value - The value to set the variable to. Supports `null` which
67
+ /// will just be a no-op.
30
68
  @mixin set-var($name, $value) {
31
69
  @if $value {
32
70
  #{utils.get-var-name($variables, $name, "window-splitter")}: #{$value};
33
71
  }
34
72
  }
35
73
 
74
+ /// @param {String} property - The css property to apply the variable to
75
+ /// @param {String} name [$property] - The supported variable name
76
+ /// @param {any} fallback [null] - An optional fallback value if the variable
77
+ /// has not been set
36
78
  @mixin use-var($property, $name: $property, $fallback: null) {
37
79
  #{$property}: get-var($name, $fallback);
38
80
  }
39
81
 
82
+ /// Generates all the styles based on feature flags.
83
+ ///
84
+ /// @param {Boolean} disable-layer [false] - Set this to `true` to disable the
85
+ /// layer behavior
40
86
  @mixin styles($disable-layer: false) {
41
87
  @if not $disable-everything {
42
88
  @include utils.optional-layer(window-splitter, $disable-layer) {
@@ -1,15 +1,5 @@
1
1
  import { type Ref, type RefCallback } from "react";
2
2
  import { type BaseDraggableOptions, type DraggableImplementation, type DraggableKeyboardEventHandlers, type DraggableMouseEventHandlers, type DraggableStateOptions, type DraggableTouchEventHandlers } from "../draggable/useDraggable.js";
3
- declare module "react" {
4
- interface CSSProperties {
5
- "--rmd-window-splitter-top"?: number | string;
6
- "--rmd-window-splitter-right"?: number | string;
7
- "--rmd-window-splitter-bottom"?: number | string;
8
- "--rmd-window-splitter-left"?: number | string;
9
- "--rmd-window-splitter-opacity"?: number | string;
10
- "--rmd-window-splitter-position"?: number | string;
11
- }
12
- }
13
3
  /**
14
4
  * @since 6.0.0
15
5
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\n\nimport { type Ref, type RefCallback } from \"react\";\n\nimport {\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n useDraggable,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-top\"?: number | string;\n \"--rmd-window-splitter-right\"?: number | string;\n \"--rmd-window-splitter-bottom\"?: number | string;\n \"--rmd-window-splitter-left\"?: number | string;\n \"--rmd-window-splitter-opacity\"?: number | string;\n \"--rmd-window-splitter-position\"?: number | string;\n }\n}\n\n/**\n * @since 6.0.0\n */\nexport interface BaseWindowSplitterOptions<\n E extends HTMLElement = HTMLButtonElement,\n> extends Omit<BaseDraggableOptions<E>, keyof DraggableTouchEventHandlers<E>> {\n /**\n * An optional id to use for the window splitter.\n *\n * @defaultValue `\"window-splitter-\" + useId()`\n */\n id?: string;\n\n /**\n * An optional ref for the window splitter element. This will be merged into\n * the {@link WindowSplitterWidgetProps.ref}.\n */\n ref?: Ref<E>;\n}\n\n/**\n * @since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<E extends HTMLElement>\n extends Required<DraggableMouseEventHandlers<E>>,\n Required<DraggableKeyboardEventHandlers<E>> {\n \"aria-orientation\": \"vertical\" | undefined;\n \"aria-valuenow\": number;\n \"aria-valuemin\": number;\n \"aria-valuemax\": number;\n id: string;\n ref: RefCallback<E>;\n role: \"separator\";\n reversed: boolean;\n dragging: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface WindowSplitterImplementation<\n E extends HTMLElement = HTMLButtonElement,\n> extends DraggableImplementation<E> {\n splitterProps: WindowSplitterWidgetProps<E>;\n}\n\n/**\n * Used to control the state for the `WindowSplitter` component.\n *\n * @example Custom Implementation\n * ```tsx\n * import {\n * useWindowSplitter,\n * type WindowSplitterImplementation\n * } from \"@react-md/core/window-splitter/useWindowSplitter\";\n * import { useState } from \"react\";\n *\n * // this is pretty much the `useWindowSplitter` implementation\n * export function useMyCustomWindowSplitter(): WindowSplitterImplementation {\n * const [dragging, setDragging] = useState(false);\n * const [value, setValue] = useState(0);\n * const splitter = useWindowSplitter({\n * min: 0,\n * max: 100,\n * value,\n * setValue,\n * dragging,\n * setDragging,\n * });\n *\n * return {\n * ...splitter,\n * value,\n * setValue,\n * dragging,\n * }\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(\n options: WindowSplitterOptions<E>\n): WindowSplitterImplementation<E> {\n const { id: propId, reversed = false, vertical } = options;\n\n const id = useEnsuredId(propId, \"splitter\");\n const draggableImplementation = useDraggable(options);\n const {\n dragging,\n percentage,\n draggableRef,\n mouseEventHandlers,\n keyboardEventHandlers,\n } = draggableImplementation;\n\n return {\n ...draggableImplementation,\n splitterProps: {\n \"aria-orientation\": vertical ? \"vertical\" : undefined,\n \"aria-valuenow\": Math.ceil(percentage * 100),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n id,\n ref: draggableRef,\n role: \"separator\",\n dragging,\n reversed,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n },\n };\n}\n"],"names":["useDraggable","useEnsuredId","useWindowSplitter","options","id","propId","reversed","vertical","draggableImplementation","dragging","percentage","draggableRef","mouseEventHandlers","keyboardEventHandlers","splitterProps","undefined","Math","ceil","ref","role"],"mappings":"AAAA;AAIA,SAOEA,YAAY,QACP,+BAA+B;AACtC,SAASC,YAAY,QAAQ,qBAAqB;AAiElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCC,GACD,OAAO,SAASC,kBACdC,OAAiC;IAEjC,MAAM,EAAEC,IAAIC,MAAM,EAAEC,WAAW,KAAK,EAAEC,QAAQ,EAAE,GAAGJ;IAEnD,MAAMC,KAAKH,aAAaI,QAAQ;IAChC,MAAMG,0BAA0BR,aAAaG;IAC7C,MAAM,EACJM,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGL;IAEJ,OAAO;QACL,GAAGA,uBAAuB;QAC1BM,eAAe;YACb,oBAAoBP,WAAW,aAAaQ;YAC5C,iBAAiBC,KAAKC,IAAI,CAACP,aAAa;YACxC,iBAAiB;YACjB,iBAAiB;YACjBN;YACAc,KAAKP;YACLQ,MAAM;YACNV;YACAH;YACA,GAAGM,kBAAkB;YACrB,GAAGC,qBAAqB;QAC1B;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\n\nimport { type Ref, type RefCallback } from \"react\";\n\nimport {\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n useDraggable,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface BaseWindowSplitterOptions<\n E extends HTMLElement = HTMLButtonElement,\n> extends Omit<BaseDraggableOptions<E>, keyof DraggableTouchEventHandlers<E>> {\n /**\n * An optional id to use for the window splitter.\n *\n * @defaultValue `\"window-splitter-\" + useId()`\n */\n id?: string;\n\n /**\n * An optional ref for the window splitter element. This will be merged into\n * the {@link WindowSplitterWidgetProps.ref}.\n */\n ref?: Ref<E>;\n}\n\n/**\n * @since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<E extends HTMLElement>\n extends Required<DraggableMouseEventHandlers<E>>,\n Required<DraggableKeyboardEventHandlers<E>> {\n \"aria-orientation\": \"vertical\" | undefined;\n \"aria-valuenow\": number;\n \"aria-valuemin\": number;\n \"aria-valuemax\": number;\n id: string;\n ref: RefCallback<E>;\n role: \"separator\";\n reversed: boolean;\n dragging: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface WindowSplitterImplementation<\n E extends HTMLElement = HTMLButtonElement,\n> extends DraggableImplementation<E> {\n splitterProps: WindowSplitterWidgetProps<E>;\n}\n\n/**\n * Used to control the state for the `WindowSplitter` component.\n *\n * @example Custom Implementation\n * ```tsx\n * import {\n * useWindowSplitter,\n * type WindowSplitterImplementation\n * } from \"@react-md/core/window-splitter/useWindowSplitter\";\n * import { useState } from \"react\";\n *\n * // this is pretty much the `useWindowSplitter` implementation\n * export function useMyCustomWindowSplitter(): WindowSplitterImplementation {\n * const [dragging, setDragging] = useState(false);\n * const [value, setValue] = useState(0);\n * const splitter = useWindowSplitter({\n * min: 0,\n * max: 100,\n * value,\n * setValue,\n * dragging,\n * setDragging,\n * });\n *\n * return {\n * ...splitter,\n * value,\n * setValue,\n * dragging,\n * }\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(\n options: WindowSplitterOptions<E>\n): WindowSplitterImplementation<E> {\n const { id: propId, reversed = false, vertical } = options;\n\n const id = useEnsuredId(propId, \"splitter\");\n const draggableImplementation = useDraggable(options);\n const {\n dragging,\n percentage,\n draggableRef,\n mouseEventHandlers,\n keyboardEventHandlers,\n } = draggableImplementation;\n\n return {\n ...draggableImplementation,\n splitterProps: {\n \"aria-orientation\": vertical ? \"vertical\" : undefined,\n \"aria-valuenow\": Math.ceil(percentage * 100),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n id,\n ref: draggableRef,\n role: \"separator\",\n dragging,\n reversed,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n },\n };\n}\n"],"names":["useDraggable","useEnsuredId","useWindowSplitter","options","id","propId","reversed","vertical","draggableImplementation","dragging","percentage","draggableRef","mouseEventHandlers","keyboardEventHandlers","splitterProps","undefined","Math","ceil","ref","role"],"mappings":"AAAA;AAIA,SAOEA,YAAY,QACP,+BAA+B;AACtC,SAASC,YAAY,QAAQ,qBAAqB;AAsDlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCC,GACD,OAAO,SAASC,kBACdC,OAAiC;IAEjC,MAAM,EAAEC,IAAIC,MAAM,EAAEC,WAAW,KAAK,EAAEC,QAAQ,EAAE,GAAGJ;IAEnD,MAAMC,KAAKH,aAAaI,QAAQ;IAChC,MAAMG,0BAA0BR,aAAaG;IAC7C,MAAM,EACJM,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGL;IAEJ,OAAO;QACL,GAAGA,uBAAuB;QAC1BM,eAAe;YACb,oBAAoBP,WAAW,aAAaQ;YAC5C,iBAAiBC,KAAKC,IAAI,CAACP,aAAa;YACxC,iBAAiB;YACjB,iBAAiB;YACjBN;YACAc,KAAKP;YACLQ,MAAM;YACNV;YACAH;YACA,GAAGM,kBAAkB;YACrB,GAAGC,qBAAqB;QAC1B;IACF;AACF"}
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@react-md/core",
3
- "version": "1.0.0-next.20",
3
+ "version": "1.0.0-next.21",
4
4
  "description": "The core components and functionality for react-md.",
5
5
  "type": "module",
6
6
  "sass": "./dist/_core.scss",
7
7
  "exports": {
8
+ "./a11y": {
9
+ "sass": "./dist/_a11y.scss"
10
+ },
8
11
  ".": {
9
12
  "sass": "./dist/_core.scss"
10
13
  },
@@ -23,6 +26,27 @@
23
26
  "sass": "./dist/_colors.scss",
24
27
  "default": "./dist/theme/colors.js"
25
28
  },
29
+ "./autocomplete/AutocompleteListboxChildren": null,
30
+ "./autocomplete/utils": null,
31
+ "./draggable/utils": null,
32
+ "./error-boundary/context": null,
33
+ "./form/InputToggleIcon": null,
34
+ "./form/ResizingTextAreaWrapper": null,
35
+ "./form/SliderTrack": null,
36
+ "./form/selectUtils": null,
37
+ "./form/sliderUtils": null,
38
+ "./form/useResizingTextArea": null,
39
+ "./form/useSliderDraggable": null,
40
+ "./interaction/utils": null,
41
+ "./menu/MenuWidgetKeyboardProvider": null,
42
+ "./menu/utils": null,
43
+ "./positioning/createHorizontalPosition": null,
44
+ "./positioning/createVerticalPosition": null,
45
+ "./storage/internalUtils": null,
46
+ "./tabs/useTabList": null,
47
+ "./tooltip/useTooltipPosition": null,
48
+ "./transition/utils": null,
49
+ "./tree/useTreeMovement": null,
26
50
  "./*": "./dist/*.js",
27
51
  "./package.json": "./package.json"
28
52
  },
@@ -51,27 +75,28 @@
51
75
  "license": "MIT",
52
76
  "dependencies": {
53
77
  "cnbuilder": "^3.1.0",
54
- "nanoid": "^5.0.9"
78
+ "nanoid": "^5.1.5",
79
+ "remove-accents": "^0.5.0"
55
80
  },
56
81
  "devDependencies": {
57
82
  "@jest/globals": "^29.7.0",
58
83
  "@jest/types": "^29.6.3",
59
- "@microsoft/api-extractor": "^7.49.2",
60
- "@mlaursen/eslint-config": "^6.0.0",
84
+ "@microsoft/api-extractor": "^7.52.2",
85
+ "@mlaursen/eslint-config": "^7.0.0",
61
86
  "@swc/cli": "^0.6.0",
62
- "@swc/core": "^1.10.15",
87
+ "@swc/core": "^1.11.16",
63
88
  "@swc/jest": "^0.2.37",
64
89
  "@testing-library/dom": "^10.4.0",
65
90
  "@testing-library/jest-dom": "^6.6.3",
66
- "@testing-library/react": "^16.2.0",
91
+ "@testing-library/react": "^16.3.0",
67
92
  "@testing-library/user-event": "^14.6.1",
68
93
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
69
- "@types/lodash": "^4.17.15",
70
- "@types/node": "^22.13.1",
94
+ "@types/lodash": "^4.17.16",
95
+ "@types/node": "^22.14.0",
71
96
  "@types/react": "^18.3.12",
72
97
  "@types/react-dom": "^18.3.1",
73
98
  "chokidar": "^4.0.3",
74
- "eslint": "^9.20.0",
99
+ "eslint": "^9.23.0",
75
100
  "filesize": "^10.1.6",
76
101
  "glob": "11.0.1",
77
102
  "jest": "^29.7.0",
@@ -80,19 +105,19 @@
80
105
  "lodash": "^4.17.21",
81
106
  "lz-string": "^1.5.0",
82
107
  "npm-run-all": "^4.1.5",
83
- "postcss": "^8.5.1",
108
+ "postcss": "^8.5.3",
84
109
  "postcss-scss": "^4.0.9",
85
- "prettier": "^3.5.0",
86
- "stylelint": "^16.14.1",
110
+ "prettier": "^3.5.3",
111
+ "stylelint": "^16.17.0",
87
112
  "stylelint-config-prettier-scss": "^1.0.0",
88
113
  "stylelint-config-recommended-scss": "^14.1.0",
89
114
  "stylelint-order": "^6.0.4",
90
- "stylelint-scss": "^6.11.0",
115
+ "stylelint-scss": "^6.11.1",
91
116
  "ts-morph": "^25.0.1",
92
117
  "ts-node": "^10.9.2",
93
- "tsx": "^4.19.2",
94
- "typescript": "^5.7.3",
95
- "vitest": "^3.0.5"
118
+ "tsx": "^4.19.3",
119
+ "typescript": "^5.8.2",
120
+ "vitest": "^3.1.1"
96
121
  },
97
122
  "peerDependencies": {
98
123
  "@jest/globals": "^29.7.0",
@@ -139,11 +164,12 @@
139
164
  },
140
165
  "volta": {
141
166
  "node": "22.13.1",
142
- "pnpm": "10.2.1"
167
+ "pnpm": "10.7.1"
143
168
  },
144
169
  "scripts": {
145
170
  "run-script": "tsx --tsconfig scripts/tsconfig.json",
146
171
  "export-map": "pnpm run run-script scripts/getExportMap.ts",
172
+ "create-index-file": "pnpm run run-script scripts/createIndexFile.ts",
147
173
  "dev": "npm-run-all --parallel build-esm-watch build-scss-watch build-types-watch",
148
174
  "prepare-release": "npm-run-all clean-dist build",
149
175
  "build": "npm-run-all build-esm build-scss build-types",
@@ -87,6 +87,7 @@ export interface CoreProvidersProps extends ReactMDCoreConfiguration {
87
87
  * - {@link Snackbar} - This isn't a provider but this is how you can display
88
88
  * alerts in your app
89
89
  *
90
+ * @see {@link https://next.react-md.dev/components/core-providers | CoreProviders Demos}
90
91
  * @since 6.0.0
91
92
  */
92
93
  export function CoreProviders(props: CoreProvidersProps): ReactElement {
package/src/NoSsr.tsx CHANGED
@@ -17,7 +17,9 @@ export interface NoSsrProps {
17
17
  *
18
18
  * @example Simple Example
19
19
  * ```tsx
20
- * import { CoreProviders, NoSsr, Typography } from "@react-md/core";
20
+ * import { NoSsr } from "@react-md/core/NoSsr";
21
+ * import { CoreProviders } from "@react-md/core/CoreProviders"
22
+ * import { Typography } from "@react-md/core/typography/Typography"
21
23
  * import type { ReactElement } from "react";
22
24
  *
23
25
  * function Example(): ReactElement {
package/src/RootHtml.tsx CHANGED
@@ -51,7 +51,7 @@ export interface RootHtmlProps extends HtmlHTMLAttributes<HTMLHtmlElement> {
51
51
  * @example Simple Example
52
52
  * ```tsx
53
53
  * // src/app/layout.tsx
54
- * import { RootHtml } from "@react-md/core";
54
+ * import { RootHtml } from "@react-md/core/RootHtml";
55
55
  * import { type ReactElement, type PropsWithChildren } from "react";
56
56
  * import { Roboto_Flex } from "next/font/google";
57
57
  *
@@ -31,6 +31,7 @@ export interface SsrProviderProps {
31
31
  /**
32
32
  * **Client Component**
33
33
  *
34
+ * @see {@link https://next.react-md.dev/components/ssr-provider | SsrProvider Demos}
34
35
  * @since 6.0.0
35
36
  */
36
37
  export function SsrProvider(props: SsrProviderProps): ReactElement {
@@ -36,7 +36,9 @@ export interface AppBarProps
36
36
  /**
37
37
  * @example Simple Example
38
38
  * ```tsx
39
- * import { AppBar, AppBarTitle, Button } from "@react-md/core";
39
+ * import { AppBar } from "@react-md/core/app-bar/AppBar";
40
+ * import { AppBarTitle } from "@react-md/core/app-bar/AppBarTitle";
41
+ * import { Button } from "@react-md/core/button/Button";
40
42
  * import MenuIcon from "@react-md/material-icons/MenuIcon";
41
43
  * import MoreVertIcon from "@react-md/material-icons/MoreVertIcon";
42
44
  * import type { ReactElement } from "react";
@@ -27,7 +27,8 @@ export interface AppBarTitleProps
27
27
  /**
28
28
  * @example Updating the Keyline
29
29
  * ```tsx
30
- * import { AppBar, AppBarTitle } from "@react-md/core";
30
+ * import { AppBar } from "@react-md/core/app-bar/AppBar";
31
+ * import { AppBarTitle } from "@react-md/core/app-bar/AppBarTitle";
31
32
  * import type { ReactElement } from "react";
32
33
  *
33
34
  * function Example(): ReactElement {
@@ -29,22 +29,102 @@ import { useAutocomplete } from "./useAutocomplete.js";
29
29
  const noop = (): undefined => undefined;
30
30
 
31
31
  /**
32
- * This is the single select autocomplete implementation.
32
+ * An `Autocomplete` is a component that allows for real-time suggestions from
33
+ * a pre-determined list as the user types by filtering data based on the
34
+ * current value. It can also be used to interact with an API that handles the
35
+ * sorting, filtering, matching, etc as well.
33
36
  *
37
+ * An `Autocomplete` always requires the following props:
38
+ *
39
+ * - `options` - a list of available options that can be a list of strings,
40
+ * a list of objects with a `{ label: string }`, or any list of objects
41
+ * - if the list of objects do not have a `label`, the
42
+ * {@link AutocompleteProps.getOptionLabel} **must** be provided to allow
43
+ * filtering
44
+ * - `label` or `aria-label` to describe the textbox for accessibility
45
+ * - `listboxLabel` or `listboxLabelledBy` for an accessible label describing the options
46
+ *
47
+ * @example Simple Example
48
+ * ```tsx
49
+ * "use client";
50
+ *
51
+ * import { Autocomplete } from "@react-md/core/autocomplete/Autocomplete";
52
+ * import { type ReactElement } from "react";
53
+ *
54
+ * export default function SimpleExample(): ReactElement {
55
+ * return (
56
+ * <Autocomplete
57
+ * label="Fruit"
58
+ * placeholder="Apple"
59
+ * listboxLabel="Fruits"
60
+ * options={[
61
+ * "Apple",
62
+ * "Apricot",
63
+ * "Banana",
64
+ * "Blueberry",
65
+ * "Cranberry",
66
+ * "Kiwi",
67
+ * "Mango",
68
+ * "Orange",
69
+ * "Peach",
70
+ * "Plum",
71
+ * "Strawberry",
72
+ * ]}
73
+ * />
74
+ * );
75
+ * }
76
+ * ```
77
+ *
78
+ * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
34
79
  * @since 6.0.0
35
80
  */
36
81
  export function Autocomplete<Option extends AutocompleteOption>(
37
82
  props: AutocompleteSingleSelectProps<Option>
38
83
  ): ReactElement;
39
84
  /**
40
- * This is the multiselect autocomplete implementation.
85
+ * To create an `Autocomplete` that can have multiple values selected at once,
86
+ * either provide an array `value` or `defaultValue`.
87
+ *
88
+ * @example Simple Example
89
+ * ```tsx
90
+ * "use client";
91
+ *
92
+ * import { Autocomplete } from "@react-md/core/autocomplete/Autocomplete";
93
+ * import { type ReactElement, useState } from "react";
94
+ *
95
+ * export default function SimpleExample(): ReactElement {
96
+ * const [value, setValue] = useState<readonly Dessert[]>([]);
97
+ * return (
98
+ * <Autocomplete
99
+ * label="Fruit"
100
+ * placeholder="Apple"
101
+ * listboxLabel="Fruits"
102
+ * options={[
103
+ * "Apple",
104
+ * "Apricot",
105
+ * "Banana",
106
+ * "Blueberry",
107
+ * "Cranberry",
108
+ * "Kiwi",
109
+ * "Mango",
110
+ * "Orange",
111
+ * "Peach",
112
+ * "Plum",
113
+ * "Strawberry",
114
+ * ]}
115
+ * />
116
+ * );
117
+ * }
118
+ * ```
41
119
  *
120
+ * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
42
121
  * @since 6.0.0
43
122
  */
44
123
  export function Autocomplete<Option extends AutocompleteOption>(
45
124
  props: AutocompleteMultiSelectProps<Option>
46
125
  ): ReactElement;
47
126
  /**
127
+ * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
48
128
  * @since 6.0.0
49
129
  * @internal
50
130
  */
@@ -92,6 +172,7 @@ export function Autocomplete<Option extends AutocompleteOption>(
92
172
  disableDropdownButton,
93
173
  clearButtonProps,
94
174
  disableClearButton,
175
+ clearButtonVisibility = "query",
95
176
  noOptionsChildren = <ListSubheader>No Options</ListSubheader>,
96
177
  leftAddon: propLeftAddon,
97
178
  disableLeftAddonStyles: propDisableLeftAddonStyles,
@@ -235,9 +316,10 @@ export function Autocomplete<Option extends AutocompleteOption>(
235
316
  <>
236
317
  {rightAddon}
237
318
  {loading && <AutocompleteCircularProgress {...loadingProps} />}
238
- {!disableClearButton && !!currentQuery && (
319
+ {!disableClearButton && (
239
320
  <AutocompleteClearButton
240
321
  {...clearButtonProps}
322
+ visibility={clearButtonVisibility}
241
323
  {...getClearButtonProps(clearButtonProps)}
242
324
  />
243
325
  )}
@@ -9,6 +9,7 @@ import { type AutocompleteChipProps } from "./types.js";
9
9
  * A small wrapper around the `Chip` that defaults the `rightAddon` to the
10
10
  * remove icon and adds a default `aria-description`.
11
11
  *
12
+ * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
12
13
  * @since 6.0.0
13
14
  */
14
15
  export const AutocompleteChip = forwardRef<
@@ -7,6 +7,7 @@ import { type AutocompleteCircularProgressProps } from "./types.js";
7
7
  * An internal component used to handle the styling and minimal accessibility
8
8
  * for the `CircularProgress` within the `Autocomplete`
9
9
  *
10
+ * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
10
11
  * @internal
11
12
  * @since 6.0.0
12
13
  */
@@ -11,6 +11,7 @@ import { type AutocompleteClearButtonProps } from "./types.js";
11
11
  /**
12
12
  * An internal component used for to clear the value from the `Autocomplete`.
13
13
  *
14
+ * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
14
15
  * @internal
15
16
  * @since 6.0.0
16
17
  */
@@ -26,6 +27,7 @@ export function AutocompleteClearButton(
26
27
  "aria-label": ariaLabel = buttonType === "text" || ariaLabelledBy
27
28
  ? undefined
28
29
  : "Clear",
30
+ visibility,
29
31
  ...remaining
30
32
  } = props;
31
33
  const id = useEnsuredId(propId, "autocomplete-clear");
@@ -36,7 +38,7 @@ export function AutocompleteClearButton(
36
38
  aria-label={ariaLabel}
37
39
  aria-labelledby={ariaLabelledBy}
38
40
  id={id}
39
- className={autocompleteClearButton({ className })}
41
+ className={autocompleteClearButton({ className, visibility })}
40
42
  tabIndex={-1}
41
43
  buttonType={buttonType}
42
44
  >
@@ -14,6 +14,7 @@ import { type AutocompleteDropdownButtonProps } from "./types.js";
14
14
  * This is a simple `Button` wrapper to be used as a dropdown button within the
15
15
  * `Autocomplete`.
16
16
  *
17
+ * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
17
18
  * @since 6.0.0
18
19
  */
19
20
  export function AutocompleteDropdownButton(
@@ -16,11 +16,10 @@ import {
16
16
  */
17
17
  export interface AutocompleteListboxChildrenProps<
18
18
  Option extends AutocompleteOption,
19
- > {
19
+ > extends Required<AutocompleteGetOptionProps<Option>>,
20
+ Required<AutocompleteGetOptionLabel<Option>> {
20
21
  query: string;
21
22
  options: readonly Option[];
22
- getOptionLabel: AutocompleteGetOptionLabel<Option>;
23
- getOptionProps: AutocompleteGetOptionProps<Option>;
24
23
  children: ReactNode;
25
24
  noOptionsChildren: ReactNode;
26
25
  }