vlite3 0.8.7 → 0.8.8
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/Badge.vue.js +4 -4
- package/components/Button.vue.js +21 -21
- package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
- package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
- package/components/DataTable/DataTable.vue.js +34 -11
- package/components/FilePicker/FilePicker.vue.js +12 -12
- package/components/Form/Form.vue.js +2 -2
- package/components/Form/Form.vue2.js +2 -2
- package/components/Form/FormFields.vue.js +2 -2
- package/components/Form/FormFields.vue2.js +6 -6
- package/components/NavbarCommandPalette.vue.js +1 -1
- package/components/Screen/Screen.vue.js +197 -218
- package/package.json +1 -1
- package/style.css +1 -1
package/components/Badge.vue.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { defineComponent as b, computed as
|
|
1
|
+
import { defineComponent as b, computed as a, openBlock as d, createElementBlock as u, normalizeClass as i, renderSlot as c } from "vue";
|
|
2
2
|
const p = /* @__PURE__ */ b({
|
|
3
3
|
__name: "Badge",
|
|
4
4
|
props: {
|
|
5
5
|
variant: { default: "default" },
|
|
6
|
-
size: { default: "
|
|
6
|
+
size: { default: "sm" },
|
|
7
7
|
rounded: { default: "full" },
|
|
8
8
|
class: { default: "" }
|
|
9
9
|
},
|
|
10
10
|
setup(o) {
|
|
11
|
-
const e = o, s =
|
|
11
|
+
const e = o, s = a(() => {
|
|
12
12
|
const r = {
|
|
13
13
|
xs: "px-1.5 h-5 text-[10.5px] leading-none",
|
|
14
14
|
sm: "px-2 h-6 text-xs font-medium",
|
|
@@ -33,7 +33,7 @@ const p = /* @__PURE__ */ b({
|
|
|
33
33
|
};
|
|
34
34
|
return [l, t[e.variant] || t.default, e.class].join(" ");
|
|
35
35
|
});
|
|
36
|
-
return (r, n) => (
|
|
36
|
+
return (r, n) => (d(), u("div", {
|
|
37
37
|
class: i(s.value)
|
|
38
38
|
}, [
|
|
39
39
|
c(r.$slots, "default")
|
package/components/Button.vue.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as B, computed as o, useSlots as R, inject as S, withDirectives as G, openBlock as s, createElementBlock as h, normalizeClass as
|
|
1
|
+
import { defineComponent as B, computed as o, useSlots as R, inject as S, withDirectives as G, openBlock as s, createElementBlock as h, normalizeClass as r, createBlock as u, createCommentVNode as m, renderSlot as b, createTextVNode as f, toDisplayString as x, unref as $ } from "vue";
|
|
2
2
|
import g from "./Icon.vue.js";
|
|
3
3
|
import { vRipple as j } from "../directives/vRipple.js";
|
|
4
4
|
import { $t as V } from "../utils/i18n.js";
|
|
@@ -25,7 +25,7 @@ const D = ["type", "disabled"], q = /* @__PURE__ */ B({
|
|
|
25
25
|
const t = e, a = o(() => t.textI18n ? V(t.textI18n) : t.text), v = R(), l = o(
|
|
26
26
|
() => t?.asIcon || t.icon && !a.value && !v.default
|
|
27
27
|
), p = S("buttonGroup", null), w = o(() => !!p?.isInGroup), y = o(() => {
|
|
28
|
-
const n = "inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background focus-visible:outline-none
|
|
28
|
+
const n = "inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background focus-visible:outline-none focus:border focus:border-primary disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] cursor-pointer gap-2", i = {
|
|
29
29
|
primary: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
30
30
|
"primary-light": "bg-primary-light text-primary-fg-light hover:bg-primary/20",
|
|
31
31
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
@@ -77,12 +77,12 @@ const D = ["type", "disabled"], q = /* @__PURE__ */ B({
|
|
|
77
77
|
"2xl": "rounded-2xl",
|
|
78
78
|
full: "rounded-full"
|
|
79
79
|
};
|
|
80
|
-
let
|
|
81
|
-
return l.value ?
|
|
80
|
+
let d;
|
|
81
|
+
return l.value ? d = w.value ? k[t.size] : C[t.size] : d = z[t.size], [
|
|
82
82
|
n,
|
|
83
|
-
|
|
83
|
+
i[t.variant],
|
|
84
84
|
I[t.rounded],
|
|
85
|
-
|
|
85
|
+
d,
|
|
86
86
|
t.class
|
|
87
87
|
].join(" ");
|
|
88
88
|
}), c = o(() => {
|
|
@@ -93,7 +93,7 @@ const D = ["type", "disabled"], q = /* @__PURE__ */ B({
|
|
|
93
93
|
md: "w-4 h-4",
|
|
94
94
|
lg: "w-4 h-4",
|
|
95
95
|
xl: "w-4 h-4"
|
|
96
|
-
},
|
|
96
|
+
}, i = {
|
|
97
97
|
xs: "w-3 h-3",
|
|
98
98
|
sm: "w-4 h-4",
|
|
99
99
|
sm2: "w-4 h-4",
|
|
@@ -101,36 +101,36 @@ const D = ["type", "disabled"], q = /* @__PURE__ */ B({
|
|
|
101
101
|
lg: "w-4 h-4",
|
|
102
102
|
xl: "w-4 h-4"
|
|
103
103
|
};
|
|
104
|
-
return l.value ?
|
|
104
|
+
return l.value ? i[t.size] : n[t.size];
|
|
105
105
|
});
|
|
106
|
-
return (n,
|
|
106
|
+
return (n, i) => G((s(), h("button", {
|
|
107
107
|
type: e.type,
|
|
108
|
-
class:
|
|
108
|
+
class: r([y.value, "cursor-pointer"]),
|
|
109
109
|
disabled: e.disabled || e.loading
|
|
110
110
|
}, [
|
|
111
|
-
e.loading ? (s(),
|
|
111
|
+
e.loading ? (s(), u(g, {
|
|
112
112
|
key: 0,
|
|
113
113
|
icon: "lucide:loader-2",
|
|
114
|
-
class:
|
|
115
|
-
}, null, 8, ["class"])) : e.icon ? (s(),
|
|
114
|
+
class: r(["animate-spin pointer-events-none", c.value])
|
|
115
|
+
}, null, 8, ["class"])) : e.icon ? (s(), u(g, {
|
|
116
116
|
key: 1,
|
|
117
117
|
icon: e.icon,
|
|
118
|
-
class:
|
|
118
|
+
class: r(["pointer-events-none", [e.iconClass, c.value, l.value ? "mx-auto" : ""]])
|
|
119
119
|
}, null, 8, ["icon", "class"])) : m("", !0),
|
|
120
120
|
e.textClass ? (s(), h("span", {
|
|
121
121
|
key: 2,
|
|
122
|
-
class:
|
|
122
|
+
class: r(e.textClass)
|
|
123
123
|
}, [
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
b(n.$slots, "default", {}, () => [
|
|
125
|
+
f(x(a.value), 1)
|
|
126
126
|
])
|
|
127
|
-
], 2)) :
|
|
128
|
-
|
|
127
|
+
], 2)) : b(n.$slots, "default", { key: 3 }, () => [
|
|
128
|
+
f(x(a.value), 1)
|
|
129
129
|
]),
|
|
130
|
-
e.iconRight && !e.loading ? (s(),
|
|
130
|
+
e.iconRight && !e.loading ? (s(), u(g, {
|
|
131
131
|
key: 4,
|
|
132
132
|
icon: e.iconRight,
|
|
133
|
-
class:
|
|
133
|
+
class: r([[e.iconRightClass, c.value], "h-4 w-4 pointer-events-none"])
|
|
134
134
|
}, null, 8, ["icon", "class"])) : m("", !0)
|
|
135
135
|
], 10, D)), [
|
|
136
136
|
[$(j)]
|
|
@@ -4,7 +4,7 @@ import k from "../Icon.vue.js";
|
|
|
4
4
|
import { $t as E } from "../../utils/i18n.js";
|
|
5
5
|
import { useCommandPaletteItems as Y } from "./useCommandPaletteItems.js";
|
|
6
6
|
import { useCommandPaletteNav as Z } from "./useCommandPaletteNav.js";
|
|
7
|
-
import ee from "./CommandPaletteItem.
|
|
7
|
+
import ee from "./CommandPaletteItem.vue.js";
|
|
8
8
|
const te = { class: "command-palette-content flex flex-col w-full h-full max-h-[70vh]" }, oe = { class: "flex items-center gap-3 px-4 py-3 border-b border-border/60 shrink-0" }, se = ["placeholder"], ne = ["aria-label"], re = {
|
|
9
9
|
key: 0,
|
|
10
10
|
class: "flex flex-col items-center justify-center py-14 px-6 text-center select-none",
|
|
@@ -24,7 +24,7 @@ const $e = { class: "space-y-6.5" }, Be = { class: "overflow-x-auto w-full" }, E
|
|
|
24
24
|
rows: { default: () => [] },
|
|
25
25
|
selectedRows: { default: () => [] },
|
|
26
26
|
search: { default: "" },
|
|
27
|
-
showSearch: { type: Boolean, default: !
|
|
27
|
+
showSearch: { type: Boolean, default: !1 },
|
|
28
28
|
searchPlaceholder: {},
|
|
29
29
|
searchPlaceholderI18n: {},
|
|
30
30
|
toolbarClass: {},
|
|
@@ -83,13 +83,22 @@ const $e = { class: "space-y-6.5" }, Be = { class: "overflow-x-auto w-full" }, E
|
|
|
83
83
|
V && clearTimeout(V), V = setTimeout(() => {
|
|
84
84
|
h.value = 1, R();
|
|
85
85
|
}, 300);
|
|
86
|
-
}), g(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
86
|
+
}), g(
|
|
87
|
+
() => a.pageInfo?.itemsPerPage,
|
|
88
|
+
(e) => {
|
|
89
|
+
e !== void 0 && (P.value = e);
|
|
90
|
+
}
|
|
91
|
+
), g(
|
|
92
|
+
() => a.paginationProps?.itemsPerPage,
|
|
93
|
+
(e) => {
|
|
94
|
+
e !== void 0 && (P.value = e);
|
|
95
|
+
}
|
|
96
|
+
), g(
|
|
97
|
+
() => a.pageInfo?.currentPage,
|
|
98
|
+
(e) => {
|
|
99
|
+
e && (h.value = e);
|
|
100
|
+
}
|
|
101
|
+
);
|
|
93
102
|
const s = y(/* @__PURE__ */ new Set());
|
|
94
103
|
g(
|
|
95
104
|
() => a.selectedRows,
|
|
@@ -118,7 +127,11 @@ const $e = { class: "space-y-6.5" }, Be = { class: "overflow-x-auto w-full" }, E
|
|
|
118
127
|
}), (a.selectedRows || []).forEach((l) => {
|
|
119
128
|
const n = c(l, d.value);
|
|
120
129
|
!e.has(n) && s.value.has(n) && (t.push(l), e.add(n));
|
|
121
|
-
}), b("select", {
|
|
130
|
+
}), b("select", {
|
|
131
|
+
selected: t,
|
|
132
|
+
all: M.value,
|
|
133
|
+
indeterminate: O.value
|
|
134
|
+
}), b("update:selectedRows", t);
|
|
122
135
|
}, le = (e) => {
|
|
123
136
|
const t = a.headers.find((n) => n.field === e), l = t ? Q(t) : e;
|
|
124
137
|
u.value.field === l ? u.value.order === "asc" ? u.value.order = "desc" : u.value.order === "desc" ? (u.value.order = "", u.value.field = "") : u.value.order = "asc" : (u.value.field = l, u.value.order = "asc"), h.value = 1, R();
|
|
@@ -154,7 +167,11 @@ const $e = { class: "space-y-6.5" }, Be = { class: "overflow-x-auto w-full" }, E
|
|
|
154
167
|
"overflow-hidden",
|
|
155
168
|
a.bordered ? "border border-border" : "",
|
|
156
169
|
a.class
|
|
157
|
-
].join(" ")), ie = r(() => ["w-full caption-bottom -text-fs-1", a.tableClass].join(" ")), de = (e) => e.width || "auto", ce = r(
|
|
170
|
+
].join(" ")), ie = r(() => ["w-full caption-bottom -text-fs-1", a.tableClass].join(" ")), de = (e) => e.width || "auto", ce = r(
|
|
171
|
+
() => a.emptyTitleI18n ? w(a.emptyTitleI18n) : a.emptyTitle
|
|
172
|
+
), ue = r(
|
|
173
|
+
() => a.emptyDescriptionI18n ? w(a.emptyDescriptionI18n) : a.emptyDescription
|
|
174
|
+
), me = r(() => {
|
|
158
175
|
const e = w("vlite.dataTable.confirmDeleteTitle");
|
|
159
176
|
return e !== "vlite.dataTable.confirmDeleteTitle" ? e : "Confirm Deletion";
|
|
160
177
|
}), fe = r(() => {
|
|
@@ -267,7 +284,13 @@ const $e = { class: "space-y-6.5" }, Be = { class: "overflow-x-auto w-full" }, E
|
|
|
267
284
|
]));
|
|
268
285
|
return S.memo = C, S;
|
|
269
286
|
}, t, 2), 128)) : o.rows.length > 0 ? (i(!0), m(A, { key: 1 }, B(o.rows, (l, n, ge, v) => {
|
|
270
|
-
const C = [
|
|
287
|
+
const C = [
|
|
288
|
+
l,
|
|
289
|
+
s.value.has(c(l, d.value)),
|
|
290
|
+
o.compact,
|
|
291
|
+
o.striped,
|
|
292
|
+
o.hoverable
|
|
293
|
+
];
|
|
271
294
|
if (v && v.key === c(l, d.value) && W(v, C)) return v;
|
|
272
295
|
const S = (i(), F(Te, {
|
|
273
296
|
key: c(l, d.value),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as Y, computed as f, ref as S, useSlots as Z, openBlock as r, createElementBlock as c, createElementVNode as n, renderSlot as _, normalizeClass as C, createBlock as x, withModifiers as M, createVNode as
|
|
1
|
+
import { defineComponent as Y, computed as f, ref as S, useSlots as Z, openBlock as r, createElementBlock as c, createElementVNode as n, renderSlot as _, normalizeClass as C, createBlock as x, withModifiers as M, createVNode as w, toDisplayString as b, createTextVNode as ee, createCommentVNode as F, Fragment as le, renderList as te } from "vue";
|
|
2
2
|
import p from "../Icon.vue.js";
|
|
3
3
|
import P from "../Button.vue.js";
|
|
4
4
|
import { $t as k } from "../../utils/i18n.js";
|
|
@@ -14,7 +14,7 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
14
14
|
}, be = {
|
|
15
15
|
key: 2,
|
|
16
16
|
class: "absolute inset-0 bg-white/80 flex items-center justify-center rounded-lg z-10"
|
|
17
|
-
}, ke = { class: "bg-white p-2 rounded-full
|
|
17
|
+
}, ke = { class: "bg-white p-2 rounded-full" }, Se = /* @__PURE__ */ Y({
|
|
18
18
|
name: "FilePicker",
|
|
19
19
|
__name: "FilePicker",
|
|
20
20
|
props: {
|
|
@@ -49,7 +49,7 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
49
49
|
return l !== "vlite.filePicker.addMore" ? l : "Add more";
|
|
50
50
|
}), z = S(null), h = S(!1), u = S(!1);
|
|
51
51
|
Z();
|
|
52
|
-
const U = f(() => e.fileTypes.join(",")), A = f(() => Array.isArray(e.modelValue) ? e.modelValue.length > 0 : e.modelValue !== null),
|
|
52
|
+
const U = f(() => e.fileTypes.join(",")), A = f(() => Array.isArray(e.modelValue) ? e.modelValue.length > 0 : e.modelValue !== null), V = f(() => {
|
|
53
53
|
let l = [];
|
|
54
54
|
return Array.isArray(e.modelValue) ? l = e.modelValue : e.modelValue && (l = [e.modelValue]), l.map((t) => {
|
|
55
55
|
if (typeof t == "string") {
|
|
@@ -153,7 +153,7 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
153
153
|
d("update:modelValue", null), d("change", null);
|
|
154
154
|
}, H = () => {
|
|
155
155
|
e.disabled || e.loading || (d("update:modelValue", null), d("change", null));
|
|
156
|
-
}, J = f(() => A.value ?
|
|
156
|
+
}, J = f(() => A.value ? V.value.map((t) => t.fileName).join(", ") : ""), Q = f(() => {
|
|
157
157
|
const l = "block w-full bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 transition-all focus-visible:outline-none cursor-pointer", t = {
|
|
158
158
|
sm: "h-8 text-xs",
|
|
159
159
|
md: "h-10 text-sm",
|
|
@@ -192,7 +192,7 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
192
192
|
trigger: v,
|
|
193
193
|
isDragging: h.value,
|
|
194
194
|
isLoading: i.loading || u.value,
|
|
195
|
-
files:
|
|
195
|
+
files: V.value
|
|
196
196
|
}, () => [
|
|
197
197
|
i.variant === "input" ? (r(), c("div", {
|
|
198
198
|
key: 0,
|
|
@@ -218,7 +218,7 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
218
218
|
class: "text-muted-foreground hover:text-foreground focus:outline-none",
|
|
219
219
|
onClick: M(H, ["stop"])
|
|
220
220
|
}, [
|
|
221
|
-
|
|
221
|
+
w(p, {
|
|
222
222
|
icon: "lucide:x-circle",
|
|
223
223
|
class: "h-4 w-4"
|
|
224
224
|
})
|
|
@@ -236,14 +236,14 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
236
236
|
onDrop: R
|
|
237
237
|
}, [
|
|
238
238
|
A.value ? (r(), c("div", fe, [
|
|
239
|
-
(r(!0), c(le, null, te(
|
|
239
|
+
(r(!0), c(le, null, te(V.value, (a, s) => (r(), c("div", {
|
|
240
240
|
key: s,
|
|
241
|
-
class: C(["relative flex items-center p-3 border border-border rounded-lg bg-body
|
|
241
|
+
class: C(["relative flex items-center p-3 border border-border rounded-lg bg-body transition-colors group", [!i.multiSelect && !i.disabled ? "cursor-pointer hover:border-primary/50" : ""]]),
|
|
242
242
|
onClick: t[0] || (t[0] = (m) => !i.multiSelect && !i.disabled ? v() : null)
|
|
243
243
|
}, [
|
|
244
244
|
n("div", me, [
|
|
245
245
|
n("div", ge, [
|
|
246
|
-
|
|
246
|
+
w(p, {
|
|
247
247
|
icon: "lucide:file-text",
|
|
248
248
|
class: "w-5 h-5"
|
|
249
249
|
})
|
|
@@ -265,8 +265,8 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
265
265
|
}, null, 8, ["onClick"])) : F("", !0)
|
|
266
266
|
])
|
|
267
267
|
], 2))), 128)),
|
|
268
|
-
i.multiSelect && (!i.maxFiles ||
|
|
269
|
-
|
|
268
|
+
i.multiSelect && (!i.maxFiles || V.value.length < i.maxFiles) ? (r(), c("div", xe, [
|
|
269
|
+
w(P, {
|
|
270
270
|
size: "sm",
|
|
271
271
|
variant: "outline",
|
|
272
272
|
icon: "lucide:plus",
|
|
@@ -304,7 +304,7 @@ const ie = { class: "w-full" }, oe = ["multiple", "accept"], ae = ["value", "pla
|
|
|
304
304
|
], 2)),
|
|
305
305
|
i.loading || u.value ? (r(), c("div", be, [
|
|
306
306
|
n("div", ke, [
|
|
307
|
-
|
|
307
|
+
w(p, {
|
|
308
308
|
icon: "lucide:loader-2",
|
|
309
309
|
class: "w-6 h-6 animate-spin text-primary"
|
|
310
310
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Form.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-d7b4ffda"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
a as default
|
|
7
7
|
};
|
|
@@ -319,7 +319,7 @@ const Re = ["onKeydown"], Pe = { class: "flex items-center gap-3" }, Ne = { clas
|
|
|
319
319
|
ref_key: "footerRef",
|
|
320
320
|
ref: oe,
|
|
321
321
|
class: f([
|
|
322
|
-
"form-footer items-center gap-3 z-20",
|
|
322
|
+
"form-footer items-center gap-3 z-20 rounded-b!",
|
|
323
323
|
e.isPage ? "flex sm:hidden" : "flex",
|
|
324
324
|
e.footerClass,
|
|
325
325
|
r.value ? "justify-between" : "justify-end",
|
|
@@ -331,7 +331,7 @@ const Re = ["onKeydown"], Pe = { class: "flex items-center gap-3" }, Ne = { clas
|
|
|
331
331
|
// Show a subtle top shadow while content is scrolling beneath the sticky footer
|
|
332
332
|
(S.value && J.value, ""),
|
|
333
333
|
// Inside modal: extend footer flush to modal edge padding
|
|
334
|
-
x.value ? "-mx-4 px-4 pb-3!" : "",
|
|
334
|
+
x.value ? "-mx-4 px-4 pb-3! mt-4.5!" : "",
|
|
335
335
|
// Non-sticky inside modal keeps the original border styling
|
|
336
336
|
!S.value && x.value ? "border-t border-border/75 mt-5" : "",
|
|
337
337
|
!S.value && !x.value ? "mt-6" : ""
|
|
@@ -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 s = /* @__PURE__ */ r(o, [["__scopeId", "data-v-1139135c"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
s as default
|
|
7
7
|
};
|
|
@@ -14,7 +14,7 @@ const Z = {
|
|
|
14
14
|
class: "text-destructive ml-0.5"
|
|
15
15
|
}, ae = {
|
|
16
16
|
key: 2,
|
|
17
|
-
class: "mt-1 text-
|
|
17
|
+
class: "mt-1 -text-fs-2.5 text-destructive"
|
|
18
18
|
}, ie = /* @__PURE__ */ M({
|
|
19
19
|
__name: "FormFields",
|
|
20
20
|
props: {
|
|
@@ -39,9 +39,9 @@ const Z = {
|
|
|
39
39
|
}), F = (t) => W(o.values, t.name), l = (t) => o.errors[t.name] || "", $ = (t) => o.isFieldVisible ? o.isFieldVisible(t) : !0, x = (t) => o.isFieldDisabled ? o.isFieldDisabled(t) : t.disabled === !0, A = (t) => o.isFieldReadonly ? o.isFieldReadonly(t) : t.readonly === !0, u = (t) => t.labelI18n ? Y(t.labelI18n) : t.label, w = (t) => {
|
|
40
40
|
if (t)
|
|
41
41
|
return v(t) ? Q(t) : t;
|
|
42
|
-
},
|
|
42
|
+
}, f = (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);
|
|
@@ -92,7 +92,7 @@ const Z = {
|
|
|
92
92
|
a.fieldLoading[e.name]
|
|
93
93
|
], () => (s(), r("div", {
|
|
94
94
|
key: 0,
|
|
95
|
-
class: d(["max-md:col-span-full! form-field-item",
|
|
95
|
+
class: d(["max-md:col-span-full! form-field-item", B(e)])
|
|
96
96
|
}, [
|
|
97
97
|
u(e) && e.type !== "switch" && e.type !== "check" && e.type !== "customFields" && !b(e) ? (s(), h(U, {
|
|
98
98
|
key: 0,
|
|
@@ -144,8 +144,8 @@ const Z = {
|
|
|
144
144
|
error: l(e),
|
|
145
145
|
isUpdate: a.isUpdate,
|
|
146
146
|
loading: a.fieldLoading[e.name],
|
|
147
|
-
onChange: (i) =>
|
|
148
|
-
onAddonChange:
|
|
147
|
+
onChange: (i) => f(e, i),
|
|
148
|
+
onAddonChange: I,
|
|
149
149
|
onAddonAction: E
|
|
150
150
|
}, null, 8, ["field", "value", "floatingActive", "label", "values", "variant", "size", "rounded", "disabled", "readonly", "error", "isUpdate", "loading", "onChange"])
|
|
151
151
|
], 42, _),
|
|
@@ -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 R } from "../utils/i18n.js";
|
|
6
|
-
/* empty css
|
|
6
|
+
/* empty css */
|
|
7
7
|
const U = { class: "block truncate -text-fs-1.5" }, V = { 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" }, q = /* @__PURE__ */ x({
|
|
8
8
|
__name: "NavbarCommandPalette",
|
|
9
9
|
props: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as Re, useSlots as Ee, computed as
|
|
1
|
+
import { defineComponent as Re, useSlots as Ee, computed as n, ref as h, markRaw as H, provide as K, watch as J, resolveComponent as je, openBlock as a, createElementBlock as s, normalizeClass as N, createElementVNode as g, renderSlot as y, toDisplayString as p, createBlock as f, withCtx as u, createVNode as c, createCommentVNode as d, unref as x, resolveDynamicComponent as Q, Fragment as C, mergeProps as v, createTextVNode as S, renderList as Ae } from "vue";
|
|
2
2
|
import Oe from "../Input.vue.js";
|
|
3
3
|
/* empty css */
|
|
4
|
-
import
|
|
4
|
+
import w from "../Button.vue.js";
|
|
5
5
|
import F from "../Icon.vue.js";
|
|
6
6
|
import Ne from "../Tooltip.vue.js";
|
|
7
7
|
import X from "../Modal.vue.js";
|
|
@@ -28,10 +28,10 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
28
28
|
}, lt = ["title"], at = ["title"], nt = {
|
|
29
29
|
key: 4,
|
|
30
30
|
class: "w-full md:w-60! max-sm:order-last"
|
|
31
|
-
}, ot = { class: "flex items-center gap-3 max-sm:w-full sm:w-auto max-sm:order-last" }, it = ["href", "target"], rt = ["href", "target"],
|
|
31
|
+
}, ot = { class: "flex items-center gap-3 max-sm:w-full sm:w-auto max-sm:order-last" }, it = ["href", "target"], rt = ["href", "target"], st = {
|
|
32
32
|
key: 4,
|
|
33
33
|
class: "p-8 text-center text-muted-foreground border border-dashed border-border rounded-lg"
|
|
34
|
-
},
|
|
34
|
+
}, dt = {
|
|
35
35
|
key: 2,
|
|
36
36
|
class: "-mt-2"
|
|
37
37
|
}, ct = { class: "px-1 py-1 text-sm" }, ut = { class: "font-medium mb-3 text-muted-foreground" }, ft = { class: "space-y-3" }, mt = { key: 4 }, Et = /* @__PURE__ */ Re({
|
|
@@ -84,32 +84,32 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
84
84
|
},
|
|
85
85
|
emits: ["add", "delete"],
|
|
86
86
|
setup(t, { emit: ne }) {
|
|
87
|
-
const l = t,
|
|
87
|
+
const l = t, $ = Je(), Y = ne, R = Ee(), oe = n(() => l.name || l.title || "default-screen"), B = Ke(
|
|
88
88
|
`view-mode-${oe.value}`,
|
|
89
89
|
l.table || R.table ? "table" : "list"
|
|
90
|
-
),
|
|
90
|
+
), k = h(""), b = h({}), G = h({ field: "", order: "" }), T = h(l.pageInfo?.currentPage || 1), M = h(l.pageInfo?.itemsPerPage || l.paginationProps?.itemsPerPage || 10), m = h([]), E = h([]), V = h(!1), j = n(
|
|
91
91
|
() => l.addComponent ? H(l.addComponent) : void 0
|
|
92
|
-
), W =
|
|
92
|
+
), W = n(
|
|
93
93
|
() => l.addBtn?.modal ? H(l.addBtn.modal) : void 0
|
|
94
|
-
), Z =
|
|
94
|
+
), Z = n(() => {
|
|
95
95
|
let e;
|
|
96
|
-
return
|
|
97
|
-
}), ie =
|
|
96
|
+
return B.value === "table" ? e = l.table || !!R.table : e = l.list || !!R.list || !!R.grid, typeof e == "object" && e !== null ? H(e) : e;
|
|
97
|
+
}), ie = n(() => k.value && k.value.trim() !== "" ? !0 : b.value ? Object.keys(b.value).some(
|
|
98
98
|
(e) => b.value[e] !== "" && b.value[e] !== null && b.value[e] !== void 0
|
|
99
99
|
) : !1), re = {
|
|
100
100
|
disableSearch: !0,
|
|
101
101
|
forceSelectable: l.canSelectRows,
|
|
102
102
|
onTableChange: (e) => {
|
|
103
|
-
G.value = { field: e.sort.field, order: e.sort.order },
|
|
103
|
+
G.value = { field: e.sort.field, order: e.sort.order }, D();
|
|
104
104
|
}
|
|
105
105
|
};
|
|
106
|
-
K(Qe, re), K("screen-selected-rows",
|
|
107
|
-
const
|
|
106
|
+
K(Qe, re), K("screen-selected-rows", m), K("screen-request-delete", (e) => I(e));
|
|
107
|
+
const I = (e) => {
|
|
108
108
|
E.value = e, V.value = !0;
|
|
109
|
-
},
|
|
110
|
-
Y("delete", E.value), V.value = !1,
|
|
111
|
-
},
|
|
112
|
-
Y("delete", e),
|
|
109
|
+
}, se = () => {
|
|
110
|
+
Y("delete", E.value), V.value = !1, m.value = [];
|
|
111
|
+
}, de = (e) => {
|
|
112
|
+
Y("delete", e), m.value = [];
|
|
113
113
|
};
|
|
114
114
|
J(
|
|
115
115
|
() => l.pageInfo?.currentPage,
|
|
@@ -123,84 +123,84 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
123
123
|
}
|
|
124
124
|
);
|
|
125
125
|
let L = null;
|
|
126
|
-
J(
|
|
126
|
+
J(k, () => {
|
|
127
127
|
L && clearTimeout(L), L = setTimeout(() => {
|
|
128
|
-
T.value = 1,
|
|
128
|
+
T.value = 1, D();
|
|
129
129
|
}, 300);
|
|
130
130
|
});
|
|
131
131
|
const ce = (e) => {
|
|
132
|
-
T.value = e,
|
|
132
|
+
T.value = e, D();
|
|
133
133
|
}, ue = (e) => {
|
|
134
|
-
M.value = e, T.value = 1,
|
|
135
|
-
},
|
|
134
|
+
M.value = e, T.value = 1, D();
|
|
135
|
+
}, D = () => {
|
|
136
136
|
l.refetch && l.refetch({
|
|
137
137
|
pagination: { page: T.value, limit: M.value },
|
|
138
|
-
search:
|
|
138
|
+
search: k.value,
|
|
139
139
|
sort: { ...G.value },
|
|
140
140
|
filter: { ...b.value }
|
|
141
141
|
});
|
|
142
|
-
}, fe =
|
|
142
|
+
}, fe = n(() => l.data && l.data.length > 0), _ = n(() => l.titleI18n ? r(l.titleI18n) : l.title), ee = n(
|
|
143
143
|
() => l.descriptionI18n ? r(l.descriptionI18n) : l.description
|
|
144
|
-
), me =
|
|
144
|
+
), me = n(() => {
|
|
145
145
|
const e = r("vlite.screen.deleteSelected");
|
|
146
146
|
return e !== "vlite.screen.deleteSelected" ? e : "Delete Selected";
|
|
147
|
-
}), ve =
|
|
147
|
+
}), ve = n(() => {
|
|
148
148
|
const e = r("vlite.screen.listView");
|
|
149
149
|
return e !== "vlite.screen.listView" ? e : "List View";
|
|
150
|
-
}),
|
|
150
|
+
}), he = n(() => {
|
|
151
151
|
const e = r("vlite.screen.tableView");
|
|
152
152
|
return e !== "vlite.screen.tableView" ? e : "Table View";
|
|
153
|
-
}),
|
|
153
|
+
}), ge = n(() => {
|
|
154
154
|
const e = r("vlite.screen.refresh");
|
|
155
155
|
return e !== "vlite.screen.refresh" ? e : "Refresh";
|
|
156
|
-
}),
|
|
156
|
+
}), pe = n(() => {
|
|
157
157
|
const e = r("vlite.screen.searchPlaceholder");
|
|
158
158
|
return e !== "vlite.screen.searchPlaceholder" ? e : "Search...";
|
|
159
|
-
}),
|
|
159
|
+
}), ye = n(() => {
|
|
160
160
|
const e = r("vlite.screen.confirmDeleteTitle");
|
|
161
161
|
return e !== "vlite.screen.confirmDeleteTitle" ? e : "Confirm Deletion";
|
|
162
|
-
}),
|
|
162
|
+
}), xe = n(() => {
|
|
163
163
|
const e = r("vlite.screen.confirmDeleteDesc", { count: E.value.length });
|
|
164
164
|
return e !== "vlite.screen.confirmDeleteDesc" ? e : `Are you sure you want to delete the selected ${E.value.length > 1 ? "items" : "item"}?`;
|
|
165
|
-
}),
|
|
165
|
+
}), we = n(() => {
|
|
166
166
|
const e = r("vlite.screen.confirmDeleteBtn");
|
|
167
167
|
return e !== "vlite.screen.confirmDeleteBtn" ? e : "Delete";
|
|
168
|
-
}), be =
|
|
168
|
+
}), be = n(() => {
|
|
169
169
|
const e = r("vlite.screen.cancelBtn");
|
|
170
170
|
return e !== "vlite.screen.cancelBtn" ? e : "Cancel";
|
|
171
|
-
}), Be =
|
|
171
|
+
}), Be = n(() => {
|
|
172
172
|
const e = r("vlite.screen.missingView");
|
|
173
173
|
return e !== "vlite.screen.missingView" ? e : "Please provide a `:list` or `:table` component or slot.";
|
|
174
|
-
}),
|
|
174
|
+
}), P = n(() => {
|
|
175
175
|
if (l.addBtn?.labelI18n) return r(l.addBtn.labelI18n);
|
|
176
176
|
if (l.addBtn?.label) return l.addBtn.label;
|
|
177
177
|
const e = r("vlite.screen.addNew");
|
|
178
178
|
return e !== "vlite.screen.addNew" ? e : "Add New";
|
|
179
|
-
}), te =
|
|
179
|
+
}), te = n(
|
|
180
180
|
() => l.exportSchema && l.exportSchema.length > 0 && l.exportProps !== !1 || l.importSchema && l.importSchema.length > 0 && l.importProps !== !1
|
|
181
|
-
), U =
|
|
181
|
+
), U = n(() => {
|
|
182
182
|
const e = r("vlite.screen.exportData");
|
|
183
183
|
return e !== "vlite.screen.exportData" ? e : "Export Data";
|
|
184
|
-
}), le =
|
|
184
|
+
}), le = n(() => {
|
|
185
185
|
const e = r("vlite.screen.importData");
|
|
186
186
|
return e !== "vlite.screen.importData" ? e : "Import Data";
|
|
187
|
-
}), ke =
|
|
187
|
+
}), ke = n(() => {
|
|
188
188
|
const e = [];
|
|
189
189
|
return l.exportProps !== !1 && e.push({ value: "export", label: U.value, icon: "lucide:download" }), l.importProps !== !1 && e.push({ value: "import", label: le.value, icon: "lucide:upload" }), e;
|
|
190
|
-
}), q =
|
|
190
|
+
}), q = h(null), De = h(null), A = h(!1), z = h(!1), Pe = (e) => {
|
|
191
191
|
e.value === "export" ? A.value = !0 : e.value === "import" && (z.value = !0);
|
|
192
|
-
},
|
|
192
|
+
}, Ce = n(
|
|
193
193
|
() => (l.exportSchema || []).map((e) => ({
|
|
194
194
|
field: e.name || e.field,
|
|
195
195
|
title: e.label || e.title || e.name || e.field
|
|
196
196
|
}))
|
|
197
|
-
), Se =
|
|
197
|
+
), Se = n(
|
|
198
198
|
() => (l.importSchema || []).map((e) => ({
|
|
199
199
|
field: e.name || e.field,
|
|
200
200
|
title: e.label || e.title || e.name || e.field,
|
|
201
201
|
required: e.required || !1
|
|
202
202
|
}))
|
|
203
|
-
),
|
|
203
|
+
), Ie = async (e) => $?.services?.importApi && l.importType ? await $.services.importApi(l.importType, e) : (console.warn(
|
|
204
204
|
"VLite Screen: No importApi configured or no importType provided for generic import."
|
|
205
205
|
), {
|
|
206
206
|
processed: e.data.length,
|
|
@@ -209,121 +209,121 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
209
209
|
skipped: 0,
|
|
210
210
|
failed: 0,
|
|
211
211
|
errors: []
|
|
212
|
-
}),
|
|
213
|
-
() => l.exportMode ||
|
|
212
|
+
}), $e = () => D(), Te = n(
|
|
213
|
+
() => l.exportMode || $?.exportData?.mode || "frontend"
|
|
214
214
|
), Ve = async (e) => {
|
|
215
|
-
|
|
215
|
+
$?.services?.exportApi && l.exportType ? await $.services.exportApi(l.exportType, {
|
|
216
216
|
format: e,
|
|
217
|
-
search:
|
|
217
|
+
search: k.value,
|
|
218
218
|
filter: b.value
|
|
219
219
|
}) : console.warn(
|
|
220
220
|
"VLite Screen: No exportApi configured or no exportType provided for generic backend export."
|
|
221
221
|
);
|
|
222
222
|
};
|
|
223
|
-
return (e,
|
|
223
|
+
return (e, i) => {
|
|
224
224
|
const ae = je("router-link");
|
|
225
|
-
return a(),
|
|
226
|
-
t.customHeader ?
|
|
225
|
+
return a(), s("div", Xe, [
|
|
226
|
+
t.customHeader ? y(e.$slots, "custom-header", { key: 1 }) : (a(), s("div", {
|
|
227
227
|
key: 0,
|
|
228
228
|
class: N([t.headerClass, "flex flex-col md:flex-row sm:items-start md:items-center justify-between gap-4"])
|
|
229
229
|
}, [
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
_.value ? (a(),
|
|
233
|
-
|
|
234
|
-
t.info || t.infoI18n ? (a(),
|
|
230
|
+
g("div", Ye, [
|
|
231
|
+
y(e.$slots, "title", {}, () => [
|
|
232
|
+
_.value ? (a(), s("div", Ge, [
|
|
233
|
+
g("h1", We, p(_.value), 1),
|
|
234
|
+
t.info || t.infoI18n ? (a(), f(Ne, {
|
|
235
235
|
key: 0,
|
|
236
236
|
content: t.info,
|
|
237
237
|
"content-i18n": t.infoI18n,
|
|
238
238
|
placement: "right"
|
|
239
239
|
}, {
|
|
240
|
-
default:
|
|
241
|
-
|
|
240
|
+
default: u(() => [
|
|
241
|
+
c(F, {
|
|
242
242
|
icon: "lucide:info",
|
|
243
243
|
class: "w-[18px] h-[18px] mt-3! text-muted-foreground hover:text-foreground cursor-pointer transition-colors outline-none"
|
|
244
244
|
})
|
|
245
245
|
]),
|
|
246
246
|
_: 1
|
|
247
|
-
}, 8, ["content", "content-i18n"])) :
|
|
248
|
-
])) :
|
|
247
|
+
}, 8, ["content", "content-i18n"])) : d("", !0)
|
|
248
|
+
])) : d("", !0)
|
|
249
249
|
]),
|
|
250
|
-
|
|
251
|
-
ee.value ? (a(),
|
|
250
|
+
y(e.$slots, "description", {}, () => [
|
|
251
|
+
ee.value ? (a(), s("p", Ze, p(ee.value), 1)) : d("", !0)
|
|
252
252
|
])
|
|
253
253
|
]),
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
254
|
+
g("div", _e, [
|
|
255
|
+
g("div", et, [
|
|
256
|
+
m.value.length > 0 && t.canSelectRows ? (a(), f(w, {
|
|
257
257
|
key: 0,
|
|
258
258
|
variant: "outline",
|
|
259
259
|
class: "hover:bg-destructive/10 shrink-0 h-9! w-9!",
|
|
260
260
|
icon: "lucide:trash-2",
|
|
261
261
|
title: me.value,
|
|
262
|
-
onClick:
|
|
263
|
-
}, null, 8, ["title"])) :
|
|
264
|
-
(t.table || e.$slots.table) && (t.list || e.$slots.list || e.$slots.grid) ? (a(),
|
|
265
|
-
|
|
266
|
-
onClick:
|
|
262
|
+
onClick: i[0] || (i[0] = (o) => I(m.value))
|
|
263
|
+
}, null, 8, ["title"])) : d("", !0),
|
|
264
|
+
(t.table || e.$slots.table) && (t.list || e.$slots.list || e.$slots.grid) ? (a(), s("div", tt, [
|
|
265
|
+
g("button", {
|
|
266
|
+
onClick: i[1] || (i[1] = (o) => B.value = "list"),
|
|
267
267
|
class: N(["p-1.5 rounded", [
|
|
268
|
-
x(
|
|
268
|
+
x(B) === "list" ? "bg-secondary/85 dark:bg-secondary shadow-sm text-foreground" : "text-muted-foreground hover:text-foreground"
|
|
269
269
|
]]),
|
|
270
270
|
title: ve.value
|
|
271
271
|
}, [
|
|
272
|
-
|
|
272
|
+
c(F, {
|
|
273
273
|
icon: "lucide:layout-grid",
|
|
274
274
|
class: "w-4 h-4"
|
|
275
275
|
})
|
|
276
276
|
], 10, lt),
|
|
277
|
-
|
|
278
|
-
onClick:
|
|
277
|
+
g("button", {
|
|
278
|
+
onClick: i[2] || (i[2] = (o) => B.value = "table"),
|
|
279
279
|
class: N(["p-1.5 rounded", [
|
|
280
|
-
x(
|
|
280
|
+
x(B) === "table" ? "bg-secondary/85 dark:bg-secondary shadow-sm text-foreground" : "text-muted-foreground hover:text-foreground"
|
|
281
281
|
]]),
|
|
282
|
-
title:
|
|
282
|
+
title: he.value
|
|
283
283
|
}, [
|
|
284
|
-
|
|
284
|
+
c(F, {
|
|
285
285
|
icon: "lucide:list",
|
|
286
286
|
class: "w-4 h-4"
|
|
287
287
|
})
|
|
288
288
|
], 10, at)
|
|
289
|
-
])) :
|
|
290
|
-
|
|
291
|
-
t.showRefresh ? (a(),
|
|
289
|
+
])) : d("", !0),
|
|
290
|
+
y(e.$slots, "before-search"),
|
|
291
|
+
t.showRefresh ? (a(), f(w, {
|
|
292
292
|
key: 2,
|
|
293
293
|
variant: "outline",
|
|
294
294
|
icon: "lucide:refresh-cw",
|
|
295
295
|
size: "lg",
|
|
296
296
|
class: "shrink-0 h-9! w-9!",
|
|
297
|
-
title:
|
|
297
|
+
title: ge.value,
|
|
298
298
|
disabled: t.loading,
|
|
299
|
-
onClick:
|
|
300
|
-
}, null, 8, ["title", "disabled"])) :
|
|
301
|
-
t.filterSchema && t.filterSchema.length > 0 ? (a(),
|
|
299
|
+
onClick: D
|
|
300
|
+
}, null, 8, ["title", "disabled"])) : d("", !0),
|
|
301
|
+
t.filterSchema && t.filterSchema.length > 0 ? (a(), f(Ue, {
|
|
302
302
|
key: 3,
|
|
303
303
|
schema: t.filterSchema,
|
|
304
304
|
type: t.filterType,
|
|
305
305
|
modelValue: b.value,
|
|
306
|
-
"onUpdate:modelValue":
|
|
307
|
-
onChange:
|
|
308
|
-
}, null, 8, ["schema", "type", "modelValue"])) :
|
|
309
|
-
t.canSearch ? (a(),
|
|
310
|
-
|
|
306
|
+
"onUpdate:modelValue": i[3] || (i[3] = (o) => b.value = o),
|
|
307
|
+
onChange: D
|
|
308
|
+
}, null, 8, ["schema", "type", "modelValue"])) : d("", !0),
|
|
309
|
+
t.canSearch ? (a(), s("div", nt, [
|
|
310
|
+
c(Oe, {
|
|
311
311
|
lazy: "",
|
|
312
|
-
modelValue:
|
|
313
|
-
"onUpdate:modelValue":
|
|
312
|
+
modelValue: k.value,
|
|
313
|
+
"onUpdate:modelValue": i[4] || (i[4] = (o) => k.value = o),
|
|
314
314
|
icon: "lucide:search",
|
|
315
|
-
placeholder:
|
|
315
|
+
placeholder: pe.value,
|
|
316
316
|
variant: "outline",
|
|
317
317
|
class: "bg-background w-full",
|
|
318
318
|
"show-clear-button": !0
|
|
319
319
|
}, null, 8, ["modelValue", "placeholder"])
|
|
320
|
-
])) :
|
|
320
|
+
])) : d("", !0)
|
|
321
321
|
]),
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
j.value ? (a(),
|
|
325
|
-
t.addBtn ? (a(),
|
|
326
|
-
t.addBtn.modal ? (a(),
|
|
322
|
+
g("div", ot, [
|
|
323
|
+
y(e.$slots, "actions", {}, () => [
|
|
324
|
+
j.value ? (a(), f(Q(j.value), { key: 0 })) : t.canAdd ? (a(), s(C, { key: 1 }, [
|
|
325
|
+
t.addBtn ? (a(), s(C, { key: 0 }, [
|
|
326
|
+
t.addBtn.modal ? (a(), f(X, v({
|
|
327
327
|
key: 0,
|
|
328
328
|
body: W.value
|
|
329
329
|
}, t.addBtn.modalProps, {
|
|
@@ -332,78 +332,78 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
332
332
|
triggerClass: "w-full",
|
|
333
333
|
loading: t.loading
|
|
334
334
|
}), {
|
|
335
|
-
trigger:
|
|
336
|
-
|
|
335
|
+
trigger: u(() => [
|
|
336
|
+
c(w, v({
|
|
337
337
|
class: "w-full",
|
|
338
338
|
icon: t.addBtn.icon || "fluent:add-16-filled",
|
|
339
339
|
variant: t.addBtn.variant || "primary"
|
|
340
340
|
}, t.addBtn.buttonProps), {
|
|
341
|
-
default:
|
|
342
|
-
|
|
341
|
+
default: u(() => [
|
|
342
|
+
S(p(P.value), 1)
|
|
343
343
|
]),
|
|
344
344
|
_: 1
|
|
345
345
|
}, 16, ["icon", "variant"])
|
|
346
346
|
]),
|
|
347
347
|
_: 1
|
|
348
|
-
}, 16, ["body", "refetch", "data", "loading"])) : t.addBtn.to ? (a(),
|
|
348
|
+
}, 16, ["body", "refetch", "data", "loading"])) : t.addBtn.to ? (a(), f(ae, {
|
|
349
349
|
key: 1,
|
|
350
350
|
to: t.addBtn.to,
|
|
351
351
|
class: "inline-flex w-full sm:w-auto"
|
|
352
352
|
}, {
|
|
353
|
-
default:
|
|
354
|
-
|
|
353
|
+
default: u(() => [
|
|
354
|
+
c(w, v({
|
|
355
355
|
class: "w-full",
|
|
356
356
|
icon: t.addBtn.icon || "fluent:add-16-filled",
|
|
357
357
|
variant: t.addBtn.variant || "primary"
|
|
358
358
|
}, t.addBtn.buttonProps), {
|
|
359
|
-
default:
|
|
360
|
-
|
|
359
|
+
default: u(() => [
|
|
360
|
+
S(p(P.value), 1)
|
|
361
361
|
]),
|
|
362
362
|
_: 1
|
|
363
363
|
}, 16, ["icon", "variant"])
|
|
364
364
|
]),
|
|
365
365
|
_: 1
|
|
366
|
-
}, 8, ["to"])) : t.addBtn.href ? (a(),
|
|
366
|
+
}, 8, ["to"])) : t.addBtn.href ? (a(), s("a", {
|
|
367
367
|
key: 2,
|
|
368
368
|
href: t.addBtn.href,
|
|
369
369
|
target: t.addBtn.target,
|
|
370
370
|
class: "inline-flex w-full sm:w-auto"
|
|
371
371
|
}, [
|
|
372
|
-
|
|
372
|
+
c(w, v({
|
|
373
373
|
class: "w-full",
|
|
374
374
|
icon: t.addBtn.icon || "fluent:add-16-filled",
|
|
375
375
|
variant: t.addBtn.variant || "primary"
|
|
376
376
|
}, t.addBtn.buttonProps), {
|
|
377
|
-
default:
|
|
378
|
-
|
|
377
|
+
default: u(() => [
|
|
378
|
+
S(p(P.value), 1)
|
|
379
379
|
]),
|
|
380
380
|
_: 1
|
|
381
381
|
}, 16, ["icon", "variant"])
|
|
382
|
-
], 8, it)) : (a(),
|
|
382
|
+
], 8, it)) : (a(), f(w, v({
|
|
383
383
|
key: 3,
|
|
384
384
|
class: "w-full sm:w-auto",
|
|
385
385
|
icon: t.addBtn.icon || "fluent:add-16-filled",
|
|
386
386
|
variant: t.addBtn.variant || "primary"
|
|
387
387
|
}, t.addBtn.buttonProps, {
|
|
388
|
-
onClick:
|
|
388
|
+
onClick: i[5] || (i[5] = (o) => t.addBtn.onClick ? t.addBtn.onClick() : e.$emit("add"))
|
|
389
389
|
}), {
|
|
390
|
-
default:
|
|
391
|
-
|
|
390
|
+
default: u(() => [
|
|
391
|
+
S(p(P.value), 1)
|
|
392
392
|
]),
|
|
393
393
|
_: 1
|
|
394
394
|
}, 16, ["icon", "variant"]))
|
|
395
|
-
], 64)) :
|
|
396
|
-
], 64)) :
|
|
395
|
+
], 64)) : d("", !0)
|
|
396
|
+
], 64)) : d("", !0)
|
|
397
397
|
]),
|
|
398
|
-
te.value ? (a(),
|
|
398
|
+
te.value ? (a(), f(qe, {
|
|
399
399
|
key: 0,
|
|
400
400
|
closeOnSelect: "",
|
|
401
401
|
position: "bottom-end",
|
|
402
402
|
options: ke.value,
|
|
403
|
-
onOnSelect:
|
|
403
|
+
onOnSelect: Pe
|
|
404
404
|
}, {
|
|
405
|
-
trigger:
|
|
406
|
-
|
|
405
|
+
trigger: u(() => [
|
|
406
|
+
c(w, {
|
|
407
407
|
variant: "outline",
|
|
408
408
|
icon: "lucide:more-vertical",
|
|
409
409
|
class: "px-2!",
|
|
@@ -411,141 +411,120 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
411
411
|
}, null, 8, ["title"])
|
|
412
412
|
]),
|
|
413
413
|
_: 1
|
|
414
|
-
}, 8, ["options"])) :
|
|
415
|
-
|
|
414
|
+
}, 8, ["options"])) : d("", !0),
|
|
415
|
+
y(e.$slots, "after-add")
|
|
416
416
|
])
|
|
417
417
|
])
|
|
418
418
|
], 2)),
|
|
419
|
-
|
|
420
|
-
|
|
419
|
+
y(e.$slots, "sub-header"),
|
|
420
|
+
g("div", {
|
|
421
421
|
class: N(["flex-1 w-full relative", t.containerClass])
|
|
422
422
|
}, [
|
|
423
|
-
!fe.value && !t.loading ?
|
|
424
|
-
|
|
423
|
+
!fe.value && !t.loading ? y(e.$slots, "empty", { key: 0 }, () => [
|
|
424
|
+
c(x(Le), {
|
|
425
425
|
title: t.emptyTitle,
|
|
426
426
|
titleI18n: t.emptyTitleI18n,
|
|
427
427
|
description: t.emptyDescription,
|
|
428
428
|
descriptionI18n: t.emptyDescriptionI18n,
|
|
429
429
|
icon: t.emptyIcon
|
|
430
430
|
}, {
|
|
431
|
-
action:
|
|
432
|
-
ie.value ?
|
|
433
|
-
j.value ? (a(),
|
|
434
|
-
t.addBtn ? (a(),
|
|
435
|
-
t.addBtn.modal ? (a(),
|
|
431
|
+
action: u(() => [
|
|
432
|
+
ie.value ? d("", !0) : (a(), s(C, { key: 0 }, [
|
|
433
|
+
j.value ? (a(), f(Q(j.value), { key: 0 })) : t.canAdd ? (a(), s(C, { key: 1 }, [
|
|
434
|
+
t.addBtn ? (a(), s(C, { key: 0 }, [
|
|
435
|
+
t.addBtn.modal ? (a(), f(X, v({
|
|
436
436
|
key: 0,
|
|
437
437
|
body: W.value
|
|
438
438
|
}, t.addBtn.modalProps), {
|
|
439
|
-
trigger:
|
|
440
|
-
|
|
439
|
+
trigger: u(() => [
|
|
440
|
+
c(w, v({
|
|
441
441
|
icon: t.addBtn.icon || "fluent:add-16-filled",
|
|
442
442
|
variant: "secondary",
|
|
443
443
|
rounded: "full",
|
|
444
444
|
class: "px-6!"
|
|
445
445
|
}, t.addBtn.buttonProps), {
|
|
446
|
-
default:
|
|
447
|
-
|
|
446
|
+
default: u(() => [
|
|
447
|
+
S(p(P.value), 1)
|
|
448
448
|
]),
|
|
449
449
|
_: 1
|
|
450
450
|
}, 16, ["icon"])
|
|
451
451
|
]),
|
|
452
452
|
_: 1
|
|
453
|
-
}, 16, ["body"])) : t.addBtn.to ? (a(),
|
|
453
|
+
}, 16, ["body"])) : t.addBtn.to ? (a(), f(ae, {
|
|
454
454
|
key: 1,
|
|
455
455
|
to: t.addBtn.to,
|
|
456
456
|
class: "inline-flex"
|
|
457
457
|
}, {
|
|
458
|
-
default:
|
|
459
|
-
|
|
458
|
+
default: u(() => [
|
|
459
|
+
c(w, v({
|
|
460
460
|
icon: t.addBtn.icon || "fluent:add-16-filled",
|
|
461
461
|
variant: "secondary"
|
|
462
462
|
}, t.addBtn.buttonProps), {
|
|
463
|
-
default:
|
|
464
|
-
|
|
463
|
+
default: u(() => [
|
|
464
|
+
S(p(P.value), 1)
|
|
465
465
|
]),
|
|
466
466
|
_: 1
|
|
467
467
|
}, 16, ["icon"])
|
|
468
468
|
]),
|
|
469
469
|
_: 1
|
|
470
|
-
}, 8, ["to"])) : t.addBtn.href ? (a(),
|
|
470
|
+
}, 8, ["to"])) : t.addBtn.href ? (a(), s("a", {
|
|
471
471
|
key: 2,
|
|
472
472
|
href: t.addBtn.href,
|
|
473
473
|
target: t.addBtn.target,
|
|
474
474
|
class: "inline-flex"
|
|
475
475
|
}, [
|
|
476
|
-
|
|
476
|
+
c(w, v({
|
|
477
477
|
icon: t.addBtn.icon || "lucide:plus",
|
|
478
478
|
variant: "secondary"
|
|
479
479
|
}, t.addBtn.buttonProps), {
|
|
480
|
-
default:
|
|
481
|
-
|
|
480
|
+
default: u(() => [
|
|
481
|
+
S(p(P.value), 1)
|
|
482
482
|
]),
|
|
483
483
|
_: 1
|
|
484
484
|
}, 16, ["icon"])
|
|
485
|
-
], 8, rt)) : (
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
variant: "secondary"
|
|
489
|
-
}, t.addBtn.buttonProps, {
|
|
490
|
-
onClick: n[6] || (n[6] = (o) => t.addBtn.onClick ? t.addBtn.onClick() : e.$emit("add"))
|
|
491
|
-
}), {
|
|
492
|
-
default: s(() => [
|
|
493
|
-
k(m(B.value), 1)
|
|
494
|
-
]),
|
|
495
|
-
_: 1
|
|
496
|
-
}, 16, ["icon"]))
|
|
497
|
-
], 64)) : (a(), c(h, {
|
|
498
|
-
key: 1,
|
|
499
|
-
icon: "lucide:plus",
|
|
500
|
-
variant: "secondary",
|
|
501
|
-
onClick: n[7] || (n[7] = (o) => e.$emit("add"))
|
|
502
|
-
}, {
|
|
503
|
-
default: s(() => [
|
|
504
|
-
k(m(B.value), 1)
|
|
505
|
-
]),
|
|
506
|
-
_: 1
|
|
507
|
-
}))
|
|
508
|
-
], 64)) : f("", !0)
|
|
485
|
+
], 8, rt)) : d("", !0)
|
|
486
|
+
], 64)) : d("", !0)
|
|
487
|
+
], 64)) : d("", !0)
|
|
509
488
|
], 64))
|
|
510
489
|
]),
|
|
511
490
|
_: 1
|
|
512
491
|
}, 8, ["title", "titleI18n", "description", "descriptionI18n", "icon"])
|
|
513
|
-
]) : (a(),
|
|
514
|
-
x(
|
|
492
|
+
]) : (a(), s(C, { key: 1 }, [
|
|
493
|
+
x(B) === "table" && e.$slots.table ? y(e.$slots, "table", {
|
|
515
494
|
key: 0,
|
|
516
495
|
data: t.data,
|
|
517
496
|
loading: t.loading,
|
|
518
|
-
selectedRows:
|
|
519
|
-
delete:
|
|
520
|
-
updateSelectedRows: (o) =>
|
|
521
|
-
}) : x(
|
|
497
|
+
selectedRows: m.value,
|
|
498
|
+
delete: I,
|
|
499
|
+
updateSelectedRows: (o) => m.value = o
|
|
500
|
+
}) : x(B) === "list" && e.$slots.list ? y(e.$slots, "list", {
|
|
522
501
|
key: 1,
|
|
523
502
|
data: t.data,
|
|
524
503
|
loading: t.loading,
|
|
525
|
-
selectedRows:
|
|
526
|
-
delete:
|
|
527
|
-
updateSelectedRows: (o) =>
|
|
528
|
-
}) : x(
|
|
504
|
+
selectedRows: m.value,
|
|
505
|
+
delete: I,
|
|
506
|
+
updateSelectedRows: (o) => m.value = o
|
|
507
|
+
}) : x(B) === "list" && e.$slots.grid ? y(e.$slots, "grid", {
|
|
529
508
|
key: 2,
|
|
530
509
|
data: t.data,
|
|
531
510
|
loading: t.loading,
|
|
532
|
-
selectedRows:
|
|
533
|
-
delete:
|
|
534
|
-
updateSelectedRows: (o) =>
|
|
535
|
-
}) : Z.value ? (a(),
|
|
511
|
+
selectedRows: m.value,
|
|
512
|
+
delete: I,
|
|
513
|
+
updateSelectedRows: (o) => m.value = o
|
|
514
|
+
}) : Z.value ? (a(), f(Q(Z.value), v({
|
|
536
515
|
key: 3,
|
|
537
516
|
data: t.data,
|
|
538
517
|
loading: t.loading,
|
|
539
518
|
refetch: t.refetch,
|
|
540
|
-
selectedRows:
|
|
541
|
-
"onUpdate:selectedRows":
|
|
542
|
-
delete:
|
|
543
|
-
onDelete:
|
|
544
|
-
}, t.viewProps), null, 16, ["data", "loading", "refetch", "selectedRows"])) : (a(),
|
|
519
|
+
selectedRows: m.value,
|
|
520
|
+
"onUpdate:selectedRows": i[6] || (i[6] = (o) => m.value = o),
|
|
521
|
+
delete: I,
|
|
522
|
+
onDelete: de
|
|
523
|
+
}, t.viewProps), null, 16, ["data", "loading", "refetch", "selectedRows"])) : (a(), s("div", st, p(Be.value), 1))
|
|
545
524
|
], 64))
|
|
546
525
|
], 2),
|
|
547
|
-
t.pagination && t.pageInfo && t.pageInfo.totalPages > 1 ? (a(),
|
|
548
|
-
|
|
526
|
+
t.pagination && t.pageInfo && t.pageInfo.totalPages > 1 ? (a(), s("div", dt, [
|
|
527
|
+
c(x(Me), v({
|
|
549
528
|
"current-page": t.pageInfo.currentPage,
|
|
550
529
|
"total-pages": t.pageInfo.totalPages,
|
|
551
530
|
"total-items": t.pageInfo.totalItems
|
|
@@ -553,56 +532,56 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
553
532
|
onChange: ce,
|
|
554
533
|
"onUpdate:itemsPerPage": ue
|
|
555
534
|
}), null, 16, ["current-page", "total-pages", "total-items"])
|
|
556
|
-
])) :
|
|
557
|
-
|
|
535
|
+
])) : d("", !0),
|
|
536
|
+
c(Fe, {
|
|
558
537
|
show: V.value,
|
|
559
|
-
"onUpdate:show":
|
|
560
|
-
title:
|
|
561
|
-
description:
|
|
562
|
-
"confirm-text":
|
|
538
|
+
"onUpdate:show": i[7] || (i[7] = (o) => V.value = o),
|
|
539
|
+
title: ye.value,
|
|
540
|
+
description: xe.value,
|
|
541
|
+
"confirm-text": we.value,
|
|
563
542
|
"cancel-text": be.value,
|
|
564
543
|
variant: "danger",
|
|
565
|
-
onConfirm:
|
|
566
|
-
onCancel:
|
|
544
|
+
onConfirm: se,
|
|
545
|
+
onCancel: i[8] || (i[8] = (o) => V.value = !1)
|
|
567
546
|
}, null, 8, ["show", "title", "description", "confirm-text", "cancel-text"]),
|
|
568
|
-
A.value ? (a(),
|
|
547
|
+
A.value ? (a(), f(X, {
|
|
569
548
|
key: 3,
|
|
570
549
|
show: A.value,
|
|
571
|
-
"onUpdate:show":
|
|
550
|
+
"onUpdate:show": i[9] || (i[9] = (o) => A.value = o),
|
|
572
551
|
title: U.value,
|
|
573
552
|
"max-width": "sm:max-w-[400px]"
|
|
574
553
|
}, {
|
|
575
|
-
default:
|
|
576
|
-
|
|
554
|
+
default: u(({ close: o }) => [
|
|
555
|
+
c(ze, v({
|
|
577
556
|
ref_key: "exportDataRef",
|
|
578
557
|
ref: q,
|
|
579
558
|
data: t.data || [],
|
|
580
|
-
fields:
|
|
559
|
+
fields: Ce.value,
|
|
581
560
|
mode: Te.value,
|
|
582
561
|
"on-export": Ve
|
|
583
562
|
}, typeof t.exportProps == "object" ? t.exportProps : {}, {
|
|
584
563
|
title: U.value,
|
|
585
564
|
class: "hidden!"
|
|
586
565
|
}), null, 16, ["data", "fields", "mode", "title"]),
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
(a(!0),
|
|
566
|
+
g("div", ct, [
|
|
567
|
+
g("h6", ut, p(x(r)("vlite.exportData.selectFormat") !== "vlite.exportData.selectFormat" ? x(r)("vlite.exportData.selectFormat") : "Select Export Format"), 1),
|
|
568
|
+
g("div", ft, [
|
|
569
|
+
(a(!0), s(C, null, Ae(q.value?.availableFormats || [
|
|
591
570
|
{ value: "excel", label: "Excel (.xlsx)", icon: "lucide:file-spreadsheet" },
|
|
592
571
|
{ value: "csv", label: "CSV (.csv)", icon: "lucide:file-text" },
|
|
593
572
|
{ value: "json", label: "JSON (.json)", icon: "lucide:file-json" }
|
|
594
|
-
], (O) => (a(),
|
|
573
|
+
], (O) => (a(), f(w, {
|
|
595
574
|
key: O.value,
|
|
596
575
|
variant: "outline",
|
|
597
576
|
class: "w-full flex items-center justify-start gap-3 h-12",
|
|
598
577
|
onClick: (vt) => q.value?.exportData(O.value, o)
|
|
599
578
|
}, {
|
|
600
|
-
default:
|
|
601
|
-
|
|
579
|
+
default: u(() => [
|
|
580
|
+
c(F, {
|
|
602
581
|
icon: O.icon,
|
|
603
582
|
class: "text-muted-foreground h-5 w-5"
|
|
604
583
|
}, null, 8, ["icon"]),
|
|
605
|
-
|
|
584
|
+
g("span", null, p(O.label), 1)
|
|
606
585
|
]),
|
|
607
586
|
_: 2
|
|
608
587
|
}, 1032, ["onClick"]))), 128))
|
|
@@ -610,21 +589,21 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
610
589
|
])
|
|
611
590
|
]),
|
|
612
591
|
_: 1
|
|
613
|
-
}, 8, ["show", "title"])) :
|
|
614
|
-
te.value ? (a(),
|
|
615
|
-
|
|
592
|
+
}, 8, ["show", "title"])) : d("", !0),
|
|
593
|
+
te.value ? (a(), s("div", mt, [
|
|
594
|
+
c(He, v({
|
|
616
595
|
show: z.value,
|
|
617
|
-
"onUpdate:show":
|
|
596
|
+
"onUpdate:show": i[10] || (i[10] = (o) => z.value = o),
|
|
618
597
|
ref_key: "importDataRef",
|
|
619
|
-
ref:
|
|
598
|
+
ref: De,
|
|
620
599
|
fields: Se.value,
|
|
621
|
-
processBatch:
|
|
622
|
-
onComplete:
|
|
600
|
+
processBatch: Ie,
|
|
601
|
+
onComplete: $e
|
|
623
602
|
}, typeof t.importProps == "object" ? t.importProps : {}, {
|
|
624
603
|
title: le.value,
|
|
625
604
|
class: "hidden!"
|
|
626
605
|
}), null, 16, ["show", "fields", "title"])
|
|
627
|
-
])) :
|
|
606
|
+
])) : d("", !0)
|
|
628
607
|
]);
|
|
629
608
|
};
|
|
630
609
|
}
|
package/package.json
CHANGED
package/style.css
CHANGED
|
@@ -894,5 +894,5 @@ textarea::-webkit-scrollbar-thumb {
|
|
|
894
894
|
}
|
|
895
895
|
|
|
896
896
|
/* --- Vite Generated CSS --- */
|
|
897
|
-
input[data-v-a8237529]::-webkit-outer-spin-button,input[data-v-a8237529]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-a8237529]{-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-55a6a43e]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-7572bc5b]{background-color:#00000052}.v-modal-backdrop[data-v-7572bc5b]{transform:translateZ(0);will-change:opacity}.modal-body[data-v-7572bc5b]{will-change:transform;contain:layout style}.blink-bg[data-v-7572bc5b]{animation:blink-animation-7572bc5b 1s infinite}@keyframes blink-animation-7572bc5b{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-0cced8cd]{will-change:transform;contain:layout style}.custom-fields-table[data-v-0cced8cd] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-0cced8cd] input,.custom-fields-table[data-v-0cced8cd] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-0cced8cd] input,.custom-fields-table[data-v-0cced8cd] textarea,.custom-fields-table[data-v-0cced8cd] select,.custom-fields-table[data-v-0cced8cd] .input-wrapper,.custom-fields-table[data-v-0cced8cd] .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-0cced8cd] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-0cced8cd] input:focus,.custom-fields-table[data-v-0cced8cd] textarea:focus,.custom-fields-table[data-v-0cced8cd] select:focus,.custom-fields-table[data-v-0cced8cd] .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-0cced8cd] .w-full{width:100%;height:100%}.list-enter-active[data-v-0cced8cd]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-0cced8cd]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-df08a3e5]{display:flex;flex-direction:column}.form-field-item[data-v-df08a3e5]:has([role=switch]),.form-field-item[data-v-df08a3e5]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-8eb29b35]{width:100%}.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-d572f4ef]{background-color:#0003}.sidepanel-body[data-v-d572f4ef]{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-4034dab4]{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}
|
|
897
|
+
input[data-v-a8237529]::-webkit-outer-spin-button,input[data-v-a8237529]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-a8237529]{-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-55a6a43e]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-7572bc5b]{background-color:#00000052}.v-modal-backdrop[data-v-7572bc5b]{transform:translateZ(0);will-change:opacity}.modal-body[data-v-7572bc5b]{will-change:transform;contain:layout style}.blink-bg[data-v-7572bc5b]{animation:blink-animation-7572bc5b 1s infinite}@keyframes blink-animation-7572bc5b{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-0cced8cd]{will-change:transform;contain:layout style}.custom-fields-table[data-v-0cced8cd] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-0cced8cd] input,.custom-fields-table[data-v-0cced8cd] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-0cced8cd] input,.custom-fields-table[data-v-0cced8cd] textarea,.custom-fields-table[data-v-0cced8cd] select,.custom-fields-table[data-v-0cced8cd] .input-wrapper,.custom-fields-table[data-v-0cced8cd] .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-0cced8cd] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-0cced8cd] input:focus,.custom-fields-table[data-v-0cced8cd] textarea:focus,.custom-fields-table[data-v-0cced8cd] select:focus,.custom-fields-table[data-v-0cced8cd] .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-0cced8cd] .w-full{width:100%;height:100%}.list-enter-active[data-v-0cced8cd]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-0cced8cd]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-1139135c]{display:flex;flex-direction:column}.form-field-item[data-v-1139135c]:has([role=switch]),.form-field-item[data-v-1139135c]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-d7b4ffda]{width:100%}.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-d572f4ef]{background-color:#0003}.sidepanel-body[data-v-d572f4ef]{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-4034dab4]{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}
|
|
898
898
|
|