@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/TableCheckbox.tsx"],"sourcesContent":["import { forwardRef, type TdHTMLAttributes } from \"react\";\nimport { Checkbox } from \"../form/Checkbox.js\";\nimport { type CheckboxProps } from \"../form/InputToggle.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { TableCell } from \"./TableCell.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type TableCheckboxTdHTMLAttributes = Omit<\n TdHTMLAttributes<HTMLTableCellElement>,\n \"aria-sort\" | \"scope\" | \"onChange\"\n>;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type TableCheckboxSupportedCheckboxProps = Pick<\n CheckboxProps,\n | \"name\"\n | \"value\"\n | \"icon\"\n | \"iconStyle\"\n | \"iconClassName\"\n | \"iconProps\"\n | \"checkedIcon\"\n | \"indeterminateIcon\"\n | \"checked\"\n | \"onChange\"\n | \"defaultChecked\"\n | \"indeterminate\"\n | \"aria-controls\"\n>;\n\n/**\n * @remarks\n * \\@since 6.0.0 The `id` prop is no longer required since the checkbox's id\n * will automatically be generated as `\"checkbox\" + useId()`. Use the {@link checkboxProps}\n * to set an `id` manually for the checkbox.\n * \\@since 6.0.0 The `cellId` prop was removed. Use the `id` prop instead.\n * \\@since 6,0.0 The default `aria-label` was changed from\n * `\"Toggle Row Selection\"` to `\"Select Row\"`.\n */\nexport interface TableCheckboxProps\n extends TableCheckboxTdHTMLAttributes,\n TableCheckboxSupportedCheckboxProps {\n /**\n * @defaultValue `!props[\"aria-labelledby\"] ? \"Select Row\" : undefined`\n */\n \"aria-label\"?: string;\n\n /** @defaultValue `false` */\n sticky?: boolean;\n\n /**\n * This allows you to override any props for the checkbox that are not\n * configurable as top-level props.\n *\n * @example\n * Simple Example\n * ```tsx\n * checkboxProps={{\n * id: \"some-custom-id\",\n * ref: checkboxRef,\n * }}\n * ```\n *\n * @see {@link TableCheckboxSupportedCheckboxProps}\n * @remarks \\@since 6.0.0\n */\n checkboxProps?: PropsWithRef<CheckboxProps, HTMLInputElement>;\n}\n\n/**\n * **Server Component**\n * This might actually be a client component.\n *\n * @example\n * Simple Example\n * ```tsx\n * import { useCheckboxGroup } from \"@react-md/core\";\n * import {\n * Table,\n * TableBody,\n * TableCell,\n * TableCheckbox,\n * TableContainer,\n * TableHeader,\n * TableRow,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * const rows = [\n * { name: \"Frozen Yogurt\", type: \"Ice Cream\" },\n * { name: \"Ice cream sandwich\", type: \"Ice Cream\" },\n * { name: \"Eclair\", type: \"Pastry\" },\n * // ...other content\n * ] as const;\n *\n * function Example(): ReactElement {\n * const { getCheckboxProps, getIndeterminateProps } = useCheckboxGroup({\n * values: rows.map(({ name }) => name),\n * name: \"selected\",\n * });\n * return (\n * <TableContainer>\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableCheckbox {...getIndeterminateProps()} />\n * <TableCell>Name</TableCell>\n * <TableCell>Type</TableCell>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * {rows.map(({ name, type }) => {\n * const checkboxProps = getCheckboxProps(name);\n * const { checked, onChange } = checkboxProps;\n *\n * return (\n * <TableRow\n * key={name}\n * onClick={onChange}\n * clickable\n * selected={checked}\n * >\n * <TableCheckbox {...checkboxProps} />\n * <TableCell>{name}</TableCell>\n * <TableCell hAlign=\"right\">{type}</TableCell>\n * </TableRow>\n * );\n * })}\n * </TableBody>\n * </Table>\n * </TableContainer>\n * );\n * }\n * ```\n *\n * @remarks\n * \\@since 6.0.0 The `id` prop is no longer required since the checkbox's id\n * will automatically be generated as `\"checkbox\" + useId()`. Use the {@link checkboxProps}\n * to set an `id` manually for the checkbox.\n * \\@since 6.0.0 The `cellId` prop was removed. Use the `id` prop instead.\n * \\@since 6,0.0 The default `aria-label` was changed from\n * `\"Toggle Row Selection\"` to `\"Select Row\"`.\n */\nexport const TableCheckbox = forwardRef<\n HTMLTableCellElement,\n TableCheckboxProps\n>(function TableCheckbox(props, ref) {\n const {\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel = !ariaLabelledBy ? \"Select Row\" : undefined,\n \"aria-controls\": ariaControls,\n name,\n icon,\n iconProps,\n iconStyle,\n iconClassName,\n checkedIcon,\n indeterminateIcon,\n value,\n checked,\n onChange,\n defaultChecked,\n indeterminate,\n checkboxProps,\n onClick = noop,\n ...remaining\n } = props;\n\n return (\n <TableCell\n {...remaining}\n ref={ref}\n header={false}\n checkbox\n onClick={(event) => {\n event.stopPropagation();\n onClick(event);\n }}\n >\n <Checkbox\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-controls={ariaControls}\n name={name}\n icon={icon}\n iconProps={iconProps}\n iconStyle={iconStyle}\n iconClassName={iconClassName}\n checkedIcon={checkedIcon}\n indeterminateIcon={indeterminateIcon}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n onChange={onChange}\n indeterminate={indeterminate}\n {...checkboxProps}\n />\n </TableCell>\n );\n});\n"],"names":["forwardRef","Checkbox","TableCell","noop","TableCheckbox","props","ref","ariaLabelledBy","ariaLabel","undefined","ariaControls","name","icon","iconProps","iconStyle","iconClassName","checkedIcon","indeterminateIcon","value","checked","onChange","defaultChecked","indeterminate","checkboxProps","onClick","remaining","header","checkbox","event","stopPropagation","aria-label","aria-labelledby","aria-controls"],"mappings":";AAAA,SAASA,UAAU,QAA+B,QAAQ;AAC1D,SAASC,QAAQ,QAAQ,sBAAsB;AAG/C,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,OAAO;AACX,aAAa;AACf;AAqEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEC,GACD,OAAO,MAAMC,8BAAgBJ,WAG3B,SAASI,cAAcC,KAAK,EAAEC,GAAG;IACjC,MAAM,EACJ,mBAAmBC,cAAc,EACjC,cAAcC,YAAY,CAACD,iBAAiB,eAAeE,SAAS,EACpE,iBAAiBC,YAAY,EAC7BC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,WAAW,EACXC,iBAAiB,EACjBC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACRC,cAAc,EACdC,aAAa,EACbC,aAAa,EACbC,UAAUrB,IAAI,EACd,GAAGsB,WACJ,GAAGpB;IAEJ,qBACE,KAACH;QACE,GAAGuB,SAAS;QACbnB,KAAKA;QACLoB,QAAQ;QACRC,QAAQ;QACRH,SAAS,CAACI;YACRA,MAAMC,eAAe;YACrBL,QAAQI;QACV;kBAEA,cAAA,KAAC3B;YACC6B,cAAYtB;YACZuB,mBAAiBxB;YACjByB,iBAAetB;YACfC,MAAMA;YACNC,MAAMA;YACNC,WAAWA;YACXC,WAAWA;YACXC,eAAeA;YACfC,aAAaA;YACbC,mBAAmBA;YACnBC,OAAOA;YACPC,SAASA;YACTE,gBAAgBA;YAChBD,UAAUA;YACVE,eAAeA;YACd,GAAGC,aAAa;;;AAIzB,GAAG"}
1
+ {"version":3,"sources":["../../src/table/TableCheckbox.tsx"],"sourcesContent":["import { forwardRef, type TdHTMLAttributes } from \"react\";\nimport { Checkbox } from \"../form/Checkbox.js\";\nimport { type CheckboxProps } from \"../form/InputToggle.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { TableCell } from \"./TableCell.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type TableCheckboxTdHTMLAttributes = Omit<\n TdHTMLAttributes<HTMLTableCellElement>,\n \"aria-sort\" | \"scope\" | \"onChange\"\n>;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type TableCheckboxSupportedCheckboxProps = Pick<\n CheckboxProps,\n | \"name\"\n | \"value\"\n | \"icon\"\n | \"iconStyle\"\n | \"iconClassName\"\n | \"iconProps\"\n | \"checkedIcon\"\n | \"indeterminateIcon\"\n | \"checked\"\n | \"onChange\"\n | \"defaultChecked\"\n | \"indeterminate\"\n | \"aria-controls\"\n>;\n\n/**\n * @remarks\n * \\@since 6.0.0 The `id` prop is no longer required since the checkbox's id\n * will automatically be generated as `\"checkbox\" + useId()`. Use the {@link checkboxProps}\n * to set an `id` manually for the checkbox.\n * \\@since 6.0.0 The `cellId` prop was removed. Use the `id` prop instead.\n * \\@since 6,0.0 The default `aria-label` was changed from\n * `\"Toggle Row Selection\"` to `\"Select Row\"`.\n */\nexport interface TableCheckboxProps\n extends TableCheckboxTdHTMLAttributes,\n TableCheckboxSupportedCheckboxProps {\n /**\n * @defaultValue `!props[\"aria-labelledby\"] ? \"Select Row\" : undefined`\n */\n \"aria-label\"?: string;\n\n /** @defaultValue `false` */\n sticky?: boolean;\n\n /**\n * This allows you to override any props for the checkbox that are not\n * configurable as top-level props.\n *\n * @example\n * Simple Example\n * ```tsx\n * checkboxProps={{\n * id: \"some-custom-id\",\n * ref: checkboxRef,\n * }}\n * ```\n *\n * @see {@link TableCheckboxSupportedCheckboxProps}\n * @remarks \\@since 6.0.0\n */\n checkboxProps?: PropsWithRef<CheckboxProps, HTMLInputElement>;\n}\n\n/**\n * **Server Component**\n * This might actually be a client component.\n *\n * @example\n * Simple Example\n * ```tsx\n * import {\n * Table,\n * TableBody,\n * TableCell,\n * TableCheckbox,\n * TableContainer,\n * TableHeader,\n * TableRow,\n * useCheckboxGroup\n * } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * const rows = [\n * { name: \"Frozen Yogurt\", type: \"Ice Cream\" },\n * { name: \"Ice cream sandwich\", type: \"Ice Cream\" },\n * { name: \"Eclair\", type: \"Pastry\" },\n * // ...other content\n * ] as const;\n *\n * function Example(): ReactElement {\n * const { getCheckboxProps, getIndeterminateProps } = useCheckboxGroup({\n * values: rows.map(({ name }) => name),\n * name: \"selected\",\n * });\n * return (\n * <TableContainer>\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableCheckbox {...getIndeterminateProps()} />\n * <TableCell>Name</TableCell>\n * <TableCell>Type</TableCell>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * {rows.map(({ name, type }) => {\n * const checkboxProps = getCheckboxProps(name);\n * const { checked, onChange } = checkboxProps;\n *\n * return (\n * <TableRow\n * key={name}\n * onClick={onChange}\n * clickable\n * selected={checked}\n * >\n * <TableCheckbox {...checkboxProps} />\n * <TableCell>{name}</TableCell>\n * <TableCell hAlign=\"right\">{type}</TableCell>\n * </TableRow>\n * );\n * })}\n * </TableBody>\n * </Table>\n * </TableContainer>\n * );\n * }\n * ```\n *\n * @remarks\n * \\@since 6.0.0 The `id` prop is no longer required since the checkbox's id\n * will automatically be generated as `\"checkbox\" + useId()`. Use the {@link checkboxProps}\n * to set an `id` manually for the checkbox.\n * \\@since 6.0.0 The `cellId` prop was removed. Use the `id` prop instead.\n * \\@since 6,0.0 The default `aria-label` was changed from\n * `\"Toggle Row Selection\"` to `\"Select Row\"`.\n */\nexport const TableCheckbox = forwardRef<\n HTMLTableCellElement,\n TableCheckboxProps\n>(function TableCheckbox(props, ref) {\n const {\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel = !ariaLabelledBy ? \"Select Row\" : undefined,\n \"aria-controls\": ariaControls,\n name,\n icon,\n iconProps,\n iconStyle,\n iconClassName,\n checkedIcon,\n indeterminateIcon,\n value,\n checked,\n onChange,\n defaultChecked,\n indeterminate,\n checkboxProps,\n onClick = noop,\n ...remaining\n } = props;\n\n return (\n <TableCell\n {...remaining}\n ref={ref}\n header={false}\n inputToggle\n onClick={(event) => {\n event.stopPropagation();\n onClick(event);\n }}\n >\n <Checkbox\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-controls={ariaControls}\n name={name}\n icon={icon}\n iconProps={iconProps}\n iconStyle={iconStyle}\n iconClassName={iconClassName}\n checkedIcon={checkedIcon}\n indeterminateIcon={indeterminateIcon}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n onChange={onChange}\n indeterminate={indeterminate}\n {...checkboxProps}\n />\n </TableCell>\n );\n});\n"],"names":["forwardRef","Checkbox","TableCell","noop","TableCheckbox","props","ref","ariaLabelledBy","ariaLabel","undefined","ariaControls","name","icon","iconProps","iconStyle","iconClassName","checkedIcon","indeterminateIcon","value","checked","onChange","defaultChecked","indeterminate","checkboxProps","onClick","remaining","header","inputToggle","event","stopPropagation","aria-label","aria-labelledby","aria-controls"],"mappings":";AAAA,SAASA,UAAU,QAA+B,QAAQ;AAC1D,SAASC,QAAQ,QAAQ,sBAAsB;AAG/C,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,OAAO;AACX,aAAa;AACf;AAqEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEC,GACD,OAAO,MAAMC,8BAAgBJ,WAG3B,SAASI,cAAcC,KAAK,EAAEC,GAAG;IACjC,MAAM,EACJ,mBAAmBC,cAAc,EACjC,cAAcC,YAAY,CAACD,iBAAiB,eAAeE,SAAS,EACpE,iBAAiBC,YAAY,EAC7BC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,WAAW,EACXC,iBAAiB,EACjBC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACRC,cAAc,EACdC,aAAa,EACbC,aAAa,EACbC,UAAUrB,IAAI,EACd,GAAGsB,WACJ,GAAGpB;IAEJ,qBACE,KAACH;QACE,GAAGuB,SAAS;QACbnB,KAAKA;QACLoB,QAAQ;QACRC,WAAW;QACXH,SAAS,CAACI;YACRA,MAAMC,eAAe;YACrBL,QAAQI;QACV;kBAEA,cAAA,KAAC3B;YACC6B,cAAYtB;YACZuB,mBAAiBxB;YACjByB,iBAAetB;YACfC,MAAMA;YACNC,MAAMA;YACNC,WAAWA;YACXC,WAAWA;YACXC,eAAeA;YACfC,aAAaA;YACbC,mBAAmBA;YACnBC,OAAOA;YACPC,SAASA;YACTE,gBAAgBA;YAChBD,UAAUA;YACVE,eAAeA;YACd,GAAGC,aAAa;;;AAIzB,GAAG"}
@@ -1,10 +1,4 @@
1
1
  import { type HTMLAttributes } from "react";
2
- /**
3
- * @remarks \@since 6.0.0
4
- */
5
- export declare function tableContainer({ className }: {
6
- className?: string;
7
- }): string;
8
2
  export type TableContainerProps = HTMLAttributes<HTMLDivElement>;
9
3
  /**
10
4
  * **Client Component**
@@ -1,14 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cnb } from "cnbuilder";
4
3
  import { forwardRef, useMemo } from "react";
5
4
  import { useEnsuredRef } from "../useEnsuredRef.js";
6
5
  import { TableContainerProvider } from "./TableContainerProvider.js";
7
- /**
8
- * @remarks \@since 6.0.0
9
- */ export function tableContainer({ className }) {
10
- return cnb("rmd-table-container", className);
11
- }
6
+ import { tableContainer } from "./tableContainerStyles.js";
12
7
  /**
13
8
  * **Client Component**
14
9
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/table/TableContainer.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, useMemo, type HTMLAttributes } from \"react\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport {\n TableContainerProvider,\n type TableContainerContext,\n} from \"./TableContainerProvider.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tableContainer({ className }: { className?: string }): string {\n return cnb(\"rmd-table-container\", className);\n}\n\nexport type TableContainerProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * **Client Component**\n *\n * An extremely \"useful\" component that should be used with the `Table`\n * component if you want to make a responsive table within the page. If you\n * don't want to use this component, you can just apply `overflow: auto` to a\n * parent element of the table.\n */\nexport const TableContainer = forwardRef<HTMLDivElement, TableContainerProps>(\n function TableContainer(props, ref) {\n const { className, children, ...remaining } = props;\n const [nodeRef, refCallback] = useEnsuredRef(ref);\n\n const value = useMemo<TableContainerContext>(\n () => ({\n exists: true,\n containerRef: nodeRef,\n }),\n [nodeRef]\n );\n\n return (\n <TableContainerProvider value={value}>\n <div\n {...remaining}\n ref={refCallback}\n className={tableContainer({ className })}\n >\n {children}\n </div>\n </TableContainerProvider>\n );\n }\n);\n"],"names":["cnb","forwardRef","useMemo","useEnsuredRef","TableContainerProvider","tableContainer","className","TableContainer","props","ref","children","remaining","nodeRef","refCallback","value","exists","containerRef","div"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,EAAEC,OAAO,QAA6B,QAAQ;AACjE,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SACEC,sBAAsB,QAEjB,8BAA8B;AAErC;;CAEC,GACD,OAAO,SAASC,eAAe,EAAEC,SAAS,EAA0B;IAClE,OAAON,IAAI,uBAAuBM;AACpC;AAIA;;;;;;;CAOC,GACD,OAAO,MAAMC,+BAAiBN,WAC5B,SAASM,eAAeC,KAAK,EAAEC,GAAG;IAChC,MAAM,EAAEH,SAAS,EAAEI,QAAQ,EAAE,GAAGC,WAAW,GAAGH;IAC9C,MAAM,CAACI,SAASC,YAAY,GAAGV,cAAcM;IAE7C,MAAMK,QAAQZ,QACZ,IAAO,CAAA;YACLa,QAAQ;YACRC,cAAcJ;QAChB,CAAA,GACA;QAACA;KAAQ;IAGX,qBACE,KAACR;QAAuBU,OAAOA;kBAC7B,cAAA,KAACG;YACE,GAAGN,SAAS;YACbF,KAAKI;YACLP,WAAWD,eAAe;gBAAEC;YAAU;sBAErCI;;;AAIT,GACA"}
1
+ {"version":3,"sources":["../../src/table/TableContainer.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, useMemo, type HTMLAttributes } from \"react\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport {\n TableContainerProvider,\n type TableContainerContext,\n} from \"./TableContainerProvider.js\";\nimport { tableContainer } from \"./tableContainerStyles.js\";\n\nexport type TableContainerProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * **Client Component**\n *\n * An extremely \"useful\" component that should be used with the `Table`\n * component if you want to make a responsive table within the page. If you\n * don't want to use this component, you can just apply `overflow: auto` to a\n * parent element of the table.\n */\nexport const TableContainer = forwardRef<HTMLDivElement, TableContainerProps>(\n function TableContainer(props, ref) {\n const { className, children, ...remaining } = props;\n const [nodeRef, refCallback] = useEnsuredRef(ref);\n\n const value = useMemo<TableContainerContext>(\n () => ({\n exists: true,\n containerRef: nodeRef,\n }),\n [nodeRef]\n );\n\n return (\n <TableContainerProvider value={value}>\n <div\n {...remaining}\n ref={refCallback}\n className={tableContainer({ className })}\n >\n {children}\n </div>\n </TableContainerProvider>\n );\n }\n);\n"],"names":["forwardRef","useMemo","useEnsuredRef","TableContainerProvider","tableContainer","TableContainer","props","ref","className","children","remaining","nodeRef","refCallback","value","exists","containerRef","div"],"mappings":"AAAA;;AACA,SAASA,UAAU,EAAEC,OAAO,QAA6B,QAAQ;AACjE,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SACEC,sBAAsB,QAEjB,8BAA8B;AACrC,SAASC,cAAc,QAAQ,4BAA4B;AAI3D;;;;;;;CAOC,GACD,OAAO,MAAMC,+BAAiBL,WAC5B,SAASK,eAAeC,KAAK,EAAEC,GAAG;IAChC,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGC,WAAW,GAAGJ;IAC9C,MAAM,CAACK,SAASC,YAAY,GAAGV,cAAcK;IAE7C,MAAMM,QAAQZ,QACZ,IAAO,CAAA;YACLa,QAAQ;YACRC,cAAcJ;QAChB,CAAA,GACA;QAACA;KAAQ;IAGX,qBACE,KAACR;QAAuBU,OAAOA;kBAC7B,cAAA,KAACG;YACE,GAAGN,SAAS;YACbH,KAAKK;YACLJ,WAAWJ,eAAe;gBAAEI;YAAU;sBAErCC;;;AAIT,GACA"}
@@ -1,6 +1,10 @@
1
1
  import { type HTMLAttributes } from "react";
2
2
  import { type TableCellConfig } from "./TableConfigurationProvider.js";
3
- import { type TableStickySectionProps } from "./types.js";
3
+ import { type IsStickyTableSectionActive, type TableStickySectionProps } from "./types.js";
4
+ /**
5
+ * @remarks \@since 6.0.0
6
+ */
7
+ export declare const isTableFooterStickyActive: IsStickyTableSectionActive;
4
8
  /**
5
9
  * @remarks \@since 6.0.0 Added support for "sticky-active" state.
6
10
  */
@@ -13,6 +17,8 @@ export interface TableFooterProps extends HTMLAttributes<HTMLTableSectionElement
13
17
  * @defaultValue `false`
14
18
  */
15
19
  hoverable?: boolean;
20
+ /** @defaultValue {@link isTableFooterStickyActive} */
21
+ isStickyActive?: IsStickyTableSectionActive;
16
22
  }
17
23
  /**
18
24
  * **Client Component**
@@ -1,13 +1,20 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cnb } from "cnbuilder";
4
3
  import { forwardRef, useCallback, useMemo, useState } from "react";
5
4
  import { useEnsuredRef } from "../useEnsuredRef.js";
6
5
  import { useIntersectionObserver } from "../useIntersectionObserver.js";
7
- import { bem } from "../utils/bem.js";
8
6
  import { TableConfigProvider, useTableConfig } from "./TableConfigurationProvider.js";
9
7
  import { useTableContainer } from "./TableContainerProvider.js";
10
- const styles = bem("rmd-tfoot");
8
+ import { tableFooter } from "./tableFooterStyles.js";
9
+ /**
10
+ * @remarks \@since 6.0.0
11
+ */ export const isTableFooterStickyActive = (entry, isInTableContainer)=>{
12
+ const { intersectionRatio, boundingClientRect, isIntersecting } = entry;
13
+ if (isInTableContainer) {
14
+ return !isIntersecting;
15
+ }
16
+ return intersectionRatio < 1 && boundingClientRect.top >= 0;
17
+ };
11
18
  /**
12
19
  * **Client Component**
13
20
  * TODO: Create separate useStickyTableFooter + StickyTableFooter component
@@ -17,7 +24,7 @@ const styles = bem("rmd-tfoot");
17
24
  * and line-wrapping can be re-enabled if desired through the `hoverable` and
18
25
  * `disableNoWrap` props.
19
26
  */ export const TableFooter = /*#__PURE__*/ forwardRef(function TableFooter(props, propRef) {
20
- const { className, hoverable = false, lineWrap: propLineWrap, children, sticky = false, stickyOptions, isStickyActive, disableStickyStyles = false, ...remaining } = props;
27
+ const { className, hoverable = false, lineWrap: propLineWrap, children, sticky = false, stickyOptions, isStickyActive = isTableFooterStickyActive, disableStickyStyles = false, stickyActiveClassName, ...remaining } = props;
21
28
  // update the table configuration with the custom overrides for the `<tfoot>`
22
29
  const { dense, hAlign, vAlign, lineWrap, disableHover, disableBorders } = useTableConfig({
23
30
  lineWrap: propLineWrap,
@@ -55,15 +62,7 @@ const styles = bem("rmd-tfoot");
55
62
  tfootRef
56
63
  ]),
57
64
  onUpdate: useCallback(([entry])=>{
58
- if (typeof isStickyActive === "function") {
59
- return isStickyActive(entry);
60
- }
61
- const { intersectionRatio, boundingClientRect, isIntersecting } = entry;
62
- if (exists) {
63
- setStickyActive(!isIntersecting);
64
- return;
65
- }
66
- setStickyActive(intersectionRatio < 1 && boundingClientRect.top >= 0);
65
+ setStickyActive(isStickyActive(entry, exists));
67
66
  }, [
68
67
  exists,
69
68
  isStickyActive
@@ -83,10 +82,12 @@ const styles = bem("rmd-tfoot");
83
82
  /*#__PURE__*/ _jsx("tfoot", {
84
83
  ...remaining,
85
84
  ref: exists ? tfootRefCallback : targetRef,
86
- className: cnb(styles({
85
+ className: tableFooter({
86
+ className,
87
87
  sticky,
88
- "sticky-active": stickyActive
89
- }), className),
88
+ stickyActive,
89
+ stickyActiveClassName
90
+ }),
90
91
  children: children
91
92
  })
92
93
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/table/TableFooter.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n type HTMLAttributes,\n} from \"react\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useIntersectionObserver } from \"../useIntersectionObserver.js\";\nimport { bem } from \"../utils/bem.js\";\nimport {\n TableConfigProvider,\n useTableConfig,\n type TableCellConfig,\n type TableConfigContext,\n} from \"./TableConfigurationProvider.js\";\nimport { useTableContainer } from \"./TableContainerProvider.js\";\nimport { type TableStickySectionProps } from \"./types.js\";\n\nconst styles = bem(\"rmd-tfoot\");\n\n/**\n * @remarks \\@since 6.0.0 Added support for \"sticky-active\" state.\n */\nexport interface TableFooterProps\n extends HTMLAttributes<HTMLTableSectionElement>,\n Pick<TableCellConfig, \"lineWrap\">,\n TableStickySectionProps {\n /**\n * This is a rename of the `disableHover` of the `TableConfig` since table\n * footers are not hoverable by default. This prop can be enabled to add the\n * row hover color within table footers, but it is not really recommended.\n *\n * @defaultValue `false`\n */\n hoverable?: boolean;\n}\n\n/**\n * **Client Component**\n * TODO: Create separate useStickyTableFooter + StickyTableFooter component\n *\n * Creates a `<tfoot>` element with some basic styles. This component will\n * disable the hover effect and line wrapping by default, but the hover effect\n * and line-wrapping can be re-enabled if desired through the `hoverable` and\n * `disableNoWrap` props.\n */\nexport const TableFooter = forwardRef<\n HTMLTableSectionElement,\n TableFooterProps\n>(function TableFooter(props, propRef) {\n const {\n className,\n hoverable = false,\n lineWrap: propLineWrap,\n children,\n sticky = false,\n stickyOptions,\n isStickyActive,\n disableStickyStyles = false,\n ...remaining\n } = props;\n\n // update the table configuration with the custom overrides for the `<tfoot>`\n const { dense, hAlign, vAlign, lineWrap, disableHover, disableBorders } =\n useTableConfig({\n lineWrap: propLineWrap,\n disableHover: !hoverable,\n });\n\n const configuration = useMemo<TableConfigContext>(\n () => ({\n dense,\n header: false,\n hAlign,\n vAlign,\n lineWrap,\n disableBorders,\n disableHover,\n }),\n [dense, hAlign, vAlign, lineWrap, disableBorders, disableHover]\n );\n\n const [tfootRef, tfootRefCallback] = useEnsuredRef(propRef);\n const { exists, containerRef } = useTableContainer();\n const [stickyActive, setStickyActive] = useState(false);\n const targetRef = useIntersectionObserver<\n HTMLTableSectionElement | HTMLElement\n >({\n ref: exists ? undefined : tfootRefCallback,\n root: containerRef,\n disabled: !sticky || disableStickyStyles,\n threshold: exists ? 0 : 1,\n getRootMargin: useCallback(() => {\n const topOffset =\n exists && tfootRef.current ? tfootRef.current.offsetHeight - 1 : 1;\n\n return `0px 0px -${topOffset}px 0px`;\n }, [exists, tfootRef]),\n onUpdate: useCallback(\n ([entry]) => {\n if (typeof isStickyActive === \"function\") {\n return isStickyActive(entry);\n }\n\n const { intersectionRatio, boundingClientRect, isIntersecting } = entry;\n if (exists) {\n setStickyActive(!isIntersecting);\n return;\n }\n\n setStickyActive(intersectionRatio < 1 && boundingClientRect.top >= 0);\n },\n [exists, isStickyActive]\n ),\n // allow the user defined sticky options to override the default behavior\n ...stickyOptions,\n });\n\n return (\n <TableConfigProvider value={configuration}>\n {exists && sticky && !disableStickyStyles && (\n // rendering a `<tbody>` since it is valid to have 0-many in a table\n // https://html.spec.whatwg.org/multipage/tables.html#the-table-element\n <tbody aria-hidden ref={targetRef} />\n )}\n <tfoot\n {...remaining}\n ref={exists ? tfootRefCallback : targetRef}\n className={cnb(\n styles({\n sticky,\n \"sticky-active\": stickyActive,\n }),\n className\n )}\n >\n {children}\n </tfoot>\n </TableConfigProvider>\n );\n});\n"],"names":["cnb","forwardRef","useCallback","useMemo","useState","useEnsuredRef","useIntersectionObserver","bem","TableConfigProvider","useTableConfig","useTableContainer","styles","TableFooter","props","propRef","className","hoverable","lineWrap","propLineWrap","children","sticky","stickyOptions","isStickyActive","disableStickyStyles","remaining","dense","hAlign","vAlign","disableHover","disableBorders","configuration","header","tfootRef","tfootRefCallback","exists","containerRef","stickyActive","setStickyActive","targetRef","ref","undefined","root","disabled","threshold","getRootMargin","topOffset","current","offsetHeight","onUpdate","entry","intersectionRatio","boundingClientRect","isIntersecting","top","value","tbody","aria-hidden","tfoot"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,EACVC,WAAW,EACXC,OAAO,EACPC,QAAQ,QAEH,QAAQ;AACf,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SACEC,mBAAmB,EACnBC,cAAc,QAGT,kCAAkC;AACzC,SAASC,iBAAiB,QAAQ,8BAA8B;AAGhE,MAAMC,SAASJ,IAAI;AAmBnB;;;;;;;;CAQC,GACD,OAAO,MAAMK,4BAAcX,WAGzB,SAASW,YAAYC,KAAK,EAAEC,OAAO;IACnC,MAAM,EACJC,SAAS,EACTC,YAAY,KAAK,EACjBC,UAAUC,YAAY,EACtBC,QAAQ,EACRC,SAAS,KAAK,EACdC,aAAa,EACbC,cAAc,EACdC,sBAAsB,KAAK,EAC3B,GAAGC,WACJ,GAAGX;IAEJ,6EAA6E;IAC7E,MAAM,EAAEY,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAEV,QAAQ,EAAEW,YAAY,EAAEC,cAAc,EAAE,GACrEpB,eAAe;QACbQ,UAAUC;QACVU,cAAc,CAACZ;IACjB;IAEF,MAAMc,gBAAgB3B,QACpB,IAAO,CAAA;YACLsB;YACAM,QAAQ;YACRL;YACAC;YACAV;YACAY;YACAD;QACF,CAAA,GACA;QAACH;QAAOC;QAAQC;QAAQV;QAAUY;QAAgBD;KAAa;IAGjE,MAAM,CAACI,UAAUC,iBAAiB,GAAG5B,cAAcS;IACnD,MAAM,EAAEoB,MAAM,EAAEC,YAAY,EAAE,GAAGzB;IACjC,MAAM,CAAC0B,cAAcC,gBAAgB,GAAGjC,SAAS;IACjD,MAAMkC,YAAYhC,wBAEhB;QACAiC,KAAKL,SAASM,YAAYP;QAC1BQ,MAAMN;QACNO,UAAU,CAACtB,UAAUG;QACrBoB,WAAWT,SAAS,IAAI;QACxBU,eAAe1C,YAAY;YACzB,MAAM2C,YACJX,UAAUF,SAASc,OAAO,GAAGd,SAASc,OAAO,CAACC,YAAY,GAAG,IAAI;YAEnE,OAAO,CAAC,SAAS,EAAEF,UAAU,MAAM,CAAC;QACtC,GAAG;YAACX;YAAQF;SAAS;QACrBgB,UAAU9C,YACR,CAAC,CAAC+C,MAAM;YACN,IAAI,OAAO3B,mBAAmB,YAAY;gBACxC,OAAOA,eAAe2B;YACxB;YAEA,MAAM,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAEC,cAAc,EAAE,GAAGH;YAClE,IAAIf,QAAQ;gBACVG,gBAAgB,CAACe;gBACjB;YACF;YAEAf,gBAAgBa,oBAAoB,KAAKC,mBAAmBE,GAAG,IAAI;QACrE,GACA;YAACnB;YAAQZ;SAAe;QAE1B,yEAAyE;QACzE,GAAGD,aAAa;IAClB;IAEA,qBACE,MAACb;QAAoB8C,OAAOxB;;YACzBI,UAAUd,UAAU,CAACG,uBACpB,oEAAoE;YACpE,uEAAuE;0BACvE,KAACgC;gBAAMC,aAAW;gBAACjB,KAAKD;;0BAE1B,KAACmB;gBACE,GAAGjC,SAAS;gBACbe,KAAKL,SAASD,mBAAmBK;gBACjCvB,WAAWf,IACTW,OAAO;oBACLS;oBACA,iBAAiBgB;gBACnB,IACArB;0BAGDI;;;;AAIT,GAAG"}
1
+ {"version":3,"sources":["../../src/table/TableFooter.tsx"],"sourcesContent":["\"use client\";\nimport {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n type HTMLAttributes,\n} from \"react\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useIntersectionObserver } from \"../useIntersectionObserver.js\";\nimport {\n TableConfigProvider,\n useTableConfig,\n type TableCellConfig,\n type TableConfigContext,\n} from \"./TableConfigurationProvider.js\";\nimport { useTableContainer } from \"./TableContainerProvider.js\";\nimport { tableFooter } from \"./tableFooterStyles.js\";\nimport {\n type IsStickyTableSectionActive,\n type TableStickySectionProps,\n} from \"./types.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport const isTableFooterStickyActive: IsStickyTableSectionActive = (\n entry,\n isInTableContainer\n) => {\n const { intersectionRatio, boundingClientRect, isIntersecting } = entry;\n if (isInTableContainer) {\n return !isIntersecting;\n }\n\n return intersectionRatio < 1 && boundingClientRect.top >= 0;\n};\n/**\n * @remarks \\@since 6.0.0 Added support for \"sticky-active\" state.\n */\nexport interface TableFooterProps\n extends HTMLAttributes<HTMLTableSectionElement>,\n Pick<TableCellConfig, \"lineWrap\">,\n TableStickySectionProps {\n /**\n * This is a rename of the `disableHover` of the `TableConfig` since table\n * footers are not hoverable by default. This prop can be enabled to add the\n * row hover color within table footers, but it is not really recommended.\n *\n * @defaultValue `false`\n */\n hoverable?: boolean;\n\n /** @defaultValue {@link isTableFooterStickyActive} */\n isStickyActive?: IsStickyTableSectionActive;\n}\n\n/**\n * **Client Component**\n * TODO: Create separate useStickyTableFooter + StickyTableFooter component\n *\n * Creates a `<tfoot>` element with some basic styles. This component will\n * disable the hover effect and line wrapping by default, but the hover effect\n * and line-wrapping can be re-enabled if desired through the `hoverable` and\n * `disableNoWrap` props.\n */\nexport const TableFooter = forwardRef<\n HTMLTableSectionElement,\n TableFooterProps\n>(function TableFooter(props, propRef) {\n const {\n className,\n hoverable = false,\n lineWrap: propLineWrap,\n children,\n sticky = false,\n stickyOptions,\n isStickyActive = isTableFooterStickyActive,\n disableStickyStyles = false,\n stickyActiveClassName,\n ...remaining\n } = props;\n\n // update the table configuration with the custom overrides for the `<tfoot>`\n const { dense, hAlign, vAlign, lineWrap, disableHover, disableBorders } =\n useTableConfig({\n lineWrap: propLineWrap,\n disableHover: !hoverable,\n });\n\n const configuration = useMemo<TableConfigContext>(\n () => ({\n dense,\n header: false,\n hAlign,\n vAlign,\n lineWrap,\n disableBorders,\n disableHover,\n }),\n [dense, hAlign, vAlign, lineWrap, disableBorders, disableHover]\n );\n\n const [tfootRef, tfootRefCallback] = useEnsuredRef(propRef);\n const { exists, containerRef } = useTableContainer();\n const [stickyActive, setStickyActive] = useState(false);\n const targetRef = useIntersectionObserver<\n HTMLTableSectionElement | HTMLElement\n >({\n ref: exists ? undefined : tfootRefCallback,\n root: containerRef,\n disabled: !sticky || disableStickyStyles,\n threshold: exists ? 0 : 1,\n getRootMargin: useCallback(() => {\n const topOffset =\n exists && tfootRef.current ? tfootRef.current.offsetHeight - 1 : 1;\n\n return `0px 0px -${topOffset}px 0px`;\n }, [exists, tfootRef]),\n onUpdate: useCallback(\n ([entry]) => {\n setStickyActive(isStickyActive(entry, exists));\n },\n [exists, isStickyActive]\n ),\n // allow the user defined sticky options to override the default behavior\n ...stickyOptions,\n });\n\n return (\n <TableConfigProvider value={configuration}>\n {exists && sticky && !disableStickyStyles && (\n // rendering a `<tbody>` since it is valid to have 0-many in a table\n // https://html.spec.whatwg.org/multipage/tables.html#the-table-element\n <tbody aria-hidden ref={targetRef} />\n )}\n <tfoot\n {...remaining}\n ref={exists ? tfootRefCallback : targetRef}\n className={tableFooter({\n className,\n sticky,\n stickyActive,\n stickyActiveClassName,\n })}\n >\n {children}\n </tfoot>\n </TableConfigProvider>\n );\n});\n"],"names":["forwardRef","useCallback","useMemo","useState","useEnsuredRef","useIntersectionObserver","TableConfigProvider","useTableConfig","useTableContainer","tableFooter","isTableFooterStickyActive","entry","isInTableContainer","intersectionRatio","boundingClientRect","isIntersecting","top","TableFooter","props","propRef","className","hoverable","lineWrap","propLineWrap","children","sticky","stickyOptions","isStickyActive","disableStickyStyles","stickyActiveClassName","remaining","dense","hAlign","vAlign","disableHover","disableBorders","configuration","header","tfootRef","tfootRefCallback","exists","containerRef","stickyActive","setStickyActive","targetRef","ref","undefined","root","disabled","threshold","getRootMargin","topOffset","current","offsetHeight","onUpdate","value","tbody","aria-hidden","tfoot"],"mappings":"AAAA;;AACA,SACEA,UAAU,EACVC,WAAW,EACXC,OAAO,EACPC,QAAQ,QAEH,QAAQ;AACf,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SACEC,mBAAmB,EACnBC,cAAc,QAGT,kCAAkC;AACzC,SAASC,iBAAiB,QAAQ,8BAA8B;AAChE,SAASC,WAAW,QAAQ,yBAAyB;AAMrD;;CAEC,GACD,OAAO,MAAMC,4BAAwD,CACnEC,OACAC;IAEA,MAAM,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAEC,cAAc,EAAE,GAAGJ;IAClE,IAAIC,oBAAoB;QACtB,OAAO,CAACG;IACV;IAEA,OAAOF,oBAAoB,KAAKC,mBAAmBE,GAAG,IAAI;AAC5D,EAAE;AAqBF;;;;;;;;CAQC,GACD,OAAO,MAAMC,4BAAcjB,WAGzB,SAASiB,YAAYC,KAAK,EAAEC,OAAO;IACnC,MAAM,EACJC,SAAS,EACTC,YAAY,KAAK,EACjBC,UAAUC,YAAY,EACtBC,QAAQ,EACRC,SAAS,KAAK,EACdC,aAAa,EACbC,iBAAiBjB,yBAAyB,EAC1CkB,sBAAsB,KAAK,EAC3BC,qBAAqB,EACrB,GAAGC,WACJ,GAAGZ;IAEJ,6EAA6E;IAC7E,MAAM,EAAEa,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAEX,QAAQ,EAAEY,YAAY,EAAEC,cAAc,EAAE,GACrE5B,eAAe;QACbe,UAAUC;QACVW,cAAc,CAACb;IACjB;IAEF,MAAMe,gBAAgBlC,QACpB,IAAO,CAAA;YACL6B;YACAM,QAAQ;YACRL;YACAC;YACAX;YACAa;YACAD;QACF,CAAA,GACA;QAACH;QAAOC;QAAQC;QAAQX;QAAUa;QAAgBD;KAAa;IAGjE,MAAM,CAACI,UAAUC,iBAAiB,GAAGnC,cAAce;IACnD,MAAM,EAAEqB,MAAM,EAAEC,YAAY,EAAE,GAAGjC;IACjC,MAAM,CAACkC,cAAcC,gBAAgB,GAAGxC,SAAS;IACjD,MAAMyC,YAAYvC,wBAEhB;QACAwC,KAAKL,SAASM,YAAYP;QAC1BQ,MAAMN;QACNO,UAAU,CAACvB,UAAUG;QACrBqB,WAAWT,SAAS,IAAI;QACxBU,eAAejD,YAAY;YACzB,MAAMkD,YACJX,UAAUF,SAASc,OAAO,GAAGd,SAASc,OAAO,CAACC,YAAY,GAAG,IAAI;YAEnE,OAAO,CAAC,SAAS,EAAEF,UAAU,MAAM,CAAC;QACtC,GAAG;YAACX;YAAQF;SAAS;QACrBgB,UAAUrD,YACR,CAAC,CAACU,MAAM;YACNgC,gBAAgBhB,eAAehB,OAAO6B;QACxC,GACA;YAACA;YAAQb;SAAe;QAE1B,yEAAyE;QACzE,GAAGD,aAAa;IAClB;IAEA,qBACE,MAACpB;QAAoBiD,OAAOnB;;YACzBI,UAAUf,UAAU,CAACG,uBACpB,oEAAoE;YACpE,uEAAuE;0BACvE,KAAC4B;gBAAMC,aAAW;gBAACZ,KAAKD;;0BAE1B,KAACc;gBACE,GAAG5B,SAAS;gBACbe,KAAKL,SAASD,mBAAmBK;gBACjCxB,WAAWX,YAAY;oBACrBW;oBACAK;oBACAiB;oBACAb;gBACF;0BAECL;;;;AAIT,GAAG"}
@@ -1,15 +1,10 @@
1
1
  import { type HTMLAttributes } from "react";
2
2
  import { type TableCellConfig } from "./TableConfigurationProvider.js";
3
- import { type TableStickySectionProps } from "./types.js";
4
- /** @remarks \@since 6.0.0 */
5
- export interface TableHeaderClassNameOptions {
6
- className?: string;
7
- dense?: boolean;
8
- sticky?: boolean;
9
- stickyActive?: boolean;
10
- }
11
- /** @remarks \@since 6.0.0 */
12
- export declare function tableHeader(options?: TableHeaderClassNameOptions): string;
3
+ import { type IsStickyTableSectionActive, type TableStickySectionProps } from "./types.js";
4
+ /**
5
+ * @remarks \@since 6.0.0
6
+ */
7
+ export declare const isTableHeaderStickyActive: IsStickyTableSectionActive;
13
8
  /**
14
9
  * @remarks \@since 6.0.0 Added support for "sticky-active" state.
15
10
  */
@@ -22,11 +17,9 @@ export interface TableHeaderProps extends HTMLAttributes<HTMLTableSectionElement
22
17
  * @defaultValue `false`
23
18
  */
24
19
  hoverable?: boolean;
20
+ /** @defaultValue {@link isTableHeaderStickyActive} */
21
+ isStickyActive?: IsStickyTableSectionActive;
25
22
  }
26
- /**
27
- * @remarks \@since 6.0.0
28
- */
29
- export declare const isTableHeaderStickyActive: (entry: IntersectionObserverEntry) => boolean;
30
23
  /**
31
24
  * **Client Component**
32
25
  * TODO: Create separate useStickyTableHeader + StickyTableHeader component
@@ -1,21 +1,11 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cnb } from "cnbuilder";
4
3
  import { forwardRef, useCallback, useMemo, useState } from "react";
5
4
  import { useEnsuredRef } from "../useEnsuredRef.js";
6
5
  import { useIntersectionObserver } from "../useIntersectionObserver.js";
7
- import { bem } from "../utils/bem.js";
8
6
  import { TableConfigProvider, useTableConfig } from "./TableConfigurationProvider.js";
9
7
  import { useTableContainer } from "./TableContainerProvider.js";
10
- const styles = bem("rmd-thead");
11
- /** @remarks \@since 6.0.0 */ export function tableHeader(options = {}) {
12
- const { dense, sticky, stickyActive, className } = options;
13
- return cnb(styles({
14
- dense,
15
- sticky,
16
- "sticky-active": stickyActive
17
- }), className);
18
- }
8
+ import { tableHeader } from "./tableHeaderStyles.js";
19
9
  /**
20
10
  * @remarks \@since 6.0.0
21
11
  */ export const isTableHeaderStickyActive = (entry)=>{
@@ -32,7 +22,7 @@ const styles = bem("rmd-thead");
32
22
  * line-wrapping can be re-enabled if desired through the `hoverable` and
33
23
  * `disableNoWrap` props.
34
24
  */ export const TableHeader = /*#__PURE__*/ forwardRef(function TableHeader(props, propRef) {
35
- const { className, hoverable = false, lineWrap: propLineWrap, children, sticky = false, stickyOptions, isStickyActive = isTableHeaderStickyActive, disableStickyStyles = false, ...remaining } = props;
25
+ const { className, hoverable = false, lineWrap: propLineWrap, children, sticky = false, stickyOptions, isStickyActive = isTableHeaderStickyActive, disableStickyStyles = false, stickyActiveClassName, ...remaining } = props;
36
26
  // update the table configuration with the custom overrides for the `<thead>`
37
27
  const { dense, hAlign, vAlign, lineWrap, disableHover, disableBorders } = useTableConfig({
38
28
  lineWrap: propLineWrap,
@@ -80,8 +70,9 @@ const styles = bem("rmd-thead");
80
70
  theadRef
81
71
  ]),
82
72
  onUpdate: useCallback(([entry])=>{
83
- setStickyActive(isStickyActive(entry));
73
+ setStickyActive(isStickyActive(entry, exists));
84
74
  }, [
75
+ exists,
85
76
  isStickyActive
86
77
  ]),
87
78
  // allow the user defined sticky options to override the default behavior
@@ -94,10 +85,11 @@ const styles = bem("rmd-thead");
94
85
  ...remaining,
95
86
  ref: exists ? theadRefCallback : targetRef,
96
87
  className: tableHeader({
88
+ className,
97
89
  dense,
98
90
  sticky,
99
91
  stickyActive,
100
- className
92
+ stickyActiveClassName
101
93
  }),
102
94
  children: children
103
95
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/table/TableHeader.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n type HTMLAttributes,\n} from \"react\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useIntersectionObserver } from \"../useIntersectionObserver.js\";\nimport { bem } from \"../utils/bem.js\";\nimport {\n TableConfigProvider,\n useTableConfig,\n type TableCellConfig,\n type TableConfigContext,\n} from \"./TableConfigurationProvider.js\";\nimport { useTableContainer } from \"./TableContainerProvider.js\";\nimport { type TableStickySectionProps } from \"./types.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}\n\n/** @remarks \\@since 6.0.0 */\nexport function tableHeader(options: TableHeaderClassNameOptions = {}): string {\n const { dense, sticky, stickyActive, className } = options;\n\n return cnb(\n styles({\n dense,\n sticky,\n \"sticky-active\": stickyActive,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0 Added support for \"sticky-active\" state.\n */\nexport interface TableHeaderProps\n extends HTMLAttributes<HTMLTableSectionElement>,\n Pick<TableCellConfig, \"lineWrap\">,\n TableStickySectionProps {\n /**\n * This is a rename of the `disableHover` of the `TableConfig` since table\n * headers are not hoverable by default. This prop can be enabled to add the\n * row hover color within table headers, but it is not really recommended.\n *\n * @defaultValue `false`\n */\n hoverable?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport const isTableHeaderStickyActive = (\n entry: IntersectionObserverEntry\n): boolean => {\n return (\n entry.intersectionRatio < 1 &&\n entry.boundingClientRect.bottom <= window.innerHeight\n );\n};\n\n/**\n * **Client Component**\n * TODO: Create separate useStickyTableHeader + StickyTableHeader component\n *\n * Creates a `<thead>` element with some basic styles. This component will also\n * update the table configuration so that all the `TableCell` children will\n * automatically become `<th>` elements instead of the normal `<td>` as well as\n * disabling the hover effect and line wrapping. The hover effect and\n * line-wrapping can be re-enabled if desired through the `hoverable` and\n * `disableNoWrap` props.\n */\nexport const TableHeader = forwardRef<\n HTMLTableSectionElement,\n TableHeaderProps\n>(function TableHeader(props, propRef) {\n const {\n className,\n hoverable = false,\n lineWrap: propLineWrap,\n children,\n sticky = false,\n stickyOptions,\n isStickyActive = isTableHeaderStickyActive,\n disableStickyStyles = false,\n ...remaining\n } = props;\n\n // update the table configuration with the custom overrides for the `<thead>`\n const { dense, hAlign, vAlign, lineWrap, disableHover, disableBorders } =\n useTableConfig({\n lineWrap: propLineWrap,\n disableHover: !hoverable,\n });\n\n const configuration = useMemo<TableConfigContext>(\n () => ({\n dense,\n header: true,\n hAlign,\n vAlign,\n lineWrap,\n disableBorders,\n disableHover,\n }),\n [dense, hAlign, vAlign, lineWrap, disableBorders, disableHover]\n );\n\n const [theadRef, theadRefCallback] = useEnsuredRef(propRef);\n const { exists, containerRef } = useTableContainer();\n const [stickyActive, setStickyActive] = useState(false);\n const targetRef = useIntersectionObserver({\n ref: exists ? undefined : theadRefCallback,\n root: containerRef,\n disabled: !sticky || disableStickyStyles,\n threshold: exists ? 0 : 1,\n getRootMargin: useCallback(() => {\n const thead = theadRef.current;\n if (!thead) {\n return;\n }\n\n let topOffset: number;\n if (exists) {\n topOffset = thead.offsetHeight - 1;\n } else {\n const top = parseFloat(window.getComputedStyle(thead).top);\n topOffset = Number.isNaN(top) ? 1 : top + 1;\n }\n\n return `-${topOffset}px 0px 0px`;\n }, [exists, theadRef]),\n onUpdate: useCallback(\n ([entry]) => {\n setStickyActive(isStickyActive(entry));\n },\n [isStickyActive]\n ),\n // allow the user defined sticky options to override the default behavior\n ...stickyOptions,\n });\n\n return (\n <TableConfigProvider value={configuration}>\n <thead\n {...remaining}\n ref={exists ? theadRefCallback : targetRef}\n className={tableHeader({\n dense,\n sticky,\n stickyActive,\n className,\n })}\n >\n {children}\n </thead>\n {exists && sticky && !disableStickyStyles && (\n // rendering a `<tbody>` since it is valid to have 0-many in a table\n // https://html.spec.whatwg.org/multipage/tables.html#the-table-element\n <tbody aria-hidden ref={targetRef} />\n )}\n </TableConfigProvider>\n );\n});\n"],"names":["cnb","forwardRef","useCallback","useMemo","useState","useEnsuredRef","useIntersectionObserver","bem","TableConfigProvider","useTableConfig","useTableContainer","styles","tableHeader","options","dense","sticky","stickyActive","className","isTableHeaderStickyActive","entry","intersectionRatio","boundingClientRect","bottom","window","innerHeight","TableHeader","props","propRef","hoverable","lineWrap","propLineWrap","children","stickyOptions","isStickyActive","disableStickyStyles","remaining","hAlign","vAlign","disableHover","disableBorders","configuration","header","theadRef","theadRefCallback","exists","containerRef","setStickyActive","targetRef","ref","undefined","root","disabled","threshold","getRootMargin","thead","current","topOffset","offsetHeight","top","parseFloat","getComputedStyle","Number","isNaN","onUpdate","value","tbody","aria-hidden"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,EACVC,WAAW,EACXC,OAAO,EACPC,QAAQ,QAEH,QAAQ;AACf,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SACEC,mBAAmB,EACnBC,cAAc,QAGT,kCAAkC;AACzC,SAASC,iBAAiB,QAAQ,8BAA8B;AAGhE,MAAMC,SAASJ,IAAI;AAUnB,2BAA2B,GAC3B,OAAO,SAASK,YAAYC,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,YAAY,EAAEC,SAAS,EAAE,GAAGJ;IAEnD,OAAOb,IACLW,OAAO;QACLG;QACAC;QACA,iBAAiBC;IACnB,IACAC;AAEJ;AAmBA;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CACvCC;IAEA,OACEA,MAAMC,iBAAiB,GAAG,KAC1BD,MAAME,kBAAkB,CAACC,MAAM,IAAIC,OAAOC,WAAW;AAEzD,EAAE;AAEF;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,4BAAcxB,WAGzB,SAASwB,YAAYC,KAAK,EAAEC,OAAO;IACnC,MAAM,EACJV,SAAS,EACTW,YAAY,KAAK,EACjBC,UAAUC,YAAY,EACtBC,QAAQ,EACRhB,SAAS,KAAK,EACdiB,aAAa,EACbC,iBAAiBf,yBAAyB,EAC1CgB,sBAAsB,KAAK,EAC3B,GAAGC,WACJ,GAAGT;IAEJ,6EAA6E;IAC7E,MAAM,EAAEZ,KAAK,EAAEsB,MAAM,EAAEC,MAAM,EAAER,QAAQ,EAAES,YAAY,EAAEC,cAAc,EAAE,GACrE9B,eAAe;QACboB,UAAUC;QACVQ,cAAc,CAACV;IACjB;IAEF,MAAMY,gBAAgBrC,QACpB,IAAO,CAAA;YACLW;YACA2B,QAAQ;YACRL;YACAC;YACAR;YACAU;YACAD;QACF,CAAA,GACA;QAACxB;QAAOsB;QAAQC;QAAQR;QAAUU;QAAgBD;KAAa;IAGjE,MAAM,CAACI,UAAUC,iBAAiB,GAAGtC,cAAcsB;IACnD,MAAM,EAAEiB,MAAM,EAAEC,YAAY,EAAE,GAAGnC;IACjC,MAAM,CAACM,cAAc8B,gBAAgB,GAAG1C,SAAS;IACjD,MAAM2C,YAAYzC,wBAAwB;QACxC0C,KAAKJ,SAASK,YAAYN;QAC1BO,MAAML;QACNM,UAAU,CAACpC,UAAUmB;QACrBkB,WAAWR,SAAS,IAAI;QACxBS,eAAenD,YAAY;YACzB,MAAMoD,QAAQZ,SAASa,OAAO;YAC9B,IAAI,CAACD,OAAO;gBACV;YACF;YAEA,IAAIE;YACJ,IAAIZ,QAAQ;gBACVY,YAAYF,MAAMG,YAAY,GAAG;YACnC,OAAO;gBACL,MAAMC,MAAMC,WAAWpC,OAAOqC,gBAAgB,CAACN,OAAOI,GAAG;gBACzDF,YAAYK,OAAOC,KAAK,CAACJ,OAAO,IAAIA,MAAM;YAC5C;YAEA,OAAO,CAAC,CAAC,EAAEF,UAAU,UAAU,CAAC;QAClC,GAAG;YAACZ;YAAQF;SAAS;QACrBqB,UAAU7D,YACR,CAAC,CAACiB,MAAM;YACN2B,gBAAgBb,eAAed;QACjC,GACA;YAACc;SAAe;QAElB,yEAAyE;QACzE,GAAGD,aAAa;IAClB;IAEA,qBACE,MAACxB;QAAoBwD,OAAOxB;;0BAC1B,KAACc;gBACE,GAAGnB,SAAS;gBACba,KAAKJ,SAASD,mBAAmBI;gBACjC9B,WAAWL,YAAY;oBACrBE;oBACAC;oBACAC;oBACAC;gBACF;0BAECc;;YAEFa,UAAU7B,UAAU,CAACmB,uBACpB,oEAAoE;YACpE,uEAAuE;0BACvE,KAAC+B;gBAAMC,aAAW;gBAAClB,KAAKD;;;;AAIhC,GAAG"}
1
+ {"version":3,"sources":["../../src/table/TableHeader.tsx"],"sourcesContent":["\"use client\";\nimport {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n type HTMLAttributes,\n} from \"react\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useIntersectionObserver } from \"../useIntersectionObserver.js\";\nimport {\n TableConfigProvider,\n useTableConfig,\n type TableCellConfig,\n type TableConfigContext,\n} from \"./TableConfigurationProvider.js\";\nimport { useTableContainer } from \"./TableContainerProvider.js\";\nimport { tableHeader } from \"./tableHeaderStyles.js\";\nimport {\n type IsStickyTableSectionActive,\n type TableStickySectionProps,\n} from \"./types.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport const isTableHeaderStickyActive: IsStickyTableSectionActive = (\n entry\n) => {\n return (\n entry.intersectionRatio < 1 &&\n entry.boundingClientRect.bottom <= window.innerHeight\n );\n};\n\n/**\n * @remarks \\@since 6.0.0 Added support for \"sticky-active\" state.\n */\nexport interface TableHeaderProps\n extends HTMLAttributes<HTMLTableSectionElement>,\n Pick<TableCellConfig, \"lineWrap\">,\n TableStickySectionProps {\n /**\n * This is a rename of the `disableHover` of the `TableConfig` since table\n * headers are not hoverable by default. This prop can be enabled to add the\n * row hover color within table headers, but it is not really recommended.\n *\n * @defaultValue `false`\n */\n hoverable?: boolean;\n\n /** @defaultValue {@link isTableHeaderStickyActive} */\n isStickyActive?: IsStickyTableSectionActive;\n}\n\n/**\n * **Client Component**\n * TODO: Create separate useStickyTableHeader + StickyTableHeader component\n *\n * Creates a `<thead>` element with some basic styles. This component will also\n * update the table configuration so that all the `TableCell` children will\n * automatically become `<th>` elements instead of the normal `<td>` as well as\n * disabling the hover effect and line wrapping. The hover effect and\n * line-wrapping can be re-enabled if desired through the `hoverable` and\n * `disableNoWrap` props.\n */\nexport const TableHeader = forwardRef<\n HTMLTableSectionElement,\n TableHeaderProps\n>(function TableHeader(props, propRef) {\n const {\n className,\n hoverable = false,\n lineWrap: propLineWrap,\n children,\n sticky = false,\n stickyOptions,\n isStickyActive = isTableHeaderStickyActive,\n disableStickyStyles = false,\n stickyActiveClassName,\n ...remaining\n } = props;\n\n // update the table configuration with the custom overrides for the `<thead>`\n const { dense, hAlign, vAlign, lineWrap, disableHover, disableBorders } =\n useTableConfig({\n lineWrap: propLineWrap,\n disableHover: !hoverable,\n });\n\n const configuration = useMemo<TableConfigContext>(\n () => ({\n dense,\n header: true,\n hAlign,\n vAlign,\n lineWrap,\n disableBorders,\n disableHover,\n }),\n [dense, hAlign, vAlign, lineWrap, disableBorders, disableHover]\n );\n\n const [theadRef, theadRefCallback] = useEnsuredRef(propRef);\n const { exists, containerRef } = useTableContainer();\n const [stickyActive, setStickyActive] = useState(false);\n const targetRef = useIntersectionObserver({\n ref: exists ? undefined : theadRefCallback,\n root: containerRef,\n disabled: !sticky || disableStickyStyles,\n threshold: exists ? 0 : 1,\n getRootMargin: useCallback(() => {\n const thead = theadRef.current;\n if (!thead) {\n return;\n }\n\n let topOffset: number;\n if (exists) {\n topOffset = thead.offsetHeight - 1;\n } else {\n const top = parseFloat(window.getComputedStyle(thead).top);\n topOffset = Number.isNaN(top) ? 1 : top + 1;\n }\n\n return `-${topOffset}px 0px 0px`;\n }, [exists, theadRef]),\n onUpdate: useCallback(\n ([entry]) => {\n setStickyActive(isStickyActive(entry, exists));\n },\n [exists, isStickyActive]\n ),\n // allow the user defined sticky options to override the default behavior\n ...stickyOptions,\n });\n\n return (\n <TableConfigProvider value={configuration}>\n <thead\n {...remaining}\n ref={exists ? theadRefCallback : targetRef}\n className={tableHeader({\n className,\n dense,\n sticky,\n stickyActive,\n stickyActiveClassName,\n })}\n >\n {children}\n </thead>\n {exists && sticky && !disableStickyStyles && (\n // rendering a `<tbody>` since it is valid to have 0-many in a table\n // https://html.spec.whatwg.org/multipage/tables.html#the-table-element\n <tbody aria-hidden ref={targetRef} />\n )}\n </TableConfigProvider>\n );\n});\n"],"names":["forwardRef","useCallback","useMemo","useState","useEnsuredRef","useIntersectionObserver","TableConfigProvider","useTableConfig","useTableContainer","tableHeader","isTableHeaderStickyActive","entry","intersectionRatio","boundingClientRect","bottom","window","innerHeight","TableHeader","props","propRef","className","hoverable","lineWrap","propLineWrap","children","sticky","stickyOptions","isStickyActive","disableStickyStyles","stickyActiveClassName","remaining","dense","hAlign","vAlign","disableHover","disableBorders","configuration","header","theadRef","theadRefCallback","exists","containerRef","stickyActive","setStickyActive","targetRef","ref","undefined","root","disabled","threshold","getRootMargin","thead","current","topOffset","offsetHeight","top","parseFloat","getComputedStyle","Number","isNaN","onUpdate","value","tbody","aria-hidden"],"mappings":"AAAA;;AACA,SACEA,UAAU,EACVC,WAAW,EACXC,OAAO,EACPC,QAAQ,QAEH,QAAQ;AACf,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SACEC,mBAAmB,EACnBC,cAAc,QAGT,kCAAkC;AACzC,SAASC,iBAAiB,QAAQ,8BAA8B;AAChE,SAASC,WAAW,QAAQ,yBAAyB;AAMrD;;CAEC,GACD,OAAO,MAAMC,4BAAwD,CACnEC;IAEA,OACEA,MAAMC,iBAAiB,GAAG,KAC1BD,MAAME,kBAAkB,CAACC,MAAM,IAAIC,OAAOC,WAAW;AAEzD,EAAE;AAsBF;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,4BAAcjB,WAGzB,SAASiB,YAAYC,KAAK,EAAEC,OAAO;IACnC,MAAM,EACJC,SAAS,EACTC,YAAY,KAAK,EACjBC,UAAUC,YAAY,EACtBC,QAAQ,EACRC,SAAS,KAAK,EACdC,aAAa,EACbC,iBAAiBjB,yBAAyB,EAC1CkB,sBAAsB,KAAK,EAC3BC,qBAAqB,EACrB,GAAGC,WACJ,GAAGZ;IAEJ,6EAA6E;IAC7E,MAAM,EAAEa,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAEX,QAAQ,EAAEY,YAAY,EAAEC,cAAc,EAAE,GACrE5B,eAAe;QACbe,UAAUC;QACVW,cAAc,CAACb;IACjB;IAEF,MAAMe,gBAAgBlC,QACpB,IAAO,CAAA;YACL6B;YACAM,QAAQ;YACRL;YACAC;YACAX;YACAa;YACAD;QACF,CAAA,GACA;QAACH;QAAOC;QAAQC;QAAQX;QAAUa;QAAgBD;KAAa;IAGjE,MAAM,CAACI,UAAUC,iBAAiB,GAAGnC,cAAce;IACnD,MAAM,EAAEqB,MAAM,EAAEC,YAAY,EAAE,GAAGjC;IACjC,MAAM,CAACkC,cAAcC,gBAAgB,GAAGxC,SAAS;IACjD,MAAMyC,YAAYvC,wBAAwB;QACxCwC,KAAKL,SAASM,YAAYP;QAC1BQ,MAAMN;QACNO,UAAU,CAACvB,UAAUG;QACrBqB,WAAWT,SAAS,IAAI;QACxBU,eAAejD,YAAY;YACzB,MAAMkD,QAAQb,SAASc,OAAO;YAC9B,IAAI,CAACD,OAAO;gBACV;YACF;YAEA,IAAIE;YACJ,IAAIb,QAAQ;gBACVa,YAAYF,MAAMG,YAAY,GAAG;YACnC,OAAO;gBACL,MAAMC,MAAMC,WAAWzC,OAAO0C,gBAAgB,CAACN,OAAOI,GAAG;gBACzDF,YAAYK,OAAOC,KAAK,CAACJ,OAAO,IAAIA,MAAM;YAC5C;YAEA,OAAO,CAAC,CAAC,EAAEF,UAAU,UAAU,CAAC;QAClC,GAAG;YAACb;YAAQF;SAAS;QACrBsB,UAAU3D,YACR,CAAC,CAACU,MAAM;YACNgC,gBAAgBhB,eAAehB,OAAO6B;QACxC,GACA;YAACA;YAAQb;SAAe;QAE1B,yEAAyE;QACzE,GAAGD,aAAa;IAClB;IAEA,qBACE,MAACpB;QAAoBuD,OAAOzB;;0BAC1B,KAACe;gBACE,GAAGrB,SAAS;gBACbe,KAAKL,SAASD,mBAAmBK;gBACjCxB,WAAWX,YAAY;oBACrBW;oBACAW;oBACAN;oBACAiB;oBACAb;gBACF;0BAECL;;YAEFgB,UAAUf,UAAU,CAACG,uBACpB,oEAAoE;YACpE,uEAAuE;0BACvE,KAACkC;gBAAMC,aAAW;gBAAClB,KAAKD;;;;AAIhC,GAAG"}
@@ -0,0 +1,106 @@
1
+ import { type TdHTMLAttributes } from "react";
2
+ import { type RadioProps } from "../form/InputToggle.js";
3
+ import { type PropsWithRef } from "../types.js";
4
+ /**
5
+ * @remarks \@since 6.0.0
6
+ */
7
+ export type TableRadioTdHTMLAttributes = Omit<TdHTMLAttributes<HTMLTableCellElement>, "aria-sort" | "scope" | "onChange" | "onInvalid">;
8
+ /**
9
+ * @remarks \@since 6.0.0
10
+ */
11
+ export type TableRadioSupportedRadioProps = Pick<RadioProps, "name" | "value" | "icon" | "iconStyle" | "iconClassName" | "iconProps" | "checkedIcon" | "checked" | "onChange" | "defaultChecked" | "error" | "required" | "onInvalid">;
12
+ /**
13
+ * @remarks \@since 6.0.0
14
+ */
15
+ export interface TableRadioProps extends TableRadioTdHTMLAttributes, TableRadioSupportedRadioProps {
16
+ /**
17
+ * @defaultValue `!props["aria-labelledby"] ? "Select Row" : undefined`
18
+ */
19
+ "aria-label"?: string;
20
+ /** @defaultValue `false` */
21
+ sticky?: boolean;
22
+ /**
23
+ * This allows you to override any props for the checkbox that are not
24
+ * configurable as top-level props.
25
+ *
26
+ * @example
27
+ * Simple Example
28
+ * ```tsx
29
+ * checkboxProps={{
30
+ * id: "some-custom-id",
31
+ * ref: checkboxRef,
32
+ * }}
33
+ * ```
34
+ *
35
+ * @see {@link TableRadioSupportedRadioProps}
36
+ * @remarks \@since 6.0.0
37
+ */
38
+ radioProps?: PropsWithRef<RadioProps, HTMLInputElement>;
39
+ }
40
+ /**
41
+ * **Server Component**
42
+ * This might actually be a client component.
43
+ *
44
+ * @example
45
+ * Simple Example
46
+ * ```tsx
47
+ * import {
48
+ * Table,
49
+ * TableBody,
50
+ * TableCell,
51
+ * TableRadio,
52
+ * TableContainer,
53
+ * TableHeader,
54
+ * TableRow,
55
+ * useRadioGroup,
56
+ * } from "@react-md/core";
57
+ * import type { ReactElement } from "react";
58
+ *
59
+ * const rows = [
60
+ * { name: "Frozen Yogurt", type: "Ice Cream" },
61
+ * { name: "Ice cream sandwich", type: "Ice Cream" },
62
+ * { name: "Eclair", type: "Pastry" },
63
+ * // ...other content
64
+ * ] as const;
65
+ *
66
+ * function Example(): ReactElement {
67
+ * const { getRadioProps } = useRadioGroup({
68
+ * name: "selected",
69
+ * });
70
+ * return (
71
+ * <TableContainer>
72
+ * <Table>
73
+ * <TableHeader>
74
+ * <TableRow>
75
+ * <TableCell header={false} />
76
+ * <TableCell>Name</TableCell>
77
+ * <TableCell>Type</TableCell>
78
+ * </TableRow>
79
+ * </TableHeader>
80
+ * <TableBody>
81
+ * {rows.map(({ name, type }) => {
82
+ * const radioProps = getRadioProps(name);
83
+ * const { checked, onChange } = radioProps;
84
+ *
85
+ * return (
86
+ * <TableRow
87
+ * key={name}
88
+ * onClick={onChange}
89
+ * clickable
90
+ * selected={checked}
91
+ * >
92
+ * <TableRadio {...radioProps} />
93
+ * <TableCell>{name}</TableCell>
94
+ * <TableCell hAlign="right">{type}</TableCell>
95
+ * </TableRow>
96
+ * );
97
+ * })}
98
+ * </TableBody>
99
+ * </Table>
100
+ * </TableContainer>
101
+ * );
102
+ * }
103
+ * ```
104
+ * @remarks \@since 6.0.0
105
+ */
106
+ export declare const TableRadio: import("react").ForwardRefExoticComponent<TableRadioProps & import("react").RefAttributes<HTMLTableCellElement>>;
@@ -0,0 +1,106 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { Radio } from "../form/Radio.js";
4
+ import { TableCell } from "./TableCell.js";
5
+ const noop = ()=>{
6
+ // do nothing
7
+ };
8
+ /**
9
+ * **Server Component**
10
+ * This might actually be a client component.
11
+ *
12
+ * @example
13
+ * Simple Example
14
+ * ```tsx
15
+ * import {
16
+ * Table,
17
+ * TableBody,
18
+ * TableCell,
19
+ * TableRadio,
20
+ * TableContainer,
21
+ * TableHeader,
22
+ * TableRow,
23
+ * useRadioGroup,
24
+ * } from "@react-md/core";
25
+ * import type { ReactElement } from "react";
26
+ *
27
+ * const rows = [
28
+ * { name: "Frozen Yogurt", type: "Ice Cream" },
29
+ * { name: "Ice cream sandwich", type: "Ice Cream" },
30
+ * { name: "Eclair", type: "Pastry" },
31
+ * // ...other content
32
+ * ] as const;
33
+ *
34
+ * function Example(): ReactElement {
35
+ * const { getRadioProps } = useRadioGroup({
36
+ * name: "selected",
37
+ * });
38
+ * return (
39
+ * <TableContainer>
40
+ * <Table>
41
+ * <TableHeader>
42
+ * <TableRow>
43
+ * <TableCell header={false} />
44
+ * <TableCell>Name</TableCell>
45
+ * <TableCell>Type</TableCell>
46
+ * </TableRow>
47
+ * </TableHeader>
48
+ * <TableBody>
49
+ * {rows.map(({ name, type }) => {
50
+ * const radioProps = getRadioProps(name);
51
+ * const { checked, onChange } = radioProps;
52
+ *
53
+ * return (
54
+ * <TableRow
55
+ * key={name}
56
+ * onClick={onChange}
57
+ * clickable
58
+ * selected={checked}
59
+ * >
60
+ * <TableRadio {...radioProps} />
61
+ * <TableCell>{name}</TableCell>
62
+ * <TableCell hAlign="right">{type}</TableCell>
63
+ * </TableRow>
64
+ * );
65
+ * })}
66
+ * </TableBody>
67
+ * </Table>
68
+ * </TableContainer>
69
+ * );
70
+ * }
71
+ * ```
72
+ * @remarks \@since 6.0.0
73
+ */ export const TableRadio = /*#__PURE__*/ forwardRef(function TableRadio(props, ref) {
74
+ const { "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel = !ariaLabelledBy ? "Select Row" : undefined, "aria-controls": ariaControls, name, icon, iconProps, iconStyle, iconClassName, checkedIcon, value, checked, onChange, defaultChecked, radioProps, onClick = noop, error, required, onInvalid, ...remaining } = props;
75
+ return /*#__PURE__*/ _jsx(TableCell, {
76
+ ...remaining,
77
+ ref: ref,
78
+ header: false,
79
+ inputToggle: true,
80
+ onClick: (event)=>{
81
+ event.stopPropagation();
82
+ onClick(event);
83
+ },
84
+ children: /*#__PURE__*/ _jsx(Radio, {
85
+ "aria-label": ariaLabel,
86
+ "aria-labelledby": ariaLabelledBy,
87
+ "aria-controls": ariaControls,
88
+ name: name,
89
+ icon: icon,
90
+ iconProps: iconProps,
91
+ iconStyle: iconStyle,
92
+ iconClassName: iconClassName,
93
+ checkedIcon: checkedIcon,
94
+ value: value,
95
+ checked: checked,
96
+ defaultChecked: defaultChecked,
97
+ error: error,
98
+ required: required,
99
+ onChange: onChange,
100
+ onInvalid: onInvalid,
101
+ ...radioProps
102
+ })
103
+ });
104
+ });
105
+
106
+ //# sourceMappingURL=TableRadio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/table/TableRadio.tsx"],"sourcesContent":["import { forwardRef, type TdHTMLAttributes } from \"react\";\nimport { type RadioProps } from \"../form/InputToggle.js\";\nimport { Radio } from \"../form/Radio.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { TableCell } from \"./TableCell.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type TableRadioTdHTMLAttributes = Omit<\n TdHTMLAttributes<HTMLTableCellElement>,\n \"aria-sort\" | \"scope\" | \"onChange\" | \"onInvalid\"\n>;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type TableRadioSupportedRadioProps = Pick<\n RadioProps,\n | \"name\"\n | \"value\"\n | \"icon\"\n | \"iconStyle\"\n | \"iconClassName\"\n | \"iconProps\"\n | \"checkedIcon\"\n | \"checked\"\n | \"onChange\"\n | \"defaultChecked\"\n | \"error\"\n | \"required\"\n | \"onInvalid\"\n>;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TableRadioProps\n extends TableRadioTdHTMLAttributes,\n TableRadioSupportedRadioProps {\n /**\n * @defaultValue `!props[\"aria-labelledby\"] ? \"Select Row\" : undefined`\n */\n \"aria-label\"?: string;\n\n /** @defaultValue `false` */\n sticky?: boolean;\n\n /**\n * This allows you to override any props for the checkbox that are not\n * configurable as top-level props.\n *\n * @example\n * Simple Example\n * ```tsx\n * checkboxProps={{\n * id: \"some-custom-id\",\n * ref: checkboxRef,\n * }}\n * ```\n *\n * @see {@link TableRadioSupportedRadioProps}\n * @remarks \\@since 6.0.0\n */\n radioProps?: PropsWithRef<RadioProps, HTMLInputElement>;\n}\n\n/**\n * **Server Component**\n * This might actually be a client component.\n *\n * @example\n * Simple Example\n * ```tsx\n * import {\n * Table,\n * TableBody,\n * TableCell,\n * TableRadio,\n * TableContainer,\n * TableHeader,\n * TableRow,\n * useRadioGroup,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * const rows = [\n * { name: \"Frozen Yogurt\", type: \"Ice Cream\" },\n * { name: \"Ice cream sandwich\", type: \"Ice Cream\" },\n * { name: \"Eclair\", type: \"Pastry\" },\n * // ...other content\n * ] as const;\n *\n * function Example(): ReactElement {\n * const { getRadioProps } = useRadioGroup({\n * name: \"selected\",\n * });\n * return (\n * <TableContainer>\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableCell header={false} />\n * <TableCell>Name</TableCell>\n * <TableCell>Type</TableCell>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * {rows.map(({ name, type }) => {\n * const radioProps = getRadioProps(name);\n * const { checked, onChange } = radioProps;\n *\n * return (\n * <TableRow\n * key={name}\n * onClick={onChange}\n * clickable\n * selected={checked}\n * >\n * <TableRadio {...radioProps} />\n * <TableCell>{name}</TableCell>\n * <TableCell hAlign=\"right\">{type}</TableCell>\n * </TableRow>\n * );\n * })}\n * </TableBody>\n * </Table>\n * </TableContainer>\n * );\n * }\n * ```\n * @remarks \\@since 6.0.0\n */\nexport const TableRadio = forwardRef<HTMLTableCellElement, TableRadioProps>(\n function TableRadio(props, ref) {\n const {\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel = !ariaLabelledBy ? \"Select Row\" : undefined,\n \"aria-controls\": ariaControls,\n name,\n icon,\n iconProps,\n iconStyle,\n iconClassName,\n checkedIcon,\n value,\n checked,\n onChange,\n defaultChecked,\n radioProps,\n onClick = noop,\n error,\n required,\n onInvalid,\n ...remaining\n } = props;\n\n return (\n <TableCell\n {...remaining}\n ref={ref}\n header={false}\n inputToggle\n onClick={(event) => {\n event.stopPropagation();\n onClick(event);\n }}\n >\n <Radio\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-controls={ariaControls}\n name={name}\n icon={icon}\n iconProps={iconProps}\n iconStyle={iconStyle}\n iconClassName={iconClassName}\n checkedIcon={checkedIcon}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n error={error}\n required={required}\n onChange={onChange}\n onInvalid={onInvalid}\n {...radioProps}\n />\n </TableCell>\n );\n }\n);\n"],"names":["forwardRef","Radio","TableCell","noop","TableRadio","props","ref","ariaLabelledBy","ariaLabel","undefined","ariaControls","name","icon","iconProps","iconStyle","iconClassName","checkedIcon","value","checked","onChange","defaultChecked","radioProps","onClick","error","required","onInvalid","remaining","header","inputToggle","event","stopPropagation","aria-label","aria-labelledby","aria-controls"],"mappings":";AAAA,SAASA,UAAU,QAA+B,QAAQ;AAE1D,SAASC,KAAK,QAAQ,mBAAmB;AAEzC,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,OAAO;AACX,aAAa;AACf;AA+DA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEC,GACD,OAAO,MAAMC,2BAAaJ,WACxB,SAASI,WAAWC,KAAK,EAAEC,GAAG;IAC5B,MAAM,EACJ,mBAAmBC,cAAc,EACjC,cAAcC,YAAY,CAACD,iBAAiB,eAAeE,SAAS,EACpE,iBAAiBC,YAAY,EAC7BC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,WAAW,EACXC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACRC,cAAc,EACdC,UAAU,EACVC,UAAUnB,IAAI,EACdoB,KAAK,EACLC,QAAQ,EACRC,SAAS,EACT,GAAGC,WACJ,GAAGrB;IAEJ,qBACE,KAACH;QACE,GAAGwB,SAAS;QACbpB,KAAKA;QACLqB,QAAQ;QACRC,WAAW;QACXN,SAAS,CAACO;YACRA,MAAMC,eAAe;YACrBR,QAAQO;QACV;kBAEA,cAAA,KAAC5B;YACC8B,cAAYvB;YACZwB,mBAAiBzB;YACjB0B,iBAAevB;YACfC,MAAMA;YACNC,MAAMA;YACNC,WAAWA;YACXC,WAAWA;YACXC,eAAeA;YACfC,aAAaA;YACbC,OAAOA;YACPC,SAASA;YACTE,gBAAgBA;YAChBG,OAAOA;YACPC,UAAUA;YACVL,UAAUA;YACVM,WAAWA;YACV,GAAGJ,UAAU;;;AAItB,GACA"}
@@ -1,15 +1,5 @@
1
1
  import { type HTMLAttributes } from "react";
2
2
  import { type TableRowConfiguration } from "./TableConfigurationProvider.js";
3
- /** @remarks \@since 6.0.0 */
4
- export interface TableRowClassNameOptions {
5
- className?: string;
6
- disableHover?: boolean;
7
- disableBorders?: boolean;
8
- selected?: boolean;
9
- clickable?: boolean;
10
- }
11
- /** @remarks \@since 6.0.0 */
12
- export declare function tableRow(options?: TableRowClassNameOptions): string;
13
3
  export interface TableRowProps extends HTMLAttributes<HTMLTableRowElement>, TableRowConfiguration {
14
4
  /**
15
5
  * Boolean if the current row has been selected and should apply the selected
@@ -1,19 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cnb } from "cnbuilder";
4
3
  import { forwardRef } from "react";
5
- import { bem } from "../utils/bem.js";
6
4
  import { useTableConfig } from "./TableConfigurationProvider.js";
7
- const styles = bem("rmd-tr");
8
- /** @remarks \@since 6.0.0 */ export function tableRow(options = {}) {
9
- const { disableHover, disableBorders, selected, clickable, className } = options;
10
- return cnb(styles({
11
- bordered: !disableBorders,
12
- hoverable: !disableHover,
13
- clickable,
14
- selected
15
- }), className);
16
- }
5
+ import { tableRow } from "./tableRowStyles.js";
17
6
  /**
18
7
  * **Client Component**
19
8
  *