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

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 (1344) hide show
  1. package/dist/RootHtml.d.ts +0 -2
  2. package/dist/RootHtml.js +0 -2
  3. package/dist/RootHtml.js.map +1 -1
  4. package/dist/_box-shadows.scss +76 -0
  5. package/dist/_colors.scss +279 -277
  6. package/dist/_core.scss +107 -16
  7. package/dist/_object-fit.scss +86 -0
  8. package/dist/_utils.scss +246 -72
  9. package/dist/app-bar/AppBar.d.ts +1 -92
  10. package/dist/app-bar/AppBar.js +1 -42
  11. package/dist/app-bar/AppBar.js.map +1 -1
  12. package/dist/app-bar/AppBarTitle.d.ts +1 -30
  13. package/dist/app-bar/AppBarTitle.js +1 -17
  14. package/dist/app-bar/AppBarTitle.js.map +1 -1
  15. package/dist/app-bar/_app-bar.scss +156 -25
  16. package/dist/app-bar/styles.d.ts +117 -0
  17. package/dist/app-bar/styles.js +55 -0
  18. package/dist/app-bar/styles.js.map +1 -0
  19. package/dist/autocomplete/Autocomplete.d.ts +8 -79
  20. package/dist/autocomplete/Autocomplete.js +112 -83
  21. package/dist/autocomplete/Autocomplete.js.map +1 -1
  22. package/dist/autocomplete/AutocompleteChip.d.ts +8 -0
  23. package/dist/autocomplete/AutocompleteChip.js +34 -0
  24. package/dist/autocomplete/AutocompleteChip.js.map +1 -0
  25. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +5 -11
  26. package/dist/autocomplete/AutocompleteCircularProgress.js +4 -0
  27. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  28. package/dist/autocomplete/AutocompleteClearButton.d.ts +9 -0
  29. package/dist/autocomplete/AutocompleteClearButton.js +29 -0
  30. package/dist/autocomplete/AutocompleteClearButton.js.map +1 -0
  31. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +4 -26
  32. package/dist/autocomplete/AutocompleteDropdownButton.js +5 -1
  33. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  34. package/dist/autocomplete/AutocompleteListboxChildren.d.ts +22 -0
  35. package/dist/autocomplete/AutocompleteListboxChildren.js +37 -0
  36. package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -0
  37. package/dist/autocomplete/_autocomplete.scss +362 -34
  38. package/dist/autocomplete/autocompleteStyles.d.ts +22 -0
  39. package/dist/autocomplete/autocompleteStyles.js +17 -8
  40. package/dist/autocomplete/autocompleteStyles.js.map +1 -1
  41. package/dist/autocomplete/defaults.d.ts +9 -9
  42. package/dist/autocomplete/defaults.js +13 -13
  43. package/dist/autocomplete/defaults.js.map +1 -1
  44. package/dist/autocomplete/types.d.ts +554 -56
  45. package/dist/autocomplete/types.js.map +1 -1
  46. package/dist/autocomplete/useAutocomplete.d.ts +22 -0
  47. package/dist/autocomplete/useAutocomplete.js +281 -0
  48. package/dist/autocomplete/useAutocomplete.js.map +1 -0
  49. package/dist/autocomplete/utils.d.ts +81 -0
  50. package/dist/autocomplete/utils.js +108 -0
  51. package/dist/autocomplete/utils.js.map +1 -0
  52. package/dist/avatar/Avatar.d.ts +0 -2
  53. package/dist/avatar/Avatar.js +0 -2
  54. package/dist/avatar/Avatar.js.map +1 -1
  55. package/dist/avatar/_avatar.scss +93 -2
  56. package/dist/badge/Badge.d.ts +2 -23
  57. package/dist/badge/Badge.js +1 -16
  58. package/dist/badge/Badge.js.map +1 -1
  59. package/dist/badge/_badge.scss +90 -3
  60. package/dist/badge/styles.d.ts +26 -0
  61. package/dist/badge/styles.js +18 -0
  62. package/dist/badge/styles.js.map +1 -0
  63. package/dist/box/Box.d.ts +0 -2
  64. package/dist/box/Box.js +2 -3
  65. package/dist/box/Box.js.map +1 -1
  66. package/dist/box/_box.scss +130 -17
  67. package/dist/box/styles.d.ts +6 -0
  68. package/dist/box/styles.js +2 -1
  69. package/dist/box/styles.js.map +1 -1
  70. package/dist/button/AsyncButton.d.ts +1 -1
  71. package/dist/button/AsyncButton.js.map +1 -1
  72. package/dist/button/Button.d.ts +2 -1
  73. package/dist/button/Button.js +2 -1
  74. package/dist/button/Button.js.map +1 -1
  75. package/dist/button/ButtonUnstyled.d.ts +0 -2
  76. package/dist/button/ButtonUnstyled.js +0 -2
  77. package/dist/button/ButtonUnstyled.js.map +1 -1
  78. package/dist/button/_button.scss +157 -25
  79. package/dist/card/Card.d.ts +16 -2
  80. package/dist/card/Card.js +11 -5
  81. package/dist/card/Card.js.map +1 -1
  82. package/dist/card/CardContent.d.ts +0 -2
  83. package/dist/card/CardContent.js +0 -2
  84. package/dist/card/CardContent.js.map +1 -1
  85. package/dist/card/CardFooter.d.ts +0 -3
  86. package/dist/card/CardFooter.js +0 -2
  87. package/dist/card/CardFooter.js.map +1 -1
  88. package/dist/card/CardHeader.d.ts +0 -2
  89. package/dist/card/CardHeader.js +0 -2
  90. package/dist/card/CardHeader.js.map +1 -1
  91. package/dist/card/CardSubtitle.d.ts +0 -3
  92. package/dist/card/CardSubtitle.js +0 -2
  93. package/dist/card/CardSubtitle.js.map +1 -1
  94. package/dist/card/CardTitle.d.ts +0 -3
  95. package/dist/card/CardTitle.js +0 -2
  96. package/dist/card/CardTitle.js.map +1 -1
  97. package/dist/card/ClickableCard.d.ts +2 -1
  98. package/dist/card/ClickableCard.js +5 -2
  99. package/dist/card/ClickableCard.js.map +1 -1
  100. package/dist/card/_card.scss +90 -19
  101. package/dist/card/styles.d.ts +0 -7
  102. package/dist/card/styles.js +2 -3
  103. package/dist/card/styles.js.map +1 -1
  104. package/dist/chip/Chip.d.ts +2 -3
  105. package/dist/chip/Chip.js +2 -3
  106. package/dist/chip/Chip.js.map +1 -1
  107. package/dist/chip/_chip.scss +42 -20
  108. package/dist/chip/styles.d.ts +12 -10
  109. package/dist/chip/styles.js.map +1 -1
  110. package/dist/cssUtils.js.map +1 -1
  111. package/dist/delegateEvent.d.ts +2 -2
  112. package/dist/delegateEvent.js.map +1 -1
  113. package/dist/dialog/Dialog.d.ts +8 -21
  114. package/dist/dialog/Dialog.js +27 -27
  115. package/dist/dialog/Dialog.js.map +1 -1
  116. package/dist/dialog/DialogContent.d.ts +3 -3
  117. package/dist/dialog/DialogContent.js +3 -3
  118. package/dist/dialog/DialogContent.js.map +1 -1
  119. package/dist/dialog/DialogFooter.d.ts +2 -3
  120. package/dist/dialog/DialogFooter.js +2 -3
  121. package/dist/dialog/DialogFooter.js.map +1 -1
  122. package/dist/dialog/DialogHeader.d.ts +3 -3
  123. package/dist/dialog/DialogHeader.js +3 -3
  124. package/dist/dialog/DialogHeader.js.map +1 -1
  125. package/dist/dialog/DialogTitle.d.ts +3 -4
  126. package/dist/dialog/DialogTitle.js +3 -3
  127. package/dist/dialog/DialogTitle.js.map +1 -1
  128. package/dist/dialog/FixedDialog.d.ts +1 -3
  129. package/dist/dialog/FixedDialog.js +0 -8
  130. package/dist/dialog/FixedDialog.js.map +1 -1
  131. package/dist/dialog/NestedDialogProvider.d.ts +0 -1
  132. package/dist/dialog/_dialog.scss +67 -13
  133. package/dist/dialog/styles.d.ts +56 -0
  134. package/dist/dialog/styles.js +29 -2
  135. package/dist/dialog/styles.js.map +1 -1
  136. package/dist/divider/Divider.d.ts +0 -13
  137. package/dist/divider/Divider.js +0 -2
  138. package/dist/divider/Divider.js.map +1 -1
  139. package/dist/divider/_divider.scss +7 -1
  140. package/dist/divider/styles.d.ts +11 -0
  141. package/dist/divider/styles.js.map +1 -1
  142. package/dist/draggable/useDraggable.d.ts +6 -6
  143. package/dist/draggable/useDraggable.js.map +1 -1
  144. package/dist/draggable/utils.d.ts +3 -3
  145. package/dist/draggable/utils.js.map +1 -1
  146. package/dist/expansion-panel/ExpansionList.d.ts +1 -1
  147. package/dist/expansion-panel/ExpansionList.js +1 -1
  148. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  149. package/dist/expansion-panel/ExpansionPanel.d.ts +9 -25
  150. package/dist/expansion-panel/ExpansionPanel.js +1 -12
  151. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  152. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +0 -1
  153. package/dist/expansion-panel/ExpansionPanelHeader.js +0 -1
  154. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  155. package/dist/expansion-panel/_expansion-panel.scss +5 -1
  156. package/dist/expansion-panel/expansionPanelStyles.d.ts +19 -0
  157. package/dist/expansion-panel/expansionPanelStyles.js +14 -0
  158. package/dist/expansion-panel/expansionPanelStyles.js.map +1 -0
  159. package/dist/expansion-panel/useExpansionPanels.js +12 -24
  160. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  161. package/dist/{form → files}/FileInput.d.ts +3 -6
  162. package/dist/{form → files}/FileInput.js +3 -6
  163. package/dist/files/FileInput.js.map +1 -0
  164. package/dist/files/_files.scss +22 -0
  165. package/dist/files/styles.d.ts +5 -0
  166. package/dist/files/styles.js +7 -0
  167. package/dist/files/styles.js.map +1 -0
  168. package/dist/{form → files}/useFileUpload.d.ts +7 -9
  169. package/dist/{form → files}/useFileUpload.js +5 -7
  170. package/dist/files/useFileUpload.js.map +1 -0
  171. package/dist/files/utils.d.ts +169 -0
  172. package/dist/files/utils.js +114 -0
  173. package/dist/files/utils.js.map +1 -0
  174. package/dist/{form/fileUtils.d.ts → files/validation.d.ts} +9 -174
  175. package/dist/{form/fileUtils.js → files/validation.js} +9 -134
  176. package/dist/files/validation.js.map +1 -0
  177. package/dist/focus/useFocusContainer.d.ts +2 -2
  178. package/dist/focus/useFocusContainer.js.map +1 -1
  179. package/dist/focus/utils.js.map +1 -1
  180. package/dist/form/Checkbox.d.ts +0 -1
  181. package/dist/form/Fieldset.d.ts +0 -2
  182. package/dist/form/Fieldset.js.map +1 -1
  183. package/dist/form/FormMessage.d.ts +0 -3
  184. package/dist/form/FormMessage.js +0 -2
  185. package/dist/form/FormMessage.js.map +1 -1
  186. package/dist/form/FormMessageContainer.d.ts +0 -1
  187. package/dist/form/FormMessageContainer.js +4 -3
  188. package/dist/form/FormMessageContainer.js.map +1 -1
  189. package/dist/form/FormMessageCounter.d.ts +0 -2
  190. package/dist/form/FormMessageCounter.js +0 -2
  191. package/dist/form/FormMessageCounter.js.map +1 -1
  192. package/dist/form/InputToggle.d.ts +2 -1
  193. package/dist/form/InputToggle.js +2 -1
  194. package/dist/form/InputToggle.js.map +1 -1
  195. package/dist/form/InputToggleIcon.d.ts +0 -2
  196. package/dist/form/InputToggleIcon.js +0 -2
  197. package/dist/form/InputToggleIcon.js.map +1 -1
  198. package/dist/form/Label.d.ts +0 -3
  199. package/dist/form/Label.js +2 -4
  200. package/dist/form/Label.js.map +1 -1
  201. package/dist/form/Legend.d.ts +0 -3
  202. package/dist/form/Legend.js +0 -2
  203. package/dist/form/Legend.js.map +1 -1
  204. package/dist/form/Listbox.d.ts +24 -0
  205. package/dist/form/Listbox.js +46 -0
  206. package/dist/form/Listbox.js.map +1 -0
  207. package/dist/form/ListboxProvider.d.ts +21 -0
  208. package/dist/form/{useListboxProvider.js → ListboxProvider.js} +1 -1
  209. package/dist/form/ListboxProvider.js.map +1 -0
  210. package/dist/form/MenuItemCheckbox.d.ts +0 -1
  211. package/dist/form/MenuItemRadio.d.ts +0 -1
  212. package/dist/form/MenuItemSwitch.d.ts +0 -1
  213. package/dist/form/MenuItemTextField.js +1 -2
  214. package/dist/form/MenuItemTextField.js.map +1 -1
  215. package/dist/form/NativeSelect.d.ts +0 -2
  216. package/dist/form/NativeSelect.js +7 -6
  217. package/dist/form/NativeSelect.js.map +1 -1
  218. package/dist/form/Option.d.ts +49 -10
  219. package/dist/form/Option.js +11 -9
  220. package/dist/form/Option.js.map +1 -1
  221. package/dist/form/Password.js.map +1 -1
  222. package/dist/form/Radio.d.ts +0 -1
  223. package/dist/form/Select.d.ts +2 -2
  224. package/dist/form/Select.js +81 -85
  225. package/dist/form/Select.js.map +1 -1
  226. package/dist/form/SelectedOption.d.ts +0 -2
  227. package/dist/form/SelectedOption.js +0 -2
  228. package/dist/form/SelectedOption.js.map +1 -1
  229. package/dist/form/Slider.d.ts +4 -4
  230. package/dist/form/Slider.js +6 -2
  231. package/dist/form/Slider.js.map +1 -1
  232. package/dist/form/SliderContainer.d.ts +0 -2
  233. package/dist/form/SliderContainer.js +0 -2
  234. package/dist/form/SliderContainer.js.map +1 -1
  235. package/dist/form/SliderMark.d.ts +0 -2
  236. package/dist/form/SliderMark.js +0 -2
  237. package/dist/form/SliderMark.js.map +1 -1
  238. package/dist/form/SliderMarkLabel.d.ts +0 -2
  239. package/dist/form/SliderMarkLabel.js +0 -2
  240. package/dist/form/SliderMarkLabel.js.map +1 -1
  241. package/dist/form/SliderThumb.d.ts +3 -3
  242. package/dist/form/SliderThumb.js.map +1 -1
  243. package/dist/form/SliderTrack.d.ts +0 -2
  244. package/dist/form/SliderTrack.js +0 -2
  245. package/dist/form/SliderTrack.js.map +1 -1
  246. package/dist/form/SliderValueMarks.d.ts +2 -4
  247. package/dist/form/SliderValueMarks.js +0 -2
  248. package/dist/form/SliderValueMarks.js.map +1 -1
  249. package/dist/form/SliderValueTooltip.js.map +1 -1
  250. package/dist/form/Switch.d.ts +0 -2
  251. package/dist/form/Switch.js +0 -2
  252. package/dist/form/Switch.js.map +1 -1
  253. package/dist/form/SwitchTrack.d.ts +2 -1
  254. package/dist/form/SwitchTrack.js +2 -1
  255. package/dist/form/SwitchTrack.js.map +1 -1
  256. package/dist/form/TextArea.js +1 -2
  257. package/dist/form/TextArea.js.map +1 -1
  258. package/dist/form/TextField.d.ts +0 -2
  259. package/dist/form/TextField.js +1 -4
  260. package/dist/form/TextField.js.map +1 -1
  261. package/dist/form/TextFieldAddon.d.ts +1 -4
  262. package/dist/form/TextFieldAddon.js +1 -3
  263. package/dist/form/TextFieldAddon.js.map +1 -1
  264. package/dist/form/TextFieldContainer.js +1 -2
  265. package/dist/form/TextFieldContainer.js.map +1 -1
  266. package/dist/form/_form.scss +186 -121
  267. package/dist/form/formMessageContainerStyles.d.ts +10 -0
  268. package/dist/form/formMessageContainerStyles.js +11 -0
  269. package/dist/form/formMessageContainerStyles.js.map +1 -0
  270. package/dist/form/inputToggleStyles.js.map +1 -1
  271. package/dist/form/optionStyles.d.ts +1 -0
  272. package/dist/form/optionStyles.js +2 -2
  273. package/dist/form/optionStyles.js.map +1 -1
  274. package/dist/form/selectUtils.js.map +1 -1
  275. package/dist/form/sliderUtils.d.ts +1 -1
  276. package/dist/form/sliderUtils.js.map +1 -1
  277. package/dist/form/textFieldContainerStyles.d.ts +0 -2
  278. package/dist/form/textFieldContainerStyles.js +1 -2
  279. package/dist/form/textFieldContainerStyles.js.map +1 -1
  280. package/dist/form/types.d.ts +3 -10
  281. package/dist/form/types.js.map +1 -1
  282. package/dist/form/useCheckboxGroup.d.ts +17 -17
  283. package/dist/form/useCheckboxGroup.js +9 -17
  284. package/dist/form/useCheckboxGroup.js.map +1 -1
  285. package/dist/form/useCombobox.d.ts +56 -21
  286. package/dist/form/useCombobox.js +19 -4
  287. package/dist/form/useCombobox.js.map +1 -1
  288. package/dist/form/useEditableCombobox.d.ts +24 -4
  289. package/dist/form/useEditableCombobox.js +5 -0
  290. package/dist/form/useEditableCombobox.js.map +1 -1
  291. package/dist/form/useNumberField.js.map +1 -1
  292. package/dist/form/useRadioGroup.d.ts +6 -6
  293. package/dist/form/useRadioGroup.js.map +1 -1
  294. package/dist/form/useResizingTextArea.js.map +1 -1
  295. package/dist/form/useSelectCombobox.d.ts +3 -4
  296. package/dist/form/useSelectCombobox.js.map +1 -1
  297. package/dist/form/useTextField.d.ts +1 -1
  298. package/dist/form/useTextField.js.map +1 -1
  299. package/dist/form/useTextFieldContainerAddons.js.map +1 -1
  300. package/dist/hoverMode/useHoverMode.d.ts +3 -3
  301. package/dist/hoverMode/useHoverMode.js.map +1 -1
  302. package/dist/hoverMode/useHoverModeProvider.d.ts +4 -4
  303. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  304. package/dist/icon/FontIcon.d.ts +0 -2
  305. package/dist/icon/FontIcon.js +0 -2
  306. package/dist/icon/FontIcon.js.map +1 -1
  307. package/dist/icon/IconRotator.d.ts +0 -2
  308. package/dist/icon/IconRotator.js +0 -2
  309. package/dist/icon/IconRotator.js.map +1 -1
  310. package/dist/icon/MaterialIcon.d.ts +0 -2
  311. package/dist/icon/MaterialIcon.js +0 -2
  312. package/dist/icon/MaterialIcon.js.map +1 -1
  313. package/dist/icon/MaterialSymbol.d.ts +0 -1
  314. package/dist/icon/MaterialSymbol.js +0 -1
  315. package/dist/icon/MaterialSymbol.js.map +1 -1
  316. package/dist/icon/SVGIcon.d.ts +0 -2
  317. package/dist/icon/SVGIcon.js +0 -2
  318. package/dist/icon/SVGIcon.js.map +1 -1
  319. package/dist/icon/TextIconSpacing.d.ts +0 -2
  320. package/dist/icon/TextIconSpacing.js +0 -2
  321. package/dist/icon/TextIconSpacing.js.map +1 -1
  322. package/dist/icon/_icon.scss +153 -4
  323. package/dist/icon/iconConfig.d.ts +10 -0
  324. package/dist/icon/iconConfig.js +7 -0
  325. package/dist/icon/iconConfig.js.map +1 -1
  326. package/dist/icon/materialConfig.js.map +1 -1
  327. package/dist/icon/styles.js +1 -1
  328. package/dist/icon/styles.js.map +1 -1
  329. package/dist/interaction/RippleContainer.d.ts +0 -2
  330. package/dist/interaction/RippleContainer.js +0 -2
  331. package/dist/interaction/RippleContainer.js.map +1 -1
  332. package/dist/interaction/UserInteractionModeProvider.d.ts +5 -5
  333. package/dist/interaction/UserInteractionModeProvider.js +12 -8
  334. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  335. package/dist/interaction/types.d.ts +20 -2
  336. package/dist/interaction/types.js.map +1 -1
  337. package/dist/interaction/useElementInteraction.d.ts +7 -1
  338. package/dist/interaction/useElementInteraction.js +1 -2
  339. package/dist/interaction/useElementInteraction.js.map +1 -1
  340. package/dist/interaction/utils.d.ts +2 -2
  341. package/dist/interaction/utils.js +2 -2
  342. package/dist/interaction/utils.js.map +1 -1
  343. package/dist/layout/LayoutAppBar.d.ts +0 -1
  344. package/dist/layout/LayoutNav.js +1 -2
  345. package/dist/layout/LayoutNav.js.map +1 -1
  346. package/dist/layout/LayoutWindowSplitter.d.ts +0 -1
  347. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  348. package/dist/layout/_layout.scss +23 -10
  349. package/dist/layout/useExpandableLayout.d.ts +3 -3
  350. package/dist/layout/useExpandableLayout.js.map +1 -1
  351. package/dist/layout/useHorizontalLayoutTransition.js +1 -1
  352. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  353. package/dist/layout/useLayoutAppBarHeight.d.ts +2 -3
  354. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  355. package/dist/layout/useLayoutTree.d.ts +2 -2
  356. package/dist/layout/useLayoutTree.js.map +1 -1
  357. package/dist/layout/useTemporaryLayout.d.ts +2 -2
  358. package/dist/layout/useTemporaryLayout.js.map +1 -1
  359. package/dist/link/Link.d.ts +0 -2
  360. package/dist/link/Link.js +0 -2
  361. package/dist/link/Link.js.map +1 -1
  362. package/dist/link/SkipToMainContent.js.map +1 -1
  363. package/dist/list/List.d.ts +0 -20
  364. package/dist/list/List.js +1 -14
  365. package/dist/list/List.js.map +1 -1
  366. package/dist/list/ListItem.d.ts +2 -17
  367. package/dist/list/ListItem.js +2 -1
  368. package/dist/list/ListItem.js.map +1 -1
  369. package/dist/list/ListItemAddon.d.ts +0 -2
  370. package/dist/list/ListItemAddon.js +0 -2
  371. package/dist/list/ListItemAddon.js.map +1 -1
  372. package/dist/list/ListItemChildren.d.ts +0 -2
  373. package/dist/list/ListItemChildren.js +0 -2
  374. package/dist/list/ListItemChildren.js.map +1 -1
  375. package/dist/list/ListItemLink.d.ts +2 -1
  376. package/dist/list/ListItemLink.js +2 -1
  377. package/dist/list/ListItemLink.js.map +1 -1
  378. package/dist/list/ListItemText.d.ts +0 -2
  379. package/dist/list/ListItemText.js +0 -2
  380. package/dist/list/ListItemText.js.map +1 -1
  381. package/dist/list/ListSubheader.d.ts +3 -2
  382. package/dist/list/ListSubheader.js +0 -2
  383. package/dist/list/ListSubheader.js.map +1 -1
  384. package/dist/list/_list.scss +6 -5
  385. package/dist/list/getListItemHeight.d.ts +2 -2
  386. package/dist/list/getListItemHeight.js +2 -2
  387. package/dist/list/getListItemHeight.js.map +1 -1
  388. package/dist/list/listItemStyles.d.ts +17 -1
  389. package/dist/list/listItemStyles.js.map +1 -1
  390. package/dist/list/listStyles.d.ts +18 -0
  391. package/dist/list/listStyles.js +14 -0
  392. package/dist/list/listStyles.js.map +1 -0
  393. package/dist/list/types.d.ts +9 -3
  394. package/dist/list/types.js +6 -1
  395. package/dist/list/types.js.map +1 -1
  396. package/dist/media-queries/AppSizeProvider.d.ts +8 -0
  397. package/dist/media-queries/AppSizeProvider.js +2 -0
  398. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  399. package/dist/media-queries/_media-queries.scss +12 -0
  400. package/dist/media-queries/appSize.d.ts +5 -5
  401. package/dist/media-queries/appSize.js.map +1 -1
  402. package/dist/media-queries/useMediaQuery.d.ts +1 -1
  403. package/dist/media-queries/useMediaQuery.js +4 -2
  404. package/dist/media-queries/useMediaQuery.js.map +1 -1
  405. package/dist/menu/DropdownMenu.js.map +1 -1
  406. package/dist/menu/Menu.d.ts +8 -3
  407. package/dist/menu/Menu.js +2 -1
  408. package/dist/menu/Menu.js.map +1 -1
  409. package/dist/menu/MenuBar.d.ts +0 -1
  410. package/dist/menu/MenuButton.d.ts +0 -1
  411. package/dist/menu/MenuConfigurationProvider.js.map +1 -1
  412. package/dist/menu/MenuItem.d.ts +0 -1
  413. package/dist/menu/MenuItemButton.d.ts +0 -1
  414. package/dist/menu/MenuItemButton.js +6 -2
  415. package/dist/menu/MenuItemButton.js.map +1 -1
  416. package/dist/menu/useContextMenu.d.ts +3 -3
  417. package/dist/menu/useContextMenu.js.map +1 -1
  418. package/dist/menu/useMenuBarProvider.d.ts +0 -1
  419. package/dist/movement/types.d.ts +5 -5
  420. package/dist/movement/types.js.map +1 -1
  421. package/dist/movement/useKeyboardMovementProvider.d.ts +0 -1
  422. package/dist/navigation/CollapsibleNavGroup.d.ts +5 -3
  423. package/dist/navigation/CollapsibleNavGroup.js +3 -4
  424. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  425. package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -2
  426. package/dist/navigation/DefaultNavigationRenderer.js +6 -2
  427. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  428. package/dist/navigation/NavGroup.d.ts +0 -2
  429. package/dist/navigation/NavGroup.js +0 -2
  430. package/dist/navigation/NavGroup.js.map +1 -1
  431. package/dist/navigation/NavItem.d.ts +0 -2
  432. package/dist/navigation/NavItem.js +0 -2
  433. package/dist/navigation/NavItem.js.map +1 -1
  434. package/dist/navigation/NavItemButton.d.ts +1 -1
  435. package/dist/navigation/NavItemButton.js +1 -0
  436. package/dist/navigation/NavItemButton.js.map +1 -1
  437. package/dist/navigation/NavItemLink.d.ts +3 -2
  438. package/dist/navigation/NavItemLink.js +6 -2
  439. package/dist/navigation/NavItemLink.js.map +1 -1
  440. package/dist/navigation/NavSubheader.d.ts +2 -6
  441. package/dist/navigation/NavSubheader.js +0 -2
  442. package/dist/navigation/NavSubheader.js.map +1 -1
  443. package/dist/navigation/Navigation.d.ts +1 -1
  444. package/dist/navigation/Navigation.js.map +1 -1
  445. package/dist/navigation/_navigation.scss +6 -5
  446. package/dist/navigation/types.d.ts +54 -6
  447. package/dist/navigation/types.js.map +1 -1
  448. package/dist/navigation/useActiveHeadingId.d.ts +1 -1
  449. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  450. package/dist/navigation/useNavigationExpansion.d.ts +104 -0
  451. package/dist/navigation/useNavigationExpansion.js +77 -0
  452. package/dist/navigation/useNavigationExpansion.js.map +1 -0
  453. package/dist/navigation/utils.d.ts +13 -0
  454. package/dist/navigation/utils.js +36 -0
  455. package/dist/navigation/utils.js.map +1 -0
  456. package/dist/objectFit.d.ts +69 -0
  457. package/dist/objectFit.js +52 -0
  458. package/dist/objectFit.js.map +1 -0
  459. package/dist/overlay/_overlay.scss +2 -1
  460. package/dist/positioning/useFixedPositioning.d.ts +17 -4
  461. package/dist/positioning/useFixedPositioning.js +10 -5
  462. package/dist/positioning/useFixedPositioning.js.map +1 -1
  463. package/dist/positioning/utils.js.map +1 -1
  464. package/dist/progress/CircularProgress.d.ts +0 -2
  465. package/dist/progress/CircularProgress.js +0 -2
  466. package/dist/progress/CircularProgress.js.map +1 -1
  467. package/dist/progress/LinearProgress.d.ts +0 -2
  468. package/dist/progress/LinearProgress.js +0 -2
  469. package/dist/progress/LinearProgress.js.map +1 -1
  470. package/dist/progress/_progress.scss +20 -14
  471. package/dist/responsive-item/ResponsiveItem.d.ts +64 -0
  472. package/dist/responsive-item/ResponsiveItem.js +68 -0
  473. package/dist/responsive-item/ResponsiveItem.js.map +1 -0
  474. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +1 -21
  475. package/dist/responsive-item/ResponsiveItemOverlay.js +1 -14
  476. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  477. package/dist/responsive-item/_responsive-item.scss +110 -133
  478. package/dist/responsive-item/responsiveItemOverlayStyles.d.ts +19 -0
  479. package/dist/responsive-item/responsiveItemOverlayStyles.js +14 -0
  480. package/dist/responsive-item/responsiveItemOverlayStyles.js.map +1 -0
  481. package/dist/responsive-item/responsiveItemStyles.d.ts +52 -0
  482. package/dist/responsive-item/responsiveItemStyles.js +15 -0
  483. package/dist/responsive-item/responsiveItemStyles.js.map +1 -0
  484. package/dist/scroll/useScrollLock.d.ts +5 -0
  485. package/dist/scroll/useScrollLock.js.map +1 -1
  486. package/dist/searching/utils.d.ts +2 -2
  487. package/dist/searching/utils.js.map +1 -1
  488. package/dist/segmented-button/SegmentedButton.d.ts +2 -1
  489. package/dist/segmented-button/SegmentedButton.js +2 -1
  490. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  491. package/dist/segmented-button/SegmentedButtonContainer.d.ts +0 -2
  492. package/dist/segmented-button/SegmentedButtonContainer.js +0 -2
  493. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  494. package/dist/segmented-button/_segmented-button.scss +6 -6
  495. package/dist/sheet/Sheet.d.ts +30 -16
  496. package/dist/sheet/Sheet.js +24 -14
  497. package/dist/sheet/Sheet.js.map +1 -1
  498. package/dist/sheet/_sheet.scss +18 -6
  499. package/dist/sheet/styles.d.ts +29 -0
  500. package/dist/sheet/styles.js +13 -0
  501. package/dist/sheet/styles.js.map +1 -1
  502. package/dist/snackbar/ToastActionButton.d.ts +0 -1
  503. package/dist/snackbar/ToastCloseButton.d.ts +0 -1
  504. package/dist/snackbar/ToastManager.js +15 -5
  505. package/dist/snackbar/ToastManager.js.map +1 -1
  506. package/dist/snackbar/_snackbar.scss +30 -17
  507. package/dist/snackbar/useCurrentToastActions.d.ts +5 -6
  508. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  509. package/dist/suspense/CircularProgressSuspense.d.ts +0 -2
  510. package/dist/suspense/CircularProgressSuspense.js +0 -2
  511. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  512. package/dist/suspense/NullSuspense.d.ts +0 -2
  513. package/dist/suspense/NullSuspense.js +0 -2
  514. package/dist/suspense/NullSuspense.js.map +1 -1
  515. package/dist/table/TableCellContent.d.ts +0 -3
  516. package/dist/table/TableCellContent.js +0 -3
  517. package/dist/table/TableCellContent.js.map +1 -1
  518. package/dist/table/TableConfigurationProvider.d.ts +0 -1
  519. package/dist/table/_table.scss +15 -3
  520. package/dist/table/tableCellStyles.d.ts +7 -3
  521. package/dist/table/tableCellStyles.js +2 -2
  522. package/dist/table/tableCellStyles.js.map +1 -1
  523. package/dist/tabs/Tab.d.ts +5 -1
  524. package/dist/tabs/Tab.js +2 -1
  525. package/dist/tabs/Tab.js.map +1 -1
  526. package/dist/tabs/TabList.d.ts +2 -2
  527. package/dist/tabs/TabList.js.map +1 -1
  528. package/dist/tabs/TabListScrollButton.d.ts +1 -1
  529. package/dist/tabs/TabListScrollButton.js +6 -2
  530. package/dist/tabs/TabListScrollButton.js.map +1 -1
  531. package/dist/tabs/_tabs.scss +48 -9
  532. package/dist/tabs/getTabListScrollToOptions.d.ts +18 -0
  533. package/dist/tabs/getTabListScrollToOptions.js +19 -0
  534. package/dist/tabs/getTabListScrollToOptions.js.map +1 -0
  535. package/dist/tabs/tabListScrollButtonStyles.d.ts +2 -0
  536. package/dist/tabs/tabListScrollButtonStyles.js +9 -5
  537. package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
  538. package/dist/tabs/tabStyles.d.ts +3 -0
  539. package/dist/tabs/tabStyles.js.map +1 -1
  540. package/dist/tabs/useTabList.d.ts +3 -8
  541. package/dist/tabs/useTabList.js +5 -2
  542. package/dist/tabs/useTabList.js.map +1 -1
  543. package/dist/tabs/useTabs.d.ts +39 -17
  544. package/dist/tabs/useTabs.js +9 -3
  545. package/dist/tabs/useTabs.js.map +1 -1
  546. package/dist/tabs/utils.d.ts +0 -18
  547. package/dist/tabs/utils.js +0 -15
  548. package/dist/tabs/utils.js.map +1 -1
  549. package/dist/test-utils/IntersectionObserver.js.map +1 -1
  550. package/dist/test-utils/data-testid.d.ts +0 -1
  551. package/dist/test-utils/matchMedia.d.ts +1 -1
  552. package/dist/test-utils/matchMedia.js +4 -4
  553. package/dist/test-utils/matchMedia.js.map +1 -1
  554. package/dist/test-utils/polyfills/TextDecoder.js +0 -1
  555. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
  556. package/dist/test-utils/timers.d.ts +9 -5
  557. package/dist/test-utils/timers.js +5 -5
  558. package/dist/test-utils/timers.js.map +1 -1
  559. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +1 -1
  560. package/dist/theme/LocalStorageColorSchemeProvider.js +2 -1
  561. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  562. package/dist/theme/ThemeProvider.js +3 -1
  563. package/dist/theme/ThemeProvider.js.map +1 -1
  564. package/dist/theme/_a11y.scss +77 -13
  565. package/dist/theme/_colors.scss +279 -277
  566. package/dist/theme/_theme.scss +308 -37
  567. package/dist/theme/isColorScheme.d.ts +16 -0
  568. package/dist/theme/isColorScheme.js +19 -0
  569. package/dist/theme/isColorScheme.js.map +1 -0
  570. package/dist/theme/types.d.ts +53 -1
  571. package/dist/theme/types.js +1 -23
  572. package/dist/theme/types.js.map +1 -1
  573. package/dist/theme/useCSSVariables.d.ts +2 -19
  574. package/dist/theme/useCSSVariables.js.map +1 -1
  575. package/dist/theme/useColorScheme.d.ts +1 -36
  576. package/dist/theme/useColorScheme.js.map +1 -1
  577. package/dist/theme/useColorSchemeMetaTag.d.ts +1 -1
  578. package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
  579. package/dist/theme/useColorSchemeProvider.d.ts +1 -1
  580. package/dist/theme/useColorSchemeProvider.js +1 -1
  581. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  582. package/dist/theme/{usePrefersColorScheme.js → usePrefersDarkScheme.js} +1 -1
  583. package/dist/theme/usePrefersDarkScheme.js.map +1 -0
  584. package/dist/theme/utils.js.map +1 -1
  585. package/dist/tooltip/useTooltip.d.ts +14 -9
  586. package/dist/tooltip/useTooltip.js +2 -1
  587. package/dist/tooltip/useTooltip.js.map +1 -1
  588. package/dist/transition/SlideContainer.d.ts +2 -48
  589. package/dist/transition/SlideContainer.js +2 -48
  590. package/dist/transition/SlideContainer.js.map +1 -1
  591. package/dist/transition/_transition.scss +16 -9
  592. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  593. package/dist/transition/types.d.ts +1 -1
  594. package/dist/transition/types.js.map +1 -1
  595. package/dist/transition/useCarousel.d.ts +3 -3
  596. package/dist/transition/useCarousel.js.map +1 -1
  597. package/dist/transition/useCollapseTransition.js.map +1 -1
  598. package/dist/transition/useTransition.js +1 -0
  599. package/dist/transition/useTransition.js.map +1 -1
  600. package/dist/transition/utils.js.map +1 -1
  601. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -3
  602. package/dist/tree/DefaultTreeItemRenderer.js +1 -1
  603. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  604. package/dist/tree/Tree.d.ts +3 -4
  605. package/dist/tree/Tree.js.map +1 -1
  606. package/dist/tree/TreeItem.d.ts +12 -4
  607. package/dist/tree/TreeItem.js +9 -5
  608. package/dist/tree/TreeItem.js.map +1 -1
  609. package/dist/tree/TreeItemExpander.js.map +1 -1
  610. package/dist/tree/_tree.scss +8 -6
  611. package/dist/tree/types.d.ts +11 -6
  612. package/dist/tree/types.js +1 -26
  613. package/dist/tree/types.js.map +1 -1
  614. package/dist/tree/useTree.d.ts +3 -3
  615. package/dist/tree/useTree.js.map +1 -1
  616. package/dist/tree/useTreeExpansion.d.ts +4 -4
  617. package/dist/tree/useTreeExpansion.js +6 -18
  618. package/dist/tree/useTreeExpansion.js.map +1 -1
  619. package/dist/tree/useTreeSelection.d.ts +4 -4
  620. package/dist/tree/useTreeSelection.js +7 -25
  621. package/dist/tree/useTreeSelection.js.map +1 -1
  622. package/dist/tree/utils.d.ts +1 -1
  623. package/dist/tree/utils.js.map +1 -1
  624. package/dist/types.d.ts +12 -4
  625. package/dist/types.js.map +1 -1
  626. package/dist/typography/SrOnly.d.ts +2 -1
  627. package/dist/typography/SrOnly.js +2 -1
  628. package/dist/typography/SrOnly.js.map +1 -1
  629. package/dist/typography/TextContainer.d.ts +0 -2
  630. package/dist/typography/TextContainer.js +0 -2
  631. package/dist/typography/TextContainer.js.map +1 -1
  632. package/dist/typography/Typography.d.ts +0 -2
  633. package/dist/typography/Typography.js +0 -2
  634. package/dist/typography/Typography.js.map +1 -1
  635. package/dist/typography/WritingDirectionProvider.d.ts +3 -3
  636. package/dist/typography/WritingDirectionProvider.js +2 -2
  637. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  638. package/dist/typography/_typography.scss +94 -37
  639. package/dist/typography/typographyStyles.js.map +1 -1
  640. package/dist/useDebouncedFunction.d.ts +1 -5
  641. package/dist/useDebouncedFunction.js +3 -1
  642. package/dist/useDebouncedFunction.js.map +1 -1
  643. package/dist/useDropzone.d.ts +4 -4
  644. package/dist/useDropzone.js.map +1 -1
  645. package/dist/useEnsuredId.js.map +1 -1
  646. package/dist/useIntersectionObserver.d.ts +5 -5
  647. package/dist/useIntersectionObserver.js.map +1 -1
  648. package/dist/useLocalStorage.d.ts +3 -3
  649. package/dist/useLocalStorage.js +1 -1
  650. package/dist/useLocalStorage.js.map +1 -1
  651. package/dist/useMutationObserver.d.ts +1 -1
  652. package/dist/useMutationObserver.js.map +1 -1
  653. package/dist/useOrientation.js +3 -1
  654. package/dist/useOrientation.js.map +1 -1
  655. package/dist/usePageInactive.d.ts +2 -2
  656. package/dist/usePageInactive.js.map +1 -1
  657. package/dist/useReadonlySet.d.ts +76 -0
  658. package/dist/useReadonlySet.js +72 -0
  659. package/dist/useReadonlySet.js.map +1 -0
  660. package/dist/useResizeListener.d.ts +8 -2
  661. package/dist/useResizeListener.js.map +1 -1
  662. package/dist/useResizeObserver.d.ts +3 -3
  663. package/dist/useResizeObserver.js.map +1 -1
  664. package/dist/useThrottledFunction.d.ts +1 -5
  665. package/dist/useThrottledFunction.js +3 -1
  666. package/dist/useThrottledFunction.js.map +1 -1
  667. package/dist/useToggle.d.ts +7 -7
  668. package/dist/useToggle.js +1 -1
  669. package/dist/useToggle.js.map +1 -1
  670. package/dist/utils/RenderRecursively.d.ts +1 -1
  671. package/dist/utils/RenderRecursively.js.map +1 -1
  672. package/dist/utils/alphaNumericSort.d.ts +1 -1
  673. package/dist/utils/alphaNumericSort.js.map +1 -1
  674. package/dist/utils/bem.js.map +1 -1
  675. package/dist/utils/debounce.d.ts +5 -0
  676. package/dist/utils/debounce.js +17 -0
  677. package/dist/utils/debounce.js.map +1 -0
  678. package/dist/utils/nearest.js.map +1 -1
  679. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  680. package/dist/utils/throttle.d.ts +5 -0
  681. package/dist/utils/throttle.js +30 -0
  682. package/dist/utils/throttle.js.map +1 -0
  683. package/dist/utils/wait.js +3 -1
  684. package/dist/utils/wait.js.map +1 -1
  685. package/dist/window-splitter/WindowSplitter.d.ts +39 -17
  686. package/dist/window-splitter/WindowSplitter.js +40 -19
  687. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  688. package/dist/window-splitter/_window-splitter.scss +32 -14
  689. package/dist/window-splitter/styles.d.ts +14 -0
  690. package/dist/window-splitter/styles.js +18 -0
  691. package/dist/window-splitter/styles.js.map +1 -0
  692. package/package.json +27 -26
  693. package/src/RootHtml.tsx +0 -2
  694. package/src/app-bar/AppBar.tsx +1 -172
  695. package/src/app-bar/AppBarTitle.tsx +1 -46
  696. package/src/app-bar/styles.ts +206 -0
  697. package/src/autocomplete/Autocomplete.tsx +194 -211
  698. package/src/autocomplete/AutocompleteChip.tsx +48 -0
  699. package/src/autocomplete/AutocompleteCircularProgress.tsx +6 -17
  700. package/src/autocomplete/AutocompleteClearButton.tsx +44 -0
  701. package/src/autocomplete/AutocompleteDropdownButton.tsx +16 -37
  702. package/src/autocomplete/AutocompleteListboxChildren.tsx +68 -0
  703. package/src/autocomplete/autocompleteStyles.ts +48 -9
  704. package/src/autocomplete/defaults.ts +26 -17
  705. package/src/autocomplete/types.ts +744 -61
  706. package/src/autocomplete/useAutocomplete.ts +428 -0
  707. package/src/autocomplete/utils.ts +211 -0
  708. package/src/avatar/Avatar.tsx +0 -2
  709. package/src/badge/Badge.tsx +2 -42
  710. package/src/badge/styles.ts +45 -0
  711. package/src/box/Box.tsx +11 -11
  712. package/src/box/styles.ts +14 -5
  713. package/src/button/AsyncButton.tsx +1 -1
  714. package/src/button/Button.tsx +5 -1
  715. package/src/button/ButtonUnstyled.tsx +0 -2
  716. package/src/card/Card.tsx +35 -6
  717. package/src/card/CardContent.tsx +0 -2
  718. package/src/card/CardFooter.tsx +0 -2
  719. package/src/card/CardHeader.tsx +0 -2
  720. package/src/card/CardSubtitle.tsx +0 -2
  721. package/src/card/CardTitle.tsx +0 -2
  722. package/src/card/ClickableCard.tsx +9 -2
  723. package/src/card/styles.ts +1 -10
  724. package/src/chip/Chip.tsx +6 -3
  725. package/src/chip/styles.ts +12 -10
  726. package/src/delegateEvent.ts +5 -5
  727. package/src/dialog/Dialog.tsx +48 -61
  728. package/src/dialog/DialogContent.tsx +3 -3
  729. package/src/dialog/DialogFooter.tsx +2 -3
  730. package/src/dialog/DialogHeader.tsx +3 -3
  731. package/src/dialog/DialogTitle.tsx +3 -3
  732. package/src/dialog/FixedDialog.tsx +1 -11
  733. package/src/dialog/styles.ts +97 -0
  734. package/src/divider/Divider.tsx +0 -14
  735. package/src/divider/styles.ts +12 -0
  736. package/src/draggable/useDraggable.ts +17 -10
  737. package/src/draggable/utils.ts +3 -3
  738. package/src/expansion-panel/ExpansionList.tsx +1 -1
  739. package/src/expansion-panel/ExpansionPanel.tsx +10 -39
  740. package/src/expansion-panel/ExpansionPanelHeader.tsx +0 -1
  741. package/src/expansion-panel/expansionPanelStyles.ts +33 -0
  742. package/src/expansion-panel/useExpansionPanels.ts +18 -27
  743. package/src/{form → files}/FileInput.tsx +7 -15
  744. package/src/files/styles.ts +10 -0
  745. package/src/{form → files}/useFileUpload.ts +30 -34
  746. package/src/files/utils.ts +234 -0
  747. package/src/{form/fileUtils.ts → files/validation.ts} +13 -242
  748. package/src/focus/useFocusContainer.ts +16 -8
  749. package/src/form/Fieldset.tsx +0 -2
  750. package/src/form/FormMessage.tsx +0 -2
  751. package/src/form/FormMessageContainer.tsx +2 -3
  752. package/src/form/FormMessageCounter.tsx +0 -2
  753. package/src/form/InputToggle.tsx +6 -2
  754. package/src/form/InputToggleIcon.tsx +0 -2
  755. package/src/form/Label.tsx +18 -20
  756. package/src/form/Legend.tsx +0 -2
  757. package/src/form/Listbox.tsx +87 -0
  758. package/src/form/ListboxProvider.ts +37 -0
  759. package/src/form/MenuItemTextField.tsx +1 -2
  760. package/src/form/NativeSelect.tsx +14 -12
  761. package/src/form/Option.tsx +74 -22
  762. package/src/form/Select.tsx +89 -85
  763. package/src/form/SelectedOption.tsx +0 -2
  764. package/src/form/Slider.tsx +14 -11
  765. package/src/form/SliderContainer.tsx +0 -2
  766. package/src/form/SliderMark.tsx +0 -2
  767. package/src/form/SliderMarkLabel.tsx +0 -2
  768. package/src/form/SliderThumb.tsx +4 -4
  769. package/src/form/SliderTrack.tsx +0 -2
  770. package/src/form/SliderValueMarks.tsx +4 -6
  771. package/src/form/Switch.tsx +0 -2
  772. package/src/form/SwitchTrack.tsx +2 -1
  773. package/src/form/TextArea.tsx +6 -8
  774. package/src/form/TextField.tsx +0 -4
  775. package/src/form/TextFieldAddon.tsx +1 -3
  776. package/src/form/TextFieldContainer.tsx +9 -11
  777. package/src/form/formMessageContainerStyles.ts +22 -0
  778. package/src/form/optionStyles.ts +7 -2
  779. package/src/form/sliderUtils.ts +1 -1
  780. package/src/form/textFieldContainerStyles.ts +9 -14
  781. package/src/form/types.ts +3 -11
  782. package/src/form/useCheckboxGroup.ts +28 -36
  783. package/src/form/useCombobox.ts +86 -38
  784. package/src/form/useEditableCombobox.ts +43 -8
  785. package/src/form/useRadioGroup.ts +6 -6
  786. package/src/form/useSelectCombobox.ts +4 -4
  787. package/src/form/useTextField.ts +1 -1
  788. package/src/hoverMode/useHoverMode.ts +3 -3
  789. package/src/hoverMode/useHoverModeProvider.ts +4 -4
  790. package/src/icon/FontIcon.tsx +0 -2
  791. package/src/icon/IconRotator.tsx +0 -2
  792. package/src/icon/MaterialIcon.tsx +0 -2
  793. package/src/icon/MaterialSymbol.tsx +0 -1
  794. package/src/icon/SVGIcon.tsx +0 -2
  795. package/src/icon/TextIconSpacing.tsx +0 -2
  796. package/src/icon/iconConfig.tsx +12 -0
  797. package/src/icon/styles.ts +1 -1
  798. package/src/interaction/RippleContainer.tsx +0 -2
  799. package/src/interaction/UserInteractionModeProvider.tsx +12 -8
  800. package/src/interaction/types.ts +21 -2
  801. package/src/interaction/useElementInteraction.tsx +9 -2
  802. package/src/interaction/utils.ts +7 -7
  803. package/src/layout/LayoutNav.tsx +3 -2
  804. package/src/layout/useExpandableLayout.ts +3 -3
  805. package/src/layout/useHorizontalLayoutTransition.ts +1 -1
  806. package/src/layout/useLayoutAppBarHeight.ts +3 -4
  807. package/src/layout/useLayoutTree.ts +2 -2
  808. package/src/layout/useTemporaryLayout.ts +2 -2
  809. package/src/link/Link.tsx +0 -2
  810. package/src/list/List.tsx +1 -33
  811. package/src/list/ListItem.tsx +5 -18
  812. package/src/list/ListItemAddon.tsx +0 -2
  813. package/src/list/ListItemChildren.tsx +0 -2
  814. package/src/list/ListItemLink.tsx +5 -1
  815. package/src/list/ListItemText.tsx +0 -2
  816. package/src/list/ListSubheader.tsx +3 -2
  817. package/src/list/getListItemHeight.ts +2 -2
  818. package/src/list/listItemStyles.ts +21 -4
  819. package/src/list/listStyles.ts +31 -0
  820. package/src/list/types.ts +9 -3
  821. package/src/media-queries/AppSizeProvider.tsx +8 -0
  822. package/src/media-queries/useMediaQuery.ts +3 -2
  823. package/src/menu/Menu.tsx +11 -3
  824. package/src/menu/MenuConfigurationProvider.tsx +2 -2
  825. package/src/menu/MenuItemButton.tsx +7 -1
  826. package/src/menu/useContextMenu.ts +3 -3
  827. package/src/movement/types.ts +5 -5
  828. package/src/navigation/CollapsibleNavGroup.tsx +16 -8
  829. package/src/navigation/DefaultNavigationRenderer.tsx +8 -6
  830. package/src/navigation/NavGroup.tsx +0 -2
  831. package/src/navigation/NavItem.tsx +0 -2
  832. package/src/navigation/NavItemButton.tsx +2 -1
  833. package/src/navigation/NavItemLink.tsx +11 -3
  834. package/src/navigation/NavSubheader.tsx +1 -3
  835. package/src/navigation/Navigation.tsx +1 -1
  836. package/src/navigation/types.ts +60 -10
  837. package/src/navigation/useActiveHeadingId.ts +1 -1
  838. package/src/navigation/useNavigationExpansion.ts +170 -0
  839. package/src/navigation/utils.ts +47 -0
  840. package/src/objectFit.ts +88 -0
  841. package/src/positioning/useFixedPositioning.ts +34 -11
  842. package/src/progress/CircularProgress.tsx +0 -2
  843. package/src/progress/LinearProgress.tsx +0 -2
  844. package/src/responsive-item/ResponsiveItem.tsx +96 -0
  845. package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -48
  846. package/src/responsive-item/responsiveItemOverlayStyles.ts +46 -0
  847. package/src/responsive-item/responsiveItemStyles.ts +81 -0
  848. package/src/scroll/useScrollLock.ts +6 -0
  849. package/src/searching/utils.ts +3 -3
  850. package/src/segmented-button/SegmentedButton.tsx +5 -1
  851. package/src/segmented-button/SegmentedButtonContainer.tsx +0 -2
  852. package/src/sheet/Sheet.tsx +36 -33
  853. package/src/sheet/styles.ts +50 -0
  854. package/src/snackbar/ToastManager.tsx +16 -5
  855. package/src/snackbar/useCurrentToastActions.ts +5 -5
  856. package/src/suspense/CircularProgressSuspense.tsx +0 -2
  857. package/src/suspense/NullSuspense.tsx +0 -2
  858. package/src/table/TableCellContent.tsx +0 -3
  859. package/src/table/tableCellStyles.ts +10 -6
  860. package/src/tabs/Tab.tsx +7 -1
  861. package/src/tabs/TabList.tsx +2 -2
  862. package/src/tabs/TabListScrollButton.tsx +13 -6
  863. package/src/tabs/getTabListScrollToOptions.ts +37 -0
  864. package/src/tabs/tabListScrollButtonStyles.ts +9 -5
  865. package/src/tabs/tabStyles.ts +4 -0
  866. package/src/tabs/useTabList.ts +6 -9
  867. package/src/tabs/useTabs.ts +67 -20
  868. package/src/tabs/utils.ts +0 -38
  869. package/src/test-utils/IntersectionObserver.ts +1 -1
  870. package/src/test-utils/matchMedia.ts +5 -5
  871. package/src/test-utils/polyfills/TextDecoder.ts +0 -1
  872. package/src/test-utils/timers.ts +10 -7
  873. package/src/theme/LocalStorageColorSchemeProvider.tsx +4 -4
  874. package/src/theme/ThemeProvider.tsx +3 -3
  875. package/src/theme/isColorScheme.ts +22 -0
  876. package/src/theme/types.ts +67 -1
  877. package/src/theme/useCSSVariables.ts +7 -30
  878. package/src/theme/useColorScheme.ts +1 -40
  879. package/src/theme/useColorSchemeMetaTag.ts +1 -1
  880. package/src/theme/useColorSchemeProvider.ts +2 -2
  881. package/src/tooltip/useTooltip.ts +17 -9
  882. package/src/transition/SlideContainer.tsx +2 -48
  883. package/src/transition/types.ts +1 -1
  884. package/src/transition/useCarousel.ts +3 -3
  885. package/src/transition/useTransition.ts +1 -0
  886. package/src/tree/DefaultTreeItemRenderer.tsx +3 -4
  887. package/src/tree/Tree.tsx +4 -6
  888. package/src/tree/TreeItem.tsx +18 -5
  889. package/src/tree/TreeItemExpander.tsx +1 -1
  890. package/src/tree/types.ts +16 -6
  891. package/src/tree/useTree.ts +3 -3
  892. package/src/tree/useTreeExpansion.ts +10 -28
  893. package/src/tree/useTreeSelection.ts +11 -35
  894. package/src/tree/utils.ts +6 -2
  895. package/src/types.ts +20 -4
  896. package/src/typography/SrOnly.tsx +2 -1
  897. package/src/typography/TextContainer.tsx +0 -2
  898. package/src/typography/Typography.tsx +0 -2
  899. package/src/typography/WritingDirectionProvider.tsx +3 -3
  900. package/src/useDebouncedFunction.ts +4 -9
  901. package/src/useDropzone.ts +4 -4
  902. package/src/useIntersectionObserver.ts +5 -5
  903. package/src/useLocalStorage.ts +6 -6
  904. package/src/useMutationObserver.ts +1 -1
  905. package/src/useOrientation.ts +3 -1
  906. package/src/usePageInactive.ts +2 -2
  907. package/src/useReadonlySet.ts +122 -0
  908. package/src/useResizeListener.ts +8 -2
  909. package/src/useResizeObserver.ts +3 -3
  910. package/src/useThrottledFunction.ts +6 -9
  911. package/src/useToggle.ts +7 -7
  912. package/src/utils/RenderRecursively.tsx +1 -1
  913. package/src/utils/alphaNumericSort.ts +1 -1
  914. package/src/utils/debounce.ts +22 -0
  915. package/src/utils/throttle.ts +38 -0
  916. package/src/utils/wait.ts +5 -1
  917. package/src/window-splitter/WindowSplitter.tsx +40 -45
  918. package/src/window-splitter/styles.ts +42 -0
  919. package/.eslintrc.cjs +0 -34
  920. package/.stylelintrc.json +0 -14
  921. package/.swcrc +0 -17
  922. package/.turbo/turbo-build.log +0 -22
  923. package/.turbo/turbo-lint.log +0 -12
  924. package/.turbo/turbo-test.log +0 -5516
  925. package/.turbo/turbo-typecheck.log +0 -4
  926. package/CHANGELOG.md +0 -323
  927. package/coverage/clover.xml +0 -842
  928. package/coverage/coverage-final.json +0 -6
  929. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +0 -1033
  930. package/coverage/lcov-report/autocomplete/AutocompleteClearButton.tsx.html +0 -262
  931. package/coverage/lcov-report/autocomplete/FilterAutocompleteOptions.tsx.html +0 -364
  932. package/coverage/lcov-report/autocomplete/index.html +0 -146
  933. package/coverage/lcov-report/base.css +0 -224
  934. package/coverage/lcov-report/block-navigation.js +0 -87
  935. package/coverage/lcov-report/button/Button.tsx.html +0 -676
  936. package/coverage/lcov-report/button/index.html +0 -116
  937. package/coverage/lcov-report/card/Card.tsx.html +0 -349
  938. package/coverage/lcov-report/card/CardSubtitle.tsx.html +0 -265
  939. package/coverage/lcov-report/card/index.html +0 -146
  940. package/coverage/lcov-report/card/styles.ts.html +0 -682
  941. package/coverage/lcov-report/createHorizontalPosition.ts.html +0 -1075
  942. package/coverage/lcov-report/createVerticalPosition.ts.html +0 -997
  943. package/coverage/lcov-report/favicon.png +0 -0
  944. package/coverage/lcov-report/form/Option.tsx.html +0 -727
  945. package/coverage/lcov-report/form/index.html +0 -131
  946. package/coverage/lcov-report/form/useListboxProvider.ts.html +0 -253
  947. package/coverage/lcov-report/index.html +0 -146
  948. package/coverage/lcov-report/prettify.css +0 -1
  949. package/coverage/lcov-report/prettify.js +0 -2
  950. package/coverage/lcov-report/searching/fuzzy.ts.html +0 -607
  951. package/coverage/lcov-report/searching/index.html +0 -116
  952. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  953. package/coverage/lcov-report/sorter.js +0 -196
  954. package/coverage/lcov-report/src/card/Card.tsx.html +0 -349
  955. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +0 -277
  956. package/coverage/lcov-report/src/card/index.html +0 -146
  957. package/coverage/lcov-report/src/card/styles.ts.html +0 -682
  958. package/coverage/lcov-report/src/cssUtils.ts.html +0 -787
  959. package/coverage/lcov-report/src/index.html +0 -116
  960. package/coverage/lcov-report/src/transition/index.html +0 -116
  961. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +0 -766
  962. package/coverage/lcov-report/transition/index.html +0 -116
  963. package/coverage/lcov-report/transition/useCSSTransition.ts.html +0 -766
  964. package/coverage/lcov-report/typography/SrOnly.tsx.html +0 -325
  965. package/coverage/lcov-report/typography/index.html +0 -116
  966. package/coverage/lcov-report/utils.ts.html +0 -1225
  967. package/coverage/lcov.info +0 -952
  968. package/dist/autocomplete/FilterAutocompleteOptions.d.ts +0 -8
  969. package/dist/autocomplete/FilterAutocompleteOptions.js +0 -57
  970. package/dist/autocomplete/FilterAutocompleteOptions.js.map +0 -1
  971. package/dist/dialog/DialogContainer.d.ts +0 -16
  972. package/dist/dialog/DialogContainer.js +0 -22
  973. package/dist/dialog/DialogContainer.js.map +0 -1
  974. package/dist/form/FileInput.js.map +0 -1
  975. package/dist/form/fileUtils.js.map +0 -1
  976. package/dist/form/useFileUpload.js.map +0 -1
  977. package/dist/form/useListboxProvider.d.ts +0 -31
  978. package/dist/form/useListboxProvider.js.map +0 -1
  979. package/dist/navigation/getHrefFromParents.d.ts +0 -5
  980. package/dist/navigation/getHrefFromParents.js +0 -13
  981. package/dist/navigation/getHrefFromParents.js.map +0 -1
  982. package/dist/responsive-item/ResponsiveItemContainer.d.ts +0 -117
  983. package/dist/responsive-item/ResponsiveItemContainer.js +0 -82
  984. package/dist/responsive-item/ResponsiveItemContainer.js.map +0 -1
  985. package/dist/responsive-item/styles.d.ts +0 -34
  986. package/dist/responsive-item/styles.js +0 -17
  987. package/dist/responsive-item/styles.js.map +0 -1
  988. package/dist/theme/usePrefersColorScheme.js.map +0 -1
  989. package/jest.config.ts +0 -68
  990. package/jest.setup.ts +0 -3
  991. package/scripts/copySassFiles.ts +0 -70
  992. package/scripts/getExportMap.ts +0 -66
  993. package/scripts/tsconfig.json +0 -18
  994. package/src/__tests__/NoSsr.node.tsx +0 -26
  995. package/src/__tests__/NoSsr.tsx +0 -89
  996. package/src/__tests__/RootHtml.node.tsx +0 -46
  997. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +0 -19
  998. package/src/__tests__/useAsyncFunction.tsx +0 -124
  999. package/src/__tests__/useDebouncedFunction.tsx +0 -108
  1000. package/src/__tests__/useDropzone.tsx +0 -131
  1001. package/src/__tests__/useElementSize.tsx +0 -181
  1002. package/src/__tests__/useEnsuredId.tsx +0 -25
  1003. package/src/__tests__/useEnsuredState.tsx +0 -74
  1004. package/src/__tests__/useHtmlClassName.tsx +0 -54
  1005. package/src/__tests__/useLocalStorage.tsx +0 -377
  1006. package/src/__tests__/useOrientation.node.tsx +0 -20
  1007. package/src/__tests__/useOrientation.tsx +0 -63
  1008. package/src/__tests__/useResizeObserver.tsx +0 -258
  1009. package/src/__tests__/useThrottledFunction.tsx +0 -226
  1010. package/src/__tests__/useToggle.tsx +0 -78
  1011. package/src/__tests__/useWindowSize.node.tsx +0 -56
  1012. package/src/__tests__/useWindowSize.tsx +0 -155
  1013. package/src/_box-shadows.scss +0 -219
  1014. package/src/_core.scss +0 -432
  1015. package/src/_utils.scss +0 -348
  1016. package/src/app-bar/__tests__/AppBar.tsx +0 -121
  1017. package/src/app-bar/__tests__/AppBarTitle.tsx +0 -39
  1018. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +0 -186
  1019. package/src/app-bar/__tests__/__snapshots__/AppBarTitle.tsx.snap +0 -47
  1020. package/src/app-bar/_app-bar.scss +0 -248
  1021. package/src/autocomplete/FilterAutocompleteOptions.tsx +0 -86
  1022. package/src/autocomplete/__tests__/Autocomplete.tsx +0 -458
  1023. package/src/autocomplete/__tests__/__snapshots__/Autocomplete.tsx.snap +0 -144
  1024. package/src/autocomplete/_autocomplete.scss +0 -75
  1025. package/src/avatar/__tests__/Avatar.tsx +0 -75
  1026. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +0 -73
  1027. package/src/avatar/_avatar.scss +0 -157
  1028. package/src/badge/__tests__/Badge.tsx +0 -42
  1029. package/src/badge/__tests__/__snapshots__/Badge.tsx.snap +0 -54
  1030. package/src/badge/_badge.scss +0 -145
  1031. package/src/box/__tests__/Box.tsx +0 -158
  1032. package/src/box/__tests__/__snapshots__/Box.tsx.snap +0 -544
  1033. package/src/box/_box.scss +0 -168
  1034. package/src/button/__tests__/AsyncButton.tsx +0 -211
  1035. package/src/button/__tests__/Button.tsx +0 -198
  1036. package/src/button/__tests__/ButtonUnstyled.tsx +0 -37
  1037. package/src/button/__tests__/TooltippedButton.tsx +0 -60
  1038. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +0 -418
  1039. package/src/button/__tests__/__snapshots__/Button.tsx.snap +0 -573
  1040. package/src/button/__tests__/__snapshots__/ButtonUnstyled.tsx.snap +0 -22
  1041. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +0 -26
  1042. package/src/button/__tests__/__snapshots__/buttonStyles.ts.snap +0 -11
  1043. package/src/button/__tests__/buttonStyles.ts +0 -15
  1044. package/src/button/_button.scss +0 -330
  1045. package/src/card/__tests__/Card.tsx +0 -37
  1046. package/src/card/__tests__/CardContent.tsx +0 -40
  1047. package/src/card/__tests__/CardFooter.tsx +0 -34
  1048. package/src/card/__tests__/CardHeader.tsx +0 -66
  1049. package/src/card/__tests__/CardSubtitle.tsx +0 -30
  1050. package/src/card/__tests__/CardTitle.tsx +0 -30
  1051. package/src/card/__tests__/ClickableCard.tsx +0 -66
  1052. package/src/card/__tests__/__snapshots__/Card.tsx.snap +0 -40
  1053. package/src/card/__tests__/__snapshots__/CardContent.tsx.snap +0 -50
  1054. package/src/card/__tests__/__snapshots__/CardFooter.tsx.snap +0 -30
  1055. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +0 -74
  1056. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +0 -18
  1057. package/src/card/__tests__/__snapshots__/CardTitle.tsx.snap +0 -18
  1058. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +0 -20
  1059. package/src/card/__tests__/__snapshots__/styles.ts.snap +0 -13
  1060. package/src/card/__tests__/styles.ts +0 -45
  1061. package/src/card/_card.scss +0 -189
  1062. package/src/chip/__tests__/Chip.tsx +0 -327
  1063. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +0 -597
  1064. package/src/chip/__tests__/__snapshots__/styles.ts.snap +0 -5
  1065. package/src/chip/__tests__/styles.ts +0 -14
  1066. package/src/chip/_chip.scss +0 -324
  1067. package/src/dialog/DialogContainer.tsx +0 -30
  1068. package/src/dialog/__tests__/Dialog.tsx +0 -316
  1069. package/src/dialog/__tests__/DialogContent.tsx +0 -53
  1070. package/src/dialog/__tests__/DialogFooter.tsx +0 -70
  1071. package/src/dialog/__tests__/DialogHeader.tsx +0 -37
  1072. package/src/dialog/__tests__/DialogTitle.tsx +0 -41
  1073. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +0 -84
  1074. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +0 -36
  1075. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +0 -186
  1076. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +0 -18
  1077. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +0 -26
  1078. package/src/dialog/_dialog.scss +0 -273
  1079. package/src/divider/__tests__/Divider.tsx +0 -36
  1080. package/src/divider/__tests__/__snapshots__/Divider.tsx.snap +0 -26
  1081. package/src/divider/_divider.scss +0 -124
  1082. package/src/draggable/__tests__/__snapshots__/useDraggable.tsx.snap +0 -49
  1083. package/src/draggable/__tests__/useDraggable.tsx +0 -540
  1084. package/src/draggable/_draggable.scss +0 -29
  1085. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +0 -290
  1086. package/src/expansion-panel/__tests__/__snapshots__/ExpansionPanel.tsx.snap +0 -197
  1087. package/src/expansion-panel/_expansion-panel.scss +0 -107
  1088. package/src/focus/__tests__/useFocusContainer.tsx +0 -280
  1089. package/src/form/__tests__/Checkbox.tsx +0 -42
  1090. package/src/form/__tests__/Fieldset.tsx +0 -44
  1091. package/src/form/__tests__/FileInput.tsx +0 -120
  1092. package/src/form/__tests__/Label.tsx +0 -69
  1093. package/src/form/__tests__/Legend.tsx +0 -34
  1094. package/src/form/__tests__/MenuItemCheckbox.tsx +0 -53
  1095. package/src/form/__tests__/MenuItemRadio.tsx +0 -53
  1096. package/src/form/__tests__/Radio.tsx +0 -35
  1097. package/src/form/__tests__/Select.tsx +0 -439
  1098. package/src/form/__tests__/Switch.tsx +0 -152
  1099. package/src/form/__tests__/TextArea.tsx +0 -433
  1100. package/src/form/__tests__/TextField.tsx +0 -195
  1101. package/src/form/__tests__/__snapshots__/Checkbox.tsx.snap +0 -99
  1102. package/src/form/__tests__/__snapshots__/Fieldset.tsx.snap +0 -58
  1103. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +0 -612
  1104. package/src/form/__tests__/__snapshots__/Label.tsx.snap +0 -140
  1105. package/src/form/__tests__/__snapshots__/Legend.tsx.snap +0 -30
  1106. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +0 -96
  1107. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +0 -96
  1108. package/src/form/__tests__/__snapshots__/Radio.tsx.snap +0 -99
  1109. package/src/form/__tests__/__snapshots__/Select.tsx.snap +0 -492
  1110. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +0 -428
  1111. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +0 -548
  1112. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +0 -279
  1113. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +0 -481
  1114. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +0 -704
  1115. package/src/form/__tests__/useCheckboxGroup.tsx +0 -292
  1116. package/src/form/__tests__/useFileUpload.tsx +0 -289
  1117. package/src/form/__tests__/useFormReset.tsx +0 -194
  1118. package/src/form/__tests__/useRadioGroup.tsx +0 -227
  1119. package/src/form/__tests__/utils.ts +0 -247
  1120. package/src/form/_form.scss +0 -2190
  1121. package/src/form/useListboxProvider.ts +0 -45
  1122. package/src/icon/__tests__/FontIcon.tsx +0 -45
  1123. package/src/icon/__tests__/IconRotator.tsx +0 -120
  1124. package/src/icon/__tests__/MaterialIcon.tsx +0 -79
  1125. package/src/icon/__tests__/MaterialSymbol.tsx +0 -100
  1126. package/src/icon/__tests__/SVGIcon.tsx +0 -40
  1127. package/src/icon/__tests__/TextIconSpacing.tsx +0 -108
  1128. package/src/icon/__tests__/__snapshots__/FontIcon.tsx.snap +0 -35
  1129. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +0 -165
  1130. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +0 -82
  1131. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +0 -42
  1132. package/src/icon/__tests__/__snapshots__/SVGIcon.tsx.snap +0 -47
  1133. package/src/icon/__tests__/__snapshots__/TextIconSpacing.tsx.snap +0 -101
  1134. package/src/icon/__tests__/__snapshots__/styles.ts.snap +0 -29
  1135. package/src/icon/__tests__/styles.ts +0 -28
  1136. package/src/icon/_icon.scss +0 -213
  1137. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +0 -121
  1138. package/src/interaction/__tests__/__snapshots__/useHigherContrastChildren.tsx.snap +0 -79
  1139. package/src/interaction/__tests__/useHigherContrastChildren.tsx +0 -97
  1140. package/src/interaction/_interaction.scss +0 -436
  1141. package/src/layout/__tests__/LayoutAppBar.tsx +0 -117
  1142. package/src/layout/__tests__/LayoutNav.tsx +0 -78
  1143. package/src/layout/__tests__/LayoutWindowSplitter.tsx +0 -63
  1144. package/src/layout/__tests__/Main.tsx +0 -51
  1145. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +0 -78
  1146. package/src/layout/__tests__/__snapshots__/LayoutNav.tsx.snap +0 -31
  1147. package/src/layout/__tests__/__snapshots__/LayoutWindowSplitter.tsx.snap +0 -60
  1148. package/src/layout/__tests__/__snapshots__/Main.tsx.snap +0 -32
  1149. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +0 -116
  1150. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +0 -676
  1151. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +0 -95
  1152. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +0 -141
  1153. package/src/layout/__tests__/useExpandableLayout.tsx +0 -279
  1154. package/src/layout/__tests__/useLayoutTree.tsx +0 -212
  1155. package/src/layout/__tests__/useResizableLayout.tsx +0 -170
  1156. package/src/layout/__tests__/useTemporaryLayout.tsx +0 -109
  1157. package/src/layout/_layout.scss +0 -163
  1158. package/src/link/__tests__/Link.tsx +0 -31
  1159. package/src/link/__tests__/SkipToMainContent.tsx +0 -125
  1160. package/src/link/__tests__/__snapshots__/Link.tsx.snap +0 -20
  1161. package/src/link/__tests__/__snapshots__/SkipToMainContent.tsx.snap +0 -22
  1162. package/src/link/_link.scss +0 -149
  1163. package/src/list/__tests__/List.tsx +0 -58
  1164. package/src/list/__tests__/ListItem.tsx +0 -280
  1165. package/src/list/__tests__/ListItemLink.tsx +0 -89
  1166. package/src/list/__tests__/ListSubheader.tsx +0 -81
  1167. package/src/list/__tests__/__snapshots__/List.tsx.snap +0 -41
  1168. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +0 -414
  1169. package/src/list/__tests__/__snapshots__/ListItemLink.tsx.snap +0 -73
  1170. package/src/list/__tests__/__snapshots__/ListSubheader.tsx.snap +0 -99
  1171. package/src/list/__tests__/getListItemHeight.ts +0 -176
  1172. package/src/list/_list.scss +0 -322
  1173. package/src/media-queries/__tests__/AppSizeProvider.node.tsx +0 -37
  1174. package/src/media-queries/__tests__/AppSizeProvider.tsx +0 -119
  1175. package/src/media-queries/__tests__/useMediaQuery.node.tsx +0 -20
  1176. package/src/media-queries/__tests__/useMediaQuery.tsx +0 -59
  1177. package/src/media-queries/_media-queries.scss +0 -63
  1178. package/src/menu/__tests__/DropdownMenu.tsx +0 -627
  1179. package/src/menu/__tests__/MenuBar.tsx +0 -354
  1180. package/src/menu/__tests__/MenuItemCircularProgress.tsx +0 -39
  1181. package/src/menu/__tests__/MenuVisibilityProvider.tsx +0 -34
  1182. package/src/menu/__tests__/__snapshots__/DropdownMenu.tsx.snap +0 -292
  1183. package/src/menu/__tests__/__snapshots__/MenuBar.tsx.snap +0 -87
  1184. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +0 -68
  1185. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +0 -54
  1186. package/src/menu/__tests__/useContextMenu.tsx +0 -41
  1187. package/src/menu/__tests__/utils.ts +0 -121
  1188. package/src/menu/_menu.scss +0 -116
  1189. package/src/movement/__tests__/findMatchIndex.ts +0 -244
  1190. package/src/movement/__tests__/utils.ts +0 -710
  1191. package/src/navigation/__tests__/Navigation.tsx +0 -97
  1192. package/src/navigation/__tests__/__snapshots__/Navigation.tsx.snap +0 -165
  1193. package/src/navigation/_navigation.scss +0 -99
  1194. package/src/navigation/getHrefFromParents.ts +0 -15
  1195. package/src/overlay/__tests__/Overlay.tsx +0 -198
  1196. package/src/overlay/__tests__/__snapshots__/Overlay.tsx.snap +0 -77
  1197. package/src/overlay/_overlay.scss +0 -74
  1198. package/src/portal/__tests__/PortalContainerProvider.node.tsx +0 -26
  1199. package/src/portal/__tests__/PortalContainerProvider.tsx +0 -84
  1200. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -87
  1201. package/src/positioning/__tests__/createHorizontalPosition.ts +0 -777
  1202. package/src/positioning/__tests__/createVerticalPosition.ts +0 -464
  1203. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -205
  1204. package/src/positioning/__tests__/utils.ts +0 -1311
  1205. package/src/progress/__tests__/CircularProgress.tsx +0 -153
  1206. package/src/progress/__tests__/LinearProgress.tsx +0 -131
  1207. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +0 -499
  1208. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +0 -321
  1209. package/src/progress/__tests__/getProgressA11y.ts +0 -16
  1210. package/src/progress/_progress.scss +0 -577
  1211. package/src/responsive-item/ResponsiveItemContainer.tsx +0 -176
  1212. package/src/responsive-item/__tests__/ResponsiveItemContainer.tsx +0 -56
  1213. package/src/responsive-item/__tests__/ResponsiveItemOverlay.tsx +0 -66
  1214. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemContainer.tsx.snap +0 -85
  1215. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemOverlay.tsx.snap +0 -151
  1216. package/src/responsive-item/__tests__/__snapshots__/styles.ts.snap +0 -9
  1217. package/src/responsive-item/__tests__/styles.ts +0 -32
  1218. package/src/responsive-item/_responsive-item.scss +0 -199
  1219. package/src/responsive-item/styles.ts +0 -58
  1220. package/src/searching/__tests__/caseInsensitive.ts +0 -165
  1221. package/src/searching/__tests__/fuzzy.ts +0 -169
  1222. package/src/searching/__tests__/toSearchQuery.ts +0 -21
  1223. package/src/searching/__tests__/useFuzzyMatch.tsx +0 -200
  1224. package/src/segmented-button/__tests__/SegmentedButton.tsx +0 -61
  1225. package/src/segmented-button/__tests__/SegmentedButtonContainer.tsx +0 -38
  1226. package/src/segmented-button/__tests__/__snapshots__/SegmentedButton.tsx.snap +0 -116
  1227. package/src/segmented-button/__tests__/__snapshots__/SegmentedButtonContainer.tsx.snap +0 -22
  1228. package/src/segmented-button/_segmented-button.scss +0 -208
  1229. package/src/sheet/_sheet.scss +0 -189
  1230. package/src/snackbar/__tests__/Snackbar.tsx +0 -85
  1231. package/src/snackbar/__tests__/Toast.tsx +0 -105
  1232. package/src/snackbar/__tests__/ToastActionButton.tsx +0 -112
  1233. package/src/snackbar/__tests__/ToastCloseButton.tsx +0 -140
  1234. package/src/snackbar/__tests__/ToastContent.tsx +0 -88
  1235. package/src/snackbar/__tests__/ToastManagerProvider.tsx +0 -852
  1236. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +0 -176
  1237. package/src/snackbar/__tests__/__snapshots__/Toast.tsx.snap +0 -52
  1238. package/src/snackbar/__tests__/__snapshots__/ToastActionButton.tsx.snap +0 -36
  1239. package/src/snackbar/__tests__/__snapshots__/ToastCloseButton.tsx.snap +0 -104
  1240. package/src/snackbar/__tests__/__snapshots__/ToastContent.tsx.snap +0 -26
  1241. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +0 -290
  1242. package/src/snackbar/_snackbar.scss +0 -266
  1243. package/src/suspense/__tests__/CircularProgressSuspense.tsx +0 -90
  1244. package/src/suspense/__tests__/NullSuspense.tsx +0 -46
  1245. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +0 -24
  1246. package/src/table/__tests__/Table.tsx +0 -315
  1247. package/src/table/__tests__/TableBody.tsx +0 -52
  1248. package/src/table/__tests__/TableCheckbox.tsx +0 -89
  1249. package/src/table/__tests__/TableContainer.tsx +0 -31
  1250. package/src/table/__tests__/TableRadio.tsx +0 -112
  1251. package/src/table/__tests__/TableRow.tsx +0 -63
  1252. package/src/table/__tests__/__snapshots__/Table.tsx.snap +0 -2426
  1253. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +0 -54
  1254. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +0 -142
  1255. package/src/table/__tests__/__snapshots__/TableContainer.tsx.snap +0 -16
  1256. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +0 -138
  1257. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +0 -56
  1258. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +0 -3
  1259. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +0 -3
  1260. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +0 -3
  1261. package/src/table/__tests__/tableContainerStyles.ts +0 -8
  1262. package/src/table/__tests__/tableRowStyles.ts +0 -8
  1263. package/src/table/__tests__/tableStyles.ts +0 -8
  1264. package/src/table/_table.scss +0 -447
  1265. package/src/tabs/__tests__/Tab.tsx +0 -51
  1266. package/src/tabs/__tests__/TabList.tsx +0 -640
  1267. package/src/tabs/__tests__/__snapshots__/Tab.tsx.snap +0 -85
  1268. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +0 -51
  1269. package/src/tabs/__tests__/useTabs.tsx +0 -212
  1270. package/src/tabs/_tabs.scss +0 -273
  1271. package/src/test-utils/__tests__/ResizeObserver.ts +0 -171
  1272. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +0 -162
  1273. package/src/theme/__tests__/ThemeProvider.tsx +0 -90
  1274. package/src/theme/__tests__/__snapshots__/useCSSVariables.tsx.snap +0 -27
  1275. package/src/theme/__tests__/__snapshots__/useColorSchemeMetaTag.tsx.snap +0 -15
  1276. package/src/theme/__tests__/useCSSVariables.tsx +0 -177
  1277. package/src/theme/__tests__/useColorSchemeMetaTag.tsx +0 -36
  1278. package/src/theme/__tests__/utils.ts +0 -67
  1279. package/src/theme/_a11y.scss +0 -114
  1280. package/src/theme/_colors.scss +0 -1057
  1281. package/src/theme/_theme.scss +0 -520
  1282. package/src/tooltip/__tests__/Tooltip.tsx +0 -501
  1283. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +0 -94
  1284. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -34
  1285. package/src/tooltip/__tests__/utils.ts +0 -94
  1286. package/src/tooltip/_tooltip.scss +0 -155
  1287. package/src/transition/__tests__/CSSTransition.tsx +0 -182
  1288. package/src/transition/__tests__/Collapse.tsx +0 -209
  1289. package/src/transition/__tests__/CrossFade.tsx +0 -227
  1290. package/src/transition/__tests__/ScaleTransition.tsx +0 -204
  1291. package/src/transition/__tests__/SkeletonPlaceholder.tsx +0 -72
  1292. package/src/transition/__tests__/__snapshots__/CSSTransition.tsx.snap +0 -145
  1293. package/src/transition/__tests__/__snapshots__/Collapse.tsx.snap +0 -224
  1294. package/src/transition/__tests__/__snapshots__/CrossFade.tsx.snap +0 -240
  1295. package/src/transition/__tests__/__snapshots__/ScaleTransition.tsx.snap +0 -239
  1296. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +0 -24
  1297. package/src/transition/__tests__/__snapshots__/useCollapseTransition.tsx.snap +0 -361
  1298. package/src/transition/__tests__/__snapshots__/useCrossFadeTransition.tsx.snap +0 -258
  1299. package/src/transition/__tests__/__snapshots__/useMaxWidthTransition.tsx.snap +0 -68
  1300. package/src/transition/__tests__/__snapshots__/useScaleTransition.tsx.snap +0 -209
  1301. package/src/transition/__tests__/useCSSTransition.tsx +0 -190
  1302. package/src/transition/__tests__/useCollapseTransition.tsx +0 -316
  1303. package/src/transition/__tests__/useCrossFadeTransition.tsx +0 -229
  1304. package/src/transition/__tests__/useMaxWidthTransition.tsx +0 -123
  1305. package/src/transition/__tests__/useScaleTransition.tsx +0 -212
  1306. package/src/transition/__tests__/useTransition.tsx +0 -569
  1307. package/src/transition/__tests__/utils.ts +0 -620
  1308. package/src/transition/_transition.scss +0 -365
  1309. package/src/tree/__tests__/Tree.tsx +0 -735
  1310. package/src/tree/__tests__/TreeGroup.tsx +0 -76
  1311. package/src/tree/__tests__/TreeItemExpander.tsx +0 -74
  1312. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +0 -3618
  1313. package/src/tree/__tests__/__snapshots__/TreeItemExpander.tsx.snap +0 -11
  1314. package/src/tree/__tests__/utils.ts +0 -98
  1315. package/src/tree/_tree.scss +0 -176
  1316. package/src/typography/__tests__/SrOnly.tsx +0 -43
  1317. package/src/typography/__tests__/TextContainer.tsx +0 -45
  1318. package/src/typography/__tests__/Typography.tsx +0 -87
  1319. package/src/typography/__tests__/WritingDirectionProvider.node.tsx +0 -27
  1320. package/src/typography/__tests__/WritingDirectionProvider.tsx +0 -119
  1321. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +0 -56
  1322. package/src/typography/__tests__/__snapshots__/TextContainer.tsx.snap +0 -29
  1323. package/src/typography/__tests__/__snapshots__/Typography.tsx.snap +0 -112
  1324. package/src/typography/_typography.scss +0 -399
  1325. package/src/utils/__tests__/RenderRecursively.tsx +0 -87
  1326. package/src/utils/__tests__/__snapshots__/RenderRecursively.tsx.snap +0 -80
  1327. package/src/utils/__tests__/applyRef.ts +0 -30
  1328. package/src/utils/__tests__/bem.ts +0 -54
  1329. package/src/utils/__tests__/getMiddleOfRange.ts +0 -12
  1330. package/src/utils/__tests__/getPercentage.ts +0 -104
  1331. package/src/utils/__tests__/getRangeDefaultValue.ts +0 -47
  1332. package/src/utils/__tests__/getRangeSteps.ts +0 -14
  1333. package/src/utils/__tests__/loop.ts +0 -50
  1334. package/src/utils/__tests__/nearest.ts +0 -83
  1335. package/src/utils/__tests__/parseCssLengthUnit.node.ts +0 -28
  1336. package/src/utils/__tests__/parseCssLengthUnit.ts +0 -47
  1337. package/src/utils/__tests__/wait.ts +0 -12
  1338. package/src/utils/__tests__/withinRange.ts +0 -24
  1339. package/src/window-splitter/_window-splitter.scss +0 -143
  1340. package/tsconfig.json +0 -19
  1341. package/tsconfig.types.json +0 -12
  1342. package/tsdoc.json +0 -14
  1343. /package/dist/theme/{usePrefersColorScheme.d.ts → usePrefersDarkScheme.d.ts} +0 -0
  1344. /package/src/theme/{usePrefersColorScheme.ts → usePrefersDarkScheme.ts} +0 -0
@@ -1,85 +1,14 @@
1
- import { type AriaAttributes, type ReactElement, type Ref } from "react";
2
- import { type TextFieldProps } from "../form/TextField.js";
3
- import { type ConfigurableComboboxMenuProps } from "../form/useCombobox.js";
4
- import { type KeyboardMovementFocusChangeEventHandler } from "../movement/types.js";
5
- import { type PropsWithRef, type TextExtractor } from "../types.js";
6
- import { type AutocompleteCircularProgressProps } from "./AutocompleteCircularProgress.js";
7
- import { type ConfigurableAutocompleteDropdownButtonProps } from "./AutocompleteDropdownButton.js";
8
- import { type AutocompleteMenuLabel, type AutocompleteOptionsProps } from "./types.js";
1
+ import { type ReactElement } from "react";
2
+ import { type AutocompleteMultiSelectProps, type AutocompleteOption, type AutocompleteSingleSelectProps } from "./types.js";
9
3
  /**
4
+ * This is the single select autocomplete implementation.
5
+ *
10
6
  * @since 6.0.0
11
7
  */
12
- export interface AutocompleteProps<T> extends Omit<TextFieldProps, "value" | "defaultValue">, AutocompleteOptionsProps<T> {
13
- /** @defaultValue `"list"` */
14
- "aria-autocomplete"?: AriaAttributes["aria-autocomplete"];
15
- inputRef?: Ref<HTMLInputElement>;
16
- value?: string;
17
- defaultValue?: string;
18
- /**
19
- * An `aria-label` to pass to the `Menu` component that describes the list of
20
- * {@link options}. Either this or the {@link menuLabelledBy} are required for
21
- * accessibility.
22
- */
23
- menuLabel?: string;
24
- /**
25
- * An `aria-labelledby` to pass to the `Menu` component that describes the
26
- * list of {@link options}. Either this or the {@link menuLabel} are required
27
- * for accessibility.
28
- */
29
- menuLabelledBy?: string;
30
- /**
31
- * Any additional props that should be passed to the `Menu` component.
32
- */
33
- menuProps?: PropsWithRef<ConfigurableComboboxMenuProps & {
34
- id?: string;
35
- }, HTMLDivElement>;
36
- /**
37
- * This prop should only be used when `aria-autocomplete` is set to
38
- * `"inline"` or `"both"`.
39
- */
40
- onFocusChange?: KeyboardMovementFocusChangeEventHandler;
41
- /**
42
- * This can be used to add any custom styling, change the icon, change the
43
- * label, etc for the dropdown button.
44
- *
45
- * @example Simple Example
46
- * ```tsx
47
- * dropdownButtonProps={{
48
- * "aria-label": "Open",
49
- * className: styles.dropdownButton,
50
- * icon: <MyCustomDropdownIcon />,
51
- * }}
52
- * ```
53
- */
54
- dropdownButtonProps?: ConfigurableAutocompleteDropdownButtonProps;
55
- /**
56
- * Set this to `true` to remove the {@link DropdownButton} from being rendered
57
- * after the input element.
58
- *
59
- * @defaultValue `false`
60
- */
61
- disableDropdownButton?: boolean;
62
- /**
63
- * Set this to `true` to disable a `<CircularProgress />` after the input and
64
- * before the `<DropdownButton />`.
65
- *
66
- * @defaultValue `false`
67
- */
68
- loading?: boolean;
69
- /**
70
- * @defaultValue `{ "aria-label": "Loading", ...loadingProps }`
71
- */
72
- loadingProps?: AutocompleteCircularProgressProps;
73
- }
8
+ export declare function Autocomplete<Option extends AutocompleteOption>(props: AutocompleteSingleSelectProps<Option>): ReactElement;
74
9
  /**
10
+ * This is the multiselect autocomplete implementation.
11
+ *
75
12
  * @since 6.0.0
76
13
  */
77
- export declare function Autocomplete<T extends string | {
78
- label: string;
79
- }>(props: AutocompleteMenuLabel<Omit<AutocompleteProps<T>, "extractor">>): ReactElement;
80
- /**
81
- * @since 6.0.0
82
- */
83
- export declare function Autocomplete<T>(props: AutocompleteMenuLabel<AutocompleteProps<T> & {
84
- extractor: TextExtractor<T>;
85
- }>): ReactElement;
14
+ export declare function Autocomplete<Option extends AutocompleteOption>(props: AutocompleteMultiSelectProps<Option>): ReactElement;
@@ -1,100 +1,140 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useEffect } from "react";
3
+ import { Listbox } from "../form/Listbox.js";
4
4
  import { TextField } from "../form/TextField.js";
5
- import { useEditableCombobox } from "../form/useEditableCombobox.js";
6
- import { Menu } from "../menu/Menu.js";
5
+ import { ListSubheader } from "../list/ListSubheader.js";
7
6
  import { KeyboardMovementProvider } from "../movement/useKeyboardMovementProvider.js";
8
7
  import { useEnsuredId } from "../useEnsuredId.js";
9
8
  import { useEnsuredRef } from "../useEnsuredRef.js";
10
- import { useEnsuredState } from "../useEnsuredState.js";
9
+ import { AutocompleteChip } from "./AutocompleteChip.js";
11
10
  import { AutocompleteCircularProgress } from "./AutocompleteCircularProgress.js";
11
+ import { AutocompleteClearButton } from "./AutocompleteClearButton.js";
12
12
  import { AutocompleteDropdownButton } from "./AutocompleteDropdownButton.js";
13
- import { FilterAutocompleteOptions } from "./FilterAutocompleteOptions.js";
13
+ import { AutocompleteListboxChildren } from "./AutocompleteListboxChildren.js";
14
14
  import { autocomplete, autocompleteRightAddon } from "./autocompleteStyles.js";
15
- const noop = ()=>{
16
- // do nothing
17
- };
18
- export function Autocomplete(props) {
19
- const { id: propId, value: propValue, defaultValue = "", onClick, onFocus, onKeyDown, onChange = noop, onFocusChange, className, options, children, inputRef, extractor, onAutocomplete = noop, getOptionProps, clearOnAutocomplete, menuProps, menuLabel, menuLabelledBy, containerProps, filter, whitespace, disableFilter, noOptionsChildren, dropdownButtonProps, disableDropdownButton, loading, loadingProps, rightAddon, rightAddonProps, ...remaining } = props;
20
- const { form } = props;
15
+ import { defaultAutocompleteFilter, noopAutocompleteFilter } from "./defaults.js";
16
+ import { useAutocomplete } from "./useAutocomplete.js";
17
+ const noop = ()=>undefined;
18
+ /**
19
+ * @since 6.0.0
20
+ * @internal
21
+ */ export function Autocomplete(props) {
22
+ const { id: propId, onBlur, onFocus, onClick, onChange, onKeyDown, onOpen, type, className, inputRef, children, filter = type === "search" ? noopAutocompleteFilter : defaultAutocompleteFilter, filterSelected, value, setValue, defaultValue, onValueChange, query, setQuery, defaultQuery, options, getOptionLabel: propGetOptionLabel, getOptionProps: propGetOptionProps, allowAnyValue, listboxProps, listboxLabel, listboxLabelledBy, selectedIcon, unselectedIcon, selectedIconAfter, checkboxes, disableSelectedIcon, loading, loadingProps, dropdownButtonProps, disableDropdownButton, clearButtonProps, disableClearButton, noOptionsChildren = /*#__PURE__*/ _jsx(ListSubheader, {
23
+ children: "No Options"
24
+ }), leftAddon: propLeftAddon, disableLeftAddonStyles: propDisableLeftAddonStyles, labelProps, rightAddon, rightAddonProps, containerProps, getChipProps = noop, updateQueryOnSelect, visible, setVisible, defaultVisible, disableInlineChips, disableCloseOnSelect, ...remaining } = props;
25
+ const { form, disabled } = props;
21
26
  const id = useEnsuredId(propId, "autocomplete");
22
- const menuId = useEnsuredId(menuProps?.id, "autocomplete-listbox");
23
- const [query, setQuery] = useEnsuredState({
24
- value: propValue,
25
- setValue: typeof propValue === "string" ? noop : undefined,
26
- defaultValue
27
- });
28
- const { visible, setVisible, getMenuProps, comboboxRef, comboboxProps, movementContext } = useEditableCombobox({
27
+ const menuId = useEnsuredId(listboxProps?.id, "autocomplete-listbox");
28
+ const { query: currentQuery, value: currentValue, setValue: currentSetValue, multiselect, comboboxRef: inputNodeRef, comboboxProps, movementContext, availableOptions, getOptionLabel, getOptionProps, getListboxProps, getClearButtonProps, getDropdownButtonProps } = useAutocomplete({
29
29
  form,
30
- onClick,
30
+ onBlur,
31
31
  onFocus,
32
+ onClick,
33
+ onChange,
32
34
  onKeyDown,
33
- onFocusChange,
35
+ onOpen,
36
+ disabled,
37
+ filter,
38
+ filterSelected,
34
39
  popupId: menuId,
35
- popupRef: menuProps?.ref,
40
+ popupRef: listboxProps?.ref,
36
41
  comboboxId: id,
37
- comboboxRef: inputRef
42
+ comboboxRef: inputRef,
43
+ options,
44
+ getOptionLabel: propGetOptionLabel,
45
+ getOptionProps: propGetOptionProps,
46
+ allowAnyValue,
47
+ updateQueryOnSelect,
48
+ value,
49
+ setValue,
50
+ defaultValue,
51
+ onValueChange,
52
+ query,
53
+ setQuery,
54
+ defaultQuery,
55
+ defaultVisible,
56
+ visible,
57
+ setVisible,
58
+ checkboxes,
59
+ selectedIcon,
60
+ unselectedIcon,
61
+ selectedIconAfter,
62
+ disableSelectedIcon,
63
+ disableCloseOnSelect
38
64
  });
39
- const [containerNodeRef, containerRef] = useEnsuredRef(containerProps?.ref);
40
- useEffect(()=>{
41
- const input = comboboxRef.current;
42
- if (!input || document.activeElement !== input) {
43
- return;
44
- }
45
- const target = input.value.length;
46
- input.setSelectionRange(target, target);
47
- }, [
48
- comboboxRef,
49
- loading
50
- ]);
65
+ const [containerRef, containerRefCallback] = useEnsuredRef(containerProps?.ref);
66
+ let leftAddon = propLeftAddon;
67
+ let disableLeftAddonStyles = propDisableLeftAddonStyles;
68
+ let inlineChips = false;
69
+ let floatingActive = labelProps?.floatingActive;
70
+ if (multiselect && !disableInlineChips) {
71
+ inlineChips = true;
72
+ // TODO: Maybe one day fix the typing? Might not be possible with
73
+ // destructuring though
74
+ const value = currentValue;
75
+ disableLeftAddonStyles ??= true;
76
+ floatingActive ||= value.length > 0;
77
+ leftAddon = /*#__PURE__*/ _jsx(_Fragment, {
78
+ children: value.map((option, index)=>{
79
+ const label = getOptionLabel(option);
80
+ const overrides = getChipProps({
81
+ index,
82
+ query: currentQuery,
83
+ option,
84
+ extractor: getOptionLabel
85
+ });
86
+ return /*#__PURE__*/ _jsx(AutocompleteChip, {
87
+ ...overrides,
88
+ onClick: (event)=>{
89
+ overrides?.onClick?.(event);
90
+ currentSetValue(value.filter((v)=>v !== option));
91
+ },
92
+ children: overrides?.children ?? label
93
+ }, label);
94
+ })
95
+ });
96
+ }
51
97
  return /*#__PURE__*/ _jsxs(KeyboardMovementProvider, {
52
98
  value: movementContext,
53
99
  children: [
54
100
  /*#__PURE__*/ _jsx(TextField, {
55
- "aria-autocomplete": "list",
56
101
  ...remaining,
57
- value: query,
58
102
  ...comboboxProps,
59
103
  containerProps: {
60
104
  ...containerProps,
61
- ref: containerRef
105
+ ref: containerRefCallback,
106
+ onClick: (event)=>{
107
+ containerProps?.onClick?.(event);
108
+ inputNodeRef.current?.focus();
109
+ }
62
110
  },
63
111
  className: autocomplete({
64
112
  className,
65
113
  loading,
114
+ inlineChips,
115
+ disableClearButton,
66
116
  disableDropdownButton
67
117
  }),
68
- onChange: (event)=>{
69
- onChange(event);
70
- setQuery(event.currentTarget.value);
71
- },
72
- onKeyDown: (event)=>{
73
- comboboxProps.onKeyDown(event);
74
- if (!visible && event.key === "Escape") {
75
- onAutocomplete(null);
76
- }
77
- },
78
- onFocus: (event)=>{
79
- comboboxProps.onFocus(event);
80
- event.currentTarget.setSelectionRange(0, event.currentTarget.value.length);
118
+ labelProps: {
119
+ ...labelProps,
120
+ floatingActive
81
121
  },
122
+ leftAddon: leftAddon,
123
+ disableLeftAddonStyles: disableLeftAddonStyles,
82
124
  rightAddon: /*#__PURE__*/ _jsxs(_Fragment, {
83
125
  children: [
84
126
  rightAddon,
85
127
  loading && /*#__PURE__*/ _jsx(AutocompleteCircularProgress, {
86
128
  ...loadingProps
87
129
  }),
130
+ !disableClearButton && !!currentQuery && /*#__PURE__*/ _jsx(AutocompleteClearButton, {
131
+ ...clearButtonProps,
132
+ ...getClearButtonProps(clearButtonProps)
133
+ }),
88
134
  !disableDropdownButton && /*#__PURE__*/ _jsx(AutocompleteDropdownButton, {
89
- "aria-label": menuLabel,
90
- "aria-labelledby": menuLabelledBy,
91
- "aria-controls": comboboxProps.id,
92
- ...dropdownButtonProps,
93
- visible: visible,
94
- onClick: ()=>{
95
- comboboxRef.current?.focus();
96
- setVisible((prev)=>!prev);
97
- }
135
+ "aria-label": listboxLabel,
136
+ "aria-labelledby": listboxLabelledBy,
137
+ ...getDropdownButtonProps(dropdownButtonProps)
98
138
  })
99
139
  ]
100
140
  }),
@@ -106,30 +146,19 @@ export function Autocomplete(props) {
106
146
  })
107
147
  }
108
148
  }),
109
- /*#__PURE__*/ _jsxs(Menu, {
110
- "aria-label": menuLabel,
111
- "aria-labelledby": menuLabelledBy,
112
- ...getMenuProps(menuProps),
113
- // since the `afterInputChildren` is not included in the `comboboxRef`'s
114
- // width, the menu will no longer be equal width without changing the
115
- // fixedTo node to the container
116
- fixedTo: containerNodeRef,
117
- children: [
118
- children,
119
- /*#__PURE__*/ _jsx(FilterAutocompleteOptions, {
120
- query: query,
121
- filter: filter,
122
- options: options,
123
- noOptionsChildren: noOptionsChildren,
124
- extractor: extractor,
125
- whitespace: whitespace,
126
- comboboxRef: comboboxRef,
127
- disableFilter: disableFilter || props["aria-autocomplete"] === "none",
128
- getOptionProps: getOptionProps,
129
- onAutocomplete: onAutocomplete,
130
- clearOnAutocomplete: clearOnAutocomplete
131
- })
132
- ]
149
+ /*#__PURE__*/ _jsx(Listbox, {
150
+ "aria-label": listboxLabel,
151
+ "aria-labelledby": listboxLabelledBy,
152
+ ...getListboxProps(listboxProps),
153
+ fixedTo: containerRef,
154
+ children: /*#__PURE__*/ _jsx(AutocompleteListboxChildren, {
155
+ query: currentQuery,
156
+ options: availableOptions,
157
+ getOptionLabel: getOptionLabel,
158
+ getOptionProps: getOptionProps,
159
+ noOptionsChildren: noOptionsChildren,
160
+ children: children
161
+ })
133
162
  })
134
163
  ]
135
164
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/autocomplete/Autocomplete.tsx"],"sourcesContent":["\"use client\";\nimport {\n useEffect,\n type AriaAttributes,\n type ReactElement,\n type Ref,\n} from \"react\";\nimport { TextField, type TextFieldProps } from \"../form/TextField.js\";\nimport { type ConfigurableComboboxMenuProps } from \"../form/useCombobox.js\";\nimport { useEditableCombobox } from \"../form/useEditableCombobox.js\";\nimport { Menu } from \"../menu/Menu.js\";\nimport { type KeyboardMovementFocusChangeEventHandler } from \"../movement/types.js\";\nimport { KeyboardMovementProvider } from \"../movement/useKeyboardMovementProvider.js\";\nimport {\n type PropsWithRef,\n type TextExtractor,\n type UseStateSetter,\n} from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useEnsuredState } from \"../useEnsuredState.js\";\nimport {\n AutocompleteCircularProgress,\n type AutocompleteCircularProgressProps,\n} from \"./AutocompleteCircularProgress.js\";\nimport {\n AutocompleteDropdownButton,\n type ConfigurableAutocompleteDropdownButtonProps,\n} from \"./AutocompleteDropdownButton.js\";\nimport { FilterAutocompleteOptions } from \"./FilterAutocompleteOptions.js\";\nimport { autocomplete, autocompleteRightAddon } from \"./autocompleteStyles.js\";\nimport {\n type AutocompleteMenuLabel,\n type AutocompleteOptionsProps,\n} from \"./types.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteProps<T>\n extends Omit<TextFieldProps, \"value\" | \"defaultValue\">,\n AutocompleteOptionsProps<T> {\n /** @defaultValue `\"list\"` */\n \"aria-autocomplete\"?: AriaAttributes[\"aria-autocomplete\"];\n inputRef?: Ref<HTMLInputElement>;\n value?: string;\n defaultValue?: string;\n\n /**\n * An `aria-label` to pass to the `Menu` component that describes the list of\n * {@link options}. Either this or the {@link menuLabelledBy} are required for\n * accessibility.\n */\n menuLabel?: string;\n\n /**\n * An `aria-labelledby` to pass to the `Menu` component that describes the\n * list of {@link options}. Either this or the {@link menuLabel} are required\n * for accessibility.\n */\n menuLabelledBy?: string;\n\n /**\n * Any additional props that should be passed to the `Menu` component.\n */\n menuProps?: PropsWithRef<\n ConfigurableComboboxMenuProps & { id?: string },\n HTMLDivElement\n >;\n\n /**\n * This prop should only be used when `aria-autocomplete` is set to\n * `\"inline\"` or `\"both\"`.\n */\n onFocusChange?: KeyboardMovementFocusChangeEventHandler;\n\n /**\n * This can be used to add any custom styling, change the icon, change the\n * label, etc for the dropdown button.\n *\n * @example Simple Example\n * ```tsx\n * dropdownButtonProps={{\n * \"aria-label\": \"Open\",\n * className: styles.dropdownButton,\n * icon: <MyCustomDropdownIcon />,\n * }}\n * ```\n */\n dropdownButtonProps?: ConfigurableAutocompleteDropdownButtonProps;\n\n /**\n * Set this to `true` to remove the {@link DropdownButton} from being rendered\n * after the input element.\n *\n * @defaultValue `false`\n */\n disableDropdownButton?: boolean;\n\n /**\n * Set this to `true` to disable a `<CircularProgress />` after the input and\n * before the `<DropdownButton />`.\n *\n * @defaultValue `false`\n */\n loading?: boolean;\n\n /**\n * @defaultValue `{ \"aria-label\": \"Loading\", ...loadingProps }`\n */\n loadingProps?: AutocompleteCircularProgressProps;\n}\n\n/**\n * @since 6.0.0\n */\nexport function Autocomplete<T extends string | { label: string }>(\n props: AutocompleteMenuLabel<Omit<AutocompleteProps<T>, \"extractor\">>\n): ReactElement;\n/**\n * @since 6.0.0\n */\nexport function Autocomplete<T>(\n props: AutocompleteMenuLabel<\n AutocompleteProps<T> & { extractor: TextExtractor<T> }\n >\n): ReactElement;\nexport function Autocomplete<T>(\n props: AutocompleteMenuLabel<AutocompleteProps<T>>\n): ReactElement {\n const {\n id: propId,\n value: propValue,\n defaultValue = \"\",\n onClick,\n onFocus,\n onKeyDown,\n onChange = noop,\n onFocusChange,\n className,\n options,\n children,\n inputRef,\n extractor,\n onAutocomplete = noop,\n getOptionProps,\n clearOnAutocomplete,\n menuProps,\n menuLabel,\n menuLabelledBy,\n containerProps,\n filter,\n whitespace,\n disableFilter,\n noOptionsChildren,\n dropdownButtonProps,\n disableDropdownButton,\n loading,\n loadingProps,\n rightAddon,\n rightAddonProps,\n ...remaining\n } = props;\n\n const { form } = props;\n const id = useEnsuredId(propId, \"autocomplete\");\n const menuId = useEnsuredId(menuProps?.id, \"autocomplete-listbox\");\n\n const [query, setQuery] = useEnsuredState<string, UseStateSetter<string>>({\n value: propValue,\n setValue: typeof propValue === \"string\" ? noop : undefined,\n defaultValue,\n });\n\n const {\n visible,\n setVisible,\n getMenuProps,\n comboboxRef,\n comboboxProps,\n movementContext,\n } = useEditableCombobox({\n form,\n onClick,\n onFocus,\n onKeyDown,\n onFocusChange,\n popupId: menuId,\n popupRef: menuProps?.ref,\n comboboxId: id,\n comboboxRef: inputRef,\n });\n const [containerNodeRef, containerRef] = useEnsuredRef(containerProps?.ref);\n useEffect(() => {\n const input = comboboxRef.current;\n if (!input || document.activeElement !== input) {\n return;\n }\n\n const target = input.value.length;\n input.setSelectionRange(target, target);\n }, [comboboxRef, loading]);\n\n return (\n <KeyboardMovementProvider value={movementContext}>\n <TextField\n aria-autocomplete=\"list\"\n {...remaining}\n value={query}\n {...comboboxProps}\n containerProps={{\n ...containerProps,\n ref: containerRef,\n }}\n className={autocomplete({\n className,\n loading,\n disableDropdownButton,\n })}\n onChange={(event) => {\n onChange(event);\n setQuery(event.currentTarget.value);\n }}\n onKeyDown={(event) => {\n comboboxProps.onKeyDown(event);\n if (!visible && event.key === \"Escape\") {\n onAutocomplete(null);\n }\n }}\n onFocus={(event) => {\n comboboxProps.onFocus(event);\n event.currentTarget.setSelectionRange(\n 0,\n event.currentTarget.value.length\n );\n }}\n rightAddon={\n <>\n {rightAddon}\n {loading && <AutocompleteCircularProgress {...loadingProps} />}\n {!disableDropdownButton && (\n <AutocompleteDropdownButton\n aria-label={menuLabel}\n aria-labelledby={menuLabelledBy}\n aria-controls={comboboxProps.id}\n {...dropdownButtonProps}\n visible={visible}\n onClick={() => {\n comboboxRef.current?.focus();\n setVisible((prev) => !prev);\n }}\n />\n )}\n </>\n }\n rightAddonProps={{\n ...rightAddonProps,\n pointerEvents: true,\n className: autocompleteRightAddon({\n className: rightAddonProps?.className,\n }),\n }}\n />\n <Menu\n aria-label={menuLabel as string}\n aria-labelledby={menuLabelledBy}\n {...getMenuProps(menuProps)}\n // since the `afterInputChildren` is not included in the `comboboxRef`'s\n // width, the menu will no longer be equal width without changing the\n // fixedTo node to the container\n fixedTo={containerNodeRef}\n >\n {children}\n <FilterAutocompleteOptions\n query={query}\n filter={filter}\n options={options}\n noOptionsChildren={noOptionsChildren}\n extractor={extractor}\n whitespace={whitespace}\n comboboxRef={comboboxRef}\n disableFilter={disableFilter || props[\"aria-autocomplete\"] === \"none\"}\n getOptionProps={getOptionProps}\n onAutocomplete={onAutocomplete}\n clearOnAutocomplete={clearOnAutocomplete}\n />\n </Menu>\n </KeyboardMovementProvider>\n );\n}\n"],"names":["useEffect","TextField","useEditableCombobox","Menu","KeyboardMovementProvider","useEnsuredId","useEnsuredRef","useEnsuredState","AutocompleteCircularProgress","AutocompleteDropdownButton","FilterAutocompleteOptions","autocomplete","autocompleteRightAddon","noop","Autocomplete","props","id","propId","value","propValue","defaultValue","onClick","onFocus","onKeyDown","onChange","onFocusChange","className","options","children","inputRef","extractor","onAutocomplete","getOptionProps","clearOnAutocomplete","menuProps","menuLabel","menuLabelledBy","containerProps","filter","whitespace","disableFilter","noOptionsChildren","dropdownButtonProps","disableDropdownButton","loading","loadingProps","rightAddon","rightAddonProps","remaining","form","menuId","query","setQuery","setValue","undefined","visible","setVisible","getMenuProps","comboboxRef","comboboxProps","movementContext","popupId","popupRef","ref","comboboxId","containerNodeRef","containerRef","input","current","document","activeElement","target","length","setSelectionRange","aria-autocomplete","event","currentTarget","key","aria-label","aria-labelledby","aria-controls","focus","prev","pointerEvents","fixedTo"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/autocomplete/Autocomplete.tsx"],"sourcesContent":["\"use client\";\nimport { type ReactElement } from \"react\";\nimport { Listbox } from \"../form/Listbox.js\";\nimport { TextField } from \"../form/TextField.js\";\nimport { ListSubheader } from \"../list/ListSubheader.js\";\nimport { KeyboardMovementProvider } from \"../movement/useKeyboardMovementProvider.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { AutocompleteChip } from \"./AutocompleteChip.js\";\nimport { AutocompleteCircularProgress } from \"./AutocompleteCircularProgress.js\";\nimport { AutocompleteClearButton } from \"./AutocompleteClearButton.js\";\nimport { AutocompleteDropdownButton } from \"./AutocompleteDropdownButton.js\";\nimport { AutocompleteListboxChildren } from \"./AutocompleteListboxChildren.js\";\nimport { autocomplete, autocompleteRightAddon } from \"./autocompleteStyles.js\";\nimport {\n defaultAutocompleteFilter,\n noopAutocompleteFilter,\n} from \"./defaults.js\";\nimport {\n type AutocompleteMultiSelectProps,\n type AutocompleteOption,\n type AutocompleteProps,\n type AutocompleteSingleSelectProps,\n} from \"./types.js\";\nimport { useAutocomplete } from \"./useAutocomplete.js\";\n\nconst noop = (): undefined => undefined;\n\n/**\n * This is the single select autocomplete implementation.\n *\n * @since 6.0.0\n */\nexport function Autocomplete<Option extends AutocompleteOption>(\n props: AutocompleteSingleSelectProps<Option>\n): ReactElement;\n/**\n * This is the multiselect autocomplete implementation.\n *\n * @since 6.0.0\n */\nexport function Autocomplete<Option extends AutocompleteOption>(\n props: AutocompleteMultiSelectProps<Option>\n): ReactElement;\n/**\n * @since 6.0.0\n * @internal\n */\nexport function Autocomplete<Option extends AutocompleteOption>(\n props: AutocompleteProps<Option>\n): ReactElement {\n const {\n id: propId,\n onBlur,\n onFocus,\n onClick,\n onChange,\n onKeyDown,\n onOpen,\n type,\n className,\n inputRef,\n children,\n filter = type === \"search\"\n ? noopAutocompleteFilter\n : defaultAutocompleteFilter,\n filterSelected,\n value,\n setValue,\n defaultValue,\n onValueChange,\n query,\n setQuery,\n defaultQuery,\n options,\n getOptionLabel: propGetOptionLabel,\n getOptionProps: propGetOptionProps,\n allowAnyValue,\n listboxProps,\n listboxLabel,\n listboxLabelledBy,\n selectedIcon,\n unselectedIcon,\n selectedIconAfter,\n checkboxes,\n disableSelectedIcon,\n loading,\n loadingProps,\n dropdownButtonProps,\n disableDropdownButton,\n clearButtonProps,\n disableClearButton,\n noOptionsChildren = <ListSubheader>No Options</ListSubheader>,\n leftAddon: propLeftAddon,\n disableLeftAddonStyles: propDisableLeftAddonStyles,\n labelProps,\n rightAddon,\n rightAddonProps,\n containerProps,\n getChipProps = noop,\n updateQueryOnSelect,\n visible,\n setVisible,\n defaultVisible,\n disableInlineChips,\n disableCloseOnSelect,\n ...remaining\n } = props;\n const { form, disabled } = props;\n\n const id = useEnsuredId(propId, \"autocomplete\");\n const menuId = useEnsuredId(listboxProps?.id, \"autocomplete-listbox\");\n const {\n query: currentQuery,\n value: currentValue,\n setValue: currentSetValue,\n multiselect,\n comboboxRef: inputNodeRef,\n comboboxProps,\n movementContext,\n availableOptions,\n getOptionLabel,\n getOptionProps,\n getListboxProps,\n getClearButtonProps,\n getDropdownButtonProps,\n } = useAutocomplete({\n form,\n onBlur,\n onFocus,\n onClick,\n onChange,\n onKeyDown,\n onOpen,\n disabled,\n filter,\n filterSelected,\n popupId: menuId,\n popupRef: listboxProps?.ref,\n comboboxId: id,\n comboboxRef: inputRef,\n options,\n getOptionLabel: propGetOptionLabel,\n getOptionProps: propGetOptionProps,\n allowAnyValue,\n updateQueryOnSelect,\n value,\n setValue,\n defaultValue,\n onValueChange,\n query,\n setQuery,\n defaultQuery,\n defaultVisible,\n visible,\n setVisible,\n checkboxes,\n selectedIcon,\n unselectedIcon,\n selectedIconAfter,\n disableSelectedIcon,\n disableCloseOnSelect,\n });\n const [containerRef, containerRefCallback] = useEnsuredRef(\n containerProps?.ref\n );\n\n let leftAddon = propLeftAddon;\n let disableLeftAddonStyles = propDisableLeftAddonStyles;\n let inlineChips = false;\n let floatingActive = labelProps?.floatingActive;\n if (multiselect && !disableInlineChips) {\n inlineChips = true;\n // TODO: Maybe one day fix the typing? Might not be possible with\n // destructuring though\n const value = currentValue as readonly Option[];\n disableLeftAddonStyles ??= true;\n floatingActive ||= value.length > 0;\n leftAddon = (\n <>\n {value.map((option, index) => {\n const label = getOptionLabel(option);\n const overrides = getChipProps({\n index,\n query: currentQuery,\n option,\n extractor: getOptionLabel,\n });\n return (\n <AutocompleteChip\n key={label}\n {...overrides}\n onClick={(event) => {\n overrides?.onClick?.(event);\n currentSetValue(value.filter((v) => v !== option));\n }}\n >\n {overrides?.children ?? label}\n </AutocompleteChip>\n );\n })}\n </>\n );\n }\n\n return (\n <KeyboardMovementProvider value={movementContext}>\n <TextField\n {...remaining}\n {...comboboxProps}\n containerProps={{\n ...containerProps,\n ref: containerRefCallback,\n onClick: (event) => {\n containerProps?.onClick?.(event);\n inputNodeRef.current?.focus();\n },\n }}\n className={autocomplete({\n className,\n loading,\n inlineChips,\n disableClearButton,\n disableDropdownButton,\n })}\n labelProps={{\n ...labelProps,\n floatingActive,\n }}\n leftAddon={leftAddon}\n disableLeftAddonStyles={disableLeftAddonStyles}\n rightAddon={\n <>\n {rightAddon}\n {loading && <AutocompleteCircularProgress {...loadingProps} />}\n {!disableClearButton && !!currentQuery && (\n <AutocompleteClearButton\n {...clearButtonProps}\n {...getClearButtonProps(clearButtonProps)}\n />\n )}\n {!disableDropdownButton && (\n <AutocompleteDropdownButton\n aria-label={listboxLabel as string}\n aria-labelledby={listboxLabelledBy}\n {...getDropdownButtonProps(dropdownButtonProps)}\n />\n )}\n </>\n }\n rightAddonProps={{\n ...rightAddonProps,\n pointerEvents: true,\n className: autocompleteRightAddon({\n className: rightAddonProps?.className,\n }),\n }}\n />\n <Listbox\n aria-label={listboxLabel as string}\n aria-labelledby={listboxLabelledBy}\n {...getListboxProps(listboxProps)}\n fixedTo={containerRef}\n >\n <AutocompleteListboxChildren\n query={currentQuery}\n options={availableOptions}\n getOptionLabel={getOptionLabel}\n getOptionProps={getOptionProps}\n noOptionsChildren={noOptionsChildren}\n >\n {children}\n </AutocompleteListboxChildren>\n </Listbox>\n </KeyboardMovementProvider>\n );\n}\n"],"names":["Listbox","TextField","ListSubheader","KeyboardMovementProvider","useEnsuredId","useEnsuredRef","AutocompleteChip","AutocompleteCircularProgress","AutocompleteClearButton","AutocompleteDropdownButton","AutocompleteListboxChildren","autocomplete","autocompleteRightAddon","defaultAutocompleteFilter","noopAutocompleteFilter","useAutocomplete","noop","undefined","Autocomplete","props","id","propId","onBlur","onFocus","onClick","onChange","onKeyDown","onOpen","type","className","inputRef","children","filter","filterSelected","value","setValue","defaultValue","onValueChange","query","setQuery","defaultQuery","options","getOptionLabel","propGetOptionLabel","getOptionProps","propGetOptionProps","allowAnyValue","listboxProps","listboxLabel","listboxLabelledBy","selectedIcon","unselectedIcon","selectedIconAfter","checkboxes","disableSelectedIcon","loading","loadingProps","dropdownButtonProps","disableDropdownButton","clearButtonProps","disableClearButton","noOptionsChildren","leftAddon","propLeftAddon","disableLeftAddonStyles","propDisableLeftAddonStyles","labelProps","rightAddon","rightAddonProps","containerProps","getChipProps","updateQueryOnSelect","visible","setVisible","defaultVisible","disableInlineChips","disableCloseOnSelect","remaining","form","disabled","menuId","currentQuery","currentValue","currentSetValue","multiselect","comboboxRef","inputNodeRef","comboboxProps","movementContext","availableOptions","getListboxProps","getClearButtonProps","getDropdownButtonProps","popupId","popupRef","ref","comboboxId","containerRef","containerRefCallback","inlineChips","floatingActive","length","map","option","index","label","overrides","extractor","event","v","current","focus","aria-label","aria-labelledby","pointerEvents","fixedTo"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type AutocompleteChipProps } from "./types.js";
2
+ /**
3
+ * A small wrapper around the `Chip` that defaults the `rightAddon` to the
4
+ * remove icon and adds a default `aria-description`.
5
+ *
6
+ * @since 6.0.0
7
+ */
8
+ export declare const AutocompleteChip: import("react").ForwardRefExoticComponent<AutocompleteChipProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { Chip } from "../chip/Chip.js";
4
+ import { getIcon } from "../icon/iconConfig.js";
5
+ import { autocompleteChip } from "./autocompleteStyles.js";
6
+ /**
7
+ * A small wrapper around the `Chip` that defaults the `rightAddon` to the
8
+ * remove icon and adds a default `aria-description`.
9
+ *
10
+ * @since 6.0.0
11
+ */ export const AutocompleteChip = /*#__PURE__*/ forwardRef(function AutocompleteChip(props, ref) {
12
+ const { "aria-description": propAriaDescription, children, className, removeIcon: propRemoveIcon, rightAddon: propRightAddon, ...remaining } = props;
13
+ let rightAddon = propRightAddon;
14
+ let ariaDescription = propAriaDescription;
15
+ const removeIcon = getIcon("remove", propRemoveIcon);
16
+ if (typeof rightAddon === "undefined") {
17
+ rightAddon = removeIcon;
18
+ }
19
+ if (typeof ariaDescription === "undefined" && typeof children === "string") {
20
+ ariaDescription = `Remove "${children}"`;
21
+ }
22
+ return /*#__PURE__*/ _jsx(Chip, {
23
+ ...remaining,
24
+ "aria-description": ariaDescription,
25
+ ref: ref,
26
+ rightAddon: rightAddon,
27
+ className: autocompleteChip({
28
+ className
29
+ }),
30
+ children: children
31
+ });
32
+ });
33
+
34
+ //# sourceMappingURL=AutocompleteChip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/autocomplete/AutocompleteChip.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { Chip } from \"../chip/Chip.js\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { autocompleteChip } from \"./autocompleteStyles.js\";\nimport { type AutocompleteChipProps } from \"./types.js\";\n\n/**\n * A small wrapper around the `Chip` that defaults the `rightAddon` to the\n * remove icon and adds a default `aria-description`.\n *\n * @since 6.0.0\n */\nexport const AutocompleteChip = forwardRef<\n HTMLButtonElement,\n AutocompleteChipProps\n>(function AutocompleteChip(props, ref) {\n const {\n \"aria-description\": propAriaDescription,\n children,\n className,\n removeIcon: propRemoveIcon,\n rightAddon: propRightAddon,\n ...remaining\n } = props;\n\n let rightAddon = propRightAddon;\n let ariaDescription = propAriaDescription;\n const removeIcon = getIcon(\"remove\", propRemoveIcon);\n if (typeof rightAddon === \"undefined\") {\n rightAddon = removeIcon;\n }\n\n if (typeof ariaDescription === \"undefined\" && typeof children === \"string\") {\n ariaDescription = `Remove \"${children}\"`;\n }\n\n return (\n <Chip\n {...remaining}\n aria-description={ariaDescription}\n ref={ref}\n rightAddon={rightAddon}\n className={autocompleteChip({ className })}\n >\n {children}\n </Chip>\n );\n});\n"],"names":["forwardRef","Chip","getIcon","autocompleteChip","AutocompleteChip","props","ref","propAriaDescription","children","className","removeIcon","propRemoveIcon","rightAddon","propRightAddon","remaining","ariaDescription","aria-description"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AACnC,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,gBAAgB,QAAQ,0BAA0B;AAG3D;;;;;CAKC,GACD,OAAO,MAAMC,iCAAmBJ,WAG9B,SAASI,iBAAiBC,KAAK,EAAEC,GAAG;IACpC,MAAM,EACJ,oBAAoBC,mBAAmB,EACvCC,QAAQ,EACRC,SAAS,EACTC,YAAYC,cAAc,EAC1BC,YAAYC,cAAc,EAC1B,GAAGC,WACJ,GAAGT;IAEJ,IAAIO,aAAaC;IACjB,IAAIE,kBAAkBR;IACtB,MAAMG,aAAaR,QAAQ,UAAUS;IACrC,IAAI,OAAOC,eAAe,aAAa;QACrCA,aAAaF;IACf;IAEA,IAAI,OAAOK,oBAAoB,eAAe,OAAOP,aAAa,UAAU;QAC1EO,kBAAkB,CAAC,QAAQ,EAAEP,SAAS,CAAC,CAAC;IAC1C;IAEA,qBACE,KAACP;QACE,GAAGa,SAAS;QACbE,oBAAkBD;QAClBT,KAAKA;QACLM,YAAYA;QACZH,WAAWN,iBAAiB;YAAEM;QAAU;kBAEvCD;;AAGP,GAAG"}
@@ -1,16 +1,10 @@
1
1
  import { type ReactElement } from "react";
2
- import { type CircularProgressProps } from "../progress/CircularProgress.js";
3
- import { type ProgressTheme } from "../progress/types.js";
4
- /**
5
- * @since 6.0.0
6
- */
7
- export interface AutocompleteCircularProgressProps extends CircularProgressProps {
8
- /** @defaultValue `"Loading"` */
9
- "aria-label"?: string;
10
- /** @defaultValue `"current-color"` */
11
- theme?: ProgressTheme;
12
- }
2
+ import { type AutocompleteCircularProgressProps } from "./types.js";
13
3
  /**
4
+ * An internal component used to handle the styling and minimal accessibility
5
+ * for the `CircularProgress` within the `Autocomplete`
6
+ *
7
+ * @internal
14
8
  * @since 6.0.0
15
9
  */
16
10
  export declare function AutocompleteCircularProgress(props: AutocompleteCircularProgressProps): ReactElement;
@@ -1,6 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { CircularProgress } from "../progress/CircularProgress.js";
3
3
  /**
4
+ * An internal component used to handle the styling and minimal accessibility
5
+ * for the `CircularProgress` within the `Autocomplete`
6
+ *
7
+ * @internal
4
8
  * @since 6.0.0
5
9
  */ export function AutocompleteCircularProgress(props) {
6
10
  const { "aria-labelledby": ariaLabelledby, "aria-label": ariaLabel = ariaLabelledby ? undefined : "Loading", theme = "current-color", ...remaining } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/autocomplete/AutocompleteCircularProgress.tsx"],"sourcesContent":["import { type ReactElement } from \"react\";\nimport {\n CircularProgress,\n type CircularProgressProps,\n} from \"../progress/CircularProgress.js\";\nimport { type ProgressTheme } from \"../progress/types.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteCircularProgressProps\n extends CircularProgressProps {\n /** @defaultValue `\"Loading\"` */\n \"aria-label\"?: string;\n\n /** @defaultValue `\"current-color\"` */\n theme?: ProgressTheme;\n}\n\n/**\n * @since 6.0.0\n */\nexport function AutocompleteCircularProgress(\n props: AutocompleteCircularProgressProps\n): ReactElement {\n const {\n \"aria-labelledby\": ariaLabelledby,\n \"aria-label\": ariaLabel = ariaLabelledby ? undefined : \"Loading\",\n theme = \"current-color\",\n ...remaining\n } = props;\n\n return (\n <CircularProgress\n {...remaining}\n aria-label={ariaLabel as string}\n aria-labelledby={ariaLabelledby}\n theme={theme}\n />\n );\n}\n"],"names":["CircularProgress","AutocompleteCircularProgress","props","ariaLabelledby","ariaLabel","undefined","theme","remaining","aria-label","aria-labelledby"],"mappings":";AACA,SACEA,gBAAgB,QAEX,kCAAkC;AAezC;;CAEC,GACD,OAAO,SAASC,6BACdC,KAAwC;IAExC,MAAM,EACJ,mBAAmBC,cAAc,EACjC,cAAcC,YAAYD,iBAAiBE,YAAY,SAAS,EAChEC,QAAQ,eAAe,EACvB,GAAGC,WACJ,GAAGL;IAEJ,qBACE,KAACF;QACE,GAAGO,SAAS;QACbC,cAAYJ;QACZK,mBAAiBN;QACjBG,OAAOA;;AAGb"}
1
+ {"version":3,"sources":["../../src/autocomplete/AutocompleteCircularProgress.tsx"],"sourcesContent":["import { type ReactElement } from \"react\";\nimport { CircularProgress } from \"../progress/CircularProgress.js\";\nimport { type AutocompleteCircularProgressProps } from \"./types.js\";\n\n/**\n * An internal component used to handle the styling and minimal accessibility\n * for the `CircularProgress` within the `Autocomplete`\n *\n * @internal\n * @since 6.0.0\n */\nexport function AutocompleteCircularProgress(\n props: AutocompleteCircularProgressProps\n): ReactElement {\n const {\n \"aria-labelledby\": ariaLabelledby,\n \"aria-label\": ariaLabel = ariaLabelledby ? undefined : \"Loading\",\n theme = \"current-color\",\n ...remaining\n } = props;\n\n return (\n <CircularProgress\n {...remaining}\n aria-label={ariaLabel as string}\n aria-labelledby={ariaLabelledby}\n theme={theme}\n />\n );\n}\n"],"names":["CircularProgress","AutocompleteCircularProgress","props","ariaLabelledby","ariaLabel","undefined","theme","remaining","aria-label","aria-labelledby"],"mappings":";AACA,SAASA,gBAAgB,QAAQ,kCAAkC;AAGnE;;;;;;CAMC,GACD,OAAO,SAASC,6BACdC,KAAwC;IAExC,MAAM,EACJ,mBAAmBC,cAAc,EACjC,cAAcC,YAAYD,iBAAiBE,YAAY,SAAS,EAChEC,QAAQ,eAAe,EACvB,GAAGC,WACJ,GAAGL;IAEJ,qBACE,KAACF;QACE,GAAGO,SAAS;QACbC,cAAYJ;QACZK,mBAAiBN;QACjBG,OAAOA;;AAGb"}
@@ -0,0 +1,9 @@
1
+ import { type ReactElement } from "react";
2
+ import { type AutocompleteClearButtonProps } from "./types.js";
3
+ /**
4
+ * An internal component used for to clear the value from the `Autocomplete`.
5
+ *
6
+ * @internal
7
+ * @since 6.0.0
8
+ */
9
+ export declare function AutocompleteClearButton(props: AutocompleteClearButtonProps): ReactElement;
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Button } from "../button/Button.js";
4
+ import { getIcon } from "../icon/iconConfig.js";
5
+ import { useEnsuredId } from "../useEnsuredId.js";
6
+ import { autocompleteClearButton } from "./autocompleteStyles.js";
7
+ /**
8
+ * An internal component used for to clear the value from the `Autocomplete`.
9
+ *
10
+ * @internal
11
+ * @since 6.0.0
12
+ */ export function AutocompleteClearButton(props) {
13
+ const { id: propId, className, children, buttonType = "icon", "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel = buttonType === "text" || ariaLabelledBy ? undefined : "Clear", ...remaining } = props;
14
+ const id = useEnsuredId(propId, "autocomplete-clear");
15
+ return /*#__PURE__*/ _jsx(Button, {
16
+ ...remaining,
17
+ "aria-label": ariaLabel,
18
+ "aria-labelledby": ariaLabelledBy,
19
+ id: id,
20
+ className: autocompleteClearButton({
21
+ className
22
+ }),
23
+ tabIndex: -1,
24
+ buttonType: buttonType,
25
+ children: getIcon("clear", children)
26
+ });
27
+ }
28
+
29
+ //# sourceMappingURL=AutocompleteClearButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/autocomplete/AutocompleteClearButton.tsx"],"sourcesContent":["\"use client\";\nimport { type ReactElement } from \"react\";\nimport { Button } from \"../button/Button.js\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { autocompleteClearButton } from \"./autocompleteStyles.js\";\nimport { type AutocompleteClearButtonProps } from \"./types.js\";\n\n/**\n * An internal component used for to clear the value from the `Autocomplete`.\n *\n * @internal\n * @since 6.0.0\n */\nexport function AutocompleteClearButton(\n props: AutocompleteClearButtonProps\n): ReactElement {\n const {\n id: propId,\n className,\n children,\n buttonType = \"icon\",\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel = buttonType === \"text\" || ariaLabelledBy\n ? undefined\n : \"Clear\",\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"autocomplete-clear\");\n\n return (\n <Button\n {...remaining}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n id={id}\n className={autocompleteClearButton({ className })}\n tabIndex={-1}\n buttonType={buttonType}\n >\n {getIcon(\"clear\", children)}\n </Button>\n );\n}\n"],"names":["Button","getIcon","useEnsuredId","autocompleteClearButton","AutocompleteClearButton","props","id","propId","className","children","buttonType","ariaLabelledBy","ariaLabel","undefined","remaining","aria-label","aria-labelledby","tabIndex"],"mappings":"AAAA;;AAEA,SAASA,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,uBAAuB,QAAQ,0BAA0B;AAGlE;;;;;CAKC,GACD,OAAO,SAASC,wBACdC,KAAmC;IAEnC,MAAM,EACJC,IAAIC,MAAM,EACVC,SAAS,EACTC,QAAQ,EACRC,aAAa,MAAM,EACnB,mBAAmBC,cAAc,EACjC,cAAcC,YAAYF,eAAe,UAAUC,iBAC/CE,YACA,OAAO,EACX,GAAGC,WACJ,GAAGT;IACJ,MAAMC,KAAKJ,aAAaK,QAAQ;IAEhC,qBACE,KAACP;QACE,GAAGc,SAAS;QACbC,cAAYH;QACZI,mBAAiBL;QACjBL,IAAIA;QACJE,WAAWL,wBAAwB;YAAEK;QAAU;QAC/CS,UAAU,CAAC;QACXP,YAAYA;kBAEXT,QAAQ,SAASQ;;AAGxB"}
@@ -1,32 +1,10 @@
1
- import { type MouseEventHandler, type ReactElement, type ReactNode } from "react";
2
- import { type ButtonProps } from "../button/Button.js";
3
- import { type IconRotatorProps } from "../icon/IconRotator.js";
4
- /**
5
- * @since 6.0.0
6
- */
7
- export interface ConfigurableAutocompleteDropdownButtonProps extends ButtonProps {
8
- /** @defaultValue `AutocompleteProps.menuLabel` */
9
- "aria-label"?: string;
10
- /** @defaultValue `AutocompleteProps.menuLabelledby` */
11
- "aria-labelledby"?: string;
12
- /** @defaultValue `"autocomplete-dropdown-" + useId()` */
13
- id?: string;
14
- /** @defaultValue `getIcon("dropdown")` */
15
- icon?: ReactNode;
16
- iconRotatorProps?: Omit<IconRotatorProps, "rotated">;
17
- }
18
- /**
19
- * @since 6.0.0
20
- */
21
- export interface AutocompleteDropdownButtonProps extends ConfigurableAutocompleteDropdownButtonProps {
22
- "aria-controls": string;
23
- onClick: MouseEventHandler<HTMLButtonElement>;
24
- visible: boolean;
25
- }
1
+ import { type ReactElement } from "react";
2
+ import { type LabelRequiredForA11y } from "../types.js";
3
+ import { type AutocompleteDropdownButtonProps } from "./types.js";
26
4
  /**
27
5
  * This is a simple `Button` wrapper to be used as a dropdown button within the
28
6
  * `Autocomplete`.
29
7
  *
30
8
  * @since 6.0.0
31
9
  */
32
- export declare function AutocompleteDropdownButton(props: AutocompleteDropdownButtonProps): ReactElement;
10
+ export declare function AutocompleteDropdownButton(props: LabelRequiredForA11y<AutocompleteDropdownButtonProps>): ReactElement;
@@ -4,13 +4,14 @@ import { Button } from "../button/Button.js";
4
4
  import { IconRotator } from "../icon/IconRotator.js";
5
5
  import { getIcon } from "../icon/iconConfig.js";
6
6
  import { useEnsuredId } from "../useEnsuredId.js";
7
+ import { autocompleteDropdownButton } from "./autocompleteStyles.js";
7
8
  /**
8
9
  * This is a simple `Button` wrapper to be used as a dropdown button within the
9
10
  * `Autocomplete`.
10
11
  *
11
12
  * @since 6.0.0
12
13
  */ export function AutocompleteDropdownButton(props) {
13
- const { id: propId, icon, visible, iconRotatorProps, ...remaining } = props;
14
+ const { id: propId, icon, visible, iconRotatorProps, className, ...remaining } = props;
14
15
  const id = useEnsuredId(propId, "autocomplete-dropdown");
15
16
  return /*#__PURE__*/ _jsx(Button, {
16
17
  ...remaining,
@@ -18,6 +19,9 @@ import { useEnsuredId } from "../useEnsuredId.js";
18
19
  "aria-expanded": visible,
19
20
  tabIndex: -1,
20
21
  buttonType: "icon",
22
+ className: autocompleteDropdownButton({
23
+ className
24
+ }),
21
25
  children: /*#__PURE__*/ _jsx(IconRotator, {
22
26
  ...iconRotatorProps,
23
27
  rotated: visible,