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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1138) hide show
  1. package/dist/CoreProviders.d.ts +1 -0
  2. package/dist/CoreProviders.js +1 -0
  3. package/dist/CoreProviders.js.map +1 -1
  4. package/dist/NoSsr.d.ts +3 -1
  5. package/dist/NoSsr.js +3 -1
  6. package/dist/NoSsr.js.map +1 -1
  7. package/dist/RootHtml.d.ts +1 -1
  8. package/dist/RootHtml.js +1 -1
  9. package/dist/RootHtml.js.map +1 -1
  10. package/dist/SsrProvider.d.ts +1 -0
  11. package/dist/SsrProvider.js +1 -0
  12. package/dist/SsrProvider.js.map +1 -1
  13. package/dist/_a11y.scss +187 -0
  14. package/dist/_base.scss +479 -0
  15. package/dist/_box-shadows.scss +80 -71
  16. package/dist/_colors.scss +283 -279
  17. package/dist/_core.scss +5 -483
  18. package/dist/_object-fit.scss +27 -23
  19. package/dist/_utils.scss +225 -225
  20. package/dist/app-bar/AppBar.d.ts +3 -1
  21. package/dist/app-bar/AppBar.js +3 -1
  22. package/dist/app-bar/AppBar.js.map +1 -1
  23. package/dist/app-bar/AppBarTitle.d.ts +2 -1
  24. package/dist/app-bar/AppBarTitle.js +2 -1
  25. package/dist/app-bar/AppBarTitle.js.map +1 -1
  26. package/dist/app-bar/_app-bar.scss +112 -105
  27. package/dist/autocomplete/Autocomplete.d.ts +81 -2
  28. package/dist/autocomplete/Autocomplete.js +4 -2
  29. package/dist/autocomplete/Autocomplete.js.map +1 -1
  30. package/dist/autocomplete/AutocompleteChip.d.ts +1 -0
  31. package/dist/autocomplete/AutocompleteChip.js +1 -0
  32. package/dist/autocomplete/AutocompleteChip.js.map +1 -1
  33. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +1 -0
  34. package/dist/autocomplete/AutocompleteCircularProgress.js +1 -0
  35. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  36. package/dist/autocomplete/AutocompleteClearButton.d.ts +1 -0
  37. package/dist/autocomplete/AutocompleteClearButton.js +4 -2
  38. package/dist/autocomplete/AutocompleteClearButton.js.map +1 -1
  39. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +1 -0
  40. package/dist/autocomplete/AutocompleteDropdownButton.js +1 -0
  41. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  42. package/dist/autocomplete/AutocompleteListboxChildren.d.ts +1 -3
  43. package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -1
  44. package/dist/autocomplete/_autocomplete.scss +125 -71
  45. package/dist/autocomplete/autocompleteStyles.d.ts +3 -0
  46. package/dist/autocomplete/autocompleteStyles.js +5 -2
  47. package/dist/autocomplete/autocompleteStyles.js.map +1 -1
  48. package/dist/autocomplete/types.d.ts +128 -82
  49. package/dist/autocomplete/types.js.map +1 -1
  50. package/dist/autocomplete/useAutocomplete.d.ts +3 -0
  51. package/dist/autocomplete/useAutocomplete.js +17 -17
  52. package/dist/autocomplete/useAutocomplete.js.map +1 -1
  53. package/dist/autocomplete/utils.d.ts +3 -6
  54. package/dist/autocomplete/utils.js.map +1 -1
  55. package/dist/avatar/Avatar.d.ts +2 -1
  56. package/dist/avatar/Avatar.js +2 -1
  57. package/dist/avatar/Avatar.js.map +1 -1
  58. package/dist/avatar/_avatar.scss +81 -77
  59. package/dist/badge/Badge.d.ts +8 -4
  60. package/dist/badge/Badge.js +8 -4
  61. package/dist/badge/Badge.js.map +1 -1
  62. package/dist/badge/_badge.scss +72 -68
  63. package/dist/box/Box.d.ts +4 -3
  64. package/dist/box/Box.js +4 -3
  65. package/dist/box/Box.js.map +1 -1
  66. package/dist/box/_box.scss +115 -119
  67. package/dist/button/AsyncButton.d.ts +3 -2
  68. package/dist/button/AsyncButton.js +4 -3
  69. package/dist/button/AsyncButton.js.map +1 -1
  70. package/dist/button/Button.d.ts +11 -9
  71. package/dist/button/Button.js +11 -9
  72. package/dist/button/Button.js.map +1 -1
  73. package/dist/button/ButtonUnstyled.d.ts +1 -0
  74. package/dist/button/ButtonUnstyled.js +2 -1
  75. package/dist/button/ButtonUnstyled.js.map +1 -1
  76. package/dist/button/TooltippedButton.d.ts +3 -2
  77. package/dist/button/TooltippedButton.js +2 -1
  78. package/dist/button/TooltippedButton.js.map +1 -1
  79. package/dist/button/_button.scss +128 -98
  80. package/dist/button/{buttonStyles.d.ts → styles.d.ts} +10 -0
  81. package/dist/button/{buttonStyles.js → styles.js} +9 -1
  82. package/dist/button/styles.js.map +1 -0
  83. package/dist/card/Card.d.ts +9 -10
  84. package/dist/card/Card.js +9 -10
  85. package/dist/card/Card.js.map +1 -1
  86. package/dist/card/CardContent.d.ts +1 -0
  87. package/dist/card/CardContent.js +1 -0
  88. package/dist/card/CardContent.js.map +1 -1
  89. package/dist/card/CardFooter.d.ts +1 -0
  90. package/dist/card/CardFooter.js +1 -0
  91. package/dist/card/CardFooter.js.map +1 -1
  92. package/dist/card/CardHeader.d.ts +1 -0
  93. package/dist/card/CardHeader.js +1 -0
  94. package/dist/card/CardHeader.js.map +1 -1
  95. package/dist/card/CardSubtitle.d.ts +1 -0
  96. package/dist/card/CardSubtitle.js +1 -0
  97. package/dist/card/CardSubtitle.js.map +1 -1
  98. package/dist/card/CardTitle.d.ts +2 -1
  99. package/dist/card/CardTitle.js +1 -0
  100. package/dist/card/CardTitle.js.map +1 -1
  101. package/dist/card/ClickableCard.d.ts +3 -1
  102. package/dist/card/ClickableCard.js +3 -1
  103. package/dist/card/ClickableCard.js.map +1 -1
  104. package/dist/card/_card.scss +76 -71
  105. package/dist/chip/Chip.d.ts +5 -3
  106. package/dist/chip/Chip.js +5 -3
  107. package/dist/chip/Chip.js.map +1 -1
  108. package/dist/chip/_chip.scss +247 -33
  109. package/dist/cssUtils.d.ts +1 -1
  110. package/dist/cssUtils.js.map +1 -1
  111. package/dist/dialog/Dialog.d.ts +9 -10
  112. package/dist/dialog/Dialog.js +9 -10
  113. package/dist/dialog/Dialog.js.map +1 -1
  114. package/dist/dialog/DialogContent.d.ts +2 -0
  115. package/dist/dialog/DialogContent.js +5 -2
  116. package/dist/dialog/DialogContent.js.map +1 -1
  117. package/dist/dialog/DialogFooter.d.ts +2 -0
  118. package/dist/dialog/DialogFooter.js +5 -2
  119. package/dist/dialog/DialogFooter.js.map +1 -1
  120. package/dist/dialog/DialogHeader.d.ts +14 -2
  121. package/dist/dialog/DialogHeader.js +8 -2
  122. package/dist/dialog/DialogHeader.js.map +1 -1
  123. package/dist/dialog/DialogTitle.d.ts +2 -0
  124. package/dist/dialog/DialogTitle.js +5 -2
  125. package/dist/dialog/DialogTitle.js.map +1 -1
  126. package/dist/dialog/FixedDialog.d.ts +11 -10
  127. package/dist/dialog/FixedDialog.js +13 -12
  128. package/dist/dialog/FixedDialog.js.map +1 -1
  129. package/dist/dialog/_dialog.scss +167 -22
  130. package/dist/dialog/styles.d.ts +12 -6
  131. package/dist/dialog/styles.js +11 -5
  132. package/dist/dialog/styles.js.map +1 -1
  133. package/dist/divider/Divider.d.ts +3 -1
  134. package/dist/divider/Divider.js +3 -1
  135. package/dist/divider/Divider.js.map +1 -1
  136. package/dist/divider/_divider.scss +68 -0
  137. package/dist/divider/styles.js.map +1 -1
  138. package/dist/draggable/_draggable.scss +16 -0
  139. package/dist/draggable/useDraggable.d.ts +1 -0
  140. package/dist/draggable/useDraggable.js +1 -0
  141. package/dist/draggable/useDraggable.js.map +1 -1
  142. package/dist/error-boundary/ErrorBoundary.d.ts +58 -0
  143. package/dist/error-boundary/ErrorBoundary.js +99 -0
  144. package/dist/error-boundary/ErrorBoundary.js.map +1 -0
  145. package/dist/error-boundary/context.d.ts +11 -0
  146. package/dist/error-boundary/context.js +12 -0
  147. package/dist/error-boundary/context.js.map +1 -0
  148. package/dist/error-boundary/types.d.ts +16 -0
  149. package/dist/error-boundary/types.js +7 -0
  150. package/dist/error-boundary/types.js.map +1 -0
  151. package/dist/error-boundary/useErrorBoundary.d.ts +25 -0
  152. package/dist/error-boundary/useErrorBoundary.js +33 -0
  153. package/dist/error-boundary/useErrorBoundary.js.map +1 -0
  154. package/dist/expansion-panel/ExpansionList.d.ts +1 -0
  155. package/dist/expansion-panel/ExpansionList.js +1 -0
  156. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  157. package/dist/expansion-panel/ExpansionPanel.d.ts +32 -0
  158. package/dist/expansion-panel/ExpansionPanel.js +32 -0
  159. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  160. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +4 -7
  161. package/dist/expansion-panel/ExpansionPanelHeader.js +9 -10
  162. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  163. package/dist/expansion-panel/_expansion-panel.scss +45 -0
  164. package/dist/expansion-panel/expansionPanelStyles.d.ts +20 -0
  165. package/dist/expansion-panel/expansionPanelStyles.js +12 -0
  166. package/dist/expansion-panel/expansionPanelStyles.js.map +1 -1
  167. package/dist/expansion-panel/useExpansionList.d.ts +7 -8
  168. package/dist/expansion-panel/useExpansionList.js +7 -8
  169. package/dist/expansion-panel/useExpansionList.js.map +1 -1
  170. package/dist/expansion-panel/useExpansionPanels.d.ts +7 -10
  171. package/dist/expansion-panel/useExpansionPanels.js +7 -10
  172. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  173. package/dist/files/FileInput.d.ts +4 -2
  174. package/dist/files/FileInput.js +3 -1
  175. package/dist/files/FileInput.js.map +1 -1
  176. package/dist/files/_files.scss +9 -0
  177. package/dist/files/styles.d.ts +1 -1
  178. package/dist/files/styles.js +1 -1
  179. package/dist/files/styles.js.map +1 -1
  180. package/dist/files/useFileUpload.d.ts +2 -0
  181. package/dist/files/useFileUpload.js +2 -0
  182. package/dist/files/useFileUpload.js.map +1 -1
  183. package/dist/focus/useFocusContainer.js +24 -23
  184. package/dist/focus/useFocusContainer.js.map +1 -1
  185. package/dist/form/Checkbox.d.ts +3 -1
  186. package/dist/form/Checkbox.js +3 -1
  187. package/dist/form/Checkbox.js.map +1 -1
  188. package/dist/form/Fieldset.d.ts +6 -20
  189. package/dist/form/Fieldset.js +6 -13
  190. package/dist/form/Fieldset.js.map +1 -1
  191. package/dist/form/Form.d.ts +2 -0
  192. package/dist/form/Form.js +2 -0
  193. package/dist/form/Form.js.map +1 -1
  194. package/dist/form/FormMessage.d.ts +2 -0
  195. package/dist/form/FormMessage.js +2 -0
  196. package/dist/form/FormMessage.js.map +1 -1
  197. package/dist/form/FormMessageContainer.d.ts +1 -0
  198. package/dist/form/FormMessageContainer.js +1 -0
  199. package/dist/form/FormMessageContainer.js.map +1 -1
  200. package/dist/form/FormMessageCounter.d.ts +2 -0
  201. package/dist/form/FormMessageCounter.js +2 -0
  202. package/dist/form/FormMessageCounter.js.map +1 -1
  203. package/dist/form/InputToggle.d.ts +4 -2
  204. package/dist/form/InputToggle.js +2 -0
  205. package/dist/form/InputToggle.js.map +1 -1
  206. package/dist/form/Label.d.ts +4 -5
  207. package/dist/form/Label.js +4 -32
  208. package/dist/form/Label.js.map +1 -1
  209. package/dist/form/Legend.d.ts +1 -0
  210. package/dist/form/Legend.js +1 -0
  211. package/dist/form/Legend.js.map +1 -1
  212. package/dist/form/Listbox.d.ts +1 -1
  213. package/dist/form/Listbox.js.map +1 -1
  214. package/dist/form/MenuItemCheckbox.d.ts +3 -1
  215. package/dist/form/MenuItemCheckbox.js +3 -1
  216. package/dist/form/MenuItemCheckbox.js.map +1 -1
  217. package/dist/form/MenuItemFileInput.d.ts +1 -0
  218. package/dist/form/MenuItemFileInput.js +1 -0
  219. package/dist/form/MenuItemFileInput.js.map +1 -1
  220. package/dist/form/MenuItemInputToggle.d.ts +3 -2
  221. package/dist/form/MenuItemInputToggle.js +1 -0
  222. package/dist/form/MenuItemInputToggle.js.map +1 -1
  223. package/dist/form/MenuItemRadio.d.ts +8 -8
  224. package/dist/form/MenuItemRadio.js +8 -8
  225. package/dist/form/MenuItemRadio.js.map +1 -1
  226. package/dist/form/MenuItemSwitch.d.ts +3 -1
  227. package/dist/form/MenuItemSwitch.js +3 -1
  228. package/dist/form/MenuItemSwitch.js.map +1 -1
  229. package/dist/form/MenuItemTextField.d.ts +1 -0
  230. package/dist/form/MenuItemTextField.js +1 -0
  231. package/dist/form/MenuItemTextField.js.map +1 -1
  232. package/dist/form/NativeSelect.d.ts +2 -0
  233. package/dist/form/NativeSelect.js +2 -0
  234. package/dist/form/NativeSelect.js.map +1 -1
  235. package/dist/form/OptGroup.d.ts +4 -1
  236. package/dist/form/OptGroup.js +4 -1
  237. package/dist/form/OptGroup.js.map +1 -1
  238. package/dist/form/Option.d.ts +2 -1
  239. package/dist/form/Option.js +1 -0
  240. package/dist/form/Option.js.map +1 -1
  241. package/dist/form/Password.d.ts +3 -1
  242. package/dist/form/Password.js +3 -1
  243. package/dist/form/Password.js.map +1 -1
  244. package/dist/form/Radio.d.ts +2 -0
  245. package/dist/form/Radio.js +2 -0
  246. package/dist/form/Radio.js.map +1 -1
  247. package/dist/form/Select.d.ts +5 -28
  248. package/dist/form/Select.js +4 -27
  249. package/dist/form/Select.js.map +1 -1
  250. package/dist/form/Slider.d.ts +9 -2
  251. package/dist/form/Slider.js.map +1 -1
  252. package/dist/form/SliderContainer.js +7 -11
  253. package/dist/form/SliderContainer.js.map +1 -1
  254. package/dist/form/SliderMark.js +5 -8
  255. package/dist/form/SliderMark.js.map +1 -1
  256. package/dist/form/SliderMarkLabel.js +5 -7
  257. package/dist/form/SliderMarkLabel.js.map +1 -1
  258. package/dist/form/SliderThumb.js +2 -27
  259. package/dist/form/SliderThumb.js.map +1 -1
  260. package/dist/form/SliderTrack.js +6 -12
  261. package/dist/form/SliderTrack.js.map +1 -1
  262. package/dist/form/SliderValueTooltip.js +7 -7
  263. package/dist/form/SliderValueTooltip.js.map +1 -1
  264. package/dist/form/Switch.d.ts +9 -1
  265. package/dist/form/Switch.js +3 -1
  266. package/dist/form/Switch.js.map +1 -1
  267. package/dist/form/SwitchTrack.js +8 -8
  268. package/dist/form/SwitchTrack.js.map +1 -1
  269. package/dist/form/TextArea.d.ts +9 -1
  270. package/dist/form/TextArea.js +3 -1
  271. package/dist/form/TextArea.js.map +1 -1
  272. package/dist/form/TextField.d.ts +3 -1
  273. package/dist/form/TextField.js +3 -1
  274. package/dist/form/TextField.js.map +1 -1
  275. package/dist/form/TextFieldAddon.d.ts +1 -34
  276. package/dist/form/TextFieldAddon.js +1 -16
  277. package/dist/form/TextFieldAddon.js.map +1 -1
  278. package/dist/form/TextFieldContainer.d.ts +13 -0
  279. package/dist/form/TextFieldContainer.js.map +1 -1
  280. package/dist/form/_form.scss +737 -10
  281. package/dist/form/fieldsetStyles.d.ts +19 -0
  282. package/dist/form/fieldsetStyles.js +14 -0
  283. package/dist/form/fieldsetStyles.js.map +1 -0
  284. package/dist/form/formConfig.js +22 -3
  285. package/dist/form/formConfig.js.map +1 -1
  286. package/dist/form/labelStyles.d.ts +5 -0
  287. package/dist/form/labelStyles.js +34 -0
  288. package/dist/form/labelStyles.js.map +1 -0
  289. package/dist/form/sliderStyles.d.ts +89 -0
  290. package/dist/form/sliderStyles.js +96 -0
  291. package/dist/form/sliderStyles.js.map +1 -0
  292. package/dist/form/switchStyles.d.ts +24 -6
  293. package/dist/form/switchStyles.js +18 -0
  294. package/dist/form/switchStyles.js.map +1 -1
  295. package/dist/form/textAreaStyles.d.ts +0 -6
  296. package/dist/form/textAreaStyles.js.map +1 -1
  297. package/dist/form/textFieldAddonStyles.d.ts +17 -0
  298. package/dist/form/textFieldAddonStyles.js +18 -0
  299. package/dist/form/textFieldAddonStyles.js.map +1 -0
  300. package/dist/form/textFieldContainerStyles.d.ts +0 -13
  301. package/dist/form/textFieldContainerStyles.js.map +1 -1
  302. package/dist/form/types.d.ts +23 -2
  303. package/dist/form/types.js.map +1 -1
  304. package/dist/form/useCheckboxGroup.d.ts +8 -0
  305. package/dist/form/useCheckboxGroup.js +6 -1
  306. package/dist/form/useCheckboxGroup.js.map +1 -1
  307. package/dist/form/useCombobox.d.ts +0 -1
  308. package/dist/form/useCombobox.js +66 -63
  309. package/dist/form/useCombobox.js.map +1 -1
  310. package/dist/form/useNumberField.d.ts +17 -7
  311. package/dist/form/useNumberField.js +2 -0
  312. package/dist/form/useNumberField.js.map +1 -1
  313. package/dist/form/useRadioGroup.d.ts +6 -0
  314. package/dist/form/useRadioGroup.js +3 -0
  315. package/dist/form/useRadioGroup.js.map +1 -1
  316. package/dist/form/useRangeSlider.d.ts +6 -1
  317. package/dist/form/useRangeSlider.js +6 -1
  318. package/dist/form/useRangeSlider.js.map +1 -1
  319. package/dist/form/useSlider.d.ts +4 -1
  320. package/dist/form/useSlider.js +4 -1
  321. package/dist/form/useSlider.js.map +1 -1
  322. package/dist/form/useTextField.d.ts +7 -1
  323. package/dist/form/useTextField.js +5 -1
  324. package/dist/form/useTextField.js.map +1 -1
  325. package/dist/form/validation.d.ts +1 -0
  326. package/dist/form/validation.js.map +1 -1
  327. package/dist/icon/FontIcon.d.ts +1 -0
  328. package/dist/icon/FontIcon.js +1 -0
  329. package/dist/icon/FontIcon.js.map +1 -1
  330. package/dist/icon/IconRotator.d.ts +2 -0
  331. package/dist/icon/IconRotator.js +2 -0
  332. package/dist/icon/IconRotator.js.map +1 -1
  333. package/dist/icon/MaterialIcon.d.ts +2 -0
  334. package/dist/icon/MaterialIcon.js +2 -0
  335. package/dist/icon/MaterialIcon.js.map +1 -1
  336. package/dist/icon/MaterialSymbol.d.ts +3 -1
  337. package/dist/icon/MaterialSymbol.js +3 -1
  338. package/dist/icon/MaterialSymbol.js.map +1 -1
  339. package/dist/icon/SVGIcon.d.ts +2 -0
  340. package/dist/icon/SVGIcon.js +2 -0
  341. package/dist/icon/SVGIcon.js.map +1 -1
  342. package/dist/icon/TextIconSpacing.d.ts +6 -2
  343. package/dist/icon/TextIconSpacing.js +6 -2
  344. package/dist/icon/TextIconSpacing.js.map +1 -1
  345. package/dist/icon/_icon.scss +137 -129
  346. package/dist/icon/config.d.ts +2 -2
  347. package/dist/icon/config.js +2 -2
  348. package/dist/icon/config.js.map +1 -1
  349. package/dist/icon/material.d.ts +1 -1
  350. package/dist/icon/material.js.map +1 -1
  351. package/dist/icon/styles.d.ts +2 -1
  352. package/dist/icon/styles.js.map +1 -1
  353. package/dist/interaction/Ripple.d.ts +11 -2
  354. package/dist/interaction/Ripple.js.map +1 -1
  355. package/dist/interaction/UserInteractionModeProvider.d.ts +1 -1
  356. package/dist/interaction/UserInteractionModeProvider.js +1 -1
  357. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  358. package/dist/interaction/_interaction.scss +279 -13
  359. package/dist/layout/LayoutAppBar.d.ts +1 -0
  360. package/dist/layout/LayoutAppBar.js +1 -0
  361. package/dist/layout/LayoutAppBar.js.map +1 -1
  362. package/dist/layout/LayoutNav.d.ts +9 -12
  363. package/dist/layout/LayoutNav.js +9 -12
  364. package/dist/layout/LayoutNav.js.map +1 -1
  365. package/dist/layout/LayoutWindowSplitter.d.ts +7 -8
  366. package/dist/layout/LayoutWindowSplitter.js +7 -8
  367. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  368. package/dist/layout/Main.d.ts +2 -1
  369. package/dist/layout/Main.js +2 -1
  370. package/dist/layout/Main.js.map +1 -1
  371. package/dist/layout/_layout.scss +106 -23
  372. package/dist/layout/useExpandableLayout.d.ts +1 -0
  373. package/dist/layout/useExpandableLayout.js +1 -0
  374. package/dist/layout/useExpandableLayout.js.map +1 -1
  375. package/dist/layout/useHorizontalLayoutTransition.d.ts +9 -6
  376. package/dist/layout/useHorizontalLayoutTransition.js +4 -1
  377. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  378. package/dist/layout/useLayoutAppBarHeight.d.ts +7 -10
  379. package/dist/layout/useLayoutAppBarHeight.js +7 -10
  380. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  381. package/dist/layout/useLayoutTree.d.ts +3 -0
  382. package/dist/layout/useLayoutTree.js +3 -0
  383. package/dist/layout/useLayoutTree.js.map +1 -1
  384. package/dist/layout/useLayoutWindowSplitter.d.ts +4 -2
  385. package/dist/layout/useLayoutWindowSplitter.js +4 -2
  386. package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
  387. package/dist/layout/useResizableLayout.d.ts +1 -0
  388. package/dist/layout/useResizableLayout.js +3 -1
  389. package/dist/layout/useResizableLayout.js.map +1 -1
  390. package/dist/layout/useTemporaryLayout.d.ts +1 -0
  391. package/dist/layout/useTemporaryLayout.js +1 -0
  392. package/dist/layout/useTemporaryLayout.js.map +1 -1
  393. package/dist/link/Link.d.ts +3 -1
  394. package/dist/link/Link.js +3 -1
  395. package/dist/link/Link.js.map +1 -1
  396. package/dist/link/SkipToMainContent.d.ts +22 -0
  397. package/dist/link/SkipToMainContent.js +22 -0
  398. package/dist/link/SkipToMainContent.js.map +1 -1
  399. package/dist/link/_link.scss +55 -6
  400. package/dist/list/List.d.ts +11 -1
  401. package/dist/list/List.js +5 -1
  402. package/dist/list/List.js.map +1 -1
  403. package/dist/list/ListItem.d.ts +22 -2
  404. package/dist/list/ListItem.js +6 -2
  405. package/dist/list/ListItem.js.map +1 -1
  406. package/dist/list/ListItemChildren.d.ts +3 -1
  407. package/dist/list/ListItemChildren.js +3 -1
  408. package/dist/list/ListItemChildren.js.map +1 -1
  409. package/dist/list/ListItemLink.d.ts +32 -1
  410. package/dist/list/ListItemLink.js +32 -1
  411. package/dist/list/ListItemLink.js.map +1 -1
  412. package/dist/list/ListSubheader.d.ts +2 -0
  413. package/dist/list/ListSubheader.js +2 -0
  414. package/dist/list/ListSubheader.js.map +1 -1
  415. package/dist/list/_list.scss +224 -1
  416. package/dist/list/listItemStyles.d.ts +0 -16
  417. package/dist/list/listItemStyles.js.map +1 -1
  418. package/dist/list/listStyles.d.ts +0 -6
  419. package/dist/list/listStyles.js.map +1 -1
  420. package/dist/media-queries/AppSizeProvider.d.ts +2 -0
  421. package/dist/media-queries/AppSizeProvider.js +2 -0
  422. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  423. package/dist/media-queries/_media-queries.scss +111 -4
  424. package/dist/media-queries/useMediaQuery.d.ts +2 -0
  425. package/dist/media-queries/useMediaQuery.js +2 -0
  426. package/dist/media-queries/useMediaQuery.js.map +1 -1
  427. package/dist/menu/DropdownMenu.d.ts +5 -2
  428. package/dist/menu/DropdownMenu.js +5 -2
  429. package/dist/menu/DropdownMenu.js.map +1 -1
  430. package/dist/menu/Menu.d.ts +1 -0
  431. package/dist/menu/Menu.js +1 -0
  432. package/dist/menu/Menu.js.map +1 -1
  433. package/dist/menu/MenuBar.d.ts +4 -1
  434. package/dist/menu/MenuBar.js +4 -1
  435. package/dist/menu/MenuBar.js.map +1 -1
  436. package/dist/menu/MenuButton.d.ts +1 -0
  437. package/dist/menu/MenuButton.js +1 -0
  438. package/dist/menu/MenuButton.js.map +1 -1
  439. package/dist/menu/MenuItem.d.ts +1 -0
  440. package/dist/menu/MenuItem.js +1 -0
  441. package/dist/menu/MenuItem.js.map +1 -1
  442. package/dist/menu/MenuItemCircularProgress.d.ts +4 -6
  443. package/dist/menu/MenuItemCircularProgress.js +4 -6
  444. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  445. package/dist/menu/MenuItemGroup.d.ts +6 -7
  446. package/dist/menu/MenuItemGroup.js +6 -7
  447. package/dist/menu/MenuItemGroup.js.map +1 -1
  448. package/dist/menu/MenuItemSeparator.d.ts +1 -0
  449. package/dist/menu/MenuItemSeparator.js +1 -0
  450. package/dist/menu/MenuItemSeparator.js.map +1 -1
  451. package/dist/menu/MenuWidget.d.ts +0 -12
  452. package/dist/menu/MenuWidget.js +1 -12
  453. package/dist/menu/MenuWidget.js.map +1 -1
  454. package/dist/menu/_menu.scss +61 -0
  455. package/dist/menu/styles.d.ts +12 -0
  456. package/dist/menu/styles.js +14 -0
  457. package/dist/menu/styles.js.map +1 -0
  458. package/dist/menu/useContextMenu.d.ts +4 -1
  459. package/dist/menu/useContextMenu.js +4 -1
  460. package/dist/menu/useContextMenu.js.map +1 -1
  461. package/dist/movement/useKeyboardMovementProvider.d.ts +3 -3
  462. package/dist/movement/useKeyboardMovementProvider.js +3 -3
  463. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  464. package/dist/navigation/CollapsibleNavGroup.d.ts +1 -0
  465. package/dist/navigation/CollapsibleNavGroup.js +1 -0
  466. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  467. package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -0
  468. package/dist/navigation/DefaultNavigationRenderer.js +1 -0
  469. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  470. package/dist/navigation/NavGroup.d.ts +1 -0
  471. package/dist/navigation/NavGroup.js +1 -0
  472. package/dist/navigation/NavGroup.js.map +1 -1
  473. package/dist/navigation/NavItem.d.ts +1 -0
  474. package/dist/navigation/NavItem.js +1 -0
  475. package/dist/navigation/NavItem.js.map +1 -1
  476. package/dist/navigation/NavItemButton.d.ts +1 -0
  477. package/dist/navigation/NavItemButton.js +1 -0
  478. package/dist/navigation/NavItemButton.js.map +1 -1
  479. package/dist/navigation/NavItemLink.d.ts +1 -0
  480. package/dist/navigation/NavItemLink.js +1 -0
  481. package/dist/navigation/NavItemLink.js.map +1 -1
  482. package/dist/navigation/NavSubheader.d.ts +1 -0
  483. package/dist/navigation/NavSubheader.js +1 -0
  484. package/dist/navigation/NavSubheader.js.map +1 -1
  485. package/dist/navigation/Navigation.d.ts +44 -0
  486. package/dist/navigation/Navigation.js +44 -0
  487. package/dist/navigation/Navigation.js.map +1 -1
  488. package/dist/navigation/_navigation.scss +47 -5
  489. package/dist/navigation/getTableOfContentsHeadings.d.ts +20 -0
  490. package/dist/navigation/getTableOfContentsHeadings.js +53 -0
  491. package/dist/navigation/getTableOfContentsHeadings.js.map +1 -0
  492. package/dist/navigation/navItemStyles.js +1 -1
  493. package/dist/navigation/navItemStyles.js.map +1 -1
  494. package/dist/navigation/types.d.ts +47 -0
  495. package/dist/navigation/types.js +1 -3
  496. package/dist/navigation/types.js.map +1 -1
  497. package/dist/navigation/useActiveHeadingId.d.ts +2 -12
  498. package/dist/navigation/useActiveHeadingId.js +1 -0
  499. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  500. package/dist/navigation/useNavigationExpansion.d.ts +2 -0
  501. package/dist/navigation/useNavigationExpansion.js +2 -0
  502. package/dist/navigation/useNavigationExpansion.js.map +1 -1
  503. package/dist/navigation/useTableOfContentsHeadings.d.ts +3 -37
  504. package/dist/navigation/useTableOfContentsHeadings.js +18 -41
  505. package/dist/navigation/useTableOfContentsHeadings.js.map +1 -1
  506. package/dist/overlay/Overlay.d.ts +10 -1
  507. package/dist/overlay/Overlay.js +5 -2
  508. package/dist/overlay/Overlay.js.map +1 -1
  509. package/dist/overlay/_overlay.scss +35 -0
  510. package/dist/overlay/{overlayStyles.d.ts → styles.d.ts} +0 -6
  511. package/dist/overlay/{overlayStyles.js → styles.js} +1 -1
  512. package/dist/overlay/styles.js.map +1 -0
  513. package/dist/portal/Portal.d.ts +1 -0
  514. package/dist/portal/Portal.js +1 -0
  515. package/dist/portal/Portal.js.map +1 -1
  516. package/dist/portal/PortalContainerProvider.d.ts +1 -0
  517. package/dist/portal/PortalContainerProvider.js +1 -0
  518. package/dist/portal/PortalContainerProvider.js.map +1 -1
  519. package/dist/positioning/createHorizontalPosition.d.ts +6 -6
  520. package/dist/positioning/createHorizontalPosition.js +12 -12
  521. package/dist/positioning/createHorizontalPosition.js.map +1 -1
  522. package/dist/positioning/createVerticalPosition.d.ts +6 -6
  523. package/dist/positioning/createVerticalPosition.js +2 -2
  524. package/dist/positioning/createVerticalPosition.js.map +1 -1
  525. package/dist/positioning/useFixedPositioning.d.ts +1 -0
  526. package/dist/positioning/useFixedPositioning.js +1 -0
  527. package/dist/positioning/useFixedPositioning.js.map +1 -1
  528. package/dist/progress/CircularProgress.d.ts +3 -2
  529. package/dist/progress/CircularProgress.js +3 -2
  530. package/dist/progress/CircularProgress.js.map +1 -1
  531. package/dist/progress/LinearProgress.d.ts +3 -2
  532. package/dist/progress/LinearProgress.js +3 -2
  533. package/dist/progress/LinearProgress.js.map +1 -1
  534. package/dist/progress/_progress.scss +164 -38
  535. package/dist/responsive-item/ResponsiveItem.d.ts +4 -3
  536. package/dist/responsive-item/ResponsiveItem.js +4 -3
  537. package/dist/responsive-item/ResponsiveItem.js.map +1 -1
  538. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +6 -4
  539. package/dist/responsive-item/ResponsiveItemOverlay.js +6 -4
  540. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  541. package/dist/responsive-item/_responsive-item.scss +89 -0
  542. package/dist/scroll/useScrollLock.d.ts +1 -0
  543. package/dist/scroll/useScrollLock.js +1 -0
  544. package/dist/scroll/useScrollLock.js.map +1 -1
  545. package/dist/searching/fuzzy.d.ts +2 -1
  546. package/dist/searching/fuzzy.js +2 -1
  547. package/dist/searching/fuzzy.js.map +1 -1
  548. package/dist/segmented-button/SegmentedButton.d.ts +3 -4
  549. package/dist/segmented-button/SegmentedButton.js +3 -4
  550. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  551. package/dist/segmented-button/SegmentedButtonContainer.d.ts +5 -6
  552. package/dist/segmented-button/SegmentedButtonContainer.js +7 -8
  553. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  554. package/dist/segmented-button/_segmented-button.scss +79 -33
  555. package/dist/segmented-button/segmentedButtonContainerStyles.d.ts +1 -1
  556. package/dist/segmented-button/segmentedButtonContainerStyles.js +1 -1
  557. package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
  558. package/dist/sheet/Sheet.d.ts +14 -0
  559. package/dist/sheet/Sheet.js +2 -0
  560. package/dist/sheet/Sheet.js.map +1 -1
  561. package/dist/sheet/_sheet.scss +84 -0
  562. package/dist/sheet/styles.d.ts +19 -15
  563. package/dist/sheet/styles.js +6 -2
  564. package/dist/sheet/styles.js.map +1 -1
  565. package/dist/snackbar/DefaultToastRenderer.d.ts +1 -0
  566. package/dist/snackbar/DefaultToastRenderer.js +1 -0
  567. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  568. package/dist/snackbar/Snackbar.d.ts +10 -9
  569. package/dist/snackbar/Snackbar.js +4 -1
  570. package/dist/snackbar/Snackbar.js.map +1 -1
  571. package/dist/snackbar/Toast.d.ts +8 -0
  572. package/dist/snackbar/Toast.js +1 -0
  573. package/dist/snackbar/Toast.js.map +1 -1
  574. package/dist/snackbar/ToastActionButton.d.ts +2 -1
  575. package/dist/snackbar/ToastActionButton.js +1 -0
  576. package/dist/snackbar/ToastActionButton.js.map +1 -1
  577. package/dist/snackbar/ToastCloseButton.d.ts +2 -1
  578. package/dist/snackbar/ToastCloseButton.js +1 -0
  579. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  580. package/dist/snackbar/ToastContent.d.ts +1 -0
  581. package/dist/snackbar/ToastContent.js +1 -0
  582. package/dist/snackbar/ToastContent.js.map +1 -1
  583. package/dist/snackbar/ToastManager.d.ts +1 -1
  584. package/dist/snackbar/ToastManager.js +1 -1
  585. package/dist/snackbar/ToastManager.js.map +1 -1
  586. package/dist/snackbar/ToastManagerProvider.d.ts +1 -0
  587. package/dist/snackbar/ToastManagerProvider.js +1 -0
  588. package/dist/snackbar/ToastManagerProvider.js.map +1 -1
  589. package/dist/snackbar/_snackbar.scss +131 -3
  590. package/dist/snackbar/toastStyles.d.ts +0 -7
  591. package/dist/snackbar/toastStyles.js.map +1 -1
  592. package/dist/snackbar/useCurrentToastActions.d.ts +1 -0
  593. package/dist/snackbar/useCurrentToastActions.js +1 -0
  594. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  595. package/dist/storage/useStorage.d.ts +1 -0
  596. package/dist/storage/useStorage.js +1 -0
  597. package/dist/storage/useStorage.js.map +1 -1
  598. package/dist/suspense/CircularProgressSuspense.d.ts +2 -1
  599. package/dist/suspense/CircularProgressSuspense.js +2 -1
  600. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  601. package/dist/suspense/NullSuspense.d.ts +2 -1
  602. package/dist/suspense/NullSuspense.js +2 -1
  603. package/dist/suspense/NullSuspense.js.map +1 -1
  604. package/dist/table/StickyTableSection.d.ts +2 -0
  605. package/dist/table/StickyTableSection.js +2 -0
  606. package/dist/table/StickyTableSection.js.map +1 -1
  607. package/dist/table/Table.d.ts +8 -8
  608. package/dist/table/Table.js +8 -8
  609. package/dist/table/Table.js.map +1 -1
  610. package/dist/table/TableBody.d.ts +2 -0
  611. package/dist/table/TableBody.js +2 -0
  612. package/dist/table/TableBody.js.map +1 -1
  613. package/dist/table/TableCell.d.ts +6 -2
  614. package/dist/table/TableCell.js +2 -0
  615. package/dist/table/TableCell.js.map +1 -1
  616. package/dist/table/TableCheckbox.d.ts +11 -12
  617. package/dist/table/TableCheckbox.js +10 -11
  618. package/dist/table/TableCheckbox.js.map +1 -1
  619. package/dist/table/TableConfigurationProvider.js +1 -1
  620. package/dist/table/TableConfigurationProvider.js.map +1 -1
  621. package/dist/table/TableContainer.d.ts +2 -0
  622. package/dist/table/TableContainer.js +2 -0
  623. package/dist/table/TableContainer.js.map +1 -1
  624. package/dist/table/TableContainerProvider.js +1 -1
  625. package/dist/table/TableContainerProvider.js.map +1 -1
  626. package/dist/table/TableFooter.d.ts +2 -0
  627. package/dist/table/TableFooter.js +2 -0
  628. package/dist/table/TableFooter.js.map +1 -1
  629. package/dist/table/TableHeader.d.ts +2 -0
  630. package/dist/table/TableHeader.js +2 -0
  631. package/dist/table/TableHeader.js.map +1 -1
  632. package/dist/table/TableRadio.d.ts +13 -13
  633. package/dist/table/TableRadio.js +10 -10
  634. package/dist/table/TableRadio.js.map +1 -1
  635. package/dist/table/TableRow.d.ts +2 -0
  636. package/dist/table/TableRow.js +2 -0
  637. package/dist/table/TableRow.js.map +1 -1
  638. package/dist/table/_table.scss +209 -11
  639. package/dist/table/tableCellStyles.js +3 -2
  640. package/dist/table/tableCellStyles.js.map +1 -1
  641. package/dist/tabs/SimpleTabPanel.d.ts +2 -0
  642. package/dist/tabs/SimpleTabPanel.js +2 -0
  643. package/dist/tabs/SimpleTabPanel.js.map +1 -1
  644. package/dist/tabs/SimpleTabPanels.d.ts +2 -0
  645. package/dist/tabs/SimpleTabPanels.js +2 -0
  646. package/dist/tabs/SimpleTabPanels.js.map +1 -1
  647. package/dist/tabs/Tab.d.ts +19 -1
  648. package/dist/tabs/Tab.js +1 -1
  649. package/dist/tabs/Tab.js.map +1 -1
  650. package/dist/tabs/TabList.d.ts +1 -1
  651. package/dist/tabs/TabList.js +1 -1
  652. package/dist/tabs/TabList.js.map +1 -1
  653. package/dist/tabs/TabListScrollButton.d.ts +1 -1
  654. package/dist/tabs/TabListScrollButton.js.map +1 -1
  655. package/dist/tabs/_tabs.scss +142 -5
  656. package/dist/tabs/tabStyles.d.ts +0 -18
  657. package/dist/tabs/tabStyles.js.map +1 -1
  658. package/dist/tabs/useTabs.d.ts +4 -0
  659. package/dist/tabs/useTabs.js +3 -2
  660. package/dist/tabs/useTabs.js.map +1 -1
  661. package/dist/test-utils/jest-globals/match-media.d.ts +1 -2
  662. package/dist/test-utils/jest-globals/match-media.js +1 -1
  663. package/dist/test-utils/jest-globals/match-media.js.map +1 -1
  664. package/dist/test-utils/jest-globals/resize-observer.js +2 -2
  665. package/dist/test-utils/jest-globals/resize-observer.js.map +1 -1
  666. package/dist/test-utils/mocks/ResizeObserver.d.ts +7 -7
  667. package/dist/test-utils/mocks/ResizeObserver.js +7 -7
  668. package/dist/test-utils/mocks/ResizeObserver.js.map +1 -1
  669. package/dist/test-utils/mocks/match-media.d.ts +31 -0
  670. package/dist/test-utils/mocks/match-media.js.map +1 -1
  671. package/dist/test-utils/utils/createMatchMediaSpy.d.ts +40 -0
  672. package/dist/test-utils/{mocks/match-media-implementation.js → utils/createMatchMediaSpy.js} +33 -4
  673. package/dist/test-utils/utils/createMatchMediaSpy.js.map +1 -0
  674. package/dist/test-utils/vitest/match-media.d.ts +1 -2
  675. package/dist/test-utils/vitest/match-media.js +1 -1
  676. package/dist/test-utils/vitest/match-media.js.map +1 -1
  677. package/dist/test-utils/vitest/resize-observer.js +2 -2
  678. package/dist/test-utils/vitest/resize-observer.js.map +1 -1
  679. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +6 -6
  680. package/dist/theme/LocalStorageColorSchemeProvider.js +6 -6
  681. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  682. package/dist/theme/ThemeProvider.d.ts +10 -11
  683. package/dist/theme/ThemeProvider.js +7 -9
  684. package/dist/theme/ThemeProvider.js.map +1 -1
  685. package/dist/theme/_a11y.scss +62 -62
  686. package/dist/theme/_colors.scss +283 -279
  687. package/dist/theme/_theme.scss +298 -249
  688. package/dist/theme/colors.d.ts +2 -2
  689. package/dist/theme/colors.js +2 -2
  690. package/dist/theme/colors.js.map +1 -1
  691. package/dist/theme/useColorScheme.d.ts +1 -1
  692. package/dist/theme/useColorScheme.js +1 -1
  693. package/dist/theme/useColorScheme.js.map +1 -1
  694. package/dist/tooltip/Tooltip.d.ts +12 -1
  695. package/dist/tooltip/Tooltip.js +6 -2
  696. package/dist/tooltip/Tooltip.js.map +1 -1
  697. package/dist/tooltip/TooltipHoverModeProvider.d.ts +1 -0
  698. package/dist/tooltip/TooltipHoverModeProvider.js +1 -0
  699. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  700. package/dist/tooltip/_tooltip.scss +109 -5
  701. package/dist/tooltip/constants.d.ts +13 -3
  702. package/dist/tooltip/constants.js +4 -4
  703. package/dist/tooltip/constants.js.map +1 -1
  704. package/dist/tooltip/{tooltipStyles.d.ts → styles.d.ts} +1 -1
  705. package/dist/tooltip/{tooltipStyles.js → styles.js} +1 -1
  706. package/dist/tooltip/styles.js.map +1 -0
  707. package/dist/tooltip/useTooltip.d.ts +8 -15
  708. package/dist/tooltip/useTooltip.js +8 -8
  709. package/dist/tooltip/useTooltip.js.map +1 -1
  710. package/dist/transition/CSSTransition.d.ts +3 -1
  711. package/dist/transition/CSSTransition.js +3 -1
  712. package/dist/transition/CSSTransition.js.map +1 -1
  713. package/dist/transition/Collapse.d.ts +1 -0
  714. package/dist/transition/Collapse.js +1 -0
  715. package/dist/transition/Collapse.js.map +1 -1
  716. package/dist/transition/CrossFade.d.ts +1 -0
  717. package/dist/transition/CrossFade.js +1 -0
  718. package/dist/transition/CrossFade.js.map +1 -1
  719. package/dist/transition/ScaleTransition.d.ts +4 -1
  720. package/dist/transition/ScaleTransition.js +4 -1
  721. package/dist/transition/ScaleTransition.js.map +1 -1
  722. package/dist/transition/SkeletonPlaceholder.d.ts +3 -2
  723. package/dist/transition/SkeletonPlaceholder.js +3 -2
  724. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  725. package/dist/transition/Slide.d.ts +1 -0
  726. package/dist/transition/Slide.js +1 -0
  727. package/dist/transition/Slide.js.map +1 -1
  728. package/dist/transition/SlideContainer.d.ts +10 -7
  729. package/dist/transition/SlideContainer.js +12 -8
  730. package/dist/transition/SlideContainer.js.map +1 -1
  731. package/dist/transition/_transition.scss +178 -6
  732. package/dist/transition/getTransitionCallbacks.d.ts +76 -0
  733. package/dist/transition/getTransitionCallbacks.js +57 -0
  734. package/dist/transition/getTransitionCallbacks.js.map +1 -0
  735. package/dist/transition/skeletonPlaceholderUtils.d.ts +4 -1
  736. package/dist/transition/skeletonPlaceholderUtils.js +4 -1
  737. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  738. package/dist/transition/types.d.ts +26 -1
  739. package/dist/transition/types.js.map +1 -1
  740. package/dist/transition/useCSSTransition.d.ts +2 -0
  741. package/dist/transition/useCSSTransition.js +2 -0
  742. package/dist/transition/useCSSTransition.js.map +1 -1
  743. package/dist/transition/useCarousel.d.ts +6 -2
  744. package/dist/transition/useCarousel.js +11 -7
  745. package/dist/transition/useCarousel.js.map +1 -1
  746. package/dist/transition/useCollapseTransition.d.ts +7 -2
  747. package/dist/transition/useCollapseTransition.js +2 -0
  748. package/dist/transition/useCollapseTransition.js.map +1 -1
  749. package/dist/transition/useCrossFadeTransition.d.ts +22 -45
  750. package/dist/transition/useCrossFadeTransition.js +17 -49
  751. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  752. package/dist/transition/useScaleTransition.d.ts +22 -16
  753. package/dist/transition/useScaleTransition.js +20 -14
  754. package/dist/transition/useScaleTransition.js.map +1 -1
  755. package/dist/transition/useSkeletonPlaceholder.d.ts +6 -3
  756. package/dist/transition/useSkeletonPlaceholder.js +3 -0
  757. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  758. package/dist/transition/useSlideTransition.d.ts +9 -3
  759. package/dist/transition/useSlideTransition.js +1 -0
  760. package/dist/transition/useSlideTransition.js.map +1 -1
  761. package/dist/transition/useTransition.d.ts +1 -0
  762. package/dist/transition/useTransition.js +3 -2
  763. package/dist/transition/useTransition.js.map +1 -1
  764. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -0
  765. package/dist/tree/DefaultTreeItemRenderer.js +1 -0
  766. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  767. package/dist/tree/Tree.d.ts +8 -9
  768. package/dist/tree/Tree.js +4 -3
  769. package/dist/tree/Tree.js.map +1 -1
  770. package/dist/tree/TreeItem.d.ts +1 -0
  771. package/dist/tree/TreeItem.js +1 -0
  772. package/dist/tree/TreeItem.js.map +1 -1
  773. package/dist/tree/_tree.scss +71 -1
  774. package/dist/tree/types.d.ts +1 -1
  775. package/dist/tree/types.js.map +1 -1
  776. package/dist/tree/useTree.d.ts +4 -2
  777. package/dist/tree/useTree.js +4 -2
  778. package/dist/tree/useTree.js.map +1 -1
  779. package/dist/tree/useTreeExpansion.d.ts +1 -0
  780. package/dist/tree/useTreeExpansion.js +1 -0
  781. package/dist/tree/useTreeExpansion.js.map +1 -1
  782. package/dist/tree/useTreeItems.d.ts +1 -0
  783. package/dist/tree/useTreeItems.js +1 -0
  784. package/dist/tree/useTreeItems.js.map +1 -1
  785. package/dist/tree/useTreeSelection.d.ts +1 -0
  786. package/dist/tree/useTreeSelection.js +1 -0
  787. package/dist/tree/useTreeSelection.js.map +1 -1
  788. package/dist/types.d.ts +1 -1
  789. package/dist/types.js.map +1 -1
  790. package/dist/typography/HighlightText.d.ts +76 -0
  791. package/dist/typography/HighlightText.js +60 -0
  792. package/dist/typography/HighlightText.js.map +1 -0
  793. package/dist/typography/HighlightTextMark.d.ts +16 -0
  794. package/dist/typography/HighlightTextMark.js +16 -0
  795. package/dist/typography/HighlightTextMark.js.map +1 -0
  796. package/dist/typography/Mark.d.ts +27 -0
  797. package/dist/typography/Mark.js +34 -0
  798. package/dist/typography/Mark.js.map +1 -0
  799. package/dist/typography/SrOnly.d.ts +3 -1
  800. package/dist/typography/SrOnly.js +3 -1
  801. package/dist/typography/SrOnly.js.map +1 -1
  802. package/dist/typography/TextContainer.d.ts +9 -1
  803. package/dist/typography/TextContainer.js +3 -1
  804. package/dist/typography/TextContainer.js.map +1 -1
  805. package/dist/typography/Typography.d.ts +2 -1
  806. package/dist/typography/Typography.js +2 -1
  807. package/dist/typography/Typography.js.map +1 -1
  808. package/dist/typography/WritingDirectionProvider.d.ts +8 -8
  809. package/dist/typography/WritingDirectionProvider.js +8 -8
  810. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  811. package/dist/typography/_typography.scss +392 -51
  812. package/dist/typography/markStyles.d.ts +10 -0
  813. package/dist/typography/markStyles.js +11 -0
  814. package/dist/typography/markStyles.js.map +1 -0
  815. package/dist/typography/textContainerStyles.d.ts +2 -7
  816. package/dist/typography/textContainerStyles.js +2 -1
  817. package/dist/typography/textContainerStyles.js.map +1 -1
  818. package/dist/typography/typographyStyles.d.ts +2 -2
  819. package/dist/typography/typographyStyles.js +2 -2
  820. package/dist/typography/typographyStyles.js.map +1 -1
  821. package/dist/useAsyncFunction.d.ts +10 -68
  822. package/dist/useAsyncFunction.js +9 -67
  823. package/dist/useAsyncFunction.js.map +1 -1
  824. package/dist/useDebouncedFunction.d.ts +3 -1
  825. package/dist/useDebouncedFunction.js +3 -1
  826. package/dist/useDebouncedFunction.js.map +1 -1
  827. package/dist/useDropzone.d.ts +3 -2
  828. package/dist/useDropzone.js +3 -2
  829. package/dist/useDropzone.js.map +1 -1
  830. package/dist/useThrottledFunction.d.ts +3 -1
  831. package/dist/useThrottledFunction.js +3 -1
  832. package/dist/useThrottledFunction.js.map +1 -1
  833. package/dist/useUnmounted.d.ts +1 -1
  834. package/dist/useUnmounted.js +1 -1
  835. package/dist/useUnmounted.js.map +1 -1
  836. package/dist/utils/RenderRecursively.d.ts +1 -0
  837. package/dist/utils/RenderRecursively.js +1 -0
  838. package/dist/utils/RenderRecursively.js.map +1 -1
  839. package/dist/utils/applyRef.d.ts +1 -1
  840. package/dist/utils/applyRef.js +1 -1
  841. package/dist/utils/applyRef.js.map +1 -1
  842. package/dist/window-splitter/WindowSplitter.d.ts +11 -0
  843. package/dist/window-splitter/WindowSplitter.js +1 -0
  844. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  845. package/dist/window-splitter/_window-splitter.scss +46 -0
  846. package/dist/window-splitter/useWindowSplitter.d.ts +0 -10
  847. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  848. package/package.json +43 -17
  849. package/src/CoreProviders.tsx +1 -0
  850. package/src/NoSsr.tsx +3 -1
  851. package/src/RootHtml.tsx +1 -1
  852. package/src/SsrProvider.tsx +1 -0
  853. package/src/app-bar/AppBar.tsx +3 -1
  854. package/src/app-bar/AppBarTitle.tsx +2 -1
  855. package/src/autocomplete/Autocomplete.tsx +85 -3
  856. package/src/autocomplete/AutocompleteChip.tsx +1 -0
  857. package/src/autocomplete/AutocompleteCircularProgress.tsx +1 -0
  858. package/src/autocomplete/AutocompleteClearButton.tsx +3 -1
  859. package/src/autocomplete/AutocompleteDropdownButton.tsx +1 -0
  860. package/src/autocomplete/AutocompleteListboxChildren.tsx +2 -3
  861. package/src/autocomplete/autocompleteStyles.ts +11 -2
  862. package/src/autocomplete/types.ts +140 -86
  863. package/src/autocomplete/useAutocomplete.ts +21 -26
  864. package/src/autocomplete/utils.ts +6 -8
  865. package/src/avatar/Avatar.tsx +2 -1
  866. package/src/badge/Badge.tsx +8 -4
  867. package/src/box/Box.tsx +4 -3
  868. package/src/button/AsyncButton.tsx +4 -3
  869. package/src/button/Button.tsx +11 -9
  870. package/src/button/ButtonUnstyled.tsx +2 -1
  871. package/src/button/TooltippedButton.tsx +3 -2
  872. package/src/button/{buttonStyles.ts → styles.ts} +18 -0
  873. package/src/card/Card.tsx +9 -10
  874. package/src/card/CardContent.tsx +1 -0
  875. package/src/card/CardFooter.tsx +1 -0
  876. package/src/card/CardHeader.tsx +1 -0
  877. package/src/card/CardSubtitle.tsx +1 -0
  878. package/src/card/CardTitle.tsx +2 -1
  879. package/src/card/ClickableCard.tsx +3 -1
  880. package/src/chip/Chip.tsx +5 -3
  881. package/src/cssUtils.ts +1 -1
  882. package/src/dialog/Dialog.tsx +9 -10
  883. package/src/dialog/DialogContent.tsx +5 -5
  884. package/src/dialog/DialogFooter.tsx +5 -2
  885. package/src/dialog/DialogHeader.tsx +31 -5
  886. package/src/dialog/DialogTitle.tsx +8 -7
  887. package/src/dialog/FixedDialog.tsx +13 -12
  888. package/src/dialog/styles.ts +16 -10
  889. package/src/divider/Divider.tsx +3 -1
  890. package/src/divider/styles.ts +2 -2
  891. package/src/draggable/useDraggable.ts +1 -0
  892. package/src/error-boundary/ErrorBoundary.tsx +103 -0
  893. package/src/error-boundary/context.ts +16 -0
  894. package/src/error-boundary/types.ts +19 -0
  895. package/src/error-boundary/useErrorBoundary.ts +36 -0
  896. package/src/expansion-panel/ExpansionList.tsx +1 -0
  897. package/src/expansion-panel/ExpansionPanel.tsx +32 -0
  898. package/src/expansion-panel/ExpansionPanelHeader.tsx +10 -10
  899. package/src/expansion-panel/expansionPanelStyles.ts +33 -0
  900. package/src/expansion-panel/useExpansionList.ts +7 -8
  901. package/src/expansion-panel/useExpansionPanels.ts +7 -10
  902. package/src/files/FileInput.tsx +4 -2
  903. package/src/files/styles.ts +1 -1
  904. package/src/files/useFileUpload.ts +2 -0
  905. package/src/focus/useFocusContainer.ts +29 -43
  906. package/src/form/Checkbox.tsx +3 -1
  907. package/src/form/Fieldset.tsx +6 -35
  908. package/src/form/Form.tsx +2 -0
  909. package/src/form/FormMessage.tsx +2 -0
  910. package/src/form/FormMessageContainer.tsx +1 -0
  911. package/src/form/FormMessageCounter.tsx +2 -0
  912. package/src/form/InputToggle.tsx +4 -2
  913. package/src/form/Label.tsx +5 -54
  914. package/src/form/Legend.tsx +1 -0
  915. package/src/form/Listbox.tsx +1 -1
  916. package/src/form/MenuItemCheckbox.tsx +3 -1
  917. package/src/form/MenuItemFileInput.tsx +1 -0
  918. package/src/form/MenuItemInputToggle.tsx +3 -2
  919. package/src/form/MenuItemRadio.tsx +8 -8
  920. package/src/form/MenuItemSwitch.tsx +3 -1
  921. package/src/form/MenuItemTextField.tsx +1 -0
  922. package/src/form/NativeSelect.tsx +2 -0
  923. package/src/form/OptGroup.tsx +4 -1
  924. package/src/form/Option.tsx +2 -1
  925. package/src/form/Password.tsx +3 -1
  926. package/src/form/Radio.tsx +2 -0
  927. package/src/form/Select.tsx +6 -29
  928. package/src/form/Slider.tsx +9 -2
  929. package/src/form/SliderContainer.tsx +7 -15
  930. package/src/form/SliderMark.tsx +2 -13
  931. package/src/form/SliderMarkLabel.tsx +2 -5
  932. package/src/form/SliderThumb.tsx +2 -50
  933. package/src/form/SliderTrack.tsx +8 -18
  934. package/src/form/SliderValueTooltip.tsx +2 -10
  935. package/src/form/Switch.tsx +10 -1
  936. package/src/form/SwitchTrack.tsx +3 -6
  937. package/src/form/TextArea.tsx +10 -1
  938. package/src/form/TextField.tsx +3 -1
  939. package/src/form/TextFieldAddon.tsx +2 -59
  940. package/src/form/TextFieldContainer.tsx +14 -0
  941. package/src/form/fieldsetStyles.ts +35 -0
  942. package/src/form/formConfig.ts +29 -4
  943. package/src/form/labelStyles.ts +55 -0
  944. package/src/form/sliderStyles.ts +204 -0
  945. package/src/form/switchStyles.ts +36 -7
  946. package/src/form/textAreaStyles.ts +0 -7
  947. package/src/form/textFieldAddonStyles.ts +41 -0
  948. package/src/form/textFieldContainerStyles.ts +0 -14
  949. package/src/form/types.ts +25 -2
  950. package/src/form/useCheckboxGroup.ts +14 -0
  951. package/src/form/useCombobox.ts +78 -84
  952. package/src/form/useNumberField.ts +19 -7
  953. package/src/form/useRadioGroup.ts +9 -0
  954. package/src/form/useRangeSlider.ts +6 -1
  955. package/src/form/useSlider.ts +4 -1
  956. package/src/form/useTextField.ts +12 -1
  957. package/src/form/validation.ts +1 -0
  958. package/src/icon/FontIcon.tsx +1 -0
  959. package/src/icon/IconRotator.tsx +2 -0
  960. package/src/icon/MaterialIcon.tsx +2 -0
  961. package/src/icon/MaterialSymbol.tsx +3 -1
  962. package/src/icon/SVGIcon.tsx +2 -0
  963. package/src/icon/TextIconSpacing.tsx +6 -2
  964. package/src/icon/config.tsx +2 -2
  965. package/src/icon/material.ts +260 -17
  966. package/src/icon/styles.ts +5 -1
  967. package/src/interaction/Ripple.tsx +4 -4
  968. package/src/interaction/UserInteractionModeProvider.tsx +1 -1
  969. package/src/layout/LayoutAppBar.tsx +1 -0
  970. package/src/layout/LayoutNav.tsx +9 -12
  971. package/src/layout/LayoutWindowSplitter.tsx +7 -8
  972. package/src/layout/Main.tsx +2 -1
  973. package/src/layout/useExpandableLayout.ts +1 -0
  974. package/src/layout/useHorizontalLayoutTransition.ts +5 -2
  975. package/src/layout/useLayoutAppBarHeight.ts +7 -10
  976. package/src/layout/useLayoutTree.ts +3 -0
  977. package/src/layout/useLayoutWindowSplitter.ts +4 -2
  978. package/src/layout/useResizableLayout.ts +3 -0
  979. package/src/layout/useTemporaryLayout.ts +1 -0
  980. package/src/link/Link.tsx +3 -1
  981. package/src/link/SkipToMainContent.tsx +22 -0
  982. package/src/list/List.tsx +12 -1
  983. package/src/list/ListItem.tsx +23 -2
  984. package/src/list/ListItemChildren.tsx +3 -1
  985. package/src/list/ListItemLink.tsx +32 -1
  986. package/src/list/ListSubheader.tsx +2 -0
  987. package/src/list/listItemStyles.ts +0 -17
  988. package/src/list/listStyles.ts +0 -7
  989. package/src/media-queries/AppSizeProvider.tsx +2 -0
  990. package/src/media-queries/useMediaQuery.ts +2 -0
  991. package/src/menu/DropdownMenu.tsx +5 -2
  992. package/src/menu/Menu.tsx +1 -0
  993. package/src/menu/MenuBar.tsx +4 -1
  994. package/src/menu/MenuButton.tsx +1 -0
  995. package/src/menu/MenuItem.tsx +1 -0
  996. package/src/menu/MenuItemCircularProgress.tsx +4 -6
  997. package/src/menu/MenuItemGroup.tsx +6 -7
  998. package/src/menu/MenuItemSeparator.tsx +1 -0
  999. package/src/menu/MenuWidget.tsx +1 -21
  1000. package/src/menu/styles.ts +23 -0
  1001. package/src/menu/useContextMenu.ts +4 -1
  1002. package/src/movement/useKeyboardMovementProvider.ts +3 -3
  1003. package/src/navigation/CollapsibleNavGroup.tsx +1 -0
  1004. package/src/navigation/DefaultNavigationRenderer.tsx +1 -0
  1005. package/src/navigation/NavGroup.tsx +1 -0
  1006. package/src/navigation/NavItem.tsx +1 -0
  1007. package/src/navigation/NavItemButton.tsx +1 -0
  1008. package/src/navigation/NavItemLink.tsx +1 -0
  1009. package/src/navigation/NavSubheader.tsx +1 -0
  1010. package/src/navigation/Navigation.tsx +44 -0
  1011. package/src/navigation/getTableOfContentsHeadings.ts +70 -0
  1012. package/src/navigation/navItemStyles.ts +1 -1
  1013. package/src/navigation/types.ts +57 -0
  1014. package/src/navigation/useActiveHeadingId.ts +3 -15
  1015. package/src/navigation/useNavigationExpansion.ts +2 -0
  1016. package/src/navigation/useTableOfContentsHeadings.ts +22 -89
  1017. package/src/overlay/Overlay.tsx +12 -2
  1018. package/src/overlay/{overlayStyles.ts → styles.ts} +1 -7
  1019. package/src/portal/Portal.tsx +1 -0
  1020. package/src/portal/PortalContainerProvider.tsx +1 -0
  1021. package/src/positioning/createHorizontalPosition.ts +25 -19
  1022. package/src/positioning/createVerticalPosition.ts +10 -8
  1023. package/src/positioning/useFixedPositioning.ts +1 -0
  1024. package/src/progress/CircularProgress.tsx +3 -2
  1025. package/src/progress/LinearProgress.tsx +3 -2
  1026. package/src/responsive-item/ResponsiveItem.tsx +4 -3
  1027. package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -4
  1028. package/src/scroll/useScrollLock.ts +1 -0
  1029. package/src/searching/fuzzy.ts +2 -1
  1030. package/src/segmented-button/SegmentedButton.tsx +3 -4
  1031. package/src/segmented-button/SegmentedButtonContainer.tsx +7 -8
  1032. package/src/segmented-button/segmentedButtonContainerStyles.ts +1 -1
  1033. package/src/sheet/Sheet.tsx +15 -0
  1034. package/src/sheet/styles.ts +10 -17
  1035. package/src/snackbar/DefaultToastRenderer.tsx +1 -0
  1036. package/src/snackbar/Snackbar.tsx +10 -9
  1037. package/src/snackbar/Toast.tsx +9 -0
  1038. package/src/snackbar/ToastActionButton.tsx +2 -1
  1039. package/src/snackbar/ToastCloseButton.tsx +2 -1
  1040. package/src/snackbar/ToastContent.tsx +1 -0
  1041. package/src/snackbar/{ToastManager.tsx → ToastManager.ts} +1 -1
  1042. package/src/snackbar/ToastManagerProvider.tsx +1 -0
  1043. package/src/snackbar/toastStyles.ts +0 -8
  1044. package/src/snackbar/useCurrentToastActions.ts +1 -0
  1045. package/src/storage/useStorage.ts +1 -0
  1046. package/src/suspense/CircularProgressSuspense.tsx +2 -1
  1047. package/src/suspense/NullSuspense.tsx +2 -1
  1048. package/src/table/StickyTableSection.tsx +2 -0
  1049. package/src/table/Table.tsx +8 -8
  1050. package/src/table/TableBody.tsx +2 -0
  1051. package/src/table/TableCell.tsx +6 -2
  1052. package/src/table/TableCheckbox.tsx +11 -12
  1053. package/src/table/TableContainer.tsx +2 -0
  1054. package/src/table/TableFooter.tsx +2 -0
  1055. package/src/table/TableHeader.tsx +2 -0
  1056. package/src/table/TableRadio.tsx +13 -13
  1057. package/src/table/TableRow.tsx +2 -0
  1058. package/src/table/tableCellStyles.ts +1 -1
  1059. package/src/tabs/SimpleTabPanel.tsx +2 -0
  1060. package/src/tabs/SimpleTabPanels.tsx +2 -0
  1061. package/src/tabs/Tab.tsx +21 -1
  1062. package/src/tabs/TabList.tsx +1 -1
  1063. package/src/tabs/TabListScrollButton.tsx +1 -1
  1064. package/src/tabs/tabStyles.ts +0 -20
  1065. package/src/tabs/useTabs.ts +7 -2
  1066. package/src/test-utils/jest-globals/match-media.ts +4 -3
  1067. package/src/test-utils/jest-globals/resize-observer.ts +2 -2
  1068. package/src/test-utils/mocks/ResizeObserver.ts +7 -7
  1069. package/src/test-utils/mocks/match-media.ts +32 -0
  1070. package/src/test-utils/{mocks/match-media-implementation.ts → utils/createMatchMediaSpy.ts} +34 -36
  1071. package/src/test-utils/vitest/match-media.ts +4 -3
  1072. package/src/test-utils/vitest/resize-observer.ts +2 -2
  1073. package/src/theme/LocalStorageColorSchemeProvider.tsx +6 -6
  1074. package/src/theme/ThemeProvider.tsx +10 -11
  1075. package/src/theme/colors.ts +2 -2
  1076. package/src/theme/useColorScheme.ts +1 -1
  1077. package/src/tooltip/Tooltip.tsx +14 -2
  1078. package/src/tooltip/TooltipHoverModeProvider.tsx +1 -0
  1079. package/src/tooltip/constants.ts +11 -11
  1080. package/src/tooltip/{tooltipStyles.ts → styles.ts} +1 -1
  1081. package/src/tooltip/useTooltip.ts +8 -16
  1082. package/src/transition/CSSTransition.tsx +3 -1
  1083. package/src/transition/Collapse.tsx +1 -0
  1084. package/src/transition/CrossFade.tsx +1 -0
  1085. package/src/transition/ScaleTransition.tsx +4 -1
  1086. package/src/transition/SkeletonPlaceholder.tsx +3 -2
  1087. package/src/transition/Slide.tsx +1 -0
  1088. package/src/transition/SlideContainer.tsx +15 -11
  1089. package/src/transition/getTransitionCallbacks.ts +140 -0
  1090. package/src/transition/skeletonPlaceholderUtils.ts +4 -1
  1091. package/src/transition/types.ts +28 -7
  1092. package/src/transition/useCSSTransition.ts +2 -0
  1093. package/src/transition/useCarousel.ts +11 -7
  1094. package/src/transition/useCollapseTransition.ts +4 -3
  1095. package/src/transition/useCrossFadeTransition.ts +23 -57
  1096. package/src/transition/useScaleTransition.ts +27 -19
  1097. package/src/transition/useSkeletonPlaceholder.ts +6 -3
  1098. package/src/transition/useSlideTransition.ts +14 -13
  1099. package/src/transition/useTransition.ts +3 -2
  1100. package/src/tree/DefaultTreeItemRenderer.tsx +1 -0
  1101. package/src/tree/Tree.tsx +8 -9
  1102. package/src/tree/TreeItem.tsx +1 -0
  1103. package/src/tree/types.ts +1 -1
  1104. package/src/tree/useTree.ts +4 -2
  1105. package/src/tree/useTreeExpansion.ts +1 -0
  1106. package/src/tree/useTreeItems.ts +1 -0
  1107. package/src/tree/useTreeSelection.ts +1 -0
  1108. package/src/types.ts +1 -1
  1109. package/src/typography/HighlightText.tsx +201 -0
  1110. package/src/typography/HighlightTextMark.tsx +25 -0
  1111. package/src/typography/Mark.tsx +41 -0
  1112. package/src/typography/SrOnly.tsx +3 -1
  1113. package/src/typography/TextContainer.tsx +10 -1
  1114. package/src/typography/Typography.tsx +2 -1
  1115. package/src/typography/WritingDirectionProvider.tsx +8 -8
  1116. package/src/typography/markStyles.ts +20 -0
  1117. package/src/typography/textContainerStyles.ts +2 -8
  1118. package/src/typography/typographyStyles.ts +2 -2
  1119. package/src/useAsyncFunction.ts +12 -68
  1120. package/src/useDebouncedFunction.ts +3 -1
  1121. package/src/useDropzone.ts +3 -2
  1122. package/src/useThrottledFunction.ts +3 -1
  1123. package/src/useUnmounted.ts +1 -1
  1124. package/src/utils/RenderRecursively.tsx +1 -0
  1125. package/src/utils/applyRef.ts +1 -1
  1126. package/src/window-splitter/WindowSplitter.tsx +12 -0
  1127. package/src/window-splitter/useWindowSplitter.ts +0 -11
  1128. package/dist/button/buttonStyles.js.map +0 -1
  1129. package/dist/button/buttonUnstyledStyles.d.ts +0 -10
  1130. package/dist/button/buttonUnstyledStyles.js +0 -11
  1131. package/dist/button/buttonUnstyledStyles.js.map +0 -1
  1132. package/dist/overlay/overlayStyles.js.map +0 -1
  1133. package/dist/test-utils/mocks/match-media-implementation.d.ts +0 -42
  1134. package/dist/test-utils/mocks/match-media-implementation.js.map +0 -1
  1135. package/dist/tooltip/tooltipStyles.js.map +0 -1
  1136. package/src/button/buttonUnstyledStyles.ts +0 -19
  1137. /package/src/table/{TableConfigurationProvider.tsx → TableConfigurationProvider.ts} +0 -0
  1138. /package/src/table/{TableContainerProvider.tsx → TableContainerProvider.ts} +0 -0
@@ -15,7 +15,8 @@
15
15
  * @example Only Radio Items
16
16
  * ```tsx
17
17
  * import { ReactElement, useState } from "react";
18
- * import { DropdownMenu, MenuItemRadio } from "@react-md/core";
18
+ * import { DropdownMenu } from "@react-md/core/menu/DropdownMenu";
19
+ * import { MenuItemRadio } from "@react-md/core/menu/MenuItemRadio";
19
20
  *
20
21
  * function Example(): ReactElement {
21
22
  * const [value, setValue] = useState("value1");
@@ -50,13 +51,11 @@
50
51
  *
51
52
  * @example With Other Items
52
53
  * ```tsx
53
- * import {
54
- * DropdownMenu,
55
- * MenuItemGroup,
56
- * MenuItemRadio,
57
- * MenuItemSwitch,
58
- * MenuItemSeparator,
59
- * } from "@react-md/core";
54
+ * import { DropdownMenu } from "@react-md/core/menu/DropdownMenu";
55
+ * import { MenuItemGroup } from "@react-md/core/menu/MenuItemGroup";
56
+ * import { MenuItemRadio } from "@react-md/core/menu/MenuItemRadio";
57
+ * import { MenuItemSeparator } from "@react-md/core/menu/MenuItemSeparator";
58
+ * import { MenuItemSwitch } from "@react-md/core/menu/MenuItemSwitch";
60
59
  * import type { ReactElement } from "react";
61
60
  * import { useState } from "react";
62
61
  *
@@ -97,6 +96,7 @@
97
96
  * }
98
97
  * ```
99
98
  *
99
+ * @see {@link https://next.react-md.dev/components/menu#menuitemradio-example | DropdownMenu Demos}
100
100
  * @since 2.8.0
101
101
  */
102
102
  export declare const MenuItemRadio: import("react").ForwardRefExoticComponent<import("./MenuItemInputToggle.js").BaseMenuItemInputToggleProps & import("react").RefAttributes<HTMLLIElement>>;
@@ -19,7 +19,8 @@ import { MenuItemInputToggle } from "./MenuItemInputToggle.js";
19
19
  * @example Only Radio Items
20
20
  * ```tsx
21
21
  * import { ReactElement, useState } from "react";
22
- * import { DropdownMenu, MenuItemRadio } from "@react-md/core";
22
+ * import { DropdownMenu } from "@react-md/core/menu/DropdownMenu";
23
+ * import { MenuItemRadio } from "@react-md/core/menu/MenuItemRadio";
23
24
  *
24
25
  * function Example(): ReactElement {
25
26
  * const [value, setValue] = useState("value1");
@@ -54,13 +55,11 @@ import { MenuItemInputToggle } from "./MenuItemInputToggle.js";
54
55
  *
55
56
  * @example With Other Items
56
57
  * ```tsx
57
- * import {
58
- * DropdownMenu,
59
- * MenuItemGroup,
60
- * MenuItemRadio,
61
- * MenuItemSwitch,
62
- * MenuItemSeparator,
63
- * } from "@react-md/core";
58
+ * import { DropdownMenu } from "@react-md/core/menu/DropdownMenu";
59
+ * import { MenuItemGroup } from "@react-md/core/menu/MenuItemGroup";
60
+ * import { MenuItemRadio } from "@react-md/core/menu/MenuItemRadio";
61
+ * import { MenuItemSeparator } from "@react-md/core/menu/MenuItemSeparator";
62
+ * import { MenuItemSwitch } from "@react-md/core/menu/MenuItemSwitch";
64
63
  * import type { ReactElement } from "react";
65
64
  * import { useState } from "react";
66
65
  *
@@ -101,6 +100,7 @@ import { MenuItemInputToggle } from "./MenuItemInputToggle.js";
101
100
  * }
102
101
  * ```
103
102
  *
103
+ * @see {@link https://next.react-md.dev/components/menu#menuitemradio-example | DropdownMenu Demos}
104
104
  * @since 2.8.0
105
105
  */ export const MenuItemRadio = /*#__PURE__*/ forwardRef(function MenuItemRadio(props, ref) {
106
106
  return /*#__PURE__*/ _jsx(MenuItemInputToggle, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/MenuItemRadio.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type ICON_CONFIG } from \"../icon/config.js\";\nimport {\n MenuItemInputToggle,\n type MenuItemRadioProps,\n} from \"./MenuItemInputToggle.js\";\n\n/**\n * **Client Component**\n *\n * This is a simple wrapper for the {@link MenuItemInputToggle} component to\n * render it as a radio and pulling the radio icon from the\n * {@link ICON_CONFIG}.\n *\n * If a menu or menubar contains more than one group of menuitemradio elements,\n * or if the menu contains one group and other, unrelated menu items, authors\n * SHOULD nest each set of related menuitemradio elements in an element using\n * the group role, and authors SHOULD delimit the group from other menu items\n * with an element using the separator role.\n * @see {@link https://www.w3.org/TR/wai-aria-1.1/#menuitemradio}\n *\n * @example Only Radio Items\n * ```tsx\n * import { ReactElement, useState } from \"react\";\n * import { DropdownMenu, MenuItemRadio } from \"@react-md/core\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"value1\");\n *\n * return (\n * <DropdownMenu id=\"dropdown-menu-id\" buttonChildren=\"Button\">\n * <MenuItemRadio\n * id=\"radio-1\"\n * checked={value === \"value1\"}\n * onCheckedChange={() => setValue(\"value1\")}\n * >\n * Radio 1\n * </MenuItemRadio>\n * <MenuItemRadio\n * id=\"radio-2\"\n * checked={value === \"value2\"}\n * onCheckedChange={() => setValue(\"value2\")}\n * >\n * Radio 2\n * </MenuItemRadio>\n * <MenuItemRadio\n * id=\"radio-3\"\n * checked={value === \"value3\"}\n * onCheckedChange={() => setValue(\"value3\")}\n * >\n * Radio 3\n * </MenuItemRadio>\n * </DropdownMenu>\n * );\n * }\n * ```\n *\n * @example With Other Items\n * ```tsx\n * import {\n * DropdownMenu,\n * MenuItemGroup,\n * MenuItemRadio,\n * MenuItemSwitch,\n * MenuItemSeparator,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"value1\");\n *\n * return (\n * <DropdownMenu buttonChildren=\"Button\">\n * <MenuItemSwitch\n * checked={checked}\n * onCheckedChange={nextChecked => setChecked(nextChecked)}\n * >\n * Light mode\n * </MenuItemSwitch>\n * <MenuItemSeparator />\n * <MenuItemGroup aria-label=\"My Group Label\">\n * <MenuItemRadio\n * checked={value === \"value1\"}\n * onCheckedChange={() => setValue(\"value1\")}\n * >\n * Radio 1\n * </MenuItemRadio>\n * <MenuItemRadio\n * checked={value === \"value2\"}\n * onCheckedChange={() => setValue(\"value2\")}\n * >\n * Radio 2\n * </MenuItemRadio>\n * <MenuItemRadio\n * checked={value === \"value3\"}\n * onCheckedChange={() => setValue(\"value3\")}\n * >\n * Radio 3\n * </MenuItemRadio>\n * </MenuItemGroup>\n * </DropdownMenu>\n * );\n * }\n * ```\n *\n * @since 2.8.0\n */\nexport const MenuItemRadio = forwardRef<HTMLLIElement, MenuItemRadioProps>(\n function MenuItemRadio(props, ref) {\n return <MenuItemInputToggle {...props} ref={ref} type=\"radio\" />;\n }\n);\n"],"names":["forwardRef","MenuItemInputToggle","MenuItemRadio","props","ref","type"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,QAAQ;AAInC,SACEC,mBAAmB,QAEd,2BAA2B;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGC,GACD,OAAO,MAAMC,8BAAgBF,WAC3B,SAASE,cAAcC,KAAK,EAAEC,GAAG;IAC/B,qBAAO,KAACH;QAAqB,GAAGE,KAAK;QAAEC,KAAKA;QAAKC,MAAK;;AACxD,GACA"}
1
+ {"version":3,"sources":["../../src/form/MenuItemRadio.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type ICON_CONFIG } from \"../icon/config.js\";\nimport {\n MenuItemInputToggle,\n type MenuItemRadioProps,\n} from \"./MenuItemInputToggle.js\";\n\n/**\n * **Client Component**\n *\n * This is a simple wrapper for the {@link MenuItemInputToggle} component to\n * render it as a radio and pulling the radio icon from the\n * {@link ICON_CONFIG}.\n *\n * If a menu or menubar contains more than one group of menuitemradio elements,\n * or if the menu contains one group and other, unrelated menu items, authors\n * SHOULD nest each set of related menuitemradio elements in an element using\n * the group role, and authors SHOULD delimit the group from other menu items\n * with an element using the separator role.\n * @see {@link https://www.w3.org/TR/wai-aria-1.1/#menuitemradio}\n *\n * @example Only Radio Items\n * ```tsx\n * import { ReactElement, useState } from \"react\";\n * import { DropdownMenu } from \"@react-md/core/menu/DropdownMenu\";\n * import { MenuItemRadio } from \"@react-md/core/menu/MenuItemRadio\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"value1\");\n *\n * return (\n * <DropdownMenu id=\"dropdown-menu-id\" buttonChildren=\"Button\">\n * <MenuItemRadio\n * id=\"radio-1\"\n * checked={value === \"value1\"}\n * onCheckedChange={() => setValue(\"value1\")}\n * >\n * Radio 1\n * </MenuItemRadio>\n * <MenuItemRadio\n * id=\"radio-2\"\n * checked={value === \"value2\"}\n * onCheckedChange={() => setValue(\"value2\")}\n * >\n * Radio 2\n * </MenuItemRadio>\n * <MenuItemRadio\n * id=\"radio-3\"\n * checked={value === \"value3\"}\n * onCheckedChange={() => setValue(\"value3\")}\n * >\n * Radio 3\n * </MenuItemRadio>\n * </DropdownMenu>\n * );\n * }\n * ```\n *\n * @example With Other Items\n * ```tsx\n * import { DropdownMenu } from \"@react-md/core/menu/DropdownMenu\";\n * import { MenuItemGroup } from \"@react-md/core/menu/MenuItemGroup\";\n * import { MenuItemRadio } from \"@react-md/core/menu/MenuItemRadio\";\n * import { MenuItemSeparator } from \"@react-md/core/menu/MenuItemSeparator\";\n * import { MenuItemSwitch } from \"@react-md/core/menu/MenuItemSwitch\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"value1\");\n *\n * return (\n * <DropdownMenu buttonChildren=\"Button\">\n * <MenuItemSwitch\n * checked={checked}\n * onCheckedChange={nextChecked => setChecked(nextChecked)}\n * >\n * Light mode\n * </MenuItemSwitch>\n * <MenuItemSeparator />\n * <MenuItemGroup aria-label=\"My Group Label\">\n * <MenuItemRadio\n * checked={value === \"value1\"}\n * onCheckedChange={() => setValue(\"value1\")}\n * >\n * Radio 1\n * </MenuItemRadio>\n * <MenuItemRadio\n * checked={value === \"value2\"}\n * onCheckedChange={() => setValue(\"value2\")}\n * >\n * Radio 2\n * </MenuItemRadio>\n * <MenuItemRadio\n * checked={value === \"value3\"}\n * onCheckedChange={() => setValue(\"value3\")}\n * >\n * Radio 3\n * </MenuItemRadio>\n * </MenuItemGroup>\n * </DropdownMenu>\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/menu#menuitemradio-example | DropdownMenu Demos}\n * @since 2.8.0\n */\nexport const MenuItemRadio = forwardRef<HTMLLIElement, MenuItemRadioProps>(\n function MenuItemRadio(props, ref) {\n return <MenuItemInputToggle {...props} ref={ref} type=\"radio\" />;\n }\n);\n"],"names":["forwardRef","MenuItemInputToggle","MenuItemRadio","props","ref","type"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,QAAQ;AAInC,SACEC,mBAAmB,QAEd,2BAA2B;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGC,GACD,OAAO,MAAMC,8BAAgBF,WAC3B,SAASE,cAAcC,KAAK,EAAEC,GAAG;IAC/B,qBAAO,KAACH;QAAqB,GAAGE,KAAK;QAAEC,KAAKA;QAAKC,MAAK;;AACxD,GACA"}
@@ -8,7 +8,8 @@ import { type MenuItemSwitchProps } from "./MenuItemInputToggle.js";
8
8
  * @example Simple Example
9
9
  * ```tsx
10
10
  * import { ReactElement, useState } from "react";
11
- * import { DropdownMenu, MenuItemSwitch } from "@react-md/core";
11
+ * import { DropdownMenu } from "@react-md/core/menu/DropdownMenu";
12
+ * import { MenuItemSwitch } from "@react-md/core/menu/MenuItemSwitch";
12
13
  *
13
14
  * function Example(): ReactElement {
14
15
  * const [checked, setChecked] = useState(false);
@@ -26,6 +27,7 @@ import { type MenuItemSwitchProps } from "./MenuItemInputToggle.js";
26
27
  * }
27
28
  * ```
28
29
  *
30
+ * @see {@link https://next.react-md.dev/components/menu#menuitemswitch-example | DropdownMenu Demos}
29
31
  * @since 2.8.0
30
32
  */
31
33
  export declare const MenuItemSwitch: import("react").ForwardRefExoticComponent<MenuItemSwitchProps & import("react").RefAttributes<HTMLLIElement>>;
@@ -11,7 +11,8 @@ import { MenuItemInputToggle } from "./MenuItemInputToggle.js";
11
11
  * @example Simple Example
12
12
  * ```tsx
13
13
  * import { ReactElement, useState } from "react";
14
- * import { DropdownMenu, MenuItemSwitch } from "@react-md/core";
14
+ * import { DropdownMenu } from "@react-md/core/menu/DropdownMenu";
15
+ * import { MenuItemSwitch } from "@react-md/core/menu/MenuItemSwitch";
15
16
  *
16
17
  * function Example(): ReactElement {
17
18
  * const [checked, setChecked] = useState(false);
@@ -29,6 +30,7 @@ import { MenuItemInputToggle } from "./MenuItemInputToggle.js";
29
30
  * }
30
31
  * ```
31
32
  *
33
+ * @see {@link https://next.react-md.dev/components/menu#menuitemswitch-example | DropdownMenu Demos}
32
34
  * @since 2.8.0
33
35
  */ export const MenuItemSwitch = /*#__PURE__*/ forwardRef(function MenuItemSwitch(props, ref) {
34
36
  return /*#__PURE__*/ _jsx(MenuItemInputToggle, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/MenuItemSwitch.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\n\nimport {\n MenuItemInputToggle,\n type MenuItemSwitchProps,\n} from \"./MenuItemInputToggle.js\";\n\n/**\n * **Client Component**\n *\n * This is a simple wrapper for the {@link MenuItemInputToggle} component to\n * render it as a switch.\n *\n * @example Simple Example\n * ```tsx\n * import { ReactElement, useState } from \"react\";\n * import { DropdownMenu, MenuItemSwitch } from \"@react-md/core\";\n *\n * function Example(): ReactElement {\n * const [checked, setChecked] = useState(false);\n *\n * return (\n * <DropdownMenu buttonChildren=\"Button\">\n * <MenuItemSwitch\n * checked={checked}\n * onCheckedChange={(nextChecked) => setChecked(nextChecked)}\n * >\n * Switch\n * </MenuItemSwitch>\n * </DropdownMenu>\n * );\n * }\n * ```\n *\n * @since 2.8.0\n */\nexport const MenuItemSwitch = forwardRef<HTMLLIElement, MenuItemSwitchProps>(\n function MenuItemSwitch(props, ref) {\n return <MenuItemInputToggle {...props} ref={ref} type=\"switch\" />;\n }\n);\n"],"names":["forwardRef","MenuItemInputToggle","MenuItemSwitch","props","ref","type"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SACEC,mBAAmB,QAEd,2BAA2B;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BC,GACD,OAAO,MAAMC,+BAAiBF,WAC5B,SAASE,eAAeC,KAAK,EAAEC,GAAG;IAChC,qBAAO,KAACH;QAAqB,GAAGE,KAAK;QAAEC,KAAKA;QAAKC,MAAK;;AACxD,GACA"}
1
+ {"version":3,"sources":["../../src/form/MenuItemSwitch.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\n\nimport {\n MenuItemInputToggle,\n type MenuItemSwitchProps,\n} from \"./MenuItemInputToggle.js\";\n\n/**\n * **Client Component**\n *\n * This is a simple wrapper for the {@link MenuItemInputToggle} component to\n * render it as a switch.\n *\n * @example Simple Example\n * ```tsx\n * import { ReactElement, useState } from \"react\";\n * import { DropdownMenu } from \"@react-md/core/menu/DropdownMenu\";\n * import { MenuItemSwitch } from \"@react-md/core/menu/MenuItemSwitch\";\n *\n * function Example(): ReactElement {\n * const [checked, setChecked] = useState(false);\n *\n * return (\n * <DropdownMenu buttonChildren=\"Button\">\n * <MenuItemSwitch\n * checked={checked}\n * onCheckedChange={(nextChecked) => setChecked(nextChecked)}\n * >\n * Switch\n * </MenuItemSwitch>\n * </DropdownMenu>\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/menu#menuitemswitch-example | DropdownMenu Demos}\n * @since 2.8.0\n */\nexport const MenuItemSwitch = forwardRef<HTMLLIElement, MenuItemSwitchProps>(\n function MenuItemSwitch(props, ref) {\n return <MenuItemInputToggle {...props} ref={ref} type=\"switch\" />;\n }\n);\n"],"names":["forwardRef","MenuItemInputToggle","MenuItemSwitch","props","ref","type"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SACEC,mBAAmB,QAEd,2BAA2B;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BC,GACD,OAAO,MAAMC,+BAAiBF,WAC5B,SAASE,eAAeC,KAAK,EAAEC,GAAG;IAChC,qBAAO,KAACH;QAAqB,GAAGE,KAAK;QAAEC,KAAKA;QAAKC,MAAK;;AACxD,GACA"}
@@ -22,6 +22,7 @@ export interface MenuItemTextFieldProps extends TextFieldProps {
22
22
  * hard to style nicely within menus. You'd most likely want to use another menu
23
23
  * for displaying errors.
24
24
  *
25
+ * @see {@link https://next.react-md.dev/components/menu#menuitemtextfield-example | DropdownMenu Demos}
25
26
  * @since 5.0.0
26
27
  */
27
28
  export declare const MenuItemTextField: import("react").ForwardRefExoticComponent<MenuItemTextFieldProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -13,6 +13,7 @@ import { TextField } from "./TextField.js";
13
13
  * hard to style nicely within menus. You'd most likely want to use another menu
14
14
  * for displaying errors.
15
15
  *
16
+ * @see {@link https://next.react-md.dev/components/menu#menuitemtextfield-example | DropdownMenu Demos}
16
17
  * @since 5.0.0
17
18
  */ export const MenuItemTextField = /*#__PURE__*/ forwardRef(function MenuItemTextField(props, ref) {
18
19
  const { liProps, onKeyDown, ...remaining } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/MenuItemTextField.tsx"],"sourcesContent":["\"use client\";\n\nimport { cnb } from \"cnbuilder\";\nimport { type HTMLAttributes, forwardRef } from \"react\";\n\nimport { type PropsWithRef } from \"../types.js\";\nimport { TextField, type TextFieldProps } from \"./TextField.js\";\n\n/**\n * @since 5.0.0\n */\nexport interface MenuItemTextFieldProps extends TextFieldProps {\n /**\n * Any additional props or a `ref` to apply to the surrounding `<li>` element.\n */\n liProps?: PropsWithRef<HTMLAttributes<HTMLLIElement>, HTMLLIElement>;\n\n /** @defaultValue `true` */\n stretch?: boolean;\n}\n\n/**\n * **Client Component**\n *\n * This is a wrapper for the `TextField` component that can be used within\n * `Menu`s by updating the `onKeyDown` and `onClick` behavior.\n *\n * Note: This is **not** the `TextFieldWithMessage` since the message part is\n * hard to style nicely within menus. You'd most likely want to use another menu\n * for displaying errors.\n *\n * @since 5.0.0\n */\nexport const MenuItemTextField = forwardRef<\n HTMLInputElement,\n MenuItemTextFieldProps\n>(function MenuItemTextField(props, ref) {\n const { liProps, onKeyDown, ...remaining } = props;\n return (\n <li\n role=\"none\"\n {...liProps}\n onClick={(event) => {\n liProps?.onClick?.(event);\n event.stopPropagation();\n }}\n className={cnb(\"rmd-list-item rmd-menu-item\", liProps?.className)}\n >\n <TextField\n {...remaining}\n ref={ref}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n switch (event.key) {\n case \"Tab\":\n case \"Escape\":\n case \" \":\n // do default behavior\n break;\n default:\n if (event.key.length === 1 || event.currentTarget.value) {\n event.stopPropagation();\n }\n }\n }}\n />\n </li>\n );\n});\n"],"names":["cnb","forwardRef","TextField","MenuItemTextField","props","ref","liProps","onKeyDown","remaining","li","role","onClick","event","stopPropagation","className","key","length","currentTarget","value"],"mappings":"AAAA;;AAEA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAA8BC,UAAU,QAAQ,QAAQ;AAGxD,SAASC,SAAS,QAA6B,iBAAiB;AAehE;;;;;;;;;;;CAWC,GACD,OAAO,MAAMC,kCAAoBF,WAG/B,SAASE,kBAAkBC,KAAK,EAAEC,GAAG;IACrC,MAAM,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGJ;IAC7C,qBACE,KAACK;QACCC,MAAK;QACJ,GAAGJ,OAAO;QACXK,SAAS,CAACC;YACRN,SAASK,UAAUC;YACnBA,MAAMC,eAAe;QACvB;QACAC,WAAWd,IAAI,+BAA+BM,SAASQ;kBAEvD,cAAA,KAACZ;YACE,GAAGM,SAAS;YACbH,KAAKA;YACLE,WAAW,CAACK;gBACVL,YAAYK;gBACZ,OAAQA,MAAMG,GAAG;oBACf,KAAK;oBACL,KAAK;oBACL,KAAK;wBAEH;oBACF;wBACE,IAAIH,MAAMG,GAAG,CAACC,MAAM,KAAK,KAAKJ,MAAMK,aAAa,CAACC,KAAK,EAAE;4BACvDN,MAAMC,eAAe;wBACvB;gBACJ;YACF;;;AAIR,GAAG"}
1
+ {"version":3,"sources":["../../src/form/MenuItemTextField.tsx"],"sourcesContent":["\"use client\";\n\nimport { cnb } from \"cnbuilder\";\nimport { type HTMLAttributes, forwardRef } from \"react\";\n\nimport { type PropsWithRef } from \"../types.js\";\nimport { TextField, type TextFieldProps } from \"./TextField.js\";\n\n/**\n * @since 5.0.0\n */\nexport interface MenuItemTextFieldProps extends TextFieldProps {\n /**\n * Any additional props or a `ref` to apply to the surrounding `<li>` element.\n */\n liProps?: PropsWithRef<HTMLAttributes<HTMLLIElement>, HTMLLIElement>;\n\n /** @defaultValue `true` */\n stretch?: boolean;\n}\n\n/**\n * **Client Component**\n *\n * This is a wrapper for the `TextField` component that can be used within\n * `Menu`s by updating the `onKeyDown` and `onClick` behavior.\n *\n * Note: This is **not** the `TextFieldWithMessage` since the message part is\n * hard to style nicely within menus. You'd most likely want to use another menu\n * for displaying errors.\n *\n * @see {@link https://next.react-md.dev/components/menu#menuitemtextfield-example | DropdownMenu Demos}\n * @since 5.0.0\n */\nexport const MenuItemTextField = forwardRef<\n HTMLInputElement,\n MenuItemTextFieldProps\n>(function MenuItemTextField(props, ref) {\n const { liProps, onKeyDown, ...remaining } = props;\n return (\n <li\n role=\"none\"\n {...liProps}\n onClick={(event) => {\n liProps?.onClick?.(event);\n event.stopPropagation();\n }}\n className={cnb(\"rmd-list-item rmd-menu-item\", liProps?.className)}\n >\n <TextField\n {...remaining}\n ref={ref}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n switch (event.key) {\n case \"Tab\":\n case \"Escape\":\n case \" \":\n // do default behavior\n break;\n default:\n if (event.key.length === 1 || event.currentTarget.value) {\n event.stopPropagation();\n }\n }\n }}\n />\n </li>\n );\n});\n"],"names":["cnb","forwardRef","TextField","MenuItemTextField","props","ref","liProps","onKeyDown","remaining","li","role","onClick","event","stopPropagation","className","key","length","currentTarget","value"],"mappings":"AAAA;;AAEA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAA8BC,UAAU,QAAQ,QAAQ;AAGxD,SAASC,SAAS,QAA6B,iBAAiB;AAehE;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC,kCAAoBF,WAG/B,SAASE,kBAAkBC,KAAK,EAAEC,GAAG;IACrC,MAAM,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGJ;IAC7C,qBACE,KAACK;QACCC,MAAK;QACJ,GAAGJ,OAAO;QACXK,SAAS,CAACC;YACRN,SAASK,UAAUC;YACnBA,MAAMC,eAAe;QACvB;QACAC,WAAWd,IAAI,+BAA+BM,SAASQ;kBAEvD,cAAA,KAACZ;YACE,GAAGM,SAAS;YACbH,KAAKA;YACLE,WAAW,CAACK;gBACVL,YAAYK;gBACZ,OAAQA,MAAMG,GAAG;oBACf,KAAK;oBACL,KAAK;oBACL,KAAK;wBAEH;oBACF;wBACE,IAAIH,MAAMG,GAAG,CAACC,MAAM,KAAK,KAAKJ,MAAMK,aAAa,CAACC,KAAK,EAAE;4BACvDN,MAAMC,eAAe;wBACvB;gBACJ;YACF;;;AAIR,GAAG"}
@@ -81,5 +81,7 @@ export interface NativeSelectProps extends Omit<SelectHTMLAttributes<HTMLSelectE
81
81
  * );
82
82
  * }
83
83
  * ```
84
+ *
85
+ * @see {@link https://next.react-md.dev/components/native-select | NativeSelect Demos}
84
86
  */
85
87
  export declare const NativeSelect: import("react").ForwardRefExoticComponent<NativeSelectProps & import("react").RefAttributes<HTMLSelectElement>>;
@@ -49,6 +49,8 @@ import { nativeSelect, nativeSelectContainer } from "./nativeSelectStyles.js";
49
49
  * );
50
50
  * }
51
51
  * ```
52
+ *
53
+ * @see {@link https://next.react-md.dev/components/native-select | NativeSelect Demos}
52
54
  */ export const NativeSelect = /*#__PURE__*/ forwardRef(function NativeSelect(props, ref) {
53
55
  const { id: propId, style, className, icon: propIcon, label, labelProps, labelStyle, labelClassName, selectStyle, selectClassName, autoCompleteValue, autoComplete = autoCompleteValue, name = autoCompleteValue, dense, error, active, inline, leftAddon, rightAddon: propRightAddon, leftAddonProps, rightAddonProps, disableLeftAddonStyles, disableRightAddonStyles, theme: propTheme, underlineDirection: propUnderlineDirection, messageProps, messageContainerProps, containerProps, children, ...remaining } = props;
54
56
  const { disabled, readOnly, multiple } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/NativeSelect.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n type SelectHTMLAttributes,\n forwardRef,\n} from \"react\";\n\nimport { getIcon } from \"../icon/config.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { nativeSelect, nativeSelectContainer } from \"./nativeSelectStyles.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutocompleteProps,\n} from \"./types.js\";\n\n/**\n * @since 6.0.0 Added support for {@link UserAgentAutocompleteProps}\n */\nexport interface NativeSelectProps\n extends Omit<SelectHTMLAttributes<HTMLSelectElement>, \"autoComplete\">,\n UserAgentAutocompleteProps,\n FormFieldOptions {\n /**\n * A custom dropdown icon to use instead of the browser's default select\n * dropdown icon.\n *\n * Set this to `null` if the browser's default icon should be used instead.\n *\n * @defaultValue `getIcon(\"dropdown\")`\n */\n icon?: ReactNode;\n\n /**\n * This applies custom inline styles to the `<select>` element since the\n * `style` prop is applied to the container element instead.\n */\n selectStyle?: CSSProperties;\n\n /**\n * This applies custom className to the `<select>` element since the\n * `className` prop is applied to the container element instead.\n */\n selectClassName?: string;\n\n /**\n * This should be a list of `<option>` elements for specific values within the\n * `<select>`.\n *\n * Check out the {@link NativeSelect} for examples around using \"placeholder\"\n * text and requiring a value to be selected.\n */\n children: ReactNode;\n\n /**\n * Optional props to provide to the {@link TextFieldContainer} component.\n * There probably isn't any real use for this prop other than if you need to\n * add a `ref` for some DOM behavior.\n */\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n}\n\n/**\n * This component is a wrapper for the native `<select>` field that applies the\n * same theming as `TextField` and `TextArea` components. This component might\n * not be used much since the `Select` offers more styling options.\n *\n * @example Simple Example\n * ```tsx\n * <NativeSelect label=\"Label\">\n * <option value=\"a\">Value 1</option>\n * <option value=\"b\">Value 2</option>\n * <option value=\"c\">Value 3</option>\n * <option value=\"d\">Value 4</option>\n * </NativeSelect>\n * ```\n *\n * @example Required Value Example\n * ```tsx\n * function Example(): ReactElement {\n * // using `defaultValue=\"\"` makes it so the first option selected by default\n * // and considered an \"invalid\" value since it is `disabled`\n * //\n * // a `name` must be set with `required` so that the form validation will\n * // fire if the value is still the empty string when the form is submitted\n * //\n * // the first `<option>` is kind of like placeholder text since it doesn't\n * // have a value and is disabled by default\n *\n * return (\n * <NativeSelect\n * label=\"State\"\n * name=\"state\"\n * required\n * defaultValue=\"\"\n * >\n * <option value=\"\" disabled>Choose a state</option>\n * {states.map(({ name, code }) => (\n * <option key={code} value={code}>{name}</option>\n * ))}\n * </NativeSelect>\n * );\n * }\n * ```\n */\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n function NativeSelect(props, ref) {\n const {\n id: propId,\n style,\n className,\n icon: propIcon,\n label,\n labelProps,\n labelStyle,\n labelClassName,\n selectStyle,\n selectClassName,\n autoCompleteValue,\n autoComplete = autoCompleteValue,\n name = autoCompleteValue,\n dense,\n error,\n active,\n inline,\n leftAddon,\n rightAddon: propRightAddon,\n leftAddonProps,\n rightAddonProps,\n disableLeftAddonStyles,\n disableRightAddonStyles,\n theme: propTheme,\n underlineDirection: propUnderlineDirection,\n messageProps,\n messageContainerProps,\n containerProps,\n children,\n ...remaining\n } = props;\n const { disabled, readOnly, multiple } = props;\n const id = useEnsuredId(propId, \"select\");\n const theme = getFormConfig(\"theme\", propTheme);\n const underlineDirection = getFormConfig(\n \"underlineDirection\",\n propUnderlineDirection\n );\n const icon = getIcon(\"dropdown\", propIcon);\n const underlined = theme === \"underline\" || theme === \"filled\";\n\n let rightAddon = propRightAddon;\n if (typeof propRightAddon === \"undefined\" && !multiple) {\n rightAddon = icon;\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={\n messageProps && {\n error,\n theme,\n ...messageProps,\n }\n }\n >\n <TextFieldContainer\n {...containerProps}\n style={style}\n className={nativeSelectContainer({\n label: !!label,\n multiple,\n underlined,\n className,\n })}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonProps={leftAddonProps}\n rightAddon={rightAddon}\n rightAddonProps={rightAddonProps}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n >\n <select\n {...remaining}\n id={id}\n ref={ref}\n autoComplete={autoComplete}\n name={name}\n disabled={disabled}\n style={selectStyle}\n className={nativeSelect({\n icon: !!icon,\n className: selectClassName,\n })}\n >\n {children}\n </select>\n {label && (\n <Label\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n >\n {label}\n </Label>\n )}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["forwardRef","getIcon","useEnsuredId","FormMessageContainer","Label","TextFieldContainer","getFormConfig","nativeSelect","nativeSelectContainer","NativeSelect","props","ref","id","propId","style","className","icon","propIcon","label","labelProps","labelStyle","labelClassName","selectStyle","selectClassName","autoCompleteValue","autoComplete","name","dense","error","active","inline","leftAddon","rightAddon","propRightAddon","leftAddonProps","rightAddonProps","disableLeftAddonStyles","disableRightAddonStyles","theme","propTheme","underlineDirection","propUnderlineDirection","messageProps","messageContainerProps","containerProps","children","remaining","disabled","readOnly","multiple","underlined","select","htmlFor","floating"],"mappings":";AAAA,SAKEA,UAAU,QACL,QAAQ;AAEf,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,YAAY,EAAEC,qBAAqB,QAAQ,0BAA0B;AAoD9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CC,GACD,OAAO,MAAMC,6BAAeT,WAC1B,SAASS,aAAaC,KAAK,EAAEC,GAAG;IAC9B,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,SAAS,EACTC,MAAMC,QAAQ,EACdC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,eAAeD,iBAAiB,EAChCE,OAAOF,iBAAiB,EACxBG,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,SAAS,EACTC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,uBAAuB,EACvBC,OAAOC,SAAS,EAChBC,oBAAoBC,sBAAsB,EAC1CC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,QAAQ,EACR,GAAGC,WACJ,GAAGpC;IACJ,MAAM,EAAEqC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,GAAGvC;IACzC,MAAME,KAAKV,aAAaW,QAAQ;IAChC,MAAMyB,QAAQhC,cAAc,SAASiC;IACrC,MAAMC,qBAAqBlC,cACzB,sBACAmC;IAEF,MAAMzB,OAAOf,QAAQ,YAAYgB;IACjC,MAAMiC,aAAaZ,UAAU,eAAeA,UAAU;IAEtD,IAAIN,aAAaC;IACjB,IAAI,OAAOA,mBAAmB,eAAe,CAACgB,UAAU;QACtDjB,aAAahB;IACf;IAEA,qBACE,KAACb;QACE,GAAGwC,qBAAqB;QACzBD,cACEA,gBAAgB;YACdd;YACAU;YACA,GAAGI,YAAY;QACjB;kBAGF,cAAA,MAACrC;YACE,GAAGuC,cAAc;YAClB9B,OAAOA;YACPC,WAAWP,sBAAsB;gBAC/BU,OAAO,CAAC,CAACA;gBACT+B;gBACAC;gBACAnC;YACF;YACAuB,OAAOA;YACPpB,OAAO,CAAC,CAACA;YACTU,OAAOA;YACPD,OAAOA;YACPG,QAAQA;YACRD,QAAQA;YACRmB,UAAUA;YACVD,UAAUA;YACVhB,WAAWA;YACXG,gBAAgBA;YAChBF,YAAYA;YACZG,iBAAiBA;YACjBK,oBAAoBA;YACpBJ,wBAAwBA;YACxBC,yBAAyBA;;8BAEzB,KAACc;oBACE,GAAGL,SAAS;oBACblC,IAAIA;oBACJD,KAAKA;oBACLc,cAAcA;oBACdC,MAAMA;oBACNqB,UAAUA;oBACVjC,OAAOQ;oBACPP,WAAWR,aAAa;wBACtBS,MAAM,CAAC,CAACA;wBACRD,WAAWQ;oBACb;8BAECsB;;gBAEF3B,uBACC,KAACd;oBACE,GAAGe,UAAU;oBACdiC,SAASxC;oBACTE,OAAOK,YAAYL,SAASM;oBAC5BL,WAAWI,YAAYJ,aAAaM;oBACpCgC,QAAQ;oBACR1B,OAAOA;oBACPC,OAAOA;oBACPC,QAAQA;oBACRkB,UAAUA;8BAET7B;;;;;AAMb,GACA"}
1
+ {"version":3,"sources":["../../src/form/NativeSelect.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n type SelectHTMLAttributes,\n forwardRef,\n} from \"react\";\n\nimport { getIcon } from \"../icon/config.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { nativeSelect, nativeSelectContainer } from \"./nativeSelectStyles.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutocompleteProps,\n} from \"./types.js\";\n\n/**\n * @since 6.0.0 Added support for {@link UserAgentAutocompleteProps}\n */\nexport interface NativeSelectProps\n extends Omit<SelectHTMLAttributes<HTMLSelectElement>, \"autoComplete\">,\n UserAgentAutocompleteProps,\n FormFieldOptions {\n /**\n * A custom dropdown icon to use instead of the browser's default select\n * dropdown icon.\n *\n * Set this to `null` if the browser's default icon should be used instead.\n *\n * @defaultValue `getIcon(\"dropdown\")`\n */\n icon?: ReactNode;\n\n /**\n * This applies custom inline styles to the `<select>` element since the\n * `style` prop is applied to the container element instead.\n */\n selectStyle?: CSSProperties;\n\n /**\n * This applies custom className to the `<select>` element since the\n * `className` prop is applied to the container element instead.\n */\n selectClassName?: string;\n\n /**\n * This should be a list of `<option>` elements for specific values within the\n * `<select>`.\n *\n * Check out the {@link NativeSelect} for examples around using \"placeholder\"\n * text and requiring a value to be selected.\n */\n children: ReactNode;\n\n /**\n * Optional props to provide to the {@link TextFieldContainer} component.\n * There probably isn't any real use for this prop other than if you need to\n * add a `ref` for some DOM behavior.\n */\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n}\n\n/**\n * This component is a wrapper for the native `<select>` field that applies the\n * same theming as `TextField` and `TextArea` components. This component might\n * not be used much since the `Select` offers more styling options.\n *\n * @example Simple Example\n * ```tsx\n * <NativeSelect label=\"Label\">\n * <option value=\"a\">Value 1</option>\n * <option value=\"b\">Value 2</option>\n * <option value=\"c\">Value 3</option>\n * <option value=\"d\">Value 4</option>\n * </NativeSelect>\n * ```\n *\n * @example Required Value Example\n * ```tsx\n * function Example(): ReactElement {\n * // using `defaultValue=\"\"` makes it so the first option selected by default\n * // and considered an \"invalid\" value since it is `disabled`\n * //\n * // a `name` must be set with `required` so that the form validation will\n * // fire if the value is still the empty string when the form is submitted\n * //\n * // the first `<option>` is kind of like placeholder text since it doesn't\n * // have a value and is disabled by default\n *\n * return (\n * <NativeSelect\n * label=\"State\"\n * name=\"state\"\n * required\n * defaultValue=\"\"\n * >\n * <option value=\"\" disabled>Choose a state</option>\n * {states.map(({ name, code }) => (\n * <option key={code} value={code}>{name}</option>\n * ))}\n * </NativeSelect>\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/native-select | NativeSelect Demos}\n */\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n function NativeSelect(props, ref) {\n const {\n id: propId,\n style,\n className,\n icon: propIcon,\n label,\n labelProps,\n labelStyle,\n labelClassName,\n selectStyle,\n selectClassName,\n autoCompleteValue,\n autoComplete = autoCompleteValue,\n name = autoCompleteValue,\n dense,\n error,\n active,\n inline,\n leftAddon,\n rightAddon: propRightAddon,\n leftAddonProps,\n rightAddonProps,\n disableLeftAddonStyles,\n disableRightAddonStyles,\n theme: propTheme,\n underlineDirection: propUnderlineDirection,\n messageProps,\n messageContainerProps,\n containerProps,\n children,\n ...remaining\n } = props;\n const { disabled, readOnly, multiple } = props;\n const id = useEnsuredId(propId, \"select\");\n const theme = getFormConfig(\"theme\", propTheme);\n const underlineDirection = getFormConfig(\n \"underlineDirection\",\n propUnderlineDirection\n );\n const icon = getIcon(\"dropdown\", propIcon);\n const underlined = theme === \"underline\" || theme === \"filled\";\n\n let rightAddon = propRightAddon;\n if (typeof propRightAddon === \"undefined\" && !multiple) {\n rightAddon = icon;\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={\n messageProps && {\n error,\n theme,\n ...messageProps,\n }\n }\n >\n <TextFieldContainer\n {...containerProps}\n style={style}\n className={nativeSelectContainer({\n label: !!label,\n multiple,\n underlined,\n className,\n })}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonProps={leftAddonProps}\n rightAddon={rightAddon}\n rightAddonProps={rightAddonProps}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n >\n <select\n {...remaining}\n id={id}\n ref={ref}\n autoComplete={autoComplete}\n name={name}\n disabled={disabled}\n style={selectStyle}\n className={nativeSelect({\n icon: !!icon,\n className: selectClassName,\n })}\n >\n {children}\n </select>\n {label && (\n <Label\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n >\n {label}\n </Label>\n )}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["forwardRef","getIcon","useEnsuredId","FormMessageContainer","Label","TextFieldContainer","getFormConfig","nativeSelect","nativeSelectContainer","NativeSelect","props","ref","id","propId","style","className","icon","propIcon","label","labelProps","labelStyle","labelClassName","selectStyle","selectClassName","autoCompleteValue","autoComplete","name","dense","error","active","inline","leftAddon","rightAddon","propRightAddon","leftAddonProps","rightAddonProps","disableLeftAddonStyles","disableRightAddonStyles","theme","propTheme","underlineDirection","propUnderlineDirection","messageProps","messageContainerProps","containerProps","children","remaining","disabled","readOnly","multiple","underlined","select","htmlFor","floating"],"mappings":";AAAA,SAKEA,UAAU,QACL,QAAQ;AAEf,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,YAAY,EAAEC,qBAAqB,QAAQ,0BAA0B;AAoD9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CC,GACD,OAAO,MAAMC,6BAAeT,WAC1B,SAASS,aAAaC,KAAK,EAAEC,GAAG;IAC9B,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,SAAS,EACTC,MAAMC,QAAQ,EACdC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,eAAeD,iBAAiB,EAChCE,OAAOF,iBAAiB,EACxBG,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,SAAS,EACTC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,uBAAuB,EACvBC,OAAOC,SAAS,EAChBC,oBAAoBC,sBAAsB,EAC1CC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,QAAQ,EACR,GAAGC,WACJ,GAAGpC;IACJ,MAAM,EAAEqC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,GAAGvC;IACzC,MAAME,KAAKV,aAAaW,QAAQ;IAChC,MAAMyB,QAAQhC,cAAc,SAASiC;IACrC,MAAMC,qBAAqBlC,cACzB,sBACAmC;IAEF,MAAMzB,OAAOf,QAAQ,YAAYgB;IACjC,MAAMiC,aAAaZ,UAAU,eAAeA,UAAU;IAEtD,IAAIN,aAAaC;IACjB,IAAI,OAAOA,mBAAmB,eAAe,CAACgB,UAAU;QACtDjB,aAAahB;IACf;IAEA,qBACE,KAACb;QACE,GAAGwC,qBAAqB;QACzBD,cACEA,gBAAgB;YACdd;YACAU;YACA,GAAGI,YAAY;QACjB;kBAGF,cAAA,MAACrC;YACE,GAAGuC,cAAc;YAClB9B,OAAOA;YACPC,WAAWP,sBAAsB;gBAC/BU,OAAO,CAAC,CAACA;gBACT+B;gBACAC;gBACAnC;YACF;YACAuB,OAAOA;YACPpB,OAAO,CAAC,CAACA;YACTU,OAAOA;YACPD,OAAOA;YACPG,QAAQA;YACRD,QAAQA;YACRmB,UAAUA;YACVD,UAAUA;YACVhB,WAAWA;YACXG,gBAAgBA;YAChBF,YAAYA;YACZG,iBAAiBA;YACjBK,oBAAoBA;YACpBJ,wBAAwBA;YACxBC,yBAAyBA;;8BAEzB,KAACc;oBACE,GAAGL,SAAS;oBACblC,IAAIA;oBACJD,KAAKA;oBACLc,cAAcA;oBACdC,MAAMA;oBACNqB,UAAUA;oBACVjC,OAAOQ;oBACPP,WAAWR,aAAa;wBACtBS,MAAM,CAAC,CAACA;wBACRD,WAAWQ;oBACb;8BAECsB;;gBAEF3B,uBACC,KAACd;oBACE,GAAGe,UAAU;oBACdiC,SAASxC;oBACTE,OAAOK,YAAYL,SAASM;oBAC5BL,WAAWI,YAAYJ,aAAaM;oBACpCgC,QAAQ;oBACR1B,OAAOA;oBACPC,OAAOA;oBACPC,QAAQA;oBACRkB,UAAUA;8BAET7B;;;;;AAMb,GACA"}
@@ -31,7 +31,9 @@ export interface OptGroupProps extends Omit<ListProps, "role"> {
31
31
  *
32
32
  * @example Simple Example
33
33
  * ```tsx
34
- * import { Select, OptGroup, Option } from "@react-md/core";
34
+ * import { Select } from "@react-md/core/form/Select";
35
+ * import { OptGroup } from "@react-md/core/form/OptGroup";
36
+ * import { Option } from "@react-md/core/form/Option";
35
37
  * import FavoriteIcon from "@react-md/material-icons/FavoriteIcon";
36
38
  * import type { ReactElement } from "react";
37
39
  *
@@ -53,6 +55,7 @@ export interface OptGroupProps extends Omit<ListProps, "role"> {
53
55
  * }
54
56
  * ```
55
57
  *
58
+ * @see {@link https://next.react-md.dev/components/select | Select Demos}
56
59
  * @since 6.0.0
57
60
  */
58
61
  export declare const OptGroup: import("react").ForwardRefExoticComponent<OptGroupProps & import("react").RefAttributes<ListElement>>;
@@ -13,7 +13,9 @@ import { useEnsuredId } from "../useEnsuredId.js";
13
13
  *
14
14
  * @example Simple Example
15
15
  * ```tsx
16
- * import { Select, OptGroup, Option } from "@react-md/core";
16
+ * import { Select } from "@react-md/core/form/Select";
17
+ * import { OptGroup } from "@react-md/core/form/OptGroup";
18
+ * import { Option } from "@react-md/core/form/Option";
17
19
  * import FavoriteIcon from "@react-md/material-icons/FavoriteIcon";
18
20
  * import type { ReactElement } from "react";
19
21
  *
@@ -35,6 +37,7 @@ import { useEnsuredId } from "../useEnsuredId.js";
35
37
  * }
36
38
  * ```
37
39
  *
40
+ * @see {@link https://next.react-md.dev/components/select | Select Demos}
38
41
  * @since 6.0.0
39
42
  */ export const OptGroup = /*#__PURE__*/ forwardRef(function OptGroup(props, ref) {
40
43
  const { children, label, labelProps, ...remaining } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/OptGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactNode, forwardRef } from \"react\";\n\nimport { type ListElement, type ListProps } from \"../list/List.js\";\nimport {\n ListSubheader,\n type ListSubheaderProps,\n} from \"../list/ListSubheader.js\";\nimport { MenuItemGroup } from \"../menu/MenuItemGroup.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\n/** @since 6.0.0 */\nexport interface OptGroupProps extends Omit<ListProps, \"role\"> {\n /**\n * This is really the `children` to display in a `ListSubheader` that\n * describes the optgroup. It was named `label` to match the native\n * `<optgroup>` element.\n *\n * @see {@link labelProps} for additional styling and options.\n */\n label: ReactNode;\n\n /**\n * This can be used to apply any additional props to the `ListSubheader` that\n * describes the group of options.\n */\n labelProps?: PropsWithRef<\n Omit<ListSubheaderProps, \"role\" | \"children\">,\n HTMLLIElement\n >;\n\n /**\n * This should be any `Option`s to display within the group.\n */\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * This component is more of a \"convenience component\" to help enforce the\n * correct accessibility when creating an `<optgroup>` with the `Select`\n * component.\n *\n * @example Simple Example\n * ```tsx\n * import { Select, OptGroup, Option } from \"@react-md/core\";\n * import FavoriteIcon from \"@react-md/material-icons/FavoriteIcon\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Select label=\"Choose an animal\">\n * <OptGroup label=\"Land\" labelProps={{ className: \"custom-class-name\" }}>\n * <Option value={0}>Cat</Option>\n * <Option value={1}>Dog</Option>\n * <Option value={2}>Tiger</Option>\n * </OptGroup>\n * <OptGroup label=\"Water\" labelProps={{ rightAddon: <FavoriteIcon /> }}>\n * <Option value={3}>Dolphin</Option>\n * <Option value={4}>Flounder</Option>\n * </OptGroup>\n * </Select>\n *\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const OptGroup = forwardRef<ListElement, OptGroupProps>(\n function OptGroup(props, ref) {\n const { children, label, labelProps, ...remaining } = props;\n const labelId = useEnsuredId(labelProps?.id, \"optgroup\");\n\n return (\n <MenuItemGroup aria-labelledby={labelId} {...remaining} ref={ref}>\n <ListSubheader {...labelProps} id={labelId}>\n {label}\n </ListSubheader>\n {children}\n </MenuItemGroup>\n );\n }\n);\n"],"names":["forwardRef","ListSubheader","MenuItemGroup","useEnsuredId","OptGroup","props","ref","children","label","labelProps","remaining","labelId","id","aria-labelledby"],"mappings":"AAAA;;AAEA,SAAyBA,UAAU,QAAQ,QAAQ;AAGnD,SACEC,aAAa,QAER,2BAA2B;AAClC,SAASC,aAAa,QAAQ,2BAA2B;AAEzD,SAASC,YAAY,QAAQ,qBAAqB;AA4BlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCC,GACD,OAAO,MAAMC,yBAAWJ,WACtB,SAASI,SAASC,KAAK,EAAEC,GAAG;IAC1B,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGC,WAAW,GAAGL;IACtD,MAAMM,UAAUR,aAAaM,YAAYG,IAAI;IAE7C,qBACE,MAACV;QAAcW,mBAAiBF;QAAU,GAAGD,SAAS;QAAEJ,KAAKA;;0BAC3D,KAACL;gBAAe,GAAGQ,UAAU;gBAAEG,IAAID;0BAChCH;;YAEFD;;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/form/OptGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactNode, forwardRef } from \"react\";\n\nimport { type ListElement, type ListProps } from \"../list/List.js\";\nimport {\n ListSubheader,\n type ListSubheaderProps,\n} from \"../list/ListSubheader.js\";\nimport { MenuItemGroup } from \"../menu/MenuItemGroup.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\n/** @since 6.0.0 */\nexport interface OptGroupProps extends Omit<ListProps, \"role\"> {\n /**\n * This is really the `children` to display in a `ListSubheader` that\n * describes the optgroup. It was named `label` to match the native\n * `<optgroup>` element.\n *\n * @see {@link labelProps} for additional styling and options.\n */\n label: ReactNode;\n\n /**\n * This can be used to apply any additional props to the `ListSubheader` that\n * describes the group of options.\n */\n labelProps?: PropsWithRef<\n Omit<ListSubheaderProps, \"role\" | \"children\">,\n HTMLLIElement\n >;\n\n /**\n * This should be any `Option`s to display within the group.\n */\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * This component is more of a \"convenience component\" to help enforce the\n * correct accessibility when creating an `<optgroup>` with the `Select`\n * component.\n *\n * @example Simple Example\n * ```tsx\n * import { Select } from \"@react-md/core/form/Select\";\n * import { OptGroup } from \"@react-md/core/form/OptGroup\";\n * import { Option } from \"@react-md/core/form/Option\";\n * import FavoriteIcon from \"@react-md/material-icons/FavoriteIcon\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Select label=\"Choose an animal\">\n * <OptGroup label=\"Land\" labelProps={{ className: \"custom-class-name\" }}>\n * <Option value={0}>Cat</Option>\n * <Option value={1}>Dog</Option>\n * <Option value={2}>Tiger</Option>\n * </OptGroup>\n * <OptGroup label=\"Water\" labelProps={{ rightAddon: <FavoriteIcon /> }}>\n * <Option value={3}>Dolphin</Option>\n * <Option value={4}>Flounder</Option>\n * </OptGroup>\n * </Select>\n *\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/select | Select Demos}\n * @since 6.0.0\n */\nexport const OptGroup = forwardRef<ListElement, OptGroupProps>(\n function OptGroup(props, ref) {\n const { children, label, labelProps, ...remaining } = props;\n const labelId = useEnsuredId(labelProps?.id, \"optgroup\");\n\n return (\n <MenuItemGroup aria-labelledby={labelId} {...remaining} ref={ref}>\n <ListSubheader {...labelProps} id={labelId}>\n {label}\n </ListSubheader>\n {children}\n </MenuItemGroup>\n );\n }\n);\n"],"names":["forwardRef","ListSubheader","MenuItemGroup","useEnsuredId","OptGroup","props","ref","children","label","labelProps","remaining","labelId","id","aria-labelledby"],"mappings":"AAAA;;AAEA,SAAyBA,UAAU,QAAQ,QAAQ;AAGnD,SACEC,aAAa,QAER,2BAA2B;AAClC,SAASC,aAAa,QAAQ,2BAA2B;AAEzD,SAASC,YAAY,QAAQ,qBAAqB;AA4BlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCC,GACD,OAAO,MAAMC,yBAAWJ,WACtB,SAASI,SAASC,KAAK,EAAEC,GAAG;IAC1B,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGC,WAAW,GAAGL;IACtD,MAAMM,UAAUR,aAAaM,YAAYG,IAAI;IAE7C,qBACE,MAACV;QAAcW,mBAAiBF;QAAU,GAAGD,SAAS;QAAEJ,KAAKA;;0BAC3D,KAACL;gBAAe,GAAGQ,UAAU;gBAAEG,IAAID;0BAChCH;;YAEFD;;;AAGP,GACA"}
@@ -46,7 +46,7 @@ export interface OptionProps extends MenuItemProps, OptionSelectedIconProps {
46
46
  * @defaultValue `"option"`
47
47
  */
48
48
  role?: string;
49
- value: string | number | Record<string, unknown>;
49
+ value: string | number | object;
50
50
  /**
51
51
  * An optional className to apply only while the current option is selected to
52
52
  * override any global default selected styles. It is recommended to update
@@ -103,6 +103,7 @@ export interface OptionProps extends MenuItemProps, OptionSelectedIconProps {
103
103
  * This component is a wrapper around the {@link MenuItem} to implement custom
104
104
  * select option behavior.
105
105
  *
106
+ * @see {@link https://next.react-md.dev/components/select | Select Demos}
106
107
  * @since 6.0.0 removed the `selected` and `focused` props.
107
108
  * @since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,
108
109
  * `selectedIconAfter`, `iconSpacingProps`, and `selectedClassName` props.
@@ -31,6 +31,7 @@ const noop = ()=>{
31
31
  * This component is a wrapper around the {@link MenuItem} to implement custom
32
32
  * select option behavior.
33
33
  *
34
+ * @see {@link https://next.react-md.dev/components/select | Select Demos}
34
35
  * @since 6.0.0 removed the `selected` and `focused` props.
35
36
  * @since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,
36
37
  * `selectedIconAfter`, `iconSpacingProps`, and `selectedClassName` props.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/Option.tsx"],"sourcesContent":["\"use client\";\n\nimport { cnb } from \"cnbuilder\";\nimport { Fragment, type ReactNode, forwardRef } from \"react\";\n\nimport {\n TextIconSpacing,\n type TextIconSpacingProps,\n} from \"../icon/TextIconSpacing.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { icon } from \"../icon/styles.js\";\nimport { ListItemText } from \"../list/ListItemText.js\";\nimport { getListItemHeight } from \"../list/getListItemHeight.js\";\nimport { MenuItem, type MenuItemProps } from \"../menu/MenuItem.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useListboxContext } from \"./ListboxProvider.js\";\nimport { option } from \"./optionStyles.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This icon is used while the option is unselected so that the selected and\n * unselected options have the same alignment.\n *\n * @since 6.0.0\n * @defaultValue `<span className=\"rmd-icon rmd-icon--svg />`\n */\nexport const DEFAULT_OPTION_UNSELECTED_ICON = (\n <span className={icon({ type: \"svg\" })} />\n);\n\n/**\n * @since 6.0.0\n */\nexport interface OptionSelectedIconProps {\n /**\n * @defaultValue `getIcon(\"selected\")`\n */\n selectedIcon?: ReactNode;\n\n /**\n * @see {@link DEFAULT_OPTION_UNSELECTED_ICON}\n * @defaultValue `<span className=\"rmd-icon rmd-icon--svg\" />`\n */\n unselectedIcon?: ReactNode;\n\n /**\n * Set this to `true` of the {@link selectedIcon}/{@link unselectedIcon}\n * should appear as the {@link rightAddon} instead of the {@link leftAddon}.\n *\n * @defaultValue `false`\n */\n selectedIconAfter?: boolean;\n\n /**\n * Set this to `true` to remove selected icon behavior from the `Option`.\n *\n * @defaultValue `false`\n */\n disableSelectedIcon?: boolean;\n}\n\n/**\n * @since 6.0.0 removed the `selected` and `focused` props.\n * @since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, and `iconSpacingProps` props.\n */\nexport interface OptionProps extends MenuItemProps, OptionSelectedIconProps {\n /**\n * @defaultValue `\"option\"`\n */\n role?: string;\n value: string | number | Record<string, unknown>;\n\n /**\n * An optional className to apply only while the current option is selected to\n * override any global default selected styles. It is recommended to update\n * the `react-md.$form-option-selected-styles` map first to change selected\n * style globally and then any one-off customizations through this prop.\n *\n * @example Global Change\n * ```scss\n * @use \"@react-md/core\" with (\n * // these are the defaults\n * $form-option-selected-styles: (\n * --rmd-icon-color: currentcolor,\n * background-color: colors.$blue-900,\n * color: colors.$white,\n * ),\n *\n * // so if you wanted to remove the styles globally\n * $form-option-selected-styles: (),\n * );\n * ```\n *\n * This really results in something like:\n * ```ts\n * className=\"rmd-list-item ... rmd-menu-item ... rmd-option rmd-option--selected ${selectedClassName}\"\n * ```\n */\n selectedClassName?: string;\n\n /**\n * Since the `selectedIcon`/`unselectedIcon` are rendered as\n * `leftAddon`/`rightAddon`, the provided `leftAddon`/`rightAddon` will be\n * wrapped in the {@link TextIconSpacing} component to maintain the correct\n * spacing. You can use this prop to provide any additional configuration to\n * the spacing.\n *\n * @example\n * ```tsx\n * <Option\n * leftAddon={<Avatar>A</Avatar>}\n * leftAddonType=\"avatar\"\n * value={0}\n * textIconSpacingProps={{\n * beforeClassName: \"my-custom-class-name\",\n * }}\n * >\n * Some Content\n * </Option>\n * ```\n */\n textIconSpacingProps?: Omit<TextIconSpacingProps, \"icon\" | \"children\">;\n}\n\n/**\n * **Client Component**\n *\n * This component is a wrapper around the {@link MenuItem} to implement custom\n * select option behavior.\n *\n * @since 6.0.0 removed the `selected` and `focused` props.\n * @since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, `iconSpacingProps`, and `selectedClassName` props.\n */\nexport const Option = forwardRef<HTMLLIElement, OptionProps>(\n function Option(props, ref) {\n const {\n id: propId,\n role = \"option\",\n value,\n children: propChildren,\n onClick = noop,\n className,\n selectedClassName,\n selectedIcon: propSelectedIcon,\n unselectedIcon: propUnselectedIcon,\n selectedIconAfter: propSelectedIconAfter,\n disableSelectedIcon: propDisableSelectedIcon,\n textIconSpacingProps,\n leftAddon: propLeftAddon,\n leftAddonType,\n leftAddonClassName,\n rightAddon: propRightAddon,\n rightAddonType,\n rightAddonClassName,\n secondaryText,\n height: propHeight,\n disableTextChildren: propDisableTextChildren,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"option\");\n const {\n selectOption,\n isOptionSelected,\n disableSelectedIcon: contextDisableSelectedIcon,\n selectedIcon: contextSelectedIcon,\n unselectedIcon: contextUnselectedIcon,\n selectedIconAfter: contextSelectedIconAfter,\n } = useListboxContext();\n const selectedIconAfter = propSelectedIconAfter ?? contextSelectedIconAfter;\n const disableSelectedIcon =\n propDisableSelectedIcon ?? contextDisableSelectedIcon;\n const selected = isOptionSelected(value);\n const selectedIcon = getIcon(\n \"selected\",\n disableSelectedIcon ? null : (propSelectedIcon ?? contextSelectedIcon)\n );\n const unselectedIcon = disableSelectedIcon\n ? null\n : (propUnselectedIcon ??\n contextUnselectedIcon ??\n DEFAULT_OPTION_UNSELECTED_ICON);\n const icon = selected ? selectedIcon : unselectedIcon;\n\n let leftAddon = propLeftAddon;\n let rightAddon = propRightAddon;\n let children = propChildren;\n let disableTextChildren = propDisableTextChildren;\n if (!selectedIconAfter && icon) {\n leftAddon = icon;\n if (propLeftAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propLeftAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n } else if (icon) {\n rightAddon = icon;\n if (propRightAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propRightAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n }\n\n const height = getListItemHeight({\n height: propHeight,\n leftAddon: leftAddon === icon ? null : leftAddon,\n leftAddonType,\n rightAddon: rightAddon === icon ? null : rightAddon,\n rightAddonType,\n secondaryText,\n });\n\n return (\n <MenuItem\n {...remaining}\n aria-selected={selected || undefined}\n id={id}\n ref={ref}\n role={role}\n onClick={(event) => {\n onClick(event);\n selectOption(value);\n }}\n className={option({\n icon: !!icon,\n selected,\n selectedClassName,\n className,\n })}\n secondaryText={secondaryText}\n height={height}\n leftAddon={leftAddon}\n leftAddonType={leftAddonType}\n leftAddonClassName={cnb(\n leftAddon === icon && \"rmd-option__icon\",\n leftAddonClassName\n )}\n rightAddon={rightAddon}\n rightAddonType={rightAddonType}\n rightAddonClassName={cnb(\n rightAddon === icon && \"rmd-option__icon\",\n rightAddonClassName\n )}\n disableTextChildren={disableTextChildren}\n >\n {children}\n </MenuItem>\n );\n }\n);\n"],"names":["cnb","Fragment","forwardRef","TextIconSpacing","getIcon","icon","ListItemText","getListItemHeight","MenuItem","useEnsuredId","useListboxContext","option","noop","DEFAULT_OPTION_UNSELECTED_ICON","span","className","type","Option","props","ref","id","propId","role","value","children","propChildren","onClick","selectedClassName","selectedIcon","propSelectedIcon","unselectedIcon","propUnselectedIcon","selectedIconAfter","propSelectedIconAfter","disableSelectedIcon","propDisableSelectedIcon","textIconSpacingProps","leftAddon","propLeftAddon","leftAddonType","leftAddonClassName","rightAddon","propRightAddon","rightAddonType","rightAddonClassName","secondaryText","height","propHeight","disableTextChildren","propDisableTextChildren","remaining","selectOption","isOptionSelected","contextDisableSelectedIcon","contextSelectedIcon","contextUnselectedIcon","contextSelectedIconAfter","selected","Wrapper","aria-selected","undefined","event"],"mappings":"AAAA;;AAEA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,EAAkBC,UAAU,QAAQ,QAAQ;AAE7D,SACEC,eAAe,QAEV,6BAA6B;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SAASC,YAAY,QAAQ,0BAA0B;AACvD,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,QAAQ,QAA4B,sBAAsB;AACnE,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,MAAM,QAAQ,oBAAoB;AAE3C,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;;;CAMC,GACD,OAAO,MAAMC,+CACX,KAACC;IAAKC,WAAWV,KAAK;QAAEW,MAAM;IAAM;GACpC;AAiGF;;;;;;;;;CASC,GACD,OAAO,MAAMC,uBAASf,WACpB,SAASe,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAO,QAAQ,EACfC,KAAK,EACLC,UAAUC,YAAY,EACtBC,UAAUd,IAAI,EACdG,SAAS,EACTY,iBAAiB,EACjBC,cAAcC,gBAAgB,EAC9BC,gBAAgBC,kBAAkB,EAClCC,mBAAmBC,qBAAqB,EACxCC,qBAAqBC,uBAAuB,EAC5CC,oBAAoB,EACpBC,WAAWC,aAAa,EACxBC,aAAa,EACbC,kBAAkB,EAClBC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,mBAAmB,EACnBC,aAAa,EACbC,QAAQC,UAAU,EAClBC,qBAAqBC,uBAAuB,EAC5C,GAAGC,WACJ,GAAGhC;IAEJ,MAAME,KAAKX,aAAaY,QAAQ;IAChC,MAAM,EACJ8B,YAAY,EACZC,gBAAgB,EAChBlB,qBAAqBmB,0BAA0B,EAC/CzB,cAAc0B,mBAAmB,EACjCxB,gBAAgByB,qBAAqB,EACrCvB,mBAAmBwB,wBAAwB,EAC5C,GAAG9C;IACJ,MAAMsB,oBAAoBC,yBAAyBuB;IACnD,MAAMtB,sBACJC,2BAA2BkB;IAC7B,MAAMI,WAAWL,iBAAiB7B;IAClC,MAAMK,eAAexB,QACnB,YACA8B,sBAAsB,OAAQL,oBAAoByB;IAEpD,MAAMxB,iBAAiBI,sBACnB,OACCH,sBACDwB,yBACA1C;IACJ,MAAMR,OAAOoD,WAAW7B,eAAeE;IAEvC,IAAIO,YAAYC;IAChB,IAAIG,aAAaC;IACjB,IAAIlB,WAAWC;IACf,IAAIuB,sBAAsBC;IAC1B,IAAI,CAACjB,qBAAqB3B,MAAM;QAC9BgC,YAAYhC;QACZ,IAAIiC,eAAe;YACjBU,sBAAsB;YACtB,MAAMU,UAAUT,0BAA0BhD,WAAWK;YAErDkB,yBACE,KAACrB;gBAAiB,GAAGiC,oBAAoB;gBAAE/B,MAAMiC;0BAC/C,cAAA,KAACoB;8BAASlC;;;QAGhB;IACF,OAAO,IAAInB,MAAM;QACfoC,aAAapC;QACb,IAAIqC,gBAAgB;YAClBM,sBAAsB;YACtB,MAAMU,UAAUT,0BAA0BhD,WAAWK;YAErDkB,yBACE,KAACrB;gBAAiB,GAAGiC,oBAAoB;gBAAE/B,MAAMqC;0BAC/C,cAAA,KAACgB;8BAASlC;;;QAGhB;IACF;IAEA,MAAMsB,SAASvC,kBAAkB;QAC/BuC,QAAQC;QACRV,WAAWA,cAAchC,OAAO,OAAOgC;QACvCE;QACAE,YAAYA,eAAepC,OAAO,OAAOoC;QACzCE;QACAE;IACF;IAEA,qBACE,KAACrC;QACE,GAAG0C,SAAS;QACbS,iBAAeF,YAAYG;QAC3BxC,IAAIA;QACJD,KAAKA;QACLG,MAAMA;QACNI,SAAS,CAACmC;YACRnC,QAAQmC;YACRV,aAAa5B;QACf;QACAR,WAAWJ,OAAO;YAChBN,MAAM,CAAC,CAACA;YACRoD;YACA9B;YACAZ;QACF;QACA8B,eAAeA;QACfC,QAAQA;QACRT,WAAWA;QACXE,eAAeA;QACfC,oBAAoBxC,IAClBqC,cAAchC,QAAQ,oBACtBmC;QAEFC,YAAYA;QACZE,gBAAgBA;QAChBC,qBAAqB5C,IACnByC,eAAepC,QAAQ,oBACvBuC;QAEFI,qBAAqBA;kBAEpBxB;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/form/Option.tsx"],"sourcesContent":["\"use client\";\n\nimport { cnb } from \"cnbuilder\";\nimport { Fragment, type ReactNode, forwardRef } from \"react\";\n\nimport {\n TextIconSpacing,\n type TextIconSpacingProps,\n} from \"../icon/TextIconSpacing.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { icon } from \"../icon/styles.js\";\nimport { ListItemText } from \"../list/ListItemText.js\";\nimport { getListItemHeight } from \"../list/getListItemHeight.js\";\nimport { MenuItem, type MenuItemProps } from \"../menu/MenuItem.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useListboxContext } from \"./ListboxProvider.js\";\nimport { option } from \"./optionStyles.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This icon is used while the option is unselected so that the selected and\n * unselected options have the same alignment.\n *\n * @since 6.0.0\n * @defaultValue `<span className=\"rmd-icon rmd-icon--svg />`\n */\nexport const DEFAULT_OPTION_UNSELECTED_ICON = (\n <span className={icon({ type: \"svg\" })} />\n);\n\n/**\n * @since 6.0.0\n */\nexport interface OptionSelectedIconProps {\n /**\n * @defaultValue `getIcon(\"selected\")`\n */\n selectedIcon?: ReactNode;\n\n /**\n * @see {@link DEFAULT_OPTION_UNSELECTED_ICON}\n * @defaultValue `<span className=\"rmd-icon rmd-icon--svg\" />`\n */\n unselectedIcon?: ReactNode;\n\n /**\n * Set this to `true` of the {@link selectedIcon}/{@link unselectedIcon}\n * should appear as the {@link rightAddon} instead of the {@link leftAddon}.\n *\n * @defaultValue `false`\n */\n selectedIconAfter?: boolean;\n\n /**\n * Set this to `true` to remove selected icon behavior from the `Option`.\n *\n * @defaultValue `false`\n */\n disableSelectedIcon?: boolean;\n}\n\n/**\n * @since 6.0.0 removed the `selected` and `focused` props.\n * @since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, and `iconSpacingProps` props.\n */\nexport interface OptionProps extends MenuItemProps, OptionSelectedIconProps {\n /**\n * @defaultValue `\"option\"`\n */\n role?: string;\n value: string | number | object;\n\n /**\n * An optional className to apply only while the current option is selected to\n * override any global default selected styles. It is recommended to update\n * the `react-md.$form-option-selected-styles` map first to change selected\n * style globally and then any one-off customizations through this prop.\n *\n * @example Global Change\n * ```scss\n * @use \"@react-md/core\" with (\n * // these are the defaults\n * $form-option-selected-styles: (\n * --rmd-icon-color: currentcolor,\n * background-color: colors.$blue-900,\n * color: colors.$white,\n * ),\n *\n * // so if you wanted to remove the styles globally\n * $form-option-selected-styles: (),\n * );\n * ```\n *\n * This really results in something like:\n * ```ts\n * className=\"rmd-list-item ... rmd-menu-item ... rmd-option rmd-option--selected ${selectedClassName}\"\n * ```\n */\n selectedClassName?: string;\n\n /**\n * Since the `selectedIcon`/`unselectedIcon` are rendered as\n * `leftAddon`/`rightAddon`, the provided `leftAddon`/`rightAddon` will be\n * wrapped in the {@link TextIconSpacing} component to maintain the correct\n * spacing. You can use this prop to provide any additional configuration to\n * the spacing.\n *\n * @example\n * ```tsx\n * <Option\n * leftAddon={<Avatar>A</Avatar>}\n * leftAddonType=\"avatar\"\n * value={0}\n * textIconSpacingProps={{\n * beforeClassName: \"my-custom-class-name\",\n * }}\n * >\n * Some Content\n * </Option>\n * ```\n */\n textIconSpacingProps?: Omit<TextIconSpacingProps, \"icon\" | \"children\">;\n}\n\n/**\n * **Client Component**\n *\n * This component is a wrapper around the {@link MenuItem} to implement custom\n * select option behavior.\n *\n * @see {@link https://next.react-md.dev/components/select | Select Demos}\n * @since 6.0.0 removed the `selected` and `focused` props.\n * @since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, `iconSpacingProps`, and `selectedClassName` props.\n */\nexport const Option = forwardRef<HTMLLIElement, OptionProps>(\n function Option(props, ref) {\n const {\n id: propId,\n role = \"option\",\n value,\n children: propChildren,\n onClick = noop,\n className,\n selectedClassName,\n selectedIcon: propSelectedIcon,\n unselectedIcon: propUnselectedIcon,\n selectedIconAfter: propSelectedIconAfter,\n disableSelectedIcon: propDisableSelectedIcon,\n textIconSpacingProps,\n leftAddon: propLeftAddon,\n leftAddonType,\n leftAddonClassName,\n rightAddon: propRightAddon,\n rightAddonType,\n rightAddonClassName,\n secondaryText,\n height: propHeight,\n disableTextChildren: propDisableTextChildren,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"option\");\n const {\n selectOption,\n isOptionSelected,\n disableSelectedIcon: contextDisableSelectedIcon,\n selectedIcon: contextSelectedIcon,\n unselectedIcon: contextUnselectedIcon,\n selectedIconAfter: contextSelectedIconAfter,\n } = useListboxContext();\n const selectedIconAfter = propSelectedIconAfter ?? contextSelectedIconAfter;\n const disableSelectedIcon =\n propDisableSelectedIcon ?? contextDisableSelectedIcon;\n const selected = isOptionSelected(value);\n const selectedIcon = getIcon(\n \"selected\",\n disableSelectedIcon ? null : (propSelectedIcon ?? contextSelectedIcon)\n );\n const unselectedIcon = disableSelectedIcon\n ? null\n : (propUnselectedIcon ??\n contextUnselectedIcon ??\n DEFAULT_OPTION_UNSELECTED_ICON);\n const icon = selected ? selectedIcon : unselectedIcon;\n\n let leftAddon = propLeftAddon;\n let rightAddon = propRightAddon;\n let children = propChildren;\n let disableTextChildren = propDisableTextChildren;\n if (!selectedIconAfter && icon) {\n leftAddon = icon;\n if (propLeftAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propLeftAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n } else if (icon) {\n rightAddon = icon;\n if (propRightAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propRightAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n }\n\n const height = getListItemHeight({\n height: propHeight,\n leftAddon: leftAddon === icon ? null : leftAddon,\n leftAddonType,\n rightAddon: rightAddon === icon ? null : rightAddon,\n rightAddonType,\n secondaryText,\n });\n\n return (\n <MenuItem\n {...remaining}\n aria-selected={selected || undefined}\n id={id}\n ref={ref}\n role={role}\n onClick={(event) => {\n onClick(event);\n selectOption(value);\n }}\n className={option({\n icon: !!icon,\n selected,\n selectedClassName,\n className,\n })}\n secondaryText={secondaryText}\n height={height}\n leftAddon={leftAddon}\n leftAddonType={leftAddonType}\n leftAddonClassName={cnb(\n leftAddon === icon && \"rmd-option__icon\",\n leftAddonClassName\n )}\n rightAddon={rightAddon}\n rightAddonType={rightAddonType}\n rightAddonClassName={cnb(\n rightAddon === icon && \"rmd-option__icon\",\n rightAddonClassName\n )}\n disableTextChildren={disableTextChildren}\n >\n {children}\n </MenuItem>\n );\n }\n);\n"],"names":["cnb","Fragment","forwardRef","TextIconSpacing","getIcon","icon","ListItemText","getListItemHeight","MenuItem","useEnsuredId","useListboxContext","option","noop","DEFAULT_OPTION_UNSELECTED_ICON","span","className","type","Option","props","ref","id","propId","role","value","children","propChildren","onClick","selectedClassName","selectedIcon","propSelectedIcon","unselectedIcon","propUnselectedIcon","selectedIconAfter","propSelectedIconAfter","disableSelectedIcon","propDisableSelectedIcon","textIconSpacingProps","leftAddon","propLeftAddon","leftAddonType","leftAddonClassName","rightAddon","propRightAddon","rightAddonType","rightAddonClassName","secondaryText","height","propHeight","disableTextChildren","propDisableTextChildren","remaining","selectOption","isOptionSelected","contextDisableSelectedIcon","contextSelectedIcon","contextUnselectedIcon","contextSelectedIconAfter","selected","Wrapper","aria-selected","undefined","event"],"mappings":"AAAA;;AAEA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,EAAkBC,UAAU,QAAQ,QAAQ;AAE7D,SACEC,eAAe,QAEV,6BAA6B;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SAASC,YAAY,QAAQ,0BAA0B;AACvD,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,QAAQ,QAA4B,sBAAsB;AACnE,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,MAAM,QAAQ,oBAAoB;AAE3C,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;;;CAMC,GACD,OAAO,MAAMC,+CACX,KAACC;IAAKC,WAAWV,KAAK;QAAEW,MAAM;IAAM;GACpC;AAiGF;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,uBAASf,WACpB,SAASe,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAO,QAAQ,EACfC,KAAK,EACLC,UAAUC,YAAY,EACtBC,UAAUd,IAAI,EACdG,SAAS,EACTY,iBAAiB,EACjBC,cAAcC,gBAAgB,EAC9BC,gBAAgBC,kBAAkB,EAClCC,mBAAmBC,qBAAqB,EACxCC,qBAAqBC,uBAAuB,EAC5CC,oBAAoB,EACpBC,WAAWC,aAAa,EACxBC,aAAa,EACbC,kBAAkB,EAClBC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,mBAAmB,EACnBC,aAAa,EACbC,QAAQC,UAAU,EAClBC,qBAAqBC,uBAAuB,EAC5C,GAAGC,WACJ,GAAGhC;IAEJ,MAAME,KAAKX,aAAaY,QAAQ;IAChC,MAAM,EACJ8B,YAAY,EACZC,gBAAgB,EAChBlB,qBAAqBmB,0BAA0B,EAC/CzB,cAAc0B,mBAAmB,EACjCxB,gBAAgByB,qBAAqB,EACrCvB,mBAAmBwB,wBAAwB,EAC5C,GAAG9C;IACJ,MAAMsB,oBAAoBC,yBAAyBuB;IACnD,MAAMtB,sBACJC,2BAA2BkB;IAC7B,MAAMI,WAAWL,iBAAiB7B;IAClC,MAAMK,eAAexB,QACnB,YACA8B,sBAAsB,OAAQL,oBAAoByB;IAEpD,MAAMxB,iBAAiBI,sBACnB,OACCH,sBACDwB,yBACA1C;IACJ,MAAMR,OAAOoD,WAAW7B,eAAeE;IAEvC,IAAIO,YAAYC;IAChB,IAAIG,aAAaC;IACjB,IAAIlB,WAAWC;IACf,IAAIuB,sBAAsBC;IAC1B,IAAI,CAACjB,qBAAqB3B,MAAM;QAC9BgC,YAAYhC;QACZ,IAAIiC,eAAe;YACjBU,sBAAsB;YACtB,MAAMU,UAAUT,0BAA0BhD,WAAWK;YAErDkB,yBACE,KAACrB;gBAAiB,GAAGiC,oBAAoB;gBAAE/B,MAAMiC;0BAC/C,cAAA,KAACoB;8BAASlC;;;QAGhB;IACF,OAAO,IAAInB,MAAM;QACfoC,aAAapC;QACb,IAAIqC,gBAAgB;YAClBM,sBAAsB;YACtB,MAAMU,UAAUT,0BAA0BhD,WAAWK;YAErDkB,yBACE,KAACrB;gBAAiB,GAAGiC,oBAAoB;gBAAE/B,MAAMqC;0BAC/C,cAAA,KAACgB;8BAASlC;;;QAGhB;IACF;IAEA,MAAMsB,SAASvC,kBAAkB;QAC/BuC,QAAQC;QACRV,WAAWA,cAAchC,OAAO,OAAOgC;QACvCE;QACAE,YAAYA,eAAepC,OAAO,OAAOoC;QACzCE;QACAE;IACF;IAEA,qBACE,KAACrC;QACE,GAAG0C,SAAS;QACbS,iBAAeF,YAAYG;QAC3BxC,IAAIA;QACJD,KAAKA;QACLG,MAAMA;QACNI,SAAS,CAACmC;YACRnC,QAAQmC;YACRV,aAAa5B;QACf;QACAR,WAAWJ,OAAO;YAChBN,MAAM,CAAC,CAACA;YACRoD;YACA9B;YACAZ;QACF;QACA8B,eAAeA;QACfC,QAAQA;QACRT,WAAWA;QACXE,eAAeA;QACfC,oBAAoBxC,IAClBqC,cAAchC,QAAQ,oBACtBmC;QAEFC,YAAYA;QACZE,gBAAgBA;QAChBC,qBAAqB5C,IACnByC,eAAepC,QAAQ,oBACvBuC;QAEFI,qBAAqBA;kBAEpBxB;;AAGP,GACA"}
@@ -98,7 +98,7 @@ export interface PasswordProps extends Omit<TextFieldProps, "type" | "rightAddon
98
98
  *
99
99
  * @example Simple Example
100
100
  * ```tsx
101
- * import { Password } from "@react-md/core";
101
+ * import { Password } from "@react-md/core/form/Password";
102
102
  *
103
103
  * function Example(): ReactElement {
104
104
  * return (
@@ -110,5 +110,7 @@ export interface PasswordProps extends Omit<TextFieldProps, "type" | "rightAddon
110
110
  * );
111
111
  * }
112
112
  * ```
113
+ *
114
+ * @see {@link https://next.react-md.dev/components/password | Password Demos}
113
115
  */
114
116
  export declare const Password: import("react").ForwardRefExoticComponent<PasswordProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -12,7 +12,7 @@ import { password, passwordInput, passwordInputToggle } from "./passwordStyles.j
12
12
  *
13
13
  * @example Simple Example
14
14
  * ```tsx
15
- * import { Password } from "@react-md/core";
15
+ * import { Password } from "@react-md/core/form/Password";
16
16
  *
17
17
  * function Example(): ReactElement {
18
18
  * return (
@@ -24,6 +24,8 @@ import { password, passwordInput, passwordInputToggle } from "./passwordStyles.j
24
24
  * );
25
25
  * }
26
26
  * ```
27
+ *
28
+ * @see {@link https://next.react-md.dev/components/password | Password Demos}
27
29
  */ export const Password = /*#__PURE__*/ forwardRef(function Password(props, ref) {
28
30
  const { id: propId, name = "password", className, inputClassName, visibilityIcon: propVisibilityIcon, visibilityLabel = "Show password", visibilityProps, ...remaining } = props;
29
31
  const { toggled: isPasswordVisible, toggle } = useToggle(false);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/Password.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactNode, forwardRef } from \"react\";\n\nimport { Button, type ButtonProps } from \"../button/Button.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useToggle } from \"../useToggle.js\";\nimport { TextField, type TextFieldProps } from \"./TextField.js\";\nimport {\n password,\n passwordInput,\n passwordInputToggle,\n} from \"./passwordStyles.js\";\n\n/**\n * @example Simple Example\n * ```tsx\n * const getVisibilityIcon: GetPasswordVisibilityIcon = (isPasswordVisible) => {\n * if (isPasswordVisible) {\n * return <SecurityIcon />;\n * }\n *\n * return <RemoveRedEyeIcon />;\n * };\n * ```\n *\n * @param isPasswordVisible - `true` when the password is visible and in plain\n * text\n * @returns a custom icon to use for the password visibility toggle.\n */\nexport type GetPasswordVisibilityIcon = (\n isPasswordVisible: boolean\n) => ReactNode;\n\n/**\n * @example Simple Example\n * ```tsx\n * const visibilityIcon: ConfigurableVisibilityIcon = {\n * visible: <SecurityIcon />,\n * invisible: <RemoveRedEyeIcon />,\n * };\n * ```\n */\nexport interface ConfigurableVisibilityIcon {\n /**\n * The icon to display while the password is currently visible as plain text.\n */\n visible: ReactNode;\n\n /**\n * The icon to display while the password is currently invisible as the\n * password input.\n */\n invisible: ReactNode;\n}\n\nexport interface PasswordProps\n extends Omit<TextFieldProps, \"type\" | \"rightAddon\"> {\n /**\n * @defaultValue `\"password\"`\n * @since 6.0.0 Defaults to `\"password\"`\n */\n name?: string;\n\n /**\n * @example Configurable Visibility Icon Object\n * ```tsx\n * <Password\n * {...props}\n * visibilityIcon={{\n * visible: <SecurityIcon />,\n * invisible: <RemoveRedEyeIcon />,\n * }}\n * />\n * ```\n *\n * @example Get Password Visibility Icon Function\n * ```tsx\n * <Password\n * {...props}\n * visibilityIcon={(isPasswordVisible) => {\n * if (isPasswordVisible) {\n * return <SecurityIcon />;\n * }\n *\n * return <RemoveRedEyeIcon />;\n * }}\n * />\n * ```\n *\n * @example Custom Icon\n * ```tsx\n * <Password\n * {...props}\n * visibilityIcon={<SomeCustomComponent />}\n * />\n * ```\n */\n visibilityIcon?:\n | ConfigurableVisibilityIcon\n | GetPasswordVisibilityIcon\n | ReactNode;\n\n /**\n * The `aria-label` to use for the password visibility icon button.\n *\n * @defaultValue `\"Show password\"`\n */\n visibilityLabel?: string;\n\n /**\n * Any props that should be passed to the password visibility icon button. If\n * `id`, `buttonType`, `aria-label`, `aria-pressed`, or `children` are\n * provided here, they will override the default implementation.\n */\n visibilityProps?: PropsWithRef<ButtonProps, HTMLButtonElement>;\n}\n\n/**\n * **Client Component**\n *\n * @example Simple Example\n * ```tsx\n * import { Password } from \"@react-md/core\";\n *\n * function Example(): ReactElement {\n * return (\n * <Password\n * label=\"Password\"\n * name=\"password\"\n * required\n * />\n * );\n * }\n * ```\n */\nexport const Password = forwardRef<HTMLInputElement, PasswordProps>(\n function Password(props, ref) {\n const {\n id: propId,\n name = \"password\",\n className,\n inputClassName,\n visibilityIcon: propVisibilityIcon,\n visibilityLabel = \"Show password\",\n visibilityProps,\n ...remaining\n } = props;\n const { toggled: isPasswordVisible, toggle } = useToggle(false);\n\n let currentVisibilityIcon: ReactNode;\n if (\n propVisibilityIcon &&\n typeof propVisibilityIcon === \"object\" &&\n \"visible\" in propVisibilityIcon\n ) {\n currentVisibilityIcon = isPasswordVisible\n ? propVisibilityIcon.visible\n : propVisibilityIcon.invisible;\n } else if (typeof propVisibilityIcon === \"function\") {\n currentVisibilityIcon = propVisibilityIcon(isPasswordVisible);\n } else {\n currentVisibilityIcon = propVisibilityIcon;\n }\n\n const id = useEnsuredId(propId, \"password\");\n const visibilityIcon = getIcon(\"password\", currentVisibilityIcon);\n\n return (\n <TextField\n {...remaining}\n ref={ref}\n name={name}\n type={isPasswordVisible ? \"text\" : \"password\"}\n className={password({ className })}\n inputClassName={passwordInput({ className: inputClassName })}\n rightAddon={\n <Button\n id={`${id}-toggle`}\n buttonType=\"icon\"\n aria-label={visibilityLabel}\n aria-pressed={isPasswordVisible}\n // allow all props except the onClick, className, and aria-pressed to\n // be overridden. onClick can only stop default behavior with\n // `event.stopPropagation()`\n {...visibilityProps}\n className={passwordInputToggle({\n className: visibilityProps?.className,\n })}\n onClick={(event) => {\n visibilityProps?.onClick?.(event);\n if (event.isPropagationStopped()) {\n return;\n }\n\n toggle();\n }}\n >\n {visibilityProps?.children ?? visibilityIcon}\n </Button>\n }\n disableRightAddonStyles\n />\n );\n }\n);\n"],"names":["forwardRef","Button","getIcon","useEnsuredId","useToggle","TextField","password","passwordInput","passwordInputToggle","Password","props","ref","id","propId","name","className","inputClassName","visibilityIcon","propVisibilityIcon","visibilityLabel","visibilityProps","remaining","toggled","isPasswordVisible","toggle","currentVisibilityIcon","visible","invisible","type","rightAddon","buttonType","aria-label","aria-pressed","onClick","event","isPropagationStopped","children","disableRightAddonStyles"],"mappings":"AAAA;;AAEA,SAAyBA,UAAU,QAAQ,QAAQ;AAEnD,SAASC,MAAM,QAA0B,sBAAsB;AAC/D,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,SAAS,QAA6B,iBAAiB;AAChE,SACEC,QAAQ,EACRC,aAAa,EACbC,mBAAmB,QACd,sBAAsB;AA0G7B;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,MAAMC,yBAAWT,WACtB,SAASS,SAASC,KAAK,EAAEC,GAAG;IAC1B,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAO,UAAU,EACjBC,SAAS,EACTC,cAAc,EACdC,gBAAgBC,kBAAkB,EAClCC,kBAAkB,eAAe,EACjCC,eAAe,EACf,GAAGC,WACJ,GAAGX;IACJ,MAAM,EAAEY,SAASC,iBAAiB,EAAEC,MAAM,EAAE,GAAGpB,UAAU;IAEzD,IAAIqB;IACJ,IACEP,sBACA,OAAOA,uBAAuB,YAC9B,aAAaA,oBACb;QACAO,wBAAwBF,oBACpBL,mBAAmBQ,OAAO,GAC1BR,mBAAmBS,SAAS;IAClC,OAAO,IAAI,OAAOT,uBAAuB,YAAY;QACnDO,wBAAwBP,mBAAmBK;IAC7C,OAAO;QACLE,wBAAwBP;IAC1B;IAEA,MAAMN,KAAKT,aAAaU,QAAQ;IAChC,MAAMI,iBAAiBf,QAAQ,YAAYuB;IAE3C,qBACE,KAACpB;QACE,GAAGgB,SAAS;QACbV,KAAKA;QACLG,MAAMA;QACNc,MAAML,oBAAoB,SAAS;QACnCR,WAAWT,SAAS;YAAES;QAAU;QAChCC,gBAAgBT,cAAc;YAAEQ,WAAWC;QAAe;QAC1Da,0BACE,KAAC5B;YACCW,IAAI,GAAGA,GAAG,OAAO,CAAC;YAClBkB,YAAW;YACXC,cAAYZ;YACZa,gBAAcT;YAIb,GAAGH,eAAe;YACnBL,WAAWP,oBAAoB;gBAC7BO,WAAWK,iBAAiBL;YAC9B;YACAkB,SAAS,CAACC;gBACRd,iBAAiBa,UAAUC;gBAC3B,IAAIA,MAAMC,oBAAoB,IAAI;oBAChC;gBACF;gBAEAX;YACF;sBAECJ,iBAAiBgB,YAAYnB;;QAGlCoB,uBAAuB;;AAG7B,GACA"}
1
+ {"version":3,"sources":["../../src/form/Password.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactNode, forwardRef } from \"react\";\n\nimport { Button, type ButtonProps } from \"../button/Button.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useToggle } from \"../useToggle.js\";\nimport { TextField, type TextFieldProps } from \"./TextField.js\";\nimport {\n password,\n passwordInput,\n passwordInputToggle,\n} from \"./passwordStyles.js\";\n\n/**\n * @example Simple Example\n * ```tsx\n * const getVisibilityIcon: GetPasswordVisibilityIcon = (isPasswordVisible) => {\n * if (isPasswordVisible) {\n * return <SecurityIcon />;\n * }\n *\n * return <RemoveRedEyeIcon />;\n * };\n * ```\n *\n * @param isPasswordVisible - `true` when the password is visible and in plain\n * text\n * @returns a custom icon to use for the password visibility toggle.\n */\nexport type GetPasswordVisibilityIcon = (\n isPasswordVisible: boolean\n) => ReactNode;\n\n/**\n * @example Simple Example\n * ```tsx\n * const visibilityIcon: ConfigurableVisibilityIcon = {\n * visible: <SecurityIcon />,\n * invisible: <RemoveRedEyeIcon />,\n * };\n * ```\n */\nexport interface ConfigurableVisibilityIcon {\n /**\n * The icon to display while the password is currently visible as plain text.\n */\n visible: ReactNode;\n\n /**\n * The icon to display while the password is currently invisible as the\n * password input.\n */\n invisible: ReactNode;\n}\n\nexport interface PasswordProps\n extends Omit<TextFieldProps, \"type\" | \"rightAddon\"> {\n /**\n * @defaultValue `\"password\"`\n * @since 6.0.0 Defaults to `\"password\"`\n */\n name?: string;\n\n /**\n * @example Configurable Visibility Icon Object\n * ```tsx\n * <Password\n * {...props}\n * visibilityIcon={{\n * visible: <SecurityIcon />,\n * invisible: <RemoveRedEyeIcon />,\n * }}\n * />\n * ```\n *\n * @example Get Password Visibility Icon Function\n * ```tsx\n * <Password\n * {...props}\n * visibilityIcon={(isPasswordVisible) => {\n * if (isPasswordVisible) {\n * return <SecurityIcon />;\n * }\n *\n * return <RemoveRedEyeIcon />;\n * }}\n * />\n * ```\n *\n * @example Custom Icon\n * ```tsx\n * <Password\n * {...props}\n * visibilityIcon={<SomeCustomComponent />}\n * />\n * ```\n */\n visibilityIcon?:\n | ConfigurableVisibilityIcon\n | GetPasswordVisibilityIcon\n | ReactNode;\n\n /**\n * The `aria-label` to use for the password visibility icon button.\n *\n * @defaultValue `\"Show password\"`\n */\n visibilityLabel?: string;\n\n /**\n * Any props that should be passed to the password visibility icon button. If\n * `id`, `buttonType`, `aria-label`, `aria-pressed`, or `children` are\n * provided here, they will override the default implementation.\n */\n visibilityProps?: PropsWithRef<ButtonProps, HTMLButtonElement>;\n}\n\n/**\n * **Client Component**\n *\n * @example Simple Example\n * ```tsx\n * import { Password } from \"@react-md/core/form/Password\";\n *\n * function Example(): ReactElement {\n * return (\n * <Password\n * label=\"Password\"\n * name=\"password\"\n * required\n * />\n * );\n * }\n * ```\n *\n * @see {@link https://next.react-md.dev/components/password | Password Demos}\n */\nexport const Password = forwardRef<HTMLInputElement, PasswordProps>(\n function Password(props, ref) {\n const {\n id: propId,\n name = \"password\",\n className,\n inputClassName,\n visibilityIcon: propVisibilityIcon,\n visibilityLabel = \"Show password\",\n visibilityProps,\n ...remaining\n } = props;\n const { toggled: isPasswordVisible, toggle } = useToggle(false);\n\n let currentVisibilityIcon: ReactNode;\n if (\n propVisibilityIcon &&\n typeof propVisibilityIcon === \"object\" &&\n \"visible\" in propVisibilityIcon\n ) {\n currentVisibilityIcon = isPasswordVisible\n ? propVisibilityIcon.visible\n : propVisibilityIcon.invisible;\n } else if (typeof propVisibilityIcon === \"function\") {\n currentVisibilityIcon = propVisibilityIcon(isPasswordVisible);\n } else {\n currentVisibilityIcon = propVisibilityIcon;\n }\n\n const id = useEnsuredId(propId, \"password\");\n const visibilityIcon = getIcon(\"password\", currentVisibilityIcon);\n\n return (\n <TextField\n {...remaining}\n ref={ref}\n name={name}\n type={isPasswordVisible ? \"text\" : \"password\"}\n className={password({ className })}\n inputClassName={passwordInput({ className: inputClassName })}\n rightAddon={\n <Button\n id={`${id}-toggle`}\n buttonType=\"icon\"\n aria-label={visibilityLabel}\n aria-pressed={isPasswordVisible}\n // allow all props except the onClick, className, and aria-pressed to\n // be overridden. onClick can only stop default behavior with\n // `event.stopPropagation()`\n {...visibilityProps}\n className={passwordInputToggle({\n className: visibilityProps?.className,\n })}\n onClick={(event) => {\n visibilityProps?.onClick?.(event);\n if (event.isPropagationStopped()) {\n return;\n }\n\n toggle();\n }}\n >\n {visibilityProps?.children ?? visibilityIcon}\n </Button>\n }\n disableRightAddonStyles\n />\n );\n }\n);\n"],"names":["forwardRef","Button","getIcon","useEnsuredId","useToggle","TextField","password","passwordInput","passwordInputToggle","Password","props","ref","id","propId","name","className","inputClassName","visibilityIcon","propVisibilityIcon","visibilityLabel","visibilityProps","remaining","toggled","isPasswordVisible","toggle","currentVisibilityIcon","visible","invisible","type","rightAddon","buttonType","aria-label","aria-pressed","onClick","event","isPropagationStopped","children","disableRightAddonStyles"],"mappings":"AAAA;;AAEA,SAAyBA,UAAU,QAAQ,QAAQ;AAEnD,SAASC,MAAM,QAA0B,sBAAsB;AAC/D,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,SAAS,QAA6B,iBAAiB;AAChE,SACEC,QAAQ,EACRC,aAAa,EACbC,mBAAmB,QACd,sBAAsB;AA0G7B;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,MAAMC,yBAAWT,WACtB,SAASS,SAASC,KAAK,EAAEC,GAAG;IAC1B,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAO,UAAU,EACjBC,SAAS,EACTC,cAAc,EACdC,gBAAgBC,kBAAkB,EAClCC,kBAAkB,eAAe,EACjCC,eAAe,EACf,GAAGC,WACJ,GAAGX;IACJ,MAAM,EAAEY,SAASC,iBAAiB,EAAEC,MAAM,EAAE,GAAGpB,UAAU;IAEzD,IAAIqB;IACJ,IACEP,sBACA,OAAOA,uBAAuB,YAC9B,aAAaA,oBACb;QACAO,wBAAwBF,oBACpBL,mBAAmBQ,OAAO,GAC1BR,mBAAmBS,SAAS;IAClC,OAAO,IAAI,OAAOT,uBAAuB,YAAY;QACnDO,wBAAwBP,mBAAmBK;IAC7C,OAAO;QACLE,wBAAwBP;IAC1B;IAEA,MAAMN,KAAKT,aAAaU,QAAQ;IAChC,MAAMI,iBAAiBf,QAAQ,YAAYuB;IAE3C,qBACE,KAACpB;QACE,GAAGgB,SAAS;QACbV,KAAKA;QACLG,MAAMA;QACNc,MAAML,oBAAoB,SAAS;QACnCR,WAAWT,SAAS;YAAES;QAAU;QAChCC,gBAAgBT,cAAc;YAAEQ,WAAWC;QAAe;QAC1Da,0BACE,KAAC5B;YACCW,IAAI,GAAGA,GAAG,OAAO,CAAC;YAClBkB,YAAW;YACXC,cAAYZ;YACZa,gBAAcT;YAIb,GAAGH,eAAe;YACnBL,WAAWP,oBAAoB;gBAC7BO,WAAWK,iBAAiBL;YAC9B;YACAkB,SAAS,CAACC;gBACRd,iBAAiBa,UAAUC;gBAC3B,IAAIA,MAAMC,oBAAoB,IAAI;oBAChC;gBACF;gBAEAX;YACF;sBAECJ,iBAAiBgB,YAAYnB;;QAGlCoB,uBAAuB;;AAG7B,GACA"}
@@ -17,5 +17,7 @@ import { type RadioProps } from "./InputToggle.js";
17
17
  * </>
18
18
  * );
19
19
  * ```
20
+ *
21
+ * @see {@link https://next.react-md.dev/components/radio | Radio Demos}
20
22
  */
21
23
  export declare const Radio: import("react").ForwardRefExoticComponent<RadioProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -20,6 +20,8 @@ import { InputToggle } from "./InputToggle.js";
20
20
  * </>
21
21
  * );
22
22
  * ```
23
+ *
24
+ * @see {@link https://next.react-md.dev/components/radio | Radio Demos}
23
25
  */ export const Radio = /*#__PURE__*/ forwardRef(function Radio(props, ref) {
24
26
  return /*#__PURE__*/ _jsx(InputToggle, {
25
27
  ...props,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/Radio.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\n\nimport { InputToggle, type RadioProps } from \"./InputToggle.js\";\n\n/**\n * **Client Component**\n *\n * You'll generally want to use the `useRadioGroup` hook along with this\n * component.\n *\n * @example Simple Example\n * ```tsx\n * const { value, getRadioProps } = useRadioGroup({ name: \"group\" });\n *\n * return (\n * <>\n * <Radio {...getRadioProps(\"a\")} label=\"First\" />\n * <Radio {...getRadioProps(\"b\")} label=\"Second\" />\n * <Radio {...getRadioProps(\"c\")} label=\"Third\" />\n * </>\n * );\n * ```\n */\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n function Radio(props, ref) {\n return <InputToggle {...props} ref={ref} type=\"radio\" />;\n }\n);\n"],"names":["forwardRef","InputToggle","Radio","props","ref","type"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SAASC,WAAW,QAAyB,mBAAmB;AAEhE;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,MAAMC,sBAAQF,WACnB,SAASE,MAAMC,KAAK,EAAEC,GAAG;IACvB,qBAAO,KAACH;QAAa,GAAGE,KAAK;QAAEC,KAAKA;QAAKC,MAAK;;AAChD,GACA"}
1
+ {"version":3,"sources":["../../src/form/Radio.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\n\nimport { InputToggle, type RadioProps } from \"./InputToggle.js\";\n\n/**\n * **Client Component**\n *\n * You'll generally want to use the `useRadioGroup` hook along with this\n * component.\n *\n * @example Simple Example\n * ```tsx\n * const { value, getRadioProps } = useRadioGroup({ name: \"group\" });\n *\n * return (\n * <>\n * <Radio {...getRadioProps(\"a\")} label=\"First\" />\n * <Radio {...getRadioProps(\"b\")} label=\"Second\" />\n * <Radio {...getRadioProps(\"c\")} label=\"Third\" />\n * </>\n * );\n * ```\n *\n * @see {@link https://next.react-md.dev/components/radio | Radio Demos}\n */\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n function Radio(props, ref) {\n return <InputToggle {...props} ref={ref} type=\"radio\" />;\n }\n);\n"],"names":["forwardRef","InputToggle","Radio","props","ref","type"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SAASC,WAAW,QAAyB,mBAAmB;AAEhE;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,MAAMC,sBAAQF,WACnB,SAASE,MAAMC,KAAK,EAAEC,GAAG;IACvB,qBAAO,KAACH;QAAa,GAAGE,KAAK;QAAEC,KAAKA;QAAKC,MAAK;;AAChD,GACA"}
@@ -15,8 +15,8 @@ import { type UserAgentAutocompleteProps } from "./types.js";
15
15
  *
16
16
  * @example Simple Usage
17
17
  * ```tsx
18
- * import type { SelectedChangeEvent } from "@react-md/core";
19
- * import { Select, Option } from "@react-md/core";
18
+ * import { Select, type SelectChangeEvent } from "@react-md/core/form/Select";
19
+ * import { Option } from "@react-md/core/form/Option";
20
20
  * import type { ReactElement } from "react";
21
21
  *
22
22
  * type Value = "" | "a" | "b" | "c" | "d";
@@ -157,7 +157,8 @@ export interface SelectProps<Value extends string> extends Omit<TextFieldContain
157
157
  *
158
158
  * @example Simple Example
159
159
  * ```tsx
160
- * import { Select, Option } from "react-md";
160
+ * import { Option } from "@react-md/core/form/Option";
161
+ * import { Select } from "@react-md/core/form/Select";
161
162
  * import { useState, type ReactElement } from "react";
162
163
  *
163
164
  * function Example(): ReactElement {
@@ -179,31 +180,7 @@ export interface SelectProps<Value extends string> extends Omit<TextFieldContain
179
180
  * }
180
181
  * ```
181
182
  *
182
- * @example Testing
183
- * ```tsx
184
- * rmdRender(
185
- * <Select label="Select" selectedOptionProps={{ "data-testid": "selected" }}>
186
- * <Option value="a">Option 1</Option>
187
- * <Option value="b">Option 2</Option>
188
- * <Option value="c">Option 3</Option>
189
- * <Option value="d">Option 4</Option>
190
- * </Select>
191
- * );
192
- *
193
- * const user = userEvent.setup();
194
- * const select = screen.getByRole("combobox", { name: "Select" });
195
- * const selected = screen.getByTestId("selected")
196
- * const selectInput = screen.getByRole("textbox", { hidden: true });
197
- * expect(selected).toHaveTextContent("");
198
- * expect(selectInput).toHaveValue("");
199
- *
200
- * await user.click(select);
201
- * await user.click(screen.getByRole("option"), { name: "Option 2" });
202
- *
203
- * expect(selected).toHaveTextContent("Option 2");
204
- * expect(selectInput).toHaveValue("b");
205
- * ```
206
- *
183
+ * @see {@link https://next.react-md.dev/components/select | Select Demos}
207
184
  * @since 6.0.0 Rewritten with a new API.
208
185
  */
209
186
  export declare function Select<Value extends string>(props: RequireAtLeastOne<SelectProps<Value>, "label" | keyof LabelA11y>): ReactElement;