vlite3 0.9.7 → 0.9.9
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/Accordion/Accordion.vue.d.ts +1 -1
- package/components/Accordion/AccordionItem.vue.d.ts +1 -1
- package/components/Accordion/AccordionTrigger.vue.d.ts +1 -1
- package/components/Alert.vue.d.ts +1 -1
- package/components/Avatar.vue.d.ts +2 -2
- package/components/Avatar.vue.js +1 -1
- package/components/AvatarUploader/AvatarUploader.vue.d.ts +1 -1
- package/components/BackButton.vue.d.ts +1 -1
- package/components/Badge.vue.d.ts +1 -1
- package/components/Barcode/Barcode.vue.d.ts +1 -1
- package/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
- package/components/Button.vue.d.ts +2 -2
- package/components/CheckBox.vue.d.ts +1 -1
- package/components/Chip/Chip.vue.d.ts +1 -1
- package/components/ColorPicker/ColorIro.vue3.js +2 -2
- package/components/ColorPicker/ColorPicker.vue.js +2 -2
- package/components/DataTable/DataTable.vue.js +55 -54
- package/components/DataTable/DataTableHeader.vue.js +5 -3
- package/components/DataTable/DataTableRow.vue.js +23 -24
- package/components/DatePicker.vue.js +105 -73
- package/components/DateRangePicker.vue.d.ts +2 -2
- package/components/DateRangePicker.vue.js +83 -80
- package/components/Form/FormField.vue.d.ts +1 -1
- package/components/Form/FormField.vue.js +35 -27
- package/components/Form/FormFields.vue.js +2 -2
- package/components/Form/FormFields.vue2.js +33 -31
- package/components/Form/types.d.ts +1 -1
- package/components/Input.vue.d.ts +3 -3
- package/components/Kanban/KanbanBoard.vue2.js +29 -27
- package/components/List/List.vue.d.ts +1 -1
- package/components/List/List.vue.js +1 -1
- package/components/Navbar/Navbar.vue.d.ts +2 -2
- package/components/Navbar/NavbarItem.vue.d.ts +1 -1
- package/components/Navbar/NavbarTabs.vue.d.ts +1 -1
- package/components/NumberInput.vue.d.ts +1 -1
- package/components/OTPInput/OTPInput.vue.d.ts +1 -1
- package/components/PermissionMatrix/PermissionEditor.vue.d.ts +2 -2
- package/components/PermissionMatrix/PermissionMatrix.vue.d.ts +2 -2
- package/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
- package/components/Screen/Screen.vue.d.ts +1 -1
- package/components/Screen/ScreenFilter.vue.js +1 -1
- package/components/SidePanel.vue.d.ts +1 -1
- package/components/Spinner/Spinner.vue.d.ts +2 -2
- package/components/Stats/Stats.vue.d.ts +1 -1
- package/components/StatusChip/StatusChip.vue.d.ts +1 -1
- package/index.js +255 -254
- package/package.json +2 -2
- package/style.css +1 -1
- package/utils/functions.d.ts +23 -10
- package/utils/functions.js +110 -70
- /package/components/ColorPicker/{ColorIro.vue.js → ColorIro.vue2.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as T, computed as r, markRaw as j, openBlock as u, createBlock as f, mergeProps as c, toHandlers as
|
|
1
|
+
import { defineComponent as T, computed as r, markRaw as j, openBlock as u, createBlock as f, mergeProps as c, toHandlers as C, createSlots as E, unref as L, withCtx as o, createVNode as A, createTextVNode as p, toDisplayString as v, createCommentVNode as P, resolveDynamicComponent as H } from "vue";
|
|
2
2
|
import { isComponent as z, isAddonObject as h } from "./utils/form.utils.js";
|
|
3
3
|
import q from "../NumberInput.vue.js";
|
|
4
4
|
import g from "../Button.vue.js";
|
|
@@ -12,10 +12,11 @@ import Q from "../AvatarUploader/AvatarUploader.vue.js";
|
|
|
12
12
|
import V from "../Dropdown/Dropdown.vue.js";
|
|
13
13
|
import W from "../MultiSelect/MultiSelect.vue.js";
|
|
14
14
|
import X from "../DatePicker.vue.js";
|
|
15
|
-
import Y from "../
|
|
16
|
-
import Z from "../
|
|
17
|
-
import _ from "
|
|
18
|
-
|
|
15
|
+
import Y from "../DateRangePicker.vue.js";
|
|
16
|
+
import Z from "../ColorPicker/ColorPicker.vue.js";
|
|
17
|
+
import _ from "../IconPicker.vue.js";
|
|
18
|
+
import ee from "./CustomFields.vue.js";
|
|
19
|
+
const be = /* @__PURE__ */ T({
|
|
19
20
|
__name: "FormField",
|
|
20
21
|
props: {
|
|
21
22
|
field: {},
|
|
@@ -34,10 +35,10 @@ const ge = /* @__PURE__ */ T({
|
|
|
34
35
|
loading: { type: Boolean, default: !1 }
|
|
35
36
|
},
|
|
36
37
|
emits: ["change", "addonChange", "addonAction"],
|
|
37
|
-
setup(t, { emit:
|
|
38
|
-
const e = t, m =
|
|
38
|
+
setup(t, { emit: N }) {
|
|
39
|
+
const e = t, m = N, n = (a, l) => {
|
|
39
40
|
m("change", { value: a, data: l });
|
|
40
|
-
},
|
|
41
|
+
}, k = (a) => {
|
|
41
42
|
m("change", { value: a });
|
|
42
43
|
}, b = r(
|
|
43
44
|
() => e.field.type === "number" && e.field.isSensitiveField === !0
|
|
@@ -67,21 +68,23 @@ const ge = /* @__PURE__ */ T({
|
|
|
67
68
|
case "date":
|
|
68
69
|
case "time":
|
|
69
70
|
return X;
|
|
71
|
+
case "dateRangePicker":
|
|
72
|
+
return Y;
|
|
70
73
|
case "file":
|
|
71
74
|
case "fileUploader":
|
|
72
75
|
return M;
|
|
73
76
|
case "avatarUpload":
|
|
74
77
|
return Q;
|
|
75
78
|
case "color":
|
|
76
|
-
return Y;
|
|
77
|
-
case "iconPicker":
|
|
78
79
|
return Z;
|
|
79
|
-
case "
|
|
80
|
+
case "iconPicker":
|
|
80
81
|
return _;
|
|
82
|
+
case "customFields":
|
|
83
|
+
return ee;
|
|
81
84
|
default:
|
|
82
85
|
return y;
|
|
83
86
|
}
|
|
84
|
-
}),
|
|
87
|
+
}), R = r(() => {
|
|
85
88
|
const a = e.field.type, { disabled: l, readonly: d, ...D } = e.field, i = {
|
|
86
89
|
...D,
|
|
87
90
|
disabled: e.disabled || l === !0,
|
|
@@ -89,7 +92,7 @@ const ge = /* @__PURE__ */ T({
|
|
|
89
92
|
...e.field.props || {},
|
|
90
93
|
label: "",
|
|
91
94
|
labelI18n: ""
|
|
92
|
-
},
|
|
95
|
+
}, $ = e.field.placeholderI18n ? G(e.field.placeholderI18n) : e.field.placeholder, x = e.variant === "floating" && e.label && !e.floatingActive, s = x ? "" : $;
|
|
93
96
|
return a === "text" || a === "email" || a === "password" || a === "tel" || a === "url" || a === "search" || a === "textarea" || !a ? {
|
|
94
97
|
...i,
|
|
95
98
|
modelValue: e.value ?? "",
|
|
@@ -163,7 +166,7 @@ const ge = /* @__PURE__ */ T({
|
|
|
163
166
|
...i,
|
|
164
167
|
modelValue: Array.isArray(e.value) ? e.value : [],
|
|
165
168
|
options: e.field.options || [],
|
|
166
|
-
placeholder:
|
|
169
|
+
placeholder: $,
|
|
167
170
|
variant: e.variant,
|
|
168
171
|
size: e.size,
|
|
169
172
|
rounded: e.rounded
|
|
@@ -178,6 +181,11 @@ const ge = /* @__PURE__ */ T({
|
|
|
178
181
|
class: "px-3!",
|
|
179
182
|
...x ? { text: "" } : {}
|
|
180
183
|
}
|
|
184
|
+
} : a === "dateRangePicker" ? {
|
|
185
|
+
...i,
|
|
186
|
+
modelValue: e.value,
|
|
187
|
+
variant: e.variant === "floating" ? "outline-floating" : e.variant || "outline",
|
|
188
|
+
size: e.size
|
|
181
189
|
} : a === "fileUploader" || a === "file" ? {
|
|
182
190
|
...i,
|
|
183
191
|
modelValue: e.value,
|
|
@@ -225,24 +233,24 @@ const ge = /* @__PURE__ */ T({
|
|
|
225
233
|
value: e.value,
|
|
226
234
|
values: e.values
|
|
227
235
|
} : i;
|
|
228
|
-
}),
|
|
236
|
+
}), S = r(() => {
|
|
229
237
|
const a = e.field.type;
|
|
230
238
|
return a === "text" || a === "email" || a === "password" || a === "tel" || a === "url" || a === "search" || a === "textarea" || a === "switch" || a === "check" || !a ? {
|
|
231
|
-
"update:modelValue":
|
|
239
|
+
"update:modelValue": k
|
|
232
240
|
} : a === "number" && b.value ? {
|
|
233
241
|
"update:modelValue": (l) => {
|
|
234
242
|
const d = l === "" ? void 0 : Number(l);
|
|
235
243
|
m("change", { value: isNaN(d) ? void 0 : d });
|
|
236
244
|
}
|
|
237
245
|
} : a === "number" ? {
|
|
238
|
-
"update:modelValue":
|
|
246
|
+
"update:modelValue": k
|
|
239
247
|
} : a === "select" ? {
|
|
240
248
|
onSelect: (l) => {
|
|
241
249
|
n(l.value, l.data);
|
|
242
250
|
}
|
|
243
251
|
} : a === "multiSelect" ? {
|
|
244
252
|
change: (l) => n(l)
|
|
245
|
-
} : a === "date" || a === "time" ? {
|
|
253
|
+
} : a === "date" || a === "time" || a === "dateRangePicker" ? {
|
|
246
254
|
change: (l) => n(l)
|
|
247
255
|
} : a === "fileUploader" || a === "file" ? {
|
|
248
256
|
change: (l) => {
|
|
@@ -278,10 +286,10 @@ const ge = /* @__PURE__ */ T({
|
|
|
278
286
|
a.action && m("addonAction", a.action);
|
|
279
287
|
};
|
|
280
288
|
return (a, l) => O.value ? (u(), f(y, c({ key: 0 }, {
|
|
281
|
-
...
|
|
289
|
+
...R.value,
|
|
282
290
|
...t.field?.props || {}
|
|
283
|
-
},
|
|
284
|
-
|
|
291
|
+
}, C(S.value)), E({ _: 2 }, [
|
|
292
|
+
L(h)(t.field.addonLeft) ? {
|
|
285
293
|
name: "addon-left",
|
|
286
294
|
fn: o(() => [
|
|
287
295
|
t.field.addonLeft.type === "select" ? (u(), f(V, c({
|
|
@@ -310,11 +318,11 @@ const ge = /* @__PURE__ */ T({
|
|
|
310
318
|
p(v(t.field.addonLeft.text), 1)
|
|
311
319
|
]),
|
|
312
320
|
_: 1
|
|
313
|
-
}, 16)) :
|
|
321
|
+
}, 16)) : P("", !0)
|
|
314
322
|
]),
|
|
315
323
|
key: "0"
|
|
316
324
|
} : void 0,
|
|
317
|
-
|
|
325
|
+
L(h)(t.field.addonRight) ? {
|
|
318
326
|
name: "addon-right",
|
|
319
327
|
fn: o(() => [
|
|
320
328
|
t.field.addonRight.type === "select" ? (u(), f(V, c({
|
|
@@ -343,7 +351,7 @@ const ge = /* @__PURE__ */ T({
|
|
|
343
351
|
p(v(t.field.addonRight.text), 1)
|
|
344
352
|
]),
|
|
345
353
|
_: 1
|
|
346
|
-
}, 16)) :
|
|
354
|
+
}, 16)) : P("", !0)
|
|
347
355
|
]),
|
|
348
356
|
key: "1"
|
|
349
357
|
} : void 0
|
|
@@ -351,11 +359,11 @@ const ge = /* @__PURE__ */ T({
|
|
|
351
359
|
key: 1,
|
|
352
360
|
class: ["switch", "check"].includes(t.field?.type) ? "" : "w-full"
|
|
353
361
|
}, {
|
|
354
|
-
...
|
|
362
|
+
...R.value,
|
|
355
363
|
...t.field?.props || {}
|
|
356
|
-
},
|
|
364
|
+
}, C(S.value)), null, 16, ["class"]));
|
|
357
365
|
}
|
|
358
366
|
});
|
|
359
367
|
export {
|
|
360
|
-
|
|
368
|
+
be as default
|
|
361
369
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FormFields.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-f2f7a787"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
a as default
|
|
7
7
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { isComponent as
|
|
3
|
-
import
|
|
1
|
+
import { defineComponent as j, computed as H, ref as M, openBlock as s, createElementBlock as o, normalizeClass as m, Fragment as y, renderList as O, withMemo as G, createBlock as p, withCtx as L, unref as R, resolveDynamicComponent as D, createTextVNode as F, toDisplayString as h, createCommentVNode as c, createElementVNode as J, createVNode as K, markRaw as Q } from "vue";
|
|
2
|
+
import { isComponent as v, getNestedValue as W } from "./utils/form.utils.js";
|
|
3
|
+
import z from "../Label.vue.js";
|
|
4
4
|
import X from "./FormField.vue.js";
|
|
5
5
|
import { $t as Y } from "../../utils/i18n.js";
|
|
6
6
|
const Z = {
|
|
@@ -15,7 +15,7 @@ const Z = {
|
|
|
15
15
|
}, ae = {
|
|
16
16
|
key: 2,
|
|
17
17
|
class: "mt-1 -text-fs-2.5 text-destructive"
|
|
18
|
-
}, ie = /* @__PURE__ */
|
|
18
|
+
}, ie = /* @__PURE__ */ j({
|
|
19
19
|
__name: "FormFields",
|
|
20
20
|
props: {
|
|
21
21
|
schema: {},
|
|
@@ -33,29 +33,31 @@ const Z = {
|
|
|
33
33
|
isFieldReadonly: {}
|
|
34
34
|
},
|
|
35
35
|
emits: ["change", "addonAction"],
|
|
36
|
-
setup(a, { emit:
|
|
37
|
-
const r = a, g =
|
|
36
|
+
setup(a, { emit: U }) {
|
|
37
|
+
const r = a, g = U, f = H(() => {
|
|
38
38
|
if (r.className) return r.className;
|
|
39
|
-
}),
|
|
39
|
+
}), k = (t) => W(r.values, t.name), l = (t) => r.errors[t.name] || "", q = (t) => r.isFieldVisible ? r.isFieldVisible(t) : !0, x = (t) => r.isFieldDisabled ? r.isFieldDisabled(t) : t.disabled === !0, A = (t) => r.isFieldReadonly ? r.isFieldReadonly(t) : t.readonly === !0, u = (t) => t.labelI18n ? Y(t.labelI18n) : t.label, w = (t) => {
|
|
40
40
|
if (t)
|
|
41
|
-
return
|
|
41
|
+
return v(t) ? Q(t) : t;
|
|
42
42
|
}, $ = (t, n) => {
|
|
43
43
|
g("change", t.name, n);
|
|
44
44
|
}, B = (t) => t.itemClass || "", I = (t, n) => {
|
|
45
45
|
g("change", t, n);
|
|
46
46
|
}, E = (t) => {
|
|
47
47
|
g("addonAction", t);
|
|
48
|
-
}, d =
|
|
48
|
+
}, d = M({}), T = (t) => {
|
|
49
49
|
d.value[t] = !0;
|
|
50
|
-
},
|
|
50
|
+
}, P = (t) => {
|
|
51
51
|
d.value[t] = !1;
|
|
52
52
|
}, C = (t) => {
|
|
53
|
-
const n =
|
|
54
|
-
|
|
53
|
+
const n = k(t);
|
|
54
|
+
let e = n != null && n !== "" && !(Array.isArray(n) && n.length === 0);
|
|
55
|
+
const i = typeof n == "number" && !isNaN(n);
|
|
56
|
+
return t.type === "dateRangePicker" && n && typeof n == "object" && (e = !!(n.startDate || n.endDate || n.start || n.end)), V(t) || t.type === "number" ? d.value[t.name] || e || i : e || i;
|
|
55
57
|
}, V = (t) => {
|
|
56
58
|
const n = t.type || "text";
|
|
57
59
|
return ["text", "email", "password", "tel", "url", "search", "textarea"].includes(n);
|
|
58
|
-
},
|
|
60
|
+
}, S = (t) => t.type === "number" ? (t.props?.variant ?? "split") === "split" ? "left-4" : "left-3" : t.type === "date" || t.type === "time" || t.type === "color" || t.type === "dateRangePicker" ? "left-10" : "left-3", b = (t) => {
|
|
59
61
|
if (r.variant !== "floating") return !1;
|
|
60
62
|
const n = t.type || "text";
|
|
61
63
|
return ![
|
|
@@ -68,18 +70,18 @@ const Z = {
|
|
|
68
70
|
].includes(n);
|
|
69
71
|
}, N = (t) => {
|
|
70
72
|
const n = u(t);
|
|
71
|
-
if (!(!n ||
|
|
73
|
+
if (!(!n || v(n)))
|
|
72
74
|
return n;
|
|
73
75
|
};
|
|
74
76
|
return (t, n) => (s(), o("div", {
|
|
75
|
-
class: m(["grid", a.variant === "floating" ? "gap-5 mt-1" : "gap-4",
|
|
77
|
+
class: m(["grid", a.variant === "floating" ? "gap-5 mt-1" : "gap-4", f.value])
|
|
76
78
|
}, [
|
|
77
|
-
(s(!0), o(y, null,
|
|
79
|
+
(s(!0), o(y, null, O(a.schema, (e) => (s(), o(y, {
|
|
78
80
|
key: e.name
|
|
79
81
|
}, [
|
|
80
|
-
|
|
82
|
+
q(e) ? G([
|
|
81
83
|
e,
|
|
82
|
-
|
|
84
|
+
k(e),
|
|
83
85
|
l(e),
|
|
84
86
|
x(e),
|
|
85
87
|
A(e),
|
|
@@ -94,45 +96,45 @@ const Z = {
|
|
|
94
96
|
key: 0,
|
|
95
97
|
class: m(["max-md:col-span-full! form-field-item", B(e)])
|
|
96
98
|
}, [
|
|
97
|
-
u(e) && e.type !== "switch" && e.type !== "check" && e.type !== "customFields" && !b(e) ? (s(),
|
|
99
|
+
u(e) && e.type !== "switch" && e.type !== "check" && e.type !== "customFields" && !b(e) ? (s(), p(z, {
|
|
98
100
|
key: 0,
|
|
99
101
|
for: e.name,
|
|
100
102
|
class: "mb-2 block -text-fs-2! font-medium"
|
|
101
103
|
}, {
|
|
102
104
|
default: L(() => [
|
|
103
|
-
R(
|
|
104
|
-
|
|
105
|
+
R(v)(u(e)) ? (s(), p(D(w(u(e))), { key: 0 })) : (s(), o(y, { key: 1 }, [
|
|
106
|
+
F(h(u(e)) + " ", 1),
|
|
105
107
|
e.required && a.showRequiredAsterisk ? (s(), o("span", Z, "*")) : c("", !0)
|
|
106
108
|
], 64))
|
|
107
109
|
]),
|
|
108
110
|
_: 2
|
|
109
111
|
}, 1032, ["for"])) : c("", !0),
|
|
110
|
-
|
|
112
|
+
J("div", {
|
|
111
113
|
class: m(["relative", ["switch", "check"].includes(e.type) ? "w-auto" : "w-full"]),
|
|
112
114
|
onFocusin: (i) => T(e.name),
|
|
113
|
-
onFocusout: (i) =>
|
|
115
|
+
onFocusout: (i) => P(e.name)
|
|
114
116
|
}, [
|
|
115
117
|
b(e) && N(e) && !V(e) ? (s(), o("label", {
|
|
116
118
|
key: 0,
|
|
117
119
|
for: e.name,
|
|
118
120
|
class: m([
|
|
119
121
|
"absolute transition-all duration-200 ease-in-out pointer-events-none z-20",
|
|
120
|
-
C(e) ? "-top-2.5 left-3 text-xs bg-background px-1 text-black shadow-[0_4px_4px_-4px_bg-background]" : `top-1/2 -translate-y-1/2 text-sm text-muted-foreground/70 ${
|
|
122
|
+
C(e) ? "-top-2.5 left-3 text-xs bg-background px-1 text-black shadow-[0_4px_4px_-4px_bg-background]" : `top-1/2 -translate-y-1/2 text-sm text-muted-foreground/70 ${S(e)}`
|
|
121
123
|
])
|
|
122
124
|
}, [
|
|
123
|
-
R(
|
|
124
|
-
|
|
125
|
+
R(v)(u(e)) ? (s(), p(D(w(u(e))), { key: 0 })) : (s(), o(y, { key: 1 }, [
|
|
126
|
+
F(h(u(e)) + " ", 1),
|
|
125
127
|
e.required ? (s(), o("span", te, "*")) : c("", !0)
|
|
126
128
|
], 64))
|
|
127
129
|
], 10, ee)) : c("", !0),
|
|
128
|
-
|
|
130
|
+
K(X, {
|
|
129
131
|
field: r.variant === "floating" ? {
|
|
130
132
|
...e,
|
|
131
133
|
placeholder: void 0,
|
|
132
134
|
placeholderI18n: void 0,
|
|
133
135
|
props: { ...e.props || {}, id: e.name }
|
|
134
136
|
} : { ...e, props: { ...e.props || {}, id: e.name } },
|
|
135
|
-
value:
|
|
137
|
+
value: k(e),
|
|
136
138
|
floatingActive: C(e),
|
|
137
139
|
label: e.type === "customFields" ? void 0 : b(e) ? N(e) : void 0,
|
|
138
140
|
values: a.values,
|
|
@@ -150,18 +152,18 @@ const Z = {
|
|
|
150
152
|
onAddonAction: E
|
|
151
153
|
}, null, 8, ["field", "value", "floatingActive", "label", "values", "errors", "variant", "size", "rounded", "disabled", "readonly", "error", "isUpdate", "loading", "onChange"])
|
|
152
154
|
], 42, _),
|
|
153
|
-
u(e) && (e.type === "switch" || e.type === "check") ? (s(),
|
|
155
|
+
u(e) && (e.type === "switch" || e.type === "check") ? (s(), p(z, {
|
|
154
156
|
key: 1,
|
|
155
157
|
for: e.name,
|
|
156
158
|
class: "ml-2 text-sm font-medium cursor-pointer"
|
|
157
159
|
}, {
|
|
158
160
|
default: L(() => [
|
|
159
|
-
|
|
161
|
+
F(h(u(e)) + " ", 1),
|
|
160
162
|
e.required ? (s(), o("span", ne, "*")) : c("", !0)
|
|
161
163
|
]),
|
|
162
164
|
_: 2
|
|
163
165
|
}, 1032, ["for"])) : c("", !0),
|
|
164
|
-
l(e) ? (s(), o("p", ae,
|
|
166
|
+
l(e) ? (s(), o("p", ae, h(l(e)), 1)) : c("", !0)
|
|
165
167
|
], 2)), n, 0) : c("", !0)
|
|
166
168
|
], 64))), 128))
|
|
167
169
|
], 2));
|
|
@@ -23,7 +23,7 @@ export interface IFormAddon {
|
|
|
23
23
|
/**
|
|
24
24
|
* Form field types - maps to corresponding UI components
|
|
25
25
|
*/
|
|
26
|
-
export type IFormFieldType = 'text' | 'email' | 'password' | 'number' | 'file' | 'fileUploader' | 'tel' | 'url' | 'search' | 'date' | 'textarea' | 'time' | 'iconPicker' | 'color' | 'switch' | 'check' | 'customFields' | 'select' | 'multiSelect' | 'avatarUpload' | Component;
|
|
26
|
+
export type IFormFieldType = 'text' | 'email' | 'password' | 'number' | 'file' | 'fileUploader' | 'tel' | 'url' | 'search' | 'date' | 'dateRangePicker' | 'textarea' | 'time' | 'iconPicker' | 'color' | 'switch' | 'check' | 'customFields' | 'select' | 'multiSelect' | 'avatarUpload' | Component;
|
|
27
27
|
/**
|
|
28
28
|
* Context passed to conditional functions
|
|
29
29
|
*/
|
|
@@ -26,12 +26,12 @@ declare const __VLS_component: import('vue').DefineComponent<InputProps, {}, {},
|
|
|
26
26
|
"onClick:icon"?: (event: MouseEvent) => any;
|
|
27
27
|
"onClick:icon-right"?: (event: MouseEvent) => any;
|
|
28
28
|
}>, {
|
|
29
|
-
|
|
29
|
+
type: import('../types').InputType;
|
|
30
|
+
class: string;
|
|
30
31
|
variant: InputVariant;
|
|
31
32
|
size: InputSize;
|
|
32
33
|
rounded: InputRounded;
|
|
33
|
-
|
|
34
|
-
class: string;
|
|
34
|
+
readonly: boolean;
|
|
35
35
|
disabled: boolean;
|
|
36
36
|
loading: boolean;
|
|
37
37
|
modelValue: string | number;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { defineComponent as T, defineAsyncComponent as V, ref as j, watch as z, onMounted as A, computed as F, openBlock as d, createElementBlock as i, normalizeClass as
|
|
1
|
+
import { defineComponent as T, defineAsyncComponent as V, ref as j, watch as z, onMounted as A, computed as F, openBlock as d, createElementBlock as i, normalizeClass as c, createElementVNode as r, renderSlot as g, unref as n, toDisplayString as y, setBlockTracking as v, Fragment as f, renderList as h, createVNode as x, withCtx as H, isMemoSame as J, createCommentVNode as O } from "vue";
|
|
2
2
|
import { VueDraggable as R } from "vue-draggable-plus";
|
|
3
3
|
import { useKanbanBoard as q } from "./useKanbanBoard.js";
|
|
4
|
+
import "../../core/config.js";
|
|
5
|
+
import "dayjs";
|
|
4
6
|
import { $t as G } from "../../utils/i18n.js";
|
|
5
7
|
const P = { class: "flex items-center justify-between font-semibold text-foreground" }, Q = {
|
|
6
8
|
key: 0,
|
|
@@ -8,7 +10,7 @@ const P = { class: "flex items-center justify-between font-semibold text-foregro
|
|
|
8
10
|
}, W = { class: "bg-body p-3 rounded-md shadow-sm border border-border text-sm" }, X = {
|
|
9
11
|
key: 0,
|
|
10
12
|
class: "py-4 flex justify-center shrink-0"
|
|
11
|
-
},
|
|
13
|
+
}, ae = /* @__PURE__ */ T({
|
|
12
14
|
__name: "KanbanBoard",
|
|
13
15
|
props: {
|
|
14
16
|
column: {},
|
|
@@ -24,42 +26,42 @@ const P = { class: "flex items-center justify-between font-semibold text-foregro
|
|
|
24
26
|
},
|
|
25
27
|
emits: ["change", "update:columnData"],
|
|
26
28
|
setup(o, { emit: C }) {
|
|
27
|
-
const k = V(() => import("../Spinner/Spinner.vue2.js")),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const k = V(() => import("../Spinner/Spinner.vue2.js")), t = o, m = C, D = j(null), { items: s, isInitialLoading: I, isLoadingMore: S, pageInfo: w, loadInitial: B, loadMore: K } = q(
|
|
30
|
+
t.column.id,
|
|
31
|
+
t.loadData,
|
|
32
|
+
t.columnData
|
|
31
33
|
), N = (e) => {
|
|
32
|
-
s.value = e,
|
|
34
|
+
s.value = e, m("update:columnData", e);
|
|
33
35
|
};
|
|
34
36
|
z(
|
|
35
|
-
() =>
|
|
37
|
+
() => t.columnData,
|
|
36
38
|
(e) => {
|
|
37
39
|
e && JSON.stringify(e) !== JSON.stringify(s.value) && (s.value = [...e]);
|
|
38
40
|
},
|
|
39
41
|
{ deep: !0 }
|
|
40
42
|
), A(() => {
|
|
41
|
-
|
|
43
|
+
t.loadData && (!t.columnData || t.columnData.length === 0) && B();
|
|
42
44
|
});
|
|
43
45
|
const $ = (e) => {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
+
const l = e.target;
|
|
47
|
+
l.scrollTop + l.clientHeight >= l.scrollHeight - 50 && K();
|
|
46
48
|
}, M = (e) => {
|
|
47
|
-
|
|
49
|
+
m("change", { type: "add", event: e, columnId: t.column.id });
|
|
48
50
|
}, U = (e) => {
|
|
49
|
-
|
|
51
|
+
m("change", { type: "remove", event: e, columnId: t.column.id });
|
|
50
52
|
}, E = (e) => {
|
|
51
|
-
|
|
53
|
+
m("change", { type: "update", event: e, columnId: t.column.id });
|
|
52
54
|
}, L = F(
|
|
53
|
-
() =>
|
|
55
|
+
() => t.column.titleI18n ? G(t.column.titleI18n) : t.column.title
|
|
54
56
|
);
|
|
55
|
-
return (e,
|
|
56
|
-
class:
|
|
57
|
+
return (e, l) => (d(), i("div", {
|
|
58
|
+
class: c([
|
|
57
59
|
"flex flex-col bg-card rounded-lg overflow-hidden shrink-0 border border-border/60",
|
|
58
60
|
o.boardClass || "w-80"
|
|
59
61
|
])
|
|
60
62
|
}, [
|
|
61
63
|
r("div", {
|
|
62
|
-
class:
|
|
64
|
+
class: c(["p-3 border-b border-border/80 ", o.headerClass])
|
|
63
65
|
}, [
|
|
64
66
|
g(e.$slots, "header", {
|
|
65
67
|
column: o.column,
|
|
@@ -73,20 +75,20 @@ const P = { class: "flex items-center justify-between font-semibold text-foregro
|
|
|
73
75
|
r("div", {
|
|
74
76
|
ref_key: "scrollContainer",
|
|
75
77
|
ref: D,
|
|
76
|
-
class:
|
|
78
|
+
class: c([
|
|
77
79
|
"flex-1 flex flex-col overflow-y-auto p-3 custom-scrollbar scrollable-container",
|
|
78
80
|
o.bodyClass
|
|
79
81
|
]),
|
|
80
82
|
onScroll: $
|
|
81
83
|
}, [
|
|
82
84
|
n(I) && n(s).length === 0 ? (d(), i("div", Q, [
|
|
83
|
-
|
|
85
|
+
l[0] || (v(-1, !0), (l[0] = (d(), i(f, null, h(3, (a) => r("div", {
|
|
84
86
|
key: "skeleton-" + a,
|
|
85
87
|
class: "bg-body p-3 rounded-md shadow-sm border border-border animate-pulse flex flex-col gap-3"
|
|
86
|
-
}, [...
|
|
88
|
+
}, [...l[3] || (l[3] = [
|
|
87
89
|
r("div", { class: "h-4 bg-muted/60 rounded w-2/3" }, null, -1),
|
|
88
90
|
r("div", { class: "h-3 bg-muted/60 rounded w-1/3" }, null, -1)
|
|
89
|
-
])])), 64))).cacheIndex = 0, v(1),
|
|
91
|
+
])])), 64))).cacheIndex = 0, v(1), l[0])
|
|
90
92
|
])) : (d(), i(f, { key: 1 }, [
|
|
91
93
|
g(e.$slots, "prepend-item", {
|
|
92
94
|
column: o.column,
|
|
@@ -98,15 +100,15 @@ const P = { class: "flex items-center justify-between font-semibold text-foregro
|
|
|
98
100
|
group: o.group,
|
|
99
101
|
animation: 150,
|
|
100
102
|
ghostClass: o.ghostClass || "kanban-ghost",
|
|
101
|
-
class:
|
|
103
|
+
class: c(["flex-1 flex flex-col gap-2 min-h-[50px] py-1", o.draggableClass]),
|
|
102
104
|
onAdd: M,
|
|
103
105
|
onRemove: U,
|
|
104
106
|
onUpdate: E
|
|
105
107
|
}, {
|
|
106
108
|
default: H(() => [
|
|
107
|
-
(d(!0), i(f, null, h(n(s), (a, Y, Z,
|
|
109
|
+
(d(!0), i(f, null, h(n(s), (a, Y, Z, u) => {
|
|
108
110
|
const b = [a];
|
|
109
|
-
if (
|
|
111
|
+
if (u && u.key === a[o.itemKey || "id"] && J(u, b)) return u;
|
|
110
112
|
const p = (d(), i("div", {
|
|
111
113
|
key: a[o.itemKey || "id"],
|
|
112
114
|
class: "cursor-grab active:cursor-grabbing"
|
|
@@ -119,7 +121,7 @@ const P = { class: "flex items-center justify-between font-semibold text-foregro
|
|
|
119
121
|
], !0)
|
|
120
122
|
]));
|
|
121
123
|
return p.memo = b, p;
|
|
122
|
-
},
|
|
124
|
+
}, l, 1), 128))
|
|
123
125
|
]),
|
|
124
126
|
_: 3
|
|
125
127
|
}, 8, ["model-value", "group", "ghostClass", "class"]),
|
|
@@ -140,5 +142,5 @@ const P = { class: "flex items-center justify-between font-semibold text-foregro
|
|
|
140
142
|
}
|
|
141
143
|
});
|
|
142
144
|
export {
|
|
143
|
-
|
|
145
|
+
ae as default
|
|
144
146
|
};
|
|
@@ -2,8 +2,8 @@ import { ListProps } from './types';
|
|
|
2
2
|
declare function __VLS_template(): any;
|
|
3
3
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
4
4
|
declare const __VLS_component: import('vue').DefineComponent<ListProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ListProps> & Readonly<{}>, {
|
|
5
|
-
variant: import('./types').ListVariant;
|
|
6
5
|
class: string;
|
|
6
|
+
variant: import('./types').ListVariant;
|
|
7
7
|
loading: boolean;
|
|
8
8
|
columns: import('./types').ListColumns;
|
|
9
9
|
showColon: boolean;
|
|
@@ -5,7 +5,7 @@ import { $t as U } from "../../utils/i18n.js";
|
|
|
5
5
|
import { getObjectValue as $ } from "./utils.js";
|
|
6
6
|
const W = {
|
|
7
7
|
key: 0,
|
|
8
|
-
class: "px-3 py-2.5 border-b border-border/70 flex items-center gap-2 bg-
|
|
8
|
+
class: "px-3 py-2.5 border-b border-border/70 flex items-center gap-2 bg-muted"
|
|
9
9
|
}, X = { class: "text-sm font-semibold text-gray-900 tracking-tight" }, Y = { class: "sm:hidden" }, Z = { class: "hidden sm:block" }, _ = { class: "sm:hidden" }, ee = { class: "hidden sm:block" }, te = {
|
|
10
10
|
key: 0,
|
|
11
11
|
class: "px-3 py-8 text-center text-sm text-muted-foreground"
|
|
@@ -82,11 +82,11 @@ declare const __VLS_component: import('vue').DefineComponent<NavbarProps, {}, {}
|
|
|
82
82
|
}, string, import('vue').PublicProps, Readonly<NavbarProps> & Readonly<{
|
|
83
83
|
"onToggle-mobile"?: () => any;
|
|
84
84
|
}>, {
|
|
85
|
-
variant: import('../../types/navbar.type').NavbarVariant;
|
|
86
|
-
floating: boolean;
|
|
87
85
|
class: string;
|
|
88
86
|
height: string;
|
|
89
87
|
border: boolean;
|
|
88
|
+
variant: import('../../types/navbar.type').NavbarVariant;
|
|
89
|
+
floating: boolean;
|
|
90
90
|
compact: boolean;
|
|
91
91
|
position: import('../../types/navbar.type').NavbarPosition;
|
|
92
92
|
contentClass: string;
|
|
@@ -25,8 +25,8 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
25
25
|
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
26
26
|
onClick?: (event: MouseEvent) => any;
|
|
27
27
|
}>, {
|
|
28
|
-
variant: "default" | "pill" | "underline" | "ghost";
|
|
29
28
|
class: string;
|
|
29
|
+
variant: "default" | "pill" | "underline" | "ghost";
|
|
30
30
|
disabled: boolean;
|
|
31
31
|
active: boolean;
|
|
32
32
|
orientation: "horizontal" | "vertical";
|
|
@@ -10,9 +10,9 @@ interface Props {
|
|
|
10
10
|
class?: string;
|
|
11
11
|
}
|
|
12
12
|
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
13
|
+
class: string;
|
|
13
14
|
variant: NavbarTabsVariant;
|
|
14
15
|
size: NavbarTabsSize;
|
|
15
|
-
class: string;
|
|
16
16
|
activeClass: string;
|
|
17
17
|
inactiveClass: string;
|
|
18
18
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
@@ -24,11 +24,11 @@ declare const _default: import('vue').DefineComponent<NumberInputProps, {}, {},
|
|
|
24
24
|
onFocus?: (event: FocusEvent) => any;
|
|
25
25
|
"onUpdate:modelValue"?: (value: number) => any;
|
|
26
26
|
}>, {
|
|
27
|
-
readonly: boolean;
|
|
28
27
|
mode: "solid" | "outline" | "ghost";
|
|
29
28
|
variant: "split" | "stacked";
|
|
30
29
|
size: "xs" | "sm" | "md" | "lg" | "xl";
|
|
31
30
|
rounded: "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
|
|
31
|
+
readonly: boolean;
|
|
32
32
|
disabled: boolean;
|
|
33
33
|
modelValue: number;
|
|
34
34
|
step: number;
|
|
@@ -20,9 +20,9 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
20
20
|
onComplete?: (value: string) => any;
|
|
21
21
|
}>, {
|
|
22
22
|
length: number;
|
|
23
|
+
type: "text" | "number";
|
|
23
24
|
variant: "solid" | "outline" | "ghost";
|
|
24
25
|
size: "sm" | "md" | "lg";
|
|
25
|
-
type: "text" | "number";
|
|
26
26
|
error: boolean;
|
|
27
27
|
disabled: boolean;
|
|
28
28
|
placeholder: string;
|
|
@@ -18,9 +18,9 @@ declare const _default: import('vue').DefineComponent<PermissionEditorProps, {},
|
|
|
18
18
|
}, string, import('vue').PublicProps, Readonly<PermissionEditorProps> & Readonly<{
|
|
19
19
|
"onUpdate:modelValue"?: (value: string[]) => any;
|
|
20
20
|
}>, {
|
|
21
|
-
readonly: boolean;
|
|
22
|
-
size: PermissionMatrixSize;
|
|
23
21
|
class: string;
|
|
22
|
+
size: PermissionMatrixSize;
|
|
23
|
+
readonly: boolean;
|
|
24
24
|
layout: PermissionEditorLayout;
|
|
25
25
|
searchable: boolean;
|
|
26
26
|
defaultExpanded: string[];
|
|
@@ -4,9 +4,9 @@ declare const _default: import('vue').DefineComponent<PermissionMatrixProps, {},
|
|
|
4
4
|
}, string, import('vue').PublicProps, Readonly<PermissionMatrixProps> & Readonly<{
|
|
5
5
|
"onUpdate:modelValue"?: (value: PermissionMap) => any;
|
|
6
6
|
}>, {
|
|
7
|
-
readonly: boolean;
|
|
8
|
-
size: PermissionMatrixSize;
|
|
9
7
|
class: string;
|
|
8
|
+
size: PermissionMatrixSize;
|
|
9
|
+
readonly: boolean;
|
|
10
10
|
searchable: boolean;
|
|
11
11
|
toggleMode: import('./types').PermissionToggleMode;
|
|
12
12
|
collapsible: boolean;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ProgressBarProps, ProgressBarVariant, ProgressBarSize } from '../../types/progressbar';
|
|
2
2
|
declare const _default: import('vue').DefineComponent<ProgressBarProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ProgressBarProps> & Readonly<{}>, {
|
|
3
|
+
type: import('../../types/progressbar').ProgressBarType;
|
|
3
4
|
variant: ProgressBarVariant;
|
|
4
5
|
size: ProgressBarSize;
|
|
5
6
|
rounded: string;
|
|
6
|
-
type: import('../../types/progressbar').ProgressBarType;
|
|
7
7
|
striped: boolean;
|
|
8
8
|
indeterminate: boolean;
|
|
9
9
|
showValue: boolean;
|
|
@@ -120,8 +120,8 @@ declare const __VLS_component: import('vue').DefineComponent<ScreenProps, {}, {}
|
|
|
120
120
|
onDelete?: (items: any[]) => any;
|
|
121
121
|
onAdd?: () => any;
|
|
122
122
|
}>, {
|
|
123
|
-
data: any[];
|
|
124
123
|
name: string;
|
|
124
|
+
data: any[];
|
|
125
125
|
loading: boolean;
|
|
126
126
|
exportProps: Record<string, any> | boolean;
|
|
127
127
|
importProps: Record<string, any> | boolean;
|