@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
@@ -5,34 +5,47 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
6
  var react$1 = require('@floating-ui/react');
7
7
  var utilities = require('@react-fabric/utilities');
8
- var classNames = require('classnames');
9
8
  var react = require('react');
10
9
  var reactI18next = require('react-i18next');
11
10
  var Button = require('./Button.js');
12
11
  var jsxRuntime = require('react/jsx-runtime');
13
12
 
14
- var _excluded = ["ref", "message", "color", "okLabel", "cancelLabel", "onClick", "loading", "placement", "actionMessage", "showActionDone", "showActionDoneEvent"],
15
- _excluded2 = ["ref"];
13
+ var _excluded = ["as", "ref", "message", "color", "okLabel", "cancelLabel", "showActionDoneEvent", "onClick", "loading", "placement"];
16
14
  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; }
17
- 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; }
15
+ 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; }
18
16
  /**
19
- * Button with confirmation dropdown
17
+ * A button that shows a confirmation dialog when clicked, allowing the user to confirm or cancel an action.
18
+ * It supports custom messages, labels, and loading states.
19
+ * This component is useful for actions that require user confirmation, such as deleting items or submitting forms.
20
+ * It uses the Floating UI library to manage the positioning of the confirmation dialog, ensuring it appears correctly relative to the button.
21
+ * It also supports custom placement of the dialog, and can display an action message when the action is completed.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <ConfirmButton
26
+ * message="Are you sure you want to delete this item?"
27
+ * onClick={(confirmed) => {
28
+ * if (confirmed) {
29
+ * // Perform action
30
+ * }
31
+ * }}
32
+ * />
33
+ * ```
20
34
  */
21
- var ConfirmButton = function ConfirmButton(_ref) {
22
- var ref = _ref.ref,
23
- message = _ref.message,
24
- color = _ref.color,
25
- okLabel = _ref.okLabel,
26
- cancelLabel = _ref.cancelLabel,
27
- onClick = _ref.onClick,
28
- loading = _ref.loading,
29
- _ref$placement = _ref.placement,
30
- placement = _ref$placement === void 0 ? "bottom" : _ref$placement,
31
- actionMessage = _ref.actionMessage,
32
- showActionDone = _ref.showActionDone,
33
- _ref$showActionDoneEv = _ref.showActionDoneEvent,
34
- showActionDoneEvent = _ref$showActionDoneEv === void 0 ? "click" : _ref$showActionDoneEv,
35
- props = _objectWithoutProperties(_ref, _excluded);
35
+ var ConfirmButton = function ConfirmButton(props) {
36
+ var _refs$domReference$cu, _refs$domReference$cu2;
37
+ var as = props.as,
38
+ ref = props.ref,
39
+ message = props.message,
40
+ color = props.color,
41
+ okLabel = props.okLabel,
42
+ cancelLabel = props.cancelLabel,
43
+ showActionDoneEvent = props.showActionDoneEvent,
44
+ onClick = props.onClick,
45
+ loading = props.loading,
46
+ _props$placement = props.placement,
47
+ placement = _props$placement === void 0 ? "bottom" : _props$placement,
48
+ buttonProps = _objectWithoutProperties(props, _excluded);
36
49
  var _useTranslation = reactI18next.useTranslation("core"),
37
50
  t = _useTranslation.t;
38
51
  var arrowRef = react.useRef(null);
@@ -48,18 +61,18 @@ var ConfirmButton = function ConfirmButton(_ref) {
48
61
  _useState6 = _slicedToArray(_useState5, 2),
49
62
  actionDone = _useState6[0],
50
63
  setActionDone = _useState6[1];
51
- var clickHandler = react.useCallback(function (e) {
64
+ var clickHandler = function clickHandler(e) {
52
65
  setBusy(e);
53
66
  var ret = onClick === null || onClick === void 0 ? void 0 : onClick(e);
54
- if (e) {
67
+ if (ret) {
55
68
  void Promise.resolve(ret).then(function (b) {
56
69
  setBusy(false);
57
- if (b !== false && actionMessage && showActionDoneEvent === "click") {
70
+ if (b !== false && showActionDoneEvent === "click") {
58
71
  setActionDone(true);
59
72
  }
60
73
  });
61
74
  }
62
- }, [onClick, actionMessage, showActionDoneEvent]);
75
+ };
63
76
  react.useEffect(function () {
64
77
  if (actionDone) {
65
78
  var timer = setTimeout(function () {
@@ -97,46 +110,46 @@ var ConfirmButton = function ConfirmButton(_ref) {
97
110
  var _useInteractions = react$1.useInteractions([dismiss, click]),
98
111
  getReferenceProps = _useInteractions.getReferenceProps,
99
112
  getFloatingProps = _useInteractions.getFloatingProps;
100
- var ButtonWrapper = react.useCallback(function (_ref2) {
101
- var ref = _ref2.ref,
102
- props = _objectWithoutProperties(_ref2, _excluded2);
103
- return /*#__PURE__*/jsxRuntime.jsx(Button.Button, _objectSpread({
104
- ref: ref
105
- }, props));
106
- }, []);
107
113
  var innerRef = react.useMemo(function () {
108
- return utilities.mergeRefs(ref, refs.setReference);
109
- }, [ref, refs.setReference]);
114
+ return utilities.mergeRefs(ref, refs.reference);
115
+ }, [ref, refs.reference]);
110
116
  return /*#__PURE__*/jsxRuntime.jsxs(react.Fragment, {
111
- children: [/*#__PURE__*/jsxRuntime.jsx(ButtonWrapper, _objectSpread(_objectSpread(_objectSpread({}, props), {}, {
117
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button.Button, _objectSpread(_objectSpread(_objectSpread({
118
+ as: as
119
+ }, buttonProps), {}, {
112
120
  color: color,
113
121
  loading: busy || loading,
114
- showActionDone: actionDone || showActionDone,
122
+ showActionDone: actionDone,
115
123
  showActionDoneEvent: "manual",
116
- actionMessage: actionMessage,
117
124
  ref: innerRef
118
125
  }, getReferenceProps()), {}, {
119
126
  "data-dropdown-open": isOpen
120
127
  })), isOpen && /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
128
+ root: (_refs$domReference$cu = (_refs$domReference$cu2 = refs.domReference.current) === null || _refs$domReference$cu2 === void 0 ? void 0 : _refs$domReference$cu2.closest(".theme-base")) !== null && _refs$domReference$cu !== void 0 ? _refs$domReference$cu : undefined,
121
129
  children: /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingFocusManager, {
122
- modal: true,
123
130
  context: context,
124
131
  children: /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
125
132
  "data-color": color,
126
- className: classNames("select-none not-italic rounded-capped shadow-lg outline outline-muted bg-base"),
127
- ref: refs.setFloating,
128
- style: floatingStyles
133
+ className: utilities.cn("select-none not-italic rounded-capped shadow-lg outline outline-muted bg-default"),
134
+ ref: function ref(el) {
135
+ return refs.setFloating(el);
136
+ },
137
+ style: _objectSpread({
138
+ zIndex: "var(--z-popover)"
139
+ }, floatingStyles)
129
140
  }, getFloatingProps()), {}, {
130
141
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
131
142
  className: "font-medium ",
132
143
  children: [/*#__PURE__*/jsxRuntime.jsx("p", {
133
144
  className: "py-2 px-4",
145
+ "data-ref": "confirmMessage",
134
146
  children: message
135
147
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
136
148
  className: "flex justify-end py-2 px-4 gap-2",
137
149
  children: [/*#__PURE__*/jsxRuntime.jsx(Button.Button, {
138
150
  size: "sm",
139
151
  variant: "link",
152
+ "data-ref": "confirmCancel",
140
153
  color: color,
141
154
  onClick: function onClick() {
142
155
  return [clickHandler(false), setIsOpen(false)];
@@ -147,6 +160,7 @@ var ConfirmButton = function ConfirmButton(_ref) {
147
160
  variant: "solid",
148
161
  color: color,
149
162
  autoFocus: true,
163
+ "data-ref": "confirmOk",
150
164
  onClick: function onClick() {
151
165
  return [clickHandler(true), setIsOpen(false)];
152
166
  },
@@ -157,7 +171,7 @@ var ConfirmButton = function ConfirmButton(_ref) {
157
171
  ref: arrowRef,
158
172
  context: context,
159
173
  strokeWidth: 0.5,
160
- className: "fill-base stroke-muted"
174
+ className: "fill-default stroke-muted"
161
175
  })]
162
176
  }))
163
177
  })
@@ -4,16 +4,57 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
5
5
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
6
  var utilities = require('@react-fabric/utilities');
7
- var classNames = require('classnames');
8
7
  var react = require('react');
9
8
  var useControlledValue = require('../../hooks/useControlledValue.js');
10
- var Button_module = require('./Button.module.css');
9
+ var cloneElement = require('../../utils/cloneElement.js');
11
10
  var jsxRuntime = require('react/jsx-runtime');
12
11
 
13
12
  var _excluded = ["vertical", "className", "children", "variant", "rounded", "disabled", "fullWidth", "color", "size", "value", "onChange"];
14
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; }
15
- 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; }
16
- var ToggleButtonGroup = function ToggleButtonGroup(_ref) {
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; }
15
+ /**
16
+ * A composite component that renders a group of toggle buttons with shared styling
17
+ * and selection behavior.
18
+ *
19
+ * Automatically switches between single-select (radio-like) and multi-select
20
+ * (checkbox-like) modes based on the `value` prop: a scalar value enables radio
21
+ * mode (one active button), while an array enables checkbox mode (multiple active).
22
+ *
23
+ * All child buttons receive consistent `color`, `size`, `variant`, `disabled`,
24
+ * and `rounded` props, while each button's own `value` and `onClick` are preserved
25
+ * and extended with the group's selection logic.
26
+ *
27
+ * @example
28
+ * ```jsx
29
+ * // Single-select (radio-like)
30
+ * <ToggleButtonGroup
31
+ * value={selected}
32
+ * onChange={(v) => setSelected(v)}
33
+ * variant="outlined"
34
+ * color="primary"
35
+ * size="md"
36
+ * >
37
+ * <Button value="a">A</Button>
38
+ * <Button value="b">B</Button>
39
+ * </ToggleButtonGroup>
40
+ *
41
+ * // Multi-select (checkbox-like)
42
+ * <ToggleButtonGroup
43
+ * value={selected}
44
+ * onChange={(v) => setSelected(v)}
45
+ * variant="outlined"
46
+ * color="primary"
47
+ * rounded
48
+ * fullWidth
49
+ * >
50
+ * <Button value="a">A</Button>
51
+ * <Button value="b">B</Button>
52
+ * <Button value="c">C</Button>
53
+ * </ToggleButtonGroup>
54
+ * ```
55
+ */
56
+ function ToggleButtonGroup(_ref) {
57
+ var _cloneChildren;
17
58
  var vertical = _ref.vertical,
18
59
  className = _ref.className,
19
60
  children = _ref.children,
@@ -25,44 +66,55 @@ var ToggleButtonGroup = function ToggleButtonGroup(_ref) {
25
66
  size = _ref.size,
26
67
  value = _ref.value,
27
68
  onChange = _ref.onChange,
28
- aria = _objectWithoutProperties(_ref, _excluded);
29
- var isMultiple = react.useMemo(function () {
30
- return utilities.isArray(value);
31
- }, [value]);
32
- var _useControlledValue = useControlledValue.useControlledValue(value, utilities.isArray(value) ? utilities.EMPTY_ARRAY : ""),
69
+ props = _objectWithoutProperties(_ref, _excluded);
70
+ // Determine selection mode: array value = multi-select, scalar = single-select
71
+ var isMultiple = utilities.isArray(value);
72
+ // Controlled value with empty array / null as defaults for multi / single mode
73
+ var _useControlledValue = useControlledValue.useControlledValue(value, isMultiple ? utilities.EMPTY_ARRAY : undefined),
33
74
  currentValue = _useControlledValue.currentValue,
34
75
  updateValue = _useControlledValue.updateValue;
35
- var clickHandler = react.useCallback(function (cb) {
76
+
77
+ // Toggle handler: toggles the child's value in/out of the selected set
78
+ var clickHandler = function clickHandler(childValue, cb) {
36
79
  return function (e) {
37
- var newValue = "".concat(e.currentTarget.dataset.value);
80
+ var newValue;
38
81
  if (utilities.isArray(currentValue)) {
39
- if (currentValue.includes(newValue)) newValue = currentValue.filter(function (v) {
40
- return v !== newValue;
41
- });else newValue = [].concat(_toConsumableArray(currentValue), [newValue]);
82
+ // Multi-select: remove if already selected, otherwise add
83
+ if (currentValue.includes(childValue)) newValue = currentValue.filter(function (v) {
84
+ return v !== childValue;
85
+ });else newValue = [].concat(_toConsumableArray(currentValue), [childValue]);
86
+ } else {
87
+ // Single-select: toggle to this value (replaces previous)
88
+ newValue = childValue;
42
89
  }
43
90
  updateValue(newValue);
91
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
44
92
  onChange === null || onChange === void 0 || onChange(newValue);
45
93
  cb === null || cb === void 0 || cb(e);
46
94
  };
47
- }, [currentValue, onChange]);
48
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
49
- className: classNames(Button_module.buttonGroup, className, fullWidth ? "flex" : "inline-flex", "flex-nowrap align-middle", vertical && Button_module.vertical, vertical && "flex-col")
50
- }, aria), {}, {
51
- children: react.Children.map(children, function (child) {
52
- return /*#__PURE__*/react.cloneElement(child, _objectSpread(_objectSpread({
53
- color: color,
54
- size: size,
55
- variant: variant,
56
- disabled: disabled,
57
- rounded: rounded,
58
- fullWidth: fullWidth
59
- }, child.props), {}, {
60
- onClick: clickHandler(child.props.onClick),
61
- "data-value": child.props.value,
62
- "data-checked": isMultiple ? currentValue.includes(child.props.value) : currentValue === child.props.value
63
- }));
95
+ };
96
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({}, props), {}, {
97
+ className: utilities.cn("fabric-buttonGroup", "flex-nowrap align-middle is-vertical:flex-col", className, fullWidth ? "flex" : "inline-flex"),
98
+ "data-vertical": vertical,
99
+ children: (_cloneChildren = cloneElement.cloneChildren(children)) === null || _cloneChildren === void 0 ? void 0 : _cloneChildren.map(function (child) {
100
+ if (/*#__PURE__*/react.isValidElement(child)) {
101
+ var childEl = child;
102
+ return /*#__PURE__*/react.cloneElement(childEl, _objectSpread(_objectSpread({
103
+ color: color,
104
+ size: size,
105
+ variant: variant,
106
+ disabled: disabled,
107
+ rounded: rounded
108
+ }, childEl.props), {}, {
109
+ activeClickable: isMultiple,
110
+ onClick: clickHandler(childEl.props.value, childEl.props.onClick),
111
+ // Check if this button is currently active based on selection mode
112
+ active: utilities.isArray(currentValue) ? currentValue === null || currentValue === void 0 ? void 0 : currentValue.includes(childEl.props.value) : currentValue === childEl.props.value
113
+ }));
114
+ }
115
+ return child;
64
116
  })
65
117
  }));
66
- };
118
+ }
67
119
 
68
120
  exports.ToggleButtonGroup = ToggleButtonGroup;
@@ -2,54 +2,85 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
- var classNames = require('classnames');
6
- var icons = require('../../types/icons.js');
7
- var getColor = require('../../utils/getColor.js');
8
- require('@react-fabric/utilities');
9
- var Icon = require('../icon/Icon.js');
5
+ var utilities = require('@react-fabric/utilities');
6
+ require('react');
10
7
  var jsxRuntime = require('react/jsx-runtime');
8
+ var getIconProps = require('../../utils/getIconProps.js');
9
+ var Icon = require('../icon/Icon.js');
11
10
 
12
- var _excluded = ["children", "color", "legend", "title", "icon", "border", "onClose", "className"];
11
+ var _excluded = ["children", "color", "classNames", "legend", "title", "icon", "border", "onClose", "className"];
13
12
  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), !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; }
15
- var Callout = function Callout(_ref) {
13
+ 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; }
14
+ /**
15
+ * A component that displays a callout box with an optional title, icon, and legend.
16
+ * It can be used to highlight important information, warnings, or notices.
17
+ * The callout can be styled with different colors and border styles, and it supports a close action.
18
+ * This component is useful for drawing attention to specific content within a page or application,
19
+ * such as alerts, notifications, or important messages.
20
+ *
21
+ * @example
22
+ * ```jsx
23
+ * <Callout
24
+ * color="primary"
25
+ * legend="Important Notice"
26
+ * title="Attention Required"
27
+ * icon="info"
28
+ * onClose={() => console.log("Callout closed")}
29
+ * >
30
+ * This is an important message that requires your attention.
31
+ * </Callout>
32
+ * // Renders a callout box with a primary color, an icon, a title, and a close button.
33
+ * ```
34
+ */
35
+ function Callout(_ref) {
16
36
  var children = _ref.children,
17
37
  _ref$color = _ref.color,
18
- color = _ref$color === void 0 ? "tint" : _ref$color,
38
+ color = _ref$color === void 0 ? "default" : _ref$color,
39
+ classNames = _ref.classNames,
19
40
  legend = _ref.legend,
20
41
  title = _ref.title,
21
42
  icon = _ref.icon,
22
- border = _ref.border,
43
+ _ref$border = _ref.border,
44
+ border = _ref$border === void 0 ? "solid" : _ref$border,
23
45
  onClose = _ref.onClose,
24
46
  className = _ref.className,
25
- aria = _objectWithoutProperties(_ref, _excluded);
47
+ props = _objectWithoutProperties(_ref, _excluded);
26
48
  return /*#__PURE__*/jsxRuntime.jsxs("fieldset", _objectSpread(_objectSpread({
27
- className: classNames(className, "block rounded-capped border max-w-full relative overflow-hidden mb-4", getColor.getBgClass(color + "-50"), getColor.getColorClass(color + "-700"), getColor.getBorderClass(color + "-300"), border === "dashed" && "border-dashed", border === "dotted" && "border-dotted")
28
- }, aria), {}, {
49
+ className: utilities.cn("fabric-callout block rounded-capped max-w-full relative overflow-hidden", className, border === "dashed" && "border-dashed", border === "dotted" && "border-dotted", border != "solid" ? "border-[1.5px]" : "border"),
50
+ style: {
51
+ "--color": "var(--color-".concat(color, ")")
52
+ }
53
+ }, props), {}, {
29
54
  children: [legend && /*#__PURE__*/jsxRuntime.jsx("legend", {
30
- className: "px-2 mx-4 font-medium",
55
+ className: utilities.cn("fabric-calloutLegend px-2 mx-4 font-medium", classNames === null || classNames === void 0 ? void 0 : classNames.legend),
56
+ "data-ref": "calloutLegend",
31
57
  children: legend
32
58
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
33
- className: classNames("break-words whitespace-break-spaces p-2"),
59
+ className: utilities.cn("fabric-calloutContent break-words whitespace-break-spaces p-2"),
34
60
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
35
61
  className: "flex flex-nowrap items-center text-xl pe-4 gap-2 mb-4 empty:mb-0",
36
- children: [icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
37
- icon: icon
38
- }), title && /*#__PURE__*/jsxRuntime.jsx("p", {
62
+ children: [icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, _objectSpread(_objectSpread({}, getIconProps.getIconProps(icon)), {}, {
63
+ "data-ref": "calloutIcon"
64
+ })), title && /*#__PURE__*/jsxRuntime.jsx("p", {
39
65
  className: "flex-1",
66
+ "data-ref": "calloutTitle",
40
67
  children: title
41
68
  })]
42
69
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
43
- className: "pe-4",
70
+ className: "fabric-calloutMessage pe-4",
44
71
  children: children
45
72
  })]
46
- }), onClose && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
47
- size: "md",
48
- className: classNames("absolute end-2", legend ? "top-0" : "top-2"),
49
- icon: icons.CoreIcons.close,
50
- onClick: onClose
73
+ }), onClose && /*#__PURE__*/jsxRuntime.jsx("div", {
74
+ role: "none",
75
+ className: utilities.cn("absolute inset-e-2 text-tint-500 hover:text-tint-700 cursor-pointer", legend ? "top-0" : "top-2"),
76
+ "data-ref": "calloutClose",
77
+ onClick: onClose,
78
+ children: /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
79
+ size: "md",
80
+ icon: "icon-[mdi--close]"
81
+ })
51
82
  })]
52
83
  }));
53
- };
84
+ }
54
85
 
55
86
  exports.Callout = Callout;
@@ -1,64 +1,112 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
- var classNames = require('classnames');
5
+ var utilities = require('@react-fabric/utilities');
7
6
  var react = require('react');
8
7
  var ErrorBoundary = require('../../core/boundary/ErrorBoundary.js');
9
- var HeadFoot = require('../../core/headfoot/HeadFoot.js');
10
- require('@react-fabric/utilities');
11
- var nodeCheck = require('../../utils/nodeCheck.js');
12
- var Card_module = require('./Card.module.css');
8
+ var StyleEffect = require('../effect/StyleEffect.js');
9
+ var Titlebar = require('../titlebar/Titlebar.js');
13
10
  var jsxRuntime = require('react/jsx-runtime');
14
11
 
15
- var _excluded = ["children", "className", "bodyClassName", "selected", "selectedRibbon", "onClick", "flex", "draggable", "dragKey", "dragData", "ref"];
12
+ var _excluded = ["children", "className", "classNames", "selected", "selectedRibbon", "onClick", "onDragStart", "hideEffect", "draggable", "dragKey", "dragData", "ref", "as", "height", "width", "minHeight", "minWidth", "maxHeight", "maxWidth", "title", "icon", "actions"];
16
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; }
17
- 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; }
18
- var Card = function Card(_ref) {
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; }
15
+ /**
16
+ * A component that displays a card with a header, body, and footer. It can be used to display content in a structured format.
17
+ * It supports various features such as click handling, drag-and-drop functionality, and customizable styles.
18
+ * The Card component is designed to be flexible and can be used in various contexts, such as displaying user profiles, product information, or any other content that benefits from a card layout.
19
+ * The component accepts children that can include a Header, body content, and a Footer.
20
+ * It also supports additional properties for styling, accessibility, and interaction.
21
+ * It can be styled with custom CSS classes and supports features like selection indication and drag-and-drop functionality.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <Card
26
+ * className="my-custom-class"
27
+ * classNames={{ body: "my-body-class" }}
28
+ * selected={true}
29
+ * selectedRibbon={true}
30
+ * onClick={() => console.log("Card clicked")}
31
+ * onDragStart={(event, key, data) => console.log("Drag started", key, data)}
32
+ * draggable={true}
33
+ * dragKey="my-drag-key"
34
+ * dragData={{ id: 1, name: "Card Data" }}
35
+ * aria-label="My Card"
36
+ * >
37
+ * <Header>Card Header</Header>
38
+ * <div>Card Body Content</div>
39
+ * <Footer>Card Footer</Footer>
40
+ * </Card>
41
+ * ```
42
+ */
43
+ function Card(_ref) {
19
44
  var children = _ref.children,
20
45
  className = _ref.className,
21
- bodyClassName = _ref.bodyClassName,
46
+ classNames = _ref.classNames,
22
47
  selected = _ref.selected,
23
48
  selectedRibbon = _ref.selectedRibbon,
24
49
  onClick = _ref.onClick,
25
- flex = _ref.flex,
50
+ onDragStart = _ref.onDragStart,
51
+ hideEffect = _ref.hideEffect,
26
52
  draggable = _ref.draggable,
27
53
  dragKey = _ref.dragKey,
28
54
  dragData = _ref.dragData,
29
55
  ref = _ref.ref,
30
- aria = _objectWithoutProperties(_ref, _excluded);
31
- var _useMemo = react.useMemo(function () {
32
- return react.Children.toArray(children).reduce(function (ret, node) {
33
- nodeCheck.nodeCheck(node, HeadFoot.Header) ? ret[0].push(node) : nodeCheck.nodeCheck(node, HeadFoot.Footer) ? ret[2].push(node) : ret[1].push(node);
34
- return ret;
35
- }, [[], [], []]);
36
- }, [children]),
37
- _useMemo2 = _slicedToArray(_useMemo, 3),
38
- header = _useMemo2[0],
39
- body = _useMemo2[1],
40
- footer = _useMemo2[2];
41
- return /*#__PURE__*/jsxRuntime.jsx("div", {
42
- className: classNames(Card_module.cardWrapper, "rounded-capped relative grid", flex && "flex-1", selected && selectedRibbon && Card_module.selected, selected && "outline outline-2 outline-accent-500 outline-offset-2"),
43
- children: /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary.ErrorBoundary, {
44
- children: /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
45
- className: classNames(Card_module.card, className, "rounded-capped flex flex-col flex-nowrap overflow-hidden", onClick && Card_module.clickable),
46
- draggable: draggable,
47
- onDragStart: !draggable ? undefined : function (e) {
48
- var _e$dataTransfer;
49
- return dragKey && ((_e$dataTransfer = e.dataTransfer) === null || _e$dataTransfer === void 0 ? void 0 : _e$dataTransfer.setData(dragKey, JSON.stringify(dragData)));
50
- },
51
- ref: ref
52
- }, aria), {}, {
53
- children: [header, /*#__PURE__*/jsxRuntime.jsx("div", {
54
- role: "none",
55
- className: classNames(Card_module.cardBody, bodyClassName, "flex-1"),
56
- onClick: onClick,
57
- children: body
58
- }), footer]
56
+ as = _ref.as,
57
+ height = _ref.height,
58
+ width = _ref.width,
59
+ minHeight = _ref.minHeight,
60
+ minWidth = _ref.minWidth,
61
+ maxHeight = _ref.maxHeight,
62
+ maxWidth = _ref.maxWidth,
63
+ title = _ref.title,
64
+ icon = _ref.icon,
65
+ actions = _ref.actions,
66
+ props = _objectWithoutProperties(_ref, _excluded);
67
+ var handleDragStart = react.useCallback(function (event) {
68
+ if (dragKey) {
69
+ var _event$dataTransfer;
70
+ (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 || _event$dataTransfer.setData(dragKey, JSON.stringify(dragData));
71
+ onDragStart === null || onDragStart === void 0 || onDragStart(event, dragKey, dragData);
72
+ }
73
+ }, [dragKey, dragData, onDragStart]);
74
+ var E = as !== null && as !== void 0 ? as : "div";
75
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
76
+ className: utilities.cn("fabric-card", className, classNames === null || classNames === void 0 ? void 0 : classNames.root, "rounded-capped relative scroll-thin", selectedRibbon && "selected-ribbon", !selectedRibbon && "is-selected:ring-[1.5px] is-selected:ring-accent-500 is-selected:ring-offset-2"),
77
+ "data-clickable": !!onClick || "to" in props || "href" in props,
78
+ "data-selected": selected,
79
+ draggable: draggable,
80
+ onDragStart: !draggable ? undefined : handleDragStart,
81
+ ref: ref,
82
+ children: [!hideEffect && /*#__PURE__*/jsxRuntime.jsx(StyleEffect.StyleEffect, {}), /*#__PURE__*/jsxRuntime.jsx(Titlebar.Titlebar, {
83
+ title: title,
84
+ icon: icon,
85
+ actions: actions,
86
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.titlebar,
87
+ classNames: classNames
88
+ }), /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary.ErrorBoundary, {
89
+ children: /*#__PURE__*/jsxRuntime.jsx(E, _objectSpread(_objectSpread({
90
+ role: "none",
91
+ onClick: onClick
92
+ }, props), {}, {
93
+ className: "contents",
94
+ children: children && /*#__PURE__*/jsxRuntime.jsx("object", {
95
+ type: "none",
96
+ className: utilities.cn("fabric-cardBody", classNames === null || classNames === void 0 ? void 0 : classNames.body, "grid overflow-hidden min-w-0 z-1"),
97
+ style: {
98
+ height: height,
99
+ width: width,
100
+ minHeight: minHeight,
101
+ minWidth: minWidth,
102
+ maxHeight: maxHeight,
103
+ maxWidth: maxWidth
104
+ },
105
+ children: children
106
+ })
59
107
  }))
60
- })
108
+ })]
61
109
  });
62
- };
110
+ }
63
111
 
64
112
  exports.Card = Card;