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

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 (905) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/.turbo/turbo-lint.log +12 -0
  3. package/.turbo/turbo-test.log +166 -0
  4. package/.turbo/turbo-typecheck.log +4 -0
  5. package/CHANGELOG.md +57 -0
  6. package/coverage/clover.xml +3 -1118
  7. package/coverage/coverage-final.json +1 -7
  8. package/coverage/lcov-report/CircularProgress.tsx.html +799 -0
  9. package/coverage/lcov-report/Dialog.tsx.html +1309 -0
  10. package/coverage/lcov-report/DialogContent.tsx.html +178 -0
  11. package/coverage/lcov-report/DialogFooter.tsx.html +169 -0
  12. package/coverage/lcov-report/LinearProgress.tsx.html +658 -0
  13. package/coverage/lcov-report/MaterialIcon.tsx.html +36 -42
  14. package/coverage/lcov-report/MaterialSymbol.tsx.html +240 -222
  15. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +979 -0
  16. package/coverage/lcov-report/MenuItemSeparator.tsx.html +223 -0
  17. package/coverage/lcov-report/MenuItemTextField.tsx.html +289 -0
  18. package/coverage/lcov-report/Switch.tsx.html +535 -0
  19. package/coverage/lcov-report/SwitchTrack.tsx.html +262 -0
  20. package/coverage/lcov-report/Table.tsx.html +457 -0
  21. package/coverage/lcov-report/TableCell.tsx.html +982 -0
  22. package/coverage/lcov-report/TableCheckbox.tsx.html +709 -0
  23. package/coverage/lcov-report/TableContainer.tsx.html +220 -0
  24. package/coverage/lcov-report/TableFooter.tsx.html +502 -0
  25. package/coverage/lcov-report/TableHeader.tsx.html +541 -0
  26. package/coverage/lcov-report/TableRadio.tsx.html +670 -0
  27. package/coverage/lcov-report/TableRow.tsx.html +289 -0
  28. package/coverage/lcov-report/Tooltip.tsx.html +98 -155
  29. package/coverage/lcov-report/avatar/Avatar.tsx.html +37 -31
  30. package/coverage/lcov-report/avatar/index.html +22 -7
  31. package/coverage/lcov-report/avatar/styles.ts.html +268 -0
  32. package/coverage/lcov-report/button/AsyncButton.tsx.html +217 -10
  33. package/coverage/lcov-report/button/Button.tsx.html +95 -83
  34. package/coverage/lcov-report/button/index.html +12 -12
  35. package/coverage/lcov-report/config.ts.html +33 -18
  36. package/coverage/lcov-report/cssUtils.ts.html +143 -65
  37. package/coverage/lcov-report/dialog/Dialog.tsx.html +170 -167
  38. package/coverage/lcov-report/dialog/DialogContent.tsx.html +178 -0
  39. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +169 -0
  40. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +148 -0
  41. package/coverage/lcov-report/dialog/DialogTitle.tsx.html +256 -0
  42. package/coverage/lcov-report/dialog/index.html +18 -33
  43. package/coverage/lcov-report/dialog/styles.ts.html +439 -0
  44. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +36 -24
  45. package/coverage/lcov-report/form/MenuItemTextField.tsx.html +12 -9
  46. package/coverage/lcov-report/form/SliderValueTooltip.tsx.html +319 -0
  47. package/coverage/lcov-report/form/Switch.tsx.html +310 -385
  48. package/coverage/lcov-report/form/SwitchTrack.tsx.html +98 -71
  49. package/coverage/lcov-report/form/index.html +20 -245
  50. package/coverage/lcov-report/form/switchStyles.ts.html +172 -0
  51. package/coverage/lcov-report/form/useRadioGroup.ts.html +79 -79
  52. package/coverage/lcov-report/hoverMode/index.html +116 -0
  53. package/coverage/lcov-report/hoverMode/useHoverMode.ts.html +676 -0
  54. package/coverage/lcov-report/icon/FontIcon.tsx.html +37 -46
  55. package/coverage/lcov-report/icon/index.html +12 -12
  56. package/coverage/lcov-report/icon/styles.ts.html +41 -104
  57. package/coverage/lcov-report/iconConfig.tsx.html +973 -0
  58. package/coverage/lcov-report/index.html +11 -101
  59. package/coverage/lcov-report/link/Link.tsx.html +358 -0
  60. package/coverage/lcov-report/link/index.html +20 -20
  61. package/coverage/lcov-report/list/ListItemLink.tsx.html +29 -35
  62. package/coverage/lcov-report/list/index.html +8 -38
  63. package/coverage/lcov-report/materialConfig.ts.html +703 -0
  64. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  65. package/coverage/lcov-report/media-queries/index.html +10 -10
  66. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +976 -0
  67. package/coverage/lcov-report/menu/Menu.tsx.html +111 -60
  68. package/coverage/lcov-report/menu/MenuConfigurationProvider.tsx.html +637 -0
  69. package/coverage/lcov-report/menu/MenuSheet.tsx.html +37 -13
  70. package/coverage/lcov-report/menu/index.html +35 -65
  71. package/coverage/lcov-report/menu/menuConfig.ts.html +118 -0
  72. package/coverage/lcov-report/progress/CircularProgress.tsx.html +799 -0
  73. package/coverage/lcov-report/progress/LinearProgress.tsx.html +100 -94
  74. package/coverage/lcov-report/progress/index.html +22 -7
  75. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  76. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  77. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  78. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +65 -65
  79. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  80. package/coverage/lcov-report/src/app-bar/index.html +20 -5
  81. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +36 -27
  82. package/coverage/lcov-report/src/avatar/index.html +22 -7
  83. package/coverage/lcov-report/src/avatar/styles.ts.html +77 -8
  84. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  85. package/coverage/lcov-report/src/badge/index.html +1 -1
  86. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  87. package/coverage/lcov-report/src/box/index.html +10 -25
  88. package/coverage/lcov-report/src/box/styles.ts.html +103 -49
  89. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +833 -284
  90. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  91. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  92. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +39 -39
  93. package/coverage/lcov-report/src/button/buttonStyles.ts.html +59 -59
  94. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  95. package/coverage/lcov-report/src/button/index.html +23 -8
  96. package/coverage/lcov-report/src/card/Card.tsx.html +1 -1
  97. package/coverage/lcov-report/src/card/CardContent.tsx.html +1 -1
  98. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  99. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  100. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  101. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  102. package/coverage/lcov-report/src/card/index.html +95 -5
  103. package/coverage/lcov-report/src/card/styles.ts.html +1 -1
  104. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  105. package/coverage/lcov-report/src/chip/index.html +1 -1
  106. package/coverage/lcov-report/src/chip/styles.ts.html +1 -1
  107. package/coverage/lcov-report/src/cssUtils.ts.html +68 -59
  108. package/coverage/lcov-report/src/delegateEvent.ts.html +84 -84
  109. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +158 -155
  110. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +27 -27
  111. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +72 -72
  112. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +14 -14
  113. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +9 -9
  114. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +124 -124
  115. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  116. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +3 -3
  117. package/coverage/lcov-report/src/dialog/index.html +21 -21
  118. package/coverage/lcov-report/src/dialog/styles.ts.html +61 -61
  119. package/coverage/lcov-report/src/divider/Divider.tsx.html +24 -24
  120. package/coverage/lcov-report/src/divider/index.html +21 -6
  121. package/coverage/lcov-report/src/divider/styles.ts.html +11 -11
  122. package/coverage/lcov-report/src/draggable/index.html +5 -5
  123. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +322 -322
  124. package/coverage/lcov-report/src/draggable/utils.ts.html +81 -81
  125. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  126. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  127. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +11 -20
  128. package/coverage/lcov-report/src/expansion-panel/index.html +25 -10
  129. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  130. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +1 -1
  131. package/coverage/lcov-report/src/focus/index.html +23 -23
  132. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +142 -121
  133. package/coverage/lcov-report/src/focus/utils.ts.html +37 -37
  134. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  135. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  136. package/coverage/lcov-report/src/form/FileInput.tsx.html +133 -139
  137. package/coverage/lcov-report/src/form/Form.tsx.html +1 -1
  138. package/coverage/lcov-report/src/form/FormMessage.tsx.html +126 -264
  139. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +42 -45
  140. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  141. package/coverage/lcov-report/src/form/InputToggle.tsx.html +7 -16
  142. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +1 -1
  143. package/coverage/lcov-report/src/form/Label.tsx.html +102 -102
  144. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  145. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +11 -5
  146. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +3 -3
  147. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +21 -9
  148. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +11 -5
  149. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  150. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +13 -4
  151. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +20 -5
  152. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  153. package/coverage/lcov-report/src/form/Option.tsx.html +4 -4
  154. package/coverage/lcov-report/src/form/Password.tsx.html +3 -3
  155. package/coverage/lcov-report/src/form/Radio.tsx.html +1 -1
  156. package/coverage/lcov-report/src/form/Select.tsx.html +1 -1
  157. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  158. package/coverage/lcov-report/src/form/Slider.tsx.html +129 -9
  159. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  160. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  161. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  162. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +43 -7
  163. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  164. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +11 -5
  165. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +2 -2
  166. package/coverage/lcov-report/src/form/Switch.tsx.html +310 -373
  167. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +99 -69
  168. package/coverage/lcov-report/src/form/TextArea.tsx.html +21 -9
  169. package/coverage/lcov-report/src/form/TextField.tsx.html +16 -10
  170. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +14 -26
  171. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +28 -10
  172. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +17 -8
  173. package/coverage/lcov-report/src/form/fileUtils.ts.html +3 -3
  174. package/coverage/lcov-report/src/form/formConfig.ts.html +18 -18
  175. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +40 -40
  176. package/coverage/lcov-report/src/form/index.html +14 -164
  177. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +1 -1
  178. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +34 -7
  179. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  180. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  181. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  182. package/coverage/lcov-report/src/form/selectUtils.ts.html +6 -9
  183. package/coverage/lcov-report/src/form/sliderUtils.ts.html +20 -14
  184. package/coverage/lcov-report/src/form/switchStyles.ts.html +68 -68
  185. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  186. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  187. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +2 -2
  188. package/coverage/lcov-report/src/form/useFileUpload.ts.html +28 -19
  189. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +5 -8
  190. package/coverage/lcov-report/src/form/useNumberField.ts.html +10 -10
  191. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +22 -7
  192. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +3 -3
  193. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +523 -0
  194. package/coverage/lcov-report/src/form/useSlider.ts.html +2 -2
  195. package/coverage/lcov-report/src/form/useTextField.ts.html +32 -26
  196. package/coverage/lcov-report/src/form/utils.ts.html +2 -2
  197. package/coverage/lcov-report/src/form/validation.ts.html +2 -2
  198. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  199. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +95 -95
  200. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +3 -3
  201. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +34 -43
  202. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +1 -1
  203. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +36 -42
  204. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +240 -222
  205. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  206. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +33 -33
  207. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +973 -0
  208. package/coverage/lcov-report/src/icon/index.html +149 -14
  209. package/coverage/lcov-report/src/icon/material.ts.html +748 -58
  210. package/coverage/lcov-report/src/icon/materialConfig.ts.html +703 -0
  211. package/coverage/lcov-report/src/icon/styles.ts.html +47 -110
  212. package/coverage/lcov-report/src/index.html +8 -8
  213. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +60 -60
  214. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +41 -47
  215. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +240 -240
  216. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  217. package/coverage/lcov-report/src/interaction/index.html +100 -10
  218. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +146 -146
  219. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +17 -17
  220. package/coverage/lcov-report/src/interaction/utils.ts.html +171 -171
  221. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  222. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  223. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  224. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  225. package/coverage/lcov-report/src/layout/index.html +200 -5
  226. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  227. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  228. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  229. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  230. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  231. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +1 -1
  232. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  233. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  234. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  235. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  236. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +3 -3
  237. package/coverage/lcov-report/src/link/Link.tsx.html +39 -9
  238. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  239. package/coverage/lcov-report/src/link/index.html +16 -16
  240. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  241. package/coverage/lcov-report/src/list/List.tsx.html +33 -33
  242. package/coverage/lcov-report/src/list/ListItem.tsx.html +534 -534
  243. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +33 -33
  244. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +77 -77
  245. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +2 -2
  246. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  247. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  248. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +33 -33
  249. package/coverage/lcov-report/src/list/index.html +128 -8
  250. package/coverage/lcov-report/src/list/listItemStyles.ts.html +1 -1
  251. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +59 -59
  252. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  253. package/coverage/lcov-report/src/media-queries/index.html +20 -5
  254. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +24 -24
  255. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +73 -16
  256. package/coverage/lcov-report/src/menu/Menu.tsx.html +66 -33
  257. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  258. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +3 -3
  259. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  260. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  261. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +3 -3
  262. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  263. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +6 -36
  264. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +34 -7
  265. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  266. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  267. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  268. package/coverage/lcov-report/src/menu/index.html +69 -24
  269. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  270. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  271. package/coverage/lcov-report/src/menu/utils.ts.html +10 -10
  272. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  273. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  274. package/coverage/lcov-report/src/movement/index.html +53 -8
  275. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +92 -92
  276. package/coverage/lcov-report/src/movement/utils.ts.html +1 -1
  277. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +64 -64
  278. package/coverage/lcov-report/src/overlay/index.html +1 -1
  279. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +28 -28
  280. package/coverage/lcov-report/src/portal/Portal.tsx.html +9 -9
  281. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +29 -29
  282. package/coverage/lcov-report/src/portal/index.html +20 -5
  283. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  284. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +63 -63
  285. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +65 -65
  286. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +94 -94
  287. package/coverage/lcov-report/src/positioning/index.html +70 -10
  288. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +200 -200
  289. package/coverage/lcov-report/src/positioning/utils.ts.html +111 -111
  290. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +501 -456
  291. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +419 -338
  292. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  293. package/coverage/lcov-report/src/progress/index.html +32 -32
  294. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  295. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  296. package/coverage/lcov-report/src/responsive-item/index.html +20 -5
  297. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  298. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  299. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +25 -25
  300. package/coverage/lcov-report/src/scroll/index.html +5 -5
  301. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +27 -27
  302. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +4 -4
  303. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +29 -8
  304. package/coverage/lcov-report/src/segmented-button/index.html +50 -5
  305. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +15 -6
  306. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  307. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  308. package/coverage/lcov-report/src/sheet/index.html +20 -5
  309. package/coverage/lcov-report/src/sheet/styles.ts.html +28 -28
  310. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +8 -5
  311. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +7 -133
  312. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +2 -2
  313. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  314. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +3 -3
  315. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +7 -115
  316. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +1783 -0
  317. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +16 -1696
  318. package/coverage/lcov-report/src/snackbar/index.html +159 -9
  319. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +214 -0
  320. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +196 -0
  321. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +1 -1
  322. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  323. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +57 -6
  324. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +1 -1
  325. package/coverage/lcov-report/src/suspense/index.html +7 -22
  326. package/coverage/lcov-report/src/table/Table.tsx.html +1 -1
  327. package/coverage/lcov-report/src/table/TableBody.tsx.html +1 -1
  328. package/coverage/lcov-report/src/table/TableCell.tsx.html +20 -35
  329. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +2 -2
  330. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +1 -1
  331. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +6 -12
  332. package/coverage/lcov-report/src/table/TableContainer.tsx.html +1 -1
  333. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  334. package/coverage/lcov-report/src/table/TableFooter.tsx.html +1 -1
  335. package/coverage/lcov-report/src/table/TableHeader.tsx.html +1 -1
  336. package/coverage/lcov-report/src/table/TableRow.tsx.html +1 -1
  337. package/coverage/lcov-report/src/table/index.html +113 -8
  338. package/coverage/lcov-report/src/tabs/Tab.tsx.html +69 -69
  339. package/coverage/lcov-report/src/tabs/TabList.tsx.html +92 -92
  340. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +61 -61
  341. package/coverage/lcov-report/src/tabs/index.html +143 -8
  342. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +157 -0
  343. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +226 -0
  344. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +241 -0
  345. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +17 -17
  346. package/coverage/lcov-report/src/tabs/useTabList.ts.html +94 -94
  347. package/coverage/lcov-report/src/tabs/useTabs.ts.html +54 -54
  348. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  349. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  350. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +1 -1
  351. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +100 -0
  352. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  353. package/coverage/lcov-report/src/test-utils/index.html +114 -9
  354. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +21 -9
  355. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
  356. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  357. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  358. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  359. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  360. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  361. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  362. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  363. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  364. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  365. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +22 -4
  366. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  367. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  368. package/coverage/lcov-report/src/theme/index.html +71 -11
  369. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +1 -1
  370. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  371. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  372. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  373. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  374. package/coverage/lcov-report/src/theme/utils.ts.html +58 -58
  375. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +98 -74
  376. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +60 -6
  377. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  378. package/coverage/lcov-report/src/tooltip/index.html +72 -27
  379. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +18 -18
  380. package/coverage/lcov-report/src/tooltip/useOverflowTooltip.ts.html +196 -196
  381. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +511 -211
  382. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +29 -29
  383. package/coverage/lcov-report/src/tooltip/utils.ts.html +23 -23
  384. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  385. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  386. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  387. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  388. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +1 -1
  389. package/coverage/lcov-report/src/transition/Slide.tsx.html +46 -46
  390. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  391. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
  392. package/coverage/lcov-report/src/transition/config.ts.html +187 -0
  393. package/coverage/lcov-report/src/transition/index.html +295 -10
  394. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  395. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +69 -69
  396. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  397. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +99 -99
  398. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  399. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  400. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  401. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +1 -1
  402. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +20 -20
  403. package/coverage/lcov-report/src/transition/useTransition.ts.html +277 -250
  404. package/coverage/lcov-report/src/transition/utils.ts.html +68 -68
  405. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +2 -2
  406. package/coverage/lcov-report/src/tree/Tree.tsx.html +24 -36
  407. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
  408. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +213 -216
  409. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +3 -3
  410. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +29 -11
  411. package/coverage/lcov-report/src/tree/index.html +114 -9
  412. package/coverage/lcov-report/src/tree/styles.ts.html +1 -1
  413. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  414. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  415. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +10 -13
  416. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
  417. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  418. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  419. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +26 -26
  420. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  421. package/coverage/lcov-report/src/typography/Typography.tsx.html +71 -71
  422. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +75 -75
  423. package/coverage/lcov-report/src/typography/index.html +64 -19
  424. package/coverage/lcov-report/src/useAsyncAction.ts.html +25 -25
  425. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
  426. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  427. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  428. package/coverage/lcov-report/src/useEnsuredRef.ts.html +22 -19
  429. package/coverage/lcov-report/src/useEnsuredState.ts.html +18 -18
  430. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  431. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +32 -32
  432. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  433. package/coverage/lcov-report/src/useLocalStorage.ts.html +225 -225
  434. package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
  435. package/coverage/lcov-report/src/usePageInactive.ts.html +25 -25
  436. package/coverage/lcov-report/src/useResizeListener.ts.html +1 -1
  437. package/coverage/lcov-report/src/useResizeObserver.ts.html +28 -28
  438. package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
  439. package/coverage/lcov-report/src/useToggle.ts.html +18 -18
  440. package/coverage/lcov-report/src/useUnmounted.ts.html +11 -11
  441. package/coverage/lcov-report/src/useWindowSize.ts.html +1 -1
  442. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  443. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  444. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  445. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  446. package/coverage/lcov-report/src/utils/filters.ts.html +1 -1
  447. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  448. package/coverage/lcov-report/src/utils/getPercentage.ts.html +36 -36
  449. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +1 -1
  450. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +1 -1
  451. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  452. package/coverage/lcov-report/src/utils/index.html +212 -17
  453. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +14 -14
  454. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  455. package/coverage/lcov-report/src/utils/nearest.ts.html +1 -1
  456. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +41 -41
  457. package/coverage/lcov-report/src/utils/randomInt.ts.html +1 -1
  458. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  459. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  460. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  461. package/coverage/lcov-report/src/window-splitter/index.html +1 -1
  462. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +1 -1
  463. package/coverage/lcov-report/styles.ts.html +134 -320
  464. package/coverage/lcov-report/switchStyles.ts.html +172 -0
  465. package/coverage/lcov-report/table/Table.tsx.html +526 -0
  466. package/coverage/lcov-report/table/TableBody.tsx.html +280 -0
  467. package/coverage/lcov-report/table/TableCell.tsx.html +159 -168
  468. package/coverage/lcov-report/table/TableCheckbox.tsx.html +10 -13
  469. package/coverage/lcov-report/table/TableRadio.tsx.html +670 -0
  470. package/coverage/lcov-report/table/TableRow.tsx.html +370 -0
  471. package/coverage/lcov-report/table/index.html +62 -32
  472. package/coverage/lcov-report/tableCellStyles.ts.html +334 -0
  473. package/coverage/lcov-report/tableContainerStyles.ts.html +142 -0
  474. package/coverage/lcov-report/tableFooterStyles.ts.html +157 -0
  475. package/coverage/lcov-report/tableHeaderStyles.ts.html +163 -0
  476. package/coverage/lcov-report/tableRowStyles.ts.html +169 -0
  477. package/coverage/lcov-report/tableStyles.ts.html +157 -0
  478. package/coverage/lcov-report/tabs/Tab.tsx.html +502 -0
  479. package/coverage/lcov-report/tabs/TabList.tsx.html +796 -0
  480. package/coverage/lcov-report/tabs/index.html +62 -17
  481. package/coverage/lcov-report/tabs/useTabs.ts.html +1567 -0
  482. package/coverage/lcov-report/tabs/utils.ts.html +337 -0
  483. package/coverage/lcov-report/test-utils/index.html +20 -20
  484. package/coverage/lcov-report/test-utils/jest-setup.ts.html +124 -0
  485. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +98 -74
  486. package/coverage/lcov-report/tooltip/TooltipHoverModeProvider.tsx.html +167 -11
  487. package/coverage/lcov-report/tooltip/constants.ts.html +1 -1
  488. package/coverage/lcov-report/tooltip/index.html +32 -17
  489. package/coverage/lcov-report/tooltip/tooltipStyles.ts.html +181 -0
  490. package/coverage/lcov-report/tooltip/useTooltip.ts.html +490 -190
  491. package/coverage/lcov-report/tooltipStyles.ts.html +181 -0
  492. package/coverage/lcov-report/transition/config.ts.html +187 -0
  493. package/coverage/lcov-report/transition/index.html +9 -24
  494. package/coverage/lcov-report/transition/useTransition.ts.html +943 -0
  495. package/coverage/lcov-report/tree/Tree.tsx.html +24 -36
  496. package/coverage/lcov-report/tree/TreeItem.tsx.html +213 -216
  497. package/coverage/lcov-report/tree/TreeProvider.tsx.html +55 -10
  498. package/coverage/lcov-report/tree/index.html +14 -59
  499. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +781 -0
  500. package/coverage/lcov-report/typography/index.html +8 -8
  501. package/coverage/lcov-report/useTooltip.ts.html +651 -375
  502. package/coverage/lcov-report/useTransition.ts.html +934 -0
  503. package/coverage/lcov-report/utils/index.html +24 -39
  504. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  505. package/coverage/lcov-report/utils/parseCssLengthUnit.ts.html +19 -19
  506. package/coverage/lcov.info +0 -1176
  507. package/dist/_core.scss +5 -1
  508. package/dist/avatar/Avatar.d.ts +2 -15
  509. package/dist/avatar/Avatar.js +3 -2
  510. package/dist/avatar/Avatar.js.map +1 -1
  511. package/dist/avatar/_avatar.scss +4 -2
  512. package/dist/avatar/styles.d.ts +20 -2
  513. package/dist/avatar/styles.js +4 -1
  514. package/dist/avatar/styles.js.map +1 -1
  515. package/dist/button/AsyncButton.d.ts +29 -0
  516. package/dist/button/AsyncButton.js +14 -1
  517. package/dist/button/AsyncButton.js.map +1 -1
  518. package/dist/chip/_chip.scss +0 -16
  519. package/dist/chip/styles.d.ts +1 -1
  520. package/dist/chip/styles.js +3 -4
  521. package/dist/chip/styles.js.map +1 -1
  522. package/dist/cssUtils.d.ts +1 -0
  523. package/dist/cssUtils.js +1 -1
  524. package/dist/cssUtils.js.map +1 -1
  525. package/dist/dialog/Dialog.d.ts +1 -1
  526. package/dist/dialog/Dialog.js +2 -1
  527. package/dist/dialog/Dialog.js.map +1 -1
  528. package/dist/focus/useFocusContainer.d.ts +8 -8
  529. package/dist/focus/useFocusContainer.js +11 -10
  530. package/dist/focus/useFocusContainer.js.map +1 -1
  531. package/dist/form/MenuItemInputToggle.js +2 -2
  532. package/dist/form/MenuItemInputToggle.js.map +1 -1
  533. package/dist/form/MenuItemTextField.d.ts +2 -0
  534. package/dist/form/MenuItemTextField.js.map +1 -1
  535. package/dist/form/Slider.d.ts +41 -5
  536. package/dist/form/Slider.js +2 -1
  537. package/dist/form/Slider.js.map +1 -1
  538. package/dist/form/SliderThumb.d.ts +7 -2
  539. package/dist/form/SliderThumb.js +4 -2
  540. package/dist/form/SliderThumb.js.map +1 -1
  541. package/dist/form/SliderValueMarks.js +1 -1
  542. package/dist/form/SliderValueMarks.js.map +1 -1
  543. package/dist/form/SliderValueTooltip.js +1 -1
  544. package/dist/form/SliderValueTooltip.js.map +1 -1
  545. package/dist/form/Switch.d.ts +3 -2
  546. package/dist/form/Switch.js +7 -26
  547. package/dist/form/Switch.js.map +1 -1
  548. package/dist/form/SwitchTrack.d.ts +2 -1
  549. package/dist/form/SwitchTrack.js +8 -4
  550. package/dist/form/SwitchTrack.js.map +1 -1
  551. package/dist/form/_form.scss +41 -34
  552. package/dist/form/switchStyles.d.ts +1 -0
  553. package/dist/form/switchStyles.js +2 -1
  554. package/dist/form/switchStyles.js.map +1 -1
  555. package/dist/hoverMode/useHoverMode.d.ts +2 -2
  556. package/dist/hoverMode/useHoverMode.js +1 -1
  557. package/dist/hoverMode/useHoverMode.js.map +1 -1
  558. package/dist/icon/FontIcon.d.ts +2 -1
  559. package/dist/icon/FontIcon.js +4 -5
  560. package/dist/icon/FontIcon.js.map +1 -1
  561. package/dist/icon/MaterialIcon.d.ts +2 -2
  562. package/dist/icon/MaterialIcon.js +3 -6
  563. package/dist/icon/MaterialIcon.js.map +1 -1
  564. package/dist/icon/MaterialSymbol.d.ts +15 -8
  565. package/dist/icon/MaterialSymbol.js +15 -11
  566. package/dist/icon/MaterialSymbol.js.map +1 -1
  567. package/dist/icon/iconConfig.js.map +1 -1
  568. package/dist/icon/material.d.ts +1 -1
  569. package/dist/icon/material.js.map +1 -1
  570. package/dist/icon/materialConfig.d.ts +156 -0
  571. package/dist/icon/materialConfig.js +29 -0
  572. package/dist/icon/materialConfig.js.map +1 -0
  573. package/dist/icon/styles.d.ts +0 -15
  574. package/dist/icon/styles.js +2 -4
  575. package/dist/icon/styles.js.map +1 -1
  576. package/dist/index.d.ts +8 -6
  577. package/dist/index.js +8 -6
  578. package/dist/index.js.map +1 -1
  579. package/dist/link/Link.d.ts +12 -6
  580. package/dist/link/Link.js +1 -2
  581. package/dist/link/Link.js.map +1 -1
  582. package/dist/list/ListItemLink.d.ts +1 -1
  583. package/dist/list/ListItemLink.js.map +1 -1
  584. package/dist/menu/DropdownMenu.d.ts +12 -1
  585. package/dist/menu/DropdownMenu.js +13 -4
  586. package/dist/menu/DropdownMenu.js.map +1 -1
  587. package/dist/menu/Menu.d.ts +8 -0
  588. package/dist/menu/Menu.js +2 -1
  589. package/dist/menu/Menu.js.map +1 -1
  590. package/dist/menu/MenuItemSeparator.d.ts +1 -2
  591. package/dist/menu/MenuItemSeparator.js +2 -8
  592. package/dist/menu/MenuItemSeparator.js.map +1 -1
  593. package/dist/menu/MenuSheet.d.ts +6 -1
  594. package/dist/menu/MenuSheet.js.map +1 -1
  595. package/dist/menu/menuConfig.d.ts +60 -0
  596. package/dist/progress/CircularProgress.d.ts +5 -4
  597. package/dist/progress/CircularProgress.js +3 -3
  598. package/dist/progress/CircularProgress.js.map +1 -1
  599. package/dist/progress/LinearProgress.d.ts +7 -5
  600. package/dist/progress/LinearProgress.js +4 -3
  601. package/dist/progress/LinearProgress.js.map +1 -1
  602. package/dist/segmented-button/_segmented-button.scss +5 -0
  603. package/dist/suspense/CircularProgressSuspense.d.ts +4 -0
  604. package/dist/suspense/CircularProgressSuspense.js +3 -1
  605. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  606. package/dist/table/Table.d.ts +0 -12
  607. package/dist/table/Table.js +1 -12
  608. package/dist/table/Table.js.map +1 -1
  609. package/dist/table/TableCell.d.ts +13 -38
  610. package/dist/table/TableCell.js +7 -15
  611. package/dist/table/TableCell.js.map +1 -1
  612. package/dist/table/TableCellContent.d.ts +9 -0
  613. package/dist/table/TableCellContent.js +2 -1
  614. package/dist/table/TableCellContent.js.map +1 -1
  615. package/dist/table/TableCheckbox.d.ts +2 -2
  616. package/dist/table/TableCheckbox.js +3 -3
  617. package/dist/table/TableCheckbox.js.map +1 -1
  618. package/dist/table/TableContainer.d.ts +0 -6
  619. package/dist/table/TableContainer.js +1 -6
  620. package/dist/table/TableContainer.js.map +1 -1
  621. package/dist/table/TableFooter.d.ts +7 -1
  622. package/dist/table/TableFooter.js +17 -16
  623. package/dist/table/TableFooter.js.map +1 -1
  624. package/dist/table/TableHeader.d.ts +7 -14
  625. package/dist/table/TableHeader.js +6 -14
  626. package/dist/table/TableHeader.js.map +1 -1
  627. package/dist/table/TableRadio.d.ts +106 -0
  628. package/dist/table/TableRadio.js +106 -0
  629. package/dist/table/TableRadio.js.map +1 -0
  630. package/dist/table/TableRow.d.ts +0 -10
  631. package/dist/table/TableRow.js +1 -12
  632. package/dist/table/TableRow.js.map +1 -1
  633. package/dist/table/_table.scss +16 -18
  634. package/dist/table/tableCellStyles.d.ts +33 -0
  635. package/dist/table/tableCellStyles.js +15 -0
  636. package/dist/table/tableCellStyles.js.map +1 -0
  637. package/dist/table/tableContainerStyles.d.ts +10 -0
  638. package/dist/table/tableContainerStyles.js +9 -0
  639. package/dist/table/tableContainerStyles.js.map +1 -0
  640. package/dist/table/tableFooterStyles.d.ts +10 -0
  641. package/dist/table/tableFooterStyles.js +12 -0
  642. package/dist/table/tableFooterStyles.js.map +1 -0
  643. package/dist/table/tableHeaderStyles.d.ts +10 -0
  644. package/dist/table/tableHeaderStyles.js +13 -0
  645. package/dist/table/tableHeaderStyles.js.map +1 -0
  646. package/dist/table/tableRowStyles.d.ts +10 -0
  647. package/dist/table/tableRowStyles.js +14 -0
  648. package/dist/table/tableRowStyles.js.map +1 -0
  649. package/dist/table/tableStyles.d.ts +12 -0
  650. package/dist/table/tableStyles.js +14 -0
  651. package/dist/table/tableStyles.js.map +1 -0
  652. package/dist/table/types.d.ts +28 -15
  653. package/dist/table/types.js.map +1 -1
  654. package/dist/tabs/_tabs.scss +2 -0
  655. package/dist/test-utils/data-testid.js +2 -0
  656. package/dist/test-utils/data-testid.js.map +1 -0
  657. package/dist/test-utils/jest-setup.js +3 -0
  658. package/dist/test-utils/jest-setup.js.map +1 -1
  659. package/dist/theme/ThemeProvider.d.ts +5 -0
  660. package/dist/theme/ThemeProvider.js.map +1 -1
  661. package/dist/tooltip/Tooltip.d.ts +13 -6
  662. package/dist/tooltip/Tooltip.js +2 -2
  663. package/dist/tooltip/Tooltip.js.map +1 -1
  664. package/dist/tooltip/TooltipHoverModeProvider.d.ts +15 -0
  665. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  666. package/dist/tooltip/_tooltip.scss +1 -0
  667. package/dist/tooltip/tooltipStyles.d.ts +2 -1
  668. package/dist/tooltip/tooltipStyles.js +2 -2
  669. package/dist/tooltip/tooltipStyles.js.map +1 -1
  670. package/dist/tooltip/useTooltip.d.ts +71 -8
  671. package/dist/tooltip/useTooltip.js +68 -7
  672. package/dist/tooltip/useTooltip.js.map +1 -1
  673. package/dist/transition/config.d.ts +22 -0
  674. package/dist/transition/config.js +16 -0
  675. package/dist/transition/config.js.map +1 -0
  676. package/dist/transition/useTransition.js +15 -6
  677. package/dist/transition/useTransition.js.map +1 -1
  678. package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -1
  679. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  680. package/dist/tree/Tree.d.ts +1 -1
  681. package/dist/tree/Tree.js +18 -21
  682. package/dist/tree/Tree.js.map +1 -1
  683. package/dist/tree/TreeItem.js +1 -3
  684. package/dist/tree/TreeItem.js.map +1 -1
  685. package/dist/tree/TreeProvider.d.ts +2 -0
  686. package/dist/tree/TreeProvider.js +3 -1
  687. package/dist/tree/TreeProvider.js.map +1 -1
  688. package/package.json +20 -17
  689. package/src/__tests__/NoSsr.tsx +5 -5
  690. package/src/__tests__/useAsyncAction.tsx +14 -6
  691. package/src/__tests__/useDebouncedFunction.tsx +6 -3
  692. package/src/__tests__/useDropzone.tsx +10 -10
  693. package/src/__tests__/useEnsuredId.tsx +5 -5
  694. package/src/__tests__/useEnsuredState.tsx +1 -2
  695. package/src/__tests__/useLocalStorage.tsx +21 -21
  696. package/src/__tests__/useResizeObserver.tsx +2 -0
  697. package/src/__tests__/useThrottledFunction.tsx +9 -8
  698. package/src/__tests__/useToggle.tsx +10 -10
  699. package/src/_core.scss +5 -1
  700. package/src/app-bar/__tests__/AppBar.tsx +15 -15
  701. package/src/app-bar/__tests__/AppBarTitle.tsx +3 -5
  702. package/src/avatar/Avatar.tsx +12 -20
  703. package/src/avatar/__tests__/Avatar.tsx +6 -6
  704. package/src/avatar/_avatar.scss +4 -2
  705. package/src/avatar/styles.ts +27 -4
  706. package/src/badge/__tests__/Badge.tsx +3 -3
  707. package/src/button/AsyncButton.tsx +71 -4
  708. package/src/button/__tests__/AsyncButton.tsx +2 -0
  709. package/src/button/__tests__/Button.tsx +12 -12
  710. package/src/button/__tests__/ButtonUnstyled.tsx +3 -3
  711. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +31 -8
  712. package/src/card/__tests__/Card.tsx +3 -3
  713. package/src/card/__tests__/CardContent.tsx +3 -3
  714. package/src/card/__tests__/CardFooter.tsx +3 -3
  715. package/src/card/__tests__/CardHeader.tsx +5 -5
  716. package/src/card/__tests__/CardSubtitle.tsx +3 -3
  717. package/src/card/__tests__/CardTitle.tsx +3 -3
  718. package/src/chip/__tests__/Chip.tsx +20 -22
  719. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +3 -3
  720. package/src/chip/__tests__/__snapshots__/styles.ts.snap +1 -1
  721. package/src/chip/_chip.scss +0 -16
  722. package/src/chip/styles.ts +4 -5
  723. package/src/cssUtils.ts +4 -1
  724. package/src/dialog/Dialog.tsx +5 -4
  725. package/src/dialog/__tests__/Dialog.tsx +316 -0
  726. package/src/dialog/__tests__/DialogContent.tsx +53 -0
  727. package/src/dialog/__tests__/DialogFooter.tsx +70 -0
  728. package/src/dialog/__tests__/DialogHeader.tsx +37 -0
  729. package/src/dialog/__tests__/DialogTitle.tsx +41 -0
  730. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +84 -0
  731. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +36 -0
  732. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +186 -0
  733. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +18 -0
  734. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +26 -0
  735. package/src/divider/__tests__/Divider.tsx +3 -3
  736. package/src/draggable/__tests__/useDraggable.tsx +35 -39
  737. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +28 -23
  738. package/src/focus/__tests__/useFocusContainer.tsx +280 -0
  739. package/src/focus/useFocusContainer.ts +17 -10
  740. package/src/form/MenuItemInputToggle.tsx +6 -2
  741. package/src/form/MenuItemTextField.tsx +3 -0
  742. package/src/form/Slider.tsx +45 -5
  743. package/src/form/SliderThumb.tsx +15 -3
  744. package/src/form/SliderValueMarks.tsx +3 -1
  745. package/src/form/SliderValueTooltip.tsx +1 -1
  746. package/src/form/Switch.tsx +6 -27
  747. package/src/form/SwitchTrack.tsx +12 -2
  748. package/src/form/__tests__/Checkbox.tsx +5 -5
  749. package/src/form/__tests__/Fieldset.tsx +3 -3
  750. package/src/form/__tests__/FileInput.tsx +2 -2
  751. package/src/form/__tests__/Label.tsx +3 -3
  752. package/src/form/__tests__/Legend.tsx +3 -3
  753. package/src/form/__tests__/Radio.tsx +3 -3
  754. package/src/form/__tests__/Switch.tsx +152 -0
  755. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +428 -0
  756. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +1 -1
  757. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +1 -1
  758. package/src/form/__tests__/useCheckboxGroup.tsx +33 -33
  759. package/src/form/__tests__/useFileUpload.tsx +41 -33
  760. package/src/form/__tests__/useRadioGroup.tsx +25 -25
  761. package/src/form/_form.scss +41 -34
  762. package/src/form/switchStyles.ts +3 -3
  763. package/src/hoverMode/useHoverMode.ts +4 -4
  764. package/src/icon/FontIcon.tsx +2 -5
  765. package/src/icon/MaterialIcon.tsx +4 -6
  766. package/src/icon/MaterialSymbol.tsx +18 -12
  767. package/src/icon/__tests__/FontIcon.tsx +7 -11
  768. package/src/icon/__tests__/IconRotator.tsx +4 -4
  769. package/src/icon/__tests__/MaterialIcon.tsx +79 -0
  770. package/src/icon/__tests__/MaterialSymbol.tsx +100 -0
  771. package/src/icon/__tests__/SVGIcon.tsx +6 -5
  772. package/src/icon/__tests__/TextIconSpacing.tsx +15 -17
  773. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +6 -6
  774. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +82 -0
  775. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +42 -0
  776. package/src/icon/iconConfig.tsx +1 -0
  777. package/src/icon/material.ts +284 -54
  778. package/src/icon/{MaterialSymbolsProvider.tsx → materialConfig.ts} +49 -67
  779. package/src/icon/styles.ts +0 -21
  780. package/src/index.ts +8 -6
  781. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +3 -3
  782. package/src/layout/__tests__/useExpandableLayout.tsx +12 -1
  783. package/src/layout/__tests__/useLayoutTree.tsx +6 -1
  784. package/src/layout/__tests__/useResizableLayout.tsx +13 -1
  785. package/src/layout/__tests__/useTemporaryLayout.tsx +6 -1
  786. package/src/link/Link.tsx +15 -5
  787. package/src/link/__tests__/Link.tsx +3 -3
  788. package/src/link/__tests__/SkipToMainContent.tsx +11 -14
  789. package/src/list/ListItemLink.tsx +1 -1
  790. package/src/list/__tests__/List.tsx +7 -7
  791. package/src/list/__tests__/ListItem.tsx +17 -16
  792. package/src/list/__tests__/ListItemLink.tsx +7 -7
  793. package/src/list/__tests__/ListSubheader.tsx +5 -5
  794. package/src/menu/DropdownMenu.tsx +23 -4
  795. package/src/menu/Menu.tsx +11 -0
  796. package/src/menu/MenuItemSeparator.tsx +2 -12
  797. package/src/menu/MenuSheet.tsx +10 -1
  798. package/src/menu/__tests__/DropdownMenu.tsx +74 -65
  799. package/src/menu/__tests__/MenuBar.tsx +57 -48
  800. package/src/menu/__tests__/MenuVisibilityProvider.tsx +3 -3
  801. package/src/overlay/__tests__/Overlay.tsx +37 -35
  802. package/src/portal/__tests__/PortalContainerProvider.node.tsx +1 -0
  803. package/src/portal/__tests__/PortalContainerProvider.tsx +9 -9
  804. package/src/positioning/__tests__/useFixedPositioning.tsx +20 -14
  805. package/src/progress/CircularProgress.tsx +5 -4
  806. package/src/progress/LinearProgress.tsx +88 -86
  807. package/src/progress/__tests__/CircularProgress.tsx +49 -27
  808. package/src/progress/__tests__/LinearProgress.tsx +40 -25
  809. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +21 -0
  810. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +20 -0
  811. package/src/segmented-button/_segmented-button.scss +5 -0
  812. package/src/snackbar/__tests__/Snackbar.tsx +2 -2
  813. package/src/snackbar/__tests__/Toast.tsx +8 -3
  814. package/src/snackbar/__tests__/ToastActionButton.tsx +2 -2
  815. package/src/snackbar/__tests__/ToastCloseButton.tsx +2 -2
  816. package/src/snackbar/__tests__/ToastManagerProvider.tsx +8 -0
  817. package/src/suspense/CircularProgressSuspense.tsx +19 -2
  818. package/src/table/Table.tsx +1 -24
  819. package/src/table/TableCell.tsx +22 -85
  820. package/src/table/TableCellContent.tsx +20 -2
  821. package/src/table/TableCheckbox.tsx +3 -3
  822. package/src/table/TableContainer.tsx +1 -8
  823. package/src/table/TableFooter.tsx +30 -23
  824. package/src/table/TableHeader.tsx +23 -40
  825. package/src/table/TableRadio.tsx +195 -0
  826. package/src/table/TableRow.tsx +1 -28
  827. package/src/table/__tests__/Table.tsx +4 -10
  828. package/src/table/__tests__/TableBody.tsx +3 -3
  829. package/src/table/__tests__/TableCheckbox.tsx +10 -11
  830. package/src/table/__tests__/TableContainer.tsx +3 -3
  831. package/src/table/__tests__/TableRadio.tsx +112 -0
  832. package/src/table/__tests__/TableRow.tsx +4 -10
  833. package/src/table/__tests__/__snapshots__/Table.tsx.snap +249 -251
  834. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +3 -3
  835. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +4 -4
  836. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +138 -0
  837. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +4 -6
  838. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +3 -0
  839. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +3 -0
  840. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +3 -0
  841. package/src/table/__tests__/tableContainerStyles.ts +8 -0
  842. package/src/table/__tests__/tableRowStyles.ts +8 -0
  843. package/src/table/__tests__/tableStyles.ts +8 -0
  844. package/src/table/_table.scss +16 -18
  845. package/src/table/tableCellStyles.ts +83 -0
  846. package/src/table/tableContainerStyles.ts +19 -0
  847. package/src/table/tableFooterStyles.ts +27 -0
  848. package/src/table/tableHeaderStyles.ts +29 -0
  849. package/src/table/tableRowStyles.ts +28 -0
  850. package/src/table/tableStyles.ts +24 -0
  851. package/src/table/types.ts +33 -15
  852. package/src/tabs/__tests__/Tab.tsx +3 -3
  853. package/src/tabs/__tests__/TabList.tsx +50 -40
  854. package/src/tabs/__tests__/useTabs.tsx +27 -24
  855. package/src/tabs/_tabs.scss +2 -0
  856. package/src/test-utils/data-testid.ts +5 -0
  857. package/src/test-utils/jest-setup.ts +4 -0
  858. package/src/theme/ThemeProvider.tsx +6 -0
  859. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +4 -4
  860. package/src/theme/__tests__/useCSSVariables.tsx +4 -4
  861. package/src/tooltip/Tooltip.tsx +17 -9
  862. package/src/tooltip/TooltipHoverModeProvider.tsx +18 -0
  863. package/src/tooltip/__tests__/Tooltip.tsx +147 -104
  864. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +8 -3
  865. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -33
  866. package/src/tooltip/_tooltip.scss +1 -0
  867. package/src/tooltip/tooltipStyles.ts +4 -4
  868. package/src/tooltip/useTooltip.ts +119 -19
  869. package/src/transition/__tests__/CSSTransition.tsx +12 -6
  870. package/src/transition/__tests__/Collapse.tsx +19 -17
  871. package/src/transition/__tests__/CrossFade.tsx +20 -17
  872. package/src/transition/__tests__/ScaleTransition.tsx +18 -14
  873. package/src/transition/__tests__/useCSSTransition.tsx +18 -14
  874. package/src/transition/__tests__/useCollapseTransition.tsx +25 -21
  875. package/src/transition/__tests__/useCrossFadeTransition.tsx +20 -16
  876. package/src/transition/__tests__/useScaleTransition.tsx +18 -12
  877. package/src/transition/__tests__/useTransition.tsx +165 -68
  878. package/src/transition/config.ts +34 -0
  879. package/src/transition/useTransition.ts +15 -6
  880. package/src/tree/DefaultTreeItemRenderer.tsx +1 -1
  881. package/src/tree/Tree.tsx +20 -24
  882. package/src/tree/TreeItem.tsx +2 -3
  883. package/src/tree/TreeProvider.tsx +6 -0
  884. package/src/tree/__tests__/Tree.tsx +7 -2
  885. package/src/tree/__tests__/TreeGroup.tsx +1 -0
  886. package/src/tree/__tests__/TreeItemExpander.tsx +1 -0
  887. package/src/typography/__tests__/TextContainer.tsx +3 -3
  888. package/src/typography/__tests__/Typography.tsx +10 -12
  889. package/src/typography/__tests__/WritingDirectionProvider.tsx +7 -7
  890. package/dist/divider/VerticalDivider.js +0 -40
  891. package/dist/divider/VerticalDivider.js.map +0 -1
  892. package/dist/divider/useVerticalDividerHeight.js +0 -40
  893. package/dist/divider/useVerticalDividerHeight.js.map +0 -1
  894. package/dist/link/LinkProvider.js +0 -26
  895. package/dist/link/LinkProvider.js.map +0 -1
  896. package/dist/tooltip/useOverflowTooltip.js +0 -71
  897. package/dist/tooltip/useOverflowTooltip.js.map +0 -1
  898. package/src/divider/VerticalDivider.tsx +0 -50
  899. package/src/divider/__tests__/VerticalDivider.tsx +0 -35
  900. package/src/divider/__tests__/__snapshots__/VerticalDivider.tsx.snap +0 -41
  901. package/src/divider/useVerticalDividerHeight.ts +0 -72
  902. package/src/icon/MaterialIconsProvider.ts +0 -23
  903. package/src/link/LinkProvider.tsx +0 -51
  904. package/src/tooltip/__tests__/useOverflowTooltip.tsx +0 -77
  905. package/src/tooltip/useOverflowTooltip.ts +0 -93
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/table/TableRow.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { bem } from \"../utils/bem.js\";\nimport {\n useTableConfig,\n type TableRowConfiguration,\n} from \"./TableConfigurationProvider.js\";\n\nconst styles = bem(\"rmd-tr\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableRowClassNameOptions {\n className?: string;\n disableHover?: boolean;\n disableBorders?: boolean;\n selected?: boolean;\n clickable?: boolean;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport function tableRow(options: TableRowClassNameOptions = {}): string {\n const { disableHover, disableBorders, selected, clickable, className } =\n options;\n return cnb(\n styles({\n bordered: !disableBorders,\n hoverable: !disableHover,\n clickable,\n selected,\n }),\n className\n );\n}\n\nexport interface TableRowProps\n extends HTMLAttributes<HTMLTableRowElement>,\n TableRowConfiguration {\n /**\n * Boolean if the current row has been selected and should apply the selected\n * background-color.\n *\n * @defaultValue `false`\n */\n selected?: boolean;\n\n /**\n * Boolean if the row should be clickable and update the cursor while hovered\n * to be a pointer.\n *\n * @defaultValue `false`\n */\n clickable?: boolean;\n}\n\n/**\n * **Client Component**\n *\n * Creates a `<tr>` element with some general styles that are inherited from the\n * base table configuration.\n */\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>(\n function TableRow(props, ref) {\n const {\n className,\n disableHover: propDisableHover,\n disableBorders: propDisableBorders,\n children,\n selected = false,\n clickable = false,\n ...remaining\n } = props;\n\n const { disableHover, disableBorders } = useTableConfig({\n disableHover: propDisableHover,\n disableBorders: propDisableBorders,\n });\n\n return (\n <tr\n {...remaining}\n ref={ref}\n className={tableRow({\n selected,\n clickable,\n disableHover,\n disableBorders,\n className,\n })}\n >\n {children}\n </tr>\n );\n }\n);\n"],"names":["cnb","forwardRef","bem","useTableConfig","styles","tableRow","options","disableHover","disableBorders","selected","clickable","className","bordered","hoverable","TableRow","props","ref","propDisableHover","propDisableBorders","children","remaining","tr"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SACEC,cAAc,QAET,kCAAkC;AAEzC,MAAMC,SAASF,IAAI;AAWnB,2BAA2B,GAC3B,OAAO,SAASG,SAASC,UAAoC,CAAC,CAAC;IAC7D,MAAM,EAAEC,YAAY,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,EAAE,GACpEL;IACF,OAAON,IACLI,OAAO;QACLQ,UAAU,CAACJ;QACXK,WAAW,CAACN;QACZG;QACAD;IACF,IACAE;AAEJ;AAsBA;;;;;CAKC,GACD,OAAO,MAAMG,yBAAWb,WACtB,SAASa,SAASC,KAAK,EAAEC,GAAG;IAC1B,MAAM,EACJL,SAAS,EACTJ,cAAcU,gBAAgB,EAC9BT,gBAAgBU,kBAAkB,EAClCC,QAAQ,EACRV,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjB,GAAGU,WACJ,GAAGL;IAEJ,MAAM,EAAER,YAAY,EAAEC,cAAc,EAAE,GAAGL,eAAe;QACtDI,cAAcU;QACdT,gBAAgBU;IAClB;IAEA,qBACE,KAACG;QACE,GAAGD,SAAS;QACbJ,KAAKA;QACLL,WAAWN,SAAS;YAClBI;YACAC;YACAH;YACAC;YACAG;QACF;kBAECQ;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/table/TableRow.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport {\n useTableConfig,\n type TableRowConfiguration,\n} from \"./TableConfigurationProvider.js\";\nimport { tableRow } from \"./tableRowStyles.js\";\n\nexport interface TableRowProps\n extends HTMLAttributes<HTMLTableRowElement>,\n TableRowConfiguration {\n /**\n * Boolean if the current row has been selected and should apply the selected\n * background-color.\n *\n * @defaultValue `false`\n */\n selected?: boolean;\n\n /**\n * Boolean if the row should be clickable and update the cursor while hovered\n * to be a pointer.\n *\n * @defaultValue `false`\n */\n clickable?: boolean;\n}\n\n/**\n * **Client Component**\n *\n * Creates a `<tr>` element with some general styles that are inherited from the\n * base table configuration.\n */\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>(\n function TableRow(props, ref) {\n const {\n className,\n disableHover: propDisableHover,\n disableBorders: propDisableBorders,\n children,\n selected = false,\n clickable = false,\n ...remaining\n } = props;\n\n const { disableHover, disableBorders } = useTableConfig({\n disableHover: propDisableHover,\n disableBorders: propDisableBorders,\n });\n\n return (\n <tr\n {...remaining}\n ref={ref}\n className={tableRow({\n selected,\n clickable,\n disableHover,\n disableBorders,\n className,\n })}\n >\n {children}\n </tr>\n );\n }\n);\n"],"names":["forwardRef","useTableConfig","tableRow","TableRow","props","ref","className","disableHover","propDisableHover","disableBorders","propDisableBorders","children","selected","clickable","remaining","tr"],"mappings":"AAAA;;AACA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SACEC,cAAc,QAET,kCAAkC;AACzC,SAASC,QAAQ,QAAQ,sBAAsB;AAsB/C;;;;;CAKC,GACD,OAAO,MAAMC,yBAAWH,WACtB,SAASG,SAASC,KAAK,EAAEC,GAAG;IAC1B,MAAM,EACJC,SAAS,EACTC,cAAcC,gBAAgB,EAC9BC,gBAAgBC,kBAAkB,EAClCC,QAAQ,EACRC,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjB,GAAGC,WACJ,GAAGV;IAEJ,MAAM,EAAEG,YAAY,EAAEE,cAAc,EAAE,GAAGR,eAAe;QACtDM,cAAcC;QACdC,gBAAgBC;IAClB;IAEA,qBACE,KAACK;QACE,GAAGD,SAAS;QACbT,KAAKA;QACLC,WAAWJ,SAAS;YAClBU;YACAC;YACAN;YACAE;YACAH;QACF;kBAECK;;AAGP,GACA"}
@@ -12,9 +12,6 @@ $disable-everything: false !default;
12
12
  $disable-container: false !default;
13
13
  $disable-dense: false !default;
14
14
  $disable-full-width: false !default;
15
- $disable-cell-header-align-left: false !default;
16
- $disable-cell-align-center: false !default;
17
- $disable-cell-align-right: false !default;
18
15
  $disable-cell-align-top: false !default;
19
16
  $disable-cell-align-bottom: false !default;
20
17
  $disable-bordered: false !default;
@@ -28,7 +25,7 @@ $disable-sticky: false !default;
28
25
  $disable-sticky-cell: $disable-sticky !default;
29
26
  $disable-sticky-header: $disable-sticky !default;
30
27
  $disable-sticky-footer: $disable-sticky !default;
31
- $disable-checkbox: false !default;
28
+ $disable-input-toggle: false !default;
32
29
  $disable-cell-no-wrap: false !default;
33
30
  $disable-cell-grow: false !default;
34
31
  $disable-cell-no-padding: false !default;
@@ -72,7 +69,7 @@ $cell-header-height: 3.5rem !default;
72
69
  $cell-header-dense-height: 2.125rem !default;
73
70
  $cell-horizontal-padding: 1rem !default;
74
71
  $cell-vertical-padding: 0.375rem !default;
75
- $cell-checkbox-horizontal-padding: 0.5rem !default;
72
+ $cell-input-toggle-horizontal-padding: 0.5rem !default;
76
73
  $cell-content-gap: icon.$spacing !default;
77
74
 
78
75
  $sticky-cell-position: 0 !default;
@@ -353,17 +350,18 @@ $row-selected-styles: (
353
350
  @if $cell-color != $cell-header-color {
354
351
  @include set-var(cell-color, $cell-header-color);
355
352
  }
356
- @if not $disable-cell-header-align-left {
357
- @include utils.rtl {
358
- text-align: right;
359
- }
353
+ }
360
354
 
361
- text-align: left;
355
+ @if not $disable-cell-align-top {
356
+ &--top {
357
+ vertical-align: top;
362
358
  }
363
359
  }
364
360
 
365
- &--top {
366
- vertical-align: top;
361
+ @if not $disable-cell-align-bottom {
362
+ &--bottom {
363
+ vertical-align: bottom;
364
+ }
367
365
  }
368
366
 
369
367
  @if not $disable-sticky-cell {
@@ -388,11 +386,11 @@ $row-selected-styles: (
388
386
  transition.$linear-timing-function;
389
387
 
390
388
  .rmd-tr--hoverable:hover & {
391
- @include use-var(background-color, hover-color);
389
+ @include utils.map-to-styles($row-hover-styles);
392
390
  }
393
391
 
394
392
  .rmd-tr--selected & {
395
- @include use-var(background-color, selected-color);
393
+ @include utils.map-to-styles($row-selected-styles);
396
394
  }
397
395
  }
398
396
  }
@@ -405,18 +403,18 @@ $row-selected-styles: (
405
403
  }
406
404
  }
407
405
 
408
- @if not $disable-checkbox and not $disable-sticky-header {
406
+ @if not $disable-input-toggle and not $disable-sticky-header {
409
407
  &--sticky-header-cell {
410
408
  z-index: $sticky-header-cell-z-index;
411
409
  }
412
410
  }
413
411
  }
414
412
 
415
- @if not $disable-checkbox {
416
- &--checkbox {
413
+ @if not $disable-input-toggle {
414
+ &--input-toggle {
417
415
  @include set-var(
418
416
  cell-horizontal-padding,
419
- $cell-checkbox-horizontal-padding
417
+ $cell-input-toggle-horizontal-padding
420
418
  );
421
419
  }
422
420
  }
@@ -0,0 +1,33 @@
1
+ import { type TableCellHorizontalAlignment, type TableCellVerticalAlignment } from "./TableConfigurationProvider.jsx";
2
+ /** @remarks \@since 6.0.0 */
3
+ export interface TableCellClassNameOptions {
4
+ className?: string;
5
+ /**
6
+ * Set this to `true` if the cell is rendered as a `<th>` so that the correct
7
+ * sticky styles can be applied.
8
+ */
9
+ header: boolean;
10
+ /**
11
+ * Set this to true if the cell is rendered in a `<thead>` so that the correct
12
+ * sticky styles can be applied.
13
+ */
14
+ isInTableHeader: boolean;
15
+ /** @defaultValue `false` */
16
+ grow?: boolean;
17
+ /** @defaultValue `false` */
18
+ sticky?: boolean;
19
+ /** @defaultValue `false` */
20
+ inputToggle?: boolean;
21
+ hAlign?: TableCellHorizontalAlignment;
22
+ vAlign?: TableCellVerticalAlignment;
23
+ /** @defaultValue `true` */
24
+ lineWrap?: boolean;
25
+ /**
26
+ * @defaultValue `"horizontal"`
27
+ */
28
+ padding?: "horizontal" | "vertical" | "none";
29
+ }
30
+ /**
31
+ * @remarks \@since 6.0.0
32
+ */
33
+ export declare function tableCell(options: TableCellClassNameOptions): string;
@@ -0,0 +1,15 @@
1
+ import { cnb } from "cnbuilder";
2
+ import { cssUtils } from "../cssUtils.js";
3
+ /**
4
+ * @remarks \@since 6.0.0
5
+ */ export function tableCell(options) {
6
+ const { grow, sticky, header, inputToggle, hAlign, vAlign, lineWrap = true, padding = "horizontal", isInTableHeader, className } = options;
7
+ // using `&&` instead of `bem` since the latest version of typescript does not
8
+ // support setting the same object key (empty string)
9
+ const p = "rmd-table-cell--";
10
+ return cnb("rmd-table-cell", grow && `${p}grow`, header && `${p}header`, sticky && `${p}sticky`, inputToggle && `${p}input-toggle`, sticky && (!isInTableHeader || inputToggle) && `${p}sticky-cell`, sticky && isInTableHeader && `${p}sticky-header`, sticky && isInTableHeader && inputToggle && `${p}header-cell`, vAlign && vAlign !== "middle" && `${p}${vAlign}`, !lineWrap && `${p}no-wrap`, padding === "vertical" && `${p}v-padding`, padding === "none" && `${p}no-padding`, cssUtils({
11
+ textAlign: hAlign
12
+ }), className);
13
+ }
14
+
15
+ //# sourceMappingURL=tableCellStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/table/tableCellStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport {\n type TableCellHorizontalAlignment,\n type TableCellVerticalAlignment,\n} from \"./TableConfigurationProvider.jsx\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableCellClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` if the cell is rendered as a `<th>` so that the correct\n * sticky styles can be applied.\n */\n header: boolean;\n\n /**\n * Set this to true if the cell is rendered in a `<thead>` so that the correct\n * sticky styles can be applied.\n */\n isInTableHeader: boolean;\n\n /** @defaultValue `false` */\n grow?: boolean;\n\n /** @defaultValue `false` */\n sticky?: boolean;\n\n /** @defaultValue `false` */\n inputToggle?: boolean;\n\n hAlign?: TableCellHorizontalAlignment;\n vAlign?: TableCellVerticalAlignment;\n\n /** @defaultValue `true` */\n lineWrap?: boolean;\n\n /**\n * @defaultValue `\"horizontal\"`\n */\n padding?: \"horizontal\" | \"vertical\" | \"none\";\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tableCell(options: TableCellClassNameOptions): string {\n const {\n grow,\n sticky,\n header,\n inputToggle,\n hAlign,\n vAlign,\n lineWrap = true,\n padding = \"horizontal\",\n isInTableHeader,\n className,\n } = options;\n\n // using `&&` instead of `bem` since the latest version of typescript does not\n // support setting the same object key (empty string)\n const p = \"rmd-table-cell--\";\n return cnb(\n \"rmd-table-cell\",\n grow && `${p}grow`,\n header && `${p}header`,\n sticky && `${p}sticky`,\n inputToggle && `${p}input-toggle`,\n sticky && (!isInTableHeader || inputToggle) && `${p}sticky-cell`,\n sticky && isInTableHeader && `${p}sticky-header`,\n sticky && isInTableHeader && inputToggle && `${p}header-cell`,\n vAlign && vAlign !== \"middle\" && `${p}${vAlign}`,\n !lineWrap && `${p}no-wrap`,\n padding === \"vertical\" && `${p}v-padding`,\n padding === \"none\" && `${p}no-padding`,\n cssUtils({\n textAlign: hAlign,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","tableCell","options","grow","sticky","header","inputToggle","hAlign","vAlign","lineWrap","padding","isInTableHeader","className","p","textAlign"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,QAAQ,iBAAiB;AA2C1C;;CAEC,GACD,OAAO,SAASC,UAAUC,OAAkC;IAC1D,MAAM,EACJC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,WAAW,EACXC,MAAM,EACNC,MAAM,EACNC,WAAW,IAAI,EACfC,UAAU,YAAY,EACtBC,eAAe,EACfC,SAAS,EACV,GAAGV;IAEJ,8EAA8E;IAC9E,qDAAqD;IACrD,MAAMW,IAAI;IACV,OAAOd,IACL,kBACAI,QAAQ,CAAC,EAAEU,EAAE,IAAI,CAAC,EAClBR,UAAU,CAAC,EAAEQ,EAAE,MAAM,CAAC,EACtBT,UAAU,CAAC,EAAES,EAAE,MAAM,CAAC,EACtBP,eAAe,CAAC,EAAEO,EAAE,YAAY,CAAC,EACjCT,UAAW,CAAA,CAACO,mBAAmBL,WAAU,KAAM,CAAC,EAAEO,EAAE,WAAW,CAAC,EAChET,UAAUO,mBAAmB,CAAC,EAAEE,EAAE,aAAa,CAAC,EAChDT,UAAUO,mBAAmBL,eAAe,CAAC,EAAEO,EAAE,WAAW,CAAC,EAC7DL,UAAUA,WAAW,YAAY,CAAC,EAAEK,EAAE,EAAEL,OAAO,CAAC,EAChD,CAACC,YAAY,CAAC,EAAEI,EAAE,OAAO,CAAC,EAC1BH,YAAY,cAAc,CAAC,EAAEG,EAAE,SAAS,CAAC,EACzCH,YAAY,UAAU,CAAC,EAAEG,EAAE,UAAU,CAAC,EACtCb,SAAS;QACPc,WAAWP;IACb,IACAK;AAEJ"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @remarks \@since 6.0.0
3
+ */
4
+ export interface TableContainerClassNameOptions {
5
+ className?: string;
6
+ }
7
+ /**
8
+ * @remarks \@since 6.0.0
9
+ */
10
+ export declare function tableContainer(options?: TableContainerClassNameOptions): string;
@@ -0,0 +1,9 @@
1
+ import { cnb } from "cnbuilder";
2
+ /**
3
+ * @remarks \@since 6.0.0
4
+ */ export function tableContainer(options = {}) {
5
+ const { className } = options;
6
+ return cnb("rmd-table-container", className);
7
+ }
8
+
9
+ //# sourceMappingURL=tableContainerStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/table/tableContainerStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TableContainerClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tableContainer(\n options: TableContainerClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(\"rmd-table-container\", className);\n}\n"],"names":["cnb","tableContainer","options","className"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAShC;;CAEC,GACD,OAAO,SAASC,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOF,IAAI,uBAAuBG;AACpC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @remarks \@since 6.0.0
3
+ */
4
+ export interface TableFooterClassNameOptions {
5
+ className?: string;
6
+ sticky?: boolean;
7
+ stickyActive?: boolean;
8
+ stickyActiveClassName?: string;
9
+ }
10
+ export declare function tableFooter(options?: TableFooterClassNameOptions): string;
@@ -0,0 +1,12 @@
1
+ import { cnb } from "cnbuilder";
2
+ import { bem } from "../utils/bem.js";
3
+ const styles = bem("rmd-tfoot");
4
+ export function tableFooter(options = {}) {
5
+ const { className, sticky, stickyActive, stickyActiveClassName } = options;
6
+ return cnb(styles({
7
+ sticky,
8
+ "sticky-active": stickyActive
9
+ }), stickyActive && stickyActiveClassName, className);
10
+ }
11
+
12
+ //# sourceMappingURL=tableFooterStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/table/tableFooterStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-tfoot\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TableFooterClassNameOptions {\n className?: string;\n sticky?: boolean;\n stickyActive?: boolean;\n stickyActiveClassName?: string;\n}\n\nexport function tableFooter(options: TableFooterClassNameOptions = {}): string {\n const { className, sticky, stickyActive, stickyActiveClassName } = options;\n\n return cnb(\n styles({\n sticky,\n \"sticky-active\": stickyActive,\n }),\n stickyActive && stickyActiveClassName,\n className\n );\n}\n"],"names":["cnb","bem","styles","tableFooter","options","className","sticky","stickyActive","stickyActiveClassName"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAYnB,OAAO,SAASE,YAAYC,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,YAAY,EAAEC,qBAAqB,EAAE,GAAGJ;IAEnE,OAAOJ,IACLE,OAAO;QACLI;QACA,iBAAiBC;IACnB,IACAA,gBAAgBC,uBAChBH;AAEJ"}
@@ -0,0 +1,10 @@
1
+ /** @remarks \@since 6.0.0 */
2
+ export interface TableHeaderClassNameOptions {
3
+ className?: string;
4
+ dense?: boolean;
5
+ sticky?: boolean;
6
+ stickyActive?: boolean;
7
+ stickyActiveClassName?: string;
8
+ }
9
+ /** @remarks \@since 6.0.0 */
10
+ export declare function tableHeader(options?: TableHeaderClassNameOptions): string;
@@ -0,0 +1,13 @@
1
+ import { cnb } from "cnbuilder";
2
+ import { bem } from "../utils/bem.js";
3
+ const styles = bem("rmd-thead");
4
+ /** @remarks \@since 6.0.0 */ export function tableHeader(options = {}) {
5
+ const { dense, sticky, stickyActive, stickyActiveClassName, className } = options;
6
+ return cnb(styles({
7
+ dense,
8
+ sticky,
9
+ "sticky-active": stickyActive
10
+ }), stickyActive && stickyActiveClassName, className);
11
+ }
12
+
13
+ //# sourceMappingURL=tableHeaderStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/table/tableHeaderStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-thead\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableHeaderClassNameOptions {\n className?: string;\n dense?: boolean;\n sticky?: boolean;\n stickyActive?: boolean;\n stickyActiveClassName?: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport function tableHeader(options: TableHeaderClassNameOptions = {}): string {\n const { dense, sticky, stickyActive, stickyActiveClassName, className } =\n options;\n\n return cnb(\n styles({\n dense,\n sticky,\n \"sticky-active\": stickyActive,\n }),\n stickyActive && stickyActiveClassName,\n className\n );\n}\n"],"names":["cnb","bem","styles","tableHeader","options","dense","sticky","stickyActive","stickyActiveClassName","className"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAWnB,2BAA2B,GAC3B,OAAO,SAASE,YAAYC,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,YAAY,EAAEC,qBAAqB,EAAEC,SAAS,EAAE,GACrEL;IAEF,OAAOJ,IACLE,OAAO;QACLG;QACAC;QACA,iBAAiBC;IACnB,IACAA,gBAAgBC,uBAChBC;AAEJ"}
@@ -0,0 +1,10 @@
1
+ /** @remarks \@since 6.0.0 */
2
+ export interface TableRowClassNameOptions {
3
+ className?: string;
4
+ disableHover?: boolean;
5
+ disableBorders?: boolean;
6
+ selected?: boolean;
7
+ clickable?: boolean;
8
+ }
9
+ /** @remarks \@since 6.0.0 */
10
+ export declare function tableRow(options?: TableRowClassNameOptions): string;
@@ -0,0 +1,14 @@
1
+ import { cnb } from "cnbuilder";
2
+ import { bem } from "../utils/bem.js";
3
+ const styles = bem("rmd-tr");
4
+ /** @remarks \@since 6.0.0 */ export function tableRow(options = {}) {
5
+ const { disableHover, disableBorders, selected, clickable, className } = options;
6
+ return cnb(styles({
7
+ bordered: !disableBorders,
8
+ hoverable: !disableHover,
9
+ clickable,
10
+ selected
11
+ }), className);
12
+ }
13
+
14
+ //# sourceMappingURL=tableRowStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/table/tableRowStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-tr\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableRowClassNameOptions {\n className?: string;\n disableHover?: boolean;\n disableBorders?: boolean;\n selected?: boolean;\n clickable?: boolean;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport function tableRow(options: TableRowClassNameOptions = {}): string {\n const { disableHover, disableBorders, selected, clickable, className } =\n options;\n return cnb(\n styles({\n bordered: !disableBorders,\n hoverable: !disableHover,\n clickable,\n selected,\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","tableRow","options","disableHover","disableBorders","selected","clickable","className","bordered","hoverable"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAWnB,2BAA2B,GAC3B,OAAO,SAASE,SAASC,UAAoC,CAAC,CAAC;IAC7D,MAAM,EAAEC,YAAY,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,EAAE,GACpEL;IACF,OAAOJ,IACLE,OAAO;QACLQ,UAAU,CAACJ;QACXK,WAAW,CAACN;QACZG;QACAD;IACF,IACAE;AAEJ"}
@@ -0,0 +1,12 @@
1
+ /** @remarks \@since 6.0.0 */
2
+ export interface TableClassNameOptions {
3
+ className?: string;
4
+ /** @defaultValue `false` */
5
+ dense?: boolean;
6
+ /** @defaultValue `false` */
7
+ fullWidth?: boolean;
8
+ }
9
+ /**
10
+ * @remarks \@since 6.0.0
11
+ */
12
+ export declare function table(options?: TableClassNameOptions): string;
@@ -0,0 +1,14 @@
1
+ import { cnb } from "cnbuilder";
2
+ import { bem } from "../utils/bem.js";
3
+ const styles = bem("rmd-table");
4
+ /**
5
+ * @remarks \@since 6.0.0
6
+ */ export function table(options = {}) {
7
+ const { dense = false, fullWidth = false, className } = options;
8
+ return cnb(styles({
9
+ dense,
10
+ "full-width": fullWidth
11
+ }), className);
12
+ }
13
+
14
+ //# sourceMappingURL=tableStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/table/tableStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-table\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableClassNameOptions {\n className?: string;\n\n /** @defaultValue `false` */\n dense?: boolean;\n\n /** @defaultValue `false` */\n fullWidth?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function table(options: TableClassNameOptions = {}): string {\n const { dense = false, fullWidth = false, className } = options;\n\n return cnb(styles({ dense, \"full-width\": fullWidth }), className);\n}\n"],"names":["cnb","bem","styles","table","options","dense","fullWidth","className"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAanB;;CAEC,GACD,OAAO,SAASE,MAAMC,UAAiC,CAAC,CAAC;IACvD,MAAM,EAAEC,QAAQ,KAAK,EAAEC,YAAY,KAAK,EAAEC,SAAS,EAAE,GAAGH;IAExD,OAAOJ,IAAIE,OAAO;QAAEG;QAAO,cAAcC;IAAU,IAAIC;AACzD"}
@@ -1,6 +1,25 @@
1
1
  import type { IntersectionObserverHookOptions } from "../useIntersectionObserver.js";
2
2
  /** @remarks \@since 6.0.0 */
3
3
  export type TableStickySectionOptions = Pick<IntersectionObserverHookOptions<HTMLTableSectionElement>, "disabled" | "getThreshold" | "getRootMargin">;
4
+ /**
5
+ * This **should be wrapped in `useCallback`** to increase performance.
6
+ *
7
+ * The default behavior is to enable the "active" state for sticky headers is:
8
+ *
9
+ * - if the `TableHeader` is within a `TableContainer`, add a hidden `<tbody>`
10
+ * after the `<thead>` and enable the active state once 1px overlaps with
11
+ * the container.
12
+ * - otherwise, assume the `TableHeader` is fixed within the viewport and
13
+ * parse the `top` CSS style as `px`. enable the active state once 1px
14
+ * overlaps with this value AND the `TableHeader` exists within the
15
+ * viewport.
16
+ * - Note: This really only works with `px` and `rem` units.
17
+ *
18
+ * @see {@link TableStickySectionProps.stickyOptions} for an example usage with custom threshold and
19
+ * margin.
20
+ * @remarks \@since 6.0.0
21
+ */
22
+ export type IsStickyTableSectionActive = (entry: IntersectionObserverEntry, isInTableContainer: boolean) => boolean;
4
23
  /** @remarks \@since 6.0.0 */
5
24
  export interface TableStickySectionProps {
6
25
  /**
@@ -43,25 +62,19 @@ export interface TableStickySectionProps {
43
62
  */
44
63
  stickyOptions?: TableStickySectionOptions;
45
64
  /**
46
- * This **should be wrapped in `useCallback`** to increase performance.
47
- *
48
- * The default behavior is to enable the "active" state for sticky headers is:
49
- *
50
- * - if the `TableHeader` is within a `TableContainer`, add a hidden `<tbody>`
51
- * after the `<thead>` and enable the active state once 1px overlaps with
52
- * the container.
53
- * - otherwise, assume the `TableHeader` is fixed within the viewport and
54
- * parse the `top` CSS style as `px`. enable the active state once 1px
55
- * overlaps with this value AND the `TableHeader` exists within the
56
- * viewport.
57
- * - Note: This really only works with `px` and `rem` units.
58
- *
59
- *
65
+ * An optional className to use when the sticky section is covering other rows
66
+ * (`active`). When this is defined, the default
67
+ * `rmd-thead--sticky-active`/`rmd-tfoot--sticky-active` will no longer be
68
+ * applied.
69
+ */
70
+ stickyActiveClassName?: string;
71
+ /**
72
+ * @see {@link IsStickyTableSectionActive} for a description.
60
73
  * @see {@link stickyOptions} for an example usage with custom threshold and
61
74
  * margin.
62
75
  * @remarks \@since 6.0.0
63
76
  */
64
- isStickyActive?(entry: IntersectionObserverEntry): boolean;
77
+ isStickyActive?: IsStickyTableSectionActive;
65
78
  /**
66
79
  * Set this to `true` when the {@link sticky} prop is `true` to disable the
67
80
  * behavior of adding an additional className when the sticky mode is active.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/table/types.ts"],"sourcesContent":["import type { IntersectionObserverHookOptions } from \"../useIntersectionObserver.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport type TableStickySectionOptions = Pick<\n IntersectionObserverHookOptions<HTMLTableSectionElement>,\n \"disabled\" | \"getThreshold\" | \"getRootMargin\"\n>;\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableStickySectionProps {\n /**\n * @defaultValue `false`\n */\n sticky?: boolean;\n\n /**\n * This can be used when the {@link sticky} prop is set to `true` for\n * additional behavior around the \"active\" state for sticky headers.\n *\n * @example\n * Disabling Sticky Active State\n * ```ts\n * stickyOptions={{\n * disabled: true,\n * }}\n * ```\n *\n * @example\n * Custom Options\n * ```ts\n * stickyOptions={{\n * getThreshold: useCallback(() => {\n * // you can access the DOM safely from here\n * return [0, 0.25, 0.5, 1];\n * }, []),\n * getRootMargin: useCallback(() => {\n * // you can access the DOM safely from here\n * return \"-1px 0px 150px 0px\";\n * }, []),\n * }}\n * isStickyActive={useCallback((entry) => {\n * // whatever custom logic you want. you can access the DOM safely from here\n * return entry.isIntersecting;\n * }, [])}\n * ```\n *\n * @remarks \\@since 6.0.0\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API}\n */\n stickyOptions?: TableStickySectionOptions;\n\n /**\n * This **should be wrapped in `useCallback`** to increase performance.\n *\n * The default behavior is to enable the \"active\" state for sticky headers is:\n *\n * - if the `TableHeader` is within a `TableContainer`, add a hidden `<tbody>`\n * after the `<thead>` and enable the active state once 1px overlaps with\n * the container.\n * - otherwise, assume the `TableHeader` is fixed within the viewport and\n * parse the `top` CSS style as `px`. enable the active state once 1px\n * overlaps with this value AND the `TableHeader` exists within the\n * viewport.\n * - Note: This really only works with `px` and `rem` units.\n *\n *\n * @see {@link stickyOptions} for an example usage with custom threshold and\n * margin.\n * @remarks \\@since 6.0.0\n */\n isStickyActive?(entry: IntersectionObserverEntry): boolean;\n\n /**\n * Set this to `true` when the {@link sticky} prop is `true` to disable the\n * behavior of adding an additional className when the sticky mode is active.\n *\n * The `TableHeader` would gain the `.rmd-thead--sticky-active` class while\n * the `TableFooter` would gain the `.rmd-tfoot--sticky-active` class.\n *\n * @defaultValue `false`\n */\n disableStickyStyles?: boolean;\n}\n"],"names":[],"mappings":"AAQA,2BAA2B,GAC3B,WAyEC"}
1
+ {"version":3,"sources":["../../src/table/types.ts"],"sourcesContent":["import type { IntersectionObserverHookOptions } from \"../useIntersectionObserver.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport type TableStickySectionOptions = Pick<\n IntersectionObserverHookOptions<HTMLTableSectionElement>,\n \"disabled\" | \"getThreshold\" | \"getRootMargin\"\n>;\n\n/**\n * This **should be wrapped in `useCallback`** to increase performance.\n *\n * The default behavior is to enable the \"active\" state for sticky headers is:\n *\n * - if the `TableHeader` is within a `TableContainer`, add a hidden `<tbody>`\n * after the `<thead>` and enable the active state once 1px overlaps with\n * the container.\n * - otherwise, assume the `TableHeader` is fixed within the viewport and\n * parse the `top` CSS style as `px`. enable the active state once 1px\n * overlaps with this value AND the `TableHeader` exists within the\n * viewport.\n * - Note: This really only works with `px` and `rem` units.\n *\n * @see {@link TableStickySectionProps.stickyOptions} for an example usage with custom threshold and\n * margin.\n * @remarks \\@since 6.0.0\n */\nexport type IsStickyTableSectionActive = (\n entry: IntersectionObserverEntry,\n isInTableContainer: boolean\n) => boolean;\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableStickySectionProps {\n /**\n * @defaultValue `false`\n */\n sticky?: boolean;\n\n /**\n * This can be used when the {@link sticky} prop is set to `true` for\n * additional behavior around the \"active\" state for sticky headers.\n *\n * @example\n * Disabling Sticky Active State\n * ```ts\n * stickyOptions={{\n * disabled: true,\n * }}\n * ```\n *\n * @example\n * Custom Options\n * ```ts\n * stickyOptions={{\n * getThreshold: useCallback(() => {\n * // you can access the DOM safely from here\n * return [0, 0.25, 0.5, 1];\n * }, []),\n * getRootMargin: useCallback(() => {\n * // you can access the DOM safely from here\n * return \"-1px 0px 150px 0px\";\n * }, []),\n * }}\n * isStickyActive={useCallback((entry) => {\n * // whatever custom logic you want. you can access the DOM safely from here\n * return entry.isIntersecting;\n * }, [])}\n * ```\n *\n * @remarks \\@since 6.0.0\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API}\n */\n stickyOptions?: TableStickySectionOptions;\n\n /**\n * An optional className to use when the sticky section is covering other rows\n * (`active`). When this is defined, the default\n * `rmd-thead--sticky-active`/`rmd-tfoot--sticky-active` will no longer be\n * applied.\n */\n stickyActiveClassName?: string;\n\n /**\n * @see {@link IsStickyTableSectionActive} for a description.\n * @see {@link stickyOptions} for an example usage with custom threshold and\n * margin.\n * @remarks \\@since 6.0.0\n */\n isStickyActive?: IsStickyTableSectionActive;\n\n /**\n * Set this to `true` when the {@link sticky} prop is `true` to disable the\n * behavior of adding an additional className when the sticky mode is active.\n *\n * The `TableHeader` would gain the `.rmd-thead--sticky-active` class while\n * the `TableFooter` would gain the `.rmd-tfoot--sticky-active` class.\n *\n * @defaultValue `false`\n */\n disableStickyStyles?: boolean;\n}\n"],"names":[],"mappings":"AA+BA,2BAA2B,GAC3B,WAoEC"}
@@ -126,6 +126,8 @@ $var-lookup: (
126
126
  // also fixes issues when placed within a flex column container
127
127
  flex-shrink: 0;
128
128
  flex-wrap: nowrap;
129
+ // make sure it can enable scrollbars in flex/grid containers
130
+ max-width: 100%;
129
131
  outline: none;
130
132
  overflow-x: auto;
131
133
  position: relative;
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data-testid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/test-utils/data-testid.ts"],"names":[],"mappings":""}
@@ -1,10 +1,13 @@
1
1
  import { beforeEach } from "@jest/globals";
2
2
  import { INTERACTION_CONFIG } from "../interaction/config.js";
3
+ import { TRANSITION_CONFIG } from "../transition/config.js";
3
4
  beforeEach(()=>{
4
5
  // set the mode to `none` in tests since ripples require
5
6
  // `getBoundingClientRect()` to create correct CSS. You'll either see warnings
6
7
  // in the console around invalid css values or `NaN`.
7
8
  INTERACTION_CONFIG.mode = "none";
9
+ // disable transitions in tests since it just makes it more difficult
10
+ TRANSITION_CONFIG.disabled = true;
8
11
  });
9
12
 
10
13
  //# sourceMappingURL=jest-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/test-utils/jest-setup.ts"],"sourcesContent":["import { beforeEach } from \"@jest/globals\";\nimport { INTERACTION_CONFIG } from \"../interaction/config.js\";\n\nbeforeEach(() => {\n // set the mode to `none` in tests since ripples require\n // `getBoundingClientRect()` to create correct CSS. You'll either see warnings\n // in the console around invalid css values or `NaN`.\n INTERACTION_CONFIG.mode = \"none\";\n});\n"],"names":["beforeEach","INTERACTION_CONFIG","mode"],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9DD,WAAW;IACT,wDAAwD;IACxD,8EAA8E;IAC9E,qDAAqD;IACrDC,mBAAmBC,IAAI,GAAG;AAC5B"}
1
+ {"version":3,"sources":["../../src/test-utils/jest-setup.ts"],"sourcesContent":["import { beforeEach } from \"@jest/globals\";\nimport { INTERACTION_CONFIG } from \"../interaction/config.js\";\nimport { TRANSITION_CONFIG } from \"../transition/config.js\";\n\nbeforeEach(() => {\n // set the mode to `none` in tests since ripples require\n // `getBoundingClientRect()` to create correct CSS. You'll either see warnings\n // in the console around invalid css values or `NaN`.\n INTERACTION_CONFIG.mode = \"none\";\n\n // disable transitions in tests since it just makes it more difficult\n TRANSITION_CONFIG.disabled = true;\n});\n"],"names":["beforeEach","INTERACTION_CONFIG","TRANSITION_CONFIG","mode","disabled"],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,kBAAkB,QAAQ,2BAA2B;AAC9D,SAASC,iBAAiB,QAAQ,0BAA0B;AAE5DF,WAAW;IACT,wDAAwD;IACxD,8EAA8E;IAC9E,qDAAqD;IACrDC,mBAAmBE,IAAI,GAAG;IAE1B,qEAAqE;IACrED,kBAAkBE,QAAQ,GAAG;AAC/B"}
@@ -3,6 +3,8 @@ import { type UseStateSetter } from "../types.js";
3
3
  declare module "react" {
4
4
  interface CSSProperties {
5
5
  "--rmd-background-color"?: string;
6
+ "--rmd-on-background-color"?: string;
7
+ "--rmd-surface-color"?: string;
6
8
  "--rmd-primary-color"?: string;
7
9
  "--rmd-on-primary-color"?: string;
8
10
  "--rmd-secondary-color"?: string;
@@ -17,6 +19,9 @@ declare module "react" {
17
19
  "--rmd-text-secondary-color"?: string;
18
20
  "--rmd-text-hint-color"?: string;
19
21
  "--rmd-text-disabled-color"?: string;
22
+ "--rmd-outline-width"?: string | number;
23
+ "--rmd-outline-color"?: string;
24
+ "--rmd-outline-grey-color"?: string;
20
25
  }
21
26
  }
22
27
  /** @remarks \@since 6.0.0 */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/theme/ThemeProvider.tsx"],"sourcesContent":["\"use client\";\nimport {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { useSsr } from \"../SsrProvider.js\";\nimport { type UseStateSetter } from \"../types.js\";\nimport {\n black,\n blue500,\n greenAccent700,\n orangeAccent200,\n orangeAccent400,\n red500,\n} from \"./colors.js\";\nimport {\n backgroundColorVar,\n errorColorVar,\n onErrorColorVar,\n onPrimaryColorVar,\n onSecondaryColorVar,\n onSuccessColorVar,\n onWarningColorVar,\n primaryColorVar,\n secondaryColorVar,\n successColorVar,\n textDisabledColorVar,\n textHintColorVar,\n textPrimaryColorVar,\n textSecondaryColorVar,\n warningColorVar,\n} from \"./cssVars.js\";\nimport { useColorScheme } from \"./useColorScheme.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-background-color\"?: string;\n \"--rmd-primary-color\"?: string;\n \"--rmd-on-primary-color\"?: string;\n \"--rmd-secondary-color\"?: string;\n \"--rmd-on-secondary-color\"?: string;\n \"--rmd-warning-color\"?: string;\n \"--rmd-on-warning-color\"?: string;\n \"--rmd-error-color\"?: string;\n \"--rmd-on-error-color\"?: string;\n \"--rmd-success-color\"?: string;\n \"--rmd-on-success-color\"?: string;\n \"--rmd-text-primary-color\"?: string;\n \"--rmd-text-secondary-color\"?: string;\n \"--rmd-text-hint-color\"?: string;\n \"--rmd-text-disabled-color\"?: string;\n }\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeColors {\n primaryColor: string;\n onPrimaryColor: string;\n secondaryColor: string;\n onSecondaryColor: string;\n warningColor: string;\n onWarningColor: string;\n errorColor: string;\n onErrorColor: string;\n successColor: string;\n onSuccessColor: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeTextColors {\n textPrimaryColor: string;\n textSecondaryColor: string;\n textHintColor: string;\n textDisabledColor: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ConfigurableThemeColors extends ThemeColors, ThemeTextColors {\n backgroundColor: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport type ConfigurableThemeColorsName = keyof ConfigurableThemeColors;\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeContext extends ConfigurableThemeColors {\n /**\n * This will be `true` if a `theme` wsa not provided to the {@link ThemeProvider}\n */\n derived: boolean;\n\n /**\n * @example\n * Simple Example\n * ```tsx\n * import { getDerivedTheme, useHtmlClassName, useTheme } from \"@react-md/core\";\n * import { useEffect } from \"react\";\n *\n * import styles from \"./LightTheme.module.scss\";\n *\n * let loadedOnce = false;\n *\n * export default function LightTheme(): null {\n * useHtmlClassName(styles.container);\n * const { setDerivedTheme } = useTheme();\n * useEffect(() => {\n * if (loadedOnce) {\n * return;\n * }\n *\n * loadedOnce = true;\n * setDerivedTheme(getDerivedTheme());\n * }, [setDerivedTheme]);\n * return null;\n * }\n * ```\n */\n setDerivedTheme: UseStateSetter<Readonly<ConfigurableThemeColors>>;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_THEME_COLORS: Readonly<ThemeColors> = {\n primaryColor: blue500,\n onPrimaryColor: black,\n secondaryColor: orangeAccent400,\n onSecondaryColor: black,\n warningColor: orangeAccent200,\n onWarningColor: black,\n errorColor: red500,\n onErrorColor: black,\n successColor: greenAccent700,\n onSuccessColor: black,\n};\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_LIGHT_THEME: Readonly<ConfigurableThemeColors> = {\n ...DEFAULT_THEME_COLORS,\n backgroundColor: \"#fafafa\",\n textPrimaryColor: \"#212121\",\n textSecondaryColor: \"#757575\",\n textHintColor: \"#a8a8a8\",\n textDisabledColor: \"#9e9e9e\",\n};\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_DARK_THEME: Readonly<ConfigurableThemeColors> = {\n ...DEFAULT_THEME_COLORS,\n backgroundColor: \"#121212\",\n textPrimaryColor: \"#d9d9d9\",\n textSecondaryColor: \"#b3b3b3\",\n textHintColor: \"gray\", // #808080\n textDisabledColor: \"gray\", // #808080\n};\n\nconst context = createContext<Readonly<ThemeContext> | undefined>(undefined);\ncontext.displayName = \"Theme\";\nconst { Provider } = context;\n\n/** @remarks \\@since 6.0.0 */\nexport const getDerivedTheme = (\n container: Element = document.documentElement\n): Readonly<ConfigurableThemeColors> => {\n const rootStyles = window.getComputedStyle(container);\n const backgroundColor = rootStyles.getPropertyValue(backgroundColorVar);\n const primaryColor = rootStyles.getPropertyValue(primaryColorVar);\n const onPrimaryColor = rootStyles.getPropertyValue(onPrimaryColorVar);\n const secondaryColor = rootStyles.getPropertyValue(secondaryColorVar);\n const onSecondaryColor = rootStyles.getPropertyValue(onSecondaryColorVar);\n const warningColor = rootStyles.getPropertyValue(warningColorVar);\n const onWarningColor = rootStyles.getPropertyValue(onWarningColorVar);\n const errorColor = rootStyles.getPropertyValue(errorColorVar);\n const onErrorColor = rootStyles.getPropertyValue(onErrorColorVar);\n const successColor = rootStyles.getPropertyValue(successColorVar);\n const onSuccessColor = rootStyles.getPropertyValue(onSuccessColorVar);\n const textPrimaryColor = rootStyles.getPropertyValue(textPrimaryColorVar);\n const textSecondaryColor = rootStyles.getPropertyValue(textSecondaryColorVar);\n const textHintColor = rootStyles.getPropertyValue(textHintColorVar);\n const textDisabledColor = rootStyles.getPropertyValue(textDisabledColorVar);\n\n return {\n backgroundColor,\n primaryColor,\n onPrimaryColor,\n secondaryColor,\n onSecondaryColor,\n warningColor,\n onWarningColor,\n errorColor,\n onErrorColor,\n successColor,\n onSuccessColor,\n textPrimaryColor,\n textSecondaryColor,\n textHintColor,\n textDisabledColor,\n };\n};\n\n/**\n * This hook can be used to access the current theme set by the\n * {@link ThemeProvider}.\n *\n * @example\n * Simple Example\n * ```tsx\n * import { useTheme } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const theme = useTheme();\n *\n * return <pre><code>{JSON.stringify(theme, null, 2)}</code></pre>;\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n * @throws \"The `ThemeProvider` has not been initialized.\"\n */\nexport function useTheme(): Readonly<ThemeContext>;\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function useTheme(\n allowUndefined: true\n): Readonly<ThemeContext> | undefined;\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n * @throws \"The `ThemeProvider` has not been initialized.\"\n */\nexport function useTheme(\n allowUndefined?: boolean\n): Readonly<ThemeContext> | undefined {\n const theme = useContext(context);\n if (!theme && !allowUndefined) {\n throw new Error(\"The `ThemeProvider` has not been initialized.\");\n }\n\n return theme;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeProviderProps {\n /**\n * When this is `undefined`, the theme will be derived by computing the\n * `document.documentElement`'s styles for all the `react-md` theme custom\n * properties. The theme will also automatically update whenever the\n * `colorScheme` or `colorSchemeMode` change.\n *\n * It is recommended to manually provide your theme if you know it beforehand.\n * Deriving the theme is really only useful if you allow your user to\n * customize all these theme values themselves and persist through local\n * storage/cookies.\n *\n * @see {@link DEFAULT_DARK_THEME}\n * @see {@link DEFAULT_LIGHT_THEME}\n * @defaultValue `colorScheme === \"dark\" ? DEFAULT_DARK_THEME : DEFAULT_LIGHT_THEME`\n */\n theme?: Readonly<ConfigurableThemeColors>;\n\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * The `ThemeProvider` should be added to the root of your app but as a child of\n * the `CoreProviders`.\n *\n * @example\n * ```tsx\n * import {\n * black,\n * blue500,\n * greenAccent700,\n * orangeAccent200,\n * orangeAccent400,\n * red500,\n * CoreProviders,\n * ThemeProvider,\n * } from \"@react-md/core\";\n * import type { ConfigurableThemeColors } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { createRoot } from \"react-dom/client\";\n *\n * import App from \"./App\";\n *\n * const theme: Readonly<ConfigurableThemeColors> = {\n * primaryColor: blue500,\n * onPrimaryColor: black,\n * secondaryColor: orangeAccent400,\n * onSecondaryColor: black,\n * warningColor: orangeAccent200,\n * onWarningColor: black,\n * errorColor: red500,\n * onErrorColor: black,\n * successColor: greenAccent700,\n * onSuccessColor: black,\n * backgroundColor: \"#121212\",\n * textPrimaryColor: \"#d9d9d9\",\n * textSecondaryColor: \"#b3b3b3\",\n * textHintColor: \"gray\", // #808080\n * textDisabledColor: \"gray\", // #808080\n * };\n *\n * const container = document.getElementById(\"app\");\n * const root = createRoot(container);\n * root.render(\n * <CoreProviders>\n * <ThemeProvider theme={theme}>\n * <App />\n * </ThemeProvider>\n * </CoreProviders>\n * );\n * ```\n *\n * @example\n * Automatically Deriving the Theme\n * ```tsx\n * import {\n * CoreProviders,\n * LocalStorageColorSchemeProvider,\n * ThemeProvider,\n * } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n * import { createRoot } from \"react-dom/client\";\n *\n * import App from \"./App\";\n *\n * const container = document.getElementById(\"app\");\n * const root = createRoot(container);\n * root.render(\n * <CoreProviders>\n * <LocalStorageColorSchemeProvider>\n * <ThemeProvider>\n * <App />\n * </ThemeProvider>\n * </LocalStorageColorSchemeProvider>\n * </CoreProviders>\n * );\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function ThemeProvider(props: ThemeProviderProps): ReactElement {\n const { children, theme } = props;\n const ssr = useSsr();\n const { colorScheme, colorSchemeMode } = useColorScheme();\n const [derivedTheme, setDerivedTheme] = useState<ConfigurableThemeColors>(\n () => {\n if (theme) {\n return theme;\n }\n\n if (!ssr && typeof document !== \"undefined\") {\n return getDerivedTheme(document.documentElement);\n }\n\n return colorScheme === \"dark\" ? DEFAULT_DARK_THEME : DEFAULT_LIGHT_THEME;\n }\n );\n\n const derived = !theme;\n useEffect(() => {\n if (theme) {\n return;\n }\n\n // This has to be recalculated after an animation to ensure the new theme\n // styles have been applied. It will use the previous theme styles without\n // this frame.\n //\n // NOTE: This will not be correct the first time a new theme is lazy-loaded\n // and applied. It might be good to have a way to manually force this flow\n // again?\n const frame = window.requestAnimationFrame(() =>\n setDerivedTheme(getDerivedTheme(document.documentElement))\n );\n\n return () => {\n window.cancelAnimationFrame(frame);\n };\n }, [theme, colorScheme, colorSchemeMode]);\n\n const value = useMemo<ThemeContext>(() => {\n const backgroundColor =\n theme?.backgroundColor ?? derivedTheme.backgroundColor;\n const primaryColor = theme?.primaryColor ?? derivedTheme.primaryColor;\n const onPrimaryColor = theme?.onPrimaryColor ?? derivedTheme.onPrimaryColor;\n const secondaryColor = theme?.secondaryColor ?? derivedTheme.secondaryColor;\n const onSecondaryColor =\n theme?.onSecondaryColor ?? derivedTheme.onSecondaryColor;\n const warningColor = theme?.warningColor ?? derivedTheme.warningColor;\n const onWarningColor = theme?.onWarningColor ?? derivedTheme.onWarningColor;\n const errorColor = theme?.errorColor ?? derivedTheme.errorColor;\n const onErrorColor = theme?.onErrorColor ?? derivedTheme.onErrorColor;\n const successColor = theme?.successColor ?? derivedTheme.successColor;\n const onSuccessColor = theme?.onSuccessColor ?? derivedTheme.onSuccessColor;\n const textPrimaryColor =\n theme?.textPrimaryColor ?? derivedTheme.textPrimaryColor;\n const textSecondaryColor =\n theme?.textSecondaryColor ?? derivedTheme.textSecondaryColor;\n const textHintColor = theme?.textHintColor ?? derivedTheme.textHintColor;\n const textDisabledColor =\n theme?.textDisabledColor ?? derivedTheme.textDisabledColor;\n\n return {\n derived,\n backgroundColor,\n primaryColor,\n onPrimaryColor,\n secondaryColor,\n onSecondaryColor,\n warningColor,\n onWarningColor,\n errorColor,\n onErrorColor,\n successColor,\n onSuccessColor,\n textPrimaryColor,\n textSecondaryColor,\n textHintColor,\n textDisabledColor,\n setDerivedTheme,\n };\n }, [\n derived,\n derivedTheme.backgroundColor,\n derivedTheme.errorColor,\n derivedTheme.onErrorColor,\n derivedTheme.onPrimaryColor,\n derivedTheme.onSecondaryColor,\n derivedTheme.onSuccessColor,\n derivedTheme.onWarningColor,\n derivedTheme.primaryColor,\n derivedTheme.secondaryColor,\n derivedTheme.successColor,\n derivedTheme.textDisabledColor,\n derivedTheme.textHintColor,\n derivedTheme.textPrimaryColor,\n derivedTheme.textSecondaryColor,\n derivedTheme.warningColor,\n theme?.backgroundColor,\n theme?.errorColor,\n theme?.onErrorColor,\n theme?.onPrimaryColor,\n theme?.onSecondaryColor,\n theme?.onSuccessColor,\n theme?.onWarningColor,\n theme?.primaryColor,\n theme?.secondaryColor,\n theme?.successColor,\n theme?.textDisabledColor,\n theme?.textHintColor,\n theme?.textPrimaryColor,\n theme?.textSecondaryColor,\n theme?.warningColor,\n ]);\n\n return <Provider value={value}>{children}</Provider>;\n}\n"],"names":["createContext","useContext","useEffect","useMemo","useState","useSsr","black","blue500","greenAccent700","orangeAccent200","orangeAccent400","red500","backgroundColorVar","errorColorVar","onErrorColorVar","onPrimaryColorVar","onSecondaryColorVar","onSuccessColorVar","onWarningColorVar","primaryColorVar","secondaryColorVar","successColorVar","textDisabledColorVar","textHintColorVar","textPrimaryColorVar","textSecondaryColorVar","warningColorVar","useColorScheme","DEFAULT_THEME_COLORS","primaryColor","onPrimaryColor","secondaryColor","onSecondaryColor","warningColor","onWarningColor","errorColor","onErrorColor","successColor","onSuccessColor","DEFAULT_LIGHT_THEME","backgroundColor","textPrimaryColor","textSecondaryColor","textHintColor","textDisabledColor","DEFAULT_DARK_THEME","context","undefined","displayName","Provider","getDerivedTheme","container","document","documentElement","rootStyles","window","getComputedStyle","getPropertyValue","useTheme","allowUndefined","theme","Error","ThemeProvider","props","children","ssr","colorScheme","colorSchemeMode","derivedTheme","setDerivedTheme","derived","frame","requestAnimationFrame","cancelAnimationFrame","value"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/theme/ThemeProvider.tsx"],"sourcesContent":["\"use client\";\nimport {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { useSsr } from \"../SsrProvider.js\";\nimport { type UseStateSetter } from \"../types.js\";\nimport {\n black,\n blue500,\n greenAccent700,\n orangeAccent200,\n orangeAccent400,\n red500,\n} from \"./colors.js\";\nimport {\n backgroundColorVar,\n errorColorVar,\n onErrorColorVar,\n onPrimaryColorVar,\n onSecondaryColorVar,\n onSuccessColorVar,\n onWarningColorVar,\n primaryColorVar,\n secondaryColorVar,\n successColorVar,\n textDisabledColorVar,\n textHintColorVar,\n textPrimaryColorVar,\n textSecondaryColorVar,\n warningColorVar,\n} from \"./cssVars.js\";\nimport { useColorScheme } from \"./useColorScheme.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-background-color\"?: string;\n \"--rmd-on-background-color\"?: string;\n \"--rmd-surface-color\"?: string;\n \"--rmd-primary-color\"?: string;\n \"--rmd-on-primary-color\"?: string;\n \"--rmd-secondary-color\"?: string;\n \"--rmd-on-secondary-color\"?: string;\n \"--rmd-warning-color\"?: string;\n \"--rmd-on-warning-color\"?: string;\n \"--rmd-error-color\"?: string;\n \"--rmd-on-error-color\"?: string;\n \"--rmd-success-color\"?: string;\n \"--rmd-on-success-color\"?: string;\n \"--rmd-text-primary-color\"?: string;\n \"--rmd-text-secondary-color\"?: string;\n \"--rmd-text-hint-color\"?: string;\n \"--rmd-text-disabled-color\"?: string;\n\n \"--rmd-outline-width\"?: string | number;\n \"--rmd-outline-color\"?: string;\n \"--rmd-outline-grey-color\"?: string;\n }\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeColors {\n primaryColor: string;\n onPrimaryColor: string;\n secondaryColor: string;\n onSecondaryColor: string;\n warningColor: string;\n onWarningColor: string;\n errorColor: string;\n onErrorColor: string;\n successColor: string;\n onSuccessColor: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeTextColors {\n textPrimaryColor: string;\n textSecondaryColor: string;\n textHintColor: string;\n textDisabledColor: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ConfigurableThemeColors extends ThemeColors, ThemeTextColors {\n backgroundColor: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport type ConfigurableThemeColorsName = keyof ConfigurableThemeColors;\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeContext extends ConfigurableThemeColors {\n /**\n * This will be `true` if a `theme` wsa not provided to the {@link ThemeProvider}\n */\n derived: boolean;\n\n /**\n * @example\n * Simple Example\n * ```tsx\n * import { getDerivedTheme, useHtmlClassName, useTheme } from \"@react-md/core\";\n * import { useEffect } from \"react\";\n *\n * import styles from \"./LightTheme.module.scss\";\n *\n * let loadedOnce = false;\n *\n * export default function LightTheme(): null {\n * useHtmlClassName(styles.container);\n * const { setDerivedTheme } = useTheme();\n * useEffect(() => {\n * if (loadedOnce) {\n * return;\n * }\n *\n * loadedOnce = true;\n * setDerivedTheme(getDerivedTheme());\n * }, [setDerivedTheme]);\n * return null;\n * }\n * ```\n */\n setDerivedTheme: UseStateSetter<Readonly<ConfigurableThemeColors>>;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_THEME_COLORS: Readonly<ThemeColors> = {\n primaryColor: blue500,\n onPrimaryColor: black,\n secondaryColor: orangeAccent400,\n onSecondaryColor: black,\n warningColor: orangeAccent200,\n onWarningColor: black,\n errorColor: red500,\n onErrorColor: black,\n successColor: greenAccent700,\n onSuccessColor: black,\n};\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_LIGHT_THEME: Readonly<ConfigurableThemeColors> = {\n ...DEFAULT_THEME_COLORS,\n backgroundColor: \"#fafafa\",\n textPrimaryColor: \"#212121\",\n textSecondaryColor: \"#757575\",\n textHintColor: \"#a8a8a8\",\n textDisabledColor: \"#9e9e9e\",\n};\n\n/** @remarks \\@since 6.0.0 */\nexport const DEFAULT_DARK_THEME: Readonly<ConfigurableThemeColors> = {\n ...DEFAULT_THEME_COLORS,\n backgroundColor: \"#121212\",\n textPrimaryColor: \"#d9d9d9\",\n textSecondaryColor: \"#b3b3b3\",\n textHintColor: \"gray\", // #808080\n textDisabledColor: \"gray\", // #808080\n};\n\nconst context = createContext<Readonly<ThemeContext> | undefined>(undefined);\ncontext.displayName = \"Theme\";\nconst { Provider } = context;\n\n/** @remarks \\@since 6.0.0 */\nexport const getDerivedTheme = (\n container: Element = document.documentElement\n): Readonly<ConfigurableThemeColors> => {\n const rootStyles = window.getComputedStyle(container);\n const backgroundColor = rootStyles.getPropertyValue(backgroundColorVar);\n const primaryColor = rootStyles.getPropertyValue(primaryColorVar);\n const onPrimaryColor = rootStyles.getPropertyValue(onPrimaryColorVar);\n const secondaryColor = rootStyles.getPropertyValue(secondaryColorVar);\n const onSecondaryColor = rootStyles.getPropertyValue(onSecondaryColorVar);\n const warningColor = rootStyles.getPropertyValue(warningColorVar);\n const onWarningColor = rootStyles.getPropertyValue(onWarningColorVar);\n const errorColor = rootStyles.getPropertyValue(errorColorVar);\n const onErrorColor = rootStyles.getPropertyValue(onErrorColorVar);\n const successColor = rootStyles.getPropertyValue(successColorVar);\n const onSuccessColor = rootStyles.getPropertyValue(onSuccessColorVar);\n const textPrimaryColor = rootStyles.getPropertyValue(textPrimaryColorVar);\n const textSecondaryColor = rootStyles.getPropertyValue(textSecondaryColorVar);\n const textHintColor = rootStyles.getPropertyValue(textHintColorVar);\n const textDisabledColor = rootStyles.getPropertyValue(textDisabledColorVar);\n\n return {\n backgroundColor,\n primaryColor,\n onPrimaryColor,\n secondaryColor,\n onSecondaryColor,\n warningColor,\n onWarningColor,\n errorColor,\n onErrorColor,\n successColor,\n onSuccessColor,\n textPrimaryColor,\n textSecondaryColor,\n textHintColor,\n textDisabledColor,\n };\n};\n\n/**\n * This hook can be used to access the current theme set by the\n * {@link ThemeProvider}.\n *\n * @example\n * Simple Example\n * ```tsx\n * import { useTheme } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const theme = useTheme();\n *\n * return <pre><code>{JSON.stringify(theme, null, 2)}</code></pre>;\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n * @throws \"The `ThemeProvider` has not been initialized.\"\n */\nexport function useTheme(): Readonly<ThemeContext>;\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function useTheme(\n allowUndefined: true\n): Readonly<ThemeContext> | undefined;\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n * @throws \"The `ThemeProvider` has not been initialized.\"\n */\nexport function useTheme(\n allowUndefined?: boolean\n): Readonly<ThemeContext> | undefined {\n const theme = useContext(context);\n if (!theme && !allowUndefined) {\n throw new Error(\"The `ThemeProvider` has not been initialized.\");\n }\n\n return theme;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface ThemeProviderProps {\n /**\n * When this is `undefined`, the theme will be derived by computing the\n * `document.documentElement`'s styles for all the `react-md` theme custom\n * properties. The theme will also automatically update whenever the\n * `colorScheme` or `colorSchemeMode` change.\n *\n * It is recommended to manually provide your theme if you know it beforehand.\n * Deriving the theme is really only useful if you allow your user to\n * customize all these theme values themselves and persist through local\n * storage/cookies.\n *\n * @see {@link DEFAULT_DARK_THEME}\n * @see {@link DEFAULT_LIGHT_THEME}\n * @defaultValue `colorScheme === \"dark\" ? DEFAULT_DARK_THEME : DEFAULT_LIGHT_THEME`\n */\n theme?: Readonly<ConfigurableThemeColors>;\n\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * The `ThemeProvider` should be added to the root of your app but as a child of\n * the `CoreProviders`.\n *\n * @example\n * ```tsx\n * import {\n * black,\n * blue500,\n * greenAccent700,\n * orangeAccent200,\n * orangeAccent400,\n * red500,\n * CoreProviders,\n * ThemeProvider,\n * } from \"@react-md/core\";\n * import type { ConfigurableThemeColors } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { createRoot } from \"react-dom/client\";\n *\n * import App from \"./App\";\n *\n * const theme: Readonly<ConfigurableThemeColors> = {\n * primaryColor: blue500,\n * onPrimaryColor: black,\n * secondaryColor: orangeAccent400,\n * onSecondaryColor: black,\n * warningColor: orangeAccent200,\n * onWarningColor: black,\n * errorColor: red500,\n * onErrorColor: black,\n * successColor: greenAccent700,\n * onSuccessColor: black,\n * backgroundColor: \"#121212\",\n * textPrimaryColor: \"#d9d9d9\",\n * textSecondaryColor: \"#b3b3b3\",\n * textHintColor: \"gray\", // #808080\n * textDisabledColor: \"gray\", // #808080\n * };\n *\n * const container = document.getElementById(\"app\");\n * const root = createRoot(container);\n * root.render(\n * <CoreProviders>\n * <ThemeProvider theme={theme}>\n * <App />\n * </ThemeProvider>\n * </CoreProviders>\n * );\n * ```\n *\n * @example\n * Automatically Deriving the Theme\n * ```tsx\n * import {\n * CoreProviders,\n * LocalStorageColorSchemeProvider,\n * ThemeProvider,\n * } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n * import { createRoot } from \"react-dom/client\";\n *\n * import App from \"./App\";\n *\n * const container = document.getElementById(\"app\");\n * const root = createRoot(container);\n * root.render(\n * <CoreProviders>\n * <LocalStorageColorSchemeProvider>\n * <ThemeProvider>\n * <App />\n * </ThemeProvider>\n * </LocalStorageColorSchemeProvider>\n * </CoreProviders>\n * );\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function ThemeProvider(props: ThemeProviderProps): ReactElement {\n const { children, theme } = props;\n const ssr = useSsr();\n const { colorScheme, colorSchemeMode } = useColorScheme();\n const [derivedTheme, setDerivedTheme] = useState<ConfigurableThemeColors>(\n () => {\n if (theme) {\n return theme;\n }\n\n if (!ssr && typeof document !== \"undefined\") {\n return getDerivedTheme(document.documentElement);\n }\n\n return colorScheme === \"dark\" ? DEFAULT_DARK_THEME : DEFAULT_LIGHT_THEME;\n }\n );\n\n const derived = !theme;\n useEffect(() => {\n if (theme) {\n return;\n }\n\n // This has to be recalculated after an animation to ensure the new theme\n // styles have been applied. It will use the previous theme styles without\n // this frame.\n //\n // NOTE: This will not be correct the first time a new theme is lazy-loaded\n // and applied. It might be good to have a way to manually force this flow\n // again?\n const frame = window.requestAnimationFrame(() =>\n setDerivedTheme(getDerivedTheme(document.documentElement))\n );\n\n return () => {\n window.cancelAnimationFrame(frame);\n };\n }, [theme, colorScheme, colorSchemeMode]);\n\n const value = useMemo<ThemeContext>(() => {\n const backgroundColor =\n theme?.backgroundColor ?? derivedTheme.backgroundColor;\n const primaryColor = theme?.primaryColor ?? derivedTheme.primaryColor;\n const onPrimaryColor = theme?.onPrimaryColor ?? derivedTheme.onPrimaryColor;\n const secondaryColor = theme?.secondaryColor ?? derivedTheme.secondaryColor;\n const onSecondaryColor =\n theme?.onSecondaryColor ?? derivedTheme.onSecondaryColor;\n const warningColor = theme?.warningColor ?? derivedTheme.warningColor;\n const onWarningColor = theme?.onWarningColor ?? derivedTheme.onWarningColor;\n const errorColor = theme?.errorColor ?? derivedTheme.errorColor;\n const onErrorColor = theme?.onErrorColor ?? derivedTheme.onErrorColor;\n const successColor = theme?.successColor ?? derivedTheme.successColor;\n const onSuccessColor = theme?.onSuccessColor ?? derivedTheme.onSuccessColor;\n const textPrimaryColor =\n theme?.textPrimaryColor ?? derivedTheme.textPrimaryColor;\n const textSecondaryColor =\n theme?.textSecondaryColor ?? derivedTheme.textSecondaryColor;\n const textHintColor = theme?.textHintColor ?? derivedTheme.textHintColor;\n const textDisabledColor =\n theme?.textDisabledColor ?? derivedTheme.textDisabledColor;\n\n return {\n derived,\n backgroundColor,\n primaryColor,\n onPrimaryColor,\n secondaryColor,\n onSecondaryColor,\n warningColor,\n onWarningColor,\n errorColor,\n onErrorColor,\n successColor,\n onSuccessColor,\n textPrimaryColor,\n textSecondaryColor,\n textHintColor,\n textDisabledColor,\n setDerivedTheme,\n };\n }, [\n derived,\n derivedTheme.backgroundColor,\n derivedTheme.errorColor,\n derivedTheme.onErrorColor,\n derivedTheme.onPrimaryColor,\n derivedTheme.onSecondaryColor,\n derivedTheme.onSuccessColor,\n derivedTheme.onWarningColor,\n derivedTheme.primaryColor,\n derivedTheme.secondaryColor,\n derivedTheme.successColor,\n derivedTheme.textDisabledColor,\n derivedTheme.textHintColor,\n derivedTheme.textPrimaryColor,\n derivedTheme.textSecondaryColor,\n derivedTheme.warningColor,\n theme?.backgroundColor,\n theme?.errorColor,\n theme?.onErrorColor,\n theme?.onPrimaryColor,\n theme?.onSecondaryColor,\n theme?.onSuccessColor,\n theme?.onWarningColor,\n theme?.primaryColor,\n theme?.secondaryColor,\n theme?.successColor,\n theme?.textDisabledColor,\n theme?.textHintColor,\n theme?.textPrimaryColor,\n theme?.textSecondaryColor,\n theme?.warningColor,\n ]);\n\n return <Provider value={value}>{children}</Provider>;\n}\n"],"names":["createContext","useContext","useEffect","useMemo","useState","useSsr","black","blue500","greenAccent700","orangeAccent200","orangeAccent400","red500","backgroundColorVar","errorColorVar","onErrorColorVar","onPrimaryColorVar","onSecondaryColorVar","onSuccessColorVar","onWarningColorVar","primaryColorVar","secondaryColorVar","successColorVar","textDisabledColorVar","textHintColorVar","textPrimaryColorVar","textSecondaryColorVar","warningColorVar","useColorScheme","DEFAULT_THEME_COLORS","primaryColor","onPrimaryColor","secondaryColor","onSecondaryColor","warningColor","onWarningColor","errorColor","onErrorColor","successColor","onSuccessColor","DEFAULT_LIGHT_THEME","backgroundColor","textPrimaryColor","textSecondaryColor","textHintColor","textDisabledColor","DEFAULT_DARK_THEME","context","undefined","displayName","Provider","getDerivedTheme","container","document","documentElement","rootStyles","window","getComputedStyle","getPropertyValue","useTheme","allowUndefined","theme","Error","ThemeProvider","props","children","ssr","colorScheme","colorSchemeMode","derivedTheme","setDerivedTheme","derived","frame","requestAnimationFrame","cancelAnimationFrame","value"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type HTMLAttributes } from "react";
2
+ import { type TextOverflow } from "../cssUtils.js";
2
3
  import { type SimplePosition } from "../positioning/types.js";
3
4
  import { type CSSTransitionComponentProps, type TransitionActions } from "../transition/types.js";
4
5
  /**
@@ -20,20 +21,26 @@ export interface TooltipProps extends HTMLAttributes<HTMLSpanElement>, CSSTransi
20
21
  * @see {@link DEFAULT_TOOLTIP_POSITION}
21
22
  */
22
23
  position?: SimplePosition;
24
+ /**
25
+ * @see {@link CSSTransitionComponentProps.temporary}
26
+ * @defaultValue `true`
27
+ */
28
+ temporary?: boolean;
23
29
  /**
24
30
  * @defaultValue `false`
25
31
  */
26
32
  disablePortal?: boolean;
27
33
  /**
28
- * Set this to `true` to add `white-space: nowrap` to the tooltip.
34
+ * Set this to `"nowrap"` for tooltips that are positioned near the edge of
35
+ * the viewport that have a position of `"above"` or `"below"` so that the
36
+ * tooltip no longer aligns to the center of the tooltipped element.
29
37
  *
30
- * This prop is useful for tooltips that are positioned near the edge of the
31
- * viewport with `"above"` or `"below"` so that the tooltip no longer aligns
32
- * the center of the tooltip with the center of the tooltipped element.
38
+ * Set this to `"ellipsis"` if the tooltip should only show a single line of
39
+ * text and ellipsis once it has reached the max tooltip width.
33
40
  *
34
- * @defaultValue `false`
41
+ * @defaultValue `"allow"`
35
42
  */
36
- disableLineWrap?: boolean;
43
+ textOverflow?: TextOverflow;
37
44
  }
38
45
  /**
39
46
  * **Client Component**