@drjoshcsimmons/scl 0.1.6 → 0.1.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.
- package/dist/index100.js +30 -4
- package/dist/index101.js +11 -13
- package/dist/index102.js +9 -30
- package/dist/index103.js +51 -177
- package/dist/index104.js +30 -650
- package/dist/index105.js +47 -11
- package/dist/index106.js +12 -203
- package/dist/index107.js +47 -21
- package/dist/index108.js +29 -399
- package/dist/index109.js +30 -6
- package/dist/index11.js +2 -2
- package/dist/index110.js +648 -19
- package/dist/index111.js +30 -9
- package/dist/index112.js +9 -38
- package/dist/index113.js +48 -18
- package/dist/index114.js +45 -22
- package/dist/index115.js +6 -29
- package/dist/index116.js +12 -5
- package/dist/index117.js +206 -2
- package/dist/index118.js +21 -52
- package/dist/index119.js +394 -59
- package/dist/index12.js +1 -1
- package/dist/index120.js +21 -2
- package/dist/index121.js +9 -2
- package/dist/index122.js +38 -5
- package/dist/index123.js +18 -3
- package/dist/index124.js +45 -21
- package/dist/index125.js +2 -113
- package/dist/index126.js +52 -15
- package/dist/index127.js +58 -518
- package/dist/index128.js +23 -126
- package/dist/index129.js +28 -133
- package/dist/index13.js +2 -2
- package/dist/index130.js +5 -65
- package/dist/index131.js +2 -69
- package/dist/index132.js +2 -9
- package/dist/index133.js +5 -14
- package/dist/index134.js +3 -66
- package/dist/index135.js +23 -3
- package/dist/index136.js +110 -20
- package/dist/index137.js +15 -22
- package/dist/index138.js +522 -10
- package/dist/index139.js +123 -23
- package/dist/index14.js +2 -2
- package/dist/index140.js +134 -5
- package/dist/index141.js +67 -0
- package/dist/index142.js +71 -0
- package/dist/index143.js +11 -0
- package/dist/index144.js +16 -0
- package/dist/index145.js +68 -0
- package/dist/index146.js +6 -0
- package/dist/index147.js +25 -0
- package/dist/index148.js +25 -0
- package/dist/index149.js +15 -0
- package/dist/index15.js +2 -2
- package/dist/index150.js +30 -0
- package/dist/index151.js +7 -0
- package/dist/index17.js +4 -4
- package/dist/index18.js +2 -2
- package/dist/index20.js +2 -2
- package/dist/index21.js +1 -1
- package/dist/index22.js +1 -1
- package/dist/index23.js +2 -2
- package/dist/index24.js +1 -1
- package/dist/index25.js +4 -4
- package/dist/index26.js +1 -1
- package/dist/index27.js +3 -3
- package/dist/index29.js +1 -1
- package/dist/index31.js +1 -1
- package/dist/index33.js +1 -1
- package/dist/index36.js +2 -2
- package/dist/index37.js +1 -1
- package/dist/index4.js +2 -2
- package/dist/index45.js +237 -33
- package/dist/index46.js +11 -241
- package/dist/index47.js +508 -227
- package/dist/index48.js +241 -9
- package/dist/index49.js +33 -12
- package/dist/index5.js +1 -1
- package/dist/index50.js +214 -238
- package/dist/index51.js +4 -5
- package/dist/index52.js +5 -5
- package/dist/index53.js +112 -219
- package/dist/index54.js +125 -11
- package/dist/index55.js +54 -524
- package/dist/index56.js +250 -121
- package/dist/index57.js +71 -299
- package/dist/index58.js +260 -12
- package/dist/index59.js +12 -435
- package/dist/index6.js +1 -1
- package/dist/index60.js +856 -56
- package/dist/index61.js +9 -254
- package/dist/index62.js +9 -130
- package/dist/index63.js +299 -71
- package/dist/index64.js +12 -22
- package/dist/index65.js +112 -25
- package/dist/index66.js +223 -16
- package/dist/index67.js +11 -236
- package/dist/index68.js +249 -11
- package/dist/index69.js +16 -159
- package/dist/index70.js +18 -332
- package/dist/index71.js +148 -212
- package/dist/index72.js +336 -11
- package/dist/index73.js +390 -815
- package/dist/index74.js +31 -9
- package/dist/index75.js +12 -118
- package/dist/index76.js +66 -5
- package/dist/index77.js +44 -25
- package/dist/index78.js +23 -64
- package/dist/index79.js +5 -123
- package/dist/index8.js +1 -1
- package/dist/index80.js +50 -13
- package/dist/index81.js +32 -133
- package/dist/index82.js +1 -1
- package/dist/index83.js +7 -218
- package/dist/index84.js +69 -14
- package/dist/index85.js +10 -68
- package/dist/index86.js +4 -34
- package/dist/index87.js +3 -53
- package/dist/index88.js +177 -48
- package/dist/index89.js +25 -50
- package/dist/index9.js +2 -2
- package/dist/index90.js +6 -9
- package/dist/index91.js +124 -5
- package/dist/index92.js +14 -24
- package/dist/index93.js +130 -50
- package/dist/index94.js +218 -10
- package/dist/index95.js +14 -4
- package/dist/index96.js +47 -29
- package/dist/index97.js +50 -13
- package/dist/index98.js +9 -46
- package/dist/index99.js +54 -7
- package/package.json +1 -1
package/dist/index47.js
CHANGED
|
@@ -1,251 +1,532 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
__scopeCheckbox: a,
|
|
15
|
-
checked: c,
|
|
16
|
-
children: u,
|
|
17
|
-
defaultChecked: r,
|
|
18
|
-
disabled: e,
|
|
19
|
-
form: p,
|
|
20
|
-
name: f,
|
|
21
|
-
onCheckedChange: i,
|
|
22
|
-
required: m,
|
|
23
|
-
value: C = "on",
|
|
24
|
-
// @ts-expect-error
|
|
25
|
-
internal_do_not_use_render: d
|
|
26
|
-
} = t, [l, v] = O({
|
|
27
|
-
prop: c,
|
|
28
|
-
defaultProp: r ?? !1,
|
|
29
|
-
onChange: i,
|
|
30
|
-
caller: g
|
|
31
|
-
}), [k, x] = s.useState(null), [_, o] = s.useState(null), n = s.useRef(!1), I = k ? !!p || !!k.closest("form") : (
|
|
32
|
-
// We set this to true by default so that events bubble to forms without JS (SSR)
|
|
33
|
-
!0
|
|
34
|
-
), R = {
|
|
35
|
-
checked: l,
|
|
36
|
-
disabled: e,
|
|
37
|
-
setChecked: v,
|
|
38
|
-
control: k,
|
|
39
|
-
setControl: x,
|
|
40
|
-
name: f,
|
|
41
|
-
form: p,
|
|
42
|
-
value: C,
|
|
43
|
-
hasConsumerStoppedPropagationRef: n,
|
|
44
|
-
required: m,
|
|
45
|
-
defaultChecked: h(r) ? !1 : r,
|
|
46
|
-
isFormControl: I,
|
|
47
|
-
bubbleInput: _,
|
|
48
|
-
setBubbleInput: o
|
|
49
|
-
};
|
|
50
|
-
return /* @__PURE__ */ b(
|
|
51
|
-
X,
|
|
52
|
-
{
|
|
53
|
-
scope: a,
|
|
54
|
-
...R,
|
|
55
|
-
children: W(d) ? d(R) : u
|
|
56
|
-
}
|
|
57
|
-
);
|
|
1
|
+
import * as c from "react";
|
|
2
|
+
import { Primitive as L } from "./index81.js";
|
|
3
|
+
import { Presence as I } from "./index84.js";
|
|
4
|
+
import { createContextScope as te } from "./index76.js";
|
|
5
|
+
import { useComposedRefs as A } from "./index78.js";
|
|
6
|
+
import { useCallbackRef as C } from "./index85.js";
|
|
7
|
+
import { useDirection as ne } from "./index83.js";
|
|
8
|
+
import { useLayoutEffect as le } from "./index86.js";
|
|
9
|
+
import { clamp as ce } from "./index87.js";
|
|
10
|
+
import { composeEventHandlers as R } from "./index79.js";
|
|
11
|
+
import { jsx as b, jsxs as ie, Fragment as se } from "react/jsx-runtime";
|
|
12
|
+
function ae(e, t) {
|
|
13
|
+
return c.useReducer((r, l) => t[r][l] ?? r, e);
|
|
58
14
|
}
|
|
59
|
-
var
|
|
60
|
-
(
|
|
61
|
-
const {
|
|
62
|
-
control: e,
|
|
63
|
-
value: p,
|
|
64
|
-
disabled: f,
|
|
65
|
-
checked: i,
|
|
66
|
-
required: m,
|
|
67
|
-
setControl: C,
|
|
68
|
-
setChecked: d,
|
|
69
|
-
hasConsumerStoppedPropagationRef: l,
|
|
70
|
-
isFormControl: v,
|
|
71
|
-
bubbleInput: k
|
|
72
|
-
} = E(N, t), x = B(r, C), _ = s.useRef(i);
|
|
73
|
-
return s.useEffect(() => {
|
|
74
|
-
const o = e == null ? void 0 : e.form;
|
|
75
|
-
if (o) {
|
|
76
|
-
const n = () => d(_.current);
|
|
77
|
-
return o.addEventListener("reset", n), () => o.removeEventListener("reset", n);
|
|
78
|
-
}
|
|
79
|
-
}, [e, d]), /* @__PURE__ */ b(
|
|
80
|
-
P.button,
|
|
81
|
-
{
|
|
82
|
-
type: "button",
|
|
83
|
-
role: "checkbox",
|
|
84
|
-
"aria-checked": h(i) ? "mixed" : i,
|
|
85
|
-
"aria-required": m,
|
|
86
|
-
"data-state": A(i),
|
|
87
|
-
"data-disabled": f ? "" : void 0,
|
|
88
|
-
disabled: f,
|
|
89
|
-
value: p,
|
|
90
|
-
...u,
|
|
91
|
-
ref: x,
|
|
92
|
-
onKeyDown: S(a, (o) => {
|
|
93
|
-
o.key === "Enter" && o.preventDefault();
|
|
94
|
-
}),
|
|
95
|
-
onClick: S(c, (o) => {
|
|
96
|
-
d((n) => h(n) ? !0 : !n), k && v && (l.current = o.isPropagationStopped(), l.current || o.stopPropagation());
|
|
97
|
-
})
|
|
98
|
-
}
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
);
|
|
102
|
-
w.displayName = N;
|
|
103
|
-
var Q = s.forwardRef(
|
|
104
|
-
(t, a) => {
|
|
15
|
+
var V = "ScrollArea", [j] = te(V), [de, v] = j(V), q = c.forwardRef(
|
|
16
|
+
(e, t) => {
|
|
105
17
|
const {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
value: i,
|
|
113
|
-
onCheckedChange: m,
|
|
114
|
-
form: C,
|
|
115
|
-
...d
|
|
116
|
-
} = t;
|
|
18
|
+
__scopeScrollArea: r,
|
|
19
|
+
type: l = "hover",
|
|
20
|
+
dir: o,
|
|
21
|
+
scrollHideDelay: n = 600,
|
|
22
|
+
...i
|
|
23
|
+
} = e, [s, a] = c.useState(null), [f, d] = c.useState(null), [h, u] = c.useState(null), [S, p] = c.useState(null), [y, M] = c.useState(null), [P, _] = c.useState(0), [U, D] = c.useState(0), [W, x] = c.useState(!1), [H, z] = c.useState(!1), m = A(t, (E) => a(E)), w = ne(o);
|
|
117
24
|
return /* @__PURE__ */ b(
|
|
118
|
-
|
|
25
|
+
de,
|
|
119
26
|
{
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
q,
|
|
140
|
-
{
|
|
141
|
-
__scopeCheckbox: c
|
|
142
|
-
}
|
|
143
|
-
)
|
|
144
|
-
] })
|
|
145
|
-
}
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
);
|
|
149
|
-
Q.displayName = g;
|
|
150
|
-
var T = "CheckboxIndicator", V = s.forwardRef(
|
|
151
|
-
(t, a) => {
|
|
152
|
-
const { __scopeCheckbox: c, forceMount: u, ...r } = t, e = E(T, c);
|
|
153
|
-
return /* @__PURE__ */ b(
|
|
154
|
-
z,
|
|
155
|
-
{
|
|
156
|
-
present: u || h(e.checked) || e.checked === !0,
|
|
27
|
+
scope: r,
|
|
28
|
+
type: l,
|
|
29
|
+
dir: w,
|
|
30
|
+
scrollHideDelay: n,
|
|
31
|
+
scrollArea: s,
|
|
32
|
+
viewport: f,
|
|
33
|
+
onViewportChange: d,
|
|
34
|
+
content: h,
|
|
35
|
+
onContentChange: u,
|
|
36
|
+
scrollbarX: S,
|
|
37
|
+
onScrollbarXChange: p,
|
|
38
|
+
scrollbarXEnabled: W,
|
|
39
|
+
onScrollbarXEnabledChange: x,
|
|
40
|
+
scrollbarY: y,
|
|
41
|
+
onScrollbarYChange: M,
|
|
42
|
+
scrollbarYEnabled: H,
|
|
43
|
+
onScrollbarYEnabledChange: z,
|
|
44
|
+
onCornerWidthChange: _,
|
|
45
|
+
onCornerHeightChange: D,
|
|
157
46
|
children: /* @__PURE__ */ b(
|
|
158
|
-
|
|
47
|
+
L.div,
|
|
159
48
|
{
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
49
|
+
dir: w,
|
|
50
|
+
...i,
|
|
51
|
+
ref: m,
|
|
52
|
+
style: {
|
|
53
|
+
position: "relative",
|
|
54
|
+
// Pass corner sizes as CSS vars to reduce re-renders of context consumers
|
|
55
|
+
"--radix-scroll-area-corner-width": P + "px",
|
|
56
|
+
"--radix-scroll-area-corner-height": U + "px",
|
|
57
|
+
...e.style
|
|
58
|
+
}
|
|
165
59
|
}
|
|
166
60
|
)
|
|
167
61
|
}
|
|
168
62
|
);
|
|
169
63
|
}
|
|
170
64
|
);
|
|
171
|
-
|
|
172
|
-
var
|
|
173
|
-
(
|
|
174
|
-
const {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
65
|
+
q.displayName = V;
|
|
66
|
+
var $ = "ScrollAreaViewport", G = c.forwardRef(
|
|
67
|
+
(e, t) => {
|
|
68
|
+
const { __scopeScrollArea: r, children: l, nonce: o, ...n } = e, i = v($, r), s = c.useRef(null), a = A(t, s, i.onViewportChange);
|
|
69
|
+
return /* @__PURE__ */ ie(se, { children: [
|
|
70
|
+
/* @__PURE__ */ b(
|
|
71
|
+
"style",
|
|
72
|
+
{
|
|
73
|
+
dangerouslySetInnerHTML: {
|
|
74
|
+
__html: "[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"
|
|
75
|
+
},
|
|
76
|
+
nonce: o
|
|
77
|
+
}
|
|
78
|
+
),
|
|
79
|
+
/* @__PURE__ */ b(
|
|
80
|
+
L.div,
|
|
81
|
+
{
|
|
82
|
+
"data-radix-scroll-area-viewport": "",
|
|
83
|
+
...n,
|
|
84
|
+
ref: a,
|
|
85
|
+
style: {
|
|
86
|
+
/**
|
|
87
|
+
* We don't support `visible` because the intention is to have at least one scrollbar
|
|
88
|
+
* if this component is used and `visible` will behave like `auto` in that case
|
|
89
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
|
|
90
|
+
*
|
|
91
|
+
* We don't handle `auto` because the intention is for the native implementation
|
|
92
|
+
* to be hidden if using this component. We just want to ensure the node is scrollable
|
|
93
|
+
* so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
|
|
94
|
+
* the browser from having to work out whether to render native scrollbars or not,
|
|
95
|
+
* we tell it to with the intention of hiding them in CSS.
|
|
96
|
+
*/
|
|
97
|
+
overflowX: i.scrollbarXEnabled ? "scroll" : "hidden",
|
|
98
|
+
overflowY: i.scrollbarYEnabled ? "scroll" : "hidden",
|
|
99
|
+
...e.style
|
|
100
|
+
},
|
|
101
|
+
children: /* @__PURE__ */ b("div", { ref: i.onContentChange, style: { minWidth: "100%", display: "table" }, children: l })
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
] });
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
G.displayName = $;
|
|
108
|
+
var g = "ScrollAreaScrollbar", ue = c.forwardRef(
|
|
109
|
+
(e, t) => {
|
|
110
|
+
const { forceMount: r, ...l } = e, o = v(g, e.__scopeScrollArea), { onScrollbarXEnabledChange: n, onScrollbarYEnabledChange: i } = o, s = e.orientation === "horizontal";
|
|
111
|
+
return c.useEffect(() => (s ? n(!0) : i(!0), () => {
|
|
112
|
+
s ? n(!1) : i(!1);
|
|
113
|
+
}), [s, n, i]), o.type === "hover" ? /* @__PURE__ */ b(fe, { ...l, ref: t, forceMount: r }) : o.type === "scroll" ? /* @__PURE__ */ b(he, { ...l, ref: t, forceMount: r }) : o.type === "auto" ? /* @__PURE__ */ b(J, { ...l, ref: t, forceMount: r }) : o.type === "always" ? /* @__PURE__ */ b(k, { ...l, ref: t }) : null;
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
ue.displayName = g;
|
|
117
|
+
var fe = c.forwardRef((e, t) => {
|
|
118
|
+
const { forceMount: r, ...l } = e, o = v(g, e.__scopeScrollArea), [n, i] = c.useState(!1);
|
|
119
|
+
return c.useEffect(() => {
|
|
120
|
+
const s = o.scrollArea;
|
|
121
|
+
let a = 0;
|
|
122
|
+
if (s) {
|
|
123
|
+
const f = () => {
|
|
124
|
+
window.clearTimeout(a), i(!0);
|
|
125
|
+
}, d = () => {
|
|
126
|
+
a = window.setTimeout(() => i(!1), o.scrollHideDelay);
|
|
127
|
+
};
|
|
128
|
+
return s.addEventListener("pointerenter", f), s.addEventListener("pointerleave", d), () => {
|
|
129
|
+
window.clearTimeout(a), s.removeEventListener("pointerenter", f), s.removeEventListener("pointerleave", d);
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}, [o.scrollArea, o.scrollHideDelay]), /* @__PURE__ */ b(I, { present: r || n, children: /* @__PURE__ */ b(
|
|
133
|
+
J,
|
|
134
|
+
{
|
|
135
|
+
"data-state": n ? "visible" : "hidden",
|
|
136
|
+
...l,
|
|
137
|
+
ref: t
|
|
138
|
+
}
|
|
139
|
+
) });
|
|
140
|
+
}), he = c.forwardRef((e, t) => {
|
|
141
|
+
const { forceMount: r, ...l } = e, o = v(g, e.__scopeScrollArea), n = e.orientation === "horizontal", i = Y(() => a("SCROLL_END"), 100), [s, a] = ae("hidden", {
|
|
142
|
+
hidden: {
|
|
143
|
+
SCROLL: "scrolling"
|
|
144
|
+
},
|
|
145
|
+
scrolling: {
|
|
146
|
+
SCROLL_END: "idle",
|
|
147
|
+
POINTER_ENTER: "interacting"
|
|
148
|
+
},
|
|
149
|
+
interacting: {
|
|
150
|
+
SCROLL: "interacting",
|
|
151
|
+
POINTER_LEAVE: "idle"
|
|
152
|
+
},
|
|
153
|
+
idle: {
|
|
154
|
+
HIDE: "hidden",
|
|
155
|
+
SCROLL: "scrolling",
|
|
156
|
+
POINTER_ENTER: "interacting"
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
return c.useEffect(() => {
|
|
160
|
+
if (s === "idle") {
|
|
161
|
+
const f = window.setTimeout(() => a("HIDE"), o.scrollHideDelay);
|
|
162
|
+
return () => window.clearTimeout(f);
|
|
163
|
+
}
|
|
164
|
+
}, [s, o.scrollHideDelay, a]), c.useEffect(() => {
|
|
165
|
+
const f = o.viewport, d = n ? "scrollLeft" : "scrollTop";
|
|
166
|
+
if (f) {
|
|
167
|
+
let h = f[d];
|
|
168
|
+
const u = () => {
|
|
169
|
+
const S = f[d];
|
|
170
|
+
h !== S && (a("SCROLL"), i()), h = S;
|
|
171
|
+
};
|
|
172
|
+
return f.addEventListener("scroll", u), () => f.removeEventListener("scroll", u);
|
|
173
|
+
}
|
|
174
|
+
}, [o.viewport, n, a, i]), /* @__PURE__ */ b(I, { present: r || s !== "hidden", children: /* @__PURE__ */ b(
|
|
175
|
+
k,
|
|
176
|
+
{
|
|
177
|
+
"data-state": s === "hidden" ? "hidden" : "visible",
|
|
178
|
+
...l,
|
|
179
|
+
ref: t,
|
|
180
|
+
onPointerEnter: R(e.onPointerEnter, () => a("POINTER_ENTER")),
|
|
181
|
+
onPointerLeave: R(e.onPointerLeave, () => a("POINTER_LEAVE"))
|
|
182
|
+
}
|
|
183
|
+
) });
|
|
184
|
+
}), J = c.forwardRef((e, t) => {
|
|
185
|
+
const r = v(g, e.__scopeScrollArea), { forceMount: l, ...o } = e, [n, i] = c.useState(!1), s = e.orientation === "horizontal", a = Y(() => {
|
|
186
|
+
if (r.viewport) {
|
|
187
|
+
const f = r.viewport.offsetWidth < r.viewport.scrollWidth, d = r.viewport.offsetHeight < r.viewport.scrollHeight;
|
|
188
|
+
i(s ? f : d);
|
|
189
|
+
}
|
|
190
|
+
}, 10);
|
|
191
|
+
return T(r.viewport, a), T(r.content, a), /* @__PURE__ */ b(I, { present: l || n, children: /* @__PURE__ */ b(
|
|
192
|
+
k,
|
|
193
|
+
{
|
|
194
|
+
"data-state": n ? "visible" : "hidden",
|
|
195
|
+
...o,
|
|
196
|
+
ref: t
|
|
197
|
+
}
|
|
198
|
+
) });
|
|
199
|
+
}), k = c.forwardRef((e, t) => {
|
|
200
|
+
const { orientation: r = "vertical", ...l } = e, o = v(g, e.__scopeScrollArea), n = c.useRef(null), i = c.useRef(0), [s, a] = c.useState({
|
|
201
|
+
content: 0,
|
|
202
|
+
viewport: 0,
|
|
203
|
+
scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
|
|
204
|
+
}), f = ee(s.viewport, s.content), d = {
|
|
205
|
+
...l,
|
|
206
|
+
sizes: s,
|
|
207
|
+
onSizesChange: a,
|
|
208
|
+
hasThumb: f > 0 && f < 1,
|
|
209
|
+
onThumbChange: (u) => n.current = u,
|
|
210
|
+
onThumbPointerUp: () => i.current = 0,
|
|
211
|
+
onThumbPointerDown: (u) => i.current = u
|
|
212
|
+
};
|
|
213
|
+
function h(u, S) {
|
|
214
|
+
return ge(u, i.current, s, S);
|
|
215
|
+
}
|
|
216
|
+
return r === "horizontal" ? /* @__PURE__ */ b(
|
|
217
|
+
be,
|
|
218
|
+
{
|
|
219
|
+
...d,
|
|
220
|
+
ref: t,
|
|
221
|
+
onThumbPositionChange: () => {
|
|
222
|
+
if (o.viewport && n.current) {
|
|
223
|
+
const u = o.viewport.scrollLeft, S = F(u, s, o.dir);
|
|
224
|
+
n.current.style.transform = `translate3d(${S}px, 0, 0)`;
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
onWheelScroll: (u) => {
|
|
228
|
+
o.viewport && (o.viewport.scrollLeft = u);
|
|
229
|
+
},
|
|
230
|
+
onDragScroll: (u) => {
|
|
231
|
+
o.viewport && (o.viewport.scrollLeft = h(u, o.dir));
|
|
197
232
|
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
233
|
+
}
|
|
234
|
+
) : r === "vertical" ? /* @__PURE__ */ b(
|
|
235
|
+
Se,
|
|
236
|
+
{
|
|
237
|
+
...d,
|
|
238
|
+
ref: t,
|
|
239
|
+
onThumbPositionChange: () => {
|
|
240
|
+
if (o.viewport && n.current) {
|
|
241
|
+
const u = o.viewport.scrollTop, S = F(u, s);
|
|
242
|
+
n.current.style.transform = `translate3d(0, ${S}px, 0)`;
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
onWheelScroll: (u) => {
|
|
246
|
+
o.viewport && (o.viewport.scrollTop = u);
|
|
247
|
+
},
|
|
248
|
+
onDragScroll: (u) => {
|
|
249
|
+
o.viewport && (o.viewport.scrollTop = h(u));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
) : null;
|
|
253
|
+
}), be = c.forwardRef((e, t) => {
|
|
254
|
+
const { sizes: r, onSizesChange: l, ...o } = e, n = v(g, e.__scopeScrollArea), [i, s] = c.useState(), a = c.useRef(null), f = A(t, a, n.onScrollbarXChange);
|
|
255
|
+
return c.useEffect(() => {
|
|
256
|
+
a.current && s(getComputedStyle(a.current));
|
|
257
|
+
}, [a]), /* @__PURE__ */ b(
|
|
258
|
+
Q,
|
|
259
|
+
{
|
|
260
|
+
"data-orientation": "horizontal",
|
|
261
|
+
...o,
|
|
262
|
+
ref: f,
|
|
263
|
+
sizes: r,
|
|
264
|
+
style: {
|
|
265
|
+
bottom: 0,
|
|
266
|
+
left: n.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
|
|
267
|
+
right: n.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
|
|
268
|
+
"--radix-scroll-area-thumb-width": X(r) + "px",
|
|
269
|
+
...e.style
|
|
270
|
+
},
|
|
271
|
+
onThumbPointerDown: (d) => e.onThumbPointerDown(d.x),
|
|
272
|
+
onDragScroll: (d) => e.onDragScroll(d.x),
|
|
273
|
+
onWheelScroll: (d, h) => {
|
|
274
|
+
if (n.viewport) {
|
|
275
|
+
const u = n.viewport.scrollLeft + d.deltaX;
|
|
276
|
+
e.onWheelScroll(u), oe(u, h) && d.preventDefault();
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
onResize: () => {
|
|
280
|
+
a.current && n.viewport && i && l({
|
|
281
|
+
content: n.viewport.scrollWidth,
|
|
282
|
+
viewport: n.viewport.offsetWidth,
|
|
283
|
+
scrollbar: {
|
|
284
|
+
size: a.current.clientWidth,
|
|
285
|
+
paddingStart: O(i.paddingLeft),
|
|
286
|
+
paddingEnd: O(i.paddingRight)
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
);
|
|
292
|
+
}), Se = c.forwardRef((e, t) => {
|
|
293
|
+
const { sizes: r, onSizesChange: l, ...o } = e, n = v(g, e.__scopeScrollArea), [i, s] = c.useState(), a = c.useRef(null), f = A(t, a, n.onScrollbarYChange);
|
|
294
|
+
return c.useEffect(() => {
|
|
295
|
+
a.current && s(getComputedStyle(a.current));
|
|
296
|
+
}, [a]), /* @__PURE__ */ b(
|
|
297
|
+
Q,
|
|
298
|
+
{
|
|
299
|
+
"data-orientation": "vertical",
|
|
300
|
+
...o,
|
|
301
|
+
ref: f,
|
|
302
|
+
sizes: r,
|
|
303
|
+
style: {
|
|
304
|
+
top: 0,
|
|
305
|
+
right: n.dir === "ltr" ? 0 : void 0,
|
|
306
|
+
left: n.dir === "rtl" ? 0 : void 0,
|
|
307
|
+
bottom: "var(--radix-scroll-area-corner-height)",
|
|
308
|
+
"--radix-scroll-area-thumb-height": X(r) + "px",
|
|
309
|
+
...e.style
|
|
310
|
+
},
|
|
311
|
+
onThumbPointerDown: (d) => e.onThumbPointerDown(d.y),
|
|
312
|
+
onDragScroll: (d) => e.onDragScroll(d.y),
|
|
313
|
+
onWheelScroll: (d, h) => {
|
|
314
|
+
if (n.viewport) {
|
|
315
|
+
const u = n.viewport.scrollTop + d.deltaY;
|
|
316
|
+
e.onWheelScroll(u), oe(u, h) && d.preventDefault();
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
onResize: () => {
|
|
320
|
+
a.current && n.viewport && i && l({
|
|
321
|
+
content: n.viewport.scrollHeight,
|
|
322
|
+
viewport: n.viewport.offsetHeight,
|
|
323
|
+
scrollbar: {
|
|
324
|
+
size: a.current.clientHeight,
|
|
325
|
+
paddingStart: O(i.paddingTop),
|
|
326
|
+
paddingEnd: O(i.paddingBottom)
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
);
|
|
332
|
+
}), [me, K] = j(g), Q = c.forwardRef((e, t) => {
|
|
333
|
+
const {
|
|
334
|
+
__scopeScrollArea: r,
|
|
335
|
+
sizes: l,
|
|
336
|
+
hasThumb: o,
|
|
337
|
+
onThumbChange: n,
|
|
338
|
+
onThumbPointerUp: i,
|
|
339
|
+
onThumbPointerDown: s,
|
|
340
|
+
onThumbPositionChange: a,
|
|
341
|
+
onDragScroll: f,
|
|
342
|
+
onWheelScroll: d,
|
|
343
|
+
onResize: h,
|
|
344
|
+
...u
|
|
345
|
+
} = e, S = v(g, r), [p, y] = c.useState(null), M = A(t, (m) => y(m)), P = c.useRef(null), _ = c.useRef(""), U = S.viewport, D = l.content - l.viewport, W = C(d), x = C(a), H = Y(h, 10);
|
|
346
|
+
function z(m) {
|
|
347
|
+
if (P.current) {
|
|
348
|
+
const w = m.clientX - P.current.left, E = m.clientY - P.current.top;
|
|
349
|
+
f({ x: w, y: E });
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return c.useEffect(() => {
|
|
353
|
+
const m = (w) => {
|
|
354
|
+
const E = w.target;
|
|
355
|
+
(p == null ? void 0 : p.contains(E)) && W(w, D);
|
|
356
|
+
};
|
|
357
|
+
return document.addEventListener("wheel", m, { passive: !1 }), () => document.removeEventListener("wheel", m, { passive: !1 });
|
|
358
|
+
}, [U, p, D, W]), c.useEffect(x, [l, x]), T(p, H), T(S.content, H), /* @__PURE__ */ b(
|
|
359
|
+
me,
|
|
360
|
+
{
|
|
361
|
+
scope: r,
|
|
362
|
+
scrollbar: p,
|
|
363
|
+
hasThumb: o,
|
|
364
|
+
onThumbChange: C(n),
|
|
365
|
+
onThumbPointerUp: C(i),
|
|
366
|
+
onThumbPositionChange: x,
|
|
367
|
+
onThumbPointerDown: C(s),
|
|
368
|
+
children: /* @__PURE__ */ b(
|
|
369
|
+
L.div,
|
|
370
|
+
{
|
|
371
|
+
...u,
|
|
372
|
+
ref: M,
|
|
373
|
+
style: { position: "absolute", ...u.style },
|
|
374
|
+
onPointerDown: R(e.onPointerDown, (m) => {
|
|
375
|
+
m.button === 0 && (m.target.setPointerCapture(m.pointerId), P.current = p.getBoundingClientRect(), _.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", S.viewport && (S.viewport.style.scrollBehavior = "auto"), z(m));
|
|
376
|
+
}),
|
|
377
|
+
onPointerMove: R(e.onPointerMove, z),
|
|
378
|
+
onPointerUp: R(e.onPointerUp, (m) => {
|
|
379
|
+
const w = m.target;
|
|
380
|
+
w.hasPointerCapture(m.pointerId) && w.releasePointerCapture(m.pointerId), document.body.style.webkitUserSelect = _.current, S.viewport && (S.viewport.style.scrollBehavior = ""), P.current = null;
|
|
381
|
+
})
|
|
382
|
+
}
|
|
383
|
+
)
|
|
384
|
+
}
|
|
385
|
+
);
|
|
386
|
+
}), N = "ScrollAreaThumb", pe = c.forwardRef(
|
|
387
|
+
(e, t) => {
|
|
388
|
+
const { forceMount: r, ...l } = e, o = K(N, e.__scopeScrollArea);
|
|
389
|
+
return /* @__PURE__ */ b(I, { present: r || o.hasThumb, children: /* @__PURE__ */ b(ve, { ref: t, ...l }) });
|
|
390
|
+
}
|
|
391
|
+
), ve = c.forwardRef(
|
|
392
|
+
(e, t) => {
|
|
393
|
+
const { __scopeScrollArea: r, style: l, ...o } = e, n = v(N, r), i = K(N, r), { onThumbPositionChange: s } = i, a = A(
|
|
394
|
+
t,
|
|
395
|
+
(h) => i.onThumbChange(h)
|
|
396
|
+
), f = c.useRef(void 0), d = Y(() => {
|
|
397
|
+
f.current && (f.current(), f.current = void 0);
|
|
398
|
+
}, 100);
|
|
399
|
+
return c.useEffect(() => {
|
|
400
|
+
const h = n.viewport;
|
|
401
|
+
if (h) {
|
|
402
|
+
const u = () => {
|
|
403
|
+
if (d(), !f.current) {
|
|
404
|
+
const S = Pe(h, s);
|
|
405
|
+
f.current = S, s();
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
return s(), h.addEventListener("scroll", u), () => h.removeEventListener("scroll", u);
|
|
409
|
+
}
|
|
410
|
+
}, [n.viewport, d, s]), /* @__PURE__ */ b(
|
|
411
|
+
L.div,
|
|
202
412
|
{
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
required: f,
|
|
207
|
-
disabled: i,
|
|
208
|
-
name: m,
|
|
209
|
-
value: C,
|
|
210
|
-
form: d,
|
|
211
|
-
...a,
|
|
212
|
-
tabIndex: -1,
|
|
213
|
-
ref: k,
|
|
413
|
+
"data-state": i.hasThumb ? "visible" : "hidden",
|
|
414
|
+
...o,
|
|
415
|
+
ref: a,
|
|
214
416
|
style: {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
transform: "translateX(-100%)"
|
|
225
|
-
}
|
|
417
|
+
width: "var(--radix-scroll-area-thumb-width)",
|
|
418
|
+
height: "var(--radix-scroll-area-thumb-height)",
|
|
419
|
+
...l
|
|
420
|
+
},
|
|
421
|
+
onPointerDownCapture: R(e.onPointerDownCapture, (h) => {
|
|
422
|
+
const S = h.target.getBoundingClientRect(), p = h.clientX - S.left, y = h.clientY - S.top;
|
|
423
|
+
i.onThumbPointerDown({ x: p, y });
|
|
424
|
+
}),
|
|
425
|
+
onPointerUp: R(e.onPointerUp, i.onThumbPointerUp)
|
|
226
426
|
}
|
|
227
427
|
);
|
|
228
428
|
}
|
|
229
429
|
);
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
430
|
+
pe.displayName = N;
|
|
431
|
+
var B = "ScrollAreaCorner", Z = c.forwardRef(
|
|
432
|
+
(e, t) => {
|
|
433
|
+
const r = v(B, e.__scopeScrollArea), l = !!(r.scrollbarX && r.scrollbarY);
|
|
434
|
+
return r.type !== "scroll" && l ? /* @__PURE__ */ b(we, { ...e, ref: t }) : null;
|
|
435
|
+
}
|
|
436
|
+
);
|
|
437
|
+
Z.displayName = B;
|
|
438
|
+
var we = c.forwardRef((e, t) => {
|
|
439
|
+
const { __scopeScrollArea: r, ...l } = e, o = v(B, r), [n, i] = c.useState(0), [s, a] = c.useState(0), f = !!(n && s);
|
|
440
|
+
return T(o.scrollbarX, () => {
|
|
441
|
+
var h;
|
|
442
|
+
const d = ((h = o.scrollbarX) == null ? void 0 : h.offsetHeight) || 0;
|
|
443
|
+
o.onCornerHeightChange(d), a(d);
|
|
444
|
+
}), T(o.scrollbarY, () => {
|
|
445
|
+
var h;
|
|
446
|
+
const d = ((h = o.scrollbarY) == null ? void 0 : h.offsetWidth) || 0;
|
|
447
|
+
o.onCornerWidthChange(d), i(d);
|
|
448
|
+
}), f ? /* @__PURE__ */ b(
|
|
449
|
+
L.div,
|
|
450
|
+
{
|
|
451
|
+
...l,
|
|
452
|
+
ref: t,
|
|
453
|
+
style: {
|
|
454
|
+
width: n,
|
|
455
|
+
height: s,
|
|
456
|
+
position: "absolute",
|
|
457
|
+
right: o.dir === "ltr" ? 0 : void 0,
|
|
458
|
+
left: o.dir === "rtl" ? 0 : void 0,
|
|
459
|
+
bottom: 0,
|
|
460
|
+
...e.style
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
) : null;
|
|
464
|
+
});
|
|
465
|
+
function O(e) {
|
|
466
|
+
return e ? parseInt(e, 10) : 0;
|
|
467
|
+
}
|
|
468
|
+
function ee(e, t) {
|
|
469
|
+
const r = e / t;
|
|
470
|
+
return isNaN(r) ? 0 : r;
|
|
233
471
|
}
|
|
234
|
-
function
|
|
235
|
-
|
|
472
|
+
function X(e) {
|
|
473
|
+
const t = ee(e.viewport, e.content), r = e.scrollbar.paddingStart + e.scrollbar.paddingEnd, l = (e.scrollbar.size - r) * t;
|
|
474
|
+
return Math.max(l, 18);
|
|
236
475
|
}
|
|
237
|
-
function
|
|
238
|
-
|
|
476
|
+
function ge(e, t, r, l = "ltr") {
|
|
477
|
+
const o = X(r), n = o / 2, i = t || n, s = o - i, a = r.scrollbar.paddingStart + i, f = r.scrollbar.size - r.scrollbar.paddingEnd - s, d = r.content - r.viewport, h = l === "ltr" ? [0, d] : [d * -1, 0];
|
|
478
|
+
return re([a, f], h)(e);
|
|
479
|
+
}
|
|
480
|
+
function F(e, t, r = "ltr") {
|
|
481
|
+
const l = X(t), o = t.scrollbar.paddingStart + t.scrollbar.paddingEnd, n = t.scrollbar.size - o, i = t.content - t.viewport, s = n - l, a = r === "ltr" ? [0, i] : [i * -1, 0], f = ce(e, a);
|
|
482
|
+
return re([0, i], [0, s])(f);
|
|
483
|
+
}
|
|
484
|
+
function re(e, t) {
|
|
485
|
+
return (r) => {
|
|
486
|
+
if (e[0] === e[1] || t[0] === t[1]) return t[0];
|
|
487
|
+
const l = (t[1] - t[0]) / (e[1] - e[0]);
|
|
488
|
+
return t[0] + l * (r - e[0]);
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
function oe(e, t) {
|
|
492
|
+
return e > 0 && e < t;
|
|
493
|
+
}
|
|
494
|
+
var Pe = (e, t = () => {
|
|
495
|
+
}) => {
|
|
496
|
+
let r = { left: e.scrollLeft, top: e.scrollTop }, l = 0;
|
|
497
|
+
return function o() {
|
|
498
|
+
const n = { left: e.scrollLeft, top: e.scrollTop }, i = r.left !== n.left, s = r.top !== n.top;
|
|
499
|
+
(i || s) && t(), r = n, l = window.requestAnimationFrame(o);
|
|
500
|
+
}(), () => window.cancelAnimationFrame(l);
|
|
501
|
+
};
|
|
502
|
+
function Y(e, t) {
|
|
503
|
+
const r = C(e), l = c.useRef(0);
|
|
504
|
+
return c.useEffect(() => () => window.clearTimeout(l.current), []), c.useCallback(() => {
|
|
505
|
+
window.clearTimeout(l.current), l.current = window.setTimeout(r, t);
|
|
506
|
+
}, [r, t]);
|
|
507
|
+
}
|
|
508
|
+
function T(e, t) {
|
|
509
|
+
const r = C(t);
|
|
510
|
+
le(() => {
|
|
511
|
+
let l = 0;
|
|
512
|
+
if (e) {
|
|
513
|
+
const o = new ResizeObserver(() => {
|
|
514
|
+
cancelAnimationFrame(l), l = window.requestAnimationFrame(r);
|
|
515
|
+
});
|
|
516
|
+
return o.observe(e), () => {
|
|
517
|
+
window.cancelAnimationFrame(l), o.unobserve(e);
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
}, [e, r]);
|
|
239
521
|
}
|
|
522
|
+
var He = q, ze = G, Ne = Z;
|
|
240
523
|
export {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
J as unstable_Provider,
|
|
250
|
-
w as unstable_Trigger
|
|
524
|
+
Ne as Corner,
|
|
525
|
+
He as Root,
|
|
526
|
+
q as ScrollArea,
|
|
527
|
+
Z as ScrollAreaCorner,
|
|
528
|
+
ue as ScrollAreaScrollbar,
|
|
529
|
+
pe as ScrollAreaThumb,
|
|
530
|
+
G as ScrollAreaViewport,
|
|
531
|
+
ze as Viewport
|
|
251
532
|
};
|