@react-md/core 1.0.0-next.15 → 1.0.0-next.17

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 (1344) hide show
  1. package/dist/RootHtml.d.ts +0 -2
  2. package/dist/RootHtml.js +0 -2
  3. package/dist/RootHtml.js.map +1 -1
  4. package/dist/_box-shadows.scss +76 -0
  5. package/dist/_colors.scss +279 -277
  6. package/dist/_core.scss +107 -16
  7. package/dist/_object-fit.scss +86 -0
  8. package/dist/_utils.scss +246 -72
  9. package/dist/app-bar/AppBar.d.ts +1 -92
  10. package/dist/app-bar/AppBar.js +1 -42
  11. package/dist/app-bar/AppBar.js.map +1 -1
  12. package/dist/app-bar/AppBarTitle.d.ts +1 -30
  13. package/dist/app-bar/AppBarTitle.js +1 -17
  14. package/dist/app-bar/AppBarTitle.js.map +1 -1
  15. package/dist/app-bar/_app-bar.scss +156 -25
  16. package/dist/app-bar/styles.d.ts +117 -0
  17. package/dist/app-bar/styles.js +55 -0
  18. package/dist/app-bar/styles.js.map +1 -0
  19. package/dist/autocomplete/Autocomplete.d.ts +8 -79
  20. package/dist/autocomplete/Autocomplete.js +112 -83
  21. package/dist/autocomplete/Autocomplete.js.map +1 -1
  22. package/dist/autocomplete/AutocompleteChip.d.ts +8 -0
  23. package/dist/autocomplete/AutocompleteChip.js +34 -0
  24. package/dist/autocomplete/AutocompleteChip.js.map +1 -0
  25. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +5 -11
  26. package/dist/autocomplete/AutocompleteCircularProgress.js +4 -0
  27. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  28. package/dist/autocomplete/AutocompleteClearButton.d.ts +9 -0
  29. package/dist/autocomplete/AutocompleteClearButton.js +29 -0
  30. package/dist/autocomplete/AutocompleteClearButton.js.map +1 -0
  31. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +4 -26
  32. package/dist/autocomplete/AutocompleteDropdownButton.js +5 -1
  33. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  34. package/dist/autocomplete/AutocompleteListboxChildren.d.ts +22 -0
  35. package/dist/autocomplete/AutocompleteListboxChildren.js +37 -0
  36. package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -0
  37. package/dist/autocomplete/_autocomplete.scss +362 -34
  38. package/dist/autocomplete/autocompleteStyles.d.ts +22 -0
  39. package/dist/autocomplete/autocompleteStyles.js +17 -8
  40. package/dist/autocomplete/autocompleteStyles.js.map +1 -1
  41. package/dist/autocomplete/defaults.d.ts +9 -9
  42. package/dist/autocomplete/defaults.js +13 -13
  43. package/dist/autocomplete/defaults.js.map +1 -1
  44. package/dist/autocomplete/types.d.ts +554 -56
  45. package/dist/autocomplete/types.js.map +1 -1
  46. package/dist/autocomplete/useAutocomplete.d.ts +22 -0
  47. package/dist/autocomplete/useAutocomplete.js +281 -0
  48. package/dist/autocomplete/useAutocomplete.js.map +1 -0
  49. package/dist/autocomplete/utils.d.ts +81 -0
  50. package/dist/autocomplete/utils.js +108 -0
  51. package/dist/autocomplete/utils.js.map +1 -0
  52. package/dist/avatar/Avatar.d.ts +0 -2
  53. package/dist/avatar/Avatar.js +0 -2
  54. package/dist/avatar/Avatar.js.map +1 -1
  55. package/dist/avatar/_avatar.scss +93 -2
  56. package/dist/badge/Badge.d.ts +2 -23
  57. package/dist/badge/Badge.js +1 -16
  58. package/dist/badge/Badge.js.map +1 -1
  59. package/dist/badge/_badge.scss +90 -3
  60. package/dist/badge/styles.d.ts +26 -0
  61. package/dist/badge/styles.js +18 -0
  62. package/dist/badge/styles.js.map +1 -0
  63. package/dist/box/Box.d.ts +0 -2
  64. package/dist/box/Box.js +2 -3
  65. package/dist/box/Box.js.map +1 -1
  66. package/dist/box/_box.scss +130 -17
  67. package/dist/box/styles.d.ts +6 -0
  68. package/dist/box/styles.js +2 -1
  69. package/dist/box/styles.js.map +1 -1
  70. package/dist/button/AsyncButton.d.ts +1 -1
  71. package/dist/button/AsyncButton.js.map +1 -1
  72. package/dist/button/Button.d.ts +2 -1
  73. package/dist/button/Button.js +2 -1
  74. package/dist/button/Button.js.map +1 -1
  75. package/dist/button/ButtonUnstyled.d.ts +0 -2
  76. package/dist/button/ButtonUnstyled.js +0 -2
  77. package/dist/button/ButtonUnstyled.js.map +1 -1
  78. package/dist/button/_button.scss +157 -25
  79. package/dist/card/Card.d.ts +16 -2
  80. package/dist/card/Card.js +11 -5
  81. package/dist/card/Card.js.map +1 -1
  82. package/dist/card/CardContent.d.ts +0 -2
  83. package/dist/card/CardContent.js +0 -2
  84. package/dist/card/CardContent.js.map +1 -1
  85. package/dist/card/CardFooter.d.ts +0 -3
  86. package/dist/card/CardFooter.js +0 -2
  87. package/dist/card/CardFooter.js.map +1 -1
  88. package/dist/card/CardHeader.d.ts +0 -2
  89. package/dist/card/CardHeader.js +0 -2
  90. package/dist/card/CardHeader.js.map +1 -1
  91. package/dist/card/CardSubtitle.d.ts +0 -3
  92. package/dist/card/CardSubtitle.js +0 -2
  93. package/dist/card/CardSubtitle.js.map +1 -1
  94. package/dist/card/CardTitle.d.ts +0 -3
  95. package/dist/card/CardTitle.js +0 -2
  96. package/dist/card/CardTitle.js.map +1 -1
  97. package/dist/card/ClickableCard.d.ts +2 -1
  98. package/dist/card/ClickableCard.js +5 -2
  99. package/dist/card/ClickableCard.js.map +1 -1
  100. package/dist/card/_card.scss +90 -19
  101. package/dist/card/styles.d.ts +0 -7
  102. package/dist/card/styles.js +2 -3
  103. package/dist/card/styles.js.map +1 -1
  104. package/dist/chip/Chip.d.ts +2 -3
  105. package/dist/chip/Chip.js +2 -3
  106. package/dist/chip/Chip.js.map +1 -1
  107. package/dist/chip/_chip.scss +42 -20
  108. package/dist/chip/styles.d.ts +12 -10
  109. package/dist/chip/styles.js.map +1 -1
  110. package/dist/cssUtils.js.map +1 -1
  111. package/dist/delegateEvent.d.ts +2 -2
  112. package/dist/delegateEvent.js.map +1 -1
  113. package/dist/dialog/Dialog.d.ts +8 -21
  114. package/dist/dialog/Dialog.js +27 -27
  115. package/dist/dialog/Dialog.js.map +1 -1
  116. package/dist/dialog/DialogContent.d.ts +3 -3
  117. package/dist/dialog/DialogContent.js +3 -3
  118. package/dist/dialog/DialogContent.js.map +1 -1
  119. package/dist/dialog/DialogFooter.d.ts +2 -3
  120. package/dist/dialog/DialogFooter.js +2 -3
  121. package/dist/dialog/DialogFooter.js.map +1 -1
  122. package/dist/dialog/DialogHeader.d.ts +3 -3
  123. package/dist/dialog/DialogHeader.js +3 -3
  124. package/dist/dialog/DialogHeader.js.map +1 -1
  125. package/dist/dialog/DialogTitle.d.ts +3 -4
  126. package/dist/dialog/DialogTitle.js +3 -3
  127. package/dist/dialog/DialogTitle.js.map +1 -1
  128. package/dist/dialog/FixedDialog.d.ts +1 -3
  129. package/dist/dialog/FixedDialog.js +0 -8
  130. package/dist/dialog/FixedDialog.js.map +1 -1
  131. package/dist/dialog/NestedDialogProvider.d.ts +0 -1
  132. package/dist/dialog/_dialog.scss +67 -13
  133. package/dist/dialog/styles.d.ts +56 -0
  134. package/dist/dialog/styles.js +29 -2
  135. package/dist/dialog/styles.js.map +1 -1
  136. package/dist/divider/Divider.d.ts +0 -13
  137. package/dist/divider/Divider.js +0 -2
  138. package/dist/divider/Divider.js.map +1 -1
  139. package/dist/divider/_divider.scss +7 -1
  140. package/dist/divider/styles.d.ts +11 -0
  141. package/dist/divider/styles.js.map +1 -1
  142. package/dist/draggable/useDraggable.d.ts +6 -6
  143. package/dist/draggable/useDraggable.js.map +1 -1
  144. package/dist/draggable/utils.d.ts +3 -3
  145. package/dist/draggable/utils.js.map +1 -1
  146. package/dist/expansion-panel/ExpansionList.d.ts +1 -1
  147. package/dist/expansion-panel/ExpansionList.js +1 -1
  148. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  149. package/dist/expansion-panel/ExpansionPanel.d.ts +9 -25
  150. package/dist/expansion-panel/ExpansionPanel.js +1 -12
  151. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  152. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +0 -1
  153. package/dist/expansion-panel/ExpansionPanelHeader.js +0 -1
  154. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  155. package/dist/expansion-panel/_expansion-panel.scss +5 -1
  156. package/dist/expansion-panel/expansionPanelStyles.d.ts +19 -0
  157. package/dist/expansion-panel/expansionPanelStyles.js +14 -0
  158. package/dist/expansion-panel/expansionPanelStyles.js.map +1 -0
  159. package/dist/expansion-panel/useExpansionPanels.js +12 -24
  160. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  161. package/dist/{form → files}/FileInput.d.ts +3 -6
  162. package/dist/{form → files}/FileInput.js +3 -6
  163. package/dist/files/FileInput.js.map +1 -0
  164. package/dist/files/_files.scss +22 -0
  165. package/dist/files/styles.d.ts +5 -0
  166. package/dist/files/styles.js +7 -0
  167. package/dist/files/styles.js.map +1 -0
  168. package/dist/{form → files}/useFileUpload.d.ts +7 -9
  169. package/dist/{form → files}/useFileUpload.js +5 -7
  170. package/dist/files/useFileUpload.js.map +1 -0
  171. package/dist/files/utils.d.ts +169 -0
  172. package/dist/files/utils.js +114 -0
  173. package/dist/files/utils.js.map +1 -0
  174. package/dist/{form/fileUtils.d.ts → files/validation.d.ts} +9 -174
  175. package/dist/{form/fileUtils.js → files/validation.js} +9 -134
  176. package/dist/files/validation.js.map +1 -0
  177. package/dist/focus/useFocusContainer.d.ts +2 -2
  178. package/dist/focus/useFocusContainer.js.map +1 -1
  179. package/dist/focus/utils.js.map +1 -1
  180. package/dist/form/Checkbox.d.ts +0 -1
  181. package/dist/form/Fieldset.d.ts +0 -2
  182. package/dist/form/Fieldset.js.map +1 -1
  183. package/dist/form/FormMessage.d.ts +0 -3
  184. package/dist/form/FormMessage.js +0 -2
  185. package/dist/form/FormMessage.js.map +1 -1
  186. package/dist/form/FormMessageContainer.d.ts +0 -1
  187. package/dist/form/FormMessageContainer.js +4 -3
  188. package/dist/form/FormMessageContainer.js.map +1 -1
  189. package/dist/form/FormMessageCounter.d.ts +0 -2
  190. package/dist/form/FormMessageCounter.js +0 -2
  191. package/dist/form/FormMessageCounter.js.map +1 -1
  192. package/dist/form/InputToggle.d.ts +2 -1
  193. package/dist/form/InputToggle.js +2 -1
  194. package/dist/form/InputToggle.js.map +1 -1
  195. package/dist/form/InputToggleIcon.d.ts +0 -2
  196. package/dist/form/InputToggleIcon.js +0 -2
  197. package/dist/form/InputToggleIcon.js.map +1 -1
  198. package/dist/form/Label.d.ts +0 -3
  199. package/dist/form/Label.js +2 -4
  200. package/dist/form/Label.js.map +1 -1
  201. package/dist/form/Legend.d.ts +0 -3
  202. package/dist/form/Legend.js +0 -2
  203. package/dist/form/Legend.js.map +1 -1
  204. package/dist/form/Listbox.d.ts +24 -0
  205. package/dist/form/Listbox.js +46 -0
  206. package/dist/form/Listbox.js.map +1 -0
  207. package/dist/form/ListboxProvider.d.ts +21 -0
  208. package/dist/form/{useListboxProvider.js → ListboxProvider.js} +1 -1
  209. package/dist/form/ListboxProvider.js.map +1 -0
  210. package/dist/form/MenuItemCheckbox.d.ts +0 -1
  211. package/dist/form/MenuItemRadio.d.ts +0 -1
  212. package/dist/form/MenuItemSwitch.d.ts +0 -1
  213. package/dist/form/MenuItemTextField.js +1 -2
  214. package/dist/form/MenuItemTextField.js.map +1 -1
  215. package/dist/form/NativeSelect.d.ts +0 -2
  216. package/dist/form/NativeSelect.js +7 -6
  217. package/dist/form/NativeSelect.js.map +1 -1
  218. package/dist/form/Option.d.ts +49 -10
  219. package/dist/form/Option.js +11 -9
  220. package/dist/form/Option.js.map +1 -1
  221. package/dist/form/Password.js.map +1 -1
  222. package/dist/form/Radio.d.ts +0 -1
  223. package/dist/form/Select.d.ts +2 -2
  224. package/dist/form/Select.js +81 -85
  225. package/dist/form/Select.js.map +1 -1
  226. package/dist/form/SelectedOption.d.ts +0 -2
  227. package/dist/form/SelectedOption.js +0 -2
  228. package/dist/form/SelectedOption.js.map +1 -1
  229. package/dist/form/Slider.d.ts +4 -4
  230. package/dist/form/Slider.js +6 -2
  231. package/dist/form/Slider.js.map +1 -1
  232. package/dist/form/SliderContainer.d.ts +0 -2
  233. package/dist/form/SliderContainer.js +0 -2
  234. package/dist/form/SliderContainer.js.map +1 -1
  235. package/dist/form/SliderMark.d.ts +0 -2
  236. package/dist/form/SliderMark.js +0 -2
  237. package/dist/form/SliderMark.js.map +1 -1
  238. package/dist/form/SliderMarkLabel.d.ts +0 -2
  239. package/dist/form/SliderMarkLabel.js +0 -2
  240. package/dist/form/SliderMarkLabel.js.map +1 -1
  241. package/dist/form/SliderThumb.d.ts +3 -3
  242. package/dist/form/SliderThumb.js.map +1 -1
  243. package/dist/form/SliderTrack.d.ts +0 -2
  244. package/dist/form/SliderTrack.js +0 -2
  245. package/dist/form/SliderTrack.js.map +1 -1
  246. package/dist/form/SliderValueMarks.d.ts +2 -4
  247. package/dist/form/SliderValueMarks.js +0 -2
  248. package/dist/form/SliderValueMarks.js.map +1 -1
  249. package/dist/form/SliderValueTooltip.js.map +1 -1
  250. package/dist/form/Switch.d.ts +0 -2
  251. package/dist/form/Switch.js +0 -2
  252. package/dist/form/Switch.js.map +1 -1
  253. package/dist/form/SwitchTrack.d.ts +2 -1
  254. package/dist/form/SwitchTrack.js +2 -1
  255. package/dist/form/SwitchTrack.js.map +1 -1
  256. package/dist/form/TextArea.js +1 -2
  257. package/dist/form/TextArea.js.map +1 -1
  258. package/dist/form/TextField.d.ts +0 -2
  259. package/dist/form/TextField.js +1 -4
  260. package/dist/form/TextField.js.map +1 -1
  261. package/dist/form/TextFieldAddon.d.ts +1 -4
  262. package/dist/form/TextFieldAddon.js +1 -3
  263. package/dist/form/TextFieldAddon.js.map +1 -1
  264. package/dist/form/TextFieldContainer.js +1 -2
  265. package/dist/form/TextFieldContainer.js.map +1 -1
  266. package/dist/form/_form.scss +186 -121
  267. package/dist/form/formMessageContainerStyles.d.ts +10 -0
  268. package/dist/form/formMessageContainerStyles.js +11 -0
  269. package/dist/form/formMessageContainerStyles.js.map +1 -0
  270. package/dist/form/inputToggleStyles.js.map +1 -1
  271. package/dist/form/optionStyles.d.ts +1 -0
  272. package/dist/form/optionStyles.js +2 -2
  273. package/dist/form/optionStyles.js.map +1 -1
  274. package/dist/form/selectUtils.js.map +1 -1
  275. package/dist/form/sliderUtils.d.ts +1 -1
  276. package/dist/form/sliderUtils.js.map +1 -1
  277. package/dist/form/textFieldContainerStyles.d.ts +0 -2
  278. package/dist/form/textFieldContainerStyles.js +1 -2
  279. package/dist/form/textFieldContainerStyles.js.map +1 -1
  280. package/dist/form/types.d.ts +3 -10
  281. package/dist/form/types.js.map +1 -1
  282. package/dist/form/useCheckboxGroup.d.ts +17 -17
  283. package/dist/form/useCheckboxGroup.js +9 -17
  284. package/dist/form/useCheckboxGroup.js.map +1 -1
  285. package/dist/form/useCombobox.d.ts +56 -21
  286. package/dist/form/useCombobox.js +19 -4
  287. package/dist/form/useCombobox.js.map +1 -1
  288. package/dist/form/useEditableCombobox.d.ts +24 -4
  289. package/dist/form/useEditableCombobox.js +5 -0
  290. package/dist/form/useEditableCombobox.js.map +1 -1
  291. package/dist/form/useNumberField.js.map +1 -1
  292. package/dist/form/useRadioGroup.d.ts +6 -6
  293. package/dist/form/useRadioGroup.js.map +1 -1
  294. package/dist/form/useResizingTextArea.js.map +1 -1
  295. package/dist/form/useSelectCombobox.d.ts +3 -4
  296. package/dist/form/useSelectCombobox.js.map +1 -1
  297. package/dist/form/useTextField.d.ts +1 -1
  298. package/dist/form/useTextField.js.map +1 -1
  299. package/dist/form/useTextFieldContainerAddons.js.map +1 -1
  300. package/dist/hoverMode/useHoverMode.d.ts +3 -3
  301. package/dist/hoverMode/useHoverMode.js.map +1 -1
  302. package/dist/hoverMode/useHoverModeProvider.d.ts +4 -4
  303. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  304. package/dist/icon/FontIcon.d.ts +0 -2
  305. package/dist/icon/FontIcon.js +0 -2
  306. package/dist/icon/FontIcon.js.map +1 -1
  307. package/dist/icon/IconRotator.d.ts +0 -2
  308. package/dist/icon/IconRotator.js +0 -2
  309. package/dist/icon/IconRotator.js.map +1 -1
  310. package/dist/icon/MaterialIcon.d.ts +0 -2
  311. package/dist/icon/MaterialIcon.js +0 -2
  312. package/dist/icon/MaterialIcon.js.map +1 -1
  313. package/dist/icon/MaterialSymbol.d.ts +0 -1
  314. package/dist/icon/MaterialSymbol.js +0 -1
  315. package/dist/icon/MaterialSymbol.js.map +1 -1
  316. package/dist/icon/SVGIcon.d.ts +0 -2
  317. package/dist/icon/SVGIcon.js +0 -2
  318. package/dist/icon/SVGIcon.js.map +1 -1
  319. package/dist/icon/TextIconSpacing.d.ts +0 -2
  320. package/dist/icon/TextIconSpacing.js +0 -2
  321. package/dist/icon/TextIconSpacing.js.map +1 -1
  322. package/dist/icon/_icon.scss +153 -4
  323. package/dist/icon/iconConfig.d.ts +10 -0
  324. package/dist/icon/iconConfig.js +7 -0
  325. package/dist/icon/iconConfig.js.map +1 -1
  326. package/dist/icon/materialConfig.js.map +1 -1
  327. package/dist/icon/styles.js +1 -1
  328. package/dist/icon/styles.js.map +1 -1
  329. package/dist/interaction/RippleContainer.d.ts +0 -2
  330. package/dist/interaction/RippleContainer.js +0 -2
  331. package/dist/interaction/RippleContainer.js.map +1 -1
  332. package/dist/interaction/UserInteractionModeProvider.d.ts +5 -5
  333. package/dist/interaction/UserInteractionModeProvider.js +12 -8
  334. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  335. package/dist/interaction/types.d.ts +20 -2
  336. package/dist/interaction/types.js.map +1 -1
  337. package/dist/interaction/useElementInteraction.d.ts +7 -1
  338. package/dist/interaction/useElementInteraction.js +1 -2
  339. package/dist/interaction/useElementInteraction.js.map +1 -1
  340. package/dist/interaction/utils.d.ts +2 -2
  341. package/dist/interaction/utils.js +2 -2
  342. package/dist/interaction/utils.js.map +1 -1
  343. package/dist/layout/LayoutAppBar.d.ts +0 -1
  344. package/dist/layout/LayoutNav.js +1 -2
  345. package/dist/layout/LayoutNav.js.map +1 -1
  346. package/dist/layout/LayoutWindowSplitter.d.ts +0 -1
  347. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  348. package/dist/layout/_layout.scss +23 -10
  349. package/dist/layout/useExpandableLayout.d.ts +3 -3
  350. package/dist/layout/useExpandableLayout.js.map +1 -1
  351. package/dist/layout/useHorizontalLayoutTransition.js +1 -1
  352. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  353. package/dist/layout/useLayoutAppBarHeight.d.ts +2 -3
  354. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  355. package/dist/layout/useLayoutTree.d.ts +2 -2
  356. package/dist/layout/useLayoutTree.js.map +1 -1
  357. package/dist/layout/useTemporaryLayout.d.ts +2 -2
  358. package/dist/layout/useTemporaryLayout.js.map +1 -1
  359. package/dist/link/Link.d.ts +0 -2
  360. package/dist/link/Link.js +0 -2
  361. package/dist/link/Link.js.map +1 -1
  362. package/dist/link/SkipToMainContent.js.map +1 -1
  363. package/dist/list/List.d.ts +0 -20
  364. package/dist/list/List.js +1 -14
  365. package/dist/list/List.js.map +1 -1
  366. package/dist/list/ListItem.d.ts +2 -17
  367. package/dist/list/ListItem.js +2 -1
  368. package/dist/list/ListItem.js.map +1 -1
  369. package/dist/list/ListItemAddon.d.ts +0 -2
  370. package/dist/list/ListItemAddon.js +0 -2
  371. package/dist/list/ListItemAddon.js.map +1 -1
  372. package/dist/list/ListItemChildren.d.ts +0 -2
  373. package/dist/list/ListItemChildren.js +0 -2
  374. package/dist/list/ListItemChildren.js.map +1 -1
  375. package/dist/list/ListItemLink.d.ts +2 -1
  376. package/dist/list/ListItemLink.js +2 -1
  377. package/dist/list/ListItemLink.js.map +1 -1
  378. package/dist/list/ListItemText.d.ts +0 -2
  379. package/dist/list/ListItemText.js +0 -2
  380. package/dist/list/ListItemText.js.map +1 -1
  381. package/dist/list/ListSubheader.d.ts +3 -2
  382. package/dist/list/ListSubheader.js +0 -2
  383. package/dist/list/ListSubheader.js.map +1 -1
  384. package/dist/list/_list.scss +6 -5
  385. package/dist/list/getListItemHeight.d.ts +2 -2
  386. package/dist/list/getListItemHeight.js +2 -2
  387. package/dist/list/getListItemHeight.js.map +1 -1
  388. package/dist/list/listItemStyles.d.ts +17 -1
  389. package/dist/list/listItemStyles.js.map +1 -1
  390. package/dist/list/listStyles.d.ts +18 -0
  391. package/dist/list/listStyles.js +14 -0
  392. package/dist/list/listStyles.js.map +1 -0
  393. package/dist/list/types.d.ts +9 -3
  394. package/dist/list/types.js +6 -1
  395. package/dist/list/types.js.map +1 -1
  396. package/dist/media-queries/AppSizeProvider.d.ts +8 -0
  397. package/dist/media-queries/AppSizeProvider.js +2 -0
  398. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  399. package/dist/media-queries/_media-queries.scss +12 -0
  400. package/dist/media-queries/appSize.d.ts +5 -5
  401. package/dist/media-queries/appSize.js.map +1 -1
  402. package/dist/media-queries/useMediaQuery.d.ts +1 -1
  403. package/dist/media-queries/useMediaQuery.js +4 -2
  404. package/dist/media-queries/useMediaQuery.js.map +1 -1
  405. package/dist/menu/DropdownMenu.js.map +1 -1
  406. package/dist/menu/Menu.d.ts +8 -3
  407. package/dist/menu/Menu.js +2 -1
  408. package/dist/menu/Menu.js.map +1 -1
  409. package/dist/menu/MenuBar.d.ts +0 -1
  410. package/dist/menu/MenuButton.d.ts +0 -1
  411. package/dist/menu/MenuConfigurationProvider.js.map +1 -1
  412. package/dist/menu/MenuItem.d.ts +0 -1
  413. package/dist/menu/MenuItemButton.d.ts +0 -1
  414. package/dist/menu/MenuItemButton.js +6 -2
  415. package/dist/menu/MenuItemButton.js.map +1 -1
  416. package/dist/menu/useContextMenu.d.ts +3 -3
  417. package/dist/menu/useContextMenu.js.map +1 -1
  418. package/dist/menu/useMenuBarProvider.d.ts +0 -1
  419. package/dist/movement/types.d.ts +5 -5
  420. package/dist/movement/types.js.map +1 -1
  421. package/dist/movement/useKeyboardMovementProvider.d.ts +0 -1
  422. package/dist/navigation/CollapsibleNavGroup.d.ts +5 -3
  423. package/dist/navigation/CollapsibleNavGroup.js +3 -4
  424. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  425. package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -2
  426. package/dist/navigation/DefaultNavigationRenderer.js +6 -2
  427. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  428. package/dist/navigation/NavGroup.d.ts +0 -2
  429. package/dist/navigation/NavGroup.js +0 -2
  430. package/dist/navigation/NavGroup.js.map +1 -1
  431. package/dist/navigation/NavItem.d.ts +0 -2
  432. package/dist/navigation/NavItem.js +0 -2
  433. package/dist/navigation/NavItem.js.map +1 -1
  434. package/dist/navigation/NavItemButton.d.ts +1 -1
  435. package/dist/navigation/NavItemButton.js +1 -0
  436. package/dist/navigation/NavItemButton.js.map +1 -1
  437. package/dist/navigation/NavItemLink.d.ts +3 -2
  438. package/dist/navigation/NavItemLink.js +6 -2
  439. package/dist/navigation/NavItemLink.js.map +1 -1
  440. package/dist/navigation/NavSubheader.d.ts +2 -6
  441. package/dist/navigation/NavSubheader.js +0 -2
  442. package/dist/navigation/NavSubheader.js.map +1 -1
  443. package/dist/navigation/Navigation.d.ts +1 -1
  444. package/dist/navigation/Navigation.js.map +1 -1
  445. package/dist/navigation/_navigation.scss +6 -5
  446. package/dist/navigation/types.d.ts +54 -6
  447. package/dist/navigation/types.js.map +1 -1
  448. package/dist/navigation/useActiveHeadingId.d.ts +1 -1
  449. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  450. package/dist/navigation/useNavigationExpansion.d.ts +104 -0
  451. package/dist/navigation/useNavigationExpansion.js +77 -0
  452. package/dist/navigation/useNavigationExpansion.js.map +1 -0
  453. package/dist/navigation/utils.d.ts +13 -0
  454. package/dist/navigation/utils.js +36 -0
  455. package/dist/navigation/utils.js.map +1 -0
  456. package/dist/objectFit.d.ts +69 -0
  457. package/dist/objectFit.js +52 -0
  458. package/dist/objectFit.js.map +1 -0
  459. package/dist/overlay/_overlay.scss +2 -1
  460. package/dist/positioning/useFixedPositioning.d.ts +17 -4
  461. package/dist/positioning/useFixedPositioning.js +10 -5
  462. package/dist/positioning/useFixedPositioning.js.map +1 -1
  463. package/dist/positioning/utils.js.map +1 -1
  464. package/dist/progress/CircularProgress.d.ts +0 -2
  465. package/dist/progress/CircularProgress.js +0 -2
  466. package/dist/progress/CircularProgress.js.map +1 -1
  467. package/dist/progress/LinearProgress.d.ts +0 -2
  468. package/dist/progress/LinearProgress.js +0 -2
  469. package/dist/progress/LinearProgress.js.map +1 -1
  470. package/dist/progress/_progress.scss +20 -14
  471. package/dist/responsive-item/ResponsiveItem.d.ts +64 -0
  472. package/dist/responsive-item/ResponsiveItem.js +68 -0
  473. package/dist/responsive-item/ResponsiveItem.js.map +1 -0
  474. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +1 -21
  475. package/dist/responsive-item/ResponsiveItemOverlay.js +1 -14
  476. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  477. package/dist/responsive-item/_responsive-item.scss +110 -133
  478. package/dist/responsive-item/responsiveItemOverlayStyles.d.ts +19 -0
  479. package/dist/responsive-item/responsiveItemOverlayStyles.js +14 -0
  480. package/dist/responsive-item/responsiveItemOverlayStyles.js.map +1 -0
  481. package/dist/responsive-item/responsiveItemStyles.d.ts +52 -0
  482. package/dist/responsive-item/responsiveItemStyles.js +15 -0
  483. package/dist/responsive-item/responsiveItemStyles.js.map +1 -0
  484. package/dist/scroll/useScrollLock.d.ts +5 -0
  485. package/dist/scroll/useScrollLock.js.map +1 -1
  486. package/dist/searching/utils.d.ts +2 -2
  487. package/dist/searching/utils.js.map +1 -1
  488. package/dist/segmented-button/SegmentedButton.d.ts +2 -1
  489. package/dist/segmented-button/SegmentedButton.js +2 -1
  490. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  491. package/dist/segmented-button/SegmentedButtonContainer.d.ts +0 -2
  492. package/dist/segmented-button/SegmentedButtonContainer.js +0 -2
  493. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  494. package/dist/segmented-button/_segmented-button.scss +6 -6
  495. package/dist/sheet/Sheet.d.ts +30 -16
  496. package/dist/sheet/Sheet.js +24 -14
  497. package/dist/sheet/Sheet.js.map +1 -1
  498. package/dist/sheet/_sheet.scss +18 -6
  499. package/dist/sheet/styles.d.ts +29 -0
  500. package/dist/sheet/styles.js +13 -0
  501. package/dist/sheet/styles.js.map +1 -1
  502. package/dist/snackbar/ToastActionButton.d.ts +0 -1
  503. package/dist/snackbar/ToastCloseButton.d.ts +0 -1
  504. package/dist/snackbar/ToastManager.js +15 -5
  505. package/dist/snackbar/ToastManager.js.map +1 -1
  506. package/dist/snackbar/_snackbar.scss +30 -17
  507. package/dist/snackbar/useCurrentToastActions.d.ts +5 -6
  508. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  509. package/dist/suspense/CircularProgressSuspense.d.ts +0 -2
  510. package/dist/suspense/CircularProgressSuspense.js +0 -2
  511. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  512. package/dist/suspense/NullSuspense.d.ts +0 -2
  513. package/dist/suspense/NullSuspense.js +0 -2
  514. package/dist/suspense/NullSuspense.js.map +1 -1
  515. package/dist/table/TableCellContent.d.ts +0 -3
  516. package/dist/table/TableCellContent.js +0 -3
  517. package/dist/table/TableCellContent.js.map +1 -1
  518. package/dist/table/TableConfigurationProvider.d.ts +0 -1
  519. package/dist/table/_table.scss +15 -3
  520. package/dist/table/tableCellStyles.d.ts +7 -3
  521. package/dist/table/tableCellStyles.js +2 -2
  522. package/dist/table/tableCellStyles.js.map +1 -1
  523. package/dist/tabs/Tab.d.ts +5 -1
  524. package/dist/tabs/Tab.js +2 -1
  525. package/dist/tabs/Tab.js.map +1 -1
  526. package/dist/tabs/TabList.d.ts +2 -2
  527. package/dist/tabs/TabList.js.map +1 -1
  528. package/dist/tabs/TabListScrollButton.d.ts +1 -1
  529. package/dist/tabs/TabListScrollButton.js +6 -2
  530. package/dist/tabs/TabListScrollButton.js.map +1 -1
  531. package/dist/tabs/_tabs.scss +48 -9
  532. package/dist/tabs/getTabListScrollToOptions.d.ts +18 -0
  533. package/dist/tabs/getTabListScrollToOptions.js +19 -0
  534. package/dist/tabs/getTabListScrollToOptions.js.map +1 -0
  535. package/dist/tabs/tabListScrollButtonStyles.d.ts +2 -0
  536. package/dist/tabs/tabListScrollButtonStyles.js +9 -5
  537. package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
  538. package/dist/tabs/tabStyles.d.ts +3 -0
  539. package/dist/tabs/tabStyles.js.map +1 -1
  540. package/dist/tabs/useTabList.d.ts +3 -8
  541. package/dist/tabs/useTabList.js +5 -2
  542. package/dist/tabs/useTabList.js.map +1 -1
  543. package/dist/tabs/useTabs.d.ts +39 -17
  544. package/dist/tabs/useTabs.js +9 -3
  545. package/dist/tabs/useTabs.js.map +1 -1
  546. package/dist/tabs/utils.d.ts +0 -18
  547. package/dist/tabs/utils.js +0 -15
  548. package/dist/tabs/utils.js.map +1 -1
  549. package/dist/test-utils/IntersectionObserver.js.map +1 -1
  550. package/dist/test-utils/data-testid.d.ts +0 -1
  551. package/dist/test-utils/matchMedia.d.ts +1 -1
  552. package/dist/test-utils/matchMedia.js +4 -4
  553. package/dist/test-utils/matchMedia.js.map +1 -1
  554. package/dist/test-utils/polyfills/TextDecoder.js +0 -1
  555. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
  556. package/dist/test-utils/timers.d.ts +9 -5
  557. package/dist/test-utils/timers.js +5 -5
  558. package/dist/test-utils/timers.js.map +1 -1
  559. package/dist/theme/LocalStorageColorSchemeProvider.d.ts +1 -1
  560. package/dist/theme/LocalStorageColorSchemeProvider.js +2 -1
  561. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  562. package/dist/theme/ThemeProvider.js +3 -1
  563. package/dist/theme/ThemeProvider.js.map +1 -1
  564. package/dist/theme/_a11y.scss +77 -13
  565. package/dist/theme/_colors.scss +279 -277
  566. package/dist/theme/_theme.scss +308 -37
  567. package/dist/theme/isColorScheme.d.ts +16 -0
  568. package/dist/theme/isColorScheme.js +19 -0
  569. package/dist/theme/isColorScheme.js.map +1 -0
  570. package/dist/theme/types.d.ts +53 -1
  571. package/dist/theme/types.js +1 -23
  572. package/dist/theme/types.js.map +1 -1
  573. package/dist/theme/useCSSVariables.d.ts +2 -19
  574. package/dist/theme/useCSSVariables.js.map +1 -1
  575. package/dist/theme/useColorScheme.d.ts +1 -36
  576. package/dist/theme/useColorScheme.js.map +1 -1
  577. package/dist/theme/useColorSchemeMetaTag.d.ts +1 -1
  578. package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
  579. package/dist/theme/useColorSchemeProvider.d.ts +1 -1
  580. package/dist/theme/useColorSchemeProvider.js +1 -1
  581. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  582. package/dist/theme/{usePrefersColorScheme.js → usePrefersDarkScheme.js} +1 -1
  583. package/dist/theme/usePrefersDarkScheme.js.map +1 -0
  584. package/dist/theme/utils.js.map +1 -1
  585. package/dist/tooltip/useTooltip.d.ts +14 -9
  586. package/dist/tooltip/useTooltip.js +2 -1
  587. package/dist/tooltip/useTooltip.js.map +1 -1
  588. package/dist/transition/SlideContainer.d.ts +2 -48
  589. package/dist/transition/SlideContainer.js +2 -48
  590. package/dist/transition/SlideContainer.js.map +1 -1
  591. package/dist/transition/_transition.scss +16 -9
  592. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  593. package/dist/transition/types.d.ts +1 -1
  594. package/dist/transition/types.js.map +1 -1
  595. package/dist/transition/useCarousel.d.ts +3 -3
  596. package/dist/transition/useCarousel.js.map +1 -1
  597. package/dist/transition/useCollapseTransition.js.map +1 -1
  598. package/dist/transition/useTransition.js +1 -0
  599. package/dist/transition/useTransition.js.map +1 -1
  600. package/dist/transition/utils.js.map +1 -1
  601. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -3
  602. package/dist/tree/DefaultTreeItemRenderer.js +1 -1
  603. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  604. package/dist/tree/Tree.d.ts +3 -4
  605. package/dist/tree/Tree.js.map +1 -1
  606. package/dist/tree/TreeItem.d.ts +12 -4
  607. package/dist/tree/TreeItem.js +9 -5
  608. package/dist/tree/TreeItem.js.map +1 -1
  609. package/dist/tree/TreeItemExpander.js.map +1 -1
  610. package/dist/tree/_tree.scss +8 -6
  611. package/dist/tree/types.d.ts +11 -6
  612. package/dist/tree/types.js +1 -26
  613. package/dist/tree/types.js.map +1 -1
  614. package/dist/tree/useTree.d.ts +3 -3
  615. package/dist/tree/useTree.js.map +1 -1
  616. package/dist/tree/useTreeExpansion.d.ts +4 -4
  617. package/dist/tree/useTreeExpansion.js +6 -18
  618. package/dist/tree/useTreeExpansion.js.map +1 -1
  619. package/dist/tree/useTreeSelection.d.ts +4 -4
  620. package/dist/tree/useTreeSelection.js +7 -25
  621. package/dist/tree/useTreeSelection.js.map +1 -1
  622. package/dist/tree/utils.d.ts +1 -1
  623. package/dist/tree/utils.js.map +1 -1
  624. package/dist/types.d.ts +12 -4
  625. package/dist/types.js.map +1 -1
  626. package/dist/typography/SrOnly.d.ts +2 -1
  627. package/dist/typography/SrOnly.js +2 -1
  628. package/dist/typography/SrOnly.js.map +1 -1
  629. package/dist/typography/TextContainer.d.ts +0 -2
  630. package/dist/typography/TextContainer.js +0 -2
  631. package/dist/typography/TextContainer.js.map +1 -1
  632. package/dist/typography/Typography.d.ts +0 -2
  633. package/dist/typography/Typography.js +0 -2
  634. package/dist/typography/Typography.js.map +1 -1
  635. package/dist/typography/WritingDirectionProvider.d.ts +3 -3
  636. package/dist/typography/WritingDirectionProvider.js +2 -2
  637. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  638. package/dist/typography/_typography.scss +94 -37
  639. package/dist/typography/typographyStyles.js.map +1 -1
  640. package/dist/useDebouncedFunction.d.ts +1 -5
  641. package/dist/useDebouncedFunction.js +3 -1
  642. package/dist/useDebouncedFunction.js.map +1 -1
  643. package/dist/useDropzone.d.ts +4 -4
  644. package/dist/useDropzone.js.map +1 -1
  645. package/dist/useEnsuredId.js.map +1 -1
  646. package/dist/useIntersectionObserver.d.ts +5 -5
  647. package/dist/useIntersectionObserver.js.map +1 -1
  648. package/dist/useLocalStorage.d.ts +3 -3
  649. package/dist/useLocalStorage.js +1 -1
  650. package/dist/useLocalStorage.js.map +1 -1
  651. package/dist/useMutationObserver.d.ts +1 -1
  652. package/dist/useMutationObserver.js.map +1 -1
  653. package/dist/useOrientation.js +3 -1
  654. package/dist/useOrientation.js.map +1 -1
  655. package/dist/usePageInactive.d.ts +2 -2
  656. package/dist/usePageInactive.js.map +1 -1
  657. package/dist/useReadonlySet.d.ts +76 -0
  658. package/dist/useReadonlySet.js +72 -0
  659. package/dist/useReadonlySet.js.map +1 -0
  660. package/dist/useResizeListener.d.ts +8 -2
  661. package/dist/useResizeListener.js.map +1 -1
  662. package/dist/useResizeObserver.d.ts +3 -3
  663. package/dist/useResizeObserver.js.map +1 -1
  664. package/dist/useThrottledFunction.d.ts +1 -5
  665. package/dist/useThrottledFunction.js +3 -1
  666. package/dist/useThrottledFunction.js.map +1 -1
  667. package/dist/useToggle.d.ts +7 -7
  668. package/dist/useToggle.js +1 -1
  669. package/dist/useToggle.js.map +1 -1
  670. package/dist/utils/RenderRecursively.d.ts +1 -1
  671. package/dist/utils/RenderRecursively.js.map +1 -1
  672. package/dist/utils/alphaNumericSort.d.ts +1 -1
  673. package/dist/utils/alphaNumericSort.js.map +1 -1
  674. package/dist/utils/bem.js.map +1 -1
  675. package/dist/utils/debounce.d.ts +5 -0
  676. package/dist/utils/debounce.js +17 -0
  677. package/dist/utils/debounce.js.map +1 -0
  678. package/dist/utils/nearest.js.map +1 -1
  679. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  680. package/dist/utils/throttle.d.ts +5 -0
  681. package/dist/utils/throttle.js +30 -0
  682. package/dist/utils/throttle.js.map +1 -0
  683. package/dist/utils/wait.js +3 -1
  684. package/dist/utils/wait.js.map +1 -1
  685. package/dist/window-splitter/WindowSplitter.d.ts +39 -17
  686. package/dist/window-splitter/WindowSplitter.js +40 -19
  687. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  688. package/dist/window-splitter/_window-splitter.scss +32 -14
  689. package/dist/window-splitter/styles.d.ts +14 -0
  690. package/dist/window-splitter/styles.js +18 -0
  691. package/dist/window-splitter/styles.js.map +1 -0
  692. package/package.json +27 -26
  693. package/src/RootHtml.tsx +0 -2
  694. package/src/app-bar/AppBar.tsx +1 -172
  695. package/src/app-bar/AppBarTitle.tsx +1 -46
  696. package/src/app-bar/styles.ts +206 -0
  697. package/src/autocomplete/Autocomplete.tsx +194 -211
  698. package/src/autocomplete/AutocompleteChip.tsx +48 -0
  699. package/src/autocomplete/AutocompleteCircularProgress.tsx +6 -17
  700. package/src/autocomplete/AutocompleteClearButton.tsx +44 -0
  701. package/src/autocomplete/AutocompleteDropdownButton.tsx +16 -37
  702. package/src/autocomplete/AutocompleteListboxChildren.tsx +68 -0
  703. package/src/autocomplete/autocompleteStyles.ts +48 -9
  704. package/src/autocomplete/defaults.ts +26 -17
  705. package/src/autocomplete/types.ts +744 -61
  706. package/src/autocomplete/useAutocomplete.ts +428 -0
  707. package/src/autocomplete/utils.ts +211 -0
  708. package/src/avatar/Avatar.tsx +0 -2
  709. package/src/badge/Badge.tsx +2 -42
  710. package/src/badge/styles.ts +45 -0
  711. package/src/box/Box.tsx +11 -11
  712. package/src/box/styles.ts +14 -5
  713. package/src/button/AsyncButton.tsx +1 -1
  714. package/src/button/Button.tsx +5 -1
  715. package/src/button/ButtonUnstyled.tsx +0 -2
  716. package/src/card/Card.tsx +35 -6
  717. package/src/card/CardContent.tsx +0 -2
  718. package/src/card/CardFooter.tsx +0 -2
  719. package/src/card/CardHeader.tsx +0 -2
  720. package/src/card/CardSubtitle.tsx +0 -2
  721. package/src/card/CardTitle.tsx +0 -2
  722. package/src/card/ClickableCard.tsx +9 -2
  723. package/src/card/styles.ts +1 -10
  724. package/src/chip/Chip.tsx +6 -3
  725. package/src/chip/styles.ts +12 -10
  726. package/src/delegateEvent.ts +5 -5
  727. package/src/dialog/Dialog.tsx +48 -61
  728. package/src/dialog/DialogContent.tsx +3 -3
  729. package/src/dialog/DialogFooter.tsx +2 -3
  730. package/src/dialog/DialogHeader.tsx +3 -3
  731. package/src/dialog/DialogTitle.tsx +3 -3
  732. package/src/dialog/FixedDialog.tsx +1 -11
  733. package/src/dialog/styles.ts +97 -0
  734. package/src/divider/Divider.tsx +0 -14
  735. package/src/divider/styles.ts +12 -0
  736. package/src/draggable/useDraggable.ts +17 -10
  737. package/src/draggable/utils.ts +3 -3
  738. package/src/expansion-panel/ExpansionList.tsx +1 -1
  739. package/src/expansion-panel/ExpansionPanel.tsx +10 -39
  740. package/src/expansion-panel/ExpansionPanelHeader.tsx +0 -1
  741. package/src/expansion-panel/expansionPanelStyles.ts +33 -0
  742. package/src/expansion-panel/useExpansionPanels.ts +18 -27
  743. package/src/{form → files}/FileInput.tsx +7 -15
  744. package/src/files/styles.ts +10 -0
  745. package/src/{form → files}/useFileUpload.ts +30 -34
  746. package/src/files/utils.ts +234 -0
  747. package/src/{form/fileUtils.ts → files/validation.ts} +13 -242
  748. package/src/focus/useFocusContainer.ts +16 -8
  749. package/src/form/Fieldset.tsx +0 -2
  750. package/src/form/FormMessage.tsx +0 -2
  751. package/src/form/FormMessageContainer.tsx +2 -3
  752. package/src/form/FormMessageCounter.tsx +0 -2
  753. package/src/form/InputToggle.tsx +6 -2
  754. package/src/form/InputToggleIcon.tsx +0 -2
  755. package/src/form/Label.tsx +18 -20
  756. package/src/form/Legend.tsx +0 -2
  757. package/src/form/Listbox.tsx +87 -0
  758. package/src/form/ListboxProvider.ts +37 -0
  759. package/src/form/MenuItemTextField.tsx +1 -2
  760. package/src/form/NativeSelect.tsx +14 -12
  761. package/src/form/Option.tsx +74 -22
  762. package/src/form/Select.tsx +89 -85
  763. package/src/form/SelectedOption.tsx +0 -2
  764. package/src/form/Slider.tsx +14 -11
  765. package/src/form/SliderContainer.tsx +0 -2
  766. package/src/form/SliderMark.tsx +0 -2
  767. package/src/form/SliderMarkLabel.tsx +0 -2
  768. package/src/form/SliderThumb.tsx +4 -4
  769. package/src/form/SliderTrack.tsx +0 -2
  770. package/src/form/SliderValueMarks.tsx +4 -6
  771. package/src/form/Switch.tsx +0 -2
  772. package/src/form/SwitchTrack.tsx +2 -1
  773. package/src/form/TextArea.tsx +6 -8
  774. package/src/form/TextField.tsx +0 -4
  775. package/src/form/TextFieldAddon.tsx +1 -3
  776. package/src/form/TextFieldContainer.tsx +9 -11
  777. package/src/form/formMessageContainerStyles.ts +22 -0
  778. package/src/form/optionStyles.ts +7 -2
  779. package/src/form/sliderUtils.ts +1 -1
  780. package/src/form/textFieldContainerStyles.ts +9 -14
  781. package/src/form/types.ts +3 -11
  782. package/src/form/useCheckboxGroup.ts +28 -36
  783. package/src/form/useCombobox.ts +86 -38
  784. package/src/form/useEditableCombobox.ts +43 -8
  785. package/src/form/useRadioGroup.ts +6 -6
  786. package/src/form/useSelectCombobox.ts +4 -4
  787. package/src/form/useTextField.ts +1 -1
  788. package/src/hoverMode/useHoverMode.ts +3 -3
  789. package/src/hoverMode/useHoverModeProvider.ts +4 -4
  790. package/src/icon/FontIcon.tsx +0 -2
  791. package/src/icon/IconRotator.tsx +0 -2
  792. package/src/icon/MaterialIcon.tsx +0 -2
  793. package/src/icon/MaterialSymbol.tsx +0 -1
  794. package/src/icon/SVGIcon.tsx +0 -2
  795. package/src/icon/TextIconSpacing.tsx +0 -2
  796. package/src/icon/iconConfig.tsx +12 -0
  797. package/src/icon/styles.ts +1 -1
  798. package/src/interaction/RippleContainer.tsx +0 -2
  799. package/src/interaction/UserInteractionModeProvider.tsx +12 -8
  800. package/src/interaction/types.ts +21 -2
  801. package/src/interaction/useElementInteraction.tsx +9 -2
  802. package/src/interaction/utils.ts +7 -7
  803. package/src/layout/LayoutNav.tsx +3 -2
  804. package/src/layout/useExpandableLayout.ts +3 -3
  805. package/src/layout/useHorizontalLayoutTransition.ts +1 -1
  806. package/src/layout/useLayoutAppBarHeight.ts +3 -4
  807. package/src/layout/useLayoutTree.ts +2 -2
  808. package/src/layout/useTemporaryLayout.ts +2 -2
  809. package/src/link/Link.tsx +0 -2
  810. package/src/list/List.tsx +1 -33
  811. package/src/list/ListItem.tsx +5 -18
  812. package/src/list/ListItemAddon.tsx +0 -2
  813. package/src/list/ListItemChildren.tsx +0 -2
  814. package/src/list/ListItemLink.tsx +5 -1
  815. package/src/list/ListItemText.tsx +0 -2
  816. package/src/list/ListSubheader.tsx +3 -2
  817. package/src/list/getListItemHeight.ts +2 -2
  818. package/src/list/listItemStyles.ts +21 -4
  819. package/src/list/listStyles.ts +31 -0
  820. package/src/list/types.ts +9 -3
  821. package/src/media-queries/AppSizeProvider.tsx +8 -0
  822. package/src/media-queries/useMediaQuery.ts +3 -2
  823. package/src/menu/Menu.tsx +11 -3
  824. package/src/menu/MenuConfigurationProvider.tsx +2 -2
  825. package/src/menu/MenuItemButton.tsx +7 -1
  826. package/src/menu/useContextMenu.ts +3 -3
  827. package/src/movement/types.ts +5 -5
  828. package/src/navigation/CollapsibleNavGroup.tsx +16 -8
  829. package/src/navigation/DefaultNavigationRenderer.tsx +8 -6
  830. package/src/navigation/NavGroup.tsx +0 -2
  831. package/src/navigation/NavItem.tsx +0 -2
  832. package/src/navigation/NavItemButton.tsx +2 -1
  833. package/src/navigation/NavItemLink.tsx +11 -3
  834. package/src/navigation/NavSubheader.tsx +1 -3
  835. package/src/navigation/Navigation.tsx +1 -1
  836. package/src/navigation/types.ts +60 -10
  837. package/src/navigation/useActiveHeadingId.ts +1 -1
  838. package/src/navigation/useNavigationExpansion.ts +170 -0
  839. package/src/navigation/utils.ts +47 -0
  840. package/src/objectFit.ts +88 -0
  841. package/src/positioning/useFixedPositioning.ts +34 -11
  842. package/src/progress/CircularProgress.tsx +0 -2
  843. package/src/progress/LinearProgress.tsx +0 -2
  844. package/src/responsive-item/ResponsiveItem.tsx +96 -0
  845. package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -48
  846. package/src/responsive-item/responsiveItemOverlayStyles.ts +46 -0
  847. package/src/responsive-item/responsiveItemStyles.ts +81 -0
  848. package/src/scroll/useScrollLock.ts +6 -0
  849. package/src/searching/utils.ts +3 -3
  850. package/src/segmented-button/SegmentedButton.tsx +5 -1
  851. package/src/segmented-button/SegmentedButtonContainer.tsx +0 -2
  852. package/src/sheet/Sheet.tsx +36 -33
  853. package/src/sheet/styles.ts +50 -0
  854. package/src/snackbar/ToastManager.tsx +16 -5
  855. package/src/snackbar/useCurrentToastActions.ts +5 -5
  856. package/src/suspense/CircularProgressSuspense.tsx +0 -2
  857. package/src/suspense/NullSuspense.tsx +0 -2
  858. package/src/table/TableCellContent.tsx +0 -3
  859. package/src/table/tableCellStyles.ts +10 -6
  860. package/src/tabs/Tab.tsx +7 -1
  861. package/src/tabs/TabList.tsx +2 -2
  862. package/src/tabs/TabListScrollButton.tsx +13 -6
  863. package/src/tabs/getTabListScrollToOptions.ts +37 -0
  864. package/src/tabs/tabListScrollButtonStyles.ts +9 -5
  865. package/src/tabs/tabStyles.ts +4 -0
  866. package/src/tabs/useTabList.ts +6 -9
  867. package/src/tabs/useTabs.ts +67 -20
  868. package/src/tabs/utils.ts +0 -38
  869. package/src/test-utils/IntersectionObserver.ts +1 -1
  870. package/src/test-utils/matchMedia.ts +5 -5
  871. package/src/test-utils/polyfills/TextDecoder.ts +0 -1
  872. package/src/test-utils/timers.ts +10 -7
  873. package/src/theme/LocalStorageColorSchemeProvider.tsx +4 -4
  874. package/src/theme/ThemeProvider.tsx +3 -3
  875. package/src/theme/isColorScheme.ts +22 -0
  876. package/src/theme/types.ts +67 -1
  877. package/src/theme/useCSSVariables.ts +7 -30
  878. package/src/theme/useColorScheme.ts +1 -40
  879. package/src/theme/useColorSchemeMetaTag.ts +1 -1
  880. package/src/theme/useColorSchemeProvider.ts +2 -2
  881. package/src/tooltip/useTooltip.ts +17 -9
  882. package/src/transition/SlideContainer.tsx +2 -48
  883. package/src/transition/types.ts +1 -1
  884. package/src/transition/useCarousel.ts +3 -3
  885. package/src/transition/useTransition.ts +1 -0
  886. package/src/tree/DefaultTreeItemRenderer.tsx +3 -4
  887. package/src/tree/Tree.tsx +4 -6
  888. package/src/tree/TreeItem.tsx +18 -5
  889. package/src/tree/TreeItemExpander.tsx +1 -1
  890. package/src/tree/types.ts +16 -6
  891. package/src/tree/useTree.ts +3 -3
  892. package/src/tree/useTreeExpansion.ts +10 -28
  893. package/src/tree/useTreeSelection.ts +11 -35
  894. package/src/tree/utils.ts +6 -2
  895. package/src/types.ts +20 -4
  896. package/src/typography/SrOnly.tsx +2 -1
  897. package/src/typography/TextContainer.tsx +0 -2
  898. package/src/typography/Typography.tsx +0 -2
  899. package/src/typography/WritingDirectionProvider.tsx +3 -3
  900. package/src/useDebouncedFunction.ts +4 -9
  901. package/src/useDropzone.ts +4 -4
  902. package/src/useIntersectionObserver.ts +5 -5
  903. package/src/useLocalStorage.ts +6 -6
  904. package/src/useMutationObserver.ts +1 -1
  905. package/src/useOrientation.ts +3 -1
  906. package/src/usePageInactive.ts +2 -2
  907. package/src/useReadonlySet.ts +122 -0
  908. package/src/useResizeListener.ts +8 -2
  909. package/src/useResizeObserver.ts +3 -3
  910. package/src/useThrottledFunction.ts +6 -9
  911. package/src/useToggle.ts +7 -7
  912. package/src/utils/RenderRecursively.tsx +1 -1
  913. package/src/utils/alphaNumericSort.ts +1 -1
  914. package/src/utils/debounce.ts +22 -0
  915. package/src/utils/throttle.ts +38 -0
  916. package/src/utils/wait.ts +5 -1
  917. package/src/window-splitter/WindowSplitter.tsx +40 -45
  918. package/src/window-splitter/styles.ts +42 -0
  919. package/.eslintrc.cjs +0 -34
  920. package/.stylelintrc.json +0 -14
  921. package/.swcrc +0 -17
  922. package/.turbo/turbo-build.log +0 -22
  923. package/.turbo/turbo-lint.log +0 -12
  924. package/.turbo/turbo-test.log +0 -5516
  925. package/.turbo/turbo-typecheck.log +0 -4
  926. package/CHANGELOG.md +0 -323
  927. package/coverage/clover.xml +0 -842
  928. package/coverage/coverage-final.json +0 -6
  929. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +0 -1033
  930. package/coverage/lcov-report/autocomplete/AutocompleteClearButton.tsx.html +0 -262
  931. package/coverage/lcov-report/autocomplete/FilterAutocompleteOptions.tsx.html +0 -364
  932. package/coverage/lcov-report/autocomplete/index.html +0 -146
  933. package/coverage/lcov-report/base.css +0 -224
  934. package/coverage/lcov-report/block-navigation.js +0 -87
  935. package/coverage/lcov-report/button/Button.tsx.html +0 -676
  936. package/coverage/lcov-report/button/index.html +0 -116
  937. package/coverage/lcov-report/card/Card.tsx.html +0 -349
  938. package/coverage/lcov-report/card/CardSubtitle.tsx.html +0 -265
  939. package/coverage/lcov-report/card/index.html +0 -146
  940. package/coverage/lcov-report/card/styles.ts.html +0 -682
  941. package/coverage/lcov-report/createHorizontalPosition.ts.html +0 -1075
  942. package/coverage/lcov-report/createVerticalPosition.ts.html +0 -997
  943. package/coverage/lcov-report/favicon.png +0 -0
  944. package/coverage/lcov-report/form/Option.tsx.html +0 -727
  945. package/coverage/lcov-report/form/index.html +0 -131
  946. package/coverage/lcov-report/form/useListboxProvider.ts.html +0 -253
  947. package/coverage/lcov-report/index.html +0 -146
  948. package/coverage/lcov-report/prettify.css +0 -1
  949. package/coverage/lcov-report/prettify.js +0 -2
  950. package/coverage/lcov-report/searching/fuzzy.ts.html +0 -607
  951. package/coverage/lcov-report/searching/index.html +0 -116
  952. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  953. package/coverage/lcov-report/sorter.js +0 -196
  954. package/coverage/lcov-report/src/card/Card.tsx.html +0 -349
  955. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +0 -277
  956. package/coverage/lcov-report/src/card/index.html +0 -146
  957. package/coverage/lcov-report/src/card/styles.ts.html +0 -682
  958. package/coverage/lcov-report/src/cssUtils.ts.html +0 -787
  959. package/coverage/lcov-report/src/index.html +0 -116
  960. package/coverage/lcov-report/src/transition/index.html +0 -116
  961. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +0 -766
  962. package/coverage/lcov-report/transition/index.html +0 -116
  963. package/coverage/lcov-report/transition/useCSSTransition.ts.html +0 -766
  964. package/coverage/lcov-report/typography/SrOnly.tsx.html +0 -325
  965. package/coverage/lcov-report/typography/index.html +0 -116
  966. package/coverage/lcov-report/utils.ts.html +0 -1225
  967. package/coverage/lcov.info +0 -952
  968. package/dist/autocomplete/FilterAutocompleteOptions.d.ts +0 -8
  969. package/dist/autocomplete/FilterAutocompleteOptions.js +0 -57
  970. package/dist/autocomplete/FilterAutocompleteOptions.js.map +0 -1
  971. package/dist/dialog/DialogContainer.d.ts +0 -16
  972. package/dist/dialog/DialogContainer.js +0 -22
  973. package/dist/dialog/DialogContainer.js.map +0 -1
  974. package/dist/form/FileInput.js.map +0 -1
  975. package/dist/form/fileUtils.js.map +0 -1
  976. package/dist/form/useFileUpload.js.map +0 -1
  977. package/dist/form/useListboxProvider.d.ts +0 -31
  978. package/dist/form/useListboxProvider.js.map +0 -1
  979. package/dist/navigation/getHrefFromParents.d.ts +0 -5
  980. package/dist/navigation/getHrefFromParents.js +0 -13
  981. package/dist/navigation/getHrefFromParents.js.map +0 -1
  982. package/dist/responsive-item/ResponsiveItemContainer.d.ts +0 -117
  983. package/dist/responsive-item/ResponsiveItemContainer.js +0 -82
  984. package/dist/responsive-item/ResponsiveItemContainer.js.map +0 -1
  985. package/dist/responsive-item/styles.d.ts +0 -34
  986. package/dist/responsive-item/styles.js +0 -17
  987. package/dist/responsive-item/styles.js.map +0 -1
  988. package/dist/theme/usePrefersColorScheme.js.map +0 -1
  989. package/jest.config.ts +0 -68
  990. package/jest.setup.ts +0 -3
  991. package/scripts/copySassFiles.ts +0 -70
  992. package/scripts/getExportMap.ts +0 -66
  993. package/scripts/tsconfig.json +0 -18
  994. package/src/__tests__/NoSsr.node.tsx +0 -26
  995. package/src/__tests__/NoSsr.tsx +0 -89
  996. package/src/__tests__/RootHtml.node.tsx +0 -46
  997. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +0 -19
  998. package/src/__tests__/useAsyncFunction.tsx +0 -124
  999. package/src/__tests__/useDebouncedFunction.tsx +0 -108
  1000. package/src/__tests__/useDropzone.tsx +0 -131
  1001. package/src/__tests__/useElementSize.tsx +0 -181
  1002. package/src/__tests__/useEnsuredId.tsx +0 -25
  1003. package/src/__tests__/useEnsuredState.tsx +0 -74
  1004. package/src/__tests__/useHtmlClassName.tsx +0 -54
  1005. package/src/__tests__/useLocalStorage.tsx +0 -377
  1006. package/src/__tests__/useOrientation.node.tsx +0 -20
  1007. package/src/__tests__/useOrientation.tsx +0 -63
  1008. package/src/__tests__/useResizeObserver.tsx +0 -258
  1009. package/src/__tests__/useThrottledFunction.tsx +0 -226
  1010. package/src/__tests__/useToggle.tsx +0 -78
  1011. package/src/__tests__/useWindowSize.node.tsx +0 -56
  1012. package/src/__tests__/useWindowSize.tsx +0 -155
  1013. package/src/_box-shadows.scss +0 -219
  1014. package/src/_core.scss +0 -432
  1015. package/src/_utils.scss +0 -348
  1016. package/src/app-bar/__tests__/AppBar.tsx +0 -121
  1017. package/src/app-bar/__tests__/AppBarTitle.tsx +0 -39
  1018. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +0 -186
  1019. package/src/app-bar/__tests__/__snapshots__/AppBarTitle.tsx.snap +0 -47
  1020. package/src/app-bar/_app-bar.scss +0 -248
  1021. package/src/autocomplete/FilterAutocompleteOptions.tsx +0 -86
  1022. package/src/autocomplete/__tests__/Autocomplete.tsx +0 -458
  1023. package/src/autocomplete/__tests__/__snapshots__/Autocomplete.tsx.snap +0 -144
  1024. package/src/autocomplete/_autocomplete.scss +0 -75
  1025. package/src/avatar/__tests__/Avatar.tsx +0 -75
  1026. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +0 -73
  1027. package/src/avatar/_avatar.scss +0 -157
  1028. package/src/badge/__tests__/Badge.tsx +0 -42
  1029. package/src/badge/__tests__/__snapshots__/Badge.tsx.snap +0 -54
  1030. package/src/badge/_badge.scss +0 -145
  1031. package/src/box/__tests__/Box.tsx +0 -158
  1032. package/src/box/__tests__/__snapshots__/Box.tsx.snap +0 -544
  1033. package/src/box/_box.scss +0 -168
  1034. package/src/button/__tests__/AsyncButton.tsx +0 -211
  1035. package/src/button/__tests__/Button.tsx +0 -198
  1036. package/src/button/__tests__/ButtonUnstyled.tsx +0 -37
  1037. package/src/button/__tests__/TooltippedButton.tsx +0 -60
  1038. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +0 -418
  1039. package/src/button/__tests__/__snapshots__/Button.tsx.snap +0 -573
  1040. package/src/button/__tests__/__snapshots__/ButtonUnstyled.tsx.snap +0 -22
  1041. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +0 -26
  1042. package/src/button/__tests__/__snapshots__/buttonStyles.ts.snap +0 -11
  1043. package/src/button/__tests__/buttonStyles.ts +0 -15
  1044. package/src/button/_button.scss +0 -330
  1045. package/src/card/__tests__/Card.tsx +0 -37
  1046. package/src/card/__tests__/CardContent.tsx +0 -40
  1047. package/src/card/__tests__/CardFooter.tsx +0 -34
  1048. package/src/card/__tests__/CardHeader.tsx +0 -66
  1049. package/src/card/__tests__/CardSubtitle.tsx +0 -30
  1050. package/src/card/__tests__/CardTitle.tsx +0 -30
  1051. package/src/card/__tests__/ClickableCard.tsx +0 -66
  1052. package/src/card/__tests__/__snapshots__/Card.tsx.snap +0 -40
  1053. package/src/card/__tests__/__snapshots__/CardContent.tsx.snap +0 -50
  1054. package/src/card/__tests__/__snapshots__/CardFooter.tsx.snap +0 -30
  1055. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +0 -74
  1056. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +0 -18
  1057. package/src/card/__tests__/__snapshots__/CardTitle.tsx.snap +0 -18
  1058. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +0 -20
  1059. package/src/card/__tests__/__snapshots__/styles.ts.snap +0 -13
  1060. package/src/card/__tests__/styles.ts +0 -45
  1061. package/src/card/_card.scss +0 -189
  1062. package/src/chip/__tests__/Chip.tsx +0 -327
  1063. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +0 -597
  1064. package/src/chip/__tests__/__snapshots__/styles.ts.snap +0 -5
  1065. package/src/chip/__tests__/styles.ts +0 -14
  1066. package/src/chip/_chip.scss +0 -324
  1067. package/src/dialog/DialogContainer.tsx +0 -30
  1068. package/src/dialog/__tests__/Dialog.tsx +0 -316
  1069. package/src/dialog/__tests__/DialogContent.tsx +0 -53
  1070. package/src/dialog/__tests__/DialogFooter.tsx +0 -70
  1071. package/src/dialog/__tests__/DialogHeader.tsx +0 -37
  1072. package/src/dialog/__tests__/DialogTitle.tsx +0 -41
  1073. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +0 -84
  1074. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +0 -36
  1075. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +0 -186
  1076. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +0 -18
  1077. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +0 -26
  1078. package/src/dialog/_dialog.scss +0 -273
  1079. package/src/divider/__tests__/Divider.tsx +0 -36
  1080. package/src/divider/__tests__/__snapshots__/Divider.tsx.snap +0 -26
  1081. package/src/divider/_divider.scss +0 -124
  1082. package/src/draggable/__tests__/__snapshots__/useDraggable.tsx.snap +0 -49
  1083. package/src/draggable/__tests__/useDraggable.tsx +0 -540
  1084. package/src/draggable/_draggable.scss +0 -29
  1085. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +0 -290
  1086. package/src/expansion-panel/__tests__/__snapshots__/ExpansionPanel.tsx.snap +0 -197
  1087. package/src/expansion-panel/_expansion-panel.scss +0 -107
  1088. package/src/focus/__tests__/useFocusContainer.tsx +0 -280
  1089. package/src/form/__tests__/Checkbox.tsx +0 -42
  1090. package/src/form/__tests__/Fieldset.tsx +0 -44
  1091. package/src/form/__tests__/FileInput.tsx +0 -120
  1092. package/src/form/__tests__/Label.tsx +0 -69
  1093. package/src/form/__tests__/Legend.tsx +0 -34
  1094. package/src/form/__tests__/MenuItemCheckbox.tsx +0 -53
  1095. package/src/form/__tests__/MenuItemRadio.tsx +0 -53
  1096. package/src/form/__tests__/Radio.tsx +0 -35
  1097. package/src/form/__tests__/Select.tsx +0 -439
  1098. package/src/form/__tests__/Switch.tsx +0 -152
  1099. package/src/form/__tests__/TextArea.tsx +0 -433
  1100. package/src/form/__tests__/TextField.tsx +0 -195
  1101. package/src/form/__tests__/__snapshots__/Checkbox.tsx.snap +0 -99
  1102. package/src/form/__tests__/__snapshots__/Fieldset.tsx.snap +0 -58
  1103. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +0 -612
  1104. package/src/form/__tests__/__snapshots__/Label.tsx.snap +0 -140
  1105. package/src/form/__tests__/__snapshots__/Legend.tsx.snap +0 -30
  1106. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +0 -96
  1107. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +0 -96
  1108. package/src/form/__tests__/__snapshots__/Radio.tsx.snap +0 -99
  1109. package/src/form/__tests__/__snapshots__/Select.tsx.snap +0 -492
  1110. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +0 -428
  1111. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +0 -548
  1112. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +0 -279
  1113. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +0 -481
  1114. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +0 -704
  1115. package/src/form/__tests__/useCheckboxGroup.tsx +0 -292
  1116. package/src/form/__tests__/useFileUpload.tsx +0 -289
  1117. package/src/form/__tests__/useFormReset.tsx +0 -194
  1118. package/src/form/__tests__/useRadioGroup.tsx +0 -227
  1119. package/src/form/__tests__/utils.ts +0 -247
  1120. package/src/form/_form.scss +0 -2190
  1121. package/src/form/useListboxProvider.ts +0 -45
  1122. package/src/icon/__tests__/FontIcon.tsx +0 -45
  1123. package/src/icon/__tests__/IconRotator.tsx +0 -120
  1124. package/src/icon/__tests__/MaterialIcon.tsx +0 -79
  1125. package/src/icon/__tests__/MaterialSymbol.tsx +0 -100
  1126. package/src/icon/__tests__/SVGIcon.tsx +0 -40
  1127. package/src/icon/__tests__/TextIconSpacing.tsx +0 -108
  1128. package/src/icon/__tests__/__snapshots__/FontIcon.tsx.snap +0 -35
  1129. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +0 -165
  1130. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +0 -82
  1131. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +0 -42
  1132. package/src/icon/__tests__/__snapshots__/SVGIcon.tsx.snap +0 -47
  1133. package/src/icon/__tests__/__snapshots__/TextIconSpacing.tsx.snap +0 -101
  1134. package/src/icon/__tests__/__snapshots__/styles.ts.snap +0 -29
  1135. package/src/icon/__tests__/styles.ts +0 -28
  1136. package/src/icon/_icon.scss +0 -213
  1137. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +0 -121
  1138. package/src/interaction/__tests__/__snapshots__/useHigherContrastChildren.tsx.snap +0 -79
  1139. package/src/interaction/__tests__/useHigherContrastChildren.tsx +0 -97
  1140. package/src/interaction/_interaction.scss +0 -436
  1141. package/src/layout/__tests__/LayoutAppBar.tsx +0 -117
  1142. package/src/layout/__tests__/LayoutNav.tsx +0 -78
  1143. package/src/layout/__tests__/LayoutWindowSplitter.tsx +0 -63
  1144. package/src/layout/__tests__/Main.tsx +0 -51
  1145. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +0 -78
  1146. package/src/layout/__tests__/__snapshots__/LayoutNav.tsx.snap +0 -31
  1147. package/src/layout/__tests__/__snapshots__/LayoutWindowSplitter.tsx.snap +0 -60
  1148. package/src/layout/__tests__/__snapshots__/Main.tsx.snap +0 -32
  1149. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +0 -116
  1150. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +0 -676
  1151. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +0 -95
  1152. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +0 -141
  1153. package/src/layout/__tests__/useExpandableLayout.tsx +0 -279
  1154. package/src/layout/__tests__/useLayoutTree.tsx +0 -212
  1155. package/src/layout/__tests__/useResizableLayout.tsx +0 -170
  1156. package/src/layout/__tests__/useTemporaryLayout.tsx +0 -109
  1157. package/src/layout/_layout.scss +0 -163
  1158. package/src/link/__tests__/Link.tsx +0 -31
  1159. package/src/link/__tests__/SkipToMainContent.tsx +0 -125
  1160. package/src/link/__tests__/__snapshots__/Link.tsx.snap +0 -20
  1161. package/src/link/__tests__/__snapshots__/SkipToMainContent.tsx.snap +0 -22
  1162. package/src/link/_link.scss +0 -149
  1163. package/src/list/__tests__/List.tsx +0 -58
  1164. package/src/list/__tests__/ListItem.tsx +0 -280
  1165. package/src/list/__tests__/ListItemLink.tsx +0 -89
  1166. package/src/list/__tests__/ListSubheader.tsx +0 -81
  1167. package/src/list/__tests__/__snapshots__/List.tsx.snap +0 -41
  1168. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +0 -414
  1169. package/src/list/__tests__/__snapshots__/ListItemLink.tsx.snap +0 -73
  1170. package/src/list/__tests__/__snapshots__/ListSubheader.tsx.snap +0 -99
  1171. package/src/list/__tests__/getListItemHeight.ts +0 -176
  1172. package/src/list/_list.scss +0 -322
  1173. package/src/media-queries/__tests__/AppSizeProvider.node.tsx +0 -37
  1174. package/src/media-queries/__tests__/AppSizeProvider.tsx +0 -119
  1175. package/src/media-queries/__tests__/useMediaQuery.node.tsx +0 -20
  1176. package/src/media-queries/__tests__/useMediaQuery.tsx +0 -59
  1177. package/src/media-queries/_media-queries.scss +0 -63
  1178. package/src/menu/__tests__/DropdownMenu.tsx +0 -627
  1179. package/src/menu/__tests__/MenuBar.tsx +0 -354
  1180. package/src/menu/__tests__/MenuItemCircularProgress.tsx +0 -39
  1181. package/src/menu/__tests__/MenuVisibilityProvider.tsx +0 -34
  1182. package/src/menu/__tests__/__snapshots__/DropdownMenu.tsx.snap +0 -292
  1183. package/src/menu/__tests__/__snapshots__/MenuBar.tsx.snap +0 -87
  1184. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +0 -68
  1185. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +0 -54
  1186. package/src/menu/__tests__/useContextMenu.tsx +0 -41
  1187. package/src/menu/__tests__/utils.ts +0 -121
  1188. package/src/menu/_menu.scss +0 -116
  1189. package/src/movement/__tests__/findMatchIndex.ts +0 -244
  1190. package/src/movement/__tests__/utils.ts +0 -710
  1191. package/src/navigation/__tests__/Navigation.tsx +0 -97
  1192. package/src/navigation/__tests__/__snapshots__/Navigation.tsx.snap +0 -165
  1193. package/src/navigation/_navigation.scss +0 -99
  1194. package/src/navigation/getHrefFromParents.ts +0 -15
  1195. package/src/overlay/__tests__/Overlay.tsx +0 -198
  1196. package/src/overlay/__tests__/__snapshots__/Overlay.tsx.snap +0 -77
  1197. package/src/overlay/_overlay.scss +0 -74
  1198. package/src/portal/__tests__/PortalContainerProvider.node.tsx +0 -26
  1199. package/src/portal/__tests__/PortalContainerProvider.tsx +0 -84
  1200. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -87
  1201. package/src/positioning/__tests__/createHorizontalPosition.ts +0 -777
  1202. package/src/positioning/__tests__/createVerticalPosition.ts +0 -464
  1203. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -205
  1204. package/src/positioning/__tests__/utils.ts +0 -1311
  1205. package/src/progress/__tests__/CircularProgress.tsx +0 -153
  1206. package/src/progress/__tests__/LinearProgress.tsx +0 -131
  1207. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +0 -499
  1208. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +0 -321
  1209. package/src/progress/__tests__/getProgressA11y.ts +0 -16
  1210. package/src/progress/_progress.scss +0 -577
  1211. package/src/responsive-item/ResponsiveItemContainer.tsx +0 -176
  1212. package/src/responsive-item/__tests__/ResponsiveItemContainer.tsx +0 -56
  1213. package/src/responsive-item/__tests__/ResponsiveItemOverlay.tsx +0 -66
  1214. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemContainer.tsx.snap +0 -85
  1215. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemOverlay.tsx.snap +0 -151
  1216. package/src/responsive-item/__tests__/__snapshots__/styles.ts.snap +0 -9
  1217. package/src/responsive-item/__tests__/styles.ts +0 -32
  1218. package/src/responsive-item/_responsive-item.scss +0 -199
  1219. package/src/responsive-item/styles.ts +0 -58
  1220. package/src/searching/__tests__/caseInsensitive.ts +0 -165
  1221. package/src/searching/__tests__/fuzzy.ts +0 -169
  1222. package/src/searching/__tests__/toSearchQuery.ts +0 -21
  1223. package/src/searching/__tests__/useFuzzyMatch.tsx +0 -200
  1224. package/src/segmented-button/__tests__/SegmentedButton.tsx +0 -61
  1225. package/src/segmented-button/__tests__/SegmentedButtonContainer.tsx +0 -38
  1226. package/src/segmented-button/__tests__/__snapshots__/SegmentedButton.tsx.snap +0 -116
  1227. package/src/segmented-button/__tests__/__snapshots__/SegmentedButtonContainer.tsx.snap +0 -22
  1228. package/src/segmented-button/_segmented-button.scss +0 -208
  1229. package/src/sheet/_sheet.scss +0 -189
  1230. package/src/snackbar/__tests__/Snackbar.tsx +0 -85
  1231. package/src/snackbar/__tests__/Toast.tsx +0 -105
  1232. package/src/snackbar/__tests__/ToastActionButton.tsx +0 -112
  1233. package/src/snackbar/__tests__/ToastCloseButton.tsx +0 -140
  1234. package/src/snackbar/__tests__/ToastContent.tsx +0 -88
  1235. package/src/snackbar/__tests__/ToastManagerProvider.tsx +0 -852
  1236. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +0 -176
  1237. package/src/snackbar/__tests__/__snapshots__/Toast.tsx.snap +0 -52
  1238. package/src/snackbar/__tests__/__snapshots__/ToastActionButton.tsx.snap +0 -36
  1239. package/src/snackbar/__tests__/__snapshots__/ToastCloseButton.tsx.snap +0 -104
  1240. package/src/snackbar/__tests__/__snapshots__/ToastContent.tsx.snap +0 -26
  1241. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +0 -290
  1242. package/src/snackbar/_snackbar.scss +0 -266
  1243. package/src/suspense/__tests__/CircularProgressSuspense.tsx +0 -90
  1244. package/src/suspense/__tests__/NullSuspense.tsx +0 -46
  1245. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +0 -24
  1246. package/src/table/__tests__/Table.tsx +0 -315
  1247. package/src/table/__tests__/TableBody.tsx +0 -52
  1248. package/src/table/__tests__/TableCheckbox.tsx +0 -89
  1249. package/src/table/__tests__/TableContainer.tsx +0 -31
  1250. package/src/table/__tests__/TableRadio.tsx +0 -112
  1251. package/src/table/__tests__/TableRow.tsx +0 -63
  1252. package/src/table/__tests__/__snapshots__/Table.tsx.snap +0 -2426
  1253. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +0 -54
  1254. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +0 -142
  1255. package/src/table/__tests__/__snapshots__/TableContainer.tsx.snap +0 -16
  1256. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +0 -138
  1257. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +0 -56
  1258. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +0 -3
  1259. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +0 -3
  1260. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +0 -3
  1261. package/src/table/__tests__/tableContainerStyles.ts +0 -8
  1262. package/src/table/__tests__/tableRowStyles.ts +0 -8
  1263. package/src/table/__tests__/tableStyles.ts +0 -8
  1264. package/src/table/_table.scss +0 -447
  1265. package/src/tabs/__tests__/Tab.tsx +0 -51
  1266. package/src/tabs/__tests__/TabList.tsx +0 -640
  1267. package/src/tabs/__tests__/__snapshots__/Tab.tsx.snap +0 -85
  1268. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +0 -51
  1269. package/src/tabs/__tests__/useTabs.tsx +0 -212
  1270. package/src/tabs/_tabs.scss +0 -273
  1271. package/src/test-utils/__tests__/ResizeObserver.ts +0 -171
  1272. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +0 -162
  1273. package/src/theme/__tests__/ThemeProvider.tsx +0 -90
  1274. package/src/theme/__tests__/__snapshots__/useCSSVariables.tsx.snap +0 -27
  1275. package/src/theme/__tests__/__snapshots__/useColorSchemeMetaTag.tsx.snap +0 -15
  1276. package/src/theme/__tests__/useCSSVariables.tsx +0 -177
  1277. package/src/theme/__tests__/useColorSchemeMetaTag.tsx +0 -36
  1278. package/src/theme/__tests__/utils.ts +0 -67
  1279. package/src/theme/_a11y.scss +0 -114
  1280. package/src/theme/_colors.scss +0 -1057
  1281. package/src/theme/_theme.scss +0 -520
  1282. package/src/tooltip/__tests__/Tooltip.tsx +0 -501
  1283. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +0 -94
  1284. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -34
  1285. package/src/tooltip/__tests__/utils.ts +0 -94
  1286. package/src/tooltip/_tooltip.scss +0 -155
  1287. package/src/transition/__tests__/CSSTransition.tsx +0 -182
  1288. package/src/transition/__tests__/Collapse.tsx +0 -209
  1289. package/src/transition/__tests__/CrossFade.tsx +0 -227
  1290. package/src/transition/__tests__/ScaleTransition.tsx +0 -204
  1291. package/src/transition/__tests__/SkeletonPlaceholder.tsx +0 -72
  1292. package/src/transition/__tests__/__snapshots__/CSSTransition.tsx.snap +0 -145
  1293. package/src/transition/__tests__/__snapshots__/Collapse.tsx.snap +0 -224
  1294. package/src/transition/__tests__/__snapshots__/CrossFade.tsx.snap +0 -240
  1295. package/src/transition/__tests__/__snapshots__/ScaleTransition.tsx.snap +0 -239
  1296. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +0 -24
  1297. package/src/transition/__tests__/__snapshots__/useCollapseTransition.tsx.snap +0 -361
  1298. package/src/transition/__tests__/__snapshots__/useCrossFadeTransition.tsx.snap +0 -258
  1299. package/src/transition/__tests__/__snapshots__/useMaxWidthTransition.tsx.snap +0 -68
  1300. package/src/transition/__tests__/__snapshots__/useScaleTransition.tsx.snap +0 -209
  1301. package/src/transition/__tests__/useCSSTransition.tsx +0 -190
  1302. package/src/transition/__tests__/useCollapseTransition.tsx +0 -316
  1303. package/src/transition/__tests__/useCrossFadeTransition.tsx +0 -229
  1304. package/src/transition/__tests__/useMaxWidthTransition.tsx +0 -123
  1305. package/src/transition/__tests__/useScaleTransition.tsx +0 -212
  1306. package/src/transition/__tests__/useTransition.tsx +0 -569
  1307. package/src/transition/__tests__/utils.ts +0 -620
  1308. package/src/transition/_transition.scss +0 -365
  1309. package/src/tree/__tests__/Tree.tsx +0 -735
  1310. package/src/tree/__tests__/TreeGroup.tsx +0 -76
  1311. package/src/tree/__tests__/TreeItemExpander.tsx +0 -74
  1312. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +0 -3618
  1313. package/src/tree/__tests__/__snapshots__/TreeItemExpander.tsx.snap +0 -11
  1314. package/src/tree/__tests__/utils.ts +0 -98
  1315. package/src/tree/_tree.scss +0 -176
  1316. package/src/typography/__tests__/SrOnly.tsx +0 -43
  1317. package/src/typography/__tests__/TextContainer.tsx +0 -45
  1318. package/src/typography/__tests__/Typography.tsx +0 -87
  1319. package/src/typography/__tests__/WritingDirectionProvider.node.tsx +0 -27
  1320. package/src/typography/__tests__/WritingDirectionProvider.tsx +0 -119
  1321. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +0 -56
  1322. package/src/typography/__tests__/__snapshots__/TextContainer.tsx.snap +0 -29
  1323. package/src/typography/__tests__/__snapshots__/Typography.tsx.snap +0 -112
  1324. package/src/typography/_typography.scss +0 -399
  1325. package/src/utils/__tests__/RenderRecursively.tsx +0 -87
  1326. package/src/utils/__tests__/__snapshots__/RenderRecursively.tsx.snap +0 -80
  1327. package/src/utils/__tests__/applyRef.ts +0 -30
  1328. package/src/utils/__tests__/bem.ts +0 -54
  1329. package/src/utils/__tests__/getMiddleOfRange.ts +0 -12
  1330. package/src/utils/__tests__/getPercentage.ts +0 -104
  1331. package/src/utils/__tests__/getRangeDefaultValue.ts +0 -47
  1332. package/src/utils/__tests__/getRangeSteps.ts +0 -14
  1333. package/src/utils/__tests__/loop.ts +0 -50
  1334. package/src/utils/__tests__/nearest.ts +0 -83
  1335. package/src/utils/__tests__/parseCssLengthUnit.node.ts +0 -28
  1336. package/src/utils/__tests__/parseCssLengthUnit.ts +0 -47
  1337. package/src/utils/__tests__/wait.ts +0 -12
  1338. package/src/utils/__tests__/withinRange.ts +0 -24
  1339. package/src/window-splitter/_window-splitter.scss +0 -143
  1340. package/tsconfig.json +0 -19
  1341. package/tsconfig.types.json +0 -12
  1342. package/tsdoc.json +0 -14
  1343. /package/dist/theme/{usePrefersColorScheme.d.ts → usePrefersDarkScheme.d.ts} +0 -0
  1344. /package/src/theme/{usePrefersColorScheme.ts → usePrefersDarkScheme.ts} +0 -0
@@ -1,1311 +0,0 @@
1
- import { describe, expect, it, jest } from "@jest/globals";
2
- import {
3
- ABOVE_CENTER_ANCHOR,
4
- ABOVE_INNER_LEFT_ANCHOR,
5
- ABOVE_INNER_RIGHT_ANCHOR,
6
- ABOVE_LEFT_ANCHOR,
7
- ABOVE_RIGHT_ANCHOR,
8
- BELOW_CENTER_ANCHOR,
9
- BELOW_INNER_LEFT_ANCHOR,
10
- BELOW_INNER_RIGHT_ANCHOR,
11
- BELOW_LEFT_ANCHOR,
12
- BELOW_RIGHT_ANCHOR,
13
- BOTTOM_CENTER_ANCHOR,
14
- BOTTOM_INNER_LEFT_ANCHOR,
15
- BOTTOM_INNER_RIGHT_ANCHOR,
16
- BOTTOM_LEFT_ANCHOR,
17
- BOTTOM_RIGHT_ANCHOR,
18
- CENTER_CENTER_ANCHOR,
19
- CENTER_INNER_LEFT_ANCHOR,
20
- CENTER_INNER_RIGHT_ANCHOR,
21
- CENTER_LEFT_ANCHOR,
22
- CENTER_RIGHT_ANCHOR,
23
- TOP_CENTER_ANCHOR,
24
- TOP_INNER_LEFT_ANCHOR,
25
- TOP_INNER_RIGHT_ANCHOR,
26
- TOP_LEFT_ANCHOR,
27
- TOP_RIGHT_ANCHOR,
28
- } from "../constants.js";
29
- import {
30
- findSizingContainer,
31
- getAboveCoord,
32
- getBelowCoord,
33
- getBottomCoord,
34
- getCenterXCoord,
35
- getCenterYCoord,
36
- getElementRect,
37
- getInnerLeftCoord,
38
- getInnerRightCoord,
39
- getLeftCoord,
40
- getRightCoord,
41
- getTopCoord,
42
- getTransformOrigin,
43
- isWithinViewport,
44
- } from "../utils.js";
45
-
46
- const containerRect1: DOMRect = {
47
- left: 100,
48
- right: 50,
49
- top: 25,
50
- bottom: 75,
51
- height: 200,
52
- width: 100,
53
- x: 100,
54
- y: 25,
55
- toJSON() {},
56
- };
57
-
58
- const containerRect2: DOMRect = {
59
- left: 50,
60
- right: 100,
61
- top: 75,
62
- bottom: 25,
63
- height: 100,
64
- width: 200,
65
- x: 60,
66
- y: 75,
67
- toJSON() {},
68
- };
69
-
70
- describe("getLeftCoord", () => {
71
- it("should return a left style value that allows the element to be fixed to the outer left of a container element", () => {
72
- expect(
73
- getLeftCoord({
74
- xMargin: 0,
75
- elWidth: 100,
76
- containerRect: containerRect1,
77
- })
78
- ).toBe(0);
79
- expect(
80
- getLeftCoord({
81
- xMargin: 8,
82
- elWidth: 100,
83
- containerRect: containerRect1,
84
- })
85
- ).toBe(-8);
86
- expect(
87
- getLeftCoord({
88
- xMargin: 0,
89
- elWidth: 50,
90
- containerRect: containerRect1,
91
- })
92
- ).toBe(50);
93
- expect(
94
- getLeftCoord({
95
- xMargin: 8,
96
- elWidth: 50,
97
- containerRect: containerRect1,
98
- })
99
- ).toBe(42);
100
-
101
- expect(
102
- getLeftCoord({
103
- xMargin: 0,
104
- elWidth: 100,
105
- containerRect: containerRect2,
106
- })
107
- ).toBe(-50);
108
- expect(
109
- getLeftCoord({
110
- xMargin: 8,
111
- elWidth: 100,
112
- containerRect: containerRect2,
113
- })
114
- ).toBe(-58);
115
- expect(
116
- getLeftCoord({
117
- xMargin: 0,
118
- elWidth: 50,
119
- containerRect: containerRect2,
120
- })
121
- ).toBe(0);
122
- expect(
123
- getLeftCoord({
124
- xMargin: 8,
125
- elWidth: 50,
126
- containerRect: containerRect2,
127
- })
128
- ).toBe(-8);
129
- });
130
-
131
- it("should use the initialX value instead of the container's left if provided", () => {
132
- expect(
133
- getLeftCoord({
134
- xMargin: 0,
135
- elWidth: 100,
136
- initialX: 150,
137
- containerRect: containerRect1,
138
- })
139
- ).toBe(50);
140
- expect(
141
- getLeftCoord({
142
- xMargin: 8,
143
- elWidth: 100,
144
- initialX: 150,
145
- containerRect: containerRect1,
146
- })
147
- ).toBe(42);
148
- expect(
149
- getLeftCoord({
150
- xMargin: 0,
151
- elWidth: 50,
152
- initialX: 150,
153
- containerRect: containerRect1,
154
- })
155
- ).toBe(100);
156
- expect(
157
- getLeftCoord({
158
- xMargin: 8,
159
- elWidth: 50,
160
- initialX: 150,
161
- containerRect: containerRect1,
162
- })
163
- ).toBe(92);
164
-
165
- expect(
166
- getLeftCoord({
167
- xMargin: 0,
168
- elWidth: 100,
169
- initialX: 150,
170
- containerRect: containerRect2,
171
- })
172
- ).toBe(50);
173
- expect(
174
- getLeftCoord({
175
- xMargin: 8,
176
- elWidth: 100,
177
- initialX: 150,
178
- containerRect: containerRect2,
179
- })
180
- ).toBe(42);
181
- expect(
182
- getLeftCoord({
183
- xMargin: 0,
184
- elWidth: 50,
185
- initialX: 150,
186
- containerRect: containerRect2,
187
- })
188
- ).toBe(100);
189
- expect(
190
- getLeftCoord({
191
- xMargin: 8,
192
- elWidth: 50,
193
- initialX: 150,
194
- containerRect: containerRect2,
195
- })
196
- ).toBe(92);
197
- });
198
- });
199
-
200
- describe("getInnerLeftCoord", () => {
201
- it("should return a left style value that allows the element to be fixed to the inner left of a container element", () => {
202
- expect(
203
- getInnerLeftCoord({
204
- xMargin: 0,
205
- elWidth: 100,
206
- containerRect: containerRect1,
207
- })
208
- ).toBe(100);
209
- expect(
210
- getInnerLeftCoord({
211
- xMargin: 0,
212
- elWidth: 40,
213
- containerRect: containerRect1,
214
- })
215
- ).toBe(100);
216
- expect(
217
- getInnerLeftCoord({
218
- xMargin: 8,
219
- elWidth: 40,
220
- containerRect: containerRect1,
221
- })
222
- ).toBe(108);
223
-
224
- expect(
225
- getInnerLeftCoord({
226
- xMargin: 0,
227
- elWidth: 100,
228
- containerRect: containerRect2,
229
- })
230
- ).toBe(50);
231
- expect(
232
- getInnerLeftCoord({
233
- xMargin: 0,
234
- elWidth: 40,
235
- containerRect: containerRect2,
236
- })
237
- ).toBe(50);
238
- expect(
239
- getInnerLeftCoord({
240
- xMargin: 8,
241
- elWidth: 40,
242
- containerRect: containerRect2,
243
- })
244
- ).toBe(58);
245
- });
246
-
247
- it("should use the initialX value instead of the container's left if provided", () => {
248
- expect(
249
- getInnerLeftCoord({
250
- xMargin: 0,
251
- elWidth: 100,
252
- initialX: 150,
253
- containerRect: containerRect1,
254
- })
255
- ).toBe(150);
256
- expect(
257
- getInnerLeftCoord({
258
- xMargin: 0,
259
- elWidth: 40,
260
- initialX: 150,
261
- containerRect: containerRect1,
262
- })
263
- ).toBe(150);
264
- expect(
265
- getInnerLeftCoord({
266
- xMargin: 8,
267
- elWidth: 40,
268
- initialX: 150,
269
- containerRect: containerRect1,
270
- })
271
- ).toBe(158);
272
-
273
- expect(
274
- getInnerLeftCoord({
275
- xMargin: 0,
276
- elWidth: 100,
277
- initialX: 150,
278
- containerRect: containerRect2,
279
- })
280
- ).toBe(150);
281
- expect(
282
- getInnerLeftCoord({
283
- xMargin: 0,
284
- elWidth: 40,
285
- initialX: 150,
286
- containerRect: containerRect2,
287
- })
288
- ).toBe(150);
289
- expect(
290
- getInnerLeftCoord({
291
- xMargin: 8,
292
- elWidth: 40,
293
- initialX: 150,
294
- containerRect: containerRect2,
295
- })
296
- ).toBe(158);
297
- });
298
- });
299
-
300
- describe("getCenterXCoord", () => {
301
- it("should return a left style value that allows the element to be fixed to the horizontal center of a container element", () => {
302
- expect(
303
- getCenterXCoord({
304
- xMargin: 0,
305
- elWidth: 100,
306
- containerRect: containerRect1,
307
- })
308
- ).toBe(100);
309
- expect(
310
- getCenterXCoord({
311
- xMargin: 0,
312
- elWidth: 200,
313
- containerRect: containerRect1,
314
- })
315
- ).toBe(50);
316
- });
317
-
318
- it("should ignore any margins in the calculation", () => {
319
- expect(
320
- getCenterXCoord({
321
- xMargin: 20,
322
- elWidth: 100,
323
- containerRect: containerRect1,
324
- })
325
- ).toBe(100);
326
- expect(
327
- getCenterXCoord({
328
- xMargin: 20,
329
- elWidth: 200,
330
- containerRect: containerRect1,
331
- })
332
- ).toBe(50);
333
- });
334
-
335
- it("should use the initialX instead of any of the container sizing when provided", () => {
336
- expect(
337
- getCenterXCoord({
338
- xMargin: 20,
339
- elWidth: 100,
340
- initialX: 20,
341
- containerRect: containerRect1,
342
- })
343
- ).toBe(-30);
344
-
345
- expect(
346
- getCenterXCoord({
347
- xMargin: 0,
348
- elWidth: 100,
349
- initialX: 23,
350
- containerRect: containerRect1,
351
- })
352
- ).toBe(-27);
353
-
354
- expect(
355
- getCenterXCoord({
356
- xMargin: 0,
357
- elWidth: 100,
358
- initialX: 100,
359
- containerRect: containerRect1,
360
- })
361
- ).toBe(50);
362
- });
363
- });
364
-
365
- describe("getInnerRightCoord", () => {
366
- it("should return a left style value that allows the element to be fixed to the inner-right of a container element", () => {
367
- expect(
368
- getInnerRightCoord({
369
- xMargin: 0,
370
- elWidth: 100,
371
- containerRect: containerRect1,
372
- })
373
- ).toBe(100);
374
- expect(
375
- getInnerRightCoord({
376
- xMargin: 8,
377
- elWidth: 100,
378
- containerRect: containerRect1,
379
- })
380
- ).toBe(92);
381
- expect(
382
- getInnerRightCoord({
383
- xMargin: 0,
384
- elWidth: 25,
385
- containerRect: containerRect1,
386
- })
387
- ).toBe(175);
388
- expect(
389
- getInnerRightCoord({
390
- xMargin: 8,
391
- elWidth: 25,
392
- containerRect: containerRect1,
393
- })
394
- ).toBe(167);
395
-
396
- expect(
397
- getInnerRightCoord({
398
- xMargin: 0,
399
- elWidth: 100,
400
- containerRect: containerRect2,
401
- })
402
- ).toBe(150);
403
- expect(
404
- getInnerRightCoord({
405
- xMargin: 8,
406
- elWidth: 100,
407
- containerRect: containerRect2,
408
- })
409
- ).toBe(142);
410
- expect(
411
- getInnerRightCoord({
412
- xMargin: 0,
413
- elWidth: 25,
414
- containerRect: containerRect2,
415
- })
416
- ).toBe(225);
417
- expect(
418
- getInnerRightCoord({
419
- xMargin: 8,
420
- elWidth: 25,
421
- containerRect: containerRect2,
422
- })
423
- ).toBe(217);
424
- });
425
-
426
- it("should use the initialX instead of any of the container sizing when provided", () => {
427
- expect(
428
- getInnerRightCoord({
429
- xMargin: 0,
430
- elWidth: 100,
431
- initialX: 325,
432
- containerRect: containerRect1,
433
- })
434
- ).toBe(225);
435
- expect(
436
- getInnerRightCoord({
437
- xMargin: 8,
438
- elWidth: 100,
439
- initialX: 325,
440
- containerRect: containerRect1,
441
- })
442
- ).toBe(217);
443
- });
444
- });
445
-
446
- describe("getRightCoord", () => {
447
- it("should return a left style value that allows the element to be fixed to the outer-right of a container element", () => {
448
- expect(
449
- getRightCoord({
450
- xMargin: 0,
451
- elWidth: 100,
452
- containerRect: containerRect1,
453
- })
454
- ).toBe(200);
455
- expect(
456
- getRightCoord({
457
- xMargin: 8,
458
- elWidth: 100,
459
- containerRect: containerRect1,
460
- })
461
- ).toBe(208);
462
- expect(
463
- getRightCoord({
464
- xMargin: 0,
465
- elWidth: 25,
466
- containerRect: containerRect1,
467
- })
468
- ).toBe(200);
469
- expect(
470
- getRightCoord({
471
- xMargin: 8,
472
- elWidth: 25,
473
- containerRect: containerRect1,
474
- })
475
- ).toBe(208);
476
-
477
- expect(
478
- getRightCoord({
479
- xMargin: 0,
480
- elWidth: 100,
481
- containerRect: containerRect2,
482
- })
483
- ).toBe(250);
484
- expect(
485
- getRightCoord({
486
- xMargin: 8,
487
- elWidth: 100,
488
- containerRect: containerRect2,
489
- })
490
- ).toBe(258);
491
- expect(
492
- getRightCoord({
493
- xMargin: 0,
494
- elWidth: 25,
495
- containerRect: containerRect2,
496
- })
497
- ).toBe(250);
498
- expect(
499
- getRightCoord({
500
- xMargin: 8,
501
- elWidth: 25,
502
- containerRect: containerRect2,
503
- })
504
- ).toBe(258);
505
- });
506
-
507
- it("should use the initialX instead of any of the container sizing when provided", () => {
508
- expect(
509
- getRightCoord({
510
- xMargin: 0,
511
- elWidth: 100,
512
- initialX: 325,
513
- containerRect: containerRect1,
514
- })
515
- ).toBe(325);
516
- expect(
517
- getRightCoord({
518
- xMargin: 8,
519
- elWidth: 100,
520
- initialX: 325,
521
- containerRect: containerRect1,
522
- })
523
- ).toBe(333);
524
- });
525
- });
526
-
527
- describe("getAboveCoord", () => {
528
- it("should create a top style value that allows an element to be fixed completely above a container element", () => {
529
- expect(
530
- getAboveCoord({
531
- yMargin: 0,
532
- elHeight: 100,
533
- containerRect: containerRect1,
534
- })
535
- ).toBe(-75);
536
- expect(
537
- getAboveCoord({
538
- yMargin: 8,
539
- elHeight: 100,
540
- containerRect: containerRect1,
541
- })
542
- ).toBe(-83);
543
- expect(
544
- getAboveCoord({
545
- yMargin: 0,
546
- elHeight: 50,
547
- containerRect: containerRect1,
548
- })
549
- ).toBe(-25);
550
- expect(
551
- getAboveCoord({
552
- yMargin: 8,
553
- elHeight: 50,
554
- containerRect: containerRect1,
555
- })
556
- ).toBe(-33);
557
-
558
- expect(
559
- getAboveCoord({
560
- yMargin: 0,
561
- elHeight: 100,
562
- containerRect: containerRect2,
563
- })
564
- ).toBe(-25);
565
- expect(
566
- getAboveCoord({
567
- yMargin: 8,
568
- elHeight: 100,
569
- containerRect: containerRect2,
570
- })
571
- ).toBe(-33);
572
- expect(
573
- getAboveCoord({
574
- yMargin: 0,
575
- elHeight: 50,
576
- containerRect: containerRect2,
577
- })
578
- ).toBe(25);
579
- expect(
580
- getAboveCoord({
581
- yMargin: 8,
582
- elHeight: 50,
583
- containerRect: containerRect2,
584
- })
585
- ).toBe(17);
586
- });
587
-
588
- it("should use the initialY value instead of the container's top if provided", () => {
589
- expect(
590
- getAboveCoord({
591
- yMargin: 0,
592
- elHeight: 100,
593
- initialY: 125,
594
- containerRect: containerRect1,
595
- })
596
- ).toBe(25);
597
- expect(
598
- getAboveCoord({
599
- yMargin: 8,
600
- elHeight: 100,
601
- initialY: 125,
602
- containerRect: containerRect1,
603
- })
604
- ).toBe(17);
605
- expect(
606
- getAboveCoord({
607
- yMargin: 0,
608
- elHeight: 50,
609
- initialY: 125,
610
- containerRect: containerRect1,
611
- })
612
- ).toBe(75);
613
- expect(
614
- getAboveCoord({
615
- yMargin: 8,
616
- elHeight: 50,
617
- initialY: 125,
618
- containerRect: containerRect1,
619
- })
620
- ).toBe(67);
621
-
622
- expect(
623
- getAboveCoord({
624
- yMargin: 0,
625
- elHeight: 100,
626
- initialY: 125,
627
- containerRect: containerRect2,
628
- })
629
- ).toBe(25);
630
- expect(
631
- getAboveCoord({
632
- yMargin: 8,
633
- elHeight: 100,
634
- initialY: 125,
635
- containerRect: containerRect2,
636
- })
637
- ).toBe(17);
638
- expect(
639
- getAboveCoord({
640
- yMargin: 0,
641
- elHeight: 50,
642
- initialY: 125,
643
- containerRect: containerRect2,
644
- })
645
- ).toBe(75);
646
- expect(
647
- getAboveCoord({
648
- yMargin: 8,
649
- elHeight: 50,
650
- initialY: 125,
651
- containerRect: containerRect2,
652
- })
653
- ).toBe(67);
654
- });
655
- });
656
-
657
- describe("getTopCoord", () => {
658
- it("should create a top style value that allows an element to fixed to the top of a container element", () => {
659
- expect(
660
- getTopCoord({
661
- yMargin: 0,
662
- elHeight: 100,
663
- containerRect: containerRect1,
664
- })
665
- ).toBe(25);
666
- expect(
667
- getTopCoord({
668
- yMargin: 8,
669
- elHeight: 100,
670
- containerRect: containerRect1,
671
- })
672
- ).toBe(33);
673
- expect(
674
- getTopCoord({
675
- yMargin: 0,
676
- elHeight: 50,
677
- containerRect: containerRect1,
678
- })
679
- ).toBe(25);
680
- expect(
681
- getTopCoord({
682
- yMargin: 8,
683
- elHeight: 50,
684
- containerRect: containerRect1,
685
- })
686
- ).toBe(33);
687
-
688
- expect(
689
- getTopCoord({
690
- yMargin: 0,
691
- elHeight: 100,
692
- containerRect: containerRect2,
693
- })
694
- ).toBe(75);
695
- expect(
696
- getTopCoord({
697
- yMargin: 8,
698
- elHeight: 100,
699
- containerRect: containerRect2,
700
- })
701
- ).toBe(83);
702
- expect(
703
- getTopCoord({
704
- yMargin: 0,
705
- elHeight: 50,
706
- containerRect: containerRect2,
707
- })
708
- ).toBe(75);
709
- expect(
710
- getTopCoord({
711
- yMargin: 8,
712
- elHeight: 50,
713
- containerRect: containerRect2,
714
- })
715
- ).toBe(83);
716
- });
717
-
718
- it("should use the initialY value instead of the container's top if provided", () => {
719
- expect(
720
- getTopCoord({
721
- yMargin: 0,
722
- elHeight: 20,
723
- initialY: 100,
724
- containerRect: containerRect1,
725
- })
726
- ).toBe(100);
727
-
728
- expect(
729
- getTopCoord({
730
- yMargin: 0,
731
- elHeight: 20,
732
- initialY: 100,
733
- containerRect: containerRect2,
734
- })
735
- ).toBe(100);
736
- });
737
- });
738
-
739
- describe("getCenterYCoord", () => {
740
- it("should return a top style value that allows the element to be fixed to the vertical center of a container element", () => {
741
- expect(
742
- getCenterYCoord({
743
- yMargin: 0,
744
- elHeight: 100,
745
- containerRect: containerRect1,
746
- })
747
- ).toBe(75);
748
- expect(
749
- getCenterYCoord({
750
- yMargin: 0,
751
- elHeight: 50,
752
- containerRect: containerRect1,
753
- })
754
- ).toBe(100);
755
- expect(
756
- getCenterYCoord({
757
- yMargin: 8,
758
- elHeight: 100,
759
- containerRect: containerRect1,
760
- })
761
- ).toBe(83);
762
- expect(
763
- getCenterYCoord({
764
- yMargin: 8,
765
- elHeight: 50,
766
- containerRect: containerRect1,
767
- })
768
- ).toBe(108);
769
-
770
- expect(
771
- getCenterYCoord({
772
- yMargin: 0,
773
- elHeight: 100,
774
- containerRect: containerRect2,
775
- })
776
- ).toBe(75);
777
- expect(
778
- getCenterYCoord({
779
- yMargin: 0,
780
- elHeight: 50,
781
- containerRect: containerRect2,
782
- })
783
- ).toBe(100);
784
- expect(
785
- getCenterYCoord({
786
- yMargin: 8,
787
- elHeight: 100,
788
- containerRect: containerRect2,
789
- })
790
- ).toBe(83);
791
- expect(
792
- getCenterYCoord({
793
- yMargin: 8,
794
- elHeight: 50,
795
- containerRect: containerRect2,
796
- })
797
- ).toBe(108);
798
- });
799
-
800
- it("should use the initialY instead of any of the container element sizing when provided and ignoring margin", () => {
801
- expect(
802
- getCenterYCoord({
803
- yMargin: 0,
804
- elHeight: 80,
805
- initialY: 100,
806
- containerRect: containerRect1,
807
- })
808
- ).toBe(60);
809
- expect(
810
- getCenterYCoord({
811
- yMargin: 8,
812
- elHeight: 80,
813
- initialY: 100,
814
- containerRect: containerRect1,
815
- })
816
- ).toBe(60);
817
-
818
- expect(
819
- getCenterYCoord({
820
- yMargin: 0,
821
- elHeight: 80,
822
- initialY: 100,
823
- containerRect: containerRect2,
824
- })
825
- ).toBe(60);
826
- expect(
827
- getCenterYCoord({
828
- yMargin: 8,
829
- elHeight: 80,
830
- initialY: 100,
831
- containerRect: containerRect2,
832
- })
833
- ).toBe(60);
834
- });
835
- });
836
-
837
- describe("getBottomCoord", () => {
838
- it("should return a top style value that allows the element to be fixed to the bottom of a container element", () => {
839
- expect(
840
- getBottomCoord({
841
- yMargin: 0,
842
- elHeight: 100,
843
- containerRect: containerRect1,
844
- })
845
- ).toBe(125);
846
- expect(
847
- getBottomCoord({
848
- yMargin: 0,
849
- elHeight: 50,
850
- containerRect: containerRect1,
851
- })
852
- ).toBe(175);
853
- expect(
854
- getBottomCoord({
855
- yMargin: 8,
856
- elHeight: 100,
857
- containerRect: containerRect1,
858
- })
859
- ).toBe(117);
860
- expect(
861
- getBottomCoord({
862
- yMargin: 8,
863
- elHeight: 50,
864
- containerRect: containerRect1,
865
- })
866
- ).toBe(167);
867
-
868
- expect(
869
- getBottomCoord({
870
- yMargin: 0,
871
- elHeight: 100,
872
- containerRect: containerRect2,
873
- })
874
- ).toBe(75);
875
- expect(
876
- getBottomCoord({
877
- yMargin: 0,
878
- elHeight: 50,
879
- containerRect: containerRect2,
880
- })
881
- ).toBe(125);
882
- expect(
883
- getBottomCoord({
884
- yMargin: 8,
885
- elHeight: 100,
886
- containerRect: containerRect2,
887
- })
888
- ).toBe(67);
889
- expect(
890
- getBottomCoord({
891
- yMargin: 8,
892
- elHeight: 50,
893
- containerRect: containerRect2,
894
- })
895
- ).toBe(117);
896
- });
897
-
898
- it("should use the initialY instead of any of the container's sizing when provided", () => {
899
- expect(
900
- getBottomCoord({
901
- yMargin: 0,
902
- elHeight: 80,
903
- initialY: 100,
904
- containerRect: containerRect1,
905
- })
906
- ).toBe(20);
907
- expect(
908
- getBottomCoord({
909
- yMargin: 8,
910
- elHeight: 80,
911
- initialY: 100,
912
- containerRect: containerRect1,
913
- })
914
- ).toBe(12);
915
-
916
- expect(
917
- getBottomCoord({
918
- yMargin: 0,
919
- elHeight: 80,
920
- initialY: 100,
921
- containerRect: containerRect2,
922
- })
923
- ).toBe(20);
924
- expect(
925
- getBottomCoord({
926
- yMargin: 8,
927
- elHeight: 80,
928
- initialY: 100,
929
- containerRect: containerRect2,
930
- })
931
- ).toBe(12);
932
- });
933
- });
934
-
935
- describe("getBelowCoord", () => {
936
- it("should return a top style value that allows the element to be fixed to the bottom of a container element", () => {
937
- expect(
938
- getBelowCoord({
939
- yMargin: 0,
940
- elHeight: 100,
941
- containerRect: containerRect1,
942
- })
943
- ).toBe(225);
944
- expect(
945
- getBelowCoord({
946
- yMargin: 0,
947
- elHeight: 50,
948
- containerRect: containerRect1,
949
- })
950
- ).toBe(225);
951
- expect(
952
- getBelowCoord({
953
- yMargin: 8,
954
- elHeight: 100,
955
- containerRect: containerRect1,
956
- })
957
- ).toBe(233);
958
- expect(
959
- getBelowCoord({
960
- yMargin: 8,
961
- elHeight: 50,
962
- containerRect: containerRect1,
963
- })
964
- ).toBe(233);
965
-
966
- expect(
967
- getBelowCoord({
968
- yMargin: 0,
969
- elHeight: 100,
970
- containerRect: containerRect2,
971
- })
972
- ).toBe(175);
973
- expect(
974
- getBelowCoord({
975
- yMargin: 0,
976
- elHeight: 50,
977
- containerRect: containerRect2,
978
- })
979
- ).toBe(175);
980
- expect(
981
- getBelowCoord({
982
- yMargin: 8,
983
- elHeight: 100,
984
- containerRect: containerRect2,
985
- })
986
- ).toBe(183);
987
- expect(
988
- getBelowCoord({
989
- yMargin: 8,
990
- elHeight: 50,
991
- containerRect: containerRect2,
992
- })
993
- ).toBe(183);
994
- });
995
-
996
- it("should use the initialY instead of any of the container's sizing when provided", () => {
997
- expect(
998
- getBelowCoord({
999
- yMargin: 0,
1000
- elHeight: 50,
1001
- initialY: 80,
1002
- containerRect: containerRect1,
1003
- })
1004
- ).toBe(80);
1005
- expect(
1006
- getBelowCoord({
1007
- yMargin: 8,
1008
- elHeight: 50,
1009
- initialY: 80,
1010
- containerRect: containerRect1,
1011
- })
1012
- ).toBe(88);
1013
- });
1014
- });
1015
-
1016
- describe("getElementRect", () => {
1017
- const createTestElement = () => {
1018
- const element = document.createElement("span");
1019
- element.setAttribute("role", "tooltip");
1020
- element.id = "element-id";
1021
-
1022
- const cloned = element.cloneNode(true) as HTMLElement;
1023
- const cloneNode = jest.spyOn(element, "cloneNode");
1024
- cloneNode.mockImplementation(() => cloned);
1025
-
1026
- return { element, cloned, cloneNode };
1027
- };
1028
-
1029
- it("should do a deep clone of the element so that the attributes can be modified without messing up the original", () => {
1030
- const { element, cloned, cloneNode } = createTestElement();
1031
- getElementRect(element);
1032
-
1033
- expect(cloneNode).toHaveBeenCalledWith(true);
1034
- expect(element.id).toBe("element-id");
1035
- expect(cloned.id).toBe("");
1036
-
1037
- expect(element.getAttribute("role")).toBe("tooltip");
1038
- expect(cloned.getAttribute("role")).toBe(null);
1039
-
1040
- expect(element.style.position).toBe("");
1041
- expect(cloned.style.position).toBe("fixed");
1042
-
1043
- expect(element.style.visibility).toBe("");
1044
- expect(cloned.style.visibility).toBe("hidden");
1045
-
1046
- expect(element.style.transform).toBe("");
1047
- expect(cloned.style.transform).toBe("none");
1048
- });
1049
-
1050
- it("should try to add the cloned node to the parent element or fallback to the document.body if there isn't a parent element and then remove the cloned child from the DOM", () => {
1051
- const parent = document.createElement("div");
1052
- let { element, cloned } = createTestElement();
1053
- parent.appendChild(element);
1054
-
1055
- const parentAppendChild = jest.spyOn(parent, "appendChild");
1056
- const parentRemoveChild = jest.spyOn(parent, "removeChild");
1057
- const bodyAppendChild = jest.spyOn(document.body, "appendChild");
1058
- const bodyRemoveChild = jest.spyOn(document.body, "removeChild");
1059
-
1060
- getElementRect(parent.firstChild as HTMLElement);
1061
- expect(bodyAppendChild).not.toHaveBeenCalled();
1062
- expect(bodyRemoveChild).not.toHaveBeenCalled();
1063
- expect(parentAppendChild).toHaveBeenCalledWith(cloned);
1064
- expect(parentRemoveChild).toHaveBeenCalledWith(cloned);
1065
-
1066
- parentAppendChild.mockClear();
1067
- parentRemoveChild.mockClear();
1068
- ({ element, cloned } = createTestElement());
1069
- getElementRect(element);
1070
- expect(bodyAppendChild).toHaveBeenCalledWith(cloned);
1071
- expect(bodyRemoveChild).toHaveBeenCalledWith(cloned);
1072
- expect(parentAppendChild).not.toHaveBeenCalled();
1073
- expect(parentRemoveChild).not.toHaveBeenCalled();
1074
- });
1075
- });
1076
-
1077
- describe("findSizingContainer", () => {
1078
- it("should return null if no element was provided", () => {
1079
- expect(findSizingContainer(null)).toBe(null);
1080
- });
1081
-
1082
- it("should check the element for a treeitem or listitem role since it is known to have different sizing with nested groups", () => {
1083
- const query = ".rmd-tree-item__content, .rmd-item-text";
1084
- const treeItem = document.createElement("li");
1085
- treeItem.setAttribute("role", "treeitem");
1086
- const treeItemQS = jest.spyOn(treeItem, "querySelector");
1087
-
1088
- const treeItemContent = document.createElement("span");
1089
- treeItemContent.className = "rmd-tree-item__content";
1090
- treeItem.appendChild(treeItemContent);
1091
-
1092
- const result1 = findSizingContainer(treeItem);
1093
- expect(treeItemQS).toHaveBeenCalledWith(query);
1094
- expect(result1).toBe(treeItemContent);
1095
-
1096
- const listItem = document.createElement("li");
1097
- listItem.setAttribute("role", "listitem");
1098
- const listItemQS = jest.spyOn(listItem, "querySelector");
1099
-
1100
- const listItemContent = document.createElement("span");
1101
- listItemContent.className = "rmd-item-text";
1102
- listItem.appendChild(listItemContent);
1103
-
1104
- const result2 = findSizingContainer(listItem);
1105
- expect(listItemQS).toHaveBeenCalledWith(query);
1106
- expect(result2).toBe(listItemContent);
1107
- });
1108
-
1109
- it("should return the label for a file input", () => {
1110
- const label = document.createElement("label");
1111
- label.htmlFor = "file-input";
1112
- const fileInput = document.createElement("input");
1113
- fileInput.type = "file";
1114
- fileInput.id = "file-input";
1115
- const container = document.createElement("div");
1116
- container.appendChild(label);
1117
- container.appendChild(label);
1118
-
1119
- document.body.appendChild(container);
1120
-
1121
- expect(findSizingContainer(fileInput)).toEqual(label);
1122
- document.body.removeChild(container);
1123
- });
1124
-
1125
- it("should return the treeitem or listitem if the query has no matches", () => {
1126
- const treeItem = document.createElement("li");
1127
- treeItem.setAttribute("role", "treeitem");
1128
- const listItem = document.createElement("li");
1129
- listItem.setAttribute("role", "listitem");
1130
-
1131
- expect(findSizingContainer(treeItem)).toBe(treeItem);
1132
- expect(findSizingContainer(listItem)).toBe(listItem);
1133
- });
1134
-
1135
- it("should check if the element has a `data-sizing-selector` value and use it as a query selector on the element if it does", () => {
1136
- const element = document.createElement("span");
1137
- element.setAttribute("data-sizing-selector", ".query");
1138
-
1139
- const child = document.createElement("span");
1140
- child.className = "query";
1141
- element.appendChild(child);
1142
-
1143
- const getAttribute = jest.spyOn(element, "getAttribute");
1144
-
1145
- const container = findSizingContainer(element);
1146
- expect(getAttribute).toHaveBeenCalledWith("data-sizing-selector");
1147
- expect(container).toBe(child);
1148
- });
1149
-
1150
- it("should throw an error if no child element can be found using the `data-sizing-selector`", () => {
1151
- const element = document.createElement("span");
1152
- element.setAttribute("data-sizing-selector", ".query");
1153
-
1154
- expect(() => findSizingContainer(element)).toThrow(
1155
- "Unable to find a child element using the `data-sizing-selector`"
1156
- );
1157
- });
1158
- });
1159
-
1160
- describe("getTransformOrigin", () => {
1161
- const TOP_LEFT = "0 0";
1162
- const TOP_CENTER = "50% 0";
1163
- const TOP_RIGHT = "100% 0";
1164
-
1165
- const CENTER_LEFT = "0 50%";
1166
- const CENTER_CENTER = "50% 50%";
1167
- const CENTER_RIGHT = "100% 50%";
1168
-
1169
- const BOTTOM_LEFT = "0 100%";
1170
- const BOTTOM_CENTER = "50% 100%";
1171
- const BOTTOM_RIGHT = "100% 100%";
1172
-
1173
- it('should position the "right below", "right top", "inner-left below", and "inner-left top" anchors to the top left origin', () => {
1174
- expect(getTransformOrigin(BELOW_RIGHT_ANCHOR)).toBe(TOP_LEFT);
1175
- expect(getTransformOrigin(TOP_RIGHT_ANCHOR)).toBe(TOP_LEFT);
1176
- expect(getTransformOrigin(BELOW_INNER_LEFT_ANCHOR)).toBe(TOP_LEFT);
1177
- expect(getTransformOrigin(TOP_INNER_LEFT_ANCHOR)).toBe(TOP_LEFT);
1178
- });
1179
-
1180
- it('should position the "center below" and "center top" anchors to the top center origin ("50% 0")', () => {
1181
- expect(getTransformOrigin(BELOW_CENTER_ANCHOR)).toBe(TOP_CENTER);
1182
- expect(getTransformOrigin(TOP_CENTER_ANCHOR)).toBe(TOP_CENTER);
1183
- });
1184
-
1185
- it('should position the "inner-right below", "inner-right top", "left below", and "left top" anchors to the top right origin ("100% 0")', () => {
1186
- expect(getTransformOrigin(BELOW_INNER_RIGHT_ANCHOR)).toBe(TOP_RIGHT);
1187
- expect(getTransformOrigin(TOP_INNER_RIGHT_ANCHOR)).toBe(TOP_RIGHT);
1188
- expect(getTransformOrigin(BELOW_LEFT_ANCHOR)).toBe(TOP_RIGHT);
1189
- expect(getTransformOrigin(TOP_LEFT_ANCHOR)).toBe(TOP_RIGHT);
1190
- });
1191
-
1192
- it('should position the "right center" and "inner-right center" anchors to the center left origin ("0 50%")', () => {
1193
- expect(getTransformOrigin(CENTER_RIGHT_ANCHOR)).toBe(CENTER_LEFT);
1194
- expect(getTransformOrigin(CENTER_INNER_LEFT_ANCHOR)).toBe(CENTER_LEFT);
1195
- });
1196
-
1197
- it('should position the "center center" anchor to the absolute center origin ("50% 50%")', () => {
1198
- expect(getTransformOrigin(CENTER_CENTER_ANCHOR)).toBe(CENTER_CENTER);
1199
- });
1200
-
1201
- it('should position the "inner-right center" and "left center" anchors to the center right origin ("100% 50%")', () => {
1202
- expect(getTransformOrigin(CENTER_INNER_RIGHT_ANCHOR)).toBe(CENTER_RIGHT);
1203
- expect(getTransformOrigin(CENTER_LEFT_ANCHOR)).toBe(CENTER_RIGHT);
1204
- });
1205
-
1206
- it('should position the "right above", "right bottom", "inner-left above", and "inner-left bottom" anchors to the bottom left origin ("0 100%")', () => {
1207
- expect(getTransformOrigin(ABOVE_RIGHT_ANCHOR)).toBe(BOTTOM_LEFT);
1208
- expect(getTransformOrigin(BOTTOM_RIGHT_ANCHOR)).toBe(BOTTOM_LEFT);
1209
- expect(getTransformOrigin(ABOVE_INNER_LEFT_ANCHOR)).toBe(BOTTOM_LEFT);
1210
- expect(getTransformOrigin(BOTTOM_INNER_LEFT_ANCHOR)).toBe(BOTTOM_LEFT);
1211
- });
1212
-
1213
- it('should position the "center above" and "center bottom" anchors to the bottom center origin ("50% 100%")', () => {
1214
- expect(getTransformOrigin(ABOVE_CENTER_ANCHOR)).toBe(BOTTOM_CENTER);
1215
- expect(getTransformOrigin(BOTTOM_CENTER_ANCHOR)).toBe(BOTTOM_CENTER);
1216
- });
1217
-
1218
- it('should position the "inner-right above", "inner-right bottom", "left above", and "left bottom" anchors to the bottom right origin ("100% 100%")', () => {
1219
- expect(getTransformOrigin(ABOVE_INNER_RIGHT_ANCHOR)).toBe(BOTTOM_RIGHT);
1220
- expect(getTransformOrigin(BOTTOM_INNER_RIGHT_ANCHOR)).toBe(BOTTOM_RIGHT);
1221
- expect(getTransformOrigin(ABOVE_LEFT_ANCHOR)).toBe(BOTTOM_RIGHT);
1222
- expect(getTransformOrigin(BOTTOM_LEFT_ANCHOR)).toBe(BOTTOM_RIGHT);
1223
- });
1224
-
1225
- it("should default to 0 0 if an invalid anchor is provided", () => {
1226
- // @ts-expect-error
1227
- expect(getTransformOrigin({ x: "invalid", y: "invalid" })).toBe("0 0");
1228
- });
1229
- });
1230
-
1231
- describe("isWithinViewport", () => {
1232
- it("should return true if both the fixedElement and fixedToElement are visible within the viewport", () => {
1233
- expect(window.innerHeight).toBe(768);
1234
- expect(window.innerWidth).toBe(1024);
1235
- const rect: DOMRect = {
1236
- top: 0,
1237
- left: 0,
1238
- bottom: 24,
1239
- right: 48,
1240
- height: 24,
1241
- width: 48,
1242
- x: 0,
1243
- y: 0,
1244
- toJSON() {},
1245
- };
1246
- const rectOutAbove: DOMRect = {
1247
- ...rect,
1248
- top: -40,
1249
- bottom: -16,
1250
- y: -40,
1251
- };
1252
- const rectOutBelow: DOMRect = {
1253
- ...rect,
1254
- top: 1025,
1255
- bottom: 1049,
1256
- y: 1025,
1257
- };
1258
- const rectOutRight: DOMRect = {
1259
- ...rect,
1260
- left: 1025,
1261
- right: 1049,
1262
- x: 1025,
1263
- };
1264
- const rectOutLeft: DOMRect = {
1265
- ...rect,
1266
- left: -50,
1267
- right: -2,
1268
- x: -50,
1269
- };
1270
-
1271
- const fixedElement = document.createElement("div");
1272
- const fixedToElement = document.createElement("div");
1273
- const fixedElementRect = jest
1274
- .spyOn(fixedElement, "getBoundingClientRect")
1275
- .mockReturnValue(rect);
1276
- const fixedToElementRect = jest
1277
- .spyOn(fixedToElement, "getBoundingClientRect")
1278
- .mockReturnValue(rect);
1279
-
1280
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(true);
1281
-
1282
- // still visible since the fixedToElement is in the viewport
1283
- fixedElementRect.mockReturnValueOnce(rectOutAbove);
1284
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(true);
1285
-
1286
- fixedElementRect.mockReturnValueOnce(rectOutAbove);
1287
- fixedToElementRect.mockReturnValueOnce(rectOutAbove);
1288
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(false);
1289
-
1290
- fixedToElementRect.mockReturnValueOnce(rectOutBelow);
1291
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(true);
1292
-
1293
- fixedElementRect.mockReturnValueOnce(rectOutBelow);
1294
- fixedToElementRect.mockReturnValueOnce(rectOutBelow);
1295
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(false);
1296
-
1297
- fixedToElementRect.mockReturnValueOnce(rectOutLeft);
1298
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(true);
1299
-
1300
- fixedElementRect.mockReturnValueOnce(rectOutLeft);
1301
- fixedToElementRect.mockReturnValueOnce(rectOutLeft);
1302
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(false);
1303
-
1304
- fixedElementRect.mockReturnValueOnce(rectOutRight);
1305
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(true);
1306
-
1307
- fixedElementRect.mockReturnValueOnce(rectOutRight);
1308
- fixedToElementRect.mockReturnValueOnce(rectOutRight);
1309
- expect(isWithinViewport({ fixedElement, fixedToElement })).toBe(false);
1310
- });
1311
- });