@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
@@ -5,11 +5,22 @@ import { useRef, useState, useCallback } from 'react';
5
5
  import { useLayoutEffectDebugger } from './useEffectDebugger.js';
6
6
 
7
7
  /**
8
- * hook to control boolean props
9
- * @param isOn (is prop true)
10
- * @param callback (optional callback)
11
- * @param key (optional key to pass to callback)
12
- * @returns
8
+ * This hook is used to manage a toggle state based on a prop value.
9
+ * It allows you to toggle the state and also provides a reference to the current state.
10
+ * It is useful for scenarios where you want to control a toggle state from a parent component while also allowing local toggling.
11
+ *
12
+ * @param isOn - Initial state of the toggle (default: false)
13
+ * @param onToggle - Callback function that is called when the toggle state changes.
14
+ * @param key - Optional key to identify the toggle state, useful for multiple toggles.
15
+ * @returns A tuple containing the current toggle state, a function to toggle the state, and a reference to the current state.
16
+ *
17
+ * @example
18
+ * ```jsx
19
+ * const [isToggled, toggle, toggleRef] = usePropToggle(false, (newState) => {
20
+ * console.log("Toggle state changed to:", newState);
21
+ * });
22
+ * toggle(); // This will toggle the state and call the onToggle callback
23
+ * ```
13
24
  */
14
25
  var usePropToggle = function usePropToggle() {
15
26
  var isOn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
@@ -26,6 +26,24 @@ import { useIsRtl } from './useIsRtl.js';
26
26
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
27
  */
28
28
 
29
+ /**
30
+ * Custom hook to handle resizing of an element.
31
+ * It provides a ref to the element and a mouse down event handler to initiate resizing.
32
+ * The resizing is done by tracking mouse movements and calculating the difference in x and y coordinates.
33
+ * It supports both horizontal and vertical resizing, and can be configured to reverse the direction based on RTL (Right-to-Left) layout.
34
+ *
35
+ * @param onResize - callback to handle resize event with the difference in x and y
36
+ * @param options - options for resizing behavior
37
+ * @returns ref to the element and a mouse down event handler to initiate resizing
38
+ *
39
+ * @example
40
+ * ```jsx
41
+ * const { ref, onMouseDown } = useResize((diff) => {
42
+ * console.log("Resize difference:", diff);
43
+ * }, { isReverse: true, isVertical: false });
44
+ * <div ref={ref} onMouseDown={onMouseDown}>Resize Me</div>
45
+ * ```
46
+ */
29
47
  var useResize = function useResize(onResize, _ref) {
30
48
  var _ref$isReverse = _ref.isReverse,
31
49
  isReverse = _ref$isReverse === void 0 ? false : _ref$isReverse,
@@ -5,6 +5,25 @@ import { useRef, useTransition, useEffect } from 'react';
5
5
  import ResizeObserver from 'resize-observer-polyfill';
6
6
  import { useDebounce } from './useDebounce.js';
7
7
 
8
+ /**
9
+ * Custom hook to observe size changes of an element using ResizeObserver.
10
+ * It returns a ref that can be attached to the element you want to observe.
11
+ * The hook will call the provided `onResize` callback with the new size of the element
12
+ * whenever it changes.
13
+ * * This is useful for responsive designs where you need to adjust the layout or styles
14
+ * based on the size of an element.
15
+ *
16
+ * @param onResize Callback function that receives the new size of the element.
17
+ * @returns A ref object to be attached to the element you want to observe.
18
+ *
19
+ * @example
20
+ * ```jsx
21
+ * const ref = useResizeObserver((size) => {
22
+ * console.log("Element resized:", size);
23
+ * });
24
+ * <div ref={ref}>Resize me!</div>
25
+ * ```
26
+ */
8
27
  var useResizeObserver = function useResizeObserver(onResize) {
9
28
  var ref = useRef(null);
10
29
  var _useTransition = useTransition(),
@@ -22,7 +41,7 @@ var useResizeObserver = function useResizeObserver(onResize) {
22
41
  });
23
42
  }
24
43
  });
25
- }, [onResize]);
44
+ }, [onResize], 0);
26
45
  useEffect(function () {
27
46
  if (ref.current != null) {
28
47
  var ob = new ResizeObserver(callbackResize);
@@ -0,0 +1,75 @@
1
+ 'use client';
2
+
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import { useState, useMemo } from 'react';
5
+ import '@babel/runtime/helpers/defineProperty';
6
+ import '@babel/runtime/helpers/objectWithoutProperties';
7
+ import 'classnames';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+ import '@react-fabric/utilities';
10
+ import './useEffectDebugger.js';
11
+ import 'boring-avatars';
12
+ import { Icon } from '../components/icon/Icon.js';
13
+ import '@floating-ui/react';
14
+ import '../hotkeys/HotKeyWrapper.js';
15
+ import 'react-i18next';
16
+ import '../types/icons.js';
17
+ import '@babel/runtime/helpers/toConsumableArray';
18
+ import '@babel/runtime/helpers/classCallCheck';
19
+ import '@babel/runtime/helpers/createClass';
20
+ import '@babel/runtime/helpers/possibleConstructorReturn';
21
+ import '@babel/runtime/helpers/getPrototypeOf';
22
+ import '@babel/runtime/helpers/inherits';
23
+ import 'i18next';
24
+ import '@babel/runtime/helpers/asyncToGenerator';
25
+ import '@babel/runtime/regenerator';
26
+ import 'react-dom';
27
+ import '../components/media/Media.js';
28
+ import '@babel/runtime/helpers/toArray';
29
+
30
+ var useStepper = function useStepper(_ref) {
31
+ var steps = _ref.steps,
32
+ _ref$activeStep = _ref.activeStep,
33
+ _initialActiveStep = _ref$activeStep === void 0 ? 0 : _ref$activeStep;
34
+ var _useState = useState(_initialActiveStep),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ activeStep = _useState2[0],
37
+ setActiveStep = _useState2[1];
38
+ var maxSteps = useMemo(function () {
39
+ return steps.length - 1;
40
+ }, [steps]);
41
+ var stepper = useMemo(function () {
42
+ return /*#__PURE__*/jsx("div", {
43
+ className: "fabric-stepper bg-base flex-1 flex justify-center py-1 px-2 overflow-x-auto",
44
+ children: steps.map(function (child, index) {
45
+ return /*#__PURE__*/jsxs("div", {
46
+ className: "fabric-stepper--pill",
47
+ "data-state": index === activeStep ? "active" : index < activeStep ? "completed" : undefined,
48
+ children: [child.icon && /*#__PURE__*/jsx(Icon, {
49
+ icon: child.icon
50
+ }), child.label && /*#__PURE__*/jsx("label", {
51
+ children: child.label
52
+ })]
53
+ }, index);
54
+ })
55
+ });
56
+ }, [steps]);
57
+ return {
58
+ stepper: stepper,
59
+ activeStep: activeStep,
60
+ firstStep: activeStep === 0,
61
+ lastStep: activeStep === maxSteps,
62
+ next: function next() {
63
+ return setActiveStep(function (s) {
64
+ return Math.min(s + 1, maxSteps);
65
+ });
66
+ },
67
+ prev: function prev() {
68
+ return setActiveStep(function (s) {
69
+ return Math.max(s - 1, 0);
70
+ });
71
+ }
72
+ };
73
+ };
74
+
75
+ export { useStepper };
@@ -5,6 +5,24 @@ import { useState } from 'react';
5
5
  import { useClientService } from './useClientService.js';
6
6
  import { useEffectDebugger } from './useEffectDebugger.js';
7
7
 
8
+ /**
9
+ * Custom hook to manage local storage state.
10
+ * This hook allows you to store and retrieve values from the browser's local storage,
11
+ * and provides a way to update the stored value while keeping the state in sync with local storage.
12
+ * It initializes the state with the value from local storage if it exists, or uses a default value if it does not.
13
+ * The hook returns a tuple containing the current value and a function to update the value.
14
+ * This is useful for persisting user preferences or application state across page reloads.
15
+ *
16
+ * @param key - The key under which the value is stored in local storage.
17
+ * @param defaultValue - The default value to use if the key does not exist in local storage.
18
+ * @returns A tuple containing the current value and a function to update the value.
19
+ *
20
+ * @example
21
+ * ```jsx
22
+ * const [settings, setSettings] = useLocalStorage("userSettings", { theme: "light" });
23
+ * // This will initialize the settings state from local storage or use the default value.
24
+ * ```
25
+ */
8
26
  var useLocalStorage = function useLocalStorage(key, defaultValue) {
9
27
  var _JSON$parse, _service$getItem;
10
28
  var service = useClientService(localStorage);
@@ -22,6 +40,27 @@ var useLocalStorage = function useLocalStorage(key, defaultValue) {
22
40
  };
23
41
  return [value, changeValue];
24
42
  };
43
+
44
+ /**
45
+ * Custom hook to manage session storage state.
46
+ * This hook allows you to store and retrieve values from the browser's session storage,
47
+ * and provides a way to update the stored value while keeping the state in sync with session storage.
48
+ * It initializes the state with the value from session storage if it exists, or uses a default value if it does not.
49
+ * The hook returns a tuple containing the current value and a function to update the value.
50
+ * This is useful for persisting user preferences or application state during a single session,
51
+ * such as form data or temporary settings that should not persist across page reloads.
52
+ * This hook is similar to `useLocalStorage`, but it uses session storage instead of local storage.
53
+ *
54
+ * @param key - The key under which the value is stored in session storage.
55
+ * @param defaultValue - The default value to use if the key does not exist in session storage.
56
+ * @returns A tuple containing the current value and a function to update the value.
57
+ *
58
+ * @example
59
+ * ```jsx
60
+ * const [user, setUser] = useSessionStorage("user", { name: "", age: 0 });
61
+ * // This will initialize the user state from session storage or use the default value.
62
+ * ```
63
+ */
25
64
  var useSessionStorage = function useSessionStorage(key, defaultValue) {
26
65
  var _JSON$parse3, _service$getItem3;
27
66
  var service = useClientService(sessionStorage);
@@ -44,7 +44,7 @@ var HotKeyLabel = function HotKeyLabel(_ref) {
44
44
  }, "label")];
45
45
  }, [keyCombo], "HotKey label");
46
46
  return /*#__PURE__*/jsx("kbd", {
47
- className: "hotkey-label inline-flex gap-1 select-none self-center font-mono items-center text-[0.625rem] leading-4 bg-tint-500/10 text-base/50 whitespace-nowrap rounded px-2 mx-1",
47
+ className: "hotkey-label inline-flex gap-1 select-none self-center font-mono items-center text-[0.625rem] leading-4 bg-tint-500/20 text-tint-900/65 whitespace-nowrap rounded px-2 mx-1",
48
48
  children: label
49
49
  });
50
50
  };
@@ -46,7 +46,9 @@ var HotKeyWrapper = /*#__PURE__*/memo(function (_ref) {
46
46
  ctrl = _ref4.ctrl,
47
47
  meta = _ref4.meta,
48
48
  shift = _ref4.shift;
49
- return (key.toLowerCase() === keyCode.toLowerCase() || key.toLowerCase() === code.toLowerCase()) && alt === altKey && ctrl === ctrlKey && meta === metaKey && shift === shiftKey;
49
+ return (key.toLowerCase() === keyCode.toLowerCase() || key.toLowerCase() === code.toLowerCase() ||
50
+ // work around for macos alt+key issue
51
+ "key".concat(key.toLowerCase()) === code.toLowerCase()) && alt === altKey && ctrl === ctrlKey && meta === metaKey && shift === shiftKey;
50
52
  });
51
53
  if (find !== null && find !== void 0 && find.handler) {
52
54
  find.handler();
package/dist/esm/index.js CHANGED
@@ -13,13 +13,14 @@ export { ToggleButtonGroup } from './components/button/ToggleButtonGroup.js';
13
13
  export { Callout } from './components/callout/Callout.js';
14
14
  export { Card } from './components/card/Card.js';
15
15
  export { CardCover } from './components/card/CardCover.js';
16
+ export { FlipContent } from './components/card/FlipContent.js';
16
17
  export { Chip } from './components/chip/Chip.js';
17
18
  export { Collapsable } from './components/collapsable/Collapsable.js';
18
19
  export { Divider } from './components/divider/Divider.js';
19
20
  export { Dropdown, DropdownDismiss } from './components/dropdown/Dropdown.js';
20
21
  export { DropdownTool } from './components/dropdown/DropdownTool.js';
21
22
  export { EmptyContent } from './components/empty/EmptyContent.js';
22
- export { Icon } from './components/icon/Icon.js';
23
+ export { Icon, getIconProps } from './components/icon/Icon.js';
23
24
  export { Image, Video } from './components/media/Media.js';
24
25
  export { ContextMenu } from './components/menu/ContextMenu.js';
25
26
  export { Menu } from './components/menu/Menu.js';
@@ -51,14 +52,15 @@ import 'react';
51
52
  import 'react-i18next';
52
53
  export { CoreIcons } from './types/icons.js';
53
54
  export { Title } from './typography/Title.js';
55
+ export { cloneChildren } from './utils/cloneElement.js';
54
56
  import '@react-fabric/utilities';
55
57
  import 'react/jsx-runtime';
56
58
  export { Flyout } from './overlays/flyout/Flyout.js';
57
59
  export { Modal } from './overlays/modal/Modal.js';
58
60
  export { Tooltip } from './overlays/tooltip/Tooltip.js';
59
61
  export { Abbr } from './typography/Abbr.js';
62
+ export { Anchor } from './typography/Anchor.js';
60
63
  export { Copy } from './typography/Copy.js';
61
- export { Link } from './typography/Link.js';
62
64
  export { Mark } from './typography/Mark.js';
63
65
  export { Text } from './typography/Text.js';
64
66
  export { useClientService } from './hooks/useClientService.js';
@@ -70,7 +72,9 @@ export { useNavigator } from './hooks/useNavigator.js';
70
72
  export { useOverlayService } from './hooks/useOverlayService.js';
71
73
  export { useResize } from './hooks/useResize.js';
72
74
  export { useResizeObserver } from './hooks/useResizeObserver.js';
75
+ export { useStepper } from './hooks/useStepper.js';
73
76
  export { useLocalStorage, useSessionStorage } from './hooks/useStorage.js';
74
77
  export { HotKey } from './hotkeys/HotKey.js';
75
78
  export { HotKeyLabel } from './hotkeys/HotKeyLabel.js';
79
+ export { HotKeyWrapper } from './hotkeys/HotKeyWrapper.js';
76
80
  export { ApplicationProvider, useApplicationContext, useGlobals, useNotificationService } from './context/Global.js';
@@ -11,10 +11,9 @@ import { Button } from '../../components/button/Button.js';
11
11
  import { Icon } from '../../components/icon/Icon.js';
12
12
  import { CoreIcons } from '../../types/icons.js';
13
13
  import { Title } from '../../typography/Title.js';
14
- import { getColorClass, getBorderClass } from '../../utils/getColor.js';
15
- import '@react-fabric/utilities';
16
- import classes from './Alert.module.css';
17
14
  import { jsx, jsxs } from 'react/jsx-runtime';
15
+ import { getColor } from '../../utils/getColor.js';
16
+ import '@react-fabric/utilities';
18
17
 
19
18
  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; }
20
19
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -24,6 +23,7 @@ var Alert = function Alert(_ref) {
24
23
  _ref$color = _ref.color,
25
24
  color = _ref$color === void 0 ? "primary" : _ref$color,
26
25
  icon = _ref.icon,
26
+ iconSrc = _ref.iconSrc,
27
27
  rtlFlip = _ref.rtlFlip,
28
28
  actions = _ref.actions,
29
29
  onClose = _ref.onClose,
@@ -58,33 +58,34 @@ var Alert = function Alert(_ref) {
58
58
  var iconType = useMemo(function () {
59
59
  if (icon) return /*#__PURE__*/jsx(Icon, {
60
60
  icon: icon,
61
+ iconSrc: iconSrc,
61
62
  size: "md",
62
63
  rtlFlip: rtlFlip,
63
- color: color + "-600"
64
+ color: "".concat(color, "-600")
64
65
  });
65
66
  switch (color) {
66
67
  case "danger":
67
68
  return /*#__PURE__*/jsx(AnimationIndicator, {
68
69
  type: "cross",
69
- className: getColorClass(color + "-600")
70
+ color: "danger-600"
70
71
  });
71
72
  case "success":
72
73
  return /*#__PURE__*/jsx(AnimationIndicator, {
73
74
  type: "check",
74
- className: getColorClass(color + "-600")
75
+ color: "success-600"
75
76
  });
76
77
  case "warning":
77
78
  return /*#__PURE__*/jsx(AnimationIndicator, {
78
79
  type: "exclaim",
79
- className: getColorClass(color + "-600")
80
+ color: "warning-600"
80
81
  });
81
82
  default:
82
83
  return /*#__PURE__*/jsx(AnimationIndicator, {
83
84
  type: type === "confirm" ? "question" : "info",
84
- className: getColorClass(color + "-600")
85
+ color: "".concat(color, "-600")
85
86
  });
86
87
  }
87
- }, [color, type, icon]);
88
+ }, [color, type, icon, iconSrc, rtlFlip]);
88
89
  var handleClose = useCallback(function (ret) {
89
90
  refs.floating.current && (refs.floating.current.dataset.show = "false");
90
91
  setTimeout(function () {
@@ -102,29 +103,36 @@ var Alert = function Alert(_ref) {
102
103
  style: {
103
104
  zIndex: "var(--z-overlay-mask)"
104
105
  },
105
- className: "bg-base/50 backdrop-blur-sm grid place-items-center",
106
+ className: "bg-tint-100/50 backdrop-blur-sm grid place-items-center",
106
107
  children: /*#__PURE__*/jsx(FloatingFocusManager, {
107
108
  context: context,
108
109
  children: /*#__PURE__*/jsxs("dialog", _objectSpread(_objectSpread({
109
110
  role: "alertdialog",
110
- className: classNames(classes.alert, getBorderClass(color + "-300"), "grid bg-base border-2 pointer-events-auto overflow-hidden rounded-capped select-none", "min-w-72 max-w-sm p-6 relative outline-0 shadow-lg"),
111
+ className: classNames("fabric-alert", "grid bg-base border-2 pointer-events-auto overflow-hidden rounded-capped select-none", "min-w-72 max-w-sm p-6 relative outline-0 shadow-lg"),
112
+ style: {
113
+ borderColor: getColor("".concat(color, "-300"))
114
+ },
111
115
  ref: refs.setFloating
112
116
  }, getFloatingProps()), {}, {
113
117
  children: [/*#__PURE__*/jsx("div", {
114
118
  className: classNames("area-[icon] text-lg py-2"),
115
119
  children: iconType
116
120
  }), /*#__PURE__*/jsx(Title, {
117
- className: "font-medium area-[title]",
121
+ className: "font-medium area-[title] self-center",
118
122
  children: title
119
- }), /*#__PURE__*/jsx("p", {
123
+ }), /*#__PURE__*/jsx("div", {
120
124
  className: "area-[message] py-4",
121
125
  children: message
122
126
  }), type === "prompt" && /*#__PURE__*/jsx("input", {
123
127
  value: value,
124
128
  placeholder: placeholder,
125
- className: classNames("border rounded focus:border-primary-500"),
129
+ className: classNames("area-[input] appearance-none outline-0 border rounded w-full px-2 py-1"),
130
+ style: {
131
+ borderColor: getColor("".concat(color, "-200")),
132
+ "--tw-ring-color": getColor("".concat(color, "-500"))
133
+ },
126
134
  ref: function ref(e) {
127
- return e != null && setTimeout(function () {
135
+ e != null && setTimeout(function () {
128
136
  return e.focus();
129
137
  }, 100);
130
138
  },
@@ -158,7 +166,7 @@ var Alert = function Alert(_ref) {
158
166
  variant: "solid",
159
167
  color: color,
160
168
  onClick: function onClick() {
161
- return handleClose(true);
169
+ return handleClose(type === "prompt" ? value : true);
162
170
  },
163
171
  children: okLabel !== null && okLabel !== void 0 ? okLabel : t("action.ok", "OK")
164
172
  })]
@@ -2,26 +2,23 @@
2
2
 
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
- import { useFloating, useDismiss, useRole, useInteractions, FloatingOverlay, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
5
+ import { useFloating, useDismiss, useRole, useInteractions, FloatingPortal, FloatingOverlay, FloatingFocusManager } from '@floating-ui/react';
6
+ import { isString } from '@react-fabric/utilities';
6
7
  import classNames from 'classnames';
7
- import { useCallback, useEffect, Fragment } from 'react';
8
+ import { useCallback, useEffect, isValidElement } from 'react';
8
9
  import { Loading } from '../../components/animations/Animations.js';
9
- import { Icon } from '../../components/icon/Icon.js';
10
+ import { Icon, getIconProps } from '../../components/icon/Icon.js';
10
11
  import { Header } from '../../core/headfoot/HeadFoot.js';
11
12
  import { HotKeyWrapper } from '../../hotkeys/HotKeyWrapper.js';
12
13
  import { CoreIcons } from '../../types/icons.js';
13
- import classes from './Flyout.module.css';
14
- import { jsx, jsxs } from 'react/jsx-runtime';
14
+ import { jsxs, jsx } from 'react/jsx-runtime';
15
15
 
16
- var _excluded = ["icon", "iconBg", "iconColor", "iconClassName", "rtlFlip", "title", "actions", "closeOnClick", "headerClassName", "onClose", "onBeforeClose", "children", "loading", "size", "width", "minWidth", "hideMask", "align"];
16
+ var _excluded = ["icon", "iconClassName", "title", "actions", "closeOnClick", "headerClassName", "onClose", "onBeforeClose", "children", "loading", "size", "width", "minWidth", "root", "hideMask", "align"];
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
19
  var Flyout = function Flyout(_ref) {
20
20
  var icon = _ref.icon,
21
- iconBg = _ref.iconBg,
22
- iconColor = _ref.iconColor,
23
21
  iconClassName = _ref.iconClassName,
24
- rtlFlip = _ref.rtlFlip,
25
22
  title = _ref.title,
26
23
  actions = _ref.actions,
27
24
  closeOnClick = _ref.closeOnClick,
@@ -33,6 +30,7 @@ var Flyout = function Flyout(_ref) {
33
30
  size = _ref.size,
34
31
  width = _ref.width,
35
32
  minWidth = _ref.minWidth,
33
+ root = _ref.root,
36
34
  hideMask = _ref.hideMask,
37
35
  _ref$align = _ref.align,
38
36
  align = _ref$align === void 0 ? "start" : _ref$align,
@@ -47,6 +45,7 @@ var Flyout = function Flyout(_ref) {
47
45
  context = _useFloating.context;
48
46
  var dismiss = useDismiss(context, {
49
47
  outsidePressEvent: "mousedown",
48
+ outsidePress: !hideMask,
50
49
  escapeKey: true
51
50
  });
52
51
  var role = useRole(context);
@@ -73,9 +72,7 @@ var Flyout = function Flyout(_ref) {
73
72
  }, [onBeforeClose, onClose]);
74
73
  useEffect(function () {
75
74
  setTimeout(function () {
76
- var _refs$floating$curren2;
77
75
  refs.floating.current && (refs.floating.current.dataset.show = "true");
78
- (_refs$floating$curren2 = refs.floating.current) === null || _refs$floating$curren2 === void 0 || (_refs$floating$curren2 = _refs$floating$curren2.querySelector('[role="dialog"]')) === null || _refs$floating$curren2 === void 0 || _refs$floating$curren2.focus();
79
76
  }, 50);
80
77
  }, []);
81
78
  var tryClosing = useCallback(function (e) {
@@ -85,67 +82,54 @@ var Flyout = function Flyout(_ref) {
85
82
  }, 100);
86
83
  }
87
84
  }, [closeOnClick, handleClose]);
88
- var Wrapper = useCallback(function (_ref2) {
89
- var children = _ref2.children;
90
- if (hideMask) return /*#__PURE__*/jsx(Fragment, {
91
- children: children
92
- });
93
- return /*#__PURE__*/jsx(FloatingOverlay, {
85
+ return /*#__PURE__*/jsxs(FloatingPortal, {
86
+ root: root,
87
+ children: [!hideMask && /*#__PURE__*/jsx(FloatingOverlay, {
94
88
  lockScroll: true,
95
89
  style: {
96
- zIndex: "var(--z-overlay-mask)"
90
+ zIndex: "var(--z-overlay-mask)",
91
+ overflow: "hidden"
97
92
  },
98
- className: "bg-base/10 backdrop-blur-sm transition-all",
99
- children: children
100
- });
101
- }, [hideMask, handleClose]);
102
- return /*#__PURE__*/jsx(FloatingPortal, {
103
- children: /*#__PURE__*/jsx(Wrapper, {
104
- children: /*#__PURE__*/jsx(FloatingFocusManager, {
105
- context: context,
106
- children: /*#__PURE__*/jsx(Wrapper, {
107
- children: /*#__PURE__*/jsx("div", _objectSpread(_objectSpread(_objectSpread(_objectSpread({
108
- "data-align": align,
109
- className: classNames(classes.flyout, "fixed inset-y-0 overflow-hidden flex flex-col flex-nowrap pointer-events-auto shadow-xl", align === "start" ? "start-0" : "end-0", size === "sm" && "w-[20rem]", size === "md" && "w-[40rem]", size === "lg" && "w-[60vw]", size === "xl" && "w-[80vw]"),
110
- style: {
111
- width: width,
112
- minWidth: minWidth
113
- },
114
- onMouseUpCapture: tryClosing,
115
- ref: refs.setFloating
116
- }, getFloatingProps()), aria), aria), {}, {
117
- children: /*#__PURE__*/jsxs(HotKeyWrapper, {
118
- children: [/*#__PURE__*/jsxs(Header, {
119
- flex: true,
120
- className: classNames(classes.flyoutHeader, headerClassName),
121
- children: [icon && /*#__PURE__*/jsx(Icon, {
122
- icon: icon,
123
- bg: iconBg,
124
- color: iconColor,
125
- className: classNames(iconClassName, "p-1"),
126
- rtlFlip: rtlFlip
127
- }), /*#__PURE__*/jsx("label", {
128
- className: "flex-1 truncate py-2 px-1",
129
- children: title
130
- }), actions, /*#__PURE__*/jsx(Icon, {
131
- "data-ref": "panelClose",
132
- className: classNames(classes.panelAction, "cursor-pointer p-1 text-xl self-stretch"),
133
- icon: CoreIcons.close,
134
- onClick: function onClick() {
135
- return handleClose(false);
136
- }
137
- })]
138
- }), loading && /*#__PURE__*/jsx(Loading, {}), /*#__PURE__*/jsx("div", {
139
- role: "dialog",
140
- className: classNames(classes.flyoutBody, "flex-1 grid overflow-hidden"),
141
- tabIndex: 0,
142
- children: children
143
- })]
144
- })
145
- }))
93
+ className: "bg-tint-100/10 backdrop-blur-sm transition-all"
94
+ }), /*#__PURE__*/jsx(FloatingFocusManager, {
95
+ context: context,
96
+ children: /*#__PURE__*/jsx("div", _objectSpread(_objectSpread(_objectSpread(_objectSpread({
97
+ "data-align": align,
98
+ className: classNames("fabric-flyout", "fixed inset-y-0 overflow-hidden flex flex-col flex-nowrap pointer-events-auto shadow-xl", align === "start" ? "start-0" : "end-0", size === "sm" && "w-[20rem]", size === "md" && "w-[40rem]", size === "lg" && "w-[60vw]", size === "xl" && "w-[80vw]"),
99
+ style: {
100
+ width: width,
101
+ minWidth: minWidth
102
+ },
103
+ onMouseUpCapture: tryClosing,
104
+ ref: refs.setFloating
105
+ }, getFloatingProps()), aria), aria), {}, {
106
+ children: /*#__PURE__*/jsxs(HotKeyWrapper, {
107
+ children: [/*#__PURE__*/jsxs(Header, {
108
+ flex: true,
109
+ align: "center",
110
+ className: classNames("fabric-flyoutHeader", headerClassName),
111
+ children: [isString(icon) && /*#__PURE__*/jsx(Icon, _objectSpread({
112
+ className: classNames(iconClassName, "p-1")
113
+ }, getIconProps(icon))), /*#__PURE__*/isValidElement(icon) && icon, /*#__PURE__*/jsx("label", {
114
+ className: "flex-1 truncate py-2 px-1",
115
+ children: title
116
+ }), actions, /*#__PURE__*/jsx(Icon, {
117
+ "data-ref": "panelClose",
118
+ className: classNames("fabric-panelAction", "cursor-pointer p-1 text-xl self-center"),
119
+ icon: CoreIcons.close,
120
+ onClick: function onClick() {
121
+ return handleClose(false);
122
+ }
123
+ })]
124
+ }), loading && /*#__PURE__*/jsx(Loading, {}), /*#__PURE__*/jsx("div", {
125
+ role: "dialog",
126
+ className: classNames("fabric-flyoutBody", "flex-1 grid overflow-hidden"),
127
+ tabIndex: 0,
128
+ children: children
129
+ })]
146
130
  })
147
- })
148
- })
131
+ }))
132
+ })]
149
133
  });
150
134
  };
151
135
 
@@ -3,10 +3,9 @@
3
3
  import classNames from 'classnames';
4
4
  import { useRef, useCallback, useLayoutEffect } from 'react';
5
5
  import { Icon } from '../../components/icon/Icon.js';
6
- import { getBgClass, getColorClass } from '../../utils/getColor.js';
7
- import '@react-fabric/utilities';
8
- import classes from './Message.module.css';
9
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
+ import { getColor } from '../../utils/getColor.js';
8
+ import '@react-fabric/utilities';
10
9
 
11
10
  /*
12
11
  * React Fabric
@@ -36,6 +35,7 @@ var Message = function Message(_ref) {
36
35
  message = _ref.message,
37
36
  color = _ref.color,
38
37
  icon = _ref.icon,
38
+ iconSrc = _ref.iconSrc,
39
39
  rtlFlip = _ref.rtlFlip,
40
40
  actions = _ref.actions,
41
41
  onClose = _ref.onClose;
@@ -52,10 +52,15 @@ var Message = function Message(_ref) {
52
52
  }, 100);
53
53
  }, []);
54
54
  return /*#__PURE__*/jsxs("div", {
55
- className: classNames(classes.message, color ? getBgClass(color + "-300") : "bg-invert", color ? getColorClass(color + "-900") : "text-invert", "flex flex-nowrap gap-1 px-8 relative justify-center max-w-md pointer-events-auto rounded mb-2 select-none"),
55
+ className: classNames("fabric-message", "flex flex-nowrap gap-1 px-8 relative justify-center max-w-md pointer-events-auto rounded mb-2 select-none"),
56
+ style: {
57
+ backgroundColor: color ? getColor(color + "-300") : "var(--bg-color-invert)",
58
+ color: color ? getColor(color + "-900") : "var(--text-color-invert)"
59
+ },
56
60
  ref: elRef,
57
61
  children: [icon && /*#__PURE__*/jsx(Icon, {
58
62
  icon: icon,
63
+ iconSrc: iconSrc,
59
64
  size: "md",
60
65
  rtlFlip: rtlFlip
61
66
  }), title && /*#__PURE__*/jsx("div", {