@drjoshcsimmons/scl 0.1.13 → 0.1.15

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 (115) hide show
  1. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  2. package/dist/index100.js +25 -30
  3. package/dist/index101.js +8 -12
  4. package/dist/index102.js +177 -51
  5. package/dist/index103.js +47 -29
  6. package/dist/index104.js +30 -4
  7. package/dist/index105.js +52 -216
  8. package/dist/index106.js +29 -47
  9. package/dist/index107.js +30 -30
  10. package/dist/index108.js +650 -30
  11. package/dist/index110.js +30 -9
  12. package/dist/index111.js +8 -180
  13. package/dist/index112.js +15 -30
  14. package/dist/index113.js +6 -48
  15. package/dist/index115.js +47 -11
  16. package/dist/index116.js +11 -47
  17. package/dist/index117.js +206 -6
  18. package/dist/index118.js +20 -204
  19. package/dist/index119.js +399 -21
  20. package/dist/index12.js +1 -1
  21. package/dist/index120.js +20 -399
  22. package/dist/index121.js +3 -15
  23. package/dist/index122.js +32 -3
  24. package/dist/index123.js +12 -32
  25. package/dist/index124.js +48 -18
  26. package/dist/index125.js +2 -25
  27. package/dist/index126.js +53 -29
  28. package/dist/index127.js +65 -5
  29. package/dist/index128.js +25 -2
  30. package/dist/index129.js +29 -53
  31. package/dist/index13.js +1 -1
  32. package/dist/index130.js +5 -65
  33. package/dist/index136.js +1 -1
  34. package/dist/index137.js +1 -1
  35. package/dist/index14.js +2 -2
  36. package/dist/index141.js +1 -1
  37. package/dist/index142.js +1 -1
  38. package/dist/index143.js +1 -1
  39. package/dist/index148.js +11 -21
  40. package/dist/index149.js +26 -11
  41. package/dist/index15.js +54 -54
  42. package/dist/index150.js +4 -27
  43. package/dist/index151.js +22 -4
  44. package/dist/index17.js +71 -72
  45. package/dist/index18.js +2 -2
  46. package/dist/index19.js +4 -4
  47. package/dist/index21.js +15 -15
  48. package/dist/index22.js +20 -20
  49. package/dist/index23.js +2 -2
  50. package/dist/index24.js +12 -12
  51. package/dist/index25.js +57 -57
  52. package/dist/index26.js +1 -1
  53. package/dist/index27.js +31 -31
  54. package/dist/index29.js +7 -7
  55. package/dist/index31.js +14 -14
  56. package/dist/index32.js +17 -17
  57. package/dist/index33.js +10 -10
  58. package/dist/index36.js +8 -8
  59. package/dist/index37.js +18 -18
  60. package/dist/index4.js +25 -25
  61. package/dist/index45.js +1 -1
  62. package/dist/index46.js +1 -1
  63. package/dist/index48.js +62 -249
  64. package/dist/index49.js +241 -12
  65. package/dist/index50.js +410 -285
  66. package/dist/index51.js +125 -12
  67. package/dist/index52.js +3 -3
  68. package/dist/index53.js +1 -1
  69. package/dist/index54.js +102 -209
  70. package/dist/index55.js +130 -11
  71. package/dist/index56.js +236 -11
  72. package/dist/index57.js +11 -125
  73. package/dist/index58.js +57 -70
  74. package/dist/index59.js +248 -76
  75. package/dist/index6.js +36 -36
  76. package/dist/index60.js +222 -822
  77. package/dist/index61.js +6 -3
  78. package/dist/index62.js +506 -94
  79. package/dist/index63.js +1 -1
  80. package/dist/index64.js +158 -57
  81. package/dist/index65.js +71 -230
  82. package/dist/index66.js +20 -433
  83. package/dist/index67.js +823 -299
  84. package/dist/index68.js +9 -161
  85. package/dist/index69.js +218 -24
  86. package/dist/index7.js +1 -1
  87. package/dist/index70.js +11 -236
  88. package/dist/index71.js +325 -119
  89. package/dist/index72.js +310 -12
  90. package/dist/index73.js +12 -254
  91. package/dist/index74.js +25 -524
  92. package/dist/index75.js +12 -22
  93. package/dist/index77.js +1 -1
  94. package/dist/index8.js +5 -5
  95. package/dist/index80.js +1 -1
  96. package/dist/index81.js +1 -1
  97. package/dist/index82.js +1 -1
  98. package/dist/index84.js +48 -118
  99. package/dist/index85.js +10 -134
  100. package/dist/index86.js +4 -14
  101. package/dist/index87.js +29 -68
  102. package/dist/index88.js +11 -13
  103. package/dist/index89.js +124 -8
  104. package/dist/index9.js +21 -21
  105. package/dist/index90.js +15 -50
  106. package/dist/index91.js +127 -40
  107. package/dist/index92.js +218 -5
  108. package/dist/index93.js +14 -25
  109. package/dist/index94.js +66 -12
  110. package/dist/index95.js +44 -646
  111. package/dist/index96.js +50 -9
  112. package/dist/index97.js +9 -55
  113. package/dist/index98.js +3 -10
  114. package/dist/index99.js +6 -4
  115. package/package.json +1 -1
package/dist/index9.js CHANGED
@@ -1,21 +1,21 @@
1
- import { jsx as n } from "react/jsx-runtime";
1
+ import { jsx as i } from "react/jsx-runtime";
2
2
  import * as s from "react";
3
- import { Root as d } from "./index64.js";
4
- import { cva as b } from "./index47.js";
5
- import { cn as c } from "./index2.js";
6
- const p = b(
7
- "inline-flex items-center justify-center gap-2 whitespace-nowrap font-mono font-bold uppercase tracking-wider transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-30 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
3
+ import { Root as d } from "./index58.js";
4
+ import { cva as c } from "./index47.js";
5
+ import { cn as v } from "./index2.js";
6
+ const p = c(
7
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap font-mono font-bold uppercase tracking-wider cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-30 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
8
8
  {
9
9
  variants: {
10
10
  variant: {
11
- default: "bg-primary text-primary-foreground border-2 border-primary hover:bg-primary/90 active:bg-primary/80",
12
- secondary: "bg-secondary text-secondary-foreground border-2 border-secondary hover:bg-secondary/90 active:bg-secondary/80",
13
- outline: "bg-transparent text-primary border-2 border-primary hover:bg-primary/10 active:bg-primary/20",
14
- "secondary-outline": "bg-transparent text-secondary border-2 border-secondary hover:bg-secondary/10 active:bg-secondary/20",
15
- ghost: "bg-transparent text-primary border-2 border-transparent hover:border-primary/50 active:bg-primary/10",
16
- link: "bg-transparent text-primary underline-offset-4 hover:underline border-none",
17
- destructive: "bg-destructive text-destructive-foreground border-2 border-destructive hover:bg-destructive/90 active:bg-destructive/80",
18
- "destructive-outline": "bg-transparent text-destructive border-2 border-destructive hover:bg-destructive/10 active:bg-destructive/20"
11
+ default: "bg-primary text-primary-foreground border-2 border-primary hover:bg-transparent hover:text-primary active:bg-primary active:text-primary-foreground active:border-primary-foreground",
12
+ secondary: "bg-secondary text-secondary-foreground border-2 border-secondary hover:bg-transparent hover:text-secondary active:bg-secondary active:text-secondary-foreground active:border-secondary-foreground",
13
+ outline: "bg-transparent text-primary border-2 border-primary hover:bg-primary hover:text-primary-foreground active:bg-transparent active:text-primary active:border-primary-foreground",
14
+ "secondary-outline": "bg-transparent text-secondary border-2 border-secondary hover:bg-secondary hover:text-secondary-foreground active:bg-transparent active:text-secondary active:border-secondary-foreground",
15
+ ghost: "bg-transparent text-primary border-2 border-transparent hover:border-primary hover:bg-primary hover:text-primary-foreground active:bg-transparent active:border-primary-foreground active:text-primary",
16
+ link: "bg-transparent text-primary underline-offset-4 hover:underline border-none active:no-underline",
17
+ destructive: "bg-destructive text-destructive-foreground border-2 border-destructive hover:bg-transparent hover:text-destructive active:bg-destructive active:text-destructive-foreground active:border-destructive-foreground",
18
+ "destructive-outline": "bg-transparent text-destructive border-2 border-destructive hover:bg-destructive hover:text-destructive-foreground active:bg-transparent active:text-destructive active:border-destructive-foreground"
19
19
  },
20
20
  size: {
21
21
  default: "h-11 px-6 py-3 text-sm",
@@ -29,18 +29,18 @@ const p = b(
29
29
  size: "default"
30
30
  }
31
31
  }
32
- ), v = s.forwardRef(
33
- ({ className: r, variant: e, size: t, asChild: o = !1, ...i }, a) => /* @__PURE__ */ n(
32
+ ), u = s.forwardRef(
33
+ ({ className: r, variant: e, size: t, asChild: o = !1, ...a }, n) => /* @__PURE__ */ i(
34
34
  o ? d : "button",
35
35
  {
36
- className: c(p({ variant: e, size: t, className: r })),
37
- ref: a,
38
- ...i
36
+ className: v(p({ variant: e, size: t, className: r })),
37
+ ref: n,
38
+ ...a
39
39
  }
40
40
  )
41
41
  );
42
- v.displayName = "Button";
42
+ u.displayName = "Button";
43
43
  export {
44
- v as Button,
44
+ u as Button,
45
45
  p as buttonVariants
46
46
  };
package/dist/index90.js CHANGED
@@ -1,52 +1,17 @@
1
- var S = function(r) {
2
- if (typeof document > "u")
3
- return null;
4
- var u = Array.isArray(r) ? r[0] : r;
5
- return u.ownerDocument.body;
6
- }, f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {}, h = 0, W = function(r) {
7
- return r && (r.host || W(r.parentNode));
8
- }, D = function(r, u) {
9
- return u.map(function(e) {
10
- if (r.contains(e))
11
- return e;
12
- var n = W(e);
13
- return n && r.contains(n) ? n : (console.error("aria-hidden", e, "in not contained inside", r, ". Doing nothing"), null);
14
- }).filter(function(e) {
15
- return !!e;
16
- });
17
- }, E = function(r, u, e, n) {
18
- var i = D(u, Array.isArray(r) ? r : [r]);
19
- p[e] || (p[e] = /* @__PURE__ */ new WeakMap());
20
- var s = p[e], l = [], o = /* @__PURE__ */ new Set(), b = new Set(i), y = function(t) {
21
- !t || o.has(t) || (o.add(t), y(t.parentNode));
22
- };
23
- i.forEach(y);
24
- var A = function(t) {
25
- !t || b.has(t) || Array.prototype.forEach.call(t.children, function(a) {
26
- if (o.has(a))
27
- A(a);
28
- else
29
- try {
30
- var c = a.getAttribute(n), w = c !== null && c !== "false", d = (f.get(a) || 0) + 1, M = (s.get(a) || 0) + 1;
31
- f.set(a, d), s.set(a, M), l.push(a), d === 1 && w && v.set(a, !0), M === 1 && a.setAttribute(e, "true"), w || a.setAttribute(n, "true");
32
- } catch (k) {
33
- console.error("aria-hidden: cannot operate on ", a, k);
34
- }
35
- });
36
- };
37
- return A(u), o.clear(), h++, function() {
38
- l.forEach(function(t) {
39
- var a = f.get(t) - 1, c = s.get(t) - 1;
40
- f.set(t, a), s.set(t, c), a || (v.has(t) || t.removeAttribute(n), v.delete(t)), c || t.removeAttribute(e);
41
- }), h--, h || (f = /* @__PURE__ */ new WeakMap(), f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {});
42
- };
43
- }, C = function(r, u, e) {
44
- e === void 0 && (e = "data-aria-hidden");
45
- var n = Array.from(Array.isArray(r) ? r : [r]), i = S(r);
46
- return i ? (n.push.apply(n, Array.from(i.querySelectorAll("[aria-live], script"))), E(n, i, e, "aria-hidden")) : function() {
47
- return null;
48
- };
49
- };
1
+ import * as r from "react";
2
+ var t = 0;
3
+ function a() {
4
+ r.useEffect(() => {
5
+ const e = document.querySelectorAll("[data-radix-focus-guard]");
6
+ return document.body.insertAdjacentElement("afterbegin", e[0] ?? n()), document.body.insertAdjacentElement("beforeend", e[1] ?? n()), t++, () => {
7
+ t === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((o) => o.remove()), t--;
8
+ };
9
+ }, []);
10
+ }
11
+ function n() {
12
+ const e = document.createElement("span");
13
+ return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
14
+ }
50
15
  export {
51
- C as hideOthers
16
+ a as useFocusGuards
52
17
  };
package/dist/index91.js CHANGED
@@ -1,50 +1,137 @@
1
- import * as l from "react";
2
- import { composeRefs as m } from "./index78.js";
3
- import { jsx as u } from "react/jsx-runtime";
4
- // @__NO_SIDE_EFFECTS__
5
- function b(e) {
6
- const n = /* @__PURE__ */ y(e), o = l.forwardRef((t, r) => {
7
- const { children: i, ...c } = t, s = l.Children.toArray(i), a = s.find(E);
8
- if (a) {
9
- const f = a.props.children, d = s.map((p) => p === a ? l.Children.count(f) > 1 ? l.Children.only(null) : l.isValidElement(f) ? f.props.children : null : p);
10
- return /* @__PURE__ */ u(n, { ...c, ref: r, children: l.isValidElement(f) ? l.cloneElement(f, void 0, d) : null });
1
+ import * as d from "react";
2
+ import { useComposedRefs as R } from "./index78.js";
3
+ import { Primitive as M } from "./index81.js";
4
+ import { useCallbackRef as y } from "./index85.js";
5
+ import { jsx as _ } from "react/jsx-runtime";
6
+ var F = "focusScope.autoFocusOnMount", T = "focusScope.autoFocusOnUnmount", N = { bubbles: !1, cancelable: !0 }, K = "FocusScope", k = d.forwardRef((e, n) => {
7
+ const {
8
+ loop: t = !1,
9
+ trapped: u = !1,
10
+ onMountAutoFocus: p,
11
+ onUnmountAutoFocus: L,
12
+ ...g
13
+ } = e, [o, U] = d.useState(null), E = y(p), v = y(L), b = d.useRef(null), A = R(n, (s) => U(s)), a = d.useRef({
14
+ paused: !1,
15
+ pause() {
16
+ this.paused = !0;
17
+ },
18
+ resume() {
19
+ this.paused = !1;
11
20
  }
12
- return /* @__PURE__ */ u(n, { ...c, ref: r, children: i });
13
- });
14
- return o.displayName = `${e}.Slot`, o;
15
- }
16
- // @__NO_SIDE_EFFECTS__
17
- function y(e) {
18
- const n = l.forwardRef((o, t) => {
19
- const { children: r, ...i } = o;
20
- if (l.isValidElement(r)) {
21
- const c = S(r), s = C(i, r.props);
22
- return r.type !== l.Fragment && (s.ref = t ? m(t, c) : c), l.cloneElement(r, s);
21
+ }).current;
22
+ d.useEffect(() => {
23
+ if (u) {
24
+ let s = function(i) {
25
+ if (a.paused || !o) return;
26
+ const c = i.target;
27
+ o.contains(c) ? b.current = c : f(b.current, { select: !0 });
28
+ }, l = function(i) {
29
+ if (a.paused || !o) return;
30
+ const c = i.relatedTarget;
31
+ c !== null && (o.contains(c) || f(b.current, { select: !0 }));
32
+ }, r = function(i) {
33
+ if (document.activeElement === document.body)
34
+ for (const h of i)
35
+ h.removedNodes.length > 0 && f(o);
36
+ };
37
+ document.addEventListener("focusin", s), document.addEventListener("focusout", l);
38
+ const m = new MutationObserver(r);
39
+ return o && m.observe(o, { childList: !0, subtree: !0 }), () => {
40
+ document.removeEventListener("focusin", s), document.removeEventListener("focusout", l), m.disconnect();
41
+ };
42
+ }
43
+ }, [u, o, a.paused]), d.useEffect(() => {
44
+ if (o) {
45
+ S.add(a);
46
+ const s = document.activeElement;
47
+ if (!o.contains(s)) {
48
+ const r = new CustomEvent(F, N);
49
+ o.addEventListener(F, E), o.dispatchEvent(r), r.defaultPrevented || (w(W(I(o)), { select: !0 }), document.activeElement === s && f(o));
50
+ }
51
+ return () => {
52
+ o.removeEventListener(F, E), setTimeout(() => {
53
+ const r = new CustomEvent(T, N);
54
+ o.addEventListener(T, v), o.dispatchEvent(r), r.defaultPrevented || f(s ?? document.body, { select: !0 }), o.removeEventListener(T, v), S.remove(a);
55
+ }, 0);
56
+ };
57
+ }
58
+ }, [o, E, v, a]);
59
+ const P = d.useCallback(
60
+ (s) => {
61
+ if (!t && !u || a.paused) return;
62
+ const l = s.key === "Tab" && !s.altKey && !s.ctrlKey && !s.metaKey, r = document.activeElement;
63
+ if (l && r) {
64
+ const m = s.currentTarget, [i, c] = x(m);
65
+ i && c ? !s.shiftKey && r === c ? (s.preventDefault(), t && f(i, { select: !0 })) : s.shiftKey && r === i && (s.preventDefault(), t && f(c, { select: !0 })) : r === m && s.preventDefault();
66
+ }
67
+ },
68
+ [t, u, a.paused]
69
+ );
70
+ return /* @__PURE__ */ _(M.div, { tabIndex: -1, ...g, ref: A, onKeyDown: P });
71
+ });
72
+ k.displayName = K;
73
+ function w(e, { select: n = !1 } = {}) {
74
+ const t = document.activeElement;
75
+ for (const u of e)
76
+ if (f(u, { select: n }), document.activeElement !== t) return;
77
+ }
78
+ function x(e) {
79
+ const n = I(e), t = O(n, e), u = O(n.reverse(), e);
80
+ return [t, u];
81
+ }
82
+ function I(e) {
83
+ const n = [], t = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
84
+ acceptNode: (u) => {
85
+ const p = u.tagName === "INPUT" && u.type === "hidden";
86
+ return u.disabled || u.hidden || p ? NodeFilter.FILTER_SKIP : u.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
23
87
  }
24
- return l.Children.count(r) > 1 ? l.Children.only(null) : null;
25
88
  });
26
- return n.displayName = `${e}.SlotClone`, n;
89
+ for (; t.nextNode(); ) n.push(t.currentNode);
90
+ return n;
27
91
  }
28
- var g = Symbol("radix.slottable");
29
- function E(e) {
30
- return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === g;
92
+ function O(e, n) {
93
+ for (const t of e)
94
+ if (!D(t, { upTo: n })) return t;
31
95
  }
32
- function C(e, n) {
33
- const o = { ...n };
34
- for (const t in n) {
35
- const r = e[t], i = n[t];
36
- /^on[A-Z]/.test(t) ? r && i ? o[t] = (...s) => {
37
- const a = i(...s);
38
- return r(...s), a;
39
- } : r && (o[t] = r) : t === "style" ? o[t] = { ...r, ...i } : t === "className" && (o[t] = [r, i].filter(Boolean).join(" "));
96
+ function D(e, { upTo: n }) {
97
+ if (getComputedStyle(e).visibility === "hidden") return !0;
98
+ for (; e; ) {
99
+ if (n !== void 0 && e === n) return !1;
100
+ if (getComputedStyle(e).display === "none") return !0;
101
+ e = e.parentElement;
40
102
  }
41
- return { ...e, ...o };
103
+ return !1;
104
+ }
105
+ function H(e) {
106
+ return e instanceof HTMLInputElement && "select" in e;
107
+ }
108
+ function f(e, { select: n = !1 } = {}) {
109
+ if (e && e.focus) {
110
+ const t = document.activeElement;
111
+ e.focus({ preventScroll: !0 }), e !== t && H(e) && n && e.select();
112
+ }
113
+ }
114
+ var S = V();
115
+ function V() {
116
+ let e = [];
117
+ return {
118
+ add(n) {
119
+ const t = e[0];
120
+ n !== t && (t == null || t.pause()), e = C(e, n), e.unshift(n);
121
+ },
122
+ remove(n) {
123
+ var t;
124
+ e = C(e, n), (t = e[0]) == null || t.resume();
125
+ }
126
+ };
127
+ }
128
+ function C(e, n) {
129
+ const t = [...e], u = t.indexOf(n);
130
+ return u !== -1 && t.splice(u, 1), t;
42
131
  }
43
- function S(e) {
44
- var t, r;
45
- let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
46
- return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
132
+ function W(e) {
133
+ return e.filter((n) => n.tagName !== "A");
47
134
  }
48
135
  export {
49
- b as createSlot
136
+ k as FocusScope
50
137
  };
package/dist/index92.js CHANGED
@@ -1,8 +1,221 @@
1
- import * as u from "react";
2
- function t(r) {
3
- const e = u.useRef({ value: r, previous: r });
4
- return u.useMemo(() => (e.current.value !== r && (e.current.previous = e.current.value, e.current.value = r), e.current.previous), [r]);
1
+ import * as p from "react";
2
+ import { useFloating as xe, offset as Pe, shift as ye, flip as Ae, size as ve, arrow as Ce, hide as be, limitShift as Se } from "./index117.js";
3
+ import { Root as Oe } from "./index118.js";
4
+ import { useComposedRefs as j } from "./index78.js";
5
+ import { createContextScope as Re } from "./index76.js";
6
+ import { Primitive as z } from "./index81.js";
7
+ import { useCallbackRef as Ee } from "./index85.js";
8
+ import { useLayoutEffect as T } from "./index86.js";
9
+ import { useSize as Ne } from "./index100.js";
10
+ import { jsx as f } from "react/jsx-runtime";
11
+ import { autoUpdate as _e } from "./index119.js";
12
+ var N = "Popper", [L, Ue] = Re(N), [$e, Z] = L(N), U = (e) => {
13
+ const { __scopePopper: s, children: a } = e, [t, i] = p.useState(null);
14
+ return /* @__PURE__ */ f($e, { scope: s, anchor: t, onAnchorChange: i, children: a });
15
+ };
16
+ U.displayName = N;
17
+ var q = "PopperAnchor", G = p.forwardRef(
18
+ (e, s) => {
19
+ const { __scopePopper: a, virtualRef: t, ...i } = e, r = Z(q, a), o = p.useRef(null), w = j(s, o), n = p.useRef(null);
20
+ return p.useEffect(() => {
21
+ const c = n.current;
22
+ n.current = (t == null ? void 0 : t.current) || o.current, c !== n.current && r.onAnchorChange(n.current);
23
+ }), t ? null : /* @__PURE__ */ f(z.div, { ...i, ref: w });
24
+ }
25
+ );
26
+ G.displayName = q;
27
+ var _ = "PopperContent", [He, We] = L(_), J = p.forwardRef(
28
+ (e, s) => {
29
+ var Y, M, X, D, F, k;
30
+ const {
31
+ __scopePopper: a,
32
+ side: t = "bottom",
33
+ sideOffset: i = 0,
34
+ align: r = "center",
35
+ alignOffset: o = 0,
36
+ arrowPadding: w = 0,
37
+ avoidCollisions: n = !0,
38
+ collisionBoundary: c = [],
39
+ collisionPadding: x = 0,
40
+ sticky: m = "partial",
41
+ hideWhenDetached: y = !1,
42
+ updatePositionStrategy: A = "optimized",
43
+ onPlaced: l,
44
+ ...d
45
+ } = e, v = Z(_, a), [h, C] = p.useState(null), ee = j(s, (P) => C(P)), [E, te] = p.useState(null), u = Ne(E), re = (u == null ? void 0 : u.width) ?? 0, $ = (u == null ? void 0 : u.height) ?? 0, oe = t + (r !== "center" ? "-" + r : ""), ne = typeof x == "number" ? x : { top: 0, right: 0, bottom: 0, left: 0, ...x }, H = Array.isArray(c) ? c : [c], ae = H.length > 0, b = {
46
+ padding: ne,
47
+ boundary: H.filter(Ye),
48
+ // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
49
+ altBoundary: ae
50
+ }, { refs: ie, floatingStyles: W, placement: se, isPositioned: S, middlewareData: g } = xe({
51
+ // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
52
+ strategy: "fixed",
53
+ placement: oe,
54
+ whileElementsMounted: (...P) => _e(...P, {
55
+ animationFrame: A === "always"
56
+ }),
57
+ elements: {
58
+ reference: v.anchor
59
+ },
60
+ middleware: [
61
+ Pe({ mainAxis: i + $, alignmentAxis: o }),
62
+ n && ye({
63
+ mainAxis: !0,
64
+ crossAxis: !1,
65
+ limiter: m === "partial" ? Se() : void 0,
66
+ ...b
67
+ }),
68
+ n && Ae({ ...b }),
69
+ ve({
70
+ ...b,
71
+ apply: ({ elements: P, rects: B, availableWidth: he, availableHeight: ue }) => {
72
+ const { width: ge, height: we } = B.reference, R = P.floating.style;
73
+ R.setProperty("--radix-popper-available-width", `${he}px`), R.setProperty("--radix-popper-available-height", `${ue}px`), R.setProperty("--radix-popper-anchor-width", `${ge}px`), R.setProperty("--radix-popper-anchor-height", `${we}px`);
74
+ }
75
+ }),
76
+ E && Ce({ element: E, padding: w }),
77
+ Me({ arrowWidth: re, arrowHeight: $ }),
78
+ y && be({ strategy: "referenceHidden", ...b })
79
+ ]
80
+ }), [I, ce] = V(se), O = Ee(l);
81
+ T(() => {
82
+ S && (O == null || O());
83
+ }, [S, O]);
84
+ const pe = (Y = g.arrow) == null ? void 0 : Y.x, de = (M = g.arrow) == null ? void 0 : M.y, le = ((X = g.arrow) == null ? void 0 : X.centerOffset) !== 0, [fe, me] = p.useState();
85
+ return T(() => {
86
+ h && me(window.getComputedStyle(h).zIndex);
87
+ }, [h]), /* @__PURE__ */ f(
88
+ "div",
89
+ {
90
+ ref: ie.setFloating,
91
+ "data-radix-popper-content-wrapper": "",
92
+ style: {
93
+ ...W,
94
+ transform: S ? W.transform : "translate(0, -200%)",
95
+ // keep off the page when measuring
96
+ minWidth: "max-content",
97
+ zIndex: fe,
98
+ "--radix-popper-transform-origin": [
99
+ (D = g.transformOrigin) == null ? void 0 : D.x,
100
+ (F = g.transformOrigin) == null ? void 0 : F.y
101
+ ].join(" "),
102
+ // hide the content if using the hide middleware and should be hidden
103
+ // set visibility to hidden and disable pointer events so the UI behaves
104
+ // as if the PopperContent isn't there at all
105
+ ...((k = g.hide) == null ? void 0 : k.referenceHidden) && {
106
+ visibility: "hidden",
107
+ pointerEvents: "none"
108
+ }
109
+ },
110
+ dir: e.dir,
111
+ children: /* @__PURE__ */ f(
112
+ He,
113
+ {
114
+ scope: a,
115
+ placedSide: I,
116
+ onArrowChange: te,
117
+ arrowX: pe,
118
+ arrowY: de,
119
+ shouldHideArrow: le,
120
+ children: /* @__PURE__ */ f(
121
+ z.div,
122
+ {
123
+ "data-side": I,
124
+ "data-align": ce,
125
+ ...d,
126
+ ref: ee,
127
+ style: {
128
+ ...d.style,
129
+ // if the PopperContent hasn't been placed yet (not all measurements done)
130
+ // we prevent animations so that users's animation don't kick in too early referring wrong sides
131
+ animation: S ? void 0 : "none"
132
+ }
133
+ }
134
+ )
135
+ }
136
+ )
137
+ }
138
+ );
139
+ }
140
+ );
141
+ J.displayName = _;
142
+ var K = "PopperArrow", Ie = {
143
+ top: "bottom",
144
+ right: "left",
145
+ bottom: "top",
146
+ left: "right"
147
+ }, Q = p.forwardRef(function(s, a) {
148
+ const { __scopePopper: t, ...i } = s, r = We(K, t), o = Ie[r.placedSide];
149
+ return (
150
+ // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
151
+ // doesn't report size as we'd expect on SVG elements.
152
+ // it reports their bounding box which is effectively the largest path inside the SVG.
153
+ /* @__PURE__ */ f(
154
+ "span",
155
+ {
156
+ ref: r.onArrowChange,
157
+ style: {
158
+ position: "absolute",
159
+ left: r.arrowX,
160
+ top: r.arrowY,
161
+ [o]: 0,
162
+ transformOrigin: {
163
+ top: "",
164
+ right: "0 0",
165
+ bottom: "center 0",
166
+ left: "100% 0"
167
+ }[r.placedSide],
168
+ transform: {
169
+ top: "translateY(100%)",
170
+ right: "translateY(50%) rotate(90deg) translateX(-50%)",
171
+ bottom: "rotate(180deg)",
172
+ left: "translateY(50%) rotate(-90deg) translateX(50%)"
173
+ }[r.placedSide],
174
+ visibility: r.shouldHideArrow ? "hidden" : void 0
175
+ },
176
+ children: /* @__PURE__ */ f(
177
+ Oe,
178
+ {
179
+ ...i,
180
+ ref: a,
181
+ style: {
182
+ ...i.style,
183
+ // ensures the element can be measured correctly (mostly for if SVG)
184
+ display: "block"
185
+ }
186
+ }
187
+ )
188
+ }
189
+ )
190
+ );
191
+ });
192
+ Q.displayName = K;
193
+ function Ye(e) {
194
+ return e !== null;
195
+ }
196
+ var Me = (e) => ({
197
+ name: "transformOrigin",
198
+ options: e,
199
+ fn(s) {
200
+ var v, h, C;
201
+ const { placement: a, rects: t, middlewareData: i } = s, o = ((v = i.arrow) == null ? void 0 : v.centerOffset) !== 0, w = o ? 0 : e.arrowWidth, n = o ? 0 : e.arrowHeight, [c, x] = V(a), m = { start: "0%", center: "50%", end: "100%" }[x], y = (((h = i.arrow) == null ? void 0 : h.x) ?? 0) + w / 2, A = (((C = i.arrow) == null ? void 0 : C.y) ?? 0) + n / 2;
202
+ let l = "", d = "";
203
+ return c === "bottom" ? (l = o ? m : `${y}px`, d = `${-n}px`) : c === "top" ? (l = o ? m : `${y}px`, d = `${t.floating.height + n}px`) : c === "right" ? (l = `${-n}px`, d = o ? m : `${A}px`) : c === "left" && (l = `${t.floating.width + n}px`, d = o ? m : `${A}px`), { data: { x: l, y: d } };
204
+ }
205
+ });
206
+ function V(e) {
207
+ const [s, a = "center"] = e.split("-");
208
+ return [s, a];
5
209
  }
210
+ var qe = U, Ge = G, Je = J, Ke = Q;
6
211
  export {
7
- t as usePrevious
212
+ Ge as Anchor,
213
+ Ke as Arrow,
214
+ Je as Content,
215
+ U as Popper,
216
+ G as PopperAnchor,
217
+ Q as PopperArrow,
218
+ J as PopperContent,
219
+ qe as Root,
220
+ Ue as createPopperScope
8
221
  };
package/dist/index93.js CHANGED
@@ -1,27 +1,16 @@
1
- import * as h from "react";
2
- import { useLayoutEffect as z } from "./index99.js";
3
- function c(r) {
4
- const [d, e] = h.useState(void 0);
5
- return z(() => {
6
- if (r) {
7
- e({ width: r.offsetWidth, height: r.offsetHeight });
8
- const f = new ResizeObserver((i) => {
9
- if (!Array.isArray(i) || !i.length)
10
- return;
11
- const b = i[0];
12
- let o, t;
13
- if ("borderBoxSize" in b) {
14
- const s = b.borderBoxSize, u = Array.isArray(s) ? s[0] : s;
15
- o = u.inlineSize, t = u.blockSize;
16
- } else
17
- o = r.offsetWidth, t = r.offsetHeight;
18
- e({ width: o, height: t });
19
- });
20
- return f.observe(r, { box: "border-box" }), () => f.unobserve(r);
21
- } else
22
- e(void 0);
23
- }, [r]), d;
24
- }
1
+ import * as r from "react";
2
+ import s from "react-dom";
3
+ import { Primitive as c } from "./index81.js";
4
+ import { useLayoutEffect as u } from "./index86.js";
5
+ import { jsx as l } from "react/jsx-runtime";
6
+ var p = "Portal", d = r.forwardRef((e, a) => {
7
+ var o;
8
+ const { container: f, ...i } = e, [m, n] = r.useState(!1);
9
+ u(() => n(!0), []);
10
+ const t = f || m && ((o = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : o.body);
11
+ return t ? s.createPortal(/* @__PURE__ */ l(c.div, { ...i, ref: a }), t) : null;
12
+ });
13
+ d.displayName = p;
25
14
  export {
26
- c as useSize
15
+ d as Portal
27
16
  };