@react-fabric/core 1.0.0-beta.9 → 1.0.2

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 (592) hide show
  1. package/{src/components/actionLabel/ActionLabel.module.css → css/components/_actionLabel.css} +4 -4
  2. package/{src/overlays/alert/Alert.module.css → css/components/_alert.css} +3 -3
  3. package/css/components/_animations.css +52 -0
  4. package/css/components/_avatar.css +89 -0
  5. package/css/components/_button.css +218 -0
  6. package/css/components/_buttonGroup.css +62 -0
  7. package/css/components/_callout.css +32 -0
  8. package/css/components/_card.css +167 -0
  9. package/css/components/_chip.css +125 -0
  10. package/css/components/_collapsable.css +32 -0
  11. package/{src/overlays/message/Message.module.css → css/components/_divider.css} +11 -10
  12. package/{src/components/dropdown/Dropdown.module.css → css/components/_dropdown.css} +3 -2
  13. package/{src/overlays/flyout/Flyout.module.css → css/components/_flyout.css} +15 -9
  14. package/css/components/_media.css +102 -0
  15. package/{src/components/menu/Menu.module.css → css/components/_menu.css} +21 -20
  16. package/{src/components/meter/Meter.module.css → css/components/_meter.css} +15 -20
  17. package/{src/overlays/modal/Modal.module.css → css/components/_modal.css} +9 -9
  18. package/{src/components/panel/Panel.module.css → css/components/_panel.css} +19 -19
  19. package/{src/components/progress/Progress.module.css → css/components/_progress.css} +7 -10
  20. package/css/components/_sonner.css +431 -0
  21. package/{src/components/tabpanel/TabPanel.module.css → css/components/_tabPanel.css} +125 -85
  22. package/css/components/_titlebar.css +48 -0
  23. package/css/components/index.css +47 -0
  24. package/css/core/_aside.css +176 -0
  25. package/css/core/_content.css +31 -0
  26. package/css/core/_errorboundary.css +55 -0
  27. package/css/core/_responsive.css +45 -0
  28. package/css/core/_typography.css +69 -0
  29. package/css/core/_viewport.css +33 -0
  30. package/{src/hooks/useClientService.tsx → css/core/index.css} +7 -7
  31. package/css/reset/_gradients.css +36 -33
  32. package/css/reset/_reset.css +206 -300
  33. package/css/reset/_text.css +31 -61
  34. package/css/reset/_theme.css +467 -81
  35. package/css/reset/index.css +23 -21
  36. package/css/styles.css +30 -23
  37. package/css/theme/_colors.css +445 -0
  38. package/css/theme/_utilities.css +528 -0
  39. package/css/theme/_variants.css +128 -0
  40. package/css/theme/index.css +55 -0
  41. package/dist/cjs/components/actionLabel/ActionLabel.js +25 -12
  42. package/dist/cjs/{overlays → components}/alert/Alert.js +76 -53
  43. package/dist/cjs/components/animations/Indicator.js +66 -0
  44. package/dist/cjs/components/animations/Loader.js +77 -0
  45. package/dist/cjs/components/animations/LoadingBars.js +37 -0
  46. package/dist/cjs/components/animations/LoadingLine.js +59 -0
  47. package/dist/cjs/components/animations/LoadingSpinner.js +37 -0
  48. package/dist/cjs/components/animations/Skeleton.js +88 -0
  49. package/dist/cjs/components/avatar/Avatar.js +41 -20
  50. package/dist/cjs/components/avatar/AvatarGroup.js +37 -16
  51. package/dist/cjs/components/badge/Badge.js +90 -68
  52. package/dist/cjs/components/button/Button.js +198 -136
  53. package/dist/cjs/components/button/ButtonGroup.js +86 -21
  54. package/dist/cjs/components/button/ConfirmButton.js +55 -41
  55. package/dist/cjs/components/button/ToggleButtonGroup.js +84 -32
  56. package/dist/cjs/components/callout/Callout.js +56 -25
  57. package/dist/cjs/components/card/Card.js +90 -42
  58. package/dist/cjs/components/card/CardCover.js +38 -27
  59. package/dist/cjs/components/card/FlipContent.js +47 -0
  60. package/dist/cjs/components/chip/Chip.js +80 -37
  61. package/dist/cjs/components/collapsable/Collapsable.js +62 -31
  62. package/dist/cjs/components/divider/Divider.js +58 -24
  63. package/dist/cjs/components/dropdown/Dropdown.js +92 -45
  64. package/dist/cjs/components/dropdown/DropdownTool.js +6 -7
  65. package/dist/cjs/components/effect/GlassEffect.js +259 -0
  66. package/dist/cjs/components/effect/MatteEffect.js +127 -0
  67. package/dist/cjs/components/effect/StyleEffect.js +43 -0
  68. package/dist/cjs/components/empty/EmptyContent.js +37 -49
  69. package/dist/cjs/components/flyout/Flyout.js +170 -0
  70. package/dist/cjs/components/hotkey/HotKey.js +42 -0
  71. package/dist/cjs/components/icon/Icon.js +81 -80
  72. package/dist/cjs/components/media/Media.js +154 -77
  73. package/dist/cjs/components/menu/ContextMenu.js +45 -20
  74. package/dist/cjs/components/menu/Menu.js +98 -38
  75. package/dist/cjs/components/menu/MenuItem.js +102 -74
  76. package/dist/cjs/components/meter/Meter.js +35 -12
  77. package/dist/cjs/components/modal/Modal.js +152 -0
  78. package/dist/cjs/components/navigator/Navigator.js +81 -36
  79. package/dist/cjs/components/panel/Panel.js +115 -60
  80. package/dist/cjs/components/panel/PanelGroup.js +42 -16
  81. package/dist/cjs/components/panel/PanelStack.js +47 -16
  82. package/dist/cjs/components/pillbox/Pillbox.js +118 -0
  83. package/dist/cjs/components/progress/ProgressBar.js +30 -14
  84. package/dist/cjs/components/progress/ProgressCircle.js +27 -11
  85. package/dist/cjs/components/tabpanel/Tab.js +53 -37
  86. package/dist/cjs/components/tabpanel/TabPanel.js +74 -28
  87. package/dist/cjs/components/titlebar/Titlebar.js +52 -0
  88. package/dist/cjs/components/tooltip/Tooltip.js +180 -0
  89. package/dist/cjs/context/Global.js +159 -80
  90. package/dist/cjs/context/ModalManager.js +60 -0
  91. package/dist/cjs/context/context.js +43 -0
  92. package/dist/cjs/core/areaToggle/AreaToggle.js +41 -0
  93. package/dist/cjs/core/aside/Aside.js +178 -83
  94. package/dist/cjs/core/boundary/ErrorBoundary.js +37 -34
  95. package/dist/cjs/core/boundary/ErrorIcon.js +32 -19
  96. package/dist/cjs/core/content/Content.js +26 -37
  97. package/dist/cjs/core/headfoot/HeadFoot.js +133 -35
  98. package/dist/cjs/core/layout/Layout.js +28 -0
  99. package/dist/cjs/core/responsive/Responsive.js +62 -26
  100. package/dist/cjs/core/theme/ThemeProvider.js +35 -41
  101. package/dist/cjs/core/viewport/Viewport.js +26 -22
  102. package/dist/cjs/hooks/useClientService.js +39 -18
  103. package/dist/cjs/hooks/useContextMenu.js +103 -0
  104. package/dist/cjs/hooks/useControlledValue.js +13 -7
  105. package/dist/cjs/hooks/useDebounce.js +37 -21
  106. package/dist/cjs/hooks/useEffectDebugger.js +79 -60
  107. package/dist/cjs/hooks/useIsDark.js +34 -26
  108. package/dist/cjs/hooks/useIsRtl.js +13 -3
  109. package/dist/cjs/hooks/useNavigator.js +12 -9
  110. package/dist/cjs/hooks/useNotificationService.js +199 -0
  111. package/dist/cjs/hooks/useOverlayService.js +82 -41
  112. package/dist/cjs/hooks/usePropState.js +41 -0
  113. package/dist/cjs/hooks/usePropToggle.js +32 -26
  114. package/dist/cjs/hooks/useResize.js +47 -38
  115. package/dist/cjs/hooks/useResizeObserver.js +26 -7
  116. package/dist/cjs/hooks/useStorage.js +29 -16
  117. package/dist/cjs/i18n/index.js +25 -23
  118. package/dist/cjs/index.js +142 -94
  119. package/dist/cjs/typography/Abbr.js +43 -20
  120. package/dist/cjs/typography/Anchor.js +39 -0
  121. package/dist/cjs/typography/Copy.js +28 -28
  122. package/dist/cjs/typography/Kbd.js +43 -0
  123. package/dist/cjs/typography/Mark.js +34 -17
  124. package/dist/cjs/typography/Text.js +36 -54
  125. package/dist/cjs/typography/Title.js +17 -40
  126. package/dist/cjs/utils/calculateDimensions.js +38 -23
  127. package/dist/cjs/utils/cloneElement.js +64 -0
  128. package/dist/cjs/{core/section/Section.js → utils/getBadgeProps.js} +25 -21
  129. package/dist/cjs/utils/getColor.js +42 -36
  130. package/dist/cjs/utils/getIconProps.js +63 -0
  131. package/dist/cjs/utils/getTooltipProps.js +66 -0
  132. package/dist/cjs/utils/nodeCheck.js +4 -4
  133. package/dist/esm/components/actionLabel/ActionLabel.js +25 -12
  134. package/dist/esm/{overlays → components}/alert/Alert.js +73 -50
  135. package/dist/esm/components/animations/Indicator.js +66 -0
  136. package/dist/esm/components/animations/Loader.js +77 -0
  137. package/dist/esm/components/animations/LoadingBars.js +37 -0
  138. package/dist/esm/components/animations/LoadingLine.js +59 -0
  139. package/dist/esm/components/animations/LoadingSpinner.js +37 -0
  140. package/dist/esm/components/animations/Skeleton.js +88 -0
  141. package/dist/esm/components/avatar/Avatar.js +42 -21
  142. package/dist/esm/components/avatar/AvatarGroup.js +37 -16
  143. package/dist/esm/components/badge/Badge.js +93 -70
  144. package/dist/esm/components/button/Button.js +199 -137
  145. package/dist/esm/components/button/ButtonGroup.js +87 -22
  146. package/dist/esm/components/button/ConfirmButton.js +58 -44
  147. package/dist/esm/components/button/ToggleButtonGroup.js +86 -34
  148. package/dist/esm/components/callout/Callout.js +56 -25
  149. package/dist/esm/components/card/Card.js +92 -44
  150. package/dist/esm/components/card/CardCover.js +38 -27
  151. package/dist/esm/components/card/FlipContent.js +47 -0
  152. package/dist/esm/components/chip/Chip.js +81 -38
  153. package/dist/esm/components/collapsable/Collapsable.js +63 -32
  154. package/dist/esm/components/divider/Divider.js +59 -25
  155. package/dist/esm/components/dropdown/Dropdown.js +95 -48
  156. package/dist/esm/components/dropdown/DropdownTool.js +6 -7
  157. package/dist/esm/components/effect/GlassEffect.js +259 -0
  158. package/dist/esm/components/effect/MatteEffect.js +127 -0
  159. package/dist/esm/components/effect/StyleEffect.js +43 -0
  160. package/dist/esm/components/empty/EmptyContent.js +38 -50
  161. package/dist/esm/components/flyout/Flyout.js +170 -0
  162. package/dist/esm/components/hotkey/HotKey.js +42 -0
  163. package/dist/esm/components/icon/Icon.js +83 -82
  164. package/dist/esm/components/media/Media.js +156 -79
  165. package/dist/esm/components/menu/ContextMenu.js +46 -21
  166. package/dist/esm/components/menu/Menu.js +101 -41
  167. package/dist/esm/components/menu/MenuItem.js +98 -70
  168. package/dist/esm/components/meter/Meter.js +36 -13
  169. package/dist/esm/components/modal/Modal.js +152 -0
  170. package/dist/esm/components/navigator/Navigator.js +81 -36
  171. package/dist/esm/components/panel/Panel.js +117 -62
  172. package/dist/esm/components/panel/PanelGroup.js +43 -17
  173. package/dist/esm/components/panel/PanelStack.js +48 -17
  174. package/dist/esm/components/pillbox/Pillbox.js +118 -0
  175. package/dist/esm/components/progress/ProgressBar.js +31 -15
  176. package/dist/esm/components/progress/ProgressCircle.js +28 -12
  177. package/dist/esm/components/tabpanel/Tab.js +54 -38
  178. package/dist/esm/components/tabpanel/TabPanel.js +75 -29
  179. package/dist/esm/components/titlebar/Titlebar.js +52 -0
  180. package/dist/esm/components/tooltip/Tooltip.js +180 -0
  181. package/dist/esm/context/Global.js +161 -78
  182. package/dist/esm/context/ModalManager.js +60 -0
  183. package/dist/esm/context/context.js +40 -0
  184. package/dist/esm/core/areaToggle/AreaToggle.js +41 -0
  185. package/dist/esm/core/aside/Aside.js +179 -84
  186. package/dist/esm/core/boundary/ErrorBoundary.js +38 -35
  187. package/dist/esm/core/boundary/ErrorIcon.js +32 -19
  188. package/dist/esm/core/content/Content.js +26 -37
  189. package/dist/esm/core/headfoot/HeadFoot.js +134 -36
  190. package/dist/esm/core/layout/Layout.js +28 -0
  191. package/dist/esm/core/responsive/Responsive.js +62 -26
  192. package/dist/esm/core/theme/ThemeProvider.js +36 -42
  193. package/dist/esm/core/viewport/Viewport.js +26 -22
  194. package/dist/esm/hooks/useClientService.js +39 -18
  195. package/dist/esm/hooks/useContextMenu.js +103 -0
  196. package/dist/esm/hooks/useControlledValue.js +14 -8
  197. package/dist/esm/hooks/useDebounce.js +37 -21
  198. package/dist/esm/hooks/useEffectDebugger.js +81 -62
  199. package/dist/esm/hooks/useIsDark.js +34 -26
  200. package/dist/esm/hooks/useIsRtl.js +13 -3
  201. package/dist/esm/hooks/useNavigator.js +13 -10
  202. package/dist/esm/hooks/useNotificationService.js +199 -0
  203. package/dist/esm/hooks/useOverlayService.js +83 -42
  204. package/dist/esm/hooks/usePropState.js +40 -0
  205. package/dist/esm/hooks/usePropToggle.js +33 -27
  206. package/dist/esm/hooks/useResize.js +48 -39
  207. package/dist/esm/hooks/useResizeObserver.js +27 -8
  208. package/dist/esm/hooks/useStorage.js +30 -17
  209. package/dist/esm/i18n/index.js +23 -21
  210. package/dist/esm/index.js +87 -44
  211. package/dist/esm/typography/Abbr.js +45 -22
  212. package/dist/esm/typography/Anchor.js +39 -0
  213. package/dist/esm/typography/Copy.js +28 -28
  214. package/dist/esm/typography/Kbd.js +43 -0
  215. package/dist/esm/typography/Mark.js +35 -18
  216. package/dist/esm/typography/Text.js +39 -57
  217. package/dist/esm/typography/Title.js +17 -40
  218. package/dist/esm/utils/calculateDimensions.js +38 -23
  219. package/dist/esm/utils/cloneElement.js +64 -0
  220. package/dist/esm/{core/section/Section.js → utils/getBadgeProps.js} +25 -21
  221. package/dist/esm/utils/getColor.js +43 -34
  222. package/dist/esm/utils/getIconProps.js +63 -0
  223. package/dist/esm/utils/getTooltipProps.js +66 -0
  224. package/dist/esm/utils/nodeCheck.js +4 -4
  225. package/dist/types/components/actionLabel/ActionLabel.d.ts +20 -7
  226. package/dist/types/components/alert/Alert.d.ts +74 -0
  227. package/dist/types/components/animations/Indicator.d.ts +57 -0
  228. package/dist/types/components/animations/Loader.d.ts +65 -0
  229. package/dist/types/components/animations/LoadingBars.d.ts +61 -0
  230. package/dist/types/components/animations/LoadingLine.d.ts +43 -0
  231. package/dist/types/components/animations/LoadingSpinner.d.ts +61 -0
  232. package/dist/types/components/animations/Skeleton.d.ts +61 -0
  233. package/dist/types/components/avatar/Avatar.d.ts +70 -19
  234. package/dist/types/components/avatar/AvatarGroup.d.ts +51 -14
  235. package/dist/types/components/badge/Badge.d.ts +64 -14
  236. package/dist/types/components/button/Button.d.ts +72 -55
  237. package/dist/types/components/button/ButtonGroup.d.ts +86 -24
  238. package/dist/types/components/button/ConfirmButton.d.ts +21 -7
  239. package/dist/types/components/button/ToggleButtonGroup.d.ts +88 -44
  240. package/dist/types/components/callout/Callout.d.ts +58 -7
  241. package/dist/types/components/card/Card.d.ts +66 -25
  242. package/dist/types/components/card/CardCover.d.ts +52 -7
  243. package/dist/types/components/card/FlipContent.d.ts +50 -0
  244. package/dist/types/components/chip/Chip.d.ts +72 -20
  245. package/dist/types/components/collapsable/Collapsable.d.ts +55 -15
  246. package/dist/types/components/divider/Divider.d.ts +25 -8
  247. package/dist/types/components/dropdown/Dropdown.d.ts +42 -9
  248. package/dist/types/components/dropdown/DropdownTool.d.ts +22 -4
  249. package/dist/types/components/effect/GlassEffect.d.ts +5 -0
  250. package/dist/types/components/effect/MatteEffect.d.ts +40 -0
  251. package/dist/types/components/effect/StyleEffect.d.ts +27 -0
  252. package/dist/types/components/empty/EmptyContent.d.ts +53 -9
  253. package/dist/types/components/flyout/Flyout.d.ts +60 -0
  254. package/dist/types/components/hotkey/HotKey.d.ts +41 -0
  255. package/dist/types/components/icon/Icon.d.ts +74 -24
  256. package/dist/types/components/media/Media.d.ts +72 -4
  257. package/dist/types/components/menu/ContextMenu.d.ts +22 -5
  258. package/dist/types/components/menu/Menu.d.ts +26 -2
  259. package/dist/types/components/menu/MenuItem.d.ts +19 -4
  260. package/dist/types/components/menu/types.d.ts +23 -14
  261. package/dist/types/components/meter/Meter.d.ts +23 -3
  262. package/dist/types/components/modal/Modal.d.ts +52 -0
  263. package/dist/types/components/navigator/Navigator.d.ts +30 -4
  264. package/dist/types/components/panel/Panel.d.ts +43 -23
  265. package/dist/types/components/panel/PanelGroup.d.ts +22 -3
  266. package/dist/types/components/panel/PanelStack.d.ts +28 -2
  267. package/dist/types/components/pillbox/Pillbox.d.ts +95 -0
  268. package/dist/types/components/progress/ProgressBar.d.ts +19 -4
  269. package/dist/types/components/progress/ProgressCircle.d.ts +18 -4
  270. package/dist/types/components/tabpanel/Tab.d.ts +42 -10
  271. package/dist/types/components/tabpanel/TabPanel.d.ts +47 -7
  272. package/dist/types/components/titlebar/Titlebar.d.ts +54 -0
  273. package/dist/types/components/tooltip/Tooltip.d.ts +76 -0
  274. package/dist/types/context/Global.d.ts +39 -69
  275. package/dist/types/context/ModalManager.d.ts +30 -0
  276. package/dist/types/context/context.d.ts +107 -0
  277. package/dist/types/core/areaToggle/AreaToggle.d.ts +33 -0
  278. package/dist/types/core/aside/Aside.d.ts +75 -20
  279. package/dist/types/core/boundary/ErrorBoundary.d.ts +43 -4
  280. package/dist/types/core/boundary/ErrorIcon.d.ts +38 -1
  281. package/dist/types/core/content/Content.d.ts +38 -6
  282. package/dist/types/core/headfoot/HeadFoot.d.ts +48 -14
  283. package/dist/types/core/layout/Layout.d.ts +38 -0
  284. package/dist/types/core/responsive/Responsive.d.ts +45 -15
  285. package/dist/types/core/theme/ThemeProvider.d.ts +35 -11
  286. package/dist/types/core/viewport/Viewport.d.ts +27 -3
  287. package/dist/types/hooks/useClientService.d.ts +43 -1
  288. package/dist/types/hooks/useContextMenu.d.ts +10 -0
  289. package/dist/types/hooks/useControlledValue.d.ts +28 -4
  290. package/dist/types/hooks/useDebounce.d.ts +38 -2
  291. package/dist/types/hooks/useEffectDebugger.d.ts +73 -4
  292. package/dist/types/hooks/useIsDark.d.ts +6 -0
  293. package/dist/types/hooks/useIsRtl.d.ts +35 -1
  294. package/dist/types/hooks/useNavigator.d.ts +37 -2
  295. package/dist/types/hooks/useNotificationService.d.ts +60 -0
  296. package/dist/types/hooks/useOverlayService.d.ts +28 -8
  297. package/dist/types/hooks/usePropState.d.ts +26 -0
  298. package/dist/types/hooks/usePropToggle.d.ts +41 -7
  299. package/dist/types/hooks/useResize.d.ts +46 -4
  300. package/dist/types/hooks/useResizeObserver.d.ts +45 -3
  301. package/dist/types/hooks/useStorage.d.ts +32 -2
  302. package/dist/types/i18n/index.d.ts +27 -3
  303. package/dist/types/index.d.ts +106 -18
  304. package/dist/types/types/colors.d.ts +29 -0
  305. package/dist/types/types/index.d.ts +216 -76
  306. package/dist/types/typography/Abbr.d.ts +51 -6
  307. package/dist/types/typography/Anchor.d.ts +41 -0
  308. package/dist/types/typography/Copy.d.ts +36 -2
  309. package/dist/types/typography/Kbd.d.ts +40 -0
  310. package/dist/types/typography/Mark.d.ts +44 -7
  311. package/dist/types/typography/Text.d.ts +40 -24
  312. package/dist/types/typography/Title.d.ts +37 -26
  313. package/dist/types/typography/types.d.ts +32 -0
  314. package/dist/types/utils/calculateDimensions.d.ts +50 -6
  315. package/dist/types/utils/cloneElement.d.ts +41 -0
  316. package/dist/types/utils/getBadgeProps.d.ts +16 -0
  317. package/dist/types/utils/getColor.d.ts +43 -4
  318. package/dist/types/utils/getIconProps.d.ts +45 -0
  319. package/dist/types/utils/getTooltipProps.d.ts +47 -0
  320. package/dist/types/utils/index.d.ts +28 -0
  321. package/dist/types/utils/nodeCheck.d.ts +1 -2
  322. package/package.json +30 -21
  323. package/src/components/actionLabel/ActionLabel.tsx +28 -39
  324. package/src/components/alert/Alert.tsx +261 -0
  325. package/src/components/animations/Indicator.tsx +75 -0
  326. package/src/components/animations/Loader.tsx +89 -0
  327. package/src/components/animations/LoadingBars.tsx +70 -0
  328. package/src/components/animations/LoadingLine.tsx +51 -0
  329. package/src/components/animations/LoadingSpinner.tsx +70 -0
  330. package/src/components/animations/Skeleton.tsx +100 -0
  331. package/src/components/avatar/Avatar.tsx +89 -70
  332. package/src/components/avatar/AvatarGroup.tsx +65 -74
  333. package/src/components/badge/Badge.tsx +141 -108
  334. package/src/components/button/Button.tsx +223 -238
  335. package/src/components/button/ButtonGroup.tsx +117 -77
  336. package/src/components/button/ConfirmButton.tsx +60 -90
  337. package/src/components/button/ToggleButtonGroup.tsx +134 -120
  338. package/src/components/callout/Callout.tsx +81 -59
  339. package/src/components/card/Card.tsx +131 -113
  340. package/src/components/card/CardCover.tsx +61 -61
  341. package/src/components/card/FlipContent.tsx +78 -0
  342. package/src/components/chip/Chip.tsx +139 -99
  343. package/src/components/collapsable/Collapsable.tsx +79 -77
  344. package/src/components/divider/Divider.tsx +74 -53
  345. package/src/components/dropdown/Dropdown.tsx +109 -106
  346. package/src/components/dropdown/DropdownTool.tsx +29 -12
  347. package/src/components/effect/GlassEffect.tsx +221 -0
  348. package/src/components/effect/MatteEffect.tsx +99 -0
  349. package/src/components/effect/StyleEffect.tsx +36 -0
  350. package/src/components/empty/EmptyContent.tsx +60 -99
  351. package/src/components/flyout/Flyout.tsx +257 -0
  352. package/src/components/hotkey/HotKey.tsx +57 -0
  353. package/src/components/icon/Icon.tsx +131 -130
  354. package/src/components/media/Media.tsx +184 -154
  355. package/src/components/menu/ContextMenu.tsx +56 -39
  356. package/src/components/menu/Menu.tsx +121 -84
  357. package/src/components/menu/MenuItem.tsx +87 -69
  358. package/src/components/menu/types.ts +23 -28
  359. package/src/components/meter/Meter.tsx +34 -17
  360. package/src/components/modal/Modal.tsx +226 -0
  361. package/src/components/navigator/Navigator.tsx +93 -38
  362. package/src/components/panel/Panel.tsx +123 -131
  363. package/src/components/panel/PanelGroup.tsx +49 -43
  364. package/src/components/panel/PanelStack.tsx +63 -62
  365. package/src/components/pillbox/Pillbox.tsx +208 -0
  366. package/src/components/progress/ProgressBar.tsx +33 -33
  367. package/src/components/progress/ProgressCircle.tsx +29 -37
  368. package/src/components/tabpanel/Tab.tsx +84 -73
  369. package/src/components/tabpanel/TabPanel.tsx +102 -51
  370. package/src/components/titlebar/Titlebar.tsx +115 -0
  371. package/src/components/tooltip/Tooltip.tsx +255 -0
  372. package/src/context/Global.tsx +148 -148
  373. package/src/context/ModalManager.tsx +68 -0
  374. package/src/context/context.ts +111 -0
  375. package/src/core/areaToggle/AreaToggle.tsx +45 -0
  376. package/src/core/aside/Aside.tsx +200 -155
  377. package/src/core/boundary/ErrorBoundary.tsx +50 -68
  378. package/src/core/boundary/ErrorIcon.tsx +34 -32
  379. package/src/core/content/Content.tsx +41 -50
  380. package/src/core/headfoot/HeadFoot.tsx +162 -81
  381. package/src/core/layout/Layout.tsx +54 -0
  382. package/src/core/responsive/Responsive.tsx +91 -98
  383. package/src/core/theme/ThemeProvider.tsx +45 -56
  384. package/src/core/viewport/Viewport.tsx +25 -27
  385. package/src/hooks/useClientService.ts +47 -0
  386. package/src/hooks/useContextMenu.tsx +131 -0
  387. package/src/hooks/useControlledValue.ts +47 -0
  388. package/src/hooks/useDebounce.ts +41 -24
  389. package/src/hooks/useEffectDebugger.ts +105 -94
  390. package/src/hooks/useIsDark.ts +10 -24
  391. package/src/hooks/useIsRtl.ts +32 -20
  392. package/src/hooks/useNavigator.tsx +41 -26
  393. package/src/hooks/useNotificationService.tsx +239 -0
  394. package/src/hooks/useOverlayService.tsx +67 -20
  395. package/src/hooks/usePropState.ts +52 -0
  396. package/src/hooks/usePropToggle.ts +54 -47
  397. package/src/hooks/useResize.ts +69 -45
  398. package/src/hooks/useResizeObserver.ts +59 -34
  399. package/src/hooks/useStorage.ts +40 -48
  400. package/src/i18n/index.ts +24 -25
  401. package/src/index.ts +115 -44
  402. package/src/types/colors.ts +49 -0
  403. package/src/types/global.d.ts +40 -17
  404. package/src/types/index.ts +243 -155
  405. package/src/typography/Abbr.tsx +62 -59
  406. package/src/typography/Anchor.tsx +63 -0
  407. package/src/typography/Copy.tsx +39 -29
  408. package/src/typography/Kbd.tsx +50 -0
  409. package/src/typography/Mark.tsx +56 -51
  410. package/src/typography/Text.tsx +57 -128
  411. package/src/typography/Title.tsx +36 -108
  412. package/src/typography/types.ts +27 -17
  413. package/src/utils/calculateDimensions.ts +50 -40
  414. package/src/utils/cloneElement.ts +61 -0
  415. package/src/{core/content/Content.module.css → utils/getBadgeProps.ts} +20 -15
  416. package/src/utils/getColor.ts +42 -36
  417. package/src/utils/getIconProps.ts +58 -0
  418. package/src/utils/getTooltipProps.ts +59 -0
  419. package/src/utils/index.ts +23 -17
  420. package/src/utils/nodeCheck.ts +4 -8
  421. package/css/flags.rect.css +0 -1607
  422. package/css/flags.wavy.css +0 -1606
  423. package/css/index.js +0 -250
  424. package/css/tailwind/colors.ts +0 -158
  425. package/dist/cjs/components/actionLabel/ActionLabel.module.css +0 -1
  426. package/dist/cjs/components/animations/Animations.js +0 -142
  427. package/dist/cjs/components/animations/Animations.module.css +0 -1
  428. package/dist/cjs/components/avatar/Avatar.module.css +0 -1
  429. package/dist/cjs/components/badge/Badge.module.css +0 -1
  430. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +0 -71
  431. package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  432. package/dist/cjs/components/button/Button.module.css +0 -1
  433. package/dist/cjs/components/card/Card.module.css +0 -1
  434. package/dist/cjs/components/chip/Chip.module.css +0 -1
  435. package/dist/cjs/components/collapsable/Collapsable.module.css +0 -1
  436. package/dist/cjs/components/dropdown/Dropdown.module.css +0 -1
  437. package/dist/cjs/components/icon/Icon.module.css +0 -1
  438. package/dist/cjs/components/media/Media.module.css +0 -1
  439. package/dist/cjs/components/menu/Menu.module.css +0 -1
  440. package/dist/cjs/components/meter/Meter.module.css +0 -1
  441. package/dist/cjs/components/panel/Panel.module.css +0 -1
  442. package/dist/cjs/components/progress/Progress.module.css +0 -1
  443. package/dist/cjs/components/tabpanel/TabPanel.module.css +0 -1
  444. package/dist/cjs/context/NotificationCenter.js +0 -254
  445. package/dist/cjs/core/aside/Aside.module.css +0 -1
  446. package/dist/cjs/core/boundary/ErrorBoundary.module.css +0 -1
  447. package/dist/cjs/core/content/Content.module.css +0 -1
  448. package/dist/cjs/core/headfoot/HeadFoot.module.css +0 -1
  449. package/dist/cjs/core/page/Page.js +0 -66
  450. package/dist/cjs/core/page/Page.module.css +0 -1
  451. package/dist/cjs/core/responsive/Responsive.module.css +0 -1
  452. package/dist/cjs/core/section/Section.module.css +0 -1
  453. package/dist/cjs/core/theme/Theme.module.css +0 -1
  454. package/dist/cjs/core/viewport/Viewport.module.css +0 -1
  455. package/dist/cjs/hotkeys/HotKey.js +0 -47
  456. package/dist/cjs/hotkeys/HotKeyLabel.js +0 -52
  457. package/dist/cjs/hotkeys/HotKeyWrapper.js +0 -98
  458. package/dist/cjs/hotkeys/commons.js +0 -56
  459. package/dist/cjs/overlays/alert/Alert.module.css +0 -1
  460. package/dist/cjs/overlays/flyout/Flyout.js +0 -152
  461. package/dist/cjs/overlays/flyout/Flyout.module.css +0 -1
  462. package/dist/cjs/overlays/message/Message.js +0 -84
  463. package/dist/cjs/overlays/message/Message.module.css +0 -1
  464. package/dist/cjs/overlays/modal/Modal.js +0 -132
  465. package/dist/cjs/overlays/modal/Modal.module.css +0 -1
  466. package/dist/cjs/overlays/toast/Toast.js +0 -166
  467. package/dist/cjs/overlays/toast/Toast.module.css +0 -1
  468. package/dist/cjs/overlays/tooltip/Tooltip.js +0 -133
  469. package/dist/cjs/overlays/tooltip/Tooltip.module.css +0 -1
  470. package/dist/cjs/types/icons.js +0 -200
  471. package/dist/cjs/typography/Link.js +0 -55
  472. package/dist/cjs/typography/Typography.module.css +0 -1
  473. package/dist/cjs/typography/types.js +0 -42
  474. package/dist/esm/components/actionLabel/ActionLabel.module.css +0 -1
  475. package/dist/esm/components/animations/Animations.js +0 -138
  476. package/dist/esm/components/animations/Animations.module.css +0 -1
  477. package/dist/esm/components/avatar/Avatar.module.css +0 -1
  478. package/dist/esm/components/badge/Badge.module.css +0 -1
  479. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +0 -71
  480. package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  481. package/dist/esm/components/button/Button.module.css +0 -1
  482. package/dist/esm/components/card/Card.module.css +0 -1
  483. package/dist/esm/components/chip/Chip.module.css +0 -1
  484. package/dist/esm/components/collapsable/Collapsable.module.css +0 -1
  485. package/dist/esm/components/dropdown/Dropdown.module.css +0 -1
  486. package/dist/esm/components/icon/Icon.module.css +0 -1
  487. package/dist/esm/components/media/Media.module.css +0 -1
  488. package/dist/esm/components/menu/Menu.module.css +0 -1
  489. package/dist/esm/components/meter/Meter.module.css +0 -1
  490. package/dist/esm/components/panel/Panel.module.css +0 -1
  491. package/dist/esm/components/progress/Progress.module.css +0 -1
  492. package/dist/esm/components/tabpanel/TabPanel.module.css +0 -1
  493. package/dist/esm/context/NotificationCenter.js +0 -254
  494. package/dist/esm/core/aside/Aside.module.css +0 -1
  495. package/dist/esm/core/boundary/ErrorBoundary.module.css +0 -1
  496. package/dist/esm/core/content/Content.module.css +0 -1
  497. package/dist/esm/core/headfoot/HeadFoot.module.css +0 -1
  498. package/dist/esm/core/page/Page.js +0 -66
  499. package/dist/esm/core/page/Page.module.css +0 -1
  500. package/dist/esm/core/responsive/Responsive.module.css +0 -1
  501. package/dist/esm/core/section/Section.module.css +0 -1
  502. package/dist/esm/core/theme/Theme.module.css +0 -1
  503. package/dist/esm/core/viewport/Viewport.module.css +0 -1
  504. package/dist/esm/hotkeys/HotKey.js +0 -47
  505. package/dist/esm/hotkeys/HotKeyLabel.js +0 -52
  506. package/dist/esm/hotkeys/HotKeyWrapper.js +0 -96
  507. package/dist/esm/hotkeys/commons.js +0 -56
  508. package/dist/esm/overlays/alert/Alert.module.css +0 -1
  509. package/dist/esm/overlays/flyout/Flyout.js +0 -152
  510. package/dist/esm/overlays/flyout/Flyout.module.css +0 -1
  511. package/dist/esm/overlays/message/Message.js +0 -84
  512. package/dist/esm/overlays/message/Message.module.css +0 -1
  513. package/dist/esm/overlays/modal/Modal.js +0 -132
  514. package/dist/esm/overlays/modal/Modal.module.css +0 -1
  515. package/dist/esm/overlays/toast/Toast.js +0 -166
  516. package/dist/esm/overlays/toast/Toast.module.css +0 -1
  517. package/dist/esm/overlays/tooltip/Tooltip.js +0 -132
  518. package/dist/esm/overlays/tooltip/Tooltip.module.css +0 -1
  519. package/dist/esm/types/icons.js +0 -202
  520. package/dist/esm/typography/Link.js +0 -55
  521. package/dist/esm/typography/Typography.module.css +0 -1
  522. package/dist/esm/typography/types.js +0 -41
  523. package/dist/types/components/animations/Animations.d.ts +0 -23
  524. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +0 -17
  525. package/dist/types/components/index.d.ts +0 -33
  526. package/dist/types/context/NotificationCenter.d.ts +0 -11
  527. package/dist/types/core/index.d.ts +0 -9
  528. package/dist/types/core/page/Page.d.ts +0 -23
  529. package/dist/types/core/section/Section.d.ts +0 -7
  530. package/dist/types/hotkeys/HotKey.d.ts +0 -2
  531. package/dist/types/hotkeys/HotKeyLabel.d.ts +0 -2
  532. package/dist/types/hotkeys/HotKeyWrapper.d.ts +0 -11
  533. package/dist/types/hotkeys/commons.d.ts +0 -28
  534. package/dist/types/overlays/alert/Alert.d.ts +0 -41
  535. package/dist/types/overlays/flyout/Flyout.d.ts +0 -57
  536. package/dist/types/overlays/index.d.ts +0 -6
  537. package/dist/types/overlays/message/Message.d.ts +0 -21
  538. package/dist/types/overlays/modal/Modal.d.ts +0 -53
  539. package/dist/types/overlays/toast/Toast.d.ts +0 -33
  540. package/dist/types/overlays/tooltip/Tooltip.d.ts +0 -18
  541. package/dist/types/types/icons.d.ts +0 -197
  542. package/dist/types/typography/Link.d.ts +0 -25
  543. package/dist/types/typography/index.d.ts +0 -6
  544. package/src/components/animations/Animations.module.css +0 -253
  545. package/src/components/animations/Animations.tsx +0 -196
  546. package/src/components/avatar/Avatar.module.css +0 -90
  547. package/src/components/badge/Badge.module.css +0 -165
  548. package/src/components/breadcrumbs/Breadcrumbs.module.css +0 -189
  549. package/src/components/breadcrumbs/Breadcrumbs.tsx +0 -109
  550. package/src/components/button/Button.module.css +0 -375
  551. package/src/components/card/Card.module.css +0 -152
  552. package/src/components/chip/Chip.module.css +0 -118
  553. package/src/components/collapsable/Collapsable.module.css +0 -30
  554. package/src/components/icon/Icon.module.css +0 -71
  555. package/src/components/index.ts +0 -62
  556. package/src/components/media/Media.module.css +0 -112
  557. package/src/context/NotificationCenter.tsx +0 -223
  558. package/src/core/aside/Aside.module.css +0 -231
  559. package/src/core/boundary/ErrorBoundary.module.css +0 -65
  560. package/src/core/headfoot/HeadFoot.module.css +0 -38
  561. package/src/core/index.ts +0 -32
  562. package/src/core/page/Page.module.css +0 -46
  563. package/src/core/page/Page.tsx +0 -101
  564. package/src/core/responsive/Responsive.module.css +0 -85
  565. package/src/core/section/Section.module.css +0 -28
  566. package/src/core/section/Section.tsx +0 -54
  567. package/src/core/theme/Theme.module.css +0 -30
  568. package/src/core/viewport/Viewport.module.css +0 -32
  569. package/src/hooks/useControlledValue.tsx +0 -43
  570. package/src/hotkeys/HotKey.tsx +0 -39
  571. package/src/hotkeys/HotKeyLabel.tsx +0 -61
  572. package/src/hotkeys/HotKeyWrapper.tsx +0 -137
  573. package/src/hotkeys/commons.ts +0 -74
  574. package/src/overlays/alert/Alert.tsx +0 -252
  575. package/src/overlays/flyout/Flyout.tsx +0 -283
  576. package/src/overlays/index.ts +0 -29
  577. package/src/overlays/message/Message.tsx +0 -107
  578. package/src/overlays/modal/Modal.tsx +0 -244
  579. package/src/overlays/toast/Toast.module.css +0 -37
  580. package/src/overlays/toast/Toast.tsx +0 -216
  581. package/src/overlays/tooltip/Tooltip.module.css +0 -53
  582. package/src/overlays/tooltip/Tooltip.tsx +0 -200
  583. package/src/types/icons.ts +0 -426
  584. package/src/typography/Link.tsx +0 -113
  585. package/src/typography/Typography.module.css +0 -68
  586. package/src/typography/index.ts +0 -29
  587. /package/dist/cjs/i18n/{ar.json.js → ar/core.json.js} +0 -0
  588. /package/dist/cjs/i18n/{en.json.js → en/core.json.js} +0 -0
  589. /package/dist/esm/i18n/{ar.json.js → ar/core.json.js} +0 -0
  590. /package/dist/esm/i18n/{en.json.js → en/core.json.js} +0 -0
  591. /package/src/i18n/{ar.json → ar/core.json} +0 -0
  592. /package/src/i18n/{en.json → en/core.json} +0 -0
@@ -2,37 +2,69 @@
2
2
 
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
- import classNames from 'classnames';
6
- import { useRef, useState, useEffect, useCallback, useMemo } from 'react';
7
- import { Loading } from '../../components/animations/Animations.js';
5
+ import { cn } from '@react-fabric/utilities';
6
+ import { useRef, useState, useEffect, useMemo, Activity } from 'react';
7
+ import { StyleEffect } from '../../components/effect/StyleEffect.js';
8
8
  import { Icon } from '../../components/icon/Icon.js';
9
+ import { Titlebar } from '../../components/titlebar/Titlebar.js';
10
+ import { useGlobals } from '../../context/context.js';
9
11
  import { useLayoutEffectDebugger } from '../../hooks/useEffectDebugger.js';
12
+ import { usePropState } from '../../hooks/usePropState.js';
10
13
  import { usePropToggle } from '../../hooks/usePropToggle.js';
11
14
  import { useResize } from '../../hooks/useResize.js';
12
- import { CoreIcons } from '../../types/icons.js';
13
- import { ErrorBoundary } from '../boundary/ErrorBoundary.js';
14
- import classes from './Aside.module.css';
15
15
  import { jsxs, jsx } from 'react/jsx-runtime';
16
+ import { getIconProps } from '../../utils/getIconProps.js';
17
+ import { ErrorBoundary } from '../boundary/ErrorBoundary.js';
16
18
 
17
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
21
  /**
20
- * Side panel
22
+ * A sidebar component that can be collapsed, resized, and has a flyout feature.
23
+ * It supports a title, icon, actions, and loading state.
24
+ * It can be aligned to the start or end of the page.
25
+ *
26
+ * @example
27
+ * ```jsx
28
+ * <Aside
29
+ * title="Sidebar Title"
30
+ * icon=icon-[mdi--menu]
31
+ * rtlFlip={true}
32
+ * className="custom-aside"
33
+ * bodyClassName="custom-aside-body"
34
+ * headerClassName="custom-aside-header"
35
+ * resizeable={true}
36
+ * flyout={true}
37
+ * onFlyout={() => console.log("Flyout triggered")}
38
+ * collapsed={false}
39
+ * collapsable={true}
40
+ * onCollapse={() => console.log("Collapsed toggled")}
41
+ * actions={<button>Action</button>}
42
+ * loading={false}
43
+ * align="start"
44
+ * width="20rem"
45
+ * minWidth="2rem"
46
+ * maxWidth="30vw"
47
+ * data-testid="aside-test"
48
+ * data-test-value="aside-value"
49
+ * >
50
+ * <Content>This is the content of the aside.</Content>
51
+ * </Aside>
52
+ * ```
21
53
  */
22
- var Aside = function Aside(_ref) {
54
+ function Aside(_ref) {
23
55
  var children = _ref.children,
24
56
  title = _ref.title,
25
57
  icon = _ref.icon,
26
- iconBg = _ref.iconBg,
27
- iconColor = _ref.iconColor,
28
- rtlFlip = _ref.rtlFlip,
58
+ id = _ref.id,
59
+ margin = _ref.margin,
60
+ hideCollapseHandle = _ref.hideCollapseHandle,
29
61
  className = _ref.className,
30
- bodyClassName = _ref.bodyClassName,
31
- headerClassName = _ref.headerClassName,
62
+ classNames = _ref.classNames,
32
63
  resizeable = _ref.resizeable,
33
- flyout = _ref.flyout,
64
+ enableFlyout = _ref.enableFlyout,
34
65
  onFlyout = _ref.onFlyout,
35
- collapsed = _ref.collapsed,
66
+ onResize = _ref.onResize,
67
+ _collapsed = _ref.collapsed,
36
68
  collapsable = _ref.collapsable,
37
69
  onCollapse = _ref.onCollapse,
38
70
  actions = _ref.actions,
@@ -48,44 +80,53 @@ var Aside = function Aside(_ref) {
48
80
  testId = _ref["data-testid"],
49
81
  testValue = _ref["data-test-value"];
50
82
  var elementRef = useRef(null);
51
- var _useState = useState(wd),
83
+ var _usePropState = usePropState(wd),
84
+ _usePropState2 = _slicedToArray(_usePropState, 2),
85
+ width = _usePropState2[0],
86
+ setWidth = _usePropState2[1];
87
+ var _useState = useState(false),
52
88
  _useState2 = _slicedToArray(_useState, 2),
53
- width = _useState2[0],
54
- setWidth = _useState2[1];
55
- var _useState3 = useState(false),
56
- _useState4 = _slicedToArray(_useState3, 2),
57
- peek = _useState4[0],
58
- setPeek = _useState4[1];
59
- var _usePropToggle = usePropToggle(collapsed, onCollapse),
89
+ peek = _useState2[0],
90
+ setPeek = _useState2[1];
91
+ var _useGlobals = useGlobals(),
92
+ registerArea = _useGlobals.registerArea,
93
+ unregisterArea = _useGlobals.unregisterArea;
94
+ var _usePropToggle = usePropToggle(_collapsed, onCollapse),
60
95
  _usePropToggle2 = _slicedToArray(_usePropToggle, 2),
61
- isCollapsed = _usePropToggle2[0],
62
- toggleCollapse = _usePropToggle2[1];
63
- useEffect(function () {
64
- setWidth(wd);
65
- }, [wd]);
66
- var handleResize = useRef(function (_ref2) {
96
+ collapsed = _usePropToggle2[0],
97
+ onToggle = _usePropToggle2[1];
98
+ var handleResizeRef = useRef(function (_ref2) {
67
99
  var x = _ref2.x;
68
100
  if (elementRef.current != null) {
69
- setWidth(elementRef.current.offsetWidth + x);
101
+ if (x !== 0) setWidth(elementRef.current.offsetWidth + x);
70
102
  }
71
103
  });
72
- var resizeHandleProps = useResize(handleResize.current, {
73
- isReverse: align === "end"
74
- });
75
- var tryPeek = useCallback(function () {
76
- if (isCollapsed) {
77
- if (flyout) {
78
- setPeek(!peek);
79
- !peek && (onFlyout === null || onFlyout === void 0 ? void 0 : onFlyout());
104
+ var _useResize = useResize(handleResizeRef.current, {
105
+ isReverse: align === "end",
106
+ onEnd: function onEnd() {
107
+ var _ref$current;
108
+ var width = (_ref$current = ref.current) === null || _ref$current === void 0 || (_ref$current = _ref$current.parentElement) === null || _ref$current === void 0 ? void 0 : _ref$current.offsetWidth;
109
+ setWidth(width);
110
+ onResize === null || onResize === void 0 || onResize(width !== null && width !== void 0 ? width : 0);
111
+ }
112
+ }),
113
+ ref = _useResize.ref,
114
+ isResizing = _useResize.isResizing,
115
+ onMouseDown = _useResize.onMouseDown;
116
+ var tryPeek = function tryPeek(force) {
117
+ if (collapsed) {
118
+ if (enableFlyout) {
119
+ setPeek(force !== null && force !== void 0 ? force : !peek);
120
+ if (force !== null && force !== void 0 ? force : !peek) onFlyout === null || onFlyout === void 0 || onFlyout();
80
121
  } else {
81
- void toggleCollapse();
122
+ void onToggle(force);
82
123
  }
83
124
  }
84
- }, [peek, flyout, isCollapsed, onFlyout, toggleCollapse]);
125
+ };
85
126
  useLayoutEffectDebugger(function () {
86
- if (peek) {
127
+ if (!isResizing && peek) {
87
128
  var handler = function handler(e) {
88
- if (e.target.closest("[data-ref=\"asideBody\"]") == null && e.target.closest("[data-ref=\"asidePlaceholder\"]") == null) {
129
+ if (e.target.closest("[data-dismiss=\"true\"]") !== null || e.target.closest("[data-ref=\"aside-container\"]") === null && e.target.closest("[data-ref=\"aside-placeholder\"]") === null) {
89
130
  setPeek(false);
90
131
  }
91
132
  };
@@ -94,7 +135,18 @@ var Aside = function Aside(_ref) {
94
135
  return document.removeEventListener("mouseup", handler);
95
136
  };
96
137
  }
97
- }, [peek], "Aside peek");
138
+ }, [peek, isResizing], "Aside peek");
139
+ useEffect(function () {
140
+ if (id) {
141
+ registerArea(id, function (open) {
142
+ tryPeek(open);
143
+ });
144
+ return function () {
145
+ return unregisterArea(id);
146
+ };
147
+ }
148
+ // eslint-disable-next-line @eslint-react/exhaustive-deps
149
+ }, [id]);
98
150
  var widthStyles = useMemo(function () {
99
151
  return {
100
152
  width: width,
@@ -103,55 +155,98 @@ var Aside = function Aside(_ref) {
103
155
  };
104
156
  }, [width, minWidth, maxWidth]);
105
157
  return /*#__PURE__*/jsxs("aside", {
106
- className: classNames(classes.aside, className, "overflow-hidden grid"),
158
+ className: cn("fabric-aside", className, "grid relative min-h-0 z-2", collapsed && (enableFlyout ? "w-fit" : "w-0")),
107
159
  "data-align": align,
108
- "data-flyout": peek,
160
+ "data-peek": peek,
161
+ "data-flyout": enableFlyout,
109
162
  "data-loading": loading,
110
- "data-collapsed": isCollapsed,
111
- style: isCollapsed ? undefined : widthStyles,
163
+ "data-collapsed": collapsed,
112
164
  "data-testid": testId,
113
165
  "data-test-value": testValue,
114
- children: [/*#__PURE__*/jsxs("header", {
115
- className: classNames(classes.asideHeader, headerClassName, "grid area-head items-center"),
116
- "data-testid": "aside-header",
117
- children: [title && /*#__PURE__*/jsx("div", {
118
- className: classNames(classes.asideTitle, "truncate py-0.5 px-1 select-none pointer-events-none"),
166
+ "data-ref": "aside",
167
+ style: {
168
+ "--aside-margin": "calc(var(--spacing) * ".concat(margin !== null && margin !== void 0 ? margin : 0, ")")
169
+ },
170
+ children: [collapsed && enableFlyout && /*#__PURE__*/jsxs("div", {
171
+ role: "none",
172
+ onClick: function onClick() {
173
+ return tryPeek();
174
+ },
175
+ "data-ref": "aside-placeholder",
176
+ className: cn("fabric-asidePlaceholder", classNames === null || classNames === void 0 ? void 0 : classNames.root, classNames === null || classNames === void 0 ? void 0 : classNames.body, "overflow-hidden"),
177
+ children: [/*#__PURE__*/jsx(StyleEffect, {}), icon && /*#__PURE__*/jsx(Icon, _objectSpread({
178
+ className: cn("fabric-asideIcon", classNames === null || classNames === void 0 ? void 0 : classNames.icon, "p-1 text-lg select-none pointer-events-none")
179
+ }, getIconProps(icon))), /*#__PURE__*/jsx("div", {
180
+ "data-ref": "aside-title",
181
+ className: cn("fabric-asideTitle", classNames === null || classNames === void 0 ? void 0 : classNames.title, "truncate py-0.5 px-1 select-none pointer-events-none"),
119
182
  children: title
120
- }), collapsable && /*#__PURE__*/jsx(Icon, {
121
- "aria-label": isCollapsed ? "expand" : "collapse",
122
- className: classNames(classes.asideCollapse, "p-2 select-none"),
123
- icon: CoreIcons.chevronLeft,
124
- rtlFlip: true,
125
- onClick: toggleCollapse,
126
- "data-ref": "asideToggle"
127
- }), icon && /*#__PURE__*/jsx(Icon, {
183
+ }), /*#__PURE__*/jsx("div", {
184
+ role: "none",
185
+ "data-dismiss": "true",
186
+ className: "area-[pin] p-2 hover:bg-primary-500/10 cursor-pointer flex items-center justify-center",
187
+ onMouseDown: function onMouseDown(e) {
188
+ return e.stopPropagation();
189
+ },
190
+ onClick: function onClick() {
191
+ return onToggle();
192
+ },
193
+ children: /*#__PURE__*/jsx(Icon, {
194
+ icon: "icon-[mdi--pin-outline]",
195
+ className: "rotate-30"
196
+ })
197
+ })]
198
+ }), /*#__PURE__*/jsxs("div", {
199
+ "data-ref": "aside-container",
200
+ className: cn("fabric-asideContainer", classNames === null || classNames === void 0 ? void 0 : classNames.root, "overflow-hidden grid"),
201
+ ref: elementRef,
202
+ style: widthStyles,
203
+ children: [/*#__PURE__*/jsx(StyleEffect, {}), /*#__PURE__*/jsx(Titlebar, {
204
+ title: title,
128
205
  icon: icon,
129
- bg: iconBg,
130
- color: iconColor,
131
- rtlFlip: rtlFlip,
132
- className: classNames(classes.asideIcon, "p-1 text-lg select-none pointer-events-none")
133
- }), actions && /*#__PURE__*/jsx("div", {
134
- className: classes.asideActions,
135
- children: actions
206
+ actions: actions,
207
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.titlebar
208
+ }), /*#__PURE__*/jsx(Activity, {
209
+ mode: peek || !collapsed ? "visible" : "hidden",
210
+ children: /*#__PURE__*/jsx(ErrorBoundary, {
211
+ children: children
212
+ })
213
+ }), enableFlyout && !hideCollapseHandle && /*#__PURE__*/jsx("div", {
214
+ role: "none",
215
+ "data-dismiss": "true",
216
+ className: "area-[pin] p-2 hover:bg-primary-500/10 cursor-pointer flex items-center justify-center bg-tint-500/10",
217
+ onMouseDown: function onMouseDown(e) {
218
+ return e.stopPropagation();
219
+ },
220
+ onClick: function onClick() {
221
+ return onToggle();
222
+ },
223
+ children: !collapsed ? /*#__PURE__*/jsx(Icon, {
224
+ icon: "icon-[mdi--pin]"
225
+ }) : /*#__PURE__*/jsx(Icon, {
226
+ icon: "icon-[mdi--pin-outline]",
227
+ className: "rotate-30"
228
+ })
229
+ }), /*#__PURE__*/jsx("div", {
230
+ ref: ref,
231
+ role: "none",
232
+ "data-ref": "resize-handle",
233
+ onMouseDown: onMouseDown,
234
+ className: cn("fabric-asideResizer", resizeable && "before:absolute before:top-1/2 before:-translate-y-1/2 before:content-['⋮'] before:leading-0", "after:absolute after:transform-[height] after:border-solid after:border-s-2 after:h-0 after:m-auto after:inset-y-0 after:border-s-primary-500", resizeable && "hover:after:duration-500 hover:after:h-full", align === "start" ? "before:-inset-e-px" : "before:-inset-s-px", isResizing && "after:h-full", resizeable ? "w-1 cursor-col-resize bg-tint-50 border-x border-tint-300/50 -mx-px" : "w-0 border-0 pointer-events-none")
136
235
  })]
137
- }), loading && /*#__PURE__*/jsx(Loading, {}), isCollapsed && /*#__PURE__*/jsx("div", {
236
+ }), collapsable && !enableFlyout && !hideCollapseHandle && /*#__PURE__*/jsx("div", {
138
237
  role: "none",
139
- onClick: tryPeek,
140
- "data-ref": "asidePlaceholder",
141
- className: classes.asidePlaceholder
142
- }), /*#__PURE__*/jsx("section", {
143
- ref: elementRef,
144
- "data-ref": "asideBody",
145
- className: classNames(classes.asideBody, bodyClassName, "overflow-hidden grid"),
146
- style: isCollapsed ? widthStyles : undefined,
147
- "data-testid": "aside-body",
148
- children: /*#__PURE__*/jsx(ErrorBoundary, {
149
- children: children
238
+ className: cn("absolute z-1 h-16 w-2 py-6 leading-0 m-auto inset-y-0", "bg-dimmed text-dimmed outline outline-tint-200/50 rounded-sm cursor-pointer pointer-events-auto", align === "start" ? "rounded-s-none -inset-e-2" : "rounded-e-none -inset-s-2", !collapsed && "opacity-70 hover:opacity-100 hover:bg-default hover:outline-default"),
239
+ onMouseDown: function onMouseDown(e) {
240
+ return e.stopPropagation();
241
+ },
242
+ onClick: function onClick() {
243
+ return onToggle();
244
+ },
245
+ children: /*#__PURE__*/jsx("i", {
246
+ className: "-ms-1 inline-block rtl:-scale-100 " + (collapsed && align === "start" || !collapsed && align === "end" ? "icon-[mdi--chevron-right]" : "icon-[mdi--chevron-left]")
150
247
  })
151
- }), resizeable && /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({}, resizeHandleProps), {}, {
152
- className: classNames(classes.asideResizer, "before:absolute before:inset-0 before:w-1 before:top-1/2 before:-translate-y-1/2 before:transition-all")
153
- }))]
248
+ })]
154
249
  });
155
- };
250
+ }
156
251
 
157
252
  export { Aside };
@@ -6,16 +6,11 @@ import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstruct
6
6
  import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
7
7
  import _inherits from '@babel/runtime/helpers/inherits';
8
8
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
9
- import { useLogger } from '@react-fabric/utilities';
10
- import classNames from 'classnames';
11
- import { Component } from 'react';
9
+ import { Component, useState } from 'react';
12
10
  import { useTranslation } from 'react-i18next';
13
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
14
- import { useMemoDebugger } from '../../hooks/useEffectDebugger.js';
15
- import { usePropToggle } from '../../hooks/usePropToggle.js';
16
- import classes from './ErrorBoundary.module.css';
11
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
12
+ import { useGlobals } from '../../context/context.js';
17
13
  import { ErrorIcon } from './ErrorIcon.js';
18
- import { useGlobals } from '../../context/Global.js';
19
14
 
20
15
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
21
16
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
@@ -33,17 +28,15 @@ var DefaultError = function DefaultError(_ref) {
33
28
  });
34
29
  };
35
30
  var ErrorMessage = function ErrorMessage(_ref2) {
31
+ var _ref3;
36
32
  var error = _ref2.error,
37
33
  errorElement = _ref2.errorElement;
38
34
  var _useGlobals = useGlobals(),
39
35
  globalError = _useGlobals.errorElement;
40
- var EE = useMemoDebugger(function () {
41
- var _ref3;
42
- return (_ref3 = errorElement !== null && errorElement !== void 0 ? errorElement : globalError) !== null && _ref3 !== void 0 ? _ref3 : DefaultError;
43
- }, [], "ErrorBoundary element");
36
+ var EE = (_ref3 = errorElement !== null && errorElement !== void 0 ? errorElement : globalError) !== null && _ref3 !== void 0 ? _ref3 : DefaultError;
44
37
  return /*#__PURE__*/jsxs(Fragment, {
45
38
  children: [/*#__PURE__*/jsx(ErrorIcon, {}), /*#__PURE__*/jsx("div", {
46
- className: classNames(classes.boundaryMessage, "p-2"),
39
+ className: "fabric-boundaryMessage p-2",
47
40
  children: /*#__PURE__*/jsx(EE, {
48
41
  error: error
49
42
  })
@@ -53,24 +46,29 @@ var ErrorMessage = function ErrorMessage(_ref2) {
53
46
  var ErrorStack = function ErrorStack(_ref4) {
54
47
  var error = _ref4.error,
55
48
  stack = _ref4.stack;
56
- var _usePropToggle = usePropToggle(false),
57
- _usePropToggle2 = _slicedToArray(_usePropToggle, 2),
58
- show = _usePropToggle2[0],
59
- toggleShow = _usePropToggle2[1];
60
- useLogger().error(error, {}, stack);
49
+ var _useState = useState(false),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ show = _useState2[0],
52
+ setShow = _useState2[1];
53
+ console.error(error, {}, stack);
61
54
  return /*#__PURE__*/jsxs("div", {
62
- className: classNames(classes.boundaryDetail, "overflow-hidden grid"),
55
+ className: "fabric-boundaryDetail overflow-hidden grid",
63
56
  children: [/*#__PURE__*/jsx("div", {
64
- className: classNames(classes.boundaryLink, "px-2 py-1 text-xs text-end"),
57
+ className: "fabric-boundaryLink px-2 py-1 text-xs text-end",
65
58
  children: /*#__PURE__*/jsx("span", {
66
59
  role: "link",
67
60
  tabIndex: 0,
68
61
  className: "link",
69
- onClick: toggleShow,
62
+ onClick: function onClick() {
63
+ return setShow(!show);
64
+ },
65
+ onKeyDown: function onKeyDown() {
66
+ return setShow(!show);
67
+ },
70
68
  children: show ? "Hide Detail" : "Show Detail"
71
69
  })
72
70
  }), show && /*#__PURE__*/jsx("div", {
73
- className: classNames(classes.boundaryStack, "overflow-auto p-2 text-xs border-t"),
71
+ className: "fabric-boundaryStack overflow-auto p-2 text-xs border-t",
74
72
  children: /*#__PURE__*/jsx("pre", {
75
73
  className: "whitespace-pre-wrap",
76
74
  children: stack
@@ -80,7 +78,15 @@ var ErrorStack = function ErrorStack(_ref4) {
80
78
  };
81
79
 
82
80
  /**
83
- * An error boundary wrapper higher-order component designed to provide consistent error display across the application will trap runtime errors
81
+ * Catches JavaScript errors in the child tree, logs them, and displays a fallback UI.
82
+ * It can be used to wrap any component tree to prevent the entire application from crashing due to errors in a specific part of the UI.
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * <ErrorBoundary errorElement={CustomErrorComponent}>
87
+ * <MyComponent />
88
+ * </ErrorBoundary>
89
+ * ```
84
90
  */
85
91
  var ErrorBoundary = /*#__PURE__*/function (_Component) {
86
92
  function ErrorBoundary(props) {
@@ -109,18 +115,15 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
109
115
  if (this.state.hasError) {
110
116
  var E = this.props.errorElement;
111
117
  // You can render any custom fallback UI
112
- return /*#__PURE__*/jsx("div", {
113
- className: classNames(classes.errorBoundary, "grid grid-rows-1 overflow-hidden p-0.5 rounded-capped"),
114
- children: /*#__PURE__*/jsxs("div", {
115
- className: classNames(classes.boundaryContent, "overflow-hidden grid rounded-capped"),
116
- children: [/*#__PURE__*/jsx(ErrorMessage, {
117
- error: this.state.error,
118
- errorElement: E
119
- }), env === "development" && /*#__PURE__*/jsx(ErrorStack, {
120
- error: this.state.error,
121
- stack: this.state.stack
122
- })]
123
- })
118
+ return /*#__PURE__*/jsxs("div", {
119
+ className: "fabric-errorBoundary grid overflow-hidden rounded-capped",
120
+ children: [/*#__PURE__*/jsx(ErrorMessage, {
121
+ error: this.state.error,
122
+ errorElement: E
123
+ }), env === "development" && /*#__PURE__*/jsx(ErrorStack, {
124
+ error: this.state.error,
125
+ stack: this.state.stack
126
+ })]
124
127
  });
125
128
  }
126
129
  return this.props.children;
@@ -1,37 +1,50 @@
1
1
  'use client';
2
2
 
3
- import classNames from 'classnames';
4
- import classes from './ErrorBoundary.module.css';
5
3
  import { jsxs, jsx } from 'react/jsx-runtime';
6
4
 
7
- /*
5
+ /**
8
6
  * React Fabric
9
- * @version: 1.0.0
7
+ * @version 1.0.0
8
+ * @license MIT
9
+ * @copyright 2024 Adarsh Pastakia
10
10
  *
11
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ * of this software and associated documentation files (the "Software"), to deal
13
+ * in the Software without restriction, including without limitation the rights
14
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ * copies of the Software, and to permit persons to whom the Software is
16
+ * furnished to do so, subject to the following conditions:
11
17
  *
12
- * The MIT License (MIT)
13
- * Copyright (c) 2024 Adarsh Pastakia
18
+ * The above copyright notice and this permission notice shall be included in all
19
+ * copies or substantial portions of the Software.
14
20
  *
15
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
16
- * and associated documentation files (the "Software"), to deal in the Software without restriction,
17
- * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
18
- * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
19
- * subject to the following conditions:
21
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ * SOFTWARE.
28
+ */
29
+
30
+ /**
31
+ * Error icon displayed within the ErrorBoundary fallback UI.
20
32
  *
21
- * The above copyright notice and this permission notice shall be included in all copies or substantial
22
- * portions of the Software.
33
+ * Renders a circular icon with a red background and a white information
34
+ * symbol (an "i" inside a rectangle), used to visually indicate an error state.
23
35
  *
24
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
25
- * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
36
+ * @example
37
+ * ```tsx
38
+ * import { ErrorIcon } from "@react-fabric/core";
39
+ *
40
+ * <ErrorIcon />
41
+ * ```
28
42
  */
29
-
30
43
  var ErrorIcon = function ErrorIcon() {
31
44
  return /*#__PURE__*/jsxs("svg", {
32
45
  xmlns: "http://www.w3.org/2000/svg",
33
46
  viewBox: "0 0 64 64",
34
- className: classNames(classes.boundaryIcon, "size-6 m-2"),
47
+ className: "fabric-boundaryIcon size-6 m-2",
35
48
  children: [/*#__PURE__*/jsx("path", {
36
49
  fill: "#808080",
37
50
  d: "M64 32c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z"
@@ -1,47 +1,36 @@
1
1
  'use client';
2
2
 
3
- import classNames from 'classnames';
3
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
+ import { cn } from '@react-fabric/utilities';
4
6
  import { useImperativeHandle } from 'react';
5
7
  import { useDebounce } from '../../hooks/useDebounce.js';
6
8
  import { useResizeObserver } from '../../hooks/useResizeObserver.js';
7
9
  import { ErrorBoundary } from '../boundary/ErrorBoundary.js';
8
- import classes from './Content.module.css';
9
10
  import { jsx } from 'react/jsx-runtime';
10
11
 
11
- /*
12
- * React Fabric
13
- * @version: 1.0.0
14
- *
15
- *
16
- * The MIT License (MIT)
17
- * Copyright (c) 2024 Adarsh Pastakia
18
- *
19
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
20
- * and associated documentation files (the "Software"), to deal in the Software without restriction,
21
- * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
22
- * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
23
- * subject to the following conditions:
24
- *
25
- * The above copyright notice and this permission notice shall be included in all copies or substantial
26
- * portions of the Software.
27
- *
28
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
29
- * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
30
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
31
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
- */
33
-
12
+ var _excluded = ["ref", "children", "className", "onScroll", "onResize"];
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
34
15
  /**
35
- * Scrollable content element
16
+ * Content component that wraps children in a section element.
17
+ * It uses a resize observer to handle resizing and a debounced scroll handler.
18
+ * It also includes an error boundary to catch any errors in the children.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <Content onScroll={handleScroll} onResize={handleResize}>
23
+ * <div>Child content</div>
24
+ * </Content>
25
+ * ```
36
26
  */
37
- var Content = function Content(_ref) {
27
+ function Content(_ref) {
38
28
  var ref = _ref.ref,
39
29
  children = _ref.children,
40
30
  className = _ref.className,
41
31
  onScroll = _ref.onScroll,
42
32
  onResize = _ref.onResize,
43
- testId = _ref["data-testid"],
44
- testValue = _ref["data-test-value"];
33
+ props = _objectWithoutProperties(_ref, _excluded);
45
34
  var resizeHandle = useResizeObserver(onResize);
46
35
  var scrollHandler = useDebounce(function (e) {
47
36
  var el = e.target;
@@ -56,18 +45,18 @@ var Content = function Content(_ref) {
56
45
  }, [onScroll]);
57
46
  useImperativeHandle(ref, function () {
58
47
  return resizeHandle.current;
59
- }, []);
60
- return /*#__PURE__*/jsx("section", {
61
- "data-ref": "content",
62
- "data-testid": testId,
63
- "data-test-value": testValue,
48
+ });
49
+ return /*#__PURE__*/jsx("section", _objectSpread(_objectSpread({
50
+ "data-ref": "content"
51
+ }, props), {}, {
52
+ "aria-roledescription": "content-pane",
64
53
  ref: resizeHandle,
65
54
  onScroll: scrollHandler,
66
- className: classNames(classes.content, "area-content", className),
55
+ className: cn("fabric-content", className, "area-content @container scrollbar-gutter-stable"),
67
56
  children: /*#__PURE__*/jsx(ErrorBoundary, {
68
57
  children: children
69
58
  })
70
- });
71
- };
59
+ }));
60
+ }
72
61
 
73
62
  export { Content };