@yourbestsoft/studio-screen-ui-kit 0.0.9 → 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-Ch07gB2_.js → ToolIconButton-C4F-rxOr.js} +197 -185
- package/dist/ToolIconButton-C4F-rxOr.js.map +1 -0
- package/dist/components/drop-down/DropDown.d.ts +5 -0
- package/dist/components/table/Table.d.ts +3 -2
- package/dist/index.js +2 -2
- package/dist/index2.js +2 -2
- package/package.json +1 -1
- package/dist/ToolIconButton-Ch07gB2_.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,67 +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 = ({
|
|
350
|
+
children: t,
|
|
351
|
+
className: e,
|
|
352
|
+
onBlur: o,
|
|
353
|
+
onClick: s,
|
|
354
|
+
onDoubleClick: r
|
|
355
|
+
}) => /* @__PURE__ */ n(
|
|
345
356
|
"tr",
|
|
346
357
|
{
|
|
347
358
|
className: i(f.row, e),
|
|
348
|
-
onClick:
|
|
349
|
-
onDoubleClick:
|
|
359
|
+
onClick: s,
|
|
360
|
+
onDoubleClick: r,
|
|
361
|
+
onBlur: o,
|
|
350
362
|
children: t
|
|
351
363
|
}
|
|
352
|
-
),
|
|
353
|
-
Body:
|
|
354
|
-
Caption:
|
|
355
|
-
Cell:
|
|
356
|
-
Footer:
|
|
357
|
-
Head:
|
|
358
|
-
Header:
|
|
359
|
-
Root:
|
|
360
|
-
Row:
|
|
361
|
-
}),
|
|
362
|
-
inputContainer:
|
|
363
|
-
input:
|
|
364
|
-
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,
|
|
365
377
|
error: ve,
|
|
366
|
-
button:
|
|
367
|
-
buttonWithLabel:
|
|
368
|
-
resetSearchValue:
|
|
378
|
+
button: we,
|
|
379
|
+
buttonWithLabel: Ne,
|
|
380
|
+
resetSearchValue: ke,
|
|
369
381
|
searchOutline: xe,
|
|
370
|
-
errorMessage:
|
|
371
|
-
},
|
|
382
|
+
errorMessage: ye
|
|
383
|
+
}, ze = b(({ className: t, error: e, label: o, onChange: s, required: r, ...c }, a) => {
|
|
372
384
|
const [_, d] = T(!1), l = (p) => s(p.currentTarget.value), m = i(u.input, e && u.error, t);
|
|
373
385
|
let h;
|
|
374
|
-
if (!
|
|
375
|
-
const { inputType: p, ...K } =
|
|
376
|
-
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: [
|
|
377
389
|
/* @__PURE__ */ n(
|
|
378
390
|
"input",
|
|
379
391
|
{
|
|
380
392
|
className: i(m, D && u.inputSearch),
|
|
381
393
|
onChange: l,
|
|
382
394
|
ref: a,
|
|
383
|
-
type:
|
|
395
|
+
type: q ? X : p,
|
|
384
396
|
...K
|
|
385
397
|
}
|
|
386
398
|
),
|
|
387
|
-
|
|
399
|
+
q && (_ ? /* @__PURE__ */ n(
|
|
388
400
|
J,
|
|
389
401
|
{
|
|
390
402
|
strokeWidth: 2.5,
|
|
@@ -401,7 +413,7 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
401
413
|
onClick: () => d(($) => !$)
|
|
402
414
|
}
|
|
403
415
|
)),
|
|
404
|
-
D &&
|
|
416
|
+
D && c.value && /* @__PURE__ */ n(
|
|
405
417
|
U,
|
|
406
418
|
{
|
|
407
419
|
onClick: () => s(""),
|
|
@@ -426,54 +438,54 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
426
438
|
)
|
|
427
439
|
] });
|
|
428
440
|
}
|
|
429
|
-
return
|
|
441
|
+
return c.as === "textarea" && (h = /* @__PURE__ */ n(
|
|
430
442
|
"textarea",
|
|
431
443
|
{
|
|
432
444
|
className: m,
|
|
433
445
|
onChange: l,
|
|
434
446
|
ref: a,
|
|
435
|
-
...
|
|
447
|
+
...c
|
|
436
448
|
}
|
|
437
449
|
)), /* @__PURE__ */ g("div", { className: u.root, children: [
|
|
438
450
|
/* @__PURE__ */ g("span", { className: u.title, children: [
|
|
439
451
|
o,
|
|
440
|
-
|
|
452
|
+
r && /* @__PURE__ */ n("span", { className: u.titleError, children: "*" })
|
|
441
453
|
] }),
|
|
442
454
|
/* @__PURE__ */ n("div", { className: u.inputContainer, children: h }),
|
|
443
455
|
/* @__PURE__ */ n("div", { className: u.errorMessage, children: e })
|
|
444
456
|
] });
|
|
445
|
-
}), j = W(void 0),
|
|
457
|
+
}), j = W(void 0), Ke = ({ children: t }) => {
|
|
446
458
|
const e = z() || "system", [o, s] = T(e);
|
|
447
459
|
return /* @__PURE__ */ n(j.Provider, { value: { setTheme: s, theme: o }, children: t });
|
|
448
|
-
},
|
|
460
|
+
}, Xe = () => {
|
|
449
461
|
const t = w(j);
|
|
450
462
|
if (!t)
|
|
451
463
|
throw new Error("useTheme must be used within a ThemeProvider");
|
|
452
|
-
return
|
|
453
|
-
}, ye = (t) => {
|
|
454
|
-
const e = z();
|
|
455
|
-
Te(t || e);
|
|
464
|
+
return Te(t.theme), t;
|
|
456
465
|
}, Te = (t) => {
|
|
466
|
+
const e = z();
|
|
467
|
+
Re(t || e);
|
|
468
|
+
}, Re = (t) => {
|
|
457
469
|
const e = window.matchMedia("(prefers-color-scheme: dark)");
|
|
458
470
|
if (t === "system") {
|
|
459
471
|
const o = e.matches ? "dark" : "light";
|
|
460
|
-
localStorage.setItem("theme", t),
|
|
472
|
+
localStorage.setItem("theme", t), A(o);
|
|
461
473
|
} else
|
|
462
|
-
localStorage.setItem("theme", t),
|
|
463
|
-
},
|
|
474
|
+
localStorage.setItem("theme", t), A(t);
|
|
475
|
+
}, A = (t) => {
|
|
464
476
|
document.documentElement.setAttribute("data-theme", t);
|
|
465
477
|
}, z = () => {
|
|
466
478
|
const t = localStorage.getItem("theme");
|
|
467
479
|
if (t) return t;
|
|
468
|
-
},
|
|
469
|
-
root:
|
|
470
|
-
icon:
|
|
471
|
-
active:
|
|
472
|
-
disabled:
|
|
473
|
-
keybinding:
|
|
474
|
-
},
|
|
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(
|
|
475
487
|
(t, e) => {
|
|
476
|
-
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);
|
|
477
489
|
return /* @__PURE__ */ g("label", { className: y.root, title: d, children: [
|
|
478
490
|
/* @__PURE__ */ n(
|
|
479
491
|
"div",
|
|
@@ -482,16 +494,16 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
482
494
|
ref: e,
|
|
483
495
|
tabIndex: s ? -1 : 0,
|
|
484
496
|
role: "button",
|
|
485
|
-
"aria-pressed":
|
|
497
|
+
"aria-pressed": c,
|
|
486
498
|
"aria-disabled": s,
|
|
487
499
|
onClick: s ? void 0 : _,
|
|
488
|
-
children:
|
|
500
|
+
children: r
|
|
489
501
|
}
|
|
490
502
|
),
|
|
491
503
|
a && /* @__PURE__ */ n("span", { className: l.keybinding, children: a })
|
|
492
504
|
] });
|
|
493
505
|
}
|
|
494
|
-
),
|
|
506
|
+
), We = (t, e, o) => ({
|
|
495
507
|
icon: i(
|
|
496
508
|
y.icon,
|
|
497
509
|
{
|
|
@@ -503,22 +515,22 @@ const Z = "_text_4m304_1", tt = "_tertiary_4m304_1", et = "_secondary_4m304_1",
|
|
|
503
515
|
keybinding: i(y.keybinding, t?.keybinding)
|
|
504
516
|
});
|
|
505
517
|
export {
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
518
|
+
He as B,
|
|
519
|
+
H as C,
|
|
520
|
+
Ae as D,
|
|
509
521
|
V as S,
|
|
510
|
-
|
|
522
|
+
je as T,
|
|
511
523
|
it as a,
|
|
512
524
|
ht as b,
|
|
513
525
|
mt as c,
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
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
|
|
523
535
|
};
|
|
524
|
-
//# 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 {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MouseEventHandler, ReactNode } from 'react';
|
|
1
|
+
import { FocusEventHandler, MouseEventHandler, ReactNode } from 'react';
|
|
2
2
|
interface Props {
|
|
3
3
|
children: ReactNode;
|
|
4
4
|
className?: string;
|
|
@@ -9,6 +9,7 @@ type HeaderProps = Props;
|
|
|
9
9
|
interface RowProps extends Props {
|
|
10
10
|
onClick?: MouseEventHandler<HTMLTableRowElement> | undefined;
|
|
11
11
|
onDoubleClick?: MouseEventHandler<HTMLTableRowElement> | undefined;
|
|
12
|
+
onBlur?: FocusEventHandler<HTMLTableRowElement> | undefined;
|
|
12
13
|
}
|
|
13
14
|
type HeadProps = Props;
|
|
14
15
|
type BodyProps = Props;
|
|
@@ -22,6 +23,6 @@ export declare const Table: (({ children, className }: RootProps) => import("rea
|
|
|
22
23
|
Head: ({ children, className }: HeadProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
24
|
Header: ({ children, className }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
25
|
Root: ({ children, className }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
-
Row: ({ children, className, onClick, onDoubleClick }: RowProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
Row: ({ children, className, onBlur, onClick, onDoubleClick, }: RowProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
27
|
};
|
|
27
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-Ch07gB2_.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 { 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}\nconst Row = ({ children, className, onClick, onDoubleClick }: RowProps) => {\n return (\n <tr\n className={classNames(s.row, className)}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\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","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":"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"}
|