@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
@@ -4,15 +4,40 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
5
5
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
6
6
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
7
- import { useRef, useState, useTransition, useMemo, Children, useEffect, useCallback, cloneElement } from 'react';
7
+ import { useRef, useState, useTransition, useMemo, Children, isValidElement, useEffect, cloneElement } from 'react';
8
8
  import { jsx } from 'react/jsx-runtime';
9
9
 
10
- var _excluded = ["active", "children", "className", "onPanelChange", "onBack"];
10
+ var _excluded = ["children", "className", "onPanelChange", "onBack"];
11
11
  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; }
12
- 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; }
13
- var PanelStack = function PanelStack(_ref) {
14
- _ref.active;
15
- var children = _ref.children,
12
+ 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; }
13
+ /**
14
+ * A component that manages a stack of panels, allowing navigation between them.
15
+ * This component allows you to manage a stack of panels where you can navigate between them.
16
+ * It accepts an `active` prop to control which panel is currently active,
17
+ * an `onPanelChange` callback that is triggered when the active panel changes,
18
+ * and an `onBack` callback to handle navigation to the previous panel in the history.
19
+ * It uses the `Panel` component to render each individual panel within the stack.
20
+ * The component maintains a history of panels to allow back navigation,
21
+ * and it updates the active panel based on user interactions.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <PanelStack
26
+ * active="panel1"
27
+ * onPanelChange={(panelId) => console.log(`Active panel changed to: ${panelId}`)}
28
+ * onBack={(currentPanel, nextPanel) => {
29
+ * console.log(`Navigating back from ${currentPanel} to ${nextPanel}`);
30
+ * return true; // return false to prevent navigation
31
+ * }}
32
+ * >
33
+ * <Panel panelId="panel1" title="Panel 1">Content for Panel 1</Panel>
34
+ * <Panel panelId="panel2" title="Panel 2">Content for Panel 2</Panel>
35
+ * <Panel panelId="panel3" title="Panel 3">Content for Panel 3</Panel>
36
+ * </PanelStack>
37
+ * ```
38
+ */
39
+ function PanelStack(_ref) {
40
+ var children = _ref.children,
16
41
  className = _ref.className,
17
42
  onPanelChange = _ref.onPanelChange,
18
43
  onBack = _ref.onBack,
@@ -26,10 +51,17 @@ var PanelStack = function PanelStack(_ref) {
26
51
  _useTransition2 = _slicedToArray(_useTransition, 2),
27
52
  startTransition = _useTransition2[1];
28
53
  var panels = useMemo(function () {
29
- return new Map(Children.toArray(children).map(function (child) {
30
- var _child$props$panelId;
31
- return child.props && [(_child$props$panelId = child.props.panelId) !== null && _child$props$panelId !== void 0 ? _child$props$panelId : "root", child];
32
- }));
54
+ return new Map(
55
+ // eslint-disable-next-line @eslint-react/no-children-to-array
56
+ Children.toArray(children)
57
+ // @ts-expect-error ignore
58
+ .map(function (child) {
59
+ if (/*#__PURE__*/isValidElement(child)) {
60
+ var _childEl$props$panelI;
61
+ var childEl = child;
62
+ return [(_childEl$props$panelI = childEl.props.panelId) !== null && _childEl$props$panelI !== void 0 ? _childEl$props$panelI : "root", childEl];
63
+ }
64
+ }).filter(Boolean));
33
65
  }, [children]);
34
66
  useEffect(function () {
35
67
  startTransition(function () {
@@ -40,25 +72,23 @@ var PanelStack = function PanelStack(_ref) {
40
72
  }));
41
73
  });
42
74
  }, [onPanelChange, history]);
43
- var goBack = useCallback(function () {
75
+ var goBack = function goBack() {
44
76
  var _history$2;
45
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare
46
77
  if ((onBack === null || onBack === void 0 ? void 0 : onBack(history[0], (_history$2 = history[1]) !== null && _history$2 !== void 0 ? _history$2 : "root")) !== false) {
47
78
  setHistory(history.slice(1));
48
79
  }
49
- }, [history, onBack]);
80
+ };
50
81
  var currentPanel = useMemo(function () {
51
82
  var _panels$get;
52
83
  return (_panels$get = panels.get(history[0])) !== null && _panels$get !== void 0 ? _panels$get : panels.values().next().value;
53
84
  }, [history, panels]);
54
- var checkMenuClick = useCallback(function (e) {
85
+ var checkMenuClick = function checkMenuClick(e) {
55
86
  var _e$target;
56
87
  var panelKey = (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.dataset) === null || _e$target === void 0 ? void 0 : _e$target.panel;
57
88
  if (panelKey) {
58
89
  if (panelKey === "back") {
59
90
  goBack();
60
91
  } else if (panelKey === "root") {
61
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare
62
92
  if ((onBack === null || onBack === void 0 ? void 0 : onBack(history[0], "root")) !== false) {
63
93
  setHistory([]);
64
94
  }
@@ -70,16 +100,17 @@ var PanelStack = function PanelStack(_ref) {
70
100
  return false;
71
101
  }
72
102
  return true;
73
- }, [goBack, history, panels, onBack]);
103
+ };
74
104
  return /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({}, rest), {}, {
75
105
  role: "none",
76
106
  ref: stackRef,
77
107
  className: className,
78
108
  onClickCapture: checkMenuClick,
79
109
  children: currentPanel && /*#__PURE__*/cloneElement(currentPanel, {
110
+ // @ts-expect-error ignore
80
111
  onBack: history.length > 0 ? goBack : undefined
81
112
  })
82
113
  }));
83
- };
114
+ }
84
115
 
85
116
  export { PanelStack };
@@ -0,0 +1,118 @@
1
+ 'use client';
2
+
3
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
+ import { cn } from '@react-fabric/utilities';
6
+ import { useRef, useState, useMemo, useLayoutEffect } from 'react';
7
+ import { useControlledValue } from '../../hooks/useControlledValue.js';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
+ import { getColor } from '../../utils/getColor.js';
10
+ import { getIconProps } from '../../utils/getIconProps.js';
11
+ import { StyleEffect } from '../effect/StyleEffect.js';
12
+ import { Icon } from '../icon/Icon.js';
13
+
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; }
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; }
16
+ /**
17
+ * A pill-based selector that renders a horizontal group of clickable options
18
+ * with an animated highlight tracking the selected pill.
19
+ */
20
+ function Pillbox(_ref) {
21
+ var _currentOption$bg, _currentOption$color;
22
+ var options = _ref.options,
23
+ className = _ref.className,
24
+ block = _ref.block,
25
+ toggle = _ref.toggle,
26
+ value = _ref.value,
27
+ autoHide = _ref.autoHide,
28
+ onChange = _ref.onChange;
29
+ var pillboxRef = useRef(null);
30
+ var _useState = useState(function () {
31
+ return {
32
+ left: 0,
33
+ top: 0,
34
+ width: 0,
35
+ height: 0
36
+ };
37
+ }),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ hilightStyle = _useState2[0],
40
+ setHilightStyle = _useState2[1];
41
+ var _useControlledValue = useControlledValue(value, null),
42
+ currentValue = _useControlledValue.currentValue,
43
+ updateValue = _useControlledValue.updateValue;
44
+
45
+ // Allow toggle behavior only when exactly two options exist and toggle is enabled
46
+ var canToggle = useMemo(function () {
47
+ return options.length === 2 && toggle;
48
+ }, [options, toggle]);
49
+ var currentIndex = useMemo(function () {
50
+ // Use Math.max to default to 0 when no option matches (prevents -1 index)
51
+ return Math.max(0, options.findIndex(function (o) {
52
+ return o.value === currentValue;
53
+ }));
54
+ }, [options, currentValue]);
55
+ var currentOption = options[currentIndex];
56
+
57
+ // Update highlight position whenever the selected index or ref changes
58
+ useLayoutEffect(function () {
59
+ var _pillboxRef$current, _el$offsetLeft, _el$offsetTop, _el$offsetWidth, _el$offsetHeight;
60
+ var el = (_pillboxRef$current = pillboxRef.current) === null || _pillboxRef$current === void 0 ? void 0 : _pillboxRef$current.querySelectorAll("button")[currentIndex];
61
+
62
+ // eslint-disable-next-line @eslint-react/set-state-in-effect
63
+ setHilightStyle({
64
+ left: (_el$offsetLeft = el === null || el === void 0 ? void 0 : el.offsetLeft) !== null && _el$offsetLeft !== void 0 ? _el$offsetLeft : 0,
65
+ top: (_el$offsetTop = el === null || el === void 0 ? void 0 : el.offsetTop) !== null && _el$offsetTop !== void 0 ? _el$offsetTop : 0,
66
+ width: (_el$offsetWidth = el === null || el === void 0 ? void 0 : el.offsetWidth) !== null && _el$offsetWidth !== void 0 ? _el$offsetWidth : 0,
67
+ height: (_el$offsetHeight = el === null || el === void 0 ? void 0 : el.offsetHeight) !== null && _el$offsetHeight !== void 0 ? _el$offsetHeight : 0
68
+ });
69
+ }, [pillboxRef, currentIndex]);
70
+ var handleValueChange = function handleValueChange(value) {
71
+ // Handle pill selection with optional toggle behavior
72
+ // In toggle mode, clicking the selected pill switches to the other option
73
+ updateValue(function (oldValue) {
74
+ if (canToggle) {
75
+ // Toggle between the two options: click selected pill to switch to the other
76
+ var newValue = oldValue === options[1].value ? options[0].value : options[1].value;
77
+ onChange === null || onChange === void 0 || onChange(newValue);
78
+ return newValue;
79
+ } else {
80
+ onChange === null || onChange === void 0 || onChange(value);
81
+ return value;
82
+ }
83
+ });
84
+ };
85
+ return /*#__PURE__*/jsxs("div", {
86
+ ref: pillboxRef,
87
+ className: cn("fabric-pillbox", className, "relative p-1 outline rounded overflow-hidden"),
88
+ children: [/*#__PURE__*/jsxs("div", {
89
+ className: cn("fabric-pillboxContainer", "relative group rounded select-none overflow-hidden flex-nowrap", block ? "flex" : "inline-flex", autoHide && "not-hover:bg-(--currentBg)"),
90
+ style: {
91
+ "--currentBg": getColor((_currentOption$bg = currentOption.bg) !== null && _currentOption$bg !== void 0 ? _currentOption$bg : "primary-500"),
92
+ "--currentColor": getColor((_currentOption$color = currentOption.color) !== null && _currentOption$color !== void 0 ? _currentOption$color : "white")
93
+ },
94
+ children: [/*#__PURE__*/jsx("div", {
95
+ className: cn("fabric-pillHilight", "absolute rounded -z-1! top-0 h-full bg-(--currentBg) transition-[background-color,width,left] ease-in-out duration-500", autoHide && "not-group-hover:hidden"),
96
+ style: hilightStyle
97
+ }), options.map(function (opt, idx) {
98
+ return /*#__PURE__*/jsxs("button", {
99
+ disabled: opt.disabled,
100
+ onClick: function onClick() {
101
+ return handleValueChange(opt.value);
102
+ },
103
+ "data-color": opt.color,
104
+ type: "button",
105
+ className: cn("fabric-pill", "flex justify-center flex-initial has-[.fabric-pillLabel]:px-4 has-[.fabric-pillLabel]:py-1 z-1 rounded not-disabled:cursor-pointer disabled:cursor-not-allowed items-center transition-colors ease-in-out duration-500", idx === currentIndex ? "text-(--currentColor)" : "not-disabled:hover:bg-primary-500/20", autoHide && idx !== currentIndex && "not-group-hover:hidden", opt.disabled && "opacity-50", block && "flex-1"),
106
+ children: [opt.icon && /*#__PURE__*/jsx(Icon, _objectSpread({
107
+ className: cn("fabric-pillIcon", "not-has-[~_.fabric-pillLabel]:m-[0.375em] text-[1.125em] has-[~_.fabric-pillLabel]:me-1 inline-block size-[1em] flex-content pointer-events-none")
108
+ }, getIconProps(opt.icon))), opt.label && /*#__PURE__*/jsx("span", {
109
+ className: "fabric-pillLabel flex-initial truncate",
110
+ children: opt.label
111
+ })]
112
+ }, "".concat(opt.value));
113
+ })]
114
+ }), /*#__PURE__*/jsx(StyleEffect, {})]
115
+ });
116
+ }
117
+
118
+ export { Pillbox };
@@ -1,15 +1,14 @@
1
1
  'use client';
2
2
 
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import { Format } from '@react-fabric/utilities';
5
- import classNames from 'classnames';
4
+ import { Format, cn } from '@react-fabric/utilities';
6
5
  import { useMemoDebugger } from '../../hooks/useEffectDebugger.js';
7
- import { getColorClass } from '../../utils/getColor.js';
8
- import classes from './Progress.module.css';
6
+ import 'react';
9
7
  import { jsxs, jsx } from 'react/jsx-runtime';
8
+ import { getColor } from '../../utils/getColor.js';
10
9
 
11
10
  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; }
12
- 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; }
11
+ 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; }
13
12
  var SizeMap = {
14
13
  "": "0.875rem",
15
14
  xxs: "3px",
@@ -19,29 +18,46 @@ var SizeMap = {
19
18
  lg: "1.5rem",
20
19
  xl: "2rem"
21
20
  };
22
- var ProgressBar = function ProgressBar(_ref) {
21
+
22
+ /**
23
+ * A component that displays a progress bar indicating the completion percentage of a task or operation.
24
+ * The progress bar is styled with a background color and a track that fills based on the value provided.
25
+ * It can also display a label showing the percentage value.
26
+ * The label can be customized or hidden based on the props provided.
27
+ *
28
+ * @example
29
+ * ```jsx
30
+ * <ProgressBar value={0.75} size="md" color="primary-500" label="Loading" animate />
31
+ * // Renders a progress bar with 75% completion, medium size, primary color, and a label "Loading"
32
+ *
33
+ * <ProgressBar value={0.5} size="lg" color="success-500" />
34
+ * // Renders a progress bar with 50% completion, large size, and success color without a label
35
+ * ```
36
+ */
37
+ function ProgressBar(_ref) {
23
38
  var _ref$value = _ref.value,
24
39
  value = _ref$value === void 0 ? 0 : _ref$value,
25
40
  size = _ref.size,
26
41
  _ref$color = _ref.color,
27
- color = _ref$color === void 0 ? "primary" : _ref$color,
42
+ color = _ref$color === void 0 ? "primary-500" : _ref$color,
28
43
  _ref$label = _ref.label,
29
44
  label = _ref$label === void 0 ? "" : _ref$label,
30
45
  animate = _ref.animate;
31
46
  /** ***************** make sure value is between 0 and 100 *******************/
32
47
  var actualValue = useMemoDebugger(function () {
33
- return Math.min(Math.max(value, 0), 100);
48
+ return Math.min(Math.max(value, 0), 1);
34
49
  }, [value], "ProgressBar value");
35
50
  var progressVar = useMemoDebugger(function () {
36
51
  return {
37
- "--progress": actualValue
52
+ "--progress": actualValue * 100
38
53
  };
39
54
  }, [actualValue], "ProgressBar cssVar");
40
55
 
41
56
  /** ***************** component *******************/
42
57
  return /*#__PURE__*/jsxs("div", {
43
- className: classNames(classes.progressbar, getColorClass(color), "block bg-dimmed relative rounded font-bold overflow-hidden whitespace-nowrap"),
58
+ className: cn("fabric-progressbar", "block bg-tint-50 relative rounded font-bold overflow-hidden whitespace-nowrap"),
44
59
  style: _objectSpread(_objectSpread({}, progressVar), {}, {
60
+ color: getColor(color),
45
61
  minHeight: SizeMap[size !== null && size !== void 0 ? size : ""],
46
62
  fontSize: SizeMap[size !== null && size !== void 0 ? size : ""]
47
63
  }),
@@ -49,14 +65,14 @@ var ProgressBar = function ProgressBar(_ref) {
49
65
  "aria-hidden": "true",
50
66
  children: [!["xxs", "xs", "sm"].includes(size !== null && size !== void 0 ? size : "") && /*#__PURE__*/jsxs("div", {
51
67
  className: "absolute inset-0 text-center z-0 align-top",
52
- children: [label, " ", Format.percent(actualValue / 100)]
68
+ children: [label, " ", Format.percent(actualValue)]
53
69
  }), /*#__PURE__*/jsx("div", {
54
- className: classNames(classes.progressTrack, animate && classes.progressAnimate, "h-full overflow-clip bg-current relative z-0")
70
+ className: cn("fabric-progressTrack", animate && "fabric-progressAnimate", "h-full overflow-clip bg-current relative z-0")
55
71
  }), !["xxs", "xs", "sm"].includes(size !== null && size !== void 0 ? size : "") && /*#__PURE__*/jsx("div", {
56
- className: classNames("h-full absolute inset-0 overflow-hidden z-1"),
57
- "data-label": "".concat(label, " ").concat(Format.percent(actualValue / 100))
72
+ className: cn("h-full absolute inset-0 overflow-hidden z-1"),
73
+ "data-label": "".concat(label, " ").concat(Format.percent(actualValue))
58
74
  })]
59
75
  });
60
- };
76
+ }
61
77
 
62
78
  export { ProgressBar };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
 
3
- import { Format } from '@react-fabric/utilities';
4
- import classNames from 'classnames';
3
+ import { cn, Format } from '@react-fabric/utilities';
5
4
  import { useMemoDebugger } from '../../hooks/useEffectDebugger.js';
6
- import { getColorClass } from '../../utils/getColor.js';
5
+ import 'react';
7
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
+ import { getColor } from '../../utils/getColor.js';
8
8
 
9
9
  /*
10
10
  * React Fabric
@@ -36,34 +36,50 @@ var SizeMap = {
36
36
  lg: "1.5rem",
37
37
  xl: "2rem"
38
38
  };
39
- var ProgressCircle = function ProgressCircle(_ref) {
39
+
40
+ /**
41
+ * A circular progress indicator that visually represents a percentage of completion.
42
+ * It displays a circular track with a stroke that fills based on the `value` prop.
43
+ * The component is customizable with size and color props.
44
+ *
45
+ * @example
46
+ * ```jsx
47
+ * <ProgressCircle value={0.75} size="md" color="primary-500" />
48
+ * // Renders a circular progress indicator with 75% completion, medium size, and primary color.
49
+ *
50
+ * <ProgressCircle value={0.5} size="lg" color="secondary-500" />
51
+ * // Renders a circular progress indicator with 50% completion, large size, and secondary color.
52
+ * ```
53
+ */
54
+ function ProgressCircle(_ref) {
40
55
  var _ref$value = _ref.value,
41
56
  value = _ref$value === void 0 ? 0 : _ref$value,
42
57
  _ref$size = _ref.size,
43
58
  size = _ref$size === void 0 ? "sm" : _ref$size,
44
59
  _ref$color = _ref.color,
45
- color = _ref$color === void 0 ? "primary" : _ref$color;
60
+ color = _ref$color === void 0 ? "primary-500" : _ref$color;
46
61
  /** ***************** make sure value is between 0 and 100 *******************/
47
62
  var actualValue = useMemoDebugger(function () {
48
- return Math.min(Math.max(value, 0), 100);
63
+ return Math.min(Math.max(value, 0), 1);
49
64
  }, [value], "ProgressCirle value");
50
65
 
51
66
  /** ***************** calculate stroke offset by actual value *******************/
52
67
  var strokeDashoffset = useMemoDebugger(function () {
53
68
  var circumfrence = Math.PI * 2 * 44;
54
- return circumfrence * (1 - actualValue / 100);
69
+ return circumfrence * (1 - actualValue);
55
70
  }, [actualValue], "ProgressCirle dashOffset");
56
71
 
57
72
  /** ***************** component *******************/
58
73
  return /*#__PURE__*/jsxs("div", {
59
- className: classNames("inline-block w-[4em] h-[4em] text-lg relative", getColorClass(color)),
74
+ className: cn("inline-block w-[4em] h-[4em] text-lg relative"),
60
75
  "aria-hidden": "true",
61
76
  style: {
62
- fontSize: SizeMap[size]
77
+ fontSize: SizeMap[size],
78
+ color: getColor(color)
63
79
  },
64
80
  children: [/*#__PURE__*/jsxs("svg", {
65
81
  viewBox: "0 0 100 100",
66
- className: classNames("absolute inset-0 w-full h-full stroke-dimmed"),
82
+ className: cn("absolute inset-0 w-full h-full stroke-tint-500"),
67
83
  children: [/*#__PURE__*/jsx("circle", {
68
84
  cx: "50",
69
85
  cy: "50",
@@ -88,9 +104,9 @@ var ProgressCircle = function ProgressCircle(_ref) {
88
104
  })]
89
105
  }), /*#__PURE__*/jsx("span", {
90
106
  className: "flex w-full h-full items-center justify-center select-none font-bold text-[0.625em]",
91
- children: Format.percent(actualValue / 100)
107
+ children: Format.percent(actualValue)
92
108
  })]
93
109
  });
94
- };
110
+ }
95
111
 
96
112
  export { ProgressCircle };
@@ -2,50 +2,67 @@
2
2
 
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
- import { isString } from '@react-fabric/utilities';
6
- import classNames from 'classnames';
5
+ import { isString, cn } from '@react-fabric/utilities';
7
6
  import { useMemo, Fragment } from 'react';
8
- import '@babel/runtime/helpers/slicedToArray';
9
- import '@floating-ui/react';
10
- import 'react-i18next';
11
- import '../../hooks/useEffectDebugger.js';
12
7
  import { jsx, jsxs } from 'react/jsx-runtime';
13
- import '../../hotkeys/HotKeyWrapper.js';
14
- import { Tooltip } from '../../overlays/tooltip/Tooltip.js';
15
- import { getBadgeProps, Badge } from '../badge/Badge.js';
16
- import { Icon } from '../icon/Icon.js';
17
- import '../../types/icons.js';
8
+ import { getBadgeProps } from '../../utils/getBadgeProps.js';
9
+ import { getIconProps } from '../../utils/getIconProps.js';
10
+ import { Badge } from '../badge/Badge.js';
18
11
  import { DropdownTool } from '../dropdown/DropdownTool.js';
19
- import classes from './TabPanel.module.css';
12
+ import { Icon } from '../icon/Icon.js';
13
+ import { Tooltip } from '../tooltip/Tooltip.js';
20
14
 
21
- var _excluded = ["ref", "as", "id", "className", "label", "icon", "iconBg", "iconColor", "rtlFlip", "badge", "disabled", "onClose", "active", "minimal", "onClick", "tabFlex", "color", "actions", "tooltip", "activeClassName"];
15
+ var _excluded = ["ref", "as", "id", "className", "classNames", "label", "icon", "badge", "disabled", "onClose", "onClick", "tabFlex", "color", "actions", "tooltip", "active"];
22
16
  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; }
23
- 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; }
24
- var Tab = function Tab(_ref) {
17
+ 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
+ /**
19
+ * A component that represents a tab in a tabbed interface. It can display an icon, label, badge, and actions.
20
+ * It supports polymorphic rendering, allowing it to be rendered as different HTML elements.
21
+ * It also supports tooltips, active states, and click handling.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <Tab
26
+ * id="tab1"
27
+ * label="Tab 1"
28
+ * icon="home"
29
+ * badge="New"
30
+ * onClick={(id) => console.log(`Tab clicked: ${id}`)}
31
+ * onClose={() => console.log("Tab closed")}
32
+ * active={true}
33
+ * actions={<button>Action</button>}
34
+ * color="primary"
35
+ * tooltip="This is a tab"
36
+ * activeClassName="bg-blue-100"
37
+ * />
38
+ * // Renders a tab with label "Tab 1", home icon, blue background, white text, badge "New",
39
+ * // and an action button. The tab is active and has a tooltip.
40
+ * ```
41
+ */
42
+ function Tab(_ref) {
25
43
  var ref = _ref.ref,
26
44
  as = _ref.as,
27
45
  id = _ref.id,
28
46
  className = _ref.className,
47
+ classNames = _ref.classNames,
29
48
  label = _ref.label,
30
49
  icon = _ref.icon,
31
- iconBg = _ref.iconBg,
32
- iconColor = _ref.iconColor,
33
- rtlFlip = _ref.rtlFlip,
34
50
  badge = _ref.badge,
35
51
  disabled = _ref.disabled,
36
52
  onClose = _ref.onClose,
37
- active = _ref.active,
38
- minimal = _ref.minimal,
39
53
  _onClick = _ref.onClick,
40
54
  tabFlex = _ref.tabFlex,
41
55
  color = _ref.color,
42
56
  actions = _ref.actions,
43
57
  tooltip = _ref.tooltip,
44
- activeClassName = _ref.activeClassName,
45
- aria = _objectWithoutProperties(_ref, _excluded);
58
+ active = _ref.active,
59
+ props = _objectWithoutProperties(_ref, _excluded);
46
60
  var badgeProps = useMemo(function () {
47
61
  return getBadgeProps(badge);
48
62
  }, [badge]);
63
+ var minimal = useMemo(function () {
64
+ return !label;
65
+ }, [label]);
49
66
  var tooltipProps = useMemo(function () {
50
67
  if (isString(tooltip)) return {
51
68
  content: tooltip
@@ -59,30 +76,29 @@ var Tab = function Tab(_ref) {
59
76
  "data-id": id,
60
77
  disabled: disabled,
61
78
  "data-color": color,
62
- className: classNames(classes.tabButton, className, active && "active pointer-events-none", active && activeClassName, disabled && "text-tint-500 pointer-events-none", tabFlex ? "flex-1" : "flex-initial max-w-36 min-w-24", "flex items-center justify-center px-1 rounded overflow-hidden"),
79
+ "data-inner-clickable": true,
80
+ className: cn("fabric-tabButton", className, classNames === null || classNames === void 0 ? void 0 : classNames.root, !!active && "active pointer-events-none", !!active && (classNames === null || classNames === void 0 ? void 0 : classNames.active), disabled && "text-tint-500 pointer-events-none", tabFlex ? "flex-1" : "flex-initial max-w-36", minimal && "min-w-6", "flex items-center min-w-18 justify-center overflow-hidden cursor-pointer group/tool"),
63
81
  onClick: function onClick() {
64
82
  return !active && (_onClick === null || _onClick === void 0 ? void 0 : _onClick(id));
65
83
  },
66
84
  ref: ref
67
- }, aria), {}, {
68
- children: [icon && /*#__PURE__*/jsx(Icon, {
69
- icon: icon,
70
- bg: iconBg,
71
- color: iconColor,
72
- rtlFlip: rtlFlip,
73
- className: "flex-content"
74
- }), !minimal && /*#__PURE__*/jsx("label", {
75
- className: "flex-initial truncate text-center px-1 py-1",
85
+ }, props), {}, {
86
+ children: [icon && /*#__PURE__*/jsx(Icon, _objectSpread({
87
+ className: "flex-content p-2"
88
+ }, getIconProps(icon))), !minimal && /*#__PURE__*/jsx("label", {
89
+ className: cn(classNames === null || classNames === void 0 ? void 0 : classNames.label, "flex-initial truncate text-center px-1 py-1"),
76
90
  children: label
77
91
  }), badge && /*#__PURE__*/jsx(Badge, _objectSpread(_objectSpread({}, badgeProps), {}, {
78
- placement: minimal ? "end" : "",
79
- className: classNames("me-1", badgeProps.className)
80
- })), actions && active && /*#__PURE__*/jsx(DropdownTool, {
81
- className: "bg-base/20 me-1 z-5",
92
+ inline: !minimal,
93
+ placement: minimal ? "end" : undefined,
94
+ className: cn("me-1", classNames === null || classNames === void 0 ? void 0 : classNames.badge)
95
+ })), actions && /*#__PURE__*/jsx(DropdownTool, {
96
+ groupHover: !active,
97
+ className: "bg-tint-50/20 me-1 z-5",
82
98
  children: actions
83
99
  }), onClose && /*#__PURE__*/jsx("span", {
84
100
  role: "none",
85
- className: classNames("cursor-pointer me-1 opacity-65 hover:opacity-90 pointer-events-auto"),
101
+ className: cn("cursor-pointer mx-1 opacity-65 hover:opacity-90 pointer-events-auto"),
86
102
  onClick: function onClick(e) {
87
103
  onClose === null || onClose === void 0 || onClose();
88
104
  e.stopPropagation();
@@ -91,6 +107,6 @@ var Tab = function Tab(_ref) {
91
107
  })]
92
108
  }))
93
109
  }));
94
- };
110
+ }
95
111
 
96
112
  export { Tab };