@adamosuiteservices/ui 2.18.5 → 2.19.0
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/README.md +1 -1
- package/dist/accordion-rounded.cjs +8 -8
- package/dist/accordion-rounded.js +12 -12
- package/dist/alert.cjs +32 -23
- package/dist/alert.js +53 -43
- package/dist/amount-input.cjs +8 -0
- package/dist/amount-input.js +191 -0
- package/dist/avatar.cjs +7 -7
- package/dist/avatar.js +18 -18
- package/dist/badge.cjs +24 -28
- package/dist/badge.js +45 -42
- package/dist/breadcrumb.cjs +2 -3
- package/dist/breadcrumb.js +16 -17
- package/dist/button-CXFZVTXF.cjs +87 -0
- package/dist/button-dT8nqgU3.js +156 -0
- package/dist/button-group.cjs +1 -1
- package/dist/button-group.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/{calendar-xBaFu2sB.js → calendar-6NvJv-sP.js} +238 -239
- package/dist/{calendar-Dorq3-wv.cjs → calendar-B8S5a0TG.cjs} +20 -22
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.js +1 -1
- package/dist/card.cjs +3 -3
- package/dist/card.js +4 -4
- package/dist/checkbox-BBlvCoB1.cjs +24 -0
- package/dist/{checkbox-DL_jFvgl.js → checkbox-BuzBXARX.js} +54 -52
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/colors.css +1 -1
- package/dist/combobox-B002BLsg.js +692 -0
- package/dist/combobox-B2BkUl7v.cjs +57 -0
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.js +1 -1
- package/dist/components/layout/sidebar/sidebar.d.ts +2 -1
- package/dist/components/layout/toaster/toaster.d.ts +1 -1
- package/dist/components/ui/alert/alert.d.ts +1 -1
- package/dist/components/ui/amount-input/amount-input.d.ts +32 -0
- package/dist/components/ui/amount-input/index.d.ts +1 -0
- package/dist/components/ui/badge/badge.d.ts +3 -2
- package/dist/components/ui/calendar/calendar.d.ts +1 -1
- package/dist/components/ui/combobox/combobox.d.ts +3 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +3 -1
- package/dist/components/ui/selectable-card/index.d.ts +1 -0
- package/dist/components/ui/selectable-card/selectable-card.d.ts +22 -0
- package/dist/components/ui/timeline/index.d.ts +1 -0
- package/dist/components/ui/timeline/timeline.d.ts +30 -0
- package/dist/components/ui/typography/typography.d.ts +1 -1
- package/dist/context-menu.cjs +18 -19
- package/dist/context-menu.js +36 -37
- package/dist/date-picker-selector.cjs +1 -1
- package/dist/date-picker-selector.js +3 -3
- package/dist/dialog.cjs +7 -9
- package/dist/dialog.js +36 -38
- package/dist/dropdown-menu.cjs +57 -36
- package/dist/dropdown-menu.js +205 -172
- package/dist/field.cjs +12 -7
- package/dist/field.js +51 -45
- package/dist/file-upload-v2.cjs +11 -5
- package/dist/file-upload-v2.js +75 -60
- package/dist/file-upload.cjs +11 -5
- package/dist/file-upload.js +117 -109
- package/dist/index-BBT2EGq8.js +18 -0
- package/dist/index-DCsgSkBj.cjs +1 -0
- package/dist/input-8sEO5zwD.js +44 -0
- package/dist/input-AONeSXcs.cjs +22 -0
- package/dist/input-group-13VFVAxD.cjs +86 -0
- package/dist/input-group-D4S18xiq.js +240 -0
- package/dist/input-group.cjs +1 -84
- package/dist/input-group.js +7 -234
- package/dist/input-otp.cjs +5 -7
- package/dist/input-otp.js +58 -60
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/kbd.cjs +6 -7
- package/dist/kbd.js +14 -15
- package/dist/{label-DqfX9cHc.cjs → label-B7Z1D5-Q.cjs} +5 -4
- package/dist/{label-C6zVnc3d.js → label-_BWRIH7C.js} +14 -13
- package/dist/label.cjs +1 -1
- package/dist/label.js +1 -1
- package/dist/pagination.cjs +5 -5
- package/dist/pagination.js +18 -18
- package/dist/radio-group.cjs +12 -9
- package/dist/radio-group.js +65 -62
- package/dist/select.cjs +18 -16
- package/dist/select.js +17 -15
- package/dist/selectable-card.cjs +29 -0
- package/dist/selectable-card.js +129 -0
- package/dist/separator-DXdc7LcC.cjs +7 -0
- package/dist/{separator-CsaqP20m.js → separator-DZfXXbNt.js} +1 -1
- package/dist/separator.cjs +1 -1
- package/dist/separator.js +1 -1
- package/dist/{sheet-C9vce0ut.js → sheet-DNwg4a6M.js} +8 -5
- package/dist/{sheet-Cnq7TCzu.cjs → sheet-va7o2x0w.cjs} +10 -10
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/sidebar.cjs +10 -10
- package/dist/sidebar.js +83 -92
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/switch.cjs +2 -4
- package/dist/switch.js +71 -73
- package/dist/table.cjs +14 -14
- package/dist/table.js +12 -12
- package/dist/tabs-underline.cjs +11 -15
- package/dist/tabs-underline.js +20 -24
- package/dist/tabs.cjs +10 -14
- package/dist/tabs.js +20 -24
- package/dist/tailwind-colors.css +1 -1
- package/dist/tailwind-theme.css +1 -1
- package/dist/textarea-BSooGyp-.cjs +18 -0
- package/dist/textarea-D_sj6ivo.js +39 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/themes.css +1 -1
- package/dist/timeline.cjs +4 -0
- package/dist/timeline.js +189 -0
- package/dist/toaster.cjs +5 -4
- package/dist/toaster.js +33 -32
- package/dist/toggle.cjs +4 -4
- package/dist/toggle.js +17 -17
- package/dist/tooltip.cjs +5 -6
- package/dist/tooltip.js +4 -5
- package/docs/components/layout/sidebar.md +81 -53
- package/docs/components/layout/toaster.md +35 -55
- package/docs/components/ui/accordion-rounded.md +12 -11
- package/docs/components/ui/alert.md +66 -36
- package/docs/components/ui/amount-input.md +229 -0
- package/docs/components/ui/avatar.md +28 -32
- package/docs/components/ui/badge.md +85 -32
- package/docs/components/ui/breadcrumb.md +5 -7
- package/docs/components/ui/button-group.md +16 -16
- package/docs/components/ui/button.md +23 -36
- package/docs/components/ui/calendar.md +54 -27
- package/docs/components/ui/card.md +5 -4
- package/docs/components/ui/checkbox.md +3 -3
- package/docs/components/ui/combobox.md +35 -1
- package/docs/components/ui/command.md +7 -7
- package/docs/components/ui/context-menu.md +14 -15
- package/docs/components/ui/date-picker-selector.md +31 -31
- package/docs/components/ui/dialog.md +47 -49
- package/docs/components/ui/dropdown-menu.md +34 -37
- package/docs/components/ui/field.md +25 -31
- package/docs/components/ui/file-upload-v2.md +11 -0
- package/docs/components/ui/file-upload.md +105 -108
- package/docs/components/ui/hover-card.md +28 -6
- package/docs/components/ui/icon.md +10 -9
- package/docs/components/ui/input-group.md +9 -9
- package/docs/components/ui/input.md +30 -33
- package/docs/components/ui/kbd.md +10 -9
- package/docs/components/ui/label.md +6 -6
- package/docs/components/ui/pagination.md +3 -3
- package/docs/components/ui/popover.md +1 -0
- package/docs/components/ui/progress.md +3 -3
- package/docs/components/ui/radio-group.md +18 -6
- package/docs/components/ui/scroll-area.md +4 -4
- package/docs/components/ui/select.md +14 -12
- package/docs/components/ui/selectable-card.md +204 -0
- package/docs/components/ui/separator.md +4 -4
- package/docs/components/ui/sheet.md +21 -3
- package/docs/components/ui/slider.md +3 -3
- package/docs/components/ui/switch.md +7 -7
- package/docs/components/ui/table.md +7 -4
- package/docs/components/ui/tabs-underline.md +36 -36
- package/docs/components/ui/tabs.md +6 -4
- package/docs/components/ui/textarea.md +6 -4
- package/docs/components/ui/timeline.md +214 -0
- package/docs/components/ui/toggle.md +1 -1
- package/docs/components/ui/tooltip.md +3 -3
- package/llm.txt +7 -4
- package/package.json +13 -1
- package/dist/button-BnUlAtuD.js +0 -132
- package/dist/button-CFJs0esR.cjs +0 -63
- package/dist/checkbox-3RIZX2HF.cjs +0 -22
- package/dist/combobox-MkeJiTXj.js +0 -637
- package/dist/combobox-jJRxvUsB.cjs +0 -40
- package/dist/input-BCiOr4Fy.js +0 -44
- package/dist/input-Bz5k4w94.cjs +0 -22
- package/dist/separator-CCGaTo09.cjs +0 -7
- package/dist/textarea-BRCnIxdB.js +0 -33
- package/dist/textarea-DkFUS_oS.cjs +0 -14
package/dist/file-upload-v2.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as r } from "./jsx-runtime-BzflLqGi.js";
|
|
2
|
-
import { B as q } from "./button-
|
|
2
|
+
import { B as q } from "./button-dT8nqgU3.js";
|
|
3
3
|
import { I as M } from "./icon-BFQz1tQC.js";
|
|
4
4
|
import { T as C } from "./typography-MnY0LQoZ.js";
|
|
5
5
|
import { c as N } from "./index-CRiPKpXj.js";
|
|
@@ -12,8 +12,8 @@ function se({
|
|
|
12
12
|
accept: i,
|
|
13
13
|
acceptedExtensions: l,
|
|
14
14
|
maxSizeInMB: o,
|
|
15
|
-
maxFiles:
|
|
16
|
-
labels:
|
|
15
|
+
maxFiles: g,
|
|
16
|
+
labels: p,
|
|
17
17
|
input: v,
|
|
18
18
|
onDragOver: m,
|
|
19
19
|
onDragLeave: j,
|
|
@@ -29,12 +29,13 @@ function se({
|
|
|
29
29
|
onDrop: t ? void 0 : x,
|
|
30
30
|
className: N(
|
|
31
31
|
`
|
|
32
|
-
adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-
|
|
33
|
-
adm:border
|
|
32
|
+
adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-3xl
|
|
33
|
+
adm:border
|
|
34
34
|
`,
|
|
35
35
|
"adm:border-dashed adm:bg-background adm:p-6 adm:transition-colors",
|
|
36
|
+
"adm:hover:border-strong-border adm:hover:bg-muted",
|
|
36
37
|
{
|
|
37
|
-
"adm:border-
|
|
38
|
+
"adm:border-strong-border": c && !n && !t,
|
|
38
39
|
"adm:border-destructive": n && !t,
|
|
39
40
|
"adm:border-input": !c && !n,
|
|
40
41
|
"adm:cursor-not-allowed adm:opacity-50": t
|
|
@@ -45,20 +46,23 @@ function se({
|
|
|
45
46
|
"div",
|
|
46
47
|
{
|
|
47
48
|
className: N(
|
|
48
|
-
|
|
49
|
+
`
|
|
50
|
+
adm:flex adm:size-11 adm:items-center adm:justify-center
|
|
51
|
+
adm:rounded-full
|
|
52
|
+
`,
|
|
49
53
|
n && !t ? "adm:bg-destructive/10" : "adm:bg-primary-50"
|
|
50
54
|
),
|
|
51
55
|
children: /* @__PURE__ */ r.jsx(
|
|
52
56
|
M,
|
|
53
57
|
{
|
|
54
|
-
symbol: "
|
|
58
|
+
symbol: "upload",
|
|
55
59
|
className: n && !t ? "adm:text-destructive" : "adm:text-primary"
|
|
56
60
|
}
|
|
57
61
|
)
|
|
58
62
|
}
|
|
59
63
|
),
|
|
60
64
|
/* @__PURE__ */ r.jsxs("div", { className: "adm:flex adm:flex-col adm:items-center adm:gap-2", children: [
|
|
61
|
-
/* @__PURE__ */ r.jsx(C, { color: n && !t ? "destructive" : void 0, children:
|
|
65
|
+
/* @__PURE__ */ r.jsx(C, { className: "adm:text-center", color: n && !t ? "destructive" : void 0, children: p?.dragDrop || (d ? "Drag and drop your files here or" : "Drag and drop your file here or") }),
|
|
62
66
|
/* @__PURE__ */ r.jsxs("label", { htmlFor: u, children: [
|
|
63
67
|
/* @__PURE__ */ r.jsx(
|
|
64
68
|
"input",
|
|
@@ -83,24 +87,24 @@ function se({
|
|
|
83
87
|
adm:pointer-events-none
|
|
84
88
|
`),
|
|
85
89
|
disabled: t,
|
|
86
|
-
children: /* @__PURE__ */ r.jsx("span", { children:
|
|
90
|
+
children: /* @__PURE__ */ r.jsx("span", { className: "adm:text-center", children: p?.selectFile || (d ? "Select files" : "Select the file") })
|
|
87
91
|
}
|
|
88
92
|
)
|
|
89
93
|
] })
|
|
90
94
|
] }),
|
|
91
|
-
/* @__PURE__ */ r.jsx(C, { className: "adm:text-center", color: n && !t ? "destructive" : "muted", children:
|
|
95
|
+
/* @__PURE__ */ r.jsx(C, { className: "adm:text-center", color: n && !t ? "destructive" : "muted", children: p?.fileRequirements || (l && l.length > 0 ? `Allowed files: ${l.join(", ")}. Maximum size ${o} MB${d ? `. Up to ${g} files` : ""}.` : `Maximum size ${o} MB${d ? `. Up to ${g} files` : ""}.`) })
|
|
92
96
|
]
|
|
93
97
|
}
|
|
94
98
|
);
|
|
95
99
|
}
|
|
96
100
|
function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove: i }) {
|
|
97
|
-
const { file: l, status: o = "idle", deletable:
|
|
101
|
+
const { file: l, status: o = "idle", deletable: g = !0, disabled: p, error: v } = c, m = n || p, j = o === "uploading", x = o === "deleting", h = o === "error", u = o === "success", k = j || x, V = () => j || x ? "progress_activity" : u ? "check_circle" : h ? "error" : "article", A = () => h ? "adm:text-destructive" : u ? "adm:text-success-600" : d && !m ? "adm:text-destructive" : "adm:text-primary", B = () => h ? "adm:bg-destructive/15" : u ? "adm:bg-success/15" : j || x ? "adm:bg-primary/15" : d && !m ? "adm:bg-destructive/15" : "adm:bg-background";
|
|
98
102
|
return /* @__PURE__ */ r.jsxs(
|
|
99
103
|
"div",
|
|
100
104
|
{
|
|
101
105
|
className: N(
|
|
102
|
-
"adm:flex adm:items-center adm:gap-
|
|
103
|
-
h ? "adm:
|
|
106
|
+
"adm:flex adm:items-center adm:gap-6 adm:rounded-3xl adm:p-4",
|
|
107
|
+
h ? "adm:bg-destructive/5" : u ? "adm:bg-success-50" : d && !m ? "adm:bg-destructive/5" : "adm:bg-muted",
|
|
104
108
|
m && "adm:cursor-not-allowed adm:opacity-50"
|
|
105
109
|
),
|
|
106
110
|
children: [
|
|
@@ -108,7 +112,10 @@ function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove:
|
|
|
108
112
|
"div",
|
|
109
113
|
{
|
|
110
114
|
className: N(
|
|
111
|
-
|
|
115
|
+
`
|
|
116
|
+
adm:flex adm:size-11 adm:items-center adm:justify-center
|
|
117
|
+
adm:rounded-full
|
|
118
|
+
`,
|
|
112
119
|
B()
|
|
113
120
|
),
|
|
114
121
|
children: /* @__PURE__ */ r.jsx(
|
|
@@ -117,7 +124,7 @@ function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove:
|
|
|
117
124
|
symbol: V(),
|
|
118
125
|
className: N(
|
|
119
126
|
A(),
|
|
120
|
-
|
|
127
|
+
k && "adm:animate-spin"
|
|
121
128
|
)
|
|
122
129
|
}
|
|
123
130
|
)
|
|
@@ -146,24 +153,32 @@ function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove:
|
|
|
146
153
|
(l.size / 1024 / 1024).toFixed(1),
|
|
147
154
|
" MB"
|
|
148
155
|
] }),
|
|
149
|
-
|
|
156
|
+
g && /* @__PURE__ */ r.jsx(
|
|
150
157
|
q,
|
|
151
158
|
{
|
|
152
|
-
variant: "
|
|
159
|
+
variant: "link",
|
|
160
|
+
size: "icon",
|
|
153
161
|
onClick: i,
|
|
154
162
|
type: "button",
|
|
155
|
-
disabled: m ||
|
|
156
|
-
children: /* @__PURE__ */ r.jsx(
|
|
163
|
+
disabled: m || k,
|
|
164
|
+
children: /* @__PURE__ */ r.jsx(
|
|
165
|
+
M,
|
|
166
|
+
{
|
|
167
|
+
symbol: "cancel",
|
|
168
|
+
fill: 1,
|
|
169
|
+
className: "adm:text-destructive"
|
|
170
|
+
}
|
|
171
|
+
)
|
|
157
172
|
}
|
|
158
173
|
)
|
|
159
174
|
]
|
|
160
175
|
}
|
|
161
176
|
);
|
|
162
177
|
}
|
|
163
|
-
function
|
|
178
|
+
function _({ files: c, isMultiple: d, invalid: n, disabled: t, labels: i, onRemoveFile: l, onClearAll: o }) {
|
|
164
179
|
return c.length === 0 ? null : /* @__PURE__ */ r.jsxs("div", { className: "adm:flex adm:flex-col adm:gap-3", children: [
|
|
165
180
|
d && c.length > 1 && /* @__PURE__ */ r.jsxs("div", { className: "adm:flex adm:items-center adm:justify-between", children: [
|
|
166
|
-
/* @__PURE__ */ r.jsx(C, { className: "adm:text-sm adm:font-medium", color: n && !t ? "destructive" : void 0, children: i?.filesSelected?.(c.length) || `${c.length} file${c.length !== 1 ? "s" : ""} selected` }),
|
|
181
|
+
/* @__PURE__ */ r.jsx(C, { className: "adm:text-center adm:text-sm adm:font-medium", color: n && !t ? "destructive" : void 0, children: i?.filesSelected?.(c.length) || `${c.length} file${c.length !== 1 ? "s" : ""} selected` }),
|
|
167
182
|
/* @__PURE__ */ r.jsx(
|
|
168
183
|
q,
|
|
169
184
|
{
|
|
@@ -176,16 +191,16 @@ function G({ files: c, isMultiple: d, invalid: n, disabled: t, labels: i, onRemo
|
|
|
176
191
|
}
|
|
177
192
|
)
|
|
178
193
|
] }),
|
|
179
|
-
c.map((
|
|
194
|
+
c.map((g, p) => /* @__PURE__ */ r.jsx(
|
|
180
195
|
ae,
|
|
181
196
|
{
|
|
182
|
-
fileWithMetadata:
|
|
197
|
+
fileWithMetadata: g,
|
|
183
198
|
invalid: n,
|
|
184
199
|
disabled: t,
|
|
185
200
|
labels: i,
|
|
186
|
-
onRemove: () => l(
|
|
201
|
+
onRemove: () => l(p)
|
|
187
202
|
},
|
|
188
|
-
|
|
203
|
+
g.id
|
|
189
204
|
))
|
|
190
205
|
] });
|
|
191
206
|
}
|
|
@@ -197,19 +212,19 @@ function ue({
|
|
|
197
212
|
onFilesSelect: i,
|
|
198
213
|
onFileAdd: l,
|
|
199
214
|
onFileRemove: o,
|
|
200
|
-
onFilesAdd:
|
|
201
|
-
onFilesRemove:
|
|
215
|
+
onFilesAdd: g,
|
|
216
|
+
onFilesRemove: p,
|
|
202
217
|
onInvalidFile: v,
|
|
203
218
|
acceptedExtensions: m,
|
|
204
219
|
maxSizeInMB: j = 50,
|
|
205
220
|
maxFiles: x = 10,
|
|
206
221
|
multiple: h = !1,
|
|
207
222
|
filesPosition: u = "below",
|
|
208
|
-
invalid:
|
|
223
|
+
invalid: k = !1,
|
|
209
224
|
disabled: V = !1,
|
|
210
225
|
"aria-invalid": A,
|
|
211
226
|
generateId: B,
|
|
212
|
-
labels:
|
|
227
|
+
labels: z,
|
|
213
228
|
input: F,
|
|
214
229
|
...H
|
|
215
230
|
}) {
|
|
@@ -229,7 +244,7 @@ function ue({
|
|
|
229
244
|
}
|
|
230
245
|
return () => a.disconnect();
|
|
231
246
|
}, []);
|
|
232
|
-
const X = m?.join(",") || "", Y = j * 1024 * 1024, f = h || n !== void 0 || i !== void 0,
|
|
247
|
+
const X = m?.join(",") || "", Y = j * 1024 * 1024, f = h || n !== void 0 || i !== void 0, y = f ? n || [] : d ? [d] : [], U = k || A, b = V || K, Z = B || ((e) => `${Date.now()}-${Math.random().toString(36).substring(2, 11)}-${e.name}`), I = (e) => ({
|
|
233
248
|
id: Z(e),
|
|
234
249
|
file: e
|
|
235
250
|
}), P = (e) => {
|
|
@@ -241,8 +256,8 @@ function ue({
|
|
|
241
256
|
if (e.preventDefault(), L(!1), f) {
|
|
242
257
|
const s = Array.from(e.dataTransfer.files).filter(T);
|
|
243
258
|
if (s.length > 0) {
|
|
244
|
-
const
|
|
245
|
-
i && i(
|
|
259
|
+
const D = s.map(I), G = [...n || [], ...D].slice(0, x);
|
|
260
|
+
i && i(G), g && g(D);
|
|
246
261
|
}
|
|
247
262
|
} else {
|
|
248
263
|
const a = e.dataTransfer.files[0];
|
|
@@ -256,8 +271,8 @@ function ue({
|
|
|
256
271
|
if (f) {
|
|
257
272
|
const s = (e.target.files ? Array.from(e.target.files) : []).filter(T);
|
|
258
273
|
if (s.length > 0) {
|
|
259
|
-
const
|
|
260
|
-
i && i(
|
|
274
|
+
const D = s.map(I), G = [...n || [], ...D].slice(0, x);
|
|
275
|
+
i && i(G), g && g(D);
|
|
261
276
|
}
|
|
262
277
|
} else {
|
|
263
278
|
const a = e.target.files?.[0];
|
|
@@ -270,49 +285,49 @@ function ue({
|
|
|
270
285
|
}
|
|
271
286
|
}, O = (e) => {
|
|
272
287
|
if (b) return;
|
|
273
|
-
const a =
|
|
288
|
+
const a = y[e];
|
|
274
289
|
if (f) {
|
|
275
|
-
const s =
|
|
276
|
-
i && i(s),
|
|
290
|
+
const s = y.filter((D, w) => w !== e);
|
|
291
|
+
i && i(s), p && a && p([a]);
|
|
277
292
|
} else
|
|
278
293
|
t && t(null), o && a && o(a);
|
|
279
294
|
}, T = (e) => {
|
|
280
|
-
const a = e.name.substring(e.name.lastIndexOf(".")), s = !m || m.length === 0 || m.includes(a.toLowerCase()),
|
|
281
|
-
if (!s || !
|
|
295
|
+
const a = e.name.substring(e.name.lastIndexOf(".")), s = !m || m.length === 0 || m.includes(a.toLowerCase()), D = e.size <= Y;
|
|
296
|
+
if (!s || !D) {
|
|
282
297
|
const w = I(e);
|
|
283
|
-
!s && v ? v(w, "extension") : !
|
|
298
|
+
!s && v ? v(w, "extension") : !D && v && v(w, "size");
|
|
284
299
|
}
|
|
285
|
-
return s &&
|
|
300
|
+
return s && D;
|
|
286
301
|
}, R = () => {
|
|
287
302
|
if (b) return;
|
|
288
|
-
const e = [...
|
|
289
|
-
f ? (i && i([]),
|
|
303
|
+
const e = [...y];
|
|
304
|
+
f ? (i && i([]), p && e.length > 0 && p(e)) : (t && t(null), o && e.length > 0 && o(e[0]));
|
|
290
305
|
};
|
|
291
306
|
return /* @__PURE__ */ r.jsxs("div", { ref: $, className: N("adm:flex adm:flex-col adm:gap-4", c), ...H, children: [
|
|
292
307
|
f && u === "above" && /* @__PURE__ */ r.jsx(
|
|
293
|
-
|
|
308
|
+
_,
|
|
294
309
|
{
|
|
295
|
-
files:
|
|
310
|
+
files: y,
|
|
296
311
|
isMultiple: f,
|
|
297
|
-
invalid:
|
|
312
|
+
invalid: U,
|
|
298
313
|
disabled: b,
|
|
299
|
-
labels:
|
|
314
|
+
labels: z,
|
|
300
315
|
onRemoveFile: O,
|
|
301
316
|
onClearAll: R
|
|
302
317
|
}
|
|
303
318
|
),
|
|
304
|
-
(f ||
|
|
319
|
+
(f || y.length === 0) && /* @__PURE__ */ r.jsx(
|
|
305
320
|
se,
|
|
306
321
|
{
|
|
307
322
|
isDragging: J,
|
|
308
323
|
isMultiple: f,
|
|
309
|
-
invalid:
|
|
324
|
+
invalid: U,
|
|
310
325
|
disabled: b,
|
|
311
326
|
accept: X,
|
|
312
327
|
acceptedExtensions: m,
|
|
313
328
|
maxSizeInMB: j,
|
|
314
329
|
maxFiles: x,
|
|
315
|
-
labels:
|
|
330
|
+
labels: z,
|
|
316
331
|
input: F,
|
|
317
332
|
onDragOver: P,
|
|
318
333
|
onDragLeave: W,
|
|
@@ -320,26 +335,26 @@ function ue({
|
|
|
320
335
|
onFileChange: ee
|
|
321
336
|
}
|
|
322
337
|
),
|
|
323
|
-
!f &&
|
|
324
|
-
|
|
338
|
+
!f && y.length > 0 && /* @__PURE__ */ r.jsx(
|
|
339
|
+
_,
|
|
325
340
|
{
|
|
326
|
-
files:
|
|
341
|
+
files: y,
|
|
327
342
|
isMultiple: f,
|
|
328
|
-
invalid:
|
|
343
|
+
invalid: U,
|
|
329
344
|
disabled: b,
|
|
330
|
-
labels:
|
|
345
|
+
labels: z,
|
|
331
346
|
onRemoveFile: O,
|
|
332
347
|
onClearAll: R
|
|
333
348
|
}
|
|
334
349
|
),
|
|
335
350
|
f && u === "below" && /* @__PURE__ */ r.jsx(
|
|
336
|
-
|
|
351
|
+
_,
|
|
337
352
|
{
|
|
338
|
-
files:
|
|
353
|
+
files: y,
|
|
339
354
|
isMultiple: f,
|
|
340
|
-
invalid:
|
|
355
|
+
invalid: U,
|
|
341
356
|
disabled: b,
|
|
342
|
-
labels:
|
|
357
|
+
labels: z,
|
|
343
358
|
onRemoveFile: O,
|
|
344
359
|
onClearAll: R
|
|
345
360
|
}
|
package/dist/file-upload.cjs
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./jsx-runtime-BB_1_6y_.cjs"),B=require("./button-
|
|
2
|
-
adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-
|
|
3
|
-
adm:border
|
|
4
|
-
`,"adm:border-dashed adm:bg-background adm:p-6 adm:transition-colors",{"adm:border-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./jsx-runtime-BB_1_6y_.cjs"),B=require("./button-CXFZVTXF.cjs"),A=require("./icon-B7joBr0A.cjs"),D=require("./typography-Bj8oEDuE.cjs"),h=require("./index-DoxiiusW.cjs"),T=require("react");function P({isDragging:o,isMultiple:i,invalid:s,disabled:t,accept:m,acceptedExtensions:c,maxSizeInMB:f,maxFiles:u,labels:l,input:j,onDragOver:g,onDragLeave:N,onDrop:v,onFileChange:z}){const y=j?.id||`file-upload-${Math.random().toString(36).substring(2,11)}`;return r.jsxRuntimeExports.jsxs("div",{onDragOver:t?void 0:g,onDragLeave:t?void 0:N,onDrop:t?void 0:v,className:h.cn(`
|
|
2
|
+
adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-3xl
|
|
3
|
+
adm:border
|
|
4
|
+
`,"adm:border-dashed adm:bg-background adm:p-6 adm:transition-colors","adm:hover:border-strong-border adm:hover:bg-muted",{"adm:border-strong-border":o&&!s&&!t,"adm:border-destructive":s&&!t,"adm:border-input":!o&&!s,"adm:cursor-not-allowed adm:opacity-50":t}),children:[r.jsxRuntimeExports.jsx("div",{className:h.cn(`
|
|
5
|
+
adm:flex adm:size-11 adm:items-center adm:justify-center
|
|
6
|
+
adm:rounded-full
|
|
7
|
+
`,s&&!t?"adm:bg-destructive/10":"adm:bg-primary-50"),children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"upload",className:s&&!t?"adm:text-destructive":"adm:text-primary"})}),r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:flex-col adm:items-center adm:gap-2",children:[r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-center",color:s&&!t?"destructive":void 0,children:l?.dragDrop||(i?"Drag and drop your files here or":"Drag and drop your file here or")}),r.jsxRuntimeExports.jsxs("label",{htmlFor:y,children:[r.jsxRuntimeExports.jsx("input",{...j,id:y,type:"file",accept:m,multiple:i,onChange:z,disabled:t,className:"adm:hidden"}),r.jsxRuntimeExports.jsx(B.Button,{asChild:!0,type:"button",variant:"link",className:h.cn("adm:cursor-pointer",t&&`
|
|
5
8
|
adm:pointer-events-none
|
|
6
|
-
`),disabled:t,children:r.jsxRuntimeExports.jsx("span",{children:
|
|
9
|
+
`),disabled:t,children:r.jsxRuntimeExports.jsx("span",{className:"adm:text-center",children:l?.selectFile||(i?"Select files":"Select the file")})})]})]}),r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-center",color:s&&!t?"destructive":"muted",children:l?.fileRequirements||(c&&c.length>0?`Allowed files: ${c.join(", ")}. Maximum size ${f} MB${i?`. Up to ${u} files`:""}.`:`Maximum size ${f} MB${i?`. Up to ${u} files`:""}.`)})]})}function F({file:o,invalid:i,disabled:s,onRemove:t}){return r.jsxRuntimeExports.jsxs("div",{className:h.cn("adm:flex adm:items-center adm:gap-6 adm:rounded-3xl adm:p-4",i&&!s?"adm:bg-destructive/5":"adm:bg-muted",s&&"adm:cursor-not-allowed adm:opacity-50"),children:[r.jsxRuntimeExports.jsx("div",{className:h.cn(`
|
|
10
|
+
adm:flex adm:size-11 adm:items-center adm:justify-center
|
|
11
|
+
adm:rounded-full
|
|
12
|
+
`,i&&!s?"adm:bg-destructive/15":"adm:bg-background"),children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"article",className:i&&!s?"adm:text-destructive":"adm:text-primary"})}),r.jsxRuntimeExports.jsx("div",{className:"adm:flex adm:min-w-0 adm:flex-1 adm:flex-col adm:gap-1",children:r.jsxRuntimeExports.jsx(D.Typography,{className:h.cn("adm:min-w-0 adm:truncate adm:font-semibold"),children:o.name})}),r.jsxRuntimeExports.jsxs(D.Typography,{className:"adm:shrink-0",color:"muted",children:[(o.size/1024/1024).toFixed(1)," MB"]}),r.jsxRuntimeExports.jsx(B.Button,{variant:"link",size:"icon",onClick:t,type:"button",disabled:s,children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"cancel",fill:1,className:"adm:text-destructive"})})]})}function O({files:o,isMultiple:i,invalid:s,disabled:t,labels:m,onRemoveFile:c,onClearAll:f}){return o.length===0?null:r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:flex-col adm:gap-3",children:[i&&o.length>1&&r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:items-center adm:justify-between",children:[r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-center adm:text-sm adm:font-medium",color:s&&!t?"destructive":void 0,children:m?.filesSelected?.(o.length)||`${o.length} file${o.length!==1?"s":""} selected`}),r.jsxRuntimeExports.jsx(B.Button,{variant:"ghost",size:"sm",onClick:f,type:"button",disabled:t,children:m?.clearAll||"Clear all"})]}),o.map((u,l)=>r.jsxRuntimeExports.jsx(F,{file:u,invalid:s,disabled:t,onRemove:()=>c(l)},`${u.name}-${l}`))]})}function S({className:o,selectedFile:i,selectedFiles:s,onFileSelect:t,onFilesSelect:m,onFileAdd:c,onFileRemove:f,onFilesAdd:u,onFilesRemove:l,onInvalidFile:j,acceptedExtensions:g,maxSizeInMB:N=50,maxFiles:v=10,multiple:z=!1,filesPosition:y="below",invalid:L=!1,disabled:U=!1,"aria-invalid":M,labels:$,input:V,..._}){const[G,k]=T.useState(!1),[H,J]=T.useState(!1),R=T.useRef(null);T.useEffect(()=>{const e=()=>{if(R.current){const n=R.current.closest("fieldset");J(n?.disabled??!1)}};e();const a=new MutationObserver(e);if(R.current){const n=R.current.closest("fieldset");n&&a.observe(n,{attributes:!0,attributeFilter:["disabled"]})}return()=>a.disconnect()},[]);const K=g?.join(",")||"",Q=N*1024*1024,d=z||s!==void 0||m!==void 0,p=d?s||[]:i?[i]:[],w=L||M,x=U||H,W=e=>{x||(e.preventDefault(),k(!0))},X=e=>{x||(e.preventDefault(),k(!1))},Y=e=>{if(!x)if(e.preventDefault(),k(!1),d){const n=Array.from(e.dataTransfer.files).filter(C);if(n.length>0){const E=[...s||[],...n].slice(0,v);m&&m(E),u&&u(n)}}else{const a=e.dataTransfer.files[0];a&&C(a)&&(t&&t(a),c&&c(a))}},Z=e=>{if(!x){if(d){const n=(e.target.files?Array.from(e.target.files):[]).filter(C);if(n.length>0){const E=[...s||[],...n].slice(0,v);m&&m(E),u&&u(n)}}else{const a=e.target.files?.[0];a&&C(a)&&(t&&t(a),c&&c(a))}e.target.value=""}},q=e=>{if(x)return;const a=p[e];if(d){const n=p.filter((b,E)=>E!==e);m&&m(n),l&&a&&l([a])}else t&&t(null),f&&a&&f(a)},C=e=>{const a=e.name.substring(e.name.lastIndexOf(".")),n=!g||g.length===0||g.includes(a.toLowerCase()),b=e.size<=Q;return!n&&j?j(e,"extension"):!b&&j&&j(e,"size"),n&&b},I=()=>{if(x)return;const e=[...p];d?(m&&m([]),l&&e.length>0&&l(e)):(t&&t(null),f&&e.length>0&&f(e[0]))};return r.jsxRuntimeExports.jsxs("div",{ref:R,className:h.cn("adm:flex adm:flex-col adm:gap-4",o),..._,children:[d&&y==="above"&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:q,onClearAll:I}),(d||p.length===0)&&r.jsxRuntimeExports.jsx(P,{isDragging:G,isMultiple:d,invalid:w,disabled:x,accept:K,acceptedExtensions:g,maxSizeInMB:N,maxFiles:v,labels:$,input:V,onDragOver:W,onDragLeave:X,onDrop:Y,onFileChange:Z}),!d&&p.length>0&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:q,onClearAll:I}),d&&y==="below"&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:q,onClearAll:I})]})}exports.FileUpload=S;
|