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

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