@react-fabric/core 1.0.0-beta.4 → 1.0.0-beta.40

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 (343) 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} +49 -44
  7. package/{src/components/button/Button.module.css → css/components/_button.css} +68 -78
  8. package/{src/components/card/Card.module.css → css/components/_card.css} +32 -28
  9. package/{src/components/chip/Chip.module.css → css/components/_chip.css} +15 -11
  10. package/{src/components/collapsable/Collapsable.module.css → css/components/_collapsable.css} +3 -3
  11. package/css/components/_divider.css +32 -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} +8 -5
  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} +15 -16
  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} +6 -6
  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/{src/components/tabpanel/TabPanel.module.css → css/components/_tabPanel.css} +73 -84
  23. package/{src/overlays/toast/Toast.module.css → css/components/_toast.css} +2 -2
  24. package/css/components/_tooltip.css +29 -0
  25. package/{src/core/content/Content.module.css → css/components/index.css} +25 -18
  26. package/{src/core/aside/Aside.module.css → css/core/_aside.css} +42 -42
  27. package/{src/core/section/Section.module.css → css/core/_content.css} +5 -3
  28. package/{src/core/boundary/ErrorBoundary.module.css → css/core/_errorboundary.css} +9 -9
  29. package/{src/core/headfoot/HeadFoot.module.css → css/core/_headfoot.css} +4 -10
  30. package/{src/core/page/Page.module.css → css/core/_page.css} +10 -14
  31. package/{src/core/responsive/Responsive.module.css → css/core/_responsive.css} +10 -10
  32. package/css/core/_section.css +28 -0
  33. package/{src/core/theme/Theme.module.css → css/core/_theme.css} +3 -3
  34. package/{src/typography/Typography.module.css → css/core/_typography.css} +14 -12
  35. package/{src/core/viewport/Viewport.module.css → css/core/_viewport.css} +7 -3
  36. package/css/core/index.css +33 -0
  37. package/css/reset/_gradients.css +8 -8
  38. package/css/reset/_reset.css +41 -223
  39. package/css/reset/_text.css +14 -29
  40. package/css/reset/_theme.css +315 -32
  41. package/css/reset/index.css +4 -4
  42. package/css/styles.css +7 -6
  43. package/css/theme/_colors.css +320 -0
  44. package/css/theme/_utilities.css +530 -0
  45. package/css/theme/index.css +44 -0
  46. package/dist/cjs/components/actionLabel/ActionLabel.js +3 -3
  47. package/dist/cjs/components/animations/Animations.js +29 -18
  48. package/dist/cjs/components/avatar/Avatar.js +10 -13
  49. package/dist/cjs/components/avatar/AvatarGroup.js +3 -3
  50. package/dist/cjs/components/badge/Badge.js +5 -5
  51. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +10 -8
  52. package/dist/cjs/components/button/Button.js +18 -14
  53. package/dist/cjs/components/button/ButtonGroup.js +4 -3
  54. package/dist/cjs/components/button/ConfirmButton.js +7 -2
  55. package/dist/cjs/components/button/ToggleButtonGroup.js +3 -3
  56. package/dist/cjs/components/callout/Callout.js +15 -4
  57. package/dist/cjs/components/card/Card.js +8 -7
  58. package/dist/cjs/components/card/CardCover.js +10 -5
  59. package/dist/cjs/components/chip/Chip.js +11 -7
  60. package/dist/cjs/components/collapsable/Collapsable.js +5 -5
  61. package/dist/cjs/components/divider/Divider.js +10 -7
  62. package/dist/cjs/components/dropdown/Dropdown.js +5 -4
  63. package/dist/cjs/components/dropdown/DropdownTool.js +4 -3
  64. package/dist/cjs/components/icon/Icon.js +15 -14
  65. package/dist/cjs/components/media/Media.js +116 -75
  66. package/dist/cjs/components/menu/ContextMenu.js +30 -10
  67. package/dist/cjs/components/menu/Menu.js +39 -20
  68. package/dist/cjs/components/menu/MenuItem.js +30 -16
  69. package/dist/cjs/components/meter/Meter.js +2 -3
  70. package/dist/cjs/components/navigator/Navigator.js +16 -9
  71. package/dist/cjs/components/panel/Panel.js +10 -9
  72. package/dist/cjs/components/panel/PanelGroup.js +1 -2
  73. package/dist/cjs/components/progress/ProgressBar.js +6 -5
  74. package/dist/cjs/components/progress/ProgressCircle.js +6 -4
  75. package/dist/cjs/components/tabpanel/Tab.js +58 -38
  76. package/dist/cjs/components/tabpanel/TabPanel.js +20 -16
  77. package/dist/cjs/core/aside/Aside.js +11 -10
  78. package/dist/cjs/core/boundary/ErrorBoundary.js +6 -7
  79. package/dist/cjs/core/boundary/ErrorIcon.js +1 -2
  80. package/dist/cjs/core/content/Content.js +9 -7
  81. package/dist/cjs/core/headfoot/HeadFoot.js +2 -20
  82. package/dist/cjs/core/page/Page.js +3 -3
  83. package/dist/cjs/core/responsive/Responsive.js +3 -4
  84. package/dist/cjs/core/section/Section.js +1 -2
  85. package/dist/cjs/core/theme/ThemeProvider.js +7 -8
  86. package/dist/cjs/core/viewport/Viewport.js +4 -2
  87. package/dist/cjs/hooks/useNavigator.js +6 -4
  88. package/dist/cjs/hotkeys/HotKeyLabel.js +1 -1
  89. package/dist/cjs/hotkeys/HotKeyWrapper.js +3 -1
  90. package/dist/cjs/index.js +6 -2
  91. package/dist/cjs/overlays/alert/Alert.js +19 -13
  92. package/dist/cjs/overlays/flyout/Flyout.js +42 -44
  93. package/dist/cjs/overlays/message/Message.js +6 -3
  94. package/dist/cjs/overlays/modal/Modal.js +9 -10
  95. package/dist/cjs/overlays/toast/Toast.js +17 -9
  96. package/dist/cjs/overlays/tooltip/Tooltip.js +20 -8
  97. package/dist/cjs/types/icons.js +4 -0
  98. package/dist/cjs/typography/Abbr.js +2 -3
  99. package/dist/cjs/typography/{Link.js → Anchor.js} +5 -4
  100. package/dist/cjs/typography/Mark.js +2 -3
  101. package/dist/cjs/typography/Text.js +3 -4
  102. package/dist/cjs/typography/Title.js +3 -3
  103. package/dist/cjs/utils/cloneElement.js +44 -0
  104. package/dist/cjs/utils/getColor.js +1 -18
  105. package/dist/esm/components/actionLabel/ActionLabel.js +3 -3
  106. package/dist/esm/components/animations/Animations.js +30 -19
  107. package/dist/esm/components/avatar/Avatar.js +11 -14
  108. package/dist/esm/components/avatar/AvatarGroup.js +3 -3
  109. package/dist/esm/components/badge/Badge.js +5 -5
  110. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +10 -8
  111. package/dist/esm/components/button/Button.js +18 -14
  112. package/dist/esm/components/button/ButtonGroup.js +5 -4
  113. package/dist/esm/components/button/ConfirmButton.js +7 -2
  114. package/dist/esm/components/button/ToggleButtonGroup.js +4 -4
  115. package/dist/esm/components/callout/Callout.js +15 -4
  116. package/dist/esm/components/card/Card.js +8 -7
  117. package/dist/esm/components/card/CardCover.js +10 -5
  118. package/dist/esm/components/chip/Chip.js +12 -8
  119. package/dist/esm/components/collapsable/Collapsable.js +5 -5
  120. package/dist/esm/components/divider/Divider.js +11 -8
  121. package/dist/esm/components/dropdown/Dropdown.js +5 -4
  122. package/dist/esm/components/dropdown/DropdownTool.js +4 -3
  123. package/dist/esm/components/icon/Icon.js +15 -14
  124. package/dist/esm/components/media/Media.js +117 -76
  125. package/dist/esm/components/menu/ContextMenu.js +32 -12
  126. package/dist/esm/components/menu/Menu.js +41 -22
  127. package/dist/esm/components/menu/MenuItem.js +24 -10
  128. package/dist/esm/components/meter/Meter.js +2 -3
  129. package/dist/esm/components/navigator/Navigator.js +16 -9
  130. package/dist/esm/components/panel/Panel.js +10 -9
  131. package/dist/esm/components/panel/PanelGroup.js +1 -2
  132. package/dist/esm/components/progress/ProgressBar.js +6 -5
  133. package/dist/esm/components/progress/ProgressCircle.js +6 -4
  134. package/dist/esm/components/tabpanel/Tab.js +59 -39
  135. package/dist/esm/components/tabpanel/TabPanel.js +20 -16
  136. package/dist/esm/core/aside/Aside.js +11 -10
  137. package/dist/esm/core/boundary/ErrorBoundary.js +6 -7
  138. package/dist/esm/core/boundary/ErrorIcon.js +1 -2
  139. package/dist/esm/core/content/Content.js +9 -7
  140. package/dist/esm/core/headfoot/HeadFoot.js +2 -20
  141. package/dist/esm/core/page/Page.js +3 -3
  142. package/dist/esm/core/responsive/Responsive.js +3 -4
  143. package/dist/esm/core/section/Section.js +1 -2
  144. package/dist/esm/core/theme/ThemeProvider.js +7 -8
  145. package/dist/esm/core/viewport/Viewport.js +4 -2
  146. package/dist/esm/hooks/useNavigator.js +7 -5
  147. package/dist/esm/hotkeys/HotKeyLabel.js +1 -1
  148. package/dist/esm/hotkeys/HotKeyWrapper.js +3 -1
  149. package/dist/esm/index.js +3 -1
  150. package/dist/esm/overlays/alert/Alert.js +20 -14
  151. package/dist/esm/overlays/flyout/Flyout.js +43 -45
  152. package/dist/esm/overlays/message/Message.js +7 -4
  153. package/dist/esm/overlays/modal/Modal.js +10 -11
  154. package/dist/esm/overlays/toast/Toast.js +18 -10
  155. package/dist/esm/overlays/tooltip/Tooltip.js +20 -8
  156. package/dist/esm/types/icons.js +4 -0
  157. package/dist/esm/typography/Abbr.js +2 -3
  158. package/dist/esm/typography/{Link.js → Anchor.js} +6 -5
  159. package/dist/esm/typography/Mark.js +2 -3
  160. package/dist/esm/typography/Text.js +4 -5
  161. package/dist/esm/typography/Title.js +4 -4
  162. package/dist/esm/utils/cloneElement.js +44 -0
  163. package/dist/esm/utils/getColor.js +2 -16
  164. package/dist/types/components/actionLabel/ActionLabel.d.ts +2 -2
  165. package/dist/types/components/animations/Animations.d.ts +5 -5
  166. package/dist/types/components/avatar/Avatar.d.ts +3 -3
  167. package/dist/types/components/badge/Badge.d.ts +5 -1
  168. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +2 -2
  169. package/dist/types/components/button/Button.d.ts +7 -5
  170. package/dist/types/components/button/ButtonGroup.d.ts +2 -2
  171. package/dist/types/components/button/ConfirmButton.d.ts +6 -1
  172. package/dist/types/components/callout/Callout.d.ts +2 -2
  173. package/dist/types/components/card/Card.d.ts +3 -3
  174. package/dist/types/components/chip/Chip.d.ts +3 -3
  175. package/dist/types/components/collapsable/Collapsable.d.ts +5 -1
  176. package/dist/types/components/divider/Divider.d.ts +7 -3
  177. package/dist/types/components/dropdown/DropdownTool.d.ts +2 -1
  178. package/dist/types/components/icon/Icon.d.ts +3 -3
  179. package/dist/types/components/media/Media.d.ts +2 -2
  180. package/dist/types/components/menu/ContextMenu.d.ts +2 -1
  181. package/dist/types/components/menu/MenuItem.d.ts +1 -1
  182. package/dist/types/components/menu/types.d.ts +2 -2
  183. package/dist/types/components/navigator/Navigator.d.ts +4 -4
  184. package/dist/types/components/progress/ProgressBar.d.ts +2 -2
  185. package/dist/types/components/progress/ProgressCircle.d.ts +2 -2
  186. package/dist/types/components/tabpanel/Tab.d.ts +5 -5
  187. package/dist/types/components/tabpanel/TabPanel.d.ts +10 -1
  188. package/dist/types/core/content/Content.d.ts +3 -2
  189. package/dist/types/core/headfoot/HeadFoot.d.ts +1 -9
  190. package/dist/types/core/responsive/Responsive.d.ts +1 -1
  191. package/dist/types/core/theme/ThemeProvider.d.ts +4 -4
  192. package/dist/types/hooks/useOverlayService.d.ts +3 -5
  193. package/dist/types/index.d.ts +3 -0
  194. package/dist/types/overlays/alert/Alert.d.ts +2 -2
  195. package/dist/types/overlays/flyout/Flyout.d.ts +3 -2
  196. package/dist/types/overlays/message/Message.d.ts +2 -2
  197. package/dist/types/overlays/modal/Modal.d.ts +4 -3
  198. package/dist/types/overlays/toast/Toast.d.ts +2 -2
  199. package/dist/types/overlays/tooltip/Tooltip.d.ts +1 -1
  200. package/dist/types/types/icons.d.ts +4 -0
  201. package/dist/types/types/index.d.ts +18 -6
  202. package/dist/types/typography/Abbr.d.ts +6 -2
  203. package/dist/types/typography/Anchor.d.ts +25 -0
  204. package/dist/types/typography/Mark.d.ts +2 -2
  205. package/dist/types/typography/index.d.ts +1 -1
  206. package/dist/types/utils/cloneElement.d.ts +2 -0
  207. package/dist/types/utils/getColor.d.ts +1 -4
  208. package/dist/types/utils/index.d.ts +1 -0
  209. package/package.json +7 -9
  210. package/src/components/actionLabel/ActionLabel.tsx +15 -6
  211. package/src/components/animations/Animations.tsx +29 -23
  212. package/src/components/avatar/Avatar.tsx +74 -88
  213. package/src/components/avatar/AvatarGroup.tsx +4 -4
  214. package/src/components/badge/Badge.tsx +11 -7
  215. package/src/components/breadcrumbs/Breadcrumbs.tsx +13 -9
  216. package/src/components/button/Button.tsx +27 -22
  217. package/src/components/button/ButtonGroup.tsx +7 -7
  218. package/src/components/button/ConfirmButton.tsx +15 -5
  219. package/src/components/button/ToggleButtonGroup.tsx +5 -5
  220. package/src/components/callout/Callout.tsx +26 -11
  221. package/src/components/card/Card.tsx +10 -7
  222. package/src/components/card/CardCover.tsx +11 -6
  223. package/src/components/chip/Chip.tsx +17 -13
  224. package/src/components/collapsable/Collapsable.tsx +9 -4
  225. package/src/components/divider/Divider.tsx +15 -10
  226. package/src/components/dropdown/Dropdown.tsx +5 -5
  227. package/src/components/dropdown/DropdownTool.tsx +5 -3
  228. package/src/components/icon/Icon.tsx +55 -67
  229. package/src/components/media/Media.tsx +141 -106
  230. package/src/components/menu/ContextMenu.tsx +36 -11
  231. package/src/components/menu/Menu.tsx +51 -30
  232. package/src/components/menu/MenuItem.tsx +19 -9
  233. package/src/components/menu/types.ts +2 -2
  234. package/src/components/meter/Meter.tsx +2 -3
  235. package/src/components/navigator/Navigator.tsx +19 -5
  236. package/src/components/panel/Panel.tsx +10 -9
  237. package/src/components/panel/PanelGroup.tsx +1 -2
  238. package/src/components/progress/ProgressBar.tsx +8 -9
  239. package/src/components/progress/ProgressCircle.tsx +6 -9
  240. package/src/components/tabpanel/Tab.tsx +81 -64
  241. package/src/components/tabpanel/TabPanel.tsx +34 -12
  242. package/src/core/aside/Aside.tsx +11 -10
  243. package/src/core/boundary/ErrorBoundary.tsx +8 -7
  244. package/src/core/boundary/ErrorIcon.tsx +1 -2
  245. package/src/core/content/Content.tsx +17 -12
  246. package/src/core/headfoot/HeadFoot.tsx +2 -35
  247. package/src/core/page/Page.tsx +3 -3
  248. package/src/core/responsive/Responsive.tsx +8 -7
  249. package/src/core/section/Section.tsx +1 -2
  250. package/src/core/theme/ThemeProvider.tsx +11 -12
  251. package/src/core/viewport/Viewport.tsx +1 -2
  252. package/src/hooks/useNavigator.tsx +10 -5
  253. package/src/hooks/useOverlayService.tsx +12 -6
  254. package/src/hotkeys/HotKeyLabel.tsx +1 -1
  255. package/src/hotkeys/HotKeyWrapper.tsx +3 -1
  256. package/src/index.ts +4 -0
  257. package/src/overlays/alert/Alert.tsx +25 -31
  258. package/src/overlays/flyout/Flyout.tsx +65 -64
  259. package/src/overlays/message/Message.tsx +10 -7
  260. package/src/overlays/modal/Modal.tsx +18 -13
  261. package/src/overlays/toast/Toast.tsx +18 -27
  262. package/src/overlays/tooltip/Tooltip.tsx +30 -9
  263. package/src/types/icons.ts +9 -0
  264. package/src/types/index.ts +240 -27
  265. package/src/typography/Abbr.tsx +15 -9
  266. package/src/typography/{Link.tsx → Anchor.tsx} +8 -13
  267. package/src/typography/Mark.tsx +4 -9
  268. package/src/typography/Text.tsx +4 -12
  269. package/src/typography/Title.tsx +2 -6
  270. package/src/typography/index.ts +1 -1
  271. package/src/utils/cloneElement.ts +44 -0
  272. package/src/utils/getColor.ts +1 -17
  273. package/src/utils/index.ts +1 -0
  274. package/css/index.js +0 -250
  275. package/css/tailwind/colors.ts +0 -158
  276. package/dist/cjs/components/actionLabel/ActionLabel.module.css +0 -1
  277. package/dist/cjs/components/animations/Animations.module.css +0 -1
  278. package/dist/cjs/components/avatar/Avatar.module.css +0 -1
  279. package/dist/cjs/components/badge/Badge.module.css +0 -1
  280. package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  281. package/dist/cjs/components/button/Button.module.css +0 -1
  282. package/dist/cjs/components/card/Card.module.css +0 -1
  283. package/dist/cjs/components/chip/Chip.module.css +0 -1
  284. package/dist/cjs/components/collapsable/Collapsable.module.css +0 -1
  285. package/dist/cjs/components/dropdown/Dropdown.module.css +0 -1
  286. package/dist/cjs/components/icon/Icon.module.css +0 -1
  287. package/dist/cjs/components/media/Media.module.css +0 -1
  288. package/dist/cjs/components/menu/Menu.module.css +0 -1
  289. package/dist/cjs/components/meter/Meter.module.css +0 -1
  290. package/dist/cjs/components/panel/Panel.module.css +0 -1
  291. package/dist/cjs/components/progress/Progress.module.css +0 -1
  292. package/dist/cjs/components/tabpanel/TabPanel.module.css +0 -1
  293. package/dist/cjs/core/aside/Aside.module.css +0 -1
  294. package/dist/cjs/core/boundary/ErrorBoundary.module.css +0 -1
  295. package/dist/cjs/core/content/Content.module.css +0 -1
  296. package/dist/cjs/core/headfoot/HeadFoot.module.css +0 -1
  297. package/dist/cjs/core/page/Page.module.css +0 -1
  298. package/dist/cjs/core/responsive/Responsive.module.css +0 -1
  299. package/dist/cjs/core/section/Section.module.css +0 -1
  300. package/dist/cjs/core/theme/Theme.module.css +0 -1
  301. package/dist/cjs/core/viewport/Viewport.module.css +0 -1
  302. package/dist/cjs/overlays/alert/Alert.module.css +0 -1
  303. package/dist/cjs/overlays/flyout/Flyout.module.css +0 -1
  304. package/dist/cjs/overlays/message/Message.module.css +0 -1
  305. package/dist/cjs/overlays/modal/Modal.module.css +0 -1
  306. package/dist/cjs/overlays/toast/Toast.module.css +0 -1
  307. package/dist/cjs/overlays/tooltip/Tooltip.module.css +0 -1
  308. package/dist/cjs/typography/Typography.module.css +0 -1
  309. package/dist/esm/components/actionLabel/ActionLabel.module.css +0 -1
  310. package/dist/esm/components/animations/Animations.module.css +0 -1
  311. package/dist/esm/components/avatar/Avatar.module.css +0 -1
  312. package/dist/esm/components/badge/Badge.module.css +0 -1
  313. package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  314. package/dist/esm/components/button/Button.module.css +0 -1
  315. package/dist/esm/components/card/Card.module.css +0 -1
  316. package/dist/esm/components/chip/Chip.module.css +0 -1
  317. package/dist/esm/components/collapsable/Collapsable.module.css +0 -1
  318. package/dist/esm/components/dropdown/Dropdown.module.css +0 -1
  319. package/dist/esm/components/icon/Icon.module.css +0 -1
  320. package/dist/esm/components/media/Media.module.css +0 -1
  321. package/dist/esm/components/menu/Menu.module.css +0 -1
  322. package/dist/esm/components/meter/Meter.module.css +0 -1
  323. package/dist/esm/components/panel/Panel.module.css +0 -1
  324. package/dist/esm/components/progress/Progress.module.css +0 -1
  325. package/dist/esm/components/tabpanel/TabPanel.module.css +0 -1
  326. package/dist/esm/core/aside/Aside.module.css +0 -1
  327. package/dist/esm/core/boundary/ErrorBoundary.module.css +0 -1
  328. package/dist/esm/core/content/Content.module.css +0 -1
  329. package/dist/esm/core/headfoot/HeadFoot.module.css +0 -1
  330. package/dist/esm/core/page/Page.module.css +0 -1
  331. package/dist/esm/core/responsive/Responsive.module.css +0 -1
  332. package/dist/esm/core/section/Section.module.css +0 -1
  333. package/dist/esm/core/theme/Theme.module.css +0 -1
  334. package/dist/esm/core/viewport/Viewport.module.css +0 -1
  335. package/dist/esm/overlays/alert/Alert.module.css +0 -1
  336. package/dist/esm/overlays/flyout/Flyout.module.css +0 -1
  337. package/dist/esm/overlays/message/Message.module.css +0 -1
  338. package/dist/esm/overlays/modal/Modal.module.css +0 -1
  339. package/dist/esm/overlays/toast/Toast.module.css +0 -1
  340. package/dist/esm/overlays/tooltip/Tooltip.module.css +0 -1
  341. package/dist/esm/typography/Typography.module.css +0 -1
  342. package/dist/types/typography/Link.d.ts +0 -25
  343. package/src/overlays/tooltip/Tooltip.module.css +0 -53
@@ -29,7 +29,6 @@ import { Fragment } from "react/jsx-runtime";
29
29
  import { useMemoDebugger } from "../../hooks/useEffectDebugger";
30
30
  import { usePropToggle } from "../../hooks/usePropToggle";
31
31
  import { type ChildrenProp } from "../../types";
32
- import classes from "./ErrorBoundary.module.css";
33
32
  import { ErrorIcon } from "./ErrorIcon";
34
33
  import { useGlobals } from "../../context/Global";
35
34
 
@@ -53,7 +52,7 @@ const ErrorMessage = ({ error, errorElement }: KeyValue) => {
53
52
  return (
54
53
  <Fragment>
55
54
  <ErrorIcon />
56
- <div className={classNames(classes.boundaryMessage, "p-2")}>
55
+ <div className={classNames("fabric-boundaryMessage", "p-2")}>
57
56
  <EE error={error} />
58
57
  </div>
59
58
  </Fragment>
@@ -64,10 +63,12 @@ const ErrorStack = ({ error, stack }: KeyValue) => {
64
63
  const [show, toggleShow] = usePropToggle(false);
65
64
  useLogger().error(error, {}, stack);
66
65
  return (
67
- <div className={classNames(classes.boundaryDetail, "overflow-hidden grid")}>
66
+ <div
67
+ className={classNames("fabric-boundaryDetail", "overflow-hidden grid")}
68
+ >
68
69
  <div
69
70
  className={classNames(
70
- classes.boundaryLink,
71
+ "fabric-boundaryLink",
71
72
  "px-2 py-1 text-xs text-end",
72
73
  )}
73
74
  >
@@ -78,7 +79,7 @@ const ErrorStack = ({ error, stack }: KeyValue) => {
78
79
  {show && (
79
80
  <div
80
81
  className={classNames(
81
- classes.boundaryStack,
82
+ "fabric-boundaryStack",
82
83
  "overflow-auto p-2 text-xs border-t",
83
84
  )}
84
85
  >
@@ -122,13 +123,13 @@ export class ErrorBoundary extends Component<
122
123
  return (
123
124
  <div
124
125
  className={classNames(
125
- classes.errorBoundary,
126
+ "fabric-errorBoundary",
126
127
  "grid grid-rows-1 overflow-hidden p-0.5 rounded-capped",
127
128
  )}
128
129
  >
129
130
  <div
130
131
  className={classNames(
131
- classes.boundaryContent,
132
+ "fabric-boundaryContent",
132
133
  "overflow-hidden grid rounded-capped",
133
134
  )}
134
135
  >
@@ -22,13 +22,12 @@
22
22
  */
23
23
 
24
24
  import classNames from "classnames";
25
- import classes from "./ErrorBoundary.module.css";
26
25
 
27
26
  export const ErrorIcon = () => (
28
27
  <svg
29
28
  xmlns="http://www.w3.org/2000/svg"
30
29
  viewBox="0 0 64 64"
31
- className={classNames(classes.boundaryIcon, "size-6 m-2")}
30
+ className={classNames("fabric-boundaryIcon", "size-6 m-2")}
32
31
  >
33
32
  <path
34
33
  fill="#808080"
@@ -22,19 +22,18 @@
22
22
  */
23
23
 
24
24
  import classNames from "classnames";
25
- import { useImperativeHandle } from "react";
25
+ import { type MouseEvent, useImperativeHandle } from "react";
26
26
  import { useDebounce } from "../../hooks/useDebounce";
27
27
  import { useResizeObserver } from "../../hooks/useResizeObserver";
28
28
  import {
29
29
  type ChildrenProp,
30
30
  type CssProp,
31
- type PositionObject,
32
31
  type RefProp,
32
+ type ScrollObject,
33
33
  type SizeObject,
34
34
  type TestProps,
35
35
  } from "../../types";
36
36
  import { ErrorBoundary } from "../boundary/ErrorBoundary";
37
- import classes from "./Content.module.css";
38
37
 
39
38
  export interface ContentProps
40
39
  extends ChildrenProp,
@@ -44,7 +43,7 @@ export interface ContentProps
44
43
  /**
45
44
  * scroll vevent handler
46
45
  */
47
- onScroll?: (event: PositionObject) => void;
46
+ onScroll?: (scroll: ScrollObject, event: MouseEvent<HTMLDivElement>) => void;
48
47
  /**
49
48
  * scroll vevent handler
50
49
  */
@@ -65,13 +64,19 @@ export const Content = ({
65
64
  }: ContentProps) => {
66
65
  const resizeHandle = useResizeObserver(onResize);
67
66
  const scrollHandler = useDebounce(
68
- (e: React.UIEvent<HTMLDivElement>) => {
69
- onScroll?.({
70
- // @ts-expect-error ignore
71
- left: e.target.scrollLeft,
72
- // @ts-expect-error ignore
73
- top: e.target.scrollTop,
74
- });
67
+ (e: MouseEvent<HTMLDivElement>) => {
68
+ const el = e.target as HTMLElement;
69
+ onScroll?.(
70
+ {
71
+ left: el.scrollLeft,
72
+ top: el.scrollTop,
73
+ scrollHeight: el.scrollHeight,
74
+ scrollWidth: el.scrollWidth,
75
+ width: el.offsetWidth,
76
+ height: el.offsetHeight,
77
+ },
78
+ e,
79
+ );
75
80
  },
76
81
  [onScroll],
77
82
  );
@@ -83,7 +88,7 @@ export const Content = ({
83
88
  data-test-value={testValue}
84
89
  ref={resizeHandle}
85
90
  onScroll={scrollHandler}
86
- className={classNames(classes.content, "area-content", className)}
91
+ className={classNames("fabric-content", "area-content", className)}
87
92
  >
88
93
  <ErrorBoundary>{children}</ErrorBoundary>
89
94
  </section>
@@ -22,27 +22,15 @@
22
22
  */
23
23
 
24
24
  import classNames from "classnames";
25
- import { useMemoDebugger } from "../../hooks/useEffectDebugger";
26
25
  import {
27
26
  type AriaProps,
28
27
  type ChildrenProp,
29
- type ColorWithGrays,
30
28
  type CssProp,
31
29
  type TestProps,
32
30
  } from "../../types";
33
- import { getBgClass, getColor, getColorClass } from "../../utils";
34
- import classes from "./HeadFoot.module.css";
35
31
 
36
32
  interface BaseProps extends CssProp, AriaProps, ChildrenProp, TestProps {
37
33
  dir?: "ltr" | "rtl";
38
- /**
39
- * background color
40
- */
41
- bg?: ColorWithGrays | string;
42
- /**
43
- * background color
44
- */
45
- color?: ColorWithGrays | string;
46
34
  }
47
35
 
48
36
  type DefaultProps = BaseProps & { flex?: false };
@@ -58,8 +46,6 @@ const HeadFoot = ({
58
46
  as: E,
59
47
  children,
60
48
  className,
61
- bg,
62
- color,
63
49
  flex,
64
50
  area,
65
51
  dir,
@@ -67,37 +53,18 @@ const HeadFoot = ({
67
53
  justify = "start",
68
54
  ...aria
69
55
  }: KeyValue & { as: "header" | "footer" }) => {
70
- /** ***************** style map *******************/
71
- const styles = useMemoDebugger(
72
- () => {
73
- const s: KeyValue = {};
74
- if (bg) {
75
- s.backgroundColor = getColor(bg);
76
- }
77
- if (color) {
78
- s.color = getColor(color);
79
- }
80
- return s;
81
- },
82
- [bg],
83
- "HeadFoot styles",
84
- );
85
-
86
56
  return (
87
57
  <E
88
58
  dir={dir}
89
59
  className={classNames(
90
- classes.headfoot,
60
+ "fabric-headfoot",
91
61
  className,
92
- bg && getBgClass(bg),
93
- color && getColorClass(color),
94
62
  area === "head" ? "area-head" : "area-foot",
95
63
  `leading-none`,
96
- flex && "flex flex-nowrap gap-px",
64
+ flex && "flex flex-nowrap",
97
65
  align && `items-${align}`,
98
66
  justify && `justify-${justify}`,
99
67
  )}
100
- style={styles}
101
68
  {...aria}
102
69
  >
103
70
  {children}
@@ -25,7 +25,6 @@ import classNames from "classnames";
25
25
  import { Loading } from "../../components/animations/Animations";
26
26
  import { Icon } from "../../components/icon/Icon";
27
27
  import { type ChildrenProp, type IconProps, type TestProps } from "../../types";
28
- import classes from "./Page.module.css";
29
28
 
30
29
  export interface PageProps extends IconProps, ChildrenProp, TestProps {
31
30
  /**
@@ -66,8 +65,9 @@ export const Page = ({
66
65
  <div
67
66
  data-testid={testId}
68
67
  data-test-value={testValue}
68
+ data-loading={loading}
69
69
  className={classNames(
70
- classes.page,
70
+ "fabric-page",
71
71
  "overflow-hidden grid area-content",
72
72
  paper && "shadow-paper m-[6px] rounded-capped",
73
73
  )}
@@ -76,7 +76,7 @@ export const Page = ({
76
76
  <div
77
77
  data-ref="pageTitle"
78
78
  className={classNames(
79
- classes.pageTitle,
79
+ "fabric-pageTitle",
80
80
  "select-none flex gap-1 items-center justify-center px-1 py-0.5 font-medium text-center",
81
81
  titleClassName,
82
82
  )}
@@ -29,7 +29,6 @@ import {
29
29
  type SizeTypeWithZero,
30
30
  type TestProps,
31
31
  } from "../../types";
32
- import classes from "./Responsive.module.css";
33
32
 
34
33
  export interface ContainerProps
35
34
  extends AriaProps,
@@ -81,7 +80,7 @@ export interface ColProps
81
80
  /**
82
81
  * column flex
83
82
  */
84
- flex?: "auto" | "fill" | "full";
83
+ flex?: "auto" | "fill" | "full" | "initial" | "content";
85
84
  /**
86
85
  * stretch inner content
87
86
  */
@@ -101,7 +100,7 @@ export const Container = ({
101
100
  return (
102
101
  <div
103
102
  className={classNames(
104
- classes.container,
103
+ "fabric-container",
105
104
  className,
106
105
  !fullWidth && "container mx-auto",
107
106
  )}
@@ -126,7 +125,7 @@ export const Row = ({
126
125
  return (
127
126
  <div
128
127
  className={classNames(
129
- classes.row,
128
+ "fabric-row",
130
129
  className,
131
130
  "flex",
132
131
  orient === "row" && "flex-row",
@@ -156,12 +155,14 @@ export const Col = ({
156
155
  return (
157
156
  <div
158
157
  className={classNames(
159
- classes.col,
158
+ "fabric-col",
160
159
  className,
161
- stretchContent && classes.stretchContent,
162
- flex === "auto" && "flex-content",
160
+ stretchContent && "stretchContent",
163
161
  flex === "fill" && "flex-1",
164
162
  flex === "full" && "flex-full",
163
+ flex === "auto" && "flex-auto",
164
+ flex === "initial" && "flex-initial",
165
+ flex === "content" && "flex-none",
165
166
  align && `self-${align}`,
166
167
  )}
167
168
  {...aria}
@@ -24,7 +24,6 @@
24
24
  import classNames from "classnames";
25
25
  import { type ChildrenProp, type CssProp, type RefProp } from "../../types";
26
26
  import { ErrorBoundary } from "../boundary/ErrorBoundary";
27
- import classes from "./Section.module.css";
28
27
 
29
28
  /**
30
29
  * The section component provides a structured layout used within a page to organize and display content in a sectioned format, ensuring a consistent and intuitive user experience.
@@ -43,7 +42,7 @@ export const Section = ({
43
42
  dir={dir}
44
43
  ref={ref}
45
44
  className={classNames(
46
- classes.section,
45
+ "fabric-section",
47
46
  className,
48
47
  "grid area-content overflow-hidden",
49
48
  )}
@@ -25,7 +25,6 @@ import { isColor } from "@react-fabric/utilities";
25
25
  import classNames from "classnames";
26
26
  import { useMemo } from "react";
27
27
  import { type ChildrenProp } from "../../types";
28
- import classes from "./Theme.module.css";
29
28
 
30
29
  export interface ThemeProps {
31
30
  /**
@@ -36,9 +35,9 @@ export interface ThemeProps {
36
35
  * branding css className
37
36
  *
38
37
  * .branding {
39
- * --primary: #color;
40
- * --accent: #color;
41
- * --tint: #color;
38
+ * --color-primary: #color;
39
+ * --color-accent: #color;
40
+ * --color-tint: #color;
42
41
  * }
43
42
  */
44
43
  branding?: string;
@@ -57,7 +56,7 @@ export interface ThemeProps {
57
56
  /**
58
57
  * component rounding
59
58
  */
60
- rounding?: "minimal" | "normal" | "full";
59
+ rounding?: "sm" | "md" | "full";
61
60
  }
62
61
 
63
62
  /**
@@ -75,22 +74,22 @@ export const ThemeProvider = ({
75
74
  const styles = useMemo(() => {
76
75
  const ret: KeyValue = {};
77
76
  if (primaryColor && isColor(primaryColor)) {
78
- ret["--primary"] = primaryColor;
77
+ ret["--color-primary"] = primaryColor;
79
78
  }
80
79
  if (primaryColor && !isColor(primaryColor)) {
81
- ret["--primary"] = `var(--${primaryColor})`;
80
+ ret["--color-primary"] = `var(--color-${primaryColor})`;
82
81
  }
83
82
  if (accentColor && isColor(accentColor)) {
84
- ret["--accent"] = accentColor;
83
+ ret["--color-accent"] = accentColor;
85
84
  }
86
85
  if (accentColor && !isColor(accentColor)) {
87
- ret["--accent"] = `var(--${accentColor})`;
86
+ ret["--color-accent"] = `var(--color-${accentColor})`;
88
87
  }
89
88
  if (tintColor && isColor(tintColor)) {
90
- ret["--tint"] = tintColor;
89
+ ret["--color-tint"] = tintColor;
91
90
  }
92
91
  if (tintColor && !isColor(tintColor)) {
93
- ret["--tint"] = `var(--${tintColor})`;
92
+ ret["--color-tint"] = `var(--color-${tintColor})`;
94
93
  }
95
94
  return ret;
96
95
  }, [primaryColor, accentColor, tintColor]);
@@ -101,7 +100,7 @@ export const ThemeProvider = ({
101
100
  data-color-scheme={colorScheme}
102
101
  data-rounding={rounding}
103
102
  className={classNames(
104
- classes.themeProvider,
103
+ "fabric-themeProvider",
105
104
  "contents theme-base",
106
105
  branding,
107
106
  )}
@@ -23,7 +23,6 @@
23
23
 
24
24
  import classNames from "classnames";
25
25
  import { type PropsWithChildren } from "react";
26
- import classes from "./Viewport.module.css";
27
26
 
28
27
  /**
29
28
  * The application viewport is the main container that defines the visible area where content is displayed and interacted with.
@@ -33,7 +32,7 @@ export const Viewport = ({ children }: PropsWithChildren) => {
33
32
  <div
34
33
  data-ref="viewport"
35
34
  className={classNames(
36
- classes.viewport,
35
+ "fabric-viewport",
37
36
  "grid overflow-hidden absolute inset-0",
38
37
  )}
39
38
  >
@@ -21,24 +21,29 @@
21
21
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  */
23
23
 
24
- import { useCallback, useMemo, useState } from "react";
24
+ import { useCallback, useMemo, useRef, useState } from "react";
25
25
 
26
26
  export const useNavigator = (totalCount = 0, defaultIndex = 0) => {
27
27
  const [currentIndex, setCurrentIndex] = useState(defaultIndex);
28
+ const refCurrent = useRef(defaultIndex);
29
+
28
30
  const onNavigate = useCallback(
29
31
  (dir: 1 | -1) => {
30
32
  if (dir === -1) {
31
- setCurrentIndex(currentIndex > 0 ? currentIndex - 1 : totalCount - 1);
33
+ refCurrent.current =
34
+ refCurrent.current > 0 ? refCurrent.current - 1 : totalCount - 1;
32
35
  }
33
36
  if (dir === 1) {
34
- setCurrentIndex(currentIndex + 1 < totalCount ? currentIndex + 1 : 0);
37
+ refCurrent.current =
38
+ refCurrent.current + 1 < totalCount ? refCurrent.current + 1 : 0;
35
39
  }
40
+ setCurrentIndex(refCurrent.current);
36
41
  },
37
- [currentIndex, totalCount],
42
+ [totalCount],
38
43
  );
39
44
  const headLabel = useMemo(
40
45
  () => (
41
- <span className="text-muted leading-none">
46
+ <span className="text-muted leading-none select-none">
42
47
  {currentIndex + 1}/{totalCount}
43
48
  </span>
44
49
  ),
@@ -21,12 +21,15 @@
21
21
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  */
23
23
 
24
- import { useState, type FC, type ReactNode } from "react";
24
+ import {
25
+ useState,
26
+ type ComponentProps,
27
+ type ElementType,
28
+ type ReactNode,
29
+ } from "react";
30
+ import { type ModalProps } from "../types";
25
31
 
26
- type OverlayComponent = FC<{
27
- onClose: (args?: AnyObject) => void;
28
- [key: string]: AnyObject;
29
- }>;
32
+ type OverlayComponent = ElementType<ModalProps<AnyObject>>;
30
33
 
31
34
  export const useOverlayService = (
32
35
  ModalOrFlyout: OverlayComponent,
@@ -36,7 +39,10 @@ export const useOverlayService = (
36
39
  ] => {
37
40
  const [Overlay, setOverlay] = useState<ReactNode | null>(null);
38
41
 
39
- const openOverlay = async ({ onClose, ...props }: KeyValue = {}) => {
42
+ const openOverlay = async ({
43
+ onClose,
44
+ ...props
45
+ }: ComponentProps<typeof ModalOrFlyout> = {}) => {
40
46
  return await new Promise((resolve) => {
41
47
  const handleClose = (args: AnyObject) => {
42
48
  setOverlay(null);
@@ -54,7 +54,7 @@ export const HotKeyLabel = ({
54
54
  );
55
55
 
56
56
  return (
57
- <kbd 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">
57
+ <kbd 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">
58
58
  {label}
59
59
  </kbd>
60
60
  );
@@ -76,7 +76,9 @@ export const HotKeyWrapper: FC<PropsWithChildren> = memo(
76
76
  const find = items.find(
77
77
  ({ key, alt, ctrl, meta, shift }: KeyValue) =>
78
78
  (key.toLowerCase() === keyCode.toLowerCase() ||
79
- key.toLowerCase() === code.toLowerCase()) &&
79
+ key.toLowerCase() === code.toLowerCase() ||
80
+ // work around for macos alt+key issue
81
+ `key${key.toLowerCase()}` === code.toLowerCase()) &&
80
82
  alt === altKey &&
81
83
  ctrl === ctrlKey &&
82
84
  meta === metaKey &&
package/src/index.ts CHANGED
@@ -40,9 +40,13 @@ export * from "./hooks/useStorage";
40
40
 
41
41
  export { HotKey } from "./hotkeys/HotKey";
42
42
  export { HotKeyLabel } from "./hotkeys/HotKeyLabel";
43
+ export { HotKeyWrapper } from "./hotkeys/HotKeyWrapper";
43
44
 
45
+ export { type ModalProps } from "./types";
44
46
  export { CoreIcons } from "./types/icons";
45
47
 
48
+ export { cloneChildren } from "./utils";
49
+
46
50
  export {
47
51
  ApplicationProvider,
48
52
  useApplicationContext,
@@ -36,11 +36,10 @@ import { useTranslation } from "react-i18next";
36
36
  import { AnimationIndicator } from "../../components/animations/Animations";
37
37
  import { Button } from "../../components/button/Button";
38
38
  import { Icon } from "../../components/icon/Icon";
39
- import { type ColorType, type Elements, type IconProps } from "../../types";
39
+ import { type ColorState, type Elements, type IconProps } from "../../types";
40
40
  import { CoreIcons } from "../../types/icons";
41
41
  import { Title } from "../../typography/Title";
42
- import { getBorderClass, getColorClass } from "../../utils";
43
- import classes from "./Alert.module.css";
42
+ import { getColor } from "../../utils";
44
43
 
45
44
  export interface AlertProps extends Omit<IconProps, "iconBg" | "iconColor"> {
46
45
  /**
@@ -58,7 +57,7 @@ export interface AlertProps extends Omit<IconProps, "iconBg" | "iconColor"> {
58
57
  /**
59
58
  * theme color
60
59
  */
61
- color?: ColorType;
60
+ color?: ColorState;
62
61
  /**
63
62
  * extra action button
64
63
  */
@@ -116,35 +115,20 @@ export const Alert = ({
116
115
  const iconType = useMemo(() => {
117
116
  if (icon)
118
117
  return (
119
- <Icon icon={icon} size="md" rtlFlip={rtlFlip} color={color + "-600"} />
118
+ <Icon icon={icon} size="md" rtlFlip={rtlFlip} color={`${color}-600`} />
120
119
  );
121
120
  switch (color) {
122
121
  case "danger":
123
- return (
124
- <AnimationIndicator
125
- type="cross"
126
- className={getColorClass(color + "-600")}
127
- />
128
- );
122
+ return <AnimationIndicator type="cross" color={"danger-600"} />;
129
123
  case "success":
130
- return (
131
- <AnimationIndicator
132
- type="check"
133
- className={getColorClass(color + "-600")}
134
- />
135
- );
124
+ return <AnimationIndicator type="check" color={"success-600"} />;
136
125
  case "warning":
137
- return (
138
- <AnimationIndicator
139
- type="exclaim"
140
- className={getColorClass(color + "-600")}
141
- />
142
- );
126
+ return <AnimationIndicator type="exclaim" color={"warning-600"} />;
143
127
  default:
144
128
  return (
145
129
  <AnimationIndicator
146
130
  type={type === "confirm" ? "question" : "info"}
147
- className={getColorClass(color + "-600")}
131
+ color={`${color}-600`}
148
132
  />
149
133
  );
150
134
  }
@@ -172,17 +156,19 @@ export const Alert = ({
172
156
  <FloatingOverlay
173
157
  lockScroll
174
158
  style={{ zIndex: "var(--z-overlay-mask)" }}
175
- className="bg-base/50 backdrop-blur-sm grid place-items-center"
159
+ className="bg-tint-100/50 backdrop-blur-sm grid place-items-center"
176
160
  >
177
161
  <FloatingFocusManager context={context}>
178
162
  <dialog
179
163
  role="alertdialog"
180
164
  className={classNames(
181
- classes.alert,
182
- getBorderClass(color + "-300"),
165
+ "fabric-alert",
183
166
  "grid bg-base border-2 pointer-events-auto overflow-hidden rounded-capped select-none",
184
167
  "min-w-72 max-w-sm p-6 relative outline-0 shadow-lg",
185
168
  )}
169
+ style={{
170
+ borderColor: getColor(`${color}-300`),
171
+ }}
186
172
  ref={refs.setFloating}
187
173
  {...getFloatingProps()}
188
174
  >
@@ -190,15 +176,23 @@ export const Alert = ({
190
176
  {iconType}
191
177
  </div>
192
178
 
193
- <Title className="font-medium area-[title]">{title}</Title>
194
- <p className="area-[message] py-4">{message}</p>
179
+ <Title className="font-medium area-[title] self-center">
180
+ {title}
181
+ </Title>
182
+ <div className="area-[message] py-4">{message}</div>
195
183
  {type === "prompt" && (
196
184
  <input
197
185
  value={value}
198
186
  placeholder={placeholder}
199
187
  className={classNames(
200
- "border rounded focus:border-primary-500",
188
+ `area-[input] appearance-none outline-0 border rounded w-full px-2 py-1`,
201
189
  )}
190
+ style={
191
+ {
192
+ borderColor: getColor(`${color}-200`),
193
+ "--tw-ring-color": getColor(`${color}-500`),
194
+ } as AnyObject
195
+ }
202
196
  ref={(e) => e != null && setTimeout(() => e.focus(), 100)}
203
197
  onBlur={(e) => e.target.focus()}
204
198
  onChange={(e) => setValue(e.target.value)}
@@ -228,7 +222,7 @@ export const Alert = ({
228
222
  size="sm"
229
223
  variant="solid"
230
224
  color={color}
231
- onClick={() => handleClose(true)}
225
+ onClick={() => handleClose(type === "prompt" ? value : true)}
232
226
  >
233
227
  {okLabel ?? t("action.ok", "OK")}
234
228
  </Button>