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

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 (1558) hide show
  1. package/.turbo/turbo-build.log +7 -7
  2. package/CHANGELOG.md +36 -0
  3. package/coverage/clover.xml +255 -3
  4. package/coverage/coverage-final.json +5 -1
  5. package/coverage/lcov-report/DefaultNavigationRenderer.tsx.html +298 -0
  6. package/coverage/lcov-report/Navigation.tsx.html +358 -0
  7. package/coverage/lcov-report/app-bar/AppBar.tsx.html +125 -134
  8. package/coverage/lcov-report/app-bar/AppBarTitle.tsx.html +54 -75
  9. package/coverage/lcov-report/app-bar/index.html +24 -9
  10. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +34 -181
  11. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +1 -1
  12. package/coverage/lcov-report/autocomplete/index.html +11 -11
  13. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +102 -336
  14. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +1 -1
  15. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +1 -1
  16. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +31 -7
  17. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +67 -4
  18. package/coverage/lcov-report/autocomplete/utils.ts.html +1 -1
  19. package/coverage/lcov-report/box/Box.tsx.html +115 -103
  20. package/coverage/lcov-report/box/index.html +22 -7
  21. package/coverage/lcov-report/box/styles.ts.html +622 -0
  22. package/coverage/lcov-report/button/Button.tsx.html +93 -105
  23. package/coverage/lcov-report/button/TooltippedButton.tsx.html +55 -67
  24. package/coverage/lcov-report/button/index.html +10 -10
  25. package/coverage/lcov-report/form/Form.tsx.html +18 -18
  26. package/coverage/lcov-report/form/Radio.tsx.html +8 -14
  27. package/coverage/lcov-report/form/index.html +35 -95
  28. package/coverage/lcov-report/form/useRadioGroup.ts.html +68 -80
  29. package/coverage/lcov-report/getHrefFromParents.ts.html +133 -0
  30. package/coverage/lcov-report/icon/FontIcon.tsx.html +65 -65
  31. package/coverage/lcov-report/icon/index.html +19 -19
  32. package/coverage/lcov-report/index.html +41 -11
  33. package/coverage/lcov-report/layout/LayoutNav.tsx.html +74 -86
  34. package/coverage/lcov-report/layout/Main.tsx.html +47 -38
  35. package/coverage/lcov-report/layout/index.html +54 -9
  36. package/coverage/lcov-report/layout/useExpandableLayout.ts.html +275 -89
  37. package/coverage/lcov-report/layout/useHorizontalLayoutTransition.ts.html +18 -18
  38. package/coverage/lcov-report/media-queries/AppSizeProvider.tsx.html +79 -64
  39. package/coverage/lcov-report/media-queries/index.html +18 -18
  40. package/coverage/lcov-report/navigation/CollapsibleNavGroup.tsx.html +334 -0
  41. package/coverage/lcov-report/navigation/DefaultNavigationRenderer.tsx.html +298 -0
  42. package/coverage/lcov-report/navigation/NavGroup.tsx.html +193 -0
  43. package/coverage/lcov-report/navigation/NavItem.tsx.html +160 -0
  44. package/coverage/lcov-report/navigation/NavItemButton.tsx.html +397 -0
  45. package/coverage/lcov-report/navigation/NavItemLink.tsx.html +574 -0
  46. package/coverage/lcov-report/navigation/NavSubheader.tsx.html +184 -0
  47. package/coverage/lcov-report/navigation/Navigation.tsx.html +358 -0
  48. package/coverage/lcov-report/navigation/getHrefFromParents.ts.html +130 -0
  49. package/coverage/lcov-report/navigation/index.html +146 -0
  50. package/coverage/lcov-report/navigation/navGroupStyles.ts.html +148 -0
  51. package/coverage/lcov-report/navigation/navItemStyles.ts.html +298 -0
  52. package/coverage/lcov-report/sheet/Sheet.tsx.html +50 -56
  53. package/coverage/lcov-report/sheet/index.html +8 -8
  54. package/coverage/lcov-report/snackbar/DefaultToastRenderer.tsx.html +307 -304
  55. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +377 -356
  56. package/coverage/lcov-report/snackbar/index.html +16 -106
  57. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +56 -92
  58. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +1 -1
  59. package/coverage/lcov-report/src/autocomplete/index.html +11 -11
  60. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +513 -111
  61. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +7 -7
  62. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +1 -1
  63. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +32 -8
  64. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +146 -14
  65. package/coverage/lcov-report/src/autocomplete/utils.ts.html +1 -1
  66. package/coverage/lcov-report/src/divider/Divider.tsx.html +6 -9
  67. package/coverage/lcov-report/src/divider/index.html +8 -23
  68. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +29 -29
  69. package/coverage/lcov-report/src/icon/index.html +1 -1
  70. package/coverage/lcov-report/src/index.html +21 -21
  71. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +33 -42
  72. package/coverage/lcov-report/src/layout/Main.tsx.html +33 -36
  73. package/coverage/lcov-report/src/layout/index.html +15 -195
  74. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +37 -46
  75. package/coverage/lcov-report/src/list/List.tsx.html +39 -42
  76. package/coverage/lcov-report/src/list/index.html +10 -130
  77. package/coverage/lcov-report/src/navigation/CollapsibleNavGroup.tsx.html +367 -0
  78. package/coverage/lcov-report/src/navigation/DefaultNavigationRenderer.tsx.html +325 -0
  79. package/coverage/lcov-report/src/navigation/NavGroup.tsx.html +202 -0
  80. package/coverage/lcov-report/src/navigation/NavItem.tsx.html +172 -0
  81. package/coverage/lcov-report/src/navigation/NavSubheader.tsx.html +193 -0
  82. package/coverage/lcov-report/src/navigation/Navigation.tsx.html +358 -0
  83. package/coverage/lcov-report/src/navigation/index.html +191 -0
  84. package/coverage/lcov-report/src/tree/Tree.tsx.html +12 -24
  85. package/coverage/lcov-report/src/tree/index.html +18 -18
  86. package/coverage/lcov-report/src/useElementSize.ts.html +115 -40
  87. package/coverage/lcov-report/src/useMutationObserver.ts.html +310 -0
  88. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +151 -52
  89. package/coverage/lcov-report/src/utils/index.html +10 -10
  90. package/coverage/lcov-report/test-utils/index.html +21 -21
  91. package/coverage/lcov-report/test-utils/matchMedia.ts.html +98 -95
  92. package/coverage/lcov-report/transition/config.ts.html +7 -7
  93. package/coverage/lcov-report/transition/index.html +1 -1
  94. package/coverage/lcov-report/useExpandableLayout.ts.html +171 -105
  95. package/coverage/lcov-report/useMutationObserver.ts.html +310 -0
  96. package/coverage/lcov-report/utils/index.html +16 -16
  97. package/coverage/lcov-report/utils/isElementVisible.ts.html +21 -24
  98. package/coverage/lcov.info +302 -0
  99. package/dist/CoreProviders.d.ts +3 -3
  100. package/dist/CoreProviders.js +1 -1
  101. package/dist/CoreProviders.js.map +1 -1
  102. package/dist/NoSsr.d.ts +3 -4
  103. package/dist/NoSsr.js +2 -3
  104. package/dist/NoSsr.js.map +1 -1
  105. package/dist/RootHtml.d.ts +3 -4
  106. package/dist/RootHtml.js +2 -3
  107. package/dist/RootHtml.js.map +1 -1
  108. package/dist/SsrProvider.d.ts +3 -3
  109. package/dist/SsrProvider.js +2 -2
  110. package/dist/SsrProvider.js.map +1 -1
  111. package/dist/_core.scss +5 -0
  112. package/dist/app-bar/AppBar.d.ts +11 -14
  113. package/dist/app-bar/AppBar.js +3 -5
  114. package/dist/app-bar/AppBar.js.map +1 -1
  115. package/dist/app-bar/AppBarTitle.d.ts +9 -10
  116. package/dist/app-bar/AppBarTitle.js +4 -6
  117. package/dist/app-bar/AppBarTitle.js.map +1 -1
  118. package/dist/avatar/Avatar.d.ts +5 -6
  119. package/dist/avatar/Avatar.js +2 -3
  120. package/dist/avatar/Avatar.js.map +1 -1
  121. package/dist/avatar/styles.d.ts +4 -4
  122. package/dist/avatar/styles.js +2 -2
  123. package/dist/avatar/styles.js.map +1 -1
  124. package/dist/badge/Badge.d.ts +4 -6
  125. package/dist/badge/Badge.js +3 -5
  126. package/dist/badge/Badge.js.map +1 -1
  127. package/dist/box/Box.d.ts +6 -9
  128. package/dist/box/Box.js +14 -9
  129. package/dist/box/Box.js.map +1 -1
  130. package/dist/box/_box.scss +1 -1
  131. package/dist/box/styles.d.ts +9 -9
  132. package/dist/box/styles.js +1 -1
  133. package/dist/box/styles.js.map +1 -1
  134. package/dist/button/AsyncButton.d.ts +5 -7
  135. package/dist/button/AsyncButton.js +3 -5
  136. package/dist/button/AsyncButton.js.map +1 -1
  137. package/dist/button/Button.d.ts +4 -8
  138. package/dist/button/Button.js +4 -8
  139. package/dist/button/Button.js.map +1 -1
  140. package/dist/button/ButtonUnstyled.d.ts +2 -2
  141. package/dist/button/ButtonUnstyled.js +1 -1
  142. package/dist/button/ButtonUnstyled.js.map +1 -1
  143. package/dist/button/FloatingActionButton.d.ts +5 -5
  144. package/dist/button/FloatingActionButton.js +2 -2
  145. package/dist/button/FloatingActionButton.js.map +1 -1
  146. package/dist/button/TooltippedButton.d.ts +2 -2
  147. package/dist/button/TooltippedButton.js +2 -5
  148. package/dist/button/TooltippedButton.js.map +1 -1
  149. package/dist/button/buttonStyles.d.ts +3 -3
  150. package/dist/button/buttonStyles.js +1 -1
  151. package/dist/button/buttonStyles.js.map +1 -1
  152. package/dist/button/buttonUnstyledStyles.d.ts +2 -2
  153. package/dist/button/buttonUnstyledStyles.js +1 -1
  154. package/dist/button/buttonUnstyledStyles.js.map +1 -1
  155. package/dist/card/Card.d.ts +3 -4
  156. package/dist/card/Card.js +2 -3
  157. package/dist/card/Card.js.map +1 -1
  158. package/dist/card/CardContent.d.ts +2 -4
  159. package/dist/card/CardContent.js +1 -2
  160. package/dist/card/CardContent.js.map +1 -1
  161. package/dist/card/CardFooter.d.ts +2 -2
  162. package/dist/card/CardFooter.js +1 -1
  163. package/dist/card/CardFooter.js.map +1 -1
  164. package/dist/card/CardHeader.d.ts +10 -12
  165. package/dist/card/CardHeader.js +6 -7
  166. package/dist/card/CardHeader.js.map +1 -1
  167. package/dist/card/CardSubtitle.d.ts +2 -2
  168. package/dist/card/CardSubtitle.js +1 -1
  169. package/dist/card/CardSubtitle.js.map +1 -1
  170. package/dist/card/CardTitle.d.ts +2 -2
  171. package/dist/card/CardTitle.js +1 -1
  172. package/dist/card/CardTitle.js.map +1 -1
  173. package/dist/card/ClickableCard.d.ts +3 -4
  174. package/dist/card/ClickableCard.js +2 -3
  175. package/dist/card/ClickableCard.js.map +1 -1
  176. package/dist/card/styles.d.ts +15 -15
  177. package/dist/card/styles.js +7 -7
  178. package/dist/card/styles.js.map +1 -1
  179. package/dist/chip/Chip.d.ts +10 -14
  180. package/dist/chip/Chip.js +4 -7
  181. package/dist/chip/Chip.js.map +1 -1
  182. package/dist/chip/styles.d.ts +4 -4
  183. package/dist/chip/styles.js +2 -2
  184. package/dist/chip/styles.js.map +1 -1
  185. package/dist/cssUtils.d.ts +10 -10
  186. package/dist/cssUtils.js +1 -1
  187. package/dist/cssUtils.js.map +1 -1
  188. package/dist/delegateEvent.js.map +1 -1
  189. package/dist/dialog/Dialog.d.ts +5 -6
  190. package/dist/dialog/Dialog.js +4 -5
  191. package/dist/dialog/Dialog.js.map +1 -1
  192. package/dist/dialog/DialogContainer.d.ts +2 -2
  193. package/dist/dialog/DialogContainer.js +1 -1
  194. package/dist/dialog/DialogContainer.js.map +1 -1
  195. package/dist/dialog/DialogContent.js.map +1 -1
  196. package/dist/dialog/DialogFooter.js.map +1 -1
  197. package/dist/dialog/DialogHeader.js.map +1 -1
  198. package/dist/dialog/DialogTitle.d.ts +3 -2
  199. package/dist/dialog/DialogTitle.js.map +1 -1
  200. package/dist/dialog/FixedDialog.d.ts +1 -2
  201. package/dist/dialog/FixedDialog.js +1 -2
  202. package/dist/dialog/FixedDialog.js.map +1 -1
  203. package/dist/dialog/NestedDialogProvider.js.map +1 -1
  204. package/dist/dialog/styles.d.ts +9 -9
  205. package/dist/dialog/styles.js +4 -4
  206. package/dist/dialog/styles.js.map +1 -1
  207. package/dist/divider/Divider.d.ts +2 -3
  208. package/dist/divider/Divider.js +1 -2
  209. package/dist/divider/Divider.js.map +1 -1
  210. package/dist/divider/styles.d.ts +2 -2
  211. package/dist/divider/styles.js +1 -1
  212. package/dist/divider/styles.js.map +1 -1
  213. package/dist/draggable/useDraggable.d.ts +17 -18
  214. package/dist/draggable/useDraggable.js +2 -2
  215. package/dist/draggable/useDraggable.js.map +1 -1
  216. package/dist/draggable/utils.d.ts +2 -2
  217. package/dist/draggable/utils.js +1 -1
  218. package/dist/draggable/utils.js.map +1 -1
  219. package/dist/expansion-panel/ExpansionList.d.ts +2 -2
  220. package/dist/expansion-panel/ExpansionList.js +1 -1
  221. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  222. package/dist/expansion-panel/ExpansionPanel.d.ts +8 -9
  223. package/dist/expansion-panel/ExpansionPanel.js +2 -3
  224. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  225. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +5 -5
  226. package/dist/expansion-panel/ExpansionPanelHeader.js +3 -4
  227. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  228. package/dist/expansion-panel/useExpansionList.d.ts +5 -6
  229. package/dist/expansion-panel/useExpansionList.js +4 -5
  230. package/dist/expansion-panel/useExpansionList.js.map +1 -1
  231. package/dist/expansion-panel/useExpansionPanels.d.ts +9 -14
  232. package/dist/expansion-panel/useExpansionPanels.js +3 -6
  233. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  234. package/dist/focus/useFocusContainer.d.ts +9 -10
  235. package/dist/focus/useFocusContainer.js +2 -3
  236. package/dist/focus/useFocusContainer.js.map +1 -1
  237. package/dist/focus/utils.d.ts +4 -5
  238. package/dist/focus/utils.js +3 -4
  239. package/dist/focus/utils.js.map +1 -1
  240. package/dist/form/Checkbox.d.ts +1 -2
  241. package/dist/form/Checkbox.js +1 -2
  242. package/dist/form/Checkbox.js.map +1 -1
  243. package/dist/form/Fieldset.d.ts +5 -6
  244. package/dist/form/Fieldset.js +2 -3
  245. package/dist/form/Fieldset.js.map +1 -1
  246. package/dist/form/FileInput.d.ts +6 -7
  247. package/dist/form/FileInput.js +3 -4
  248. package/dist/form/FileInput.js.map +1 -1
  249. package/dist/form/Form.js.map +1 -1
  250. package/dist/form/FormMessage.js.map +1 -1
  251. package/dist/form/FormMessageContainer.d.ts +2 -2
  252. package/dist/form/FormMessageContainer.js +1 -1
  253. package/dist/form/FormMessageContainer.js.map +1 -1
  254. package/dist/form/FormMessageCounter.d.ts +4 -6
  255. package/dist/form/FormMessageCounter.js +2 -3
  256. package/dist/form/FormMessageCounter.js.map +1 -1
  257. package/dist/form/InputToggle.d.ts +11 -12
  258. package/dist/form/InputToggle.js +1 -1
  259. package/dist/form/InputToggle.js.map +1 -1
  260. package/dist/form/InputToggleIcon.d.ts +4 -6
  261. package/dist/form/InputToggleIcon.js +2 -3
  262. package/dist/form/InputToggleIcon.js.map +1 -1
  263. package/dist/form/Label.d.ts +2 -2
  264. package/dist/form/Label.js +2 -2
  265. package/dist/form/Label.js.map +1 -1
  266. package/dist/form/Legend.d.ts +2 -2
  267. package/dist/form/Legend.js +1 -1
  268. package/dist/form/Legend.js.map +1 -1
  269. package/dist/form/MenuItemCheckbox.d.ts +2 -3
  270. package/dist/form/MenuItemCheckbox.js +2 -3
  271. package/dist/form/MenuItemCheckbox.js.map +1 -1
  272. package/dist/form/MenuItemFileInput.d.ts +3 -5
  273. package/dist/form/MenuItemFileInput.js +2 -3
  274. package/dist/form/MenuItemFileInput.js.map +1 -1
  275. package/dist/form/MenuItemInputToggle.d.ts +7 -9
  276. package/dist/form/MenuItemInputToggle.js +1 -1
  277. package/dist/form/MenuItemInputToggle.js.map +1 -1
  278. package/dist/form/MenuItemRadio.d.ts +3 -5
  279. package/dist/form/MenuItemRadio.js +3 -5
  280. package/dist/form/MenuItemRadio.js.map +1 -1
  281. package/dist/form/MenuItemSwitch.d.ts +2 -3
  282. package/dist/form/MenuItemSwitch.js +2 -3
  283. package/dist/form/MenuItemSwitch.js.map +1 -1
  284. package/dist/form/MenuItemTextField.d.ts +2 -2
  285. package/dist/form/MenuItemTextField.js +1 -1
  286. package/dist/form/MenuItemTextField.js.map +1 -1
  287. package/dist/form/NativeSelect.d.ts +3 -5
  288. package/dist/form/NativeSelect.js +2 -4
  289. package/dist/form/NativeSelect.js.map +1 -1
  290. package/dist/form/OptGroup.d.ts +3 -4
  291. package/dist/form/OptGroup.js +2 -3
  292. package/dist/form/OptGroup.js.map +1 -1
  293. package/dist/form/Option.d.ts +5 -7
  294. package/dist/form/Option.js +3 -4
  295. package/dist/form/Option.js.map +1 -1
  296. package/dist/form/Password.d.ts +7 -13
  297. package/dist/form/Password.js +1 -2
  298. package/dist/form/Password.js.map +1 -1
  299. package/dist/form/Radio.d.ts +1 -2
  300. package/dist/form/Radio.js +1 -2
  301. package/dist/form/Radio.js.map +1 -1
  302. package/dist/form/ResizingTextAreaWrapper.d.ts +2 -2
  303. package/dist/form/ResizingTextAreaWrapper.js +1 -1
  304. package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
  305. package/dist/form/Select.d.ts +6 -9
  306. package/dist/form/Select.js +3 -5
  307. package/dist/form/Select.js.map +1 -1
  308. package/dist/form/SelectedOption.d.ts +2 -2
  309. package/dist/form/SelectedOption.js +1 -1
  310. package/dist/form/SelectedOption.js.map +1 -1
  311. package/dist/form/Slider.d.ts +16 -25
  312. package/dist/form/Slider.js.map +1 -1
  313. package/dist/form/SliderContainer.d.ts +6 -9
  314. package/dist/form/SliderContainer.js +2 -3
  315. package/dist/form/SliderContainer.js.map +1 -1
  316. package/dist/form/SliderMark.d.ts +2 -2
  317. package/dist/form/SliderMark.js +1 -1
  318. package/dist/form/SliderMark.js.map +1 -1
  319. package/dist/form/SliderMarkLabel.d.ts +5 -4
  320. package/dist/form/SliderMarkLabel.js +1 -1
  321. package/dist/form/SliderMarkLabel.js.map +1 -1
  322. package/dist/form/SliderThumb.d.ts +6 -8
  323. package/dist/form/SliderThumb.js +3 -4
  324. package/dist/form/SliderThumb.js.map +1 -1
  325. package/dist/form/SliderTrack.d.ts +4 -6
  326. package/dist/form/SliderTrack.js +2 -3
  327. package/dist/form/SliderTrack.js.map +1 -1
  328. package/dist/form/SliderValueMarks.d.ts +7 -9
  329. package/dist/form/SliderValueMarks.js +1 -1
  330. package/dist/form/SliderValueMarks.js.map +1 -1
  331. package/dist/form/SliderValueTooltip.d.ts +4 -6
  332. package/dist/form/SliderValueTooltip.js +2 -3
  333. package/dist/form/SliderValueTooltip.js.map +1 -1
  334. package/dist/form/Switch.d.ts +3 -4
  335. package/dist/form/Switch.js +2 -3
  336. package/dist/form/Switch.js.map +1 -1
  337. package/dist/form/SwitchTrack.js.map +1 -1
  338. package/dist/form/TextArea.d.ts +2 -3
  339. package/dist/form/TextArea.js +1 -2
  340. package/dist/form/TextArea.js.map +1 -1
  341. package/dist/form/TextField.d.ts +7 -10
  342. package/dist/form/TextField.js +2 -4
  343. package/dist/form/TextField.js.map +1 -1
  344. package/dist/form/TextFieldAddon.d.ts +3 -3
  345. package/dist/form/TextFieldAddon.js +1 -1
  346. package/dist/form/TextFieldAddon.js.map +1 -1
  347. package/dist/form/TextFieldContainer.js.map +1 -1
  348. package/dist/form/fileUtils.d.ts +33 -36
  349. package/dist/form/fileUtils.js +14 -14
  350. package/dist/form/fileUtils.js.map +1 -1
  351. package/dist/form/formConfig.d.ts +2 -2
  352. package/dist/form/formConfig.js +2 -2
  353. package/dist/form/formConfig.js.map +1 -1
  354. package/dist/form/formMessageStyles.d.ts +5 -5
  355. package/dist/form/formMessageStyles.js +3 -3
  356. package/dist/form/formMessageStyles.js.map +1 -1
  357. package/dist/form/inputToggleStyles.d.ts +3 -3
  358. package/dist/form/inputToggleStyles.js +1 -1
  359. package/dist/form/inputToggleStyles.js.map +1 -1
  360. package/dist/form/menuItemInputToggleStyles.d.ts +8 -8
  361. package/dist/form/menuItemInputToggleStyles.js +4 -4
  362. package/dist/form/menuItemInputToggleStyles.js.map +1 -1
  363. package/dist/form/nativeSelectStyles.d.ts +4 -4
  364. package/dist/form/nativeSelectStyles.js +2 -2
  365. package/dist/form/nativeSelectStyles.js.map +1 -1
  366. package/dist/form/optionStyles.d.ts +2 -2
  367. package/dist/form/optionStyles.js +1 -1
  368. package/dist/form/optionStyles.js.map +1 -1
  369. package/dist/form/passwordStyles.d.ts +4 -4
  370. package/dist/form/passwordStyles.js +1 -1
  371. package/dist/form/passwordStyles.js.map +1 -1
  372. package/dist/form/selectStyles.d.ts +2 -2
  373. package/dist/form/selectStyles.js +1 -1
  374. package/dist/form/selectStyles.js.map +1 -1
  375. package/dist/form/selectUtils.d.ts +3 -3
  376. package/dist/form/selectUtils.js +2 -2
  377. package/dist/form/selectUtils.js.map +1 -1
  378. package/dist/form/sliderUtils.d.ts +9 -9
  379. package/dist/form/sliderUtils.js +4 -4
  380. package/dist/form/sliderUtils.js.map +1 -1
  381. package/dist/form/switchStyles.d.ts +2 -2
  382. package/dist/form/switchStyles.js +1 -1
  383. package/dist/form/switchStyles.js.map +1 -1
  384. package/dist/form/textAreaStyles.d.ts +4 -4
  385. package/dist/form/textAreaStyles.js +2 -2
  386. package/dist/form/textAreaStyles.js.map +1 -1
  387. package/dist/form/textFieldContainerStyles.d.ts +2 -2
  388. package/dist/form/textFieldContainerStyles.js +1 -1
  389. package/dist/form/textFieldContainerStyles.js.map +1 -1
  390. package/dist/form/textFieldStyles.d.ts +2 -2
  391. package/dist/form/textFieldStyles.js +1 -1
  392. package/dist/form/textFieldStyles.js.map +1 -1
  393. package/dist/form/types.d.ts +10 -10
  394. package/dist/form/types.js.map +1 -1
  395. package/dist/form/useCheckboxGroup.d.ts +15 -20
  396. package/dist/form/useCheckboxGroup.js.map +1 -1
  397. package/dist/form/useCombobox.d.ts +16 -16
  398. package/dist/form/useCombobox.js +2 -2
  399. package/dist/form/useCombobox.js.map +1 -1
  400. package/dist/form/useEditableCombobox.d.ts +3 -3
  401. package/dist/form/useEditableCombobox.js +1 -1
  402. package/dist/form/useEditableCombobox.js.map +1 -1
  403. package/dist/form/useFileUpload.d.ts +7 -8
  404. package/dist/form/useFileUpload.js +1 -1
  405. package/dist/form/useFileUpload.js.map +1 -1
  406. package/dist/form/useFormReset.d.ts +2 -2
  407. package/dist/form/useFormReset.js +1 -1
  408. package/dist/form/useFormReset.js.map +1 -1
  409. package/dist/form/useListboxProvider.d.ts +3 -3
  410. package/dist/form/useListboxProvider.js +2 -2
  411. package/dist/form/useListboxProvider.js.map +1 -1
  412. package/dist/form/useNumberField.d.ts +17 -25
  413. package/dist/form/useNumberField.js.map +1 -1
  414. package/dist/form/useRadioGroup.d.ts +12 -15
  415. package/dist/form/useRadioGroup.js +2 -3
  416. package/dist/form/useRadioGroup.js.map +1 -1
  417. package/dist/form/useRangeSlider.d.ts +8 -11
  418. package/dist/form/useRangeSlider.js +3 -5
  419. package/dist/form/useRangeSlider.js.map +1 -1
  420. package/dist/form/useResizingTextArea.js.map +1 -1
  421. package/dist/form/useSelectCombobox.d.ts +3 -3
  422. package/dist/form/useSelectCombobox.js +1 -1
  423. package/dist/form/useSelectCombobox.js.map +1 -1
  424. package/dist/form/useSlider.d.ts +7 -9
  425. package/dist/form/useSlider.js +3 -5
  426. package/dist/form/useSlider.js.map +1 -1
  427. package/dist/form/useTextField.d.ts +22 -31
  428. package/dist/form/useTextField.js.map +1 -1
  429. package/dist/form/utils.d.ts +7 -8
  430. package/dist/form/utils.js +5 -6
  431. package/dist/form/utils.js.map +1 -1
  432. package/dist/form/validation.d.ts +16 -16
  433. package/dist/form/validation.js +7 -7
  434. package/dist/form/validation.js.map +1 -1
  435. package/dist/hoverMode/useHoverMode.d.ts +9 -10
  436. package/dist/hoverMode/useHoverMode.js.map +1 -1
  437. package/dist/hoverMode/useHoverModeProvider.d.ts +11 -15
  438. package/dist/hoverMode/useHoverModeProvider.js +3 -4
  439. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  440. package/dist/icon/FontIcon.d.ts +1 -1
  441. package/dist/icon/FontIcon.js +1 -1
  442. package/dist/icon/FontIcon.js.map +1 -1
  443. package/dist/icon/IconRotator.d.ts +1 -1
  444. package/dist/icon/IconRotator.js.map +1 -1
  445. package/dist/icon/MaterialIcon.d.ts +2 -2
  446. package/dist/icon/MaterialIcon.js +1 -1
  447. package/dist/icon/MaterialIcon.js.map +1 -1
  448. package/dist/icon/MaterialSymbol.d.ts +3 -4
  449. package/dist/icon/MaterialSymbol.js +2 -3
  450. package/dist/icon/MaterialSymbol.js.map +1 -1
  451. package/dist/icon/SVGIcon.d.ts +0 -1
  452. package/dist/icon/SVGIcon.js.map +1 -1
  453. package/dist/icon/TextIconSpacing.d.ts +3 -5
  454. package/dist/icon/TextIconSpacing.js +2 -4
  455. package/dist/icon/TextIconSpacing.js.map +1 -1
  456. package/dist/icon/iconConfig.d.ts +14 -16
  457. package/dist/icon/iconConfig.js +5 -7
  458. package/dist/icon/iconConfig.js.map +1 -1
  459. package/dist/icon/material.d.ts +4 -4
  460. package/dist/icon/material.js +1 -1
  461. package/dist/icon/material.js.map +1 -1
  462. package/dist/icon/materialConfig.d.ts +12 -12
  463. package/dist/icon/materialConfig.js +2 -2
  464. package/dist/icon/materialConfig.js.map +1 -1
  465. package/dist/icon/styles.d.ts +8 -8
  466. package/dist/icon/styles.js +2 -2
  467. package/dist/icon/styles.js.map +1 -1
  468. package/dist/interaction/Ripple.js.map +1 -1
  469. package/dist/interaction/RippleContainer.js.map +1 -1
  470. package/dist/interaction/UserInteractionModeProvider.d.ts +1 -2
  471. package/dist/interaction/UserInteractionModeProvider.js +1 -2
  472. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  473. package/dist/interaction/config.d.ts +2 -2
  474. package/dist/interaction/config.js +1 -1
  475. package/dist/interaction/config.js.map +1 -1
  476. package/dist/interaction/types.d.ts +8 -8
  477. package/dist/interaction/types.js +1 -1
  478. package/dist/interaction/types.js.map +1 -1
  479. package/dist/interaction/useElementInteraction.d.ts +6 -7
  480. package/dist/interaction/useElementInteraction.js +3 -4
  481. package/dist/interaction/useElementInteraction.js.map +1 -1
  482. package/dist/interaction/useHigherContrastChildren.d.ts +2 -3
  483. package/dist/interaction/useHigherContrastChildren.js +2 -3
  484. package/dist/interaction/useHigherContrastChildren.js.map +1 -1
  485. package/dist/interaction/utils.js.map +1 -1
  486. package/dist/layout/LayoutAppBar.d.ts +4 -7
  487. package/dist/layout/LayoutAppBar.js +3 -6
  488. package/dist/layout/LayoutAppBar.js.map +1 -1
  489. package/dist/layout/LayoutNav.d.ts +4 -6
  490. package/dist/layout/LayoutNav.js +3 -5
  491. package/dist/layout/LayoutNav.js.map +1 -1
  492. package/dist/layout/LayoutWindowSplitter.d.ts +3 -4
  493. package/dist/layout/LayoutWindowSplitter.js +2 -3
  494. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  495. package/dist/layout/Main.d.ts +4 -5
  496. package/dist/layout/Main.js +2 -3
  497. package/dist/layout/Main.js.map +1 -1
  498. package/dist/layout/_layout.scss +12 -1
  499. package/dist/layout/layoutNavStyles.d.ts +2 -2
  500. package/dist/layout/layoutNavStyles.js +1 -1
  501. package/dist/layout/layoutNavStyles.js.map +1 -1
  502. package/dist/layout/layoutWindowSplitterStyles.d.ts +2 -2
  503. package/dist/layout/layoutWindowSplitterStyles.js +1 -1
  504. package/dist/layout/layoutWindowSplitterStyles.js.map +1 -1
  505. package/dist/layout/mainStyles.d.ts +2 -2
  506. package/dist/layout/mainStyles.js +1 -1
  507. package/dist/layout/mainStyles.js.map +1 -1
  508. package/dist/layout/useExpandableLayout.d.ts +66 -14
  509. package/dist/layout/useExpandableLayout.js +50 -5
  510. package/dist/layout/useExpandableLayout.js.map +1 -1
  511. package/dist/layout/useHorizontalLayoutTransition.d.ts +4 -4
  512. package/dist/layout/useHorizontalLayoutTransition.js +2 -2
  513. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  514. package/dist/layout/useLayoutAppBarHeight.d.ts +7 -9
  515. package/dist/layout/useLayoutAppBarHeight.js +7 -8
  516. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  517. package/dist/layout/useLayoutTree.d.ts +6 -6
  518. package/dist/layout/useLayoutTree.js +1 -1
  519. package/dist/layout/useLayoutTree.js.map +1 -1
  520. package/dist/layout/useLayoutWindowSplitter.d.ts +5 -6
  521. package/dist/layout/useLayoutWindowSplitter.js +2 -3
  522. package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
  523. package/dist/layout/useMainTabIndex.d.ts +1 -1
  524. package/dist/layout/useMainTabIndex.js +1 -1
  525. package/dist/layout/useMainTabIndex.js.map +1 -1
  526. package/dist/layout/useResizableLayout.d.ts +54 -8
  527. package/dist/layout/useResizableLayout.js +51 -5
  528. package/dist/layout/useResizableLayout.js.map +1 -1
  529. package/dist/layout/useTemporaryLayout.d.ts +12 -12
  530. package/dist/layout/useTemporaryLayout.js +1 -1
  531. package/dist/layout/useTemporaryLayout.js.map +1 -1
  532. package/dist/link/Link.d.ts +10 -13
  533. package/dist/link/Link.js +5 -7
  534. package/dist/link/Link.js.map +1 -1
  535. package/dist/link/SkipToMainContent.d.ts +2 -4
  536. package/dist/link/SkipToMainContent.js +1 -2
  537. package/dist/link/SkipToMainContent.js.map +1 -1
  538. package/dist/link/styles.d.ts +4 -4
  539. package/dist/link/styles.js +2 -2
  540. package/dist/link/styles.js.map +1 -1
  541. package/dist/list/List.d.ts +3 -4
  542. package/dist/list/List.js +2 -3
  543. package/dist/list/List.js.map +1 -1
  544. package/dist/list/ListItem.d.ts +4 -6
  545. package/dist/list/ListItem.js +2 -4
  546. package/dist/list/ListItem.js.map +1 -1
  547. package/dist/list/ListItemAddon.js.map +1 -1
  548. package/dist/list/ListItemChildren.d.ts +1 -2
  549. package/dist/list/ListItemChildren.js +1 -2
  550. package/dist/list/ListItemChildren.js.map +1 -1
  551. package/dist/list/ListItemLink.js.map +1 -1
  552. package/dist/list/ListItemText.js.map +1 -1
  553. package/dist/list/ListSubheader.d.ts +3 -3
  554. package/dist/list/ListSubheader.js +1 -1
  555. package/dist/list/ListSubheader.js.map +1 -1
  556. package/dist/list/getListItemHeight.d.ts +1 -1
  557. package/dist/list/getListItemHeight.js.map +1 -1
  558. package/dist/list/listItemStyles.d.ts +9 -9
  559. package/dist/list/listItemStyles.js +3 -3
  560. package/dist/list/listItemStyles.js.map +1 -1
  561. package/dist/list/types.d.ts +11 -11
  562. package/dist/list/types.js.map +1 -1
  563. package/dist/media-queries/AppSizeProvider.d.ts +1 -2
  564. package/dist/media-queries/AppSizeProvider.js +1 -2
  565. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  566. package/dist/media-queries/appSize.js.map +1 -1
  567. package/dist/media-queries/useMediaQuery.d.ts +2 -3
  568. package/dist/media-queries/useMediaQuery.js +2 -3
  569. package/dist/media-queries/useMediaQuery.js.map +1 -1
  570. package/dist/menu/DropdownMenu.d.ts +7 -11
  571. package/dist/menu/DropdownMenu.js +4 -7
  572. package/dist/menu/DropdownMenu.js.map +1 -1
  573. package/dist/menu/Menu.d.ts +10 -13
  574. package/dist/menu/Menu.js +2 -3
  575. package/dist/menu/Menu.js.map +1 -1
  576. package/dist/menu/MenuBar.d.ts +3 -4
  577. package/dist/menu/MenuBar.js +3 -4
  578. package/dist/menu/MenuBar.js.map +1 -1
  579. package/dist/menu/MenuButton.d.ts +8 -8
  580. package/dist/menu/MenuButton.js +2 -2
  581. package/dist/menu/MenuButton.js.map +1 -1
  582. package/dist/menu/MenuConfigurationProvider.d.ts +8 -8
  583. package/dist/menu/MenuConfigurationProvider.js +5 -5
  584. package/dist/menu/MenuConfigurationProvider.js.map +1 -1
  585. package/dist/menu/MenuItem.d.ts +2 -2
  586. package/dist/menu/MenuItem.js +1 -1
  587. package/dist/menu/MenuItem.js.map +1 -1
  588. package/dist/menu/MenuItemButton.d.ts +2 -2
  589. package/dist/menu/MenuItemButton.js +1 -1
  590. package/dist/menu/MenuItemButton.js.map +1 -1
  591. package/dist/menu/MenuItemCircularProgress.d.ts +3 -4
  592. package/dist/menu/MenuItemCircularProgress.js +2 -3
  593. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  594. package/dist/menu/MenuItemGroup.d.ts +3 -4
  595. package/dist/menu/MenuItemGroup.js +2 -3
  596. package/dist/menu/MenuItemGroup.js.map +1 -1
  597. package/dist/menu/MenuItemSeparator.d.ts +2 -2
  598. package/dist/menu/MenuItemSeparator.js +1 -1
  599. package/dist/menu/MenuItemSeparator.js.map +1 -1
  600. package/dist/menu/MenuSheet.d.ts +7 -9
  601. package/dist/menu/MenuSheet.js +2 -3
  602. package/dist/menu/MenuSheet.js.map +1 -1
  603. package/dist/menu/MenuVisibilityProvider.d.ts +6 -8
  604. package/dist/menu/MenuVisibilityProvider.js +5 -6
  605. package/dist/menu/MenuVisibilityProvider.js.map +1 -1
  606. package/dist/menu/MenuWidget.d.ts +2 -2
  607. package/dist/menu/MenuWidget.js +1 -1
  608. package/dist/menu/MenuWidget.js.map +1 -1
  609. package/dist/menu/MenuWidgetKeyboardProvider.d.ts +2 -2
  610. package/dist/menu/MenuWidgetKeyboardProvider.js +1 -1
  611. package/dist/menu/MenuWidgetKeyboardProvider.js.map +1 -1
  612. package/dist/menu/useContextMenu.d.ts +8 -12
  613. package/dist/menu/useContextMenu.js +3 -5
  614. package/dist/menu/useContextMenu.js.map +1 -1
  615. package/dist/menu/useMenuBarProvider.d.ts +6 -6
  616. package/dist/menu/useMenuBarProvider.js +3 -3
  617. package/dist/menu/useMenuBarProvider.js.map +1 -1
  618. package/dist/menu/utils.d.ts +2 -2
  619. package/dist/menu/utils.js +1 -1
  620. package/dist/menu/utils.js.map +1 -1
  621. package/dist/movement/constants.d.ts +3 -3
  622. package/dist/movement/constants.js +3 -3
  623. package/dist/movement/constants.js.map +1 -1
  624. package/dist/movement/findMatchIndex.js.map +1 -1
  625. package/dist/movement/types.d.ts +16 -17
  626. package/dist/movement/types.js +1 -1
  627. package/dist/movement/types.js.map +1 -1
  628. package/dist/movement/useKeyboardMovementProvider.d.ts +5 -8
  629. package/dist/movement/useKeyboardMovementProvider.js +6 -9
  630. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  631. package/dist/movement/utils.d.ts +13 -13
  632. package/dist/movement/utils.js +10 -10
  633. package/dist/movement/utils.js.map +1 -1
  634. package/dist/navigation/CollapsibleNavGroup.d.ts +29 -0
  635. package/dist/navigation/CollapsibleNavGroup.js +49 -0
  636. package/dist/navigation/CollapsibleNavGroup.js.map +1 -0
  637. package/dist/navigation/DefaultNavigationRenderer.d.ts +22 -0
  638. package/dist/navigation/DefaultNavigationRenderer.js +58 -0
  639. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -0
  640. package/dist/navigation/NavGroup.d.ts +18 -0
  641. package/dist/navigation/NavGroup.js +29 -0
  642. package/dist/navigation/NavGroup.js.map +1 -0
  643. package/dist/navigation/NavItem.d.ts +17 -0
  644. package/dist/navigation/NavItem.js +24 -0
  645. package/dist/navigation/NavItem.js.map +1 -0
  646. package/dist/navigation/NavItemButton.d.ts +26 -0
  647. package/dist/navigation/NavItemButton.js +65 -0
  648. package/dist/navigation/NavItemButton.js.map +1 -0
  649. package/dist/navigation/NavItemLink.d.ts +40 -0
  650. package/dist/navigation/NavItemLink.js +88 -0
  651. package/dist/navigation/NavItemLink.js.map +1 -0
  652. package/dist/navigation/NavSubheader.d.ts +16 -0
  653. package/dist/navigation/NavSubheader.js +26 -0
  654. package/dist/navigation/NavSubheader.js.map +1 -0
  655. package/dist/navigation/Navigation.d.ts +31 -0
  656. package/dist/navigation/Navigation.js +46 -0
  657. package/dist/navigation/Navigation.js.map +1 -0
  658. package/dist/navigation/_navigation.scss +99 -0
  659. package/dist/navigation/getHrefFromParents.d.ts +5 -0
  660. package/dist/navigation/getHrefFromParents.js +13 -0
  661. package/dist/navigation/getHrefFromParents.js.map +1 -0
  662. package/dist/navigation/navGroupStyles.d.ts +11 -0
  663. package/dist/navigation/navGroupStyles.js +13 -0
  664. package/dist/navigation/navGroupStyles.js.map +1 -0
  665. package/dist/navigation/navItemStyles.d.ts +33 -0
  666. package/dist/navigation/navItemStyles.js +31 -0
  667. package/dist/navigation/navItemStyles.js.map +1 -0
  668. package/dist/navigation/types.d.ts +137 -0
  669. package/dist/navigation/types.js +5 -0
  670. package/dist/navigation/types.js.map +1 -0
  671. package/dist/navigation/useActiveHeadingId.d.ts +54 -0
  672. package/dist/navigation/useActiveHeadingId.js +117 -0
  673. package/dist/navigation/useActiveHeadingId.js.map +1 -0
  674. package/dist/overlay/Overlay.d.ts +5 -6
  675. package/dist/overlay/Overlay.js +2 -3
  676. package/dist/overlay/Overlay.js.map +1 -1
  677. package/dist/overlay/overlayStyles.d.ts +4 -4
  678. package/dist/overlay/overlayStyles.js +3 -3
  679. package/dist/overlay/overlayStyles.js.map +1 -1
  680. package/dist/portal/Portal.d.ts +1 -2
  681. package/dist/portal/Portal.js +1 -2
  682. package/dist/portal/Portal.js.map +1 -1
  683. package/dist/portal/PortalContainerProvider.d.ts +4 -4
  684. package/dist/portal/PortalContainerProvider.js +2 -2
  685. package/dist/portal/PortalContainerProvider.js.map +1 -1
  686. package/dist/positioning/constants.js.map +1 -1
  687. package/dist/positioning/createHorizontalPosition.js.map +1 -1
  688. package/dist/positioning/createVerticalPosition.d.ts +1 -1
  689. package/dist/positioning/createVerticalPosition.js.map +1 -1
  690. package/dist/positioning/getFixedPosition.js +1 -1
  691. package/dist/positioning/getFixedPosition.js.map +1 -1
  692. package/dist/positioning/types.d.ts +4 -4
  693. package/dist/positioning/types.js.map +1 -1
  694. package/dist/positioning/useFixedPositioning.d.ts +8 -9
  695. package/dist/positioning/useFixedPositioning.js +2 -3
  696. package/dist/positioning/useFixedPositioning.js.map +1 -1
  697. package/dist/positioning/utils.d.ts +3 -3
  698. package/dist/positioning/utils.js +1 -1
  699. package/dist/positioning/utils.js.map +1 -1
  700. package/dist/progress/CircularProgress.d.ts +7 -10
  701. package/dist/progress/CircularProgress.js +3 -5
  702. package/dist/progress/CircularProgress.js.map +1 -1
  703. package/dist/progress/LinearProgress.d.ts +4 -6
  704. package/dist/progress/LinearProgress.js +3 -5
  705. package/dist/progress/LinearProgress.js.map +1 -1
  706. package/dist/progress/getProgressA11y.js.map +1 -1
  707. package/dist/progress/types.d.ts +5 -5
  708. package/dist/progress/types.js +1 -1
  709. package/dist/progress/types.js.map +1 -1
  710. package/dist/responsive-item/ResponsiveItemContainer.d.ts +10 -15
  711. package/dist/responsive-item/ResponsiveItemContainer.js +5 -8
  712. package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -1
  713. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +6 -7
  714. package/dist/responsive-item/ResponsiveItemOverlay.js +3 -4
  715. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  716. package/dist/responsive-item/styles.d.ts +2 -2
  717. package/dist/responsive-item/styles.js +1 -1
  718. package/dist/responsive-item/styles.js.map +1 -1
  719. package/dist/scroll/ScrollLock.d.ts +1 -1
  720. package/dist/scroll/ScrollLock.js +1 -1
  721. package/dist/scroll/ScrollLock.js.map +1 -1
  722. package/dist/scroll/getScrollbarWidth.js.map +1 -1
  723. package/dist/scroll/useScrollLock.d.ts +2 -3
  724. package/dist/scroll/useScrollLock.js +2 -3
  725. package/dist/scroll/useScrollLock.js.map +1 -1
  726. package/dist/searching/caseInsensitive.d.ts +9 -13
  727. package/dist/searching/caseInsensitive.js +1 -1
  728. package/dist/searching/caseInsensitive.js.map +1 -1
  729. package/dist/searching/fuzzy.d.ts +4 -5
  730. package/dist/searching/fuzzy.js +1 -1
  731. package/dist/searching/fuzzy.js.map +1 -1
  732. package/dist/searching/toSearchQuery.d.ts +1 -1
  733. package/dist/searching/toSearchQuery.js +1 -1
  734. package/dist/searching/toSearchQuery.js.map +1 -1
  735. package/dist/searching/types.d.ts +2 -2
  736. package/dist/searching/types.js +1 -1
  737. package/dist/searching/types.js.map +1 -1
  738. package/dist/searching/useFuzzyMatch.d.ts +3 -3
  739. package/dist/searching/useFuzzyMatch.js +1 -1
  740. package/dist/searching/useFuzzyMatch.js.map +1 -1
  741. package/dist/searching/utils.d.ts +3 -3
  742. package/dist/searching/utils.js +2 -2
  743. package/dist/searching/utils.js.map +1 -1
  744. package/dist/segmented-button/SegmentedButton.d.ts +3 -4
  745. package/dist/segmented-button/SegmentedButton.js +2 -3
  746. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  747. package/dist/segmented-button/SegmentedButtonContainer.d.ts +3 -4
  748. package/dist/segmented-button/SegmentedButtonContainer.js +2 -3
  749. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  750. package/dist/segmented-button/segmentedButtonContainerStyles.d.ts +2 -2
  751. package/dist/segmented-button/segmentedButtonContainerStyles.js +1 -1
  752. package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
  753. package/dist/segmented-button/segmentedButtonStyles.d.ts +2 -2
  754. package/dist/segmented-button/segmentedButtonStyles.js +1 -1
  755. package/dist/segmented-button/segmentedButtonStyles.js.map +1 -1
  756. package/dist/sheet/Sheet.d.ts +1 -1
  757. package/dist/sheet/Sheet.js.map +1 -1
  758. package/dist/sheet/styles.d.ts +3 -3
  759. package/dist/sheet/styles.js +1 -1
  760. package/dist/sheet/styles.js.map +1 -1
  761. package/dist/snackbar/DefaultToastRenderer.d.ts +2 -2
  762. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  763. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  764. package/dist/snackbar/Snackbar.d.ts +3 -4
  765. package/dist/snackbar/Snackbar.js +2 -3
  766. package/dist/snackbar/Snackbar.js.map +1 -1
  767. package/dist/snackbar/Toast.d.ts +3 -3
  768. package/dist/snackbar/Toast.js +1 -1
  769. package/dist/snackbar/Toast.js.map +1 -1
  770. package/dist/snackbar/ToastActionButton.d.ts +2 -2
  771. package/dist/snackbar/ToastActionButton.js +1 -1
  772. package/dist/snackbar/ToastActionButton.js.map +1 -1
  773. package/dist/snackbar/ToastCloseButton.d.ts +2 -2
  774. package/dist/snackbar/ToastCloseButton.js +1 -1
  775. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  776. package/dist/snackbar/ToastContent.d.ts +2 -2
  777. package/dist/snackbar/ToastContent.js +1 -1
  778. package/dist/snackbar/ToastContent.js.map +1 -1
  779. package/dist/snackbar/ToastManager.d.ts +17 -18
  780. package/dist/snackbar/ToastManager.js +21 -19
  781. package/dist/snackbar/ToastManager.js.map +1 -1
  782. package/dist/snackbar/ToastManagerProvider.d.ts +6 -6
  783. package/dist/snackbar/ToastManagerProvider.js +5 -5
  784. package/dist/snackbar/ToastManagerProvider.js.map +1 -1
  785. package/dist/snackbar/snackbarStyles.d.ts +4 -5
  786. package/dist/snackbar/snackbarStyles.js +1 -1
  787. package/dist/snackbar/snackbarStyles.js.map +1 -1
  788. package/dist/snackbar/toastContentStyles.d.ts +2 -2
  789. package/dist/snackbar/toastContentStyles.js +1 -1
  790. package/dist/snackbar/toastContentStyles.js.map +1 -1
  791. package/dist/snackbar/toastStyles.d.ts +2 -2
  792. package/dist/snackbar/toastStyles.js +1 -1
  793. package/dist/snackbar/toastStyles.js.map +1 -1
  794. package/dist/snackbar/useCurrentToastActions.d.ts +3 -3
  795. package/dist/snackbar/useCurrentToastActions.js +2 -2
  796. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  797. package/dist/suspense/CircularProgressSuspense.d.ts +3 -4
  798. package/dist/suspense/CircularProgressSuspense.js +2 -3
  799. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  800. package/dist/suspense/NullSuspense.d.ts +3 -4
  801. package/dist/suspense/NullSuspense.js +2 -3
  802. package/dist/suspense/NullSuspense.js.map +1 -1
  803. package/dist/table/Table.d.ts +1 -2
  804. package/dist/table/Table.js +1 -2
  805. package/dist/table/Table.js.map +1 -1
  806. package/dist/table/TableBody.js.map +1 -1
  807. package/dist/table/TableCell.d.ts +7 -7
  808. package/dist/table/TableCell.js.map +1 -1
  809. package/dist/table/TableCellContent.d.ts +3 -3
  810. package/dist/table/TableCellContent.js.map +1 -1
  811. package/dist/table/TableCheckbox.d.ts +11 -15
  812. package/dist/table/TableCheckbox.js +4 -6
  813. package/dist/table/TableCheckbox.js.map +1 -1
  814. package/dist/table/TableConfigurationProvider.js.map +1 -1
  815. package/dist/table/TableContainer.js.map +1 -1
  816. package/dist/table/TableContainerProvider.d.ts +3 -3
  817. package/dist/table/TableContainerProvider.js +2 -2
  818. package/dist/table/TableContainerProvider.js.map +1 -1
  819. package/dist/table/TableFooter.d.ts +2 -2
  820. package/dist/table/TableFooter.js +1 -1
  821. package/dist/table/TableFooter.js.map +1 -1
  822. package/dist/table/TableHeader.d.ts +2 -2
  823. package/dist/table/TableHeader.js +1 -1
  824. package/dist/table/TableHeader.js.map +1 -1
  825. package/dist/table/TableRadio.d.ts +7 -9
  826. package/dist/table/TableRadio.js +2 -3
  827. package/dist/table/TableRadio.js.map +1 -1
  828. package/dist/table/TableRow.js.map +1 -1
  829. package/dist/table/tableCellStyles.d.ts +2 -2
  830. package/dist/table/tableCellStyles.js +1 -1
  831. package/dist/table/tableCellStyles.js.map +1 -1
  832. package/dist/table/tableContainerStyles.d.ts +2 -2
  833. package/dist/table/tableContainerStyles.js +1 -1
  834. package/dist/table/tableContainerStyles.js.map +1 -1
  835. package/dist/table/tableFooterStyles.d.ts +1 -1
  836. package/dist/table/tableFooterStyles.js.map +1 -1
  837. package/dist/table/tableHeaderStyles.d.ts +2 -2
  838. package/dist/table/tableHeaderStyles.js +1 -1
  839. package/dist/table/tableHeaderStyles.js.map +1 -1
  840. package/dist/table/tableRowStyles.d.ts +2 -2
  841. package/dist/table/tableRowStyles.js +1 -1
  842. package/dist/table/tableRowStyles.js.map +1 -1
  843. package/dist/table/tableStyles.d.ts +2 -2
  844. package/dist/table/tableStyles.js +1 -1
  845. package/dist/table/tableStyles.js.map +1 -1
  846. package/dist/table/types.d.ts +7 -9
  847. package/dist/table/types.js +1 -1
  848. package/dist/table/types.js.map +1 -1
  849. package/dist/tabs/Tab.d.ts +4 -4
  850. package/dist/tabs/Tab.js +1 -1
  851. package/dist/tabs/Tab.js.map +1 -1
  852. package/dist/tabs/TabList.d.ts +2 -2
  853. package/dist/tabs/TabList.js +1 -1
  854. package/dist/tabs/TabList.js.map +1 -1
  855. package/dist/tabs/TabListScrollButton.d.ts +3 -3
  856. package/dist/tabs/TabListScrollButton.js +1 -1
  857. package/dist/tabs/TabListScrollButton.js.map +1 -1
  858. package/dist/tabs/tabIndicatorStyles.d.ts +2 -2
  859. package/dist/tabs/tabIndicatorStyles.js +1 -1
  860. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  861. package/dist/tabs/tabListScrollButtonStyles.d.ts +4 -4
  862. package/dist/tabs/tabListScrollButtonStyles.js +2 -2
  863. package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
  864. package/dist/tabs/tabListStyles.d.ts +2 -2
  865. package/dist/tabs/tabListStyles.js +1 -1
  866. package/dist/tabs/tabListStyles.js.map +1 -1
  867. package/dist/tabs/tabStyles.d.ts +2 -2
  868. package/dist/tabs/tabStyles.js +1 -1
  869. package/dist/tabs/tabStyles.js.map +1 -1
  870. package/dist/tabs/useTabList.js.map +1 -1
  871. package/dist/tabs/useTabs.d.ts +15 -20
  872. package/dist/tabs/useTabs.js +1 -1
  873. package/dist/tabs/useTabs.js.map +1 -1
  874. package/dist/tabs/utils.d.ts +3 -3
  875. package/dist/tabs/utils.js +1 -1
  876. package/dist/tabs/utils.js.map +1 -1
  877. package/dist/test-utils/IntersectionObserver.js.map +1 -1
  878. package/dist/test-utils/ResizeObserver.d.ts +9 -11
  879. package/dist/test-utils/ResizeObserver.js +6 -8
  880. package/dist/test-utils/ResizeObserver.js.map +1 -1
  881. package/dist/test-utils/data-testid.js.map +1 -1
  882. package/dist/test-utils/index.js.map +1 -1
  883. package/dist/test-utils/jest-setup.js.map +1 -1
  884. package/dist/test-utils/matchMedia.d.ts +13 -17
  885. package/dist/test-utils/matchMedia.js +9 -11
  886. package/dist/test-utils/matchMedia.js.map +1 -1
  887. package/dist/test-utils/polyfills/IntersectionObserver.js.map +1 -1
  888. package/dist/test-utils/polyfills/ResizeObserver.js.map +1 -1
  889. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
  890. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -1
  891. package/dist/test-utils/polyfills/index.js.map +1 -1
  892. package/dist/test-utils/polyfills/matchMedia.js.map +1 -1
  893. package/dist/test-utils/polyfills/offsetParent.js.map +1 -1
  894. package/dist/test-utils/polyfills/scrollIntoView.js.map +1 -1
  895. package/dist/test-utils/render.d.ts +2 -2
  896. package/dist/test-utils/render.js +1 -1
  897. package/dist/test-utils/render.js.map +1 -1
  898. package/dist/test-utils/timers.d.ts +2 -3
  899. package/dist/test-utils/timers.js +2 -3
  900. package/dist/test-utils/timers.js.map +1 -1
  901. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +2 -2
  902. package/dist/theme/LocalStorageColorSchemeProvider.js +1 -1
  903. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  904. package/dist/theme/ThemeProvider.d.ts +17 -20
  905. package/dist/theme/ThemeProvider.js +7 -8
  906. package/dist/theme/ThemeProvider.js.map +1 -1
  907. package/dist/theme/colors.js.map +1 -1
  908. package/dist/theme/cssVars.js.map +1 -1
  909. package/dist/theme/types.d.ts +3 -3
  910. package/dist/theme/types.js +1 -1
  911. package/dist/theme/types.js.map +1 -1
  912. package/dist/theme/useCSSVariables.d.ts +7 -9
  913. package/dist/theme/useCSSVariables.js +1 -1
  914. package/dist/theme/useCSSVariables.js.map +1 -1
  915. package/dist/theme/useColorScheme.d.ts +6 -7
  916. package/dist/theme/useColorScheme.js +2 -3
  917. package/dist/theme/useColorScheme.js.map +1 -1
  918. package/dist/theme/useColorSchemeMetaTag.d.ts +2 -2
  919. package/dist/theme/useColorSchemeMetaTag.js +1 -1
  920. package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
  921. package/dist/theme/useColorSchemeProvider.d.ts +2 -2
  922. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  923. package/dist/theme/usePrefersColorScheme.d.ts +1 -1
  924. package/dist/theme/usePrefersColorScheme.js +1 -1
  925. package/dist/theme/usePrefersColorScheme.js.map +1 -1
  926. package/dist/theme/utils.d.ts +1 -1
  927. package/dist/theme/utils.js +1 -1
  928. package/dist/theme/utils.js.map +1 -1
  929. package/dist/tooltip/Tooltip.d.ts +3 -5
  930. package/dist/tooltip/Tooltip.js +1 -2
  931. package/dist/tooltip/Tooltip.js.map +1 -1
  932. package/dist/tooltip/TooltipHoverModeProvider.d.ts +5 -6
  933. package/dist/tooltip/TooltipHoverModeProvider.js +3 -4
  934. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  935. package/dist/tooltip/constants.d.ts +9 -9
  936. package/dist/tooltip/constants.js +9 -9
  937. package/dist/tooltip/constants.js.map +1 -1
  938. package/dist/tooltip/tooltipStyles.d.ts +2 -2
  939. package/dist/tooltip/tooltipStyles.js +1 -1
  940. package/dist/tooltip/tooltipStyles.js.map +1 -1
  941. package/dist/tooltip/useTooltip.d.ts +18 -26
  942. package/dist/tooltip/useTooltip.js +4 -7
  943. package/dist/tooltip/useTooltip.js.map +1 -1
  944. package/dist/tooltip/useTooltipPosition.d.ts +4 -4
  945. package/dist/tooltip/useTooltipPosition.js +1 -1
  946. package/dist/tooltip/useTooltipPosition.js.map +1 -1
  947. package/dist/tooltip/utils.js.map +1 -1
  948. package/dist/transition/CSSTransition.d.ts +3 -4
  949. package/dist/transition/CSSTransition.js +2 -3
  950. package/dist/transition/CSSTransition.js.map +1 -1
  951. package/dist/transition/Collapse.d.ts +5 -8
  952. package/dist/transition/Collapse.js +3 -5
  953. package/dist/transition/Collapse.js.map +1 -1
  954. package/dist/transition/CrossFade.d.ts +5 -8
  955. package/dist/transition/CrossFade.js +3 -5
  956. package/dist/transition/CrossFade.js.map +1 -1
  957. package/dist/transition/ScaleTransition.d.ts +7 -10
  958. package/dist/transition/ScaleTransition.js +4 -6
  959. package/dist/transition/ScaleTransition.js.map +1 -1
  960. package/dist/transition/SkeletonPlaceholder.d.ts +4 -6
  961. package/dist/transition/SkeletonPlaceholder.js +3 -5
  962. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  963. package/dist/transition/Slide.d.ts +2 -2
  964. package/dist/transition/Slide.js +1 -1
  965. package/dist/transition/Slide.js.map +1 -1
  966. package/dist/transition/SlideContainer.d.ts +9 -13
  967. package/dist/transition/SlideContainer.js +4 -6
  968. package/dist/transition/SlideContainer.js.map +1 -1
  969. package/dist/transition/collapseStyles.d.ts +2 -2
  970. package/dist/transition/collapseStyles.js +1 -1
  971. package/dist/transition/collapseStyles.js.map +1 -1
  972. package/dist/transition/config.d.ts +2 -2
  973. package/dist/transition/config.js +2 -2
  974. package/dist/transition/config.js.map +1 -1
  975. package/dist/transition/maxWidthTransition.js.map +1 -1
  976. package/dist/transition/skeletonPlaceholderUtils.d.ts +3 -3
  977. package/dist/transition/skeletonPlaceholderUtils.js +2 -2
  978. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  979. package/dist/transition/types.d.ts +34 -37
  980. package/dist/transition/types.js +1 -1
  981. package/dist/transition/types.js.map +1 -1
  982. package/dist/transition/useCSSTransition.d.ts +4 -7
  983. package/dist/transition/useCSSTransition.js +4 -7
  984. package/dist/transition/useCSSTransition.js.map +1 -1
  985. package/dist/transition/useCarousel.d.ts +6 -7
  986. package/dist/transition/useCarousel.js +2 -3
  987. package/dist/transition/useCarousel.js.map +1 -1
  988. package/dist/transition/useCollapseTransition.d.ts +10 -13
  989. package/dist/transition/useCollapseTransition.js +4 -6
  990. package/dist/transition/useCollapseTransition.js.map +1 -1
  991. package/dist/transition/useCrossFadeTransition.d.ts +5 -6
  992. package/dist/transition/useCrossFadeTransition.js +4 -5
  993. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  994. package/dist/transition/useMaxWidthTransition.d.ts +2 -2
  995. package/dist/transition/useMaxWidthTransition.js +1 -1
  996. package/dist/transition/useMaxWidthTransition.js.map +1 -1
  997. package/dist/transition/useScaleTransition.d.ts +8 -11
  998. package/dist/transition/useScaleTransition.js +7 -10
  999. package/dist/transition/useScaleTransition.js.map +1 -1
  1000. package/dist/transition/useSkeletonPlaceholder.d.ts +6 -10
  1001. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  1002. package/dist/transition/useSlideTransition.d.ts +5 -6
  1003. package/dist/transition/useSlideTransition.js +4 -5
  1004. package/dist/transition/useSlideTransition.js.map +1 -1
  1005. package/dist/transition/useTransition.d.ts +1 -1
  1006. package/dist/transition/useTransition.js +1 -1
  1007. package/dist/transition/useTransition.js.map +1 -1
  1008. package/dist/transition/utils.d.ts +6 -6
  1009. package/dist/transition/utils.js +3 -3
  1010. package/dist/transition/utils.js.map +1 -1
  1011. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -1
  1012. package/dist/tree/DefaultTreeItemRenderer.js +1 -1
  1013. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  1014. package/dist/tree/Tree.d.ts +7 -11
  1015. package/dist/tree/Tree.js +4 -6
  1016. package/dist/tree/Tree.js.map +1 -1
  1017. package/dist/tree/TreeGroup.d.ts +3 -3
  1018. package/dist/tree/TreeGroup.js +1 -1
  1019. package/dist/tree/TreeGroup.js.map +1 -1
  1020. package/dist/tree/TreeItem.d.ts +3 -4
  1021. package/dist/tree/TreeItem.js +2 -3
  1022. package/dist/tree/TreeItem.js.map +1 -1
  1023. package/dist/tree/TreeItemExpander.d.ts +2 -2
  1024. package/dist/tree/TreeItemExpander.js +1 -1
  1025. package/dist/tree/TreeItemExpander.js.map +1 -1
  1026. package/dist/tree/TreeProvider.d.ts +6 -6
  1027. package/dist/tree/TreeProvider.js +2 -2
  1028. package/dist/tree/TreeProvider.js.map +1 -1
  1029. package/dist/tree/styles.d.ts +10 -10
  1030. package/dist/tree/styles.js +5 -5
  1031. package/dist/tree/styles.js.map +1 -1
  1032. package/dist/tree/types.d.ts +6 -7
  1033. package/dist/tree/types.js.map +1 -1
  1034. package/dist/tree/useTree.d.ts +4 -5
  1035. package/dist/tree/useTree.js +2 -3
  1036. package/dist/tree/useTree.js.map +1 -1
  1037. package/dist/tree/useTreeExpansion.d.ts +2 -2
  1038. package/dist/tree/useTreeExpansion.js +1 -1
  1039. package/dist/tree/useTreeExpansion.js.map +1 -1
  1040. package/dist/tree/useTreeItems.d.ts +7 -7
  1041. package/dist/tree/useTreeItems.js +2 -2
  1042. package/dist/tree/useTreeItems.js.map +1 -1
  1043. package/dist/tree/useTreeMovement.d.ts +3 -3
  1044. package/dist/tree/useTreeMovement.js +3 -3
  1045. package/dist/tree/useTreeMovement.js.map +1 -1
  1046. package/dist/tree/useTreeSelection.d.ts +2 -2
  1047. package/dist/tree/useTreeSelection.js +1 -1
  1048. package/dist/tree/useTreeSelection.js.map +1 -1
  1049. package/dist/tree/utils.d.ts +2 -2
  1050. package/dist/tree/utils.js +2 -2
  1051. package/dist/tree/utils.js.map +1 -1
  1052. package/dist/types.d.ts +14 -16
  1053. package/dist/types.js +1 -1
  1054. package/dist/types.js.map +1 -1
  1055. package/dist/typography/SrOnly.d.ts +1 -2
  1056. package/dist/typography/SrOnly.js +1 -2
  1057. package/dist/typography/SrOnly.js.map +1 -1
  1058. package/dist/typography/TextContainer.d.ts +4 -44
  1059. package/dist/typography/TextContainer.js +3 -33
  1060. package/dist/typography/TextContainer.js.map +1 -1
  1061. package/dist/typography/Typography.d.ts +4 -116
  1062. package/dist/typography/Typography.js +2 -91
  1063. package/dist/typography/Typography.js.map +1 -1
  1064. package/dist/typography/WritingDirectionProvider.d.ts +10 -13
  1065. package/dist/typography/WritingDirectionProvider.js +6 -9
  1066. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  1067. package/dist/typography/textContainerStyles.d.ts +39 -0
  1068. package/dist/typography/textContainerStyles.js +31 -0
  1069. package/dist/typography/textContainerStyles.js.map +1 -0
  1070. package/dist/typography/typographyStyles.d.ts +110 -0
  1071. package/dist/typography/typographyStyles.js +89 -0
  1072. package/dist/typography/typographyStyles.js.map +1 -0
  1073. package/dist/useAsyncAction.d.ts +7 -9
  1074. package/dist/useAsyncAction.js +3 -5
  1075. package/dist/useAsyncAction.js.map +1 -1
  1076. package/dist/useDebouncedFunction.d.ts +3 -4
  1077. package/dist/useDebouncedFunction.js +2 -3
  1078. package/dist/useDebouncedFunction.js.map +1 -1
  1079. package/dist/useDropzone.d.ts +9 -14
  1080. package/dist/useDropzone.js +4 -7
  1081. package/dist/useDropzone.js.map +1 -1
  1082. package/dist/useElementSize.d.ts +26 -5
  1083. package/dist/useElementSize.js +7 -5
  1084. package/dist/useElementSize.js.map +1 -1
  1085. package/dist/useEnsuredId.d.ts +2 -3
  1086. package/dist/useEnsuredId.js +2 -3
  1087. package/dist/useEnsuredId.js.map +1 -1
  1088. package/dist/useEnsuredRef.d.ts +3 -4
  1089. package/dist/useEnsuredRef.js +2 -3
  1090. package/dist/useEnsuredRef.js.map +1 -1
  1091. package/dist/useEnsuredState.d.ts +2 -2
  1092. package/dist/useEnsuredState.js +1 -1
  1093. package/dist/useEnsuredState.js.map +1 -1
  1094. package/dist/useHtmlClassName.d.ts +1 -1
  1095. package/dist/useHtmlClassName.js +1 -1
  1096. package/dist/useHtmlClassName.js.map +1 -1
  1097. package/dist/useIntersectionObserver.d.ts +13 -20
  1098. package/dist/useIntersectionObserver.js +2 -3
  1099. package/dist/useIntersectionObserver.js.map +1 -1
  1100. package/dist/useIsomorphicLayoutEffect.js.map +1 -1
  1101. package/dist/useLocalStorage.d.ts +17 -22
  1102. package/dist/useLocalStorage.js +9 -13
  1103. package/dist/useLocalStorage.js.map +1 -1
  1104. package/dist/useOrientation.js.map +1 -1
  1105. package/dist/usePageInactive.d.ts +3 -3
  1106. package/dist/usePageInactive.js +1 -1
  1107. package/dist/usePageInactive.js.map +1 -1
  1108. package/dist/useResizeListener.d.ts +3 -4
  1109. package/dist/useResizeListener.js +2 -3
  1110. package/dist/useResizeListener.js.map +1 -1
  1111. package/dist/useResizeObserver.d.ts +8 -10
  1112. package/dist/useResizeObserver.js +4 -5
  1113. package/dist/useResizeObserver.js.map +1 -1
  1114. package/dist/useThrottledFunction.d.ts +3 -4
  1115. package/dist/useThrottledFunction.js +2 -3
  1116. package/dist/useThrottledFunction.js.map +1 -1
  1117. package/dist/useToggle.d.ts +2 -3
  1118. package/dist/useToggle.js +1 -2
  1119. package/dist/useToggle.js.map +1 -1
  1120. package/dist/useUnmounted.d.ts +2 -3
  1121. package/dist/useUnmounted.js +2 -3
  1122. package/dist/useUnmounted.js.map +1 -1
  1123. package/dist/useWindowSize.d.ts +3 -4
  1124. package/dist/useWindowSize.js +2 -3
  1125. package/dist/useWindowSize.js.map +1 -1
  1126. package/dist/utils/RenderRecursively.d.ts +26 -7
  1127. package/dist/utils/RenderRecursively.js +19 -3
  1128. package/dist/utils/RenderRecursively.js.map +1 -1
  1129. package/dist/utils/alphaNumericSort.d.ts +6 -11
  1130. package/dist/utils/alphaNumericSort.js +1 -1
  1131. package/dist/utils/alphaNumericSort.js.map +1 -1
  1132. package/dist/utils/applyRef.d.ts +1 -2
  1133. package/dist/utils/applyRef.js +1 -2
  1134. package/dist/utils/applyRef.js.map +1 -1
  1135. package/dist/utils/bem.d.ts +2 -3
  1136. package/dist/utils/bem.js +2 -3
  1137. package/dist/utils/bem.js.map +1 -1
  1138. package/dist/utils/getClientPosition.d.ts +4 -4
  1139. package/dist/utils/getClientPosition.js +2 -2
  1140. package/dist/utils/getClientPosition.js.map +1 -1
  1141. package/dist/utils/getMiddleOfRange.d.ts +2 -2
  1142. package/dist/utils/getMiddleOfRange.js +1 -1
  1143. package/dist/utils/getMiddleOfRange.js.map +1 -1
  1144. package/dist/utils/getPercentage.d.ts +3 -4
  1145. package/dist/utils/getPercentage.js +3 -4
  1146. package/dist/utils/getPercentage.js.map +1 -1
  1147. package/dist/utils/getRangeDefaultValue.d.ts +2 -2
  1148. package/dist/utils/getRangeDefaultValue.js +1 -1
  1149. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  1150. package/dist/utils/getRangeSteps.d.ts +3 -4
  1151. package/dist/utils/getRangeSteps.js +3 -4
  1152. package/dist/utils/getRangeSteps.js.map +1 -1
  1153. package/dist/utils/identity.d.ts +1 -1
  1154. package/dist/utils/identity.js +1 -1
  1155. package/dist/utils/identity.js.map +1 -1
  1156. package/dist/utils/isElementVisible.d.ts +3 -4
  1157. package/dist/utils/isElementVisible.js +3 -4
  1158. package/dist/utils/isElementVisible.js.map +1 -1
  1159. package/dist/utils/loop.d.ts +2 -2
  1160. package/dist/utils/loop.js +2 -2
  1161. package/dist/utils/loop.js.map +1 -1
  1162. package/dist/utils/nearest.d.ts +3 -4
  1163. package/dist/utils/nearest.js +3 -4
  1164. package/dist/utils/nearest.js.map +1 -1
  1165. package/dist/utils/parseCssLengthUnit.d.ts +2 -4
  1166. package/dist/utils/parseCssLengthUnit.js +2 -4
  1167. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  1168. package/dist/utils/randomInt.d.ts +2 -2
  1169. package/dist/utils/randomInt.js +2 -2
  1170. package/dist/utils/randomInt.js.map +1 -1
  1171. package/dist/utils/wait.d.ts +2 -3
  1172. package/dist/utils/wait.js +2 -3
  1173. package/dist/utils/wait.js.map +1 -1
  1174. package/dist/utils/withinRange.d.ts +3 -4
  1175. package/dist/utils/withinRange.js +3 -4
  1176. package/dist/utils/withinRange.js.map +1 -1
  1177. package/dist/window-splitter/WindowSplitter.d.ts +5 -5
  1178. package/dist/window-splitter/WindowSplitter.js +2 -2
  1179. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  1180. package/dist/window-splitter/useWindowSplitter.d.ts +6 -7
  1181. package/dist/window-splitter/useWindowSplitter.js +2 -3
  1182. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  1183. package/package.json +24 -357
  1184. package/src/CoreProviders.tsx +3 -3
  1185. package/src/NoSsr.tsx +3 -4
  1186. package/src/RootHtml.tsx +3 -4
  1187. package/src/SsrProvider.tsx +3 -3
  1188. package/src/_core.scss +5 -0
  1189. package/src/app-bar/AppBar.tsx +11 -14
  1190. package/src/app-bar/AppBarTitle.tsx +9 -14
  1191. package/src/avatar/Avatar.tsx +5 -6
  1192. package/src/avatar/__tests__/Avatar.tsx +1 -1
  1193. package/src/avatar/styles.ts +4 -4
  1194. package/src/badge/Badge.tsx +4 -6
  1195. package/src/box/Box.tsx +16 -9
  1196. package/src/box/__tests__/Box.tsx +158 -0
  1197. package/src/box/__tests__/__snapshots__/Box.tsx.snap +544 -0
  1198. package/src/box/_box.scss +1 -1
  1199. package/src/box/styles.ts +9 -9
  1200. package/src/button/AsyncButton.tsx +5 -7
  1201. package/src/button/Button.tsx +4 -8
  1202. package/src/button/ButtonUnstyled.tsx +2 -2
  1203. package/src/button/FloatingActionButton.tsx +5 -5
  1204. package/src/button/TooltippedButton.tsx +9 -13
  1205. package/src/button/buttonStyles.ts +3 -3
  1206. package/src/button/buttonUnstyledStyles.ts +2 -2
  1207. package/src/card/Card.tsx +3 -4
  1208. package/src/card/CardContent.tsx +2 -4
  1209. package/src/card/CardFooter.tsx +2 -2
  1210. package/src/card/CardHeader.tsx +10 -12
  1211. package/src/card/CardSubtitle.tsx +2 -2
  1212. package/src/card/CardTitle.tsx +2 -2
  1213. package/src/card/ClickableCard.tsx +3 -4
  1214. package/src/card/styles.ts +15 -15
  1215. package/src/chip/Chip.tsx +10 -14
  1216. package/src/chip/styles.ts +4 -4
  1217. package/src/cssUtils.ts +10 -10
  1218. package/src/dialog/Dialog.tsx +5 -6
  1219. package/src/dialog/DialogContainer.tsx +2 -2
  1220. package/src/dialog/DialogTitle.tsx +2 -2
  1221. package/src/dialog/FixedDialog.tsx +1 -2
  1222. package/src/dialog/styles.ts +9 -9
  1223. package/src/divider/Divider.tsx +2 -3
  1224. package/src/divider/styles.ts +2 -2
  1225. package/src/draggable/useDraggable.ts +18 -19
  1226. package/src/draggable/utils.ts +2 -2
  1227. package/src/expansion-panel/ExpansionList.tsx +2 -2
  1228. package/src/expansion-panel/ExpansionPanel.tsx +8 -9
  1229. package/src/expansion-panel/ExpansionPanelHeader.tsx +6 -10
  1230. package/src/expansion-panel/useExpansionList.ts +6 -7
  1231. package/src/expansion-panel/useExpansionPanels.ts +9 -14
  1232. package/src/focus/useFocusContainer.ts +9 -10
  1233. package/src/focus/utils.ts +4 -5
  1234. package/src/form/Checkbox.tsx +1 -2
  1235. package/src/form/Fieldset.tsx +5 -6
  1236. package/src/form/FileInput.tsx +6 -7
  1237. package/src/form/FormMessageContainer.tsx +2 -2
  1238. package/src/form/FormMessageCounter.tsx +4 -6
  1239. package/src/form/InputToggle.tsx +11 -12
  1240. package/src/form/InputToggleIcon.tsx +4 -6
  1241. package/src/form/Label.tsx +2 -2
  1242. package/src/form/Legend.tsx +2 -2
  1243. package/src/form/MenuItemCheckbox.tsx +2 -3
  1244. package/src/form/MenuItemFileInput.tsx +3 -5
  1245. package/src/form/MenuItemInputToggle.tsx +7 -9
  1246. package/src/form/MenuItemRadio.tsx +3 -5
  1247. package/src/form/MenuItemSwitch.tsx +2 -3
  1248. package/src/form/MenuItemTextField.tsx +2 -2
  1249. package/src/form/NativeSelect.tsx +3 -5
  1250. package/src/form/OptGroup.tsx +3 -4
  1251. package/src/form/Option.tsx +5 -7
  1252. package/src/form/Password.tsx +7 -13
  1253. package/src/form/Radio.tsx +1 -2
  1254. package/src/form/ResizingTextAreaWrapper.tsx +2 -2
  1255. package/src/form/Select.tsx +6 -9
  1256. package/src/form/SelectedOption.tsx +2 -2
  1257. package/src/form/Slider.tsx +16 -25
  1258. package/src/form/SliderContainer.tsx +6 -9
  1259. package/src/form/SliderMark.tsx +2 -2
  1260. package/src/form/SliderMarkLabel.tsx +4 -4
  1261. package/src/form/SliderThumb.tsx +8 -10
  1262. package/src/form/SliderTrack.tsx +4 -6
  1263. package/src/form/SliderValueMarks.tsx +7 -9
  1264. package/src/form/SliderValueTooltip.tsx +4 -6
  1265. package/src/form/Switch.tsx +3 -4
  1266. package/src/form/TextArea.tsx +2 -3
  1267. package/src/form/TextField.tsx +7 -10
  1268. package/src/form/TextFieldAddon.tsx +3 -3
  1269. package/src/form/fileUtils.ts +33 -36
  1270. package/src/form/formConfig.ts +2 -2
  1271. package/src/form/formMessageStyles.ts +5 -5
  1272. package/src/form/inputToggleStyles.ts +3 -3
  1273. package/src/form/menuItemInputToggleStyles.ts +8 -8
  1274. package/src/form/nativeSelectStyles.ts +4 -4
  1275. package/src/form/optionStyles.ts +2 -2
  1276. package/src/form/passwordStyles.ts +4 -4
  1277. package/src/form/selectStyles.ts +2 -2
  1278. package/src/form/selectUtils.ts +4 -4
  1279. package/src/form/sliderUtils.ts +9 -9
  1280. package/src/form/switchStyles.ts +2 -2
  1281. package/src/form/textAreaStyles.ts +4 -4
  1282. package/src/form/textFieldContainerStyles.ts +2 -2
  1283. package/src/form/textFieldStyles.ts +2 -2
  1284. package/src/form/types.ts +10 -10
  1285. package/src/form/useCheckboxGroup.ts +15 -20
  1286. package/src/form/useCombobox.ts +18 -16
  1287. package/src/form/useEditableCombobox.ts +3 -3
  1288. package/src/form/useFileUpload.ts +7 -8
  1289. package/src/form/useFormReset.ts +2 -2
  1290. package/src/form/useListboxProvider.ts +3 -3
  1291. package/src/form/useNumberField.ts +17 -25
  1292. package/src/form/useRadioGroup.ts +14 -18
  1293. package/src/form/useRangeSlider.ts +8 -11
  1294. package/src/form/useSelectCombobox.ts +3 -3
  1295. package/src/form/useSlider.ts +7 -9
  1296. package/src/form/useTextField.ts +22 -31
  1297. package/src/form/utils.ts +7 -8
  1298. package/src/form/validation.ts +18 -18
  1299. package/src/hoverMode/useHoverMode.ts +9 -10
  1300. package/src/hoverMode/useHoverModeProvider.ts +11 -15
  1301. package/src/icon/FontIcon.tsx +1 -1
  1302. package/src/icon/IconRotator.tsx +1 -1
  1303. package/src/icon/MaterialIcon.tsx +2 -2
  1304. package/src/icon/MaterialSymbol.tsx +3 -4
  1305. package/src/icon/SVGIcon.tsx +0 -1
  1306. package/src/icon/TextIconSpacing.tsx +3 -5
  1307. package/src/icon/iconConfig.tsx +14 -16
  1308. package/src/icon/material.ts +4 -4
  1309. package/src/icon/materialConfig.ts +12 -12
  1310. package/src/icon/styles.ts +8 -8
  1311. package/src/interaction/UserInteractionModeProvider.tsx +1 -2
  1312. package/src/interaction/config.ts +2 -2
  1313. package/src/interaction/types.ts +8 -8
  1314. package/src/interaction/useElementInteraction.tsx +6 -7
  1315. package/src/interaction/useHigherContrastChildren.tsx +2 -3
  1316. package/src/layout/LayoutAppBar.tsx +4 -7
  1317. package/src/layout/LayoutNav.tsx +4 -6
  1318. package/src/layout/LayoutWindowSplitter.tsx +3 -4
  1319. package/src/layout/Main.tsx +4 -5
  1320. package/src/layout/__tests__/LayoutAppBar.tsx +23 -0
  1321. package/src/layout/__tests__/useExpandableLayout.tsx +8 -0
  1322. package/src/layout/_layout.scss +12 -1
  1323. package/src/layout/layoutNavStyles.ts +2 -2
  1324. package/src/layout/layoutWindowSplitterStyles.ts +2 -2
  1325. package/src/layout/mainStyles.ts +2 -2
  1326. package/src/layout/useExpandableLayout.ts +85 -23
  1327. package/src/layout/useHorizontalLayoutTransition.ts +8 -8
  1328. package/src/layout/useLayoutAppBarHeight.ts +10 -13
  1329. package/src/layout/useLayoutTree.ts +10 -10
  1330. package/src/layout/useLayoutWindowSplitter.ts +5 -6
  1331. package/src/layout/useMainTabIndex.ts +1 -1
  1332. package/src/layout/useResizableLayout.ts +54 -8
  1333. package/src/layout/useTemporaryLayout.ts +12 -13
  1334. package/src/link/Link.tsx +10 -13
  1335. package/src/link/SkipToMainContent.tsx +2 -4
  1336. package/src/link/styles.ts +4 -4
  1337. package/src/list/List.tsx +3 -4
  1338. package/src/list/ListItem.tsx +4 -6
  1339. package/src/list/ListItemChildren.tsx +1 -2
  1340. package/src/list/ListSubheader.tsx +3 -3
  1341. package/src/list/getListItemHeight.ts +1 -1
  1342. package/src/list/listItemStyles.ts +9 -9
  1343. package/src/list/types.ts +11 -11
  1344. package/src/media-queries/AppSizeProvider.tsx +1 -2
  1345. package/src/media-queries/useMediaQuery.ts +2 -3
  1346. package/src/menu/DropdownMenu.tsx +7 -11
  1347. package/src/menu/Menu.tsx +10 -13
  1348. package/src/menu/MenuBar.tsx +3 -4
  1349. package/src/menu/MenuButton.tsx +8 -8
  1350. package/src/menu/MenuConfigurationProvider.tsx +10 -10
  1351. package/src/menu/MenuItem.tsx +2 -2
  1352. package/src/menu/MenuItemButton.tsx +2 -2
  1353. package/src/menu/MenuItemCircularProgress.tsx +3 -4
  1354. package/src/menu/MenuItemGroup.tsx +3 -4
  1355. package/src/menu/MenuItemSeparator.tsx +2 -2
  1356. package/src/menu/MenuSheet.tsx +7 -9
  1357. package/src/menu/MenuVisibilityProvider.tsx +8 -10
  1358. package/src/menu/MenuWidget.tsx +2 -2
  1359. package/src/menu/MenuWidgetKeyboardProvider.tsx +2 -2
  1360. package/src/menu/useContextMenu.ts +8 -12
  1361. package/src/menu/useMenuBarProvider.ts +6 -6
  1362. package/src/menu/utils.ts +2 -2
  1363. package/src/movement/constants.ts +3 -3
  1364. package/src/movement/types.ts +16 -17
  1365. package/src/movement/useKeyboardMovementProvider.ts +6 -9
  1366. package/src/movement/utils.ts +13 -13
  1367. package/src/navigation/CollapsibleNavGroup.tsx +94 -0
  1368. package/src/navigation/DefaultNavigationRenderer.tsx +71 -0
  1369. package/src/navigation/NavGroup.tsx +39 -0
  1370. package/src/navigation/NavItem.tsx +29 -0
  1371. package/src/navigation/NavItemButton.tsx +104 -0
  1372. package/src/navigation/NavItemLink.tsx +163 -0
  1373. package/src/navigation/NavSubheader.tsx +36 -0
  1374. package/src/navigation/Navigation.tsx +91 -0
  1375. package/src/navigation/__tests__/Navigation.tsx +97 -0
  1376. package/src/navigation/__tests__/__snapshots__/Navigation.tsx.snap +165 -0
  1377. package/src/navigation/_navigation.scss +99 -0
  1378. package/src/navigation/getHrefFromParents.ts +15 -0
  1379. package/src/navigation/navGroupStyles.ts +21 -0
  1380. package/src/navigation/navItemStyles.ts +71 -0
  1381. package/src/navigation/types.ts +166 -0
  1382. package/src/navigation/useActiveHeadingId.ts +190 -0
  1383. package/src/overlay/Overlay.tsx +5 -6
  1384. package/src/overlay/overlayStyles.ts +4 -4
  1385. package/src/portal/Portal.tsx +1 -2
  1386. package/src/portal/PortalContainerProvider.tsx +4 -4
  1387. package/src/positioning/createVerticalPosition.ts +1 -1
  1388. package/src/positioning/getFixedPosition.ts +1 -1
  1389. package/src/positioning/types.ts +4 -4
  1390. package/src/positioning/useFixedPositioning.ts +8 -9
  1391. package/src/positioning/utils.ts +3 -3
  1392. package/src/progress/CircularProgress.tsx +7 -10
  1393. package/src/progress/LinearProgress.tsx +4 -6
  1394. package/src/progress/types.ts +5 -5
  1395. package/src/responsive-item/ResponsiveItemContainer.tsx +10 -15
  1396. package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -7
  1397. package/src/responsive-item/styles.ts +2 -2
  1398. package/src/scroll/ScrollLock.tsx +1 -1
  1399. package/src/scroll/useScrollLock.ts +2 -3
  1400. package/src/searching/caseInsensitive.ts +9 -13
  1401. package/src/searching/fuzzy.ts +4 -5
  1402. package/src/searching/toSearchQuery.ts +1 -1
  1403. package/src/searching/types.ts +2 -2
  1404. package/src/searching/useFuzzyMatch.ts +3 -3
  1405. package/src/searching/utils.ts +3 -3
  1406. package/src/segmented-button/SegmentedButton.tsx +3 -4
  1407. package/src/segmented-button/SegmentedButtonContainer.tsx +3 -4
  1408. package/src/segmented-button/segmentedButtonContainerStyles.ts +2 -2
  1409. package/src/segmented-button/segmentedButtonStyles.ts +2 -2
  1410. package/src/sheet/Sheet.tsx +1 -1
  1411. package/src/sheet/styles.ts +3 -3
  1412. package/src/snackbar/DefaultToastRenderer.tsx +2 -2
  1413. package/src/snackbar/Snackbar.tsx +3 -4
  1414. package/src/snackbar/Toast.tsx +3 -3
  1415. package/src/snackbar/ToastActionButton.tsx +2 -2
  1416. package/src/snackbar/ToastCloseButton.tsx +2 -2
  1417. package/src/snackbar/ToastContent.tsx +2 -2
  1418. package/src/snackbar/ToastManager.tsx +30 -24
  1419. package/src/snackbar/ToastManagerProvider.tsx +6 -6
  1420. package/src/snackbar/__tests__/ToastManagerProvider.tsx +34 -0
  1421. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +21 -21
  1422. package/src/snackbar/snackbarStyles.ts +4 -5
  1423. package/src/snackbar/toastContentStyles.ts +2 -2
  1424. package/src/snackbar/toastStyles.ts +2 -2
  1425. package/src/snackbar/useCurrentToastActions.ts +3 -3
  1426. package/src/suspense/CircularProgressSuspense.tsx +3 -4
  1427. package/src/suspense/NullSuspense.tsx +3 -4
  1428. package/src/table/Table.tsx +1 -2
  1429. package/src/table/TableCell.tsx +7 -7
  1430. package/src/table/TableCellContent.tsx +3 -3
  1431. package/src/table/TableCheckbox.tsx +11 -15
  1432. package/src/table/TableContainerProvider.tsx +3 -3
  1433. package/src/table/TableFooter.tsx +2 -2
  1434. package/src/table/TableHeader.tsx +2 -2
  1435. package/src/table/TableRadio.tsx +7 -9
  1436. package/src/table/tableCellStyles.ts +2 -2
  1437. package/src/table/tableContainerStyles.ts +2 -2
  1438. package/src/table/tableFooterStyles.ts +1 -1
  1439. package/src/table/tableHeaderStyles.ts +2 -2
  1440. package/src/table/tableRowStyles.ts +2 -2
  1441. package/src/table/tableStyles.ts +2 -2
  1442. package/src/table/types.ts +7 -9
  1443. package/src/tabs/Tab.tsx +4 -4
  1444. package/src/tabs/TabList.tsx +2 -2
  1445. package/src/tabs/TabListScrollButton.tsx +3 -3
  1446. package/src/tabs/tabIndicatorStyles.ts +2 -2
  1447. package/src/tabs/tabListScrollButtonStyles.ts +4 -4
  1448. package/src/tabs/tabListStyles.ts +2 -2
  1449. package/src/tabs/tabStyles.ts +2 -2
  1450. package/src/tabs/useTabs.ts +16 -21
  1451. package/src/tabs/utils.ts +3 -3
  1452. package/src/test-utils/ResizeObserver.ts +9 -11
  1453. package/src/test-utils/matchMedia.ts +13 -17
  1454. package/src/test-utils/render.tsx +2 -2
  1455. package/src/test-utils/timers.ts +2 -3
  1456. package/src/theme/LocalStorageColorSchemeProvider.tsx +2 -2
  1457. package/src/theme/ThemeProvider.tsx +18 -21
  1458. package/src/theme/types.ts +3 -3
  1459. package/src/theme/useCSSVariables.ts +8 -10
  1460. package/src/theme/useColorScheme.ts +6 -7
  1461. package/src/theme/useColorSchemeMetaTag.ts +2 -2
  1462. package/src/theme/useColorSchemeProvider.ts +2 -2
  1463. package/src/theme/usePrefersColorScheme.ts +1 -1
  1464. package/src/theme/utils.ts +1 -1
  1465. package/src/tooltip/Tooltip.tsx +3 -5
  1466. package/src/tooltip/TooltipHoverModeProvider.tsx +5 -6
  1467. package/src/tooltip/constants.ts +9 -9
  1468. package/src/tooltip/tooltipStyles.ts +2 -2
  1469. package/src/tooltip/useTooltip.ts +18 -26
  1470. package/src/tooltip/useTooltipPosition.ts +4 -4
  1471. package/src/transition/CSSTransition.tsx +3 -4
  1472. package/src/transition/Collapse.tsx +5 -8
  1473. package/src/transition/CrossFade.tsx +5 -8
  1474. package/src/transition/ScaleTransition.tsx +7 -10
  1475. package/src/transition/SkeletonPlaceholder.tsx +4 -6
  1476. package/src/transition/Slide.tsx +2 -2
  1477. package/src/transition/SlideContainer.tsx +9 -13
  1478. package/src/transition/collapseStyles.ts +2 -2
  1479. package/src/transition/config.ts +2 -2
  1480. package/src/transition/skeletonPlaceholderUtils.ts +3 -3
  1481. package/src/transition/types.ts +34 -37
  1482. package/src/transition/useCSSTransition.ts +4 -7
  1483. package/src/transition/useCarousel.ts +6 -7
  1484. package/src/transition/useCollapseTransition.ts +10 -13
  1485. package/src/transition/useCrossFadeTransition.ts +5 -6
  1486. package/src/transition/useMaxWidthTransition.ts +2 -2
  1487. package/src/transition/useScaleTransition.ts +8 -11
  1488. package/src/transition/useSkeletonPlaceholder.ts +6 -10
  1489. package/src/transition/useSlideTransition.ts +5 -6
  1490. package/src/transition/useTransition.ts +1 -1
  1491. package/src/transition/utils.ts +6 -6
  1492. package/src/tree/DefaultTreeItemRenderer.tsx +1 -1
  1493. package/src/tree/Tree.tsx +8 -12
  1494. package/src/tree/TreeGroup.tsx +3 -3
  1495. package/src/tree/TreeItem.tsx +3 -4
  1496. package/src/tree/TreeItemExpander.tsx +2 -2
  1497. package/src/tree/TreeProvider.tsx +6 -6
  1498. package/src/tree/styles.ts +10 -10
  1499. package/src/tree/types.ts +6 -7
  1500. package/src/tree/useTree.ts +4 -5
  1501. package/src/tree/useTreeExpansion.ts +2 -2
  1502. package/src/tree/useTreeItems.ts +7 -7
  1503. package/src/tree/useTreeMovement.ts +5 -5
  1504. package/src/tree/useTreeSelection.ts +2 -2
  1505. package/src/tree/utils.ts +2 -2
  1506. package/src/types.ts +14 -16
  1507. package/src/typography/SrOnly.tsx +1 -2
  1508. package/src/typography/TextContainer.tsx +7 -57
  1509. package/src/typography/Typography.tsx +8 -149
  1510. package/src/typography/WritingDirectionProvider.tsx +10 -13
  1511. package/src/typography/__tests__/TextContainer.tsx +2 -1
  1512. package/src/typography/__tests__/Typography.tsx +2 -1
  1513. package/src/typography/textContainerStyles.ts +52 -0
  1514. package/src/typography/typographyStyles.ts +143 -0
  1515. package/src/useAsyncAction.ts +7 -9
  1516. package/src/useDebouncedFunction.ts +3 -4
  1517. package/src/useDropzone.ts +9 -14
  1518. package/src/useElementSize.ts +31 -6
  1519. package/src/useEnsuredId.ts +2 -3
  1520. package/src/useEnsuredRef.ts +3 -4
  1521. package/src/useEnsuredState.ts +2 -2
  1522. package/src/useHtmlClassName.ts +1 -1
  1523. package/src/useIntersectionObserver.ts +13 -20
  1524. package/src/useLocalStorage.ts +17 -22
  1525. package/src/usePageInactive.ts +3 -3
  1526. package/src/useResizeListener.ts +3 -4
  1527. package/src/useResizeObserver.ts +8 -10
  1528. package/src/useThrottledFunction.ts +3 -4
  1529. package/src/useToggle.ts +2 -3
  1530. package/src/useUnmounted.ts +2 -3
  1531. package/src/useWindowSize.ts +3 -4
  1532. package/src/utils/RenderRecursively.tsx +42 -9
  1533. package/src/utils/__tests__/RenderRecursively.tsx +1 -1
  1534. package/src/utils/alphaNumericSort.ts +6 -11
  1535. package/src/utils/applyRef.ts +1 -2
  1536. package/src/utils/bem.ts +2 -3
  1537. package/src/utils/getClientPosition.ts +4 -4
  1538. package/src/utils/getMiddleOfRange.ts +2 -2
  1539. package/src/utils/getPercentage.ts +3 -4
  1540. package/src/utils/getRangeDefaultValue.ts +2 -2
  1541. package/src/utils/getRangeSteps.ts +3 -4
  1542. package/src/utils/identity.ts +1 -1
  1543. package/src/utils/isElementVisible.ts +3 -4
  1544. package/src/utils/loop.ts +2 -2
  1545. package/src/utils/nearest.ts +3 -4
  1546. package/src/utils/parseCssLengthUnit.ts +2 -4
  1547. package/src/utils/randomInt.ts +2 -2
  1548. package/src/utils/wait.ts +2 -3
  1549. package/src/utils/withinRange.ts +3 -4
  1550. package/src/window-splitter/WindowSplitter.tsx +5 -5
  1551. package/src/window-splitter/useWindowSplitter.ts +6 -7
  1552. package/tsconfig.types.json +1 -1
  1553. package/tsdoc.json +14 -0
  1554. package/.turbo/turbo-typecheck.log +0 -4
  1555. package/dist/index.d.ts +0 -344
  1556. package/dist/index.js +0 -345
  1557. package/dist/index.js.map +0 -1
  1558. package/src/index.ts +0 -347
@@ -4,9 +4,8 @@ import { useCSSTransition } from "./useCSSTransition.js";
4
4
  * The default {@link CSSTransitionClassNames} for a horizontal scale
5
5
  * transition.
6
6
  *
7
- * @remarks
8
- * \@since 2.0.0
9
- * \@since 6.0.0 The class names were updated to be prefixed with
7
+ * @since 2.0.0
8
+ * @since 6.0.0 The class names were updated to be prefixed with
10
9
  * `rmd-scale-transition`
11
10
  */ export const SCALE_CLASSNAMES = {
12
11
  appear: "rmd-scale-transition--enter",
@@ -20,9 +19,8 @@ import { useCSSTransition } from "./useCSSTransition.js";
20
19
  /**
21
20
  * The default {@link CSSTransitionClassNames} for a vertical scale transition.
22
21
  *
23
- * @remarks
24
- * \@since 2.0.0
25
- * \@since 6.0.0 The class names were updated to be prefixed with
22
+ * @since 2.0.0
23
+ * @since 6.0.0 The class names were updated to be prefixed with
26
24
  * `rmd-scale-y-transition` and merged with the {@link SCALE_CLASSNAMES}
27
25
  */ export const SCALE_Y_CLASSNAMES = {
28
26
  appear: "rmd-scale-transition--enter rmd-scale-transition--y-enter",
@@ -37,7 +35,7 @@ import { useCSSTransition } from "./useCSSTransition.js";
37
35
  * The default {@link TransitionTimeout} to use for horizontal and vertical
38
36
  * scale transitions.
39
37
  *
40
- * @remarks \@since 2.0.0
38
+ * @since 2.0.0
41
39
  */ export const SCALE_TIMEOUT = {
42
40
  enter: 200,
43
41
  exit: 150
@@ -46,8 +44,7 @@ import { useCSSTransition } from "./useCSSTransition.js";
46
44
  * Implements a scale transition that should generally be used for temporary
47
45
  * elements that are positioned via `position: absolute` or `position: fixed`.
48
46
  *
49
- * @example
50
- * Dropdown Menu Example
47
+ * @example Dropdown Menu Example
51
48
  * ```tsx
52
49
  * import { ReactElement, useRef, useState } from "react";
53
50
  * import { Button, useFixedPositioning, useScaleTransition } from "@react-md/core";
@@ -81,7 +78,7 @@ import { useCSSTransition } from "./useCSSTransition.js";
81
78
  *
82
79
  * @typeParam E - The HTMLElement type used or the ref required for the
83
80
  * transition.
84
- * @remarks \@since 4.0.0
81
+ * @since 4.0.0
85
82
  */ export function useScaleTransition(options) {
86
83
  const { timeout = SCALE_TIMEOUT, vertical = false, temporary = true, classNames = vertical ? SCALE_Y_CLASSNAMES : SCALE_CLASSNAMES, ...transitionOptions } = options;
87
84
  return useCSSTransition({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transition/useScaleTransition.ts"],"sourcesContent":["\"use client\";\nimport type {\n CSSTransitionClassNames,\n CSSTransitionClassNamesObject,\n CSSTransitionHookReturnValue,\n PreconfiguredCSSTransitionOptions,\n TransitionTimeoutObject,\n} from \"./types.js\";\nimport { useCSSTransition } from \"./useCSSTransition.js\";\n\n/**\n * The default {@link CSSTransitionClassNames} for a horizontal scale\n * transition.\n *\n * @remarks\n * \\@since 2.0.0\n * \\@since 6.0.0 The class names were updated to be prefixed with\n * `rmd-scale-transition`\n */\nexport const SCALE_CLASSNAMES: Readonly<CSSTransitionClassNamesObject> = {\n appear: \"rmd-scale-transition--enter\",\n appearActive: \"rmd-scale-transition--enter-active\",\n enter: \"rmd-scale-transition--enter\",\n enterActive: \"rmd-scale-transition--enter-active\",\n enterDone: \"\",\n exit: \"rmd-scale-transition--exit\",\n exitActive: \"rmd-scale-transition--exit-active\",\n};\n\n/**\n * The default {@link CSSTransitionClassNames} for a vertical scale transition.\n *\n * @remarks\n * \\@since 2.0.0\n * \\@since 6.0.0 The class names were updated to be prefixed with\n * `rmd-scale-y-transition` and merged with the {@link SCALE_CLASSNAMES}\n */\nexport const SCALE_Y_CLASSNAMES: Readonly<CSSTransitionClassNamesObject> = {\n appear: \"rmd-scale-transition--enter rmd-scale-transition--y-enter\",\n appearActive:\n \"rmd-scale-transition--enter-active rmd-scale-transition--y-enter-active\",\n enter: \"rmd-scale-transition--enter rmd-scale-transition--y-enter\",\n enterActive:\n \"rmd-scale-transition--enter-active rmd-scale-transition--y-enter-active\",\n enterDone: \"\",\n exit: \"rmd-scale-transition--exit rmd-scale-transition--y-exit\",\n exitActive:\n \"rmd-scale-transition--exit-active rmd-scale-transition--y-exit-active\",\n};\n\n/**\n * The default {@link TransitionTimeout} to use for horizontal and vertical\n * scale transitions.\n *\n * @remarks \\@since 2.0.0\n */\nexport const SCALE_TIMEOUT: Readonly<TransitionTimeoutObject> = {\n enter: 200,\n exit: 150,\n};\n\n/**\n * @typeParam E - The HTMLElement type used or the ref required for the\n * transition.\n * @remarks \\@since 4.0.0\n */\nexport interface ScaleTransitionHookOptions<E extends HTMLElement>\n extends PreconfiguredCSSTransitionOptions<E> {\n /**\n * Boolean if the scale transition should be vertical instead of horizontal.\n * This really only changes the default value for the {@link classNames}.\n *\n * @defaultValue `false`\n */\n vertical?: boolean;\n\n /**\n * @see {@link PreconfiguredCSSTransitionOptions.temporary}\n * @defaultValue `true`\n */\n temporary?: boolean;\n\n /**\n * @see {@link vertical}\n * @see {@link SCALE_CLASSNAMES}\n * @see {@link SCALE_Y_CLASSNAMES}\n * @defaultValue `vertical ? SCALE_Y_CLASSNAMES : SCALE_CLASSNAMES`\n */\n classNames?: CSSTransitionClassNames;\n}\n\n/**\n * Implements a scale transition that should generally be used for temporary\n * elements that are positioned via `position: absolute` or `position: fixed`.\n *\n * @example\n * Dropdown Menu Example\n * ```tsx\n * import { ReactElement, useRef, useState } from \"react\";\n * import { Button, useFixedPositioning, useScaleTransition } from \"@react-md/core\";\n *\n * function Example(): ReactElement {\n * const buttonRef = useRef<HTMLButtonElement>(null);\n * const [transitionIn, setTransitionIn] = useState(false);\n * const { style, transitionOptions } = useFixedPositioning({\n * fixedTo: buttonRef,\n * });\n * const { elementProps, rendered } = useScaleTransition({\n * ...transitionOptions,\n * transitionIn,\n * vertical: true,\n * });\n *\n * return (\n * <>\n * <Button ref={buttonRef} onClick={() => setTransitionIn(!transitionIn)}>\n * Toggle\n * </Button>\n * {rendered && (\n * <div {...elementProps} style={style}>\n * Some content within a menu\n * </div>\n * )}\n * </>\n * );\n * }\n * ```\n *\n * @typeParam E - The HTMLElement type used or the ref required for the\n * transition.\n * @remarks \\@since 4.0.0\n */\nexport function useScaleTransition<E extends HTMLElement>(\n options: ScaleTransitionHookOptions<E>\n): CSSTransitionHookReturnValue<E> {\n const {\n timeout = SCALE_TIMEOUT,\n vertical = false,\n temporary = true,\n classNames = vertical ? SCALE_Y_CLASSNAMES : SCALE_CLASSNAMES,\n ...transitionOptions\n } = options;\n\n return useCSSTransition({\n ...transitionOptions,\n timeout,\n temporary,\n classNames,\n });\n}\n"],"names":["useCSSTransition","SCALE_CLASSNAMES","appear","appearActive","enter","enterActive","enterDone","exit","exitActive","SCALE_Y_CLASSNAMES","SCALE_TIMEOUT","useScaleTransition","options","timeout","vertical","temporary","classNames","transitionOptions"],"mappings":"AAAA;AAQA,SAASA,gBAAgB,QAAQ,wBAAwB;AAEzD;;;;;;;;CAQC,GACD,OAAO,MAAMC,mBAA4D;IACvEC,QAAQ;IACRC,cAAc;IACdC,OAAO;IACPC,aAAa;IACbC,WAAW;IACXC,MAAM;IACNC,YAAY;AACd,EAAE;AAEF;;;;;;;CAOC,GACD,OAAO,MAAMC,qBAA8D;IACzEP,QAAQ;IACRC,cACE;IACFC,OAAO;IACPC,aACE;IACFC,WAAW;IACXC,MAAM;IACNC,YACE;AACJ,EAAE;AAEF;;;;;CAKC,GACD,OAAO,MAAME,gBAAmD;IAC9DN,OAAO;IACPG,MAAM;AACR,EAAE;AAgCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,SAASI,mBACdC,OAAsC;IAEtC,MAAM,EACJC,UAAUH,aAAa,EACvBI,WAAW,KAAK,EAChBC,YAAY,IAAI,EAChBC,aAAaF,WAAWL,qBAAqBR,gBAAgB,EAC7D,GAAGgB,mBACJ,GAAGL;IAEJ,OAAOZ,iBAAiB;QACtB,GAAGiB,iBAAiB;QACpBJ;QACAE;QACAC;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/transition/useScaleTransition.ts"],"sourcesContent":["\"use client\";\nimport type {\n CSSTransitionClassNames,\n CSSTransitionClassNamesObject,\n CSSTransitionHookReturnValue,\n PreconfiguredCSSTransitionOptions,\n TransitionTimeoutObject,\n} from \"./types.js\";\nimport { useCSSTransition } from \"./useCSSTransition.js\";\n\n/**\n * The default {@link CSSTransitionClassNames} for a horizontal scale\n * transition.\n *\n * @since 2.0.0\n * @since 6.0.0 The class names were updated to be prefixed with\n * `rmd-scale-transition`\n */\nexport const SCALE_CLASSNAMES: Readonly<CSSTransitionClassNamesObject> = {\n appear: \"rmd-scale-transition--enter\",\n appearActive: \"rmd-scale-transition--enter-active\",\n enter: \"rmd-scale-transition--enter\",\n enterActive: \"rmd-scale-transition--enter-active\",\n enterDone: \"\",\n exit: \"rmd-scale-transition--exit\",\n exitActive: \"rmd-scale-transition--exit-active\",\n};\n\n/**\n * The default {@link CSSTransitionClassNames} for a vertical scale transition.\n *\n * @since 2.0.0\n * @since 6.0.0 The class names were updated to be prefixed with\n * `rmd-scale-y-transition` and merged with the {@link SCALE_CLASSNAMES}\n */\nexport const SCALE_Y_CLASSNAMES: Readonly<CSSTransitionClassNamesObject> = {\n appear: \"rmd-scale-transition--enter rmd-scale-transition--y-enter\",\n appearActive:\n \"rmd-scale-transition--enter-active rmd-scale-transition--y-enter-active\",\n enter: \"rmd-scale-transition--enter rmd-scale-transition--y-enter\",\n enterActive:\n \"rmd-scale-transition--enter-active rmd-scale-transition--y-enter-active\",\n enterDone: \"\",\n exit: \"rmd-scale-transition--exit rmd-scale-transition--y-exit\",\n exitActive:\n \"rmd-scale-transition--exit-active rmd-scale-transition--y-exit-active\",\n};\n\n/**\n * The default {@link TransitionTimeout} to use for horizontal and vertical\n * scale transitions.\n *\n * @since 2.0.0\n */\nexport const SCALE_TIMEOUT: Readonly<TransitionTimeoutObject> = {\n enter: 200,\n exit: 150,\n};\n\n/**\n * @typeParam E - The HTMLElement type used or the ref required for the\n * transition.\n * @since 4.0.0\n */\nexport interface ScaleTransitionHookOptions<E extends HTMLElement>\n extends PreconfiguredCSSTransitionOptions<E> {\n /**\n * Boolean if the scale transition should be vertical instead of horizontal.\n * This really only changes the default value for the {@link classNames}.\n *\n * @defaultValue `false`\n */\n vertical?: boolean;\n\n /**\n * @see {@link PreconfiguredCSSTransitionOptions.temporary}\n * @defaultValue `true`\n */\n temporary?: boolean;\n\n /**\n * @see {@link vertical}\n * @see {@link SCALE_CLASSNAMES}\n * @see {@link SCALE_Y_CLASSNAMES}\n * @defaultValue `vertical ? SCALE_Y_CLASSNAMES : SCALE_CLASSNAMES`\n */\n classNames?: CSSTransitionClassNames;\n}\n\n/**\n * Implements a scale transition that should generally be used for temporary\n * elements that are positioned via `position: absolute` or `position: fixed`.\n *\n * @example Dropdown Menu Example\n * ```tsx\n * import { ReactElement, useRef, useState } from \"react\";\n * import { Button, useFixedPositioning, useScaleTransition } from \"@react-md/core\";\n *\n * function Example(): ReactElement {\n * const buttonRef = useRef<HTMLButtonElement>(null);\n * const [transitionIn, setTransitionIn] = useState(false);\n * const { style, transitionOptions } = useFixedPositioning({\n * fixedTo: buttonRef,\n * });\n * const { elementProps, rendered } = useScaleTransition({\n * ...transitionOptions,\n * transitionIn,\n * vertical: true,\n * });\n *\n * return (\n * <>\n * <Button ref={buttonRef} onClick={() => setTransitionIn(!transitionIn)}>\n * Toggle\n * </Button>\n * {rendered && (\n * <div {...elementProps} style={style}>\n * Some content within a menu\n * </div>\n * )}\n * </>\n * );\n * }\n * ```\n *\n * @typeParam E - The HTMLElement type used or the ref required for the\n * transition.\n * @since 4.0.0\n */\nexport function useScaleTransition<E extends HTMLElement>(\n options: ScaleTransitionHookOptions<E>\n): CSSTransitionHookReturnValue<E> {\n const {\n timeout = SCALE_TIMEOUT,\n vertical = false,\n temporary = true,\n classNames = vertical ? SCALE_Y_CLASSNAMES : SCALE_CLASSNAMES,\n ...transitionOptions\n } = options;\n\n return useCSSTransition({\n ...transitionOptions,\n timeout,\n temporary,\n classNames,\n });\n}\n"],"names":["useCSSTransition","SCALE_CLASSNAMES","appear","appearActive","enter","enterActive","enterDone","exit","exitActive","SCALE_Y_CLASSNAMES","SCALE_TIMEOUT","useScaleTransition","options","timeout","vertical","temporary","classNames","transitionOptions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAQA,SAASA,gBAAgB,QAAQ,wBAAwB;AAEzD;;;;;;;CAOC,GACD,OAAO,MAAMC,mBAA4D;IACvEC,QAAQ;IACRC,cAAc;IACdC,OAAO;IACPC,aAAa;IACbC,WAAW;IACXC,MAAM;IACNC,YAAY;AACd,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMC,qBAA8D;IACzEP,QAAQ;IACRC,cACE;IACFC,OAAO;IACPC,aACE;IACFC,WAAW;IACXC,MAAM;IACNC,YACE;AACJ,EAAE;AAEF;;;;;CAKC,GACD,OAAO,MAAME,gBAAmD;IAC9DN,OAAO;IACPG,MAAM;AACR,EAAE;AAgCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCC,GACD,OAAO,SAASI,mBACdC,OAAsC;IAEtC,MAAM,EACJC,UAAUH,aAAa,EACvBI,WAAW,KAAK,EAChBC,YAAY,IAAI,EAChBC,aAAaF,WAAWL,qBAAqBR,gBAAgB,EAC7D,GAAGgB,mBACJ,GAAGL;IAEJ,OAAOZ,iBAAiB;QACtB,GAAGiB,iBAAiB;QACpBJ;QACAE;QACAC;IACF;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { type CSSProperties } from "react";
2
2
  import { type SkeletonPlaceholderRandomOptions } from "./skeletonPlaceholderUtils.js";
3
- /** @remarks \@since 6.0.0 */
3
+ /** @since 6.0.0 */
4
4
  export interface SkeletonPlaceholderOptions extends SkeletonPlaceholderRandomOptions {
5
5
  style?: CSSProperties;
6
6
  className?: string;
@@ -14,7 +14,7 @@ export interface SkeletonPlaceholderOptions extends SkeletonPlaceholderRandomOpt
14
14
  */
15
15
  delay?: string;
16
16
  /**
17
- * Set this value tp a number or length unit string to set the height with
17
+ * Set this value to a number or length unit string to set the height with
18
18
  * inline styles.
19
19
  *
20
20
  * If this is `undefined`, it will use the skeleton placeholder CSS variable
@@ -29,8 +29,7 @@ export interface SkeletonPlaceholderOptions extends SkeletonPlaceholderRandomOpt
29
29
  * Set this value to an empty string if you want to control the width through
30
30
  * SCSS.
31
31
  *
32
- * @example
33
- * No Inline Width CSS
32
+ * @example No Inline Width CSS
34
33
  * ```scss
35
34
  * @use "@react-md/core";
36
35
  *
@@ -46,8 +45,7 @@ export interface SkeletonPlaceholderOptions extends SkeletonPlaceholderRandomOpt
46
45
  * }
47
46
  * ```
48
47
  *
49
- * @example
50
- * No Inline Width
48
+ * @example No Inline Width
51
49
  * ```ts
52
50
  * import type { ReactElement } from "@react";
53
51
  * import { useSkeletonPlaceholder } from "@react-md/core";
@@ -68,8 +66,7 @@ export interface SkeletonPlaceholderOptions extends SkeletonPlaceholderRandomOpt
68
66
  * Set this value to a number or length unit string to set the width with
69
67
  * inline styles.
70
68
  *
71
- * @example
72
- * Custom Inline Width
69
+ * @example Custom Inline Width
73
70
  * ```ts
74
71
  * import type { ReactElement } from "@react";
75
72
  * import { useSkeletonPlaceholder } from "@react-md/core";
@@ -102,8 +99,7 @@ export interface SkeletonPlaceholderOptions extends SkeletonPlaceholderRandomOpt
102
99
  * to be applied. This is really only useful if you can prerender parts of
103
100
  * your layout while waiting for the data to load.
104
101
  *
105
- * @example
106
- * Pre-rendered Layout
102
+ * @example Pre-rendered Layout
107
103
  * ```tsx
108
104
  * import type { ReactElement } from "@react";
109
105
  * import { SkeletonPlaceholder } from "@react-md/core";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transition/useSkeletonPlaceholder.ts"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { useEffect, useState, type CSSProperties } from \"react\";\nimport { useSsr } from \"../SsrProvider.js\";\nimport {\n randomSkeletonPlaceholder,\n skeletonPlaceholder,\n type SkeletonPlaceholderRandomOptions,\n} from \"./skeletonPlaceholderUtils.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface SkeletonPlaceholderOptions\n extends SkeletonPlaceholderRandomOptions {\n style?: CSSProperties;\n className?: string;\n\n /**\n * Set this to a custom `animation-delay` value (should be in milliseconds).\n *\n * @example\n * ```ts\n * delay=\"200ms\"\n * ```\n */\n delay?: string;\n\n /**\n * Set this value tp a number or length unit string to set the height with\n * inline styles.\n *\n * If this is `undefined`, it will use the skeleton placeholder CSS variable\n * value instead which defaults to `1.125em`\n *\n * @defaultValue `undefined`\n */\n height?: string | number;\n\n /**\n * A custom width to apply to the skeleton placeholder.\n *\n * Set this value to an empty string if you want to control the width through\n * SCSS.\n *\n * @example\n * No Inline Width CSS\n * ```scss\n * @use \"@react-md/core\";\n *\n * .customStyles {\n * // You could use these mixins on a parent element instead which would\n * // set the height and width to all skeleton placeholders that appear as a\n * // child instead\n * // @include core.transition-set-var(skeleton-placeholder-height, 1.5rem);\n * // @include core.transition-set-var(skeleton-placeholder-width, 40%);\n *\n * height: 1,5rem;\n * width: 40%;\n * }\n * ```\n *\n * @example\n * No Inline Width\n * ```ts\n * import type { ReactElement } from \"@react\";\n * import { useSkeletonPlaceholder } from \"@react-md/core\";\n *\n * import styles from \"./MyComponent.module.scss\";\n *\n * export function Example(): ReactElement {\n * const skeletonProps = useSkeletonPlaceholder({\n * width: null,\n * className: styles.customStyles,\n * });\n *\n * return <div {...skeletonProps} />;\n * }\n * ```\n *\n *\n * Set this value to a number or length unit string to set the width with\n * inline styles.\n *\n * @example\n * Custom Inline Width\n * ```ts\n * import type { ReactElement } from \"@react\";\n * import { useSkeletonPlaceholder } from \"@react-md/core\";\n *\n * export function Example(): ReactElement {\n * const skeletonProps = useSkeletonPlaceholder({\n * // any of these are valid\n * // width: 40,\n * // width: \"1rem\",\n * // width: \"1vh\",\n * // width: \"40%\",\n * width: \"1rem\",\n * });\n *\n * return <div {...skeletonProps} />;\n * }\n * ```\n *\n * If this value is `undefined`, a random percentage will be generated instead\n * using the {@link minPercentage} and {@link maxPercentage} options.\n *\n * Set this value to `null` if the size should be derived from the provided\n * `className` instead.\n *\n * @defaultValue `randomInt({ min: minPercentage, max: maxPercentage })%`\n */\n width?: number | string | null;\n\n /**\n * Settings this to `true` will prevent any of the skeleton placeholder styles\n * to be applied. This is really only useful if you can prerender parts of\n * your layout while waiting for the data to load.\n *\n * @example\n * Pre-rendered Layout\n * ```tsx\n * import type { ReactElement } from \"@react\";\n * import { SkeletonPlaceholder } from \"@react-md/core\";\n *\n * interface Data {\n * id: string;\n * name: string;\n * createdBy: string\n * createdOn: string;\n * modifiedBy: string;\n * modifiedOn: string;\n * }\n *\n * function ShowData({\n * id,\n * name,\n * createdBy,\n * createdOn,\n * modifiedBy,\n * modifiedOn,\n * }: Partial<Data>:: ReactElement {\n * const loading =\n * !name &&\n * !createdBy &&\n * !createdOn &&\n * !modifiedBy &&\n * !modifiedOn;\n *\n * return (\n * <Box grid gridClassName=\"custom-class-name\">\n * <SkeletonPlaceholder disabled={!loading}>\n * {id}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {name}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {createdOn}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {createdBy}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {modifiedOn}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {modifiedBy}\n * </SkeletonPlaceholder>\n * </Box>\n * );\n * }\n *\n * export function Example(): ReactElement {\n * const { data } = useLoadSomeDataQuery();\n *\n * const items = useMemo(() => {\n * // if the data has been fetched, just return the data\n * if (data) {\n * return data;\n * }\n *\n * // if the data does not exist, set up a skeleton of your layout by\n * // rendering a random number of items.\n * //\n * // NOTE: This is memoized so you don't create a random length each\n * // render\n * const length = randomInt({ min: 3, max: 10 })\n * return Array.from({ length }, (_, i) => ({ id: `placeholder-${i}` }));\n * }, [data])\n *\n * return (\n * <List>\n * {items.map((item) => <ShowData {...item} />)}\n * </List>\n * );\n * }\n * ```\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n}\n\nexport interface SkeletonPlaceholderStylingProps {\n style?: CSSProperties;\n className: string;\n}\n\nexport function useSkeletonPlaceholder(\n options: SkeletonPlaceholderOptions = {}\n): SkeletonPlaceholderStylingProps {\n const {\n style: propStyle,\n className,\n height,\n width: propWidth,\n disabled = false,\n delay: propDelay,\n minDelay,\n maxDelay,\n minPercentage,\n maxPercentage,\n } = options;\n const ssr = useSsr();\n\n const isDefinedWidth = typeof propWidth !== \"undefined\";\n const isDefinedDelay = typeof propDelay !== \"undefined\";\n const [randomStyles, setRandomStyles] = useState<CSSProperties>(() => {\n if (typeof window === \"undefined\" || ssr || disabled) {\n return {};\n }\n\n return randomSkeletonPlaceholder({\n minDelay,\n maxDelay,\n minPercentage,\n maxPercentage,\n });\n });\n\n useEffect(() => {\n if (!ssr || disabled || (isDefinedDelay && isDefinedWidth)) {\n return;\n }\n\n setRandomStyles(\n randomSkeletonPlaceholder({\n minDelay,\n maxDelay,\n minPercentage,\n maxPercentage,\n })\n );\n }, [\n disabled,\n isDefinedDelay,\n isDefinedWidth,\n maxDelay,\n maxPercentage,\n minDelay,\n minPercentage,\n ssr,\n ]);\n\n let width = propWidth;\n let animationDelay = propDelay;\n if (!disabled) {\n if (!isDefinedDelay) {\n ({ animationDelay } = randomStyles);\n }\n if (!isDefinedWidth) {\n ({ width } = randomStyles);\n }\n }\n\n let style: CSSProperties | undefined = propStyle;\n if (!!width || !!animationDelay || typeof height !== \"undefined\") {\n style = {\n ...style,\n height: height ?? style?.height,\n width: width ?? style?.width,\n // Note: not including MozAnimationDelay and WebkitAnimationDelay since\n // they weren't applied when they were set. Probably no longer required?\n animationDelay: animationDelay ?? style?.animationDelay,\n };\n }\n\n return {\n style,\n className: cnb(className, !disabled && skeletonPlaceholder()),\n };\n}\n"],"names":["cnb","useEffect","useState","useSsr","randomSkeletonPlaceholder","skeletonPlaceholder","useSkeletonPlaceholder","options","style","propStyle","className","height","width","propWidth","disabled","delay","propDelay","minDelay","maxDelay","minPercentage","maxPercentage","ssr","isDefinedWidth","isDefinedDelay","randomStyles","setRandomStyles","window","animationDelay"],"mappings":"AAAA;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,SAAS,EAAEC,QAAQ,QAA4B,QAAQ;AAChE,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SACEC,yBAAyB,EACzBC,mBAAmB,QAEd,gCAAgC;AAuMvC,OAAO,SAASC,uBACdC,UAAsC,CAAC,CAAC;IAExC,MAAM,EACJC,OAAOC,SAAS,EAChBC,SAAS,EACTC,MAAM,EACNC,OAAOC,SAAS,EAChBC,WAAW,KAAK,EAChBC,OAAOC,SAAS,EAChBC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,aAAa,EACd,GAAGb;IACJ,MAAMc,MAAMlB;IAEZ,MAAMmB,iBAAiB,OAAOT,cAAc;IAC5C,MAAMU,iBAAiB,OAAOP,cAAc;IAC5C,MAAM,CAACQ,cAAcC,gBAAgB,GAAGvB,SAAwB;QAC9D,IAAI,OAAOwB,WAAW,eAAeL,OAAOP,UAAU;YACpD,OAAO,CAAC;QACV;QAEA,OAAOV,0BAA0B;YAC/Ba;YACAC;YACAC;YACAC;QACF;IACF;IAEAnB,UAAU;QACR,IAAI,CAACoB,OAAOP,YAAaS,kBAAkBD,gBAAiB;YAC1D;QACF;QAEAG,gBACErB,0BAA0B;YACxBa;YACAC;YACAC;YACAC;QACF;IAEJ,GAAG;QACDN;QACAS;QACAD;QACAJ;QACAE;QACAH;QACAE;QACAE;KACD;IAED,IAAIT,QAAQC;IACZ,IAAIc,iBAAiBX;IACrB,IAAI,CAACF,UAAU;QACb,IAAI,CAACS,gBAAgB;YAClB,CAAA,EAAEI,cAAc,EAAE,GAAGH,YAAW;QACnC;QACA,IAAI,CAACF,gBAAgB;YAClB,CAAA,EAAEV,KAAK,EAAE,GAAGY,YAAW;QAC1B;IACF;IAEA,IAAIhB,QAAmCC;IACvC,IAAI,CAAC,CAACG,SAAS,CAAC,CAACe,kBAAkB,OAAOhB,WAAW,aAAa;QAChEH,QAAQ;YACN,GAAGA,KAAK;YACRG,QAAQA,UAAUH,OAAOG;YACzBC,OAAOA,SAASJ,OAAOI;YACvB,uEAAuE;YACvE,wEAAwE;YACxEe,gBAAgBA,kBAAkBnB,OAAOmB;QAC3C;IACF;IAEA,OAAO;QACLnB;QACAE,WAAWV,IAAIU,WAAW,CAACI,YAAYT;IACzC;AACF"}
1
+ {"version":3,"sources":["../../src/transition/useSkeletonPlaceholder.ts"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { useEffect, useState, type CSSProperties } from \"react\";\nimport { useSsr } from \"../SsrProvider.js\";\nimport {\n randomSkeletonPlaceholder,\n skeletonPlaceholder,\n type SkeletonPlaceholderRandomOptions,\n} from \"./skeletonPlaceholderUtils.js\";\n\n/** @since 6.0.0 */\nexport interface SkeletonPlaceholderOptions\n extends SkeletonPlaceholderRandomOptions {\n style?: CSSProperties;\n className?: string;\n\n /**\n * Set this to a custom `animation-delay` value (should be in milliseconds).\n *\n * @example\n * ```ts\n * delay=\"200ms\"\n * ```\n */\n delay?: string;\n\n /**\n * Set this value to a number or length unit string to set the height with\n * inline styles.\n *\n * If this is `undefined`, it will use the skeleton placeholder CSS variable\n * value instead which defaults to `1.125em`\n *\n * @defaultValue `undefined`\n */\n height?: string | number;\n\n /**\n * A custom width to apply to the skeleton placeholder.\n *\n * Set this value to an empty string if you want to control the width through\n * SCSS.\n *\n * @example No Inline Width CSS\n * ```scss\n * @use \"@react-md/core\";\n *\n * .customStyles {\n * // You could use these mixins on a parent element instead which would\n * // set the height and width to all skeleton placeholders that appear as a\n * // child instead\n * // @include core.transition-set-var(skeleton-placeholder-height, 1.5rem);\n * // @include core.transition-set-var(skeleton-placeholder-width, 40%);\n *\n * height: 1,5rem;\n * width: 40%;\n * }\n * ```\n *\n * @example No Inline Width\n * ```ts\n * import type { ReactElement } from \"@react\";\n * import { useSkeletonPlaceholder } from \"@react-md/core\";\n *\n * import styles from \"./MyComponent.module.scss\";\n *\n * export function Example(): ReactElement {\n * const skeletonProps = useSkeletonPlaceholder({\n * width: null,\n * className: styles.customStyles,\n * });\n *\n * return <div {...skeletonProps} />;\n * }\n * ```\n *\n *\n * Set this value to a number or length unit string to set the width with\n * inline styles.\n *\n * @example Custom Inline Width\n * ```ts\n * import type { ReactElement } from \"@react\";\n * import { useSkeletonPlaceholder } from \"@react-md/core\";\n *\n * export function Example(): ReactElement {\n * const skeletonProps = useSkeletonPlaceholder({\n * // any of these are valid\n * // width: 40,\n * // width: \"1rem\",\n * // width: \"1vh\",\n * // width: \"40%\",\n * width: \"1rem\",\n * });\n *\n * return <div {...skeletonProps} />;\n * }\n * ```\n *\n * If this value is `undefined`, a random percentage will be generated instead\n * using the {@link minPercentage} and {@link maxPercentage} options.\n *\n * Set this value to `null` if the size should be derived from the provided\n * `className` instead.\n *\n * @defaultValue `randomInt({ min: minPercentage, max: maxPercentage })%`\n */\n width?: number | string | null;\n\n /**\n * Settings this to `true` will prevent any of the skeleton placeholder styles\n * to be applied. This is really only useful if you can prerender parts of\n * your layout while waiting for the data to load.\n *\n * @example Pre-rendered Layout\n * ```tsx\n * import type { ReactElement } from \"@react\";\n * import { SkeletonPlaceholder } from \"@react-md/core\";\n *\n * interface Data {\n * id: string;\n * name: string;\n * createdBy: string\n * createdOn: string;\n * modifiedBy: string;\n * modifiedOn: string;\n * }\n *\n * function ShowData({\n * id,\n * name,\n * createdBy,\n * createdOn,\n * modifiedBy,\n * modifiedOn,\n * }: Partial<Data>:: ReactElement {\n * const loading =\n * !name &&\n * !createdBy &&\n * !createdOn &&\n * !modifiedBy &&\n * !modifiedOn;\n *\n * return (\n * <Box grid gridClassName=\"custom-class-name\">\n * <SkeletonPlaceholder disabled={!loading}>\n * {id}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {name}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {createdOn}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {createdBy}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {modifiedOn}\n * </SkeletonPlaceholder>\n * <SkeletonPlaceholder disabled={!loading}>\n * {modifiedBy}\n * </SkeletonPlaceholder>\n * </Box>\n * );\n * }\n *\n * export function Example(): ReactElement {\n * const { data } = useLoadSomeDataQuery();\n *\n * const items = useMemo(() => {\n * // if the data has been fetched, just return the data\n * if (data) {\n * return data;\n * }\n *\n * // if the data does not exist, set up a skeleton of your layout by\n * // rendering a random number of items.\n * //\n * // NOTE: This is memoized so you don't create a random length each\n * // render\n * const length = randomInt({ min: 3, max: 10 })\n * return Array.from({ length }, (_, i) => ({ id: `placeholder-${i}` }));\n * }, [data])\n *\n * return (\n * <List>\n * {items.map((item) => <ShowData {...item} />)}\n * </List>\n * );\n * }\n * ```\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n}\n\nexport interface SkeletonPlaceholderStylingProps {\n style?: CSSProperties;\n className: string;\n}\n\nexport function useSkeletonPlaceholder(\n options: SkeletonPlaceholderOptions = {}\n): SkeletonPlaceholderStylingProps {\n const {\n style: propStyle,\n className,\n height,\n width: propWidth,\n disabled = false,\n delay: propDelay,\n minDelay,\n maxDelay,\n minPercentage,\n maxPercentage,\n } = options;\n const ssr = useSsr();\n\n const isDefinedWidth = typeof propWidth !== \"undefined\";\n const isDefinedDelay = typeof propDelay !== \"undefined\";\n const [randomStyles, setRandomStyles] = useState<CSSProperties>(() => {\n if (typeof window === \"undefined\" || ssr || disabled) {\n return {};\n }\n\n return randomSkeletonPlaceholder({\n minDelay,\n maxDelay,\n minPercentage,\n maxPercentage,\n });\n });\n\n useEffect(() => {\n if (!ssr || disabled || (isDefinedDelay && isDefinedWidth)) {\n return;\n }\n\n setRandomStyles(\n randomSkeletonPlaceholder({\n minDelay,\n maxDelay,\n minPercentage,\n maxPercentage,\n })\n );\n }, [\n disabled,\n isDefinedDelay,\n isDefinedWidth,\n maxDelay,\n maxPercentage,\n minDelay,\n minPercentage,\n ssr,\n ]);\n\n let width = propWidth;\n let animationDelay = propDelay;\n if (!disabled) {\n if (!isDefinedDelay) {\n ({ animationDelay } = randomStyles);\n }\n if (!isDefinedWidth) {\n ({ width } = randomStyles);\n }\n }\n\n let style: CSSProperties | undefined = propStyle;\n if (!!width || !!animationDelay || typeof height !== \"undefined\") {\n style = {\n ...style,\n height: height ?? style?.height,\n width: width ?? style?.width,\n // Note: not including MozAnimationDelay and WebkitAnimationDelay since\n // they weren't applied when they were set. Probably no longer required?\n animationDelay: animationDelay ?? style?.animationDelay,\n };\n }\n\n return {\n style,\n className: cnb(className, !disabled && skeletonPlaceholder()),\n };\n}\n"],"names":["cnb","useEffect","useState","useSsr","randomSkeletonPlaceholder","skeletonPlaceholder","useSkeletonPlaceholder","options","style","propStyle","className","height","width","propWidth","disabled","delay","propDelay","minDelay","maxDelay","minPercentage","maxPercentage","ssr","isDefinedWidth","isDefinedDelay","randomStyles","setRandomStyles","window","animationDelay"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,SAAS,EAAEC,QAAQ,QAA4B,QAAQ;AAChE,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SACEC,yBAAyB,EACzBC,mBAAmB,QAEd,gCAAgC;AAmMvC,OAAO,SAASC,uBACdC,UAAsC,CAAC,CAAC;IAExC,MAAM,EACJC,OAAOC,SAAS,EAChBC,SAAS,EACTC,MAAM,EACNC,OAAOC,SAAS,EAChBC,WAAW,KAAK,EAChBC,OAAOC,SAAS,EAChBC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,aAAa,EACd,GAAGb;IACJ,MAAMc,MAAMlB;IAEZ,MAAMmB,iBAAiB,OAAOT,cAAc;IAC5C,MAAMU,iBAAiB,OAAOP,cAAc;IAC5C,MAAM,CAACQ,cAAcC,gBAAgB,GAAGvB,SAAwB;QAC9D,IAAI,OAAOwB,WAAW,eAAeL,OAAOP,UAAU;YACpD,OAAO,CAAC;QACV;QAEA,OAAOV,0BAA0B;YAC/Ba;YACAC;YACAC;YACAC;QACF;IACF;IAEAnB,UAAU;QACR,IAAI,CAACoB,OAAOP,YAAaS,kBAAkBD,gBAAiB;YAC1D;QACF;QAEAG,gBACErB,0BAA0B;YACxBa;YACAC;YACAC;YACAC;QACF;IAEJ,GAAG;QACDN;QACAS;QACAD;QACAJ;QACAE;QACAH;QACAE;QACAE;KACD;IAED,IAAIT,QAAQC;IACZ,IAAIc,iBAAiBX;IACrB,IAAI,CAACF,UAAU;QACb,IAAI,CAACS,gBAAgB;YAClB,CAAA,EAAEI,cAAc,EAAE,GAAGH,YAAW;QACnC;QACA,IAAI,CAACF,gBAAgB;YAClB,CAAA,EAAEV,KAAK,EAAE,GAAGY,YAAW;QAC1B;IACF;IAEA,IAAIhB,QAAmCC;IACvC,IAAI,CAAC,CAACG,SAAS,CAAC,CAACe,kBAAkB,OAAOhB,WAAW,aAAa;QAChEH,QAAQ;YACN,GAAGA,KAAK;YACRG,QAAQA,UAAUH,OAAOG;YACzBC,OAAOA,SAASJ,OAAOI;YACvB,uEAAuE;YACvE,wEAAwE;YACxEe,gBAAgBA,kBAAkBnB,OAAOmB;QAC3C;IACF;IAEA,OAAO;QACLnB;QACAE,WAAWV,IAAIU,WAAW,CAACI,YAAYT;IACzC;AACF"}
@@ -1,13 +1,12 @@
1
1
  import type { CSSTransitionClassNames, CSSTransitionHookReturnValue, PreconfiguredCSSTransitionOptions, TransitionTimeout } from "./types.js";
2
- /** @remarks \@since 6.0.0 */
2
+ /** @since 6.0.0 */
3
3
  export declare const DEFAULT_SLIDE_TRANSITION_TIMEOUT: Readonly<TransitionTimeout>;
4
- /** @remarks \@since 6.0.0 */
4
+ /** @since 6.0.0 */
5
5
  export declare const DEFAULT_SLIDE_TRANSITION_CLASSNAMES: Readonly<CSSTransitionClassNames>;
6
- /** @remarks \@since 6.0.0 */
6
+ /** @since 6.0.0 */
7
7
  export type SlideTransitionOptions<E extends HTMLElement> = PreconfiguredCSSTransitionOptions<E>;
8
8
  /**
9
- * @example
10
- * Simple Example
9
+ * @example Simple Example
11
10
  * ```tsx
12
11
  * import type { SlideDirection } from "@react-md/core";
13
12
  * import { slideContainer, useSlideTransition } from "@react-md/core";
@@ -70,6 +69,6 @@ export type SlideTransitionOptions<E extends HTMLElement> = PreconfiguredCSSTran
70
69
  *
71
70
  * @see {@link SlideContainer} and {@link Slide} for convenient default
72
71
  * implementations.
73
- * @remarks \@since 6.0.0
72
+ * @since 6.0.0
74
73
  */
75
74
  export declare function useSlideTransition<E extends HTMLElement>(options: SlideTransitionOptions<E>): CSSTransitionHookReturnValue<E>;
@@ -1,16 +1,15 @@
1
1
  "use client";
2
2
  import { cnb } from "cnbuilder";
3
3
  import { useCSSTransition } from "./useCSSTransition.js";
4
- /** @remarks \@since 6.0.0 */ export const DEFAULT_SLIDE_TRANSITION_TIMEOUT = 150;
5
- /** @remarks \@since 6.0.0 */ export const DEFAULT_SLIDE_TRANSITION_CLASSNAMES = {
4
+ /** @since 6.0.0 */ export const DEFAULT_SLIDE_TRANSITION_TIMEOUT = 150;
5
+ /** @since 6.0.0 */ export const DEFAULT_SLIDE_TRANSITION_CLASSNAMES = {
6
6
  enter: "rmd-slide--enter",
7
7
  enterActive: "rmd-slide--enter-active rmd-slide--animate",
8
8
  exit: "rmd-slide--exit",
9
9
  exitActive: "rmd-slide--exit-active rmd-slide--animate"
10
10
  };
11
11
  /**
12
- * @example
13
- * Simple Example
12
+ * @example Simple Example
14
13
  * ```tsx
15
14
  * import type { SlideDirection } from "@react-md/core";
16
15
  * import { slideContainer, useSlideTransition } from "@react-md/core";
@@ -73,7 +72,7 @@ import { useCSSTransition } from "./useCSSTransition.js";
73
72
  *
74
73
  * @see {@link SlideContainer} and {@link Slide} for convenient default
75
74
  * implementations.
76
- * @remarks \@since 6.0.0
75
+ * @since 6.0.0
77
76
  */ export function useSlideTransition(options) {
78
77
  const { timeout = DEFAULT_SLIDE_TRANSITION_TIMEOUT, className, temporary = false, exitedHidden = true, ...transitionOptions } = options;
79
78
  return useCSSTransition({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transition/useSlideTransition.ts"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport type {\n CSSTransitionClassNames,\n CSSTransitionHookReturnValue,\n PreconfiguredCSSTransitionOptions,\n TransitionTimeout,\n} from \"./types.js\";\nimport { useCSSTransition } from \"./useCSSTransition.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_SLIDE_TRANSITION_TIMEOUT: Readonly<TransitionTimeout> = 150;\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_SLIDE_TRANSITION_CLASSNAMES: Readonly<CSSTransitionClassNames> =\n {\n enter: \"rmd-slide--enter\",\n enterActive: \"rmd-slide--enter-active rmd-slide--animate\",\n exit: \"rmd-slide--exit\",\n exitActive: \"rmd-slide--exit-active rmd-slide--animate\",\n };\n\n/** @remarks \\@since 6.0.0 */\nexport type SlideTransitionOptions<E extends HTMLElement> =\n PreconfiguredCSSTransitionOptions<E>;\n\n/**\n * @example\n * Simple Example\n * ```tsx\n * import type { SlideDirection } from \"@react-md/core\";\n * import { slideContainer, useSlideTransition } from \"@react-md/core\";\n * import type { ReactElement, ReactNode } from \"react\";\n * import { useState } from \"react\";\n *\n * interface SlideProps {\n * active: boolean;\n * children: ReactNode;\n * }\n *\n * function Slide({ active, children }: SlideProps): ReactElement | null {\n * const { rendered, elementProps } = useSlideTransition({\n * transition: active,\n * });\n *\n * if (!rendered) {\n * return null;\n * }\n *\n * return <div {...elementProps}>{children}</div>;\n * }\n *\n * interface State {\n * direction: SlideDirection;\n * activeIndex: number;\n * }\n *\n * function Example(): ReactElement {\n * const [state, setState] = useState<State>({\n * direction: \"left\",\n * activeIndex: 0,\n * });\n * const { direction, activeIndex } = state\n *\n * // when changing a slide, `direction` should be set to \"left\" if the\n * // previous `activeIndex` is less than the next index\n * //\n * // i.e.\n * // setState((prevState) => ({\n * // direction: prevState.activeIndex < index ? \"left\" : \"right\",\n * // activeIndex: index,\n * // }))\n *\n * return (\n * <div className={slideContainer({ direction )}>\n * <Slide active={activeIndex === 0}>\n * Slide 1\n * </Slide>\n * <Slide active={activeIndex === 1}>\n * Slide 2\n * </Slide>\n * <Slide active={activeIndex === 2}>\n * Slide 3\n * </Slide>\n * </div>\n * );\n * }\n * ```\n *\n * @see {@link SlideContainer} and {@link Slide} for convenient default\n * implementations.\n * @remarks \\@since 6.0.0\n */\nexport function useSlideTransition<E extends HTMLElement>(\n options: SlideTransitionOptions<E>\n): CSSTransitionHookReturnValue<E> {\n const {\n timeout = DEFAULT_SLIDE_TRANSITION_TIMEOUT,\n className,\n temporary = false,\n exitedHidden = true,\n ...transitionOptions\n } = options;\n\n return useCSSTransition({\n ...transitionOptions,\n timeout,\n className: cnb(\"rmd-slide\", className),\n classNames: DEFAULT_SLIDE_TRANSITION_CLASSNAMES,\n temporary,\n exitedHidden,\n });\n}\n"],"names":["cnb","useCSSTransition","DEFAULT_SLIDE_TRANSITION_TIMEOUT","DEFAULT_SLIDE_TRANSITION_CLASSNAMES","enter","enterActive","exit","exitActive","useSlideTransition","options","timeout","className","temporary","exitedHidden","transitionOptions","classNames"],"mappings":"AAAA;AACA,SAASA,GAAG,QAAQ,YAAY;AAOhC,SAASC,gBAAgB,QAAQ,wBAAwB;AAEzD,2BAA2B,GAC3B,OAAO,MAAMC,mCAAgE,IAAI;AAEjF,2BAA2B,GAC3B,OAAO,MAAMC,sCACX;IACEC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;AACd,EAAE;AAMJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEC,GACD,OAAO,SAASC,mBACdC,OAAkC;IAElC,MAAM,EACJC,UAAUR,gCAAgC,EAC1CS,SAAS,EACTC,YAAY,KAAK,EACjBC,eAAe,IAAI,EACnB,GAAGC,mBACJ,GAAGL;IAEJ,OAAOR,iBAAiB;QACtB,GAAGa,iBAAiB;QACpBJ;QACAC,WAAWX,IAAI,aAAaW;QAC5BI,YAAYZ;QACZS;QACAC;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/transition/useSlideTransition.ts"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport type {\n CSSTransitionClassNames,\n CSSTransitionHookReturnValue,\n PreconfiguredCSSTransitionOptions,\n TransitionTimeout,\n} from \"./types.js\";\nimport { useCSSTransition } from \"./useCSSTransition.js\";\n\n/** @since 6.0.0 */\nexport const DEFAULT_SLIDE_TRANSITION_TIMEOUT: Readonly<TransitionTimeout> = 150;\n\n/** @since 6.0.0 */\nexport const DEFAULT_SLIDE_TRANSITION_CLASSNAMES: Readonly<CSSTransitionClassNames> =\n {\n enter: \"rmd-slide--enter\",\n enterActive: \"rmd-slide--enter-active rmd-slide--animate\",\n exit: \"rmd-slide--exit\",\n exitActive: \"rmd-slide--exit-active rmd-slide--animate\",\n };\n\n/** @since 6.0.0 */\nexport type SlideTransitionOptions<E extends HTMLElement> =\n PreconfiguredCSSTransitionOptions<E>;\n\n/**\n * @example Simple Example\n * ```tsx\n * import type { SlideDirection } from \"@react-md/core\";\n * import { slideContainer, useSlideTransition } from \"@react-md/core\";\n * import type { ReactElement, ReactNode } from \"react\";\n * import { useState } from \"react\";\n *\n * interface SlideProps {\n * active: boolean;\n * children: ReactNode;\n * }\n *\n * function Slide({ active, children }: SlideProps): ReactElement | null {\n * const { rendered, elementProps } = useSlideTransition({\n * transition: active,\n * });\n *\n * if (!rendered) {\n * return null;\n * }\n *\n * return <div {...elementProps}>{children}</div>;\n * }\n *\n * interface State {\n * direction: SlideDirection;\n * activeIndex: number;\n * }\n *\n * function Example(): ReactElement {\n * const [state, setState] = useState<State>({\n * direction: \"left\",\n * activeIndex: 0,\n * });\n * const { direction, activeIndex } = state\n *\n * // when changing a slide, `direction` should be set to \"left\" if the\n * // previous `activeIndex` is less than the next index\n * //\n * // i.e.\n * // setState((prevState) => ({\n * // direction: prevState.activeIndex < index ? \"left\" : \"right\",\n * // activeIndex: index,\n * // }))\n *\n * return (\n * <div className={slideContainer({ direction )}>\n * <Slide active={activeIndex === 0}>\n * Slide 1\n * </Slide>\n * <Slide active={activeIndex === 1}>\n * Slide 2\n * </Slide>\n * <Slide active={activeIndex === 2}>\n * Slide 3\n * </Slide>\n * </div>\n * );\n * }\n * ```\n *\n * @see {@link SlideContainer} and {@link Slide} for convenient default\n * implementations.\n * @since 6.0.0\n */\nexport function useSlideTransition<E extends HTMLElement>(\n options: SlideTransitionOptions<E>\n): CSSTransitionHookReturnValue<E> {\n const {\n timeout = DEFAULT_SLIDE_TRANSITION_TIMEOUT,\n className,\n temporary = false,\n exitedHidden = true,\n ...transitionOptions\n } = options;\n\n return useCSSTransition({\n ...transitionOptions,\n timeout,\n className: cnb(\"rmd-slide\", className),\n classNames: DEFAULT_SLIDE_TRANSITION_CLASSNAMES,\n temporary,\n exitedHidden,\n });\n}\n"],"names":["cnb","useCSSTransition","DEFAULT_SLIDE_TRANSITION_TIMEOUT","DEFAULT_SLIDE_TRANSITION_CLASSNAMES","enter","enterActive","exit","exitActive","useSlideTransition","options","timeout","className","temporary","exitedHidden","transitionOptions","classNames"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,GAAG,QAAQ,YAAY;AAOhC,SAASC,gBAAgB,QAAQ,wBAAwB;AAEzD,iBAAiB,GACjB,OAAO,MAAMC,mCAAgE,IAAI;AAEjF,iBAAiB,GACjB,OAAO,MAAMC,sCACX;IACEC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;AACd,EAAE;AAMJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEC,GACD,OAAO,SAASC,mBACdC,OAAkC;IAElC,MAAM,EACJC,UAAUR,gCAAgC,EAC1CS,SAAS,EACTC,YAAY,KAAK,EACjBC,eAAe,IAAI,EACnB,GAAGC,mBACJ,GAAGL;IAEJ,OAAOR,iBAAiB;QACtB,GAAGa,iBAAiB;QACpBJ;QACAC,WAAWX,IAAI,aAAaW;QAC5BI,YAAYZ;QACZS;QACAC;IACF;AACF"}
@@ -6,6 +6,6 @@ import type { TransitionHookOptions, TransitionHookReturnValue } from "./types.j
6
6
  *
7
7
  * @typeParam E - The HTMLElement type used or the ref required for the
8
8
  * transition.
9
- * @remarks \@since 4.0.0
9
+ * @since 4.0.0
10
10
  */
11
11
  export declare function useTransition<E extends HTMLElement>(options: TransitionHookOptions<E>): TransitionHookReturnValue<E>;
@@ -20,7 +20,7 @@ const noop = ()=>{
20
20
  *
21
21
  * @typeParam E - The HTMLElement type used or the ref required for the
22
22
  * transition.
23
- * @remarks \@since 4.0.0
23
+ * @since 4.0.0
24
24
  */ export function useTransition(options) {
25
25
  const { nodeRef, timeout, transitionIn, reflow = false, temporary = false, appear = false, enter = true, exit = true, onEnter = noop, onEntering = noop, onEntered = noop, onExit = noop, onExiting = noop, onExited = noop, disablePortal: propDisablePortal } = options;
26
26
  const configurationRef = useRef({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transition/useTransition.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, useReducer, useRef, useState } from \"react\";\nimport { useSsr } from \"../SsrProvider.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useIsomorphicLayoutEffect } from \"../useIsomorphicLayoutEffect.js\";\nimport type {\n TransitionHookOptions,\n TransitionHookReturnValue,\n TransitionStage,\n TransitionState,\n} from \"./types.js\";\nimport { getTransitionTimeout } from \"./utils.js\";\nimport { TRANSITION_CONFIG } from \"./config.js\";\n\nconst INITIAL_STATE: TransitionState = {\n appearing: false,\n rendered: true,\n stage: \"exited\",\n};\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * You'll most likely want to use the {@link useCSSTransition} hook instead\n * since this is just a low-level hook that can be used to transition using\n * timeouts.\n *\n * @typeParam E - The HTMLElement type used or the ref required for the\n * transition.\n * @remarks \\@since 4.0.0\n */\nexport function useTransition<E extends HTMLElement>(\n options: TransitionHookOptions<E>\n): TransitionHookReturnValue<E> {\n const {\n nodeRef,\n timeout,\n transitionIn,\n reflow = false,\n temporary = false,\n appear = false,\n enter = true,\n exit = true,\n onEnter = noop,\n onEntering = noop,\n onEntered = noop,\n onExit = noop,\n onExiting = noop,\n onExited = noop,\n disablePortal: propDisablePortal,\n } = options;\n\n const configurationRef = useRef({\n timeout: getTransitionTimeout({ timeout, appear, enter, exit }),\n reflow,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n } as const);\n useIsomorphicLayoutEffect(() => {\n configurationRef.current = {\n timeout: getTransitionTimeout({ timeout, appear, enter, exit }),\n reflow,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n };\n }, [\n appear,\n enter,\n exit,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n reflow,\n timeout,\n ]);\n\n const ssr = useSsr();\n const [ref, refCallback] = useEnsuredRef<E>(nodeRef);\n const [disablePortal, setDisablePortal] = useState(ssr);\n const [state, dispatch] = useReducer(\n function reducer(\n state: TransitionState,\n action: TransitionStage | \"unmount\"\n ): TransitionState {\n const { appear, enter, exit } = configurationRef.current.timeout;\n const { appearing } = state;\n switch (action) {\n case \"enter\": {\n const duration = appearing ? appear : enter;\n return {\n stage: duration > 0 ? \"enter\" : \"entered\",\n rendered: true,\n appearing,\n };\n }\n case \"entering\":\n case \"entered\":\n return {\n stage: action,\n rendered: true,\n appearing,\n };\n case \"exit\": {\n const stage = exit > 0 ? \"exit\" : \"exited\";\n return {\n stage,\n rendered: !temporary || stage !== \"exited\",\n appearing: false,\n };\n }\n case \"exiting\":\n case \"exited\":\n return {\n stage: action,\n rendered: true,\n appearing: false,\n };\n case \"unmount\":\n if (state.stage === \"exited\" && !state.appearing && !state.rendered) {\n return state;\n }\n\n return {\n stage: \"exited\",\n rendered: false,\n appearing: false,\n };\n }\n },\n INITIAL_STATE,\n () => {\n let stage: TransitionStage = \"exited\";\n if (transitionIn) {\n stage = appear && !TRANSITION_CONFIG.disabled ? \"enter\" : \"entered\";\n }\n\n return {\n appearing: appear && transitionIn && !TRANSITION_CONFIG.disabled,\n rendered: !temporary || transitionIn,\n stage,\n };\n }\n );\n const { appearing, rendered, stage } = state;\n\n const isFirstRender = useRef(true);\n const isRehydrateAppear = useRef(ssr && !transitionIn);\n const defaultTransitionIn = useRef(transitionIn);\n useEffect(() => {\n const {\n timeout,\n reflow,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n } = configurationRef.current;\n let { onExited } = configurationRef.current;\n if (isFirstRender.current) {\n // The exited hook should **not** fire on first render since the element\n // was never in the DOM.\n isFirstRender.current = false;\n onExited = noop;\n }\n\n // if the transitionIn did not change between initial render and rehydration,\n // allow the enter transition to behave like normal.\n if (\n isRehydrateAppear.current &&\n !ssr &&\n !transitionIn &&\n !defaultTransitionIn.current\n ) {\n isRehydrateAppear.current = false;\n }\n\n // Cancel any exiting/exited transitions and instead immediately start the\n // enter transition\n if (transitionIn && stage.startsWith(\"exit\")) {\n const nextStage = isRehydrateAppear.current ? \"entered\" : \"enter\";\n dispatch(nextStage);\n return;\n }\n\n // Cancel any entering/entered transitions and instead immediately start the\n // exit transition\n if (!transitionIn && stage.startsWith(\"enter\")) {\n dispatch(\"exit\");\n return;\n }\n\n if (reflow && ref.current && stage !== \"exited\" && stage !== \"entered\") {\n // force reflow by accessing scrollTop\n ref.current.scrollTop;\n }\n\n let duration = 0;\n let nextStage: TransitionStage = stage;\n switch (stage) {\n case \"enter\":\n if (TRANSITION_CONFIG.disabled) {\n nextStage = \"entered\";\n } else {\n onEnter(appearing);\n nextStage = \"entering\";\n }\n break;\n case \"entering\":\n onEntering(appearing);\n duration = timeout.enter;\n nextStage = \"entered\";\n break;\n case \"entered\":\n onEntered(appearing);\n break;\n case \"exit\":\n if (TRANSITION_CONFIG.disabled) {\n nextStage = \"exited\";\n } else {\n onExit();\n nextStage = \"exiting\";\n }\n break;\n case \"exiting\":\n onExiting();\n duration = timeout.exit;\n nextStage = \"exited\";\n break;\n case \"exited\":\n onExited();\n setDisablePortal(false);\n break;\n }\n\n if (stage === nextStage) {\n // this is used to help catch changing the temporary prop.\n // not sure if I should really support that though...\n if (stage === \"exited\" && temporary) {\n dispatch(\"unmount\");\n }\n\n return;\n }\n\n // I used to rely on the `dispatch(\"unmount\")` above, but it seems like\n // there are some cases where re-rendering takes too long so the temporary\n // element flashes\n const dispatchStage =\n temporary && nextStage === \"exited\" ? \"unmount\" : nextStage;\n if (duration <= 0) {\n dispatch(dispatchStage);\n return;\n }\n\n const timer = window.setTimeout(() => {\n dispatch(dispatchStage);\n }, duration);\n\n return () => {\n window.clearTimeout(timer);\n };\n }, [appearing, ref, ssr, stage, temporary, transitionIn]);\n\n return {\n ref: refCallback,\n stage,\n rendered,\n appearing,\n transitionTo: dispatch,\n disablePortal: propDisablePortal || disablePortal,\n };\n}\n"],"names":["useEffect","useReducer","useRef","useState","useSsr","useEnsuredRef","useIsomorphicLayoutEffect","getTransitionTimeout","TRANSITION_CONFIG","INITIAL_STATE","appearing","rendered","stage","noop","useTransition","options","nodeRef","timeout","transitionIn","reflow","temporary","appear","enter","exit","onEnter","onEntering","onEntered","onExit","onExiting","onExited","disablePortal","propDisablePortal","configurationRef","current","ssr","ref","refCallback","setDisablePortal","state","dispatch","reducer","action","duration","disabled","isFirstRender","isRehydrateAppear","defaultTransitionIn","startsWith","nextStage","scrollTop","dispatchStage","timer","window","setTimeout","clearTimeout","transitionTo"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/transition/useTransition.ts"],"sourcesContent":["\"use client\";\nimport { useEffect, useReducer, useRef, useState } from \"react\";\nimport { useSsr } from \"../SsrProvider.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useIsomorphicLayoutEffect } from \"../useIsomorphicLayoutEffect.js\";\nimport type {\n TransitionHookOptions,\n TransitionHookReturnValue,\n TransitionStage,\n TransitionState,\n} from \"./types.js\";\nimport { getTransitionTimeout } from \"./utils.js\";\nimport { TRANSITION_CONFIG } from \"./config.js\";\n\nconst INITIAL_STATE: TransitionState = {\n appearing: false,\n rendered: true,\n stage: \"exited\",\n};\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * You'll most likely want to use the {@link useCSSTransition} hook instead\n * since this is just a low-level hook that can be used to transition using\n * timeouts.\n *\n * @typeParam E - The HTMLElement type used or the ref required for the\n * transition.\n * @since 4.0.0\n */\nexport function useTransition<E extends HTMLElement>(\n options: TransitionHookOptions<E>\n): TransitionHookReturnValue<E> {\n const {\n nodeRef,\n timeout,\n transitionIn,\n reflow = false,\n temporary = false,\n appear = false,\n enter = true,\n exit = true,\n onEnter = noop,\n onEntering = noop,\n onEntered = noop,\n onExit = noop,\n onExiting = noop,\n onExited = noop,\n disablePortal: propDisablePortal,\n } = options;\n\n const configurationRef = useRef({\n timeout: getTransitionTimeout({ timeout, appear, enter, exit }),\n reflow,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n } as const);\n useIsomorphicLayoutEffect(() => {\n configurationRef.current = {\n timeout: getTransitionTimeout({ timeout, appear, enter, exit }),\n reflow,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n };\n }, [\n appear,\n enter,\n exit,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n reflow,\n timeout,\n ]);\n\n const ssr = useSsr();\n const [ref, refCallback] = useEnsuredRef<E>(nodeRef);\n const [disablePortal, setDisablePortal] = useState(ssr);\n const [state, dispatch] = useReducer(\n function reducer(\n state: TransitionState,\n action: TransitionStage | \"unmount\"\n ): TransitionState {\n const { appear, enter, exit } = configurationRef.current.timeout;\n const { appearing } = state;\n switch (action) {\n case \"enter\": {\n const duration = appearing ? appear : enter;\n return {\n stage: duration > 0 ? \"enter\" : \"entered\",\n rendered: true,\n appearing,\n };\n }\n case \"entering\":\n case \"entered\":\n return {\n stage: action,\n rendered: true,\n appearing,\n };\n case \"exit\": {\n const stage = exit > 0 ? \"exit\" : \"exited\";\n return {\n stage,\n rendered: !temporary || stage !== \"exited\",\n appearing: false,\n };\n }\n case \"exiting\":\n case \"exited\":\n return {\n stage: action,\n rendered: true,\n appearing: false,\n };\n case \"unmount\":\n if (state.stage === \"exited\" && !state.appearing && !state.rendered) {\n return state;\n }\n\n return {\n stage: \"exited\",\n rendered: false,\n appearing: false,\n };\n }\n },\n INITIAL_STATE,\n () => {\n let stage: TransitionStage = \"exited\";\n if (transitionIn) {\n stage = appear && !TRANSITION_CONFIG.disabled ? \"enter\" : \"entered\";\n }\n\n return {\n appearing: appear && transitionIn && !TRANSITION_CONFIG.disabled,\n rendered: !temporary || transitionIn,\n stage,\n };\n }\n );\n const { appearing, rendered, stage } = state;\n\n const isFirstRender = useRef(true);\n const isRehydrateAppear = useRef(ssr && !transitionIn);\n const defaultTransitionIn = useRef(transitionIn);\n useEffect(() => {\n const {\n timeout,\n reflow,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n } = configurationRef.current;\n let { onExited } = configurationRef.current;\n if (isFirstRender.current) {\n // The exited hook should **not** fire on first render since the element\n // was never in the DOM.\n isFirstRender.current = false;\n onExited = noop;\n }\n\n // if the transitionIn did not change between initial render and rehydration,\n // allow the enter transition to behave like normal.\n if (\n isRehydrateAppear.current &&\n !ssr &&\n !transitionIn &&\n !defaultTransitionIn.current\n ) {\n isRehydrateAppear.current = false;\n }\n\n // Cancel any exiting/exited transitions and instead immediately start the\n // enter transition\n if (transitionIn && stage.startsWith(\"exit\")) {\n const nextStage = isRehydrateAppear.current ? \"entered\" : \"enter\";\n dispatch(nextStage);\n return;\n }\n\n // Cancel any entering/entered transitions and instead immediately start the\n // exit transition\n if (!transitionIn && stage.startsWith(\"enter\")) {\n dispatch(\"exit\");\n return;\n }\n\n if (reflow && ref.current && stage !== \"exited\" && stage !== \"entered\") {\n // force reflow by accessing scrollTop\n ref.current.scrollTop;\n }\n\n let duration = 0;\n let nextStage: TransitionStage = stage;\n switch (stage) {\n case \"enter\":\n if (TRANSITION_CONFIG.disabled) {\n nextStage = \"entered\";\n } else {\n onEnter(appearing);\n nextStage = \"entering\";\n }\n break;\n case \"entering\":\n onEntering(appearing);\n duration = timeout.enter;\n nextStage = \"entered\";\n break;\n case \"entered\":\n onEntered(appearing);\n break;\n case \"exit\":\n if (TRANSITION_CONFIG.disabled) {\n nextStage = \"exited\";\n } else {\n onExit();\n nextStage = \"exiting\";\n }\n break;\n case \"exiting\":\n onExiting();\n duration = timeout.exit;\n nextStage = \"exited\";\n break;\n case \"exited\":\n onExited();\n setDisablePortal(false);\n break;\n }\n\n if (stage === nextStage) {\n // this is used to help catch changing the temporary prop.\n // not sure if I should really support that though...\n if (stage === \"exited\" && temporary) {\n dispatch(\"unmount\");\n }\n\n return;\n }\n\n // I used to rely on the `dispatch(\"unmount\")` above, but it seems like\n // there are some cases where re-rendering takes too long so the temporary\n // element flashes\n const dispatchStage =\n temporary && nextStage === \"exited\" ? \"unmount\" : nextStage;\n if (duration <= 0) {\n dispatch(dispatchStage);\n return;\n }\n\n const timer = window.setTimeout(() => {\n dispatch(dispatchStage);\n }, duration);\n\n return () => {\n window.clearTimeout(timer);\n };\n }, [appearing, ref, ssr, stage, temporary, transitionIn]);\n\n return {\n ref: refCallback,\n stage,\n rendered,\n appearing,\n transitionTo: dispatch,\n disablePortal: propDisablePortal || disablePortal,\n };\n}\n"],"names":["useEffect","useReducer","useRef","useState","useSsr","useEnsuredRef","useIsomorphicLayoutEffect","getTransitionTimeout","TRANSITION_CONFIG","INITIAL_STATE","appearing","rendered","stage","noop","useTransition","options","nodeRef","timeout","transitionIn","reflow","temporary","appear","enter","exit","onEnter","onEntering","onEntered","onExit","onExiting","onExited","disablePortal","propDisablePortal","configurationRef","current","ssr","ref","refCallback","setDisablePortal","state","dispatch","reducer","action","duration","disabled","isFirstRender","isRehydrateAppear","defaultTransitionIn","startsWith","nextStage","scrollTop","dispatchStage","timer","window","setTimeout","clearTimeout","transitionTo"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,18 +1,18 @@
1
1
  import type { CSSTransitionClassNames, CSSTransitionClassNamesObject, TransitionActions, TransitionTimeout, TransitionTimeoutObject } from "./types.js";
2
2
  /**
3
- * @remarks \@since 4.0.0
3
+ * @since 4.0.0
4
4
  * @internal
5
5
  */
6
6
  export interface TransitionTimeoutOptions extends Required<TransitionActions> {
7
7
  timeout: TransitionTimeout;
8
8
  }
9
9
  /**
10
- * @remarks \@since 4.0.0
10
+ * @since 4.0.0
11
11
  * @internal
12
12
  */
13
13
  export declare function getTransitionTimeout(options: Readonly<TransitionTimeoutOptions>): Readonly<Required<TransitionTimeoutObject>>;
14
14
  /**
15
- * @remarks \@since 4.0.0
15
+ * @since 4.0.0
16
16
  * @internal
17
17
  */
18
18
  export interface CollapseSizing {
@@ -26,19 +26,19 @@ export interface CollapseSizing {
26
26
  * max-height value since `max-height: auto` does not transition. The only way
27
27
  * to get transition is to change max-height values manually.
28
28
  *
29
- * @remarks \@since 4.0.0
29
+ * @since 4.0.0
30
30
  * @internal
31
31
  */
32
32
  export declare function getElementSizing(element: HTMLElement | null): CollapseSizing;
33
33
  /**
34
- * @remarks \@since 4.0.0
34
+ * @since 4.0.0
35
35
  * @internal
36
36
  */
37
37
  export interface TransitionClassNamesOptions extends TransitionTimeoutOptions {
38
38
  classNames: CSSTransitionClassNames;
39
39
  }
40
40
  /**
41
- * @remarks \@since 4.0.0
41
+ * @since 4.0.0
42
42
  * @internal
43
43
  */
44
44
  export declare function getTransitionClassNames(options: TransitionClassNamesOptions): Readonly<Required<CSSTransitionClassNamesObject>>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remarks \@since 4.0.0
2
+ * @since 4.0.0
3
3
  * @internal
4
4
  */ export function getTransitionTimeout(options) {
5
5
  const { timeout, appear, enter, exit } = options;
@@ -22,7 +22,7 @@
22
22
  * max-height value since `max-height: auto` does not transition. The only way
23
23
  * to get transition is to change max-height values manually.
24
24
  *
25
- * @remarks \@since 4.0.0
25
+ * @since 4.0.0
26
26
  * @internal
27
27
  */ export function getElementSizing(element) {
28
28
  let maxHeight;
@@ -63,7 +63,7 @@
63
63
  };
64
64
  }
65
65
  /**
66
- * @remarks \@since 4.0.0
66
+ * @since 4.0.0
67
67
  * @internal
68
68
  */ export function getTransitionClassNames(options) {
69
69
  const { classNames, ...timeoutOptions } = options;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transition/utils.ts"],"sourcesContent":["import type {\n CSSTransitionClassNames,\n CSSTransitionClassNamesObject,\n TransitionActions,\n TransitionTimeout,\n TransitionTimeoutObject,\n} from \"./types.js\";\n\n/**\n * @remarks \\@since 4.0.0\n * @internal\n */\nexport interface TransitionTimeoutOptions extends Required<TransitionActions> {\n timeout: TransitionTimeout;\n}\n\n/**\n * @remarks \\@since 4.0.0\n * @internal\n */\nexport function getTransitionTimeout(\n options: Readonly<TransitionTimeoutOptions>\n): Readonly<Required<TransitionTimeoutObject>> {\n const { timeout, appear, enter, exit } = options;\n if (typeof timeout === \"number\") {\n return {\n appear: appear ? timeout : 0,\n enter: enter ? timeout : 0,\n exit: exit ? timeout : 0,\n };\n }\n\n return {\n appear: (appear && (timeout.appear ?? timeout.enter)) || 0,\n enter: (enter && timeout.enter) || 0,\n exit: (exit && timeout.exit) || 0,\n };\n}\n\n/**\n * @remarks \\@since 4.0.0\n * @internal\n */\nexport interface CollapseSizing {\n maxHeight?: number;\n paddingTop?: number;\n paddingBottom?: number;\n}\n\n/**\n * A small util that will find the max-height, padding-top, and padding-bottom\n * for the provided element. This is really used to be able to transition the\n * max-height value since `max-height: auto` does not transition. The only way\n * to get transition is to change max-height values manually.\n *\n * @remarks \\@since 4.0.0\n * @internal\n */\nexport function getElementSizing(element: HTMLElement | null): CollapseSizing {\n let maxHeight: number | undefined;\n let paddingTop: number | undefined;\n let paddingBottom: number | undefined;\n if (element) {\n // clone the element so that the total height and padding can be calculated\n // without being affected by the collapse transition inline styles\n const cloned = element.cloneNode(true) as HTMLElement;\n cloned.style.maxHeight = \"\";\n cloned.style.padding = \"\";\n cloned.style.paddingLeft = element.style.paddingLeft;\n cloned.style.paddingRight = element.style.paddingRight;\n cloned.style.visibility = \"hidden\";\n\n const container = element.parentElement || document.body;\n container.appendChild(cloned);\n maxHeight = cloned.scrollHeight;\n const style = window.getComputedStyle(cloned);\n const isContentBox = style.boxSizing === \"content-box\";\n if (style.paddingTop) {\n paddingTop = parseFloat(style.paddingTop);\n if (isContentBox) {\n maxHeight += paddingTop;\n }\n }\n\n if (style.paddingBottom) {\n paddingBottom = parseFloat(style.paddingBottom);\n if (isContentBox) {\n maxHeight += paddingBottom;\n }\n }\n container.removeChild(cloned);\n }\n\n return { maxHeight, paddingTop, paddingBottom };\n}\n\n/**\n * @remarks \\@since 4.0.0\n * @internal\n */\nexport interface TransitionClassNamesOptions extends TransitionTimeoutOptions {\n classNames: CSSTransitionClassNames;\n}\n\n/**\n * @remarks \\@since 4.0.0\n * @internal\n */\nexport function getTransitionClassNames(\n options: TransitionClassNamesOptions\n): Readonly<Required<CSSTransitionClassNamesObject>> {\n const { classNames, ...timeoutOptions } = options;\n const timeout = getTransitionTimeout(timeoutOptions);\n\n if (typeof classNames === \"string\") {\n const { appear, enter, exit } = timeout;\n return {\n appear: appear ? `${classNames}--appear` : \"\",\n appearActive: appear ? `${classNames}--appear-active` : \"\",\n appearDone: \"\",\n enter: enter ? `${classNames}--enter` : \"\",\n enterActive: enter ? `${classNames}--enter-active` : \"\",\n enterDone: \"\",\n exit: exit ? `${classNames}--exit` : \"\",\n exitActive: exit ? `${classNames}--exit-active` : \"\",\n exitDone: \"\",\n };\n }\n\n const {\n enter = \"\",\n enterActive = \"\",\n enterDone = \"\",\n exit = \"\",\n exitActive = \"\",\n exitDone = \"\",\n appear = (timeout.appear && enter) || \"\",\n appearActive = (timeout.appear && enterActive) || \"\",\n appearDone = (timeout.appear && enterDone) || \"\",\n } = classNames;\n\n return {\n appear,\n appearActive,\n appearDone,\n enter,\n enterActive,\n enterDone,\n exit,\n exitActive,\n exitDone,\n };\n}\n"],"names":["getTransitionTimeout","options","timeout","appear","enter","exit","getElementSizing","element","maxHeight","paddingTop","paddingBottom","cloned","cloneNode","style","padding","paddingLeft","paddingRight","visibility","container","parentElement","document","body","appendChild","scrollHeight","window","getComputedStyle","isContentBox","boxSizing","parseFloat","removeChild","getTransitionClassNames","classNames","timeoutOptions","appearActive","appearDone","enterActive","enterDone","exitActive","exitDone"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/transition/utils.ts"],"sourcesContent":["import type {\n CSSTransitionClassNames,\n CSSTransitionClassNamesObject,\n TransitionActions,\n TransitionTimeout,\n TransitionTimeoutObject,\n} from \"./types.js\";\n\n/**\n * @since 4.0.0\n * @internal\n */\nexport interface TransitionTimeoutOptions extends Required<TransitionActions> {\n timeout: TransitionTimeout;\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\nexport function getTransitionTimeout(\n options: Readonly<TransitionTimeoutOptions>\n): Readonly<Required<TransitionTimeoutObject>> {\n const { timeout, appear, enter, exit } = options;\n if (typeof timeout === \"number\") {\n return {\n appear: appear ? timeout : 0,\n enter: enter ? timeout : 0,\n exit: exit ? timeout : 0,\n };\n }\n\n return {\n appear: (appear && (timeout.appear ?? timeout.enter)) || 0,\n enter: (enter && timeout.enter) || 0,\n exit: (exit && timeout.exit) || 0,\n };\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\nexport interface CollapseSizing {\n maxHeight?: number;\n paddingTop?: number;\n paddingBottom?: number;\n}\n\n/**\n * A small util that will find the max-height, padding-top, and padding-bottom\n * for the provided element. This is really used to be able to transition the\n * max-height value since `max-height: auto` does not transition. The only way\n * to get transition is to change max-height values manually.\n *\n * @since 4.0.0\n * @internal\n */\nexport function getElementSizing(element: HTMLElement | null): CollapseSizing {\n let maxHeight: number | undefined;\n let paddingTop: number | undefined;\n let paddingBottom: number | undefined;\n if (element) {\n // clone the element so that the total height and padding can be calculated\n // without being affected by the collapse transition inline styles\n const cloned = element.cloneNode(true) as HTMLElement;\n cloned.style.maxHeight = \"\";\n cloned.style.padding = \"\";\n cloned.style.paddingLeft = element.style.paddingLeft;\n cloned.style.paddingRight = element.style.paddingRight;\n cloned.style.visibility = \"hidden\";\n\n const container = element.parentElement || document.body;\n container.appendChild(cloned);\n maxHeight = cloned.scrollHeight;\n const style = window.getComputedStyle(cloned);\n const isContentBox = style.boxSizing === \"content-box\";\n if (style.paddingTop) {\n paddingTop = parseFloat(style.paddingTop);\n if (isContentBox) {\n maxHeight += paddingTop;\n }\n }\n\n if (style.paddingBottom) {\n paddingBottom = parseFloat(style.paddingBottom);\n if (isContentBox) {\n maxHeight += paddingBottom;\n }\n }\n container.removeChild(cloned);\n }\n\n return { maxHeight, paddingTop, paddingBottom };\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\nexport interface TransitionClassNamesOptions extends TransitionTimeoutOptions {\n classNames: CSSTransitionClassNames;\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\nexport function getTransitionClassNames(\n options: TransitionClassNamesOptions\n): Readonly<Required<CSSTransitionClassNamesObject>> {\n const { classNames, ...timeoutOptions } = options;\n const timeout = getTransitionTimeout(timeoutOptions);\n\n if (typeof classNames === \"string\") {\n const { appear, enter, exit } = timeout;\n return {\n appear: appear ? `${classNames}--appear` : \"\",\n appearActive: appear ? `${classNames}--appear-active` : \"\",\n appearDone: \"\",\n enter: enter ? `${classNames}--enter` : \"\",\n enterActive: enter ? `${classNames}--enter-active` : \"\",\n enterDone: \"\",\n exit: exit ? `${classNames}--exit` : \"\",\n exitActive: exit ? `${classNames}--exit-active` : \"\",\n exitDone: \"\",\n };\n }\n\n const {\n enter = \"\",\n enterActive = \"\",\n enterDone = \"\",\n exit = \"\",\n exitActive = \"\",\n exitDone = \"\",\n appear = (timeout.appear && enter) || \"\",\n appearActive = (timeout.appear && enterActive) || \"\",\n appearDone = (timeout.appear && enterDone) || \"\",\n } = classNames;\n\n return {\n appear,\n appearActive,\n appearDone,\n enter,\n enterActive,\n enterDone,\n exit,\n exitActive,\n exitDone,\n };\n}\n"],"names":["getTransitionTimeout","options","timeout","appear","enter","exit","getElementSizing","element","maxHeight","paddingTop","paddingBottom","cloned","cloneNode","style","padding","paddingLeft","paddingRight","visibility","container","parentElement","document","body","appendChild","scrollHeight","window","getComputedStyle","isContentBox","boxSizing","parseFloat","removeChild","getTransitionClassNames","classNames","timeoutOptions","appearActive","appearDone","enterActive","enterDone","exitActive","exitDone"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -11,6 +11,6 @@ import { type DefaultTreeItemNode, type TreeData, type TreeItemNode } from "./ty
11
11
  * Look at the `Tree` component for an example of creating a custom
12
12
  * implementation.
13
13
  *
14
- * @remarks \@since 6.0.0
14
+ * @since 6.0.0
15
15
  */
16
16
  export declare function DefaultTreeItemRenderer<T extends TreeItemNode = DefaultTreeItemNode>(props: RenderRecursiveItemsProps<T, TreeData<T>>): ReactElement;
@@ -10,7 +10,7 @@ import { TreeItem } from "./TreeItem.js";
10
10
  * Look at the `Tree` component for an example of creating a custom
11
11
  * implementation.
12
12
  *
13
- * @remarks \@since 6.0.0
13
+ * @since 6.0.0
14
14
  */ export function DefaultTreeItemRenderer(props) {
15
15
  const { item: _item, parents, children: childItems } = props;
16
16
  const item = props.item;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tree/DefaultTreeItemRenderer.tsx"],"sourcesContent":["import { type ReactElement } from \"react\";\nimport { type RenderRecursiveItemsProps } from \"../utils/RenderRecursively.js\";\nimport { TreeItem } from \"./TreeItem.js\";\nimport {\n type DefaultTreeItemNode,\n type TreeData,\n type TreeItemNode,\n} from \"./types.js\";\n\n/**\n * **Client Component**\n *\n * A reasonable default for rendering tree items that will extract all the\n * `ListItemChildrenProps` from the item and attempt to pass them into the\n * `TreeItem`.\n *\n * Look at the `Tree` component for an example of creating a custom\n * implementation.\n *\n * @remarks \\@since 6.0.0\n */\nexport function DefaultTreeItemRenderer<\n T extends TreeItemNode = DefaultTreeItemNode,\n>(props: RenderRecursiveItemsProps<T, TreeData<T>>): ReactElement {\n const { item: _item, parents, children: childItems } = props;\n const item = props.item as DefaultTreeItemNode;\n\n const {\n itemId,\n to,\n href,\n disabled,\n className,\n contentClassName,\n leftAddon,\n leftAddonType,\n leftAddonPosition,\n leftAddonClassName,\n leftAddonForceWrap,\n rightAddon,\n rightAddonType,\n rightAddonPosition,\n rightAddonClassName,\n rightAddonForceWrap,\n disableLeftAddonCenteredMedia,\n disableRightAddonCenteredMedia,\n } = item;\n const children = item.name ?? item.children;\n\n return (\n <TreeItem\n to={to}\n href={href}\n depth={parents.length}\n childItems={childItems}\n className={className}\n contentClassName={contentClassName}\n itemId={itemId}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonType={leftAddonType}\n leftAddonPosition={leftAddonPosition}\n leftAddonClassName={leftAddonClassName}\n leftAddonForceWrap={leftAddonForceWrap}\n rightAddon={rightAddon}\n rightAddonType={rightAddonType}\n rightAddonPosition={rightAddonPosition}\n rightAddonClassName={rightAddonClassName}\n rightAddonForceWrap={rightAddonForceWrap}\n disableLeftAddonCenteredMedia={disableLeftAddonCenteredMedia}\n disableRightAddonCenteredMedia={disableRightAddonCenteredMedia}\n >\n {children}\n </TreeItem>\n );\n}\n"],"names":["TreeItem","DefaultTreeItemRenderer","props","item","_item","parents","children","childItems","itemId","to","href","disabled","className","contentClassName","leftAddon","leftAddonType","leftAddonPosition","leftAddonClassName","leftAddonForceWrap","rightAddon","rightAddonType","rightAddonPosition","rightAddonClassName","rightAddonForceWrap","disableLeftAddonCenteredMedia","disableRightAddonCenteredMedia","name","depth","length"],"mappings":";AAEA,SAASA,QAAQ,QAAQ,gBAAgB;AAOzC;;;;;;;;;;;CAWC,GACD,OAAO,SAASC,wBAEdC,KAAgD;IAChD,MAAM,EAAEC,MAAMC,KAAK,EAAEC,OAAO,EAAEC,UAAUC,UAAU,EAAE,GAAGL;IACvD,MAAMC,OAAOD,MAAMC,IAAI;IAEvB,MAAM,EACJK,MAAM,EACNC,EAAE,EACFC,IAAI,EACJC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,SAAS,EACTC,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,UAAU,EACVC,cAAc,EACdC,kBAAkB,EAClBC,mBAAmB,EACnBC,mBAAmB,EACnBC,6BAA6B,EAC7BC,8BAA8B,EAC/B,GAAGtB;IACJ,MAAMG,WAAWH,KAAKuB,IAAI,IAAIvB,KAAKG,QAAQ;IAE3C,qBACE,KAACN;QACCS,IAAIA;QACJC,MAAMA;QACNiB,OAAOtB,QAAQuB,MAAM;QACrBrB,YAAYA;QACZK,WAAWA;QACXC,kBAAkBA;QAClBL,QAAQA;QACRG,UAAUA;QACVG,WAAWA;QACXC,eAAeA;QACfC,mBAAmBA;QACnBC,oBAAoBA;QACpBC,oBAAoBA;QACpBC,YAAYA;QACZC,gBAAgBA;QAChBC,oBAAoBA;QACpBC,qBAAqBA;QACrBC,qBAAqBA;QACrBC,+BAA+BA;QAC/BC,gCAAgCA;kBAE/BnB;;AAGP"}
1
+ {"version":3,"sources":["../../src/tree/DefaultTreeItemRenderer.tsx"],"sourcesContent":["import { type ReactElement } from \"react\";\nimport { type RenderRecursiveItemsProps } from \"../utils/RenderRecursively.js\";\nimport { TreeItem } from \"./TreeItem.js\";\nimport {\n type DefaultTreeItemNode,\n type TreeData,\n type TreeItemNode,\n} from \"./types.js\";\n\n/**\n * **Client Component**\n *\n * A reasonable default for rendering tree items that will extract all the\n * `ListItemChildrenProps` from the item and attempt to pass them into the\n * `TreeItem`.\n *\n * Look at the `Tree` component for an example of creating a custom\n * implementation.\n *\n * @since 6.0.0\n */\nexport function DefaultTreeItemRenderer<\n T extends TreeItemNode = DefaultTreeItemNode,\n>(props: RenderRecursiveItemsProps<T, TreeData<T>>): ReactElement {\n const { item: _item, parents, children: childItems } = props;\n const item = props.item as DefaultTreeItemNode;\n\n const {\n itemId,\n to,\n href,\n disabled,\n className,\n contentClassName,\n leftAddon,\n leftAddonType,\n leftAddonPosition,\n leftAddonClassName,\n leftAddonForceWrap,\n rightAddon,\n rightAddonType,\n rightAddonPosition,\n rightAddonClassName,\n rightAddonForceWrap,\n disableLeftAddonCenteredMedia,\n disableRightAddonCenteredMedia,\n } = item;\n const children = item.name ?? item.children;\n\n return (\n <TreeItem\n to={to}\n href={href}\n depth={parents.length}\n childItems={childItems}\n className={className}\n contentClassName={contentClassName}\n itemId={itemId}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonType={leftAddonType}\n leftAddonPosition={leftAddonPosition}\n leftAddonClassName={leftAddonClassName}\n leftAddonForceWrap={leftAddonForceWrap}\n rightAddon={rightAddon}\n rightAddonType={rightAddonType}\n rightAddonPosition={rightAddonPosition}\n rightAddonClassName={rightAddonClassName}\n rightAddonForceWrap={rightAddonForceWrap}\n disableLeftAddonCenteredMedia={disableLeftAddonCenteredMedia}\n disableRightAddonCenteredMedia={disableRightAddonCenteredMedia}\n >\n {children}\n </TreeItem>\n );\n}\n"],"names":["TreeItem","DefaultTreeItemRenderer","props","item","_item","parents","children","childItems","itemId","to","href","disabled","className","contentClassName","leftAddon","leftAddonType","leftAddonPosition","leftAddonClassName","leftAddonForceWrap","rightAddon","rightAddonType","rightAddonPosition","rightAddonClassName","rightAddonForceWrap","disableLeftAddonCenteredMedia","disableRightAddonCenteredMedia","name","depth","length"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAEA,SAASA,QAAQ,QAAQ,gBAAgB;AAOzC;;;;;;;;;;;CAWC,GACD,OAAO,SAASC,wBAEdC,KAAgD;IAChD,MAAM,EAAEC,MAAMC,KAAK,EAAEC,OAAO,EAAEC,UAAUC,UAAU,EAAE,GAAGL;IACvD,MAAMC,OAAOD,MAAMC,IAAI;IAEvB,MAAM,EACJK,MAAM,EACNC,EAAE,EACFC,IAAI,EACJC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,SAAS,EACTC,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,UAAU,EACVC,cAAc,EACdC,kBAAkB,EAClBC,mBAAmB,EACnBC,mBAAmB,EACnBC,6BAA6B,EAC7BC,8BAA8B,EAC/B,GAAGtB;IACJ,MAAMG,WAAWH,KAAKuB,IAAI,IAAIvB,KAAKG,QAAQ;IAE3C,qBACE,KAACN;QACCS,IAAIA;QACJC,MAAMA;QACNiB,OAAOtB,QAAQuB,MAAM;QACrBrB,YAAYA;QACZK,WAAWA;QACXC,kBAAkBA;QAClBL,QAAQA;QACRG,UAAUA;QACVG,WAAWA;QACXC,eAAeA;QACfC,mBAAmBA;QACnBC,oBAAoBA;QACpBC,oBAAoBA;QACpBC,YAAYA;QACZC,gBAAgBA;QAChBC,oBAAoBA;QACpBC,qBAAqBA;QACrBC,qBAAqBA;QACrBC,+BAA+BA;QAC/BC,gCAAgCA;kBAE/BnB;;AAGP"}
@@ -15,12 +15,11 @@ declare module "react" {
15
15
  }
16
16
  }
17
17
  /**
18
- * @remarks \@since 6.0.0
18
+ * @since 6.0.0
19
19
  */
20
20
  export type TreeHTMLAttributes = Omit<HTMLAttributes<HTMLUListElement>, "role" | "tabIndex" | "children">;
21
21
  /**
22
- * @remarks
23
- * \@since 6.0.0 There was a major API change and the `id` is now `optional`.
22
+ * @since 6.0.0 There was a major API change and the `id` is now `optional`.
24
23
  * In addition, the following props were removed:
25
24
  * - `itemRenderer`
26
25
  * - `labelKey`
@@ -35,13 +34,13 @@ export interface TreeProps<T extends TreeItemNode> extends TreeHTMLAttributes, T
35
34
  /**
36
35
  * An optional ref to pass to the tree element.
37
36
  *
38
- * @remarks \@since 6.0.0
37
+ * @since 6.0.0
39
38
  */
40
39
  treeRef?: Ref<HTMLUListElement>;
41
40
  /** @defaultValue `identity` */
42
41
  sort?: TreeItemSorter<T>;
43
42
  /**
44
- * Any nodes in the {@Link data} that have a `parentId` set to this value will
43
+ * Any nodes in the {@link data} that have a `parentId` set to this value will
45
44
  * appear at the root of the tree.
46
45
  *
47
46
  * @defaultValue `null`
@@ -79,8 +78,7 @@ export interface TreeProps<T extends TreeItemNode> extends TreeHTMLAttributes, T
79
78
  */
80
79
  temporaryChildItems?: boolean;
81
80
  /**
82
- * @example
83
- * Custom Tree Item Renderer
81
+ * @example Custom Tree Item Renderer
84
82
  * ```tsx
85
83
  * import {
86
84
  * TreeItem,
@@ -139,8 +137,7 @@ export interface TreeProps<T extends TreeItemNode> extends TreeHTMLAttributes, T
139
137
  /**
140
138
  * **Client Component**
141
139
  *
142
- * @example
143
- * Simple Tree
140
+ * @example Simple Tree
144
141
  * ```tsx
145
142
  * import type { TreeData } from "@react-md/core";
146
143
  * import { Tree, useTree } from "@react-md/core";
@@ -186,8 +183,7 @@ export interface TreeProps<T extends TreeItemNode> extends TreeHTMLAttributes, T
186
183
  *
187
184
  * @see {@link TreeProps.renderer} for a custom tree item example.
188
185
  *
189
- * @remarks
190
- * \@since 6.0.0 There was a major API change and the `id` is now `optional`.
186
+ * @since 6.0.0 There was a major API change and the `id` is now `optional`.
191
187
  * In addition, the following props were removed:
192
188
  * - `itemRenderer`
193
189
  * - `labelKey`
package/dist/tree/Tree.js CHANGED
@@ -13,8 +13,7 @@ import { useTreeMovement } from "./useTreeMovement.js";
13
13
  /**
14
14
  * **Client Component**
15
15
  *
16
- * @example
17
- * Simple Tree
16
+ * @example Simple Tree
18
17
  * ```tsx
19
18
  * import type { TreeData } from "@react-md/core";
20
19
  * import { Tree, useTree } from "@react-md/core";
@@ -60,8 +59,7 @@ import { useTreeMovement } from "./useTreeMovement.js";
60
59
  *
61
60
  * @see {@link TreeProps.renderer} for a custom tree item example.
62
61
  *
63
- * @remarks
64
- * \@since 6.0.0 There was a major API change and the `id` is now `optional`.
62
+ * @since 6.0.0 There was a major API change and the `id` is now `optional`.
65
63
  * In addition, the following props were removed:
66
64
  * - `itemRenderer`
67
65
  * - `labelKey`
@@ -119,8 +117,8 @@ import { useTreeMovement } from "./useTreeMovement.js";
119
117
  }),
120
118
  children: /*#__PURE__*/ _jsx(RenderRecursively, {
121
119
  items: items,
122
- getItemKey: (item)=>item.itemId,
123
- render: TreeItemRenderer
120
+ render: TreeItemRenderer,
121
+ getItemKey: (options)=>options.item.itemId
124
122
  })
125
123
  })
126
124
  })