scrubbed-tailwind-components-v2 2.2.1 → 2.3.0
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}}.fade-in-dialog-enter-active{transition:all .15s cubic-bezier(.08,.82,.17,1)}.fade-in-dialog-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.fade-in-dialog-enter-from,.fade-in-dialog-leave-to{transform:scale(.95);opacity:0}.fade-in-dialog-enter-active{transition-delay:.05s}p[data-v-39085694]{transition-behavior:allow-discrete}.fade-in-enter-active,.fade-in-leave-active{transition:opacity .15s ease}.fade-in-enter-from,.fade-in-leave-to{opacity:0}.slide-enter-active{transition:all .5s cubic-bezier(.08,.82,.17,1)}.slide-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.slide-enter-from,.slide-leave-to{opacity:0;transform:translate(100%)}.slide-enter-active{transition-delay:.18s}.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,6 +1,6 @@
|
|
|
1
|
-
import { inject as b, createElementBlock as l, openBlock as a, normalizeClass as p, unref as d, createElementVNode as c, renderSlot as i, createBlock as
|
|
2
|
-
import { RouterLink as
|
|
3
|
-
const oe = { class: "
|
|
1
|
+
import { inject as b, createElementBlock as l, openBlock as a, normalizeClass as p, unref as d, createElementVNode as c, renderSlot as i, createBlock as g, withCtx as m, ref as v, provide as T, resolveDynamicComponent as A, cloneVNode as S, createVNode as x, Fragment as D, Teleport as E, normalizeStyle as U, watch as Y, createCommentVNode as _, resolveComponent as Z, mergeProps as y, useModel as V, withDirectives as I, vModelCheckbox as J, onMounted as X, onUnmounted as Q, Transition as R, useSlots as H, createStaticVNode as K, createTextVNode as z, computed as O, vModelText as F, mergeModels as ee, vModelRadio as te, vModelSelect as re, renderList as M, toDisplayString as N } from "vue";
|
|
2
|
+
import { RouterLink as P, useRoute as q } from "vue-router";
|
|
3
|
+
const oe = { class: "flex w-full items-center justify-between" }, ne = { class: "flex items-center gap-2" }, ae = { class: "flex items-center gap-10" }, se = { class: "hidden gap-6 sm:flex" }, le = {
|
|
4
4
|
__name: "AppHeader",
|
|
5
5
|
setup(e) {
|
|
6
6
|
const t = b("APP_DATA"), { isSidebarToggled: r, toggleSidebar: n } = t;
|
|
@@ -49,12 +49,12 @@ const oe = { class: "container flex w-full items-center justify-between" }, ne =
|
|
|
49
49
|
setup(e) {
|
|
50
50
|
const t = e;
|
|
51
51
|
return (r, n) => (a(), l("li", null, [
|
|
52
|
-
t.to.startsWith("/") ? (a(),
|
|
52
|
+
t.to.startsWith("/") ? (a(), g(d(P), {
|
|
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
55
|
to: t.to
|
|
56
56
|
}, {
|
|
57
|
-
default:
|
|
57
|
+
default: m(() => [
|
|
58
58
|
i(r.$slots, "default")
|
|
59
59
|
]),
|
|
60
60
|
_: 3
|
|
@@ -70,7 +70,7 @@ const oe = { class: "container flex w-full items-center justify-between" }, ne =
|
|
|
70
70
|
}, ce = { class: "relative" }, ue = { class: "flex" }, ge = {
|
|
71
71
|
__name: "AppLayout",
|
|
72
72
|
setup(e) {
|
|
73
|
-
const t =
|
|
73
|
+
const t = v(!1);
|
|
74
74
|
function r() {
|
|
75
75
|
window.innerWidth <= 640 ? (t.value = !t.value, n()) : t.value && (t.value = !1, n());
|
|
76
76
|
}
|
|
@@ -78,18 +78,22 @@ const oe = { class: "container flex w-full items-center justify-between" }, ne =
|
|
|
78
78
|
const o = document.querySelector("body");
|
|
79
79
|
o.classList.contains("bg-black") ? o.classList.remove("bg-black") : o.classList.add("bg-black");
|
|
80
80
|
}
|
|
81
|
-
return
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
c("div",
|
|
89
|
-
|
|
81
|
+
return T("APP_DATA", { isSidebarToggled: t, toggleSidebar: r }), (o, s) => {
|
|
82
|
+
var u, f, $, C, h, B;
|
|
83
|
+
return a(), l("div", {
|
|
84
|
+
class: p(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]", {
|
|
85
|
+
"origin-[center_top] translate-y-4 scale-93": t.value
|
|
86
|
+
}])
|
|
87
|
+
}, [
|
|
88
|
+
c("div", ce, [
|
|
89
|
+
(a(), g(A(S((f = (u = o.$slots).default) == null ? void 0 : f.call(u)[0])))),
|
|
90
|
+
c("div", ue, [
|
|
91
|
+
(a(), g(A(S((C = ($ = o.$slots).default) == null ? void 0 : C.call($)[1])))),
|
|
92
|
+
(a(), g(A(S((B = (h = o.$slots).default) == null ? void 0 : B.call(h)[2]))))
|
|
93
|
+
])
|
|
90
94
|
])
|
|
91
|
-
])
|
|
92
|
-
|
|
95
|
+
], 2);
|
|
96
|
+
};
|
|
93
97
|
}
|
|
94
98
|
}, pe = {
|
|
95
99
|
__name: "AppMain",
|
|
@@ -97,14 +101,14 @@ const oe = { class: "container flex w-full items-center justify-between" }, ne =
|
|
|
97
101
|
const t = b("APP_DATA"), { isSidebarToggled: r } = t;
|
|
98
102
|
return (n, o) => (a(), l("main", {
|
|
99
103
|
class: p([
|
|
100
|
-
"bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pb-9
|
|
104
|
+
"bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pt-24 pb-9 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",
|
|
101
105
|
d(r) ? "overflow-hidden rounded-t-xl sm:rounded-none" : "sm:rounded-tl-2xl"
|
|
102
106
|
])
|
|
103
107
|
}, [
|
|
104
108
|
i(n.$slots, "default")
|
|
105
109
|
], 2));
|
|
106
110
|
}
|
|
107
|
-
},
|
|
111
|
+
}, k = (e, t) => {
|
|
108
112
|
const r = e.__vccOpts || e;
|
|
109
113
|
for (const [n, o] of t)
|
|
110
114
|
r[n] = o;
|
|
@@ -115,19 +119,19 @@ function fe(e, t) {
|
|
|
115
119
|
i(e.$slots, "default")
|
|
116
120
|
]);
|
|
117
121
|
}
|
|
118
|
-
const he = /* @__PURE__ */
|
|
122
|
+
const he = /* @__PURE__ */ k(me, [["render", fe]]), ve = { class: "shrink-0" }, xe = {
|
|
119
123
|
__name: "AppNavTab",
|
|
120
124
|
props: {
|
|
121
125
|
to: { type: String, required: !0 }
|
|
122
126
|
},
|
|
123
127
|
setup(e) {
|
|
124
128
|
const t = e;
|
|
125
|
-
return
|
|
126
|
-
|
|
129
|
+
return v(null), (r, n) => (a(), l("div", ve, [
|
|
130
|
+
x(d(P), {
|
|
127
131
|
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
132
|
to: t.to
|
|
129
133
|
}, {
|
|
130
|
-
default:
|
|
134
|
+
default: m(() => [
|
|
131
135
|
i(r.$slots, "default"),
|
|
132
136
|
n[0] || (n[0] = c("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))
|
|
133
137
|
]),
|
|
@@ -140,14 +144,14 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
140
144
|
__name: "AppSidebar",
|
|
141
145
|
setup(e) {
|
|
142
146
|
const t = b("APP_DATA"), { isSidebarToggled: r, toggleSidebar: n } = t;
|
|
143
|
-
return (o, s) => (a(), l(
|
|
147
|
+
return (o, s) => (a(), l(D, null, [
|
|
144
148
|
c("aside", _e, [
|
|
145
149
|
i(o.$slots, "default", {}, void 0, !0)
|
|
146
150
|
]),
|
|
147
|
-
(a(),
|
|
151
|
+
(a(), g(E, { to: "body" }, [
|
|
148
152
|
c("div", {
|
|
149
153
|
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",
|
|
150
|
-
style:
|
|
154
|
+
style: U(
|
|
151
155
|
d(r) ? "transform: translateZ(0)" : "transform: translate3d(0,60svh,0)"
|
|
152
156
|
)
|
|
153
157
|
}, [
|
|
@@ -163,15 +167,15 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
163
167
|
]))
|
|
164
168
|
], 64));
|
|
165
169
|
}
|
|
166
|
-
}, ke = /* @__PURE__ */
|
|
170
|
+
}, ke = /* @__PURE__ */ k(ye, [["__scopeId", "data-v-aaece1c7"]]), Ce = { class: "flex flex-col" }, we = {
|
|
167
171
|
__name: "AppSidebarItem",
|
|
168
172
|
setup(e) {
|
|
169
|
-
|
|
170
|
-
const t =
|
|
173
|
+
q();
|
|
174
|
+
const t = v(!1);
|
|
171
175
|
function r() {
|
|
172
176
|
t.value = !t.value;
|
|
173
177
|
}
|
|
174
|
-
return
|
|
178
|
+
return T("SIDEBAR_TOGGLE", { toggled: t, toggleSidebarItem: r }), (n, o) => (a(), l("div", Ce, [
|
|
175
179
|
i(n.$slots, "default")
|
|
176
180
|
]));
|
|
177
181
|
}
|
|
@@ -182,12 +186,12 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
182
186
|
},
|
|
183
187
|
setup(e) {
|
|
184
188
|
const t = e;
|
|
185
|
-
return (r, n) => typeof t.to == "object" || t.to.startsWith("/") ? (a(),
|
|
189
|
+
return (r, n) => typeof t.to == "object" || t.to.startsWith("/") ? (a(), g(d(P), {
|
|
186
190
|
key: 0,
|
|
187
191
|
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 rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all [&.router-link-exact-active]:font-medium",
|
|
188
192
|
to: t.to
|
|
189
193
|
}, {
|
|
190
|
-
default:
|
|
194
|
+
default: m(() => [
|
|
191
195
|
i(r.$slots, "default")
|
|
192
196
|
]),
|
|
193
197
|
_: 3
|
|
@@ -209,7 +213,7 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
209
213
|
i(n.$slots, "default")
|
|
210
214
|
], 2));
|
|
211
215
|
}
|
|
212
|
-
}, Te = { class: "link group/sidebar-item hover:bg-background-main has-[&.router-link-active]:
|
|
216
|
+
}, Te = { class: "link group/sidebar-item hover:bg-background-main peer has-[&.router-link-active]:from-brand-primary-50 has-[&.router-link-active]:to-brand-primary-100 flex h-10 items-center justify-between rounded-lg px-3 transition-all has-[&.router-link-active]:bg-gradient-to-br" }, Ie = ["href"], Be = {
|
|
213
217
|
__name: "AppSidebarItemParent",
|
|
214
218
|
props: {
|
|
215
219
|
to: { type: [String, Object], required: !0 },
|
|
@@ -217,21 +221,21 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
217
221
|
hasChildren: { type: Boolean, default: !1 }
|
|
218
222
|
},
|
|
219
223
|
setup(e) {
|
|
220
|
-
const t =
|
|
221
|
-
function
|
|
224
|
+
const t = q(), r = e, n = b("SIDEBAR_TOGGLE"), o = b("APP_DATA"), { toggled: s, toggleSidebarItem: u } = n, { toggleSidebar: f } = o;
|
|
225
|
+
function $() {
|
|
222
226
|
t.matched.some(
|
|
223
|
-
(
|
|
227
|
+
(h) => r.name === h.name
|
|
224
228
|
) ? s.value = !0 : s.value = !1;
|
|
225
229
|
}
|
|
226
|
-
return
|
|
227
|
-
typeof r.to == "object" || r.to.startsWith("/") ? (a(),
|
|
230
|
+
return Y(t, () => $(), { immediate: !0 }), (C, h) => (a(), l("div", Te, [
|
|
231
|
+
typeof r.to == "object" || r.to.startsWith("/") ? (a(), g(d(P), {
|
|
228
232
|
key: 0,
|
|
229
|
-
onClick:
|
|
230
|
-
class: "[&.router-link-active]:text-primary-
|
|
233
|
+
onClick: h[0] || (h[0] = (B) => d(f)()),
|
|
234
|
+
class: "[&.router-link-active]:text-primary-700 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",
|
|
231
235
|
to: r.to
|
|
232
236
|
}, {
|
|
233
|
-
default:
|
|
234
|
-
i(
|
|
237
|
+
default: m(() => [
|
|
238
|
+
i(C.$slots, "default")
|
|
235
239
|
]),
|
|
236
240
|
_: 3
|
|
237
241
|
}, 8, ["to"])) : (a(), l("a", {
|
|
@@ -239,12 +243,12 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
239
243
|
class: "text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",
|
|
240
244
|
href: r.to
|
|
241
245
|
}, [
|
|
242
|
-
i(
|
|
246
|
+
i(C.$slots, "default")
|
|
243
247
|
], 8, Ie)),
|
|
244
248
|
r.hasChildren ? (a(), l("button", {
|
|
245
249
|
key: 2,
|
|
246
|
-
onClick:
|
|
247
|
-
class: "cursor-pointer rounded-full p-1 transition-all
|
|
250
|
+
onClick: h[1] || (h[1] = (B) => d(u)()),
|
|
251
|
+
class: "hover:bg-brand-primary-200 cursor-pointer rounded-full p-1 transition-all",
|
|
248
252
|
type: "button"
|
|
249
253
|
}, [
|
|
250
254
|
(a(), l("svg", {
|
|
@@ -257,25 +261,25 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
257
261
|
"stroke-width": "2",
|
|
258
262
|
"stroke-linecap": "round",
|
|
259
263
|
"stroke-linejoin": "round",
|
|
260
|
-
class: p(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300", { "rotate-180": d(s) }])
|
|
261
|
-
},
|
|
264
|
+
class: p(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-brand-primary-800 transition-all duration-300", { "rotate-180": d(s) }])
|
|
265
|
+
}, h[2] || (h[2] = [
|
|
262
266
|
c("path", { d: "m6 9 6 6 6-6" }, null, -1)
|
|
263
267
|
]), 2))
|
|
264
|
-
])) :
|
|
268
|
+
])) : _("", !0)
|
|
265
269
|
]));
|
|
266
270
|
}
|
|
267
|
-
}, De =
|
|
271
|
+
}, De = { 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" }, Re = {
|
|
268
272
|
__name: "AppSidebarToggle",
|
|
269
273
|
setup(e) {
|
|
270
274
|
const t = b("SIDEBAR_TOGGLE");
|
|
271
275
|
return (r, n) => {
|
|
272
|
-
const o =
|
|
273
|
-
return a(), l("div",
|
|
274
|
-
|
|
276
|
+
const o = Z("RouterLink");
|
|
277
|
+
return a(), l("div", De, [
|
|
278
|
+
x(o, {
|
|
275
279
|
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",
|
|
276
280
|
to: "/"
|
|
277
281
|
}, {
|
|
278
|
-
default:
|
|
282
|
+
default: m(() => [
|
|
279
283
|
i(r.$slots, "default")
|
|
280
284
|
]),
|
|
281
285
|
_: 3
|
|
@@ -303,21 +307,21 @@ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" },
|
|
|
303
307
|
]);
|
|
304
308
|
};
|
|
305
309
|
}
|
|
306
|
-
},
|
|
310
|
+
}, Ve = {}, Pe = {
|
|
307
311
|
key: 0,
|
|
308
312
|
class: "text-primary-950 px-1 text-sm font-medium"
|
|
309
|
-
},
|
|
310
|
-
function
|
|
313
|
+
}, Me = { class: "mt-2" };
|
|
314
|
+
function ze(e, t) {
|
|
311
315
|
return a(), l("nav", null, [
|
|
312
|
-
e.$slots.title ? (a(), l("b",
|
|
316
|
+
e.$slots.title ? (a(), l("b", Pe, [
|
|
313
317
|
i(e.$slots, "title")
|
|
314
|
-
])) :
|
|
315
|
-
c("div",
|
|
318
|
+
])) : _("", !0),
|
|
319
|
+
c("div", Me, [
|
|
316
320
|
i(e.$slots, "items")
|
|
317
321
|
])
|
|
318
322
|
]);
|
|
319
323
|
}
|
|
320
|
-
const
|
|
324
|
+
const je = /* @__PURE__ */ k(Ve, [["render", ze]]), W = {
|
|
321
325
|
/* ---------------- Solid Buttons ---------------- */
|
|
322
326
|
primary: {
|
|
323
327
|
backgroundColor: "bg-brand-primary-700",
|
|
@@ -406,7 +410,7 @@ const Ee = /* @__PURE__ */ h(Pe, [["render", je]]), L = {
|
|
|
406
410
|
backgroundColor: "bg-transparent",
|
|
407
411
|
textColor: "text-warning-600"
|
|
408
412
|
}
|
|
409
|
-
},
|
|
413
|
+
}, w = {
|
|
410
414
|
/* ---------------- Solid Buttons ---------------- */
|
|
411
415
|
primary: {
|
|
412
416
|
backgroundColor: "bg-gradient-to-br from-brand-primary-500 to-brand-primary-700",
|
|
@@ -545,7 +549,7 @@ const Ee = /* @__PURE__ */ h(Pe, [["render", je]]), L = {
|
|
|
545
549
|
hoverTextColor: "hover:text-warning-700",
|
|
546
550
|
focusRing: "focus:ring-warning-200"
|
|
547
551
|
}
|
|
548
|
-
},
|
|
552
|
+
}, Ee = {
|
|
549
553
|
__name: "Badge",
|
|
550
554
|
props: {
|
|
551
555
|
variant: { type: String, default: "primary" }
|
|
@@ -554,28 +558,28 @@ const Ee = /* @__PURE__ */ h(Pe, [["render", je]]), L = {
|
|
|
554
558
|
const t = e;
|
|
555
559
|
return (r, n) => (a(), l("div", {
|
|
556
560
|
class: p(["rounded-full px-3 py-1 text-xs font-medium", [
|
|
557
|
-
d(
|
|
558
|
-
d(
|
|
561
|
+
d(W)[t.variant].backgroundColor,
|
|
562
|
+
d(W)[t.variant].textColor
|
|
559
563
|
]])
|
|
560
564
|
}, [
|
|
561
565
|
i(r.$slots, "default")
|
|
562
566
|
], 2));
|
|
563
567
|
}
|
|
564
|
-
},
|
|
568
|
+
}, j = {
|
|
565
569
|
__name: "Button",
|
|
566
570
|
props: {
|
|
567
571
|
variant: { type: String, default: "primary" }
|
|
568
572
|
},
|
|
569
573
|
setup(e, { expose: t }) {
|
|
570
|
-
const r = e, n =
|
|
571
|
-
return t({ buttonRef: n }), (o, s) => (a(), l("button",
|
|
574
|
+
const r = e, n = v(null);
|
|
575
|
+
return t({ buttonRef: n }), (o, s) => (a(), l("button", y(o.$attrs, {
|
|
572
576
|
class: ["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-50 disabled:active:scale-100", [
|
|
573
|
-
d(
|
|
574
|
-
d(
|
|
575
|
-
d(
|
|
576
|
-
d(
|
|
577
|
-
d(
|
|
578
|
-
d(
|
|
577
|
+
d(w)[r.variant].backgroundColor,
|
|
578
|
+
d(w)[r.variant].borderColor,
|
|
579
|
+
d(w)[r.variant].textColor,
|
|
580
|
+
d(w)[r.variant].hoverBackgroundColor,
|
|
581
|
+
d(w)[r.variant].hoverTextColor,
|
|
582
|
+
d(w)[r.variant].focusRing
|
|
579
583
|
]],
|
|
580
584
|
ref_key: "buttonRef",
|
|
581
585
|
ref: n
|
|
@@ -583,13 +587,13 @@ const Ee = /* @__PURE__ */ h(Pe, [["render", je]]), L = {
|
|
|
583
587
|
i(o.$slots, "default")
|
|
584
588
|
], 16));
|
|
585
589
|
}
|
|
586
|
-
},
|
|
587
|
-
function
|
|
588
|
-
return a(), l("div",
|
|
590
|
+
}, Le = {}, Ge = { class: "rounded-2xl bg-white p-6" };
|
|
591
|
+
function Ne(e, t) {
|
|
592
|
+
return a(), l("div", Ge, [
|
|
589
593
|
i(e.$slots, "default")
|
|
590
594
|
]);
|
|
591
595
|
}
|
|
592
|
-
const
|
|
596
|
+
const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
|
|
593
597
|
__name: "Checkbox",
|
|
594
598
|
props: {
|
|
595
599
|
modelValue: {},
|
|
@@ -597,7 +601,7 @@ const M = /* @__PURE__ */ h(Ge, [["render", We]]), He = {
|
|
|
597
601
|
},
|
|
598
602
|
emits: ["update:modelValue"],
|
|
599
603
|
setup(e) {
|
|
600
|
-
const t =
|
|
604
|
+
const t = V(e, "modelValue"), r = v(null);
|
|
601
605
|
return (n, o) => (a(), l("button", {
|
|
602
606
|
onClick: o[1] || (o[1] = (s) => r.value.click()),
|
|
603
607
|
class: "group/checkbox has-checked:bg-brand-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm bg-neutral-200 transition-all duration-300 active:scale-[0.50] has-disabled:cursor-not-allowed has-disabled:opacity-50"
|
|
@@ -616,109 +620,109 @@ const M = /* @__PURE__ */ h(Ge, [["render", We]]), He = {
|
|
|
616
620
|
}, [
|
|
617
621
|
c("path", { d: "M20 6 9 17l-5-5" })
|
|
618
622
|
], -1)),
|
|
619
|
-
|
|
623
|
+
I(c("input", y(n.$attrs, {
|
|
620
624
|
"onUpdate:modelValue": o[0] || (o[0] = (s) => t.value = s),
|
|
621
625
|
type: "checkbox",
|
|
622
626
|
ref_key: "checkboxRef",
|
|
623
627
|
ref: r,
|
|
624
628
|
hidden: ""
|
|
625
629
|
}), null, 16), [
|
|
626
|
-
[
|
|
630
|
+
[J, t.value]
|
|
627
631
|
])
|
|
628
632
|
]));
|
|
629
633
|
}
|
|
630
|
-
},
|
|
634
|
+
}, He = {
|
|
631
635
|
__name: "Dialog",
|
|
632
636
|
setup(e) {
|
|
633
|
-
const t =
|
|
637
|
+
const t = v(!1);
|
|
634
638
|
function r() {
|
|
635
639
|
t.value = !t.value;
|
|
636
640
|
}
|
|
637
|
-
return
|
|
641
|
+
return T("DIALOG_META", { toggled: t, toggleDialog: r }), (n, o) => i(n.$slots, "default", {
|
|
638
642
|
toggled: t.value,
|
|
639
643
|
toggleDialog: r
|
|
640
644
|
});
|
|
641
645
|
}
|
|
642
|
-
},
|
|
646
|
+
}, G = {
|
|
643
647
|
__name: "DialogBackground",
|
|
644
648
|
setup(e) {
|
|
645
|
-
return
|
|
649
|
+
return X(() => {
|
|
646
650
|
document.querySelector("body").classList.add("overflow-hidden");
|
|
647
|
-
}),
|
|
651
|
+
}), Q(() => {
|
|
648
652
|
document.querySelector("body").classList.remove("overflow-hidden");
|
|
649
|
-
}), (t, r) => (a(), l("div",
|
|
653
|
+
}), (t, r) => (a(), l("div", y(t.$attrs, { class: "pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]" }), [
|
|
650
654
|
i(t.$slots, "default")
|
|
651
655
|
], 16));
|
|
652
656
|
}
|
|
653
|
-
},
|
|
657
|
+
}, Oe = {
|
|
654
658
|
__name: "DialogContent",
|
|
655
659
|
props: {
|
|
656
660
|
class: { type: String }
|
|
657
661
|
},
|
|
658
662
|
setup(e) {
|
|
659
663
|
const t = e, { toggled: r, toggleDialog: n } = b("DIALOG_META");
|
|
660
|
-
return (o, s) => (a(),
|
|
661
|
-
|
|
662
|
-
default:
|
|
663
|
-
d(r) ? (a(),
|
|
664
|
+
return (o, s) => (a(), g(E, { to: "body" }, [
|
|
665
|
+
x(R, { name: "fade-in" }, {
|
|
666
|
+
default: m(() => [
|
|
667
|
+
d(r) ? (a(), g(G, {
|
|
664
668
|
key: 0,
|
|
665
669
|
onClick: s[0] || (s[0] = (u) => d(n)()),
|
|
666
670
|
class: "z-[175]"
|
|
667
|
-
})) :
|
|
671
|
+
})) : _("", !0)
|
|
668
672
|
]),
|
|
669
673
|
_: 1
|
|
670
674
|
}),
|
|
671
|
-
|
|
672
|
-
default:
|
|
673
|
-
d(r) ? (a(),
|
|
675
|
+
x(R, { name: "fade-in-dialog" }, {
|
|
676
|
+
default: m(() => [
|
|
677
|
+
d(r) ? (a(), g(L, {
|
|
674
678
|
key: 0,
|
|
675
679
|
class: p(["fixed top-1/2 left-1/2 z-[200] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all", t.class])
|
|
676
680
|
}, {
|
|
677
|
-
default:
|
|
681
|
+
default: m(() => [
|
|
678
682
|
i(o.$slots, "default")
|
|
679
683
|
]),
|
|
680
684
|
_: 3
|
|
681
|
-
}, 8, ["class"])) :
|
|
685
|
+
}, 8, ["class"])) : _("", !0)
|
|
682
686
|
]),
|
|
683
687
|
_: 3
|
|
684
688
|
})
|
|
685
689
|
]));
|
|
686
690
|
}
|
|
687
|
-
},
|
|
691
|
+
}, Fe = {
|
|
688
692
|
__name: "DialogToggle",
|
|
689
693
|
setup(e) {
|
|
690
|
-
const t =
|
|
694
|
+
const t = H(), { toggleDialog: r } = b("DIALOG_META");
|
|
691
695
|
return (n, o) => {
|
|
692
696
|
var s, u;
|
|
693
|
-
return a(),
|
|
694
|
-
|
|
697
|
+
return a(), g(A(
|
|
698
|
+
S((u = (s = d(t)).default) == null ? void 0 : u.call(s)[0], {
|
|
695
699
|
onClick: d(r)
|
|
696
700
|
})
|
|
697
701
|
));
|
|
698
702
|
};
|
|
699
703
|
}
|
|
700
|
-
},
|
|
704
|
+
}, qe = { class: "flex flex-col items-center justify-center gap-8" }, Ue = { class: "flex items-center gap-2" }, Ye = {
|
|
701
705
|
__name: "Empty",
|
|
702
706
|
setup(e) {
|
|
703
|
-
return (t, r) => (a(), l("div",
|
|
704
|
-
r[2] || (r[2] =
|
|
705
|
-
c("div",
|
|
706
|
-
|
|
707
|
+
return (t, r) => (a(), l("div", qe, [
|
|
708
|
+
r[2] || (r[2] = K('<div class="flex max-w-xs flex-col items-center gap-2 text-center"><div class="bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" class="text-brand-primary-700 h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></div><b class="text-lg font-medium">No Projects Yet</b><p class="text-sm text-neutral-600"> You haven't created any projects yet. Get started by creating your first project. </p></div>', 1)),
|
|
709
|
+
c("div", Ue, [
|
|
710
|
+
x(j, {
|
|
707
711
|
class: "h-10",
|
|
708
712
|
variant: "outlined"
|
|
709
713
|
}, {
|
|
710
|
-
default:
|
|
711
|
-
|
|
714
|
+
default: m(() => r[0] || (r[0] = [
|
|
715
|
+
z("Import Project")
|
|
712
716
|
])),
|
|
713
717
|
_: 1,
|
|
714
718
|
__: [0]
|
|
715
719
|
}),
|
|
716
|
-
|
|
720
|
+
x(j, {
|
|
717
721
|
class: "h-10",
|
|
718
722
|
variant: "primary"
|
|
719
723
|
}, {
|
|
720
|
-
default:
|
|
721
|
-
|
|
724
|
+
default: m(() => r[1] || (r[1] = [
|
|
725
|
+
z("Create Project")
|
|
722
726
|
])),
|
|
723
727
|
_: 1,
|
|
724
728
|
__: [1]
|
|
@@ -726,23 +730,27 @@ const M = /* @__PURE__ */ h(Ge, [["render", We]]), He = {
|
|
|
726
730
|
])
|
|
727
731
|
]));
|
|
728
732
|
}
|
|
729
|
-
},
|
|
733
|
+
}, Ze = {
|
|
730
734
|
__name: "FormField",
|
|
731
735
|
props: {
|
|
736
|
+
invalid: { type: [Boolean, String] },
|
|
732
737
|
validate: { type: Boolean, default: !1 }
|
|
733
738
|
},
|
|
734
739
|
setup(e) {
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
740
|
+
const t = e, r = O(() => t.invalid === !0 || typeof t.invalid == "string" && t.invalid.trim() !== "");
|
|
741
|
+
return (n, o) => (a(), l("div", {
|
|
742
|
+
class: p(["group flex flex-col gap-2", { "invalid-form": r.value }])
|
|
743
|
+
}, [
|
|
744
|
+
i(n.$slots, "default")
|
|
745
|
+
], 2));
|
|
738
746
|
}
|
|
739
|
-
},
|
|
740
|
-
function
|
|
741
|
-
return a(), l("p",
|
|
747
|
+
}, Je = {}, Xe = { class: "text-danger-700 hidden h-0 text-xs opacity-0 transition-all group-has-user-invalid:mt-1 group-has-user-invalid:block group-has-user-invalid:h-4 group-has-user-invalid:opacity-100 group-[&.invalid-form]:mt-1 group-[&.invalid-form]:block group-[&.invalid-form]:h-4 group-[&.invalid-form]:opacity-100" };
|
|
748
|
+
function Qe(e, t) {
|
|
749
|
+
return a(), l("p", Xe, [
|
|
742
750
|
i(e.$slots, "default", {}, void 0, !0)
|
|
743
751
|
]);
|
|
744
752
|
}
|
|
745
|
-
const
|
|
753
|
+
const Ke = /* @__PURE__ */ k(Je, [["render", Qe], ["__scopeId", "data-v-39085694"]]), et = {
|
|
746
754
|
__name: "Input",
|
|
747
755
|
props: {
|
|
748
756
|
modelValue: {},
|
|
@@ -750,23 +758,23 @@ const tt = /* @__PURE__ */ h(Qe, [["render", et], ["__scopeId", "data-v-00088154
|
|
|
750
758
|
},
|
|
751
759
|
emits: ["update:modelValue"],
|
|
752
760
|
setup(e) {
|
|
753
|
-
const t =
|
|
754
|
-
return (r, n) =>
|
|
761
|
+
const t = V(e, "modelValue");
|
|
762
|
+
return (r, n) => I((a(), l("input", {
|
|
755
763
|
"onUpdate:modelValue": n[0] || (n[0] = (o) => t.value = o),
|
|
756
|
-
class: "text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
764
|
+
class: "group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none group-[&.invalid-form]:ring-2 placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
757
765
|
}, null, 512)), [
|
|
758
|
-
[
|
|
766
|
+
[F, t.value]
|
|
759
767
|
]);
|
|
760
768
|
}
|
|
761
|
-
},
|
|
762
|
-
function
|
|
763
|
-
return a(), l("label",
|
|
769
|
+
}, tt = {};
|
|
770
|
+
function rt(e, t) {
|
|
771
|
+
return a(), l("label", y(e.$attrs, { class: "text-primary-950 text-xs font-medium transition-all" }), [
|
|
764
772
|
i(e.$slots, "default")
|
|
765
773
|
], 16);
|
|
766
774
|
}
|
|
767
|
-
const
|
|
775
|
+
const ot = /* @__PURE__ */ k(tt, [["render", rt]]), nt = {
|
|
768
776
|
__name: "Radio",
|
|
769
|
-
props: /* @__PURE__ */
|
|
777
|
+
props: /* @__PURE__ */ ee({
|
|
770
778
|
variant: { type: String, default: "small" }
|
|
771
779
|
}, {
|
|
772
780
|
modelValue: {},
|
|
@@ -774,12 +782,12 @@ const at = /* @__PURE__ */ h(ot, [["render", nt]]), st = {
|
|
|
774
782
|
}),
|
|
775
783
|
emits: ["update:modelValue"],
|
|
776
784
|
setup(e) {
|
|
777
|
-
const t =
|
|
785
|
+
const t = V(e, "modelValue"), r = e, n = v(null), o = {
|
|
778
786
|
small: { outerCircleSize: "size-4", innerCircleSize: "size-2.5" },
|
|
779
787
|
large: { outerCircleSize: "size-5", innerCircleSize: "size-3" }
|
|
780
788
|
};
|
|
781
789
|
return (s, u) => (a(), l("button", {
|
|
782
|
-
onClick: u[1] || (u[1] = (
|
|
790
|
+
onClick: u[1] || (u[1] = (f) => n.value.click()),
|
|
783
791
|
class: p(["group/radio has-checked:border-brand-primary-700 flex cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent bg-neutral-100 duration-300 active:scale-[0.80] has-checked:bg-white", o[r.variant].outerCircleSize]),
|
|
784
792
|
role: "radio",
|
|
785
793
|
type: "button"
|
|
@@ -789,18 +797,18 @@ const at = /* @__PURE__ */ h(ot, [["render", nt]]), st = {
|
|
|
789
797
|
}, [
|
|
790
798
|
i(s.$slots, "default")
|
|
791
799
|
], 2),
|
|
792
|
-
|
|
793
|
-
"onUpdate:modelValue": u[0] || (u[0] = (
|
|
800
|
+
I(c("input", y(s.$attrs, {
|
|
801
|
+
"onUpdate:modelValue": u[0] || (u[0] = (f) => t.value = f),
|
|
794
802
|
type: "radio",
|
|
795
803
|
ref_key: "radioRef",
|
|
796
804
|
ref: n,
|
|
797
805
|
hidden: ""
|
|
798
806
|
}), null, 16), [
|
|
799
|
-
[
|
|
807
|
+
[te, t.value]
|
|
800
808
|
])
|
|
801
809
|
], 2));
|
|
802
810
|
}
|
|
803
|
-
},
|
|
811
|
+
}, at = "bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]", st = {
|
|
804
812
|
__name: "Select",
|
|
805
813
|
props: {
|
|
806
814
|
modelValue: {},
|
|
@@ -808,79 +816,79 @@ const at = /* @__PURE__ */ h(ot, [["render", nt]]), st = {
|
|
|
808
816
|
},
|
|
809
817
|
emits: ["update:modelValue"],
|
|
810
818
|
setup(e) {
|
|
811
|
-
const t =
|
|
812
|
-
return (r, n) =>
|
|
819
|
+
const t = V(e, "modelValue");
|
|
820
|
+
return (r, n) => I((a(), l("select", y(r.$attrs, {
|
|
813
821
|
"onUpdate:modelValue": n[0] || (n[0] = (o) => t.value = o),
|
|
814
|
-
class: ["text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none user-invalid:ring-2 focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
822
|
+
class: ["group-[&.invalid-form]:ring-danger-700 group-[&.invalid-form]:focus:ring-danger-700 text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50", at]
|
|
815
823
|
}), [
|
|
816
824
|
i(r.$slots, "default")
|
|
817
825
|
], 16)), [
|
|
818
|
-
[
|
|
826
|
+
[re, t.value]
|
|
819
827
|
]);
|
|
820
828
|
}
|
|
821
|
-
},
|
|
829
|
+
}, lt = {
|
|
822
830
|
__name: "Sheet",
|
|
823
831
|
setup(e) {
|
|
824
|
-
const t =
|
|
832
|
+
const t = v(!1);
|
|
825
833
|
function r() {
|
|
826
834
|
t.value = !t.value;
|
|
827
835
|
}
|
|
828
|
-
return
|
|
836
|
+
return T("SHEET_META", { toggled: t, toggleSheet: r }), (n, o) => i(n.$slots, "default", {
|
|
829
837
|
toggled: t.value,
|
|
830
838
|
toggleSheet: r
|
|
831
839
|
});
|
|
832
840
|
}
|
|
833
|
-
},
|
|
841
|
+
}, it = {
|
|
834
842
|
__name: "SheetContent",
|
|
835
843
|
props: {
|
|
836
844
|
class: { type: String }
|
|
837
845
|
},
|
|
838
846
|
setup(e) {
|
|
839
847
|
const t = e, { toggled: r, toggleSheet: n } = b("SHEET_META");
|
|
840
|
-
return (o, s) => (a(),
|
|
841
|
-
|
|
842
|
-
default:
|
|
843
|
-
d(r) ? (a(),
|
|
848
|
+
return (o, s) => (a(), g(E, { to: "body" }, [
|
|
849
|
+
x(R, { name: "fade-in" }, {
|
|
850
|
+
default: m(() => [
|
|
851
|
+
d(r) ? (a(), g(G, {
|
|
844
852
|
key: 0,
|
|
845
853
|
onClick: s[0] || (s[0] = (u) => d(n)())
|
|
846
|
-
})) :
|
|
854
|
+
})) : _("", !0)
|
|
847
855
|
]),
|
|
848
856
|
_: 1
|
|
849
857
|
}),
|
|
850
|
-
|
|
851
|
-
default:
|
|
852
|
-
d(r) ? (a(),
|
|
858
|
+
x(R, { name: "slide" }, {
|
|
859
|
+
default: m(() => [
|
|
860
|
+
d(r) ? (a(), g(L, {
|
|
853
861
|
key: 0,
|
|
854
862
|
class: p(["fixed top-1/2 right-0 z-[150] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl", t.class])
|
|
855
863
|
}, {
|
|
856
|
-
default:
|
|
864
|
+
default: m(() => [
|
|
857
865
|
i(o.$slots, "default")
|
|
858
866
|
]),
|
|
859
867
|
_: 3
|
|
860
|
-
}, 8, ["class"])) :
|
|
868
|
+
}, 8, ["class"])) : _("", !0)
|
|
861
869
|
]),
|
|
862
870
|
_: 3
|
|
863
871
|
})
|
|
864
872
|
]));
|
|
865
873
|
}
|
|
866
|
-
},
|
|
874
|
+
}, dt = {
|
|
867
875
|
__name: "SheetToggle",
|
|
868
876
|
setup(e) {
|
|
869
|
-
const t =
|
|
877
|
+
const t = H(), { toggleSheet: r } = b("SHEET_META");
|
|
870
878
|
return (n, o) => {
|
|
871
879
|
var s, u;
|
|
872
|
-
return a(),
|
|
873
|
-
|
|
880
|
+
return a(), g(A(
|
|
881
|
+
S((u = (s = d(t)).default) == null ? void 0 : u.call(s)[0], {
|
|
874
882
|
onClick: d(r)
|
|
875
883
|
})
|
|
876
884
|
));
|
|
877
885
|
};
|
|
878
886
|
}
|
|
879
|
-
},
|
|
880
|
-
function
|
|
881
|
-
return a(), l("div",
|
|
887
|
+
}, ct = {}, ut = { class: "bg-primary-100 animate-pulse rounded-lg" };
|
|
888
|
+
function gt(e, t) {
|
|
889
|
+
return a(), l("div", ut);
|
|
882
890
|
}
|
|
883
|
-
const
|
|
891
|
+
const pt = /* @__PURE__ */ k(ct, [["render", gt]]), mt = {
|
|
884
892
|
__name: "Switch",
|
|
885
893
|
props: ["modelValue"],
|
|
886
894
|
emits: ["update:modelValue"],
|
|
@@ -889,8 +897,8 @@ const bt = /* @__PURE__ */ h(gt, [["render", mt]]), ft = {
|
|
|
889
897
|
function o() {
|
|
890
898
|
r("update:modelValue", !n.modelValue);
|
|
891
899
|
}
|
|
892
|
-
return (s, u) => (a(), l("button",
|
|
893
|
-
onClick: u[0] || (u[0] = (
|
|
900
|
+
return (s, u) => (a(), l("button", y(s.$attrs, {
|
|
901
|
+
onClick: u[0] || (u[0] = (f) => o()),
|
|
894
902
|
class: [
|
|
895
903
|
"group/switch h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",
|
|
896
904
|
n.modelValue ? "from-brand-primary-600 to-brand-primary-700 bg-gradient-to-br" : "bg-neutral-200"
|
|
@@ -905,10 +913,10 @@ const bt = /* @__PURE__ */ h(gt, [["render", mt]]), ft = {
|
|
|
905
913
|
], 2)
|
|
906
914
|
], 16));
|
|
907
915
|
}
|
|
908
|
-
},
|
|
916
|
+
}, bt = { class: "w-full" }, ft = { class: "h-16" }, ht = { key: 0 }, vt = {
|
|
909
917
|
key: 0,
|
|
910
918
|
class: "pe-4"
|
|
911
|
-
},
|
|
919
|
+
}, xt = {
|
|
912
920
|
__name: "Table",
|
|
913
921
|
props: {
|
|
914
922
|
columns: { type: Array, required: !0 },
|
|
@@ -916,87 +924,87 @@ const bt = /* @__PURE__ */ h(gt, [["render", mt]]), ft = {
|
|
|
916
924
|
},
|
|
917
925
|
setup(e) {
|
|
918
926
|
const t = e;
|
|
919
|
-
return (r, n) => (a(), l("table",
|
|
927
|
+
return (r, n) => (a(), l("table", bt, [
|
|
920
928
|
c("thead", null, [
|
|
921
|
-
c("tr",
|
|
922
|
-
(a(!0), l(
|
|
929
|
+
c("tr", ft, [
|
|
930
|
+
(a(!0), l(D, null, M(t.columns, (o) => (a(), l("th", {
|
|
923
931
|
key: o.key,
|
|
924
932
|
class: "text-xs font-medium text-neutral-600 first-of-type:ps-4"
|
|
925
|
-
},
|
|
926
|
-
r.$slots.actions ? (a(), l("th",
|
|
933
|
+
}, N(o.label), 1))), 128)),
|
|
934
|
+
r.$slots.actions ? (a(), l("th", ht)) : _("", !0)
|
|
927
935
|
])
|
|
928
936
|
]),
|
|
929
937
|
c("tbody", null, [
|
|
930
|
-
(a(!0), l(
|
|
938
|
+
(a(!0), l(D, null, M(t.data, (o, s) => (a(), l("tr", {
|
|
931
939
|
key: s,
|
|
932
940
|
class: "odd:bg-background-main/50 hover:bg-background-main min-h-16 rounded-md transition-all"
|
|
933
941
|
}, [
|
|
934
|
-
(a(!0), l(
|
|
942
|
+
(a(!0), l(D, null, M(t.columns, (u) => (a(), l("td", {
|
|
935
943
|
key: u.key,
|
|
936
944
|
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"
|
|
937
945
|
}, [
|
|
938
946
|
i(r.$slots, u.key, { row: o }, () => [
|
|
939
|
-
|
|
947
|
+
z(N(o[u.key]), 1)
|
|
940
948
|
])
|
|
941
949
|
]))), 128)),
|
|
942
|
-
r.$slots.actions ? (a(), l("td",
|
|
950
|
+
r.$slots.actions ? (a(), l("td", vt, [
|
|
943
951
|
i(r.$slots, "actions", { row: o })
|
|
944
|
-
])) :
|
|
952
|
+
])) : _("", !0)
|
|
945
953
|
]))), 128))
|
|
946
954
|
])
|
|
947
955
|
]));
|
|
948
956
|
}
|
|
949
|
-
},
|
|
957
|
+
}, _t = { class: "overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden" }, yt = {
|
|
950
958
|
__name: "Tabs",
|
|
951
959
|
props: {
|
|
952
960
|
default: { default: null }
|
|
953
961
|
},
|
|
954
962
|
setup(e) {
|
|
955
|
-
const r =
|
|
963
|
+
const r = v(e.default);
|
|
956
964
|
function n(o) {
|
|
957
965
|
r.value = o;
|
|
958
966
|
}
|
|
959
|
-
return
|
|
967
|
+
return T("TAB_DATA", { currentValue: r, setCurrentValue: n }), (o, s) => (a(), l("div", _t, [
|
|
960
968
|
i(o.$slots, "default")
|
|
961
969
|
]));
|
|
962
970
|
}
|
|
963
|
-
},
|
|
971
|
+
}, kt = {
|
|
964
972
|
__name: "TabItem",
|
|
965
973
|
props: {
|
|
966
974
|
value: { required: !0 }
|
|
967
975
|
},
|
|
968
976
|
setup(e) {
|
|
969
|
-
const t = e, r = b("TAB_DATA"), { currentValue: n, setCurrentValue: o } = r, s =
|
|
977
|
+
const t = e, r = b("TAB_DATA"), { currentValue: n, setCurrentValue: o } = r, s = O(() => n.value === t.value ? [
|
|
970
978
|
"bg-white",
|
|
971
979
|
"font-medium",
|
|
972
980
|
"text-primary-700",
|
|
973
981
|
"shadow-xl",
|
|
974
982
|
"tab-active"
|
|
975
983
|
] : "text-neutral-600");
|
|
976
|
-
return (u,
|
|
977
|
-
onClick:
|
|
984
|
+
return (u, f) => (a(), l("button", {
|
|
985
|
+
onClick: f[0] || (f[0] = ($) => d(o)(t.value)),
|
|
978
986
|
class: p(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", s.value])
|
|
979
987
|
}, [
|
|
980
988
|
i(u.$slots, "default", {}, void 0, !0)
|
|
981
989
|
], 2));
|
|
982
990
|
}
|
|
983
|
-
},
|
|
991
|
+
}, Ct = /* @__PURE__ */ k(kt, [["__scopeId", "data-v-9e06f71f"]]), wt = {
|
|
984
992
|
__name: "TextArea",
|
|
985
993
|
props: ["modelValue"],
|
|
986
994
|
setup(e) {
|
|
987
|
-
const r =
|
|
988
|
-
return (n, o) =>
|
|
995
|
+
const r = v(e.modelValue);
|
|
996
|
+
return (n, o) => I((a(), l("textarea", y({
|
|
989
997
|
onInput: o[0] || (o[0] = (s) => n.$emit("update:modelValue", s.target.value))
|
|
990
998
|
}, n.$attrs, {
|
|
991
999
|
"onUpdate:modelValue": o[1] || (o[1] = (s) => r.value = s),
|
|
992
1000
|
class: "text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
993
1001
|
}), null, 16)), [
|
|
994
|
-
[
|
|
1002
|
+
[F, r.value]
|
|
995
1003
|
]);
|
|
996
1004
|
}
|
|
997
|
-
},
|
|
1005
|
+
}, St = {
|
|
998
1006
|
install(e) {
|
|
999
|
-
e.component("AppHeader", le), e.component("AppHeaderLink", de), e.component("AppLayout", ge), e.component("AppMain", pe), e.component("AppNavTabs", he), e.component("AppNavTab",
|
|
1007
|
+
e.component("AppHeader", le), e.component("AppHeaderLink", de), e.component("AppLayout", ge), e.component("AppMain", pe), e.component("AppNavTabs", he), e.component("AppNavTab", xe), e.component("AppSidebar", ke), e.component("AppSidebarItem", we), e.component("AppSidebarItemChild", Ae), e.component("AppSidebarItemChildren", Se), e.component("AppSidebarItemParent", Be), e.component("AppSidebarToggle", Re), e.component("AppSidebarNavSection", je), e.component("Badge", Ee), e.component("Button", j), e.component("Checkbox", We), e.component("Card", L), e.component("Dialog", He), e.component("DialogContent", Oe), e.component("DialogToggle", Fe), e.component("DialogBackground", G), e.component("Empty", Ye), e.component("FormField", Ze), e.component("FormFieldError", Ke), e.component("Input", et), e.component("Label", ot), e.component("Radio", nt), e.component("Select", st), e.component("Sheet", lt), e.component("SheetContent", it), e.component("SheetToggle", dt), e.component("SkeletonLoader", pt), e.component("Switch", mt), e.component("Table", xt), e.component("Tabs", yt), e.component("TabItem", Ct), e.component("TextArea", wt);
|
|
1000
1008
|
}
|
|
1001
1009
|
};
|
|
1002
1010
|
export {
|
|
@@ -1004,38 +1012,38 @@ export {
|
|
|
1004
1012
|
de as AppHeaderLink,
|
|
1005
1013
|
ge as AppLayout,
|
|
1006
1014
|
pe as AppMain,
|
|
1007
|
-
|
|
1015
|
+
xe as AppNavTab,
|
|
1008
1016
|
he as AppNavTabs,
|
|
1009
1017
|
ke as AppSidebar,
|
|
1010
1018
|
we as AppSidebarItem,
|
|
1011
1019
|
Ae as AppSidebarItemChild,
|
|
1012
1020
|
Se as AppSidebarItemChildren,
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1021
|
+
Be as AppSidebarItemParent,
|
|
1022
|
+
je as AppSidebarNavSection,
|
|
1023
|
+
Re as AppSidebarToggle,
|
|
1024
|
+
Ee as Badge,
|
|
1025
|
+
j as Button,
|
|
1026
|
+
L as Card,
|
|
1027
|
+
We as Checkbox,
|
|
1028
|
+
He as Dialog,
|
|
1029
|
+
G as DialogBackground,
|
|
1030
|
+
Oe as DialogContent,
|
|
1031
|
+
Fe as DialogToggle,
|
|
1032
|
+
Ye as Empty,
|
|
1033
|
+
Ze as FormField,
|
|
1034
|
+
Ke as FormFieldError,
|
|
1035
|
+
et as Input,
|
|
1036
|
+
ot as Label,
|
|
1037
|
+
nt as Radio,
|
|
1038
|
+
st as Select,
|
|
1039
|
+
lt as Sheet,
|
|
1040
|
+
it as SheetContent,
|
|
1041
|
+
dt as SheetToggle,
|
|
1042
|
+
pt as SkeletonLoader,
|
|
1043
|
+
mt as Switch,
|
|
1044
|
+
Ct as TabItem,
|
|
1045
|
+
xt as Table,
|
|
1046
|
+
yt as Tabs,
|
|
1047
|
+
wt as TextArea,
|
|
1048
|
+
St as default
|
|
1041
1049
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(l,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):(l=typeof globalThis<"u"?globalThis:l||self,e(l.ScrubbedTailwindComponentsV2={},l.Vue,l.vueRouter))})(this,function(l,e,m){"use strict";const ee={class:"container flex w-full items-center justify-between"},te={class:"flex items-center gap-2"},re={class:"flex items-center gap-10"},oe={class:"hidden gap-6 sm:flex"},k={__name:"AppHeader",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(["fixed top-0 flex h-16 w-dvw items-center justify-center bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(o)}])},[e.createElementVNode("nav",ee,[e.createElementVNode("div",te,[e.createElementVNode("button",{onClick:s[0]||(s[0]=c=>e.unref(a)()),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(n.$slots,"header-img")]),e.createElementVNode("div",re,[e.createElementVNode("ul",oe,[e.renderSlot(n.$slots,"header-links")]),e.renderSlot(n.$slots,"header-actions")])])],2))}},ne=["href"],_={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("li",null,[r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.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:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$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:r.to},[e.renderSlot(o.$slots,"default")],8,ne))]))}},ae={class:"relative"},le={class:"flex"},x={__name:"AppLayout",setup(t){const r=e.ref(!1);function o(){window.innerWidth<=640?(r.value=!r.value,a()):r.value&&(r.value=!1,a())}function a(){const n=document.querySelector("body");n.classList.contains("bg-black")?n.classList.remove("bg-black"):n.classList.add("bg-black")}return e.provide("APP_DATA",{isSidebarToggled:r,toggleSidebar:o}),(n,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":r.value}])},[e.createElementVNode("div",ae,[e.renderSlot(n.$slots,"header"),e.createElementVNode("div",le,[e.renderSlot(n.$slots,"content")])])],2))}},y={__name:"AppMain",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o}=r;return(a,n)=>(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(o)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(a.$slots,"default")],2))}},i=(t,r)=>{const o=t.__vccOpts||t;for(const[a,n]of r)o[a]=n;return o},se={},ce={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function ie(t,r){return e.openBlock(),e.createElementBlock("div",ce,[e.renderSlot(t.$slots,"default")])}const C=i(se,[["render",ie]]),de={class:"shrink-0"},w={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const r=t;return e.ref(null),(o,a)=>(e.openBlock(),e.createElementBlock("div",de,[e.createVNode(e.unref(m.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:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default"),a[0]||(a[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"])]))}},pe={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},B=i({__name:"AppSidebar",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",pe,[e.renderSlot(n.$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(o)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=c=>e.unref(a)()),class:e.normalizeClass(["backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",e.unref(o)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},[["__scopeId","data-v-aaece1c7"]]),me={class:"flex flex-col"},S={__name:"AppSidebarItem",setup(t){m.useRoute();const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SIDEBAR_TOGGLE",{toggled:r,toggleSidebarItem:o}),(a,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.renderSlot(a.$slots,"default")]))}},ge=["href"],$={__name:"AppSidebarItemChild",props:{to:{type:[String,Object],required:!0}},setup(t){const r=t;return(o,a)=>typeof r.to=="object"||r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.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 rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all [&.router-link-exact-active]:font-medium",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$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 rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all",href:r.to},[e.renderSlot(o.$slots,"default")],8,ge))}},A={__name:"AppSidebarItemChildren",setup(t){const r=e.inject("SIDEBAR_TOGGLE"),{toggled:o}=r;return(a,n)=>(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(o)}])},[e.renderSlot(a.$slots,"default")],2))}},ue={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"},be=["href"],E=i({__name:"AppSidebarItemParent",props:{to:{type:[String,Object],required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const r=m.useRoute(),o=t,a=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:c}=a,{toggleSidebar:d}=n;function v(){r.matched.some(p=>o.name===p.name)?s.value=!0:s.value=!1}return e.watch(r,()=>v(),{immediate:!0}),(h,p)=>(e.openBlock(),e.createElementBlock("div",ue,[typeof o.to=="object"||o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,onClick:p[0]||(p[0]=He=>e.unref(d)()),class:"[&.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:o.to},{default:e.withCtx(()=>[e.renderSlot(h.$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:o.to},[e.renderSlot(h.$slots,"default",{},void 0,!0)],8,be)),o.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:p[1]||(p[1]=He=>e.unref(c)()),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)}])},p[2]||(p[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-3b52e94a"]]),fe={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"},V={__name:"AppSidebarToggle",setup(t){const r=e.inject("SIDEBAR_TOGGLE");return(o,a)=>{const n=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(n,{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(o.$slots,"default")]),_:3}),e.createElementVNode("button",{onClick:a[0]||(a[0]=s=>e.unref(r).toggleSidebarItem()),class:"cursor-pointer",type:"button"},a[1]||(a[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)]))])}}},he={},ke={key:0,class:"text-primary-950 px-1 text-sm font-medium"},_e={class:"mt-2"};function xe(t,r){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",ke,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",_e,[e.renderSlot(t.$slots,"items")])])}const T=i(he,[["render",xe]]),N={primary:{backgroundColor:"bg-brand-primary-700",textColor:"text-white"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700"},success:{backgroundColor:"bg-success-400",textColor:"text-white"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600"}},g={primary:{backgroundColor:"bg-gradient-to-br from-brand-primary-500 to-brand-primary-700",textColor:"text-white",hoverBackgroundColor:"hover:from-brand-primary-700 hover:to-brand-primary-800",focusRing:"focus:ring-brand-primary-300"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-200",focusRing:"focus:ring-neutral-300"},success:{backgroundColor:"bg-success-400",textColor:"text-white",hoverBackgroundColor:"hover:bg-success-500",focusRing:"focus:ring-success-300"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white",hoverBackgroundColor:"hover:bg-danger-700",focusRing:"focus:ring-danger-300"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950",hoverBackgroundColor:"hover:bg-warning-600",focusRing:"focus:ring-warning-300"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-200",focusRing:"focus:ring-brand-primary-200"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700",hoverBackgroundColor:"hover:bg-primary-200",focusRing:"focus:ring-primary-200"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700",hoverBackgroundColor:"hover:bg-success-200",focusRing:"focus:ring-success-200"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700",hoverBackgroundColor:"hover:bg-danger-200",focusRing:"focus:ring-danger-200"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700",hoverBackgroundColor:"hover:bg-warning-200",focusRing:"focus:ring-warning-200"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"}},I={__name:"Badge",props:{variant:{type:String,default:"primary"}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["rounded-full px-3 py-1 text-xs font-medium",[e.unref(N)[r.variant].backgroundColor,e.unref(N)[r.variant].textColor]])},[e.renderSlot(o.$slots,"default")],2))}},u={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t,{expose:r}){const o=t,a=e.ref(null);return r({buttonRef:a}),(n,s)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(n.$attrs,{class:["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-50 disabled:active:scale-100",[e.unref(g)[o.variant].backgroundColor,e.unref(g)[o.variant].borderColor,e.unref(g)[o.variant].textColor,e.unref(g)[o.variant].hoverBackgroundColor,e.unref(g)[o.variant].hoverTextColor,e.unref(g)[o.variant].focusRing]],ref_key:"buttonRef",ref:a}),[e.renderSlot(n.$slots,"default")],16))}},ye={},Ce={class:"rounded-2xl bg-white p-6"};function we(t,r){return e.openBlock(),e.createElementBlock("div",Ce,[e.renderSlot(t.$slots,"default")])}const b=i(ye,[["render",we]]),D={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=e.ref(null);return(a,n)=>(e.openBlock(),e.createElementBlock("button",{onClick:n[1]||(n[1]=s=>o.value.click()),class:"group/checkbox has-checked:bg-brand-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm bg-neutral-200 transition-all duration-300 active:scale-[0.50] has-disabled:cursor-not-allowed has-disabled:opacity-50"},[n[2]||(n[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 scale-0 stroke-white opacity-0 group-has-[:checked]/checkbox:scale-100 group-has-[:checked]/checkbox:opacity-100"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(a.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"checkbox",ref_key:"checkboxRef",ref:o,hidden:""}),null,16),[[e.vModelCheckbox,r.value]])]))}},R={__name:"Dialog",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("DIALOG_META",{toggled:r,toggleDialog:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleDialog:o})}},f={__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(r,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(r.$attrs,{class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]"}),[e.renderSlot(r.$slots,"default")],16))}},P={__name:"DialogContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleDialog:a}=e.inject("DIALOG_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(f,{key:0,onClick:s[0]||(s[0]=c=>e.unref(a)()),class:"z-[175]"})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade-in-dialog"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(b,{key:0,class:e.normalizeClass(["fixed top-1/2 left-1/2 z-[200] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},j={__name:"DialogToggle",setup(t){const r=e.useSlots(),{toggleDialog:o}=e.inject("DIALOG_META");return(a,n)=>{var s,c;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((c=(s=e.unref(r)).default)==null?void 0:c.call(s)[0],{onClick:e.unref(o)})))}}},Be={class:"flex flex-col items-center justify-center gap-8"},Se={class:"flex items-center gap-2"},z={__name:"Empty",setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Be,[o[2]||(o[2]=e.createStaticVNode('<div class="flex max-w-xs flex-col items-center gap-2 text-center"><div class="bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" class="text-brand-primary-700 h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></div><b class="text-lg font-medium">No Projects Yet</b><p class="text-sm text-neutral-600"> You haven't created any projects yet. Get started by creating your first project. </p></div>',1)),e.createElementVNode("div",Se,[e.createVNode(u,{class:"h-10",variant:"outlined"},{default:e.withCtx(()=>o[0]||(o[0]=[e.createTextVNode("Import Project")])),_:1,__:[0]}),e.createVNode(u,{class:"h-10",variant:"primary"},{default:e.withCtx(()=>o[1]||(o[1]=[e.createTextVNode("Create Project")])),_:1,__:[1]})])]))}},$e={class:"group flex flex-col gap-2"},M={__name:"FormField",props:{validate:{type:Boolean,default:!1}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",$e,[e.renderSlot(r.$slots,"default")]))}},Ae={},Ee={class:"text-danger-700 hidden h-0 text-xs opacity-0 transition-all group-has-user-invalid:mt-1 group-has-user-invalid:block group-has-user-invalid:h-4 group-has-user-invalid:opacity-100"};function Ve(t,r){return e.openBlock(),e.createElementBlock("p",Ee,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const L=i(Ae,[["render",Ve],["__scopeId","data-v-00088154"]]),G={__name:"Input",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:"text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"},null,512)),[[e.vModelText,r.value]])}},Te={};function Ne(t,r){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-xs font-medium transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const W=i(Te,[["render",Ne]]),H={__name:"Radio",props:e.mergeModels({variant:{type:String,default:"small"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=t,a=e.ref(null),n={small:{outerCircleSize:"size-4",innerCircleSize:"size-2.5"},large:{outerCircleSize:"size-5",innerCircleSize:"size-3"}};return(s,c)=>(e.openBlock(),e.createElementBlock("button",{onClick:c[1]||(c[1]=d=>a.value.click()),class:e.normalizeClass(["group/radio has-checked:border-brand-primary-700 flex cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent bg-neutral-100 duration-300 active:scale-[0.80] has-checked:bg-white",n[o.variant].outerCircleSize]),role:"radio",type:"button"},[e.createElementVNode("div",{class:e.normalizeClass(["group-has-checked/radio:bg-brand-primary-700 grid place-items-center rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100",n[o.variant].innerCircleSize])},[e.renderSlot(s.$slots,"default")],2),e.withDirectives(e.createElementVNode("input",e.mergeProps(s.$attrs,{"onUpdate:modelValue":c[0]||(c[0]=d=>r.value=d),type:"radio",ref_key:"radioRef",ref:a,hidden:""}),null,16),[[e.vModelRadio,r.value]])],2))}},Ie="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",F={__name:"Select",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:["text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none user-invalid:ring-2 focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50",Ie]}),[e.renderSlot(o.$slots,"default")],16)),[[e.vModelSelect,r.value]])}},q={__name:"Sheet",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SHEET_META",{toggled:r,toggleSheet:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleSheet:o})}},O={__name:"SheetContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleSheet:a}=e.inject("SHEET_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(f,{key:0,onClick:s[0]||(s[0]=c=>e.unref(a)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"slide"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(b,{key:0,class:e.normalizeClass(["fixed top-1/2 right-0 z-[150] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},U={__name:"SheetToggle",setup(t){const r=e.useSlots(),{toggleSheet:o}=e.inject("SHEET_META");return(a,n)=>{var s,c;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((c=(s=e.unref(r)).default)==null?void 0:c.call(s)[0],{onClick:e.unref(o)})))}}},De={},Re={class:"bg-primary-100 animate-pulse rounded-lg"};function Pe(t,r){return e.openBlock(),e.createElementBlock("div",Re)}const Y=i(De,[["render",Pe]]),Z={__name:"Switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=r,a=t;function n(){o("update:modelValue",!a.modelValue)}return(s,c)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(s.$attrs,{onClick:c[0]||(c[0]=d=>n()),class:["group/switch h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",a.modelValue?"from-brand-primary-600 to-brand-primary-700 bg-gradient-to-br":"bg-neutral-200"],role:"switch",type:"button"}),[e.createElementVNode("span",{class:e.normalizeClass(["pointer-events-none flex size-4 items-center justify-center rounded-full bg-white shadow-md transition-all duration-300",{"translate-x-full":a.modelValue}])},[e.renderSlot(s.$slots,"icon")],2)],16))}},je={class:"w-full"},ze={class:"h-16"},Me={key:0},Le={key:0,class:"pe-4"},J={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("table",je,[e.createElementVNode("thead",null,[e.createElementVNode("tr",ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.columns,n=>(e.openBlock(),e.createElementBlock("th",{key:n.key,class:"text-xs font-medium text-neutral-600 first-of-type:ps-4"},e.toDisplayString(n.label),1))),128)),o.$slots.actions?(e.openBlock(),e.createElementBlock("th",Me)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.data,(n,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(r.columns,c=>(e.openBlock(),e.createElementBlock("td",{key:c.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(o.$slots,c.key,{row:n},()=>[e.createTextVNode(e.toDisplayString(n[c.key]),1)])]))),128)),o.$slots.actions?(e.openBlock(),e.createElementBlock("td",Le,[e.renderSlot(o.$slots,"actions",{row:n})])):e.createCommentVNode("",!0)]))),128))])]))}},Ge={class:"overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden"},X={__name:"Tabs",props:{default:{default:null}},setup(t){const r=t,o=e.ref(r.default);function a(n){o.value=n}return e.provide("TAB_DATA",{currentValue:o,setCurrentValue:a}),(n,s)=>(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(n.$slots,"default")]))}},Q=i({__name:"TabItem",props:{value:{required:!0}},setup(t){const r=t,o=e.inject("TAB_DATA"),{currentValue:a,setCurrentValue:n}=o,s=e.computed(()=>a.value===r.value?["bg-white","font-medium","text-primary-700","shadow-xl","tab-active"]:"text-neutral-600");return(c,d)=>(e.openBlock(),e.createElementBlock("button",{onClick:d[0]||(d[0]=v=>e.unref(n)(r.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(c.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-9e06f71f"]]),K={__name:"TextArea",props:["modelValue"],setup(t){const r=t,o=e.ref(r.modelValue);return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:n[0]||(n[0]=s=>a.$emit("update:modelValue",s.target.value))},a.$attrs,{"onUpdate:modelValue":n[1]||(n[1]=s=>o.value=s),class:"text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"}),null,16)),[[e.vModelText,o.value]])}},We={install(t){t.component("AppHeader",k),t.component("AppHeaderLink",_),t.component("AppLayout",x),t.component("AppMain",y),t.component("AppNavTabs",C),t.component("AppNavTab",w),t.component("AppSidebar",B),t.component("AppSidebarItem",S),t.component("AppSidebarItemChild",$),t.component("AppSidebarItemChildren",A),t.component("AppSidebarItemParent",E),t.component("AppSidebarToggle",V),t.component("AppSidebarNavSection",T),t.component("Badge",I),t.component("Button",u),t.component("Checkbox",D),t.component("Card",b),t.component("Dialog",R),t.component("DialogContent",P),t.component("DialogToggle",j),t.component("DialogBackground",f),t.component("Empty",z),t.component("FormField",M),t.component("FormFieldError",L),t.component("Input",G),t.component("Label",W),t.component("Radio",H),t.component("Select",F),t.component("Sheet",q),t.component("SheetContent",O),t.component("SheetToggle",U),t.component("SkeletonLoader",Y),t.component("Switch",Z),t.component("Table",J),t.component("Tabs",X),t.component("TabItem",Q),t.component("TextArea",K)}};l.AppHeader=k,l.AppHeaderLink=_,l.AppLayout=x,l.AppMain=y,l.AppNavTab=w,l.AppNavTabs=C,l.AppSidebar=B,l.AppSidebarItem=S,l.AppSidebarItemChild=$,l.AppSidebarItemChildren=A,l.AppSidebarItemParent=E,l.AppSidebarNavSection=T,l.AppSidebarToggle=V,l.Badge=I,l.Button=u,l.Card=b,l.Checkbox=D,l.Dialog=R,l.DialogBackground=f,l.DialogContent=P,l.DialogToggle=j,l.Empty=z,l.FormField=M,l.FormFieldError=L,l.Input=G,l.Label=W,l.Radio=H,l.Select=F,l.Sheet=q,l.SheetContent=O,l.SheetToggle=U,l.SkeletonLoader=Y,l.Switch=Z,l.TabItem=Q,l.Table=J,l.Tabs=X,l.TextArea=K,l.default=We,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(l,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):(l=typeof globalThis<"u"?globalThis:l||self,e(l.ScrubbedTailwindComponentsV2={},l.Vue,l.vueRouter))})(this,function(l,e,m){"use strict";const te={class:"flex w-full items-center justify-between"},re={class:"flex items-center gap-2"},oe={class:"flex items-center gap-10"},ne={class:"hidden gap-6 sm:flex"},_={__name:"AppHeader",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(["fixed top-0 flex h-16 w-dvw items-center justify-center bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(o)}])},[e.createElementVNode("nav",te,[e.createElementVNode("div",re,[e.createElementVNode("button",{onClick:s[0]||(s[0]=i=>e.unref(a)()),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(n.$slots,"header-img")]),e.createElementVNode("div",oe,[e.createElementVNode("ul",ne,[e.renderSlot(n.$slots,"header-links")]),e.renderSlot(n.$slots,"header-actions")])])],2))}},ae=["href"],y={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("li",null,[r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.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:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$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:r.to},[e.renderSlot(o.$slots,"default")],8,ae))]))}},le={class:"relative"},se={class:"flex"},C={__name:"AppLayout",setup(t){const r=e.ref(!1);function o(){window.innerWidth<=640?(r.value=!r.value,a()):r.value&&(r.value=!1,a())}function a(){const n=document.querySelector("body");n.classList.contains("bg-black")?n.classList.remove("bg-black"):n.classList.add("bg-black")}return e.provide("APP_DATA",{isSidebarToggled:r,toggleSidebar:o}),(n,s)=>{var i,c,b,u,d,x;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]",{"origin-[center_top] translate-y-4 scale-93":r.value}])},[e.createElementVNode("div",le,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((c=(i=n.$slots).default)==null?void 0:c.call(i)[0])))),e.createElementVNode("div",se,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((u=(b=n.$slots).default)==null?void 0:u.call(b)[1])))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((x=(d=n.$slots).default)==null?void 0:x.call(d)[2]))))])])],2)}}},B={__name:"AppMain",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o}=r;return(a,n)=>(e.openBlock(),e.createElementBlock("main",{class:e.normalizeClass(["bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pt-24 pb-9 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",e.unref(o)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(a.$slots,"default")],2))}},p=(t,r)=>{const o=t.__vccOpts||t;for(const[a,n]of r)o[a]=n;return o},ie={},ce={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function de(t,r){return e.openBlock(),e.createElementBlock("div",ce,[e.renderSlot(t.$slots,"default")])}const w=p(ie,[["render",de]]),pe={class:"shrink-0"},S={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const r=t;return e.ref(null),(o,a)=>(e.openBlock(),e.createElementBlock("div",pe,[e.createVNode(e.unref(m.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:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default"),a[0]||(a[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"])]))}},me={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},$=p({__name:"AppSidebar",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",me,[e.renderSlot(n.$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(o)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=i=>e.unref(a)()),class:e.normalizeClass(["backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",e.unref(o)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},[["__scopeId","data-v-aaece1c7"]]),ge={class:"flex flex-col"},E={__name:"AppSidebarItem",setup(t){m.useRoute();const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SIDEBAR_TOGGLE",{toggled:r,toggleSidebarItem:o}),(a,n)=>(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(a.$slots,"default")]))}},ue=["href"],A={__name:"AppSidebarItemChild",props:{to:{type:[String,Object],required:!0}},setup(t){const r=t;return(o,a)=>typeof r.to=="object"||r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.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 rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all [&.router-link-exact-active]:font-medium",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$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 rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all",href:r.to},[e.renderSlot(o.$slots,"default")],8,ue))}},V={__name:"AppSidebarItemChildren",setup(t){const r=e.inject("SIDEBAR_TOGGLE"),{toggled:o}=r;return(a,n)=>(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(o)}])},[e.renderSlot(a.$slots,"default")],2))}},be={class:"link group/sidebar-item hover:bg-background-main peer has-[&.router-link-active]:from-brand-primary-50 has-[&.router-link-active]:to-brand-primary-100 flex h-10 items-center justify-between rounded-lg px-3 transition-all has-[&.router-link-active]:bg-gradient-to-br"},fe=["href"],T={__name:"AppSidebarItemParent",props:{to:{type:[String,Object],required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const r=m.useRoute(),o=t,a=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:i}=a,{toggleSidebar:c}=n;function b(){r.matched.some(d=>o.name===d.name)?s.value=!0:s.value=!1}return e.watch(r,()=>b(),{immediate:!0}),(u,d)=>(e.openBlock(),e.createElementBlock("div",be,[typeof o.to=="object"||o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,onClick:d[0]||(d[0]=x=>e.unref(c)()),class:"[&.router-link-active]:text-primary-700 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(u.$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:o.to},[e.renderSlot(u.$slots,"default")],8,fe)),o.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:d[1]||(d[1]=x=>e.unref(i)()),class:"hover:bg-brand-primary-200 cursor-pointer rounded-full p-1 transition-all",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-brand-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)]))}},he={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"},N={__name:"AppSidebarToggle",setup(t){const r=e.inject("SIDEBAR_TOGGLE");return(o,a)=>{const n=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",he,[e.createVNode(n,{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(o.$slots,"default")]),_:3}),e.createElementVNode("button",{onClick:a[0]||(a[0]=s=>e.unref(r).toggleSidebarItem()),class:"cursor-pointer",type:"button"},a[1]||(a[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)]))])}}},ke={},xe={key:0,class:"text-primary-950 px-1 text-sm font-medium"},_e={class:"mt-2"};function ye(t,r){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",xe,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",_e,[e.renderSlot(t.$slots,"items")])])}const D=p(ke,[["render",ye]]),I={primary:{backgroundColor:"bg-brand-primary-700",textColor:"text-white"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700"},success:{backgroundColor:"bg-success-400",textColor:"text-white"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600"}},g={primary:{backgroundColor:"bg-gradient-to-br from-brand-primary-500 to-brand-primary-700",textColor:"text-white",hoverBackgroundColor:"hover:from-brand-primary-700 hover:to-brand-primary-800",focusRing:"focus:ring-brand-primary-300"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-200",focusRing:"focus:ring-neutral-300"},success:{backgroundColor:"bg-success-400",textColor:"text-white",hoverBackgroundColor:"hover:bg-success-500",focusRing:"focus:ring-success-300"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white",hoverBackgroundColor:"hover:bg-danger-700",focusRing:"focus:ring-danger-300"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950",hoverBackgroundColor:"hover:bg-warning-600",focusRing:"focus:ring-warning-300"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-200",focusRing:"focus:ring-brand-primary-200"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700",hoverBackgroundColor:"hover:bg-primary-200",focusRing:"focus:ring-primary-200"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700",hoverBackgroundColor:"hover:bg-success-200",focusRing:"focus:ring-success-200"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700",hoverBackgroundColor:"hover:bg-danger-200",focusRing:"focus:ring-danger-200"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700",hoverBackgroundColor:"hover:bg-warning-200",focusRing:"focus:ring-warning-200"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"}},R={__name:"Badge",props:{variant:{type:String,default:"primary"}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["rounded-full px-3 py-1 text-xs font-medium",[e.unref(I)[r.variant].backgroundColor,e.unref(I)[r.variant].textColor]])},[e.renderSlot(o.$slots,"default")],2))}},f={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t,{expose:r}){const o=t,a=e.ref(null);return r({buttonRef:a}),(n,s)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(n.$attrs,{class:["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-50 disabled:active:scale-100",[e.unref(g)[o.variant].backgroundColor,e.unref(g)[o.variant].borderColor,e.unref(g)[o.variant].textColor,e.unref(g)[o.variant].hoverBackgroundColor,e.unref(g)[o.variant].hoverTextColor,e.unref(g)[o.variant].focusRing]],ref_key:"buttonRef",ref:a}),[e.renderSlot(n.$slots,"default")],16))}},Ce={},Be={class:"rounded-2xl bg-white p-6"};function we(t,r){return e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(t.$slots,"default")])}const h=p(Ce,[["render",we]]),P={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=e.ref(null);return(a,n)=>(e.openBlock(),e.createElementBlock("button",{onClick:n[1]||(n[1]=s=>o.value.click()),class:"group/checkbox has-checked:bg-brand-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm bg-neutral-200 transition-all duration-300 active:scale-[0.50] has-disabled:cursor-not-allowed has-disabled:opacity-50"},[n[2]||(n[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 scale-0 stroke-white opacity-0 group-has-[:checked]/checkbox:scale-100 group-has-[:checked]/checkbox:opacity-100"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(a.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"checkbox",ref_key:"checkboxRef",ref:o,hidden:""}),null,16),[[e.vModelCheckbox,r.value]])]))}},z={__name:"Dialog",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("DIALOG_META",{toggled:r,toggleDialog:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleDialog:o})}},k={__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(r,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(r.$attrs,{class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]"}),[e.renderSlot(r.$slots,"default")],16))}},j={__name:"DialogContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleDialog:a}=e.inject("DIALOG_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(k,{key:0,onClick:s[0]||(s[0]=i=>e.unref(a)()),class:"z-[175]"})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade-in-dialog"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(h,{key:0,class:e.normalizeClass(["fixed top-1/2 left-1/2 z-[200] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},M={__name:"DialogToggle",setup(t){const r=e.useSlots(),{toggleDialog:o}=e.inject("DIALOG_META");return(a,n)=>{var s,i;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((i=(s=e.unref(r)).default)==null?void 0:i.call(s)[0],{onClick:e.unref(o)})))}}},Se={class:"flex flex-col items-center justify-center gap-8"},$e={class:"flex items-center gap-2"},L={__name:"Empty",setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Se,[o[2]||(o[2]=e.createStaticVNode('<div class="flex max-w-xs flex-col items-center gap-2 text-center"><div class="bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" class="text-brand-primary-700 h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></div><b class="text-lg font-medium">No Projects Yet</b><p class="text-sm text-neutral-600"> You haven't created any projects yet. Get started by creating your first project. </p></div>',1)),e.createElementVNode("div",$e,[e.createVNode(f,{class:"h-10",variant:"outlined"},{default:e.withCtx(()=>o[0]||(o[0]=[e.createTextVNode("Import Project")])),_:1,__:[0]}),e.createVNode(f,{class:"h-10",variant:"primary"},{default:e.withCtx(()=>o[1]||(o[1]=[e.createTextVNode("Create Project")])),_:1,__:[1]})])]))}},G={__name:"FormField",props:{invalid:{type:[Boolean,String]},validate:{type:Boolean,default:!1}},setup(t){const r=t,o=e.computed(()=>r.invalid===!0||typeof r.invalid=="string"&&r.invalid.trim()!=="");return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["group flex flex-col gap-2",{"invalid-form":o.value}])},[e.renderSlot(a.$slots,"default")],2))}},Ee={},Ae={class:"text-danger-700 hidden h-0 text-xs opacity-0 transition-all group-has-user-invalid:mt-1 group-has-user-invalid:block group-has-user-invalid:h-4 group-has-user-invalid:opacity-100 group-[&.invalid-form]:mt-1 group-[&.invalid-form]:block group-[&.invalid-form]:h-4 group-[&.invalid-form]:opacity-100"};function Ve(t,r){return e.openBlock(),e.createElementBlock("p",Ae,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const W=p(Ee,[["render",Ve],["__scopeId","data-v-39085694"]]),H={__name:"Input",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:"group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none group-[&.invalid-form]:ring-2 placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"},null,512)),[[e.vModelText,r.value]])}},Te={};function Ne(t,r){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-xs font-medium transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const F=p(Te,[["render",Ne]]),O={__name:"Radio",props:e.mergeModels({variant:{type:String,default:"small"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=t,a=e.ref(null),n={small:{outerCircleSize:"size-4",innerCircleSize:"size-2.5"},large:{outerCircleSize:"size-5",innerCircleSize:"size-3"}};return(s,i)=>(e.openBlock(),e.createElementBlock("button",{onClick:i[1]||(i[1]=c=>a.value.click()),class:e.normalizeClass(["group/radio has-checked:border-brand-primary-700 flex cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent bg-neutral-100 duration-300 active:scale-[0.80] has-checked:bg-white",n[o.variant].outerCircleSize]),role:"radio",type:"button"},[e.createElementVNode("div",{class:e.normalizeClass(["group-has-checked/radio:bg-brand-primary-700 grid place-items-center rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100",n[o.variant].innerCircleSize])},[e.renderSlot(s.$slots,"default")],2),e.withDirectives(e.createElementVNode("input",e.mergeProps(s.$attrs,{"onUpdate:modelValue":i[0]||(i[0]=c=>r.value=c),type:"radio",ref_key:"radioRef",ref:a,hidden:""}),null,16),[[e.vModelRadio,r.value]])],2))}},De="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",q={__name:"Select",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:["group-[&.invalid-form]:ring-danger-700 group-[&.invalid-form]:focus:ring-danger-700 text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50",De]}),[e.renderSlot(o.$slots,"default")],16)),[[e.vModelSelect,r.value]])}},U={__name:"Sheet",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SHEET_META",{toggled:r,toggleSheet:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleSheet:o})}},Y={__name:"SheetContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleSheet:a}=e.inject("SHEET_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(k,{key:0,onClick:s[0]||(s[0]=i=>e.unref(a)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"slide"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(h,{key:0,class:e.normalizeClass(["fixed top-1/2 right-0 z-[150] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},Z={__name:"SheetToggle",setup(t){const r=e.useSlots(),{toggleSheet:o}=e.inject("SHEET_META");return(a,n)=>{var s,i;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((i=(s=e.unref(r)).default)==null?void 0:i.call(s)[0],{onClick:e.unref(o)})))}}},Ie={},Re={class:"bg-primary-100 animate-pulse rounded-lg"};function Pe(t,r){return e.openBlock(),e.createElementBlock("div",Re)}const J=p(Ie,[["render",Pe]]),X={__name:"Switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=r,a=t;function n(){o("update:modelValue",!a.modelValue)}return(s,i)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(s.$attrs,{onClick:i[0]||(i[0]=c=>n()),class:["group/switch h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",a.modelValue?"from-brand-primary-600 to-brand-primary-700 bg-gradient-to-br":"bg-neutral-200"],role:"switch",type:"button"}),[e.createElementVNode("span",{class:e.normalizeClass(["pointer-events-none flex size-4 items-center justify-center rounded-full bg-white shadow-md transition-all duration-300",{"translate-x-full":a.modelValue}])},[e.renderSlot(s.$slots,"icon")],2)],16))}},ze={class:"w-full"},je={class:"h-16"},Me={key:0},Le={key:0,class:"pe-4"},Q={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("table",ze,[e.createElementVNode("thead",null,[e.createElementVNode("tr",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.columns,n=>(e.openBlock(),e.createElementBlock("th",{key:n.key,class:"text-xs font-medium text-neutral-600 first-of-type:ps-4"},e.toDisplayString(n.label),1))),128)),o.$slots.actions?(e.openBlock(),e.createElementBlock("th",Me)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.data,(n,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(r.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(o.$slots,i.key,{row:n},()=>[e.createTextVNode(e.toDisplayString(n[i.key]),1)])]))),128)),o.$slots.actions?(e.openBlock(),e.createElementBlock("td",Le,[e.renderSlot(o.$slots,"actions",{row:n})])):e.createCommentVNode("",!0)]))),128))])]))}},Ge={class:"overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden"},K={__name:"Tabs",props:{default:{default:null}},setup(t){const r=t,o=e.ref(r.default);function a(n){o.value=n}return e.provide("TAB_DATA",{currentValue:o,setCurrentValue:a}),(n,s)=>(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(n.$slots,"default")]))}},v=p({__name:"TabItem",props:{value:{required:!0}},setup(t){const r=t,o=e.inject("TAB_DATA"),{currentValue:a,setCurrentValue:n}=o,s=e.computed(()=>a.value===r.value?["bg-white","font-medium","text-primary-700","shadow-xl","tab-active"]:"text-neutral-600");return(i,c)=>(e.openBlock(),e.createElementBlock("button",{onClick:c[0]||(c[0]=b=>e.unref(n)(r.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"]]),ee={__name:"TextArea",props:["modelValue"],setup(t){const r=t,o=e.ref(r.modelValue);return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:n[0]||(n[0]=s=>a.$emit("update:modelValue",s.target.value))},a.$attrs,{"onUpdate:modelValue":n[1]||(n[1]=s=>o.value=s),class:"text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"}),null,16)),[[e.vModelText,o.value]])}},We={install(t){t.component("AppHeader",_),t.component("AppHeaderLink",y),t.component("AppLayout",C),t.component("AppMain",B),t.component("AppNavTabs",w),t.component("AppNavTab",S),t.component("AppSidebar",$),t.component("AppSidebarItem",E),t.component("AppSidebarItemChild",A),t.component("AppSidebarItemChildren",V),t.component("AppSidebarItemParent",T),t.component("AppSidebarToggle",N),t.component("AppSidebarNavSection",D),t.component("Badge",R),t.component("Button",f),t.component("Checkbox",P),t.component("Card",h),t.component("Dialog",z),t.component("DialogContent",j),t.component("DialogToggle",M),t.component("DialogBackground",k),t.component("Empty",L),t.component("FormField",G),t.component("FormFieldError",W),t.component("Input",H),t.component("Label",F),t.component("Radio",O),t.component("Select",q),t.component("Sheet",U),t.component("SheetContent",Y),t.component("SheetToggle",Z),t.component("SkeletonLoader",J),t.component("Switch",X),t.component("Table",Q),t.component("Tabs",K),t.component("TabItem",v),t.component("TextArea",ee)}};l.AppHeader=_,l.AppHeaderLink=y,l.AppLayout=C,l.AppMain=B,l.AppNavTab=S,l.AppNavTabs=w,l.AppSidebar=$,l.AppSidebarItem=E,l.AppSidebarItemChild=A,l.AppSidebarItemChildren=V,l.AppSidebarItemParent=T,l.AppSidebarNavSection=D,l.AppSidebarToggle=N,l.Badge=R,l.Button=f,l.Card=h,l.Checkbox=P,l.Dialog=z,l.DialogBackground=k,l.DialogContent=j,l.DialogToggle=M,l.Empty=L,l.FormField=G,l.FormFieldError=W,l.Input=H,l.Label=F,l.Radio=O,l.Select=q,l.Sheet=U,l.SheetContent=Y,l.SheetToggle=Z,l.SkeletonLoader=J,l.Switch=X,l.TabItem=v,l.Table=Q,l.Tabs=K,l.TextArea=ee,l.default=We,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scrubbed-tailwind-components-v2",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/scrubbed-tailwind-components-v2.umd.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"prettier-plugin-tailwindcss": "^0.6.13",
|
|
44
44
|
"start-server-and-test": "^2.0.11",
|
|
45
45
|
"vite": "^6.2.4",
|
|
46
|
-
"vite-plugin-vue-devtools": "^
|
|
46
|
+
"vite-plugin-vue-devtools": "^8.0.2",
|
|
47
47
|
"vue-router": "^4.5.0"
|
|
48
48
|
}
|
|
49
49
|
}
|