@yourbestsoft/studio-screen-ui-kit 0.0.10 → 0.0.11
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/{ToolIconButton-CKUWpXoL.js → ToolIconButton-C4F-rxOr.js} +190 -185
- package/dist/ToolIconButton-C4F-rxOr.js.map +1 -0
- package/dist/components/drop-down/DropDown.d.ts +5 -0
- package/dist/index.js +2 -2
- package/dist/index2.js +2 -2
- package/package.json +1 -1
- package/dist/ToolIconButton-CKUWpXoL.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { jsx as n, jsxs as g, Fragment as
|
|
1
|
+
import { jsx as n, jsxs as g, Fragment as B } from "react/jsx-runtime";
|
|
2
2
|
import i from "classnames";
|
|
3
3
|
import G, { forwardRef as b, createContext as W, useState as T, useRef as E, useEffect as I, useContext as w } from "react";
|
|
4
4
|
import { Eye as J, EyeOff as Q, X as U, Search as Y } from "lucide-react";
|
|
5
|
-
const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1", ot = "_primary_4m304_1", nt = "_fullWidth_4m304_50", st = "_buttonWithIcon_4m304_54", rt = "_content_4m304_61", ct = "_shortcut_4m304_70", at = "_disabled_4m304_82",
|
|
5
|
+
const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1", ot = "_primary_4m304_1", nt = "_fullWidth_4m304_50", st = "_buttonWithIcon_4m304_54", rt = "_content_4m304_61", ct = "_shortcut_4m304_70", at = "_disabled_4m304_82", C = {
|
|
6
6
|
text: Z,
|
|
7
7
|
tertiary: tt,
|
|
8
8
|
secondary: et,
|
|
@@ -17,41 +17,41 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
17
17
|
className: e,
|
|
18
18
|
component: o = "button",
|
|
19
19
|
disabled: s,
|
|
20
|
-
fullWidth:
|
|
21
|
-
icon:
|
|
20
|
+
fullWidth: r,
|
|
21
|
+
icon: c,
|
|
22
22
|
shortcut: a,
|
|
23
23
|
variant: _ = "primary",
|
|
24
24
|
...d
|
|
25
25
|
}, l) => {
|
|
26
|
-
const m = /* @__PURE__ */ g("div", { className:
|
|
27
|
-
/* @__PURE__ */ g("div", { className:
|
|
28
|
-
|
|
26
|
+
const m = /* @__PURE__ */ g("div", { className: C.buttonWithIcon, children: [
|
|
27
|
+
/* @__PURE__ */ g("div", { className: C.content, children: [
|
|
28
|
+
c,
|
|
29
29
|
t
|
|
30
30
|
] }),
|
|
31
|
-
/* @__PURE__ */ n("div", { className:
|
|
31
|
+
/* @__PURE__ */ n("div", { className: C.shortcut, children: a })
|
|
32
32
|
] });
|
|
33
33
|
return /* @__PURE__ */ n(
|
|
34
34
|
o,
|
|
35
35
|
{
|
|
36
36
|
className: i(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
s &&
|
|
40
|
-
|
|
37
|
+
C[_],
|
|
38
|
+
r && C.fullWidth,
|
|
39
|
+
s && C.disabled,
|
|
40
|
+
c && C.icon,
|
|
41
41
|
e
|
|
42
42
|
),
|
|
43
|
-
children:
|
|
43
|
+
children: c ? m : t,
|
|
44
44
|
disabled: s,
|
|
45
45
|
ref: l,
|
|
46
46
|
...d
|
|
47
47
|
}
|
|
48
48
|
);
|
|
49
|
-
},
|
|
49
|
+
}, He = b(it), lt = "_content_23x5h_1", dt = "_header_23x5h_1", _t = "_root_23x5h_7", ut = "_contentAfterHeader_23x5h_22", R = {
|
|
50
50
|
content: lt,
|
|
51
51
|
header: dt,
|
|
52
52
|
root: _t,
|
|
53
53
|
contentAfterHeader: ut
|
|
54
|
-
},
|
|
54
|
+
}, H = b(
|
|
55
55
|
({ className: t, ...e }, o) => /* @__PURE__ */ n("div", { className: i(R.root, t), ref: o, ...e })
|
|
56
56
|
), ht = b(
|
|
57
57
|
({ className: t, ignoreHeader: e, ...o }, s) => /* @__PURE__ */ n(
|
|
@@ -68,38 +68,38 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
68
68
|
)
|
|
69
69
|
), mt = b(
|
|
70
70
|
({ className: t, ...e }, o) => /* @__PURE__ */ n("div", { className: i(R.header, t), ref: o, ...e })
|
|
71
|
-
),
|
|
71
|
+
), Fe = Object.assign(H, {
|
|
72
72
|
Content: ht,
|
|
73
73
|
Header: mt,
|
|
74
|
-
Root:
|
|
75
|
-
}), gt = "_root_1xfv8_1", bt = "_dropdownContent_1xfv8_6", ft = "_left_1xfv8_17", pt = "_center_1xfv8_21",
|
|
74
|
+
Root: H
|
|
75
|
+
}), gt = "_root_1xfv8_1", bt = "_dropdownContent_1xfv8_6", ft = "_left_1xfv8_17", pt = "_center_1xfv8_21", Ct = "_right_1xfv8_26", vt = "_top_1xfv8_30", wt = "_bottom_1xfv8_34", Nt = "_fixedPosition_1xfv8_38", x = {
|
|
76
76
|
root: gt,
|
|
77
77
|
dropdownContent: bt,
|
|
78
78
|
left: ft,
|
|
79
79
|
center: pt,
|
|
80
|
-
right:
|
|
81
|
-
top:
|
|
80
|
+
right: Ct,
|
|
81
|
+
top: vt,
|
|
82
82
|
bottom: wt,
|
|
83
83
|
fixedPosition: Nt
|
|
84
|
-
},
|
|
84
|
+
}, M = W(
|
|
85
85
|
void 0
|
|
86
|
-
),
|
|
87
|
-
const t = w(
|
|
86
|
+
), P = () => {
|
|
87
|
+
const t = w(M);
|
|
88
88
|
if (!t)
|
|
89
89
|
throw new Error("useDropDownContext must be used within a DropDown.Root");
|
|
90
90
|
return t;
|
|
91
|
-
},
|
|
91
|
+
}, k = [], kt = ({
|
|
92
92
|
children: t,
|
|
93
93
|
closeOnEsc: e = !0,
|
|
94
94
|
closeOnOutsideClick: o = !0,
|
|
95
95
|
defaultVisible: s = !1
|
|
96
96
|
}) => {
|
|
97
|
-
const [
|
|
98
|
-
|
|
97
|
+
const [r, c] = T(s), a = E(null), _ = () => {
|
|
98
|
+
r ? d() : (c(!0), a.current && k.push(a.current));
|
|
99
99
|
}, d = () => {
|
|
100
|
-
if (
|
|
101
|
-
const l =
|
|
102
|
-
l !== -1 &&
|
|
100
|
+
if (c(!1), a.current) {
|
|
101
|
+
const l = k.indexOf(a.current);
|
|
102
|
+
l !== -1 && k.splice(l, 1);
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
105
|
return I(() => {
|
|
@@ -113,65 +113,70 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
113
113
|
}, [o]), I(() => {
|
|
114
114
|
if (!e) return;
|
|
115
115
|
const l = (m) => {
|
|
116
|
-
m.key === "Escape" &&
|
|
116
|
+
m.key === "Escape" && r && k[k.length - 1] === a.current && d();
|
|
117
117
|
};
|
|
118
118
|
return document.addEventListener("keydown", l), () => {
|
|
119
119
|
document.removeEventListener("keydown", l);
|
|
120
120
|
};
|
|
121
|
-
}, [e,
|
|
122
|
-
},
|
|
123
|
-
const { toggle: e } =
|
|
121
|
+
}, [e, r]), /* @__PURE__ */ n(M.Provider, { value: { close: d, toggle: _, visible: r }, children: /* @__PURE__ */ n("div", { ref: a, className: x.root, children: t }) });
|
|
122
|
+
}, xt = ({ children: t }) => {
|
|
123
|
+
const { toggle: e } = P();
|
|
124
124
|
return /* @__PURE__ */ n("div", { onClick: e, children: t });
|
|
125
125
|
}, yt = ({
|
|
126
126
|
children: t,
|
|
127
127
|
className: e,
|
|
128
128
|
fixedPosition: o = !1,
|
|
129
129
|
horizontal: s = "left",
|
|
130
|
-
vertical:
|
|
130
|
+
vertical: r = "bottom"
|
|
131
131
|
}) => {
|
|
132
|
-
const { visible:
|
|
133
|
-
return
|
|
132
|
+
const { visible: c } = P();
|
|
133
|
+
return c ? /* @__PURE__ */ n(
|
|
134
134
|
"div",
|
|
135
135
|
{
|
|
136
136
|
className: i(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
{ [
|
|
137
|
+
x.dropdownContent,
|
|
138
|
+
x[s],
|
|
139
|
+
x[r],
|
|
140
|
+
{ [x.fixedPosition]: o },
|
|
141
141
|
e
|
|
142
142
|
),
|
|
143
143
|
children: t
|
|
144
144
|
}
|
|
145
145
|
) : null;
|
|
146
|
-
},
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
146
|
+
}, Tt = ({ children: t, onClick: e }) => {
|
|
147
|
+
const { close: o } = P();
|
|
148
|
+
return /* @__PURE__ */ n("div", { onClick: (r) => {
|
|
149
|
+
e && e(r), o();
|
|
150
|
+
}, children: t });
|
|
151
|
+
}, Ae = { Content: yt, Root: kt, Trigger: xt, Close: Tt }, Rt = "_dialogRoot_c30vs_1", St = "_dialogTrigger_c30vs_5", Dt = "_dialogContent_c30vs_13", $t = "_dialogClose_c30vs_25", Ot = "_dialogTitle_c30vs_33", It = "_dialogSeparator_c30vs_38", N = {
|
|
152
|
+
dialogRoot: Rt,
|
|
153
|
+
dialogTrigger: St,
|
|
154
|
+
dialogContent: Dt,
|
|
155
|
+
dialogClose: $t,
|
|
156
|
+
dialogTitle: Ot,
|
|
157
|
+
dialogSeparator: It
|
|
158
|
+
}, S = G.createContext(null), Wt = ({
|
|
154
159
|
children: t,
|
|
155
160
|
isOpen: e,
|
|
156
161
|
onStateChange: o
|
|
157
162
|
}) => {
|
|
158
|
-
const s = E(null), [
|
|
159
|
-
e === void 0 &&
|
|
163
|
+
const s = E(null), [r, c] = T(!1), a = e !== void 0 ? e : r, _ = (d) => {
|
|
164
|
+
e === void 0 && c(d), o && o(d);
|
|
160
165
|
};
|
|
161
166
|
return /* @__PURE__ */ n(S.Provider, { value: { dialogRef: s, isOpen: a, setIsOpen: _ }, children: /* @__PURE__ */ n("div", { className: N.dialogRoot, children: t }) });
|
|
162
|
-
},
|
|
167
|
+
}, Et = ({
|
|
163
168
|
as: t,
|
|
164
169
|
children: e,
|
|
165
170
|
...o
|
|
166
171
|
}) => {
|
|
167
172
|
const s = w(S);
|
|
168
173
|
if (!s) throw new Error("Trigger must be used within a Dialog.Root");
|
|
169
|
-
const { dialogRef:
|
|
174
|
+
const { dialogRef: r, setIsOpen: c } = s;
|
|
170
175
|
return /* @__PURE__ */ n(
|
|
171
176
|
t || "button",
|
|
172
177
|
{
|
|
173
178
|
onClick: () => {
|
|
174
|
-
|
|
179
|
+
r.current?.showModal(), c(!0);
|
|
175
180
|
},
|
|
176
181
|
...o,
|
|
177
182
|
className: N.dialogTrigger,
|
|
@@ -179,17 +184,17 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
179
184
|
children: e
|
|
180
185
|
}
|
|
181
186
|
);
|
|
182
|
-
},
|
|
187
|
+
}, Pt = b(
|
|
183
188
|
({ children: t, className: e, closeOnBackdropClick: o = !0 }, s) => {
|
|
184
|
-
const
|
|
185
|
-
if (!
|
|
186
|
-
const { dialogRef:
|
|
187
|
-
o && l.target ===
|
|
189
|
+
const r = w(S);
|
|
190
|
+
if (!r) throw new Error("Content must be used within a Dialog.Root");
|
|
191
|
+
const { dialogRef: c, isOpen: a, setIsOpen: _ } = r, d = (l) => {
|
|
192
|
+
o && l.target === c.current && (c.current?.close(), _(!1));
|
|
188
193
|
};
|
|
189
194
|
return /* @__PURE__ */ n(
|
|
190
195
|
"dialog",
|
|
191
196
|
{
|
|
192
|
-
ref:
|
|
197
|
+
ref: c,
|
|
193
198
|
className: i(N.dialogContent, e),
|
|
194
199
|
onClick: d,
|
|
195
200
|
open: a,
|
|
@@ -197,19 +202,19 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
197
202
|
}
|
|
198
203
|
);
|
|
199
204
|
}
|
|
200
|
-
),
|
|
205
|
+
), Lt = ({
|
|
201
206
|
as: t,
|
|
202
207
|
children: e,
|
|
203
208
|
...o
|
|
204
209
|
}) => {
|
|
205
210
|
const s = w(S);
|
|
206
211
|
if (!s) throw new Error("Close must be used within a Dialog.Root");
|
|
207
|
-
const { dialogRef:
|
|
212
|
+
const { dialogRef: r, setIsOpen: c } = s;
|
|
208
213
|
return /* @__PURE__ */ n(
|
|
209
214
|
t || "button",
|
|
210
215
|
{
|
|
211
216
|
onClick: () => {
|
|
212
|
-
|
|
217
|
+
r.current?.close(), c(!1);
|
|
213
218
|
},
|
|
214
219
|
...o,
|
|
215
220
|
className: N.dialogClose,
|
|
@@ -217,30 +222,30 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
217
222
|
children: e
|
|
218
223
|
}
|
|
219
224
|
);
|
|
220
|
-
},
|
|
221
|
-
Close:
|
|
222
|
-
Content:
|
|
223
|
-
Root:
|
|
224
|
-
Separator:
|
|
225
|
-
Title:
|
|
226
|
-
Trigger:
|
|
227
|
-
},
|
|
228
|
-
sidebar:
|
|
229
|
-
trigger:
|
|
230
|
-
content:
|
|
231
|
-
left:
|
|
232
|
-
open:
|
|
233
|
-
right:
|
|
234
|
-
bottom:
|
|
235
|
-
top:
|
|
225
|
+
}, qt = ({ children: t, className: e }) => /* @__PURE__ */ n("h2", { className: i(N.dialogTitle, e), children: t }), Ht = ({}) => /* @__PURE__ */ n("div", { className: N.dialogSeparator }), Be = {
|
|
226
|
+
Close: Lt,
|
|
227
|
+
Content: Pt,
|
|
228
|
+
Root: Wt,
|
|
229
|
+
Separator: Ht,
|
|
230
|
+
Title: qt,
|
|
231
|
+
Trigger: Et
|
|
232
|
+
}, Ft = "_sidebar_dg2au_12", At = "_trigger_dg2au_16", Bt = "_content_dg2au_21", Mt = "_left_dg2au_34", Vt = "_open_dg2au_38", jt = "_right_dg2au_42", zt = "_bottom_dg2au_50", Kt = "_top_dg2au_63", v = {
|
|
233
|
+
sidebar: Ft,
|
|
234
|
+
trigger: At,
|
|
235
|
+
content: Bt,
|
|
236
|
+
left: Mt,
|
|
237
|
+
open: Vt,
|
|
238
|
+
right: jt,
|
|
239
|
+
bottom: zt,
|
|
240
|
+
top: Kt
|
|
236
241
|
}, V = W(
|
|
237
242
|
void 0
|
|
238
|
-
),
|
|
243
|
+
), L = () => {
|
|
239
244
|
const t = w(V);
|
|
240
245
|
if (!t)
|
|
241
246
|
throw new Error("useSidebarContext must be used within a SidebarProvider");
|
|
242
247
|
return t;
|
|
243
|
-
},
|
|
248
|
+
}, Xt = ({ children: t, isOpen: e, setIsOpen: o }) => /* @__PURE__ */ n(
|
|
244
249
|
V.Provider,
|
|
245
250
|
{
|
|
246
251
|
value: {
|
|
@@ -249,70 +254,70 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
249
254
|
},
|
|
250
255
|
children: t
|
|
251
256
|
}
|
|
252
|
-
),
|
|
253
|
-
const { setIsOpen: e } =
|
|
257
|
+
), Gt = ({ children: t }) => {
|
|
258
|
+
const { setIsOpen: e } = L(), o = (s) => {
|
|
254
259
|
s.preventDefault(), e(!0);
|
|
255
260
|
};
|
|
256
|
-
return /* @__PURE__ */ n("div", { className:
|
|
257
|
-
},
|
|
261
|
+
return /* @__PURE__ */ n("div", { className: v.trigger, onClick: o, children: t });
|
|
262
|
+
}, Jt = ({
|
|
258
263
|
children: t,
|
|
259
264
|
className: e,
|
|
260
265
|
closeOnOutsideClick: o = !0,
|
|
261
266
|
position: s = "right"
|
|
262
267
|
}) => {
|
|
263
|
-
const { isOpen:
|
|
268
|
+
const { isOpen: r, setIsOpen: c } = L(), a = E(null);
|
|
264
269
|
return I(() => {
|
|
265
270
|
if (!o) return;
|
|
266
271
|
const _ = (d) => {
|
|
267
|
-
a.current && !a.current.contains(d.target) &&
|
|
272
|
+
a.current && !a.current.contains(d.target) && c(!1);
|
|
268
273
|
};
|
|
269
|
-
return
|
|
274
|
+
return r && document.addEventListener("mousedown", _), () => {
|
|
270
275
|
document.removeEventListener("mousedown", _);
|
|
271
276
|
};
|
|
272
|
-
}, [
|
|
277
|
+
}, [r, c, o]), /* @__PURE__ */ n(
|
|
273
278
|
"div",
|
|
274
279
|
{
|
|
275
280
|
ref: a,
|
|
276
281
|
className: i(
|
|
277
|
-
|
|
278
|
-
|
|
282
|
+
v[s],
|
|
283
|
+
v.content,
|
|
279
284
|
{
|
|
280
|
-
[
|
|
281
|
-
[
|
|
285
|
+
[v.close]: !r,
|
|
286
|
+
[v.open]: r
|
|
282
287
|
},
|
|
283
288
|
e
|
|
284
289
|
),
|
|
285
290
|
children: t
|
|
286
291
|
}
|
|
287
292
|
);
|
|
288
|
-
},
|
|
289
|
-
const { setIsOpen: e } =
|
|
293
|
+
}, Qt = ({ children: t }) => {
|
|
294
|
+
const { setIsOpen: e } = L(), o = (s) => {
|
|
290
295
|
s.preventDefault(), e(!1);
|
|
291
296
|
};
|
|
292
|
-
return /* @__PURE__ */ n("button", { className:
|
|
293
|
-
},
|
|
294
|
-
Close:
|
|
295
|
-
Content:
|
|
296
|
-
Root:
|
|
297
|
-
Trigger:
|
|
298
|
-
},
|
|
299
|
-
switcher:
|
|
300
|
-
buttons:
|
|
301
|
-
separator:
|
|
302
|
-
},
|
|
297
|
+
return /* @__PURE__ */ n("button", { className: v.close, onClick: o, children: t });
|
|
298
|
+
}, Me = {
|
|
299
|
+
Close: Qt,
|
|
300
|
+
Content: Jt,
|
|
301
|
+
Root: Xt,
|
|
302
|
+
Trigger: Gt
|
|
303
|
+
}, Ut = "_switcher_k6tdq_1", Yt = "_buttons_k6tdq_6", Zt = "_separator_k6tdq_10", O = {
|
|
304
|
+
switcher: Ut,
|
|
305
|
+
buttons: Yt,
|
|
306
|
+
separator: Zt
|
|
307
|
+
}, Ve = b(
|
|
303
308
|
({
|
|
304
309
|
className: t,
|
|
305
310
|
component: e,
|
|
306
311
|
componentValues: o,
|
|
307
312
|
containerProps: s,
|
|
308
|
-
onChange:
|
|
309
|
-
selectedValue:
|
|
313
|
+
onChange: r,
|
|
314
|
+
selectedValue: c,
|
|
310
315
|
slot: a
|
|
311
316
|
}, _) => {
|
|
312
317
|
const [d, l] = T(
|
|
313
|
-
|
|
318
|
+
c || o[0].value
|
|
314
319
|
), m = (h) => {
|
|
315
|
-
l(h),
|
|
320
|
+
l(h), r && r(h);
|
|
316
321
|
};
|
|
317
322
|
return /* @__PURE__ */ g("div", { ref: _, className: O.switcher, ...s, children: [
|
|
318
323
|
/* @__PURE__ */ n("div", { className: i(O.buttons, t), children: o.map((h, p) => /* @__PURE__ */ n(
|
|
@@ -324,74 +329,74 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
324
329
|
},
|
|
325
330
|
p
|
|
326
331
|
)) }),
|
|
327
|
-
a && /* @__PURE__ */ g(
|
|
332
|
+
a && /* @__PURE__ */ g(B, { children: [
|
|
328
333
|
/* @__PURE__ */ n("div", { className: O.separator }),
|
|
329
334
|
a
|
|
330
335
|
] })
|
|
331
336
|
] });
|
|
332
337
|
}
|
|
333
|
-
),
|
|
334
|
-
root:
|
|
335
|
-
header:
|
|
336
|
-
footer:
|
|
337
|
-
row:
|
|
338
|
-
body:
|
|
339
|
-
head:
|
|
340
|
-
cell:
|
|
341
|
-
caption:
|
|
342
|
-
storiesFooterCellOne:
|
|
343
|
-
storiesFooterCellTwo:
|
|
344
|
-
},
|
|
338
|
+
), te = "_root_1b0i5_13", ee = "_header_1b0i5_19", oe = "_footer_1b0i5_23", ne = "_row_1b0i5_28", se = "_body_1b0i5_41", re = "_head_1b0i5_19", ce = "_cell_1b0i5_48", ae = "_caption_1b0i5_65", ie = "_storiesFooterCellOne_1b0i5_70", le = "_storiesFooterCellTwo_1b0i5_73", f = {
|
|
339
|
+
root: te,
|
|
340
|
+
header: ee,
|
|
341
|
+
footer: oe,
|
|
342
|
+
row: ne,
|
|
343
|
+
body: se,
|
|
344
|
+
head: re,
|
|
345
|
+
cell: ce,
|
|
346
|
+
caption: ae,
|
|
347
|
+
storiesFooterCellOne: ie,
|
|
348
|
+
storiesFooterCellTwo: le
|
|
349
|
+
}, F = ({ children: t, className: e }) => /* @__PURE__ */ n("table", { className: i(f.root, e), children: t }), de = ({ children: t, className: e }) => /* @__PURE__ */ n("caption", { className: i(f.caption, e), children: t }), _e = ({ children: t, className: e }) => /* @__PURE__ */ n("thead", { className: i(f.header, e), children: t }), ue = ({
|
|
345
350
|
children: t,
|
|
346
351
|
className: e,
|
|
347
352
|
onBlur: o,
|
|
348
353
|
onClick: s,
|
|
349
|
-
onDoubleClick:
|
|
354
|
+
onDoubleClick: r
|
|
350
355
|
}) => /* @__PURE__ */ n(
|
|
351
356
|
"tr",
|
|
352
357
|
{
|
|
353
358
|
className: i(f.row, e),
|
|
354
359
|
onClick: s,
|
|
355
|
-
onDoubleClick:
|
|
360
|
+
onDoubleClick: r,
|
|
356
361
|
onBlur: o,
|
|
357
362
|
children: t
|
|
358
363
|
}
|
|
359
|
-
),
|
|
360
|
-
Body:
|
|
361
|
-
Caption:
|
|
362
|
-
Cell:
|
|
363
|
-
Footer:
|
|
364
|
-
Head:
|
|
365
|
-
Header:
|
|
366
|
-
Root:
|
|
367
|
-
Row:
|
|
368
|
-
}),
|
|
369
|
-
inputContainer:
|
|
370
|
-
input:
|
|
371
|
-
inputSearch:
|
|
364
|
+
), he = ({ children: t, className: e }) => /* @__PURE__ */ n("th", { className: i(f.head, e), children: t }), me = ({ children: t, className: e }) => /* @__PURE__ */ n("tbody", { className: i(f.body, e), children: t }), ge = ({ children: t, className: e }) => /* @__PURE__ */ n("td", { className: i(f.cell, e), children: t }), be = ({ children: t, className: e }) => /* @__PURE__ */ n("tfoot", { className: i(f.footer, e), children: t }), je = Object.assign(F, {
|
|
365
|
+
Body: me,
|
|
366
|
+
Caption: de,
|
|
367
|
+
Cell: ge,
|
|
368
|
+
Footer: be,
|
|
369
|
+
Head: he,
|
|
370
|
+
Header: _e,
|
|
371
|
+
Root: F,
|
|
372
|
+
Row: ue
|
|
373
|
+
}), fe = "_inputContainer_iqbs3_1", pe = "_input_iqbs3_1", Ce = "_inputSearch_iqbs3_40", ve = "_error_iqbs3_43", we = "_button_iqbs3_58", Ne = "_buttonWithLabel_iqbs3_68", ke = "_resetSearchValue_iqbs3_73", xe = "_searchOutline_iqbs3_80", ye = "_errorMessage_iqbs3_87", u = {
|
|
374
|
+
inputContainer: fe,
|
|
375
|
+
input: pe,
|
|
376
|
+
inputSearch: Ce,
|
|
372
377
|
error: ve,
|
|
373
|
-
button:
|
|
374
|
-
buttonWithLabel:
|
|
375
|
-
resetSearchValue:
|
|
378
|
+
button: we,
|
|
379
|
+
buttonWithLabel: Ne,
|
|
380
|
+
resetSearchValue: ke,
|
|
376
381
|
searchOutline: xe,
|
|
377
|
-
errorMessage:
|
|
378
|
-
},
|
|
382
|
+
errorMessage: ye
|
|
383
|
+
}, ze = b(({ className: t, error: e, label: o, onChange: s, required: r, ...c }, a) => {
|
|
379
384
|
const [_, d] = T(!1), l = (p) => s(p.currentTarget.value), m = i(u.input, e && u.error, t);
|
|
380
385
|
let h;
|
|
381
|
-
if (!
|
|
382
|
-
const { inputType: p, ...K } =
|
|
383
|
-
h = /* @__PURE__ */ g(
|
|
386
|
+
if (!c.as || c.as === "input") {
|
|
387
|
+
const { inputType: p, ...K } = c, D = p === "search", q = p === "password", X = _ ? "text" : "password";
|
|
388
|
+
h = /* @__PURE__ */ g(B, { children: [
|
|
384
389
|
/* @__PURE__ */ n(
|
|
385
390
|
"input",
|
|
386
391
|
{
|
|
387
392
|
className: i(m, D && u.inputSearch),
|
|
388
393
|
onChange: l,
|
|
389
394
|
ref: a,
|
|
390
|
-
type:
|
|
395
|
+
type: q ? X : p,
|
|
391
396
|
...K
|
|
392
397
|
}
|
|
393
398
|
),
|
|
394
|
-
|
|
399
|
+
q && (_ ? /* @__PURE__ */ n(
|
|
395
400
|
J,
|
|
396
401
|
{
|
|
397
402
|
strokeWidth: 2.5,
|
|
@@ -408,7 +413,7 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
408
413
|
onClick: () => d(($) => !$)
|
|
409
414
|
}
|
|
410
415
|
)),
|
|
411
|
-
D &&
|
|
416
|
+
D && c.value && /* @__PURE__ */ n(
|
|
412
417
|
U,
|
|
413
418
|
{
|
|
414
419
|
onClick: () => s(""),
|
|
@@ -433,54 +438,54 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
433
438
|
)
|
|
434
439
|
] });
|
|
435
440
|
}
|
|
436
|
-
return
|
|
441
|
+
return c.as === "textarea" && (h = /* @__PURE__ */ n(
|
|
437
442
|
"textarea",
|
|
438
443
|
{
|
|
439
444
|
className: m,
|
|
440
445
|
onChange: l,
|
|
441
446
|
ref: a,
|
|
442
|
-
...
|
|
447
|
+
...c
|
|
443
448
|
}
|
|
444
449
|
)), /* @__PURE__ */ g("div", { className: u.root, children: [
|
|
445
450
|
/* @__PURE__ */ g("span", { className: u.title, children: [
|
|
446
451
|
o,
|
|
447
|
-
|
|
452
|
+
r && /* @__PURE__ */ n("span", { className: u.titleError, children: "*" })
|
|
448
453
|
] }),
|
|
449
454
|
/* @__PURE__ */ n("div", { className: u.inputContainer, children: h }),
|
|
450
455
|
/* @__PURE__ */ n("div", { className: u.errorMessage, children: e })
|
|
451
456
|
] });
|
|
452
|
-
}), j = W(void 0),
|
|
457
|
+
}), j = W(void 0), Ke = ({ children: t }) => {
|
|
453
458
|
const e = z() || "system", [o, s] = T(e);
|
|
454
459
|
return /* @__PURE__ */ n(j.Provider, { value: { setTheme: s, theme: o }, children: t });
|
|
455
|
-
},
|
|
460
|
+
}, Xe = () => {
|
|
456
461
|
const t = w(j);
|
|
457
462
|
if (!t)
|
|
458
463
|
throw new Error("useTheme must be used within a ThemeProvider");
|
|
459
|
-
return
|
|
460
|
-
}, ye = (t) => {
|
|
461
|
-
const e = z();
|
|
462
|
-
Te(t || e);
|
|
464
|
+
return Te(t.theme), t;
|
|
463
465
|
}, Te = (t) => {
|
|
466
|
+
const e = z();
|
|
467
|
+
Re(t || e);
|
|
468
|
+
}, Re = (t) => {
|
|
464
469
|
const e = window.matchMedia("(prefers-color-scheme: dark)");
|
|
465
470
|
if (t === "system") {
|
|
466
471
|
const o = e.matches ? "dark" : "light";
|
|
467
|
-
localStorage.setItem("theme", t),
|
|
472
|
+
localStorage.setItem("theme", t), A(o);
|
|
468
473
|
} else
|
|
469
|
-
localStorage.setItem("theme", t),
|
|
470
|
-
},
|
|
474
|
+
localStorage.setItem("theme", t), A(t);
|
|
475
|
+
}, A = (t) => {
|
|
471
476
|
document.documentElement.setAttribute("data-theme", t);
|
|
472
477
|
}, z = () => {
|
|
473
478
|
const t = localStorage.getItem("theme");
|
|
474
479
|
if (t) return t;
|
|
475
|
-
},
|
|
476
|
-
root:
|
|
477
|
-
icon:
|
|
478
|
-
active:
|
|
479
|
-
disabled:
|
|
480
|
-
keybinding:
|
|
481
|
-
},
|
|
480
|
+
}, Se = "_root_17w6h_1", De = "_icon_17w6h_11", $e = "_active_17w6h_27", Oe = "_disabled_17w6h_31", Ie = "_keybinding_17w6h_44", y = {
|
|
481
|
+
root: Se,
|
|
482
|
+
icon: De,
|
|
483
|
+
active: $e,
|
|
484
|
+
disabled: Oe,
|
|
485
|
+
keybinding: Ie
|
|
486
|
+
}, Ge = b(
|
|
482
487
|
(t, e) => {
|
|
483
|
-
const { classes: o, disabled: s, icon:
|
|
488
|
+
const { classes: o, disabled: s, icon: r, isActive: c, keybinding: a, onClick: _, title: d } = t, l = We(o, c, s);
|
|
484
489
|
return /* @__PURE__ */ g("label", { className: y.root, title: d, children: [
|
|
485
490
|
/* @__PURE__ */ n(
|
|
486
491
|
"div",
|
|
@@ -489,16 +494,16 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
489
494
|
ref: e,
|
|
490
495
|
tabIndex: s ? -1 : 0,
|
|
491
496
|
role: "button",
|
|
492
|
-
"aria-pressed":
|
|
497
|
+
"aria-pressed": c,
|
|
493
498
|
"aria-disabled": s,
|
|
494
499
|
onClick: s ? void 0 : _,
|
|
495
|
-
children:
|
|
500
|
+
children: r
|
|
496
501
|
}
|
|
497
502
|
),
|
|
498
503
|
a && /* @__PURE__ */ n("span", { className: l.keybinding, children: a })
|
|
499
504
|
] });
|
|
500
505
|
}
|
|
501
|
-
),
|
|
506
|
+
), We = (t, e, o) => ({
|
|
502
507
|
icon: i(
|
|
503
508
|
y.icon,
|
|
504
509
|
{
|
|
@@ -510,22 +515,22 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
510
515
|
keybinding: i(y.keybinding, t?.keybinding)
|
|
511
516
|
});
|
|
512
517
|
export {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
518
|
+
He as B,
|
|
519
|
+
H as C,
|
|
520
|
+
Ae as D,
|
|
516
521
|
V as S,
|
|
517
|
-
|
|
522
|
+
je as T,
|
|
518
523
|
it as a,
|
|
519
524
|
ht as b,
|
|
520
525
|
mt as c,
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
526
|
+
Fe as d,
|
|
527
|
+
Be as e,
|
|
528
|
+
L as f,
|
|
529
|
+
Me as g,
|
|
530
|
+
Ve as h,
|
|
531
|
+
ze as i,
|
|
532
|
+
Ge as j,
|
|
533
|
+
Ke as k,
|
|
534
|
+
Xe as u
|
|
530
535
|
};
|
|
531
|
-
//# sourceMappingURL=ToolIconButton-
|
|
536
|
+
//# sourceMappingURL=ToolIconButton-C4F-rxOr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolIconButton-C4F-rxOr.js","sources":["../src/components/button/Button.tsx","../src/components/card/Card.tsx","../src/components/drop-down/DropDown.tsx","../src/components/dialog/Dialog.tsx","../src/components/sidebar/Sidebar.tsx","../src/components/switcher-buttons/SwitcherButtons.tsx","../src/components/table/Table.tsx","../src/components/text-field/text-field.tsx","../src/features/theme-provider/ThemeProvider.tsx","../src/components/toolbar/tool-icon-button/ToolIconButton.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n ElementType,\n ForwardedRef,\n ReactNode,\n forwardRef,\n} from 'react'\n\nimport { Replace } from '../../utils'\nimport s from './button.module.scss'\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'text'\ntype OwnProps<T extends ElementType> = {\n children?: ReactNode\n className?: string\n component?: T\n disabled?: boolean\n fullWidth?: boolean\n variant?: ButtonVariant\n icon?: ReactNode\n shortcut?: string\n}\n\nexport type ButtonProps<T extends ElementType> = Replace<\n ComponentPropsWithoutRef<T>,\n OwnProps<T>\n>\n\ntype ButtonRenderType = {\n (\n props: ButtonProps<'button'>,\n ref?: ForwardedRef<ElementRef<'button'>>\n ): ReactNode\n (\n props: ButtonProps<ElementType>,\n ref?: ForwardedRef<ElementRef<ElementType>>\n ): ReactNode\n}\n\nexport type ButtonComponent = {\n <T extends ElementType = 'button'>(\n props: ButtonProps<T> & { ref?: ForwardedRef<ElementRef<T>> }\n ): ReactNode\n}\n\nexport const ButtonRender: ButtonRenderType = (\n {\n children,\n className,\n component: Component = 'button',\n disabled,\n fullWidth,\n icon,\n shortcut,\n variant = 'primary',\n ...props\n },\n ref\n) => {\n const content = (\n <div className={s.buttonWithIcon}>\n <div className={s.content}>\n {icon}\n {children}\n </div>\n <div className={s.shortcut}>{shortcut}</div>\n </div>\n )\n\n return (\n <Component\n className={classNames(\n s[variant],\n fullWidth && s.fullWidth,\n disabled && s.disabled,\n icon && s.icon,\n className\n )}\n children={icon ? content : children}\n disabled={disabled}\n ref={ref}\n {...props}\n />\n )\n}\n\nexport const Button: ButtonComponent = forwardRef(ButtonRender)\n","import classNames from 'classnames'\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react'\n\nimport s from './card.module.scss'\n\nexport type CardProps = ComponentPropsWithoutRef<'div'>\n\nexport const CardRoot = forwardRef<ElementRef<'div'>, CardProps>(\n ({ className, ...props }, ref) => (\n <div className={classNames(s.root, className)} ref={ref} {...props} />\n )\n)\n\nexport type CardContentProps = CardProps & { ignoreHeader?: boolean }\n\nexport const CardContent = forwardRef<ElementRef<'div'>, CardContentProps>(\n ({ className, ignoreHeader, ...props }, ref) => (\n <div\n className={classNames(\n s.content,\n !ignoreHeader && s.contentAfterHeader,\n className\n )}\n ref={ref}\n {...props}\n />\n )\n)\n\nexport const CardHeader = forwardRef<ElementRef<'div'>, CardProps>(\n ({ className, ...props }, ref) => (\n <div className={classNames(s.header, className)} ref={ref} {...props} />\n )\n)\n\nexport const Card = Object.assign(CardRoot, {\n Content: CardContent,\n Header: CardHeader,\n Root: CardRoot,\n})\n","import classNames from 'classnames'\nimport {\n createContext,\n ReactNode,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport styles from './drop-down.module.scss'\n\ninterface DropDownContextType {\n visible: boolean\n toggle: () => void\n close: () => void\n}\n\nconst DropDownContext = createContext<DropDownContextType | undefined>(\n undefined\n)\n\nconst useDropDownContext = () => {\n const context = useContext(DropDownContext)\n if (!context) {\n throw new Error('useDropDownContext must be used within a DropDown.Root')\n }\n return context\n}\n\ninterface RootProps {\n children: ReactNode\n defaultVisible?: boolean\n closeOnOutsideClick?: boolean\n closeOnEsc?: boolean\n}\n\nconst openDropDownStack: HTMLElement[] = []\n\nconst Root = ({\n children,\n closeOnEsc = true,\n closeOnOutsideClick = true,\n defaultVisible = false,\n}: RootProps) => {\n const [visible, setVisible] = useState(defaultVisible)\n const rootRef = useRef<HTMLDivElement>(null)\n\n const toggle = () => {\n if (!visible) {\n setVisible(true)\n if (rootRef.current) {\n openDropDownStack.push(rootRef.current)\n }\n } else {\n close()\n }\n }\n\n const close = () => {\n setVisible(false)\n if (rootRef.current) {\n const index = openDropDownStack.indexOf(rootRef.current)\n if (index !== -1) {\n openDropDownStack.splice(index, 1)\n }\n }\n }\n\n useEffect(() => {\n if (!closeOnOutsideClick) return\n\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n close()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [closeOnOutsideClick])\n\n useEffect(() => {\n if (!closeOnEsc) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && visible) {\n const lastDropDown = openDropDownStack[openDropDownStack.length - 1]\n if (lastDropDown === rootRef.current) {\n close()\n }\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [closeOnEsc, visible])\n\n return (\n <DropDownContext.Provider value={{ close, toggle, visible }}>\n <div ref={rootRef} className={styles.root}>\n {children}\n </div>\n </DropDownContext.Provider>\n )\n}\n\ninterface TriggerProps {\n children: ReactNode\n}\n\nconst Trigger = ({ children }: TriggerProps) => {\n const { toggle } = useDropDownContext()\n return <div onClick={toggle}>{children}</div>\n}\n\ninterface ContentProps {\n children: ReactNode\n horizontal?: 'left' | 'center' | 'right'\n vertical?: 'top' | 'bottom'\n className?: string\n fixedPosition?: boolean\n}\n\nconst Content = ({\n children,\n className,\n fixedPosition = false,\n horizontal = 'left',\n vertical = 'bottom',\n}: ContentProps) => {\n const { visible } = useDropDownContext()\n\n if (!visible) return null\n\n return (\n <div\n className={classNames(\n styles.dropdownContent,\n styles[horizontal],\n styles[vertical],\n { [styles.fixedPosition]: fixedPosition },\n className\n )}\n >\n {children}\n </div>\n )\n}\n\ninterface CloseProps {\n children: ReactNode\n onClick?: (event: React.MouseEvent) => void\n}\n\nconst Close = ({ children, onClick }: CloseProps) => {\n const { close } = useDropDownContext()\n\n const handleClick = (event: React.MouseEvent) => {\n if (onClick) {\n onClick(event)\n }\n close()\n }\n\n return <div onClick={handleClick}>{children}</div>\n}\n\nexport const DropDown = { Content, Root, Trigger, Close }\n","import classNames from 'classnames'\nimport React, {\n useState,\n useRef,\n ReactNode,\n forwardRef,\n MouseEvent,\n ElementType,\n useContext,\n} from 'react'\n\nimport styles from './dialog.module.scss'\n\ninterface RootProps {\n children: React.ReactNode\n isOpen?: boolean\n onStateChange?: (isOpen: boolean) => void\n}\n\ninterface DialogContextProps {\n dialogRef: React.RefObject<HTMLDialogElement>\n isOpen: boolean\n setIsOpen: (state: boolean) => void\n}\nconst DialogContext = React.createContext<DialogContextProps | null>(null)\n\nconst Root = ({\n children,\n isOpen: externalIsOpen,\n onStateChange,\n}: RootProps) => {\n const dialogRef = useRef<HTMLDialogElement | null>(null)\n const [internalIsOpen, setInternalIsOpen] = useState(false)\n\n const isOpen = externalIsOpen !== undefined ? externalIsOpen : internalIsOpen\n const setIsOpen = (state: boolean) => {\n if (externalIsOpen === undefined) {\n setInternalIsOpen(state)\n }\n if (onStateChange) {\n onStateChange(state)\n }\n }\n\n return (\n <DialogContext.Provider value={{ dialogRef, isOpen, setIsOpen }}>\n <div className={styles.dialogRoot}>{children}</div>\n </DialogContext.Provider>\n )\n}\n\ninterface TriggerProps<T extends ElementType = 'button'> {\n as?: T\n children: ReactNode\n}\n\nconst Trigger = <T extends ElementType = 'button'>({\n as,\n children,\n ...props\n}: TriggerProps<T> & React.ComponentPropsWithoutRef<T>) => {\n const context = useContext(DialogContext)\n if (!context) throw new Error('Trigger must be used within a Dialog.Root')\n\n const { dialogRef, setIsOpen } = context\n const Component = as || 'button'\n\n const handleClick = () => {\n dialogRef.current?.showModal()\n setIsOpen(true)\n }\n\n return (\n <Component\n onClick={handleClick}\n {...props}\n className={styles.dialogTrigger}\n role={as && as !== 'button' ? 'button' : undefined}\n >\n {children}\n </Component>\n )\n}\n\ninterface ContentProps {\n children: ReactNode\n className?: string\n closeOnBackdropClick?: boolean\n}\n\nconst Content = forwardRef<HTMLDialogElement, ContentProps>(\n ({ children, className, closeOnBackdropClick = true }, _) => {\n const context = useContext(DialogContext)\n if (!context) throw new Error('Content must be used within a Dialog.Root')\n\n const { dialogRef, isOpen, setIsOpen } = context\n\n const handleBackdropClick = (event: MouseEvent<HTMLDialogElement>) => {\n if (closeOnBackdropClick && event.target === dialogRef.current) {\n dialogRef.current?.close()\n setIsOpen(false)\n }\n }\n\n return (\n <dialog\n ref={dialogRef}\n className={classNames(styles.dialogContent, className)}\n onClick={handleBackdropClick}\n open={isOpen}\n >\n <div onClick={(e) => e.stopPropagation()}>{children}</div>\n </dialog>\n )\n }\n)\n\ninterface CloseProps<T extends ElementType = 'button'> {\n as?: T\n children?: ReactNode\n}\n\nconst Close = <T extends ElementType = 'button'>({\n as,\n children,\n ...props\n}: CloseProps<T> & React.ComponentPropsWithoutRef<T>) => {\n const context = useContext(DialogContext)\n if (!context) throw new Error('Close must be used within a Dialog.Root')\n\n const { dialogRef, setIsOpen } = context\n const Component = as || 'button'\n\n const handleClick = () => {\n dialogRef.current?.close()\n setIsOpen(false)\n }\n\n return (\n <Component\n onClick={handleClick}\n {...props}\n className={styles.dialogClose}\n role={as && as !== 'button' ? 'button' : undefined}\n >\n {children}\n </Component>\n )\n}\n\ninterface TitleProps {\n children: ReactNode\n className?: string\n}\n\nconst Title = ({ children, className }: TitleProps) => {\n return (\n <h2 className={classNames(styles.dialogTitle, className)}>{children}</h2>\n )\n}\n\ninterface SeparatorProps {}\n\nconst Separator = ({}: SeparatorProps) => {\n return <div className={styles.dialogSeparator} />\n}\n\nexport const Dialog = {\n Close,\n Content,\n Root,\n Separator,\n Title,\n Trigger,\n}\n","import classNames from 'classnames'\nimport {\n createContext,\n MouseEvent,\n ReactNode,\n useContext,\n useEffect,\n useRef,\n} from 'react'\n\nimport styles from './sidebar.module.scss'\n\ntype SidebarContextProps = {\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n}\n\nexport const SidebarContext = createContext<SidebarContextProps | undefined>(\n undefined\n)\n\nexport const useSidebarContext = () => {\n const context = useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebarContext must be used within a SidebarProvider')\n }\n return context\n}\n\ntype SidebarRootProps = {\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n children: ReactNode\n}\n\nconst Root = ({ children, isOpen, setIsOpen }: SidebarRootProps) => {\n return (\n <SidebarContext.Provider\n value={{\n isOpen: isOpen,\n setIsOpen: () => setIsOpen(!isOpen),\n }}\n >\n {children}\n </SidebarContext.Provider>\n )\n}\n\ntype SidebarTriggerProps = {\n children: ReactNode\n}\n\nconst Trigger = ({ children }: SidebarTriggerProps) => {\n const { setIsOpen } = useSidebarContext()\n\n const onClickHandler = (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault()\n setIsOpen(true)\n }\n\n return (\n <div className={styles.trigger} onClick={onClickHandler}>\n {children}\n </div>\n )\n}\n\ntype SidebarContentProps = {\n position?: 'left' | 'right' | 'bottom' | 'top'\n children: ReactNode\n className?: string\n closeOnOutsideClick?: boolean\n}\n\nconst Content = ({\n children,\n className,\n closeOnOutsideClick = true,\n position = 'right',\n}: SidebarContentProps) => {\n const { isOpen, setIsOpen } = useSidebarContext()\n const contentRef = useRef<HTMLDivElement | null>(null)\n\n useEffect(() => {\n if (!closeOnOutsideClick) return\n\n const handleClickOutside = (event: Event) => {\n if (\n contentRef.current &&\n !contentRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen, setIsOpen, closeOnOutsideClick])\n\n return (\n <div\n ref={contentRef}\n className={classNames(\n styles[position],\n styles.content,\n {\n [styles.close]: !isOpen,\n [styles.open]: isOpen,\n },\n className\n )}\n >\n {children}\n </div>\n )\n}\n\ntype SidebarCloseProps = {\n children: ReactNode\n}\n\nconst Close = ({ children }: SidebarCloseProps) => {\n const { setIsOpen } = useSidebarContext()\n\n const onClickHandler = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n setIsOpen(false)\n }\n\n return (\n <button className={styles.close} onClick={onClickHandler}>\n {children}\n </button>\n )\n}\n\nexport const Sidebar = {\n Close,\n Content,\n Root,\n Trigger,\n}\n","import classNames from 'classnames'\nimport React, { ElementType, forwardRef, ReactNode, useState } from 'react'\n\nimport style from './switcher-buttons.module.scss'\n\ninterface ComponentValues {\n value: string\n [key: string]: any\n}\n\ninterface SwitcherProps {\n componentValues: ComponentValues[]\n defaultValue?: string\n onChange?: (value: string) => void\n selectedValue?: string\n component: ElementType\n containerProps?: React.HTMLAttributes<HTMLDivElement>\n slot?: ReactNode\n className?: string\n}\n\nexport const SwitcherButtons = forwardRef<HTMLDivElement, SwitcherProps>(\n (\n {\n className,\n component: Component,\n componentValues,\n containerProps,\n onChange,\n selectedValue,\n slot,\n },\n ref\n ) => {\n const [activeValue, setActiveValue] = useState<string>(\n selectedValue || componentValues[0].value\n )\n\n const onChangeHandler = (value: string) => {\n setActiveValue(value)\n if (onChange) onChange(value)\n }\n\n return (\n <div ref={ref} className={style.switcher} {...containerProps}>\n <div className={classNames(style.buttons, className)}>\n {componentValues.map((button, index) => (\n <Component\n key={index}\n {...button}\n selected={activeValue === button.value}\n onClick={() => onChangeHandler(button.value)}\n />\n ))}\n </div>\n {slot && (\n <>\n <div className={style.separator} />\n {slot}\n </>\n )}\n </div>\n )\n }\n)\n","import classNames from 'classnames'\nimport { FocusEventHandler, MouseEventHandler, ReactNode } from 'react'\n\nimport s from './table.module.scss'\n\ninterface Props {\n children: ReactNode\n className?: string\n}\n\ntype RootProps = Props\nconst Root = ({ children, className }: RootProps) => {\n return <table className={classNames(s.root, className)}>{children}</table>\n}\n\ntype CaptionProps = Props\nconst Caption = ({ children, className }: CaptionProps) => {\n return (\n <caption className={classNames(s.caption, className)}>{children}</caption>\n )\n}\n\ntype HeaderProps = Props\nconst Header = ({ children, className }: HeaderProps) => {\n return <thead className={classNames(s.header, className)}>{children}</thead>\n}\n\ninterface RowProps extends Props {\n onClick?: MouseEventHandler<HTMLTableRowElement> | undefined\n onDoubleClick?: MouseEventHandler<HTMLTableRowElement> | undefined\n onBlur?: FocusEventHandler<HTMLTableRowElement> | undefined\n}\nconst Row = ({\n children,\n className,\n onBlur,\n onClick,\n onDoubleClick,\n}: RowProps) => {\n return (\n <tr\n className={classNames(s.row, className)}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onBlur={onBlur}\n >\n {children}\n </tr>\n )\n}\n\ntype HeadProps = Props\nconst Head = ({ children, className }: HeadProps) => {\n return <th className={classNames(s.head, className)}>{children}</th>\n}\n\ntype BodyProps = Props\nconst Body = ({ children, className }: BodyProps) => {\n return <tbody className={classNames(s.body, className)}>{children}</tbody>\n}\n\ntype CellProps = Props\nconst Cell = ({ children, className }: CellProps) => {\n return <td className={classNames(s.cell, className)}>{children}</td>\n}\n\ntype FooterProps = Props\nconst Footer = ({ children, className }: FooterProps) => {\n return <tfoot className={classNames(s.footer, className)}>{children}</tfoot>\n}\n\nexport const Table = Object.assign(Root, {\n Body,\n Caption,\n Cell,\n Footer,\n Head,\n Header,\n Root,\n Row,\n})\n","import classNames from 'classnames'\nimport { X, Eye, Search, EyeOff } from 'lucide-react'\nimport {\n ChangeEvent,\n ForwardedRef,\n ReactNode,\n forwardRef,\n useState,\n} from 'react'\n\nimport s from './text-field.module.scss'\n\ntype SharedProps = {\n className?: string\n disabled?: boolean\n error?: string\n label?: string\n onBlur?: () => void\n onChange: (value: string) => void\n onFocus?: () => void\n placeholder?: string\n required?: boolean\n type?: 'text' | 'password' | 'email' | 'url' | string\n value: string\n}\n\nexport type TextFieldProps =\n | (SharedProps & {\n as?: 'input'\n inputType?: 'password' | 'search' | 'text'\n })\n | (SharedProps & { as: 'textarea' })\n\nexport type TextFieldComponent = {\n (\n props: Extract<TextFieldProps, { as: 'textarea' }> & {\n ref?: ForwardedRef<HTMLTextAreaElement>\n }\n ): ReactNode\n (\n props: Extract<TextFieldProps, { as?: 'input' }> & {\n ref?: ForwardedRef<HTMLInputElement>\n }\n ): ReactNode\n}\n\nexport const TextField: TextFieldComponent = forwardRef<\n HTMLInputElement | HTMLTextAreaElement,\n TextFieldProps\n>(({ className, error, label, onChange, required, ...props }, ref) => {\n const [showPassword, setShowPassword] = useState(false)\n\n const handleChange = (\n e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => onChange(e.currentTarget.value)\n\n const sharedClassName = classNames(s.input, error && s.error, className)\n let resolvedFragment: ReactNode\n\n if (!props.as || props.as === 'input') {\n const { inputType, ...restProps } = props\n const isSearch = inputType === 'search'\n const isPassword = inputType === 'password'\n const passwordFieldNextType = showPassword ? 'text' : 'password'\n\n resolvedFragment = (\n <>\n <input\n className={classNames(sharedClassName, isSearch && s.inputSearch)}\n onChange={handleChange}\n ref={ref as unknown as ForwardedRef<HTMLInputElement>}\n type={isPassword ? passwordFieldNextType : inputType}\n {...restProps}\n />\n {isPassword &&\n (showPassword ? (\n <Eye\n strokeWidth={2.5}\n width={20}\n className={classNames(s.button, label && s.buttonWithLabel)}\n onClick={() => setShowPassword((prev) => !prev)}\n />\n ) : (\n <EyeOff\n strokeWidth={2.5}\n width={20}\n className={classNames(s.button, label && s.buttonWithLabel)}\n onClick={() => setShowPassword((prev) => !prev)}\n />\n ))}\n {isSearch && props.value && (\n <X\n onClick={() => onChange('')}\n className={classNames(\n s.button,\n label && s.buttonWithLabel,\n s.resetSearchValue\n )}\n strokeWidth={2.5}\n size={24}\n />\n )}\n {isSearch && (\n <Search\n className={classNames(\n s.searchOutline,\n label && s.searchOutlineWithLabel\n )}\n size={20}\n />\n )}\n </>\n )\n }\n\n if (props.as === 'textarea') {\n resolvedFragment = (\n <textarea\n className={sharedClassName}\n onChange={handleChange}\n ref={ref as unknown as ForwardedRef<HTMLTextAreaElement>}\n {...props}\n />\n )\n }\n\n return (\n <div className={s.root}>\n <span className={s.title}>\n {label}\n {required && <span className={s.titleError}>*</span>}\n </span>\n <div className={s.inputContainer}>{resolvedFragment}</div>\n <div className={s.errorMessage}>{error}</div>\n </div>\n )\n})\n","import { createContext, useContext, useState, ReactNode } from 'react'\n\nexport type Theme = 'light' | 'dark'\nexport type ThemeValue = Theme | 'system'\n\ninterface ThemeContextType {\n theme: ThemeValue\n setTheme: (theme: ThemeValue) => void\n}\n\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined)\n\nexport const ThemeProvider = ({ children }: { children: ReactNode }) => {\n const defaultTheme = getTheme() || 'system'\n const [theme, setTheme] = useState<ThemeValue>(defaultTheme)\n\n return (\n <ThemeContext.Provider value={{ setTheme, theme }}>\n {children}\n </ThemeContext.Provider>\n )\n}\n\nexport const useTheme = () => {\n const context = useContext(ThemeContext)\n\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n setDataThemeHandler(context.theme)\n\n return context\n}\n\nconst setDataThemeHandler = (value: ThemeValue) => {\n const savedTheme = getTheme()\n\n saveTheme(value || savedTheme)\n}\n\nconst saveTheme = (theme: ThemeValue) => {\n const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)')\n\n if (theme === 'system') {\n const defaultTheme = prefersDarkScheme.matches ? 'dark' : 'light'\n localStorage.setItem('theme', theme)\n setTheme(defaultTheme)\n } else {\n localStorage.setItem('theme', theme)\n setTheme(theme)\n }\n}\n\nconst setTheme = (theme: Theme) => {\n document.documentElement.setAttribute('data-theme', theme)\n}\n\nconst getTheme = () => {\n const theme = localStorage.getItem('theme')\n if (theme) return theme as ThemeValue\n}\n","import classNames from 'classnames'\nimport { ReactNode, forwardRef } from 'react'\n\nimport s from './tool-icon-button.module.scss'\n\nexport type ToolbarSlot = 'icon' | 'keybinding'\nexport type ToolbarClasses = { [P in ToolbarSlot]?: string }\n\ninterface Props {\n title?: string\n icon: ReactNode\n keybinding?: string\n aria_label?: string\n aria_keyshortcuts?: string\n classes?: ToolbarClasses\n name?: string\n id?: string\n isActive?: boolean\n disabled?: boolean\n onClick?: () => void\n}\n\nexport const ToolIconButton = forwardRef<HTMLDivElement, Props>(\n (props, ref) => {\n const { classes, disabled, icon, isActive, keybinding, onClick, title } =\n props\n\n const styles = getClasses(classes, isActive, disabled)\n\n return (\n <label className={s.root} title={title}>\n <div\n className={styles.icon}\n ref={ref}\n tabIndex={disabled ? -1 : 0}\n role=\"button\"\n aria-pressed={isActive}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n >\n {icon}\n </div>\n {keybinding && <span className={styles.keybinding}>{keybinding}</span>}\n </label>\n )\n }\n)\n\nconst getClasses = (\n classes?: ToolbarClasses,\n isActive?: boolean,\n disabled?: boolean\n): Required<ToolbarClasses> => ({\n icon: classNames(\n s.icon,\n {\n [s.active]: isActive,\n [s.disabled]: disabled,\n },\n classes?.icon\n ),\n keybinding: classNames(s.keybinding, classes?.keybinding),\n})\n"],"names":["ButtonRender","children","className","Component","disabled","fullWidth","icon","shortcut","variant","props","ref","content","jsxs","s","jsx","classNames","Button","forwardRef","CardRoot","CardContent","ignoreHeader","CardHeader","Card","DropDownContext","createContext","useDropDownContext","context","useContext","openDropDownStack","Root","closeOnEsc","closeOnOutsideClick","defaultVisible","visible","setVisible","useState","rootRef","useRef","toggle","close","index","useEffect","handleClickOutside","event","handleKeyDown","styles","Trigger","Content","fixedPosition","horizontal","vertical","Close","onClick","DropDown","DialogContext","React","externalIsOpen","onStateChange","dialogRef","internalIsOpen","setInternalIsOpen","isOpen","setIsOpen","state","as","closeOnBackdropClick","_","handleBackdropClick","e","Title","Separator","Dialog","SidebarContext","useSidebarContext","onClickHandler","position","contentRef","Sidebar","SwitcherButtons","componentValues","containerProps","onChange","selectedValue","slot","activeValue","setActiveValue","onChangeHandler","value","style","button","Fragment","Caption","Header","Row","onBlur","onDoubleClick","Head","Body","Cell","Footer","Table","TextField","error","label","required","showPassword","setShowPassword","handleChange","sharedClassName","resolvedFragment","inputType","restProps","isSearch","isPassword","passwordFieldNextType","Eye","prev","EyeOff","X","Search","ThemeContext","ThemeProvider","defaultTheme","getTheme","theme","setTheme","useTheme","setDataThemeHandler","savedTheme","saveTheme","prefersDarkScheme","ToolIconButton","classes","isActive","keybinding","title","getClasses"],"mappings":"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"}
|
|
@@ -15,9 +15,14 @@ interface ContentProps {
|
|
|
15
15
|
className?: string;
|
|
16
16
|
fixedPosition?: boolean;
|
|
17
17
|
}
|
|
18
|
+
interface CloseProps {
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
onClick?: (event: React.MouseEvent) => void;
|
|
21
|
+
}
|
|
18
22
|
export declare const DropDown: {
|
|
19
23
|
Content: ({ children, className, fixedPosition, horizontal, vertical, }: ContentProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
20
24
|
Root: ({ children, closeOnEsc, closeOnOutsideClick, defaultVisible, }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
25
|
Trigger: ({ children }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
Close: ({ children, onClick }: CloseProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
27
|
};
|
|
23
28
|
export {};
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { D as H, B as F, u as J } from "./ToolIconButton-
|
|
2
|
-
import { a as an, d as ln, b as rn, c as dn, C as hn, e as _n, g as un, S as mn, h as pn, T as gn, i as fn, j as yn, f as kn } from "./ToolIconButton-
|
|
1
|
+
import { D as H, B as F, u as J } from "./ToolIconButton-C4F-rxOr.js";
|
|
2
|
+
import { a as an, d as ln, b as rn, c as dn, C as hn, e as _n, g as un, S as mn, h as pn, T as gn, i as fn, j as yn, f as kn } from "./ToolIconButton-C4F-rxOr.js";
|
|
3
3
|
import { jsx as s, jsxs as g, Fragment as Q } from "react/jsx-runtime";
|
|
4
4
|
import m from "classnames";
|
|
5
5
|
import { useState as k, useEffect as K, useCallback as M, useRef as G } from "react";
|
package/dist/index2.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import m from "classnames";
|
|
3
3
|
import { Image as h, Video as g, FileQuestion as p, HardDriveDownload as u, Share2 as y, PencilRuler as I } from "lucide-react";
|
|
4
|
-
import { d as l, e as o, B as v } from "./ToolIconButton-
|
|
5
|
-
import { k as U, u as X } from "./ToolIconButton-
|
|
4
|
+
import { d as l, e as o, B as v } from "./ToolIconButton-C4F-rxOr.js";
|
|
5
|
+
import { k as U, u as X } from "./ToolIconButton-C4F-rxOr.js";
|
|
6
6
|
import "react";
|
|
7
7
|
const f = [
|
|
8
8
|
"png",
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolIconButton-CKUWpXoL.js","sources":["../src/components/button/Button.tsx","../src/components/card/Card.tsx","../src/components/drop-down/DropDown.tsx","../src/components/dialog/Dialog.tsx","../src/components/sidebar/Sidebar.tsx","../src/components/switcher-buttons/SwitcherButtons.tsx","../src/components/table/Table.tsx","../src/components/text-field/text-field.tsx","../src/features/theme-provider/ThemeProvider.tsx","../src/components/toolbar/tool-icon-button/ToolIconButton.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport {\n ComponentPropsWithoutRef,\n ElementRef,\n ElementType,\n ForwardedRef,\n ReactNode,\n forwardRef,\n} from 'react'\n\nimport { Replace } from '../../utils'\nimport s from './button.module.scss'\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'text'\ntype OwnProps<T extends ElementType> = {\n children?: ReactNode\n className?: string\n component?: T\n disabled?: boolean\n fullWidth?: boolean\n variant?: ButtonVariant\n icon?: ReactNode\n shortcut?: string\n}\n\nexport type ButtonProps<T extends ElementType> = Replace<\n ComponentPropsWithoutRef<T>,\n OwnProps<T>\n>\n\ntype ButtonRenderType = {\n (\n props: ButtonProps<'button'>,\n ref?: ForwardedRef<ElementRef<'button'>>\n ): ReactNode\n (\n props: ButtonProps<ElementType>,\n ref?: ForwardedRef<ElementRef<ElementType>>\n ): ReactNode\n}\n\nexport type ButtonComponent = {\n <T extends ElementType = 'button'>(\n props: ButtonProps<T> & { ref?: ForwardedRef<ElementRef<T>> }\n ): ReactNode\n}\n\nexport const ButtonRender: ButtonRenderType = (\n {\n children,\n className,\n component: Component = 'button',\n disabled,\n fullWidth,\n icon,\n shortcut,\n variant = 'primary',\n ...props\n },\n ref\n) => {\n const content = (\n <div className={s.buttonWithIcon}>\n <div className={s.content}>\n {icon}\n {children}\n </div>\n <div className={s.shortcut}>{shortcut}</div>\n </div>\n )\n\n return (\n <Component\n className={classNames(\n s[variant],\n fullWidth && s.fullWidth,\n disabled && s.disabled,\n icon && s.icon,\n className\n )}\n children={icon ? content : children}\n disabled={disabled}\n ref={ref}\n {...props}\n />\n )\n}\n\nexport const Button: ButtonComponent = forwardRef(ButtonRender)\n","import classNames from 'classnames'\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react'\n\nimport s from './card.module.scss'\n\nexport type CardProps = ComponentPropsWithoutRef<'div'>\n\nexport const CardRoot = forwardRef<ElementRef<'div'>, CardProps>(\n ({ className, ...props }, ref) => (\n <div className={classNames(s.root, className)} ref={ref} {...props} />\n )\n)\n\nexport type CardContentProps = CardProps & { ignoreHeader?: boolean }\n\nexport const CardContent = forwardRef<ElementRef<'div'>, CardContentProps>(\n ({ className, ignoreHeader, ...props }, ref) => (\n <div\n className={classNames(\n s.content,\n !ignoreHeader && s.contentAfterHeader,\n className\n )}\n ref={ref}\n {...props}\n />\n )\n)\n\nexport const CardHeader = forwardRef<ElementRef<'div'>, CardProps>(\n ({ className, ...props }, ref) => (\n <div className={classNames(s.header, className)} ref={ref} {...props} />\n )\n)\n\nexport const Card = Object.assign(CardRoot, {\n Content: CardContent,\n Header: CardHeader,\n Root: CardRoot,\n})\n","import classNames from 'classnames'\nimport {\n createContext,\n ReactNode,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport styles from './drop-down.module.scss'\n\ninterface DropDownContextType {\n visible: boolean\n toggle: () => void\n close: () => void\n}\n\nconst DropDownContext = createContext<DropDownContextType | undefined>(\n undefined\n)\n\nconst useDropDownContext = () => {\n const context = useContext(DropDownContext)\n if (!context) {\n throw new Error('useDropDownContext must be used within a DropDown.Root')\n }\n return context\n}\n\ninterface RootProps {\n children: ReactNode\n defaultVisible?: boolean\n closeOnOutsideClick?: boolean\n closeOnEsc?: boolean\n}\n\nconst openDropDownStack: HTMLElement[] = []\n\nconst Root = ({\n children,\n closeOnEsc = true,\n closeOnOutsideClick = true,\n defaultVisible = false,\n}: RootProps) => {\n const [visible, setVisible] = useState(defaultVisible)\n const rootRef = useRef<HTMLDivElement>(null)\n\n const toggle = () => {\n if (!visible) {\n setVisible(true)\n if (rootRef.current) {\n openDropDownStack.push(rootRef.current)\n }\n } else {\n close()\n }\n }\n\n const close = () => {\n setVisible(false)\n if (rootRef.current) {\n const index = openDropDownStack.indexOf(rootRef.current)\n if (index !== -1) {\n openDropDownStack.splice(index, 1)\n }\n }\n }\n\n useEffect(() => {\n if (!closeOnOutsideClick) return\n\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n close()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [closeOnOutsideClick])\n\n useEffect(() => {\n if (!closeOnEsc) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && visible) {\n const lastDropDown = openDropDownStack[openDropDownStack.length - 1]\n if (lastDropDown === rootRef.current) {\n close()\n }\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [closeOnEsc, visible])\n\n return (\n <DropDownContext.Provider value={{ close, toggle, visible }}>\n <div ref={rootRef} className={styles.root}>\n {children}\n </div>\n </DropDownContext.Provider>\n )\n}\n\ninterface TriggerProps {\n children: ReactNode\n}\n\nconst Trigger = ({ children }: TriggerProps) => {\n const { toggle } = useDropDownContext()\n return <div onClick={toggle}>{children}</div>\n}\n\ninterface ContentProps {\n children: ReactNode\n horizontal?: 'left' | 'center' | 'right'\n vertical?: 'top' | 'bottom'\n className?: string\n fixedPosition?: boolean\n}\n\nconst Content = ({\n children,\n className,\n fixedPosition = false,\n horizontal = 'left',\n vertical = 'bottom',\n}: ContentProps) => {\n const { visible } = useDropDownContext()\n\n if (!visible) return null\n\n return (\n <div\n className={classNames(\n styles.dropdownContent,\n styles[horizontal],\n styles[vertical],\n { [styles.fixedPosition]: fixedPosition },\n className\n )}\n >\n {children}\n </div>\n )\n}\n\nexport const DropDown = { Content, Root, Trigger }\n","import classNames from 'classnames'\nimport React, {\n useState,\n useRef,\n ReactNode,\n forwardRef,\n MouseEvent,\n ElementType,\n useContext,\n} from 'react'\n\nimport styles from './dialog.module.scss'\n\ninterface RootProps {\n children: React.ReactNode\n isOpen?: boolean\n onStateChange?: (isOpen: boolean) => void\n}\n\ninterface DialogContextProps {\n dialogRef: React.RefObject<HTMLDialogElement>\n isOpen: boolean\n setIsOpen: (state: boolean) => void\n}\nconst DialogContext = React.createContext<DialogContextProps | null>(null)\n\nconst Root = ({\n children,\n isOpen: externalIsOpen,\n onStateChange,\n}: RootProps) => {\n const dialogRef = useRef<HTMLDialogElement | null>(null)\n const [internalIsOpen, setInternalIsOpen] = useState(false)\n\n const isOpen = externalIsOpen !== undefined ? externalIsOpen : internalIsOpen\n const setIsOpen = (state: boolean) => {\n if (externalIsOpen === undefined) {\n setInternalIsOpen(state)\n }\n if (onStateChange) {\n onStateChange(state)\n }\n }\n\n return (\n <DialogContext.Provider value={{ dialogRef, isOpen, setIsOpen }}>\n <div className={styles.dialogRoot}>{children}</div>\n </DialogContext.Provider>\n )\n}\n\ninterface TriggerProps<T extends ElementType = 'button'> {\n as?: T\n children: ReactNode\n}\n\nconst Trigger = <T extends ElementType = 'button'>({\n as,\n children,\n ...props\n}: TriggerProps<T> & React.ComponentPropsWithoutRef<T>) => {\n const context = useContext(DialogContext)\n if (!context) throw new Error('Trigger must be used within a Dialog.Root')\n\n const { dialogRef, setIsOpen } = context\n const Component = as || 'button'\n\n const handleClick = () => {\n dialogRef.current?.showModal()\n setIsOpen(true)\n }\n\n return (\n <Component\n onClick={handleClick}\n {...props}\n className={styles.dialogTrigger}\n role={as && as !== 'button' ? 'button' : undefined}\n >\n {children}\n </Component>\n )\n}\n\ninterface ContentProps {\n children: ReactNode\n className?: string\n closeOnBackdropClick?: boolean\n}\n\nconst Content = forwardRef<HTMLDialogElement, ContentProps>(\n ({ children, className, closeOnBackdropClick = true }, _) => {\n const context = useContext(DialogContext)\n if (!context) throw new Error('Content must be used within a Dialog.Root')\n\n const { dialogRef, isOpen, setIsOpen } = context\n\n const handleBackdropClick = (event: MouseEvent<HTMLDialogElement>) => {\n if (closeOnBackdropClick && event.target === dialogRef.current) {\n dialogRef.current?.close()\n setIsOpen(false)\n }\n }\n\n return (\n <dialog\n ref={dialogRef}\n className={classNames(styles.dialogContent, className)}\n onClick={handleBackdropClick}\n open={isOpen}\n >\n <div onClick={(e) => e.stopPropagation()}>{children}</div>\n </dialog>\n )\n }\n)\n\ninterface CloseProps<T extends ElementType = 'button'> {\n as?: T\n children?: ReactNode\n}\n\nconst Close = <T extends ElementType = 'button'>({\n as,\n children,\n ...props\n}: CloseProps<T> & React.ComponentPropsWithoutRef<T>) => {\n const context = useContext(DialogContext)\n if (!context) throw new Error('Close must be used within a Dialog.Root')\n\n const { dialogRef, setIsOpen } = context\n const Component = as || 'button'\n\n const handleClick = () => {\n dialogRef.current?.close()\n setIsOpen(false)\n }\n\n return (\n <Component\n onClick={handleClick}\n {...props}\n className={styles.dialogClose}\n role={as && as !== 'button' ? 'button' : undefined}\n >\n {children}\n </Component>\n )\n}\n\ninterface TitleProps {\n children: ReactNode\n className?: string\n}\n\nconst Title = ({ children, className }: TitleProps) => {\n return (\n <h2 className={classNames(styles.dialogTitle, className)}>{children}</h2>\n )\n}\n\ninterface SeparatorProps {}\n\nconst Separator = ({}: SeparatorProps) => {\n return <div className={styles.dialogSeparator} />\n}\n\nexport const Dialog = {\n Close,\n Content,\n Root,\n Separator,\n Title,\n Trigger,\n}\n","import classNames from 'classnames'\nimport {\n createContext,\n MouseEvent,\n ReactNode,\n useContext,\n useEffect,\n useRef,\n} from 'react'\n\nimport styles from './sidebar.module.scss'\n\ntype SidebarContextProps = {\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n}\n\nexport const SidebarContext = createContext<SidebarContextProps | undefined>(\n undefined\n)\n\nexport const useSidebarContext = () => {\n const context = useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebarContext must be used within a SidebarProvider')\n }\n return context\n}\n\ntype SidebarRootProps = {\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n children: ReactNode\n}\n\nconst Root = ({ children, isOpen, setIsOpen }: SidebarRootProps) => {\n return (\n <SidebarContext.Provider\n value={{\n isOpen: isOpen,\n setIsOpen: () => setIsOpen(!isOpen),\n }}\n >\n {children}\n </SidebarContext.Provider>\n )\n}\n\ntype SidebarTriggerProps = {\n children: ReactNode\n}\n\nconst Trigger = ({ children }: SidebarTriggerProps) => {\n const { setIsOpen } = useSidebarContext()\n\n const onClickHandler = (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault()\n setIsOpen(true)\n }\n\n return (\n <div className={styles.trigger} onClick={onClickHandler}>\n {children}\n </div>\n )\n}\n\ntype SidebarContentProps = {\n position?: 'left' | 'right' | 'bottom' | 'top'\n children: ReactNode\n className?: string\n closeOnOutsideClick?: boolean\n}\n\nconst Content = ({\n children,\n className,\n closeOnOutsideClick = true,\n position = 'right',\n}: SidebarContentProps) => {\n const { isOpen, setIsOpen } = useSidebarContext()\n const contentRef = useRef<HTMLDivElement | null>(null)\n\n useEffect(() => {\n if (!closeOnOutsideClick) return\n\n const handleClickOutside = (event: Event) => {\n if (\n contentRef.current &&\n !contentRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false)\n }\n }\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [isOpen, setIsOpen, closeOnOutsideClick])\n\n return (\n <div\n ref={contentRef}\n className={classNames(\n styles[position],\n styles.content,\n {\n [styles.close]: !isOpen,\n [styles.open]: isOpen,\n },\n className\n )}\n >\n {children}\n </div>\n )\n}\n\ntype SidebarCloseProps = {\n children: ReactNode\n}\n\nconst Close = ({ children }: SidebarCloseProps) => {\n const { setIsOpen } = useSidebarContext()\n\n const onClickHandler = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n setIsOpen(false)\n }\n\n return (\n <button className={styles.close} onClick={onClickHandler}>\n {children}\n </button>\n )\n}\n\nexport const Sidebar = {\n Close,\n Content,\n Root,\n Trigger,\n}\n","import classNames from 'classnames'\nimport React, { ElementType, forwardRef, ReactNode, useState } from 'react'\n\nimport style from './switcher-buttons.module.scss'\n\ninterface ComponentValues {\n value: string\n [key: string]: any\n}\n\ninterface SwitcherProps {\n componentValues: ComponentValues[]\n defaultValue?: string\n onChange?: (value: string) => void\n selectedValue?: string\n component: ElementType\n containerProps?: React.HTMLAttributes<HTMLDivElement>\n slot?: ReactNode\n className?: string\n}\n\nexport const SwitcherButtons = forwardRef<HTMLDivElement, SwitcherProps>(\n (\n {\n className,\n component: Component,\n componentValues,\n containerProps,\n onChange,\n selectedValue,\n slot,\n },\n ref\n ) => {\n const [activeValue, setActiveValue] = useState<string>(\n selectedValue || componentValues[0].value\n )\n\n const onChangeHandler = (value: string) => {\n setActiveValue(value)\n if (onChange) onChange(value)\n }\n\n return (\n <div ref={ref} className={style.switcher} {...containerProps}>\n <div className={classNames(style.buttons, className)}>\n {componentValues.map((button, index) => (\n <Component\n key={index}\n {...button}\n selected={activeValue === button.value}\n onClick={() => onChangeHandler(button.value)}\n />\n ))}\n </div>\n {slot && (\n <>\n <div className={style.separator} />\n {slot}\n </>\n )}\n </div>\n )\n }\n)\n","import classNames from 'classnames'\nimport { FocusEventHandler, MouseEventHandler, ReactNode } from 'react'\n\nimport s from './table.module.scss'\n\ninterface Props {\n children: ReactNode\n className?: string\n}\n\ntype RootProps = Props\nconst Root = ({ children, className }: RootProps) => {\n return <table className={classNames(s.root, className)}>{children}</table>\n}\n\ntype CaptionProps = Props\nconst Caption = ({ children, className }: CaptionProps) => {\n return (\n <caption className={classNames(s.caption, className)}>{children}</caption>\n )\n}\n\ntype HeaderProps = Props\nconst Header = ({ children, className }: HeaderProps) => {\n return <thead className={classNames(s.header, className)}>{children}</thead>\n}\n\ninterface RowProps extends Props {\n onClick?: MouseEventHandler<HTMLTableRowElement> | undefined\n onDoubleClick?: MouseEventHandler<HTMLTableRowElement> | undefined\n onBlur?: FocusEventHandler<HTMLTableRowElement> | undefined\n}\nconst Row = ({\n children,\n className,\n onBlur,\n onClick,\n onDoubleClick,\n}: RowProps) => {\n return (\n <tr\n className={classNames(s.row, className)}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onBlur={onBlur}\n >\n {children}\n </tr>\n )\n}\n\ntype HeadProps = Props\nconst Head = ({ children, className }: HeadProps) => {\n return <th className={classNames(s.head, className)}>{children}</th>\n}\n\ntype BodyProps = Props\nconst Body = ({ children, className }: BodyProps) => {\n return <tbody className={classNames(s.body, className)}>{children}</tbody>\n}\n\ntype CellProps = Props\nconst Cell = ({ children, className }: CellProps) => {\n return <td className={classNames(s.cell, className)}>{children}</td>\n}\n\ntype FooterProps = Props\nconst Footer = ({ children, className }: FooterProps) => {\n return <tfoot className={classNames(s.footer, className)}>{children}</tfoot>\n}\n\nexport const Table = Object.assign(Root, {\n Body,\n Caption,\n Cell,\n Footer,\n Head,\n Header,\n Root,\n Row,\n})\n","import classNames from 'classnames'\nimport { X, Eye, Search, EyeOff } from 'lucide-react'\nimport {\n ChangeEvent,\n ForwardedRef,\n ReactNode,\n forwardRef,\n useState,\n} from 'react'\n\nimport s from './text-field.module.scss'\n\ntype SharedProps = {\n className?: string\n disabled?: boolean\n error?: string\n label?: string\n onBlur?: () => void\n onChange: (value: string) => void\n onFocus?: () => void\n placeholder?: string\n required?: boolean\n type?: 'text' | 'password' | 'email' | 'url' | string\n value: string\n}\n\nexport type TextFieldProps =\n | (SharedProps & {\n as?: 'input'\n inputType?: 'password' | 'search' | 'text'\n })\n | (SharedProps & { as: 'textarea' })\n\nexport type TextFieldComponent = {\n (\n props: Extract<TextFieldProps, { as: 'textarea' }> & {\n ref?: ForwardedRef<HTMLTextAreaElement>\n }\n ): ReactNode\n (\n props: Extract<TextFieldProps, { as?: 'input' }> & {\n ref?: ForwardedRef<HTMLInputElement>\n }\n ): ReactNode\n}\n\nexport const TextField: TextFieldComponent = forwardRef<\n HTMLInputElement | HTMLTextAreaElement,\n TextFieldProps\n>(({ className, error, label, onChange, required, ...props }, ref) => {\n const [showPassword, setShowPassword] = useState(false)\n\n const handleChange = (\n e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => onChange(e.currentTarget.value)\n\n const sharedClassName = classNames(s.input, error && s.error, className)\n let resolvedFragment: ReactNode\n\n if (!props.as || props.as === 'input') {\n const { inputType, ...restProps } = props\n const isSearch = inputType === 'search'\n const isPassword = inputType === 'password'\n const passwordFieldNextType = showPassword ? 'text' : 'password'\n\n resolvedFragment = (\n <>\n <input\n className={classNames(sharedClassName, isSearch && s.inputSearch)}\n onChange={handleChange}\n ref={ref as unknown as ForwardedRef<HTMLInputElement>}\n type={isPassword ? passwordFieldNextType : inputType}\n {...restProps}\n />\n {isPassword &&\n (showPassword ? (\n <Eye\n strokeWidth={2.5}\n width={20}\n className={classNames(s.button, label && s.buttonWithLabel)}\n onClick={() => setShowPassword((prev) => !prev)}\n />\n ) : (\n <EyeOff\n strokeWidth={2.5}\n width={20}\n className={classNames(s.button, label && s.buttonWithLabel)}\n onClick={() => setShowPassword((prev) => !prev)}\n />\n ))}\n {isSearch && props.value && (\n <X\n onClick={() => onChange('')}\n className={classNames(\n s.button,\n label && s.buttonWithLabel,\n s.resetSearchValue\n )}\n strokeWidth={2.5}\n size={24}\n />\n )}\n {isSearch && (\n <Search\n className={classNames(\n s.searchOutline,\n label && s.searchOutlineWithLabel\n )}\n size={20}\n />\n )}\n </>\n )\n }\n\n if (props.as === 'textarea') {\n resolvedFragment = (\n <textarea\n className={sharedClassName}\n onChange={handleChange}\n ref={ref as unknown as ForwardedRef<HTMLTextAreaElement>}\n {...props}\n />\n )\n }\n\n return (\n <div className={s.root}>\n <span className={s.title}>\n {label}\n {required && <span className={s.titleError}>*</span>}\n </span>\n <div className={s.inputContainer}>{resolvedFragment}</div>\n <div className={s.errorMessage}>{error}</div>\n </div>\n )\n})\n","import { createContext, useContext, useState, ReactNode } from 'react'\n\nexport type Theme = 'light' | 'dark'\nexport type ThemeValue = Theme | 'system'\n\ninterface ThemeContextType {\n theme: ThemeValue\n setTheme: (theme: ThemeValue) => void\n}\n\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined)\n\nexport const ThemeProvider = ({ children }: { children: ReactNode }) => {\n const defaultTheme = getTheme() || 'system'\n const [theme, setTheme] = useState<ThemeValue>(defaultTheme)\n\n return (\n <ThemeContext.Provider value={{ setTheme, theme }}>\n {children}\n </ThemeContext.Provider>\n )\n}\n\nexport const useTheme = () => {\n const context = useContext(ThemeContext)\n\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n setDataThemeHandler(context.theme)\n\n return context\n}\n\nconst setDataThemeHandler = (value: ThemeValue) => {\n const savedTheme = getTheme()\n\n saveTheme(value || savedTheme)\n}\n\nconst saveTheme = (theme: ThemeValue) => {\n const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)')\n\n if (theme === 'system') {\n const defaultTheme = prefersDarkScheme.matches ? 'dark' : 'light'\n localStorage.setItem('theme', theme)\n setTheme(defaultTheme)\n } else {\n localStorage.setItem('theme', theme)\n setTheme(theme)\n }\n}\n\nconst setTheme = (theme: Theme) => {\n document.documentElement.setAttribute('data-theme', theme)\n}\n\nconst getTheme = () => {\n const theme = localStorage.getItem('theme')\n if (theme) return theme as ThemeValue\n}\n","import classNames from 'classnames'\nimport { ReactNode, forwardRef } from 'react'\n\nimport s from './tool-icon-button.module.scss'\n\nexport type ToolbarSlot = 'icon' | 'keybinding'\nexport type ToolbarClasses = { [P in ToolbarSlot]?: string }\n\ninterface Props {\n title?: string\n icon: ReactNode\n keybinding?: string\n aria_label?: string\n aria_keyshortcuts?: string\n classes?: ToolbarClasses\n name?: string\n id?: string\n isActive?: boolean\n disabled?: boolean\n onClick?: () => void\n}\n\nexport const ToolIconButton = forwardRef<HTMLDivElement, Props>(\n (props, ref) => {\n const { classes, disabled, icon, isActive, keybinding, onClick, title } =\n props\n\n const styles = getClasses(classes, isActive, disabled)\n\n return (\n <label className={s.root} title={title}>\n <div\n className={styles.icon}\n ref={ref}\n tabIndex={disabled ? -1 : 0}\n role=\"button\"\n aria-pressed={isActive}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n >\n {icon}\n </div>\n {keybinding && <span className={styles.keybinding}>{keybinding}</span>}\n </label>\n )\n }\n)\n\nconst getClasses = (\n classes?: ToolbarClasses,\n isActive?: boolean,\n disabled?: boolean\n): Required<ToolbarClasses> => ({\n icon: classNames(\n s.icon,\n {\n [s.active]: isActive,\n [s.disabled]: disabled,\n },\n classes?.icon\n ),\n keybinding: classNames(s.keybinding, classes?.keybinding),\n})\n"],"names":["ButtonRender","children","className","Component","disabled","fullWidth","icon","shortcut","variant","props","ref","content","jsxs","s","jsx","classNames","Button","forwardRef","CardRoot","CardContent","ignoreHeader","CardHeader","Card","DropDownContext","createContext","useDropDownContext","context","useContext","openDropDownStack","Root","closeOnEsc","closeOnOutsideClick","defaultVisible","visible","setVisible","useState","rootRef","useRef","toggle","close","index","useEffect","handleClickOutside","event","handleKeyDown","styles","Trigger","Content","fixedPosition","horizontal","vertical","DropDown","DialogContext","React","externalIsOpen","onStateChange","dialogRef","internalIsOpen","setInternalIsOpen","isOpen","setIsOpen","state","as","closeOnBackdropClick","_","handleBackdropClick","e","Close","Title","Separator","Dialog","SidebarContext","useSidebarContext","onClickHandler","position","contentRef","Sidebar","SwitcherButtons","componentValues","containerProps","onChange","selectedValue","slot","activeValue","setActiveValue","onChangeHandler","value","style","button","Fragment","Caption","Header","Row","onBlur","onClick","onDoubleClick","Head","Body","Cell","Footer","Table","TextField","error","label","required","showPassword","setShowPassword","handleChange","sharedClassName","resolvedFragment","inputType","restProps","isSearch","isPassword","passwordFieldNextType","Eye","prev","EyeOff","X","Search","ThemeContext","ThemeProvider","defaultTheme","getTheme","theme","setTheme","useTheme","setDataThemeHandler","savedTheme","saveTheme","prefersDarkScheme","ToolIconButton","classes","isActive","keybinding","title","getClasses"],"mappings":";;;;;;;;;;;;;;GA+CaA,KAAiC,CAC5C;AAAA,EACE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAWC,IAAY;AAAA,EACvB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,GACAC,MACG;AACH,QAAMC,IACJ,gBAAAC,EAAC,OAAI,EAAA,WAAWC,EAAE,gBAChB,UAAA;AAAA,IAAC,gBAAAD,EAAA,OAAA,EAAI,WAAWC,EAAE,SACf,UAAA;AAAA,MAAAP;AAAA,MACAL;AAAA,IAAA,GACH;AAAA,IACC,gBAAAa,EAAA,OAAA,EAAI,WAAWD,EAAE,UAAW,UAASN,EAAA,CAAA;AAAA,EAAA,GACxC;AAIA,SAAA,gBAAAO;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,WAAWY;AAAA,QACTF,EAAEL,CAAO;AAAA,QACTH,KAAaQ,EAAE;AAAA,QACfT,KAAYS,EAAE;AAAA,QACdP,KAAQO,EAAE;AAAA,QACVX;AAAA,MACF;AAAA,MACA,UAAUI,IAAOK,IAAUV;AAAA,MAC3B,UAAAG;AAAA,MACA,KAAAM;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EACN;AAEJ,GAEaO,KAA0BC,EAAWjB,EAAY;;;;;GCjFjDkB,IAAWD;AAAA,EACtB,CAAC,EAAE,WAAAf,GAAW,GAAGO,KAASC,MACxB,gBAAAI,EAAC,OAAI,EAAA,WAAWC,EAAWF,EAAE,MAAMX,CAAS,GAAG,KAAAQ,GAAW,GAAGD,EAAO,CAAA;AAExE,GAIaU,KAAcF;AAAA,EACzB,CAAC,EAAE,WAAAf,GAAW,cAAAkB,GAAc,GAAGX,KAASC,MACtC,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTF,EAAE;AAAA,QACF,CAACO,KAAgBP,EAAE;AAAA,QACnBX;AAAA,MACF;AAAA,MACA,KAAAQ;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV,GAEaY,KAAaJ;AAAA,EACxB,CAAC,EAAE,WAAAf,GAAW,GAAGO,KAASC,MACxB,gBAAAI,EAAC,OAAI,EAAA,WAAWC,EAAWF,EAAE,QAAQX,CAAS,GAAG,KAAAQ,GAAW,GAAGD,EAAO,CAAA;AAE1E,GAEaa,KAAO,OAAO,OAAOJ,GAAU;AAAA,EAC1C,SAASC;AAAA,EACT,QAAQE;AAAA,EACR,MAAMH;AACR,CAAC;;;;;;;;;GCrBKK,IAAkBC;AAAA,EACtB;AACF,GAEMC,IAAqB,MAAM;AACzB,QAAAC,IAAUC,EAAWJ,CAAe;AAC1C,MAAI,CAACG;AACG,UAAA,IAAI,MAAM,wDAAwD;AAEnE,SAAAA;AACT,GASME,IAAmC,CAAC,GAEpCC,KAAO,CAAC;AAAA,EACZ,UAAA5B;AAAA,EACA,YAAA6B,IAAa;AAAA,EACb,qBAAAC,IAAsB;AAAA,EACtB,gBAAAC,IAAiB;AACnB,MAAiB;AACf,QAAM,CAACC,GAASC,CAAU,IAAIC,EAASH,CAAc,GAC/CI,IAAUC,EAAuB,IAAI,GAErCC,IAAS,MAAM;AACnB,IAAKL,IAMGM,EAAA,KALNL,EAAW,EAAI,GACXE,EAAQ,WACQR,EAAA,KAAKQ,EAAQ,OAAO;AAAA,EAK5C,GAEMG,IAAQ,MAAM;AAElB,QADAL,EAAW,EAAK,GACZE,EAAQ,SAAS;AACnB,YAAMI,IAAQZ,EAAkB,QAAQQ,EAAQ,OAAO;AACvD,MAAII,MAAU,MACMZ,EAAA,OAAOY,GAAO,CAAC;AAAA,IACnC;AAAA,EAEJ;AAEA,SAAAC,EAAU,MAAM;AACd,QAAI,CAACV,EAAqB;AAEpB,UAAAW,IAAqB,CAACC,MAAsB;AAC5C,MAAAP,EAAQ,WAAW,CAACA,EAAQ,QAAQ,SAASO,EAAM,MAAc,KAC7DJ,EAAA;AAAA,IAEV;AAES,oBAAA,iBAAiB,aAAaG,CAAkB,GAClD,MAAM;AACF,eAAA,oBAAoB,aAAaA,CAAkB;AAAA,IAC9D;AAAA,EAAA,GACC,CAACX,CAAmB,CAAC,GAExBU,EAAU,MAAM;AACd,QAAI,CAACX,EAAY;AAEX,UAAAc,IAAgB,CAACD,MAAyB;AAC1C,MAAAA,EAAM,QAAQ,YAAYV,KACPL,EAAkBA,EAAkB,SAAS,CAAC,MAC9CQ,EAAQ,WACrBG,EAAA;AAAA,IAGZ;AAES,oBAAA,iBAAiB,WAAWK,CAAa,GAC3C,MAAM;AACF,eAAA,oBAAoB,WAAWA,CAAa;AAAA,IACvD;AAAA,EAAA,GACC,CAACd,GAAYG,CAAO,CAAC,qBAGrBV,EAAgB,UAAhB,EAAyB,OAAO,EAAE,OAAAgB,GAAO,QAAAD,GAAQ,SAAAL,KAChD,UAAA,gBAAAnB,EAAC,SAAI,KAAKsB,GAAS,WAAWS,EAAO,MAClC,UAAA5C,EACH,CAAA,GACF;AAEJ,GAMM6C,KAAU,CAAC,EAAE,UAAA7C,QAA6B;AACxC,QAAA,EAAE,QAAAqC,EAAO,IAAIb,EAAmB;AACtC,SAAQ,gBAAAX,EAAA,OAAA,EAAI,SAASwB,GAAS,UAAArC,EAAS,CAAA;AACzC,GAUM8C,KAAU,CAAC;AAAA,EACf,UAAA9C;AAAA,EACA,WAAAC;AAAA,EACA,eAAA8C,IAAgB;AAAA,EAChB,YAAAC,IAAa;AAAA,EACb,UAAAC,IAAW;AACb,MAAoB;AACZ,QAAA,EAAE,SAAAjB,EAAQ,IAAIR,EAAmB;AAEnC,SAACQ,IAGH,gBAAAnB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT8B,EAAO;AAAA,QACPA,EAAOI,CAAU;AAAA,QACjBJ,EAAOK,CAAQ;AAAA,QACf,EAAE,CAACL,EAAO,aAAa,GAAGG,EAAc;AAAA,QACxC9C;AAAA,MACF;AAAA,MAEC,UAAAD;AAAA,IAAA;AAAA,EACH,IAbmB;AAevB,GAEakD,KAAW,EAAA,SAAEJ,IAASlB,MAAAA,aAAMiB,GAAQ;;;;;;;GClI3CM,IAAgBC,EAAM,cAAyC,IAAI,GAEnExB,KAAO,CAAC;AAAA,EACZ,UAAA5B;AAAA,EACA,QAAQqD;AAAA,EACR,eAAAC;AACF,MAAiB;AACT,QAAAC,IAAYnB,EAAiC,IAAI,GACjD,CAACoB,GAAgBC,CAAiB,IAAIvB,EAAS,EAAK,GAEpDwB,IAASL,MAAmB,SAAYA,IAAiBG,GACzDG,IAAY,CAACC,MAAmB;AACpC,IAAIP,MAAmB,UACrBI,EAAkBG,CAAK,GAErBN,KACFA,EAAcM,CAAK;AAAA,EAEvB;AAEA,2BACGT,EAAc,UAAd,EAAuB,OAAO,EAAE,WAAAI,GAAW,QAAAG,GAAQ,WAAAC,EAAU,GAC5D,4BAAC,OAAI,EAAA,WAAWf,EAAO,YAAa,UAAA5C,EAAS,CAAA,GAC/C;AAEJ,GAOM6C,KAAU,CAAmC;AAAA,EACjD,IAAAgB;AAAA,EACA,UAAA7D;AAAA,EACA,GAAGQ;AACL,MAA2D;AACnD,QAAAiB,IAAUC,EAAWyB,CAAa;AACxC,MAAI,CAAC1B,EAAe,OAAA,IAAI,MAAM,2CAA2C;AAEnE,QAAA,EAAE,WAAA8B,GAAW,WAAAI,EAAA,IAAclC;AAS/B,SAAA,gBAAAZ;AAAA,IARgBgD,KAAM;AAAA,IAQrB;AAAA,MACC,SAPgB,MAAM;AACxB,QAAAN,EAAU,SAAS,UAAU,GAC7BI,EAAU,EAAI;AAAA,MAChB;AAAA,MAKK,GAAGnD;AAAA,MACJ,WAAWoC,EAAO;AAAA,MAClB,MAAMiB,KAAMA,MAAO,WAAW,WAAW;AAAA,MAExC,UAAA7D;AAAA,IAAA;AAAA,EACH;AAEJ,GAQM8C,KAAU9B;AAAA,EACd,CAAC,EAAE,UAAAhB,GAAU,WAAAC,GAAW,sBAAA6D,IAAuB,GAAA,GAAQC,MAAM;AACrD,UAAAtC,IAAUC,EAAWyB,CAAa;AACxC,QAAI,CAAC1B,EAAe,OAAA,IAAI,MAAM,2CAA2C;AAEzE,UAAM,EAAE,WAAA8B,GAAW,QAAAG,GAAQ,WAAAC,EAAc,IAAAlC,GAEnCuC,IAAsB,CAACtB,MAAyC;AACpE,MAAIoB,KAAwBpB,EAAM,WAAWa,EAAU,YACrDA,EAAU,SAAS,MAAM,GACzBI,EAAU,EAAK;AAAA,IAEnB;AAGE,WAAA,gBAAA9C;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK0C;AAAA,QACL,WAAWzC,EAAW8B,EAAO,eAAe3C,CAAS;AAAA,QACrD,SAAS+D;AAAA,QACT,MAAMN;AAAA,QAEN,UAAA,gBAAA7C,EAAC,SAAI,SAAS,CAACoD,MAAMA,EAAE,mBAAoB,UAAAjE,EAAS,CAAA;AAAA,MAAA;AAAA,IACtD;AAAA,EAAA;AAGN,GAOMkE,KAAQ,CAAmC;AAAA,EAC/C,IAAAL;AAAA,EACA,UAAA7D;AAAA,EACA,GAAGQ;AACL,MAAyD;AACjD,QAAAiB,IAAUC,EAAWyB,CAAa;AACxC,MAAI,CAAC1B,EAAe,OAAA,IAAI,MAAM,yCAAyC;AAEjE,QAAA,EAAE,WAAA8B,GAAW,WAAAI,EAAA,IAAclC;AAS/B,SAAA,gBAAAZ;AAAA,IARgBgD,KAAM;AAAA,IAQrB;AAAA,MACC,SAPgB,MAAM;AACxB,QAAAN,EAAU,SAAS,MAAM,GACzBI,EAAU,EAAK;AAAA,MACjB;AAAA,MAKK,GAAGnD;AAAA,MACJ,WAAWoC,EAAO;AAAA,MAClB,MAAMiB,KAAMA,MAAO,WAAW,WAAW;AAAA,MAExC,UAAA7D;AAAA,IAAA;AAAA,EACH;AAEJ,GAOMmE,KAAQ,CAAC,EAAE,UAAAnE,GAAU,WAAAC,QAEvB,gBAAAY,EAAC,QAAG,WAAWC,EAAW8B,EAAO,aAAa3C,CAAS,GAAI,UAAAD,GAAS,GAMlEoE,KAAY,CAAC,CAAA,MACT,gBAAAvD,EAAA,OAAA,EAAI,WAAW+B,EAAO,gBAAiB,CAAA,GAGpCyB,KAAS;AAAA,EAAA,OACpBH;AAAAA,EAAA,SACApB;AAAAA,EAAA,MACAlB;AAAAA,EACA,WAAAwC;AAAA,EACA,OAAAD;AAAA,EACAtB,SAAAA;AACF;;;;;;;;;GC7JayB,IAAiB/C;AAAA,EAC5B;AACF,GAEagD,IAAoB,MAAM;AAC/B,QAAA9C,IAAUC,EAAW4C,CAAc;AACzC,MAAI,CAAC7C;AACG,UAAA,IAAI,MAAM,yDAAyD;AAEpE,SAAAA;AACT,GAQMG,KAAO,CAAC,EAAE,UAAA5B,GAAU,QAAA0D,GAAQ,WAAAC,QAE9B,gBAAA9C;AAAA,EAACyD,EAAe;AAAA,EAAf;AAAA,IACC,OAAO;AAAA,MACL,QAAAZ;AAAA,MACA,WAAW,MAAMC,EAAU,CAACD,CAAM;AAAA,IACpC;AAAA,IAEC,UAAA1D;AAAA,EAAA;AACH,GAQE6C,KAAU,CAAC,EAAE,UAAA7C,QAAoC;AAC/C,QAAA,EAAE,WAAA2D,EAAU,IAAIY,EAAkB,GAElCC,IAAiB,CAAC9B,MAAsC;AAC5D,IAAAA,EAAM,eAAe,GACrBiB,EAAU,EAAI;AAAA,EAChB;AAEA,2BACG,OAAI,EAAA,WAAWf,EAAO,SAAS,SAAS4B,GACtC,UAAAxE,GACH;AAEJ,GASM8C,KAAU,CAAC;AAAA,EACf,UAAA9C;AAAA,EACA,WAAAC;AAAA,EACA,qBAAA6B,IAAsB;AAAA,EACtB,UAAA2C,IAAW;AACb,MAA2B;AACzB,QAAM,EAAE,QAAAf,GAAQ,WAAAC,EAAU,IAAIY,EAAkB,GAC1CG,IAAatC,EAA8B,IAAI;AAErD,SAAAI,EAAU,MAAM;AACd,QAAI,CAACV,EAAqB;AAEpB,UAAAW,IAAqB,CAACC,MAAiB;AAEzC,MAAAgC,EAAW,WACX,CAACA,EAAW,QAAQ,SAAShC,EAAM,MAAc,KAEjDiB,EAAU,EAAK;AAAA,IAEnB;AAEA,WAAID,KACO,SAAA,iBAAiB,aAAajB,CAAkB,GAGpD,MAAM;AACF,eAAA,oBAAoB,aAAaA,CAAkB;AAAA,IAC9D;AAAA,EACC,GAAA,CAACiB,GAAQC,GAAW7B,CAAmB,CAAC,GAGzC,gBAAAjB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK6D;AAAA,MACL,WAAW5D;AAAA,QACT8B,EAAO6B,CAAQ;AAAA,QACf7B,EAAO;AAAA,QACP;AAAA,UACE,CAACA,EAAO,KAAK,GAAG,CAACc;AAAA,UACjB,CAACd,EAAO,IAAI,GAAGc;AAAA,QACjB;AAAA,QACAzD;AAAA,MACF;AAAA,MAEC,UAAAD;AAAA,IAAA;AAAA,EACH;AAEJ,GAMMkE,KAAQ,CAAC,EAAE,UAAAlE,QAAkC;AAC3C,QAAA,EAAE,WAAA2D,EAAU,IAAIY,EAAkB,GAElCC,IAAiB,CAAC9B,MAAyC;AAC/D,IAAAA,EAAM,eAAe,GACrBiB,EAAU,EAAK;AAAA,EACjB;AAEA,2BACG,UAAO,EAAA,WAAWf,EAAO,OAAO,SAAS4B,GACvC,UAAAxE,GACH;AAEJ,GAEa2E,KAAU;AAAA,EACrB,OAAAT;AAAA,EACA,SAAApB;AAAA,EAAA,MACAlB;AAAAA,EACA,SAAAiB;AACF;;;;GC7Ha+B,KAAkB5D;AAAA,EAC7B,CACE;AAAA,IACE,WAAAf;AAAA,IACA,WAAWC;AAAA,IACX,iBAAA2E;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,MAAAC;AAAA,KAEFxE,MACG;AACG,UAAA,CAACyE,GAAaC,CAAc,IAAIjD;AAAA,MACpC8C,KAAiBH,EAAgB,CAAC,EAAE;AAAA,IACtC,GAEMO,IAAkB,CAACC,MAAkB;AACzC,MAAAF,EAAeE,CAAK,GAChBN,OAAmBM,CAAK;AAAA,IAC9B;AAEA,6BACG,OAAI,EAAA,KAAA5E,GAAU,WAAW6E,EAAM,UAAW,GAAGR,GAC5C,UAAA;AAAA,MAAC,gBAAAjE,EAAA,OAAA,EAAI,WAAWC,EAAWwE,EAAM,SAASrF,CAAS,GAChD,UAAgB4E,EAAA,IAAI,CAACU,GAAQhD,MAC5B,gBAAA1B;AAAA,QAACX;AAAA,QAAA;AAAA,UAEE,GAAGqF;AAAA,UACJ,UAAUL,MAAgBK,EAAO;AAAA,UACjC,SAAS,MAAMH,EAAgBG,EAAO,KAAK;AAAA,QAAA;AAAA,QAHtChD;AAAA,MAKR,CAAA,GACH;AAAA,MACC0C,KAEG,gBAAAtE,EAAA6E,GAAA,EAAA,UAAA;AAAA,QAAC,gBAAA3E,EAAA,OAAA,EAAI,WAAWyE,EAAM,UAAW,CAAA;AAAA,QAChCL;AAAA,MAAA,EACH,CAAA;AAAA,IAAA,GAEJ;AAAA,EAAA;AAGN;;;;;;;;;;;GCrDMrD,IAAO,CAAC,EAAE,UAAA5B,GAAU,WAAAC,QACjB,gBAAAY,EAAC,WAAM,WAAWC,EAAWF,EAAE,MAAMX,CAAS,GAAI,UAAAD,GAAS,GAI9DyF,KAAU,CAAC,EAAE,UAAAzF,GAAU,WAAAC,QAEzB,gBAAAY,EAAC,aAAQ,WAAWC,EAAWF,EAAE,SAASX,CAAS,GAAI,UAAAD,GAAS,GAK9D0F,KAAS,CAAC,EAAE,UAAA1F,GAAU,WAAAC,QACnB,gBAAAY,EAAC,WAAM,WAAWC,EAAWF,EAAE,QAAQX,CAAS,GAAI,UAAAD,GAAS,GAQhE2F,KAAM,CAAC;AAAA,EACX,UAAA3F;AAAA,EACA,WAAAC;AAAA,EACA,QAAA2F;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AACF,MAEI,gBAAAjF;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAWF,EAAE,KAAKX,CAAS;AAAA,IACtC,SAAA4F;AAAA,IACA,eAAAC;AAAA,IACA,QAAAF;AAAA,IAEC,UAAA5F;AAAA,EAAA;AACH,GAKE+F,KAAO,CAAC,EAAE,UAAA/F,GAAU,WAAAC,QACjB,gBAAAY,EAAC,QAAG,WAAWC,EAAWF,EAAE,MAAMX,CAAS,GAAI,UAAAD,GAAS,GAI3DgG,KAAO,CAAC,EAAE,UAAAhG,GAAU,WAAAC,QACjB,gBAAAY,EAAC,WAAM,WAAWC,EAAWF,EAAE,MAAMX,CAAS,GAAI,UAAAD,GAAS,GAI9DiG,KAAO,CAAC,EAAE,UAAAjG,GAAU,WAAAC,QACjB,gBAAAY,EAAC,QAAG,WAAWC,EAAWF,EAAE,MAAMX,CAAS,GAAI,UAAAD,GAAS,GAI3DkG,KAAS,CAAC,EAAE,UAAAlG,GAAU,WAAAC,QACnB,gBAAAY,EAAC,WAAM,WAAWC,EAAWF,EAAE,QAAQX,CAAS,GAAI,UAAAD,GAAS,GAGzDmG,KAAQ,OAAO,OAAOvE,GAAM;AAAA,EACvC,MAAAoE;AAAA,EACA,SAAAP;AAAA,EACA,MAAAQ;AAAA,EACA,QAAAC;AAAA,EACA,MAAAH;AAAA,EACA,QAAAL;AAAA,EACA,MAAA9D;AAAA,EACA,KAAA+D;AACF,CAAC;;;;;;;;;;GClCYS,KAAgCpF,EAG3C,CAAC,EAAE,WAAAf,GAAW,OAAAoG,GAAO,OAAAC,GAAO,UAAAvB,GAAU,UAAAwB,GAAU,GAAG/F,EAAM,GAAGC,MAAQ;AACpE,QAAM,CAAC+F,GAAcC,CAAe,IAAIvE,EAAS,EAAK,GAEhDwE,IAAe,CACnBzC,MACGc,EAASd,EAAE,cAAc,KAAK,GAE7B0C,IAAkB7F,EAAWF,EAAE,OAAOyF,KAASzF,EAAE,OAAOX,CAAS;AACnE,MAAA2G;AAEJ,MAAI,CAACpG,EAAM,MAAMA,EAAM,OAAO,SAAS;AACrC,UAAM,EAAE,WAAAqG,GAAW,GAAGC,EAAA,IAActG,GAC9BuG,IAAWF,MAAc,UACzBG,IAAaH,MAAc,YAC3BI,IAAwBT,IAAe,SAAS;AAEtD,IAAAI,IAEI,gBAAAjG,EAAA6E,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAA3E;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWC,EAAW6F,GAAiBI,KAAYnG,EAAE,WAAW;AAAA,UAChE,UAAU8F;AAAA,UACV,KAAAjG;AAAA,UACA,MAAMuG,IAAaC,IAAwBJ;AAAA,UAC1C,GAAGC;AAAA,QAAA;AAAA,MACN;AAAA,MACCE,MACER,IACC,gBAAA3F;AAAA,QAACqG;AAAA,QAAA;AAAA,UACC,aAAa;AAAA,UACb,OAAO;AAAA,UACP,WAAWpG,EAAWF,EAAE,QAAQ0F,KAAS1F,EAAE,eAAe;AAAA,UAC1D,SAAS,MAAM6F,EAAgB,CAACU,MAAS,CAACA,CAAI;AAAA,QAAA;AAAA,MAAA,IAGhD,gBAAAtG;AAAA,QAACuG;AAAA,QAAA;AAAA,UACC,aAAa;AAAA,UACb,OAAO;AAAA,UACP,WAAWtG,EAAWF,EAAE,QAAQ0F,KAAS1F,EAAE,eAAe;AAAA,UAC1D,SAAS,MAAM6F,EAAgB,CAACU,MAAS,CAACA,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,MAGnDJ,KAAYvG,EAAM,SACjB,gBAAAK;AAAA,QAACwG;AAAA,QAAA;AAAA,UACC,SAAS,MAAMtC,EAAS,EAAE;AAAA,UAC1B,WAAWjE;AAAA,YACTF,EAAE;AAAA,YACF0F,KAAS1F,EAAE;AAAA,YACXA,EAAE;AAAA,UACJ;AAAA,UACA,aAAa;AAAA,UACb,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,MAEDmG,KACC,gBAAAlG;AAAA,QAACyG;AAAA,QAAA;AAAA,UACC,WAAWxG;AAAA,YACTF,EAAE;AAAA,YACF0F,KAAS1F,EAAE;AAAA,UACb;AAAA,UACA,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR,GAEJ;AAAA,EAAA;AAIA,SAAAJ,EAAM,OAAO,eAEboG,IAAA,gBAAA/F;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW8F;AAAA,MACX,UAAUD;AAAA,MACV,KAAAjG;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EACN,IAKD,gBAAAG,EAAA,OAAA,EAAI,WAAWC,EAAE,MAChB,UAAA;AAAA,IAAC,gBAAAD,EAAA,QAAA,EAAK,WAAWC,EAAE,OAChB,UAAA;AAAA,MAAA0F;AAAA,MACAC,KAAa,gBAAA1F,EAAA,QAAA,EAAK,WAAWD,EAAE,YAAY,UAAC,IAAA,CAAA;AAAA,IAAA,GAC/C;AAAA,IACC,gBAAAC,EAAA,OAAA,EAAI,WAAWD,EAAE,gBAAiB,UAAiBgG,GAAA;AAAA,IACnD,gBAAA/F,EAAA,OAAA,EAAI,WAAWD,EAAE,cAAe,UAAMyF,EAAA,CAAA;AAAA,EAAA,GACzC;AAEJ,CAAC,GC9HKkB,IAAehG,EAA4C,MAAS,GAE7DiG,KAAgB,CAAC,EAAE,UAAAxH,QAAwC;AAChE,QAAAyH,IAAeC,OAAc,UAC7B,CAACC,GAAOC,CAAQ,IAAI1F,EAAqBuF,CAAY;AAGzD,SAAA,gBAAA5G,EAAC0G,EAAa,UAAb,EAAsB,OAAO,EAAE,UAAAK,GAAU,OAAAD,KACvC,UAAA3H,GACH;AAEJ,GAEa6H,KAAW,MAAM;AACtB,QAAApG,IAAUC,EAAW6F,CAAY;AAEvC,MAAI,CAAC9F;AACG,UAAA,IAAI,MAAM,8CAA8C;AAGhE,SAAAqG,GAAoBrG,EAAQ,KAAK,GAE1BA;AACT,GAEMqG,KAAsB,CAACzC,MAAsB;AACjD,QAAM0C,IAAaL,EAAS;AAE5B,EAAAM,GAAU3C,KAAS0C,CAAU;AAC/B,GAEMC,KAAY,CAACL,MAAsB;AACjC,QAAAM,IAAoB,OAAO,WAAW,8BAA8B;AAE1E,MAAIN,MAAU,UAAU;AAChB,UAAAF,IAAeQ,EAAkB,UAAU,SAAS;AAC7C,iBAAA,QAAQ,SAASN,CAAK,GACnCC,EAASH,CAAY;AAAA,EAAA;AAER,iBAAA,QAAQ,SAASE,CAAK,GACnCC,EAASD,CAAK;AAElB,GAEMC,IAAW,CAACD,MAAiB;AACxB,WAAA,gBAAgB,aAAa,cAAcA,CAAK;AAC3D,GAEMD,IAAW,MAAM;AACf,QAAAC,IAAQ,aAAa,QAAQ,OAAO;AAC1C,MAAIA,EAAc,QAAAA;AACpB;;;;;;GCvCaO,KAAiBlH;AAAA,EAC5B,CAACR,GAAOC,MAAQ;AACR,UAAA,EAAE,SAAA0H,GAAS,UAAAhI,GAAU,MAAAE,GAAM,UAAA+H,GAAU,YAAAC,GAAY,SAAAxC,GAAS,OAAAyC,MAC9D9H,GAEIoC,IAAS2F,GAAWJ,GAASC,GAAUjI,CAAQ;AAErD,WACG,gBAAAQ,EAAA,SAAA,EAAM,WAAWC,EAAE,MAAM,OAAA0H,GACxB,UAAA;AAAA,MAAA,gBAAAzH;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW+B,EAAO;AAAA,UAClB,KAAAnC;AAAA,UACA,UAAUN,IAAW,KAAK;AAAA,UAC1B,MAAK;AAAA,UACL,gBAAciI;AAAA,UACd,iBAAejI;AAAA,UACf,SAAUA,IAAqB,SAAV0F;AAAA,UAEpB,UAAAxF;AAAA,QAAA;AAAA,MACH;AAAA,MACCgI,KAAe,gBAAAxH,EAAA,QAAA,EAAK,WAAW+B,EAAO,YAAa,UAAWyF,EAAA,CAAA;AAAA,IAAA,GACjE;AAAA,EAAA;AAGN,GAEME,KAAa,CACjBJ,GACAC,GACAjI,OAC8B;AAAA,EAC9B,MAAMW;AAAA,IACJF,EAAE;AAAA,IACF;AAAA,MACE,CAACA,EAAE,MAAM,GAAGwH;AAAA,MACZ,CAACxH,EAAE,QAAQ,GAAGT;AAAA,IAChB;AAAA,IACAgI,GAAS;AAAA,EACX;AAAA,EACA,YAAYrH,EAAWF,EAAE,YAAYuH,GAAS,UAAU;AAC1D;"}
|