@yselimcan/ui 0.0.6 → 0.0.7

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 (216) hide show
  1. package/dist/index100.js +4 -32
  2. package/dist/index101.js +67 -19
  3. package/dist/index102.js +8 -5
  4. package/dist/index103.js +14 -4
  5. package/dist/index104.js +4 -5
  6. package/dist/index105.js +3 -11
  7. package/dist/index106.js +5 -18
  8. package/dist/index107.js +30 -13
  9. package/dist/index108.js +11 -296
  10. package/dist/index109.js +66 -4
  11. package/dist/index110.js +52 -37
  12. package/dist/index111.js +10 -123
  13. package/dist/index112.js +5 -4
  14. package/dist/index113.js +12 -20
  15. package/dist/index114.js +12 -76
  16. package/dist/index115.js +29 -61
  17. package/dist/index116.js +19 -46
  18. package/dist/index117.js +38 -64
  19. package/dist/index118.js +18 -8
  20. package/dist/index119.js +11 -13
  21. package/dist/index120.js +38 -4
  22. package/dist/index121.js +14 -4
  23. package/dist/index122.js +8 -5
  24. package/dist/index123.js +13 -134
  25. package/dist/index124.js +5 -27
  26. package/dist/index125.js +87 -8
  27. package/dist/index126.js +296 -4
  28. package/dist/index127.js +11 -12
  29. package/dist/index128.js +121 -18
  30. package/dist/index129.js +5 -14
  31. package/dist/index130.js +263 -5
  32. package/dist/index131.js +77 -27
  33. package/dist/index132.js +38 -17
  34. package/dist/index133.js +21 -22
  35. package/dist/index134.js +11 -58
  36. package/dist/index135.js +55 -16
  37. package/dist/index136.js +11 -27
  38. package/dist/index137.js +11 -40
  39. package/dist/index138.js +31 -43
  40. package/dist/index139.js +16 -19
  41. package/dist/index140.js +65 -47
  42. package/dist/index141.js +97 -44
  43. package/dist/index142.js +8 -17
  44. package/dist/index143.js +8 -11
  45. package/dist/index144.js +2 -2
  46. package/dist/index145.js +102 -34
  47. package/dist/index146.js +7 -230
  48. package/dist/index147.js +31 -282
  49. package/dist/index148.js +230 -53
  50. package/dist/index149.js +74 -15
  51. package/dist/index150.js +275 -71
  52. package/dist/index151.js +53 -3
  53. package/dist/index152.js +43 -28
  54. package/dist/index153.js +77 -24
  55. package/dist/index154.js +3 -15
  56. package/dist/index155.js +12 -67
  57. package/dist/index156.js +16 -4
  58. package/dist/index157.js +27 -103
  59. package/dist/index158.js +7 -79
  60. package/dist/index159.js +19 -260
  61. package/dist/index160.js +25 -12
  62. package/dist/index161.js +159 -9
  63. package/dist/index162.js +111 -38
  64. package/dist/index163.js +64 -4
  65. package/dist/index164.js +75 -66
  66. package/dist/index165.js +65 -10
  67. package/dist/index166.js +69 -8
  68. package/dist/index167.js +14 -6
  69. package/dist/index168.js +6 -52
  70. package/dist/index169.js +4 -10
  71. package/dist/index17.js +4 -4
  72. package/dist/index170.js +16 -116
  73. package/dist/index171.js +20 -10
  74. package/dist/index172.js +58 -11
  75. package/dist/index173.js +16 -65
  76. package/dist/index174.js +26 -11
  77. package/dist/index175.js +42 -12
  78. package/dist/index176.js +20 -11
  79. package/dist/index177.js +48 -11
  80. package/dist/index178.js +47 -83
  81. package/dist/index179.js +17 -11
  82. package/dist/index18.js +4 -4
  83. package/dist/index180.js +11 -11
  84. package/dist/index181.js +34 -55
  85. package/dist/index182.js +15 -11
  86. package/dist/index183.js +79 -11
  87. package/dist/index184.js +23 -18
  88. package/dist/index185.js +4 -9
  89. package/dist/index186.js +10 -7
  90. package/dist/index187.js +10 -103
  91. package/dist/index188.js +40 -7
  92. package/dist/index189.js +4 -32
  93. package/dist/index19.js +9 -9
  94. package/dist/index190.js +10 -75
  95. package/dist/index191.js +11 -14
  96. package/dist/index192.js +114 -25
  97. package/dist/index193.js +11 -7
  98. package/dist/index194.js +85 -20
  99. package/dist/index195.js +12 -24
  100. package/dist/index196.js +59 -157
  101. package/dist/index197.js +4 -114
  102. package/dist/index198.js +5 -76
  103. package/dist/index199.js +11 -64
  104. package/dist/index20.js +2 -2
  105. package/dist/index200.js +5 -47
  106. package/dist/index201.js +21 -199
  107. package/dist/index202.js +4 -48
  108. package/dist/index203.js +27 -20
  109. package/dist/index204.js +127 -26
  110. package/dist/index205.js +45 -6
  111. package/dist/index206.js +18 -10
  112. package/dist/index207.js +5 -12
  113. package/dist/index208.js +179 -15
  114. package/dist/index209.js +75 -6
  115. package/dist/index21.js +3 -3
  116. package/dist/index210.js +399 -4
  117. package/dist/index211.js +199 -21
  118. package/dist/index212.js +46 -126
  119. package/dist/index213.js +18 -43
  120. package/dist/index214.js +47 -17
  121. package/dist/index215.js +7 -5
  122. package/dist/index216.js +5 -181
  123. package/dist/index217.js +15 -74
  124. package/dist/index218.js +12 -396
  125. package/dist/index219.js +33 -4
  126. package/dist/index22.js +5 -5
  127. package/dist/index220.js +4 -5
  128. package/dist/index221.js +11 -14
  129. package/dist/index222.js +7 -30
  130. package/dist/index223.js +1 -1
  131. package/dist/index224.js +2 -2
  132. package/dist/index225.js +1 -1
  133. package/dist/index227.js +1 -1
  134. package/dist/index228.js +1 -1
  135. package/dist/index229.js +1 -1
  136. package/dist/index23.js +2 -2
  137. package/dist/index231.js +1 -1
  138. package/dist/index233.js +1 -1
  139. package/dist/index234.js +28 -28
  140. package/dist/index235.js +1 -1
  141. package/dist/index236.js +4 -209
  142. package/dist/index237.js +209 -4
  143. package/dist/index238.js +3 -13
  144. package/dist/index239.js +13 -47
  145. package/dist/index24.js +9 -9
  146. package/dist/index240.js +47 -3
  147. package/dist/index242.js +3 -3
  148. package/dist/index243.js +2 -2
  149. package/dist/index246.js +2 -2
  150. package/dist/index247.js +1 -1
  151. package/dist/index251.js +1 -1
  152. package/dist/index253.js +1 -1
  153. package/dist/index256.js +1 -1
  154. package/dist/index257.js +1 -1
  155. package/dist/index260.js +1 -1
  156. package/dist/index261.js +1 -1
  157. package/dist/index262.js +2 -2
  158. package/dist/index264.js +2 -2
  159. package/dist/index27.js +1 -1
  160. package/dist/index28.js +1 -1
  161. package/dist/index33.js +11 -11
  162. package/dist/index34.js +2 -2
  163. package/dist/index35.js +9 -9
  164. package/dist/index36.js +7 -7
  165. package/dist/index37.js +3 -3
  166. package/dist/index38.js +5 -5
  167. package/dist/index39.js +3 -3
  168. package/dist/index41.js +2 -2
  169. package/dist/index45.js +2 -2
  170. package/dist/index46.js +4 -4
  171. package/dist/index47.js +5 -5
  172. package/dist/index48.js +15 -15
  173. package/dist/index49.js +2 -2
  174. package/dist/index50.js +9 -9
  175. package/dist/index52.js +24 -24
  176. package/dist/index53.js +3 -3
  177. package/dist/index54.js +31 -31
  178. package/dist/index55.js +13 -13
  179. package/dist/index56.js +12 -12
  180. package/dist/index57.js +1 -1
  181. package/dist/index58.js +3 -3
  182. package/dist/index59.js +5 -5
  183. package/dist/index60.js +11 -11
  184. package/dist/index61.js +4 -4
  185. package/dist/index62.js +3 -3
  186. package/dist/index63.js +11 -11
  187. package/dist/index64.js +4 -4
  188. package/dist/index65.js +3 -3
  189. package/dist/index66.js +13 -13
  190. package/dist/index67.js +1 -1
  191. package/dist/index69.js +31 -31
  192. package/dist/index70.js +5 -5
  193. package/dist/index71.js +17 -17
  194. package/dist/index72.js +23 -23
  195. package/dist/index73.js +7 -7
  196. package/dist/index74.js +1 -1
  197. package/dist/index75.js +13 -13
  198. package/dist/index76.js +2 -2
  199. package/dist/index77.js +4 -4
  200. package/dist/index78.js +3 -3
  201. package/dist/index79.js +1 -1
  202. package/dist/index80.js +1 -1
  203. package/dist/index81.js +17 -17
  204. package/dist/index82.js +4 -4
  205. package/dist/index83.js +4 -4
  206. package/dist/index86.js +89 -11
  207. package/dist/index87.js +8 -8
  208. package/dist/index88.js +12 -96
  209. package/dist/index89.js +87 -81
  210. package/dist/index94.js +133 -7
  211. package/dist/index95.js +26 -86
  212. package/dist/index96.js +8 -12
  213. package/dist/index97.js +5 -63
  214. package/dist/index98.js +13 -38
  215. package/dist/index99.js +23 -14
  216. package/package.json +5 -2
package/dist/index145.js CHANGED
@@ -1,38 +1,106 @@
1
- import { isElement as s } from "./index123.js";
2
- import { useId as m } from "./index184.js";
3
- import { useRefWithInit as c } from "./index94.js";
4
- import { useIsoLayoutEffect as a } from "./index126.js";
5
- import { useFloatingParentNodeId as u } from "./index181.js";
6
- import { FloatingRootStore as g } from "./index242.js";
7
- import { PopupTriggerMap as p } from "./index202.js";
8
- function O(o) {
9
- const {
10
- open: r = !1,
11
- onOpenChange: i,
12
- elements: e = {}
13
- } = o, f = m(), l = u() != null;
14
- if (process.env.NODE_ENV !== "production") {
15
- const n = e.reference;
16
- n && !s(n) && console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
1
+ import * as o from "react";
2
+ import { EMPTY_OBJECT as s } from "./index106.js";
3
+ import { useRefWithInit as l } from "./index168.js";
4
+ import { FloatingTreeStore as u } from "./index155.js";
5
+ import { ReactStore as p } from "./index211.js";
6
+ import { PopupTriggerMap as d } from "./index212.js";
7
+ import { createSelector as t } from "./index213.js";
8
+ import { popupStoreSelectors as f, createInitialPopupStoreState as c } from "./index214.js";
9
+ const m = {
10
+ ...f,
11
+ disabled: t((e) => e.parent.type === "menubar" && e.parent.context.disabled || e.disabled),
12
+ modal: t((e) => (e.parent.type === void 0 || e.parent.type === "context-menu") && (e.modal ?? !0)),
13
+ allowMouseEnter: t((e) => e.parent.type === "menu" ? e.parent.store.select("allowMouseEnter") : e.allowMouseEnter),
14
+ stickIfOpen: t((e) => e.stickIfOpen),
15
+ parent: t((e) => e.parent),
16
+ rootId: t((e) => e.parent.type === "menu" ? e.parent.store.select("rootId") : e.parent.type !== void 0 ? e.parent.context.rootId : e.rootId),
17
+ activeIndex: t((e) => e.activeIndex),
18
+ isActive: t((e, n) => e.activeIndex === n),
19
+ hoverEnabled: t((e) => e.hoverEnabled),
20
+ instantType: t((e) => e.instantType),
21
+ lastOpenChangeReason: t((e) => e.openChangeReason),
22
+ floatingTreeRoot: t((e) => e.parent.type === "menu" ? e.parent.store.select("floatingTreeRoot") : e.floatingTreeRoot),
23
+ floatingNodeId: t((e) => e.floatingNodeId),
24
+ floatingParentNodeId: t((e) => e.floatingParentNodeId),
25
+ itemProps: t((e) => e.itemProps),
26
+ closeDelay: t((e) => e.closeDelay),
27
+ keyboardEventRelay: t((e) => {
28
+ if (e.keyboardEventRelay)
29
+ return e.keyboardEventRelay;
30
+ if (e.parent.type === "menu")
31
+ return e.parent.store.select("keyboardEventRelay");
32
+ })
33
+ };
34
+ class a extends p {
35
+ constructor(n) {
36
+ super({
37
+ ...g(),
38
+ ...n
39
+ }, {
40
+ positionerRef: /* @__PURE__ */ o.createRef(),
41
+ popupRef: /* @__PURE__ */ o.createRef(),
42
+ typingRef: {
43
+ current: !1
44
+ },
45
+ itemDomElements: {
46
+ current: []
47
+ },
48
+ itemLabels: {
49
+ current: []
50
+ },
51
+ allowMouseUpTriggerRef: {
52
+ current: !1
53
+ },
54
+ triggerFocusTargetRef: /* @__PURE__ */ o.createRef(),
55
+ beforeContentFocusGuardRef: /* @__PURE__ */ o.createRef(),
56
+ onOpenChangeComplete: void 0,
57
+ triggerElements: new d()
58
+ }, m), this.observe(t((r) => r.allowMouseEnter), (r, i) => {
59
+ this.state.parent.type === "menu" && r !== i && this.state.parent.store.set("allowMouseEnter", r);
60
+ }), this.unsubscribeParentListener = this.observe("parent", (r) => {
61
+ if (this.unsubscribeParentListener?.(), r.type === "menu") {
62
+ this.unsubscribeParentListener = r.store.subscribe(() => {
63
+ this.notifyAll();
64
+ }), this.context.allowMouseUpTriggerRef = r.store.context.allowMouseUpTriggerRef;
65
+ return;
66
+ }
67
+ r.type !== void 0 && (this.context.allowMouseUpTriggerRef = r.context.allowMouseUpTriggerRef), this.unsubscribeParentListener = null;
68
+ });
69
+ }
70
+ setOpen(n, r) {
71
+ this.state.floatingRootContext.context.events.emit("setOpen", {
72
+ open: n,
73
+ eventDetails: r
74
+ });
17
75
  }
18
- const t = c(() => new g({
19
- open: r,
20
- onOpenChange: i,
21
- referenceElement: e.reference ?? null,
22
- floatingElement: e.floating ?? null,
23
- triggerElements: e.triggers ?? new p(),
24
- floatingId: f,
25
- nested: l,
26
- noEmit: o.noEmit || !1
27
- })).current;
28
- return a(() => {
29
- const n = {
30
- open: r,
31
- floatingId: f
32
- };
33
- e.reference !== void 0 && (n.referenceElement = e.reference, n.domReferenceElement = s(e.reference) ? e.reference : null), e.floating !== void 0 && (n.floatingElement = e.floating), t.update(n);
34
- }, [r, f, e.reference, e.floating, t]), t.context.onOpenChange = i, t.context.nested = l, t.context.noEmit = o.noEmit || !1, t;
76
+ static useStore(n, r) {
77
+ return l(() => n ?? new a(r)).current;
78
+ }
79
+ unsubscribeParentListener = null;
80
+ }
81
+ function g() {
82
+ return {
83
+ ...c(),
84
+ disabled: !1,
85
+ modal: !0,
86
+ allowMouseEnter: !0,
87
+ stickIfOpen: !0,
88
+ parent: {
89
+ type: void 0
90
+ },
91
+ rootId: void 0,
92
+ activeIndex: null,
93
+ hoverEnabled: !0,
94
+ instantType: void 0,
95
+ openChangeReason: null,
96
+ floatingTreeRoot: new u(),
97
+ floatingNodeId: void 0,
98
+ floatingParentNodeId: null,
99
+ itemProps: s,
100
+ keyboardEventRelay: void 0,
101
+ closeDelay: 0
102
+ };
35
103
  }
36
104
  export {
37
- O as useFloatingRootContext
105
+ a as MenuStore
38
106
  };
package/dist/index146.js CHANGED
@@ -1,233 +1,10 @@
1
- import * as p from "react";
2
- import { isElement as P, isLastTraversableNode as U, getParentNode as Ce, isHTMLElement as Oe, getComputedStyle as Se, getOverflowAncestors as j, isWebKit as De } from "./index123.js";
3
- import { useTimeout as ce, Timeout as ke } from "./index152.js";
4
- import { useStableCallback as s } from "./index124.js";
5
- import { useFloatingTree as Me } from "./index181.js";
6
- import { createChangeEventDetails as S } from "./index100.js";
7
- import { createAttribute as Ke } from "./index237.js";
8
- import { isReactEvent as Ie } from "./index225.js";
9
- import { getTarget as w, getDocument as ie, contains as X, isRootElement as xe, isEventTargetWithin as f } from "./index155.js";
10
- import { getNodeChildren as G } from "./index241.js";
11
- import { triggerPress as le, escapeKey as Xe, outsidePress as Ye, none as We } from "./index101.js";
12
- const _e = {
13
- intentional: "onClick",
14
- sloppy: "onPointerDown"
15
- };
16
- function He(d) {
17
- return {
18
- escapeKey: typeof d == "boolean" ? d : d?.escapeKey ?? !1,
19
- outsidePress: typeof d == "boolean" ? d : d?.outsidePress ?? !0
20
- };
21
- }
22
- function Je(d, ue = {}) {
23
- const r = "rootStore" in d ? d.rootStore : d, Y = r.useState("open"), D = r.useState("floatingElement"), C = r.useState("referenceElement"), W = r.useState("domReferenceElement"), {
24
- onOpenChange: ae,
25
- dataRef: m
26
- } = r.context, {
27
- enabled: E = !0,
28
- escapeKey: k = !0,
29
- outsidePress: M = !0,
30
- outsidePressEvent: _ = "sloppy",
31
- referencePress: J = !1,
32
- referencePressEvent: H = "sloppy",
33
- ancestorScroll: Q = !1,
34
- bubbles: fe,
35
- externalTree: de
36
- } = ue, T = Me(de), pe = s(typeof M == "function" ? M : () => !1), v = typeof M == "function" ? pe : M, A = p.useRef(!1), {
37
- escapeKey: K,
38
- outsidePress: Z
39
- } = He(fe), u = p.useRef(null), I = ce(), z = ce(), b = s(() => {
40
- z.clear(), m.current.insideReactTree = !1;
41
- }), B = p.useRef(!1), ee = p.useRef(""), N = s((e) => {
42
- ee.current = e.pointerType;
43
- }), L = s(() => {
44
- const e = ee.current, n = e === "pen" || !e ? "mouse" : e, t = typeof _ == "function" ? _() : _;
45
- return typeof t == "string" ? t : t[n];
46
- }), h = s((e) => {
47
- if (!Y || !E || !k || e.key !== "Escape" || B.current)
48
- return;
49
- const n = m.current.floatingContext?.nodeId, t = T ? G(T.nodesRef.current, n) : [];
50
- if (!K && t.length > 0) {
51
- let i = !0;
52
- if (t.forEach((c) => {
53
- c.context?.open && !c.context.dataRef.current.__escapeKeyBubbles && (i = !1);
54
- }), !i)
55
- return;
56
- }
57
- const a = Ie(e) ? e.nativeEvent : e, o = S(Xe, a);
58
- r.setOpen(!1, o), !K && !o.isPropagationAllowed && e.stopPropagation();
59
- }), me = s((e) => {
60
- const n = L();
61
- return n === "intentional" && e.type !== "click" || n === "sloppy" && e.type === "click";
62
- }), g = s(() => {
63
- m.current.insideReactTree = !0, z.start(0, b);
64
- }), O = s((e, n = !1) => {
65
- if (me(e)) {
66
- b();
67
- return;
68
- }
69
- if (m.current.insideReactTree) {
70
- b();
71
- return;
72
- }
73
- if (L() === "intentional" && n || typeof v == "function" && !v(e))
74
- return;
75
- const t = w(e), a = `[${Ke("inert")}]`, o = ie(r.select("floatingElement")).querySelectorAll(a), i = r.context.triggerElements;
76
- if (t && (i.hasElement(t) || i.hasMatchingElement((l) => X(l, t))))
77
- return;
78
- let c = P(t) ? t : null;
79
- for (; c && !U(c); ) {
80
- const l = Ce(c);
81
- if (U(l) || !P(l))
82
- break;
83
- c = l;
84
- }
85
- if (o.length && P(t) && !xe(t) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
86
- !X(t, r.select("floatingElement")) && // If the target root element contains none of the markers, then the
87
- // element was injected after the floating element rendered.
88
- Array.from(o).every((l) => !X(c, l)))
89
- return;
90
- if (Oe(t) && !("touches" in e)) {
91
- const l = U(t), R = Se(t), se = /auto|scroll/, Te = l || se.test(R.overflowX), ve = l || se.test(R.overflowY), be = Te && t.clientWidth > 0 && t.scrollWidth > t.clientWidth, Le = ve && t.clientHeight > 0 && t.scrollHeight > t.clientHeight, Re = R.direction === "rtl", Pe = Le && (Re ? e.offsetX <= t.offsetWidth - t.clientWidth : e.offsetX > t.clientWidth), we = be && e.offsetY > t.clientHeight;
92
- if (Pe || we)
93
- return;
94
- }
95
- const oe = m.current.floatingContext?.nodeId, ye = T && G(T.nodesRef.current, oe).some((l) => f(e, l.context?.elements.floating));
96
- if (f(e, r.select("floatingElement")) || f(e, r.select("domReferenceElement")) || ye)
97
- return;
98
- const re = T ? G(T.nodesRef.current, oe) : [];
99
- if (re.length > 0) {
100
- let l = !0;
101
- if (re.forEach((R) => {
102
- R.context?.open && !R.context.dataRef.current.__outsidePressBubbles && (l = !1);
103
- }), !l)
104
- return;
105
- }
106
- r.setOpen(!1, S(Ye, e)), b();
107
- }), te = s((e) => {
108
- L() !== "sloppy" || e.pointerType === "touch" || !r.select("open") || !E || f(e, r.select("floatingElement")) || f(e, r.select("domReferenceElement")) || O(e);
109
- }), Ee = s((e) => {
110
- if (L() !== "sloppy" || !r.select("open") || !E || f(e, r.select("floatingElement")) || f(e, r.select("domReferenceElement")))
111
- return;
112
- const n = e.touches[0];
113
- n && (u.current = {
114
- startTime: Date.now(),
115
- startX: n.clientX,
116
- startY: n.clientY,
117
- dismissOnTouchEnd: !1,
118
- dismissOnMouseDown: !0
119
- }, I.start(1e3, () => {
120
- u.current && (u.current.dismissOnTouchEnd = !1, u.current.dismissOnMouseDown = !1);
121
- }));
122
- }), V = s((e) => {
123
- const n = w(e);
124
- function t() {
125
- Ee(e), n?.removeEventListener(e.type, t);
126
- }
127
- n?.addEventListener(e.type, t);
128
- }), y = s((e) => {
129
- const n = A.current;
130
- if (A.current = !1, I.clear(), e.type === "mousedown" && u.current && !u.current.dismissOnMouseDown)
131
- return;
132
- const t = w(e);
133
- function a() {
134
- e.type === "pointerdown" ? te(e) : O(e, n), t?.removeEventListener(e.type, a);
135
- }
136
- t?.addEventListener(e.type, a);
137
- }), he = s((e) => {
138
- if (L() !== "sloppy" || !u.current || f(e, r.select("floatingElement")) || f(e, r.select("domReferenceElement")))
139
- return;
140
- const n = e.touches[0];
141
- if (!n)
142
- return;
143
- const t = Math.abs(n.clientX - u.current.startX), a = Math.abs(n.clientY - u.current.startY), o = Math.sqrt(t * t + a * a);
144
- o > 5 && (u.current.dismissOnTouchEnd = !0), o > 10 && (O(e), I.clear(), u.current = null);
145
- }), $ = s((e) => {
146
- const n = w(e);
147
- function t() {
148
- he(e), n?.removeEventListener(e.type, t);
149
- }
150
- n?.addEventListener(e.type, t);
151
- }), ge = s((e) => {
152
- L() !== "sloppy" || !u.current || f(e, r.select("floatingElement")) || f(e, r.select("domReferenceElement")) || (u.current.dismissOnTouchEnd && O(e), I.clear(), u.current = null);
153
- }), q = s((e) => {
154
- const n = w(e);
155
- function t() {
156
- ge(e), n?.removeEventListener(e.type, t);
157
- }
158
- n?.addEventListener(e.type, t);
159
- });
160
- p.useEffect(() => {
161
- if (!Y || !E)
162
- return;
163
- m.current.__escapeKeyBubbles = K, m.current.__outsidePressBubbles = Z;
164
- const e = new ke();
165
- function n(c) {
166
- r.setOpen(!1, S(We, c));
167
- }
168
- function t() {
169
- e.clear(), B.current = !0;
170
- }
171
- function a() {
172
- e.start(
173
- // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
174
- // Only apply to WebKit for the test to remain 0ms.
175
- De() ? 5 : 0,
176
- () => {
177
- B.current = !1;
178
- }
179
- );
180
- }
181
- const o = ie(D);
182
- o.addEventListener("pointerdown", N, !0), k && (o.addEventListener("keydown", h), o.addEventListener("compositionstart", t), o.addEventListener("compositionend", a)), v && (o.addEventListener("click", y, !0), o.addEventListener("pointerdown", y, !0), o.addEventListener("touchstart", V, !0), o.addEventListener("touchmove", $, !0), o.addEventListener("touchend", q, !0), o.addEventListener("mousedown", y, !0));
183
- let i = [];
184
- return Q && (P(W) && (i = j(W)), P(D) && (i = i.concat(j(D))), !P(C) && C && C.contextElement && (i = i.concat(j(C.contextElement)))), i = i.filter((c) => c !== o.defaultView?.visualViewport), i.forEach((c) => {
185
- c.addEventListener("scroll", n, {
186
- passive: !0
187
- });
188
- }), () => {
189
- o.removeEventListener("pointerdown", N, !0), k && (o.removeEventListener("keydown", h), o.removeEventListener("compositionstart", t), o.removeEventListener("compositionend", a)), v && (o.removeEventListener("click", y, !0), o.removeEventListener("pointerdown", y, !0), o.removeEventListener("touchstart", V, !0), o.removeEventListener("touchmove", $, !0), o.removeEventListener("touchend", q, !0), o.removeEventListener("mousedown", y, !0)), i.forEach((c) => {
190
- c.removeEventListener("scroll", n);
191
- }), e.clear();
192
- };
193
- }, [m, D, C, W, k, v, Y, ae, Q, E, K, Z, h, O, y, te, V, $, q, N, r]), p.useEffect(b, [v, b]);
194
- const F = p.useMemo(() => ({
195
- onKeyDown: h,
196
- ...J && {
197
- [_e[H]]: (e) => {
198
- r.setOpen(!1, S(le, e.nativeEvent));
199
- },
200
- ...H !== "intentional" && {
201
- onClick(e) {
202
- r.setOpen(!1, S(le, e.nativeEvent));
203
- }
204
- }
205
- }
206
- }), [h, r, J, H]), x = s((e) => {
207
- const n = w(e.nativeEvent);
208
- !X(r.select("floatingElement"), n) || e.button !== 0 || (A.current = !0);
209
- }), ne = p.useMemo(() => ({
210
- onKeyDown: h,
211
- // `onMouseDown` may be blocked if `event.preventDefault()` is called in
212
- // `onPointerDown`, such as with <NumberField.ScrubArea>.
213
- // See https://github.com/mui/base-ui/pull/3379
214
- onPointerDown: x,
215
- onMouseDown: x,
216
- onMouseUp: x,
217
- onClickCapture: g,
218
- onMouseDownCapture: g,
219
- onPointerDownCapture: g,
220
- onMouseUpCapture: g,
221
- onTouchEndCapture: g,
222
- onTouchMoveCapture: g
223
- }), [h, x, g]);
224
- return p.useMemo(() => E ? {
225
- reference: F,
226
- floating: ne,
227
- trigger: F
228
- } : {}, [E, F, ne]);
1
+ import * as e from "react";
2
+ const t = /* @__PURE__ */ e.createContext(void 0);
3
+ process.env.NODE_ENV !== "production" && (t.displayName = "MenuSubmenuRootContext");
4
+ function n() {
5
+ return e.useContext(t);
229
6
  }
230
7
  export {
231
- He as normalizeProp,
232
- Je as useDismiss
8
+ t as MenuSubmenuRootContext,
9
+ n as useMenuSubmenuRootContext
233
10
  };