scrubbed-tailwind-components-v2 2.0.2 → 2.0.4
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
@starting-style{.backdrop[data-v-aaece1c7]{opacity:0}}
|
|
1
|
+
@starting-style{.backdrop[data-v-aaece1c7]{opacity:0}}.link[data-v-0fab71c0]{border:1px solid transparent}.link[data-v-0fab71c0]:has(.router-link-active){border:1px solid rgba(255,255,255,.75);background:linear-gradient(101deg,#e9eef54d 6.76%,#105fa24d 100.14%);box-shadow:0 4px 17px -1px #30537426;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.tab[data-v-9e06f71f]{border:1px solid transparent}.tab-active[data-v-9e06f71f]{border-radius:10px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(101deg,#e9eef54d 6.76%,#105fa24d 100.14%);box-shadow:0 4px 17px -1px #30537426;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { inject as m, createElementBlock as
|
|
2
|
-
import { RouterLink as
|
|
1
|
+
import { inject as m, createElementBlock as a, openBlock as s, normalizeClass as h, unref as u, createElementVNode as d, renderSlot as i, createBlock as y, withCtx as _, ref as f, provide as I, createVNode as B, Fragment as x, Teleport as L, normalizeStyle as M, watch as j, createCommentVNode as k, resolveComponent as G, mergeProps as g, useModel as D, withDirectives as $, vModelCheckbox as z, onMounted as N, onUnmounted as E, vModelText as P, vModelRadio as H, renderList as S, toDisplayString as C, createTextVNode as W, computed as q } from "vue";
|
|
2
|
+
import { RouterLink as w, useRoute as R } from "vue-router";
|
|
3
3
|
const O = { class: "flex w-full items-center justify-between" }, U = { class: "flex items-center gap-2" }, Z = { class: "flex items-center gap-10" }, J = { class: "hidden gap-6 sm:flex" }, Y = {
|
|
4
4
|
__name: "AppHeader",
|
|
5
5
|
setup(e) {
|
|
6
|
-
const
|
|
7
|
-
return (
|
|
8
|
-
class: h(["fixed flex h-16 w-dvw items-center bg-white/50 px-3 backdrop-blur sm:px-6", { "rounded-t-2xl": u(
|
|
6
|
+
const t = m("APP_DATA"), { isSidebarToggled: o, toggleSidebar: n } = t;
|
|
7
|
+
return (r, l) => (s(), a("header", {
|
|
8
|
+
class: h(["fixed flex h-16 w-dvw items-center bg-white/50 px-3 backdrop-blur sm:px-6", { "rounded-t-2xl": u(o) }])
|
|
9
9
|
}, [
|
|
10
10
|
d("nav", O, [
|
|
11
11
|
d("div", U, [
|
|
12
12
|
d("button", {
|
|
13
|
-
onClick:
|
|
13
|
+
onClick: l[0] || (l[0] = (c) => u(n)()),
|
|
14
14
|
class: "block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"
|
|
15
|
-
},
|
|
15
|
+
}, l[1] || (l[1] = [
|
|
16
16
|
d("svg", {
|
|
17
17
|
xmlns: "http://www.w3.org/2000/svg",
|
|
18
18
|
width: "24",
|
|
@@ -30,13 +30,13 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
30
30
|
d("path", { d: "M4 6h16" })
|
|
31
31
|
], -1)
|
|
32
32
|
])),
|
|
33
|
-
i(
|
|
33
|
+
i(r.$slots, "header-img")
|
|
34
34
|
]),
|
|
35
35
|
d("div", Z, [
|
|
36
36
|
d("ul", J, [
|
|
37
|
-
i(
|
|
37
|
+
i(r.$slots, "header-links")
|
|
38
38
|
]),
|
|
39
|
-
i(
|
|
39
|
+
i(r.$slots, "header-actions")
|
|
40
40
|
])
|
|
41
41
|
])
|
|
42
42
|
], 2));
|
|
@@ -47,46 +47,46 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
47
47
|
to: { type: String, required: !0 }
|
|
48
48
|
},
|
|
49
49
|
setup(e) {
|
|
50
|
-
const
|
|
51
|
-
return (
|
|
52
|
-
|
|
50
|
+
const t = e;
|
|
51
|
+
return (o, n) => (s(), a("li", null, [
|
|
52
|
+
t.to.startsWith("/") ? (s(), y(u(w), {
|
|
53
53
|
key: 0,
|
|
54
54
|
class: "hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",
|
|
55
|
-
to:
|
|
55
|
+
to: t.to
|
|
56
56
|
}, {
|
|
57
|
-
default:
|
|
58
|
-
i(
|
|
57
|
+
default: _(() => [
|
|
58
|
+
i(o.$slots, "default")
|
|
59
59
|
]),
|
|
60
60
|
_: 3
|
|
61
|
-
}, 8, ["to"])) : (
|
|
61
|
+
}, 8, ["to"])) : (s(), a("a", {
|
|
62
62
|
key: 1,
|
|
63
63
|
class: "hover:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all",
|
|
64
|
-
href:
|
|
64
|
+
href: t.to
|
|
65
65
|
}, [
|
|
66
|
-
i(
|
|
66
|
+
i(o.$slots, "default")
|
|
67
67
|
], 8, F))
|
|
68
68
|
]));
|
|
69
69
|
}
|
|
70
70
|
}, Q = { class: "relative" }, K = { class: "flex" }, ee = {
|
|
71
71
|
__name: "AppLayout",
|
|
72
72
|
setup(e) {
|
|
73
|
-
const
|
|
74
|
-
function
|
|
75
|
-
window.innerWidth <= 640 ? (
|
|
73
|
+
const t = f(!1);
|
|
74
|
+
function o() {
|
|
75
|
+
window.innerWidth <= 640 ? (t.value = !t.value, n()) : t.value && (t.value = !1, n());
|
|
76
76
|
}
|
|
77
77
|
function n() {
|
|
78
|
-
const
|
|
79
|
-
|
|
78
|
+
const r = document.querySelector("body");
|
|
79
|
+
r.classList.contains("bg-black") ? r.classList.remove("bg-black") : r.classList.add("bg-black");
|
|
80
80
|
}
|
|
81
|
-
return
|
|
81
|
+
return I("APP_DATA", { isSidebarToggled: t, toggleSidebar: o }), (r, l) => (s(), a("div", {
|
|
82
82
|
class: h(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]", {
|
|
83
|
-
"scale-93 origin-[center_top] translate-y-4":
|
|
83
|
+
"scale-93 origin-[center_top] translate-y-4": t.value
|
|
84
84
|
}])
|
|
85
85
|
}, [
|
|
86
86
|
d("div", Q, [
|
|
87
|
-
i(
|
|
87
|
+
i(r.$slots, "header"),
|
|
88
88
|
d("div", K, [
|
|
89
|
-
i(
|
|
89
|
+
i(r.$slots, "content")
|
|
90
90
|
])
|
|
91
91
|
])
|
|
92
92
|
], 2));
|
|
@@ -94,142 +94,122 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
94
94
|
}, te = {
|
|
95
95
|
__name: "AppMain",
|
|
96
96
|
setup(e) {
|
|
97
|
-
const
|
|
98
|
-
return (n,
|
|
97
|
+
const t = m("APP_DATA"), { isSidebarToggled: o } = t;
|
|
98
|
+
return (n, r) => (s(), a("main", {
|
|
99
99
|
class: h([
|
|
100
100
|
"bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pb-9 pt-24 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",
|
|
101
|
-
u(
|
|
101
|
+
u(o) ? "overflow-hidden rounded-t-xl sm:rounded-none" : "sm:rounded-tl-2xl"
|
|
102
102
|
])
|
|
103
103
|
}, [
|
|
104
104
|
i(n.$slots, "default")
|
|
105
105
|
], 2));
|
|
106
106
|
}
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
resetSelectorOpacity: n
|
|
120
|
-
}), (t, s) => (a(), l("div", oe, [
|
|
121
|
-
i(t.$slots, "default"),
|
|
122
|
-
d("div", {
|
|
123
|
-
class: "bg-brand-primary-700 absolute left-0 z-[-1] h-[32px] w-10 rounded-lg opacity-0 transition-all ease-in-out",
|
|
124
|
-
ref_key: "selector",
|
|
125
|
-
ref: o
|
|
126
|
-
}, null, 512)
|
|
127
|
-
]));
|
|
128
|
-
}
|
|
129
|
-
}, ne = {
|
|
107
|
+
}, b = (e, t) => {
|
|
108
|
+
const o = e.__vccOpts || e;
|
|
109
|
+
for (const [n, r] of t)
|
|
110
|
+
o[n] = r;
|
|
111
|
+
return o;
|
|
112
|
+
}, re = {}, oe = { class: "flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden" };
|
|
113
|
+
function ne(e, t) {
|
|
114
|
+
return s(), a("div", oe, [
|
|
115
|
+
i(e.$slots, "default")
|
|
116
|
+
]);
|
|
117
|
+
}
|
|
118
|
+
const se = /* @__PURE__ */ b(re, [["render", ne]]), ae = { class: "shrink-0" }, le = {
|
|
130
119
|
__name: "AppNavTab",
|
|
131
120
|
props: {
|
|
132
121
|
to: { type: String, required: !0 }
|
|
133
122
|
},
|
|
134
123
|
setup(e) {
|
|
135
|
-
const
|
|
136
|
-
return (
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
ref_key: "el",
|
|
141
|
-
ref: s
|
|
142
|
-
}, [
|
|
143
|
-
B(u(S), {
|
|
144
|
-
class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all hover:font-medium hover:text-white [&.router-link-exact-active]:font-medium [&.router-link-exact-active]:hover:text-white",
|
|
145
|
-
to: o.to
|
|
124
|
+
const t = e;
|
|
125
|
+
return f(null), (o, n) => (s(), a("div", ae, [
|
|
126
|
+
B(u(w), {
|
|
127
|
+
class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",
|
|
128
|
+
to: t.to
|
|
146
129
|
}, {
|
|
147
|
-
default:
|
|
148
|
-
i(
|
|
130
|
+
default: _(() => [
|
|
131
|
+
i(o.$slots, "default"),
|
|
132
|
+
n[0] || (n[0] = d("div", { class: "bg-primary-100 absolute inset-x-0 z-[-1] h-8 w-full rounded-lg opacity-0 transition-all contain-strict group-hover:transform-none group-hover:opacity-100 group-hover:[transform-origin:50%_50%_0px]" }, null, -1))
|
|
149
133
|
]),
|
|
150
|
-
_: 3
|
|
134
|
+
_: 3,
|
|
135
|
+
__: [0]
|
|
151
136
|
}, 8, ["to"])
|
|
152
|
-
]
|
|
137
|
+
]));
|
|
153
138
|
}
|
|
154
|
-
},
|
|
155
|
-
const r = e.__vccOpts || e;
|
|
156
|
-
for (const [n, t] of o)
|
|
157
|
-
r[n] = t;
|
|
158
|
-
return r;
|
|
159
|
-
}, se = { class: "fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block" }, ae = {
|
|
139
|
+
}, ie = { class: "fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block" }, de = {
|
|
160
140
|
__name: "AppSidebar",
|
|
161
141
|
setup(e) {
|
|
162
|
-
const
|
|
163
|
-
return (
|
|
164
|
-
d("aside",
|
|
165
|
-
i(
|
|
142
|
+
const t = m("APP_DATA"), { isSidebarToggled: o, toggleSidebar: n } = t;
|
|
143
|
+
return (r, l) => (s(), a(x, null, [
|
|
144
|
+
d("aside", ie, [
|
|
145
|
+
i(r.$slots, "default", {}, void 0, !0)
|
|
166
146
|
]),
|
|
167
|
-
(
|
|
147
|
+
(s(), y(L, { to: "body" }, [
|
|
168
148
|
d("div", {
|
|
169
149
|
class: "shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",
|
|
170
150
|
style: M(
|
|
171
|
-
u(
|
|
151
|
+
u(o) ? "transform: translateZ(0)" : "transform: translate3d(0,60svh,0)"
|
|
172
152
|
)
|
|
173
153
|
}, [
|
|
174
|
-
i(
|
|
154
|
+
i(r.$slots, "default", {}, void 0, !0)
|
|
175
155
|
], 4),
|
|
176
156
|
d("div", {
|
|
177
|
-
onClick:
|
|
157
|
+
onClick: l[0] || (l[0] = (c) => u(n)()),
|
|
178
158
|
class: h([
|
|
179
159
|
"backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",
|
|
180
|
-
u(
|
|
160
|
+
u(o) ? "fixed inset-0 z-40 block bg-black/80 opacity-100" : "hidden"
|
|
181
161
|
])
|
|
182
162
|
}, null, 2)
|
|
183
163
|
]))
|
|
184
164
|
], 64));
|
|
185
165
|
}
|
|
186
|
-
},
|
|
166
|
+
}, ue = /* @__PURE__ */ b(de, [["__scopeId", "data-v-aaece1c7"]]), ce = { class: "flex flex-col" }, pe = {
|
|
187
167
|
__name: "AppSidebarItem",
|
|
188
168
|
setup(e) {
|
|
189
|
-
|
|
190
|
-
const
|
|
191
|
-
function
|
|
192
|
-
|
|
169
|
+
R();
|
|
170
|
+
const t = f(!1);
|
|
171
|
+
function o() {
|
|
172
|
+
t.value = !t.value;
|
|
193
173
|
}
|
|
194
|
-
return
|
|
174
|
+
return I("SIDEBAR_TOGGLE", { toggled: t, toggleSidebarItem: o }), (n, r) => (s(), a("div", ce, [
|
|
195
175
|
i(n.$slots, "default")
|
|
196
176
|
]));
|
|
197
177
|
}
|
|
198
|
-
},
|
|
178
|
+
}, me = ["to"], fe = {
|
|
199
179
|
__name: "AppSidebarItemChild",
|
|
200
180
|
props: {
|
|
201
181
|
to: { type: String, required: !0 }
|
|
202
182
|
},
|
|
203
183
|
setup(e) {
|
|
204
|
-
const
|
|
205
|
-
return (
|
|
184
|
+
const t = e;
|
|
185
|
+
return (o, n) => t.to.startsWith("/") ? (s(), y(u(w), {
|
|
206
186
|
key: 0,
|
|
207
187
|
class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all [&.router-link-exact-active]:font-medium",
|
|
208
|
-
to:
|
|
188
|
+
to: t.to
|
|
209
189
|
}, {
|
|
210
|
-
default:
|
|
211
|
-
i(
|
|
190
|
+
default: _(() => [
|
|
191
|
+
i(o.$slots, "default")
|
|
212
192
|
]),
|
|
213
193
|
_: 3
|
|
214
|
-
}, 8, ["to"])) : (
|
|
194
|
+
}, 8, ["to"])) : (s(), a("a", {
|
|
215
195
|
key: 1,
|
|
216
196
|
class: "text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all",
|
|
217
|
-
to:
|
|
197
|
+
to: t.to
|
|
218
198
|
}, [
|
|
219
|
-
i(
|
|
220
|
-
], 8,
|
|
199
|
+
i(o.$slots, "default")
|
|
200
|
+
], 8, me));
|
|
221
201
|
}
|
|
222
|
-
},
|
|
202
|
+
}, be = {
|
|
223
203
|
__name: "AppSidebarItemChildren",
|
|
224
204
|
setup(e) {
|
|
225
|
-
const
|
|
226
|
-
return (n,
|
|
227
|
-
class: h(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all", { "mt-2 max-h-max overflow-y-auto px-2 opacity-100": u(
|
|
205
|
+
const t = m("SIDEBAR_TOGGLE"), { toggled: o } = t;
|
|
206
|
+
return (n, r) => (s(), a("div", {
|
|
207
|
+
class: h(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all", { "mt-2 max-h-max overflow-y-auto px-2 opacity-100": u(o) }])
|
|
228
208
|
}, [
|
|
229
209
|
i(n.$slots, "default")
|
|
230
210
|
], 2));
|
|
231
211
|
}
|
|
232
|
-
},
|
|
212
|
+
}, he = { class: "link group/sidebar-item hover:bg-background-main has-[&.router-link-active]:bg-background-main peer flex h-10 items-center justify-between rounded-lg px-3 transition-all" }, ge = ["href"], _e = {
|
|
233
213
|
__name: "AppSidebarItemParent",
|
|
234
214
|
props: {
|
|
235
215
|
to: { type: String, required: !0 },
|
|
@@ -237,37 +217,37 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
237
217
|
hasChildren: { type: Boolean, default: !1 }
|
|
238
218
|
},
|
|
239
219
|
setup(e) {
|
|
240
|
-
const
|
|
241
|
-
function
|
|
242
|
-
|
|
243
|
-
(
|
|
244
|
-
) ?
|
|
220
|
+
const t = R(), o = e, n = m("SIDEBAR_TOGGLE"), r = m("APP_DATA"), { toggled: l, toggleSidebarItem: c } = n, { toggleSidebar: v } = r;
|
|
221
|
+
function T() {
|
|
222
|
+
t.matched.some(
|
|
223
|
+
(p) => o.name === p.name
|
|
224
|
+
) ? l.value = !0 : l.value = !1;
|
|
245
225
|
}
|
|
246
|
-
return
|
|
247
|
-
|
|
226
|
+
return j(t, () => T(), { immediate: !0 }), (A, p) => (s(), a("div", he, [
|
|
227
|
+
o.to.startsWith("/") ? (s(), y(u(w), {
|
|
248
228
|
key: 0,
|
|
249
|
-
onClick:
|
|
250
|
-
class: "[&.router-link-active]:text-primary-
|
|
251
|
-
to:
|
|
229
|
+
onClick: p[0] || (p[0] = (V) => u(v)()),
|
|
230
|
+
class: "[&.router-link-active]:text-primary-800 [&.router-link-active]:text-primary-800 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",
|
|
231
|
+
to: o.to
|
|
252
232
|
}, {
|
|
253
|
-
default:
|
|
254
|
-
i(
|
|
233
|
+
default: _(() => [
|
|
234
|
+
i(A.$slots, "default", {}, void 0, !0)
|
|
255
235
|
]),
|
|
256
236
|
_: 3
|
|
257
|
-
}, 8, ["to"])) : (
|
|
237
|
+
}, 8, ["to"])) : (s(), a("a", {
|
|
258
238
|
key: 1,
|
|
259
239
|
class: "text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",
|
|
260
|
-
href:
|
|
240
|
+
href: o.to
|
|
261
241
|
}, [
|
|
262
|
-
i(
|
|
263
|
-
], 8,
|
|
264
|
-
|
|
242
|
+
i(A.$slots, "default", {}, void 0, !0)
|
|
243
|
+
], 8, ge)),
|
|
244
|
+
o.hasChildren ? (s(), a("button", {
|
|
265
245
|
key: 2,
|
|
266
|
-
onClick:
|
|
246
|
+
onClick: p[1] || (p[1] = (V) => u(c)()),
|
|
267
247
|
class: "cursor-pointer rounded-full p-1 transition-all hover:bg-neutral-100",
|
|
268
248
|
type: "button"
|
|
269
249
|
}, [
|
|
270
|
-
(
|
|
250
|
+
(s(), a("svg", {
|
|
271
251
|
xmlns: "http://www.w3.org/2000/svg",
|
|
272
252
|
width: "16",
|
|
273
253
|
height: "16",
|
|
@@ -277,31 +257,31 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
277
257
|
"stroke-width": "2",
|
|
278
258
|
"stroke-linecap": "round",
|
|
279
259
|
"stroke-linejoin": "round",
|
|
280
|
-
class: h(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-
|
|
281
|
-
},
|
|
260
|
+
class: h(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300", { "rotate-180": u(l) }])
|
|
261
|
+
}, p[2] || (p[2] = [
|
|
282
262
|
d("path", { d: "m6 9 6 6 6-6" }, null, -1)
|
|
283
263
|
]), 2))
|
|
284
264
|
])) : k("", !0)
|
|
285
265
|
]));
|
|
286
266
|
}
|
|
287
|
-
},
|
|
267
|
+
}, ve = /* @__PURE__ */ b(_e, [["__scopeId", "data-v-0fab71c0"]]), xe = { class: "hover:bg-background-main has-[&.router-link-active]:active has-[&.router-link-active]:bg-primary-700 peer flex h-10 items-center justify-between rounded-lg px-3 transition-all" }, ke = {
|
|
288
268
|
__name: "AppSidebarToggle",
|
|
289
269
|
setup(e) {
|
|
290
|
-
const
|
|
291
|
-
return (
|
|
292
|
-
const
|
|
293
|
-
return
|
|
294
|
-
B(
|
|
270
|
+
const t = m("SIDEBAR_TOGGLE");
|
|
271
|
+
return (o, n) => {
|
|
272
|
+
const r = G("RouterLink");
|
|
273
|
+
return s(), a("div", xe, [
|
|
274
|
+
B(r, {
|
|
295
275
|
class: "text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",
|
|
296
276
|
to: "/"
|
|
297
277
|
}, {
|
|
298
|
-
default:
|
|
299
|
-
i(
|
|
278
|
+
default: _(() => [
|
|
279
|
+
i(o.$slots, "default")
|
|
300
280
|
]),
|
|
301
281
|
_: 3
|
|
302
282
|
}),
|
|
303
283
|
d("button", {
|
|
304
|
-
onClick: n[0] || (n[0] = (
|
|
284
|
+
onClick: n[0] || (n[0] = (l) => u(t).toggleSidebarItem()),
|
|
305
285
|
class: "cursor-pointer",
|
|
306
286
|
type: "button"
|
|
307
287
|
}, n[1] || (n[1] = [
|
|
@@ -323,33 +303,33 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
323
303
|
]);
|
|
324
304
|
};
|
|
325
305
|
}
|
|
326
|
-
},
|
|
306
|
+
}, ye = {}, $e = {
|
|
327
307
|
key: 0,
|
|
328
308
|
class: "text-primary-950 px-1 text-sm font-medium"
|
|
329
|
-
},
|
|
330
|
-
function
|
|
331
|
-
return
|
|
332
|
-
e.$slots.title ? (
|
|
309
|
+
}, we = { class: "mt-2" };
|
|
310
|
+
function Ae(e, t) {
|
|
311
|
+
return s(), a("nav", null, [
|
|
312
|
+
e.$slots.title ? (s(), a("b", $e, [
|
|
333
313
|
i(e.$slots, "title")
|
|
334
314
|
])) : k("", !0),
|
|
335
|
-
d("div",
|
|
315
|
+
d("div", we, [
|
|
336
316
|
i(e.$slots, "items")
|
|
337
317
|
])
|
|
338
318
|
]);
|
|
339
319
|
}
|
|
340
|
-
const
|
|
341
|
-
function
|
|
342
|
-
return
|
|
320
|
+
const Se = /* @__PURE__ */ b(ye, [["render", Ae]]), Ie = {}, Te = { class: "rounded-full px-3 py-1 text-xs font-medium" };
|
|
321
|
+
function Ce(e, t) {
|
|
322
|
+
return s(), a("div", Te, [
|
|
343
323
|
i(e.$slots, "default")
|
|
344
324
|
]);
|
|
345
325
|
}
|
|
346
|
-
const
|
|
326
|
+
const Be = /* @__PURE__ */ b(Ie, [["render", Ce]]), De = {
|
|
347
327
|
__name: "Button",
|
|
348
328
|
props: {
|
|
349
329
|
variant: { type: String, default: "primary" }
|
|
350
330
|
},
|
|
351
331
|
setup(e) {
|
|
352
|
-
const
|
|
332
|
+
const t = e, o = {
|
|
353
333
|
primary: [
|
|
354
334
|
"bg-brand-primary-700",
|
|
355
335
|
"text-white",
|
|
@@ -370,19 +350,19 @@ const Se = /* @__PURE__ */ _($e, [["render", Ae]]), Ie = {
|
|
|
370
350
|
"hover:bg-danger-600-hovered"
|
|
371
351
|
]
|
|
372
352
|
};
|
|
373
|
-
return (n,
|
|
374
|
-
class: ["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",
|
|
353
|
+
return (n, r) => (s(), a("button", g(n.$attrs, {
|
|
354
|
+
class: ["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", o[t.variant]]
|
|
375
355
|
}), [
|
|
376
356
|
i(n.$slots, "default")
|
|
377
357
|
], 16));
|
|
378
358
|
}
|
|
379
|
-
},
|
|
380
|
-
function
|
|
381
|
-
return
|
|
359
|
+
}, Pe = {}, Re = { class: "rounded-2xl bg-white p-6" };
|
|
360
|
+
function Ve(e, t) {
|
|
361
|
+
return s(), a("div", Re, [
|
|
382
362
|
i(e.$slots, "default")
|
|
383
363
|
]);
|
|
384
364
|
}
|
|
385
|
-
const
|
|
365
|
+
const Le = /* @__PURE__ */ b(Pe, [["render", Ve]]), Me = {
|
|
386
366
|
__name: "Checkbox",
|
|
387
367
|
props: {
|
|
388
368
|
modelValue: {},
|
|
@@ -390,12 +370,12 @@ const Ve = /* @__PURE__ */ _(Te, [["render", Be]]), De = {
|
|
|
390
370
|
},
|
|
391
371
|
emits: ["update:modelValue"],
|
|
392
372
|
setup(e) {
|
|
393
|
-
const
|
|
394
|
-
return (n,
|
|
395
|
-
onClick:
|
|
373
|
+
const t = D(e, "modelValue"), o = f(null);
|
|
374
|
+
return (n, r) => (s(), a("button", {
|
|
375
|
+
onClick: r[1] || (r[1] = (l) => o.value.click()),
|
|
396
376
|
class: "group/checkbox bg-neutral-100 has-checked:bg-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm transition-all"
|
|
397
377
|
}, [
|
|
398
|
-
|
|
378
|
+
r[2] || (r[2] = d("svg", {
|
|
399
379
|
xmlns: "http://www.w3.org/2000/svg",
|
|
400
380
|
width: "14",
|
|
401
381
|
height: "14",
|
|
@@ -409,48 +389,48 @@ const Ve = /* @__PURE__ */ _(Te, [["render", Be]]), De = {
|
|
|
409
389
|
}, [
|
|
410
390
|
d("path", { d: "M20 6 9 17l-5-5" })
|
|
411
391
|
], -1)),
|
|
412
|
-
|
|
413
|
-
"onUpdate:modelValue":
|
|
392
|
+
$(d("input", g(n.$attrs, {
|
|
393
|
+
"onUpdate:modelValue": r[0] || (r[0] = (l) => t.value = l),
|
|
414
394
|
type: "checkbox",
|
|
415
395
|
ref_key: "checkboxRef",
|
|
416
|
-
ref:
|
|
396
|
+
ref: o,
|
|
417
397
|
hidden: ""
|
|
418
398
|
}), null, 16), [
|
|
419
|
-
[
|
|
399
|
+
[z, t.value]
|
|
420
400
|
])
|
|
421
401
|
]));
|
|
422
402
|
}
|
|
423
|
-
},
|
|
403
|
+
}, je = { class: "pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]" }, Ge = {
|
|
424
404
|
__name: "DialogBackground",
|
|
425
405
|
setup(e) {
|
|
426
|
-
return
|
|
406
|
+
return N(() => {
|
|
427
407
|
document.querySelector("body").classList.add("overflow-hidden");
|
|
428
408
|
}), E(() => {
|
|
429
409
|
document.querySelector("body").classList.remove("overflow-hidden");
|
|
430
|
-
}), (
|
|
431
|
-
i(
|
|
410
|
+
}), (t, o) => (s(), a("div", je, [
|
|
411
|
+
i(t.$slots, "default")
|
|
432
412
|
]));
|
|
433
413
|
}
|
|
434
|
-
},
|
|
414
|
+
}, ze = {
|
|
435
415
|
__name: "Input",
|
|
436
416
|
props: ["modelValue"],
|
|
437
417
|
setup(e) {
|
|
438
|
-
const
|
|
439
|
-
return (n,
|
|
440
|
-
"onUpdate:modelValue":
|
|
441
|
-
onInput:
|
|
418
|
+
const o = f(e.modelValue);
|
|
419
|
+
return (n, r) => $((s(), a("input", {
|
|
420
|
+
"onUpdate:modelValue": r[0] || (r[0] = (l) => o.value = l),
|
|
421
|
+
onInput: r[1] || (r[1] = (l) => n.$emit("update:modelValue", l.target.value)),
|
|
442
422
|
class: "text-primary-950 focus:ring-primary-700 neutral-400:text-neutral-400 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
443
423
|
}, null, 544)), [
|
|
444
|
-
[
|
|
424
|
+
[P, o.value]
|
|
445
425
|
]);
|
|
446
426
|
}
|
|
447
|
-
},
|
|
448
|
-
function
|
|
449
|
-
return
|
|
427
|
+
}, Ne = {};
|
|
428
|
+
function Ee(e, t) {
|
|
429
|
+
return s(), a("label", g(e.$attrs, { class: "text-primary-950 text-xs transition-all" }), [
|
|
450
430
|
i(e.$slots, "default")
|
|
451
431
|
], 16);
|
|
452
432
|
}
|
|
453
|
-
const
|
|
433
|
+
const He = /* @__PURE__ */ b(Ne, [["render", Ee]]), We = {
|
|
454
434
|
__name: "Radio",
|
|
455
435
|
props: {
|
|
456
436
|
modelValue: {},
|
|
@@ -458,119 +438,125 @@ const je = /* @__PURE__ */ _(Me, [["render", Ne]]), Ge = {
|
|
|
458
438
|
},
|
|
459
439
|
emits: ["update:modelValue"],
|
|
460
440
|
setup(e) {
|
|
461
|
-
const
|
|
462
|
-
return (n,
|
|
463
|
-
onClick:
|
|
441
|
+
const t = D(e, "modelValue"), o = f(null);
|
|
442
|
+
return (n, r) => (s(), a("button", {
|
|
443
|
+
onClick: r[1] || (r[1] = (l) => o.value.click()),
|
|
464
444
|
class: "group/radio bg-neutral-100 has-checked:bg-white has-checked:border-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent"
|
|
465
445
|
}, [
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
"onUpdate:modelValue":
|
|
446
|
+
r[2] || (r[2] = d("div", { class: "group-has-checked/radio:bg-primary-700 group-has-checked/radio:opacity-100 size-[10px] rounded-full opacity-0 transition-all" }, null, -1)),
|
|
447
|
+
$(d("input", g(n.$attrs, {
|
|
448
|
+
"onUpdate:modelValue": r[0] || (r[0] = (l) => t.value = l),
|
|
469
449
|
type: "radio",
|
|
470
450
|
ref_key: "radioRef",
|
|
471
|
-
ref:
|
|
451
|
+
ref: o,
|
|
472
452
|
hidden: ""
|
|
473
453
|
}), null, 16), [
|
|
474
|
-
[
|
|
454
|
+
[H, t.value]
|
|
475
455
|
])
|
|
476
456
|
]));
|
|
477
457
|
}
|
|
478
|
-
},
|
|
458
|
+
}, qe = "bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]", Oe = {
|
|
479
459
|
__name: "Select",
|
|
480
460
|
setup(e) {
|
|
481
|
-
return (
|
|
482
|
-
onChange:
|
|
483
|
-
class: ["border-neutral-200 text-primary-950 focus:ring-primary-700 appearance-none rounded-lg border-[1px] bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2",
|
|
461
|
+
return (t, o) => (s(), a("select", g(t.$attrs, {
|
|
462
|
+
onChange: o[0] || (o[0] = (n) => t.$emit("update:modelValue", n.target.value)),
|
|
463
|
+
class: ["border-neutral-200 text-primary-950 focus:ring-primary-700 appearance-none rounded-lg border-[1px] bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2", qe]
|
|
484
464
|
}), [
|
|
485
|
-
i(
|
|
465
|
+
i(t.$slots, "default")
|
|
486
466
|
], 16));
|
|
487
467
|
}
|
|
488
|
-
},
|
|
468
|
+
}, Ue = { class: "w-full" }, Ze = { class: "h-16" }, Je = { key: 0 }, Ye = {
|
|
489
469
|
key: 0,
|
|
490
470
|
class: "pe-4"
|
|
491
|
-
},
|
|
471
|
+
}, Fe = {
|
|
492
472
|
__name: "Table",
|
|
493
473
|
props: {
|
|
494
474
|
columns: { type: Array, required: !0 },
|
|
495
475
|
data: { type: Array, required: !0 }
|
|
496
476
|
},
|
|
497
477
|
setup(e) {
|
|
498
|
-
const
|
|
499
|
-
return (
|
|
478
|
+
const t = e;
|
|
479
|
+
return (o, n) => (s(), a("table", Ue, [
|
|
500
480
|
d("thead", null, [
|
|
501
|
-
d("tr",
|
|
502
|
-
(
|
|
503
|
-
key:
|
|
481
|
+
d("tr", Ze, [
|
|
482
|
+
(s(!0), a(x, null, S(t.columns, (r) => (s(), a("th", {
|
|
483
|
+
key: r.key,
|
|
504
484
|
class: "text-xs font-medium text-neutral-600 first-of-type:ps-4"
|
|
505
|
-
}, C(
|
|
506
|
-
|
|
485
|
+
}, C(r.label), 1))), 128)),
|
|
486
|
+
o.$slots.actions ? (s(), a("th", Je)) : k("", !0)
|
|
507
487
|
])
|
|
508
488
|
]),
|
|
509
489
|
d("tbody", null, [
|
|
510
|
-
(
|
|
511
|
-
key:
|
|
490
|
+
(s(!0), a(x, null, S(t.data, (r, l) => (s(), a("tr", {
|
|
491
|
+
key: l,
|
|
512
492
|
class: "odd:bg-background-main/50 hover:bg-background-main min-h-16 rounded-md transition-all"
|
|
513
493
|
}, [
|
|
514
|
-
(
|
|
494
|
+
(s(!0), a(x, null, S(t.columns, (c) => (s(), a("td", {
|
|
515
495
|
key: c.key,
|
|
516
496
|
class: "text-primary-950 py-4 text-xs first-of-type:rounded-s-md first-of-type:ps-4 last-of-type:rounded-e-md last-of-type:pe-4"
|
|
517
497
|
}, [
|
|
518
|
-
i(
|
|
519
|
-
|
|
498
|
+
i(o.$slots, c.key, { row: r }, () => [
|
|
499
|
+
W(C(r[c.key]), 1)
|
|
520
500
|
])
|
|
521
501
|
]))), 128)),
|
|
522
|
-
|
|
523
|
-
i(
|
|
502
|
+
o.$slots.actions ? (s(), a("td", Ye, [
|
|
503
|
+
i(o.$slots, "actions", { row: r })
|
|
524
504
|
])) : k("", !0)
|
|
525
505
|
]))), 128))
|
|
526
506
|
])
|
|
527
507
|
]));
|
|
528
508
|
}
|
|
529
|
-
},
|
|
509
|
+
}, Xe = { class: "overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden" }, Qe = {
|
|
530
510
|
__name: "Tabs",
|
|
531
511
|
props: {
|
|
532
512
|
default: { default: null }
|
|
533
513
|
},
|
|
534
514
|
setup(e) {
|
|
535
|
-
const
|
|
536
|
-
function n(
|
|
537
|
-
|
|
515
|
+
const o = f(e.default);
|
|
516
|
+
function n(r) {
|
|
517
|
+
o.value = r;
|
|
538
518
|
}
|
|
539
|
-
return
|
|
540
|
-
i(
|
|
519
|
+
return I("TAB_DATA", { currentValue: o, setCurrentValue: n }), (r, l) => (s(), a("div", Xe, [
|
|
520
|
+
i(r.$slots, "default")
|
|
541
521
|
]));
|
|
542
522
|
}
|
|
543
|
-
},
|
|
523
|
+
}, Ke = {
|
|
544
524
|
__name: "TabItem",
|
|
545
525
|
props: {
|
|
546
526
|
value: { required: !0 }
|
|
547
527
|
},
|
|
548
528
|
setup(e) {
|
|
549
|
-
const
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
529
|
+
const t = e, o = m("TAB_DATA"), { currentValue: n, setCurrentValue: r } = o, l = q(() => n.value === t.value ? [
|
|
530
|
+
"bg-white",
|
|
531
|
+
"font-medium",
|
|
532
|
+
"text-primary-700",
|
|
533
|
+
"shadow-xl",
|
|
534
|
+
"tab-active"
|
|
535
|
+
] : "text-neutral-600");
|
|
536
|
+
return (c, v) => (s(), a("button", {
|
|
537
|
+
onClick: v[0] || (v[0] = (T) => u(r)(t.value)),
|
|
538
|
+
class: h(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", l.value])
|
|
553
539
|
}, [
|
|
554
|
-
i(c.$slots, "default")
|
|
540
|
+
i(c.$slots, "default", {}, void 0, !0)
|
|
555
541
|
], 2));
|
|
556
542
|
}
|
|
557
|
-
},
|
|
543
|
+
}, et = /* @__PURE__ */ b(Ke, [["__scopeId", "data-v-9e06f71f"]]), tt = {
|
|
558
544
|
__name: "TextArea",
|
|
559
545
|
props: ["modelValue"],
|
|
560
546
|
setup(e) {
|
|
561
|
-
const
|
|
562
|
-
return (n,
|
|
563
|
-
onInput:
|
|
547
|
+
const o = f(e.modelValue);
|
|
548
|
+
return (n, r) => $((s(), a("textarea", g({
|
|
549
|
+
onInput: r[0] || (r[0] = (l) => n.$emit("update:modelValue", l.target.value))
|
|
564
550
|
}, n.$attrs, {
|
|
565
|
-
"onUpdate:modelValue":
|
|
551
|
+
"onUpdate:modelValue": r[1] || (r[1] = (l) => o.value = l),
|
|
566
552
|
class: "border-neutral-200 text-primary-950 neutral-400:text-neutral-400 focus:ring-primary-700 rounded-lg border-[1px] px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2"
|
|
567
553
|
}), null, 16)), [
|
|
568
|
-
[
|
|
554
|
+
[P, o.value]
|
|
569
555
|
]);
|
|
570
556
|
}
|
|
571
|
-
},
|
|
557
|
+
}, nt = {
|
|
572
558
|
install(e) {
|
|
573
|
-
e.component("AppHeader", Y), e.component("AppHeaderLink", X), e.component("AppLayout", ee), e.component("AppMain", te), e.component("AppNavTabs",
|
|
559
|
+
e.component("AppHeader", Y), e.component("AppHeaderLink", X), e.component("AppLayout", ee), e.component("AppMain", te), e.component("AppNavTabs", se), e.component("AppNavTab", le), e.component("AppSidebar", ue), e.component("AppSidebarItem", pe), e.component("AppSidebarItemChild", fe), e.component("AppSidebarItemChildren", be), e.component("AppSidebarItemParent", ve), e.component("AppSidebarToggle", ke), e.component("AppSidebarNavSection", Se), e.component("Badge", Be), e.component("Button", De), e.component("Checkbox", Me), e.component("Card", Le), e.component("DialogBackground", Ge), e.component("Input", ze), e.component("Label", He), e.component("Radio", We), e.component("Select", Oe), e.component("Table", Fe), e.component("Tabs", Qe), e.component("TabItem", et), e.component("TextArea", tt);
|
|
574
560
|
}
|
|
575
561
|
};
|
|
576
562
|
export {
|
|
@@ -578,27 +564,27 @@ export {
|
|
|
578
564
|
X as AppHeaderLink,
|
|
579
565
|
ee as AppLayout,
|
|
580
566
|
te as AppMain,
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
567
|
+
le as AppNavTab,
|
|
568
|
+
se as AppNavTabs,
|
|
569
|
+
ue as AppSidebar,
|
|
570
|
+
pe as AppSidebarItem,
|
|
571
|
+
fe as AppSidebarItemChild,
|
|
572
|
+
be as AppSidebarItemChildren,
|
|
573
|
+
ve as AppSidebarItemParent,
|
|
574
|
+
Se as AppSidebarNavSection,
|
|
575
|
+
ke as AppSidebarToggle,
|
|
576
|
+
Be as Badge,
|
|
577
|
+
De as Button,
|
|
578
|
+
Le as Card,
|
|
579
|
+
Me as Checkbox,
|
|
580
|
+
Ge as DialogBackground,
|
|
581
|
+
ze as Input,
|
|
582
|
+
He as Label,
|
|
583
|
+
We as Radio,
|
|
584
|
+
Oe as Select,
|
|
585
|
+
et as TabItem,
|
|
586
|
+
Fe as Table,
|
|
587
|
+
Qe as Tabs,
|
|
588
|
+
tt as TextArea,
|
|
589
|
+
nt as default
|
|
604
590
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(s,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(s=typeof globalThis<"u"?globalThis:s||self,e(s.ScrubbedTailwindComponentsV2={},s.Vue,s.vueRouter))})(this,function(s,e,p){"use strict";const W={class:"flex w-full items-center justify-between"},H={class:"flex items-center gap-2"},q={class:"flex items-center gap-10"},O={class:"hidden gap-6 sm:flex"},k={__name:"AppHeader",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n,toggleSidebar:l}=o;return(r,a)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(["fixed flex h-16 w-dvw items-center bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(n)}])},[e.createElementVNode("nav",W,[e.createElementVNode("div",H,[e.createElementVNode("button",{onClick:a[0]||(a[0]=i=>e.unref(l)()),class:"block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"},a[1]||(a[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-menu-icon lucide-menu size-5 stroke-neutral-600"},[e.createElementVNode("path",{d:"M4 12h16"}),e.createElementVNode("path",{d:"M4 18h16"}),e.createElementVNode("path",{d:"M4 6h16"})],-1)])),e.renderSlot(r.$slots,"header-img")]),e.createElementVNode("div",q,[e.createElementVNode("ul",O,[e.renderSlot(r.$slots,"header-links")]),e.renderSlot(r.$slots,"header-actions")])])],2))}},U=["href"],b={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const o=t;return(n,l)=>(e.openBlock(),e.createElementBlock("li",null,[o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,class:"hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"hover:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all",href:o.to},[e.renderSlot(n.$slots,"default")],8,U))]))}},Z={class:"relative"},J={class:"flex"},h={__name:"AppLayout",setup(t){const o=e.ref(!1);function n(){window.innerWidth<=640?(o.value=!o.value,l()):o.value&&(o.value=!1,l())}function l(){const r=document.querySelector("body");r.classList.contains("bg-black")?r.classList.remove("bg-black"):r.classList.add("bg-black")}return e.provide("APP_DATA",{isSidebarToggled:o,toggleSidebar:n}),(r,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]",{"scale-93 origin-[center_top] translate-y-4":o.value}])},[e.createElementVNode("div",Z,[e.renderSlot(r.$slots,"header"),e.createElementVNode("div",J,[e.renderSlot(r.$slots,"content")])])],2))}},g={__name:"AppMain",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n}=o;return(l,r)=>(e.openBlock(),e.createElementBlock("main",{class:e.normalizeClass(["bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pb-9 pt-24 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",e.unref(n)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(l.$slots,"default")],2))}},Y={class:"group flex w-full overflow-x-auto border-b-[1px] border-neutral-200"},_={__name:"AppNavTabs",setup(t){const o=e.ref(null);function n(r,a,i){o.value.style=`left: ${r}px; top: calc(${a}px + 6px); opacity: 1; width: ${i}px`}function l(r,a,i){o.value.style=`left: ${r}px; top: calc(${a}px + 6px); opacity: 0; width: ${i}px`}return e.provide("NAV_TABS",{setSelectorAttributes:n,resetSelectorOpacity:l}),(r,a)=>(e.openBlock(),e.createElementBlock("div",Y,[e.renderSlot(r.$slots,"default"),e.createElementVNode("div",{class:"bg-brand-primary-700 absolute left-0 z-[-1] h-[32px] w-10 rounded-lg opacity-0 transition-all ease-in-out",ref_key:"selector",ref:o},null,512)]))}},x={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const o=t,n=e.inject("NAV_TABS"),{setSelectorAttributes:l,resetSelectorOpacity:r}=n,a=e.ref(null);return(i,c)=>(e.openBlock(),e.createElementBlock("div",{onMouseover:c[0]||(c[0]=u=>e.unref(l)(a.value.offsetLeft,a.value.offsetTop,a.value.clientWidth)),onMouseleave:c[1]||(c[1]=u=>e.unref(r)(a.value.offsetLeft,a.value.offsetTop,a.value.clientWidth)),class:"shrink-0",ref_key:"el",ref:a},[e.createVNode(e.unref(p.RouterLink),{class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all hover:font-medium hover:text-white [&.router-link-exact-active]:font-medium [&.router-link-exact-active]:hover:text-white",to:o.to},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["to"])],544))}},m=(t,o)=>{const n=t.__vccOpts||t;for(const[l,r]of o)n[l]=r;return n},F={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},y=m({__name:"AppSidebar",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n,toggleSidebar:l}=o;return(r,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",F,[e.renderSlot(r.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:"shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(n)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(r.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:a[0]||(a[0]=i=>e.unref(l)()),class:e.normalizeClass(["backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",e.unref(n)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},[["__scopeId","data-v-aaece1c7"]]),X={class:"flex flex-col"},B={__name:"AppSidebarItem",setup(t){p.useRoute();const o=e.ref(!1);function n(){o.value=!o.value}return e.provide("SIDEBAR_TOGGLE",{toggled:o,toggleSidebarItem:n}),(l,r)=>(e.openBlock(),e.createElementBlock("div",X,[e.renderSlot(l.$slots,"default")]))}},Q=["to"],w={__name:"AppSidebarItemChild",props:{to:{type:String,required:!0}},setup(t){const o=t;return(n,l)=>o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all",to:o.to},[e.renderSlot(n.$slots,"default")],8,Q))}},$={__name:"AppSidebarItemChildren",setup(t){const o=e.inject("SIDEBAR_TOGGLE"),{toggled:n}=o;return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all",{"mt-2 max-h-max overflow-y-auto px-2 opacity-100":e.unref(n)}])},[e.renderSlot(l.$slots,"default")],2))}},K={class:"group/sidebar-item hover:bg-background-main has-[&.router-link-active]:bg-background-main peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},v=["href"],S={__name:"AppSidebarItemParent",props:{to:{type:String,required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const o=p.useRoute(),n=t,l=e.inject("SIDEBAR_TOGGLE"),r=e.inject("APP_DATA"),{toggled:a,toggleSidebarItem:i}=l,{toggleSidebar:c}=r;function u(){o.matched.some(d=>n.name===d.name)?a.value=!0:a.value=!1}return e.watch(o,()=>u(),{immediate:!0}),(f,d)=>(e.openBlock(),e.createElementBlock("div",K,[n.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,onClick:d[0]||(d[0]=ye=>e.unref(c)()),class:"[&.router-link-active]:text-primary-950 [&.router-link-active]:text-primary-950 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",to:n.to},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",href:n.to},[e.renderSlot(f.$slots,"default")],8,v)),n.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:d[1]||(d[1]=ye=>e.unref(i)()),class:"cursor-pointer rounded-full p-1 transition-all hover:bg-neutral-100",type:"button"},[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-950 transition-all duration-300",{"rotate-180":e.unref(a)}])},d[2]||(d[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},ee={class:"hover:bg-background-main has-[&.router-link-active]:active has-[&.router-link-active]:bg-primary-700 peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},A={__name:"AppSidebarToggle",setup(t){const o=e.inject("SIDEBAR_TOGGLE");return(n,l)=>{const r=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",ee,[e.createVNode(r,{class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",to:"/"},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3}),e.createElementVNode("button",{onClick:l[0]||(l[0]=a=>e.unref(o).toggleSidebarItem()),class:"cursor-pointer",type:"button"},l[1]||(l[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-chevron-down-icon lucide-chevron-down stroke-white"},[e.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1)]))])}}},te={},oe={key:0,class:"text-primary-950 px-1 text-sm font-medium"},re={class:"mt-2"};function ne(t,o){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",oe,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",re,[e.renderSlot(t.$slots,"items")])])}const E=m(te,[["render",ne]]),le={},ae={class:"rounded-full px-3 py-1 text-xs font-medium"};function se(t,o){return e.openBlock(),e.createElementBlock("div",ae,[e.renderSlot(t.$slots,"default")])}const V=m(le,[["render",se]]),T={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t){const o=t,n={primary:["bg-brand-primary-700","text-white","active:bg-primary-950 hover:bg-primary-800"],secondary:["bg-neutral-100","text-primary-900"],outlined:["border-[1px]","border-neutral-200","text-primary-900","hover:bg-neutral-100"],ghost:["font-medium","text-primary-900","hover:bg-neutral-100"],destructive:["bg-danger-600","text-white","active:bg-danger-600-active","hover:bg-danger-600-hovered"]};return(l,r)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(l.$attrs,{class:["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",n[o.variant]]}),[e.renderSlot(l.$slots,"default")],16))}},ie={},ce={class:"rounded-2xl bg-white p-6"};function de(t,o){return e.openBlock(),e.createElementBlock("div",ce,[e.renderSlot(t.$slots,"default")])}const I=m(ie,[["render",de]]),N={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref(null);return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:r[1]||(r[1]=a=>n.value.click()),class:"group/checkbox bg-neutral-100 has-checked:bg-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm transition-all"},[r[2]||(r[2]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-check-icon lucide-check hidden stroke-white group-has-[:checked]/checkbox:block"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":r[0]||(r[0]=a=>o.value=a),type:"checkbox",ref_key:"checkboxRef",ref:n,hidden:""}),null,16),[[e.vModelCheckbox,o.value]])]))}},pe={class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]"},C={__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(o,n)=>(e.openBlock(),e.createElementBlock("div",pe,[e.renderSlot(o.$slots,"default")]))}},D={__name:"Input",props:["modelValue"],setup(t){const o=t,n=e.ref(o.modelValue);return(l,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":r[0]||(r[0]=a=>n.value=a),onInput:r[1]||(r[1]=a=>l.$emit("update:modelValue",a.target.value)),class:"text-primary-950 focus:ring-primary-700 neutral-400:text-neutral-400 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"},null,544)),[[e.vModelText,n.value]])}},me={};function ue(t,o){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-xs transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const L=m(me,[["render",ue]]),P={__name:"Radio",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref(null);return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:r[1]||(r[1]=a=>n.value.click()),class:"group/radio bg-neutral-100 has-checked:bg-white has-checked:border-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent"},[r[2]||(r[2]=e.createElementVNode("div",{class:"group-has-checked/radio:bg-primary-700 group-has-checked/radio:opacity-100 size-[10px] rounded-full opacity-0 transition-all"},null,-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":r[0]||(r[0]=a=>o.value=a),type:"radio",ref_key:"radioRef",ref:n,hidden:""}),null,16),[[e.vModelRadio,o.value]])]))}},fe="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",j={__name:"Select",setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{onChange:n[0]||(n[0]=l=>o.$emit("update:modelValue",l.target.value)),class:["border-neutral-200 text-primary-950 focus:ring-primary-700 appearance-none rounded-lg border-[1px] bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2",fe]}),[e.renderSlot(o.$slots,"default")],16))}},ke={class:"w-full"},be={class:"h-16"},he={key:0},ge={key:0,class:"pe-4"},M={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const o=t;return(n,l)=>(e.openBlock(),e.createElementBlock("table",ke,[e.createElementVNode("thead",null,[e.createElementVNode("tr",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,r=>(e.openBlock(),e.createElementBlock("th",{key:r.key,class:"text-xs font-medium text-neutral-600 first-of-type:ps-4"},e.toDisplayString(r.label),1))),128)),n.$slots.actions?(e.openBlock(),e.createElementBlock("th",he)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.data,(r,a)=>(e.openBlock(),e.createElementBlock("tr",{key:a,class:"odd:bg-background-main/50 hover:bg-background-main min-h-16 rounded-md transition-all"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,i=>(e.openBlock(),e.createElementBlock("td",{key:i.key,class:"text-primary-950 py-4 text-xs first-of-type:rounded-s-md first-of-type:ps-4 last-of-type:rounded-e-md last-of-type:pe-4"},[e.renderSlot(n.$slots,i.key,{row:r},()=>[e.createTextVNode(e.toDisplayString(r[i.key]),1)])]))),128)),n.$slots.actions?(e.openBlock(),e.createElementBlock("td",ge,[e.renderSlot(n.$slots,"actions",{row:r})])):e.createCommentVNode("",!0)]))),128))])]))}},_e={class:"bg-neutral-100/50 overflow-x-scroll rounded-xl p-1 [&::-webkit-scrollbar]:hidden"},R={__name:"Tabs",props:{default:{default:null}},setup(t){const o=t,n=e.ref(o.default);function l(r){n.value=r}return e.provide("TAB_DATA",{currentValue:n,setCurrentValue:l}),(r,a)=>(e.openBlock(),e.createElementBlock("div",_e,[e.renderSlot(r.$slots,"default")]))}},z={__name:"TabItem",props:{value:{required:!0}},setup(t){const o=t,n=e.inject("TAB_DATA"),{currentValue:l,setCurrentValue:r}=n,a=e.computed(()=>l.value===o.value?["bg-white","font-medium","text-primary-700","shadow-xl"]:"text-neutral-600");return(i,c)=>(e.openBlock(),e.createElementBlock("button",{onClick:c[0]||(c[0]=u=>e.unref(r)(o.value)),class:e.normalizeClass(["h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",a.value])},[e.renderSlot(i.$slots,"default")],2))}},G={__name:"TextArea",props:["modelValue"],setup(t){const o=t,n=e.ref(o.modelValue);return(l,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:r[0]||(r[0]=a=>l.$emit("update:modelValue",a.target.value))},l.$attrs,{"onUpdate:modelValue":r[1]||(r[1]=a=>n.value=a),class:"border-neutral-200 text-primary-950 neutral-400:text-neutral-400 focus:ring-primary-700 rounded-lg border-[1px] px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2"}),null,16)),[[e.vModelText,n.value]])}},xe={install(t){t.component("AppHeader",k),t.component("AppHeaderLink",b),t.component("AppLayout",h),t.component("AppMain",g),t.component("AppNavTabs",_),t.component("AppNavTab",x),t.component("AppSidebar",y),t.component("AppSidebarItem",B),t.component("AppSidebarItemChild",w),t.component("AppSidebarItemChildren",$),t.component("AppSidebarItemParent",S),t.component("AppSidebarToggle",A),t.component("AppSidebarNavSection",E),t.component("Badge",V),t.component("Button",T),t.component("Checkbox",N),t.component("Card",I),t.component("DialogBackground",C),t.component("Input",D),t.component("Label",L),t.component("Radio",P),t.component("Select",j),t.component("Table",M),t.component("Tabs",R),t.component("TabItem",z),t.component("TextArea",G)}};s.AppHeader=k,s.AppHeaderLink=b,s.AppLayout=h,s.AppMain=g,s.AppNavTab=x,s.AppNavTabs=_,s.AppSidebar=y,s.AppSidebarItem=B,s.AppSidebarItemChild=w,s.AppSidebarItemChildren=$,s.AppSidebarItemParent=S,s.AppSidebarNavSection=E,s.AppSidebarToggle=A,s.Badge=V,s.Button=T,s.Card=I,s.Checkbox=N,s.DialogBackground=C,s.Input=D,s.Label=L,s.Radio=P,s.Select=j,s.TabItem=z,s.Table=M,s.Tabs=R,s.TextArea=G,s.default=xe,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(a,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(a=typeof globalThis<"u"?globalThis:a||self,e(a.ScrubbedTailwindComponentsV2={},a.Vue,a.vueRouter))})(this,function(a,e,p){"use strict";const H={class:"flex w-full items-center justify-between"},W={class:"flex items-center gap-2"},q={class:"flex items-center gap-10"},O={class:"hidden gap-6 sm:flex"},f={__name:"AppHeader",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n,toggleSidebar:l}=o;return(r,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(["fixed flex h-16 w-dvw items-center bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(n)}])},[e.createElementVNode("nav",H,[e.createElementVNode("div",W,[e.createElementVNode("button",{onClick:s[0]||(s[0]=i=>e.unref(l)()),class:"block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"},s[1]||(s[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-menu-icon lucide-menu size-5 stroke-neutral-600"},[e.createElementVNode("path",{d:"M4 12h16"}),e.createElementVNode("path",{d:"M4 18h16"}),e.createElementVNode("path",{d:"M4 6h16"})],-1)])),e.renderSlot(r.$slots,"header-img")]),e.createElementVNode("div",q,[e.createElementVNode("ul",O,[e.renderSlot(r.$slots,"header-links")]),e.renderSlot(r.$slots,"header-actions")])])],2))}},U=["href"],k={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const o=t;return(n,l)=>(e.openBlock(),e.createElementBlock("li",null,[o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,class:"hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"hover:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all",href:o.to},[e.renderSlot(n.$slots,"default")],8,U))]))}},Z={class:"relative"},J={class:"flex"},b={__name:"AppLayout",setup(t){const o=e.ref(!1);function n(){window.innerWidth<=640?(o.value=!o.value,l()):o.value&&(o.value=!1,l())}function l(){const r=document.querySelector("body");r.classList.contains("bg-black")?r.classList.remove("bg-black"):r.classList.add("bg-black")}return e.provide("APP_DATA",{isSidebarToggled:o,toggleSidebar:n}),(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]",{"scale-93 origin-[center_top] translate-y-4":o.value}])},[e.createElementVNode("div",Z,[e.renderSlot(r.$slots,"header"),e.createElementVNode("div",J,[e.renderSlot(r.$slots,"content")])])],2))}},h={__name:"AppMain",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n}=o;return(l,r)=>(e.openBlock(),e.createElementBlock("main",{class:e.normalizeClass(["bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pb-9 pt-24 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",e.unref(n)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(l.$slots,"default")],2))}},c=(t,o)=>{const n=t.__vccOpts||t;for(const[l,r]of o)n[l]=r;return n},Y={},F={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function X(t,o){return e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"default")])}const g=c(Y,[["render",X]]),Q={class:"shrink-0"},_={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const o=t;return e.ref(null),(n,l)=>(e.openBlock(),e.createElementBlock("div",Q,[e.createVNode(e.unref(p.RouterLink),{class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default"),l[0]||(l[0]=e.createElementVNode("div",{class:"bg-primary-100 absolute inset-x-0 z-[-1] h-8 w-full rounded-lg opacity-0 transition-all contain-strict group-hover:transform-none group-hover:opacity-100 group-hover:[transform-origin:50%_50%_0px]"},null,-1))]),_:3,__:[0]},8,["to"])]))}},K={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},x=c({__name:"AppSidebar",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n,toggleSidebar:l}=o;return(r,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",K,[e.renderSlot(r.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:"shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(n)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(r.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=i=>e.unref(l)()),class:e.normalizeClass(["backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",e.unref(n)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},[["__scopeId","data-v-aaece1c7"]]),v={class:"flex flex-col"},y={__name:"AppSidebarItem",setup(t){p.useRoute();const o=e.ref(!1);function n(){o.value=!o.value}return e.provide("SIDEBAR_TOGGLE",{toggled:o,toggleSidebarItem:n}),(l,r)=>(e.openBlock(),e.createElementBlock("div",v,[e.renderSlot(l.$slots,"default")]))}},ee=["to"],B={__name:"AppSidebarItemChild",props:{to:{type:String,required:!0}},setup(t){const o=t;return(n,l)=>o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all",to:o.to},[e.renderSlot(n.$slots,"default")],8,ee))}},w={__name:"AppSidebarItemChildren",setup(t){const o=e.inject("SIDEBAR_TOGGLE"),{toggled:n}=o;return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all",{"mt-2 max-h-max overflow-y-auto px-2 opacity-100":e.unref(n)}])},[e.renderSlot(l.$slots,"default")],2))}},te={class:"link group/sidebar-item hover:bg-background-main has-[&.router-link-active]:bg-background-main peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},oe=["href"],$=c({__name:"AppSidebarItemParent",props:{to:{type:String,required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const o=p.useRoute(),n=t,l=e.inject("SIDEBAR_TOGGLE"),r=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:i}=l,{toggleSidebar:m}=r;function G(){o.matched.some(d=>n.name===d.name)?s.value=!0:s.value=!1}return e.watch(o,()=>G(),{immediate:!0}),(u,d)=>(e.openBlock(),e.createElementBlock("div",te,[n.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,onClick:d[0]||(d[0]=$e=>e.unref(m)()),class:"[&.router-link-active]:text-primary-800 [&.router-link-active]:text-primary-800 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",to:n.to},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default",{},void 0,!0)]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",href:n.to},[e.renderSlot(u.$slots,"default",{},void 0,!0)],8,oe)),n.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:d[1]||(d[1]=$e=>e.unref(i)()),class:"cursor-pointer rounded-full p-1 transition-all hover:bg-neutral-100",type:"button"},[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300",{"rotate-180":e.unref(s)}])},d[2]||(d[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-0fab71c0"]]),re={class:"hover:bg-background-main has-[&.router-link-active]:active has-[&.router-link-active]:bg-primary-700 peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},S={__name:"AppSidebarToggle",setup(t){const o=e.inject("SIDEBAR_TOGGLE");return(n,l)=>{const r=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",re,[e.createVNode(r,{class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",to:"/"},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3}),e.createElementVNode("button",{onClick:l[0]||(l[0]=s=>e.unref(o).toggleSidebarItem()),class:"cursor-pointer",type:"button"},l[1]||(l[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-chevron-down-icon lucide-chevron-down stroke-white"},[e.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1)]))])}}},ne={},le={key:0,class:"text-primary-950 px-1 text-sm font-medium"},ae={class:"mt-2"};function se(t,o){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",le,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",ae,[e.renderSlot(t.$slots,"items")])])}const A=c(ne,[["render",se]]),ie={},ce={class:"rounded-full px-3 py-1 text-xs font-medium"};function de(t,o){return e.openBlock(),e.createElementBlock("div",ce,[e.renderSlot(t.$slots,"default")])}const E=c(ie,[["render",de]]),V={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t){const o=t,n={primary:["bg-brand-primary-700","text-white","active:bg-primary-950 hover:bg-primary-800"],secondary:["bg-neutral-100","text-primary-900"],outlined:["border-[1px]","border-neutral-200","text-primary-900","hover:bg-neutral-100"],ghost:["font-medium","text-primary-900","hover:bg-neutral-100"],destructive:["bg-danger-600","text-white","active:bg-danger-600-active","hover:bg-danger-600-hovered"]};return(l,r)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(l.$attrs,{class:["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",n[o.variant]]}),[e.renderSlot(l.$slots,"default")],16))}},pe={},me={class:"rounded-2xl bg-white p-6"};function ue(t,o){return e.openBlock(),e.createElementBlock("div",me,[e.renderSlot(t.$slots,"default")])}const I=c(pe,[["render",ue]]),T={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref(null);return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:r[1]||(r[1]=s=>n.value.click()),class:"group/checkbox bg-neutral-100 has-checked:bg-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm transition-all"},[r[2]||(r[2]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-check-icon lucide-check hidden stroke-white group-has-[:checked]/checkbox:block"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":r[0]||(r[0]=s=>o.value=s),type:"checkbox",ref_key:"checkboxRef",ref:n,hidden:""}),null,16),[[e.vModelCheckbox,o.value]])]))}},fe={class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]"},C={__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(o,n)=>(e.openBlock(),e.createElementBlock("div",fe,[e.renderSlot(o.$slots,"default")]))}},N={__name:"Input",props:["modelValue"],setup(t){const o=t,n=e.ref(o.modelValue);return(l,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),onInput:r[1]||(r[1]=s=>l.$emit("update:modelValue",s.target.value)),class:"text-primary-950 focus:ring-primary-700 neutral-400:text-neutral-400 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"},null,544)),[[e.vModelText,n.value]])}},ke={};function be(t,o){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-xs transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const P=c(ke,[["render",be]]),D={__name:"Radio",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref(null);return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:r[1]||(r[1]=s=>n.value.click()),class:"group/radio bg-neutral-100 has-checked:bg-white has-checked:border-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent"},[r[2]||(r[2]=e.createElementVNode("div",{class:"group-has-checked/radio:bg-primary-700 group-has-checked/radio:opacity-100 size-[10px] rounded-full opacity-0 transition-all"},null,-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":r[0]||(r[0]=s=>o.value=s),type:"radio",ref_key:"radioRef",ref:n,hidden:""}),null,16),[[e.vModelRadio,o.value]])]))}},he="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",L={__name:"Select",setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{onChange:n[0]||(n[0]=l=>o.$emit("update:modelValue",l.target.value)),class:["border-neutral-200 text-primary-950 focus:ring-primary-700 appearance-none rounded-lg border-[1px] bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2",he]}),[e.renderSlot(o.$slots,"default")],16))}},ge={class:"w-full"},_e={class:"h-16"},xe={key:0},ye={key:0,class:"pe-4"},j={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const o=t;return(n,l)=>(e.openBlock(),e.createElementBlock("table",ge,[e.createElementVNode("thead",null,[e.createElementVNode("tr",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,r=>(e.openBlock(),e.createElementBlock("th",{key:r.key,class:"text-xs font-medium text-neutral-600 first-of-type:ps-4"},e.toDisplayString(r.label),1))),128)),n.$slots.actions?(e.openBlock(),e.createElementBlock("th",xe)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.data,(r,s)=>(e.openBlock(),e.createElementBlock("tr",{key:s,class:"odd:bg-background-main/50 hover:bg-background-main min-h-16 rounded-md transition-all"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,i=>(e.openBlock(),e.createElementBlock("td",{key:i.key,class:"text-primary-950 py-4 text-xs first-of-type:rounded-s-md first-of-type:ps-4 last-of-type:rounded-e-md last-of-type:pe-4"},[e.renderSlot(n.$slots,i.key,{row:r},()=>[e.createTextVNode(e.toDisplayString(r[i.key]),1)])]))),128)),n.$slots.actions?(e.openBlock(),e.createElementBlock("td",ye,[e.renderSlot(n.$slots,"actions",{row:r})])):e.createCommentVNode("",!0)]))),128))])]))}},Be={class:"overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden"},R={__name:"Tabs",props:{default:{default:null}},setup(t){const o=t,n=e.ref(o.default);function l(r){n.value=r}return e.provide("TAB_DATA",{currentValue:n,setCurrentValue:l}),(r,s)=>(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(r.$slots,"default")]))}},M=c({__name:"TabItem",props:{value:{required:!0}},setup(t){const o=t,n=e.inject("TAB_DATA"),{currentValue:l,setCurrentValue:r}=n,s=e.computed(()=>l.value===o.value?["bg-white","font-medium","text-primary-700","shadow-xl","tab-active"]:"text-neutral-600");return(i,m)=>(e.openBlock(),e.createElementBlock("button",{onClick:m[0]||(m[0]=G=>e.unref(r)(o.value)),class:e.normalizeClass(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",s.value])},[e.renderSlot(i.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-9e06f71f"]]),z={__name:"TextArea",props:["modelValue"],setup(t){const o=t,n=e.ref(o.modelValue);return(l,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:r[0]||(r[0]=s=>l.$emit("update:modelValue",s.target.value))},l.$attrs,{"onUpdate:modelValue":r[1]||(r[1]=s=>n.value=s),class:"border-neutral-200 text-primary-950 neutral-400:text-neutral-400 focus:ring-primary-700 rounded-lg border-[1px] px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2"}),null,16)),[[e.vModelText,n.value]])}},we={install(t){t.component("AppHeader",f),t.component("AppHeaderLink",k),t.component("AppLayout",b),t.component("AppMain",h),t.component("AppNavTabs",g),t.component("AppNavTab",_),t.component("AppSidebar",x),t.component("AppSidebarItem",y),t.component("AppSidebarItemChild",B),t.component("AppSidebarItemChildren",w),t.component("AppSidebarItemParent",$),t.component("AppSidebarToggle",S),t.component("AppSidebarNavSection",A),t.component("Badge",E),t.component("Button",V),t.component("Checkbox",T),t.component("Card",I),t.component("DialogBackground",C),t.component("Input",N),t.component("Label",P),t.component("Radio",D),t.component("Select",L),t.component("Table",j),t.component("Tabs",R),t.component("TabItem",M),t.component("TextArea",z)}};a.AppHeader=f,a.AppHeaderLink=k,a.AppLayout=b,a.AppMain=h,a.AppNavTab=_,a.AppNavTabs=g,a.AppSidebar=x,a.AppSidebarItem=y,a.AppSidebarItemChild=B,a.AppSidebarItemChildren=w,a.AppSidebarItemParent=$,a.AppSidebarNavSection=A,a.AppSidebarToggle=S,a.Badge=E,a.Button=V,a.Card=I,a.Checkbox=T,a.DialogBackground=C,a.Input=N,a.Label=P,a.Radio=D,a.Select=L,a.TabItem=M,a.Table=j,a.Tabs=R,a.TextArea=z,a.default=we,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|