vlite3 1.4.18 → 1.4.19
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/Chart/BarChart.vue.d.ts +2 -0
- package/components/Chart/BarChart.vue.js +165 -150
- package/components/Chart/types.d.ts +2 -0
- package/components/Chart/utils.js +45 -41
- package/components/Dropdown/DropdownMenu.vue.js +1 -1
- package/components/Tabes/Tabes.vue.js +1 -1
- package/components/Tabes/Tabes.vue2.js +29 -29
- package/package.json +1 -1
- package/style.css +1 -1
- /package/components/Dropdown/{DropdownMenu.vue2.js → DropdownMenu.vue3.js} +0 -0
|
@@ -25,6 +25,8 @@ export interface BarChartProps {
|
|
|
25
25
|
gridOpacity?: number;
|
|
26
26
|
/** Opacity of axis border lines (0–1) */
|
|
27
27
|
axisOpacity?: number;
|
|
28
|
+
/** Fixed width for Y-axis labels (horizontal mode) */
|
|
29
|
+
yLabelWidth?: number;
|
|
28
30
|
}
|
|
29
31
|
declare const _default: import('vue').DefineComponent<BarChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<BarChartProps> & Readonly<{}>, {
|
|
30
32
|
animate: boolean;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { CHART_COLORS as
|
|
3
|
-
const
|
|
1
|
+
import { defineComponent as ie, ref as S, computed as f, onMounted as ce, watch as ve, onUnmounted as de, openBlock as n, createElementBlock as u, Fragment as d, renderList as h, createElementVNode as w, normalizeStyle as U, createTextVNode as he, toDisplayString as k, createCommentVNode as m, unref as M, withDirectives as fe, vShow as me, createBlock as ye, Teleport as xe } from "vue";
|
|
2
|
+
import { CHART_COLORS as ge, getColor as J, formatNumber as X, niceYTicks as $e, animateProgress as be } from "./utils.js";
|
|
3
|
+
const pe = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "flex flex-wrap gap-x-4 gap-y-1 mb-3 pl-14"
|
|
6
|
-
},
|
|
6
|
+
}, ke = ["width", "height"], Me = ["id"], Le = ["stop-color"], we = ["stop-color"], Ve = ["id"], Ce = ["stop-color"], Be = ["stop-color"], Re = ["transform"], Xe = ["y1", "x2", "y2", "stroke-opacity"], Ye = ["y"], ze = ["d", "fill"], Oe = ["x", "y"], Se = ["x", "y", "text-anchor", "transform"], Ae = ["y1", "x2", "y2", "stroke-opacity"], We = ["y2", "stroke-opacity"], Ge = ["transform"], Te = ["x1", "x2", "y2", "stroke-opacity"], Pe = ["x"], He = ["x", "y"], Ne = ["d", "fill"], Qe = ["x", "y"], Ze = ["y2", "stroke-opacity"], De = ["y1", "x2", "y2", "stroke-opacity"], Ee = { class: "font-medium text-xs mb-1.5" }, Fe = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "text-muted-foreground"
|
|
9
|
-
},
|
|
9
|
+
}, Ie = { class: "font-semibold" }, je = /* @__PURE__ */ ie({
|
|
10
10
|
__name: "BarChart",
|
|
11
11
|
props: {
|
|
12
12
|
data: {},
|
|
@@ -19,7 +19,7 @@ const be = {
|
|
|
19
19
|
showLegend: { type: Boolean, default: !0 },
|
|
20
20
|
showTooltip: { type: Boolean, default: !0 },
|
|
21
21
|
showValues: { type: Boolean, default: !1 },
|
|
22
|
-
colors: { default: () =>
|
|
22
|
+
colors: { default: () => ge },
|
|
23
23
|
animate: { type: Boolean, default: !0 },
|
|
24
24
|
formatValue: {},
|
|
25
25
|
showXAxis: { type: Boolean, default: !0 },
|
|
@@ -27,10 +27,11 @@ const be = {
|
|
|
27
27
|
showXLabels: { type: Boolean, default: !0 },
|
|
28
28
|
showYLabels: { type: Boolean, default: !0 },
|
|
29
29
|
gridOpacity: { default: 0.07 },
|
|
30
|
-
axisOpacity: { default: 0.1 }
|
|
30
|
+
axisOpacity: { default: 0.1 },
|
|
31
|
+
yLabelWidth: {}
|
|
31
32
|
},
|
|
32
33
|
setup(i) {
|
|
33
|
-
const s = i,
|
|
34
|
+
const s = i, A = S(), C = S(600), b = f(() => s.datasets?.length ? s.datasets.map((l, e) => ({
|
|
34
35
|
label: l.label,
|
|
35
36
|
color: l.color ?? J(s.colors, e),
|
|
36
37
|
values: l.data
|
|
@@ -41,123 +42,137 @@ const be = {
|
|
|
41
42
|
// will use per-bar color from data
|
|
42
43
|
values: (s.data ?? []).map((l) => l.value)
|
|
43
44
|
}
|
|
44
|
-
]),
|
|
45
|
+
]), p = f(() => b.value.length > 1 || !!s.datasets?.length), v = f(() => s.labels?.length ? s.labels : s.datasets?.length ? b.value[0]?.values.map((t, l) => String(l + 1)) ?? [] : (s.data ?? []).map((t) => t.label)), z = f(() => {
|
|
45
46
|
if (s.orientation !== "vertical" || !s.showXLabels || v.value.length === 0) return !1;
|
|
46
|
-
const t = Math.max(2, Math.floor(
|
|
47
|
+
const t = Math.max(2, Math.floor(C.value / 65));
|
|
47
48
|
return v.value.length > t;
|
|
48
|
-
}),
|
|
49
|
-
|
|
49
|
+
}), K = (t, l) => {
|
|
50
|
+
if (!t) return "";
|
|
51
|
+
const e = Math.max(1, Math.floor(l / 6));
|
|
52
|
+
return t.length > e ? t.slice(0, Math.max(1, e - 2)) + "..." : t;
|
|
53
|
+
}, g = f(() => {
|
|
54
|
+
const t = (a) => String(a).length;
|
|
50
55
|
if (s.orientation === "horizontal") {
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
let a = 8;
|
|
57
|
+
if (s.showYLabels)
|
|
58
|
+
if (s.yLabelWidth !== void 0)
|
|
59
|
+
a = s.yLabelWidth;
|
|
60
|
+
else {
|
|
61
|
+
const L = Math.max(2, ...v.value.map((x) => t(x))) * 6, y = Math.max(40, C.value * 0.4);
|
|
62
|
+
a = Math.min(y, Math.max(24, L + 16));
|
|
63
|
+
}
|
|
64
|
+
let r = 16;
|
|
53
65
|
if (s.showValues) {
|
|
54
|
-
const
|
|
55
|
-
|
|
66
|
+
const L = b.value.flatMap((x) => x.values), y = Math.max(2, ...L.map((x) => t(s.formatValue ? s.formatValue(x) : X(x)))) * 6.5;
|
|
67
|
+
r = Math.max(16, y + 8);
|
|
56
68
|
}
|
|
57
69
|
return {
|
|
58
70
|
// top holds the value-tick labels that float above; collapse when hidden
|
|
59
71
|
top: s.showXLabels ? 16 : 4,
|
|
60
|
-
right:
|
|
72
|
+
right: r,
|
|
61
73
|
bottom: 0,
|
|
62
|
-
left:
|
|
74
|
+
left: a
|
|
63
75
|
};
|
|
64
76
|
}
|
|
65
|
-
const l = s.showYLabels ? Math.max(2, ...B.value.map((
|
|
66
|
-
let
|
|
67
|
-
return s.showXLabels && z.value && (
|
|
77
|
+
const l = s.showYLabels ? Math.max(2, ...B.value.map((a) => t(s.formatValue ? s.formatValue(a) : X(a)))) * 6.5 : 0, e = s.showYLabels ? Math.max(24, l + 12) : 8;
|
|
78
|
+
let o = s.showXLabels ? 24 : 6;
|
|
79
|
+
return s.showXLabels && z.value && (o = Math.max(2, ...v.value.map((r) => String(r).length)) * 6.5 * 0.7 + 16), {
|
|
68
80
|
top: 24,
|
|
69
81
|
right: 0,
|
|
70
|
-
bottom:
|
|
82
|
+
bottom: o,
|
|
71
83
|
left: e
|
|
72
84
|
};
|
|
73
|
-
}),
|
|
85
|
+
}), $ = f(() => Math.max(0, C.value - g.value.left - g.value.right)), c = f(() => Math.max(0, s.height - g.value.top - g.value.bottom)), N = f(() => {
|
|
74
86
|
if (s.orientation !== "vertical") return 1;
|
|
75
|
-
const t = z.value ? 25 : 65, l = Math.max(2, Math.floor(
|
|
87
|
+
const t = z.value ? 25 : 65, l = Math.max(2, Math.floor($.value / t));
|
|
76
88
|
return Math.ceil(v.value.length / l);
|
|
77
|
-
}),
|
|
89
|
+
}), ee = (t) => {
|
|
78
90
|
if (s.orientation !== "vertical") return !0;
|
|
79
91
|
const l = v.value.length;
|
|
80
|
-
return
|
|
81
|
-
},
|
|
92
|
+
return N.value <= 1 || t === 0 || t === l - 1 ? !0 : l - 1 - t < N.value * 0.7 ? !1 : t % N.value === 0;
|
|
93
|
+
}, W = f(
|
|
82
94
|
() => (s.data ?? []).map((t, l) => t.color ?? J(s.colors, l))
|
|
83
|
-
),
|
|
84
|
-
|
|
95
|
+
), te = f(() => b.value.flatMap((t) => t.values)), _ = f(() => Math.max(...te.value) || 1), B = f(() => {
|
|
96
|
+
const t = s.orientation === "vertical" ? s.height : C.value, l = Math.max(2, Math.floor(t / 80));
|
|
97
|
+
return $e(0, _.value, Math.min(5, l));
|
|
98
|
+
}), V = f(() => B.value[B.value.length - 1] || _.value), G = S(s.animate ? 0 : 1);
|
|
99
|
+
let Q = null;
|
|
85
100
|
function j() {
|
|
86
|
-
|
|
101
|
+
Q?.(), G.value = 0, Q = be(800, (t) => G.value = t);
|
|
87
102
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}),
|
|
103
|
+
ce(() => {
|
|
104
|
+
le(), s.animate && j();
|
|
105
|
+
}), ve(() => [s.data, s.datasets], () => {
|
|
91
106
|
s.animate && j();
|
|
92
|
-
}, { deep: !0 }),
|
|
93
|
-
|
|
107
|
+
}, { deep: !0 }), de(() => {
|
|
108
|
+
Q?.(), Z?.disconnect();
|
|
94
109
|
});
|
|
95
|
-
let
|
|
96
|
-
function
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}),
|
|
110
|
+
let Z = null;
|
|
111
|
+
function le() {
|
|
112
|
+
A.value && (Z = new ResizeObserver((t) => {
|
|
113
|
+
C.value = t[0].contentRect.width || 600;
|
|
114
|
+
}), Z.observe(A.value), C.value = A.value.clientWidth || 600);
|
|
100
115
|
}
|
|
101
|
-
const
|
|
116
|
+
const ae = f(() => {
|
|
102
117
|
const t = v.value.length;
|
|
103
118
|
if (t === 0) return [];
|
|
104
|
-
const l =
|
|
105
|
-
return v.value.map((
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
return { val:
|
|
119
|
+
const l = $.value / t, e = b.value.length, o = l * 0.2, a = l - o * 2, r = p.value ? a / e : a;
|
|
120
|
+
return v.value.map((L, y) => {
|
|
121
|
+
const x = y * l + o, D = b.value.map((T, P) => {
|
|
122
|
+
const H = T.values[y] ?? 0, O = H / V.value * c.value * G.value, E = x + P * r, F = c.value - O, I = p.value ? T.color : W.value[y];
|
|
123
|
+
return { val: H, bh: O, x: E, y: F, w: r - (p.value ? 2 : 0), color: I };
|
|
109
124
|
});
|
|
110
|
-
return { label:
|
|
125
|
+
return { label: L, bars: D };
|
|
111
126
|
});
|
|
112
|
-
}),
|
|
127
|
+
}), oe = f(() => {
|
|
113
128
|
const t = v.value.length;
|
|
114
129
|
if (t === 0) return [];
|
|
115
|
-
const l = c.value / t, e =
|
|
116
|
-
return v.value.map((y,
|
|
117
|
-
const
|
|
118
|
-
const
|
|
119
|
-
return { val:
|
|
130
|
+
const l = c.value / t, e = b.value.length, o = l * 0.2, a = l - o * 2, r = p.value ? a / e : a, L = V.value;
|
|
131
|
+
return v.value.map((y, x) => {
|
|
132
|
+
const D = x * l + o, T = b.value.map((P, H) => {
|
|
133
|
+
const O = P.values[x] ?? 0, E = O / L * $.value * G.value, F = D + H * r, I = p.value ? P.color : W.value[x];
|
|
134
|
+
return { val: O, bw: E, x: 0, y: F, h: r - (p.value ? 2 : 0), color: I };
|
|
120
135
|
});
|
|
121
|
-
return { label: y, bars:
|
|
136
|
+
return { label: y, bars: T };
|
|
122
137
|
});
|
|
123
|
-
}),
|
|
124
|
-
function
|
|
138
|
+
}), R = S(null), q = S(null);
|
|
139
|
+
function ne(t) {
|
|
125
140
|
if (!s.showTooltip) return;
|
|
126
|
-
const l = t.currentTarget.getBoundingClientRect(), e = t.clientX - l.left -
|
|
127
|
-
if (
|
|
141
|
+
const l = t.currentTarget.getBoundingClientRect(), e = t.clientX - l.left - g.value.left, o = t.clientY - l.top - g.value.top, a = v.value.length;
|
|
142
|
+
if (a === 0) return;
|
|
128
143
|
let r;
|
|
129
|
-
s.orientation === "vertical" ? r = Math.floor(e /
|
|
130
|
-
const
|
|
131
|
-
color:
|
|
144
|
+
s.orientation === "vertical" ? r = Math.floor(e / $.value * a) : r = Math.floor(o / c.value * a), r = Math.max(0, Math.min(a - 1, r)), q.value = r;
|
|
145
|
+
const L = b.value.map((y, x) => ({
|
|
146
|
+
color: p.value ? y.color : W.value[r],
|
|
132
147
|
label: y.label,
|
|
133
|
-
value: s.formatValue ? s.formatValue(y.values[r]) :
|
|
148
|
+
value: s.formatValue ? s.formatValue(y.values[r]) : X(y.values[r])
|
|
134
149
|
}));
|
|
135
|
-
|
|
150
|
+
R.value = {
|
|
136
151
|
x: t.clientX,
|
|
137
152
|
y: t.clientY,
|
|
138
153
|
label: v.value[r],
|
|
139
|
-
items:
|
|
154
|
+
items: L
|
|
140
155
|
};
|
|
141
156
|
}
|
|
142
|
-
function
|
|
143
|
-
|
|
157
|
+
function ue() {
|
|
158
|
+
R.value = null, q.value = null;
|
|
144
159
|
}
|
|
145
|
-
function
|
|
146
|
-
const r = Math.min(
|
|
147
|
-
return r <= 0 ||
|
|
160
|
+
function re(t, l, e, o, a) {
|
|
161
|
+
const r = Math.min(a, e / 2, o / 2);
|
|
162
|
+
return r <= 0 || o <= 0 ? `M${t},${l + o} L${t},${l} L${t + e},${l} L${t + e},${l + o} Z` : `M${t},${l + o} L${t},${l + r} Q${t},${l} ${t + r},${l} L${t + e - r},${l} Q${t + e},${l} ${t + e},${l + r} L${t + e},${l + o} Z`;
|
|
148
163
|
}
|
|
149
|
-
function
|
|
150
|
-
const r = Math.min(
|
|
151
|
-
return r <= 0 || e <= 0 ? `M${t},${l} L${t + e},${l} L${t + e},${l +
|
|
164
|
+
function se(t, l, e, o, a) {
|
|
165
|
+
const r = Math.min(a, e / 2, o / 2);
|
|
166
|
+
return r <= 0 || e <= 0 ? `M${t},${l} L${t + e},${l} L${t + e},${l + o} L${t},${l + o} Z` : `M${t},${l} L${t + e - r},${l} Q${t + e},${l} ${t + e},${l + r} L${t + e},${l + o - r} Q${t + e},${l + o} ${t + e - r},${l + o} L${t},${l + o} Z`;
|
|
152
167
|
}
|
|
153
|
-
const
|
|
168
|
+
const Y = Math.random().toString(36).slice(2, 7);
|
|
154
169
|
return (t, l) => (n(), u("div", {
|
|
155
170
|
ref_key: "containerRef",
|
|
156
|
-
ref:
|
|
171
|
+
ref: A,
|
|
157
172
|
class: "vlite-bar-chart w-full select-none"
|
|
158
173
|
}, [
|
|
159
|
-
i.showLegend &&
|
|
160
|
-
(n(!0), u(d, null, h(
|
|
174
|
+
i.showLegend && p.value ? (n(), u("div", pe, [
|
|
175
|
+
(n(!0), u(d, null, h(b.value, (e) => (n(), u("div", {
|
|
161
176
|
key: e.label,
|
|
162
177
|
class: "flex items-center gap-1.5 text-xs text-muted-foreground"
|
|
163
178
|
}, [
|
|
@@ -165,22 +180,22 @@ const be = {
|
|
|
165
180
|
class: "w-2.5 h-2.5 rounded-sm inline-block",
|
|
166
181
|
style: U({ backgroundColor: e.color })
|
|
167
182
|
}, null, 4),
|
|
168
|
-
|
|
183
|
+
he(" " + k(e.label), 1)
|
|
169
184
|
]))), 128))
|
|
170
185
|
])) : m("", !0),
|
|
171
186
|
(n(), u("svg", {
|
|
172
|
-
width:
|
|
187
|
+
width: C.value,
|
|
173
188
|
height: i.height,
|
|
174
189
|
role: "img",
|
|
175
190
|
"aria-label": "Bar chart",
|
|
176
191
|
class: "overflow-visible",
|
|
177
|
-
onMousemove:
|
|
178
|
-
onMouseleave:
|
|
192
|
+
onMousemove: ne,
|
|
193
|
+
onMouseleave: ue
|
|
179
194
|
}, [
|
|
180
195
|
w("defs", null, [
|
|
181
|
-
(n(!0), u(d, null, h(
|
|
182
|
-
key:
|
|
183
|
-
id: `bgrad-${
|
|
196
|
+
(n(!0), u(d, null, h(b.value, (e, o) => (n(), u("linearGradient", {
|
|
197
|
+
key: o,
|
|
198
|
+
id: `bgrad-${M(Y)}-${o}`,
|
|
184
199
|
x1: "0",
|
|
185
200
|
y1: "0",
|
|
186
201
|
x2: "0",
|
|
@@ -190,16 +205,16 @@ const be = {
|
|
|
190
205
|
offset: "0%",
|
|
191
206
|
"stop-color": e.color,
|
|
192
207
|
"stop-opacity": "1"
|
|
193
|
-
}, null, 8,
|
|
208
|
+
}, null, 8, Le),
|
|
194
209
|
w("stop", {
|
|
195
210
|
offset: "100%",
|
|
196
211
|
"stop-color": e.color,
|
|
197
212
|
"stop-opacity": "0.7"
|
|
198
|
-
}, null, 8,
|
|
199
|
-
], 8,
|
|
200
|
-
(n(!0), u(d, null, h(
|
|
201
|
-
key: `sc-${
|
|
202
|
-
id: `bgrad-single-${
|
|
213
|
+
}, null, 8, we)
|
|
214
|
+
], 8, Me))), 128)),
|
|
215
|
+
(n(!0), u(d, null, h(W.value, (e, o) => (n(), u("linearGradient", {
|
|
216
|
+
key: `sc-${o}`,
|
|
217
|
+
id: `bgrad-single-${M(Y)}-${o}`,
|
|
203
218
|
x1: "0",
|
|
204
219
|
y1: "0",
|
|
205
220
|
x2: "0",
|
|
@@ -209,74 +224,74 @@ const be = {
|
|
|
209
224
|
offset: "0%",
|
|
210
225
|
"stop-color": e,
|
|
211
226
|
"stop-opacity": "1"
|
|
212
|
-
}, null, 8,
|
|
227
|
+
}, null, 8, Ce),
|
|
213
228
|
w("stop", {
|
|
214
229
|
offset: "100%",
|
|
215
230
|
"stop-color": e,
|
|
216
231
|
"stop-opacity": "0.7"
|
|
217
|
-
}, null, 8,
|
|
218
|
-
], 8,
|
|
232
|
+
}, null, 8, Be)
|
|
233
|
+
], 8, Ve))), 128))
|
|
219
234
|
]),
|
|
220
235
|
i.orientation === "vertical" ? (n(), u("g", {
|
|
221
236
|
key: 0,
|
|
222
|
-
transform: `translate(${
|
|
237
|
+
transform: `translate(${g.value.left},${g.value.top})`
|
|
223
238
|
}, [
|
|
224
239
|
i.showGrid ? (n(!0), u(d, { key: 0 }, h(B.value, (e) => (n(), u("line", {
|
|
225
240
|
key: e,
|
|
226
241
|
x1: 0,
|
|
227
|
-
y1: c.value - e /
|
|
228
|
-
x2:
|
|
229
|
-
y2: c.value - e /
|
|
242
|
+
y1: c.value - e / V.value * c.value,
|
|
243
|
+
x2: $.value,
|
|
244
|
+
y2: c.value - e / V.value * c.value,
|
|
230
245
|
stroke: "currentColor",
|
|
231
246
|
"stroke-opacity": i.gridOpacity,
|
|
232
247
|
"stroke-width": "1"
|
|
233
|
-
}, null, 8,
|
|
248
|
+
}, null, 8, Xe))), 128)) : m("", !0),
|
|
234
249
|
i.showYLabels ? (n(!0), u(d, { key: 1 }, h(B.value, (e) => (n(), u("text", {
|
|
235
250
|
key: `yt-${e}`,
|
|
236
251
|
x: -10,
|
|
237
|
-
y: c.value - e /
|
|
252
|
+
y: c.value - e / V.value * c.value,
|
|
238
253
|
"text-anchor": "end",
|
|
239
254
|
"dominant-baseline": "middle",
|
|
240
255
|
"font-size": "11",
|
|
241
256
|
class: "fill-muted-foreground"
|
|
242
|
-
},
|
|
243
|
-
(n(!0), u(d, null, h(
|
|
244
|
-
(n(!0), u(d, null, h(e.bars, (
|
|
257
|
+
}, k(i.formatValue ? i.formatValue(e) : M(X)(e)), 9, Ye))), 128)) : m("", !0),
|
|
258
|
+
(n(!0), u(d, null, h(ae.value, (e, o) => (n(), u("g", { key: o }, [
|
|
259
|
+
(n(!0), u(d, null, h(e.bars, (a, r) => (n(), u("path", {
|
|
245
260
|
key: r,
|
|
246
|
-
d:
|
|
247
|
-
fill:
|
|
261
|
+
d: re(a.x, a.y, a.w, a.bh, i.barRadius),
|
|
262
|
+
fill: p.value ? `url(#bgrad-${M(Y)}-${r})` : `url(#bgrad-single-${M(Y)}-${o})`,
|
|
248
263
|
class: "transition-opacity duration-150"
|
|
249
|
-
}, null, 8,
|
|
250
|
-
i.showValues ? (n(!0), u(d, { key: 0 }, h(e.bars, (
|
|
264
|
+
}, null, 8, ze))), 128)),
|
|
265
|
+
i.showValues ? (n(!0), u(d, { key: 0 }, h(e.bars, (a, r) => (n(), u("text", {
|
|
251
266
|
key: `vl-${r}`,
|
|
252
|
-
x:
|
|
253
|
-
y:
|
|
267
|
+
x: a.x + a.w / 2,
|
|
268
|
+
y: a.y - 6,
|
|
254
269
|
"text-anchor": "middle",
|
|
255
270
|
"font-size": "10",
|
|
256
271
|
"font-weight": "600",
|
|
257
272
|
class: "fill-foreground"
|
|
258
|
-
},
|
|
273
|
+
}, k(i.formatValue ? i.formatValue(a.val) : M(X)(a.val)), 9, Oe))), 128)) : m("", !0)
|
|
259
274
|
]))), 128)),
|
|
260
|
-
i.showXLabels ? (n(!0), u(d, { key: 2 }, h(v.value, (e,
|
|
261
|
-
key: `xl-${
|
|
262
|
-
x: (
|
|
275
|
+
i.showXLabels ? (n(!0), u(d, { key: 2 }, h(v.value, (e, o) => fe((n(), u("text", {
|
|
276
|
+
key: `xl-${o}`,
|
|
277
|
+
x: (o + 0.5) * ($.value / v.value.length),
|
|
263
278
|
y: c.value + (z.value ? 12 : 16),
|
|
264
279
|
"text-anchor": z.value ? "end" : "middle",
|
|
265
|
-
transform: z.value ? `rotate(-45, ${(
|
|
280
|
+
transform: z.value ? `rotate(-45, ${(o + 0.5) * ($.value / v.value.length)}, ${c.value + 12})` : void 0,
|
|
266
281
|
"font-size": "11",
|
|
267
282
|
class: "fill-muted-foreground"
|
|
268
|
-
},
|
|
269
|
-
[
|
|
283
|
+
}, k(e), 9, Se)), [
|
|
284
|
+
[me, ee(o)]
|
|
270
285
|
])), 128)) : m("", !0),
|
|
271
286
|
i.showXAxis ? (n(), u("line", {
|
|
272
287
|
key: 3,
|
|
273
288
|
x1: 0,
|
|
274
289
|
y1: c.value,
|
|
275
|
-
x2:
|
|
290
|
+
x2: $.value,
|
|
276
291
|
y2: c.value,
|
|
277
292
|
stroke: "currentColor",
|
|
278
293
|
"stroke-opacity": i.axisOpacity
|
|
279
|
-
}, null, 8,
|
|
294
|
+
}, null, 8, Ae)) : m("", !0),
|
|
280
295
|
i.showYAxis ? (n(), u("line", {
|
|
281
296
|
key: 4,
|
|
282
297
|
x1: 0,
|
|
@@ -285,16 +300,16 @@ const be = {
|
|
|
285
300
|
y2: c.value,
|
|
286
301
|
stroke: "currentColor",
|
|
287
302
|
"stroke-opacity": i.axisOpacity
|
|
288
|
-
}, null, 8,
|
|
289
|
-
], 8,
|
|
303
|
+
}, null, 8, We)) : m("", !0)
|
|
304
|
+
], 8, Re)) : (n(), u("g", {
|
|
290
305
|
key: 1,
|
|
291
|
-
transform: `translate(${
|
|
306
|
+
transform: `translate(${g.value.left},${g.value.top})`
|
|
292
307
|
}, [
|
|
293
308
|
i.showGrid ? (n(!0), u(d, { key: 0 }, h(B.value, (e) => (n(), u("line", {
|
|
294
309
|
key: e,
|
|
295
|
-
x1: e /
|
|
310
|
+
x1: e / V.value * $.value,
|
|
296
311
|
y1: 0,
|
|
297
|
-
x2: e /
|
|
312
|
+
x2: e / V.value * $.value,
|
|
298
313
|
y2: c.value,
|
|
299
314
|
stroke: "currentColor",
|
|
300
315
|
"stroke-opacity": i.gridOpacity,
|
|
@@ -302,37 +317,37 @@ const be = {
|
|
|
302
317
|
}, null, 8, Te))), 128)) : m("", !0),
|
|
303
318
|
i.showXLabels ? (n(!0), u(d, { key: 1 }, h(B.value, (e) => (n(), u("text", {
|
|
304
319
|
key: `xt-${e}`,
|
|
305
|
-
x: e /
|
|
320
|
+
x: e / V.value * $.value,
|
|
306
321
|
y: -8,
|
|
307
322
|
"text-anchor": "middle",
|
|
308
323
|
"font-size": "11",
|
|
309
324
|
class: "fill-muted-foreground"
|
|
310
|
-
},
|
|
311
|
-
i.showYLabels ? (n(!0), u(d, { key: 2 }, h(v.value, (e,
|
|
312
|
-
key: `yl-${
|
|
313
|
-
x: -
|
|
314
|
-
y: (
|
|
315
|
-
"text-anchor": "
|
|
325
|
+
}, k(i.formatValue ? i.formatValue(e) : M(X)(e)), 9, Pe))), 128)) : m("", !0),
|
|
326
|
+
i.showYLabels ? (n(!0), u(d, { key: 2 }, h(v.value, (e, o) => (n(), u("text", {
|
|
327
|
+
key: `yl-${o}`,
|
|
328
|
+
x: -g.value.left + 4,
|
|
329
|
+
y: (o + 0.5) * (c.value / v.value.length),
|
|
330
|
+
"text-anchor": "start",
|
|
316
331
|
"dominant-baseline": "middle",
|
|
317
332
|
"font-size": "11",
|
|
318
333
|
class: "fill-muted-foreground"
|
|
319
|
-
},
|
|
320
|
-
(n(!0), u(d, null, h(
|
|
321
|
-
(n(!0), u(d, null, h(e.bars, (
|
|
334
|
+
}, k(K(String(e), g.value.left - 12)), 9, He))), 128)) : m("", !0),
|
|
335
|
+
(n(!0), u(d, null, h(oe.value, (e, o) => (n(), u("g", { key: o }, [
|
|
336
|
+
(n(!0), u(d, null, h(e.bars, (a, r) => (n(), u("path", {
|
|
322
337
|
key: r,
|
|
323
|
-
d:
|
|
324
|
-
fill:
|
|
338
|
+
d: se(a.x, a.y, a.bw, a.h, i.barRadius),
|
|
339
|
+
fill: p.value ? `url(#bgrad-${M(Y)}-${r})` : `url(#bgrad-single-${M(Y)}-${o})`,
|
|
325
340
|
class: "transition-opacity duration-150"
|
|
326
|
-
}, null, 8,
|
|
327
|
-
i.showValues ? (n(!0), u(d, { key: 0 }, h(e.bars, (
|
|
341
|
+
}, null, 8, Ne))), 128)),
|
|
342
|
+
i.showValues ? (n(!0), u(d, { key: 0 }, h(e.bars, (a, r) => (n(), u("text", {
|
|
328
343
|
key: `hvl-${r}`,
|
|
329
|
-
x:
|
|
330
|
-
y:
|
|
344
|
+
x: a.bw + 6,
|
|
345
|
+
y: a.y + a.h / 2,
|
|
331
346
|
"dominant-baseline": "middle",
|
|
332
347
|
"font-size": "10",
|
|
333
348
|
"font-weight": "600",
|
|
334
349
|
class: "fill-foreground"
|
|
335
|
-
},
|
|
350
|
+
}, k(i.formatValue ? i.formatValue(a.val) : M(X)(a.val)), 9, Qe))), 128)) : m("", !0)
|
|
336
351
|
]))), 128)),
|
|
337
352
|
i.showYAxis ? (n(), u("line", {
|
|
338
353
|
key: 3,
|
|
@@ -342,26 +357,26 @@ const be = {
|
|
|
342
357
|
y2: c.value,
|
|
343
358
|
stroke: "currentColor",
|
|
344
359
|
"stroke-opacity": i.axisOpacity
|
|
345
|
-
}, null, 8,
|
|
360
|
+
}, null, 8, Ze)) : m("", !0),
|
|
346
361
|
i.showXAxis ? (n(), u("line", {
|
|
347
362
|
key: 4,
|
|
348
363
|
x1: 0,
|
|
349
364
|
y1: c.value,
|
|
350
|
-
x2:
|
|
365
|
+
x2: $.value,
|
|
351
366
|
y2: c.value,
|
|
352
367
|
stroke: "currentColor",
|
|
353
368
|
"stroke-opacity": i.axisOpacity
|
|
354
|
-
}, null, 8,
|
|
369
|
+
}, null, 8, De)) : m("", !0)
|
|
355
370
|
], 8, Ge))
|
|
356
|
-
], 40,
|
|
357
|
-
(n(),
|
|
358
|
-
|
|
371
|
+
], 40, ke)),
|
|
372
|
+
(n(), ye(xe, { to: "body" }, [
|
|
373
|
+
R.value ? (n(), u("div", {
|
|
359
374
|
key: 0,
|
|
360
375
|
class: "vlite-chart-tooltip",
|
|
361
|
-
style: U({ left: `${
|
|
376
|
+
style: U({ left: `${R.value.x + 12}px`, top: `${R.value.y - 10}px` })
|
|
362
377
|
}, [
|
|
363
|
-
w("div",
|
|
364
|
-
(n(!0), u(d, null, h(
|
|
378
|
+
w("div", Ee, k(R.value.label), 1),
|
|
379
|
+
(n(!0), u(d, null, h(R.value.items, (e) => (n(), u("div", {
|
|
365
380
|
key: e.label,
|
|
366
381
|
class: "flex items-center gap-1.5 text-xs"
|
|
367
382
|
}, [
|
|
@@ -369,8 +384,8 @@ const be = {
|
|
|
369
384
|
class: "w-2 h-2 rounded-sm shrink-0",
|
|
370
385
|
style: U({ backgroundColor: e.color })
|
|
371
386
|
}, null, 4),
|
|
372
|
-
e.label ? (n(), u("span",
|
|
373
|
-
w("span",
|
|
387
|
+
e.label ? (n(), u("span", Fe, k(e.label) + ":", 1)) : m("", !0),
|
|
388
|
+
w("span", Ie, k(e.value), 1)
|
|
374
389
|
]))), 128))
|
|
375
390
|
], 4)) : m("", !0)
|
|
376
391
|
]))
|
|
@@ -378,5 +393,5 @@ const be = {
|
|
|
378
393
|
}
|
|
379
394
|
});
|
|
380
395
|
export {
|
|
381
|
-
|
|
396
|
+
je as default
|
|
382
397
|
};
|
|
@@ -73,6 +73,8 @@ export interface BarChartProps {
|
|
|
73
73
|
animate?: boolean;
|
|
74
74
|
/** Custom value formatter */
|
|
75
75
|
formatValue?: (v: number) => string;
|
|
76
|
+
/** Fixed width for Y-axis labels (horizontal mode) */
|
|
77
|
+
yLabelWidth?: number;
|
|
76
78
|
}
|
|
77
79
|
export type PieLabelMode = 'percent' | 'value' | 'label' | 'none' | 'outside';
|
|
78
80
|
export type LegendPosition = 'right' | 'bottom';
|
|
@@ -6,7 +6,7 @@ const d = [
|
|
|
6
6
|
"var(--color-chart-5)",
|
|
7
7
|
"var(--color-chart-6)"
|
|
8
8
|
];
|
|
9
|
-
function
|
|
9
|
+
function F(t) {
|
|
10
10
|
return {
|
|
11
11
|
primary: "var(--color-primary)",
|
|
12
12
|
success: "var(--color-success)",
|
|
@@ -20,72 +20,76 @@ function x(t) {
|
|
|
20
20
|
cyan: "#06b6d4"
|
|
21
21
|
}[t] ?? t;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
24
|
-
return t[
|
|
23
|
+
function C(t, r) {
|
|
24
|
+
return t[r % t.length];
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function k(t) {
|
|
27
27
|
return Math.abs(t) >= 1e6 ? (t / 1e6).toFixed(1).replace(/\.0$/, "") + "M" : Math.abs(t) >= 1e3 ? (t / 1e3).toFixed(1).replace(/\.0$/, "") + "k" : String(t);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
30
|
-
return Math.max(
|
|
29
|
+
function M(t, r, a) {
|
|
30
|
+
return Math.max(r, Math.min(a, t));
|
|
31
31
|
}
|
|
32
32
|
function w(t) {
|
|
33
33
|
if (t.length < 2) return "";
|
|
34
34
|
if (t.length === 2)
|
|
35
35
|
return `M ${t[0][0]},${t[0][1]} L ${t[1][0]},${t[1][1]}`;
|
|
36
|
-
const
|
|
37
|
-
for (let
|
|
38
|
-
const
|
|
39
|
-
|
|
36
|
+
const r = [`M ${t[0][0]},${t[0][1]}`];
|
|
37
|
+
for (let a = 0; a < t.length - 1; a++) {
|
|
38
|
+
const c = t[Math.max(0, a - 1)], n = t[a], o = t[a + 1], i = t[Math.min(t.length - 1, a + 2)], e = n[0] + (o[0] - c[0]) / 6;
|
|
39
|
+
let s = n[1] + (o[1] - c[1]) / 6;
|
|
40
|
+
const u = o[0] - (i[0] - n[0]) / 6;
|
|
41
|
+
let h = o[1] - (i[1] - n[1]) / 6;
|
|
42
|
+
const $ = Math.min(n[1], o[1]), l = Math.max(n[1], o[1]);
|
|
43
|
+
s = M(s, $, l), h = M(h, $, l), r.push(`C ${e},${s} ${u},${h} ${o[0]},${o[1]}`);
|
|
40
44
|
}
|
|
41
|
-
return
|
|
45
|
+
return r.join(" ");
|
|
42
46
|
}
|
|
43
47
|
function y(t) {
|
|
44
|
-
return t.length === 0 ? "" : t.map(([
|
|
48
|
+
return t.length === 0 ? "" : t.map(([r, a], c) => `${c === 0 ? "M" : "L"} ${r},${a}`).join(" ");
|
|
45
49
|
}
|
|
46
|
-
function L(t, a,
|
|
47
|
-
Math.abs(
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
50
|
-
return `M ${t},${
|
|
51
|
-
const
|
|
50
|
+
function L(t, r, a, c, n, o = 0) {
|
|
51
|
+
Math.abs(n - c) >= 360 && (n -= 0.01);
|
|
52
|
+
const i = (b) => b * Math.PI / 180, e = i(c), s = i(n), u = n - c > 180 ? 1 : 0, h = t + a * Math.cos(e), $ = r + a * Math.sin(e), l = t + a * Math.cos(s), f = r + a * Math.sin(s);
|
|
53
|
+
if (o <= 0)
|
|
54
|
+
return `M ${t},${r} L ${h},${$} A ${a},${a} 0 ${u} 1 ${l},${f} Z`;
|
|
55
|
+
const m = t + o * Math.cos(s), g = r + o * Math.sin(s), p = t + o * Math.cos(e), v = r + o * Math.sin(e);
|
|
52
56
|
return [
|
|
53
|
-
`M ${
|
|
54
|
-
`A ${
|
|
55
|
-
`L ${
|
|
56
|
-
`A ${
|
|
57
|
+
`M ${h},${$}`,
|
|
58
|
+
`A ${a},${a} 0 ${u} 1 ${l},${f}`,
|
|
59
|
+
`L ${m},${g}`,
|
|
60
|
+
`A ${o},${o} 0 ${u} 0 ${p},${v}`,
|
|
57
61
|
"Z"
|
|
58
62
|
].join(" ");
|
|
59
63
|
}
|
|
60
|
-
function P(t,
|
|
61
|
-
const
|
|
62
|
-
let
|
|
63
|
-
for (;
|
|
64
|
-
|
|
65
|
-
return
|
|
64
|
+
function P(t, r, a = 5) {
|
|
65
|
+
const n = (r - t || 1) / (a - 1), o = Math.pow(10, Math.floor(Math.log10(n))), e = ([1, 2, 2.5, 5, 10].find(($) => $ * o >= n) ?? 10) * o, s = Math.floor(t / e) * e, u = [];
|
|
66
|
+
let h = s;
|
|
67
|
+
for (; u.push(parseFloat(h.toFixed(10))), !(h >= r); )
|
|
68
|
+
h += e;
|
|
69
|
+
return u;
|
|
66
70
|
}
|
|
67
|
-
function
|
|
71
|
+
function x(t) {
|
|
68
72
|
return 1 - Math.pow(1 - t, 3);
|
|
69
73
|
}
|
|
70
|
-
function j(t,
|
|
71
|
-
let
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
const e =
|
|
75
|
-
|
|
74
|
+
function j(t, r, a) {
|
|
75
|
+
let c = null, n;
|
|
76
|
+
const o = (i) => {
|
|
77
|
+
c === null && (c = i);
|
|
78
|
+
const e = i - c, s = x(Math.min(e / t, 1));
|
|
79
|
+
r(s), e < t && (n = requestAnimationFrame(o));
|
|
76
80
|
};
|
|
77
|
-
return
|
|
81
|
+
return n = requestAnimationFrame(o), () => cancelAnimationFrame(n);
|
|
78
82
|
}
|
|
79
83
|
export {
|
|
80
84
|
d as CHART_COLORS,
|
|
81
85
|
j as animateProgress,
|
|
82
86
|
L as arcPath,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
M as clamp,
|
|
88
|
+
x as easeOutCubic,
|
|
89
|
+
k as formatNumber,
|
|
90
|
+
C as getColor,
|
|
87
91
|
y as linearPath,
|
|
88
92
|
P as niceYTicks,
|
|
89
|
-
|
|
93
|
+
F as resolveColor,
|
|
90
94
|
w as smoothPath
|
|
91
95
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Tabes.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-2e086e79"]]);
|
|
5
5
|
export {
|
|
6
6
|
m as default
|
|
7
7
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as Y, ref as d, watch as
|
|
1
|
+
import { defineComponent as Y, ref as d, watch as g, onMounted as Z, computed as v, openBlock as m, createElementBlock as z, normalizeClass as l, withDirectives as x, createVNode as y, vShow as h, createElementVNode as f, normalizeStyle as ee, createCommentVNode as j, Fragment as te, renderList as re, createBlock as M, resolveDynamicComponent as ae, mergeProps as ne, withCtx as oe, toDisplayString as se, nextTick as le } from "vue";
|
|
2
2
|
import { useResizeObserver as T } from "@vueuse/core";
|
|
3
3
|
import R from "../Icon.vue.js";
|
|
4
4
|
import A from "../FadeOverlay/FadeOverlay.vue.js";
|
|
5
5
|
import { $t as ie } from "../../utils/i18n.js";
|
|
6
|
-
const ce = ["data-variant"],
|
|
6
|
+
const ce = ["data-variant"], me = /* @__PURE__ */ Y({
|
|
7
7
|
__name: "Tabes",
|
|
8
8
|
props: {
|
|
9
9
|
options: {},
|
|
@@ -63,28 +63,28 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
63
63
|
};
|
|
64
64
|
T(b, () => {
|
|
65
65
|
u(), o();
|
|
66
|
-
}),
|
|
66
|
+
}), g(
|
|
67
67
|
() => t.modelValue,
|
|
68
68
|
async () => {
|
|
69
69
|
await u(), V();
|
|
70
70
|
}
|
|
71
|
-
),
|
|
71
|
+
), g(
|
|
72
72
|
() => t.options,
|
|
73
73
|
async () => {
|
|
74
74
|
await u(), o();
|
|
75
75
|
},
|
|
76
76
|
{ deep: !0 }
|
|
77
|
-
),
|
|
77
|
+
), g(
|
|
78
78
|
() => t.size,
|
|
79
79
|
async () => {
|
|
80
80
|
await u(), o();
|
|
81
81
|
}
|
|
82
|
-
),
|
|
82
|
+
), g(
|
|
83
83
|
() => t.block,
|
|
84
84
|
async () => {
|
|
85
85
|
await u(), o();
|
|
86
86
|
}
|
|
87
|
-
),
|
|
87
|
+
), g(
|
|
88
88
|
() => t.wrap,
|
|
89
89
|
async () => {
|
|
90
90
|
await u(), o();
|
|
@@ -123,26 +123,26 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
123
123
|
let n = "";
|
|
124
124
|
if (a)
|
|
125
125
|
if (r)
|
|
126
|
-
n = "text-primary";
|
|
126
|
+
n = t.wrap ? "text-primary !border-primary" : "text-primary";
|
|
127
127
|
else
|
|
128
128
|
switch (t.variant) {
|
|
129
129
|
case "surface":
|
|
130
|
-
n = "text-foreground";
|
|
130
|
+
n = t.wrap ? "text-foreground bg-[#ffff] dark:bg-[#0B0B0B] shadow-sm" : "text-foreground";
|
|
131
131
|
break;
|
|
132
132
|
case "primary":
|
|
133
|
-
n = "text-primary-foreground";
|
|
133
|
+
n = t.wrap ? "text-primary-foreground bg-primary" : "text-primary-foreground";
|
|
134
134
|
break;
|
|
135
135
|
case "secondary":
|
|
136
|
-
n = "text-secondary";
|
|
136
|
+
n = t.wrap ? "text-secondary bg-secondary-foreground" : "text-secondary";
|
|
137
137
|
break;
|
|
138
138
|
case "danger":
|
|
139
|
-
n = "text-danger-fg";
|
|
139
|
+
n = t.wrap ? "text-danger-fg bg-danger" : "text-danger-fg";
|
|
140
140
|
break;
|
|
141
141
|
case "success":
|
|
142
|
-
n = "text-success-fg";
|
|
142
|
+
n = t.wrap ? "text-success-fg bg-success" : "text-success-fg";
|
|
143
143
|
break;
|
|
144
144
|
case "outline":
|
|
145
|
-
n = "text-accent-foreground";
|
|
145
|
+
n = t.wrap ? "text-accent-foreground bg-accent/50 ring-1 ring-border" : "text-accent-foreground";
|
|
146
146
|
break;
|
|
147
147
|
default:
|
|
148
148
|
n = "text-foreground";
|
|
@@ -163,10 +163,10 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
163
163
|
outline: "bg-accent/50 ring-1 ring-border",
|
|
164
164
|
line: "bg-primary"
|
|
165
165
|
})[t.variant], H = (e) => e.labelI18n ? ie(e.labelI18n) : e.label, J = (e) => e.to ? "router-link" : e.href ? "a" : "button", K = (e) => e.to ? { to: e.to } : e.href ? { href: e.href, target: "_blank", rel: "noopener noreferrer" } : { type: "button" };
|
|
166
|
-
return (e, a) => (
|
|
166
|
+
return (e, a) => (m(), z("div", {
|
|
167
167
|
class: l([D.value, "group"])
|
|
168
168
|
}, [
|
|
169
|
-
|
|
169
|
+
x(y(A, {
|
|
170
170
|
direction: "left",
|
|
171
171
|
color: I.value,
|
|
172
172
|
coverage: "100px",
|
|
@@ -175,9 +175,9 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
175
175
|
tintOpacity: 1,
|
|
176
176
|
class: l(["z-10 pointer-events-none", t.variant === "line" ? "" : "rounded-l-lg"])
|
|
177
177
|
}, null, 8, ["color", "class"]), [
|
|
178
|
-
[
|
|
178
|
+
[h, w.value]
|
|
179
179
|
]),
|
|
180
|
-
|
|
180
|
+
x(f("div", {
|
|
181
181
|
class: l(["left-0 pl-1", L.value])
|
|
182
182
|
}, [
|
|
183
183
|
f("button", {
|
|
@@ -185,13 +185,13 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
185
185
|
class: "pointer-events-auto h-full px-1 flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors focus:outline-none",
|
|
186
186
|
"aria-label": "Scroll left"
|
|
187
187
|
}, [
|
|
188
|
-
|
|
188
|
+
y(R, {
|
|
189
189
|
icon: "lucide:chevron-left",
|
|
190
190
|
class: "w-5 h-5"
|
|
191
191
|
})
|
|
192
192
|
])
|
|
193
193
|
], 2), [
|
|
194
|
-
[
|
|
194
|
+
[h, w.value]
|
|
195
195
|
]),
|
|
196
196
|
f("div", {
|
|
197
197
|
ref_key: "scrollRef",
|
|
@@ -207,12 +207,12 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
207
207
|
"data-variant": t.variant,
|
|
208
208
|
"data-tabes": ""
|
|
209
209
|
}, [
|
|
210
|
-
c.modelValue !== void 0 && !c.wrap ? (
|
|
210
|
+
c.modelValue !== void 0 && !c.wrap ? (m(), z("div", {
|
|
211
211
|
key: 0,
|
|
212
212
|
class: l([q.value, G()]),
|
|
213
213
|
style: ee(k.value)
|
|
214
214
|
}, null, 6)) : j("", !0),
|
|
215
|
-
(
|
|
215
|
+
(m(!0), z(te, null, re(c.options, (r) => (m(), M(ae(J(r)), ne({
|
|
216
216
|
key: r.value,
|
|
217
217
|
ref_for: !0,
|
|
218
218
|
ref: (n) => O(n?.$el || n, r.value),
|
|
@@ -225,7 +225,7 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
225
225
|
onClick: (n) => N(r)
|
|
226
226
|
}), {
|
|
227
227
|
default: oe(() => [
|
|
228
|
-
r.icon ? (
|
|
228
|
+
r.icon ? (m(), M(R, {
|
|
229
229
|
key: 0,
|
|
230
230
|
icon: r.icon,
|
|
231
231
|
class: l(c.size === "sm" ? "w-3.5 h-3.5" : "w-4 h-4")
|
|
@@ -238,7 +238,7 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
238
238
|
}, 1040, ["aria-selected", "disabled", "class", "onClick"]))), 128))
|
|
239
239
|
], 10, ce)
|
|
240
240
|
], 544),
|
|
241
|
-
|
|
241
|
+
x(y(A, {
|
|
242
242
|
direction: "right",
|
|
243
243
|
color: I.value,
|
|
244
244
|
coverage: "100px",
|
|
@@ -247,9 +247,9 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
247
247
|
tintOpacity: 1,
|
|
248
248
|
class: l(["z-10 pointer-events-none", t.variant === "line" ? "" : "rounded-r-lg"])
|
|
249
249
|
}, null, 8, ["color", "class"]), [
|
|
250
|
-
[
|
|
250
|
+
[h, C.value]
|
|
251
251
|
]),
|
|
252
|
-
|
|
252
|
+
x(f("div", {
|
|
253
253
|
class: l(["right-0 pr-1", L.value])
|
|
254
254
|
}, [
|
|
255
255
|
f("button", {
|
|
@@ -257,17 +257,17 @@ const ce = ["data-variant"], ge = /* @__PURE__ */ Y({
|
|
|
257
257
|
class: "pointer-events-auto h-full px-1 flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors focus:outline-none",
|
|
258
258
|
"aria-label": "Scroll right"
|
|
259
259
|
}, [
|
|
260
|
-
|
|
260
|
+
y(R, {
|
|
261
261
|
icon: "lucide:chevron-right",
|
|
262
262
|
class: "w-5 h-5"
|
|
263
263
|
})
|
|
264
264
|
])
|
|
265
265
|
], 2), [
|
|
266
|
-
[
|
|
266
|
+
[h, C.value]
|
|
267
267
|
])
|
|
268
268
|
], 2));
|
|
269
269
|
}
|
|
270
270
|
});
|
|
271
271
|
export {
|
|
272
|
-
|
|
272
|
+
me as default
|
|
273
273
|
};
|
package/package.json
CHANGED
package/style.css
CHANGED
|
@@ -1797,5 +1797,5 @@ html {
|
|
|
1797
1797
|
}
|
|
1798
1798
|
|
|
1799
1799
|
/* --- Vite Generated CSS --- */
|
|
1800
|
-
input[data-v-ea76c92c]::-webkit-outer-spin-button,input[data-v-ea76c92c]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-ea76c92c]{-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}.vl-thumbnail-selector__filepicker-inline[data-v-470fec5b]{display:contents}.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__delete[data-v-470fec5b],.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__drag-handle[data-v-470fec5b]{opacity:1}.vl-thumbnail-selector__card[data-v-470fec5b]:not(.border-primary):hover{border-color:color-mix(in sRGB,var(--color-primary, currentColor) 40%,transparent)}.mega-menu-grid[data-v-512aa158]{display:grid;grid-template-columns:repeat(var(--mega-cols, 3),minmax(0,1fr))}@media(max-width:768px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:1fr}}.dropdown-menu[data-v-173c7a02]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-208854bc]{background-color:#00000085}.v-modal-backdrop[data-v-208854bc]{transform:translateZ(0)}.modal-dialog-enter-active[data-v-208854bc]{transition:opacity 80ms ease-out}.modal-dialog-leave-active[data-v-208854bc]{transition:opacity .12s ease-in}.modal-dialog-enter-from[data-v-208854bc],.modal-dialog-leave-to[data-v-208854bc]{opacity:0}.modal-body[data-v-208854bc]{will-change:opacity;contain:layout style}.blink-bg[data-v-208854bc]{animation:blink-animation-208854bc 1s infinite}@keyframes blink-animation-208854bc{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}.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}.custom-fields-table[data-v-27f884e3]{will-change:transform;contain:layout style}.custom-fields-table[data-v-27f884e3] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-27f884e3] input,.custom-fields-table[data-v-27f884e3] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-27f884e3] input,.custom-fields-table[data-v-27f884e3] textarea,.custom-fields-table[data-v-27f884e3] select,.custom-fields-table[data-v-27f884e3] .input-wrapper,.custom-fields-table[data-v-27f884e3] .tooltip-trigger button,.custom-fields-table[data-v-27f884e3] .tooltip-trigger>div{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-27f884e3] input:focus,.custom-fields-table[data-v-27f884e3] textarea:focus,.custom-fields-table[data-v-27f884e3] select:focus,.custom-fields-table[data-v-27f884e3] .input-wrapper:focus-within,.custom-fields-table[data-v-27f884e3] .tooltip-trigger button:focus,.custom-fields-table[data-v-27f884e3] .tooltip-trigger>div:focus,.custom-fields-table[data-v-27f884e3] .tooltip-trigger>div: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-27f884e3] .w-full{width:100%;height:100%}.custom-fields-table[data-v-27f884e3] .vl-file-picker{height:100%!important;min-height:40px;padding:0;min-width:0!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker--input>.relative{height:100%;min-width:0}.custom-fields-table[data-v-27f884e3] .vl-file-picker--input [role=button]{height:100%!important;min-height:40px!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:.75rem!important;padding-right:2.5rem!important;min-width:0!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker--input [role=button]:focus,.custom-fields-table[data-v-27f884e3] .vl-file-picker--input [role=button]:focus-visible{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important;outline:none!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__dropzone{min-height:96px;padding:1rem;border-radius:.5rem!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file{min-height:72px;border-radius:.5rem!important;background:hsl(var(--background))!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file input{height:auto!important;min-height:0;padding:.125rem .25rem!important;border-bottom:1px solid transparent!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file input:hover{border-bottom-color:hsl(var(--border))!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file input:focus{background-color:transparent!important;border-bottom-color:hsl(var(--primary))!important;box-shadow:none!important}.list-enter-active[data-v-27f884e3]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-27f884e3]{opacity:0;transform:translateY(-5px)}:where(.rte-editor,.rte-reader) h1{display:block;font-size:1.5rem!important;font-weight:700!important;margin:.5em 0 .2em!important;line-height:1.3}:where(.rte-editor,.rte-reader) h2{display:block;font-size:1.2rem!important;font-weight:600!important;margin:.45em 0 .2em!important;line-height:1.35}:where(.rte-editor,.rte-reader) p{display:block;margin:.2em 0!important}:where(.rte-editor,.rte-reader) div{margin:.1em 0}:where(.rte-editor,.rte-reader) blockquote{display:block;border-left:3px solid var(--color-primary);margin:.6em 0!important;padding:.35em 1em!important;color:var(--color-muted-foreground);font-style:italic;background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}:where(.rte-editor,.rte-reader) ul{display:block!important;list-style-type:disc!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) ol{display:block!important;list-style-type:decimal!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) li{display:list-item!important;margin:.15em 0!important;padding-left:.15em}:where(.rte-editor,.rte-reader) ul ul,:where(.rte-editor,.rte-reader) ol ul{list-style-type:circle!important}:where(.rte-editor,.rte-reader) ul ul ul,:where(.rte-editor,.rte-reader) ol ol ul{list-style-type:square!important}:where(.rte-editor,.rte-reader) ol ol{list-style-type:lower-alpha!important}:where(.rte-editor,.rte-reader) ol ol ol{list-style-type:lower-roman!important}:where(.rte-editor,.rte-reader) hr{display:block!important;border:0!important;border-top:1px solid var(--color-border)!important;margin:1.5em 0!important}:where(.rte-editor,.rte-reader) a{color:var(--color-info);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .12s ease}:where(.rte-editor,.rte-reader) a:hover{color:var(--color-info-dark, var(--color-info));text-decoration-thickness:2px}:where(.rte-editor,.rte-reader) code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:var(--color-muted);color:var(--color-foreground);padding:.2em .4em;border-radius:var(--radius-sm);border:none}:where(.rte-editor,.rte-reader) img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1em 0;display:block;box-shadow:0 0 0 1px var(--color-border);transition:filter .2s,opacity .2s}.rte-editor img.rte-image-uploading{opacity:.6;filter:grayscale(100%) blur(2px);cursor:wait}:where(.rte-editor,.rte-reader) strong,:where(.rte-editor,.rte-reader) b{font-weight:700!important}:where(.rte-editor,.rte-reader) em,:where(.rte-editor,.rte-reader) i{font-style:italic!important}:where(.rte-editor,.rte-reader) u{text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:2px}:where(.rte-editor,.rte-reader) s,:where(.rte-editor,.rte-reader) strike{text-decoration:line-through!important}.rte-editor ::selection{background:color-mix(in oklab,var(--color-primary) 22%,transparent)}.rte-toolbar{display:flex;flex-wrap:wrap;padding:6px 8px;gap:2px;border-bottom:1px solid var(--color-border);background:var(--color-background);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;align-items:center}.rte-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-muted-foreground);cursor:pointer;transition:all .1s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rte-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.rte-btn--active{background:var(--color-accent);color:var(--color-foreground)}.rte-btn--text{font-size:.75rem;font-weight:700;width:auto;min-width:28px;padding:0 6px}.rte-icon{width:1.1rem;height:1.1rem;stroke-width:2.5}.rte-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.rte-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rte-sep{width:1px;height:18px;background:var(--color-border);margin:0 3px;flex-shrink:0}.rte-link-popover{position:absolute;top:0;left:0;z-index:60;width:300px;max-width:min(300px,calc(100vw - 24px));background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 4px #0000000f,0 8px 24px #0000001a;padding:8px;display:flex;flex-direction:column;gap:6px;will-change:transform,opacity}.rte-link-input-row{display:flex;align-items:center;gap:6px;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 8px;transition:border-color .15s ease,box-shadow .15s ease}.rte-link-input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-link-icon-prefix{width:.875rem;height:.875rem;color:var(--color-muted-foreground);flex-shrink:0}.rte-link-input{flex:1;background:transparent;border:none;outline:none;font-size:.8rem;color:var(--color-foreground);padding:7px 0;min-width:0;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace}.rte-link-input::placeholder{color:var(--color-muted-foreground);font-family:inherit}.rte-link-actions-row{display:flex;align-items:center;gap:3px}.rte-link-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--color-muted-foreground);transition:background .12s ease,color .12s ease}.rte-link-action-btn:hover{background:var(--color-accent);color:var(--color-foreground)}.rte-link-action-btn--danger{color:var(--color-destructive)}.rte-link-action-btn--danger:hover{background:color-mix(in oklab,var(--color-destructive) 10%,transparent);color:var(--color-destructive)}.rte-link-apply-btn{background:var(--color-primary);color:var(--color-primary-foreground);width:24px;height:24px;padding:4px;cursor:pointer}.rte-link-apply-btn:disabled{opacity:.5;cursor:not-allowed}.rte-link-apply-btn:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 88%,var(--color-primary-foreground));color:var(--color-primary-foreground)}.rte-root{display:flex;flex-direction:column;gap:6px;width:100%}.rte-label{font-size:.825rem;font-weight:500;color:var(--color-foreground);margin-bottom:2px}.rte-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);position:relative;transition:border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.rte-root.rte-focused .rte-wrapper{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-root.rte-disabled .rte-wrapper{background:var(--color-muted);opacity:.6}.rte-root.rte-error .rte-wrapper{border-color:var(--color-destructive)}.rte-root.rte-error.rte-focused .rte-wrapper{box-shadow:0 0 0 2px color-mix(in oklab,var(--color-destructive) 15%,transparent)}.rte-body-wrap{position:relative;overflow:visible}.rte-editor{outline:none;padding:14px 16px;color:var(--color-foreground);font-size:.9rem;line-height:1.7;width:100%;box-sizing:border-box;overflow-y:auto;border-radius:0 0 var(--radius) var(--radius);word-break:break-word;overflow-wrap:break-word;will-change:transform;contain:layout style}.rte-editor[contenteditable=true]{caret-color:var(--color-primary)}.rte-placeholder{position:absolute;top:14px;left:16px;color:var(--color-muted-foreground);font-size:.9rem;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1.7}.rte-error-msg{font-size:.78rem;color:var(--color-destructive);margin:0;line-height:1.4}.form-field-item[data-v-539d8be7]{display:flex;flex-direction:column;min-width:0}.form-field-item[data-v-539d8be7]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-db13df10]{width:100%}[data-tabes][data-v-b32d2e32]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 0 0%;min-width:max-content}.scrollbar-hide[data-v-b32d2e32]{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide[data-v-b32d2e32]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.scrollable-container[data-v-38015ba3]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-38015ba3]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-38015ba3]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.scrollable-container[data-v-52c07c6d]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-69e4da90]{background-color:#00000069}.slide-right-enter-active[data-v-69e4da90],.slide-left-enter-active[data-v-69e4da90]{transition:opacity 80ms ease-out}.slide-right-leave-active[data-v-69e4da90],.slide-left-leave-active[data-v-69e4da90]{transition:opacity .12s ease-in}.slide-right-enter-from[data-v-69e4da90],.slide-right-leave-to[data-v-69e4da90],.slide-left-enter-from[data-v-69e4da90],.slide-left-leave-to[data-v-69e4da90]{opacity:0}.sidepanel-body[data-v-69e4da90]{will-change:transform,opacity;contain:layout style}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.navbar-tabs-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.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-4d544a95]{width:100%;position:relative;will-change:transform;contain:layout style}.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}.file-tree-container[data-v-62b1cddc]{will-change:transform;contain:layout style}.rte-reader[data-v-55b9fd8b]{font-family:inherit;color:var(--color-foreground);font-size:.9rem;line-height:1.7;word-break:break-word;overflow-wrap:break-word;padding:0;margin:0}.sheet-container[data-v-e674bcbc]{will-change:transform;contain:layout style}.vl-comment-actions[data-v-446c60ad]{opacity:0;transition:opacity .15s ease}.vl-comment:hover:not(:has(.vl-comment:hover))>div>.vl-comment-header>.vl-comment-actions[data-v-446c60ad]{opacity:1}.vl-comment-actions[data-v-446c60ad]:focus-within{opacity:1}.vl-comment:has(.vl-comment-actions button[aria-label="Confirm delete"]) .vl-comment-actions[data-v-446c60ad]{opacity:1}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.drill-forward-enter-active,.drill-forward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-forward-enter-from{opacity:0;transform:translate(40%)}.drill-forward-enter-to,.drill-forward-leave-from{opacity:1;transform:translate(0)}.drill-forward-leave-to{opacity:0;transform:translate(-40%)}.drill-forward-leave-active{position:absolute;top:0;left:0;right:0}.drill-backward-enter-active,.drill-backward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-backward-enter-from{opacity:0;transform:translate(-40%)}.drill-backward-enter-to,.drill-backward-leave-from{opacity:1;transform:translate(0)}.drill-backward-leave-to{opacity:0;transform:translate(40%)}.drill-backward-leave-active{position:absolute;top:0;left:0;right:0}.sidebar-drilldown-container{min-height:0}.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-f4695eed]{max-height:70vh;will-change:transform;contain:layout style}.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-e8bfdc18]{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}.custom-table[data-v-e8bfdc18]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-e8bfdc18]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-e8bfdc18]{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-e8bfdc18]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-e8bfdc18]{text-align:center;min-width:100px}.custom-th[data-v-e8bfdc18]:first-child{border-left:none}.custom-td[data-v-e8bfdc18]{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-e8bfdc18]{text-align:center}.custom-td[data-v-e8bfdc18]:first-child{border-left:none}.custom-group-row td[data-v-e8bfdc18]{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-e8bfdc18]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-e8bfdc18]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-e8bfdc18]{border-bottom:none}.custom-active-cell[data-v-e8bfdc18]{cursor:pointer}.custom-active-cell[data-v-e8bfdc18]:hover{background-color:var(--color-accent)}.category-manager--loading[data-v-0e426dc4]{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-fade-enter-active[data-v-0e426dc4],.cm-fade-leave-active[data-v-0e426dc4]{transition:opacity .2s ease}.cm-fade-enter-from[data-v-0e426dc4],.cm-fade-leave-to[data-v-0e426dc4]{opacity:0}.category-tabs-no-scrollbar[data-v-4d803b88]{-ms-overflow-style:none;scrollbar-width:none}.category-tabs-no-scrollbar[data-v-4d803b88]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-4d803b88],.fade-x-leave-active[data-v-4d803b88]{transition:opacity .15s ease}.fade-x-enter-from[data-v-4d803b88],.fade-x-leave-to[data-v-4d803b88]{opacity:0}.category-mega-no-scrollbar[data-v-5a117002]{-ms-overflow-style:none;scrollbar-width:none}.category-mega-no-scrollbar[data-v-5a117002]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-5a117002],.fade-x-leave-active[data-v-5a117002]{transition:opacity .15s ease}.fade-x-enter-from[data-v-5a117002],.fade-x-leave-to[data-v-5a117002]{opacity:0}.attached-group[data-v-298c3d8a] button{position:relative}.attached-group[data-v-298c3d8a] button:focus-visible,.attached-group[data-v-298c3d8a] button:hover{z-index:10}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child){margin-inline-start:-1px}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:first-child{border-start-end-radius:0!important;border-end-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:last-child{border-start-start-radius:0!important;border-end-start-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child){margin-block-start:-1px}.vertical-group[data-v-298c3d8a] button:first-child{border-end-start-radius:0!important;border-end-end-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(:last-child){border-radius:0!important}.vertical-group[data-v-298c3d8a] button:last-child{border-start-start-radius:0!important;border-start-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-298c3d8a] 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}[data-v-63e46f6b] .calendar-view{--calendar-primary-color: var(--color-primary);--calendar-bg-color: transparent !important;--calendar-border-color: var(--color-border);--calendar-text-color: var(--color-foreground);--calendar-hover-color: var(--color-accent)}[data-v-63e46f6b] .v-event-calendar .add-event-icon,[data-v-63e46f6b] .v-event-calendar .add-event-icon svg{color:var(--color-primary-fg)!important}.vlite-line-chart[data-v-07c9fb47]{position:relative}.vlite-scc-grid[data-v-e6172e07]{display:flex;width:100%}.vlite-scc-card[data-v-e6172e07]{flex:1;position:relative;display:flex;align-items:stretch}.vlite-scc-separator[data-v-e6172e07]{width:1px;align-self:stretch;background:var(--color-border, #e4e4e7);opacity:.3;margin:8px 0;flex-shrink:0;background-image:repeating-linear-gradient(to bottom,var(--color-border, #e4e4e7) 0px,var(--color-border, #e4e4e7) 4px,transparent 4px,transparent 8px);background-color:transparent}.vlite-scc-content[data-v-e6172e07]{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;flex:1;min-height:200px}.vlite-scc-label[data-v-e6172e07]{font-size:13px;font-weight:500;color:var(--color-muted-foreground, #71717a);margin:0 0 6px}.vlite-scc-pct[data-v-e6172e07]{font-size:36px;font-weight:800;color:var(--color-foreground, #09090b);margin:0;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vlite-scc-spacer[data-v-e6172e07]{flex:1}.vlite-scc-indicator[data-v-e6172e07]{border-radius:10px;margin-bottom:14px;transition:width .6s ease,height .6s ease}.vlite-scc-footer[data-v-e6172e07]{display:flex;align-items:center;gap:8px}.vlite-scc-value[data-v-e6172e07]{font-size:14px;font-weight:600;color:var(--color-foreground, #09090b);font-variant-numeric:tabular-nums}.vlite-scc-trend-icon[data-v-e6172e07]{width:14px;height:14px}.vlite-scc-trend-up[data-v-e6172e07]{color:var(--color-success, #22c55e);transform:rotate(25deg)}.vlite-scc-trend-down[data-v-e6172e07]{color:var(--color-danger, #ef4444);transform:rotate(-25deg)}.vlite-gantt-chart[data-v-91cc2885]{font-family:inherit}.vlite-gantt-toolbar[data-v-91cc2885]{display:flex;justify-content:flex-end;margin-bottom:8px;gap:6px}.vlite-gantt-btn[data-v-91cc2885]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.vlite-gantt-btn[data-v-91cc2885]:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.vlite-gantt-btn[data-v-91cc2885]:disabled{opacity:.5;cursor:not-allowed}.vlite-gantt-zoom-controls[data-v-91cc2885]{display:flex;gap:6px}.vlite-gantt-wrapper[data-v-91cc2885]{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background)}.vlite-gantt-sidebar[data-v-91cc2885]{flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-background);z-index:2}.vlite-gantt-sidebar-header[data-v-91cc2885]{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-sidebar-body[data-v-91cc2885]{overflow-y:hidden;overflow-x:hidden}.vlite-gantt-sidebar-row[data-v-91cc2885]{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid color-mix(in oklab,var(--color-border) 50%,transparent)}.vlite-gantt-group-toggle[data-v-91cc2885]{display:flex;align-items:center;gap:6px;width:100%;padding:0 4px;background:none;border:none;cursor:pointer;color:inherit;text-align:left}.vlite-gantt-group-toggle[data-v-91cc2885]:hover{opacity:.8}.vlite-gantt-chevron[data-v-91cc2885]{transition:transform .2s ease;color:var(--color-muted-foreground);flex-shrink:0}.vlite-gantt-chevron-collapsed[data-v-91cc2885]{transform:rotate(-90deg)}.vlite-gantt-group-count[data-v-91cc2885]{font-size:10px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);padding:1px 6px;border-radius:99px;margin-left:auto}.vlite-gantt-task-name[data-v-91cc2885]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 4px;width:100%;transition:all .15s}.vlite-gantt-task-name[data-v-91cc2885]:hover{opacity:.75}.vlite-gantt-task-name-grouped[data-v-91cc2885]{padding-left:20px}.vlite-gantt-task-name-dragging[data-v-91cc2885]{background:color-mix(in oklab,var(--color-primary) 8%,transparent);border-radius:4px}.vlite-gantt-task-dot[data-v-91cc2885]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.vlite-gantt-progress-badge[data-v-91cc2885]{font-size:10px;font-weight:700;color:var(--color-muted-foreground);margin-left:auto;flex-shrink:0}.vlite-gantt-timeline[data-v-91cc2885]{flex:1;overflow-x:auto;overflow-y:auto;position:relative}.vlite-gantt-timeline-header[data-v-91cc2885]{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-timeline-body[data-v-91cc2885]{position:relative}.vlite-gantt-bar-dragging[data-v-91cc2885]{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));z-index:10}.vlite-gantt-dep-group[data-v-91cc2885]{transition:opacity .2s}.vlite-gantt-dep-group[data-v-91cc2885]:hover{opacity:1!important}.vlite-gantt-tooltip-progress-track[data-v-91cc2885]{width:60px;height:4px;border-radius:2px;background:var(--color-muted);overflow:hidden}.vlite-gantt-tooltip-progress-fill[data-v-91cc2885]{height:100%;border-radius:2px;transition:width .3s ease}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar{height:6px;width:6px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-track{background:transparent}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.vlite-gantt-sidebar-body[data-v-91cc2885]::-webkit-scrollbar{width:0;display:none}.is-solid[data-v-33afc5cb] path,.is-solid[data-v-33afc5cb] polygon,.is-solid[data-v-33afc5cb] circle,.is-solid[data-v-33afc5cb] rect{fill:currentColor!important}.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-aa0dbb48] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-aa0dbb48]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
|
|
1800
|
+
input[data-v-ea76c92c]::-webkit-outer-spin-button,input[data-v-ea76c92c]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-ea76c92c]{-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}.vl-thumbnail-selector__filepicker-inline[data-v-470fec5b]{display:contents}.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__delete[data-v-470fec5b],.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__drag-handle[data-v-470fec5b]{opacity:1}.vl-thumbnail-selector__card[data-v-470fec5b]:not(.border-primary):hover{border-color:color-mix(in sRGB,var(--color-primary, currentColor) 40%,transparent)}.mega-menu-grid[data-v-512aa158]{display:grid;grid-template-columns:repeat(var(--mega-cols, 3),minmax(0,1fr))}@media(max-width:768px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:1fr}}.dropdown-menu[data-v-173c7a02]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-208854bc]{background-color:#00000085}.v-modal-backdrop[data-v-208854bc]{transform:translateZ(0)}.modal-dialog-enter-active[data-v-208854bc]{transition:opacity 80ms ease-out}.modal-dialog-leave-active[data-v-208854bc]{transition:opacity .12s ease-in}.modal-dialog-enter-from[data-v-208854bc],.modal-dialog-leave-to[data-v-208854bc]{opacity:0}.modal-body[data-v-208854bc]{will-change:opacity;contain:layout style}.blink-bg[data-v-208854bc]{animation:blink-animation-208854bc 1s infinite}@keyframes blink-animation-208854bc{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}.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}.custom-fields-table[data-v-27f884e3]{will-change:transform;contain:layout style}.custom-fields-table[data-v-27f884e3] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-27f884e3] input,.custom-fields-table[data-v-27f884e3] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-27f884e3] input,.custom-fields-table[data-v-27f884e3] textarea,.custom-fields-table[data-v-27f884e3] select,.custom-fields-table[data-v-27f884e3] .input-wrapper,.custom-fields-table[data-v-27f884e3] .tooltip-trigger button,.custom-fields-table[data-v-27f884e3] .tooltip-trigger>div{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-27f884e3] input:focus,.custom-fields-table[data-v-27f884e3] textarea:focus,.custom-fields-table[data-v-27f884e3] select:focus,.custom-fields-table[data-v-27f884e3] .input-wrapper:focus-within,.custom-fields-table[data-v-27f884e3] .tooltip-trigger button:focus,.custom-fields-table[data-v-27f884e3] .tooltip-trigger>div:focus,.custom-fields-table[data-v-27f884e3] .tooltip-trigger>div: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-27f884e3] .w-full{width:100%;height:100%}.custom-fields-table[data-v-27f884e3] .vl-file-picker{height:100%!important;min-height:40px;padding:0;min-width:0!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker--input>.relative{height:100%;min-width:0}.custom-fields-table[data-v-27f884e3] .vl-file-picker--input [role=button]{height:100%!important;min-height:40px!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:.75rem!important;padding-right:2.5rem!important;min-width:0!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker--input [role=button]:focus,.custom-fields-table[data-v-27f884e3] .vl-file-picker--input [role=button]:focus-visible{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important;outline:none!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__dropzone{min-height:96px;padding:1rem;border-radius:.5rem!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file{min-height:72px;border-radius:.5rem!important;background:hsl(var(--background))!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file input{height:auto!important;min-height:0;padding:.125rem .25rem!important;border-bottom:1px solid transparent!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file input:hover{border-bottom-color:hsl(var(--border))!important}.custom-fields-table[data-v-27f884e3] .vl-file-picker__file input:focus{background-color:transparent!important;border-bottom-color:hsl(var(--primary))!important;box-shadow:none!important}.list-enter-active[data-v-27f884e3]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-27f884e3]{opacity:0;transform:translateY(-5px)}:where(.rte-editor,.rte-reader) h1{display:block;font-size:1.5rem!important;font-weight:700!important;margin:.5em 0 .2em!important;line-height:1.3}:where(.rte-editor,.rte-reader) h2{display:block;font-size:1.2rem!important;font-weight:600!important;margin:.45em 0 .2em!important;line-height:1.35}:where(.rte-editor,.rte-reader) p{display:block;margin:.2em 0!important}:where(.rte-editor,.rte-reader) div{margin:.1em 0}:where(.rte-editor,.rte-reader) blockquote{display:block;border-left:3px solid var(--color-primary);margin:.6em 0!important;padding:.35em 1em!important;color:var(--color-muted-foreground);font-style:italic;background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}:where(.rte-editor,.rte-reader) ul{display:block!important;list-style-type:disc!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) ol{display:block!important;list-style-type:decimal!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) li{display:list-item!important;margin:.15em 0!important;padding-left:.15em}:where(.rte-editor,.rte-reader) ul ul,:where(.rte-editor,.rte-reader) ol ul{list-style-type:circle!important}:where(.rte-editor,.rte-reader) ul ul ul,:where(.rte-editor,.rte-reader) ol ol ul{list-style-type:square!important}:where(.rte-editor,.rte-reader) ol ol{list-style-type:lower-alpha!important}:where(.rte-editor,.rte-reader) ol ol ol{list-style-type:lower-roman!important}:where(.rte-editor,.rte-reader) hr{display:block!important;border:0!important;border-top:1px solid var(--color-border)!important;margin:1.5em 0!important}:where(.rte-editor,.rte-reader) a{color:var(--color-info);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .12s ease}:where(.rte-editor,.rte-reader) a:hover{color:var(--color-info-dark, var(--color-info));text-decoration-thickness:2px}:where(.rte-editor,.rte-reader) code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:var(--color-muted);color:var(--color-foreground);padding:.2em .4em;border-radius:var(--radius-sm);border:none}:where(.rte-editor,.rte-reader) img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1em 0;display:block;box-shadow:0 0 0 1px var(--color-border);transition:filter .2s,opacity .2s}.rte-editor img.rte-image-uploading{opacity:.6;filter:grayscale(100%) blur(2px);cursor:wait}:where(.rte-editor,.rte-reader) strong,:where(.rte-editor,.rte-reader) b{font-weight:700!important}:where(.rte-editor,.rte-reader) em,:where(.rte-editor,.rte-reader) i{font-style:italic!important}:where(.rte-editor,.rte-reader) u{text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:2px}:where(.rte-editor,.rte-reader) s,:where(.rte-editor,.rte-reader) strike{text-decoration:line-through!important}.rte-editor ::selection{background:color-mix(in oklab,var(--color-primary) 22%,transparent)}.rte-toolbar{display:flex;flex-wrap:wrap;padding:6px 8px;gap:2px;border-bottom:1px solid var(--color-border);background:var(--color-background);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;align-items:center}.rte-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-muted-foreground);cursor:pointer;transition:all .1s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rte-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.rte-btn--active{background:var(--color-accent);color:var(--color-foreground)}.rte-btn--text{font-size:.75rem;font-weight:700;width:auto;min-width:28px;padding:0 6px}.rte-icon{width:1.1rem;height:1.1rem;stroke-width:2.5}.rte-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.rte-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rte-sep{width:1px;height:18px;background:var(--color-border);margin:0 3px;flex-shrink:0}.rte-link-popover{position:absolute;top:0;left:0;z-index:60;width:300px;max-width:min(300px,calc(100vw - 24px));background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 4px #0000000f,0 8px 24px #0000001a;padding:8px;display:flex;flex-direction:column;gap:6px;will-change:transform,opacity}.rte-link-input-row{display:flex;align-items:center;gap:6px;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 8px;transition:border-color .15s ease,box-shadow .15s ease}.rte-link-input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-link-icon-prefix{width:.875rem;height:.875rem;color:var(--color-muted-foreground);flex-shrink:0}.rte-link-input{flex:1;background:transparent;border:none;outline:none;font-size:.8rem;color:var(--color-foreground);padding:7px 0;min-width:0;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace}.rte-link-input::placeholder{color:var(--color-muted-foreground);font-family:inherit}.rte-link-actions-row{display:flex;align-items:center;gap:3px}.rte-link-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--color-muted-foreground);transition:background .12s ease,color .12s ease}.rte-link-action-btn:hover{background:var(--color-accent);color:var(--color-foreground)}.rte-link-action-btn--danger{color:var(--color-destructive)}.rte-link-action-btn--danger:hover{background:color-mix(in oklab,var(--color-destructive) 10%,transparent);color:var(--color-destructive)}.rte-link-apply-btn{background:var(--color-primary);color:var(--color-primary-foreground);width:24px;height:24px;padding:4px;cursor:pointer}.rte-link-apply-btn:disabled{opacity:.5;cursor:not-allowed}.rte-link-apply-btn:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 88%,var(--color-primary-foreground));color:var(--color-primary-foreground)}.rte-root{display:flex;flex-direction:column;gap:6px;width:100%}.rte-label{font-size:.825rem;font-weight:500;color:var(--color-foreground);margin-bottom:2px}.rte-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);position:relative;transition:border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.rte-root.rte-focused .rte-wrapper{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-root.rte-disabled .rte-wrapper{background:var(--color-muted);opacity:.6}.rte-root.rte-error .rte-wrapper{border-color:var(--color-destructive)}.rte-root.rte-error.rte-focused .rte-wrapper{box-shadow:0 0 0 2px color-mix(in oklab,var(--color-destructive) 15%,transparent)}.rte-body-wrap{position:relative;overflow:visible}.rte-editor{outline:none;padding:14px 16px;color:var(--color-foreground);font-size:.9rem;line-height:1.7;width:100%;box-sizing:border-box;overflow-y:auto;border-radius:0 0 var(--radius) var(--radius);word-break:break-word;overflow-wrap:break-word;will-change:transform;contain:layout style}.rte-editor[contenteditable=true]{caret-color:var(--color-primary)}.rte-placeholder{position:absolute;top:14px;left:16px;color:var(--color-muted-foreground);font-size:.9rem;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1.7}.rte-error-msg{font-size:.78rem;color:var(--color-destructive);margin:0;line-height:1.4}.form-field-item[data-v-539d8be7]{display:flex;flex-direction:column;min-width:0}.form-field-item[data-v-539d8be7]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-db13df10]{width:100%}[data-tabes][data-v-2e086e79]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 0 0%;min-width:max-content}.scrollbar-hide[data-v-2e086e79]{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide[data-v-2e086e79]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.scrollable-container[data-v-38015ba3]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-38015ba3]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-38015ba3]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.scrollable-container[data-v-52c07c6d]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-69e4da90]{background-color:#00000069}.slide-right-enter-active[data-v-69e4da90],.slide-left-enter-active[data-v-69e4da90]{transition:opacity 80ms ease-out}.slide-right-leave-active[data-v-69e4da90],.slide-left-leave-active[data-v-69e4da90]{transition:opacity .12s ease-in}.slide-right-enter-from[data-v-69e4da90],.slide-right-leave-to[data-v-69e4da90],.slide-left-enter-from[data-v-69e4da90],.slide-left-leave-to[data-v-69e4da90]{opacity:0}.sidepanel-body[data-v-69e4da90]{will-change:transform,opacity;contain:layout style}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.navbar-tabs-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.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-4d544a95]{width:100%;position:relative;will-change:transform;contain:layout style}.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}.file-tree-container[data-v-62b1cddc]{will-change:transform;contain:layout style}.rte-reader[data-v-55b9fd8b]{font-family:inherit;color:var(--color-foreground);font-size:.9rem;line-height:1.7;word-break:break-word;overflow-wrap:break-word;padding:0;margin:0}.sheet-container[data-v-e674bcbc]{will-change:transform;contain:layout style}.vl-comment-actions[data-v-446c60ad]{opacity:0;transition:opacity .15s ease}.vl-comment:hover:not(:has(.vl-comment:hover))>div>.vl-comment-header>.vl-comment-actions[data-v-446c60ad]{opacity:1}.vl-comment-actions[data-v-446c60ad]:focus-within{opacity:1}.vl-comment:has(.vl-comment-actions button[aria-label="Confirm delete"]) .vl-comment-actions[data-v-446c60ad]{opacity:1}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.drill-forward-enter-active,.drill-forward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-forward-enter-from{opacity:0;transform:translate(40%)}.drill-forward-enter-to,.drill-forward-leave-from{opacity:1;transform:translate(0)}.drill-forward-leave-to{opacity:0;transform:translate(-40%)}.drill-forward-leave-active{position:absolute;top:0;left:0;right:0}.drill-backward-enter-active,.drill-backward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-backward-enter-from{opacity:0;transform:translate(-40%)}.drill-backward-enter-to,.drill-backward-leave-from{opacity:1;transform:translate(0)}.drill-backward-leave-to{opacity:0;transform:translate(40%)}.drill-backward-leave-active{position:absolute;top:0;left:0;right:0}.sidebar-drilldown-container{min-height:0}.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-f4695eed]{max-height:70vh;will-change:transform;contain:layout style}.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-e8bfdc18]{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}.custom-table[data-v-e8bfdc18]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-e8bfdc18]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-e8bfdc18]{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-e8bfdc18]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-e8bfdc18]{text-align:center;min-width:100px}.custom-th[data-v-e8bfdc18]:first-child{border-left:none}.custom-td[data-v-e8bfdc18]{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-e8bfdc18]{text-align:center}.custom-td[data-v-e8bfdc18]:first-child{border-left:none}.custom-group-row td[data-v-e8bfdc18]{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-e8bfdc18]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-e8bfdc18]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-e8bfdc18]{border-bottom:none}.custom-active-cell[data-v-e8bfdc18]{cursor:pointer}.custom-active-cell[data-v-e8bfdc18]:hover{background-color:var(--color-accent)}.category-manager--loading[data-v-0e426dc4]{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-fade-enter-active[data-v-0e426dc4],.cm-fade-leave-active[data-v-0e426dc4]{transition:opacity .2s ease}.cm-fade-enter-from[data-v-0e426dc4],.cm-fade-leave-to[data-v-0e426dc4]{opacity:0}.category-tabs-no-scrollbar[data-v-4d803b88]{-ms-overflow-style:none;scrollbar-width:none}.category-tabs-no-scrollbar[data-v-4d803b88]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-4d803b88],.fade-x-leave-active[data-v-4d803b88]{transition:opacity .15s ease}.fade-x-enter-from[data-v-4d803b88],.fade-x-leave-to[data-v-4d803b88]{opacity:0}.category-mega-no-scrollbar[data-v-5a117002]{-ms-overflow-style:none;scrollbar-width:none}.category-mega-no-scrollbar[data-v-5a117002]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-5a117002],.fade-x-leave-active[data-v-5a117002]{transition:opacity .15s ease}.fade-x-enter-from[data-v-5a117002],.fade-x-leave-to[data-v-5a117002]{opacity:0}.attached-group[data-v-298c3d8a] button{position:relative}.attached-group[data-v-298c3d8a] button:focus-visible,.attached-group[data-v-298c3d8a] button:hover{z-index:10}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child){margin-inline-start:-1px}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:first-child{border-start-end-radius:0!important;border-end-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:last-child{border-start-start-radius:0!important;border-end-start-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child){margin-block-start:-1px}.vertical-group[data-v-298c3d8a] button:first-child{border-end-start-radius:0!important;border-end-end-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(:last-child){border-radius:0!important}.vertical-group[data-v-298c3d8a] button:last-child{border-start-start-radius:0!important;border-start-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-298c3d8a] 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}[data-v-63e46f6b] .calendar-view{--calendar-primary-color: var(--color-primary);--calendar-bg-color: transparent !important;--calendar-border-color: var(--color-border);--calendar-text-color: var(--color-foreground);--calendar-hover-color: var(--color-accent)}[data-v-63e46f6b] .v-event-calendar .add-event-icon,[data-v-63e46f6b] .v-event-calendar .add-event-icon svg{color:var(--color-primary-fg)!important}.vlite-line-chart[data-v-07c9fb47]{position:relative}.vlite-scc-grid[data-v-e6172e07]{display:flex;width:100%}.vlite-scc-card[data-v-e6172e07]{flex:1;position:relative;display:flex;align-items:stretch}.vlite-scc-separator[data-v-e6172e07]{width:1px;align-self:stretch;background:var(--color-border, #e4e4e7);opacity:.3;margin:8px 0;flex-shrink:0;background-image:repeating-linear-gradient(to bottom,var(--color-border, #e4e4e7) 0px,var(--color-border, #e4e4e7) 4px,transparent 4px,transparent 8px);background-color:transparent}.vlite-scc-content[data-v-e6172e07]{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;flex:1;min-height:200px}.vlite-scc-label[data-v-e6172e07]{font-size:13px;font-weight:500;color:var(--color-muted-foreground, #71717a);margin:0 0 6px}.vlite-scc-pct[data-v-e6172e07]{font-size:36px;font-weight:800;color:var(--color-foreground, #09090b);margin:0;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vlite-scc-spacer[data-v-e6172e07]{flex:1}.vlite-scc-indicator[data-v-e6172e07]{border-radius:10px;margin-bottom:14px;transition:width .6s ease,height .6s ease}.vlite-scc-footer[data-v-e6172e07]{display:flex;align-items:center;gap:8px}.vlite-scc-value[data-v-e6172e07]{font-size:14px;font-weight:600;color:var(--color-foreground, #09090b);font-variant-numeric:tabular-nums}.vlite-scc-trend-icon[data-v-e6172e07]{width:14px;height:14px}.vlite-scc-trend-up[data-v-e6172e07]{color:var(--color-success, #22c55e);transform:rotate(25deg)}.vlite-scc-trend-down[data-v-e6172e07]{color:var(--color-danger, #ef4444);transform:rotate(-25deg)}.vlite-gantt-chart[data-v-91cc2885]{font-family:inherit}.vlite-gantt-toolbar[data-v-91cc2885]{display:flex;justify-content:flex-end;margin-bottom:8px;gap:6px}.vlite-gantt-btn[data-v-91cc2885]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.vlite-gantt-btn[data-v-91cc2885]:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.vlite-gantt-btn[data-v-91cc2885]:disabled{opacity:.5;cursor:not-allowed}.vlite-gantt-zoom-controls[data-v-91cc2885]{display:flex;gap:6px}.vlite-gantt-wrapper[data-v-91cc2885]{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background)}.vlite-gantt-sidebar[data-v-91cc2885]{flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-background);z-index:2}.vlite-gantt-sidebar-header[data-v-91cc2885]{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-sidebar-body[data-v-91cc2885]{overflow-y:hidden;overflow-x:hidden}.vlite-gantt-sidebar-row[data-v-91cc2885]{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid color-mix(in oklab,var(--color-border) 50%,transparent)}.vlite-gantt-group-toggle[data-v-91cc2885]{display:flex;align-items:center;gap:6px;width:100%;padding:0 4px;background:none;border:none;cursor:pointer;color:inherit;text-align:left}.vlite-gantt-group-toggle[data-v-91cc2885]:hover{opacity:.8}.vlite-gantt-chevron[data-v-91cc2885]{transition:transform .2s ease;color:var(--color-muted-foreground);flex-shrink:0}.vlite-gantt-chevron-collapsed[data-v-91cc2885]{transform:rotate(-90deg)}.vlite-gantt-group-count[data-v-91cc2885]{font-size:10px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);padding:1px 6px;border-radius:99px;margin-left:auto}.vlite-gantt-task-name[data-v-91cc2885]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 4px;width:100%;transition:all .15s}.vlite-gantt-task-name[data-v-91cc2885]:hover{opacity:.75}.vlite-gantt-task-name-grouped[data-v-91cc2885]{padding-left:20px}.vlite-gantt-task-name-dragging[data-v-91cc2885]{background:color-mix(in oklab,var(--color-primary) 8%,transparent);border-radius:4px}.vlite-gantt-task-dot[data-v-91cc2885]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.vlite-gantt-progress-badge[data-v-91cc2885]{font-size:10px;font-weight:700;color:var(--color-muted-foreground);margin-left:auto;flex-shrink:0}.vlite-gantt-timeline[data-v-91cc2885]{flex:1;overflow-x:auto;overflow-y:auto;position:relative}.vlite-gantt-timeline-header[data-v-91cc2885]{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-timeline-body[data-v-91cc2885]{position:relative}.vlite-gantt-bar-dragging[data-v-91cc2885]{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));z-index:10}.vlite-gantt-dep-group[data-v-91cc2885]{transition:opacity .2s}.vlite-gantt-dep-group[data-v-91cc2885]:hover{opacity:1!important}.vlite-gantt-tooltip-progress-track[data-v-91cc2885]{width:60px;height:4px;border-radius:2px;background:var(--color-muted);overflow:hidden}.vlite-gantt-tooltip-progress-fill[data-v-91cc2885]{height:100%;border-radius:2px;transition:width .3s ease}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar{height:6px;width:6px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-track{background:transparent}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.vlite-gantt-timeline[data-v-91cc2885]::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.vlite-gantt-sidebar-body[data-v-91cc2885]::-webkit-scrollbar{width:0;display:none}.is-solid[data-v-33afc5cb] path,.is-solid[data-v-33afc5cb] polygon,.is-solid[data-v-33afc5cb] circle,.is-solid[data-v-33afc5cb] rect{fill:currentColor!important}.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-aa0dbb48] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-aa0dbb48]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
|
|
1801
1801
|
|
|
File without changes
|