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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1198) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +11 -7
  3. package/.turbo/turbo-lint.log +12 -12
  4. package/.turbo/turbo-test.log +5512 -166
  5. package/.turbo/turbo-typecheck.log +4 -4
  6. package/CHANGELOG.md +177 -0
  7. package/README.md +39 -24
  8. package/coverage/clover.xml +2 -2
  9. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  10. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  11. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  12. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  13. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  14. package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
  15. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
  16. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +178 -232
  17. package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
  18. package/coverage/lcov-report/Portal.tsx.html +223 -0
  19. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  20. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  21. package/coverage/lcov-report/Select.tsx.html +1411 -0
  22. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  23. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  24. package/coverage/lcov-report/SrOnly.tsx.html +328 -0
  25. package/coverage/lcov-report/Tab.tsx.html +261 -147
  26. package/coverage/lcov-report/Toast.tsx.html +868 -0
  27. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  28. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  29. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  30. package/coverage/lcov-report/Typography.tsx.html +1027 -0
  31. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  32. package/coverage/lcov-report/app-bar/index.html +7 -7
  33. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  34. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +475 -0
  35. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  36. package/coverage/lcov-report/autocomplete/index.html +221 -0
  37. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  38. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +1273 -0
  39. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +829 -0
  40. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +715 -0
  41. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  42. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +430 -0
  43. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +310 -0
  44. package/coverage/lcov-report/autocomplete/utils.ts.html +196 -0
  45. package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
  46. package/coverage/lcov-report/avatar/index.html +19 -34
  47. package/coverage/lcov-report/avatar/styles.ts.html +1 -1
  48. package/coverage/lcov-report/button/Button.tsx.html +85 -85
  49. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  50. package/coverage/lcov-report/button/index.html +12 -12
  51. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  52. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  53. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  54. package/coverage/lcov-report/card/index.html +21 -21
  55. package/coverage/lcov-report/card/styles.ts.html +428 -392
  56. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  57. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
  58. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
  59. package/coverage/lcov-report/dialog/index.html +34 -19
  60. package/coverage/lcov-report/draggable/index.html +21 -36
  61. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  62. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  63. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  64. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  65. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  66. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  67. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  68. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  69. package/coverage/lcov-report/form/Label.tsx.html +442 -0
  70. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  71. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  72. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  73. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +442 -0
  74. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +310 -0
  75. package/coverage/lcov-report/form/Select.tsx.html +1456 -0
  76. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  77. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  78. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  79. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +727 -0
  80. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  81. package/coverage/lcov-report/form/TextArea.tsx.html +596 -740
  82. package/coverage/lcov-report/form/TextArea2.tsx.html +985 -0
  83. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +1006 -0
  84. package/coverage/lcov-report/form/TextField.tsx.html +156 -234
  85. package/coverage/lcov-report/form/index.html +111 -21
  86. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  87. package/coverage/lcov-report/form/textAreaStyles.ts.html +8 -11
  88. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  89. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  90. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  91. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  92. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  93. package/coverage/lcov-report/form/useResizingTextArea.ts.html +631 -0
  94. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +631 -0
  95. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  96. package/coverage/lcov-report/form/utils.ts.html +209 -170
  97. package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
  98. package/coverage/lcov-report/icon/FontIcon.tsx.html +64 -64
  99. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  100. package/coverage/lcov-report/icon/index.html +19 -19
  101. package/coverage/lcov-report/index.html +1 -1
  102. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  103. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  104. package/coverage/lcov-report/interaction/index.html +33 -18
  105. package/coverage/lcov-report/list/List.tsx.html +490 -0
  106. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  107. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  108. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  109. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  110. package/coverage/lcov-report/list/index.html +81 -6
  111. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  112. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  113. package/coverage/lcov-report/media-queries/index.html +1 -1
  114. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
  115. package/coverage/lcov-report/menu/Menu.tsx.html +276 -252
  116. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  117. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +433 -0
  118. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  119. package/coverage/lcov-report/menu/index.html +14 -44
  120. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  121. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
  122. package/coverage/lcov-report/movement/index.html +19 -19
  123. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  124. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  125. package/coverage/lcov-report/positioning/index.html +30 -30
  126. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  127. package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
  128. package/coverage/lcov-report/progress/index.html +19 -34
  129. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  130. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  131. package/coverage/lcov-report/searching/index.html +146 -0
  132. package/coverage/lcov-report/searching/toSearchQuery.ts.html +145 -0
  133. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +211 -0
  134. package/coverage/lcov-report/searching/utils.ts.html +244 -0
  135. package/coverage/lcov-report/sheet/index.html +8 -8
  136. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  137. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  138. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  139. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  140. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  141. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  142. package/coverage/lcov-report/snackbar/index.html +59 -14
  143. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  144. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  145. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  146. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  147. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  148. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  149. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  150. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  151. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  152. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  153. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  154. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +364 -0
  155. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  156. package/coverage/lcov-report/src/autocomplete/index.html +221 -0
  157. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +637 -0
  158. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +829 -0
  159. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +715 -0
  160. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +430 -0
  161. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +241 -0
  162. package/coverage/lcov-report/src/autocomplete/utils.ts.html +196 -0
  163. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  164. package/coverage/lcov-report/src/avatar/index.html +1 -1
  165. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  166. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  167. package/coverage/lcov-report/src/badge/index.html +1 -1
  168. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  169. package/coverage/lcov-report/src/box/index.html +23 -8
  170. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  171. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  172. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  173. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  174. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  175. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  176. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  177. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  178. package/coverage/lcov-report/src/button/index.html +8 -23
  179. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  180. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  181. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  182. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  183. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  184. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  185. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  186. package/coverage/lcov-report/src/card/index.html +24 -9
  187. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  188. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  189. package/coverage/lcov-report/src/chip/index.html +7 -7
  190. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  191. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  192. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  193. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  194. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  195. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  196. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  197. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  198. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  199. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  200. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  201. package/coverage/lcov-report/src/dialog/index.html +129 -9
  202. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  203. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  204. package/coverage/lcov-report/src/divider/index.html +5 -5
  205. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  206. package/coverage/lcov-report/src/draggable/index.html +27 -27
  207. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  208. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  209. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  210. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  211. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  212. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  213. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  214. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  215. package/coverage/lcov-report/src/focus/index.html +1 -1
  216. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  217. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  218. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  219. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  220. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  221. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  222. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  223. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  224. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  225. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  226. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  227. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  228. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  229. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  230. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
  231. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  232. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
  233. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
  234. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  235. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  236. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  237. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  238. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  239. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  240. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  241. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +988 -0
  242. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +310 -0
  243. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1122
  244. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  245. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +694 -0
  246. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  247. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  248. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  249. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  250. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  251. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  252. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  253. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  254. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  255. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  256. package/coverage/lcov-report/src/form/TextArea.tsx.html +646 -580
  257. package/coverage/lcov-report/src/form/TextArea2.tsx.html +985 -0
  258. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +985 -0
  259. package/coverage/lcov-report/src/form/TextField.tsx.html +3 -3
  260. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  261. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  262. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  263. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  264. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  265. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  266. package/coverage/lcov-report/src/form/index.html +81 -21
  267. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  268. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  269. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  270. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  271. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  272. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  273. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  274. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  275. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  276. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  277. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  278. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  279. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  280. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  281. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  282. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  283. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  284. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  285. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  286. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  287. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  288. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +405 -294
  289. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  290. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  291. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  292. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  293. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  294. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  295. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  296. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  297. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  298. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  299. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  300. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  301. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  302. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  303. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
  304. package/coverage/lcov-report/src/icon/index.html +10 -145
  305. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  306. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  307. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  308. package/coverage/lcov-report/src/index.html +10 -10
  309. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  310. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  311. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  312. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  313. package/coverage/lcov-report/src/interaction/index.html +1 -1
  314. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  315. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +19 -19
  316. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  317. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  318. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  319. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  320. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  321. package/coverage/lcov-report/src/layout/index.html +15 -15
  322. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  323. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  324. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  325. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  326. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  327. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  328. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  329. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  330. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  331. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  332. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  333. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  334. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  335. package/coverage/lcov-report/src/link/index.html +1 -1
  336. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  337. package/coverage/lcov-report/src/list/List.tsx.html +1 -1
  338. package/coverage/lcov-report/src/list/ListItem.tsx.html +158 -137
  339. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +45 -39
  340. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +88 -82
  341. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +5 -5
  342. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  343. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  344. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
  345. package/coverage/lcov-report/src/list/index.html +13 -13
  346. package/coverage/lcov-report/src/list/listItemStyles.ts.html +102 -72
  347. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  348. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  349. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  350. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +28 -28
  351. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  352. package/coverage/lcov-report/src/menu/Menu.tsx.html +4 -4
  353. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  354. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  355. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  356. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  357. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  358. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +433 -0
  359. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  360. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  361. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  362. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  363. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  364. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  365. package/coverage/lcov-report/src/menu/index.html +13 -238
  366. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  367. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  368. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  369. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  370. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  371. package/coverage/lcov-report/src/movement/index.html +17 -62
  372. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  373. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  374. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  375. package/coverage/lcov-report/src/overlay/index.html +1 -1
  376. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  377. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  378. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  379. package/coverage/lcov-report/src/portal/index.html +7 -7
  380. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  381. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  382. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  383. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  384. package/coverage/lcov-report/src/positioning/index.html +1 -1
  385. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  386. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  387. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +83 -83
  388. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  389. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  390. package/coverage/lcov-report/src/progress/index.html +20 -5
  391. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  392. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  393. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  394. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  395. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  396. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  397. package/coverage/lcov-report/src/scroll/index.html +1 -1
  398. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  399. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  400. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  401. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  402. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  403. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  404. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  405. package/coverage/lcov-report/src/sheet/index.html +5 -5
  406. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  407. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  408. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  409. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  410. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  411. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  412. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  413. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  414. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  415. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  416. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  417. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  418. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  419. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  420. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
  421. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  422. package/coverage/lcov-report/src/suspense/index.html +36 -21
  423. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  424. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  425. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  426. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  427. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  428. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  429. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  430. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  431. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  432. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  433. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  434. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  435. package/coverage/lcov-report/src/table/index.html +151 -46
  436. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  437. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  438. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  439. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  440. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  441. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  442. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  443. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  444. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  445. package/coverage/lcov-report/src/tabs/index.html +25 -25
  446. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  447. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  448. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  449. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  450. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  451. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  452. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  453. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  454. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +402 -261
  455. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
  456. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  457. package/coverage/lcov-report/src/test-utils/index.html +12 -117
  458. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  459. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +55 -55
  460. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  461. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  462. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  463. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  464. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  465. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  466. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  467. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  468. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  469. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  470. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  471. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  472. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  473. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  474. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  475. package/coverage/lcov-report/src/theme/index.html +1 -1
  476. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  477. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  478. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  479. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  480. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  481. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  482. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  483. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  484. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  485. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  486. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  487. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  488. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  489. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  490. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  491. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  492. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  493. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  494. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  495. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  496. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  497. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +1 -1
  498. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  499. package/coverage/lcov-report/src/transition/index.html +49 -34
  500. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  501. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  502. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  503. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  504. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +10 -64
  505. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  506. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  507. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  508. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  509. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  510. package/coverage/lcov-report/src/transition/useTransition.ts.html +232 -232
  511. package/coverage/lcov-report/src/transition/utils.ts.html +45 -45
  512. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  513. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  514. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +1 -1
  515. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  516. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  517. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +1 -1
  518. package/coverage/lcov-report/src/tree/index.html +16 -196
  519. package/coverage/lcov-report/src/tree/styles.ts.html +4 -31
  520. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  521. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  522. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  523. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +87 -87
  524. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  525. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  526. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
  527. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  528. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  529. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  530. package/coverage/lcov-report/src/typography/index.html +1 -1
  531. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  532. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +246 -240
  533. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  534. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  535. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  536. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  537. package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
  538. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  539. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  540. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  541. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  542. package/coverage/lcov-report/src/useOrientation.ts.html +30 -30
  543. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  544. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  545. package/coverage/lcov-report/src/useResizeObserver.ts.html +133 -244
  546. package/coverage/lcov-report/src/useThrottledFunction.ts.html +57 -51
  547. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  548. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  549. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  550. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  551. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  552. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  553. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  554. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  555. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  556. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  557. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  558. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  559. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  560. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  561. package/coverage/lcov-report/src/utils/index.html +13 -253
  562. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  563. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  564. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  565. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  566. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  567. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  568. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  569. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  570. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  571. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  572. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  573. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  574. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  575. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  576. package/coverage/lcov-report/suspense/index.html +131 -0
  577. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  578. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  579. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  580. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  581. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  582. package/coverage/lcov-report/tabs/index.html +56 -11
  583. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  584. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  585. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  586. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  587. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  588. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  589. package/coverage/lcov-report/test-utils/index.html +21 -21
  590. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  591. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  592. package/coverage/lcov-report/tooltip/index.html +10 -70
  593. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  594. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  595. package/coverage/lcov-report/transition/config.ts.html +5 -5
  596. package/coverage/lcov-report/transition/index.html +1 -1
  597. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  598. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  599. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  600. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  601. package/coverage/lcov-report/tree/index.html +17 -47
  602. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  603. package/coverage/lcov-report/tree/useTreeMovement.ts.html +140 -143
  604. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  605. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  606. package/coverage/lcov-report/typography/index.html +18 -18
  607. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  608. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  609. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  610. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  611. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  612. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  613. package/coverage/lcov-report/useTabList.ts.html +142 -136
  614. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  615. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  616. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  617. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  618. package/coverage/lcov-report/utils/index.html +15 -30
  619. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  620. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  621. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  622. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  623. package/coverage/lcov-report/utils.ts.html +109 -277
  624. package/coverage/lcov-report/window-splitter/index.html +21 -36
  625. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  626. package/dist/RootHtml.d.ts +62 -0
  627. package/dist/RootHtml.js +49 -0
  628. package/dist/RootHtml.js.map +1 -0
  629. package/dist/_box-shadows.scss +12 -2
  630. package/dist/_core.scss +207 -253
  631. package/dist/_utils.scss +89 -0
  632. package/dist/app-bar/AppBar.d.ts +4 -9
  633. package/dist/app-bar/AppBar.js +29 -7
  634. package/dist/app-bar/AppBar.js.map +1 -1
  635. package/dist/app-bar/_app-bar.scss +114 -122
  636. package/dist/avatar/Avatar.d.ts +15 -1
  637. package/dist/avatar/Avatar.js +5 -2
  638. package/dist/avatar/Avatar.js.map +1 -1
  639. package/dist/avatar/_avatar.scss +74 -81
  640. package/dist/badge/_badge.scss +97 -59
  641. package/dist/box/_box.scss +72 -81
  642. package/dist/button/TooltippedButton.d.ts +62 -0
  643. package/dist/button/TooltippedButton.js +62 -0
  644. package/dist/button/TooltippedButton.js.map +1 -0
  645. package/dist/button/_button.scss +170 -180
  646. package/dist/card/Card.js +3 -2
  647. package/dist/card/Card.js.map +1 -1
  648. package/dist/card/CardContent.js +1 -1
  649. package/dist/card/CardContent.js.map +1 -1
  650. package/dist/card/ClickableCard.d.ts +42 -0
  651. package/dist/card/ClickableCard.js +73 -0
  652. package/dist/card/ClickableCard.js.map +1 -0
  653. package/dist/card/_card.scss +81 -82
  654. package/dist/card/styles.d.ts +8 -0
  655. package/dist/card/styles.js +6 -3
  656. package/dist/card/styles.js.map +1 -1
  657. package/dist/chip/_chip.scss +137 -148
  658. package/dist/dialog/FixedDialog.d.ts +5 -4
  659. package/dist/dialog/FixedDialog.js +5 -4
  660. package/dist/dialog/FixedDialog.js.map +1 -1
  661. package/dist/dialog/_dialog.scss +179 -162
  662. package/dist/divider/Divider.d.ts +0 -1
  663. package/dist/divider/Divider.js.map +1 -1
  664. package/dist/divider/_divider.scss +61 -70
  665. package/dist/draggable/_draggable.scss +16 -12
  666. package/dist/draggable/useDraggable.d.ts +12 -23
  667. package/dist/draggable/useDraggable.js +15 -6
  668. package/dist/draggable/useDraggable.js.map +1 -1
  669. package/dist/draggable/utils.d.ts +4 -17
  670. package/dist/draggable/utils.js +9 -25
  671. package/dist/draggable/utils.js.map +1 -1
  672. package/dist/expansion-panel/_expansion-panel.scss +76 -50
  673. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  674. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  675. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  676. package/dist/form/Form.d.ts +1 -1
  677. package/dist/form/Form.js +2 -1
  678. package/dist/form/Form.js.map +1 -1
  679. package/dist/form/Label.d.ts +5 -5
  680. package/dist/form/Label.js.map +1 -1
  681. package/dist/form/MenuItemInputToggle.d.ts +2 -15
  682. package/dist/form/MenuItemInputToggle.js +26 -37
  683. package/dist/form/MenuItemInputToggle.js.map +1 -1
  684. package/dist/form/NativeSelect.d.ts +5 -2
  685. package/dist/form/NativeSelect.js.map +1 -1
  686. package/dist/form/Option.js +3 -2
  687. package/dist/form/Option.js.map +1 -1
  688. package/dist/form/ResizingTextAreaWrapper.d.ts +19 -0
  689. package/dist/form/ResizingTextAreaWrapper.js +35 -0
  690. package/dist/form/ResizingTextAreaWrapper.js.map +1 -0
  691. package/dist/form/Select.d.ts +105 -15
  692. package/dist/form/Select.js +160 -244
  693. package/dist/form/Select.js.map +1 -1
  694. package/dist/form/SelectedOption.d.ts +21 -0
  695. package/dist/form/SelectedOption.js +37 -0
  696. package/dist/form/SelectedOption.js.map +1 -0
  697. package/dist/form/TextArea.d.ts +11 -0
  698. package/dist/form/TextArea.js +19 -29
  699. package/dist/form/TextArea.js.map +1 -1
  700. package/dist/form/TextField.d.ts +2 -2
  701. package/dist/form/TextField.js +7 -6
  702. package/dist/form/TextField.js.map +1 -1
  703. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  704. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  705. package/dist/form/_form.scss +1336 -1260
  706. package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
  707. package/dist/form/menuItemInputToggleStyles.js +31 -0
  708. package/dist/form/menuItemInputToggleStyles.js.map +1 -0
  709. package/dist/form/selectUtils.d.ts +1 -3
  710. package/dist/form/selectUtils.js +2 -10
  711. package/dist/form/selectUtils.js.map +1 -1
  712. package/dist/form/textAreaStyles.d.ts +2 -2
  713. package/dist/form/textAreaStyles.js.map +1 -1
  714. package/dist/form/types.d.ts +6 -8
  715. package/dist/form/types.js.map +1 -1
  716. package/dist/form/useCombobox.d.ts +157 -0
  717. package/dist/form/useCombobox.js +206 -0
  718. package/dist/form/useCombobox.js.map +1 -0
  719. package/dist/form/useEditableCombobox.d.ts +15 -0
  720. package/dist/form/useEditableCombobox.js +101 -0
  721. package/dist/form/useEditableCombobox.js.map +1 -0
  722. package/dist/form/useFormReset.d.ts +16 -0
  723. package/dist/form/useFormReset.js +32 -0
  724. package/dist/form/useFormReset.js.map +1 -0
  725. package/dist/form/useListboxProvider.d.ts +4 -2
  726. package/dist/form/useListboxProvider.js +6 -8
  727. package/dist/form/useListboxProvider.js.map +1 -1
  728. package/dist/form/useResizingTextArea.d.ts +5 -2
  729. package/dist/form/useResizingTextArea.js +52 -21
  730. package/dist/form/useResizingTextArea.js.map +1 -1
  731. package/dist/form/useSelectCombobox.d.ts +17 -0
  732. package/dist/form/useSelectCombobox.js +36 -0
  733. package/dist/form/useSelectCombobox.js.map +1 -0
  734. package/dist/form/utils.d.ts +11 -1
  735. package/dist/form/utils.js +6 -0
  736. package/dist/form/utils.js.map +1 -1
  737. package/dist/icon/IconRotator.js +2 -3
  738. package/dist/icon/IconRotator.js.map +1 -1
  739. package/dist/icon/_icon.scss +105 -112
  740. package/dist/index.d.ts +22 -1
  741. package/dist/index.js +22 -1
  742. package/dist/index.js.map +1 -1
  743. package/dist/interaction/_interaction.scss +144 -135
  744. package/dist/layout/_layout.scss +82 -86
  745. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  746. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  747. package/dist/link/_link.scss +74 -66
  748. package/dist/list/ListItem.d.ts +8 -3
  749. package/dist/list/ListItem.js +4 -3
  750. package/dist/list/ListItem.js.map +1 -1
  751. package/dist/list/ListItemAddon.js +2 -1
  752. package/dist/list/ListItemAddon.js.map +1 -1
  753. package/dist/list/ListItemChildren.js +3 -2
  754. package/dist/list/ListItemChildren.js.map +1 -1
  755. package/dist/list/ListItemLink.js +3 -3
  756. package/dist/list/ListItemLink.js.map +1 -1
  757. package/dist/list/_list.scss +187 -184
  758. package/dist/list/getListItemHeight.d.ts +0 -1
  759. package/dist/list/getListItemHeight.js +2 -2
  760. package/dist/list/getListItemHeight.js.map +1 -1
  761. package/dist/list/listItemStyles.d.ts +9 -1
  762. package/dist/list/listItemStyles.js +5 -5
  763. package/dist/list/listItemStyles.js.map +1 -1
  764. package/dist/list/types.d.ts +25 -6
  765. package/dist/list/types.js.map +1 -1
  766. package/dist/menu/Menu.d.ts +1 -1
  767. package/dist/menu/Menu.js +12 -1
  768. package/dist/menu/Menu.js.map +1 -1
  769. package/dist/menu/MenuItemCircularProgress.d.ts +60 -0
  770. package/dist/menu/MenuItemCircularProgress.js +74 -0
  771. package/dist/menu/MenuItemCircularProgress.js.map +1 -0
  772. package/dist/menu/_menu.scss +29 -50
  773. package/dist/menu/useContextMenu.d.ts +3 -3
  774. package/dist/menu/useContextMenu.js +3 -3
  775. package/dist/menu/useContextMenu.js.map +1 -1
  776. package/dist/movement/types.d.ts +40 -21
  777. package/dist/movement/types.js.map +1 -1
  778. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  779. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  780. package/dist/movement/utils.d.ts +7 -2
  781. package/dist/movement/utils.js +10 -0
  782. package/dist/movement/utils.js.map +1 -1
  783. package/dist/overlay/_overlay.scss +39 -42
  784. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  785. package/dist/portal/PortalContainerProvider.js +6 -1
  786. package/dist/portal/PortalContainerProvider.js.map +1 -1
  787. package/dist/positioning/useFixedPositioning.js +0 -8
  788. package/dist/positioning/useFixedPositioning.js.map +1 -1
  789. package/dist/progress/_progress.scss +33 -33
  790. package/dist/responsive-item/_responsive-item.scss +91 -89
  791. package/dist/searching/caseInsensitive.d.ts +150 -0
  792. package/dist/searching/caseInsensitive.js +30 -0
  793. package/dist/searching/caseInsensitive.js.map +1 -0
  794. package/dist/searching/fuzzy.d.ts +128 -0
  795. package/dist/searching/fuzzy.js +54 -0
  796. package/dist/searching/fuzzy.js.map +1 -0
  797. package/dist/searching/toSearchQuery.d.ts +7 -0
  798. package/dist/searching/toSearchQuery.js +15 -0
  799. package/dist/searching/toSearchQuery.js.map +1 -0
  800. package/dist/searching/types.d.ts +28 -0
  801. package/dist/searching/types.js +5 -0
  802. package/dist/searching/types.js.map +1 -0
  803. package/dist/searching/useFuzzyMatch.d.ts +19 -0
  804. package/dist/searching/useFuzzyMatch.js +26 -0
  805. package/dist/searching/useFuzzyMatch.js.map +1 -0
  806. package/dist/searching/utils.d.ts +21 -0
  807. package/dist/searching/utils.js +28 -0
  808. package/dist/searching/utils.js.map +1 -0
  809. package/dist/segmented-button/_segmented-button.scss +86 -92
  810. package/dist/sheet/_sheet.scss +107 -123
  811. package/dist/sheet/styles.d.ts +14 -15
  812. package/dist/sheet/styles.js.map +1 -1
  813. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  814. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  815. package/dist/snackbar/Snackbar.d.ts +10 -10
  816. package/dist/snackbar/Snackbar.js +3 -3
  817. package/dist/snackbar/Snackbar.js.map +1 -1
  818. package/dist/snackbar/Toast.d.ts +1 -1
  819. package/dist/snackbar/Toast.js +5 -1
  820. package/dist/snackbar/Toast.js.map +1 -1
  821. package/dist/snackbar/ToastManager.d.ts +2 -1
  822. package/dist/snackbar/ToastManager.js +1 -1
  823. package/dist/snackbar/ToastManager.js.map +1 -1
  824. package/dist/snackbar/_snackbar.scss +148 -144
  825. package/dist/snackbar/snackbarStyles.d.ts +1 -0
  826. package/dist/snackbar/snackbarStyles.js +2 -1
  827. package/dist/snackbar/snackbarStyles.js.map +1 -1
  828. package/dist/table/TableCheckbox.d.ts +3 -2
  829. package/dist/table/TableCheckbox.js +4 -2
  830. package/dist/table/TableCheckbox.js.map +1 -1
  831. package/dist/table/TableRadio.d.ts +3 -2
  832. package/dist/table/TableRadio.js +4 -2
  833. package/dist/table/TableRadio.js.map +1 -1
  834. package/dist/table/_table.scss +214 -227
  835. package/dist/table/tableCellStyles.d.ts +1 -1
  836. package/dist/table/tableCellStyles.js.map +1 -1
  837. package/dist/tabs/Tab.d.ts +24 -3
  838. package/dist/tabs/Tab.js +15 -8
  839. package/dist/tabs/Tab.js.map +1 -1
  840. package/dist/tabs/_tabs.scss +62 -53
  841. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  842. package/dist/tabs/tabIndicatorStyles.js +6 -3
  843. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  844. package/dist/tabs/tabListStyles.js +2 -1
  845. package/dist/tabs/tabListStyles.js.map +1 -1
  846. package/dist/tabs/tabStyles.d.ts +2 -0
  847. package/dist/tabs/tabStyles.js +6 -3
  848. package/dist/tabs/tabStyles.js.map +1 -1
  849. package/dist/tabs/useTabList.d.ts +3 -3
  850. package/dist/tabs/useTabList.js +9 -6
  851. package/dist/tabs/useTabList.js.map +1 -1
  852. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  853. package/dist/test-utils/ResizeObserver.d.ts +214 -0
  854. package/dist/test-utils/ResizeObserver.js +69 -49
  855. package/dist/test-utils/ResizeObserver.js.map +1 -1
  856. package/dist/test-utils/data-testid.d.ts +7 -0
  857. package/dist/test-utils/data-testid.js +1 -0
  858. package/dist/test-utils/data-testid.js.map +1 -1
  859. package/dist/test-utils/drag.d.ts +26 -0
  860. package/dist/test-utils/index.d.ts +7 -0
  861. package/dist/test-utils/jest-setup.d.ts +1 -0
  862. package/dist/test-utils/matchMedia.d.ts +101 -0
  863. package/dist/test-utils/matchMedia.js +2 -2
  864. package/dist/test-utils/matchMedia.js.map +1 -1
  865. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  866. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  867. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  868. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  869. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  870. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  871. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  872. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  873. package/dist/test-utils/polyfills/index.d.ts +7 -0
  874. package/dist/test-utils/polyfills/index.js +2 -0
  875. package/dist/test-utils/polyfills/index.js.map +1 -1
  876. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  877. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  878. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  879. package/dist/test-utils/render.d.ts +13 -0
  880. package/dist/test-utils/timers.d.ts +39 -0
  881. package/dist/theme/_theme.scss +243 -133
  882. package/dist/tooltip/_tooltip.scss +76 -83
  883. package/dist/tooltip/useTooltip.d.ts +14 -14
  884. package/dist/tooltip/useTooltip.js.map +1 -1
  885. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  886. package/dist/transition/SkeletonPlaceholder.js +8 -3
  887. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  888. package/dist/transition/_transition.scss +89 -78
  889. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  890. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  891. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  892. package/dist/transition/useCollapseTransition.d.ts +3 -18
  893. package/dist/transition/useCollapseTransition.js +1 -10
  894. package/dist/transition/useCollapseTransition.js.map +1 -1
  895. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  896. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  897. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  898. package/dist/transition/utils.js +7 -2
  899. package/dist/transition/utils.js.map +1 -1
  900. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  901. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  902. package/dist/tree/Tree.d.ts +8 -4
  903. package/dist/tree/Tree.js.map +1 -1
  904. package/dist/tree/TreeItem.js +3 -4
  905. package/dist/tree/TreeItem.js.map +1 -1
  906. package/dist/tree/_tree.scss +111 -109
  907. package/dist/tree/styles.d.ts +0 -6
  908. package/dist/tree/styles.js +1 -2
  909. package/dist/tree/styles.js.map +1 -1
  910. package/dist/tree/useTreeMovement.js +1 -1
  911. package/dist/tree/useTreeMovement.js.map +1 -1
  912. package/dist/types.d.ts +13 -0
  913. package/dist/types.js +1 -2
  914. package/dist/types.js.map +1 -1
  915. package/dist/typography/SrOnly.d.ts +3 -3
  916. package/dist/typography/SrOnly.js +4 -4
  917. package/dist/typography/SrOnly.js.map +1 -1
  918. package/dist/typography/Typography.d.ts +19 -19
  919. package/dist/typography/Typography.js +19 -19
  920. package/dist/typography/Typography.js.map +1 -1
  921. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  922. package/dist/typography/WritingDirectionProvider.js +2 -2
  923. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  924. package/dist/typography/_typography.scss +141 -87
  925. package/dist/useDebouncedFunction.d.ts +2 -2
  926. package/dist/useDebouncedFunction.js +10 -6
  927. package/dist/useDebouncedFunction.js.map +1 -1
  928. package/dist/useElementSize.d.ts +40 -0
  929. package/dist/useElementSize.js +53 -0
  930. package/dist/useElementSize.js.map +1 -0
  931. package/dist/useEnsuredState.d.ts +1 -1
  932. package/dist/useEnsuredState.js.map +1 -1
  933. package/dist/useResizeListener.d.ts +1 -1
  934. package/dist/useResizeListener.js +1 -0
  935. package/dist/useResizeListener.js.map +1 -1
  936. package/dist/useResizeObserver.d.ts +4 -43
  937. package/dist/useResizeObserver.js +4 -43
  938. package/dist/useResizeObserver.js.map +1 -1
  939. package/dist/useThrottledFunction.d.ts +2 -2
  940. package/dist/useThrottledFunction.js +20 -16
  941. package/dist/useThrottledFunction.js.map +1 -1
  942. package/dist/useWindowSize.d.ts +14 -11
  943. package/dist/useWindowSize.js +12 -7
  944. package/dist/useWindowSize.js.map +1 -1
  945. package/dist/utils/alphaNumericSort.d.ts +1 -1
  946. package/dist/utils/alphaNumericSort.js +2 -10
  947. package/dist/utils/alphaNumericSort.js.map +1 -1
  948. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  949. package/dist/utils/getMiddleOfRange.js +20 -0
  950. package/dist/utils/getMiddleOfRange.js.map +1 -0
  951. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  952. package/dist/utils/getRangeDefaultValue.js +3 -13
  953. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  954. package/dist/utils/getRangeSteps.d.ts +1 -1
  955. package/dist/utils/getRangeSteps.js +2 -2
  956. package/dist/utils/getRangeSteps.js.map +1 -1
  957. package/dist/utils/nearest.js +1 -1
  958. package/dist/utils/nearest.js.map +1 -1
  959. package/dist/window-splitter/_window-splitter.scss +83 -112
  960. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  961. package/dist/window-splitter/useWindowSplitter.js +3 -11
  962. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  963. package/jest.config.ts +4 -0
  964. package/package.json +35 -40
  965. package/scripts/{copySassFiles.js → copySassFiles.ts} +5 -5
  966. package/scripts/tsconfig.json +18 -0
  967. package/src/RootHtml.tsx +95 -0
  968. package/src/__tests__/RootHtml.node.tsx +46 -0
  969. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  970. package/src/__tests__/useDebouncedFunction.tsx +65 -24
  971. package/src/__tests__/useElementSize.tsx +181 -0
  972. package/src/__tests__/useThrottledFunction.tsx +54 -0
  973. package/src/__tests__/useWindowSize.node.tsx +56 -0
  974. package/src/__tests__/useWindowSize.tsx +156 -0
  975. package/src/_box-shadows.scss +12 -2
  976. package/src/_core.scss +207 -253
  977. package/src/_utils.scss +89 -0
  978. package/src/app-bar/AppBar.tsx +59 -19
  979. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  980. package/src/app-bar/_app-bar.scss +114 -122
  981. package/src/avatar/Avatar.tsx +25 -4
  982. package/src/avatar/__tests__/Avatar.tsx +1 -1
  983. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  984. package/src/avatar/_avatar.scss +74 -81
  985. package/src/badge/_badge.scss +97 -59
  986. package/src/box/_box.scss +72 -81
  987. package/src/button/TooltippedButton.tsx +120 -0
  988. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  989. package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
  990. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  991. package/src/button/_button.scss +170 -180
  992. package/src/card/Card.tsx +5 -3
  993. package/src/card/CardContent.tsx +3 -3
  994. package/src/card/ClickableCard.tsx +105 -0
  995. package/src/card/__tests__/ClickableCard.tsx +66 -0
  996. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  997. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  998. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  999. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  1000. package/src/card/_card.scss +81 -82
  1001. package/src/card/styles.ts +19 -10
  1002. package/src/chip/_chip.scss +137 -148
  1003. package/src/dialog/FixedDialog.tsx +5 -4
  1004. package/src/dialog/_dialog.scss +179 -162
  1005. package/src/divider/Divider.tsx +0 -1
  1006. package/src/divider/_divider.scss +61 -70
  1007. package/src/draggable/_draggable.scss +16 -12
  1008. package/src/draggable/useDraggable.ts +26 -25
  1009. package/src/draggable/utils.ts +16 -50
  1010. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  1011. package/src/expansion-panel/_expansion-panel.scss +76 -50
  1012. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  1013. package/src/form/Form.tsx +2 -1
  1014. package/src/form/Label.tsx +5 -5
  1015. package/src/form/MenuItemInputToggle.tsx +46 -64
  1016. package/src/form/NativeSelect.tsx +6 -3
  1017. package/src/form/Option.tsx +8 -2
  1018. package/src/form/ResizingTextAreaWrapper.tsx +75 -0
  1019. package/src/form/Select.tsx +251 -327
  1020. package/src/form/SelectedOption.tsx +55 -0
  1021. package/src/form/TextArea.tsx +40 -32
  1022. package/src/form/TextField.tsx +19 -19
  1023. package/src/form/TextFieldContainerStyles.ts +7 -7
  1024. package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
  1025. package/src/form/__tests__/MenuItemRadio.tsx +53 -0
  1026. package/src/form/__tests__/Select.tsx +439 -0
  1027. package/src/form/__tests__/TextArea.tsx +433 -0
  1028. package/src/form/__tests__/TextField.tsx +195 -0
  1029. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
  1030. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
  1031. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
  1032. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  1033. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +548 -0
  1034. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +279 -0
  1035. package/src/form/__tests__/useFormReset.tsx +195 -0
  1036. package/src/form/_form.scss +1336 -1260
  1037. package/src/form/menuItemInputToggleStyles.ts +78 -0
  1038. package/src/form/selectUtils.ts +3 -14
  1039. package/src/form/textAreaStyles.ts +2 -2
  1040. package/src/form/types.ts +6 -8
  1041. package/src/form/useCombobox.ts +523 -0
  1042. package/src/form/useEditableCombobox.ts +139 -0
  1043. package/src/form/useFormReset.ts +48 -0
  1044. package/src/form/useListboxProvider.ts +9 -7
  1045. package/src/form/useResizingTextArea.ts +66 -25
  1046. package/src/form/useSelectCombobox.ts +70 -0
  1047. package/src/form/utils.ts +17 -4
  1048. package/src/icon/IconRotator.tsx +1 -2
  1049. package/src/icon/_icon.scss +105 -112
  1050. package/src/index.ts +22 -1
  1051. package/src/interaction/_interaction.scss +144 -135
  1052. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  1053. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  1054. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  1055. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  1056. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  1057. package/src/layout/_layout.scss +82 -86
  1058. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  1059. package/src/link/_link.scss +74 -66
  1060. package/src/list/ListItem.tsx +20 -13
  1061. package/src/list/ListItemAddon.tsx +5 -3
  1062. package/src/list/ListItemChildren.tsx +4 -2
  1063. package/src/list/ListItemLink.tsx +4 -4
  1064. package/src/list/__tests__/ListItem.tsx +1 -1
  1065. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  1066. package/src/list/__tests__/getListItemHeight.ts +2 -2
  1067. package/src/list/_list.scss +187 -184
  1068. package/src/list/getListItemHeight.ts +2 -3
  1069. package/src/list/listItemStyles.ts +15 -5
  1070. package/src/list/types.ts +28 -6
  1071. package/src/menu/Menu.tsx +10 -2
  1072. package/src/menu/MenuItemCircularProgress.tsx +116 -0
  1073. package/src/menu/__tests__/MenuItemCircularProgress.tsx +39 -0
  1074. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +68 -0
  1075. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  1076. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  1077. package/src/menu/_menu.scss +29 -50
  1078. package/src/menu/useContextMenu.ts +3 -3
  1079. package/src/movement/types.ts +50 -25
  1080. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  1081. package/src/movement/utils.ts +12 -2
  1082. package/src/overlay/_overlay.scss +39 -42
  1083. package/src/portal/PortalContainerProvider.tsx +10 -2
  1084. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  1085. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  1086. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
  1087. package/src/positioning/useFixedPositioning.ts +0 -6
  1088. package/src/progress/_progress.scss +33 -33
  1089. package/src/responsive-item/_responsive-item.scss +91 -89
  1090. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  1091. package/src/searching/__tests__/fuzzy.ts +169 -0
  1092. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  1093. package/src/searching/__tests__/useFuzzyMatch.tsx +200 -0
  1094. package/src/searching/caseInsensitive.ts +200 -0
  1095. package/src/searching/fuzzy.ts +175 -0
  1096. package/src/searching/toSearchQuery.ts +20 -0
  1097. package/src/searching/types.ts +34 -0
  1098. package/src/searching/useFuzzyMatch.ts +42 -0
  1099. package/src/searching/utils.ts +53 -0
  1100. package/src/segmented-button/_segmented-button.scss +86 -92
  1101. package/src/sheet/_sheet.scss +107 -123
  1102. package/src/sheet/styles.ts +14 -15
  1103. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  1104. package/src/snackbar/Snackbar.tsx +28 -32
  1105. package/src/snackbar/Toast.tsx +7 -2
  1106. package/src/snackbar/ToastManager.tsx +3 -2
  1107. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  1108. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  1109. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  1110. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  1111. package/src/snackbar/_snackbar.scss +148 -144
  1112. package/src/snackbar/snackbarStyles.ts +3 -1
  1113. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  1114. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  1115. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  1116. package/src/table/TableCheckbox.tsx +4 -2
  1117. package/src/table/TableRadio.tsx +4 -2
  1118. package/src/table/_table.scss +214 -227
  1119. package/src/table/tableCellStyles.ts +1 -1
  1120. package/src/tabs/Tab.tsx +110 -70
  1121. package/src/tabs/__tests__/Tab.tsx +25 -2
  1122. package/src/tabs/__tests__/TabList.tsx +4 -4
  1123. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  1124. package/src/tabs/_tabs.scss +62 -53
  1125. package/src/tabs/tabIndicatorStyles.ts +13 -3
  1126. package/src/tabs/tabListStyles.ts +1 -1
  1127. package/src/tabs/tabStyles.ts +16 -4
  1128. package/src/tabs/useTabList.ts +10 -8
  1129. package/src/test-utils/ResizeObserver.ts +100 -53
  1130. package/src/test-utils/__tests__/ResizeObserver.ts +1 -1
  1131. package/src/test-utils/data-testid.ts +5 -1
  1132. package/src/test-utils/matchMedia.ts +2 -2
  1133. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  1134. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  1135. package/src/test-utils/polyfills/index.ts +2 -0
  1136. package/src/theme/_theme.scss +243 -133
  1137. package/src/tooltip/_tooltip.scss +76 -83
  1138. package/src/tooltip/useTooltip.ts +23 -16
  1139. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  1140. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  1141. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  1142. package/src/transition/__tests__/utils.ts +25 -0
  1143. package/src/transition/_transition.scss +89 -78
  1144. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  1145. package/src/transition/useCollapseTransition.ts +6 -24
  1146. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  1147. package/src/transition/utils.ts +10 -5
  1148. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  1149. package/src/tree/Tree.tsx +8 -4
  1150. package/src/tree/TreeItem.tsx +3 -4
  1151. package/src/tree/__tests__/Tree.tsx +1 -1
  1152. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  1153. package/src/tree/_tree.scss +111 -109
  1154. package/src/tree/styles.ts +0 -9
  1155. package/src/tree/useTreeMovement.ts +1 -1
  1156. package/src/types.ts +13 -0
  1157. package/src/typography/SrOnly.tsx +9 -9
  1158. package/src/typography/Typography.tsx +19 -19
  1159. package/src/typography/WritingDirectionProvider.tsx +4 -2
  1160. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
  1161. package/src/typography/_typography.scss +141 -87
  1162. package/src/useDebouncedFunction.ts +12 -10
  1163. package/src/useElementSize.ts +83 -0
  1164. package/src/useEnsuredState.ts +1 -1
  1165. package/src/useResizeListener.ts +3 -1
  1166. package/src/useResizeObserver.ts +8 -45
  1167. package/src/useThrottledFunction.ts +12 -10
  1168. package/src/useWindowSize.ts +29 -19
  1169. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  1170. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  1171. package/src/utils/alphaNumericSort.ts +3 -16
  1172. package/src/utils/getMiddleOfRange.ts +26 -0
  1173. package/src/utils/getRangeDefaultValue.ts +8 -15
  1174. package/src/utils/getRangeSteps.ts +2 -2
  1175. package/src/utils/nearest.ts +1 -1
  1176. package/src/window-splitter/_window-splitter.scss +83 -112
  1177. package/src/window-splitter/useWindowSplitter.ts +12 -28
  1178. package/tsconfig.types.json +1 -1
  1179. package/dist/divider/VerticalDivider.d.ts +0 -32
  1180. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  1181. package/dist/form/SelectValue.d.ts +0 -17
  1182. package/dist/form/SelectValue.js +0 -32
  1183. package/dist/form/SelectValue.js.map +0 -1
  1184. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  1185. package/dist/icon/MaterialIconsProvider.js +0 -17
  1186. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  1187. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  1188. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  1189. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  1190. package/dist/link/LinkProvider.d.ts +0 -29
  1191. package/dist/menu/menuConfig.d.ts +0 -60
  1192. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  1193. package/dist/utils/filters.d.ts +0 -196
  1194. package/dist/utils/filters.js +0 -67
  1195. package/dist/utils/filters.js.map +0 -1
  1196. package/src/form/SelectValue.tsx +0 -39
  1197. package/src/utils/__tests__/filters.ts +0 -279
  1198. package/src/utils/filters.ts +0 -320
@@ -0,0 +1,214 @@
1
+ import { type ResizeObserverManager } from "../useResizeObserver.js";
2
+ /**
3
+ * @remarks \@since 6.0.0
4
+ */
5
+ export interface ResizeObserverEntrySize {
6
+ height?: number;
7
+ width?: number;
8
+ }
9
+ /**
10
+ * @remarks \@since 6.0.0
11
+ */
12
+ export type GetResizeObserverEntryMock = (target: Element, size?: ResizeObserverEntrySize) => ResizeObserverEntry;
13
+ /**
14
+ * This is mostly an internal function to be used with the {@link ResizeObserverMock}
15
+ * and {@link setupResizeObserverMock}
16
+ *
17
+ * @remarks \@since 6.0.0
18
+ */
19
+ export declare const createResizeObserverEntry: GetResizeObserverEntryMock;
20
+ /**
21
+ * This is the default ResizeObserver implementation if it does not already
22
+ * exist in jsdom. You normally should not use this directly and instead use the
23
+ * {@link setupResizeObserverMock} instead.
24
+ *
25
+ * @remarks \@since 6.0.0
26
+ */
27
+ export declare class ResizeObserverMock implements ResizeObserver {
28
+ callback: ResizeObserverCallback;
29
+ elements: Set<Element>;
30
+ constructor(callback: ResizeObserverCallback);
31
+ observe: (target: Element) => void;
32
+ unobserve: (target: Element) => void;
33
+ disconnect: () => void;
34
+ /**
35
+ * Triggers the resize event for a specific element. This must be wrapped in
36
+ * `act`.
37
+ *
38
+ * @example
39
+ * Main Usage
40
+ * ```tsx
41
+ * import {
42
+ * cleanupResizeObserverAfterEach,
43
+ * setupResizeObserverMock,
44
+ * } from "@react-md/core/test-utils";
45
+ * import { useResizeObserver } from "@react-md/core";
46
+ * import { ExampleComponent } from "../ExampleComponent.js";
47
+ *
48
+ * cleanupResizeObserverAfterEach();
49
+ *
50
+ * describe("ExampleComponent", () => {
51
+ * it("should do stuff", () => {
52
+ * const observer = setupResizeObserverMock();
53
+ * render(<ExampleComponent />)
54
+ *
55
+ * const resizeTarget = screen.getByTestId("resize-target")
56
+ *
57
+ * // you can trigger with a custom change
58
+ * act(() => {
59
+ * observer.resizeElement(resizeTarget, { height: 100, width: 100 });
60
+ * });
61
+ * // expect resize changes
62
+ * });
63
+ * })
64
+ * ```
65
+ */
66
+ resizeElement: (target: Element, changesOrGetEntry?: GetResizeObserverEntryMock | ResizeObserverEntrySize | ResizeObserverEntry) => void;
67
+ /**
68
+ * You'll normally want to use {@link resizeElement} instead, but this can be
69
+ * used to resize all the watched elements at once.
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * import {
74
+ * act,
75
+ * createResizeObserverEntry,
76
+ * render,
77
+ * screen,
78
+ * setupResizeObserverMock,
79
+ * } from "@react-md/core/test-utils";
80
+ *
81
+ * const observer = setupResizeObserverMock();
82
+ * const { container } = render(<Test />)
83
+ * expect(container).toMatchSnapshot()
84
+ *
85
+ * const target1 = screen.getByTestId('target-1');
86
+ * const target2 = screen.getByTestId('target-2');
87
+ * const target3 = screen.getByTestId('target-3');
88
+ *
89
+ * act(() => {
90
+ * observer.resizeAllElements((element) => {
91
+ * let height: number | undefined;
92
+ * let width: number | undefined;
93
+ * switch (element) {
94
+ * case target1:
95
+ * height = 400;
96
+ * width = 250;
97
+ * break;
98
+ * case target2:
99
+ * height = 100;
100
+ * width = 380;
101
+ * break;
102
+ * case target3:
103
+ * height = 24;
104
+ * width = 24;
105
+ * break;
106
+ * }
107
+ *
108
+ * return createResizeObserverEntry(element, { height, width });
109
+ * });
110
+ * });
111
+ * expect(container).toMatchSnapshot()
112
+ * ```
113
+ */
114
+ resizeAllElements: (getEntry?: GetResizeObserverEntryMock) => void;
115
+ }
116
+ /**
117
+ * @remarks \@since 6.0.0
118
+ */
119
+ export interface SetupResizeObserverMockOptions {
120
+ /**
121
+ * Set this to `true` to mimic the real `ResizeObserver` behavior where the
122
+ * updates occur after an animation frame instead of invoking immediately.
123
+ *
124
+ * Keeping this as `false` is recommended since this option was only added to
125
+ * make testing this function itself easier.
126
+ *
127
+ * @defaultValue `false`
128
+ */
129
+ raf?: boolean;
130
+ /**
131
+ * Keeping this as the `resizeObserverManager` is recommended since this
132
+ * option was only added to make testing this function easier itself.
133
+ *
134
+ * @defaultValue `resizeObserverManager`
135
+ */
136
+ manager?: ResizeObserverManager;
137
+ }
138
+ /**
139
+ * Initializes the `ResizeObserverMock` to be used for tests.
140
+ *
141
+ * @example
142
+ * Main Usage
143
+ * ```tsx
144
+ * import { useCallback, useState } from "react";
145
+ * import {
146
+ * cleanupResizeObserverAfterEach,
147
+ * render,
148
+ * screen,
149
+ * setupResizeObserverMock,
150
+ * } from "@react-md/core/test-utils";
151
+ * import { useResizeObserver } from "@react-md/core";
152
+ *
153
+ * function ExampleComponent() {
154
+ * const [size, setSize] = useState({ height: 0, width: 0 });
155
+ * const ref = useResizeObserver({
156
+ * onUpdate: useCallback((entry) => {
157
+ * setSize({
158
+ * height: entry.contentRect.height,
159
+ * width: entry.contentRect.width,
160
+ * });
161
+ * });
162
+ * });
163
+ *
164
+ * return (
165
+ * <>
166
+ * <div data-testid="size">{JSON.stringify(size)}</div>
167
+ * <div data-testid="resize-target" ref={ref} />
168
+ * </>
169
+ * );
170
+ * }
171
+ *
172
+ * cleanupResizeObserverAfterEach();
173
+ *
174
+ * describe("ExampleComponent", () => {
175
+ * it("should do stuff", () => {
176
+ * const observer = setupResizeObserverMock();
177
+ * render(<ExampleComponent />)
178
+ *
179
+ * const size = screen.getByTestId("size");
180
+ * const resizeTarget = screen.getByTestId("resize-target")
181
+ *
182
+ * // jsdom sets all element sizes to 0 by default
183
+ * expect(size).toHaveTextContent(JSON.stringify({ height: 0, width: 0 }));
184
+ *
185
+ * // you can trigger with a custom change
186
+ * act(() => {
187
+ * observer.resizeElement(resizeTarget, { height: 100, width: 100 });
188
+ * });
189
+ * expect(size).toHaveTextContent(JSON.stringify({ height: 100, width: 100 }));
190
+ *
191
+ * // or you can mock the `getBoundingClientRect` result
192
+ * jest.spyOn(resizeTarget, "getBoundingClientRect")
193
+ * .mockReturnValue({
194
+ * ...document.body.getBoundingClientRect(),
195
+ * height: 200,
196
+ * width: 200,
197
+ * }):
198
+ *
199
+ * act(() => {
200
+ * observer.resizeElement(resizeTarget);
201
+ * });
202
+ * expect(size).toHaveTextContent(JSON.stringify({ height: 200, width: 200 }));
203
+ * });
204
+ * })
205
+ * ```
206
+ *
207
+ * @remarks \@since 6.0.0
208
+ */
209
+ export declare function setupResizeObserverMock(options?: SetupResizeObserverMockOptions): ResizeObserverMock;
210
+ /**
211
+ * @see {@link setupResizeObserverMock}
212
+ * @remarks \@since 6.0.0
213
+ */
214
+ export declare function cleanupResizeObserverAfterEach(restoreAllMocks?: boolean): void;
@@ -62,33 +62,12 @@ import { resizeObserverManager } from "../useResizeObserver.js";
62
62
  * @example
63
63
  * Main Usage
64
64
  * ```tsx
65
- * import { useCallback, useState } from "react";
66
65
  * import {
67
66
  * cleanupResizeObserverAfterEach,
68
- * render,
69
- * screen,
70
67
  * setupResizeObserverMock,
71
68
  * } from "@react-md/core/test-utils";
72
69
  * import { useResizeObserver } from "@react-md/core";
73
- *
74
- * function ExampleComponent() {
75
- * const [size, setSize] = useState({ height: 0, width: 0 });
76
- * const ref = useResizeObserver({
77
- * onUpdate: useCallback((entry) => {
78
- * setSize({
79
- * height: entry.contentRect.height,
80
- * width: entry.contentRect.width,
81
- * });
82
- * });
83
- * });
84
- *
85
- * return (
86
- * <>
87
- * <div data-testid="size">{JSON.stringify(size)}</div>
88
- * <div data-testid="resize-target" ref={ref} />
89
- * </>
90
- * );
91
- * }
70
+ * import { ExampleComponent } from "../ExampleComponent.js";
92
71
  *
93
72
  * cleanupResizeObserverAfterEach();
94
73
  *
@@ -97,30 +76,13 @@ import { resizeObserverManager } from "../useResizeObserver.js";
97
76
  * const observer = setupResizeObserverMock();
98
77
  * render(<ExampleComponent />)
99
78
  *
100
- * const size = screen.getByTestId("size");
101
79
  * const resizeTarget = screen.getByTestId("resize-target")
102
80
  *
103
- * // jsdom sets all element sizes to 0 by default
104
- * expect(size).toHaveTextContent(JSON.stringify({ height: 0, width: 0 }));
105
- *
106
81
  * // you can trigger with a custom change
107
82
  * act(() => {
108
83
  * observer.resizeElement(resizeTarget, { height: 100, width: 100 });
109
84
  * });
110
- * expect(size).toHaveTextContent(JSON.stringify({ height: 100, width: 100 }));
111
- *
112
- * // or you can mock the `getBoundingClientRect` result
113
- * jest.spyOn(resizeTarget, "getBoundingClientRect")
114
- * .mockReturnValue({
115
- * ...document.body.getBoundingClientRect(),
116
- * height: 200,
117
- * width: 200,
118
- * }):
119
- *
120
- * act(() => {
121
- * observer.resizeElement(resizeTarget);
122
- * });
123
- * expect(size).toHaveTextContent(JSON.stringify({ height: 200, width: 200 }));
85
+ * // expect resize changes
124
86
  * });
125
87
  * })
126
88
  * ```
@@ -211,17 +173,75 @@ import { resizeObserverManager } from "../useResizeObserver.js";
211
173
  /**
212
174
  * Initializes the `ResizeObserverMock` to be used for tests.
213
175
  *
214
- * @see {@link ResizeObserverMock.resizeElement} for example usage.
176
+ * @example
177
+ * Main Usage
178
+ * ```tsx
179
+ * import { useCallback, useState } from "react";
180
+ * import {
181
+ * cleanupResizeObserverAfterEach,
182
+ * render,
183
+ * screen,
184
+ * setupResizeObserverMock,
185
+ * } from "@react-md/core/test-utils";
186
+ * import { useResizeObserver } from "@react-md/core";
215
187
  *
216
- * @param raf - set this to `true` to mimic the real ResizeObserver behavior
217
- * where the updates occur after an animation frame instead of invoking
218
- * immediately
219
- * @param manager - a custom {@link resizeObserverManager} to use for your
220
- * tests. You most likely should **not** use this option since it was added to
221
- * help testing this function itself.
188
+ * function ExampleComponent() {
189
+ * const [size, setSize] = useState({ height: 0, width: 0 });
190
+ * const ref = useResizeObserver({
191
+ * onUpdate: useCallback((entry) => {
192
+ * setSize({
193
+ * height: entry.contentRect.height,
194
+ * width: entry.contentRect.width,
195
+ * });
196
+ * });
197
+ * });
198
+ *
199
+ * return (
200
+ * <>
201
+ * <div data-testid="size">{JSON.stringify(size)}</div>
202
+ * <div data-testid="resize-target" ref={ref} />
203
+ * </>
204
+ * );
205
+ * }
206
+ *
207
+ * cleanupResizeObserverAfterEach();
208
+ *
209
+ * describe("ExampleComponent", () => {
210
+ * it("should do stuff", () => {
211
+ * const observer = setupResizeObserverMock();
212
+ * render(<ExampleComponent />)
213
+ *
214
+ * const size = screen.getByTestId("size");
215
+ * const resizeTarget = screen.getByTestId("resize-target")
216
+ *
217
+ * // jsdom sets all element sizes to 0 by default
218
+ * expect(size).toHaveTextContent(JSON.stringify({ height: 0, width: 0 }));
219
+ *
220
+ * // you can trigger with a custom change
221
+ * act(() => {
222
+ * observer.resizeElement(resizeTarget, { height: 100, width: 100 });
223
+ * });
224
+ * expect(size).toHaveTextContent(JSON.stringify({ height: 100, width: 100 }));
225
+ *
226
+ * // or you can mock the `getBoundingClientRect` result
227
+ * jest.spyOn(resizeTarget, "getBoundingClientRect")
228
+ * .mockReturnValue({
229
+ * ...document.body.getBoundingClientRect(),
230
+ * height: 200,
231
+ * width: 200,
232
+ * }):
233
+ *
234
+ * act(() => {
235
+ * observer.resizeElement(resizeTarget);
236
+ * });
237
+ * expect(size).toHaveTextContent(JSON.stringify({ height: 200, width: 200 }));
238
+ * });
239
+ * })
240
+ * ```
222
241
  *
223
242
  * @remarks \@since 6.0.0
224
- */ export const setupResizeObserverMock = (raf = false, manager = resizeObserverManager)=>{
243
+ */ export function setupResizeObserverMock(options = {}) {
244
+ const { raf, manager = resizeObserverManager } = options;
225
245
  const resizeObserver = new ResizeObserverMock((entries)=>{
226
246
  if (raf) {
227
247
  window.cancelAnimationFrame(manager.frame);
@@ -234,7 +254,7 @@ import { resizeObserverManager } from "../useResizeObserver.js";
234
254
  });
235
255
  manager.sharedObserver = resizeObserver;
236
256
  return resizeObserver;
237
- };
257
+ }
238
258
  /**
239
259
  * @see {@link setupResizeObserverMock}
240
260
  * @remarks \@since 6.0.0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/test-utils/ResizeObserver.ts"],"sourcesContent":["import { afterEach, jest } from \"@jest/globals\";\nimport { resizeObserverManager } from \"../useResizeObserver.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ResizeObserverEntrySize {\n height?: number;\n width?: number;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type GetResizeObserverEntryMock = (\n target: Element,\n size?: ResizeObserverEntrySize\n) => ResizeObserverEntry;\n\n/**\n * This is mostly an internal function to be used with the {@link ResizeObserverMock}\n * and {@link setupResizeObserverMock}\n *\n * @remarks \\@since 6.0.0\n */\nexport const createResizeObserverEntry: GetResizeObserverEntryMock = (\n target,\n size\n) => {\n const contentRect = target.getBoundingClientRect();\n if (typeof size?.height === \"number\") {\n contentRect.height = size.height;\n }\n if (typeof size?.width === \"number\") {\n contentRect.width = size.width;\n }\n\n const boxSize: ResizeObserverSize = {\n blockSize: contentRect.height,\n inlineSize: contentRect.width,\n };\n\n return {\n target,\n contentRect,\n borderBoxSize: [boxSize],\n contentBoxSize: [boxSize],\n devicePixelContentBoxSize: [],\n };\n};\n\n/**\n * This is the default ResizeObserver implementation if it does not already\n * exist in jsdom. You normally should not use this directly and instead use the\n * {@link setupResizeObserverMock} instead.\n *\n * @remarks \\@since 6.0.0\n */\nexport class ResizeObserverMock implements ResizeObserver {\n elements: Set<Element>;\n\n constructor(public callback: ResizeObserverCallback) {\n this.elements = new Set();\n }\n\n observe = (target: Element): void => {\n this.elements.add(target);\n this.resizeAllElements(createResizeObserverEntry);\n };\n\n unobserve = (target: Element): void => {\n this.elements.delete(target);\n };\n\n disconnect = (): void => {\n this.elements.clear();\n };\n\n /**\n * Triggers the resize event for a specific element. This must be wrapped in\n * `act`.\n *\n * @example\n * Main Usage\n * ```tsx\n * import { useCallback, useState } from \"react\";\n * import {\n * cleanupResizeObserverAfterEach,\n * render,\n * screen,\n * setupResizeObserverMock,\n * } from \"@react-md/core/test-utils\";\n * import { useResizeObserver } from \"@react-md/core\";\n *\n * function ExampleComponent() {\n * const [size, setSize] = useState({ height: 0, width: 0 });\n * const ref = useResizeObserver({\n * onUpdate: useCallback((entry) => {\n * setSize({\n * height: entry.contentRect.height,\n * width: entry.contentRect.width,\n * });\n * });\n * });\n *\n * return (\n * <>\n * <div data-testid=\"size\">{JSON.stringify(size)}</div>\n * <div data-testid=\"resize-target\" ref={ref} />\n * </>\n * );\n * }\n *\n * cleanupResizeObserverAfterEach();\n *\n * describe(\"ExampleComponent\", () => {\n * it(\"should do stuff\", () => {\n * const observer = setupResizeObserverMock();\n * render(<ExampleComponent />)\n *\n * const size = screen.getByTestId(\"size\");\n * const resizeTarget = screen.getByTestId(\"resize-target\")\n *\n * // jsdom sets all element sizes to 0 by default\n * expect(size).toHaveTextContent(JSON.stringify({ height: 0, width: 0 }));\n *\n * // you can trigger with a custom change\n * act(() => {\n * observer.resizeElement(resizeTarget, { height: 100, width: 100 });\n * });\n * expect(size).toHaveTextContent(JSON.stringify({ height: 100, width: 100 }));\n *\n * // or you can mock the `getBoundingClientRect` result\n * jest.spyOn(resizeTarget, \"getBoundingClientRect\")\n * .mockReturnValue({\n * ...document.body.getBoundingClientRect(),\n * height: 200,\n * width: 200,\n * }):\n *\n * act(() => {\n * observer.resizeElement(resizeTarget);\n * });\n * expect(size).toHaveTextContent(JSON.stringify({ height: 200, width: 200 }));\n * });\n * })\n * ```\n */\n resizeElement = (\n target: Element,\n changesOrGetEntry:\n | GetResizeObserverEntryMock\n | ResizeObserverEntrySize\n | ResizeObserverEntry = createResizeObserverEntry\n ): void => {\n if (!this.elements.has(target)) {\n throw new Error(\n \"The `ResizeObserverMock` is not watching the target element and cannot be resized\"\n );\n }\n\n let entry: ResizeObserverEntry;\n if (typeof changesOrGetEntry === \"function\") {\n entry = changesOrGetEntry(target);\n } else if (!(\"contentRect\" in changesOrGetEntry)) {\n entry = createResizeObserverEntry(target, changesOrGetEntry);\n } else {\n entry = changesOrGetEntry;\n }\n\n this.callback([entry], this);\n };\n\n /**\n * You'll normally want to use {@link resizeElement} instead, but this can be\n * used to resize all the watched elements at once.\n *\n * @example\n * ```tsx\n * import {\n * act,\n * createResizeObserverEntry,\n * render,\n * screen,\n * setupResizeObserverMock,\n * } from \"@react-md/core/test-utils\";\n *\n * const observer = setupResizeObserverMock();\n * const { container } = render(<Test />)\n * expect(container).toMatchSnapshot()\n *\n * const target1 = screen.getByTestId('target-1');\n * const target2 = screen.getByTestId('target-2');\n * const target3 = screen.getByTestId('target-3');\n *\n * act(() => {\n * observer.resizeAllElements((element) => {\n * let height: number | undefined;\n * let width: number | undefined;\n * switch (element) {\n * case target1:\n * height = 400;\n * width = 250;\n * break;\n * case target2:\n * height = 100;\n * width = 380;\n * break;\n * case target3:\n * height = 24;\n * width = 24;\n * break;\n * }\n *\n * return createResizeObserverEntry(element, { height, width });\n * });\n * });\n * expect(container).toMatchSnapshot()\n * ```\n */\n resizeAllElements = (getEntry = createResizeObserverEntry): void => {\n const entries = [...this.elements].map((element) => getEntry(element));\n this.callback(entries, this);\n };\n}\n\n/**\n * Initializes the `ResizeObserverMock` to be used for tests.\n *\n * @see {@link ResizeObserverMock.resizeElement} for example usage.\n *\n * @param raf - set this to `true` to mimic the real ResizeObserver behavior\n * where the updates occur after an animation frame instead of invoking\n * immediately\n * @param manager - a custom {@link resizeObserverManager} to use for your\n * tests. You most likely should **not** use this option since it was added to\n * help testing this function itself.\n *\n * @remarks \\@since 6.0.0\n */\nexport const setupResizeObserverMock = (\n raf = false,\n manager = resizeObserverManager\n): ResizeObserverMock => {\n const resizeObserver = new ResizeObserverMock((entries) => {\n if (raf) {\n window.cancelAnimationFrame(manager.frame);\n manager.frame = window.requestAnimationFrame(() => {\n manager.handleResizeEntries(entries);\n });\n } else {\n manager.handleResizeEntries(entries);\n }\n });\n manager.sharedObserver = resizeObserver;\n return resizeObserver;\n};\n\n/**\n * @see {@link setupResizeObserverMock}\n * @remarks \\@since 6.0.0\n */\nexport function cleanupResizeObserverAfterEach(restoreAllMocks = true): void {\n afterEach(() => {\n resizeObserverManager.frame = 0;\n resizeObserverManager.subscriptions = new Map();\n resizeObserverManager.sharedObserver = undefined;\n\n if (restoreAllMocks) {\n jest.restoreAllMocks();\n }\n });\n}\n"],"names":["afterEach","jest","resizeObserverManager","createResizeObserverEntry","target","size","contentRect","getBoundingClientRect","height","width","boxSize","blockSize","inlineSize","borderBoxSize","contentBoxSize","devicePixelContentBoxSize","ResizeObserverMock","constructor","callback","elements","observe","unobserve","disconnect","resizeElement","resizeAllElements","add","delete","clear","changesOrGetEntry","has","Error","entry","getEntry","entries","map","element","Set","setupResizeObserverMock","raf","manager","resizeObserver","window","cancelAnimationFrame","frame","requestAnimationFrame","handleResizeEntries","sharedObserver","cleanupResizeObserverAfterEach","restoreAllMocks","subscriptions","Map","undefined"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,IAAI,QAAQ,gBAAgB;AAChD,SAASC,qBAAqB,QAAQ,0BAA0B;AAkBhE;;;;;CAKC,GACD,OAAO,MAAMC,4BAAwD,CACnEC,QACAC;IAEA,MAAMC,cAAcF,OAAOG,qBAAqB;IAChD,IAAI,OAAOF,MAAMG,WAAW,UAAU;QACpCF,YAAYE,MAAM,GAAGH,KAAKG,MAAM;IAClC;IACA,IAAI,OAAOH,MAAMI,UAAU,UAAU;QACnCH,YAAYG,KAAK,GAAGJ,KAAKI,KAAK;IAChC;IAEA,MAAMC,UAA8B;QAClCC,WAAWL,YAAYE,MAAM;QAC7BI,YAAYN,YAAYG,KAAK;IAC/B;IAEA,OAAO;QACLL;QACAE;QACAO,eAAe;YAACH;SAAQ;QACxBI,gBAAgB;YAACJ;SAAQ;QACzBK,2BAA2B,EAAE;IAC/B;AACF,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMC;IAGXC,YAAY,AAAOC,QAAgC,CAAE;;QAFrDC,uBAAAA,YAAAA,KAAAA;QAMAC,uBAAAA,WAAAA,KAAAA;QAKAC,uBAAAA,aAAAA,KAAAA;QAIAC,uBAAAA,cAAAA,KAAAA;QAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEC,GACDC,uBAAAA,iBAAAA,KAAAA;QAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CC,GACDC,uBAAAA,qBAAAA,KAAAA;aA/JmBN,WAAAA;aAInBE,UAAU,CAAChB;YACT,IAAI,CAACe,QAAQ,CAACM,GAAG,CAACrB;YAClB,IAAI,CAACoB,iBAAiB,CAACrB;QACzB;aAEAkB,YAAY,CAACjB;YACX,IAAI,CAACe,QAAQ,CAACO,MAAM,CAACtB;QACvB;aAEAkB,aAAa;YACX,IAAI,CAACH,QAAQ,CAACQ,KAAK;QACrB;aAwEAJ,gBAAgB,CACdnB,QACAwB,oBAG0BzB,yBAAyB;YAEnD,IAAI,CAAC,IAAI,CAACgB,QAAQ,CAACU,GAAG,CAACzB,SAAS;gBAC9B,MAAM,IAAI0B,MACR;YAEJ;YAEA,IAAIC;YACJ,IAAI,OAAOH,sBAAsB,YAAY;gBAC3CG,QAAQH,kBAAkBxB;YAC5B,OAAO,IAAI,CAAE,CAAA,iBAAiBwB,iBAAgB,GAAI;gBAChDG,QAAQ5B,0BAA0BC,QAAQwB;YAC5C,OAAO;gBACLG,QAAQH;YACV;YAEA,IAAI,CAACV,QAAQ,CAAC;gBAACa;aAAM,EAAE,IAAI;QAC7B;aAiDAP,oBAAoB,CAACQ,WAAW7B,yBAAyB;YACvD,MAAM8B,UAAU;mBAAI,IAAI,CAACd,QAAQ;aAAC,CAACe,GAAG,CAAC,CAACC,UAAYH,SAASG;YAC7D,IAAI,CAACjB,QAAQ,CAACe,SAAS,IAAI;QAC7B;QAjKE,IAAI,CAACd,QAAQ,GAAG,IAAIiB;IACtB;AAiKF;AAEA;;;;;;;;;;;;;CAaC,GACD,OAAO,MAAMC,0BAA0B,CACrCC,MAAM,KAAK,EACXC,UAAUrC,qBAAqB;IAE/B,MAAMsC,iBAAiB,IAAIxB,mBAAmB,CAACiB;QAC7C,IAAIK,KAAK;YACPG,OAAOC,oBAAoB,CAACH,QAAQI,KAAK;YACzCJ,QAAQI,KAAK,GAAGF,OAAOG,qBAAqB,CAAC;gBAC3CL,QAAQM,mBAAmB,CAACZ;YAC9B;QACF,OAAO;YACLM,QAAQM,mBAAmB,CAACZ;QAC9B;IACF;IACAM,QAAQO,cAAc,GAAGN;IACzB,OAAOA;AACT,EAAE;AAEF;;;CAGC,GACD,OAAO,SAASO,+BAA+BC,kBAAkB,IAAI;IACnEhD,UAAU;QACRE,sBAAsByC,KAAK,GAAG;QAC9BzC,sBAAsB+C,aAAa,GAAG,IAAIC;QAC1ChD,sBAAsB4C,cAAc,GAAGK;QAEvC,IAAIH,iBAAiB;YACnB/C,KAAK+C,eAAe;QACtB;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/test-utils/ResizeObserver.ts"],"sourcesContent":["import { afterEach, jest } from \"@jest/globals\";\nimport {\n resizeObserverManager,\n type ResizeObserverManager,\n} from \"../useResizeObserver.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ResizeObserverEntrySize {\n height?: number;\n width?: number;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type GetResizeObserverEntryMock = (\n target: Element,\n size?: ResizeObserverEntrySize\n) => ResizeObserverEntry;\n\n/**\n * This is mostly an internal function to be used with the {@link ResizeObserverMock}\n * and {@link setupResizeObserverMock}\n *\n * @remarks \\@since 6.0.0\n */\nexport const createResizeObserverEntry: GetResizeObserverEntryMock = (\n target,\n size\n) => {\n const contentRect = target.getBoundingClientRect();\n if (typeof size?.height === \"number\") {\n contentRect.height = size.height;\n }\n if (typeof size?.width === \"number\") {\n contentRect.width = size.width;\n }\n\n const boxSize: ResizeObserverSize = {\n blockSize: contentRect.height,\n inlineSize: contentRect.width,\n };\n\n return {\n target,\n contentRect,\n borderBoxSize: [boxSize],\n contentBoxSize: [boxSize],\n devicePixelContentBoxSize: [],\n };\n};\n\n/**\n * This is the default ResizeObserver implementation if it does not already\n * exist in jsdom. You normally should not use this directly and instead use the\n * {@link setupResizeObserverMock} instead.\n *\n * @remarks \\@since 6.0.0\n */\nexport class ResizeObserverMock implements ResizeObserver {\n elements: Set<Element>;\n\n constructor(public callback: ResizeObserverCallback) {\n this.elements = new Set();\n }\n\n observe = (target: Element): void => {\n this.elements.add(target);\n this.resizeAllElements(createResizeObserverEntry);\n };\n\n unobserve = (target: Element): void => {\n this.elements.delete(target);\n };\n\n disconnect = (): void => {\n this.elements.clear();\n };\n\n /**\n * Triggers the resize event for a specific element. This must be wrapped in\n * `act`.\n *\n * @example\n * Main Usage\n * ```tsx\n * import {\n * cleanupResizeObserverAfterEach,\n * setupResizeObserverMock,\n * } from \"@react-md/core/test-utils\";\n * import { useResizeObserver } from \"@react-md/core\";\n * import { ExampleComponent } from \"../ExampleComponent.js\";\n *\n * cleanupResizeObserverAfterEach();\n *\n * describe(\"ExampleComponent\", () => {\n * it(\"should do stuff\", () => {\n * const observer = setupResizeObserverMock();\n * render(<ExampleComponent />)\n *\n * const resizeTarget = screen.getByTestId(\"resize-target\")\n *\n * // you can trigger with a custom change\n * act(() => {\n * observer.resizeElement(resizeTarget, { height: 100, width: 100 });\n * });\n * // expect resize changes\n * });\n * })\n * ```\n */\n resizeElement = (\n target: Element,\n changesOrGetEntry:\n | GetResizeObserverEntryMock\n | ResizeObserverEntrySize\n | ResizeObserverEntry = createResizeObserverEntry\n ): void => {\n if (!this.elements.has(target)) {\n throw new Error(\n \"The `ResizeObserverMock` is not watching the target element and cannot be resized\"\n );\n }\n\n let entry: ResizeObserverEntry;\n if (typeof changesOrGetEntry === \"function\") {\n entry = changesOrGetEntry(target);\n } else if (!(\"contentRect\" in changesOrGetEntry)) {\n entry = createResizeObserverEntry(target, changesOrGetEntry);\n } else {\n entry = changesOrGetEntry;\n }\n\n this.callback([entry], this);\n };\n\n /**\n * You'll normally want to use {@link resizeElement} instead, but this can be\n * used to resize all the watched elements at once.\n *\n * @example\n * ```tsx\n * import {\n * act,\n * createResizeObserverEntry,\n * render,\n * screen,\n * setupResizeObserverMock,\n * } from \"@react-md/core/test-utils\";\n *\n * const observer = setupResizeObserverMock();\n * const { container } = render(<Test />)\n * expect(container).toMatchSnapshot()\n *\n * const target1 = screen.getByTestId('target-1');\n * const target2 = screen.getByTestId('target-2');\n * const target3 = screen.getByTestId('target-3');\n *\n * act(() => {\n * observer.resizeAllElements((element) => {\n * let height: number | undefined;\n * let width: number | undefined;\n * switch (element) {\n * case target1:\n * height = 400;\n * width = 250;\n * break;\n * case target2:\n * height = 100;\n * width = 380;\n * break;\n * case target3:\n * height = 24;\n * width = 24;\n * break;\n * }\n *\n * return createResizeObserverEntry(element, { height, width });\n * });\n * });\n * expect(container).toMatchSnapshot()\n * ```\n */\n resizeAllElements = (getEntry = createResizeObserverEntry): void => {\n const entries = [...this.elements].map((element) => getEntry(element));\n this.callback(entries, this);\n };\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface SetupResizeObserverMockOptions {\n /**\n * Set this to `true` to mimic the real `ResizeObserver` behavior where the\n * updates occur after an animation frame instead of invoking immediately.\n *\n * Keeping this as `false` is recommended since this option was only added to\n * make testing this function itself easier.\n *\n * @defaultValue `false`\n */\n raf?: boolean;\n\n /**\n * Keeping this as the `resizeObserverManager` is recommended since this\n * option was only added to make testing this function easier itself.\n *\n * @defaultValue `resizeObserverManager`\n */\n manager?: ResizeObserverManager;\n}\n\n/**\n * Initializes the `ResizeObserverMock` to be used for tests.\n *\n * @example\n * Main Usage\n * ```tsx\n * import { useCallback, useState } from \"react\";\n * import {\n * cleanupResizeObserverAfterEach,\n * render,\n * screen,\n * setupResizeObserverMock,\n * } from \"@react-md/core/test-utils\";\n * import { useResizeObserver } from \"@react-md/core\";\n *\n * function ExampleComponent() {\n * const [size, setSize] = useState({ height: 0, width: 0 });\n * const ref = useResizeObserver({\n * onUpdate: useCallback((entry) => {\n * setSize({\n * height: entry.contentRect.height,\n * width: entry.contentRect.width,\n * });\n * });\n * });\n *\n * return (\n * <>\n * <div data-testid=\"size\">{JSON.stringify(size)}</div>\n * <div data-testid=\"resize-target\" ref={ref} />\n * </>\n * );\n * }\n *\n * cleanupResizeObserverAfterEach();\n *\n * describe(\"ExampleComponent\", () => {\n * it(\"should do stuff\", () => {\n * const observer = setupResizeObserverMock();\n * render(<ExampleComponent />)\n *\n * const size = screen.getByTestId(\"size\");\n * const resizeTarget = screen.getByTestId(\"resize-target\")\n *\n * // jsdom sets all element sizes to 0 by default\n * expect(size).toHaveTextContent(JSON.stringify({ height: 0, width: 0 }));\n *\n * // you can trigger with a custom change\n * act(() => {\n * observer.resizeElement(resizeTarget, { height: 100, width: 100 });\n * });\n * expect(size).toHaveTextContent(JSON.stringify({ height: 100, width: 100 }));\n *\n * // or you can mock the `getBoundingClientRect` result\n * jest.spyOn(resizeTarget, \"getBoundingClientRect\")\n * .mockReturnValue({\n * ...document.body.getBoundingClientRect(),\n * height: 200,\n * width: 200,\n * }):\n *\n * act(() => {\n * observer.resizeElement(resizeTarget);\n * });\n * expect(size).toHaveTextContent(JSON.stringify({ height: 200, width: 200 }));\n * });\n * })\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function setupResizeObserverMock(\n options: SetupResizeObserverMockOptions = {}\n): ResizeObserverMock {\n const { raf, manager = resizeObserverManager } = options;\n\n const resizeObserver = new ResizeObserverMock((entries) => {\n if (raf) {\n window.cancelAnimationFrame(manager.frame);\n manager.frame = window.requestAnimationFrame(() => {\n manager.handleResizeEntries(entries);\n });\n } else {\n manager.handleResizeEntries(entries);\n }\n });\n manager.sharedObserver = resizeObserver;\n return resizeObserver;\n}\n\n/**\n * @see {@link setupResizeObserverMock}\n * @remarks \\@since 6.0.0\n */\nexport function cleanupResizeObserverAfterEach(restoreAllMocks = true): void {\n afterEach(() => {\n resizeObserverManager.frame = 0;\n resizeObserverManager.subscriptions = new Map();\n resizeObserverManager.sharedObserver = undefined;\n\n if (restoreAllMocks) {\n jest.restoreAllMocks();\n }\n });\n}\n"],"names":["afterEach","jest","resizeObserverManager","createResizeObserverEntry","target","size","contentRect","getBoundingClientRect","height","width","boxSize","blockSize","inlineSize","borderBoxSize","contentBoxSize","devicePixelContentBoxSize","ResizeObserverMock","constructor","callback","elements","observe","unobserve","disconnect","resizeElement","resizeAllElements","add","delete","clear","changesOrGetEntry","has","Error","entry","getEntry","entries","map","element","Set","setupResizeObserverMock","options","raf","manager","resizeObserver","window","cancelAnimationFrame","frame","requestAnimationFrame","handleResizeEntries","sharedObserver","cleanupResizeObserverAfterEach","restoreAllMocks","subscriptions","Map","undefined"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,IAAI,QAAQ,gBAAgB;AAChD,SACEC,qBAAqB,QAEhB,0BAA0B;AAkBjC;;;;;CAKC,GACD,OAAO,MAAMC,4BAAwD,CACnEC,QACAC;IAEA,MAAMC,cAAcF,OAAOG,qBAAqB;IAChD,IAAI,OAAOF,MAAMG,WAAW,UAAU;QACpCF,YAAYE,MAAM,GAAGH,KAAKG,MAAM;IAClC;IACA,IAAI,OAAOH,MAAMI,UAAU,UAAU;QACnCH,YAAYG,KAAK,GAAGJ,KAAKI,KAAK;IAChC;IAEA,MAAMC,UAA8B;QAClCC,WAAWL,YAAYE,MAAM;QAC7BI,YAAYN,YAAYG,KAAK;IAC/B;IAEA,OAAO;QACLL;QACAE;QACAO,eAAe;YAACH;SAAQ;QACxBI,gBAAgB;YAACJ;SAAQ;QACzBK,2BAA2B,EAAE;IAC/B;AACF,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMC;IAGXC,YAAY,AAAOC,QAAgC,CAAE;;QAFrDC,uBAAAA,YAAAA,KAAAA;QAMAC,uBAAAA,WAAAA,KAAAA;QAKAC,uBAAAA,aAAAA,KAAAA;QAIAC,uBAAAA,cAAAA,KAAAA;QAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BC,GACDC,uBAAAA,iBAAAA,KAAAA;QAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CC,GACDC,uBAAAA,qBAAAA,KAAAA;aAzHmBN,WAAAA;aAInBE,UAAU,CAAChB;YACT,IAAI,CAACe,QAAQ,CAACM,GAAG,CAACrB;YAClB,IAAI,CAACoB,iBAAiB,CAACrB;QACzB;aAEAkB,YAAY,CAACjB;YACX,IAAI,CAACe,QAAQ,CAACO,MAAM,CAACtB;QACvB;aAEAkB,aAAa;YACX,IAAI,CAACH,QAAQ,CAACQ,KAAK;QACrB;aAkCAJ,gBAAgB,CACdnB,QACAwB,oBAG0BzB,yBAAyB;YAEnD,IAAI,CAAC,IAAI,CAACgB,QAAQ,CAACU,GAAG,CAACzB,SAAS;gBAC9B,MAAM,IAAI0B,MACR;YAEJ;YAEA,IAAIC;YACJ,IAAI,OAAOH,sBAAsB,YAAY;gBAC3CG,QAAQH,kBAAkBxB;YAC5B,OAAO,IAAI,CAAE,CAAA,iBAAiBwB,iBAAgB,GAAI;gBAChDG,QAAQ5B,0BAA0BC,QAAQwB;YAC5C,OAAO;gBACLG,QAAQH;YACV;YAEA,IAAI,CAACV,QAAQ,CAAC;gBAACa;aAAM,EAAE,IAAI;QAC7B;aAiDAP,oBAAoB,CAACQ,WAAW7B,yBAAyB;YACvD,MAAM8B,UAAU;mBAAI,IAAI,CAACd,QAAQ;aAAC,CAACe,GAAG,CAAC,CAACC,UAAYH,SAASG;YAC7D,IAAI,CAACjB,QAAQ,CAACe,SAAS,IAAI;QAC7B;QA3HE,IAAI,CAACd,QAAQ,GAAG,IAAIiB;IACtB;AA2HF;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEC,GACD,OAAO,SAASC,wBACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EAAEC,GAAG,EAAEC,UAAUtC,qBAAqB,EAAE,GAAGoC;IAEjD,MAAMG,iBAAiB,IAAIzB,mBAAmB,CAACiB;QAC7C,IAAIM,KAAK;YACPG,OAAOC,oBAAoB,CAACH,QAAQI,KAAK;YACzCJ,QAAQI,KAAK,GAAGF,OAAOG,qBAAqB,CAAC;gBAC3CL,QAAQM,mBAAmB,CAACb;YAC9B;QACF,OAAO;YACLO,QAAQM,mBAAmB,CAACb;QAC9B;IACF;IACAO,QAAQO,cAAc,GAAGN;IACzB,OAAOA;AACT;AAEA;;;CAGC,GACD,OAAO,SAASO,+BAA+BC,kBAAkB,IAAI;IACnEjD,UAAU;QACRE,sBAAsB0C,KAAK,GAAG;QAC9B1C,sBAAsBgD,aAAa,GAAG,IAAIC;QAC1CjD,sBAAsB6C,cAAc,GAAGK;QAEvC,IAAIH,iBAAiB;YACnBhD,KAAKgD,eAAe;QACtB;IACF;AACF"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare module "react" {
3
+ interface HTMLAttributes<T> extends React.AriaAttributes, React.DOMAttributes<T> {
4
+ "data-testid"?: string | number;
5
+ }
6
+ }
7
+ export {};
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
 
2
3
  //# sourceMappingURL=data-testid.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/test-utils/data-testid.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../../src/test-utils/data-testid.ts"],"sourcesContent":["/// <reference types=\"react\" />\n\ndeclare module \"react\" {\n interface HTMLAttributes<T>\n extends React.AriaAttributes,\n React.DOMAttributes<T> {\n \"data-testid\"?: string | number;\n }\n}\n"],"names":[],"mappings":"AAAA,+BAA+B"}
@@ -0,0 +1,26 @@
1
+ interface XYCoords {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ interface BaseDragOptions {
6
+ to?: XYCoords | Element;
7
+ delta?: XYCoords;
8
+ steps?: number;
9
+ duration?: number;
10
+ }
11
+ type DragOptions = BaseDragOptions & ({
12
+ to: XYCoords | Element;
13
+ delta?: never;
14
+ } | {
15
+ delta: XYCoords;
16
+ to?: never;
17
+ });
18
+ /**
19
+ * This is internal for now. No idea if it's actually worthwhile though since
20
+ * you have to mock the `getBoundingClientRect()` to work.
21
+ *
22
+ * @internal
23
+ * @see https://github.com/testing-library/testing-library-docs/blob/c20f8a8931e9f0a158fda9f01bbea8cb45ed1651/docs/example-drag.mdx
24
+ */
25
+ export declare function drag(element: Element, options: DragOptions): Promise<void>;
26
+ export {};
@@ -0,0 +1,7 @@
1
+ export * from "@testing-library/react";
2
+ export * from "@testing-library/user-event";
3
+ export * from "./IntersectionObserver.js";
4
+ export * from "./ResizeObserver.js";
5
+ export * from "./matchMedia.js";
6
+ export * from "./render.js";
7
+ export * from "./timers.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,101 @@
1
+ import { jest } from "@jest/globals";
2
+ /**
3
+ * @see {@link spyOnMatchMedia} instead
4
+ * @internal
5
+ * @remarks \@since 6.0.0
6
+ */
7
+ export declare const BASE_MEDIA_QUERY_LIST: MediaQueryList;
8
+ /** @remarks \@since 6.0.0 */
9
+ export type MatchMediaMatcher = (query: string) => boolean;
10
+ /**
11
+ * @see {@link spyOnMatchMedia} for usage
12
+ * @remarks \@since 6.0.0
13
+ * @returns `true` for phone media queries
14
+ */
15
+ export declare const matchPhone: MatchMediaMatcher;
16
+ /**
17
+ * @see {@link spyOnMatchMedia} for usage
18
+ * @remarks \@since 6.0.0
19
+ * @returns `true` for tablet media queries
20
+ */
21
+ export declare const matchTablet: MatchMediaMatcher;
22
+ /**
23
+ * @see {@link spyOnMatchMedia} for usage
24
+ * @remarks \@since 6.0.0
25
+ * @returns `true` for desktop media queries
26
+ */
27
+ export declare const matchDesktop: MatchMediaMatcher;
28
+ /**
29
+ * @see {@link spyOnMatchMedia} for usage
30
+ * @remarks \@since 6.0.0
31
+ * @returns `true` for large desktop media queries
32
+ */
33
+ export declare const matchLargeDesktop: MatchMediaMatcher;
34
+ /**
35
+ * @see {@link spyOnMatchMedia} for usage
36
+ * @remarks \@since 6.0.0
37
+ * @returns `true` for both desktop and large desktop media queries
38
+ */
39
+ export declare const matchAnyDesktop: MatchMediaMatcher;
40
+ /**
41
+ * @remarks \@since 6.0.0
42
+ */
43
+ export type MatchMediaSpiedFunction = jest.SpiedFunction<typeof window.matchMedia> & {
44
+ /**
45
+ * @example
46
+ * Default Behavior
47
+ * ```tsx
48
+ * const matchMedia = spyOnMatchMedia();
49
+ * render(<Test />);
50
+ *
51
+ * // expect desktop results
52
+ *
53
+ * matchMedia.changeViewport(matchPhone);
54
+ * // expect phone results
55
+ * ```
56
+ *
57
+ * @example
58
+ * Custom Act Behavior
59
+ * ```tsx
60
+ * const matchMedia = spyOnMatchMedia();
61
+ * const { rerender } = render(<Test />);
62
+ *
63
+ * // expect desktop results
64
+ *
65
+ * matchMedia.changeViewport(matchPhone, false);
66
+ * rerender(<Test key="new-key" />);
67
+ *
68
+ * // expect phone results
69
+ * ```
70
+ */
71
+ changeViewport(matcher: MatchMediaMatcher, disableAct?: boolean): void;
72
+ };
73
+ /**
74
+ * @example
75
+ * Default Behavior
76
+ * ```tsx
77
+ * import { matchPhone, render, spyOnMatchMedia } from "@react-md/test-utils";
78
+ *
79
+ * const matchMedia = spyOnMatchMedia();
80
+ * render(<Test />);
81
+ *
82
+ * // expect desktop results
83
+ *
84
+ * matchMedia.changeViewport(matchPhone);
85
+ * // expect phone results
86
+ * ```
87
+ *
88
+ * @example
89
+ * Set Default Media
90
+ * ```tsx
91
+ * import { matchPhone, render, spyOnMatchMedia } from "@react-md/test-utils";
92
+ *
93
+ * const matchMedia = spyOnMatchMedia(matchPhone);
94
+ * render(<Test />);
95
+ *
96
+ * // expect phone results
97
+ * ```
98
+ *
99
+ * @remarks \@since 6.0.0
100
+ */
101
+ export declare function spyOnMatchMedia(defaultMatch?: MatchMediaMatcher): MatchMediaSpiedFunction;
@@ -78,13 +78,13 @@ const noop = ()=>{
78
78
  /* c8 ignore start */ if (typeof listener !== "function" || type !== "change") {
79
79
  return;
80
80
  }
81
- /* c8 ignore end */ listeners.set(query, listener);
81
+ /* c8 ignore stop */ listeners.set(query, listener);
82
82
  },
83
83
  removeEventListener (type, listener) {
84
84
  /* c8 ignore start */ if (typeof listener !== "function" || type !== "change") {
85
85
  return;
86
86
  }
87
- /* c8 ignore end */ listeners.delete(query);
87
+ /* c8 ignore stop */ listeners.delete(query);
88
88
  },
89
89
  matches: defaultMatch(query)
90
90
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/test-utils/matchMedia.ts"],"sourcesContent":["import { jest } from \"@jest/globals\";\nimport { act } from \"@testing-library/react\";\nimport {\n DEFAULT_DESKTOP_LARGE_MIN_WIDTH,\n DEFAULT_DESKTOP_MIN_WIDTH,\n DEFAULT_PHONE_MAX_WIDTH,\n DEFAULT_TABLET_MIN_WIDTH,\n} from \"../media-queries/appSize.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @see {@link spyOnMatchMedia} instead\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport const BASE_MEDIA_QUERY_LIST: MediaQueryList = {\n media: \"\",\n matches: false,\n onchange: noop,\n addListener: noop,\n addEventListener: noop,\n removeEventListener: noop,\n removeListener: noop,\n dispatchEvent: () => false,\n};\n\n/** @remarks \\@since 6.0.0 */\nexport type MatchMediaMatcher = (query: string) => boolean;\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for phone media queries\n */\nexport const matchPhone: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_PHONE_MAX_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for tablet media queries\n */\nexport const matchTablet: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_TABLET_MIN_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for desktop media queries\n */\nexport const matchDesktop: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_DESKTOP_MIN_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for large desktop media queries\n */\nexport const matchLargeDesktop: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_DESKTOP_LARGE_MIN_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for both desktop and large desktop media queries\n */\nexport const matchAnyDesktop: MatchMediaMatcher = (query) =>\n matchDesktop(query) || matchLargeDesktop(query);\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type MatchMediaSpiedFunction = jest.SpiedFunction<\n typeof window.matchMedia\n> & {\n /**\n * @example\n * Default Behavior\n * ```tsx\n * const matchMedia = spyOnMatchMedia();\n * render(<Test />);\n *\n * // expect desktop results\n *\n * matchMedia.changeViewport(matchPhone);\n * // expect phone results\n * ```\n *\n * @example\n * Custom Act Behavior\n * ```tsx\n * const matchMedia = spyOnMatchMedia();\n * const { rerender } = render(<Test />);\n *\n * // expect desktop results\n *\n * matchMedia.changeViewport(matchPhone, false);\n * rerender(<Test key=\"new-key\" />);\n *\n * // expect phone results\n * ```\n */\n changeViewport(matcher: MatchMediaMatcher, disableAct?: boolean): void;\n};\n\n/**\n * @example\n * Default Behavior\n * ```tsx\n * import { matchPhone, render, spyOnMatchMedia } from \"@react-md/test-utils\";\n *\n * const matchMedia = spyOnMatchMedia();\n * render(<Test />);\n *\n * // expect desktop results\n *\n * matchMedia.changeViewport(matchPhone);\n * // expect phone results\n * ```\n *\n * @example\n * Set Default Media\n * ```tsx\n * import { matchPhone, render, spyOnMatchMedia } from \"@react-md/test-utils\";\n *\n * const matchMedia = spyOnMatchMedia(matchPhone);\n * render(<Test />);\n *\n * // expect phone results\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function spyOnMatchMedia(\n defaultMatch: MatchMediaMatcher = matchDesktop\n): MatchMediaSpiedFunction {\n type Listener = (event: MediaQueryListEvent) => void;\n\n const listeners = new Map<string, Listener>();\n const matchMedia = jest\n .spyOn(window, \"matchMedia\")\n .mockImplementation((query) => ({\n ...BASE_MEDIA_QUERY_LIST,\n addEventListener(type: string, listener: Listener | EventListenerObject) {\n /* c8 ignore start */\n if (typeof listener !== \"function\" || type !== \"change\") {\n return;\n }\n /* c8 ignore end */\n\n listeners.set(query, listener);\n },\n removeEventListener(\n type: string,\n listener: Listener | EventListenerObject\n ) {\n /* c8 ignore start */\n if (typeof listener !== \"function\" || type !== \"change\") {\n return;\n }\n /* c8 ignore end */\n\n listeners.delete(query);\n },\n matches: defaultMatch(query),\n }));\n\n const changeViewport = (\n matcher: MatchMediaMatcher,\n disableAct = false\n ): void => {\n const update = (): void => {\n window.dispatchEvent(new Event(\"resize\"));\n\n const event = new Event(\"change\");\n listeners.forEach((listener, query) => {\n listener({\n ...event,\n media: \"\",\n matches: matcher(query),\n });\n });\n };\n if (disableAct) {\n update();\n } else {\n act(update);\n }\n };\n\n const mock = matchMedia as MatchMediaSpiedFunction;\n mock.changeViewport = changeViewport;\n\n return mock;\n}\n"],"names":["jest","act","DEFAULT_DESKTOP_LARGE_MIN_WIDTH","DEFAULT_DESKTOP_MIN_WIDTH","DEFAULT_PHONE_MAX_WIDTH","DEFAULT_TABLET_MIN_WIDTH","noop","BASE_MEDIA_QUERY_LIST","media","matches","onchange","addListener","addEventListener","removeEventListener","removeListener","dispatchEvent","matchPhone","query","includes","matchTablet","matchDesktop","matchLargeDesktop","matchAnyDesktop","spyOnMatchMedia","defaultMatch","listeners","Map","matchMedia","spyOn","window","mockImplementation","type","listener","set","delete","changeViewport","matcher","disableAct","update","Event","event","forEach","mock"],"mappings":"AAAA,SAASA,IAAI,QAAQ,gBAAgB;AACrC,SAASC,GAAG,QAAQ,yBAAyB;AAC7C,SACEC,+BAA+B,EAC/BC,yBAAyB,EACzBC,uBAAuB,EACvBC,wBAAwB,QACnB,8BAA8B;AAErC,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;CAIC,GACD,OAAO,MAAMC,wBAAwC;IACnDC,OAAO;IACPC,SAAS;IACTC,UAAUJ;IACVK,aAAaL;IACbM,kBAAkBN;IAClBO,qBAAqBP;IACrBQ,gBAAgBR;IAChBS,eAAe,IAAM;AACvB,EAAE;AAKF;;;;CAIC,GACD,OAAO,MAAMC,aAAgC,CAACC,QAC5CA,MAAMC,QAAQ,CAAC,CAAC,EAAEd,wBAAwB,CAAC,EAAE;AAE/C;;;;CAIC,GACD,OAAO,MAAMe,cAAiC,CAACF,QAC7CA,MAAMC,QAAQ,CAAC,CAAC,EAAEb,yBAAyB,CAAC,EAAE;AAEhD;;;;CAIC,GACD,OAAO,MAAMe,eAAkC,CAACH,QAC9CA,MAAMC,QAAQ,CAAC,CAAC,EAAEf,0BAA0B,CAAC,EAAE;AAEjD;;;;CAIC,GACD,OAAO,MAAMkB,oBAAuC,CAACJ,QACnDA,MAAMC,QAAQ,CAAC,CAAC,EAAEhB,gCAAgC,CAAC,EAAE;AAEvD;;;;CAIC,GACD,OAAO,MAAMoB,kBAAqC,CAACL,QACjDG,aAAaH,UAAUI,kBAAkBJ,OAAO;AAsClD;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,OAAO,SAASM,gBACdC,eAAkCJ,YAAY;IAI9C,MAAMK,YAAY,IAAIC;IACtB,MAAMC,aAAa3B,KAChB4B,KAAK,CAACC,QAAQ,cACdC,kBAAkB,CAAC,CAACb,QAAW,CAAA;YAC9B,GAAGV,qBAAqB;YACxBK,kBAAiBmB,IAAY,EAAEC,QAAwC;gBACrE,mBAAmB,GACnB,IAAI,OAAOA,aAAa,cAAcD,SAAS,UAAU;oBACvD;gBACF;gBACA,iBAAiB,GAEjBN,UAAUQ,GAAG,CAAChB,OAAOe;YACvB;YACAnB,qBACEkB,IAAY,EACZC,QAAwC;gBAExC,mBAAmB,GACnB,IAAI,OAAOA,aAAa,cAAcD,SAAS,UAAU;oBACvD;gBACF;gBACA,iBAAiB,GAEjBN,UAAUS,MAAM,CAACjB;YACnB;YACAR,SAASe,aAAaP;QACxB,CAAA;IAEF,MAAMkB,iBAAiB,CACrBC,SACAC,aAAa,KAAK;QAElB,MAAMC,SAAS;YACbT,OAAOd,aAAa,CAAC,IAAIwB,MAAM;YAE/B,MAAMC,QAAQ,IAAID,MAAM;YACxBd,UAAUgB,OAAO,CAAC,CAACT,UAAUf;gBAC3Be,SAAS;oBACP,GAAGQ,KAAK;oBACRhC,OAAO;oBACPC,SAAS2B,QAAQnB;gBACnB;YACF;QACF;QACA,IAAIoB,YAAY;YACdC;QACF,OAAO;YACLrC,IAAIqC;QACN;IACF;IAEA,MAAMI,OAAOf;IACbe,KAAKP,cAAc,GAAGA;IAEtB,OAAOO;AACT"}
1
+ {"version":3,"sources":["../../src/test-utils/matchMedia.ts"],"sourcesContent":["import { jest } from \"@jest/globals\";\nimport { act } from \"@testing-library/react\";\nimport {\n DEFAULT_DESKTOP_LARGE_MIN_WIDTH,\n DEFAULT_DESKTOP_MIN_WIDTH,\n DEFAULT_PHONE_MAX_WIDTH,\n DEFAULT_TABLET_MIN_WIDTH,\n} from \"../media-queries/appSize.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @see {@link spyOnMatchMedia} instead\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport const BASE_MEDIA_QUERY_LIST: MediaQueryList = {\n media: \"\",\n matches: false,\n onchange: noop,\n addListener: noop,\n addEventListener: noop,\n removeEventListener: noop,\n removeListener: noop,\n dispatchEvent: () => false,\n};\n\n/** @remarks \\@since 6.0.0 */\nexport type MatchMediaMatcher = (query: string) => boolean;\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for phone media queries\n */\nexport const matchPhone: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_PHONE_MAX_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for tablet media queries\n */\nexport const matchTablet: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_TABLET_MIN_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for desktop media queries\n */\nexport const matchDesktop: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_DESKTOP_MIN_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for large desktop media queries\n */\nexport const matchLargeDesktop: MatchMediaMatcher = (query) =>\n query.includes(`${DEFAULT_DESKTOP_LARGE_MIN_WIDTH}`);\n\n/**\n * @see {@link spyOnMatchMedia} for usage\n * @remarks \\@since 6.0.0\n * @returns `true` for both desktop and large desktop media queries\n */\nexport const matchAnyDesktop: MatchMediaMatcher = (query) =>\n matchDesktop(query) || matchLargeDesktop(query);\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type MatchMediaSpiedFunction = jest.SpiedFunction<\n typeof window.matchMedia\n> & {\n /**\n * @example\n * Default Behavior\n * ```tsx\n * const matchMedia = spyOnMatchMedia();\n * render(<Test />);\n *\n * // expect desktop results\n *\n * matchMedia.changeViewport(matchPhone);\n * // expect phone results\n * ```\n *\n * @example\n * Custom Act Behavior\n * ```tsx\n * const matchMedia = spyOnMatchMedia();\n * const { rerender } = render(<Test />);\n *\n * // expect desktop results\n *\n * matchMedia.changeViewport(matchPhone, false);\n * rerender(<Test key=\"new-key\" />);\n *\n * // expect phone results\n * ```\n */\n changeViewport(matcher: MatchMediaMatcher, disableAct?: boolean): void;\n};\n\n/**\n * @example\n * Default Behavior\n * ```tsx\n * import { matchPhone, render, spyOnMatchMedia } from \"@react-md/test-utils\";\n *\n * const matchMedia = spyOnMatchMedia();\n * render(<Test />);\n *\n * // expect desktop results\n *\n * matchMedia.changeViewport(matchPhone);\n * // expect phone results\n * ```\n *\n * @example\n * Set Default Media\n * ```tsx\n * import { matchPhone, render, spyOnMatchMedia } from \"@react-md/test-utils\";\n *\n * const matchMedia = spyOnMatchMedia(matchPhone);\n * render(<Test />);\n *\n * // expect phone results\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function spyOnMatchMedia(\n defaultMatch: MatchMediaMatcher = matchDesktop\n): MatchMediaSpiedFunction {\n type Listener = (event: MediaQueryListEvent) => void;\n\n const listeners = new Map<string, Listener>();\n const matchMedia = jest\n .spyOn(window, \"matchMedia\")\n .mockImplementation((query) => ({\n ...BASE_MEDIA_QUERY_LIST,\n addEventListener(type: string, listener: Listener | EventListenerObject) {\n /* c8 ignore start */\n if (typeof listener !== \"function\" || type !== \"change\") {\n return;\n }\n /* c8 ignore stop */\n\n listeners.set(query, listener);\n },\n removeEventListener(\n type: string,\n listener: Listener | EventListenerObject\n ) {\n /* c8 ignore start */\n if (typeof listener !== \"function\" || type !== \"change\") {\n return;\n }\n /* c8 ignore stop */\n\n listeners.delete(query);\n },\n matches: defaultMatch(query),\n }));\n\n const changeViewport = (\n matcher: MatchMediaMatcher,\n disableAct = false\n ): void => {\n const update = (): void => {\n window.dispatchEvent(new Event(\"resize\"));\n\n const event = new Event(\"change\");\n listeners.forEach((listener, query) => {\n listener({\n ...event,\n media: \"\",\n matches: matcher(query),\n });\n });\n };\n if (disableAct) {\n update();\n } else {\n act(update);\n }\n };\n\n const mock = matchMedia as MatchMediaSpiedFunction;\n mock.changeViewport = changeViewport;\n\n return mock;\n}\n"],"names":["jest","act","DEFAULT_DESKTOP_LARGE_MIN_WIDTH","DEFAULT_DESKTOP_MIN_WIDTH","DEFAULT_PHONE_MAX_WIDTH","DEFAULT_TABLET_MIN_WIDTH","noop","BASE_MEDIA_QUERY_LIST","media","matches","onchange","addListener","addEventListener","removeEventListener","removeListener","dispatchEvent","matchPhone","query","includes","matchTablet","matchDesktop","matchLargeDesktop","matchAnyDesktop","spyOnMatchMedia","defaultMatch","listeners","Map","matchMedia","spyOn","window","mockImplementation","type","listener","set","delete","changeViewport","matcher","disableAct","update","Event","event","forEach","mock"],"mappings":"AAAA,SAASA,IAAI,QAAQ,gBAAgB;AACrC,SAASC,GAAG,QAAQ,yBAAyB;AAC7C,SACEC,+BAA+B,EAC/BC,yBAAyB,EACzBC,uBAAuB,EACvBC,wBAAwB,QACnB,8BAA8B;AAErC,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;CAIC,GACD,OAAO,MAAMC,wBAAwC;IACnDC,OAAO;IACPC,SAAS;IACTC,UAAUJ;IACVK,aAAaL;IACbM,kBAAkBN;IAClBO,qBAAqBP;IACrBQ,gBAAgBR;IAChBS,eAAe,IAAM;AACvB,EAAE;AAKF;;;;CAIC,GACD,OAAO,MAAMC,aAAgC,CAACC,QAC5CA,MAAMC,QAAQ,CAAC,CAAC,EAAEd,wBAAwB,CAAC,EAAE;AAE/C;;;;CAIC,GACD,OAAO,MAAMe,cAAiC,CAACF,QAC7CA,MAAMC,QAAQ,CAAC,CAAC,EAAEb,yBAAyB,CAAC,EAAE;AAEhD;;;;CAIC,GACD,OAAO,MAAMe,eAAkC,CAACH,QAC9CA,MAAMC,QAAQ,CAAC,CAAC,EAAEf,0BAA0B,CAAC,EAAE;AAEjD;;;;CAIC,GACD,OAAO,MAAMkB,oBAAuC,CAACJ,QACnDA,MAAMC,QAAQ,CAAC,CAAC,EAAEhB,gCAAgC,CAAC,EAAE;AAEvD;;;;CAIC,GACD,OAAO,MAAMoB,kBAAqC,CAACL,QACjDG,aAAaH,UAAUI,kBAAkBJ,OAAO;AAsClD;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,OAAO,SAASM,gBACdC,eAAkCJ,YAAY;IAI9C,MAAMK,YAAY,IAAIC;IACtB,MAAMC,aAAa3B,KAChB4B,KAAK,CAACC,QAAQ,cACdC,kBAAkB,CAAC,CAACb,QAAW,CAAA;YAC9B,GAAGV,qBAAqB;YACxBK,kBAAiBmB,IAAY,EAAEC,QAAwC;gBACrE,mBAAmB,GACnB,IAAI,OAAOA,aAAa,cAAcD,SAAS,UAAU;oBACvD;gBACF;gBACA,kBAAkB,GAElBN,UAAUQ,GAAG,CAAChB,OAAOe;YACvB;YACAnB,qBACEkB,IAAY,EACZC,QAAwC;gBAExC,mBAAmB,GACnB,IAAI,OAAOA,aAAa,cAAcD,SAAS,UAAU;oBACvD;gBACF;gBACA,kBAAkB,GAElBN,UAAUS,MAAM,CAACjB;YACnB;YACAR,SAASe,aAAaP;QACxB,CAAA;IAEF,MAAMkB,iBAAiB,CACrBC,SACAC,aAAa,KAAK;QAElB,MAAMC,SAAS;YACbT,OAAOd,aAAa,CAAC,IAAIwB,MAAM;YAE/B,MAAMC,QAAQ,IAAID,MAAM;YACxBd,UAAUgB,OAAO,CAAC,CAACT,UAAUf;gBAC3Be,SAAS;oBACP,GAAGQ,KAAK;oBACRhC,OAAO;oBACPC,SAAS2B,QAAQnB;gBACnB;YACF;QACF;QACA,IAAIoB,YAAY;YACdC;QACF,OAAO;YACLrC,IAAIqC;QACN;IACF;IAEA,MAAMI,OAAOf;IACbe,KAAKP,cAAc,GAAGA;IAEtB,OAAOO;AACT"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { TextDecoder } from "node:util";
2
+ if (typeof global.TextDecoder === "undefined") {
3
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
4
+ // @ts-expect-error browser TextDecoder does not support `null` while `node:util` does
5
+ global.TextDecoder = TextDecoder;
6
+ }
7
+
8
+ //# sourceMappingURL=TextDecoder.js.map