@yselimcan/ui 0.0.4 → 0.0.5

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 (184) hide show
  1. package/dist/index101.js +7 -133
  2. package/dist/index102.js +86 -26
  3. package/dist/index103.js +12 -8
  4. package/dist/index104.js +63 -5
  5. package/dist/index105.js +38 -13
  6. package/dist/index106.js +14 -23
  7. package/dist/index107.js +32 -7
  8. package/dist/index108.js +19 -88
  9. package/dist/index109.js +4 -11
  10. package/dist/index110.js +4 -63
  11. package/dist/index111.js +4 -37
  12. package/dist/index112.js +12 -14
  13. package/dist/index113.js +18 -32
  14. package/dist/index114.js +13 -19
  15. package/dist/index115.js +295 -4
  16. package/dist/index116.js +5 -4
  17. package/dist/index117.js +39 -5
  18. package/dist/index118.js +124 -10
  19. package/dist/index119.js +21 -19
  20. package/dist/index120.js +77 -13
  21. package/dist/index121.js +59 -291
  22. package/dist/index122.js +45 -4
  23. package/dist/index123.js +14 -39
  24. package/dist/index124.js +4 -124
  25. package/dist/index125.js +29 -20
  26. package/dist/index126.js +5 -77
  27. package/dist/index127.js +25 -62
  28. package/dist/index128.js +16 -44
  29. package/dist/index129.js +22 -14
  30. package/dist/index130.js +58 -5
  31. package/dist/index131.js +16 -28
  32. package/dist/index132.js +25 -15
  33. package/dist/index133.js +40 -21
  34. package/dist/index134.js +43 -59
  35. package/dist/index135.js +19 -15
  36. package/dist/index136.js +47 -26
  37. package/dist/index137.js +49 -38
  38. package/dist/index138.js +18 -43
  39. package/dist/index139.js +11 -21
  40. package/dist/index140.js +22 -48
  41. package/dist/index141.js +34 -50
  42. package/dist/index142.js +229 -16
  43. package/dist/index143.js +283 -11
  44. package/dist/index144.js +52 -21
  45. package/dist/index145.js +15 -35
  46. package/dist/index146.js +74 -225
  47. package/dist/index147.js +3 -283
  48. package/dist/index148.js +30 -53
  49. package/dist/index149.js +24 -16
  50. package/dist/index150.js +15 -79
  51. package/dist/index151.js +69 -3
  52. package/dist/index152.js +4 -31
  53. package/dist/index153.js +103 -22
  54. package/dist/index154.js +79 -15
  55. package/dist/index155.js +259 -65
  56. package/dist/index156.js +12 -4
  57. package/dist/index157.js +11 -105
  58. package/dist/index158.js +37 -76
  59. package/dist/index159.js +4 -263
  60. package/dist/index160.js +66 -11
  61. package/dist/index161.js +9 -10
  62. package/dist/index162.js +8 -40
  63. package/dist/index163.js +5 -4
  64. package/dist/index164.js +129 -62
  65. package/dist/index165.js +54 -10
  66. package/dist/index166.js +11 -8
  67. package/dist/index167.js +118 -6
  68. package/dist/index168.js +11 -53
  69. package/dist/index169.js +8 -11
  70. package/dist/index17.js +4 -4
  71. package/dist/index170.js +12 -117
  72. package/dist/index171.js +22 -11
  73. package/dist/index173.js +2 -2
  74. package/dist/index175.js +2 -2
  75. package/dist/index178.js +6 -6
  76. package/dist/index18.js +5 -5
  77. package/dist/index181.js +2 -2
  78. package/dist/index184.js +1 -1
  79. package/dist/index187.js +5 -5
  80. package/dist/index189.js +3 -3
  81. package/dist/index19.js +10 -10
  82. package/dist/index190.js +1 -1
  83. package/dist/index191.js +1 -1
  84. package/dist/index192.js +2 -2
  85. package/dist/index193.js +1 -1
  86. package/dist/index194.js +1 -1
  87. package/dist/index195.js +3 -3
  88. package/dist/index196.js +6 -6
  89. package/dist/index197.js +3 -3
  90. package/dist/index198.js +6 -6
  91. package/dist/index199.js +1 -1
  92. package/dist/index20.js +3 -3
  93. package/dist/index200.js +5 -47
  94. package/dist/index201.js +41 -193
  95. package/dist/index202.js +182 -30
  96. package/dist/index203.js +48 -20
  97. package/dist/index204.js +20 -6
  98. package/dist/index205.js +2 -2
  99. package/dist/index207.js +6 -9
  100. package/dist/index208.js +4 -17
  101. package/dist/index209.js +9 -6
  102. package/dist/index21.js +4 -4
  103. package/dist/index210.js +17 -4
  104. package/dist/index217.js +3 -3
  105. package/dist/index218.js +1 -1
  106. package/dist/index22.js +5 -5
  107. package/dist/index220.js +2 -2
  108. package/dist/index221.js +1 -1
  109. package/dist/index229.js +1 -1
  110. package/dist/index23.js +3 -3
  111. package/dist/index230.js +4 -597
  112. package/dist/index231.js +4 -11
  113. package/dist/index232.js +593 -29
  114. package/dist/index233.js +12 -4
  115. package/dist/index234.js +15 -5
  116. package/dist/index235.js +30 -12
  117. package/dist/index239.js +2 -2
  118. package/dist/index24.js +9 -9
  119. package/dist/index242.js +3 -3
  120. package/dist/index243.js +1 -1
  121. package/dist/index247.js +14 -321
  122. package/dist/index248.js +322 -3
  123. package/dist/index249.js +3 -3
  124. package/dist/index250.js +3 -15
  125. package/dist/index251.js +1 -1
  126. package/dist/index26.js +1 -1
  127. package/dist/index27.js +1 -1
  128. package/dist/index28.js +2 -2
  129. package/dist/index32.js +1 -1
  130. package/dist/index33.js +11 -11
  131. package/dist/index34.js +2 -2
  132. package/dist/index35.js +10 -10
  133. package/dist/index36.js +8 -8
  134. package/dist/index37.js +4 -4
  135. package/dist/index38.js +6 -6
  136. package/dist/index39.js +4 -4
  137. package/dist/index40.js +1 -1
  138. package/dist/index41.js +3 -3
  139. package/dist/index43.js +1 -1
  140. package/dist/index44.js +1 -1
  141. package/dist/index45.js +3 -3
  142. package/dist/index46.js +6 -6
  143. package/dist/index47.js +7 -7
  144. package/dist/index48.js +16 -16
  145. package/dist/index49.js +2 -2
  146. package/dist/index50.js +10 -10
  147. package/dist/index52.js +14 -14
  148. package/dist/index53.js +1 -1
  149. package/dist/index54.js +17 -17
  150. package/dist/index55.js +9 -9
  151. package/dist/index56.js +10 -10
  152. package/dist/index57.js +1 -1
  153. package/dist/index58.js +3 -3
  154. package/dist/index59.js +3 -3
  155. package/dist/index60.js +7 -7
  156. package/dist/index61.js +3 -3
  157. package/dist/index62.js +3 -3
  158. package/dist/index63.js +6 -6
  159. package/dist/index64.js +3 -3
  160. package/dist/index66.js +7 -7
  161. package/dist/index67.js +1 -1
  162. package/dist/index69.js +30 -30
  163. package/dist/index70.js +5 -5
  164. package/dist/index71.js +18 -18
  165. package/dist/index72.js +24 -24
  166. package/dist/index73.js +8 -8
  167. package/dist/index74.js +2 -2
  168. package/dist/index75.js +14 -14
  169. package/dist/index76.js +3 -3
  170. package/dist/index77.js +5 -5
  171. package/dist/index78.js +4 -4
  172. package/dist/index79.js +1 -1
  173. package/dist/index80.js +1 -1
  174. package/dist/index81.js +17 -17
  175. package/dist/index82.js +5 -5
  176. package/dist/index83.js +5 -5
  177. package/dist/index86.js +11 -54
  178. package/dist/index87.js +54 -11
  179. package/dist/index88.js +87 -81
  180. package/dist/index89.js +81 -87
  181. package/dist/index95.js +1 -1
  182. package/dist/index96.js +1 -1
  183. package/dist/styles.css +1 -1
  184. package/package.json +1 -1
package/dist/index140.js CHANGED
@@ -1,51 +1,25 @@
1
- import * as p from "react-dom";
2
- import { useIsoLayoutEffect as r } from "./index104.js";
3
- import { useStableCallback as D } from "./index102.js";
4
- import { getCombinedFieldValidityData as v } from "./index207.js";
5
- import { useFormContext as R } from "./index139.js";
6
- import { useFieldRootContext as b } from "./index134.js";
7
- function S(u) {
8
- const {
9
- enabled: l = !0,
10
- value: a,
11
- id: t,
12
- name: f,
13
- controlRef: d,
14
- commit: m
15
- } = u, {
16
- formRef: n
17
- } = R(), {
18
- invalid: s,
19
- markedDirtyRef: c,
20
- validityData: o,
21
- setValidityData: V
22
- } = b(), i = D(u.getValue);
23
- r(() => {
24
- if (!l)
25
- return;
26
- let e = a;
27
- e === void 0 && (e = i()), o.initialValue === null && e !== null && V((y) => ({
28
- ...y,
29
- initialValue: e
30
- }));
31
- }, [l, V, a, o.initialValue, i]), r(() => {
32
- !l || !t || n.current.fields.set(t, {
33
- getValue: i,
34
- name: f,
35
- controlRef: d,
36
- validityData: v(o, s),
37
- validate() {
38
- let e = a;
39
- e === void 0 && (e = i()), c.current = !0, p.flushSync(() => m(e));
40
- }
41
- });
42
- }, [m, d, l, n, i, t, s, c, f, o, a]), r(() => {
43
- const e = n.current.fields;
44
- return () => {
45
- t && e.delete(t);
46
- };
47
- }, [n, t]);
1
+ "use client";
2
+ import * as e from "react";
3
+ import { useStableCallback as a } from "./index127.js";
4
+ import { useEnhancedClickHandler as u } from "./index210.js";
5
+ function f(s) {
6
+ const [n, t] = e.useState(null), c = a((p, i) => {
7
+ s || t(i);
8
+ }), o = e.useCallback(() => {
9
+ t(null);
10
+ }, []), {
11
+ onClick: r,
12
+ onPointerDown: l
13
+ } = u(c);
14
+ return e.useMemo(() => ({
15
+ openMethod: n,
16
+ reset: o,
17
+ triggerProps: {
18
+ onClick: r,
19
+ onPointerDown: l
20
+ }
21
+ }), [n, o, r, l]);
48
22
  }
49
23
  export {
50
- S as useField
24
+ f as useOpenInteractionType
51
25
  };
package/dist/index141.js CHANGED
@@ -1,54 +1,38 @@
1
- "use client";
2
- import { serializeValue as c } from "./index206.js";
3
- function t(n) {
4
- return n != null && n.length > 0 && typeof n[0] == "object" && n[0] != null && "items" in n[0];
5
- }
6
- function e(n, r) {
7
- if (r && n != null)
8
- return r(n) ?? "";
9
- if (n && typeof n == "object") {
10
- if ("label" in n && n.label != null)
11
- return String(n.label);
12
- if ("value" in n)
13
- return String(n.value);
1
+ import { isElement as s } from "./index164.js";
2
+ import { useId as m } from "./index184.js";
3
+ import { useRefWithInit as c } from "./index101.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 "./index203.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.");
14
17
  }
15
- return c(n);
16
- }
17
- function b(n, r) {
18
- return r && n != null ? r(n) ?? "" : n && typeof n == "object" && "value" in n && "label" in n ? c(n.value) : c(n);
19
- }
20
- function y(n, r, f) {
21
- if (f && n != null)
22
- return f(n);
23
- if (n && typeof n == "object" && "label" in n && n.label != null)
24
- return n.label;
25
- if (r && !Array.isArray(r))
26
- return r[n] ?? e(n, f);
27
- if (Array.isArray(r)) {
28
- const o = t(r) ? r.flatMap((l) => l.items) : r;
29
- if (n == null) {
30
- const l = o.find((u) => u.value == null);
31
- return l && l.label != null ? l.label : e(n, f);
32
- }
33
- if (typeof n != "object") {
34
- const l = o.find((u) => u && u.value === n);
35
- return l && l.label != null ? l.label : e(n, f);
36
- }
37
- if ("value" in n) {
38
- const l = o.find((u) => u && u.value === n.value);
39
- if (l && l.label != null)
40
- return l.label;
41
- }
42
- }
43
- return e(n, f);
44
- }
45
- function p(n, r) {
46
- return !Array.isArray(n) || n.length === 0 ? "" : n.map((f) => e(f, r)).join(", ");
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;
47
35
  }
48
36
  export {
49
- t as isGroupedItems,
50
- p as resolveMultipleLabels,
51
- y as resolveSelectedLabel,
52
- e as stringifyAsLabel,
53
- b as stringifyAsValue
37
+ O as useFloatingRootContext
54
38
  };
package/dist/index142.js CHANGED
@@ -1,20 +1,233 @@
1
- const f = (n, e) => Object.is(n, e);
2
- function u(n, e, r) {
3
- return n == null || e == null ? Object.is(n, e) : r(n, e);
4
- }
5
- function i(n, e, r) {
6
- return !n || n.length === 0 ? !1 : n.some((t) => t === void 0 ? !1 : u(t, e, r));
7
- }
8
- function d(n, e, r) {
9
- return !n || n.length === 0 ? -1 : n.findIndex((t) => t === void 0 ? !1 : u(t, e, r));
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 "./index164.js";
3
+ import { useTimeout as ce, Timeout as ke } from "./index148.js";
4
+ import { useStableCallback as s } from "./index127.js";
5
+ import { useFloatingTree as Me } from "./index181.js";
6
+ import { createChangeEventDetails as S } from "./index107.js";
7
+ import { createAttribute as Ke } from "./index237.js";
8
+ import { isReactEvent as Ie } from "./index221.js";
9
+ import { getTarget as w, getDocument as ie, contains as X, isRootElement as xe, isEventTargetWithin as f } from "./index151.js";
10
+ import { getNodeChildren as G } from "./index241.js";
11
+ import { triggerPress as le, escapeKey as Xe, outsidePress as Ye, none as We } from "./index108.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
+ };
10
21
  }
11
- function s(n, e, r) {
12
- return n.filter((t) => !u(t, e, r));
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]);
13
229
  }
14
230
  export {
15
- u as compareItemEquality,
16
- f as defaultItemEquality,
17
- d as findItemIndex,
18
- i as itemIncludes,
19
- s as removeItem
231
+ He as normalizeProp,
232
+ Je as useDismiss
20
233
  };