@react-fabric/core 1.0.0-beta.6 → 1.0.0-beta.60

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 (425) 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/{src/components/animations/Animations.module.css → css/components/_animations.css} +9 -9
  4. package/{src/components/avatar/Avatar.module.css → css/components/_avatar.css} +11 -11
  5. package/{src/components/badge/Badge.module.css → css/components/_badge.css} +19 -17
  6. package/{src/components/breadcrumbs/Breadcrumbs.module.css → css/components/_breadcrumbs.css} +52 -47
  7. package/{src/components/button/Button.module.css → css/components/_button.css} +77 -83
  8. package/{src/components/card/Card.module.css → css/components/_card.css} +54 -28
  9. package/{src/components/chip/Chip.module.css → css/components/_chip.css} +14 -10
  10. package/{src/components/collapsable/Collapsable.module.css → css/components/_collapsable.css} +3 -3
  11. package/css/components/_divider.css +38 -0
  12. package/{src/components/dropdown/Dropdown.module.css → css/components/_dropdown.css} +2 -2
  13. package/{src/overlays/flyout/Flyout.module.css → css/components/_flyout.css} +6 -6
  14. package/{src/components/icon/Icon.module.css → css/components/_icon.css} +11 -8
  15. package/{src/components/media/Media.module.css → css/components/_media.css} +17 -17
  16. package/{src/components/menu/Menu.module.css → css/components/_menu.css} +21 -20
  17. package/{src/overlays/message/Message.module.css → css/components/_message.css} +2 -2
  18. package/{src/components/meter/Meter.module.css → css/components/_meter.css} +10 -10
  19. package/{src/overlays/modal/Modal.module.css → css/components/_modal.css} +8 -8
  20. package/{src/components/panel/Panel.module.css → css/components/_panel.css} +17 -17
  21. package/{src/components/progress/Progress.module.css → css/components/_progress.css} +7 -10
  22. package/css/components/_stepper.css +86 -0
  23. package/{src/components/tabpanel/TabPanel.module.css → css/components/_tabPanel.css} +130 -85
  24. package/{src/overlays/toast/Toast.module.css → css/components/_toast.css} +2 -2
  25. package/css/components/_tooltip.css +29 -0
  26. package/{src/core/content/Content.module.css → css/components/index.css} +26 -18
  27. package/{src/core/aside/Aside.module.css → css/core/_aside.css} +60 -48
  28. package/{src/core/section/Section.module.css → css/core/_content.css} +5 -3
  29. package/{src/core/boundary/ErrorBoundary.module.css → css/core/_errorboundary.css} +9 -9
  30. package/{src/core/headfoot/HeadFoot.module.css → css/core/_headfoot.css} +4 -10
  31. package/{src/core/page/Page.module.css → css/core/_page.css} +10 -14
  32. package/{src/core/responsive/Responsive.module.css → css/core/_responsive.css} +10 -10
  33. package/css/core/_section.css +28 -0
  34. package/{src/core/theme/Theme.module.css → css/core/_theme.css} +3 -3
  35. package/{src/typography/Typography.module.css → css/core/_typography.css} +14 -12
  36. package/{src/core/viewport/Viewport.module.css → css/core/_viewport.css} +7 -3
  37. package/css/core/index.css +33 -0
  38. package/css/reset/_gradients.css +8 -8
  39. package/css/reset/_reset.css +56 -224
  40. package/css/reset/_text.css +14 -29
  41. package/css/reset/_theme.css +331 -52
  42. package/css/reset/index.css +4 -4
  43. package/css/styles.css +7 -6
  44. package/css/theme/_colors.css +320 -0
  45. package/css/theme/_utilities.css +541 -0
  46. package/css/theme/index.css +45 -0
  47. package/dist/cjs/components/actionLabel/ActionLabel.js +26 -8
  48. package/dist/cjs/components/animations/Animations.js +110 -23
  49. package/dist/cjs/components/avatar/Avatar.js +46 -13
  50. package/dist/cjs/components/avatar/AvatarGroup.js +22 -4
  51. package/dist/cjs/components/badge/Badge.js +36 -15
  52. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +40 -9
  53. package/dist/cjs/components/button/Button.js +50 -28
  54. package/dist/cjs/components/button/ButtonGroup.js +30 -3
  55. package/dist/cjs/components/button/ConfirmButton.js +28 -2
  56. package/dist/cjs/components/button/ToggleButtonGroup.js +41 -15
  57. package/dist/cjs/components/callout/Callout.js +44 -4
  58. package/dist/cjs/components/card/Card.js +60 -18
  59. package/dist/cjs/components/card/CardCover.js +36 -5
  60. package/dist/cjs/components/card/FlipContent.js +56 -0
  61. package/dist/cjs/components/chip/Chip.js +40 -20
  62. package/dist/cjs/components/collapsable/Collapsable.js +30 -5
  63. package/dist/cjs/components/divider/Divider.js +30 -7
  64. package/dist/cjs/components/dropdown/Dropdown.js +48 -9
  65. package/dist/cjs/components/dropdown/DropdownTool.js +1 -1
  66. package/dist/cjs/components/empty/EmptyContent.js +37 -7
  67. package/dist/cjs/components/icon/Icon.js +76 -13
  68. package/dist/cjs/components/media/Media.js +172 -75
  69. package/dist/cjs/components/menu/ContextMenu.js +19 -0
  70. package/dist/cjs/components/menu/Menu.js +76 -21
  71. package/dist/cjs/components/menu/MenuItem.js +54 -26
  72. package/dist/cjs/components/meter/Meter.js +26 -3
  73. package/dist/cjs/components/navigator/Navigator.js +48 -15
  74. package/dist/cjs/components/panel/Panel.js +53 -22
  75. package/dist/cjs/components/panel/PanelGroup.js +25 -2
  76. package/dist/cjs/components/panel/PanelStack.js +31 -2
  77. package/dist/cjs/components/progress/ProgressBar.js +31 -9
  78. package/dist/cjs/components/progress/ProgressCircle.js +29 -7
  79. package/dist/cjs/components/tabpanel/Tab.js +39 -15
  80. package/dist/cjs/components/tabpanel/TabPanel.js +56 -16
  81. package/dist/cjs/context/Global.js +28 -1
  82. package/dist/cjs/context/NotificationCenter.js +3 -3
  83. package/dist/cjs/core/aside/Aside.js +48 -22
  84. package/dist/cjs/core/boundary/ErrorBoundary.js +25 -8
  85. package/dist/cjs/core/boundary/ErrorIcon.js +1 -2
  86. package/dist/cjs/core/content/Content.js +7 -3
  87. package/dist/cjs/core/headfoot/HeadFoot.js +48 -22
  88. package/dist/cjs/core/page/Page.js +40 -39
  89. package/dist/cjs/core/responsive/Responsive.js +59 -6
  90. package/dist/cjs/core/section/Section.js +12 -29
  91. package/dist/cjs/core/theme/ThemeProvider.js +32 -10
  92. package/dist/cjs/core/viewport/Viewport.js +18 -2
  93. package/dist/cjs/hooks/useControlledValue.js +12 -0
  94. package/dist/cjs/hooks/useDebounce.js +14 -1
  95. package/dist/cjs/hooks/useEffectDebugger.js +54 -2
  96. package/dist/cjs/hooks/useIsDark.js +8 -0
  97. package/dist/cjs/hooks/useIsRtl.js +12 -0
  98. package/dist/cjs/hooks/useNavigator.js +6 -4
  99. package/dist/cjs/hooks/useOverlayService.js +24 -0
  100. package/dist/cjs/hooks/usePropToggle.js +16 -5
  101. package/dist/cjs/hooks/useResize.js +18 -0
  102. package/dist/cjs/hooks/useResizeObserver.js +20 -1
  103. package/dist/cjs/hooks/useStepper.js +75 -0
  104. package/dist/cjs/hooks/useStorage.js +39 -0
  105. package/dist/cjs/hotkeys/HotKeyLabel.js +1 -1
  106. package/dist/cjs/hotkeys/HotKeyWrapper.js +3 -1
  107. package/dist/cjs/index.js +11 -2
  108. package/dist/cjs/overlays/alert/Alert.js +23 -15
  109. package/dist/cjs/overlays/flyout/Flyout.js +48 -64
  110. package/dist/cjs/overlays/message/Message.js +8 -3
  111. package/dist/cjs/overlays/modal/Modal.js +17 -20
  112. package/dist/cjs/overlays/toast/Toast.js +20 -10
  113. package/dist/cjs/overlays/tooltip/Tooltip.js +24 -11
  114. package/dist/cjs/types/icons.js +17 -4
  115. package/dist/cjs/typography/Abbr.js +35 -7
  116. package/dist/cjs/typography/{Link.js → Anchor.js} +23 -5
  117. package/dist/cjs/typography/Mark.js +25 -5
  118. package/dist/cjs/typography/Text.js +30 -5
  119. package/dist/cjs/typography/Title.js +19 -4
  120. package/dist/cjs/utils/cloneElement.js +47 -0
  121. package/dist/cjs/utils/getColor.js +1 -18
  122. package/dist/esm/components/actionLabel/ActionLabel.js +26 -8
  123. package/dist/esm/components/animations/Animations.js +111 -24
  124. package/dist/esm/components/avatar/Avatar.js +46 -13
  125. package/dist/esm/components/avatar/AvatarGroup.js +22 -4
  126. package/dist/esm/components/badge/Badge.js +38 -17
  127. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +40 -9
  128. package/dist/esm/components/button/Button.js +52 -30
  129. package/dist/esm/components/button/ButtonGroup.js +31 -4
  130. package/dist/esm/components/button/ConfirmButton.js +28 -2
  131. package/dist/esm/components/button/ToggleButtonGroup.js +42 -16
  132. package/dist/esm/components/callout/Callout.js +44 -4
  133. package/dist/esm/components/card/Card.js +61 -19
  134. package/dist/esm/components/card/CardCover.js +36 -5
  135. package/dist/esm/components/card/FlipContent.js +56 -0
  136. package/dist/esm/components/chip/Chip.js +42 -22
  137. package/dist/esm/components/collapsable/Collapsable.js +30 -5
  138. package/dist/esm/components/divider/Divider.js +31 -8
  139. package/dist/esm/components/dropdown/Dropdown.js +48 -9
  140. package/dist/esm/components/dropdown/DropdownTool.js +1 -1
  141. package/dist/esm/components/empty/EmptyContent.js +37 -7
  142. package/dist/esm/components/icon/Icon.js +78 -16
  143. package/dist/esm/components/media/Media.js +173 -76
  144. package/dist/esm/components/menu/ContextMenu.js +19 -0
  145. package/dist/esm/components/menu/Menu.js +78 -23
  146. package/dist/esm/components/menu/MenuItem.js +49 -21
  147. package/dist/esm/components/meter/Meter.js +26 -3
  148. package/dist/esm/components/navigator/Navigator.js +48 -15
  149. package/dist/esm/components/panel/Panel.js +54 -23
  150. package/dist/esm/components/panel/PanelGroup.js +25 -2
  151. package/dist/esm/components/panel/PanelStack.js +31 -2
  152. package/dist/esm/components/progress/ProgressBar.js +31 -9
  153. package/dist/esm/components/progress/ProgressCircle.js +29 -7
  154. package/dist/esm/components/tabpanel/Tab.js +40 -16
  155. package/dist/esm/components/tabpanel/TabPanel.js +56 -16
  156. package/dist/esm/context/Global.js +28 -1
  157. package/dist/esm/context/NotificationCenter.js +3 -3
  158. package/dist/esm/core/aside/Aside.js +49 -23
  159. package/dist/esm/core/boundary/ErrorBoundary.js +25 -8
  160. package/dist/esm/core/boundary/ErrorIcon.js +1 -2
  161. package/dist/esm/core/content/Content.js +7 -3
  162. package/dist/esm/core/headfoot/HeadFoot.js +48 -22
  163. package/dist/esm/core/page/Page.js +41 -40
  164. package/dist/esm/core/responsive/Responsive.js +59 -6
  165. package/dist/esm/core/section/Section.js +12 -29
  166. package/dist/esm/core/theme/ThemeProvider.js +32 -10
  167. package/dist/esm/core/viewport/Viewport.js +18 -2
  168. package/dist/esm/hooks/useControlledValue.js +12 -0
  169. package/dist/esm/hooks/useDebounce.js +14 -1
  170. package/dist/esm/hooks/useEffectDebugger.js +54 -2
  171. package/dist/esm/hooks/useIsDark.js +8 -0
  172. package/dist/esm/hooks/useIsRtl.js +12 -0
  173. package/dist/esm/hooks/useNavigator.js +7 -5
  174. package/dist/esm/hooks/useOverlayService.js +24 -0
  175. package/dist/esm/hooks/usePropToggle.js +16 -5
  176. package/dist/esm/hooks/useResize.js +18 -0
  177. package/dist/esm/hooks/useResizeObserver.js +20 -1
  178. package/dist/esm/hooks/useStepper.js +75 -0
  179. package/dist/esm/hooks/useStorage.js +39 -0
  180. package/dist/esm/hotkeys/HotKeyLabel.js +1 -1
  181. package/dist/esm/hotkeys/HotKeyWrapper.js +3 -1
  182. package/dist/esm/index.js +6 -2
  183. package/dist/esm/overlays/alert/Alert.js +24 -16
  184. package/dist/esm/overlays/flyout/Flyout.js +52 -68
  185. package/dist/esm/overlays/message/Message.js +9 -4
  186. package/dist/esm/overlays/modal/Modal.js +19 -22
  187. package/dist/esm/overlays/toast/Toast.js +21 -11
  188. package/dist/esm/overlays/tooltip/Tooltip.js +24 -11
  189. package/dist/esm/types/icons.js +17 -4
  190. package/dist/esm/typography/Abbr.js +35 -7
  191. package/dist/esm/typography/{Link.js → Anchor.js} +24 -6
  192. package/dist/esm/typography/Mark.js +25 -5
  193. package/dist/esm/typography/Text.js +31 -6
  194. package/dist/esm/typography/Title.js +20 -5
  195. package/dist/esm/utils/cloneElement.js +47 -0
  196. package/dist/esm/utils/getColor.js +2 -16
  197. package/dist/types/components/actionLabel/ActionLabel.d.ts +21 -2
  198. package/dist/types/components/animations/Animations.d.ts +84 -5
  199. package/dist/types/components/avatar/Avatar.d.ts +34 -6
  200. package/dist/types/components/avatar/AvatarGroup.d.ts +19 -1
  201. package/dist/types/components/badge/Badge.d.ts +37 -3
  202. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +31 -2
  203. package/dist/types/components/button/Button.d.ts +39 -7
  204. package/dist/types/components/button/ButtonGroup.d.ts +28 -3
  205. package/dist/types/components/button/ConfirmButton.d.ts +23 -3
  206. package/dist/types/components/button/ToggleButtonGroup.d.ts +39 -11
  207. package/dist/types/components/callout/Callout.d.ts +29 -3
  208. package/dist/types/components/card/Card.d.ts +44 -4
  209. package/dist/types/components/card/CardCover.d.ts +25 -0
  210. package/dist/types/components/card/FlipContent.d.ts +28 -0
  211. package/dist/types/components/chip/Chip.d.ts +34 -5
  212. package/dist/types/components/collapsable/Collapsable.d.ts +28 -2
  213. package/dist/types/components/divider/Divider.d.ts +30 -7
  214. package/dist/types/components/dropdown/Dropdown.d.ts +40 -1
  215. package/dist/types/components/dropdown/DropdownTool.d.ts +25 -0
  216. package/dist/types/components/empty/EmptyContent.d.ts +32 -3
  217. package/dist/types/components/icon/Icon.d.ts +40 -8
  218. package/dist/types/components/index.d.ts +3 -2
  219. package/dist/types/components/media/Media.d.ts +54 -0
  220. package/dist/types/components/menu/ContextMenu.d.ts +19 -1
  221. package/dist/types/components/menu/Menu.d.ts +29 -0
  222. package/dist/types/components/menu/MenuItem.d.ts +22 -2
  223. package/dist/types/components/menu/types.d.ts +9 -3
  224. package/dist/types/components/meter/Meter.d.ts +24 -0
  225. package/dist/types/components/navigator/Navigator.d.ts +29 -4
  226. package/dist/types/components/panel/Panel.d.ts +43 -4
  227. package/dist/types/components/panel/PanelGroup.d.ts +24 -0
  228. package/dist/types/components/panel/PanelStack.d.ts +31 -0
  229. package/dist/types/components/progress/ProgressBar.d.ts +23 -3
  230. package/dist/types/components/progress/ProgressCircle.d.ts +22 -3
  231. package/dist/types/components/tabpanel/Tab.d.ts +38 -4
  232. package/dist/types/components/tabpanel/TabPanel.d.ts +51 -2
  233. package/dist/types/context/Global.d.ts +24 -1
  234. package/dist/types/core/aside/Aside.d.ts +45 -6
  235. package/dist/types/core/boundary/ErrorBoundary.d.ts +18 -2
  236. package/dist/types/core/content/Content.d.ts +6 -1
  237. package/dist/types/core/headfoot/HeadFoot.d.ts +41 -9
  238. package/dist/types/core/page/Page.d.ts +32 -4
  239. package/dist/types/core/responsive/Responsive.d.ts +58 -3
  240. package/dist/types/core/section/Section.d.ts +18 -3
  241. package/dist/types/core/theme/ThemeProvider.d.ts +25 -5
  242. package/dist/types/core/viewport/Viewport.d.ts +15 -1
  243. package/dist/types/hooks/useControlledValue.d.ts +13 -2
  244. package/dist/types/hooks/useDebounce.d.ts +12 -0
  245. package/dist/types/hooks/useEffectDebugger.d.ts +49 -0
  246. package/dist/types/hooks/useIsDark.d.ts +8 -0
  247. package/dist/types/hooks/useIsRtl.d.ts +12 -0
  248. package/dist/types/hooks/useNavigator.d.ts +18 -1
  249. package/dist/types/hooks/useOverlayService.d.ts +28 -9
  250. package/dist/types/hooks/usePropToggle.d.ts +16 -5
  251. package/dist/types/hooks/useResize.d.ts +19 -1
  252. package/dist/types/hooks/useResizeObserver.d.ts +20 -1
  253. package/dist/types/hooks/useStepper.d.ts +14 -0
  254. package/dist/types/hooks/useStorage.d.ts +38 -0
  255. package/dist/types/index.d.ts +4 -0
  256. package/dist/types/overlays/alert/Alert.d.ts +16 -5
  257. package/dist/types/overlays/flyout/Flyout.d.ts +9 -4
  258. package/dist/types/overlays/message/Message.d.ts +16 -5
  259. package/dist/types/overlays/modal/Modal.d.ts +13 -4
  260. package/dist/types/overlays/toast/Toast.d.ts +16 -5
  261. package/dist/types/overlays/tooltip/Tooltip.d.ts +2 -2
  262. package/dist/types/types/icons.d.ts +17 -3
  263. package/dist/types/types/index.d.ts +20 -22
  264. package/dist/types/typography/Abbr.d.ts +34 -4
  265. package/dist/types/typography/Anchor.d.ts +42 -0
  266. package/dist/types/typography/Copy.d.ts +15 -0
  267. package/dist/types/typography/Mark.d.ts +22 -4
  268. package/dist/types/typography/Text.d.ts +27 -1
  269. package/dist/types/typography/Title.d.ts +16 -1
  270. package/dist/types/typography/index.d.ts +1 -1
  271. package/dist/types/utils/cloneElement.d.ts +1 -0
  272. package/dist/types/utils/getColor.d.ts +1 -4
  273. package/dist/types/utils/index.d.ts +1 -0
  274. package/package.json +14 -16
  275. package/src/components/actionLabel/ActionLabel.tsx +26 -8
  276. package/src/components/animations/Animations.tsx +115 -36
  277. package/src/components/avatar/Avatar.tsx +51 -15
  278. package/src/components/avatar/AvatarGroup.tsx +23 -5
  279. package/src/components/badge/Badge.tsx +50 -22
  280. package/src/components/breadcrumbs/Breadcrumbs.tsx +43 -10
  281. package/src/components/button/Button.tsx +74 -42
  282. package/src/components/button/ButtonGroup.tsx +33 -7
  283. package/src/components/button/ConfirmButton.tsx +31 -3
  284. package/src/components/button/ToggleButtonGroup.tsx +74 -47
  285. package/src/components/callout/Callout.tsx +55 -12
  286. package/src/components/card/Card.tsx +84 -25
  287. package/src/components/card/CardCover.tsx +36 -6
  288. package/src/components/card/FlipContent.tsx +90 -0
  289. package/src/components/chip/Chip.tsx +53 -25
  290. package/src/components/collapsable/Collapsable.tsx +33 -8
  291. package/src/components/divider/Divider.tsx +42 -16
  292. package/src/components/dropdown/Dropdown.tsx +47 -12
  293. package/src/components/dropdown/DropdownTool.tsx +27 -2
  294. package/src/components/empty/EmptyContent.tsx +49 -8
  295. package/src/components/icon/Icon.tsx +96 -18
  296. package/src/components/index.ts +3 -2
  297. package/src/components/media/Media.tsx +193 -104
  298. package/src/components/menu/ContextMenu.tsx +19 -0
  299. package/src/components/menu/Menu.tsx +87 -30
  300. package/src/components/menu/MenuItem.tsx +44 -19
  301. package/src/components/menu/types.ts +9 -8
  302. package/src/components/meter/Meter.tsx +27 -4
  303. package/src/components/navigator/Navigator.tsx +58 -9
  304. package/src/components/panel/Panel.tsx +53 -21
  305. package/src/components/panel/PanelGroup.tsx +25 -2
  306. package/src/components/panel/PanelStack.tsx +33 -2
  307. package/src/components/progress/ProgressBar.tsx +33 -14
  308. package/src/components/progress/ProgressCircle.tsx +29 -13
  309. package/src/components/tabpanel/Tab.tsx +47 -24
  310. package/src/components/tabpanel/TabPanel.tsx +79 -13
  311. package/src/context/Global.tsx +28 -1
  312. package/src/context/NotificationCenter.tsx +3 -3
  313. package/src/core/aside/Aside.tsx +56 -34
  314. package/src/core/boundary/ErrorBoundary.tsx +26 -8
  315. package/src/core/boundary/ErrorIcon.tsx +1 -2
  316. package/src/core/content/Content.tsx +7 -3
  317. package/src/core/headfoot/HeadFoot.tsx +44 -37
  318. package/src/core/page/Page.tsx +42 -20
  319. package/src/core/responsive/Responsive.tsx +66 -8
  320. package/src/core/section/Section.tsx +26 -4
  321. package/src/core/theme/ThemeProvider.tsx +35 -14
  322. package/src/core/viewport/Viewport.tsx +16 -3
  323. package/src/hooks/useControlledValue.tsx +12 -0
  324. package/src/hooks/useDebounce.ts +13 -1
  325. package/src/hooks/useEffectDebugger.ts +50 -2
  326. package/src/hooks/useIsDark.ts +8 -0
  327. package/src/hooks/useIsRtl.ts +12 -0
  328. package/src/hooks/useNavigator.tsx +28 -5
  329. package/src/hooks/useOverlayService.tsx +33 -8
  330. package/src/hooks/usePropToggle.ts +16 -5
  331. package/src/hooks/useResize.ts +19 -1
  332. package/src/hooks/useResizeObserver.ts +32 -9
  333. package/src/hooks/useStepper.tsx +68 -0
  334. package/src/hooks/useStorage.ts +38 -0
  335. package/src/hotkeys/HotKeyLabel.tsx +1 -1
  336. package/src/hotkeys/HotKeyWrapper.tsx +3 -1
  337. package/src/index.ts +5 -0
  338. package/src/overlays/alert/Alert.tsx +50 -34
  339. package/src/overlays/flyout/Flyout.tsx +73 -97
  340. package/src/overlays/message/Message.tsx +28 -9
  341. package/src/overlays/modal/Modal.tsx +36 -30
  342. package/src/overlays/toast/Toast.tsx +42 -30
  343. package/src/overlays/tooltip/Tooltip.tsx +43 -18
  344. package/src/types/global.d.ts +8 -0
  345. package/src/types/icons.ts +32 -6
  346. package/src/types/index.ts +261 -45
  347. package/src/typography/Abbr.tsx +45 -11
  348. package/src/typography/{Link.tsx → Anchor.tsx} +26 -14
  349. package/src/typography/Copy.tsx +15 -0
  350. package/src/typography/Mark.tsx +25 -10
  351. package/src/typography/Text.tsx +31 -13
  352. package/src/typography/Title.tsx +18 -7
  353. package/src/typography/index.ts +1 -1
  354. package/src/{overlays/tooltip/Tooltip.module.css → utils/cloneElement.ts} +21 -27
  355. package/src/utils/getColor.ts +1 -17
  356. package/src/utils/index.ts +1 -0
  357. package/css/index.js +0 -250
  358. package/css/tailwind/colors.ts +0 -158
  359. package/dist/cjs/components/actionLabel/ActionLabel.module.css +0 -1
  360. package/dist/cjs/components/animations/Animations.module.css +0 -1
  361. package/dist/cjs/components/avatar/Avatar.module.css +0 -1
  362. package/dist/cjs/components/badge/Badge.module.css +0 -1
  363. package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  364. package/dist/cjs/components/button/Button.module.css +0 -1
  365. package/dist/cjs/components/card/Card.module.css +0 -1
  366. package/dist/cjs/components/chip/Chip.module.css +0 -1
  367. package/dist/cjs/components/collapsable/Collapsable.module.css +0 -1
  368. package/dist/cjs/components/dropdown/Dropdown.module.css +0 -1
  369. package/dist/cjs/components/icon/Icon.module.css +0 -1
  370. package/dist/cjs/components/media/Media.module.css +0 -1
  371. package/dist/cjs/components/menu/Menu.module.css +0 -1
  372. package/dist/cjs/components/meter/Meter.module.css +0 -1
  373. package/dist/cjs/components/panel/Panel.module.css +0 -1
  374. package/dist/cjs/components/progress/Progress.module.css +0 -1
  375. package/dist/cjs/components/tabpanel/TabPanel.module.css +0 -1
  376. package/dist/cjs/core/aside/Aside.module.css +0 -1
  377. package/dist/cjs/core/boundary/ErrorBoundary.module.css +0 -1
  378. package/dist/cjs/core/content/Content.module.css +0 -1
  379. package/dist/cjs/core/headfoot/HeadFoot.module.css +0 -1
  380. package/dist/cjs/core/page/Page.module.css +0 -1
  381. package/dist/cjs/core/responsive/Responsive.module.css +0 -1
  382. package/dist/cjs/core/section/Section.module.css +0 -1
  383. package/dist/cjs/core/theme/Theme.module.css +0 -1
  384. package/dist/cjs/core/viewport/Viewport.module.css +0 -1
  385. package/dist/cjs/overlays/alert/Alert.module.css +0 -1
  386. package/dist/cjs/overlays/flyout/Flyout.module.css +0 -1
  387. package/dist/cjs/overlays/message/Message.module.css +0 -1
  388. package/dist/cjs/overlays/modal/Modal.module.css +0 -1
  389. package/dist/cjs/overlays/toast/Toast.module.css +0 -1
  390. package/dist/cjs/overlays/tooltip/Tooltip.module.css +0 -1
  391. package/dist/cjs/typography/Typography.module.css +0 -1
  392. package/dist/esm/components/actionLabel/ActionLabel.module.css +0 -1
  393. package/dist/esm/components/animations/Animations.module.css +0 -1
  394. package/dist/esm/components/avatar/Avatar.module.css +0 -1
  395. package/dist/esm/components/badge/Badge.module.css +0 -1
  396. package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  397. package/dist/esm/components/button/Button.module.css +0 -1
  398. package/dist/esm/components/card/Card.module.css +0 -1
  399. package/dist/esm/components/chip/Chip.module.css +0 -1
  400. package/dist/esm/components/collapsable/Collapsable.module.css +0 -1
  401. package/dist/esm/components/dropdown/Dropdown.module.css +0 -1
  402. package/dist/esm/components/icon/Icon.module.css +0 -1
  403. package/dist/esm/components/media/Media.module.css +0 -1
  404. package/dist/esm/components/menu/Menu.module.css +0 -1
  405. package/dist/esm/components/meter/Meter.module.css +0 -1
  406. package/dist/esm/components/panel/Panel.module.css +0 -1
  407. package/dist/esm/components/progress/Progress.module.css +0 -1
  408. package/dist/esm/components/tabpanel/TabPanel.module.css +0 -1
  409. package/dist/esm/core/aside/Aside.module.css +0 -1
  410. package/dist/esm/core/boundary/ErrorBoundary.module.css +0 -1
  411. package/dist/esm/core/content/Content.module.css +0 -1
  412. package/dist/esm/core/headfoot/HeadFoot.module.css +0 -1
  413. package/dist/esm/core/page/Page.module.css +0 -1
  414. package/dist/esm/core/responsive/Responsive.module.css +0 -1
  415. package/dist/esm/core/section/Section.module.css +0 -1
  416. package/dist/esm/core/theme/Theme.module.css +0 -1
  417. package/dist/esm/core/viewport/Viewport.module.css +0 -1
  418. package/dist/esm/overlays/alert/Alert.module.css +0 -1
  419. package/dist/esm/overlays/flyout/Flyout.module.css +0 -1
  420. package/dist/esm/overlays/message/Message.module.css +0 -1
  421. package/dist/esm/overlays/modal/Modal.module.css +0 -1
  422. package/dist/esm/overlays/toast/Toast.module.css +0 -1
  423. package/dist/esm/overlays/tooltip/Tooltip.module.css +0 -1
  424. package/dist/esm/typography/Typography.module.css +0 -1
  425. package/dist/types/typography/Link.d.ts +0 -25
@@ -33,5 +33,59 @@ export interface VideoProps extends BaseProps {
33
33
  */
34
34
  playOnHover?: boolean;
35
35
  }
36
+ /**
37
+ * Component for displaying images with optional reel decoration.
38
+ * A versatile media component that supports images and videos with various display options.
39
+ * It can display images with a reel decoration, handle loading states, and show error icons if the media fails to load.
40
+ * This component is useful for displaying images in a visually appealing way, with support for lazy loading and error handling.
41
+ * It automatically adjusts the display based on the provided fit property, allowing for different styles such as cover, contain, or fill.
42
+ *
43
+ * @param {ImageProps | VideoProps} props - The properties for the Media component.
44
+ * @returns {JSX.Element} The rendered Media component.
45
+ *
46
+ * @example
47
+ * ```jsx
48
+ * <Image
49
+ * src="image.jpg"
50
+ * alt="Example Image"
51
+ * reel={true}
52
+ * fit="cover"
53
+ * className="custom-class"
54
+ * />
55
+ * // Renders an image with reel decoration, cover fit, and a custom class name.
56
+ * ```
57
+ *
58
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-media--docs} for more details.
59
+ */
36
60
  export declare const Image: ({ src, alt, reel, fit, className, ...aria }: ImageProps) => import("react/jsx-runtime").JSX.Element;
61
+ /**
62
+ * Component for displaying videos with optional controls and reel decoration.
63
+ * A versatile video component that supports autoplay, hover play, and various display options.
64
+ * It can display videos with a reel decoration, handle loading states, and show error icons if the video fails to load.
65
+ * This component is useful for displaying videos in a visually appealing way, with support for controls, autoplay, and error handling.
66
+ * It automatically adjusts the display based on the provided fit property, allowing for different styles such as cover, contain, or fill.
67
+ * It also includes controls for play/pause and volume, enhancing user interaction with the video content.
68
+ * This component is ideal for media-rich applications where video content needs to be displayed with user-friendly controls and visual effects.
69
+ * It supports features like autoplay, play on hover, and custom fit options for the video display.
70
+ * It also includes a reel decoration for a more engaging visual presentation.
71
+ *
72
+ * @param {VideoProps} props - The properties for the Video component.
73
+ * @returns {JSX.Element} The rendered Video component.
74
+ *
75
+ * @example
76
+ * ```jsx
77
+ * <Video
78
+ * src="video.mp4"
79
+ * poster="poster.jpg"
80
+ * reel={true}
81
+ * autoPlay={true}
82
+ * playOnHover={true}
83
+ * fit="cover"
84
+ * className="custom-class"
85
+ * />
86
+ * // Renders a video with reel decoration, autoplay, play on hover, cover fit, and a custom class name.
87
+ * ```
88
+ *
89
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-video--docs} for more details.
90
+ */
37
91
  export declare const Video: ({ src, poster, reel, autoPlay, playOnHover, fit, className, ...aria }: VideoProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,26 @@
1
- /// <reference types="react" />
2
1
  import { type ChildrenProp } from "../../types";
3
2
  import { type Menu } from "./Menu";
4
3
  export interface ContextMenuProps extends ChildrenProp {
5
4
  menu: React.ReactElement<typeof Menu>;
6
5
  disabled?: boolean;
7
6
  }
7
+ /**
8
+ * A component that provides a context menu that appears on right-click.
9
+ * It uses the Floating UI library to manage the positioning and interactions of the menu.
10
+ * This component is useful for creating custom context menus that can be triggered by right-clicking on elements.
11
+ *
12
+ * @param {ContextMenuProps} props - The properties for the ContextMenu component.
13
+ * @returns {JSX.Element} The rendered ContextMenu component.
14
+ *
15
+ * @example
16
+ * ```jsx
17
+ * <ContextMenu
18
+ * menu={<Menu items={[{ label: "Option 1" }, { label: "Option 2" }]} />}
19
+ * >
20
+ * <div className="context-menu-target">Right-click me!</div>
21
+ * </ContextMenu>
22
+ * ```
23
+ *
24
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-menu--docs}
25
+ */
8
26
  export declare const ContextMenu: ({ children, menu, disabled }: ContextMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,31 @@
1
1
  import { type MenuProps } from "./types";
2
+ /**
3
+ * A component that displays a menu with items, supports nested menus and various interactions.
4
+ * It can be triggered by hover or click events, and allows for custom styling and behavior.
5
+ * This component is designed to be used within a Floating UI context, allowing for dynamic positioning and interaction handling.
6
+ * It can be nested within other menus to create complex menu structures.
7
+ *
8
+ * @param {MenuProps} props - The properties for the Menu component.
9
+ * @returns {JSX.Element} The rendered Menu component.
10
+ *
11
+ * @example
12
+ * ```jsx
13
+ * <Menu
14
+ * className="my-menu"
15
+ * trigger="click"
16
+ * onClick={(id) => console.log(`Clicked item with id: ${id}`)}
17
+ * >
18
+ * <MenuItem id="item1" label="Item 1" />
19
+ * <MenuItem id="item2" label="Item 2" />
20
+ * <MenuItem id="item3" label="Item 3">
21
+ * <Menu>
22
+ * <MenuItem id="subitem1" label="Sub Item 1" />
23
+ * <MenuItem id="subitem2" label="Sub Item 2" />
24
+ * </Menu>
25
+ * </MenuItem>
26
+ * </Menu>
27
+ * ```
28
+ *
29
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-menu--docs} for more details.
30
+ */
2
31
  export declare const Menu: (props: MenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,24 @@
1
- /// <reference types="react" />
2
1
  import { type PolymorphicProps } from "../../types";
3
2
  import { type MenuItemProps } from "./types";
4
- export declare const MenuItem: <Tag extends import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> = "button">({ as, label, color, className, icon, iconBg, iconColor, appendLabel, rtlFlip, altIcon, id, active, disabled, onClick, badge, hotKey, minimal, "data-open": childOpen, ref, ...aria }: MenuItemProps & PolymorphicProps<Tag>) => import("react/jsx-runtime").JSX.Element;
3
+ /**
4
+ * A menu item component that can be used in a dropdown or menu.
5
+ * It supports various features such as icons, badges, hotkeys, and more.
6
+ * It can be customized with different colors, icons, and behaviors.
7
+ *
8
+ * @param {MenuItemProps} props
9
+ * @returns A JSX element representing the menu item.
10
+ *
11
+ * @example
12
+ * ```jsx
13
+ * <MenuItem
14
+ * label="Settings"
15
+ * icon="settings"
16
+ * onClick={() => console.log("Settings clicked")}
17
+ * hotKey="Ctrl+S"
18
+ * badge={{ count: 3, color: "red" }}
19
+ * />
20
+ * ```
21
+ *
22
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-menu--docs} for documentation.
23
+ */
24
+ export declare const MenuItem: <Tag extends React.ElementType = "button">({ as, label, color, className, icon, appendLabel, altIcon, id, active, disabled, onClick, badge, hotKey, tabIndex, minimal, "data-open": childOpen, ref, ...aria }: MenuItemProps & PolymorphicProps<Tag>) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { type ElementType, type MouseEvent } from "react";
2
- import { type AriaProps, type BadgeType, type CallbackReturn, type ChildrenProp, type ColorType, type CssProp, type IconProps, type TestProps } from "../../types";
3
- export interface MenuItemProps extends CssProp, AriaProps, TestProps, IconProps {
2
+ import { type AriaProps, type BadgeType, type CallbackReturn, type ChildrenProp, type ColorState, type CssProp, type TestProps } from "../../types";
3
+ import { type IconProps } from "../icon/Icon";
4
+ export interface MenuItemProps extends CssProp, AriaProps, TestProps {
4
5
  /**
5
6
  * menu id passed via menu.onClick
6
7
  */
@@ -16,7 +17,11 @@ export interface MenuItemProps extends CssProp, AriaProps, TestProps, IconProps
16
17
  /**
17
18
  * menu color
18
19
  */
19
- color?: ColorType;
20
+ color?: ColorState;
21
+ /**
22
+ * icon path or props
23
+ */
24
+ icon?: IconProps;
20
25
  /**
21
26
  * item active
22
27
  */
@@ -51,6 +56,7 @@ export interface MenuRootProps extends CssProp {
51
56
  export interface MenuInnerProps extends MenuItemProps {
52
57
  label: string;
53
58
  minimal?: never;
59
+ trigger?: "hover" | "click";
54
60
  /**
55
61
  * floating menu className
56
62
  */
@@ -9,4 +9,28 @@ export interface MeterProps extends CssProp, AriaProps, TestProps {
9
9
  */
10
10
  hideLabel?: boolean;
11
11
  }
12
+ /**
13
+ * A component that displays a visual representation of a value as a series of dots.
14
+ * It is useful for showing progress or completion status in a compact form.
15
+ * The meter consists of 6 dots, each representing approximately 16.67% of the total value.
16
+ * The active dots are filled based on the value provided, and the remaining dots are empty.
17
+ * The component can also display a label showing the percentage value.
18
+ *
19
+ * @param {MeterProps} props - The properties for the Meter component.
20
+ * @returns {JSX.Element} The rendered Meter component.
21
+ *
22
+ * @example
23
+ * ```jsx
24
+ * <Meter value={75} />
25
+ * // Renders a meter with 4 active dots and a label showing "75%"
26
+ *
27
+ * <Meter value={50} hideLabel />
28
+ * // Renders a meter with 3 active dots and no label
29
+ *
30
+ * <Meter value={100} className="custom-meter" />
31
+ * // Renders a meter with all 6 active dots and a custom class name
32
+ * ```
33
+ *
34
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-meter--docs} for more details.
35
+ */
12
36
  export declare const Meter: ({ value, hideLabel, className, ...aria }: MeterProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,37 @@
1
- import { type AriaProps, type ColorType, type CssProp, type TestProps } from "../../types";
2
- export interface NavigatorProps extends CssProp, AriaProps, TestProps {
1
+ import { type AriaProps, type ChildProp, type ColorType, type CssProp, type PaletteType, type TestProps } from "../../types";
2
+ export interface NavigatorProps extends CssProp, AriaProps, TestProps, Partial<ChildProp> {
3
+ length?: number;
4
+ current?: number;
5
+ disableKeyHandlers?: boolean;
3
6
  /**
4
7
  * navigator button color
5
8
  */
6
- color?: ColorType | string;
9
+ color?: ColorType | PaletteType | string;
7
10
  /**
8
11
  * navigation handler
9
12
  */
10
13
  onNavigate: (dir: -1 | 1) => void;
11
14
  }
12
- export declare const Navigator: ({ className, onNavigate, color, ...aria }: NavigatorProps) => import("react/jsx-runtime").JSX.Element;
15
+ /**
16
+ * A component that provides navigation controls for traversing through items.
17
+ * It includes previous and next buttons, and supports keyboard navigation.
18
+ *
19
+ * @param {NavigatorProps} props - The properties for the Navigator component.
20
+ * @returns {JSX.Element} The rendered Navigator component.
21
+ *
22
+ * @example
23
+ * ```jsx
24
+ * <Navigator
25
+ * className="my-navigator"
26
+ * onNavigate={(dir) => console.log(`Navigate ${dir === -1 ? 'previous' : 'next'}`)}
27
+ * color="blue"
28
+ * length={10}
29
+ * current={0}
30
+ * >
31
+ * <span>Current Item: 1</span>
32
+ * </Navigator>
33
+ * ```
34
+ *
35
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-navigator--docs} for more details.
36
+ */
37
+ export declare const Navigator: ({ className, onNavigate, color, children, length, current, disableKeyHandlers, ...aria }: NavigatorProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
1
  import { type ContentProps } from "../../core/content/Content";
3
2
  import { type HeadFootProps } from "../../core/headfoot/HeadFoot";
4
- import { type AriaProps, type ChildrenProp, type CollapseProps, type CssProp, type ExpandProps, type IconProps, type TestProps } from "../../types";
5
- export interface PanelProps extends CssProp, AriaProps, TestProps, IconProps, ExpandProps, CollapseProps, ChildrenProp<HeadFootProps | ContentProps> {
3
+ import { type AriaProps, type ChildrenProp, type CollapseProps, type CssProp, type ExpandProps, type TestProps } from "../../types";
4
+ import { type IconProps } from "../icon/Icon";
5
+ export interface PanelProps extends CssProp, AriaProps, TestProps, ExpandProps, CollapseProps, ChildrenProp<HeadFootProps | ContentProps> {
6
6
  /**
7
7
  * panel id used by panel stack
8
8
  */
@@ -23,6 +23,10 @@ export interface PanelProps extends CssProp, AriaProps, TestProps, IconProps, Ex
23
23
  * title css classname(s)
24
24
  */
25
25
  titleClassName?: string;
26
+ /**
27
+ * icon path or props
28
+ */
29
+ icon?: IconProps;
26
30
  /**
27
31
  * loading state
28
32
  */
@@ -56,4 +60,39 @@ export interface PanelProps extends CssProp, AriaProps, TestProps, IconProps, Ex
56
60
  */
57
61
  onClose?: () => void;
58
62
  }
59
- export declare const Panel: ({ children, className, titleClassName, headerClassName, title, actions, icon, iconBg, iconColor, rtlFlip, panelId, height, width, minHeight, minWidth, maxHeight, maxWidth, loading, expandable, expanded: _expanded, onExpand, collapsable, collapsed: _collapsed, onCollapse, onClose, onBack, ...aria }: PanelProps) => import("react/jsx-runtime").JSX.Element;
63
+ /**
64
+ * A component that represents a panel with a header, body, and optional actions.
65
+ * It supports expandable and collapsible functionality, loading state, and customizable styles.
66
+ * The panel can be resized and has a fixed position when expanded.
67
+ * It can be customized with different colors, icons, and behaviors.
68
+ * This component is useful for displaying content in a structured way, allowing users to interact with it through actions and toggles.
69
+ * It can be used in various applications where panels are needed, such as dashboards, settings pages, or content management systems.
70
+ *
71
+ * @param {PanelProps} props - The properties for the Panel component.
72
+ * @returns {JSX.Element} The rendered Panel component.
73
+ *
74
+ * @example
75
+ * ```jsx
76
+ * <Panel
77
+ * title="Panel Title"
78
+ * icon={CoreIcons.info}
79
+ * actions={<button>Action</button>}
80
+ * expandable
81
+ * collapsable
82
+ * onExpand={() => console.log("Expanded")}
83
+ * onCollapse={() => console.log("Collapsed")}
84
+ * onClose={() => console.log("Closed")}
85
+ * height="400px"
86
+ * width="300px"
87
+ * minHeight="200px"
88
+ * minWidth="200px"
89
+ * maxHeight="600px"
90
+ * maxWidth="600px"
91
+ * >
92
+ * <p>This is the content of the panel.</p>
93
+ * </Panel>
94
+ * ```
95
+ *
96
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panel--docs} for more details.
97
+ */
98
+ export declare const Panel: ({ children, className, titleClassName, headerClassName, title, actions, icon, panelId, height, width, minHeight, minWidth, maxHeight, maxWidth, loading, expandable, expanded: _expanded, onExpand, collapsable, collapsed: _collapsed, onCollapse, onClose, onBack, ...aria }: PanelProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,4 +9,28 @@ export interface PanelGroupProps extends ChildrenProp {
9
9
  */
10
10
  onActiveChange?: (panelId: string) => void;
11
11
  }
12
+ /**
13
+ * A component that groups multiple panels together, allowing for one panel to be expanded at a time.
14
+ * This component allows you to manage a group of panels where only one can be expanded at a time.
15
+ * It accepts an `activePanel` prop to control which panel is currently expanded,
16
+ * and an `onActiveChange` callback that is triggered when the active panel changes.
17
+ * It uses the `Panel` component to render each individual panel within the group.
18
+ *
19
+ * @param {PanelGroupProps} props - The properties for the PanelGroup component.
20
+ * @returns {JSX.Element} The rendered PanelGroup component.
21
+ *
22
+ * @example
23
+ * ```jsx
24
+ * <PanelGroup
25
+ * activePanel="panel1"
26
+ * onActiveChange={(panelId) => console.log(`Active panel changed to: ${panelId}`)}
27
+ * >
28
+ * <Panel panelId="panel1" title="Panel 1">Content for Panel 1</Panel>
29
+ * <Panel panelId="panel2" title="Panel 2">Content for Panel 2</Panel>
30
+ * <Panel panelId="panel3" title="Panel 3">Content for Panel 3</Panel>
31
+ * </PanelGroup>
32
+ * ```
33
+ *
34
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panel--docs} for more details.
35
+ */
12
36
  export declare const PanelGroup: ({ children, activePanel, onActiveChange, }: PanelGroupProps) => import("react/jsx-runtime").JSX.Element;
@@ -13,4 +13,35 @@ export interface PanelStackProps extends CssProp, ChildrenProp {
13
13
  */
14
14
  onBack?: (panelId: string, nextPanelId: string) => boolean | undefined;
15
15
  }
16
+ /**
17
+ * A component that manages a stack of panels, allowing navigation between them.
18
+ * This component allows you to manage a stack of panels where you can navigate between them.
19
+ * It accepts an `active` prop to control which panel is currently active,
20
+ * an `onPanelChange` callback that is triggered when the active panel changes,
21
+ * and an `onBack` callback to handle navigation to the previous panel in the history.
22
+ * It uses the `Panel` component to render each individual panel within the stack.
23
+ * The component maintains a history of panels to allow back navigation,
24
+ * and it updates the active panel based on user interactions.
25
+ *
26
+ * @param {PanelStackProps} props - The properties for the PanelStack component.
27
+ * @returns {JSX.Element} The rendered PanelStack component.
28
+ *
29
+ * @example
30
+ * ```jsx
31
+ * <PanelStack
32
+ * active="panel1"
33
+ * onPanelChange={(panelId) => console.log(`Active panel changed to: ${panelId}`)}
34
+ * onBack={(currentPanel, nextPanel) => {
35
+ * console.log(`Navigating back from ${currentPanel} to ${nextPanel}`);
36
+ * return true; // return false to prevent navigation
37
+ * }}
38
+ * >
39
+ * <Panel panelId="panel1" title="Panel 1">Content for Panel 1</Panel>
40
+ * <Panel panelId="panel2" title="Panel 2">Content for Panel 2</Panel>
41
+ * <Panel panelId="panel3" title="Panel 3">Content for Panel 3</Panel>
42
+ * </PanelStack>
43
+ * ```
44
+ *
45
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panelstack--docs} for more details.
46
+ */
16
47
  export declare const PanelStack: ({ active, children, className, onPanelChange, onBack, ...rest }: PanelStackProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
- import { type ColorType } from "../../types";
1
+ import { type PaletteType, type ColorType } from "../../types";
2
2
  export interface ProgressProps {
3
3
  /**
4
- * progress value (0-100)
4
+ * progress value (0-1)
5
5
  */
6
6
  value: number;
7
7
  /**
@@ -11,7 +11,7 @@ export interface ProgressProps {
11
11
  /**
12
12
  * color
13
13
  */
14
- color?: ColorType;
14
+ color?: ColorType | PaletteType;
15
15
  /**
16
16
  * animate
17
17
  */
@@ -21,4 +21,24 @@ export interface ProgressProps {
21
21
  */
22
22
  label?: string;
23
23
  }
24
+ /**
25
+ * A component that displays a progress bar indicating the completion percentage of a task or operation.
26
+ * The progress bar is styled with a background color and a track that fills based on the value provided.
27
+ * It can also display a label showing the percentage value.
28
+ * The label can be customized or hidden based on the props provided.
29
+ *
30
+ * @param {ProgressProps} props - The properties for the ProgressBar component.
31
+ * @returns {JSX.Element} The rendered ProgressBar component.
32
+ *
33
+ * @example
34
+ * ```jsx
35
+ * <ProgressBar value={0.75} size="md" color="primary-500" label="Loading" animate />
36
+ * // Renders a progress bar with 75% completion, medium size, primary color, and a label "Loading"
37
+ *
38
+ * <ProgressBar value={0.5} size="lg" color="success-500" />
39
+ * // Renders a progress bar with 50% completion, large size, and success color without a label
40
+ * ```
41
+ *
42
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-progress--docs} for more details.
43
+ */
24
44
  export declare const ProgressBar: ({ value, size, color, label, animate, }: ProgressProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
- import { type ColorType } from "../../types";
1
+ import { type PaletteType, type ColorType } from "../../types";
2
2
  export interface ProgressProps {
3
3
  /**
4
- * progress value (0-100)
4
+ * progress value (0-1)
5
5
  */
6
6
  value: number;
7
7
  /**
@@ -11,6 +11,25 @@ export interface ProgressProps {
11
11
  /**
12
12
  * color
13
13
  */
14
- color?: ColorType;
14
+ color?: ColorType | PaletteType;
15
15
  }
16
+ /**
17
+ * A circular progress indicator that visually represents a percentage of completion.
18
+ * It displays a circular track with a stroke that fills based on the `value` prop.
19
+ * The component is customizable with size and color props.
20
+ *
21
+ * @param {ProgressProps} props - The properties for the ProgressCircle component.
22
+ * @returns {JSX.Element} - A circular progress indicator.
23
+ *
24
+ * @example
25
+ * ```jsx
26
+ * <ProgressCircle value={0.75} size="md" color="primary-500" />
27
+ * // Renders a circular progress indicator with 75% completion, medium size, and primary color.
28
+ *
29
+ * <ProgressCircle value={0.5} size="lg" color="secondary-500" />
30
+ * // Renders a circular progress indicator with 50% completion, large size, and secondary color.
31
+ * ```
32
+ *
33
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-progress--docs} for more details.
34
+ */
16
35
  export declare const ProgressCircle: ({ value, size, color, }: ProgressProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { type ReactElement } from "react";
2
- import { type AriaProps, type BadgeType, type CallbackReturn, type ChildrenProp, type ColorType, type CssProp, type IconProps, type PolymorphicProps, type RefProp, type TestProps, type TooltipProp } from "../../types";
3
- export interface TabProps extends Partial<ChildrenProp>, CssProp, RefProp, AriaProps, TestProps, IconProps, TooltipProp {
2
+ import { type AriaProps, type BadgeType, type CallbackReturn, type ChildrenProp, type ColorState, type CssProp, type PolymorphicProps, type RefProp, type TestProps, type TooltipProp } from "../../types";
3
+ import { type IconProps } from "../icon/Icon";
4
+ export interface TabProps extends Partial<ChildrenProp>, CssProp, RefProp, AriaProps, TestProps, TooltipProp {
4
5
  /**
5
6
  * tab id
6
7
  */
@@ -12,7 +13,11 @@ export interface TabProps extends Partial<ChildrenProp>, CssProp, RefProp, AriaP
12
13
  /**
13
14
  * tab color
14
15
  */
15
- color?: ColorType;
16
+ color?: ColorState;
17
+ /**
18
+ * icon path or props
19
+ */
20
+ icon?: IconProps;
16
21
  /**
17
22
  * tab badge
18
23
  */
@@ -42,4 +47,33 @@ export interface TabProps extends Partial<ChildrenProp>, CssProp, RefProp, AriaP
42
47
  */
43
48
  onClick?: (id: string) => CallbackReturn;
44
49
  }
45
- export declare const Tab: <Tag extends import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> = "button">({ ref, as, id, className, label, icon, iconBg, iconColor, rtlFlip, badge, disabled, onClose, active, minimal, onClick, tabFlex, color, actions, tooltip, activeClassName, ...aria }: TabProps & PolymorphicProps<Tag>) => import("react/jsx-runtime").JSX.Element;
50
+ /**
51
+ * A component that represents a tab in a tabbed interface. It can display an icon, label, badge, and actions.
52
+ * It supports polymorphic rendering, allowing it to be rendered as different HTML elements.
53
+ * It also supports tooltips, active states, and click handling.
54
+ *
55
+ * @param {TabProps} props - The properties for the Tab component.
56
+ * @returns {JSX.Element} The rendered Tab component.
57
+ *
58
+ * @example
59
+ * ```jsx
60
+ * <Tab
61
+ * id="tab1"
62
+ * label="Tab 1"
63
+ * icon="home"
64
+ * badge="New"
65
+ * onClick={(id) => console.log(`Tab clicked: ${id}`)}
66
+ * onClose={() => console.log("Tab closed")}
67
+ * active={true}
68
+ * actions={<button>Action</button>}
69
+ * color="primary"
70
+ * tooltip="This is a tab"
71
+ * activeClassName="bg-blue-100"
72
+ * />
73
+ * // Renders a tab with label "Tab 1", home icon, blue background, white text, badge "New",
74
+ * // and an action button. The tab is active and has a tooltip.
75
+ * ```
76
+ *
77
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-tabpanel--docs} for more details.
78
+ */
79
+ export declare const Tab: <Tag extends React.ElementType = "button">({ ref, as, id, className, label, icon, badge, disabled, onClose, active, onClick, tabFlex, color, actions, tooltip, activeClassName, ...aria }: TabProps & PolymorphicProps<Tag>) => import("react/jsx-runtime").JSX.Element;
@@ -12,11 +12,15 @@ export interface TabPanelProps extends ChildrenProp<typeof Tab> {
12
12
  /**
13
13
  * tab variations
14
14
  */
15
- variant?: "soft" | "solid" | "outline";
15
+ variant?: "soft" | "solid" | "outline" | "pills";
16
16
  /**
17
17
  * tab button flex to fill tabs
18
18
  */
19
19
  tabFlex?: boolean;
20
+ /**
21
+ * rotate tab sideways for start/end orientation
22
+ */
23
+ tabRotate?: boolean;
20
24
  /**
21
25
  * tab button gap
22
26
  */
@@ -29,6 +33,18 @@ export interface TabPanelProps extends ChildrenProp<typeof Tab> {
29
33
  * tab list className
30
34
  */
31
35
  headerClassName?: string;
36
+ /**
37
+ * active tab className
38
+ */
39
+ activeClassName?: string;
40
+ /**
41
+ * append element
42
+ */
43
+ append?: React.ReactNode;
44
+ /**
45
+ * prepend element
46
+ */
47
+ prepend?: React.ReactNode;
32
48
  /**
33
49
  * change handler
34
50
  */
@@ -38,4 +54,37 @@ export interface TabPanelProps extends ChildrenProp<typeof Tab> {
38
54
  */
39
55
  onBeforeChange?: (nextTab: string, currentTab?: string) => CallbackReturn;
40
56
  }
41
- export declare const TabPanel: ({ children, headerClassName, orientation, activeTab, justify, variant, tabFlex, gap, onBeforeChange, onChange, }: TabPanelProps) => import("react/jsx-runtime").JSX.Element;
57
+ /**
58
+ * A component that provides a tabbed interface for displaying content.
59
+ * It allows users to switch between different tabs, each containing its own content.
60
+ * It supports various orientations, justify options, and variants for the tab header.
61
+ * It also provides hooks for handling tab changes before and after they occur.
62
+ * This component is useful for organizing content into separate sections that can be easily navigated by the user.
63
+ * It can be customized with different styles and behaviors to fit the needs of the application.
64
+ *
65
+ * @param {TabPanelProps} props - The properties for the TabPanel component.
66
+ * @returns {JSX.Element} The rendered TabPanel component.
67
+ *
68
+ * @example
69
+ * ```jsx
70
+ * <TabPanel
71
+ * orientation="top"
72
+ * activeTab="tab1"
73
+ * justify="start"
74
+ * variant="solid"
75
+ * tabFlex={true}
76
+ * onBeforeChange={(nextTab, currentTab) => {
77
+ * console.log(`Switching from ${currentTab} to ${nextTab}`);
78
+ * return true; // or false to prevent change
79
+ * }}
80
+ * onChange={(id) => console.log(`Active tab changed to: ${id}`)}
81
+ * >
82
+ * <Tab id="tab1" label="Tab 1">Content for Tab 1</Tab>
83
+ * <Tab id="tab2" label="Tab 2">Content for Tab 2</Tab>
84
+ * <Tab id="tab3" label="Tab 3">Content for Tab 3</Tab>
85
+ * </TabPanel>
86
+ * ```
87
+ *
88
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-tabpanel--docs} for more details.
89
+ */
90
+ export declare const TabPanel: ({ children, headerClassName, orientation, activeTab, activeClassName, justify, variant, tabFlex, append, prepend, tabRotate, gap, onBeforeChange, onChange, }: TabPanelProps) => import("react/jsx-runtime").JSX.Element;
@@ -53,7 +53,15 @@ export declare const ApplicationProvider: FC<GlobalProps>;
53
53
  */
54
54
  export declare const useGlobals: () => GlobalContextType;
55
55
  /**
56
- * global application context
56
+ * Hook to access the global application context.
57
+ * This hook provides access to the global context values, including the current locale, calendar, and color scheme.
58
+ *
59
+ * @returns {GlobalContextType} The global context values excluding the error element.
60
+ *
61
+ * @example
62
+ * ```jsx
63
+ * const { changeLocale, currentLocale, toggleColorScheme } = useApplicationContext();
64
+ * ```
57
65
  */
58
66
  export declare const useApplicationContext: () => {
59
67
  /**
@@ -77,5 +85,20 @@ export declare const useApplicationContext: () => {
77
85
  currentColorScheme: State["colorScheme"];
78
86
  notificationManager: NotificationManagerRef;
79
87
  };
88
+ /**
89
+ * Hook to access the notification manager from the global context.
90
+ * This hook provides methods to show alerts, errors, messages, and toasts.
91
+ * It returns a reference to the notification manager, which can be used to display notifications in the application.
92
+ *
93
+ * @returns {NotificationManagerRef} The notification manager reference.
94
+ *
95
+ * @example
96
+ * ```jsx
97
+ * const notificationService = useNotificationService();
98
+ * notificationService.showMessage("Hello World");
99
+ * ```
100
+ *
101
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-notifications--notifications} for more details on available methods.
102
+ */
80
103
  export declare const useNotificationService: () => NotificationManagerRef;
81
104
  export {};