@sito/dashboard 0.0.73 → 0.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/Badge-DSSlox-y.cjs +1 -0
  2. package/dist/Badge-DW9i2Rh6.js +10 -0
  3. package/dist/Badge.cjs +1 -1
  4. package/dist/Badge.js +1 -1
  5. package/dist/Button-BxyXUUMe.cjs +1 -0
  6. package/dist/Button-C6icqzyN.js +25 -0
  7. package/dist/Button.cjs +1 -1
  8. package/dist/Button.js +1 -1
  9. package/dist/Chip-6bEZ7uwv.js +43 -0
  10. package/dist/Chip-N4r2Xf9l.cjs +1 -0
  11. package/dist/Chip.cjs +1 -1
  12. package/dist/Chip.js +1 -1
  13. package/dist/FileInput-C7ZYKt_i.js +100 -0
  14. package/dist/FileInput-Cz2R3z3k.cjs +1 -0
  15. package/dist/Form.cjs +1 -1
  16. package/dist/Form.js +2 -2
  17. package/dist/{IconButton-BpsTEj0z.js → IconButton-CqPk_OXG.js} +9 -8
  18. package/dist/IconButton-DVZCHIHB.cjs +1 -0
  19. package/dist/IconButton.cjs +1 -1
  20. package/dist/IconButton.js +1 -1
  21. package/dist/Loading-BTwXNOEv.js +27 -0
  22. package/dist/Loading-C70yH2dC.cjs +1 -0
  23. package/dist/Loading.cjs +1 -1
  24. package/dist/Loading.js +1 -1
  25. package/dist/SelectInput--rJuMO4C.cjs +1 -0
  26. package/dist/SelectInput-2oVsA3EU.js +567 -0
  27. package/dist/{Table-BiqQ3QxX.js → Table-BfD01_pj.js} +311 -281
  28. package/dist/Table-CDjW3u13.cjs +1 -0
  29. package/dist/Table.cjs +1 -1
  30. package/dist/Table.js +1 -1
  31. package/dist/Tooltip-B7LXJBLs.cjs +1 -0
  32. package/dist/Tooltip-p-nQtZ5Y.js +38 -0
  33. package/dist/Tooltip.cjs +1 -1
  34. package/dist/Tooltip.js +1 -1
  35. package/dist/classNames-DDRjbGA1.js +20 -0
  36. package/dist/classNames-DHAzUjfZ.cjs +1 -0
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.js +76 -74
  39. package/dist/lib/classNames.d.ts +7 -0
  40. package/dist/lib/index.d.ts +1 -0
  41. package/dist/lib.cjs +1 -1
  42. package/dist/lib.js +4 -2
  43. package/package.json +1 -1
  44. package/dist/Badge-CIeYthEy.js +0 -9
  45. package/dist/Badge-Z78MlGoQ.cjs +0 -1
  46. package/dist/Button-BlYa3uPc.cjs +0 -1
  47. package/dist/Button-D73-swfo.js +0 -24
  48. package/dist/Chip-C5ogKbFn.js +0 -37
  49. package/dist/Chip-D17UJHW6.cjs +0 -1
  50. package/dist/FileInput-CqzVk1gQ.cjs +0 -1
  51. package/dist/FileInput-Cr4TxWUg.js +0 -93
  52. package/dist/IconButton-CVnmT2E9.cjs +0 -1
  53. package/dist/Loading-B_c_4XLr.js +0 -26
  54. package/dist/Loading-CNECRan-.cjs +0 -1
  55. package/dist/SelectInput-B9EEu-h1.cjs +0 -1
  56. package/dist/SelectInput-H421nC22.js +0 -525
  57. package/dist/Table-Bfq-ASnl.cjs +0 -1
  58. package/dist/Tooltip-B4E-FRwY.js +0 -37
  59. package/dist/Tooltip-BSKAgRkc.cjs +0 -1
@@ -0,0 +1,567 @@
1
+ import "./SelectInput.css";
2
+ import { jsxs as L, jsx as a, Fragment as Z } from "react/jsx-runtime";
3
+ import { c as i } from "./classNames-DDRjbGA1.js";
4
+ import { forwardRef as V, useState as R, useEffect as K, useMemo as $, useRef as B, useCallback as A, useLayoutEffect as ee } from "react";
5
+ import { C as q } from "./Chip-6bEZ7uwv.js";
6
+ import { I as te } from "./IconButton-CqPk_OXG.js";
7
+ import { C as ne } from "./Close-rKC9AcNX.js";
8
+ const ue = V(function(l, m) {
9
+ const {
10
+ state: f,
11
+ value: t,
12
+ onChange: r,
13
+ options: w = [],
14
+ name: S = "",
15
+ id: b = "",
16
+ label: N = "",
17
+ containerClassName: D = "",
18
+ inputContainerClassName: v = "",
19
+ helperText: I = "",
20
+ placeholder: F = "",
21
+ multiple: h = !1,
22
+ ...E
23
+ } = l, [o, g] = R("");
24
+ K(() => {
25
+ if (!h && t && !Array.isArray(t)) {
26
+ g(String(t.value ?? t.name ?? ""));
27
+ return;
28
+ }
29
+ g("");
30
+ }, [h, t]);
31
+ const [C, y] = R(!1), [k, x] = R(-1), s = $(
32
+ () => w.filter((e) => {
33
+ const n = String(e.value ?? e.name).toLowerCase().includes(o?.toLowerCase());
34
+ return Array.isArray(t) && t.length ? n && !t.some((u) => u.id === e.id) : t && !Array.isArray(t) ? n && t.id !== e.id : n;
35
+ }),
36
+ [w, t, o]
37
+ );
38
+ K(() => {
39
+ if (!C || !s.length) {
40
+ x(-1);
41
+ return;
42
+ }
43
+ x(0);
44
+ }, [C, s]);
45
+ const c = B(null), p = B(null), [H, T] = R(!1), d = B(null);
46
+ K(() => {
47
+ const e = (u) => {
48
+ c.current && !c.current.contains(u.target) && y(!1);
49
+ }, n = (u) => {
50
+ u.key === "Escape" && y(!1);
51
+ };
52
+ return document.addEventListener("mousedown", e), document.addEventListener("keydown", n), () => {
53
+ document.removeEventListener("mousedown", e), document.removeEventListener("keydown", n);
54
+ };
55
+ }, []);
56
+ const U = A((e) => {
57
+ g(e.target.value);
58
+ }, []), O = A(
59
+ (e) => {
60
+ e ? h ? (g(""), Array.isArray(t) && t.length ? r([...t, e]) : r([e])) : (g(String(e.name ?? e.value ?? "")), r(e)) : r(null), y(!1);
61
+ },
62
+ [h, r, t]
63
+ ), W = A(
64
+ (e) => {
65
+ if (!s.length) {
66
+ e.key === "Escape" && y(!1);
67
+ return;
68
+ }
69
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
70
+ if (e.preventDefault(), !C) {
71
+ y(!0), x(0);
72
+ return;
73
+ }
74
+ x((n) => {
75
+ const u = n >= 0 ? n : 0;
76
+ return e.key === "ArrowDown" ? (u + 1 + s.length) % s.length : (u - 1 + s.length) % s.length;
77
+ });
78
+ return;
79
+ }
80
+ if (e.key === "Enter" && C) {
81
+ e.preventDefault();
82
+ const n = k >= 0 ? k : 0;
83
+ O(s[n]);
84
+ return;
85
+ }
86
+ e.key === "Escape" && C && (e.preventDefault(), y(!1));
87
+ },
88
+ [
89
+ O,
90
+ k,
91
+ C,
92
+ s
93
+ ]
94
+ ), P = A(
95
+ (e) => {
96
+ if (!Array.isArray(t)) {
97
+ r(null);
98
+ return;
99
+ }
100
+ const n = t.filter((u, G) => G !== e);
101
+ n.length ? r(n) : r(null);
102
+ },
103
+ [r, t]
104
+ ), j = A(() => {
105
+ Array.isArray(t) && r([t[0]]);
106
+ }, [r, t]);
107
+ return ee(() => {
108
+ const e = d.current?.offsetWidth ?? 0, n = c.current?.offsetWidth ?? 0;
109
+ T(e > n * 0.4);
110
+ }, [t]), /* @__PURE__ */ L(
111
+ "div",
112
+ {
113
+ className: i("autocomplete-input-container", D),
114
+ ref: c,
115
+ children: [
116
+ /* @__PURE__ */ L("div", { className: "autocomplete-value-input-container", children: [
117
+ /* @__PURE__ */ a(
118
+ X,
119
+ {
120
+ state: f,
121
+ name: S,
122
+ id: b,
123
+ value: o,
124
+ onChange: U,
125
+ placeholder: F,
126
+ helperText: I,
127
+ onFocus: () => y(!0),
128
+ onKeyDown: W,
129
+ label: N,
130
+ containerClassName: i(
131
+ "autocomplete-text-input",
132
+ v
133
+ ),
134
+ ref: m ?? p,
135
+ ...E,
136
+ children: !h && t && !Array.isArray(t) && (t.value || t.name) && /* @__PURE__ */ a(
137
+ te,
138
+ {
139
+ icon: /* @__PURE__ */ a(ne, {}),
140
+ className: "autocomplete-delete-button",
141
+ onClick: (e) => {
142
+ O(), e.stopPropagation();
143
+ }
144
+ }
145
+ )
146
+ }
147
+ ),
148
+ h && Array.isArray(t) && t.length ? /* @__PURE__ */ a("ul", { ref: d, className: "autocomplete-value-container", children: H ? /* @__PURE__ */ L(Z, { children: [
149
+ /* @__PURE__ */ a("li", { children: /* @__PURE__ */ a(
150
+ q,
151
+ {
152
+ text: t[0]?.value ?? t[0]?.name,
153
+ onDelete: (e) => {
154
+ P(0), e.stopPropagation();
155
+ }
156
+ }
157
+ ) }),
158
+ t.length > 1 && /* @__PURE__ */ a("li", { children: /* @__PURE__ */ a(
159
+ q,
160
+ {
161
+ text: `+${t.length - 1}`,
162
+ onDelete: (e) => {
163
+ j(), e.stopPropagation();
164
+ }
165
+ }
166
+ ) })
167
+ ] }) : t.map((e, n) => /* @__PURE__ */ a("li", { children: /* @__PURE__ */ a(
168
+ q,
169
+ {
170
+ text: String(e.value ?? e.name),
171
+ onDelete: (u) => {
172
+ P(n), u.stopPropagation();
173
+ }
174
+ }
175
+ ) }, e.id ?? e.value ?? e.name)) }) : null
176
+ ] }),
177
+ C && /* @__PURE__ */ a(
178
+ "ul",
179
+ {
180
+ className: "autocomplete-suggestions-container",
181
+ style: { width: c.current?.offsetWidth },
182
+ children: s.map((e) => /* @__PURE__ */ a(
183
+ "li",
184
+ {
185
+ className: i(
186
+ "autocomplete-suggestion-item",
187
+ e.id === s[k]?.id ? "highlighted" : ""
188
+ ),
189
+ onMouseEnter: () => x(
190
+ s.findIndex((n) => n.id === e.id)
191
+ ),
192
+ onClick: (n) => {
193
+ O(e), n.stopPropagation();
194
+ },
195
+ children: e.value ?? e.name
196
+ },
197
+ e.id ?? e.value ?? e.name
198
+ ))
199
+ }
200
+ )
201
+ ]
202
+ }
203
+ );
204
+ });
205
+ var M = /* @__PURE__ */ ((l) => (l.error = "error", l.good = "good", l.default = "default", l))(M || {});
206
+ const _ = (l) => {
207
+ switch (l) {
208
+ case "error":
209
+ return "input-error";
210
+ case "good":
211
+ return "input-good";
212
+ default:
213
+ return "input-normal";
214
+ }
215
+ }, z = (l) => {
216
+ switch (l) {
217
+ case "error":
218
+ return "input-label-error";
219
+ case "good":
220
+ return "input-label-good";
221
+ default:
222
+ return "input-label-normal";
223
+ }
224
+ }, Q = (l) => {
225
+ switch (l) {
226
+ case "error":
227
+ return "input-helper-text-error";
228
+ case "good":
229
+ return "input-helper-text-good";
230
+ default:
231
+ return "input-helper-text-normal";
232
+ }
233
+ }, de = V(function(l, m) {
234
+ const {
235
+ checked: f,
236
+ onChange: t,
237
+ name: r = "",
238
+ id: w = "",
239
+ label: S = "",
240
+ state: b = M.default,
241
+ containerClassName: N = "",
242
+ inputClassName: D = "",
243
+ labelClassName: v = "",
244
+ ...I
245
+ } = l;
246
+ return /* @__PURE__ */ L("label", { className: i("input-check-container", N), children: [
247
+ /* @__PURE__ */ a(
248
+ "input",
249
+ {
250
+ id: w,
251
+ ref: m,
252
+ name: r,
253
+ type: "checkbox",
254
+ checked: f,
255
+ onChange: t,
256
+ className: i(
257
+ "input-check",
258
+ _(b),
259
+ D
260
+ ),
261
+ ...I
262
+ }
263
+ ),
264
+ /* @__PURE__ */ a(
265
+ "span",
266
+ {
267
+ className: i(
268
+ "input-check-label",
269
+ z(b),
270
+ v
271
+ ),
272
+ children: S
273
+ }
274
+ )
275
+ ] });
276
+ }), J = (l) => l == null ? !1 : Array.isArray(l) ? l.length > 0 : `${l}`.length > 0, X = V(function(l, m) {
277
+ const {
278
+ children: f,
279
+ state: t = M.default,
280
+ label: r = "",
281
+ containerClassName: w = "",
282
+ inputClassName: S = "",
283
+ labelClassName: b = "",
284
+ helperText: N = "",
285
+ helperTextClassName: D = "",
286
+ value: v,
287
+ defaultValue: I,
288
+ onChange: F,
289
+ onFocus: h,
290
+ onBlur: E,
291
+ ...o
292
+ } = l, g = v !== void 0, [C, y] = R(
293
+ () => J(I)
294
+ ), k = g ? J(v) : C, x = o.type === "date", s = !!o.placeholder || x, c = (p) => {
295
+ g || y(p.currentTarget.value.length > 0), F?.(p);
296
+ };
297
+ return /* @__PURE__ */ L("div", { className: i("text-input-container", w), children: [
298
+ /* @__PURE__ */ a(
299
+ "input",
300
+ {
301
+ ref: m,
302
+ defaultValue: I,
303
+ onChange: c,
304
+ onFocus: h,
305
+ onBlur: E,
306
+ ...g ? { value: v } : {},
307
+ className: i(
308
+ "text-input",
309
+ _(t),
310
+ S,
311
+ k ? "has-value" : "",
312
+ o.placeholder ? "has-placeholder" : "",
313
+ s ? "keep-label-up" : ""
314
+ ),
315
+ ...o
316
+ }
317
+ ),
318
+ !!r && /* @__PURE__ */ L(
319
+ "label",
320
+ {
321
+ htmlFor: o.id,
322
+ className: i(
323
+ "text-input-label",
324
+ z(t),
325
+ b
326
+ ),
327
+ children: [
328
+ r,
329
+ o.required ? " *" : ""
330
+ ]
331
+ }
332
+ ),
333
+ f,
334
+ !!N && /* @__PURE__ */ a(
335
+ "p",
336
+ {
337
+ className: i(
338
+ "text-input-helper-text",
339
+ Q(t),
340
+ D
341
+ ),
342
+ children: N
343
+ }
344
+ )
345
+ ] });
346
+ }), he = V(function(l, m) {
347
+ const {
348
+ value: f,
349
+ onChange: t,
350
+ options: r,
351
+ containerClassName: w = "",
352
+ inputClassName: S = "",
353
+ labelClassName: b = "",
354
+ helperText: N = "",
355
+ helperTextClassName: D = "",
356
+ label: v = "",
357
+ placeholder: I = "",
358
+ name: F = "",
359
+ id: h = "",
360
+ state: E = M.default,
361
+ native: o = !0,
362
+ disabled: g,
363
+ required: C,
364
+ autoFocus: y,
365
+ children: k,
366
+ ...x
367
+ } = l, s = B(null), [c, p] = R(!1), [H, T] = R(-1), d = $(
368
+ () => r.findIndex(
369
+ (e) => String(e.id) === String(f ?? r[0]?.id ?? "")
370
+ ),
371
+ [r, f]
372
+ ), U = $(
373
+ () => d >= 0 ? r[d] : void 0,
374
+ [r, d]
375
+ );
376
+ K(() => {
377
+ if (!(o || !c)) {
378
+ if (!r.length) {
379
+ T(-1);
380
+ return;
381
+ }
382
+ T(d >= 0 ? d : 0);
383
+ }
384
+ }, [o, r.length, d, c]), K(() => {
385
+ if (o) return;
386
+ const e = (n) => {
387
+ s.current && !s.current.contains(n.target) && p(!1);
388
+ };
389
+ return document.addEventListener("mousedown", e), () => {
390
+ document.removeEventListener("mousedown", e);
391
+ };
392
+ }, [o]);
393
+ const O = A(
394
+ (e) => {
395
+ m && (typeof m == "function" ? m(e) : m.current = e);
396
+ },
397
+ [m]
398
+ ), W = A(
399
+ (e) => {
400
+ if (!t) return;
401
+ const n = {
402
+ target: { value: String(e) },
403
+ currentTarget: { value: String(e) }
404
+ };
405
+ t(n);
406
+ },
407
+ [t]
408
+ ), P = A(
409
+ (e) => {
410
+ const n = r[e];
411
+ n && (W(n.id), p(!1));
412
+ },
413
+ [W, r]
414
+ ), j = A(
415
+ (e) => {
416
+ if (r.length) {
417
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
418
+ if (e.preventDefault(), !c) {
419
+ p(!0);
420
+ const n = d >= 0 ? d : 0;
421
+ T(n);
422
+ return;
423
+ }
424
+ T((n) => {
425
+ const u = n >= 0 ? n : d;
426
+ return e.key === "ArrowDown" ? (u + 1 + r.length) % r.length : (u - 1 + r.length) % r.length;
427
+ });
428
+ return;
429
+ }
430
+ if (e.key === "Enter") {
431
+ if (!c) {
432
+ e.preventDefault(), p(!0), T(d >= 0 ? d : 0);
433
+ return;
434
+ }
435
+ e.preventDefault(), P(H >= 0 ? H : 0);
436
+ return;
437
+ }
438
+ e.key === "Escape" && c && (e.preventDefault(), p(!1));
439
+ }
440
+ },
441
+ [H, r, P, d, c]
442
+ );
443
+ return o ? /* @__PURE__ */ L("div", { className: i("select-input-container", w), children: [
444
+ /* @__PURE__ */ a(
445
+ "select",
446
+ {
447
+ ...x,
448
+ id: h,
449
+ ref: O,
450
+ name: F,
451
+ value: f,
452
+ onChange: t,
453
+ className: i(
454
+ "select-input",
455
+ _(E),
456
+ "peer",
457
+ S
458
+ ),
459
+ children: r?.map((e) => /* @__PURE__ */ a("option", { value: e.id, children: e.value ?? e.name ?? e.id }, e.id))
460
+ }
461
+ ),
462
+ /* @__PURE__ */ a(
463
+ "label",
464
+ {
465
+ htmlFor: h,
466
+ className: i(
467
+ "select-input-label",
468
+ z(E),
469
+ b
470
+ ),
471
+ children: v
472
+ }
473
+ ),
474
+ k,
475
+ N && /* @__PURE__ */ a(
476
+ "p",
477
+ {
478
+ className: i(
479
+ "select-input-helper-text",
480
+ Q(E),
481
+ D
482
+ ),
483
+ children: N
484
+ }
485
+ )
486
+ ] }) : /* @__PURE__ */ L(
487
+ "div",
488
+ {
489
+ ref: s,
490
+ className: i("select-input-container", w),
491
+ children: [
492
+ /* @__PURE__ */ a(
493
+ "select",
494
+ {
495
+ ...x,
496
+ ref: O,
497
+ name: F,
498
+ id: h,
499
+ value: f,
500
+ onChange: t,
501
+ className: "select-input-native-hidden",
502
+ tabIndex: -1,
503
+ "aria-hidden": !0,
504
+ children: r?.map((e) => /* @__PURE__ */ a("option", { value: e.id, children: e.value ?? e.name ?? e.id }, e.id))
505
+ }
506
+ ),
507
+ /* @__PURE__ */ a(
508
+ X,
509
+ {
510
+ id: h,
511
+ name: F,
512
+ state: E,
513
+ value: String(U?.value ?? U?.name ?? ""),
514
+ readOnly: !0,
515
+ label: v,
516
+ helperText: N,
517
+ containerClassName: "select-input-text-container",
518
+ inputClassName: i("select-input-text", S),
519
+ labelClassName: b,
520
+ helperTextClassName: D,
521
+ placeholder: I,
522
+ disabled: g,
523
+ required: C,
524
+ autoFocus: y,
525
+ onClick: () => p((e) => !e),
526
+ onKeyDown: j,
527
+ onFocus: () => p(!0),
528
+ role: "combobox",
529
+ "aria-expanded": c,
530
+ "aria-haspopup": "listbox",
531
+ children: k
532
+ }
533
+ ),
534
+ c && /* @__PURE__ */ a("ul", { className: "select-input-options-container", role: "listbox", children: r.map((e, n) => {
535
+ const u = String(e.id) === String(f);
536
+ return /* @__PURE__ */ a(
537
+ "li",
538
+ {
539
+ role: "option",
540
+ "aria-selected": u,
541
+ className: i(
542
+ "select-input-option-item",
543
+ n === H ? "highlighted" : ""
544
+ ),
545
+ onMouseEnter: () => T(n),
546
+ onClick: (Y) => {
547
+ P(n), Y.stopPropagation();
548
+ },
549
+ children: e.value ?? e.name ?? e.id
550
+ },
551
+ e.id
552
+ );
553
+ }) })
554
+ ]
555
+ }
556
+ );
557
+ });
558
+ export {
559
+ ue as A,
560
+ de as C,
561
+ he as S,
562
+ X as T,
563
+ M as a,
564
+ Q as h,
565
+ _ as i,
566
+ z as l
567
+ };