vlite3 0.2.11 → 0.2.13
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/DataTable/DataTable.vue.js +51 -45
- package/components/DataTable/DataTableRow.vue.js +2 -2
- package/components/DataTable/DataTableToolbar.vue.d.ts +1 -0
- package/components/DataTable/DataTableToolbar.vue.js +25 -22
- package/components/Form/CustomFields.vue.js +2 -2
- package/components/MultiSelect/MultiSelect.vue.js +11 -10
- package/components/SidePanel.vue.d.ts +4 -0
- package/components/SidePanel.vue.js +2 -2
- package/components/SidePanel.vue2.js +31 -30
- package/package.json +1 -1
- package/style.css +23 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as ee, ref as
|
|
1
|
+
import { defineComponent as ee, ref as v, computed as b, watch as p, onMounted as te, openBlock as n, createElementBlock as i, createVNode as C, createSlots as j, withCtx as B, renderSlot as S, createBlock as D, createCommentVNode as I, createElementVNode as r, normalizeClass as R, Fragment as F, renderList as $, normalizeStyle as A, mergeProps as le, toDisplayString as M, createTextVNode as ae, unref as se } from "vue";
|
|
2
2
|
import oe from "../Icon.vue.js";
|
|
3
3
|
import ne from "../CheckBox.vue.js";
|
|
4
4
|
import re from "../Button.vue.js";
|
|
@@ -7,12 +7,12 @@ import de from "../Pagination/Pagination.vue.js";
|
|
|
7
7
|
import ue from "./DataTableHeader.vue.js";
|
|
8
8
|
import ce from "./DataTableRow.vue.js";
|
|
9
9
|
import me from "./DataTableToolbar.vue.js";
|
|
10
|
-
const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" },
|
|
10
|
+
const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ge = { class: "hover:bg-transparent" }, ve = {
|
|
11
11
|
key: 0,
|
|
12
12
|
scope: "col",
|
|
13
13
|
class: "w-[48px] px-0 text-center font-medium text-muted-foreground",
|
|
14
14
|
style: { width: "48px" }
|
|
15
|
-
}, pe = { class: "flex items-center justify-center" },
|
|
15
|
+
}, pe = { class: "flex items-center justify-center" }, ye = { class: "[&_tr:last-child]:border-0" }, we = {
|
|
16
16
|
key: 0,
|
|
17
17
|
class: "w-[48px] px-0 py-4 align-middle text-center",
|
|
18
18
|
style: { width: "48px" }
|
|
@@ -54,22 +54,22 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
54
54
|
const O = (e, t) => {
|
|
55
55
|
if (!(!e || !t))
|
|
56
56
|
return t.includes(".") ? t.split(".").reduce((s, c) => s?.[c], e) : e[t];
|
|
57
|
-
}, u = (e, t) => O(e, t), l = a,
|
|
57
|
+
}, u = (e, t) => O(e, t), l = a, y = U, d = v({ field: "", order: "" }), k = v(l.itemsPerPage), h = v(l.pageInfo?.currentPage || 1), w = v(l.search || ""), P = v(!1), g = v("initial"), L = b(() => l.loading && (g.value === "initial" || g.value === "page"));
|
|
58
58
|
p(
|
|
59
59
|
() => l.loading,
|
|
60
60
|
(e, t) => {
|
|
61
|
-
!e && t && (
|
|
61
|
+
!e && t && (g.value = "idle");
|
|
62
62
|
}
|
|
63
63
|
), p(
|
|
64
64
|
() => l.search,
|
|
65
65
|
(e) => {
|
|
66
|
-
e !== void 0 && e !==
|
|
66
|
+
e !== void 0 && e !== w.value && (w.value = e);
|
|
67
67
|
}
|
|
68
68
|
);
|
|
69
|
-
let
|
|
70
|
-
p(
|
|
71
|
-
|
|
72
|
-
h.value = 1,
|
|
69
|
+
let z = null;
|
|
70
|
+
p(w, (e) => {
|
|
71
|
+
z && clearTimeout(z), z = setTimeout(() => {
|
|
72
|
+
h.value = 1, g.value = "search", x();
|
|
73
73
|
}, 300);
|
|
74
74
|
}), p(
|
|
75
75
|
() => l.itemsPerPage,
|
|
@@ -82,7 +82,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
82
82
|
e && (h.value = e);
|
|
83
83
|
}
|
|
84
84
|
);
|
|
85
|
-
const E = (e) => u(e, l.keyField), o =
|
|
85
|
+
const E = (e) => u(e, l.keyField), o = v(/* @__PURE__ */ new Set());
|
|
86
86
|
p(
|
|
87
87
|
() => l.selectedRows,
|
|
88
88
|
(e) => {
|
|
@@ -91,7 +91,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
91
91
|
},
|
|
92
92
|
{ immediate: !0, deep: !0 }
|
|
93
93
|
);
|
|
94
|
-
const
|
|
94
|
+
const T = b(() => l.rows.length === 0 ? !1 : l.rows.every((e) => o.value.has(u(e, l.keyField)))), N = b(() => o.value.size > 0 && !T.value), W = b(() => {
|
|
95
95
|
const e = [...l.selectedRows || [], ...l.rows], t = /* @__PURE__ */ new Map();
|
|
96
96
|
return e.forEach((s) => t.set(u(s, l.keyField), s)), Array.from(o.value).map((s) => t.get(s)).filter(Boolean);
|
|
97
97
|
}), q = (e) => {
|
|
@@ -109,29 +109,29 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
109
109
|
});
|
|
110
110
|
const c = {
|
|
111
111
|
selected: s,
|
|
112
|
-
all:
|
|
112
|
+
all: T.value,
|
|
113
113
|
indeterminate: N.value
|
|
114
114
|
};
|
|
115
|
-
|
|
115
|
+
y("select", c), y("update:selectedRows", s);
|
|
116
116
|
}, H = (e) => {
|
|
117
|
-
d.value.field === e ? d.value.order === "asc" ? d.value.order = "desc" : d.value.order === "desc" ? (d.value.order = "", d.value.field = "") : d.value.order = "asc" : (d.value.field = e, d.value.order = "asc"), h.value = 1,
|
|
117
|
+
d.value.field === e ? d.value.order === "asc" ? d.value.order = "desc" : d.value.order === "desc" ? (d.value.order = "", d.value.field = "") : d.value.order = "asc" : (d.value.field = e, d.value.order = "asc"), h.value = 1, g.value = "sort", x();
|
|
118
118
|
}, J = (e) => {
|
|
119
|
-
h.value = e,
|
|
119
|
+
h.value = e, g.value = "page", x();
|
|
120
120
|
}, K = (e) => {
|
|
121
|
-
k.value = e, h.value = 1,
|
|
121
|
+
k.value = e, h.value = 1, g.value = "limit", y("update:itemsPerPage", e), x();
|
|
122
122
|
}, Q = (e) => {
|
|
123
|
-
|
|
123
|
+
y("rowClick", e);
|
|
124
124
|
}, X = () => {
|
|
125
125
|
const e = W.value;
|
|
126
|
-
|
|
126
|
+
y("delete", e), P.value = !1;
|
|
127
127
|
}, x = () => {
|
|
128
|
-
|
|
128
|
+
y("change", {
|
|
129
129
|
pagination: {
|
|
130
130
|
page: h.value,
|
|
131
131
|
limit: k.value
|
|
132
132
|
},
|
|
133
133
|
sorting: { ...d.value },
|
|
134
|
-
search:
|
|
134
|
+
search: w.value
|
|
135
135
|
});
|
|
136
136
|
}, Y = b(() => [
|
|
137
137
|
"w-full flex flex-col",
|
|
@@ -150,59 +150,65 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
150
150
|
x();
|
|
151
151
|
}), (e, t) => (n(), i("div", fe, [
|
|
152
152
|
C(me, {
|
|
153
|
-
modelValue:
|
|
154
|
-
"onUpdate:modelValue": t[1] || (t[1] = (s) =>
|
|
153
|
+
modelValue: w.value,
|
|
154
|
+
"onUpdate:modelValue": t[1] || (t[1] = (s) => w.value = s),
|
|
155
155
|
"show-search": a.showSearch,
|
|
156
156
|
placeholder: a.searchPlaceholder
|
|
157
157
|
}, j({ _: 2 }, [
|
|
158
158
|
e.$slots?.["toolbar-left"] ? {
|
|
159
159
|
name: "left",
|
|
160
|
-
fn:
|
|
160
|
+
fn: B(() => [
|
|
161
161
|
S(e.$slots, "toolbar-left")
|
|
162
162
|
]),
|
|
163
163
|
key: "0"
|
|
164
164
|
} : void 0,
|
|
165
|
-
|
|
166
|
-
name: "
|
|
167
|
-
fn:
|
|
165
|
+
o.value.size > 0 ? {
|
|
166
|
+
name: "delete",
|
|
167
|
+
fn: B(() => [
|
|
168
168
|
o.value.size > 0 ? (n(), D(re, {
|
|
169
169
|
key: 0,
|
|
170
170
|
rounded: "full",
|
|
171
|
-
variant: "
|
|
171
|
+
variant: "outline",
|
|
172
|
+
size: "lg",
|
|
172
173
|
icon: "lucide:trash-2",
|
|
173
|
-
class: "text-destructive! bg-destructive/10 hover:bg-destructive/15",
|
|
174
174
|
onClick: t[0] || (t[0] = (s) => P.value = !0)
|
|
175
|
-
})) : I("", !0)
|
|
176
|
-
S(e.$slots, "toolbar-right")
|
|
175
|
+
})) : I("", !0)
|
|
177
176
|
]),
|
|
178
177
|
key: "1"
|
|
178
|
+
} : void 0,
|
|
179
|
+
e.$slots?.["toolbar-right"] ? {
|
|
180
|
+
name: "right",
|
|
181
|
+
fn: B(() => [
|
|
182
|
+
S(e.$slots, "toolbar-right")
|
|
183
|
+
]),
|
|
184
|
+
key: "2"
|
|
179
185
|
} : void 0
|
|
180
186
|
]), 1032, ["modelValue", "show-search", "placeholder"]),
|
|
181
187
|
r("div", {
|
|
182
|
-
class:
|
|
188
|
+
class: R(Y.value)
|
|
183
189
|
}, [
|
|
184
190
|
r("div", he, [
|
|
185
191
|
r("table", {
|
|
186
|
-
class:
|
|
192
|
+
class: R([Z.value, "data-table"])
|
|
187
193
|
}, [
|
|
188
194
|
r("thead", {
|
|
189
|
-
class:
|
|
195
|
+
class: R([
|
|
190
196
|
"[&_tr]:border-b [&_tr]:border-border/70! bg-muted",
|
|
191
197
|
a.variant === "raised" ? "[&_th:first-child]:rounded-tl-lg [&_th:last-child]:rounded-tr-lg" : ""
|
|
192
198
|
])
|
|
193
199
|
}, [
|
|
194
|
-
r("tr",
|
|
195
|
-
a.selectable ? (n(), i("th",
|
|
200
|
+
r("tr", ge, [
|
|
201
|
+
a.selectable ? (n(), i("th", ve, [
|
|
196
202
|
r("div", pe, [
|
|
197
203
|
C(ne, {
|
|
198
|
-
"model-value":
|
|
204
|
+
"model-value": T.value,
|
|
199
205
|
indeterminate: N.value,
|
|
200
206
|
size: "xs",
|
|
201
207
|
"onUpdate:modelValue": q
|
|
202
208
|
}, null, 8, ["model-value", "indeterminate"])
|
|
203
209
|
])
|
|
204
210
|
])) : I("", !0),
|
|
205
|
-
(n(!0), i(
|
|
211
|
+
(n(!0), i(F, null, $(a.headers, (s) => (n(), D(ue, {
|
|
206
212
|
key: s.field,
|
|
207
213
|
header: s,
|
|
208
214
|
"sort-config": d.value,
|
|
@@ -216,19 +222,19 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
216
222
|
}, null, 8, ["header", "sort-config", "compact", "table-sortable", "style"]))), 128))
|
|
217
223
|
])
|
|
218
224
|
], 2),
|
|
219
|
-
r("tbody",
|
|
220
|
-
L.value ? (n(!0), i(
|
|
225
|
+
r("tbody", ye, [
|
|
226
|
+
L.value ? (n(!0), i(F, { key: 0 }, $(Math.min(k.value, 15), (s) => (n(), i("tr", {
|
|
221
227
|
key: "skeleton-" + s,
|
|
222
228
|
class: "border-b border-border/50 bg-background transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"
|
|
223
229
|
}, [
|
|
224
|
-
a.selectable ? (n(), i("td",
|
|
230
|
+
a.selectable ? (n(), i("td", we, [...t[4] || (t[4] = [
|
|
225
231
|
r("div", { class: "flex items-center justify-center" }, [
|
|
226
232
|
r("div", { class: "h-4 w-4 rounded-[4px] bg-muted/50 animate-pulse" })
|
|
227
233
|
], -1)
|
|
228
234
|
])])) : I("", !0),
|
|
229
|
-
(n(!0), i(
|
|
235
|
+
(n(!0), i(F, null, $(a.headers, (c) => (n(), i("td", {
|
|
230
236
|
key: c.field,
|
|
231
|
-
class:
|
|
237
|
+
class: R(["p-5! align-middle last:pr-6!", [c.hideOnMobile ? "hidden md:table-cell" : ""]])
|
|
232
238
|
}, [
|
|
233
239
|
r("div", {
|
|
234
240
|
class: "rounded-md bg-muted/50 animate-pulse h-4 w-full",
|
|
@@ -237,7 +243,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
237
243
|
})
|
|
238
244
|
}, null, 4)
|
|
239
245
|
], 2))), 128))
|
|
240
|
-
]))), 128)) : a.rows.length > 0 ? (n(!0), i(
|
|
246
|
+
]))), 128)) : a.rows.length > 0 ? (n(!0), i(F, { key: 1 }, $(a.rows, (s, c) => (n(), D(ce, {
|
|
241
247
|
key: E(s),
|
|
242
248
|
row: s,
|
|
243
249
|
headers: a.headers,
|
|
@@ -254,7 +260,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
254
260
|
}, j({ _: 2 }, [
|
|
255
261
|
$(a.headers, (m) => ({
|
|
256
262
|
name: m.field,
|
|
257
|
-
fn:
|
|
263
|
+
fn: B((f) => [
|
|
258
264
|
S(e.$slots, m.field, le({ ref_for: !0 }, f))
|
|
259
265
|
])
|
|
260
266
|
}))
|
|
@@ -64,7 +64,7 @@ const L = ["data-state"], U = { class: "flex items-center justify-center" }, h =
|
|
|
64
64
|
};
|
|
65
65
|
return (e, t) => (c(), d("tr", {
|
|
66
66
|
class: u(["border-b border-border/70 transition-colors data-[state=selected]:bg-muted h-full", [
|
|
67
|
-
i.hoverable ? "hover:bg-muted/
|
|
67
|
+
i.hoverable ? "hover:bg-muted/20" : "",
|
|
68
68
|
i.striped && i.index % 2 === 1 ? "bg-muted/20" : "bg-background",
|
|
69
69
|
i.isSelected ? "bg-muted! hover:bg-muted/30" : "",
|
|
70
70
|
"group"
|
|
@@ -74,7 +74,7 @@ const L = ["data-state"], U = { class: "flex items-center justify-center" }, h =
|
|
|
74
74
|
}, [
|
|
75
75
|
i.selectable ? (c(), d("td", {
|
|
76
76
|
key: 0,
|
|
77
|
-
class: "w-[48px] px-0 py-
|
|
77
|
+
class: "w-[48px] px-0 py-6! align-middle text-center",
|
|
78
78
|
style: { width: "48px" },
|
|
79
79
|
onClick: t[0] || (t[0] = v(() => {
|
|
80
80
|
}, ["stop"]))
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as p, computed as f, openBlock as l, createElementBlock as o, renderSlot as a, createCommentVNode as d, createElementVNode as c, createVNode as h } from "vue";
|
|
2
2
|
import V from "../Input.vue.js";
|
|
3
|
-
const
|
|
3
|
+
const v = { class: "flex flex-col sm:flex-row items-center gap-4 p-1" }, _ = {
|
|
4
4
|
key: 0,
|
|
5
|
-
class: "flex items-center gap-3"
|
|
6
|
-
},
|
|
5
|
+
class: "flex items-center gap-3 mr-auto"
|
|
6
|
+
}, g = { class: "ml-auto" }, w = {
|
|
7
7
|
key: 1,
|
|
8
|
-
class: "w-full sm:w-72!
|
|
9
|
-
},
|
|
8
|
+
class: "w-full sm:w-72!"
|
|
9
|
+
}, b = { class: "flex items-center gap-3" }, S = /* @__PURE__ */ p({
|
|
10
10
|
__name: "DataTableToolbar",
|
|
11
11
|
props: {
|
|
12
12
|
modelValue: { default: "" },
|
|
@@ -14,32 +14,35 @@ const g = { class: "flex flex-col sm:flex-row items-center gap-4 p-1" }, v = {
|
|
|
14
14
|
placeholder: { default: "Search..." }
|
|
15
15
|
},
|
|
16
16
|
emits: ["update:modelValue"],
|
|
17
|
-
setup(t, { emit:
|
|
18
|
-
const
|
|
19
|
-
get: () =>
|
|
20
|
-
set: (e) =>
|
|
17
|
+
setup(t, { emit: n }) {
|
|
18
|
+
const u = t, m = n, s = f({
|
|
19
|
+
get: () => u.modelValue,
|
|
20
|
+
set: (e) => m("update:modelValue", e)
|
|
21
21
|
});
|
|
22
|
-
return (e,
|
|
23
|
-
e.$slots?.left ? (l(), o("div",
|
|
24
|
-
|
|
25
|
-
])) :
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
return (e, r) => (l(), o("div", v, [
|
|
23
|
+
e.$slots?.left ? (l(), o("div", _, [
|
|
24
|
+
a(e.$slots, "left")
|
|
25
|
+
])) : d("", !0),
|
|
26
|
+
c("div", g, [
|
|
27
|
+
a(e.$slots, "delete")
|
|
28
|
+
]),
|
|
29
|
+
t.showSearch ? (l(), o("div", w, [
|
|
30
|
+
h(V, {
|
|
31
|
+
modelValue: s.value,
|
|
32
|
+
"onUpdate:modelValue": r[0] || (r[0] = (i) => s.value = i),
|
|
30
33
|
placeholder: t.placeholder,
|
|
31
34
|
icon: "lucide:search",
|
|
32
35
|
variant: "outline",
|
|
33
36
|
class: "bg-background",
|
|
34
37
|
"show-clear-button": !0
|
|
35
38
|
}, null, 8, ["modelValue", "placeholder"])
|
|
36
|
-
])) :
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
])) : d("", !0),
|
|
40
|
+
c("div", b, [
|
|
41
|
+
a(e.$slots, "right")
|
|
39
42
|
])
|
|
40
43
|
]));
|
|
41
44
|
}
|
|
42
45
|
});
|
|
43
46
|
export {
|
|
44
|
-
|
|
47
|
+
S as default
|
|
45
48
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./CustomFields.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-ce6a94e8"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
r as default
|
|
7
7
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as z, ref as j, computed as i, openBlock as n, createBlock as m, unref as y, withCtx as f, createVNode as v, createElementVNode as d, normalizeClass as V, createElementBlock as p, toDisplayString as b, Fragment as w, renderList as E, withModifiers as k, createCommentVNode as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as z, ref as j, computed as i, openBlock as n, createBlock as m, unref as y, withCtx as f, createVNode as v, createElementVNode as d, normalizeClass as V, createElementBlock as p, toDisplayString as b, Fragment as w, renderList as E, withModifiers as k, createCommentVNode as g, createTextVNode as L } from "vue";
|
|
2
|
+
import h from "../Icon.vue.js";
|
|
3
3
|
import A from "../Dropdown/Dropdown.vue.js";
|
|
4
4
|
import D from "../Dropdown/DropdownMenu.vue.js";
|
|
5
5
|
import C from "../Badge.vue.js";
|
|
@@ -37,9 +37,9 @@ const F = { class: "flex flex-wrap gap-1.5 items-center flex-1 min-w-0 py-0.5" }
|
|
|
37
37
|
s("update:modelValue", []), s("change", []);
|
|
38
38
|
}, N = i(() => [
|
|
39
39
|
"flex items-center justify-between w-full min-h-[40px] px-3 py-1.5 rounded-md border text-sm transition-colors cursor-pointer",
|
|
40
|
-
o.disabled ? "opacity-50 cursor-not-allowed bg-muted" : "bg-background hover:bg-
|
|
40
|
+
o.disabled ? "opacity-50 cursor-not-allowed bg-muted" : "bg-background hover:bg-gray-50/70",
|
|
41
41
|
o.variant === "outline" ? "border-input" : "border-transparent bg-muted",
|
|
42
|
-
u.value ? "border-primary" : ""
|
|
42
|
+
u.value ? "border-primary/20" : ""
|
|
43
43
|
].join(" "));
|
|
44
44
|
return i(() => o.size === "sm" ? "xs" : "sm"), (a, e) => (n(), m(y(A), {
|
|
45
45
|
isOpen: u.value,
|
|
@@ -61,12 +61,13 @@ const F = { class: "flex flex-wrap gap-1.5 items-center flex-1 min-w-0 py-0.5" }
|
|
|
61
61
|
}, {
|
|
62
62
|
default: f(() => [
|
|
63
63
|
d("span", U, b(r.label), 1),
|
|
64
|
-
l.disabled ?
|
|
64
|
+
l.disabled ? g("", !0) : (n(), p("button", {
|
|
65
65
|
key: 0,
|
|
66
|
+
type: "button",
|
|
66
67
|
onClick: k((H) => M(r.value), ["stop"]),
|
|
67
68
|
class: "hover:bg-destructive/10 hover:text-destructive rounded-full p-0.5 transition-colors"
|
|
68
69
|
}, [
|
|
69
|
-
v(
|
|
70
|
+
v(h, {
|
|
70
71
|
icon: "lucide:x",
|
|
71
72
|
class: "w-3 h-3"
|
|
72
73
|
})
|
|
@@ -83,18 +84,18 @@ const F = { class: "flex flex-wrap gap-1.5 items-center flex-1 min-w-0 py-0.5" }
|
|
|
83
84
|
L(" +" + b(x.value), 1)
|
|
84
85
|
]),
|
|
85
86
|
_: 1
|
|
86
|
-
})) :
|
|
87
|
+
})) : g("", !0)
|
|
87
88
|
], 64))
|
|
88
89
|
]),
|
|
89
90
|
d("div", G, [
|
|
90
|
-
c.value.length > 0 && !l.disabled ? (n(), m(
|
|
91
|
+
c.value.length > 0 && !l.disabled ? (n(), m(h, {
|
|
91
92
|
key: 0,
|
|
92
93
|
icon: "lucide:x",
|
|
93
94
|
class: "w-4 h-4 hover:text-foreground transition-colors",
|
|
94
95
|
onClick: k(S, ["stop"])
|
|
95
|
-
})) :
|
|
96
|
+
})) : g("", !0),
|
|
96
97
|
e[4] || (e[4] = d("div", { class: "w-px h-4 bg-border mx-0.5" }, null, -1)),
|
|
97
|
-
v(
|
|
98
|
+
v(h, {
|
|
98
99
|
icon: "lucide:chevron-down",
|
|
99
100
|
class: V(["w-4 h-4 transition-transform duration-200", { "rotate-180": t }])
|
|
100
101
|
}, null, 8, ["class"])
|
|
@@ -13,6 +13,7 @@ interface Props {
|
|
|
13
13
|
bodyClass?: string;
|
|
14
14
|
headerClass?: string;
|
|
15
15
|
triggerClass?: string;
|
|
16
|
+
footerClass?: string;
|
|
16
17
|
backdrop?: boolean;
|
|
17
18
|
body?: Component;
|
|
18
19
|
bodyProps?: Record<string, any>;
|
|
@@ -50,10 +51,13 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
50
51
|
class: string;
|
|
51
52
|
size: SidePanelSize;
|
|
52
53
|
triggerClass: string;
|
|
54
|
+
headerClass: string;
|
|
53
55
|
position: SidePanelPosition;
|
|
54
56
|
show: boolean;
|
|
55
57
|
closeOutside: boolean;
|
|
56
58
|
backdrop: boolean;
|
|
59
|
+
bodyClass: string;
|
|
60
|
+
footerClass: string;
|
|
57
61
|
hideCloseButton: boolean;
|
|
58
62
|
overlayClass: string;
|
|
59
63
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./SidePanel.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const f = /* @__PURE__ */
|
|
3
|
+
import a from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const f = /* @__PURE__ */ a(o, [["__scopeId", "data-v-495f8aa0"]]);
|
|
5
5
|
export {
|
|
6
6
|
f as default
|
|
7
7
|
};
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { defineComponent as S, ref as E, watch as y, onUnmounted as N, computed as
|
|
1
|
+
import { defineComponent as S, ref as E, watch as y, onUnmounted as N, computed as v, openBlock as o, createElementBlock as r, Fragment as P, createElementVNode as f, mergeProps as b, withModifiers as V, renderSlot as i, createCommentVNode as s, createBlock as m, Teleport as D, createVNode as p, Transition as C, withCtx as h, normalizeClass as d, toDisplayString as k, resolveDynamicComponent as K } from "vue";
|
|
2
2
|
import T from "./Button.vue.js";
|
|
3
3
|
import { useKeyStroke as j } from "../composables/useKeyStroke.js";
|
|
4
4
|
const F = { class: "text-lg font-bold text-foreground" }, L = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "mt-1 text-sm text-muted-foreground"
|
|
7
|
-
},
|
|
8
|
-
key: 1,
|
|
9
|
-
class: "flex-none px-6 py-4 border-t border-border bg-muted-light"
|
|
10
|
-
}, H = /* @__PURE__ */ S({
|
|
7
|
+
}, G = /* @__PURE__ */ S({
|
|
11
8
|
inheritAttrs: !1,
|
|
12
9
|
__name: "SidePanel",
|
|
13
10
|
props: {
|
|
@@ -20,16 +17,17 @@ const F = { class: "text-lg font-bold text-foreground" }, L = {
|
|
|
20
17
|
hideCloseButton: { type: Boolean, default: !1 },
|
|
21
18
|
class: { default: "" },
|
|
22
19
|
overlayClass: { default: "" },
|
|
23
|
-
bodyClass: {},
|
|
24
|
-
headerClass: {},
|
|
20
|
+
bodyClass: { default: "" },
|
|
21
|
+
headerClass: { default: "" },
|
|
25
22
|
triggerClass: { default: "" },
|
|
23
|
+
footerClass: { default: "" },
|
|
26
24
|
backdrop: { type: Boolean, default: !0 },
|
|
27
25
|
body: {},
|
|
28
26
|
bodyProps: {}
|
|
29
27
|
},
|
|
30
28
|
emits: ["close", "update:show", "onOpen", "onAfterOpen", "onAfterClose"],
|
|
31
|
-
setup(e, { emit:
|
|
32
|
-
const l = e, c =
|
|
29
|
+
setup(e, { emit: g }) {
|
|
30
|
+
const l = e, c = g, a = E(l.show);
|
|
33
31
|
y(
|
|
34
32
|
() => l.show,
|
|
35
33
|
(t) => {
|
|
@@ -54,9 +52,9 @@ const F = { class: "text-lg font-bold text-foreground" }, L = {
|
|
|
54
52
|
lg: "max-w-lg",
|
|
55
53
|
xl: "max-w-xl",
|
|
56
54
|
full: "max-w-full"
|
|
57
|
-
}, z =
|
|
58
|
-
return (t,
|
|
59
|
-
|
|
55
|
+
}, z = v(() => l.position === "left" ? "left-0" : "right-0"), A = v(() => l.position === "left" ? "slide-left" : "slide-right");
|
|
56
|
+
return (t, u) => (o(), r(P, null, [
|
|
57
|
+
f("span", b({
|
|
60
58
|
onClick: V(w, ["stop"]),
|
|
61
59
|
class: `${e.triggerClass}`
|
|
62
60
|
}, t.$attrs), [
|
|
@@ -65,7 +63,7 @@ const F = { class: "text-lg font-bold text-foreground" }, L = {
|
|
|
65
63
|
], !0)
|
|
66
64
|
], 16),
|
|
67
65
|
(o(), m(D, { to: "body" }, [
|
|
68
|
-
p(
|
|
66
|
+
p(C, {
|
|
69
67
|
"enter-active-class": "transition-opacity duration-300 ease-out",
|
|
70
68
|
"enter-from-class": "opacity-0",
|
|
71
69
|
"enter-to-class": "opacity-100",
|
|
@@ -73,33 +71,33 @@ const F = { class: "text-lg font-bold text-foreground" }, L = {
|
|
|
73
71
|
"leave-from-class": "opacity-100",
|
|
74
72
|
"leave-to-class": "opacity-0"
|
|
75
73
|
}, {
|
|
76
|
-
default:
|
|
74
|
+
default: h(() => [
|
|
77
75
|
a.value ? (o(), r("div", {
|
|
78
76
|
key: 0,
|
|
79
|
-
class:
|
|
77
|
+
class: d(["fixed inset-0 z-50 bg-[#00000033]", [e.overlayClass, { "backdrop-blur-[2px]": e.backdrop }]]),
|
|
80
78
|
onClick: x
|
|
81
79
|
}, null, 2)) : s("", !0)
|
|
82
80
|
]),
|
|
83
81
|
_: 1
|
|
84
82
|
}),
|
|
85
|
-
p(
|
|
83
|
+
p(C, {
|
|
86
84
|
name: A.value,
|
|
87
|
-
onAfterEnter:
|
|
88
|
-
onAfterLeave:
|
|
85
|
+
onAfterEnter: u[0] || (u[0] = (O) => t.$emit("onAfterOpen")),
|
|
86
|
+
onAfterLeave: u[1] || (u[1] = (O) => t.$emit("onAfterClose"))
|
|
89
87
|
}, {
|
|
90
|
-
default:
|
|
88
|
+
default: h(() => [
|
|
91
89
|
a.value ? (o(), r("div", {
|
|
92
90
|
key: 0,
|
|
93
|
-
class:
|
|
91
|
+
class: d(["sidepanel-body fixed inset-y-0 z-50 flex flex-col bg-body shadow-sm border transition-transform duration-300 ease-in-out w-full", [B[e.size], z.value, l.class]])
|
|
94
92
|
}, [
|
|
95
93
|
e.title || t.$slots.header ? (o(), r("div", {
|
|
96
94
|
key: 0,
|
|
97
|
-
class:
|
|
95
|
+
class: d([e.headerClass, "flex-none flex items-center justify-between px-6 py-2 border-b border-border"])
|
|
98
96
|
}, [
|
|
99
97
|
i(t.$slots, "header", {}, () => [
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
e.description ? (o(), r("p", L,
|
|
98
|
+
f("div", null, [
|
|
99
|
+
f("h3", F, k(e.title), 1),
|
|
100
|
+
e.description ? (o(), r("p", L, k(e.description), 1)) : s("", !0)
|
|
103
101
|
])
|
|
104
102
|
], !0),
|
|
105
103
|
e.hideCloseButton ? s("", !0) : (o(), m(T, {
|
|
@@ -112,17 +110,20 @@ const F = { class: "text-lg font-bold text-foreground" }, L = {
|
|
|
112
110
|
class: "-mr-2"
|
|
113
111
|
}))
|
|
114
112
|
], 2)) : s("", !0),
|
|
115
|
-
|
|
116
|
-
class:
|
|
113
|
+
f("div", {
|
|
114
|
+
class: d(["flex-1 overflow-y-auto px-6 py-4", e.bodyClass])
|
|
117
115
|
}, [
|
|
118
|
-
e.body ? (o(), m(K(e.body),
|
|
116
|
+
e.body ? (o(), m(K(e.body), b({ key: 0 }, { ...e.bodyProps, ...t.$attrs }, { close: n }), null, 16)) : i(t.$slots, "default", {
|
|
119
117
|
key: 1,
|
|
120
118
|
close: n
|
|
121
119
|
}, void 0, !0)
|
|
122
120
|
], 2),
|
|
123
|
-
t.$slots.footer ? (o(), r("div",
|
|
121
|
+
t.$slots.footer ? (o(), r("div", {
|
|
122
|
+
key: 1,
|
|
123
|
+
class: d(["flex-none px-6 py-3 border-t border-border", e.footerClass])
|
|
124
|
+
}, [
|
|
124
125
|
i(t.$slots, "footer", { close: n }, void 0, !0)
|
|
125
|
-
])) : s("", !0)
|
|
126
|
+
], 2)) : s("", !0)
|
|
126
127
|
], 2)) : s("", !0)
|
|
127
128
|
]),
|
|
128
129
|
_: 3
|
|
@@ -132,5 +133,5 @@ const F = { class: "text-lg font-bold text-foreground" }, L = {
|
|
|
132
133
|
}
|
|
133
134
|
});
|
|
134
135
|
export {
|
|
135
|
-
|
|
136
|
+
G as default
|
|
136
137
|
};
|
package/package.json
CHANGED
package/style.css
CHANGED
|
@@ -169,15 +169,15 @@
|
|
|
169
169
|
var(--color-mixture-2, #000000));
|
|
170
170
|
|
|
171
171
|
--color-gray-500: color-mix(in oklab,
|
|
172
|
-
var(--color-mixture-1, #ffffff)
|
|
172
|
+
var(--color-mixture-1, #ffffff) 49%,
|
|
173
173
|
var(--color-mixture-2, #000000));
|
|
174
174
|
|
|
175
175
|
--color-gray-600: color-mix(in oklab,
|
|
176
|
-
var(--color-mixture-1, #ffffff)
|
|
176
|
+
var(--color-mixture-1, #ffffff) 39%,
|
|
177
177
|
var(--color-mixture-2, #000000));
|
|
178
178
|
|
|
179
179
|
--color-gray-700: color-mix(in oklab,
|
|
180
|
-
var(--color-mixture-1, #ffffff)
|
|
180
|
+
var(--color-mixture-1, #ffffff) 27%,
|
|
181
181
|
var(--color-mixture-2, #000000));
|
|
182
182
|
|
|
183
183
|
--color-gray-800: color-mix(in oklab,
|
|
@@ -189,14 +189,14 @@
|
|
|
189
189
|
var(--color-mixture-2, #000000));
|
|
190
190
|
|
|
191
191
|
--color-gray-900: color-mix(in oklab,
|
|
192
|
-
var(--color-mixture-1, #ffffff)
|
|
192
|
+
var(--color-mixture-1, #ffffff) 6%,
|
|
193
193
|
var(--color-mixture-2, #000000));
|
|
194
194
|
|
|
195
195
|
--color-gray-950: var(--color-mixture-2, #000000);
|
|
196
196
|
|
|
197
197
|
--color-body: var(--color-white);
|
|
198
198
|
--color-background: var(--color-body);
|
|
199
|
-
--color-foreground: var(--color-gray-
|
|
199
|
+
--color-foreground: var(--color-gray-850);
|
|
200
200
|
|
|
201
201
|
--color-border: color-mix(in oklab, var(--color-mixture-1) 92%, var(--color-mixture-2));
|
|
202
202
|
--color-input: color-mix(in oklab, var(--color-mixture-1) 90%, var(--color-mixture-2));
|
|
@@ -260,7 +260,7 @@
|
|
|
260
260
|
var(--color-mixture-2, #000000));
|
|
261
261
|
|
|
262
262
|
--color-secondary: color-mix(in oklab, var(--color-mixture-1) 89%, var(--color-mixture-2));
|
|
263
|
-
|
|
263
|
+
--color-muted: var(--color-gray-50);
|
|
264
264
|
--color-destructive: #7f1d1d;
|
|
265
265
|
--color-destructive-foreground: #fafafa;
|
|
266
266
|
|
|
@@ -355,6 +355,10 @@
|
|
|
355
355
|
--color-mixture-2: #ffffff !important;
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
+
.dark .hover\:bg-card:hover {
|
|
359
|
+
background-color: var(--color-gray-50);
|
|
360
|
+
}
|
|
361
|
+
|
|
358
362
|
.bg-card {
|
|
359
363
|
--color-mixture-1: #FAFAFA !important;
|
|
360
364
|
--color-mixture-2: #000000 !important;
|
|
@@ -418,6 +422,10 @@
|
|
|
418
422
|
color: var(--color-gray-600) !important;
|
|
419
423
|
}
|
|
420
424
|
|
|
425
|
+
.dark .text-destructive {
|
|
426
|
+
color: rgb(187, 1, 1) !important
|
|
427
|
+
}
|
|
428
|
+
|
|
421
429
|
/* --- base.css --- */
|
|
422
430
|
*,
|
|
423
431
|
*::before,
|
|
@@ -463,15 +471,18 @@ html {
|
|
|
463
471
|
h3,
|
|
464
472
|
.h3,
|
|
465
473
|
h4,
|
|
474
|
+
bold,
|
|
475
|
+
b,
|
|
476
|
+
strong,
|
|
466
477
|
.h4 {
|
|
467
|
-
@apply font-bold text-
|
|
478
|
+
@apply font-bold text-gray-900;
|
|
468
479
|
}
|
|
469
480
|
|
|
470
481
|
h5,
|
|
471
482
|
.h5,
|
|
472
483
|
h6,
|
|
473
484
|
.h6 {
|
|
474
|
-
@apply font-sans text-
|
|
485
|
+
@apply font-sans text-gray-900;
|
|
475
486
|
}
|
|
476
487
|
|
|
477
488
|
h1,
|
|
@@ -593,14 +604,14 @@ html {
|
|
|
593
604
|
|
|
594
605
|
.data-table tr td:first-child,
|
|
595
606
|
.data-table tr th:first-child {
|
|
596
|
-
padding-left:
|
|
597
|
-
padding-right:
|
|
607
|
+
padding-left: 18px !important;
|
|
608
|
+
padding-right: 18px !important;
|
|
598
609
|
}
|
|
599
610
|
|
|
600
611
|
.data-table tr td:last-child,
|
|
601
612
|
.data-table tr th:last-child {
|
|
602
613
|
padding-left: 6px !important;
|
|
603
|
-
padding-right:
|
|
614
|
+
padding-right: 18px !important;
|
|
604
615
|
}
|
|
605
616
|
|
|
606
617
|
.data-table tr td,
|
|
@@ -672,5 +683,5 @@ textarea::-webkit-scrollbar-thumb {
|
|
|
672
683
|
}
|
|
673
684
|
|
|
674
685
|
/* --- Vite Generated CSS --- */
|
|
675
|
-
.accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]: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-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]: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-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] 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-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] 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-8c9add3e]: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}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.custom-fields-table[data-v-
|
|
686
|
+
.accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]: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-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]: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-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] 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-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] 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-8c9add3e]: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}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.custom-fields-table[data-v-ce6a94e8] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea,.custom-fields-table[data-v-ce6a94e8] select,.custom-fields-table[data-v-ce6a94e8] .input-wrapper,.custom-fields-table[data-v-ce6a94e8] .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-ce6a94e8] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-ce6a94e8] input:focus,.custom-fields-table[data-v-ce6a94e8] textarea:focus,.custom-fields-table[data-v-ce6a94e8] select:focus,.custom-fields-table[data-v-ce6a94e8] .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-ce6a94e8] .w-full{width:100%;height:100%}.list-enter-active[data-v-ce6a94e8]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-ce6a94e8]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-47af145c]{display:flex;flex-direction:column}.form-field-item[data-v-47af145c]:has([role=switch]),.form-field-item[data-v-47af145c]:has([role=checkbox]){flex-direction:row;align-items:center}.form-container[data-v-67eb0c47]{width:100%}.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}}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.slide-right-enter-active[data-v-495f8aa0],.slide-right-leave-active[data-v-495f8aa0],.slide-left-enter-active[data-v-495f8aa0],.slide-left-leave-active[data-v-495f8aa0]{transition:transform .3s ease-in-out}.slide-right-enter-from[data-v-495f8aa0],.slide-right-leave-to[data-v-495f8aa0]{transform:translate(100%)}.slide-left-enter-from[data-v-495f8aa0],.slide-left-leave-to[data-v-495f8aa0]{transform:translate(-100%)}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.first-toast-enter-active[data-v-6b631840]{animation:first-toast-in-6b631840 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-6b631840]{transition:all .25s ease-in}.first-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-6b631840{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-6b631840],.stack-toast-leave-active[data-v-6b631840]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-6b631840]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-6b631840]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.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)}}
|
|
676
687
|
|