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

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 (1114) hide show
  1. package/.turbo/turbo-build.log +7 -7
  2. package/.turbo/turbo-lint.log +12 -0
  3. package/.turbo/turbo-test.log +5498 -0
  4. package/.turbo/turbo-typecheck.log +26 -0
  5. package/CHANGELOG.md +27 -0
  6. package/coverage/clover.xml +657 -140
  7. package/coverage/coverage-final.json +4 -4
  8. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +810 -171
  9. package/coverage/lcov-report/autocomplete/index.html +21 -126
  10. package/coverage/lcov-report/button/Button.tsx.html +84 -84
  11. package/coverage/lcov-report/button/index.html +10 -10
  12. package/coverage/lcov-report/{src/positioning/createHorizontalPosition.ts.html → createHorizontalPosition.ts.html} +137 -137
  13. package/coverage/lcov-report/{src/positioning/createVerticalPosition.ts.html → createVerticalPosition.ts.html} +77 -77
  14. package/coverage/lcov-report/index.html +52 -22
  15. package/coverage/lcov-report/searching/fuzzy.ts.html +80 -83
  16. package/coverage/lcov-report/searching/index.html +13 -43
  17. package/coverage/lcov-report/typography/SrOnly.tsx.html +52 -79
  18. package/coverage/lcov-report/typography/index.html +18 -18
  19. package/coverage/lcov-report/utils.ts.html +940 -97
  20. package/coverage/lcov.info +711 -177
  21. package/dist/_box-shadows.scss +7 -4
  22. package/dist/_core.scss +5 -1
  23. package/dist/_utils.scss +3 -3
  24. package/dist/autocomplete/Autocomplete.d.ts +85 -0
  25. package/dist/autocomplete/Autocomplete.js +138 -0
  26. package/dist/autocomplete/Autocomplete.js.map +1 -0
  27. package/dist/autocomplete/AutocompleteCircularProgress.d.ts +16 -0
  28. package/dist/autocomplete/AutocompleteCircularProgress.js +15 -0
  29. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -0
  30. package/dist/autocomplete/AutocompleteDropdownButton.d.ts +32 -0
  31. package/dist/autocomplete/AutocompleteDropdownButton.js +29 -0
  32. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -0
  33. package/dist/autocomplete/FilterAutocompleteOptions.d.ts +8 -0
  34. package/dist/autocomplete/FilterAutocompleteOptions.js +57 -0
  35. package/dist/autocomplete/FilterAutocompleteOptions.js.map +1 -0
  36. package/dist/autocomplete/_autocomplete.scss +75 -0
  37. package/dist/autocomplete/autocompleteStyles.d.ts +32 -0
  38. package/dist/autocomplete/autocompleteStyles.js +34 -0
  39. package/dist/autocomplete/autocompleteStyles.js.map +1 -0
  40. package/dist/autocomplete/defaults.d.ts +21 -0
  41. package/dist/autocomplete/defaults.js +52 -0
  42. package/dist/autocomplete/defaults.js.map +1 -0
  43. package/dist/autocomplete/types.d.ts +103 -0
  44. package/dist/autocomplete/types.js +5 -0
  45. package/dist/autocomplete/types.js.map +1 -0
  46. package/dist/avatar/_avatar.scss +4 -3
  47. package/dist/button/AsyncButton.js +2 -2
  48. package/dist/button/AsyncButton.js.map +1 -1
  49. package/dist/draggable/useDraggable.js +2 -13
  50. package/dist/draggable/useDraggable.js.map +1 -1
  51. package/dist/form/TextField.d.ts +1 -10
  52. package/dist/form/TextField.js +1 -2
  53. package/dist/form/TextField.js.map +1 -1
  54. package/dist/form/TextFieldAddon.js +5 -2
  55. package/dist/form/TextFieldAddon.js.map +1 -1
  56. package/dist/form/_form.scss +81 -40
  57. package/dist/form/useCombobox.d.ts +6 -6
  58. package/dist/form/useCombobox.js +1 -1
  59. package/dist/form/useCombobox.js.map +1 -1
  60. package/dist/form/useEditableCombobox.js +3 -0
  61. package/dist/form/useEditableCombobox.js.map +1 -1
  62. package/dist/form/useTextFieldContainerAddons.d.ts +88 -0
  63. package/dist/form/useTextFieldContainerAddons.js +85 -0
  64. package/dist/form/useTextFieldContainerAddons.js.map +1 -0
  65. package/dist/icon/iconConfig.d.ts +7 -0
  66. package/dist/icon/iconConfig.js +3 -0
  67. package/dist/icon/iconConfig.js.map +1 -1
  68. package/dist/menu/MenuItemCircularProgress.d.ts +2 -2
  69. package/dist/menu/MenuItemCircularProgress.js +2 -2
  70. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  71. package/dist/positioning/constants.d.ts +1 -1
  72. package/dist/positioning/constants.js.map +1 -1
  73. package/dist/positioning/createHorizontalPosition.d.ts +2 -2
  74. package/dist/positioning/createHorizontalPosition.js.map +1 -1
  75. package/dist/positioning/createVerticalPosition.d.ts +3 -3
  76. package/dist/positioning/createVerticalPosition.js.map +1 -1
  77. package/dist/positioning/getFixedPosition.d.ts +1 -1
  78. package/dist/positioning/getFixedPosition.js.map +1 -1
  79. package/dist/positioning/types.d.ts +1 -1
  80. package/dist/positioning/types.js.map +1 -1
  81. package/dist/positioning/useFixedPositioning.d.ts +3 -3
  82. package/dist/positioning/useFixedPositioning.js.map +1 -1
  83. package/dist/positioning/utils.d.ts +1 -1
  84. package/dist/positioning/utils.js.map +1 -1
  85. package/dist/responsive-item/_responsive-item.scss +4 -1
  86. package/dist/theme/_theme.scss +4 -4
  87. package/dist/transition/CrossFade.js +2 -3
  88. package/dist/transition/CrossFade.js.map +1 -1
  89. package/dist/transition/useCrossFadeTransition.js +2 -1
  90. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  91. package/dist/transition/useScaleTransition.js +2 -1
  92. package/dist/transition/useScaleTransition.js.map +1 -1
  93. package/dist/{useAsyncAction.d.ts → useAsyncFunction.d.ts} +10 -10
  94. package/dist/{useAsyncAction.js → useAsyncFunction.js} +6 -6
  95. package/dist/useAsyncFunction.js.map +1 -0
  96. package/dist/useMutationObserver.d.ts +52 -0
  97. package/dist/useMutationObserver.js +84 -0
  98. package/dist/useMutationObserver.js.map +1 -0
  99. package/package.json +16 -16
  100. package/src/__tests__/{useAsyncAction.tsx → useAsyncFunction.tsx} +3 -3
  101. package/src/__tests__/useWindowSize.tsx +1 -2
  102. package/src/_box-shadows.scss +7 -4
  103. package/src/_core.scss +5 -1
  104. package/src/_utils.scss +3 -3
  105. package/src/autocomplete/Autocomplete.tsx +294 -0
  106. package/src/autocomplete/AutocompleteCircularProgress.tsx +41 -0
  107. package/src/autocomplete/AutocompleteDropdownButton.tsx +66 -0
  108. package/src/autocomplete/FilterAutocompleteOptions.tsx +86 -0
  109. package/src/autocomplete/__tests__/Autocomplete.tsx +458 -0
  110. package/src/autocomplete/__tests__/__snapshots__/Autocomplete.tsx.snap +144 -0
  111. package/src/autocomplete/_autocomplete.scss +75 -0
  112. package/src/autocomplete/autocompleteStyles.ts +78 -0
  113. package/src/autocomplete/defaults.ts +83 -0
  114. package/src/autocomplete/types.ts +122 -0
  115. package/src/avatar/_avatar.scss +4 -3
  116. package/src/button/AsyncButton.tsx +2 -2
  117. package/src/draggable/useDraggable.ts +6 -13
  118. package/src/form/TextField.tsx +0 -13
  119. package/src/form/TextFieldAddon.tsx +6 -4
  120. package/src/form/__tests__/__snapshots__/Select.tsx.snap +2 -2
  121. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +2 -2
  122. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +2 -2
  123. package/src/form/__tests__/useFormReset.tsx +1 -2
  124. package/src/form/_form.scss +81 -40
  125. package/src/form/useCombobox.ts +9 -19
  126. package/src/form/useEditableCombobox.ts +3 -0
  127. package/src/form/useTextFieldContainerAddons.ts +195 -0
  128. package/src/icon/iconConfig.tsx +9 -0
  129. package/src/menu/MenuItemCircularProgress.tsx +2 -2
  130. package/src/positioning/__tests__/createHorizontalPosition.ts +2 -4
  131. package/src/positioning/constants.ts +1 -1
  132. package/src/positioning/createHorizontalPosition.ts +2 -2
  133. package/src/positioning/createVerticalPosition.ts +3 -3
  134. package/src/positioning/getFixedPosition.ts +1 -1
  135. package/src/positioning/types.ts +1 -1
  136. package/src/positioning/useFixedPositioning.ts +12 -4
  137. package/src/positioning/utils.ts +1 -1
  138. package/src/responsive-item/_responsive-item.scss +4 -1
  139. package/src/suspense/__tests__/CircularProgressSuspense.tsx +4 -4
  140. package/src/theme/_theme.scss +4 -4
  141. package/src/transition/CrossFade.tsx +1 -8
  142. package/src/transition/useCrossFadeTransition.ts +2 -0
  143. package/src/transition/useScaleTransition.ts +2 -0
  144. package/src/{useAsyncAction.ts → useAsyncFunction.ts} +15 -15
  145. package/src/useMutationObserver.ts +118 -0
  146. package/coverage/lcov-report/AppBar.tsx.html +0 -784
  147. package/coverage/lcov-report/AsyncButton.tsx.html +0 -649
  148. package/coverage/lcov-report/AutoComplete.tsx.html +0 -283
  149. package/coverage/lcov-report/Avatar.tsx.html +0 -472
  150. package/coverage/lcov-report/Badge.tsx.html +0 -253
  151. package/coverage/lcov-report/CircularProgress.tsx.html +0 -799
  152. package/coverage/lcov-report/Collapse.tsx.html +0 -340
  153. package/coverage/lcov-report/CoreProviders.tsx.html +0 -502
  154. package/coverage/lcov-report/DefaultNavigationRenderer.tsx.html +0 -298
  155. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +0 -526
  156. package/coverage/lcov-report/Dialog.tsx.html +0 -1309
  157. package/coverage/lcov-report/DialogContent.tsx.html +0 -178
  158. package/coverage/lcov-report/DialogFooter.tsx.html +0 -169
  159. package/coverage/lcov-report/ExpansionList.tsx.html +0 -205
  160. package/coverage/lcov-report/ExpansionPanel.tsx.html +0 -934
  161. package/coverage/lcov-report/ExpansionPanelHeader.tsx.html +0 -622
  162. package/coverage/lcov-report/FileInput.tsx.html +0 -733
  163. package/coverage/lcov-report/FontIcon.tsx.html +0 -265
  164. package/coverage/lcov-report/IconRotator.tsx.html +0 -322
  165. package/coverage/lcov-report/InputToggle.tsx.html +0 -1117
  166. package/coverage/lcov-report/InputToggleIcon.tsx.html +0 -478
  167. package/coverage/lcov-report/LinearProgress.tsx.html +0 -658
  168. package/coverage/lcov-report/ListItem.tsx.html +0 -892
  169. package/coverage/lcov-report/ListItemLink.tsx.html +0 -616
  170. package/coverage/lcov-report/MaterialIcon.tsx.html +0 -235
  171. package/coverage/lcov-report/MaterialSymbol.tsx.html +0 -421
  172. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +0 -223
  173. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +0 -925
  174. package/coverage/lcov-report/MenuItemRadio.tsx.html +0 -436
  175. package/coverage/lcov-report/MenuItemSeparator.tsx.html +0 -223
  176. package/coverage/lcov-report/MenuItemTextField.tsx.html +0 -289
  177. package/coverage/lcov-report/NativeSelect.tsx.html +0 -763
  178. package/coverage/lcov-report/Navigation.tsx.html +0 -358
  179. package/coverage/lcov-report/Portal.tsx.html +0 -223
  180. package/coverage/lcov-report/PortalContainerProvider.tsx.html +0 -367
  181. package/coverage/lcov-report/RootHtml.tsx.html +0 -370
  182. package/coverage/lcov-report/SVGIcon.tsx.html +0 -445
  183. package/coverage/lcov-report/SegmentedButton.tsx.html +0 -628
  184. package/coverage/lcov-report/SegmentedButtonContainer.tsx.html +0 -277
  185. package/coverage/lcov-report/Select.tsx.html +0 -1411
  186. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +0 -613
  187. package/coverage/lcov-report/Snackbar.tsx.html +0 -610
  188. package/coverage/lcov-report/SrOnly.tsx.html +0 -328
  189. package/coverage/lcov-report/Switch.tsx.html +0 -535
  190. package/coverage/lcov-report/SwitchTrack.tsx.html +0 -262
  191. package/coverage/lcov-report/Tab.tsx.html +0 -622
  192. package/coverage/lcov-report/TabList.tsx.html +0 -757
  193. package/coverage/lcov-report/TabListScrollButton.tsx.html +0 -472
  194. package/coverage/lcov-report/Table.tsx.html +0 -457
  195. package/coverage/lcov-report/TableCell.tsx.html +0 -982
  196. package/coverage/lcov-report/TableCheckbox.tsx.html +0 -709
  197. package/coverage/lcov-report/TableContainer.tsx.html +0 -220
  198. package/coverage/lcov-report/TableFooter.tsx.html +0 -502
  199. package/coverage/lcov-report/TableHeader.tsx.html +0 -541
  200. package/coverage/lcov-report/TableRadio.tsx.html +0 -670
  201. package/coverage/lcov-report/TableRow.tsx.html +0 -289
  202. package/coverage/lcov-report/TextArea.tsx.html +0 -940
  203. package/coverage/lcov-report/TextField.tsx.html +0 -829
  204. package/coverage/lcov-report/TextFieldAddon.tsx.html +0 -382
  205. package/coverage/lcov-report/TextFieldContainer.tsx.html +0 -364
  206. package/coverage/lcov-report/Toast.tsx.html +0 -868
  207. package/coverage/lcov-report/ToastCloseButton.tsx.html +0 -340
  208. package/coverage/lcov-report/ToastManager.tsx.html +0 -1783
  209. package/coverage/lcov-report/ToastManagerProvider.tsx.html +0 -400
  210. package/coverage/lcov-report/Tooltip.tsx.html +0 -559
  211. package/coverage/lcov-report/TooltipHoverModeProvider.tsx.html +0 -253
  212. package/coverage/lcov-report/Tree.tsx.html +0 -1135
  213. package/coverage/lcov-report/TreeGroup.tsx.html +0 -313
  214. package/coverage/lcov-report/Typography.tsx.html +0 -1027
  215. package/coverage/lcov-report/app-bar/AppBar.tsx.html +0 -928
  216. package/coverage/lcov-report/app-bar/AppBarTitle.tsx.html +0 -430
  217. package/coverage/lcov-report/app-bar/index.html +0 -131
  218. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +0 -283
  219. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +0 -304
  220. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +0 -775
  221. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +0 -1039
  222. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +0 -829
  223. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +0 -715
  224. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +0 -340
  225. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +0 -454
  226. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +0 -373
  227. package/coverage/lcov-report/autocomplete/utils.ts.html +0 -196
  228. package/coverage/lcov-report/avatar/Avatar.tsx.html +0 -535
  229. package/coverage/lcov-report/avatar/index.html +0 -116
  230. package/coverage/lcov-report/avatar/styles.ts.html +0 -268
  231. package/coverage/lcov-report/badge/Badge.tsx.html +0 -364
  232. package/coverage/lcov-report/badge/index.html +0 -116
  233. package/coverage/lcov-report/box/Box.tsx.html +0 -562
  234. package/coverage/lcov-report/box/index.html +0 -131
  235. package/coverage/lcov-report/box/styles.ts.html +0 -622
  236. package/coverage/lcov-report/button/AsyncButton.tsx.html +0 -1045
  237. package/coverage/lcov-report/button/ButtonUnstyled.tsx.html +0 -214
  238. package/coverage/lcov-report/button/FloatingActionButton.tsx.html +0 -427
  239. package/coverage/lcov-report/button/TooltippedButton.tsx.html +0 -433
  240. package/coverage/lcov-report/button/buttonStyles.ts.html +0 -607
  241. package/coverage/lcov-report/button/buttonUnstyledStyles.ts.html +0 -142
  242. package/coverage/lcov-report/card/Card.tsx.html +0 -349
  243. package/coverage/lcov-report/card/CardContent.tsx.html +0 -223
  244. package/coverage/lcov-report/card/CardHeader.tsx.html +0 -322
  245. package/coverage/lcov-report/card/ClickableCard.tsx.html +0 -400
  246. package/coverage/lcov-report/card/index.html +0 -116
  247. package/coverage/lcov-report/card/styles.ts.html +0 -694
  248. package/coverage/lcov-report/chip/Chip.tsx.html +0 -1072
  249. package/coverage/lcov-report/chip/index.html +0 -116
  250. package/coverage/lcov-report/chip/styles.ts.html +0 -436
  251. package/coverage/lcov-report/collapseStyles.ts.html +0 -184
  252. package/coverage/lcov-report/config.ts.html +0 -151
  253. package/coverage/lcov-report/cssUtils.ts.html +0 -814
  254. package/coverage/lcov-report/dialog/Dialog.tsx.html +0 -1309
  255. package/coverage/lcov-report/dialog/DialogContent.tsx.html +0 -178
  256. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +0 -169
  257. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +0 -148
  258. package/coverage/lcov-report/dialog/DialogTitle.tsx.html +0 -256
  259. package/coverage/lcov-report/dialog/FixedDialog.tsx.html +0 -583
  260. package/coverage/lcov-report/dialog/index.html +0 -131
  261. package/coverage/lcov-report/dialog/styles.ts.html +0 -439
  262. package/coverage/lcov-report/divider/Divider.tsx.html +0 -280
  263. package/coverage/lcov-report/divider/index.html +0 -116
  264. package/coverage/lcov-report/draggable/index.html +0 -116
  265. package/coverage/lcov-report/draggable/useControlledDraggable.ts.html +0 -2131
  266. package/coverage/lcov-report/draggable/useDraggable.ts.html +0 -2398
  267. package/coverage/lcov-report/draggable/useDraggableOrig.ts.html +0 -316
  268. package/coverage/lcov-report/draggable/useLocalStorageDraggable.ts.html +0 -361
  269. package/coverage/lcov-report/draggable/useLocalStorageDraggableControls.ts.html +0 -487
  270. package/coverage/lcov-report/draggable/useLocalStorageDraggableLatest.ts.html +0 -334
  271. package/coverage/lcov-report/draggable/utils.ts.html +0 -808
  272. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +0 -211
  273. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +0 -943
  274. package/coverage/lcov-report/expansion-panel/ExpansionPanelHeader.tsx.html +0 -649
  275. package/coverage/lcov-report/expansion-panel/index.html +0 -146
  276. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +0 -928
  277. package/coverage/lcov-report/filters.ts.html +0 -1045
  278. package/coverage/lcov-report/findMatchIndex.ts.html +0 -385
  279. package/coverage/lcov-report/form/AutoComplete.tsx.html +0 -283
  280. package/coverage/lcov-report/form/FileInput.tsx.html +0 -739
  281. package/coverage/lcov-report/form/Form.tsx.html +0 -238
  282. package/coverage/lcov-report/form/FormMessage.tsx.html +0 -322
  283. package/coverage/lcov-report/form/FormMessageContainer.tsx.html +0 -229
  284. package/coverage/lcov-report/form/InputToggle.tsx.html +0 -1108
  285. package/coverage/lcov-report/form/InputToggleIcon.tsx.html +0 -478
  286. package/coverage/lcov-report/form/Label.tsx.html +0 -442
  287. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +0 -979
  288. package/coverage/lcov-report/form/MenuItemTextField.tsx.html +0 -289
  289. package/coverage/lcov-report/form/NativeSelect.tsx.html +0 -826
  290. package/coverage/lcov-report/form/OptGroup.tsx.html +0 -343
  291. package/coverage/lcov-report/form/Option.tsx.html +0 -727
  292. package/coverage/lcov-report/form/Password.tsx.html +0 -721
  293. package/coverage/lcov-report/form/Radio.tsx.html +0 -169
  294. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +0 -442
  295. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +0 -310
  296. package/coverage/lcov-report/form/Select.tsx.html +0 -1456
  297. package/coverage/lcov-report/form/SelectOriginal.tsx.html +0 -1630
  298. package/coverage/lcov-report/form/SelectV2.tsx.html +0 -1024
  299. package/coverage/lcov-report/form/SelectedOption.tsx.html +0 -250
  300. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +0 -727
  301. package/coverage/lcov-report/form/Slider.tsx.html +0 -2014
  302. package/coverage/lcov-report/form/SliderThumb.tsx.html +0 -1030
  303. package/coverage/lcov-report/form/SliderValueTooltip.tsx.html +0 -319
  304. package/coverage/lcov-report/form/Switch.tsx.html +0 -535
  305. package/coverage/lcov-report/form/SwitchTrack.tsx.html +0 -262
  306. package/coverage/lcov-report/form/TextArea.tsx.html +0 -964
  307. package/coverage/lcov-report/form/TextArea2.tsx.html +0 -985
  308. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +0 -1006
  309. package/coverage/lcov-report/form/TextField.tsx.html +0 -829
  310. package/coverage/lcov-report/form/fileUtils.ts.html +0 -2155
  311. package/coverage/lcov-report/form/formMessageStyles.ts.html +0 -238
  312. package/coverage/lcov-report/form/index.html +0 -146
  313. package/coverage/lcov-report/form/inputToggleStyles.ts.html +0 -316
  314. package/coverage/lcov-report/form/selectUtils.ts.html +0 -397
  315. package/coverage/lcov-report/form/switchStyles.ts.html +0 -172
  316. package/coverage/lcov-report/form/textAreaStyles.ts.html +0 -382
  317. package/coverage/lcov-report/form/useAutoComplete.ts.html +0 -787
  318. package/coverage/lcov-report/form/useCheckboxGroup.ts.html +0 -1087
  319. package/coverage/lcov-report/form/useCombobox-6-13.ts.html +0 -1054
  320. package/coverage/lcov-report/form/useCombobox-6-15.ts.html +0 -1048
  321. package/coverage/lcov-report/form/useCombobox.ts.html +0 -1045
  322. package/coverage/lcov-report/form/useComboboxBoth.ts.html +0 -85
  323. package/coverage/lcov-report/form/useComboboxDialog.ts.html +0 -85
  324. package/coverage/lcov-report/form/useComboboxList.ts.html +0 -418
  325. package/coverage/lcov-report/form/useComboboxOrig.ts.html +0 -781
  326. package/coverage/lcov-report/form/useFileUpload.ts.html +0 -1702
  327. package/coverage/lcov-report/form/useFormReset.ts.html +0 -229
  328. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +0 -379
  329. package/coverage/lcov-report/form/useListboxProvider.ts.html +0 -214
  330. package/coverage/lcov-report/form/useNumberField.ts.html +0 -1561
  331. package/coverage/lcov-report/form/useRadioGroup.ts.html +0 -1009
  332. package/coverage/lcov-report/form/useRangeSlider.ts.html +0 -355
  333. package/coverage/lcov-report/form/useResizingTextArea.ts.html +0 -631
  334. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +0 -631
  335. package/coverage/lcov-report/form/useSelectCombobox.ts.html +0 -499
  336. package/coverage/lcov-report/form/useSlider.ts.html +0 -421
  337. package/coverage/lcov-report/form/useTextField.ts.html +0 -2203
  338. package/coverage/lcov-report/form/utils.ts.html +0 -382
  339. package/coverage/lcov-report/form/validation.ts.html +0 -886
  340. package/coverage/lcov-report/getHrefFromParents.ts.html +0 -133
  341. package/coverage/lcov-report/getListItemHeight.ts.html +0 -298
  342. package/coverage/lcov-report/hoverMode/index.html +0 -116
  343. package/coverage/lcov-report/hoverMode/useHoverMode.ts.html +0 -676
  344. package/coverage/lcov-report/icon/FontIcon.tsx.html +0 -256
  345. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +0 -235
  346. package/coverage/lcov-report/icon/index.html +0 -116
  347. package/coverage/lcov-report/icon/styles.ts.html +0 -586
  348. package/coverage/lcov-report/iconConfig.tsx.html +0 -973
  349. package/coverage/lcov-report/inputToggleStyles.ts.html +0 -316
  350. package/coverage/lcov-report/interaction/ElementInteractionProvider.tsx.html +0 -253
  351. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +0 -679
  352. package/coverage/lcov-report/interaction/config.ts.html +0 -181
  353. package/coverage/lcov-report/interaction/index.html +0 -131
  354. package/coverage/lcov-report/layout/LayoutAppBar.tsx.html +0 -358
  355. package/coverage/lcov-report/layout/LayoutNav.tsx.html +0 -682
  356. package/coverage/lcov-report/layout/LayoutWindowSplitter.tsx.html +0 -460
  357. package/coverage/lcov-report/layout/Main.tsx.html +0 -364
  358. package/coverage/lcov-report/layout/NavigationLink.tsx.html +0 -334
  359. package/coverage/lcov-report/layout/NavigationRail.tsx.html +0 -157
  360. package/coverage/lcov-report/layout/index.html +0 -161
  361. package/coverage/lcov-report/layout/layoutNavStyles.ts.html +0 -166
  362. package/coverage/lcov-report/layout/layoutWindowSplitterStyles.ts.html +0 -220
  363. package/coverage/lcov-report/layout/navigationLinkStyles.ts.html +0 -250
  364. package/coverage/lcov-report/layout/navigationRailStyles.ts.html +0 -148
  365. package/coverage/lcov-report/layout/useExpandableLayout.ts.html +0 -928
  366. package/coverage/lcov-report/layout/useExpandableLayoutAppBarTransition.ts.html +0 -199
  367. package/coverage/lcov-report/layout/useHorizontalLayoutTransition.ts.html +0 -349
  368. package/coverage/lcov-report/layout/useLayoutAppBarHeight.ts.html +0 -343
  369. package/coverage/lcov-report/layout/useLayoutNavigation.ts.html +0 -544
  370. package/coverage/lcov-report/layout/useLayoutTree.ts.html +0 -691
  371. package/coverage/lcov-report/layout/useLayoutWindowSplitter.ts.html +0 -517
  372. package/coverage/lcov-report/layout/useMainTabIndex.ts.html +0 -136
  373. package/coverage/lcov-report/layout/useResizableLayout.ts.html +0 -328
  374. package/coverage/lcov-report/layout/useTemporaryLayout.ts.html +0 -589
  375. package/coverage/lcov-report/link/Link.tsx.html +0 -358
  376. package/coverage/lcov-report/link/LinkProvider.tsx.html +0 -214
  377. package/coverage/lcov-report/link/SkipToMainContent.tsx.html +0 -448
  378. package/coverage/lcov-report/link/index.html +0 -116
  379. package/coverage/lcov-report/list/List.tsx.html +0 -490
  380. package/coverage/lcov-report/list/ListItem.tsx.html +0 -886
  381. package/coverage/lcov-report/list/ListItemAddon.tsx.html +0 -286
  382. package/coverage/lcov-report/list/ListItemChildren.tsx.html +0 -445
  383. package/coverage/lcov-report/list/ListItemLink.tsx.html +0 -616
  384. package/coverage/lcov-report/list/ListItemText.tsx.html +0 -280
  385. package/coverage/lcov-report/list/ListSubheader.tsx.html +0 -322
  386. package/coverage/lcov-report/list/index.html +0 -191
  387. package/coverage/lcov-report/list/listItemStyles.ts.html +0 -703
  388. package/coverage/lcov-report/materialConfig.ts.html +0 -703
  389. package/coverage/lcov-report/media-queries/AppSizeProvider.tsx.html +0 -499
  390. package/coverage/lcov-report/media-queries/appSize.ts.html +0 -445
  391. package/coverage/lcov-report/media-queries/index.html +0 -116
  392. package/coverage/lcov-report/media-queries/useMediaQuery.ts.html +0 -244
  393. package/coverage/lcov-report/media-queries/useMinWidthMediaQuery.ts.html +0 -115
  394. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +0 -976
  395. package/coverage/lcov-report/menu/Menu.tsx.html +0 -1894
  396. package/coverage/lcov-report/menu/MenuConfigurationProvider.tsx.html +0 -637
  397. package/coverage/lcov-report/menu/MenuItem.tsx.html +0 -292
  398. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +0 -433
  399. package/coverage/lcov-report/menu/MenuItemGroup.tsx.html +0 -382
  400. package/coverage/lcov-report/menu/MenuSheet.tsx.html +0 -502
  401. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +0 -370
  402. package/coverage/lcov-report/menu/MenuWidget.tsx.html +0 -634
  403. package/coverage/lcov-report/menu/index.html +0 -116
  404. package/coverage/lcov-report/menu/menuConfig.ts.html +0 -118
  405. package/coverage/lcov-report/menu/useContextMenu.ts.html +0 -490
  406. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +0 -319
  407. package/coverage/lcov-report/movement/index.html +0 -116
  408. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +0 -1723
  409. package/coverage/lcov-report/navigation/CollapsibleNavGroup.tsx.html +0 -334
  410. package/coverage/lcov-report/navigation/DefaultNavigationRenderer.tsx.html +0 -298
  411. package/coverage/lcov-report/navigation/NavGroup.tsx.html +0 -193
  412. package/coverage/lcov-report/navigation/NavItem.tsx.html +0 -160
  413. package/coverage/lcov-report/navigation/NavItemButton.tsx.html +0 -397
  414. package/coverage/lcov-report/navigation/NavItemLink.tsx.html +0 -574
  415. package/coverage/lcov-report/navigation/NavSubheader.tsx.html +0 -184
  416. package/coverage/lcov-report/navigation/Navigation.tsx.html +0 -358
  417. package/coverage/lcov-report/navigation/getHrefFromParents.ts.html +0 -130
  418. package/coverage/lcov-report/navigation/index.html +0 -146
  419. package/coverage/lcov-report/navigation/navGroupStyles.ts.html +0 -148
  420. package/coverage/lcov-report/navigation/navItemStyles.ts.html +0 -298
  421. package/coverage/lcov-report/overlay/Overlay.tsx.html +0 -655
  422. package/coverage/lcov-report/overlay/index.html +0 -116
  423. package/coverage/lcov-report/positioning/constants.ts.html +0 -463
  424. package/coverage/lcov-report/positioning/createVerticalPosition.ts.html +0 -1009
  425. package/coverage/lcov-report/positioning/getFixedPosition.ts.html +0 -616
  426. package/coverage/lcov-report/positioning/index.html +0 -131
  427. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +0 -1321
  428. package/coverage/lcov-report/progress/CircularProgress.tsx.html +0 -799
  429. package/coverage/lcov-report/progress/LinearProgress.tsx.html +0 -658
  430. package/coverage/lcov-report/progress/index.html +0 -116
  431. package/coverage/lcov-report/searching/caseInsensitive.ts.html +0 -685
  432. package/coverage/lcov-report/searching/toSearchQuery.ts.html +0 -145
  433. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +0 -211
  434. package/coverage/lcov-report/searching/utils.ts.html +0 -244
  435. package/coverage/lcov-report/segmented-button/SegmentedButton.tsx.html +0 -628
  436. package/coverage/lcov-report/segmented-button/SegmentedButtonContainer.tsx.html +0 -259
  437. package/coverage/lcov-report/segmented-button/index.html +0 -161
  438. package/coverage/lcov-report/segmented-button/segmentedButtonContainerStyles.ts.html +0 -151
  439. package/coverage/lcov-report/segmented-button/segmentedButtonStyles.ts.html +0 -199
  440. package/coverage/lcov-report/segmentedButtonContainerStyles.ts.html +0 -160
  441. package/coverage/lcov-report/segmentedButtonStyles.ts.html +0 -199
  442. package/coverage/lcov-report/sheet/Sheet.tsx.html +0 -397
  443. package/coverage/lcov-report/sheet/index.html +0 -116
  444. package/coverage/lcov-report/sheet/styles.ts.html +0 -376
  445. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +0 -400
  446. package/coverage/lcov-report/snackbar/DefaultToastRenderer.tsx.html +0 -529
  447. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +0 -610
  448. package/coverage/lcov-report/snackbar/Toast.tsx.html +0 -868
  449. package/coverage/lcov-report/snackbar/ToastContent.tsx.html +0 -364
  450. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +0 -1804
  451. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +0 -400
  452. package/coverage/lcov-report/snackbar/index.html +0 -116
  453. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +0 -139
  454. package/coverage/lcov-report/snackbar/toastContentStyles.ts.html +0 -196
  455. package/coverage/lcov-report/snackbar/toastStyles.ts.html +0 -349
  456. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +0 -226
  457. package/coverage/lcov-report/snackbarStyles.ts.html +0 -139
  458. package/coverage/lcov-report/src/AppSize.tsx.html +0 -247
  459. package/coverage/lcov-report/src/AppSizeProvider.tsx.html +0 -787
  460. package/coverage/lcov-report/src/CoreProviders.tsx.html +0 -412
  461. package/coverage/lcov-report/src/NoSsr.tsx.html +0 -250
  462. package/coverage/lcov-report/src/NullSsrSuspense.tsx.html +0 -223
  463. package/coverage/lcov-report/src/RootHtml.tsx.html +0 -370
  464. package/coverage/lcov-report/src/SsrProvider.tsx.html +0 -211
  465. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +0 -937
  466. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +0 -445
  467. package/coverage/lcov-report/src/app-bar/index.html +0 -131
  468. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +0 -328
  469. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +0 -304
  470. package/coverage/lcov-report/src/autocomplete/index.html +0 -221
  471. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +0 -1039
  472. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +0 -829
  473. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +0 -715
  474. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +0 -454
  475. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +0 -373
  476. package/coverage/lcov-report/src/autocomplete/utils.ts.html +0 -196
  477. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +0 -472
  478. package/coverage/lcov-report/src/avatar/index.html +0 -131
  479. package/coverage/lcov-report/src/avatar/styles.ts.html +0 -268
  480. package/coverage/lcov-report/src/badge/Badge.tsx.html +0 -382
  481. package/coverage/lcov-report/src/badge/index.html +0 -116
  482. package/coverage/lcov-report/src/box/Box.tsx.html +0 -541
  483. package/coverage/lcov-report/src/box/index.html +0 -131
  484. package/coverage/lcov-report/src/box/styles.ts.html +0 -622
  485. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +0 -1045
  486. package/coverage/lcov-report/src/button/Button.tsx.html +0 -688
  487. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +0 -211
  488. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +0 -382
  489. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +0 -445
  490. package/coverage/lcov-report/src/button/buttonStyles.ts.html +0 -607
  491. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +0 -142
  492. package/coverage/lcov-report/src/button/index.html +0 -116
  493. package/coverage/lcov-report/src/card/Card.tsx.html +0 -349
  494. package/coverage/lcov-report/src/card/CardContent.tsx.html +0 -223
  495. package/coverage/lcov-report/src/card/CardFooter.tsx.html +0 -196
  496. package/coverage/lcov-report/src/card/CardHeader.tsx.html +0 -319
  497. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +0 -250
  498. package/coverage/lcov-report/src/card/CardTitle.tsx.html +0 -247
  499. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +0 -400
  500. package/coverage/lcov-report/src/card/index.html +0 -221
  501. package/coverage/lcov-report/src/card/styles.ts.html +0 -694
  502. package/coverage/lcov-report/src/chip/Chip.tsx.html +0 -1102
  503. package/coverage/lcov-report/src/chip/index.html +0 -131
  504. package/coverage/lcov-report/src/chip/styles.ts.html +0 -457
  505. package/coverage/lcov-report/src/cssUtils.ts.html +0 -787
  506. package/coverage/lcov-report/src/delegateEvent.ts.html +0 -619
  507. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +0 -1309
  508. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +0 -175
  509. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +0 -178
  510. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +0 -169
  511. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +0 -148
  512. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +0 -256
  513. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +0 -577
  514. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +0 -127
  515. package/coverage/lcov-report/src/dialog/index.html +0 -236
  516. package/coverage/lcov-report/src/dialog/styles.ts.html +0 -439
  517. package/coverage/lcov-report/src/divider/Divider.tsx.html +0 -274
  518. package/coverage/lcov-report/src/divider/VerticalDivider.tsx.html +0 -235
  519. package/coverage/lcov-report/src/divider/index.html +0 -116
  520. package/coverage/lcov-report/src/divider/styles.ts.html +0 -232
  521. package/coverage/lcov-report/src/divider/useVerticalDividerHeight.ts.html +0 -301
  522. package/coverage/lcov-report/src/draggable/index.html +0 -131
  523. package/coverage/lcov-report/src/draggable/useControlledDraggable.ts.html +0 -2137
  524. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +0 -2398
  525. package/coverage/lcov-report/src/draggable/useDraggableOrig.ts.html +0 -316
  526. package/coverage/lcov-report/src/draggable/useLocalStorageDraggable.ts.html +0 -370
  527. package/coverage/lcov-report/src/draggable/utils.ts.html +0 -808
  528. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +0 -211
  529. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +0 -943
  530. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +0 -649
  531. package/coverage/lcov-report/src/expansion-panel/index.html +0 -176
  532. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +0 -322
  533. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +0 -928
  534. package/coverage/lcov-report/src/focus/index.html +0 -131
  535. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +0 -883
  536. package/coverage/lcov-report/src/focus/utils.ts.html +0 -544
  537. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +0 -283
  538. package/coverage/lcov-report/src/form/Checkbox.tsx.html +0 -160
  539. package/coverage/lcov-report/src/form/Fieldset.tsx.html +0 -355
  540. package/coverage/lcov-report/src/form/FileInput.tsx.html +0 -739
  541. package/coverage/lcov-report/src/form/Form.tsx.html +0 -238
  542. package/coverage/lcov-report/src/form/FormMessage.tsx.html +0 -322
  543. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +0 -223
  544. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +0 -262
  545. package/coverage/lcov-report/src/form/FormThemeProvider.tsx.html +0 -313
  546. package/coverage/lcov-report/src/form/InputToggle.tsx.html +0 -1108
  547. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +0 -478
  548. package/coverage/lcov-report/src/form/Label.tsx.html +0 -439
  549. package/coverage/lcov-report/src/form/Legend.tsx.html +0 -199
  550. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +0 -223
  551. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +0 -424
  552. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +0 -925
  553. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +0 -436
  554. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +0 -211
  555. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +0 -289
  556. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +0 -763
  557. package/coverage/lcov-report/src/form/OptGroup.tsx.html +0 -343
  558. package/coverage/lcov-report/src/form/Option.tsx.html +0 -709
  559. package/coverage/lcov-report/src/form/Password.tsx.html +0 -721
  560. package/coverage/lcov-report/src/form/Radio.tsx.html +0 -172
  561. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +0 -988
  562. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +0 -310
  563. package/coverage/lcov-report/src/form/Select.tsx.html +0 -1411
  564. package/coverage/lcov-report/src/form/SelectValue.tsx.html +0 -202
  565. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +0 -694
  566. package/coverage/lcov-report/src/form/Slider.tsx.html +0 -2008
  567. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +0 -358
  568. package/coverage/lcov-report/src/form/SliderMark.tsx.html +0 -208
  569. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +0 -271
  570. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +0 -1084
  571. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +0 -454
  572. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +0 -745
  573. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +0 -319
  574. package/coverage/lcov-report/src/form/Switch.tsx.html +0 -535
  575. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +0 -262
  576. package/coverage/lcov-report/src/form/TextArea.tsx.html +0 -1006
  577. package/coverage/lcov-report/src/form/TextArea2.tsx.html +0 -985
  578. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +0 -985
  579. package/coverage/lcov-report/src/form/TextField.tsx.html +0 -829
  580. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +0 -382
  581. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +0 -364
  582. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +0 -418
  583. package/coverage/lcov-report/src/form/fileUtils.ts.html +0 -2155
  584. package/coverage/lcov-report/src/form/formConfig.ts.html +0 -157
  585. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +0 -238
  586. package/coverage/lcov-report/src/form/index.html +0 -176
  587. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +0 -316
  588. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +0 -319
  589. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +0 -253
  590. package/coverage/lcov-report/src/form/optionStyles.ts.html +0 -151
  591. package/coverage/lcov-report/src/form/passwordStyles.ts.html +0 -235
  592. package/coverage/lcov-report/src/form/selectStyles.ts.html +0 -181
  593. package/coverage/lcov-report/src/form/selectUtils.ts.html +0 -430
  594. package/coverage/lcov-report/src/form/sliderUtils.ts.html +0 -790
  595. package/coverage/lcov-report/src/form/switchStyles.ts.html +0 -172
  596. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +0 -385
  597. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +0 -184
  598. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +0 -787
  599. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +0 -1087
  600. package/coverage/lcov-report/src/form/useCombobox.ts.html +0 -1540
  601. package/coverage/lcov-report/src/form/useComboboxBoth.ts.html +0 -85
  602. package/coverage/lcov-report/src/form/useComboboxDialog.ts.html +0 -85
  603. package/coverage/lcov-report/src/form/useComboboxList.ts.html +0 -403
  604. package/coverage/lcov-report/src/form/useComboboxOrig.ts.html +0 -781
  605. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +0 -502
  606. package/coverage/lcov-report/src/form/useFileUpload.ts.html +0 -1702
  607. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +0 -109
  608. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +0 -214
  609. package/coverage/lcov-report/src/form/useNumberField.ts.html +0 -1561
  610. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +0 -1021
  611. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +0 -355
  612. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +0 -634
  613. package/coverage/lcov-report/src/form/useResizingTextArea.tsx.html +0 -523
  614. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +0 -295
  615. package/coverage/lcov-report/src/form/useSlider.ts.html +0 -421
  616. package/coverage/lcov-report/src/form/useTextField.ts.html +0 -2203
  617. package/coverage/lcov-report/src/form/utils.ts.html +0 -373
  618. package/coverage/lcov-report/src/form/validation.ts.html +0 -886
  619. package/coverage/lcov-report/src/hoverMode/index.html +0 -131
  620. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +0 -676
  621. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +0 -1018
  622. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +0 -256
  623. package/coverage/lcov-report/src/icon/IconProvider.tsx.html +0 -931
  624. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +0 -322
  625. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +0 -235
  626. package/coverage/lcov-report/src/icon/MaterialIconsProvider.ts.html +0 -154
  627. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +0 -421
  628. package/coverage/lcov-report/src/icon/MaterialSymbolsProvider.tsx.html +0 -757
  629. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +0 -445
  630. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +0 -679
  631. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +0 -973
  632. package/coverage/lcov-report/src/icon/index.html +0 -116
  633. package/coverage/lcov-report/src/icon/material.ts.html +0 -15922
  634. package/coverage/lcov-report/src/icon/materialConfig.ts.html +0 -703
  635. package/coverage/lcov-report/src/icon/styles.ts.html +0 -586
  636. package/coverage/lcov-report/src/index.html +0 -116
  637. package/coverage/lcov-report/src/interaction/ElementInteractionProvider.tsx.html +0 -277
  638. package/coverage/lcov-report/src/interaction/LazyRippleContainer.tsx.html +0 -136
  639. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +0 -283
  640. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +0 -211
  641. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +0 -679
  642. package/coverage/lcov-report/src/interaction/config.ts.html +0 -181
  643. package/coverage/lcov-report/src/interaction/index.html +0 -206
  644. package/coverage/lcov-report/src/interaction/useElementInteraction.ts.html +0 -1474
  645. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +0 -1513
  646. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +0 -355
  647. package/coverage/lcov-report/src/interaction/utils.ts.html +0 -496
  648. package/coverage/lcov-report/src/layout/DefaultLayoutNavigationItemRenderer.tsx.html +0 -169
  649. package/coverage/lcov-report/src/layout/DefaultLayoutNavigationMiniItemRenderer.tsx.html +0 -160
  650. package/coverage/lcov-report/src/layout/Layout.tsx.html +0 -235
  651. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +0 -364
  652. package/coverage/lcov-report/src/layout/LayoutAppBarTitle.tsx.html +0 -193
  653. package/coverage/lcov-report/src/layout/LayoutChildren.tsx.html +0 -718
  654. package/coverage/lcov-report/src/layout/LayoutCloseNavigationButton.tsx.html +0 -265
  655. package/coverage/lcov-report/src/layout/LayoutMain.tsx.html +0 -580
  656. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +0 -688
  657. package/coverage/lcov-report/src/layout/LayoutNavToggle.tsx.html +0 -430
  658. package/coverage/lcov-report/src/layout/LayoutNavigation.tsx.html +0 -445
  659. package/coverage/lcov-report/src/layout/LayoutNavigationHeader.tsx.html +0 -274
  660. package/coverage/lcov-report/src/layout/LayoutProvider.tsx.html +0 -706
  661. package/coverage/lcov-report/src/layout/LayoutTree.tsx.html +0 -331
  662. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +0 -472
  663. package/coverage/lcov-report/src/layout/Main.tsx.html +0 -364
  664. package/coverage/lcov-report/src/layout/MiniLayoutWrapper.tsx.html +0 -541
  665. package/coverage/lcov-report/src/layout/NavigationLink.tsx.html +0 -334
  666. package/coverage/lcov-report/src/layout/NavigationRail.tsx.html +0 -157
  667. package/coverage/lcov-report/src/layout/TemporaryLayout.tsx.html +0 -85
  668. package/coverage/lcov-report/src/layout/constants.ts.html +0 -169
  669. package/coverage/lcov-report/src/layout/index.html +0 -146
  670. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +0 -166
  671. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +0 -220
  672. package/coverage/lcov-report/src/layout/mainStyles.ts.html +0 -217
  673. package/coverage/lcov-report/src/layout/navigationLinkStyles.ts.html +0 -250
  674. package/coverage/lcov-report/src/layout/navigationRailStyles.ts.html +0 -148
  675. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +0 -742
  676. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +0 -349
  677. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +0 -358
  678. package/coverage/lcov-report/src/layout/useLayoutNavigation.ts.html +0 -544
  679. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +0 -691
  680. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +0 -496
  681. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +0 -136
  682. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +0 -535
  683. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +0 -589
  684. package/coverage/lcov-report/src/layout/utils.ts.html +0 -391
  685. package/coverage/lcov-report/src/link/Link.tsx.html +0 -358
  686. package/coverage/lcov-report/src/link/LinkProvider.tsx.html +0 -238
  687. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +0 -448
  688. package/coverage/lcov-report/src/link/index.html +0 -146
  689. package/coverage/lcov-report/src/link/styles.ts.html +0 -238
  690. package/coverage/lcov-report/src/list/List.tsx.html +0 -487
  691. package/coverage/lcov-report/src/list/ListItem.tsx.html +0 -892
  692. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +0 -286
  693. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +0 -445
  694. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +0 -616
  695. package/coverage/lcov-report/src/list/ListItemText.tsx.html +0 -277
  696. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +0 -319
  697. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +0 -298
  698. package/coverage/lcov-report/src/list/index.html +0 -116
  699. package/coverage/lcov-report/src/list/listItemStyles.ts.html +0 -703
  700. package/coverage/lcov-report/src/main-layout/DefaultLayoutNavigationItemRenderer.tsx.html +0 -169
  701. package/coverage/lcov-report/src/main-layout/DefaultLayoutNavigationMiniItemRenderer.tsx.html +0 -160
  702. package/coverage/lcov-report/src/main-layout/Main.tsx.html +0 -298
  703. package/coverage/lcov-report/src/main-layout/MainLayout.tsx.html +0 -619
  704. package/coverage/lcov-report/src/main-layout/MainLayoutAppBar.tsx.html +0 -448
  705. package/coverage/lcov-report/src/main-layout/MainLayoutNavigationButton.tsx.html +0 -295
  706. package/coverage/lcov-report/src/main-layout/MainLayoutTitle.tsx.html +0 -184
  707. package/coverage/lcov-report/src/main-layout/MainNavWindowSplitter.tsx.html +0 -427
  708. package/coverage/lcov-report/src/main-layout/MainNavigation.tsx.html +0 -568
  709. package/coverage/lcov-report/src/main-layout/MainNavigationTree.tsx.html +0 -115
  710. package/coverage/lcov-report/src/main-layout/index.html +0 -296
  711. package/coverage/lcov-report/src/main-layout/useLayoutNavigation.ts.html +0 -727
  712. package/coverage/lcov-report/src/main-layout/useMainLayout.ts.html +0 -523
  713. package/coverage/lcov-report/src/main-layout/useMainLayoutProvider.ts.html +0 -484
  714. package/coverage/lcov-report/src/main-layout-current/DefaultLayoutNavigationItemRenderer.tsx.html +0 -169
  715. package/coverage/lcov-report/src/main-layout-current/DefaultLayoutNavigationMiniItemRenderer.tsx.html +0 -160
  716. package/coverage/lcov-report/src/main-layout-current/Main.tsx.html +0 -265
  717. package/coverage/lcov-report/src/main-layout-current/MainLayout.tsx.html +0 -739
  718. package/coverage/lcov-report/src/main-layout-current/MainLayoutAppBar.tsx.html +0 -352
  719. package/coverage/lcov-report/src/main-layout-current/MainLayoutProvider.ts.html +0 -991
  720. package/coverage/lcov-report/src/main-layout-current/MainLayoutTitle.tsx.html +0 -184
  721. package/coverage/lcov-report/src/main-layout-current/MainNavWindowSplitter.tsx.html +0 -520
  722. package/coverage/lcov-report/src/main-layout-current/MainNavigation.tsx.html +0 -586
  723. package/coverage/lcov-report/src/main-layout-current/NavigationButton.tsx.html +0 -283
  724. package/coverage/lcov-report/src/main-layout-current/index.html +0 -266
  725. package/coverage/lcov-report/src/main-layout-current/useLayoutNavigation.ts.html +0 -727
  726. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +0 -502
  727. package/coverage/lcov-report/src/media-queries/appSize.ts.html +0 -445
  728. package/coverage/lcov-report/src/media-queries/index.html +0 -146
  729. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +0 -244
  730. package/coverage/lcov-report/src/media-queries/useMinWidthMediaQuery.ts.html +0 -115
  731. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +0 -976
  732. package/coverage/lcov-report/src/menu/Menu.tsx.html +0 -1870
  733. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +0 -442
  734. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +0 -490
  735. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +0 -637
  736. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +0 -292
  737. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +0 -580
  738. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +0 -433
  739. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +0 -376
  740. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +0 -226
  741. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +0 -502
  742. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +0 -370
  743. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +0 -631
  744. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +0 -190
  745. package/coverage/lcov-report/src/menu/index.html +0 -116
  746. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +0 -490
  747. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +0 -349
  748. package/coverage/lcov-report/src/menu/utils.ts.html +0 -271
  749. package/coverage/lcov-report/src/movement/constants.ts.html +0 -193
  750. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +0 -385
  751. package/coverage/lcov-report/src/movement/index.html +0 -116
  752. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +0 -1687
  753. package/coverage/lcov-report/src/movement/utils.ts.html +0 -895
  754. package/coverage/lcov-report/src/navigation/CollapsibleNavGroup.tsx.html +0 -367
  755. package/coverage/lcov-report/src/navigation/DefaultNavigationRenderer.tsx.html +0 -325
  756. package/coverage/lcov-report/src/navigation/NavGroup.tsx.html +0 -202
  757. package/coverage/lcov-report/src/navigation/NavItem.tsx.html +0 -172
  758. package/coverage/lcov-report/src/navigation/NavSubheader.tsx.html +0 -193
  759. package/coverage/lcov-report/src/navigation/Navigation.tsx.html +0 -358
  760. package/coverage/lcov-report/src/navigation/index.html +0 -191
  761. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +0 -556
  762. package/coverage/lcov-report/src/overlay/index.html +0 -131
  763. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +0 -340
  764. package/coverage/lcov-report/src/portal/Portal.tsx.html +0 -223
  765. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +0 -367
  766. package/coverage/lcov-report/src/portal/index.html +0 -131
  767. package/coverage/lcov-report/src/positioning/constants.ts.html +0 -463
  768. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +0 -610
  769. package/coverage/lcov-report/src/positioning/index.html +0 -191
  770. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +0 -1339
  771. package/coverage/lcov-report/src/positioning/utils.ts.html +0 -1225
  772. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +0 -799
  773. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +0 -658
  774. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +0 -160
  775. package/coverage/lcov-report/src/progress/index.html +0 -146
  776. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +0 -628
  777. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +0 -385
  778. package/coverage/lcov-report/src/responsive-item/index.html +0 -146
  779. package/coverage/lcov-report/src/responsive-item/styles.ts.html +0 -259
  780. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +0 -133
  781. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +0 -181
  782. package/coverage/lcov-report/src/scroll/index.html +0 -146
  783. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +0 -241
  784. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +0 -619
  785. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +0 -277
  786. package/coverage/lcov-report/src/segmented-button/index.html +0 -161
  787. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +0 -160
  788. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +0 -205
  789. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +0 -397
  790. package/coverage/lcov-report/src/sheet/index.html +0 -131
  791. package/coverage/lcov-report/src/sheet/styles.ts.html +0 -376
  792. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +0 -526
  793. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +0 -628
  794. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +0 -841
  795. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +0 -298
  796. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +0 -349
  797. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +0 -364
  798. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +0 -1786
  799. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +0 -400
  800. package/coverage/lcov-report/src/snackbar/index.html +0 -281
  801. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +0 -214
  802. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +0 -196
  803. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +0 -268
  804. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +0 -226
  805. package/coverage/lcov-report/src/snackbar/useDefaultToastRenderer.ts.html +0 -85
  806. package/coverage/lcov-report/src/snackbar/useDefaultToastRenderer.tsx.html +0 -394
  807. package/coverage/lcov-report/src/snackbar/useRemoveToast.ts.html +0 -169
  808. package/coverage/lcov-report/src/snackbar/useToast.ts.html +0 -184
  809. package/coverage/lcov-report/src/snackbar/useToastRenderer.ts.html +0 -85
  810. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +0 -283
  811. package/coverage/lcov-report/src/suspense/NullSsrSuspense.tsx.html +0 -151
  812. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +0 -202
  813. package/coverage/lcov-report/src/suspense/index.html +0 -131
  814. package/coverage/lcov-report/src/table/Table.tsx.html +0 -457
  815. package/coverage/lcov-report/src/table/TableBody.tsx.html +0 -280
  816. package/coverage/lcov-report/src/table/TableCell.tsx.html +0 -982
  817. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +0 -436
  818. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +0 -715
  819. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +0 -484
  820. package/coverage/lcov-report/src/table/TableContainer.tsx.html +0 -220
  821. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +0 -193
  822. package/coverage/lcov-report/src/table/TableFooter.tsx.html +0 -538
  823. package/coverage/lcov-report/src/table/TableHeader.tsx.html +0 -565
  824. package/coverage/lcov-report/src/table/TableRadio.tsx.html +0 -676
  825. package/coverage/lcov-report/src/table/TableRow.tsx.html +0 -289
  826. package/coverage/lcov-report/src/table/index.html +0 -371
  827. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +0 -334
  828. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +0 -142
  829. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +0 -166
  830. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +0 -172
  831. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +0 -169
  832. package/coverage/lcov-report/src/table/tableStyles.ts.html +0 -157
  833. package/coverage/lcov-report/src/tabs/Tab.tsx.html +0 -622
  834. package/coverage/lcov-report/src/tabs/TabList.tsx.html +0 -796
  835. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +0 -490
  836. package/coverage/lcov-report/src/tabs/index.html +0 -251
  837. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +0 -187
  838. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +0 -226
  839. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +0 -241
  840. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +0 -265
  841. package/coverage/lcov-report/src/tabs/useTabList.ts.html +0 -736
  842. package/coverage/lcov-report/src/tabs/useTabs.ts.html +0 -1567
  843. package/coverage/lcov-report/src/tabs/useTabsOriginal.ts.html +0 -760
  844. package/coverage/lcov-report/src/tabs/utils.ts.html +0 -337
  845. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +0 -235
  846. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +0 -1045
  847. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +0 -112
  848. package/coverage/lcov-report/src/test-utils/drag.ts.html +0 -337
  849. package/coverage/lcov-report/src/test-utils/index.html +0 -116
  850. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +0 -124
  851. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +0 -679
  852. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +0 -109
  853. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +0 -100
  854. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +0 -106
  855. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +0 -100
  856. package/coverage/lcov-report/src/test-utils/polyfills/index.html +0 -176
  857. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +0 -109
  858. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +0 -202
  859. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +0 -112
  860. package/coverage/lcov-report/src/test-utils/render.tsx.html +0 -220
  861. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +0 -85
  862. package/coverage/lcov-report/src/test-utils/timers.ts.html +0 -223
  863. package/coverage/lcov-report/src/test-utils/utils.ts.html +0 -118
  864. package/coverage/lcov-report/src/theme/ColorSchemeProvider.tsx.html +0 -811
  865. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +0 -475
  866. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +0 -1510
  867. package/coverage/lcov-report/src/theme/colors.ts.html +0 -910
  868. package/coverage/lcov-report/src/theme/cssVars.ts.html +0 -130
  869. package/coverage/lcov-report/src/theme/index.html +0 -251
  870. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +0 -622
  871. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +0 -490
  872. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +0 -244
  873. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +0 -433
  874. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +0 -121
  875. package/coverage/lcov-report/src/theme/utils.ts.html +0 -670
  876. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +0 -559
  877. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +0 -409
  878. package/coverage/lcov-report/src/tooltip/constants.ts.html +0 -208
  879. package/coverage/lcov-report/src/tooltip/index.html +0 -206
  880. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +0 -181
  881. package/coverage/lcov-report/src/tooltip/useOverflowTooltip.ts.html +0 -364
  882. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +0 -2095
  883. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +0 -388
  884. package/coverage/lcov-report/src/tooltip/utils.ts.html +0 -238
  885. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +0 -358
  886. package/coverage/lcov-report/src/transition/Collapse.tsx.html +0 -337
  887. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +0 -436
  888. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +0 -328
  889. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +0 -613
  890. package/coverage/lcov-report/src/transition/Slide.tsx.html +0 -367
  891. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +0 -649
  892. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +0 -184
  893. package/coverage/lcov-report/src/transition/config.ts.html +0 -187
  894. package/coverage/lcov-report/src/transition/constants.ts.html +0 -103
  895. package/coverage/lcov-report/src/transition/index.html +0 -416
  896. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +0 -157
  897. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +0 -400
  898. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +0 -766
  899. package/coverage/lcov-report/src/transition/useCarousel.ts.html +0 -835
  900. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +0 -1384
  901. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +0 -469
  902. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +0 -205
  903. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +0 -535
  904. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +0 -958
  905. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +0 -424
  906. package/coverage/lcov-report/src/transition/useTransition.ts.html +0 -943
  907. package/coverage/lcov-report/src/transition/utils.ts.html +0 -529
  908. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +0 -313
  909. package/coverage/lcov-report/src/tree/Tree.tsx.html +0 -1054
  910. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +0 -367
  911. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +0 -1006
  912. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +0 -355
  913. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +0 -679
  914. package/coverage/lcov-report/src/tree/index.html +0 -116
  915. package/coverage/lcov-report/src/tree/styles.ts.html +0 -538
  916. package/coverage/lcov-report/src/tree/useTree.ts.html +0 -289
  917. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +0 -241
  918. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +0 -496
  919. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +0 -700
  920. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +0 -274
  921. package/coverage/lcov-report/src/tree/utils.ts.html +0 -277
  922. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +0 -328
  923. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +0 -403
  924. package/coverage/lcov-report/src/typography/Typography.tsx.html +0 -1027
  925. package/coverage/lcov-report/src/typography/WritingDirection.tsx.html +0 -775
  926. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +0 -781
  927. package/coverage/lcov-report/src/typography/index.html +0 -161
  928. package/coverage/lcov-report/src/useAsyncAction.ts.html +0 -685
  929. package/coverage/lcov-report/src/useDebounced.ts.html +0 -190
  930. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +0 -436
  931. package/coverage/lcov-report/src/useDropzone.ts.html +0 -766
  932. package/coverage/lcov-report/src/useElementSize.ts.html +0 -409
  933. package/coverage/lcov-report/src/useEnsuredId.ts.html +0 -175
  934. package/coverage/lcov-report/src/useEnsuredRef.ts.html +0 -253
  935. package/coverage/lcov-report/src/useEnsuredState.ts.html +0 -235
  936. package/coverage/lcov-report/src/useHtmlClassName.ts.html +0 -142
  937. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +0 -1075
  938. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +0 -130
  939. package/coverage/lcov-report/src/useLocalStorage.ts.html +0 -1852
  940. package/coverage/lcov-report/src/useLocalStorageEvents.ts.html +0 -85
  941. package/coverage/lcov-report/src/useMediaQuery.ts.html +0 -241
  942. package/coverage/lcov-report/src/useMinWidthMediaQuery.ts.html +0 -115
  943. package/coverage/lcov-report/src/useMutationObserver.ts.html +0 -310
  944. package/coverage/lcov-report/src/useOrientation.ts.html +0 -271
  945. package/coverage/lcov-report/src/usePageInactive.ts.html +0 -448
  946. package/coverage/lcov-report/src/useResizeListener.ts.html +0 -391
  947. package/coverage/lcov-report/src/useResizeObserver.ts.html +0 -790
  948. package/coverage/lcov-report/src/useThrottledFunction.ts.html +0 -484
  949. package/coverage/lcov-report/src/useToggle.ts.html +0 -253
  950. package/coverage/lcov-report/src/useUnmounted.ts.html +0 -217
  951. package/coverage/lcov-report/src/useWindowSize.ts.html +0 -460
  952. package/coverage/lcov-report/src/utils/RecursiveRender.tsx.html +0 -253
  953. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +0 -790
  954. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +0 -535
  955. package/coverage/lcov-report/src/utils/applyRef.ts.html +0 -214
  956. package/coverage/lcov-report/src/utils/bem.ts.html +0 -412
  957. package/coverage/lcov-report/src/utils/filters.ts.html +0 -1318
  958. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +0 -226
  959. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +0 -163
  960. package/coverage/lcov-report/src/utils/getPercentage.ts.html +0 -253
  961. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +0 -169
  962. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +0 -157
  963. package/coverage/lcov-report/src/utils/getUseStateSetterValue.ts.html +0 -85
  964. package/coverage/lcov-report/src/utils/identity.ts.html +0 -100
  965. package/coverage/lcov-report/src/utils/index.html +0 -116
  966. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +0 -214
  967. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +0 -118
  968. package/coverage/lcov-report/src/utils/loop.ts.html +0 -262
  969. package/coverage/lcov-report/src/utils/nearest.ts.html +0 -220
  970. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +0 -280
  971. package/coverage/lcov-report/src/utils/randomInt.ts.html +0 -148
  972. package/coverage/lcov-report/src/utils/wait.ts.html +0 -139
  973. package/coverage/lcov-report/src/utils/withinRange.ts.html +0 -184
  974. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +0 -445
  975. package/coverage/lcov-report/src/window-splitter/index.html +0 -131
  976. package/coverage/lcov-report/src/window-splitter/useControlledWindowSplitter.ts.html +0 -562
  977. package/coverage/lcov-report/src/window-splitter/useLocalStorageWindowSplitter.ts.html +0 -331
  978. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +0 -508
  979. package/coverage/lcov-report/src/window-splitter/useWindowSplitterDefault.ts.html +0 -466
  980. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +0 -256
  981. package/coverage/lcov-report/styles.ts.html +0 -457
  982. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +0 -283
  983. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +0 -202
  984. package/coverage/lcov-report/suspense/index.html +0 -131
  985. package/coverage/lcov-report/switchStyles.ts.html +0 -172
  986. package/coverage/lcov-report/tabIndicatorStyles.ts.html +0 -187
  987. package/coverage/lcov-report/tabListScrollButtonStyles.ts.html +0 -226
  988. package/coverage/lcov-report/tabListStyles.ts.html +0 -241
  989. package/coverage/lcov-report/tabStyles.ts.html +0 -265
  990. package/coverage/lcov-report/table/Table.tsx.html +0 -526
  991. package/coverage/lcov-report/table/TableBody.tsx.html +0 -280
  992. package/coverage/lcov-report/table/TableCell.tsx.html +0 -1180
  993. package/coverage/lcov-report/table/TableCheckbox.tsx.html +0 -709
  994. package/coverage/lcov-report/table/TableFooter.tsx.html +0 -508
  995. package/coverage/lcov-report/table/TableHeader.tsx.html +0 -607
  996. package/coverage/lcov-report/table/TableRadio.tsx.html +0 -670
  997. package/coverage/lcov-report/table/TableRow.tsx.html +0 -370
  998. package/coverage/lcov-report/table/index.html +0 -191
  999. package/coverage/lcov-report/tableCellStyles.ts.html +0 -334
  1000. package/coverage/lcov-report/tableContainerStyles.ts.html +0 -142
  1001. package/coverage/lcov-report/tableFooterStyles.ts.html +0 -157
  1002. package/coverage/lcov-report/tableHeaderStyles.ts.html +0 -163
  1003. package/coverage/lcov-report/tableRowStyles.ts.html +0 -169
  1004. package/coverage/lcov-report/tableStyles.ts.html +0 -157
  1005. package/coverage/lcov-report/tabs/Tab.tsx.html +0 -592
  1006. package/coverage/lcov-report/tabs/TabList.tsx.html +0 -796
  1007. package/coverage/lcov-report/tabs/TabListScrollButton.tsx.html +0 -472
  1008. package/coverage/lcov-report/tabs/index.html +0 -206
  1009. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +0 -187
  1010. package/coverage/lcov-report/tabs/tabListStyles.ts.html +0 -241
  1011. package/coverage/lcov-report/tabs/tabStyles.ts.html +0 -253
  1012. package/coverage/lcov-report/tabs/useTabList.ts.html +0 -736
  1013. package/coverage/lcov-report/tabs/useTabs.ts.html +0 -1567
  1014. package/coverage/lcov-report/tabs/utils.ts.html +0 -337
  1015. package/coverage/lcov-report/test-utils/index.html +0 -116
  1016. package/coverage/lcov-report/test-utils/jest-setup.ts.html +0 -124
  1017. package/coverage/lcov-report/test-utils/matchMedia.ts.html +0 -667
  1018. package/coverage/lcov-report/test-utils/polyfills/index.html +0 -116
  1019. package/coverage/lcov-report/test-utils/polyfills/matchMedia.ts.html +0 -109
  1020. package/coverage/lcov-report/test-utils/polyfills/offsetParent.ts.html +0 -202
  1021. package/coverage/lcov-report/test-utils/use.ts.html +0 -187
  1022. package/coverage/lcov-report/theme/ColorSchemeProvider.tsx.html +0 -811
  1023. package/coverage/lcov-report/theme/LocalStorageColorSchemeProvider.tsx.html +0 -268
  1024. package/coverage/lcov-report/theme/ThemeProvider.tsx.html +0 -1453
  1025. package/coverage/lcov-report/theme/cssVars.ts.html +0 -130
  1026. package/coverage/lcov-report/theme/index.html +0 -191
  1027. package/coverage/lcov-report/theme/useColorScheme.ts.html +0 -475
  1028. package/coverage/lcov-report/theme/useColorSchemeMetaTag.ts.html +0 -175
  1029. package/coverage/lcov-report/theme/useColorSchemeProvider.ts.html +0 -244
  1030. package/coverage/lcov-report/theme/usePrefersColorScheme.ts.html +0 -103
  1031. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +0 -559
  1032. package/coverage/lcov-report/tooltip/TooltipHoverModeProvider.tsx.html +0 -409
  1033. package/coverage/lcov-report/tooltip/constants.ts.html +0 -208
  1034. package/coverage/lcov-report/tooltip/index.html +0 -116
  1035. package/coverage/lcov-report/tooltip/tooltipStyles.ts.html +0 -181
  1036. package/coverage/lcov-report/tooltip/useOverflowTooltip.ts.html +0 -364
  1037. package/coverage/lcov-report/tooltip/useTooltip.ts.html +0 -2095
  1038. package/coverage/lcov-report/tooltipStyles.ts.html +0 -181
  1039. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +0 -595
  1040. package/coverage/lcov-report/transition/config.ts.html +0 -187
  1041. package/coverage/lcov-report/transition/index.html +0 -116
  1042. package/coverage/lcov-report/transition/maxWidthTransition.ts.html +0 -157
  1043. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +0 -400
  1044. package/coverage/lcov-report/transition/useMaxWidthTransition.ts.html +0 -199
  1045. package/coverage/lcov-report/transition/useScaleTransition.ts.html +0 -535
  1046. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +0 -952
  1047. package/coverage/lcov-report/transition/useTransition.ts.html +0 -943
  1048. package/coverage/lcov-report/tree/DefaultTreeItemRenderer.tsx.html +0 -301
  1049. package/coverage/lcov-report/tree/Tree.tsx.html +0 -1054
  1050. package/coverage/lcov-report/tree/TreeGroup.tsx.html +0 -370
  1051. package/coverage/lcov-report/tree/TreeItem.tsx.html +0 -1006
  1052. package/coverage/lcov-report/tree/TreeItemExpander.tsx.html +0 -328
  1053. package/coverage/lcov-report/tree/TreeProvider.tsx.html +0 -679
  1054. package/coverage/lcov-report/tree/index.html +0 -116
  1055. package/coverage/lcov-report/tree/styles.ts.html +0 -538
  1056. package/coverage/lcov-report/tree/useTree.ts.html +0 -289
  1057. package/coverage/lcov-report/tree/useTreeExpansion.ts.html +0 -241
  1058. package/coverage/lcov-report/tree/useTreeItems.ts.html +0 -496
  1059. package/coverage/lcov-report/tree/useTreeMovement.ts.html +0 -700
  1060. package/coverage/lcov-report/tree/useTreeSelection.ts.html +0 -274
  1061. package/coverage/lcov-report/tree/utils.ts.html +0 -277
  1062. package/coverage/lcov-report/typography/TextContainer.tsx.html +0 -433
  1063. package/coverage/lcov-report/typography/Typography.tsx.html +0 -1027
  1064. package/coverage/lcov-report/typography/WritingDirection.tsx.html +0 -775
  1065. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +0 -781
  1066. package/coverage/lcov-report/useAutoComplete.ts.html +0 -787
  1067. package/coverage/lcov-report/useCSSTransition.ts.html +0 -763
  1068. package/coverage/lcov-report/useCollapseTransition.ts.html +0 -1384
  1069. package/coverage/lcov-report/useCombobox.ts.html +0 -1513
  1070. package/coverage/lcov-report/useDraggable.ts.html +0 -2458
  1071. package/coverage/lcov-report/useDropzone.ts.html +0 -763
  1072. package/coverage/lcov-report/useEnsuredRef.ts.html +0 -250
  1073. package/coverage/lcov-report/useExpandableLayout.ts.html +0 -802
  1074. package/coverage/lcov-report/useExpansionPanels.ts.html +0 -913
  1075. package/coverage/lcov-report/useHigherContrastChildren.tsx.html +0 -355
  1076. package/coverage/lcov-report/useInlineAutoComplete.ts.html +0 -379
  1077. package/coverage/lcov-report/useLayoutTree.ts.html +0 -691
  1078. package/coverage/lcov-report/useLocalStorage.ts.html +0 -1828
  1079. package/coverage/lcov-report/useMinWidthMediaQuery.ts.html +0 -115
  1080. package/coverage/lcov-report/useMutationObserver.ts.html +0 -310
  1081. package/coverage/lcov-report/useRemoveToast.ts.html +0 -160
  1082. package/coverage/lcov-report/useResizeObserver.ts.html +0 -874
  1083. package/coverage/lcov-report/useResizingTextArea.ts.html +0 -523
  1084. package/coverage/lcov-report/useSelectCombobox.ts.html +0 -295
  1085. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +0 -952
  1086. package/coverage/lcov-report/useTabList.ts.html +0 -736
  1087. package/coverage/lcov-report/useTabs.ts.html +0 -757
  1088. package/coverage/lcov-report/useThrottledFunction.ts.html +0 -475
  1089. package/coverage/lcov-report/useTooltip.ts.html +0 -2041
  1090. package/coverage/lcov-report/useTransition.ts.html +0 -934
  1091. package/coverage/lcov-report/useTree.ts.html +0 -286
  1092. package/coverage/lcov-report/useWindowSplitter.ts.html +0 -640
  1093. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +0 -256
  1094. package/coverage/lcov-report/utils/RecursiveRender.tsx.html +0 -253
  1095. package/coverage/lcov-report/utils/RenderRecursively.tsx.html +0 -688
  1096. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +0 -496
  1097. package/coverage/lcov-report/utils/caseInsensitiveFilter.ts.html +0 -397
  1098. package/coverage/lcov-report/utils/filters.ts.html +0 -1318
  1099. package/coverage/lcov-report/utils/fuzzyFilter.ts.html +0 -241
  1100. package/coverage/lcov-report/utils/index.html +0 -116
  1101. package/coverage/lcov-report/utils/isElementVisible.ts.html +0 -211
  1102. package/coverage/lcov-report/utils/parseCssLengthUnit.ts.html +0 -280
  1103. package/coverage/lcov-report/utils/randomInt.ts.html +0 -148
  1104. package/coverage/lcov-report/utils/searching.ts.html +0 -85
  1105. package/coverage/lcov-report/utils/wait.ts.html +0 -139
  1106. package/coverage/lcov-report/wait.ts.html +0 -139
  1107. package/coverage/lcov-report/window-splitter/WindowSplitter.tsx.html +0 -448
  1108. package/coverage/lcov-report/window-splitter/index.html +0 -116
  1109. package/coverage/lcov-report/window-splitter/useControlledWindowSplitter.ts.html +0 -562
  1110. package/coverage/lcov-report/window-splitter/useLocalStorageWindowSplitter.ts.html +0 -331
  1111. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +0 -640
  1112. package/coverage/lcov-report/window-splitter/useWindowSplitterDefault.ts.html +0 -466
  1113. package/coverage/lcov-report/window-splitter/useWindowSplitterOrig.ts.html +0 -598
  1114. package/dist/useAsyncAction.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ import { useCallback, useState } from "react";
3
+ import { useResizeObserver } from "../useResizeObserver.js";
4
+ import { getFormConfig } from "./formConfig.js";
5
+ /**
6
+ * @since 6.0.0
7
+ * @internal
8
+ */ function useAddonPadding(options) {
9
+ const { ref, addon, theme, extra } = options;
10
+ const [padding, setPadding] = useState();
11
+ const addonRef = useResizeObserver({
12
+ ref,
13
+ onUpdate: useCallback((entry)=>{
14
+ const inlineSize = entry.borderBoxSize[0]?.inlineSize;
15
+ if (typeof inlineSize !== "number") {
16
+ return;
17
+ }
18
+ // the leading space for the extra calc is required
19
+ setPadding(`calc(var(--rmd-text-field-${theme}d-padding) + ${inlineSize}px${extra ? ` ${extra}` : ""})`);
20
+ }, [
21
+ extra,
22
+ theme
23
+ ]),
24
+ disabled: !addon,
25
+ disableHeight: true
26
+ });
27
+ return [
28
+ padding,
29
+ addonRef
30
+ ];
31
+ }
32
+ /**
33
+ * This hook can be used to automatically update the padding on the
34
+ * `TextFieldContainer` based on the size of the `leftAddon` and `rightAddon`.
35
+ *
36
+ * @example Simple Example
37
+ * ```tsx
38
+ * const { style, leftAddonRef, rightAddonRef } = useTextFieldContainerAddons({
39
+ * leftAddon: true,
40
+ * rightAddon: true,
41
+ * });
42
+ *
43
+ * return (
44
+ * <TextField
45
+ * style={style}
46
+ * leftAddon={<SomeDynamicAddon />}
47
+ * leftAddonProps={{ ref: leftAddonRef }}
48
+ * rightAddon={<SomeDynamicAddon />}
49
+ * rightAddonProps={{ ref: rightAddonRef }}
50
+ * />
51
+ * );
52
+ * ```
53
+ *
54
+ * @since 6.0.0
55
+ */ export function useTextFieldContainerAddons(options) {
56
+ const { style: propStyle, theme: propTheme, leftAddon, rightAddon, leftAddonRef: propLeftAddonRef, rightAddonRef: propRightAddonRef, leftAddonExtraCalc = "", rightAddonExtraCalc = "" } = options;
57
+ const theme = getFormConfig("theme", propTheme);
58
+ const [paddingLeft, leftAddonRef] = useAddonPadding({
59
+ ref: propLeftAddonRef,
60
+ theme,
61
+ addon: leftAddon,
62
+ extra: `+ var(--rmd-addon-spacing)${leftAddonExtraCalc ? ` ${leftAddonExtraCalc}` : ""}`
63
+ });
64
+ const [paddingRight, rightAddonRef] = useAddonPadding({
65
+ ref: propRightAddonRef,
66
+ theme,
67
+ addon: rightAddon,
68
+ extra: rightAddonExtraCalc
69
+ });
70
+ let style = propStyle;
71
+ if (typeof paddingLeft === "string" || typeof paddingRight === "string") {
72
+ style = {
73
+ ...propStyle,
74
+ "--rmd-text-field-padding-left": paddingLeft ?? propStyle?.["--rmd-text-field-padding-left"],
75
+ "--rmd-text-field-padding-right": paddingRight ?? propStyle?.["--rmd-text-field-padding-right"]
76
+ };
77
+ }
78
+ return {
79
+ style,
80
+ leftAddonRef,
81
+ rightAddonRef
82
+ };
83
+ }
84
+
85
+ //# sourceMappingURL=useTextFieldContainerAddons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/form/useTextFieldContainerAddons.ts"],"sourcesContent":["\"use client\";\nimport {\n useCallback,\n useState,\n type CSSProperties,\n type Ref,\n type RefCallback,\n} from \"react\";\nimport { useResizeObserver } from \"../useResizeObserver.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { type FormTheme } from \"./types.js\";\n\n/**\n * @since 6.0.0\n * @internal\n */\ninterface AddonPaddingOptions {\n ref?: Ref<HTMLSpanElement>;\n addon: boolean;\n theme: FormTheme;\n extra: string;\n}\n\n/**\n * @since 6.0.0\n * @internal\n */\nfunction useAddonPadding(\n options: AddonPaddingOptions\n): [padding: string | undefined, addonRef: RefCallback<HTMLSpanElement>] {\n const { ref, addon, theme, extra } = options;\n const [padding, setPadding] = useState<string | undefined>();\n const addonRef = useResizeObserver({\n ref,\n onUpdate: useCallback(\n (entry) => {\n const inlineSize = entry.borderBoxSize[0]?.inlineSize;\n if (typeof inlineSize !== \"number\") {\n return;\n }\n\n // the leading space for the extra calc is required\n setPadding(\n `calc(var(--rmd-text-field-${theme}d-padding) + ${inlineSize}px${extra ? ` ${extra}` : \"\"})`\n );\n },\n [extra, theme]\n ),\n disabled: !addon,\n disableHeight: true,\n });\n\n return [padding, addonRef];\n}\n\n/**\n * @since 6.0.0\n */\nexport interface TextFieldContainerAddonsOptions {\n /**\n * This style will automatically be merged with the returned `style`.\n */\n style?: CSSProperties;\n\n /** @defaultValue `getFormConfig(\"theme\")` */\n theme?: FormTheme;\n\n /**\n * Set this to `true` if the `leftAddon` should be watched for size changes.\n */\n leftAddon: boolean;\n\n /**\n * An optional ref that will be merged with the returned\n * {@link TextFieldContainerAddonsImplementation.leftAddonRef}.\n */\n leftAddonRef?: Ref<HTMLSpanElement>;\n\n /**\n * This can be used to update the CSS `calc()` expression to change the\n * padding.\n *\n * @example Add an additional 0.25rem padding\n * ```\n * leftAddonExtraCalc=\"+ 0.25rem\"\n * ```\n *\n * @defaultValue `\"\"`\n */\n leftAddonExtraCalc?: string;\n\n /**\n * Set this to `true` if the `rightAddon` should be watched for size changes.\n */\n rightAddon: boolean;\n\n /**\n * An optional ref that will be merged with the returned\n * {@link TextFieldContainerAddonsImplementation.rightAddonRef}.\n */\n rightAddonRef?: Ref<HTMLSpanElement>;\n\n /**\n * This can be used to update the CSS `calc()` expression to change the\n * padding.\n *\n * @example Add an additional 0.25rem padding\n * ```\n * leftAddonExtraCalc=\"+ 0.25rem\"\n * ```\n *\n * @defaultValue `\"\"`\n */\n rightAddonExtraCalc?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface TextFieldContainerAddonsImplementation {\n style?: CSSProperties;\n leftAddonRef: RefCallback<HTMLSpanElement>;\n rightAddonRef: RefCallback<HTMLSpanElement>;\n}\n\n/**\n * This hook can be used to automatically update the padding on the\n * `TextFieldContainer` based on the size of the `leftAddon` and `rightAddon`.\n *\n * @example Simple Example\n * ```tsx\n * const { style, leftAddonRef, rightAddonRef } = useTextFieldContainerAddons({\n * leftAddon: true,\n * rightAddon: true,\n * });\n *\n * return (\n * <TextField\n * style={style}\n * leftAddon={<SomeDynamicAddon />}\n * leftAddonProps={{ ref: leftAddonRef }}\n * rightAddon={<SomeDynamicAddon />}\n * rightAddonProps={{ ref: rightAddonRef }}\n * />\n * );\n * ```\n *\n * @since 6.0.0\n */\nexport function useTextFieldContainerAddons(\n options: TextFieldContainerAddonsOptions\n): TextFieldContainerAddonsImplementation {\n const {\n style: propStyle,\n theme: propTheme,\n leftAddon,\n rightAddon,\n leftAddonRef: propLeftAddonRef,\n rightAddonRef: propRightAddonRef,\n leftAddonExtraCalc = \"\",\n rightAddonExtraCalc = \"\",\n } = options;\n const theme = getFormConfig(\"theme\", propTheme);\n\n const [paddingLeft, leftAddonRef] = useAddonPadding({\n ref: propLeftAddonRef,\n theme,\n addon: leftAddon,\n extra: `+ var(--rmd-addon-spacing)${leftAddonExtraCalc ? ` ${leftAddonExtraCalc}` : \"\"}`,\n });\n\n const [paddingRight, rightAddonRef] = useAddonPadding({\n ref: propRightAddonRef,\n theme,\n addon: rightAddon,\n extra: rightAddonExtraCalc,\n });\n\n let style = propStyle;\n if (typeof paddingLeft === \"string\" || typeof paddingRight === \"string\") {\n style = {\n ...propStyle,\n \"--rmd-text-field-padding-left\":\n paddingLeft ?? propStyle?.[\"--rmd-text-field-padding-left\"],\n \"--rmd-text-field-padding-right\":\n paddingRight ?? propStyle?.[\"--rmd-text-field-padding-right\"],\n };\n }\n\n return {\n style,\n leftAddonRef,\n rightAddonRef,\n };\n}\n"],"names":["useCallback","useState","useResizeObserver","getFormConfig","useAddonPadding","options","ref","addon","theme","extra","padding","setPadding","addonRef","onUpdate","entry","inlineSize","borderBoxSize","disabled","disableHeight","useTextFieldContainerAddons","style","propStyle","propTheme","leftAddon","rightAddon","leftAddonRef","propLeftAddonRef","rightAddonRef","propRightAddonRef","leftAddonExtraCalc","rightAddonExtraCalc","paddingLeft","paddingRight"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SACEA,WAAW,EACXC,QAAQ,QAIH,QAAQ;AACf,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,aAAa,QAAQ,kBAAkB;AAchD;;;CAGC,GACD,SAASC,gBACPC,OAA4B;IAE5B,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGJ;IACrC,MAAM,CAACK,SAASC,WAAW,GAAGV;IAC9B,MAAMW,WAAWV,kBAAkB;QACjCI;QACAO,UAAUb,YACR,CAACc;YACC,MAAMC,aAAaD,MAAME,aAAa,CAAC,EAAE,EAAED;YAC3C,IAAI,OAAOA,eAAe,UAAU;gBAClC;YACF;YAEA,mDAAmD;YACnDJ,WACE,CAAC,0BAA0B,EAAEH,MAAM,aAAa,EAAEO,WAAW,EAAE,EAAEN,QAAQ,CAAC,CAAC,EAAEA,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QAEhG,GACA;YAACA;YAAOD;SAAM;QAEhBS,UAAU,CAACV;QACXW,eAAe;IACjB;IAEA,OAAO;QAACR;QAASE;KAAS;AAC5B;AAwEA;;;;;;;;;;;;;;;;;;;;;;;CAuBC,GACD,OAAO,SAASO,4BACdd,OAAwC;IAExC,MAAM,EACJe,OAAOC,SAAS,EAChBb,OAAOc,SAAS,EAChBC,SAAS,EACTC,UAAU,EACVC,cAAcC,gBAAgB,EAC9BC,eAAeC,iBAAiB,EAChCC,qBAAqB,EAAE,EACvBC,sBAAsB,EAAE,EACzB,GAAGzB;IACJ,MAAMG,QAAQL,cAAc,SAASmB;IAErC,MAAM,CAACS,aAAaN,aAAa,GAAGrB,gBAAgB;QAClDE,KAAKoB;QACLlB;QACAD,OAAOgB;QACPd,OAAO,CAAC,0BAA0B,EAAEoB,qBAAqB,CAAC,CAAC,EAAEA,mBAAmB,CAAC,GAAG,GAAG,CAAC;IAC1F;IAEA,MAAM,CAACG,cAAcL,cAAc,GAAGvB,gBAAgB;QACpDE,KAAKsB;QACLpB;QACAD,OAAOiB;QACPf,OAAOqB;IACT;IAEA,IAAIV,QAAQC;IACZ,IAAI,OAAOU,gBAAgB,YAAY,OAAOC,iBAAiB,UAAU;QACvEZ,QAAQ;YACN,GAAGC,SAAS;YACZ,iCACEU,eAAeV,WAAW,CAAC,gCAAgC;YAC7D,kCACEW,gBAAgBX,WAAW,CAAC,iCAAiC;QACjE;IACF;IAEA,OAAO;QACLD;QACAK;QACAE;IACF;AACF"}
@@ -9,6 +9,13 @@ export interface ConfigurableIcons {
9
9
  * @defaultValue `<FontIcon>keyboard_arrow_left</FontIcon>`
10
10
  */
11
11
  back?: ReactNode;
12
+ /**
13
+ * The icon to use when clearing content from a text field.
14
+ *
15
+ * @defaultValue `<FontIcon>clear</FontIcon>`
16
+ * @since 6.0.0
17
+ */
18
+ clear?: ReactNode;
12
19
  /**
13
20
  * @defaultValue `<FontIcon>close</FontIcon>`
14
21
  *
@@ -54,6 +54,9 @@ import { FontIcon } from "./FontIcon.js";
54
54
  back: /*#__PURE__*/ _jsx(FontIcon, {
55
55
  children: "keyboard_arrow_left"
56
56
  }),
57
+ clear: /*#__PURE__*/ _jsx(FontIcon, {
58
+ children: "clear"
59
+ }),
57
60
  close: /*#__PURE__*/ _jsx(FontIcon, {
58
61
  children: "close"
59
62
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/icon/iconConfig.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { FontIcon } from \"./FontIcon.js\";\n\n/**\n * @since 5.0.0 The `download` icon has been renamed to `upload`.\n */\nexport interface ConfigurableIcons {\n /**\n * The icon for navigating backwards or closing an item to the left.\n *\n * @defaultValue `<FontIcon>keyboard_arrow_left</FontIcon>`\n */\n back?: ReactNode;\n\n /**\n * @defaultValue `<FontIcon>close</FontIcon>`\n *\n * @since 6.0.0\n */\n close?: ReactNode;\n\n /**\n * The icon to use for unchecked checkboxes.\n *\n * @defaultValue `<FontIcon>check_box_outline_blank</FontIcon>`\n * @since 6.0.0 This icon now represents the unchecked state for\n * checkboxes.\n */\n checkbox?: ReactNode;\n\n /**\n * The icon to use for checked checkboxes.\n *\n * @defaultValue `<FontIcon>check_box</FontIcon>`\n * @since 6.0.0\n */\n checkboxChecked?: ReactNode;\n\n /**\n * The icon to use for indeterminate checkboxes.\n *\n * @defaultValue `<FontIcon>indeterminate_check_box</FontIcon>`\n * @since 6.0.0\n */\n checkboxIndeterminate?: ReactNode;\n\n /**\n * The icon to use for dropdown menus or content that expands vertically in a\n * new material instead of inline like the `expander` icon.\n *\n * @defaultValue `<FontIcon>arrow_drop_down</FontIcon>`\n */\n dropdown?: ReactNode;\n\n /**\n * The icon to use when there are form errors.\n *\n * @since 2.5.0\n * @defaultValue `<FontIcon>error_outline</FontIcon>`\n */\n error?: ReactNode;\n\n /**\n * The icon to use for expanding content vertically.\n *\n * @defaultValue `<FontIcon>keyboard_arrow_down</FontIcon>`\n */\n expander?: ReactNode;\n\n /**\n * The icon for navigating forwards or closing an item to the right. This is\n * also used internally for nested dropdown menus.\n *\n * @defaultValue `<FontIcon>keyboard_arrow_right</FontIcon>`\n */\n forward?: ReactNode;\n\n /**\n * The general to use for displaying a main navigation menu (usually a\n * hamburger menu).\n *\n * @defaultValue `<FontIcon>menu</FontIcon>`\n */\n menu?: ReactNode;\n\n /**\n * The icon for displaying notifications. This is used internally in the\n * `BadgedButton` in the `@react-md/badge` package.\n *\n * @defaultValue `<FontIcon>notifications</FontIcon>`\n */\n notification?: ReactNode;\n\n /**\n * The icon for temporarily displaying a password's field value as plain text.\n *\n * @defaultValue `<FontIcon>remove_red_eye</FontIcon>`\n */\n password?: ReactNode;\n\n /**\n * The icon to use for unchecked radio buttons.\n *\n * @defaultValue `<FontIcon>radio_button_unchecked</FontIcon>`\n * @since 6.0.0 This icon now represents the unchecked state for\n * radios.\n */\n radio?: ReactNode;\n\n /**\n * The icon to use for checked radio buttons.\n *\n * @defaultValue `<FontIcon>radio_button_checked</FontIcon>`\n */\n radioChecked?: ReactNode;\n\n /**\n * The icon to use for showing that something has been selected that is not a\n * radio or checkbox. This is used internally for the `Chip` in the\n * `@react-md/core` package.\n *\n * @defaultValue `<FontIcon>check</FontIcon>`\n */\n selected?: ReactNode;\n\n /**\n * The icon to represent sorting content.\n *\n * @defaultValue `<FontIcon>arrow_upward</FontIcon>`\n */\n sort?: ReactNode;\n\n /**\n * The icon to use for the `FileInput` component (normally file\n * uploads).\n *\n * @since 5.0.0\n * @defaultValue `<FontIcon>file_upload</FontIcon>`\n */\n upload?: ReactNode;\n}\n\nexport type ConfiguredIcons = Required<ConfigurableIcons>;\n\n/**\n * @since 6.0.0\n */\nexport type ConfigurableIconName = keyof ConfigurableIcons;\n\n/**\n * This is a **mutable** object of icons that `react-md` will use for rendering\n * icons within components. The defaults will use the font versions of material\n * icons.\n *\n * @see {@link configureIcons} for a quick way of overriding the configuration\n * or the example below.\n *\n * @example Mutating this object\n * ```tsx\n * import { ICON_CONFIG } from \"@react-md/core\";\n * import ArrowDropDownIcon from \"@react-md/material-icons/ArrowDropDownIcon\";\n * import ArrowUpwardIcon from \"@react-md/material-icons/ArrowUpwardIcon\";\n * import CheckBoxIcon from \"@react-md/material-icons/CheckBoxIcon\";\n * import CheckBoxOutlineBlankIcon from \"@react-md/material-icons/CheckBoxOutlineBlankIcon\";\n * import CheckIcon from \"@react-md/material-icons/CheckIcon\";\n * import CloseIcon from \"@react-md/material-icons/CloseIcon\";\n * import ErrorOutlineIcon from \"@react-md/material-icons/ErrorOutlineIcon\";\n * import FileUploadIcon from \"@react-md/material-icons/FileUploadIcon\";\n * import IndeterminateCheckBoxIcon from \"@react-md/material-icons/IndeterminateCheckBoxIcon\";\n * import KeyboardArrowDownIcon from \"@react-md/material-icons/KeyboardArrowDownIcon\";\n * import KeyboardArrowLeftIcon from \"@react-md/material-icons/KeyboardArrowLeftIcon\";\n * import KeyboardArrowRightIcon from \"@react-md/material-icons/KeyboardArrowRightIcon\";\n * import MenuIcon from \"@react-md/material-icons/MenuIcon\";\n * import NotificationsIcon from \"@react-md/material-icons/NotificationsIcon\";\n * import RadioButtonCheckedIcon from \"@react-md/material-icons/RadioButtonCheckedIcon\";\n * import RadioButtonUncheckedIcon from \"@react-md/material-icons/RadioButtonUncheckedIcon\";\n * import RemoveRedEyeIcon from \"@react-md/material-icons/RemoveRedEyeIcon\";\n *\n * ICON_CONFIG.back = <KeyboardArrowLeftIcon />;\n * ICON_CONFIG.close = <CloseIcon />;\n * ICON_CONFIG.checkbox = <CheckBoxOutlineBlankIcon />;\n * ICON_CONFIG.checkboxChecked = <CheckBoxIcon />;\n * ICON_CONFIG.checkboxIndeterminate = <IndeterminateCheckBoxIcon />;\n * ICON_CONFIG.dropdown = <ArrowDropDownIcon />;\n * ICON_CONFIG.error = <ErrorOutlineIcon />;\n * ICON_CONFIG.expander = <KeyboardArrowDownIcon />;\n * ICON_CONFIG.forward = <KeyboardArrowRightIcon />;\n * ICON_CONFIG.menu = <MenuIcon />;\n * ICON_CONFIG.notification = <NotificationsIcon />;\n * ICON_CONFIG.password = <RemoveRedEyeIcon />;\n * ICON_CONFIG.radio = <RadioButtonUncheckedIcon />;\n * ICON_CONFIG.radioChecked = <RadioButtonCheckedIcon />;\n * ICON_CONFIG.selected = <CheckIcon />;\n * ICON_CONFIG.sort = <ArrowUpwardIcon />;\n * ICON_CONFIG.upload = <FileUploadIcon />;\n * ```\n *\n *\n * @since 6.0.0\n */\nexport const ICON_CONFIG: ConfiguredIcons = {\n back: <FontIcon>keyboard_arrow_left</FontIcon>,\n close: <FontIcon>close</FontIcon>,\n checkbox: <FontIcon>check_box_outline_blank</FontIcon>,\n checkboxChecked: <FontIcon>check_box</FontIcon>,\n checkboxIndeterminate: <FontIcon>indeterminate_check_box</FontIcon>,\n dropdown: <FontIcon>arrow_drop_down</FontIcon>,\n error: <FontIcon>error_outline</FontIcon>,\n expander: <FontIcon>keyboard_arrow_down</FontIcon>,\n forward: <FontIcon>keyboard_arrow_right</FontIcon>,\n menu: <FontIcon>menu</FontIcon>,\n notification: <FontIcon>notifications</FontIcon>,\n password: <FontIcon>remove_red_eye</FontIcon>,\n radio: <FontIcon>radio_button_unchecked</FontIcon>,\n radioChecked: <FontIcon>radio_button_checked</FontIcon>,\n selected: <FontIcon>check</FontIcon>,\n sort: <FontIcon>arrow_upward</FontIcon>,\n upload: <FontIcon>file_upload</FontIcon>,\n};\n\n/**\n * A convenience helper to reconfigure icons within `react-md`.\n *\n * @example Using SVG Material Icons\n * ```tsx\n * import { configureIcons } from \"@react-md/core\";\n * import ArrowDropDownIcon from \"@react-md/material-icons/ArrowDropDownIcon\";\n * import ArrowUpwardIcon from \"@react-md/material-icons/ArrowUpwardIcon\";\n * import CheckBoxIcon from \"@react-md/material-icons/CheckBoxIcon\";\n * import CheckBoxOutlineBlankIcon from \"@react-md/material-icons/CheckBoxOutlineBlankIcon\";\n * import CheckIcon from \"@react-md/material-icons/CheckIcon\";\n * import CloseIcon from \"@react-md/material-icons/CloseIcon\";\n * import ErrorOutlineIcon from \"@react-md/material-icons/ErrorOutlineIcon\";\n * import FileUploadIcon from \"@react-md/material-icons/FileUploadIcon\";\n * import IndeterminateCheckBoxIcon from \"@react-md/material-icons/IndeterminateCheckBoxIcon\";\n * import KeyboardArrowDownIcon from \"@react-md/material-icons/KeyboardArrowDownIcon\";\n * import KeyboardArrowLeftIcon from \"@react-md/material-icons/KeyboardArrowLeftIcon\";\n * import KeyboardArrowRightIcon from \"@react-md/material-icons/KeyboardArrowRightIcon\";\n * import MenuIcon from \"@react-md/material-icons/MenuIcon\";\n * import NotificationsIcon from \"@react-md/material-icons/NotificationsIcon\";\n * import RadioButtonCheckedIcon from \"@react-md/material-icons/RadioButtonCheckedIcon\";\n * import RadioButtonUncheckedIcon from \"@react-md/material-icons/RadioButtonUncheckedIcon\";\n * import RemoveRedEyeIcon from \"@react-md/material-icons/RemoveRedEyeIcon\";\n *\n * configureIcons({\n * back: <KeyboardArrowLeftIcon />,\n * close: <CloseIcon />,\n * checkbox: <CheckBoxOutlineBlankIcon />,\n * checkboxChecked: <CheckBoxIcon />,\n * checkboxIndeterminate: <IndeterminateCheckBoxIcon />,\n * dropdown: <ArrowDropDownIcon />,\n * error: <ErrorOutlineIcon />,\n * expander: <KeyboardArrowDownIcon />,\n * forward: <KeyboardArrowRightIcon />,\n * menu: <MenuIcon />,\n * notification: <NotificationsIcon />,\n * password: <RemoveRedEyeIcon />,\n * radio: <RadioButtonUncheckedIcon />,\n * radioChecked: <RadioButtonCheckedIcon />,\n * selected: <CheckIcon />,\n * sort: <ArrowUpwardIcon />,\n * upload: <FileUploadIcon />,\n * });\n * ```\n *\n * @since 6.0.0\n */\nexport function configureIcons(overrides: ConfiguredIcons): void {\n Object.entries(overrides).forEach(([name, value]) => {\n if (process.env.NODE_ENV !== \"production\" && !(name in ICON_CONFIG)) {\n throw new Error(`${name} is an invalid react-md icon name.`);\n }\n\n ICON_CONFIG[name as keyof ConfiguredIcons] = value;\n });\n}\n\n/**\n * This is mostly an internal helper to get a specific icon by name and allowing\n * a custom prop to override this behavior. The main benefit of this function is\n * that icons can be removed if the override is set to `null`.\n *\n * @since 6.0.0\n */\nexport function getIcon(\n name: ConfigurableIconName,\n override?: ReactNode\n): ReactNode {\n if (typeof override !== \"undefined\") {\n return override;\n }\n\n return ICON_CONFIG[name];\n}\n"],"names":["FontIcon","ICON_CONFIG","back","close","checkbox","checkboxChecked","checkboxIndeterminate","dropdown","error","expander","forward","menu","notification","password","radio","radioChecked","selected","sort","upload","configureIcons","overrides","Object","entries","forEach","name","value","process","env","NODE_ENV","Error","getIcon","override"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AACA,SAASA,QAAQ,QAAQ,gBAAgB;AAoJzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDC,GACD,OAAO,MAAMC,cAA+B;IAC1CC,oBAAM,KAACF;kBAAS;;IAChBG,qBAAO,KAACH;kBAAS;;IACjBI,wBAAU,KAACJ;kBAAS;;IACpBK,+BAAiB,KAACL;kBAAS;;IAC3BM,qCAAuB,KAACN;kBAAS;;IACjCO,wBAAU,KAACP;kBAAS;;IACpBQ,qBAAO,KAACR;kBAAS;;IACjBS,wBAAU,KAACT;kBAAS;;IACpBU,uBAAS,KAACV;kBAAS;;IACnBW,oBAAM,KAACX;kBAAS;;IAChBY,4BAAc,KAACZ;kBAAS;;IACxBa,wBAAU,KAACb;kBAAS;;IACpBc,qBAAO,KAACd;kBAAS;;IACjBe,4BAAc,KAACf;kBAAS;;IACxBgB,wBAAU,KAAChB;kBAAS;;IACpBiB,oBAAM,KAACjB;kBAAS;;IAChBkB,sBAAQ,KAAClB;kBAAS;;AACpB,EAAE;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CC,GACD,OAAO,SAASmB,eAAeC,SAA0B;IACvDC,OAAOC,OAAO,CAACF,WAAWG,OAAO,CAAC,CAAC,CAACC,MAAMC,MAAM;QAC9C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBAAgB,CAAEJ,CAAAA,QAAQvB,WAAU,GAAI;YACnE,MAAM,IAAI4B,MAAM,CAAC,EAAEL,KAAK,kCAAkC,CAAC;QAC7D;QAEAvB,WAAW,CAACuB,KAA8B,GAAGC;IAC/C;AACF;AAEA;;;;;;CAMC,GACD,OAAO,SAASK,QACdN,IAA0B,EAC1BO,QAAoB;IAEpB,IAAI,OAAOA,aAAa,aAAa;QACnC,OAAOA;IACT;IAEA,OAAO9B,WAAW,CAACuB,KAAK;AAC1B"}
1
+ {"version":3,"sources":["../../src/icon/iconConfig.tsx"],"sourcesContent":["import { type ReactNode } from \"react\";\nimport { FontIcon } from \"./FontIcon.js\";\n\n/**\n * @since 5.0.0 The `download` icon has been renamed to `upload`.\n */\nexport interface ConfigurableIcons {\n /**\n * The icon for navigating backwards or closing an item to the left.\n *\n * @defaultValue `<FontIcon>keyboard_arrow_left</FontIcon>`\n */\n back?: ReactNode;\n\n /**\n * The icon to use when clearing content from a text field.\n *\n * @defaultValue `<FontIcon>clear</FontIcon>`\n * @since 6.0.0\n */\n clear?: ReactNode;\n\n /**\n * @defaultValue `<FontIcon>close</FontIcon>`\n *\n * @since 6.0.0\n */\n close?: ReactNode;\n\n /**\n * The icon to use for unchecked checkboxes.\n *\n * @defaultValue `<FontIcon>check_box_outline_blank</FontIcon>`\n * @since 6.0.0 This icon now represents the unchecked state for\n * checkboxes.\n */\n checkbox?: ReactNode;\n\n /**\n * The icon to use for checked checkboxes.\n *\n * @defaultValue `<FontIcon>check_box</FontIcon>`\n * @since 6.0.0\n */\n checkboxChecked?: ReactNode;\n\n /**\n * The icon to use for indeterminate checkboxes.\n *\n * @defaultValue `<FontIcon>indeterminate_check_box</FontIcon>`\n * @since 6.0.0\n */\n checkboxIndeterminate?: ReactNode;\n\n /**\n * The icon to use for dropdown menus or content that expands vertically in a\n * new material instead of inline like the `expander` icon.\n *\n * @defaultValue `<FontIcon>arrow_drop_down</FontIcon>`\n */\n dropdown?: ReactNode;\n\n /**\n * The icon to use when there are form errors.\n *\n * @since 2.5.0\n * @defaultValue `<FontIcon>error_outline</FontIcon>`\n */\n error?: ReactNode;\n\n /**\n * The icon to use for expanding content vertically.\n *\n * @defaultValue `<FontIcon>keyboard_arrow_down</FontIcon>`\n */\n expander?: ReactNode;\n\n /**\n * The icon for navigating forwards or closing an item to the right. This is\n * also used internally for nested dropdown menus.\n *\n * @defaultValue `<FontIcon>keyboard_arrow_right</FontIcon>`\n */\n forward?: ReactNode;\n\n /**\n * The general to use for displaying a main navigation menu (usually a\n * hamburger menu).\n *\n * @defaultValue `<FontIcon>menu</FontIcon>`\n */\n menu?: ReactNode;\n\n /**\n * The icon for displaying notifications. This is used internally in the\n * `BadgedButton` in the `@react-md/badge` package.\n *\n * @defaultValue `<FontIcon>notifications</FontIcon>`\n */\n notification?: ReactNode;\n\n /**\n * The icon for temporarily displaying a password's field value as plain text.\n *\n * @defaultValue `<FontIcon>remove_red_eye</FontIcon>`\n */\n password?: ReactNode;\n\n /**\n * The icon to use for unchecked radio buttons.\n *\n * @defaultValue `<FontIcon>radio_button_unchecked</FontIcon>`\n * @since 6.0.0 This icon now represents the unchecked state for\n * radios.\n */\n radio?: ReactNode;\n\n /**\n * The icon to use for checked radio buttons.\n *\n * @defaultValue `<FontIcon>radio_button_checked</FontIcon>`\n */\n radioChecked?: ReactNode;\n\n /**\n * The icon to use for showing that something has been selected that is not a\n * radio or checkbox. This is used internally for the `Chip` in the\n * `@react-md/core` package.\n *\n * @defaultValue `<FontIcon>check</FontIcon>`\n */\n selected?: ReactNode;\n\n /**\n * The icon to represent sorting content.\n *\n * @defaultValue `<FontIcon>arrow_upward</FontIcon>`\n */\n sort?: ReactNode;\n\n /**\n * The icon to use for the `FileInput` component (normally file\n * uploads).\n *\n * @since 5.0.0\n * @defaultValue `<FontIcon>file_upload</FontIcon>`\n */\n upload?: ReactNode;\n}\n\nexport type ConfiguredIcons = Required<ConfigurableIcons>;\n\n/**\n * @since 6.0.0\n */\nexport type ConfigurableIconName = keyof ConfigurableIcons;\n\n/**\n * This is a **mutable** object of icons that `react-md` will use for rendering\n * icons within components. The defaults will use the font versions of material\n * icons.\n *\n * @see {@link configureIcons} for a quick way of overriding the configuration\n * or the example below.\n *\n * @example Mutating this object\n * ```tsx\n * import { ICON_CONFIG } from \"@react-md/core\";\n * import ArrowDropDownIcon from \"@react-md/material-icons/ArrowDropDownIcon\";\n * import ArrowUpwardIcon from \"@react-md/material-icons/ArrowUpwardIcon\";\n * import CheckBoxIcon from \"@react-md/material-icons/CheckBoxIcon\";\n * import CheckBoxOutlineBlankIcon from \"@react-md/material-icons/CheckBoxOutlineBlankIcon\";\n * import CheckIcon from \"@react-md/material-icons/CheckIcon\";\n * import CloseIcon from \"@react-md/material-icons/CloseIcon\";\n * import ErrorOutlineIcon from \"@react-md/material-icons/ErrorOutlineIcon\";\n * import FileUploadIcon from \"@react-md/material-icons/FileUploadIcon\";\n * import IndeterminateCheckBoxIcon from \"@react-md/material-icons/IndeterminateCheckBoxIcon\";\n * import KeyboardArrowDownIcon from \"@react-md/material-icons/KeyboardArrowDownIcon\";\n * import KeyboardArrowLeftIcon from \"@react-md/material-icons/KeyboardArrowLeftIcon\";\n * import KeyboardArrowRightIcon from \"@react-md/material-icons/KeyboardArrowRightIcon\";\n * import MenuIcon from \"@react-md/material-icons/MenuIcon\";\n * import NotificationsIcon from \"@react-md/material-icons/NotificationsIcon\";\n * import RadioButtonCheckedIcon from \"@react-md/material-icons/RadioButtonCheckedIcon\";\n * import RadioButtonUncheckedIcon from \"@react-md/material-icons/RadioButtonUncheckedIcon\";\n * import RemoveRedEyeIcon from \"@react-md/material-icons/RemoveRedEyeIcon\";\n *\n * ICON_CONFIG.back = <KeyboardArrowLeftIcon />;\n * ICON_CONFIG.close = <CloseIcon />;\n * ICON_CONFIG.checkbox = <CheckBoxOutlineBlankIcon />;\n * ICON_CONFIG.checkboxChecked = <CheckBoxIcon />;\n * ICON_CONFIG.checkboxIndeterminate = <IndeterminateCheckBoxIcon />;\n * ICON_CONFIG.dropdown = <ArrowDropDownIcon />;\n * ICON_CONFIG.error = <ErrorOutlineIcon />;\n * ICON_CONFIG.expander = <KeyboardArrowDownIcon />;\n * ICON_CONFIG.forward = <KeyboardArrowRightIcon />;\n * ICON_CONFIG.menu = <MenuIcon />;\n * ICON_CONFIG.notification = <NotificationsIcon />;\n * ICON_CONFIG.password = <RemoveRedEyeIcon />;\n * ICON_CONFIG.radio = <RadioButtonUncheckedIcon />;\n * ICON_CONFIG.radioChecked = <RadioButtonCheckedIcon />;\n * ICON_CONFIG.selected = <CheckIcon />;\n * ICON_CONFIG.sort = <ArrowUpwardIcon />;\n * ICON_CONFIG.upload = <FileUploadIcon />;\n * ```\n *\n *\n * @since 6.0.0\n */\nexport const ICON_CONFIG: ConfiguredIcons = {\n back: <FontIcon>keyboard_arrow_left</FontIcon>,\n clear: <FontIcon>clear</FontIcon>,\n close: <FontIcon>close</FontIcon>,\n checkbox: <FontIcon>check_box_outline_blank</FontIcon>,\n checkboxChecked: <FontIcon>check_box</FontIcon>,\n checkboxIndeterminate: <FontIcon>indeterminate_check_box</FontIcon>,\n dropdown: <FontIcon>arrow_drop_down</FontIcon>,\n error: <FontIcon>error_outline</FontIcon>,\n expander: <FontIcon>keyboard_arrow_down</FontIcon>,\n forward: <FontIcon>keyboard_arrow_right</FontIcon>,\n menu: <FontIcon>menu</FontIcon>,\n notification: <FontIcon>notifications</FontIcon>,\n password: <FontIcon>remove_red_eye</FontIcon>,\n radio: <FontIcon>radio_button_unchecked</FontIcon>,\n radioChecked: <FontIcon>radio_button_checked</FontIcon>,\n selected: <FontIcon>check</FontIcon>,\n sort: <FontIcon>arrow_upward</FontIcon>,\n upload: <FontIcon>file_upload</FontIcon>,\n};\n\n/**\n * A convenience helper to reconfigure icons within `react-md`.\n *\n * @example Using SVG Material Icons\n * ```tsx\n * import { configureIcons } from \"@react-md/core\";\n * import ArrowDropDownIcon from \"@react-md/material-icons/ArrowDropDownIcon\";\n * import ArrowUpwardIcon from \"@react-md/material-icons/ArrowUpwardIcon\";\n * import CheckBoxIcon from \"@react-md/material-icons/CheckBoxIcon\";\n * import CheckBoxOutlineBlankIcon from \"@react-md/material-icons/CheckBoxOutlineBlankIcon\";\n * import CheckIcon from \"@react-md/material-icons/CheckIcon\";\n * import CloseIcon from \"@react-md/material-icons/CloseIcon\";\n * import ErrorOutlineIcon from \"@react-md/material-icons/ErrorOutlineIcon\";\n * import FileUploadIcon from \"@react-md/material-icons/FileUploadIcon\";\n * import IndeterminateCheckBoxIcon from \"@react-md/material-icons/IndeterminateCheckBoxIcon\";\n * import KeyboardArrowDownIcon from \"@react-md/material-icons/KeyboardArrowDownIcon\";\n * import KeyboardArrowLeftIcon from \"@react-md/material-icons/KeyboardArrowLeftIcon\";\n * import KeyboardArrowRightIcon from \"@react-md/material-icons/KeyboardArrowRightIcon\";\n * import MenuIcon from \"@react-md/material-icons/MenuIcon\";\n * import NotificationsIcon from \"@react-md/material-icons/NotificationsIcon\";\n * import RadioButtonCheckedIcon from \"@react-md/material-icons/RadioButtonCheckedIcon\";\n * import RadioButtonUncheckedIcon from \"@react-md/material-icons/RadioButtonUncheckedIcon\";\n * import RemoveRedEyeIcon from \"@react-md/material-icons/RemoveRedEyeIcon\";\n *\n * configureIcons({\n * back: <KeyboardArrowLeftIcon />,\n * close: <CloseIcon />,\n * checkbox: <CheckBoxOutlineBlankIcon />,\n * checkboxChecked: <CheckBoxIcon />,\n * checkboxIndeterminate: <IndeterminateCheckBoxIcon />,\n * dropdown: <ArrowDropDownIcon />,\n * error: <ErrorOutlineIcon />,\n * expander: <KeyboardArrowDownIcon />,\n * forward: <KeyboardArrowRightIcon />,\n * menu: <MenuIcon />,\n * notification: <NotificationsIcon />,\n * password: <RemoveRedEyeIcon />,\n * radio: <RadioButtonUncheckedIcon />,\n * radioChecked: <RadioButtonCheckedIcon />,\n * selected: <CheckIcon />,\n * sort: <ArrowUpwardIcon />,\n * upload: <FileUploadIcon />,\n * });\n * ```\n *\n * @since 6.0.0\n */\nexport function configureIcons(overrides: ConfiguredIcons): void {\n Object.entries(overrides).forEach(([name, value]) => {\n if (process.env.NODE_ENV !== \"production\" && !(name in ICON_CONFIG)) {\n throw new Error(`${name} is an invalid react-md icon name.`);\n }\n\n ICON_CONFIG[name as keyof ConfiguredIcons] = value;\n });\n}\n\n/**\n * This is mostly an internal helper to get a specific icon by name and allowing\n * a custom prop to override this behavior. The main benefit of this function is\n * that icons can be removed if the override is set to `null`.\n *\n * @since 6.0.0\n */\nexport function getIcon(\n name: ConfigurableIconName,\n override?: ReactNode\n): ReactNode {\n if (typeof override !== \"undefined\") {\n return override;\n }\n\n return ICON_CONFIG[name];\n}\n"],"names":["FontIcon","ICON_CONFIG","back","clear","close","checkbox","checkboxChecked","checkboxIndeterminate","dropdown","error","expander","forward","menu","notification","password","radio","radioChecked","selected","sort","upload","configureIcons","overrides","Object","entries","forEach","name","value","process","env","NODE_ENV","Error","getIcon","override"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AACA,SAASA,QAAQ,QAAQ,gBAAgB;AA4JzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDC,GACD,OAAO,MAAMC,cAA+B;IAC1CC,oBAAM,KAACF;kBAAS;;IAChBG,qBAAO,KAACH;kBAAS;;IACjBI,qBAAO,KAACJ;kBAAS;;IACjBK,wBAAU,KAACL;kBAAS;;IACpBM,+BAAiB,KAACN;kBAAS;;IAC3BO,qCAAuB,KAACP;kBAAS;;IACjCQ,wBAAU,KAACR;kBAAS;;IACpBS,qBAAO,KAACT;kBAAS;;IACjBU,wBAAU,KAACV;kBAAS;;IACpBW,uBAAS,KAACX;kBAAS;;IACnBY,oBAAM,KAACZ;kBAAS;;IAChBa,4BAAc,KAACb;kBAAS;;IACxBc,wBAAU,KAACd;kBAAS;;IACpBe,qBAAO,KAACf;kBAAS;;IACjBgB,4BAAc,KAAChB;kBAAS;;IACxBiB,wBAAU,KAACjB;kBAAS;;IACpBkB,oBAAM,KAAClB;kBAAS;;IAChBmB,sBAAQ,KAACnB;kBAAS;;AACpB,EAAE;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CC,GACD,OAAO,SAASoB,eAAeC,SAA0B;IACvDC,OAAOC,OAAO,CAACF,WAAWG,OAAO,CAAC,CAAC,CAACC,MAAMC,MAAM;QAC9C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBAAgB,CAAEJ,CAAAA,QAAQxB,WAAU,GAAI;YACnE,MAAM,IAAI6B,MAAM,CAAC,EAAEL,KAAK,kCAAkC,CAAC;QAC7D;QAEAxB,WAAW,CAACwB,KAA8B,GAAGC;IAC/C;AACF;AAEA;;;;;;CAMC,GACD,OAAO,SAASK,QACdN,IAA0B,EAC1BO,QAAoB;IAEpB,IAAI,OAAOA,aAAa,aAAa;QACnC,OAAOA;IACT;IAEA,OAAO/B,WAAW,CAACwB,KAAK;AAC1B"}
@@ -25,11 +25,11 @@ export interface MenuItemCircularProgressProps extends CircularProgressProps {
25
25
  * DropdownMenu,
26
26
  * MenuItem,
27
27
  * MenuItemCircularProgress,
28
- * useAsyncAction,
28
+ * useAsyncFunction,
29
29
  * } from "@react-md/core";
30
30
  *
31
31
  * function Example() {
32
- * const { handleAsync, pending } = useAsyncAction();
32
+ * const { handleAsync, pending } = useAsyncFunction();
33
33
  * const [visible, setVisible] = useState(false);
34
34
  *
35
35
  * return (
@@ -12,11 +12,11 @@ import { CircularProgress } from "../progress/CircularProgress.js";
12
12
  * DropdownMenu,
13
13
  * MenuItem,
14
14
  * MenuItemCircularProgress,
15
- * useAsyncAction,
15
+ * useAsyncFunction,
16
16
  * } from "@react-md/core";
17
17
  *
18
18
  * function Example() {
19
- * const { handleAsync, pending } = useAsyncAction();
19
+ * const { handleAsync, pending } = useAsyncFunction();
20
20
  * const [visible, setVisible] = useState(false);
21
21
  *
22
22
  * return (
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/menu/MenuItemCircularProgress.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { ListItemChildren } from \"../list/ListItemChildren.js\";\nimport { listItem } from \"../list/listItemStyles.js\";\nimport {\n type ListItemChildrenProps,\n type ListItemHeight,\n} from \"../list/types.js\";\nimport {\n CircularProgress,\n type CircularProgressProps,\n} from \"../progress/CircularProgress.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface MenuItemCircularProgressProps extends CircularProgressProps {\n /** @defaultValue `\"Loading\"` */\n \"aria-label\"?: string;\n\n /** @defaultValue `\"none\"` */\n role?: string;\n\n /** @defaultValue `true` */\n dense?: boolean;\n\n liProps?: HTMLAttributes<HTMLLIElement>;\n height?: ListItemHeight;\n leftAddon?: ReactNode;\n rightAddon?: ReactNode;\n listItemChildrenProps?: ListItemChildrenProps;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * \"use client\";\n * import {\n * DropdownMenu,\n * MenuItem,\n * MenuItemCircularProgress,\n * useAsyncAction,\n * } from \"@react-md/core\";\n *\n * function Example() {\n * const { handleAsync, pending } = useAsyncAction();\n * const [visible, setVisible] = useState(false);\n *\n * return (\n * <DropdownMenu buttonChildren=\"Options\" visible={visible} setVisible={setVisible}>\n * {pending && <MenuItemCircularProgress />}\n * <MenuItem\n * onClick={handleAsync(async (event) => {\n * // prevent menu from closing until action completes\n * event.stopPropagation()\n *\n * // do something async\n * await ...\n *\n * // close menu once completed\n * setVisible(false)\n * })}\n * >\n * Some Action\n * </MenuItem>\n * </DropdownMenu>\n * )\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const MenuItemCircularProgress = forwardRef<\n HTMLLIElement,\n MenuItemCircularProgressProps\n>(function MenuItemCircularProgress(props, ref) {\n const {\n \"aria-label\": propAriaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n role = \"none\",\n className,\n height,\n leftAddon,\n rightAddon,\n liProps,\n listItemChildrenProps,\n ...remaining\n } = props;\n let ariaLabel = propAriaLabel;\n if (!ariaLabel && !ariaLabelledBy) {\n ariaLabel = \"Loading\";\n }\n\n return (\n <li\n {...liProps}\n ref={ref}\n role={role}\n className={cnb(listItem({ height, className }), liProps?.className)}\n >\n <ListItemChildren\n {...listItemChildrenProps}\n leftAddon={leftAddon}\n rightAddon={rightAddon}\n >\n <CircularProgress\n aria-label={ariaLabel as string}\n aria-labelledby={ariaLabelledBy}\n dense\n {...remaining}\n />\n </ListItemChildren>\n </li>\n );\n});\n"],"names":["cnb","forwardRef","ListItemChildren","listItem","CircularProgress","MenuItemCircularProgress","props","ref","propAriaLabel","ariaLabelledBy","role","className","height","leftAddon","rightAddon","liProps","listItemChildrenProps","remaining","ariaLabel","li","aria-label","aria-labelledby","dense"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6C,QAAQ;AACxE,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,QAAQ,QAAQ,4BAA4B;AAKrD,SACEC,gBAAgB,QAEX,kCAAkC;AAsBzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCC,GACD,OAAO,MAAMC,yCAA2BJ,WAGtC,SAASI,yBAAyBC,KAAK,EAAEC,GAAG;IAC5C,MAAM,EACJ,cAAcC,aAAa,EAC3B,mBAAmBC,cAAc,EACjCC,OAAO,MAAM,EACbC,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,OAAO,EACPC,qBAAqB,EACrB,GAAGC,WACJ,GAAGX;IACJ,IAAIY,YAAYV;IAChB,IAAI,CAACU,aAAa,CAACT,gBAAgB;QACjCS,YAAY;IACd;IAEA,qBACE,KAACC;QACE,GAAGJ,OAAO;QACXR,KAAKA;QACLG,MAAMA;QACNC,WAAWX,IAAIG,SAAS;YAAES;YAAQD;QAAU,IAAII,SAASJ;kBAEzD,cAAA,KAACT;YACE,GAAGc,qBAAqB;YACzBH,WAAWA;YACXC,YAAYA;sBAEZ,cAAA,KAACV;gBACCgB,cAAYF;gBACZG,mBAAiBZ;gBACjBa,KAAK;gBACJ,GAAGL,SAAS;;;;AAKvB,GAAG"}
1
+ {"version":3,"sources":["../../src/menu/MenuItemCircularProgress.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { ListItemChildren } from \"../list/ListItemChildren.js\";\nimport { listItem } from \"../list/listItemStyles.js\";\nimport {\n type ListItemChildrenProps,\n type ListItemHeight,\n} from \"../list/types.js\";\nimport {\n CircularProgress,\n type CircularProgressProps,\n} from \"../progress/CircularProgress.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface MenuItemCircularProgressProps extends CircularProgressProps {\n /** @defaultValue `\"Loading\"` */\n \"aria-label\"?: string;\n\n /** @defaultValue `\"none\"` */\n role?: string;\n\n /** @defaultValue `true` */\n dense?: boolean;\n\n liProps?: HTMLAttributes<HTMLLIElement>;\n height?: ListItemHeight;\n leftAddon?: ReactNode;\n rightAddon?: ReactNode;\n listItemChildrenProps?: ListItemChildrenProps;\n}\n\n/**\n * @example Simple Example\n * ```tsx\n * \"use client\";\n * import {\n * DropdownMenu,\n * MenuItem,\n * MenuItemCircularProgress,\n * useAsyncFunction,\n * } from \"@react-md/core\";\n *\n * function Example() {\n * const { handleAsync, pending } = useAsyncFunction();\n * const [visible, setVisible] = useState(false);\n *\n * return (\n * <DropdownMenu buttonChildren=\"Options\" visible={visible} setVisible={setVisible}>\n * {pending && <MenuItemCircularProgress />}\n * <MenuItem\n * onClick={handleAsync(async (event) => {\n * // prevent menu from closing until action completes\n * event.stopPropagation()\n *\n * // do something async\n * await ...\n *\n * // close menu once completed\n * setVisible(false)\n * })}\n * >\n * Some Action\n * </MenuItem>\n * </DropdownMenu>\n * )\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const MenuItemCircularProgress = forwardRef<\n HTMLLIElement,\n MenuItemCircularProgressProps\n>(function MenuItemCircularProgress(props, ref) {\n const {\n \"aria-label\": propAriaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n role = \"none\",\n className,\n height,\n leftAddon,\n rightAddon,\n liProps,\n listItemChildrenProps,\n ...remaining\n } = props;\n let ariaLabel = propAriaLabel;\n if (!ariaLabel && !ariaLabelledBy) {\n ariaLabel = \"Loading\";\n }\n\n return (\n <li\n {...liProps}\n ref={ref}\n role={role}\n className={cnb(listItem({ height, className }), liProps?.className)}\n >\n <ListItemChildren\n {...listItemChildrenProps}\n leftAddon={leftAddon}\n rightAddon={rightAddon}\n >\n <CircularProgress\n aria-label={ariaLabel as string}\n aria-labelledby={ariaLabelledBy}\n dense\n {...remaining}\n />\n </ListItemChildren>\n </li>\n );\n});\n"],"names":["cnb","forwardRef","ListItemChildren","listItem","CircularProgress","MenuItemCircularProgress","props","ref","propAriaLabel","ariaLabelledBy","role","className","height","leftAddon","rightAddon","liProps","listItemChildrenProps","remaining","ariaLabel","li","aria-label","aria-labelledby","dense"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6C,QAAQ;AACxE,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,QAAQ,QAAQ,4BAA4B;AAKrD,SACEC,gBAAgB,QAEX,kCAAkC;AAsBzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCC,GACD,OAAO,MAAMC,yCAA2BJ,WAGtC,SAASI,yBAAyBC,KAAK,EAAEC,GAAG;IAC5C,MAAM,EACJ,cAAcC,aAAa,EAC3B,mBAAmBC,cAAc,EACjCC,OAAO,MAAM,EACbC,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,OAAO,EACPC,qBAAqB,EACrB,GAAGC,WACJ,GAAGX;IACJ,IAAIY,YAAYV;IAChB,IAAI,CAACU,aAAa,CAACT,gBAAgB;QACjCS,YAAY;IACd;IAEA,qBACE,KAACC;QACE,GAAGJ,OAAO;QACXR,KAAKA;QACLG,MAAMA;QACNC,WAAWX,IAAIG,SAAS;YAAES;YAAQD;QAAU,IAAII,SAASJ;kBAEzD,cAAA,KAACT;YACE,GAAGc,qBAAqB;YACzBH,WAAWA;YACXC,YAAYA;sBAEZ,cAAA,KAACV;gBACCgB,cAAYF;gBACZG,mBAAiBZ;gBACjBa,KAAK;gBACJ,GAAGL,SAAS;;;;AAKvB,GAAG"}
@@ -1,4 +1,4 @@
1
- import type { PositionAnchor } from "./types.js";
1
+ import { type PositionAnchor } from "./types.js";
2
2
  export declare const ABOVE_LEFT_ANCHOR: PositionAnchor;
3
3
  export declare const ABOVE_INNER_LEFT_ANCHOR: PositionAnchor;
4
4
  export declare const ABOVE_CENTER_ANCHOR: PositionAnchor;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/positioning/constants.ts"],"sourcesContent":["import type { PositionAnchor } from \"./types.js\";\n\nexport const ABOVE_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"above\",\n};\n\nexport const ABOVE_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"above\",\n};\n\nexport const ABOVE_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"above\",\n};\n\nexport const ABOVE_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"above\",\n};\n\nexport const ABOVE_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"above\",\n};\n\nexport const TOP_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"top\",\n};\n\nexport const TOP_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"top\",\n};\n\nexport const TOP_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"top\",\n};\n\nexport const TOP_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"top\",\n};\n\nexport const TOP_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"top\",\n};\n\nexport const CENTER_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"center\",\n};\n\nexport const CENTER_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"center\",\n};\n\nexport const CENTER_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"center\",\n};\n\nexport const CENTER_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"center\",\n};\n\nexport const CENTER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"center\",\n};\n\nexport const BOTTOM_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"bottom\",\n};\n\nexport const BELOW_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"below\",\n};\n\nexport const BELOW_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"below\",\n};\n\nexport const BELOW_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"below\",\n};\n\nexport const BELOW_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"below\",\n};\n\nexport const BELOW_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"below\",\n};\n"],"names":["ABOVE_LEFT_ANCHOR","x","y","ABOVE_INNER_LEFT_ANCHOR","ABOVE_CENTER_ANCHOR","ABOVE_INNER_RIGHT_ANCHOR","ABOVE_RIGHT_ANCHOR","TOP_LEFT_ANCHOR","TOP_INNER_LEFT_ANCHOR","TOP_CENTER_ANCHOR","TOP_INNER_RIGHT_ANCHOR","TOP_RIGHT_ANCHOR","CENTER_LEFT_ANCHOR","CENTER_INNER_LEFT_ANCHOR","CENTER_CENTER_ANCHOR","CENTER_INNER_RIGHT_ANCHOR","CENTER_RIGHT_ANCHOR","BOTTOM_LEFT_ANCHOR","BOTTOM_INNER_LEFT_ANCHOR","BOTTOM_CENTER_ANCHOR","BOTTOM_INNER_RIGHT_ANCHOR","BOTTOM_RIGHT_ANCHOR","BELOW_LEFT_ANCHOR","BELOW_INNER_LEFT_ANCHOR","BELOW_CENTER_ANCHOR","BELOW_INNER_RIGHT_ANCHOR","BELOW_RIGHT_ANCHOR"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,oBAAoC;IAC/CC,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMC,0BAA0C;IACrDF,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAME,sBAAsC;IACjDH,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMG,2BAA2C;IACtDJ,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMI,qBAAqC;IAChDL,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMK,kBAAkC;IAC7CN,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMM,wBAAwC;IACnDP,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMO,oBAAoC;IAC/CR,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMQ,yBAAyC;IACpDT,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMS,mBAAmC;IAC9CV,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMU,qBAAqC;IAChDX,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMW,2BAA2C;IACtDZ,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMY,uBAAuC;IAClDb,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMa,4BAA4C;IACvDd,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMc,sBAAsC;IACjDf,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMe,qBAAqC;IAChDhB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMgB,2BAA2C;IACtDjB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMiB,uBAAuC;IAClDlB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMkB,4BAA4C;IACvDnB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMmB,sBAAsC;IACjDpB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMoB,oBAAoC;IAC/CrB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMqB,0BAA0C;IACrDtB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMsB,sBAAsC;IACjDvB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMuB,2BAA2C;IACtDxB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMwB,qBAAqC;IAChDzB,GAAG;IACHC,GAAG;AACL,EAAE"}
1
+ {"version":3,"sources":["../../src/positioning/constants.ts"],"sourcesContent":["import { type PositionAnchor } from \"./types.js\";\n\nexport const ABOVE_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"above\",\n};\n\nexport const ABOVE_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"above\",\n};\n\nexport const ABOVE_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"above\",\n};\n\nexport const ABOVE_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"above\",\n};\n\nexport const ABOVE_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"above\",\n};\n\nexport const TOP_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"top\",\n};\n\nexport const TOP_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"top\",\n};\n\nexport const TOP_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"top\",\n};\n\nexport const TOP_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"top\",\n};\n\nexport const TOP_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"top\",\n};\n\nexport const CENTER_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"center\",\n};\n\nexport const CENTER_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"center\",\n};\n\nexport const CENTER_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"center\",\n};\n\nexport const CENTER_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"center\",\n};\n\nexport const CENTER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"center\",\n};\n\nexport const BOTTOM_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"bottom\",\n};\n\nexport const BOTTOM_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"bottom\",\n};\n\nexport const BELOW_LEFT_ANCHOR: PositionAnchor = {\n x: \"left\",\n y: \"below\",\n};\n\nexport const BELOW_INNER_LEFT_ANCHOR: PositionAnchor = {\n x: \"inner-left\",\n y: \"below\",\n};\n\nexport const BELOW_CENTER_ANCHOR: PositionAnchor = {\n x: \"center\",\n y: \"below\",\n};\n\nexport const BELOW_INNER_RIGHT_ANCHOR: PositionAnchor = {\n x: \"inner-right\",\n y: \"below\",\n};\n\nexport const BELOW_RIGHT_ANCHOR: PositionAnchor = {\n x: \"right\",\n y: \"below\",\n};\n"],"names":["ABOVE_LEFT_ANCHOR","x","y","ABOVE_INNER_LEFT_ANCHOR","ABOVE_CENTER_ANCHOR","ABOVE_INNER_RIGHT_ANCHOR","ABOVE_RIGHT_ANCHOR","TOP_LEFT_ANCHOR","TOP_INNER_LEFT_ANCHOR","TOP_CENTER_ANCHOR","TOP_INNER_RIGHT_ANCHOR","TOP_RIGHT_ANCHOR","CENTER_LEFT_ANCHOR","CENTER_INNER_LEFT_ANCHOR","CENTER_CENTER_ANCHOR","CENTER_INNER_RIGHT_ANCHOR","CENTER_RIGHT_ANCHOR","BOTTOM_LEFT_ANCHOR","BOTTOM_INNER_LEFT_ANCHOR","BOTTOM_CENTER_ANCHOR","BOTTOM_INNER_RIGHT_ANCHOR","BOTTOM_RIGHT_ANCHOR","BELOW_LEFT_ANCHOR","BELOW_INNER_LEFT_ANCHOR","BELOW_CENTER_ANCHOR","BELOW_INNER_RIGHT_ANCHOR","BELOW_RIGHT_ANCHOR"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,oBAAoC;IAC/CC,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMC,0BAA0C;IACrDF,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAME,sBAAsC;IACjDH,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMG,2BAA2C;IACtDJ,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMI,qBAAqC;IAChDL,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMK,kBAAkC;IAC7CN,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMM,wBAAwC;IACnDP,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMO,oBAAoC;IAC/CR,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMQ,yBAAyC;IACpDT,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMS,mBAAmC;IAC9CV,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMU,qBAAqC;IAChDX,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMW,2BAA2C;IACtDZ,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMY,uBAAuC;IAClDb,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMa,4BAA4C;IACvDd,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMc,sBAAsC;IACjDf,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMe,qBAAqC;IAChDhB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMgB,2BAA2C;IACtDjB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMiB,uBAAuC;IAClDlB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMkB,4BAA4C;IACvDnB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMmB,sBAAsC;IACjDpB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMoB,oBAAoC;IAC/CrB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMqB,0BAA0C;IACrDtB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMsB,sBAAsC;IACjDvB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMuB,2BAA2C;IACtDxB,GAAG;IACHC,GAAG;AACL,EAAE;AAEF,OAAO,MAAMwB,qBAAqC;IAChDzB,GAAG;IACHC,GAAG;AACL,EAAE"}
@@ -1,5 +1,5 @@
1
- import type { XCoordConfig } from "./utils.js";
2
- import type { FixedPositionOptions, HorizontalPosition } from "./types.js";
1
+ import { type FixedPositionOptions, type HorizontalPosition } from "./types.js";
2
+ import { type XCoordConfig } from "./utils.js";
3
3
  /**
4
4
  * @internal
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/positioning/createHorizontalPosition.ts"],"sourcesContent":["import type { XCoordConfig } from \"./utils.js\";\nimport {\n getCenterXCoord,\n getInnerLeftCoord,\n getInnerRightCoord,\n getLeftCoord,\n getRightCoord,\n} from \"./utils.js\";\nimport type { FixedPositionOptions, HorizontalPosition } from \"./types.js\";\n\n/**\n * @internal\n */\ninterface XPosition {\n left: number;\n right?: number;\n width?: number;\n minWidth?: number;\n actualX: HorizontalPosition;\n}\n\n/**\n * @internal\n */\nexport interface FixConfig extends XCoordConfig {\n vwMargin: number;\n screenRight: number;\n disableSwapping: boolean;\n}\n\n/**\n * @internal\n */\nexport interface CreateHorizontalPositionOptions\n extends Required<\n Pick<\n FixedPositionOptions,\n \"vwMargin\" | \"xMargin\" | \"width\" | \"disableSwapping\"\n >\n > {\n x: HorizontalPosition;\n vw: number;\n elWidth: number;\n initialX?: number;\n containerRect: DOMRect;\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the left of\n * the container element but also within the viewport boundaries. When swapping\n * is enabled, it will attempt to swap to the right position if it can't fit\n * within the viewport to the left. If it can't fit in the viewport even after\n * being swapped to the right or swapping is disabled, it will be positioned to\n * the viewport left boundary.\n *\n * @internal\n */\nexport function createAnchoredLeft(config: FixConfig): XPosition {\n const { vwMargin, screenRight, elWidth, disableSwapping } = config;\n\n let left = getLeftCoord(config);\n let actualX: HorizontalPosition = \"left\";\n if (left >= vwMargin) {\n return { actualX, left };\n }\n\n const swappedLeft = getRightCoord(config);\n if (disableSwapping || swappedLeft + elWidth > screenRight) {\n left = vwMargin;\n } else {\n left = swappedLeft;\n actualX = \"right\";\n }\n\n return { actualX, left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the\n * inner-left of the container element but also within the viewport boundaries.\n * When swapping is enabled, it will attempt to swap to the right position if it\n * can't fit within the viewport to the left. If it can't fit in the viewport\n * even after being swapped to the right or swapping is disabled, it will be\n * positioned to the viewport left boundary.\n *\n * @internal\n */\nexport function createAnchoredInnerLeft(config: FixConfig): XPosition {\n const { vwMargin, screenRight, elWidth, disableSwapping } = config;\n\n let left = getInnerLeftCoord(config);\n let actualX: HorizontalPosition = \"inner-left\";\n if (left + elWidth <= screenRight && left >= vwMargin) {\n return { actualX, left };\n }\n\n if (disableSwapping) {\n if (left + elWidth > screenRight) {\n left = screenRight - elWidth;\n } else {\n left = vwMargin;\n }\n\n return { actualX, left };\n }\n\n const swappedLeft = getInnerRightCoord(config);\n if (swappedLeft < vwMargin) {\n left = vwMargin;\n } else if (swappedLeft + elWidth > screenRight) {\n left = screenRight - elWidth;\n actualX = \"inner-right\";\n } else {\n left = swappedLeft;\n actualX = \"inner-right\";\n }\n\n return { actualX, left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear at the center\n * of the container element but also within the viewport boundaries. If the\n * centered element can't fit within the viewport, it will use the vwMargin\n * value if it overflowed to the left, it'll position to the screen right\n * boundary.\n *\n * @internal\n */\nexport function createAnchoredCenter(config: FixConfig): XPosition {\n const { vwMargin, screenRight, elWidth } = config;\n let left = getCenterXCoord(config);\n if (left < vwMargin) {\n left = vwMargin;\n } else if (left + elWidth > screenRight || left < vwMargin) {\n left = screenRight - elWidth;\n }\n\n return { actualX: \"center\", left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the\n * inner-right of the container element but also within the viewport boundaries.\n * When swapping is enabled, it will attempt to swap to the inner-left position\n * if it can't fit within the viewport to the right. If it can't fit in the\n * viewport even after being swapped to the left or swapping is disabled, it\n * will be positioned to the viewport right boundary.\n *\n * @internal\n */\nexport function createAnchoredInnerRight(config: FixConfig): XPosition {\n const { screenRight, vwMargin, elWidth, disableSwapping } = config;\n\n let left = getInnerRightCoord(config);\n let actualX: HorizontalPosition = \"inner-right\";\n if (left >= vwMargin) {\n return { actualX, left: Math.min(left, screenRight - elWidth) };\n }\n\n const swappedLeft = getInnerLeftCoord(config);\n if (disableSwapping || swappedLeft + elWidth > screenRight) {\n left = vwMargin;\n } else {\n left = Math.max(swappedLeft, vwMargin);\n actualX = \"inner-left\";\n }\n\n return { actualX, left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the right of\n * the container element but also within the viewport boundaries. When swapping\n * is enabled, it will attempt to swap to the left position if it can't fit\n * within the viewport to the right. If it can't fit in the viewport even after\n * being swapped to the left or swapping is disabled, it will be positioned to\n * the viewport right boundary.\n *\n * @internal\n */\nexport function createAnchoredRight(config: FixConfig): XPosition {\n const { screenRight, vwMargin, elWidth, disableSwapping } = config;\n\n let left = getRightCoord(config);\n let actualX: HorizontalPosition = \"right\";\n if (left + elWidth <= screenRight) {\n return { actualX, left };\n }\n\n const swappedLeft = getLeftCoord(config);\n if (disableSwapping || swappedLeft < vwMargin) {\n left = screenRight - elWidth;\n } else {\n left = swappedLeft;\n actualX = \"left\";\n }\n\n return { actualX, left };\n}\n\nexport interface EqualWidthOptions\n extends Pick<\n CreateHorizontalPositionOptions,\n \"x\" | \"elWidth\" | \"xMargin\" | \"vwMargin\" | \"containerRect\" | \"initialX\"\n > {\n screenRight: number;\n isMinWidth: boolean;\n}\n\n/**\n * @internal\n */\nexport function createEqualWidth(options: EqualWidthOptions): XPosition {\n const {\n x,\n elWidth,\n xMargin,\n vwMargin,\n initialX,\n containerRect,\n screenRight,\n isMinWidth,\n } = options;\n\n let left = initialX ?? containerRect.left + xMargin;\n\n let width: number | undefined = containerRect.width - xMargin * 2;\n let minWidth: number | undefined;\n let right: number | undefined;\n if (isMinWidth) {\n minWidth = width;\n // if the fixed element has a width greater than the element it is fixed to,\n // update the width to be the fixed element's width. since the \"min-width\"\n // option is only possible for horizontally centered elements, need to then\n // update the `left` position again.\n if (elWidth > width) {\n left -= (elWidth - width) / 2;\n minWidth = elWidth;\n }\n\n width = undefined;\n const elRight = left + elWidth;\n if (elRight > screenRight) {\n left -= elRight - screenRight;\n right = vwMargin;\n }\n\n left = Math.max(vwMargin, left);\n }\n\n // going to assume that the container element is visible in the DOM and just\n // make the fixed element have the same left and right corners\n return {\n left,\n right,\n width,\n minWidth,\n actualX: x,\n };\n}\n\n/**\n * Creates the horizontal position for a fixed element with the provided\n * options.\n * @internal\n */\nexport function createHorizontalPosition(\n options: CreateHorizontalPositionOptions\n): XPosition {\n const {\n x,\n vw,\n vwMargin,\n xMargin,\n width,\n elWidth,\n initialX,\n containerRect,\n disableSwapping,\n } = options;\n\n const screenRight = vw - vwMargin;\n if (width === \"min\" || width === \"equal\") {\n return createEqualWidth({\n x,\n vwMargin,\n xMargin,\n elWidth,\n initialX,\n containerRect,\n screenRight,\n isMinWidth: width === \"min\",\n });\n }\n\n if (elWidth > vw - vwMargin * 2) {\n // if the element's width is greater than the viewport's width minus the\n // margin on both sides, just make the element span the entire viewport with\n // the margin\n return {\n left: vwMargin,\n right: vwMargin,\n actualX: x,\n };\n }\n\n const config: FixConfig = {\n vwMargin,\n xMargin,\n elWidth,\n initialX,\n screenRight,\n containerRect,\n disableSwapping,\n };\n\n switch (x) {\n case \"left\":\n return createAnchoredLeft(config);\n case \"inner-left\":\n return createAnchoredInnerLeft(config);\n case \"center\":\n return createAnchoredCenter(config);\n case \"inner-right\":\n return createAnchoredInnerRight(config);\n case \"right\":\n return createAnchoredRight(config);\n }\n}\n"],"names":["getCenterXCoord","getInnerLeftCoord","getInnerRightCoord","getLeftCoord","getRightCoord","createAnchoredLeft","config","vwMargin","screenRight","elWidth","disableSwapping","left","actualX","swappedLeft","createAnchoredInnerLeft","createAnchoredCenter","createAnchoredInnerRight","Math","min","max","createAnchoredRight","createEqualWidth","options","x","xMargin","initialX","containerRect","isMinWidth","width","minWidth","right","undefined","elRight","createHorizontalPosition","vw"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/positioning/createHorizontalPosition.ts"],"sourcesContent":["import { type FixedPositionOptions, type HorizontalPosition } from \"./types.js\";\nimport {\n getCenterXCoord,\n getInnerLeftCoord,\n getInnerRightCoord,\n getLeftCoord,\n getRightCoord,\n type XCoordConfig,\n} from \"./utils.js\";\n\n/**\n * @internal\n */\ninterface XPosition {\n left: number;\n right?: number;\n width?: number;\n minWidth?: number;\n actualX: HorizontalPosition;\n}\n\n/**\n * @internal\n */\nexport interface FixConfig extends XCoordConfig {\n vwMargin: number;\n screenRight: number;\n disableSwapping: boolean;\n}\n\n/**\n * @internal\n */\nexport interface CreateHorizontalPositionOptions\n extends Required<\n Pick<\n FixedPositionOptions,\n \"vwMargin\" | \"xMargin\" | \"width\" | \"disableSwapping\"\n >\n > {\n x: HorizontalPosition;\n vw: number;\n elWidth: number;\n initialX?: number;\n containerRect: DOMRect;\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the left of\n * the container element but also within the viewport boundaries. When swapping\n * is enabled, it will attempt to swap to the right position if it can't fit\n * within the viewport to the left. If it can't fit in the viewport even after\n * being swapped to the right or swapping is disabled, it will be positioned to\n * the viewport left boundary.\n *\n * @internal\n */\nexport function createAnchoredLeft(config: FixConfig): XPosition {\n const { vwMargin, screenRight, elWidth, disableSwapping } = config;\n\n let left = getLeftCoord(config);\n let actualX: HorizontalPosition = \"left\";\n if (left >= vwMargin) {\n return { actualX, left };\n }\n\n const swappedLeft = getRightCoord(config);\n if (disableSwapping || swappedLeft + elWidth > screenRight) {\n left = vwMargin;\n } else {\n left = swappedLeft;\n actualX = \"right\";\n }\n\n return { actualX, left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the\n * inner-left of the container element but also within the viewport boundaries.\n * When swapping is enabled, it will attempt to swap to the right position if it\n * can't fit within the viewport to the left. If it can't fit in the viewport\n * even after being swapped to the right or swapping is disabled, it will be\n * positioned to the viewport left boundary.\n *\n * @internal\n */\nexport function createAnchoredInnerLeft(config: FixConfig): XPosition {\n const { vwMargin, screenRight, elWidth, disableSwapping } = config;\n\n let left = getInnerLeftCoord(config);\n let actualX: HorizontalPosition = \"inner-left\";\n if (left + elWidth <= screenRight && left >= vwMargin) {\n return { actualX, left };\n }\n\n if (disableSwapping) {\n if (left + elWidth > screenRight) {\n left = screenRight - elWidth;\n } else {\n left = vwMargin;\n }\n\n return { actualX, left };\n }\n\n const swappedLeft = getInnerRightCoord(config);\n if (swappedLeft < vwMargin) {\n left = vwMargin;\n } else if (swappedLeft + elWidth > screenRight) {\n left = screenRight - elWidth;\n actualX = \"inner-right\";\n } else {\n left = swappedLeft;\n actualX = \"inner-right\";\n }\n\n return { actualX, left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear at the center\n * of the container element but also within the viewport boundaries. If the\n * centered element can't fit within the viewport, it will use the vwMargin\n * value if it overflowed to the left, it'll position to the screen right\n * boundary.\n *\n * @internal\n */\nexport function createAnchoredCenter(config: FixConfig): XPosition {\n const { vwMargin, screenRight, elWidth } = config;\n let left = getCenterXCoord(config);\n if (left < vwMargin) {\n left = vwMargin;\n } else if (left + elWidth > screenRight || left < vwMargin) {\n left = screenRight - elWidth;\n }\n\n return { actualX: \"center\", left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the\n * inner-right of the container element but also within the viewport boundaries.\n * When swapping is enabled, it will attempt to swap to the inner-left position\n * if it can't fit within the viewport to the right. If it can't fit in the\n * viewport even after being swapped to the left or swapping is disabled, it\n * will be positioned to the viewport right boundary.\n *\n * @internal\n */\nexport function createAnchoredInnerRight(config: FixConfig): XPosition {\n const { screenRight, vwMargin, elWidth, disableSwapping } = config;\n\n let left = getInnerRightCoord(config);\n let actualX: HorizontalPosition = \"inner-right\";\n if (left >= vwMargin) {\n return { actualX, left: Math.min(left, screenRight - elWidth) };\n }\n\n const swappedLeft = getInnerLeftCoord(config);\n if (disableSwapping || swappedLeft + elWidth > screenRight) {\n left = vwMargin;\n } else {\n left = Math.max(swappedLeft, vwMargin);\n actualX = \"inner-left\";\n }\n\n return { actualX, left };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear to the right of\n * the container element but also within the viewport boundaries. When swapping\n * is enabled, it will attempt to swap to the left position if it can't fit\n * within the viewport to the right. If it can't fit in the viewport even after\n * being swapped to the left or swapping is disabled, it will be positioned to\n * the viewport right boundary.\n *\n * @internal\n */\nexport function createAnchoredRight(config: FixConfig): XPosition {\n const { screenRight, vwMargin, elWidth, disableSwapping } = config;\n\n let left = getRightCoord(config);\n let actualX: HorizontalPosition = \"right\";\n if (left + elWidth <= screenRight) {\n return { actualX, left };\n }\n\n const swappedLeft = getLeftCoord(config);\n if (disableSwapping || swappedLeft < vwMargin) {\n left = screenRight - elWidth;\n } else {\n left = swappedLeft;\n actualX = \"left\";\n }\n\n return { actualX, left };\n}\n\nexport interface EqualWidthOptions\n extends Pick<\n CreateHorizontalPositionOptions,\n \"x\" | \"elWidth\" | \"xMargin\" | \"vwMargin\" | \"containerRect\" | \"initialX\"\n > {\n screenRight: number;\n isMinWidth: boolean;\n}\n\n/**\n * @internal\n */\nexport function createEqualWidth(options: EqualWidthOptions): XPosition {\n const {\n x,\n elWidth,\n xMargin,\n vwMargin,\n initialX,\n containerRect,\n screenRight,\n isMinWidth,\n } = options;\n\n let left = initialX ?? containerRect.left + xMargin;\n\n let width: number | undefined = containerRect.width - xMargin * 2;\n let minWidth: number | undefined;\n let right: number | undefined;\n if (isMinWidth) {\n minWidth = width;\n // if the fixed element has a width greater than the element it is fixed to,\n // update the width to be the fixed element's width. since the \"min-width\"\n // option is only possible for horizontally centered elements, need to then\n // update the `left` position again.\n if (elWidth > width) {\n left -= (elWidth - width) / 2;\n minWidth = elWidth;\n }\n\n width = undefined;\n const elRight = left + elWidth;\n if (elRight > screenRight) {\n left -= elRight - screenRight;\n right = vwMargin;\n }\n\n left = Math.max(vwMargin, left);\n }\n\n // going to assume that the container element is visible in the DOM and just\n // make the fixed element have the same left and right corners\n return {\n left,\n right,\n width,\n minWidth,\n actualX: x,\n };\n}\n\n/**\n * Creates the horizontal position for a fixed element with the provided\n * options.\n * @internal\n */\nexport function createHorizontalPosition(\n options: CreateHorizontalPositionOptions\n): XPosition {\n const {\n x,\n vw,\n vwMargin,\n xMargin,\n width,\n elWidth,\n initialX,\n containerRect,\n disableSwapping,\n } = options;\n\n const screenRight = vw - vwMargin;\n if (width === \"min\" || width === \"equal\") {\n return createEqualWidth({\n x,\n vwMargin,\n xMargin,\n elWidth,\n initialX,\n containerRect,\n screenRight,\n isMinWidth: width === \"min\",\n });\n }\n\n if (elWidth > vw - vwMargin * 2) {\n // if the element's width is greater than the viewport's width minus the\n // margin on both sides, just make the element span the entire viewport with\n // the margin\n return {\n left: vwMargin,\n right: vwMargin,\n actualX: x,\n };\n }\n\n const config: FixConfig = {\n vwMargin,\n xMargin,\n elWidth,\n initialX,\n screenRight,\n containerRect,\n disableSwapping,\n };\n\n switch (x) {\n case \"left\":\n return createAnchoredLeft(config);\n case \"inner-left\":\n return createAnchoredInnerLeft(config);\n case \"center\":\n return createAnchoredCenter(config);\n case \"inner-right\":\n return createAnchoredInnerRight(config);\n case \"right\":\n return createAnchoredRight(config);\n }\n}\n"],"names":["getCenterXCoord","getInnerLeftCoord","getInnerRightCoord","getLeftCoord","getRightCoord","createAnchoredLeft","config","vwMargin","screenRight","elWidth","disableSwapping","left","actualX","swappedLeft","createAnchoredInnerLeft","createAnchoredCenter","createAnchoredInnerRight","Math","min","max","createAnchoredRight","createEqualWidth","options","x","xMargin","initialX","containerRect","isMinWidth","width","minWidth","right","undefined","elRight","createHorizontalPosition","vw"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { YCoordConfig } from "./utils.js";
2
- import type { FixedPositionOptions, VerticalPosition } from "./types.js";
1
+ import { type FixedPositionOptions, type VerticalPosition } from "./types.js";
2
+ import { type YCoordConfig } from "./utils.js";
3
3
  /** @internal */
4
4
  interface YPosition {
5
5
  top: number;
6
6
  bottom?: number;
7
7
  actualY: VerticalPosition;
8
- /** @since 6.0.0 */
8
+ /** @since 5.1.6 */
9
9
  transformOriginY?: number;
10
10
  }
11
11
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/positioning/createVerticalPosition.ts"],"sourcesContent":["import type { YCoordConfig } from \"./utils.js\";\nimport {\n getAboveCoord,\n getBelowCoord,\n getBottomCoord,\n getCenterYCoord,\n getTopCoord,\n} from \"./utils.js\";\nimport type { FixedPositionOptions, VerticalPosition } from \"./types.js\";\n\n/** @internal */\ninterface YPosition {\n top: number;\n bottom?: number;\n actualY: VerticalPosition;\n /** @since 6.0.0 */\n transformOriginY?: number;\n}\n\n/** @internal */\nexport interface FixConfig extends YCoordConfig {\n vhMargin: number;\n screenBottom: number;\n preventOverlap: boolean;\n disableSwapping: boolean;\n disableVHBounds: boolean;\n}\n\n/** @internal */\nexport interface CreateVerticalPositionOptions\n extends Required<\n Pick<\n FixedPositionOptions,\n | \"yMargin\"\n | \"vhMargin\"\n | \"preventOverlap\"\n | \"disableSwapping\"\n | \"disableVHBounds\"\n >\n > {\n y: VerticalPosition;\n vh: number;\n initialY?: number;\n elHeight: number;\n containerRect: DOMRect;\n}\n\n/**\n * Attempts to position the fixed element so that it will appear completely\n * above the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the below position if it\n * can't fit within the viewport above the container element. If it can't fit in\n * the viewport even after being swapped below or swapping is disabled, it will\n * be positioned to the top viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredAbove(config: FixConfig): YPosition {\n const {\n yMargin,\n vhMargin,\n screenBottom,\n elHeight,\n containerRect,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n } = config;\n let top = getAboveCoord(config);\n let actualY: VerticalPosition = \"above\";\n\n if (disableVHBounds) {\n // can't actually allow a top value as a negative number since browsers\n // won't scroll upwards past the normal page top\n return { actualY, top: Math.max(0, top) };\n }\n\n if (top > vhMargin) {\n // don't need to do anything else since the top is still in the viewport and\n // since it's positioned above, we already know it can't overlap the\n // container element\n return { actualY, top };\n }\n\n const swappedTop = getBelowCoord(config);\n if (disableSwapping || swappedTop + elHeight > screenBottom) {\n top = Math.min(top, vhMargin);\n } else {\n actualY = \"below\";\n top = swappedTop;\n }\n\n let bottom: number | undefined;\n if (\n preventOverlap &&\n // can't overlap if it's positioned below\n actualY === \"above\" &&\n top + elHeight > containerRect.top\n ) {\n bottom = screenBottom - containerRect.top + yMargin;\n }\n\n return { actualY, top, bottom };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear fixed to the\n * top of the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the bottom position if it\n * can't fit within the viewport. If it can't fit in the viewport even after\n * being swapped to the bottom position or swapping is disabled, it will be\n * positioned to the top viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredTop(config: FixConfig): YPosition {\n const { vhMargin, screenBottom, elHeight, disableSwapping, disableVHBounds } =\n config;\n let top = getTopCoord(config);\n let actualY: VerticalPosition = \"top\";\n\n if (disableVHBounds || top + elHeight <= screenBottom) {\n return { actualY, top };\n }\n\n const swappedTop = getBottomCoord(config);\n if (disableSwapping || swappedTop < vhMargin) {\n top = Math.max(top, vhMargin);\n } else {\n actualY = \"bottom\";\n top = swappedTop;\n }\n\n return { actualY, top };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear at the center\n * of the container element but also within the viewport boundaries. If the\n * entered element can't fit within the viewport, it'll update the top value\n * to either be the vhMargin or position to the screen bottom boundary\n *\n * @internal\n */\nexport function createAnchoredCenter(config: FixConfig): YPosition {\n const { vhMargin, screenBottom, elHeight, disableVHBounds } = config;\n let top = getCenterYCoord(config);\n const actualY: VerticalPosition = \"center\";\n if (disableVHBounds) {\n return { actualY, top: Math.max(0, top) };\n }\n\n top = Math.max(vhMargin, top);\n if (top + elHeight > screenBottom) {\n top = screenBottom - elHeight;\n }\n\n return { actualY, top };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear fixed to the\n * bottom of the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the top position if it can't\n * fit within the viewport. If it can't fit in the viewport even after being\n * swapped to the top position or swapping is disabled, it will be positioned to\n * the bottom viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredBottom(config: FixConfig): YPosition {\n const { vhMargin, screenBottom, elHeight, disableSwapping, disableVHBounds } =\n config;\n let top = getBottomCoord(config);\n let actualY: VerticalPosition = \"bottom\";\n if (disableVHBounds || top > vhMargin) {\n return { actualY, top };\n }\n\n const swappedTop = getTopCoord(config);\n if (disableSwapping || swappedTop + elHeight > screenBottom) {\n top = Math.min(top, screenBottom - elHeight);\n } else {\n actualY = \"top\";\n top = swappedTop;\n }\n\n return { actualY, top };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear completely\n * below the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the above position if it\n * can't fit within the viewport below the container element. If it can't fit in\n * the viewport even after being swapped above or swapping is disabled, it will\n * be positioned to the bottom viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredBelow(config: FixConfig): YPosition {\n const {\n yMargin,\n vhMargin,\n elHeight,\n screenBottom,\n containerRect,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n } = config;\n let top = getBelowCoord(config);\n let actualY: VerticalPosition = \"below\";\n if (disableVHBounds || top + elHeight <= screenBottom) {\n return { actualY, top };\n }\n\n if (preventOverlap) {\n const availableTop = containerRect.top - yMargin;\n if (disableSwapping || availableTop < screenBottom - top) {\n return {\n actualY,\n top,\n bottom: vhMargin,\n };\n }\n\n return {\n actualY: \"above\",\n top: Math.max(vhMargin, availableTop - elHeight),\n // this makes it so that the bottom of the fixed element is the top of the container\n // element. this ensures that it won't ever overlap the container element\n bottom: window.innerHeight - availableTop,\n };\n }\n\n const swappedTop = getAboveCoord(config);\n if (disableSwapping || swappedTop < vhMargin) {\n top = Math.min(top, screenBottom - elHeight);\n } else {\n actualY = \"above\";\n top = swappedTop;\n }\n\n return { actualY, top };\n}\n\n/**\n * Creates the vertical position for a fixed element with the provided options.\n *\n * @internal\n */\nexport function createVerticalPosition(\n options: CreateVerticalPositionOptions\n): YPosition {\n const {\n y,\n vh,\n vhMargin,\n yMargin,\n elHeight,\n initialY,\n containerRect,\n disableSwapping,\n preventOverlap,\n disableVHBounds,\n } = options;\n\n if (!disableVHBounds && !preventOverlap && elHeight > vh - vhMargin * 2) {\n // the element is too big to be displayed in the viewport, so just span the\n // full viewport excluding margins\n return {\n top: vhMargin,\n bottom: vhMargin,\n actualY: \"center\",\n transformOriginY: containerRect.top,\n };\n }\n\n const config: FixConfig = {\n vhMargin,\n yMargin,\n elHeight,\n initialY,\n containerRect,\n screenBottom: vh - vhMargin,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n };\n\n switch (y) {\n case \"above\":\n return createAnchoredAbove(config);\n case \"top\":\n return createAnchoredTop(config);\n case \"center\":\n return createAnchoredCenter(config);\n case \"bottom\":\n return createAnchoredBottom(config);\n case \"below\":\n return createAnchoredBelow(config);\n }\n}\n"],"names":["getAboveCoord","getBelowCoord","getBottomCoord","getCenterYCoord","getTopCoord","createAnchoredAbove","config","yMargin","vhMargin","screenBottom","elHeight","containerRect","preventOverlap","disableSwapping","disableVHBounds","top","actualY","Math","max","swappedTop","min","bottom","createAnchoredTop","createAnchoredCenter","createAnchoredBottom","createAnchoredBelow","availableTop","window","innerHeight","createVerticalPosition","options","y","vh","initialY","transformOriginY"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SACEA,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,eAAe,EACfC,WAAW,QACN,aAAa;AAwCpB;;;;;;;;;CASC,GACD,OAAO,SAASC,oBAAoBC,MAAiB;IACnD,MAAM,EACJC,OAAO,EACPC,QAAQ,EACRC,YAAY,EACZC,QAAQ,EACRC,aAAa,EACbC,cAAc,EACdC,eAAe,EACfC,eAAe,EAChB,GAAGR;IACJ,IAAIS,MAAMf,cAAcM;IACxB,IAAIU,UAA4B;IAEhC,IAAIF,iBAAiB;QACnB,uEAAuE;QACvE,gDAAgD;QAChD,OAAO;YAAEE;YAASD,KAAKE,KAAKC,GAAG,CAAC,GAAGH;QAAK;IAC1C;IAEA,IAAIA,MAAMP,UAAU;QAClB,4EAA4E;QAC5E,oEAAoE;QACpE,oBAAoB;QACpB,OAAO;YAAEQ;YAASD;QAAI;IACxB;IAEA,MAAMI,aAAalB,cAAcK;IACjC,IAAIO,mBAAmBM,aAAaT,WAAWD,cAAc;QAC3DM,MAAME,KAAKG,GAAG,CAACL,KAAKP;IACtB,OAAO;QACLQ,UAAU;QACVD,MAAMI;IACR;IAEA,IAAIE;IACJ,IACET,kBACA,yCAAyC;IACzCI,YAAY,WACZD,MAAML,WAAWC,cAAcI,GAAG,EAClC;QACAM,SAASZ,eAAeE,cAAcI,GAAG,GAAGR;IAC9C;IAEA,OAAO;QAAES;QAASD;QAAKM;IAAO;AAChC;AAEA;;;;;;;;;CASC,GACD,OAAO,SAASC,kBAAkBhB,MAAiB;IACjD,MAAM,EAAEE,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,EAAEG,eAAe,EAAEC,eAAe,EAAE,GAC1ER;IACF,IAAIS,MAAMX,YAAYE;IACtB,IAAIU,UAA4B;IAEhC,IAAIF,mBAAmBC,MAAML,YAAYD,cAAc;QACrD,OAAO;YAAEO;YAASD;QAAI;IACxB;IAEA,MAAMI,aAAajB,eAAeI;IAClC,IAAIO,mBAAmBM,aAAaX,UAAU;QAC5CO,MAAME,KAAKC,GAAG,CAACH,KAAKP;IACtB,OAAO;QACLQ,UAAU;QACVD,MAAMI;IACR;IAEA,OAAO;QAAEH;QAASD;IAAI;AACxB;AAEA;;;;;;;CAOC,GACD,OAAO,SAASQ,qBAAqBjB,MAAiB;IACpD,MAAM,EAAEE,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,EAAEI,eAAe,EAAE,GAAGR;IAC9D,IAAIS,MAAMZ,gBAAgBG;IAC1B,MAAMU,UAA4B;IAClC,IAAIF,iBAAiB;QACnB,OAAO;YAAEE;YAASD,KAAKE,KAAKC,GAAG,CAAC,GAAGH;QAAK;IAC1C;IAEAA,MAAME,KAAKC,GAAG,CAACV,UAAUO;IACzB,IAAIA,MAAML,WAAWD,cAAc;QACjCM,MAAMN,eAAeC;IACvB;IAEA,OAAO;QAAEM;QAASD;IAAI;AACxB;AAEA;;;;;;;;;CASC,GACD,OAAO,SAASS,qBAAqBlB,MAAiB;IACpD,MAAM,EAAEE,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,EAAEG,eAAe,EAAEC,eAAe,EAAE,GAC1ER;IACF,IAAIS,MAAMb,eAAeI;IACzB,IAAIU,UAA4B;IAChC,IAAIF,mBAAmBC,MAAMP,UAAU;QACrC,OAAO;YAAEQ;YAASD;QAAI;IACxB;IAEA,MAAMI,aAAaf,YAAYE;IAC/B,IAAIO,mBAAmBM,aAAaT,WAAWD,cAAc;QAC3DM,MAAME,KAAKG,GAAG,CAACL,KAAKN,eAAeC;IACrC,OAAO;QACLM,UAAU;QACVD,MAAMI;IACR;IAEA,OAAO;QAAEH;QAASD;IAAI;AACxB;AAEA;;;;;;;;;CASC,GACD,OAAO,SAASU,oBAAoBnB,MAAiB;IACnD,MAAM,EACJC,OAAO,EACPC,QAAQ,EACRE,QAAQ,EACRD,YAAY,EACZE,aAAa,EACbC,cAAc,EACdC,eAAe,EACfC,eAAe,EAChB,GAAGR;IACJ,IAAIS,MAAMd,cAAcK;IACxB,IAAIU,UAA4B;IAChC,IAAIF,mBAAmBC,MAAML,YAAYD,cAAc;QACrD,OAAO;YAAEO;YAASD;QAAI;IACxB;IAEA,IAAIH,gBAAgB;QAClB,MAAMc,eAAef,cAAcI,GAAG,GAAGR;QACzC,IAAIM,mBAAmBa,eAAejB,eAAeM,KAAK;YACxD,OAAO;gBACLC;gBACAD;gBACAM,QAAQb;YACV;QACF;QAEA,OAAO;YACLQ,SAAS;YACTD,KAAKE,KAAKC,GAAG,CAACV,UAAUkB,eAAehB;YACvC,oFAAoF;YACpF,yEAAyE;YACzEW,QAAQM,OAAOC,WAAW,GAAGF;QAC/B;IACF;IAEA,MAAMP,aAAanB,cAAcM;IACjC,IAAIO,mBAAmBM,aAAaX,UAAU;QAC5CO,MAAME,KAAKG,GAAG,CAACL,KAAKN,eAAeC;IACrC,OAAO;QACLM,UAAU;QACVD,MAAMI;IACR;IAEA,OAAO;QAAEH;QAASD;IAAI;AACxB;AAEA;;;;CAIC,GACD,OAAO,SAASc,uBACdC,OAAsC;IAEtC,MAAM,EACJC,CAAC,EACDC,EAAE,EACFxB,QAAQ,EACRD,OAAO,EACPG,QAAQ,EACRuB,QAAQ,EACRtB,aAAa,EACbE,eAAe,EACfD,cAAc,EACdE,eAAe,EAChB,GAAGgB;IAEJ,IAAI,CAAChB,mBAAmB,CAACF,kBAAkBF,WAAWsB,KAAKxB,WAAW,GAAG;QACvE,2EAA2E;QAC3E,kCAAkC;QAClC,OAAO;YACLO,KAAKP;YACLa,QAAQb;YACRQ,SAAS;YACTkB,kBAAkBvB,cAAcI,GAAG;QACrC;IACF;IAEA,MAAMT,SAAoB;QACxBE;QACAD;QACAG;QACAuB;QACAtB;QACAF,cAAcuB,KAAKxB;QACnBI;QACAC;QACAC;IACF;IAEA,OAAQiB;QACN,KAAK;YACH,OAAO1B,oBAAoBC;QAC7B,KAAK;YACH,OAAOgB,kBAAkBhB;QAC3B,KAAK;YACH,OAAOiB,qBAAqBjB;QAC9B,KAAK;YACH,OAAOkB,qBAAqBlB;QAC9B,KAAK;YACH,OAAOmB,oBAAoBnB;IAC/B;AACF"}
1
+ {"version":3,"sources":["../../src/positioning/createVerticalPosition.ts"],"sourcesContent":["import { type FixedPositionOptions, type VerticalPosition } from \"./types.js\";\nimport {\n getAboveCoord,\n getBelowCoord,\n getBottomCoord,\n getCenterYCoord,\n getTopCoord,\n type YCoordConfig,\n} from \"./utils.js\";\n\n/** @internal */\ninterface YPosition {\n top: number;\n bottom?: number;\n actualY: VerticalPosition;\n /** @since 5.1.6 */\n transformOriginY?: number;\n}\n\n/** @internal */\nexport interface FixConfig extends YCoordConfig {\n vhMargin: number;\n screenBottom: number;\n preventOverlap: boolean;\n disableSwapping: boolean;\n disableVHBounds: boolean;\n}\n\n/** @internal */\nexport interface CreateVerticalPositionOptions\n extends Required<\n Pick<\n FixedPositionOptions,\n | \"yMargin\"\n | \"vhMargin\"\n | \"preventOverlap\"\n | \"disableSwapping\"\n | \"disableVHBounds\"\n >\n > {\n y: VerticalPosition;\n vh: number;\n initialY?: number;\n elHeight: number;\n containerRect: DOMRect;\n}\n\n/**\n * Attempts to position the fixed element so that it will appear completely\n * above the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the below position if it\n * can't fit within the viewport above the container element. If it can't fit in\n * the viewport even after being swapped below or swapping is disabled, it will\n * be positioned to the top viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredAbove(config: FixConfig): YPosition {\n const {\n yMargin,\n vhMargin,\n screenBottom,\n elHeight,\n containerRect,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n } = config;\n let top = getAboveCoord(config);\n let actualY: VerticalPosition = \"above\";\n\n if (disableVHBounds) {\n // can't actually allow a top value as a negative number since browsers\n // won't scroll upwards past the normal page top\n return { actualY, top: Math.max(0, top) };\n }\n\n if (top > vhMargin) {\n // don't need to do anything else since the top is still in the viewport and\n // since it's positioned above, we already know it can't overlap the\n // container element\n return { actualY, top };\n }\n\n const swappedTop = getBelowCoord(config);\n if (disableSwapping || swappedTop + elHeight > screenBottom) {\n top = Math.min(top, vhMargin);\n } else {\n actualY = \"below\";\n top = swappedTop;\n }\n\n let bottom: number | undefined;\n if (\n preventOverlap &&\n // can't overlap if it's positioned below\n actualY === \"above\" &&\n top + elHeight > containerRect.top\n ) {\n bottom = screenBottom - containerRect.top + yMargin;\n }\n\n return { actualY, top, bottom };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear fixed to the\n * top of the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the bottom position if it\n * can't fit within the viewport. If it can't fit in the viewport even after\n * being swapped to the bottom position or swapping is disabled, it will be\n * positioned to the top viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredTop(config: FixConfig): YPosition {\n const { vhMargin, screenBottom, elHeight, disableSwapping, disableVHBounds } =\n config;\n let top = getTopCoord(config);\n let actualY: VerticalPosition = \"top\";\n\n if (disableVHBounds || top + elHeight <= screenBottom) {\n return { actualY, top };\n }\n\n const swappedTop = getBottomCoord(config);\n if (disableSwapping || swappedTop < vhMargin) {\n top = Math.max(top, vhMargin);\n } else {\n actualY = \"bottom\";\n top = swappedTop;\n }\n\n return { actualY, top };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear at the center\n * of the container element but also within the viewport boundaries. If the\n * entered element can't fit within the viewport, it'll update the top value\n * to either be the vhMargin or position to the screen bottom boundary\n *\n * @internal\n */\nexport function createAnchoredCenter(config: FixConfig): YPosition {\n const { vhMargin, screenBottom, elHeight, disableVHBounds } = config;\n let top = getCenterYCoord(config);\n const actualY: VerticalPosition = \"center\";\n if (disableVHBounds) {\n return { actualY, top: Math.max(0, top) };\n }\n\n top = Math.max(vhMargin, top);\n if (top + elHeight > screenBottom) {\n top = screenBottom - elHeight;\n }\n\n return { actualY, top };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear fixed to the\n * bottom of the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the top position if it can't\n * fit within the viewport. If it can't fit in the viewport even after being\n * swapped to the top position or swapping is disabled, it will be positioned to\n * the bottom viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredBottom(config: FixConfig): YPosition {\n const { vhMargin, screenBottom, elHeight, disableSwapping, disableVHBounds } =\n config;\n let top = getBottomCoord(config);\n let actualY: VerticalPosition = \"bottom\";\n if (disableVHBounds || top > vhMargin) {\n return { actualY, top };\n }\n\n const swappedTop = getTopCoord(config);\n if (disableSwapping || swappedTop + elHeight > screenBottom) {\n top = Math.min(top, screenBottom - elHeight);\n } else {\n actualY = \"top\";\n top = swappedTop;\n }\n\n return { actualY, top };\n}\n\n/**\n * Attempts to position the fixed element so that it will appear completely\n * below the container element but also within the viewport boundaries. When\n * swapping is enabled, it will attempt to swap to the above position if it\n * can't fit within the viewport below the container element. If it can't fit in\n * the viewport even after being swapped above or swapping is disabled, it will\n * be positioned to the bottom viewport boundary.\n *\n * @internal\n */\nexport function createAnchoredBelow(config: FixConfig): YPosition {\n const {\n yMargin,\n vhMargin,\n elHeight,\n screenBottom,\n containerRect,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n } = config;\n let top = getBelowCoord(config);\n let actualY: VerticalPosition = \"below\";\n if (disableVHBounds || top + elHeight <= screenBottom) {\n return { actualY, top };\n }\n\n if (preventOverlap) {\n const availableTop = containerRect.top - yMargin;\n if (disableSwapping || availableTop < screenBottom - top) {\n return {\n actualY,\n top,\n bottom: vhMargin,\n };\n }\n\n return {\n actualY: \"above\",\n top: Math.max(vhMargin, availableTop - elHeight),\n // this makes it so that the bottom of the fixed element is the top of the container\n // element. this ensures that it won't ever overlap the container element\n bottom: window.innerHeight - availableTop,\n };\n }\n\n const swappedTop = getAboveCoord(config);\n if (disableSwapping || swappedTop < vhMargin) {\n top = Math.min(top, screenBottom - elHeight);\n } else {\n actualY = \"above\";\n top = swappedTop;\n }\n\n return { actualY, top };\n}\n\n/**\n * Creates the vertical position for a fixed element with the provided options.\n *\n * @internal\n */\nexport function createVerticalPosition(\n options: CreateVerticalPositionOptions\n): YPosition {\n const {\n y,\n vh,\n vhMargin,\n yMargin,\n elHeight,\n initialY,\n containerRect,\n disableSwapping,\n preventOverlap,\n disableVHBounds,\n } = options;\n\n if (!disableVHBounds && !preventOverlap && elHeight > vh - vhMargin * 2) {\n // the element is too big to be displayed in the viewport, so just span the\n // full viewport excluding margins\n return {\n top: vhMargin,\n bottom: vhMargin,\n actualY: \"center\",\n transformOriginY: containerRect.top,\n };\n }\n\n const config: FixConfig = {\n vhMargin,\n yMargin,\n elHeight,\n initialY,\n containerRect,\n screenBottom: vh - vhMargin,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n };\n\n switch (y) {\n case \"above\":\n return createAnchoredAbove(config);\n case \"top\":\n return createAnchoredTop(config);\n case \"center\":\n return createAnchoredCenter(config);\n case \"bottom\":\n return createAnchoredBottom(config);\n case \"below\":\n return createAnchoredBelow(config);\n }\n}\n"],"names":["getAboveCoord","getBelowCoord","getBottomCoord","getCenterYCoord","getTopCoord","createAnchoredAbove","config","yMargin","vhMargin","screenBottom","elHeight","containerRect","preventOverlap","disableSwapping","disableVHBounds","top","actualY","Math","max","swappedTop","min","bottom","createAnchoredTop","createAnchoredCenter","createAnchoredBottom","createAnchoredBelow","availableTop","window","innerHeight","createVerticalPosition","options","y","vh","initialY","transformOriginY"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FixedPosition, FixedPositionOptions } from "./types.js";
1
+ import { type FixedPosition, type FixedPositionOptions } from "./types.js";
2
2
  /**
3
3
  * One of the most complicated functions in this project that will attempt to
4
4
  * position an element relative to another container element while still being
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/positioning/getFixedPosition.ts"],"sourcesContent":["import { getScrollbarWidth } from \"../scroll/getScrollbarWidth.js\";\nimport { BELOW_CENTER_ANCHOR } from \"./constants.js\";\nimport { createHorizontalPosition } from \"./createHorizontalPosition.js\";\nimport { createVerticalPosition } from \"./createVerticalPosition.js\";\nimport type { FixedPosition, FixedPositionOptions } from \"./types.js\";\nimport {\n findSizingContainer,\n getElementRect,\n getTransformOrigin,\n} from \"./utils.js\";\n\n/**\n * This is used when there is no `container` element so that some styles can\n * still be created. The main use-case for this is context menus and when the\n * `initialX` and `initialY` options have been provided.\n *\n * @internal\n * @since 5.0.0\n */\nconst FALLBACK_DOM_RECT: DOMRect = {\n x: 0,\n y: 0,\n height: 0,\n width: 0,\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n toJSON() {\n // do nothing\n },\n};\n\n/**\n * One of the most complicated functions in this project that will attempt to\n * position an element relative to another container element while still being\n * visible within the viewport. Below is the logical flow for attempting to fix\n * the element to the container:\n *\n * No Container: If there is no container element, return the provided x and y\n * positions and no styles since there's nothing we can use to calculate the\n * position.\n *\n * No Element: If the container was provided but the element to position does\n * not exist, return an style object containing the `left` and `top` values for\n * the container and apply as many of the positioning options as possible so\n * that the styles are \"as close as possible\" before the fixed element is added\n * to the DOM. This will also return the provided x and y positions since\n * nothing could be swapped around yet.\n *\n * Container and Element: If both the container and fixed element were provided,\n * apply all the positioning options to the `left` and `top` values of the\n * container based on the sizes of both elements.\n *\n * Now that the `left` and `top` values were applied, check to see if the\n * element is fully visible within the viewport with the provided positioning\n * options. If it is fully visible, do nothing else. If it isn't... follow the\n * next flow:\n *\n * First, check the horizontal sizes and make sure that the element is still\n * within the viewport with the provided view width margin. If it isn't, first\n * try to swap only to a `right` style instead of left to see if that fixes it,\n * otherwise keep both the `left` and `right` styles.\n */\nexport function getFixedPosition(options: FixedPositionOptions): FixedPosition {\n const {\n element,\n anchor = BELOW_CENTER_ANCHOR,\n initialX,\n vwMargin = 16,\n vhMargin = 16,\n xMargin = 0,\n yMargin = 0,\n width: widthType = \"auto\",\n preventOverlap = false,\n transformOrigin = false,\n disableSwapping = false,\n disableVHBounds = false,\n } = options;\n let { initialY } = options;\n const container = findSizingContainer(options.container);\n\n if (process.env.NODE_ENV !== \"production\") {\n if (preventOverlap && anchor.y !== \"above\" && anchor.y !== \"below\") {\n throw new Error(\n 'Unable to prevent overlap when the vertical anchor is not `\"above\"` or `\"below\"`'\n );\n }\n }\n\n if (!element) {\n return {\n actualX: anchor.x,\n actualY: anchor.y,\n style: {\n left: initialX,\n top: initialY,\n position: disableVHBounds ? \"absolute\" : \"fixed\",\n transformOrigin: transformOrigin\n ? getTransformOrigin({ x: anchor.x, y: anchor.y })\n : undefined,\n },\n };\n }\n\n const containerRect = container?.getBoundingClientRect() ?? FALLBACK_DOM_RECT;\n const vh = window.innerHeight;\n const vw = window.innerWidth;\n\n const { minWidth: elMinWidth } = element.style;\n // Note: This makes it \"min-content\" or \"min-container-width\"\n if (widthType === \"min\") {\n element.style.overflow = \"visible\";\n element.style.minWidth = \"\";\n }\n const elementRect = getElementRect(element);\n const { height } = elementRect;\n let elWidth = elementRect.width;\n if (widthType === \"min\") {\n elWidth += getScrollbarWidth();\n element.style.overflow = \"\";\n element.style.minWidth = elMinWidth;\n }\n if (disableVHBounds) {\n const dialog = element.closest(\"[role='dialog']\");\n if (!dialog) {\n initialY = (initialY ?? 0) + window.scrollY;\n }\n }\n\n const { left, right, width, minWidth, actualX } = createHorizontalPosition({\n x: anchor.x,\n vw,\n vwMargin,\n xMargin,\n width: widthType,\n elWidth,\n initialX,\n containerRect,\n disableSwapping,\n });\n const { top, bottom, actualY, transformOriginY } = createVerticalPosition({\n y: anchor.y,\n vh,\n vhMargin,\n yMargin,\n initialY,\n elHeight: height,\n containerRect,\n disableSwapping,\n preventOverlap,\n disableVHBounds,\n });\n\n return {\n actualX,\n actualY,\n style: {\n left,\n top,\n right,\n bottom,\n width,\n minWidth,\n position: disableVHBounds ? \"absolute\" : \"fixed\",\n transformOrigin: transformOrigin\n ? getTransformOrigin({\n x: actualX,\n y: actualY,\n transformOriginY,\n })\n : undefined,\n },\n };\n}\n"],"names":["getScrollbarWidth","BELOW_CENTER_ANCHOR","createHorizontalPosition","createVerticalPosition","findSizingContainer","getElementRect","getTransformOrigin","FALLBACK_DOM_RECT","x","y","height","width","left","right","top","bottom","toJSON","getFixedPosition","options","element","anchor","initialX","vwMargin","vhMargin","xMargin","yMargin","widthType","preventOverlap","transformOrigin","disableSwapping","disableVHBounds","initialY","container","process","env","NODE_ENV","Error","actualX","actualY","style","position","undefined","containerRect","getBoundingClientRect","vh","window","innerHeight","vw","innerWidth","minWidth","elMinWidth","overflow","elementRect","elWidth","dialog","closest","scrollY","transformOriginY","elHeight"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,iBAAiB,QAAQ,iCAAiC;AACnE,SAASC,mBAAmB,QAAQ,iBAAiB;AACrD,SAASC,wBAAwB,QAAQ,gCAAgC;AACzE,SAASC,sBAAsB,QAAQ,8BAA8B;AAErE,SACEC,mBAAmB,EACnBC,cAAc,EACdC,kBAAkB,QACb,aAAa;AAEpB;;;;;;;CAOC,GACD,MAAMC,oBAA6B;IACjCC,GAAG;IACHC,GAAG;IACHC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC,KAAK;IACLC,QAAQ;IACRC;IACE,aAAa;IACf;AACF;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BC,GACD,OAAO,SAASC,iBAAiBC,OAA6B;IAC5D,MAAM,EACJC,OAAO,EACPC,SAASnB,mBAAmB,EAC5BoB,QAAQ,EACRC,WAAW,EAAE,EACbC,WAAW,EAAE,EACbC,UAAU,CAAC,EACXC,UAAU,CAAC,EACXd,OAAOe,YAAY,MAAM,EACzBC,iBAAiB,KAAK,EACtBC,kBAAkB,KAAK,EACvBC,kBAAkB,KAAK,EACvBC,kBAAkB,KAAK,EACxB,GAAGZ;IACJ,IAAI,EAAEa,QAAQ,EAAE,GAAGb;IACnB,MAAMc,YAAY5B,oBAAoBc,QAAQc,SAAS;IAEvD,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzC,IAAIR,kBAAkBP,OAAOX,CAAC,KAAK,WAAWW,OAAOX,CAAC,KAAK,SAAS;YAClE,MAAM,IAAI2B,MACR;QAEJ;IACF;IAEA,IAAI,CAACjB,SAAS;QACZ,OAAO;YACLkB,SAASjB,OAAOZ,CAAC;YACjB8B,SAASlB,OAAOX,CAAC;YACjB8B,OAAO;gBACL3B,MAAMS;gBACNP,KAAKiB;gBACLS,UAAUV,kBAAkB,aAAa;gBACzCF,iBAAiBA,kBACbtB,mBAAmB;oBAAEE,GAAGY,OAAOZ,CAAC;oBAAEC,GAAGW,OAAOX,CAAC;gBAAC,KAC9CgC;YACN;QACF;IACF;IAEA,MAAMC,gBAAgBV,WAAWW,2BAA2BpC;IAC5D,MAAMqC,KAAKC,OAAOC,WAAW;IAC7B,MAAMC,KAAKF,OAAOG,UAAU;IAE5B,MAAM,EAAEC,UAAUC,UAAU,EAAE,GAAG/B,QAAQoB,KAAK;IAC9C,6DAA6D;IAC7D,IAAIb,cAAc,OAAO;QACvBP,QAAQoB,KAAK,CAACY,QAAQ,GAAG;QACzBhC,QAAQoB,KAAK,CAACU,QAAQ,GAAG;IAC3B;IACA,MAAMG,cAAc/C,eAAec;IACnC,MAAM,EAAET,MAAM,EAAE,GAAG0C;IACnB,IAAIC,UAAUD,YAAYzC,KAAK;IAC/B,IAAIe,cAAc,OAAO;QACvB2B,WAAWrD;QACXmB,QAAQoB,KAAK,CAACY,QAAQ,GAAG;QACzBhC,QAAQoB,KAAK,CAACU,QAAQ,GAAGC;IAC3B;IACA,IAAIpB,iBAAiB;QACnB,MAAMwB,SAASnC,QAAQoC,OAAO,CAAC;QAC/B,IAAI,CAACD,QAAQ;YACXvB,WAAW,AAACA,CAAAA,YAAY,CAAA,IAAKc,OAAOW,OAAO;QAC7C;IACF;IAEA,MAAM,EAAE5C,IAAI,EAAEC,KAAK,EAAEF,KAAK,EAAEsC,QAAQ,EAAEZ,OAAO,EAAE,GAAGnC,yBAAyB;QACzEM,GAAGY,OAAOZ,CAAC;QACXuC;QACAzB;QACAE;QACAb,OAAOe;QACP2B;QACAhC;QACAqB;QACAb;IACF;IACA,MAAM,EAAEf,GAAG,EAAEC,MAAM,EAAEuB,OAAO,EAAEmB,gBAAgB,EAAE,GAAGtD,uBAAuB;QACxEM,GAAGW,OAAOX,CAAC;QACXmC;QACArB;QACAE;QACAM;QACA2B,UAAUhD;QACVgC;QACAb;QACAF;QACAG;IACF;IAEA,OAAO;QACLO;QACAC;QACAC,OAAO;YACL3B;YACAE;YACAD;YACAE;YACAJ;YACAsC;YACAT,UAAUV,kBAAkB,aAAa;YACzCF,iBAAiBA,kBACbtB,mBAAmB;gBACjBE,GAAG6B;gBACH5B,GAAG6B;gBACHmB;YACF,KACAhB;QACN;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/positioning/getFixedPosition.ts"],"sourcesContent":["import { getScrollbarWidth } from \"../scroll/getScrollbarWidth.js\";\nimport { BELOW_CENTER_ANCHOR } from \"./constants.js\";\nimport { createHorizontalPosition } from \"./createHorizontalPosition.js\";\nimport { createVerticalPosition } from \"./createVerticalPosition.js\";\nimport { type FixedPosition, type FixedPositionOptions } from \"./types.js\";\nimport {\n findSizingContainer,\n getElementRect,\n getTransformOrigin,\n} from \"./utils.js\";\n\n/**\n * This is used when there is no `container` element so that some styles can\n * still be created. The main use-case for this is context menus and when the\n * `initialX` and `initialY` options have been provided.\n *\n * @internal\n * @since 5.0.0\n */\nconst FALLBACK_DOM_RECT: DOMRect = {\n x: 0,\n y: 0,\n height: 0,\n width: 0,\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n toJSON() {\n // do nothing\n },\n};\n\n/**\n * One of the most complicated functions in this project that will attempt to\n * position an element relative to another container element while still being\n * visible within the viewport. Below is the logical flow for attempting to fix\n * the element to the container:\n *\n * No Container: If there is no container element, return the provided x and y\n * positions and no styles since there's nothing we can use to calculate the\n * position.\n *\n * No Element: If the container was provided but the element to position does\n * not exist, return an style object containing the `left` and `top` values for\n * the container and apply as many of the positioning options as possible so\n * that the styles are \"as close as possible\" before the fixed element is added\n * to the DOM. This will also return the provided x and y positions since\n * nothing could be swapped around yet.\n *\n * Container and Element: If both the container and fixed element were provided,\n * apply all the positioning options to the `left` and `top` values of the\n * container based on the sizes of both elements.\n *\n * Now that the `left` and `top` values were applied, check to see if the\n * element is fully visible within the viewport with the provided positioning\n * options. If it is fully visible, do nothing else. If it isn't... follow the\n * next flow:\n *\n * First, check the horizontal sizes and make sure that the element is still\n * within the viewport with the provided view width margin. If it isn't, first\n * try to swap only to a `right` style instead of left to see if that fixes it,\n * otherwise keep both the `left` and `right` styles.\n */\nexport function getFixedPosition(options: FixedPositionOptions): FixedPosition {\n const {\n element,\n anchor = BELOW_CENTER_ANCHOR,\n initialX,\n vwMargin = 16,\n vhMargin = 16,\n xMargin = 0,\n yMargin = 0,\n width: widthType = \"auto\",\n preventOverlap = false,\n transformOrigin = false,\n disableSwapping = false,\n disableVHBounds = false,\n } = options;\n let { initialY } = options;\n const container = findSizingContainer(options.container);\n\n if (process.env.NODE_ENV !== \"production\") {\n if (preventOverlap && anchor.y !== \"above\" && anchor.y !== \"below\") {\n throw new Error(\n 'Unable to prevent overlap when the vertical anchor is not `\"above\"` or `\"below\"`'\n );\n }\n }\n\n if (!element) {\n return {\n actualX: anchor.x,\n actualY: anchor.y,\n style: {\n left: initialX,\n top: initialY,\n position: disableVHBounds ? \"absolute\" : \"fixed\",\n transformOrigin: transformOrigin\n ? getTransformOrigin({ x: anchor.x, y: anchor.y })\n : undefined,\n },\n };\n }\n\n const containerRect = container?.getBoundingClientRect() ?? FALLBACK_DOM_RECT;\n const vh = window.innerHeight;\n const vw = window.innerWidth;\n\n const { minWidth: elMinWidth } = element.style;\n // Note: This makes it \"min-content\" or \"min-container-width\"\n if (widthType === \"min\") {\n element.style.overflow = \"visible\";\n element.style.minWidth = \"\";\n }\n const elementRect = getElementRect(element);\n const { height } = elementRect;\n let elWidth = elementRect.width;\n if (widthType === \"min\") {\n elWidth += getScrollbarWidth();\n element.style.overflow = \"\";\n element.style.minWidth = elMinWidth;\n }\n if (disableVHBounds) {\n const dialog = element.closest(\"[role='dialog']\");\n if (!dialog) {\n initialY = (initialY ?? 0) + window.scrollY;\n }\n }\n\n const { left, right, width, minWidth, actualX } = createHorizontalPosition({\n x: anchor.x,\n vw,\n vwMargin,\n xMargin,\n width: widthType,\n elWidth,\n initialX,\n containerRect,\n disableSwapping,\n });\n const { top, bottom, actualY, transformOriginY } = createVerticalPosition({\n y: anchor.y,\n vh,\n vhMargin,\n yMargin,\n initialY,\n elHeight: height,\n containerRect,\n disableSwapping,\n preventOverlap,\n disableVHBounds,\n });\n\n return {\n actualX,\n actualY,\n style: {\n left,\n top,\n right,\n bottom,\n width,\n minWidth,\n position: disableVHBounds ? \"absolute\" : \"fixed\",\n transformOrigin: transformOrigin\n ? getTransformOrigin({\n x: actualX,\n y: actualY,\n transformOriginY,\n })\n : undefined,\n },\n };\n}\n"],"names":["getScrollbarWidth","BELOW_CENTER_ANCHOR","createHorizontalPosition","createVerticalPosition","findSizingContainer","getElementRect","getTransformOrigin","FALLBACK_DOM_RECT","x","y","height","width","left","right","top","bottom","toJSON","getFixedPosition","options","element","anchor","initialX","vwMargin","vhMargin","xMargin","yMargin","widthType","preventOverlap","transformOrigin","disableSwapping","disableVHBounds","initialY","container","process","env","NODE_ENV","Error","actualX","actualY","style","position","undefined","containerRect","getBoundingClientRect","vh","window","innerHeight","vw","innerWidth","minWidth","elMinWidth","overflow","elementRect","elWidth","dialog","closest","scrollY","transformOriginY","elHeight"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -140,7 +140,7 @@ export interface CalculateFixedPositionOptions extends InitialCoords {
140
140
  * @defaultValue `false`
141
141
  * @since 5.0.0 This will always be `true` if the
142
142
  * {@link FixedPositionOptions.container} is `null`.
143
- * @since 6.0.0 Allow this to be `false` while the `container` is
143
+ * @since 5.1.6 Allow this to be `false` while the `container` is
144
144
  * null. I can't figure out why I prevented that.
145
145
  */
146
146
  disableSwapping?: boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/positioning/types.ts"],"sourcesContent":["/**\n * Above:\n * - the container top is in-line with the bottom of the element.\n *\n * Below:\n * - the container bottom is in-line with the top of the element\n *\n * Center:\n * - the container center is in-line with the top of the element\n *\n * Top:\n * - the container top is in-line with the top of the element\n *\n * Bottom:\n * - the container bottom is in-line with the bottom of the element\n */\nexport type VerticalPosition = \"above\" | \"below\" | \"center\" | \"top\" | \"bottom\";\n\n/**\n * Left:\n * - the container left is in-line with the right of the element\n *\n * Right:\n * - the container right is in-line with the left of the element\n *\n * Center:\n * - the container's horizontal center point will be aligned with the element's\n * horizontal center point\n *\n * Inner Left:\n * - the container's left is in-line with the left of the element\n *\n * Inner Right:\n * - the container's right is in-line with the right of the element\n */\nexport type HorizontalPosition =\n | \"left\"\n | \"right\"\n | \"center\"\n | \"inner-left\"\n | \"inner-right\";\n\n/**\n * An object containing the x and y positions to anchor a fixed element to\n * another container element.\n */\nexport interface PositionAnchor {\n x: HorizontalPosition;\n y: VerticalPosition;\n}\n\n/**\n * A \"simple\" version of all the positioning options. These are generally used\n * across all of react-md as it'll use the \"center\" version of the opposite type\n * when creating a fixed position.\n */\nexport type SimplePosition = \"above\" | \"below\" | \"left\" | \"right\";\n\n/**\n * An optional configuration for calculating and setting the width of the\n * element relative to the width of the container. When this value is set to\n * `\"auto\"` (default), the width will be based on content width but still\n * ensuring it can fit within the viewport. Setting this to `\"equal\"` will just\n * apply the container's width to the fixed element. Finally, setting this to\n * `\"min\"` will set the container's width as the `minWidth` for the fixed\n * element so that it is at least the same width as the container.\n *\n * If this is set to `\"equal\"` or `\"min\"` and the horizontal anchor is not set\n * to `\"center\"`, an error will be thrown.\n *\n * @defaultValue `\"auto\"`\n */\nexport type PositionWidth = \"auto\" | \"equal\" | \"min\";\n\nexport interface InitialCoords {\n /**\n * The initial x value to use when calculating the position instead of\n * finding the container element to determine the the correct position. All\n * the other positioning logic will still be in effect to ensure the element\n * will be visible within the viewport.\n */\n initialX?: number;\n\n /**\n * The initial y value to use when calculating the position instead of\n * finding the container element to determine the the correct position. All\n * the other positioning logic will still be in effect to ensure the element\n * will be visible within the viewport.\n */\n initialY?: number;\n}\n\n/** @since 4.0.0 */\nexport interface CalculateFixedPositionOptions extends InitialCoords {\n /**\n * The configuration to anchor the fixed element to the container element.\n *\n * @defaultValue `BELOW_CENTER_ANCHOR`\n */\n anchor?: PositionAnchor;\n\n /**\n * The viewwidth margin to apply so that the element doesn't need to be\n * directly on the screen edge.\n *\n * @defaultValue `16`\n */\n vwMargin?: number;\n\n /**\n * The viewwidth margin to apply so that the element doesn't need to be\n * directly on the screen edge.\n *\n * @defaultValue `16`\n */\n vhMargin?: number;\n\n /**\n * The container width margin to apply so that the element doesn't need to be\n * directly on the container's edge.\n *\n * @defaultValue `0`\n */\n xMargin?: number;\n\n /**\n * The container height margin to apply so that the element doesn't need to be\n * directly on the container's edge\n *\n * @defaultValue `0`\n */\n yMargin?: number;\n\n /** {@inheritDoc PositionWidth} */\n width?: PositionWidth;\n\n /**\n * Boolean if the style object should include the `transformOrigin` value\n * based on the x and y positions.\n *\n * @defaultValue `false`\n */\n transformOrigin?: boolean;\n\n /**\n * Boolean if the fixed element should no longer be able to overlap the\n * container element. This is useful for autocomplete menus or other\n * components that retain focus on the container element while the fixed\n * element becomes visible.\n *\n * @defaultValue `false`\n */\n preventOverlap?: boolean;\n\n /**\n * Boolean if the auto-swapping behavior should be disabled. It's normally\n * recommended to not disable this since it'll allow elements to appear off\n * screen.\n *\n * @defaultValue `false`\n * @since 5.0.0 This will always be `true` if the\n * {@link FixedPositionOptions.container} is `null`.\n * @since 6.0.0 Allow this to be `false` while the `container` is\n * null. I can't figure out why I prevented that.\n */\n disableSwapping?: boolean;\n\n /**\n * Boolean if the fixed positioning should no longer prevent the fixed element\n * to be positioned within the viewport. This is nice if you want to allow for\n * full page scrolling instead and manually set a max-height on your element.\n *\n * @defaultValue `false`\n */\n disableVHBounds?: boolean;\n}\n\nexport interface FixedPositionOptions extends CalculateFixedPositionOptions {\n /**\n * The container element that the `element` should be fixed to.\n */\n container: HTMLElement | null;\n\n /**\n * The element that is fixed to a `container` element.\n */\n element: HTMLElement | null;\n}\n\n/**\n * This is more of a private interface that is used to help show how fixed\n * elements are placed within the viewport. Most of the time the `top` and\n * `left` values will be provided, but there are a few flows where the `right`\n * and `bottom` could be added or the `top` and `left` are removed.\n *\n * The `width` values will only be used when the `equalWidth` or `minEqualWidth`\n * options are enabled.\n *\n * @internal\n */\nexport interface Coords {\n top?: number;\n right?: number;\n bottom?: number;\n left?: number;\n width?: number;\n minWidth?: number;\n}\n\n/**\n * The style object that should be applied to the fixed element so it will be\n * fixed to the container element. This will be `undefined` if the container\n * element doesn't exist within the DOM.\n *\n * Note: The fixed element styles **will not** contain styles for `z-index` or\n * `background-color` so you'll need to add that manually.\n *\n * @since 4.0.0\n */\nexport interface FixedPositionStyle extends Coords {\n /**\n * This will be `\"fixed\"` unless\n * {@link CalculateFixedPositionOptions.disableVHBounds} is set to `true`.\n */\n position: \"fixed\" | \"absolute\";\n\n /**\n * This will be `undefined` unless\n * {@link CalculateFixedPositionOptions.transformOrigin} is set to `true`\n */\n transformOrigin?: string;\n}\n\n/**\n * Since the position can be \"swapped\" to help fit the fixed element within the\n * viewport, this interface is used to contain the calculated positions as well\n * as an optional style object to apply.\n */\nexport interface FixedPosition {\n /**\n * The calculated horizontal position that can be used to compare to the\n * provided horizontal position anchor if additional manual updates should be\n * applied.\n */\n actualX: HorizontalPosition;\n\n /**\n * The calculated vertical position that can be used to compare to the\n * provided horizontal position anchor if additional manual updates should be\n * applied.\n */\n actualY: VerticalPosition;\n /** {@inheritDoc FixedPositionStyle} */\n style?: FixedPositionStyle;\n}\n"],"names":[],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GA0ND;;;;CAIC,GACD,WAgBC"}
1
+ {"version":3,"sources":["../../src/positioning/types.ts"],"sourcesContent":["/**\n * Above:\n * - the container top is in-line with the bottom of the element.\n *\n * Below:\n * - the container bottom is in-line with the top of the element\n *\n * Center:\n * - the container center is in-line with the top of the element\n *\n * Top:\n * - the container top is in-line with the top of the element\n *\n * Bottom:\n * - the container bottom is in-line with the bottom of the element\n */\nexport type VerticalPosition = \"above\" | \"below\" | \"center\" | \"top\" | \"bottom\";\n\n/**\n * Left:\n * - the container left is in-line with the right of the element\n *\n * Right:\n * - the container right is in-line with the left of the element\n *\n * Center:\n * - the container's horizontal center point will be aligned with the element's\n * horizontal center point\n *\n * Inner Left:\n * - the container's left is in-line with the left of the element\n *\n * Inner Right:\n * - the container's right is in-line with the right of the element\n */\nexport type HorizontalPosition =\n | \"left\"\n | \"right\"\n | \"center\"\n | \"inner-left\"\n | \"inner-right\";\n\n/**\n * An object containing the x and y positions to anchor a fixed element to\n * another container element.\n */\nexport interface PositionAnchor {\n x: HorizontalPosition;\n y: VerticalPosition;\n}\n\n/**\n * A \"simple\" version of all the positioning options. These are generally used\n * across all of react-md as it'll use the \"center\" version of the opposite type\n * when creating a fixed position.\n */\nexport type SimplePosition = \"above\" | \"below\" | \"left\" | \"right\";\n\n/**\n * An optional configuration for calculating and setting the width of the\n * element relative to the width of the container. When this value is set to\n * `\"auto\"` (default), the width will be based on content width but still\n * ensuring it can fit within the viewport. Setting this to `\"equal\"` will just\n * apply the container's width to the fixed element. Finally, setting this to\n * `\"min\"` will set the container's width as the `minWidth` for the fixed\n * element so that it is at least the same width as the container.\n *\n * If this is set to `\"equal\"` or `\"min\"` and the horizontal anchor is not set\n * to `\"center\"`, an error will be thrown.\n *\n * @defaultValue `\"auto\"`\n */\nexport type PositionWidth = \"auto\" | \"equal\" | \"min\";\n\nexport interface InitialCoords {\n /**\n * The initial x value to use when calculating the position instead of\n * finding the container element to determine the the correct position. All\n * the other positioning logic will still be in effect to ensure the element\n * will be visible within the viewport.\n */\n initialX?: number;\n\n /**\n * The initial y value to use when calculating the position instead of\n * finding the container element to determine the the correct position. All\n * the other positioning logic will still be in effect to ensure the element\n * will be visible within the viewport.\n */\n initialY?: number;\n}\n\n/** @since 4.0.0 */\nexport interface CalculateFixedPositionOptions extends InitialCoords {\n /**\n * The configuration to anchor the fixed element to the container element.\n *\n * @defaultValue `BELOW_CENTER_ANCHOR`\n */\n anchor?: PositionAnchor;\n\n /**\n * The viewwidth margin to apply so that the element doesn't need to be\n * directly on the screen edge.\n *\n * @defaultValue `16`\n */\n vwMargin?: number;\n\n /**\n * The viewwidth margin to apply so that the element doesn't need to be\n * directly on the screen edge.\n *\n * @defaultValue `16`\n */\n vhMargin?: number;\n\n /**\n * The container width margin to apply so that the element doesn't need to be\n * directly on the container's edge.\n *\n * @defaultValue `0`\n */\n xMargin?: number;\n\n /**\n * The container height margin to apply so that the element doesn't need to be\n * directly on the container's edge\n *\n * @defaultValue `0`\n */\n yMargin?: number;\n\n /** {@inheritDoc PositionWidth} */\n width?: PositionWidth;\n\n /**\n * Boolean if the style object should include the `transformOrigin` value\n * based on the x and y positions.\n *\n * @defaultValue `false`\n */\n transformOrigin?: boolean;\n\n /**\n * Boolean if the fixed element should no longer be able to overlap the\n * container element. This is useful for autocomplete menus or other\n * components that retain focus on the container element while the fixed\n * element becomes visible.\n *\n * @defaultValue `false`\n */\n preventOverlap?: boolean;\n\n /**\n * Boolean if the auto-swapping behavior should be disabled. It's normally\n * recommended to not disable this since it'll allow elements to appear off\n * screen.\n *\n * @defaultValue `false`\n * @since 5.0.0 This will always be `true` if the\n * {@link FixedPositionOptions.container} is `null`.\n * @since 5.1.6 Allow this to be `false` while the `container` is\n * null. I can't figure out why I prevented that.\n */\n disableSwapping?: boolean;\n\n /**\n * Boolean if the fixed positioning should no longer prevent the fixed element\n * to be positioned within the viewport. This is nice if you want to allow for\n * full page scrolling instead and manually set a max-height on your element.\n *\n * @defaultValue `false`\n */\n disableVHBounds?: boolean;\n}\n\nexport interface FixedPositionOptions extends CalculateFixedPositionOptions {\n /**\n * The container element that the `element` should be fixed to.\n */\n container: HTMLElement | null;\n\n /**\n * The element that is fixed to a `container` element.\n */\n element: HTMLElement | null;\n}\n\n/**\n * This is more of a private interface that is used to help show how fixed\n * elements are placed within the viewport. Most of the time the `top` and\n * `left` values will be provided, but there are a few flows where the `right`\n * and `bottom` could be added or the `top` and `left` are removed.\n *\n * The `width` values will only be used when the `equalWidth` or `minEqualWidth`\n * options are enabled.\n *\n * @internal\n */\nexport interface Coords {\n top?: number;\n right?: number;\n bottom?: number;\n left?: number;\n width?: number;\n minWidth?: number;\n}\n\n/**\n * The style object that should be applied to the fixed element so it will be\n * fixed to the container element. This will be `undefined` if the container\n * element doesn't exist within the DOM.\n *\n * Note: The fixed element styles **will not** contain styles for `z-index` or\n * `background-color` so you'll need to add that manually.\n *\n * @since 4.0.0\n */\nexport interface FixedPositionStyle extends Coords {\n /**\n * This will be `\"fixed\"` unless\n * {@link CalculateFixedPositionOptions.disableVHBounds} is set to `true`.\n */\n position: \"fixed\" | \"absolute\";\n\n /**\n * This will be `undefined` unless\n * {@link CalculateFixedPositionOptions.transformOrigin} is set to `true`\n */\n transformOrigin?: string;\n}\n\n/**\n * Since the position can be \"swapped\" to help fit the fixed element within the\n * viewport, this interface is used to contain the calculated positions as well\n * as an optional style object to apply.\n */\nexport interface FixedPosition {\n /**\n * The calculated horizontal position that can be used to compare to the\n * provided horizontal position anchor if additional manual updates should be\n * applied.\n */\n actualX: HorizontalPosition;\n\n /**\n * The calculated vertical position that can be used to compare to the\n * provided horizontal position anchor if additional manual updates should be\n * applied.\n */\n actualY: VerticalPosition;\n /** {@inheritDoc FixedPositionStyle} */\n style?: FixedPositionStyle;\n}\n"],"names":[],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GA0ND;;;;CAIC,GACD,WAgBC"}
@@ -1,6 +1,6 @@
1
- import type { CSSProperties, Ref, RefCallback, RefObject } from "react";
2
- import type { TransitionCallbacks } from "../transition/types.js";
3
- import type { CalculateFixedPositionOptions } from "./types.js";
1
+ import { type CSSProperties, type Ref, type RefCallback, type RefObject } from "react";
2
+ import { type TransitionCallbacks } from "../transition/types.js";
3
+ import { type CalculateFixedPositionOptions } from "./types.js";
4
4
  /**
5
5
  * @since 4.0.0
6
6
  */