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

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 (1165) hide show
  1. package/dist/CoreProviders.js.map +1 -1
  2. package/dist/NoSsr.js.map +1 -1
  3. package/dist/RootHtml.d.ts +0 -2
  4. package/dist/RootHtml.js +0 -2
  5. package/dist/RootHtml.js.map +1 -1
  6. package/dist/SsrProvider.js.map +1 -1
  7. package/dist/app-bar/AppBar.d.ts +0 -2
  8. package/dist/app-bar/AppBar.js +0 -2
  9. package/dist/app-bar/AppBar.js.map +1 -1
  10. package/dist/app-bar/AppBarTitle.d.ts +8 -7
  11. package/dist/app-bar/AppBarTitle.js +3 -4
  12. package/dist/app-bar/AppBarTitle.js.map +1 -1
  13. package/dist/autocomplete/Autocomplete.js.map +1 -1
  14. package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
  15. package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
  16. package/dist/autocomplete/FilterAutocompleteOptions.js.map +1 -1
  17. package/dist/autocomplete/autocompleteStyles.js.map +1 -1
  18. package/dist/autocomplete/defaults.d.ts +2 -2
  19. package/dist/autocomplete/defaults.js +3 -3
  20. package/dist/autocomplete/defaults.js.map +1 -1
  21. package/dist/autocomplete/types.js.map +1 -1
  22. package/dist/avatar/Avatar.d.ts +1 -4
  23. package/dist/avatar/Avatar.js +1 -4
  24. package/dist/avatar/Avatar.js.map +1 -1
  25. package/dist/avatar/styles.js.map +1 -1
  26. package/dist/badge/Badge.d.ts +1 -3
  27. package/dist/badge/Badge.js +0 -2
  28. package/dist/badge/Badge.js.map +1 -1
  29. package/dist/box/Box.d.ts +0 -2
  30. package/dist/box/Box.js +0 -2
  31. package/dist/box/Box.js.map +1 -1
  32. package/dist/box/styles.js.map +1 -1
  33. package/dist/button/AsyncButton.js.map +1 -1
  34. package/dist/button/Button.js.map +1 -1
  35. package/dist/button/ButtonUnstyled.d.ts +0 -2
  36. package/dist/button/ButtonUnstyled.js +0 -2
  37. package/dist/button/ButtonUnstyled.js.map +1 -1
  38. package/dist/button/FloatingActionButton.js.map +1 -1
  39. package/dist/button/TooltippedButton.js.map +1 -1
  40. package/dist/button/buttonStyles.js.map +1 -1
  41. package/dist/button/buttonUnstyledStyles.js.map +1 -1
  42. package/dist/card/Card.d.ts +2 -3
  43. package/dist/card/Card.js +0 -2
  44. package/dist/card/Card.js.map +1 -1
  45. package/dist/card/CardContent.d.ts +0 -2
  46. package/dist/card/CardContent.js +0 -2
  47. package/dist/card/CardContent.js.map +1 -1
  48. package/dist/card/CardFooter.d.ts +0 -3
  49. package/dist/card/CardFooter.js +0 -2
  50. package/dist/card/CardFooter.js.map +1 -1
  51. package/dist/card/CardHeader.d.ts +0 -2
  52. package/dist/card/CardHeader.js +0 -2
  53. package/dist/card/CardHeader.js.map +1 -1
  54. package/dist/card/CardSubtitle.d.ts +6 -3
  55. package/dist/card/CardSubtitle.js +2 -3
  56. package/dist/card/CardSubtitle.js.map +1 -1
  57. package/dist/card/CardTitle.d.ts +0 -3
  58. package/dist/card/CardTitle.js +0 -2
  59. package/dist/card/CardTitle.js.map +1 -1
  60. package/dist/card/ClickableCard.js.map +1 -1
  61. package/dist/card/styles.js +2 -4
  62. package/dist/card/styles.js.map +1 -1
  63. package/dist/chip/Chip.d.ts +0 -2
  64. package/dist/chip/Chip.js +0 -2
  65. package/dist/chip/Chip.js.map +1 -1
  66. package/dist/chip/styles.js.map +1 -1
  67. package/dist/cssUtils.d.ts +1 -1
  68. package/dist/cssUtils.js.map +1 -1
  69. package/dist/delegateEvent.js.map +1 -1
  70. package/dist/dialog/Dialog.js.map +1 -1
  71. package/dist/dialog/DialogContainer.d.ts +0 -2
  72. package/dist/dialog/DialogContainer.js +0 -2
  73. package/dist/dialog/DialogContainer.js.map +1 -1
  74. package/dist/dialog/DialogContent.d.ts +3 -3
  75. package/dist/dialog/DialogContent.js +3 -3
  76. package/dist/dialog/DialogContent.js.map +1 -1
  77. package/dist/dialog/DialogFooter.d.ts +2 -3
  78. package/dist/dialog/DialogFooter.js +2 -3
  79. package/dist/dialog/DialogFooter.js.map +1 -1
  80. package/dist/dialog/DialogHeader.d.ts +3 -3
  81. package/dist/dialog/DialogHeader.js +3 -3
  82. package/dist/dialog/DialogHeader.js.map +1 -1
  83. package/dist/dialog/DialogTitle.d.ts +3 -4
  84. package/dist/dialog/DialogTitle.js +3 -3
  85. package/dist/dialog/DialogTitle.js.map +1 -1
  86. package/dist/dialog/FixedDialog.js.map +1 -1
  87. package/dist/dialog/NestedDialogProvider.d.ts +0 -1
  88. package/dist/dialog/NestedDialogProvider.js.map +1 -1
  89. package/dist/dialog/styles.js.map +1 -1
  90. package/dist/divider/Divider.d.ts +0 -2
  91. package/dist/divider/Divider.js +0 -2
  92. package/dist/divider/Divider.js.map +1 -1
  93. package/dist/divider/styles.js.map +1 -1
  94. package/dist/draggable/useDraggable.js.map +1 -1
  95. package/dist/draggable/utils.js.map +1 -1
  96. package/dist/expansion-panel/ExpansionList.d.ts +1 -1
  97. package/dist/expansion-panel/ExpansionList.js +1 -1
  98. package/dist/expansion-panel/ExpansionList.js.map +1 -1
  99. package/dist/expansion-panel/ExpansionPanel.d.ts +8 -24
  100. package/dist/expansion-panel/ExpansionPanel.js +1 -12
  101. package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
  102. package/dist/expansion-panel/ExpansionPanelHeader.d.ts +0 -1
  103. package/dist/expansion-panel/ExpansionPanelHeader.js +0 -1
  104. package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
  105. package/dist/expansion-panel/expansionPanelStyles.d.ts +19 -0
  106. package/dist/expansion-panel/expansionPanelStyles.js +14 -0
  107. package/dist/expansion-panel/expansionPanelStyles.js.map +1 -0
  108. package/dist/expansion-panel/useExpansionList.js.map +1 -1
  109. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  110. package/dist/focus/useFocusContainer.js.map +1 -1
  111. package/dist/focus/utils.js.map +1 -1
  112. package/dist/form/Checkbox.d.ts +0 -1
  113. package/dist/form/Checkbox.js.map +1 -1
  114. package/dist/form/Fieldset.d.ts +0 -2
  115. package/dist/form/Fieldset.js.map +1 -1
  116. package/dist/form/FileInput.js.map +1 -1
  117. package/dist/form/Form.js.map +1 -1
  118. package/dist/form/FormMessage.d.ts +0 -3
  119. package/dist/form/FormMessage.js +0 -2
  120. package/dist/form/FormMessage.js.map +1 -1
  121. package/dist/form/FormMessageContainer.d.ts +0 -1
  122. package/dist/form/FormMessageContainer.js +0 -1
  123. package/dist/form/FormMessageContainer.js.map +1 -1
  124. package/dist/form/FormMessageCounter.d.ts +0 -2
  125. package/dist/form/FormMessageCounter.js +0 -2
  126. package/dist/form/FormMessageCounter.js.map +1 -1
  127. package/dist/form/InputToggle.js.map +1 -1
  128. package/dist/form/InputToggleIcon.d.ts +0 -2
  129. package/dist/form/InputToggleIcon.js +0 -2
  130. package/dist/form/InputToggleIcon.js.map +1 -1
  131. package/dist/form/Label.d.ts +0 -3
  132. package/dist/form/Label.js +0 -2
  133. package/dist/form/Label.js.map +1 -1
  134. package/dist/form/Legend.d.ts +0 -3
  135. package/dist/form/Legend.js +0 -2
  136. package/dist/form/Legend.js.map +1 -1
  137. package/dist/form/MenuItemCheckbox.d.ts +0 -1
  138. package/dist/form/MenuItemCheckbox.js.map +1 -1
  139. package/dist/form/MenuItemFileInput.js.map +1 -1
  140. package/dist/form/MenuItemInputToggle.js.map +1 -1
  141. package/dist/form/MenuItemRadio.d.ts +0 -1
  142. package/dist/form/MenuItemRadio.js.map +1 -1
  143. package/dist/form/MenuItemSwitch.d.ts +0 -1
  144. package/dist/form/MenuItemSwitch.js.map +1 -1
  145. package/dist/form/MenuItemTextField.js.map +1 -1
  146. package/dist/form/NativeSelect.d.ts +0 -2
  147. package/dist/form/NativeSelect.js +0 -2
  148. package/dist/form/NativeSelect.js.map +1 -1
  149. package/dist/form/OptGroup.js.map +1 -1
  150. package/dist/form/Option.js.map +1 -1
  151. package/dist/form/Password.js.map +1 -1
  152. package/dist/form/Radio.d.ts +0 -1
  153. package/dist/form/Radio.js.map +1 -1
  154. package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
  155. package/dist/form/Select.js.map +1 -1
  156. package/dist/form/SelectedOption.d.ts +0 -2
  157. package/dist/form/SelectedOption.js +0 -2
  158. package/dist/form/SelectedOption.js.map +1 -1
  159. package/dist/form/Slider.js.map +1 -1
  160. package/dist/form/SliderContainer.d.ts +0 -2
  161. package/dist/form/SliderContainer.js +0 -2
  162. package/dist/form/SliderContainer.js.map +1 -1
  163. package/dist/form/SliderMark.d.ts +0 -2
  164. package/dist/form/SliderMark.js +0 -2
  165. package/dist/form/SliderMark.js.map +1 -1
  166. package/dist/form/SliderMarkLabel.d.ts +0 -2
  167. package/dist/form/SliderMarkLabel.js +0 -2
  168. package/dist/form/SliderMarkLabel.js.map +1 -1
  169. package/dist/form/SliderThumb.js.map +1 -1
  170. package/dist/form/SliderTrack.d.ts +0 -2
  171. package/dist/form/SliderTrack.js +0 -2
  172. package/dist/form/SliderTrack.js.map +1 -1
  173. package/dist/form/SliderValueMarks.d.ts +0 -2
  174. package/dist/form/SliderValueMarks.js +0 -2
  175. package/dist/form/SliderValueMarks.js.map +1 -1
  176. package/dist/form/SliderValueTooltip.js.map +1 -1
  177. package/dist/form/Switch.d.ts +0 -2
  178. package/dist/form/Switch.js +0 -2
  179. package/dist/form/Switch.js.map +1 -1
  180. package/dist/form/SwitchTrack.d.ts +2 -1
  181. package/dist/form/SwitchTrack.js +2 -1
  182. package/dist/form/SwitchTrack.js.map +1 -1
  183. package/dist/form/TextArea.js.map +1 -1
  184. package/dist/form/TextField.d.ts +0 -2
  185. package/dist/form/TextField.js +0 -2
  186. package/dist/form/TextField.js.map +1 -1
  187. package/dist/form/TextFieldAddon.d.ts +1 -4
  188. package/dist/form/TextFieldAddon.js +1 -3
  189. package/dist/form/TextFieldAddon.js.map +1 -1
  190. package/dist/form/TextFieldContainer.js.map +1 -1
  191. package/dist/form/fileUtils.js.map +1 -1
  192. package/dist/form/formConfig.js.map +1 -1
  193. package/dist/form/formMessageStyles.js.map +1 -1
  194. package/dist/form/inputToggleStyles.js.map +1 -1
  195. package/dist/form/menuItemInputToggleStyles.js.map +1 -1
  196. package/dist/form/nativeSelectStyles.js.map +1 -1
  197. package/dist/form/optionStyles.js.map +1 -1
  198. package/dist/form/passwordStyles.js.map +1 -1
  199. package/dist/form/selectStyles.js.map +1 -1
  200. package/dist/form/selectUtils.js.map +1 -1
  201. package/dist/form/sliderUtils.js.map +1 -1
  202. package/dist/form/switchStyles.js.map +1 -1
  203. package/dist/form/textAreaStyles.js.map +1 -1
  204. package/dist/form/textFieldContainerStyles.js.map +1 -1
  205. package/dist/form/textFieldStyles.js.map +1 -1
  206. package/dist/form/types.js.map +1 -1
  207. package/dist/form/useCheckboxGroup.js.map +1 -1
  208. package/dist/form/useCombobox.js.map +1 -1
  209. package/dist/form/useEditableCombobox.js.map +1 -1
  210. package/dist/form/useFileUpload.js.map +1 -1
  211. package/dist/form/useFormReset.js.map +1 -1
  212. package/dist/form/useListboxProvider.js.map +1 -1
  213. package/dist/form/useNumberField.js.map +1 -1
  214. package/dist/form/useRadioGroup.js.map +1 -1
  215. package/dist/form/useRangeSlider.js.map +1 -1
  216. package/dist/form/useResizingTextArea.js.map +1 -1
  217. package/dist/form/useSelectCombobox.js.map +1 -1
  218. package/dist/form/useSlider.js.map +1 -1
  219. package/dist/form/useTextField.js.map +1 -1
  220. package/dist/form/useTextFieldContainerAddons.js.map +1 -1
  221. package/dist/form/utils.js.map +1 -1
  222. package/dist/form/validation.js.map +1 -1
  223. package/dist/hoverMode/useHoverMode.js.map +1 -1
  224. package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
  225. package/dist/icon/FontIcon.d.ts +10 -8
  226. package/dist/icon/FontIcon.js +1 -7
  227. package/dist/icon/FontIcon.js.map +1 -1
  228. package/dist/icon/IconRotator.d.ts +0 -2
  229. package/dist/icon/IconRotator.js +0 -2
  230. package/dist/icon/IconRotator.js.map +1 -1
  231. package/dist/icon/MaterialIcon.d.ts +18 -3
  232. package/dist/icon/MaterialIcon.js +13 -3
  233. package/dist/icon/MaterialIcon.js.map +1 -1
  234. package/dist/icon/MaterialSymbol.d.ts +0 -1
  235. package/dist/icon/MaterialSymbol.js +0 -1
  236. package/dist/icon/MaterialSymbol.js.map +1 -1
  237. package/dist/icon/SVGIcon.d.ts +3 -2
  238. package/dist/icon/SVGIcon.js +0 -2
  239. package/dist/icon/SVGIcon.js.map +1 -1
  240. package/dist/icon/TextIconSpacing.d.ts +0 -2
  241. package/dist/icon/TextIconSpacing.js +0 -2
  242. package/dist/icon/TextIconSpacing.js.map +1 -1
  243. package/dist/icon/_icon.scss +2 -2
  244. package/dist/icon/iconConfig.d.ts +1 -0
  245. package/dist/icon/iconConfig.js +1 -0
  246. package/dist/icon/iconConfig.js.map +1 -1
  247. package/dist/icon/material.d.ts +1 -1
  248. package/dist/icon/material.js.map +1 -1
  249. package/dist/icon/materialConfig.js.map +1 -1
  250. package/dist/icon/styles.js +1 -1
  251. package/dist/icon/styles.js.map +1 -1
  252. package/dist/interaction/Ripple.js.map +1 -1
  253. package/dist/interaction/RippleContainer.d.ts +0 -2
  254. package/dist/interaction/RippleContainer.js +0 -2
  255. package/dist/interaction/RippleContainer.js.map +1 -1
  256. package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
  257. package/dist/interaction/config.js.map +1 -1
  258. package/dist/interaction/types.js.map +1 -1
  259. package/dist/interaction/useElementInteraction.js.map +1 -1
  260. package/dist/interaction/useHigherContrastChildren.js.map +1 -1
  261. package/dist/interaction/utils.js.map +1 -1
  262. package/dist/layout/LayoutAppBar.d.ts +0 -1
  263. package/dist/layout/LayoutAppBar.js.map +1 -1
  264. package/dist/layout/LayoutNav.js +1 -2
  265. package/dist/layout/LayoutNav.js.map +1 -1
  266. package/dist/layout/LayoutWindowSplitter.d.ts +0 -1
  267. package/dist/layout/LayoutWindowSplitter.js.map +1 -1
  268. package/dist/layout/Main.js.map +1 -1
  269. package/dist/layout/layoutNavStyles.js.map +1 -1
  270. package/dist/layout/layoutWindowSplitterStyles.js.map +1 -1
  271. package/dist/layout/mainStyles.js.map +1 -1
  272. package/dist/layout/useExpandableLayout.js.map +1 -1
  273. package/dist/layout/useHorizontalLayoutTransition.js +1 -1
  274. package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
  275. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  276. package/dist/layout/useLayoutTree.d.ts +2 -2
  277. package/dist/layout/useLayoutTree.js.map +1 -1
  278. package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
  279. package/dist/layout/useMainTabIndex.js.map +1 -1
  280. package/dist/layout/useResizableLayout.js.map +1 -1
  281. package/dist/layout/useTemporaryLayout.js.map +1 -1
  282. package/dist/link/Link.d.ts +2 -6
  283. package/dist/link/Link.js +1 -4
  284. package/dist/link/Link.js.map +1 -1
  285. package/dist/link/SkipToMainContent.d.ts +10 -3
  286. package/dist/link/SkipToMainContent.js +4 -1
  287. package/dist/link/SkipToMainContent.js.map +1 -1
  288. package/dist/link/styles.d.ts +2 -2
  289. package/dist/link/styles.js.map +1 -1
  290. package/dist/list/List.d.ts +0 -20
  291. package/dist/list/List.js +1 -14
  292. package/dist/list/List.js.map +1 -1
  293. package/dist/list/ListItem.d.ts +0 -16
  294. package/dist/list/ListItem.js.map +1 -1
  295. package/dist/list/ListItemAddon.d.ts +0 -2
  296. package/dist/list/ListItemAddon.js +0 -2
  297. package/dist/list/ListItemAddon.js.map +1 -1
  298. package/dist/list/ListItemChildren.d.ts +0 -2
  299. package/dist/list/ListItemChildren.js +0 -2
  300. package/dist/list/ListItemChildren.js.map +1 -1
  301. package/dist/list/ListItemLink.js.map +1 -1
  302. package/dist/list/ListItemText.d.ts +0 -2
  303. package/dist/list/ListItemText.js +0 -2
  304. package/dist/list/ListItemText.js.map +1 -1
  305. package/dist/list/ListSubheader.d.ts +3 -2
  306. package/dist/list/ListSubheader.js +0 -2
  307. package/dist/list/ListSubheader.js.map +1 -1
  308. package/dist/list/getListItemHeight.d.ts +2 -2
  309. package/dist/list/getListItemHeight.js +2 -2
  310. package/dist/list/getListItemHeight.js.map +1 -1
  311. package/dist/list/listItemStyles.d.ts +17 -1
  312. package/dist/list/listItemStyles.js.map +1 -1
  313. package/dist/list/listStyles.d.ts +18 -0
  314. package/dist/list/listStyles.js +14 -0
  315. package/dist/list/listStyles.js.map +1 -0
  316. package/dist/list/types.d.ts +9 -3
  317. package/dist/list/types.js +6 -1
  318. package/dist/list/types.js.map +1 -1
  319. package/dist/media-queries/AppSizeProvider.d.ts +8 -0
  320. package/dist/media-queries/AppSizeProvider.js +2 -0
  321. package/dist/media-queries/AppSizeProvider.js.map +1 -1
  322. package/dist/media-queries/appSize.d.ts +5 -5
  323. package/dist/media-queries/appSize.js.map +1 -1
  324. package/dist/media-queries/useMediaQuery.d.ts +1 -1
  325. package/dist/media-queries/useMediaQuery.js +1 -1
  326. package/dist/media-queries/useMediaQuery.js.map +1 -1
  327. package/dist/menu/DropdownMenu.js.map +1 -1
  328. package/dist/menu/Menu.js.map +1 -1
  329. package/dist/menu/MenuBar.d.ts +0 -1
  330. package/dist/menu/MenuBar.js.map +1 -1
  331. package/dist/menu/MenuButton.d.ts +0 -1
  332. package/dist/menu/MenuButton.js.map +1 -1
  333. package/dist/menu/MenuConfigurationProvider.js.map +1 -1
  334. package/dist/menu/MenuItem.d.ts +0 -1
  335. package/dist/menu/MenuItem.js.map +1 -1
  336. package/dist/menu/MenuItemButton.d.ts +0 -1
  337. package/dist/menu/MenuItemButton.js.map +1 -1
  338. package/dist/menu/MenuItemCircularProgress.js.map +1 -1
  339. package/dist/menu/MenuItemGroup.js.map +1 -1
  340. package/dist/menu/MenuItemSeparator.js.map +1 -1
  341. package/dist/menu/MenuSheet.js.map +1 -1
  342. package/dist/menu/MenuVisibilityProvider.js.map +1 -1
  343. package/dist/menu/MenuWidget.js.map +1 -1
  344. package/dist/menu/MenuWidgetKeyboardProvider.js.map +1 -1
  345. package/dist/menu/useContextMenu.js.map +1 -1
  346. package/dist/menu/useMenuBarProvider.d.ts +0 -1
  347. package/dist/menu/useMenuBarProvider.js.map +1 -1
  348. package/dist/menu/utils.js.map +1 -1
  349. package/dist/movement/constants.js.map +1 -1
  350. package/dist/movement/findMatchIndex.js.map +1 -1
  351. package/dist/movement/types.js.map +1 -1
  352. package/dist/movement/useKeyboardMovementProvider.d.ts +0 -1
  353. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  354. package/dist/movement/utils.js.map +1 -1
  355. package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
  356. package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
  357. package/dist/navigation/NavGroup.d.ts +0 -2
  358. package/dist/navigation/NavGroup.js +0 -2
  359. package/dist/navigation/NavGroup.js.map +1 -1
  360. package/dist/navigation/NavItem.d.ts +0 -2
  361. package/dist/navigation/NavItem.js +0 -2
  362. package/dist/navigation/NavItem.js.map +1 -1
  363. package/dist/navigation/NavItemButton.js.map +1 -1
  364. package/dist/navigation/NavItemLink.js.map +1 -1
  365. package/dist/navigation/NavSubheader.d.ts +0 -3
  366. package/dist/navigation/NavSubheader.js +0 -2
  367. package/dist/navigation/NavSubheader.js.map +1 -1
  368. package/dist/navigation/Navigation.js.map +1 -1
  369. package/dist/navigation/getHrefFromParents.js.map +1 -1
  370. package/dist/navigation/navGroupStyles.js.map +1 -1
  371. package/dist/navigation/navItemStyles.js.map +1 -1
  372. package/dist/navigation/types.js.map +1 -1
  373. package/dist/navigation/useActiveHeadingId.js.map +1 -1
  374. package/dist/overlay/Overlay.d.ts +1 -0
  375. package/dist/overlay/Overlay.js.map +1 -1
  376. package/dist/overlay/overlayStyles.js.map +1 -1
  377. package/dist/portal/Portal.d.ts +4 -0
  378. package/dist/portal/Portal.js.map +1 -1
  379. package/dist/portal/PortalContainerProvider.d.ts +8 -3
  380. package/dist/portal/PortalContainerProvider.js +1 -0
  381. package/dist/portal/PortalContainerProvider.js.map +1 -1
  382. package/dist/positioning/constants.js.map +1 -1
  383. package/dist/positioning/createHorizontalPosition.js.map +1 -1
  384. package/dist/positioning/createVerticalPosition.js.map +1 -1
  385. package/dist/positioning/getFixedPosition.js.map +1 -1
  386. package/dist/positioning/types.js.map +1 -1
  387. package/dist/positioning/useFixedPositioning.js.map +1 -1
  388. package/dist/positioning/utils.js.map +1 -1
  389. package/dist/progress/CircularProgress.d.ts +5 -6
  390. package/dist/progress/CircularProgress.js +0 -2
  391. package/dist/progress/CircularProgress.js.map +1 -1
  392. package/dist/progress/LinearProgress.d.ts +0 -2
  393. package/dist/progress/LinearProgress.js +0 -2
  394. package/dist/progress/LinearProgress.js.map +1 -1
  395. package/dist/progress/getProgressA11y.js.map +1 -1
  396. package/dist/progress/types.js.map +1 -1
  397. package/dist/responsive-item/ResponsiveItemContainer.d.ts +0 -2
  398. package/dist/responsive-item/ResponsiveItemContainer.js +0 -2
  399. package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -1
  400. package/dist/responsive-item/ResponsiveItemOverlay.d.ts +0 -2
  401. package/dist/responsive-item/ResponsiveItemOverlay.js +0 -2
  402. package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
  403. package/dist/responsive-item/styles.js.map +1 -1
  404. package/dist/scroll/ScrollLock.js.map +1 -1
  405. package/dist/scroll/getScrollbarWidth.js.map +1 -1
  406. package/dist/scroll/useScrollLock.js.map +1 -1
  407. package/dist/searching/caseInsensitive.js.map +1 -1
  408. package/dist/searching/fuzzy.js.map +1 -1
  409. package/dist/searching/toSearchQuery.js.map +1 -1
  410. package/dist/searching/types.js.map +1 -1
  411. package/dist/searching/useFuzzyMatch.js.map +1 -1
  412. package/dist/searching/utils.js.map +1 -1
  413. package/dist/segmented-button/SegmentedButton.js.map +1 -1
  414. package/dist/segmented-button/SegmentedButtonContainer.d.ts +0 -2
  415. package/dist/segmented-button/SegmentedButtonContainer.js +0 -2
  416. package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
  417. package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
  418. package/dist/segmented-button/segmentedButtonStyles.js.map +1 -1
  419. package/dist/sheet/Sheet.d.ts +30 -16
  420. package/dist/sheet/Sheet.js +24 -14
  421. package/dist/sheet/Sheet.js.map +1 -1
  422. package/dist/sheet/styles.d.ts +29 -0
  423. package/dist/sheet/styles.js +13 -0
  424. package/dist/sheet/styles.js.map +1 -1
  425. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  426. package/dist/snackbar/Snackbar.js.map +1 -1
  427. package/dist/snackbar/Toast.js.map +1 -1
  428. package/dist/snackbar/ToastActionButton.d.ts +0 -1
  429. package/dist/snackbar/ToastActionButton.js.map +1 -1
  430. package/dist/snackbar/ToastCloseButton.d.ts +0 -1
  431. package/dist/snackbar/ToastCloseButton.js.map +1 -1
  432. package/dist/snackbar/ToastContent.js.map +1 -1
  433. package/dist/snackbar/ToastManager.js.map +1 -1
  434. package/dist/snackbar/ToastManagerProvider.js.map +1 -1
  435. package/dist/snackbar/snackbarStyles.js.map +1 -1
  436. package/dist/snackbar/toastContentStyles.js.map +1 -1
  437. package/dist/snackbar/toastStyles.js.map +1 -1
  438. package/dist/snackbar/useCurrentToastActions.d.ts +0 -1
  439. package/dist/snackbar/useCurrentToastActions.js.map +1 -1
  440. package/dist/suspense/CircularProgressSuspense.d.ts +0 -2
  441. package/dist/suspense/CircularProgressSuspense.js +0 -2
  442. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  443. package/dist/suspense/NullSuspense.d.ts +0 -2
  444. package/dist/suspense/NullSuspense.js +0 -2
  445. package/dist/suspense/NullSuspense.js.map +1 -1
  446. package/dist/table/StickyTableSection.d.ts +23 -0
  447. package/dist/table/StickyTableSection.js +56 -0
  448. package/dist/table/StickyTableSection.js.map +1 -0
  449. package/dist/table/Table.d.ts +1 -1
  450. package/dist/table/Table.js.map +1 -1
  451. package/dist/table/TableBody.d.ts +1 -1
  452. package/dist/table/TableBody.js.map +1 -1
  453. package/dist/table/TableCell.d.ts +3 -2
  454. package/dist/table/TableCell.js.map +1 -1
  455. package/dist/table/TableCellContent.d.ts +1 -5
  456. package/dist/table/TableCellContent.js +0 -3
  457. package/dist/table/TableCellContent.js.map +1 -1
  458. package/dist/table/TableCheckbox.js.map +1 -1
  459. package/dist/table/TableConfigurationProvider.d.ts +1 -74
  460. package/dist/table/TableConfigurationProvider.js.map +1 -1
  461. package/dist/table/TableContainer.js.map +1 -1
  462. package/dist/table/TableContainerProvider.js.map +1 -1
  463. package/dist/table/TableFooter.d.ts +8 -17
  464. package/dist/table/TableFooter.js +17 -80
  465. package/dist/table/TableFooter.js.map +1 -1
  466. package/dist/table/TableHeader.d.ts +8 -17
  467. package/dist/table/TableHeader.js +20 -87
  468. package/dist/table/TableHeader.js.map +1 -1
  469. package/dist/table/TableRadio.js.map +1 -1
  470. package/dist/table/TableRow.d.ts +1 -1
  471. package/dist/table/TableRow.js.map +1 -1
  472. package/dist/table/tableCellStyles.d.ts +1 -1
  473. package/dist/table/tableCellStyles.js.map +1 -1
  474. package/dist/table/tableContainerStyles.js.map +1 -1
  475. package/dist/table/tableFooterStyles.js.map +1 -1
  476. package/dist/table/tableHeaderStyles.js.map +1 -1
  477. package/dist/table/tableRowStyles.js.map +1 -1
  478. package/dist/table/tableStyles.js.map +1 -1
  479. package/dist/table/types.d.ts +89 -9
  480. package/dist/table/types.js.map +1 -1
  481. package/dist/table/useStickyTableSection.d.ts +27 -0
  482. package/dist/table/useStickyTableSection.js +84 -0
  483. package/dist/table/useStickyTableSection.js.map +1 -0
  484. package/dist/table/useTableSectionConfig.d.ts +13 -0
  485. package/dist/table/useTableSectionConfig.js +33 -0
  486. package/dist/table/useTableSectionConfig.js.map +1 -0
  487. package/dist/tabs/Tab.d.ts +3 -0
  488. package/dist/tabs/Tab.js.map +1 -1
  489. package/dist/tabs/TabList.js.map +1 -1
  490. package/dist/tabs/TabListScrollButton.js +5 -1
  491. package/dist/tabs/TabListScrollButton.js.map +1 -1
  492. package/dist/tabs/_tabs.scss +21 -3
  493. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  494. package/dist/tabs/tabListScrollButtonStyles.d.ts +2 -0
  495. package/dist/tabs/tabListScrollButtonStyles.js +9 -5
  496. package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
  497. package/dist/tabs/tabListStyles.js.map +1 -1
  498. package/dist/tabs/tabStyles.js.map +1 -1
  499. package/dist/tabs/useTabList.d.ts +2 -0
  500. package/dist/tabs/useTabList.js +4 -2
  501. package/dist/tabs/useTabList.js.map +1 -1
  502. package/dist/tabs/useTabs.d.ts +33 -11
  503. package/dist/tabs/useTabs.js +9 -3
  504. package/dist/tabs/useTabs.js.map +1 -1
  505. package/dist/tabs/utils.js.map +1 -1
  506. package/dist/test-utils/IntersectionObserver.js.map +1 -1
  507. package/dist/test-utils/ResizeObserver.js.map +1 -1
  508. package/dist/test-utils/data-testid.d.ts +0 -1
  509. package/dist/test-utils/data-testid.js.map +1 -1
  510. package/dist/test-utils/index.js.map +1 -1
  511. package/dist/test-utils/jest-setup.js.map +1 -1
  512. package/dist/test-utils/matchMedia.js.map +1 -1
  513. package/dist/test-utils/polyfills/IntersectionObserver.js.map +1 -1
  514. package/dist/test-utils/polyfills/ResizeObserver.js.map +1 -1
  515. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
  516. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -1
  517. package/dist/test-utils/polyfills/index.js.map +1 -1
  518. package/dist/test-utils/polyfills/matchMedia.js.map +1 -1
  519. package/dist/test-utils/polyfills/offsetParent.js.map +1 -1
  520. package/dist/test-utils/polyfills/scrollIntoView.js.map +1 -1
  521. package/dist/test-utils/render.js.map +1 -1
  522. package/dist/test-utils/timers.js.map +1 -1
  523. package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
  524. package/dist/theme/ThemeProvider.js.map +1 -1
  525. package/dist/theme/_theme.scss +2 -1
  526. package/dist/theme/colors.js.map +1 -1
  527. package/dist/theme/cssVars.js.map +1 -1
  528. package/dist/theme/types.js.map +1 -1
  529. package/dist/theme/useCSSVariables.js.map +1 -1
  530. package/dist/theme/useColorScheme.d.ts +0 -1
  531. package/dist/theme/useColorScheme.js.map +1 -1
  532. package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
  533. package/dist/theme/useColorSchemeProvider.js.map +1 -1
  534. package/dist/theme/usePrefersColorScheme.js.map +1 -1
  535. package/dist/theme/utils.js.map +1 -1
  536. package/dist/tooltip/Tooltip.d.ts +20 -9
  537. package/dist/tooltip/Tooltip.js.map +1 -1
  538. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  539. package/dist/tooltip/constants.js.map +1 -1
  540. package/dist/tooltip/tooltipStyles.js.map +1 -1
  541. package/dist/tooltip/useTooltip.d.ts +30 -16
  542. package/dist/tooltip/useTooltip.js.map +1 -1
  543. package/dist/tooltip/useTooltipPosition.d.ts +2 -4
  544. package/dist/tooltip/useTooltipPosition.js.map +1 -1
  545. package/dist/tooltip/utils.js.map +1 -1
  546. package/dist/transition/CSSTransition.js.map +1 -1
  547. package/dist/transition/Collapse.js.map +1 -1
  548. package/dist/transition/CrossFade.js.map +1 -1
  549. package/dist/transition/ScaleTransition.js.map +1 -1
  550. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  551. package/dist/transition/Slide.js.map +1 -1
  552. package/dist/transition/SlideContainer.d.ts +2 -48
  553. package/dist/transition/SlideContainer.js +2 -48
  554. package/dist/transition/SlideContainer.js.map +1 -1
  555. package/dist/transition/collapseStyles.js.map +1 -1
  556. package/dist/transition/config.js.map +1 -1
  557. package/dist/transition/maxWidthTransition.js.map +1 -1
  558. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
  559. package/dist/transition/types.d.ts +19 -24
  560. package/dist/transition/types.js.map +1 -1
  561. package/dist/transition/useCSSTransition.js.map +1 -1
  562. package/dist/transition/useCarousel.js.map +1 -1
  563. package/dist/transition/useCollapseTransition.js.map +1 -1
  564. package/dist/transition/useCrossFadeTransition.js.map +1 -1
  565. package/dist/transition/useMaxWidthTransition.js.map +1 -1
  566. package/dist/transition/useScaleTransition.js.map +1 -1
  567. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  568. package/dist/transition/useSlideTransition.js.map +1 -1
  569. package/dist/transition/useTransition.d.ts +1 -0
  570. package/dist/transition/useTransition.js +1 -0
  571. package/dist/transition/useTransition.js.map +1 -1
  572. package/dist/transition/utils.js.map +1 -1
  573. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -3
  574. package/dist/tree/DefaultTreeItemRenderer.js +1 -1
  575. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  576. package/dist/tree/Tree.d.ts +3 -4
  577. package/dist/tree/Tree.js.map +1 -1
  578. package/dist/tree/TreeGroup.js.map +1 -1
  579. package/dist/tree/TreeItem.d.ts +10 -3
  580. package/dist/tree/TreeItem.js +5 -2
  581. package/dist/tree/TreeItem.js.map +1 -1
  582. package/dist/tree/TreeItemExpander.js.map +1 -1
  583. package/dist/tree/TreeProvider.js.map +1 -1
  584. package/dist/tree/styles.js.map +1 -1
  585. package/dist/tree/types.d.ts +11 -6
  586. package/dist/tree/types.js +1 -26
  587. package/dist/tree/types.js.map +1 -1
  588. package/dist/tree/useTree.d.ts +5 -5
  589. package/dist/tree/useTree.js.map +1 -1
  590. package/dist/tree/useTreeExpansion.d.ts +3 -3
  591. package/dist/tree/useTreeExpansion.js.map +1 -1
  592. package/dist/tree/useTreeItems.js.map +1 -1
  593. package/dist/tree/useTreeMovement.js.map +1 -1
  594. package/dist/tree/useTreeSelection.d.ts +3 -3
  595. package/dist/tree/useTreeSelection.js.map +1 -1
  596. package/dist/tree/utils.js.map +1 -1
  597. package/dist/types.js.map +1 -1
  598. package/dist/typography/SrOnly.d.ts +2 -1
  599. package/dist/typography/SrOnly.js +2 -1
  600. package/dist/typography/SrOnly.js.map +1 -1
  601. package/dist/typography/TextContainer.d.ts +4 -2
  602. package/dist/typography/TextContainer.js +2 -2
  603. package/dist/typography/TextContainer.js.map +1 -1
  604. package/dist/typography/Typography.d.ts +10 -2
  605. package/dist/typography/Typography.js +3 -2
  606. package/dist/typography/Typography.js.map +1 -1
  607. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  608. package/dist/typography/WritingDirectionProvider.js +2 -2
  609. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  610. package/dist/typography/textContainerStyles.js.map +1 -1
  611. package/dist/typography/typographyStyles.js.map +1 -1
  612. package/dist/useAsyncFunction.js.map +1 -1
  613. package/dist/useDebouncedFunction.js.map +1 -1
  614. package/dist/useDropzone.js.map +1 -1
  615. package/dist/useElementSize.js.map +1 -1
  616. package/dist/useEnsuredId.js.map +1 -1
  617. package/dist/useEnsuredRef.js.map +1 -1
  618. package/dist/useEnsuredState.js.map +1 -1
  619. package/dist/useHtmlClassName.js.map +1 -1
  620. package/dist/useIntersectionObserver.js.map +1 -1
  621. package/dist/useIsomorphicLayoutEffect.js.map +1 -1
  622. package/dist/useLocalStorage.js.map +1 -1
  623. package/dist/useMutationObserver.js.map +1 -1
  624. package/dist/useOrientation.js.map +1 -1
  625. package/dist/usePageInactive.js.map +1 -1
  626. package/dist/useResizeListener.d.ts +7 -1
  627. package/dist/useResizeListener.js.map +1 -1
  628. package/dist/useResizeObserver.d.ts +3 -3
  629. package/dist/useResizeObserver.js.map +1 -1
  630. package/dist/useThrottledFunction.js.map +1 -1
  631. package/dist/useToggle.d.ts +4 -4
  632. package/dist/useToggle.js +1 -1
  633. package/dist/useToggle.js.map +1 -1
  634. package/dist/useUnmounted.js.map +1 -1
  635. package/dist/useWindowSize.js.map +1 -1
  636. package/dist/utils/RenderRecursively.js.map +1 -1
  637. package/dist/utils/alphaNumericSort.js.map +1 -1
  638. package/dist/utils/applyRef.js.map +1 -1
  639. package/dist/utils/bem.js.map +1 -1
  640. package/dist/utils/getClientPosition.js.map +1 -1
  641. package/dist/utils/getMiddleOfRange.js.map +1 -1
  642. package/dist/utils/getPercentage.js.map +1 -1
  643. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  644. package/dist/utils/getRangeSteps.js.map +1 -1
  645. package/dist/utils/identity.js.map +1 -1
  646. package/dist/utils/isElementVisible.js.map +1 -1
  647. package/dist/utils/loop.js.map +1 -1
  648. package/dist/utils/nearest.js.map +1 -1
  649. package/dist/utils/parseCssLengthUnit.js.map +1 -1
  650. package/dist/utils/randomInt.js.map +1 -1
  651. package/dist/utils/wait.js.map +1 -1
  652. package/dist/utils/withinRange.js.map +1 -1
  653. package/dist/window-splitter/WindowSplitter.d.ts +2 -2
  654. package/dist/window-splitter/WindowSplitter.js +2 -2
  655. package/dist/window-splitter/WindowSplitter.js.map +1 -1
  656. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  657. package/package.json +25 -24
  658. package/src/RootHtml.tsx +0 -2
  659. package/src/app-bar/AppBar.tsx +0 -2
  660. package/src/app-bar/AppBarTitle.tsx +8 -6
  661. package/src/autocomplete/defaults.ts +3 -3
  662. package/src/avatar/Avatar.tsx +1 -4
  663. package/src/badge/Badge.tsx +1 -3
  664. package/src/box/Box.tsx +0 -2
  665. package/src/button/ButtonUnstyled.tsx +0 -2
  666. package/src/card/Card.tsx +2 -3
  667. package/src/card/CardContent.tsx +0 -2
  668. package/src/card/CardFooter.tsx +0 -2
  669. package/src/card/CardHeader.tsx +0 -2
  670. package/src/card/CardSubtitle.tsx +9 -2
  671. package/src/card/CardTitle.tsx +0 -2
  672. package/src/card/styles.ts +2 -6
  673. package/src/chip/Chip.tsx +0 -2
  674. package/src/cssUtils.ts +1 -1
  675. package/src/dialog/DialogContainer.tsx +0 -2
  676. package/src/dialog/DialogContent.tsx +3 -3
  677. package/src/dialog/DialogFooter.tsx +2 -3
  678. package/src/dialog/DialogHeader.tsx +3 -3
  679. package/src/dialog/DialogTitle.tsx +3 -3
  680. package/src/divider/Divider.tsx +0 -2
  681. package/src/expansion-panel/ExpansionList.tsx +1 -1
  682. package/src/expansion-panel/ExpansionPanel.tsx +9 -38
  683. package/src/expansion-panel/ExpansionPanelHeader.tsx +0 -1
  684. package/src/expansion-panel/expansionPanelStyles.ts +33 -0
  685. package/src/form/Fieldset.tsx +0 -2
  686. package/src/form/FormMessage.tsx +0 -2
  687. package/src/form/FormMessageContainer.tsx +0 -1
  688. package/src/form/FormMessageCounter.tsx +0 -2
  689. package/src/form/InputToggle.tsx +1 -1
  690. package/src/form/InputToggleIcon.tsx +0 -2
  691. package/src/form/Label.tsx +0 -2
  692. package/src/form/Legend.tsx +0 -2
  693. package/src/form/NativeSelect.tsx +0 -2
  694. package/src/form/Option.tsx +1 -1
  695. package/src/form/SelectedOption.tsx +0 -2
  696. package/src/form/SliderContainer.tsx +0 -2
  697. package/src/form/SliderMark.tsx +0 -2
  698. package/src/form/SliderMarkLabel.tsx +0 -2
  699. package/src/form/SliderTrack.tsx +0 -2
  700. package/src/form/SliderValueMarks.tsx +0 -2
  701. package/src/form/Switch.tsx +0 -2
  702. package/src/form/SwitchTrack.tsx +2 -1
  703. package/src/form/TextField.tsx +0 -2
  704. package/src/form/TextFieldAddon.tsx +1 -3
  705. package/src/icon/FontIcon.tsx +19 -11
  706. package/src/icon/IconRotator.tsx +0 -2
  707. package/src/icon/MaterialIcon.tsx +22 -5
  708. package/src/icon/MaterialSymbol.tsx +0 -1
  709. package/src/icon/SVGIcon.tsx +3 -2
  710. package/src/icon/TextIconSpacing.tsx +0 -2
  711. package/src/icon/iconConfig.tsx +1 -0
  712. package/src/icon/material.ts +276 -19
  713. package/src/icon/styles.ts +1 -1
  714. package/src/interaction/RippleContainer.tsx +0 -2
  715. package/src/layout/LayoutNav.tsx +3 -2
  716. package/src/layout/useHorizontalLayoutTransition.ts +1 -1
  717. package/src/layout/useLayoutTree.ts +2 -2
  718. package/src/link/Link.tsx +2 -6
  719. package/src/link/SkipToMainContent.tsx +11 -4
  720. package/src/link/styles.ts +2 -2
  721. package/src/list/List.tsx +1 -33
  722. package/src/list/ListItem.tsx +0 -17
  723. package/src/list/ListItemAddon.tsx +0 -2
  724. package/src/list/ListItemChildren.tsx +0 -2
  725. package/src/list/ListItemText.tsx +0 -2
  726. package/src/list/ListSubheader.tsx +3 -2
  727. package/src/list/getListItemHeight.ts +2 -2
  728. package/src/list/listItemStyles.ts +21 -4
  729. package/src/list/listStyles.ts +31 -0
  730. package/src/list/types.ts +9 -3
  731. package/src/media-queries/AppSizeProvider.tsx +8 -0
  732. package/src/media-queries/useMediaQuery.ts +1 -1
  733. package/src/menu/MenuConfigurationProvider.tsx +2 -2
  734. package/src/navigation/NavGroup.tsx +0 -2
  735. package/src/navigation/NavItem.tsx +0 -2
  736. package/src/navigation/NavSubheader.tsx +0 -2
  737. package/src/overlay/Overlay.tsx +1 -0
  738. package/src/portal/Portal.tsx +5 -0
  739. package/src/portal/PortalContainerProvider.tsx +16 -7
  740. package/src/progress/CircularProgress.tsx +5 -6
  741. package/src/progress/LinearProgress.tsx +0 -2
  742. package/src/responsive-item/ResponsiveItemContainer.tsx +0 -2
  743. package/src/responsive-item/ResponsiveItemOverlay.tsx +0 -2
  744. package/src/segmented-button/SegmentedButtonContainer.tsx +0 -2
  745. package/src/sheet/Sheet.tsx +36 -33
  746. package/src/sheet/styles.ts +50 -0
  747. package/src/suspense/CircularProgressSuspense.tsx +0 -2
  748. package/src/suspense/NullSuspense.tsx +0 -2
  749. package/src/table/StickyTableSection.tsx +91 -0
  750. package/src/table/Table.tsx +2 -5
  751. package/src/table/TableBody.tsx +1 -2
  752. package/src/table/TableCell.tsx +3 -5
  753. package/src/table/TableCellContent.tsx +1 -6
  754. package/src/table/TableConfigurationProvider.tsx +1 -86
  755. package/src/table/TableFooter.tsx +19 -116
  756. package/src/table/TableHeader.tsx +20 -118
  757. package/src/table/TableRow.tsx +2 -4
  758. package/src/table/tableCellStyles.ts +1 -1
  759. package/src/table/types.ts +105 -10
  760. package/src/table/useStickyTableSection.tsx +126 -0
  761. package/src/table/useTableSectionConfig.ts +45 -0
  762. package/src/tabs/Tab.tsx +3 -0
  763. package/src/tabs/TabListScrollButton.tsx +9 -2
  764. package/src/tabs/tabListScrollButtonStyles.ts +9 -5
  765. package/src/tabs/useTabList.ts +4 -0
  766. package/src/tabs/useTabs.ts +61 -14
  767. package/src/test-utils/IntersectionObserver.ts +1 -1
  768. package/src/tooltip/Tooltip.tsx +24 -8
  769. package/src/tooltip/useTooltip.ts +52 -27
  770. package/src/tooltip/useTooltipPosition.ts +2 -4
  771. package/src/transition/SlideContainer.tsx +2 -48
  772. package/src/transition/types.ts +23 -27
  773. package/src/transition/useTransition.ts +1 -0
  774. package/src/tree/DefaultTreeItemRenderer.tsx +3 -4
  775. package/src/tree/Tree.tsx +4 -6
  776. package/src/tree/TreeItem.tsx +11 -4
  777. package/src/tree/types.ts +16 -6
  778. package/src/tree/useTree.ts +5 -7
  779. package/src/tree/useTreeExpansion.ts +3 -3
  780. package/src/tree/useTreeSelection.ts +3 -3
  781. package/src/typography/SrOnly.tsx +2 -1
  782. package/src/typography/TextContainer.tsx +4 -2
  783. package/src/typography/Typography.tsx +10 -2
  784. package/src/typography/WritingDirectionProvider.tsx +2 -2
  785. package/src/useResizeListener.ts +8 -2
  786. package/src/useResizeObserver.ts +3 -3
  787. package/src/useToggle.ts +4 -4
  788. package/src/window-splitter/WindowSplitter.tsx +2 -2
  789. package/.eslintrc.cjs +0 -26
  790. package/.stylelintrc.json +0 -14
  791. package/.swcrc +0 -17
  792. package/.turbo/turbo-build.log +0 -22
  793. package/.turbo/turbo-lint.log +0 -12
  794. package/.turbo/turbo-test.log +0 -5498
  795. package/.turbo/turbo-typecheck.log +0 -26
  796. package/CHANGELOG.md +0 -310
  797. package/coverage/clover.xml +0 -775
  798. package/coverage/coverage-final.json +0 -5
  799. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +0 -967
  800. package/coverage/lcov-report/autocomplete/index.html +0 -116
  801. package/coverage/lcov-report/base.css +0 -224
  802. package/coverage/lcov-report/block-navigation.js +0 -87
  803. package/coverage/lcov-report/button/Button.tsx.html +0 -676
  804. package/coverage/lcov-report/button/index.html +0 -116
  805. package/coverage/lcov-report/createHorizontalPosition.ts.html +0 -1075
  806. package/coverage/lcov-report/createVerticalPosition.ts.html +0 -997
  807. package/coverage/lcov-report/favicon.png +0 -0
  808. package/coverage/lcov-report/index.html +0 -161
  809. package/coverage/lcov-report/prettify.css +0 -1
  810. package/coverage/lcov-report/prettify.js +0 -2
  811. package/coverage/lcov-report/searching/fuzzy.ts.html +0 -607
  812. package/coverage/lcov-report/searching/index.html +0 -116
  813. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  814. package/coverage/lcov-report/sorter.js +0 -196
  815. package/coverage/lcov-report/typography/SrOnly.tsx.html +0 -325
  816. package/coverage/lcov-report/typography/index.html +0 -116
  817. package/coverage/lcov-report/utils.ts.html +0 -1225
  818. package/coverage/lcov.info +0 -836
  819. package/jest.config.ts +0 -68
  820. package/jest.setup.ts +0 -3
  821. package/scripts/copySassFiles.ts +0 -70
  822. package/scripts/tsconfig.json +0 -18
  823. package/src/__tests__/NoSsr.node.tsx +0 -26
  824. package/src/__tests__/NoSsr.tsx +0 -89
  825. package/src/__tests__/RootHtml.node.tsx +0 -46
  826. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +0 -19
  827. package/src/__tests__/useAsyncFunction.tsx +0 -124
  828. package/src/__tests__/useDebouncedFunction.tsx +0 -108
  829. package/src/__tests__/useDropzone.tsx +0 -131
  830. package/src/__tests__/useElementSize.tsx +0 -181
  831. package/src/__tests__/useEnsuredId.tsx +0 -25
  832. package/src/__tests__/useEnsuredState.tsx +0 -74
  833. package/src/__tests__/useHtmlClassName.tsx +0 -54
  834. package/src/__tests__/useLocalStorage.tsx +0 -377
  835. package/src/__tests__/useOrientation.node.tsx +0 -20
  836. package/src/__tests__/useOrientation.tsx +0 -63
  837. package/src/__tests__/useResizeObserver.tsx +0 -258
  838. package/src/__tests__/useThrottledFunction.tsx +0 -226
  839. package/src/__tests__/useToggle.tsx +0 -78
  840. package/src/__tests__/useWindowSize.node.tsx +0 -56
  841. package/src/__tests__/useWindowSize.tsx +0 -155
  842. package/src/_box-shadows.scss +0 -219
  843. package/src/_core.scss +0 -432
  844. package/src/_utils.scss +0 -348
  845. package/src/app-bar/__tests__/AppBar.tsx +0 -121
  846. package/src/app-bar/__tests__/AppBarTitle.tsx +0 -39
  847. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +0 -186
  848. package/src/app-bar/__tests__/__snapshots__/AppBarTitle.tsx.snap +0 -47
  849. package/src/app-bar/_app-bar.scss +0 -248
  850. package/src/autocomplete/__tests__/Autocomplete.tsx +0 -458
  851. package/src/autocomplete/__tests__/__snapshots__/Autocomplete.tsx.snap +0 -144
  852. package/src/autocomplete/_autocomplete.scss +0 -75
  853. package/src/avatar/__tests__/Avatar.tsx +0 -75
  854. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +0 -73
  855. package/src/avatar/_avatar.scss +0 -157
  856. package/src/badge/__tests__/Badge.tsx +0 -42
  857. package/src/badge/__tests__/__snapshots__/Badge.tsx.snap +0 -54
  858. package/src/badge/_badge.scss +0 -145
  859. package/src/box/__tests__/Box.tsx +0 -158
  860. package/src/box/__tests__/__snapshots__/Box.tsx.snap +0 -544
  861. package/src/box/_box.scss +0 -168
  862. package/src/button/__tests__/AsyncButton.tsx +0 -211
  863. package/src/button/__tests__/Button.tsx +0 -198
  864. package/src/button/__tests__/ButtonUnstyled.tsx +0 -37
  865. package/src/button/__tests__/TooltippedButton.tsx +0 -60
  866. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +0 -418
  867. package/src/button/__tests__/__snapshots__/Button.tsx.snap +0 -573
  868. package/src/button/__tests__/__snapshots__/ButtonUnstyled.tsx.snap +0 -22
  869. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +0 -26
  870. package/src/button/__tests__/__snapshots__/buttonStyles.ts.snap +0 -11
  871. package/src/button/__tests__/buttonStyles.ts +0 -15
  872. package/src/button/_button.scss +0 -330
  873. package/src/card/__tests__/Card.tsx +0 -37
  874. package/src/card/__tests__/CardContent.tsx +0 -40
  875. package/src/card/__tests__/CardFooter.tsx +0 -34
  876. package/src/card/__tests__/CardHeader.tsx +0 -66
  877. package/src/card/__tests__/CardSubtitle.tsx +0 -30
  878. package/src/card/__tests__/CardTitle.tsx +0 -30
  879. package/src/card/__tests__/ClickableCard.tsx +0 -66
  880. package/src/card/__tests__/__snapshots__/Card.tsx.snap +0 -40
  881. package/src/card/__tests__/__snapshots__/CardContent.tsx.snap +0 -50
  882. package/src/card/__tests__/__snapshots__/CardFooter.tsx.snap +0 -30
  883. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +0 -74
  884. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +0 -18
  885. package/src/card/__tests__/__snapshots__/CardTitle.tsx.snap +0 -18
  886. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +0 -20
  887. package/src/card/__tests__/__snapshots__/styles.ts.snap +0 -13
  888. package/src/card/__tests__/styles.ts +0 -45
  889. package/src/card/_card.scss +0 -189
  890. package/src/chip/__tests__/Chip.tsx +0 -327
  891. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +0 -597
  892. package/src/chip/__tests__/__snapshots__/styles.ts.snap +0 -5
  893. package/src/chip/__tests__/styles.ts +0 -14
  894. package/src/chip/_chip.scss +0 -324
  895. package/src/dialog/__tests__/Dialog.tsx +0 -316
  896. package/src/dialog/__tests__/DialogContent.tsx +0 -53
  897. package/src/dialog/__tests__/DialogFooter.tsx +0 -70
  898. package/src/dialog/__tests__/DialogHeader.tsx +0 -37
  899. package/src/dialog/__tests__/DialogTitle.tsx +0 -41
  900. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +0 -84
  901. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +0 -36
  902. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +0 -186
  903. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +0 -18
  904. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +0 -26
  905. package/src/dialog/_dialog.scss +0 -273
  906. package/src/divider/__tests__/Divider.tsx +0 -36
  907. package/src/divider/__tests__/__snapshots__/Divider.tsx.snap +0 -26
  908. package/src/divider/_divider.scss +0 -124
  909. package/src/draggable/__tests__/__snapshots__/useDraggable.tsx.snap +0 -49
  910. package/src/draggable/__tests__/useDraggable.tsx +0 -540
  911. package/src/draggable/_draggable.scss +0 -29
  912. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +0 -290
  913. package/src/expansion-panel/__tests__/__snapshots__/ExpansionPanel.tsx.snap +0 -197
  914. package/src/expansion-panel/_expansion-panel.scss +0 -107
  915. package/src/focus/__tests__/useFocusContainer.tsx +0 -280
  916. package/src/form/__tests__/Checkbox.tsx +0 -42
  917. package/src/form/__tests__/Fieldset.tsx +0 -44
  918. package/src/form/__tests__/FileInput.tsx +0 -120
  919. package/src/form/__tests__/Label.tsx +0 -69
  920. package/src/form/__tests__/Legend.tsx +0 -34
  921. package/src/form/__tests__/MenuItemCheckbox.tsx +0 -53
  922. package/src/form/__tests__/MenuItemRadio.tsx +0 -53
  923. package/src/form/__tests__/Radio.tsx +0 -35
  924. package/src/form/__tests__/Select.tsx +0 -439
  925. package/src/form/__tests__/Switch.tsx +0 -152
  926. package/src/form/__tests__/TextArea.tsx +0 -433
  927. package/src/form/__tests__/TextField.tsx +0 -195
  928. package/src/form/__tests__/__snapshots__/Checkbox.tsx.snap +0 -99
  929. package/src/form/__tests__/__snapshots__/Fieldset.tsx.snap +0 -58
  930. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +0 -612
  931. package/src/form/__tests__/__snapshots__/Label.tsx.snap +0 -140
  932. package/src/form/__tests__/__snapshots__/Legend.tsx.snap +0 -30
  933. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +0 -96
  934. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +0 -96
  935. package/src/form/__tests__/__snapshots__/Radio.tsx.snap +0 -99
  936. package/src/form/__tests__/__snapshots__/Select.tsx.snap +0 -492
  937. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +0 -428
  938. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +0 -548
  939. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +0 -279
  940. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +0 -481
  941. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +0 -704
  942. package/src/form/__tests__/useCheckboxGroup.tsx +0 -292
  943. package/src/form/__tests__/useFileUpload.tsx +0 -289
  944. package/src/form/__tests__/useFormReset.tsx +0 -194
  945. package/src/form/__tests__/useRadioGroup.tsx +0 -227
  946. package/src/form/__tests__/utils.ts +0 -247
  947. package/src/form/_form.scss +0 -2190
  948. package/src/icon/__tests__/FontIcon.tsx +0 -45
  949. package/src/icon/__tests__/IconRotator.tsx +0 -120
  950. package/src/icon/__tests__/MaterialIcon.tsx +0 -79
  951. package/src/icon/__tests__/MaterialSymbol.tsx +0 -100
  952. package/src/icon/__tests__/SVGIcon.tsx +0 -40
  953. package/src/icon/__tests__/TextIconSpacing.tsx +0 -108
  954. package/src/icon/__tests__/__snapshots__/FontIcon.tsx.snap +0 -35
  955. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +0 -165
  956. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +0 -82
  957. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +0 -42
  958. package/src/icon/__tests__/__snapshots__/SVGIcon.tsx.snap +0 -47
  959. package/src/icon/__tests__/__snapshots__/TextIconSpacing.tsx.snap +0 -101
  960. package/src/icon/__tests__/__snapshots__/styles.ts.snap +0 -29
  961. package/src/icon/__tests__/styles.ts +0 -28
  962. package/src/icon/_icon.scss +0 -213
  963. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +0 -121
  964. package/src/interaction/__tests__/__snapshots__/useHigherContrastChildren.tsx.snap +0 -79
  965. package/src/interaction/__tests__/useHigherContrastChildren.tsx +0 -97
  966. package/src/interaction/_interaction.scss +0 -436
  967. package/src/layout/__tests__/LayoutAppBar.tsx +0 -117
  968. package/src/layout/__tests__/LayoutNav.tsx +0 -78
  969. package/src/layout/__tests__/LayoutWindowSplitter.tsx +0 -63
  970. package/src/layout/__tests__/Main.tsx +0 -51
  971. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +0 -78
  972. package/src/layout/__tests__/__snapshots__/LayoutNav.tsx.snap +0 -31
  973. package/src/layout/__tests__/__snapshots__/LayoutWindowSplitter.tsx.snap +0 -60
  974. package/src/layout/__tests__/__snapshots__/Main.tsx.snap +0 -32
  975. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +0 -116
  976. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +0 -676
  977. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +0 -95
  978. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +0 -141
  979. package/src/layout/__tests__/useExpandableLayout.tsx +0 -279
  980. package/src/layout/__tests__/useLayoutTree.tsx +0 -212
  981. package/src/layout/__tests__/useResizableLayout.tsx +0 -170
  982. package/src/layout/__tests__/useTemporaryLayout.tsx +0 -109
  983. package/src/layout/_layout.scss +0 -163
  984. package/src/link/__tests__/Link.tsx +0 -31
  985. package/src/link/__tests__/SkipToMainContent.tsx +0 -125
  986. package/src/link/__tests__/__snapshots__/Link.tsx.snap +0 -20
  987. package/src/link/__tests__/__snapshots__/SkipToMainContent.tsx.snap +0 -22
  988. package/src/link/_link.scss +0 -149
  989. package/src/list/__tests__/List.tsx +0 -58
  990. package/src/list/__tests__/ListItem.tsx +0 -280
  991. package/src/list/__tests__/ListItemLink.tsx +0 -89
  992. package/src/list/__tests__/ListSubheader.tsx +0 -81
  993. package/src/list/__tests__/__snapshots__/List.tsx.snap +0 -41
  994. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +0 -414
  995. package/src/list/__tests__/__snapshots__/ListItemLink.tsx.snap +0 -73
  996. package/src/list/__tests__/__snapshots__/ListSubheader.tsx.snap +0 -99
  997. package/src/list/__tests__/getListItemHeight.ts +0 -176
  998. package/src/list/_list.scss +0 -322
  999. package/src/media-queries/__tests__/AppSizeProvider.node.tsx +0 -37
  1000. package/src/media-queries/__tests__/AppSizeProvider.tsx +0 -119
  1001. package/src/media-queries/__tests__/useMediaQuery.node.tsx +0 -20
  1002. package/src/media-queries/__tests__/useMediaQuery.tsx +0 -59
  1003. package/src/media-queries/_media-queries.scss +0 -63
  1004. package/src/menu/__tests__/DropdownMenu.tsx +0 -627
  1005. package/src/menu/__tests__/MenuBar.tsx +0 -354
  1006. package/src/menu/__tests__/MenuItemCircularProgress.tsx +0 -39
  1007. package/src/menu/__tests__/MenuVisibilityProvider.tsx +0 -34
  1008. package/src/menu/__tests__/__snapshots__/DropdownMenu.tsx.snap +0 -292
  1009. package/src/menu/__tests__/__snapshots__/MenuBar.tsx.snap +0 -87
  1010. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +0 -68
  1011. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +0 -54
  1012. package/src/menu/__tests__/useContextMenu.tsx +0 -41
  1013. package/src/menu/__tests__/utils.ts +0 -121
  1014. package/src/menu/_menu.scss +0 -116
  1015. package/src/movement/__tests__/findMatchIndex.ts +0 -244
  1016. package/src/movement/__tests__/utils.ts +0 -710
  1017. package/src/navigation/__tests__/Navigation.tsx +0 -97
  1018. package/src/navigation/__tests__/__snapshots__/Navigation.tsx.snap +0 -165
  1019. package/src/navigation/_navigation.scss +0 -99
  1020. package/src/overlay/__tests__/Overlay.tsx +0 -198
  1021. package/src/overlay/__tests__/__snapshots__/Overlay.tsx.snap +0 -77
  1022. package/src/overlay/_overlay.scss +0 -74
  1023. package/src/portal/__tests__/PortalContainerProvider.node.tsx +0 -26
  1024. package/src/portal/__tests__/PortalContainerProvider.tsx +0 -84
  1025. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -87
  1026. package/src/positioning/__tests__/createHorizontalPosition.ts +0 -777
  1027. package/src/positioning/__tests__/createVerticalPosition.ts +0 -464
  1028. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -205
  1029. package/src/positioning/__tests__/utils.ts +0 -1311
  1030. package/src/progress/__tests__/CircularProgress.tsx +0 -153
  1031. package/src/progress/__tests__/LinearProgress.tsx +0 -131
  1032. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +0 -499
  1033. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +0 -321
  1034. package/src/progress/__tests__/getProgressA11y.ts +0 -16
  1035. package/src/progress/_progress.scss +0 -577
  1036. package/src/responsive-item/__tests__/ResponsiveItemContainer.tsx +0 -56
  1037. package/src/responsive-item/__tests__/ResponsiveItemOverlay.tsx +0 -66
  1038. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemContainer.tsx.snap +0 -85
  1039. package/src/responsive-item/__tests__/__snapshots__/ResponsiveItemOverlay.tsx.snap +0 -151
  1040. package/src/responsive-item/__tests__/__snapshots__/styles.ts.snap +0 -9
  1041. package/src/responsive-item/__tests__/styles.ts +0 -32
  1042. package/src/responsive-item/_responsive-item.scss +0 -199
  1043. package/src/searching/__tests__/caseInsensitive.ts +0 -165
  1044. package/src/searching/__tests__/fuzzy.ts +0 -169
  1045. package/src/searching/__tests__/toSearchQuery.ts +0 -21
  1046. package/src/searching/__tests__/useFuzzyMatch.tsx +0 -200
  1047. package/src/segmented-button/__tests__/SegmentedButton.tsx +0 -61
  1048. package/src/segmented-button/__tests__/SegmentedButtonContainer.tsx +0 -38
  1049. package/src/segmented-button/__tests__/__snapshots__/SegmentedButton.tsx.snap +0 -116
  1050. package/src/segmented-button/__tests__/__snapshots__/SegmentedButtonContainer.tsx.snap +0 -22
  1051. package/src/segmented-button/_segmented-button.scss +0 -208
  1052. package/src/sheet/_sheet.scss +0 -189
  1053. package/src/snackbar/__tests__/Snackbar.tsx +0 -85
  1054. package/src/snackbar/__tests__/Toast.tsx +0 -105
  1055. package/src/snackbar/__tests__/ToastActionButton.tsx +0 -112
  1056. package/src/snackbar/__tests__/ToastCloseButton.tsx +0 -140
  1057. package/src/snackbar/__tests__/ToastContent.tsx +0 -88
  1058. package/src/snackbar/__tests__/ToastManagerProvider.tsx +0 -852
  1059. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +0 -176
  1060. package/src/snackbar/__tests__/__snapshots__/Toast.tsx.snap +0 -52
  1061. package/src/snackbar/__tests__/__snapshots__/ToastActionButton.tsx.snap +0 -36
  1062. package/src/snackbar/__tests__/__snapshots__/ToastCloseButton.tsx.snap +0 -104
  1063. package/src/snackbar/__tests__/__snapshots__/ToastContent.tsx.snap +0 -26
  1064. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +0 -290
  1065. package/src/snackbar/_snackbar.scss +0 -266
  1066. package/src/suspense/__tests__/CircularProgressSuspense.tsx +0 -90
  1067. package/src/suspense/__tests__/NullSuspense.tsx +0 -46
  1068. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +0 -24
  1069. package/src/table/__tests__/Table.tsx +0 -314
  1070. package/src/table/__tests__/TableBody.tsx +0 -52
  1071. package/src/table/__tests__/TableCheckbox.tsx +0 -89
  1072. package/src/table/__tests__/TableContainer.tsx +0 -31
  1073. package/src/table/__tests__/TableRadio.tsx +0 -112
  1074. package/src/table/__tests__/TableRow.tsx +0 -63
  1075. package/src/table/__tests__/__snapshots__/Table.tsx.snap +0 -2426
  1076. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +0 -54
  1077. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +0 -142
  1078. package/src/table/__tests__/__snapshots__/TableContainer.tsx.snap +0 -16
  1079. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +0 -138
  1080. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +0 -56
  1081. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +0 -3
  1082. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +0 -3
  1083. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +0 -3
  1084. package/src/table/__tests__/tableContainerStyles.ts +0 -8
  1085. package/src/table/__tests__/tableRowStyles.ts +0 -8
  1086. package/src/table/__tests__/tableStyles.ts +0 -8
  1087. package/src/table/_table.scss +0 -447
  1088. package/src/tabs/__tests__/Tab.tsx +0 -51
  1089. package/src/tabs/__tests__/TabList.tsx +0 -640
  1090. package/src/tabs/__tests__/__snapshots__/Tab.tsx.snap +0 -85
  1091. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +0 -51
  1092. package/src/tabs/__tests__/useTabs.tsx +0 -212
  1093. package/src/tabs/_tabs.scss +0 -273
  1094. package/src/test-utils/__tests__/ResizeObserver.ts +0 -171
  1095. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +0 -162
  1096. package/src/theme/__tests__/ThemeProvider.tsx +0 -90
  1097. package/src/theme/__tests__/__snapshots__/useCSSVariables.tsx.snap +0 -27
  1098. package/src/theme/__tests__/__snapshots__/useColorSchemeMetaTag.tsx.snap +0 -15
  1099. package/src/theme/__tests__/useCSSVariables.tsx +0 -177
  1100. package/src/theme/__tests__/useColorSchemeMetaTag.tsx +0 -36
  1101. package/src/theme/__tests__/utils.ts +0 -67
  1102. package/src/theme/_a11y.scss +0 -114
  1103. package/src/theme/_colors.scss +0 -1057
  1104. package/src/theme/_theme.scss +0 -519
  1105. package/src/tooltip/__tests__/Tooltip.tsx +0 -501
  1106. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +0 -94
  1107. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -34
  1108. package/src/tooltip/__tests__/utils.ts +0 -94
  1109. package/src/tooltip/_tooltip.scss +0 -155
  1110. package/src/transition/__tests__/CSSTransition.tsx +0 -182
  1111. package/src/transition/__tests__/Collapse.tsx +0 -209
  1112. package/src/transition/__tests__/CrossFade.tsx +0 -227
  1113. package/src/transition/__tests__/ScaleTransition.tsx +0 -204
  1114. package/src/transition/__tests__/SkeletonPlaceholder.tsx +0 -72
  1115. package/src/transition/__tests__/__snapshots__/CSSTransition.tsx.snap +0 -145
  1116. package/src/transition/__tests__/__snapshots__/Collapse.tsx.snap +0 -224
  1117. package/src/transition/__tests__/__snapshots__/CrossFade.tsx.snap +0 -240
  1118. package/src/transition/__tests__/__snapshots__/ScaleTransition.tsx.snap +0 -239
  1119. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +0 -24
  1120. package/src/transition/__tests__/__snapshots__/useCollapseTransition.tsx.snap +0 -361
  1121. package/src/transition/__tests__/__snapshots__/useCrossFadeTransition.tsx.snap +0 -258
  1122. package/src/transition/__tests__/__snapshots__/useMaxWidthTransition.tsx.snap +0 -68
  1123. package/src/transition/__tests__/__snapshots__/useScaleTransition.tsx.snap +0 -209
  1124. package/src/transition/__tests__/useCSSTransition.tsx +0 -190
  1125. package/src/transition/__tests__/useCollapseTransition.tsx +0 -316
  1126. package/src/transition/__tests__/useCrossFadeTransition.tsx +0 -229
  1127. package/src/transition/__tests__/useMaxWidthTransition.tsx +0 -123
  1128. package/src/transition/__tests__/useScaleTransition.tsx +0 -212
  1129. package/src/transition/__tests__/useTransition.tsx +0 -569
  1130. package/src/transition/__tests__/utils.ts +0 -620
  1131. package/src/transition/_transition.scss +0 -365
  1132. package/src/tree/__tests__/Tree.tsx +0 -735
  1133. package/src/tree/__tests__/TreeGroup.tsx +0 -76
  1134. package/src/tree/__tests__/TreeItemExpander.tsx +0 -74
  1135. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +0 -3618
  1136. package/src/tree/__tests__/__snapshots__/TreeItemExpander.tsx.snap +0 -11
  1137. package/src/tree/__tests__/utils.ts +0 -98
  1138. package/src/tree/_tree.scss +0 -176
  1139. package/src/typography/__tests__/SrOnly.tsx +0 -43
  1140. package/src/typography/__tests__/TextContainer.tsx +0 -45
  1141. package/src/typography/__tests__/Typography.tsx +0 -87
  1142. package/src/typography/__tests__/WritingDirectionProvider.node.tsx +0 -27
  1143. package/src/typography/__tests__/WritingDirectionProvider.tsx +0 -119
  1144. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +0 -56
  1145. package/src/typography/__tests__/__snapshots__/TextContainer.tsx.snap +0 -29
  1146. package/src/typography/__tests__/__snapshots__/Typography.tsx.snap +0 -112
  1147. package/src/typography/_typography.scss +0 -399
  1148. package/src/utils/__tests__/RenderRecursively.tsx +0 -87
  1149. package/src/utils/__tests__/__snapshots__/RenderRecursively.tsx.snap +0 -80
  1150. package/src/utils/__tests__/applyRef.ts +0 -30
  1151. package/src/utils/__tests__/bem.ts +0 -54
  1152. package/src/utils/__tests__/getMiddleOfRange.ts +0 -12
  1153. package/src/utils/__tests__/getPercentage.ts +0 -104
  1154. package/src/utils/__tests__/getRangeDefaultValue.ts +0 -47
  1155. package/src/utils/__tests__/getRangeSteps.ts +0 -14
  1156. package/src/utils/__tests__/loop.ts +0 -50
  1157. package/src/utils/__tests__/nearest.ts +0 -83
  1158. package/src/utils/__tests__/parseCssLengthUnit.node.ts +0 -28
  1159. package/src/utils/__tests__/parseCssLengthUnit.ts +0 -47
  1160. package/src/utils/__tests__/wait.ts +0 -12
  1161. package/src/utils/__tests__/withinRange.ts +0 -24
  1162. package/src/window-splitter/_window-splitter.scss +0 -143
  1163. package/tsconfig.json +0 -19
  1164. package/tsconfig.types.json +0 -12
  1165. package/tsdoc.json +0 -14
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/positioning/utils.ts"],"sourcesContent":["import { type PositionAnchor } from \"./types.js\";\n\n/** @internal */\nexport interface XCoordConfig {\n xMargin: number;\n elWidth: number;\n initialX?: number;\n containerRect: DOMRect;\n}\n\n/** @internal */\nexport interface YCoordConfig {\n yMargin: number;\n elHeight: number;\n initialY?: number;\n containerRect: DOMRect;\n}\n\ntype Left = number;\ntype Top = number;\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * (outer) left of the container element. So the right bounds of the fixed\n * element will be equal to the left bounds of the container element (before the\n * xMargin is applied).\n *\n * @internal\n */\nexport function getLeftCoord({\n xMargin,\n elWidth,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (initialX ?? containerRect.left) - elWidth - xMargin;\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * inner-left of the container element. So the left bounds of both the container\n * and fixed elements will overlap (before the xMargin is applied)\n *\n * @internal\n */\nexport function getInnerLeftCoord({\n xMargin,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (initialX ?? containerRect.left) + xMargin;\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * center of the container element. So the center point of the fixed element\n * should be the center point of the container element.\n *\n * Note: Unlike all the other horizontal positioning logic, the center position\n * does not use the xMargin.\n *\n * @internal\n */\nexport function getCenterXCoord({\n elWidth,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n const containerCenter = containerRect.width / 2;\n const elementCenter = elWidth / 2;\n return (initialX ?? containerRect.left + containerCenter) - elementCenter;\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * inner-right of the container element. So the right bounds for both the\n * container and fixed elements will overlap (before the xMargin is applied).\n *\n * @internal\n */\nexport function getInnerRightCoord({\n xMargin,\n elWidth,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (\n (initialX ?? containerRect.left + containerRect.width) - elWidth - xMargin\n );\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * (outer) right of the container element. So the left bounds of the fixed\n * element will overlap with the right bounds of the container element (before\n * the xMargin is applied).\n *\n * @internal\n */\nexport function getRightCoord({\n xMargin,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (initialX ?? containerRect.left + containerRect.width) + xMargin;\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed above the\n * container element. So the bottom bounds of the fixed element will overlap\n * with the top bounds of the container element (before the yMargin is applied).\n *\n * @internal\n */\nexport function getAboveCoord({\n yMargin,\n initialY,\n elHeight,\n containerRect,\n}: YCoordConfig): Top {\n return (initialY ?? containerRect.top) - elHeight - yMargin;\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed to the top\n * of the container element. So the top bounds for both the container and fixed\n * elements will overlap (before the yMargin is applied).\n *\n * @internal\n */\nexport function getTopCoord({\n yMargin,\n initialY,\n containerRect,\n}: YCoordConfig): Top {\n return (initialY ?? containerRect.top) + yMargin;\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed vertically\n * centered relative to the container element. So the vertical center point for\n * the fixed element should overlap the vertical center point of the container\n * element.\n *\n * Note: Unlike all the other vertical positioning logic, the center position\n * does not use the yMargin.\n *\n * @internal\n */\nexport function getCenterYCoord({\n yMargin,\n elHeight,\n initialY,\n containerRect,\n}: YCoordConfig): Top {\n const containerCenter = containerRect.height / 2;\n const elementCenter = elHeight / 2;\n return (\n (initialY ?? containerRect.top + containerCenter + yMargin) - elementCenter\n );\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed to the\n * bottom of the container element. So the top bounds of the fixed element\n * should overlap the bottom bounds of the container element (before the yMargin\n * is applied).\n *\n * @internal\n */\nexport function getBottomCoord({\n yMargin,\n initialY,\n elHeight,\n containerRect,\n}: YCoordConfig): Top {\n return (\n (initialY ?? containerRect.top + containerRect.height) - elHeight - yMargin\n );\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed to the\n * bottom of the container element. So the bottom bounds of both the container\n * and fixed elements should overlap (before the yMargin is applied).\n *\n * @internal\n */\nexport function getBelowCoord({\n yMargin,\n initialY,\n containerRect,\n}: YCoordConfig): Top {\n return (initialY ?? containerRect.top + containerRect.height) + yMargin;\n}\n\n/**\n * @since 6.0.0\n * @internal\n */\nexport interface TransformOriginOptions extends PositionAnchor {\n transformOriginY?: number;\n}\n\n/**\n * This is a simple util that'll generate a css `transform-origin` string so\n * that the fixed element can animate from the correct point based on the\n * provided anchor.\n *\n * @param options - The anchor that should be used to create the transform origin\n * for.\n * @returns the transform origin string\n * @internal\n */\nexport function getTransformOrigin(options: TransformOriginOptions): string {\n const { transformOriginY: yPosition } = options;\n\n let x = \"0\";\n switch (options.x) {\n case \"right\":\n case \"inner-left\":\n x = \"0\";\n break;\n case \"center\":\n x = \"50%\";\n break;\n case \"left\":\n case \"inner-right\":\n x = \"100%\";\n break;\n default:\n x = \"0\";\n }\n\n let y = \"0\";\n if (typeof yPosition === \"number\") {\n y = `${yPosition}px`;\n } else {\n switch (options.y) {\n case \"above\":\n case \"bottom\":\n y = \"100%\";\n break;\n case \"center\":\n y = \"50%\";\n break;\n case \"below\":\n case \"top\":\n y = \"0\";\n break;\n default:\n y = \"0\";\n }\n }\n\n return `${x} ${y}`;\n}\n\n/**\n * Attempts to find a sizing container based on the provided HTMLElement. By\n * default, the sizing element will just be the provided element unless:\n * - the item has a known role within react-md that can target known classes\n * - the item has a `data-sizing-selector` attribute that is a valid query\n * selector for the nested item.\n *\n * NOTE: The `data-sizing-selector` will be run from the current element instead\n * of the `document`.\n *\n * @param el - The element to find a sizing container for.\n * @returns the sizing container relative to the provided element, or `null` if\n * none could be found.\n * @throws This error will be thrown if using the `data-query-selector` and the\n * query selector does not return an element on the page.\n * @internal\n */\nexport function findSizingContainer(\n el: HTMLElement | null\n): HTMLElement | null {\n if (!el) {\n return null;\n }\n\n if (/(tree|list)item/.test(el.getAttribute(\"role\") || \"\")) {\n const content = el.querySelector(\n \".rmd-tree-item__content, .rmd-item-text\"\n ) as HTMLElement;\n if (content) {\n return content;\n }\n } else if (el.getAttribute(\"type\") === \"file\") {\n const label = document.querySelector<HTMLLabelElement>(`[for=\"${el.id}\"]`);\n if (label) {\n return label;\n }\n }\n\n const data = el.getAttribute(\"data-sizing-selector\");\n if (data) {\n const content = el.querySelector(data) as HTMLElement;\n if (content) {\n return content;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"Unable to find a child element using the `data-sizing-selector`\"\n );\n }\n }\n\n return el;\n}\n\n/**\n * This util is used to get the \"true\" `element.getBoundingClientRect()` that\n * ensures that transitions using transforms don't mess up the sizing so that\n * position calculations are easier to do.\n *\n * @param element - The element to get a rect for.\n * @returns either a DOMRect for the element\n * @internal\n */\nexport function getElementRect(element: HTMLElement): DOMRect {\n const cloned = element.cloneNode(true) as HTMLElement;\n // remove the id so there won't be two elements with the same id on the page\n cloned.removeAttribute(\"id\");\n\n // remove the role just in case the role would alert screen readers once added\n // to the dom\n cloned.removeAttribute(\"role\");\n\n // ensure the cloned node won't shift the page or be visible\n cloned.style.position = \"fixed\";\n cloned.style.visibility = \"hidden\";\n\n // reset positioning to get a \"pure\" calculation. otherwise this will mess up\n // the height and width if the element is able to line wrap.\n cloned.style.left = \"\";\n cloned.style.top = \"\";\n cloned.style.right = \"\";\n cloned.style.bottom = \"\";\n\n // reset transforms so that custom animations don't mess with the sizing\n cloned.style.transform = \"none\";\n\n const parent = element.parentElement || document.body;\n parent.appendChild(cloned);\n\n const rect = cloned.getBoundingClientRect();\n parent.removeChild(cloned);\n\n return rect;\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\ninterface IsWithinViewportOptions {\n fixedElement: HTMLElement;\n fixedToElement: HTMLElement;\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\nexport function isWithinViewport(options: IsWithinViewportOptions): boolean {\n const { fixedElement, fixedToElement } = options;\n const fixedElementRect = fixedElement.getBoundingClientRect();\n const fixedToElementRect = fixedToElement.getBoundingClientRect();\n const vh = window.innerHeight;\n const vw = window.innerWidth;\n const top = Math.min(fixedElementRect.top, fixedToElementRect.top);\n const right = Math.max(fixedElementRect.right, fixedToElementRect.right);\n const bottom = Math.max(fixedElementRect.bottom, fixedToElementRect.bottom);\n const left = Math.min(fixedElementRect.left, fixedToElementRect.left);\n\n return bottom >= 0 && top <= vh && right >= 0 && left <= vw;\n}\n"],"names":["getLeftCoord","xMargin","elWidth","initialX","containerRect","left","getInnerLeftCoord","getCenterXCoord","containerCenter","width","elementCenter","getInnerRightCoord","getRightCoord","getAboveCoord","yMargin","initialY","elHeight","top","getTopCoord","getCenterYCoord","height","getBottomCoord","getBelowCoord","getTransformOrigin","options","transformOriginY","yPosition","x","y","findSizingContainer","el","test","getAttribute","content","querySelector","label","document","id","data","process","env","NODE_ENV","Error","getElementRect","element","cloned","cloneNode","removeAttribute","style","position","visibility","right","bottom","transform","parent","parentElement","body","appendChild","rect","getBoundingClientRect","removeChild","isWithinViewport","fixedElement","fixedToElement","fixedElementRect","fixedToElementRect","vh","window","innerHeight","vw","innerWidth","Math","min","max"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAqBA;;;;;;;CAOC,GACD,OAAO,SAASA,aAAa,EAC3BC,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACA;IACb,OAAO,AAACD,CAAAA,YAAYC,cAAcC,IAAI,AAAD,IAAKH,UAAUD;AACtD;AAEA;;;;;;CAMC,GACD,OAAO,SAASK,kBAAkB,EAChCL,OAAO,EACPE,QAAQ,EACRC,aAAa,EACA;IACb,OAAO,AAACD,CAAAA,YAAYC,cAAcC,IAAI,AAAD,IAAKJ;AAC5C;AAEA;;;;;;;;;CASC,GACD,OAAO,SAASM,gBAAgB,EAC9BL,OAAO,EACPC,QAAQ,EACRC,aAAa,EACA;IACb,MAAMI,kBAAkBJ,cAAcK,KAAK,GAAG;IAC9C,MAAMC,gBAAgBR,UAAU;IAChC,OAAO,AAACC,CAAAA,YAAYC,cAAcC,IAAI,GAAGG,eAAc,IAAKE;AAC9D;AAEA;;;;;;CAMC,GACD,OAAO,SAASC,mBAAmB,EACjCV,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACA;IACb,OACE,AAACD,CAAAA,YAAYC,cAAcC,IAAI,GAAGD,cAAcK,KAAK,AAAD,IAAKP,UAAUD;AAEvE;AAEA;;;;;;;CAOC,GACD,OAAO,SAASW,cAAc,EAC5BX,OAAO,EACPE,QAAQ,EACRC,aAAa,EACA;IACb,OAAO,AAACD,CAAAA,YAAYC,cAAcC,IAAI,GAAGD,cAAcK,KAAK,AAAD,IAAKR;AAClE;AAEA;;;;;;CAMC,GACD,OAAO,SAASY,cAAc,EAC5BC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRZ,aAAa,EACA;IACb,OAAO,AAACW,CAAAA,YAAYX,cAAca,GAAG,AAAD,IAAKD,WAAWF;AACtD;AAEA;;;;;;CAMC,GACD,OAAO,SAASI,YAAY,EAC1BJ,OAAO,EACPC,QAAQ,EACRX,aAAa,EACA;IACb,OAAO,AAACW,CAAAA,YAAYX,cAAca,GAAG,AAAD,IAAKH;AAC3C;AAEA;;;;;;;;;;CAUC,GACD,OAAO,SAASK,gBAAgB,EAC9BL,OAAO,EACPE,QAAQ,EACRD,QAAQ,EACRX,aAAa,EACA;IACb,MAAMI,kBAAkBJ,cAAcgB,MAAM,GAAG;IAC/C,MAAMV,gBAAgBM,WAAW;IACjC,OACE,AAACD,CAAAA,YAAYX,cAAca,GAAG,GAAGT,kBAAkBM,OAAM,IAAKJ;AAElE;AAEA;;;;;;;CAOC,GACD,OAAO,SAASW,eAAe,EAC7BP,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRZ,aAAa,EACA;IACb,OACE,AAACW,CAAAA,YAAYX,cAAca,GAAG,GAAGb,cAAcgB,MAAM,AAAD,IAAKJ,WAAWF;AAExE;AAEA;;;;;;CAMC,GACD,OAAO,SAASQ,cAAc,EAC5BR,OAAO,EACPC,QAAQ,EACRX,aAAa,EACA;IACb,OAAO,AAACW,CAAAA,YAAYX,cAAca,GAAG,GAAGb,cAAcgB,MAAM,AAAD,IAAKN;AAClE;AAUA;;;;;;;;;CASC,GACD,OAAO,SAASS,mBAAmBC,OAA+B;IAChE,MAAM,EAAEC,kBAAkBC,SAAS,EAAE,GAAGF;IAExC,IAAIG,IAAI;IACR,OAAQH,QAAQG,CAAC;QACf,KAAK;QACL,KAAK;YACHA,IAAI;YACJ;QACF,KAAK;YACHA,IAAI;YACJ;QACF,KAAK;QACL,KAAK;YACHA,IAAI;YACJ;QACF;YACEA,IAAI;IACR;IAEA,IAAIC,IAAI;IACR,IAAI,OAAOF,cAAc,UAAU;QACjCE,IAAI,CAAC,EAAEF,UAAU,EAAE,CAAC;IACtB,OAAO;QACL,OAAQF,QAAQI,CAAC;YACf,KAAK;YACL,KAAK;gBACHA,IAAI;gBACJ;YACF,KAAK;gBACHA,IAAI;gBACJ;YACF,KAAK;YACL,KAAK;gBACHA,IAAI;gBACJ;YACF;gBACEA,IAAI;QACR;IACF;IAEA,OAAO,CAAC,EAAED,EAAE,CAAC,EAAEC,EAAE,CAAC;AACpB;AAEA;;;;;;;;;;;;;;;;CAgBC,GACD,OAAO,SAASC,oBACdC,EAAsB;IAEtB,IAAI,CAACA,IAAI;QACP,OAAO;IACT;IAEA,IAAI,kBAAkBC,IAAI,CAACD,GAAGE,YAAY,CAAC,WAAW,KAAK;QACzD,MAAMC,UAAUH,GAAGI,aAAa,CAC9B;QAEF,IAAID,SAAS;YACX,OAAOA;QACT;IACF,OAAO,IAAIH,GAAGE,YAAY,CAAC,YAAY,QAAQ;QAC7C,MAAMG,QAAQC,SAASF,aAAa,CAAmB,CAAC,MAAM,EAAEJ,GAAGO,EAAE,CAAC,EAAE,CAAC;QACzE,IAAIF,OAAO;YACT,OAAOA;QACT;IACF;IAEA,MAAMG,OAAOR,GAAGE,YAAY,CAAC;IAC7B,IAAIM,MAAM;QACR,MAAML,UAAUH,GAAGI,aAAa,CAACI;QACjC,IAAIL,SAAS;YACX,OAAOA;QACT;QAEA,IAAIM,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,MAAM,IAAIC,MACR;QAEJ;IACF;IAEA,OAAOZ;AACT;AAEA;;;;;;;;CAQC,GACD,OAAO,SAASa,eAAeC,OAAoB;IACjD,MAAMC,SAASD,QAAQE,SAAS,CAAC;IACjC,4EAA4E;IAC5ED,OAAOE,eAAe,CAAC;IAEvB,8EAA8E;IAC9E,aAAa;IACbF,OAAOE,eAAe,CAAC;IAEvB,4DAA4D;IAC5DF,OAAOG,KAAK,CAACC,QAAQ,GAAG;IACxBJ,OAAOG,KAAK,CAACE,UAAU,GAAG;IAE1B,6EAA6E;IAC7E,4DAA4D;IAC5DL,OAAOG,KAAK,CAAC3C,IAAI,GAAG;IACpBwC,OAAOG,KAAK,CAAC/B,GAAG,GAAG;IACnB4B,OAAOG,KAAK,CAACG,KAAK,GAAG;IACrBN,OAAOG,KAAK,CAACI,MAAM,GAAG;IAEtB,wEAAwE;IACxEP,OAAOG,KAAK,CAACK,SAAS,GAAG;IAEzB,MAAMC,SAASV,QAAQW,aAAa,IAAInB,SAASoB,IAAI;IACrDF,OAAOG,WAAW,CAACZ;IAEnB,MAAMa,OAAOb,OAAOc,qBAAqB;IACzCL,OAAOM,WAAW,CAACf;IAEnB,OAAOa;AACT;AAWA;;;CAGC,GACD,OAAO,SAASG,iBAAiBrC,OAAgC;IAC/D,MAAM,EAAEsC,YAAY,EAAEC,cAAc,EAAE,GAAGvC;IACzC,MAAMwC,mBAAmBF,aAAaH,qBAAqB;IAC3D,MAAMM,qBAAqBF,eAAeJ,qBAAqB;IAC/D,MAAMO,KAAKC,OAAOC,WAAW;IAC7B,MAAMC,KAAKF,OAAOG,UAAU;IAC5B,MAAMrD,MAAMsD,KAAKC,GAAG,CAACR,iBAAiB/C,GAAG,EAAEgD,mBAAmBhD,GAAG;IACjE,MAAMkC,QAAQoB,KAAKE,GAAG,CAACT,iBAAiBb,KAAK,EAAEc,mBAAmBd,KAAK;IACvE,MAAMC,SAASmB,KAAKE,GAAG,CAACT,iBAAiBZ,MAAM,EAAEa,mBAAmBb,MAAM;IAC1E,MAAM/C,OAAOkE,KAAKC,GAAG,CAACR,iBAAiB3D,IAAI,EAAE4D,mBAAmB5D,IAAI;IAEpE,OAAO+C,UAAU,KAAKnC,OAAOiD,MAAMf,SAAS,KAAK9C,QAAQgE;AAC3D"}
1
+ {"version":3,"sources":["../../src/positioning/utils.ts"],"sourcesContent":["import { type PositionAnchor } from \"./types.js\";\n\n/** @internal */\nexport interface XCoordConfig {\n xMargin: number;\n elWidth: number;\n initialX?: number;\n containerRect: DOMRect;\n}\n\n/** @internal */\nexport interface YCoordConfig {\n yMargin: number;\n elHeight: number;\n initialY?: number;\n containerRect: DOMRect;\n}\n\ntype Left = number;\ntype Top = number;\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * (outer) left of the container element. So the right bounds of the fixed\n * element will be equal to the left bounds of the container element (before the\n * xMargin is applied).\n *\n * @internal\n */\nexport function getLeftCoord({\n xMargin,\n elWidth,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (initialX ?? containerRect.left) - elWidth - xMargin;\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * inner-left of the container element. So the left bounds of both the container\n * and fixed elements will overlap (before the xMargin is applied)\n *\n * @internal\n */\nexport function getInnerLeftCoord({\n xMargin,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (initialX ?? containerRect.left) + xMargin;\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * center of the container element. So the center point of the fixed element\n * should be the center point of the container element.\n *\n * Note: Unlike all the other horizontal positioning logic, the center position\n * does not use the xMargin.\n *\n * @internal\n */\nexport function getCenterXCoord({\n elWidth,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n const containerCenter = containerRect.width / 2;\n const elementCenter = elWidth / 2;\n return (initialX ?? containerRect.left + containerCenter) - elementCenter;\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * inner-right of the container element. So the right bounds for both the\n * container and fixed elements will overlap (before the xMargin is applied).\n *\n * @internal\n */\nexport function getInnerRightCoord({\n xMargin,\n elWidth,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (\n (initialX ?? containerRect.left + containerRect.width) - elWidth - xMargin\n );\n}\n\n/**\n * Creates the `left` style value for an element that should be fixed to the\n * (outer) right of the container element. So the left bounds of the fixed\n * element will overlap with the right bounds of the container element (before\n * the xMargin is applied).\n *\n * @internal\n */\nexport function getRightCoord({\n xMargin,\n initialX,\n containerRect,\n}: XCoordConfig): Left {\n return (initialX ?? containerRect.left + containerRect.width) + xMargin;\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed above the\n * container element. So the bottom bounds of the fixed element will overlap\n * with the top bounds of the container element (before the yMargin is applied).\n *\n * @internal\n */\nexport function getAboveCoord({\n yMargin,\n initialY,\n elHeight,\n containerRect,\n}: YCoordConfig): Top {\n return (initialY ?? containerRect.top) - elHeight - yMargin;\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed to the top\n * of the container element. So the top bounds for both the container and fixed\n * elements will overlap (before the yMargin is applied).\n *\n * @internal\n */\nexport function getTopCoord({\n yMargin,\n initialY,\n containerRect,\n}: YCoordConfig): Top {\n return (initialY ?? containerRect.top) + yMargin;\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed vertically\n * centered relative to the container element. So the vertical center point for\n * the fixed element should overlap the vertical center point of the container\n * element.\n *\n * Note: Unlike all the other vertical positioning logic, the center position\n * does not use the yMargin.\n *\n * @internal\n */\nexport function getCenterYCoord({\n yMargin,\n elHeight,\n initialY,\n containerRect,\n}: YCoordConfig): Top {\n const containerCenter = containerRect.height / 2;\n const elementCenter = elHeight / 2;\n return (\n (initialY ?? containerRect.top + containerCenter + yMargin) - elementCenter\n );\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed to the\n * bottom of the container element. So the top bounds of the fixed element\n * should overlap the bottom bounds of the container element (before the yMargin\n * is applied).\n *\n * @internal\n */\nexport function getBottomCoord({\n yMargin,\n initialY,\n elHeight,\n containerRect,\n}: YCoordConfig): Top {\n return (\n (initialY ?? containerRect.top + containerRect.height) - elHeight - yMargin\n );\n}\n\n/**\n * Creates the `top` style value for an element that should be fixed to the\n * bottom of the container element. So the bottom bounds of both the container\n * and fixed elements should overlap (before the yMargin is applied).\n *\n * @internal\n */\nexport function getBelowCoord({\n yMargin,\n initialY,\n containerRect,\n}: YCoordConfig): Top {\n return (initialY ?? containerRect.top + containerRect.height) + yMargin;\n}\n\n/**\n * @since 6.0.0\n * @internal\n */\nexport interface TransformOriginOptions extends PositionAnchor {\n transformOriginY?: number;\n}\n\n/**\n * This is a simple util that'll generate a css `transform-origin` string so\n * that the fixed element can animate from the correct point based on the\n * provided anchor.\n *\n * @param options - The anchor that should be used to create the transform origin\n * for.\n * @returns the transform origin string\n * @internal\n */\nexport function getTransformOrigin(options: TransformOriginOptions): string {\n const { transformOriginY: yPosition } = options;\n\n let x = \"0\";\n switch (options.x) {\n case \"right\":\n case \"inner-left\":\n x = \"0\";\n break;\n case \"center\":\n x = \"50%\";\n break;\n case \"left\":\n case \"inner-right\":\n x = \"100%\";\n break;\n default:\n x = \"0\";\n }\n\n let y = \"0\";\n if (typeof yPosition === \"number\") {\n y = `${yPosition}px`;\n } else {\n switch (options.y) {\n case \"above\":\n case \"bottom\":\n y = \"100%\";\n break;\n case \"center\":\n y = \"50%\";\n break;\n case \"below\":\n case \"top\":\n y = \"0\";\n break;\n default:\n y = \"0\";\n }\n }\n\n return `${x} ${y}`;\n}\n\n/**\n * Attempts to find a sizing container based on the provided HTMLElement. By\n * default, the sizing element will just be the provided element unless:\n * - the item has a known role within react-md that can target known classes\n * - the item has a `data-sizing-selector` attribute that is a valid query\n * selector for the nested item.\n *\n * NOTE: The `data-sizing-selector` will be run from the current element instead\n * of the `document`.\n *\n * @param el - The element to find a sizing container for.\n * @returns the sizing container relative to the provided element, or `null` if\n * none could be found.\n * @throws This error will be thrown if using the `data-query-selector` and the\n * query selector does not return an element on the page.\n * @internal\n */\nexport function findSizingContainer(\n el: HTMLElement | null\n): HTMLElement | null {\n if (!el) {\n return null;\n }\n\n if (/(tree|list)item/.test(el.getAttribute(\"role\") || \"\")) {\n const content = el.querySelector(\n \".rmd-tree-item__content, .rmd-item-text\"\n ) as HTMLElement;\n if (content) {\n return content;\n }\n } else if (el.getAttribute(\"type\") === \"file\") {\n const label = document.querySelector<HTMLLabelElement>(`[for=\"${el.id}\"]`);\n if (label) {\n return label;\n }\n }\n\n const data = el.getAttribute(\"data-sizing-selector\");\n if (data) {\n const content = el.querySelector(data) as HTMLElement;\n if (content) {\n return content;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\n \"Unable to find a child element using the `data-sizing-selector`\"\n );\n }\n }\n\n return el;\n}\n\n/**\n * This util is used to get the \"true\" `element.getBoundingClientRect()` that\n * ensures that transitions using transforms don't mess up the sizing so that\n * position calculations are easier to do.\n *\n * @param element - The element to get a rect for.\n * @returns either a DOMRect for the element\n * @internal\n */\nexport function getElementRect(element: HTMLElement): DOMRect {\n const cloned = element.cloneNode(true) as HTMLElement;\n // remove the id so there won't be two elements with the same id on the page\n cloned.removeAttribute(\"id\");\n\n // remove the role just in case the role would alert screen readers once added\n // to the dom\n cloned.removeAttribute(\"role\");\n\n // ensure the cloned node won't shift the page or be visible\n cloned.style.position = \"fixed\";\n cloned.style.visibility = \"hidden\";\n\n // reset positioning to get a \"pure\" calculation. otherwise this will mess up\n // the height and width if the element is able to line wrap.\n cloned.style.left = \"\";\n cloned.style.top = \"\";\n cloned.style.right = \"\";\n cloned.style.bottom = \"\";\n\n // reset transforms so that custom animations don't mess with the sizing\n cloned.style.transform = \"none\";\n\n const parent = element.parentElement || document.body;\n parent.appendChild(cloned);\n\n const rect = cloned.getBoundingClientRect();\n parent.removeChild(cloned);\n\n return rect;\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\ninterface IsWithinViewportOptions {\n fixedElement: HTMLElement;\n fixedToElement: HTMLElement;\n}\n\n/**\n * @since 4.0.0\n * @internal\n */\nexport function isWithinViewport(options: IsWithinViewportOptions): boolean {\n const { fixedElement, fixedToElement } = options;\n const fixedElementRect = fixedElement.getBoundingClientRect();\n const fixedToElementRect = fixedToElement.getBoundingClientRect();\n const vh = window.innerHeight;\n const vw = window.innerWidth;\n const top = Math.min(fixedElementRect.top, fixedToElementRect.top);\n const right = Math.max(fixedElementRect.right, fixedToElementRect.right);\n const bottom = Math.max(fixedElementRect.bottom, fixedToElementRect.bottom);\n const left = Math.min(fixedElementRect.left, fixedToElementRect.left);\n\n return bottom >= 0 && top <= vh && right >= 0 && left <= vw;\n}\n"],"names":["getLeftCoord","xMargin","elWidth","initialX","containerRect","left","getInnerLeftCoord","getCenterXCoord","containerCenter","width","elementCenter","getInnerRightCoord","getRightCoord","getAboveCoord","yMargin","initialY","elHeight","top","getTopCoord","getCenterYCoord","height","getBottomCoord","getBelowCoord","getTransformOrigin","options","transformOriginY","yPosition","x","y","findSizingContainer","el","test","getAttribute","content","querySelector","label","document","id","data","process","env","NODE_ENV","Error","getElementRect","element","cloned","cloneNode","removeAttribute","style","position","visibility","right","bottom","transform","parent","parentElement","body","appendChild","rect","getBoundingClientRect","removeChild","isWithinViewport","fixedElement","fixedToElement","fixedElementRect","fixedToElementRect","vh","window","innerHeight","vw","innerWidth","Math","min","max"],"mappings":"AAqBA;;;;;;;CAOC,GACD,OAAO,SAASA,aAAa,EAC3BC,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACA;IACb,OAAO,AAACD,CAAAA,YAAYC,cAAcC,IAAI,AAAD,IAAKH,UAAUD;AACtD;AAEA;;;;;;CAMC,GACD,OAAO,SAASK,kBAAkB,EAChCL,OAAO,EACPE,QAAQ,EACRC,aAAa,EACA;IACb,OAAO,AAACD,CAAAA,YAAYC,cAAcC,IAAI,AAAD,IAAKJ;AAC5C;AAEA;;;;;;;;;CASC,GACD,OAAO,SAASM,gBAAgB,EAC9BL,OAAO,EACPC,QAAQ,EACRC,aAAa,EACA;IACb,MAAMI,kBAAkBJ,cAAcK,KAAK,GAAG;IAC9C,MAAMC,gBAAgBR,UAAU;IAChC,OAAO,AAACC,CAAAA,YAAYC,cAAcC,IAAI,GAAGG,eAAc,IAAKE;AAC9D;AAEA;;;;;;CAMC,GACD,OAAO,SAASC,mBAAmB,EACjCV,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACA;IACb,OACE,AAACD,CAAAA,YAAYC,cAAcC,IAAI,GAAGD,cAAcK,KAAK,AAAD,IAAKP,UAAUD;AAEvE;AAEA;;;;;;;CAOC,GACD,OAAO,SAASW,cAAc,EAC5BX,OAAO,EACPE,QAAQ,EACRC,aAAa,EACA;IACb,OAAO,AAACD,CAAAA,YAAYC,cAAcC,IAAI,GAAGD,cAAcK,KAAK,AAAD,IAAKR;AAClE;AAEA;;;;;;CAMC,GACD,OAAO,SAASY,cAAc,EAC5BC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRZ,aAAa,EACA;IACb,OAAO,AAACW,CAAAA,YAAYX,cAAca,GAAG,AAAD,IAAKD,WAAWF;AACtD;AAEA;;;;;;CAMC,GACD,OAAO,SAASI,YAAY,EAC1BJ,OAAO,EACPC,QAAQ,EACRX,aAAa,EACA;IACb,OAAO,AAACW,CAAAA,YAAYX,cAAca,GAAG,AAAD,IAAKH;AAC3C;AAEA;;;;;;;;;;CAUC,GACD,OAAO,SAASK,gBAAgB,EAC9BL,OAAO,EACPE,QAAQ,EACRD,QAAQ,EACRX,aAAa,EACA;IACb,MAAMI,kBAAkBJ,cAAcgB,MAAM,GAAG;IAC/C,MAAMV,gBAAgBM,WAAW;IACjC,OACE,AAACD,CAAAA,YAAYX,cAAca,GAAG,GAAGT,kBAAkBM,OAAM,IAAKJ;AAElE;AAEA;;;;;;;CAOC,GACD,OAAO,SAASW,eAAe,EAC7BP,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRZ,aAAa,EACA;IACb,OACE,AAACW,CAAAA,YAAYX,cAAca,GAAG,GAAGb,cAAcgB,MAAM,AAAD,IAAKJ,WAAWF;AAExE;AAEA;;;;;;CAMC,GACD,OAAO,SAASQ,cAAc,EAC5BR,OAAO,EACPC,QAAQ,EACRX,aAAa,EACA;IACb,OAAO,AAACW,CAAAA,YAAYX,cAAca,GAAG,GAAGb,cAAcgB,MAAM,AAAD,IAAKN;AAClE;AAUA;;;;;;;;;CASC,GACD,OAAO,SAASS,mBAAmBC,OAA+B;IAChE,MAAM,EAAEC,kBAAkBC,SAAS,EAAE,GAAGF;IAExC,IAAIG,IAAI;IACR,OAAQH,QAAQG,CAAC;QACf,KAAK;QACL,KAAK;YACHA,IAAI;YACJ;QACF,KAAK;YACHA,IAAI;YACJ;QACF,KAAK;QACL,KAAK;YACHA,IAAI;YACJ;QACF;YACEA,IAAI;IACR;IAEA,IAAIC,IAAI;IACR,IAAI,OAAOF,cAAc,UAAU;QACjCE,IAAI,CAAC,EAAEF,UAAU,EAAE,CAAC;IACtB,OAAO;QACL,OAAQF,QAAQI,CAAC;YACf,KAAK;YACL,KAAK;gBACHA,IAAI;gBACJ;YACF,KAAK;gBACHA,IAAI;gBACJ;YACF,KAAK;YACL,KAAK;gBACHA,IAAI;gBACJ;YACF;gBACEA,IAAI;QACR;IACF;IAEA,OAAO,CAAC,EAAED,EAAE,CAAC,EAAEC,EAAE,CAAC;AACpB;AAEA;;;;;;;;;;;;;;;;CAgBC,GACD,OAAO,SAASC,oBACdC,EAAsB;IAEtB,IAAI,CAACA,IAAI;QACP,OAAO;IACT;IAEA,IAAI,kBAAkBC,IAAI,CAACD,GAAGE,YAAY,CAAC,WAAW,KAAK;QACzD,MAAMC,UAAUH,GAAGI,aAAa,CAC9B;QAEF,IAAID,SAAS;YACX,OAAOA;QACT;IACF,OAAO,IAAIH,GAAGE,YAAY,CAAC,YAAY,QAAQ;QAC7C,MAAMG,QAAQC,SAASF,aAAa,CAAmB,CAAC,MAAM,EAAEJ,GAAGO,EAAE,CAAC,EAAE,CAAC;QACzE,IAAIF,OAAO;YACT,OAAOA;QACT;IACF;IAEA,MAAMG,OAAOR,GAAGE,YAAY,CAAC;IAC7B,IAAIM,MAAM;QACR,MAAML,UAAUH,GAAGI,aAAa,CAACI;QACjC,IAAIL,SAAS;YACX,OAAOA;QACT;QAEA,IAAIM,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,MAAM,IAAIC,MACR;QAEJ;IACF;IAEA,OAAOZ;AACT;AAEA;;;;;;;;CAQC,GACD,OAAO,SAASa,eAAeC,OAAoB;IACjD,MAAMC,SAASD,QAAQE,SAAS,CAAC;IACjC,4EAA4E;IAC5ED,OAAOE,eAAe,CAAC;IAEvB,8EAA8E;IAC9E,aAAa;IACbF,OAAOE,eAAe,CAAC;IAEvB,4DAA4D;IAC5DF,OAAOG,KAAK,CAACC,QAAQ,GAAG;IACxBJ,OAAOG,KAAK,CAACE,UAAU,GAAG;IAE1B,6EAA6E;IAC7E,4DAA4D;IAC5DL,OAAOG,KAAK,CAAC3C,IAAI,GAAG;IACpBwC,OAAOG,KAAK,CAAC/B,GAAG,GAAG;IACnB4B,OAAOG,KAAK,CAACG,KAAK,GAAG;IACrBN,OAAOG,KAAK,CAACI,MAAM,GAAG;IAEtB,wEAAwE;IACxEP,OAAOG,KAAK,CAACK,SAAS,GAAG;IAEzB,MAAMC,SAASV,QAAQW,aAAa,IAAInB,SAASoB,IAAI;IACrDF,OAAOG,WAAW,CAACZ;IAEnB,MAAMa,OAAOb,OAAOc,qBAAqB;IACzCL,OAAOM,WAAW,CAACf;IAEnB,OAAOa;AACT;AAWA;;;CAGC,GACD,OAAO,SAASG,iBAAiBrC,OAAgC;IAC/D,MAAM,EAAEsC,YAAY,EAAEC,cAAc,EAAE,GAAGvC;IACzC,MAAMwC,mBAAmBF,aAAaH,qBAAqB;IAC3D,MAAMM,qBAAqBF,eAAeJ,qBAAqB;IAC/D,MAAMO,KAAKC,OAAOC,WAAW;IAC7B,MAAMC,KAAKF,OAAOG,UAAU;IAC5B,MAAMrD,MAAMsD,KAAKC,GAAG,CAACR,iBAAiB/C,GAAG,EAAEgD,mBAAmBhD,GAAG;IACjE,MAAMkC,QAAQoB,KAAKE,GAAG,CAACT,iBAAiBb,KAAK,EAAEc,mBAAmBd,KAAK;IACvE,MAAMC,SAASmB,KAAKE,GAAG,CAACT,iBAAiBZ,MAAM,EAAEa,mBAAmBb,MAAM;IAC1E,MAAM/C,OAAOkE,KAAKC,GAAG,CAACR,iBAAiB3D,IAAI,EAAE4D,mBAAmB5D,IAAI;IAEpE,OAAO+C,UAAU,KAAKnC,OAAOiD,MAAMf,SAAS,KAAK9C,QAAQgE;AAC3D"}
@@ -2,11 +2,11 @@ import { type CSSProperties, type HTMLAttributes } from "react";
2
2
  import { type LabelRequiredForA11y } from "../types.js";
3
3
  import { type ProgressProps } from "./types.js";
4
4
  /**
5
- * @since 6.0.0
6
- * Removed the `determinateRotateDegrees` prop since the determinate state no
5
+ * @since 6.0.0 Added the `disableShrink` prop.
6
+ * @since 6.0.0 Renamed `small` to `dense`.
7
+ * @since 6.0.0 Renamed `centered` to `disableCentered`.
8
+ * @since 6.0.0 Removed the `maxRotation` prop since the determinate state no
7
9
  * longer rotates while increasing value.
8
- * Added the `disableShrink` prop.
9
- * Renamed the `small` prop to `dense` to match other components.
10
10
  */
11
11
  export interface CircularProgressProps extends Omit<HTMLAttributes<HTMLSpanElement>, "id">, ProgressProps {
12
12
  /**
@@ -67,6 +67,7 @@ export interface CircularProgressProps extends Omit<HTMLAttributes<HTMLSpanEleme
67
67
  * margins.
68
68
  *
69
69
  * @defaultValue `false`
70
+ * @since 6.0.0 Renamed from `centered`
70
71
  */
71
72
  disableCentered?: boolean;
72
73
  /**
@@ -88,8 +89,6 @@ export interface CircularProgressProps extends Omit<HTMLAttributes<HTMLSpanEleme
88
89
  disableShrink?: boolean;
89
90
  }
90
91
  /**
91
- * **Server Component**
92
- *
93
92
  * @example Indeterminate Example
94
93
  * ```tsx
95
94
  * import { CircularProgress } from "@react-md/core":
@@ -7,8 +7,6 @@ import { bem } from "../utils/bem.js";
7
7
  import { getPercentage } from "../utils/getPercentage.js";
8
8
  const styles = bem("rmd-circular-progress");
9
9
  /**
10
- * **Server Component**
11
- *
12
10
  * @example Indeterminate Example
13
11
  * ```tsx
14
12
  * import { CircularProgress } from "@react-md/core":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/progress/CircularProgress.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useMemo,\n type CSSProperties,\n type HTMLAttributes,\n} from \"react\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\nimport { type ProgressProps } from \"./types.js\";\n\n/**\n * @since 6.0.0\n * Removed the `determinateRotateDegrees` prop since the determinate state no\n * longer rotates while increasing value.\n * Added the `disableShrink` prop.\n * Renamed the `small` prop to `dense` to match other components.\n */\nexport interface CircularProgressProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"id\">,\n ProgressProps {\n /**\n * An optional style to apply to the svg within the circular progress. The\n * values of this style object will be merged with the current determinate\n * style (if it exists).\n */\n svgStyle?: CSSProperties;\n\n /**\n * An optional className to apply to the svg within the circular progress.\n */\n svgClassName?: string;\n\n /**\n * An optional style to apply to the circle within the circular progress. The\n * values of this style object will be merged with the current determinate\n * style (if it exists).\n */\n circleStyle?: CSSProperties;\n\n /**\n * An optional className to apply to the circle within the circular progress.\n */\n circleClassName?: string;\n\n /**\n * The radius for the circle. It is generally recommended to have the radius\n * be 1/2 of the viewbox and minus a few more pixels so that there is some\n * surrounding padding. You probably shouldn't really be changing this prop\n * though.\n *\n * @defaultValue `30`\n */\n radius?: number;\n\n /**\n * The center point for the circle. This should be half of the `viewBox` prop\n * 99% of the time and probably won't be changed.\n *\n * @defaultValue `33`\n */\n center?: number;\n\n /**\n * The viewbox for the child svg. I wouldn't recommend changing this value as\n * you will also need to update the `dashoffset` in both Sass and this prop to\n * get the animation to look nice again.\n *\n * @defaultValue `0 0 66 66`\n */\n viewBox?: string;\n\n /**\n * The `stroke-dashoffset` for the circle within the SVG. You probably won't\n * be changing this value that much as it should match the\n * `$rmd-progress-circle-dashoffset` Sass variable. This is really just used\n * to help to create the determinate progress animation.\n *\n * @defaultValue `187`\n */\n dashoffset?: number;\n\n /**\n * Boolean if the circular progress should be centered using left and right\n * margins.\n *\n * @defaultValue `false`\n */\n disableCentered?: boolean;\n\n /**\n * Set to `true` to render as a smaller size.\n *\n * @defaultValue `false`\n * @since 2.3.0\n * @since 6.0.0 Renamed from `small`\n */\n dense?: boolean;\n\n /**\n * Set this to `true` to update the indeterminate behavior to only rotate\n * which will increase performance during CPU-intensive tasks or when many\n * loading spinners are displayed at once on the page.\n *\n * @defaultValue `false`\n * @since 6.0.0\n */\n disableShrink?: boolean;\n}\n\nconst styles = bem(\"rmd-circular-progress\");\n\n/**\n * **Server Component**\n *\n * @example Indeterminate Example\n * ```tsx\n * import { CircularProgress } from \"@react-md/core\":\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return <CircularProgress aria-label=\"Loading\" />;\n * }\n * ```\n *\n * @example Determinate Example\n * ```tsx\n * import { CircularProgress } from \"@react-md/core\":\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * // a number from 0 - 100\n * const [progress, setProgress] = useState(0);\n *\n * return <CircularProgress aria-label=\"File upload\" value={progress} />;\n * }\n * ```\n *\n * @since 6.0.0 Updated the determinate circular progress to no longer\n * rotate while increasing the value and require a label for accessibility.\n */\nexport const CircularProgress = forwardRef<\n HTMLSpanElement,\n LabelRequiredForA11y<CircularProgressProps>\n>(function CircularProgress(props, ref) {\n const {\n id: propId,\n className,\n svgStyle,\n svgClassName,\n circleStyle: propCircleStyle,\n circleClassName,\n value,\n min = 0,\n max = 100,\n radius = 30,\n center = 33,\n viewBox = \"0 0 66 66\",\n theme = \"primary\",\n dense = false,\n dashoffset = 187,\n disableShrink = false,\n disableCentered = false,\n disableTransition = false,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"circular-progress\");\n let progress: number | undefined;\n if (typeof value === \"number\") {\n progress = getPercentage({ min, max, value, validate: true });\n }\n\n const circleStyle = useMemo(() => {\n if (typeof progress !== \"number\") {\n return propCircleStyle;\n }\n\n return {\n ...propCircleStyle,\n strokeDashoffset: dashoffset - dashoffset * progress,\n };\n }, [progress, propCircleStyle, dashoffset]);\n\n const determinate = typeof progress === \"number\";\n const indeterminate = !determinate;\n return (\n <span\n {...remaining}\n id={id}\n ref={ref}\n role=\"progressbar\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n className={cnb(\n styles({ dense, centered: !disableCentered }),\n theme !== \"current-color\" && cssUtils({ textColor: theme }),\n className\n )}\n >\n <svg\n style={svgStyle}\n className={cnb(\n styles(\"svg\", {\n determinate,\n indeterminate: indeterminate && !disableShrink,\n \"rotate-only\": indeterminate && disableShrink,\n }),\n svgClassName\n )}\n viewBox={viewBox}\n >\n <circle\n style={circleStyle}\n className={cnb(\n styles(\"circle\", {\n animate: !disableTransition && determinate,\n determinate,\n indeterminate: indeterminate && !disableShrink,\n \"rotate-only\": indeterminate && disableShrink,\n }),\n circleClassName\n )}\n r={radius}\n cx={center}\n cy={center}\n />\n </svg>\n </span>\n );\n});\n"],"names":["cnb","forwardRef","useMemo","cssUtils","useEnsuredId","bem","getPercentage","styles","CircularProgress","props","ref","id","propId","className","svgStyle","svgClassName","circleStyle","propCircleStyle","circleClassName","value","min","max","radius","center","viewBox","theme","dense","dashoffset","disableShrink","disableCentered","disableTransition","remaining","progress","validate","strokeDashoffset","determinate","indeterminate","span","role","aria-valuemin","aria-valuemax","aria-valuenow","centered","textColor","svg","style","circle","animate","r","cx","cy"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,EACVC,OAAO,QAGF,QAAQ;AACf,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,aAAa,QAAQ,4BAA4B;AAsG1D,MAAMC,SAASF,IAAI;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BC,GACD,OAAO,MAAMG,iCAAmBP,WAG9B,SAASO,iBAAiBC,KAAK,EAAEC,GAAG;IACpC,MAAM,EACJC,IAAIC,MAAM,EACVC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,aAAaC,eAAe,EAC5BC,eAAe,EACfC,KAAK,EACLC,MAAM,CAAC,EACPC,MAAM,GAAG,EACTC,SAAS,EAAE,EACXC,SAAS,EAAE,EACXC,UAAU,WAAW,EACrBC,QAAQ,SAAS,EACjBC,QAAQ,KAAK,EACbC,aAAa,GAAG,EAChBC,gBAAgB,KAAK,EACrBC,kBAAkB,KAAK,EACvBC,oBAAoB,KAAK,EACzB,GAAGC,WACJ,GAAGtB;IAEJ,MAAME,KAAKP,aAAaQ,QAAQ;IAChC,IAAIoB;IACJ,IAAI,OAAOb,UAAU,UAAU;QAC7Ba,WAAW1B,cAAc;YAAEc;YAAKC;YAAKF;YAAOc,UAAU;QAAK;IAC7D;IAEA,MAAMjB,cAAcd,QAAQ;QAC1B,IAAI,OAAO8B,aAAa,UAAU;YAChC,OAAOf;QACT;QAEA,OAAO;YACL,GAAGA,eAAe;YAClBiB,kBAAkBP,aAAaA,aAAaK;QAC9C;IACF,GAAG;QAACA;QAAUf;QAAiBU;KAAW;IAE1C,MAAMQ,cAAc,OAAOH,aAAa;IACxC,MAAMI,gBAAgB,CAACD;IACvB,qBACE,KAACE;QACE,GAAGN,SAAS;QACbpB,IAAIA;QACJD,KAAKA;QACL4B,MAAK;QACLC,iBAAenB;QACfoB,iBAAenB;QACfoB,iBAAetB;QACfN,WAAWb,IACTO,OAAO;YAAEmB;YAAOgB,UAAU,CAACb;QAAgB,IAC3CJ,UAAU,mBAAmBtB,SAAS;YAAEwC,WAAWlB;QAAM,IACzDZ;kBAGF,cAAA,KAAC+B;YACCC,OAAO/B;YACPD,WAAWb,IACTO,OAAO,OAAO;gBACZ4B;gBACAC,eAAeA,iBAAiB,CAACR;gBACjC,eAAeQ,iBAAiBR;YAClC,IACAb;YAEFS,SAASA;sBAET,cAAA,KAACsB;gBACCD,OAAO7B;gBACPH,WAAWb,IACTO,OAAO,UAAU;oBACfwC,SAAS,CAACjB,qBAAqBK;oBAC/BA;oBACAC,eAAeA,iBAAiB,CAACR;oBACjC,eAAeQ,iBAAiBR;gBAClC,IACAV;gBAEF8B,GAAG1B;gBACH2B,IAAI1B;gBACJ2B,IAAI3B;;;;AAKd,GAAG"}
1
+ {"version":3,"sources":["../../src/progress/CircularProgress.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useMemo,\n type CSSProperties,\n type HTMLAttributes,\n} from \"react\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\nimport { type ProgressProps } from \"./types.js\";\n\n/**\n * @since 6.0.0 Added the `disableShrink` prop.\n * @since 6.0.0 Renamed `small` to `dense`.\n * @since 6.0.0 Renamed `centered` to `disableCentered`.\n * @since 6.0.0 Removed the `maxRotation` prop since the determinate state no\n * longer rotates while increasing value.\n */\nexport interface CircularProgressProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"id\">,\n ProgressProps {\n /**\n * An optional style to apply to the svg within the circular progress. The\n * values of this style object will be merged with the current determinate\n * style (if it exists).\n */\n svgStyle?: CSSProperties;\n\n /**\n * An optional className to apply to the svg within the circular progress.\n */\n svgClassName?: string;\n\n /**\n * An optional style to apply to the circle within the circular progress. The\n * values of this style object will be merged with the current determinate\n * style (if it exists).\n */\n circleStyle?: CSSProperties;\n\n /**\n * An optional className to apply to the circle within the circular progress.\n */\n circleClassName?: string;\n\n /**\n * The radius for the circle. It is generally recommended to have the radius\n * be 1/2 of the viewbox and minus a few more pixels so that there is some\n * surrounding padding. You probably shouldn't really be changing this prop\n * though.\n *\n * @defaultValue `30`\n */\n radius?: number;\n\n /**\n * The center point for the circle. This should be half of the `viewBox` prop\n * 99% of the time and probably won't be changed.\n *\n * @defaultValue `33`\n */\n center?: number;\n\n /**\n * The viewbox for the child svg. I wouldn't recommend changing this value as\n * you will also need to update the `dashoffset` in both Sass and this prop to\n * get the animation to look nice again.\n *\n * @defaultValue `0 0 66 66`\n */\n viewBox?: string;\n\n /**\n * The `stroke-dashoffset` for the circle within the SVG. You probably won't\n * be changing this value that much as it should match the\n * `$rmd-progress-circle-dashoffset` Sass variable. This is really just used\n * to help to create the determinate progress animation.\n *\n * @defaultValue `187`\n */\n dashoffset?: number;\n\n /**\n * Boolean if the circular progress should be centered using left and right\n * margins.\n *\n * @defaultValue `false`\n * @since 6.0.0 Renamed from `centered`\n */\n disableCentered?: boolean;\n\n /**\n * Set to `true` to render as a smaller size.\n *\n * @defaultValue `false`\n * @since 2.3.0\n * @since 6.0.0 Renamed from `small`\n */\n dense?: boolean;\n\n /**\n * Set this to `true` to update the indeterminate behavior to only rotate\n * which will increase performance during CPU-intensive tasks or when many\n * loading spinners are displayed at once on the page.\n *\n * @defaultValue `false`\n * @since 6.0.0\n */\n disableShrink?: boolean;\n}\n\nconst styles = bem(\"rmd-circular-progress\");\n\n/**\n * @example Indeterminate Example\n * ```tsx\n * import { CircularProgress } from \"@react-md/core\":\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return <CircularProgress aria-label=\"Loading\" />;\n * }\n * ```\n *\n * @example Determinate Example\n * ```tsx\n * import { CircularProgress } from \"@react-md/core\":\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * // a number from 0 - 100\n * const [progress, setProgress] = useState(0);\n *\n * return <CircularProgress aria-label=\"File upload\" value={progress} />;\n * }\n * ```\n *\n * @since 6.0.0 Updated the determinate circular progress to no longer\n * rotate while increasing the value and require a label for accessibility.\n */\nexport const CircularProgress = forwardRef<\n HTMLSpanElement,\n LabelRequiredForA11y<CircularProgressProps>\n>(function CircularProgress(props, ref) {\n const {\n id: propId,\n className,\n svgStyle,\n svgClassName,\n circleStyle: propCircleStyle,\n circleClassName,\n value,\n min = 0,\n max = 100,\n radius = 30,\n center = 33,\n viewBox = \"0 0 66 66\",\n theme = \"primary\",\n dense = false,\n dashoffset = 187,\n disableShrink = false,\n disableCentered = false,\n disableTransition = false,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"circular-progress\");\n let progress: number | undefined;\n if (typeof value === \"number\") {\n progress = getPercentage({ min, max, value, validate: true });\n }\n\n const circleStyle = useMemo(() => {\n if (typeof progress !== \"number\") {\n return propCircleStyle;\n }\n\n return {\n ...propCircleStyle,\n strokeDashoffset: dashoffset - dashoffset * progress,\n };\n }, [progress, propCircleStyle, dashoffset]);\n\n const determinate = typeof progress === \"number\";\n const indeterminate = !determinate;\n return (\n <span\n {...remaining}\n id={id}\n ref={ref}\n role=\"progressbar\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n className={cnb(\n styles({ dense, centered: !disableCentered }),\n theme !== \"current-color\" && cssUtils({ textColor: theme }),\n className\n )}\n >\n <svg\n style={svgStyle}\n className={cnb(\n styles(\"svg\", {\n determinate,\n indeterminate: indeterminate && !disableShrink,\n \"rotate-only\": indeterminate && disableShrink,\n }),\n svgClassName\n )}\n viewBox={viewBox}\n >\n <circle\n style={circleStyle}\n className={cnb(\n styles(\"circle\", {\n animate: !disableTransition && determinate,\n determinate,\n indeterminate: indeterminate && !disableShrink,\n \"rotate-only\": indeterminate && disableShrink,\n }),\n circleClassName\n )}\n r={radius}\n cx={center}\n cy={center}\n />\n </svg>\n </span>\n );\n});\n"],"names":["cnb","forwardRef","useMemo","cssUtils","useEnsuredId","bem","getPercentage","styles","CircularProgress","props","ref","id","propId","className","svgStyle","svgClassName","circleStyle","propCircleStyle","circleClassName","value","min","max","radius","center","viewBox","theme","dense","dashoffset","disableShrink","disableCentered","disableTransition","remaining","progress","validate","strokeDashoffset","determinate","indeterminate","span","role","aria-valuemin","aria-valuemax","aria-valuenow","centered","textColor","svg","style","circle","animate","r","cx","cy"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,EACVC,OAAO,QAGF,QAAQ;AACf,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,aAAa,QAAQ,4BAA4B;AAuG1D,MAAMC,SAASF,IAAI;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BC,GACD,OAAO,MAAMG,iCAAmBP,WAG9B,SAASO,iBAAiBC,KAAK,EAAEC,GAAG;IACpC,MAAM,EACJC,IAAIC,MAAM,EACVC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,aAAaC,eAAe,EAC5BC,eAAe,EACfC,KAAK,EACLC,MAAM,CAAC,EACPC,MAAM,GAAG,EACTC,SAAS,EAAE,EACXC,SAAS,EAAE,EACXC,UAAU,WAAW,EACrBC,QAAQ,SAAS,EACjBC,QAAQ,KAAK,EACbC,aAAa,GAAG,EAChBC,gBAAgB,KAAK,EACrBC,kBAAkB,KAAK,EACvBC,oBAAoB,KAAK,EACzB,GAAGC,WACJ,GAAGtB;IAEJ,MAAME,KAAKP,aAAaQ,QAAQ;IAChC,IAAIoB;IACJ,IAAI,OAAOb,UAAU,UAAU;QAC7Ba,WAAW1B,cAAc;YAAEc;YAAKC;YAAKF;YAAOc,UAAU;QAAK;IAC7D;IAEA,MAAMjB,cAAcd,QAAQ;QAC1B,IAAI,OAAO8B,aAAa,UAAU;YAChC,OAAOf;QACT;QAEA,OAAO;YACL,GAAGA,eAAe;YAClBiB,kBAAkBP,aAAaA,aAAaK;QAC9C;IACF,GAAG;QAACA;QAAUf;QAAiBU;KAAW;IAE1C,MAAMQ,cAAc,OAAOH,aAAa;IACxC,MAAMI,gBAAgB,CAACD;IACvB,qBACE,KAACE;QACE,GAAGN,SAAS;QACbpB,IAAIA;QACJD,KAAKA;QACL4B,MAAK;QACLC,iBAAenB;QACfoB,iBAAenB;QACfoB,iBAAetB;QACfN,WAAWb,IACTO,OAAO;YAAEmB;YAAOgB,UAAU,CAACb;QAAgB,IAC3CJ,UAAU,mBAAmBtB,SAAS;YAAEwC,WAAWlB;QAAM,IACzDZ;kBAGF,cAAA,KAAC+B;YACCC,OAAO/B;YACPD,WAAWb,IACTO,OAAO,OAAO;gBACZ4B;gBACAC,eAAeA,iBAAiB,CAACR;gBACjC,eAAeQ,iBAAiBR;YAClC,IACAb;YAEFS,SAASA;sBAET,cAAA,KAACsB;gBACCD,OAAO7B;gBACPH,WAAWb,IACTO,OAAO,UAAU;oBACfwC,SAAS,CAACjB,qBAAqBK;oBAC/BA;oBACAC,eAAeA,iBAAiB,CAACR;oBACjC,eAAeQ,iBAAiBR;gBAClC,IACAV;gBAEF8B,GAAG1B;gBACH2B,IAAI1B;gBACJ2B,IAAI3B;;;;AAKd,GAAG"}
@@ -43,8 +43,6 @@ export interface LinearProgressProps extends Omit<HTMLAttributes<HTMLSpanElement
43
43
  verticalHeight?: number | null;
44
44
  }
45
45
  /**
46
- * **Server Component**
47
- *
48
46
  * @example Indeterminate Example
49
47
  * ```tsx
50
48
  * import { LinearProgress } from "@react-md/core";
@@ -7,8 +7,6 @@ import { bem } from "../utils/bem.js";
7
7
  import { getPercentage } from "../utils/getPercentage.js";
8
8
  const styles = bem("rmd-linear-progress");
9
9
  /**
10
- * **Server Component**
11
- *
12
10
  * @example Indeterminate Example
13
11
  * ```tsx
14
12
  * import { LinearProgress } from "@react-md/core";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/progress/LinearProgress.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useMemo,\n type CSSProperties,\n type HTMLAttributes,\n} from \"react\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\nimport { type ProgressProps } from \"./types.js\";\n\n/**\n * @since 6.0.0 Added the `theme` prop\n */\nexport interface LinearProgressProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"id\" | \"children\">,\n ProgressProps {\n /**\n * An optional style to apply to the progress bar. This will be merged with\n * the current width or height tracking the progress when a `value` is also\n * provided.\n */\n barStyle?: CSSProperties;\n\n /**\n * An optional className to apply to the progress bar.\n */\n barClassName?: string;\n\n /**\n * Boolean if the progress should be reversed. This will change the progress\n * direction from `left-to-right` to be `right-to-left`. If the current\n * language is a rtl language and this prop is enabled, the direction will\n * still be `left-to-right`.\n *\n * @defaultValue `false`\n */\n reverse?: boolean;\n\n /**\n * Boolean if the progress should be vertical instead of horizontal. When\n * this prop is set, you should also set the `verticalHeight` prop to a height\n * value you want for your progress bar.\n *\n * @defaultValue `false`\n */\n vertical?: boolean;\n\n /**\n * Since there isn't really a good way to have \"auto height\", you'll need to\n * manually set the progress bar's height with this prop to some pixel value.\n * If you'd prefer to set the height in Sass/css, set this value to `null`\n * instead since this value would be passed down as a `height` inline style.\n *\n * @defaultValue `240`\n */\n verticalHeight?: number | null;\n}\n\nconst styles = bem(\"rmd-linear-progress\");\n\n/**\n * **Server Component**\n *\n * @example Indeterminate Example\n * ```tsx\n * import { LinearProgress } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return <LinearProgress aria-label=\"Loading\" />;\n * }\n * ```\n *\n * @example Determinate Example\n * ```tsx\n * import { LinearProgress } from \"@react-md/core\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * // a number from 0 - 100\n * const [progress, setProgress] = useState(0);\n *\n * return <LinearProgress aria-label=\"File upload\" value={progress} />;\n * }\n * ```\n *\n * @since 6.0.0 Supports rendering as any of the theme colors and\n * requires a label for accessibility.\n */\nexport const LinearProgress = forwardRef<\n HTMLSpanElement,\n LabelRequiredForA11y<LinearProgressProps>\n>(function LinearProgress(props, ref) {\n const {\n id: propId,\n style: propStyle,\n className,\n barStyle: propBarStyle,\n barClassName,\n min = 0,\n max = 100,\n value,\n reverse = false,\n theme = \"primary\",\n disableTransition = false,\n vertical = false,\n verticalHeight = 240,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"linear-progress\");\n const style = useMemo(() => {\n if (!vertical || verticalHeight === null) {\n return propStyle;\n }\n\n return {\n ...propStyle,\n height: verticalHeight,\n };\n }, [propStyle, vertical, verticalHeight]);\n\n let progress: number | undefined;\n if (typeof value === \"number\") {\n progress = getPercentage({ min, max, value, validate: true });\n }\n const barStyle = useMemo(() => {\n if (typeof progress !== \"number\") {\n return propBarStyle;\n }\n\n const key = vertical ? \"height\" : \"width\";\n return {\n ...propBarStyle,\n [key]: `${progress * 100}%`,\n };\n }, [progress, propBarStyle, vertical]);\n\n const determinate = typeof progress === \"number\";\n const indeterminate = !determinate;\n return (\n <span\n {...remaining}\n id={id}\n ref={ref}\n style={style}\n role=\"progressbar\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n className={cnb(\n styles({\n vertical,\n horizontal: !vertical,\n determinate,\n indeterminate,\n }),\n theme !== \"current-color\" && cssUtils({ textColor: theme }),\n className\n )}\n >\n <span\n style={barStyle}\n className={cnb(\n styles(\"bar\", {\n vertical,\n \"vertical-reverse\": vertical && reverse,\n horizontal: !vertical,\n \"horizontal-reverse\": !vertical && reverse,\n animate: !disableTransition && determinate,\n determinate,\n indeterminate,\n \"determinate-reverse\": determinate && reverse && !vertical,\n \"determinate-vertical-reverse\": determinate && reverse && vertical,\n \"indeterminate-reverse\": indeterminate && reverse && !vertical,\n \"indeterminate-vertical\": indeterminate && vertical,\n \"indeterminate-vertical-reverse\":\n indeterminate && reverse && vertical,\n }),\n barClassName\n )}\n />\n </span>\n );\n});\n"],"names":["cnb","forwardRef","useMemo","cssUtils","useEnsuredId","bem","getPercentage","styles","LinearProgress","props","ref","id","propId","style","propStyle","className","barStyle","propBarStyle","barClassName","min","max","value","reverse","theme","disableTransition","vertical","verticalHeight","remaining","height","progress","validate","key","determinate","indeterminate","span","role","aria-valuemin","aria-valuemax","aria-valuenow","horizontal","textColor","animate"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,EACVC,OAAO,QAGF,QAAQ;AACf,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,aAAa,QAAQ,4BAA4B;AAmD1D,MAAMC,SAASF,IAAI;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BC,GACD,OAAO,MAAMG,+BAAiBP,WAG5B,SAASO,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAOC,SAAS,EAChBC,SAAS,EACTC,UAAUC,YAAY,EACtBC,YAAY,EACZC,MAAM,CAAC,EACPC,MAAM,GAAG,EACTC,KAAK,EACLC,UAAU,KAAK,EACfC,QAAQ,SAAS,EACjBC,oBAAoB,KAAK,EACzBC,WAAW,KAAK,EAChBC,iBAAiB,GAAG,EACpB,GAAGC,WACJ,GAAGlB;IAEJ,MAAME,KAAKP,aAAaQ,QAAQ;IAChC,MAAMC,QAAQX,QAAQ;QACpB,IAAI,CAACuB,YAAYC,mBAAmB,MAAM;YACxC,OAAOZ;QACT;QAEA,OAAO;YACL,GAAGA,SAAS;YACZc,QAAQF;QACV;IACF,GAAG;QAACZ;QAAWW;QAAUC;KAAe;IAExC,IAAIG;IACJ,IAAI,OAAOR,UAAU,UAAU;QAC7BQ,WAAWvB,cAAc;YAAEa;YAAKC;YAAKC;YAAOS,UAAU;QAAK;IAC7D;IACA,MAAMd,WAAWd,QAAQ;QACvB,IAAI,OAAO2B,aAAa,UAAU;YAChC,OAAOZ;QACT;QAEA,MAAMc,MAAMN,WAAW,WAAW;QAClC,OAAO;YACL,GAAGR,YAAY;YACf,CAACc,IAAI,EAAE,CAAC,EAAEF,WAAW,IAAI,CAAC,CAAC;QAC7B;IACF,GAAG;QAACA;QAAUZ;QAAcQ;KAAS;IAErC,MAAMO,cAAc,OAAOH,aAAa;IACxC,MAAMI,gBAAgB,CAACD;IACvB,qBACE,KAACE;QACE,GAAGP,SAAS;QACbhB,IAAIA;QACJD,KAAKA;QACLG,OAAOA;QACPsB,MAAK;QACLC,iBAAejB;QACfkB,iBAAejB;QACfkB,iBAAejB;QACfN,WAAWf,IACTO,OAAO;YACLkB;YACAc,YAAY,CAACd;YACbO;YACAC;QACF,IACAV,UAAU,mBAAmBpB,SAAS;YAAEqC,WAAWjB;QAAM,IACzDR;kBAGF,cAAA,KAACmB;YACCrB,OAAOG;YACPD,WAAWf,IACTO,OAAO,OAAO;gBACZkB;gBACA,oBAAoBA,YAAYH;gBAChCiB,YAAY,CAACd;gBACb,sBAAsB,CAACA,YAAYH;gBACnCmB,SAAS,CAACjB,qBAAqBQ;gBAC/BA;gBACAC;gBACA,uBAAuBD,eAAeV,WAAW,CAACG;gBAClD,gCAAgCO,eAAeV,WAAWG;gBAC1D,yBAAyBQ,iBAAiBX,WAAW,CAACG;gBACtD,0BAA0BQ,iBAAiBR;gBAC3C,kCACEQ,iBAAiBX,WAAWG;YAChC,IACAP;;;AAKV,GAAG"}
1
+ {"version":3,"sources":["../../src/progress/LinearProgress.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useMemo,\n type CSSProperties,\n type HTMLAttributes,\n} from \"react\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\nimport { type ProgressProps } from \"./types.js\";\n\n/**\n * @since 6.0.0 Added the `theme` prop\n */\nexport interface LinearProgressProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"id\" | \"children\">,\n ProgressProps {\n /**\n * An optional style to apply to the progress bar. This will be merged with\n * the current width or height tracking the progress when a `value` is also\n * provided.\n */\n barStyle?: CSSProperties;\n\n /**\n * An optional className to apply to the progress bar.\n */\n barClassName?: string;\n\n /**\n * Boolean if the progress should be reversed. This will change the progress\n * direction from `left-to-right` to be `right-to-left`. If the current\n * language is a rtl language and this prop is enabled, the direction will\n * still be `left-to-right`.\n *\n * @defaultValue `false`\n */\n reverse?: boolean;\n\n /**\n * Boolean if the progress should be vertical instead of horizontal. When\n * this prop is set, you should also set the `verticalHeight` prop to a height\n * value you want for your progress bar.\n *\n * @defaultValue `false`\n */\n vertical?: boolean;\n\n /**\n * Since there isn't really a good way to have \"auto height\", you'll need to\n * manually set the progress bar's height with this prop to some pixel value.\n * If you'd prefer to set the height in Sass/css, set this value to `null`\n * instead since this value would be passed down as a `height` inline style.\n *\n * @defaultValue `240`\n */\n verticalHeight?: number | null;\n}\n\nconst styles = bem(\"rmd-linear-progress\");\n\n/**\n * @example Indeterminate Example\n * ```tsx\n * import { LinearProgress } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return <LinearProgress aria-label=\"Loading\" />;\n * }\n * ```\n *\n * @example Determinate Example\n * ```tsx\n * import { LinearProgress } from \"@react-md/core\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * // a number from 0 - 100\n * const [progress, setProgress] = useState(0);\n *\n * return <LinearProgress aria-label=\"File upload\" value={progress} />;\n * }\n * ```\n *\n * @since 6.0.0 Supports rendering as any of the theme colors and\n * requires a label for accessibility.\n */\nexport const LinearProgress = forwardRef<\n HTMLSpanElement,\n LabelRequiredForA11y<LinearProgressProps>\n>(function LinearProgress(props, ref) {\n const {\n id: propId,\n style: propStyle,\n className,\n barStyle: propBarStyle,\n barClassName,\n min = 0,\n max = 100,\n value,\n reverse = false,\n theme = \"primary\",\n disableTransition = false,\n vertical = false,\n verticalHeight = 240,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"linear-progress\");\n const style = useMemo(() => {\n if (!vertical || verticalHeight === null) {\n return propStyle;\n }\n\n return {\n ...propStyle,\n height: verticalHeight,\n };\n }, [propStyle, vertical, verticalHeight]);\n\n let progress: number | undefined;\n if (typeof value === \"number\") {\n progress = getPercentage({ min, max, value, validate: true });\n }\n const barStyle = useMemo(() => {\n if (typeof progress !== \"number\") {\n return propBarStyle;\n }\n\n const key = vertical ? \"height\" : \"width\";\n return {\n ...propBarStyle,\n [key]: `${progress * 100}%`,\n };\n }, [progress, propBarStyle, vertical]);\n\n const determinate = typeof progress === \"number\";\n const indeterminate = !determinate;\n return (\n <span\n {...remaining}\n id={id}\n ref={ref}\n style={style}\n role=\"progressbar\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n className={cnb(\n styles({\n vertical,\n horizontal: !vertical,\n determinate,\n indeterminate,\n }),\n theme !== \"current-color\" && cssUtils({ textColor: theme }),\n className\n )}\n >\n <span\n style={barStyle}\n className={cnb(\n styles(\"bar\", {\n vertical,\n \"vertical-reverse\": vertical && reverse,\n horizontal: !vertical,\n \"horizontal-reverse\": !vertical && reverse,\n animate: !disableTransition && determinate,\n determinate,\n indeterminate,\n \"determinate-reverse\": determinate && reverse && !vertical,\n \"determinate-vertical-reverse\": determinate && reverse && vertical,\n \"indeterminate-reverse\": indeterminate && reverse && !vertical,\n \"indeterminate-vertical\": indeterminate && vertical,\n \"indeterminate-vertical-reverse\":\n indeterminate && reverse && vertical,\n }),\n barClassName\n )}\n />\n </span>\n );\n});\n"],"names":["cnb","forwardRef","useMemo","cssUtils","useEnsuredId","bem","getPercentage","styles","LinearProgress","props","ref","id","propId","style","propStyle","className","barStyle","propBarStyle","barClassName","min","max","value","reverse","theme","disableTransition","vertical","verticalHeight","remaining","height","progress","validate","key","determinate","indeterminate","span","role","aria-valuemin","aria-valuemax","aria-valuenow","horizontal","textColor","animate"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,EACVC,OAAO,QAGF,QAAQ;AACf,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,aAAa,QAAQ,4BAA4B;AAmD1D,MAAMC,SAASF,IAAI;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BC,GACD,OAAO,MAAMG,+BAAiBP,WAG5B,SAASO,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAOC,SAAS,EAChBC,SAAS,EACTC,UAAUC,YAAY,EACtBC,YAAY,EACZC,MAAM,CAAC,EACPC,MAAM,GAAG,EACTC,KAAK,EACLC,UAAU,KAAK,EACfC,QAAQ,SAAS,EACjBC,oBAAoB,KAAK,EACzBC,WAAW,KAAK,EAChBC,iBAAiB,GAAG,EACpB,GAAGC,WACJ,GAAGlB;IAEJ,MAAME,KAAKP,aAAaQ,QAAQ;IAChC,MAAMC,QAAQX,QAAQ;QACpB,IAAI,CAACuB,YAAYC,mBAAmB,MAAM;YACxC,OAAOZ;QACT;QAEA,OAAO;YACL,GAAGA,SAAS;YACZc,QAAQF;QACV;IACF,GAAG;QAACZ;QAAWW;QAAUC;KAAe;IAExC,IAAIG;IACJ,IAAI,OAAOR,UAAU,UAAU;QAC7BQ,WAAWvB,cAAc;YAAEa;YAAKC;YAAKC;YAAOS,UAAU;QAAK;IAC7D;IACA,MAAMd,WAAWd,QAAQ;QACvB,IAAI,OAAO2B,aAAa,UAAU;YAChC,OAAOZ;QACT;QAEA,MAAMc,MAAMN,WAAW,WAAW;QAClC,OAAO;YACL,GAAGR,YAAY;YACf,CAACc,IAAI,EAAE,CAAC,EAAEF,WAAW,IAAI,CAAC,CAAC;QAC7B;IACF,GAAG;QAACA;QAAUZ;QAAcQ;KAAS;IAErC,MAAMO,cAAc,OAAOH,aAAa;IACxC,MAAMI,gBAAgB,CAACD;IACvB,qBACE,KAACE;QACE,GAAGP,SAAS;QACbhB,IAAIA;QACJD,KAAKA;QACLG,OAAOA;QACPsB,MAAK;QACLC,iBAAejB;QACfkB,iBAAejB;QACfkB,iBAAejB;QACfN,WAAWf,IACTO,OAAO;YACLkB;YACAc,YAAY,CAACd;YACbO;YACAC;QACF,IACAV,UAAU,mBAAmBpB,SAAS;YAAEqC,WAAWjB;QAAM,IACzDR;kBAGF,cAAA,KAACmB;YACCrB,OAAOG;YACPD,WAAWf,IACTO,OAAO,OAAO;gBACZkB;gBACA,oBAAoBA,YAAYH;gBAChCiB,YAAY,CAACd;gBACb,sBAAsB,CAACA,YAAYH;gBACnCmB,SAAS,CAACjB,qBAAqBQ;gBAC/BA;gBACAC;gBACA,uBAAuBD,eAAeV,WAAW,CAACG;gBAClD,gCAAgCO,eAAeV,WAAWG;gBAC1D,yBAAyBQ,iBAAiBX,WAAW,CAACG;gBACtD,0BAA0BQ,iBAAiBR;gBAC3C,kCACEQ,iBAAiBX,WAAWG;YAChC,IACAP;;;AAKV,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/progress/getProgressA11y.ts"],"sourcesContent":["export interface ProgressA11y {\n \"aria-busy\": true;\n \"aria-describedby\": string;\n}\n\n/**\n * An extremely simple util that can be used to get the required a11y props for\n * another component that relies on a progress component.\n *\n * @param progressId - The id for the progress bar\n * @param progressing - Boolean if the progress bar is visible and progressing\n */\nexport function getProgressA11y(\n progressId: string,\n progressing: boolean\n): ProgressA11y | undefined {\n if (!progressing) {\n return undefined;\n }\n\n return {\n \"aria-busy\": true,\n \"aria-describedby\": progressId,\n };\n}\n"],"names":["getProgressA11y","progressId","progressing","undefined"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAKA;;;;;;CAMC,GACD,OAAO,SAASA,gBACdC,UAAkB,EAClBC,WAAoB;IAEpB,IAAI,CAACA,aAAa;QAChB,OAAOC;IACT;IAEA,OAAO;QACL,aAAa;QACb,oBAAoBF;IACtB;AACF"}
1
+ {"version":3,"sources":["../../src/progress/getProgressA11y.ts"],"sourcesContent":["export interface ProgressA11y {\n \"aria-busy\": true;\n \"aria-describedby\": string;\n}\n\n/**\n * An extremely simple util that can be used to get the required a11y props for\n * another component that relies on a progress component.\n *\n * @param progressId - The id for the progress bar\n * @param progressing - Boolean if the progress bar is visible and progressing\n */\nexport function getProgressA11y(\n progressId: string,\n progressing: boolean\n): ProgressA11y | undefined {\n if (!progressing) {\n return undefined;\n }\n\n return {\n \"aria-busy\": true,\n \"aria-describedby\": progressId,\n };\n}\n"],"names":["getProgressA11y","progressId","progressing","undefined"],"mappings":"AAKA;;;;;;CAMC,GACD,OAAO,SAASA,gBACdC,UAAkB,EAClBC,WAAoB;IAEpB,IAAI,CAACA,aAAa;QAChB,OAAOC;IACT;IAEA,OAAO;QACL,aAAa;QACb,oBAAoBF;IACtB;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/progress/types.ts"],"sourcesContent":["import { type ThemeColor } from \"../cssUtils.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-progress-background-color\"?: string;\n \"--rmd-progress-color\"?: string;\n \"--rmd-progress-circular-size\"?: string | number;\n \"--rmd-progress-circular-stroke-width\"?: number;\n \"--rmd-progress-linear-size\"?: string | number;\n }\n}\n\n/**\n * @since 6.0.0\n */\nexport type ProgressTheme = ThemeColor | \"current-color\";\n\n/**\n * The base progress props for both the linear and circular progress components.\n *\n * @since 6.0.0 Added the `theme` prop.\n */\nexport interface ProgressProps {\n /**\n * The id for the progress component. This is required for accessibility since\n * the progress will 99% of the time be describing the progress of something\n * else within the page. The element that is loading or tracking progress\n * should also be updated to have `aria-busy=\"true\"` and\n * `aria-describedby=\"THIS_ID\"`.\n *\n * @defaultValue `\"circular-progress-\" useId() || \"linear-progress-\" + useId()`\n * @since 6.0.0 This prop is now optional.\n */\n id?: string;\n\n /**\n * The min value for the progress component. This is used to determine the\n * current progress percentage for screen readers and styles.\n *\n * @defaultValue `0`\n */\n min?: number;\n\n /**\n * The max value for the progress component. This is used to determine the\n * current progress percentage for screen readers and styles.\n *\n * @defaultValue `100`\n */\n max?: number;\n\n /**\n * The current value for the progress component. If this prop is omitted, the\n * progress component will be put in an \"indeterminate\" state which will just\n * infinitely loop an animation until it is unmounted.\n *\n * This value will be passed down as a percentage based on the `min` and `max`\n * props so that screen readers can be notified of changes.\n */\n value?: number;\n\n /**\n * Boolean if the determinate progress versions should animate when the value\n * changes. This should really only be enabled if you aren't getting quick\n * progress updates or the updates happen in chunks.\n *\n * @defaultValue `false`\n * @since 6.0.0 This was renamed from `animate` to\n * `disableTransition`.\n */\n disableTransition?: boolean;\n\n /**\n * @defaultValue `\"primary\"`\n * @since 6.0.0\n */\n theme?: ProgressTheme;\n}\n"],"names":[],"rangeMappings":";;;;","mappings":"AAiBA;;;;CAIC,GACD,WAuDC"}
1
+ {"version":3,"sources":["../../src/progress/types.ts"],"sourcesContent":["import { type ThemeColor } from \"../cssUtils.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-progress-background-color\"?: string;\n \"--rmd-progress-color\"?: string;\n \"--rmd-progress-circular-size\"?: string | number;\n \"--rmd-progress-circular-stroke-width\"?: number;\n \"--rmd-progress-linear-size\"?: string | number;\n }\n}\n\n/**\n * @since 6.0.0\n */\nexport type ProgressTheme = ThemeColor | \"current-color\";\n\n/**\n * The base progress props for both the linear and circular progress components.\n *\n * @since 6.0.0 Added the `theme` prop.\n */\nexport interface ProgressProps {\n /**\n * The id for the progress component. This is required for accessibility since\n * the progress will 99% of the time be describing the progress of something\n * else within the page. The element that is loading or tracking progress\n * should also be updated to have `aria-busy=\"true\"` and\n * `aria-describedby=\"THIS_ID\"`.\n *\n * @defaultValue `\"circular-progress-\" useId() || \"linear-progress-\" + useId()`\n * @since 6.0.0 This prop is now optional.\n */\n id?: string;\n\n /**\n * The min value for the progress component. This is used to determine the\n * current progress percentage for screen readers and styles.\n *\n * @defaultValue `0`\n */\n min?: number;\n\n /**\n * The max value for the progress component. This is used to determine the\n * current progress percentage for screen readers and styles.\n *\n * @defaultValue `100`\n */\n max?: number;\n\n /**\n * The current value for the progress component. If this prop is omitted, the\n * progress component will be put in an \"indeterminate\" state which will just\n * infinitely loop an animation until it is unmounted.\n *\n * This value will be passed down as a percentage based on the `min` and `max`\n * props so that screen readers can be notified of changes.\n */\n value?: number;\n\n /**\n * Boolean if the determinate progress versions should animate when the value\n * changes. This should really only be enabled if you aren't getting quick\n * progress updates or the updates happen in chunks.\n *\n * @defaultValue `false`\n * @since 6.0.0 This was renamed from `animate` to\n * `disableTransition`.\n */\n disableTransition?: boolean;\n\n /**\n * @defaultValue `\"primary\"`\n * @since 6.0.0\n */\n theme?: ProgressTheme;\n}\n"],"names":[],"mappings":"AAiBA;;;;CAIC,GACD,WAuDC"}
@@ -63,8 +63,6 @@ export declare function responsiveItemContainer(options?: ResponsiveItemContaine
63
63
  export interface ResponsiveItemContainerProps extends HTMLAttributes<HTMLSpanElement>, ResponsiveItemContainerClassNameOptions {
64
64
  }
65
65
  /**
66
- * **Server Component**
67
- *
68
66
  * @example Image Example
69
67
  * ```tsx
70
68
  * import { ResponsiveItemContainer } from "@react-md/core";
@@ -14,8 +14,6 @@ const styles = bem("rmd-responsive-item-container");
14
14
  }), className);
15
15
  }
16
16
  /**
17
- * **Server Component**
18
- *
19
17
  * @example Image Example
20
18
  * ```tsx
21
19
  * import { ResponsiveItemContainer } from "@react-md/core";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/responsive-item/ResponsiveItemContainer.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-responsive-item-container\");\n\n/** @since 6.0.0 */\nexport interface ResponsiveItemContainerClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` if the container should gain the following styles:\n *\n * ```scss\n * display: block;\n * width: 100%;\n * ```\n *\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n\n /**\n * Set this to a custom aspect ratio to use.\n *\n * @example Valid Aspect Ratios\n * ```tsx\n * aspectRatio=\"16-9\"\n * aspectRatio=\"9-16\"\n * aspectRatio=\"3-4\"\n * aspectRatio=\"4-3\"\n * aspectRatio=\"1-1\"\n * ```\n *\n * These values are based on the `core.$responsive-item-aspect-ratios` map.\n *\n * @defaultValue `\"\"`\n */\n aspectRatio?: `${number}-${number}`;\n\n /**\n * Set this to `\"manual\"` if you want to manually specify which elements are\n * responsive items using custom class names. You probably don't really want\n * to use this.\n *\n * Set this to `\"auto\"` to automatically update all visual media that appear\n * as a child in this component to a responsive item.\n *\n * Set this to `\"container\"` to automatically update all visual media that\n * appear as a child in this component to be a responsive item that scales to\n * the container's dimensions.\n *\n * Note: The `\"auto\"` and `\"container\"` values use the\n * `core.$responsive-item-selectors` value for their behavior.\n *\n * @defaultValue `\"auto\"`\n */\n responsive?: \"auto\" | \"manual\" | \"container\";\n}\n\n/** @since 6.0.0 */\nexport function responsiveItemContainer(\n options: ResponsiveItemContainerClassNameOptions = {}\n): string {\n const {\n className,\n fullWidth = false,\n aspectRatio = \"\",\n responsive = \"auto\",\n } = options;\n\n return cnb(\n styles({\n auto: responsive !== \"manual\",\n \"auto-scale\": responsive === \"container\",\n \"aspect-ratio\": aspectRatio,\n [aspectRatio]: aspectRatio,\n \"full-width\": fullWidth,\n }),\n className\n );\n}\n\n/**\n * @since 6.0.0 Renamed from `MediaContainerProps` to\n * `ResponsiveItemContainerProps`\n * @since 6.0.0 The `height` and `width` props were removed in favor of the\n * `aspectRatio` props since the latest typescript string interpolation supports\n * enforcing the correct format.\n * @since 6.0.0 The `auto` prop was removed in favor of the new\n * {@link ResponsiveItemContainerProps.responsive} prop.\n */\nexport interface ResponsiveItemContainerProps\n extends HTMLAttributes<HTMLSpanElement>,\n ResponsiveItemContainerClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @example Image Example\n * ```tsx\n * import { ResponsiveItemContainer } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer>\n * <img alt=\"\" src=\"/some-image.png\" />\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @example Iframe Example\n * ```tsx\n * import { ResponsiveItemContainer } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer>\n * <iframe\n * src=\"https://youtube.com/some-video-url\"\n * title=\"Some YouTube video\"\n * allowFullScreen\n * />\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @example Forced Aspect Ratio\n * ```tsx\n * import { ResponsiveItemContainer } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer aspectRatio=\"16-9\">\n * <img alt=\"\" src=\"/some-image.png\" />\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @since 6.0.0 Renamed from `MediaContainer` to\n * `ResponsiveItemContainer` and renders a `<span>` instead of a `<div>`.\n */\nexport const ResponsiveItemContainer = forwardRef<\n HTMLSpanElement,\n ResponsiveItemContainerProps\n>(function ResponsiveItemContainer(props, ref) {\n const {\n className,\n fullWidth = false,\n aspectRatio,\n responsive = \"auto\",\n children,\n ...remaining\n } = props;\n\n return (\n <span\n {...remaining}\n ref={ref}\n className={responsiveItemContainer({\n className,\n fullWidth,\n aspectRatio,\n responsive,\n })}\n >\n {children}\n </span>\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","responsiveItemContainer","options","className","fullWidth","aspectRatio","responsive","auto","ResponsiveItemContainer","props","ref","children","remaining","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAwDnB,iBAAiB,GACjB,OAAO,SAASE,wBACdC,UAAmD,CAAC,CAAC;IAErD,MAAM,EACJC,SAAS,EACTC,YAAY,KAAK,EACjBC,cAAc,EAAE,EAChBC,aAAa,MAAM,EACpB,GAAGJ;IAEJ,OAAOL,IACLG,OAAO;QACLO,MAAMD,eAAe;QACrB,cAAcA,eAAe;QAC7B,gBAAgBD;QAChB,CAACA,YAAY,EAAEA;QACf,cAAcD;IAChB,IACAD;AAEJ;AAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDC,GACD,OAAO,MAAMK,wCAA0BV,WAGrC,SAASU,wBAAwBC,KAAK,EAAEC,GAAG;IAC3C,MAAM,EACJP,SAAS,EACTC,YAAY,KAAK,EACjBC,WAAW,EACXC,aAAa,MAAM,EACnBK,QAAQ,EACR,GAAGC,WACJ,GAAGH;IAEJ,qBACE,KAACI;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLP,WAAWF,wBAAwB;YACjCE;YACAC;YACAC;YACAC;QACF;kBAECK;;AAGP,GAAG"}
1
+ {"version":3,"sources":["../../src/responsive-item/ResponsiveItemContainer.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-responsive-item-container\");\n\n/** @since 6.0.0 */\nexport interface ResponsiveItemContainerClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` if the container should gain the following styles:\n *\n * ```scss\n * display: block;\n * width: 100%;\n * ```\n *\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n\n /**\n * Set this to a custom aspect ratio to use.\n *\n * @example Valid Aspect Ratios\n * ```tsx\n * aspectRatio=\"16-9\"\n * aspectRatio=\"9-16\"\n * aspectRatio=\"3-4\"\n * aspectRatio=\"4-3\"\n * aspectRatio=\"1-1\"\n * ```\n *\n * These values are based on the `core.$responsive-item-aspect-ratios` map.\n *\n * @defaultValue `\"\"`\n */\n aspectRatio?: `${number}-${number}`;\n\n /**\n * Set this to `\"manual\"` if you want to manually specify which elements are\n * responsive items using custom class names. You probably don't really want\n * to use this.\n *\n * Set this to `\"auto\"` to automatically update all visual media that appear\n * as a child in this component to a responsive item.\n *\n * Set this to `\"container\"` to automatically update all visual media that\n * appear as a child in this component to be a responsive item that scales to\n * the container's dimensions.\n *\n * Note: The `\"auto\"` and `\"container\"` values use the\n * `core.$responsive-item-selectors` value for their behavior.\n *\n * @defaultValue `\"auto\"`\n */\n responsive?: \"auto\" | \"manual\" | \"container\";\n}\n\n/** @since 6.0.0 */\nexport function responsiveItemContainer(\n options: ResponsiveItemContainerClassNameOptions = {}\n): string {\n const {\n className,\n fullWidth = false,\n aspectRatio = \"\",\n responsive = \"auto\",\n } = options;\n\n return cnb(\n styles({\n auto: responsive !== \"manual\",\n \"auto-scale\": responsive === \"container\",\n \"aspect-ratio\": aspectRatio,\n [aspectRatio]: aspectRatio,\n \"full-width\": fullWidth,\n }),\n className\n );\n}\n\n/**\n * @since 6.0.0 Renamed from `MediaContainerProps` to\n * `ResponsiveItemContainerProps`\n * @since 6.0.0 The `height` and `width` props were removed in favor of the\n * `aspectRatio` props since the latest typescript string interpolation supports\n * enforcing the correct format.\n * @since 6.0.0 The `auto` prop was removed in favor of the new\n * {@link ResponsiveItemContainerProps.responsive} prop.\n */\nexport interface ResponsiveItemContainerProps\n extends HTMLAttributes<HTMLSpanElement>,\n ResponsiveItemContainerClassNameOptions {}\n\n/**\n * @example Image Example\n * ```tsx\n * import { ResponsiveItemContainer } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer>\n * <img alt=\"\" src=\"/some-image.png\" />\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @example Iframe Example\n * ```tsx\n * import { ResponsiveItemContainer } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer>\n * <iframe\n * src=\"https://youtube.com/some-video-url\"\n * title=\"Some YouTube video\"\n * allowFullScreen\n * />\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @example Forced Aspect Ratio\n * ```tsx\n * import { ResponsiveItemContainer } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer aspectRatio=\"16-9\">\n * <img alt=\"\" src=\"/some-image.png\" />\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @since 6.0.0 Renamed from `MediaContainer` to\n * `ResponsiveItemContainer` and renders a `<span>` instead of a `<div>`.\n */\nexport const ResponsiveItemContainer = forwardRef<\n HTMLSpanElement,\n ResponsiveItemContainerProps\n>(function ResponsiveItemContainer(props, ref) {\n const {\n className,\n fullWidth = false,\n aspectRatio,\n responsive = \"auto\",\n children,\n ...remaining\n } = props;\n\n return (\n <span\n {...remaining}\n ref={ref}\n className={responsiveItemContainer({\n className,\n fullWidth,\n aspectRatio,\n responsive,\n })}\n >\n {children}\n </span>\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","responsiveItemContainer","options","className","fullWidth","aspectRatio","responsive","auto","ResponsiveItemContainer","props","ref","children","remaining","span"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAwDnB,iBAAiB,GACjB,OAAO,SAASE,wBACdC,UAAmD,CAAC,CAAC;IAErD,MAAM,EACJC,SAAS,EACTC,YAAY,KAAK,EACjBC,cAAc,EAAE,EAChBC,aAAa,MAAM,EACpB,GAAGJ;IAEJ,OAAOL,IACLG,OAAO;QACLO,MAAMD,eAAe;QACrB,cAAcA,eAAe;QAC7B,gBAAgBD;QAChB,CAACA,YAAY,EAAEA;QACf,cAAcD;IAChB,IACAD;AAEJ;AAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDC,GACD,OAAO,MAAMK,wCAA0BV,WAGrC,SAASU,wBAAwBC,KAAK,EAAEC,GAAG;IAC3C,MAAM,EACJP,SAAS,EACTC,YAAY,KAAK,EACjBC,WAAW,EACXC,aAAa,MAAM,EACnBK,QAAQ,EACR,GAAGC,WACJ,GAAGH;IAEJ,qBACE,KAACI;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLP,WAAWF,wBAAwB;YACjCE;YACAC;YACAC;YACAC;QACF;kBAECK;;AAGP,GAAG"}
@@ -25,8 +25,6 @@ export declare function responsiveItemOverlay(options?: ResponsiveItemOverlayCla
25
25
  export interface ResponsiveItemOverlayProps extends HTMLAttributes<HTMLSpanElement>, ResponsiveItemOverlayClassNameOptions {
26
26
  }
27
27
  /**
28
- * **Server Component**
29
- *
30
28
  * @example Simple Example
31
29
  * ```tsx
32
30
  * import { ResponsiveItemContainer, ResponsiveItemOverlay } from "@react-md/core";
@@ -13,8 +13,6 @@ const styles = bem("rmd-responsive-item-overlay");
13
13
  }), className);
14
14
  }
15
15
  /**
16
- * **Server Component**
17
- *
18
16
  * @example Simple Example
19
17
  * ```tsx
20
18
  * import { ResponsiveItemContainer, ResponsiveItemOverlay } from "@react-md/core";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/responsive-item/ResponsiveItemOverlay.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-responsive-item-overlay\");\n\n/**\n * The overlay positions relative to the `MediaContainer` component. Most of\n * the sizes are self-explanatory, but the `middle` position will be centered\n * vertically while `center` will be centered `horizontally`.\n *\n * @since 6.0.0 Renamed from `MediaOverlayPosition` to\n * `ResponsiveItemOverlayProps`.\n */\nexport type ResponsiveItemOverlayPosition =\n | \"top\"\n | \"right\"\n | \"bottom\"\n | \"left\"\n | \"middle\"\n | \"center\"\n | \"absolute-center\";\n\n/** @since 6.0.0 */\nexport interface ResponsiveItemOverlayClassNameOptions {\n className?: string;\n /** @defaultValue `\"bottom\"` */\n position?: ResponsiveItemOverlayPosition;\n}\n\n/**\n * @since 6.0.0\n */\nexport function responsiveItemOverlay(\n options: ResponsiveItemOverlayClassNameOptions = {}\n): string {\n const { className, position = \"bottom\" } = options;\n\n return cnb(\n styles({\n [position]: true,\n horizontal:\n position !== \"top\" && position !== \"bottom\" && position !== \"middle\",\n }),\n className\n );\n}\n\n/**\n * @since 6.0.0 Renamed from `MediaOverlayProps` to\n * `ResponsiveItemOverlayProps`.\n */\nexport interface ResponsiveItemOverlayProps\n extends HTMLAttributes<HTMLSpanElement>,\n ResponsiveItemOverlayClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @example Simple Example\n * ```tsx\n * import { ResponsiveItemContainer, ResponsiveItemOverlay } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer>\n * <img alt=\"\" src=\"/some-image.png\" />\n * <ResponsiveItemOverlay>\n * <Typography type=\"headline-5\" margin=\"none\">\n * This appears at the bottom by default.\n * </Typography>\n * </ResponsiveItemOverlay>\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @see {@link ResponsiveItemOverlayPosition}\n *\n * @since 6.0.0 Renamed from `MediaOverlay` to `ResponsiveItemOverlay`\n * and renders as a `<span>` instead of a `<div>`.\n */\nexport const ResponsiveItemOverlay = forwardRef<\n HTMLSpanElement,\n ResponsiveItemOverlayProps\n>(function ResponsiveItemOverlay(props, ref) {\n const { className, children, position = \"bottom\", ...remaining } = props;\n\n return (\n <span\n {...remaining}\n ref={ref}\n className={responsiveItemOverlay({ className, position })}\n >\n {children}\n </span>\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","responsiveItemOverlay","options","className","position","horizontal","ResponsiveItemOverlay","props","ref","children","remaining","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AA0BnB;;CAEC,GACD,OAAO,SAASE,sBACdC,UAAiD,CAAC,CAAC;IAEnD,MAAM,EAAEC,SAAS,EAAEC,WAAW,QAAQ,EAAE,GAAGF;IAE3C,OAAOL,IACLG,OAAO;QACL,CAACI,SAAS,EAAE;QACZC,YACED,aAAa,SAASA,aAAa,YAAYA,aAAa;IAChE,IACAD;AAEJ;AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BC,GACD,OAAO,MAAMG,sCAAwBR,WAGnC,SAASQ,sBAAsBC,KAAK,EAAEC,GAAG;IACzC,MAAM,EAAEL,SAAS,EAAEM,QAAQ,EAAEL,WAAW,QAAQ,EAAE,GAAGM,WAAW,GAAGH;IAEnE,qBACE,KAACI;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLL,WAAWF,sBAAsB;YAAEE;YAAWC;QAAS;kBAEtDK;;AAGP,GAAG"}
1
+ {"version":3,"sources":["../../src/responsive-item/ResponsiveItemOverlay.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-responsive-item-overlay\");\n\n/**\n * The overlay positions relative to the `MediaContainer` component. Most of\n * the sizes are self-explanatory, but the `middle` position will be centered\n * vertically while `center` will be centered `horizontally`.\n *\n * @since 6.0.0 Renamed from `MediaOverlayPosition` to\n * `ResponsiveItemOverlayProps`.\n */\nexport type ResponsiveItemOverlayPosition =\n | \"top\"\n | \"right\"\n | \"bottom\"\n | \"left\"\n | \"middle\"\n | \"center\"\n | \"absolute-center\";\n\n/** @since 6.0.0 */\nexport interface ResponsiveItemOverlayClassNameOptions {\n className?: string;\n /** @defaultValue `\"bottom\"` */\n position?: ResponsiveItemOverlayPosition;\n}\n\n/**\n * @since 6.0.0\n */\nexport function responsiveItemOverlay(\n options: ResponsiveItemOverlayClassNameOptions = {}\n): string {\n const { className, position = \"bottom\" } = options;\n\n return cnb(\n styles({\n [position]: true,\n horizontal:\n position !== \"top\" && position !== \"bottom\" && position !== \"middle\",\n }),\n className\n );\n}\n\n/**\n * @since 6.0.0 Renamed from `MediaOverlayProps` to\n * `ResponsiveItemOverlayProps`.\n */\nexport interface ResponsiveItemOverlayProps\n extends HTMLAttributes<HTMLSpanElement>,\n ResponsiveItemOverlayClassNameOptions {}\n\n/**\n * @example Simple Example\n * ```tsx\n * import { ResponsiveItemContainer, ResponsiveItemOverlay } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <ResponsiveItemContainer>\n * <img alt=\"\" src=\"/some-image.png\" />\n * <ResponsiveItemOverlay>\n * <Typography type=\"headline-5\" margin=\"none\">\n * This appears at the bottom by default.\n * </Typography>\n * </ResponsiveItemOverlay>\n * </ResponsiveItemContainer>\n * );\n * }\n * ```\n *\n * @see {@link ResponsiveItemOverlayPosition}\n *\n * @since 6.0.0 Renamed from `MediaOverlay` to `ResponsiveItemOverlay`\n * and renders as a `<span>` instead of a `<div>`.\n */\nexport const ResponsiveItemOverlay = forwardRef<\n HTMLSpanElement,\n ResponsiveItemOverlayProps\n>(function ResponsiveItemOverlay(props, ref) {\n const { className, children, position = \"bottom\", ...remaining } = props;\n\n return (\n <span\n {...remaining}\n ref={ref}\n className={responsiveItemOverlay({ className, position })}\n >\n {children}\n </span>\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","responsiveItemOverlay","options","className","position","horizontal","ResponsiveItemOverlay","props","ref","children","remaining","span"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AA0BnB;;CAEC,GACD,OAAO,SAASE,sBACdC,UAAiD,CAAC,CAAC;IAEnD,MAAM,EAAEC,SAAS,EAAEC,WAAW,QAAQ,EAAE,GAAGF;IAE3C,OAAOL,IACLG,OAAO;QACL,CAACI,SAAS,EAAE;QACZC,YACED,aAAa,SAASA,aAAa,YAAYA,aAAa;IAChE,IACAD;AAEJ;AAUA;;;;;;;;;;;;;;;;;;;;;;;;CAwBC,GACD,OAAO,MAAMG,sCAAwBR,WAGnC,SAASQ,sBAAsBC,KAAK,EAAEC,GAAG;IACzC,MAAM,EAAEL,SAAS,EAAEM,QAAQ,EAAEL,WAAW,QAAQ,EAAE,GAAGM,WAAW,GAAGH;IAEnE,qBACE,KAACI;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLL,WAAWF,sBAAsB;YAAEE;YAAWC;QAAS;kBAEtDK;;AAGP,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/responsive-item/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-responsive-item\");\n\n/** @since 6.0.0 */\nexport interface ResponsiveItemClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` to apply the following styles:\n * ```scss\n * max-height: 100%;\n * max-width: 100%;\n * object-fit: contain;\n * ```\n *\n * This is useful for displaying images in a full page dialog so that scroll\n * bars do not appear while maintaining the correct aspect ratio for the item.\n *\n * @defaultValue `false`\n */\n scaleToContainer?: boolean;\n\n /**\n * Set this to `true` to force a specific aspect ratio.\n *\n * Note: This will only work if the parent element has applied the correct\n * {@link ResponsiveItemContainerStyles} as well.\n *\n * @defaultValue `false`\n */\n forcedAspectRatio?: boolean;\n}\n\n/**\n * Applies the visual media responsive styles manually if you cannot use the\n * `ResponsiveItemContainer` component.\n *\n * @since 6.0.0\n */\nexport function responsiveItem(\n options: ResponsiveItemClassNameOptions = {}\n): string {\n const {\n className,\n scaleToContainer = false,\n forcedAspectRatio = false,\n } = options;\n\n return cnb(\n styles({\n scale: scaleToContainer,\n \"aspect-ratio\": forcedAspectRatio,\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","responsiveItem","options","className","scaleToContainer","forcedAspectRatio","scale"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAgCnB;;;;;CAKC,GACD,OAAO,SAASE,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EACJC,SAAS,EACTC,mBAAmB,KAAK,EACxBC,oBAAoB,KAAK,EAC1B,GAAGH;IAEJ,OAAOJ,IACLE,OAAO;QACLM,OAAOF;QACP,gBAAgBC;IAClB,IACAF;AAEJ"}
1
+ {"version":3,"sources":["../../src/responsive-item/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-responsive-item\");\n\n/** @since 6.0.0 */\nexport interface ResponsiveItemClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` to apply the following styles:\n * ```scss\n * max-height: 100%;\n * max-width: 100%;\n * object-fit: contain;\n * ```\n *\n * This is useful for displaying images in a full page dialog so that scroll\n * bars do not appear while maintaining the correct aspect ratio for the item.\n *\n * @defaultValue `false`\n */\n scaleToContainer?: boolean;\n\n /**\n * Set this to `true` to force a specific aspect ratio.\n *\n * Note: This will only work if the parent element has applied the correct\n * {@link ResponsiveItemContainerStyles} as well.\n *\n * @defaultValue `false`\n */\n forcedAspectRatio?: boolean;\n}\n\n/**\n * Applies the visual media responsive styles manually if you cannot use the\n * `ResponsiveItemContainer` component.\n *\n * @since 6.0.0\n */\nexport function responsiveItem(\n options: ResponsiveItemClassNameOptions = {}\n): string {\n const {\n className,\n scaleToContainer = false,\n forcedAspectRatio = false,\n } = options;\n\n return cnb(\n styles({\n scale: scaleToContainer,\n \"aspect-ratio\": forcedAspectRatio,\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","responsiveItem","options","className","scaleToContainer","forcedAspectRatio","scale"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAgCnB;;;;;CAKC,GACD,OAAO,SAASE,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EACJC,SAAS,EACTC,mBAAmB,KAAK,EACxBC,oBAAoB,KAAK,EAC1B,GAAGH;IAEJ,OAAOJ,IACLE,OAAO;QACLM,OAAOF;QACP,gBAAgBC;IAClB,IACAF;AAEJ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scroll/ScrollLock.tsx"],"sourcesContent":["\"use client\";\nimport { useScrollLock } from \"./useScrollLock.js\";\n\n/**\n * **Client Component**\n *\n * This is a convenience component that can be used within transitionable\n * components to ensure the scroll lock is active only while the element is\n * rendered.\n *\n * @since 6.0.0\n */\nexport function ScrollLock(): null {\n useScrollLock(true);\n return null;\n}\n"],"names":["useScrollLock","ScrollLock"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD;;;;;;;;CAQC,GACD,OAAO,SAASC;IACdD,cAAc;IACd,OAAO;AACT"}
1
+ {"version":3,"sources":["../../src/scroll/ScrollLock.tsx"],"sourcesContent":["\"use client\";\nimport { useScrollLock } from \"./useScrollLock.js\";\n\n/**\n * **Client Component**\n *\n * This is a convenience component that can be used within transitionable\n * components to ensure the scroll lock is active only while the element is\n * rendered.\n *\n * @since 6.0.0\n */\nexport function ScrollLock(): null {\n useScrollLock(true);\n return null;\n}\n"],"names":["useScrollLock","ScrollLock"],"mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD;;;;;;;;CAQC,GACD,OAAO,SAASC;IACdD,cAAc;IACd,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scroll/getScrollbarWidth.ts"],"sourcesContent":["let cache: number | undefined;\n\n/**\n * @internal\n */\nexport function getScrollbarWidth(force = false): number {\n /* istanbul ignore if */\n if (typeof window === \"undefined\") {\n return 0;\n }\n\n let value = cache;\n if (!force && typeof value === \"number\") {\n return value;\n }\n\n const outer = document.createElement(\"div\");\n outer.style.visibility = \"hidden\";\n outer.style.overflow = \"scroll\";\n document.body.appendChild(outer);\n\n const inner = document.createElement(\"div\");\n outer.appendChild(inner);\n\n // the scrollbar width can be determined by comparing the width of the parent\n // element that has scrollbars to the child element that does not.\n value = outer.offsetWidth - inner.offsetWidth;\n cache = value;\n document.body.removeChild(outer);\n\n return value;\n}\n"],"names":["cache","getScrollbarWidth","force","window","value","outer","document","createElement","style","visibility","overflow","body","appendChild","inner","offsetWidth","removeChild"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,IAAIA;AAEJ;;CAEC,GACD,OAAO,SAASC,kBAAkBC,QAAQ,KAAK;IAC7C,sBAAsB,GACtB,IAAI,OAAOC,WAAW,aAAa;QACjC,OAAO;IACT;IAEA,IAAIC,QAAQJ;IACZ,IAAI,CAACE,SAAS,OAAOE,UAAU,UAAU;QACvC,OAAOA;IACT;IAEA,MAAMC,QAAQC,SAASC,aAAa,CAAC;IACrCF,MAAMG,KAAK,CAACC,UAAU,GAAG;IACzBJ,MAAMG,KAAK,CAACE,QAAQ,GAAG;IACvBJ,SAASK,IAAI,CAACC,WAAW,CAACP;IAE1B,MAAMQ,QAAQP,SAASC,aAAa,CAAC;IACrCF,MAAMO,WAAW,CAACC;IAElB,6EAA6E;IAC7E,kEAAkE;IAClET,QAAQC,MAAMS,WAAW,GAAGD,MAAMC,WAAW;IAC7Cd,QAAQI;IACRE,SAASK,IAAI,CAACI,WAAW,CAACV;IAE1B,OAAOD;AACT"}
1
+ {"version":3,"sources":["../../src/scroll/getScrollbarWidth.ts"],"sourcesContent":["let cache: number | undefined;\n\n/**\n * @internal\n */\nexport function getScrollbarWidth(force = false): number {\n /* istanbul ignore if */\n if (typeof window === \"undefined\") {\n return 0;\n }\n\n let value = cache;\n if (!force && typeof value === \"number\") {\n return value;\n }\n\n const outer = document.createElement(\"div\");\n outer.style.visibility = \"hidden\";\n outer.style.overflow = \"scroll\";\n document.body.appendChild(outer);\n\n const inner = document.createElement(\"div\");\n outer.appendChild(inner);\n\n // the scrollbar width can be determined by comparing the width of the parent\n // element that has scrollbars to the child element that does not.\n value = outer.offsetWidth - inner.offsetWidth;\n cache = value;\n document.body.removeChild(outer);\n\n return value;\n}\n"],"names":["cache","getScrollbarWidth","force","window","value","outer","document","createElement","style","visibility","overflow","body","appendChild","inner","offsetWidth","removeChild"],"mappings":"AAAA,IAAIA;AAEJ;;CAEC,GACD,OAAO,SAASC,kBAAkBC,QAAQ,KAAK;IAC7C,sBAAsB,GACtB,IAAI,OAAOC,WAAW,aAAa;QACjC,OAAO;IACT;IAEA,IAAIC,QAAQJ;IACZ,IAAI,CAACE,SAAS,OAAOE,UAAU,UAAU;QACvC,OAAOA;IACT;IAEA,MAAMC,QAAQC,SAASC,aAAa,CAAC;IACrCF,MAAMG,KAAK,CAACC,UAAU,GAAG;IACzBJ,MAAMG,KAAK,CAACE,QAAQ,GAAG;IACvBJ,SAASK,IAAI,CAACC,WAAW,CAACP;IAE1B,MAAMQ,QAAQP,SAASC,aAAa,CAAC;IACrCF,MAAMO,WAAW,CAACC;IAElB,6EAA6E;IAC7E,kEAAkE;IAClET,QAAQC,MAAMS,WAAW,GAAGD,MAAMC,WAAW;IAC7Cd,QAAQI;IACRE,SAASK,IAAI,CAACI,WAAW,CAACV;IAE1B,OAAOD;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scroll/useScrollLock.ts"],"sourcesContent":["\"use client\";\nimport { useEffect } from \"react\";\nimport { getScrollbarWidth } from \"./getScrollbarWidth.js\";\n\nexport const SCROLLBAR_SIZE_VAR = \"--rmd-scrollbar-size\";\n\n// this is really just so that nested dialogs will work correctly. Only the\n// first created dialog should prevent scroll locking on the `document.body`\nlet isLocked = false;\n\n/**\n *\n * @internal\n * @since 6.0.0 No longer support scroll locking elements other than\n * the `document.body` since it's more reliable to scroll lock with an overlay.\n * @since 6.0.0 Now applies `paddingRight` equal to the current OS's\n * scrollbar width if there is a full page scrollbar to prevent layout shifting.\n *\n * @param locked - The `document.body` will not be scrollable when this is\n * `true`.\n */\nexport function useScrollLock(locked: boolean): void {\n useEffect(() => {\n if (isLocked || !locked) {\n return;\n }\n\n isLocked = true;\n\n const size = `${getScrollbarWidth()}px`;\n const el = document.body;\n const { paddingRight } = el.style;\n const isScrollbarVisible = el.scrollHeight > el.offsetHeight;\n\n el.style.overflow = \"hidden\";\n if (isScrollbarVisible) {\n el.style.setProperty(SCROLLBAR_SIZE_VAR, size);\n el.style.paddingRight = `var(${SCROLLBAR_SIZE_VAR})`;\n }\n\n return () => {\n isLocked = false;\n\n el.style.removeProperty(SCROLLBAR_SIZE_VAR);\n el.style.overflow = \"\";\n if (isScrollbarVisible) {\n el.style.paddingRight = paddingRight;\n }\n };\n }, [locked]);\n}\n"],"names":["useEffect","getScrollbarWidth","SCROLLBAR_SIZE_VAR","isLocked","useScrollLock","locked","size","el","document","body","paddingRight","style","isScrollbarVisible","scrollHeight","offsetHeight","overflow","setProperty","removeProperty"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,OAAO,MAAMC,qBAAqB,uBAAuB;AAEzD,2EAA2E;AAC3E,4EAA4E;AAC5E,IAAIC,WAAW;AAEf;;;;;;;;;;CAUC,GACD,OAAO,SAASC,cAAcC,MAAe;IAC3CL,UAAU;QACR,IAAIG,YAAY,CAACE,QAAQ;YACvB;QACF;QAEAF,WAAW;QAEX,MAAMG,OAAO,CAAC,EAAEL,oBAAoB,EAAE,CAAC;QACvC,MAAMM,KAAKC,SAASC,IAAI;QACxB,MAAM,EAAEC,YAAY,EAAE,GAAGH,GAAGI,KAAK;QACjC,MAAMC,qBAAqBL,GAAGM,YAAY,GAAGN,GAAGO,YAAY;QAE5DP,GAAGI,KAAK,CAACI,QAAQ,GAAG;QACpB,IAAIH,oBAAoB;YACtBL,GAAGI,KAAK,CAACK,WAAW,CAACd,oBAAoBI;YACzCC,GAAGI,KAAK,CAACD,YAAY,GAAG,CAAC,IAAI,EAAER,mBAAmB,CAAC,CAAC;QACtD;QAEA,OAAO;YACLC,WAAW;YAEXI,GAAGI,KAAK,CAACM,cAAc,CAACf;YACxBK,GAAGI,KAAK,CAACI,QAAQ,GAAG;YACpB,IAAIH,oBAAoB;gBACtBL,GAAGI,KAAK,CAACD,YAAY,GAAGA;YAC1B;QACF;IACF,GAAG;QAACL;KAAO;AACb"}
1
+ {"version":3,"sources":["../../src/scroll/useScrollLock.ts"],"sourcesContent":["\"use client\";\nimport { useEffect } from \"react\";\nimport { getScrollbarWidth } from \"./getScrollbarWidth.js\";\n\nexport const SCROLLBAR_SIZE_VAR = \"--rmd-scrollbar-size\";\n\n// this is really just so that nested dialogs will work correctly. Only the\n// first created dialog should prevent scroll locking on the `document.body`\nlet isLocked = false;\n\n/**\n *\n * @internal\n * @since 6.0.0 No longer support scroll locking elements other than\n * the `document.body` since it's more reliable to scroll lock with an overlay.\n * @since 6.0.0 Now applies `paddingRight` equal to the current OS's\n * scrollbar width if there is a full page scrollbar to prevent layout shifting.\n *\n * @param locked - The `document.body` will not be scrollable when this is\n * `true`.\n */\nexport function useScrollLock(locked: boolean): void {\n useEffect(() => {\n if (isLocked || !locked) {\n return;\n }\n\n isLocked = true;\n\n const size = `${getScrollbarWidth()}px`;\n const el = document.body;\n const { paddingRight } = el.style;\n const isScrollbarVisible = el.scrollHeight > el.offsetHeight;\n\n el.style.overflow = \"hidden\";\n if (isScrollbarVisible) {\n el.style.setProperty(SCROLLBAR_SIZE_VAR, size);\n el.style.paddingRight = `var(${SCROLLBAR_SIZE_VAR})`;\n }\n\n return () => {\n isLocked = false;\n\n el.style.removeProperty(SCROLLBAR_SIZE_VAR);\n el.style.overflow = \"\";\n if (isScrollbarVisible) {\n el.style.paddingRight = paddingRight;\n }\n };\n }, [locked]);\n}\n"],"names":["useEffect","getScrollbarWidth","SCROLLBAR_SIZE_VAR","isLocked","useScrollLock","locked","size","el","document","body","paddingRight","style","isScrollbarVisible","scrollHeight","offsetHeight","overflow","setProperty","removeProperty"],"mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,OAAO,MAAMC,qBAAqB,uBAAuB;AAEzD,2EAA2E;AAC3E,4EAA4E;AAC5E,IAAIC,WAAW;AAEf;;;;;;;;;;CAUC,GACD,OAAO,SAASC,cAAcC,MAAe;IAC3CL,UAAU;QACR,IAAIG,YAAY,CAACE,QAAQ;YACvB;QACF;QAEAF,WAAW;QAEX,MAAMG,OAAO,CAAC,EAAEL,oBAAoB,EAAE,CAAC;QACvC,MAAMM,KAAKC,SAASC,IAAI;QACxB,MAAM,EAAEC,YAAY,EAAE,GAAGH,GAAGI,KAAK;QACjC,MAAMC,qBAAqBL,GAAGM,YAAY,GAAGN,GAAGO,YAAY;QAE5DP,GAAGI,KAAK,CAACI,QAAQ,GAAG;QACpB,IAAIH,oBAAoB;YACtBL,GAAGI,KAAK,CAACK,WAAW,CAACd,oBAAoBI;YACzCC,GAAGI,KAAK,CAACD,YAAY,GAAG,CAAC,IAAI,EAAER,mBAAmB,CAAC,CAAC;QACtD;QAEA,OAAO;YACLC,WAAW;YAEXI,GAAGI,KAAK,CAACM,cAAc,CAACf;YACxBK,GAAGI,KAAK,CAACI,QAAQ,GAAG;YACpB,IAAIH,oBAAoB;gBACtBL,GAAGI,KAAK,CAACD,YAAY,GAAGA;YAC1B;QACF;IACF,GAAG;QAACL;KAAO;AACb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/searching/caseInsensitive.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\nimport { type BaseSearchOptions } from \"./types.js\";\nimport { defaultExtractor, search } from \"./utils.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface CaseInsensitiveStartsWithOptions {\n /**\n * Set this to `true` if the item in the list must start with the query\n * instead of only including it.\n *\n * @example Search Example\n * ```ts\n * const fruits = [\"Banana\", \"Grape\", \"Apple\", \"Orange\"];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * type: \"search\",\n * });\n * // \"Grape\"\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * type: \"search\",\n * startsWith: true,\n * });\n * // \"Apple\"\n * ```\n *\n * @example Filter Example\n * ```ts\n * const fruits = [\"Apple\", \"Banana\", \"Grape\", \"Orange\"];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * startsWith: true,\n * });\n * // [\"Apple\"]\n * ```\n *\n * @defaultValue `false`\n */\n startsWith?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface IsCaseInsensitiveMatchOptions\n extends CaseInsensitiveStartsWithOptions {\n /**\n * The current search query.\n */\n query: string;\n\n /**\n * The current value to compare against.\n */\n value: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function isCaseInsensitiveMatch(\n options: IsCaseInsensitiveMatchOptions\n): boolean {\n const { query, value, startsWith } = options;\n const matchIndex = value.indexOf(query);\n if (startsWith) {\n return matchIndex === 0;\n }\n\n return matchIndex !== -1;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface CaseInsensitiveOptions<T>\n extends BaseSearchOptions<T>,\n CaseInsensitiveStartsWithOptions {}\n\n/**\n * @example String list\n * ```ts\n * const fruits = [\"Apple\", \"Banana\", \"Grape\", \"Orange\"];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * startsWith: true,\n * });\n * // [\"Apple\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \" a p\",\n * });\n * // []\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \" a p\",\n * whitespace: \"ignore\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \" ap \",\n * whitespace: \"trim\",\n * });\n * // [\"Apple\", \"Grape\"]\n * ```\n *\n * @example Objects\n * ```ts\n * const fruits = [\n * { name: \"Apple\", value: 0 },\n * { name: \"Banana\", value: 1 },\n * { name: \"Grape\", value: 2 },\n * { name: \"Orange\", value: 3 },\n * ];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * extractor: (item) => item.name,\n * });\n * // [{ name: \"Apple\", value: 0 }, { name: \"Grape\", value: 2 }]\n * ```\n *\n * @since 6.0.0\n */\nexport function caseInsensitiveSearch<T extends string>(\n options: Omit<CaseInsensitiveOptions<T>, \"extractor\"> & { type?: \"filter\" }\n): readonly T[];\nexport function caseInsensitiveSearch<T extends string>(\n options: Omit<CaseInsensitiveOptions<T>, \"extractor\"> & { type: \"search\" }\n): T | undefined;\nexport function caseInsensitiveSearch<T>(\n options: CaseInsensitiveOptions<T> & {\n extractor: TextExtractor<T>;\n type?: \"filter\";\n }\n): readonly T[];\nexport function caseInsensitiveSearch<T>(\n options: CaseInsensitiveOptions<T> & {\n extractor: TextExtractor<T>;\n type: \"search\";\n }\n): T | undefined;\nexport function caseInsensitiveSearch<T>(\n options: CaseInsensitiveOptions<T>\n): readonly T[] | T | undefined {\n const {\n list,\n type = \"filter\",\n query,\n extractor = defaultExtractor(\"caseInsensitiveSearch\"),\n startsWith,\n whitespace,\n } = options;\n\n return search({\n type,\n list,\n query,\n extractor,\n whitespace,\n filter(q, value) {\n return isCaseInsensitiveMatch({\n query: q,\n value,\n startsWith,\n });\n },\n });\n}\n"],"names":["defaultExtractor","search","isCaseInsensitiveMatch","options","query","value","startsWith","matchIndex","indexOf","caseInsensitiveSearch","list","type","extractor","whitespace","filter","q"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,EAAEC,MAAM,QAAQ,aAAa;AAqEtD;;CAEC,GACD,OAAO,SAASC,uBACdC,OAAsC;IAEtC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGH;IACrC,MAAMI,aAAaF,MAAMG,OAAO,CAACJ;IACjC,IAAIE,YAAY;QACd,OAAOC,eAAe;IACxB;IAEA,OAAOA,eAAe,CAAC;AACzB;AAqFA,OAAO,SAASE,sBACdN,OAAkC;IAElC,MAAM,EACJO,IAAI,EACJC,OAAO,QAAQ,EACfP,KAAK,EACLQ,YAAYZ,iBAAiB,wBAAwB,EACrDM,UAAU,EACVO,UAAU,EACX,GAAGV;IAEJ,OAAOF,OAAO;QACZU;QACAD;QACAN;QACAQ;QACAC;QACAC,QAAOC,CAAC,EAAEV,KAAK;YACb,OAAOH,uBAAuB;gBAC5BE,OAAOW;gBACPV;gBACAC;YACF;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/searching/caseInsensitive.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\nimport { type BaseSearchOptions } from \"./types.js\";\nimport { defaultExtractor, search } from \"./utils.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface CaseInsensitiveStartsWithOptions {\n /**\n * Set this to `true` if the item in the list must start with the query\n * instead of only including it.\n *\n * @example Search Example\n * ```ts\n * const fruits = [\"Banana\", \"Grape\", \"Apple\", \"Orange\"];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * type: \"search\",\n * });\n * // \"Grape\"\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * type: \"search\",\n * startsWith: true,\n * });\n * // \"Apple\"\n * ```\n *\n * @example Filter Example\n * ```ts\n * const fruits = [\"Apple\", \"Banana\", \"Grape\", \"Orange\"];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * startsWith: true,\n * });\n * // [\"Apple\"]\n * ```\n *\n * @defaultValue `false`\n */\n startsWith?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface IsCaseInsensitiveMatchOptions\n extends CaseInsensitiveStartsWithOptions {\n /**\n * The current search query.\n */\n query: string;\n\n /**\n * The current value to compare against.\n */\n value: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function isCaseInsensitiveMatch(\n options: IsCaseInsensitiveMatchOptions\n): boolean {\n const { query, value, startsWith } = options;\n const matchIndex = value.indexOf(query);\n if (startsWith) {\n return matchIndex === 0;\n }\n\n return matchIndex !== -1;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface CaseInsensitiveOptions<T>\n extends BaseSearchOptions<T>,\n CaseInsensitiveStartsWithOptions {}\n\n/**\n * @example String list\n * ```ts\n * const fruits = [\"Apple\", \"Banana\", \"Grape\", \"Orange\"];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * startsWith: true,\n * });\n * // [\"Apple\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \" a p\",\n * });\n * // []\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \" a p\",\n * whitespace: \"ignore\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \" ap \",\n * whitespace: \"trim\",\n * });\n * // [\"Apple\", \"Grape\"]\n * ```\n *\n * @example Objects\n * ```ts\n * const fruits = [\n * { name: \"Apple\", value: 0 },\n * { name: \"Banana\", value: 1 },\n * { name: \"Grape\", value: 2 },\n * { name: \"Orange\", value: 3 },\n * ];\n *\n * caseInsensitiveSearch({\n * list: fruits,\n * query: \"ap\",\n * extractor: (item) => item.name,\n * });\n * // [{ name: \"Apple\", value: 0 }, { name: \"Grape\", value: 2 }]\n * ```\n *\n * @since 6.0.0\n */\nexport function caseInsensitiveSearch<T extends string>(\n options: Omit<CaseInsensitiveOptions<T>, \"extractor\"> & { type?: \"filter\" }\n): readonly T[];\nexport function caseInsensitiveSearch<T extends string>(\n options: Omit<CaseInsensitiveOptions<T>, \"extractor\"> & { type: \"search\" }\n): T | undefined;\nexport function caseInsensitiveSearch<T>(\n options: CaseInsensitiveOptions<T> & {\n extractor: TextExtractor<T>;\n type?: \"filter\";\n }\n): readonly T[];\nexport function caseInsensitiveSearch<T>(\n options: CaseInsensitiveOptions<T> & {\n extractor: TextExtractor<T>;\n type: \"search\";\n }\n): T | undefined;\nexport function caseInsensitiveSearch<T>(\n options: CaseInsensitiveOptions<T>\n): readonly T[] | T | undefined {\n const {\n list,\n type = \"filter\",\n query,\n extractor = defaultExtractor(\"caseInsensitiveSearch\"),\n startsWith,\n whitespace,\n } = options;\n\n return search({\n type,\n list,\n query,\n extractor,\n whitespace,\n filter(q, value) {\n return isCaseInsensitiveMatch({\n query: q,\n value,\n startsWith,\n });\n },\n });\n}\n"],"names":["defaultExtractor","search","isCaseInsensitiveMatch","options","query","value","startsWith","matchIndex","indexOf","caseInsensitiveSearch","list","type","extractor","whitespace","filter","q"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,MAAM,QAAQ,aAAa;AAqEtD;;CAEC,GACD,OAAO,SAASC,uBACdC,OAAsC;IAEtC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGH;IACrC,MAAMI,aAAaF,MAAMG,OAAO,CAACJ;IACjC,IAAIE,YAAY;QACd,OAAOC,eAAe;IACxB;IAEA,OAAOA,eAAe,CAAC;AACzB;AAqFA,OAAO,SAASE,sBACdN,OAAkC;IAElC,MAAM,EACJO,IAAI,EACJC,OAAO,QAAQ,EACfP,KAAK,EACLQ,YAAYZ,iBAAiB,wBAAwB,EACrDM,UAAU,EACVO,UAAU,EACX,GAAGV;IAEJ,OAAOF,OAAO;QACZU;QACAD;QACAN;QACAQ;QACAC;QACAC,QAAOC,CAAC,EAAEV,KAAK;YACb,OAAOH,uBAAuB;gBAC5BE,OAAOW;gBACPV;gBACAC;YACF;QACF;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/searching/fuzzy.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\nimport { type BaseSearchOptions } from \"./types.js\";\nimport { defaultExtractor, search } from \"./utils.js\";\n\n/**\n * @example\n * ```tsx\n * import { createFuzzyRegExp, toSearchQuery } from \"@react-md/core\":\n * import { useDeferredValue, useMemo, useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"\");\n * const deferredValue = useDeferredValue(value)\n *\n * const match = useMemo(() => {\n * const query = toSearchQuery(deferredValue);\n * if (!query) {\n * return;\n * }\n *\n * const fuzzyRegExp = createFuzzyRegExp(query);\n * return options.find(option => fuzzyRegExp.test(option.label)):\n * }, [options])\n *\n * if (match) {\n * // do something\n * }\n * }\n *\n * ```\n *\n * @since 6.0.0\n * @see {@link fuzzySearch}\n */\nexport function createFuzzyRegExp(query: string): RegExp {\n return new RegExp(\n query\n .split(\"\")\n .join(\"\\\\w*\")\n .replace(/(\\(|\\||\\)|\\\\(?!w\\*)|\\[|\\|-|\\.|\\^|\\+|\\$|\\?|^(?!w)\\*)/g, \"\\\\$1\")\n // Couldn't get the matching of two '*' working, so replace them here..\n .replace(/\\*\\*/g, \"*\\\\*\"),\n \"i\"\n );\n}\n\n/**\n * @since 6.0.0\n */\nexport type FuzzySearchOptions<T> = BaseSearchOptions<T>;\n\n/**\n * Filters a list by making sure that all the letters appear in order ignoring\n * case, punctuation, whitespace, and special characters. This is kind of the\n * same filtering that appears in text editors.\n *\n * @example Simple Example\n * ```ts\n * const list = [\n * \"at\",\n * \"charAt\",\n * \"charCodeAt\",\n * \"codePointAt\",\n * \"concat\",\n * \"constructor\",\n * \"endsWith\",\n * \"includes\",\n * \"indexOf\",\n * \"lastIndexOf\",\n * \"length\",\n * \"localeCompare\",\n * \"match\",\n * \"matchAll\",\n * \"normalize\",\n * \"padEnd\",\n * \"padStart\",\n * \"repeat\",\n * \"replace\",\n * \"replaceAll\",\n * \"search\",\n * \"slice\",\n * \"split\",\n * \"startsWith\",\n * \"substring\",\n * \"toLocaleLowerCase\",\n * \"toLocaleUpperCase\",\n * \"toLowerCase\",\n * \"toString\",\n * \"toUpperCase\",\n * \"trim\",\n * \"trimEnd\",\n * \"trimStart\",\n * \"valueOf\",\n * ];\n *\n * fuzzySearch({\n * list,\n * query: \"la\",\n * });\n * // [\n * // \"lastIndexOf\",\n * // ^^\n * // \"localeCompare\",\n * // ^ ^\n * // \"replace\",\n * // ^^\n * // \"replaceAll\",\n * // ^^\n * // \"toLocaleLowerCase\",\n * // ^ ^\n * // \"toLocaleUpperCase\",\n * // ^ ^\n * // \"toLowerCase\",\n * // ^ ^\n * // ]\n *\n * fuzzySearch({\n * list,\n * query: \"ad\",\n * type: \"search\",\n * });\n * // \"charCodeAt\"\n * // ^ ^\n * ```\n *\n * @since 6.0.0\n */\nexport function fuzzySearch<T extends string>(\n options: Omit<FuzzySearchOptions<T>, \"extractor\"> & { type?: \"filter\" }\n): readonly T[];\nexport function fuzzySearch<T extends string>(\n options: Omit<FuzzySearchOptions<T>, \"extractor\"> & { type?: \"search\" }\n): T | undefined;\nexport function fuzzySearch<T>(\n option: FuzzySearchOptions<T> & {\n extractor: TextExtractor<T>;\n type?: \"filter\";\n }\n): readonly T[];\nexport function fuzzySearch<T>(\n option: FuzzySearchOptions<T> & {\n extractor: TextExtractor<T>;\n type?: \"search\";\n }\n): T | undefined;\nexport function fuzzySearch<T>(\n options: FuzzySearchOptions<T>\n): readonly T[] | T | undefined {\n const {\n list,\n type = \"filter\",\n query,\n extractor = defaultExtractor(\"fuzzySearch\"),\n whitespace,\n } = options;\n\n // lazy initialize the RegExp since the base `filter` function will modify the\n // query and never call the filter function if:\n // - there is no query\n // - the list is empty\n let regexp: RegExp;\n return search({\n type,\n list,\n query,\n extractor,\n whitespace,\n filter(query, value) {\n return (\n value.length > 0 && (regexp ??= createFuzzyRegExp(query)).test(value)\n );\n },\n });\n}\n"],"names":["defaultExtractor","search","createFuzzyRegExp","query","RegExp","split","join","replace","fuzzySearch","options","list","type","extractor","whitespace","regexp","filter","value","length","test"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,EAAEC,MAAM,QAAQ,aAAa;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BC,GACD,OAAO,SAASC,kBAAkBC,KAAa;IAC7C,OAAO,IAAIC,OACTD,MACGE,KAAK,CAAC,IACNC,IAAI,CAAC,QACLC,OAAO,CAAC,wDAAwD,OACjE,uEAAuE;KACtEA,OAAO,CAAC,SAAS,SACpB;AAEJ;AAqGA,OAAO,SAASC,YACdC,OAA8B;IAE9B,MAAM,EACJC,IAAI,EACJC,OAAO,QAAQ,EACfR,KAAK,EACLS,YAAYZ,iBAAiB,cAAc,EAC3Ca,UAAU,EACX,GAAGJ;IAEJ,8EAA8E;IAC9E,+CAA+C;IAC/C,sBAAsB;IACtB,sBAAsB;IACtB,IAAIK;IACJ,OAAOb,OAAO;QACZU;QACAD;QACAP;QACAS;QACAC;QACAE,QAAOZ,KAAK,EAAEa,KAAK;YACjB,OACEA,MAAMC,MAAM,GAAG,KAAK,AAACH,CAAAA,WAAWZ,kBAAkBC,MAAK,EAAGe,IAAI,CAACF;QAEnE;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/searching/fuzzy.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\nimport { type BaseSearchOptions } from \"./types.js\";\nimport { defaultExtractor, search } from \"./utils.js\";\n\n/**\n * @example\n * ```tsx\n * import { createFuzzyRegExp, toSearchQuery } from \"@react-md/core\":\n * import { useDeferredValue, useMemo, useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"\");\n * const deferredValue = useDeferredValue(value)\n *\n * const match = useMemo(() => {\n * const query = toSearchQuery(deferredValue);\n * if (!query) {\n * return;\n * }\n *\n * const fuzzyRegExp = createFuzzyRegExp(query);\n * return options.find(option => fuzzyRegExp.test(option.label)):\n * }, [options])\n *\n * if (match) {\n * // do something\n * }\n * }\n *\n * ```\n *\n * @since 6.0.0\n * @see {@link fuzzySearch}\n */\nexport function createFuzzyRegExp(query: string): RegExp {\n return new RegExp(\n query\n .split(\"\")\n .join(\"\\\\w*\")\n .replace(/(\\(|\\||\\)|\\\\(?!w\\*)|\\[|\\|-|\\.|\\^|\\+|\\$|\\?|^(?!w)\\*)/g, \"\\\\$1\")\n // Couldn't get the matching of two '*' working, so replace them here..\n .replace(/\\*\\*/g, \"*\\\\*\"),\n \"i\"\n );\n}\n\n/**\n * @since 6.0.0\n */\nexport type FuzzySearchOptions<T> = BaseSearchOptions<T>;\n\n/**\n * Filters a list by making sure that all the letters appear in order ignoring\n * case, punctuation, whitespace, and special characters. This is kind of the\n * same filtering that appears in text editors.\n *\n * @example Simple Example\n * ```ts\n * const list = [\n * \"at\",\n * \"charAt\",\n * \"charCodeAt\",\n * \"codePointAt\",\n * \"concat\",\n * \"constructor\",\n * \"endsWith\",\n * \"includes\",\n * \"indexOf\",\n * \"lastIndexOf\",\n * \"length\",\n * \"localeCompare\",\n * \"match\",\n * \"matchAll\",\n * \"normalize\",\n * \"padEnd\",\n * \"padStart\",\n * \"repeat\",\n * \"replace\",\n * \"replaceAll\",\n * \"search\",\n * \"slice\",\n * \"split\",\n * \"startsWith\",\n * \"substring\",\n * \"toLocaleLowerCase\",\n * \"toLocaleUpperCase\",\n * \"toLowerCase\",\n * \"toString\",\n * \"toUpperCase\",\n * \"trim\",\n * \"trimEnd\",\n * \"trimStart\",\n * \"valueOf\",\n * ];\n *\n * fuzzySearch({\n * list,\n * query: \"la\",\n * });\n * // [\n * // \"lastIndexOf\",\n * // ^^\n * // \"localeCompare\",\n * // ^ ^\n * // \"replace\",\n * // ^^\n * // \"replaceAll\",\n * // ^^\n * // \"toLocaleLowerCase\",\n * // ^ ^\n * // \"toLocaleUpperCase\",\n * // ^ ^\n * // \"toLowerCase\",\n * // ^ ^\n * // ]\n *\n * fuzzySearch({\n * list,\n * query: \"ad\",\n * type: \"search\",\n * });\n * // \"charCodeAt\"\n * // ^ ^\n * ```\n *\n * @since 6.0.0\n */\nexport function fuzzySearch<T extends string>(\n options: Omit<FuzzySearchOptions<T>, \"extractor\"> & { type?: \"filter\" }\n): readonly T[];\nexport function fuzzySearch<T extends string>(\n options: Omit<FuzzySearchOptions<T>, \"extractor\"> & { type?: \"search\" }\n): T | undefined;\nexport function fuzzySearch<T>(\n option: FuzzySearchOptions<T> & {\n extractor: TextExtractor<T>;\n type?: \"filter\";\n }\n): readonly T[];\nexport function fuzzySearch<T>(\n option: FuzzySearchOptions<T> & {\n extractor: TextExtractor<T>;\n type?: \"search\";\n }\n): T | undefined;\nexport function fuzzySearch<T>(\n options: FuzzySearchOptions<T>\n): readonly T[] | T | undefined {\n const {\n list,\n type = \"filter\",\n query,\n extractor = defaultExtractor(\"fuzzySearch\"),\n whitespace,\n } = options;\n\n // lazy initialize the RegExp since the base `filter` function will modify the\n // query and never call the filter function if:\n // - there is no query\n // - the list is empty\n let regexp: RegExp;\n return search({\n type,\n list,\n query,\n extractor,\n whitespace,\n filter(query, value) {\n return (\n value.length > 0 && (regexp ??= createFuzzyRegExp(query)).test(value)\n );\n },\n });\n}\n"],"names":["defaultExtractor","search","createFuzzyRegExp","query","RegExp","split","join","replace","fuzzySearch","options","list","type","extractor","whitespace","regexp","filter","value","length","test"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,MAAM,QAAQ,aAAa;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BC,GACD,OAAO,SAASC,kBAAkBC,KAAa;IAC7C,OAAO,IAAIC,OACTD,MACGE,KAAK,CAAC,IACNC,IAAI,CAAC,QACLC,OAAO,CAAC,wDAAwD,OACjE,uEAAuE;KACtEA,OAAO,CAAC,SAAS,SACpB;AAEJ;AAqGA,OAAO,SAASC,YACdC,OAA8B;IAE9B,MAAM,EACJC,IAAI,EACJC,OAAO,QAAQ,EACfR,KAAK,EACLS,YAAYZ,iBAAiB,cAAc,EAC3Ca,UAAU,EACX,GAAGJ;IAEJ,8EAA8E;IAC9E,+CAA+C;IAC/C,sBAAsB;IACtB,sBAAsB;IACtB,IAAIK;IACJ,OAAOb,OAAO;QACZU;QACAD;QACAP;QACAS;QACAC;QACAE,QAAOZ,KAAK,EAAEa,KAAK;YACjB,OACEA,MAAMC,MAAM,GAAG,KAAK,AAACH,CAAAA,WAAWZ,kBAAkBC,MAAK,EAAGe,IAAI,CAACF;QAEnE;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/searching/toSearchQuery.ts"],"sourcesContent":["import { type WhitespaceFilter } from \"./types.js\";\n\n/**\n * @param s - The string to convert\n * @param whitespace - (default: `\"keep\"`)\n * @since 6.0.0\n */\nexport function toSearchQuery(\n s: string,\n whitespace: WhitespaceFilter = \"keep\"\n): string {\n let q = s.toLowerCase();\n if (whitespace === \"ignore\") {\n q = q.replace(/\\s/g, \"\");\n } else if (whitespace === \"trim\") {\n q = q.trim();\n }\n\n return q;\n}\n"],"names":["toSearchQuery","s","whitespace","q","toLowerCase","replace","trim"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAEA;;;;CAIC,GACD,OAAO,SAASA,cACdC,CAAS,EACTC,aAA+B,MAAM;IAErC,IAAIC,IAAIF,EAAEG,WAAW;IACrB,IAAIF,eAAe,UAAU;QAC3BC,IAAIA,EAAEE,OAAO,CAAC,OAAO;IACvB,OAAO,IAAIH,eAAe,QAAQ;QAChCC,IAAIA,EAAEG,IAAI;IACZ;IAEA,OAAOH;AACT"}
1
+ {"version":3,"sources":["../../src/searching/toSearchQuery.ts"],"sourcesContent":["import { type WhitespaceFilter } from \"./types.js\";\n\n/**\n * @param s - The string to convert\n * @param whitespace - (default: `\"keep\"`)\n * @since 6.0.0\n */\nexport function toSearchQuery(\n s: string,\n whitespace: WhitespaceFilter = \"keep\"\n): string {\n let q = s.toLowerCase();\n if (whitespace === \"ignore\") {\n q = q.replace(/\\s/g, \"\");\n } else if (whitespace === \"trim\") {\n q = q.trim();\n }\n\n return q;\n}\n"],"names":["toSearchQuery","s","whitespace","q","toLowerCase","replace","trim"],"mappings":"AAEA;;;;CAIC,GACD,OAAO,SAASA,cACdC,CAAS,EACTC,aAA+B,MAAM;IAErC,IAAIC,IAAIF,EAAEG,WAAW;IACrB,IAAIF,eAAe,UAAU;QAC3BC,IAAIA,EAAEE,OAAO,CAAC,OAAO;IACvB,OAAO,IAAIH,eAAe,QAAQ;QAChCC,IAAIA,EAAEG,IAAI;IACZ;IAEA,OAAOH;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/searching/types.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\n\n/**\n * @since 6.0.0\n */\nexport type WhitespaceFilter = \"ignore\" | \"trim\" | \"keep\";\n\n/**\n * @since 6.0.0\n */\nexport interface BaseSearchOptions<T> {\n list: readonly T[];\n\n /**\n * @defaultValue `\"filter\"`\n */\n type?: \"search\" | \"filter\";\n\n /**\n * The current query string. i.e. `\"SeArch\"`\n */\n query: string;\n\n /**\n * This is required if the list includes anything other than strings.\n * @see {@link TextExtractor}\n */\n extractor?: TextExtractor<T>;\n\n /**\n * @defaultValue `\"keep\"`\n */\n whitespace?: WhitespaceFilter;\n}\n"],"names":[],"rangeMappings":";;","mappings":"AAOA;;CAEC,GACD,WAuBC"}
1
+ {"version":3,"sources":["../../src/searching/types.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\n\n/**\n * @since 6.0.0\n */\nexport type WhitespaceFilter = \"ignore\" | \"trim\" | \"keep\";\n\n/**\n * @since 6.0.0\n */\nexport interface BaseSearchOptions<T> {\n list: readonly T[];\n\n /**\n * @defaultValue `\"filter\"`\n */\n type?: \"search\" | \"filter\";\n\n /**\n * The current query string. i.e. `\"SeArch\"`\n */\n query: string;\n\n /**\n * This is required if the list includes anything other than strings.\n * @see {@link TextExtractor}\n */\n extractor?: TextExtractor<T>;\n\n /**\n * @defaultValue `\"keep\"`\n */\n whitespace?: WhitespaceFilter;\n}\n"],"names":[],"mappings":"AAOA;;CAEC,GACD,WAuBC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/searching/useFuzzyMatch.ts"],"sourcesContent":["\"use client\";\nimport { useCallback, useRef } from \"react\";\nimport { createFuzzyRegExp } from \"./fuzzy.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface FuzzyMatchOptions {\n value: string;\n query: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport type FuzzyMatch = (options: FuzzyMatchOptions) => boolean;\n\n/**\n * This hook implements a few optimizations for fuzzy searching and filtering\n * together for large datasets (10,000 or more items) and was really created\n * for the autocomplete component.\n *\n * @since 6.0.0\n */\nexport function useFuzzyMatch(): FuzzyMatch {\n const prevQuery = useRef(\"\");\n const fuzzyRegExp = useRef<RegExp | null>(null);\n\n return useCallback((options: FuzzyMatchOptions) => {\n const { query, value } = options;\n if (!query) {\n return true;\n }\n\n if (!fuzzyRegExp.current || prevQuery.current !== query) {\n prevQuery.current = query;\n fuzzyRegExp.current = createFuzzyRegExp(query);\n }\n\n return value.length > 0 && fuzzyRegExp.current.test(value);\n }, []);\n}\n"],"names":["useCallback","useRef","createFuzzyRegExp","useFuzzyMatch","prevQuery","fuzzyRegExp","options","query","value","current","length","test"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AAC5C,SAASC,iBAAiB,QAAQ,aAAa;AAe/C;;;;;;CAMC,GACD,OAAO,SAASC;IACd,MAAMC,YAAYH,OAAO;IACzB,MAAMI,cAAcJ,OAAsB;IAE1C,OAAOD,YAAY,CAACM;QAClB,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;QACzB,IAAI,CAACC,OAAO;YACV,OAAO;QACT;QAEA,IAAI,CAACF,YAAYI,OAAO,IAAIL,UAAUK,OAAO,KAAKF,OAAO;YACvDH,UAAUK,OAAO,GAAGF;YACpBF,YAAYI,OAAO,GAAGP,kBAAkBK;QAC1C;QAEA,OAAOC,MAAME,MAAM,GAAG,KAAKL,YAAYI,OAAO,CAACE,IAAI,CAACH;IACtD,GAAG,EAAE;AACP"}
1
+ {"version":3,"sources":["../../src/searching/useFuzzyMatch.ts"],"sourcesContent":["\"use client\";\nimport { useCallback, useRef } from \"react\";\nimport { createFuzzyRegExp } from \"./fuzzy.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface FuzzyMatchOptions {\n value: string;\n query: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport type FuzzyMatch = (options: FuzzyMatchOptions) => boolean;\n\n/**\n * This hook implements a few optimizations for fuzzy searching and filtering\n * together for large datasets (10,000 or more items) and was really created\n * for the autocomplete component.\n *\n * @since 6.0.0\n */\nexport function useFuzzyMatch(): FuzzyMatch {\n const prevQuery = useRef(\"\");\n const fuzzyRegExp = useRef<RegExp | null>(null);\n\n return useCallback((options: FuzzyMatchOptions) => {\n const { query, value } = options;\n if (!query) {\n return true;\n }\n\n if (!fuzzyRegExp.current || prevQuery.current !== query) {\n prevQuery.current = query;\n fuzzyRegExp.current = createFuzzyRegExp(query);\n }\n\n return value.length > 0 && fuzzyRegExp.current.test(value);\n }, []);\n}\n"],"names":["useCallback","useRef","createFuzzyRegExp","useFuzzyMatch","prevQuery","fuzzyRegExp","options","query","value","current","length","test"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AAC5C,SAASC,iBAAiB,QAAQ,aAAa;AAe/C;;;;;;CAMC,GACD,OAAO,SAASC;IACd,MAAMC,YAAYH,OAAO;IACzB,MAAMI,cAAcJ,OAAsB;IAE1C,OAAOD,YAAY,CAACM;QAClB,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;QACzB,IAAI,CAACC,OAAO;YACV,OAAO;QACT;QAEA,IAAI,CAACF,YAAYI,OAAO,IAAIL,UAAUK,OAAO,KAAKF,OAAO;YACvDH,UAAUK,OAAO,GAAGF;YACpBF,YAAYI,OAAO,GAAGP,kBAAkBK;QAC1C;QAEA,OAAOC,MAAME,MAAM,GAAG,KAAKL,YAAYI,OAAO,CAACE,IAAI,CAACH;IACtD,GAAG,EAAE;AACP"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/searching/utils.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\nimport { toSearchQuery } from \"./toSearchQuery.js\";\nimport { type BaseSearchOptions } from \"./types.js\";\n\n/**\n * @since 6.0.0\n * @internal\n */\nexport const defaultExtractor =\n <T>(name: string) =>\n (item: T): string => {\n if (typeof item === \"string\") {\n return item;\n }\n\n throw new Error(\n `A \\`TextExtractor\\` must be provided to \\`${name}\\` for lists that do not contain strings`\n );\n };\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport interface SearchOptions<T> extends BaseSearchOptions<T> {\n type: \"search\" | \"filter\";\n filter(query: string, value: string): boolean;\n extractor: TextExtractor<T>;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport function search<T>(\n options: SearchOptions<T>\n): readonly T[] | T | undefined {\n const { list, type, query, filter, extractor, whitespace = \"keep\" } = options;\n const fallback = type === \"search\" ? undefined : list;\n if (!list.length) {\n return fallback;\n }\n\n const q = toSearchQuery(query, whitespace);\n if (!q) {\n return fallback;\n }\n\n const fn = type === \"search\" ? \"find\" : \"filter\";\n return list[fn]((item) =>\n filter(q, toSearchQuery(extractor(item), whitespace))\n );\n}\n"],"names":["toSearchQuery","defaultExtractor","name","item","Error","search","options","list","type","query","filter","extractor","whitespace","fallback","undefined","length","q","fn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,aAAa,QAAQ,qBAAqB;AAGnD;;;CAGC,GACD,OAAO,MAAMC,mBACX,CAAIC,OACJ,CAACC;QACC,IAAI,OAAOA,SAAS,UAAU;YAC5B,OAAOA;QACT;QAEA,MAAM,IAAIC,MACR,CAAC,0CAA0C,EAAEF,KAAK,wCAAwC,CAAC;IAE/F,EAAE;AAYJ;;;CAGC,GACD,OAAO,SAASG,OACdC,OAAyB;IAEzB,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,MAAM,EAAEC,SAAS,EAAEC,aAAa,MAAM,EAAE,GAAGN;IACtE,MAAMO,WAAWL,SAAS,WAAWM,YAAYP;IACjD,IAAI,CAACA,KAAKQ,MAAM,EAAE;QAChB,OAAOF;IACT;IAEA,MAAMG,IAAIhB,cAAcS,OAAOG;IAC/B,IAAI,CAACI,GAAG;QACN,OAAOH;IACT;IAEA,MAAMI,KAAKT,SAAS,WAAW,SAAS;IACxC,OAAOD,IAAI,CAACU,GAAG,CAAC,CAACd,OACfO,OAAOM,GAAGhB,cAAcW,UAAUR,OAAOS;AAE7C"}
1
+ {"version":3,"sources":["../../src/searching/utils.ts"],"sourcesContent":["import { type TextExtractor } from \"../types.js\";\nimport { toSearchQuery } from \"./toSearchQuery.js\";\nimport { type BaseSearchOptions } from \"./types.js\";\n\n/**\n * @since 6.0.0\n * @internal\n */\nexport const defaultExtractor =\n <T>(name: string) =>\n (item: T): string => {\n if (typeof item === \"string\") {\n return item;\n }\n\n throw new Error(\n `A \\`TextExtractor\\` must be provided to \\`${name}\\` for lists that do not contain strings`\n );\n };\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport interface SearchOptions<T> extends BaseSearchOptions<T> {\n type: \"search\" | \"filter\";\n filter(query: string, value: string): boolean;\n extractor: TextExtractor<T>;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport function search<T>(\n options: SearchOptions<T>\n): readonly T[] | T | undefined {\n const { list, type, query, filter, extractor, whitespace = \"keep\" } = options;\n const fallback = type === \"search\" ? undefined : list;\n if (!list.length) {\n return fallback;\n }\n\n const q = toSearchQuery(query, whitespace);\n if (!q) {\n return fallback;\n }\n\n const fn = type === \"search\" ? \"find\" : \"filter\";\n return list[fn]((item) =>\n filter(q, toSearchQuery(extractor(item), whitespace))\n );\n}\n"],"names":["toSearchQuery","defaultExtractor","name","item","Error","search","options","list","type","query","filter","extractor","whitespace","fallback","undefined","length","q","fn"],"mappings":"AACA,SAASA,aAAa,QAAQ,qBAAqB;AAGnD;;;CAGC,GACD,OAAO,MAAMC,mBACX,CAAIC,OACJ,CAACC;QACC,IAAI,OAAOA,SAAS,UAAU;YAC5B,OAAOA;QACT;QAEA,MAAM,IAAIC,MACR,CAAC,0CAA0C,EAAEF,KAAK,wCAAwC,CAAC;IAE/F,EAAE;AAYJ;;;CAGC,GACD,OAAO,SAASG,OACdC,OAAyB;IAEzB,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,MAAM,EAAEC,SAAS,EAAEC,aAAa,MAAM,EAAE,GAAGN;IACtE,MAAMO,WAAWL,SAAS,WAAWM,YAAYP;IACjD,IAAI,CAACA,KAAKQ,MAAM,EAAE;QAChB,OAAOF;IACT;IAEA,MAAMG,IAAIhB,cAAcS,OAAOG;IAC/B,IAAI,CAACI,GAAG;QACN,OAAOH;IACT;IAEA,MAAMI,KAAKT,SAAS,WAAW,SAAS;IACxC,OAAOD,IAAI,CAACU,GAAG,CAAC,CAACd,OACfO,OAAOM,GAAGhB,cAAcW,UAAUR,OAAOS;AAE7C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/segmented-button/SegmentedButton.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, type ButtonHTMLAttributes, type ReactNode } from \"react\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { useMaxWidthTransition } from \"../transition/useMaxWidthTransition.js\";\nimport { segmentedButton } from \"./segmentedButtonStyles.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface SegmentedButtonProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Set this to `true` to apply selected styles and an optional\n * {@link selectedIcon}\n *\n * @defaultValue `false`\n */\n selected?: boolean;\n\n /** @defaultValue `getIcon(\"selected\")` */\n selectedIcon?: ReactNode;\n\n /**\n * An optional className to apply when {@link selected} is `true`.\n */\n selectedClassName?: string;\n\n /**\n * Set this to `true` to not render the {@link selectedIcon} when\n * {@link selected} is `true`.\n *\n * @defaultValue `false`\n */\n disableSelectedIcon?: boolean;\n\n /**\n * Set this to `true` to disable the {@link selectedIcon} enter/exit\n * transition and instead just use `display: none`.\n *\n * @defaultValue `false`\n */\n disableSelectedTransition?: boolean;\n\n /**\n * An optional addon to render before the {@link children} and after the\n * {@link selectedIcon}. This is only useful when rendering text children so\n * it can appear above the interaction states.\n */\n leftAddon?: ReactNode;\n\n /**\n * An optional addon to render after the {@link children}. This is only useful\n * when rendering text children so it can appear above the interaction states.\n */\n rightAddon?: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * @example Simple Example\n * ```tsx\n * import {\n * SegmentedButton,\n * SegmentedButtonContainer,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"a\");\n * return (\n * <SegmentedButtonContainer>\n * <SegmentedButton\n * onClick={() => setValue(\"a\")}\n * selected={value === \"a\"}\n * >\n * First\n * </SegmentedButton>\n * <SegmentedButton\n * onClick={() => setValue(\"b\")}\n * selected={value === \"b\"}\n * >\n * Second\n * </SegmentedButton>\n * <SegmentedButton\n * onClick={() => setValue(\"c\")}\n * selected={value === \"c\"}\n * disableSelectedIcon\n * >\n * Third\n * </SegmentedButton>\n * </SegmentedButtonContainer>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const SegmentedButton = forwardRef<\n HTMLButtonElement,\n SegmentedButtonProps\n>(function SegmentedButton(props, ref) {\n const {\n className,\n type = \"button\",\n leftAddon,\n rightAddon,\n children: propChildren,\n selected,\n selectedIcon: propSelectedIcon,\n selectedClassName,\n disableSelectedIcon,\n disableSelectedTransition,\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n disabled,\n ...remaining\n } = props;\n\n const children = useHigherContrastChildren(propChildren);\n const selectedIconNode = getIcon(\"selected\", propSelectedIcon);\n const selectedIcon = useMaxWidthTransition({\n element: selectedIconNode,\n transitionIn: !!selected,\n disabled: disableSelectedIcon,\n disableTransition: disableSelectedTransition,\n });\n const { pressedClassName, handlers, ripples } = useElementInteraction({\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n disabled,\n });\n\n return (\n <button\n {...remaining}\n {...handlers}\n aria-pressed={selected}\n ref={ref}\n type={type}\n disabled={disabled}\n className={segmentedButton({\n className,\n selected,\n selectedClassName,\n pressedClassName,\n })}\n >\n {!disableSelectedIcon && selectedIcon}\n {leftAddon}\n {children}\n {rightAddon}\n {ripples}\n </button>\n );\n});\n"],"names":["forwardRef","getIcon","useElementInteraction","useHigherContrastChildren","useMaxWidthTransition","segmentedButton","SegmentedButton","props","ref","className","type","leftAddon","rightAddon","children","propChildren","selected","selectedIcon","propSelectedIcon","selectedClassName","disableSelectedIcon","disableSelectedTransition","onBlur","onClick","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave","onDragStart","onTouchStart","onTouchEnd","onTouchMove","disabled","remaining","selectedIconNode","element","transitionIn","disableTransition","pressedClassName","handlers","ripples","button","aria-pressed"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,UAAU,QAAmD,QAAQ;AAC9E,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AACxF,SAASC,qBAAqB,QAAQ,yCAAyC;AAC/E,SAASC,eAAe,QAAQ,6BAA6B;AAqD7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCC,GACD,OAAO,MAAMC,gCAAkBN,WAG7B,SAASM,gBAAgBC,KAAK,EAAEC,GAAG;IACnC,MAAM,EACJC,SAAS,EACTC,OAAO,QAAQ,EACfC,SAAS,EACTC,UAAU,EACVC,UAAUC,YAAY,EACtBC,QAAQ,EACRC,cAAcC,gBAAgB,EAC9BC,iBAAiB,EACjBC,mBAAmB,EACnBC,yBAAyB,EACzBC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,OAAO,EACPC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,QAAQ,EACR,GAAGC,WACJ,GAAG1B;IAEJ,MAAMM,WAAWV,0BAA0BW;IAC3C,MAAMoB,mBAAmBjC,QAAQ,YAAYgB;IAC7C,MAAMD,eAAeZ,sBAAsB;QACzC+B,SAASD;QACTE,cAAc,CAAC,CAACrB;QAChBiB,UAAUb;QACVkB,mBAAmBjB;IACrB;IACA,MAAM,EAAEkB,gBAAgB,EAAEC,QAAQ,EAAEC,OAAO,EAAE,GAAGtC,sBAAsB;QACpEmB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,qBACE,MAACS;QACE,GAAGR,SAAS;QACZ,GAAGM,QAAQ;QACZG,gBAAc3B;QACdP,KAAKA;QACLE,MAAMA;QACNsB,UAAUA;QACVvB,WAAWJ,gBAAgB;YACzBI;YACAM;YACAG;YACAoB;QACF;;YAEC,CAACnB,uBAAuBH;YACxBL;YACAE;YACAD;YACA4B;;;AAGP,GAAG"}
1
+ {"version":3,"sources":["../../src/segmented-button/SegmentedButton.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, type ButtonHTMLAttributes, type ReactNode } from \"react\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { useMaxWidthTransition } from \"../transition/useMaxWidthTransition.js\";\nimport { segmentedButton } from \"./segmentedButtonStyles.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface SegmentedButtonProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Set this to `true` to apply selected styles and an optional\n * {@link selectedIcon}\n *\n * @defaultValue `false`\n */\n selected?: boolean;\n\n /** @defaultValue `getIcon(\"selected\")` */\n selectedIcon?: ReactNode;\n\n /**\n * An optional className to apply when {@link selected} is `true`.\n */\n selectedClassName?: string;\n\n /**\n * Set this to `true` to not render the {@link selectedIcon} when\n * {@link selected} is `true`.\n *\n * @defaultValue `false`\n */\n disableSelectedIcon?: boolean;\n\n /**\n * Set this to `true` to disable the {@link selectedIcon} enter/exit\n * transition and instead just use `display: none`.\n *\n * @defaultValue `false`\n */\n disableSelectedTransition?: boolean;\n\n /**\n * An optional addon to render before the {@link children} and after the\n * {@link selectedIcon}. This is only useful when rendering text children so\n * it can appear above the interaction states.\n */\n leftAddon?: ReactNode;\n\n /**\n * An optional addon to render after the {@link children}. This is only useful\n * when rendering text children so it can appear above the interaction states.\n */\n rightAddon?: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * @example Simple Example\n * ```tsx\n * import {\n * SegmentedButton,\n * SegmentedButtonContainer,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState(\"a\");\n * return (\n * <SegmentedButtonContainer>\n * <SegmentedButton\n * onClick={() => setValue(\"a\")}\n * selected={value === \"a\"}\n * >\n * First\n * </SegmentedButton>\n * <SegmentedButton\n * onClick={() => setValue(\"b\")}\n * selected={value === \"b\"}\n * >\n * Second\n * </SegmentedButton>\n * <SegmentedButton\n * onClick={() => setValue(\"c\")}\n * selected={value === \"c\"}\n * disableSelectedIcon\n * >\n * Third\n * </SegmentedButton>\n * </SegmentedButtonContainer>\n * );\n * }\n * ```\n *\n * @since 6.0.0\n */\nexport const SegmentedButton = forwardRef<\n HTMLButtonElement,\n SegmentedButtonProps\n>(function SegmentedButton(props, ref) {\n const {\n className,\n type = \"button\",\n leftAddon,\n rightAddon,\n children: propChildren,\n selected,\n selectedIcon: propSelectedIcon,\n selectedClassName,\n disableSelectedIcon,\n disableSelectedTransition,\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n disabled,\n ...remaining\n } = props;\n\n const children = useHigherContrastChildren(propChildren);\n const selectedIconNode = getIcon(\"selected\", propSelectedIcon);\n const selectedIcon = useMaxWidthTransition({\n element: selectedIconNode,\n transitionIn: !!selected,\n disabled: disableSelectedIcon,\n disableTransition: disableSelectedTransition,\n });\n const { pressedClassName, handlers, ripples } = useElementInteraction({\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n disabled,\n });\n\n return (\n <button\n {...remaining}\n {...handlers}\n aria-pressed={selected}\n ref={ref}\n type={type}\n disabled={disabled}\n className={segmentedButton({\n className,\n selected,\n selectedClassName,\n pressedClassName,\n })}\n >\n {!disableSelectedIcon && selectedIcon}\n {leftAddon}\n {children}\n {rightAddon}\n {ripples}\n </button>\n );\n});\n"],"names":["forwardRef","getIcon","useElementInteraction","useHigherContrastChildren","useMaxWidthTransition","segmentedButton","SegmentedButton","props","ref","className","type","leftAddon","rightAddon","children","propChildren","selected","selectedIcon","propSelectedIcon","selectedClassName","disableSelectedIcon","disableSelectedTransition","onBlur","onClick","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave","onDragStart","onTouchStart","onTouchEnd","onTouchMove","disabled","remaining","selectedIconNode","element","transitionIn","disableTransition","pressedClassName","handlers","ripples","button","aria-pressed"],"mappings":"AAAA;;AACA,SAASA,UAAU,QAAmD,QAAQ;AAC9E,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AACxF,SAASC,qBAAqB,QAAQ,yCAAyC;AAC/E,SAASC,eAAe,QAAQ,6BAA6B;AAqD7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCC,GACD,OAAO,MAAMC,gCAAkBN,WAG7B,SAASM,gBAAgBC,KAAK,EAAEC,GAAG;IACnC,MAAM,EACJC,SAAS,EACTC,OAAO,QAAQ,EACfC,SAAS,EACTC,UAAU,EACVC,UAAUC,YAAY,EACtBC,QAAQ,EACRC,cAAcC,gBAAgB,EAC9BC,iBAAiB,EACjBC,mBAAmB,EACnBC,yBAAyB,EACzBC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,OAAO,EACPC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,QAAQ,EACR,GAAGC,WACJ,GAAG1B;IAEJ,MAAMM,WAAWV,0BAA0BW;IAC3C,MAAMoB,mBAAmBjC,QAAQ,YAAYgB;IAC7C,MAAMD,eAAeZ,sBAAsB;QACzC+B,SAASD;QACTE,cAAc,CAAC,CAACrB;QAChBiB,UAAUb;QACVkB,mBAAmBjB;IACrB;IACA,MAAM,EAAEkB,gBAAgB,EAAEC,QAAQ,EAAEC,OAAO,EAAE,GAAGtC,sBAAsB;QACpEmB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,qBACE,MAACS;QACE,GAAGR,SAAS;QACZ,GAAGM,QAAQ;QACZG,gBAAc3B;QACdP,KAAKA;QACLE,MAAMA;QACNsB,UAAUA;QACVvB,WAAWJ,gBAAgB;YACzBI;YACAM;YACAG;YACAoB;QACF;;YAEC,CAACnB,uBAAuBH;YACxBL;YACAE;YACAD;YACA4B;;;AAGP,GAAG"}
@@ -7,8 +7,6 @@ export interface SegmentedButtonContainerProps extends HTMLAttributes<HTMLDivEle
7
7
  children: ReactNode;
8
8
  }
9
9
  /**
10
- * **Server Component**
11
- *
12
10
  * Simple wrapper `div` to apply the segmented button container styles. You can
13
11
  * just use the {@link segmentedButtonContainerStyles} util function instead.
14
12
  *
@@ -2,8 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { segmentedButtonContainerStyles } from "./segmentedButtonContainerStyles.js";
4
4
  /**
5
- * **Server Component**
6
- *
7
5
  * Simple wrapper `div` to apply the segmented button container styles. You can
8
6
  * just use the {@link segmentedButtonContainerStyles} util function instead.
9
7
  *