chordia-ui 3.2.5 → 3.2.7
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/FileUploadingState.cjs.js +7 -0
- package/dist/FileUploadingState.cjs.js.map +1 -0
- package/dist/FileUploadingState.es.js +779 -0
- package/dist/FileUploadingState.es.js.map +1 -0
- package/dist/IntegrationCard.cjs.js +1 -1
- package/dist/IntegrationCard.cjs.js.map +1 -1
- package/dist/IntegrationCard.es.js +43 -37
- package/dist/IntegrationCard.es.js.map +1 -1
- package/dist/components/common.cjs.js +1 -1
- package/dist/components/common.es.js +22 -18
- package/dist/components/navigation.cjs.js +1 -1
- package/dist/components/navigation.cjs.js.map +1 -1
- package/dist/components/navigation.es.js +69 -63
- package/dist/components/navigation.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs2.js +1 -1
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.es.js +64 -60
- package/dist/index.es2.js +2 -2
- package/dist/index.es2.js.map +1 -1
- package/package.json +1 -1
- package/src/components/common/FileUploadingState.jsx +256 -0
- package/src/components/common/SideDrawer.jsx +74 -7
- package/src/components/common/index.js +2 -1
- package/src/components/index.js +1 -1
- package/src/components/layout/IntegrationCard.jsx +10 -4
- package/src/components/login/LoginPage.jsx +2 -2
- package/src/components/navigation/Sidebar.jsx +17 -11
- package/dist/SideDrawer.cjs.js +0 -2
- package/dist/SideDrawer.cjs.js.map +0 -1
- package/dist/SideDrawer.es.js +0 -486
- package/dist/SideDrawer.es.js.map +0 -1
package/dist/SideDrawer.es.js
DELETED
|
@@ -1,486 +0,0 @@
|
|
|
1
|
-
import { jsxs as d, jsx as e, Fragment as S } from "react/jsx-runtime";
|
|
2
|
-
import { useState as w, useRef as B, useMemo as E, useEffect as D } from "react";
|
|
3
|
-
import { Search as N, X as I, PlusCircle as O } from "lucide-react";
|
|
4
|
-
import { T } from "./TextInput.es.js";
|
|
5
|
-
import { S as F } from "./SmallButton.es.js";
|
|
6
|
-
const V = ({
|
|
7
|
-
options: c = [],
|
|
8
|
-
value: a = null,
|
|
9
|
-
onChange: n,
|
|
10
|
-
placeholder: s = "Search...",
|
|
11
|
-
disabled: u = !1,
|
|
12
|
-
showSuggestions: i = !0,
|
|
13
|
-
styling: y,
|
|
14
|
-
isAddNew: x = !1
|
|
15
|
-
}) => {
|
|
16
|
-
const [l, f] = w(""), [h, p] = w(!1), [o, m] = w(null), b = B(null), k = E(() => {
|
|
17
|
-
if (!i)
|
|
18
|
-
return [];
|
|
19
|
-
const t = l.toLowerCase();
|
|
20
|
-
return c.filter((r) => {
|
|
21
|
-
if (!r)
|
|
22
|
-
return !1;
|
|
23
|
-
const v = r.label || "", g = r.value || "";
|
|
24
|
-
return (v.toLowerCase().includes(t) || g.toLowerCase().includes(t)) && (!o || r.value !== o.value);
|
|
25
|
-
});
|
|
26
|
-
}, [l, c, i, o]), z = E(() => {
|
|
27
|
-
if (!x)
|
|
28
|
-
return !1;
|
|
29
|
-
const t = l.toLowerCase();
|
|
30
|
-
return c.some((r) => {
|
|
31
|
-
if (!r)
|
|
32
|
-
return !1;
|
|
33
|
-
const v = r.label || "", g = r.value || "";
|
|
34
|
-
return v.toLowerCase() === t || g.toLowerCase() === t;
|
|
35
|
-
});
|
|
36
|
-
}, [c, l, x]);
|
|
37
|
-
D(() => {
|
|
38
|
-
if (!h)
|
|
39
|
-
return;
|
|
40
|
-
const t = (r) => {
|
|
41
|
-
b.current && !b.current.contains(r.target) && p(!1);
|
|
42
|
-
};
|
|
43
|
-
return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
|
|
44
|
-
}, [h]);
|
|
45
|
-
const L = (t) => {
|
|
46
|
-
n == null || n(t), f(""), p(!1), m(null);
|
|
47
|
-
}, R = () => {
|
|
48
|
-
const t = { label: l, value: l };
|
|
49
|
-
m(t), n == null || n(t), p(!1), f("");
|
|
50
|
-
}, j = () => {
|
|
51
|
-
n == null || n(null), f(""), p(!1), m(null);
|
|
52
|
-
}, H = (t) => {
|
|
53
|
-
const r = t.target.value;
|
|
54
|
-
i ? (f(r), p(!0)) : x ? (f(r), p(r.length >= 3)) : n == null || n(r);
|
|
55
|
-
}, M = () => {
|
|
56
|
-
(i || x) && p(!0);
|
|
57
|
-
}, W = h && !a && l.length >= 3;
|
|
58
|
-
return /* @__PURE__ */ d("div", { className: "relative w-full", ref: b, children: [
|
|
59
|
-
/* @__PURE__ */ d(
|
|
60
|
-
"div",
|
|
61
|
-
{
|
|
62
|
-
className: y || "flex items-center gap-2 border rounded-md px-3 py-2 bg-white shadow-sm",
|
|
63
|
-
children: [
|
|
64
|
-
/* @__PURE__ */ e(N, { className: "w-4 h-4 text-gray-400" }),
|
|
65
|
-
/* @__PURE__ */ e("div", { className: "flex-1", children: i && a ? /* @__PURE__ */ e(
|
|
66
|
-
"div",
|
|
67
|
-
{
|
|
68
|
-
className: "text-gray-800 truncate",
|
|
69
|
-
title: a.label,
|
|
70
|
-
style: {
|
|
71
|
-
fontSize: "var(--text-sm)",
|
|
72
|
-
fontWeight: "var(--font-medium)",
|
|
73
|
-
letterSpacing: "var(--tracking-normal)",
|
|
74
|
-
lineHeight: "var(--leading-normal)",
|
|
75
|
-
textTransform: "none",
|
|
76
|
-
textDecoration: "none",
|
|
77
|
-
fontFamily: "var(--font-sans)"
|
|
78
|
-
},
|
|
79
|
-
children: a.label
|
|
80
|
-
}
|
|
81
|
-
) : /* @__PURE__ */ e(
|
|
82
|
-
T,
|
|
83
|
-
{
|
|
84
|
-
value: i || x ? l : a || "",
|
|
85
|
-
onChange: (t) => H({ target: { value: t } }),
|
|
86
|
-
placeholder: s,
|
|
87
|
-
disabled: u,
|
|
88
|
-
style: {
|
|
89
|
-
border: "none",
|
|
90
|
-
boxShadow: "none",
|
|
91
|
-
padding: 0,
|
|
92
|
-
backgroundColor: "transparent"
|
|
93
|
-
},
|
|
94
|
-
onFocus: M
|
|
95
|
-
}
|
|
96
|
-
) }),
|
|
97
|
-
(a || o) && /* @__PURE__ */ e(
|
|
98
|
-
F,
|
|
99
|
-
{
|
|
100
|
-
type: "button",
|
|
101
|
-
variant: "ghost",
|
|
102
|
-
size: "sm",
|
|
103
|
-
onClick: j,
|
|
104
|
-
style: {
|
|
105
|
-
padding: 0,
|
|
106
|
-
width: 20,
|
|
107
|
-
height: 20,
|
|
108
|
-
border: "none",
|
|
109
|
-
backgroundColor: "transparent",
|
|
110
|
-
color: "rgba(107,114,128,1)"
|
|
111
|
-
},
|
|
112
|
-
children: /* @__PURE__ */ e(I, { className: "w-3 h-3" })
|
|
113
|
-
}
|
|
114
|
-
)
|
|
115
|
-
]
|
|
116
|
-
}
|
|
117
|
-
),
|
|
118
|
-
W && /* @__PURE__ */ d(
|
|
119
|
-
"div",
|
|
120
|
-
{
|
|
121
|
-
className: "absolute w-full rounded-md border border-gray-300 bg-white shadow-lg custom-thin-scrollbar-library",
|
|
122
|
-
style: {
|
|
123
|
-
maxHeight: 240,
|
|
124
|
-
overflowY: "auto",
|
|
125
|
-
zIndex: 30
|
|
126
|
-
},
|
|
127
|
-
children: [
|
|
128
|
-
k.length > 0 && /* @__PURE__ */ e("ul", { className: "m-0 p-0 list-none", children: k.map((t) => /* @__PURE__ */ e(
|
|
129
|
-
"li",
|
|
130
|
-
{
|
|
131
|
-
onClick: () => L(t),
|
|
132
|
-
onMouseEnter: (r) => {
|
|
133
|
-
r.currentTarget.style.backgroundColor = "var(--hover-warm)";
|
|
134
|
-
},
|
|
135
|
-
onMouseLeave: (r) => {
|
|
136
|
-
r.currentTarget.style.backgroundColor = "transparent";
|
|
137
|
-
},
|
|
138
|
-
className: "cursor-pointer px-4 py-2",
|
|
139
|
-
title: t.label,
|
|
140
|
-
children: /* @__PURE__ */ e(
|
|
141
|
-
"span",
|
|
142
|
-
{
|
|
143
|
-
className: "truncate block w-full",
|
|
144
|
-
style: {
|
|
145
|
-
fontFamily: "var(--font-sans)",
|
|
146
|
-
color: "var(--text-base)",
|
|
147
|
-
fontSize: "var(--text-sm)",
|
|
148
|
-
fontWeight: "var(--font-medium)",
|
|
149
|
-
letterSpacing: "var(--tracking-normal)",
|
|
150
|
-
lineHeight: "var(--leading-normal)",
|
|
151
|
-
textTransform: "none",
|
|
152
|
-
textDecoration: "none"
|
|
153
|
-
},
|
|
154
|
-
children: t.label
|
|
155
|
-
}
|
|
156
|
-
)
|
|
157
|
-
},
|
|
158
|
-
t.value
|
|
159
|
-
)) }),
|
|
160
|
-
x && !z && !o && l.length >= 3 && /* @__PURE__ */ d(
|
|
161
|
-
F,
|
|
162
|
-
{
|
|
163
|
-
type: "button",
|
|
164
|
-
variant: "secondary",
|
|
165
|
-
onClick: R,
|
|
166
|
-
style: {
|
|
167
|
-
width: "100%",
|
|
168
|
-
justifyContent: "space-between",
|
|
169
|
-
padding: "8px 10px",
|
|
170
|
-
border: "none",
|
|
171
|
-
borderTop: "1px solid rgba(229, 231, 235, 1)",
|
|
172
|
-
borderRadius: 0,
|
|
173
|
-
backgroundColor: "transparent",
|
|
174
|
-
color: "rgba(107,114,128,1)"
|
|
175
|
-
},
|
|
176
|
-
children: [
|
|
177
|
-
/* @__PURE__ */ e("span", { children: `Add "${l}"` }),
|
|
178
|
-
/* @__PURE__ */ e(O, { className: "w-5 h-5 text-green-500" })
|
|
179
|
-
]
|
|
180
|
-
}
|
|
181
|
-
)
|
|
182
|
-
]
|
|
183
|
-
}
|
|
184
|
-
)
|
|
185
|
-
] });
|
|
186
|
-
};
|
|
187
|
-
function X({
|
|
188
|
-
open: c,
|
|
189
|
-
onClose: a,
|
|
190
|
-
title: n,
|
|
191
|
-
subtitle: s,
|
|
192
|
-
children: u,
|
|
193
|
-
footer: i,
|
|
194
|
-
width: y = 515,
|
|
195
|
-
height: x = 762,
|
|
196
|
-
toggleLabel: l,
|
|
197
|
-
toggleChecked: f,
|
|
198
|
-
onToggle: h
|
|
199
|
-
}) {
|
|
200
|
-
const p = B(null);
|
|
201
|
-
return D(() => {
|
|
202
|
-
if (!c)
|
|
203
|
-
return;
|
|
204
|
-
const o = (m) => {
|
|
205
|
-
m.key === "Escape" && (a == null || a());
|
|
206
|
-
};
|
|
207
|
-
return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
|
|
208
|
-
}, [c, a]), c ? /* @__PURE__ */ d(S, { children: [
|
|
209
|
-
/* @__PURE__ */ e(
|
|
210
|
-
"div",
|
|
211
|
-
{
|
|
212
|
-
onClick: a,
|
|
213
|
-
style: {
|
|
214
|
-
position: "fixed",
|
|
215
|
-
inset: 0,
|
|
216
|
-
zIndex: 1200,
|
|
217
|
-
background: "rgba(0, 0, 0, 0.20)"
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
),
|
|
221
|
-
/* @__PURE__ */ d(
|
|
222
|
-
"div",
|
|
223
|
-
{
|
|
224
|
-
ref: p,
|
|
225
|
-
style: {
|
|
226
|
-
position: "fixed",
|
|
227
|
-
top: "50%",
|
|
228
|
-
right: 0,
|
|
229
|
-
transform: "translateY(-50%)",
|
|
230
|
-
zIndex: 1201,
|
|
231
|
-
display: "flex",
|
|
232
|
-
width: y,
|
|
233
|
-
height: x,
|
|
234
|
-
maxHeight: "100vh",
|
|
235
|
-
padding: "20px",
|
|
236
|
-
flexDirection: "column",
|
|
237
|
-
alignItems: "flex-start",
|
|
238
|
-
gap: "20px",
|
|
239
|
-
borderRadius: "12px 0 0 12px",
|
|
240
|
-
background: "#FFF",
|
|
241
|
-
boxShadow: "648px 0 100px 0 rgba(0, 0, 0, 0.20)"
|
|
242
|
-
},
|
|
243
|
-
children: [
|
|
244
|
-
/* @__PURE__ */ d(
|
|
245
|
-
"div",
|
|
246
|
-
{
|
|
247
|
-
style: {
|
|
248
|
-
display: "flex",
|
|
249
|
-
alignItems: "center",
|
|
250
|
-
justifyContent: "space-between",
|
|
251
|
-
width: "100%",
|
|
252
|
-
flexShrink: 0
|
|
253
|
-
},
|
|
254
|
-
children: [
|
|
255
|
-
/* @__PURE__ */ e(
|
|
256
|
-
"h2",
|
|
257
|
-
{
|
|
258
|
-
style: {
|
|
259
|
-
fontSize: "20px",
|
|
260
|
-
fontWeight: 700,
|
|
261
|
-
color: "var(--Base-Strong, #0B0B0B)",
|
|
262
|
-
margin: 0,
|
|
263
|
-
lineHeight: 1.3
|
|
264
|
-
},
|
|
265
|
-
children: n
|
|
266
|
-
}
|
|
267
|
-
),
|
|
268
|
-
/* @__PURE__ */ e(
|
|
269
|
-
"button",
|
|
270
|
-
{
|
|
271
|
-
onClick: a,
|
|
272
|
-
style: {
|
|
273
|
-
display: "flex",
|
|
274
|
-
alignItems: "center",
|
|
275
|
-
justifyContent: "center",
|
|
276
|
-
width: "28px",
|
|
277
|
-
height: "28px",
|
|
278
|
-
border: "none",
|
|
279
|
-
background: "transparent",
|
|
280
|
-
color: "var(--Grey-Strong, #808183)",
|
|
281
|
-
cursor: "pointer",
|
|
282
|
-
borderRadius: "4px",
|
|
283
|
-
transition: "background 0.15s ease"
|
|
284
|
-
},
|
|
285
|
-
onMouseEnter: (o) => {
|
|
286
|
-
o.currentTarget.style.background = "#ECEEF2";
|
|
287
|
-
},
|
|
288
|
-
onMouseLeave: (o) => {
|
|
289
|
-
o.currentTarget.style.background = "transparent";
|
|
290
|
-
},
|
|
291
|
-
children: /* @__PURE__ */ e(I, { size: 20, strokeWidth: 2 })
|
|
292
|
-
}
|
|
293
|
-
)
|
|
294
|
-
]
|
|
295
|
-
}
|
|
296
|
-
),
|
|
297
|
-
/* @__PURE__ */ e(
|
|
298
|
-
"div",
|
|
299
|
-
{
|
|
300
|
-
style: {
|
|
301
|
-
width: "100%",
|
|
302
|
-
height: "1px",
|
|
303
|
-
background: "#ECEEF2",
|
|
304
|
-
flexShrink: 0
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
),
|
|
308
|
-
(s || l) && /* @__PURE__ */ d(
|
|
309
|
-
"div",
|
|
310
|
-
{
|
|
311
|
-
style: {
|
|
312
|
-
display: "flex",
|
|
313
|
-
alignItems: "center",
|
|
314
|
-
justifyContent: "space-between",
|
|
315
|
-
width: "100%",
|
|
316
|
-
gap: "12px",
|
|
317
|
-
flexShrink: 0
|
|
318
|
-
},
|
|
319
|
-
children: [
|
|
320
|
-
s && /* @__PURE__ */ e(
|
|
321
|
-
"p",
|
|
322
|
-
{
|
|
323
|
-
style: {
|
|
324
|
-
fontSize: "13px",
|
|
325
|
-
lineHeight: 1.5,
|
|
326
|
-
color: "var(--Grey-Strong, #808183)",
|
|
327
|
-
margin: 0,
|
|
328
|
-
flex: 1
|
|
329
|
-
},
|
|
330
|
-
children: s
|
|
331
|
-
}
|
|
332
|
-
),
|
|
333
|
-
l && /* @__PURE__ */ d(
|
|
334
|
-
"div",
|
|
335
|
-
{
|
|
336
|
-
style: {
|
|
337
|
-
display: "flex",
|
|
338
|
-
alignItems: "center",
|
|
339
|
-
gap: "8px",
|
|
340
|
-
flexShrink: 0
|
|
341
|
-
},
|
|
342
|
-
children: [
|
|
343
|
-
/* @__PURE__ */ e(
|
|
344
|
-
"button",
|
|
345
|
-
{
|
|
346
|
-
onClick: () => h == null ? void 0 : h(!f),
|
|
347
|
-
style: {
|
|
348
|
-
position: "relative",
|
|
349
|
-
width: "40px",
|
|
350
|
-
height: "22px",
|
|
351
|
-
borderRadius: "11px",
|
|
352
|
-
border: "none",
|
|
353
|
-
background: f ? "var(--Base-Strong, #0B0B0B)" : "var(--Base-Faint, #D9D9D9)",
|
|
354
|
-
cursor: "pointer",
|
|
355
|
-
transition: "background 0.2s ease",
|
|
356
|
-
padding: 0,
|
|
357
|
-
flexShrink: 0
|
|
358
|
-
},
|
|
359
|
-
children: /* @__PURE__ */ e(
|
|
360
|
-
"div",
|
|
361
|
-
{
|
|
362
|
-
style: {
|
|
363
|
-
position: "absolute",
|
|
364
|
-
top: "2px",
|
|
365
|
-
left: f ? "20px" : "2px",
|
|
366
|
-
width: "18px",
|
|
367
|
-
height: "18px",
|
|
368
|
-
borderRadius: "50%",
|
|
369
|
-
background: "#FFF",
|
|
370
|
-
transition: "left 0.2s ease",
|
|
371
|
-
boxShadow: "0 1px 3px rgba(0,0,0,0.15)"
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
)
|
|
375
|
-
}
|
|
376
|
-
),
|
|
377
|
-
/* @__PURE__ */ e(
|
|
378
|
-
"span",
|
|
379
|
-
{
|
|
380
|
-
style: {
|
|
381
|
-
fontSize: "13px",
|
|
382
|
-
fontWeight: 500,
|
|
383
|
-
color: "var(--Base-Strong, #1E1E1E)",
|
|
384
|
-
lineHeight: 1.4
|
|
385
|
-
},
|
|
386
|
-
children: l
|
|
387
|
-
}
|
|
388
|
-
)
|
|
389
|
-
]
|
|
390
|
-
}
|
|
391
|
-
)
|
|
392
|
-
]
|
|
393
|
-
}
|
|
394
|
-
),
|
|
395
|
-
/* @__PURE__ */ e(
|
|
396
|
-
"div",
|
|
397
|
-
{
|
|
398
|
-
style: {
|
|
399
|
-
flex: 1,
|
|
400
|
-
width: "100%",
|
|
401
|
-
overflowY: "auto",
|
|
402
|
-
display: "flex",
|
|
403
|
-
flexDirection: "column",
|
|
404
|
-
gap: "16px",
|
|
405
|
-
minHeight: 0
|
|
406
|
-
},
|
|
407
|
-
children: u
|
|
408
|
-
}
|
|
409
|
-
),
|
|
410
|
-
i && /* @__PURE__ */ d(S, { children: [
|
|
411
|
-
/* @__PURE__ */ e(
|
|
412
|
-
"div",
|
|
413
|
-
{
|
|
414
|
-
style: {
|
|
415
|
-
width: "100%",
|
|
416
|
-
height: "1px",
|
|
417
|
-
background: "#ECEEF2",
|
|
418
|
-
flexShrink: 0
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
),
|
|
422
|
-
/* @__PURE__ */ e(
|
|
423
|
-
"div",
|
|
424
|
-
{
|
|
425
|
-
style: {
|
|
426
|
-
display: "flex",
|
|
427
|
-
alignItems: "center",
|
|
428
|
-
justifyContent: "flex-end",
|
|
429
|
-
gap: "12px",
|
|
430
|
-
width: "100%",
|
|
431
|
-
flexShrink: 0
|
|
432
|
-
},
|
|
433
|
-
children: i
|
|
434
|
-
}
|
|
435
|
-
)
|
|
436
|
-
] })
|
|
437
|
-
]
|
|
438
|
-
}
|
|
439
|
-
)
|
|
440
|
-
] }) : null;
|
|
441
|
-
}
|
|
442
|
-
function $({
|
|
443
|
-
label: c,
|
|
444
|
-
variant: a = "secondary",
|
|
445
|
-
onClick: n,
|
|
446
|
-
disabled: s
|
|
447
|
-
}) {
|
|
448
|
-
const u = a === "primary";
|
|
449
|
-
return /* @__PURE__ */ e(
|
|
450
|
-
"button",
|
|
451
|
-
{
|
|
452
|
-
onClick: n,
|
|
453
|
-
disabled: s,
|
|
454
|
-
style: {
|
|
455
|
-
display: "flex",
|
|
456
|
-
height: "36px",
|
|
457
|
-
padding: "0 20px",
|
|
458
|
-
justifyContent: "center",
|
|
459
|
-
alignItems: "center",
|
|
460
|
-
gap: "8px",
|
|
461
|
-
borderRadius: "6px",
|
|
462
|
-
border: u ? "none" : "1px solid #D9D9D9",
|
|
463
|
-
background: u ? "var(--Base-Strong, #0B0B0B)" : "var(--Base-White, #FFF)",
|
|
464
|
-
color: u ? "#FFF" : "var(--Base-Strong, #1E1E1E)",
|
|
465
|
-
fontSize: "14px",
|
|
466
|
-
fontWeight: 600,
|
|
467
|
-
cursor: s ? "default" : "pointer",
|
|
468
|
-
opacity: s ? 0.5 : 1,
|
|
469
|
-
transition: "all 0.15s ease"
|
|
470
|
-
},
|
|
471
|
-
onMouseEnter: (i) => {
|
|
472
|
-
!s && !u && (i.currentTarget.style.background = "#ECEEF2");
|
|
473
|
-
},
|
|
474
|
-
onMouseLeave: (i) => {
|
|
475
|
-
!s && !u && (i.currentTarget.style.background = "var(--Base-White, #FFF)");
|
|
476
|
-
},
|
|
477
|
-
children: c
|
|
478
|
-
}
|
|
479
|
-
);
|
|
480
|
-
}
|
|
481
|
-
export {
|
|
482
|
-
V as A,
|
|
483
|
-
$ as D,
|
|
484
|
-
X as S
|
|
485
|
-
};
|
|
486
|
-
//# sourceMappingURL=SideDrawer.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SideDrawer.es.js","sources":["../src/components/common/AutoSearch.jsx","../src/components/common/SideDrawer.jsx"],"sourcesContent":["\"use client\";\n\nimport React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport { X, Search, PlusCircle } from \"lucide-react\";\nimport TextInput from \"../primitives/TextInput\";\nimport SmallButton from \"../primitives/SmallButton\";\n\nconst AutoSearch = ({\n options = [],\n value = null,\n onChange,\n placeholder = \"Search...\",\n disabled = false,\n showSuggestions = true,\n styling,\n isAddNew = false,\n}) => {\n const [search, setSearch] = useState(\"\");\n const [isOpen, setIsOpen] = useState(false);\n const [addedOption, setAddedOption] = useState(null);\n\n const containerRef = useRef(null);\n\n const filteredOptions = useMemo(() => {\n if (!showSuggestions) return [];\n const lower = search.toLowerCase();\n\n return options.filter((opt) => {\n if (!opt) return false;\n const label = opt.label || \"\";\n const val = opt.value || \"\";\n return (\n (label.toLowerCase().includes(lower) ||\n val.toLowerCase().includes(lower)) &&\n (!addedOption || opt.value !== addedOption.value)\n );\n });\n }, [search, options, showSuggestions, addedOption]);\n\n const exactMatchExists = useMemo(() => {\n if (!isAddNew) return false;\n const lower = search.toLowerCase();\n return options.some((opt) => {\n if (!opt) return false;\n const label = opt.label || \"\";\n const val = opt.value || \"\";\n return label.toLowerCase() === lower || val.toLowerCase() === lower;\n });\n }, [options, search, isAddNew]);\n\n // Close dropdown on outside click\n useEffect(() => {\n if (!isOpen) return;\n const handleClickOutside = (event) => {\n if (\n containerRef.current &&\n !containerRef.current.contains(event.target)\n ) {\n setIsOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [isOpen]);\n\n const handleSelect = (opt) => {\n onChange?.(opt);\n setSearch(\"\");\n setIsOpen(false);\n setAddedOption(null);\n };\n\n const handleAddNew = () => {\n const newOpt = { label: search, value: search };\n setAddedOption(newOpt);\n onChange?.(newOpt);\n setIsOpen(false);\n setSearch(\"\");\n };\n\n const handleClear = () => {\n onChange?.(null);\n setSearch(\"\");\n setIsOpen(false);\n setAddedOption(null);\n };\n\n const handleInputChange = (e) => {\n const newValue = e.target.value;\n if (showSuggestions) {\n setSearch(newValue);\n setIsOpen(true);\n } else if (isAddNew) {\n setSearch(newValue);\n setIsOpen(newValue.length >= 3);\n } else {\n onChange?.(newValue);\n }\n };\n\n const handleInputFocus = () => {\n if (showSuggestions || isAddNew) {\n setIsOpen(true);\n }\n };\n\n const shouldShowDropdown =\n isOpen && !value && (showSuggestions ? search.length >= 3 : search.length >= 3);\n\n return (\n <div className=\"relative w-full\" ref={containerRef}>\n <div\n className={\n styling\n ? styling\n : \"flex items-center gap-2 border rounded-md px-3 py-2 bg-white shadow-sm\"\n }\n >\n <Search className=\"w-4 h-4 text-gray-400\" />\n <div className=\"flex-1\">\n {showSuggestions && value ? (\n <div\n className=\"text-gray-800 truncate\"\n title={value.label}\n style={{\n fontSize: 'var(--text-sm)',\n fontWeight: 'var(--font-medium)',\n letterSpacing: 'var(--tracking-normal)',\n lineHeight: 'var(--leading-normal)',\n textTransform: 'none',\n textDecoration: 'none',\n fontFamily: 'var(--font-sans)',\n }}\n >\n {value.label}\n </div>\n ) : (\n <TextInput\n value={showSuggestions || isAddNew ? search : value || \"\"}\n onChange={(val) =>\n handleInputChange({ target: { value: val } })\n }\n placeholder={placeholder}\n disabled={disabled}\n style={{\n border: \"none\",\n boxShadow: \"none\",\n padding: 0,\n backgroundColor: \"transparent\",\n }}\n onFocus={handleInputFocus}\n />\n )}\n </div>\n {(value || addedOption) && (\n <SmallButton\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleClear}\n style={{\n padding: 0,\n width: 20,\n height: 20,\n border: \"none\",\n backgroundColor: \"transparent\",\n color: \"rgba(107,114,128,1)\",\n }}\n >\n <X className=\"w-3 h-3\" />\n </SmallButton>\n )}\n </div>\n\n {shouldShowDropdown && (\n <div\n className=\"absolute w-full rounded-md border border-gray-300 bg-white shadow-lg custom-thin-scrollbar-library\"\n style={{\n maxHeight: 240,\n overflowY: \"auto\",\n zIndex: 30,\n }}\n >\n {filteredOptions.length > 0 && (\n <ul className=\"m-0 p-0 list-none\">\n {filteredOptions.map((opt) => (\n <li\n key={opt.value}\n onClick={() => handleSelect(opt)}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = \"var(--hover-warm)\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = \"transparent\";\n }}\n className=\"cursor-pointer px-4 py-2\"\n title={opt.label}\n >\n <span\n className=\"truncate block w-full\"\n style={{\n fontFamily: \"var(--font-sans)\",\n color: \"var(--text-base)\",\n fontSize: \"var(--text-sm)\",\n fontWeight: \"var(--font-medium)\",\n letterSpacing: \"var(--tracking-normal)\",\n lineHeight: \"var(--leading-normal)\",\n textTransform: \"none\",\n textDecoration: \"none\",\n }}\n >\n {opt.label}\n </span>\n </li>\n ))}\n </ul>\n )}\n\n {isAddNew &&\n !exactMatchExists &&\n !addedOption &&\n search.length >= 3 && (\n <SmallButton\n type=\"button\"\n variant=\"secondary\"\n onClick={handleAddNew}\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n padding: \"8px 10px\",\n border: \"none\",\n borderTop: \"1px solid rgba(229, 231, 235, 1)\",\n borderRadius: 0,\n backgroundColor: \"transparent\",\n color: \"rgba(107,114,128,1)\",\n }}\n >\n <span>{`Add \"${search}\"`}</span>\n <PlusCircle className=\"w-5 h-5 text-green-500\" />\n </SmallButton>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default AutoSearch;\n\n","\"use client\";\n\nimport React, { useEffect, useRef } from \"react\";\nimport { X } from \"lucide-react\";\n\n/**\n * SideDrawer — slide-in panel from the right edge.\n *\n * Props:\n * - open boolean Whether the drawer is visible\n * - onClose function Close callback\n * - title string Header title\n * - subtitle string Optional description below the divider\n * - children ReactNode Drawer body content\n * - footer ReactNode Optional fixed footer (e.g. Cancel/Save buttons)\n * - width number|string Drawer width (default 515)\n * - height number|string Drawer height (default 762)\n * - toggleLabel string Optional toggle label (right side of subtitle row)\n * - toggleChecked boolean Toggle state\n * - onToggle function Toggle callback\n */\nexport default function SideDrawer({\n open,\n onClose,\n title,\n subtitle,\n children,\n footer,\n width = 515,\n height = 762,\n toggleLabel,\n toggleChecked,\n onToggle,\n}) {\n const drawerRef = useRef(null);\n\n // Close on Escape key\n useEffect(() => {\n if (!open) return;\n const handleKey = (e) => {\n if (e.key === \"Escape\") onClose?.();\n };\n document.addEventListener(\"keydown\", handleKey);\n return () => document.removeEventListener(\"keydown\", handleKey);\n }, [open, onClose]);\n\n if (!open) return null;\n\n return (\n <>\n {/* Backdrop */}\n <div\n onClick={onClose}\n style={{\n position: \"fixed\",\n inset: 0,\n zIndex: 1200,\n background: \"rgba(0, 0, 0, 0.20)\",\n }}\n />\n\n {/* Drawer panel */}\n <div\n ref={drawerRef}\n style={{\n position: \"fixed\",\n top: \"50%\",\n right: 0,\n transform: \"translateY(-50%)\",\n zIndex: 1201,\n display: \"flex\",\n width,\n height,\n maxHeight: \"100vh\",\n padding: \"20px\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n gap: \"20px\",\n borderRadius: \"12px 0 0 12px\",\n background: \"#FFF\",\n boxShadow: \"648px 0 100px 0 rgba(0, 0, 0, 0.20)\",\n }}\n >\n {/* Header: Title + Close */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n width: \"100%\",\n flexShrink: 0,\n }}\n >\n <h2\n style={{\n fontSize: \"20px\",\n fontWeight: 700,\n color: \"var(--Base-Strong, #0B0B0B)\",\n margin: 0,\n lineHeight: 1.3,\n }}\n >\n {title}\n </h2>\n <button\n onClick={onClose}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n background: \"transparent\",\n color: \"var(--Grey-Strong, #808183)\",\n cursor: \"pointer\",\n borderRadius: \"4px\",\n transition: \"background 0.15s ease\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.background = \"#ECEEF2\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = \"transparent\";\n }}\n >\n <X size={20} strokeWidth={2} />\n </button>\n </div>\n\n {/* Divider */}\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n background: \"#ECEEF2\",\n flexShrink: 0,\n }}\n />\n\n {/* Subtitle row with optional toggle */}\n {(subtitle || toggleLabel) && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n width: \"100%\",\n gap: \"12px\",\n flexShrink: 0,\n }}\n >\n {subtitle && (\n <p\n style={{\n fontSize: \"13px\",\n lineHeight: 1.5,\n color: \"var(--Grey-Strong, #808183)\",\n margin: 0,\n flex: 1,\n }}\n >\n {subtitle}\n </p>\n )}\n {toggleLabel && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"8px\",\n flexShrink: 0,\n }}\n >\n {/* Toggle switch */}\n <button\n onClick={() => onToggle?.(!toggleChecked)}\n style={{\n position: \"relative\",\n width: \"40px\",\n height: \"22px\",\n borderRadius: \"11px\",\n border: \"none\",\n background: toggleChecked\n ? \"var(--Base-Strong, #0B0B0B)\"\n : \"var(--Base-Faint, #D9D9D9)\",\n cursor: \"pointer\",\n transition: \"background 0.2s ease\",\n padding: 0,\n flexShrink: 0,\n }}\n >\n <div\n style={{\n position: \"absolute\",\n top: \"2px\",\n left: toggleChecked ? \"20px\" : \"2px\",\n width: \"18px\",\n height: \"18px\",\n borderRadius: \"50%\",\n background: \"#FFF\",\n transition: \"left 0.2s ease\",\n boxShadow: \"0 1px 3px rgba(0,0,0,0.15)\",\n }}\n />\n </button>\n <span\n style={{\n fontSize: \"13px\",\n fontWeight: 500,\n color: \"var(--Base-Strong, #1E1E1E)\",\n lineHeight: 1.4,\n }}\n >\n {toggleLabel}\n </span>\n </div>\n )}\n </div>\n )}\n\n {/* Body content — scrollable */}\n <div\n style={{\n flex: 1,\n width: \"100%\",\n overflowY: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"16px\",\n minHeight: 0,\n }}\n >\n {children}\n </div>\n\n {/* Footer */}\n {footer && (\n <>\n <div\n style={{\n width: \"100%\",\n height: \"1px\",\n background: \"#ECEEF2\",\n flexShrink: 0,\n }}\n />\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: \"12px\",\n width: \"100%\",\n flexShrink: 0,\n }}\n >\n {footer}\n </div>\n </>\n )}\n </div>\n </>\n );\n}\n\n/**\n * DrawerButton — standard button for use in SideDrawer footer.\n *\n * Props:\n * - label string\n * - variant \"primary\" | \"secondary\" (default \"secondary\")\n * - onClick function\n * - disabled boolean\n */\nexport function DrawerButton({\n label,\n variant = \"secondary\",\n onClick,\n disabled,\n}) {\n const isPrimary = variant === \"primary\";\n\n return (\n <button\n onClick={onClick}\n disabled={disabled}\n style={{\n display: \"flex\",\n height: \"36px\",\n padding: \"0 20px\",\n justifyContent: \"center\",\n alignItems: \"center\",\n gap: \"8px\",\n borderRadius: \"6px\",\n border: isPrimary ? \"none\" : \"1px solid #D9D9D9\",\n background: isPrimary\n ? \"var(--Base-Strong, #0B0B0B)\"\n : \"var(--Base-White, #FFF)\",\n color: isPrimary ? \"#FFF\" : \"var(--Base-Strong, #1E1E1E)\",\n fontSize: \"14px\",\n fontWeight: 600,\n cursor: disabled ? \"default\" : \"pointer\",\n opacity: disabled ? 0.5 : 1,\n transition: \"all 0.15s ease\",\n }}\n onMouseEnter={(e) => {\n if (!disabled && !isPrimary) {\n e.currentTarget.style.background = \"#ECEEF2\";\n }\n }}\n onMouseLeave={(e) => {\n if (!disabled && !isPrimary) {\n e.currentTarget.style.background = \"var(--Base-White, #FFF)\";\n }\n }}\n >\n {label}\n </button>\n );\n}\n"],"names":["AutoSearch","options","value","onChange","placeholder","disabled","showSuggestions","styling","isAddNew","search","setSearch","useState","isOpen","setIsOpen","addedOption","setAddedOption","containerRef","useRef","filteredOptions","useMemo","lower","opt","label","val","exactMatchExists","useEffect","handleClickOutside","event","handleSelect","handleAddNew","newOpt","handleClear","handleInputChange","e","newValue","handleInputFocus","shouldShowDropdown","jsxs","jsx","Search","TextInput","SmallButton","X","PlusCircle","SideDrawer","open","onClose","title","subtitle","children","footer","width","height","toggleLabel","toggleChecked","onToggle","drawerRef","handleKey","Fragment","DrawerButton","variant","onClick","isPrimary"],"mappings":"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"}
|