@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
@@ -2,26 +2,47 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
- var react = require('@floating-ui/react');
5
+ var react$1 = require('@floating-ui/react');
6
6
  var utilities = require('@react-fabric/utilities');
7
7
  var classNames = require('classnames');
8
- var react$1 = require('react');
8
+ var react = require('react');
9
+ var HotKey = require('../../hotkeys/HotKey.js');
9
10
  var HotKeyLabel = require('../../hotkeys/HotKeyLabel.js');
10
11
  require('@babel/runtime/helpers/slicedToArray');
11
12
  require('react-i18next');
12
13
  require('../../hooks/useEffectDebugger.js');
13
14
  var jsxRuntime = require('react/jsx-runtime');
14
- require('../../hotkeys/HotKeyWrapper.js');
15
15
  var Tooltip = require('../../overlays/tooltip/Tooltip.js');
16
16
  var Badge = require('../badge/Badge.js');
17
17
  var Icon = require('../icon/Icon.js');
18
18
  require('../../types/icons.js');
19
- var Menu_module = require('./Menu.module.css');
19
+ require('../../hotkeys/HotKeyWrapper.js');
20
20
 
21
- var _excluded = ["as", "label", "color", "className", "icon", "iconBg", "iconColor", "appendLabel", "rtlFlip", "altIcon", "id", "active", "disabled", "onClick", "badge", "hotKey", "minimal", "data-open", "ref"],
21
+ var _excluded = ["as", "label", "color", "className", "icon", "appendLabel", "altIcon", "id", "active", "disabled", "onClick", "badge", "hotKey", "tabIndex", "minimal", "data-open", "ref"],
22
22
  _excluded2 = ["children"];
23
23
  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; }
24
24
  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; }
25
+ /**
26
+ * A menu item component that can be used in a dropdown or menu.
27
+ * It supports various features such as icons, badges, hotkeys, and more.
28
+ * It can be customized with different colors, icons, and behaviors.
29
+ *
30
+ * @param {MenuItemProps} props
31
+ * @returns A JSX element representing the menu item.
32
+ *
33
+ * @example
34
+ * ```jsx
35
+ * <MenuItem
36
+ * label="Settings"
37
+ * icon="settings"
38
+ * onClick={() => console.log("Settings clicked")}
39
+ * hotKey="Ctrl+S"
40
+ * badge={{ count: 3, color: "red" }}
41
+ * />
42
+ * ```
43
+ *
44
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-menu--docs} for documentation.
45
+ */
25
46
  var MenuItem = function MenuItem(_ref) {
26
47
  var as = _ref.as,
27
48
  label = _ref.label,
@@ -29,10 +50,7 @@ var MenuItem = function MenuItem(_ref) {
29
50
  color = _ref$color === void 0 ? "primary" : _ref$color,
30
51
  className = _ref.className,
31
52
  icon = _ref.icon,
32
- iconBg = _ref.iconBg,
33
- iconColor = _ref.iconColor,
34
53
  appendLabel = _ref.appendLabel,
35
- rtlFlip = _ref.rtlFlip,
36
54
  altIcon = _ref.altIcon,
37
55
  id = _ref.id,
38
56
  active = _ref.active,
@@ -40,29 +58,32 @@ var MenuItem = function MenuItem(_ref) {
40
58
  _onClick = _ref.onClick,
41
59
  badge = _ref.badge,
42
60
  hotKey = _ref.hotKey,
61
+ _ref$tabIndex = _ref.tabIndex,
62
+ tabIndex = _ref$tabIndex === void 0 ? -1 : _ref$tabIndex,
43
63
  minimal = _ref.minimal,
44
64
  childOpen = _ref["data-open"],
45
65
  ref = _ref.ref,
46
66
  aria = _objectWithoutProperties(_ref, _excluded);
47
- var tree = react.useFloatingTree();
48
- var badgeProps = react$1.useMemo(function () {
67
+ var elRef = react.useRef(null);
68
+ var tree = react$1.useFloatingTree();
69
+ var badgeProps = react.useMemo(function () {
49
70
  return Badge.getBadgeProps(badge);
50
71
  }, [badge]);
51
- var iconEl = react$1.useMemo(function () {
72
+ react.useEffect(function () {
73
+ var _elRef$current;
74
+ tabIndex === 0 && ((_elRef$current = elRef.current) === null || _elRef$current === void 0 ? void 0 : _elRef$current.focus());
75
+ }, [tabIndex]);
76
+ var iconEl = react.useMemo(function () {
52
77
  var _path;
53
78
  var path = icon;
54
79
  if (minimal && !path) {
55
80
  path = utilities.iconToken(label);
56
81
  }
57
- return /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
58
- className: classNames(Menu_module.menuIcon, minimal && Menu_module.minimal),
59
- icon: (_path = path) !== null && _path !== void 0 ? _path : "",
60
- bg: iconBg,
61
- color: iconColor,
62
- rtlFlip: rtlFlip
63
- });
64
- }, [icon, iconBg, iconColor, rtlFlip, minimal, label]);
65
- var Wrapper = react$1.useCallback(function (_ref2) {
82
+ return /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, _objectSpread({
83
+ className: classNames("fabric-menuIcon", minimal && "minimal")
84
+ }, Icon.getIconProps((_path = path) !== null && _path !== void 0 ? _path : "")));
85
+ }, [icon, minimal, label]);
86
+ var Wrapper = react.useCallback(function (_ref2) {
66
87
  var children = _ref2.children,
67
88
  rest = _objectWithoutProperties(_ref2, _excluded2);
68
89
  return minimal ? /*#__PURE__*/jsxRuntime.jsx(Tooltip.Tooltip, _objectSpread(_objectSpread({
@@ -71,11 +92,11 @@ var MenuItem = function MenuItem(_ref) {
71
92
  disabled: childOpen
72
93
  }, rest), {}, {
73
94
  children: children
74
- })) : /*#__PURE__*/jsxRuntime.jsx(react$1.Fragment, {
95
+ })) : /*#__PURE__*/jsxRuntime.jsx(react.Fragment, {
75
96
  children: children
76
97
  });
77
98
  }, [minimal, label, childOpen]);
78
- var menuLabel = react$1.useMemo(function () {
99
+ var menuLabel = react.useMemo(function () {
79
100
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
80
101
  className: "flex flex-nowrap text-start items-center",
81
102
  children: [iconEl, !minimal && /*#__PURE__*/jsxRuntime.jsx("label", {
@@ -98,20 +119,27 @@ var MenuItem = function MenuItem(_ref) {
98
119
  }, [iconEl, minimal, appendLabel, label, badge, badgeProps, hotKey, active]);
99
120
  var E = as !== null && as !== void 0 ? as : "button";
100
121
  return /*#__PURE__*/jsxRuntime.jsx(Wrapper, _objectSpread(_objectSpread({}, aria), {}, {
101
- children: /*#__PURE__*/jsxRuntime.jsx(E, _objectSpread(_objectSpread({
102
- ref: ref,
122
+ children: /*#__PURE__*/jsxRuntime.jsxs(E, _objectSpread(_objectSpread({
123
+ ref: utilities.mergeRefs(ref, elRef),
103
124
  "data-dropdown-dismiss": true,
104
125
  "data-color": color,
105
- className: classNames(Menu_module.menuItem, className, active && Menu_module.active, minimal && Menu_module.minimal, disabled && Menu_module.disabled, "rounded-capped relative max-w-[50vw] my-0.5"),
126
+ className: classNames("fabric-menuItem cursor-pointer", className, active && "active", minimal && "minimal", disabled && "disabled", "rounded relative max-w-[50vw] my-0.5"),
106
127
  "data-active": active,
107
128
  "data-open": childOpen,
108
129
  disabled: disabled,
109
130
  "data-id": id,
131
+ tabIndex: tabIndex,
110
132
  onClick: function onClick(e) {
111
133
  (_onClick === null || _onClick === void 0 ? void 0 : _onClick(e)) !== false && (tree === null || tree === void 0 ? void 0 : tree.events.emit("click"));
112
134
  }
113
135
  }, minimal ? {} : aria), {}, {
114
- children: menuLabel
136
+ children: [hotKey && /*#__PURE__*/jsxRuntime.jsx(HotKey.HotKey, {
137
+ keyCombo: hotKey,
138
+ handler: function handler() {
139
+ var _elRef$current2, _elRef$current2$click;
140
+ return (_elRef$current2 = elRef.current) === null || _elRef$current2 === void 0 || (_elRef$current2$click = _elRef$current2.click) === null || _elRef$current2$click === void 0 ? void 0 : _elRef$current2$click.call(_elRef$current2);
141
+ }
142
+ }), menuLabel]
115
143
  }))
116
144
  }));
117
145
  };
@@ -5,12 +5,35 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
5
5
  var utilities = require('@react-fabric/utilities');
6
6
  var classNames = require('classnames');
7
7
  var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
8
- var Meter_module = require('./Meter.module.css');
9
8
  var jsxRuntime = require('react/jsx-runtime');
10
9
 
11
10
  var _excluded = ["value", "hideLabel", "className"];
12
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; }
13
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
+ /**
14
+ * A component that displays a visual representation of a value as a series of dots.
15
+ * It is useful for showing progress or completion status in a compact form.
16
+ * The meter consists of 6 dots, each representing approximately 16.67% of the total value.
17
+ * The active dots are filled based on the value provided, and the remaining dots are empty.
18
+ * The component can also display a label showing the percentage value.
19
+ *
20
+ * @param {MeterProps} props - The properties for the Meter component.
21
+ * @returns {JSX.Element} The rendered Meter component.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <Meter value={75} />
26
+ * // Renders a meter with 4 active dots and a label showing "75%"
27
+ *
28
+ * <Meter value={50} hideLabel />
29
+ * // Renders a meter with 3 active dots and no label
30
+ *
31
+ * <Meter value={100} className="custom-meter" />
32
+ * // Renders a meter with all 6 active dots and a custom class name
33
+ * ```
34
+ *
35
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-meter--docs} for more details.
36
+ */
14
37
  var Meter = function Meter(_ref) {
15
38
  var value = _ref.value,
16
39
  hideLabel = _ref.hideLabel,
@@ -21,11 +44,11 @@ var Meter = function Meter(_ref) {
21
44
  return value / 16.67;
22
45
  }, [value], "Meter activeCount");
23
46
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
24
- className: classNames(Meter_module.meter, className, "flex flex-nowrap items-center gap-[2px]")
47
+ className: classNames("fabric-meter", className, "flex flex-nowrap items-center gap-0.5")
25
48
  }, aria), {}, {
26
49
  children: [[0, 1, 2, 3, 4, 5].map(function (step) {
27
50
  return /*#__PURE__*/jsxRuntime.jsx("div", {
28
- className: classNames(Meter_module.meterBar, "first-of-type:rounded-s last-of-type:rounded-e bg-tint-100 relative outline -outline-offset-1 outline-muted overflow-hidden after:absolute after:inset-0"),
51
+ className: classNames("fabric-meterBar", "first-of-type:rounded-s last-of-type:rounded-e bg-tint-100 relative outline -outline-offset-1 outline-muted overflow-hidden after:absolute after:inset-0"),
29
52
  "data-active": activeCount >= step,
30
53
  style: {
31
54
  "--width": "".concat(Math.min((activeCount - step) * 100, 100), "%")
@@ -3,51 +3,84 @@
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
5
  var classNames = require('classnames');
6
+ var react = require('react');
6
7
  var HotKey = require('../../hotkeys/HotKey.js');
7
8
  var icons = require('../../types/icons.js');
8
9
  var Icon = require('../icon/Icon.js');
10
+ var utilities = require('@react-fabric/utilities');
9
11
  var jsxRuntime = require('react/jsx-runtime');
10
12
 
11
- var _excluded = ["className", "onNavigate", "color"];
13
+ var _excluded = ["className", "onNavigate", "color", "children", "length", "current", "disableKeyHandlers"];
12
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; }
13
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ /**
17
+ * A component that provides navigation controls for traversing through items.
18
+ * It includes previous and next buttons, and supports keyboard navigation.
19
+ *
20
+ * @param {NavigatorProps} props - The properties for the Navigator component.
21
+ * @returns {JSX.Element} The rendered Navigator component.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <Navigator
26
+ * className="my-navigator"
27
+ * onNavigate={(dir) => console.log(`Navigate ${dir === -1 ? 'previous' : 'next'}`)}
28
+ * color="blue"
29
+ * length={10}
30
+ * current={0}
31
+ * >
32
+ * <span>Current Item: 1</span>
33
+ * </Navigator>
34
+ * ```
35
+ *
36
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-navigator--docs} for more details.
37
+ */
14
38
  var Navigator = function Navigator(_ref) {
15
39
  var className = _ref.className,
16
40
  onNavigate = _ref.onNavigate,
17
41
  color = _ref.color,
42
+ children = _ref.children,
43
+ length = _ref.length,
44
+ current = _ref.current,
45
+ disableKeyHandlers = _ref.disableKeyHandlers,
18
46
  aria = _objectWithoutProperties(_ref, _excluded);
47
+ var navPrev = react.useCallback(function () {
48
+ return (utilities.isEmpty(current) || current !== 0) && onNavigate(-1);
49
+ }, [onNavigate, current]);
50
+ var navNext = react.useCallback(function () {
51
+ return (utilities.isEmpty(current) || current + 1 < (length !== null && length !== void 0 ? length : 0)) && onNavigate(+1);
52
+ }, [onNavigate, current, length]);
19
53
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
20
- className: classNames(className, "inline-block leading-none")
54
+ "data-ref": "navigator",
55
+ className: classNames(className, "inline-flex items-center leading-none")
21
56
  }, aria), {}, {
22
- children: [/*#__PURE__*/jsxRuntime.jsx(HotKey.HotKey, {
57
+ children: [!disableKeyHandlers && /*#__PURE__*/jsxRuntime.jsx(HotKey.HotKey, {
23
58
  keyCombo: "left",
24
- handler: function handler() {
25
- return onNavigate(-1);
26
- }
27
- }), /*#__PURE__*/jsxRuntime.jsx(HotKey.HotKey, {
59
+ handler: navPrev
60
+ }), !disableKeyHandlers && /*#__PURE__*/jsxRuntime.jsx(HotKey.HotKey, {
28
61
  keyCombo: "right",
29
- handler: function handler() {
30
- return onNavigate(1);
31
- }
62
+ handler: navNext
32
63
  }), /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
33
64
  rtlFlip: true,
34
65
  color: color,
35
66
  className: "text-[1em] p-1",
36
67
  "aria-label": "previous",
37
- "data-testid": "previous",
68
+ "data-ref": "previous",
38
69
  icon: icons.CoreIcons.chevronLeft,
70
+ disabled: !utilities.isEmpty(current) && current === 0,
39
71
  onClick: function onClick(e) {
40
- return [e.stopPropagation(), onNavigate(-1)];
72
+ return [e.stopPropagation(), navPrev()];
41
73
  }
42
- }), /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
74
+ }), children, /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
43
75
  rtlFlip: true,
44
76
  className: "text-[1em] p-1",
45
77
  color: color,
46
78
  "aria-label": "next",
47
- "data-testid": "next",
79
+ "data-ref": "next",
48
80
  icon: icons.CoreIcons.chevronRight,
81
+ disabled: !utilities.isEmpty(current) && current + 1 === length,
49
82
  onClick: function onClick(e) {
50
- return [e.stopPropagation(), onNavigate(1)];
83
+ return [e.stopPropagation(), navNext()];
51
84
  }
52
85
  })]
53
86
  }));
@@ -6,15 +6,50 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
6
6
  var classNames = require('classnames');
7
7
  var react = require('react');
8
8
  var usePropToggle = require('../../hooks/usePropToggle.js');
9
+ var HotKey = require('../../hotkeys/HotKey.js');
9
10
  var icons = require('../../types/icons.js');
10
11
  var Animations = require('../animations/Animations.js');
11
12
  var Icon = require('../icon/Icon.js');
12
- var Panel_module = require('./Panel.module.css');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
14
 
15
- var _excluded = ["children", "className", "titleClassName", "headerClassName", "title", "actions", "icon", "iconBg", "iconColor", "rtlFlip", "panelId", "height", "width", "minHeight", "minWidth", "maxHeight", "maxWidth", "loading", "expandable", "expanded", "onExpand", "collapsable", "collapsed", "onCollapse", "onClose", "onBack"];
15
+ var _excluded = ["children", "className", "titleClassName", "headerClassName", "title", "actions", "icon", "panelId", "height", "width", "minHeight", "minWidth", "maxHeight", "maxWidth", "loading", "expandable", "expanded", "onExpand", "collapsable", "collapsed", "onCollapse", "onClose", "onBack"];
16
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; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ /**
19
+ * A component that represents a panel with a header, body, and optional actions.
20
+ * It supports expandable and collapsible functionality, loading state, and customizable styles.
21
+ * The panel can be resized and has a fixed position when expanded.
22
+ * It can be customized with different colors, icons, and behaviors.
23
+ * This component is useful for displaying content in a structured way, allowing users to interact with it through actions and toggles.
24
+ * It can be used in various applications where panels are needed, such as dashboards, settings pages, or content management systems.
25
+ *
26
+ * @param {PanelProps} props - The properties for the Panel component.
27
+ * @returns {JSX.Element} The rendered Panel component.
28
+ *
29
+ * @example
30
+ * ```jsx
31
+ * <Panel
32
+ * title="Panel Title"
33
+ * icon={CoreIcons.info}
34
+ * actions={<button>Action</button>}
35
+ * expandable
36
+ * collapsable
37
+ * onExpand={() => console.log("Expanded")}
38
+ * onCollapse={() => console.log("Collapsed")}
39
+ * onClose={() => console.log("Closed")}
40
+ * height="400px"
41
+ * width="300px"
42
+ * minHeight="200px"
43
+ * minWidth="200px"
44
+ * maxHeight="600px"
45
+ * maxWidth="600px"
46
+ * >
47
+ * <p>This is the content of the panel.</p>
48
+ * </Panel>
49
+ * ```
50
+ *
51
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panel--docs} for more details.
52
+ */
18
53
  var Panel = function Panel(_ref) {
19
54
  var children = _ref.children,
20
55
  className = _ref.className,
@@ -23,9 +58,6 @@ var Panel = function Panel(_ref) {
23
58
  title = _ref.title,
24
59
  actions = _ref.actions,
25
60
  icon = _ref.icon,
26
- iconBg = _ref.iconBg,
27
- iconColor = _ref.iconColor,
28
- rtlFlip = _ref.rtlFlip,
29
61
  panelId = _ref.panelId,
30
62
  height = _ref.height,
31
63
  width = _ref.width,
@@ -55,7 +87,7 @@ var Panel = function Panel(_ref) {
55
87
  return !!expandable || !!collapsable || !!onClose;
56
88
  }, [expandable, collapsable, onClose]);
57
89
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
58
- className: classNames(Panel_module.panel, className, "rounded-capped overflow-hidden outline grid", expanded ? "fixed inset-4 z-50" : "relative"),
90
+ className: classNames("fabric-panel", className, "rounded-capped overflow-hidden outline grid", expanded ? "fixed inset-4 z-50" : "relative"),
59
91
  "data-ref": "panel",
60
92
  "data-collapsed": collapsed,
61
93
  style: expanded ? {} : collapsed ? {
@@ -71,27 +103,26 @@ var Panel = function Panel(_ref) {
71
103
  maxHeight: maxHeight
72
104
  }
73
105
  }, aria), {}, {
74
- children: [/*#__PURE__*/jsxRuntime.jsxs("header", {
106
+ children: [expanded && /*#__PURE__*/jsxRuntime.jsx(HotKey.HotKey, {
107
+ keyCombo: "esc",
108
+ handler: toggleExpand
109
+ }), /*#__PURE__*/jsxRuntime.jsxs("header", {
75
110
  role: "none",
76
- className: classNames(Panel_module.panelHeader, headerClassName, "flex flex-nowrap items-center area-head"),
77
- "data-testid": "panel-header",
111
+ className: classNames("fabric-panelHeader", headerClassName, "flex flex-nowrap items-center area-head"),
112
+ "data-ref": "panelHeader",
78
113
  onClick: collapsable ? toggleCollapse : undefined,
79
114
  children: [onBack && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
80
115
  "data-ref": "panelBack",
81
- className: classNames(Panel_module.panelAction, "cursor-pointer"),
116
+ className: classNames("fabric-panelAction", "cursor-pointer"),
82
117
  icon: icons.CoreIcons.chevronLeft,
83
118
  onClick: onBack
84
- }), icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
85
- icon: icon,
86
- bg: iconBg,
87
- color: iconColor,
88
- rtlFlip: rtlFlip,
119
+ }), icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, _objectSpread({
89
120
  className: "p-2 text-md select-none pointer-events-none"
90
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
121
+ }, Icon.getIconProps(icon))), /*#__PURE__*/jsxRuntime.jsx("div", {
91
122
  className: classNames(titleClassName, "flex-1 select-none truncate", title && "py-1 first:px-2"),
92
123
  children: title
93
124
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
94
- className: "px-1",
125
+ className: "px-1 leading-none",
95
126
  children: actions
96
127
  }), hasTools && /*#__PURE__*/jsxRuntime.jsxs("div", {
97
128
  role: "none",
@@ -101,24 +132,24 @@ var Panel = function Panel(_ref) {
101
132
  },
102
133
  children: [expandable && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
103
134
  "data-ref": "panelExpand",
104
- className: classNames(Panel_module.panelAction, "cursor-pointer"),
135
+ className: classNames("fabric-panelAction", "cursor-pointer"),
105
136
  icon: expanded ? icons.CoreIcons.minimize : icons.CoreIcons.maximize,
106
137
  onClick: toggleExpand
107
138
  }), !expanded && collapsable && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
108
139
  "data-ref": "panelCollapse",
109
- className: classNames(Panel_module.panelAction, "cursor-pointer"),
140
+ className: classNames("fabric-panelAction", "cursor-pointer"),
110
141
  icon: collapsed ? icons.CoreIcons.expand : icons.CoreIcons.collapse,
111
142
  onClick: toggleCollapse
112
143
  }), !expanded && onClose && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
113
144
  "data-ref": "panelClose",
114
- className: classNames(Panel_module.panelAction, "cursor-pointer"),
145
+ className: classNames("fabric-panelAction", "cursor-pointer"),
115
146
  icon: icons.CoreIcons.close,
116
147
  onClick: onClose
117
148
  })]
118
149
  })]
119
150
  }), (!collapsed || expanded) && /*#__PURE__*/jsxRuntime.jsxs("div", {
120
- "data-testid": "panel-body",
121
- className: classNames(Panel_module.panelBody, "area-content grid overflow-hidden"),
151
+ "data-ref": "panelBody",
152
+ className: classNames("fabric-panelBody", "area-content grid overflow-hidden"),
122
153
  children: [loading && /*#__PURE__*/jsxRuntime.jsx(Animations.Loading, {}), children]
123
154
  })]
124
155
  }));
@@ -4,9 +4,32 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
4
  var classNames = require('classnames');
5
5
  var react = require('react');
6
6
  var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
7
- var Panel_module = require('./Panel.module.css');
8
7
  var jsxRuntime = require('react/jsx-runtime');
9
8
 
9
+ /**
10
+ * A component that groups multiple panels together, allowing for one panel to be expanded at a time.
11
+ * This component allows you to manage a group of panels where only one can be expanded at a time.
12
+ * It accepts an `activePanel` prop to control which panel is currently expanded,
13
+ * and an `onActiveChange` callback that is triggered when the active panel changes.
14
+ * It uses the `Panel` component to render each individual panel within the group.
15
+ *
16
+ * @param {PanelGroupProps} props - The properties for the PanelGroup component.
17
+ * @returns {JSX.Element} The rendered PanelGroup component.
18
+ *
19
+ * @example
20
+ * ```jsx
21
+ * <PanelGroup
22
+ * activePanel="panel1"
23
+ * onActiveChange={(panelId) => console.log(`Active panel changed to: ${panelId}`)}
24
+ * >
25
+ * <Panel panelId="panel1" title="Panel 1">Content for Panel 1</Panel>
26
+ * <Panel panelId="panel2" title="Panel 2">Content for Panel 2</Panel>
27
+ * <Panel panelId="panel3" title="Panel 3">Content for Panel 3</Panel>
28
+ * </PanelGroup>
29
+ * ```
30
+ *
31
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panel--docs} for more details.
32
+ */
10
33
  var PanelGroup = function PanelGroup(_ref) {
11
34
  var children = _ref.children,
12
35
  activePanel = _ref.activePanel,
@@ -33,7 +56,7 @@ var PanelGroup = function PanelGroup(_ref) {
33
56
  }, [onActiveChange, expandedPanel]);
34
57
  return /*#__PURE__*/jsxRuntime.jsx("div", {
35
58
  "data-ref": "panelGroup",
36
- className: classNames(Panel_module.panelGroup, "flex flex-col overflow-auto area-content p-px"),
59
+ className: classNames("fabric-panelGroup", "flex flex-col overflow-auto area-content p-px"),
37
60
  children: react.Children.toArray(children).map(function (child, index) {
38
61
  return /*#__PURE__*/react.cloneElement(child, {
39
62
  panelId: child.props.panelId || index,
@@ -10,6 +10,37 @@ var jsxRuntime = require('react/jsx-runtime');
10
10
  var _excluded = ["active", "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
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
+ /**
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
+ * @param {PanelStackProps} props - The properties for the PanelStack component.
24
+ * @returns {JSX.Element} The rendered PanelStack component.
25
+ *
26
+ * @example
27
+ * ```jsx
28
+ * <PanelStack
29
+ * active="panel1"
30
+ * onPanelChange={(panelId) => console.log(`Active panel changed to: ${panelId}`)}
31
+ * onBack={(currentPanel, nextPanel) => {
32
+ * console.log(`Navigating back from ${currentPanel} to ${nextPanel}`);
33
+ * return true; // return false to prevent navigation
34
+ * }}
35
+ * >
36
+ * <Panel panelId="panel1" title="Panel 1">Content for Panel 1</Panel>
37
+ * <Panel panelId="panel2" title="Panel 2">Content for Panel 2</Panel>
38
+ * <Panel panelId="panel3" title="Panel 3">Content for Panel 3</Panel>
39
+ * </PanelStack>
40
+ * ```
41
+ *
42
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panelstack--docs} for more details.
43
+ */
13
44
  var PanelStack = function PanelStack(_ref) {
14
45
  _ref.active;
15
46
  var children = _ref.children,
@@ -42,7 +73,6 @@ var PanelStack = function PanelStack(_ref) {
42
73
  }, [onPanelChange, history]);
43
74
  var goBack = react.useCallback(function () {
44
75
  var _history$2;
45
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare
46
76
  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
77
  setHistory(history.slice(1));
48
78
  }
@@ -58,7 +88,6 @@ var PanelStack = function PanelStack(_ref) {
58
88
  if (panelKey === "back") {
59
89
  goBack();
60
90
  } else if (panelKey === "root") {
61
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare
62
91
  if ((onBack === null || onBack === void 0 ? void 0 : onBack(history[0], "root")) !== false) {
63
92
  setHistory([]);
64
93
  }
@@ -4,9 +4,9 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var utilities = require('@react-fabric/utilities');
5
5
  var classNames = require('classnames');
6
6
  var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
7
- var getColor = require('../../utils/getColor.js');
8
- var Progress_module = require('./Progress.module.css');
7
+ require('react');
9
8
  var jsxRuntime = require('react/jsx-runtime');
9
+ var getColor = require('../../utils/getColor.js');
10
10
 
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
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; }
@@ -19,29 +19,51 @@ var SizeMap = {
19
19
  lg: "1.5rem",
20
20
  xl: "2rem"
21
21
  };
22
+
23
+ /**
24
+ * A component that displays a progress bar indicating the completion percentage of a task or operation.
25
+ * The progress bar is styled with a background color and a track that fills based on the value provided.
26
+ * It can also display a label showing the percentage value.
27
+ * The label can be customized or hidden based on the props provided.
28
+ *
29
+ * @param {ProgressProps} props - The properties for the ProgressBar component.
30
+ * @returns {JSX.Element} The rendered ProgressBar component.
31
+ *
32
+ * @example
33
+ * ```jsx
34
+ * <ProgressBar value={0.75} size="md" color="primary-500" label="Loading" animate />
35
+ * // Renders a progress bar with 75% completion, medium size, primary color, and a label "Loading"
36
+ *
37
+ * <ProgressBar value={0.5} size="lg" color="success-500" />
38
+ * // Renders a progress bar with 50% completion, large size, and success color without a label
39
+ * ```
40
+ *
41
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-progress--docs} for more details.
42
+ */
22
43
  var ProgressBar = function ProgressBar(_ref) {
23
44
  var _ref$value = _ref.value,
24
45
  value = _ref$value === void 0 ? 0 : _ref$value,
25
46
  size = _ref.size,
26
47
  _ref$color = _ref.color,
27
- color = _ref$color === void 0 ? "primary" : _ref$color,
48
+ color = _ref$color === void 0 ? "primary-500" : _ref$color,
28
49
  _ref$label = _ref.label,
29
50
  label = _ref$label === void 0 ? "" : _ref$label,
30
51
  animate = _ref.animate;
31
52
  /** ***************** make sure value is between 0 and 100 *******************/
32
53
  var actualValue = useEffectDebugger.useMemoDebugger(function () {
33
- return Math.min(Math.max(value, 0), 100);
54
+ return Math.min(Math.max(value, 0), 1);
34
55
  }, [value], "ProgressBar value");
35
56
  var progressVar = useEffectDebugger.useMemoDebugger(function () {
36
57
  return {
37
- "--progress": actualValue
58
+ "--progress": actualValue * 100
38
59
  };
39
60
  }, [actualValue], "ProgressBar cssVar");
40
61
 
41
62
  /** ***************** component *******************/
42
63
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
43
- className: classNames(Progress_module.progressbar, getColor.getColorClass(color), "block bg-dimmed relative rounded font-bold overflow-hidden whitespace-nowrap"),
64
+ className: classNames("fabric-progressbar", "block bg-dimmed relative rounded font-bold overflow-hidden whitespace-nowrap"),
44
65
  style: _objectSpread(_objectSpread({}, progressVar), {}, {
66
+ color: getColor.getColor(color),
45
67
  minHeight: SizeMap[size !== null && size !== void 0 ? size : ""],
46
68
  fontSize: SizeMap[size !== null && size !== void 0 ? size : ""]
47
69
  }),
@@ -49,12 +71,12 @@ var ProgressBar = function ProgressBar(_ref) {
49
71
  "aria-hidden": "true",
50
72
  children: [!["xxs", "xs", "sm"].includes(size !== null && size !== void 0 ? size : "") && /*#__PURE__*/jsxRuntime.jsxs("div", {
51
73
  className: "absolute inset-0 text-center z-0 align-top",
52
- children: [label, " ", utilities.Format.percent(actualValue / 100)]
74
+ children: [label, " ", utilities.Format.percent(actualValue)]
53
75
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
54
- className: classNames(Progress_module.progressTrack, animate && Progress_module.progressAnimate, "h-full overflow-clip bg-current relative z-0")
76
+ className: classNames("fabric-progressTrack", animate && "fabric-progressAnimate", "h-full overflow-clip bg-current relative z-0")
55
77
  }), !["xxs", "xs", "sm"].includes(size !== null && size !== void 0 ? size : "") && /*#__PURE__*/jsxRuntime.jsx("div", {
56
78
  className: classNames("h-full absolute inset-0 overflow-hidden z-1"),
57
- "data-label": "".concat(label, " ").concat(utilities.Format.percent(actualValue / 100))
79
+ "data-label": "".concat(label, " ").concat(utilities.Format.percent(actualValue))
58
80
  })]
59
81
  });
60
82
  };