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

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 (1203) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +11 -7
  3. package/.turbo/turbo-typecheck.log +4 -4
  4. package/CHANGELOG.md +183 -0
  5. package/README.md +39 -24
  6. package/coverage/clover.xml +2 -2
  7. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  8. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  9. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  10. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  11. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  12. package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
  13. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
  14. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +178 -232
  15. package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
  16. package/coverage/lcov-report/Portal.tsx.html +223 -0
  17. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  18. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  19. package/coverage/lcov-report/Select.tsx.html +1411 -0
  20. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  21. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  22. package/coverage/lcov-report/SrOnly.tsx.html +328 -0
  23. package/coverage/lcov-report/Tab.tsx.html +261 -147
  24. package/coverage/lcov-report/Toast.tsx.html +868 -0
  25. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  26. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  27. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  28. package/coverage/lcov-report/Typography.tsx.html +1027 -0
  29. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  30. package/coverage/lcov-report/app-bar/index.html +7 -7
  31. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  32. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +475 -0
  33. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  34. package/coverage/lcov-report/autocomplete/index.html +221 -0
  35. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  36. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +1273 -0
  37. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +829 -0
  38. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +715 -0
  39. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  40. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +430 -0
  41. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +310 -0
  42. package/coverage/lcov-report/autocomplete/utils.ts.html +196 -0
  43. package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
  44. package/coverage/lcov-report/avatar/index.html +19 -34
  45. package/coverage/lcov-report/avatar/styles.ts.html +1 -1
  46. package/coverage/lcov-report/button/Button.tsx.html +85 -85
  47. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  48. package/coverage/lcov-report/button/index.html +12 -12
  49. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  50. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  51. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  52. package/coverage/lcov-report/card/index.html +21 -21
  53. package/coverage/lcov-report/card/styles.ts.html +428 -392
  54. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  55. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
  56. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
  57. package/coverage/lcov-report/dialog/index.html +34 -19
  58. package/coverage/lcov-report/draggable/index.html +21 -36
  59. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  60. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  61. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  62. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  63. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  64. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  65. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  66. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  67. package/coverage/lcov-report/form/Label.tsx.html +442 -0
  68. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  69. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  70. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  71. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +442 -0
  72. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +310 -0
  73. package/coverage/lcov-report/form/Select.tsx.html +1456 -0
  74. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  75. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  76. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  77. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +727 -0
  78. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  79. package/coverage/lcov-report/form/TextArea.tsx.html +596 -740
  80. package/coverage/lcov-report/form/TextArea2.tsx.html +985 -0
  81. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +1006 -0
  82. package/coverage/lcov-report/form/TextField.tsx.html +156 -234
  83. package/coverage/lcov-report/form/index.html +111 -21
  84. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  85. package/coverage/lcov-report/form/textAreaStyles.ts.html +8 -11
  86. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  87. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  88. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  89. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  90. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  91. package/coverage/lcov-report/form/useResizingTextArea.ts.html +631 -0
  92. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +631 -0
  93. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  94. package/coverage/lcov-report/form/utils.ts.html +209 -170
  95. package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
  96. package/coverage/lcov-report/icon/FontIcon.tsx.html +64 -64
  97. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  98. package/coverage/lcov-report/icon/index.html +19 -19
  99. package/coverage/lcov-report/index.html +1 -1
  100. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  101. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  102. package/coverage/lcov-report/interaction/index.html +33 -18
  103. package/coverage/lcov-report/list/List.tsx.html +490 -0
  104. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  105. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  106. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  107. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  108. package/coverage/lcov-report/list/index.html +81 -6
  109. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  110. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  111. package/coverage/lcov-report/media-queries/index.html +1 -1
  112. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
  113. package/coverage/lcov-report/menu/Menu.tsx.html +276 -252
  114. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  115. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +433 -0
  116. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  117. package/coverage/lcov-report/menu/index.html +14 -44
  118. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  119. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
  120. package/coverage/lcov-report/movement/index.html +19 -19
  121. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  122. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  123. package/coverage/lcov-report/positioning/index.html +30 -30
  124. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  125. package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
  126. package/coverage/lcov-report/progress/index.html +19 -34
  127. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  128. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  129. package/coverage/lcov-report/searching/index.html +146 -0
  130. package/coverage/lcov-report/searching/toSearchQuery.ts.html +145 -0
  131. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +211 -0
  132. package/coverage/lcov-report/searching/utils.ts.html +244 -0
  133. package/coverage/lcov-report/sheet/index.html +8 -8
  134. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  135. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  136. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  137. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  138. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  139. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  140. package/coverage/lcov-report/snackbar/index.html +59 -14
  141. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  142. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  143. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  144. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  145. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  146. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  147. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  148. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  149. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  150. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  151. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  152. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +364 -0
  153. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  154. package/coverage/lcov-report/src/autocomplete/index.html +221 -0
  155. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +637 -0
  156. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +829 -0
  157. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +715 -0
  158. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +430 -0
  159. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +241 -0
  160. package/coverage/lcov-report/src/autocomplete/utils.ts.html +196 -0
  161. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  162. package/coverage/lcov-report/src/avatar/index.html +1 -1
  163. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  164. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  165. package/coverage/lcov-report/src/badge/index.html +1 -1
  166. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  167. package/coverage/lcov-report/src/box/index.html +23 -8
  168. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  169. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  170. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  171. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  172. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  173. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  174. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  175. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  176. package/coverage/lcov-report/src/button/index.html +8 -23
  177. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  178. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  179. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  180. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  181. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  182. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  183. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  184. package/coverage/lcov-report/src/card/index.html +24 -9
  185. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  186. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  187. package/coverage/lcov-report/src/chip/index.html +7 -7
  188. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  189. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  190. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  191. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  192. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  193. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  194. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  195. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  196. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  197. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  198. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  199. package/coverage/lcov-report/src/dialog/index.html +129 -9
  200. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  201. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  202. package/coverage/lcov-report/src/divider/index.html +5 -5
  203. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  204. package/coverage/lcov-report/src/draggable/index.html +27 -27
  205. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  206. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  207. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  208. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  209. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  210. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  211. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  212. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  213. package/coverage/lcov-report/src/focus/index.html +1 -1
  214. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  215. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  216. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  217. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  218. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  219. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  220. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  221. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  222. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  223. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  224. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  225. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  226. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  227. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  228. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
  229. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  230. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
  231. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
  232. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  233. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  234. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  235. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  236. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  237. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  238. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  239. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +988 -0
  240. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +310 -0
  241. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1122
  242. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  243. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +694 -0
  244. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  245. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  246. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  247. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  248. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  249. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  250. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  251. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  252. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  253. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  254. package/coverage/lcov-report/src/form/TextArea.tsx.html +646 -580
  255. package/coverage/lcov-report/src/form/TextArea2.tsx.html +985 -0
  256. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +985 -0
  257. package/coverage/lcov-report/src/form/TextField.tsx.html +3 -3
  258. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  259. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  260. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  261. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  262. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  263. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  264. package/coverage/lcov-report/src/form/index.html +81 -21
  265. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  266. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  267. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  268. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  269. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  270. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  271. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  272. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  273. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  274. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  275. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  276. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  277. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  278. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  279. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  280. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  281. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  282. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  283. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  284. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  285. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  286. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +405 -294
  287. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  288. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  289. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  290. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  291. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  292. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  293. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  294. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  295. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  296. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  297. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  298. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  299. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  300. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  301. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
  302. package/coverage/lcov-report/src/icon/index.html +10 -145
  303. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  304. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  305. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  306. package/coverage/lcov-report/src/index.html +10 -10
  307. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  308. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  309. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  310. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  311. package/coverage/lcov-report/src/interaction/index.html +1 -1
  312. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  313. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +19 -19
  314. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  315. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  316. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  317. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  318. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  319. package/coverage/lcov-report/src/layout/index.html +15 -15
  320. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  321. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  322. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  323. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  324. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  325. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  326. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  327. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  328. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  329. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  330. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  331. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  332. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  333. package/coverage/lcov-report/src/link/index.html +1 -1
  334. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  335. package/coverage/lcov-report/src/list/List.tsx.html +1 -1
  336. package/coverage/lcov-report/src/list/ListItem.tsx.html +158 -137
  337. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +45 -39
  338. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +88 -82
  339. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +5 -5
  340. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  341. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  342. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
  343. package/coverage/lcov-report/src/list/index.html +13 -13
  344. package/coverage/lcov-report/src/list/listItemStyles.ts.html +102 -72
  345. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  346. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  347. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  348. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +28 -28
  349. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  350. package/coverage/lcov-report/src/menu/Menu.tsx.html +4 -4
  351. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  352. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  353. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  354. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  355. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  356. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +433 -0
  357. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  358. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  359. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  360. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  361. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  362. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  363. package/coverage/lcov-report/src/menu/index.html +13 -238
  364. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  365. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  366. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  367. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  368. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  369. package/coverage/lcov-report/src/movement/index.html +17 -62
  370. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  371. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  372. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  373. package/coverage/lcov-report/src/overlay/index.html +1 -1
  374. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  375. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  376. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  377. package/coverage/lcov-report/src/portal/index.html +7 -7
  378. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  379. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  380. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  381. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  382. package/coverage/lcov-report/src/positioning/index.html +1 -1
  383. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  384. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  385. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +83 -83
  386. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  387. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  388. package/coverage/lcov-report/src/progress/index.html +20 -5
  389. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  390. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  391. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  392. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  393. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  394. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  395. package/coverage/lcov-report/src/scroll/index.html +1 -1
  396. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  397. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  398. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  399. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  400. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  401. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  402. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  403. package/coverage/lcov-report/src/sheet/index.html +5 -5
  404. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  405. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  406. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  407. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  408. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  409. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  410. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  411. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  412. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  413. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  414. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  415. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  416. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  417. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  418. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
  419. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  420. package/coverage/lcov-report/src/suspense/index.html +36 -21
  421. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  422. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  423. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  424. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  425. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  426. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  427. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  428. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  429. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  430. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  431. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  432. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  433. package/coverage/lcov-report/src/table/index.html +151 -46
  434. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  435. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  436. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  437. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  438. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  439. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  440. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  441. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  442. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  443. package/coverage/lcov-report/src/tabs/index.html +25 -25
  444. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  445. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  446. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  447. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  448. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  449. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  450. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  451. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  452. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +402 -261
  453. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
  454. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  455. package/coverage/lcov-report/src/test-utils/index.html +12 -117
  456. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  457. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +55 -55
  458. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  459. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  460. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  461. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  462. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  463. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  464. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  465. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  466. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  467. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  468. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  469. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  470. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  471. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  472. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  473. package/coverage/lcov-report/src/theme/index.html +1 -1
  474. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  475. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  476. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  477. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  478. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  479. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  480. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  481. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  482. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  483. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  484. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  485. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  486. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  487. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  488. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  489. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  490. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  491. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  492. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  493. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  494. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  495. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +1 -1
  496. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  497. package/coverage/lcov-report/src/transition/index.html +49 -34
  498. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  499. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  500. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  501. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  502. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +10 -64
  503. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  504. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  505. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  506. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  507. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  508. package/coverage/lcov-report/src/transition/useTransition.ts.html +232 -232
  509. package/coverage/lcov-report/src/transition/utils.ts.html +45 -45
  510. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  511. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  512. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +1 -1
  513. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  514. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  515. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +1 -1
  516. package/coverage/lcov-report/src/tree/index.html +16 -196
  517. package/coverage/lcov-report/src/tree/styles.ts.html +4 -31
  518. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  519. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  520. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  521. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +87 -87
  522. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  523. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  524. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
  525. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  526. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  527. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  528. package/coverage/lcov-report/src/typography/index.html +1 -1
  529. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  530. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +246 -240
  531. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  532. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  533. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  534. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  535. package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
  536. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  537. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  538. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  539. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  540. package/coverage/lcov-report/src/useOrientation.ts.html +30 -30
  541. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  542. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  543. package/coverage/lcov-report/src/useResizeObserver.ts.html +133 -244
  544. package/coverage/lcov-report/src/useThrottledFunction.ts.html +57 -51
  545. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  546. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  547. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  548. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  549. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  550. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  551. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  552. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  553. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  554. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  555. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  556. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  557. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  558. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  559. package/coverage/lcov-report/src/utils/index.html +13 -253
  560. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  561. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  562. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  563. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  564. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  565. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  566. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  567. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  568. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  569. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  570. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  571. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  572. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  573. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  574. package/coverage/lcov-report/suspense/index.html +131 -0
  575. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  576. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  577. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  578. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  579. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  580. package/coverage/lcov-report/tabs/index.html +56 -11
  581. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  582. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  583. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  584. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  585. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  586. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  587. package/coverage/lcov-report/test-utils/index.html +21 -21
  588. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  589. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  590. package/coverage/lcov-report/tooltip/index.html +10 -70
  591. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  592. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  593. package/coverage/lcov-report/transition/config.ts.html +5 -5
  594. package/coverage/lcov-report/transition/index.html +1 -1
  595. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  596. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  597. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  598. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  599. package/coverage/lcov-report/tree/index.html +17 -47
  600. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  601. package/coverage/lcov-report/tree/useTreeMovement.ts.html +140 -143
  602. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  603. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  604. package/coverage/lcov-report/typography/index.html +18 -18
  605. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  606. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  607. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  608. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  609. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  610. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  611. package/coverage/lcov-report/useTabList.ts.html +142 -136
  612. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  613. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  614. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  615. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  616. package/coverage/lcov-report/utils/index.html +15 -30
  617. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  618. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  619. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  620. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  621. package/coverage/lcov-report/utils.ts.html +109 -277
  622. package/coverage/lcov-report/window-splitter/index.html +21 -36
  623. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  624. package/dist/RootHtml.d.ts +62 -0
  625. package/dist/RootHtml.js +49 -0
  626. package/dist/RootHtml.js.map +1 -0
  627. package/dist/_box-shadows.scss +12 -2
  628. package/dist/_core.scss +207 -253
  629. package/dist/_utils.scss +89 -0
  630. package/dist/app-bar/AppBar.d.ts +4 -9
  631. package/dist/app-bar/AppBar.js +29 -7
  632. package/dist/app-bar/AppBar.js.map +1 -1
  633. package/dist/app-bar/_app-bar.scss +114 -122
  634. package/dist/avatar/Avatar.d.ts +15 -1
  635. package/dist/avatar/Avatar.js +5 -2
  636. package/dist/avatar/Avatar.js.map +1 -1
  637. package/dist/avatar/_avatar.scss +74 -81
  638. package/dist/badge/_badge.scss +97 -59
  639. package/dist/box/_box.scss +72 -81
  640. package/dist/button/TooltippedButton.d.ts +62 -0
  641. package/dist/button/TooltippedButton.js +62 -0
  642. package/dist/button/TooltippedButton.js.map +1 -0
  643. package/dist/button/_button.scss +170 -180
  644. package/dist/card/Card.js +3 -2
  645. package/dist/card/Card.js.map +1 -1
  646. package/dist/card/CardContent.js +1 -1
  647. package/dist/card/CardContent.js.map +1 -1
  648. package/dist/card/ClickableCard.d.ts +42 -0
  649. package/dist/card/ClickableCard.js +73 -0
  650. package/dist/card/ClickableCard.js.map +1 -0
  651. package/dist/card/_card.scss +81 -82
  652. package/dist/card/styles.d.ts +8 -0
  653. package/dist/card/styles.js +6 -3
  654. package/dist/card/styles.js.map +1 -1
  655. package/dist/chip/_chip.scss +137 -148
  656. package/dist/dialog/FixedDialog.d.ts +5 -4
  657. package/dist/dialog/FixedDialog.js +5 -4
  658. package/dist/dialog/FixedDialog.js.map +1 -1
  659. package/dist/dialog/_dialog.scss +179 -162
  660. package/dist/divider/Divider.d.ts +0 -1
  661. package/dist/divider/Divider.js.map +1 -1
  662. package/dist/divider/_divider.scss +61 -70
  663. package/dist/draggable/_draggable.scss +16 -12
  664. package/dist/draggable/useDraggable.d.ts +12 -23
  665. package/dist/draggable/useDraggable.js +15 -6
  666. package/dist/draggable/useDraggable.js.map +1 -1
  667. package/dist/draggable/utils.d.ts +4 -17
  668. package/dist/draggable/utils.js +9 -25
  669. package/dist/draggable/utils.js.map +1 -1
  670. package/dist/expansion-panel/_expansion-panel.scss +76 -50
  671. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  672. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  673. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  674. package/dist/form/Form.d.ts +1 -1
  675. package/dist/form/Form.js +2 -1
  676. package/dist/form/Form.js.map +1 -1
  677. package/dist/form/Label.d.ts +5 -5
  678. package/dist/form/Label.js.map +1 -1
  679. package/dist/form/MenuItemInputToggle.d.ts +2 -15
  680. package/dist/form/MenuItemInputToggle.js +26 -37
  681. package/dist/form/MenuItemInputToggle.js.map +1 -1
  682. package/dist/form/NativeSelect.d.ts +5 -2
  683. package/dist/form/NativeSelect.js.map +1 -1
  684. package/dist/form/Option.js +3 -2
  685. package/dist/form/Option.js.map +1 -1
  686. package/dist/form/ResizingTextAreaWrapper.d.ts +19 -0
  687. package/dist/form/ResizingTextAreaWrapper.js +35 -0
  688. package/dist/form/ResizingTextAreaWrapper.js.map +1 -0
  689. package/dist/form/Select.d.ts +105 -15
  690. package/dist/form/Select.js +160 -244
  691. package/dist/form/Select.js.map +1 -1
  692. package/dist/form/SelectedOption.d.ts +21 -0
  693. package/dist/form/SelectedOption.js +37 -0
  694. package/dist/form/SelectedOption.js.map +1 -0
  695. package/dist/form/TextArea.d.ts +11 -0
  696. package/dist/form/TextArea.js +19 -29
  697. package/dist/form/TextArea.js.map +1 -1
  698. package/dist/form/TextField.d.ts +2 -2
  699. package/dist/form/TextField.js +7 -6
  700. package/dist/form/TextField.js.map +1 -1
  701. package/dist/form/TextFieldContainer.js +2 -2
  702. package/dist/form/TextFieldContainer.js.map +1 -1
  703. package/dist/form/_form.scss +1336 -1260
  704. package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
  705. package/dist/form/menuItemInputToggleStyles.js +31 -0
  706. package/dist/form/menuItemInputToggleStyles.js.map +1 -0
  707. package/dist/form/selectUtils.d.ts +1 -3
  708. package/dist/form/selectUtils.js +2 -10
  709. package/dist/form/selectUtils.js.map +1 -1
  710. package/dist/form/textAreaStyles.d.ts +2 -2
  711. package/dist/form/textAreaStyles.js.map +1 -1
  712. package/dist/form/{TextFieldContainerStyles.d.ts → textFieldContainerStyles.d.ts} +7 -7
  713. package/dist/form/{TextFieldContainerStyles.js → textFieldContainerStyles.js} +1 -1
  714. package/dist/form/textFieldContainerStyles.js.map +1 -0
  715. package/dist/form/types.d.ts +6 -8
  716. package/dist/form/types.js.map +1 -1
  717. package/dist/form/useCombobox.d.ts +157 -0
  718. package/dist/form/useCombobox.js +206 -0
  719. package/dist/form/useCombobox.js.map +1 -0
  720. package/dist/form/useEditableCombobox.d.ts +15 -0
  721. package/dist/form/useEditableCombobox.js +101 -0
  722. package/dist/form/useEditableCombobox.js.map +1 -0
  723. package/dist/form/useFormReset.d.ts +16 -0
  724. package/dist/form/useFormReset.js +32 -0
  725. package/dist/form/useFormReset.js.map +1 -0
  726. package/dist/form/useListboxProvider.d.ts +4 -2
  727. package/dist/form/useListboxProvider.js +6 -8
  728. package/dist/form/useListboxProvider.js.map +1 -1
  729. package/dist/form/useResizingTextArea.d.ts +5 -2
  730. package/dist/form/useResizingTextArea.js +52 -21
  731. package/dist/form/useResizingTextArea.js.map +1 -1
  732. package/dist/form/useSelectCombobox.d.ts +17 -0
  733. package/dist/form/useSelectCombobox.js +36 -0
  734. package/dist/form/useSelectCombobox.js.map +1 -0
  735. package/dist/form/utils.d.ts +11 -1
  736. package/dist/form/utils.js +6 -0
  737. package/dist/form/utils.js.map +1 -1
  738. package/dist/icon/IconRotator.js +2 -3
  739. package/dist/icon/IconRotator.js.map +1 -1
  740. package/dist/icon/_icon.scss +105 -112
  741. package/dist/index.d.ts +23 -2
  742. package/dist/index.js +23 -2
  743. package/dist/index.js.map +1 -1
  744. package/dist/interaction/_interaction.scss +144 -135
  745. package/dist/layout/_layout.scss +82 -86
  746. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  747. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  748. package/dist/link/_link.scss +74 -66
  749. package/dist/list/ListItem.d.ts +8 -3
  750. package/dist/list/ListItem.js +4 -3
  751. package/dist/list/ListItem.js.map +1 -1
  752. package/dist/list/ListItemAddon.js +2 -1
  753. package/dist/list/ListItemAddon.js.map +1 -1
  754. package/dist/list/ListItemChildren.js +3 -2
  755. package/dist/list/ListItemChildren.js.map +1 -1
  756. package/dist/list/ListItemLink.js +3 -3
  757. package/dist/list/ListItemLink.js.map +1 -1
  758. package/dist/list/_list.scss +187 -184
  759. package/dist/list/getListItemHeight.d.ts +0 -1
  760. package/dist/list/getListItemHeight.js +2 -2
  761. package/dist/list/getListItemHeight.js.map +1 -1
  762. package/dist/list/listItemStyles.d.ts +9 -1
  763. package/dist/list/listItemStyles.js +5 -5
  764. package/dist/list/listItemStyles.js.map +1 -1
  765. package/dist/list/types.d.ts +25 -6
  766. package/dist/list/types.js.map +1 -1
  767. package/dist/menu/Menu.d.ts +1 -1
  768. package/dist/menu/Menu.js +12 -1
  769. package/dist/menu/Menu.js.map +1 -1
  770. package/dist/menu/MenuItemCircularProgress.d.ts +60 -0
  771. package/dist/menu/MenuItemCircularProgress.js +74 -0
  772. package/dist/menu/MenuItemCircularProgress.js.map +1 -0
  773. package/dist/menu/_menu.scss +29 -50
  774. package/dist/menu/useContextMenu.d.ts +3 -3
  775. package/dist/menu/useContextMenu.js +3 -3
  776. package/dist/menu/useContextMenu.js.map +1 -1
  777. package/dist/movement/types.d.ts +40 -21
  778. package/dist/movement/types.js.map +1 -1
  779. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  780. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  781. package/dist/movement/utils.d.ts +7 -2
  782. package/dist/movement/utils.js +10 -0
  783. package/dist/movement/utils.js.map +1 -1
  784. package/dist/overlay/_overlay.scss +39 -42
  785. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  786. package/dist/portal/PortalContainerProvider.js +6 -1
  787. package/dist/portal/PortalContainerProvider.js.map +1 -1
  788. package/dist/positioning/useFixedPositioning.js +0 -8
  789. package/dist/positioning/useFixedPositioning.js.map +1 -1
  790. package/dist/progress/_progress.scss +33 -33
  791. package/dist/responsive-item/_responsive-item.scss +91 -89
  792. package/dist/searching/caseInsensitive.d.ts +150 -0
  793. package/dist/searching/caseInsensitive.js +30 -0
  794. package/dist/searching/caseInsensitive.js.map +1 -0
  795. package/dist/searching/fuzzy.d.ts +128 -0
  796. package/dist/searching/fuzzy.js +54 -0
  797. package/dist/searching/fuzzy.js.map +1 -0
  798. package/dist/searching/toSearchQuery.d.ts +7 -0
  799. package/dist/searching/toSearchQuery.js +15 -0
  800. package/dist/searching/toSearchQuery.js.map +1 -0
  801. package/dist/searching/types.d.ts +28 -0
  802. package/dist/searching/types.js +5 -0
  803. package/dist/searching/types.js.map +1 -0
  804. package/dist/searching/useFuzzyMatch.d.ts +19 -0
  805. package/dist/searching/useFuzzyMatch.js +26 -0
  806. package/dist/searching/useFuzzyMatch.js.map +1 -0
  807. package/dist/searching/utils.d.ts +21 -0
  808. package/dist/searching/utils.js +28 -0
  809. package/dist/searching/utils.js.map +1 -0
  810. package/dist/segmented-button/_segmented-button.scss +86 -92
  811. package/dist/sheet/_sheet.scss +107 -123
  812. package/dist/sheet/styles.d.ts +14 -15
  813. package/dist/sheet/styles.js.map +1 -1
  814. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  815. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  816. package/dist/snackbar/Snackbar.d.ts +10 -10
  817. package/dist/snackbar/Snackbar.js +3 -3
  818. package/dist/snackbar/Snackbar.js.map +1 -1
  819. package/dist/snackbar/Toast.d.ts +1 -1
  820. package/dist/snackbar/Toast.js +5 -1
  821. package/dist/snackbar/Toast.js.map +1 -1
  822. package/dist/snackbar/ToastManager.d.ts +2 -1
  823. package/dist/snackbar/ToastManager.js +1 -1
  824. package/dist/snackbar/ToastManager.js.map +1 -1
  825. package/dist/snackbar/_snackbar.scss +148 -144
  826. package/dist/snackbar/snackbarStyles.d.ts +1 -0
  827. package/dist/snackbar/snackbarStyles.js +2 -1
  828. package/dist/snackbar/snackbarStyles.js.map +1 -1
  829. package/dist/table/TableCheckbox.d.ts +3 -2
  830. package/dist/table/TableCheckbox.js +4 -2
  831. package/dist/table/TableCheckbox.js.map +1 -1
  832. package/dist/table/TableRadio.d.ts +3 -2
  833. package/dist/table/TableRadio.js +4 -2
  834. package/dist/table/TableRadio.js.map +1 -1
  835. package/dist/table/_table.scss +214 -227
  836. package/dist/table/tableCellStyles.d.ts +1 -1
  837. package/dist/table/tableCellStyles.js.map +1 -1
  838. package/dist/tabs/Tab.d.ts +24 -3
  839. package/dist/tabs/Tab.js +15 -8
  840. package/dist/tabs/Tab.js.map +1 -1
  841. package/dist/tabs/_tabs.scss +62 -53
  842. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  843. package/dist/tabs/tabIndicatorStyles.js +6 -3
  844. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  845. package/dist/tabs/tabListStyles.js +2 -1
  846. package/dist/tabs/tabListStyles.js.map +1 -1
  847. package/dist/tabs/tabStyles.d.ts +2 -0
  848. package/dist/tabs/tabStyles.js +6 -3
  849. package/dist/tabs/tabStyles.js.map +1 -1
  850. package/dist/tabs/useTabList.d.ts +3 -3
  851. package/dist/tabs/useTabList.js +9 -6
  852. package/dist/tabs/useTabList.js.map +1 -1
  853. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  854. package/dist/test-utils/ResizeObserver.d.ts +214 -0
  855. package/dist/test-utils/ResizeObserver.js +69 -49
  856. package/dist/test-utils/ResizeObserver.js.map +1 -1
  857. package/dist/test-utils/data-testid.d.ts +7 -0
  858. package/dist/test-utils/data-testid.js +1 -0
  859. package/dist/test-utils/data-testid.js.map +1 -1
  860. package/dist/test-utils/drag.d.ts +26 -0
  861. package/dist/test-utils/index.d.ts +7 -0
  862. package/dist/test-utils/jest-setup.d.ts +1 -0
  863. package/dist/test-utils/matchMedia.d.ts +101 -0
  864. package/dist/test-utils/matchMedia.js +2 -2
  865. package/dist/test-utils/matchMedia.js.map +1 -1
  866. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  867. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  868. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  869. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  870. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  871. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  872. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  873. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  874. package/dist/test-utils/polyfills/index.d.ts +7 -0
  875. package/dist/test-utils/polyfills/index.js +2 -0
  876. package/dist/test-utils/polyfills/index.js.map +1 -1
  877. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  878. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  879. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  880. package/dist/test-utils/render.d.ts +13 -0
  881. package/dist/test-utils/timers.d.ts +39 -0
  882. package/dist/theme/_theme.scss +243 -133
  883. package/dist/tooltip/_tooltip.scss +76 -83
  884. package/dist/tooltip/useTooltip.d.ts +14 -14
  885. package/dist/tooltip/useTooltip.js.map +1 -1
  886. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  887. package/dist/transition/SkeletonPlaceholder.js +8 -3
  888. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  889. package/dist/transition/_transition.scss +89 -78
  890. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  891. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  892. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  893. package/dist/transition/useCollapseTransition.d.ts +3 -18
  894. package/dist/transition/useCollapseTransition.js +1 -10
  895. package/dist/transition/useCollapseTransition.js.map +1 -1
  896. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  897. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  898. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  899. package/dist/transition/utils.js +7 -2
  900. package/dist/transition/utils.js.map +1 -1
  901. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  902. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  903. package/dist/tree/Tree.d.ts +8 -4
  904. package/dist/tree/Tree.js.map +1 -1
  905. package/dist/tree/TreeItem.js +3 -4
  906. package/dist/tree/TreeItem.js.map +1 -1
  907. package/dist/tree/_tree.scss +111 -109
  908. package/dist/tree/styles.d.ts +0 -6
  909. package/dist/tree/styles.js +1 -2
  910. package/dist/tree/styles.js.map +1 -1
  911. package/dist/tree/useTreeMovement.js +1 -1
  912. package/dist/tree/useTreeMovement.js.map +1 -1
  913. package/dist/types.d.ts +13 -0
  914. package/dist/types.js +1 -2
  915. package/dist/types.js.map +1 -1
  916. package/dist/typography/SrOnly.d.ts +3 -3
  917. package/dist/typography/SrOnly.js +4 -4
  918. package/dist/typography/SrOnly.js.map +1 -1
  919. package/dist/typography/Typography.d.ts +19 -19
  920. package/dist/typography/Typography.js +19 -19
  921. package/dist/typography/Typography.js.map +1 -1
  922. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  923. package/dist/typography/WritingDirectionProvider.js +2 -2
  924. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  925. package/dist/typography/_typography.scss +141 -87
  926. package/dist/useDebouncedFunction.d.ts +2 -2
  927. package/dist/useDebouncedFunction.js +10 -6
  928. package/dist/useDebouncedFunction.js.map +1 -1
  929. package/dist/useElementSize.d.ts +40 -0
  930. package/dist/useElementSize.js +53 -0
  931. package/dist/useElementSize.js.map +1 -0
  932. package/dist/useEnsuredState.d.ts +1 -1
  933. package/dist/useEnsuredState.js.map +1 -1
  934. package/dist/useResizeListener.d.ts +1 -1
  935. package/dist/useResizeListener.js +1 -0
  936. package/dist/useResizeListener.js.map +1 -1
  937. package/dist/useResizeObserver.d.ts +4 -43
  938. package/dist/useResizeObserver.js +4 -43
  939. package/dist/useResizeObserver.js.map +1 -1
  940. package/dist/useThrottledFunction.d.ts +2 -2
  941. package/dist/useThrottledFunction.js +20 -16
  942. package/dist/useThrottledFunction.js.map +1 -1
  943. package/dist/useWindowSize.d.ts +14 -11
  944. package/dist/useWindowSize.js +12 -7
  945. package/dist/useWindowSize.js.map +1 -1
  946. package/dist/utils/alphaNumericSort.d.ts +1 -1
  947. package/dist/utils/alphaNumericSort.js +2 -10
  948. package/dist/utils/alphaNumericSort.js.map +1 -1
  949. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  950. package/dist/utils/getMiddleOfRange.js +20 -0
  951. package/dist/utils/getMiddleOfRange.js.map +1 -0
  952. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  953. package/dist/utils/getRangeDefaultValue.js +3 -13
  954. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  955. package/dist/utils/getRangeSteps.d.ts +1 -1
  956. package/dist/utils/getRangeSteps.js +2 -2
  957. package/dist/utils/getRangeSteps.js.map +1 -1
  958. package/dist/utils/nearest.js +1 -1
  959. package/dist/utils/nearest.js.map +1 -1
  960. package/dist/window-splitter/_window-splitter.scss +83 -112
  961. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  962. package/dist/window-splitter/useWindowSplitter.js +3 -11
  963. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  964. package/jest.config.ts +4 -0
  965. package/package.json +374 -32
  966. package/scripts/{copySassFiles.js → copySassFiles.ts} +5 -5
  967. package/scripts/tsconfig.json +18 -0
  968. package/src/RootHtml.tsx +95 -0
  969. package/src/__tests__/RootHtml.node.tsx +46 -0
  970. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  971. package/src/__tests__/useDebouncedFunction.tsx +65 -24
  972. package/src/__tests__/useElementSize.tsx +181 -0
  973. package/src/__tests__/useThrottledFunction.tsx +54 -0
  974. package/src/__tests__/useWindowSize.node.tsx +56 -0
  975. package/src/__tests__/useWindowSize.tsx +156 -0
  976. package/src/_box-shadows.scss +12 -2
  977. package/src/_core.scss +207 -253
  978. package/src/_utils.scss +89 -0
  979. package/src/app-bar/AppBar.tsx +59 -19
  980. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  981. package/src/app-bar/_app-bar.scss +114 -122
  982. package/src/avatar/Avatar.tsx +25 -4
  983. package/src/avatar/__tests__/Avatar.tsx +1 -1
  984. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  985. package/src/avatar/_avatar.scss +74 -81
  986. package/src/badge/_badge.scss +97 -59
  987. package/src/box/_box.scss +72 -81
  988. package/src/button/TooltippedButton.tsx +120 -0
  989. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  990. package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
  991. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  992. package/src/button/_button.scss +170 -180
  993. package/src/card/Card.tsx +5 -3
  994. package/src/card/CardContent.tsx +3 -3
  995. package/src/card/ClickableCard.tsx +105 -0
  996. package/src/card/__tests__/ClickableCard.tsx +66 -0
  997. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  998. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  999. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  1000. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  1001. package/src/card/_card.scss +81 -82
  1002. package/src/card/styles.ts +19 -10
  1003. package/src/chip/_chip.scss +137 -148
  1004. package/src/dialog/FixedDialog.tsx +5 -4
  1005. package/src/dialog/_dialog.scss +179 -162
  1006. package/src/divider/Divider.tsx +0 -1
  1007. package/src/divider/_divider.scss +61 -70
  1008. package/src/draggable/_draggable.scss +16 -12
  1009. package/src/draggable/useDraggable.ts +26 -25
  1010. package/src/draggable/utils.ts +16 -50
  1011. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  1012. package/src/expansion-panel/_expansion-panel.scss +76 -50
  1013. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  1014. package/src/form/Form.tsx +2 -1
  1015. package/src/form/Label.tsx +5 -5
  1016. package/src/form/MenuItemInputToggle.tsx +46 -64
  1017. package/src/form/NativeSelect.tsx +6 -3
  1018. package/src/form/Option.tsx +8 -2
  1019. package/src/form/ResizingTextAreaWrapper.tsx +75 -0
  1020. package/src/form/Select.tsx +251 -327
  1021. package/src/form/SelectedOption.tsx +55 -0
  1022. package/src/form/TextArea.tsx +40 -32
  1023. package/src/form/TextField.tsx +19 -19
  1024. package/src/form/TextFieldContainer.tsx +2 -2
  1025. package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
  1026. package/src/form/__tests__/MenuItemRadio.tsx +53 -0
  1027. package/src/form/__tests__/Select.tsx +439 -0
  1028. package/src/form/__tests__/TextArea.tsx +433 -0
  1029. package/src/form/__tests__/TextField.tsx +195 -0
  1030. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
  1031. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
  1032. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
  1033. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  1034. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +548 -0
  1035. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +279 -0
  1036. package/src/form/__tests__/useFormReset.tsx +195 -0
  1037. package/src/form/_form.scss +1336 -1260
  1038. package/src/form/menuItemInputToggleStyles.ts +78 -0
  1039. package/src/form/selectUtils.ts +3 -14
  1040. package/src/form/textAreaStyles.ts +2 -2
  1041. package/src/form/{TextFieldContainerStyles.ts → textFieldContainerStyles.ts} +7 -7
  1042. package/src/form/types.ts +6 -8
  1043. package/src/form/useCombobox.ts +523 -0
  1044. package/src/form/useEditableCombobox.ts +139 -0
  1045. package/src/form/useFormReset.ts +48 -0
  1046. package/src/form/useListboxProvider.ts +9 -7
  1047. package/src/form/useResizingTextArea.ts +66 -25
  1048. package/src/form/useSelectCombobox.ts +70 -0
  1049. package/src/form/utils.ts +17 -4
  1050. package/src/icon/IconRotator.tsx +1 -2
  1051. package/src/icon/_icon.scss +105 -112
  1052. package/src/index.ts +23 -2
  1053. package/src/interaction/_interaction.scss +144 -135
  1054. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  1055. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  1056. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  1057. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  1058. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  1059. package/src/layout/_layout.scss +82 -86
  1060. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  1061. package/src/link/_link.scss +74 -66
  1062. package/src/list/ListItem.tsx +20 -13
  1063. package/src/list/ListItemAddon.tsx +5 -3
  1064. package/src/list/ListItemChildren.tsx +4 -2
  1065. package/src/list/ListItemLink.tsx +4 -4
  1066. package/src/list/__tests__/ListItem.tsx +1 -1
  1067. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  1068. package/src/list/__tests__/getListItemHeight.ts +2 -2
  1069. package/src/list/_list.scss +187 -184
  1070. package/src/list/getListItemHeight.ts +2 -3
  1071. package/src/list/listItemStyles.ts +15 -5
  1072. package/src/list/types.ts +28 -6
  1073. package/src/menu/Menu.tsx +10 -2
  1074. package/src/menu/MenuItemCircularProgress.tsx +116 -0
  1075. package/src/menu/__tests__/MenuItemCircularProgress.tsx +39 -0
  1076. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +68 -0
  1077. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  1078. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  1079. package/src/menu/_menu.scss +29 -50
  1080. package/src/menu/useContextMenu.ts +3 -3
  1081. package/src/movement/types.ts +50 -25
  1082. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  1083. package/src/movement/utils.ts +12 -2
  1084. package/src/overlay/_overlay.scss +39 -42
  1085. package/src/portal/PortalContainerProvider.tsx +10 -2
  1086. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  1087. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  1088. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
  1089. package/src/positioning/useFixedPositioning.ts +0 -6
  1090. package/src/progress/_progress.scss +33 -33
  1091. package/src/responsive-item/_responsive-item.scss +91 -89
  1092. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  1093. package/src/searching/__tests__/fuzzy.ts +169 -0
  1094. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  1095. package/src/searching/__tests__/useFuzzyMatch.tsx +200 -0
  1096. package/src/searching/caseInsensitive.ts +200 -0
  1097. package/src/searching/fuzzy.ts +175 -0
  1098. package/src/searching/toSearchQuery.ts +20 -0
  1099. package/src/searching/types.ts +34 -0
  1100. package/src/searching/useFuzzyMatch.ts +42 -0
  1101. package/src/searching/utils.ts +53 -0
  1102. package/src/segmented-button/_segmented-button.scss +86 -92
  1103. package/src/sheet/_sheet.scss +107 -123
  1104. package/src/sheet/styles.ts +14 -15
  1105. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  1106. package/src/snackbar/Snackbar.tsx +28 -32
  1107. package/src/snackbar/Toast.tsx +7 -2
  1108. package/src/snackbar/ToastManager.tsx +3 -2
  1109. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  1110. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  1111. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  1112. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  1113. package/src/snackbar/_snackbar.scss +148 -144
  1114. package/src/snackbar/snackbarStyles.ts +3 -1
  1115. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  1116. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  1117. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  1118. package/src/table/TableCheckbox.tsx +4 -2
  1119. package/src/table/TableRadio.tsx +4 -2
  1120. package/src/table/_table.scss +214 -227
  1121. package/src/table/tableCellStyles.ts +1 -1
  1122. package/src/tabs/Tab.tsx +110 -70
  1123. package/src/tabs/__tests__/Tab.tsx +25 -2
  1124. package/src/tabs/__tests__/TabList.tsx +4 -4
  1125. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  1126. package/src/tabs/_tabs.scss +62 -53
  1127. package/src/tabs/tabIndicatorStyles.ts +13 -3
  1128. package/src/tabs/tabListStyles.ts +1 -1
  1129. package/src/tabs/tabStyles.ts +16 -4
  1130. package/src/tabs/useTabList.ts +10 -8
  1131. package/src/test-utils/ResizeObserver.ts +100 -53
  1132. package/src/test-utils/__tests__/ResizeObserver.ts +1 -1
  1133. package/src/test-utils/data-testid.ts +5 -1
  1134. package/src/test-utils/matchMedia.ts +2 -2
  1135. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  1136. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  1137. package/src/test-utils/polyfills/index.ts +2 -0
  1138. package/src/theme/_theme.scss +243 -133
  1139. package/src/tooltip/_tooltip.scss +76 -83
  1140. package/src/tooltip/useTooltip.ts +23 -16
  1141. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  1142. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  1143. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  1144. package/src/transition/__tests__/utils.ts +25 -0
  1145. package/src/transition/_transition.scss +89 -78
  1146. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  1147. package/src/transition/useCollapseTransition.ts +6 -24
  1148. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  1149. package/src/transition/utils.ts +10 -5
  1150. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  1151. package/src/tree/Tree.tsx +8 -4
  1152. package/src/tree/TreeItem.tsx +3 -4
  1153. package/src/tree/__tests__/Tree.tsx +1 -1
  1154. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  1155. package/src/tree/_tree.scss +111 -109
  1156. package/src/tree/styles.ts +0 -9
  1157. package/src/tree/useTreeMovement.ts +1 -1
  1158. package/src/types.ts +13 -0
  1159. package/src/typography/SrOnly.tsx +9 -9
  1160. package/src/typography/Typography.tsx +19 -19
  1161. package/src/typography/WritingDirectionProvider.tsx +4 -2
  1162. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
  1163. package/src/typography/_typography.scss +141 -87
  1164. package/src/useDebouncedFunction.ts +12 -10
  1165. package/src/useElementSize.ts +83 -0
  1166. package/src/useEnsuredState.ts +1 -1
  1167. package/src/useResizeListener.ts +3 -1
  1168. package/src/useResizeObserver.ts +8 -45
  1169. package/src/useThrottledFunction.ts +12 -10
  1170. package/src/useWindowSize.ts +29 -19
  1171. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  1172. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  1173. package/src/utils/alphaNumericSort.ts +3 -16
  1174. package/src/utils/getMiddleOfRange.ts +26 -0
  1175. package/src/utils/getRangeDefaultValue.ts +8 -15
  1176. package/src/utils/getRangeSteps.ts +2 -2
  1177. package/src/utils/nearest.ts +1 -1
  1178. package/src/window-splitter/_window-splitter.scss +83 -112
  1179. package/src/window-splitter/useWindowSplitter.ts +12 -28
  1180. package/tsconfig.types.json +1 -1
  1181. package/.turbo/turbo-lint.log +0 -12
  1182. package/.turbo/turbo-test.log +0 -166
  1183. package/dist/divider/VerticalDivider.d.ts +0 -32
  1184. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  1185. package/dist/form/SelectValue.d.ts +0 -17
  1186. package/dist/form/SelectValue.js +0 -32
  1187. package/dist/form/SelectValue.js.map +0 -1
  1188. package/dist/form/TextFieldContainerStyles.js.map +0 -1
  1189. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  1190. package/dist/icon/MaterialIconsProvider.js +0 -17
  1191. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  1192. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  1193. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  1194. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  1195. package/dist/link/LinkProvider.d.ts +0 -29
  1196. package/dist/menu/menuConfig.d.ts +0 -60
  1197. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  1198. package/dist/utils/filters.d.ts +0 -196
  1199. package/dist/utils/filters.js +0 -67
  1200. package/dist/utils/filters.js.map +0 -1
  1201. package/src/form/SelectValue.tsx +0 -39
  1202. package/src/utils/__tests__/filters.ts +0 -279
  1203. 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>;