scrubbed-tailwind-components-v2 2.2.1-d → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- @starting-style{.backdrop[data-v-aaece1c7]{opacity:0}}.fade-in-dialog-enter-active{transition:all .15s cubic-bezier(.08,.82,.17,1)}.fade-in-dialog-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.fade-in-dialog-enter-from,.fade-in-dialog-leave-to{transform:scale(.95);opacity:0}.fade-in-dialog-enter-active{transition-delay:.05s}p[data-v-00088154]{transition-behavior:allow-discrete}.fade-in-enter-active,.fade-in-leave-active{transition:opacity .15s ease}.fade-in-enter-from,.fade-in-leave-to{opacity:0}.slide-enter-active{transition:all .5s cubic-bezier(.08,.82,.17,1)}.slide-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.slide-enter-from,.slide-leave-to{opacity:0;transform:translate(100%)}.slide-enter-active{transition-delay:.18s}.tab[data-v-9e06f71f]{border:1px solid transparent}.tab-active[data-v-9e06f71f]{border-radius:10px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(101deg,#e9eef54d 6.76%,#105fa24d 100.14%);box-shadow:0 4px 17px -1px #30537426;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
1
+ @starting-style{.backdrop[data-v-aaece1c7]{opacity:0}}.fade-in-dialog-enter-active{transition:all .15s cubic-bezier(.08,.82,.17,1)}.fade-in-dialog-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.fade-in-dialog-enter-from,.fade-in-dialog-leave-to{transform:scale(.95);opacity:0}.fade-in-dialog-enter-active{transition-delay:.05s}p[data-v-39085694]{transition-behavior:allow-discrete}.fade-in-enter-active,.fade-in-leave-active{transition:opacity .15s ease}.fade-in-enter-from,.fade-in-leave-to{opacity:0}.slide-enter-active{transition:all .5s cubic-bezier(.08,.82,.17,1)}.slide-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.slide-enter-from,.slide-leave-to{opacity:0;transform:translate(100%)}.slide-enter-active{transition-delay:.18s}.tab[data-v-9e06f71f]{border:1px solid transparent}.tab-active[data-v-9e06f71f]{border-radius:10px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(101deg,#e9eef54d 6.76%,#105fa24d 100.14%);box-shadow:0 4px 17px -1px #30537426;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
@@ -1,11 +1,11 @@
1
- import { inject as b, createElementBlock as l, openBlock as a, normalizeClass as m, unref as d, createElementVNode as c, renderSlot as i, createBlock as g, withCtx as p, ref as x, provide as T, resolveDynamicComponent as A, cloneVNode as S, createVNode as v, Fragment as D, Teleport as E, normalizeStyle as q, watch as U, createCommentVNode as _, resolveComponent as Y, mergeProps as y, useModel as V, withDirectives as I, vModelCheckbox as Z, onMounted as J, onUnmounted as X, Transition as R, useSlots as H, createStaticVNode as Q, createTextVNode as z, vModelText as O, mergeModels as K, vModelRadio as ee, vModelSelect as te, renderList as M, toDisplayString as N, computed as re } from "vue";
2
- import { RouterLink as P, useRoute as F } from "vue-router";
1
+ import { inject as b, createElementBlock as l, openBlock as a, normalizeClass as p, unref as d, createElementVNode as c, renderSlot as i, createBlock as g, withCtx as m, ref as v, provide as T, resolveDynamicComponent as A, cloneVNode as S, createVNode as x, Fragment as D, Teleport as E, normalizeStyle as U, watch as Y, createCommentVNode as _, resolveComponent as Z, mergeProps as y, useModel as V, withDirectives as I, vModelCheckbox as J, onMounted as X, onUnmounted as Q, Transition as R, useSlots as H, createStaticVNode as K, createTextVNode as z, computed as O, vModelText as F, mergeModels as ee, vModelRadio as te, vModelSelect as re, renderList as M, toDisplayString as N } from "vue";
2
+ import { RouterLink as P, useRoute as q } from "vue-router";
3
3
  const oe = { class: "flex w-full items-center justify-between" }, ne = { class: "flex items-center gap-2" }, ae = { class: "flex items-center gap-10" }, se = { class: "hidden gap-6 sm:flex" }, le = {
4
4
  __name: "AppHeader",
5
5
  setup(e) {
6
6
  const t = b("APP_DATA"), { isSidebarToggled: r, toggleSidebar: n } = t;
7
7
  return (o, s) => (a(), l("header", {
8
- class: m(["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) }])
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
10
  c("nav", oe, [
11
11
  c("div", ne, [
@@ -54,7 +54,7 @@ const oe = { class: "flex w-full items-center justify-between" }, ne = { class:
54
54
  class: "hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",
55
55
  to: t.to
56
56
  }, {
57
- default: p(() => [
57
+ default: m(() => [
58
58
  i(r.$slots, "default")
59
59
  ]),
60
60
  _: 3
@@ -70,7 +70,7 @@ const oe = { class: "flex w-full items-center justify-between" }, ne = { class:
70
70
  }, ce = { class: "relative" }, ue = { class: "flex" }, ge = {
71
71
  __name: "AppLayout",
72
72
  setup(e) {
73
- const t = x(!1);
73
+ const t = v(!1);
74
74
  function r() {
75
75
  window.innerWidth <= 640 ? (t.value = !t.value, n()) : t.value && (t.value = !1, n());
76
76
  }
@@ -81,7 +81,7 @@ const oe = { class: "flex w-full items-center justify-between" }, ne = { class:
81
81
  return T("APP_DATA", { isSidebarToggled: t, toggleSidebar: r }), (o, s) => {
82
82
  var u, f, $, C, h, B;
83
83
  return a(), l("div", {
84
- class: m(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]", {
84
+ class: p(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]", {
85
85
  "origin-[center_top] translate-y-4 scale-93": t.value
86
86
  }])
87
87
  }, [
@@ -100,7 +100,7 @@ const oe = { class: "flex w-full items-center justify-between" }, ne = { class:
100
100
  setup(e) {
101
101
  const t = b("APP_DATA"), { isSidebarToggled: r } = t;
102
102
  return (n, o) => (a(), l("main", {
103
- class: m([
103
+ class: p([
104
104
  "bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pt-24 pb-9 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",
105
105
  d(r) ? "overflow-hidden rounded-t-xl sm:rounded-none" : "sm:rounded-tl-2xl"
106
106
  ])
@@ -119,19 +119,19 @@ function fe(e, t) {
119
119
  i(e.$slots, "default")
120
120
  ]);
121
121
  }
122
- const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" }, ve = {
122
+ const he = /* @__PURE__ */ k(me, [["render", fe]]), ve = { class: "shrink-0" }, xe = {
123
123
  __name: "AppNavTab",
124
124
  props: {
125
125
  to: { type: String, required: !0 }
126
126
  },
127
127
  setup(e) {
128
128
  const t = e;
129
- return x(null), (r, n) => (a(), l("div", xe, [
130
- v(d(P), {
129
+ return v(null), (r, n) => (a(), l("div", ve, [
130
+ x(d(P), {
131
131
  class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",
132
132
  to: t.to
133
133
  }, {
134
- default: p(() => [
134
+ default: m(() => [
135
135
  i(r.$slots, "default"),
136
136
  n[0] || (n[0] = c("div", { class: "bg-primary-100 absolute inset-x-0 z-[-1] h-8 w-full rounded-lg opacity-0 transition-all contain-strict group-hover:transform-none group-hover:opacity-100 group-hover:[transform-origin:50%_50%_0px]" }, null, -1))
137
137
  ]),
@@ -151,7 +151,7 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
151
151
  (a(), g(E, { to: "body" }, [
152
152
  c("div", {
153
153
  class: "shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",
154
- style: q(
154
+ style: U(
155
155
  d(r) ? "transform: translateZ(0)" : "transform: translate3d(0,60svh,0)"
156
156
  )
157
157
  }, [
@@ -159,7 +159,7 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
159
159
  ], 4),
160
160
  c("div", {
161
161
  onClick: s[0] || (s[0] = (u) => d(n)()),
162
- class: m([
162
+ class: p([
163
163
  "backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",
164
164
  d(r) ? "fixed inset-0 z-40 block bg-black/80 opacity-100" : "hidden"
165
165
  ])
@@ -170,8 +170,8 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
170
170
  }, ke = /* @__PURE__ */ k(ye, [["__scopeId", "data-v-aaece1c7"]]), Ce = { class: "flex flex-col" }, we = {
171
171
  __name: "AppSidebarItem",
172
172
  setup(e) {
173
- F();
174
- const t = x(!1);
173
+ q();
174
+ const t = v(!1);
175
175
  function r() {
176
176
  t.value = !t.value;
177
177
  }
@@ -191,7 +191,7 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
191
191
  class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all [&.router-link-exact-active]:font-medium",
192
192
  to: t.to
193
193
  }, {
194
- default: p(() => [
194
+ default: m(() => [
195
195
  i(r.$slots, "default")
196
196
  ]),
197
197
  _: 3
@@ -208,7 +208,7 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
208
208
  setup(e) {
209
209
  const t = b("SIDEBAR_TOGGLE"), { toggled: r } = t;
210
210
  return (n, o) => (a(), l("div", {
211
- class: m(["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) }])
211
+ 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) }])
212
212
  }, [
213
213
  i(n.$slots, "default")
214
214
  ], 2));
@@ -221,20 +221,20 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
221
221
  hasChildren: { type: Boolean, default: !1 }
222
222
  },
223
223
  setup(e) {
224
- const t = F(), r = e, n = b("SIDEBAR_TOGGLE"), o = b("APP_DATA"), { toggled: s, toggleSidebarItem: u } = n, { toggleSidebar: f } = o;
224
+ const t = q(), r = e, n = b("SIDEBAR_TOGGLE"), o = b("APP_DATA"), { toggled: s, toggleSidebarItem: u } = n, { toggleSidebar: f } = o;
225
225
  function $() {
226
226
  t.matched.some(
227
227
  (h) => r.name === h.name
228
228
  ) ? s.value = !0 : s.value = !1;
229
229
  }
230
- return U(t, () => $(), { immediate: !0 }), (C, h) => (a(), l("div", Te, [
230
+ return Y(t, () => $(), { immediate: !0 }), (C, h) => (a(), l("div", Te, [
231
231
  typeof r.to == "object" || r.to.startsWith("/") ? (a(), g(d(P), {
232
232
  key: 0,
233
233
  onClick: h[0] || (h[0] = (B) => d(f)()),
234
234
  class: "[&.router-link-active]:text-primary-700 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",
235
235
  to: r.to
236
236
  }, {
237
- default: p(() => [
237
+ default: m(() => [
238
238
  i(C.$slots, "default")
239
239
  ]),
240
240
  _: 3
@@ -261,7 +261,7 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
261
261
  "stroke-width": "2",
262
262
  "stroke-linecap": "round",
263
263
  "stroke-linejoin": "round",
264
- class: m(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-brand-primary-800 transition-all duration-300", { "rotate-180": d(s) }])
264
+ class: p(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-brand-primary-800 transition-all duration-300", { "rotate-180": d(s) }])
265
265
  }, h[2] || (h[2] = [
266
266
  c("path", { d: "m6 9 6 6 6-6" }, null, -1)
267
267
  ]), 2))
@@ -273,13 +273,13 @@ const he = /* @__PURE__ */ k(me, [["render", fe]]), xe = { class: "shrink-0" },
273
273
  setup(e) {
274
274
  const t = b("SIDEBAR_TOGGLE");
275
275
  return (r, n) => {
276
- const o = Y("RouterLink");
276
+ const o = Z("RouterLink");
277
277
  return a(), l("div", De, [
278
- v(o, {
278
+ x(o, {
279
279
  class: "text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",
280
280
  to: "/"
281
281
  }, {
282
- default: p(() => [
282
+ default: m(() => [
283
283
  i(r.$slots, "default")
284
284
  ]),
285
285
  _: 3
@@ -557,7 +557,7 @@ const je = /* @__PURE__ */ k(Ve, [["render", ze]]), W = {
557
557
  setup(e) {
558
558
  const t = e;
559
559
  return (r, n) => (a(), l("div", {
560
- class: m(["rounded-full px-3 py-1 text-xs font-medium", [
560
+ class: p(["rounded-full px-3 py-1 text-xs font-medium", [
561
561
  d(W)[t.variant].backgroundColor,
562
562
  d(W)[t.variant].textColor
563
563
  ]])
@@ -571,7 +571,7 @@ const je = /* @__PURE__ */ k(Ve, [["render", ze]]), W = {
571
571
  variant: { type: String, default: "primary" }
572
572
  },
573
573
  setup(e, { expose: t }) {
574
- const r = e, n = x(null);
574
+ const r = e, n = v(null);
575
575
  return t({ buttonRef: n }), (o, s) => (a(), l("button", y(o.$attrs, {
576
576
  class: ["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-50 disabled:active:scale-100", [
577
577
  d(w)[r.variant].backgroundColor,
@@ -601,7 +601,7 @@ const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
601
601
  },
602
602
  emits: ["update:modelValue"],
603
603
  setup(e) {
604
- const t = V(e, "modelValue"), r = x(null);
604
+ const t = V(e, "modelValue"), r = v(null);
605
605
  return (n, o) => (a(), l("button", {
606
606
  onClick: o[1] || (o[1] = (s) => r.value.click()),
607
607
  class: "group/checkbox has-checked:bg-brand-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm bg-neutral-200 transition-all duration-300 active:scale-[0.50] has-disabled:cursor-not-allowed has-disabled:opacity-50"
@@ -627,14 +627,14 @@ const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
627
627
  ref: r,
628
628
  hidden: ""
629
629
  }), null, 16), [
630
- [Z, t.value]
630
+ [J, t.value]
631
631
  ])
632
632
  ]));
633
633
  }
634
634
  }, He = {
635
635
  __name: "Dialog",
636
636
  setup(e) {
637
- const t = x(!1);
637
+ const t = v(!1);
638
638
  function r() {
639
639
  t.value = !t.value;
640
640
  }
@@ -646,9 +646,9 @@ const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
646
646
  }, G = {
647
647
  __name: "DialogBackground",
648
648
  setup(e) {
649
- return J(() => {
649
+ return X(() => {
650
650
  document.querySelector("body").classList.add("overflow-hidden");
651
- }), X(() => {
651
+ }), Q(() => {
652
652
  document.querySelector("body").classList.remove("overflow-hidden");
653
653
  }), (t, r) => (a(), l("div", y(t.$attrs, { class: "pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]" }), [
654
654
  i(t.$slots, "default")
@@ -662,8 +662,8 @@ const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
662
662
  setup(e) {
663
663
  const t = e, { toggled: r, toggleDialog: n } = b("DIALOG_META");
664
664
  return (o, s) => (a(), g(E, { to: "body" }, [
665
- v(R, { name: "fade-in" }, {
666
- default: p(() => [
665
+ x(R, { name: "fade-in" }, {
666
+ default: m(() => [
667
667
  d(r) ? (a(), g(G, {
668
668
  key: 0,
669
669
  onClick: s[0] || (s[0] = (u) => d(n)()),
@@ -672,13 +672,13 @@ const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
672
672
  ]),
673
673
  _: 1
674
674
  }),
675
- v(R, { name: "fade-in-dialog" }, {
676
- default: p(() => [
675
+ x(R, { name: "fade-in-dialog" }, {
676
+ default: m(() => [
677
677
  d(r) ? (a(), g(L, {
678
678
  key: 0,
679
- class: m(["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])
679
+ class: p(["fixed top-1/2 left-1/2 z-[200] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all", t.class])
680
680
  }, {
681
- default: p(() => [
681
+ default: m(() => [
682
682
  i(o.$slots, "default")
683
683
  ]),
684
684
  _: 3
@@ -705,23 +705,23 @@ const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
705
705
  __name: "Empty",
706
706
  setup(e) {
707
707
  return (t, r) => (a(), l("div", qe, [
708
- 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)),
708
+ r[2] || (r[2] = K('<div class="flex max-w-xs flex-col items-center gap-2 text-center"><div class="bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" class="text-brand-primary-700 h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></div><b class="text-lg font-medium">No Projects Yet</b><p class="text-sm text-neutral-600"> You haven&#39;t created any projects yet. Get started by creating your first project. </p></div>', 1)),
709
709
  c("div", Ue, [
710
- v(j, {
710
+ x(j, {
711
711
  class: "h-10",
712
712
  variant: "outlined"
713
713
  }, {
714
- default: p(() => r[0] || (r[0] = [
714
+ default: m(() => r[0] || (r[0] = [
715
715
  z("Import Project")
716
716
  ])),
717
717
  _: 1,
718
718
  __: [0]
719
719
  }),
720
- v(j, {
720
+ x(j, {
721
721
  class: "h-10",
722
722
  variant: "primary"
723
723
  }, {
724
- default: p(() => r[1] || (r[1] = [
724
+ default: m(() => r[1] || (r[1] = [
725
725
  z("Create Project")
726
726
  ])),
727
727
  _: 1,
@@ -730,23 +730,27 @@ const L = /* @__PURE__ */ k(Le, [["render", Ne]]), We = {
730
730
  ])
731
731
  ]));
732
732
  }
733
- }, Ze = { class: "group flex flex-col gap-2" }, Je = {
733
+ }, Ze = {
734
734
  __name: "FormField",
735
735
  props: {
736
+ invalid: { type: [Boolean, String] },
736
737
  validate: { type: Boolean, default: !1 }
737
738
  },
738
739
  setup(e) {
739
- return (t, r) => (a(), l("div", Ze, [
740
- i(t.$slots, "default")
741
- ]));
740
+ const t = e, r = O(() => t.invalid === !0 || typeof t.invalid == "string" && t.invalid.trim() !== "");
741
+ return (n, o) => (a(), l("div", {
742
+ class: p(["group flex flex-col gap-2", { "invalid-form": r.value }])
743
+ }, [
744
+ i(n.$slots, "default")
745
+ ], 2));
742
746
  }
743
- }, 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" };
744
- function Ke(e, t) {
745
- return a(), l("p", Qe, [
747
+ }, Je = {}, Xe = { class: "text-danger-700 hidden h-0 text-xs opacity-0 transition-all group-has-user-invalid:mt-1 group-has-user-invalid:block group-has-user-invalid:h-4 group-has-user-invalid:opacity-100 group-[&.invalid-form]:mt-1 group-[&.invalid-form]:block group-[&.invalid-form]:h-4 group-[&.invalid-form]:opacity-100" };
748
+ function Qe(e, t) {
749
+ return a(), l("p", Xe, [
746
750
  i(e.$slots, "default", {}, void 0, !0)
747
751
  ]);
748
752
  }
749
- const et = /* @__PURE__ */ k(Xe, [["render", Ke], ["__scopeId", "data-v-00088154"]]), tt = {
753
+ const Ke = /* @__PURE__ */ k(Je, [["render", Qe], ["__scopeId", "data-v-39085694"]]), et = {
750
754
  __name: "Input",
751
755
  props: {
752
756
  modelValue: {},
@@ -757,20 +761,20 @@ const et = /* @__PURE__ */ k(Xe, [["render", Ke], ["__scopeId", "data-v-00088154
757
761
  const t = V(e, "modelValue");
758
762
  return (r, n) => I((a(), l("input", {
759
763
  "onUpdate:modelValue": n[0] || (n[0] = (o) => t.value = o),
760
- class: "text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"
764
+ class: "group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none group-[&.invalid-form]:ring-2 placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"
761
765
  }, null, 512)), [
762
- [O, t.value]
766
+ [F, t.value]
763
767
  ]);
764
768
  }
765
- }, rt = {};
766
- function ot(e, t) {
769
+ }, tt = {};
770
+ function rt(e, t) {
767
771
  return a(), l("label", y(e.$attrs, { class: "text-primary-950 text-xs font-medium transition-all" }), [
768
772
  i(e.$slots, "default")
769
773
  ], 16);
770
774
  }
771
- const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
775
+ const ot = /* @__PURE__ */ k(tt, [["render", rt]]), nt = {
772
776
  __name: "Radio",
773
- props: /* @__PURE__ */ K({
777
+ props: /* @__PURE__ */ ee({
774
778
  variant: { type: String, default: "small" }
775
779
  }, {
776
780
  modelValue: {},
@@ -778,18 +782,18 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
778
782
  }),
779
783
  emits: ["update:modelValue"],
780
784
  setup(e) {
781
- const t = V(e, "modelValue"), r = e, n = x(null), o = {
785
+ const t = V(e, "modelValue"), r = e, n = v(null), o = {
782
786
  small: { outerCircleSize: "size-4", innerCircleSize: "size-2.5" },
783
787
  large: { outerCircleSize: "size-5", innerCircleSize: "size-3" }
784
788
  };
785
789
  return (s, u) => (a(), l("button", {
786
790
  onClick: u[1] || (u[1] = (f) => n.value.click()),
787
- class: m(["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]),
791
+ class: p(["group/radio has-checked:border-brand-primary-700 flex cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent bg-neutral-100 duration-300 active:scale-[0.80] has-checked:bg-white", o[r.variant].outerCircleSize]),
788
792
  role: "radio",
789
793
  type: "button"
790
794
  }, [
791
795
  c("div", {
792
- class: m(["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])
796
+ 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])
793
797
  }, [
794
798
  i(s.$slots, "default")
795
799
  ], 2),
@@ -800,11 +804,11 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
800
804
  ref: n,
801
805
  hidden: ""
802
806
  }), null, 16), [
803
- [ee, t.value]
807
+ [te, t.value]
804
808
  ])
805
809
  ], 2));
806
810
  }
807
- }, st = "bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]", lt = {
811
+ }, at = "bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]", st = {
808
812
  __name: "Select",
809
813
  props: {
810
814
  modelValue: {},
@@ -815,17 +819,17 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
815
819
  const t = V(e, "modelValue");
816
820
  return (r, n) => I((a(), l("select", y(r.$attrs, {
817
821
  "onUpdate:modelValue": n[0] || (n[0] = (o) => t.value = o),
818
- 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", st]
822
+ class: ["group-[&.invalid-form]:ring-danger-700 group-[&.invalid-form]:focus:ring-danger-700 text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50", at]
819
823
  }), [
820
824
  i(r.$slots, "default")
821
825
  ], 16)), [
822
- [te, t.value]
826
+ [re, t.value]
823
827
  ]);
824
828
  }
825
- }, it = {
829
+ }, lt = {
826
830
  __name: "Sheet",
827
831
  setup(e) {
828
- const t = x(!1);
832
+ const t = v(!1);
829
833
  function r() {
830
834
  t.value = !t.value;
831
835
  }
@@ -834,7 +838,7 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
834
838
  toggleSheet: r
835
839
  });
836
840
  }
837
- }, dt = {
841
+ }, it = {
838
842
  __name: "SheetContent",
839
843
  props: {
840
844
  class: { type: String }
@@ -842,8 +846,8 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
842
846
  setup(e) {
843
847
  const t = e, { toggled: r, toggleSheet: n } = b("SHEET_META");
844
848
  return (o, s) => (a(), g(E, { to: "body" }, [
845
- v(R, { name: "fade-in" }, {
846
- default: p(() => [
849
+ x(R, { name: "fade-in" }, {
850
+ default: m(() => [
847
851
  d(r) ? (a(), g(G, {
848
852
  key: 0,
849
853
  onClick: s[0] || (s[0] = (u) => d(n)())
@@ -851,13 +855,13 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
851
855
  ]),
852
856
  _: 1
853
857
  }),
854
- v(R, { name: "slide" }, {
855
- default: p(() => [
858
+ x(R, { name: "slide" }, {
859
+ default: m(() => [
856
860
  d(r) ? (a(), g(L, {
857
861
  key: 0,
858
- class: m(["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])
862
+ class: p(["fixed top-1/2 right-0 z-[150] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl", t.class])
859
863
  }, {
860
- default: p(() => [
864
+ default: m(() => [
861
865
  i(o.$slots, "default")
862
866
  ]),
863
867
  _: 3
@@ -867,7 +871,7 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
867
871
  })
868
872
  ]));
869
873
  }
870
- }, ct = {
874
+ }, dt = {
871
875
  __name: "SheetToggle",
872
876
  setup(e) {
873
877
  const t = H(), { toggleSheet: r } = b("SHEET_META");
@@ -880,11 +884,11 @@ const nt = /* @__PURE__ */ k(rt, [["render", ot]]), at = {
880
884
  ));
881
885
  };
882
886
  }
883
- }, ut = {}, gt = { class: "bg-primary-100 animate-pulse rounded-lg" };
884
- function pt(e, t) {
885
- return a(), l("div", gt);
887
+ }, ct = {}, ut = { class: "bg-primary-100 animate-pulse rounded-lg" };
888
+ function gt(e, t) {
889
+ return a(), l("div", ut);
886
890
  }
887
- const mt = /* @__PURE__ */ k(ut, [["render", pt]]), bt = {
891
+ const pt = /* @__PURE__ */ k(ct, [["render", gt]]), mt = {
888
892
  __name: "Switch",
889
893
  props: ["modelValue"],
890
894
  emits: ["update:modelValue"],
@@ -903,16 +907,16 @@ const mt = /* @__PURE__ */ k(ut, [["render", pt]]), bt = {
903
907
  type: "button"
904
908
  }), [
905
909
  c("span", {
906
- class: m(["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 }])
910
+ 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 }])
907
911
  }, [
908
912
  i(s.$slots, "icon")
909
913
  ], 2)
910
914
  ], 16));
911
915
  }
912
- }, ft = { class: "w-full" }, ht = { class: "h-16" }, xt = { key: 0 }, vt = {
916
+ }, bt = { class: "w-full" }, ft = { class: "h-16" }, ht = { key: 0 }, vt = {
913
917
  key: 0,
914
918
  class: "pe-4"
915
- }, _t = {
919
+ }, xt = {
916
920
  __name: "Table",
917
921
  props: {
918
922
  columns: { type: Array, required: !0 },
@@ -920,14 +924,14 @@ const mt = /* @__PURE__ */ k(ut, [["render", pt]]), bt = {
920
924
  },
921
925
  setup(e) {
922
926
  const t = e;
923
- return (r, n) => (a(), l("table", ft, [
927
+ return (r, n) => (a(), l("table", bt, [
924
928
  c("thead", null, [
925
- c("tr", ht, [
929
+ c("tr", ft, [
926
930
  (a(!0), l(D, null, M(t.columns, (o) => (a(), l("th", {
927
931
  key: o.key,
928
932
  class: "text-xs font-medium text-neutral-600 first-of-type:ps-4"
929
933
  }, N(o.label), 1))), 128)),
930
- r.$slots.actions ? (a(), l("th", xt)) : _("", !0)
934
+ r.$slots.actions ? (a(), l("th", ht)) : _("", !0)
931
935
  ])
932
936
  ]),
933
937
  c("tbody", null, [
@@ -950,27 +954,27 @@ const mt = /* @__PURE__ */ k(ut, [["render", pt]]), bt = {
950
954
  ])
951
955
  ]));
952
956
  }
953
- }, yt = { class: "overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden" }, kt = {
957
+ }, _t = { class: "overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden" }, yt = {
954
958
  __name: "Tabs",
955
959
  props: {
956
960
  default: { default: null }
957
961
  },
958
962
  setup(e) {
959
- const r = x(e.default);
963
+ const r = v(e.default);
960
964
  function n(o) {
961
965
  r.value = o;
962
966
  }
963
- return T("TAB_DATA", { currentValue: r, setCurrentValue: n }), (o, s) => (a(), l("div", yt, [
967
+ return T("TAB_DATA", { currentValue: r, setCurrentValue: n }), (o, s) => (a(), l("div", _t, [
964
968
  i(o.$slots, "default")
965
969
  ]));
966
970
  }
967
- }, Ct = {
971
+ }, kt = {
968
972
  __name: "TabItem",
969
973
  props: {
970
974
  value: { required: !0 }
971
975
  },
972
976
  setup(e) {
973
- const t = e, r = b("TAB_DATA"), { currentValue: n, setCurrentValue: o } = r, s = re(() => n.value === t.value ? [
977
+ const t = e, r = b("TAB_DATA"), { currentValue: n, setCurrentValue: o } = r, s = O(() => n.value === t.value ? [
974
978
  "bg-white",
975
979
  "font-medium",
976
980
  "text-primary-700",
@@ -979,28 +983,28 @@ const mt = /* @__PURE__ */ k(ut, [["render", pt]]), bt = {
979
983
  ] : "text-neutral-600");
980
984
  return (u, f) => (a(), l("button", {
981
985
  onClick: f[0] || (f[0] = ($) => d(o)(t.value)),
982
- class: m(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", s.value])
986
+ class: p(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", s.value])
983
987
  }, [
984
988
  i(u.$slots, "default", {}, void 0, !0)
985
989
  ], 2));
986
990
  }
987
- }, wt = /* @__PURE__ */ k(Ct, [["__scopeId", "data-v-9e06f71f"]]), $t = {
991
+ }, Ct = /* @__PURE__ */ k(kt, [["__scopeId", "data-v-9e06f71f"]]), wt = {
988
992
  __name: "TextArea",
989
993
  props: ["modelValue"],
990
994
  setup(e) {
991
- const r = x(e.modelValue);
995
+ const r = v(e.modelValue);
992
996
  return (n, o) => I((a(), l("textarea", y({
993
997
  onInput: o[0] || (o[0] = (s) => n.$emit("update:modelValue", s.target.value))
994
998
  }, n.$attrs, {
995
999
  "onUpdate:modelValue": o[1] || (o[1] = (s) => r.value = s),
996
1000
  class: "text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
997
1001
  }), null, 16)), [
998
- [O, r.value]
1002
+ [F, r.value]
999
1003
  ]);
1000
1004
  }
1001
- }, Tt = {
1005
+ }, St = {
1002
1006
  install(e) {
1003
- 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", Be), e.component("AppSidebarToggle", Re), e.component("AppSidebarNavSection", je), e.component("Badge", Ee), e.component("Button", j), e.component("Checkbox", We), e.component("Card", L), e.component("Dialog", He), e.component("DialogContent", Oe), e.component("DialogToggle", Fe), e.component("DialogBackground", G), e.component("Empty", Ye), e.component("FormField", 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", kt), e.component("TabItem", wt), e.component("TextArea", $t);
1007
+ e.component("AppHeader", le), e.component("AppHeaderLink", de), e.component("AppLayout", ge), e.component("AppMain", pe), e.component("AppNavTabs", he), e.component("AppNavTab", xe), e.component("AppSidebar", ke), e.component("AppSidebarItem", we), e.component("AppSidebarItemChild", Ae), e.component("AppSidebarItemChildren", Se), e.component("AppSidebarItemParent", Be), e.component("AppSidebarToggle", Re), e.component("AppSidebarNavSection", je), e.component("Badge", Ee), e.component("Button", j), e.component("Checkbox", We), e.component("Card", L), e.component("Dialog", He), e.component("DialogContent", Oe), e.component("DialogToggle", Fe), e.component("DialogBackground", G), e.component("Empty", Ye), e.component("FormField", Ze), e.component("FormFieldError", Ke), e.component("Input", et), e.component("Label", ot), e.component("Radio", nt), e.component("Select", st), e.component("Sheet", lt), e.component("SheetContent", it), e.component("SheetToggle", dt), e.component("SkeletonLoader", pt), e.component("Switch", mt), e.component("Table", xt), e.component("Tabs", yt), e.component("TabItem", Ct), e.component("TextArea", wt);
1004
1008
  }
1005
1009
  };
1006
1010
  export {
@@ -1008,7 +1012,7 @@ export {
1008
1012
  de as AppHeaderLink,
1009
1013
  ge as AppLayout,
1010
1014
  pe as AppMain,
1011
- ve as AppNavTab,
1015
+ xe as AppNavTab,
1012
1016
  he as AppNavTabs,
1013
1017
  ke as AppSidebar,
1014
1018
  we as AppSidebarItem,
@@ -1026,20 +1030,20 @@ export {
1026
1030
  Oe as DialogContent,
1027
1031
  Fe as DialogToggle,
1028
1032
  Ye as Empty,
1029
- Je as FormField,
1030
- et as FormFieldError,
1031
- tt as Input,
1032
- nt as Label,
1033
- at as Radio,
1034
- lt as Select,
1035
- it as Sheet,
1036
- dt as SheetContent,
1037
- ct as SheetToggle,
1038
- mt as SkeletonLoader,
1039
- bt as Switch,
1040
- wt as TabItem,
1041
- _t as Table,
1042
- kt as Tabs,
1043
- $t as TextArea,
1044
- Tt as default
1033
+ Ze as FormField,
1034
+ Ke as FormFieldError,
1035
+ et as Input,
1036
+ ot as Label,
1037
+ nt as Radio,
1038
+ st as Select,
1039
+ lt as Sheet,
1040
+ it as SheetContent,
1041
+ dt as SheetToggle,
1042
+ pt as SkeletonLoader,
1043
+ mt as Switch,
1044
+ Ct as TabItem,
1045
+ xt as Table,
1046
+ yt as Tabs,
1047
+ wt as TextArea,
1048
+ St as default
1045
1049
  };
@@ -1 +1 @@
1
- (function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.ScrubbedTailwindComponentsV2={},l.Vue,l.vueRouter))})(this,function(l,e,m){"use strict";const te={class:"flex w-full items-center justify-between"},re={class:"flex items-center gap-2"},oe={class:"flex items-center gap-10"},ne={class:"hidden gap-6 sm:flex"},x={__name:"AppHeader",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(["fixed top-0 flex h-16 w-dvw items-center justify-center bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(o)}])},[e.createElementVNode("nav",te,[e.createElementVNode("div",re,[e.createElementVNode("button",{onClick:s[0]||(s[0]=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",oe,[e.createElementVNode("ul",ne,[e.renderSlot(n.$slots,"header-links")]),e.renderSlot(n.$slots,"header-actions")])])],2))}},ae=["href"],y={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("li",null,[r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,class:"hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"hover:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all",href:r.to},[e.renderSlot(o.$slots,"default")],8,ae))]))}},le={class:"relative"},se={class:"flex"},C={__name:"AppLayout",setup(t){const r=e.ref(!1);function o(){window.innerWidth<=640?(r.value=!r.value,a()):r.value&&(r.value=!1,a())}function a(){const n=document.querySelector("body");n.classList.contains("bg-black")?n.classList.remove("bg-black"):n.classList.add("bg-black")}return e.provide("APP_DATA",{isSidebarToggled:r,toggleSidebar:o}),(n,s)=>{var c,i,b,u,d,_;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]",{"origin-[center_top] translate-y-4 scale-93":r.value}])},[e.createElementVNode("div",le,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((i=(c=n.$slots).default)==null?void 0:i.call(c)[0])))),e.createElementVNode("div",se,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((u=(b=n.$slots).default)==null?void 0:u.call(b)[1])))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((_=(d=n.$slots).default)==null?void 0:_.call(d)[2]))))])])],2)}}},B={__name:"AppMain",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o}=r;return(a,n)=>(e.openBlock(),e.createElementBlock("main",{class:e.normalizeClass(["bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pt-24 pb-9 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",e.unref(o)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(a.$slots,"default")],2))}},p=(t,r)=>{const o=t.__vccOpts||t;for(const[a,n]of r)o[a]=n;return o},ce={},ie={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function de(t,r){return e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(t.$slots,"default")])}const w=p(ce,[["render",de]]),pe={class:"shrink-0"},S={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const r=t;return e.ref(null),(o,a)=>(e.openBlock(),e.createElementBlock("div",pe,[e.createVNode(e.unref(m.RouterLink),{class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default"),a[0]||(a[0]=e.createElementVNode("div",{class:"bg-primary-100 absolute inset-x-0 z-[-1] h-8 w-full rounded-lg opacity-0 transition-all contain-strict group-hover:transform-none group-hover:opacity-100 group-hover:[transform-origin:50%_50%_0px]"},null,-1))]),_:3,__:[0]},8,["to"])]))}},me={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},$=p({__name:"AppSidebar",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",me,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:"shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(o)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=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"]]),ge={class:"flex flex-col"},E={__name:"AppSidebarItem",setup(t){m.useRoute();const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SIDEBAR_TOGGLE",{toggled:r,toggleSidebarItem:o}),(a,n)=>(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(a.$slots,"default")]))}},ue=["href"],A={__name:"AppSidebarItemChild",props:{to:{type:[String,Object],required:!0}},setup(t){const r=t;return(o,a)=>typeof r.to=="object"||r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all [&.router-link-exact-active]:font-medium",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all",href:r.to},[e.renderSlot(o.$slots,"default")],8,ue))}},V={__name:"AppSidebarItemChildren",setup(t){const r=e.inject("SIDEBAR_TOGGLE"),{toggled:o}=r;return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all",{"mt-2 max-h-max overflow-y-auto px-2 opacity-100":e.unref(o)}])},[e.renderSlot(a.$slots,"default")],2))}},be={class:"link group/sidebar-item hover:bg-background-main peer has-[&.router-link-active]:from-brand-primary-50 has-[&.router-link-active]:to-brand-primary-100 flex h-10 items-center justify-between rounded-lg px-3 transition-all has-[&.router-link-active]:bg-gradient-to-br"},fe=["href"],T={__name:"AppSidebarItemParent",props:{to:{type:[String,Object],required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const r=m.useRoute(),o=t,a=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:c}=a,{toggleSidebar:i}=n;function b(){r.matched.some(d=>o.name===d.name)?s.value=!0:s.value=!1}return e.watch(r,()=>b(),{immediate:!0}),(u,d)=>(e.openBlock(),e.createElementBlock("div",be,[typeof o.to=="object"||o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,onClick:d[0]||(d[0]=_=>e.unref(i)()),class:"[&.router-link-active]:text-primary-700 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",href:o.to},[e.renderSlot(u.$slots,"default")],8,fe)),o.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:d[1]||(d[1]=_=>e.unref(c)()),class:"hover:bg-brand-primary-200 cursor-pointer rounded-full p-1 transition-all",type:"button"},[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-brand-primary-800 transition-all duration-300",{"rotate-180":e.unref(s)}])},d[2]||(d[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},he={class:"hover:bg-background-main has-[&.router-link-active]:active has-[&.router-link-active]:bg-primary-700 peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},N={__name:"AppSidebarToggle",setup(t){const r=e.inject("SIDEBAR_TOGGLE");return(o,a)=>{const n=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",he,[e.createVNode(n,{class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",to:"/"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3}),e.createElementVNode("button",{onClick:a[0]||(a[0]=s=>e.unref(r).toggleSidebarItem()),class:"cursor-pointer",type:"button"},a[1]||(a[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-chevron-down-icon lucide-chevron-down stroke-white"},[e.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1)]))])}}},ke={},_e={key:0,class:"text-primary-950 px-1 text-sm font-medium"},xe={class:"mt-2"};function ye(t,r){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",_e,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",xe,[e.renderSlot(t.$slots,"items")])])}const D=p(ke,[["render",ye]]),I={primary:{backgroundColor:"bg-brand-primary-700",textColor:"text-white"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700"},success:{backgroundColor:"bg-success-400",textColor:"text-white"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600"}},g={primary:{backgroundColor:"bg-gradient-to-br from-brand-primary-500 to-brand-primary-700",textColor:"text-white",hoverBackgroundColor:"hover:from-brand-primary-700 hover:to-brand-primary-800",focusRing:"focus:ring-brand-primary-300"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-200",focusRing:"focus:ring-neutral-300"},success:{backgroundColor:"bg-success-400",textColor:"text-white",hoverBackgroundColor:"hover:bg-success-500",focusRing:"focus:ring-success-300"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white",hoverBackgroundColor:"hover:bg-danger-700",focusRing:"focus:ring-danger-300"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950",hoverBackgroundColor:"hover:bg-warning-600",focusRing:"focus:ring-warning-300"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-200",focusRing:"focus:ring-brand-primary-200"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700",hoverBackgroundColor:"hover:bg-primary-200",focusRing:"focus:ring-primary-200"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700",hoverBackgroundColor:"hover:bg-success-200",focusRing:"focus:ring-success-200"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700",hoverBackgroundColor:"hover:bg-danger-200",focusRing:"focus:ring-danger-200"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700",hoverBackgroundColor:"hover:bg-warning-200",focusRing:"focus:ring-warning-200"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"}},R={__name:"Badge",props:{variant:{type:String,default:"primary"}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["rounded-full px-3 py-1 text-xs font-medium",[e.unref(I)[r.variant].backgroundColor,e.unref(I)[r.variant].textColor]])},[e.renderSlot(o.$slots,"default")],2))}},f={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t,{expose:r}){const o=t,a=e.ref(null);return r({buttonRef:a}),(n,s)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(n.$attrs,{class:["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-50 disabled:active:scale-100",[e.unref(g)[o.variant].backgroundColor,e.unref(g)[o.variant].borderColor,e.unref(g)[o.variant].textColor,e.unref(g)[o.variant].hoverBackgroundColor,e.unref(g)[o.variant].hoverTextColor,e.unref(g)[o.variant].focusRing]],ref_key:"buttonRef",ref:a}),[e.renderSlot(n.$slots,"default")],16))}},Ce={},Be={class:"rounded-2xl bg-white p-6"};function we(t,r){return e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(t.$slots,"default")])}const h=p(Ce,[["render",we]]),P={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=e.ref(null);return(a,n)=>(e.openBlock(),e.createElementBlock("button",{onClick:n[1]||(n[1]=s=>o.value.click()),class:"group/checkbox has-checked:bg-brand-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm bg-neutral-200 transition-all duration-300 active:scale-[0.50] has-disabled:cursor-not-allowed has-disabled:opacity-50"},[n[2]||(n[2]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-check-icon lucide-check scale-0 stroke-white opacity-0 group-has-[:checked]/checkbox:scale-100 group-has-[:checked]/checkbox:opacity-100"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(a.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"checkbox",ref_key:"checkboxRef",ref:o,hidden:""}),null,16),[[e.vModelCheckbox,r.value]])]))}},j={__name:"Dialog",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("DIALOG_META",{toggled:r,toggleDialog:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleDialog:o})}},k={__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(r,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(r.$attrs,{class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]"}),[e.renderSlot(r.$slots,"default")],16))}},z={__name:"DialogContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleDialog:a}=e.inject("DIALOG_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(k,{key:0,onClick:s[0]||(s[0]=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(h,{key:0,class:e.normalizeClass(["fixed top-1/2 left-1/2 z-[200] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},M={__name:"DialogToggle",setup(t){const r=e.useSlots(),{toggleDialog:o}=e.inject("DIALOG_META");return(a,n)=>{var s,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)})))}}},Se={class:"flex flex-col items-center justify-center gap-8"},$e={class:"flex items-center gap-2"},L={__name:"Empty",setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Se,[o[2]||(o[2]=e.createStaticVNode('<div class="flex max-w-xs flex-col items-center gap-2 text-center"><div class="bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" class="text-brand-primary-700 h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></div><b class="text-lg font-medium">No Projects Yet</b><p class="text-sm text-neutral-600"> You haven&#39;t created any projects yet. Get started by creating your first project. </p></div>',1)),e.createElementVNode("div",$e,[e.createVNode(f,{class:"h-10",variant:"outlined"},{default:e.withCtx(()=>o[0]||(o[0]=[e.createTextVNode("Import Project")])),_:1,__:[0]}),e.createVNode(f,{class:"h-10",variant:"primary"},{default:e.withCtx(()=>o[1]||(o[1]=[e.createTextVNode("Create Project")])),_:1,__:[1]})])]))}},Ee={class:"group flex flex-col gap-2"},G={__name:"FormField",props:{validate:{type:Boolean,default:!1}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Ee,[e.renderSlot(r.$slots,"default")]))}},Ae={},Ve={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 Te(t,r){return e.openBlock(),e.createElementBlock("p",Ve,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const W=p(Ae,[["render",Te],["__scopeId","data-v-00088154"]]),H={__name:"Input",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:"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]])}},Ne={};function De(t,r){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-xs font-medium transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const F=p(Ne,[["render",De]]),O={__name:"Radio",props:e.mergeModels({variant:{type:String,default:"small"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=t,a=e.ref(null),n={small:{outerCircleSize:"size-4",innerCircleSize:"size-2.5"},large:{outerCircleSize:"size-5",innerCircleSize:"size-3"}};return(s,c)=>(e.openBlock(),e.createElementBlock("button",{onClick:c[1]||(c[1]=i=>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]=i=>r.value=i),type:"radio",ref_key:"radioRef",ref:a,hidden:""}),null,16),[[e.vModelRadio,r.value]])],2))}},Ie="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",q={__name:"Select",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:["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]])}},U={__name:"Sheet",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SHEET_META",{toggled:r,toggleSheet:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleSheet:o})}},Y={__name:"SheetContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleSheet:a}=e.inject("SHEET_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(k,{key:0,onClick:s[0]||(s[0]=c=>e.unref(a)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"slide"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(h,{key:0,class:e.normalizeClass(["fixed top-1/2 right-0 z-[150] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},Z={__name:"SheetToggle",setup(t){const r=e.useSlots(),{toggleSheet:o}=e.inject("SHEET_META");return(a,n)=>{var s,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)})))}}},Re={},Pe={class:"bg-primary-100 animate-pulse rounded-lg"};function je(t,r){return e.openBlock(),e.createElementBlock("div",Pe)}const J=p(Re,[["render",je]]),X={__name:"Switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=r,a=t;function n(){o("update:modelValue",!a.modelValue)}return(s,c)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(s.$attrs,{onClick:c[0]||(c[0]=i=>n()),class:["group/switch h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",a.modelValue?"from-brand-primary-600 to-brand-primary-700 bg-gradient-to-br":"bg-neutral-200"],role:"switch",type:"button"}),[e.createElementVNode("span",{class:e.normalizeClass(["pointer-events-none flex size-4 items-center justify-center rounded-full bg-white shadow-md transition-all duration-300",{"translate-x-full":a.modelValue}])},[e.renderSlot(s.$slots,"icon")],2)],16))}},ze={class:"w-full"},Me={class:"h-16"},Le={key:0},Ge={key:0,class:"pe-4"},Q={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("table",ze,[e.createElementVNode("thead",null,[e.createElementVNode("tr",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",Ge,[e.renderSlot(o.$slots,"actions",{row:n})])):e.createCommentVNode("",!0)]))),128))])]))}},We={class:"overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden"},K={__name:"Tabs",props:{default:{default:null}},setup(t){const r=t,o=e.ref(r.default);function a(n){o.value=n}return e.provide("TAB_DATA",{currentValue:o,setCurrentValue:a}),(n,s)=>(e.openBlock(),e.createElementBlock("div",We,[e.renderSlot(n.$slots,"default")]))}},v=p({__name:"TabItem",props:{value:{required:!0}},setup(t){const r=t,o=e.inject("TAB_DATA"),{currentValue:a,setCurrentValue:n}=o,s=e.computed(()=>a.value===r.value?["bg-white","font-medium","text-primary-700","shadow-xl","tab-active"]:"text-neutral-600");return(c,i)=>(e.openBlock(),e.createElementBlock("button",{onClick:i[0]||(i[0]=b=>e.unref(n)(r.value)),class:e.normalizeClass(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",s.value])},[e.renderSlot(c.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-9e06f71f"]]),ee={__name:"TextArea",props:["modelValue"],setup(t){const r=t,o=e.ref(r.modelValue);return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:n[0]||(n[0]=s=>a.$emit("update:modelValue",s.target.value))},a.$attrs,{"onUpdate:modelValue":n[1]||(n[1]=s=>o.value=s),class:"text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"}),null,16)),[[e.vModelText,o.value]])}},He={install(t){t.component("AppHeader",x),t.component("AppHeaderLink",y),t.component("AppLayout",C),t.component("AppMain",B),t.component("AppNavTabs",w),t.component("AppNavTab",S),t.component("AppSidebar",$),t.component("AppSidebarItem",E),t.component("AppSidebarItemChild",A),t.component("AppSidebarItemChildren",V),t.component("AppSidebarItemParent",T),t.component("AppSidebarToggle",N),t.component("AppSidebarNavSection",D),t.component("Badge",R),t.component("Button",f),t.component("Checkbox",P),t.component("Card",h),t.component("Dialog",j),t.component("DialogContent",z),t.component("DialogToggle",M),t.component("DialogBackground",k),t.component("Empty",L),t.component("FormField",G),t.component("FormFieldError",W),t.component("Input",H),t.component("Label",F),t.component("Radio",O),t.component("Select",q),t.component("Sheet",U),t.component("SheetContent",Y),t.component("SheetToggle",Z),t.component("SkeletonLoader",J),t.component("Switch",X),t.component("Table",Q),t.component("Tabs",K),t.component("TabItem",v),t.component("TextArea",ee)}};l.AppHeader=x,l.AppHeaderLink=y,l.AppLayout=C,l.AppMain=B,l.AppNavTab=S,l.AppNavTabs=w,l.AppSidebar=$,l.AppSidebarItem=E,l.AppSidebarItemChild=A,l.AppSidebarItemChildren=V,l.AppSidebarItemParent=T,l.AppSidebarNavSection=D,l.AppSidebarToggle=N,l.Badge=R,l.Button=f,l.Card=h,l.Checkbox=P,l.Dialog=j,l.DialogBackground=k,l.DialogContent=z,l.DialogToggle=M,l.Empty=L,l.FormField=G,l.FormFieldError=W,l.Input=H,l.Label=F,l.Radio=O,l.Select=q,l.Sheet=U,l.SheetContent=Y,l.SheetToggle=Z,l.SkeletonLoader=J,l.Switch=X,l.TabItem=v,l.Table=Q,l.Tabs=K,l.TextArea=ee,l.default=He,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.ScrubbedTailwindComponentsV2={},l.Vue,l.vueRouter))})(this,function(l,e,m){"use strict";const te={class:"flex w-full items-center justify-between"},re={class:"flex items-center gap-2"},oe={class:"flex items-center gap-10"},ne={class:"hidden gap-6 sm:flex"},_={__name:"AppHeader",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(["fixed top-0 flex h-16 w-dvw items-center justify-center bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(o)}])},[e.createElementVNode("nav",te,[e.createElementVNode("div",re,[e.createElementVNode("button",{onClick:s[0]||(s[0]=i=>e.unref(a)()),class:"block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"},s[1]||(s[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-menu-icon lucide-menu size-5 stroke-neutral-600"},[e.createElementVNode("path",{d:"M4 12h16"}),e.createElementVNode("path",{d:"M4 18h16"}),e.createElementVNode("path",{d:"M4 6h16"})],-1)])),e.renderSlot(n.$slots,"header-img")]),e.createElementVNode("div",oe,[e.createElementVNode("ul",ne,[e.renderSlot(n.$slots,"header-links")]),e.renderSlot(n.$slots,"header-actions")])])],2))}},ae=["href"],y={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("li",null,[r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,class:"hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"hover:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all",href:r.to},[e.renderSlot(o.$slots,"default")],8,ae))]))}},le={class:"relative"},se={class:"flex"},C={__name:"AppLayout",setup(t){const r=e.ref(!1);function o(){window.innerWidth<=640?(r.value=!r.value,a()):r.value&&(r.value=!1,a())}function a(){const n=document.querySelector("body");n.classList.contains("bg-black")?n.classList.remove("bg-black"):n.classList.add("bg-black")}return e.provide("APP_DATA",{isSidebarToggled:r,toggleSidebar:o}),(n,s)=>{var i,c,b,u,d,x;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]",{"origin-[center_top] translate-y-4 scale-93":r.value}])},[e.createElementVNode("div",le,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((c=(i=n.$slots).default)==null?void 0:c.call(i)[0])))),e.createElementVNode("div",se,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((u=(b=n.$slots).default)==null?void 0:u.call(b)[1])))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((x=(d=n.$slots).default)==null?void 0:x.call(d)[2]))))])])],2)}}},B={__name:"AppMain",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o}=r;return(a,n)=>(e.openBlock(),e.createElementBlock("main",{class:e.normalizeClass(["bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pt-24 pb-9 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",e.unref(o)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(a.$slots,"default")],2))}},p=(t,r)=>{const o=t.__vccOpts||t;for(const[a,n]of r)o[a]=n;return o},ie={},ce={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function de(t,r){return e.openBlock(),e.createElementBlock("div",ce,[e.renderSlot(t.$slots,"default")])}const w=p(ie,[["render",de]]),pe={class:"shrink-0"},S={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const r=t;return e.ref(null),(o,a)=>(e.openBlock(),e.createElementBlock("div",pe,[e.createVNode(e.unref(m.RouterLink),{class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default"),a[0]||(a[0]=e.createElementVNode("div",{class:"bg-primary-100 absolute inset-x-0 z-[-1] h-8 w-full rounded-lg opacity-0 transition-all contain-strict group-hover:transform-none group-hover:opacity-100 group-hover:[transform-origin:50%_50%_0px]"},null,-1))]),_:3,__:[0]},8,["to"])]))}},me={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},$=p({__name:"AppSidebar",setup(t){const r=e.inject("APP_DATA"),{isSidebarToggled:o,toggleSidebar:a}=r;return(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",me,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:"shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(o)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=i=>e.unref(a)()),class:e.normalizeClass(["backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",e.unref(o)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},[["__scopeId","data-v-aaece1c7"]]),ge={class:"flex flex-col"},E={__name:"AppSidebarItem",setup(t){m.useRoute();const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SIDEBAR_TOGGLE",{toggled:r,toggleSidebarItem:o}),(a,n)=>(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(a.$slots,"default")]))}},ue=["href"],A={__name:"AppSidebarItemChild",props:{to:{type:[String,Object],required:!0}},setup(t){const r=t;return(o,a)=>typeof r.to=="object"||r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all [&.router-link-exact-active]:font-medium",to:r.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden rounded-lg px-3 text-xs leading-[40px] text-ellipsis whitespace-nowrap transition-all",href:r.to},[e.renderSlot(o.$slots,"default")],8,ue))}},V={__name:"AppSidebarItemChildren",setup(t){const r=e.inject("SIDEBAR_TOGGLE"),{toggled:o}=r;return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all",{"mt-2 max-h-max overflow-y-auto px-2 opacity-100":e.unref(o)}])},[e.renderSlot(a.$slots,"default")],2))}},be={class:"link group/sidebar-item hover:bg-background-main peer has-[&.router-link-active]:from-brand-primary-50 has-[&.router-link-active]:to-brand-primary-100 flex h-10 items-center justify-between rounded-lg px-3 transition-all has-[&.router-link-active]:bg-gradient-to-br"},fe=["href"],T={__name:"AppSidebarItemParent",props:{to:{type:[String,Object],required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const r=m.useRoute(),o=t,a=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:i}=a,{toggleSidebar:c}=n;function b(){r.matched.some(d=>o.name===d.name)?s.value=!0:s.value=!1}return e.watch(r,()=>b(),{immediate:!0}),(u,d)=>(e.openBlock(),e.createElementBlock("div",be,[typeof o.to=="object"||o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(m.RouterLink),{key:0,onClick:d[0]||(d[0]=x=>e.unref(c)()),class:"[&.router-link-active]:text-primary-700 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",href:o.to},[e.renderSlot(u.$slots,"default")],8,fe)),o.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:d[1]||(d[1]=x=>e.unref(i)()),class:"hover:bg-brand-primary-200 cursor-pointer rounded-full p-1 transition-all",type:"button"},[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-brand-primary-800 transition-all duration-300",{"rotate-180":e.unref(s)}])},d[2]||(d[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},he={class:"hover:bg-background-main has-[&.router-link-active]:active has-[&.router-link-active]:bg-primary-700 peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},N={__name:"AppSidebarToggle",setup(t){const r=e.inject("SIDEBAR_TOGGLE");return(o,a)=>{const n=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",he,[e.createVNode(n,{class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",to:"/"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3}),e.createElementVNode("button",{onClick:a[0]||(a[0]=s=>e.unref(r).toggleSidebarItem()),class:"cursor-pointer",type:"button"},a[1]||(a[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-chevron-down-icon lucide-chevron-down stroke-white"},[e.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1)]))])}}},ke={},xe={key:0,class:"text-primary-950 px-1 text-sm font-medium"},_e={class:"mt-2"};function ye(t,r){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",xe,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",_e,[e.renderSlot(t.$slots,"items")])])}const D=p(ke,[["render",ye]]),I={primary:{backgroundColor:"bg-brand-primary-700",textColor:"text-white"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700"},success:{backgroundColor:"bg-success-400",textColor:"text-white"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600"}},g={primary:{backgroundColor:"bg-gradient-to-br from-brand-primary-500 to-brand-primary-700",textColor:"text-white",hoverBackgroundColor:"hover:from-brand-primary-700 hover:to-brand-primary-800",focusRing:"focus:ring-brand-primary-300"},secondary:{backgroundColor:"bg-neutral-100",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-200",focusRing:"focus:ring-neutral-300"},success:{backgroundColor:"bg-success-400",textColor:"text-white",hoverBackgroundColor:"hover:bg-success-500",focusRing:"focus:ring-success-300"},danger:{backgroundColor:"bg-danger-600",textColor:"text-white",hoverBackgroundColor:"hover:bg-danger-700",focusRing:"focus:ring-danger-300"},warning:{backgroundColor:"bg-warning-500",textColor:"text-neutral-950",hoverBackgroundColor:"hover:bg-warning-600",focusRing:"focus:ring-warning-300"},secondaryPrimary:{backgroundColor:"bg-brand-primary-100",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-200",focusRing:"focus:ring-brand-primary-200"},secondaryAltPrimary:{backgroundColor:"bg-primary-100",textColor:"text-primary-700",hoverBackgroundColor:"hover:bg-primary-200",focusRing:"focus:ring-primary-200"},secondarySuccess:{backgroundColor:"bg-success-100",textColor:"text-success-700",hoverBackgroundColor:"hover:bg-success-200",focusRing:"focus:ring-success-200"},secondaryDanger:{backgroundColor:"bg-danger-100",textColor:"text-danger-700",hoverBackgroundColor:"hover:bg-danger-200",focusRing:"focus:ring-danger-200"},secondaryWarning:{backgroundColor:"bg-warning-100",textColor:"text-warning-700",hoverBackgroundColor:"hover:bg-warning-200",focusRing:"focus:ring-warning-200"},outlined:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",borderColor:"border border-neutral-200",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},outlinedPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",borderColor:"border border-brand-primary-300",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},outlinedSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",borderColor:"border border-success-300",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},outlinedDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",borderColor:"border border-danger-300",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},outlinedWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",borderColor:"border border-warning-300",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"},ghost:{backgroundColor:"bg-transparent",textColor:"text-neutral-700",hoverBackgroundColor:"hover:bg-neutral-100",hoverTextColor:"hover:text-neutral-900",focusRing:"focus:ring-neutral-200"},ghostPrimary:{backgroundColor:"bg-transparent",textColor:"text-brand-primary-700",hoverBackgroundColor:"hover:bg-brand-primary-100",hoverTextColor:"hover:text-brand-primary-800",focusRing:"focus:ring-brand-primary-200"},ghostSuccess:{backgroundColor:"bg-transparent",textColor:"text-success-600",hoverBackgroundColor:"hover:bg-success-100",hoverTextColor:"hover:text-success-700",focusRing:"focus:ring-success-200"},ghostDanger:{backgroundColor:"bg-transparent",textColor:"text-danger-600",hoverBackgroundColor:"hover:bg-danger-100",hoverTextColor:"hover:text-danger-700",focusRing:"focus:ring-danger-200"},ghostWarning:{backgroundColor:"bg-transparent",textColor:"text-warning-600",hoverBackgroundColor:"hover:bg-warning-100",hoverTextColor:"hover:text-warning-700",focusRing:"focus:ring-warning-200"}},R={__name:"Badge",props:{variant:{type:String,default:"primary"}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["rounded-full px-3 py-1 text-xs font-medium",[e.unref(I)[r.variant].backgroundColor,e.unref(I)[r.variant].textColor]])},[e.renderSlot(o.$slots,"default")],2))}},f={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t,{expose:r}){const o=t,a=e.ref(null);return r({buttonRef:a}),(n,s)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(n.$attrs,{class:["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-50 disabled:active:scale-100",[e.unref(g)[o.variant].backgroundColor,e.unref(g)[o.variant].borderColor,e.unref(g)[o.variant].textColor,e.unref(g)[o.variant].hoverBackgroundColor,e.unref(g)[o.variant].hoverTextColor,e.unref(g)[o.variant].focusRing]],ref_key:"buttonRef",ref:a}),[e.renderSlot(n.$slots,"default")],16))}},Ce={},Be={class:"rounded-2xl bg-white p-6"};function we(t,r){return e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(t.$slots,"default")])}const h=p(Ce,[["render",we]]),P={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=e.ref(null);return(a,n)=>(e.openBlock(),e.createElementBlock("button",{onClick:n[1]||(n[1]=s=>o.value.click()),class:"group/checkbox has-checked:bg-brand-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm bg-neutral-200 transition-all duration-300 active:scale-[0.50] has-disabled:cursor-not-allowed has-disabled:opacity-50"},[n[2]||(n[2]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-check-icon lucide-check scale-0 stroke-white opacity-0 group-has-[:checked]/checkbox:scale-100 group-has-[:checked]/checkbox:opacity-100"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(a.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"checkbox",ref_key:"checkboxRef",ref:o,hidden:""}),null,16),[[e.vModelCheckbox,r.value]])]))}},z={__name:"Dialog",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("DIALOG_META",{toggled:r,toggleDialog:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleDialog:o})}},k={__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(r,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(r.$attrs,{class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]"}),[e.renderSlot(r.$slots,"default")],16))}},j={__name:"DialogContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleDialog:a}=e.inject("DIALOG_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(k,{key:0,onClick:s[0]||(s[0]=i=>e.unref(a)()),class:"z-[175]"})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade-in-dialog"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(h,{key:0,class:e.normalizeClass(["fixed top-1/2 left-1/2 z-[200] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},M={__name:"DialogToggle",setup(t){const r=e.useSlots(),{toggleDialog:o}=e.inject("DIALOG_META");return(a,n)=>{var s,i;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((i=(s=e.unref(r)).default)==null?void 0:i.call(s)[0],{onClick:e.unref(o)})))}}},Se={class:"flex flex-col items-center justify-center gap-8"},$e={class:"flex items-center gap-2"},L={__name:"Empty",setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Se,[o[2]||(o[2]=e.createStaticVNode('<div class="flex max-w-xs flex-col items-center gap-2 text-center"><div class="bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"><svg xmlns="http://www.w3.org/2000/svg" class="text-brand-primary-700 h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></div><b class="text-lg font-medium">No Projects Yet</b><p class="text-sm text-neutral-600"> You haven&#39;t created any projects yet. Get started by creating your first project. </p></div>',1)),e.createElementVNode("div",$e,[e.createVNode(f,{class:"h-10",variant:"outlined"},{default:e.withCtx(()=>o[0]||(o[0]=[e.createTextVNode("Import Project")])),_:1,__:[0]}),e.createVNode(f,{class:"h-10",variant:"primary"},{default:e.withCtx(()=>o[1]||(o[1]=[e.createTextVNode("Create Project")])),_:1,__:[1]})])]))}},G={__name:"FormField",props:{invalid:{type:[Boolean,String]},validate:{type:Boolean,default:!1}},setup(t){const r=t,o=e.computed(()=>r.invalid===!0||typeof r.invalid=="string"&&r.invalid.trim()!=="");return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["group flex flex-col gap-2",{"invalid-form":o.value}])},[e.renderSlot(a.$slots,"default")],2))}},Ee={},Ae={class:"text-danger-700 hidden h-0 text-xs opacity-0 transition-all group-has-user-invalid:mt-1 group-has-user-invalid:block group-has-user-invalid:h-4 group-has-user-invalid:opacity-100 group-[&.invalid-form]:mt-1 group-[&.invalid-form]:block group-[&.invalid-form]:h-4 group-[&.invalid-form]:opacity-100"};function Ve(t,r){return e.openBlock(),e.createElementBlock("p",Ae,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const W=p(Ee,[["render",Ve],["__scopeId","data-v-39085694"]]),H={__name:"Input",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:"group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none group-[&.invalid-form]:ring-2 placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"},null,512)),[[e.vModelText,r.value]])}},Te={};function Ne(t,r){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-xs font-medium transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const F=p(Te,[["render",Ne]]),O={__name:"Radio",props:e.mergeModels({variant:{type:String,default:"small"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue"),o=t,a=e.ref(null),n={small:{outerCircleSize:"size-4",innerCircleSize:"size-2.5"},large:{outerCircleSize:"size-5",innerCircleSize:"size-3"}};return(s,i)=>(e.openBlock(),e.createElementBlock("button",{onClick:i[1]||(i[1]=c=>a.value.click()),class:e.normalizeClass(["group/radio has-checked:border-brand-primary-700 flex cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent bg-neutral-100 duration-300 active:scale-[0.80] has-checked:bg-white",n[o.variant].outerCircleSize]),role:"radio",type:"button"},[e.createElementVNode("div",{class:e.normalizeClass(["group-has-checked/radio:bg-brand-primary-700 grid place-items-center rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100",n[o.variant].innerCircleSize])},[e.renderSlot(s.$slots,"default")],2),e.withDirectives(e.createElementVNode("input",e.mergeProps(s.$attrs,{"onUpdate:modelValue":i[0]||(i[0]=c=>r.value=c),type:"radio",ref_key:"radioRef",ref:a,hidden:""}),null,16),[[e.vModelRadio,r.value]])],2))}},De="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",q={__name:"Select",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const r=e.useModel(t,"modelValue");return(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{"onUpdate:modelValue":a[0]||(a[0]=n=>r.value=n),class:["group-[&.invalid-form]:ring-danger-700 group-[&.invalid-form]:focus:ring-danger-700 text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50",De]}),[e.renderSlot(o.$slots,"default")],16)),[[e.vModelSelect,r.value]])}},U={__name:"Sheet",setup(t){const r=e.ref(!1);function o(){r.value=!r.value}return e.provide("SHEET_META",{toggled:r,toggleSheet:o}),(a,n)=>e.renderSlot(a.$slots,"default",{toggled:r.value,toggleSheet:o})}},Y={__name:"SheetContent",props:{class:{type:String}},setup(t){const r=t,{toggled:o,toggleSheet:a}=e.inject("SHEET_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(k,{key:0,onClick:s[0]||(s[0]=i=>e.unref(a)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"slide"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createBlock(h,{key:0,class:e.normalizeClass(["fixed top-1/2 right-0 z-[150] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl",r.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},Z={__name:"SheetToggle",setup(t){const r=e.useSlots(),{toggleSheet:o}=e.inject("SHEET_META");return(a,n)=>{var s,i;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((i=(s=e.unref(r)).default)==null?void 0:i.call(s)[0],{onClick:e.unref(o)})))}}},Ie={},Re={class:"bg-primary-100 animate-pulse rounded-lg"};function Pe(t,r){return e.openBlock(),e.createElementBlock("div",Re)}const J=p(Ie,[["render",Pe]]),X={__name:"Switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=r,a=t;function n(){o("update:modelValue",!a.modelValue)}return(s,i)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(s.$attrs,{onClick:i[0]||(i[0]=c=>n()),class:["group/switch h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",a.modelValue?"from-brand-primary-600 to-brand-primary-700 bg-gradient-to-br":"bg-neutral-200"],role:"switch",type:"button"}),[e.createElementVNode("span",{class:e.normalizeClass(["pointer-events-none flex size-4 items-center justify-center rounded-full bg-white shadow-md transition-all duration-300",{"translate-x-full":a.modelValue}])},[e.renderSlot(s.$slots,"icon")],2)],16))}},ze={class:"w-full"},je={class:"h-16"},Me={key:0},Le={key:0,class:"pe-4"},Q={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const r=t;return(o,a)=>(e.openBlock(),e.createElementBlock("table",ze,[e.createElementVNode("thead",null,[e.createElementVNode("tr",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.columns,n=>(e.openBlock(),e.createElementBlock("th",{key:n.key,class:"text-xs font-medium text-neutral-600 first-of-type:ps-4"},e.toDisplayString(n.label),1))),128)),o.$slots.actions?(e.openBlock(),e.createElementBlock("th",Me)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.data,(n,s)=>(e.openBlock(),e.createElementBlock("tr",{key:s,class:"odd:bg-background-main/50 hover:bg-background-main min-h-16 rounded-md transition-all"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.columns,i=>(e.openBlock(),e.createElementBlock("td",{key:i.key,class:"text-primary-950 py-4 text-xs first-of-type:rounded-s-md first-of-type:ps-4 last-of-type:rounded-e-md last-of-type:pe-4"},[e.renderSlot(o.$slots,i.key,{row:n},()=>[e.createTextVNode(e.toDisplayString(n[i.key]),1)])]))),128)),o.$slots.actions?(e.openBlock(),e.createElementBlock("td",Le,[e.renderSlot(o.$slots,"actions",{row:n})])):e.createCommentVNode("",!0)]))),128))])]))}},Ge={class:"overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden"},K={__name:"Tabs",props:{default:{default:null}},setup(t){const r=t,o=e.ref(r.default);function a(n){o.value=n}return e.provide("TAB_DATA",{currentValue:o,setCurrentValue:a}),(n,s)=>(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(n.$slots,"default")]))}},v=p({__name:"TabItem",props:{value:{required:!0}},setup(t){const r=t,o=e.inject("TAB_DATA"),{currentValue:a,setCurrentValue:n}=o,s=e.computed(()=>a.value===r.value?["bg-white","font-medium","text-primary-700","shadow-xl","tab-active"]:"text-neutral-600");return(i,c)=>(e.openBlock(),e.createElementBlock("button",{onClick:c[0]||(c[0]=b=>e.unref(n)(r.value)),class:e.normalizeClass(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",s.value])},[e.renderSlot(i.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-9e06f71f"]]),ee={__name:"TextArea",props:["modelValue"],setup(t){const r=t,o=e.ref(r.modelValue);return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:n[0]||(n[0]=s=>a.$emit("update:modelValue",s.target.value))},a.$attrs,{"onUpdate:modelValue":n[1]||(n[1]=s=>o.value=s),class:"text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"}),null,16)),[[e.vModelText,o.value]])}},We={install(t){t.component("AppHeader",_),t.component("AppHeaderLink",y),t.component("AppLayout",C),t.component("AppMain",B),t.component("AppNavTabs",w),t.component("AppNavTab",S),t.component("AppSidebar",$),t.component("AppSidebarItem",E),t.component("AppSidebarItemChild",A),t.component("AppSidebarItemChildren",V),t.component("AppSidebarItemParent",T),t.component("AppSidebarToggle",N),t.component("AppSidebarNavSection",D),t.component("Badge",R),t.component("Button",f),t.component("Checkbox",P),t.component("Card",h),t.component("Dialog",z),t.component("DialogContent",j),t.component("DialogToggle",M),t.component("DialogBackground",k),t.component("Empty",L),t.component("FormField",G),t.component("FormFieldError",W),t.component("Input",H),t.component("Label",F),t.component("Radio",O),t.component("Select",q),t.component("Sheet",U),t.component("SheetContent",Y),t.component("SheetToggle",Z),t.component("SkeletonLoader",J),t.component("Switch",X),t.component("Table",Q),t.component("Tabs",K),t.component("TabItem",v),t.component("TextArea",ee)}};l.AppHeader=_,l.AppHeaderLink=y,l.AppLayout=C,l.AppMain=B,l.AppNavTab=S,l.AppNavTabs=w,l.AppSidebar=$,l.AppSidebarItem=E,l.AppSidebarItemChild=A,l.AppSidebarItemChildren=V,l.AppSidebarItemParent=T,l.AppSidebarNavSection=D,l.AppSidebarToggle=N,l.Badge=R,l.Button=f,l.Card=h,l.Checkbox=P,l.Dialog=z,l.DialogBackground=k,l.DialogContent=j,l.DialogToggle=M,l.Empty=L,l.FormField=G,l.FormFieldError=W,l.Input=H,l.Label=F,l.Radio=O,l.Select=q,l.Sheet=U,l.SheetContent=Y,l.SheetToggle=Z,l.SkeletonLoader=J,l.Switch=X,l.TabItem=v,l.Table=Q,l.Tabs=K,l.TextArea=ee,l.default=We,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scrubbed-tailwind-components-v2",
3
- "version": "2.2.1-d",
3
+ "version": "2.3.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/scrubbed-tailwind-components-v2.umd.js",
@@ -43,7 +43,7 @@
43
43
  "prettier-plugin-tailwindcss": "^0.6.13",
44
44
  "start-server-and-test": "^2.0.11",
45
45
  "vite": "^6.2.4",
46
- "vite-plugin-vue-devtools": "^7.7.2",
46
+ "vite-plugin-vue-devtools": "^8.0.2",
47
47
  "vue-router": "^4.5.0"
48
48
  }
49
49
  }