vlite3 1.3.9 → 1.3.11
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/AsyncSelect/createAsyncSelect.d.ts +44 -3
- package/components/AsyncSelect/createAsyncSelect.js +107 -76
- package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
- package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
- package/components/Dropdown/DropdownBooleanItem.vue.js +6 -6
- package/components/Dropdown/DropdownItem.vue.js +17 -17
- package/components/Dropdown/DropdownMenu.vue.js +1 -1
- package/components/Dropdown/DropdownMenu.vue2.js +23 -23
- package/components/Form/Form.vue.d.ts +5 -5
- package/components/Form/Form.vue.js +2 -2
- package/components/Form/Form.vue2.js +263 -239
- package/components/Form/composables/useForm.js +57 -56
- package/components/Form/types.d.ts +12 -4
- package/components/ImportData/ImportData.vue.js +112 -109
- package/components/ImportData/ImportStep1.vue.js +28 -28
- package/components/ImportData/ImportStep3.vue.js +25 -6
- package/components/ImportData/types.d.ts +1 -0
- package/components/NavbarCommandPalette.vue.js +1 -1
- package/components/NumberInput.vue.js +1 -1
- package/components/NumberInput.vue2.js +47 -45
- package/components/Tabes/Tabes.vue.js +2 -2
- package/components/Tabes/Tabes.vue2.js +73 -71
- package/package.json +1 -1
- package/style.css +37 -1
- package/utils/functions.js +9 -5
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as A, ref as
|
|
1
|
+
import { defineComponent as A, ref as b, computed as d, openBlock as w, createElementBlock as V, createElementVNode as r, toDisplayString as n, withModifiers as F, normalizeClass as E, createVNode as v, createCommentVNode as J, withCtx as K, createTextVNode as L } from "vue";
|
|
2
2
|
import R from "papaparse";
|
|
3
3
|
import M from "../Icon.vue.js";
|
|
4
4
|
import W from "../Button.vue.js";
|
|
5
5
|
import q from "../Textarea.vue.js";
|
|
6
6
|
import { showToast as h } from "../../composables/useNotifications.js";
|
|
7
7
|
import { $t as k } from "../../utils/i18n.js";
|
|
8
|
-
import { camelCase as
|
|
8
|
+
import { camelCase as g } from "../../utils/functions.js";
|
|
9
9
|
const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { class: "space-y-6" }, Y = { class: "flex flex-col items-center justify-center pointer-events-none" }, Z = { class: "w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mb-4 text-primary" }, ee = { class: "font-medium text-foreground mb-1" }, te = { class: "text-sm text-muted-foreground" }, ae = {
|
|
10
10
|
key: 0,
|
|
11
11
|
class: "mt-4 text-sm font-semibold text-primary bg-background px-3 py-1 rounded-md border border-border shadow-sm inline-block"
|
|
@@ -28,14 +28,14 @@ const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { cl
|
|
|
28
28
|
"update:importData",
|
|
29
29
|
"next"
|
|
30
30
|
],
|
|
31
|
-
setup(
|
|
32
|
-
const y =
|
|
33
|
-
const
|
|
34
|
-
return
|
|
35
|
-
}, D =
|
|
31
|
+
setup(l, { emit: P }) {
|
|
32
|
+
const y = l, i = P, s = (t, e, a) => {
|
|
33
|
+
const o = a ? k(t, a) : k(t);
|
|
34
|
+
return o !== t ? o : e;
|
|
35
|
+
}, D = b(null), m = b(!1), c = b(""), S = (t) => {
|
|
36
36
|
if (t.preventDefault(), m.value = !1, t.dataTransfer?.files && t.dataTransfer.files.length > 0) {
|
|
37
37
|
const e = t.dataTransfer.files[0];
|
|
38
|
-
e.type === "text/csv" || e.name.endsWith(".csv") ? _(e) : h(
|
|
38
|
+
e.type === "text/csv" || e.name.endsWith(".csv") ? _(e) : h(s("vlite.importData.csvOnly", "Please upload a CSV file"), "error");
|
|
39
39
|
}
|
|
40
40
|
}, _ = (t) => {
|
|
41
41
|
i("update:csvFile", t), i("update:importMethod", "file");
|
|
@@ -46,10 +46,10 @@ const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { cl
|
|
|
46
46
|
}, T = () => {
|
|
47
47
|
i("update:importMethod", "paste"), c.value && C(c.value);
|
|
48
48
|
}, j = (t) => {
|
|
49
|
-
const e =
|
|
50
|
-
return y.fields.forEach((
|
|
51
|
-
a[
|
|
52
|
-
a[
|
|
49
|
+
const e = g(t), a = {};
|
|
50
|
+
return y.fields.forEach((o) => {
|
|
51
|
+
a[g(o.field)] = o.field, a[g(o.title)] = o.field, o.matchings?.forEach((u) => {
|
|
52
|
+
a[g(u)] = o.field;
|
|
53
53
|
});
|
|
54
54
|
}), a[e] || "";
|
|
55
55
|
}, C = (t) => {
|
|
@@ -59,18 +59,18 @@ const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { cl
|
|
|
59
59
|
skipEmptyLines: !0,
|
|
60
60
|
complete: (e) => {
|
|
61
61
|
if (!e.data || e.data.length === 0) {
|
|
62
|
-
h(
|
|
62
|
+
h(s("vlite.importData.emptyCsv", "The CSV file is empty."), "warning");
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
const a = Object.keys(e.data[0]);
|
|
66
66
|
i("update:headers", a);
|
|
67
|
-
const
|
|
67
|
+
const o = e.data.map((p) => {
|
|
68
68
|
const f = {};
|
|
69
|
-
return Object.keys(p).forEach((
|
|
70
|
-
f[
|
|
69
|
+
return Object.keys(p).forEach((x) => {
|
|
70
|
+
f[x] = p[x] || y.fields.find((B) => B.field === x)?.defaultValue;
|
|
71
71
|
}), f;
|
|
72
72
|
});
|
|
73
|
-
i("update:importData",
|
|
73
|
+
i("update:importData", o), i("update:preview", e.data.slice(0, 3));
|
|
74
74
|
const u = {};
|
|
75
75
|
a.forEach((p) => {
|
|
76
76
|
const f = j(p);
|
|
@@ -78,25 +78,25 @@ const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { cl
|
|
|
78
78
|
}), i("update:mappings", u), i("next");
|
|
79
79
|
},
|
|
80
80
|
error: (e) => h(
|
|
81
|
-
|
|
81
|
+
s("vlite.importData.parseError", "Failed to parse CSV: ") + e.message,
|
|
82
82
|
"error"
|
|
83
83
|
)
|
|
84
84
|
});
|
|
85
85
|
} catch (e) {
|
|
86
|
-
h(
|
|
86
|
+
h(s("vlite.importData.processError", "Error processing CSV data"), "error"), console.error(e);
|
|
87
87
|
}
|
|
88
88
|
}, O = (t) => {
|
|
89
89
|
const e = t.target;
|
|
90
90
|
e.files && e.files.length > 0 && _(e.files[0]);
|
|
91
|
-
}, $ = d(() =>
|
|
91
|
+
}, $ = d(() => s("vlite.importData.uploadData", "Upload Data")), I = d(() => s("vlite.importData.dragDrop", "Drag & drop a file here or click to browse")), z = d(() => s("vlite.importData.csvOnlyHint", "Only CSV files are supported")), H = d(() => s("vlite.importData.pasteData", "Or paste CSV/Excel data")), N = d(() => s("vlite.importData.process", "Process Data")), U = d(() => s("vlite.importData.pastePlaceholder", `id, name, email
|
|
92
92
|
1, John Doe, john@example.com`));
|
|
93
93
|
return (t, e) => (w(), V("div", G, [
|
|
94
|
-
r("h5", Q,
|
|
94
|
+
r("h5", Q, n($.value), 1),
|
|
95
95
|
r("div", X, [
|
|
96
96
|
r("div", {
|
|
97
97
|
class: E([
|
|
98
98
|
"relative border-2 border-dashed rounded-xl p-8 text-center cursor-pointer transition-colors",
|
|
99
|
-
|
|
99
|
+
l.importMethod === "file" ? "border-primary bg-primary/5" : "border-border hover:border-primary/50",
|
|
100
100
|
m.value ? "border-primary bg-primary/10 scale-[1.01]" : ""
|
|
101
101
|
]),
|
|
102
102
|
onClick: e[0] || (e[0] = (a) => D.value?.click()),
|
|
@@ -119,15 +119,15 @@ const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { cl
|
|
|
119
119
|
class: "w-6 h-6"
|
|
120
120
|
})
|
|
121
121
|
]),
|
|
122
|
-
r("p", ee,
|
|
123
|
-
r("p", te,
|
|
124
|
-
|
|
122
|
+
r("p", ee, n(I.value), 1),
|
|
123
|
+
r("p", te, n(z.value), 1),
|
|
124
|
+
l.csvFile ? (w(), V("p", ae, n(l.csvFile.name) + " (" + n((l.csvFile.size / 1024).toFixed(2)) + " KB) ", 1)) : J("", !0)
|
|
125
125
|
])
|
|
126
126
|
], 34),
|
|
127
127
|
r("div", {
|
|
128
128
|
class: E([
|
|
129
129
|
"border rounded-xl p-6 transition-colors",
|
|
130
|
-
|
|
130
|
+
l.importMethod === "paste" ? "border-primary shadow-sm ring-1 ring-primary/20" : "border-border"
|
|
131
131
|
])
|
|
132
132
|
}, [
|
|
133
133
|
r("div", re, [
|
|
@@ -138,7 +138,7 @@ const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { cl
|
|
|
138
138
|
})
|
|
139
139
|
]),
|
|
140
140
|
r("div", null, [
|
|
141
|
-
r("p", se,
|
|
141
|
+
r("p", se, n(H.value), 1)
|
|
142
142
|
])
|
|
143
143
|
]),
|
|
144
144
|
v(q, {
|
|
@@ -155,7 +155,7 @@ const G = { class: "space-y-2" }, Q = { class: "font-medium text-md" }, X = { cl
|
|
|
155
155
|
disabled: !c.value
|
|
156
156
|
}, {
|
|
157
157
|
default: K(() => [
|
|
158
|
-
L(
|
|
158
|
+
L(n(N.value), 1)
|
|
159
159
|
]),
|
|
160
160
|
_: 1
|
|
161
161
|
}, 8, ["disabled"])
|
|
@@ -2,7 +2,7 @@ import { defineComponent as _, computed as o, openBlock as g, createElementBlock
|
|
|
2
2
|
import c from "../Icon.vue.js";
|
|
3
3
|
import p from "../ChoiceBox/ChoiceBox.vue.js";
|
|
4
4
|
import { $t as b } from "../../utils/i18n.js";
|
|
5
|
-
const k = { class: "space-y-8" }, y = { class: "font-medium text-md mb-2" }, O = { class: "bg-card rounded-xl p-5 border border-border shadow-sm" }, N = { class: "flex items-center mb-6" }, S = { class: "bg-primary/10 p-2.5 rounded-lg mr-4 text-primary shrink-0" }, V = { class: "font-semibold text-foreground text-base" }, C = { class: "text-sm text-muted-foreground" }, M = { class: "bg-card rounded-xl p-5 border border-border shadow-sm" }, T = { class: "flex items-center mb-6" }, F = { class: "bg-primary/10 p-2.5 rounded-lg mr-4 text-primary shrink-0" }, A = { class: "font-semibold text-foreground text-base" }, I = { class: "text-sm text-muted-foreground" }, R = /* @__PURE__ */ _({
|
|
5
|
+
const k = { class: "space-y-8 -mt-2" }, y = { class: "font-medium text-md mb-2" }, O = { class: "bg-card rounded-xl p-5 border border-border shadow-sm" }, N = { class: "flex items-center mb-6" }, S = { class: "bg-primary/10 p-2.5 rounded-lg mr-4 text-primary shrink-0" }, V = { class: "font-semibold text-foreground text-base" }, C = { class: "text-sm text-muted-foreground" }, M = { class: "bg-card rounded-xl p-5 border border-border shadow-sm" }, T = { class: "flex items-center mb-6" }, F = { class: "bg-primary/10 p-2.5 rounded-lg mr-4 text-primary shrink-0" }, A = { class: "font-semibold text-foreground text-base" }, I = { class: "text-sm text-muted-foreground" }, R = /* @__PURE__ */ _({
|
|
6
6
|
__name: "ImportStep3",
|
|
7
7
|
props: {
|
|
8
8
|
importOptions: {}
|
|
@@ -11,17 +11,30 @@ const k = { class: "space-y-8" }, y = { class: "font-medium text-md mb-2" }, O =
|
|
|
11
11
|
const t = (d, i) => {
|
|
12
12
|
const s = b(d);
|
|
13
13
|
return s !== d ? s : i;
|
|
14
|
-
}, m = o(() => t("vlite.importData.options", "Import Options")), u = o(() => t("vlite.importData.matchFound", "When a match is found")), h = o(
|
|
14
|
+
}, m = o(() => t("vlite.importData.options", "Import Options")), u = o(() => t("vlite.importData.matchFound", "When a match is found")), h = o(
|
|
15
|
+
() => t(
|
|
16
|
+
"vlite.importData.matchFoundDesc",
|
|
17
|
+
"Determine how to handle records that already exist in the system."
|
|
18
|
+
)
|
|
19
|
+
), v = o(() => t("vlite.importData.noMatch", "When no match is found")), x = o(
|
|
20
|
+
() => t("vlite.importData.noMatchDesc", "Determine how to handle completely new records.")
|
|
21
|
+
), f = o(() => [
|
|
15
22
|
{
|
|
16
23
|
id: "add",
|
|
17
24
|
title: t("vlite.importData.optAddTitle", "Add New"),
|
|
18
|
-
description: t(
|
|
25
|
+
description: t(
|
|
26
|
+
"vlite.importData.optAddDesc",
|
|
27
|
+
"Creates a duplicate record instead of overwriting."
|
|
28
|
+
),
|
|
19
29
|
icon: "lucide:plus-circle"
|
|
20
30
|
},
|
|
21
31
|
{
|
|
22
32
|
id: "replace",
|
|
23
33
|
title: t("vlite.importData.optReplaceTitle", "Update"),
|
|
24
|
-
description: t(
|
|
34
|
+
description: t(
|
|
35
|
+
"vlite.importData.optReplaceDesc",
|
|
36
|
+
"Overwrites existing fields with the imported data."
|
|
37
|
+
),
|
|
25
38
|
icon: "lucide:refresh-cw"
|
|
26
39
|
},
|
|
27
40
|
{
|
|
@@ -34,13 +47,19 @@ const k = { class: "space-y-8" }, y = { class: "font-medium text-md mb-2" }, O =
|
|
|
34
47
|
{
|
|
35
48
|
id: "create",
|
|
36
49
|
title: t("vlite.importData.optCreateTitle", "Create New"),
|
|
37
|
-
description: t(
|
|
50
|
+
description: t(
|
|
51
|
+
"vlite.importData.optCreateDesc",
|
|
52
|
+
"Creates a completely new record in the system."
|
|
53
|
+
),
|
|
38
54
|
icon: "lucide:check-circle-2"
|
|
39
55
|
},
|
|
40
56
|
{
|
|
41
57
|
id: "skip",
|
|
42
58
|
title: t("vlite.importData.optSkipNewTitle", "Skip"),
|
|
43
|
-
description: t(
|
|
59
|
+
description: t(
|
|
60
|
+
"vlite.importData.optSkipNewDesc",
|
|
61
|
+
"Ignores the row if it does not already exist."
|
|
62
|
+
),
|
|
44
63
|
icon: "lucide:ban"
|
|
45
64
|
}
|
|
46
65
|
]);
|
|
@@ -3,7 +3,7 @@ import L from "./Icon.vue.js";
|
|
|
3
3
|
import v from "./Modal.vue.js";
|
|
4
4
|
import N from "./CommandPalette/CommandPaletteContent.vue.js";
|
|
5
5
|
import { $t as U } from "../utils/i18n.js";
|
|
6
|
-
/* empty css
|
|
6
|
+
/* empty css */
|
|
7
7
|
const V = { class: "block truncate -text-fs-1.5" }, S = { class: "ml-auto inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-mono font-medium border border-border/80 bg-background text-muted-foreground ml-1" }, A = /* @__PURE__ */ x({
|
|
8
8
|
__name: "NavbarCommandPalette",
|
|
9
9
|
props: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./NumberInput.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-ea76c92c"]]);
|
|
5
5
|
export {
|
|
6
6
|
a as default
|
|
7
7
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as W, ref as k, watch as q, computed as r, onBeforeUnmount as L, openBlock as f, createElementBlock as y, normalizeClass as i, withModifiers as u, createVNode as h, createCommentVNode as P, createElementVNode as g, withKeys as z } from "vue";
|
|
2
2
|
import w from "./Icon.vue.js";
|
|
3
|
-
const
|
|
3
|
+
const M = ["disabled", "data-testid"], U = ["value", "placeholder", "disabled", "readonly", "onKeydown", "data-testid"], p = ["disabled", "data-testid"], A = {
|
|
4
4
|
key: 2,
|
|
5
5
|
class: "flex flex-col justify-center h-full py-[3px] pr-[3px]"
|
|
6
|
-
},
|
|
6
|
+
}, D = { class: "flex flex-col h-full w-6 scale-80" }, G = ["disabled", "data-testid"], H = ["disabled", "data-testid"], Q = /* @__PURE__ */ W({
|
|
7
7
|
__name: "NumberInput",
|
|
8
8
|
props: {
|
|
9
9
|
modelValue: { default: void 0 },
|
|
@@ -23,13 +23,13 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
23
23
|
emits: ["update:modelValue", "change", "focus", "blur"],
|
|
24
24
|
setup(e, { emit: V }) {
|
|
25
25
|
const n = e, m = V, a = k(n.modelValue ?? "");
|
|
26
|
-
|
|
26
|
+
q(
|
|
27
27
|
() => n.modelValue,
|
|
28
28
|
(d) => {
|
|
29
29
|
d !== void 0 && (a.value = d);
|
|
30
30
|
}
|
|
31
31
|
);
|
|
32
|
-
const B = k(null), c =
|
|
32
|
+
const B = k(null), c = r(() => {
|
|
33
33
|
const d = {
|
|
34
34
|
xs: { h: "h-7", text: "text-xs", px: "px-2", icon: "w-3 h-3" },
|
|
35
35
|
sm: { h: "h-8", text: "text-xs", px: "px-2", icon: "w-3.5 h-3.5" },
|
|
@@ -38,7 +38,7 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
38
38
|
xl: { h: "h-12", text: "text-lg", px: "px-5", icon: "w-6 h-6" }
|
|
39
39
|
};
|
|
40
40
|
return d[n.size] || d.md;
|
|
41
|
-
}), I =
|
|
41
|
+
}), I = r(() => ({
|
|
42
42
|
none: "rounded-none",
|
|
43
43
|
sm: "rounded-sm",
|
|
44
44
|
md: "rounded-md",
|
|
@@ -46,7 +46,7 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
46
46
|
xl: "rounded-xl",
|
|
47
47
|
"2xl": "rounded-2xl",
|
|
48
48
|
full: "rounded-full"
|
|
49
|
-
})[n.rounded] || "rounded-md"), j =
|
|
49
|
+
})[n.rounded] || "rounded-md"), j = r(() => ({
|
|
50
50
|
none: "rounded-l-none",
|
|
51
51
|
sm: "rounded-l-sm",
|
|
52
52
|
md: "rounded-l-md",
|
|
@@ -54,7 +54,7 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
54
54
|
xl: "rounded-l-xl",
|
|
55
55
|
"2xl": "rounded-l-2xl",
|
|
56
56
|
full: "rounded-l-full"
|
|
57
|
-
})[n.rounded] || "rounded-l-md"), S =
|
|
57
|
+
})[n.rounded] || "rounded-l-md"), S = r(() => ({
|
|
58
58
|
none: "rounded-r-none",
|
|
59
59
|
sm: "rounded-r-sm",
|
|
60
60
|
md: "rounded-r-md",
|
|
@@ -62,7 +62,7 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
62
62
|
xl: "rounded-r-xl",
|
|
63
63
|
"2xl": "rounded-r-2xl",
|
|
64
64
|
full: "rounded-r-full"
|
|
65
|
-
})[n.rounded] || "rounded-r-md"),
|
|
65
|
+
})[n.rounded] || "rounded-r-md"), E = r(() => [
|
|
66
66
|
"flex items-center w-full relative transition-all duration-200",
|
|
67
67
|
n.disabled ? "opacity-50 cursor-not-allowed" : "",
|
|
68
68
|
n.mode === "solid" ? "bg-muted" : "",
|
|
@@ -70,13 +70,13 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
70
70
|
n.mode === "ghost" ? "bg-transparent" : "",
|
|
71
71
|
c.value.h,
|
|
72
72
|
I.value
|
|
73
|
-
]),
|
|
73
|
+
]), F = r(() => [
|
|
74
74
|
"flex-1 w-full bg-transparent focus:outline-none appearance-none",
|
|
75
75
|
n.variant === "split" ? "text-center" : "text-left pl-3 pr-2",
|
|
76
76
|
"placeholder:text-muted-foreground/50",
|
|
77
77
|
c.value.text,
|
|
78
78
|
n.disabled ? "cursor-not-allowed" : ""
|
|
79
|
-
]), C =
|
|
79
|
+
]), C = r(() => {
|
|
80
80
|
const d = "flex items-center justify-center transition-colors active:scale-95 shrink-0 select-none", t = n.disabled ? "" : "hover:text-primary hover:bg-muted/50";
|
|
81
81
|
return n.size === "xs" || n.size, n.variant === "split" ? n.mode === "solid" ? [
|
|
82
82
|
d,
|
|
@@ -111,22 +111,25 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
111
111
|
d === "inc" ? $() : N();
|
|
112
112
|
}, 50);
|
|
113
113
|
}, 400));
|
|
114
|
-
},
|
|
114
|
+
}, K = (d) => {
|
|
115
115
|
const t = d.target, o = parseFloat(t.value);
|
|
116
116
|
if (isNaN(o)) {
|
|
117
117
|
a.value = t.value;
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
120
|
s(o);
|
|
121
|
-
},
|
|
121
|
+
}, R = (d) => {
|
|
122
122
|
m("blur", d);
|
|
123
123
|
const t = parseFloat(String(a.value));
|
|
124
124
|
isNaN(t) ? s(n.min || 0) : s(t);
|
|
125
|
+
}, T = (d) => {
|
|
126
|
+
const t = d.target;
|
|
127
|
+
document.activeElement === t && t.blur();
|
|
125
128
|
};
|
|
126
|
-
return
|
|
129
|
+
return L(() => {
|
|
127
130
|
l();
|
|
128
131
|
}), (d, t) => (f(), y("div", {
|
|
129
|
-
class: i([
|
|
132
|
+
class: i([E.value, "overflow-hidden"])
|
|
130
133
|
}, [
|
|
131
134
|
e.variant === "split" && !e.disabled && !e.readonly ? (f(), y("button", {
|
|
132
135
|
key: 0,
|
|
@@ -142,16 +145,16 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
142
145
|
onPointerup: l,
|
|
143
146
|
onPointerleave: l,
|
|
144
147
|
onPointercancel: l,
|
|
145
|
-
onContextmenu: t[1] || (t[1] =
|
|
148
|
+
onContextmenu: t[1] || (t[1] = u(() => {
|
|
146
149
|
}, ["prevent"])),
|
|
147
150
|
"data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-dec` : e.name ? `number-${e.name}-dec` : e.id ? `number-${e.id}-dec` : "number-input-dec"
|
|
148
151
|
}, [
|
|
149
|
-
|
|
152
|
+
h(w, {
|
|
150
153
|
icon: "lucide:minus",
|
|
151
154
|
class: i(c.value.icon)
|
|
152
155
|
}, null, 8, ["class"])
|
|
153
|
-
], 42,
|
|
154
|
-
|
|
156
|
+
], 42, M)) : P("", !0),
|
|
157
|
+
g("input", {
|
|
155
158
|
ref_key: "inputRef",
|
|
156
159
|
ref: B,
|
|
157
160
|
type: "number",
|
|
@@ -159,20 +162,19 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
159
162
|
placeholder: e.placeholder,
|
|
160
163
|
disabled: e.disabled,
|
|
161
164
|
readonly: e.readonly,
|
|
162
|
-
class: i(
|
|
163
|
-
onInput:
|
|
165
|
+
class: i(F.value),
|
|
166
|
+
onInput: K,
|
|
164
167
|
onFocus: t[2] || (t[2] = (o) => m("focus", o)),
|
|
165
|
-
onBlur:
|
|
168
|
+
onBlur: R,
|
|
166
169
|
onKeydown: [
|
|
167
|
-
z(
|
|
168
|
-
z(
|
|
170
|
+
z(u($, ["prevent"]), ["up"]),
|
|
171
|
+
z(u(N, ["prevent"]), ["down"])
|
|
169
172
|
],
|
|
170
|
-
onWheel:
|
|
171
|
-
|
|
172
|
-
onInvalid: t[4] || (t[4] = r(() => {
|
|
173
|
+
onWheel: T,
|
|
174
|
+
onInvalid: t[3] || (t[3] = u(() => {
|
|
173
175
|
}, ["prevent"])),
|
|
174
176
|
"data-testid": d.$attrs["data-testid"] || (e.name ? `number-${e.name}` : e.id ? `number-${e.id}` : "number-input")
|
|
175
|
-
}, null, 42,
|
|
177
|
+
}, null, 42, U),
|
|
176
178
|
e.variant === "split" && !e.disabled && !e.readonly ? (f(), y("button", {
|
|
177
179
|
key: 1,
|
|
178
180
|
tabindex: "-1",
|
|
@@ -183,62 +185,62 @@ const L = ["disabled", "data-testid"], M = ["value", "placeholder", "disabled",
|
|
|
183
185
|
e.variant === "split" && e.mode !== "solid" ? S.value : ""
|
|
184
186
|
]),
|
|
185
187
|
disabled: e.disabled || e.max !== void 0 && Number(a.value) >= e.max,
|
|
186
|
-
onPointerdown: t[
|
|
188
|
+
onPointerdown: t[4] || (t[4] = (o) => v("inc", o)),
|
|
187
189
|
onPointerup: l,
|
|
188
190
|
onPointerleave: l,
|
|
189
191
|
onPointercancel: l,
|
|
190
|
-
onContextmenu: t[
|
|
192
|
+
onContextmenu: t[5] || (t[5] = u(() => {
|
|
191
193
|
}, ["prevent"])),
|
|
192
194
|
"data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-inc` : e.name ? `number-${e.name}-inc` : e.id ? `number-${e.id}-inc` : "number-input-inc"
|
|
193
195
|
}, [
|
|
194
|
-
|
|
196
|
+
h(w, {
|
|
195
197
|
icon: "lucide:plus",
|
|
196
198
|
class: i(c.value.icon)
|
|
197
199
|
}, null, 8, ["class"])
|
|
198
|
-
], 42,
|
|
199
|
-
e.variant === "stacked" && !e.disabled && !e.readonly ? (f(), y("div",
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
], 42, p)) : P("", !0),
|
|
201
|
+
e.variant === "stacked" && !e.disabled && !e.readonly ? (f(), y("div", A, [
|
|
202
|
+
g("div", D, [
|
|
203
|
+
g("button", {
|
|
202
204
|
tabindex: "-1",
|
|
203
205
|
type: "button",
|
|
204
206
|
class: "flex-1 flex items-center justify-center bg-gray-100 hover:bg-gray-200 text-muted-foreground hover:text-foreground rounded-t-[3px] border-b border-gray-300 transition-colors disabled:cursor-not-allowed",
|
|
205
207
|
disabled: e.disabled || e.max !== void 0 && Number(a.value) >= e.max,
|
|
206
|
-
onPointerdown: t[
|
|
208
|
+
onPointerdown: t[6] || (t[6] = (o) => v("inc", o)),
|
|
207
209
|
onPointerup: l,
|
|
208
210
|
onPointerleave: l,
|
|
209
211
|
onPointercancel: l,
|
|
210
|
-
onContextmenu: t[
|
|
212
|
+
onContextmenu: t[7] || (t[7] = u(() => {
|
|
211
213
|
}, ["prevent"])),
|
|
212
214
|
"data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-inc` : e.name ? `number-${e.name}-inc` : e.id ? `number-${e.id}-inc` : "number-input-inc"
|
|
213
215
|
}, [
|
|
214
|
-
|
|
216
|
+
h(w, {
|
|
215
217
|
class: i(["text-gray-700/85!", e.size === "xs" || e.size === "sm" ? "w-3 h-3" : "w-3.5 h-3.5"]),
|
|
216
218
|
icon: "mynaui:chevron-up-solid"
|
|
217
219
|
}, null, 8, ["class"])
|
|
218
|
-
], 40,
|
|
219
|
-
|
|
220
|
+
], 40, G),
|
|
221
|
+
g("button", {
|
|
220
222
|
tabindex: "-1",
|
|
221
223
|
type: "button",
|
|
222
224
|
class: "flex-1 flex items-center justify-center bg-gray-100 hover:bg-gray-200 text-muted-foreground hover:text-foreground rounded-b-[3px] transition-colors disabled:cursor-not-allowed",
|
|
223
225
|
disabled: e.disabled || e.min !== void 0 && Number(a.value) <= e.min,
|
|
224
|
-
onPointerdown: t[
|
|
226
|
+
onPointerdown: t[8] || (t[8] = (o) => v("dec", o)),
|
|
225
227
|
onPointerup: l,
|
|
226
228
|
onPointerleave: l,
|
|
227
229
|
onPointercancel: l,
|
|
228
|
-
onContextmenu: t[
|
|
230
|
+
onContextmenu: t[9] || (t[9] = u(() => {
|
|
229
231
|
}, ["prevent"])),
|
|
230
232
|
"data-testid": d.$attrs["data-testid"] ? `${d.$attrs["data-testid"]}-dec` : e.name ? `number-${e.name}-dec` : e.id ? `number-${e.id}-dec` : "number-input-dec"
|
|
231
233
|
}, [
|
|
232
|
-
|
|
234
|
+
h(w, {
|
|
233
235
|
class: i(["text-gray-700/85!", e.size === "xs" || e.size === "sm" ? "w-3 h-3" : "w-3.5 h-3.5"]),
|
|
234
236
|
icon: "mynaui:chevron-down-solid"
|
|
235
237
|
}, null, 8, ["class"])
|
|
236
|
-
], 40,
|
|
238
|
+
], 40, H)
|
|
237
239
|
])
|
|
238
240
|
])) : P("", !0)
|
|
239
241
|
], 2));
|
|
240
242
|
}
|
|
241
243
|
});
|
|
242
244
|
export {
|
|
243
|
-
|
|
245
|
+
Q as default
|
|
244
246
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Tabes.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b32d2e32"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
m as default
|
|
7
7
|
};
|