vlite3 0.2.12 → 0.2.14
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/Avatar.vue.js +3 -3
- package/components/Button.vue.js +32 -30
- package/components/DataTable/DataTable.vue.js +52 -46
- package/components/DataTable/DataTableRow.vue.js +3 -3
- package/components/DataTable/DataTableToolbar.vue.d.ts +1 -0
- package/components/DataTable/DataTableToolbar.vue.js +25 -22
- package/components/Form/CustomFields.vue.js +1 -1
- package/components/Form/Form.vue.js +1 -1
- package/components/Form/Form.vue2.js +1 -1
- package/components/Form/FormField.vue.js +8 -8
- package/components/Input.vue.js +40 -40
- package/components/Label.vue.js +6 -6
- package/components/Modal.vue.js +4 -4
- package/components/MultiSelect/MultiSelect.vue.js +1 -1
- package/composables/useNotifications.js +1 -1
- package/directives/vRipple.d.ts +6 -2
- package/directives/vRipple.js +6 -7
- package/package.json +1 -1
- package/style.css +65 -22
package/components/Avatar.vue.js
CHANGED
|
@@ -31,9 +31,9 @@ const y = ["src", "alt"], z = { key: 0 }, A = /* @__PURE__ */ k({
|
|
|
31
31
|
xs: "h-6 w-6 text-[10px]",
|
|
32
32
|
sm: "h-8 w-8 text-xs",
|
|
33
33
|
md: "h-10 w-10 text-sm",
|
|
34
|
-
lg: "h-
|
|
35
|
-
xl: "h-
|
|
36
|
-
"2xl": "h-
|
|
34
|
+
lg: "h-12 w-12 text-base",
|
|
35
|
+
xl: "h-15 w-15 text-lg",
|
|
36
|
+
"2xl": "h-21 w-21 text-xl"
|
|
37
37
|
}, h = {
|
|
38
38
|
none: "rounded-none",
|
|
39
39
|
sm: "rounded-sm",
|
package/components/Button.vue.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as x, useSlots as w, computed as l, withDirectives as y, openBlock as i, createElementBlock as g, normalizeClass as r, createBlock as c, createCommentVNode as d, renderSlot as p, createTextVNode as k, toDisplayString as z, unref as B } from "vue";
|
|
2
|
+
import u from "./Icon.vue.js";
|
|
3
3
|
import { vRipple as C } from "../directives/vRipple.js";
|
|
4
|
-
const S = ["type", "disabled"],
|
|
4
|
+
const S = ["type", "disabled"], R = {
|
|
5
|
+
key: 2,
|
|
6
|
+
class: "-text-fs-1.5!"
|
|
7
|
+
}, D = /* @__PURE__ */ x({
|
|
5
8
|
__name: "Button",
|
|
6
9
|
props: {
|
|
7
10
|
variant: { default: "primary" },
|
|
@@ -16,8 +19,8 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
|
|
|
16
19
|
rounded: { default: "md" }
|
|
17
20
|
},
|
|
18
21
|
setup(e) {
|
|
19
|
-
const t = e,
|
|
20
|
-
const n = "inline-flex items-center justify-center whitespace-nowrap text-
|
|
22
|
+
const t = e, h = w(), s = l(() => t.icon && !t.text && !h.default), f = l(() => {
|
|
23
|
+
const n = "inline-flex items-center justify-center whitespace-nowrap -text-fs-0.5 font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] cursor-pointer gap-2", o = {
|
|
21
24
|
primary: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
22
25
|
"primary-light": "bg-primary-light text-primary-fg-light hover:bg-primary/20",
|
|
23
26
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
@@ -37,7 +40,7 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
|
|
|
37
40
|
"outline-success": "border border-success text-success hover:bg-success/10",
|
|
38
41
|
ghost: "hover:bg-accent hover:text-accent-foreground text-foreground",
|
|
39
42
|
link: "text-primary underline-offset-4 hover:underline"
|
|
40
|
-
},
|
|
43
|
+
}, b = {
|
|
41
44
|
xs: "h-6.5 px-2",
|
|
42
45
|
sm: "h-7.5 px-3",
|
|
43
46
|
md: "h-9 px-4 py-2",
|
|
@@ -49,7 +52,7 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
|
|
|
49
52
|
md: "h-7.5 w-7.5 min-h-7.5 min-w-7.5",
|
|
50
53
|
lg: "h-8 w-8 min-h-8 min-w-8",
|
|
51
54
|
xl: "h-8.5 w-8.5 min-h-8.5 min-w-8.5"
|
|
52
|
-
},
|
|
55
|
+
}, v = {
|
|
53
56
|
none: "rounded-none",
|
|
54
57
|
sm: "rounded-sm",
|
|
55
58
|
md: "rounded",
|
|
@@ -60,52 +63,51 @@ const S = ["type", "disabled"], D = /* @__PURE__ */ v({
|
|
|
60
63
|
};
|
|
61
64
|
return [
|
|
62
65
|
n,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
s.value ? m[t.size] :
|
|
66
|
+
o[t.variant],
|
|
67
|
+
v[t.rounded],
|
|
68
|
+
s.value ? m[t.size] : b[t.size],
|
|
66
69
|
t.class
|
|
67
70
|
].join(" ");
|
|
68
|
-
}), a =
|
|
71
|
+
}), a = l(() => {
|
|
69
72
|
const n = {
|
|
70
73
|
xs: "w-3 h-3",
|
|
71
74
|
sm: "w-4 h-4",
|
|
72
75
|
md: "w-4 h-4",
|
|
73
76
|
lg: "w-4 h-4",
|
|
74
77
|
xl: "w-4 h-4"
|
|
75
|
-
},
|
|
78
|
+
}, o = {
|
|
76
79
|
xs: "w-3 h-3",
|
|
77
80
|
sm: "w-3.5 h-3.5",
|
|
78
81
|
md: "w-3.5 h-3.5",
|
|
79
82
|
lg: "w-4 h-4",
|
|
80
83
|
xl: "w-4 h-4"
|
|
81
84
|
};
|
|
82
|
-
return s.value ?
|
|
85
|
+
return s.value ? o[t.size] : n[t.size];
|
|
83
86
|
});
|
|
84
|
-
return (n,
|
|
87
|
+
return (n, o) => y((i(), g("button", {
|
|
85
88
|
type: e.type,
|
|
86
|
-
class:
|
|
89
|
+
class: r(f.value),
|
|
87
90
|
disabled: e.disabled || e.loading
|
|
88
91
|
}, [
|
|
89
|
-
e.loading ? (i(),
|
|
92
|
+
e.loading ? (i(), c(u, {
|
|
90
93
|
key: 0,
|
|
91
94
|
icon: "lucide:loader-2",
|
|
92
|
-
class:
|
|
93
|
-
}, null, 8, ["class"])) : e.icon ? (i(),
|
|
95
|
+
class: r(["animate-spin pointer-events-none", a.value])
|
|
96
|
+
}, null, 8, ["class"])) : e.icon ? (i(), c(u, {
|
|
94
97
|
key: 1,
|
|
95
98
|
icon: e.icon,
|
|
96
|
-
class:
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
key: 2,
|
|
99
|
+
class: r(["pointer-events-none", [a.value, s.value ? "mx-auto" : ""]])
|
|
100
|
+
}, null, 8, ["icon", "class"])) : d("", !0),
|
|
101
|
+
n.$slots?.default || e.text ? (i(), g("span", R, [
|
|
102
|
+
p(n.$slots, "default", {}, () => [
|
|
103
|
+
k(z(e.text), 1)
|
|
104
|
+
])
|
|
105
|
+
])) : d("", !0),
|
|
106
|
+
e.iconRight && !e.loading ? (i(), c(u, {
|
|
107
|
+
key: 3,
|
|
106
108
|
icon: e.iconRight,
|
|
107
|
-
class:
|
|
108
|
-
}, null, 8, ["icon", "class"])) :
|
|
109
|
+
class: r([a.value, "h-4 w-4 pointer-events-none"])
|
|
110
|
+
}, null, 8, ["icon", "class"])) : d("", !0)
|
|
109
111
|
], 10, S)), [
|
|
110
112
|
[B(C)]
|
|
111
113
|
]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as ee, ref as
|
|
1
|
+
import { defineComponent as ee, ref as v, computed as b, watch as p, onMounted as te, openBlock as n, createElementBlock as i, createVNode as C, createSlots as j, withCtx as B, renderSlot as S, createBlock as D, createCommentVNode as I, createElementVNode as r, normalizeClass as R, Fragment as F, renderList as $, normalizeStyle as A, mergeProps as le, toDisplayString as M, createTextVNode as ae, unref as se } from "vue";
|
|
2
2
|
import oe from "../Icon.vue.js";
|
|
3
3
|
import ne from "../CheckBox.vue.js";
|
|
4
4
|
import re from "../Button.vue.js";
|
|
@@ -7,12 +7,12 @@ import de from "../Pagination/Pagination.vue.js";
|
|
|
7
7
|
import ue from "./DataTableHeader.vue.js";
|
|
8
8
|
import ce from "./DataTableRow.vue.js";
|
|
9
9
|
import me from "./DataTableToolbar.vue.js";
|
|
10
|
-
const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" },
|
|
10
|
+
const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ge = { class: "hover:bg-transparent" }, ve = {
|
|
11
11
|
key: 0,
|
|
12
12
|
scope: "col",
|
|
13
13
|
class: "w-[48px] px-0 text-center font-medium text-muted-foreground",
|
|
14
14
|
style: { width: "48px" }
|
|
15
|
-
}, pe = { class: "flex items-center justify-center" },
|
|
15
|
+
}, pe = { class: "flex items-center justify-center" }, ye = { class: "[&_tr:last-child]:border-0" }, we = {
|
|
16
16
|
key: 0,
|
|
17
17
|
class: "w-[48px] px-0 py-4 align-middle text-center",
|
|
18
18
|
style: { width: "48px" }
|
|
@@ -54,22 +54,22 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
54
54
|
const O = (e, t) => {
|
|
55
55
|
if (!(!e || !t))
|
|
56
56
|
return t.includes(".") ? t.split(".").reduce((s, c) => s?.[c], e) : e[t];
|
|
57
|
-
}, u = (e, t) => O(e, t), l = a,
|
|
57
|
+
}, u = (e, t) => O(e, t), l = a, y = U, d = v({ field: "", order: "" }), k = v(l.itemsPerPage), h = v(l.pageInfo?.currentPage || 1), w = v(l.search || ""), P = v(!1), g = v("initial"), L = b(() => l.loading && (g.value === "initial" || g.value === "page"));
|
|
58
58
|
p(
|
|
59
59
|
() => l.loading,
|
|
60
60
|
(e, t) => {
|
|
61
|
-
!e && t && (
|
|
61
|
+
!e && t && (g.value = "idle");
|
|
62
62
|
}
|
|
63
63
|
), p(
|
|
64
64
|
() => l.search,
|
|
65
65
|
(e) => {
|
|
66
|
-
e !== void 0 && e !==
|
|
66
|
+
e !== void 0 && e !== w.value && (w.value = e);
|
|
67
67
|
}
|
|
68
68
|
);
|
|
69
|
-
let
|
|
70
|
-
p(
|
|
71
|
-
|
|
72
|
-
h.value = 1,
|
|
69
|
+
let z = null;
|
|
70
|
+
p(w, (e) => {
|
|
71
|
+
z && clearTimeout(z), z = setTimeout(() => {
|
|
72
|
+
h.value = 1, g.value = "search", x();
|
|
73
73
|
}, 300);
|
|
74
74
|
}), p(
|
|
75
75
|
() => l.itemsPerPage,
|
|
@@ -82,7 +82,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
82
82
|
e && (h.value = e);
|
|
83
83
|
}
|
|
84
84
|
);
|
|
85
|
-
const E = (e) => u(e, l.keyField), o =
|
|
85
|
+
const E = (e) => u(e, l.keyField), o = v(/* @__PURE__ */ new Set());
|
|
86
86
|
p(
|
|
87
87
|
() => l.selectedRows,
|
|
88
88
|
(e) => {
|
|
@@ -91,7 +91,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
91
91
|
},
|
|
92
92
|
{ immediate: !0, deep: !0 }
|
|
93
93
|
);
|
|
94
|
-
const
|
|
94
|
+
const T = b(() => l.rows.length === 0 ? !1 : l.rows.every((e) => o.value.has(u(e, l.keyField)))), N = b(() => o.value.size > 0 && !T.value), W = b(() => {
|
|
95
95
|
const e = [...l.selectedRows || [], ...l.rows], t = /* @__PURE__ */ new Map();
|
|
96
96
|
return e.forEach((s) => t.set(u(s, l.keyField), s)), Array.from(o.value).map((s) => t.get(s)).filter(Boolean);
|
|
97
97
|
}), q = (e) => {
|
|
@@ -109,29 +109,29 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
109
109
|
});
|
|
110
110
|
const c = {
|
|
111
111
|
selected: s,
|
|
112
|
-
all:
|
|
112
|
+
all: T.value,
|
|
113
113
|
indeterminate: N.value
|
|
114
114
|
};
|
|
115
|
-
|
|
115
|
+
y("select", c), y("update:selectedRows", s);
|
|
116
116
|
}, H = (e) => {
|
|
117
|
-
d.value.field === e ? d.value.order === "asc" ? d.value.order = "desc" : d.value.order === "desc" ? (d.value.order = "", d.value.field = "") : d.value.order = "asc" : (d.value.field = e, d.value.order = "asc"), h.value = 1,
|
|
117
|
+
d.value.field === e ? d.value.order === "asc" ? d.value.order = "desc" : d.value.order === "desc" ? (d.value.order = "", d.value.field = "") : d.value.order = "asc" : (d.value.field = e, d.value.order = "asc"), h.value = 1, g.value = "sort", x();
|
|
118
118
|
}, J = (e) => {
|
|
119
|
-
h.value = e,
|
|
119
|
+
h.value = e, g.value = "page", x();
|
|
120
120
|
}, K = (e) => {
|
|
121
|
-
k.value = e, h.value = 1,
|
|
121
|
+
k.value = e, h.value = 1, g.value = "limit", y("update:itemsPerPage", e), x();
|
|
122
122
|
}, Q = (e) => {
|
|
123
|
-
|
|
123
|
+
y("rowClick", e);
|
|
124
124
|
}, X = () => {
|
|
125
125
|
const e = W.value;
|
|
126
|
-
|
|
126
|
+
y("delete", e), P.value = !1;
|
|
127
127
|
}, x = () => {
|
|
128
|
-
|
|
128
|
+
y("change", {
|
|
129
129
|
pagination: {
|
|
130
130
|
page: h.value,
|
|
131
131
|
limit: k.value
|
|
132
132
|
},
|
|
133
133
|
sorting: { ...d.value },
|
|
134
|
-
search:
|
|
134
|
+
search: w.value
|
|
135
135
|
});
|
|
136
136
|
}, Y = b(() => [
|
|
137
137
|
"w-full flex flex-col",
|
|
@@ -139,7 +139,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
139
139
|
"overflow-hidden",
|
|
140
140
|
l.bordered ? "border border-border/60" : "",
|
|
141
141
|
l.class
|
|
142
|
-
].join(" ")), Z = b(() => ["w-full caption-bottom
|
|
142
|
+
].join(" ")), Z = b(() => ["w-full caption-bottom", l.tableClass].join(" ")), _ = (e) => e.width ? e.width : "auto";
|
|
143
143
|
return p(
|
|
144
144
|
() => l.rows,
|
|
145
145
|
() => {
|
|
@@ -150,59 +150,65 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
150
150
|
x();
|
|
151
151
|
}), (e, t) => (n(), i("div", fe, [
|
|
152
152
|
C(me, {
|
|
153
|
-
modelValue:
|
|
154
|
-
"onUpdate:modelValue": t[1] || (t[1] = (s) =>
|
|
153
|
+
modelValue: w.value,
|
|
154
|
+
"onUpdate:modelValue": t[1] || (t[1] = (s) => w.value = s),
|
|
155
155
|
"show-search": a.showSearch,
|
|
156
156
|
placeholder: a.searchPlaceholder
|
|
157
157
|
}, j({ _: 2 }, [
|
|
158
158
|
e.$slots?.["toolbar-left"] ? {
|
|
159
159
|
name: "left",
|
|
160
|
-
fn:
|
|
160
|
+
fn: B(() => [
|
|
161
161
|
S(e.$slots, "toolbar-left")
|
|
162
162
|
]),
|
|
163
163
|
key: "0"
|
|
164
164
|
} : void 0,
|
|
165
|
-
|
|
166
|
-
name: "
|
|
167
|
-
fn:
|
|
165
|
+
o.value.size > 0 ? {
|
|
166
|
+
name: "delete",
|
|
167
|
+
fn: B(() => [
|
|
168
168
|
o.value.size > 0 ? (n(), D(re, {
|
|
169
169
|
key: 0,
|
|
170
170
|
rounded: "full",
|
|
171
|
-
variant: "
|
|
171
|
+
variant: "outline",
|
|
172
|
+
size: "lg",
|
|
172
173
|
icon: "lucide:trash-2",
|
|
173
|
-
class: "text-destructive! bg-destructive/10 hover:bg-destructive/15",
|
|
174
174
|
onClick: t[0] || (t[0] = (s) => P.value = !0)
|
|
175
|
-
})) : I("", !0)
|
|
176
|
-
S(e.$slots, "toolbar-right")
|
|
175
|
+
})) : I("", !0)
|
|
177
176
|
]),
|
|
178
177
|
key: "1"
|
|
178
|
+
} : void 0,
|
|
179
|
+
e.$slots?.["toolbar-right"] ? {
|
|
180
|
+
name: "right",
|
|
181
|
+
fn: B(() => [
|
|
182
|
+
S(e.$slots, "toolbar-right")
|
|
183
|
+
]),
|
|
184
|
+
key: "2"
|
|
179
185
|
} : void 0
|
|
180
186
|
]), 1032, ["modelValue", "show-search", "placeholder"]),
|
|
181
187
|
r("div", {
|
|
182
|
-
class:
|
|
188
|
+
class: R(Y.value)
|
|
183
189
|
}, [
|
|
184
190
|
r("div", he, [
|
|
185
191
|
r("table", {
|
|
186
|
-
class:
|
|
192
|
+
class: R([Z.value, "data-table"])
|
|
187
193
|
}, [
|
|
188
194
|
r("thead", {
|
|
189
|
-
class:
|
|
195
|
+
class: R([
|
|
190
196
|
"[&_tr]:border-b [&_tr]:border-border/70! bg-muted",
|
|
191
197
|
a.variant === "raised" ? "[&_th:first-child]:rounded-tl-lg [&_th:last-child]:rounded-tr-lg" : ""
|
|
192
198
|
])
|
|
193
199
|
}, [
|
|
194
|
-
r("tr",
|
|
195
|
-
a.selectable ? (n(), i("th",
|
|
200
|
+
r("tr", ge, [
|
|
201
|
+
a.selectable ? (n(), i("th", ve, [
|
|
196
202
|
r("div", pe, [
|
|
197
203
|
C(ne, {
|
|
198
|
-
"model-value":
|
|
204
|
+
"model-value": T.value,
|
|
199
205
|
indeterminate: N.value,
|
|
200
206
|
size: "xs",
|
|
201
207
|
"onUpdate:modelValue": q
|
|
202
208
|
}, null, 8, ["model-value", "indeterminate"])
|
|
203
209
|
])
|
|
204
210
|
])) : I("", !0),
|
|
205
|
-
(n(!0), i(
|
|
211
|
+
(n(!0), i(F, null, $(a.headers, (s) => (n(), D(ue, {
|
|
206
212
|
key: s.field,
|
|
207
213
|
header: s,
|
|
208
214
|
"sort-config": d.value,
|
|
@@ -216,19 +222,19 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
216
222
|
}, null, 8, ["header", "sort-config", "compact", "table-sortable", "style"]))), 128))
|
|
217
223
|
])
|
|
218
224
|
], 2),
|
|
219
|
-
r("tbody",
|
|
220
|
-
L.value ? (n(!0), i(
|
|
225
|
+
r("tbody", ye, [
|
|
226
|
+
L.value ? (n(!0), i(F, { key: 0 }, $(Math.min(k.value, 15), (s) => (n(), i("tr", {
|
|
221
227
|
key: "skeleton-" + s,
|
|
222
228
|
class: "border-b border-border/50 bg-background transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"
|
|
223
229
|
}, [
|
|
224
|
-
a.selectable ? (n(), i("td",
|
|
230
|
+
a.selectable ? (n(), i("td", we, [...t[4] || (t[4] = [
|
|
225
231
|
r("div", { class: "flex items-center justify-center" }, [
|
|
226
232
|
r("div", { class: "h-4 w-4 rounded-[4px] bg-muted/50 animate-pulse" })
|
|
227
233
|
], -1)
|
|
228
234
|
])])) : I("", !0),
|
|
229
|
-
(n(!0), i(
|
|
235
|
+
(n(!0), i(F, null, $(a.headers, (c) => (n(), i("td", {
|
|
230
236
|
key: c.field,
|
|
231
|
-
class:
|
|
237
|
+
class: R(["p-5! align-middle last:pr-6!", [c.hideOnMobile ? "hidden md:table-cell" : ""]])
|
|
232
238
|
}, [
|
|
233
239
|
r("div", {
|
|
234
240
|
class: "rounded-md bg-muted/50 animate-pulse h-4 w-full",
|
|
@@ -237,7 +243,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
237
243
|
})
|
|
238
244
|
}, null, 4)
|
|
239
245
|
], 2))), 128))
|
|
240
|
-
]))), 128)) : a.rows.length > 0 ? (n(!0), i(
|
|
246
|
+
]))), 128)) : a.rows.length > 0 ? (n(!0), i(F, { key: 1 }, $(a.rows, (s, c) => (n(), D(ce, {
|
|
241
247
|
key: E(s),
|
|
242
248
|
row: s,
|
|
243
249
|
headers: a.headers,
|
|
@@ -254,7 +260,7 @@ const fe = { class: "space-y-4" }, he = { class: "overflow-x-auto w-full" }, ve
|
|
|
254
260
|
}, j({ _: 2 }, [
|
|
255
261
|
$(a.headers, (m) => ({
|
|
256
262
|
name: m.field,
|
|
257
|
-
fn:
|
|
263
|
+
fn: B((f) => [
|
|
258
264
|
S(e.$slots, m.field, le({ ref_for: !0 }, f))
|
|
259
265
|
])
|
|
260
266
|
}))
|
|
@@ -64,7 +64,7 @@ const L = ["data-state"], U = { class: "flex items-center justify-center" }, h =
|
|
|
64
64
|
};
|
|
65
65
|
return (e, t) => (c(), d("tr", {
|
|
66
66
|
class: u(["border-b border-border/70 transition-colors data-[state=selected]:bg-muted h-full", [
|
|
67
|
-
i.hoverable ? "hover:bg-muted/
|
|
67
|
+
i.hoverable ? "hover:bg-muted/20" : "",
|
|
68
68
|
i.striped && i.index % 2 === 1 ? "bg-muted/20" : "bg-background",
|
|
69
69
|
i.isSelected ? "bg-muted! hover:bg-muted/30" : "",
|
|
70
70
|
"group"
|
|
@@ -74,7 +74,7 @@ const L = ["data-state"], U = { class: "flex items-center justify-center" }, h =
|
|
|
74
74
|
}, [
|
|
75
75
|
i.selectable ? (c(), d("td", {
|
|
76
76
|
key: 0,
|
|
77
|
-
class: "w-[48px] px-0 py-
|
|
77
|
+
class: "w-[48px] px-0 py-6! align-middle text-center",
|
|
78
78
|
style: { width: "48px" },
|
|
79
79
|
onClick: t[0] || (t[0] = v(() => {
|
|
80
80
|
}, ["stop"]))
|
|
@@ -90,7 +90,7 @@ const L = ["data-state"], U = { class: "flex items-center justify-center" }, h =
|
|
|
90
90
|
(c(!0), d(M, null, V(i.headers, (n) => (c(), d("td", {
|
|
91
91
|
key: n.field,
|
|
92
92
|
class: u(["align-middle overflow-hidden", [
|
|
93
|
-
i.compact ? "p-2
|
|
93
|
+
i.compact ? "p-2" : "py-3! px-3 -text-fs-1.5!",
|
|
94
94
|
y(n),
|
|
95
95
|
n.hideOnMobile ? "hidden md:table-cell" : "",
|
|
96
96
|
x(n, o(i.row, n.field), i.row)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as p, computed as f, openBlock as l, createElementBlock as o, renderSlot as a, createCommentVNode as d, createElementVNode as c, createVNode as h } from "vue";
|
|
2
2
|
import V from "../Input.vue.js";
|
|
3
|
-
const
|
|
3
|
+
const v = { class: "flex flex-col sm:flex-row items-center gap-4 p-1" }, _ = {
|
|
4
4
|
key: 0,
|
|
5
|
-
class: "flex items-center gap-3"
|
|
6
|
-
},
|
|
5
|
+
class: "flex items-center gap-3 mr-auto"
|
|
6
|
+
}, g = { class: "ml-auto" }, w = {
|
|
7
7
|
key: 1,
|
|
8
|
-
class: "w-full sm:w-72!
|
|
9
|
-
},
|
|
8
|
+
class: "w-full sm:w-72!"
|
|
9
|
+
}, b = { class: "flex items-center gap-3" }, S = /* @__PURE__ */ p({
|
|
10
10
|
__name: "DataTableToolbar",
|
|
11
11
|
props: {
|
|
12
12
|
modelValue: { default: "" },
|
|
@@ -14,32 +14,35 @@ const g = { class: "flex flex-col sm:flex-row items-center gap-4 p-1" }, v = {
|
|
|
14
14
|
placeholder: { default: "Search..." }
|
|
15
15
|
},
|
|
16
16
|
emits: ["update:modelValue"],
|
|
17
|
-
setup(t, { emit:
|
|
18
|
-
const
|
|
19
|
-
get: () =>
|
|
20
|
-
set: (e) =>
|
|
17
|
+
setup(t, { emit: n }) {
|
|
18
|
+
const u = t, m = n, s = f({
|
|
19
|
+
get: () => u.modelValue,
|
|
20
|
+
set: (e) => m("update:modelValue", e)
|
|
21
21
|
});
|
|
22
|
-
return (e,
|
|
23
|
-
e.$slots?.left ? (l(), o("div",
|
|
24
|
-
|
|
25
|
-
])) :
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
return (e, r) => (l(), o("div", v, [
|
|
23
|
+
e.$slots?.left ? (l(), o("div", _, [
|
|
24
|
+
a(e.$slots, "left")
|
|
25
|
+
])) : d("", !0),
|
|
26
|
+
c("div", g, [
|
|
27
|
+
a(e.$slots, "delete")
|
|
28
|
+
]),
|
|
29
|
+
t.showSearch ? (l(), o("div", w, [
|
|
30
|
+
h(V, {
|
|
31
|
+
modelValue: s.value,
|
|
32
|
+
"onUpdate:modelValue": r[0] || (r[0] = (i) => s.value = i),
|
|
30
33
|
placeholder: t.placeholder,
|
|
31
34
|
icon: "lucide:search",
|
|
32
35
|
variant: "outline",
|
|
33
36
|
class: "bg-background",
|
|
34
37
|
"show-clear-button": !0
|
|
35
38
|
}, null, 8, ["modelValue", "placeholder"])
|
|
36
|
-
])) :
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
])) : d("", !0),
|
|
40
|
+
c("div", b, [
|
|
41
|
+
a(e.$slots, "right")
|
|
39
42
|
])
|
|
40
43
|
]));
|
|
41
44
|
}
|
|
42
45
|
});
|
|
43
46
|
export {
|
|
44
|
-
|
|
47
|
+
S as default
|
|
45
48
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./CustomFields.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-ce6a94e8"]]);
|
|
5
5
|
export {
|
|
6
6
|
r as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Form.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-
|
|
4
|
+
const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-5766d177"]]);
|
|
5
5
|
export {
|
|
6
6
|
_ as default
|
|
7
7
|
};
|
|
@@ -207,7 +207,7 @@ const ne = {
|
|
|
207
207
|
class: h([
|
|
208
208
|
"form-footer flex items-center justify-end gap-3",
|
|
209
209
|
e.footerClass,
|
|
210
|
-
$.value ? "sticky bottom-0 z-20 bg-body pt-4 border-t border-border/
|
|
210
|
+
$.value ? "sticky bottom-0 z-20 bg-body pt-4 border-t border-border/75 -mx-4 px-4 mt-4" : "mt-6"
|
|
211
211
|
])
|
|
212
212
|
}, [
|
|
213
213
|
G.value ? (l(), p(A, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as N, computed as n, markRaw as P, openBlock as r, createBlock as u, mergeProps as f, toHandlers as R, createSlots as B, unref as
|
|
1
|
+
import { defineComponent as N, computed as n, markRaw as P, openBlock as r, createBlock as u, mergeProps as f, toHandlers as R, createSlots as B, unref as $, withCtx as o, createVNode as C, createTextVNode as c, toDisplayString as m, createCommentVNode as L, resolveDynamicComponent as O } from "vue";
|
|
2
2
|
import { isComponent as h, isAddonObject as p } from "./utils/form.utils.js";
|
|
3
3
|
import I from "../NumberInput.vue.js";
|
|
4
4
|
import v from "../Button.vue.js";
|
|
@@ -97,7 +97,7 @@ const fe = /* @__PURE__ */ N({
|
|
|
97
97
|
min: e.field.min,
|
|
98
98
|
// kept for validation attributes if needed
|
|
99
99
|
max: e.field.max,
|
|
100
|
-
class: e.field.className
|
|
100
|
+
class: `${e.field.className}`
|
|
101
101
|
} : t === "number" ? {
|
|
102
102
|
...a,
|
|
103
103
|
modelValue: e.value ?? void 0,
|
|
@@ -227,7 +227,7 @@ const fe = /* @__PURE__ */ N({
|
|
|
227
227
|
...V.value,
|
|
228
228
|
...l.field?.props || {}
|
|
229
229
|
}, R(b.value)), B({ _: 2 }, [
|
|
230
|
-
|
|
230
|
+
$(p)(l.field.addonLeft) ? {
|
|
231
231
|
name: "addon-left",
|
|
232
232
|
fn: o(() => [
|
|
233
233
|
l.field.addonLeft.type === "select" ? (r(), u(y, f({
|
|
@@ -238,7 +238,7 @@ const fe = /* @__PURE__ */ N({
|
|
|
238
238
|
onOnSelect: a[0] || (a[0] = (i) => k(l.field.addonLeft, i))
|
|
239
239
|
}), {
|
|
240
240
|
trigger: o(({ selectedLabel: i }) => [
|
|
241
|
-
|
|
241
|
+
C(v, { variant: "outline" }, {
|
|
242
242
|
default: o(() => [
|
|
243
243
|
c(m(i), 1)
|
|
244
244
|
]),
|
|
@@ -256,11 +256,11 @@ const fe = /* @__PURE__ */ N({
|
|
|
256
256
|
c(m(l.field.addonLeft.text), 1)
|
|
257
257
|
]),
|
|
258
258
|
_: 1
|
|
259
|
-
}, 16)) :
|
|
259
|
+
}, 16)) : L("", !0)
|
|
260
260
|
]),
|
|
261
261
|
key: "0"
|
|
262
262
|
} : void 0,
|
|
263
|
-
|
|
263
|
+
$(p)(l.field.addonRight) ? {
|
|
264
264
|
name: "addon-right",
|
|
265
265
|
fn: o(() => [
|
|
266
266
|
l.field.addonRight.type === "select" ? (r(), u(y, f({
|
|
@@ -271,7 +271,7 @@ const fe = /* @__PURE__ */ N({
|
|
|
271
271
|
onOnSelect: a[2] || (a[2] = (i) => k(l.field.addonRight, i))
|
|
272
272
|
}), {
|
|
273
273
|
trigger: o(({ selectedLabel: i }) => [
|
|
274
|
-
|
|
274
|
+
C(v, { variant: "outline" }, {
|
|
275
275
|
default: o(() => [
|
|
276
276
|
c(m(i), 1)
|
|
277
277
|
]),
|
|
@@ -289,7 +289,7 @@ const fe = /* @__PURE__ */ N({
|
|
|
289
289
|
c(m(l.field.addonRight.text), 1)
|
|
290
290
|
]),
|
|
291
291
|
_: 1
|
|
292
|
-
}, 16)) :
|
|
292
|
+
}, 16)) : L("", !0)
|
|
293
293
|
]),
|
|
294
294
|
key: "1"
|
|
295
295
|
} : void 0
|
package/components/Input.vue.js
CHANGED
|
@@ -2,7 +2,7 @@ import { defineComponent as G, useSlots as J, ref as v, computed as r, onMounted
|
|
|
2
2
|
import f from "./Icon.vue.js";
|
|
3
3
|
import Q from "./Label.vue.js";
|
|
4
4
|
import X from "./Textarea.vue.js";
|
|
5
|
-
const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { class: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center gap-2 z-20" },
|
|
5
|
+
const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { class: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center justify-center gap-2 z-20" }, te = /* @__PURE__ */ G({
|
|
6
6
|
__name: "Input",
|
|
7
7
|
props: {
|
|
8
8
|
modelValue: { default: "" },
|
|
@@ -41,17 +41,17 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
41
41
|
].join(" ")), T = r(() => ["relative flex w-full items-stretch", e.labelPosition !== "top" ? "flex-1" : ""].join(
|
|
42
42
|
" "
|
|
43
43
|
)), j = r(() => {
|
|
44
|
-
const
|
|
44
|
+
const o = "block w-full bg-background px-3 py-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground/50 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none relative focus:z-10", l = {
|
|
45
45
|
solid: "bg-muted border-transparent focus-visible:border-primary",
|
|
46
46
|
outline: "border border-input focus-visible:border-primary",
|
|
47
47
|
"outline-b": "border-b border-input bg-transparent rounded-none focus-visible:border-primary",
|
|
48
48
|
transparent: "border-none bg-transparent shadow-none"
|
|
49
49
|
}, i = {
|
|
50
|
-
sm: "h-7.5
|
|
51
|
-
md: "h-9
|
|
52
|
-
lg: "h-10
|
|
50
|
+
sm: "h-7.5",
|
|
51
|
+
md: "h-9",
|
|
52
|
+
lg: "h-10"
|
|
53
53
|
};
|
|
54
|
-
let
|
|
54
|
+
let t = {
|
|
55
55
|
none: "rounded-none",
|
|
56
56
|
sm: "rounded-sm",
|
|
57
57
|
md: "rounded-md",
|
|
@@ -60,41 +60,41 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
60
60
|
"2xl": "rounded-2xl",
|
|
61
61
|
full: "rounded-full"
|
|
62
62
|
}[e.rounded];
|
|
63
|
-
g.value && (e.rounded === "md" ?
|
|
63
|
+
g.value && (e.rounded === "md" ? t = "rounded-r-md rounded-l-none" : e.rounded === "sm" ? t = "rounded-r-sm rounded-l-none" : e.rounded === "lg" ? t = "rounded-r-lg rounded-l-none" : e.rounded === "full" ? t = "rounded-r-full rounded-l-none" : e.rounded !== "none" && (t = t.replace("rounded-", "rounded-r-").replace("rounded-l-", ""))), p.value && (g.value ? t = "rounded-none" : e.rounded === "md" ? t = "rounded-l-md rounded-r-none" : e.rounded === "sm" ? t = "rounded-l-sm rounded-r-none" : e.rounded === "lg" ? t = "rounded-l-lg rounded-r-none" : e.rounded === "full" ? t = "rounded-l-full rounded-r-none" : e.rounded !== "none" && (t = t.replace("rounded-", "rounded-l-").replace("rounded-r-", ""))), e.variant === "outline-b" && (t = "rounded-none");
|
|
64
64
|
const P = e.variant === "outline-b" || e.variant === "transparent";
|
|
65
65
|
return [
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
o,
|
|
67
|
+
l[e.variant],
|
|
68
68
|
i[e.size],
|
|
69
|
-
|
|
69
|
+
t,
|
|
70
70
|
e.error ? "border-destructive focus-visible:ring-destructive" : "",
|
|
71
71
|
e.icon ? "pl-9" : P && !g.value ? "pl-0" : "",
|
|
72
72
|
e.showClearButton && B.value || e.type === "password" || e.loading || e.iconRight ? "pr-9" : P && !p.value ? "pr-0" : "",
|
|
73
73
|
e.inputClass
|
|
74
74
|
].join(" ");
|
|
75
75
|
}), R = {
|
|
76
|
-
sm: "text-
|
|
77
|
-
md: "text-
|
|
76
|
+
sm: "text-base",
|
|
77
|
+
md: "text-base",
|
|
78
78
|
lg: "text-base"
|
|
79
|
-
}, $ = (
|
|
80
|
-
const
|
|
79
|
+
}, $ = (o) => {
|
|
80
|
+
const l = o === "left";
|
|
81
81
|
return [
|
|
82
82
|
// Ensure height matches
|
|
83
83
|
"[&_button]:w-full [&_a]:w-full! [&_.v-btn]:w-full! [&_.tooltip-trigger]:w-full",
|
|
84
84
|
// Handle borders (Connect sides)
|
|
85
|
-
|
|
85
|
+
l ? "[&_button]:rounded-r-none [&_a]:rounded-r-none [&_.v-btn]:rounded-r-none" : "[&_button]:rounded-l-none [&_a]:rounded-l-none [&_.v-btn]:rounded-l-none",
|
|
86
86
|
// Ensure focus ring appears on top
|
|
87
87
|
"[&_button]:relative [&_button]:focus:z-20",
|
|
88
88
|
// Merge borders (Negative margin to overlap single pixels)
|
|
89
|
-
|
|
89
|
+
l ? "-mr-px" : "-ml-px",
|
|
90
90
|
"z-10"
|
|
91
91
|
// Ensure addons sit visually above input border if needed
|
|
92
92
|
].join(" ");
|
|
93
93
|
}, E = r(() => {
|
|
94
|
-
const
|
|
94
|
+
const o = !!m["addon-left"];
|
|
95
95
|
return [
|
|
96
96
|
"flex items-center justify-center whitespace-nowrap",
|
|
97
|
-
|
|
97
|
+
o ? `border-none ${$("left")}` : `bg-muted border border-input border-r-0! px-3 text-muted-foreground ${{
|
|
98
98
|
sm: "rounded-l-sm",
|
|
99
99
|
md: "rounded-l-md",
|
|
100
100
|
lg: "rounded-l-lg",
|
|
@@ -103,15 +103,15 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
103
103
|
xl: "rounded-l-xl",
|
|
104
104
|
"2xl": "rounded-l-2xl"
|
|
105
105
|
}[e.rounded] || "rounded-l-md"}`,
|
|
106
|
-
|
|
106
|
+
o ? "" : R[e.size],
|
|
107
107
|
e.addonLeftClass,
|
|
108
108
|
e.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
109
109
|
].join(" ");
|
|
110
110
|
}), D = r(() => {
|
|
111
|
-
const
|
|
111
|
+
const o = !!m["addon-right"];
|
|
112
112
|
return [
|
|
113
113
|
"flex items-center justify-center whitespace-nowrap",
|
|
114
|
-
|
|
114
|
+
o ? `border-none ${$("right")}` : `bg-muted border border-input border-l-0! px-3 text-muted-foreground ${{
|
|
115
115
|
sm: "rounded-r-sm",
|
|
116
116
|
md: "rounded-r-md",
|
|
117
117
|
lg: "rounded-r-lg",
|
|
@@ -120,33 +120,33 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
120
120
|
xl: "rounded-r-xl",
|
|
121
121
|
"2xl": "rounded-r-2xl"
|
|
122
122
|
}[e.rounded] || "rounded-r-md"}`,
|
|
123
|
-
|
|
123
|
+
o ? "" : R[e.size],
|
|
124
124
|
e.addonRightClass,
|
|
125
125
|
e.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
126
126
|
].join(" ");
|
|
127
|
-
}), H = (
|
|
127
|
+
}), H = (o) => {
|
|
128
128
|
if (e.lazy) return;
|
|
129
|
-
const
|
|
130
|
-
u("update:modelValue",
|
|
131
|
-
}, U = (
|
|
132
|
-
const
|
|
133
|
-
e.lazy && u("update:modelValue",
|
|
129
|
+
const l = o.target;
|
|
130
|
+
u("update:modelValue", l.value);
|
|
131
|
+
}, U = (o) => {
|
|
132
|
+
const l = o.target;
|
|
133
|
+
e.lazy && u("update:modelValue", l.value), u("change", l.value);
|
|
134
134
|
}, W = () => {
|
|
135
135
|
b.value = !b.value;
|
|
136
136
|
}, q = () => {
|
|
137
137
|
u("update:modelValue", ""), A(() => {
|
|
138
138
|
y.value?.focus();
|
|
139
139
|
});
|
|
140
|
-
}, h = v(!1), w = v(!1), S = (
|
|
141
|
-
h.value = !0, u("focus",
|
|
142
|
-
}, L = (
|
|
143
|
-
h.value = !1, u("blur",
|
|
140
|
+
}, h = v(!1), w = v(!1), S = (o) => {
|
|
141
|
+
h.value = !0, u("focus", o);
|
|
142
|
+
}, L = (o) => {
|
|
143
|
+
h.value = !1, u("blur", o);
|
|
144
144
|
};
|
|
145
145
|
return K(() => {
|
|
146
146
|
e.autofocus && A(() => {
|
|
147
147
|
y.value?.focus();
|
|
148
148
|
});
|
|
149
|
-
}), (
|
|
149
|
+
}), (o, l) => (d(), s("div", {
|
|
150
150
|
class: a(N.value)
|
|
151
151
|
}, [
|
|
152
152
|
n.label ? (d(), C(Q, {
|
|
@@ -166,14 +166,14 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
166
166
|
key: 0,
|
|
167
167
|
class: a(E.value)
|
|
168
168
|
}, [
|
|
169
|
-
F(
|
|
169
|
+
F(o.$slots, "addon-left", {}, () => [
|
|
170
170
|
k(V(n.addonLeft), 1)
|
|
171
171
|
])
|
|
172
172
|
], 2)) : c("", !0),
|
|
173
173
|
z("div", {
|
|
174
174
|
class: "relative w-full",
|
|
175
|
-
onMouseenter:
|
|
176
|
-
onMouseleave:
|
|
175
|
+
onMouseenter: l[2] || (l[2] = (i) => w.value = !0),
|
|
176
|
+
onMouseleave: l[3] || (l[3] = (i) => w.value = !1)
|
|
177
177
|
}, [
|
|
178
178
|
n.type === "textarea" ? (d(), C(X, {
|
|
179
179
|
key: 0,
|
|
@@ -182,7 +182,7 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
182
182
|
disabled: n.disabled,
|
|
183
183
|
rows: n.rows,
|
|
184
184
|
class: a(j.value),
|
|
185
|
-
"onUpdate:modelValue":
|
|
185
|
+
"onUpdate:modelValue": l[0] || (l[0] = (i) => u("update:modelValue", i)),
|
|
186
186
|
onBlur: L,
|
|
187
187
|
onFocus: S
|
|
188
188
|
}, null, 8, ["model-value", "placeholder", "disabled", "rows", "class"])) : (d(), s("input", {
|
|
@@ -226,7 +226,7 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
226
226
|
"flex items-center justify-center text-muted-foreground",
|
|
227
227
|
n.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer hover:text-foreground"
|
|
228
228
|
]),
|
|
229
|
-
onClick:
|
|
229
|
+
onClick: l[1] || (l[1] = (i) => !n.disabled && u("click:icon-right", i))
|
|
230
230
|
}, [
|
|
231
231
|
x(f, {
|
|
232
232
|
icon: n.iconRight,
|
|
@@ -263,7 +263,7 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
263
263
|
key: 1,
|
|
264
264
|
class: a(D.value)
|
|
265
265
|
}, [
|
|
266
|
-
F(
|
|
266
|
+
F(o.$slots, "addon-right", {}, () => [
|
|
267
267
|
k(V(n.addonRight), 1)
|
|
268
268
|
])
|
|
269
269
|
], 2)) : c("", !0)
|
|
@@ -272,5 +272,5 @@ const Y = ["type", "value", "placeholder", "disabled", "min", "max"], Z = { clas
|
|
|
272
272
|
}
|
|
273
273
|
});
|
|
274
274
|
export {
|
|
275
|
-
|
|
275
|
+
te as default
|
|
276
276
|
};
|
package/components/Label.vue.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const p = ["for"],
|
|
1
|
+
import { defineComponent as r, computed as a, openBlock as l, createElementBlock as n, normalizeClass as c, renderSlot as d } from "vue";
|
|
2
|
+
const p = ["for"], u = /* @__PURE__ */ r({
|
|
3
3
|
__name: "Label",
|
|
4
4
|
props: {
|
|
5
5
|
for: {},
|
|
6
6
|
class: { default: "" }
|
|
7
7
|
},
|
|
8
8
|
setup(o) {
|
|
9
|
-
const e = o, s =
|
|
10
|
-
"text-sm
|
|
9
|
+
const e = o, s = a(() => [
|
|
10
|
+
"text-sm leading-none text-gray-800 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
11
11
|
e.class
|
|
12
12
|
].join(" "));
|
|
13
|
-
return (t, f) => (
|
|
13
|
+
return (t, f) => (l(), n("label", {
|
|
14
14
|
for: e.for,
|
|
15
15
|
class: c(s.value)
|
|
16
16
|
}, [
|
|
@@ -19,5 +19,5 @@ const p = ["for"], m = /* @__PURE__ */ l({
|
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
export {
|
|
22
|
-
|
|
22
|
+
u as default
|
|
23
23
|
};
|
package/components/Modal.vue.js
CHANGED
|
@@ -6,7 +6,7 @@ const D = {
|
|
|
6
6
|
class: "flex-none flex flex-col space-y-1.5 pb-0 border-b border-border/90"
|
|
7
7
|
}, K = { class: "text-lg font-semibold leading-none tracking-tight" }, M = {
|
|
8
8
|
key: 0,
|
|
9
|
-
class: "text-sm text-muted-foreground mb-
|
|
9
|
+
class: "text-sm text-muted-foreground mb-6.5"
|
|
10
10
|
}, F = /* @__PURE__ */ w({
|
|
11
11
|
inheritAttrs: !1,
|
|
12
12
|
__name: "Modal",
|
|
@@ -71,13 +71,13 @@ const D = {
|
|
|
71
71
|
onClick: k
|
|
72
72
|
}, [
|
|
73
73
|
r("div", {
|
|
74
|
-
class: d(["modal-body relative w-full rounded border border-border bg-body shadow-lg text-foreground flex flex-col max-h-[85vh] sm:max-h-[90vh]", [e.maxWidth]]),
|
|
74
|
+
class: d(["modal-body relative w-full rounded border border-border/60 bg-body shadow-lg text-foreground flex flex-col max-h-[85vh] sm:max-h-[90vh]", [e.maxWidth]]),
|
|
75
75
|
onClick: u[0] || (u[0] = b(() => {
|
|
76
76
|
}, ["stop"]))
|
|
77
77
|
}, [
|
|
78
78
|
e.title ? (s(), a("div", D, [
|
|
79
79
|
r("div", {
|
|
80
|
-
class: d(["flex items-center justify-between py-
|
|
80
|
+
class: d(["flex items-center justify-between py-2 px-4 rounded-t-md", e.headerClass])
|
|
81
81
|
}, [
|
|
82
82
|
r("h3", K, p(e.title), 1),
|
|
83
83
|
v(V, {
|
|
@@ -101,7 +101,7 @@ const D = {
|
|
|
101
101
|
], 2),
|
|
102
102
|
t.$slots.footer ? (s(), a("div", {
|
|
103
103
|
key: 1,
|
|
104
|
-
class: d([e.footerClass, "flex-none flex items-center px-4 py-3 border-t border-border/
|
|
104
|
+
class: d([e.footerClass, "flex-none flex items-center px-4 py-3 border-t border-border/75 rounded-b-xl bg"])
|
|
105
105
|
}, [
|
|
106
106
|
i(t.$slots, "footer", { close: o })
|
|
107
107
|
], 2)) : n("", !0)
|
|
@@ -36,7 +36,7 @@ const F = { class: "flex flex-wrap gap-1.5 items-center flex-1 min-w-0 py-0.5" }
|
|
|
36
36
|
}, S = () => {
|
|
37
37
|
s("update:modelValue", []), s("change", []);
|
|
38
38
|
}, N = i(() => [
|
|
39
|
-
"flex items-center justify-between w-full
|
|
39
|
+
"flex items-center justify-between w-full px-3 py-1.5 rounded-md border text-sm transition-colors cursor-pointer",
|
|
40
40
|
o.disabled ? "opacity-50 cursor-not-allowed bg-muted" : "bg-background hover:bg-gray-50/70",
|
|
41
41
|
o.variant === "outline" ? "border-input" : "border-transparent bg-muted",
|
|
42
42
|
u.value ? "border-primary/20" : ""
|
package/directives/vRipple.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
interface RippleElement extends HTMLElement {
|
|
2
|
+
_rippleHandler?: (ev: MouseEvent) => void;
|
|
3
|
+
}
|
|
1
4
|
export declare const vRipple: {
|
|
2
|
-
mounted(el:
|
|
3
|
-
unmounted(el:
|
|
5
|
+
mounted(el: RippleElement): void;
|
|
6
|
+
unmounted(el: RippleElement): void;
|
|
4
7
|
};
|
|
8
|
+
export {};
|
package/directives/vRipple.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
3
|
-
t.style.width = t.style.height = `${
|
|
4
|
-
|
|
5
|
-
l && l.remove(), n.appendChild(t), setTimeout(() => {
|
|
6
|
-
t.remove();
|
|
1
|
+
const c = (e, i) => {
|
|
2
|
+
const n = i.getBoundingClientRect(), s = e.clientX - n.left, l = e.clientY - n.top, t = document.createElement("span"), p = Math.max(n.width, n.height), o = p / 2;
|
|
3
|
+
t.style.width = t.style.height = `${p}px`, t.style.left = `${s - o}px`, t.style.top = `${l - o}px`, t.style.position = "absolute", t.style.pointerEvents = "none", t.classList.add("ripple"), i.querySelectorAll(".ripple").forEach((r) => r.remove()), i.appendChild(t), setTimeout(() => {
|
|
4
|
+
t && t.parentNode && t.remove();
|
|
7
5
|
}, 600);
|
|
8
6
|
}, a = {
|
|
9
7
|
mounted(e) {
|
|
10
|
-
e.style.position = "relative", e.style.overflow = "hidden", e.
|
|
8
|
+
window.getComputedStyle(e).position === "static" && (e.style.position = "relative"), e.style.overflow = "hidden", e._rippleHandler = (i) => c(i, e), e.addEventListener("click", e._rippleHandler);
|
|
11
9
|
},
|
|
12
10
|
unmounted(e) {
|
|
11
|
+
e._rippleHandler && e.removeEventListener("click", e._rippleHandler), e.querySelectorAll(".ripple").forEach((n) => n.remove());
|
|
13
12
|
}
|
|
14
13
|
};
|
|
15
14
|
export {
|
package/package.json
CHANGED
package/style.css
CHANGED
|
@@ -80,13 +80,16 @@
|
|
|
80
80
|
--animate-ripple: ripple 600ms linear;
|
|
81
81
|
|
|
82
82
|
--text--fs-1: 0.95em;
|
|
83
|
-
--text--fs-
|
|
83
|
+
--text--fs-1.5: 0.91em;
|
|
84
|
+
--text--fs-2: 0.85em;
|
|
85
|
+
--text--fs-2.5: 0.8em;
|
|
84
86
|
--text--fs-3: 0.75em;
|
|
85
|
-
--text--fs-
|
|
86
|
-
--text--fs-
|
|
87
|
-
--text--fs-
|
|
88
|
-
--text--fs-
|
|
89
|
-
--text--fs-
|
|
87
|
+
--text--fs-3.5: 0.7em;
|
|
88
|
+
--text--fs-4: 0.65em;
|
|
89
|
+
--text--fs-5: 0.6em;
|
|
90
|
+
--text--fs-6: 0.55em;
|
|
91
|
+
--text--fs-7: 0.5em;
|
|
92
|
+
--text--fs-8: 0.45em;
|
|
90
93
|
--text-fs-0.5: 1em;
|
|
91
94
|
--text-fs-1: 1.03030303em;
|
|
92
95
|
--text-fs-1.5: 1.06060606em;
|
|
@@ -107,6 +110,42 @@
|
|
|
107
110
|
--text-fs-9: 1.93939394em;
|
|
108
111
|
--text-fs-9.5: 2em;
|
|
109
112
|
--text-fs-10: 2.06060606em;
|
|
113
|
+
--text-fs-10.5: 2.1;
|
|
114
|
+
--text-fs-11: 2.15;
|
|
115
|
+
--text-fs-11.5: 2.2;
|
|
116
|
+
--text-fs-12: 2.25;
|
|
117
|
+
--text-fs-12.5: 2.3;
|
|
118
|
+
--text-fs-13: 2.35;
|
|
119
|
+
--text-fs-13.5: 2.4;
|
|
120
|
+
--text-fs-14: 2.45;
|
|
121
|
+
--text-fs-14.5: 2.5;
|
|
122
|
+
--text-fs-15: 2.55;
|
|
123
|
+
--text-fs-15.5: 2.6;
|
|
124
|
+
--text-fs-16: 2.65;
|
|
125
|
+
--text-fs-16.5: 2.7;
|
|
126
|
+
--text-fs-17: 2.75;
|
|
127
|
+
--text-fs-17.5: 2.8;
|
|
128
|
+
--text-fs-18: 2.85;
|
|
129
|
+
--text-fs-18.5: 2.9;
|
|
130
|
+
--text-fs-19: 2.95;
|
|
131
|
+
--text-fs-19.5: 3;
|
|
132
|
+
--text-fs-20: 3.05;
|
|
133
|
+
|
|
134
|
+
--spacing: 0.25em;
|
|
135
|
+
|
|
136
|
+
--text-xs: 0.75em;
|
|
137
|
+
--text-sm: 0.875em;
|
|
138
|
+
--text-base: 1em;
|
|
139
|
+
--text-md2: 1.1em;
|
|
140
|
+
--text-lg: 1.125em;
|
|
141
|
+
--text-lg2: 1.2em;
|
|
142
|
+
--text-xl: 1.25em;
|
|
143
|
+
--text-xl2: 1.3em;
|
|
144
|
+
--text-2xl: 1.5em;
|
|
145
|
+
--text-3xl: 1.875em;
|
|
146
|
+
--text-4xl: 2.25em;
|
|
147
|
+
--text-5xl: 3em;
|
|
148
|
+
--text-6xl: 3.75em;
|
|
110
149
|
}
|
|
111
150
|
}
|
|
112
151
|
|
|
@@ -169,15 +208,15 @@
|
|
|
169
208
|
var(--color-mixture-2, #000000));
|
|
170
209
|
|
|
171
210
|
--color-gray-500: color-mix(in oklab,
|
|
172
|
-
var(--color-mixture-1, #ffffff)
|
|
211
|
+
var(--color-mixture-1, #ffffff) 49%,
|
|
173
212
|
var(--color-mixture-2, #000000));
|
|
174
213
|
|
|
175
214
|
--color-gray-600: color-mix(in oklab,
|
|
176
|
-
var(--color-mixture-1, #ffffff)
|
|
215
|
+
var(--color-mixture-1, #ffffff) 39%,
|
|
177
216
|
var(--color-mixture-2, #000000));
|
|
178
217
|
|
|
179
218
|
--color-gray-700: color-mix(in oklab,
|
|
180
|
-
var(--color-mixture-1, #ffffff)
|
|
219
|
+
var(--color-mixture-1, #ffffff) 27%,
|
|
181
220
|
var(--color-mixture-2, #000000));
|
|
182
221
|
|
|
183
222
|
--color-gray-800: color-mix(in oklab,
|
|
@@ -189,14 +228,14 @@
|
|
|
189
228
|
var(--color-mixture-2, #000000));
|
|
190
229
|
|
|
191
230
|
--color-gray-900: color-mix(in oklab,
|
|
192
|
-
var(--color-mixture-1, #ffffff)
|
|
231
|
+
var(--color-mixture-1, #ffffff) 6%,
|
|
193
232
|
var(--color-mixture-2, #000000));
|
|
194
233
|
|
|
195
234
|
--color-gray-950: var(--color-mixture-2, #000000);
|
|
196
235
|
|
|
197
236
|
--color-body: var(--color-white);
|
|
198
237
|
--color-background: var(--color-body);
|
|
199
|
-
--color-foreground: var(--color-gray-
|
|
238
|
+
--color-foreground: var(--color-gray-850);
|
|
200
239
|
|
|
201
240
|
--color-border: color-mix(in oklab, var(--color-mixture-1) 92%, var(--color-mixture-2));
|
|
202
241
|
--color-input: color-mix(in oklab, var(--color-mixture-1) 90%, var(--color-mixture-2));
|
|
@@ -260,7 +299,7 @@
|
|
|
260
299
|
var(--color-mixture-2, #000000));
|
|
261
300
|
|
|
262
301
|
--color-secondary: color-mix(in oklab, var(--color-mixture-1) 89%, var(--color-mixture-2));
|
|
263
|
-
|
|
302
|
+
--color-muted: var(--color-gray-50);
|
|
264
303
|
--color-destructive: #7f1d1d;
|
|
265
304
|
--color-destructive-foreground: #fafafa;
|
|
266
305
|
|
|
@@ -322,8 +361,8 @@
|
|
|
322
361
|
|
|
323
362
|
.dark .modal-body,
|
|
324
363
|
.dark .sidepanel-body {
|
|
325
|
-
--color-white: #
|
|
326
|
-
--color-mixture-1: #
|
|
364
|
+
--color-white: #101010 !important;
|
|
365
|
+
--color-mixture-1: #161616 !important;
|
|
327
366
|
--color-mixture-2: #ffffff !important;
|
|
328
367
|
--color-input: color-mix(in oklab, var(--color-mixture-1) 92%, var(--color-mixture-2));
|
|
329
368
|
}
|
|
@@ -453,9 +492,9 @@ html {
|
|
|
453
492
|
position: absolute;
|
|
454
493
|
border-radius: 50%;
|
|
455
494
|
transform: scale(0);
|
|
456
|
-
animation: ripple 600ms linear;
|
|
495
|
+
animation: ripple 600ms linear forwards;
|
|
457
496
|
background-color: rgba(255, 255, 255, 0.094);
|
|
458
|
-
pointer-events: none;
|
|
497
|
+
pointer-events: none !important;
|
|
459
498
|
}
|
|
460
499
|
|
|
461
500
|
*,
|
|
@@ -471,15 +510,18 @@ html {
|
|
|
471
510
|
h3,
|
|
472
511
|
.h3,
|
|
473
512
|
h4,
|
|
513
|
+
bold,
|
|
514
|
+
b,
|
|
515
|
+
strong,
|
|
474
516
|
.h4 {
|
|
475
|
-
@apply font-bold text-
|
|
517
|
+
@apply font-bold text-gray-900;
|
|
476
518
|
}
|
|
477
519
|
|
|
478
520
|
h5,
|
|
479
521
|
.h5,
|
|
480
522
|
h6,
|
|
481
523
|
.h6 {
|
|
482
|
-
@apply font-sans text-
|
|
524
|
+
@apply font-sans text-gray-900;
|
|
483
525
|
}
|
|
484
526
|
|
|
485
527
|
h1,
|
|
@@ -601,14 +643,14 @@ html {
|
|
|
601
643
|
|
|
602
644
|
.data-table tr td:first-child,
|
|
603
645
|
.data-table tr th:first-child {
|
|
604
|
-
padding-left:
|
|
605
|
-
padding-right:
|
|
646
|
+
padding-left: 18px !important;
|
|
647
|
+
padding-right: 18px !important;
|
|
606
648
|
}
|
|
607
649
|
|
|
608
650
|
.data-table tr td:last-child,
|
|
609
651
|
.data-table tr th:last-child {
|
|
610
652
|
padding-left: 6px !important;
|
|
611
|
-
padding-right:
|
|
653
|
+
padding-right: 18px !important;
|
|
612
654
|
}
|
|
613
655
|
|
|
614
656
|
.data-table tr td,
|
|
@@ -616,6 +658,7 @@ html {
|
|
|
616
658
|
padding-right: 10px !important;
|
|
617
659
|
}
|
|
618
660
|
|
|
661
|
+
|
|
619
662
|
/* --- input.css --- */
|
|
620
663
|
input[type='number']::-webkit-inner-spin-button,
|
|
621
664
|
input[type='number']::-webkit-outer-spin-button {
|
|
@@ -680,5 +723,5 @@ textarea::-webkit-scrollbar-thumb {
|
|
|
680
723
|
}
|
|
681
724
|
|
|
682
725
|
/* --- Vite Generated CSS --- */
|
|
683
|
-
.accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.custom-fields-table[data-v-
|
|
726
|
+
.accordion-enter-active[data-v-aa189e08],.accordion-leave-active[data-v-aa189e08]{transition:height .3s ease-in-out}.attached-group[data-v-8c9add3e]:not(.vertical-group) button{border-radius:0}.attached-group[data-v-8c9add3e] button{position:relative;--radius: .375rem}.attached-group[data-v-8c9add3e] button:focus-visible,.attached-group[data-v-8c9add3e] button:hover{z-index:10}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child){margin-left:-1px}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-right-radius:0;border-bottom-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-bottom-left-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child){margin-top:-1px}.vertical-group[data-v-8c9add3e] button:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(:last-child){border-radius:0}.vertical-group[data-v-8c9add3e] button:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top-left-radius:0;border-top-right-radius:0}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;width:auto}.vertical-group[data-v-8c9add3e] button:not(:first-child):not(.border):before{width:100%}.attached-group[data-v-8c9add3e]:not(.vertical-group) button:not(:first-child):not(.border):before{height:100%}.carousel-wrapper[data-v-655a78c8]{width:100%;position:relative}.IroBox{border-radius:8px!important}input[data-v-e7171c4f]::-webkit-outer-spin-button,input[data-v-e7171c4f]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-e7171c4f]{-moz-appearance:textfield;appearance:textfield}.custom-fields-table[data-v-ce6a94e8] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-ce6a94e8] input,.custom-fields-table[data-v-ce6a94e8] textarea,.custom-fields-table[data-v-ce6a94e8] select,.custom-fields-table[data-v-ce6a94e8] .input-wrapper,.custom-fields-table[data-v-ce6a94e8] .tooltip-trigger button{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-ce6a94e8] .tooltip-trigger button{justify-content:space-between!important}.custom-fields-table[data-v-ce6a94e8] input:focus,.custom-fields-table[data-v-ce6a94e8] textarea:focus,.custom-fields-table[data-v-ce6a94e8] select:focus,.custom-fields-table[data-v-ce6a94e8] .input-wrapper:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-ce6a94e8] .w-full{width:100%;height:100%}.list-enter-active[data-v-ce6a94e8]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-ce6a94e8]{opacity:0;transform:translateY(-5px)}.form-field-item[data-v-47af145c]{display:flex;flex-direction:column}.form-field-item[data-v-47af145c]:has([role=switch]),.form-field-item[data-v-47af145c]:has([role=checkbox]){flex-direction:row;align-items:center}.form-container[data-v-5766d177]{width:100%}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar{width:0px}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-9ac38977]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar{height:8px}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar-x[data-v-11bc76c9]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.slide-right-enter-active[data-v-495f8aa0],.slide-right-leave-active[data-v-495f8aa0],.slide-left-enter-active[data-v-495f8aa0],.slide-left-leave-active[data-v-495f8aa0]{transition:transform .3s ease-in-out}.slide-right-enter-from[data-v-495f8aa0],.slide-right-leave-to[data-v-495f8aa0]{transform:translate(100%)}.slide-left-enter-from[data-v-495f8aa0],.slide-left-leave-to[data-v-495f8aa0]{transform:translate(-100%)}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.first-toast-enter-active[data-v-6b631840]{animation:first-toast-in-6b631840 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-6b631840]{transition:all .25s ease-in}.first-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-6b631840{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-6b631840],.stack-toast-leave-active[data-v-6b631840]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-6b631840]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-6b631840]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-6b631840]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}
|
|
684
727
|
|