vlite3 1.1.2 → 1.1.4
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/components/AttachmentsList/AttachmentsList.vue.d.ts +1 -1
- package/components/AttachmentsList/AttachmentsList.vue.js +237 -163
- package/components/Avatar.vue.js +1 -1
- package/components/AvatarUploader/AvatarUploader.vue.js +40 -37
- package/components/Button.vue.js +30 -28
- package/components/Carousel/Carousel.vue.d.ts +2 -2
- package/components/CategoryManager/CategoryManager.vue.d.ts +10 -2
- package/components/CategoryManager/CategoryManager.vue.js +137 -118
- package/components/CategoryManager/CategoryNode.vue.d.ts +2 -0
- package/components/CategoryManager/CategoryNode.vue.js +93 -88
- package/components/Chat/ChatBubble.vue.js +22 -22
- package/components/CheckBox.vue.js +29 -28
- package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
- package/components/CommandPalette/{CommandPaletteItem.vue.js → CommandPaletteItem.vue2.js} +1 -1
- package/components/ConfirmationModal.vue.js +30 -28
- package/components/CopyButton.vue.d.ts +50 -0
- package/components/CopyButton.vue.js +69 -0
- package/components/CopyButton.vue2.js +4 -0
- package/components/DataTable/DataTable.vue.js +44 -44
- package/components/DatePicker.vue.js +41 -35
- package/components/DateRangePicker.vue.js +18 -17
- package/components/Dropdown/Dropdown.vue.d.ts +3 -0
- package/components/Dropdown/Dropdown.vue.js +117 -115
- package/components/Dropdown/DropdownBooleanItem.vue.js +16 -15
- package/components/Dropdown/DropdownItem.vue.js +21 -20
- package/components/Dropdown/DropdownMenu.vue.js +1 -1
- package/components/Dropdown/DropdownMenu.vue2.js +13 -12
- package/components/Dropdown/DropdownTrigger.vue.d.ts +2 -0
- package/components/Dropdown/DropdownTrigger.vue.js +10 -6
- package/components/Dropdown/composables/useDropdownHydration.d.ts +2 -0
- package/components/Dropdown/composables/useDropdownSelection.d.ts +1 -0
- package/components/Dropdown/composables/useDropdownSelection.js +46 -31
- package/components/FilePicker/FilePicker.vue.js +93 -90
- package/components/Form/CustomFields.vue.js +2 -2
- package/components/Form/Form.vue.js +2 -2
- package/components/Form/Form.vue2.js +68 -64
- package/components/Form/FormField.vue.js +204 -148
- package/components/Form/FormFields.vue.js +2 -2
- package/components/Form/FormFields.vue2.js +28 -27
- package/components/Form/types.d.ts +2 -2
- package/components/Form/utils/form.utils.d.ts +3 -3
- package/components/Form/utils/form.utils.js +37 -37
- package/components/Input.vue.js +64 -62
- package/components/Invoice/Invoice.vue.js +9 -7
- package/components/Invoice/InvoiceTotals.vue.d.ts +14 -0
- package/components/Invoice/InvoiceTotals.vue.js +86 -0
- package/components/Invoice/InvoiceTotals.vue2.js +4 -0
- package/components/Invoice/InvoiceVariant1.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant1.vue.js +194 -207
- package/components/Invoice/InvoiceVariant2.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant2.vue.js +109 -118
- package/components/Invoice/InvoiceVariant3.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant3.vue.js +157 -167
- package/components/Invoice/InvoiceVariant4.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant4.vue.js +192 -202
- package/components/Invoice/index.d.ts +1 -0
- package/components/Invoice/types.d.ts +22 -0
- package/components/Masonry/Masonry.vue.d.ts +1 -1
- package/components/Modal.vue.js +1 -1
- package/components/Modal.vue2.js +60 -54
- package/components/MultiSelect/MultiSelect.vue.js +47 -46
- package/components/MultiSelect/composables/useMultiSelectHydration.d.ts +2 -0
- package/components/NavbarCommandPalette.vue.js +1 -1
- package/components/NumberInput.vue.js +2 -2
- package/components/NumberInput.vue2.js +121 -116
- package/components/PricingPlan/PricingPlan.vue.d.ts +1 -1
- package/components/SidePanel.vue.js +2 -2
- package/components/SidePanel.vue2.js +58 -52
- package/components/Stats/StatItem.vue.js +96 -91
- package/components/Stats/types.d.ts +1 -0
- package/components/Switch.vue.d.ts +6 -1
- package/components/Switch.vue.js +61 -24
- package/components/TagInput/TagInput.vue.d.ts +187 -0
- package/components/TagInput/TagInput.vue.js +113 -0
- package/components/TagInput/TagInput.vue2.js +4 -0
- package/components/TagInput/index.d.ts +1 -0
- package/components/Textarea.vue.js +19 -18
- package/components/ThumbnailSelector/ThumbnailSelector.vue.js +2 -2
- package/components/ThumbnailSelector/ThumbnailSelector.vue2.js +19 -16
- package/core/config.d.ts +36 -0
- package/index.d.ts +2 -0
- package/index.js +130 -124
- package/package.json +1 -1
- package/style.css +616 -1
- package/types/button.d.ts +1 -1
- package/types/styles.d.ts +1 -0
- package/utils/functions.js +9 -9
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { defineComponent as te, computed as f, ref as
|
|
1
|
+
import { defineComponent as te, computed as f, ref as $, useSlots as ie, openBlock as n, createElementBlock as m, createElementVNode as d, renderSlot as ae, normalizeClass as C, createBlock as h, withModifiers as V, createVNode as F, toDisplayString as y, createTextVNode as oe, createCommentVNode as T, Fragment as re, renderList as ne } from "vue";
|
|
2
2
|
import p from "../Icon.vue.js";
|
|
3
|
-
import
|
|
3
|
+
import P from "../Button.vue.js";
|
|
4
4
|
import { $t as S } from "../../utils/i18n.js";
|
|
5
|
-
const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "placeholder", "disabled"],
|
|
5
|
+
const se = { class: "w-full" }, de = ["multiple", "accept", "data-testid"], ue = ["data-testid"], ce = ["value", "placeholder", "disabled"], fe = { class: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center gap-2 bg-background" }, me = ["data-testid"], ge = { class: "p-3 bg-muted rounded-full text-muted-foreground" }, pe = { class: "space-y-1" }, ve = { class: "text-sm font-medium text-foreground" }, he = { class: "text-primary hover:underline" }, ye = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "text-xs text-muted-foreground"
|
|
8
|
-
},
|
|
8
|
+
}, be = {
|
|
9
9
|
key: 1,
|
|
10
10
|
class: "space-y-2"
|
|
11
|
-
},
|
|
11
|
+
}, xe = { class: "shrink-0 mr-3" }, ke = { class: "p-2 bg-primary-light rounded text-primary-fg-light" }, we = { class: "flex-1 min-w-0 flex flex-col items-start overflow-hidden" }, Ve = {
|
|
12
12
|
key: 0,
|
|
13
13
|
class: "inline-flex items-center group/rename w-fit max-w-full mb-0.5"
|
|
14
|
-
},
|
|
14
|
+
}, Fe = { class: "grid relative w-fit max-w-full items-center -ml-1" }, Se = { class: "invisible whitespace-pre col-start-1 row-start-1 text-sm font-medium px-1 py-0.5 max-w-full overflow-hidden text-ellipsis" }, Ae = ["value", "onInput", "placeholder"], $e = ["title"], Ce = {
|
|
15
15
|
key: 1,
|
|
16
16
|
class: "text-sm font-medium text-foreground truncate w-full"
|
|
17
|
-
},
|
|
17
|
+
}, Te = { class: "text-xs text-muted-foreground -mt-1" }, ze = { class: "shrink-0 ml-3 flex gap-2 items-center" }, De = {
|
|
18
18
|
key: 0,
|
|
19
19
|
class: "flex gap-2"
|
|
20
|
-
},
|
|
20
|
+
}, Me = /* @__PURE__ */ te({
|
|
21
21
|
name: "FilePicker",
|
|
22
22
|
__name: "FilePicker",
|
|
23
23
|
props: {
|
|
@@ -38,13 +38,13 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
38
38
|
allowRename: { type: Boolean, default: !1 }
|
|
39
39
|
},
|
|
40
40
|
emits: ["update:modelValue", "change", "error"],
|
|
41
|
-
setup(
|
|
42
|
-
const e =
|
|
41
|
+
setup(a, { emit: M }) {
|
|
42
|
+
const e = a, u = M, v = (l, t, i) => {
|
|
43
43
|
const r = i ? S(l, i) : S(l);
|
|
44
44
|
return r !== l ? r : t;
|
|
45
45
|
}, j = f(
|
|
46
46
|
() => e.placeholderI18n ? S(e.placeholderI18n) : e.placeholder !== void 0 ? e.placeholder : v("vlite.filePicker.selectFile", "Select file...")
|
|
47
|
-
), U = f(() => e.textI18n ? S(e.textI18n) : v("vlite.filePicker.clickToUpload", "Click to upload")), E = f(() => v("vlite.filePicker.dragAndDrop", "or drag and drop")), R = f(() => v("vlite.filePicker.addMore", "Add more")), L = f(() => v("vlite.filePicker.unknownFile", "Unknown File")),
|
|
47
|
+
), U = f(() => e.textI18n ? S(e.textI18n) : v("vlite.filePicker.clickToUpload", "Click to upload")), E = f(() => v("vlite.filePicker.dragAndDrop", "or drag and drop")), R = f(() => v("vlite.filePicker.addMore", "Add more")), L = f(() => v("vlite.filePicker.unknownFile", "Unknown File")), z = f(() => v("vlite.filePicker.enterFileName", "Enter file name")), W = f(() => v("vlite.filePicker.renameFile", "Rename file")), D = $(null), b = $(!1), s = $(!1);
|
|
48
48
|
ie();
|
|
49
49
|
const O = f(() => e.fileTypes.join(",")), A = f(() => Array.isArray(e.modelValue) ? e.modelValue.length > 0 : e.modelValue !== null), w = f(() => {
|
|
50
50
|
let l = [];
|
|
@@ -62,23 +62,23 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
62
62
|
}
|
|
63
63
|
return t;
|
|
64
64
|
});
|
|
65
|
-
}),
|
|
65
|
+
}), x = () => {
|
|
66
66
|
if (!(e.disabled || e.loading || s.value)) {
|
|
67
67
|
if (e.multiSelect && e.maxFiles && (Array.isArray(e.modelValue) ? e.modelValue.length : e.modelValue ? 1 : 0) >= e.maxFiles) {
|
|
68
68
|
u("error", `Maximum ${e.maxFiles} files allowed`);
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
D.value?.click();
|
|
72
72
|
}
|
|
73
73
|
}, q = (l) => {
|
|
74
|
-
l.preventDefault(), !(e.disabled || e.loading) && (
|
|
74
|
+
l.preventDefault(), !(e.disabled || e.loading) && (b.value = !0);
|
|
75
75
|
}, G = (l) => {
|
|
76
|
-
l.preventDefault(),
|
|
76
|
+
l.preventDefault(), b.value = !1;
|
|
77
77
|
}, K = (l) => {
|
|
78
|
-
l.preventDefault(),
|
|
78
|
+
l.preventDefault(), b.value = !1, !(e.disabled || e.loading || s.value) && l.dataTransfer?.files && B(l.dataTransfer.files);
|
|
79
79
|
}, H = (l) => {
|
|
80
80
|
const t = l.target;
|
|
81
|
-
t.files &&
|
|
81
|
+
t.files && B(t.files), t.value = "";
|
|
82
82
|
}, J = (l) => {
|
|
83
83
|
if (l === 0 || !l) return "";
|
|
84
84
|
const t = 1024, i = ["Bytes", "KB", "MB", "GB", "TB"], r = Math.floor(Math.log(l) / Math.log(t));
|
|
@@ -88,13 +88,13 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
88
88
|
r.readAsDataURL(l), r.onload = () => {
|
|
89
89
|
typeof r.result == "string" ? t(r.result) : i(new Error("Failed to read file as base64"));
|
|
90
90
|
}, r.onerror = (c) => i(c);
|
|
91
|
-
}),
|
|
91
|
+
}), B = async (l) => {
|
|
92
92
|
if (l.length === 0) return;
|
|
93
93
|
s.value = !0;
|
|
94
94
|
const t = [], i = [], r = Array.from(l);
|
|
95
95
|
let c = e.multiSelect ? r : [r[0]];
|
|
96
96
|
if (e.multiSelect && e.maxFiles) {
|
|
97
|
-
const
|
|
97
|
+
const o = Array.isArray(e.modelValue) ? e.modelValue.length : e.modelValue ? 1 : 0, g = e.maxFiles - o;
|
|
98
98
|
if (g <= 0) {
|
|
99
99
|
u("error", `Maximum ${e.maxFiles} files allowed`), s.value = !1;
|
|
100
100
|
return;
|
|
@@ -102,42 +102,42 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
102
102
|
c.length > g && (i.push(`Only ${g} more file(s) allowed. Maximum ${e.maxFiles} files.`), c = c.slice(0, g));
|
|
103
103
|
}
|
|
104
104
|
try {
|
|
105
|
-
for (const
|
|
105
|
+
for (const o of c) {
|
|
106
106
|
if (e.fileTypes.length > 0 && !e.fileTypes.some((k) => {
|
|
107
107
|
if (k.startsWith("."))
|
|
108
|
-
return
|
|
108
|
+
return o.name.toLowerCase().endsWith(k.toLowerCase());
|
|
109
109
|
if (k.endsWith("/*")) {
|
|
110
110
|
const le = k.split("/")[0];
|
|
111
|
-
return
|
|
111
|
+
return o.type.startsWith(le);
|
|
112
112
|
}
|
|
113
|
-
return
|
|
113
|
+
return o.type === k;
|
|
114
114
|
})) {
|
|
115
|
-
i.push(`File type not allowed: ${
|
|
115
|
+
i.push(`File type not allowed: ${o.name}`);
|
|
116
116
|
continue;
|
|
117
117
|
}
|
|
118
118
|
let g = !1;
|
|
119
|
-
e.maxSize &&
|
|
120
|
-
let
|
|
119
|
+
e.maxSize && o.size > e.maxSize && (i.push(`File too large: ${o.name}`), g = !0);
|
|
120
|
+
let N = "";
|
|
121
121
|
if (e.returnFormat === "base64" && !g)
|
|
122
122
|
try {
|
|
123
|
-
|
|
124
|
-
} catch (
|
|
125
|
-
console.error("Base64 read failed",
|
|
123
|
+
N = await Q(o);
|
|
124
|
+
} catch (I) {
|
|
125
|
+
console.error("Base64 read failed", I);
|
|
126
126
|
}
|
|
127
127
|
t.push({
|
|
128
|
-
fileName:
|
|
129
|
-
fileType:
|
|
130
|
-
fileSize:
|
|
131
|
-
file:
|
|
132
|
-
base64:
|
|
128
|
+
fileName: o.name,
|
|
129
|
+
fileType: o.type,
|
|
130
|
+
fileSize: o.size,
|
|
131
|
+
file: o,
|
|
132
|
+
base64: N
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
135
|
if (i.length > 0 && u("error", i.join("; ")), t.length > 0) {
|
|
136
|
-
let
|
|
137
|
-
e.multiSelect ?
|
|
136
|
+
let o;
|
|
137
|
+
e.multiSelect ? o = [...Array.isArray(e.modelValue) ? e.modelValue : e.modelValue ? [e.modelValue] : [], ...t] : o = t[0], u("update:modelValue", o), u("change", o);
|
|
138
138
|
}
|
|
139
|
-
} catch (
|
|
140
|
-
console.error("Error processing files:",
|
|
139
|
+
} catch (o) {
|
|
140
|
+
console.error("Error processing files:", o), u("error", "Failed to process files");
|
|
141
141
|
} finally {
|
|
142
142
|
s.value = !1;
|
|
143
143
|
}
|
|
@@ -196,38 +196,40 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
196
196
|
return (l, t) => (n(), m("div", se, [
|
|
197
197
|
d("input", {
|
|
198
198
|
ref_key: "fileInput",
|
|
199
|
-
ref:
|
|
199
|
+
ref: D,
|
|
200
200
|
type: "file",
|
|
201
|
-
multiple:
|
|
201
|
+
multiple: a.multiSelect,
|
|
202
202
|
accept: O.value,
|
|
203
203
|
class: "hidden",
|
|
204
|
+
"data-testid": l.$attrs["data-testid"] ? `${l.$attrs["data-testid"]}-input` : l.$attrs.name ? `filepicker-input-${l.$attrs.name}` : "filepicker-input",
|
|
204
205
|
onChange: H
|
|
205
206
|
}, null, 40, de),
|
|
206
|
-
|
|
207
|
-
trigger:
|
|
208
|
-
isDragging:
|
|
209
|
-
isLoading:
|
|
207
|
+
ae(l.$slots, "trigger", {
|
|
208
|
+
trigger: x,
|
|
209
|
+
isDragging: b.value,
|
|
210
|
+
isLoading: a.loading || s.value,
|
|
210
211
|
files: w.value
|
|
211
212
|
}, () => [
|
|
212
|
-
|
|
213
|
+
a.variant === "input" ? (n(), m("div", {
|
|
213
214
|
key: 0,
|
|
214
215
|
class: "relative",
|
|
215
|
-
onClick:
|
|
216
|
+
onClick: x,
|
|
217
|
+
"data-testid": l.$attrs["data-testid"] || (l.$attrs.name ? `filepicker-${l.$attrs.name}` : "filepicker")
|
|
216
218
|
}, [
|
|
217
219
|
d("input", {
|
|
218
220
|
type: "text",
|
|
219
221
|
value: _.value,
|
|
220
222
|
placeholder: j.value,
|
|
221
223
|
readonly: "",
|
|
222
|
-
class:
|
|
223
|
-
disabled:
|
|
224
|
-
}, null, 10,
|
|
225
|
-
d("div",
|
|
226
|
-
|
|
224
|
+
class: C(ee.value),
|
|
225
|
+
disabled: a.disabled || a.loading || s.value
|
|
226
|
+
}, null, 10, ce),
|
|
227
|
+
d("div", fe, [
|
|
228
|
+
a.loading || s.value ? (n(), h(p, {
|
|
227
229
|
key: 0,
|
|
228
230
|
icon: "lucide:loader-2",
|
|
229
231
|
class: "h-4 w-4 animate-spin text-muted-foreground"
|
|
230
|
-
})) : A.value && !
|
|
232
|
+
})) : A.value && !a.disabled ? (n(), m("button", {
|
|
231
233
|
key: 1,
|
|
232
234
|
type: "button",
|
|
233
235
|
class: "text-muted-foreground hover:text-foreground focus:outline-none",
|
|
@@ -243,41 +245,42 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
243
245
|
class: "h-4 w-4 text-muted-foreground"
|
|
244
246
|
}))
|
|
245
247
|
])
|
|
246
|
-
])) : (n(), m("div", {
|
|
248
|
+
], 8, ue)) : (n(), m("div", {
|
|
247
249
|
key: 1,
|
|
248
250
|
class: "relative",
|
|
249
251
|
onDragover: q,
|
|
250
252
|
onDragleave: G,
|
|
251
|
-
onDrop: K
|
|
253
|
+
onDrop: K,
|
|
254
|
+
"data-testid": l.$attrs["data-testid"] || (l.$attrs.name ? `filepicker-${l.$attrs.name}` : "filepicker")
|
|
252
255
|
}, [
|
|
253
|
-
A.value ? (n(), m("div",
|
|
256
|
+
A.value ? (n(), m("div", be, [
|
|
254
257
|
(n(!0), m(re, null, ne(w.value, (i, r) => (n(), m("div", {
|
|
255
258
|
key: r,
|
|
256
|
-
class:
|
|
257
|
-
!
|
|
259
|
+
class: C(["relative flex items-center p-3 border border-border rounded-lg bg-body transition-colors group", [
|
|
260
|
+
!a.multiSelect && !a.disabled && !a.loading && !s.value ? "cursor-pointer hover:border-primary/50" : ""
|
|
258
261
|
]]),
|
|
259
|
-
onClick: t[2] || (t[2] = (c) => !
|
|
262
|
+
onClick: t[2] || (t[2] = (c) => !a.multiSelect && !a.disabled && !a.loading && !s.value ? x() : null)
|
|
260
263
|
}, [
|
|
261
|
-
d("div",
|
|
262
|
-
d("div",
|
|
264
|
+
d("div", xe, [
|
|
265
|
+
d("div", ke, [
|
|
263
266
|
F(p, {
|
|
264
267
|
icon: "lucide:file-text",
|
|
265
268
|
class: "w-5 h-5"
|
|
266
269
|
})
|
|
267
270
|
])
|
|
268
271
|
]),
|
|
269
|
-
d("div",
|
|
270
|
-
|
|
271
|
-
d("div",
|
|
272
|
-
d("span",
|
|
272
|
+
d("div", we, [
|
|
273
|
+
a.allowRename && !a.disabled && !a.loading && !s.value ? (n(), m("div", Ve, [
|
|
274
|
+
d("div", Fe, [
|
|
275
|
+
d("span", Se, y(i.fileName || z.value), 1),
|
|
273
276
|
d("input", {
|
|
274
277
|
value: i.fileName,
|
|
275
278
|
onClick: t[0] || (t[0] = V(() => {
|
|
276
279
|
}, ["stop"])),
|
|
277
280
|
onInput: (c) => Z(r, c.target.value),
|
|
278
281
|
class: "col-start-1 row-start-1 w-auto min-w-[2ch] text-sm font-medium text-foreground bg-transparent border-b border-transparent hover:border-border focus:border-primary outline-none transition-colors py-0.5 px-1",
|
|
279
|
-
placeholder:
|
|
280
|
-
}, null, 40,
|
|
282
|
+
placeholder: z.value
|
|
283
|
+
}, null, 40, Ae)
|
|
281
284
|
]),
|
|
282
285
|
d("div", {
|
|
283
286
|
class: "shrink-0 ml-1 text-muted-foreground/50 group-hover/rename:text-foreground transition-colors cursor-text",
|
|
@@ -291,16 +294,16 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
291
294
|
icon: "lucide:pencil",
|
|
292
295
|
class: "w-3 h-3"
|
|
293
296
|
})
|
|
294
|
-
], 8,
|
|
295
|
-
])) : (n(), m("p",
|
|
296
|
-
d("p",
|
|
297
|
+
], 8, $e)
|
|
298
|
+
])) : (n(), m("p", Ce, y(i.fileName), 1)),
|
|
299
|
+
d("p", Te, y(J(i.fileSize)), 1)
|
|
297
300
|
]),
|
|
298
|
-
d("div",
|
|
299
|
-
|
|
301
|
+
d("div", ze, [
|
|
302
|
+
a.loading || s.value ? (n(), h(p, {
|
|
300
303
|
key: 0,
|
|
301
304
|
icon: "lucide:loader-2",
|
|
302
305
|
class: "w-4 h-4 animate-spin text-primary"
|
|
303
|
-
})) :
|
|
306
|
+
})) : a.disabled ? T("", !0) : (n(), h(P, {
|
|
304
307
|
key: 1,
|
|
305
308
|
size: "xs",
|
|
306
309
|
variant: "ghost",
|
|
@@ -311,26 +314,26 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
311
314
|
}, null, 8, ["onClick"]))
|
|
312
315
|
])
|
|
313
316
|
], 2))), 128)),
|
|
314
|
-
|
|
315
|
-
F(
|
|
317
|
+
a.multiSelect && (!a.maxFiles || w.value.length < a.maxFiles) ? (n(), m("div", De, [
|
|
318
|
+
F(P, {
|
|
316
319
|
size: "sm",
|
|
317
320
|
variant: "outline",
|
|
318
321
|
icon: "lucide:plus",
|
|
319
322
|
text: R.value,
|
|
320
|
-
disabled:
|
|
321
|
-
onClick:
|
|
323
|
+
disabled: a.disabled || a.loading || s.value,
|
|
324
|
+
onClick: x
|
|
322
325
|
}, null, 8, ["text", "disabled"])
|
|
323
|
-
])) :
|
|
326
|
+
])) : T("", !0)
|
|
324
327
|
])) : (n(), m("div", {
|
|
325
328
|
key: 0,
|
|
326
|
-
class:
|
|
327
|
-
|
|
328
|
-
|
|
329
|
+
class: C(["border-2 bg-body border-dashed border-border rounded-lg p-6 transition-all duration-200 ease-in-out cursor-pointer flex flex-col items-center justify-center text-center gap-2", [
|
|
330
|
+
b.value ? "border-primary bg-primary/5" : "hover:border-primary/50 ",
|
|
331
|
+
a.disabled || a.loading || s.value ? "opacity-50 cursor-not-allowed" : ""
|
|
329
332
|
]]),
|
|
330
|
-
onClick:
|
|
333
|
+
onClick: x
|
|
331
334
|
}, [
|
|
332
|
-
d("div",
|
|
333
|
-
|
|
335
|
+
d("div", ge, [
|
|
336
|
+
a.loading || s.value ? (n(), h(p, {
|
|
334
337
|
key: 0,
|
|
335
338
|
icon: "lucide:loader-2",
|
|
336
339
|
class: "w-6 h-6 animate-spin"
|
|
@@ -340,19 +343,19 @@ const se = { class: "w-full" }, de = ["multiple", "accept"], ue = ["value", "pla
|
|
|
340
343
|
class: "w-6 h-6"
|
|
341
344
|
}))
|
|
342
345
|
]),
|
|
343
|
-
d("div",
|
|
344
|
-
d("p",
|
|
345
|
-
d("span",
|
|
346
|
-
|
|
346
|
+
d("div", pe, [
|
|
347
|
+
d("p", ve, [
|
|
348
|
+
d("span", he, y(U.value), 1),
|
|
349
|
+
oe(" " + y(E.value), 1)
|
|
347
350
|
]),
|
|
348
|
-
|
|
351
|
+
a.fileTypes.length ? (n(), m("p", ye, y(a.fileTypes.join(", ")), 1)) : T("", !0)
|
|
349
352
|
])
|
|
350
353
|
], 2))
|
|
351
|
-
],
|
|
354
|
+
], 40, me))
|
|
352
355
|
])
|
|
353
356
|
]));
|
|
354
357
|
}
|
|
355
358
|
});
|
|
356
359
|
export {
|
|
357
|
-
|
|
360
|
+
Me as default
|
|
358
361
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./CustomFields.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const s = /* @__PURE__ */ t(o, [["__scopeId", "data-v-087f0277"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
s as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Form.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-712d6d5d"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
p as default
|
|
7
7
|
};
|