@kommo-crm/crm-react-ui-kit 1.1.1-beta.8 → 1.2.0-beta.17

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 (206) hide show
  1. package/dist/assets/CheckboxItem.css +1 -1
  2. package/dist/assets/Content.css +1 -0
  3. package/dist/assets/Input.css +1 -1
  4. package/dist/assets/Item2.css +1 -1
  5. package/dist/assets/ItemRightSlot.css +1 -1
  6. package/dist/assets/RadioItem.css +1 -1
  7. package/dist/assets/SubTrigger.css +1 -1
  8. package/dist/assets/Trigger.css +1 -0
  9. package/dist/assets/useContentPositioning.css +1 -1
  10. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
  11. package/dist/components/ContextMenu/ContextMenu.js +129 -101
  12. package/dist/components/ContextMenu/ContextMenu.props.d.ts +70 -4
  13. package/dist/components/ContextMenu/ContextMenu.props.d.ts.map +1 -1
  14. package/dist/components/ContextMenu/ContextMenu.types.d.ts +2 -0
  15. package/dist/components/ContextMenu/ContextMenu.types.d.ts.map +1 -1
  16. package/dist/components/ContextMenu/components/Arrow/Arrow.js +1 -1
  17. package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.d.ts +2 -0
  18. package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.d.ts.map +1 -1
  19. package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.js +99 -75
  20. package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.props.d.ts +5 -1
  21. package/dist/components/ContextMenu/components/CheckboxItem/CheckboxItem.props.d.ts.map +1 -1
  22. package/dist/components/ContextMenu/components/Content/Content.d.ts +1 -1
  23. package/dist/components/ContextMenu/components/Content/Content.d.ts.map +1 -1
  24. package/dist/components/ContextMenu/components/Content/Content.js +3 -3
  25. package/dist/components/ContextMenu/components/Content/Content.props.d.ts +5 -1
  26. package/dist/components/ContextMenu/components/Content/Content.props.d.ts.map +1 -1
  27. package/dist/components/ContextMenu/components/Content/index.js +1 -1
  28. package/dist/components/ContextMenu/components/FocusBlocker/FocusBlocker.d.ts +4 -0
  29. package/dist/components/ContextMenu/components/FocusBlocker/FocusBlocker.d.ts.map +1 -0
  30. package/dist/components/ContextMenu/components/FocusBlocker/FocusBlocker.js +12 -0
  31. package/dist/components/ContextMenu/components/FocusBlocker/FocusBlocker.props.d.ts +8 -0
  32. package/dist/components/ContextMenu/components/FocusBlocker/FocusBlocker.props.d.ts.map +1 -0
  33. package/dist/components/ContextMenu/components/FocusBlocker/FocusBlocker.props.js +1 -0
  34. package/dist/components/ContextMenu/components/FocusBlocker/index.d.ts +2 -0
  35. package/dist/components/ContextMenu/components/FocusBlocker/index.d.ts.map +1 -0
  36. package/dist/components/ContextMenu/components/FocusBlocker/index.js +4 -0
  37. package/dist/components/ContextMenu/components/Group/Group.js +1 -1
  38. package/dist/components/ContextMenu/components/Item/Item.d.ts +2 -2
  39. package/dist/components/ContextMenu/components/Item/Item.d.ts.map +1 -1
  40. package/dist/components/ContextMenu/components/Item/Item.js +109 -107
  41. package/dist/components/ContextMenu/components/Item/Item.props.d.ts +5 -24
  42. package/dist/components/ContextMenu/components/Item/Item.props.d.ts.map +1 -1
  43. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/MaybeAsChild.d.ts +6 -0
  44. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/MaybeAsChild.d.ts.map +1 -0
  45. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/MaybeAsChild.js +15 -0
  46. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/MaybeAsChild.props.d.ts +11 -0
  47. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/MaybeAsChild.props.d.ts.map +1 -0
  48. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/MaybeAsChild.props.js +1 -0
  49. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/index.d.ts +2 -0
  50. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/index.d.ts.map +1 -0
  51. package/dist/components/ContextMenu/components/Item/components/MaybeAsChild/index.js +4 -0
  52. package/dist/components/ContextMenu/components/Item/components/index.d.ts +2 -0
  53. package/dist/components/ContextMenu/components/Item/components/index.d.ts.map +1 -0
  54. package/dist/components/ContextMenu/components/Item/components/index.js +4 -0
  55. package/dist/components/ContextMenu/components/ItemIcon/ItemIcon.d.ts.map +1 -1
  56. package/dist/components/ContextMenu/components/ItemIcon/ItemIcon.js +22 -14
  57. package/dist/components/ContextMenu/components/ItemIndicator/ItemIndicator.js +7 -6
  58. package/dist/components/ContextMenu/components/ItemRightSlot/ItemRightSlot.d.ts.map +1 -1
  59. package/dist/components/ContextMenu/components/ItemRightSlot/ItemRightSlot.js +40 -35
  60. package/dist/components/ContextMenu/components/Label/Label.d.ts.map +1 -1
  61. package/dist/components/ContextMenu/components/Label/Label.js +32 -23
  62. package/dist/components/ContextMenu/components/Portal/Portal.js +1 -1
  63. package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.context.d.ts +5 -0
  64. package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.context.d.ts.map +1 -0
  65. package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.context.js +7 -0
  66. package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  67. package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.js +21 -11
  68. package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.props.d.ts +8 -0
  69. package/dist/components/ContextMenu/components/RadioGroup/RadioGroup.props.d.ts.map +1 -1
  70. package/dist/components/ContextMenu/components/RadioGroup/index.d.ts +1 -0
  71. package/dist/components/ContextMenu/components/RadioGroup/index.d.ts.map +1 -1
  72. package/dist/components/ContextMenu/components/RadioGroup/index.js +6 -2
  73. package/dist/components/ContextMenu/components/RadioItem/RadioItem.d.ts +1 -0
  74. package/dist/components/ContextMenu/components/RadioItem/RadioItem.d.ts.map +1 -1
  75. package/dist/components/ContextMenu/components/RadioItem/RadioItem.js +91 -68
  76. package/dist/components/ContextMenu/components/RadioItem/RadioItem.props.d.ts +4 -0
  77. package/dist/components/ContextMenu/components/RadioItem/RadioItem.props.d.ts.map +1 -1
  78. package/dist/components/ContextMenu/components/Separator/Separator.js +4 -4
  79. package/dist/components/ContextMenu/components/Sub/Sub.d.ts +2 -0
  80. package/dist/components/ContextMenu/components/Sub/Sub.d.ts.map +1 -1
  81. package/dist/components/ContextMenu/components/Sub/Sub.js +57 -36
  82. package/dist/components/ContextMenu/components/Sub/Sub.props.d.ts +37 -1
  83. package/dist/components/ContextMenu/components/Sub/Sub.props.d.ts.map +1 -1
  84. package/dist/components/ContextMenu/components/SubContent/SubContent.d.ts +4 -1
  85. package/dist/components/ContextMenu/components/SubContent/SubContent.d.ts.map +1 -1
  86. package/dist/components/ContextMenu/components/SubContent/SubContent.js +84 -55
  87. package/dist/components/ContextMenu/components/SubContent/SubContent.props.d.ts +10 -1
  88. package/dist/components/ContextMenu/components/SubContent/SubContent.props.d.ts.map +1 -1
  89. package/dist/components/ContextMenu/components/SubRoot/SubRoot.d.ts.map +1 -1
  90. package/dist/components/ContextMenu/components/SubRoot/SubRoot.js +84 -76
  91. package/dist/components/ContextMenu/components/SubRoot/SubRoot.props.d.ts +1 -1
  92. package/dist/components/ContextMenu/components/SubRoot/SubRoot.props.d.ts.map +1 -1
  93. package/dist/components/ContextMenu/components/SubRoot/SubRoot.types.d.ts +4 -4
  94. package/dist/components/ContextMenu/components/SubRoot/SubRoot.types.d.ts.map +1 -1
  95. package/dist/components/ContextMenu/components/SubRoot/components/Content/Content.d.ts +1 -1
  96. package/dist/components/ContextMenu/components/SubRoot/components/Content/Content.d.ts.map +1 -1
  97. package/dist/components/ContextMenu/components/SubRoot/components/Content/Content.js +80 -67
  98. package/dist/components/ContextMenu/components/SubRoot/components/Trigger/Trigger.d.ts.map +1 -1
  99. package/dist/components/ContextMenu/components/SubRoot/components/Trigger/Trigger.js +65 -54
  100. package/dist/components/ContextMenu/components/SubTrigger/SubTrigger.d.ts.map +1 -1
  101. package/dist/components/ContextMenu/components/SubTrigger/SubTrigger.js +100 -88
  102. package/dist/components/ContextMenu/components/Trigger/Trigger.d.ts.map +1 -1
  103. package/dist/components/ContextMenu/components/Trigger/Trigger.js +1 -1
  104. package/dist/components/ContextMenu/hooks/index.d.ts +8 -0
  105. package/dist/components/ContextMenu/hooks/index.d.ts.map +1 -1
  106. package/dist/components/ContextMenu/hooks/index.js +26 -10
  107. package/dist/components/ContextMenu/hooks/useChildrenWithBlocker/useChildrenWithBlocker.d.ts +4 -0
  108. package/dist/components/ContextMenu/hooks/useChildrenWithBlocker/useChildrenWithBlocker.d.ts.map +1 -0
  109. package/dist/components/ContextMenu/hooks/useChildrenWithBlocker/useChildrenWithBlocker.js +47 -0
  110. package/dist/components/ContextMenu/hooks/useChildrenWithBlocker/useChildrenWithBlocker.props.d.ts +23 -0
  111. package/dist/components/ContextMenu/hooks/useChildrenWithBlocker/useChildrenWithBlocker.props.d.ts.map +1 -0
  112. package/dist/components/ContextMenu/hooks/useChildrenWithBlocker/useChildrenWithBlocker.props.js +1 -0
  113. package/dist/components/ContextMenu/hooks/useClickOutside/useClickOutside.d.ts +3 -0
  114. package/dist/components/ContextMenu/hooks/useClickOutside/useClickOutside.d.ts.map +1 -0
  115. package/dist/components/ContextMenu/hooks/useClickOutside/useClickOutside.js +20 -0
  116. package/dist/components/ContextMenu/hooks/useClickOutside/useClickOutside.types.d.ts +12 -0
  117. package/dist/components/ContextMenu/hooks/useClickOutside/useClickOutside.types.d.ts.map +1 -0
  118. package/dist/components/ContextMenu/hooks/useClickOutside/useClickOutside.types.js +1 -0
  119. package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.d.ts +2 -2
  120. package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.d.ts.map +1 -1
  121. package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.js +2 -1
  122. package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.types.d.ts +5 -1
  123. package/dist/components/ContextMenu/hooks/useContentPositioning/useContentPositioning.types.d.ts.map +1 -1
  124. package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.d.ts +11 -4
  125. package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.d.ts.map +1 -1
  126. package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.js +110 -70
  127. package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.types.d.ts +16 -0
  128. package/dist/components/ContextMenu/hooks/useContextMenu/useContextMenu.types.d.ts.map +1 -1
  129. package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.d.ts +6 -6
  130. package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.d.ts.map +1 -1
  131. package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.js +52 -22
  132. package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.types.d.ts +23 -3
  133. package/dist/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.types.d.ts.map +1 -1
  134. package/dist/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.d.ts +7 -1
  135. package/dist/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.d.ts.map +1 -1
  136. package/dist/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.js +73 -49
  137. package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.d.ts +5 -3
  138. package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.d.ts.map +1 -1
  139. package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.js +78 -70
  140. package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.types.d.ts +1 -1
  141. package/dist/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.types.d.ts.map +1 -1
  142. package/dist/components/ContextMenu/hooks/useInheritedArrowColor/useInheritedArrowColor.d.ts.map +1 -1
  143. package/dist/components/ContextMenu/hooks/useInheritedArrowColor/useInheritedArrowColor.js +12 -12
  144. package/dist/components/ContextMenu/hooks/useInnerInputsFocus/useInnerInputsFocus.d.ts +7 -0
  145. package/dist/components/ContextMenu/hooks/useInnerInputsFocus/useInnerInputsFocus.d.ts.map +1 -0
  146. package/dist/components/ContextMenu/hooks/useInnerInputsFocus/useInnerInputsFocus.js +31 -0
  147. package/dist/components/ContextMenu/hooks/useInnerInputsFocus/useInnerInputsFocus.types.d.ts +7 -0
  148. package/dist/components/ContextMenu/hooks/useInnerInputsFocus/useInnerInputsFocus.types.d.ts.map +1 -0
  149. package/dist/components/ContextMenu/hooks/useInnerInputsFocus/useInnerInputsFocus.types.js +1 -0
  150. package/dist/components/ContextMenu/hooks/useItemInnerFocus/useItemInnerFocus.d.ts +8 -0
  151. package/dist/components/ContextMenu/hooks/useItemInnerFocus/useItemInnerFocus.d.ts.map +1 -0
  152. package/dist/components/ContextMenu/hooks/useItemInnerFocus/useItemInnerFocus.js +55 -0
  153. package/dist/components/ContextMenu/hooks/useItemInnerFocus/useItemInnerFocus.types.d.ts +23 -0
  154. package/dist/components/ContextMenu/hooks/useItemInnerFocus/useItemInnerFocus.types.d.ts.map +1 -0
  155. package/dist/components/ContextMenu/hooks/useItemInnerFocus/useItemInnerFocus.types.js +1 -0
  156. package/dist/components/ContextMenu/hooks/useMouseMoveOutside/useMouseMoveOutside.d.ts +2 -0
  157. package/dist/components/ContextMenu/hooks/useMouseMoveOutside/useMouseMoveOutside.d.ts.map +1 -0
  158. package/dist/components/ContextMenu/hooks/useMouseMoveOutside/useMouseMoveOutside.js +13 -0
  159. package/dist/components/ContextMenu/hooks/usePrevious/usePrevious.d.ts +2 -0
  160. package/dist/components/ContextMenu/hooks/usePrevious/usePrevious.d.ts.map +1 -0
  161. package/dist/components/ContextMenu/hooks/usePrevious/usePrevious.js +10 -0
  162. package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.d.ts +11 -11
  163. package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.d.ts.map +1 -1
  164. package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.js +1 -1
  165. package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.types.d.ts +12 -2
  166. package/dist/components/ContextMenu/hooks/useStopContextMenuEvents/useStopContextMenuEvents.types.d.ts.map +1 -1
  167. package/dist/components/ContextMenu/hooks/useSubMenu/useSubMenu.d.ts +11 -0
  168. package/dist/components/ContextMenu/hooks/useSubMenu/useSubMenu.d.ts.map +1 -0
  169. package/dist/components/ContextMenu/hooks/useSubMenu/useSubMenu.js +33 -0
  170. package/dist/components/ContextMenu/hooks/useSubMenu/useSubMenu.types.d.ts +7 -0
  171. package/dist/components/ContextMenu/hooks/useSubMenu/useSubMenu.types.d.ts.map +1 -0
  172. package/dist/components/ContextMenu/hooks/useSubMenu/useSubMenu.types.js +1 -0
  173. package/dist/components/ContextMenu/index.js +1 -1
  174. package/dist/components/ContextMenu/providers/LevelProvider/LevelProvider.d.ts.map +1 -1
  175. package/dist/components/ContextMenu/providers/LevelProvider/LevelProvider.props.d.ts +30 -2
  176. package/dist/components/ContextMenu/providers/LevelProvider/LevelProvider.props.d.ts.map +1 -1
  177. package/dist/components/ContextMenu/providers/SubMenuProvider/SubMenuProvider.d.ts +5 -0
  178. package/dist/components/ContextMenu/providers/SubMenuProvider/SubMenuProvider.d.ts.map +1 -0
  179. package/dist/components/ContextMenu/providers/SubMenuProvider/SubMenuProvider.js +7 -0
  180. package/dist/components/ContextMenu/providers/SubMenuProvider/SubMenuProvider.props.d.ts +15 -0
  181. package/dist/components/ContextMenu/providers/SubMenuProvider/SubMenuProvider.props.d.ts.map +1 -0
  182. package/dist/components/ContextMenu/providers/SubMenuProvider/SubMenuProvider.props.js +1 -0
  183. package/dist/components/ContextMenu/providers/SubMenuProvider/index.d.ts +3 -0
  184. package/dist/components/ContextMenu/providers/SubMenuProvider/index.d.ts.map +1 -0
  185. package/dist/components/ContextMenu/providers/SubMenuProvider/index.js +5 -0
  186. package/dist/components/ContextMenu/providers/index.d.ts +1 -0
  187. package/dist/components/ContextMenu/providers/index.d.ts.map +1 -1
  188. package/dist/components/ContextMenu/providers/index.js +4 -1
  189. package/dist/components/Input/Input.d.ts.map +1 -1
  190. package/dist/components/Input/Input.js +62 -50
  191. package/dist/components/Input/Input.props.d.ts +4 -0
  192. package/dist/components/Input/Input.props.d.ts.map +1 -1
  193. package/dist/components/Input/Input.themes.d.ts +1 -1
  194. package/dist/components/Input/Input.themes.d.ts.map +1 -1
  195. package/dist/components/Input/Input.themes.js +1 -0
  196. package/dist/{index-CYWNqEqR.mjs → index-DmGLJEdp.mjs} +5 -5
  197. package/dist/lib/utils.d.ts +1 -0
  198. package/dist/lib/utils.d.ts.map +1 -1
  199. package/dist/lib/utils.js +3 -2
  200. package/dist/useContentPositioning-CLU2E_Oz.mjs +2433 -0
  201. package/package.json +1 -1
  202. package/dist/components/ContextMenu/components/Item/Item.context.d.ts +0 -5
  203. package/dist/components/ContextMenu/components/Item/Item.context.d.ts.map +0 -1
  204. package/dist/components/ContextMenu/components/Item/Item.context.js +0 -7
  205. package/dist/react-spring_web.modern-Dnq1lqN5.mjs +0 -2144
  206. package/dist/useContentPositioning-BLEFxO0N.mjs +0 -214
@@ -1,84 +1,124 @@
1
- import { useId as N, useState as n, useRef as C, useEffect as R } from "react";
2
- import { ContextMenuMode as l } from "../../ContextMenu.enums.js";
1
+ import { jsx as se } from "react/jsx-runtime";
2
+ import { useId as oe, useState as o, useRef as I, useEffect as R } from "react";
3
+ import { c as ue, F as ne } from "../../../../useContentPositioning-CLU2E_Oz.mjs";
4
+ import { ContextMenuMode as n } from "../../ContextMenu.enums.js";
3
5
  import "../../providers/LevelProvider/LevelProvider.js";
6
+ import "../../providers/SubMenuProvider/SubMenuProvider.js";
4
7
  import "../../ContextMenu.context.js";
5
- import { useInheritedArrowColor as P } from "../useInheritedArrowColor/useInheritedArrowColor.js";
6
- import "../../../../useContentPositioning-BLEFxO0N.mjs";
8
+ import { useInheritedArrowColor as ce } from "../useInheritedArrowColor/useInheritedArrowColor.js";
7
9
  import "../../components/Content/Content.utils.js";
8
- import { useIsTouchDevice as Q } from "../useIsTouchDevice/useIsTouchDevice.js";
9
- import { contextMenuBus as M } from "../../utils/contextMenuBus/contextMenuBus.js";
10
- const re = ({
11
- mode: L,
12
- defaultOpen: y,
13
- animationDuration: E,
14
- hoverCloseDelay: d,
15
- onOpen: r,
16
- onAnimatedOpen: T
10
+ import { useIsTouchDevice as le } from "../useIsTouchDevice/useIsTouchDevice.js";
11
+ import { contextMenuBus as H } from "../../utils/contextMenuBus/contextMenuBus.js";
12
+ const Me = ({
13
+ mode: G,
14
+ defaultOpen: B,
15
+ animationDuration: K,
16
+ hoverCloseDelay: p,
17
+ onOpen: t,
18
+ onAnimatedOpen: E,
19
+ isOpen: J,
20
+ enableInnerInputFocus: x,
21
+ backgroundFocusBlockerContainers: L,
22
+ backgroundFocusBlockerClassName: P
17
23
  }) => {
18
- const a = N(), [f, m] = n(y || !1), [h, o] = n(!1), [H, i] = n(!1), [v, b] = n(!1), [u, I] = n(!1), [p, w] = n(!1), q = C(null), K = C(null), e = C(null), t = C(null), s = Q() ? l.CLICK : L, V = () => {
19
- e.current && (clearTimeout(e.current), e.current = null), t.current && (clearTimeout(t.current), t.current = null);
20
- }, g = () => {
21
- m(!1), r == null || r(!1), i(!1), I(!1);
22
- }, k = () => {
23
- if (V(), s === l.HOVER || u) {
24
- if (p)
24
+ const C = oe(), [a, h] = o(J ?? B ?? !1), [M, i] = o(!1), [V, f] = o(!1), [g, b] = o(!1), [c, v] = o(!1), [k, Q] = o(!1), [U, X] = o(null), [Y, y] = o(!1), [T, S] = o(null), Z = I(null), q = I(null), e = I(null), s = I(null), u = le() ? n.CLICK : G, w = () => {
25
+ e.current && (clearTimeout(e.current), e.current = null), s.current && (clearTimeout(s.current), s.current = null);
26
+ }, F = () => {
27
+ h(!1), t == null || t(!1), f(!1), v(!1), y(!1);
28
+ }, N = () => {
29
+ if (w(), u === n.HOVER || c) {
30
+ if (k && U === n.CLICK || T !== null)
25
31
  return;
26
- o(!1), t.current = setTimeout(() => {
27
- g();
28
- }, E);
32
+ i(!1), s.current = setTimeout(() => {
33
+ F();
34
+ }, K);
29
35
  } else
30
- g();
31
- }, x = () => {
32
- V(), o(!1), m(!1), r == null || r(!1), i(!1), I(!1);
33
- }, B = (c) => {
34
- s === l.CLICK && y !== void 0 || (c ? (t.current && (clearTimeout(t.current), t.current = null), (s === l.HOVER || u) && o(!0), m(!0), r == null || r(!0), setTimeout(() => M.emit(a), 0)) : k());
35
- }, S = (c) => {
36
- b(c), B(c);
37
- }, j = () => {
38
- s !== l.HOVER && !u || (b(!1), t.current && (clearTimeout(t.current), t.current = null, o(!0)), f ? i(!0) : (e.current && (clearTimeout(e.current), e.current = null), o(!0), m(!0), r == null || r(!0), i(!0), setTimeout(() => M.emit(a), 0)));
39
- }, z = () => {
40
- s !== l.HOVER && !u || (b(!1), i(!1), e.current && (clearTimeout(e.current), e.current = null));
41
- }, D = () => {
42
- o(!0), i(!0), I(!0);
43
- }, F = (c) => {
44
- w(c);
36
+ F();
37
+ }, W = () => {
38
+ w(), i(!1), h(!1), t == null || t(!1), f(!1), v(!1);
39
+ }, _ = (r) => {
40
+ y(r);
41
+ }, j = (r) => {
42
+ u === n.CLICK && B !== void 0 || (r ? (s.current && (clearTimeout(s.current), s.current = null), (u === n.HOVER || c) && i(!0), h(!0), t == null || t(!0), setTimeout(() => H.emit(C), 0)) : N());
43
+ }, $ = (r) => {
44
+ b(r), j(r);
45
+ }, A = () => {
46
+ u !== n.HOVER && !c || (b(!1), s.current && (clearTimeout(s.current), s.current = null, i(!0)), a ? f(!0) : (e.current && (clearTimeout(e.current), e.current = null), i(!0), h(!0), t == null || t(!0), f(!0), setTimeout(() => H.emit(C), 0)));
47
+ }, O = () => {
48
+ u !== n.HOVER && !c || (b(!1), f(!1), e.current && (clearTimeout(e.current), e.current = null));
49
+ }, ee = () => {
50
+ i(!0), f(!0), v(!0);
51
+ }, te = (r, m) => {
52
+ r || y(!1), Q(r), X(m);
45
53
  };
46
- R(() => M.subscribe((J) => {
47
- J !== a && x();
48
- }), [a]), R(() => {
49
- !f || s !== l.HOVER && !u || v || (H ? e.current && (clearTimeout(e.current), e.current = null) : e.current || (e.current = setTimeout(() => {
50
- k();
51
- }, d)));
54
+ R(() => H.subscribe((m) => {
55
+ m !== C && W();
56
+ }), [C]), R(() => {
57
+ !a || u !== n.HOVER && !c || g || (V ? e.current && (clearTimeout(e.current), e.current = null) : e.current || (e.current = setTimeout(() => {
58
+ N();
59
+ }, p)));
52
60
  }, [
53
- s,
54
- f,
55
- H,
56
61
  u,
57
- d,
58
- v
62
+ a,
63
+ V,
64
+ c,
65
+ p,
66
+ g
59
67
  ]), R(() => {
60
- T == null || T(h);
61
- }, [h]);
62
- const G = P(f, K);
63
- return {
64
- open: f,
65
- mode: s,
66
- onOpenChange: B,
67
- onOpenByKeyboard: S,
68
- inheritedArrowColor: G,
69
- triggerRef: q,
70
- contentRef: K,
71
- animatedOpen: h,
72
- animationDuration: E,
73
- hoverCloseDelay: d,
74
- temporaryHoverClose: u,
75
- closeMenuImmediately: x,
76
- onMouseEnter: j,
77
- onMouseLeave: z,
78
- enableTemporaryHoverClose: D,
79
- onChildClickOpen: F
68
+ E == null || E(M);
69
+ }, [M]);
70
+ const re = ce(a, q);
71
+ return R(() => {
72
+ if (!x || !L || T === null)
73
+ return;
74
+ const r = L.map((l) => typeof l == "function" ? l() : l).filter(Boolean), m = [];
75
+ return r.forEach((l) => {
76
+ const d = document.createElement("div");
77
+ l.appendChild(d);
78
+ const z = ue(d);
79
+ z.render(
80
+ /* @__PURE__ */ se(
81
+ ne,
82
+ {
83
+ className: P,
84
+ onClick: () => {
85
+ var D;
86
+ S(null), (D = document.activeElement) == null || D.blur();
87
+ }
88
+ }
89
+ )
90
+ ), m.push({ root: z, mountNode: d });
91
+ }), () => {
92
+ m.forEach(({ root: l, mountNode: d }) => {
93
+ queueMicrotask(() => {
94
+ l.unmount(), d.remove();
95
+ });
96
+ });
97
+ };
98
+ }, [x, T]), {
99
+ open: a,
100
+ mode: u,
101
+ onOpenChange: j,
102
+ onOpenByKeyboard: $,
103
+ inheritedArrowColor: re,
104
+ triggerRef: Z,
105
+ contentRef: q,
106
+ animatedOpen: M,
107
+ animationDuration: K,
108
+ hoverCloseDelay: p,
109
+ temporaryHoverClose: c,
110
+ closeMenuImmediately: W,
111
+ onMouseEnter: A,
112
+ onMouseLeave: O,
113
+ enableTemporaryHoverClose: ee,
114
+ onChildOpen: te,
115
+ onSubmenuOpen: _,
116
+ isRootContentBlocked: Y,
117
+ isChildOpen: k,
118
+ itemWithFocusedInput: T,
119
+ setItemWithFocusedInput: S
80
120
  };
81
121
  };
82
122
  export {
83
- re as useContextMenu
123
+ Me as useContextMenu
84
124
  };
@@ -29,5 +29,21 @@ export interface UseContextMenuOptions {
29
29
  * Whether the context menu should close when another menu is opened.
30
30
  */
31
31
  autoCloseOnOtherOpen?: boolean;
32
+ /**
33
+ * Whether the context menu is open forcefully.
34
+ */
35
+ isOpen?: boolean;
36
+ /**
37
+ * Whether the item should enable inner input focus.
38
+ */
39
+ enableInnerInputFocus?: boolean;
40
+ /**
41
+ * The container to focus the blocker on.
42
+ */
43
+ backgroundFocusBlockerContainers?: (HTMLElement | (() => HTMLElement) | null)[];
44
+ /**
45
+ * The class name of the background focus blocker.
46
+ */
47
+ backgroundFocusBlockerClassName?: string;
32
48
  }
33
49
  //# sourceMappingURL=useContextMenu.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContextMenu.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenu/useContextMenu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC"}
1
+ {"version":3,"file":"useContextMenu.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenu/useContextMenu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,gCAAgC,CAAC,EAAE,CAC/B,WAAW,GACX,CAAC,MAAM,WAAW,CAAC,GACnB,IAAI,CACP,EAAE,CAAC;IACJ;;OAEG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;CAC1C"}
@@ -1,5 +1,5 @@
1
1
  import { UseContextMenuItemFocusOptions } from './useContextMenuItemFocus.types';
2
- export declare const useContextMenuItemFocus: ({ displayName, id, isDisabled, hasSubmenu, onMouseEnter, onMouseLeave, }: UseContextMenuItemFocusOptions) => {
2
+ export declare const useContextMenuItemFocus: <T extends HTMLElement>({ displayName, id, ref, isDisabled, hasSubmenu, onMouseEnter, onMouseLeave, onFocus, onBlur, onKeyDown, isSelectable, }: UseContextMenuItemFocusOptions<T>) => {
3
3
  dataHighlighted: undefined;
4
4
  onFocus: undefined;
5
5
  onMouseEnter: undefined;
@@ -8,10 +8,10 @@ export declare const useContextMenuItemFocus: ({ displayName, id, isDisabled, ha
8
8
  onKeyDown: undefined;
9
9
  } | {
10
10
  dataHighlighted: string | undefined;
11
- onFocus: () => void;
12
- onMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;
13
- onBlur: () => void;
14
- onMouseLeave: (e: React.MouseEvent<HTMLElement>) => void;
15
- onKeyDown: (e: React.KeyboardEvent) => void;
11
+ onFocus: (e: React.FocusEvent<T>) => void;
12
+ onMouseEnter: (e: React.MouseEvent<T>) => void;
13
+ onBlur: (e: React.FocusEvent<T>) => void;
14
+ onMouseLeave: (e: React.MouseEvent<T>) => void;
15
+ onKeyDown: (e: React.KeyboardEvent<T>) => void;
16
16
  };
17
17
  //# sourceMappingURL=useContextMenuItemFocus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContextMenuItemFocus.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEjF,eAAO,MAAM,uBAAuB,6EAOjC,8BAA8B;;;;;;;;;;sBAwBX,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;;sBAW7B,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;mBAIhC,KAAK,CAAC,aAAa;CAMrC,CAAC"}
1
+ {"version":3,"file":"useContextMenuItemFocus.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEjF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,WAAW,2HAY1D,8BAA8B,CAAC,CAAC,CAAC;;;;;;;;;iBA4BnB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;sBAed,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAezB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;sBAWb,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;mBAWtB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;CAcxC,CAAC"}
@@ -1,40 +1,70 @@
1
- import { useState as l } from "react";
2
- import { useLevelContext as v } from "../../providers/LevelProvider/LevelProvider.js";
3
- const g = ({
4
- displayName: s,
5
- id: r,
6
- isDisabled: e,
7
- hasSubmenu: i,
8
- onMouseEnter: d,
9
- onMouseLeave: f
1
+ import { useState as O, useEffect as j } from "react";
2
+ import { useLevelContext as q } from "../../providers/LevelProvider/LevelProvider.js";
3
+ import { useMouseMoveOutside as z } from "../useMouseMoveOutside/useMouseMoveOutside.js";
4
+ const P = ({
5
+ displayName: H,
6
+ id: x,
7
+ ref: h,
8
+ isDisabled: v,
9
+ hasSubmenu: p,
10
+ onMouseEnter: i,
11
+ onMouseLeave: d,
12
+ onFocus: r,
13
+ onBlur: m,
14
+ onKeyDown: I,
15
+ isSelectable: g = !0
10
16
  }) => {
11
- const [n, o] = l(!1), { setActiveItemId: c } = v(s);
12
- return e ? {
17
+ const [k, f] = O(!1), { setActiveItemId: A, activeItemId: C } = q(H);
18
+ return z(h, () => {
19
+ f(!1);
20
+ }), v ? {
13
21
  dataHighlighted: void 0,
14
22
  onFocus: void 0,
15
23
  onMouseEnter: void 0,
16
24
  onBlur: void 0,
17
25
  onMouseLeave: void 0,
18
26
  onKeyDown: void 0
19
- } : {
20
- dataHighlighted: n ? "" : void 0,
21
- onFocus: () => {
22
- i || c(r), o(!e);
27
+ } : (j(() => {
28
+ p && C === null && f(!1);
29
+ }, [C]), {
30
+ dataHighlighted: k && g ? "" : void 0,
31
+ onFocus: (t) => {
32
+ if (!g) {
33
+ r == null || r(t);
34
+ return;
35
+ }
36
+ p || A(x), f(!v), r == null || r(t);
23
37
  },
24
38
  onMouseEnter: (t) => {
25
- i || c(r), o(!e), d == null || d(t);
39
+ if (!g) {
40
+ i == null || i(t);
41
+ return;
42
+ }
43
+ p || A(x), f(!v), i == null || i(t);
26
44
  },
27
- onBlur: () => {
28
- o(!1);
45
+ onBlur: (t) => {
46
+ if (!g) {
47
+ m == null || m(t);
48
+ return;
49
+ }
50
+ f(!1), m == null || m(t);
29
51
  },
30
52
  onMouseLeave: (t) => {
31
- o(!1), f == null || f(t);
53
+ if (!g) {
54
+ d == null || d(t);
55
+ return;
56
+ }
57
+ f(!1), d == null || d(t);
32
58
  },
33
59
  onKeyDown: (t) => {
34
- i && t.key === "ArrowLeft" && o(!1);
60
+ if (!g) {
61
+ I == null || I(t);
62
+ return;
63
+ }
64
+ p && t.key === "ArrowLeft" && f(!1), I == null || I(t);
35
65
  }
36
- };
66
+ });
37
67
  };
38
68
  export {
39
- g as useContextMenuItemFocus
69
+ P as useContextMenuItemFocus
40
70
  };
@@ -1,4 +1,4 @@
1
- export interface UseContextMenuItemFocusOptions {
1
+ export interface UseContextMenuItemFocusOptions<T extends HTMLElement> {
2
2
  /**
3
3
  * The name of the display.
4
4
  */
@@ -7,6 +7,10 @@ export interface UseContextMenuItemFocusOptions {
7
7
  * The id of the item.
8
8
  */
9
9
  id: string;
10
+ /**
11
+ * The ref of the item.
12
+ */
13
+ ref: React.RefObject<T>;
10
14
  /**
11
15
  * Whether the item is disabled.
12
16
  */
@@ -15,13 +19,29 @@ export interface UseContextMenuItemFocusOptions {
15
19
  * Whether the item has a submenu.
16
20
  */
17
21
  hasSubmenu?: boolean;
22
+ /**
23
+ * Whether the item is selectable.
24
+ */
25
+ isSelectable?: boolean;
18
26
  /**
19
27
  * The callback function to be called when the mouse enters the item.
20
28
  */
21
- onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;
29
+ onMouseEnter?: (e: React.MouseEvent<T>) => void;
22
30
  /**
23
31
  * The callback function to be called when the mouse leaves the item.
24
32
  */
25
- onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;
33
+ onMouseLeave?: (e: React.MouseEvent<T>) => void;
34
+ /**
35
+ * The callback function to be called when the item is focused.
36
+ */
37
+ onFocus?: (e: React.FocusEvent<T>) => void;
38
+ /**
39
+ * The callback function to be called when the item is blurred.
40
+ */
41
+ onBlur?: (e: React.FocusEvent<T>) => void;
42
+ /**
43
+ * The callback function to be called when the item is keyed down.
44
+ */
45
+ onKeyDown?: (e: React.KeyboardEvent<T>) => void;
26
46
  }
27
47
  //# sourceMappingURL=useContextMenuItemFocus.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContextMenuItemFocus.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC1D;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC3D"}
1
+ {"version":3,"file":"useContextMenuItemFocus.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuItemFocus/useContextMenuItemFocus.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,WAAW;IACnE;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3C;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACjD"}
@@ -1,6 +1,7 @@
1
+ import { ContextMenuModeType } from '../../ContextMenu.types';
1
2
  import { UseContextMenuSubOptions } from './useContextMenuSub.types';
2
3
  export declare function useContextMenuSub({ displayName, mode: initialMode, defaultOpen, onOpen, }: UseContextMenuSubOptions): {
3
- open: boolean;
4
+ isOpen: boolean;
4
5
  setOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
5
6
  animatedOpen: boolean;
6
7
  startAnimation: () => void;
@@ -9,5 +10,10 @@ export declare function useContextMenuSub({ displayName, mode: initialMode, defa
9
10
  handleOpenChange: (value: boolean) => void;
10
11
  onOpenByKeyboard: (value: boolean) => void;
11
12
  triggerId: string;
13
+ contentRef: import('react').RefObject<HTMLDivElement>;
14
+ triggerRef: import('react').RefObject<HTMLDivElement>;
15
+ onChildOpen: (value: boolean, childModeValue: ContextMenuModeType) => void;
16
+ onSubRootOpen: (value: boolean) => void;
17
+ closeMenuImmediately: () => void;
12
18
  };
13
19
  //# sourceMappingURL=useContextMenuSub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContextMenuSub.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,IAAI,EAAE,WAAW,EACjB,WAAW,EACX,MAAM,GACP,EAAE,wBAAwB;;;;;;;8BA8EQ,OAAO;8BAsCP,OAAO;;EAyHzC"}
1
+ {"version":3,"file":"useContextMenuSub.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuSub/useContextMenuSub.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,IAAI,EAAE,WAAW,EACjB,WAAW,EACX,MAAM,GACP,EAAE,wBAAwB;;;;;;;8BA4FQ,OAAO;8BAyCP,OAAO;;;;yBA2D/B,OAAO,kBACE,mBAAmB;2BAyBH,OAAO;;EA4E1C"}
@@ -1,69 +1,93 @@
1
- import { useId as S, useState as C, useRef as v, useEffect as I } from "react";
2
- import { ContextMenuMode as c } from "../../ContextMenu.enums.js";
3
- import { useLevelContext as q } from "../../providers/LevelProvider/LevelProvider.js";
4
- import { useContextMenuContext as j, useContextMenuRootContext as w } from "../../ContextMenu.context.js";
5
- import "../../../../useContentPositioning-BLEFxO0N.mjs";
1
+ import { useId as Y, useState as f, useRef as T, useEffect as b } from "react";
2
+ import "react/jsx-runtime";
3
+ import "../../../../useContentPositioning-CLU2E_Oz.mjs";
4
+ import { ContextMenuMode as i } from "../../ContextMenu.enums.js";
5
+ import { useLevelContext as Z } from "../../providers/LevelProvider/LevelProvider.js";
6
+ import "../../providers/SubMenuProvider/SubMenuProvider.js";
7
+ import { useContextMenuContext as _ } from "../../ContextMenu.context.js";
6
8
  import "../../components/Content/Content.utils.js";
7
- import { useIsTouchDevice as z } from "../useIsTouchDevice/useIsTouchDevice.js";
8
- function X({
9
- displayName: T,
10
- mode: y,
11
- defaultOpen: l,
9
+ import { useIsTouchDevice as $ } from "../useIsTouchDevice/useIsTouchDevice.js";
10
+ import { useClickOutside as N } from "../useClickOutside/useClickOutside.js";
11
+ function le({
12
+ displayName: y,
13
+ mode: B,
14
+ defaultOpen: c,
12
15
  onOpen: e
13
16
  }) {
14
- const d = S(), [s, i] = C(l || !1), [H, f] = C(!1), [R, m] = C(!1), [x, o] = C(!1), t = v(null), r = v(null), V = z(), { hoverCloseDelay: E, animationDuration: b } = j(T), { onChildClickOpen: n } = w(T), { activeItemId: K } = q(T), u = V ? c.CLICK : y, M = () => {
15
- t.current && (clearTimeout(t.current), t.current = null), r.current && (clearTimeout(r.current), r.current = null);
17
+ const E = Y(), [o, n] = f(c || !1), [V, l] = f(!1), [K, C] = f(!1), [M, a] = f(!1), [k, A] = f(!1), [q, j] = f(null), [w, z] = f(!1), t = T(null), s = T(null), x = T(null), L = T(null), F = $(), { hoverCloseDelay: S, animationDuration: G } = _(y), { activeItemId: g, onChildOpen: m, onSubRootOpen: h } = Z(y), d = (r) => {
18
+ setTimeout(() => h == null ? void 0 : h(r), 0);
19
+ }, u = F ? i.CLICK : B, H = () => {
20
+ t.current && (clearTimeout(t.current), t.current = null), s.current && (clearTimeout(s.current), s.current = null);
21
+ }, I = () => {
22
+ H(), l(!1), n(!1), e == null || e(!1), d(!1), C(!1), a(!1);
16
23
  }, D = () => {
17
- M(), f(!1), i(!1), e == null || e(!1), m(!1), o(!1);
18
- }, h = () => {
19
- M(), u === c.HOVER ? (f(!1), r.current = setTimeout(() => {
20
- i(!1), e == null || e(!1), m(!1), o(!1);
21
- }, b)) : (i(!1), e == null || e(!1), m(!1), o(!1));
22
- }, L = (a) => {
23
- if (l !== void 0) {
24
- i(l), e == null || e(l), f(l), o(!1);
24
+ if (H(), u === i.HOVER) {
25
+ if (k && q === i.CLICK)
26
+ return;
27
+ l(!1), s.current = setTimeout(() => {
28
+ n(!1), e == null || e(!1), d(!1), C(!1), a(!1);
29
+ }, G);
30
+ } else
31
+ I();
32
+ }, v = (r) => {
33
+ if (c !== void 0) {
34
+ n(c), e == null || e(c), d(c), l(c), a(!1);
25
35
  return;
26
36
  }
27
- if (u === c.CLICK) {
28
- i(a), e == null || e(a), f(a);
37
+ if (u === i.CLICK) {
38
+ n(r), e == null || e(r), d(r), l(r);
29
39
  return;
30
40
  }
31
- a ? (r.current && (clearTimeout(r.current), r.current = null), u === c.HOVER && f(!0), i(!0), e == null || e(!0)) : h();
32
- }, g = (a) => {
33
- o(a), L(a);
34
- }, B = () => {
35
- u === c.HOVER && (o(!1), r.current && (clearTimeout(r.current), r.current = null, f(!0)), s || (t.current && (clearTimeout(t.current), t.current = null), f(!0), e == null || e(!0), i(!0)), m(!0));
36
- }, A = () => {
37
- u === c.HOVER && (o(!1), t.current && (clearTimeout(t.current), t.current = null), m(!1));
41
+ r ? (s.current && (clearTimeout(s.current), s.current = null), u === i.HOVER && l(!0), n(!0), e == null || e(!0), d(!0)) : D();
42
+ }, J = (r) => {
43
+ a(r), v(r);
44
+ }, P = () => {
45
+ u === i.HOVER && (a(!1), s.current && (clearTimeout(s.current), s.current = null, l(!0)), o || (t.current && (clearTimeout(t.current), t.current = null), l(!0), e == null || e(!0), d(!0), n(!0)), C(!0));
46
+ }, Q = () => {
47
+ u === i.HOVER && (a(!1), t.current && (clearTimeout(t.current), t.current = null), C(!1));
48
+ }, U = (r, R) => {
49
+ A(r), j(R), R === i.CLICK && (m == null || m(r, R));
50
+ }, W = () => {
51
+ w || I();
52
+ }, X = (r) => {
53
+ z(r);
38
54
  };
39
- return I(() => {
40
- K !== d && s && l === void 0 && D();
41
- }, [K, s, l]), I(() => {
42
- if (!(!s || u !== c.HOVER) && !x) {
43
- if (R) {
55
+ return b(() => {
56
+ g !== E && o && c === void 0 && I();
57
+ }, [g, o, c]), b(() => {
58
+ if (!(!o || u !== i.HOVER || M)) {
59
+ if (K) {
44
60
  t.current && (clearTimeout(t.current), t.current = null);
45
61
  return;
46
62
  }
47
63
  return t.current || (t.current = setTimeout(() => {
48
- h();
49
- }, E)), () => {
64
+ D();
65
+ }, S)), () => {
50
66
  t.current && (clearTimeout(t.current), t.current = null);
51
67
  };
52
68
  }
53
- }, [u, s, R, E, x]), I(() => {
54
- u === c.CLICK && s ? n == null || n(!0) : u === c.CLICK && !s && (n == null || n(!1));
55
- }, [s, u]), {
56
- open: s,
57
- setOpen: i,
58
- animatedOpen: H,
59
- startAnimation: () => f(!0),
60
- handleMouseEnter: B,
61
- handleMouseLeave: A,
62
- handleOpenChange: L,
63
- onOpenByKeyboard: g,
64
- triggerId: d
69
+ }, [u, o, K, S, M]), b(() => {
70
+ m == null || m(o, u);
71
+ }, [o, u]), N({
72
+ refs: [x, L],
73
+ handler: W
74
+ }), {
75
+ isOpen: o,
76
+ setOpen: n,
77
+ animatedOpen: V,
78
+ startAnimation: () => l(!0),
79
+ handleMouseEnter: P,
80
+ handleMouseLeave: Q,
81
+ handleOpenChange: v,
82
+ onOpenByKeyboard: J,
83
+ triggerId: E,
84
+ contentRef: x,
85
+ triggerRef: L,
86
+ onChildOpen: U,
87
+ onSubRootOpen: X,
88
+ closeMenuImmediately: I
65
89
  };
66
90
  }
67
91
  export {
68
- X as useContextMenuSub
92
+ le as useContextMenuSub
69
93
  };
@@ -1,8 +1,9 @@
1
1
  import { ContextMenuMode } from '../../ContextMenu.enums';
2
+ import { ContextMenuModeType } from '../../ContextMenu.types';
2
3
  import { UseContextMenuSubMenuOptions } from './useContextMenuSubMenu.types';
3
- export declare const useContextMenuSubMenu: ({ displayName, mode: rootMode, defaultOpen, animationDuration, subMenuOpen, setSubMenuOpen, hoverCloseDelay, closeRootMenuImmediately, onOpen, onAnimatedOpen, }: UseContextMenuSubMenuOptions) => {
4
- open: boolean;
4
+ export declare const useContextMenuSubMenu: ({ displayName, mode: rootMode, defaultOpen, animationDuration, subMenuOpen, setSubMenuOpen, hoverCloseDelay, onOpen, onAnimatedOpen, }: UseContextMenuSubMenuOptions) => {
5
5
  mode: "click" | "hover" | ContextMenuMode;
6
+ isOpen: boolean;
6
7
  onOpenChange: (value: boolean) => void;
7
8
  onOpenByKeyboard: (value: boolean) => void;
8
9
  inheritedArrowColor: string | null;
@@ -12,10 +13,11 @@ export declare const useContextMenuSubMenu: ({ displayName, mode: rootMode, defa
12
13
  animationDuration: number;
13
14
  hoverCloseDelay: number;
14
15
  temporaryHoverClose: boolean;
15
- closeMenuImmediately: (closeRootMenu?: boolean) => void;
16
+ closeMenuImmediately: (forceCloseRootMenu?: boolean) => void;
16
17
  onMouseEnter: () => void;
17
18
  onMouseLeave: () => void;
18
19
  enableTemporaryHoverClose: () => void;
19
20
  triggerId: string;
21
+ onChildOpen: (value: boolean, childModeValue: ContextMenuModeType) => void;
20
22
  };
21
23
  //# sourceMappingURL=useContextMenuSubMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContextMenuSubMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,eAAO,MAAM,qBAAqB,qKAW/B,4BAA4B;;;0BA2FI,OAAO;8BA6BP,OAAO;;;;;;;;2CA7CK,OAAO;;;;;CAuLrD,CAAC"}
1
+ {"version":3,"file":"useContextMenuSubMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/ContextMenu/hooks/useContextMenuSubMenu/useContextMenuSubMenu.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAS1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,eAAO,MAAM,qBAAqB,2IAU/B,4BAA4B;;;0BAuHI,OAAO;8BA2BP,OAAO;;;;;;;;gDA3CW,OAAO;;;;;yBA8GjD,OAAO,kBACE,mBAAmB;CA2FtC,CAAC"}