@yselimcan/ui 0.0.7 → 0.0.8

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 (233) hide show
  1. package/dist/index100.js +5 -4
  2. package/dist/index101.js +7 -66
  3. package/dist/index102.js +87 -8
  4. package/dist/index103.js +11 -12
  5. package/dist/index104.js +62 -3
  6. package/dist/index105.js +38 -4
  7. package/dist/index106.js +14 -6
  8. package/dist/index107.js +32 -29
  9. package/dist/index108.js +19 -12
  10. package/dist/index109.js +4 -65
  11. package/dist/index110.js +3 -53
  12. package/dist/index111.js +5 -13
  13. package/dist/index112.js +11 -5
  14. package/dist/index113.js +19 -13
  15. package/dist/index114.js +13 -13
  16. package/dist/index115.js +296 -32
  17. package/dist/index116.js +5 -19
  18. package/dist/index117.js +38 -40
  19. package/dist/index118.js +123 -16
  20. package/dist/index119.js +21 -12
  21. package/dist/index120.js +77 -38
  22. package/dist/index121.js +65 -14
  23. package/dist/index122.js +45 -8
  24. package/dist/index123.js +14 -13
  25. package/dist/index124.js +5 -5
  26. package/dist/index125.js +29 -87
  27. package/dist/index126.js +4 -296
  28. package/dist/index127.js +26 -10
  29. package/dist/index128.js +14 -122
  30. package/dist/index129.js +21 -4
  31. package/dist/index130.js +54 -259
  32. package/dist/index131.js +16 -78
  33. package/dist/index132.js +26 -37
  34. package/dist/index133.js +41 -21
  35. package/dist/index134.js +43 -12
  36. package/dist/index135.js +20 -55
  37. package/dist/index136.js +48 -11
  38. package/dist/index137.js +51 -11
  39. package/dist/index138.js +16 -29
  40. package/dist/index139.js +11 -18
  41. package/dist/index140.js +21 -65
  42. package/dist/index141.js +34 -103
  43. package/dist/index142.js +230 -8
  44. package/dist/index143.js +283 -8
  45. package/dist/index144.js +52 -21
  46. package/dist/index145.js +14 -102
  47. package/dist/index146.js +79 -7
  48. package/dist/index147.js +3 -32
  49. package/dist/index148.js +28 -228
  50. package/dist/index149.js +23 -74
  51. package/dist/index150.js +15 -283
  52. package/dist/index151.js +68 -52
  53. package/dist/index152.js +4 -46
  54. package/dist/index153.js +98 -70
  55. package/dist/index154.js +79 -3
  56. package/dist/index155.js +262 -13
  57. package/dist/index156.js +11 -15
  58. package/dist/index157.js +10 -28
  59. package/dist/index158.js +40 -7
  60. package/dist/index159.js +4 -22
  61. package/dist/index160.js +66 -24
  62. package/dist/index161.js +9 -160
  63. package/dist/index162.js +8 -113
  64. package/dist/index163.js +5 -64
  65. package/dist/index164.js +132 -74
  66. package/dist/index165.js +53 -64
  67. package/dist/index166.js +10 -68
  68. package/dist/index167.js +118 -14
  69. package/dist/index168.js +11 -7
  70. package/dist/index169.js +10 -4
  71. package/dist/index17.js +4 -4
  72. package/dist/index170.js +64 -15
  73. package/dist/index171.js +12 -21
  74. package/dist/index172.js +12 -58
  75. package/dist/index173.js +11 -16
  76. package/dist/index174.js +11 -27
  77. package/dist/index175.js +88 -43
  78. package/dist/index176.js +11 -21
  79. package/dist/index177.js +11 -48
  80. package/dist/index178.js +53 -48
  81. package/dist/index179.js +11 -17
  82. package/dist/index18.js +4 -4
  83. package/dist/index180.js +11 -11
  84. package/dist/index181.js +17 -34
  85. package/dist/index182.js +8 -15
  86. package/dist/index183.js +8 -79
  87. package/dist/index184.js +103 -23
  88. package/dist/index185.js +6 -2
  89. package/dist/index186.js +32 -11
  90. package/dist/index187.js +74 -10
  91. package/dist/index188.js +13 -39
  92. package/dist/index189.js +28 -4
  93. package/dist/index19.js +9 -9
  94. package/dist/index190.js +13 -10
  95. package/dist/index191.js +7 -11
  96. package/dist/index192.js +21 -116
  97. package/dist/index193.js +25 -12
  98. package/dist/index194.js +158 -85
  99. package/dist/index195.js +113 -12
  100. package/dist/index196.js +72 -59
  101. package/dist/index197.js +65 -4
  102. package/dist/index198.js +9 -5
  103. package/dist/index199.js +22 -11
  104. package/dist/index20.js +2 -2
  105. package/dist/index201.js +4 -22
  106. package/dist/index202.js +10 -4
  107. package/dist/index203.js +38 -26
  108. package/dist/index204.js +56 -127
  109. package/dist/index205.js +28 -45
  110. package/dist/index206.js +8 -18
  111. package/dist/index207.js +13 -5
  112. package/dist/index208.js +11 -180
  113. package/dist/index209.js +11 -75
  114. package/dist/index21.js +3 -3
  115. package/dist/index210.js +19 -396
  116. package/dist/index211.js +11 -199
  117. package/dist/index212.js +7 -47
  118. package/dist/index213.js +43 -20
  119. package/dist/index214.js +593 -44
  120. package/dist/index215.js +11 -6
  121. package/dist/index216.js +17 -5
  122. package/dist/index217.js +45 -14
  123. package/dist/index218.js +197 -12
  124. package/dist/index219.js +47 -32
  125. package/dist/index22.js +5 -5
  126. package/dist/index220.js +20 -4
  127. package/dist/index221.js +32 -11
  128. package/dist/index222.js +6 -9
  129. package/dist/index223.js +26 -38
  130. package/dist/index224.js +12 -57
  131. package/dist/index225.js +21 -27
  132. package/dist/index226.js +127 -7
  133. package/dist/index227.js +45 -13
  134. package/dist/index228.js +18 -12
  135. package/dist/index229.js +5 -12
  136. package/dist/index23.js +2 -2
  137. package/dist/index230.js +178 -19
  138. package/dist/index231.js +75 -11
  139. package/dist/index232.js +398 -7
  140. package/dist/index233.js +4 -43
  141. package/dist/index234.js +5 -597
  142. package/dist/index235.js +14 -11
  143. package/dist/index236.js +20 -3
  144. package/dist/index237.js +5 -208
  145. package/dist/index238.js +209 -4
  146. package/dist/index239.js +3 -13
  147. package/dist/index24.js +9 -9
  148. package/dist/index240.js +13 -47
  149. package/dist/index241.js +45 -10
  150. package/dist/index242.js +3 -57
  151. package/dist/index243.js +11 -28
  152. package/dist/index244.js +56 -12
  153. package/dist/index245.js +30 -9
  154. package/dist/index246.js +12 -205
  155. package/dist/index247.js +9 -15
  156. package/dist/index248.js +189 -304
  157. package/dist/index249.js +15 -3
  158. package/dist/index250.js +322 -3
  159. package/dist/index251.js +3 -21
  160. package/dist/index252.js +3 -6
  161. package/dist/index253.js +1 -1
  162. package/dist/index27.js +1 -1
  163. package/dist/index28.js +1 -1
  164. package/dist/index29.js +1 -1
  165. package/dist/index30.js +1 -1
  166. package/dist/index31.js +1 -1
  167. package/dist/index32.js +1 -1
  168. package/dist/index33.js +16 -16
  169. package/dist/index34.js +5 -5
  170. package/dist/index35.js +13 -13
  171. package/dist/index36.js +10 -10
  172. package/dist/index37.js +7 -7
  173. package/dist/index38.js +9 -9
  174. package/dist/index39.js +4 -4
  175. package/dist/index40.js +2 -2
  176. package/dist/index41.js +3 -3
  177. package/dist/index42.js +2 -2
  178. package/dist/index43.js +1 -1
  179. package/dist/index45.js +5 -5
  180. package/dist/index46.js +9 -9
  181. package/dist/index47.js +9 -9
  182. package/dist/index48.js +18 -18
  183. package/dist/index49.js +4 -4
  184. package/dist/index50.js +11 -11
  185. package/dist/index51.js +1 -1
  186. package/dist/index52.js +25 -25
  187. package/dist/index53.js +3 -3
  188. package/dist/index54.js +31 -31
  189. package/dist/index55.js +13 -13
  190. package/dist/index56.js +12 -12
  191. package/dist/index57.js +1 -1
  192. package/dist/index58.js +3 -3
  193. package/dist/index59.js +5 -5
  194. package/dist/index60.js +11 -11
  195. package/dist/index61.js +4 -4
  196. package/dist/index62.js +3 -3
  197. package/dist/index63.js +11 -11
  198. package/dist/index64.js +4 -4
  199. package/dist/index65.js +3 -3
  200. package/dist/index66.js +13 -13
  201. package/dist/index67.js +1 -1
  202. package/dist/index68.js +1 -1
  203. package/dist/index69.js +32 -32
  204. package/dist/index70.js +5 -5
  205. package/dist/index71.js +17 -17
  206. package/dist/index72.js +23 -23
  207. package/dist/index73.js +7 -7
  208. package/dist/index74.js +1 -1
  209. package/dist/index75.js +13 -13
  210. package/dist/index76.js +2 -2
  211. package/dist/index77.js +4 -4
  212. package/dist/index78.js +3 -3
  213. package/dist/index79.js +1 -1
  214. package/dist/index80.js +1 -1
  215. package/dist/index81.js +17 -17
  216. package/dist/index82.js +4 -4
  217. package/dist/index83.js +4 -4
  218. package/dist/index86.js +11 -89
  219. package/dist/index87.js +8 -8
  220. package/dist/index88.js +96 -12
  221. package/dist/index89.js +19 -96
  222. package/dist/index90.js +15 -18
  223. package/dist/index91.js +33 -16
  224. package/dist/index92.js +12 -33
  225. package/dist/index93.js +90 -12
  226. package/dist/index94.js +4 -133
  227. package/dist/index95.js +63 -24
  228. package/dist/index96.js +8 -8
  229. package/dist/index97.js +14 -5
  230. package/dist/index98.js +3 -12
  231. package/dist/index99.js +3 -22
  232. package/dist/styles.css +1 -1
  233. package/package.json +3 -3
package/dist/index135.js CHANGED
@@ -1,59 +1,24 @@
1
1
  "use client";
2
- import * as r from "react";
3
- import { useId as a } from "./index139.js";
4
- import { useIsoLayoutEffect as l } from "./index97.js";
5
- import { useRefWithInit as f } from "./index168.js";
6
- import { FloatingTreeStore as m } from "./index155.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) {
31
- 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
- });
2
+ import * as e from "react";
3
+ import { NOOP as r } from "./index100.js";
4
+ const t = /* @__PURE__ */ e.createContext({
5
+ formRef: {
6
+ current: {
7
+ fields: /* @__PURE__ */ new Map()
8
+ }
9
+ },
10
+ errors: {},
11
+ clearErrors: r,
12
+ validationMode: "onSubmit",
13
+ submitAttemptedRef: {
14
+ current: !1
15
+ }
16
+ });
17
+ process.env.NODE_ENV !== "production" && (t.displayName = "FormContext");
18
+ function n() {
19
+ return e.useContext(t);
52
20
  }
53
21
  export {
54
- I as FloatingNode,
55
- T as FloatingTree,
56
- v as useFloatingNodeId,
57
- u as useFloatingParentNodeId,
58
- p as useFloatingTree
22
+ t as FormContext,
23
+ n as useFormContext
59
24
  };
package/dist/index136.js CHANGED
@@ -1,14 +1,51 @@
1
- import n from "./index100.js";
2
- import * as e from "react";
3
- const t = /* @__PURE__ */ e.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (t.displayName = "MenuRadioGroupContext");
5
- function i() {
6
- const o = e.useContext(t);
7
- if (o === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: MenuRadioGroupContext is missing. MenuRadioGroup parts must be placed within <Menu.RadioGroup>." : n(34));
9
- return o;
1
+ import * as p from "react-dom";
2
+ import { useIsoLayoutEffect as r } from "./index126.js";
3
+ import { useStableCallback as D } from "./index127.js";
4
+ import { getCombinedFieldValidityData as v } from "./index202.js";
5
+ import { useFormContext as R } from "./index135.js";
6
+ import { useFieldRootContext as b } from "./index130.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]);
10
48
  }
11
49
  export {
12
- t as MenuRadioGroupContext,
13
- i as useMenuRadioGroupContext
50
+ S as useField
14
51
  };
package/dist/index137.js CHANGED
@@ -1,14 +1,54 @@
1
- import n from "./index100.js";
2
- import * as t from "react";
3
- const o = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (o.displayName = "MenuRadioItemContext");
5
- function r() {
6
- const e = t.useContext(o);
7
- if (e === void 0)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: MenuRadioItemContext is missing. MenuRadioItem parts must be placed within <Menu.RadioItem>." : n(35));
9
- return e;
1
+ "use client";
2
+ import { serializeValue as c } from "./index224.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
- o as MenuRadioItemContext,
13
- r as useMenuRadioItemContext
49
+ t as isGroupedItems,
50
+ p as resolveMultipleLabels,
51
+ y as resolveSelectedLabel,
52
+ e as stringifyAsLabel,
53
+ b as stringifyAsValue
14
54
  };
package/dist/index138.js CHANGED
@@ -1,33 +1,20 @@
1
- "use client";
2
- import { useRefWithInit as c } from "./index168.js";
3
- import { useOnMount as u } from "./index215.js";
4
- const t = 0;
5
- class e {
6
- static create() {
7
- return new e();
8
- }
9
- currentId = t;
10
- /**
11
- * Executes `fn` after `delay`, clearing any previously scheduled call.
12
- */
13
- start(s, i) {
14
- this.clear(), this.currentId = setTimeout(() => {
15
- this.currentId = t, i();
16
- }, s);
17
- }
18
- isStarted() {
19
- return this.currentId !== t;
20
- }
21
- clear = () => {
22
- this.currentId !== t && (clearTimeout(this.currentId), this.currentId = t);
23
- };
24
- disposeEffect = () => this.clear;
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);
25
4
  }
26
- function a() {
27
- const r = c(e.create).current;
28
- return u(r.disposeEffect), r;
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));
10
+ }
11
+ function s(n, e, r) {
12
+ return n.filter((t) => !u(t, e, r));
29
13
  }
30
14
  export {
31
- e as Timeout,
32
- a as useTimeout
15
+ u as compareItemEquality,
16
+ f as defaultItemEquality,
17
+ d as findItemIndex,
18
+ i as itemIncludes,
19
+ s as removeItem
33
20
  };
package/dist/index139.js CHANGED
@@ -1,21 +1,14 @@
1
- "use client";
2
- import * as n from "react";
3
- import { SafeReact as l } from "./index216.js";
4
- let o = 0;
5
- function f(u, t = "mui") {
6
- const [e, a] = n.useState(u), c = u || e;
7
- return n.useEffect(() => {
8
- e == null && (o += 1, a(`${t}-${o}`));
9
- }, [e, t]), c;
10
- }
11
- const s = l.useId;
12
- function I(u, t) {
13
- if (s !== void 0) {
14
- const e = s();
15
- return u ?? (t ? `${t}-${e}` : e);
16
- }
17
- return f(u, t);
1
+ import * as c from "react";
2
+ import { useIsoLayoutEffect as o } from "./index126.js";
3
+ import { useStableCallback as f } from "./index127.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]);
18
11
  }
19
12
  export {
20
- I as useId
13
+ u as useValueChanged
21
14
  };
package/dist/index140.js CHANGED
@@ -1,69 +1,25 @@
1
1
  "use client";
2
- import { useRefWithInit as u } from "./index168.js";
3
- import { useOnMount as h } from "./index215.js";
4
- const s = null;
5
- let l = globalThis.requestAnimationFrame;
6
- class o {
7
- /* This implementation uses an array as a backing data-structure for frame callbacks.
8
- * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
9
- * never calls the native `cancelAnimationFrame` if there are no frames left. This can
10
- * be much more efficient if there is a call pattern that alterns as
11
- * "request-cancel-request-cancel-…".
12
- * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
13
- * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
14
- callbacks = [];
15
- callbacksCount = 0;
16
- nextId = 1;
17
- startId = 1;
18
- isScheduled = !1;
19
- tick = (t) => {
20
- this.isScheduled = !1;
21
- const e = this.callbacks, i = this.callbacksCount;
22
- if (this.callbacks = [], this.callbacksCount = 0, this.startId = this.nextId, i > 0)
23
- for (let r = 0; r < e.length; r += 1)
24
- e[r]?.(t);
25
- };
26
- request(t) {
27
- const e = this.nextId;
28
- this.nextId += 1, this.callbacks.push(t), this.callbacksCount += 1;
29
- const i = process.env.NODE_ENV === "test" && l !== requestAnimationFrame && (l = requestAnimationFrame, !0);
30
- return (!this.isScheduled || i) && (requestAnimationFrame(this.tick), this.isScheduled = !0), e;
31
- }
32
- cancel(t) {
33
- const e = t - this.startId;
34
- e < 0 || e >= this.callbacks.length || (this.callbacks[e] = null, this.callbacksCount -= 1);
35
- }
36
- }
37
- const c = new o();
38
- class a {
39
- static create() {
40
- return new a();
41
- }
42
- static request(t) {
43
- return c.request(t);
44
- }
45
- static cancel(t) {
46
- return c.cancel(t);
47
- }
48
- currentId = s;
49
- /**
50
- * Executes `fn` after `delay`, clearing any previously scheduled call.
51
- */
52
- request(t) {
53
- this.cancel(), this.currentId = c.request(() => {
54
- this.currentId = s, t();
55
- });
56
- }
57
- cancel = () => {
58
- this.currentId !== s && (c.cancel(this.currentId), this.currentId = s);
59
- };
60
- disposeEffect = () => this.cancel;
61
- }
62
- function k() {
63
- const n = u(a.create).current;
64
- return h(n.disposeEffect), n;
2
+ import * as e from "react";
3
+ import { useStableCallback as a } from "./index127.js";
4
+ import { useEnhancedClickHandler as u } from "./index216.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]);
65
22
  }
66
23
  export {
67
- a as AnimationFrame,
68
- k as useAnimationFrame
24
+ f as useOpenInteractionType
69
25
  };
package/dist/index141.js CHANGED
@@ -1,107 +1,38 @@
1
- "use client";
2
- import { getWindow as u, isOverflowElement as Y } from "./index94.js";
3
- import { isIOS as W, isWebKit as E } from "./index188.js";
4
- import { ownerDocument as n } from "./index154.js";
5
- import { useIsoLayoutEffect as T } from "./index97.js";
6
- import { Timeout as k } from "./index138.js";
7
- import { AnimationFrame as z } from "./index140.js";
8
- import { NOOP as H } from "./index106.js";
9
- let L = {}, C = {}, O = "";
10
- function F(r) {
11
- if (typeof document > "u")
12
- return !1;
13
- const o = n(r);
14
- return u(o).innerWidth - o.documentElement.clientWidth > 0;
15
- }
16
- function j(r) {
17
- const o = n(r), t = o.documentElement, e = o.body, l = Y(t) ? t : e, s = l.style.overflow;
18
- return l.style.overflow = "hidden", () => {
19
- l.style.overflow = s;
20
- };
21
- }
22
- function I(r) {
23
- const o = n(r), t = o.documentElement, e = o.body, l = u(t);
24
- let s = 0, c = 0;
25
- const h = z.create(), f = typeof CSS < "u" && CSS.supports?.("scrollbar-gutter", "stable");
26
- if (E && (l.visualViewport?.scale ?? 1) !== 1)
27
- return () => {
28
- };
29
- function d() {
30
- const a = l.getComputedStyle(t), i = l.getComputedStyle(e), y = (a.scrollbarGutter || "").includes("both-edges") ? "stable both-edges" : "stable";
31
- s = t.scrollTop, c = t.scrollLeft, L = {
32
- scrollbarGutter: t.style.scrollbarGutter,
33
- overflowY: t.style.overflowY,
34
- overflowX: t.style.overflowX
35
- }, O = t.style.scrollBehavior, C = {
36
- position: e.style.position,
37
- height: e.style.height,
38
- width: e.style.width,
39
- boxSizing: e.style.boxSizing,
40
- overflowY: e.style.overflowY,
41
- overflowX: e.style.overflowX,
42
- scrollBehavior: e.style.scrollBehavior
43
- };
44
- const X = t.scrollHeight > t.clientHeight, B = t.scrollWidth > t.clientWidth, x = a.overflowY === "scroll" || i.overflowY === "scroll", G = a.overflowX === "scroll" || i.overflowX === "scroll", b = Math.max(0, l.innerWidth - t.clientWidth), w = Math.max(0, l.innerHeight - t.clientHeight), p = parseFloat(i.marginTop) + parseFloat(i.marginBottom), g = parseFloat(i.marginLeft) + parseFloat(i.marginRight), S = Y(t) ? t : e;
45
- if (f) {
46
- t.style.scrollbarGutter = y, S.style.overflowY = "hidden", S.style.overflowX = "hidden";
47
- return;
48
- }
49
- Object.assign(t.style, {
50
- scrollbarGutter: y,
51
- overflowY: "hidden",
52
- overflowX: "hidden"
53
- }), (X || x) && (t.style.overflowY = "scroll"), (B || G) && (t.style.overflowX = "scroll"), Object.assign(e.style, {
54
- position: "relative",
55
- height: p || w ? `calc(100dvh - ${p + w}px)` : "100dvh",
56
- width: g || b ? `calc(100vw - ${g + b}px)` : "100vw",
57
- boxSizing: "border-box",
58
- overflow: "hidden",
59
- scrollBehavior: "unset"
60
- }), e.scrollTop = s, e.scrollLeft = c, t.setAttribute("data-base-ui-scroll-locked", ""), t.style.scrollBehavior = "unset";
61
- }
62
- function m() {
63
- Object.assign(t.style, L), Object.assign(e.style, C), f || (t.scrollTop = s, t.scrollLeft = c, t.removeAttribute("data-base-ui-scroll-locked"), t.style.scrollBehavior = O);
64
- }
65
- function v() {
66
- m(), h.request(d);
1
+ import { isElement as s } from "./index164.js";
2
+ import { useId as m } from "./index181.js";
3
+ import { useRefWithInit as c } from "./index101.js";
4
+ import { useIsoLayoutEffect as a } from "./index126.js";
5
+ import { useFloatingParentNodeId as u } from "./index178.js";
6
+ import { FloatingRootStore as g } from "./index244.js";
7
+ import { PopupTriggerMap as p } from "./index219.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.");
67
17
  }
68
- return d(), l.addEventListener("resize", v), () => {
69
- h.cancel(), m(), typeof l.removeEventListener == "function" && l.removeEventListener("resize", v);
70
- };
71
- }
72
- class R {
73
- lockCount = 0;
74
- restore = null;
75
- timeoutLock = k.create();
76
- timeoutUnlock = k.create();
77
- acquire(o) {
78
- return this.lockCount += 1, this.lockCount === 1 && this.restore === null && this.timeoutLock.start(0, () => this.lock(o)), this.release;
79
- }
80
- release = () => {
81
- this.lockCount -= 1, this.lockCount === 0 && this.restore && this.timeoutUnlock.start(0, this.unlock);
82
- };
83
- unlock = () => {
84
- this.lockCount === 0 && this.restore && (this.restore?.(), this.restore = null);
85
- };
86
- lock(o) {
87
- if (this.lockCount === 0 || this.restore !== null)
88
- return;
89
- const e = n(o).documentElement, l = u(e).getComputedStyle(e).overflowY;
90
- if (l === "hidden" || l === "clip") {
91
- this.restore = H;
92
- return;
93
- }
94
- const s = W || !F(o);
95
- this.restore = s ? j(o) : I(o);
96
- }
97
- }
98
- const V = new R();
99
- function _(r = !0, o = null) {
100
- T(() => {
101
- if (r)
102
- return V.acquire(o);
103
- }, [r, o]);
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;
104
35
  }
105
36
  export {
106
- _ as useScrollLock
37
+ O as useFloatingRootContext
107
38
  };