@yselimcan/ui 0.0.3 → 0.0.4

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 (208) hide show
  1. package/dist/index100.js +5 -4
  2. package/dist/index101.js +128 -61
  3. package/dist/index102.js +27 -8
  4. package/dist/index103.js +7 -12
  5. package/dist/index104.js +5 -4
  6. package/dist/index105.js +12 -3
  7. package/dist/index106.js +22 -5
  8. package/dist/index108.js +7 -7
  9. package/dist/index109.js +1 -1
  10. package/dist/index110.js +4 -4
  11. package/dist/index113.js +1 -1
  12. package/dist/index115.js +1 -1
  13. package/dist/index118.js +1 -1
  14. package/dist/index119.js +2 -2
  15. package/dist/index121.js +19 -19
  16. package/dist/index122.js +1 -1
  17. package/dist/index124.js +7 -7
  18. package/dist/index126.js +3 -3
  19. package/dist/index127.js +5 -5
  20. package/dist/index128.js +1 -1
  21. package/dist/index129.js +14 -30
  22. package/dist/index130.js +4 -10
  23. package/dist/index131.js +27 -64
  24. package/dist/index132.js +15 -51
  25. package/dist/index133.js +21 -12
  26. package/dist/index134.js +58 -12
  27. package/dist/index135.js +16 -11
  28. package/dist/index136.js +23 -36
  29. package/dist/index137.js +40 -11
  30. package/dist/index138.js +43 -9
  31. package/dist/index139.js +21 -5
  32. package/dist/index140.js +46 -85
  33. package/dist/index141.js +51 -11
  34. package/dist/index142.js +14 -260
  35. package/dist/index143.js +11 -79
  36. package/dist/index144.js +21 -10
  37. package/dist/index145.js +34 -55
  38. package/dist/index146.js +230 -11
  39. package/dist/index147.js +283 -11
  40. package/dist/index148.js +53 -30
  41. package/dist/index149.js +14 -17
  42. package/dist/index150.js +72 -59
  43. package/dist/index151.js +3 -104
  44. package/dist/index152.js +29 -7
  45. package/dist/index153.js +24 -9
  46. package/dist/index154.js +15 -22
  47. package/dist/index155.js +66 -100
  48. package/dist/index156.js +2 -6
  49. package/dist/index157.js +103 -31
  50. package/dist/index158.js +75 -226
  51. package/dist/index159.js +257 -68
  52. package/dist/index160.js +11 -283
  53. package/dist/index161.js +10 -53
  54. package/dist/index162.js +40 -3
  55. package/dist/index163.js +4 -14
  56. package/dist/index164.js +65 -14
  57. package/dist/index165.js +10 -29
  58. package/dist/index166.js +8 -7
  59. package/dist/index167.js +5 -22
  60. package/dist/index168.js +53 -24
  61. package/dist/index169.js +11 -160
  62. package/dist/index170.js +114 -110
  63. package/dist/index171.js +11 -75
  64. package/dist/index172.js +11 -64
  65. package/dist/index173.js +65 -68
  66. package/dist/index174.js +13 -14
  67. package/dist/index175.js +13 -6
  68. package/dist/index176.js +11 -16
  69. package/dist/index177.js +11 -21
  70. package/dist/index178.js +86 -57
  71. package/dist/index179.js +11 -17
  72. package/dist/index18.js +1 -1
  73. package/dist/index180.js +11 -27
  74. package/dist/index181.js +56 -42
  75. package/dist/index182.js +10 -20
  76. package/dist/index183.js +11 -48
  77. package/dist/index184.js +15 -48
  78. package/dist/index185.js +8 -17
  79. package/dist/index186.js +8 -11
  80. package/dist/index187.js +102 -34
  81. package/dist/index188.js +7 -15
  82. package/dist/index189.js +31 -78
  83. package/dist/index190.js +74 -23
  84. package/dist/index191.js +15 -4
  85. package/dist/index192.js +28 -11
  86. package/dist/index193.js +7 -10
  87. package/dist/index194.js +22 -40
  88. package/dist/index195.js +25 -5
  89. package/dist/index196.js +160 -9
  90. package/dist/index197.js +113 -11
  91. package/dist/index198.js +73 -115
  92. package/dist/index199.js +64 -11
  93. package/dist/index200.js +47 -5
  94. package/dist/index201.js +193 -41
  95. package/dist/index202.js +30 -182
  96. package/dist/index203.js +20 -48
  97. package/dist/index204.js +6 -20
  98. package/dist/index205.js +3 -3
  99. package/dist/index206.js +12 -4
  100. package/dist/index207.js +9 -21
  101. package/dist/index208.js +14 -125
  102. package/dist/index209.js +7 -45
  103. package/dist/index210.js +4 -18
  104. package/dist/index211.js +22 -5
  105. package/dist/index212.js +122 -175
  106. package/dist/index213.js +45 -76
  107. package/dist/index214.js +15 -396
  108. package/dist/index215.js +5 -7
  109. package/dist/index216.js +181 -5
  110. package/dist/index217.js +74 -15
  111. package/dist/index218.js +396 -12
  112. package/dist/index219.js +38 -32
  113. package/dist/index220.js +57 -39
  114. package/dist/index221.js +28 -57
  115. package/dist/index222.js +7 -27
  116. package/dist/index223.js +12 -7
  117. package/dist/index224.js +10 -11
  118. package/dist/index225.js +5 -5
  119. package/dist/index226.js +21 -11
  120. package/dist/index227.js +11 -21
  121. package/dist/index228.js +7 -11
  122. package/dist/index229.js +42 -7
  123. package/dist/index230.js +594 -40
  124. package/dist/index231.js +11 -596
  125. package/dist/index232.js +32 -11
  126. package/dist/index233.js +3 -3
  127. package/dist/index234.js +5 -10
  128. package/dist/index235.js +14 -11
  129. package/dist/index236.js +208 -14
  130. package/dist/index237.js +4 -209
  131. package/dist/index238.js +13 -3
  132. package/dist/index239.js +47 -13
  133. package/dist/index24.js +2 -2
  134. package/dist/index240.js +3 -47
  135. package/dist/index241.js +12 -3
  136. package/dist/index242.js +56 -11
  137. package/dist/index243.js +29 -57
  138. package/dist/index244.js +13 -29
  139. package/dist/index245.js +9 -14
  140. package/dist/index246.js +207 -9
  141. package/dist/index247.js +304 -189
  142. package/dist/index248.js +3 -21
  143. package/dist/index249.js +3 -6
  144. package/dist/index250.js +14 -321
  145. package/dist/index251.js +21 -3
  146. package/dist/index252.js +6 -3
  147. package/dist/index253.js +1 -1
  148. package/dist/index28.js +1 -1
  149. package/dist/index32.js +1 -1
  150. package/dist/index33.js +12 -12
  151. package/dist/index34.js +4 -4
  152. package/dist/index35.js +9 -9
  153. package/dist/index36.js +6 -6
  154. package/dist/index37.js +7 -7
  155. package/dist/index38.js +9 -9
  156. package/dist/index39.js +2 -2
  157. package/dist/index40.js +2 -2
  158. package/dist/index41.js +2 -2
  159. package/dist/index42.js +2 -2
  160. package/dist/index43.js +1 -1
  161. package/dist/index45.js +5 -5
  162. package/dist/index46.js +7 -7
  163. package/dist/index47.js +7 -7
  164. package/dist/index48.js +14 -14
  165. package/dist/index49.js +4 -4
  166. package/dist/index50.js +6 -6
  167. package/dist/index52.js +20 -20
  168. package/dist/index53.js +2 -2
  169. package/dist/index54.js +23 -23
  170. package/dist/index55.js +7 -7
  171. package/dist/index56.js +5 -5
  172. package/dist/index57.js +1 -1
  173. package/dist/index58.js +2 -2
  174. package/dist/index59.js +4 -4
  175. package/dist/index60.js +8 -8
  176. package/dist/index61.js +3 -3
  177. package/dist/index62.js +3 -3
  178. package/dist/index63.js +8 -8
  179. package/dist/index64.js +3 -3
  180. package/dist/index65.js +3 -3
  181. package/dist/index66.js +8 -8
  182. package/dist/index67.js +1 -1
  183. package/dist/index69.js +26 -26
  184. package/dist/index70.js +4 -4
  185. package/dist/index71.js +11 -11
  186. package/dist/index72.js +16 -16
  187. package/dist/index73.js +7 -7
  188. package/dist/index74.js +1 -1
  189. package/dist/index75.js +11 -11
  190. package/dist/index76.js +2 -2
  191. package/dist/index77.js +2 -2
  192. package/dist/index78.js +2 -2
  193. package/dist/index79.js +1 -1
  194. package/dist/index80.js +1 -1
  195. package/dist/index81.js +14 -14
  196. package/dist/index82.js +3 -3
  197. package/dist/index83.js +4 -4
  198. package/dist/index86.js +7 -7
  199. package/dist/index88.js +81 -87
  200. package/dist/index89.js +87 -81
  201. package/dist/index94.js +4 -133
  202. package/dist/index95.js +63 -24
  203. package/dist/index96.js +8 -8
  204. package/dist/index97.js +14 -5
  205. package/dist/index98.js +3 -12
  206. package/dist/index99.js +3 -22
  207. package/dist/styles.css +1 -1
  208. package/package.json +1 -1
package/dist/index141.js CHANGED
@@ -1,14 +1,54 @@
1
- import n from "./index100.js";
2
- import * as o from "react";
3
- const t = /* @__PURE__ */ o.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (t.displayName = "MenuPortalContext");
5
- function s() {
6
- const e = o.useContext(t);
7
- if (e === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Menu.Portal> is missing." : n(32));
9
- return e;
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);
14
+ }
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(", ");
10
47
  }
11
48
  export {
12
- t as MenuPortalContext,
13
- s as useMenuPortalContext
49
+ t as isGroupedItems,
50
+ p as resolveMultipleLabels,
51
+ y as resolveSelectedLabel,
52
+ e as stringifyAsLabel,
53
+ b as stringifyAsValue
14
54
  };
package/dist/index142.js CHANGED
@@ -1,266 +1,20 @@
1
- "use client";
2
- import * as a from "react";
3
- import { getSide as L, getSideAxis as Ee, getAlignment as Me } from "./index208.js";
4
- import { ownerDocument as qe } from "./index162.js";
5
- import { useIsoLayoutEffect as q } from "./index97.js";
6
- import { useValueAsRef as G } from "./index176.js";
7
- import { useStableCallback as Ge } from "./index95.js";
8
- import { useDirection as Je } from "./index153.js";
9
- import { arrow as Ke } from "./index209.js";
10
- import { hide as Ne } from "./index210.js";
11
- import { DEFAULT_SIDES as Qe } from "./index211.js";
12
- import { flip as Ze, offset as et, size as tt, shift as nt, limitShift as ot } from "./index212.js";
13
- import { useFloating as it } from "./index213.js";
14
- import { autoUpdate as $e } from "./index214.js";
15
- function ke(l, f, u) {
16
- const n = l === "inline-start" || l === "inline-end";
17
- return {
18
- top: "top",
19
- right: n ? u ? "inline-start" : "inline-end" : "right",
20
- bottom: "bottom",
21
- left: n ? u ? "inline-end" : "inline-start" : "left"
22
- }[f];
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);
23
4
  }
24
- function ve(l, f, u) {
25
- const {
26
- rects: n,
27
- placement: s
28
- } = l;
29
- return {
30
- side: ke(f, L(s), u),
31
- align: Me(s) || "center",
32
- anchor: {
33
- width: n.reference.width,
34
- height: n.reference.height
35
- },
36
- positioner: {
37
- width: n.floating.width,
38
- height: n.floating.height
39
- }
40
- };
5
+ function i(n, e, r) {
6
+ return !n || n.length === 0 ? !1 : n.some((t) => t === void 0 ? !1 : u(t, e, r));
41
7
  }
42
- function wt(l) {
43
- const {
44
- // Public parameters
45
- anchor: f,
46
- positionMethod: u = "absolute",
47
- side: n = "bottom",
48
- sideOffset: s = 0,
49
- align: b = "center",
50
- alignOffset: H = 0,
51
- collisionBoundary: J,
52
- collisionPadding: Ce = 5,
53
- sticky: T = !1,
54
- arrowPadding: K = 5,
55
- disableAnchorTracking: z = !1,
56
- // Private parameters
57
- keepMounted: B = !1,
58
- floatingRootContext: $,
59
- mounted: r,
60
- collisionAvoidance: V,
61
- shiftCrossAxis: w = !1,
62
- nodeId: Fe,
63
- adaptiveOrigin: I,
64
- lazyFlip: N = !1,
65
- externalTree: Le
66
- } = l, [Q, Z] = a.useState(null);
67
- !r && Q !== null && Z(null);
68
- const A = V.side || "flip", S = V.align || "flip", He = V.fallbackAxisSide || "end", ee = typeof f == "function" ? f : void 0, Te = Ge(ee), te = ee ? Te : f, v = G(f), p = Je() === "rtl", ne = Q || {
69
- top: "top",
70
- right: "right",
71
- bottom: "bottom",
72
- left: "left",
73
- "inline-end": p ? "left" : "right",
74
- "inline-start": p ? "right" : "left"
75
- }[n], ze = b === "center" ? ne : `${ne}-${b}`;
76
- let e = Ce;
77
- const d = 1, oe = n === "bottom" ? d : 0, ie = n === "top" ? d : 0, re = n === "right" ? d : 0, se = n === "left" ? d : 0;
78
- typeof e == "number" ? e = {
79
- top: e + oe,
80
- right: e + se,
81
- bottom: e + ie,
82
- left: e + re
83
- } : e && (e = {
84
- top: (e.top || 0) + oe,
85
- right: (e.right || 0) + se,
86
- bottom: (e.bottom || 0) + ie,
87
- left: (e.left || 0) + re
88
- });
89
- const D = {
90
- boundary: J === "clipping-ancestors" ? "clippingAncestors" : J,
91
- padding: e
92
- }, m = a.useRef(null), U = G(s), Y = G(H), M = [et((t) => {
93
- const o = ve(t, n, p), c = typeof U.current == "function" ? U.current(o) : U.current, i = typeof Y.current == "function" ? Y.current(o) : Y.current;
94
- return {
95
- mainAxis: c,
96
- crossAxis: i,
97
- alignmentAxis: i
98
- };
99
- }, [typeof s != "function" ? s : 0, typeof H != "function" ? H : 0, p, n])], ce = S === "none" && A !== "shift", le = !ce && (T || w || A === "shift"), ae = A === "none" ? null : Ze({
100
- ...D,
101
- // Ensure the popup flips if it's been limited by its --available-height and it resizes.
102
- // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
103
- padding: {
104
- top: e.top + d,
105
- right: e.right + d,
106
- bottom: e.bottom + d,
107
- left: e.left + d
108
- },
109
- mainAxis: !w && A === "flip",
110
- crossAxis: S === "flip" ? "alignment" : !1,
111
- fallbackAxisSideDirection: He
112
- }), fe = ce ? null : nt((t) => {
113
- const o = qe(t.elements.floating).documentElement;
114
- return {
115
- ...D,
116
- // Use the Layout Viewport to avoid shifting around when pinch-zooming
117
- // for context menus.
118
- rootBoundary: w ? {
119
- x: 0,
120
- y: 0,
121
- width: o.clientWidth,
122
- height: o.clientHeight
123
- } : void 0,
124
- mainAxis: S !== "none",
125
- crossAxis: le,
126
- limiter: T || w ? void 0 : ot((c) => {
127
- if (!m.current)
128
- return {};
129
- const {
130
- width: i,
131
- height: x
132
- } = m.current.getBoundingClientRect(), y = Ee(L(c.placement)), F = y === "y" ? i : x, j = y === "y" ? e.left + e.right : e.top + e.bottom;
133
- return {
134
- offset: F / 2 + j / 2
135
- };
136
- })
137
- };
138
- }, [D, T, w, e, S]);
139
- A === "shift" || S === "shift" || b === "center" ? M.push(fe, ae) : M.push(ae, fe), M.push(tt({
140
- ...D,
141
- apply({
142
- elements: {
143
- floating: t
144
- },
145
- rects: {
146
- reference: o
147
- },
148
- availableWidth: c,
149
- availableHeight: i
150
- }) {
151
- Object.entries({
152
- "--available-width": `${c}px`,
153
- "--available-height": `${i}px`,
154
- "--anchor-width": `${o.width}px`,
155
- "--anchor-height": `${o.height}px`
156
- }).forEach(([x, y]) => {
157
- t.style.setProperty(x, y);
158
- });
159
- }
160
- }), Ke(() => ({
161
- // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
162
- // we'll create a fake element.
163
- element: m.current || document.createElement("div"),
164
- padding: K,
165
- offsetParent: "floating"
166
- }), [K]), {
167
- name: "transformOrigin",
168
- fn(t) {
169
- const {
170
- elements: o,
171
- middlewareData: c,
172
- placement: i,
173
- rects: x,
174
- y
175
- } = t, F = L(i), j = Ee(F), Oe = m.current, Be = c.arrow?.x || 0, Ve = c.arrow?.y || 0, Ie = Oe?.clientWidth || 0, Ue = Oe?.clientHeight || 0, _ = Be + Ie / 2, Pe = Ve + Ue / 2, Ye = Math.abs(c.shift?.y || 0), We = x.reference.height / 2, E = typeof s == "function" ? s(ve(t, n, p)) : s, Xe = Ye > E, je = {
176
- top: `${_}px calc(100% + ${E}px)`,
177
- bottom: `${_}px ${-E}px`,
178
- left: `calc(100% + ${E}px) ${Pe}px`,
179
- right: `${-E}px ${Pe}px`
180
- }[F], _e = `${_}px ${x.reference.y + We - y}px`;
181
- return o.floating.style.setProperty("--transform-origin", le && j === "y" && Xe ? _e : je), {};
182
- }
183
- }, Ne, I), q(() => {
184
- !r && $ && $.update({
185
- referenceElement: null,
186
- floatingElement: null,
187
- domReferenceElement: null
188
- });
189
- }, [r, $]);
190
- const W = a.useMemo(() => ({
191
- elementResize: !z && typeof ResizeObserver < "u",
192
- layoutShift: !z && typeof IntersectionObserver < "u"
193
- }), [z]), {
194
- refs: h,
195
- elements: R,
196
- x: de,
197
- y: ue,
198
- middlewareData: g,
199
- update: k,
200
- placement: pe,
201
- context: me,
202
- isPositioned: O,
203
- floatingStyles: he
204
- } = it({
205
- rootContext: $,
206
- placement: ze,
207
- middleware: M,
208
- strategy: u,
209
- whileElementsMounted: B ? void 0 : (...t) => $e(...t, W),
210
- nodeId: Fe,
211
- externalTree: Le
212
- }), {
213
- sideX: ge,
214
- sideY: xe
215
- } = g.adaptiveOrigin || Qe, X = O ? u : "fixed", ye = a.useMemo(() => I ? {
216
- position: X,
217
- [ge]: de,
218
- [xe]: ue
219
- } : {
220
- position: X,
221
- ...he
222
- }, [I, X, ge, de, xe, ue, he]), C = a.useRef(null);
223
- q(() => {
224
- if (!r)
225
- return;
226
- const t = v.current, o = typeof t == "function" ? t() : t, i = (De(o) ? o.current : o) || null || null;
227
- i !== C.current && (h.setPositionReference(i), C.current = i);
228
- }, [r, h, te, v]), a.useEffect(() => {
229
- if (!r)
230
- return;
231
- const t = v.current;
232
- typeof t != "function" && De(t) && t.current !== C.current && (h.setPositionReference(t.current), C.current = t.current);
233
- }, [r, h, te, v]), a.useEffect(() => {
234
- if (B && r && R.domReference && R.floating)
235
- return $e(R.domReference, R.floating, k, W);
236
- }, [B, r, R, k, W]);
237
- const P = L(pe), be = ke(n, P, p), we = Me(pe) || "center", Ae = !!g.hide?.referenceHidden;
238
- q(() => {
239
- N && r && O && Z(P);
240
- }, [N, r, O, P]);
241
- const Se = a.useMemo(() => ({
242
- position: "absolute",
243
- top: g.arrow?.y,
244
- left: g.arrow?.x
245
- }), [g.arrow]), Re = g.arrow?.centerOffset !== 0;
246
- return a.useMemo(() => ({
247
- positionerStyles: ye,
248
- arrowStyles: Se,
249
- arrowRef: m,
250
- arrowUncentered: Re,
251
- side: be,
252
- align: we,
253
- physicalSide: P,
254
- anchorHidden: Ae,
255
- refs: h,
256
- context: me,
257
- isPositioned: O,
258
- update: k
259
- }), [ye, Se, m, Re, be, we, P, Ae, h, me, O, k]);
8
+ function d(n, e, r) {
9
+ return !n || n.length === 0 ? -1 : n.findIndex((t) => t === void 0 ? !1 : u(t, e, r));
260
10
  }
261
- function De(l) {
262
- return l != null && "current" in l;
11
+ function s(n, e, r) {
12
+ return n.filter((t) => !u(t, e, r));
263
13
  }
264
14
  export {
265
- wt as useAnchorPositioning
15
+ u as compareItemEquality,
16
+ f as defaultItemEquality,
17
+ d as findItemIndex,
18
+ i as itemIncludes,
19
+ s as removeItem
266
20
  };
package/dist/index143.js CHANGED
@@ -1,82 +1,14 @@
1
- "use client";
2
- import * as a from "react";
3
- import { useRefWithInit as T } from "./index107.js";
4
- import { useStableCallback as m } from "./index95.js";
5
- import { useIsoLayoutEffect as f } from "./index97.js";
6
- import { CompositeListContext as D } from "./index207.js";
7
- import { jsx as L } from "react/jsx-runtime";
8
- function k(h) {
9
- const {
10
- children: N,
11
- elementsRef: t,
12
- labelsRef: o,
13
- onMapChange: _
14
- } = h, C = m(_), O = a.useRef(0), d = T(R).current, i = T(P).current, [p, M] = a.useState(0), c = a.useRef(p), E = m((e, u) => {
15
- i.set(e, u ?? null), c.current += 1, M(c.current);
16
- }), I = m((e) => {
17
- i.delete(e), c.current += 1, M(c.current);
18
- }), r = a.useMemo(() => {
19
- const e = /* @__PURE__ */ new Map();
20
- return Array.from(i.keys()).filter((n) => n.isConnected).sort(S).forEach((n, l) => {
21
- const s = i.get(n) ?? {};
22
- e.set(n, {
23
- ...s,
24
- index: l
25
- });
26
- }), e;
27
- }, [i, p]);
28
- f(() => {
29
- if (typeof MutationObserver != "function" || r.size === 0)
30
- return;
31
- const e = new MutationObserver((u) => {
32
- const n = /* @__PURE__ */ new Set(), l = (s) => n.has(s) ? n.delete(s) : n.add(s);
33
- u.forEach((s) => {
34
- s.removedNodes.forEach(l), s.addedNodes.forEach(l);
35
- }), n.size === 0 && (c.current += 1, M(c.current));
36
- });
37
- return r.forEach((u, n) => {
38
- n.parentElement && e.observe(n.parentElement, {
39
- childList: !0
40
- });
41
- }), () => {
42
- e.disconnect();
43
- };
44
- }, [r]), f(() => {
45
- c.current === p && (t.current.length !== r.size && (t.current.length = r.size), o && o.current.length !== r.size && (o.current.length = r.size), O.current = r.size), C(r);
46
- }, [C, r, t, o, p]), f(() => () => {
47
- t.current = [];
48
- }, [t]), f(() => () => {
49
- o && (o.current = []);
50
- }, [o]);
51
- const g = m((e) => (d.add(e), () => {
52
- d.delete(e);
53
- }));
54
- f(() => {
55
- d.forEach((e) => e(r));
56
- }, [d, r]);
57
- const b = a.useMemo(() => ({
58
- register: E,
59
- unregister: I,
60
- subscribeMapChange: g,
61
- elementsRef: t,
62
- labelsRef: o,
63
- nextIndexRef: O
64
- }), [E, I, g, t, o, O]);
65
- return /* @__PURE__ */ L(D.Provider, {
66
- value: b,
67
- children: N
68
- });
69
- }
70
- function P() {
71
- return /* @__PURE__ */ new Map();
72
- }
73
- function R() {
74
- return /* @__PURE__ */ new Set();
75
- }
76
- function S(h, N) {
77
- const t = h.compareDocumentPosition(N);
78
- return t & Node.DOCUMENT_POSITION_FOLLOWING || t & Node.DOCUMENT_POSITION_CONTAINED_BY ? -1 : t & Node.DOCUMENT_POSITION_PRECEDING || t & Node.DOCUMENT_POSITION_CONTAINS ? 1 : 0;
1
+ import * as c from "react";
2
+ import { useIsoLayoutEffect as o } from "./index104.js";
3
+ import { useStableCallback as f } from "./index102.js";
4
+ function u(r, n) {
5
+ const t = c.useRef(r), e = f(n);
6
+ o(() => {
7
+ t.current !== r && e(t.current);
8
+ }, [r, e]), o(() => {
9
+ t.current = r;
10
+ }, [r]);
79
11
  }
80
12
  export {
81
- k as CompositeList
13
+ u as useValueChanged
82
14
  };
package/dist/index144.js CHANGED
@@ -1,14 +1,25 @@
1
- import r from "./index100.js";
1
+ "use client";
2
2
  import * as e from "react";
3
- const o = /* @__PURE__ */ e.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (o.displayName = "ContextMenuRootContext");
5
- function u(n = !0) {
6
- const t = e.useContext(o);
7
- if (t === void 0 && !n)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: ContextMenuRootContext is missing. ContextMenu parts must be placed within <ContextMenu.Root>." : r(25));
9
- return t;
3
+ import { useStableCallback as a } from "./index102.js";
4
+ import { useEnhancedClickHandler as u } from "./index208.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]);
10
22
  }
11
23
  export {
12
- o as ContextMenuRootContext,
13
- u as useContextMenuRootContext
24
+ f as useOpenInteractionType
14
25
  };
package/dist/index145.js CHANGED
@@ -1,59 +1,38 @@
1
- "use client";
2
- import * as r from "react";
3
- import { useId as a } from "./index149.js";
4
- import { useIsoLayoutEffect as l } from "./index97.js";
5
- import { useRefWithInit as f } from "./index107.js";
6
- import { FloatingTreeStore as m } from "./index163.js";
7
- import { jsx as d } from "react/jsx-runtime";
8
- const i = /* @__PURE__ */ r.createContext(null);
9
- process.env.NODE_ENV !== "production" && (i.displayName = "FloatingNodeContext");
10
- const s = /* @__PURE__ */ r.createContext(null);
11
- process.env.NODE_ENV !== "production" && (s.displayName = "FloatingTreeContext");
12
- const u = () => r.useContext(i)?.id || null, p = (o) => {
13
- const e = r.useContext(s);
14
- return o ?? e;
15
- };
16
- function v(o) {
17
- const e = a(), t = p(o), n = u();
18
- return l(() => {
19
- if (!e)
20
- return;
21
- const c = {
22
- id: e,
23
- parentId: n
24
- };
25
- return t?.addNode(c), () => {
26
- t?.removeNode(c);
27
- };
28
- }, [t, e, n]), e;
29
- }
30
- function I(o) {
1
+ import { isElement as s } from "./index101.js";
2
+ import { useId as m } from "./index184.js";
3
+ import { useRefWithInit as c } from "./index107.js";
4
+ import { useIsoLayoutEffect as a } from "./index104.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) {
31
9
  const {
32
- children: e,
33
- id: t
34
- } = o, n = u();
35
- return /* @__PURE__ */ d(i.Provider, {
36
- value: r.useMemo(() => ({
37
- id: t,
38
- parentId: n
39
- }), [t, n]),
40
- children: e
41
- });
42
- }
43
- function T(o) {
44
- const {
45
- children: e,
46
- externalTree: t
47
- } = o, n = f(() => t ?? new m()).current;
48
- return /* @__PURE__ */ d(s.Provider, {
49
- value: n,
50
- children: e
51
- });
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.");
17
+ }
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;
52
35
  }
53
36
  export {
54
- I as FloatingNode,
55
- T as FloatingTree,
56
- v as useFloatingNodeId,
57
- u as useFloatingParentNodeId,
58
- p as useFloatingTree
37
+ O as useFloatingRootContext
59
38
  };