vlite3 0.9.8 → 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/DatePicker.vue.js +42 -30
- package/components/DateRangePicker.vue.d.ts +2 -2
- package/components/DateRangePicker.vue.js +83 -80
- 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/package.json +2 -2
- package/style.css +1 -1
- package/utils/functions.d.ts +0 -2
- package/utils/functions.js +7 -9
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { defineComponent as T, computed as d, openBlock as x, createBlock as w, unref as o, withCtx as u, createElementVNode as z, createVNode as m, renderSlot as $, mergeProps as k } from "vue";
|
|
2
|
+
import P from "./Button.vue.js";
|
|
3
|
+
import B from "./Dropdown/Dropdown.vue.js";
|
|
4
4
|
import "@iconify/vue";
|
|
5
|
-
import { $t as
|
|
5
|
+
import { $t as S } from "../utils/i18n.js";
|
|
6
6
|
/* empty css */
|
|
7
7
|
/* empty css */
|
|
8
|
-
import
|
|
8
|
+
import j, { TimePicker as C } from "v-datepicker-lite";
|
|
9
9
|
import "v-datepicker-lite/style.css";
|
|
10
|
-
const
|
|
10
|
+
const U = { class: "overflow-hidden min-w-[300px]" }, G = /* @__PURE__ */ T({
|
|
11
11
|
__name: "DatePicker",
|
|
12
12
|
props: {
|
|
13
13
|
placeholder: {},
|
|
@@ -29,22 +29,26 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
29
29
|
readonly: { type: Boolean }
|
|
30
30
|
},
|
|
31
31
|
emits: ["update:modelValue", "change"],
|
|
32
|
-
setup(t, { emit:
|
|
33
|
-
const l = t, s =
|
|
32
|
+
setup(t, { emit: V }) {
|
|
33
|
+
const l = t, s = V, a = d({
|
|
34
34
|
get: () => l.modelValue ?? l.value,
|
|
35
35
|
set: (e) => {
|
|
36
36
|
s("update:modelValue", e), s("change", e);
|
|
37
37
|
}
|
|
38
|
-
}),
|
|
38
|
+
}), I = (e) => e instanceof Date ? e.getHours() !== 0 || e.getMinutes() !== 0 : typeof e == "string" ? e.includes("T") || /\d{2}:\d{2}/.test(e) : !1, c = (e) => {
|
|
39
39
|
try {
|
|
40
|
-
if (e && typeof e == "object"
|
|
41
|
-
const
|
|
42
|
-
if (
|
|
40
|
+
if (e && typeof e == "object") {
|
|
41
|
+
const h = e.startDate || e.start, b = e.endDate || e.end;
|
|
42
|
+
if (h && b) {
|
|
43
|
+
const y = new Date(h), g = new Date(b);
|
|
44
|
+
if (!isNaN(y.getTime()) && !isNaN(g.getTime()))
|
|
45
|
+
return { startDate: y, endDate: g };
|
|
46
|
+
}
|
|
43
47
|
}
|
|
44
48
|
const n = new Date(e);
|
|
45
49
|
if (isNaN(n.getTime())) return null;
|
|
46
|
-
const i = new Date(n),
|
|
47
|
-
return
|
|
50
|
+
const i = new Date(n), D = new Date(n);
|
|
51
|
+
return D.setDate(i.getDate() + 6), { startDate: i, endDate: D };
|
|
48
52
|
} catch {
|
|
49
53
|
return null;
|
|
50
54
|
}
|
|
@@ -54,13 +58,21 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
54
58
|
if (l.mode === "week") {
|
|
55
59
|
const e = c(a.value);
|
|
56
60
|
if (!e) return "";
|
|
57
|
-
const n = e.
|
|
61
|
+
const n = e.startDate.toLocaleDateString("en-US", {
|
|
62
|
+
month: "short",
|
|
63
|
+
day: "numeric",
|
|
64
|
+
year: "numeric"
|
|
65
|
+
}), i = e.endDate.toLocaleDateString("en-US", {
|
|
66
|
+
month: "short",
|
|
67
|
+
day: "numeric",
|
|
68
|
+
year: "numeric"
|
|
69
|
+
});
|
|
58
70
|
return `${n} - ${i}`;
|
|
59
71
|
}
|
|
60
72
|
try {
|
|
61
73
|
const e = new Date(a.value);
|
|
62
74
|
if (isNaN(e.getTime())) return String(a.value);
|
|
63
|
-
const n = l.mode === "dateTime" &&
|
|
75
|
+
const n = l.mode === "dateTime" && I(a.value);
|
|
64
76
|
return e.toLocaleDateString("en-US", {
|
|
65
77
|
month: "short",
|
|
66
78
|
day: "numeric",
|
|
@@ -71,21 +83,21 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
71
83
|
return String(a.value);
|
|
72
84
|
}
|
|
73
85
|
}), f = d(() => {
|
|
74
|
-
if (l.placeholderI18n) return
|
|
86
|
+
if (l.placeholderI18n) return S(l.placeholderI18n);
|
|
75
87
|
if (l.placeholder !== void 0) return l.placeholder;
|
|
76
|
-
const e =
|
|
88
|
+
const e = S("vlite.datePicker.placeholder");
|
|
77
89
|
return e !== "vlite.datePicker.placeholder" ? e : "Select date";
|
|
78
90
|
}), v = (e) => {
|
|
79
91
|
if (l.mode === "week") {
|
|
80
92
|
const n = c(e);
|
|
81
93
|
if (n) {
|
|
82
|
-
a.value = {
|
|
94
|
+
a.value = { startDate: n.startDate, endDate: n.endDate };
|
|
83
95
|
return;
|
|
84
96
|
}
|
|
85
97
|
}
|
|
86
98
|
a.value = e;
|
|
87
|
-
},
|
|
88
|
-
return (e, n) => t.mode !== "time" ? (
|
|
99
|
+
}, N = d(() => l.mode === "week" && a.value && typeof a.value == "object" && (a.value.startDate || a.value.start) || a.value);
|
|
100
|
+
return (e, n) => t.mode !== "time" ? (x(), w(o(B), {
|
|
89
101
|
key: 0,
|
|
90
102
|
position: "bottom-start",
|
|
91
103
|
class: "w-full",
|
|
@@ -94,12 +106,12 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
94
106
|
disabled: t.disabled || t.readonly
|
|
95
107
|
}, {
|
|
96
108
|
trigger: u(() => [
|
|
97
|
-
|
|
109
|
+
$(e.$slots, "default", {
|
|
98
110
|
value: a.value,
|
|
99
111
|
displayValue: r.value
|
|
100
112
|
}, () => [
|
|
101
|
-
m(
|
|
102
|
-
text: r.value || f.value,
|
|
113
|
+
m(P, k({
|
|
114
|
+
text: r.value?.replace("-", "—") || f.value,
|
|
103
115
|
variant: t.variant || "outline",
|
|
104
116
|
size: t.size || "md",
|
|
105
117
|
icon: t.icon || "lucide:calendar",
|
|
@@ -108,9 +120,9 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
108
120
|
])
|
|
109
121
|
]),
|
|
110
122
|
default: u(() => [
|
|
111
|
-
|
|
112
|
-
m(o(
|
|
113
|
-
value:
|
|
123
|
+
z("div", U, [
|
|
124
|
+
m(o(j), {
|
|
125
|
+
value: N.value,
|
|
114
126
|
mode: t.mode,
|
|
115
127
|
"min-date": t.minDate,
|
|
116
128
|
"max-date": t.maxDate,
|
|
@@ -125,7 +137,7 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
125
137
|
])
|
|
126
138
|
]),
|
|
127
139
|
_: 3
|
|
128
|
-
}, 8, ["teleport", "disabled"])) : (
|
|
140
|
+
}, 8, ["teleport", "disabled"])) : (x(), w(o(C), {
|
|
129
141
|
key: 1,
|
|
130
142
|
"model-value": a.value,
|
|
131
143
|
"onUpdate:modelValue": [
|
|
@@ -143,7 +155,7 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
143
155
|
readonly: t.readonly
|
|
144
156
|
}, {
|
|
145
157
|
default: u(() => [
|
|
146
|
-
m(
|
|
158
|
+
m(P, k({
|
|
147
159
|
text: r.value || f.value,
|
|
148
160
|
variant: t.variant || "outline",
|
|
149
161
|
size: t.size || "md",
|
|
@@ -156,5 +168,5 @@ const j = { class: "overflow-hidden min-w-[300px]" }, q = /* @__PURE__ */ I({
|
|
|
156
168
|
}
|
|
157
169
|
});
|
|
158
170
|
export {
|
|
159
|
-
|
|
171
|
+
G as default
|
|
160
172
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { defineComponent as F, ref as b, watch as L, computed as u, openBlock as d, createBlock as m, unref as v, withCtx as D, createElementVNode as i, createElementBlock as w, Fragment as T, renderList as z, createCommentVNode as B, createVNode as h, normalizeClass as y, toDisplayString as x, createTextVNode as E } from "vue";
|
|
2
|
+
import $ from "./Dropdown/Dropdown.vue.js";
|
|
3
|
+
import R from "./Icon.vue.js";
|
|
4
4
|
import { $t as l } from "../utils/i18n.js";
|
|
5
5
|
/* empty css */
|
|
6
6
|
/* empty css */
|
|
7
7
|
import P from "./Button.vue.js";
|
|
8
8
|
import p from "v-datepicker-lite";
|
|
9
9
|
import "v-datepicker-lite/style.css";
|
|
10
|
-
const
|
|
10
|
+
const j = { class: "flex items-center justify-start gap-2 w-full" }, H = { class: "flex flex-col sm:flex-row bg-background rounded-md" }, Q = {
|
|
11
11
|
key: 0,
|
|
12
12
|
class: "flex flex-col gap-1 sm:pr-3 py-2 sm:border-r border-border max-h-[280px]"
|
|
13
|
-
},
|
|
13
|
+
}, O = { class: "flex flex-col sm:flex-row items-center gap-4 py-2 p-3" }, I = { class: "border border-border rounded-md overflow-hidden bg-background" }, U = { class: "flex items-center justify-center shrink-0" }, q = { class: "border border-border rounded-md overflow-hidden bg-background" }, te = /* @__PURE__ */ F({
|
|
14
14
|
__name: "DateRangePicker",
|
|
15
15
|
props: {
|
|
16
16
|
modelValue: {},
|
|
@@ -27,35 +27,41 @@ const $ = { class: "flex items-center justify-between gap-2 w-full" }, j = { cla
|
|
|
27
27
|
},
|
|
28
28
|
emits: ["update:modelValue", "change"],
|
|
29
29
|
setup(s, { emit: M }) {
|
|
30
|
-
const
|
|
31
|
-
L(o, (
|
|
32
|
-
|
|
30
|
+
const g = s, k = M, o = b(!1), c = b(0);
|
|
31
|
+
L(o, (a) => {
|
|
32
|
+
a && c.value++;
|
|
33
33
|
});
|
|
34
34
|
const n = u({
|
|
35
|
-
get: () =>
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
get: () => {
|
|
36
|
+
const a = g.modelValue;
|
|
37
|
+
return a ? {
|
|
38
|
+
startDate: a.startDate !== void 0 ? a.startDate : a.start,
|
|
39
|
+
endDate: a.endDate !== void 0 ? a.endDate : a.end
|
|
40
|
+
} : { startDate: null, endDate: null };
|
|
41
|
+
},
|
|
42
|
+
set: (a) => {
|
|
43
|
+
k("update:modelValue", a), k("change", a);
|
|
38
44
|
}
|
|
39
|
-
}), Y = (
|
|
40
|
-
n.value = { ...n.value,
|
|
41
|
-
},
|
|
42
|
-
n.value = { ...n.value,
|
|
43
|
-
},
|
|
44
|
-
if (n.value.
|
|
45
|
-
const
|
|
46
|
-
if (!isNaN(
|
|
45
|
+
}), Y = (a) => {
|
|
46
|
+
n.value = { ...n.value, startDate: a };
|
|
47
|
+
}, S = (a) => {
|
|
48
|
+
n.value = { ...n.value, endDate: a };
|
|
49
|
+
}, _ = u(() => {
|
|
50
|
+
if (n.value.endDate) {
|
|
51
|
+
const a = new Date(n.value.endDate);
|
|
52
|
+
if (!isNaN(a.getTime())) return a.toISOString();
|
|
47
53
|
}
|
|
48
|
-
return
|
|
54
|
+
return g.maxDate;
|
|
49
55
|
}), C = u(() => {
|
|
50
|
-
if (n.value.
|
|
51
|
-
const
|
|
52
|
-
if (!isNaN(
|
|
56
|
+
if (n.value.startDate) {
|
|
57
|
+
const a = new Date(n.value.startDate);
|
|
58
|
+
if (!isNaN(a.getTime())) return a.toISOString();
|
|
53
59
|
}
|
|
54
|
-
return
|
|
55
|
-
}),
|
|
56
|
-
if (!
|
|
60
|
+
return g.minDate;
|
|
61
|
+
}), f = (a) => {
|
|
62
|
+
if (!a) return "";
|
|
57
63
|
try {
|
|
58
|
-
const e = new Date(
|
|
64
|
+
const e = new Date(a);
|
|
59
65
|
return isNaN(e.getTime()) ? "" : e.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
|
|
60
66
|
} catch {
|
|
61
67
|
return "";
|
|
@@ -106,116 +112,113 @@ const $ = { class: "flex items-center justify-between gap-2 w-full" }, j = { cla
|
|
|
106
112
|
value: "last_year",
|
|
107
113
|
icon: "lucide:history"
|
|
108
114
|
}
|
|
109
|
-
]),
|
|
115
|
+
]), V = (a) => {
|
|
110
116
|
const e = /* @__PURE__ */ new Date();
|
|
111
|
-
let
|
|
112
|
-
switch (e.setHours(0, 0, 0, 0),
|
|
117
|
+
let t = /* @__PURE__ */ new Date(), r = /* @__PURE__ */ new Date();
|
|
118
|
+
switch (e.setHours(0, 0, 0, 0), t.setHours(0, 0, 0, 0), r.setHours(0, 0, 0, 0), a.value) {
|
|
113
119
|
case "today":
|
|
114
|
-
|
|
120
|
+
t = new Date(e), r = new Date(e);
|
|
115
121
|
break;
|
|
116
122
|
case "yesterday":
|
|
117
|
-
|
|
123
|
+
t = new Date(e), t.setDate(t.getDate() - 1), r = new Date(t);
|
|
118
124
|
break;
|
|
119
125
|
case "last_7_days":
|
|
120
|
-
|
|
126
|
+
t = new Date(e), t.setDate(t.getDate() - 6), r = new Date(e);
|
|
121
127
|
break;
|
|
122
128
|
case "last_30_days":
|
|
123
|
-
|
|
129
|
+
t = new Date(e), t.setDate(t.getDate() - 29), r = new Date(e);
|
|
124
130
|
break;
|
|
125
131
|
case "this_month":
|
|
126
|
-
|
|
132
|
+
t = new Date(e.getFullYear(), e.getMonth(), 1), r = new Date(e);
|
|
127
133
|
break;
|
|
128
134
|
case "last_month":
|
|
129
|
-
|
|
135
|
+
t = new Date(e.getFullYear(), e.getMonth() - 1, 1), r = new Date(e.getFullYear(), e.getMonth(), 0);
|
|
130
136
|
break;
|
|
131
137
|
case "last_6_months":
|
|
132
|
-
|
|
138
|
+
t = new Date(e.getFullYear(), e.getMonth() - 5, 1), r = new Date(e);
|
|
133
139
|
break;
|
|
134
140
|
case "this_year":
|
|
135
|
-
|
|
141
|
+
t = new Date(e.getFullYear(), 0, 1), r = new Date(e);
|
|
136
142
|
break;
|
|
137
143
|
case "last_year":
|
|
138
|
-
|
|
144
|
+
t = new Date(e.getFullYear() - 1, 0, 1), r = new Date(e.getFullYear() - 1, 11, 31);
|
|
139
145
|
break;
|
|
140
146
|
}
|
|
141
|
-
n.value = {
|
|
147
|
+
n.value = { startDate: t, endDate: r }, c.value++, o.value = !1;
|
|
142
148
|
};
|
|
143
|
-
return (
|
|
149
|
+
return (a, e) => (d(), m(v($), {
|
|
144
150
|
isOpen: o.value,
|
|
145
|
-
"onUpdate:isOpen": e[0] || (e[0] = (
|
|
151
|
+
"onUpdate:isOpen": e[0] || (e[0] = (t) => o.value = t),
|
|
146
152
|
position: "bottom-start",
|
|
147
153
|
disabled: s.disabled || s.readonly,
|
|
148
154
|
class: "w-full sm:w-auto inline-block",
|
|
149
155
|
maxHeight: "none"
|
|
150
156
|
}, {
|
|
151
|
-
trigger:
|
|
152
|
-
|
|
157
|
+
trigger: D(({ isOpen: t }) => [
|
|
158
|
+
h(P, {
|
|
153
159
|
icon: "lucide:calendar",
|
|
154
160
|
variant: s.variant || "outline",
|
|
155
161
|
size: s.size || "md",
|
|
156
162
|
disabled: s.disabled,
|
|
157
|
-
class:
|
|
163
|
+
class: y(["w-full justify-between text-left font-normal", [s.triggerClass, { "ring-1 ring-ring ring-offset-[1]": t }]])
|
|
158
164
|
}, {
|
|
159
|
-
default:
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
class:
|
|
163
|
-
},
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
class: "
|
|
167
|
-
}),
|
|
168
|
-
r("span", {
|
|
169
|
-
class: k({ "text-muted-foreground": !n.value.end })
|
|
170
|
-
}, R(n.value.end ? D(n.value.end) : s.placeholderEnd), 3)
|
|
165
|
+
default: D(() => [
|
|
166
|
+
i("div", j, [
|
|
167
|
+
i("span", {
|
|
168
|
+
class: y({ "text-muted-foreground": !n.value.startDate })
|
|
169
|
+
}, x(n.value.startDate ? f(n.value.startDate) : s.placeholderStart), 3),
|
|
170
|
+
e[1] || (e[1] = E(" — ", -1)),
|
|
171
|
+
i("span", {
|
|
172
|
+
class: y({ "text-muted-foreground": !n.value.endDate })
|
|
173
|
+
}, x(n.value.endDate ? f(n.value.endDate) : s.placeholderEnd), 3)
|
|
171
174
|
])
|
|
172
175
|
]),
|
|
173
176
|
_: 1
|
|
174
177
|
}, 8, ["variant", "size", "disabled", "class"])
|
|
175
178
|
]),
|
|
176
|
-
menu:
|
|
177
|
-
|
|
178
|
-
s.showQuickRanges ? (d(),
|
|
179
|
-
e[
|
|
180
|
-
(d(!0),
|
|
181
|
-
key:
|
|
182
|
-
text:
|
|
183
|
-
icon:
|
|
179
|
+
menu: D(() => [
|
|
180
|
+
i("div", H, [
|
|
181
|
+
s.showQuickRanges ? (d(), w("div", Q, [
|
|
182
|
+
e[2] || (e[2] = i("div", { class: "text-xs pl-2 pb-2 font-semibold text-muted-foreground uppercase tracking-wider" }, " Quick Ranges ", -1)),
|
|
183
|
+
(d(!0), w(T, null, z(N.value, (t) => (d(), m(P, {
|
|
184
|
+
key: t.value,
|
|
185
|
+
text: t.label,
|
|
186
|
+
icon: t.icon,
|
|
184
187
|
variant: "ghost",
|
|
185
188
|
size: "sm",
|
|
186
189
|
class: "justify-start w-full font-normal",
|
|
187
|
-
onClick: (
|
|
190
|
+
onClick: (r) => V(t)
|
|
188
191
|
}, null, 8, ["text", "icon", "onClick"]))), 128))
|
|
189
|
-
])) :
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
(d(), m(
|
|
192
|
+
])) : B("", !0),
|
|
193
|
+
i("div", O, [
|
|
194
|
+
i("div", I, [
|
|
195
|
+
(d(), m(v(p), {
|
|
193
196
|
key: "start-" + c.value,
|
|
194
|
-
value: n.value.
|
|
197
|
+
value: n.value.startDate,
|
|
195
198
|
onChange: Y,
|
|
196
199
|
mode: "date",
|
|
197
|
-
"max-date":
|
|
200
|
+
"max-date": _.value,
|
|
198
201
|
"min-date": s.minDate,
|
|
199
202
|
disabled: s.disabled,
|
|
200
203
|
class: "min-w-[270px]",
|
|
201
204
|
readonly: s.readonly
|
|
202
205
|
}, null, 8, ["value", "max-date", "min-date", "disabled", "readonly"]))
|
|
203
206
|
]),
|
|
204
|
-
|
|
205
|
-
|
|
207
|
+
i("div", U, [
|
|
208
|
+
h(R, {
|
|
206
209
|
icon: "lucide:arrow-right",
|
|
207
210
|
class: "w-5 h-5 text-muted-foreground hidden sm:block opacity-50"
|
|
208
211
|
}),
|
|
209
|
-
|
|
212
|
+
h(R, {
|
|
210
213
|
icon: "lucide:arrow-down",
|
|
211
214
|
class: "w-5 h-5 text-muted-foreground sm:hidden opacity-50"
|
|
212
215
|
})
|
|
213
216
|
]),
|
|
214
|
-
|
|
215
|
-
(d(), m(
|
|
217
|
+
i("div", q, [
|
|
218
|
+
(d(), m(v(p), {
|
|
216
219
|
key: "end-" + c.value,
|
|
217
|
-
value: n.value.
|
|
218
|
-
onChange:
|
|
220
|
+
value: n.value.endDate,
|
|
221
|
+
onChange: S,
|
|
219
222
|
mode: "date",
|
|
220
223
|
"min-date": C.value,
|
|
221
224
|
"max-date": s.maxDate,
|
|
@@ -232,5 +235,5 @@ const $ = { class: "flex items-center justify-between gap-2 w-full" }, j = { cla
|
|
|
232
235
|
}
|
|
233
236
|
});
|
|
234
237
|
export {
|
|
235
|
-
|
|
238
|
+
te as default
|
|
236
239
|
};
|
|
@@ -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
|
*/
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"private": false,
|
|
4
4
|
"description": "A Vue 3 UI component library built with Tailwind CSS.",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "0.9.
|
|
6
|
+
"version": "0.9.9",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "index.js",
|
|
9
9
|
"module": "index.js",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"qrcode": "^1.5.4",
|
|
48
48
|
"scrollreveal": "^4.0.9",
|
|
49
49
|
"tailwindcss": "^4.1.18",
|
|
50
|
-
"v-datepicker-lite": "^0.1.
|
|
50
|
+
"v-datepicker-lite": "^0.1.10",
|
|
51
51
|
"v-file-preview": "^0.1.3",
|
|
52
52
|
"v-tooltip-lite": "^0.2.8",
|
|
53
53
|
"vue-carousel-lite": "^0.2.7",
|
package/style.css
CHANGED
|
@@ -973,5 +973,5 @@ textarea::-webkit-scrollbar-thumb:hover {
|
|
|
973
973
|
}
|
|
974
974
|
|
|
975
975
|
/* --- Vite Generated CSS --- */
|
|
976
|
-
input[data-v-9a771336]::-webkit-outer-spin-button,input[data-v-9a771336]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-9a771336]{-moz-appearance:textfield;appearance:textfield}@keyframes onAutoFillStart{0%{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{0%{opacity:1}to{opacity:1}}input.autofill-detect:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms;animation-fill-mode:both}input.autofill-detect:not(:-webkit-autofill){animation-name:onAutoFillCancel;animation-duration:1ms;animation-fill-mode:both}.dropdown-menu[data-v-c4c5d9e4]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-7c958115]{background-color:#00000052}.v-modal-backdrop[data-v-7c958115]{transform:translateZ(0);will-change:opacity}.modal-body[data-v-7c958115]{will-change:transform;contain:layout style}.blink-bg[data-v-7c958115]{animation:blink-animation-7c958115 1s infinite}@keyframes blink-animation-7c958115{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}.IroBox{border-radius:8px!important}.custom-fields-table[data-v-3674ca13]{will-change:transform;contain:layout style}.custom-fields-table[data-v-3674ca13] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-3674ca13] input,.custom-fields-table[data-v-3674ca13] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-3674ca13] input,.custom-fields-table[data-v-3674ca13] textarea,.custom-fields-table[data-v-3674ca13] select,.custom-fields-table[data-v-3674ca13] .input-wrapper,.custom-fields-table[data-v-3674ca13] .tooltip-trigger button{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-3674ca13] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-3674ca13] input:focus,.custom-fields-table[data-v-3674ca13] textarea:focus,.custom-fields-table[data-v-3674ca13] select:focus,.custom-fields-table[data-v-3674ca13] .input-wrapper:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-3674ca13] .w-full{width:100%;height:100%}.list-enter-active[data-v-3674ca13]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-3674ca13]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-e60dfb65]{display:flex;flex-direction:column}.form-field-item[data-v-e60dfb65]:has([role=switch]),.form-field-item[data-v-e60dfb65]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-06b1158f]{width:100%}[data-tabes][data-v-262d5698]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 1 0%;min-width:0}[data-tabes].inline-flex[data-v-262d5698]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes].inline-flex[data-v-262d5698]::-webkit-scrollbar{display:none}@media(max-width:480px){[data-tabes][data-v-262d5698]:not([class*=flex-wrap]){overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes][data-v-262d5698]:not([class*=flex-wrap])::-webkit-scrollbar{display:none}}.custom-scrollbar[data-v-3a733454]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-3a733454]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-3a733454]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-3a733454]{will-change:transform;contain:layout style}.custom-scrollbar-x[data-v-1285df4f]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-1285df4f]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-1285df4f]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-1285df4f]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-ff2923de]{background-color:#0003}.sidepanel-body[data-v-ff2923de]{will-change:transform;contain:layout style}.navbar-tabs-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.breadcrumb-item[data-v-ecb5df7c]{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb-link[data-v-ecb5df7c]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-ecb5df7c]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-ecb5df7c]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-ecb5df7c]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-ecb5df7c]{flex-shrink:0}.breadcrumb-list[data-v-d1e90135]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.38em}.breadcrumb--sm[data-v-d1e90135]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-d1e90135]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-d1e90135]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-d1e90135]{display:inline-flex;align-items:center;color:var(--color-gray-500);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-d1e90135]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-d1e90135]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-d1e90135]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-350)}.breadcrumb--contained[data-v-d1e90135]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-350)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-d1e90135]{gap:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-d1e90135]{display:none}.import-table[data-v-cfd99cc9]{width:100%;font-size:.875rem;text-align:left;border-collapse:collapse}.import-thead[data-v-cfd99cc9]{font-size:.75rem;color:var(--color-muted-foreground, #6b7280);text-transform:uppercase;background-color:var(--color-muted, #f3f4f6);position:sticky;top:0;z-index:10}.import-th[data-v-cfd99cc9]{padding:.75rem 1rem;font-weight:500}.import-th-center[data-v-cfd99cc9]{text-align:center;width:4rem}.import-tbody .import-tr[data-v-cfd99cc9]{border-bottom:1px solid var(--color-border, #e5e7eb)}.import-tbody .import-tr[data-v-cfd99cc9]:last-child{border-bottom:none}.import-tr-active[data-v-cfd99cc9]{transition:background-color .2s ease-in-out}.import-tr-active[data-v-cfd99cc9]:hover{background-color:var(--color-muted, #f3f4f6);opacity:.85}.import-tr-ignored[data-v-cfd99cc9]{background-color:var(--color-muted, #f3f4f6);opacity:.6}.import-td-header[data-v-cfd99cc9]{padding:.75rem 1rem;font-weight:500;color:var(--color-foreground, #111827);white-space:nowrap}.import-td-dropdown[data-v-cfd99cc9]{padding:.5rem 1rem;min-width:200px}.import-td-preview[data-v-cfd99cc9]{padding:.75rem 1rem;color:var(--color-muted-foreground, #6b7280);min-width:200px;max-width:300px}.import-td-action[data-v-cfd99cc9]{padding:.75rem 1rem;text-align:center;vertical-align:middle}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-e8fba320]{width:100%;position:relative;will-change:transform;contain:layout style}.file-tree-container[data-v-91337be9],.sheet-container[data-v-a5e9ca6f]{will-change:transform;contain:layout style}.accordion-enter-active[data-v-0075dffb],.accordion-leave-active[data-v-0075dffb]{transition:height .3s ease-in-out;will-change:height}.content-wrapper[data-v-0075dffb]{contain:paint}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.permission-matrix-wrapper[data-v-ba68e64a]{max-height:70vh;will-change:transform;contain:layout style}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.permission-list-wrapper[data-v-a42b2fb0]{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;background-color:var(--color-background);will-change:transform;contain:layout style}.custom-list-header[data-v-a42b2fb0]{background-color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]{border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);background-color:var(--color-background)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:hover{background-color:var(--color-accent)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:last-child{border-bottom:none}.custom-list-group-content+.custom-list-header[data-v-a42b2fb0],.custom-list-header+.custom-list-header[data-v-a42b2fb0]{border-top:1px solid var(--color-border)}.permission-list-wrapper>.custom-list-header[data-v-a42b2fb0]:last-child{border-bottom:none}.permission-matrix-wrapper[data-v-0b1ab970]{border:1px solid var(--color-border);background-color:var(--color-gray-100);border-radius:.5rem;overflow:auto;max-height:65vh;position:relative;will-change:transform;contain:layout style}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.custom-table[data-v-0b1ab970]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-0b1ab970]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-0b1ab970]{background-color:var(--color-gray-150);color:var(--color-foreground);background-clip:padding-box;border-bottom:none;border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);text-align:left;font-weight:600;min-width:200px}thead:not(.custom-sticky-header) .custom-th[data-v-0b1ab970]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-0b1ab970]{text-align:center;min-width:100px}.custom-th[data-v-0b1ab970]:first-child{border-left:none}.custom-td[data-v-0b1ab970]{border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-td.text-center[data-v-0b1ab970]{text-align:center}.custom-td[data-v-0b1ab970]:first-child{border-left:none}.custom-group-row td[data-v-0b1ab970]{background-color:var(--color-gray-100);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.custom-entity-row[data-v-0b1ab970]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-0b1ab970]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-0b1ab970]{border-bottom:none}.custom-active-cell[data-v-0b1ab970]{cursor:pointer}.custom-active-cell[data-v-0b1ab970]:hover{background-color:var(--color-accent)}.button-group[data-v-ba735fac] button{align-self:stretch;height:auto!important;min-height:unset!important;min-width:unset!important;width:auto!important}.button-group[data-v-ba735fac]:not(.vertical-group) button{aspect-ratio:unset}.attached-group[data-v-ba735fac] button{position:relative;--radius: .375rem}.attached-group[data-v-ba735fac] button:focus-visible,.attached-group[data-v-ba735fac] button:hover{z-index:10}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-ba735fac]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-ba735fac] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-ba735fac] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-ba735fac] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.toast-item[data-v-9c775c23]{will-change:transform,opacity;contain:layout style}.first-toast-enter-active[data-v-9c775c23]{animation:first-toast-in-9c775c23 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-9c775c23]{transition:all .25s ease-in}.first-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-9c775c23{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-9c775c23],.stack-toast-leave-active[data-v-9c775c23]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-9c775c23]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-9c775c23]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.cp-item-transition[data-v-66b1ae06]{transition:background-color 80ms ease,color 80ms ease}.command-palette-content[data-v-1bae4c0f] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-1bae4c0f] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-1bae4c0f] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-1bae4c0f]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
|
|
976
|
+
input[data-v-9a771336]::-webkit-outer-spin-button,input[data-v-9a771336]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-9a771336]{-moz-appearance:textfield;appearance:textfield}@keyframes onAutoFillStart{0%{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{0%{opacity:1}to{opacity:1}}input.autofill-detect:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms;animation-fill-mode:both}input.autofill-detect:not(:-webkit-autofill){animation-name:onAutoFillCancel;animation-duration:1ms;animation-fill-mode:both}.dropdown-menu[data-v-c4c5d9e4]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-7c958115]{background-color:#00000052}.v-modal-backdrop[data-v-7c958115]{transform:translateZ(0);will-change:opacity}.modal-body[data-v-7c958115]{will-change:transform;contain:layout style}.blink-bg[data-v-7c958115]{animation:blink-animation-7c958115 1s infinite}@keyframes blink-animation-7c958115{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}.IroBox{border-radius:8px!important}.custom-fields-table[data-v-3674ca13]{will-change:transform;contain:layout style}.custom-fields-table[data-v-3674ca13] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-3674ca13] input,.custom-fields-table[data-v-3674ca13] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-3674ca13] input,.custom-fields-table[data-v-3674ca13] textarea,.custom-fields-table[data-v-3674ca13] select,.custom-fields-table[data-v-3674ca13] .input-wrapper,.custom-fields-table[data-v-3674ca13] .tooltip-trigger button{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-3674ca13] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-3674ca13] input:focus,.custom-fields-table[data-v-3674ca13] textarea:focus,.custom-fields-table[data-v-3674ca13] select:focus,.custom-fields-table[data-v-3674ca13] .input-wrapper:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-3674ca13] .w-full{width:100%;height:100%}.list-enter-active[data-v-3674ca13]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-3674ca13]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-f2f7a787]{display:flex;flex-direction:column}.form-field-item[data-v-f2f7a787]:has([role=switch]),.form-field-item[data-v-f2f7a787]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-06b1158f]{width:100%}[data-tabes][data-v-262d5698]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 1 0%;min-width:0}[data-tabes].inline-flex[data-v-262d5698]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes].inline-flex[data-v-262d5698]::-webkit-scrollbar{display:none}@media(max-width:480px){[data-tabes][data-v-262d5698]:not([class*=flex-wrap]){overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}[data-tabes][data-v-262d5698]:not([class*=flex-wrap])::-webkit-scrollbar{display:none}}.custom-scrollbar[data-v-3a733454]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-3a733454]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-3a733454]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-3a733454]{will-change:transform;contain:layout style}.custom-scrollbar-x[data-v-1285df4f]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-1285df4f]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-1285df4f]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollable-container[data-v-1285df4f]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-ff2923de]{background-color:#0003}.sidepanel-body[data-v-ff2923de]{will-change:transform;contain:layout style}.navbar-tabs-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.breadcrumb-item[data-v-ecb5df7c]{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb-link[data-v-ecb5df7c]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-ecb5df7c]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-ecb5df7c]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-ecb5df7c]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-ecb5df7c]{flex-shrink:0}.breadcrumb-list[data-v-d1e90135]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.38em}.breadcrumb--sm[data-v-d1e90135]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-d1e90135]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-d1e90135]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-d1e90135]{display:inline-flex;align-items:center;color:var(--color-gray-500);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-d1e90135]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-d1e90135]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-d1e90135]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-350)}.breadcrumb--contained[data-v-d1e90135]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-350)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-d1e90135]{gap:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-d1e90135]{display:none}.import-table[data-v-cfd99cc9]{width:100%;font-size:.875rem;text-align:left;border-collapse:collapse}.import-thead[data-v-cfd99cc9]{font-size:.75rem;color:var(--color-muted-foreground, #6b7280);text-transform:uppercase;background-color:var(--color-muted, #f3f4f6);position:sticky;top:0;z-index:10}.import-th[data-v-cfd99cc9]{padding:.75rem 1rem;font-weight:500}.import-th-center[data-v-cfd99cc9]{text-align:center;width:4rem}.import-tbody .import-tr[data-v-cfd99cc9]{border-bottom:1px solid var(--color-border, #e5e7eb)}.import-tbody .import-tr[data-v-cfd99cc9]:last-child{border-bottom:none}.import-tr-active[data-v-cfd99cc9]{transition:background-color .2s ease-in-out}.import-tr-active[data-v-cfd99cc9]:hover{background-color:var(--color-muted, #f3f4f6);opacity:.85}.import-tr-ignored[data-v-cfd99cc9]{background-color:var(--color-muted, #f3f4f6);opacity:.6}.import-td-header[data-v-cfd99cc9]{padding:.75rem 1rem;font-weight:500;color:var(--color-foreground, #111827);white-space:nowrap}.import-td-dropdown[data-v-cfd99cc9]{padding:.5rem 1rem;min-width:200px}.import-td-preview[data-v-cfd99cc9]{padding:.75rem 1rem;color:var(--color-muted-foreground, #6b7280);min-width:200px;max-width:300px}.import-td-action[data-v-cfd99cc9]{padding:.75rem 1rem;text-align:center;vertical-align:middle}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-e8fba320]{width:100%;position:relative;will-change:transform;contain:layout style}.file-tree-container[data-v-91337be9],.sheet-container[data-v-a5e9ca6f]{will-change:transform;contain:layout style}.accordion-enter-active[data-v-0075dffb],.accordion-leave-active[data-v-0075dffb]{transition:height .3s ease-in-out;will-change:height}.content-wrapper[data-v-0075dffb]{contain:paint}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.permission-matrix-wrapper[data-v-ba68e64a]{max-height:70vh;will-change:transform;contain:layout style}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-ba68e64a]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.permission-list-wrapper[data-v-a42b2fb0]{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;background-color:var(--color-background);will-change:transform;contain:layout style}.custom-list-header[data-v-a42b2fb0]{background-color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]{border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);background-color:var(--color-background)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:hover{background-color:var(--color-accent)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:last-child{border-bottom:none}.custom-list-group-content+.custom-list-header[data-v-a42b2fb0],.custom-list-header+.custom-list-header[data-v-a42b2fb0]{border-top:1px solid var(--color-border)}.permission-list-wrapper>.custom-list-header[data-v-a42b2fb0]:last-child{border-bottom:none}.permission-matrix-wrapper[data-v-0b1ab970]{border:1px solid var(--color-border);background-color:var(--color-gray-100);border-radius:.5rem;overflow:auto;max-height:65vh;position:relative;will-change:transform;contain:layout style}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar{width:6px;height:6px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-track{background:transparent}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb{background:var(--color-gray-350);border-radius:3px}.permission-matrix-wrapper[data-v-0b1ab970]::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.custom-table[data-v-0b1ab970]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-0b1ab970]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-0b1ab970]{background-color:var(--color-gray-150);color:var(--color-foreground);background-clip:padding-box;border-bottom:none;border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);text-align:left;font-weight:600;min-width:200px}thead:not(.custom-sticky-header) .custom-th[data-v-0b1ab970]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-0b1ab970]{text-align:center;min-width:100px}.custom-th[data-v-0b1ab970]:first-child{border-left:none}.custom-td[data-v-0b1ab970]{border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-td.text-center[data-v-0b1ab970]{text-align:center}.custom-td[data-v-0b1ab970]:first-child{border-left:none}.custom-group-row td[data-v-0b1ab970]{background-color:var(--color-gray-100);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.custom-entity-row[data-v-0b1ab970]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-0b1ab970]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-0b1ab970]{border-bottom:none}.custom-active-cell[data-v-0b1ab970]{cursor:pointer}.custom-active-cell[data-v-0b1ab970]:hover{background-color:var(--color-accent)}.button-group[data-v-ba735fac] button{align-self:stretch;height:auto!important;min-height:unset!important;min-width:unset!important;width:auto!important}.button-group[data-v-ba735fac]:not(.vertical-group) button{aspect-ratio:unset}.attached-group[data-v-ba735fac] button{position:relative;--radius: .375rem}.attached-group[data-v-ba735fac] button:focus-visible,.attached-group[data-v-ba735fac] button:hover{z-index:10}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-ba735fac]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-ba735fac] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-ba735fac] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-ba735fac] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-ba735fac]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-ba735fac] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.toast-item[data-v-9c775c23]{will-change:transform,opacity;contain:layout style}.first-toast-enter-active[data-v-9c775c23]{animation:first-toast-in-9c775c23 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-9c775c23]{transition:all .25s ease-in}.first-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-9c775c23{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-9c775c23],.stack-toast-leave-active[data-v-9c775c23]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-9c775c23]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-9c775c23]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.cp-item-transition[data-v-66b1ae06]{transition:background-color 80ms ease,color 80ms ease}.command-palette-content[data-v-1bae4c0f] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-1bae4c0f] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-1bae4c0f] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-1bae4c0f]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
|
|
977
977
|
|
package/utils/functions.d.ts
CHANGED
|
@@ -117,7 +117,5 @@ export type DateRangeMode = 'week' | 'month' | '3-months' | '6-months' | 'year'
|
|
|
117
117
|
export interface DateRangeResult {
|
|
118
118
|
startDate: string;
|
|
119
119
|
endDate: string;
|
|
120
|
-
startDayjs: Dayjs;
|
|
121
|
-
endDayjs: Dayjs;
|
|
122
120
|
}
|
|
123
121
|
export declare const getDefaultDateRange: (mode?: DateRangeMode, maxDate?: Dayjs | string | Date, anchorDate?: Dayjs) => DateRangeResult;
|
package/utils/functions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { configState as f } from "../core/config.js";
|
|
2
2
|
import c from "dayjs";
|
|
3
|
-
const
|
|
3
|
+
const y = (t, r) => {
|
|
4
4
|
let e;
|
|
5
5
|
return (...n) => {
|
|
6
6
|
clearTimeout(e), e = setTimeout(() => {
|
|
@@ -44,14 +44,14 @@ function A(t, r) {
|
|
|
44
44
|
e ? (n = s, o = this) : (t.apply(this, s), e = setTimeout(a, r));
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
const M = (t) => typeof t != "string" ? "" : t.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/[\s-]+/g, "-").replace(/^-+|-+$/g, ""),
|
|
47
|
+
const M = (t) => typeof t != "string" ? "" : t.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/[\s-]+/g, "-").replace(/^-+|-+$/g, ""), k = (t, r) => {
|
|
48
48
|
if (!Number.isFinite(t) || !Number.isFinite(r))
|
|
49
49
|
throw new TypeError("Both min and max must be finite numbers");
|
|
50
50
|
if (t > r)
|
|
51
51
|
throw new RangeError(`min (${t}) must not be greater than max (${r})`);
|
|
52
52
|
const e = Math.ceil(t), n = Math.floor(r);
|
|
53
53
|
return Math.floor(Math.random() * (n - e + 1)) + e;
|
|
54
|
-
},
|
|
54
|
+
}, j = (t, r, e = "...") => {
|
|
55
55
|
if (typeof t != "string") return "";
|
|
56
56
|
if (!Number.isFinite(r) || r < 0 || t.length <= r) return t;
|
|
57
57
|
const n = r - e.length;
|
|
@@ -111,16 +111,14 @@ const M = (t) => typeof t != "string" ? "" : t.normalize("NFD").replace(/[\u0300
|
|
|
111
111
|
}
|
|
112
112
|
return {
|
|
113
113
|
startDate: o.format("YYYY-MM-DD"),
|
|
114
|
-
endDate: n.format("YYYY-MM-DD")
|
|
115
|
-
startDayjs: o,
|
|
116
|
-
endDayjs: n
|
|
114
|
+
endDate: n.format("YYYY-MM-DD")
|
|
117
115
|
};
|
|
118
116
|
};
|
|
119
117
|
export {
|
|
120
118
|
O as camelCase,
|
|
121
119
|
w as capitalize,
|
|
122
120
|
N as copyToClipboard,
|
|
123
|
-
|
|
121
|
+
y as debounce,
|
|
124
122
|
S as delay,
|
|
125
123
|
g as downloadFile,
|
|
126
124
|
l as flattenArray,
|
|
@@ -129,9 +127,9 @@ export {
|
|
|
129
127
|
b as getUniqueId,
|
|
130
128
|
h as isAppleDevice,
|
|
131
129
|
m as isEmpty,
|
|
132
|
-
|
|
130
|
+
k as randomNumber,
|
|
133
131
|
u as removeExtraProperties,
|
|
134
132
|
M as slugify,
|
|
135
133
|
A as throttle,
|
|
136
|
-
|
|
134
|
+
j as truncate
|
|
137
135
|
};
|