@react-md/core 1.0.0-next.12 → 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 (1511) hide show
  1. package/.turbo/turbo-build.log +22 -22
  2. package/CHANGELOG.md +30 -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 +7 -9
  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/dialog/Dialog.d.ts +5 -6
  189. package/dist/dialog/Dialog.js +4 -5
  190. package/dist/dialog/Dialog.js.map +1 -1
  191. package/dist/dialog/DialogContainer.d.ts +2 -2
  192. package/dist/dialog/DialogContainer.js +1 -1
  193. package/dist/dialog/DialogContainer.js.map +1 -1
  194. package/dist/dialog/DialogTitle.d.ts +1 -1
  195. package/dist/dialog/DialogTitle.js.map +1 -1
  196. package/dist/dialog/FixedDialog.d.ts +1 -2
  197. package/dist/dialog/FixedDialog.js +1 -2
  198. package/dist/dialog/FixedDialog.js.map +1 -1
  199. package/dist/dialog/styles.d.ts +9 -9
  200. package/dist/dialog/styles.js +4 -4
  201. package/dist/dialog/styles.js.map +1 -1
  202. package/dist/divider/Divider.d.ts +2 -3
  203. package/dist/divider/Divider.js +1 -2
  204. package/dist/divider/Divider.js.map +1 -1
  205. package/dist/divider/styles.d.ts +2 -2
  206. package/dist/divider/styles.js +1 -1
  207. package/dist/divider/styles.js.map +1 -1
  208. package/dist/draggable/useDraggable.d.ts +17 -18
  209. package/dist/draggable/useDraggable.js +2 -2
  210. package/dist/draggable/useDraggable.js.map +1 -1
  211. package/dist/draggable/utils.d.ts +2 -2
  212. package/dist/draggable/utils.js +1 -1
  213. package/dist/draggable/utils.js.map +1 -1
  214. package/dist/expansion-panel/ExpansionList.d.ts +2 -2
  215. package/dist/expansion-panel/ExpansionList.js +1 -1
  216. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  217. package/dist/expansion-panel/ExpansionPanel.d.ts +8 -9
  218. package/dist/expansion-panel/ExpansionPanel.js +2 -3
  219. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  220. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +3 -4
  221. package/dist/expansion-panel/ExpansionPanelHeader.js +2 -3
  222. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  223. package/dist/expansion-panel/useExpansionList.d.ts +5 -6
  224. package/dist/expansion-panel/useExpansionList.js +4 -5
  225. package/dist/expansion-panel/useExpansionList.js.map +1 -1
  226. package/dist/expansion-panel/useExpansionPanels.d.ts +9 -14
  227. package/dist/expansion-panel/useExpansionPanels.js +3 -6
  228. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  229. package/dist/focus/useFocusContainer.d.ts +9 -10
  230. package/dist/focus/useFocusContainer.js +2 -3
  231. package/dist/focus/useFocusContainer.js.map +1 -1
  232. package/dist/focus/utils.d.ts +4 -5
  233. package/dist/focus/utils.js +3 -4
  234. package/dist/focus/utils.js.map +1 -1
  235. package/dist/form/Checkbox.d.ts +1 -2
  236. package/dist/form/Checkbox.js +1 -2
  237. package/dist/form/Checkbox.js.map +1 -1
  238. package/dist/form/Fieldset.d.ts +5 -6
  239. package/dist/form/Fieldset.js +2 -3
  240. package/dist/form/Fieldset.js.map +1 -1
  241. package/dist/form/FileInput.d.ts +6 -7
  242. package/dist/form/FileInput.js +3 -4
  243. package/dist/form/FileInput.js.map +1 -1
  244. package/dist/form/FormMessageContainer.d.ts +2 -2
  245. package/dist/form/FormMessageContainer.js +1 -1
  246. package/dist/form/FormMessageContainer.js.map +1 -1
  247. package/dist/form/FormMessageCounter.d.ts +4 -6
  248. package/dist/form/FormMessageCounter.js +2 -3
  249. package/dist/form/FormMessageCounter.js.map +1 -1
  250. package/dist/form/InputToggle.d.ts +11 -12
  251. package/dist/form/InputToggle.js +1 -1
  252. package/dist/form/InputToggle.js.map +1 -1
  253. package/dist/form/InputToggleIcon.d.ts +4 -6
  254. package/dist/form/InputToggleIcon.js +2 -3
  255. package/dist/form/InputToggleIcon.js.map +1 -1
  256. package/dist/form/Label.d.ts +2 -2
  257. package/dist/form/Label.js +2 -2
  258. package/dist/form/Label.js.map +1 -1
  259. package/dist/form/Legend.d.ts +2 -2
  260. package/dist/form/Legend.js +1 -1
  261. package/dist/form/Legend.js.map +1 -1
  262. package/dist/form/MenuItemCheckbox.d.ts +2 -3
  263. package/dist/form/MenuItemCheckbox.js +2 -3
  264. package/dist/form/MenuItemCheckbox.js.map +1 -1
  265. package/dist/form/MenuItemFileInput.d.ts +3 -5
  266. package/dist/form/MenuItemFileInput.js +2 -3
  267. package/dist/form/MenuItemFileInput.js.map +1 -1
  268. package/dist/form/MenuItemInputToggle.d.ts +7 -9
  269. package/dist/form/MenuItemInputToggle.js +1 -1
  270. package/dist/form/MenuItemInputToggle.js.map +1 -1
  271. package/dist/form/MenuItemRadio.d.ts +3 -5
  272. package/dist/form/MenuItemRadio.js +3 -5
  273. package/dist/form/MenuItemRadio.js.map +1 -1
  274. package/dist/form/MenuItemSwitch.d.ts +2 -3
  275. package/dist/form/MenuItemSwitch.js +2 -3
  276. package/dist/form/MenuItemSwitch.js.map +1 -1
  277. package/dist/form/MenuItemTextField.d.ts +2 -2
  278. package/dist/form/MenuItemTextField.js +1 -1
  279. package/dist/form/MenuItemTextField.js.map +1 -1
  280. package/dist/form/NativeSelect.d.ts +3 -5
  281. package/dist/form/NativeSelect.js +2 -4
  282. package/dist/form/NativeSelect.js.map +1 -1
  283. package/dist/form/OptGroup.d.ts +3 -4
  284. package/dist/form/OptGroup.js +2 -3
  285. package/dist/form/OptGroup.js.map +1 -1
  286. package/dist/form/Option.d.ts +5 -7
  287. package/dist/form/Option.js +3 -4
  288. package/dist/form/Option.js.map +1 -1
  289. package/dist/form/Password.d.ts +7 -13
  290. package/dist/form/Password.js +1 -2
  291. package/dist/form/Password.js.map +1 -1
  292. package/dist/form/Radio.d.ts +1 -2
  293. package/dist/form/Radio.js +1 -2
  294. package/dist/form/Radio.js.map +1 -1
  295. package/dist/form/ResizingTextAreaWrapper.d.ts +2 -2
  296. package/dist/form/ResizingTextAreaWrapper.js +1 -1
  297. package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
  298. package/dist/form/Select.d.ts +6 -9
  299. package/dist/form/Select.js +3 -5
  300. package/dist/form/Select.js.map +1 -1
  301. package/dist/form/SelectedOption.d.ts +2 -2
  302. package/dist/form/SelectedOption.js +1 -1
  303. package/dist/form/SelectedOption.js.map +1 -1
  304. package/dist/form/Slider.d.ts +16 -25
  305. package/dist/form/Slider.js.map +1 -1
  306. package/dist/form/SliderContainer.d.ts +6 -9
  307. package/dist/form/SliderContainer.js +2 -3
  308. package/dist/form/SliderContainer.js.map +1 -1
  309. package/dist/form/SliderMark.d.ts +2 -2
  310. package/dist/form/SliderMark.js +1 -1
  311. package/dist/form/SliderMark.js.map +1 -1
  312. package/dist/form/SliderMarkLabel.d.ts +3 -3
  313. package/dist/form/SliderMarkLabel.js +1 -1
  314. package/dist/form/SliderMarkLabel.js.map +1 -1
  315. package/dist/form/SliderThumb.d.ts +6 -8
  316. package/dist/form/SliderThumb.js +3 -4
  317. package/dist/form/SliderThumb.js.map +1 -1
  318. package/dist/form/SliderTrack.d.ts +4 -6
  319. package/dist/form/SliderTrack.js +2 -3
  320. package/dist/form/SliderTrack.js.map +1 -1
  321. package/dist/form/SliderValueMarks.d.ts +7 -9
  322. package/dist/form/SliderValueMarks.js +1 -1
  323. package/dist/form/SliderValueMarks.js.map +1 -1
  324. package/dist/form/SliderValueTooltip.d.ts +4 -6
  325. package/dist/form/SliderValueTooltip.js +2 -3
  326. package/dist/form/SliderValueTooltip.js.map +1 -1
  327. package/dist/form/Switch.d.ts +3 -4
  328. package/dist/form/Switch.js +2 -3
  329. package/dist/form/Switch.js.map +1 -1
  330. package/dist/form/TextArea.d.ts +2 -3
  331. package/dist/form/TextArea.js +1 -2
  332. package/dist/form/TextArea.js.map +1 -1
  333. package/dist/form/TextField.d.ts +7 -10
  334. package/dist/form/TextField.js +2 -4
  335. package/dist/form/TextField.js.map +1 -1
  336. package/dist/form/TextFieldAddon.d.ts +3 -3
  337. package/dist/form/TextFieldAddon.js +1 -1
  338. package/dist/form/TextFieldAddon.js.map +1 -1
  339. package/dist/form/fileUtils.d.ts +33 -36
  340. package/dist/form/fileUtils.js +14 -14
  341. package/dist/form/fileUtils.js.map +1 -1
  342. package/dist/form/formConfig.d.ts +2 -2
  343. package/dist/form/formConfig.js +2 -2
  344. package/dist/form/formConfig.js.map +1 -1
  345. package/dist/form/formMessageStyles.d.ts +5 -5
  346. package/dist/form/formMessageStyles.js +3 -3
  347. package/dist/form/formMessageStyles.js.map +1 -1
  348. package/dist/form/inputToggleStyles.d.ts +3 -3
  349. package/dist/form/inputToggleStyles.js +1 -1
  350. package/dist/form/inputToggleStyles.js.map +1 -1
  351. package/dist/form/menuItemInputToggleStyles.d.ts +8 -8
  352. package/dist/form/menuItemInputToggleStyles.js +4 -4
  353. package/dist/form/menuItemInputToggleStyles.js.map +1 -1
  354. package/dist/form/nativeSelectStyles.d.ts +4 -4
  355. package/dist/form/nativeSelectStyles.js +2 -2
  356. package/dist/form/nativeSelectStyles.js.map +1 -1
  357. package/dist/form/optionStyles.d.ts +2 -2
  358. package/dist/form/optionStyles.js +1 -1
  359. package/dist/form/optionStyles.js.map +1 -1
  360. package/dist/form/passwordStyles.d.ts +4 -4
  361. package/dist/form/passwordStyles.js +1 -1
  362. package/dist/form/passwordStyles.js.map +1 -1
  363. package/dist/form/selectStyles.d.ts +2 -2
  364. package/dist/form/selectStyles.js +1 -1
  365. package/dist/form/selectStyles.js.map +1 -1
  366. package/dist/form/selectUtils.d.ts +3 -3
  367. package/dist/form/selectUtils.js +2 -2
  368. package/dist/form/selectUtils.js.map +1 -1
  369. package/dist/form/sliderUtils.d.ts +9 -9
  370. package/dist/form/sliderUtils.js +4 -4
  371. package/dist/form/sliderUtils.js.map +1 -1
  372. package/dist/form/switchStyles.d.ts +2 -2
  373. package/dist/form/switchStyles.js +1 -1
  374. package/dist/form/switchStyles.js.map +1 -1
  375. package/dist/form/textAreaStyles.d.ts +4 -4
  376. package/dist/form/textAreaStyles.js +2 -2
  377. package/dist/form/textAreaStyles.js.map +1 -1
  378. package/dist/form/textFieldContainerStyles.d.ts +2 -2
  379. package/dist/form/textFieldContainerStyles.js +1 -1
  380. package/dist/form/textFieldContainerStyles.js.map +1 -1
  381. package/dist/form/textFieldStyles.d.ts +2 -2
  382. package/dist/form/textFieldStyles.js +1 -1
  383. package/dist/form/textFieldStyles.js.map +1 -1
  384. package/dist/form/types.d.ts +10 -10
  385. package/dist/form/types.js.map +1 -1
  386. package/dist/form/useCheckboxGroup.d.ts +15 -20
  387. package/dist/form/useCheckboxGroup.js.map +1 -1
  388. package/dist/form/useCombobox.d.ts +16 -16
  389. package/dist/form/useCombobox.js +2 -2
  390. package/dist/form/useCombobox.js.map +1 -1
  391. package/dist/form/useEditableCombobox.d.ts +3 -3
  392. package/dist/form/useEditableCombobox.js +1 -1
  393. package/dist/form/useEditableCombobox.js.map +1 -1
  394. package/dist/form/useFileUpload.d.ts +7 -8
  395. package/dist/form/useFileUpload.js +1 -1
  396. package/dist/form/useFileUpload.js.map +1 -1
  397. package/dist/form/useFormReset.d.ts +2 -2
  398. package/dist/form/useFormReset.js +1 -1
  399. package/dist/form/useFormReset.js.map +1 -1
  400. package/dist/form/useListboxProvider.d.ts +3 -3
  401. package/dist/form/useListboxProvider.js +2 -2
  402. package/dist/form/useListboxProvider.js.map +1 -1
  403. package/dist/form/useNumberField.d.ts +17 -25
  404. package/dist/form/useNumberField.js.map +1 -1
  405. package/dist/form/useRadioGroup.d.ts +12 -15
  406. package/dist/form/useRadioGroup.js +2 -3
  407. package/dist/form/useRadioGroup.js.map +1 -1
  408. package/dist/form/useRangeSlider.d.ts +8 -11
  409. package/dist/form/useRangeSlider.js +3 -5
  410. package/dist/form/useRangeSlider.js.map +1 -1
  411. package/dist/form/useSelectCombobox.d.ts +3 -3
  412. package/dist/form/useSelectCombobox.js +1 -1
  413. package/dist/form/useSelectCombobox.js.map +1 -1
  414. package/dist/form/useSlider.d.ts +7 -9
  415. package/dist/form/useSlider.js +3 -5
  416. package/dist/form/useSlider.js.map +1 -1
  417. package/dist/form/useTextField.d.ts +22 -31
  418. package/dist/form/useTextField.js.map +1 -1
  419. package/dist/form/utils.d.ts +7 -8
  420. package/dist/form/utils.js +5 -6
  421. package/dist/form/utils.js.map +1 -1
  422. package/dist/form/validation.d.ts +16 -16
  423. package/dist/form/validation.js +7 -7
  424. package/dist/form/validation.js.map +1 -1
  425. package/dist/hoverMode/useHoverMode.d.ts +9 -10
  426. package/dist/hoverMode/useHoverMode.js.map +1 -1
  427. package/dist/hoverMode/useHoverModeProvider.d.ts +11 -15
  428. package/dist/hoverMode/useHoverModeProvider.js +3 -4
  429. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  430. package/dist/icon/FontIcon.d.ts +1 -1
  431. package/dist/icon/FontIcon.js +1 -1
  432. package/dist/icon/FontIcon.js.map +1 -1
  433. package/dist/icon/IconRotator.d.ts +1 -1
  434. package/dist/icon/IconRotator.js.map +1 -1
  435. package/dist/icon/MaterialIcon.d.ts +2 -2
  436. package/dist/icon/MaterialIcon.js +1 -1
  437. package/dist/icon/MaterialIcon.js.map +1 -1
  438. package/dist/icon/MaterialSymbol.d.ts +3 -4
  439. package/dist/icon/MaterialSymbol.js +2 -3
  440. package/dist/icon/MaterialSymbol.js.map +1 -1
  441. package/dist/icon/SVGIcon.d.ts +0 -1
  442. package/dist/icon/SVGIcon.js.map +1 -1
  443. package/dist/icon/TextIconSpacing.d.ts +3 -5
  444. package/dist/icon/TextIconSpacing.js +2 -4
  445. package/dist/icon/TextIconSpacing.js.map +1 -1
  446. package/dist/icon/iconConfig.d.ts +14 -16
  447. package/dist/icon/iconConfig.js +5 -7
  448. package/dist/icon/iconConfig.js.map +1 -1
  449. package/dist/icon/material.d.ts +4 -4
  450. package/dist/icon/material.js +1 -1
  451. package/dist/icon/material.js.map +1 -1
  452. package/dist/icon/materialConfig.d.ts +12 -12
  453. package/dist/icon/materialConfig.js +2 -2
  454. package/dist/icon/materialConfig.js.map +1 -1
  455. package/dist/icon/styles.d.ts +8 -8
  456. package/dist/icon/styles.js +2 -2
  457. package/dist/icon/styles.js.map +1 -1
  458. package/dist/interaction/UserInteractionModeProvider.d.ts +1 -2
  459. package/dist/interaction/UserInteractionModeProvider.js +1 -2
  460. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  461. package/dist/interaction/config.d.ts +2 -2
  462. package/dist/interaction/config.js +1 -1
  463. package/dist/interaction/config.js.map +1 -1
  464. package/dist/interaction/types.d.ts +8 -8
  465. package/dist/interaction/types.js +1 -1
  466. package/dist/interaction/types.js.map +1 -1
  467. package/dist/interaction/useElementInteraction.d.ts +6 -7
  468. package/dist/interaction/useElementInteraction.js +3 -4
  469. package/dist/interaction/useElementInteraction.js.map +1 -1
  470. package/dist/interaction/useHigherContrastChildren.d.ts +2 -3
  471. package/dist/interaction/useHigherContrastChildren.js +2 -3
  472. package/dist/interaction/useHigherContrastChildren.js.map +1 -1
  473. package/dist/layout/LayoutAppBar.d.ts +4 -7
  474. package/dist/layout/LayoutAppBar.js +3 -6
  475. package/dist/layout/LayoutAppBar.js.map +1 -1
  476. package/dist/layout/LayoutNav.d.ts +4 -6
  477. package/dist/layout/LayoutNav.js +3 -5
  478. package/dist/layout/LayoutNav.js.map +1 -1
  479. package/dist/layout/LayoutWindowSplitter.d.ts +3 -4
  480. package/dist/layout/LayoutWindowSplitter.js +2 -3
  481. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  482. package/dist/layout/Main.d.ts +4 -5
  483. package/dist/layout/Main.js +2 -3
  484. package/dist/layout/Main.js.map +1 -1
  485. package/dist/layout/_layout.scss +12 -1
  486. package/dist/layout/layoutNavStyles.d.ts +2 -2
  487. package/dist/layout/layoutNavStyles.js +1 -1
  488. package/dist/layout/layoutNavStyles.js.map +1 -1
  489. package/dist/layout/layoutWindowSplitterStyles.d.ts +2 -2
  490. package/dist/layout/layoutWindowSplitterStyles.js +1 -1
  491. package/dist/layout/layoutWindowSplitterStyles.js.map +1 -1
  492. package/dist/layout/mainStyles.d.ts +2 -2
  493. package/dist/layout/mainStyles.js +1 -1
  494. package/dist/layout/mainStyles.js.map +1 -1
  495. package/dist/layout/useExpandableLayout.d.ts +66 -14
  496. package/dist/layout/useExpandableLayout.js +50 -5
  497. package/dist/layout/useExpandableLayout.js.map +1 -1
  498. package/dist/layout/useHorizontalLayoutTransition.d.ts +4 -4
  499. package/dist/layout/useHorizontalLayoutTransition.js +2 -2
  500. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  501. package/dist/layout/useLayoutAppBarHeight.d.ts +7 -9
  502. package/dist/layout/useLayoutAppBarHeight.js +7 -8
  503. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  504. package/dist/layout/useLayoutTree.d.ts +6 -6
  505. package/dist/layout/useLayoutTree.js +1 -1
  506. package/dist/layout/useLayoutTree.js.map +1 -1
  507. package/dist/layout/useLayoutWindowSplitter.d.ts +5 -6
  508. package/dist/layout/useLayoutWindowSplitter.js +2 -3
  509. package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
  510. package/dist/layout/useMainTabIndex.d.ts +1 -1
  511. package/dist/layout/useMainTabIndex.js +1 -1
  512. package/dist/layout/useMainTabIndex.js.map +1 -1
  513. package/dist/layout/useResizableLayout.d.ts +54 -8
  514. package/dist/layout/useResizableLayout.js +51 -5
  515. package/dist/layout/useResizableLayout.js.map +1 -1
  516. package/dist/layout/useTemporaryLayout.d.ts +12 -12
  517. package/dist/layout/useTemporaryLayout.js +1 -1
  518. package/dist/layout/useTemporaryLayout.js.map +1 -1
  519. package/dist/link/Link.d.ts +10 -13
  520. package/dist/link/Link.js +5 -7
  521. package/dist/link/Link.js.map +1 -1
  522. package/dist/link/SkipToMainContent.d.ts +2 -4
  523. package/dist/link/SkipToMainContent.js +1 -2
  524. package/dist/link/SkipToMainContent.js.map +1 -1
  525. package/dist/link/styles.d.ts +4 -4
  526. package/dist/link/styles.js +2 -2
  527. package/dist/link/styles.js.map +1 -1
  528. package/dist/list/List.d.ts +3 -4
  529. package/dist/list/List.js +2 -3
  530. package/dist/list/List.js.map +1 -1
  531. package/dist/list/ListItem.d.ts +4 -6
  532. package/dist/list/ListItem.js +2 -4
  533. package/dist/list/ListItem.js.map +1 -1
  534. package/dist/list/ListItemChildren.d.ts +1 -2
  535. package/dist/list/ListItemChildren.js +1 -2
  536. package/dist/list/ListItemChildren.js.map +1 -1
  537. package/dist/list/ListSubheader.d.ts +3 -3
  538. package/dist/list/ListSubheader.js +1 -1
  539. package/dist/list/ListSubheader.js.map +1 -1
  540. package/dist/list/getListItemHeight.d.ts +1 -1
  541. package/dist/list/getListItemHeight.js.map +1 -1
  542. package/dist/list/listItemStyles.d.ts +9 -9
  543. package/dist/list/listItemStyles.js +3 -3
  544. package/dist/list/listItemStyles.js.map +1 -1
  545. package/dist/list/types.d.ts +11 -11
  546. package/dist/list/types.js.map +1 -1
  547. package/dist/media-queries/AppSizeProvider.d.ts +1 -2
  548. package/dist/media-queries/AppSizeProvider.js +1 -2
  549. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  550. package/dist/media-queries/useMediaQuery.d.ts +2 -3
  551. package/dist/media-queries/useMediaQuery.js +2 -3
  552. package/dist/media-queries/useMediaQuery.js.map +1 -1
  553. package/dist/menu/DropdownMenu.d.ts +7 -11
  554. package/dist/menu/DropdownMenu.js +4 -7
  555. package/dist/menu/DropdownMenu.js.map +1 -1
  556. package/dist/menu/Menu.d.ts +10 -13
  557. package/dist/menu/Menu.js +2 -3
  558. package/dist/menu/Menu.js.map +1 -1
  559. package/dist/menu/MenuBar.d.ts +3 -4
  560. package/dist/menu/MenuBar.js +3 -4
  561. package/dist/menu/MenuBar.js.map +1 -1
  562. package/dist/menu/MenuButton.d.ts +8 -8
  563. package/dist/menu/MenuButton.js +2 -2
  564. package/dist/menu/MenuButton.js.map +1 -1
  565. package/dist/menu/MenuConfigurationProvider.d.ts +8 -8
  566. package/dist/menu/MenuConfigurationProvider.js +5 -5
  567. package/dist/menu/MenuConfigurationProvider.js.map +1 -1
  568. package/dist/menu/MenuItem.d.ts +2 -2
  569. package/dist/menu/MenuItem.js +1 -1
  570. package/dist/menu/MenuItem.js.map +1 -1
  571. package/dist/menu/MenuItemButton.d.ts +2 -2
  572. package/dist/menu/MenuItemButton.js +1 -1
  573. package/dist/menu/MenuItemButton.js.map +1 -1
  574. package/dist/menu/MenuItemCircularProgress.d.ts +3 -4
  575. package/dist/menu/MenuItemCircularProgress.js +2 -3
  576. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  577. package/dist/menu/MenuItemGroup.d.ts +3 -4
  578. package/dist/menu/MenuItemGroup.js +2 -3
  579. package/dist/menu/MenuItemGroup.js.map +1 -1
  580. package/dist/menu/MenuItemSeparator.d.ts +2 -2
  581. package/dist/menu/MenuItemSeparator.js +1 -1
  582. package/dist/menu/MenuItemSeparator.js.map +1 -1
  583. package/dist/menu/MenuSheet.d.ts +7 -9
  584. package/dist/menu/MenuSheet.js +2 -3
  585. package/dist/menu/MenuSheet.js.map +1 -1
  586. package/dist/menu/MenuVisibilityProvider.d.ts +6 -8
  587. package/dist/menu/MenuVisibilityProvider.js +5 -6
  588. package/dist/menu/MenuVisibilityProvider.js.map +1 -1
  589. package/dist/menu/MenuWidget.d.ts +2 -2
  590. package/dist/menu/MenuWidget.js +1 -1
  591. package/dist/menu/MenuWidget.js.map +1 -1
  592. package/dist/menu/MenuWidgetKeyboardProvider.d.ts +2 -2
  593. package/dist/menu/MenuWidgetKeyboardProvider.js +1 -1
  594. package/dist/menu/MenuWidgetKeyboardProvider.js.map +1 -1
  595. package/dist/menu/useContextMenu.d.ts +8 -12
  596. package/dist/menu/useContextMenu.js +3 -5
  597. package/dist/menu/useContextMenu.js.map +1 -1
  598. package/dist/menu/useMenuBarProvider.d.ts +6 -6
  599. package/dist/menu/useMenuBarProvider.js +3 -3
  600. package/dist/menu/useMenuBarProvider.js.map +1 -1
  601. package/dist/menu/utils.d.ts +2 -2
  602. package/dist/menu/utils.js +1 -1
  603. package/dist/menu/utils.js.map +1 -1
  604. package/dist/movement/constants.d.ts +3 -3
  605. package/dist/movement/constants.js +3 -3
  606. package/dist/movement/constants.js.map +1 -1
  607. package/dist/movement/types.d.ts +16 -17
  608. package/dist/movement/types.js +1 -1
  609. package/dist/movement/types.js.map +1 -1
  610. package/dist/movement/useKeyboardMovementProvider.d.ts +5 -8
  611. package/dist/movement/useKeyboardMovementProvider.js +6 -9
  612. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  613. package/dist/movement/utils.d.ts +13 -13
  614. package/dist/movement/utils.js +10 -10
  615. package/dist/movement/utils.js.map +1 -1
  616. package/dist/navigation/CollapsibleNavGroup.d.ts +29 -0
  617. package/dist/navigation/CollapsibleNavGroup.js +49 -0
  618. package/dist/navigation/CollapsibleNavGroup.js.map +1 -0
  619. package/dist/navigation/DefaultNavigationRenderer.d.ts +22 -0
  620. package/dist/navigation/DefaultNavigationRenderer.js +58 -0
  621. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -0
  622. package/dist/navigation/NavGroup.d.ts +18 -0
  623. package/dist/navigation/NavGroup.js +29 -0
  624. package/dist/navigation/NavGroup.js.map +1 -0
  625. package/dist/navigation/NavItem.d.ts +17 -0
  626. package/dist/navigation/NavItem.js +24 -0
  627. package/dist/navigation/NavItem.js.map +1 -0
  628. package/dist/navigation/NavItemButton.d.ts +26 -0
  629. package/dist/navigation/NavItemButton.js +65 -0
  630. package/dist/navigation/NavItemButton.js.map +1 -0
  631. package/dist/navigation/NavItemLink.d.ts +40 -0
  632. package/dist/navigation/NavItemLink.js +88 -0
  633. package/dist/navigation/NavItemLink.js.map +1 -0
  634. package/dist/navigation/NavSubheader.d.ts +16 -0
  635. package/dist/navigation/NavSubheader.js +26 -0
  636. package/dist/navigation/NavSubheader.js.map +1 -0
  637. package/dist/navigation/Navigation.d.ts +31 -0
  638. package/dist/navigation/Navigation.js +46 -0
  639. package/dist/navigation/Navigation.js.map +1 -0
  640. package/dist/navigation/_navigation.scss +99 -0
  641. package/dist/navigation/getHrefFromParents.d.ts +5 -0
  642. package/dist/navigation/getHrefFromParents.js +13 -0
  643. package/dist/navigation/getHrefFromParents.js.map +1 -0
  644. package/dist/navigation/navGroupStyles.d.ts +11 -0
  645. package/dist/navigation/navGroupStyles.js +13 -0
  646. package/dist/navigation/navGroupStyles.js.map +1 -0
  647. package/dist/navigation/navItemStyles.d.ts +33 -0
  648. package/dist/navigation/navItemStyles.js +31 -0
  649. package/dist/navigation/navItemStyles.js.map +1 -0
  650. package/dist/navigation/types.d.ts +137 -0
  651. package/dist/navigation/types.js +5 -0
  652. package/dist/navigation/types.js.map +1 -0
  653. package/dist/navigation/useActiveHeadingId.d.ts +54 -0
  654. package/dist/navigation/useActiveHeadingId.js +117 -0
  655. package/dist/navigation/useActiveHeadingId.js.map +1 -0
  656. package/dist/overlay/Overlay.d.ts +5 -6
  657. package/dist/overlay/Overlay.js +2 -3
  658. package/dist/overlay/Overlay.js.map +1 -1
  659. package/dist/overlay/overlayStyles.d.ts +4 -4
  660. package/dist/overlay/overlayStyles.js +3 -3
  661. package/dist/overlay/overlayStyles.js.map +1 -1
  662. package/dist/portal/Portal.d.ts +1 -2
  663. package/dist/portal/Portal.js +1 -2
  664. package/dist/portal/Portal.js.map +1 -1
  665. package/dist/portal/PortalContainerProvider.d.ts +4 -4
  666. package/dist/portal/PortalContainerProvider.js +2 -2
  667. package/dist/portal/PortalContainerProvider.js.map +1 -1
  668. package/dist/positioning/createVerticalPosition.d.ts +1 -1
  669. package/dist/positioning/createVerticalPosition.js.map +1 -1
  670. package/dist/positioning/getFixedPosition.js +1 -1
  671. package/dist/positioning/getFixedPosition.js.map +1 -1
  672. package/dist/positioning/types.d.ts +4 -4
  673. package/dist/positioning/types.js.map +1 -1
  674. package/dist/positioning/useFixedPositioning.d.ts +8 -9
  675. package/dist/positioning/useFixedPositioning.js +2 -3
  676. package/dist/positioning/useFixedPositioning.js.map +1 -1
  677. package/dist/positioning/utils.d.ts +3 -3
  678. package/dist/positioning/utils.js +1 -1
  679. package/dist/positioning/utils.js.map +1 -1
  680. package/dist/progress/CircularProgress.d.ts +7 -10
  681. package/dist/progress/CircularProgress.js +3 -5
  682. package/dist/progress/CircularProgress.js.map +1 -1
  683. package/dist/progress/LinearProgress.d.ts +4 -6
  684. package/dist/progress/LinearProgress.js +3 -5
  685. package/dist/progress/LinearProgress.js.map +1 -1
  686. package/dist/progress/types.d.ts +5 -5
  687. package/dist/progress/types.js +1 -1
  688. package/dist/progress/types.js.map +1 -1
  689. package/dist/responsive-item/ResponsiveItemContainer.d.ts +10 -15
  690. package/dist/responsive-item/ResponsiveItemContainer.js +5 -8
  691. package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -1
  692. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +6 -7
  693. package/dist/responsive-item/ResponsiveItemOverlay.js +3 -4
  694. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  695. package/dist/responsive-item/styles.d.ts +2 -2
  696. package/dist/responsive-item/styles.js +1 -1
  697. package/dist/responsive-item/styles.js.map +1 -1
  698. package/dist/scroll/ScrollLock.d.ts +1 -1
  699. package/dist/scroll/ScrollLock.js +1 -1
  700. package/dist/scroll/ScrollLock.js.map +1 -1
  701. package/dist/scroll/useScrollLock.d.ts +2 -3
  702. package/dist/scroll/useScrollLock.js +2 -3
  703. package/dist/scroll/useScrollLock.js.map +1 -1
  704. package/dist/searching/caseInsensitive.d.ts +9 -13
  705. package/dist/searching/caseInsensitive.js +1 -1
  706. package/dist/searching/caseInsensitive.js.map +1 -1
  707. package/dist/searching/fuzzy.d.ts +4 -5
  708. package/dist/searching/fuzzy.js +1 -1
  709. package/dist/searching/fuzzy.js.map +1 -1
  710. package/dist/searching/toSearchQuery.d.ts +1 -1
  711. package/dist/searching/toSearchQuery.js +1 -1
  712. package/dist/searching/toSearchQuery.js.map +1 -1
  713. package/dist/searching/types.d.ts +2 -2
  714. package/dist/searching/types.js +1 -1
  715. package/dist/searching/types.js.map +1 -1
  716. package/dist/searching/useFuzzyMatch.d.ts +3 -3
  717. package/dist/searching/useFuzzyMatch.js +1 -1
  718. package/dist/searching/useFuzzyMatch.js.map +1 -1
  719. package/dist/searching/utils.d.ts +3 -3
  720. package/dist/searching/utils.js +2 -2
  721. package/dist/searching/utils.js.map +1 -1
  722. package/dist/segmented-button/SegmentedButton.d.ts +3 -4
  723. package/dist/segmented-button/SegmentedButton.js +2 -3
  724. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  725. package/dist/segmented-button/SegmentedButtonContainer.d.ts +3 -4
  726. package/dist/segmented-button/SegmentedButtonContainer.js +2 -3
  727. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  728. package/dist/segmented-button/segmentedButtonContainerStyles.d.ts +2 -2
  729. package/dist/segmented-button/segmentedButtonContainerStyles.js +1 -1
  730. package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
  731. package/dist/segmented-button/segmentedButtonStyles.d.ts +2 -2
  732. package/dist/segmented-button/segmentedButtonStyles.js +1 -1
  733. package/dist/segmented-button/segmentedButtonStyles.js.map +1 -1
  734. package/dist/sheet/Sheet.d.ts +1 -1
  735. package/dist/sheet/Sheet.js.map +1 -1
  736. package/dist/sheet/styles.d.ts +3 -3
  737. package/dist/sheet/styles.js +1 -1
  738. package/dist/sheet/styles.js.map +1 -1
  739. package/dist/snackbar/DefaultToastRenderer.d.ts +2 -2
  740. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  741. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  742. package/dist/snackbar/Snackbar.d.ts +3 -4
  743. package/dist/snackbar/Snackbar.js +2 -3
  744. package/dist/snackbar/Snackbar.js.map +1 -1
  745. package/dist/snackbar/Toast.d.ts +3 -3
  746. package/dist/snackbar/Toast.js +1 -1
  747. package/dist/snackbar/Toast.js.map +1 -1
  748. package/dist/snackbar/ToastActionButton.d.ts +2 -2
  749. package/dist/snackbar/ToastActionButton.js +1 -1
  750. package/dist/snackbar/ToastActionButton.js.map +1 -1
  751. package/dist/snackbar/ToastCloseButton.d.ts +2 -2
  752. package/dist/snackbar/ToastCloseButton.js +1 -1
  753. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  754. package/dist/snackbar/ToastContent.d.ts +2 -2
  755. package/dist/snackbar/ToastContent.js +1 -1
  756. package/dist/snackbar/ToastContent.js.map +1 -1
  757. package/dist/snackbar/ToastManager.d.ts +17 -18
  758. package/dist/snackbar/ToastManager.js +21 -19
  759. package/dist/snackbar/ToastManager.js.map +1 -1
  760. package/dist/snackbar/ToastManagerProvider.d.ts +6 -6
  761. package/dist/snackbar/ToastManagerProvider.js +5 -5
  762. package/dist/snackbar/ToastManagerProvider.js.map +1 -1
  763. package/dist/snackbar/snackbarStyles.d.ts +4 -5
  764. package/dist/snackbar/snackbarStyles.js +1 -1
  765. package/dist/snackbar/snackbarStyles.js.map +1 -1
  766. package/dist/snackbar/toastContentStyles.d.ts +2 -2
  767. package/dist/snackbar/toastContentStyles.js +1 -1
  768. package/dist/snackbar/toastContentStyles.js.map +1 -1
  769. package/dist/snackbar/toastStyles.d.ts +2 -2
  770. package/dist/snackbar/toastStyles.js +1 -1
  771. package/dist/snackbar/toastStyles.js.map +1 -1
  772. package/dist/snackbar/useCurrentToastActions.d.ts +3 -3
  773. package/dist/snackbar/useCurrentToastActions.js +2 -2
  774. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  775. package/dist/suspense/CircularProgressSuspense.d.ts +3 -4
  776. package/dist/suspense/CircularProgressSuspense.js +2 -3
  777. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  778. package/dist/suspense/NullSuspense.d.ts +3 -4
  779. package/dist/suspense/NullSuspense.js +2 -3
  780. package/dist/suspense/NullSuspense.js.map +1 -1
  781. package/dist/table/Table.d.ts +1 -2
  782. package/dist/table/Table.js +1 -2
  783. package/dist/table/Table.js.map +1 -1
  784. package/dist/table/TableCell.d.ts +7 -7
  785. package/dist/table/TableCell.js.map +1 -1
  786. package/dist/table/TableCellContent.d.ts +3 -3
  787. package/dist/table/TableCellContent.js.map +1 -1
  788. package/dist/table/TableCheckbox.d.ts +11 -15
  789. package/dist/table/TableCheckbox.js +4 -6
  790. package/dist/table/TableCheckbox.js.map +1 -1
  791. package/dist/table/TableContainerProvider.d.ts +3 -3
  792. package/dist/table/TableContainerProvider.js +2 -2
  793. package/dist/table/TableContainerProvider.js.map +1 -1
  794. package/dist/table/TableFooter.d.ts +2 -2
  795. package/dist/table/TableFooter.js +1 -1
  796. package/dist/table/TableFooter.js.map +1 -1
  797. package/dist/table/TableHeader.d.ts +2 -2
  798. package/dist/table/TableHeader.js +1 -1
  799. package/dist/table/TableHeader.js.map +1 -1
  800. package/dist/table/TableRadio.d.ts +7 -9
  801. package/dist/table/TableRadio.js +2 -3
  802. package/dist/table/TableRadio.js.map +1 -1
  803. package/dist/table/tableCellStyles.d.ts +2 -2
  804. package/dist/table/tableCellStyles.js +1 -1
  805. package/dist/table/tableCellStyles.js.map +1 -1
  806. package/dist/table/tableContainerStyles.d.ts +2 -2
  807. package/dist/table/tableContainerStyles.js +1 -1
  808. package/dist/table/tableContainerStyles.js.map +1 -1
  809. package/dist/table/tableFooterStyles.d.ts +1 -1
  810. package/dist/table/tableFooterStyles.js.map +1 -1
  811. package/dist/table/tableHeaderStyles.d.ts +2 -2
  812. package/dist/table/tableHeaderStyles.js +1 -1
  813. package/dist/table/tableHeaderStyles.js.map +1 -1
  814. package/dist/table/tableRowStyles.d.ts +2 -2
  815. package/dist/table/tableRowStyles.js +1 -1
  816. package/dist/table/tableRowStyles.js.map +1 -1
  817. package/dist/table/tableStyles.d.ts +2 -2
  818. package/dist/table/tableStyles.js +1 -1
  819. package/dist/table/tableStyles.js.map +1 -1
  820. package/dist/table/types.d.ts +7 -9
  821. package/dist/table/types.js +1 -1
  822. package/dist/table/types.js.map +1 -1
  823. package/dist/tabs/Tab.d.ts +4 -4
  824. package/dist/tabs/Tab.js +1 -1
  825. package/dist/tabs/Tab.js.map +1 -1
  826. package/dist/tabs/TabList.d.ts +2 -2
  827. package/dist/tabs/TabList.js +1 -1
  828. package/dist/tabs/TabList.js.map +1 -1
  829. package/dist/tabs/TabListScrollButton.d.ts +3 -3
  830. package/dist/tabs/TabListScrollButton.js +1 -1
  831. package/dist/tabs/TabListScrollButton.js.map +1 -1
  832. package/dist/tabs/tabIndicatorStyles.d.ts +2 -2
  833. package/dist/tabs/tabIndicatorStyles.js +1 -1
  834. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  835. package/dist/tabs/tabListScrollButtonStyles.d.ts +4 -4
  836. package/dist/tabs/tabListScrollButtonStyles.js +2 -2
  837. package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
  838. package/dist/tabs/tabListStyles.d.ts +2 -2
  839. package/dist/tabs/tabListStyles.js +1 -1
  840. package/dist/tabs/tabListStyles.js.map +1 -1
  841. package/dist/tabs/tabStyles.d.ts +2 -2
  842. package/dist/tabs/tabStyles.js +1 -1
  843. package/dist/tabs/tabStyles.js.map +1 -1
  844. package/dist/tabs/useTabs.d.ts +15 -20
  845. package/dist/tabs/useTabs.js +1 -1
  846. package/dist/tabs/useTabs.js.map +1 -1
  847. package/dist/tabs/utils.d.ts +3 -3
  848. package/dist/tabs/utils.js +1 -1
  849. package/dist/tabs/utils.js.map +1 -1
  850. package/dist/test-utils/ResizeObserver.d.ts +9 -11
  851. package/dist/test-utils/ResizeObserver.js +6 -8
  852. package/dist/test-utils/ResizeObserver.js.map +1 -1
  853. package/dist/test-utils/matchMedia.d.ts +13 -17
  854. package/dist/test-utils/matchMedia.js +9 -11
  855. package/dist/test-utils/matchMedia.js.map +1 -1
  856. package/dist/test-utils/render.d.ts +2 -2
  857. package/dist/test-utils/render.js +1 -1
  858. package/dist/test-utils/render.js.map +1 -1
  859. package/dist/test-utils/timers.d.ts +2 -3
  860. package/dist/test-utils/timers.js +2 -3
  861. package/dist/test-utils/timers.js.map +1 -1
  862. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +2 -2
  863. package/dist/theme/LocalStorageColorSchemeProvider.js +1 -1
  864. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  865. package/dist/theme/ThemeProvider.d.ts +17 -20
  866. package/dist/theme/ThemeProvider.js +7 -8
  867. package/dist/theme/ThemeProvider.js.map +1 -1
  868. package/dist/theme/types.d.ts +3 -3
  869. package/dist/theme/types.js +1 -1
  870. package/dist/theme/types.js.map +1 -1
  871. package/dist/theme/useCSSVariables.d.ts +7 -9
  872. package/dist/theme/useCSSVariables.js +1 -1
  873. package/dist/theme/useCSSVariables.js.map +1 -1
  874. package/dist/theme/useColorScheme.d.ts +6 -7
  875. package/dist/theme/useColorScheme.js +2 -3
  876. package/dist/theme/useColorScheme.js.map +1 -1
  877. package/dist/theme/useColorSchemeMetaTag.d.ts +2 -2
  878. package/dist/theme/useColorSchemeMetaTag.js +1 -1
  879. package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
  880. package/dist/theme/useColorSchemeProvider.d.ts +2 -2
  881. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  882. package/dist/theme/usePrefersColorScheme.d.ts +1 -1
  883. package/dist/theme/usePrefersColorScheme.js +1 -1
  884. package/dist/theme/usePrefersColorScheme.js.map +1 -1
  885. package/dist/theme/utils.d.ts +1 -1
  886. package/dist/theme/utils.js +1 -1
  887. package/dist/theme/utils.js.map +1 -1
  888. package/dist/tooltip/Tooltip.d.ts +3 -5
  889. package/dist/tooltip/Tooltip.js +1 -2
  890. package/dist/tooltip/Tooltip.js.map +1 -1
  891. package/dist/tooltip/TooltipHoverModeProvider.d.ts +5 -6
  892. package/dist/tooltip/TooltipHoverModeProvider.js +3 -4
  893. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  894. package/dist/tooltip/constants.d.ts +9 -9
  895. package/dist/tooltip/constants.js +9 -9
  896. package/dist/tooltip/constants.js.map +1 -1
  897. package/dist/tooltip/tooltipStyles.d.ts +2 -2
  898. package/dist/tooltip/tooltipStyles.js +1 -1
  899. package/dist/tooltip/tooltipStyles.js.map +1 -1
  900. package/dist/tooltip/useTooltip.d.ts +18 -26
  901. package/dist/tooltip/useTooltip.js +4 -7
  902. package/dist/tooltip/useTooltip.js.map +1 -1
  903. package/dist/tooltip/useTooltipPosition.d.ts +4 -4
  904. package/dist/tooltip/useTooltipPosition.js +1 -1
  905. package/dist/tooltip/useTooltipPosition.js.map +1 -1
  906. package/dist/transition/CSSTransition.d.ts +3 -4
  907. package/dist/transition/CSSTransition.js +2 -3
  908. package/dist/transition/CSSTransition.js.map +1 -1
  909. package/dist/transition/Collapse.d.ts +5 -8
  910. package/dist/transition/Collapse.js +3 -5
  911. package/dist/transition/Collapse.js.map +1 -1
  912. package/dist/transition/CrossFade.d.ts +5 -8
  913. package/dist/transition/CrossFade.js +3 -5
  914. package/dist/transition/CrossFade.js.map +1 -1
  915. package/dist/transition/ScaleTransition.d.ts +7 -10
  916. package/dist/transition/ScaleTransition.js +4 -6
  917. package/dist/transition/ScaleTransition.js.map +1 -1
  918. package/dist/transition/SkeletonPlaceholder.d.ts +4 -6
  919. package/dist/transition/SkeletonPlaceholder.js +3 -5
  920. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  921. package/dist/transition/Slide.d.ts +2 -2
  922. package/dist/transition/Slide.js +1 -1
  923. package/dist/transition/Slide.js.map +1 -1
  924. package/dist/transition/SlideContainer.d.ts +9 -13
  925. package/dist/transition/SlideContainer.js +4 -6
  926. package/dist/transition/SlideContainer.js.map +1 -1
  927. package/dist/transition/collapseStyles.d.ts +2 -2
  928. package/dist/transition/collapseStyles.js +1 -1
  929. package/dist/transition/collapseStyles.js.map +1 -1
  930. package/dist/transition/config.d.ts +2 -2
  931. package/dist/transition/config.js +2 -2
  932. package/dist/transition/config.js.map +1 -1
  933. package/dist/transition/skeletonPlaceholderUtils.d.ts +3 -3
  934. package/dist/transition/skeletonPlaceholderUtils.js +2 -2
  935. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  936. package/dist/transition/types.d.ts +34 -37
  937. package/dist/transition/types.js +1 -1
  938. package/dist/transition/types.js.map +1 -1
  939. package/dist/transition/useCSSTransition.d.ts +4 -7
  940. package/dist/transition/useCSSTransition.js +4 -7
  941. package/dist/transition/useCSSTransition.js.map +1 -1
  942. package/dist/transition/useCarousel.d.ts +6 -7
  943. package/dist/transition/useCarousel.js +2 -3
  944. package/dist/transition/useCarousel.js.map +1 -1
  945. package/dist/transition/useCollapseTransition.d.ts +10 -13
  946. package/dist/transition/useCollapseTransition.js +4 -6
  947. package/dist/transition/useCollapseTransition.js.map +1 -1
  948. package/dist/transition/useCrossFadeTransition.d.ts +5 -6
  949. package/dist/transition/useCrossFadeTransition.js +4 -5
  950. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  951. package/dist/transition/useMaxWidthTransition.d.ts +2 -2
  952. package/dist/transition/useMaxWidthTransition.js +1 -1
  953. package/dist/transition/useMaxWidthTransition.js.map +1 -1
  954. package/dist/transition/useScaleTransition.d.ts +8 -11
  955. package/dist/transition/useScaleTransition.js +7 -10
  956. package/dist/transition/useScaleTransition.js.map +1 -1
  957. package/dist/transition/useSkeletonPlaceholder.d.ts +6 -10
  958. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  959. package/dist/transition/useSlideTransition.d.ts +5 -6
  960. package/dist/transition/useSlideTransition.js +4 -5
  961. package/dist/transition/useSlideTransition.js.map +1 -1
  962. package/dist/transition/useTransition.d.ts +1 -1
  963. package/dist/transition/useTransition.js +1 -1
  964. package/dist/transition/useTransition.js.map +1 -1
  965. package/dist/transition/utils.d.ts +6 -6
  966. package/dist/transition/utils.js +3 -3
  967. package/dist/transition/utils.js.map +1 -1
  968. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -1
  969. package/dist/tree/DefaultTreeItemRenderer.js +1 -1
  970. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  971. package/dist/tree/Tree.d.ts +7 -11
  972. package/dist/tree/Tree.js +4 -6
  973. package/dist/tree/Tree.js.map +1 -1
  974. package/dist/tree/TreeGroup.d.ts +3 -3
  975. package/dist/tree/TreeGroup.js +1 -1
  976. package/dist/tree/TreeGroup.js.map +1 -1
  977. package/dist/tree/TreeItem.d.ts +3 -4
  978. package/dist/tree/TreeItem.js +2 -3
  979. package/dist/tree/TreeItem.js.map +1 -1
  980. package/dist/tree/TreeItemExpander.d.ts +2 -2
  981. package/dist/tree/TreeItemExpander.js +1 -1
  982. package/dist/tree/TreeItemExpander.js.map +1 -1
  983. package/dist/tree/TreeProvider.d.ts +6 -6
  984. package/dist/tree/TreeProvider.js +2 -2
  985. package/dist/tree/TreeProvider.js.map +1 -1
  986. package/dist/tree/styles.d.ts +10 -10
  987. package/dist/tree/styles.js +5 -5
  988. package/dist/tree/styles.js.map +1 -1
  989. package/dist/tree/types.d.ts +6 -7
  990. package/dist/tree/types.js.map +1 -1
  991. package/dist/tree/useTree.d.ts +4 -5
  992. package/dist/tree/useTree.js +2 -3
  993. package/dist/tree/useTree.js.map +1 -1
  994. package/dist/tree/useTreeExpansion.d.ts +2 -2
  995. package/dist/tree/useTreeExpansion.js +1 -1
  996. package/dist/tree/useTreeExpansion.js.map +1 -1
  997. package/dist/tree/useTreeItems.d.ts +7 -7
  998. package/dist/tree/useTreeItems.js +2 -2
  999. package/dist/tree/useTreeItems.js.map +1 -1
  1000. package/dist/tree/useTreeMovement.d.ts +3 -3
  1001. package/dist/tree/useTreeMovement.js +3 -3
  1002. package/dist/tree/useTreeMovement.js.map +1 -1
  1003. package/dist/tree/useTreeSelection.d.ts +2 -2
  1004. package/dist/tree/useTreeSelection.js +1 -1
  1005. package/dist/tree/useTreeSelection.js.map +1 -1
  1006. package/dist/tree/utils.d.ts +2 -2
  1007. package/dist/tree/utils.js +2 -2
  1008. package/dist/tree/utils.js.map +1 -1
  1009. package/dist/types.d.ts +14 -16
  1010. package/dist/types.js +1 -1
  1011. package/dist/types.js.map +1 -1
  1012. package/dist/typography/SrOnly.d.ts +1 -2
  1013. package/dist/typography/SrOnly.js +1 -2
  1014. package/dist/typography/SrOnly.js.map +1 -1
  1015. package/dist/typography/TextContainer.d.ts +3 -4
  1016. package/dist/typography/TextContainer.js +2 -3
  1017. package/dist/typography/TextContainer.js.map +1 -1
  1018. package/dist/typography/Typography.d.ts +3 -4
  1019. package/dist/typography/Typography.js +1 -2
  1020. package/dist/typography/Typography.js.map +1 -1
  1021. package/dist/typography/WritingDirectionProvider.d.ts +10 -13
  1022. package/dist/typography/WritingDirectionProvider.js +6 -9
  1023. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  1024. package/dist/typography/textContainerStyles.d.ts +3 -4
  1025. package/dist/typography/textContainerStyles.js +2 -3
  1026. package/dist/typography/textContainerStyles.js.map +1 -1
  1027. package/dist/typography/typographyStyles.d.ts +6 -8
  1028. package/dist/typography/typographyStyles.js +3 -5
  1029. package/dist/typography/typographyStyles.js.map +1 -1
  1030. package/dist/useAsyncAction.d.ts +7 -9
  1031. package/dist/useAsyncAction.js +3 -5
  1032. package/dist/useAsyncAction.js.map +1 -1
  1033. package/dist/useDebouncedFunction.d.ts +3 -4
  1034. package/dist/useDebouncedFunction.js +2 -3
  1035. package/dist/useDebouncedFunction.js.map +1 -1
  1036. package/dist/useDropzone.d.ts +9 -14
  1037. package/dist/useDropzone.js +4 -7
  1038. package/dist/useDropzone.js.map +1 -1
  1039. package/dist/useElementSize.d.ts +26 -5
  1040. package/dist/useElementSize.js +7 -5
  1041. package/dist/useElementSize.js.map +1 -1
  1042. package/dist/useEnsuredId.d.ts +2 -3
  1043. package/dist/useEnsuredId.js +2 -3
  1044. package/dist/useEnsuredId.js.map +1 -1
  1045. package/dist/useEnsuredRef.d.ts +3 -4
  1046. package/dist/useEnsuredRef.js +2 -3
  1047. package/dist/useEnsuredRef.js.map +1 -1
  1048. package/dist/useEnsuredState.d.ts +2 -2
  1049. package/dist/useEnsuredState.js +1 -1
  1050. package/dist/useEnsuredState.js.map +1 -1
  1051. package/dist/useHtmlClassName.d.ts +1 -1
  1052. package/dist/useHtmlClassName.js +1 -1
  1053. package/dist/useHtmlClassName.js.map +1 -1
  1054. package/dist/useIntersectionObserver.d.ts +13 -20
  1055. package/dist/useIntersectionObserver.js +2 -3
  1056. package/dist/useIntersectionObserver.js.map +1 -1
  1057. package/dist/useLocalStorage.d.ts +17 -22
  1058. package/dist/useLocalStorage.js +9 -13
  1059. package/dist/useLocalStorage.js.map +1 -1
  1060. package/dist/usePageInactive.d.ts +3 -3
  1061. package/dist/usePageInactive.js +1 -1
  1062. package/dist/usePageInactive.js.map +1 -1
  1063. package/dist/useResizeListener.d.ts +3 -4
  1064. package/dist/useResizeListener.js +2 -3
  1065. package/dist/useResizeListener.js.map +1 -1
  1066. package/dist/useResizeObserver.d.ts +8 -10
  1067. package/dist/useResizeObserver.js +4 -5
  1068. package/dist/useResizeObserver.js.map +1 -1
  1069. package/dist/useThrottledFunction.d.ts +3 -4
  1070. package/dist/useThrottledFunction.js +2 -3
  1071. package/dist/useThrottledFunction.js.map +1 -1
  1072. package/dist/useToggle.d.ts +2 -3
  1073. package/dist/useToggle.js +1 -2
  1074. package/dist/useToggle.js.map +1 -1
  1075. package/dist/useUnmounted.d.ts +2 -3
  1076. package/dist/useUnmounted.js +2 -3
  1077. package/dist/useUnmounted.js.map +1 -1
  1078. package/dist/useWindowSize.d.ts +3 -4
  1079. package/dist/useWindowSize.js +2 -3
  1080. package/dist/useWindowSize.js.map +1 -1
  1081. package/dist/utils/RenderRecursively.d.ts +26 -7
  1082. package/dist/utils/RenderRecursively.js +19 -3
  1083. package/dist/utils/RenderRecursively.js.map +1 -1
  1084. package/dist/utils/alphaNumericSort.d.ts +6 -11
  1085. package/dist/utils/alphaNumericSort.js +1 -1
  1086. package/dist/utils/alphaNumericSort.js.map +1 -1
  1087. package/dist/utils/applyRef.d.ts +1 -2
  1088. package/dist/utils/applyRef.js +1 -2
  1089. package/dist/utils/applyRef.js.map +1 -1
  1090. package/dist/utils/bem.d.ts +2 -3
  1091. package/dist/utils/bem.js +2 -3
  1092. package/dist/utils/bem.js.map +1 -1
  1093. package/dist/utils/getClientPosition.d.ts +4 -4
  1094. package/dist/utils/getClientPosition.js +2 -2
  1095. package/dist/utils/getClientPosition.js.map +1 -1
  1096. package/dist/utils/getMiddleOfRange.d.ts +2 -2
  1097. package/dist/utils/getMiddleOfRange.js +1 -1
  1098. package/dist/utils/getMiddleOfRange.js.map +1 -1
  1099. package/dist/utils/getPercentage.d.ts +3 -4
  1100. package/dist/utils/getPercentage.js +3 -4
  1101. package/dist/utils/getPercentage.js.map +1 -1
  1102. package/dist/utils/getRangeDefaultValue.d.ts +2 -2
  1103. package/dist/utils/getRangeDefaultValue.js +1 -1
  1104. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  1105. package/dist/utils/getRangeSteps.d.ts +3 -4
  1106. package/dist/utils/getRangeSteps.js +3 -4
  1107. package/dist/utils/getRangeSteps.js.map +1 -1
  1108. package/dist/utils/identity.d.ts +1 -1
  1109. package/dist/utils/identity.js +1 -1
  1110. package/dist/utils/identity.js.map +1 -1
  1111. package/dist/utils/isElementVisible.d.ts +3 -4
  1112. package/dist/utils/isElementVisible.js +3 -4
  1113. package/dist/utils/isElementVisible.js.map +1 -1
  1114. package/dist/utils/loop.d.ts +2 -2
  1115. package/dist/utils/loop.js +2 -2
  1116. package/dist/utils/loop.js.map +1 -1
  1117. package/dist/utils/nearest.d.ts +3 -4
  1118. package/dist/utils/nearest.js +3 -4
  1119. package/dist/utils/nearest.js.map +1 -1
  1120. package/dist/utils/parseCssLengthUnit.d.ts +2 -4
  1121. package/dist/utils/parseCssLengthUnit.js +2 -4
  1122. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  1123. package/dist/utils/randomInt.d.ts +2 -2
  1124. package/dist/utils/randomInt.js +2 -2
  1125. package/dist/utils/randomInt.js.map +1 -1
  1126. package/dist/utils/wait.d.ts +2 -3
  1127. package/dist/utils/wait.js +2 -3
  1128. package/dist/utils/wait.js.map +1 -1
  1129. package/dist/utils/withinRange.d.ts +3 -4
  1130. package/dist/utils/withinRange.js +3 -4
  1131. package/dist/utils/withinRange.js.map +1 -1
  1132. package/dist/window-splitter/WindowSplitter.d.ts +5 -5
  1133. package/dist/window-splitter/WindowSplitter.js +2 -2
  1134. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  1135. package/dist/window-splitter/useWindowSplitter.d.ts +6 -7
  1136. package/dist/window-splitter/useWindowSplitter.js +2 -3
  1137. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  1138. package/package.json +19 -13
  1139. package/src/CoreProviders.tsx +3 -3
  1140. package/src/NoSsr.tsx +3 -4
  1141. package/src/RootHtml.tsx +3 -4
  1142. package/src/SsrProvider.tsx +3 -3
  1143. package/src/_core.scss +5 -0
  1144. package/src/app-bar/AppBar.tsx +11 -14
  1145. package/src/app-bar/AppBarTitle.tsx +7 -9
  1146. package/src/avatar/Avatar.tsx +5 -6
  1147. package/src/avatar/__tests__/Avatar.tsx +1 -1
  1148. package/src/avatar/styles.ts +4 -4
  1149. package/src/badge/Badge.tsx +4 -6
  1150. package/src/box/Box.tsx +16 -9
  1151. package/src/box/__tests__/Box.tsx +158 -0
  1152. package/src/box/__tests__/__snapshots__/Box.tsx.snap +544 -0
  1153. package/src/box/_box.scss +1 -1
  1154. package/src/box/styles.ts +9 -9
  1155. package/src/button/AsyncButton.tsx +5 -7
  1156. package/src/button/Button.tsx +4 -8
  1157. package/src/button/ButtonUnstyled.tsx +2 -2
  1158. package/src/button/FloatingActionButton.tsx +5 -5
  1159. package/src/button/TooltippedButton.tsx +9 -13
  1160. package/src/button/buttonStyles.ts +3 -3
  1161. package/src/button/buttonUnstyledStyles.ts +2 -2
  1162. package/src/card/Card.tsx +3 -4
  1163. package/src/card/CardContent.tsx +2 -4
  1164. package/src/card/CardFooter.tsx +2 -2
  1165. package/src/card/CardHeader.tsx +10 -12
  1166. package/src/card/CardSubtitle.tsx +2 -2
  1167. package/src/card/CardTitle.tsx +2 -2
  1168. package/src/card/ClickableCard.tsx +3 -4
  1169. package/src/card/styles.ts +15 -15
  1170. package/src/chip/Chip.tsx +10 -14
  1171. package/src/chip/styles.ts +4 -4
  1172. package/src/cssUtils.ts +10 -10
  1173. package/src/dialog/Dialog.tsx +5 -6
  1174. package/src/dialog/DialogContainer.tsx +2 -2
  1175. package/src/dialog/DialogTitle.tsx +1 -1
  1176. package/src/dialog/FixedDialog.tsx +1 -2
  1177. package/src/dialog/styles.ts +9 -9
  1178. package/src/divider/Divider.tsx +2 -3
  1179. package/src/divider/styles.ts +2 -2
  1180. package/src/draggable/useDraggable.ts +18 -19
  1181. package/src/draggable/utils.ts +2 -2
  1182. package/src/expansion-panel/ExpansionList.tsx +2 -2
  1183. package/src/expansion-panel/ExpansionPanel.tsx +8 -9
  1184. package/src/expansion-panel/ExpansionPanelHeader.tsx +3 -4
  1185. package/src/expansion-panel/useExpansionList.ts +6 -7
  1186. package/src/expansion-panel/useExpansionPanels.ts +9 -14
  1187. package/src/focus/useFocusContainer.ts +9 -10
  1188. package/src/focus/utils.ts +4 -5
  1189. package/src/form/Checkbox.tsx +1 -2
  1190. package/src/form/Fieldset.tsx +5 -6
  1191. package/src/form/FileInput.tsx +6 -7
  1192. package/src/form/FormMessageContainer.tsx +2 -2
  1193. package/src/form/FormMessageCounter.tsx +4 -6
  1194. package/src/form/InputToggle.tsx +11 -12
  1195. package/src/form/InputToggleIcon.tsx +4 -6
  1196. package/src/form/Label.tsx +2 -2
  1197. package/src/form/Legend.tsx +2 -2
  1198. package/src/form/MenuItemCheckbox.tsx +2 -3
  1199. package/src/form/MenuItemFileInput.tsx +3 -5
  1200. package/src/form/MenuItemInputToggle.tsx +7 -9
  1201. package/src/form/MenuItemRadio.tsx +3 -5
  1202. package/src/form/MenuItemSwitch.tsx +2 -3
  1203. package/src/form/MenuItemTextField.tsx +2 -2
  1204. package/src/form/NativeSelect.tsx +3 -5
  1205. package/src/form/OptGroup.tsx +3 -4
  1206. package/src/form/Option.tsx +5 -7
  1207. package/src/form/Password.tsx +7 -13
  1208. package/src/form/Radio.tsx +1 -2
  1209. package/src/form/ResizingTextAreaWrapper.tsx +2 -2
  1210. package/src/form/Select.tsx +6 -9
  1211. package/src/form/SelectedOption.tsx +2 -2
  1212. package/src/form/Slider.tsx +16 -25
  1213. package/src/form/SliderContainer.tsx +6 -9
  1214. package/src/form/SliderMark.tsx +2 -2
  1215. package/src/form/SliderMarkLabel.tsx +3 -3
  1216. package/src/form/SliderThumb.tsx +8 -10
  1217. package/src/form/SliderTrack.tsx +4 -6
  1218. package/src/form/SliderValueMarks.tsx +7 -9
  1219. package/src/form/SliderValueTooltip.tsx +4 -6
  1220. package/src/form/Switch.tsx +3 -4
  1221. package/src/form/TextArea.tsx +2 -3
  1222. package/src/form/TextField.tsx +7 -10
  1223. package/src/form/TextFieldAddon.tsx +3 -3
  1224. package/src/form/fileUtils.ts +33 -36
  1225. package/src/form/formConfig.ts +2 -2
  1226. package/src/form/formMessageStyles.ts +5 -5
  1227. package/src/form/inputToggleStyles.ts +3 -3
  1228. package/src/form/menuItemInputToggleStyles.ts +8 -8
  1229. package/src/form/nativeSelectStyles.ts +4 -4
  1230. package/src/form/optionStyles.ts +2 -2
  1231. package/src/form/passwordStyles.ts +4 -4
  1232. package/src/form/selectStyles.ts +2 -2
  1233. package/src/form/selectUtils.ts +4 -4
  1234. package/src/form/sliderUtils.ts +9 -9
  1235. package/src/form/switchStyles.ts +2 -2
  1236. package/src/form/textAreaStyles.ts +4 -4
  1237. package/src/form/textFieldContainerStyles.ts +2 -2
  1238. package/src/form/textFieldStyles.ts +2 -2
  1239. package/src/form/types.ts +10 -10
  1240. package/src/form/useCheckboxGroup.ts +15 -20
  1241. package/src/form/useCombobox.ts +18 -16
  1242. package/src/form/useEditableCombobox.ts +3 -3
  1243. package/src/form/useFileUpload.ts +7 -8
  1244. package/src/form/useFormReset.ts +2 -2
  1245. package/src/form/useListboxProvider.ts +3 -3
  1246. package/src/form/useNumberField.ts +17 -25
  1247. package/src/form/useRadioGroup.ts +14 -18
  1248. package/src/form/useRangeSlider.ts +8 -11
  1249. package/src/form/useSelectCombobox.ts +3 -3
  1250. package/src/form/useSlider.ts +7 -9
  1251. package/src/form/useTextField.ts +22 -31
  1252. package/src/form/utils.ts +7 -8
  1253. package/src/form/validation.ts +18 -18
  1254. package/src/hoverMode/useHoverMode.ts +9 -10
  1255. package/src/hoverMode/useHoverModeProvider.ts +11 -15
  1256. package/src/icon/FontIcon.tsx +1 -1
  1257. package/src/icon/IconRotator.tsx +1 -1
  1258. package/src/icon/MaterialIcon.tsx +2 -2
  1259. package/src/icon/MaterialSymbol.tsx +3 -4
  1260. package/src/icon/SVGIcon.tsx +0 -1
  1261. package/src/icon/TextIconSpacing.tsx +3 -5
  1262. package/src/icon/iconConfig.tsx +14 -16
  1263. package/src/icon/material.ts +4 -4
  1264. package/src/icon/materialConfig.ts +12 -12
  1265. package/src/icon/styles.ts +8 -8
  1266. package/src/interaction/UserInteractionModeProvider.tsx +1 -2
  1267. package/src/interaction/config.ts +2 -2
  1268. package/src/interaction/types.ts +8 -8
  1269. package/src/interaction/useElementInteraction.tsx +6 -7
  1270. package/src/interaction/useHigherContrastChildren.tsx +2 -3
  1271. package/src/layout/LayoutAppBar.tsx +4 -7
  1272. package/src/layout/LayoutNav.tsx +4 -6
  1273. package/src/layout/LayoutWindowSplitter.tsx +3 -4
  1274. package/src/layout/Main.tsx +4 -5
  1275. package/src/layout/__tests__/LayoutAppBar.tsx +23 -0
  1276. package/src/layout/__tests__/useExpandableLayout.tsx +8 -0
  1277. package/src/layout/_layout.scss +12 -1
  1278. package/src/layout/layoutNavStyles.ts +2 -2
  1279. package/src/layout/layoutWindowSplitterStyles.ts +2 -2
  1280. package/src/layout/mainStyles.ts +2 -2
  1281. package/src/layout/useExpandableLayout.ts +85 -23
  1282. package/src/layout/useHorizontalLayoutTransition.ts +8 -8
  1283. package/src/layout/useLayoutAppBarHeight.ts +10 -13
  1284. package/src/layout/useLayoutTree.ts +10 -10
  1285. package/src/layout/useLayoutWindowSplitter.ts +5 -6
  1286. package/src/layout/useMainTabIndex.ts +1 -1
  1287. package/src/layout/useResizableLayout.ts +54 -8
  1288. package/src/layout/useTemporaryLayout.ts +12 -13
  1289. package/src/link/Link.tsx +10 -13
  1290. package/src/link/SkipToMainContent.tsx +2 -4
  1291. package/src/link/styles.ts +4 -4
  1292. package/src/list/List.tsx +3 -4
  1293. package/src/list/ListItem.tsx +4 -6
  1294. package/src/list/ListItemChildren.tsx +1 -2
  1295. package/src/list/ListSubheader.tsx +3 -3
  1296. package/src/list/getListItemHeight.ts +1 -1
  1297. package/src/list/listItemStyles.ts +9 -9
  1298. package/src/list/types.ts +11 -11
  1299. package/src/media-queries/AppSizeProvider.tsx +1 -2
  1300. package/src/media-queries/useMediaQuery.ts +2 -3
  1301. package/src/menu/DropdownMenu.tsx +7 -11
  1302. package/src/menu/Menu.tsx +10 -13
  1303. package/src/menu/MenuBar.tsx +3 -4
  1304. package/src/menu/MenuButton.tsx +8 -8
  1305. package/src/menu/MenuConfigurationProvider.tsx +10 -10
  1306. package/src/menu/MenuItem.tsx +2 -2
  1307. package/src/menu/MenuItemButton.tsx +2 -2
  1308. package/src/menu/MenuItemCircularProgress.tsx +3 -4
  1309. package/src/menu/MenuItemGroup.tsx +3 -4
  1310. package/src/menu/MenuItemSeparator.tsx +2 -2
  1311. package/src/menu/MenuSheet.tsx +7 -9
  1312. package/src/menu/MenuVisibilityProvider.tsx +8 -10
  1313. package/src/menu/MenuWidget.tsx +2 -2
  1314. package/src/menu/MenuWidgetKeyboardProvider.tsx +2 -2
  1315. package/src/menu/useContextMenu.ts +8 -12
  1316. package/src/menu/useMenuBarProvider.ts +6 -6
  1317. package/src/menu/utils.ts +2 -2
  1318. package/src/movement/constants.ts +3 -3
  1319. package/src/movement/types.ts +16 -17
  1320. package/src/movement/useKeyboardMovementProvider.ts +6 -9
  1321. package/src/movement/utils.ts +13 -13
  1322. package/src/navigation/CollapsibleNavGroup.tsx +94 -0
  1323. package/src/navigation/DefaultNavigationRenderer.tsx +71 -0
  1324. package/src/navigation/NavGroup.tsx +39 -0
  1325. package/src/navigation/NavItem.tsx +29 -0
  1326. package/src/navigation/NavItemButton.tsx +104 -0
  1327. package/src/navigation/NavItemLink.tsx +163 -0
  1328. package/src/navigation/NavSubheader.tsx +36 -0
  1329. package/src/navigation/Navigation.tsx +91 -0
  1330. package/src/navigation/__tests__/Navigation.tsx +97 -0
  1331. package/src/navigation/__tests__/__snapshots__/Navigation.tsx.snap +165 -0
  1332. package/src/navigation/_navigation.scss +99 -0
  1333. package/src/navigation/getHrefFromParents.ts +15 -0
  1334. package/src/navigation/navGroupStyles.ts +21 -0
  1335. package/src/navigation/navItemStyles.ts +71 -0
  1336. package/src/navigation/types.ts +166 -0
  1337. package/src/navigation/useActiveHeadingId.ts +190 -0
  1338. package/src/overlay/Overlay.tsx +5 -6
  1339. package/src/overlay/overlayStyles.ts +4 -4
  1340. package/src/portal/Portal.tsx +1 -2
  1341. package/src/portal/PortalContainerProvider.tsx +4 -4
  1342. package/src/positioning/createVerticalPosition.ts +1 -1
  1343. package/src/positioning/getFixedPosition.ts +1 -1
  1344. package/src/positioning/types.ts +4 -4
  1345. package/src/positioning/useFixedPositioning.ts +8 -9
  1346. package/src/positioning/utils.ts +3 -3
  1347. package/src/progress/CircularProgress.tsx +7 -10
  1348. package/src/progress/LinearProgress.tsx +4 -6
  1349. package/src/progress/types.ts +5 -5
  1350. package/src/responsive-item/ResponsiveItemContainer.tsx +10 -15
  1351. package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -7
  1352. package/src/responsive-item/styles.ts +2 -2
  1353. package/src/scroll/ScrollLock.tsx +1 -1
  1354. package/src/scroll/useScrollLock.ts +2 -3
  1355. package/src/searching/caseInsensitive.ts +9 -13
  1356. package/src/searching/fuzzy.ts +4 -5
  1357. package/src/searching/toSearchQuery.ts +1 -1
  1358. package/src/searching/types.ts +2 -2
  1359. package/src/searching/useFuzzyMatch.ts +3 -3
  1360. package/src/searching/utils.ts +3 -3
  1361. package/src/segmented-button/SegmentedButton.tsx +3 -4
  1362. package/src/segmented-button/SegmentedButtonContainer.tsx +3 -4
  1363. package/src/segmented-button/segmentedButtonContainerStyles.ts +2 -2
  1364. package/src/segmented-button/segmentedButtonStyles.ts +2 -2
  1365. package/src/sheet/Sheet.tsx +1 -1
  1366. package/src/sheet/styles.ts +3 -3
  1367. package/src/snackbar/DefaultToastRenderer.tsx +2 -2
  1368. package/src/snackbar/Snackbar.tsx +3 -4
  1369. package/src/snackbar/Toast.tsx +3 -3
  1370. package/src/snackbar/ToastActionButton.tsx +2 -2
  1371. package/src/snackbar/ToastCloseButton.tsx +2 -2
  1372. package/src/snackbar/ToastContent.tsx +2 -2
  1373. package/src/snackbar/ToastManager.tsx +30 -24
  1374. package/src/snackbar/ToastManagerProvider.tsx +6 -6
  1375. package/src/snackbar/__tests__/ToastManagerProvider.tsx +34 -0
  1376. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +21 -21
  1377. package/src/snackbar/snackbarStyles.ts +4 -5
  1378. package/src/snackbar/toastContentStyles.ts +2 -2
  1379. package/src/snackbar/toastStyles.ts +2 -2
  1380. package/src/snackbar/useCurrentToastActions.ts +3 -3
  1381. package/src/suspense/CircularProgressSuspense.tsx +3 -4
  1382. package/src/suspense/NullSuspense.tsx +3 -4
  1383. package/src/table/Table.tsx +1 -2
  1384. package/src/table/TableCell.tsx +7 -7
  1385. package/src/table/TableCellContent.tsx +3 -3
  1386. package/src/table/TableCheckbox.tsx +11 -15
  1387. package/src/table/TableContainerProvider.tsx +3 -3
  1388. package/src/table/TableFooter.tsx +2 -2
  1389. package/src/table/TableHeader.tsx +2 -2
  1390. package/src/table/TableRadio.tsx +7 -9
  1391. package/src/table/tableCellStyles.ts +2 -2
  1392. package/src/table/tableContainerStyles.ts +2 -2
  1393. package/src/table/tableFooterStyles.ts +1 -1
  1394. package/src/table/tableHeaderStyles.ts +2 -2
  1395. package/src/table/tableRowStyles.ts +2 -2
  1396. package/src/table/tableStyles.ts +2 -2
  1397. package/src/table/types.ts +7 -9
  1398. package/src/tabs/Tab.tsx +4 -4
  1399. package/src/tabs/TabList.tsx +2 -2
  1400. package/src/tabs/TabListScrollButton.tsx +3 -3
  1401. package/src/tabs/tabIndicatorStyles.ts +2 -2
  1402. package/src/tabs/tabListScrollButtonStyles.ts +4 -4
  1403. package/src/tabs/tabListStyles.ts +2 -2
  1404. package/src/tabs/tabStyles.ts +2 -2
  1405. package/src/tabs/useTabs.ts +16 -21
  1406. package/src/tabs/utils.ts +3 -3
  1407. package/src/test-utils/ResizeObserver.ts +9 -11
  1408. package/src/test-utils/matchMedia.ts +13 -17
  1409. package/src/test-utils/render.tsx +2 -2
  1410. package/src/test-utils/timers.ts +2 -3
  1411. package/src/theme/LocalStorageColorSchemeProvider.tsx +2 -2
  1412. package/src/theme/ThemeProvider.tsx +18 -21
  1413. package/src/theme/types.ts +3 -3
  1414. package/src/theme/useCSSVariables.ts +8 -10
  1415. package/src/theme/useColorScheme.ts +6 -7
  1416. package/src/theme/useColorSchemeMetaTag.ts +2 -2
  1417. package/src/theme/useColorSchemeProvider.ts +2 -2
  1418. package/src/theme/usePrefersColorScheme.ts +1 -1
  1419. package/src/theme/utils.ts +1 -1
  1420. package/src/tooltip/Tooltip.tsx +3 -5
  1421. package/src/tooltip/TooltipHoverModeProvider.tsx +5 -6
  1422. package/src/tooltip/constants.ts +9 -9
  1423. package/src/tooltip/tooltipStyles.ts +2 -2
  1424. package/src/tooltip/useTooltip.ts +18 -26
  1425. package/src/tooltip/useTooltipPosition.ts +4 -4
  1426. package/src/transition/CSSTransition.tsx +3 -4
  1427. package/src/transition/Collapse.tsx +5 -8
  1428. package/src/transition/CrossFade.tsx +5 -8
  1429. package/src/transition/ScaleTransition.tsx +7 -10
  1430. package/src/transition/SkeletonPlaceholder.tsx +4 -6
  1431. package/src/transition/Slide.tsx +2 -2
  1432. package/src/transition/SlideContainer.tsx +9 -13
  1433. package/src/transition/collapseStyles.ts +2 -2
  1434. package/src/transition/config.ts +2 -2
  1435. package/src/transition/skeletonPlaceholderUtils.ts +3 -3
  1436. package/src/transition/types.ts +34 -37
  1437. package/src/transition/useCSSTransition.ts +4 -7
  1438. package/src/transition/useCarousel.ts +6 -7
  1439. package/src/transition/useCollapseTransition.ts +10 -13
  1440. package/src/transition/useCrossFadeTransition.ts +5 -6
  1441. package/src/transition/useMaxWidthTransition.ts +2 -2
  1442. package/src/transition/useScaleTransition.ts +8 -11
  1443. package/src/transition/useSkeletonPlaceholder.ts +6 -10
  1444. package/src/transition/useSlideTransition.ts +5 -6
  1445. package/src/transition/useTransition.ts +1 -1
  1446. package/src/transition/utils.ts +6 -6
  1447. package/src/tree/DefaultTreeItemRenderer.tsx +1 -1
  1448. package/src/tree/Tree.tsx +8 -12
  1449. package/src/tree/TreeGroup.tsx +3 -3
  1450. package/src/tree/TreeItem.tsx +3 -4
  1451. package/src/tree/TreeItemExpander.tsx +2 -2
  1452. package/src/tree/TreeProvider.tsx +6 -6
  1453. package/src/tree/styles.ts +10 -10
  1454. package/src/tree/types.ts +6 -7
  1455. package/src/tree/useTree.ts +4 -5
  1456. package/src/tree/useTreeExpansion.ts +2 -2
  1457. package/src/tree/useTreeItems.ts +7 -7
  1458. package/src/tree/useTreeMovement.ts +5 -5
  1459. package/src/tree/useTreeSelection.ts +2 -2
  1460. package/src/tree/utils.ts +2 -2
  1461. package/src/types.ts +14 -16
  1462. package/src/typography/SrOnly.tsx +1 -2
  1463. package/src/typography/TextContainer.tsx +3 -4
  1464. package/src/typography/Typography.tsx +3 -4
  1465. package/src/typography/WritingDirectionProvider.tsx +10 -13
  1466. package/src/typography/textContainerStyles.ts +3 -4
  1467. package/src/typography/typographyStyles.ts +6 -8
  1468. package/src/useAsyncAction.ts +7 -9
  1469. package/src/useDebouncedFunction.ts +3 -4
  1470. package/src/useDropzone.ts +9 -14
  1471. package/src/useElementSize.ts +31 -6
  1472. package/src/useEnsuredId.ts +2 -3
  1473. package/src/useEnsuredRef.ts +3 -4
  1474. package/src/useEnsuredState.ts +2 -2
  1475. package/src/useHtmlClassName.ts +1 -1
  1476. package/src/useIntersectionObserver.ts +13 -20
  1477. package/src/useLocalStorage.ts +17 -22
  1478. package/src/usePageInactive.ts +3 -3
  1479. package/src/useResizeListener.ts +3 -4
  1480. package/src/useResizeObserver.ts +8 -10
  1481. package/src/useThrottledFunction.ts +3 -4
  1482. package/src/useToggle.ts +2 -3
  1483. package/src/useUnmounted.ts +2 -3
  1484. package/src/useWindowSize.ts +3 -4
  1485. package/src/utils/RenderRecursively.tsx +42 -9
  1486. package/src/utils/__tests__/RenderRecursively.tsx +1 -1
  1487. package/src/utils/alphaNumericSort.ts +6 -11
  1488. package/src/utils/applyRef.ts +1 -2
  1489. package/src/utils/bem.ts +2 -3
  1490. package/src/utils/getClientPosition.ts +4 -4
  1491. package/src/utils/getMiddleOfRange.ts +2 -2
  1492. package/src/utils/getPercentage.ts +3 -4
  1493. package/src/utils/getRangeDefaultValue.ts +2 -2
  1494. package/src/utils/getRangeSteps.ts +3 -4
  1495. package/src/utils/identity.ts +1 -1
  1496. package/src/utils/isElementVisible.ts +3 -4
  1497. package/src/utils/loop.ts +2 -2
  1498. package/src/utils/nearest.ts +3 -4
  1499. package/src/utils/parseCssLengthUnit.ts +2 -4
  1500. package/src/utils/randomInt.ts +2 -2
  1501. package/src/utils/wait.ts +2 -3
  1502. package/src/utils/withinRange.ts +3 -4
  1503. package/src/window-splitter/WindowSplitter.tsx +5 -5
  1504. package/src/window-splitter/useWindowSplitter.ts +6 -7
  1505. package/tsdoc.json +14 -0
  1506. package/.turbo/turbo-lint.log +0 -12
  1507. package/.turbo/turbo-typecheck.log +0 -4
  1508. package/dist/index.d.ts +0 -346
  1509. package/dist/index.js +0 -347
  1510. package/dist/index.js.map +0 -1
  1511. package/src/index.ts +0 -349
@@ -2,24 +2,45 @@ import { type RefCallback } from "react";
2
2
  import { type ElementSize, type UseStateInitializer } from "./types.js";
3
3
  import { type ResizeObserverHookOptions } from "./useResizeObserver.js";
4
4
  /**
5
- * @remarks \@since 6.0.0
5
+ * @since 6.0.0
6
6
  */
7
7
  export interface ElementSizeOptions<E extends HTMLElement> extends Omit<ResizeObserverHookOptions<E>, "onUpdate"> {
8
8
  /** @defaultValue `{ height: 0, width: 0 }` */
9
9
  defaultValue?: UseStateInitializer<ElementSize>;
10
10
  }
11
11
  /**
12
- * @remarks \@since 6.0.0
12
+ * @since 6.0.0
13
13
  */
14
14
  export interface ElementSizeImplementation<E extends HTMLElement> extends ElementSize {
15
15
  elementRef: RefCallback<E>;
16
+ /**
17
+ * This will be `true` once the resize observer's callback is triggered at
18
+ * least once.
19
+ *
20
+ * This was added so that generating custom properties that have a reasonable
21
+ * default value set in css don't cause major layout shifts when a default
22
+ * value cannot be provided.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * const { height, width, observedOnce }` = useElementSize();
27
+ * useCSSVariables(useMemo(() => {
28
+ * if (!observedOnce) {
29
+ * return []
30
+ * }
31
+ *
32
+ * // something that uses the element's height, width, or both
33
+ * return [{ var: "--something", value: height / width * 0.5 }];
34
+ * }, [height, width, observedOnce]))
35
+ * ```
36
+ */
37
+ observedOnce: boolean;
16
38
  }
17
39
  /**
18
40
  * A small wrapper around the {@link useResizeObserver} hook to calculate the
19
41
  * element's size.
20
42
  *
21
- * @example
22
- * Simple Example
43
+ * @example Simple Example
23
44
  * ```tsx
24
45
  * import { useElementSize } from "@react-md/core";
25
46
  * import { type ReactElement } from "react";
@@ -35,6 +56,6 @@ export interface ElementSizeImplementation<E extends HTMLElement> extends Elemen
35
56
  * }
36
57
  * ```
37
58
  *
38
- * @remarks \@since 6.0.0
59
+ * @since 6.0.0
39
60
  */
40
61
  export declare function useElementSize<E extends HTMLElement>(options?: ElementSizeOptions<E>): ElementSizeImplementation<E>;
@@ -1,12 +1,11 @@
1
1
  "use client";
2
- import { useCallback, useState } from "react";
2
+ import { useCallback, useRef, useState } from "react";
3
3
  import { useResizeObserver } from "./useResizeObserver.js";
4
4
  /**
5
5
  * A small wrapper around the {@link useResizeObserver} hook to calculate the
6
6
  * element's size.
7
7
  *
8
- * @example
9
- * Simple Example
8
+ * @example Simple Example
10
9
  * ```tsx
11
10
  * import { useElementSize } from "@react-md/core";
12
11
  * import { type ReactElement } from "react";
@@ -22,9 +21,10 @@ import { useResizeObserver } from "./useResizeObserver.js";
22
21
  * }
23
22
  * ```
24
23
  *
25
- * @remarks \@since 6.0.0
24
+ * @since 6.0.0
26
25
  */ export function useElementSize(options = {}) {
27
26
  const { defaultValue } = options;
27
+ const observedOnce = useRef(false);
28
28
  const [size, setSize] = useState(()=>{
29
29
  if (typeof defaultValue === "function") {
30
30
  return defaultValue();
@@ -37,6 +37,7 @@ import { useResizeObserver } from "./useResizeObserver.js";
37
37
  const elementRef = useResizeObserver({
38
38
  ...options,
39
39
  onUpdate: useCallback((entry)=>{
40
+ observedOnce.current = true;
40
41
  const size = entry.borderBoxSize[0];
41
42
  setSize({
42
43
  height: size.blockSize,
@@ -46,7 +47,8 @@ import { useResizeObserver } from "./useResizeObserver.js";
46
47
  });
47
48
  return {
48
49
  ...size,
49
- elementRef
50
+ elementRef,
51
+ observedOnce: observedOnce.current
50
52
  };
51
53
  }
52
54
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useElementSize.ts"],"sourcesContent":["\"use client\";\nimport { useCallback, useState, type RefCallback } from \"react\";\nimport { type ElementSize, type UseStateInitializer } from \"./types.js\";\nimport {\n useResizeObserver,\n type ResizeObserverHookOptions,\n} from \"./useResizeObserver.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ElementSizeOptions<E extends HTMLElement>\n extends Omit<ResizeObserverHookOptions<E>, \"onUpdate\"> {\n /** @defaultValue `{ height: 0, width: 0 }` */\n defaultValue?: UseStateInitializer<ElementSize>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ElementSizeImplementation<E extends HTMLElement>\n extends ElementSize {\n elementRef: RefCallback<E>;\n}\n\n/**\n * A small wrapper around the {@link useResizeObserver} hook to calculate the\n * element's size.\n *\n * @example\n * Simple Example\n * ```tsx\n * import { useElementSize } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const { height, width, elementRef } = useElementSize();\n *\n * return (\n * <div ref={elementRef}>\n * {`height: ${height}, width: ${width}`}\n * </div>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useElementSize<E extends HTMLElement>(\n options: ElementSizeOptions<E> = {}\n): ElementSizeImplementation<E> {\n const { defaultValue } = options;\n\n const [size, setSize] = useState<ElementSize>(() => {\n if (typeof defaultValue === \"function\") {\n return defaultValue();\n }\n\n return (\n defaultValue ?? {\n height: 0,\n width: 0,\n }\n );\n });\n\n const elementRef = useResizeObserver({\n ...options,\n onUpdate: useCallback((entry) => {\n const size = entry.borderBoxSize[0];\n\n setSize({\n height: size.blockSize,\n width: size.inlineSize,\n });\n }, []),\n });\n\n return {\n ...size,\n elementRef,\n };\n}\n"],"names":["useCallback","useState","useResizeObserver","useElementSize","options","defaultValue","size","setSize","height","width","elementRef","onUpdate","entry","borderBoxSize","blockSize","inlineSize"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,QAAQ,QAA0B,QAAQ;AAEhE,SACEC,iBAAiB,QAEZ,yBAAyB;AAmBhC;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,SAASC,eACdC,UAAiC,CAAC,CAAC;IAEnC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IAEzB,MAAM,CAACE,MAAMC,QAAQ,GAAGN,SAAsB;QAC5C,IAAI,OAAOI,iBAAiB,YAAY;YACtC,OAAOA;QACT;QAEA,OACEA,gBAAgB;YACdG,QAAQ;YACRC,OAAO;QACT;IAEJ;IAEA,MAAMC,aAAaR,kBAAkB;QACnC,GAAGE,OAAO;QACVO,UAAUX,YAAY,CAACY;YACrB,MAAMN,OAAOM,MAAMC,aAAa,CAAC,EAAE;YAEnCN,QAAQ;gBACNC,QAAQF,KAAKQ,SAAS;gBACtBL,OAAOH,KAAKS,UAAU;YACxB;QACF,GAAG,EAAE;IACP;IAEA,OAAO;QACL,GAAGT,IAAI;QACPI;IACF;AACF"}
1
+ {"version":3,"sources":["../src/useElementSize.ts"],"sourcesContent":["\"use client\";\nimport { useCallback, useRef, useState, type RefCallback } from \"react\";\nimport { type ElementSize, type UseStateInitializer } from \"./types.js\";\nimport {\n useResizeObserver,\n type ResizeObserverHookOptions,\n} from \"./useResizeObserver.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface ElementSizeOptions<E extends HTMLElement>\n extends Omit<ResizeObserverHookOptions<E>, \"onUpdate\"> {\n /** @defaultValue `{ height: 0, width: 0 }` */\n defaultValue?: UseStateInitializer<ElementSize>;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface ElementSizeImplementation<E extends HTMLElement>\n extends ElementSize {\n elementRef: RefCallback<E>;\n\n /**\n * This will be `true` once the resize observer's callback is triggered at\n * least once.\n *\n * This was added so that generating custom properties that have a reasonable\n * default value set in css don't cause major layout shifts when a default\n * value cannot be provided.\n *\n * @example\n * ```tsx\n * const { height, width, observedOnce }` = useElementSize();\n * useCSSVariables(useMemo(() => {\n * if (!observedOnce) {\n * return []\n * }\n *\n * // something that uses the element's height, width, or both\n * return [{ var: \"--something\", value: height / width * 0.5 }];\n * }, [height, width, observedOnce]))\n * ```\n */\n observedOnce: boolean;\n}\n\n/**\n * A small wrapper around the {@link useResizeObserver} hook to calculate the\n * element's size.\n *\n * @example Simple Example\n * ```tsx\n * import { useElementSize } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const { height, width, elementRef } = useElementSize();\n *\n * return (\n * <div ref={elementRef}>\n * {`height: ${height}, width: ${width}`}\n * </div>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport function useElementSize<E extends HTMLElement>(\n options: ElementSizeOptions<E> = {}\n): ElementSizeImplementation<E> {\n const { defaultValue } = options;\n\n const observedOnce = useRef(false);\n const [size, setSize] = useState<ElementSize>(() => {\n if (typeof defaultValue === \"function\") {\n return defaultValue();\n }\n\n return (\n defaultValue ?? {\n height: 0,\n width: 0,\n }\n );\n });\n\n const elementRef = useResizeObserver({\n ...options,\n onUpdate: useCallback((entry) => {\n observedOnce.current = true;\n const size = entry.borderBoxSize[0];\n\n setSize({\n height: size.blockSize,\n width: size.inlineSize,\n });\n }, []),\n });\n\n return {\n ...size,\n elementRef,\n observedOnce: observedOnce.current,\n };\n}\n"],"names":["useCallback","useRef","useState","useResizeObserver","useElementSize","options","defaultValue","observedOnce","size","setSize","height","width","elementRef","onUpdate","entry","current","borderBoxSize","blockSize","inlineSize"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAA0B,QAAQ;AAExE,SACEC,iBAAiB,QAEZ,yBAAyB;AA0ChC;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASC,eACdC,UAAiC,CAAC,CAAC;IAEnC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IAEzB,MAAME,eAAeN,OAAO;IAC5B,MAAM,CAACO,MAAMC,QAAQ,GAAGP,SAAsB;QAC5C,IAAI,OAAOI,iBAAiB,YAAY;YACtC,OAAOA;QACT;QAEA,OACEA,gBAAgB;YACdI,QAAQ;YACRC,OAAO;QACT;IAEJ;IAEA,MAAMC,aAAaT,kBAAkB;QACnC,GAAGE,OAAO;QACVQ,UAAUb,YAAY,CAACc;YACrBP,aAAaQ,OAAO,GAAG;YACvB,MAAMP,OAAOM,MAAME,aAAa,CAAC,EAAE;YAEnCP,QAAQ;gBACNC,QAAQF,KAAKS,SAAS;gBACtBN,OAAOH,KAAKU,UAAU;YACxB;QACF,GAAG,EAAE;IACP;IAEA,OAAO;QACL,GAAGV,IAAI;QACPI;QACAL,cAAcA,aAAaQ,OAAO;IACpC;AACF"}
@@ -2,8 +2,7 @@
2
2
  * This hook is used to ensure that an `id` has been provided to a component
3
3
  * either through props or use the `useId` hook.
4
4
  *
5
- * @example
6
- * Simple Example
5
+ * @example Simple Example
7
6
  * ```tsx
8
7
  * import type { HTMLAttributes, ReactElement } from "react";
9
8
  * import { useEnsuredId } from "@react-md/core";
@@ -15,7 +14,7 @@
15
14
  * }
16
15
  * ```
17
16
  *
18
- * @remarks \@since 6.0.0
17
+ * @since 6.0.0
19
18
  * @internal
20
19
  */
21
20
  export declare function useEnsuredId(propId: string | undefined, prefix: string): string;
@@ -3,8 +3,7 @@ import { useId } from "react";
3
3
  * This hook is used to ensure that an `id` has been provided to a component
4
4
  * either through props or use the `useId` hook.
5
5
  *
6
- * @example
7
- * Simple Example
6
+ * @example Simple Example
8
7
  * ```tsx
9
8
  * import type { HTMLAttributes, ReactElement } from "react";
10
9
  * import { useEnsuredId } from "@react-md/core";
@@ -16,7 +15,7 @@ import { useId } from "react";
16
15
  * }
17
16
  * ```
18
17
  *
19
- * @remarks \@since 6.0.0
18
+ * @since 6.0.0
20
19
  * @internal
21
20
  */ export function useEnsuredId(propId, prefix) {
22
21
  const id = useId();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useEnsuredId.ts"],"sourcesContent":["import { useId } from \"react\";\n\n/**\n * This hook is used to ensure that an `id` has been provided to a component\n * either through props or use the `useId` hook.\n *\n * @example\n * Simple Example\n * ```tsx\n * import type { HTMLAttributes, ReactElement } from \"react\";\n * import { useEnsuredId } from \"@react-md/core\";\n *\n * export function MaterialDesignComponent(props: HTMLAttributes<HTMLDivElement>): ReactElement {\n * const id = useEnsuredId(props.id, \"component-name\");\n *\n * return <div {...props} id={id} />;\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport function useEnsuredId(\n propId: string | undefined,\n prefix: string\n): string {\n const id = useId();\n\n return propId ?? `${prefix}-${id}`;\n}\n"],"names":["useId","useEnsuredId","propId","prefix","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,KAAK,QAAQ,QAAQ;AAE9B;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,SAASC,aACdC,MAA0B,EAC1BC,MAAc;IAEd,MAAMC,KAAKJ;IAEX,OAAOE,UAAU,CAAC,EAAEC,OAAO,CAAC,EAAEC,GAAG,CAAC;AACpC"}
1
+ {"version":3,"sources":["../src/useEnsuredId.ts"],"sourcesContent":["import { useId } from \"react\";\n\n/**\n * This hook is used to ensure that an `id` has been provided to a component\n * either through props or use the `useId` hook.\n *\n * @example Simple Example\n * ```tsx\n * import type { HTMLAttributes, ReactElement } from \"react\";\n * import { useEnsuredId } from \"@react-md/core\";\n *\n * export function MaterialDesignComponent(props: HTMLAttributes<HTMLDivElement>): ReactElement {\n * const id = useEnsuredId(props.id, \"component-name\");\n *\n * return <div {...props} id={id} />;\n * }\n * ```\n *\n * @since 6.0.0\n * @internal\n */\nexport function useEnsuredId(\n propId: string | undefined,\n prefix: string\n): string {\n const id = useId();\n\n return propId ?? `${prefix}-${id}`;\n}\n"],"names":["useId","useEnsuredId","propId","prefix","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,KAAK,QAAQ,QAAQ;AAE9B;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,SAASC,aACdC,MAA0B,EAC1BC,MAAc;IAEd,MAAMC,KAAKJ;IAEX,OAAOE,UAAU,CAAC,EAAEC,OAAO,CAAC,EAAEC,GAAG,CAAC;AACpC"}
@@ -1,6 +1,6 @@
1
1
  import type { MutableRefObject, Ref, RefCallback } from "react";
2
2
  /**
3
- * @remarks \@since 2.3.0
3
+ * @since 2.3.0
4
4
  * @internal
5
5
  */
6
6
  export type EnsuredRefs<E extends HTMLElement> = readonly [
@@ -14,8 +14,7 @@ export type EnsuredRefs<E extends HTMLElement> = readonly [
14
14
  * followed by a ref callback function that should be passed to the DOM node
15
15
  * that will ensure that both the optional `propRef` and hook ref are updated.
16
16
  *
17
- * @example
18
- * Simple Example
17
+ * @example Simple Example
19
18
  * ```tsx
20
19
  * import { HTMLAttributes, forwardRef } from "react";
21
20
  * import { useEnsuredRef } from "@react-md/core";
@@ -32,7 +31,7 @@ export type EnsuredRefs<E extends HTMLElement> = readonly [
32
31
  * });
33
32
  * ```
34
33
  *
35
- * @remarks \@since 2.3.0
34
+ * @since 2.3.0
36
35
  * @internal
37
36
  */
38
37
  export declare function useEnsuredRef<E extends HTMLElement>(propRef?: Ref<E | null>): EnsuredRefs<E>;
@@ -8,8 +8,7 @@ import { applyRef } from "./utils/applyRef.js";
8
8
  * followed by a ref callback function that should be passed to the DOM node
9
9
  * that will ensure that both the optional `propRef` and hook ref are updated.
10
10
  *
11
- * @example
12
- * Simple Example
11
+ * @example Simple Example
13
12
  * ```tsx
14
13
  * import { HTMLAttributes, forwardRef } from "react";
15
14
  * import { useEnsuredRef } from "@react-md/core";
@@ -26,7 +25,7 @@ import { applyRef } from "./utils/applyRef.js";
26
25
  * });
27
26
  * ```
28
27
  *
29
- * @remarks \@since 2.3.0
28
+ * @since 2.3.0
30
29
  * @internal
31
30
  */ export function useEnsuredRef(propRef) {
32
31
  const ref = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useEnsuredRef.ts"],"sourcesContent":["\"use client\";\nimport type { MutableRefObject, Ref, RefCallback } from \"react\";\nimport { useCallback, useRef } from \"react\";\nimport { applyRef } from \"./utils/applyRef.js\";\n\n/**\n * @remarks \\@since 2.3.0\n * @internal\n */\nexport type EnsuredRefs<E extends HTMLElement> = readonly [\n MutableRefObject<E | null>,\n RefCallback<E | null>,\n];\n\n/**\n * This is mostly an internal hook that allows for an optional ref (normally\n * from props or hook options) to be merged with a hook's required `ref`. This\n * will return a MutableRefObject used for DOM manipulation in a custom hook\n * followed by a ref callback function that should be passed to the DOM node\n * that will ensure that both the optional `propRef` and hook ref are updated.\n *\n * @example\n * Simple Example\n * ```tsx\n * import { HTMLAttributes, forwardRef } from \"react\";\n * import { useEnsuredRef } from \"@react-md/core\";\n *\n * export type ExampleProps = HTMLAttributes<HTMLDivElement>;\n *\n * export const Example = forwardRef<HTMLDivElement, ExampleProps>(function Example(props, ref) {\n * const [nodeRef, refHandler] = useEnsuredRef(ref);\n * useEffect(() => {\n * // do something with nodeRef.current\n * }, [nodeRef])\n *\n * return <div ref={refHandler} />;\n * });\n * ```\n *\n * @remarks \\@since 2.3.0\n * @internal\n */\nexport function useEnsuredRef<E extends HTMLElement>(\n propRef?: Ref<E | null>\n): EnsuredRefs<E> {\n const ref = useRef<E | null>(null);\n const refHandler = useCallback(\n (instance: E | null) => {\n applyRef(instance, propRef);\n ref.current = instance;\n },\n [propRef]\n );\n\n return [ref, refHandler];\n}\n"],"names":["useCallback","useRef","applyRef","useEnsuredRef","propRef","ref","refHandler","instance","current"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AAC5C,SAASC,QAAQ,QAAQ,sBAAsB;AAW/C;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,OAAO,SAASC,cACdC,OAAuB;IAEvB,MAAMC,MAAMJ,OAAiB;IAC7B,MAAMK,aAAaN,YACjB,CAACO;QACCL,SAASK,UAAUH;QACnBC,IAAIG,OAAO,GAAGD;IAChB,GACA;QAACH;KAAQ;IAGX,OAAO;QAACC;QAAKC;KAAW;AAC1B"}
1
+ {"version":3,"sources":["../src/useEnsuredRef.ts"],"sourcesContent":["\"use client\";\nimport type { MutableRefObject, Ref, RefCallback } from \"react\";\nimport { useCallback, useRef } from \"react\";\nimport { applyRef } from \"./utils/applyRef.js\";\n\n/**\n * @since 2.3.0\n * @internal\n */\nexport type EnsuredRefs<E extends HTMLElement> = readonly [\n MutableRefObject<E | null>,\n RefCallback<E | null>,\n];\n\n/**\n * This is mostly an internal hook that allows for an optional ref (normally\n * from props or hook options) to be merged with a hook's required `ref`. This\n * will return a MutableRefObject used for DOM manipulation in a custom hook\n * followed by a ref callback function that should be passed to the DOM node\n * that will ensure that both the optional `propRef` and hook ref are updated.\n *\n * @example Simple Example\n * ```tsx\n * import { HTMLAttributes, forwardRef } from \"react\";\n * import { useEnsuredRef } from \"@react-md/core\";\n *\n * export type ExampleProps = HTMLAttributes<HTMLDivElement>;\n *\n * export const Example = forwardRef<HTMLDivElement, ExampleProps>(function Example(props, ref) {\n * const [nodeRef, refHandler] = useEnsuredRef(ref);\n * useEffect(() => {\n * // do something with nodeRef.current\n * }, [nodeRef])\n *\n * return <div ref={refHandler} />;\n * });\n * ```\n *\n * @since 2.3.0\n * @internal\n */\nexport function useEnsuredRef<E extends HTMLElement>(\n propRef?: Ref<E | null>\n): EnsuredRefs<E> {\n const ref = useRef<E | null>(null);\n const refHandler = useCallback(\n (instance: E | null) => {\n applyRef(instance, propRef);\n ref.current = instance;\n },\n [propRef]\n );\n\n return [ref, refHandler];\n}\n"],"names":["useCallback","useRef","applyRef","useEnsuredRef","propRef","ref","refHandler","instance","current"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AAC5C,SAASC,QAAQ,QAAQ,sBAAsB;AAW/C;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BC,GACD,OAAO,SAASC,cACdC,OAAuB;IAEvB,MAAMC,MAAMJ,OAAiB;IAC7B,MAAMK,aAAaN,YACjB,CAACO;QACCL,SAASK,UAAUH;QACnBC,IAAIG,OAAO,GAAGD;IAChB,GACA;QAACH;KAAQ;IAGX,OAAO;QAACC;QAAKC;KAAW;AAC1B"}
@@ -2,7 +2,7 @@ import type { Dispatch } from "react";
2
2
  import type { UseStateInitializer, UseStateSetter } from "./types.js";
3
3
  /**
4
4
  * @internal
5
- * @remarks \@since 6.0.0
5
+ * @since 6.0.0
6
6
  */
7
7
  export interface EnsuredStateOptions<V, Setter extends Dispatch<V> | UseStateSetter<V> = UseStateSetter<V>> {
8
8
  value?: V;
@@ -14,6 +14,6 @@ export interface EnsuredStateOptions<V, Setter extends Dispatch<V> | UseStateSet
14
14
  * `setValue` or defaulting to uncontrolled behavior with local state.
15
15
  *
16
16
  * @internal
17
- * @remarks \@since 6.0.0
17
+ * @since 6.0.0
18
18
  */
19
19
  export declare function useEnsuredState<V, Setter extends Dispatch<V> | UseStateSetter<V>>(options: EnsuredStateOptions<V, Setter>): readonly [value: V, setValue: Setter];
@@ -4,7 +4,7 @@
4
4
  * `setValue` or defaulting to uncontrolled behavior with local state.
5
5
  *
6
6
  * @internal
7
- * @remarks \@since 6.0.0
7
+ * @since 6.0.0
8
8
  */ export function useEnsuredState(options) {
9
9
  const { value, setValue, defaultValue } = options;
10
10
  if (typeof value !== "undefined" && typeof setValue !== "undefined") {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useEnsuredState.ts"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport type { Dispatch } from \"react\";\nimport { useState } from \"react\";\nimport type { UseStateInitializer, UseStateSetter } from \"./types.js\";\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface EnsuredStateOptions<\n V,\n Setter extends Dispatch<V> | UseStateSetter<V> = UseStateSetter<V>,\n> {\n value?: V;\n setValue?: Setter;\n defaultValue?: UseStateInitializer<V>;\n}\n\n/**\n * This is used to dynamically allow controlling hooks by providing a `value` +\n * `setValue` or defaulting to uncontrolled behavior with local state.\n *\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function useEnsuredState<\n V,\n Setter extends Dispatch<V> | UseStateSetter<V>,\n>(\n options: EnsuredStateOptions<V, Setter>\n): readonly [value: V, setValue: Setter] {\n const { value, setValue, defaultValue } = options;\n if (typeof value !== \"undefined\" && typeof setValue !== \"undefined\") {\n return [value, setValue];\n }\n\n if (typeof value !== \"undefined\" || typeof setValue !== \"undefined\") {\n throw new Error(\n \"Both a `value` and `setValue` must be defined for controlled components.\"\n );\n }\n\n if (typeof defaultValue === \"undefined\") {\n throw new Error(\n \"A `defaultValue` must be defined for uncontrolled components.\"\n );\n }\n\n return useState(defaultValue) as [value: V, setValue: Setter];\n}\n"],"names":["useState","useEnsuredState","options","value","setValue","defaultValue","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,6CAA6C,GAE7C,SAASA,QAAQ,QAAQ,QAAQ;AAgBjC;;;;;;CAMC,GACD,OAAO,SAASC,gBAIdC,OAAuC;IAEvC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAC1C,IAAI,OAAOC,UAAU,eAAe,OAAOC,aAAa,aAAa;QACnE,OAAO;YAACD;YAAOC;SAAS;IAC1B;IAEA,IAAI,OAAOD,UAAU,eAAe,OAAOC,aAAa,aAAa;QACnE,MAAM,IAAIE,MACR;IAEJ;IAEA,IAAI,OAAOD,iBAAiB,aAAa;QACvC,MAAM,IAAIC,MACR;IAEJ;IAEA,OAAON,SAASK;AAClB"}
1
+ {"version":3,"sources":["../src/useEnsuredState.ts"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport type { Dispatch } from \"react\";\nimport { useState } from \"react\";\nimport type { UseStateInitializer, UseStateSetter } from \"./types.js\";\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport interface EnsuredStateOptions<\n V,\n Setter extends Dispatch<V> | UseStateSetter<V> = UseStateSetter<V>,\n> {\n value?: V;\n setValue?: Setter;\n defaultValue?: UseStateInitializer<V>;\n}\n\n/**\n * This is used to dynamically allow controlling hooks by providing a `value` +\n * `setValue` or defaulting to uncontrolled behavior with local state.\n *\n * @internal\n * @since 6.0.0\n */\nexport function useEnsuredState<\n V,\n Setter extends Dispatch<V> | UseStateSetter<V>,\n>(\n options: EnsuredStateOptions<V, Setter>\n): readonly [value: V, setValue: Setter] {\n const { value, setValue, defaultValue } = options;\n if (typeof value !== \"undefined\" && typeof setValue !== \"undefined\") {\n return [value, setValue];\n }\n\n if (typeof value !== \"undefined\" || typeof setValue !== \"undefined\") {\n throw new Error(\n \"Both a `value` and `setValue` must be defined for controlled components.\"\n );\n }\n\n if (typeof defaultValue === \"undefined\") {\n throw new Error(\n \"A `defaultValue` must be defined for uncontrolled components.\"\n );\n }\n\n return useState(defaultValue) as [value: V, setValue: Setter];\n}\n"],"names":["useState","useEnsuredState","options","value","setValue","defaultValue","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,6CAA6C,GAE7C,SAASA,QAAQ,QAAQ,QAAQ;AAgBjC;;;;;;CAMC,GACD,OAAO,SAASC,gBAIdC,OAAuC;IAEvC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAC1C,IAAI,OAAOC,UAAU,eAAe,OAAOC,aAAa,aAAa;QACnE,OAAO;YAACD;YAAOC;SAAS;IAC1B;IAEA,IAAI,OAAOD,UAAU,eAAe,OAAOC,aAAa,aAAa;QACnE,MAAM,IAAIE,MACR;IAEJ;IAEA,IAAI,OAAOD,iBAAiB,aAAa;QACvC,MAAM,IAAIC,MACR;IAEJ;IAEA,OAAON,SAASK;AAClB"}
@@ -1,4 +1,4 @@
1
1
  /**
2
- * @remarks \@since 6.0.0
2
+ * @since 6.0.0
3
3
  */
4
4
  export declare function useHtmlClassName(className: string): void;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { useEffect } from "react";
3
3
  /**
4
- * @remarks \@since 6.0.0
4
+ * @since 6.0.0
5
5
  */ export function useHtmlClassName(className) {
6
6
  useEffect(()=>{
7
7
  if (!className) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useHtmlClassName.ts"],"sourcesContent":["\"use client\";\nimport { useEffect } from \"react\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function useHtmlClassName(className: string): void {\n useEffect(() => {\n if (!className) {\n return;\n }\n\n const html = document.documentElement;\n html.classList.add(className);\n return () => {\n html.classList.remove(className);\n };\n }, [className]);\n}\n"],"names":["useEffect","useHtmlClassName","className","html","document","documentElement","classList","add","remove"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,QAAQ;AAElC;;CAEC,GACD,OAAO,SAASC,iBAAiBC,SAAiB;IAChDF,UAAU;QACR,IAAI,CAACE,WAAW;YACd;QACF;QAEA,MAAMC,OAAOC,SAASC,eAAe;QACrCF,KAAKG,SAAS,CAACC,GAAG,CAACL;QACnB,OAAO;YACLC,KAAKG,SAAS,CAACE,MAAM,CAACN;QACxB;IACF,GAAG;QAACA;KAAU;AAChB"}
1
+ {"version":3,"sources":["../src/useHtmlClassName.ts"],"sourcesContent":["\"use client\";\nimport { useEffect } from \"react\";\n\n/**\n * @since 6.0.0\n */\nexport function useHtmlClassName(className: string): void {\n useEffect(() => {\n if (!className) {\n return;\n }\n\n const html = document.documentElement;\n html.classList.add(className);\n return () => {\n html.classList.remove(className);\n };\n }, [className]);\n}\n"],"names":["useEffect","useHtmlClassName","className","html","document","documentElement","classList","add","remove"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,QAAQ;AAElC;;CAEC,GACD,OAAO,SAASC,iBAAiBC,SAAiB;IAChDF,UAAU;QACR,IAAI,CAACE,WAAW;YACd;QACF;QAEA,MAAMC,OAAOC,SAASC,eAAe;QACrCF,KAAKG,SAAS,CAACC,GAAG,CAACL;QACnB,OAAO;YACLC,KAAKG,SAAS,CAACE,MAAM,CAACN;QACxB;IACF,GAAG;QAACA;KAAU;AAChB"}
@@ -1,13 +1,13 @@
1
1
  import type { Ref, RefCallback, RefObject } from "react";
2
- /** @remarks \@since 6.0.0 */
2
+ /** @since 6.0.0 */
3
3
  export type IntersectionObserverRoot = IntersectionObserverInit["root"];
4
- /** @remarks \@since 6.0.0 */
4
+ /** @since 6.0.0 */
5
5
  export type IntersectionObserverThreshold = IntersectionObserverInit["threshold"];
6
- /** @remarks \@since 6.0.0 */
6
+ /** @since 6.0.0 */
7
7
  export type IntersectionObserverRootMargin = IntersectionObserverInit["rootMargin"];
8
8
  /**
9
9
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#intersection_observer_options}
10
- * @remarks \@since 6.0.0
10
+ * @since 6.0.0
11
11
  */
12
12
  export interface BaseIntersectionObserverHookOptions {
13
13
  /**
@@ -27,8 +27,7 @@ export interface BaseIntersectionObserverHookOptions {
27
27
  * the component or wrapped in a `useMemo` to prevent the IntersectionObserver
28
28
  * from being re-created each render.**
29
29
  *
30
- * @example
31
- * Moving Out of Render
30
+ * @example Moving Out of Render
32
31
  * ```tsx
33
32
  * const threshold = [0, 0.25, 0.5, 0.75, 1];
34
33
  *
@@ -42,8 +41,7 @@ export interface BaseIntersectionObserverHookOptions {
42
41
  * }
43
42
  * ```
44
43
  *
45
- * @example
46
- * Wrapping in useMemo
44
+ * @example Wrapping in useMemo
47
45
  * ```tsx
48
46
  * interface ExampleProps {
49
47
  * min: number;
@@ -73,8 +71,7 @@ export interface BaseIntersectionObserverHookOptions {
73
71
  * generally useful if you need access to the DOM or do some expensive
74
72
  * computation.
75
73
  *
76
- * @example
77
- * Simple Example
74
+ * @example Simple Example
78
75
  * ```tsx
79
76
  * const targetRef = useIntersectionObserver({
80
77
  * getThreshold: useCallback(() => {
@@ -97,8 +94,7 @@ export interface BaseIntersectionObserverHookOptions {
97
94
  * This can be used to dynamically generate the {@link rootMargin} which is
98
95
  * generally useful if you need access to the DOM.
99
96
  *
100
- * @example
101
- * Simple Example
97
+ * @example Simple Example
102
98
  * ```tsx
103
99
  * const nodeRef = useRef<HTMLElement>();
104
100
  * const targetRef = useIntersectionObserver({
@@ -117,7 +113,7 @@ export interface BaseIntersectionObserverHookOptions {
117
113
  }
118
114
  /**
119
115
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#intersection_observer_options}
120
- * @remarks \@since 6.0.0
116
+ * @since 6.0.0
121
117
  */
122
118
  export interface IntersectionObserverHookOptions<E extends HTMLElement> extends BaseIntersectionObserverHookOptions {
123
119
  /**
@@ -128,8 +124,7 @@ export interface IntersectionObserverHookOptions<E extends HTMLElement> extends
128
124
  * **Must be wrapped in `useCallback` to prevent re-creating the
129
125
  * IntersectionObserver each render.**
130
126
  *
131
- * @example
132
- * Simple Example
127
+ * @example Simple Example
133
128
  * ```tsx
134
129
  * const threshold = [0, 0.25, 0.5, 0.75, 1];
135
130
  *
@@ -154,8 +149,7 @@ export interface IntersectionObserverHookOptions<E extends HTMLElement> extends
154
149
  * If this is defined, the {@link ref} will be ignored along with the returned
155
150
  * ref.
156
151
  *
157
- * @example
158
- * Watching Queried Elements
152
+ * @example Watching Queried Elements
159
153
  * ```tsx
160
154
  * function Example(): ReactElement {
161
155
  * useIntersectionObserver({
@@ -178,8 +172,7 @@ export interface IntersectionObserverHookOptions<E extends HTMLElement> extends
178
172
  getTargets?(): readonly Element[];
179
173
  }
180
174
  /**
181
- * @example
182
- * Simple Example
175
+ * @example Simple Example
183
176
  * ```tsx
184
177
  * // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#a_simple_example
185
178
  *
@@ -235,7 +228,7 @@ export interface IntersectionObserverHookOptions<E extends HTMLElement> extends
235
228
  * }
236
229
  * ```
237
230
  *
238
- * @remarks \@since 6.0.0
231
+ * @since 6.0.0
239
232
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
240
233
  */
241
234
  export declare function useIntersectionObserver<E extends HTMLElement>(options: IntersectionObserverHookOptions<E>): RefCallback<E>;
@@ -2,8 +2,7 @@
2
2
  import { useEffect } from "react";
3
3
  import { useEnsuredRef } from "./useEnsuredRef.js";
4
4
  /**
5
- * @example
6
- * Simple Example
5
+ * @example Simple Example
7
6
  * ```tsx
8
7
  * // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#a_simple_example
9
8
  *
@@ -59,7 +58,7 @@ import { useEnsuredRef } from "./useEnsuredRef.js";
59
58
  * }
60
59
  * ```
61
60
  *
62
- * @remarks \@since 6.0.0
61
+ * @since 6.0.0
63
62
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
64
63
  */ export function useIntersectionObserver(options) {
65
64
  const { ref, root, disabled = false, onUpdate, threshold, rootMargin, getTargets, getThreshold, getRootMargin } = options;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useIntersectionObserver.ts"],"sourcesContent":["\"use client\";\nimport type { Ref, RefCallback, RefObject } from \"react\";\nimport { useEffect } from \"react\";\nimport { useEnsuredRef } from \"./useEnsuredRef.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport type IntersectionObserverRoot = IntersectionObserverInit[\"root\"];\n/** @remarks \\@since 6.0.0 */\nexport type IntersectionObserverThreshold =\n IntersectionObserverInit[\"threshold\"];\n/** @remarks \\@since 6.0.0 */\nexport type IntersectionObserverRootMargin =\n IntersectionObserverInit[\"rootMargin\"];\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#intersection_observer_options}\n * @remarks \\@since 6.0.0\n */\nexport interface BaseIntersectionObserverHookOptions {\n /**\n * This is the same as the normal `root` for an IntersectionObserverInit, but\n * also supports refs.\n */\n root?: RefObject<IntersectionObserverRoot> | IntersectionObserverRoot;\n\n /**\n * Set this to `true` if the intersection observer behavior should be\n * disabled.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n\n /**\n * **When using a list of thresholds, they must either be defined outside of\n * the component or wrapped in a `useMemo` to prevent the IntersectionObserver\n * from being re-created each render.**\n *\n * @example\n * Moving Out of Render\n * ```tsx\n * const threshold = [0, 0.25, 0.5, 0.75, 1];\n *\n * function Example() {\n * const targetRef = useIntersectionObserver({\n * threshold,\n * onUpdate: useCallback(([entry]) => {\n * // do something\n * }, []),\n * })\n * }\n * ```\n *\n * @example\n * Wrapping in useMemo\n * ```tsx\n * interface ExampleProps {\n * min: number;\n * max: number;\n * }\n *\n * function Example({ min, max }: ExampleProps): ReactElement {\n * const targetRef = useIntersectionObserver({\n * threshold: useMemo(() => [min, max], [min, max]),\n * onUpdate: useCallback(([entry]) => {\n * // do something\n * }, []),\n * });\n * }\n * ```\n *\n * @see {@link getThreshold}\n */\n threshold?: IntersectionObserverThreshold;\n\n /** @see {@link getRootMargin} */\n rootMargin?: IntersectionObserverRootMargin;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * This can be used to dynamically generate the {@link threshold} which is\n * generally useful if you need access to the DOM or do some expensive\n * computation.\n *\n * @example\n * Simple Example\n * ```tsx\n * const targetRef = useIntersectionObserver({\n * getThreshold: useCallback(() => {\n * // pretend some expensive computation\n * return [0, 0.25, 0.5, 0.75, 1];\n * }, []),\n * OnUpdate: useCallback(() => {\n * // do something\n * }, []),\n * });\n * ```\n *\n * If this option is provided, {@link threshold}'s value will be ignored.\n */\n getThreshold?(): IntersectionObserverThreshold;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * This can be used to dynamically generate the {@link rootMargin} which is\n * generally useful if you need access to the DOM.\n *\n * @example\n * Simple Example\n * ```tsx\n * const nodeRef = useRef<HTMLElement>();\n * const targetRef = useIntersectionObserver({\n * getRootMargin: useCallback(() => {\n * return `-${nodeRef.current.offsetHeight - 1}px 0px 0px`;\n * }, []),\n * onUpdate: useCallback(() => {\n * // do something\n * }, []),\n * });\n * ```\n *\n * Note: If this option is provided, {@link rootMargin} will be ignored.\n */\n getRootMargin?(): IntersectionObserverRootMargin;\n}\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#intersection_observer_options}\n * @remarks \\@since 6.0.0\n */\nexport interface IntersectionObserverHookOptions<E extends HTMLElement>\n extends BaseIntersectionObserverHookOptions {\n /**\n * An optional ref to merge with the ref returned by this hook.\n */\n ref?: Ref<E>;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * @example\n * Simple Example\n * ```tsx\n * const threshold = [0, 0.25, 0.5, 0.75, 1];\n *\n * function Example(): ReactElement {\n * const [intersecting, setIntersecting] = useState(false);\n * const targetRef = useIntersectionObserver({\n * threshold,\n * onUpdate: useCallback(([entry]) {\n * setIntersecting(entry.isIntersecting);\n * }, []),\n * });\n *\n * // implementation\n * }\n * ```\n */\n onUpdate(entries: readonly IntersectionObserverEntry[]): void;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * If this is defined, the {@link ref} will be ignored along with the returned\n * ref.\n *\n * @example\n * Watching Queried Elements\n * ```tsx\n * function Example(): ReactElement {\n * useIntersectionObserver({\n * onUpdate: useCallback((entries) => {\n * entries.forEach((entry) => {\n * // do stuff\n * });\n *\n * setIntersectingIds(intersecting);\n * }, []),\n * getTargets: useCallback(() => {\n * return document.querySelectorAll('h1, h2, h3, h4, h5, h6');\n * }, []),\n * }),\n *\n * return <div {...props} />;\n * }\n * ```\n */\n getTargets?(): readonly Element[];\n}\n\n/**\n * @example\n * Simple Example\n * ```tsx\n * // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#a_simple_example\n *\n * import { useIntersectionObserver } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * import styles from \"./Example.module.scss\";\n *\n * const numSteps = 20;\n * const thresholds = Array.from({ length: numSteps }, (_, i) => i / numSteps);\n * thresholds.push(0);\n *\n * const INCREASING = \"rgba(40, 40, 190, ratio)\";\n * const DECREASING = \"rgba(190, 40, 40, ratio)\";\n *\n * export default function Example(): ReactElement {\n * const [{ ratio, increasing }, setState] = useState({\n * ratio: 0.0,\n * increasing: true,\n * });\n *\n * const targetRef = useIntersectionObserver({\n * threshold: thresholds,\n * rootMargin: \"0px\",\n * onUpdate: useCallback(([entry]) => {\n * const { intersectionRatio } = entry;\n * setState((prevState) => {\n * return {\n * ratio: intersectionRatio,\n * increasing: intersectionRatio > prevState.ratio,\n * };\n * });\n * }, []),\n * });\n *\n * return (\n * <div\n * ref={targetRef}\n * className={styles.box}\n * style={{\n * backgroundColor: (increasing ? INCREASING : DECREASING).replace(\n * \"ratio\",\n * `${ratio}`\n * ),\n * }}\n * >\n * <div className={styles.vertical}>\n * Welcome to <strong>The Box!</strong>\n * </div>\n * </div>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n */\nexport function useIntersectionObserver<E extends HTMLElement>(\n options: IntersectionObserverHookOptions<E>\n): RefCallback<E> {\n const {\n ref,\n root,\n disabled = false,\n onUpdate,\n threshold,\n rootMargin,\n getTargets,\n getThreshold,\n getRootMargin,\n } = options;\n\n const [targetNodeRef, targetRef] = useEnsuredRef(ref);\n\n useEffect(() => {\n const element = targetNodeRef.current;\n let targets: readonly Element[] = [];\n if (getTargets) {\n targets = getTargets();\n } else if (element) {\n targets = [element];\n }\n\n if (disabled || !targets.length) {\n return;\n }\n\n let resolvedRoot: IntersectionObserverRoot;\n if (root && \"current\" in root) {\n resolvedRoot = root.current;\n } else {\n resolvedRoot = root;\n }\n\n const options: IntersectionObserverInit = {\n root: resolvedRoot,\n threshold: (getThreshold || (() => threshold))(),\n rootMargin: (getRootMargin || (() => rootMargin))(),\n };\n\n // Just like the ResizeObserver, you can see performance improvements by\n // sharing a single intersection observer but I don't think it's worth the\n // effort to implement here since I'd need to:\n // - check if there is an observer with the same options\n // - if there is, add the callback to that existing observer\n // - if there isn't, create a new observer\n // - when cleaning up, check if there are any other existing callbacks\n // - disconnect and remove the observer if there are none left\n const observer = new IntersectionObserver(onUpdate, options);\n targets.forEach((target) => {\n observer.observe(target);\n });\n\n return () => {\n observer.disconnect();\n };\n }, [\n disabled,\n getRootMargin,\n getTargets,\n getThreshold,\n onUpdate,\n root,\n rootMargin,\n targetNodeRef,\n threshold,\n ]);\n\n return targetRef;\n}\n"],"names":["useEffect","useEnsuredRef","useIntersectionObserver","options","ref","root","disabled","onUpdate","threshold","rootMargin","getTargets","getThreshold","getRootMargin","targetNodeRef","targetRef","element","current","targets","length","resolvedRoot","observer","IntersectionObserver","forEach","target","observe","disconnect"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,aAAa,QAAQ,qBAAqB;AAiMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DC,GACD,OAAO,SAASC,wBACdC,OAA2C;IAE3C,MAAM,EACJC,GAAG,EACHC,IAAI,EACJC,WAAW,KAAK,EAChBC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,aAAa,EACd,GAAGT;IAEJ,MAAM,CAACU,eAAeC,UAAU,GAAGb,cAAcG;IAEjDJ,UAAU;QACR,MAAMe,UAAUF,cAAcG,OAAO;QACrC,IAAIC,UAA8B,EAAE;QACpC,IAAIP,YAAY;YACdO,UAAUP;QACZ,OAAO,IAAIK,SAAS;YAClBE,UAAU;gBAACF;aAAQ;QACrB;QAEA,IAAIT,YAAY,CAACW,QAAQC,MAAM,EAAE;YAC/B;QACF;QAEA,IAAIC;QACJ,IAAId,QAAQ,aAAaA,MAAM;YAC7Bc,eAAed,KAAKW,OAAO;QAC7B,OAAO;YACLG,eAAed;QACjB;QAEA,MAAMF,UAAoC;YACxCE,MAAMc;YACNX,WAAW,AAACG,CAAAA,gBAAiB,CAAA,IAAMH,SAAQ,CAAC;YAC5CC,YAAY,AAACG,CAAAA,iBAAkB,CAAA,IAAMH,UAAS,CAAC;QACjD;QAEA,wEAAwE;QACxE,0EAA0E;QAC1E,8CAA8C;QAC9C,wDAAwD;QACxD,8DAA8D;QAC9D,4CAA4C;QAC5C,sEAAsE;QACtE,gEAAgE;QAChE,MAAMW,WAAW,IAAIC,qBAAqBd,UAAUJ;QACpDc,QAAQK,OAAO,CAAC,CAACC;YACfH,SAASI,OAAO,CAACD;QACnB;QAEA,OAAO;YACLH,SAASK,UAAU;QACrB;IACF,GAAG;QACDnB;QACAM;QACAF;QACAC;QACAJ;QACAF;QACAI;QACAI;QACAL;KACD;IAED,OAAOM;AACT"}
1
+ {"version":3,"sources":["../src/useIntersectionObserver.ts"],"sourcesContent":["\"use client\";\nimport type { Ref, RefCallback, RefObject } from \"react\";\nimport { useEffect } from \"react\";\nimport { useEnsuredRef } from \"./useEnsuredRef.js\";\n\n/** @since 6.0.0 */\nexport type IntersectionObserverRoot = IntersectionObserverInit[\"root\"];\n/** @since 6.0.0 */\nexport type IntersectionObserverThreshold =\n IntersectionObserverInit[\"threshold\"];\n/** @since 6.0.0 */\nexport type IntersectionObserverRootMargin =\n IntersectionObserverInit[\"rootMargin\"];\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#intersection_observer_options}\n * @since 6.0.0\n */\nexport interface BaseIntersectionObserverHookOptions {\n /**\n * This is the same as the normal `root` for an IntersectionObserverInit, but\n * also supports refs.\n */\n root?: RefObject<IntersectionObserverRoot> | IntersectionObserverRoot;\n\n /**\n * Set this to `true` if the intersection observer behavior should be\n * disabled.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n\n /**\n * **When using a list of thresholds, they must either be defined outside of\n * the component or wrapped in a `useMemo` to prevent the IntersectionObserver\n * from being re-created each render.**\n *\n * @example Moving Out of Render\n * ```tsx\n * const threshold = [0, 0.25, 0.5, 0.75, 1];\n *\n * function Example() {\n * const targetRef = useIntersectionObserver({\n * threshold,\n * onUpdate: useCallback(([entry]) => {\n * // do something\n * }, []),\n * })\n * }\n * ```\n *\n * @example Wrapping in useMemo\n * ```tsx\n * interface ExampleProps {\n * min: number;\n * max: number;\n * }\n *\n * function Example({ min, max }: ExampleProps): ReactElement {\n * const targetRef = useIntersectionObserver({\n * threshold: useMemo(() => [min, max], [min, max]),\n * onUpdate: useCallback(([entry]) => {\n * // do something\n * }, []),\n * });\n * }\n * ```\n *\n * @see {@link getThreshold}\n */\n threshold?: IntersectionObserverThreshold;\n\n /** @see {@link getRootMargin} */\n rootMargin?: IntersectionObserverRootMargin;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * This can be used to dynamically generate the {@link threshold} which is\n * generally useful if you need access to the DOM or do some expensive\n * computation.\n *\n * @example Simple Example\n * ```tsx\n * const targetRef = useIntersectionObserver({\n * getThreshold: useCallback(() => {\n * // pretend some expensive computation\n * return [0, 0.25, 0.5, 0.75, 1];\n * }, []),\n * OnUpdate: useCallback(() => {\n * // do something\n * }, []),\n * });\n * ```\n *\n * If this option is provided, {@link threshold}'s value will be ignored.\n */\n getThreshold?(): IntersectionObserverThreshold;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * This can be used to dynamically generate the {@link rootMargin} which is\n * generally useful if you need access to the DOM.\n *\n * @example Simple Example\n * ```tsx\n * const nodeRef = useRef<HTMLElement>();\n * const targetRef = useIntersectionObserver({\n * getRootMargin: useCallback(() => {\n * return `-${nodeRef.current.offsetHeight - 1}px 0px 0px`;\n * }, []),\n * onUpdate: useCallback(() => {\n * // do something\n * }, []),\n * });\n * ```\n *\n * Note: If this option is provided, {@link rootMargin} will be ignored.\n */\n getRootMargin?(): IntersectionObserverRootMargin;\n}\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#intersection_observer_options}\n * @since 6.0.0\n */\nexport interface IntersectionObserverHookOptions<E extends HTMLElement>\n extends BaseIntersectionObserverHookOptions {\n /**\n * An optional ref to merge with the ref returned by this hook.\n */\n ref?: Ref<E>;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * @example Simple Example\n * ```tsx\n * const threshold = [0, 0.25, 0.5, 0.75, 1];\n *\n * function Example(): ReactElement {\n * const [intersecting, setIntersecting] = useState(false);\n * const targetRef = useIntersectionObserver({\n * threshold,\n * onUpdate: useCallback(([entry]) {\n * setIntersecting(entry.isIntersecting);\n * }, []),\n * });\n *\n * // implementation\n * }\n * ```\n */\n onUpdate(entries: readonly IntersectionObserverEntry[]): void;\n\n /**\n * **Must be wrapped in `useCallback` to prevent re-creating the\n * IntersectionObserver each render.**\n *\n * If this is defined, the {@link ref} will be ignored along with the returned\n * ref.\n *\n * @example Watching Queried Elements\n * ```tsx\n * function Example(): ReactElement {\n * useIntersectionObserver({\n * onUpdate: useCallback((entries) => {\n * entries.forEach((entry) => {\n * // do stuff\n * });\n *\n * setIntersectingIds(intersecting);\n * }, []),\n * getTargets: useCallback(() => {\n * return document.querySelectorAll('h1, h2, h3, h4, h5, h6');\n * }, []),\n * }),\n *\n * return <div {...props} />;\n * }\n * ```\n */\n getTargets?(): readonly Element[];\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#a_simple_example\n *\n * import { useIntersectionObserver } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * import styles from \"./Example.module.scss\";\n *\n * const numSteps = 20;\n * const thresholds = Array.from({ length: numSteps }, (_, i) => i / numSteps);\n * thresholds.push(0);\n *\n * const INCREASING = \"rgba(40, 40, 190, ratio)\";\n * const DECREASING = \"rgba(190, 40, 40, ratio)\";\n *\n * export default function Example(): ReactElement {\n * const [{ ratio, increasing }, setState] = useState({\n * ratio: 0.0,\n * increasing: true,\n * });\n *\n * const targetRef = useIntersectionObserver({\n * threshold: thresholds,\n * rootMargin: \"0px\",\n * onUpdate: useCallback(([entry]) => {\n * const { intersectionRatio } = entry;\n * setState((prevState) => {\n * return {\n * ratio: intersectionRatio,\n * increasing: intersectionRatio > prevState.ratio,\n * };\n * });\n * }, []),\n * });\n *\n * return (\n * <div\n * ref={targetRef}\n * className={styles.box}\n * style={{\n * backgroundColor: (increasing ? INCREASING : DECREASING).replace(\n * \"ratio\",\n * `${ratio}`\n * ),\n * }}\n * >\n * <div className={styles.vertical}>\n * Welcome to <strong>The Box!</strong>\n * </div>\n * </div>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n */\nexport function useIntersectionObserver<E extends HTMLElement>(\n options: IntersectionObserverHookOptions<E>\n): RefCallback<E> {\n const {\n ref,\n root,\n disabled = false,\n onUpdate,\n threshold,\n rootMargin,\n getTargets,\n getThreshold,\n getRootMargin,\n } = options;\n\n const [targetNodeRef, targetRef] = useEnsuredRef(ref);\n\n useEffect(() => {\n const element = targetNodeRef.current;\n let targets: readonly Element[] = [];\n if (getTargets) {\n targets = getTargets();\n } else if (element) {\n targets = [element];\n }\n\n if (disabled || !targets.length) {\n return;\n }\n\n let resolvedRoot: IntersectionObserverRoot;\n if (root && \"current\" in root) {\n resolvedRoot = root.current;\n } else {\n resolvedRoot = root;\n }\n\n const options: IntersectionObserverInit = {\n root: resolvedRoot,\n threshold: (getThreshold || (() => threshold))(),\n rootMargin: (getRootMargin || (() => rootMargin))(),\n };\n\n // Just like the ResizeObserver, you can see performance improvements by\n // sharing a single intersection observer but I don't think it's worth the\n // effort to implement here since I'd need to:\n // - check if there is an observer with the same options\n // - if there is, add the callback to that existing observer\n // - if there isn't, create a new observer\n // - when cleaning up, check if there are any other existing callbacks\n // - disconnect and remove the observer if there are none left\n const observer = new IntersectionObserver(onUpdate, options);\n targets.forEach((target) => {\n observer.observe(target);\n });\n\n return () => {\n observer.disconnect();\n };\n }, [\n disabled,\n getRootMargin,\n getTargets,\n getThreshold,\n onUpdate,\n root,\n rootMargin,\n targetNodeRef,\n threshold,\n ]);\n\n return targetRef;\n}\n"],"names":["useEffect","useEnsuredRef","useIntersectionObserver","options","ref","root","disabled","onUpdate","threshold","rootMargin","getTargets","getThreshold","getRootMargin","targetNodeRef","targetRef","element","current","targets","length","resolvedRoot","observer","IntersectionObserver","forEach","target","observe","disconnect"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,aAAa,QAAQ,qBAAqB;AA2LnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DC,GACD,OAAO,SAASC,wBACdC,OAA2C;IAE3C,MAAM,EACJC,GAAG,EACHC,IAAI,EACJC,WAAW,KAAK,EAChBC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,aAAa,EACd,GAAGT;IAEJ,MAAM,CAACU,eAAeC,UAAU,GAAGb,cAAcG;IAEjDJ,UAAU;QACR,MAAMe,UAAUF,cAAcG,OAAO;QACrC,IAAIC,UAA8B,EAAE;QACpC,IAAIP,YAAY;YACdO,UAAUP;QACZ,OAAO,IAAIK,SAAS;YAClBE,UAAU;gBAACF;aAAQ;QACrB;QAEA,IAAIT,YAAY,CAACW,QAAQC,MAAM,EAAE;YAC/B;QACF;QAEA,IAAIC;QACJ,IAAId,QAAQ,aAAaA,MAAM;YAC7Bc,eAAed,KAAKW,OAAO;QAC7B,OAAO;YACLG,eAAed;QACjB;QAEA,MAAMF,UAAoC;YACxCE,MAAMc;YACNX,WAAW,AAACG,CAAAA,gBAAiB,CAAA,IAAMH,SAAQ,CAAC;YAC5CC,YAAY,AAACG,CAAAA,iBAAkB,CAAA,IAAMH,UAAS,CAAC;QACjD;QAEA,wEAAwE;QACxE,0EAA0E;QAC1E,8CAA8C;QAC9C,wDAAwD;QACxD,8DAA8D;QAC9D,4CAA4C;QAC5C,sEAAsE;QACtE,gEAAgE;QAChE,MAAMW,WAAW,IAAIC,qBAAqBd,UAAUJ;QACpDc,QAAQK,OAAO,CAAC,CAACC;YACfH,SAASI,OAAO,CAACD;QACnB;QAEA,OAAO;YACLH,SAASK,UAAU;QACrB;IACF,GAAG;QACDnB;QACAM;QACAF;QACAC;QACAJ;QACAF;QACAI;QACAI;QACAL;KACD;IAED,OAAOM;AACT"}
@@ -1,9 +1,9 @@
1
1
  import type { UseStateInitializer, UseStateSetter } from "./types.js";
2
- /** @remarks \@since 6.0.0 */
2
+ /** @since 6.0.0 */
3
3
  export type LocalStorageSerializer<T> = (value: T) => string;
4
- /** @remarks \@since 6.0.0 */
4
+ /** @since 6.0.0 */
5
5
  export type LocalStorageDeserializer<T> = (item: string) => T;
6
- /** @remarks \@since 6.0.0 */
6
+ /** @since 6.0.0 */
7
7
  export interface LocalStorageHookOptions<T> {
8
8
  /**
9
9
  * The local storage key name to use.
@@ -54,10 +54,10 @@ export interface LocalStorageHookOptions<T> {
54
54
  deserializer?: LocalStorageDeserializer<T>;
55
55
  }
56
56
  /**
57
- * @remarks \@since 6.0.0
57
+ * @since 6.0.0
58
58
  */
59
59
  export declare const defaultLocalStorageSerializer: <T>(value: T) => string;
60
- /** @remarks \@since 6.0.0 */
60
+ /** @since 6.0.0 */
61
61
  export interface GetItemFromStorageOptions<T> {
62
62
  /**
63
63
  * The storage key to use
@@ -107,10 +107,10 @@ export interface GetItemFromStorageOptions<T> {
107
107
  * });
108
108
  * ```
109
109
  *
110
- * @remarks \@since 6.0.0
110
+ * @since 6.0.0
111
111
  */
112
112
  export declare const getItemFromStorage: <T>(options: GetItemFromStorageOptions<T>) => T;
113
- /** @remarks \@since 6.0.0 */
113
+ /** @since 6.0.0 */
114
114
  export interface SetItemInStorageOptions<T> {
115
115
  key: string;
116
116
  value: T;
@@ -148,11 +148,11 @@ export interface SetItemInStorageOptions<T> {
148
148
  * });
149
149
  * ```
150
150
  *
151
- * @remarks \@since 6.0.0
151
+ * @since 6.0.0
152
152
  */
153
153
  export declare const setItemInStorage: <T>(options: SetItemInStorageOptions<T>) => void;
154
154
  /**
155
- * @remarks \@since 6.0.0
155
+ * @since 6.0.0
156
156
  * @internal
157
157
  */
158
158
  interface RemoveItemFromStorageOptions {
@@ -161,11 +161,11 @@ interface RemoveItemFromStorageOptions {
161
161
  storage?: Storage;
162
162
  }
163
163
  /**
164
- * @remarks \@since 6.0.0
164
+ * @since 6.0.0
165
165
  * @internal
166
166
  */
167
167
  export declare const removeItemFromStorage: (options: RemoveItemFromStorageOptions) => void;
168
- /** @remarks \@since 6.0.0 */
168
+ /** @since 6.0.0 */
169
169
  export interface LocalStorageHookReturnValue<T> {
170
170
  value: T;
171
171
  /**
@@ -182,8 +182,7 @@ export interface LocalStorageHookReturnValue<T> {
182
182
  * Manually persist the current {@link value} into local storage. This is only
183
183
  * useful if the {@link LocalStorageHookOptions.manual} option is `true`.
184
184
  *
185
- * @example
186
- * Manual Persisting
185
+ * @example Manual Persisting
187
186
  * ```tsx
188
187
  * import type { ReactElement } from "react";
189
188
  *
@@ -216,8 +215,7 @@ export interface LocalStorageHookReturnValue<T> {
216
215
  persist(): void;
217
216
  }
218
217
  /**
219
- * @example
220
- * Simple Example
218
+ * @example Simple Example
221
219
  * ```tsx
222
220
  * import type { ReactElement } from "react";
223
221
  * import { TextField, useLocalStorage } from "@react-md/core";
@@ -242,8 +240,7 @@ export interface LocalStorageHookReturnValue<T> {
242
240
  * }
243
241
  * ```
244
242
  *
245
- * @example
246
- * Type-safe Objects
243
+ * @example Type-safe Objects
247
244
  * ```tsx
248
245
  * import type { ReactElement } from "react";
249
246
  * import { useLocalStorage } from "@react-md/core";
@@ -278,8 +275,7 @@ export interface LocalStorageHookReturnValue<T> {
278
275
  * }
279
276
  * ```
280
277
  *
281
- * @example
282
- * Manual Persistence
278
+ * @example Manual Persistence
283
279
  * ```tsx
284
280
  * import type { ReactElement } from "react";
285
281
  * import { Button, Checkbox, Form, useLocalStorage } from "@react-md/core";
@@ -321,8 +317,7 @@ export interface LocalStorageHookReturnValue<T> {
321
317
  * was updated in a separate tab with the `"storage"` event. You must setup your
322
318
  * own context to share values or another state manager solution.
323
319
  *
324
- * @example
325
- * Shared Value
320
+ * @example Shared Value
326
321
  * ```tsx
327
322
  * const context = createContext(null);
328
323
  * const { Provider } = context;
@@ -367,7 +362,7 @@ export interface LocalStorageHookReturnValue<T> {
367
362
  * }
368
363
  * ```
369
364
  *
370
- * @remarks \@since 6.0.0
365
+ * @since 6.0.0
371
366
  */
372
367
  export declare function useLocalStorage<T>(options: LocalStorageHookOptions<T>): LocalStorageHookReturnValue<T>;
373
368
  export {};