@react-fabric/core 1.0.0-beta.62 → 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 (305) 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 +5 -5
  5. package/css/components/_button.css +48 -14
  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 +1 -1
  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/_viewport.css +1 -5
  21. package/css/reset/_reset.css +36 -41
  22. package/css/reset/_theme.css +214 -201
  23. package/css/styles.css +5 -0
  24. package/css/theme/_colors.css +14 -0
  25. package/css/theme/_utilities.css +103 -225
  26. package/css/theme/index.css +4 -6
  27. package/dist/cjs/components/actionLabel/ActionLabel.js +1 -1
  28. package/dist/cjs/components/animations/Animations.js +7 -7
  29. package/dist/cjs/components/avatar/Avatar.js +1 -1
  30. package/dist/cjs/components/avatar/AvatarGroup.js +1 -1
  31. package/dist/cjs/components/badge/Badge.js +5 -27
  32. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +1 -1
  33. package/dist/cjs/components/button/Button.js +7 -5
  34. package/dist/cjs/components/button/ButtonGroup.js +1 -1
  35. package/dist/cjs/components/button/ConfirmButton.js +7 -6
  36. package/dist/cjs/components/button/ToggleButtonGroup.js +1 -1
  37. package/dist/cjs/components/callout/Callout.js +8 -7
  38. package/dist/cjs/components/card/Card.js +3 -3
  39. package/dist/cjs/components/card/CardCover.js +1 -1
  40. package/dist/cjs/components/card/FlipContent.js +2 -2
  41. package/dist/cjs/components/chip/Chip.js +8 -7
  42. package/dist/cjs/components/collapsable/Collapsable.js +4 -3
  43. package/dist/cjs/components/divider/Divider.js +2 -2
  44. package/dist/cjs/components/dropdown/Dropdown.js +18 -16
  45. package/dist/cjs/components/empty/EmptyContent.js +1 -1
  46. package/dist/cjs/components/icon/Icon.js +2 -16
  47. package/dist/cjs/components/media/Media.js +13 -13
  48. package/dist/cjs/components/menu/ContextMenu.js +23 -13
  49. package/dist/cjs/components/menu/Menu.js +16 -12
  50. package/dist/cjs/components/menu/MenuItem.js +4 -3
  51. package/dist/cjs/components/meter/Meter.js +1 -1
  52. package/dist/cjs/components/navigator/Navigator.js +5 -5
  53. package/dist/cjs/components/panel/Panel.js +6 -4
  54. package/dist/cjs/components/panel/PanelGroup.js +3 -3
  55. package/dist/cjs/components/panel/PanelStack.js +5 -5
  56. package/dist/cjs/components/progress/ProgressBar.js +2 -2
  57. package/dist/cjs/components/progress/ProgressCircle.js +2 -2
  58. package/dist/cjs/components/tabpanel/Tab.js +6 -4
  59. package/dist/cjs/components/tabpanel/TabPanel.js +4 -4
  60. package/dist/cjs/context/Global.js +2 -55
  61. package/dist/cjs/context/NotificationCenter.js +38 -39
  62. package/dist/cjs/context/context.js +59 -0
  63. package/dist/cjs/core/aside/Aside.js +9 -7
  64. package/dist/cjs/core/boundary/ErrorBoundary.js +2 -4
  65. package/dist/cjs/core/page/Page.js +4 -1
  66. package/dist/cjs/core/responsive/Responsive.js +3 -2
  67. package/dist/cjs/core/theme/ThemeProvider.js +2 -2
  68. package/dist/cjs/core/viewport/Viewport.js +1 -1
  69. package/dist/cjs/hooks/useContextMenu.js +103 -0
  70. package/dist/cjs/hooks/useIsDark.js +6 -4
  71. package/dist/cjs/hooks/useNavigator.js +2 -2
  72. package/dist/cjs/hooks/useOverlayService.js +10 -42
  73. package/dist/cjs/hooks/usePropToggle.js +2 -2
  74. package/dist/cjs/hooks/useResize.js +8 -6
  75. package/dist/cjs/hooks/useResizeObserver.js +5 -5
  76. package/dist/cjs/hooks/useStepper.js +2 -6
  77. package/dist/cjs/hotkeys/HotKey.js +2 -2
  78. package/dist/cjs/hotkeys/HotKeyWrapper.js +8 -13
  79. package/dist/cjs/hotkeys/commons.js +1 -1
  80. package/dist/cjs/hotkeys/context.js +36 -0
  81. package/dist/cjs/index.js +9 -5
  82. package/dist/cjs/overlays/alert/Alert.js +6 -5
  83. package/dist/cjs/overlays/flyout/Flyout.js +8 -6
  84. package/dist/cjs/overlays/message/Message.js +5 -5
  85. package/dist/cjs/overlays/modal/Modal.js +5 -3
  86. package/dist/cjs/overlays/toast/Toast.js +4 -4
  87. package/dist/cjs/overlays/tooltip/Tooltip.js +2 -16
  88. package/dist/cjs/typography/Abbr.js +4 -5
  89. package/dist/cjs/typography/Anchor.js +2 -2
  90. package/dist/cjs/typography/Copy.js +2 -2
  91. package/dist/cjs/typography/Mark.js +2 -4
  92. package/dist/cjs/typography/Text.js +4 -4
  93. package/dist/cjs/typography/Title.js +2 -2
  94. package/dist/cjs/utils/cloneElement.js +4 -4
  95. package/dist/cjs/utils/getBadgeProps.js +51 -0
  96. package/dist/cjs/utils/getIconProps.js +42 -0
  97. package/dist/cjs/utils/getTooltipProps.js +45 -0
  98. package/dist/esm/components/actionLabel/ActionLabel.js +1 -1
  99. package/dist/esm/components/animations/Animations.js +7 -7
  100. package/dist/esm/components/avatar/Avatar.js +1 -1
  101. package/dist/esm/components/avatar/AvatarGroup.js +1 -1
  102. package/dist/esm/components/badge/Badge.js +7 -28
  103. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +1 -1
  104. package/dist/esm/components/button/Button.js +8 -6
  105. package/dist/esm/components/button/ButtonGroup.js +3 -3
  106. package/dist/esm/components/button/ConfirmButton.js +8 -7
  107. package/dist/esm/components/button/ToggleButtonGroup.js +3 -3
  108. package/dist/esm/components/callout/Callout.js +8 -7
  109. package/dist/esm/components/card/Card.js +4 -4
  110. package/dist/esm/components/card/CardCover.js +1 -1
  111. package/dist/esm/components/card/FlipContent.js +2 -2
  112. package/dist/esm/components/chip/Chip.js +9 -8
  113. package/dist/esm/components/collapsable/Collapsable.js +4 -3
  114. package/dist/esm/components/divider/Divider.js +2 -2
  115. package/dist/esm/components/dropdown/Dropdown.js +19 -17
  116. package/dist/esm/components/empty/EmptyContent.js +1 -1
  117. package/dist/esm/components/icon/Icon.js +4 -17
  118. package/dist/esm/components/media/Media.js +13 -13
  119. package/dist/esm/components/menu/ContextMenu.js +24 -14
  120. package/dist/esm/components/menu/Menu.js +19 -15
  121. package/dist/esm/components/menu/MenuItem.js +5 -4
  122. package/dist/esm/components/meter/Meter.js +1 -1
  123. package/dist/esm/components/navigator/Navigator.js +6 -6
  124. package/dist/esm/components/panel/Panel.js +6 -4
  125. package/dist/esm/components/panel/PanelGroup.js +4 -4
  126. package/dist/esm/components/panel/PanelStack.js +6 -6
  127. package/dist/esm/components/progress/ProgressBar.js +2 -2
  128. package/dist/esm/components/progress/ProgressCircle.js +2 -2
  129. package/dist/esm/components/tabpanel/Tab.js +6 -4
  130. package/dist/esm/components/tabpanel/TabPanel.js +5 -5
  131. package/dist/esm/context/Global.js +3 -52
  132. package/dist/esm/context/NotificationCenter.js +38 -39
  133. package/dist/esm/context/context.js +56 -0
  134. package/dist/esm/core/aside/Aside.js +10 -8
  135. package/dist/esm/core/boundary/ErrorBoundary.js +1 -3
  136. package/dist/esm/core/page/Page.js +4 -1
  137. package/dist/esm/core/responsive/Responsive.js +3 -2
  138. package/dist/esm/core/theme/ThemeProvider.js +1 -1
  139. package/dist/esm/core/viewport/Viewport.js +1 -1
  140. package/dist/esm/hooks/useContextMenu.js +103 -0
  141. package/dist/esm/hooks/useIsDark.js +7 -5
  142. package/dist/esm/hooks/useNavigator.js +3 -3
  143. package/dist/esm/hooks/useOverlayService.js +8 -40
  144. package/dist/esm/hooks/usePropToggle.js +3 -3
  145. package/dist/esm/hooks/useResize.js +9 -7
  146. package/dist/esm/hooks/useResizeObserver.js +6 -6
  147. package/dist/esm/hooks/useStepper.js +2 -6
  148. package/dist/esm/hotkeys/HotKey.js +1 -1
  149. package/dist/esm/hotkeys/HotKeyWrapper.js +9 -12
  150. package/dist/esm/hotkeys/commons.js +1 -1
  151. package/dist/esm/hotkeys/context.js +35 -0
  152. package/dist/esm/index.js +7 -3
  153. package/dist/esm/overlays/alert/Alert.js +7 -6
  154. package/dist/esm/overlays/flyout/Flyout.js +9 -7
  155. package/dist/esm/overlays/message/Message.js +6 -6
  156. package/dist/esm/overlays/modal/Modal.js +6 -4
  157. package/dist/esm/overlays/toast/Toast.js +5 -5
  158. package/dist/esm/overlays/tooltip/Tooltip.js +4 -17
  159. package/dist/esm/typography/Abbr.js +4 -5
  160. package/dist/esm/typography/Anchor.js +2 -2
  161. package/dist/esm/typography/Copy.js +3 -3
  162. package/dist/esm/typography/Mark.js +2 -4
  163. package/dist/esm/typography/Text.js +5 -5
  164. package/dist/esm/typography/Title.js +2 -2
  165. package/dist/esm/utils/cloneElement.js +4 -4
  166. package/dist/esm/utils/getBadgeProps.js +51 -0
  167. package/dist/esm/utils/getIconProps.js +42 -0
  168. package/dist/esm/utils/getTooltipProps.js +45 -0
  169. package/dist/types/components/actionLabel/ActionLabel.d.ts +1 -1
  170. package/dist/types/components/animations/Animations.d.ts +6 -6
  171. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  172. package/dist/types/components/avatar/AvatarGroup.d.ts +1 -1
  173. package/dist/types/components/badge/Badge.d.ts +2 -10
  174. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
  175. package/dist/types/components/button/Button.d.ts +1 -1
  176. package/dist/types/components/button/ButtonGroup.d.ts +1 -1
  177. package/dist/types/components/button/ConfirmButton.d.ts +1 -1
  178. package/dist/types/components/button/ToggleButtonGroup.d.ts +1 -1
  179. package/dist/types/components/callout/Callout.d.ts +7 -3
  180. package/dist/types/components/card/Card.d.ts +2 -2
  181. package/dist/types/components/card/CardCover.d.ts +1 -1
  182. package/dist/types/components/card/FlipContent.d.ts +1 -1
  183. package/dist/types/components/chip/Chip.d.ts +1 -1
  184. package/dist/types/components/collapsable/Collapsable.d.ts +1 -1
  185. package/dist/types/components/divider/Divider.d.ts +1 -1
  186. package/dist/types/components/dropdown/Dropdown.d.ts +7 -3
  187. package/dist/types/components/dropdown/DropdownTool.d.ts +1 -1
  188. package/dist/types/components/empty/EmptyContent.d.ts +3 -3
  189. package/dist/types/components/icon/Icon.d.ts +3 -4
  190. package/dist/types/components/index.d.ts +2 -2
  191. package/dist/types/components/media/Media.d.ts +2 -2
  192. package/dist/types/components/menu/ContextMenu.d.ts +1 -1
  193. package/dist/types/components/menu/Menu.d.ts +1 -1
  194. package/dist/types/components/menu/types.d.ts +1 -1
  195. package/dist/types/components/meter/Meter.d.ts +1 -1
  196. package/dist/types/components/navigator/Navigator.d.ts +1 -1
  197. package/dist/types/components/panel/Panel.d.ts +2 -2
  198. package/dist/types/components/panel/PanelGroup.d.ts +1 -1
  199. package/dist/types/components/panel/PanelStack.d.ts +1 -1
  200. package/dist/types/components/progress/ProgressBar.d.ts +1 -1
  201. package/dist/types/components/progress/ProgressCircle.d.ts +1 -1
  202. package/dist/types/components/tabpanel/Tab.d.ts +1 -1
  203. package/dist/types/components/tabpanel/TabPanel.d.ts +1 -1
  204. package/dist/types/context/Global.d.ts +0 -82
  205. package/dist/types/context/context.d.ts +85 -0
  206. package/dist/types/core/aside/Aside.d.ts +2 -2
  207. package/dist/types/core/responsive/Responsive.d.ts +5 -1
  208. package/dist/types/hooks/useContextMenu.d.ts +10 -0
  209. package/dist/types/hotkeys/HotKeyWrapper.d.ts +0 -9
  210. package/dist/types/hotkeys/context.d.ts +9 -0
  211. package/dist/types/index.d.ts +4 -2
  212. package/dist/types/overlays/alert/Alert.d.ts +2 -2
  213. package/dist/types/overlays/flyout/Flyout.d.ts +2 -2
  214. package/dist/types/overlays/message/Message.d.ts +2 -2
  215. package/dist/types/overlays/modal/Modal.d.ts +2 -2
  216. package/dist/types/overlays/toast/Toast.d.ts +2 -2
  217. package/dist/types/overlays/tooltip/Tooltip.d.ts +0 -3
  218. package/dist/types/types/index.d.ts +2 -2
  219. package/dist/types/typography/Abbr.d.ts +4 -8
  220. package/dist/types/typography/Anchor.d.ts +1 -1
  221. package/dist/types/typography/Copy.d.ts +1 -1
  222. package/dist/types/typography/Mark.d.ts +2 -2
  223. package/dist/types/typography/Text.d.ts +1 -1
  224. package/dist/types/typography/Title.d.ts +1 -1
  225. package/dist/types/utils/getBadgeProps.d.ts +9 -0
  226. package/dist/types/utils/getIconProps.d.ts +2 -0
  227. package/dist/types/utils/getTooltipProps.d.ts +4 -0
  228. package/dist/types/utils/index.d.ts +3 -0
  229. package/package.json +14 -15
  230. package/src/components/actionLabel/ActionLabel.tsx +1 -1
  231. package/src/components/animations/Animations.tsx +6 -6
  232. package/src/components/avatar/Avatar.tsx +1 -1
  233. package/src/components/avatar/AvatarGroup.tsx +1 -1
  234. package/src/components/badge/Badge.tsx +8 -46
  235. package/src/components/breadcrumbs/Breadcrumbs.tsx +1 -1
  236. package/src/components/button/Button.tsx +24 -54
  237. package/src/components/button/ButtonGroup.tsx +1 -1
  238. package/src/components/button/ConfirmButton.tsx +23 -20
  239. package/src/components/button/ToggleButtonGroup.tsx +1 -1
  240. package/src/components/callout/Callout.tsx +14 -19
  241. package/src/components/card/Card.tsx +9 -11
  242. package/src/components/card/CardCover.tsx +1 -1
  243. package/src/components/card/FlipContent.tsx +2 -2
  244. package/src/components/chip/Chip.tsx +16 -33
  245. package/src/components/collapsable/Collapsable.tsx +2 -2
  246. package/src/components/divider/Divider.tsx +1 -1
  247. package/src/components/dropdown/Dropdown.tsx +42 -72
  248. package/src/components/dropdown/DropdownTool.tsx +1 -1
  249. package/src/components/empty/EmptyContent.tsx +3 -3
  250. package/src/components/icon/Icon.tsx +5 -32
  251. package/src/components/index.ts +2 -2
  252. package/src/components/media/Media.tsx +3 -3
  253. package/src/components/menu/ContextMenu.tsx +30 -30
  254. package/src/components/menu/Menu.tsx +32 -61
  255. package/src/components/menu/MenuItem.tsx +9 -28
  256. package/src/components/menu/types.ts +1 -1
  257. package/src/components/meter/Meter.tsx +1 -1
  258. package/src/components/navigator/Navigator.tsx +5 -10
  259. package/src/components/panel/Panel.tsx +13 -54
  260. package/src/components/panel/PanelGroup.tsx +3 -4
  261. package/src/components/panel/PanelStack.tsx +20 -25
  262. package/src/components/progress/ProgressBar.tsx +2 -2
  263. package/src/components/progress/ProgressCircle.tsx +2 -2
  264. package/src/components/tabpanel/Tab.tsx +9 -28
  265. package/src/components/tabpanel/TabPanel.tsx +11 -14
  266. package/src/context/Global.tsx +18 -125
  267. package/src/context/NotificationCenter.tsx +0 -1
  268. package/src/context/context.ts +100 -0
  269. package/src/core/aside/Aside.tsx +18 -55
  270. package/src/core/boundary/ErrorBoundary.tsx +8 -37
  271. package/src/core/page/Page.tsx +3 -5
  272. package/src/core/responsive/Responsive.tsx +10 -34
  273. package/src/core/theme/ThemeProvider.tsx +2 -7
  274. package/src/core/viewport/Viewport.tsx +1 -1
  275. package/src/hooks/useContextMenu.tsx +131 -0
  276. package/src/hooks/useIsDark.ts +7 -5
  277. package/src/hooks/useNavigator.tsx +12 -15
  278. package/src/hooks/useOverlayService.tsx +3 -11
  279. package/src/hooks/usePropToggle.ts +3 -3
  280. package/src/hooks/useResize.ts +14 -17
  281. package/src/hooks/useResizeObserver.ts +21 -21
  282. package/src/hooks/useStepper.tsx +1 -1
  283. package/src/hotkeys/HotKey.tsx +1 -1
  284. package/src/hotkeys/HotKeyWrapper.tsx +81 -105
  285. package/src/hotkeys/commons.ts +2 -0
  286. package/src/hotkeys/context.ts +32 -0
  287. package/src/index.ts +4 -7
  288. package/src/overlays/alert/Alert.tsx +12 -16
  289. package/src/overlays/flyout/Flyout.tsx +32 -69
  290. package/src/overlays/message/Message.tsx +11 -15
  291. package/src/overlays/modal/Modal.tsx +23 -57
  292. package/src/overlays/toast/Toast.tsx +16 -15
  293. package/src/overlays/tooltip/Tooltip.tsx +6 -29
  294. package/src/types/global.d.ts +12 -0
  295. package/src/types/index.ts +2 -2
  296. package/src/typography/Abbr.tsx +11 -39
  297. package/src/typography/Anchor.tsx +1 -1
  298. package/src/typography/Copy.tsx +4 -4
  299. package/src/typography/Mark.tsx +2 -3
  300. package/src/typography/Text.tsx +8 -6
  301. package/src/typography/Title.tsx +1 -1
  302. package/src/utils/getBadgeProps.ts +45 -0
  303. package/src/utils/getIconProps.ts +35 -0
  304. package/src/utils/getTooltipProps.ts +38 -0
  305. package/src/utils/index.ts +3 -0
@@ -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;
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,6 +79,7 @@ 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
 
@@ -90,7 +94,6 @@ exports.Skeleton = Animations.Skeleton;
90
94
  exports.Avatar = Avatar.Avatar;
91
95
  exports.AvatarGroup = AvatarGroup.AvatarGroup;
92
96
  exports.Badge = Badge.Badge;
93
- exports.getBadgeProps = Badge.getBadgeProps;
94
97
  exports.Breadcrumbs = Breadcrumbs.Breadcrumbs;
95
98
  exports.Button = Button.Button;
96
99
  exports.ButtonGroup = ButtonGroup.ButtonGroup;
@@ -108,7 +111,6 @@ exports.DropdownDismiss = Dropdown.DropdownDismiss;
108
111
  exports.DropdownTool = DropdownTool.DropdownTool;
109
112
  exports.EmptyContent = EmptyContent.EmptyContent;
110
113
  exports.Icon = Icon.Icon;
111
- exports.getIconProps = Icon.getIconProps;
112
114
  exports.Image = Media.Image;
113
115
  exports.Video = Media.Video;
114
116
  exports.ContextMenu = ContextMenu.ContextMenu;
@@ -138,6 +140,8 @@ exports.Viewport = Viewport.Viewport;
138
140
  exports.addTranslationBundle = index.addTranslationBundle;
139
141
  exports.Title = Title.Title;
140
142
  exports.cloneChildren = cloneElement.cloneChildren;
143
+ exports.getBadgeProps = getBadgeProps.getBadgeProps;
144
+ exports.getIconProps = getIconProps.getIconProps;
141
145
  exports.Flyout = Flyout.Flyout;
142
146
  exports.Modal = Modal.Modal;
143
147
  exports.Tooltip = Tooltip.Tooltip;
@@ -147,6 +151,7 @@ exports.Copy = Copy.Copy;
147
151
  exports.Mark = Mark.Mark;
148
152
  exports.Text = Text.Text;
149
153
  exports.useClientService = useClientService.useClientService;
154
+ exports.useContextMenu = useContextMenu.useContextMenu;
150
155
  exports.useDebounce = useDebounce.useDebounce;
151
156
  exports.useEffectDebugger = useEffectDebugger.useEffectDebugger;
152
157
  exports.useLayoutEffectDebugger = useEffectDebugger.useLayoutEffectDebugger;
@@ -163,7 +168,6 @@ exports.useSessionStorage = useStorage.useSessionStorage;
163
168
  exports.HotKey = HotKey.HotKey;
164
169
  exports.HotKeyLabel = HotKeyLabel.HotKeyLabel;
165
170
  exports.HotKeyWrapper = HotKeyWrapper.HotKeyWrapper;
171
+ exports.useApplicationContext = context.useApplicationContext;
172
+ exports.useNotificationService = context.useNotificationService;
166
173
  exports.ApplicationProvider = Global.ApplicationProvider;
167
- exports.useApplicationContext = Global.useApplicationContext;
168
- exports.useGlobals = Global.useGlobals;
169
- 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, {
@@ -7,8 +7,8 @@ var Animations = require('../../components/animations/Animations.js');
7
7
  var Button = require('../../components/button/Button.js');
8
8
  var Icon = require('../../components/icon/Icon.js');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
- var getColor = require('../../utils/getColor.js');
11
10
  require('@react-fabric/utilities');
11
+ var getColor = require('../../utils/getColor.js');
12
12
 
13
13
  /*
14
14
  * React Fabric
@@ -81,12 +81,12 @@ var Toast = function Toast(_ref) {
81
81
  }
82
82
  }, [color, type, icon, iconSrc, rtlFlip]);
83
83
  var elRef = react.useRef(null);
84
- var handleClose = react.useCallback(function (ret) {
84
+ var handleClose = react.useEffectEvent(function (ret) {
85
85
  elRef.current && (elRef.current.dataset.show = "false");
86
86
  setTimeout(function () {
87
87
  onClose(ret);
88
88
  }, 250);
89
- }, [onClose]);
89
+ });
90
90
  react.useLayoutEffect(function () {
91
91
  setTimeout(function () {
92
92
  return elRef.current && (elRef.current.dataset.show = "true");
@@ -94,7 +94,7 @@ var Toast = function Toast(_ref) {
94
94
  }, []);
95
95
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
96
96
  role: "alert",
97
- className: classNames("fabric-toast", "flex flex-nowrap max-w-sm bg-base min-w-72 border pointer-events-auto relative overflow-hidden rounded-capped mt-4 select-none"),
97
+ className: classNames("fabric-toast", "flex flex-nowrap max-w-sm bg-default min-w-72 border pointer-events-auto relative overflow-hidden rounded-capped mt-4 select-none"),
98
98
  style: {
99
99
  borderColor: getColor.getColor(color + "-300")
100
100
  },
@@ -15,22 +15,8 @@ var getColor = require('../../utils/getColor.js');
15
15
  var _excluded = ["ref", "children", "color", "textColor", "content", "open", "copyContent", "disabled", "placement"];
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
- var getTooltipProps = function getTooltipProps(tooltip, innerRef) {
19
- if (utilities.isString(tooltip) || /*#__PURE__*/react.isValidElement(tooltip)) {
20
- return {
21
- ref: innerRef,
22
- placement: "top",
23
- content: tooltip
24
- };
25
- }
26
- if (utilities.isObject(tooltip)) {
27
- return Object.assign({
28
- ref: innerRef,
29
- placement: "top"
30
- }, tooltip);
31
- }
32
- };
33
18
  var Tooltip = function Tooltip(_ref) {
19
+ var _refs$domReference$cu, _refs$domReference$cu2;
34
20
  var ref = _ref.ref,
35
21
  children = _ref.children,
36
22
  color = _ref.color,
@@ -111,6 +97,7 @@ var Tooltip = function Tooltip(_ref) {
111
97
  children: [/*#__PURE__*/react.cloneElement(children, _objectSpread({
112
98
  ref: innerRef
113
99
  }, open ? {} : getReferenceProps(rest))), isOpen && content && /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
100
+ root: (_refs$domReference$cu = (_refs$domReference$cu2 = refs.domReference.current) === null || _refs$domReference$cu2 === void 0 ? void 0 : _refs$domReference$cu2.closest(".theme-base")) !== null && _refs$domReference$cu !== void 0 ? _refs$domReference$cu : undefined,
114
101
  children: /*#__PURE__*/jsxRuntime.jsxs("dfn", _objectSpread(_objectSpread({
115
102
  "data-ref": "tooltip",
116
103
  className: classNames("fabric-tooltip z-(--z-tooltip)", "select-none text-sm not-italic flex py-1 px-2 max-w-lg! rounded shadow-md bg-muted"),
@@ -142,4 +129,3 @@ var Tooltip = function Tooltip(_ref) {
142
129
  };
143
130
 
144
131
  exports.Tooltip = Tooltip;
145
- exports.getTooltipProps = getTooltipProps;
@@ -9,6 +9,7 @@ var useEffectDebugger = require('../hooks/useEffectDebugger.js');
9
9
  var Tooltip = require('../overlays/tooltip/Tooltip.js');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
  var getColor = require('../utils/getColor.js');
12
+ var getTooltipProps = require('../utils/getTooltipProps.js');
12
13
 
13
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -21,7 +22,7 @@ var AbbrText = function AbbrText(_ref) {
21
22
  return tooltip ? Tooltip.Tooltip : react.Fragment;
22
23
  }, [tooltip]);
23
24
  var tooltipProps = react.useMemo(function () {
24
- return tooltip ? _objectSpread(_objectSpread({}, Tooltip.getTooltipProps(tooltip)), {}, {
25
+ return tooltip ? _objectSpread(_objectSpread({}, getTooltipProps.getTooltipProps(tooltip)), {}, {
25
26
  copyContent: content
26
27
  }) : {};
27
28
  }, [tooltip, content]);
@@ -44,7 +45,7 @@ var AbbrText = function AbbrText(_ref) {
44
45
  * while providing additional context through tooltips.
45
46
  *
46
47
  * @param {AbbrProps} props - The properties for the Abbr component.
47
- * @returns {JSX.Element} The rendered Abbr component.
48
+ * @returns {React.ReactElement} The rendered Abbr component.
48
49
  *
49
50
  * @example
50
51
  * ```jsx
@@ -85,9 +86,7 @@ var Abbr = function Abbr(_ref2) {
85
86
  }, [renderer, copyContent]);
86
87
 
87
88
  /** ***************** tokenize text with abbr list *******************/
88
- var inner = useEffectDebugger.useMemoDebugger(
89
- // eslint-disable-next-line @typescript-eslint/promise-function-async
90
- function () {
89
+ var inner = useEffectDebugger.useMemoDebugger(function () {
91
90
  if (utilities.isString(children)) {
92
91
  if (!utilities.isEmpty(abbr)) {
93
92
  var tokens = utilities.tokenize(children, abbr.map(function (_ref3) {
@@ -6,8 +6,8 @@ var classNames = require('classnames');
6
6
  var useEffectDebugger = require('../hooks/useEffectDebugger.js');
7
7
  require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
- var getColor = require('../utils/getColor.js');
10
9
  require('@react-fabric/utilities');
10
+ var getColor = require('../utils/getColor.js');
11
11
  var types = require('./types.js');
12
12
 
13
13
  var _excluded = ["ref", "as", "children", "className", "bg", "color", "family", "size"];
@@ -21,7 +21,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
21
21
  *
22
22
  * @param {AnchorProps} props - The properties for the Anchor component.
23
23
  * @param {Tag} as - The HTML element type to render as (default is "a").
24
- * @returns {JSX.Element} - A styled anchor element with the specified properties.
24
+ * @returns {React.ReactElement} - A styled anchor element with the specified properties.
25
25
  *
26
26
  * @example
27
27
  * ```jsx
@@ -38,9 +38,9 @@ var Copy = function Copy(_ref) {
38
38
  t = _useTranslation.t;
39
39
 
40
40
  /** ***************** handle copy *******************/
41
- var doCopy = react.useCallback(function () {
41
+ var doCopy = react.useEffectEvent(function () {
42
42
  void navigator.clipboard.writeText(text);
43
- }, [text]);
43
+ });
44
44
  return /*#__PURE__*/jsxRuntime.jsx(Tooltip.Tooltip, {
45
45
  content: t("action.copy"),
46
46
  children: /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
@@ -30,7 +30,7 @@ var MarkText = function MarkText(_ref) {
30
30
  * allowing for greater flexibility in how the text is presented.
31
31
  *
32
32
  * @param {MarkProps} props - The properties for the Mark component.
33
- * @returns {JSX.Element} The rendered Mark component.
33
+ * @returns {React.ReactElement} The rendered Mark component.
34
34
  *
35
35
  * @example
36
36
  * <Mark
@@ -59,9 +59,7 @@ var Mark = function Mark(_ref2) {
59
59
  }, [renderer]);
60
60
 
61
61
  /** ***************** tokenize text with abbr list *******************/
62
- var inner = useEffectDebugger.useMemoDebugger(
63
- // eslint-disable-next-line @typescript-eslint/promise-function-async
64
- function () {
62
+ var inner = useEffectDebugger.useMemoDebugger(function () {
65
63
  if (utilities.isString(children)) {
66
64
  if (!utilities.isEmpty(mark)) {
67
65
  var tokens = utilities.tokenize(children, mark.map(function (_ref3) {
@@ -25,7 +25,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
25
25
  * It leverages the ResizeObserver API to detect changes in the text container's size and adjust the line clamping accordingly.
26
26
  *
27
27
  * @param {TextProps} props - The properties for the Text component.
28
- * @returns {JSX.Element} The rendered Text component.
28
+ * @returns {React.ReactElement} The rendered Text component.
29
29
  *
30
30
  * @example
31
31
  * ```jsx
@@ -71,12 +71,12 @@ var Text = function Text(_ref) {
71
71
  refShowMore = _usePropToggle2[2];
72
72
 
73
73
  /** ***************** check text height if clip enabled *******************/
74
- var checkHeight = react.useCallback(function () {
74
+ var checkHeight = react.useEffectEvent(function () {
75
75
  var el = refContainer.current;
76
76
  if (el && utilities.isNumber(clamp) && clamp > 0 && !refShowMore.current) {
77
77
  setClipped(calculateDimensions.calculateTextHeight(el.firstElementChild, el) > el.offsetHeight);
78
78
  }
79
- }, [clamp]);
79
+ });
80
80
 
81
81
  /** ***************** observe element resize to recalculate height *******************/
82
82
  useEffectDebugger.useLayoutEffectDebugger(function () {
@@ -123,7 +123,7 @@ var Text = function Text(_ref) {
123
123
  "--text-clamp": showMore ? "unset" : clamp !== null && clamp !== void 0 ? clamp : "unset"
124
124
  },
125
125
  children: /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
126
- className: classNames("fabric-text", "mixed-lang px-[2px] whitespace-pre-wrap", family && "font-".concat(family), clamp && "line-clamp-1"),
126
+ className: classNames("fabric-text", "mixed-lang px-0.5 whitespace-pre-wrap", family && "font-".concat(family), clamp && "line-clamp-1"),
127
127
  style: styles
128
128
  }, aria), {}, {
129
129
  children: children
@@ -6,8 +6,8 @@ var classNames = require('classnames');
6
6
  var useEffectDebugger = require('../hooks/useEffectDebugger.js');
7
7
  require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
- var getColor = require('../utils/getColor.js');
10
9
  require('@react-fabric/utilities');
10
+ var getColor = require('../utils/getColor.js');
11
11
  var types = require('./types.js');
12
12
 
13
13
  var _excluded = ["children", "className", "as", "bg", "color", "size", "align", "family"];
@@ -19,7 +19,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
19
19
  * This component is useful for creating headings or titles in a consistent style across an application.
20
20
  *
21
21
  * @param {TitleProps} props - The properties for the Title component.
22
- * @returns {JSX.Element} The rendered Title component.
22
+ * @returns {React.ReactElement} The rendered Title component.
23
23
  *
24
24
  * @example
25
25
  * ```jsx
@@ -26,14 +26,14 @@ var jsxRuntime = require('react/jsx-runtime');
26
26
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
27
  */
28
28
 
29
- var cloneChildren = function cloneChildren(children, callback) {
29
+ var _cloneChildren = function cloneChildren(children, callback) {
30
30
  var _Children$map;
31
31
  return (_Children$map = react.Children.map(children, function (c) {
32
- if ( /*#__PURE__*/react.isValidElement(c)) {
32
+ if (/*#__PURE__*/react.isValidElement(c)) {
33
33
  if (c.type === jsxRuntime.Fragment) {
34
34
  var _c$props;
35
35
  // just compare to `Fragment`
36
- return cloneChildren((_c$props = c.props) === null || _c$props === void 0 ? void 0 : _c$props.children, callback);
36
+ return _cloneChildren((_c$props = c.props) === null || _c$props === void 0 ? void 0 : _c$props.children, callback);
37
37
  }
38
38
  return c;
39
39
  }
@@ -44,4 +44,4 @@ var cloneChildren = function cloneChildren(children, callback) {
44
44
  })) === null || _Children$map === void 0 ? void 0 : _Children$map.flat().filter(Boolean).map(callback);
45
45
  };
46
46
 
47
- exports.cloneChildren = cloneChildren;
47
+ exports.cloneChildren = _cloneChildren;