scrubbed-tailwind-components-v2 2.2.0 → 2.2.1

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,14 +1,14 @@
1
- import { inject as m, createElementBlock as l, openBlock as a, normalizeClass as b, unref as d, createElementVNode as c, renderSlot as i, createBlock as p, withCtx as g, ref as f, provide as w, createVNode as v, Fragment as A, Teleport as P, normalizeStyle as q, watch as U, createCommentVNode as _, resolveComponent as Y, mergeProps as k, useModel as T, withDirectives as $, vModelCheckbox as Z, onMounted as J, onUnmounted as X, Transition as S, useSlots as G, resolveDynamicComponent as N, cloneVNode as W, createStaticVNode as Q, createTextVNode as R, vModelText as H, vModelRadio as K, vModelSelect as ee, renderList as D, toDisplayString as L, computed as te } from "vue";
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 m, withCtx as g, ref as f, provide as w, createVNode as _, Fragment as A, Teleport as P, normalizeStyle as q, watch as U, createCommentVNode as y, resolveComponent as Y, mergeProps as k, useModel as T, withDirectives as $, vModelCheckbox as Z, onMounted as J, onUnmounted as X, Transition as S, useSlots as G, resolveDynamicComponent as N, cloneVNode as W, createStaticVNode as Q, createTextVNode as R, vModelText as H, mergeModels as K, vModelRadio as ee, vModelSelect as te, renderList as D, toDisplayString as E, computed as re } from "vue";
2
2
  import { RouterLink as I, useRoute as O } from "vue-router";
3
- const re = { class: "flex w-full items-center justify-between" }, oe = { class: "flex items-center gap-2" }, ne = { class: "flex items-center gap-10" }, ae = { class: "hidden gap-6 sm:flex" }, se = {
3
+ const oe = { class: "container 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
- const t = m("APP_DATA"), { isSidebarToggled: r, toggleSidebar: n } = t;
6
+ const t = b("APP_DATA"), { isSidebarToggled: r, toggleSidebar: n } = t;
7
7
  return (o, s) => (a(), l("header", {
8
- class: b(["fixed top-0 flex h-16 w-dvw items-center bg-white/50 px-3 backdrop-blur sm:px-6", { "rounded-t-2xl": d(r) }])
8
+ class: p(["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": d(r) }])
9
9
  }, [
10
- c("nav", re, [
11
- c("div", oe, [
10
+ c("nav", oe, [
11
+ c("div", ne, [
12
12
  c("button", {
13
13
  onClick: s[0] || (s[0] = (u) => d(n)()),
14
14
  class: "block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"
@@ -32,8 +32,8 @@ const re = { class: "flex w-full items-center justify-between" }, oe = { class:
32
32
  ])),
33
33
  i(o.$slots, "header-img")
34
34
  ]),
35
- c("div", ne, [
36
- c("ul", ae, [
35
+ c("div", ae, [
36
+ c("ul", se, [
37
37
  i(o.$slots, "header-links")
38
38
  ]),
39
39
  i(o.$slots, "header-actions")
@@ -41,7 +41,7 @@ const re = { class: "flex w-full items-center justify-between" }, oe = { class:
41
41
  ])
42
42
  ], 2));
43
43
  }
44
- }, le = ["href"], ie = {
44
+ }, ie = ["href"], de = {
45
45
  __name: "AppHeaderLink",
46
46
  props: {
47
47
  to: { type: String, required: !0 }
@@ -49,7 +49,7 @@ const re = { class: "flex w-full items-center justify-between" }, oe = { class:
49
49
  setup(e) {
50
50
  const t = e;
51
51
  return (r, n) => (a(), l("li", null, [
52
- t.to.startsWith("/") ? (a(), p(d(I), {
52
+ t.to.startsWith("/") ? (a(), m(d(I), {
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
@@ -64,10 +64,10 @@ const re = { class: "flex w-full items-center justify-between" }, oe = { class:
64
64
  href: t.to
65
65
  }, [
66
66
  i(r.$slots, "default")
67
- ], 8, le))
67
+ ], 8, ie))
68
68
  ]));
69
69
  }
70
- }, de = { class: "relative" }, ce = { class: "flex" }, ue = {
70
+ }, ce = { class: "relative" }, ue = { class: "flex" }, ge = {
71
71
  __name: "AppLayout",
72
72
  setup(e) {
73
73
  const t = f(!1);
@@ -79,24 +79,24 @@ const re = { class: "flex w-full items-center justify-between" }, oe = { class:
79
79
  o.classList.contains("bg-black") ? o.classList.remove("bg-black") : o.classList.add("bg-black");
80
80
  }
81
81
  return w("APP_DATA", { isSidebarToggled: t, toggleSidebar: r }), (o, s) => (a(), l("div", {
82
- class: b(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]", {
82
+ class: p(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]", {
83
83
  "scale-93 origin-[center_top] translate-y-4": t.value
84
84
  }])
85
85
  }, [
86
- c("div", de, [
86
+ c("div", ce, [
87
87
  i(o.$slots, "header"),
88
- c("div", ce, [
88
+ c("div", ue, [
89
89
  i(o.$slots, "content")
90
90
  ])
91
91
  ])
92
92
  ], 2));
93
93
  }
94
- }, ge = {
94
+ }, pe = {
95
95
  __name: "AppMain",
96
96
  setup(e) {
97
- const t = m("APP_DATA"), { isSidebarToggled: r } = t;
97
+ const t = b("APP_DATA"), { isSidebarToggled: r } = t;
98
98
  return (n, o) => (a(), l("main", {
99
- class: b([
99
+ class: p([
100
100
  "bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pb-9 pt-24 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",
101
101
  d(r) ? "overflow-hidden rounded-t-xl sm:rounded-none" : "sm:rounded-tl-2xl"
102
102
  ])
@@ -109,21 +109,21 @@ const re = { class: "flex w-full items-center justify-between" }, oe = { class:
109
109
  for (const [n, o] of t)
110
110
  r[n] = o;
111
111
  return r;
112
- }, pe = {}, me = { class: "flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden" };
113
- function be(e, t) {
114
- return a(), l("div", me, [
112
+ }, me = {}, be = { class: "flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden" };
113
+ function fe(e, t) {
114
+ return a(), l("div", be, [
115
115
  i(e.$slots, "default")
116
116
  ]);
117
117
  }
118
- const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" }, xe = {
118
+ const he = /* @__PURE__ */ h(me, [["render", fe]]), xe = { class: "shrink-0" }, ve = {
119
119
  __name: "AppNavTab",
120
120
  props: {
121
121
  to: { type: String, required: !0 }
122
122
  },
123
123
  setup(e) {
124
124
  const t = e;
125
- return f(null), (r, n) => (a(), l("div", he, [
126
- v(d(I), {
125
+ return f(null), (r, n) => (a(), l("div", xe, [
126
+ _(d(I), {
127
127
  class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",
128
128
  to: t.to
129
129
  }, {
@@ -136,15 +136,15 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
136
136
  }, 8, ["to"])
137
137
  ]));
138
138
  }
139
- }, ve = { class: "fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block" }, _e = {
139
+ }, _e = { class: "fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block" }, ye = {
140
140
  __name: "AppSidebar",
141
141
  setup(e) {
142
- const t = m("APP_DATA"), { isSidebarToggled: r, toggleSidebar: n } = t;
142
+ const t = b("APP_DATA"), { isSidebarToggled: r, toggleSidebar: n } = t;
143
143
  return (o, s) => (a(), l(A, null, [
144
- c("aside", ve, [
144
+ c("aside", _e, [
145
145
  i(o.$slots, "default", {}, void 0, !0)
146
146
  ]),
147
- (a(), p(P, { to: "body" }, [
147
+ (a(), m(P, { to: "body" }, [
148
148
  c("div", {
149
149
  class: "shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",
150
150
  style: q(
@@ -155,7 +155,7 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
155
155
  ], 4),
156
156
  c("div", {
157
157
  onClick: s[0] || (s[0] = (u) => d(n)()),
158
- class: b([
158
+ class: p([
159
159
  "backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",
160
160
  d(r) ? "fixed inset-0 z-40 block bg-black/80 opacity-100" : "hidden"
161
161
  ])
@@ -163,7 +163,7 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
163
163
  ]))
164
164
  ], 64));
165
165
  }
166
- }, ke = /* @__PURE__ */ h(_e, [["__scopeId", "data-v-aaece1c7"]]), ye = { class: "flex flex-col" }, Ce = {
166
+ }, ke = /* @__PURE__ */ h(ye, [["__scopeId", "data-v-aaece1c7"]]), Ce = { class: "flex flex-col" }, we = {
167
167
  __name: "AppSidebarItem",
168
168
  setup(e) {
169
169
  O();
@@ -171,18 +171,18 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
171
171
  function r() {
172
172
  t.value = !t.value;
173
173
  }
174
- return w("SIDEBAR_TOGGLE", { toggled: t, toggleSidebarItem: r }), (n, o) => (a(), l("div", ye, [
174
+ return w("SIDEBAR_TOGGLE", { toggled: t, toggleSidebarItem: r }), (n, o) => (a(), l("div", Ce, [
175
175
  i(n.$slots, "default")
176
176
  ]));
177
177
  }
178
- }, we = ["href"], $e = {
178
+ }, $e = ["href"], Ae = {
179
179
  __name: "AppSidebarItemChild",
180
180
  props: {
181
181
  to: { type: [String, Object], required: !0 }
182
182
  },
183
183
  setup(e) {
184
184
  const t = e;
185
- return (r, n) => typeof t.to == "object" || t.to.startsWith("/") ? (a(), p(d(I), {
185
+ return (r, n) => typeof t.to == "object" || t.to.startsWith("/") ? (a(), m(d(I), {
186
186
  key: 0,
187
187
  class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all [&.router-link-exact-active]:font-medium",
188
188
  to: t.to
@@ -197,19 +197,19 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
197
197
  href: t.to
198
198
  }, [
199
199
  i(r.$slots, "default")
200
- ], 8, we));
200
+ ], 8, $e));
201
201
  }
202
- }, Ae = {
202
+ }, Se = {
203
203
  __name: "AppSidebarItemChildren",
204
204
  setup(e) {
205
- const t = m("SIDEBAR_TOGGLE"), { toggled: r } = t;
205
+ const t = b("SIDEBAR_TOGGLE"), { toggled: r } = t;
206
206
  return (n, o) => (a(), l("div", {
207
- class: b(["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": d(r) }])
207
+ class: p(["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": d(r) }])
208
208
  }, [
209
209
  i(n.$slots, "default")
210
210
  ], 2));
211
211
  }
212
- }, Se = { 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" }, Te = ["href"], Ie = {
212
+ }, Te = { class: "link group/sidebar-item hover:bg-background-main has-[&.router-link-active]:bg-background-main peer flex h-10 items-center justify-between rounded-lg px-3 transition-all" }, Ie = ["href"], Be = {
213
213
  __name: "AppSidebarItemParent",
214
214
  props: {
215
215
  to: { type: [String, Object], required: !0 },
@@ -217,16 +217,16 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
217
217
  hasChildren: { type: Boolean, default: !1 }
218
218
  },
219
219
  setup(e) {
220
- const t = O(), r = e, n = m("SIDEBAR_TOGGLE"), o = m("APP_DATA"), { toggled: s, toggleSidebarItem: u } = n, { toggleSidebar: C } = o;
220
+ const t = O(), r = e, n = b("SIDEBAR_TOGGLE"), o = b("APP_DATA"), { toggled: s, toggleSidebarItem: u } = n, { toggleSidebar: x } = o;
221
221
  function j() {
222
222
  t.matched.some(
223
- (x) => r.name === x.name
223
+ (v) => r.name === v.name
224
224
  ) ? s.value = !0 : s.value = !1;
225
225
  }
226
- return U(t, () => j(), { immediate: !0 }), (B, x) => (a(), l("div", Se, [
227
- typeof r.to == "object" || r.to.startsWith("/") ? (a(), p(d(I), {
226
+ return U(t, () => j(), { immediate: !0 }), (B, v) => (a(), l("div", Te, [
227
+ typeof r.to == "object" || r.to.startsWith("/") ? (a(), m(d(I), {
228
228
  key: 0,
229
- onClick: x[0] || (x[0] = (F) => d(C)()),
229
+ onClick: v[0] || (v[0] = (F) => d(x)()),
230
230
  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",
231
231
  to: r.to
232
232
  }, {
@@ -240,10 +240,10 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
240
240
  href: r.to
241
241
  }, [
242
242
  i(B.$slots, "default", {}, void 0, !0)
243
- ], 8, Te)),
243
+ ], 8, Ie)),
244
244
  r.hasChildren ? (a(), l("button", {
245
245
  key: 2,
246
- onClick: x[1] || (x[1] = (F) => d(u)()),
246
+ onClick: v[1] || (v[1] = (F) => d(u)()),
247
247
  class: "cursor-pointer rounded-full p-1 transition-all hover:bg-neutral-100",
248
248
  type: "button"
249
249
  }, [
@@ -257,21 +257,21 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
257
257
  "stroke-width": "2",
258
258
  "stroke-linecap": "round",
259
259
  "stroke-linejoin": "round",
260
- class: b(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300", { "rotate-180": d(s) }])
261
- }, x[2] || (x[2] = [
260
+ class: p(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300", { "rotate-180": d(s) }])
261
+ }, v[2] || (v[2] = [
262
262
  c("path", { d: "m6 9 6 6 6-6" }, null, -1)
263
263
  ]), 2))
264
- ])) : _("", !0)
264
+ ])) : y("", !0)
265
265
  ]));
266
266
  }
267
- }, Be = /* @__PURE__ */ h(Ie, [["__scopeId", "data-v-3b52e94a"]]), 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 = {
267
+ }, De = /* @__PURE__ */ h(Be, [["__scopeId", "data-v-3b52e94a"]]), Re = { class: "hover:bg-background-main has-[&.router-link-active]:active has-[&.router-link-active]:bg-primary-700 peer flex h-10 items-center justify-between rounded-lg px-3 transition-all" }, Ve = {
268
268
  __name: "AppSidebarToggle",
269
269
  setup(e) {
270
- const t = m("SIDEBAR_TOGGLE");
270
+ const t = b("SIDEBAR_TOGGLE");
271
271
  return (r, n) => {
272
272
  const o = Y("RouterLink");
273
- return a(), l("div", De, [
274
- v(o, {
273
+ return a(), l("div", Re, [
274
+ _(o, {
275
275
  class: "text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",
276
276
  to: "/"
277
277
  }, {
@@ -303,21 +303,21 @@ const fe = /* @__PURE__ */ h(pe, [["render", be]]), he = { class: "shrink-0" },
303
303
  ]);
304
304
  };
305
305
  }
306
- }, Ve = {}, Pe = {
306
+ }, Pe = {}, Me = {
307
307
  key: 0,
308
308
  class: "text-primary-950 px-1 text-sm font-medium"
309
- }, Me = { class: "mt-2" };
310
- function Ee(e, t) {
309
+ }, ze = { class: "mt-2" };
310
+ function je(e, t) {
311
311
  return a(), l("nav", null, [
312
- e.$slots.title ? (a(), l("b", Pe, [
312
+ e.$slots.title ? (a(), l("b", Me, [
313
313
  i(e.$slots, "title")
314
- ])) : _("", !0),
315
- c("div", Me, [
314
+ ])) : y("", !0),
315
+ c("div", ze, [
316
316
  i(e.$slots, "items")
317
317
  ])
318
318
  ]);
319
319
  }
320
- const je = /* @__PURE__ */ h(Ve, [["render", Ee]]), z = {
320
+ const Ee = /* @__PURE__ */ h(Pe, [["render", je]]), L = {
321
321
  /* ---------------- Solid Buttons ---------------- */
322
322
  primary: {
323
323
  backgroundColor: "bg-brand-primary-700",
@@ -406,7 +406,7 @@ const je = /* @__PURE__ */ h(Ve, [["render", Ee]]), z = {
406
406
  backgroundColor: "bg-transparent",
407
407
  textColor: "text-warning-600"
408
408
  }
409
- }, y = {
409
+ }, C = {
410
410
  /* ---------------- Solid Buttons ---------------- */
411
411
  primary: {
412
412
  backgroundColor: "bg-gradient-to-br from-brand-primary-500 to-brand-primary-700",
@@ -553,9 +553,9 @@ const je = /* @__PURE__ */ h(Ve, [["render", Ee]]), z = {
553
553
  setup(e) {
554
554
  const t = e;
555
555
  return (r, n) => (a(), l("div", {
556
- class: b(["rounded-full px-3 py-1 text-xs font-medium", [
557
- d(z)[t.variant].backgroundColor,
558
- d(z)[t.variant].textColor
556
+ class: p(["rounded-full px-3 py-1 text-xs font-medium", [
557
+ d(L)[t.variant].backgroundColor,
558
+ d(L)[t.variant].textColor
559
559
  ]])
560
560
  }, [
561
561
  i(r.$slots, "default")
@@ -570,12 +570,12 @@ const je = /* @__PURE__ */ h(Ve, [["render", Ee]]), z = {
570
570
  const r = e, n = f(null);
571
571
  return t({ buttonRef: n }), (o, s) => (a(), l("button", k(o.$attrs, {
572
572
  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(y)[r.variant].backgroundColor,
574
- d(y)[r.variant].borderColor,
575
- d(y)[r.variant].textColor,
576
- d(y)[r.variant].hoverBackgroundColor,
577
- d(y)[r.variant].hoverTextColor,
578
- d(y)[r.variant].focusRing
573
+ d(C)[r.variant].backgroundColor,
574
+ d(C)[r.variant].borderColor,
575
+ d(C)[r.variant].textColor,
576
+ d(C)[r.variant].hoverBackgroundColor,
577
+ d(C)[r.variant].hoverTextColor,
578
+ d(C)[r.variant].focusRing
579
579
  ]],
580
580
  ref_key: "buttonRef",
581
581
  ref: n
@@ -583,13 +583,13 @@ const je = /* @__PURE__ */ h(Ve, [["render", Ee]]), z = {
583
583
  i(o.$slots, "default")
584
584
  ], 16));
585
585
  }
586
- }, ze = {}, Ge = { class: "rounded-2xl bg-white p-6" };
587
- function Ne(e, t) {
588
- return a(), l("div", Ge, [
586
+ }, Ge = {}, Ne = { class: "rounded-2xl bg-white p-6" };
587
+ function We(e, t) {
588
+ return a(), l("div", Ne, [
589
589
  i(e.$slots, "default")
590
590
  ]);
591
591
  }
592
- const M = /* @__PURE__ */ h(ze, [["render", Ne]]), We = {
592
+ const M = /* @__PURE__ */ h(Ge, [["render", We]]), He = {
593
593
  __name: "Checkbox",
594
594
  props: {
595
595
  modelValue: {},
@@ -600,7 +600,7 @@ const M = /* @__PURE__ */ h(ze, [["render", Ne]]), We = {
600
600
  const t = T(e, "modelValue"), r = f(null);
601
601
  return (n, o) => (a(), l("button", {
602
602
  onClick: o[1] || (o[1] = (s) => r.value.click()),
603
- 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]"
603
+ 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"
604
604
  }, [
605
605
  o[2] || (o[2] = c("svg", {
606
606
  xmlns: "http://www.w3.org/2000/svg",
@@ -627,7 +627,7 @@ const M = /* @__PURE__ */ h(ze, [["render", Ne]]), We = {
627
627
  ])
628
628
  ]));
629
629
  }
630
- }, He = {
630
+ }, Oe = {
631
631
  __name: "Dialog",
632
632
  setup(e) {
633
633
  const t = f(!1);
@@ -639,7 +639,7 @@ const M = /* @__PURE__ */ h(ze, [["render", Ne]]), We = {
639
639
  toggleDialog: r
640
640
  });
641
641
  }
642
- }, E = {
642
+ }, z = {
643
643
  __name: "DialogBackground",
644
644
  setup(e) {
645
645
  return J(() => {
@@ -650,60 +650,60 @@ const M = /* @__PURE__ */ h(ze, [["render", Ne]]), We = {
650
650
  i(t.$slots, "default")
651
651
  ], 16));
652
652
  }
653
- }, Oe = {
653
+ }, Fe = {
654
654
  __name: "DialogContent",
655
655
  props: {
656
656
  class: { type: String }
657
657
  },
658
658
  setup(e) {
659
- const t = e, { toggled: r, toggleDialog: n } = m("DIALOG_META");
660
- return (o, s) => (a(), p(P, { to: "body" }, [
661
- v(S, { name: "fade-in" }, {
659
+ const t = e, { toggled: r, toggleDialog: n } = b("DIALOG_META");
660
+ return (o, s) => (a(), m(P, { to: "body" }, [
661
+ _(S, { name: "fade-in" }, {
662
662
  default: g(() => [
663
- d(r) ? (a(), p(E, {
663
+ d(r) ? (a(), m(z, {
664
664
  key: 0,
665
665
  onClick: s[0] || (s[0] = (u) => d(n)()),
666
666
  class: "z-[175]"
667
- })) : _("", !0)
667
+ })) : y("", !0)
668
668
  ]),
669
669
  _: 1
670
670
  }),
671
- v(S, { name: "fade-in-dialog" }, {
671
+ _(S, { name: "fade-in-dialog" }, {
672
672
  default: g(() => [
673
- d(r) ? (a(), p(M, {
673
+ d(r) ? (a(), m(M, {
674
674
  key: 0,
675
- class: b(["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])
675
+ 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
676
  }, {
677
677
  default: g(() => [
678
678
  i(o.$slots, "default")
679
679
  ]),
680
680
  _: 3
681
- }, 8, ["class"])) : _("", !0)
681
+ }, 8, ["class"])) : y("", !0)
682
682
  ]),
683
683
  _: 3
684
684
  })
685
685
  ]));
686
686
  }
687
- }, Fe = {
687
+ }, qe = {
688
688
  __name: "DialogToggle",
689
689
  setup(e) {
690
- const t = G(), { toggleDialog: r } = m("DIALOG_META");
690
+ const t = G(), { toggleDialog: r } = b("DIALOG_META");
691
691
  return (n, o) => {
692
692
  var s, u;
693
- return a(), p(N(
693
+ return a(), m(N(
694
694
  W((u = (s = d(t)).default) == null ? void 0 : u.call(s)[0], {
695
695
  onClick: d(r)
696
696
  })
697
697
  ));
698
698
  };
699
699
  }
700
- }, qe = { class: "flex flex-col items-center justify-center gap-8" }, Ue = { class: "flex items-center gap-2" }, Ye = {
700
+ }, Ue = { class: "flex flex-col items-center justify-center gap-8" }, Ye = { class: "flex items-center gap-2" }, Ze = {
701
701
  __name: "Empty",
702
702
  setup(e) {
703
- return (t, r) => (a(), l("div", qe, [
703
+ return (t, r) => (a(), l("div", Ue, [
704
704
  r[2] || (r[2] = Q('<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&#39;t created any projects yet. Get started by creating your first project. </p></div>', 1)),
705
- c("div", Ue, [
706
- v(V, {
705
+ c("div", Ye, [
706
+ _(V, {
707
707
  class: "h-10",
708
708
  variant: "outlined"
709
709
  }, {
@@ -713,7 +713,7 @@ const M = /* @__PURE__ */ h(ze, [["render", Ne]]), We = {
713
713
  _: 1,
714
714
  __: [0]
715
715
  }),
716
- v(V, {
716
+ _(V, {
717
717
  class: "h-10",
718
718
  variant: "primary"
719
719
  }, {
@@ -726,23 +726,23 @@ const M = /* @__PURE__ */ h(ze, [["render", Ne]]), We = {
726
726
  ])
727
727
  ]));
728
728
  }
729
- }, Ze = { class: "group flex flex-col gap-2" }, Je = {
729
+ }, Je = { class: "group flex flex-col gap-2" }, Xe = {
730
730
  __name: "FormField",
731
731
  props: {
732
732
  validate: { type: Boolean, default: !1 }
733
733
  },
734
734
  setup(e) {
735
- return (t, r) => (a(), l("div", Ze, [
735
+ return (t, r) => (a(), l("div", Je, [
736
736
  i(t.$slots, "default")
737
737
  ]));
738
738
  }
739
- }, Xe = {}, Qe = { 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" };
740
- function Ke(e, t) {
741
- return a(), l("p", Qe, [
739
+ }, Qe = {}, Ke = { 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" };
740
+ function et(e, t) {
741
+ return a(), l("p", Ke, [
742
742
  i(e.$slots, "default", {}, void 0, !0)
743
743
  ]);
744
744
  }
745
- const et = /* @__PURE__ */ h(Xe, [["render", Ke], ["__scopeId", "data-v-00088154"]]), tt = {
745
+ const tt = /* @__PURE__ */ h(Qe, [["render", et], ["__scopeId", "data-v-00088154"]]), rt = {
746
746
  __name: "Input",
747
747
  props: {
748
748
  modelValue: {},
@@ -758,38 +758,49 @@ const et = /* @__PURE__ */ h(Xe, [["render", Ke], ["__scopeId", "data-v-00088154
758
758
  [H, t.value]
759
759
  ]);
760
760
  }
761
- }, rt = {};
762
- function ot(e, t) {
761
+ }, ot = {};
762
+ function nt(e, t) {
763
763
  return a(), l("label", k(e.$attrs, { class: "text-primary-950 text-xs font-medium transition-all" }), [
764
764
  i(e.$slots, "default")
765
765
  ], 16);
766
766
  }
767
- const nt = /* @__PURE__ */ h(rt, [["render", ot]]), at = {
767
+ const at = /* @__PURE__ */ h(ot, [["render", nt]]), st = {
768
768
  __name: "Radio",
769
- props: {
769
+ props: /* @__PURE__ */ K({
770
+ variant: { type: String, default: "small" }
771
+ }, {
770
772
  modelValue: {},
771
773
  modelModifiers: {}
772
- },
774
+ }),
773
775
  emits: ["update:modelValue"],
774
776
  setup(e) {
775
- const t = T(e, "modelValue"), r = f(null);
776
- return (n, o) => (a(), l("button", {
777
- onClick: o[1] || (o[1] = (s) => r.value.click()),
778
- class: "group/radio has-checked:border-brand-primary-700 flex size-4 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"
777
+ const t = T(e, "modelValue"), r = e, n = f(null), o = {
778
+ small: { outerCircleSize: "size-4", innerCircleSize: "size-2.5" },
779
+ large: { outerCircleSize: "size-5", innerCircleSize: "size-3" }
780
+ };
781
+ return (s, u) => (a(), l("button", {
782
+ onClick: u[1] || (u[1] = (x) => n.value.click()),
783
+ 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
+ role: "radio",
785
+ type: "button"
779
786
  }, [
780
- o[2] || (o[2] = c("div", { class: "group-has-checked/radio:bg-brand-primary-700 size-[10px] rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100" }, null, -1)),
781
- $(c("input", k(n.$attrs, {
782
- "onUpdate:modelValue": o[0] || (o[0] = (s) => t.value = s),
787
+ c("div", {
788
+ class: p(["group-has-checked/radio:bg-brand-primary-700 grid place-items-center rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100", o[r.variant].innerCircleSize])
789
+ }, [
790
+ i(s.$slots, "default")
791
+ ], 2),
792
+ $(c("input", k(s.$attrs, {
793
+ "onUpdate:modelValue": u[0] || (u[0] = (x) => t.value = x),
783
794
  type: "radio",
784
795
  ref_key: "radioRef",
785
- ref: r,
796
+ ref: n,
786
797
  hidden: ""
787
798
  }), null, 16), [
788
- [K, t.value]
799
+ [ee, t.value]
789
800
  ])
790
- ]));
801
+ ], 2));
791
802
  }
792
- }, st = "bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]", lt = {
803
+ }, lt = "bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]", it = {
793
804
  __name: "Select",
794
805
  props: {
795
806
  modelValue: {},
@@ -800,14 +811,14 @@ const nt = /* @__PURE__ */ h(rt, [["render", ot]]), at = {
800
811
  const t = T(e, "modelValue");
801
812
  return (r, n) => $((a(), l("select", k(r.$attrs, {
802
813
  "onUpdate:modelValue": n[0] || (n[0] = (o) => t.value = o),
803
- 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", st]
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", lt]
804
815
  }), [
805
816
  i(r.$slots, "default")
806
817
  ], 16)), [
807
- [ee, t.value]
818
+ [te, t.value]
808
819
  ]);
809
820
  }
810
- }, it = {
821
+ }, dt = {
811
822
  __name: "Sheet",
812
823
  setup(e) {
813
824
  const t = f(!1);
@@ -819,57 +830,57 @@ const nt = /* @__PURE__ */ h(rt, [["render", ot]]), at = {
819
830
  toggleSheet: r
820
831
  });
821
832
  }
822
- }, dt = {
833
+ }, ct = {
823
834
  __name: "SheetContent",
824
835
  props: {
825
836
  class: { type: String }
826
837
  },
827
838
  setup(e) {
828
- const t = e, { toggled: r, toggleSheet: n } = m("SHEET_META");
829
- return (o, s) => (a(), p(P, { to: "body" }, [
830
- v(S, { name: "fade-in" }, {
839
+ const t = e, { toggled: r, toggleSheet: n } = b("SHEET_META");
840
+ return (o, s) => (a(), m(P, { to: "body" }, [
841
+ _(S, { name: "fade-in" }, {
831
842
  default: g(() => [
832
- d(r) ? (a(), p(E, {
843
+ d(r) ? (a(), m(z, {
833
844
  key: 0,
834
845
  onClick: s[0] || (s[0] = (u) => d(n)())
835
- })) : _("", !0)
846
+ })) : y("", !0)
836
847
  ]),
837
848
  _: 1
838
849
  }),
839
- v(S, { name: "slide" }, {
850
+ _(S, { name: "slide" }, {
840
851
  default: g(() => [
841
- d(r) ? (a(), p(M, {
852
+ d(r) ? (a(), m(M, {
842
853
  key: 0,
843
- class: b(["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])
854
+ 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])
844
855
  }, {
845
856
  default: g(() => [
846
857
  i(o.$slots, "default")
847
858
  ]),
848
859
  _: 3
849
- }, 8, ["class"])) : _("", !0)
860
+ }, 8, ["class"])) : y("", !0)
850
861
  ]),
851
862
  _: 3
852
863
  })
853
864
  ]));
854
865
  }
855
- }, ct = {
866
+ }, ut = {
856
867
  __name: "SheetToggle",
857
868
  setup(e) {
858
- const t = G(), { toggleSheet: r } = m("SHEET_META");
869
+ const t = G(), { toggleSheet: r } = b("SHEET_META");
859
870
  return (n, o) => {
860
871
  var s, u;
861
- return a(), p(N(
872
+ return a(), m(N(
862
873
  W((u = (s = d(t)).default) == null ? void 0 : u.call(s)[0], {
863
874
  onClick: d(r)
864
875
  })
865
876
  ));
866
877
  };
867
878
  }
868
- }, ut = {}, gt = { class: "bg-primary-100 animate-pulse rounded-lg" };
869
- function pt(e, t) {
870
- return a(), l("div", gt);
879
+ }, gt = {}, pt = { class: "bg-primary-100 animate-pulse rounded-lg" };
880
+ function mt(e, t) {
881
+ return a(), l("div", pt);
871
882
  }
872
- const mt = /* @__PURE__ */ h(ut, [["render", pt]]), bt = {
883
+ const bt = /* @__PURE__ */ h(gt, [["render", mt]]), ft = {
873
884
  __name: "Switch",
874
885
  props: ["modelValue"],
875
886
  emits: ["update:modelValue"],
@@ -879,7 +890,7 @@ const mt = /* @__PURE__ */ h(ut, [["render", pt]]), bt = {
879
890
  r("update:modelValue", !n.modelValue);
880
891
  }
881
892
  return (s, u) => (a(), l("button", k(s.$attrs, {
882
- onClick: u[0] || (u[0] = (C) => o()),
893
+ onClick: u[0] || (u[0] = (x) => o()),
883
894
  class: [
884
895
  "group/switch h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",
885
896
  n.modelValue ? "from-brand-primary-600 to-brand-primary-700 bg-gradient-to-br" : "bg-neutral-200"
@@ -888,16 +899,16 @@ const mt = /* @__PURE__ */ h(ut, [["render", pt]]), bt = {
888
899
  type: "button"
889
900
  }), [
890
901
  c("span", {
891
- class: b(["pointer-events-none flex size-4 items-center justify-center rounded-full bg-white shadow-md transition-all duration-300", { "translate-x-full": n.modelValue }])
902
+ class: p(["pointer-events-none flex size-4 items-center justify-center rounded-full bg-white shadow-md transition-all duration-300", { "translate-x-full": n.modelValue }])
892
903
  }, [
893
904
  i(s.$slots, "icon")
894
905
  ], 2)
895
906
  ], 16));
896
907
  }
897
- }, ft = { class: "w-full" }, ht = { class: "h-16" }, xt = { key: 0 }, vt = {
908
+ }, ht = { class: "w-full" }, xt = { class: "h-16" }, vt = { key: 0 }, _t = {
898
909
  key: 0,
899
910
  class: "pe-4"
900
- }, _t = {
911
+ }, yt = {
901
912
  __name: "Table",
902
913
  props: {
903
914
  columns: { type: Array, required: !0 },
@@ -905,14 +916,14 @@ const mt = /* @__PURE__ */ h(ut, [["render", pt]]), bt = {
905
916
  },
906
917
  setup(e) {
907
918
  const t = e;
908
- return (r, n) => (a(), l("table", ft, [
919
+ return (r, n) => (a(), l("table", ht, [
909
920
  c("thead", null, [
910
- c("tr", ht, [
921
+ c("tr", xt, [
911
922
  (a(!0), l(A, null, D(t.columns, (o) => (a(), l("th", {
912
923
  key: o.key,
913
924
  class: "text-xs font-medium text-neutral-600 first-of-type:ps-4"
914
- }, L(o.label), 1))), 128)),
915
- r.$slots.actions ? (a(), l("th", xt)) : _("", !0)
925
+ }, E(o.label), 1))), 128)),
926
+ r.$slots.actions ? (a(), l("th", vt)) : y("", !0)
916
927
  ])
917
928
  ]),
918
929
  c("tbody", null, [
@@ -925,17 +936,17 @@ const mt = /* @__PURE__ */ h(ut, [["render", pt]]), bt = {
925
936
  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"
926
937
  }, [
927
938
  i(r.$slots, u.key, { row: o }, () => [
928
- R(L(o[u.key]), 1)
939
+ R(E(o[u.key]), 1)
929
940
  ])
930
941
  ]))), 128)),
931
- r.$slots.actions ? (a(), l("td", vt, [
942
+ r.$slots.actions ? (a(), l("td", _t, [
932
943
  i(r.$slots, "actions", { row: o })
933
- ])) : _("", !0)
944
+ ])) : y("", !0)
934
945
  ]))), 128))
935
946
  ])
936
947
  ]));
937
948
  }
938
- }, kt = { class: "overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden" }, yt = {
949
+ }, kt = { class: "overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden" }, Ct = {
939
950
  __name: "Tabs",
940
951
  props: {
941
952
  default: { default: null }
@@ -949,27 +960,27 @@ const mt = /* @__PURE__ */ h(ut, [["render", pt]]), bt = {
949
960
  i(o.$slots, "default")
950
961
  ]));
951
962
  }
952
- }, Ct = {
963
+ }, wt = {
953
964
  __name: "TabItem",
954
965
  props: {
955
966
  value: { required: !0 }
956
967
  },
957
968
  setup(e) {
958
- const t = e, r = m("TAB_DATA"), { currentValue: n, setCurrentValue: o } = r, s = te(() => n.value === t.value ? [
969
+ const t = e, r = b("TAB_DATA"), { currentValue: n, setCurrentValue: o } = r, s = re(() => n.value === t.value ? [
959
970
  "bg-white",
960
971
  "font-medium",
961
972
  "text-primary-700",
962
973
  "shadow-xl",
963
974
  "tab-active"
964
975
  ] : "text-neutral-600");
965
- return (u, C) => (a(), l("button", {
966
- onClick: C[0] || (C[0] = (j) => d(o)(t.value)),
967
- class: b(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", s.value])
976
+ return (u, x) => (a(), l("button", {
977
+ onClick: x[0] || (x[0] = (j) => d(o)(t.value)),
978
+ class: p(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", s.value])
968
979
  }, [
969
980
  i(u.$slots, "default", {}, void 0, !0)
970
981
  ], 2));
971
982
  }
972
- }, wt = /* @__PURE__ */ h(Ct, [["__scopeId", "data-v-9e06f71f"]]), $t = {
983
+ }, $t = /* @__PURE__ */ h(wt, [["__scopeId", "data-v-9e06f71f"]]), At = {
973
984
  __name: "TextArea",
974
985
  props: ["modelValue"],
975
986
  setup(e) {
@@ -978,53 +989,53 @@ const mt = /* @__PURE__ */ h(ut, [["render", pt]]), bt = {
978
989
  onInput: o[0] || (o[0] = (s) => n.$emit("update:modelValue", s.target.value))
979
990
  }, n.$attrs, {
980
991
  "onUpdate:modelValue": o[1] || (o[1] = (s) => r.value = s),
981
- 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"
992
+ 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"
982
993
  }), null, 16)), [
983
994
  [H, r.value]
984
995
  ]);
985
996
  }
986
- }, Tt = {
997
+ }, It = {
987
998
  install(e) {
988
- e.component("AppHeader", se), e.component("AppHeaderLink", ie), e.component("AppLayout", ue), e.component("AppMain", ge), e.component("AppNavTabs", fe), e.component("AppNavTab", xe), e.component("AppSidebar", ke), e.component("AppSidebarItem", Ce), e.component("AppSidebarItemChild", $e), e.component("AppSidebarItemChildren", Ae), e.component("AppSidebarItemParent", Be), e.component("AppSidebarToggle", Re), e.component("AppSidebarNavSection", je), e.component("Badge", Le), e.component("Button", V), e.component("Checkbox", We), e.component("Card", M), e.component("Dialog", He), e.component("DialogContent", Oe), e.component("DialogToggle", Fe), e.component("DialogBackground", E), e.component("Empty", Ye), e.component("FormField", Je), e.component("FormFieldError", et), e.component("Input", tt), e.component("Label", nt), e.component("Radio", at), e.component("Select", lt), e.component("Sheet", it), e.component("SheetContent", dt), e.component("SheetToggle", ct), e.component("SkeletonLoader", mt), e.component("Switch", bt), e.component("Table", _t), e.component("Tabs", yt), e.component("TabItem", wt), e.component("TextArea", $t);
999
+ e.component("AppHeader", le), e.component("AppHeaderLink", de), e.component("AppLayout", ge), e.component("AppMain", pe), e.component("AppNavTabs", he), e.component("AppNavTab", ve), e.component("AppSidebar", ke), e.component("AppSidebarItem", we), e.component("AppSidebarItemChild", Ae), e.component("AppSidebarItemChildren", Se), e.component("AppSidebarItemParent", De), e.component("AppSidebarToggle", Ve), e.component("AppSidebarNavSection", Ee), e.component("Badge", Le), e.component("Button", V), e.component("Checkbox", He), e.component("Card", M), e.component("Dialog", Oe), e.component("DialogContent", Fe), e.component("DialogToggle", qe), e.component("DialogBackground", z), e.component("Empty", Ze), e.component("FormField", Xe), e.component("FormFieldError", tt), e.component("Input", rt), e.component("Label", at), e.component("Radio", st), e.component("Select", it), e.component("Sheet", dt), e.component("SheetContent", ct), e.component("SheetToggle", ut), e.component("SkeletonLoader", bt), e.component("Switch", ft), e.component("Table", yt), e.component("Tabs", Ct), e.component("TabItem", $t), e.component("TextArea", At);
989
1000
  }
990
1001
  };
991
1002
  export {
992
- se as AppHeader,
993
- ie as AppHeaderLink,
994
- ue as AppLayout,
995
- ge as AppMain,
996
- xe as AppNavTab,
997
- fe as AppNavTabs,
1003
+ le as AppHeader,
1004
+ de as AppHeaderLink,
1005
+ ge as AppLayout,
1006
+ pe as AppMain,
1007
+ ve as AppNavTab,
1008
+ he as AppNavTabs,
998
1009
  ke as AppSidebar,
999
- Ce as AppSidebarItem,
1000
- $e as AppSidebarItemChild,
1001
- Ae as AppSidebarItemChildren,
1002
- Be as AppSidebarItemParent,
1003
- je as AppSidebarNavSection,
1004
- Re as AppSidebarToggle,
1010
+ we as AppSidebarItem,
1011
+ Ae as AppSidebarItemChild,
1012
+ Se as AppSidebarItemChildren,
1013
+ De as AppSidebarItemParent,
1014
+ Ee as AppSidebarNavSection,
1015
+ Ve as AppSidebarToggle,
1005
1016
  Le as Badge,
1006
1017
  V as Button,
1007
1018
  M as Card,
1008
- We as Checkbox,
1009
- He as Dialog,
1010
- E as DialogBackground,
1011
- Oe as DialogContent,
1012
- Fe as DialogToggle,
1013
- Ye as Empty,
1014
- Je as FormField,
1015
- et as FormFieldError,
1016
- tt as Input,
1017
- nt as Label,
1018
- at as Radio,
1019
- lt as Select,
1020
- it as Sheet,
1021
- dt as SheetContent,
1022
- ct as SheetToggle,
1023
- mt as SkeletonLoader,
1024
- bt as Switch,
1025
- wt as TabItem,
1026
- _t as Table,
1027
- yt as Tabs,
1028
- $t as TextArea,
1029
- Tt as default
1019
+ He as Checkbox,
1020
+ Oe as Dialog,
1021
+ z as DialogBackground,
1022
+ Fe as DialogContent,
1023
+ qe as DialogToggle,
1024
+ Ze as Empty,
1025
+ Xe as FormField,
1026
+ tt as FormFieldError,
1027
+ rt as Input,
1028
+ at as Label,
1029
+ st as Radio,
1030
+ it as Select,
1031
+ dt as Sheet,
1032
+ ct as SheetContent,
1033
+ ut as SheetToggle,
1034
+ bt as SkeletonLoader,
1035
+ ft as Switch,
1036
+ $t as TabItem,
1037
+ yt as Table,
1038
+ Ct as Tabs,
1039
+ At as TextArea,
1040
+ It as default
1030
1041
  };
@@ -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,p){"use strict";const ee={class:"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 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(p.RouterLink),{key:0,class:"hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",to: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"},B={__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(p.RouterLink),{class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",to: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"},w=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){p.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(p.RouterLink),{key:0,class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden 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=p.useRoute(),o=t,a=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:c}=a,{toggleSidebar:g}=n;function v(){r.matched.some(d=>o.name===d.name)?s.value=!0:s.value=!1}return e.watch(r,()=>v(),{immediate:!0}),(h,d)=>(e.openBlock(),e.createElementBlock("div",ue,[typeof o.to=="object"||o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,onClick:d[0]||(d[0]=He=>e.unref(g)()),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:d[1]||(d[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)}])},d[2]||(d[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"}},m={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(m)[o.variant].backgroundColor,e.unref(m)[o.variant].borderColor,e.unref(m)[o.variant].textColor,e.unref(m)[o.variant].hoverBackgroundColor,e.unref(m)[o.variant].hoverTextColor,e.unref(m)[o.variant].focusRing]],ref_key:"buttonRef",ref:a}),[e.renderSlot(n.$slots,"default")],16))}},ye={},Ce={class:"rounded-2xl bg-white p-6"};function Be(t,r){return e.openBlock(),e.createElementBlock("div",Ce,[e.renderSlot(t.$slots,"default")])}const b=i(ye,[["render",Be]]),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]"},[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)})))}}},we={class:"flex flex-col items-center justify-center gap-8"},Se={class:"flex items-center gap-2"},M={__name:"Empty",setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",we,[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&#39;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"},L={__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 z=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:{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/radio has-checked:border-brand-primary-700 flex size-4 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[2]||(n[2]=e.createElementVNode("div",{class:"group-has-checked/radio:bg-brand-primary-700 size-[10px] rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100"},null,-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(a.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"radio",ref_key:"radioRef",ref:o,hidden:""}),null,16),[[e.vModelRadio,r.value]])]))}},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",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]=g=>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"},Me={class:"h-16"},Le={key:0},ze={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",Me,[(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",Le)):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",ze,[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,g)=>(e.openBlock(),e.createElementBlock("button",{onClick:g[0]||(g[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"}),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",B),t.component("AppSidebar",w),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",M),t.component("FormField",L),t.component("FormFieldError",z),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=B,l.AppNavTabs=C,l.AppSidebar=w,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=M,l.FormField=L,l.FormFieldError=z,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 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&#39;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"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scrubbed-tailwind-components-v2",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/scrubbed-tailwind-components-v2.umd.js",