@yselimcan/ui 0.0.3 → 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 (225) 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 -7
  9. package/dist/index108.js +19 -88
  10. package/dist/index109.js +4 -11
  11. package/dist/index110.js +4 -63
  12. package/dist/index111.js +4 -37
  13. package/dist/index112.js +12 -14
  14. package/dist/index113.js +18 -32
  15. package/dist/index114.js +13 -19
  16. package/dist/index115.js +295 -4
  17. package/dist/index116.js +5 -4
  18. package/dist/index117.js +39 -5
  19. package/dist/index118.js +124 -10
  20. package/dist/index119.js +21 -19
  21. package/dist/index120.js +77 -13
  22. package/dist/index121.js +59 -291
  23. package/dist/index122.js +45 -4
  24. package/dist/index123.js +14 -39
  25. package/dist/index124.js +4 -124
  26. package/dist/index125.js +29 -20
  27. package/dist/index126.js +5 -77
  28. package/dist/index127.js +25 -62
  29. package/dist/index128.js +16 -44
  30. package/dist/index129.js +21 -29
  31. package/dist/index130.js +58 -11
  32. package/dist/index131.js +16 -65
  33. package/dist/index132.js +24 -50
  34. package/dist/index133.js +39 -11
  35. package/dist/index134.js +42 -12
  36. package/dist/index135.js +20 -11
  37. package/dist/index136.js +44 -36
  38. package/dist/index137.js +51 -11
  39. package/dist/index138.js +17 -8
  40. package/dist/index139.js +11 -5
  41. package/dist/index140.js +21 -86
  42. package/dist/index141.js +35 -11
  43. package/dist/index142.js +223 -256
  44. package/dist/index143.js +279 -75
  45. package/dist/index144.js +53 -11
  46. package/dist/index145.js +13 -54
  47. package/dist/index146.js +79 -11
  48. package/dist/index147.js +3 -11
  49. package/dist/index148.js +2 -2
  50. package/dist/index149.js +23 -18
  51. package/dist/index150.js +14 -65
  52. package/dist/index151.js +63 -98
  53. package/dist/index152.js +4 -9
  54. package/dist/index153.js +103 -7
  55. package/dist/index154.js +78 -21
  56. package/dist/index155.js +259 -99
  57. package/dist/index156.js +11 -7
  58. package/dist/index157.js +10 -32
  59. package/dist/index158.js +38 -228
  60. package/dist/index159.js +4 -74
  61. package/dist/index160.js +63 -280
  62. package/dist/index161.js +10 -54
  63. package/dist/index162.js +8 -3
  64. package/dist/index163.js +5 -14
  65. package/dist/index164.js +132 -14
  66. package/dist/index165.js +51 -26
  67. package/dist/index166.js +11 -7
  68. package/dist/index167.js +116 -21
  69. package/dist/index168.js +12 -25
  70. package/dist/index169.js +8 -160
  71. package/dist/index17.js +4 -4
  72. package/dist/index170.js +12 -113
  73. package/dist/index171.js +22 -75
  74. package/dist/index172.js +11 -64
  75. package/dist/index173.js +65 -68
  76. package/dist/index174.js +13 -14
  77. package/dist/index175.js +13 -6
  78. package/dist/index176.js +11 -16
  79. package/dist/index177.js +11 -21
  80. package/dist/index178.js +86 -57
  81. package/dist/index179.js +11 -17
  82. package/dist/index18.js +4 -4
  83. package/dist/index180.js +11 -27
  84. package/dist/index181.js +56 -42
  85. package/dist/index182.js +10 -20
  86. package/dist/index183.js +11 -48
  87. package/dist/index184.js +15 -48
  88. package/dist/index185.js +8 -17
  89. package/dist/index186.js +8 -11
  90. package/dist/index187.js +102 -34
  91. package/dist/index188.js +7 -15
  92. package/dist/index189.js +31 -78
  93. package/dist/index19.js +10 -10
  94. package/dist/index190.js +74 -23
  95. package/dist/index191.js +15 -4
  96. package/dist/index192.js +28 -11
  97. package/dist/index193.js +7 -10
  98. package/dist/index194.js +22 -40
  99. package/dist/index195.js +25 -5
  100. package/dist/index196.js +160 -9
  101. package/dist/index197.js +113 -11
  102. package/dist/index198.js +73 -115
  103. package/dist/index199.js +64 -11
  104. package/dist/index20.js +3 -3
  105. package/dist/index201.js +2 -2
  106. package/dist/index202.js +5 -5
  107. package/dist/index203.js +1 -1
  108. package/dist/index204.js +2 -2
  109. package/dist/index205.js +3 -3
  110. package/dist/index206.js +12 -4
  111. package/dist/index207.js +4 -19
  112. package/dist/index208.js +4 -128
  113. package/dist/index209.js +10 -45
  114. package/dist/index21.js +4 -4
  115. package/dist/index210.js +16 -17
  116. package/dist/index211.js +22 -5
  117. package/dist/index212.js +122 -175
  118. package/dist/index213.js +45 -76
  119. package/dist/index214.js +15 -396
  120. package/dist/index215.js +5 -7
  121. package/dist/index216.js +181 -5
  122. package/dist/index217.js +74 -15
  123. package/dist/index218.js +396 -12
  124. package/dist/index219.js +38 -32
  125. package/dist/index22.js +5 -5
  126. package/dist/index220.js +57 -39
  127. package/dist/index221.js +28 -57
  128. package/dist/index222.js +7 -27
  129. package/dist/index223.js +12 -7
  130. package/dist/index224.js +10 -11
  131. package/dist/index225.js +5 -5
  132. package/dist/index226.js +21 -11
  133. package/dist/index227.js +11 -21
  134. package/dist/index228.js +7 -11
  135. package/dist/index229.js +42 -7
  136. package/dist/index23.js +3 -3
  137. package/dist/index230.js +4 -43
  138. package/dist/index231.js +5 -597
  139. package/dist/index232.js +596 -11
  140. package/dist/index233.js +12 -4
  141. package/dist/index234.js +11 -6
  142. package/dist/index235.js +32 -11
  143. package/dist/index236.js +208 -14
  144. package/dist/index237.js +4 -209
  145. package/dist/index238.js +13 -3
  146. package/dist/index239.js +47 -13
  147. package/dist/index24.js +9 -9
  148. package/dist/index240.js +3 -47
  149. package/dist/index241.js +12 -3
  150. package/dist/index242.js +56 -11
  151. package/dist/index243.js +29 -57
  152. package/dist/index244.js +13 -29
  153. package/dist/index245.js +9 -14
  154. package/dist/index246.js +207 -9
  155. package/dist/index247.js +13 -205
  156. package/dist/index248.js +317 -16
  157. package/dist/index249.js +3 -6
  158. package/dist/index250.js +3 -322
  159. package/dist/index251.js +21 -3
  160. package/dist/index252.js +6 -3
  161. package/dist/index253.js +1 -1
  162. package/dist/index26.js +1 -1
  163. package/dist/index27.js +1 -1
  164. package/dist/index28.js +1 -1
  165. package/dist/index32.js +1 -1
  166. package/dist/index33.js +17 -17
  167. package/dist/index34.js +5 -5
  168. package/dist/index35.js +14 -14
  169. package/dist/index36.js +11 -11
  170. package/dist/index37.js +8 -8
  171. package/dist/index38.js +9 -9
  172. package/dist/index39.js +5 -5
  173. package/dist/index40.js +3 -3
  174. package/dist/index41.js +4 -4
  175. package/dist/index42.js +2 -2
  176. package/dist/index43.js +2 -2
  177. package/dist/index44.js +1 -1
  178. package/dist/index45.js +6 -6
  179. package/dist/index46.js +10 -10
  180. package/dist/index47.js +9 -9
  181. package/dist/index48.js +17 -17
  182. package/dist/index49.js +4 -4
  183. package/dist/index50.js +11 -11
  184. package/dist/index52.js +24 -24
  185. package/dist/index53.js +3 -3
  186. package/dist/index54.js +30 -30
  187. package/dist/index55.js +14 -14
  188. package/dist/index56.js +13 -13
  189. package/dist/index57.js +2 -2
  190. package/dist/index58.js +4 -4
  191. package/dist/index59.js +6 -6
  192. package/dist/index60.js +12 -12
  193. package/dist/index61.js +5 -5
  194. package/dist/index62.js +4 -4
  195. package/dist/index63.js +12 -12
  196. package/dist/index64.js +5 -5
  197. package/dist/index65.js +3 -3
  198. package/dist/index66.js +14 -14
  199. package/dist/index69.js +32 -32
  200. package/dist/index70.js +5 -5
  201. package/dist/index71.js +18 -18
  202. package/dist/index72.js +23 -23
  203. package/dist/index73.js +8 -8
  204. package/dist/index74.js +2 -2
  205. package/dist/index75.js +12 -12
  206. package/dist/index76.js +3 -3
  207. package/dist/index77.js +5 -5
  208. package/dist/index78.js +4 -4
  209. package/dist/index79.js +1 -1
  210. package/dist/index80.js +1 -1
  211. package/dist/index81.js +16 -16
  212. package/dist/index82.js +5 -5
  213. package/dist/index83.js +5 -5
  214. package/dist/index86.js +11 -54
  215. package/dist/index87.js +54 -11
  216. package/dist/index88.js +11 -11
  217. package/dist/index89.js +6 -6
  218. package/dist/index94.js +4 -133
  219. package/dist/index95.js +63 -24
  220. package/dist/index96.js +8 -8
  221. package/dist/index97.js +14 -5
  222. package/dist/index98.js +3 -12
  223. package/dist/index99.js +3 -22
  224. package/dist/styles.css +1 -1
  225. package/package.json +1 -1
package/dist/index149.js CHANGED
@@ -1,21 +1,26 @@
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);
1
+ import { FieldControlDataAttributes as a } from "./index208.js";
2
+ const e = {
3
+ badInput: !1,
4
+ customError: !1,
5
+ patternMismatch: !1,
6
+ rangeOverflow: !1,
7
+ rangeUnderflow: !1,
8
+ stepMismatch: !1,
9
+ tooLong: !1,
10
+ tooShort: !1,
11
+ typeMismatch: !1,
12
+ valid: null,
13
+ valueMissing: !1
14
+ }, r = {
15
+ valid(l) {
16
+ return l === null ? null : l ? {
17
+ [a.valid]: ""
18
+ } : {
19
+ [a.invalid]: ""
20
+ };
16
21
  }
17
- return f(u, t);
18
- }
22
+ };
19
23
  export {
20
- I as useId
24
+ e as DEFAULT_VALIDITY_STATE,
25
+ r as fieldValidityMapping
21
26
  };
package/dist/index150.js CHANGED
@@ -1,69 +1,18 @@
1
- "use client";
2
- import { useRefWithInit as u } from "./index107.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);
1
+ function l(e) {
2
+ const t = e.getBoundingClientRect();
3
+ if (process.env.NODE_ENV === "test")
4
+ return t;
5
+ const o = window.getComputedStyle(e, "::before"), n = window.getComputedStyle(e, "::after");
6
+ if (!(o.content !== "none" || n.content !== "none"))
7
+ return t;
8
+ const i = parseFloat(o.width) || 0, r = parseFloat(o.height) || 0, a = parseFloat(n.width) || 0, c = parseFloat(n.height) || 0, d = Math.max(t.width, i, a), f = Math.max(t.height, r, c), s = d - t.width, h = f - t.height;
9
+ return {
10
+ left: t.left - s / 2,
11
+ right: t.right + s / 2,
12
+ top: t.top - h / 2,
13
+ bottom: t.bottom + h / 2
25
14
  };
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;
65
15
  }
66
16
  export {
67
- a as AnimationFrame,
68
- k as useAnimationFrame
17
+ l as getPseudoElementBounds
69
18
  };
package/dist/index151.js CHANGED
@@ -1,107 +1,72 @@
1
- "use client";
2
- import { getWindow as u, isOverflowElement as Y } from "./index94.js";
3
- import { isIOS as W, isWebKit as E } from "./index194.js";
4
- import { ownerDocument as n } from "./index162.js";
5
- import { useIsoLayoutEffect as T } from "./index97.js";
6
- import { Timeout as k } from "./index148.js";
7
- import { AnimationFrame as z } from "./index150.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
- };
1
+ import { isHTMLElement as u, isShadowRoot as i } from "./index164.js";
2
+ import { isJSDOM as c } from "./index158.js";
3
+ import { TYPEABLE_SELECTOR as s, FOCUSABLE_ATTRIBUTE as n } from "./index245.js";
4
+ function h(t) {
5
+ let e = t.activeElement;
6
+ for (; e?.shadowRoot?.activeElement != null; )
7
+ e = e.shadowRoot.activeElement;
8
+ return e;
21
9
  }
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;
10
+ function b(t, e) {
11
+ if (!t || !e)
12
+ return !1;
13
+ const r = e.getRootNode?.();
14
+ if (t.contains(e))
15
+ return !0;
16
+ if (r && i(r)) {
17
+ let o = e;
18
+ for (; o; ) {
19
+ if (t === o)
20
+ return !0;
21
+ o = o.parentNode || o.host;
48
22
  }
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
23
  }
65
- function v() {
66
- m(), h.request(d);
67
- }
68
- return d(), l.addEventListener("resize", v), () => {
69
- h.cancel(), m(), typeof l.removeEventListener == "function" && l.removeEventListener("resize", v);
70
- };
24
+ return !1;
71
25
  }
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);
26
+ function E(t) {
27
+ return "composedPath" in t ? t.composedPath()[0] : t.target;
28
+ }
29
+ function T(t, e) {
30
+ if (e == null)
31
+ return !1;
32
+ if ("composedPath" in t)
33
+ return t.composedPath().includes(e);
34
+ const r = t;
35
+ return r.target != null && e.contains(r.target);
36
+ }
37
+ function p(t) {
38
+ return t.matches("html,body");
39
+ }
40
+ function d(t) {
41
+ return t?.ownerDocument || document;
42
+ }
43
+ function a(t) {
44
+ return u(t) && t.matches(s);
45
+ }
46
+ function g(t) {
47
+ return t ? t.getAttribute("role") === "combobox" && a(t) : !1;
48
+ }
49
+ function R(t) {
50
+ if (!t || c)
51
+ return !0;
52
+ try {
53
+ return t.matches(":focus-visible");
54
+ } catch {
55
+ return !0;
96
56
  }
97
57
  }
98
- const V = new R();
99
- function _(r = !0, o = null) {
100
- T(() => {
101
- if (r)
102
- return V.acquire(o);
103
- }, [r, o]);
58
+ function w(t) {
59
+ return t ? t.hasAttribute(n) ? t : t.querySelector(`[${n}]`) || t : null;
104
60
  }
105
61
  export {
106
- _ as useScrollLock
62
+ h as activeElement,
63
+ b as contains,
64
+ d as getDocument,
65
+ w as getFloatingFocusElement,
66
+ E as getTarget,
67
+ T as isEventTargetWithin,
68
+ p as isRootElement,
69
+ g as isTypeableCombobox,
70
+ a as isTypeableElement,
71
+ R as matchesFocusVisible
107
72
  };
package/dist/index152.js CHANGED
@@ -1,11 +1,6 @@
1
- "use client";
2
- import * as t from "react";
3
- const e = /* @__PURE__ */ t.createContext(null);
4
- process.env.NODE_ENV !== "production" && (e.displayName = "MenubarContext");
5
- function r(n) {
6
- return t.useContext(e);
7
- }
1
+ import * as e from "react";
2
+ const t = /* @__PURE__ */ e.createContext(void 0);
3
+ process.env.NODE_ENV !== "production" && (t.displayName = "SelectPortalContext");
8
4
  export {
9
- e as MenubarContext,
10
- r as useMenubarContext
5
+ t as SelectPortalContext
11
6
  };
package/dist/index153.js CHANGED
@@ -1,11 +1,107 @@
1
1
  "use client";
2
- import * as t from "react";
3
- const e = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (e.displayName = "DirectionContext");
5
- function o() {
6
- return t.useContext(e)?.direction ?? "ltr";
2
+ import { getWindow as u, isOverflowElement as Y } from "./index164.js";
3
+ import { isIOS as W, isWebKit as E } from "./index158.js";
4
+ import { ownerDocument as n } from "./index147.js";
5
+ import { useIsoLayoutEffect as T } from "./index126.js";
6
+ import { Timeout as k } from "./index148.js";
7
+ import { AnimationFrame as z } from "./index160.js";
8
+ import { NOOP as H } from "./index100.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);
67
+ }
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]);
7
104
  }
8
105
  export {
9
- e as DirectionContext,
10
- o as useDirection
106
+ _ as useScrollLock
11
107
  };
package/dist/index154.js CHANGED
@@ -1,25 +1,82 @@
1
1
  "use client";
2
- import * as e from "react";
3
- import { useStableCallback as a } from "./index95.js";
4
- import { useEnhancedClickHandler as u } from "./index217.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]);
2
+ import * as a from "react";
3
+ import { useRefWithInit as T } from "./index101.js";
4
+ import { useStableCallback as m } from "./index127.js";
5
+ import { useIsoLayoutEffect as f } from "./index126.js";
6
+ import { CompositeListContext as D } from "./index211.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;
22
79
  }
23
80
  export {
24
- f as useOpenInteractionType
81
+ k as CompositeList
25
82
  };