@react-fabric/core 1.0.0-beta.61 → 1.0.0-beta.63

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 (317) hide show
  1. package/css/components/_animations.css +7 -11
  2. package/css/components/_avatar.css +5 -5
  3. package/css/components/_badge.css +2 -1
  4. package/css/components/_breadcrumbs.css +7 -5
  5. package/css/components/_button.css +49 -9
  6. package/css/components/_card.css +9 -17
  7. package/css/components/_chip.css +0 -4
  8. package/css/components/_dropdown.css +1 -0
  9. package/css/components/_flyout.css +1 -1
  10. package/css/components/_media.css +2 -14
  11. package/css/components/_menu.css +1 -1
  12. package/css/components/_modal.css +3 -3
  13. package/css/components/_progress.css +1 -1
  14. package/css/components/_stepper.css +2 -1
  15. package/css/components/_tabPanel.css +4 -4
  16. package/css/core/_aside.css +3 -3
  17. package/css/core/_errorboundary.css +2 -10
  18. package/css/core/_page.css +1 -1
  19. package/css/core/_responsive.css +8 -0
  20. package/css/core/_theme.css +1 -1
  21. package/css/core/_viewport.css +1 -5
  22. package/css/reset/_reset.css +42 -43
  23. package/css/reset/_theme.css +214 -201
  24. package/css/styles.css +5 -0
  25. package/css/theme/_colors.css +14 -0
  26. package/css/theme/_utilities.css +103 -225
  27. package/css/theme/index.css +4 -6
  28. package/dist/cjs/components/actionLabel/ActionLabel.js +1 -1
  29. package/dist/cjs/components/animations/Animations.js +7 -7
  30. package/dist/cjs/components/avatar/Avatar.js +1 -1
  31. package/dist/cjs/components/avatar/AvatarGroup.js +1 -1
  32. package/dist/cjs/components/badge/Badge.js +5 -27
  33. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +1 -1
  34. package/dist/cjs/components/button/Button.js +8 -6
  35. package/dist/cjs/components/button/ButtonGroup.js +1 -1
  36. package/dist/cjs/components/button/ConfirmButton.js +7 -6
  37. package/dist/cjs/components/button/ToggleButtonGroup.js +1 -1
  38. package/dist/cjs/components/callout/Callout.js +8 -7
  39. package/dist/cjs/components/card/Card.js +3 -3
  40. package/dist/cjs/components/card/CardCover.js +1 -1
  41. package/dist/cjs/components/card/FlipContent.js +2 -2
  42. package/dist/cjs/components/chip/Chip.js +8 -7
  43. package/dist/cjs/components/collapsable/Collapsable.js +4 -3
  44. package/dist/cjs/components/divider/Divider.js +2 -2
  45. package/dist/cjs/components/dropdown/Dropdown.js +28 -14
  46. package/dist/cjs/components/empty/EmptyContent.js +1 -1
  47. package/dist/cjs/components/icon/Icon.js +26 -40
  48. package/dist/cjs/components/media/Media.js +13 -13
  49. package/dist/cjs/components/menu/ContextMenu.js +23 -13
  50. package/dist/cjs/components/menu/Menu.js +19 -14
  51. package/dist/cjs/components/menu/MenuItem.js +5 -4
  52. package/dist/cjs/components/meter/Meter.js +1 -1
  53. package/dist/cjs/components/navigator/Navigator.js +6 -6
  54. package/dist/cjs/components/panel/Panel.js +6 -4
  55. package/dist/cjs/components/panel/PanelGroup.js +3 -3
  56. package/dist/cjs/components/panel/PanelStack.js +5 -5
  57. package/dist/cjs/components/progress/ProgressBar.js +2 -2
  58. package/dist/cjs/components/progress/ProgressCircle.js +2 -2
  59. package/dist/cjs/components/tabpanel/Tab.js +6 -4
  60. package/dist/cjs/components/tabpanel/TabPanel.js +7 -6
  61. package/dist/cjs/context/Global.js +2 -55
  62. package/dist/cjs/context/NotificationCenter.js +38 -39
  63. package/dist/cjs/context/context.js +59 -0
  64. package/dist/cjs/core/aside/Aside.js +9 -7
  65. package/dist/cjs/core/boundary/ErrorBoundary.js +2 -4
  66. package/dist/cjs/core/page/Page.js +4 -1
  67. package/dist/cjs/core/responsive/Responsive.js +3 -2
  68. package/dist/cjs/core/theme/ThemeProvider.js +5 -4
  69. package/dist/cjs/core/viewport/Viewport.js +1 -1
  70. package/dist/cjs/hooks/useContextMenu.js +103 -0
  71. package/dist/cjs/hooks/useIsDark.js +6 -4
  72. package/dist/cjs/hooks/useNavigator.js +11 -10
  73. package/dist/cjs/hooks/useOverlayService.js +27 -38
  74. package/dist/cjs/hooks/usePropToggle.js +2 -2
  75. package/dist/cjs/hooks/useResize.js +8 -6
  76. package/dist/cjs/hooks/useResizeObserver.js +5 -5
  77. package/dist/cjs/hooks/useStepper.js +2 -6
  78. package/dist/cjs/hotkeys/HotKey.js +2 -2
  79. package/dist/cjs/hotkeys/HotKeyWrapper.js +8 -13
  80. package/dist/cjs/hotkeys/commons.js +1 -1
  81. package/dist/cjs/hotkeys/context.js +36 -0
  82. package/dist/cjs/i18n/index.js +4 -4
  83. package/dist/cjs/index.js +10 -5
  84. package/dist/cjs/overlays/alert/Alert.js +6 -5
  85. package/dist/cjs/overlays/flyout/Flyout.js +8 -6
  86. package/dist/cjs/overlays/message/Message.js +5 -5
  87. package/dist/cjs/overlays/modal/Modal.js +5 -3
  88. package/dist/cjs/overlays/toast/Toast.js +4 -4
  89. package/dist/cjs/overlays/tooltip/Tooltip.js +2 -16
  90. package/dist/cjs/typography/Abbr.js +4 -5
  91. package/dist/cjs/typography/Anchor.js +2 -2
  92. package/dist/cjs/typography/Copy.js +2 -2
  93. package/dist/cjs/typography/Mark.js +2 -4
  94. package/dist/cjs/typography/Text.js +4 -4
  95. package/dist/cjs/typography/Title.js +2 -2
  96. package/dist/cjs/utils/cloneElement.js +4 -4
  97. package/dist/cjs/utils/getBadgeProps.js +51 -0
  98. package/dist/cjs/utils/getIconProps.js +42 -0
  99. package/dist/cjs/utils/getTooltipProps.js +45 -0
  100. package/dist/esm/components/actionLabel/ActionLabel.js +1 -1
  101. package/dist/esm/components/animations/Animations.js +7 -7
  102. package/dist/esm/components/avatar/Avatar.js +1 -1
  103. package/dist/esm/components/avatar/AvatarGroup.js +1 -1
  104. package/dist/esm/components/badge/Badge.js +7 -28
  105. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +1 -1
  106. package/dist/esm/components/button/Button.js +9 -7
  107. package/dist/esm/components/button/ButtonGroup.js +3 -3
  108. package/dist/esm/components/button/ConfirmButton.js +8 -7
  109. package/dist/esm/components/button/ToggleButtonGroup.js +3 -3
  110. package/dist/esm/components/callout/Callout.js +8 -7
  111. package/dist/esm/components/card/Card.js +4 -4
  112. package/dist/esm/components/card/CardCover.js +1 -1
  113. package/dist/esm/components/card/FlipContent.js +2 -2
  114. package/dist/esm/components/chip/Chip.js +9 -8
  115. package/dist/esm/components/collapsable/Collapsable.js +4 -3
  116. package/dist/esm/components/divider/Divider.js +2 -2
  117. package/dist/esm/components/dropdown/Dropdown.js +30 -16
  118. package/dist/esm/components/empty/EmptyContent.js +1 -1
  119. package/dist/esm/components/icon/Icon.js +28 -41
  120. package/dist/esm/components/media/Media.js +13 -13
  121. package/dist/esm/components/menu/ContextMenu.js +24 -14
  122. package/dist/esm/components/menu/Menu.js +22 -17
  123. package/dist/esm/components/menu/MenuItem.js +6 -5
  124. package/dist/esm/components/meter/Meter.js +1 -1
  125. package/dist/esm/components/navigator/Navigator.js +7 -7
  126. package/dist/esm/components/panel/Panel.js +6 -4
  127. package/dist/esm/components/panel/PanelGroup.js +4 -4
  128. package/dist/esm/components/panel/PanelStack.js +6 -6
  129. package/dist/esm/components/progress/ProgressBar.js +2 -2
  130. package/dist/esm/components/progress/ProgressCircle.js +2 -2
  131. package/dist/esm/components/tabpanel/Tab.js +6 -4
  132. package/dist/esm/components/tabpanel/TabPanel.js +8 -7
  133. package/dist/esm/context/Global.js +3 -52
  134. package/dist/esm/context/NotificationCenter.js +38 -39
  135. package/dist/esm/context/context.js +56 -0
  136. package/dist/esm/core/aside/Aside.js +10 -8
  137. package/dist/esm/core/boundary/ErrorBoundary.js +1 -3
  138. package/dist/esm/core/page/Page.js +4 -1
  139. package/dist/esm/core/responsive/Responsive.js +3 -2
  140. package/dist/esm/core/theme/ThemeProvider.js +4 -3
  141. package/dist/esm/core/viewport/Viewport.js +1 -1
  142. package/dist/esm/hooks/useContextMenu.js +103 -0
  143. package/dist/esm/hooks/useIsDark.js +7 -5
  144. package/dist/esm/hooks/useNavigator.js +12 -11
  145. package/dist/esm/hooks/useOverlayService.js +28 -39
  146. package/dist/esm/hooks/usePropToggle.js +3 -3
  147. package/dist/esm/hooks/useResize.js +9 -7
  148. package/dist/esm/hooks/useResizeObserver.js +6 -6
  149. package/dist/esm/hooks/useStepper.js +2 -6
  150. package/dist/esm/hotkeys/HotKey.js +1 -1
  151. package/dist/esm/hotkeys/HotKeyWrapper.js +9 -12
  152. package/dist/esm/hotkeys/commons.js +1 -1
  153. package/dist/esm/hotkeys/context.js +35 -0
  154. package/dist/esm/i18n/index.js +2 -2
  155. package/dist/esm/index.js +8 -4
  156. package/dist/esm/overlays/alert/Alert.js +7 -6
  157. package/dist/esm/overlays/flyout/Flyout.js +9 -7
  158. package/dist/esm/overlays/message/Message.js +6 -6
  159. package/dist/esm/overlays/modal/Modal.js +6 -4
  160. package/dist/esm/overlays/toast/Toast.js +5 -5
  161. package/dist/esm/overlays/tooltip/Tooltip.js +4 -17
  162. package/dist/esm/typography/Abbr.js +4 -5
  163. package/dist/esm/typography/Anchor.js +2 -2
  164. package/dist/esm/typography/Copy.js +3 -3
  165. package/dist/esm/typography/Mark.js +2 -4
  166. package/dist/esm/typography/Text.js +5 -5
  167. package/dist/esm/typography/Title.js +2 -2
  168. package/dist/esm/utils/cloneElement.js +4 -4
  169. package/dist/esm/utils/getBadgeProps.js +51 -0
  170. package/dist/esm/utils/getIconProps.js +42 -0
  171. package/dist/esm/utils/getTooltipProps.js +45 -0
  172. package/dist/types/components/actionLabel/ActionLabel.d.ts +1 -1
  173. package/dist/types/components/animations/Animations.d.ts +6 -6
  174. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  175. package/dist/types/components/avatar/AvatarGroup.d.ts +1 -1
  176. package/dist/types/components/badge/Badge.d.ts +2 -10
  177. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
  178. package/dist/types/components/button/Button.d.ts +1 -1
  179. package/dist/types/components/button/ButtonGroup.d.ts +1 -1
  180. package/dist/types/components/button/ConfirmButton.d.ts +1 -1
  181. package/dist/types/components/button/ToggleButtonGroup.d.ts +1 -1
  182. package/dist/types/components/callout/Callout.d.ts +7 -3
  183. package/dist/types/components/card/Card.d.ts +2 -2
  184. package/dist/types/components/card/CardCover.d.ts +1 -1
  185. package/dist/types/components/card/FlipContent.d.ts +1 -1
  186. package/dist/types/components/chip/Chip.d.ts +1 -1
  187. package/dist/types/components/collapsable/Collapsable.d.ts +1 -1
  188. package/dist/types/components/divider/Divider.d.ts +1 -1
  189. package/dist/types/components/dropdown/Dropdown.d.ts +7 -3
  190. package/dist/types/components/dropdown/DropdownTool.d.ts +1 -1
  191. package/dist/types/components/empty/EmptyContent.d.ts +3 -3
  192. package/dist/types/components/icon/Icon.d.ts +3 -4
  193. package/dist/types/components/index.d.ts +3 -3
  194. package/dist/types/components/media/Media.d.ts +2 -2
  195. package/dist/types/components/menu/ContextMenu.d.ts +1 -1
  196. package/dist/types/components/menu/Menu.d.ts +1 -1
  197. package/dist/types/components/menu/types.d.ts +6 -1
  198. package/dist/types/components/meter/Meter.d.ts +1 -1
  199. package/dist/types/components/navigator/Navigator.d.ts +7 -1
  200. package/dist/types/components/panel/Panel.d.ts +2 -2
  201. package/dist/types/components/panel/PanelGroup.d.ts +1 -1
  202. package/dist/types/components/panel/PanelStack.d.ts +1 -1
  203. package/dist/types/components/progress/ProgressBar.d.ts +1 -1
  204. package/dist/types/components/progress/ProgressCircle.d.ts +1 -1
  205. package/dist/types/components/tabpanel/Tab.d.ts +1 -1
  206. package/dist/types/components/tabpanel/TabPanel.d.ts +1 -1
  207. package/dist/types/context/Global.d.ts +0 -82
  208. package/dist/types/context/context.d.ts +85 -0
  209. package/dist/types/core/aside/Aside.d.ts +2 -2
  210. package/dist/types/core/responsive/Responsive.d.ts +5 -1
  211. package/dist/types/core/theme/ThemeProvider.d.ts +2 -2
  212. package/dist/types/hooks/useContextMenu.d.ts +10 -0
  213. package/dist/types/hooks/useOverlayService.d.ts +3 -5
  214. package/dist/types/hotkeys/HotKeyWrapper.d.ts +0 -9
  215. package/dist/types/hotkeys/context.d.ts +9 -0
  216. package/dist/types/index.d.ts +4 -2
  217. package/dist/types/overlays/alert/Alert.d.ts +2 -2
  218. package/dist/types/overlays/flyout/Flyout.d.ts +2 -2
  219. package/dist/types/overlays/message/Message.d.ts +2 -2
  220. package/dist/types/overlays/modal/Modal.d.ts +2 -2
  221. package/dist/types/overlays/toast/Toast.d.ts +2 -2
  222. package/dist/types/overlays/tooltip/Tooltip.d.ts +0 -3
  223. package/dist/types/types/index.d.ts +2 -2
  224. package/dist/types/typography/Abbr.d.ts +4 -8
  225. package/dist/types/typography/Anchor.d.ts +1 -1
  226. package/dist/types/typography/Copy.d.ts +1 -1
  227. package/dist/types/typography/Mark.d.ts +2 -2
  228. package/dist/types/typography/Text.d.ts +1 -1
  229. package/dist/types/typography/Title.d.ts +1 -1
  230. package/dist/types/utils/getBadgeProps.d.ts +9 -0
  231. package/dist/types/utils/getIconProps.d.ts +2 -0
  232. package/dist/types/utils/getTooltipProps.d.ts +4 -0
  233. package/dist/types/utils/index.d.ts +3 -0
  234. package/package.json +14 -15
  235. package/src/components/actionLabel/ActionLabel.tsx +1 -1
  236. package/src/components/animations/Animations.tsx +6 -6
  237. package/src/components/avatar/Avatar.tsx +1 -1
  238. package/src/components/avatar/AvatarGroup.tsx +1 -1
  239. package/src/components/badge/Badge.tsx +8 -46
  240. package/src/components/breadcrumbs/Breadcrumbs.tsx +1 -1
  241. package/src/components/button/Button.tsx +24 -52
  242. package/src/components/button/ButtonGroup.tsx +1 -1
  243. package/src/components/button/ConfirmButton.tsx +23 -20
  244. package/src/components/button/ToggleButtonGroup.tsx +1 -1
  245. package/src/components/callout/Callout.tsx +14 -19
  246. package/src/components/card/Card.tsx +9 -11
  247. package/src/components/card/CardCover.tsx +1 -1
  248. package/src/components/card/FlipContent.tsx +2 -2
  249. package/src/components/chip/Chip.tsx +16 -33
  250. package/src/components/collapsable/Collapsable.tsx +2 -2
  251. package/src/components/divider/Divider.tsx +1 -1
  252. package/src/components/dropdown/Dropdown.tsx +60 -73
  253. package/src/components/dropdown/DropdownTool.tsx +1 -1
  254. package/src/components/empty/EmptyContent.tsx +3 -3
  255. package/src/components/icon/Icon.tsx +27 -54
  256. package/src/components/index.ts +5 -4
  257. package/src/components/media/Media.tsx +3 -3
  258. package/src/components/menu/ContextMenu.tsx +30 -30
  259. package/src/components/menu/Menu.tsx +35 -63
  260. package/src/components/menu/MenuItem.tsx +9 -28
  261. package/src/components/menu/types.ts +6 -1
  262. package/src/components/meter/Meter.tsx +1 -1
  263. package/src/components/navigator/Navigator.tsx +13 -11
  264. package/src/components/panel/Panel.tsx +13 -54
  265. package/src/components/panel/PanelGroup.tsx +3 -4
  266. package/src/components/panel/PanelStack.tsx +20 -25
  267. package/src/components/progress/ProgressBar.tsx +2 -2
  268. package/src/components/progress/ProgressCircle.tsx +2 -2
  269. package/src/components/tabpanel/Tab.tsx +9 -28
  270. package/src/components/tabpanel/TabPanel.tsx +13 -15
  271. package/src/context/Global.tsx +18 -125
  272. package/src/context/NotificationCenter.tsx +0 -1
  273. package/src/context/context.ts +100 -0
  274. package/src/core/aside/Aside.tsx +18 -55
  275. package/src/core/boundary/ErrorBoundary.tsx +8 -37
  276. package/src/core/page/Page.tsx +3 -5
  277. package/src/core/responsive/Responsive.tsx +10 -34
  278. package/src/core/theme/ThemeProvider.tsx +5 -8
  279. package/src/core/viewport/Viewport.tsx +1 -1
  280. package/src/hooks/useContextMenu.tsx +131 -0
  281. package/src/hooks/useIsDark.ts +7 -5
  282. package/src/hooks/useNavigator.tsx +8 -12
  283. package/src/hooks/useOverlayService.tsx +22 -17
  284. package/src/hooks/usePropToggle.ts +3 -3
  285. package/src/hooks/useResize.ts +14 -17
  286. package/src/hooks/useResizeObserver.ts +21 -21
  287. package/src/hooks/useStepper.tsx +1 -1
  288. package/src/hotkeys/HotKey.tsx +1 -1
  289. package/src/hotkeys/HotKeyWrapper.tsx +81 -105
  290. package/src/hotkeys/commons.ts +2 -0
  291. package/src/hotkeys/context.ts +32 -0
  292. package/src/i18n/index.ts +2 -2
  293. package/src/index.ts +4 -7
  294. package/src/overlays/alert/Alert.tsx +12 -16
  295. package/src/overlays/flyout/Flyout.tsx +32 -69
  296. package/src/overlays/message/Message.tsx +11 -15
  297. package/src/overlays/modal/Modal.tsx +23 -57
  298. package/src/overlays/toast/Toast.tsx +16 -15
  299. package/src/overlays/tooltip/Tooltip.tsx +6 -29
  300. package/src/types/global.d.ts +12 -0
  301. package/src/types/index.ts +2 -2
  302. package/src/typography/Abbr.tsx +11 -39
  303. package/src/typography/Anchor.tsx +1 -1
  304. package/src/typography/Copy.tsx +4 -4
  305. package/src/typography/Mark.tsx +2 -3
  306. package/src/typography/Text.tsx +8 -6
  307. package/src/typography/Title.tsx +1 -1
  308. package/src/utils/getBadgeProps.ts +45 -0
  309. package/src/utils/getIconProps.ts +35 -0
  310. package/src/utils/getTooltipProps.ts +38 -0
  311. package/src/utils/index.ts +3 -0
  312. /package/dist/cjs/i18n/{ar.json.js → ar/core.json.js} +0 -0
  313. /package/dist/cjs/i18n/{en.json.js → en/core.json.js} +0 -0
  314. /package/dist/esm/i18n/{ar.json.js → ar/core.json.js} +0 -0
  315. /package/dist/esm/i18n/{en.json.js → en/core.json.js} +0 -0
  316. /package/src/i18n/{ar.json → ar/core.json} +0 -0
  317. /package/src/i18n/{en.json → en/core.json} +0 -0
@@ -6,64 +6,53 @@ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
6
6
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
8
  var react = require('react');
9
+ var utilities = require('@react-fabric/utilities');
9
10
  var jsxRuntime = require('react/jsx-runtime');
10
11
 
11
12
  var _excluded = ["onClose"];
12
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
14
  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; }
14
- /**
15
- * Hook to manage overlay components like modals or flyouts.
16
- * It provides a way to open an overlay with specified properties and handle its closure.
17
- * This hook returns the current overlay component and a function to open it with props.
18
- * It is useful for scenarios where you need to display overlays dynamically,
19
- * such as modals, flyouts, or any other overlay components in a React application.
20
- * The `openOverlay` function returns a promise that resolves with the result
21
- * of the overlay when it is closed, allowing you to handle the result in a controlled manner.
22
- *
23
- * @param ModalOrFlyout - The component to be used as an overlay.
24
- * @returns An array containing the current overlay and a function to open it.
25
- *
26
- * @example
27
- * ```jsx
28
- * const [Overlay, openOverlay] = useOverlayService(MyModalComponent);
29
- * // To open the overlay:
30
- * const handleOpen = async () => {
31
- * const result = await openOverlay({ title: "My Modal", content: "Hello World" });
32
- * console.log(result); // Handle the result from the overlay
33
- * };
34
- * <button onClick={handleOpen}>Open Modal</button>
35
- * <Overlay />
36
- * ```
37
- */
38
15
  var useOverlayService = function useOverlayService(ModalOrFlyout) {
39
- var _useState = react.useState(null),
16
+ var _useState = react.useState(utilities.EMPTY_FC),
40
17
  _useState2 = _slicedToArray(_useState, 2),
41
18
  Overlay = _useState2[0],
42
19
  setOverlay = _useState2[1];
20
+ var existingOpenPromise = react.useRef(null);
43
21
  var openOverlay = /*#__PURE__*/function () {
44
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
22
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
45
23
  var _ref2,
46
24
  onClose,
47
- props,
25
+ outerProps,
48
26
  _args = arguments;
49
- return _regeneratorRuntime.wrap(function _callee$(_context) {
27
+ return _regeneratorRuntime.wrap(function (_context) {
50
28
  while (1) switch (_context.prev = _context.next) {
51
29
  case 0:
52
- _ref2 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, onClose = _ref2.onClose, props = _objectWithoutProperties(_ref2, _excluded);
53
- _context.next = 3;
30
+ _ref2 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, onClose = _ref2.onClose, outerProps = _objectWithoutProperties(_ref2, _excluded);
31
+ if (!existingOpenPromise.current) {
32
+ _context.next = 1;
33
+ break;
34
+ }
35
+ return _context.abrupt("return");
36
+ case 1:
37
+ _context.next = 2;
54
38
  return new Promise(function (resolve) {
55
- var handleClose = function handleClose(args) {
56
- setOverlay(null);
39
+ existingOpenPromise.current = function (args) {
40
+ setOverlay(utilities.EMPTY_FC);
57
41
  resolve(args);
58
42
  onClose === null || onClose === void 0 || onClose(args);
43
+ existingOpenPromise.current = null;
59
44
  };
60
- setOverlay( /*#__PURE__*/jsxRuntime.jsx(ModalOrFlyout, _objectSpread(_objectSpread({}, props), {}, {
61
- onClose: handleClose
62
- })));
45
+ setOverlay(function () {
46
+ return function (overrideProps) {
47
+ return /*#__PURE__*/jsxRuntime.jsx(ModalOrFlyout, _objectSpread(_objectSpread(_objectSpread({}, outerProps), overrideProps), {}, {
48
+ onClose: existingOpenPromise.current
49
+ }));
50
+ };
51
+ });
63
52
  });
64
- case 3:
53
+ case 2:
65
54
  return _context.abrupt("return", _context.sent);
66
- case 4:
55
+ case 3:
67
56
  case "end":
68
57
  return _context.stop();
69
58
  }
@@ -73,7 +62,7 @@ var useOverlayService = function useOverlayService(ModalOrFlyout) {
73
62
  return _ref.apply(this, arguments);
74
63
  };
75
64
  }();
76
- return [Overlay, openOverlay];
65
+ return [Overlay, openOverlay, existingOpenPromise.current];
77
66
  };
78
67
 
79
68
  exports.useOverlayService = useOverlayService;
@@ -39,12 +39,12 @@ var usePropToggle = function usePropToggle() {
39
39
  }, [isOn], "usePropToggle");
40
40
 
41
41
  /** ***************** toggle handler *******************/
42
- var doToggle = react.useCallback(function () {
42
+ var doToggle = react.useEffectEvent(function () {
43
43
  if ((onToggle === null || onToggle === void 0 ? void 0 : onToggle(!toggleOn, key)) !== false) {
44
44
  toggleRef.current = !toggleOn;
45
45
  setToggleOn(!toggleOn);
46
46
  }
47
- }, [toggleOn, onToggle, key]);
47
+ });
48
48
  return [toggleOn, doToggle, toggleRef];
49
49
  };
50
50
 
@@ -59,14 +59,16 @@ var useResize = function useResize(onResize, _ref) {
59
59
  /** ***************** check if reverse enabled of RTL *******************/
60
60
  var reversed = ((isRtl ? 1 : 0) ^ (isReverse ? 1 : 0)) === 1;
61
61
  var box = (_refEl$current = refEl.current) === null || _refEl$current === void 0 ? void 0 : _refEl$current.getBoundingClientRect();
62
- var x = (evt.clientX - (reversed ? box.left : box.right)) * (reversed ? -1 : 1);
63
- var y = evt.clientY - box.bottom;
62
+ var diffX = (box.left + box.right) / 2 * (reversed ? -1 : 1);
63
+ var diffY = (box.top + box.bottom) / 2;
64
+ var x = evt.clientX - diffX;
65
+ var y = evt.clientY - diffY;
64
66
  onResize({
65
67
  x: x,
66
68
  y: y
67
69
  });
68
70
  }
69
- }, [onResize, isRtl, isReverse]);
71
+ }, [isRtl, isReverse, onResize]);
70
72
 
71
73
  /** ***************** dettach handlers on mouseup *******************/
72
74
  var onResizeEnd = react.useCallback(function () {
@@ -74,16 +76,16 @@ var useResize = function useResize(onResize, _ref) {
74
76
  document.removeEventListener("mousemove", onResizing);
75
77
  document.removeEventListener("mouseup", onResizeEnd);
76
78
  onEnd === null || onEnd === void 0 || onEnd();
77
- }, [onEnd, onResizing]);
79
+ }, [onResizing, onEnd]);
78
80
 
79
81
  /** ***************** attach handlers on mousedown *******************/
80
- var onResizeStart = react.useCallback(function (e) {
82
+ var onResizeStart = react.useEffectEvent(function (e) {
81
83
  e.preventDefault();
82
84
  document.body.style.cursor = isVertical ? "row-resize" : "col-resize";
83
85
  document.addEventListener("mousemove", onResizing);
84
86
  document.addEventListener("mouseup", onResizeEnd);
85
87
  onStart === null || onStart === void 0 || onStart();
86
- }, [onResizing, onResizeEnd, onStart]);
88
+ });
87
89
  return {
88
90
  ref: refEl,
89
91
  onMouseDown: onResizeStart
@@ -3,7 +3,7 @@
3
3
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
4
  var react = require('react');
5
5
  var ResizeObserver = require('resize-observer-polyfill');
6
- var useDebounce = require('./useDebounce.js');
6
+ var useEffectDebugger = require('./useEffectDebugger.js');
7
7
 
8
8
  /**
9
9
  * Custom hook to observe size changes of an element using ResizeObserver.
@@ -29,7 +29,7 @@ var useResizeObserver = function useResizeObserver(onResize) {
29
29
  var _useTransition = react.useTransition(),
30
30
  _useTransition2 = _slicedToArray(_useTransition, 2),
31
31
  startTransition = _useTransition2[1];
32
- var callbackResize = useDebounce.useDebounce(function () {
32
+ var callbackResize = react.useEffectEvent(function () {
33
33
  startTransition(function () {
34
34
  if (onResize && ref.current != null) {
35
35
  var _ref$current = ref.current,
@@ -41,8 +41,8 @@ var useResizeObserver = function useResizeObserver(onResize) {
41
41
  });
42
42
  }
43
43
  });
44
- }, [onResize], 0);
45
- react.useEffect(function () {
44
+ });
45
+ useEffectDebugger.useEffectDebugger(function () {
46
46
  if (ref.current != null) {
47
47
  var ob = new ResizeObserver(callbackResize);
48
48
  ob.observe(ref.current);
@@ -50,7 +50,7 @@ var useResizeObserver = function useResizeObserver(onResize) {
50
50
  ob.disconnect();
51
51
  };
52
52
  }
53
- }, [callbackResize, ref]);
53
+ }, [], "useResizeObserver");
54
54
  return ref;
55
55
  };
56
56
 
@@ -11,7 +11,6 @@ require('./useEffectDebugger.js');
11
11
  require('boring-avatars');
12
12
  var Icon = require('../components/icon/Icon.js');
13
13
  require('@floating-ui/react');
14
- require('../hotkeys/HotKeyWrapper.js');
15
14
  require('react-i18next');
16
15
  require('@babel/runtime/helpers/toConsumableArray');
17
16
  require('@babel/runtime/helpers/classCallCheck');
@@ -19,12 +18,9 @@ require('@babel/runtime/helpers/createClass');
19
18
  require('@babel/runtime/helpers/possibleConstructorReturn');
20
19
  require('@babel/runtime/helpers/getPrototypeOf');
21
20
  require('@babel/runtime/helpers/inherits');
22
- require('i18next');
23
- require('@babel/runtime/helpers/asyncToGenerator');
24
- require('@babel/runtime/regenerator');
25
- require('react-dom');
26
21
  require('../components/media/Media.js');
27
22
  require('@babel/runtime/helpers/toArray');
23
+ require('../hotkeys/HotKeyWrapper.js');
28
24
 
29
25
  var useStepper = function useStepper(_ref) {
30
26
  var steps = _ref.steps,
@@ -39,7 +35,7 @@ var useStepper = function useStepper(_ref) {
39
35
  }, [steps]);
40
36
  var stepper = react.useMemo(function () {
41
37
  return /*#__PURE__*/jsxRuntime.jsx("div", {
42
- className: "fabric-stepper bg-base flex-1 flex justify-center py-1 px-2 overflow-x-auto",
38
+ className: "fabric-stepper bg-default flex-1 flex justify-center py-1 px-2 overflow-x-auto",
43
39
  children: steps.map(function (child, index) {
44
40
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
45
41
  className: "fabric-stepper--pill",
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var useEffectDebugger = require('../hooks/useEffectDebugger.js');
4
- var HotKeyWrapper = require('./HotKeyWrapper.js');
4
+ var context = require('./context.js');
5
5
 
6
6
  /*
7
7
  * React Fabric
@@ -30,7 +30,7 @@ var HotKey = function HotKey(_ref) {
30
30
  var keyCombo = _ref.keyCombo,
31
31
  global = _ref.global,
32
32
  handler = _ref.handler;
33
- var _useHotKeys = HotKeyWrapper.useHotKeys(),
33
+ var _useHotKeys = context.useHotKeys(),
34
34
  addHotKey = _useHotKeys.addHotKey,
35
35
  removeHotKey = _useHotKeys.removeHotKey;
36
36
  useEffectDebugger.useEffectDebugger(function () {
@@ -4,17 +4,14 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
4
  var react = require('react');
5
5
  var useEffectDebugger = require('../hooks/useEffectDebugger.js');
6
6
  var commons = require('./commons.js');
7
+ var context = require('./context.js');
7
8
  var jsxRuntime = require('react/jsx-runtime');
8
9
 
9
- var HotKeysContext = /*#__PURE__*/react.createContext({});
10
- var useHotKeys = function useHotKeys() {
11
- return react.useContext(HotKeysContext);
12
- };
13
10
  var HotKeyWrapper = /*#__PURE__*/react.memo(function (_ref) {
14
11
  var children = _ref.children;
15
12
  var refEl = react.useRef(null);
16
13
  var keyList = react.useRef([]);
17
- var addHotKey = react.useCallback(function (keyCombo, handler) {
14
+ var addHotKey = react.useEffectEvent(function (keyCombo, handler) {
18
15
  var global = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
19
16
  return keyList.current = [].concat(_toConsumableArray(keyList.current.filter(function (_ref2) {
20
17
  var _key = _ref2._key;
@@ -24,14 +21,14 @@ var HotKeyWrapper = /*#__PURE__*/react.memo(function (_ref) {
24
21
  handler: handler,
25
22
  global: global
26
23
  })]);
27
- }, []);
28
- var removeHotKey = react.useCallback(function (key) {
24
+ });
25
+ var removeHotKey = react.useEffectEvent(function (key) {
29
26
  return keyList.current = _toConsumableArray(keyList.current.filter(function (_ref3) {
30
27
  var _key = _ref3._key;
31
28
  return _key !== key;
32
29
  }));
33
- }, []);
34
- var handler = react.useCallback(function (items, event) {
30
+ });
31
+ var handler = react.useEffectEvent(function (items, event) {
35
32
  if (items.length === 0) return;
36
33
  var keyCode = event.key,
37
34
  code = event.code,
@@ -55,7 +52,7 @@ var HotKeyWrapper = /*#__PURE__*/react.memo(function (_ref) {
55
52
  event.preventDefault();
56
53
  event.stopImmediatePropagation();
57
54
  }
58
- }, []);
55
+ });
59
56
  var handleGlobal = react.useCallback(function (event) {
60
57
  handler(keyList.current.filter(function (i) {
61
58
  return i.global;
@@ -79,7 +76,7 @@ var HotKeyWrapper = /*#__PURE__*/react.memo(function (_ref) {
79
76
  };
80
77
  }
81
78
  }, [handleGlobal, handleHotKey], "HotKeyWrapper attach handlers");
82
- return /*#__PURE__*/jsxRuntime.jsx(HotKeysContext.Provider, {
79
+ return /*#__PURE__*/jsxRuntime.jsx(context.HotKeysContext.Provider, {
83
80
  value: {
84
81
  addHotKey: addHotKey,
85
82
  removeHotKey: removeHotKey
@@ -96,5 +93,3 @@ var HotKeyWrapper = /*#__PURE__*/react.memo(function (_ref) {
96
93
  HotKeyWrapper.displayName = "HotKeyProvider";
97
94
 
98
95
  exports.HotKeyWrapper = HotKeyWrapper;
99
- exports.HotKeysContext = HotKeysContext;
100
- exports.useHotKeys = useHotKeys;
@@ -47,7 +47,7 @@ var reduceHotKey = function reduceHotKey(_ref) {
47
47
  } else if (e.trim().toLowerCase() === "shift") {
48
48
  item.shift = true;
49
49
  } else {
50
- if (e.trim().toLowerCase() === "left") item.key = "arrowleft";else if (e.trim().toLowerCase() === "right") item.key = "arrowright";else if (e.trim().toLowerCase() === "up") item.key = "arrowup";else if (e.trim().toLowerCase() === "down") item.key = "arrowdown";else if (e.trim().toLowerCase().startsWith("del")) item.key = "delete";else if (e.trim().toLowerCase().startsWith("esc")) item.key = "escape";else item.key = e.trim().toLowerCase();
50
+ if (e.trim().toLowerCase() === "left") item.key = "arrowleft";else if (e.trim().toLowerCase() === "right") item.key = "arrowright";else if (e.trim().toLowerCase() === "up") item.key = "arrowup";else if (e.trim().toLowerCase() === "down") item.key = "arrowdown";else if (e.trim().toLowerCase().startsWith("del")) item.key = "delete";else if (e.trim().toLowerCase().startsWith("esc")) item.key = "escape";else if (e.trim().toLowerCase().startsWith("plus")) item.key = "+";else if (e.trim().toLowerCase().startsWith("minus")) item.key = "-";else item.key = e.trim().toLowerCase();
51
51
  }
52
52
  });
53
53
  return item;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ /*
6
+ * React Fabric
7
+ * @version: 1.0.0
8
+ *
9
+ *
10
+ * The MIT License (MIT)
11
+ * Copyright (c) 2026 Adarsh Pastakia
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
14
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
15
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
+ * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
17
+ * subject to the following conditions:
18
+ *
19
+ * The above copyright notice and this permission notice shall be included in all copies or substantial
20
+ * portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
23
+ * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
+ */
27
+
28
+
29
+ /** @internal */
30
+ var HotKeysContext = /*#__PURE__*/react.createContext({});
31
+ var useHotKeys = function useHotKeys() {
32
+ return react.useContext(HotKeysContext);
33
+ };
34
+
35
+ exports.HotKeysContext = HotKeysContext;
36
+ exports.useHotKeys = useHotKeys;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var i18next = require('i18next');
4
- var ar = require('./ar.json.js');
5
- var en = require('./en.json.js');
4
+ var core$1 = require('./ar/core.json.js');
5
+ var core = require('./en/core.json.js');
6
6
 
7
7
  /*
8
8
  * React Fabric
@@ -48,8 +48,8 @@ var addTranslationBundle = function addTranslationBundle(key, languageBundles) {
48
48
  }
49
49
  };
50
50
  addTranslationBundle("core", {
51
- en: en.default,
52
- ar: ar.default
51
+ en: core.default,
52
+ ar: core$1.default
53
53
  });
54
54
 
55
55
  exports.addTranslationBundle = addTranslationBundle;
package/dist/cjs/index.js CHANGED
@@ -52,7 +52,9 @@ require('react');
52
52
  require('react-i18next');
53
53
  var Title = require('./typography/Title.js');
54
54
  var cloneElement = require('./utils/cloneElement.js');
55
+ var getBadgeProps = require('./utils/getBadgeProps.js');
55
56
  require('@react-fabric/utilities');
57
+ var getIconProps = require('./utils/getIconProps.js');
56
58
  require('react/jsx-runtime');
57
59
  var Flyout = require('./overlays/flyout/Flyout.js');
58
60
  var Modal = require('./overlays/modal/Modal.js');
@@ -63,6 +65,7 @@ var Copy = require('./typography/Copy.js');
63
65
  var Mark = require('./typography/Mark.js');
64
66
  var Text = require('./typography/Text.js');
65
67
  var useClientService = require('./hooks/useClientService.js');
68
+ var useContextMenu = require('./hooks/useContextMenu.js');
66
69
  var useDebounce = require('./hooks/useDebounce.js');
67
70
  var useEffectDebugger = require('./hooks/useEffectDebugger.js');
68
71
  var useIsDark = require('./hooks/useIsDark.js');
@@ -76,12 +79,14 @@ var useStorage = require('./hooks/useStorage.js');
76
79
  var HotKey = require('./hotkeys/HotKey.js');
77
80
  var HotKeyLabel = require('./hotkeys/HotKeyLabel.js');
78
81
  var HotKeyWrapper = require('./hotkeys/HotKeyWrapper.js');
82
+ var context = require('./context/context.js');
79
83
  var Global = require('./context/Global.js');
80
84
 
81
85
 
82
86
 
83
87
  exports.ActionLabel = ActionLabel.ActionLabel;
84
88
  exports.AnimationIndicator = Animations.AnimationIndicator;
89
+ exports.AnimationLoader = Animations.AnimationLoader;
85
90
  exports.LoadingBars = Animations.LoadingBars;
86
91
  exports.LoadingLine = Animations.LoadingLine;
87
92
  exports.LoadingSpinner = Animations.LoadingSpinner;
@@ -89,7 +94,6 @@ exports.Skeleton = Animations.Skeleton;
89
94
  exports.Avatar = Avatar.Avatar;
90
95
  exports.AvatarGroup = AvatarGroup.AvatarGroup;
91
96
  exports.Badge = Badge.Badge;
92
- exports.getBadgeProps = Badge.getBadgeProps;
93
97
  exports.Breadcrumbs = Breadcrumbs.Breadcrumbs;
94
98
  exports.Button = Button.Button;
95
99
  exports.ButtonGroup = ButtonGroup.ButtonGroup;
@@ -107,7 +111,6 @@ exports.DropdownDismiss = Dropdown.DropdownDismiss;
107
111
  exports.DropdownTool = DropdownTool.DropdownTool;
108
112
  exports.EmptyContent = EmptyContent.EmptyContent;
109
113
  exports.Icon = Icon.Icon;
110
- exports.getIconProps = Icon.getIconProps;
111
114
  exports.Image = Media.Image;
112
115
  exports.Video = Media.Video;
113
116
  exports.ContextMenu = ContextMenu.ContextMenu;
@@ -137,6 +140,8 @@ exports.Viewport = Viewport.Viewport;
137
140
  exports.addTranslationBundle = index.addTranslationBundle;
138
141
  exports.Title = Title.Title;
139
142
  exports.cloneChildren = cloneElement.cloneChildren;
143
+ exports.getBadgeProps = getBadgeProps.getBadgeProps;
144
+ exports.getIconProps = getIconProps.getIconProps;
140
145
  exports.Flyout = Flyout.Flyout;
141
146
  exports.Modal = Modal.Modal;
142
147
  exports.Tooltip = Tooltip.Tooltip;
@@ -146,6 +151,7 @@ exports.Copy = Copy.Copy;
146
151
  exports.Mark = Mark.Mark;
147
152
  exports.Text = Text.Text;
148
153
  exports.useClientService = useClientService.useClientService;
154
+ exports.useContextMenu = useContextMenu.useContextMenu;
149
155
  exports.useDebounce = useDebounce.useDebounce;
150
156
  exports.useEffectDebugger = useEffectDebugger.useEffectDebugger;
151
157
  exports.useLayoutEffectDebugger = useEffectDebugger.useLayoutEffectDebugger;
@@ -162,7 +168,6 @@ exports.useSessionStorage = useStorage.useSessionStorage;
162
168
  exports.HotKey = HotKey.HotKey;
163
169
  exports.HotKeyLabel = HotKeyLabel.HotKeyLabel;
164
170
  exports.HotKeyWrapper = HotKeyWrapper.HotKeyWrapper;
171
+ exports.useApplicationContext = context.useApplicationContext;
172
+ exports.useNotificationService = context.useNotificationService;
165
173
  exports.ApplicationProvider = Global.ApplicationProvider;
166
- exports.useApplicationContext = Global.useApplicationContext;
167
- exports.useGlobals = Global.useGlobals;
168
- exports.useNotificationService = Global.useNotificationService;
@@ -11,8 +11,8 @@ var Button = require('../../components/button/Button.js');
11
11
  var Icon = require('../../components/icon/Icon.js');
12
12
  var Title = require('../../typography/Title.js');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
- var getColor = require('../../utils/getColor.js');
15
14
  require('@react-fabric/utilities');
15
+ var getColor = require('../../utils/getColor.js');
16
16
 
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; }
@@ -85,12 +85,12 @@ var Alert = function Alert(_ref) {
85
85
  });
86
86
  }
87
87
  }, [color, type, icon, iconSrc, rtlFlip]);
88
- var handleClose = react.useCallback(function (ret) {
88
+ var handleClose = react.useEffectEvent(function (ret) {
89
89
  refs.floating.current && (refs.floating.current.dataset.show = "false");
90
90
  setTimeout(function () {
91
91
  onClose(ret);
92
92
  }, 250);
93
- }, [onClose]);
93
+ });
94
94
  react.useLayoutEffect(function () {
95
95
  setTimeout(function () {
96
96
  return refs.floating.current && (refs.floating.current.dataset.show = "true");
@@ -105,9 +105,10 @@ var Alert = function Alert(_ref) {
105
105
  className: "bg-tint-100/50 backdrop-blur-sm grid place-items-center",
106
106
  children: /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingFocusManager, {
107
107
  context: context,
108
+ modal: true,
108
109
  children: /*#__PURE__*/jsxRuntime.jsxs("dialog", _objectSpread(_objectSpread({
109
110
  role: "alertdialog",
110
- 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"),
111
+ className: classNames("fabric-alert", "grid bg-default 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
112
  style: {
112
113
  borderColor: getColor.getColor("".concat(color, "-300"))
113
114
  },
@@ -170,7 +171,7 @@ var Alert = function Alert(_ref) {
170
171
  children: okLabel !== null && okLabel !== void 0 ? okLabel : t("action.ok", "OK")
171
172
  })]
172
173
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
173
- className: "absolute top-2 end-2",
174
+ className: "absolute top-2 inset-e-2",
174
175
  children: /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
175
176
  size: "sm",
176
177
  variant: "link",
@@ -11,6 +11,7 @@ var Icon = require('../../components/icon/Icon.js');
11
11
  var HeadFoot = require('../../core/headfoot/HeadFoot.js');
12
12
  var HotKeyWrapper = require('../../hotkeys/HotKeyWrapper.js');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
+ var getIconProps = require('../../utils/getIconProps.js');
14
15
 
15
16
  var _excluded = ["icon", "iconClassName", "title", "actions", "closeOnClick", "headerClassName", "onClose", "onBeforeClose", "children", "loading", "size", "width", "minWidth", "root", "hideMask", "align"];
16
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; }
@@ -52,7 +53,7 @@ var Flyout = function Flyout(_ref) {
52
53
  // Merge all the interactions into prop getters
53
54
  var _useInteractions = react.useInteractions([dismiss, role]),
54
55
  getFloatingProps = _useInteractions.getFloatingProps;
55
- var handleClose = react$1.useCallback(function () {
56
+ var handleClose = react$1.useEffectEvent(function () {
56
57
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
58
  args[_key] = arguments[_key];
58
59
  }
@@ -68,19 +69,19 @@ var Flyout = function Flyout(_ref) {
68
69
  return (_refs$floating$curren = refs.floating.current) === null || _refs$floating$curren === void 0 || (_refs$floating$curren = _refs$floating$curren.querySelector('[role="dialog"]')) === null || _refs$floating$curren === void 0 ? void 0 : _refs$floating$curren.focus();
69
70
  }, 50);
70
71
  });
71
- }, [onBeforeClose, onClose]);
72
+ });
72
73
  react$1.useEffect(function () {
73
74
  setTimeout(function () {
74
75
  refs.floating.current && (refs.floating.current.dataset.show = "true");
75
76
  }, 50);
76
77
  }, []);
77
- var tryClosing = react$1.useCallback(function (e) {
78
+ var tryClosing = react$1.useEffectEvent(function (e) {
78
79
  if (!!closeOnClick || e.target.closest("[data-flyout-dismiss='true']")) {
79
80
  setTimeout(function () {
80
81
  handleClose();
81
82
  }, 100);
82
83
  }
83
- }, [closeOnClick, handleClose]);
84
+ });
84
85
  return /*#__PURE__*/jsxRuntime.jsxs(react.FloatingPortal, {
85
86
  root: root,
86
87
  children: [!hideMask && /*#__PURE__*/jsxRuntime.jsx(react.FloatingOverlay, {
@@ -92,9 +93,10 @@ var Flyout = function Flyout(_ref) {
92
93
  className: "bg-tint-100/10 backdrop-blur-sm transition-all"
93
94
  }), /*#__PURE__*/jsxRuntime.jsx(react.FloatingFocusManager, {
94
95
  context: context,
96
+ modal: true,
95
97
  children: /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread(_objectSpread(_objectSpread({
96
98
  "data-align": align,
97
- 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
+ className: classNames("fabric-flyout", "fixed inset-y-0 overflow-hidden flex flex-col flex-nowrap pointer-events-auto shadow-xl", align === "start" ? "inset-s-0" : "inset-e-0", size === "sm" && "w-80", size === "md" && "w-160", size === "lg" && "w-[60vw]", size === "xl" && "w-[80vw]"),
98
100
  style: {
99
101
  width: width,
100
102
  minWidth: minWidth
@@ -109,7 +111,7 @@ var Flyout = function Flyout(_ref) {
109
111
  className: classNames("fabric-flyoutHeader", headerClassName),
110
112
  children: [utilities.isString(icon) && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, _objectSpread({
111
113
  className: classNames(iconClassName, "p-1")
112
- }, Icon.getIconProps(icon))), /*#__PURE__*/react$1.isValidElement(icon) && icon, /*#__PURE__*/jsxRuntime.jsx("label", {
114
+ }, getIconProps.getIconProps(icon))), /*#__PURE__*/react$1.isValidElement(icon) && icon, /*#__PURE__*/jsxRuntime.jsx("label", {
113
115
  className: "flex-1 truncate py-2 px-1",
114
116
  children: title
115
117
  }), actions, /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
@@ -4,8 +4,8 @@ var classNames = require('classnames');
4
4
  var react = require('react');
5
5
  var Icon = require('../../components/icon/Icon.js');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
- var getColor = require('../../utils/getColor.js');
8
7
  require('@react-fabric/utilities');
8
+ var getColor = require('../../utils/getColor.js');
9
9
 
10
10
  /*
11
11
  * React Fabric
@@ -40,19 +40,19 @@ var Message = function Message(_ref) {
40
40
  actions = _ref.actions,
41
41
  onClose = _ref.onClose;
42
42
  var elRef = react.useRef(null);
43
- var handleClose = react.useCallback(function (ret) {
43
+ var handleClose = react.useEffectEvent(function (ret) {
44
44
  elRef.current && (elRef.current.dataset.show = "false");
45
45
  setTimeout(function () {
46
46
  onClose(ret);
47
47
  }, 250);
48
- }, [onClose]);
48
+ });
49
49
  react.useLayoutEffect(function () {
50
50
  setTimeout(function () {
51
51
  return elRef.current && (elRef.current.dataset.show = "true");
52
52
  }, 100);
53
53
  }, []);
54
54
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
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"),
55
+ className: classNames("fabric-message", "flex flex-nowrap gap-1 px-8 relative justify-center items-center max-w-md pointer-events-auto rounded mb-2 select-none"),
56
56
  style: {
57
57
  backgroundColor: color ? getColor.getColor(color + "-300") : "var(--bg-color-invert)",
58
58
  color: color ? getColor.getColor(color + "-900") : "var(--text-color-invert)"
@@ -77,7 +77,7 @@ var Message = function Message(_ref) {
77
77
  children: actions
78
78
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
79
79
  role: "none",
80
- className: "cursor-pointer opacity-65 absolute end-1 hover:opacity-90",
80
+ className: "cursor-pointer opacity-65 absolute inset-e-1 hover:opacity-90",
81
81
  onClick: function onClick() {
82
82
  return handleClose();
83
83
  },
@@ -11,6 +11,7 @@ var Icon = require('../../components/icon/Icon.js');
11
11
  var HeadFoot = require('../../core/headfoot/HeadFoot.js');
12
12
  var HotKeyWrapper = require('../../hotkeys/HotKeyWrapper.js');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
+ var getIconProps = require('../../utils/getIconProps.js');
14
15
 
15
16
  var _excluded = ["icon", "iconClassName", "title", "actions", "headerClassName", "onClose", "onBeforeClose", "children", "loading", "root", "size", "hideMask", "width", "height", "minHeight", "minWidth"];
16
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; }
@@ -50,7 +51,7 @@ var Modal = function Modal(_ref) {
50
51
  // Merge all the interactions into prop getters
51
52
  var _useInteractions = react.useInteractions([dismiss, role]),
52
53
  getFloatingProps = _useInteractions.getFloatingProps;
53
- var handleClose = react$1.useCallback(function () {
54
+ var handleClose = react$1.useEffectEvent(function () {
54
55
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55
56
  args[_key] = arguments[_key];
56
57
  }
@@ -66,7 +67,7 @@ var Modal = function Modal(_ref) {
66
67
  return (_refs$floating$curren = refs.floating.current) === null || _refs$floating$curren === void 0 || (_refs$floating$curren = _refs$floating$curren.querySelector("[role='dialog']")) === null || _refs$floating$curren === void 0 ? void 0 : _refs$floating$curren.focus();
67
68
  }, 50);
68
69
  });
69
- }, [onBeforeClose, onClose]);
70
+ });
70
71
  react$1.useEffect(function () {
71
72
  setTimeout(function () {
72
73
  refs.floating.current && (refs.floating.current.dataset.show = "true");
@@ -84,6 +85,7 @@ var Modal = function Modal(_ref) {
84
85
  className: classNames("grid place-items-center p-16", !hideMask && "bg-tint-100/20 backdrop-blur-sm"),
85
86
  children: /*#__PURE__*/jsxRuntime.jsx(react.FloatingFocusManager, {
86
87
  context: context,
88
+ modal: true,
87
89
  children: /*#__PURE__*/jsxRuntime.jsx("dialog", _objectSpread(_objectSpread(_objectSpread({
88
90
  className: classNames("fabric-modal", "rounded-capped relative overflow-hidden flex flex-col flex-nowrap", "ring-2 ring-offset-2 ring-tint-100 focus-within:ring-primary-300 shadow-xl", size === "sm" && "w-[20rem]", size === "md" && "w-160", size === "lg" && "w-[60vw]", size === "xl" && "w-[80vw]", size === "screen" && "w-screen h-screen"),
89
91
  style: {
@@ -101,7 +103,7 @@ var Modal = function Modal(_ref) {
101
103
  className: classNames("fabric-modalHeader", headerClassName),
102
104
  children: [utilities.isString(icon) && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, _objectSpread({
103
105
  className: classNames(iconClassName, "p-1")
104
- }, Icon.getIconProps(icon))), /*#__PURE__*/react$1.isValidElement(icon) && icon, /*#__PURE__*/jsxRuntime.jsx("label", {
106
+ }, getIconProps.getIconProps(icon))), /*#__PURE__*/react$1.isValidElement(icon) && icon, /*#__PURE__*/jsxRuntime.jsx("label", {
105
107
  className: "flex-1 truncate py-2 px-1",
106
108
  children: title
107
109
  }), actions, /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {