@react-md/core 6.0.1 → 6.1.0

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 (821) hide show
  1. package/dist/CoreProviders.d.ts +1 -1
  2. package/dist/CoreProviders.js +1 -1
  3. package/dist/CoreProviders.js.map +1 -1
  4. package/dist/SsrProvider.d.ts +1 -1
  5. package/dist/SsrProvider.js +1 -1
  6. package/dist/SsrProvider.js.map +1 -1
  7. package/dist/_base.scss +6 -2
  8. package/dist/_border-radius.scss +92 -0
  9. package/dist/_core.scss +2 -0
  10. package/dist/_spacing.scss +86 -0
  11. package/dist/app-bar/_app-bar.scss +9 -7
  12. package/dist/app-bar/styles.js +1 -1
  13. package/dist/app-bar/styles.js.map +1 -1
  14. package/dist/autocomplete/Autocomplete.d.ts +2 -2
  15. package/dist/autocomplete/Autocomplete.js +1 -1
  16. package/dist/autocomplete/Autocomplete.js.map +1 -1
  17. package/dist/autocomplete/AutocompleteChip.d.ts +1 -1
  18. package/dist/autocomplete/AutocompleteChip.js +1 -1
  19. package/dist/autocomplete/AutocompleteChip.js.map +1 -1
  20. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +1 -1
  21. package/dist/autocomplete/AutocompleteCircularProgress.js +1 -1
  22. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  23. package/dist/autocomplete/AutocompleteClearButton.d.ts +1 -1
  24. package/dist/autocomplete/AutocompleteClearButton.js +1 -1
  25. package/dist/autocomplete/AutocompleteClearButton.js.map +1 -1
  26. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +1 -1
  27. package/dist/autocomplete/AutocompleteDropdownButton.js +1 -1
  28. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  29. package/dist/autocomplete/_autocomplete.scss +8 -5
  30. package/dist/autocomplete/useAutocomplete.d.ts +3 -3
  31. package/dist/autocomplete/useAutocomplete.js +2 -1
  32. package/dist/autocomplete/useAutocomplete.js.map +1 -1
  33. package/dist/avatar/Avatar.d.ts +1 -1
  34. package/dist/avatar/Avatar.js +1 -1
  35. package/dist/avatar/Avatar.js.map +1 -1
  36. package/dist/avatar/_avatar.scss +3 -3
  37. package/dist/badge/Badge.d.ts +1 -1
  38. package/dist/badge/Badge.js +1 -1
  39. package/dist/badge/Badge.js.map +1 -1
  40. package/dist/badge/_badge.scss +10 -2
  41. package/dist/box/Box.d.ts +1 -1
  42. package/dist/box/Box.js +1 -1
  43. package/dist/box/Box.js.map +1 -1
  44. package/dist/box/_box.scss +78 -11
  45. package/dist/button/AsyncButton.d.ts +1 -1
  46. package/dist/button/AsyncButton.js +1 -1
  47. package/dist/button/AsyncButton.js.map +1 -1
  48. package/dist/button/Button.d.ts +1 -1
  49. package/dist/button/Button.js +1 -1
  50. package/dist/button/Button.js.map +1 -1
  51. package/dist/button/ButtonUnstyled.d.ts +1 -1
  52. package/dist/button/ButtonUnstyled.js +1 -1
  53. package/dist/button/ButtonUnstyled.js.map +1 -1
  54. package/dist/button/TooltippedButton.d.ts +1 -1
  55. package/dist/button/TooltippedButton.js +1 -1
  56. package/dist/button/TooltippedButton.js.map +1 -1
  57. package/dist/button/_button.scss +21 -11
  58. package/dist/card/Card.d.ts +1 -1
  59. package/dist/card/Card.js +1 -1
  60. package/dist/card/Card.js.map +1 -1
  61. package/dist/card/CardContent.d.ts +1 -1
  62. package/dist/card/CardContent.js +1 -1
  63. package/dist/card/CardContent.js.map +1 -1
  64. package/dist/card/CardFooter.d.ts +1 -1
  65. package/dist/card/CardFooter.js +1 -1
  66. package/dist/card/CardFooter.js.map +1 -1
  67. package/dist/card/CardHeader.d.ts +1 -1
  68. package/dist/card/CardHeader.js +1 -1
  69. package/dist/card/CardHeader.js.map +1 -1
  70. package/dist/card/CardSubtitle.d.ts +1 -1
  71. package/dist/card/CardSubtitle.js +1 -1
  72. package/dist/card/CardSubtitle.js.map +1 -1
  73. package/dist/card/CardTitle.d.ts +1 -1
  74. package/dist/card/CardTitle.js +1 -1
  75. package/dist/card/CardTitle.js.map +1 -1
  76. package/dist/card/ClickableCard.d.ts +1 -1
  77. package/dist/card/ClickableCard.js +1 -1
  78. package/dist/card/ClickableCard.js.map +1 -1
  79. package/dist/card/_card.scss +9 -7
  80. package/dist/chip/Chip.d.ts +1 -1
  81. package/dist/chip/Chip.js +1 -1
  82. package/dist/chip/Chip.js.map +1 -1
  83. package/dist/chip/_chip.scss +9 -7
  84. package/dist/dialog/Dialog.d.ts +1 -1
  85. package/dist/dialog/Dialog.js +1 -1
  86. package/dist/dialog/Dialog.js.map +1 -1
  87. package/dist/dialog/DialogContent.d.ts +1 -1
  88. package/dist/dialog/DialogContent.js +1 -1
  89. package/dist/dialog/DialogContent.js.map +1 -1
  90. package/dist/dialog/DialogFooter.d.ts +1 -1
  91. package/dist/dialog/DialogFooter.js +1 -1
  92. package/dist/dialog/DialogFooter.js.map +1 -1
  93. package/dist/dialog/DialogHeader.d.ts +1 -1
  94. package/dist/dialog/DialogHeader.js +1 -1
  95. package/dist/dialog/DialogHeader.js.map +1 -1
  96. package/dist/dialog/DialogTitle.d.ts +1 -1
  97. package/dist/dialog/DialogTitle.js +1 -1
  98. package/dist/dialog/DialogTitle.js.map +1 -1
  99. package/dist/dialog/FixedDialog.d.ts +1 -1
  100. package/dist/dialog/FixedDialog.js +1 -1
  101. package/dist/dialog/FixedDialog.js.map +1 -1
  102. package/dist/dialog/_dialog.scss +7 -6
  103. package/dist/divider/Divider.d.ts +1 -1
  104. package/dist/divider/Divider.js +1 -1
  105. package/dist/divider/Divider.js.map +1 -1
  106. package/dist/divider/_divider.scss +3 -2
  107. package/dist/draggable/useDraggable.d.ts +1 -1
  108. package/dist/draggable/useDraggable.js +1 -1
  109. package/dist/draggable/useDraggable.js.map +1 -1
  110. package/dist/expansion-panel/ExpansionList.d.ts +1 -1
  111. package/dist/expansion-panel/ExpansionList.js +1 -1
  112. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  113. package/dist/expansion-panel/ExpansionPanel.d.ts +1 -1
  114. package/dist/expansion-panel/ExpansionPanel.js +1 -1
  115. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  116. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +1 -1
  117. package/dist/expansion-panel/ExpansionPanelHeader.js +1 -1
  118. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  119. package/dist/expansion-panel/_expansion-panel.scss +4 -3
  120. package/dist/expansion-panel/useExpansionList.d.ts +1 -1
  121. package/dist/expansion-panel/useExpansionList.js +1 -1
  122. package/dist/expansion-panel/useExpansionList.js.map +1 -1
  123. package/dist/expansion-panel/useExpansionPanels.d.ts +1 -1
  124. package/dist/expansion-panel/useExpansionPanels.js +1 -1
  125. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  126. package/dist/files/FileInput.d.ts +1 -1
  127. package/dist/files/FileInput.js +1 -1
  128. package/dist/files/FileInput.js.map +1 -1
  129. package/dist/files/useFileUpload.d.ts +2 -2
  130. package/dist/files/useFileUpload.js +2 -2
  131. package/dist/files/useFileUpload.js.map +1 -1
  132. package/dist/form/Checkbox.d.ts +1 -1
  133. package/dist/form/Checkbox.js +1 -1
  134. package/dist/form/Checkbox.js.map +1 -1
  135. package/dist/form/Fieldset.d.ts +1 -1
  136. package/dist/form/Fieldset.js +1 -1
  137. package/dist/form/Fieldset.js.map +1 -1
  138. package/dist/form/Form.d.ts +1 -1
  139. package/dist/form/Form.js +1 -1
  140. package/dist/form/Form.js.map +1 -1
  141. package/dist/form/FormMessage.d.ts +1 -1
  142. package/dist/form/FormMessage.js +1 -1
  143. package/dist/form/FormMessage.js.map +1 -1
  144. package/dist/form/FormMessageContainer.d.ts +1 -1
  145. package/dist/form/FormMessageContainer.js +1 -1
  146. package/dist/form/FormMessageContainer.js.map +1 -1
  147. package/dist/form/FormMessageCounter.d.ts +2 -2
  148. package/dist/form/FormMessageCounter.js +2 -2
  149. package/dist/form/FormMessageCounter.js.map +1 -1
  150. package/dist/form/InputToggle.d.ts +2 -2
  151. package/dist/form/InputToggle.js +2 -2
  152. package/dist/form/InputToggle.js.map +1 -1
  153. package/dist/form/Label.d.ts +3 -3
  154. package/dist/form/Label.js +3 -3
  155. package/dist/form/Label.js.map +1 -1
  156. package/dist/form/Legend.d.ts +1 -1
  157. package/dist/form/Legend.js +1 -1
  158. package/dist/form/Legend.js.map +1 -1
  159. package/dist/form/NativeSelect.d.ts +1 -1
  160. package/dist/form/NativeSelect.js +1 -1
  161. package/dist/form/NativeSelect.js.map +1 -1
  162. package/dist/form/OptGroup.d.ts +1 -1
  163. package/dist/form/OptGroup.js +1 -1
  164. package/dist/form/OptGroup.js.map +1 -1
  165. package/dist/form/Option.d.ts +1 -1
  166. package/dist/form/Option.js +1 -1
  167. package/dist/form/Option.js.map +1 -1
  168. package/dist/form/Password.d.ts +1 -1
  169. package/dist/form/Password.js +1 -1
  170. package/dist/form/Password.js.map +1 -1
  171. package/dist/form/Radio.d.ts +1 -1
  172. package/dist/form/Radio.js +1 -1
  173. package/dist/form/Radio.js.map +1 -1
  174. package/dist/form/Select.d.ts +1 -1
  175. package/dist/form/Select.js +1 -1
  176. package/dist/form/Select.js.map +1 -1
  177. package/dist/form/Slider.d.ts +1 -1
  178. package/dist/form/Slider.js.map +1 -1
  179. package/dist/form/Switch.d.ts +1 -1
  180. package/dist/form/Switch.js +1 -1
  181. package/dist/form/Switch.js.map +1 -1
  182. package/dist/form/TextArea.d.ts +1 -1
  183. package/dist/form/TextArea.js +2 -2
  184. package/dist/form/TextArea.js.map +1 -1
  185. package/dist/form/TextField.d.ts +1 -1
  186. package/dist/form/TextField.js +1 -1
  187. package/dist/form/TextField.js.map +1 -1
  188. package/dist/form/_form-message.scss +4 -3
  189. package/dist/form/_input-toggle.scss +2 -1
  190. package/dist/form/_label.scss +3 -2
  191. package/dist/form/_password.scss +2 -1
  192. package/dist/form/_select.scss +4 -4
  193. package/dist/form/_slider.scss +4 -3
  194. package/dist/form/_switch.scss +2 -1
  195. package/dist/form/_text-area.scss +3 -2
  196. package/dist/form/_text-field.scss +20 -16
  197. package/dist/form/useCheckboxGroup.d.ts +8 -8
  198. package/dist/form/useCheckboxGroup.js +2 -2
  199. package/dist/form/useCheckboxGroup.js.map +1 -1
  200. package/dist/form/useCombobox.js +1 -0
  201. package/dist/form/useCombobox.js.map +1 -1
  202. package/dist/form/useNumberField.d.ts +2 -2
  203. package/dist/form/useNumberField.js +2 -2
  204. package/dist/form/useNumberField.js.map +1 -1
  205. package/dist/form/useRadioGroup.d.ts +4 -4
  206. package/dist/form/useRadioGroup.js +2 -2
  207. package/dist/form/useRadioGroup.js.map +1 -1
  208. package/dist/form/useRangeSlider.d.ts +1 -1
  209. package/dist/form/useRangeSlider.js +1 -1
  210. package/dist/form/useRangeSlider.js.map +1 -1
  211. package/dist/form/useSlider.d.ts +1 -1
  212. package/dist/form/useSlider.js +1 -1
  213. package/dist/form/useSlider.js.map +1 -1
  214. package/dist/form/useTextField.d.ts +4 -4
  215. package/dist/form/useTextField.js +2 -2
  216. package/dist/form/useTextField.js.map +1 -1
  217. package/dist/form/utils.js +1 -0
  218. package/dist/form/utils.js.map +1 -1
  219. package/dist/icon/FontIcon.d.ts +1 -1
  220. package/dist/icon/FontIcon.js +1 -1
  221. package/dist/icon/FontIcon.js.map +1 -1
  222. package/dist/icon/IconRotator.d.ts +1 -1
  223. package/dist/icon/IconRotator.js +1 -1
  224. package/dist/icon/IconRotator.js.map +1 -1
  225. package/dist/icon/MaterialIcon.d.ts +2 -2
  226. package/dist/icon/MaterialIcon.js +2 -2
  227. package/dist/icon/MaterialIcon.js.map +1 -1
  228. package/dist/icon/MaterialSymbol.d.ts +2 -2
  229. package/dist/icon/MaterialSymbol.js +2 -2
  230. package/dist/icon/MaterialSymbol.js.map +1 -1
  231. package/dist/icon/SVGIcon.d.ts +1 -1
  232. package/dist/icon/SVGIcon.js +1 -1
  233. package/dist/icon/SVGIcon.js.map +1 -1
  234. package/dist/icon/TextIconSpacing.d.ts +1 -1
  235. package/dist/icon/TextIconSpacing.js +1 -1
  236. package/dist/icon/TextIconSpacing.js.map +1 -1
  237. package/dist/icon/_icon.scss +2 -1
  238. package/dist/interaction/useElementInteraction.js +1 -1
  239. package/dist/interaction/useElementInteraction.js.map +1 -1
  240. package/dist/layout/LayoutAppBar.d.ts +1 -1
  241. package/dist/layout/LayoutAppBar.js +1 -1
  242. package/dist/layout/LayoutAppBar.js.map +1 -1
  243. package/dist/layout/LayoutNav.d.ts +1 -1
  244. package/dist/layout/LayoutNav.js +2 -2
  245. package/dist/layout/LayoutNav.js.map +1 -1
  246. package/dist/layout/LayoutWindowSplitter.d.ts +1 -1
  247. package/dist/layout/LayoutWindowSplitter.js +1 -1
  248. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  249. package/dist/layout/Main.d.ts +1 -1
  250. package/dist/layout/Main.js +1 -1
  251. package/dist/layout/Main.js.map +1 -1
  252. package/dist/layout/useExpandableLayout.d.ts +1 -1
  253. package/dist/layout/useExpandableLayout.js +1 -1
  254. package/dist/layout/useExpandableLayout.js.map +1 -1
  255. package/dist/layout/useHorizontalLayoutTransition.d.ts +1 -1
  256. package/dist/layout/useHorizontalLayoutTransition.js +1 -1
  257. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  258. package/dist/layout/useLayoutAppBarHeight.d.ts +1 -1
  259. package/dist/layout/useLayoutAppBarHeight.js +1 -1
  260. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  261. package/dist/layout/useLayoutTree.d.ts +3 -3
  262. package/dist/layout/useLayoutTree.js +3 -3
  263. package/dist/layout/useLayoutTree.js.map +1 -1
  264. package/dist/layout/useLayoutWindowSplitter.d.ts +1 -1
  265. package/dist/layout/useLayoutWindowSplitter.js +1 -1
  266. package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
  267. package/dist/layout/useMainTabIndex.js +1 -0
  268. package/dist/layout/useMainTabIndex.js.map +1 -1
  269. package/dist/layout/useResizableLayout.d.ts +1 -1
  270. package/dist/layout/useResizableLayout.js +1 -1
  271. package/dist/layout/useResizableLayout.js.map +1 -1
  272. package/dist/layout/useTemporaryLayout.d.ts +1 -1
  273. package/dist/layout/useTemporaryLayout.js +1 -1
  274. package/dist/layout/useTemporaryLayout.js.map +1 -1
  275. package/dist/link/Link.d.ts +1 -1
  276. package/dist/link/Link.js +1 -1
  277. package/dist/link/Link.js.map +1 -1
  278. package/dist/link/SkipToMainContent.d.ts +1 -1
  279. package/dist/link/SkipToMainContent.js +1 -1
  280. package/dist/link/SkipToMainContent.js.map +1 -1
  281. package/dist/link/_link.scss +3 -2
  282. package/dist/list/List.d.ts +1 -1
  283. package/dist/list/List.js +1 -1
  284. package/dist/list/List.js.map +1 -1
  285. package/dist/list/ListItem.d.ts +1 -1
  286. package/dist/list/ListItem.js +1 -1
  287. package/dist/list/ListItem.js.map +1 -1
  288. package/dist/list/ListItemChildren.d.ts +1 -1
  289. package/dist/list/ListItemChildren.js +1 -1
  290. package/dist/list/ListItemChildren.js.map +1 -1
  291. package/dist/list/ListItemLink.d.ts +1 -1
  292. package/dist/list/ListItemLink.js +1 -1
  293. package/dist/list/ListItemLink.js.map +1 -1
  294. package/dist/list/ListSubheader.d.ts +1 -1
  295. package/dist/list/ListSubheader.js +1 -1
  296. package/dist/list/ListSubheader.js.map +1 -1
  297. package/dist/list/_list.scss +7 -6
  298. package/dist/media-queries/AppSizeProvider.d.ts +2 -2
  299. package/dist/media-queries/AppSizeProvider.js +2 -2
  300. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  301. package/dist/media-queries/useMediaQuery.d.ts +2 -2
  302. package/dist/media-queries/useMediaQuery.js +2 -2
  303. package/dist/media-queries/useMediaQuery.js.map +1 -1
  304. package/dist/menu/DropdownMenu.d.ts +1 -1
  305. package/dist/menu/DropdownMenu.js +2 -1
  306. package/dist/menu/DropdownMenu.js.map +1 -1
  307. package/dist/menu/Menu.d.ts +1 -1
  308. package/dist/menu/Menu.js +1 -1
  309. package/dist/menu/Menu.js.map +1 -1
  310. package/dist/menu/MenuBar.d.ts +1 -1
  311. package/dist/menu/MenuBar.js +1 -1
  312. package/dist/menu/MenuBar.js.map +1 -1
  313. package/dist/menu/MenuButton.d.ts +1 -1
  314. package/dist/menu/MenuButton.js +1 -1
  315. package/dist/menu/MenuButton.js.map +1 -1
  316. package/dist/menu/MenuItem.d.ts +1 -1
  317. package/dist/menu/MenuItem.js +1 -1
  318. package/dist/menu/MenuItem.js.map +1 -1
  319. package/dist/menu/MenuItemCheckbox.d.ts +1 -1
  320. package/dist/menu/MenuItemCheckbox.js +1 -1
  321. package/dist/menu/MenuItemCheckbox.js.map +1 -1
  322. package/dist/menu/MenuItemFileInput.d.ts +1 -1
  323. package/dist/menu/MenuItemFileInput.js +1 -1
  324. package/dist/menu/MenuItemFileInput.js.map +1 -1
  325. package/dist/menu/MenuItemGroup.d.ts +1 -1
  326. package/dist/menu/MenuItemGroup.js +1 -1
  327. package/dist/menu/MenuItemGroup.js.map +1 -1
  328. package/dist/menu/MenuItemInputToggle.d.ts +1 -1
  329. package/dist/menu/MenuItemInputToggle.js +1 -1
  330. package/dist/menu/MenuItemInputToggle.js.map +1 -1
  331. package/dist/menu/MenuItemRadio.d.ts +1 -1
  332. package/dist/menu/MenuItemRadio.js +1 -1
  333. package/dist/menu/MenuItemRadio.js.map +1 -1
  334. package/dist/menu/MenuItemSeparator.d.ts +1 -1
  335. package/dist/menu/MenuItemSeparator.js +1 -1
  336. package/dist/menu/MenuItemSeparator.js.map +1 -1
  337. package/dist/menu/MenuItemSwitch.d.ts +1 -1
  338. package/dist/menu/MenuItemSwitch.js +1 -1
  339. package/dist/menu/MenuItemSwitch.js.map +1 -1
  340. package/dist/menu/MenuItemTextField.d.ts +1 -1
  341. package/dist/menu/MenuItemTextField.js +1 -1
  342. package/dist/menu/MenuItemTextField.js.map +1 -1
  343. package/dist/menu/_menu.scss +2 -1
  344. package/dist/menu/useContextMenu.d.ts +1 -1
  345. package/dist/menu/useContextMenu.js +1 -1
  346. package/dist/menu/useContextMenu.js.map +1 -1
  347. package/dist/navigation/CollapsibleNavGroup.d.ts +1 -1
  348. package/dist/navigation/CollapsibleNavGroup.js +1 -1
  349. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  350. package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -1
  351. package/dist/navigation/DefaultNavigationRenderer.js +1 -1
  352. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  353. package/dist/navigation/NavGroup.d.ts +1 -1
  354. package/dist/navigation/NavGroup.js +1 -1
  355. package/dist/navigation/NavGroup.js.map +1 -1
  356. package/dist/navigation/NavItem.d.ts +1 -1
  357. package/dist/navigation/NavItem.js +1 -1
  358. package/dist/navigation/NavItem.js.map +1 -1
  359. package/dist/navigation/NavItemButton.d.ts +1 -1
  360. package/dist/navigation/NavItemButton.js +1 -1
  361. package/dist/navigation/NavItemButton.js.map +1 -1
  362. package/dist/navigation/NavItemLink.d.ts +1 -1
  363. package/dist/navigation/NavItemLink.js +1 -1
  364. package/dist/navigation/NavItemLink.js.map +1 -1
  365. package/dist/navigation/NavSubheader.d.ts +1 -1
  366. package/dist/navigation/NavSubheader.js +1 -1
  367. package/dist/navigation/NavSubheader.js.map +1 -1
  368. package/dist/navigation/Navigation.d.ts +1 -1
  369. package/dist/navigation/Navigation.js +1 -1
  370. package/dist/navigation/Navigation.js.map +1 -1
  371. package/dist/navigation/_navigation.scss +5 -3
  372. package/dist/navigation/useActiveHeadingId.d.ts +1 -1
  373. package/dist/navigation/useActiveHeadingId.js +1 -1
  374. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  375. package/dist/navigation/useNavigationExpansion.d.ts +2 -2
  376. package/dist/navigation/useNavigationExpansion.js +2 -2
  377. package/dist/navigation/useNavigationExpansion.js.map +1 -1
  378. package/dist/navigation/useTableOfContentsHeadings.d.ts +1 -1
  379. package/dist/navigation/useTableOfContentsHeadings.js +1 -1
  380. package/dist/navigation/useTableOfContentsHeadings.js.map +1 -1
  381. package/dist/overlay/Overlay.d.ts +1 -1
  382. package/dist/overlay/Overlay.js +1 -1
  383. package/dist/overlay/Overlay.js.map +1 -1
  384. package/dist/portal/Portal.d.ts +1 -1
  385. package/dist/portal/Portal.js +1 -1
  386. package/dist/portal/Portal.js.map +1 -1
  387. package/dist/portal/PortalContainerProvider.d.ts +1 -1
  388. package/dist/portal/PortalContainerProvider.js +1 -1
  389. package/dist/portal/PortalContainerProvider.js.map +1 -1
  390. package/dist/positioning/useFixedPositioning.d.ts +1 -1
  391. package/dist/positioning/useFixedPositioning.js +1 -1
  392. package/dist/positioning/useFixedPositioning.js.map +1 -1
  393. package/dist/progress/CircularProgress.d.ts +1 -1
  394. package/dist/progress/CircularProgress.js +1 -1
  395. package/dist/progress/CircularProgress.js.map +1 -1
  396. package/dist/progress/LinearProgress.d.ts +1 -1
  397. package/dist/progress/LinearProgress.js +1 -1
  398. package/dist/progress/LinearProgress.js.map +1 -1
  399. package/dist/responsive-item/ResponsiveItem.d.ts +1 -1
  400. package/dist/responsive-item/ResponsiveItem.js +1 -1
  401. package/dist/responsive-item/ResponsiveItem.js.map +1 -1
  402. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +1 -1
  403. package/dist/responsive-item/ResponsiveItemOverlay.js +1 -1
  404. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  405. package/dist/responsive-item/_responsive-item.scss +2 -1
  406. package/dist/scroll/useScrollLock.d.ts +1 -1
  407. package/dist/scroll/useScrollLock.js +1 -1
  408. package/dist/scroll/useScrollLock.js.map +1 -1
  409. package/dist/segmented-button/SegmentedButton.d.ts +1 -1
  410. package/dist/segmented-button/SegmentedButton.js +1 -1
  411. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  412. package/dist/segmented-button/SegmentedButtonContainer.d.ts +1 -1
  413. package/dist/segmented-button/SegmentedButtonContainer.js +1 -1
  414. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  415. package/dist/segmented-button/_segmented-button.scss +20 -13
  416. package/dist/sheet/Sheet.d.ts +1 -1
  417. package/dist/sheet/Sheet.js +1 -1
  418. package/dist/sheet/Sheet.js.map +1 -1
  419. package/dist/sheet/_sheet.scss +2 -1
  420. package/dist/snackbar/DefaultToastRenderer.d.ts +1 -1
  421. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  422. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  423. package/dist/snackbar/Snackbar.d.ts +1 -1
  424. package/dist/snackbar/Snackbar.js +1 -1
  425. package/dist/snackbar/Snackbar.js.map +1 -1
  426. package/dist/snackbar/Toast.d.ts +1 -1
  427. package/dist/snackbar/Toast.js +1 -1
  428. package/dist/snackbar/Toast.js.map +1 -1
  429. package/dist/snackbar/ToastActionButton.d.ts +1 -1
  430. package/dist/snackbar/ToastActionButton.js +1 -1
  431. package/dist/snackbar/ToastActionButton.js.map +1 -1
  432. package/dist/snackbar/ToastCloseButton.d.ts +1 -1
  433. package/dist/snackbar/ToastCloseButton.js +1 -1
  434. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  435. package/dist/snackbar/ToastContent.d.ts +1 -1
  436. package/dist/snackbar/ToastContent.js +1 -1
  437. package/dist/snackbar/ToastContent.js.map +1 -1
  438. package/dist/snackbar/ToastManager.d.ts +1 -1
  439. package/dist/snackbar/ToastManager.js +1 -1
  440. package/dist/snackbar/ToastManager.js.map +1 -1
  441. package/dist/snackbar/ToastManagerProvider.d.ts +1 -1
  442. package/dist/snackbar/ToastManagerProvider.js +1 -1
  443. package/dist/snackbar/ToastManagerProvider.js.map +1 -1
  444. package/dist/snackbar/_snackbar.scss +12 -10
  445. package/dist/snackbar/useCurrentToastActions.d.ts +1 -1
  446. package/dist/snackbar/useCurrentToastActions.js +1 -1
  447. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  448. package/dist/storage/useStorage.d.ts +1 -1
  449. package/dist/storage/useStorage.js +1 -1
  450. package/dist/storage/useStorage.js.map +1 -1
  451. package/dist/suspense/CircularProgressSuspense.d.ts +1 -1
  452. package/dist/suspense/CircularProgressSuspense.js +1 -1
  453. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  454. package/dist/suspense/NullSuspense.d.ts +1 -1
  455. package/dist/suspense/NullSuspense.js +1 -1
  456. package/dist/suspense/NullSuspense.js.map +1 -1
  457. package/dist/table/StickyTableSection.d.ts +2 -2
  458. package/dist/table/StickyTableSection.js +2 -2
  459. package/dist/table/StickyTableSection.js.map +1 -1
  460. package/dist/table/Table.d.ts +1 -1
  461. package/dist/table/Table.js +1 -1
  462. package/dist/table/Table.js.map +1 -1
  463. package/dist/table/TableBody.d.ts +1 -1
  464. package/dist/table/TableBody.js +1 -1
  465. package/dist/table/TableBody.js.map +1 -1
  466. package/dist/table/TableCell.d.ts +1 -1
  467. package/dist/table/TableCell.js +1 -1
  468. package/dist/table/TableCell.js.map +1 -1
  469. package/dist/table/TableCheckbox.d.ts +1 -1
  470. package/dist/table/TableCheckbox.js +1 -1
  471. package/dist/table/TableCheckbox.js.map +1 -1
  472. package/dist/table/TableContainer.d.ts +1 -1
  473. package/dist/table/TableContainer.js +1 -1
  474. package/dist/table/TableContainer.js.map +1 -1
  475. package/dist/table/TableFooter.d.ts +1 -1
  476. package/dist/table/TableFooter.js +1 -1
  477. package/dist/table/TableFooter.js.map +1 -1
  478. package/dist/table/TableHeader.d.ts +1 -1
  479. package/dist/table/TableHeader.js +1 -1
  480. package/dist/table/TableHeader.js.map +1 -1
  481. package/dist/table/TableRadio.d.ts +1 -1
  482. package/dist/table/TableRadio.js +1 -1
  483. package/dist/table/TableRadio.js.map +1 -1
  484. package/dist/table/TableRow.d.ts +1 -1
  485. package/dist/table/TableRow.js +1 -1
  486. package/dist/table/TableRow.js.map +1 -1
  487. package/dist/table/_table.scss +5 -4
  488. package/dist/tabs/SimpleTabPanel.d.ts +2 -2
  489. package/dist/tabs/SimpleTabPanel.js +2 -2
  490. package/dist/tabs/SimpleTabPanel.js.map +1 -1
  491. package/dist/tabs/SimpleTabPanels.d.ts +2 -2
  492. package/dist/tabs/SimpleTabPanels.js +2 -2
  493. package/dist/tabs/SimpleTabPanels.js.map +1 -1
  494. package/dist/tabs/Tab.d.ts +1 -1
  495. package/dist/tabs/Tab.js +1 -1
  496. package/dist/tabs/Tab.js.map +1 -1
  497. package/dist/tabs/TabList.d.ts +1 -1
  498. package/dist/tabs/TabList.js +1 -1
  499. package/dist/tabs/TabList.js.map +1 -1
  500. package/dist/tabs/_tabs.scss +7 -4
  501. package/dist/tabs/useTabs.d.ts +4 -4
  502. package/dist/tabs/useTabs.js +2 -1
  503. package/dist/tabs/useTabs.js.map +1 -1
  504. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +2 -2
  505. package/dist/theme/LocalStorageColorSchemeProvider.js +2 -2
  506. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  507. package/dist/theme/ThemeProvider.d.ts +1 -1
  508. package/dist/theme/ThemeProvider.js +1 -1
  509. package/dist/theme/ThemeProvider.js.map +1 -1
  510. package/dist/theme/useColorSchemeProvider.js +1 -0
  511. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  512. package/dist/theme/utils.js +2 -2
  513. package/dist/theme/utils.js.map +1 -1
  514. package/dist/tooltip/Tooltip.d.ts +1 -1
  515. package/dist/tooltip/Tooltip.js +1 -1
  516. package/dist/tooltip/Tooltip.js.map +1 -1
  517. package/dist/tooltip/TooltipHoverModeProvider.d.ts +1 -1
  518. package/dist/tooltip/TooltipHoverModeProvider.js +1 -1
  519. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  520. package/dist/tooltip/_tooltip.scss +52 -25
  521. package/dist/tooltip/useTooltip.d.ts +1 -1
  522. package/dist/tooltip/useTooltip.js +1 -1
  523. package/dist/tooltip/useTooltip.js.map +1 -1
  524. package/dist/transition/CSSTransition.d.ts +1 -1
  525. package/dist/transition/CSSTransition.js +1 -1
  526. package/dist/transition/CSSTransition.js.map +1 -1
  527. package/dist/transition/Collapse.d.ts +1 -1
  528. package/dist/transition/Collapse.js +1 -1
  529. package/dist/transition/Collapse.js.map +1 -1
  530. package/dist/transition/CrossFade.d.ts +1 -1
  531. package/dist/transition/CrossFade.js +1 -1
  532. package/dist/transition/CrossFade.js.map +1 -1
  533. package/dist/transition/ScaleTransition.d.ts +1 -1
  534. package/dist/transition/ScaleTransition.js +1 -1
  535. package/dist/transition/ScaleTransition.js.map +1 -1
  536. package/dist/transition/SkeletonPlaceholder.d.ts +1 -1
  537. package/dist/transition/SkeletonPlaceholder.js +1 -1
  538. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  539. package/dist/transition/Slide.d.ts +1 -1
  540. package/dist/transition/Slide.js +1 -1
  541. package/dist/transition/Slide.js.map +1 -1
  542. package/dist/transition/SlideContainer.d.ts +1 -1
  543. package/dist/transition/SlideContainer.js +1 -1
  544. package/dist/transition/SlideContainer.js.map +1 -1
  545. package/dist/transition/_transition.scss +2 -1
  546. package/dist/transition/useCSSTransition.d.ts +2 -2
  547. package/dist/transition/useCSSTransition.js +2 -2
  548. package/dist/transition/useCSSTransition.js.map +1 -1
  549. package/dist/transition/useCarousel.d.ts +1 -1
  550. package/dist/transition/useCarousel.js +1 -1
  551. package/dist/transition/useCarousel.js.map +1 -1
  552. package/dist/transition/useCollapseTransition.d.ts +2 -2
  553. package/dist/transition/useCollapseTransition.js +2 -2
  554. package/dist/transition/useCollapseTransition.js.map +1 -1
  555. package/dist/transition/useCrossFadeTransition.d.ts +2 -2
  556. package/dist/transition/useCrossFadeTransition.js +2 -2
  557. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  558. package/dist/transition/useScaleTransition.d.ts +2 -2
  559. package/dist/transition/useScaleTransition.js +2 -2
  560. package/dist/transition/useScaleTransition.js.map +1 -1
  561. package/dist/transition/useSkeletonPlaceholder.d.ts +2 -2
  562. package/dist/transition/useSkeletonPlaceholder.js +2 -2
  563. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  564. package/dist/transition/useSlideTransition.d.ts +1 -1
  565. package/dist/transition/useSlideTransition.js +1 -1
  566. package/dist/transition/useSlideTransition.js.map +1 -1
  567. package/dist/transition/useTransition.d.ts +1 -1
  568. package/dist/transition/useTransition.js +1 -1
  569. package/dist/transition/useTransition.js.map +1 -1
  570. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -1
  571. package/dist/tree/DefaultTreeItemRenderer.js +1 -1
  572. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  573. package/dist/tree/Tree.d.ts +1 -1
  574. package/dist/tree/Tree.js +1 -1
  575. package/dist/tree/Tree.js.map +1 -1
  576. package/dist/tree/TreeItem.d.ts +1 -1
  577. package/dist/tree/TreeItem.js +1 -1
  578. package/dist/tree/TreeItem.js.map +1 -1
  579. package/dist/tree/_tree.scss +1 -1
  580. package/dist/tree/useTree.d.ts +1 -1
  581. package/dist/tree/useTree.js +1 -1
  582. package/dist/tree/useTree.js.map +1 -1
  583. package/dist/tree/useTreeExpansion.d.ts +1 -1
  584. package/dist/tree/useTreeExpansion.js +1 -1
  585. package/dist/tree/useTreeExpansion.js.map +1 -1
  586. package/dist/tree/useTreeItems.d.ts +1 -1
  587. package/dist/tree/useTreeItems.js +1 -1
  588. package/dist/tree/useTreeItems.js.map +1 -1
  589. package/dist/tree/useTreeSelection.d.ts +1 -1
  590. package/dist/tree/useTreeSelection.js +1 -1
  591. package/dist/tree/useTreeSelection.js.map +1 -1
  592. package/dist/typography/HighlightText.d.ts +1 -1
  593. package/dist/typography/HighlightText.js +1 -1
  594. package/dist/typography/HighlightText.js.map +1 -1
  595. package/dist/typography/Mark.d.ts +1 -1
  596. package/dist/typography/Mark.js +1 -1
  597. package/dist/typography/Mark.js.map +1 -1
  598. package/dist/typography/SrOnly.d.ts +1 -1
  599. package/dist/typography/SrOnly.js +1 -1
  600. package/dist/typography/SrOnly.js.map +1 -1
  601. package/dist/typography/TextContainer.d.ts +1 -1
  602. package/dist/typography/TextContainer.js +1 -1
  603. package/dist/typography/TextContainer.js.map +1 -1
  604. package/dist/typography/Typography.d.ts +1 -1
  605. package/dist/typography/Typography.js +1 -1
  606. package/dist/typography/Typography.js.map +1 -1
  607. package/dist/typography/WritingDirectionProvider.d.ts +1 -1
  608. package/dist/typography/WritingDirectionProvider.js +1 -1
  609. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  610. package/dist/useEnsuredState.d.ts +1 -0
  611. package/dist/useEnsuredState.js +5 -3
  612. package/dist/useEnsuredState.js.map +1 -1
  613. package/dist/utils/RenderRecursively.d.ts +1 -1
  614. package/dist/utils/RenderRecursively.js +1 -1
  615. package/dist/utils/RenderRecursively.js.map +1 -1
  616. package/dist/utils/bem.js +1 -1
  617. package/dist/utils/bem.js.map +1 -1
  618. package/dist/utils/parseCssLengthUnit.js +3 -0
  619. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  620. package/dist/window-splitter/WindowSplitter.d.ts +1 -1
  621. package/dist/window-splitter/WindowSplitter.js +1 -1
  622. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  623. package/package.json +10 -10
  624. package/src/CoreProviders.tsx +1 -1
  625. package/src/SsrProvider.tsx +1 -1
  626. package/src/app-bar/styles.ts +1 -1
  627. package/src/autocomplete/Autocomplete.tsx +3 -3
  628. package/src/autocomplete/AutocompleteChip.tsx +1 -1
  629. package/src/autocomplete/AutocompleteCircularProgress.tsx +1 -1
  630. package/src/autocomplete/AutocompleteClearButton.tsx +1 -1
  631. package/src/autocomplete/AutocompleteDropdownButton.tsx +1 -1
  632. package/src/autocomplete/useAutocomplete.ts +5 -4
  633. package/src/avatar/Avatar.tsx +1 -1
  634. package/src/badge/Badge.tsx +1 -1
  635. package/src/box/Box.tsx +1 -1
  636. package/src/button/AsyncButton.tsx +1 -1
  637. package/src/button/Button.tsx +1 -1
  638. package/src/button/ButtonUnstyled.tsx +1 -1
  639. package/src/button/TooltippedButton.tsx +1 -1
  640. package/src/card/Card.tsx +1 -1
  641. package/src/card/CardContent.tsx +1 -1
  642. package/src/card/CardFooter.tsx +1 -1
  643. package/src/card/CardHeader.tsx +1 -1
  644. package/src/card/CardSubtitle.tsx +1 -1
  645. package/src/card/CardTitle.tsx +1 -1
  646. package/src/card/ClickableCard.tsx +1 -1
  647. package/src/chip/Chip.tsx +1 -1
  648. package/src/dialog/Dialog.tsx +1 -1
  649. package/src/dialog/DialogContent.tsx +1 -1
  650. package/src/dialog/DialogFooter.tsx +1 -1
  651. package/src/dialog/DialogHeader.tsx +1 -1
  652. package/src/dialog/DialogTitle.tsx +1 -1
  653. package/src/dialog/FixedDialog.tsx +1 -1
  654. package/src/divider/Divider.tsx +1 -1
  655. package/src/draggable/useDraggable.ts +1 -1
  656. package/src/expansion-panel/ExpansionList.tsx +1 -1
  657. package/src/expansion-panel/ExpansionPanel.tsx +1 -1
  658. package/src/expansion-panel/ExpansionPanelHeader.tsx +1 -1
  659. package/src/expansion-panel/useExpansionList.ts +1 -1
  660. package/src/expansion-panel/useExpansionPanels.ts +1 -1
  661. package/src/files/FileInput.tsx +1 -1
  662. package/src/files/useFileUpload.ts +2 -2
  663. package/src/form/Checkbox.tsx +1 -1
  664. package/src/form/Fieldset.tsx +1 -1
  665. package/src/form/Form.tsx +1 -1
  666. package/src/form/FormMessage.tsx +1 -1
  667. package/src/form/FormMessageContainer.tsx +1 -1
  668. package/src/form/FormMessageCounter.tsx +2 -2
  669. package/src/form/InputToggle.tsx +2 -2
  670. package/src/form/Label.tsx +3 -3
  671. package/src/form/Legend.tsx +1 -1
  672. package/src/form/NativeSelect.tsx +1 -1
  673. package/src/form/OptGroup.tsx +1 -1
  674. package/src/form/Option.tsx +1 -1
  675. package/src/form/Password.tsx +1 -1
  676. package/src/form/Radio.tsx +1 -1
  677. package/src/form/Select.tsx +1 -1
  678. package/src/form/Slider.tsx +1 -1
  679. package/src/form/Switch.tsx +1 -1
  680. package/src/form/TextArea.tsx +2 -2
  681. package/src/form/TextField.tsx +1 -1
  682. package/src/form/useCheckboxGroup.ts +10 -10
  683. package/src/form/useCombobox.ts +1 -0
  684. package/src/form/useNumberField.ts +4 -4
  685. package/src/form/useRadioGroup.ts +6 -6
  686. package/src/form/useRangeSlider.ts +1 -1
  687. package/src/form/useSlider.ts +1 -1
  688. package/src/form/useTextField.ts +6 -6
  689. package/src/form/utils.ts +1 -0
  690. package/src/icon/FontIcon.tsx +1 -1
  691. package/src/icon/IconRotator.tsx +1 -1
  692. package/src/icon/MaterialIcon.tsx +2 -2
  693. package/src/icon/MaterialSymbol.tsx +2 -2
  694. package/src/icon/SVGIcon.tsx +1 -1
  695. package/src/icon/TextIconSpacing.tsx +1 -1
  696. package/src/interaction/useElementInteraction.tsx +1 -1
  697. package/src/layout/LayoutAppBar.tsx +1 -1
  698. package/src/layout/LayoutNav.tsx +2 -2
  699. package/src/layout/LayoutWindowSplitter.tsx +1 -1
  700. package/src/layout/Main.tsx +1 -1
  701. package/src/layout/useExpandableLayout.ts +1 -1
  702. package/src/layout/useHorizontalLayoutTransition.ts +1 -1
  703. package/src/layout/useLayoutAppBarHeight.ts +1 -1
  704. package/src/layout/useLayoutTree.ts +3 -3
  705. package/src/layout/useLayoutWindowSplitter.ts +1 -1
  706. package/src/layout/useMainTabIndex.ts +1 -0
  707. package/src/layout/useResizableLayout.ts +1 -1
  708. package/src/layout/useTemporaryLayout.ts +1 -1
  709. package/src/link/Link.tsx +1 -1
  710. package/src/link/SkipToMainContent.tsx +1 -1
  711. package/src/list/List.tsx +1 -1
  712. package/src/list/ListItem.tsx +1 -1
  713. package/src/list/ListItemChildren.tsx +1 -1
  714. package/src/list/ListItemLink.tsx +1 -1
  715. package/src/list/ListSubheader.tsx +1 -1
  716. package/src/media-queries/AppSizeProvider.tsx +2 -2
  717. package/src/media-queries/useMediaQuery.ts +2 -2
  718. package/src/menu/DropdownMenu.tsx +2 -1
  719. package/src/menu/Menu.tsx +1 -1
  720. package/src/menu/MenuBar.tsx +1 -1
  721. package/src/menu/MenuButton.tsx +1 -1
  722. package/src/menu/MenuItem.tsx +1 -1
  723. package/src/menu/MenuItemCheckbox.tsx +1 -1
  724. package/src/menu/MenuItemFileInput.tsx +1 -1
  725. package/src/menu/MenuItemGroup.tsx +1 -1
  726. package/src/menu/MenuItemInputToggle.tsx +1 -1
  727. package/src/menu/MenuItemRadio.tsx +1 -1
  728. package/src/menu/MenuItemSeparator.tsx +1 -1
  729. package/src/menu/MenuItemSwitch.tsx +1 -1
  730. package/src/menu/MenuItemTextField.tsx +1 -1
  731. package/src/menu/useContextMenu.ts +1 -1
  732. package/src/navigation/CollapsibleNavGroup.tsx +1 -1
  733. package/src/navigation/DefaultNavigationRenderer.tsx +1 -1
  734. package/src/navigation/NavGroup.tsx +1 -1
  735. package/src/navigation/NavItem.tsx +1 -1
  736. package/src/navigation/NavItemButton.tsx +1 -1
  737. package/src/navigation/NavItemLink.tsx +1 -1
  738. package/src/navigation/NavSubheader.tsx +1 -1
  739. package/src/navigation/Navigation.tsx +1 -1
  740. package/src/navigation/useActiveHeadingId.ts +1 -1
  741. package/src/navigation/useNavigationExpansion.ts +2 -2
  742. package/src/navigation/useTableOfContentsHeadings.ts +1 -1
  743. package/src/overlay/Overlay.tsx +1 -1
  744. package/src/portal/Portal.tsx +1 -1
  745. package/src/portal/PortalContainerProvider.tsx +1 -1
  746. package/src/positioning/useFixedPositioning.ts +1 -1
  747. package/src/progress/CircularProgress.tsx +1 -1
  748. package/src/progress/LinearProgress.tsx +1 -1
  749. package/src/responsive-item/ResponsiveItem.tsx +1 -1
  750. package/src/responsive-item/ResponsiveItemOverlay.tsx +1 -1
  751. package/src/scroll/useScrollLock.ts +1 -1
  752. package/src/segmented-button/SegmentedButton.tsx +1 -1
  753. package/src/segmented-button/SegmentedButtonContainer.tsx +1 -1
  754. package/src/sheet/Sheet.tsx +1 -1
  755. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  756. package/src/snackbar/Snackbar.tsx +1 -1
  757. package/src/snackbar/Toast.tsx +1 -1
  758. package/src/snackbar/ToastActionButton.tsx +1 -1
  759. package/src/snackbar/ToastCloseButton.tsx +1 -1
  760. package/src/snackbar/ToastContent.tsx +1 -1
  761. package/src/snackbar/ToastManager.ts +1 -1
  762. package/src/snackbar/ToastManagerProvider.tsx +1 -1
  763. package/src/snackbar/useCurrentToastActions.ts +1 -1
  764. package/src/storage/useStorage.ts +1 -1
  765. package/src/suspense/CircularProgressSuspense.tsx +1 -1
  766. package/src/suspense/NullSuspense.tsx +1 -1
  767. package/src/table/StickyTableSection.tsx +2 -2
  768. package/src/table/Table.tsx +1 -1
  769. package/src/table/TableBody.tsx +1 -1
  770. package/src/table/TableCell.tsx +1 -1
  771. package/src/table/TableCheckbox.tsx +1 -1
  772. package/src/table/TableContainer.tsx +1 -1
  773. package/src/table/TableFooter.tsx +1 -1
  774. package/src/table/TableHeader.tsx +1 -1
  775. package/src/table/TableRadio.tsx +1 -1
  776. package/src/table/TableRow.tsx +1 -1
  777. package/src/tabs/SimpleTabPanel.tsx +2 -2
  778. package/src/tabs/SimpleTabPanels.tsx +2 -2
  779. package/src/tabs/Tab.tsx +1 -1
  780. package/src/tabs/TabList.tsx +1 -1
  781. package/src/tabs/useTabs.ts +6 -5
  782. package/src/theme/LocalStorageColorSchemeProvider.tsx +2 -2
  783. package/src/theme/ThemeProvider.tsx +1 -1
  784. package/src/theme/useColorSchemeProvider.ts +1 -0
  785. package/src/theme/utils.ts +2 -1
  786. package/src/tooltip/Tooltip.tsx +1 -1
  787. package/src/tooltip/TooltipHoverModeProvider.tsx +1 -1
  788. package/src/tooltip/useTooltip.ts +1 -1
  789. package/src/transition/CSSTransition.tsx +1 -1
  790. package/src/transition/Collapse.tsx +1 -1
  791. package/src/transition/CrossFade.tsx +1 -1
  792. package/src/transition/ScaleTransition.tsx +1 -1
  793. package/src/transition/SkeletonPlaceholder.tsx +1 -1
  794. package/src/transition/Slide.tsx +1 -1
  795. package/src/transition/SlideContainer.tsx +1 -1
  796. package/src/transition/useCSSTransition.ts +2 -2
  797. package/src/transition/useCarousel.ts +1 -1
  798. package/src/transition/useCollapseTransition.ts +2 -2
  799. package/src/transition/useCrossFadeTransition.ts +2 -2
  800. package/src/transition/useScaleTransition.ts +2 -2
  801. package/src/transition/useSkeletonPlaceholder.ts +2 -2
  802. package/src/transition/useSlideTransition.ts +1 -1
  803. package/src/transition/useTransition.ts +1 -1
  804. package/src/tree/DefaultTreeItemRenderer.tsx +1 -1
  805. package/src/tree/Tree.tsx +1 -1
  806. package/src/tree/TreeItem.tsx +1 -1
  807. package/src/tree/useTree.ts +1 -1
  808. package/src/tree/useTreeExpansion.ts +1 -1
  809. package/src/tree/useTreeItems.ts +1 -1
  810. package/src/tree/useTreeSelection.ts +1 -1
  811. package/src/typography/HighlightText.tsx +1 -1
  812. package/src/typography/Mark.tsx +1 -1
  813. package/src/typography/SrOnly.tsx +1 -1
  814. package/src/typography/TextContainer.tsx +1 -1
  815. package/src/typography/Typography.tsx +1 -1
  816. package/src/typography/WritingDirectionProvider.tsx +1 -1
  817. package/src/useEnsuredState.ts +6 -3
  818. package/src/utils/RenderRecursively.tsx +1 -1
  819. package/src/utils/bem.ts +1 -1
  820. package/src/utils/parseCssLengthUnit.ts +4 -0
  821. package/src/window-splitter/WindowSplitter.tsx +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/autocomplete/AutocompleteClearButton.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactElement } from \"react\";\n\nimport { Button } from \"../button/Button.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { autocompleteClearButton } from \"./autocompleteStyles.js\";\nimport { type AutocompleteClearButtonProps } from \"./types.js\";\n\n/**\n * An internal component used for to clear the value from the `Autocomplete`.\n *\n * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}\n * @internal\n * @since 6.0.0\n */\nexport function AutocompleteClearButton(\n props: AutocompleteClearButtonProps\n): ReactElement {\n const {\n id: propId,\n className,\n children,\n buttonType = \"icon\",\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel = buttonType === \"text\" || ariaLabelledBy\n ? undefined\n : \"Clear\",\n visibility,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"autocomplete-clear\");\n\n return (\n <Button\n {...remaining}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n id={id}\n className={autocompleteClearButton({ className, visibility })}\n tabIndex={-1}\n buttonType={buttonType}\n >\n {getIcon(\"clear\", children)}\n </Button>\n );\n}\n"],"names":["Button","getIcon","useEnsuredId","autocompleteClearButton","AutocompleteClearButton","props","id","propId","className","children","buttonType","ariaLabelledBy","ariaLabel","undefined","visibility","remaining","aria-label","aria-labelledby","tabIndex"],"mappings":"AAAA;;AAIA,SAASA,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,uBAAuB,QAAQ,0BAA0B;AAGlE;;;;;;CAMC,GACD,OAAO,SAASC,wBACdC,KAAmC;IAEnC,MAAM,EACJC,IAAIC,MAAM,EACVC,SAAS,EACTC,QAAQ,EACRC,aAAa,MAAM,EACnB,mBAAmBC,cAAc,EACjC,cAAcC,YAAYF,eAAe,UAAUC,iBAC/CE,YACA,OAAO,EACXC,UAAU,EACV,GAAGC,WACJ,GAAGV;IACJ,MAAMC,KAAKJ,aAAaK,QAAQ;IAEhC,qBACE,KAACP;QACE,GAAGe,SAAS;QACbC,cAAYJ;QACZK,mBAAiBN;QACjBL,IAAIA;QACJE,WAAWL,wBAAwB;YAAEK;YAAWM;QAAW;QAC3DI,UAAU,CAAC;QACXR,YAAYA;kBAEXT,QAAQ,SAASQ;;AAGxB"}
1
+ {"version":3,"sources":["../../src/autocomplete/AutocompleteClearButton.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactElement } from \"react\";\n\nimport { Button } from \"../button/Button.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { autocompleteClearButton } from \"./autocompleteStyles.js\";\nimport { type AutocompleteClearButtonProps } from \"./types.js\";\n\n/**\n * An internal component used for to clear the value from the `Autocomplete`.\n *\n * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}\n * @internal\n * @since 6.0.0\n */\nexport function AutocompleteClearButton(\n props: AutocompleteClearButtonProps\n): ReactElement {\n const {\n id: propId,\n className,\n children,\n buttonType = \"icon\",\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel = buttonType === \"text\" || ariaLabelledBy\n ? undefined\n : \"Clear\",\n visibility,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"autocomplete-clear\");\n\n return (\n <Button\n {...remaining}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n id={id}\n className={autocompleteClearButton({ className, visibility })}\n tabIndex={-1}\n buttonType={buttonType}\n >\n {getIcon(\"clear\", children)}\n </Button>\n );\n}\n"],"names":["Button","getIcon","useEnsuredId","autocompleteClearButton","AutocompleteClearButton","props","id","propId","className","children","buttonType","ariaLabelledBy","ariaLabel","undefined","visibility","remaining","aria-label","aria-labelledby","tabIndex"],"mappings":"AAAA;;AAIA,SAASA,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,uBAAuB,QAAQ,0BAA0B;AAGlE;;;;;;CAMC,GACD,OAAO,SAASC,wBACdC,KAAmC;IAEnC,MAAM,EACJC,IAAIC,MAAM,EACVC,SAAS,EACTC,QAAQ,EACRC,aAAa,MAAM,EACnB,mBAAmBC,cAAc,EACjC,cAAcC,YAAYF,eAAe,UAAUC,iBAC/CE,YACA,OAAO,EACXC,UAAU,EACV,GAAGC,WACJ,GAAGV;IACJ,MAAMC,KAAKJ,aAAaK,QAAQ;IAEhC,qBACE,KAACP;QACE,GAAGe,SAAS;QACbC,cAAYJ;QACZK,mBAAiBN;QACjBL,IAAIA;QACJE,WAAWL,wBAAwB;YAAEK;YAAWM;QAAW;QAC3DI,UAAU,CAAC;QACXR,YAAYA;kBAEXT,QAAQ,SAASQ;;AAGxB"}
@@ -5,7 +5,7 @@ import { type AutocompleteDropdownButtonProps } from "./types.js";
5
5
  * This is a simple `Button` wrapper to be used as a dropdown button within the
6
6
  * `Autocomplete`.
7
7
  *
8
- * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
8
+ * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}
9
9
  * @since 6.0.0
10
10
  */
11
11
  export declare function AutocompleteDropdownButton(props: LabelRequiredForA11y<AutocompleteDropdownButtonProps>): ReactElement;
@@ -9,7 +9,7 @@ import { autocompleteDropdownButton } from "./autocompleteStyles.js";
9
9
  * This is a simple `Button` wrapper to be used as a dropdown button within the
10
10
  * `Autocomplete`.
11
11
  *
12
- * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
12
+ * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}
13
13
  * @since 6.0.0
14
14
  */ export function AutocompleteDropdownButton(props) {
15
15
  const { id: propId, icon, visible, iconRotatorProps, className, ...remaining } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/autocomplete/AutocompleteDropdownButton.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactElement } from \"react\";\n\nimport { Button } from \"../button/Button.js\";\nimport { IconRotator } from \"../icon/IconRotator.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { autocompleteDropdownButton } from \"./autocompleteStyles.js\";\nimport { type AutocompleteDropdownButtonProps } from \"./types.js\";\n\n/**\n * This is a simple `Button` wrapper to be used as a dropdown button within the\n * `Autocomplete`.\n *\n * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n */\nexport function AutocompleteDropdownButton(\n props: LabelRequiredForA11y<AutocompleteDropdownButtonProps>\n): ReactElement {\n const {\n id: propId,\n icon,\n visible,\n iconRotatorProps,\n className,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"autocomplete-dropdown\");\n\n return (\n <Button\n {...remaining}\n id={id}\n aria-expanded={visible}\n tabIndex={-1}\n buttonType=\"icon\"\n className={autocompleteDropdownButton({ className })}\n >\n <IconRotator {...iconRotatorProps} rotated={visible}>\n {getIcon(\"dropdown\", icon)}\n </IconRotator>\n </Button>\n );\n}\n"],"names":["Button","IconRotator","getIcon","useEnsuredId","autocompleteDropdownButton","AutocompleteDropdownButton","props","id","propId","icon","visible","iconRotatorProps","className","remaining","aria-expanded","tabIndex","buttonType","rotated"],"mappings":"AAAA;;AAIA,SAASA,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,0BAA0B,QAAQ,0BAA0B;AAGrE;;;;;;CAMC,GACD,OAAO,SAASC,2BACdC,KAA4D;IAE5D,MAAM,EACJC,IAAIC,MAAM,EACVC,IAAI,EACJC,OAAO,EACPC,gBAAgB,EAChBC,SAAS,EACT,GAAGC,WACJ,GAAGP;IAEJ,MAAMC,KAAKJ,aAAaK,QAAQ;IAEhC,qBACE,KAACR;QACE,GAAGa,SAAS;QACbN,IAAIA;QACJO,iBAAeJ;QACfK,UAAU,CAAC;QACXC,YAAW;QACXJ,WAAWR,2BAA2B;YAAEQ;QAAU;kBAElD,cAAA,KAACX;YAAa,GAAGU,gBAAgB;YAAEM,SAASP;sBACzCR,QAAQ,YAAYO;;;AAI7B"}
1
+ {"version":3,"sources":["../../src/autocomplete/AutocompleteDropdownButton.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactElement } from \"react\";\n\nimport { Button } from \"../button/Button.js\";\nimport { IconRotator } from \"../icon/IconRotator.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { autocompleteDropdownButton } from \"./autocompleteStyles.js\";\nimport { type AutocompleteDropdownButtonProps } from \"./types.js\";\n\n/**\n * This is a simple `Button` wrapper to be used as a dropdown button within the\n * `Autocomplete`.\n *\n * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n */\nexport function AutocompleteDropdownButton(\n props: LabelRequiredForA11y<AutocompleteDropdownButtonProps>\n): ReactElement {\n const {\n id: propId,\n icon,\n visible,\n iconRotatorProps,\n className,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"autocomplete-dropdown\");\n\n return (\n <Button\n {...remaining}\n id={id}\n aria-expanded={visible}\n tabIndex={-1}\n buttonType=\"icon\"\n className={autocompleteDropdownButton({ className })}\n >\n <IconRotator {...iconRotatorProps} rotated={visible}>\n {getIcon(\"dropdown\", icon)}\n </IconRotator>\n </Button>\n );\n}\n"],"names":["Button","IconRotator","getIcon","useEnsuredId","autocompleteDropdownButton","AutocompleteDropdownButton","props","id","propId","icon","visible","iconRotatorProps","className","remaining","aria-expanded","tabIndex","buttonType","rotated"],"mappings":"AAAA;;AAIA,SAASA,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,0BAA0B,QAAQ,0BAA0B;AAGrE;;;;;;CAMC,GACD,OAAO,SAASC,2BACdC,KAA4D;IAE5D,MAAM,EACJC,IAAIC,MAAM,EACVC,IAAI,EACJC,OAAO,EACPC,gBAAgB,EAChBC,SAAS,EACT,GAAGC,WACJ,GAAGP;IAEJ,MAAMC,KAAKJ,aAAaK,QAAQ;IAEhC,qBACE,KAACR;QACE,GAAGa,SAAS;QACbN,IAAIA;QACJO,iBAAeJ;QACfK,UAAU,CAAC;QACXC,YAAW;QACXJ,WAAWR,2BAA2B;YAAEQ;QAAU;kBAElD,cAAA,KAACX;YAAa,GAAGU,gBAAgB;YAAEM,SAASP;sBACzCR,QAAQ,YAAYO;;;AAI7B"}
@@ -31,7 +31,7 @@ $disable-clear-button: false !default;
31
31
  /// `disableClearButton` was enabled on the `Autocomplete`.
32
32
  ///
33
33
  /// @type Boolean
34
- $disable-clear-button-opacity-query: false !default;
34
+ $disable-clear-button-display-none-query: false !default;
35
35
 
36
36
  /// Set to `true` to disable the dropdown button styles
37
37
  /// @type Boolean
@@ -130,7 +130,7 @@ $_clear-button-hover-selector: "&:where(:not(:hover):not(:focus-within)) :where(
130
130
  // showing the clear button if the input has a value (or query)
131
131
  $_clear-button-valued-selector: "&:where(:has(:placeholder-shown)) :where(#{$_clear-button-selector + "--query"})";
132
132
 
133
- $_clear-button-opacity-selector: $_clear-button-hover-selector + ", "
133
+ $_clear-button-display-none-selector: $_clear-button-hover-selector + ", "
134
134
  $_clear-button-valued-selector;
135
135
 
136
136
  /// The available configurable css variables and mostly used internally for the
@@ -340,9 +340,12 @@ $variables: (
340
340
  }
341
341
  }
342
342
 
343
- @if not $disable-clear-button {
344
- #{$_clear-button-opacity-selector} {
345
- opacity: 0;
343
+ @if not
344
+ $disable-clear-button and not
345
+ $disable-clear-button-display-none-query
346
+ {
347
+ #{$_clear-button-display-none-selector} {
348
+ display: none;
346
349
  }
347
350
  }
348
351
 
@@ -3,14 +3,14 @@ import { type AutocompleteImplementation, type AutocompleteMultiSelectImplementa
3
3
  /**
4
4
  * This is the single select autocomplete implementation.
5
5
  *
6
- * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
6
+ * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}
7
7
  * @since 6.0.0
8
8
  */
9
9
  export declare function useAutocomplete<Option extends AutocompleteOption, ComboboxEl extends EditableHTMLElement = HTMLInputElement, PopupEl extends HTMLElement = HTMLElement>(options: AutocompleteSingleSelectOptions<Option, ComboboxEl, PopupEl>): AutocompleteSingleSelectImplementation<Option, ComboboxEl, PopupEl>;
10
10
  /**
11
11
  * This is the multiselect autocomplete implementation.
12
12
  *
13
- * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
13
+ * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}
14
14
  * @since 6.0.0
15
15
  */
16
16
  export declare function useAutocomplete<Option extends AutocompleteOption, ComboboxEl extends EditableHTMLElement = HTMLInputElement, PopupEl extends HTMLElement = HTMLElement>(options: AutocompleteMultiSelectOptions<Option, ComboboxEl, PopupEl>): AutocompleteMultiSelectImplementation<Option, ComboboxEl, PopupEl>;
@@ -18,7 +18,7 @@ export declare function useAutocomplete<Option extends AutocompleteOption, Combo
18
18
  * This is an internal override implementation where the types are less strict
19
19
  * so it can be used with the `Autocomplete` component.
20
20
  *
21
- * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
21
+ * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}
22
22
  * @since 6.0.0
23
23
  * @internal
24
24
  */
@@ -12,7 +12,7 @@ const noop = ()=>{
12
12
  // do nothing
13
13
  };
14
14
  /**
15
- * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}
15
+ * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}
16
16
  * @since 6.0.0
17
17
  * @internal
18
18
  */ export function useAutocomplete(options) {
@@ -38,6 +38,7 @@ const noop = ()=>{
38
38
  }
39
39
  const disableCloseOnSelect = propDisableCloseOnSelect ?? (multiselect && checkboxes);
40
40
  const [query, setQuery] = useEnsuredState({
41
+ name: "query",
41
42
  value: propQuery,
42
43
  setValue: propSetQuery,
43
44
  defaultValue: getDefaultQuery({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/autocomplete/useAutocomplete.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useMemo, useRef } from \"react\";\n\nimport { useEditableCombobox } from \"../form/useEditableCombobox.js\";\nimport {\n type EditableHTMLElement,\n triggerManualChangeEvent,\n} from \"../form/utils.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { useUserInteractionMode } from \"../interaction/UserInteractionModeProvider.js\";\nimport { getTransitionCallbacks } from \"../transition/getTransitionCallbacks.js\";\nimport { useEnsuredState } from \"../useEnsuredState.js\";\nimport {\n defaultAutocompleteExtractor,\n defaultAutocompleteFilter,\n defaultAutocompleteGetOptionProps,\n noopAutocompleteFilter,\n} from \"./defaults.js\";\nimport {\n type AutocompleteImplementation,\n type AutocompleteMultiSelectImplementation,\n type AutocompleteMultiSelectOptions,\n type AutocompleteOption,\n type AutocompleteOptions,\n type AutocompleteSingleSelectImplementation,\n type AutocompleteSingleSelectOptions,\n} from \"./types.js\";\nimport {\n enforceSelectedValue,\n getDefaultQuery,\n getDefaultValue,\n isMultipleValues,\n} from \"./utils.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This is the single select autocomplete implementation.\n *\n * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteSingleSelectOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteSingleSelectImplementation<Option, ComboboxEl, PopupEl>;\n/**\n * This is the multiselect autocomplete implementation.\n *\n * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteMultiSelectOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteMultiSelectImplementation<Option, ComboboxEl, PopupEl>;\n/**\n * This is an internal override implementation where the types are less strict\n * so it can be used with the `Autocomplete` component.\n *\n * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n * @internal\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteImplementation<Option, ComboboxEl, PopupEl>;\n/**\n * @see {@link https://next.react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n * @internal\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteImplementation<Option, ComboboxEl, PopupEl> {\n const {\n value: propValue,\n setValue: propSetValue,\n defaultValue,\n onValueChange = noop,\n query: propQuery,\n setQuery: propSetQuery,\n defaultQuery,\n options: values,\n getOptionLabel = defaultAutocompleteExtractor,\n getOptionProps = defaultAutocompleteGetOptionProps,\n onBlur = noop,\n onChange = noop,\n onOpen = noop,\n filter = defaultAutocompleteFilter,\n filterSelected,\n allowAnyValue = filter === noopAutocompleteFilter,\n multiselect: propMultiselect,\n checkboxes,\n selectedIcon: propSelectedIcon,\n unselectedIcon: propUnselectedIcon,\n selectedIconAfter,\n disableSelectedIcon: propDisableSelectedIcon,\n updateQueryOnSelect: propUpdateQueryOnSelect,\n disableCloseOnSelect: propDisableCloseOnSelect,\n ...comboboxOptions\n } = options;\n\n const mode = useUserInteractionMode();\n const [value, setValueState] = useEnsuredState({\n value: propValue,\n setValue: propSetValue,\n defaultValue: getDefaultValue({\n query: propQuery,\n filter,\n multiselect: propMultiselect,\n defaultQuery,\n defaultValue,\n options: values,\n getOptionLabel,\n }),\n });\n const multiselect =\n propMultiselect ??\n (!!value && typeof value === \"object\" && \"length\" in value);\n let updateQueryOnSelect = propUpdateQueryOnSelect;\n if (typeof propUpdateQueryOnSelect === \"undefined\") {\n updateQueryOnSelect = multiselect ? \"clear\" : \"selected\";\n }\n\n const disableCloseOnSelect =\n propDisableCloseOnSelect ?? (multiselect && checkboxes);\n\n const [query, setQuery] = useEnsuredState({\n value: propQuery,\n setValue: propSetQuery,\n defaultValue: getDefaultQuery({\n value,\n getOptionLabel,\n defaultQuery,\n }),\n });\n const setValue = useCallback(\n (value: Option | null | readonly Option[]) => {\n onValueChange(value);\n setValueState(value);\n },\n [onValueChange, setValueState]\n );\n\n const combobox = useEditableCombobox<ComboboxEl, PopupEl>({\n ...comboboxOptions,\n multiselect,\n });\n const {\n visible,\n setVisible,\n popupRef,\n comboboxRef,\n comboboxProps,\n getMenuProps,\n } = combobox;\n\n // These refs are used to make it so that the options are not filtered until\n // the user types a new query while the listbox is visible. The filtered\n // options will be \"cached\" while:\n // - the listbox is closing\n // - the listbox is opening and:\n // - the user has not typed at least one letter\n // - the options have not changed\n const entered = useRef(visible);\n const initialQuery = useRef(\"\");\n const prevAvailableOptions = useRef<readonly Option[] | null>(null);\n const isQueryChange =\n query && query !== initialQuery.current && entered.current;\n\n let availableOptions = prevAvailableOptions.current || values;\n if (\n isQueryChange &&\n filter !== noopAutocompleteFilter &&\n !prevAvailableOptions.current\n ) {\n initialQuery.current = \"\";\n availableOptions = filter({\n list: values,\n query,\n extractor: getOptionLabel,\n });\n }\n\n // This is probably overkill, but `filterSelected` will create a quick-lookup\n // for all the selected values in a `Set` since it is much faster than\n // `Array.includes()`. The lookup will only be re-created whenever the `value`\n // changes or is uninitialized to prevent it being created each render as\n // well.\n //\n // These optimizations only start mattering when there are around 5000 items\n // selected...\n const selectedOptions = useMemo(() => {\n if (!filterSelected) {\n return null;\n }\n\n let optionList: readonly Option[] = [];\n if (isMultipleValues(value)) {\n optionList = value;\n } else if (value) {\n optionList = [value];\n }\n\n return new Set(optionList);\n }, [filterSelected, value]);\n\n if (filterSelected && selectedOptions?.size) {\n availableOptions = availableOptions.filter(\n (option) => !selectedOptions.has(option)\n );\n }\n\n return {\n ...combobox,\n value,\n setValue,\n query,\n setQuery,\n availableOptions,\n multiselect,\n comboboxProps: {\n ...comboboxProps,\n \"aria-autocomplete\": filter === noopAutocompleteFilter ? \"none\" : \"list\",\n value: query,\n onKeyDown(event) {\n comboboxProps.onKeyDown(event);\n if (!visible && event.key === \"Escape\") {\n setQuery(\"\");\n }\n },\n onBlur(event) {\n onBlur(event);\n\n if (allowAnyValue) {\n return;\n }\n\n enforceSelectedValue({\n value,\n visible,\n popupRef,\n container: event.currentTarget.parentElement,\n comboboxRef,\n getOptionLabel,\n availableOptions,\n prevAvailableOptions,\n });\n },\n onFocus(event) {\n comboboxProps.onFocus(event);\n event.currentTarget.select();\n },\n onChange(event) {\n onChange(event);\n\n const { value } = event.currentTarget;\n setQuery(value);\n if (!value && !multiselect) {\n setValue(null);\n }\n },\n },\n getListboxProps(overrides) {\n const {\n ref,\n onEnter,\n onEntered,\n onExited,\n disableTransition,\n ...listboxProps\n } = getMenuProps(overrides);\n\n let selectedIcon = propSelectedIcon;\n let unselectedIcon = propUnselectedIcon;\n let disableSelectedIcon = propDisableSelectedIcon;\n if (multiselect && checkboxes) {\n if (typeof selectedIcon === \"undefined\") {\n selectedIcon = getIcon(\"checkboxChecked\");\n }\n if (typeof unselectedIcon === \"undefined\") {\n unselectedIcon = getIcon(\"checkbox\");\n }\n } else if (typeof disableSelectedIcon === \"undefined\") {\n disableSelectedIcon = true;\n }\n\n return {\n selectedIcon,\n unselectedIcon,\n selectedIconAfter,\n disableSelectedIcon,\n ...listboxProps,\n disableTransition,\n onRequestClose() {\n // Make it so clicking on the text field, clear button, dropdown\n // button, etc does not close the listbox\n if (\n mode !== \"keyboard\" &&\n comboboxRef.current?.parentElement?.contains(document.activeElement)\n ) {\n return;\n }\n\n listboxProps.onRequestClose();\n },\n nodeRef: ref,\n value,\n setValue(option) {\n if (!disableCloseOnSelect) {\n // this makes it so that the options are not filtered again while the\n // listbox is closing after selecting a value\n prevAvailableOptions.current = availableOptions;\n }\n\n if (value && typeof value === \"object\" && \"length\" in value) {\n const nextValue = [...value];\n const i = value.indexOf(option);\n if (i === -1) {\n nextValue.push(option);\n } else {\n nextValue.splice(i, 1);\n }\n\n setValue(nextValue);\n } else {\n setValue(option);\n }\n\n if (updateQueryOnSelect === \"as-is\") {\n return;\n }\n\n const nextQuery =\n updateQueryOnSelect === \"clear\" ? \"\" : getOptionLabel(option);\n triggerManualChangeEvent(comboboxRef.current, nextQuery);\n },\n ...getTransitionCallbacks({\n enter: true,\n onEnter,\n onEntered,\n onEnterOnce: () => {\n onOpen();\n\n // when the listbox is opened, need to flag the entered state to show\n // that new `query` values should be accepted. Also store the initial\n // query.\n entered.current = true;\n initialQuery.current = query;\n },\n disableTransition,\n }),\n onExited() {\n onExited();\n\n // once the listbox has exited, reset any cached states so the next\n // time the listbox is opened the filtering behaves the same\n entered.current = false;\n prevAvailableOptions.current = null;\n },\n };\n },\n getOptionLabel,\n getOptionProps(options) {\n const overrides = getOptionProps(options);\n\n return {\n ...overrides,\n onClick: (event) => {\n overrides?.onClick?.(event);\n if (disableCloseOnSelect) {\n event.stopPropagation();\n }\n },\n };\n },\n getClearButtonProps(overrides) {\n return {\n ...overrides,\n onClick(event) {\n overrides?.onClick?.(event);\n comboboxRef.current?.focus();\n\n if (!multiselect) {\n setValue(null);\n }\n triggerManualChangeEvent(comboboxRef.current, \"\");\n },\n };\n },\n getDropdownButtonProps(overrides) {\n return {\n \"aria-controls\": comboboxProps.id,\n visible,\n ...overrides,\n onClick(event) {\n overrides?.onClick?.(event);\n comboboxRef.current?.focus();\n if (visible) {\n prevAvailableOptions.current = availableOptions;\n }\n setVisible((prev) => !prev);\n },\n };\n },\n };\n}\n"],"names":["useCallback","useMemo","useRef","useEditableCombobox","triggerManualChangeEvent","getIcon","useUserInteractionMode","getTransitionCallbacks","useEnsuredState","defaultAutocompleteExtractor","defaultAutocompleteFilter","defaultAutocompleteGetOptionProps","noopAutocompleteFilter","enforceSelectedValue","getDefaultQuery","getDefaultValue","isMultipleValues","noop","useAutocomplete","options","value","propValue","setValue","propSetValue","defaultValue","onValueChange","query","propQuery","setQuery","propSetQuery","defaultQuery","values","getOptionLabel","getOptionProps","onBlur","onChange","onOpen","filter","filterSelected","allowAnyValue","multiselect","propMultiselect","checkboxes","selectedIcon","propSelectedIcon","unselectedIcon","propUnselectedIcon","selectedIconAfter","disableSelectedIcon","propDisableSelectedIcon","updateQueryOnSelect","propUpdateQueryOnSelect","disableCloseOnSelect","propDisableCloseOnSelect","comboboxOptions","mode","setValueState","combobox","visible","setVisible","popupRef","comboboxRef","comboboxProps","getMenuProps","entered","initialQuery","prevAvailableOptions","isQueryChange","current","availableOptions","list","extractor","selectedOptions","optionList","Set","size","option","has","onKeyDown","event","key","container","currentTarget","parentElement","onFocus","select","getListboxProps","overrides","ref","onEnter","onEntered","onExited","disableTransition","listboxProps","onRequestClose","contains","document","activeElement","nodeRef","nextValue","i","indexOf","push","splice","nextQuery","enter","onEnterOnce","onClick","stopPropagation","getClearButtonProps","focus","getDropdownButtonProps","id","prev"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/autocomplete/useAutocomplete.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useMemo, useRef } from \"react\";\n\nimport { useEditableCombobox } from \"../form/useEditableCombobox.js\";\nimport {\n type EditableHTMLElement,\n triggerManualChangeEvent,\n} from \"../form/utils.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { useUserInteractionMode } from \"../interaction/UserInteractionModeProvider.js\";\nimport { getTransitionCallbacks } from \"../transition/getTransitionCallbacks.js\";\nimport { useEnsuredState } from \"../useEnsuredState.js\";\nimport {\n defaultAutocompleteExtractor,\n defaultAutocompleteFilter,\n defaultAutocompleteGetOptionProps,\n noopAutocompleteFilter,\n} from \"./defaults.js\";\nimport {\n type AutocompleteImplementation,\n type AutocompleteMultiSelectImplementation,\n type AutocompleteMultiSelectOptions,\n type AutocompleteOption,\n type AutocompleteOptions,\n type AutocompleteSingleSelectImplementation,\n type AutocompleteSingleSelectOptions,\n} from \"./types.js\";\nimport {\n enforceSelectedValue,\n getDefaultQuery,\n getDefaultValue,\n isMultipleValues,\n} from \"./utils.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This is the single select autocomplete implementation.\n *\n * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteSingleSelectOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteSingleSelectImplementation<Option, ComboboxEl, PopupEl>;\n/**\n * This is the multiselect autocomplete implementation.\n *\n * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteMultiSelectOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteMultiSelectImplementation<Option, ComboboxEl, PopupEl>;\n/**\n * This is an internal override implementation where the types are less strict\n * so it can be used with the `Autocomplete` component.\n *\n * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n * @internal\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteImplementation<Option, ComboboxEl, PopupEl>;\n/**\n * @see {@link https://react-md.dev/components/autocomplete | Autocomplete Demos}\n * @since 6.0.0\n * @internal\n */\nexport function useAutocomplete<\n Option extends AutocompleteOption,\n ComboboxEl extends EditableHTMLElement = HTMLInputElement,\n PopupEl extends HTMLElement = HTMLElement,\n>(\n options: AutocompleteOptions<Option, ComboboxEl, PopupEl>\n): AutocompleteImplementation<Option, ComboboxEl, PopupEl> {\n const {\n value: propValue,\n setValue: propSetValue,\n defaultValue,\n onValueChange = noop,\n query: propQuery,\n setQuery: propSetQuery,\n defaultQuery,\n options: values,\n getOptionLabel = defaultAutocompleteExtractor,\n getOptionProps = defaultAutocompleteGetOptionProps,\n onBlur = noop,\n onChange = noop,\n onOpen = noop,\n filter = defaultAutocompleteFilter,\n filterSelected,\n allowAnyValue = filter === noopAutocompleteFilter,\n multiselect: propMultiselect,\n checkboxes,\n selectedIcon: propSelectedIcon,\n unselectedIcon: propUnselectedIcon,\n selectedIconAfter,\n disableSelectedIcon: propDisableSelectedIcon,\n updateQueryOnSelect: propUpdateQueryOnSelect,\n disableCloseOnSelect: propDisableCloseOnSelect,\n ...comboboxOptions\n } = options;\n\n const mode = useUserInteractionMode();\n const [value, setValueState] = useEnsuredState({\n value: propValue,\n setValue: propSetValue,\n defaultValue: getDefaultValue({\n query: propQuery,\n filter,\n multiselect: propMultiselect,\n defaultQuery,\n defaultValue,\n options: values,\n getOptionLabel,\n }),\n });\n const multiselect =\n propMultiselect ??\n (!!value && typeof value === \"object\" && \"length\" in value);\n let updateQueryOnSelect = propUpdateQueryOnSelect;\n if (typeof propUpdateQueryOnSelect === \"undefined\") {\n updateQueryOnSelect = multiselect ? \"clear\" : \"selected\";\n }\n\n const disableCloseOnSelect =\n propDisableCloseOnSelect ?? (multiselect && checkboxes);\n\n const [query, setQuery] = useEnsuredState({\n name: \"query\",\n value: propQuery,\n setValue: propSetQuery,\n defaultValue: getDefaultQuery({\n value,\n getOptionLabel,\n defaultQuery,\n }),\n });\n const setValue = useCallback(\n (value: Option | null | readonly Option[]) => {\n onValueChange(value);\n setValueState(value);\n },\n [onValueChange, setValueState]\n );\n\n const combobox = useEditableCombobox<ComboboxEl, PopupEl>({\n ...comboboxOptions,\n multiselect,\n });\n const {\n visible,\n setVisible,\n popupRef,\n comboboxRef,\n comboboxProps,\n getMenuProps,\n } = combobox;\n\n // These refs are used to make it so that the options are not filtered until\n // the user types a new query while the listbox is visible. The filtered\n // options will be \"cached\" while:\n // - the listbox is closing\n // - the listbox is opening and:\n // - the user has not typed at least one letter\n // - the options have not changed\n const entered = useRef(visible);\n const initialQuery = useRef(\"\");\n const prevAvailableOptions = useRef<readonly Option[] | null>(null);\n const isQueryChange =\n query && query !== initialQuery.current && entered.current;\n\n let availableOptions = prevAvailableOptions.current || values;\n if (\n isQueryChange &&\n filter !== noopAutocompleteFilter &&\n !prevAvailableOptions.current\n ) {\n initialQuery.current = \"\";\n availableOptions = filter({\n list: values,\n query,\n extractor: getOptionLabel,\n });\n }\n\n // This is probably overkill, but `filterSelected` will create a quick-lookup\n // for all the selected values in a `Set` since it is much faster than\n // `Array.includes()`. The lookup will only be re-created whenever the `value`\n // changes or is uninitialized to prevent it being created each render as\n // well.\n //\n // These optimizations only start mattering when there are around 5000 items\n // selected...\n const selectedOptions = useMemo(() => {\n if (!filterSelected) {\n return null;\n }\n\n let optionList: readonly Option[] = [];\n if (isMultipleValues(value)) {\n optionList = value;\n } else if (value) {\n optionList = [value];\n }\n\n return new Set(optionList);\n }, [filterSelected, value]);\n\n if (filterSelected && selectedOptions?.size) {\n availableOptions = availableOptions.filter(\n (option) => !selectedOptions.has(option)\n );\n }\n\n return {\n ...combobox,\n value,\n setValue,\n query,\n setQuery,\n availableOptions,\n multiselect,\n comboboxProps: {\n ...comboboxProps,\n \"aria-autocomplete\": filter === noopAutocompleteFilter ? \"none\" : \"list\",\n value: query,\n onKeyDown(event) {\n comboboxProps.onKeyDown(event);\n if (!visible && event.key === \"Escape\") {\n setQuery(\"\");\n }\n },\n onBlur(event) {\n onBlur(event);\n\n if (allowAnyValue) {\n return;\n }\n\n enforceSelectedValue({\n value,\n visible,\n popupRef,\n container: event.currentTarget.parentElement,\n comboboxRef,\n getOptionLabel,\n availableOptions,\n prevAvailableOptions,\n });\n },\n onFocus(event) {\n comboboxProps.onFocus(event);\n event.currentTarget.select();\n },\n onChange(event) {\n onChange(event);\n\n const { value } = event.currentTarget;\n setQuery(value);\n if (!value && !multiselect) {\n setValue(null);\n }\n },\n },\n getListboxProps(overrides) {\n const {\n ref,\n onEnter,\n onEntered,\n onExited,\n disableTransition,\n ...listboxProps\n } = getMenuProps(overrides);\n\n let selectedIcon = propSelectedIcon;\n let unselectedIcon = propUnselectedIcon;\n let disableSelectedIcon = propDisableSelectedIcon;\n if (multiselect && checkboxes) {\n if (typeof selectedIcon === \"undefined\") {\n selectedIcon = getIcon(\"checkboxChecked\");\n }\n if (typeof unselectedIcon === \"undefined\") {\n unselectedIcon = getIcon(\"checkbox\");\n }\n } else if (typeof disableSelectedIcon === \"undefined\") {\n disableSelectedIcon = true;\n }\n\n return {\n selectedIcon,\n unselectedIcon,\n selectedIconAfter,\n disableSelectedIcon,\n ...listboxProps,\n disableTransition,\n onRequestClose() {\n // Make it so clicking on the text field, clear button, dropdown\n // button, etc does not close the listbox\n if (\n mode !== \"keyboard\" &&\n comboboxRef.current?.parentElement?.contains(document.activeElement)\n ) {\n return;\n }\n\n listboxProps.onRequestClose();\n },\n nodeRef: ref,\n value,\n setValue(option) {\n if (!disableCloseOnSelect) {\n // this makes it so that the options are not filtered again while the\n // listbox is closing after selecting a value\n prevAvailableOptions.current = availableOptions;\n }\n\n if (value && typeof value === \"object\" && \"length\" in value) {\n const nextValue = [...value];\n const i = value.indexOf(option);\n if (i === -1) {\n nextValue.push(option);\n } else {\n nextValue.splice(i, 1);\n }\n\n setValue(nextValue);\n } else {\n setValue(option);\n }\n\n if (updateQueryOnSelect === \"as-is\") {\n return;\n }\n\n const nextQuery =\n updateQueryOnSelect === \"clear\" ? \"\" : getOptionLabel(option);\n triggerManualChangeEvent(comboboxRef.current, nextQuery);\n },\n ...getTransitionCallbacks({\n enter: true,\n onEnter,\n onEntered,\n onEnterOnce: () => {\n onOpen();\n\n // when the listbox is opened, need to flag the entered state to show\n // that new `query` values should be accepted. Also store the initial\n // query.\n entered.current = true;\n initialQuery.current = query;\n },\n disableTransition,\n }),\n onExited() {\n onExited();\n\n // once the listbox has exited, reset any cached states so the next\n // time the listbox is opened the filtering behaves the same\n entered.current = false;\n prevAvailableOptions.current = null;\n },\n };\n },\n getOptionLabel,\n getOptionProps(options) {\n const overrides = getOptionProps(options);\n\n return {\n ...overrides,\n onClick: (event) => {\n overrides?.onClick?.(event);\n if (disableCloseOnSelect) {\n event.stopPropagation();\n }\n },\n };\n },\n getClearButtonProps(overrides) {\n return {\n ...overrides,\n onClick(event) {\n overrides?.onClick?.(event);\n comboboxRef.current?.focus();\n\n if (!multiselect) {\n setValue(null);\n }\n triggerManualChangeEvent(comboboxRef.current, \"\");\n },\n };\n },\n getDropdownButtonProps(overrides) {\n return {\n \"aria-controls\": comboboxProps.id,\n visible,\n ...overrides,\n onClick(event) {\n overrides?.onClick?.(event);\n comboboxRef.current?.focus();\n if (visible) {\n prevAvailableOptions.current = availableOptions;\n }\n setVisible((prev) => !prev);\n },\n };\n },\n };\n}\n"],"names":["useCallback","useMemo","useRef","useEditableCombobox","triggerManualChangeEvent","getIcon","useUserInteractionMode","getTransitionCallbacks","useEnsuredState","defaultAutocompleteExtractor","defaultAutocompleteFilter","defaultAutocompleteGetOptionProps","noopAutocompleteFilter","enforceSelectedValue","getDefaultQuery","getDefaultValue","isMultipleValues","noop","useAutocomplete","options","value","propValue","setValue","propSetValue","defaultValue","onValueChange","query","propQuery","setQuery","propSetQuery","defaultQuery","values","getOptionLabel","getOptionProps","onBlur","onChange","onOpen","filter","filterSelected","allowAnyValue","multiselect","propMultiselect","checkboxes","selectedIcon","propSelectedIcon","unselectedIcon","propUnselectedIcon","selectedIconAfter","disableSelectedIcon","propDisableSelectedIcon","updateQueryOnSelect","propUpdateQueryOnSelect","disableCloseOnSelect","propDisableCloseOnSelect","comboboxOptions","mode","setValueState","name","combobox","visible","setVisible","popupRef","comboboxRef","comboboxProps","getMenuProps","entered","initialQuery","prevAvailableOptions","isQueryChange","current","availableOptions","list","extractor","selectedOptions","optionList","Set","size","option","has","onKeyDown","event","key","container","currentTarget","parentElement","onFocus","select","getListboxProps","overrides","ref","onEnter","onEntered","onExited","disableTransition","listboxProps","onRequestClose","contains","document","activeElement","nodeRef","nextValue","i","indexOf","push","splice","nextQuery","enter","onEnterOnce","onClick","stopPropagation","getClearButtonProps","focus","getDropdownButtonProps","id","prev"],"mappings":"AAAA;AAEA,SAASA,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AAErD,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAEEC,wBAAwB,QACnB,mBAAmB;AAC1B,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,sBAAsB,QAAQ,gDAAgD;AACvF,SAASC,sBAAsB,QAAQ,0CAA0C;AACjF,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SACEC,4BAA4B,EAC5BC,yBAAyB,EACzBC,iCAAiC,EACjCC,sBAAsB,QACjB,gBAAgB;AAUvB,SACEC,oBAAoB,EACpBC,eAAe,EACfC,eAAe,EACfC,gBAAgB,QACX,aAAa;AAEpB,MAAMC,OAAO;AACX,aAAa;AACf;AA2CA;;;;CAIC,GACD,OAAO,SAASC,gBAKdC,OAAyD;IAEzD,MAAM,EACJC,OAAOC,SAAS,EAChBC,UAAUC,YAAY,EACtBC,YAAY,EACZC,gBAAgBR,IAAI,EACpBS,OAAOC,SAAS,EAChBC,UAAUC,YAAY,EACtBC,YAAY,EACZX,SAASY,MAAM,EACfC,iBAAiBvB,4BAA4B,EAC7CwB,iBAAiBtB,iCAAiC,EAClDuB,SAASjB,IAAI,EACbkB,WAAWlB,IAAI,EACfmB,SAASnB,IAAI,EACboB,SAAS3B,yBAAyB,EAClC4B,cAAc,EACdC,gBAAgBF,WAAWzB,sBAAsB,EACjD4B,aAAaC,eAAe,EAC5BC,UAAU,EACVC,cAAcC,gBAAgB,EAC9BC,gBAAgBC,kBAAkB,EAClCC,iBAAiB,EACjBC,qBAAqBC,uBAAuB,EAC5CC,qBAAqBC,uBAAuB,EAC5CC,sBAAsBC,wBAAwB,EAC9C,GAAGC,iBACJ,GAAGnC;IAEJ,MAAMoC,OAAOjD;IACb,MAAM,CAACc,OAAOoC,cAAc,GAAGhD,gBAAgB;QAC7CY,OAAOC;QACPC,UAAUC;QACVC,cAAcT,gBAAgB;YAC5BW,OAAOC;YACPU;YACAG,aAAaC;YACbX;YACAN;YACAL,SAASY;YACTC;QACF;IACF;IACA,MAAMQ,cACJC,mBACC,CAAA,CAAC,CAACrB,SAAS,OAAOA,UAAU,YAAY,YAAYA,KAAI;IAC3D,IAAI8B,sBAAsBC;IAC1B,IAAI,OAAOA,4BAA4B,aAAa;QAClDD,sBAAsBV,cAAc,UAAU;IAChD;IAEA,MAAMY,uBACJC,4BAA6Bb,CAAAA,eAAeE,UAAS;IAEvD,MAAM,CAAChB,OAAOE,SAAS,GAAGpB,gBAAgB;QACxCiD,MAAM;QACNrC,OAAOO;QACPL,UAAUO;QACVL,cAAcV,gBAAgB;YAC5BM;YACAY;YACAF;QACF;IACF;IACA,MAAMR,WAAWtB,YACf,CAACoB;QACCK,cAAcL;QACdoC,cAAcpC;IAChB,GACA;QAACK;QAAe+B;KAAc;IAGhC,MAAME,WAAWvD,oBAAyC;QACxD,GAAGmD,eAAe;QAClBd;IACF;IACA,MAAM,EACJmB,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,aAAa,EACbC,YAAY,EACb,GAAGN;IAEJ,4EAA4E;IAC5E,wEAAwE;IACxE,kCAAkC;IAClC,2BAA2B;IAC3B,gCAAgC;IAChC,iDAAiD;IACjD,mCAAmC;IACnC,MAAMO,UAAU/D,OAAOyD;IACvB,MAAMO,eAAehE,OAAO;IAC5B,MAAMiE,uBAAuBjE,OAAiC;IAC9D,MAAMkE,gBACJ1C,SAASA,UAAUwC,aAAaG,OAAO,IAAIJ,QAAQI,OAAO;IAE5D,IAAIC,mBAAmBH,qBAAqBE,OAAO,IAAItC;IACvD,IACEqC,iBACA/B,WAAWzB,0BACX,CAACuD,qBAAqBE,OAAO,EAC7B;QACAH,aAAaG,OAAO,GAAG;QACvBC,mBAAmBjC,OAAO;YACxBkC,MAAMxC;YACNL;YACA8C,WAAWxC;QACb;IACF;IAEA,6EAA6E;IAC7E,sEAAsE;IACtE,8EAA8E;IAC9E,yEAAyE;IACzE,QAAQ;IACR,EAAE;IACF,4EAA4E;IAC5E,cAAc;IACd,MAAMyC,kBAAkBxE,QAAQ;QAC9B,IAAI,CAACqC,gBAAgB;YACnB,OAAO;QACT;QAEA,IAAIoC,aAAgC,EAAE;QACtC,IAAI1D,iBAAiBI,QAAQ;YAC3BsD,aAAatD;QACf,OAAO,IAAIA,OAAO;YAChBsD,aAAa;gBAACtD;aAAM;QACtB;QAEA,OAAO,IAAIuD,IAAID;IACjB,GAAG;QAACpC;QAAgBlB;KAAM;IAE1B,IAAIkB,kBAAkBmC,iBAAiBG,MAAM;QAC3CN,mBAAmBA,iBAAiBjC,MAAM,CACxC,CAACwC,SAAW,CAACJ,gBAAgBK,GAAG,CAACD;IAErC;IAEA,OAAO;QACL,GAAGnB,QAAQ;QACXtC;QACAE;QACAI;QACAE;QACA0C;QACA9B;QACAuB,eAAe;YACb,GAAGA,aAAa;YAChB,qBAAqB1B,WAAWzB,yBAAyB,SAAS;YAClEQ,OAAOM;YACPqD,WAAUC,KAAK;gBACbjB,cAAcgB,SAAS,CAACC;gBACxB,IAAI,CAACrB,WAAWqB,MAAMC,GAAG,KAAK,UAAU;oBACtCrD,SAAS;gBACX;YACF;YACAM,QAAO8C,KAAK;gBACV9C,OAAO8C;gBAEP,IAAIzC,eAAe;oBACjB;gBACF;gBAEA1B,qBAAqB;oBACnBO;oBACAuC;oBACAE;oBACAqB,WAAWF,MAAMG,aAAa,CAACC,aAAa;oBAC5CtB;oBACA9B;oBACAsC;oBACAH;gBACF;YACF;YACAkB,SAAQL,KAAK;gBACXjB,cAAcsB,OAAO,CAACL;gBACtBA,MAAMG,aAAa,CAACG,MAAM;YAC5B;YACAnD,UAAS6C,KAAK;gBACZ7C,SAAS6C;gBAET,MAAM,EAAE5D,KAAK,EAAE,GAAG4D,MAAMG,aAAa;gBACrCvD,SAASR;gBACT,IAAI,CAACA,SAAS,CAACoB,aAAa;oBAC1BlB,SAAS;gBACX;YACF;QACF;QACAiE,iBAAgBC,SAAS;YACvB,MAAM,EACJC,GAAG,EACHC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjB,GAAGC,cACJ,GAAG9B,aAAawB;YAEjB,IAAI7C,eAAeC;YACnB,IAAIC,iBAAiBC;YACrB,IAAIE,sBAAsBC;YAC1B,IAAIT,eAAeE,YAAY;gBAC7B,IAAI,OAAOC,iBAAiB,aAAa;oBACvCA,eAAetC,QAAQ;gBACzB;gBACA,IAAI,OAAOwC,mBAAmB,aAAa;oBACzCA,iBAAiBxC,QAAQ;gBAC3B;YACF,OAAO,IAAI,OAAO2C,wBAAwB,aAAa;gBACrDA,sBAAsB;YACxB;YAEA,OAAO;gBACLL;gBACAE;gBACAE;gBACAC;gBACA,GAAG8C,YAAY;gBACfD;gBACAE;oBACE,gEAAgE;oBAChE,yCAAyC;oBACzC,IACExC,SAAS,cACTO,YAAYO,OAAO,EAAEe,eAAeY,SAASC,SAASC,aAAa,GACnE;wBACA;oBACF;oBAEAJ,aAAaC,cAAc;gBAC7B;gBACAI,SAASV;gBACTrE;gBACAE,UAASuD,MAAM;oBACb,IAAI,CAACzB,sBAAsB;wBACzB,qEAAqE;wBACrE,6CAA6C;wBAC7Ce,qBAAqBE,OAAO,GAAGC;oBACjC;oBAEA,IAAIlD,SAAS,OAAOA,UAAU,YAAY,YAAYA,OAAO;wBAC3D,MAAMgF,YAAY;+BAAIhF;yBAAM;wBAC5B,MAAMiF,IAAIjF,MAAMkF,OAAO,CAACzB;wBACxB,IAAIwB,MAAM,CAAC,GAAG;4BACZD,UAAUG,IAAI,CAAC1B;wBACjB,OAAO;4BACLuB,UAAUI,MAAM,CAACH,GAAG;wBACtB;wBAEA/E,SAAS8E;oBACX,OAAO;wBACL9E,SAASuD;oBACX;oBAEA,IAAI3B,wBAAwB,SAAS;wBACnC;oBACF;oBAEA,MAAMuD,YACJvD,wBAAwB,UAAU,KAAKlB,eAAe6C;oBACxDzE,yBAAyB0D,YAAYO,OAAO,EAAEoC;gBAChD;gBACA,GAAGlG,uBAAuB;oBACxBmG,OAAO;oBACPhB;oBACAC;oBACAgB,aAAa;wBACXvE;wBAEA,qEAAqE;wBACrE,qEAAqE;wBACrE,SAAS;wBACT6B,QAAQI,OAAO,GAAG;wBAClBH,aAAaG,OAAO,GAAG3C;oBACzB;oBACAmE;gBACF,EAAE;gBACFD;oBACEA;oBAEA,mEAAmE;oBACnE,4DAA4D;oBAC5D3B,QAAQI,OAAO,GAAG;oBAClBF,qBAAqBE,OAAO,GAAG;gBACjC;YACF;QACF;QACArC;QACAC,gBAAed,OAAO;YACpB,MAAMqE,YAAYvD,eAAed;YAEjC,OAAO;gBACL,GAAGqE,SAAS;gBACZoB,SAAS,CAAC5B;oBACRQ,WAAWoB,UAAU5B;oBACrB,IAAI5B,sBAAsB;wBACxB4B,MAAM6B,eAAe;oBACvB;gBACF;YACF;QACF;QACAC,qBAAoBtB,SAAS;YAC3B,OAAO;gBACL,GAAGA,SAAS;gBACZoB,SAAQ5B,KAAK;oBACXQ,WAAWoB,UAAU5B;oBACrBlB,YAAYO,OAAO,EAAE0C;oBAErB,IAAI,CAACvE,aAAa;wBAChBlB,SAAS;oBACX;oBACAlB,yBAAyB0D,YAAYO,OAAO,EAAE;gBAChD;YACF;QACF;QACA2C,wBAAuBxB,SAAS;YAC9B,OAAO;gBACL,iBAAiBzB,cAAckD,EAAE;gBACjCtD;gBACA,GAAG6B,SAAS;gBACZoB,SAAQ5B,KAAK;oBACXQ,WAAWoB,UAAU5B;oBACrBlB,YAAYO,OAAO,EAAE0C;oBACrB,IAAIpD,SAAS;wBACXQ,qBAAqBE,OAAO,GAAGC;oBACjC;oBACAV,WAAW,CAACsD,OAAS,CAACA;gBACxB;YACF;QACF;IACF;AACF"}
@@ -80,7 +80,7 @@ export interface AvatarProps extends Omit<HTMLAttributes<HTMLSpanElement>, "colo
80
80
  * }
81
81
  * ```
82
82
  *
83
- * @see {@link https://next.react-md.dev/components/avatar | Avatar Demos}
83
+ * @see {@link https://react-md.dev/components/avatar | Avatar Demos}
84
84
  * @since 6.0.0 `aria-hidden` is set to `true` by default.
85
85
  */
86
86
  export declare const Avatar: import("react").ForwardRefExoticComponent<AvatarProps & import("react").RefAttributes<HTMLSpanElement>>;
@@ -17,7 +17,7 @@ import { avatar, avatarImage } from "./styles.js";
17
17
  * }
18
18
  * ```
19
19
  *
20
- * @see {@link https://next.react-md.dev/components/avatar | Avatar Demos}
20
+ * @see {@link https://react-md.dev/components/avatar | Avatar Demos}
21
21
  * @since 6.0.0 `aria-hidden` is set to `true` by default.
22
22
  */ export const Avatar = /*#__PURE__*/ forwardRef(function Avatar(props, ref) {
23
23
  const { "aria-hidden": ariaHidden = true, className, children, src, alt = "", size = "avatar", color = "", theme, imgProps, referrerPolicy, ...remaining } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/avatar/Avatar.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type ImgHTMLAttributes,\n type ReactNode,\n forwardRef,\n} from \"react\";\n\nimport { type PropsWithRef } from \"../types.js\";\nimport { type AvatarClassNameOptions, avatar, avatarImage } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-avatar-background-color\"?: string;\n \"--rmd-avatar-color\"?: string;\n \"--rmd-avatar-border-color\"?: string;\n \"--rmd-avatar-border-radius\"?: string | number;\n \"--rmd-avatar-size\"?: string | number;\n \"--rmd-avatar-font-size\"?: string | number;\n }\n}\n\nexport type AvatarImgAttributes = ImgHTMLAttributes<HTMLImageElement>;\n\n/**\n * @since 6.0.0 `aria-hidden` is set to `true` by default and removed\n * the `role=\"presentation\"`.\n */\nexport interface AvatarProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"color\">,\n AvatarClassNameOptions {\n /**\n * Since avatars are normally presentational data, they are hidden from screen\n * readers by default.\n *\n * @defaultValue `true`\n */\n \"aria-hidden\"?: HTMLAttributes<HTMLSpanElement>[\"aria-hidden\"];\n\n /**\n * This should be an image `src` attribute to create an avatar from. When this\n * prop is defined, you should not add any children to the avatar as the\n * positioning will break.\n */\n src?: string;\n\n /**\n * An optional alt tag to display on the `<img>` when the `src` prop is also\n * applied.\n *\n * For accessibility and screen readers, you normally do not want to actually\n * provide this prop. This should only be used if the `Avatar` is not\n * accompanied by some other component or main content as it will be extra\n * noise for screen readers.\n *\n * @defaultValue `\"\"`\n */\n alt?: string;\n\n /**\n * An optional `referrerPolicy` to provide to the `<img>` element if the `src`\n * or `imgProps` props are provided.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-referrerpolicy|Referrer Policy}\n *\n * @since 2.2.0\n */\n referrerPolicy?: AvatarImgAttributes[\"referrerPolicy\"];\n\n /**\n * An optional object of image props and ref that can be used to create an\n * image within the `Avatar`. This can be useful to add a custom `style`\n * or`className` to the `<img>` element if that additional customization is\n * needed.\n *\n * Note: The values in this object will override the `src`, `alt`, and\n * `referrerPolicy` root level avatar props if they exist on this object.\n *\n * @since 2.2.0\n */\n imgProps?: PropsWithRef<AvatarImgAttributes, HTMLImageElement>;\n}\n\n/**\n * An `Avatar` is generally used to represent objects or people within your app.\n * The avatar can consist of an image, an icon, or some text to display. When\n * the avatar is not an image, different themes can be applied to make the\n * avatar more unique.\n *\n * @example Simple Example\n * ```tsx\n * import { Avatar } from \"@react-md/core/avatar/Avatar\";\n * import { type ReactElement } from \"react\";\n *\n * export function Example(): ReactElement {\n * return <Avatar src=\"/path-to-img.png\" />;\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/avatar | Avatar Demos}\n * @since 6.0.0 `aria-hidden` is set to `true` by default.\n */\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n function Avatar(props, ref) {\n const {\n \"aria-hidden\": ariaHidden = true,\n className,\n children,\n src,\n alt = \"\",\n size = \"avatar\",\n color = \"\",\n theme,\n imgProps,\n referrerPolicy,\n ...remaining\n } = props;\n\n let img: ReactNode;\n if (src || imgProps) {\n img = (\n <img\n src={src}\n alt={alt}\n referrerPolicy={referrerPolicy}\n {...imgProps}\n className={avatarImage({ className: imgProps?.className })}\n />\n );\n }\n\n return (\n <span\n {...remaining}\n aria-hidden={ariaHidden}\n ref={ref}\n className={avatar({\n size,\n color,\n theme,\n className,\n })}\n >\n {img}\n {children}\n </span>\n );\n }\n);\n"],"names":["forwardRef","avatar","avatarImage","Avatar","props","ref","ariaHidden","className","children","src","alt","size","color","theme","imgProps","referrerPolicy","remaining","img","span","aria-hidden"],"mappings":";AAAA,SAIEA,UAAU,QACL,QAAQ;AAGf,SAAsCC,MAAM,EAAEC,WAAW,QAAQ,cAAc;AA0E/E;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,MAAMC,uBAASH,WACpB,SAASG,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJ,eAAeC,aAAa,IAAI,EAChCC,SAAS,EACTC,QAAQ,EACRC,GAAG,EACHC,MAAM,EAAE,EACRC,OAAO,QAAQ,EACfC,QAAQ,EAAE,EACVC,KAAK,EACLC,QAAQ,EACRC,cAAc,EACd,GAAGC,WACJ,GAAGZ;IAEJ,IAAIa;IACJ,IAAIR,OAAOK,UAAU;QACnBG,oBACE,KAACA;YACCR,KAAKA;YACLC,KAAKA;YACLK,gBAAgBA;YACf,GAAGD,QAAQ;YACZP,WAAWL,YAAY;gBAAEK,WAAWO,UAAUP;YAAU;;IAG9D;IAEA,qBACE,MAACW;QACE,GAAGF,SAAS;QACbG,eAAab;QACbD,KAAKA;QACLE,WAAWN,OAAO;YAChBU;YACAC;YACAC;YACAN;QACF;;YAECU;YACAT;;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/avatar/Avatar.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type ImgHTMLAttributes,\n type ReactNode,\n forwardRef,\n} from \"react\";\n\nimport { type PropsWithRef } from \"../types.js\";\nimport { type AvatarClassNameOptions, avatar, avatarImage } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-avatar-background-color\"?: string;\n \"--rmd-avatar-color\"?: string;\n \"--rmd-avatar-border-color\"?: string;\n \"--rmd-avatar-border-radius\"?: string | number;\n \"--rmd-avatar-size\"?: string | number;\n \"--rmd-avatar-font-size\"?: string | number;\n }\n}\n\nexport type AvatarImgAttributes = ImgHTMLAttributes<HTMLImageElement>;\n\n/**\n * @since 6.0.0 `aria-hidden` is set to `true` by default and removed\n * the `role=\"presentation\"`.\n */\nexport interface AvatarProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"color\">,\n AvatarClassNameOptions {\n /**\n * Since avatars are normally presentational data, they are hidden from screen\n * readers by default.\n *\n * @defaultValue `true`\n */\n \"aria-hidden\"?: HTMLAttributes<HTMLSpanElement>[\"aria-hidden\"];\n\n /**\n * This should be an image `src` attribute to create an avatar from. When this\n * prop is defined, you should not add any children to the avatar as the\n * positioning will break.\n */\n src?: string;\n\n /**\n * An optional alt tag to display on the `<img>` when the `src` prop is also\n * applied.\n *\n * For accessibility and screen readers, you normally do not want to actually\n * provide this prop. This should only be used if the `Avatar` is not\n * accompanied by some other component or main content as it will be extra\n * noise for screen readers.\n *\n * @defaultValue `\"\"`\n */\n alt?: string;\n\n /**\n * An optional `referrerPolicy` to provide to the `<img>` element if the `src`\n * or `imgProps` props are provided.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-referrerpolicy|Referrer Policy}\n *\n * @since 2.2.0\n */\n referrerPolicy?: AvatarImgAttributes[\"referrerPolicy\"];\n\n /**\n * An optional object of image props and ref that can be used to create an\n * image within the `Avatar`. This can be useful to add a custom `style`\n * or`className` to the `<img>` element if that additional customization is\n * needed.\n *\n * Note: The values in this object will override the `src`, `alt`, and\n * `referrerPolicy` root level avatar props if they exist on this object.\n *\n * @since 2.2.0\n */\n imgProps?: PropsWithRef<AvatarImgAttributes, HTMLImageElement>;\n}\n\n/**\n * An `Avatar` is generally used to represent objects or people within your app.\n * The avatar can consist of an image, an icon, or some text to display. When\n * the avatar is not an image, different themes can be applied to make the\n * avatar more unique.\n *\n * @example Simple Example\n * ```tsx\n * import { Avatar } from \"@react-md/core/avatar/Avatar\";\n * import { type ReactElement } from \"react\";\n *\n * export function Example(): ReactElement {\n * return <Avatar src=\"/path-to-img.png\" />;\n * }\n * ```\n *\n * @see {@link https://react-md.dev/components/avatar | Avatar Demos}\n * @since 6.0.0 `aria-hidden` is set to `true` by default.\n */\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n function Avatar(props, ref) {\n const {\n \"aria-hidden\": ariaHidden = true,\n className,\n children,\n src,\n alt = \"\",\n size = \"avatar\",\n color = \"\",\n theme,\n imgProps,\n referrerPolicy,\n ...remaining\n } = props;\n\n let img: ReactNode;\n if (src || imgProps) {\n img = (\n <img\n src={src}\n alt={alt}\n referrerPolicy={referrerPolicy}\n {...imgProps}\n className={avatarImage({ className: imgProps?.className })}\n />\n );\n }\n\n return (\n <span\n {...remaining}\n aria-hidden={ariaHidden}\n ref={ref}\n className={avatar({\n size,\n color,\n theme,\n className,\n })}\n >\n {img}\n {children}\n </span>\n );\n }\n);\n"],"names":["forwardRef","avatar","avatarImage","Avatar","props","ref","ariaHidden","className","children","src","alt","size","color","theme","imgProps","referrerPolicy","remaining","img","span","aria-hidden"],"mappings":";AAAA,SAIEA,UAAU,QACL,QAAQ;AAGf,SAAsCC,MAAM,EAAEC,WAAW,QAAQ,cAAc;AA0E/E;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,MAAMC,uBAASH,WACpB,SAASG,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJ,eAAeC,aAAa,IAAI,EAChCC,SAAS,EACTC,QAAQ,EACRC,GAAG,EACHC,MAAM,EAAE,EACRC,OAAO,QAAQ,EACfC,QAAQ,EAAE,EACVC,KAAK,EACLC,QAAQ,EACRC,cAAc,EACd,GAAGC,WACJ,GAAGZ;IAEJ,IAAIa;IACJ,IAAIR,OAAOK,UAAU;QACnBG,oBACE,KAACA;YACCR,KAAKA;YACLC,KAAKA;YACLK,gBAAgBA;YACf,GAAGD,QAAQ;YACZP,WAAWL,YAAY;gBAAEK,WAAWO,UAAUP;YAAU;;IAG9D;IAEA,qBACE,MAACW;QACE,GAAGF,SAAS;QACbG,eAAab;QACbD,KAAKA;QACLE,WAAWN,OAAO;YAChBU;YACAC;YACAC;YACAN;QACF;;YAECU;YACAT;;;AAGP,GACA"}
@@ -6,6 +6,7 @@
6
6
  @use "sass:map";
7
7
  @use "sass:math";
8
8
  @use "../utils";
9
+ @use "../border-radius";
9
10
  @use "../theme/colors";
10
11
  @use "../typography/typography";
11
12
  @use "../icon/icon";
@@ -53,7 +54,7 @@ $border-color: transparent !default;
53
54
  /// set this to something like 0.25rem.
54
55
  ///
55
56
  /// @type Number
56
- $border-radius: 50% !default;
57
+ $border-radius: border-radius.get-var(full) !default;
57
58
 
58
59
  /// The default height and width
59
60
  /// @type Number
@@ -178,7 +179,6 @@ $variables: (
178
179
  @include set-var(background-color, $background-color);
179
180
  @include set-var(color, $color);
180
181
  @include set-var(border-color, $border-color);
181
- @include set-var(border-radius, $border-radius);
182
182
  @include set-var(size, $size);
183
183
  @include set-var(font-size, $font-size);
184
184
  }
@@ -198,7 +198,7 @@ $variables: (
198
198
  }
199
199
  @include utils.map-to-styles(typography.$base-font-styles);
200
200
  @include use-var(background-color);
201
- @include use-var(border-radius);
201
+ @include use-var(border-radius, $fallback: $border-radius);
202
202
  @include use-var(color);
203
203
  @include use-var(font-size);
204
204
  @include use-var(height, size);
@@ -42,7 +42,7 @@ export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
42
42
  * }
43
43
  * ```
44
44
  *
45
- * @see {@link https://next.react-md.dev/components/badge | Badge Demos}
45
+ * @see {@link https://react-md.dev/components/badge | Badge Demos}
46
46
  * @since 6.0.0 Removed the `disableNullOnZero` feature since it's
47
47
  * easier just to use condition rendering yourself.
48
48
  */
@@ -38,7 +38,7 @@ import { badge } from "./styles.js";
38
38
  * }
39
39
  * ```
40
40
  *
41
- * @see {@link https://next.react-md.dev/components/badge | Badge Demos}
41
+ * @see {@link https://react-md.dev/components/badge | Badge Demos}
42
42
  * @since 6.0.0 Removed the `disableNullOnZero` feature since it's
43
43
  * easier just to use condition rendering yourself.
44
44
  */ export const Badge = /*#__PURE__*/ forwardRef(function Badge(props, ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode, forwardRef } from \"react\";\n\nimport { type BadgeTheme, badge } from \"./styles.js\";\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /** @defaultValue `\"greyscale\"` */\n theme?: BadgeTheme;\n\n children: ReactNode;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * import { Badge } from \"@react-md/core/badge/Badge\";\n * import { Button } from \"@react-md/core/button/Button\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <>\n * <Badge>3</Badge>\n * <Badge theme=\"primary\">100</Badge>\n * <Badge theme=\"secondary\">23</Badge>\n * <Badge theme=\"greyscale\">18</Badge>\n * <Badge theme=\"clear\">1</Badge>\n * </>\n * );\n * }\n * ```\n *\n * @example Within Buttons Example\n * ```tsx\n * import { Badge } from \"@react-md/core/badge/Badge\";\n * import { Button } from \"@react-md/core/button/Button\";\n * import { MaterialSymbol } from \"@react-md/core/icon/MaterialSymbol\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Button aria-label=\"Notifications\" buttonType=\"icon\">\n * <Badge>88</Badge>\n * <MaterialSymbol name=\"notifications\" />\n * </Button>\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/badge | Badge Demos}\n * @since 6.0.0 Removed the `disableNullOnZero` feature since it's\n * easier just to use condition rendering yourself.\n */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n function Badge(props, ref) {\n const { children, className, theme, ...remaining } = props;\n return (\n <span {...remaining} ref={ref} className={badge({ theme, className })}>\n {children}\n </span>\n );\n }\n);\n"],"names":["forwardRef","badge","Badge","props","ref","children","className","theme","remaining","span"],"mappings":";AAAA,SAA8CA,UAAU,QAAQ,QAAQ;AAExE,SAA0BC,KAAK,QAAQ,cAAc;AASrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,MAAMC,sBAAQF,WACnB,SAASE,MAAMC,KAAK,EAAEC,GAAG;IACvB,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGC,WAAW,GAAGL;IACrD,qBACE,KAACM;QAAM,GAAGD,SAAS;QAAEJ,KAAKA;QAAKE,WAAWL,MAAM;YAAEM;YAAOD;QAAU;kBAChED;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode, forwardRef } from \"react\";\n\nimport { type BadgeTheme, badge } from \"./styles.js\";\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /** @defaultValue `\"greyscale\"` */\n theme?: BadgeTheme;\n\n children: ReactNode;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * import { Badge } from \"@react-md/core/badge/Badge\";\n * import { Button } from \"@react-md/core/button/Button\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <>\n * <Badge>3</Badge>\n * <Badge theme=\"primary\">100</Badge>\n * <Badge theme=\"secondary\">23</Badge>\n * <Badge theme=\"greyscale\">18</Badge>\n * <Badge theme=\"clear\">1</Badge>\n * </>\n * );\n * }\n * ```\n *\n * @example Within Buttons Example\n * ```tsx\n * import { Badge } from \"@react-md/core/badge/Badge\";\n * import { Button } from \"@react-md/core/button/Button\";\n * import { MaterialSymbol } from \"@react-md/core/icon/MaterialSymbol\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Button aria-label=\"Notifications\" buttonType=\"icon\">\n * <Badge>88</Badge>\n * <MaterialSymbol name=\"notifications\" />\n * </Button>\n * );\n * }\n * ```\n *\n * @see {@link https://react-md.dev/components/badge | Badge Demos}\n * @since 6.0.0 Removed the `disableNullOnZero` feature since it's\n * easier just to use condition rendering yourself.\n */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n function Badge(props, ref) {\n const { children, className, theme, ...remaining } = props;\n return (\n <span {...remaining} ref={ref} className={badge({ theme, className })}>\n {children}\n </span>\n );\n }\n);\n"],"names":["forwardRef","badge","Badge","props","ref","children","className","theme","remaining","span"],"mappings":";AAAA,SAA8CA,UAAU,QAAQ,QAAQ;AAExE,SAA0BC,KAAK,QAAQ,cAAc;AASrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,MAAMC,sBAAQF,WACnB,SAASE,MAAMC,KAAK,EAAEC,GAAG;IACvB,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGC,WAAW,GAAGL;IACrD,qBACE,KAACM;QAAM,GAAGD,SAAS;QAAEJ,KAAKA;QAAKE,WAAWL,MAAM;YAAEM;YAAOD;QAAU;kBAChED;;AAGP,GACA"}
@@ -4,6 +4,7 @@
4
4
 
5
5
  @use "sass:map";
6
6
  @use "../utils";
7
+ @use "../border-radius";
7
8
  @use "../theme/a11y";
8
9
  @use "../theme/colors";
9
10
  @use "../theme/theme";
@@ -60,7 +61,7 @@ $offset-right: $offset !default;
60
61
 
61
62
  /// The default border radius
62
63
  /// @type Number
63
- $border-radius: 50% !default;
64
+ $border-radius: border-radius.get-var(full) !default;
64
65
 
65
66
  /// The default typography to use
66
67
  /// @type Map
@@ -110,6 +111,7 @@ $greyscale-color: theme.get-default-color(
110
111
  /// `get-var`, `set-var`, and `use-var` utils.
111
112
  /// @type List
112
113
  $variables: (
114
+ border-radius,
113
115
  greyscale-background-color,
114
116
  greyscale-color,
115
117
  size,
@@ -144,6 +146,12 @@ $variables: (
144
146
  /// @param {any} fallback [null] - An optional fallback value if the variable
145
147
  /// has not been set
146
148
  @mixin use-var($property, $name: $property, $fallback: null) {
149
+ @if not $fallback {
150
+ @if $name == border-radius {
151
+ $fallback: $border-radius;
152
+ }
153
+ }
154
+
147
155
  #{$property}: get-var($name, $fallback);
148
156
  }
149
157
 
@@ -207,12 +215,12 @@ $variables: (
207
215
  @include utils.optional-layer(badge, $disable-layer) {
208
216
  .rmd-badge {
209
217
  @include utils.map-to-styles($typography);
218
+ @include use-var(border-radius);
210
219
  @include use-var(height, size);
211
220
  @include use-var(width, size);
212
221
  @include use-var(top, offset-top, get-var(offset));
213
222
 
214
223
  align-items: center;
215
- border-radius: $border-radius;
216
224
  display: inline-flex;
217
225
  justify-content: center;
218
226
  pointer-events: none; // badges are _kind_ of presentational and shouldn't trigger mouse events
package/dist/box/Box.d.ts CHANGED
@@ -101,7 +101,7 @@ export interface BoxProps extends HTMLAttributes<HTMLDivElement>, BoxOptions {
101
101
  * }
102
102
  * ```
103
103
  *
104
- * @see {@link https://next.react-md.dev/components/box | Box Demos}
104
+ * @see {@link https://react-md.dev/components/box | Box Demos}
105
105
  * @since 6.0.0
106
106
  */
107
107
  export declare const Box: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
package/dist/box/Box.js CHANGED
@@ -97,7 +97,7 @@ import { boxStyles } from "./styles.js";
97
97
  * }
98
98
  * ```
99
99
  *
100
- * @see {@link https://next.react-md.dev/components/box | Box Demos}
100
+ * @see {@link https://react-md.dev/components/box | Box Demos}
101
101
  * @since 6.0.0
102
102
  */ export const Box = /*#__PURE__*/ forwardRef(function Box(props, ref) {
103
103
  const { style, className, children, align, justify, stacked, reversed, grid, gridName, gridItemSize, gridColumns, gridAutoRows, fullWidth, disableGap, disableWrap, disablePadding, ...remaining } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/box/Box.tsx"],"sourcesContent":["import { type HTMLAttributes, forwardRef } from \"react\";\n\nimport { type BoxOptions, boxStyles } from \"./styles.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface BoxProps extends HTMLAttributes<HTMLDivElement>, BoxOptions {}\n\n/**\n * The `Box` component is a wrapper around the CSS box model and should solve\n * most of your `flex` and `grid` layout requirements for responsive design.\n * There are pass-through props for all of the box module styling properties\n * available by default.\n *\n * @example Default Styles\n * ```scss\n * .box {\n * align-items: center;\n * display: flex;\n * flex-wrap: wrap;\n * gap: 1rem;\n * padding: 1rem;\n * }\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core/box/Box\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box>\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @example Default Grid Styles\n * ```scss\n * .box {\n * align-items: center;\n * display: grid;\n * grid-gap: 1rem;\n * grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));\n * padding: 1rem;\n * }\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core/box/Box\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box grid>\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @example Custom Grid\n * ```scss\n * @use \"@react-md/core\" with (\n * $box-grids: (\n * small: (\n * min: 5rem,\n * ),\n * medium: (\n * min: 7rem,\n * padding: 2rem,\n * gap: 0.5rem,\n * ),\n * )\n * );\n *\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core/box/Box\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box grid gridName=\"medium\">\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/box | Box Demos}\n * @since 6.0.0\n */\nexport const Box = forwardRef<HTMLDivElement, BoxProps>(\n function Box(props, ref) {\n const {\n style,\n className,\n children,\n align,\n justify,\n stacked,\n reversed,\n grid,\n gridName,\n gridItemSize,\n gridColumns,\n gridAutoRows,\n fullWidth,\n disableGap,\n disableWrap,\n disablePadding,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n {...boxStyles({\n style,\n className,\n align,\n justify,\n stacked,\n reversed,\n grid,\n gridName,\n gridItemSize,\n gridColumns,\n gridAutoRows,\n fullWidth,\n disableGap,\n disableWrap,\n disablePadding,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","boxStyles","Box","props","ref","style","className","children","align","justify","stacked","reversed","grid","gridName","gridItemSize","gridColumns","gridAutoRows","fullWidth","disableGap","disableWrap","disablePadding","remaining","div"],"mappings":";AAAA,SAA8BA,UAAU,QAAQ,QAAQ;AAExD,SAA0BC,SAAS,QAAQ,cAAc;AAOzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGC,GACD,OAAO,MAAMC,oBAAMF,WACjB,SAASE,IAAIC,KAAK,EAAEC,GAAG;IACrB,MAAM,EACJC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,QAAQ,EACRC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,UAAU,EACVC,WAAW,EACXC,cAAc,EACd,GAAGC,WACJ,GAAGlB;IAEJ,qBACE,KAACmB;QACE,GAAGD,SAAS;QACbjB,KAAKA;QACJ,GAAGH,UAAU;YACZI;YACAC;YACAE;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;QACF,EAAE;kBAEDb;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/box/Box.tsx"],"sourcesContent":["import { type HTMLAttributes, forwardRef } from \"react\";\n\nimport { type BoxOptions, boxStyles } from \"./styles.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface BoxProps extends HTMLAttributes<HTMLDivElement>, BoxOptions {}\n\n/**\n * The `Box` component is a wrapper around the CSS box model and should solve\n * most of your `flex` and `grid` layout requirements for responsive design.\n * There are pass-through props for all of the box module styling properties\n * available by default.\n *\n * @example Default Styles\n * ```scss\n * .box {\n * align-items: center;\n * display: flex;\n * flex-wrap: wrap;\n * gap: 1rem;\n * padding: 1rem;\n * }\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core/box/Box\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box>\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @example Default Grid Styles\n * ```scss\n * .box {\n * align-items: center;\n * display: grid;\n * grid-gap: 1rem;\n * grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));\n * padding: 1rem;\n * }\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core/box/Box\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box grid>\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @example Custom Grid\n * ```scss\n * @use \"@react-md/core\" with (\n * $box-grids: (\n * small: (\n * min: 5rem,\n * ),\n * medium: (\n * min: 7rem,\n * padding: 2rem,\n * gap: 0.5rem,\n * ),\n * )\n * );\n *\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core/box/Box\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box grid gridName=\"medium\">\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @see {@link https://react-md.dev/components/box | Box Demos}\n * @since 6.0.0\n */\nexport const Box = forwardRef<HTMLDivElement, BoxProps>(\n function Box(props, ref) {\n const {\n style,\n className,\n children,\n align,\n justify,\n stacked,\n reversed,\n grid,\n gridName,\n gridItemSize,\n gridColumns,\n gridAutoRows,\n fullWidth,\n disableGap,\n disableWrap,\n disablePadding,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n {...boxStyles({\n style,\n className,\n align,\n justify,\n stacked,\n reversed,\n grid,\n gridName,\n gridItemSize,\n gridColumns,\n gridAutoRows,\n fullWidth,\n disableGap,\n disableWrap,\n disablePadding,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","boxStyles","Box","props","ref","style","className","children","align","justify","stacked","reversed","grid","gridName","gridItemSize","gridColumns","gridAutoRows","fullWidth","disableGap","disableWrap","disablePadding","remaining","div"],"mappings":";AAAA,SAA8BA,UAAU,QAAQ,QAAQ;AAExD,SAA0BC,SAAS,QAAQ,cAAc;AAOzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGC,GACD,OAAO,MAAMC,oBAAMF,WACjB,SAASE,IAAIC,KAAK,EAAEC,GAAG;IACrB,MAAM,EACJC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,QAAQ,EACRC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,UAAU,EACVC,WAAW,EACXC,cAAc,EACd,GAAGC,WACJ,GAAGlB;IAEJ,qBACE,KAACmB;QACE,GAAGD,SAAS;QACbjB,KAAKA;QACJ,GAAGH,UAAU;YACZI;YACAC;YACAE;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;QACF,EAAE;kBAEDb;;AAGP,GACA"}
@@ -4,6 +4,7 @@
4
4
 
5
5
  @use "sass:map";
6
6
  @use "../utils";
7
+ @use "../spacing";
7
8
  @use "../media-queries/media-queries";
8
9
 
9
10
  /// Set to `true` to disable all the styles
@@ -101,7 +102,7 @@ $justify-content: (
101
102
 
102
103
  /// The default flex and grid gap to apply between each item
103
104
  /// @type Number
104
- $gap: 1rem !default;
105
+ $gap: spacing.get-var(md) !default;
105
106
 
106
107
  /// The default padding to apply to the container.
107
108
  /// @type Number
@@ -157,7 +158,11 @@ $_breakpoints: (
157
158
  /// @type List
158
159
  $variables: (
159
160
  gap,
161
+ column-gap,
162
+ row-gap,
160
163
  padding,
164
+ padding-v,
165
+ padding-h,
161
166
  item-min-size,
162
167
  item-min-height,
163
168
  columns,
@@ -182,6 +187,7 @@ $variables: (
182
187
  /// @returns {String} a `var()` statement
183
188
  @function get-var($name, $fallback: null) {
184
189
  $var: utils.get-var-name($variables, $name, "box");
190
+
185
191
  @if $fallback {
186
192
  @return var(#{$var}, #{$fallback});
187
193
  }
@@ -203,6 +209,72 @@ $variables: (
203
209
  /// @param {any} fallback [null] - An optional fallback value if the variable
204
210
  /// has not been set
205
211
  @mixin use-var($property, $name: $property, $fallback: null) {
212
+ // these variables define another fallback and are not set at the root so
213
+ // they can easily be overridden. if they have a default value at the root,
214
+ // that root value will be used instead of the lowest defined override.
215
+ //
216
+ // i.e.
217
+ // ```scss
218
+ //
219
+ // :root {
220
+ // --rmd-box-padding: 3rem;
221
+ // --rmd-box-padding-v: var(--rmd-box-padding);
222
+ // --rmd-box-padding-h: var(--rmd-box-padding);
223
+ // }
224
+ //
225
+ // .some-child {
226
+ // --rmd-box-padding: 1rem;
227
+ //
228
+ // }
229
+ // ```
230
+ //
231
+ // `--rmd-box-padding-v` and `--rmd-box-padding-h` would still have a value
232
+ // of `1rem`
233
+ @if not $fallback {
234
+ @if $name == padding-v or $name == padding-h {
235
+ $fallback: get-var(padding);
236
+ } @else if $name == column-gap or $name == row-gap {
237
+ $fallback: get-var(gap);
238
+ } @else if
239
+ $name ==
240
+ phone-columns or
241
+ $name ==
242
+ tablet-columns or
243
+ $name ==
244
+ desktop-columns or
245
+ $name ==
246
+ large-desktop-columns
247
+ {
248
+ $fallback: get-var(columns);
249
+ } @else if
250
+ $name ==
251
+ phone-item-min-height or
252
+ $name ==
253
+ tablet-item-min-height or
254
+ $name ==
255
+ desktop-item-min-height or
256
+ $name ==
257
+ large-desktop-item-min-height
258
+ {
259
+ $fallback: get-var(item-min-height);
260
+ } @else if
261
+ $name ==
262
+ phone-size or
263
+ $name ==
264
+ tablet-size or
265
+ $name ==
266
+ desktop-size or
267
+ $name ==
268
+ large-desktop-size
269
+ {
270
+ $fallback: get-var(size);
271
+ } @else if $name == gap {
272
+ $fallback: $gap;
273
+ } @else if $name == padding {
274
+ $fallback: $padding;
275
+ }
276
+ }
277
+
206
278
  #{$property}: get-var($name, $fallback);
207
279
  }
208
280
 
@@ -259,14 +331,8 @@ $variables: (
259
331
  /// Conditionally applies the css variables based on feature flags
260
332
  @mixin variables {
261
333
  @if not $disable-everything {
262
- @include set-var(gap, $gap);
263
- @include set-var(padding, $padding);
264
334
  @include set-var(item-min-size, $item-min-size);
265
335
  @include set-var(columns, auto-fit);
266
- @include set-var(phone-columns, auto-fit);
267
- @include set-var(tablet-columns, auto-fit);
268
- @include set-var(desktop-columns, auto-fit);
269
- @include set-var(large-desktop-columns, auto-fit);
270
336
  }
271
337
  }
272
338
 
@@ -282,19 +348,20 @@ $variables: (
282
348
  display: flex;
283
349
 
284
350
  &--gap {
285
- @include use-var(gap, gap);
351
+ @include use-var(gap);
286
352
  }
287
353
 
288
354
  &--gap-h {
289
- @include use-var(column-gap, gap);
355
+ @include use-var(column-gap);
290
356
  }
291
357
 
292
358
  &--gap-v {
293
- @include use-var(row-gap, gap);
359
+ @include use-var(row-gap);
294
360
  }
295
361
 
296
362
  &--padded {
297
- @include use-var(padding);
363
+ padding: get-var(padding-v, get-var(padding, $padding))
364
+ get-var(padding-h, get-var(padding, $padding));
298
365
  }
299
366
 
300
367
  &--wrap {
@@ -151,7 +151,7 @@ export interface AsyncButtonProps extends ButtonProps {
151
151
  * }
152
152
  * ```
153
153
  *
154
- * @see {@link https://next.react-md.dev/components/button#async-button | AsyncButton Demos}
154
+ * @see {@link https://react-md.dev/components/button#async-button | AsyncButton Demos}
155
155
  * @since 6.0.0
156
156
  */
157
157
  export declare const AsyncButton: import("react").ForwardRefExoticComponent<AsyncButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -69,7 +69,7 @@ const noop = ()=>{
69
69
  * }
70
70
  * ```
71
71
  *
72
- * @see {@link https://next.react-md.dev/components/button#async-button | AsyncButton Demos}
72
+ * @see {@link https://react-md.dev/components/button#async-button | AsyncButton Demos}
73
73
  * @since 6.0.0
74
74
  */ export const AsyncButton = /*#__PURE__*/ forwardRef(function AsyncButton(props, ref) {
75
75
  const { id: propId, onClick = noop, children, floating = null, theme = floating ? "secondary" : "clear", themeType = floating ? "contained" : "flat", buttonType = floating ? "icon" : "text", className, disabled, loading: propLoading = false, loadingType = "circular-overlay", loadingChildren, loadingDisabledTheme = false, afterAddon: propAfterAddon, beforeAddon: propBeforeAddon, linearProgressProps, circularProgressProps, progressAriaLabel, progressAriaLabelledBy: propProgressAriaLabelledBy, ...remaining } = props;