@react-md/core 1.0.0-next.1 → 1.0.0-next.10

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 (1198) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +11 -7
  3. package/.turbo/turbo-lint.log +12 -12
  4. package/.turbo/turbo-test.log +5512 -166
  5. package/.turbo/turbo-typecheck.log +4 -4
  6. package/CHANGELOG.md +177 -0
  7. package/README.md +39 -24
  8. package/coverage/clover.xml +2 -2
  9. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  10. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  11. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  12. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  13. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  14. package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
  15. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
  16. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +178 -232
  17. package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
  18. package/coverage/lcov-report/Portal.tsx.html +223 -0
  19. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  20. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  21. package/coverage/lcov-report/Select.tsx.html +1411 -0
  22. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  23. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  24. package/coverage/lcov-report/SrOnly.tsx.html +328 -0
  25. package/coverage/lcov-report/Tab.tsx.html +261 -147
  26. package/coverage/lcov-report/Toast.tsx.html +868 -0
  27. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  28. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  29. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  30. package/coverage/lcov-report/Typography.tsx.html +1027 -0
  31. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  32. package/coverage/lcov-report/app-bar/index.html +7 -7
  33. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  34. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +475 -0
  35. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  36. package/coverage/lcov-report/autocomplete/index.html +221 -0
  37. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  38. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +1273 -0
  39. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +829 -0
  40. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +715 -0
  41. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  42. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +430 -0
  43. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +310 -0
  44. package/coverage/lcov-report/autocomplete/utils.ts.html +196 -0
  45. package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
  46. package/coverage/lcov-report/avatar/index.html +19 -34
  47. package/coverage/lcov-report/avatar/styles.ts.html +1 -1
  48. package/coverage/lcov-report/button/Button.tsx.html +85 -85
  49. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  50. package/coverage/lcov-report/button/index.html +12 -12
  51. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  52. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  53. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  54. package/coverage/lcov-report/card/index.html +21 -21
  55. package/coverage/lcov-report/card/styles.ts.html +428 -392
  56. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  57. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
  58. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
  59. package/coverage/lcov-report/dialog/index.html +34 -19
  60. package/coverage/lcov-report/draggable/index.html +21 -36
  61. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  62. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  63. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  64. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  65. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  66. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  67. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  68. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  69. package/coverage/lcov-report/form/Label.tsx.html +442 -0
  70. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  71. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  72. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  73. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +442 -0
  74. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +310 -0
  75. package/coverage/lcov-report/form/Select.tsx.html +1456 -0
  76. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  77. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  78. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  79. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +727 -0
  80. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  81. package/coverage/lcov-report/form/TextArea.tsx.html +596 -740
  82. package/coverage/lcov-report/form/TextArea2.tsx.html +985 -0
  83. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +1006 -0
  84. package/coverage/lcov-report/form/TextField.tsx.html +156 -234
  85. package/coverage/lcov-report/form/index.html +111 -21
  86. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  87. package/coverage/lcov-report/form/textAreaStyles.ts.html +8 -11
  88. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  89. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  90. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  91. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  92. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  93. package/coverage/lcov-report/form/useResizingTextArea.ts.html +631 -0
  94. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +631 -0
  95. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  96. package/coverage/lcov-report/form/utils.ts.html +209 -170
  97. package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
  98. package/coverage/lcov-report/icon/FontIcon.tsx.html +64 -64
  99. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  100. package/coverage/lcov-report/icon/index.html +19 -19
  101. package/coverage/lcov-report/index.html +1 -1
  102. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  103. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  104. package/coverage/lcov-report/interaction/index.html +33 -18
  105. package/coverage/lcov-report/list/List.tsx.html +490 -0
  106. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  107. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  108. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  109. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  110. package/coverage/lcov-report/list/index.html +81 -6
  111. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  112. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  113. package/coverage/lcov-report/media-queries/index.html +1 -1
  114. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
  115. package/coverage/lcov-report/menu/Menu.tsx.html +276 -252
  116. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  117. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +433 -0
  118. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  119. package/coverage/lcov-report/menu/index.html +14 -44
  120. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  121. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
  122. package/coverage/lcov-report/movement/index.html +19 -19
  123. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  124. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  125. package/coverage/lcov-report/positioning/index.html +30 -30
  126. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  127. package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
  128. package/coverage/lcov-report/progress/index.html +19 -34
  129. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  130. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  131. package/coverage/lcov-report/searching/index.html +146 -0
  132. package/coverage/lcov-report/searching/toSearchQuery.ts.html +145 -0
  133. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +211 -0
  134. package/coverage/lcov-report/searching/utils.ts.html +244 -0
  135. package/coverage/lcov-report/sheet/index.html +8 -8
  136. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  137. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  138. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  139. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  140. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  141. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  142. package/coverage/lcov-report/snackbar/index.html +59 -14
  143. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  144. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  145. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  146. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  147. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  148. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  149. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  150. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  151. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  152. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  153. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  154. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +364 -0
  155. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  156. package/coverage/lcov-report/src/autocomplete/index.html +221 -0
  157. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +637 -0
  158. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +829 -0
  159. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +715 -0
  160. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +430 -0
  161. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +241 -0
  162. package/coverage/lcov-report/src/autocomplete/utils.ts.html +196 -0
  163. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  164. package/coverage/lcov-report/src/avatar/index.html +1 -1
  165. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  166. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  167. package/coverage/lcov-report/src/badge/index.html +1 -1
  168. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  169. package/coverage/lcov-report/src/box/index.html +23 -8
  170. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  171. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  172. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  173. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  174. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  175. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  176. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  177. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  178. package/coverage/lcov-report/src/button/index.html +8 -23
  179. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  180. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  181. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  182. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  183. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  184. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  185. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  186. package/coverage/lcov-report/src/card/index.html +24 -9
  187. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  188. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  189. package/coverage/lcov-report/src/chip/index.html +7 -7
  190. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  191. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  192. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  193. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  194. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  195. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  196. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  197. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  198. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  199. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  200. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  201. package/coverage/lcov-report/src/dialog/index.html +129 -9
  202. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  203. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  204. package/coverage/lcov-report/src/divider/index.html +5 -5
  205. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  206. package/coverage/lcov-report/src/draggable/index.html +27 -27
  207. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  208. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  209. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  210. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  211. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  212. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  213. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  214. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  215. package/coverage/lcov-report/src/focus/index.html +1 -1
  216. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  217. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  218. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  219. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  220. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  221. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  222. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  223. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  224. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  225. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  226. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  227. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  228. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  229. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  230. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
  231. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  232. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
  233. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
  234. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  235. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  236. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  237. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  238. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  239. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  240. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  241. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +988 -0
  242. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +310 -0
  243. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1122
  244. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  245. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +694 -0
  246. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  247. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  248. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  249. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  250. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  251. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  252. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  253. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  254. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  255. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  256. package/coverage/lcov-report/src/form/TextArea.tsx.html +646 -580
  257. package/coverage/lcov-report/src/form/TextArea2.tsx.html +985 -0
  258. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +985 -0
  259. package/coverage/lcov-report/src/form/TextField.tsx.html +3 -3
  260. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  261. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  262. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  263. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  264. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  265. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  266. package/coverage/lcov-report/src/form/index.html +81 -21
  267. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  268. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  269. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  270. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  271. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  272. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  273. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  274. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  275. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  276. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  277. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  278. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  279. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  280. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  281. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  282. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  283. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  284. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  285. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  286. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  287. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  288. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +405 -294
  289. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  290. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  291. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  292. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  293. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  294. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  295. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  296. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  297. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  298. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  299. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  300. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  301. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  302. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  303. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
  304. package/coverage/lcov-report/src/icon/index.html +10 -145
  305. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  306. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  307. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  308. package/coverage/lcov-report/src/index.html +10 -10
  309. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  310. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  311. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  312. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  313. package/coverage/lcov-report/src/interaction/index.html +1 -1
  314. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  315. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +19 -19
  316. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  317. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  318. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  319. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  320. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  321. package/coverage/lcov-report/src/layout/index.html +15 -15
  322. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  323. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  324. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  325. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  326. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  327. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  328. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  329. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  330. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  331. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  332. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  333. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  334. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  335. package/coverage/lcov-report/src/link/index.html +1 -1
  336. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  337. package/coverage/lcov-report/src/list/List.tsx.html +1 -1
  338. package/coverage/lcov-report/src/list/ListItem.tsx.html +158 -137
  339. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +45 -39
  340. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +88 -82
  341. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +5 -5
  342. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  343. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  344. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
  345. package/coverage/lcov-report/src/list/index.html +13 -13
  346. package/coverage/lcov-report/src/list/listItemStyles.ts.html +102 -72
  347. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  348. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  349. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  350. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +28 -28
  351. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  352. package/coverage/lcov-report/src/menu/Menu.tsx.html +4 -4
  353. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  354. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  355. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  356. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  357. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  358. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +433 -0
  359. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  360. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  361. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  362. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  363. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  364. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  365. package/coverage/lcov-report/src/menu/index.html +13 -238
  366. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  367. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  368. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  369. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  370. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  371. package/coverage/lcov-report/src/movement/index.html +17 -62
  372. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  373. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  374. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  375. package/coverage/lcov-report/src/overlay/index.html +1 -1
  376. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  377. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  378. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  379. package/coverage/lcov-report/src/portal/index.html +7 -7
  380. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  381. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  382. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  383. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  384. package/coverage/lcov-report/src/positioning/index.html +1 -1
  385. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  386. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  387. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +83 -83
  388. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  389. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  390. package/coverage/lcov-report/src/progress/index.html +20 -5
  391. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  392. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  393. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  394. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  395. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  396. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  397. package/coverage/lcov-report/src/scroll/index.html +1 -1
  398. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  399. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  400. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  401. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  402. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  403. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  404. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  405. package/coverage/lcov-report/src/sheet/index.html +5 -5
  406. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  407. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  408. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  409. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  410. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  411. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  412. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  413. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  414. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  415. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  416. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  417. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  418. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  419. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  420. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
  421. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  422. package/coverage/lcov-report/src/suspense/index.html +36 -21
  423. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  424. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  425. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  426. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  427. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  428. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  429. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  430. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  431. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  432. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  433. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  434. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  435. package/coverage/lcov-report/src/table/index.html +151 -46
  436. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  437. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  438. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  439. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  440. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  441. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  442. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  443. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  444. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  445. package/coverage/lcov-report/src/tabs/index.html +25 -25
  446. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  447. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  448. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  449. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  450. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  451. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  452. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  453. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  454. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +402 -261
  455. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
  456. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  457. package/coverage/lcov-report/src/test-utils/index.html +12 -117
  458. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  459. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +55 -55
  460. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  461. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  462. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  463. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  464. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  465. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  466. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  467. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  468. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  469. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  470. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  471. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  472. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  473. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  474. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  475. package/coverage/lcov-report/src/theme/index.html +1 -1
  476. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  477. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  478. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  479. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  480. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  481. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  482. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  483. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  484. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  485. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  486. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  487. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  488. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  489. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  490. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  491. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  492. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  493. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  494. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  495. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  496. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  497. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +1 -1
  498. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  499. package/coverage/lcov-report/src/transition/index.html +49 -34
  500. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  501. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  502. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  503. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  504. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +10 -64
  505. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  506. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  507. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  508. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  509. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  510. package/coverage/lcov-report/src/transition/useTransition.ts.html +232 -232
  511. package/coverage/lcov-report/src/transition/utils.ts.html +45 -45
  512. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  513. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  514. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +1 -1
  515. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  516. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  517. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +1 -1
  518. package/coverage/lcov-report/src/tree/index.html +16 -196
  519. package/coverage/lcov-report/src/tree/styles.ts.html +4 -31
  520. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  521. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  522. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  523. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +87 -87
  524. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  525. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  526. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
  527. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  528. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  529. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  530. package/coverage/lcov-report/src/typography/index.html +1 -1
  531. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  532. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +246 -240
  533. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  534. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  535. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  536. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  537. package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
  538. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  539. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  540. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  541. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  542. package/coverage/lcov-report/src/useOrientation.ts.html +30 -30
  543. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  544. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  545. package/coverage/lcov-report/src/useResizeObserver.ts.html +133 -244
  546. package/coverage/lcov-report/src/useThrottledFunction.ts.html +57 -51
  547. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  548. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  549. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  550. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  551. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  552. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  553. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  554. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  555. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  556. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  557. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  558. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  559. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  560. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  561. package/coverage/lcov-report/src/utils/index.html +13 -253
  562. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  563. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  564. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  565. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  566. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  567. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  568. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  569. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  570. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  571. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  572. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  573. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  574. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  575. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  576. package/coverage/lcov-report/suspense/index.html +131 -0
  577. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  578. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  579. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  580. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  581. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  582. package/coverage/lcov-report/tabs/index.html +56 -11
  583. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  584. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  585. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  586. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  587. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  588. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  589. package/coverage/lcov-report/test-utils/index.html +21 -21
  590. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  591. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  592. package/coverage/lcov-report/tooltip/index.html +10 -70
  593. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  594. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  595. package/coverage/lcov-report/transition/config.ts.html +5 -5
  596. package/coverage/lcov-report/transition/index.html +1 -1
  597. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  598. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  599. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  600. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  601. package/coverage/lcov-report/tree/index.html +17 -47
  602. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  603. package/coverage/lcov-report/tree/useTreeMovement.ts.html +140 -143
  604. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  605. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  606. package/coverage/lcov-report/typography/index.html +18 -18
  607. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  608. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  609. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  610. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  611. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  612. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  613. package/coverage/lcov-report/useTabList.ts.html +142 -136
  614. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  615. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  616. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  617. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  618. package/coverage/lcov-report/utils/index.html +15 -30
  619. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  620. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  621. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  622. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  623. package/coverage/lcov-report/utils.ts.html +109 -277
  624. package/coverage/lcov-report/window-splitter/index.html +21 -36
  625. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  626. package/dist/RootHtml.d.ts +62 -0
  627. package/dist/RootHtml.js +49 -0
  628. package/dist/RootHtml.js.map +1 -0
  629. package/dist/_box-shadows.scss +12 -2
  630. package/dist/_core.scss +207 -253
  631. package/dist/_utils.scss +89 -0
  632. package/dist/app-bar/AppBar.d.ts +4 -9
  633. package/dist/app-bar/AppBar.js +29 -7
  634. package/dist/app-bar/AppBar.js.map +1 -1
  635. package/dist/app-bar/_app-bar.scss +114 -122
  636. package/dist/avatar/Avatar.d.ts +15 -1
  637. package/dist/avatar/Avatar.js +5 -2
  638. package/dist/avatar/Avatar.js.map +1 -1
  639. package/dist/avatar/_avatar.scss +74 -81
  640. package/dist/badge/_badge.scss +97 -59
  641. package/dist/box/_box.scss +72 -81
  642. package/dist/button/TooltippedButton.d.ts +62 -0
  643. package/dist/button/TooltippedButton.js +62 -0
  644. package/dist/button/TooltippedButton.js.map +1 -0
  645. package/dist/button/_button.scss +170 -180
  646. package/dist/card/Card.js +3 -2
  647. package/dist/card/Card.js.map +1 -1
  648. package/dist/card/CardContent.js +1 -1
  649. package/dist/card/CardContent.js.map +1 -1
  650. package/dist/card/ClickableCard.d.ts +42 -0
  651. package/dist/card/ClickableCard.js +73 -0
  652. package/dist/card/ClickableCard.js.map +1 -0
  653. package/dist/card/_card.scss +81 -82
  654. package/dist/card/styles.d.ts +8 -0
  655. package/dist/card/styles.js +6 -3
  656. package/dist/card/styles.js.map +1 -1
  657. package/dist/chip/_chip.scss +137 -148
  658. package/dist/dialog/FixedDialog.d.ts +5 -4
  659. package/dist/dialog/FixedDialog.js +5 -4
  660. package/dist/dialog/FixedDialog.js.map +1 -1
  661. package/dist/dialog/_dialog.scss +179 -162
  662. package/dist/divider/Divider.d.ts +0 -1
  663. package/dist/divider/Divider.js.map +1 -1
  664. package/dist/divider/_divider.scss +61 -70
  665. package/dist/draggable/_draggable.scss +16 -12
  666. package/dist/draggable/useDraggable.d.ts +12 -23
  667. package/dist/draggable/useDraggable.js +15 -6
  668. package/dist/draggable/useDraggable.js.map +1 -1
  669. package/dist/draggable/utils.d.ts +4 -17
  670. package/dist/draggable/utils.js +9 -25
  671. package/dist/draggable/utils.js.map +1 -1
  672. package/dist/expansion-panel/_expansion-panel.scss +76 -50
  673. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  674. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  675. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  676. package/dist/form/Form.d.ts +1 -1
  677. package/dist/form/Form.js +2 -1
  678. package/dist/form/Form.js.map +1 -1
  679. package/dist/form/Label.d.ts +5 -5
  680. package/dist/form/Label.js.map +1 -1
  681. package/dist/form/MenuItemInputToggle.d.ts +2 -15
  682. package/dist/form/MenuItemInputToggle.js +26 -37
  683. package/dist/form/MenuItemInputToggle.js.map +1 -1
  684. package/dist/form/NativeSelect.d.ts +5 -2
  685. package/dist/form/NativeSelect.js.map +1 -1
  686. package/dist/form/Option.js +3 -2
  687. package/dist/form/Option.js.map +1 -1
  688. package/dist/form/ResizingTextAreaWrapper.d.ts +19 -0
  689. package/dist/form/ResizingTextAreaWrapper.js +35 -0
  690. package/dist/form/ResizingTextAreaWrapper.js.map +1 -0
  691. package/dist/form/Select.d.ts +105 -15
  692. package/dist/form/Select.js +160 -244
  693. package/dist/form/Select.js.map +1 -1
  694. package/dist/form/SelectedOption.d.ts +21 -0
  695. package/dist/form/SelectedOption.js +37 -0
  696. package/dist/form/SelectedOption.js.map +1 -0
  697. package/dist/form/TextArea.d.ts +11 -0
  698. package/dist/form/TextArea.js +19 -29
  699. package/dist/form/TextArea.js.map +1 -1
  700. package/dist/form/TextField.d.ts +2 -2
  701. package/dist/form/TextField.js +7 -6
  702. package/dist/form/TextField.js.map +1 -1
  703. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  704. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  705. package/dist/form/_form.scss +1336 -1260
  706. package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
  707. package/dist/form/menuItemInputToggleStyles.js +31 -0
  708. package/dist/form/menuItemInputToggleStyles.js.map +1 -0
  709. package/dist/form/selectUtils.d.ts +1 -3
  710. package/dist/form/selectUtils.js +2 -10
  711. package/dist/form/selectUtils.js.map +1 -1
  712. package/dist/form/textAreaStyles.d.ts +2 -2
  713. package/dist/form/textAreaStyles.js.map +1 -1
  714. package/dist/form/types.d.ts +6 -8
  715. package/dist/form/types.js.map +1 -1
  716. package/dist/form/useCombobox.d.ts +157 -0
  717. package/dist/form/useCombobox.js +206 -0
  718. package/dist/form/useCombobox.js.map +1 -0
  719. package/dist/form/useEditableCombobox.d.ts +15 -0
  720. package/dist/form/useEditableCombobox.js +101 -0
  721. package/dist/form/useEditableCombobox.js.map +1 -0
  722. package/dist/form/useFormReset.d.ts +16 -0
  723. package/dist/form/useFormReset.js +32 -0
  724. package/dist/form/useFormReset.js.map +1 -0
  725. package/dist/form/useListboxProvider.d.ts +4 -2
  726. package/dist/form/useListboxProvider.js +6 -8
  727. package/dist/form/useListboxProvider.js.map +1 -1
  728. package/dist/form/useResizingTextArea.d.ts +5 -2
  729. package/dist/form/useResizingTextArea.js +52 -21
  730. package/dist/form/useResizingTextArea.js.map +1 -1
  731. package/dist/form/useSelectCombobox.d.ts +17 -0
  732. package/dist/form/useSelectCombobox.js +36 -0
  733. package/dist/form/useSelectCombobox.js.map +1 -0
  734. package/dist/form/utils.d.ts +11 -1
  735. package/dist/form/utils.js +6 -0
  736. package/dist/form/utils.js.map +1 -1
  737. package/dist/icon/IconRotator.js +2 -3
  738. package/dist/icon/IconRotator.js.map +1 -1
  739. package/dist/icon/_icon.scss +105 -112
  740. package/dist/index.d.ts +22 -1
  741. package/dist/index.js +22 -1
  742. package/dist/index.js.map +1 -1
  743. package/dist/interaction/_interaction.scss +144 -135
  744. package/dist/layout/_layout.scss +82 -86
  745. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  746. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  747. package/dist/link/_link.scss +74 -66
  748. package/dist/list/ListItem.d.ts +8 -3
  749. package/dist/list/ListItem.js +4 -3
  750. package/dist/list/ListItem.js.map +1 -1
  751. package/dist/list/ListItemAddon.js +2 -1
  752. package/dist/list/ListItemAddon.js.map +1 -1
  753. package/dist/list/ListItemChildren.js +3 -2
  754. package/dist/list/ListItemChildren.js.map +1 -1
  755. package/dist/list/ListItemLink.js +3 -3
  756. package/dist/list/ListItemLink.js.map +1 -1
  757. package/dist/list/_list.scss +187 -184
  758. package/dist/list/getListItemHeight.d.ts +0 -1
  759. package/dist/list/getListItemHeight.js +2 -2
  760. package/dist/list/getListItemHeight.js.map +1 -1
  761. package/dist/list/listItemStyles.d.ts +9 -1
  762. package/dist/list/listItemStyles.js +5 -5
  763. package/dist/list/listItemStyles.js.map +1 -1
  764. package/dist/list/types.d.ts +25 -6
  765. package/dist/list/types.js.map +1 -1
  766. package/dist/menu/Menu.d.ts +1 -1
  767. package/dist/menu/Menu.js +12 -1
  768. package/dist/menu/Menu.js.map +1 -1
  769. package/dist/menu/MenuItemCircularProgress.d.ts +60 -0
  770. package/dist/menu/MenuItemCircularProgress.js +74 -0
  771. package/dist/menu/MenuItemCircularProgress.js.map +1 -0
  772. package/dist/menu/_menu.scss +29 -50
  773. package/dist/menu/useContextMenu.d.ts +3 -3
  774. package/dist/menu/useContextMenu.js +3 -3
  775. package/dist/menu/useContextMenu.js.map +1 -1
  776. package/dist/movement/types.d.ts +40 -21
  777. package/dist/movement/types.js.map +1 -1
  778. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  779. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  780. package/dist/movement/utils.d.ts +7 -2
  781. package/dist/movement/utils.js +10 -0
  782. package/dist/movement/utils.js.map +1 -1
  783. package/dist/overlay/_overlay.scss +39 -42
  784. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  785. package/dist/portal/PortalContainerProvider.js +6 -1
  786. package/dist/portal/PortalContainerProvider.js.map +1 -1
  787. package/dist/positioning/useFixedPositioning.js +0 -8
  788. package/dist/positioning/useFixedPositioning.js.map +1 -1
  789. package/dist/progress/_progress.scss +33 -33
  790. package/dist/responsive-item/_responsive-item.scss +91 -89
  791. package/dist/searching/caseInsensitive.d.ts +150 -0
  792. package/dist/searching/caseInsensitive.js +30 -0
  793. package/dist/searching/caseInsensitive.js.map +1 -0
  794. package/dist/searching/fuzzy.d.ts +128 -0
  795. package/dist/searching/fuzzy.js +54 -0
  796. package/dist/searching/fuzzy.js.map +1 -0
  797. package/dist/searching/toSearchQuery.d.ts +7 -0
  798. package/dist/searching/toSearchQuery.js +15 -0
  799. package/dist/searching/toSearchQuery.js.map +1 -0
  800. package/dist/searching/types.d.ts +28 -0
  801. package/dist/searching/types.js +5 -0
  802. package/dist/searching/types.js.map +1 -0
  803. package/dist/searching/useFuzzyMatch.d.ts +19 -0
  804. package/dist/searching/useFuzzyMatch.js +26 -0
  805. package/dist/searching/useFuzzyMatch.js.map +1 -0
  806. package/dist/searching/utils.d.ts +21 -0
  807. package/dist/searching/utils.js +28 -0
  808. package/dist/searching/utils.js.map +1 -0
  809. package/dist/segmented-button/_segmented-button.scss +86 -92
  810. package/dist/sheet/_sheet.scss +107 -123
  811. package/dist/sheet/styles.d.ts +14 -15
  812. package/dist/sheet/styles.js.map +1 -1
  813. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  814. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  815. package/dist/snackbar/Snackbar.d.ts +10 -10
  816. package/dist/snackbar/Snackbar.js +3 -3
  817. package/dist/snackbar/Snackbar.js.map +1 -1
  818. package/dist/snackbar/Toast.d.ts +1 -1
  819. package/dist/snackbar/Toast.js +5 -1
  820. package/dist/snackbar/Toast.js.map +1 -1
  821. package/dist/snackbar/ToastManager.d.ts +2 -1
  822. package/dist/snackbar/ToastManager.js +1 -1
  823. package/dist/snackbar/ToastManager.js.map +1 -1
  824. package/dist/snackbar/_snackbar.scss +148 -144
  825. package/dist/snackbar/snackbarStyles.d.ts +1 -0
  826. package/dist/snackbar/snackbarStyles.js +2 -1
  827. package/dist/snackbar/snackbarStyles.js.map +1 -1
  828. package/dist/table/TableCheckbox.d.ts +3 -2
  829. package/dist/table/TableCheckbox.js +4 -2
  830. package/dist/table/TableCheckbox.js.map +1 -1
  831. package/dist/table/TableRadio.d.ts +3 -2
  832. package/dist/table/TableRadio.js +4 -2
  833. package/dist/table/TableRadio.js.map +1 -1
  834. package/dist/table/_table.scss +214 -227
  835. package/dist/table/tableCellStyles.d.ts +1 -1
  836. package/dist/table/tableCellStyles.js.map +1 -1
  837. package/dist/tabs/Tab.d.ts +24 -3
  838. package/dist/tabs/Tab.js +15 -8
  839. package/dist/tabs/Tab.js.map +1 -1
  840. package/dist/tabs/_tabs.scss +62 -53
  841. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  842. package/dist/tabs/tabIndicatorStyles.js +6 -3
  843. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  844. package/dist/tabs/tabListStyles.js +2 -1
  845. package/dist/tabs/tabListStyles.js.map +1 -1
  846. package/dist/tabs/tabStyles.d.ts +2 -0
  847. package/dist/tabs/tabStyles.js +6 -3
  848. package/dist/tabs/tabStyles.js.map +1 -1
  849. package/dist/tabs/useTabList.d.ts +3 -3
  850. package/dist/tabs/useTabList.js +9 -6
  851. package/dist/tabs/useTabList.js.map +1 -1
  852. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  853. package/dist/test-utils/ResizeObserver.d.ts +214 -0
  854. package/dist/test-utils/ResizeObserver.js +69 -49
  855. package/dist/test-utils/ResizeObserver.js.map +1 -1
  856. package/dist/test-utils/data-testid.d.ts +7 -0
  857. package/dist/test-utils/data-testid.js +1 -0
  858. package/dist/test-utils/data-testid.js.map +1 -1
  859. package/dist/test-utils/drag.d.ts +26 -0
  860. package/dist/test-utils/index.d.ts +7 -0
  861. package/dist/test-utils/jest-setup.d.ts +1 -0
  862. package/dist/test-utils/matchMedia.d.ts +101 -0
  863. package/dist/test-utils/matchMedia.js +2 -2
  864. package/dist/test-utils/matchMedia.js.map +1 -1
  865. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  866. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  867. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  868. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  869. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  870. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  871. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  872. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  873. package/dist/test-utils/polyfills/index.d.ts +7 -0
  874. package/dist/test-utils/polyfills/index.js +2 -0
  875. package/dist/test-utils/polyfills/index.js.map +1 -1
  876. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  877. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  878. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  879. package/dist/test-utils/render.d.ts +13 -0
  880. package/dist/test-utils/timers.d.ts +39 -0
  881. package/dist/theme/_theme.scss +243 -133
  882. package/dist/tooltip/_tooltip.scss +76 -83
  883. package/dist/tooltip/useTooltip.d.ts +14 -14
  884. package/dist/tooltip/useTooltip.js.map +1 -1
  885. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  886. package/dist/transition/SkeletonPlaceholder.js +8 -3
  887. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  888. package/dist/transition/_transition.scss +89 -78
  889. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  890. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  891. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  892. package/dist/transition/useCollapseTransition.d.ts +3 -18
  893. package/dist/transition/useCollapseTransition.js +1 -10
  894. package/dist/transition/useCollapseTransition.js.map +1 -1
  895. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  896. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  897. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  898. package/dist/transition/utils.js +7 -2
  899. package/dist/transition/utils.js.map +1 -1
  900. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  901. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  902. package/dist/tree/Tree.d.ts +8 -4
  903. package/dist/tree/Tree.js.map +1 -1
  904. package/dist/tree/TreeItem.js +3 -4
  905. package/dist/tree/TreeItem.js.map +1 -1
  906. package/dist/tree/_tree.scss +111 -109
  907. package/dist/tree/styles.d.ts +0 -6
  908. package/dist/tree/styles.js +1 -2
  909. package/dist/tree/styles.js.map +1 -1
  910. package/dist/tree/useTreeMovement.js +1 -1
  911. package/dist/tree/useTreeMovement.js.map +1 -1
  912. package/dist/types.d.ts +13 -0
  913. package/dist/types.js +1 -2
  914. package/dist/types.js.map +1 -1
  915. package/dist/typography/SrOnly.d.ts +3 -3
  916. package/dist/typography/SrOnly.js +4 -4
  917. package/dist/typography/SrOnly.js.map +1 -1
  918. package/dist/typography/Typography.d.ts +19 -19
  919. package/dist/typography/Typography.js +19 -19
  920. package/dist/typography/Typography.js.map +1 -1
  921. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  922. package/dist/typography/WritingDirectionProvider.js +2 -2
  923. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  924. package/dist/typography/_typography.scss +141 -87
  925. package/dist/useDebouncedFunction.d.ts +2 -2
  926. package/dist/useDebouncedFunction.js +10 -6
  927. package/dist/useDebouncedFunction.js.map +1 -1
  928. package/dist/useElementSize.d.ts +40 -0
  929. package/dist/useElementSize.js +53 -0
  930. package/dist/useElementSize.js.map +1 -0
  931. package/dist/useEnsuredState.d.ts +1 -1
  932. package/dist/useEnsuredState.js.map +1 -1
  933. package/dist/useResizeListener.d.ts +1 -1
  934. package/dist/useResizeListener.js +1 -0
  935. package/dist/useResizeListener.js.map +1 -1
  936. package/dist/useResizeObserver.d.ts +4 -43
  937. package/dist/useResizeObserver.js +4 -43
  938. package/dist/useResizeObserver.js.map +1 -1
  939. package/dist/useThrottledFunction.d.ts +2 -2
  940. package/dist/useThrottledFunction.js +20 -16
  941. package/dist/useThrottledFunction.js.map +1 -1
  942. package/dist/useWindowSize.d.ts +14 -11
  943. package/dist/useWindowSize.js +12 -7
  944. package/dist/useWindowSize.js.map +1 -1
  945. package/dist/utils/alphaNumericSort.d.ts +1 -1
  946. package/dist/utils/alphaNumericSort.js +2 -10
  947. package/dist/utils/alphaNumericSort.js.map +1 -1
  948. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  949. package/dist/utils/getMiddleOfRange.js +20 -0
  950. package/dist/utils/getMiddleOfRange.js.map +1 -0
  951. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  952. package/dist/utils/getRangeDefaultValue.js +3 -13
  953. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  954. package/dist/utils/getRangeSteps.d.ts +1 -1
  955. package/dist/utils/getRangeSteps.js +2 -2
  956. package/dist/utils/getRangeSteps.js.map +1 -1
  957. package/dist/utils/nearest.js +1 -1
  958. package/dist/utils/nearest.js.map +1 -1
  959. package/dist/window-splitter/_window-splitter.scss +83 -112
  960. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  961. package/dist/window-splitter/useWindowSplitter.js +3 -11
  962. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  963. package/jest.config.ts +4 -0
  964. package/package.json +35 -40
  965. package/scripts/{copySassFiles.js → copySassFiles.ts} +5 -5
  966. package/scripts/tsconfig.json +18 -0
  967. package/src/RootHtml.tsx +95 -0
  968. package/src/__tests__/RootHtml.node.tsx +46 -0
  969. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  970. package/src/__tests__/useDebouncedFunction.tsx +65 -24
  971. package/src/__tests__/useElementSize.tsx +181 -0
  972. package/src/__tests__/useThrottledFunction.tsx +54 -0
  973. package/src/__tests__/useWindowSize.node.tsx +56 -0
  974. package/src/__tests__/useWindowSize.tsx +156 -0
  975. package/src/_box-shadows.scss +12 -2
  976. package/src/_core.scss +207 -253
  977. package/src/_utils.scss +89 -0
  978. package/src/app-bar/AppBar.tsx +59 -19
  979. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  980. package/src/app-bar/_app-bar.scss +114 -122
  981. package/src/avatar/Avatar.tsx +25 -4
  982. package/src/avatar/__tests__/Avatar.tsx +1 -1
  983. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  984. package/src/avatar/_avatar.scss +74 -81
  985. package/src/badge/_badge.scss +97 -59
  986. package/src/box/_box.scss +72 -81
  987. package/src/button/TooltippedButton.tsx +120 -0
  988. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  989. package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
  990. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  991. package/src/button/_button.scss +170 -180
  992. package/src/card/Card.tsx +5 -3
  993. package/src/card/CardContent.tsx +3 -3
  994. package/src/card/ClickableCard.tsx +105 -0
  995. package/src/card/__tests__/ClickableCard.tsx +66 -0
  996. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  997. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  998. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  999. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  1000. package/src/card/_card.scss +81 -82
  1001. package/src/card/styles.ts +19 -10
  1002. package/src/chip/_chip.scss +137 -148
  1003. package/src/dialog/FixedDialog.tsx +5 -4
  1004. package/src/dialog/_dialog.scss +179 -162
  1005. package/src/divider/Divider.tsx +0 -1
  1006. package/src/divider/_divider.scss +61 -70
  1007. package/src/draggable/_draggable.scss +16 -12
  1008. package/src/draggable/useDraggable.ts +26 -25
  1009. package/src/draggable/utils.ts +16 -50
  1010. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  1011. package/src/expansion-panel/_expansion-panel.scss +76 -50
  1012. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  1013. package/src/form/Form.tsx +2 -1
  1014. package/src/form/Label.tsx +5 -5
  1015. package/src/form/MenuItemInputToggle.tsx +46 -64
  1016. package/src/form/NativeSelect.tsx +6 -3
  1017. package/src/form/Option.tsx +8 -2
  1018. package/src/form/ResizingTextAreaWrapper.tsx +75 -0
  1019. package/src/form/Select.tsx +251 -327
  1020. package/src/form/SelectedOption.tsx +55 -0
  1021. package/src/form/TextArea.tsx +40 -32
  1022. package/src/form/TextField.tsx +19 -19
  1023. package/src/form/TextFieldContainerStyles.ts +7 -7
  1024. package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
  1025. package/src/form/__tests__/MenuItemRadio.tsx +53 -0
  1026. package/src/form/__tests__/Select.tsx +439 -0
  1027. package/src/form/__tests__/TextArea.tsx +433 -0
  1028. package/src/form/__tests__/TextField.tsx +195 -0
  1029. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
  1030. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
  1031. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
  1032. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  1033. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +548 -0
  1034. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +279 -0
  1035. package/src/form/__tests__/useFormReset.tsx +195 -0
  1036. package/src/form/_form.scss +1336 -1260
  1037. package/src/form/menuItemInputToggleStyles.ts +78 -0
  1038. package/src/form/selectUtils.ts +3 -14
  1039. package/src/form/textAreaStyles.ts +2 -2
  1040. package/src/form/types.ts +6 -8
  1041. package/src/form/useCombobox.ts +523 -0
  1042. package/src/form/useEditableCombobox.ts +139 -0
  1043. package/src/form/useFormReset.ts +48 -0
  1044. package/src/form/useListboxProvider.ts +9 -7
  1045. package/src/form/useResizingTextArea.ts +66 -25
  1046. package/src/form/useSelectCombobox.ts +70 -0
  1047. package/src/form/utils.ts +17 -4
  1048. package/src/icon/IconRotator.tsx +1 -2
  1049. package/src/icon/_icon.scss +105 -112
  1050. package/src/index.ts +22 -1
  1051. package/src/interaction/_interaction.scss +144 -135
  1052. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  1053. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  1054. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  1055. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  1056. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  1057. package/src/layout/_layout.scss +82 -86
  1058. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  1059. package/src/link/_link.scss +74 -66
  1060. package/src/list/ListItem.tsx +20 -13
  1061. package/src/list/ListItemAddon.tsx +5 -3
  1062. package/src/list/ListItemChildren.tsx +4 -2
  1063. package/src/list/ListItemLink.tsx +4 -4
  1064. package/src/list/__tests__/ListItem.tsx +1 -1
  1065. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  1066. package/src/list/__tests__/getListItemHeight.ts +2 -2
  1067. package/src/list/_list.scss +187 -184
  1068. package/src/list/getListItemHeight.ts +2 -3
  1069. package/src/list/listItemStyles.ts +15 -5
  1070. package/src/list/types.ts +28 -6
  1071. package/src/menu/Menu.tsx +10 -2
  1072. package/src/menu/MenuItemCircularProgress.tsx +116 -0
  1073. package/src/menu/__tests__/MenuItemCircularProgress.tsx +39 -0
  1074. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +68 -0
  1075. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  1076. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  1077. package/src/menu/_menu.scss +29 -50
  1078. package/src/menu/useContextMenu.ts +3 -3
  1079. package/src/movement/types.ts +50 -25
  1080. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  1081. package/src/movement/utils.ts +12 -2
  1082. package/src/overlay/_overlay.scss +39 -42
  1083. package/src/portal/PortalContainerProvider.tsx +10 -2
  1084. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  1085. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  1086. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
  1087. package/src/positioning/useFixedPositioning.ts +0 -6
  1088. package/src/progress/_progress.scss +33 -33
  1089. package/src/responsive-item/_responsive-item.scss +91 -89
  1090. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  1091. package/src/searching/__tests__/fuzzy.ts +169 -0
  1092. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  1093. package/src/searching/__tests__/useFuzzyMatch.tsx +200 -0
  1094. package/src/searching/caseInsensitive.ts +200 -0
  1095. package/src/searching/fuzzy.ts +175 -0
  1096. package/src/searching/toSearchQuery.ts +20 -0
  1097. package/src/searching/types.ts +34 -0
  1098. package/src/searching/useFuzzyMatch.ts +42 -0
  1099. package/src/searching/utils.ts +53 -0
  1100. package/src/segmented-button/_segmented-button.scss +86 -92
  1101. package/src/sheet/_sheet.scss +107 -123
  1102. package/src/sheet/styles.ts +14 -15
  1103. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  1104. package/src/snackbar/Snackbar.tsx +28 -32
  1105. package/src/snackbar/Toast.tsx +7 -2
  1106. package/src/snackbar/ToastManager.tsx +3 -2
  1107. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  1108. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  1109. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  1110. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  1111. package/src/snackbar/_snackbar.scss +148 -144
  1112. package/src/snackbar/snackbarStyles.ts +3 -1
  1113. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  1114. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  1115. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  1116. package/src/table/TableCheckbox.tsx +4 -2
  1117. package/src/table/TableRadio.tsx +4 -2
  1118. package/src/table/_table.scss +214 -227
  1119. package/src/table/tableCellStyles.ts +1 -1
  1120. package/src/tabs/Tab.tsx +110 -70
  1121. package/src/tabs/__tests__/Tab.tsx +25 -2
  1122. package/src/tabs/__tests__/TabList.tsx +4 -4
  1123. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  1124. package/src/tabs/_tabs.scss +62 -53
  1125. package/src/tabs/tabIndicatorStyles.ts +13 -3
  1126. package/src/tabs/tabListStyles.ts +1 -1
  1127. package/src/tabs/tabStyles.ts +16 -4
  1128. package/src/tabs/useTabList.ts +10 -8
  1129. package/src/test-utils/ResizeObserver.ts +100 -53
  1130. package/src/test-utils/__tests__/ResizeObserver.ts +1 -1
  1131. package/src/test-utils/data-testid.ts +5 -1
  1132. package/src/test-utils/matchMedia.ts +2 -2
  1133. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  1134. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  1135. package/src/test-utils/polyfills/index.ts +2 -0
  1136. package/src/theme/_theme.scss +243 -133
  1137. package/src/tooltip/_tooltip.scss +76 -83
  1138. package/src/tooltip/useTooltip.ts +23 -16
  1139. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  1140. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  1141. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  1142. package/src/transition/__tests__/utils.ts +25 -0
  1143. package/src/transition/_transition.scss +89 -78
  1144. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  1145. package/src/transition/useCollapseTransition.ts +6 -24
  1146. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  1147. package/src/transition/utils.ts +10 -5
  1148. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  1149. package/src/tree/Tree.tsx +8 -4
  1150. package/src/tree/TreeItem.tsx +3 -4
  1151. package/src/tree/__tests__/Tree.tsx +1 -1
  1152. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  1153. package/src/tree/_tree.scss +111 -109
  1154. package/src/tree/styles.ts +0 -9
  1155. package/src/tree/useTreeMovement.ts +1 -1
  1156. package/src/types.ts +13 -0
  1157. package/src/typography/SrOnly.tsx +9 -9
  1158. package/src/typography/Typography.tsx +19 -19
  1159. package/src/typography/WritingDirectionProvider.tsx +4 -2
  1160. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
  1161. package/src/typography/_typography.scss +141 -87
  1162. package/src/useDebouncedFunction.ts +12 -10
  1163. package/src/useElementSize.ts +83 -0
  1164. package/src/useEnsuredState.ts +1 -1
  1165. package/src/useResizeListener.ts +3 -1
  1166. package/src/useResizeObserver.ts +8 -45
  1167. package/src/useThrottledFunction.ts +12 -10
  1168. package/src/useWindowSize.ts +29 -19
  1169. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  1170. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  1171. package/src/utils/alphaNumericSort.ts +3 -16
  1172. package/src/utils/getMiddleOfRange.ts +26 -0
  1173. package/src/utils/getRangeDefaultValue.ts +8 -15
  1174. package/src/utils/getRangeSteps.ts +2 -2
  1175. package/src/utils/nearest.ts +1 -1
  1176. package/src/window-splitter/_window-splitter.scss +83 -112
  1177. package/src/window-splitter/useWindowSplitter.ts +12 -28
  1178. package/tsconfig.types.json +1 -1
  1179. package/dist/divider/VerticalDivider.d.ts +0 -32
  1180. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  1181. package/dist/form/SelectValue.d.ts +0 -17
  1182. package/dist/form/SelectValue.js +0 -32
  1183. package/dist/form/SelectValue.js.map +0 -1
  1184. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  1185. package/dist/icon/MaterialIconsProvider.js +0 -17
  1186. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  1187. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  1188. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  1189. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  1190. package/dist/link/LinkProvider.d.ts +0 -29
  1191. package/dist/menu/menuConfig.d.ts +0 -60
  1192. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  1193. package/dist/utils/filters.d.ts +0 -196
  1194. package/dist/utils/filters.js +0 -67
  1195. package/dist/utils/filters.js.map +0 -1
  1196. package/src/form/SelectValue.tsx +0 -39
  1197. package/src/utils/__tests__/filters.ts +0 -279
  1198. package/src/utils/filters.ts +0 -320
@@ -10,24 +10,24 @@ import { cssUtils } from "../cssUtils.js";
10
10
  * @example
11
11
  * Simple Example
12
12
  * ```ts
13
- * import { getTypographyClassName } from "@react-md/core";
13
+ * import { typography } from "@react-md/core";
14
14
  *
15
15
  * function Example() {
16
16
  * return (
17
17
  * <>
18
- * <h1 className={getTypographyClassName({ type: "headline-1" })} />
19
- * <h2 className={getTypographyClassName({ type: "headline-2" })} />
20
- * <h3 className={getTypographyClassName({ type: "headline-3" })} />
21
- * <h4 className={getTypographyClassName({ type: "headline-4" })} />
22
- * <h5 className={getTypographyClassName({ type: "headline-5" })} />
23
- * <h6 className={getTypographyClassName({ type: "headline-6" })} />
24
- * <h5 className={getTypographyClassName({ type: "subtitle-1" })} />
25
- * <h6 className={getTypographyClassName({ type: "subtitle-2" })} />
26
- * <p className={getTypographyClassName()} />
27
- * <p className={getTypographyClassName({ type "body-1" })} />
28
- * <p className={getTypographyClassName({ type "body-1" })} />
29
- * <caption className={getTypographyClassName({ type: "caption" })} />
30
- * <span className={getTypographyClassName({ type: "overline" })} />
18
+ * <h1 className={typography({ type: "headline-1" })} />
19
+ * <h2 className={typography({ type: "headline-2" })} />
20
+ * <h3 className={typography({ type: "headline-3" })} />
21
+ * <h4 className={typography({ type: "headline-4" })} />
22
+ * <h5 className={typography({ type: "headline-5" })} />
23
+ * <h6 className={typography({ type: "headline-6" })} />
24
+ * <h5 className={typography({ type: "subtitle-1" })} />
25
+ * <h6 className={typography({ type: "subtitle-2" })} />
26
+ * <p className={typography()} />
27
+ * <p className={typography({ type "body-1" })} />
28
+ * <p className={typography({ type "body-1" })} />
29
+ * <caption className={typography({ type: "caption" })} />
30
+ * <span className={typography({ type: "overline" })} />
31
31
  * </>
32
32
  * );
33
33
  * }
@@ -36,14 +36,14 @@ import { cssUtils } from "../cssUtils.js";
36
36
  * @example
37
37
  * Applying Additional Styles
38
38
  * ```ts
39
- * import { getTypography } from "@react-md/core";
39
+ * import { typography } from "@react-md/core";
40
40
  *
41
41
  * function Example() {
42
42
  * return (
43
43
  * <>
44
44
  * <h1
45
45
  * // only maintain the default margin-bottom
46
- * className={getTypographyClassName({
46
+ * className={typography({
47
47
  * type: "headline-1",
48
48
  * margin: "bottom",
49
49
  * })}
@@ -51,7 +51,7 @@ import { cssUtils } from "../cssUtils.js";
51
51
  *
52
52
  * <h2
53
53
  * // remove all default margin
54
- * className={getTypographyClassName({
54
+ * className={typography({
55
55
  * type: "headline-2",
56
56
  * margin: "none",
57
57
  * })}
@@ -59,7 +59,7 @@ import { cssUtils } from "../cssUtils.js";
59
59
  *
60
60
  * <h3
61
61
  * // only maintain the default margin-top
62
- * className={getTypographyClassName({
62
+ * className={typography({
63
63
  * type: "headline-3",
64
64
  * margin: "top",
65
65
  * })}
@@ -67,7 +67,7 @@ import { cssUtils } from "../cssUtils.js";
67
67
  *
68
68
  * <p
69
69
  * // center the text, set to bold, and only maintain default margin-bottom
70
- * className={getTypographyClassName({
70
+ * className={typography({
71
71
  * type "subtitle-1",
72
72
  * align: "center",
73
73
  * margin: "bottom",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/typography/Typography.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n type ElementType,\n type HTMLAttributes,\n type ReactElement,\n} from \"react\";\nimport { cssUtils, type TextCssUtilsOptions } from \"../cssUtils.js\";\n\n/**\n * A union of all the material design provided typography styles. When used with\n * the Typography component, this will generate the correct typography className\n * to apply and determine what component to be rendered as if none was provided.\n *\n * @remarks \\@since 4.0.0\n */\nexport type TypographyType =\n | \"headline-1\"\n | \"headline-2\"\n | \"headline-3\"\n | \"headline-4\"\n | \"headline-5\"\n | \"headline-6\"\n | \"subtitle-1\"\n | \"subtitle-2\"\n | \"body-1\"\n | \"body-2\"\n | \"caption\"\n | \"overline\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface TypographyClassNameOptions extends TextCssUtilsOptions {\n className?: string;\n\n /**\n * @see {@link TypographyType}\n * @defaultValue `\"body-1\"`\n */\n type?: TypographyType;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport type NullableTypographyClassNameOptions = Omit<\n TypographyClassNameOptions,\n \"type\"\n> & {\n /**\n * When using the {@link typography} class name utility, the `type` can be set\n * to `null` to inherit font.\n *\n * @see {@link TypographyType}\n * @defaultValue `\"body-1\"`\n */\n type?: TypographyType | null;\n};\n\n/**\n * Get a typography class name based on different typography options. This is\n * only useful if you are unable to use the {@link Typography} component for\n * some reason.\n *\n * @example\n * Simple Example\n * ```ts\n * import { getTypographyClassName } from \"@react-md/core\";\n *\n * function Example() {\n * return (\n * <>\n * <h1 className={getTypographyClassName({ type: \"headline-1\" })} />\n * <h2 className={getTypographyClassName({ type: \"headline-2\" })} />\n * <h3 className={getTypographyClassName({ type: \"headline-3\" })} />\n * <h4 className={getTypographyClassName({ type: \"headline-4\" })} />\n * <h5 className={getTypographyClassName({ type: \"headline-5\" })} />\n * <h6 className={getTypographyClassName({ type: \"headline-6\" })} />\n * <h5 className={getTypographyClassName({ type: \"subtitle-1\" })} />\n * <h6 className={getTypographyClassName({ type: \"subtitle-2\" })} />\n * <p className={getTypographyClassName()} />\n * <p className={getTypographyClassName({ type \"body-1\" })} />\n * <p className={getTypographyClassName({ type \"body-1\" })} />\n * <caption className={getTypographyClassName({ type: \"caption\" })} />\n * <span className={getTypographyClassName({ type: \"overline\" })} />\n * </>\n * );\n * }\n * ```\n *\n * @example\n * Applying Additional Styles\n * ```ts\n * import { getTypography } from \"@react-md/core\";\n *\n * function Example() {\n * return (\n * <>\n * <h1\n * // only maintain the default margin-bottom\n * className={getTypographyClassName({\n * type: \"headline-1\",\n * margin: \"bottom\",\n * })}\n * />\n *\n * <h2\n * // remove all default margin\n * className={getTypographyClassName({\n * type: \"headline-2\",\n * margin: \"none\",\n * })}\n * />\n *\n * <h3\n * // only maintain the default margin-top\n * className={getTypographyClassName({\n * type: \"headline-3\",\n * margin: \"top\",\n * })}\n * />\n *\n * <p\n * // center the text, set to bold, and only maintain default margin-bottom\n * className={getTypographyClassName({\n * type \"subtitle-1\",\n * align: \"center\",\n * margin: \"bottom\",\n * })}\n * />\n * </>\n * );\n * }\n * ```\n *\n * @see {@link Typography}\n * @param options - An optional object of options used to create the typography\n * class name.\n * @returns a typography class name string\n * @remarks \\@since 6.0.0\n */\nexport function typography(\n options: NullableTypographyClassNameOptions = {}\n): string {\n const { type = \"body-1\" } = options;\n\n // using `&&` instead of `bem` since the latest version of typescript does not\n // support setting the same object key (empty string)\n return cnb(\n \"rmd-typography\",\n type && `rmd-typography--${type}`,\n cssUtils(options)\n );\n}\n\n/**\n * A union of the default supported elements that the `Typography` component can\n * be rendered as. This is mostly used for adding the correct `HTMLAttributes`\n * and enabling the forward ref.\n *\n * @remarks \\@since 4.0.0\n */\nexport type TypographyHTMLElement =\n | HTMLHeadingElement\n | HTMLParagraphElement\n | HTMLSpanElement\n | HTMLDivElement\n | HTMLAnchorElement\n | HTMLBodyElement\n | HTMLHtmlElement;\n\n/** @remarks \\@since 6.0.0 */\nexport type CustomTypographyComponent = ElementType<\n HTMLAttributes<TypographyHTMLElement> & { className: string }\n>;\n\n/** @internal */\nfunction getComponent(\n as: CustomTypographyComponent | undefined,\n type: TypographyType\n): ElementType {\n if (as) {\n return as;\n }\n\n switch (type) {\n case \"headline-1\":\n return \"h1\";\n case \"headline-2\":\n return \"h2\";\n case \"headline-3\":\n return \"h3\";\n case \"headline-4\":\n return \"h4\";\n case \"headline-5\":\n return \"h5\";\n case \"headline-6\":\n case \"subtitle-1\":\n case \"subtitle-2\":\n return \"h6\";\n case \"body-1\":\n case \"body-2\":\n return \"p\";\n case \"caption\":\n return \"caption\";\n default:\n return \"span\";\n }\n}\n\nexport interface TypographyProps\n extends HTMLAttributes<TypographyHTMLElement>,\n TypographyClassNameOptions {\n /**\n * The component to render as when the children are not a render function. If\n * this prop is omitted, the component will be determined by the `type` prop\n * where:\n *\n * - `\"headline-1\" -> <h1>`\n * - `\"headline-2\" -> <h2>`\n * - `\"headline-3\" -> <h3>`\n * - `\"headline-4\" -> <h4>`\n * - `\"headline-5\" -> <h5>`\n * - `\"headline-6\" -> <h6>`\n * - `\"subtitle-1\" -> <h5>`\n * - `\"subtitle-2\" -> <h6>`\n * - `\"body-1\" -> <p>`\n * - `\"body-2\" -> <p>`\n * - `\"caption\" -> <caption>`\n * - `\"overline\" -> <span>`\n */\n as?: CustomTypographyComponent;\n}\n\n/**\n * **Server Component**\n *\n * Render text with one of the material design typography styles applied and\n * optional styles like font-weight, font-style, text color, etc.\n *\n * @example\n * All Example\n * ```tsx\n * import { Typography } from \"@react-md/core\":\n *\n * export function Example() {\n * return (\n * <>\n * <Typography type=\"headline-1\">Headline 1</Typography>\n * <Typography type=\"headline-2\">Headline 2</Typography>\n * <Typography type=\"headline-3\">Headline 3</Typography>\n * <Typography type=\"headline-4\">Headline 4</Typography>\n * <Typography type=\"headline-5\">Headline 5</Typography>\n * <Typography type=\"headline-6\">Headline 6</Typography>\n * <Typography type=\"subtitle-1\">Subtitle 1</Typography>\n * <Typography type=\"subtitle-2\">Subtitle 2</Typography>\n * <Typography>\n * A paragraph of text.\n * </Typography>\n * <Typography type=\"body-1\">\n * A paragraph of text.\n * </Typography>\n * <Typography type=\"body-2\">\n * Another paragraph of text.\n * </Typography>\n * <Typography type=\"caption\" component=\"h5\">\n * Caption text\n * </Typography>\n * <Typography type=\"overline\" component=\"h5\">\n * Overline text\n * </Typography>\n * </>\n * ):\n * }\n * ```\n */\nexport const Typography = forwardRef<TypographyHTMLElement, TypographyProps>(\n function Typography(props, ref): ReactElement {\n const {\n as,\n type = \"body-1\",\n className,\n margin,\n fontStyle,\n fontWeight,\n textAlign,\n textColor,\n textDecoration,\n textTransform,\n textOverflow,\n children,\n ...remaining\n } = props;\n\n const Component = getComponent(as, type);\n return (\n <Component\n {...remaining}\n ref={ref}\n className={typography({\n type,\n margin,\n fontStyle,\n fontWeight,\n textAlign,\n textColor,\n textDecoration,\n textTransform,\n textOverflow,\n className,\n })}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["cnb","forwardRef","cssUtils","typography","options","type","getComponent","as","Typography","props","ref","className","margin","fontStyle","fontWeight","textAlign","textColor","textDecoration","textTransform","textOverflow","children","remaining","Component"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,QAIL,QAAQ;AACf,SAASC,QAAQ,QAAkC,iBAAiB;AAiDpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFC,GACD,OAAO,SAASC,WACdC,UAA8C,CAAC,CAAC;IAEhD,MAAM,EAAEC,OAAO,QAAQ,EAAE,GAAGD;IAE5B,8EAA8E;IAC9E,qDAAqD;IACrD,OAAOJ,IACL,kBACAK,QAAQ,CAAC,gBAAgB,EAAEA,KAAK,CAAC,EACjCH,SAASE;AAEb;AAuBA,cAAc,GACd,SAASE,aACPC,EAAyC,EACzCF,IAAoB;IAEpB,IAAIE,IAAI;QACN,OAAOA;IACT;IAEA,OAAQF;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCC,GACD,OAAO,MAAMG,2BAAaP,WACxB,SAASO,WAAWC,KAAK,EAAEC,GAAG;IAC5B,MAAM,EACJH,EAAE,EACFF,OAAO,QAAQ,EACfM,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,YAAY,EACZC,QAAQ,EACR,GAAGC,WACJ,GAAGZ;IAEJ,MAAMa,YAAYhB,aAAaC,IAAIF;IACnC,qBACE,KAACiB;QACE,GAAGD,SAAS;QACbX,KAAKA;QACLC,WAAWR,WAAW;YACpBE;YACAO;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAR;QACF;kBAECS;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/typography/Typography.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n type ElementType,\n type HTMLAttributes,\n type ReactElement,\n} from \"react\";\nimport { cssUtils, type TextCssUtilsOptions } from \"../cssUtils.js\";\n\n/**\n * A union of all the material design provided typography styles. When used with\n * the Typography component, this will generate the correct typography className\n * to apply and determine what component to be rendered as if none was provided.\n *\n * @remarks \\@since 4.0.0\n */\nexport type TypographyType =\n | \"headline-1\"\n | \"headline-2\"\n | \"headline-3\"\n | \"headline-4\"\n | \"headline-5\"\n | \"headline-6\"\n | \"subtitle-1\"\n | \"subtitle-2\"\n | \"body-1\"\n | \"body-2\"\n | \"caption\"\n | \"overline\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface TypographyClassNameOptions extends TextCssUtilsOptions {\n className?: string;\n\n /**\n * @see {@link TypographyType}\n * @defaultValue `\"body-1\"`\n */\n type?: TypographyType;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport type NullableTypographyClassNameOptions = Omit<\n TypographyClassNameOptions,\n \"type\"\n> & {\n /**\n * When using the {@link typography} class name utility, the `type` can be set\n * to `null` to inherit font.\n *\n * @see {@link TypographyType}\n * @defaultValue `\"body-1\"`\n */\n type?: TypographyType | null;\n};\n\n/**\n * Get a typography class name based on different typography options. This is\n * only useful if you are unable to use the {@link Typography} component for\n * some reason.\n *\n * @example\n * Simple Example\n * ```ts\n * import { typography } from \"@react-md/core\";\n *\n * function Example() {\n * return (\n * <>\n * <h1 className={typography({ type: \"headline-1\" })} />\n * <h2 className={typography({ type: \"headline-2\" })} />\n * <h3 className={typography({ type: \"headline-3\" })} />\n * <h4 className={typography({ type: \"headline-4\" })} />\n * <h5 className={typography({ type: \"headline-5\" })} />\n * <h6 className={typography({ type: \"headline-6\" })} />\n * <h5 className={typography({ type: \"subtitle-1\" })} />\n * <h6 className={typography({ type: \"subtitle-2\" })} />\n * <p className={typography()} />\n * <p className={typography({ type \"body-1\" })} />\n * <p className={typography({ type \"body-1\" })} />\n * <caption className={typography({ type: \"caption\" })} />\n * <span className={typography({ type: \"overline\" })} />\n * </>\n * );\n * }\n * ```\n *\n * @example\n * Applying Additional Styles\n * ```ts\n * import { typography } from \"@react-md/core\";\n *\n * function Example() {\n * return (\n * <>\n * <h1\n * // only maintain the default margin-bottom\n * className={typography({\n * type: \"headline-1\",\n * margin: \"bottom\",\n * })}\n * />\n *\n * <h2\n * // remove all default margin\n * className={typography({\n * type: \"headline-2\",\n * margin: \"none\",\n * })}\n * />\n *\n * <h3\n * // only maintain the default margin-top\n * className={typography({\n * type: \"headline-3\",\n * margin: \"top\",\n * })}\n * />\n *\n * <p\n * // center the text, set to bold, and only maintain default margin-bottom\n * className={typography({\n * type \"subtitle-1\",\n * align: \"center\",\n * margin: \"bottom\",\n * })}\n * />\n * </>\n * );\n * }\n * ```\n *\n * @see {@link Typography}\n * @param options - An optional object of options used to create the typography\n * class name.\n * @returns a typography class name string\n * @remarks \\@since 6.0.0\n */\nexport function typography(\n options: NullableTypographyClassNameOptions = {}\n): string {\n const { type = \"body-1\" } = options;\n\n // using `&&` instead of `bem` since the latest version of typescript does not\n // support setting the same object key (empty string)\n return cnb(\n \"rmd-typography\",\n type && `rmd-typography--${type}`,\n cssUtils(options)\n );\n}\n\n/**\n * A union of the default supported elements that the `Typography` component can\n * be rendered as. This is mostly used for adding the correct `HTMLAttributes`\n * and enabling the forward ref.\n *\n * @remarks \\@since 4.0.0\n */\nexport type TypographyHTMLElement =\n | HTMLHeadingElement\n | HTMLParagraphElement\n | HTMLSpanElement\n | HTMLDivElement\n | HTMLAnchorElement\n | HTMLBodyElement\n | HTMLHtmlElement;\n\n/** @remarks \\@since 6.0.0 */\nexport type CustomTypographyComponent = ElementType<\n HTMLAttributes<TypographyHTMLElement> & { className: string }\n>;\n\n/** @internal */\nfunction getComponent(\n as: CustomTypographyComponent | undefined,\n type: TypographyType\n): ElementType {\n if (as) {\n return as;\n }\n\n switch (type) {\n case \"headline-1\":\n return \"h1\";\n case \"headline-2\":\n return \"h2\";\n case \"headline-3\":\n return \"h3\";\n case \"headline-4\":\n return \"h4\";\n case \"headline-5\":\n return \"h5\";\n case \"headline-6\":\n case \"subtitle-1\":\n case \"subtitle-2\":\n return \"h6\";\n case \"body-1\":\n case \"body-2\":\n return \"p\";\n case \"caption\":\n return \"caption\";\n default:\n return \"span\";\n }\n}\n\nexport interface TypographyProps\n extends HTMLAttributes<TypographyHTMLElement>,\n TypographyClassNameOptions {\n /**\n * The component to render as when the children are not a render function. If\n * this prop is omitted, the component will be determined by the `type` prop\n * where:\n *\n * - `\"headline-1\" -> <h1>`\n * - `\"headline-2\" -> <h2>`\n * - `\"headline-3\" -> <h3>`\n * - `\"headline-4\" -> <h4>`\n * - `\"headline-5\" -> <h5>`\n * - `\"headline-6\" -> <h6>`\n * - `\"subtitle-1\" -> <h5>`\n * - `\"subtitle-2\" -> <h6>`\n * - `\"body-1\" -> <p>`\n * - `\"body-2\" -> <p>`\n * - `\"caption\" -> <caption>`\n * - `\"overline\" -> <span>`\n */\n as?: CustomTypographyComponent;\n}\n\n/**\n * **Server Component**\n *\n * Render text with one of the material design typography styles applied and\n * optional styles like font-weight, font-style, text color, etc.\n *\n * @example\n * All Example\n * ```tsx\n * import { Typography } from \"@react-md/core\":\n *\n * export function Example() {\n * return (\n * <>\n * <Typography type=\"headline-1\">Headline 1</Typography>\n * <Typography type=\"headline-2\">Headline 2</Typography>\n * <Typography type=\"headline-3\">Headline 3</Typography>\n * <Typography type=\"headline-4\">Headline 4</Typography>\n * <Typography type=\"headline-5\">Headline 5</Typography>\n * <Typography type=\"headline-6\">Headline 6</Typography>\n * <Typography type=\"subtitle-1\">Subtitle 1</Typography>\n * <Typography type=\"subtitle-2\">Subtitle 2</Typography>\n * <Typography>\n * A paragraph of text.\n * </Typography>\n * <Typography type=\"body-1\">\n * A paragraph of text.\n * </Typography>\n * <Typography type=\"body-2\">\n * Another paragraph of text.\n * </Typography>\n * <Typography type=\"caption\" component=\"h5\">\n * Caption text\n * </Typography>\n * <Typography type=\"overline\" component=\"h5\">\n * Overline text\n * </Typography>\n * </>\n * ):\n * }\n * ```\n */\nexport const Typography = forwardRef<TypographyHTMLElement, TypographyProps>(\n function Typography(props, ref): ReactElement {\n const {\n as,\n type = \"body-1\",\n className,\n margin,\n fontStyle,\n fontWeight,\n textAlign,\n textColor,\n textDecoration,\n textTransform,\n textOverflow,\n children,\n ...remaining\n } = props;\n\n const Component = getComponent(as, type);\n return (\n <Component\n {...remaining}\n ref={ref}\n className={typography({\n type,\n margin,\n fontStyle,\n fontWeight,\n textAlign,\n textColor,\n textDecoration,\n textTransform,\n textOverflow,\n className,\n })}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["cnb","forwardRef","cssUtils","typography","options","type","getComponent","as","Typography","props","ref","className","margin","fontStyle","fontWeight","textAlign","textColor","textDecoration","textTransform","textOverflow","children","remaining","Component"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,QAIL,QAAQ;AACf,SAASC,QAAQ,QAAkC,iBAAiB;AAiDpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFC,GACD,OAAO,SAASC,WACdC,UAA8C,CAAC,CAAC;IAEhD,MAAM,EAAEC,OAAO,QAAQ,EAAE,GAAGD;IAE5B,8EAA8E;IAC9E,qDAAqD;IACrD,OAAOJ,IACL,kBACAK,QAAQ,CAAC,gBAAgB,EAAEA,KAAK,CAAC,EACjCH,SAASE;AAEb;AAuBA,cAAc,GACd,SAASE,aACPC,EAAyC,EACzCF,IAAoB;IAEpB,IAAIE,IAAI;QACN,OAAOA;IACT;IAEA,OAAQF;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCC,GACD,OAAO,MAAMG,2BAAaP,WACxB,SAASO,WAAWC,KAAK,EAAEC,GAAG;IAC5B,MAAM,EACJH,EAAE,EACFF,OAAO,QAAQ,EACfM,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,YAAY,EACZC,QAAQ,EACR,GAAGC,WACJ,GAAGZ;IAEJ,MAAMa,YAAYhB,aAAaC,IAAIF;IACnC,qBACE,KAACiB;QACE,GAAGD,SAAS;QACbX,KAAKA;QACLC,WAAWR,WAAW;YACpBE;YACAO;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAR;QACF;kBAECS;;AAGP,GACA"}
@@ -1,4 +1,4 @@
1
- import { type ReactElement } from "react";
1
+ import { type ReactElement, type ReactNode } from "react";
2
2
  import { type UseStateInitializer } from "../types.js";
3
3
  /**
4
4
  * Note: unlike the `dir` DOM attribute, the `"auto"` value is not supported.
@@ -52,7 +52,7 @@ export interface WritingDirectionProviderProps {
52
52
  */
53
53
  children: ReactElement<{
54
54
  dir?: Dir;
55
- }>;
55
+ }> | ReactNode;
56
56
  /**
57
57
  * The default writing direction for your app or a subtree. To change the
58
58
  * current writing direction, use the `useDir` hook to get access to the
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { Children, cloneElement, createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
3
+ import { Children, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useMemo, useState } from "react";
4
4
  const context = /*#__PURE__*/ createContext({
5
5
  root: true,
6
6
  dir: "ltr",
@@ -157,7 +157,7 @@ const { Provider } = context;
157
157
  toggleDir
158
158
  ]);
159
159
  let child = Children.only(children);
160
- if (!root) {
160
+ if (!root && /*#__PURE__*/ isValidElement(child)) {
161
161
  child = /*#__PURE__*/ cloneElement(child, {
162
162
  dir
163
163
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/typography/WritingDirectionProvider.tsx"],"sourcesContent":["\"use client\";\nimport {\n Children,\n cloneElement,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n type ReactElement,\n} from \"react\";\nimport { type UseStateInitializer } from \"../types.js\";\n\n/**\n * Note: unlike the `dir` DOM attribute, the `\"auto\"` value is not supported.\n *\n * @remarks \\@since 6.0.0\n */\nexport type Dir = \"ltr\" | \"rtl\";\n\n/** @remarks \\@since 6.0.0 */\nexport type DefaultDir = UseStateInitializer<Dir>;\n\n/** @remarks \\@since 2.3.0 */\nexport interface WritingDirectionContext {\n /**\n * The current writing direction that is being inherited.\n */\n dir: Dir;\n\n /**\n * Toggles the current writing direction for the first parent `Dir` component.\n */\n toggleDir(): void;\n}\n\n/** @internal */\ninterface InheritableContext extends WritingDirectionContext {\n root: boolean;\n}\n\nconst context = createContext<InheritableContext>({\n root: true,\n dir: \"ltr\",\n toggleDir: () => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"Tried to toggle the current writing direction without initializing the `Dir` component.\"\n );\n }\n },\n});\ncontext.displayName = \"WritingDirection\";\nconst { Provider } = context;\n\n/**\n * Gets the writing direction context which provides access to the current `dir`\n * and a `toggleDir` function.\n *\n * @example\n * Manually Changing the Writing Direction\n * ```tsx\n * import { useDir } from \"@react-md/core\";\n *\n * function Example() {\n * const { dir, toggleDir } = useDir();\n *\n * return (\n * <>\n * <p>{`The current dir is: \"${dir}\"`}</p>\n * <button type=\"button\" onClick={toggleDir}>Toggle</button>\n * </>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useDir(): Readonly<WritingDirectionContext> {\n const { root: _root, ...current } = useContext(context);\n return current;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface WritingDirectionProviderProps {\n /**\n * A single ReactElement child. If the `WritingDirection` has a parent\n * `WritingDirection`, the child will have the `dir` prop cloned into this\n * element.\n */\n children: ReactElement<{ dir?: Dir }>;\n\n /**\n * The default writing direction for your app or a subtree. To change the\n * current writing direction, use the `useDir` hook to get access to the\n * current `dir` and the `toggleDir` function.\n *\n * @defaultValue `\"ltr\"`\n * @see {@link DEFAULT_WRITING_DIRECTION}\n */\n defaultDir?: DefaultDir;\n}\n\n/**\n * In the browser, this will default to the `<html>`'s `dir` value if one\n * exists. If the `dir` attribute does not exist, it will default to `\"ltr\"`.\n *\n * In node environments, this will default to `\"ltr\"`.\n *\n * @remarks \\@since 6.0.0\n */\nexport const DEFAULT_WRITING_DIRECTION = (): Dir => {\n let dir: Dir = \"ltr\";\n if (typeof document !== \"undefined\") {\n const rootDir = document.documentElement.getAttribute(\"dir\");\n dir = rootDir === \"rtl\" ? \"rtl\" : \"ltr\";\n }\n\n return dir;\n};\n\n/**\n * **Client Component**\n *\n * The `WritingDirection` component is used to handle the current writing\n * direction within your app as well as conditionally updating the writing\n * direction for small sections in your app. When this component is used for the\n * first time near the root of your React component tree, the current direction\n * will be applied to the root `<html>` element. Otherwise the current dir will\n * be cloned into the child element so it can be passed as a prop.\n *\n * Note: Since the `dir` is cloned into the child element, you need to make sure\n * that the child is either a DOM element or the `dir` prop is passed from your\n * custom component.\n *\n * @example\n * Root Setup\n * ```tsx\n * import { createRoot } from \"react-dom/client\";\n * import { WritingDirection } from \"@react-md/core\";\n * import App from \"./App.js\":\n *\n * const container = document.getElementById(\"root\");\n * const root = createRoot(container);\n *\n * root.render(\n * <WritingDirection>\n * <App />\n * </WritingDirection>\n * );\n * ```\n *\n * @example\n * Supporting RTL Languages\n * ```tsx\n * import { createRoot } from \"react-dom/client\";\n * import { WritingDirection } from \"@react-md/core\";\n * import type { Dir } from \"@react-md/core\";\n * import App from \"./App.js\":\n *\n * const container = document.getElementById(\"root\");\n * const root = createRoot(container);\n *\n * // see https://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code\n * const SUPPORTED_RTL_LANGUAGES = [\n * \"ar\",\n * \"arc\",\n * \"ckb\",\n * \"dv\",\n * \"fa\",\n * \"ha\",\n * \"he\",\n * \"khw\",\n * \"ks\",\n * \"ps\",\n * \"sd\",\n * \"ur\",\n * \"uz_AF\",\n * \"ti\",\n * ];\n *\n * const defaultDir = (): Dir => {\n * if (SUPPORTED_RTL_LANGUAGES.includes(navigator.language)) {\n * return \"rtl\"\n * }\n *\n * return \"ltr\";\n * }\n *\n * root.render(\n * <WritingDirection defaultDir={defaultDir}>\n * <App />\n * </WritingDirection>\n * );\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function WritingDirectionProvider(\n props: WritingDirectionProviderProps\n): ReactElement {\n const { children, defaultDir = DEFAULT_WRITING_DIRECTION } = props;\n const { root } = useContext(context);\n const [dir, setDir] = useState(defaultDir);\n useEffect(() => {\n if (!root || typeof document === \"undefined\") {\n return;\n }\n\n document.documentElement.setAttribute(\"dir\", dir);\n\n return () => {\n document.documentElement.removeAttribute(\"dir\");\n };\n }, [dir, root]);\n\n const toggleDir = useCallback(() => {\n setDir((prevDir) => (prevDir === \"ltr\" ? \"rtl\" : \"ltr\"));\n }, []);\n\n const value = useMemo<InheritableContext>(\n () => ({ root: false, dir, toggleDir }),\n [dir, toggleDir]\n );\n let child = Children.only(children);\n if (!root) {\n child = cloneElement(child, { dir });\n }\n\n return <Provider value={value}>{child}</Provider>;\n}\n"],"names":["Children","cloneElement","createContext","useCallback","useContext","useEffect","useMemo","useState","context","root","dir","toggleDir","process","env","NODE_ENV","Error","displayName","Provider","useDir","_root","current","DEFAULT_WRITING_DIRECTION","document","rootDir","documentElement","getAttribute","WritingDirectionProvider","props","children","defaultDir","setDir","setAttribute","removeAttribute","prevDir","value","child","only"],"mappings":"AAAA;;AACA,SACEA,QAAQ,EACRC,YAAY,EACZC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,QAAQ,QAEH,QAAQ;AA+Bf,MAAMC,wBAAUN,cAAkC;IAChDO,MAAM;IACNC,KAAK;IACLC,WAAW;QACT,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,MAAM,IAAIC,MACR;QAEJ;IACF;AACF;AACAP,QAAQQ,WAAW,GAAG;AACtB,MAAM,EAAEC,QAAQ,EAAE,GAAGT;AAErB;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,SAASU;IACd,MAAM,EAAET,MAAMU,KAAK,EAAE,GAAGC,SAAS,GAAGhB,WAAWI;IAC/C,OAAOY;AACT;AAsBA;;;;;;;CAOC,GACD,OAAO,MAAMC,4BAA4B;IACvC,IAAIX,MAAW;IACf,IAAI,OAAOY,aAAa,aAAa;QACnC,MAAMC,UAAUD,SAASE,eAAe,CAACC,YAAY,CAAC;QACtDf,MAAMa,YAAY,QAAQ,QAAQ;IACpC;IAEA,OAAOb;AACT,EAAE;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EC,GACD,OAAO,SAASgB,yBACdC,KAAoC;IAEpC,MAAM,EAAEC,QAAQ,EAAEC,aAAaR,yBAAyB,EAAE,GAAGM;IAC7D,MAAM,EAAElB,IAAI,EAAE,GAAGL,WAAWI;IAC5B,MAAM,CAACE,KAAKoB,OAAO,GAAGvB,SAASsB;IAC/BxB,UAAU;QACR,IAAI,CAACI,QAAQ,OAAOa,aAAa,aAAa;YAC5C;QACF;QAEAA,SAASE,eAAe,CAACO,YAAY,CAAC,OAAOrB;QAE7C,OAAO;YACLY,SAASE,eAAe,CAACQ,eAAe,CAAC;QAC3C;IACF,GAAG;QAACtB;QAAKD;KAAK;IAEd,MAAME,YAAYR,YAAY;QAC5B2B,OAAO,CAACG,UAAaA,YAAY,QAAQ,QAAQ;IACnD,GAAG,EAAE;IAEL,MAAMC,QAAQ5B,QACZ,IAAO,CAAA;YAAEG,MAAM;YAAOC;YAAKC;QAAU,CAAA,GACrC;QAACD;QAAKC;KAAU;IAElB,IAAIwB,QAAQnC,SAASoC,IAAI,CAACR;IAC1B,IAAI,CAACnB,MAAM;QACT0B,sBAAQlC,aAAakC,OAAO;YAAEzB;QAAI;IACpC;IAEA,qBAAO,KAACO;QAASiB,OAAOA;kBAAQC;;AAClC"}
1
+ {"version":3,"sources":["../../src/typography/WritingDirectionProvider.tsx"],"sourcesContent":["\"use client\";\nimport {\n Children,\n cloneElement,\n createContext,\n isValidElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { type UseStateInitializer } from \"../types.js\";\n\n/**\n * Note: unlike the `dir` DOM attribute, the `\"auto\"` value is not supported.\n *\n * @remarks \\@since 6.0.0\n */\nexport type Dir = \"ltr\" | \"rtl\";\n\n/** @remarks \\@since 6.0.0 */\nexport type DefaultDir = UseStateInitializer<Dir>;\n\n/** @remarks \\@since 2.3.0 */\nexport interface WritingDirectionContext {\n /**\n * The current writing direction that is being inherited.\n */\n dir: Dir;\n\n /**\n * Toggles the current writing direction for the first parent `Dir` component.\n */\n toggleDir(): void;\n}\n\n/** @internal */\ninterface InheritableContext extends WritingDirectionContext {\n root: boolean;\n}\n\nconst context = createContext<InheritableContext>({\n root: true,\n dir: \"ltr\",\n toggleDir: () => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"Tried to toggle the current writing direction without initializing the `Dir` component.\"\n );\n }\n },\n});\ncontext.displayName = \"WritingDirection\";\nconst { Provider } = context;\n\n/**\n * Gets the writing direction context which provides access to the current `dir`\n * and a `toggleDir` function.\n *\n * @example\n * Manually Changing the Writing Direction\n * ```tsx\n * import { useDir } from \"@react-md/core\";\n *\n * function Example() {\n * const { dir, toggleDir } = useDir();\n *\n * return (\n * <>\n * <p>{`The current dir is: \"${dir}\"`}</p>\n * <button type=\"button\" onClick={toggleDir}>Toggle</button>\n * </>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useDir(): Readonly<WritingDirectionContext> {\n const { root: _root, ...current } = useContext(context);\n return current;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface WritingDirectionProviderProps {\n /**\n * A single ReactElement child. If the `WritingDirection` has a parent\n * `WritingDirection`, the child will have the `dir` prop cloned into this\n * element.\n */\n children: ReactElement<{ dir?: Dir }> | ReactNode;\n\n /**\n * The default writing direction for your app or a subtree. To change the\n * current writing direction, use the `useDir` hook to get access to the\n * current `dir` and the `toggleDir` function.\n *\n * @defaultValue `\"ltr\"`\n * @see {@link DEFAULT_WRITING_DIRECTION}\n */\n defaultDir?: DefaultDir;\n}\n\n/**\n * In the browser, this will default to the `<html>`'s `dir` value if one\n * exists. If the `dir` attribute does not exist, it will default to `\"ltr\"`.\n *\n * In node environments, this will default to `\"ltr\"`.\n *\n * @remarks \\@since 6.0.0\n */\nexport const DEFAULT_WRITING_DIRECTION = (): Dir => {\n let dir: Dir = \"ltr\";\n if (typeof document !== \"undefined\") {\n const rootDir = document.documentElement.getAttribute(\"dir\");\n dir = rootDir === \"rtl\" ? \"rtl\" : \"ltr\";\n }\n\n return dir;\n};\n\n/**\n * **Client Component**\n *\n * The `WritingDirection` component is used to handle the current writing\n * direction within your app as well as conditionally updating the writing\n * direction for small sections in your app. When this component is used for the\n * first time near the root of your React component tree, the current direction\n * will be applied to the root `<html>` element. Otherwise the current dir will\n * be cloned into the child element so it can be passed as a prop.\n *\n * Note: Since the `dir` is cloned into the child element, you need to make sure\n * that the child is either a DOM element or the `dir` prop is passed from your\n * custom component.\n *\n * @example\n * Root Setup\n * ```tsx\n * import { createRoot } from \"react-dom/client\";\n * import { WritingDirection } from \"@react-md/core\";\n * import App from \"./App.js\":\n *\n * const container = document.getElementById(\"root\");\n * const root = createRoot(container);\n *\n * root.render(\n * <WritingDirection>\n * <App />\n * </WritingDirection>\n * );\n * ```\n *\n * @example\n * Supporting RTL Languages\n * ```tsx\n * import { createRoot } from \"react-dom/client\";\n * import { WritingDirection } from \"@react-md/core\";\n * import type { Dir } from \"@react-md/core\";\n * import App from \"./App.js\":\n *\n * const container = document.getElementById(\"root\");\n * const root = createRoot(container);\n *\n * // see https://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code\n * const SUPPORTED_RTL_LANGUAGES = [\n * \"ar\",\n * \"arc\",\n * \"ckb\",\n * \"dv\",\n * \"fa\",\n * \"ha\",\n * \"he\",\n * \"khw\",\n * \"ks\",\n * \"ps\",\n * \"sd\",\n * \"ur\",\n * \"uz_AF\",\n * \"ti\",\n * ];\n *\n * const defaultDir = (): Dir => {\n * if (SUPPORTED_RTL_LANGUAGES.includes(navigator.language)) {\n * return \"rtl\"\n * }\n *\n * return \"ltr\";\n * }\n *\n * root.render(\n * <WritingDirection defaultDir={defaultDir}>\n * <App />\n * </WritingDirection>\n * );\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function WritingDirectionProvider(\n props: WritingDirectionProviderProps\n): ReactElement {\n const { children, defaultDir = DEFAULT_WRITING_DIRECTION } = props;\n const { root } = useContext(context);\n const [dir, setDir] = useState(defaultDir);\n useEffect(() => {\n if (!root || typeof document === \"undefined\") {\n return;\n }\n\n document.documentElement.setAttribute(\"dir\", dir);\n\n return () => {\n document.documentElement.removeAttribute(\"dir\");\n };\n }, [dir, root]);\n\n const toggleDir = useCallback(() => {\n setDir((prevDir) => (prevDir === \"ltr\" ? \"rtl\" : \"ltr\"));\n }, []);\n\n const value = useMemo<InheritableContext>(\n () => ({ root: false, dir, toggleDir }),\n [dir, toggleDir]\n );\n let child = Children.only(children);\n if (!root && isValidElement<{ dir: Dir }>(child)) {\n child = cloneElement(child, { dir });\n }\n\n return <Provider value={value}>{child}</Provider>;\n}\n"],"names":["Children","cloneElement","createContext","isValidElement","useCallback","useContext","useEffect","useMemo","useState","context","root","dir","toggleDir","process","env","NODE_ENV","Error","displayName","Provider","useDir","_root","current","DEFAULT_WRITING_DIRECTION","document","rootDir","documentElement","getAttribute","WritingDirectionProvider","props","children","defaultDir","setDir","setAttribute","removeAttribute","prevDir","value","child","only"],"mappings":"AAAA;;AACA,SACEA,QAAQ,EACRC,YAAY,EACZC,aAAa,EACbC,cAAc,EACdC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,QAAQ,QAGH,QAAQ;AA+Bf,MAAMC,wBAAUP,cAAkC;IAChDQ,MAAM;IACNC,KAAK;IACLC,WAAW;QACT,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,MAAM,IAAIC,MACR;QAEJ;IACF;AACF;AACAP,QAAQQ,WAAW,GAAG;AACtB,MAAM,EAAEC,QAAQ,EAAE,GAAGT;AAErB;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,SAASU;IACd,MAAM,EAAET,MAAMU,KAAK,EAAE,GAAGC,SAAS,GAAGhB,WAAWI;IAC/C,OAAOY;AACT;AAsBA;;;;;;;CAOC,GACD,OAAO,MAAMC,4BAA4B;IACvC,IAAIX,MAAW;IACf,IAAI,OAAOY,aAAa,aAAa;QACnC,MAAMC,UAAUD,SAASE,eAAe,CAACC,YAAY,CAAC;QACtDf,MAAMa,YAAY,QAAQ,QAAQ;IACpC;IAEA,OAAOb;AACT,EAAE;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EC,GACD,OAAO,SAASgB,yBACdC,KAAoC;IAEpC,MAAM,EAAEC,QAAQ,EAAEC,aAAaR,yBAAyB,EAAE,GAAGM;IAC7D,MAAM,EAAElB,IAAI,EAAE,GAAGL,WAAWI;IAC5B,MAAM,CAACE,KAAKoB,OAAO,GAAGvB,SAASsB;IAC/BxB,UAAU;QACR,IAAI,CAACI,QAAQ,OAAOa,aAAa,aAAa;YAC5C;QACF;QAEAA,SAASE,eAAe,CAACO,YAAY,CAAC,OAAOrB;QAE7C,OAAO;YACLY,SAASE,eAAe,CAACQ,eAAe,CAAC;QAC3C;IACF,GAAG;QAACtB;QAAKD;KAAK;IAEd,MAAME,YAAYR,YAAY;QAC5B2B,OAAO,CAACG,UAAaA,YAAY,QAAQ,QAAQ;IACnD,GAAG,EAAE;IAEL,MAAMC,QAAQ5B,QACZ,IAAO,CAAA;YAAEG,MAAM;YAAOC;YAAKC;QAAU,CAAA,GACrC;QAACD;QAAKC;KAAU;IAElB,IAAIwB,QAAQpC,SAASqC,IAAI,CAACR;IAC1B,IAAI,CAACnB,sBAAQP,eAA6BiC,QAAQ;QAChDA,sBAAQnC,aAAamC,OAAO;YAAEzB;QAAI;IACpC;IAEA,qBAAO,KAACO;QAASiB,OAAOA;kBAAQC;;AAClC"}
@@ -4,6 +4,18 @@
4
4
  @use "../utils";
5
5
 
6
6
  $disable-text-container: false !default;
7
+ $disable-headline-1: false !default;
8
+ $disable-headline-2: false !default;
9
+ $disable-headline-3: false !default;
10
+ $disable-headline-4: false !default;
11
+ $disable-headline-5: false !default;
12
+ $disable-headline-6: false !default;
13
+ $disable-subtitle-1: false !default;
14
+ $disable-subtitle-2: false !default;
15
+ $disable-body-1: false !default;
16
+ $disable-body-2: false !default;
17
+ $disable-caption: false !default;
18
+ $disable-overline: false !default;
7
19
 
8
20
  /// A small utility function to get the letter spacing based on tracking and
9
21
  /// font-size
@@ -66,11 +78,19 @@ $font-styles: normal italic oblique !default;
66
78
 
67
79
  /// The base styles for typography.
68
80
  /// @type Map
69
- $base-font-styles: (
81
+ $base-recommended-font-styles: (
70
82
  font-family: $font-family,
83
+ overflow: inherit,
84
+ overflow-wrap: break-word,
85
+ text-overflow: inherit,
71
86
  -moz-osx-font-smoothing: grayscale,
72
87
  -webkit-font-smoothing: antialiased,
73
88
  );
89
+ $base-custom-font-styles: () !default;
90
+ $base-font-styles: map.merge(
91
+ $base-recommended-font-styles,
92
+ $base-custom-font-styles
93
+ );
74
94
 
75
95
  $headline-1-recommended-styles: (
76
96
  font-size: 6rem,
@@ -208,9 +228,13 @@ $button-recommended-styles: map.merge(
208
228
  $base-font-styles,
209
229
  (
210
230
  font-size: 0.875rem,
211
- line-height: 2.25rem,
212
231
  font-weight: map.get($font-weights, medium),
213
232
  letter-spacing: get-letter-spacing(1.25, 0.875),
233
+ line-height: 2.25rem,
234
+ // buttons with multiple lines of text look terrible because of the large
235
+ // line-height. You normally want to use a different component if the
236
+ // clickable area has so much content to line-wrap
237
+ line-wrap: nowrap,
214
238
  )
215
239
  );
216
240
  $button-custom-styles: () !default;
@@ -220,107 +244,125 @@ $button-styles: map.merge(
220
244
  ) !default;
221
245
 
222
246
  $text-container-padding: 1rem !default;
223
- $text-line-length: 65ch !default;
224
-
225
- $typography-var-lookup: (
226
- line-length: (
227
- var: --rmd-line-length,
228
- value: $text-line-length,
229
- ),
230
- text-container-padding: (
231
- var: --rmd-text-container-padding,
232
- value: $text-container-padding,
233
- ),
234
- );
247
+ // since everything has `box-sizing: border-box`, make sure the width is 65
248
+ // characters + left and right padding so the text is _really_ 65ch
249
+ $text-line-length: calc(65ch + $text-container-padding * 2) !default;
235
250
 
236
- @function typography-get-var($name, $fallback: null) {
237
- $found: utils.validate($typography-var-lookup, $name, "typography var");
238
- $var: map.get($found, var);
239
- $value: if($fallback, $fallback, map.get($found, value));
251
+ $typography-variables: (line-length, text-container-padding);
240
252
 
241
- @if $value {
242
- @return var(#{$var}, #{$value});
253
+ @function typography-get-var($name, $fallback: null) {
254
+ $var: utils.get-var-name($typography-variables, $name, "typography");
255
+ @if $fallback {
256
+ @return var(#{$var}, #{$fallback});
243
257
  }
244
258
 
245
259
  @return var(#{$var});
246
260
  }
247
261
 
248
262
  @mixin typography-set-var($name, $value) {
249
- $var: map.get(
250
- utils.validate($typography-var-lookup, $name, "typography var"),
251
- var
252
- );
253
-
254
- #{$var}: #{$value};
263
+ @if $value {
264
+ #{utils.get-var-name($typography-variables, $name, "typography")}: #{$value};
265
+ }
255
266
  }
256
267
 
257
268
  @mixin typography-use-var($property, $name: $property, $fallback: null) {
258
269
  #{$property}: typography-get-var($name, $fallback);
259
270
  }
260
271
 
261
- @mixin typography-text-container-styles($disabled: $disable-text-container) {
272
+ @mixin typography-text-container-styles(
273
+ $disabled: $disable-text-container,
274
+ $disable-layer: false
275
+ ) {
262
276
  @if not $disabled {
263
- .rmd-text-container {
264
- @include typography-use-var(max-width, line-length);
265
- @include typography-use-var(padding, text-container-padding);
266
-
267
- display: block;
268
- margin: 0 auto;
269
- width: 100%;
277
+ @include utils.optional-layer(typography, $disable-layer) {
278
+ .rmd-text-container {
279
+ @include typography-use-var(max-width, line-length);
280
+ @include typography-use-var(padding, text-container-padding);
281
+
282
+ display: block;
283
+ margin: 0 auto;
284
+ width: 100%;
285
+ }
270
286
  }
271
287
  }
272
288
  }
273
289
 
274
- @mixin typography-base-styles {
275
- .rmd-typography {
276
- @include utils.map-to-styles($base-font-styles);
277
-
278
- &--headline-1 {
279
- @include utils.map-to-styles($headline-1-styles);
280
- }
281
-
282
- &--headline-2 {
283
- @include utils.map-to-styles($headline-2-styles);
284
- }
285
-
286
- &--headline-3 {
287
- @include utils.map-to-styles($headline-3-styles);
288
- }
289
-
290
- &--headline-4 {
291
- @include utils.map-to-styles($headline-4-styles);
292
- }
293
-
294
- &--headline-5 {
295
- @include utils.map-to-styles($headline-5-styles);
296
- }
297
-
298
- &--headline-6 {
299
- @include utils.map-to-styles($headline-6-styles);
300
- }
301
-
302
- &--subtitle-1 {
303
- @include utils.map-to-styles($subtitle-1-styles);
304
- }
305
-
306
- &--subtitle-2 {
307
- @include utils.map-to-styles($subtitle-2-styles);
308
- }
309
-
310
- &--body-1 {
311
- @include utils.map-to-styles($body-1-styles);
312
- }
313
-
314
- &--body-2 {
315
- @include utils.map-to-styles($body-2-styles);
316
- }
317
-
318
- &--caption {
319
- @include utils.map-to-styles($caption-styles);
320
- }
321
-
322
- &--overline {
323
- @include utils.map-to-styles($overline-styles);
290
+ @mixin typography-base-styles($disable-layer: false) {
291
+ @include utils.optional-layer(typography, $disable-layer) {
292
+ .rmd-typography {
293
+ @include utils.map-to-styles($base-font-styles);
294
+
295
+ @if not $disable-headline-1 {
296
+ &--headline-1 {
297
+ @include utils.map-to-styles($headline-1-styles);
298
+ }
299
+ }
300
+
301
+ @if not $disable-headline-2 {
302
+ &--headline-2 {
303
+ @include utils.map-to-styles($headline-2-styles);
304
+ }
305
+ }
306
+
307
+ @if not $disable-headline-3 {
308
+ &--headline-3 {
309
+ @include utils.map-to-styles($headline-3-styles);
310
+ }
311
+ }
312
+
313
+ @if not $disable-headline-4 {
314
+ &--headline-4 {
315
+ @include utils.map-to-styles($headline-4-styles);
316
+ }
317
+ }
318
+
319
+ @if not $disable-headline-5 {
320
+ &--headline-5 {
321
+ @include utils.map-to-styles($headline-5-styles);
322
+ }
323
+ }
324
+
325
+ @if not $disable-headline-6 {
326
+ &--headline-6 {
327
+ @include utils.map-to-styles($headline-6-styles);
328
+ }
329
+ }
330
+
331
+ @if not $disable-subtitle-1 {
332
+ &--subtitle-1 {
333
+ @include utils.map-to-styles($subtitle-1-styles);
334
+ }
335
+ }
336
+
337
+ @if not $disable-subtitle-2 {
338
+ &--subtitle-2 {
339
+ @include utils.map-to-styles($subtitle-2-styles);
340
+ }
341
+ }
342
+
343
+ @if not $disable-body-1 {
344
+ &--body-1 {
345
+ @include utils.map-to-styles($body-1-styles);
346
+ }
347
+ }
348
+
349
+ @if not $disable-body-2 {
350
+ &--body-2 {
351
+ @include utils.map-to-styles($body-2-styles);
352
+ }
353
+ }
354
+
355
+ @if not $disable-caption {
356
+ &--caption {
357
+ @include utils.map-to-styles($caption-styles);
358
+ }
359
+ }
360
+
361
+ @if not $disable-overline {
362
+ &--overline {
363
+ @include utils.map-to-styles($overline-styles);
364
+ }
365
+ }
324
366
  }
325
367
  }
326
368
  }
@@ -339,7 +381,19 @@ $typography-var-lookup: (
339
381
  display: -webkit-box;
340
382
  }
341
383
 
342
- @mixin typography-styles {
343
- @include typography-text-container-styles;
344
- @include typography-base-styles;
384
+ @mixin typography-variables {
385
+ @if not $disable-text-container {
386
+ @include typography-set-var(line-length, $text-line-length);
387
+ @include typography-set-var(
388
+ text-container-padding,
389
+ $text-container-padding
390
+ );
391
+ }
392
+ }
393
+
394
+ @mixin typography-styles($disable-layer: false) {
395
+ @include utils.optional-layer(typography, $disable-layer) {
396
+ @include typography-text-container-styles($disable-layer: true);
397
+ @include typography-base-styles(true);
398
+ }
345
399
  }
@@ -1,8 +1,8 @@
1
- import type { AnyFunction } from "./types.js";
1
+ import { type CancelableFunction, type AnyFunction } from "./types.js";
2
2
  /**
3
3
  * @remarks \@since 6.0.0
4
4
  */
5
- export type DebouncedFunction<F extends AnyFunction> = (...args: Parameters<F>) => void;
5
+ export type DebouncedFunction<F extends AnyFunction> = CancelableFunction<(...args: Parameters<F>) => void>;
6
6
  /**
7
7
  * Creates a function that will only be called if it has not been called again
8
8
  * for X milliseconds.
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { useCallback, useEffect, useRef } from "react";
2
+ import { useEffect, useMemo, useRef } from "react";
3
3
  import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
4
4
  /**
5
5
  * Creates a function that will only be called if it has not been called again
@@ -88,11 +88,15 @@ import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
88
88
  window.clearTimeout(timeout.current);
89
89
  };
90
90
  }, []);
91
- return useCallback((...args)=>{
92
- window.clearTimeout(timeout.current);
93
- timeout.current = window.setTimeout(()=>{
94
- funcRef.current(...args);
95
- }, wait);
91
+ return useMemo(()=>{
92
+ const debounced = (...args)=>{
93
+ window.clearTimeout(timeout.current);
94
+ timeout.current = window.setTimeout(()=>{
95
+ funcRef.current(...args);
96
+ }, wait);
97
+ };
98
+ debounced.cancel = ()=>window.clearTimeout(timeout.current);
99
+ return debounced;
96
100
  }, [
97
101
  wait
98
102
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useDebouncedFunction.ts"],"sourcesContent":["\"use client\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport type { AnyFunction } from \"./types.js\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type DebouncedFunction<F extends AnyFunction> = (\n ...args: Parameters<F>\n) => void;\n\n/**\n * Creates a function that will only be called if it has not been called again\n * for X milliseconds.\n *\n * @example\n * Debounced Search API Requests\n * ```tsx\n * import { TextField, useDebouncedFunction, useUnmounted } from \"@react-md/core\";\n * import { useState } from \"react\";\n * import type { ReactElement } from \"react\";\n *\n * interface State {\n * error?: unknown\n * loading: boolean;\n * results?: {\n * // pretend some search results\n * id: string;\n * name: string;\n * }[];\n * }\n *\n * function Example(): ReactElement {\n * const [state, setState] = useState<State>({\n * loading: false,\n * });\n * // this is only required for async actions\n * const unmounted = useUnmounted();\n *\n * // A new search request will be fired once every 500ms as the user types.\n * // can't use the event here since React uses synthetic events\n * const search = useDebouncedFunction(async (q: string) => {\n * setState({\n * loading: true,\n * error: undefined,\n * results: undefined,\n * });\n *\n * try {\n * const response = await fetch('/search', {\n * method: 'POST',\n * headers: {\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify({ q }),\n * });\n * const json = await response.json();\n *\n * if (!unmounted.current) {\n * setState({\n * loading: false,\n * results: json,\n * });\n * }\n * } catch (error) {\n * if (!unmounted.current) {\n * setState({\n * error,\n * loading: false,\n * });\n * }\n * }\n * }, 500);\n *\n * return (\n * <TextField\n * type=\"search\"\n * label=\"Search\"\n * onChange={(event) => search(event.currentTarget.value)}\n * />\n * );\n * }\n * ```\n *\n * @see `useThrottledFunction` for throttle behavior instead. (Call a\n * function at most once every X milliseconds).\n * @remarks \\@since 6.0.0\n */\nexport function useDebouncedFunction<F extends AnyFunction>(\n func: F,\n wait: number\n): DebouncedFunction<F> {\n const timeout = useRef<number | undefined>();\n const funcRef = useRef(func);\n useIsomorphicLayoutEffect(() => {\n funcRef.current = func;\n });\n\n useEffect(() => {\n return () => {\n window.clearTimeout(timeout.current);\n };\n }, []);\n\n return useCallback(\n (...args) => {\n window.clearTimeout(timeout.current);\n timeout.current = window.setTimeout(() => {\n funcRef.current(...args);\n }, wait);\n },\n [wait]\n );\n}\n"],"names":["useCallback","useEffect","useRef","useIsomorphicLayoutEffect","useDebouncedFunction","func","wait","timeout","funcRef","current","window","clearTimeout","args","setTimeout"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,QAAQ;AAEvD,SAASC,yBAAyB,QAAQ,iCAAiC;AAS3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EC,GACD,OAAO,SAASC,qBACdC,IAAO,EACPC,IAAY;IAEZ,MAAMC,UAAUL;IAChB,MAAMM,UAAUN,OAAOG;IACvBF,0BAA0B;QACxBK,QAAQC,OAAO,GAAGJ;IACpB;IAEAJ,UAAU;QACR,OAAO;YACLS,OAAOC,YAAY,CAACJ,QAAQE,OAAO;QACrC;IACF,GAAG,EAAE;IAEL,OAAOT,YACL,CAAC,GAAGY;QACFF,OAAOC,YAAY,CAACJ,QAAQE,OAAO;QACnCF,QAAQE,OAAO,GAAGC,OAAOG,UAAU,CAAC;YAClCL,QAAQC,OAAO,IAAIG;QACrB,GAAGN;IACL,GACA;QAACA;KAAK;AAEV"}
1
+ {"version":3,"sources":["../src/useDebouncedFunction.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport { type CancelableFunction, type AnyFunction } from \"./types.js\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type DebouncedFunction<F extends AnyFunction> = CancelableFunction<\n (...args: Parameters<F>) => void\n>;\n\n/**\n * Creates a function that will only be called if it has not been called again\n * for X milliseconds.\n *\n * @example\n * Debounced Search API Requests\n * ```tsx\n * import { TextField, useDebouncedFunction, useUnmounted } from \"@react-md/core\";\n * import { useState } from \"react\";\n * import type { ReactElement } from \"react\";\n *\n * interface State {\n * error?: unknown\n * loading: boolean;\n * results?: {\n * // pretend some search results\n * id: string;\n * name: string;\n * }[];\n * }\n *\n * function Example(): ReactElement {\n * const [state, setState] = useState<State>({\n * loading: false,\n * });\n * // this is only required for async actions\n * const unmounted = useUnmounted();\n *\n * // A new search request will be fired once every 500ms as the user types.\n * // can't use the event here since React uses synthetic events\n * const search = useDebouncedFunction(async (q: string) => {\n * setState({\n * loading: true,\n * error: undefined,\n * results: undefined,\n * });\n *\n * try {\n * const response = await fetch('/search', {\n * method: 'POST',\n * headers: {\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify({ q }),\n * });\n * const json = await response.json();\n *\n * if (!unmounted.current) {\n * setState({\n * loading: false,\n * results: json,\n * });\n * }\n * } catch (error) {\n * if (!unmounted.current) {\n * setState({\n * error,\n * loading: false,\n * });\n * }\n * }\n * }, 500);\n *\n * return (\n * <TextField\n * type=\"search\"\n * label=\"Search\"\n * onChange={(event) => search(event.currentTarget.value)}\n * />\n * );\n * }\n * ```\n *\n * @see `useThrottledFunction` for throttle behavior instead. (Call a\n * function at most once every X milliseconds).\n * @remarks \\@since 6.0.0\n */\nexport function useDebouncedFunction<F extends AnyFunction>(\n func: F,\n wait: number\n): DebouncedFunction<F> {\n const timeout = useRef<number | undefined>();\n const funcRef = useRef(func);\n useIsomorphicLayoutEffect(() => {\n funcRef.current = func;\n });\n\n useEffect(() => {\n return () => {\n window.clearTimeout(timeout.current);\n };\n }, []);\n\n return useMemo(() => {\n const debounced: DebouncedFunction<F> = (...args) => {\n window.clearTimeout(timeout.current);\n timeout.current = window.setTimeout(() => {\n funcRef.current(...args);\n }, wait);\n };\n debounced.cancel = () => window.clearTimeout(timeout.current);\n\n return debounced;\n }, [wait]);\n}\n"],"names":["useEffect","useMemo","useRef","useIsomorphicLayoutEffect","useDebouncedFunction","func","wait","timeout","funcRef","current","window","clearTimeout","debounced","args","setTimeout","cancel"],"mappings":"AAAA;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AAEnD,SAASC,yBAAyB,QAAQ,iCAAiC;AAS3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EC,GACD,OAAO,SAASC,qBACdC,IAAO,EACPC,IAAY;IAEZ,MAAMC,UAAUL;IAChB,MAAMM,UAAUN,OAAOG;IACvBF,0BAA0B;QACxBK,QAAQC,OAAO,GAAGJ;IACpB;IAEAL,UAAU;QACR,OAAO;YACLU,OAAOC,YAAY,CAACJ,QAAQE,OAAO;QACrC;IACF,GAAG,EAAE;IAEL,OAAOR,QAAQ;QACb,MAAMW,YAAkC,CAAC,GAAGC;YAC1CH,OAAOC,YAAY,CAACJ,QAAQE,OAAO;YACnCF,QAAQE,OAAO,GAAGC,OAAOI,UAAU,CAAC;gBAClCN,QAAQC,OAAO,IAAII;YACrB,GAAGP;QACL;QACAM,UAAUG,MAAM,GAAG,IAAML,OAAOC,YAAY,CAACJ,QAAQE,OAAO;QAE5D,OAAOG;IACT,GAAG;QAACN;KAAK;AACX"}
@@ -0,0 +1,40 @@
1
+ import { type RefCallback } from "react";
2
+ import { type ElementSize, type UseStateInitializer } from "./types.js";
3
+ import { type ResizeObserverHookOptions } from "./useResizeObserver.js";
4
+ /**
5
+ * @remarks \@since 6.0.0
6
+ */
7
+ export interface ElementSizeOptions<E extends HTMLElement> extends Omit<ResizeObserverHookOptions<E>, "onUpdate"> {
8
+ /** @defaultValue `{ height: 0, width: 0 }` */
9
+ defaultValue?: UseStateInitializer<ElementSize>;
10
+ }
11
+ /**
12
+ * @remarks \@since 6.0.0
13
+ */
14
+ export interface ElementSizeImplementation<E extends HTMLElement> extends ElementSize {
15
+ elementRef: RefCallback<E>;
16
+ }
17
+ /**
18
+ * A small wrapper around the {@link useResizeObserver} hook to calculate the
19
+ * element's size.
20
+ *
21
+ * @example
22
+ * Simple Example
23
+ * ```tsx
24
+ * import { useElementSize } from "@react-md/core";
25
+ * import { type ReactElement } from "react";
26
+ *
27
+ * function Example(): ReactElement {
28
+ * const { height, width, elementRef } = useElementSize();
29
+ *
30
+ * return (
31
+ * <div ref={elementRef}>
32
+ * {`height: ${height}, width: ${width}`}
33
+ * </div>
34
+ * );
35
+ * }
36
+ * ```
37
+ *
38
+ * @remarks \@since 6.0.0
39
+ */
40
+ export declare function useElementSize<E extends HTMLElement>(options?: ElementSizeOptions<E>): ElementSizeImplementation<E>;