scrubbed-tailwind-components-v2 2.0.4-b → 2.0.4-b-rc2

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