scrubbed-tailwind-components-v2 2.5.1 → 2.5.2
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.
- package/dist/Alert.vue.d.ts +7 -0
- package/dist/AlertContent.vue.d.ts +9 -0
- package/dist/AlertTitle.vue.d.ts +9 -0
- package/dist/AppContentHeader.vue.d.ts +18 -0
- package/dist/AppHeader.vue.d.ts +15 -0
- package/dist/AppHeaderLink.vue.d.ts +16 -0
- package/dist/AppLayout.vue.d.ts +2 -0
- package/dist/AppMain.vue.d.ts +9 -0
- package/dist/AppNavTab.vue.d.ts +14 -0
- package/dist/AppNavTabs.vue.d.ts +9 -0
- package/dist/AppSidebar.vue.d.ts +6 -0
- package/dist/AppSidebarItem.vue.d.ts +9 -0
- package/dist/AppSidebarItemChild.vue.d.ts +16 -0
- package/dist/AppSidebarItemChildren.vue.d.ts +9 -0
- package/dist/AppSidebarItemParent.vue.d.ts +20 -0
- package/dist/AppSidebarNavSection.vue.d.ts +11 -0
- package/dist/AppSidebarToggle.vue.d.ts +9 -0
- package/dist/Badge.vue.d.ts +14 -0
- package/dist/Button.vue.d.ts +15 -0
- package/dist/Card.vue.d.ts +9 -0
- package/dist/Checkbox.vue.d.ts +2 -0
- package/dist/Dialog.vue.d.ts +13 -0
- package/dist/DialogBackground.vue.d.ts +9 -0
- package/dist/{DialogContent-BrXhtNDl.js → DialogContent-BQ3bdCEs.js} +1 -1
- package/dist/DialogContent.vue.d.ts +16 -0
- package/dist/DialogToggle.vue.d.ts +2 -0
- package/dist/Empty.vue.d.ts +11 -0
- package/dist/EmptyContent.vue.d.ts +9 -0
- package/dist/EmptyTitle.vue.d.ts +9 -0
- package/dist/FormField.vue.d.ts +16 -0
- package/dist/FormFieldError.vue.d.ts +9 -0
- package/dist/Input.vue.d.ts +2 -0
- package/dist/Label.vue.d.ts +9 -0
- package/dist/MultiSelect.vue.d.ts +11 -0
- package/dist/Popover.vue.d.ts +6 -0
- package/dist/PopoverContent.vue.d.ts +2 -0
- package/dist/PopoverToggle.vue.d.ts +2 -0
- package/dist/Radio.vue.d.ts +14 -0
- package/dist/Select.vue.d.ts +9 -0
- package/dist/Sheet.vue.d.ts +13 -0
- package/dist/{SheetContent-CwM7Ef5X.js → SheetContent-DflOq7ZN.js} +1 -1
- package/dist/SheetContent.vue.d.ts +14 -0
- package/dist/SheetToggle.vue.d.ts +2 -0
- package/dist/SkeletonLoader.vue.d.ts +2 -0
- package/dist/StateActions.vue.d.ts +9 -0
- package/dist/Switch.vue.d.ts +15 -0
- package/dist/TabItem.vue.d.ts +14 -0
- package/dist/Table.vue.d.ts +22 -0
- package/dist/Tabs.vue.d.ts +14 -0
- package/dist/TagsInput.vue.d.ts +11 -0
- package/dist/TextArea.vue.d.ts +7 -0
- package/dist/X.vue.d.ts +2 -0
- package/dist/{index-BF-I-8pN.js → index-CoFsEOrT.js} +219 -217
- package/dist/index.d.ts +171 -0
- package/dist/scrubbed-tailwind-components-v2.es.js +1 -1
- package/dist/scrubbed-tailwind-components-v2.umd.js +1 -1
- package/package.json +20 -9
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
function install(app: any): void;
|
|
3
|
+
}
|
|
4
|
+
export default _default;
|
|
5
|
+
import Alert from "./Alert.vue";
|
|
6
|
+
import AlertContent from "./AlertContent.vue";
|
|
7
|
+
import AlertTitle from "./AlertTitle.vue";
|
|
8
|
+
import AppHeader from "./AppHeader.vue";
|
|
9
|
+
import AppHeaderLink from "./AppHeaderLink.vue";
|
|
10
|
+
import AppLayout from "./AppLayout.vue";
|
|
11
|
+
import AppMain from "./AppMain.vue";
|
|
12
|
+
import AppNavTabs from "./AppNavTabs.vue";
|
|
13
|
+
import AppNavTab from "./AppNavTab.vue";
|
|
14
|
+
import AppSidebar from "./AppSidebar.vue";
|
|
15
|
+
import AppSidebarItem from "./AppSidebarItem.vue";
|
|
16
|
+
import AppSidebarItemChild from "./AppSidebarItemChild.vue";
|
|
17
|
+
import AppSidebarItemChildren from "./AppSidebarItemChildren.vue";
|
|
18
|
+
import AppSidebarItemParent from "./AppSidebarItemParent.vue";
|
|
19
|
+
import AppSidebarToggle from "./AppSidebarToggle.vue";
|
|
20
|
+
import AppSidebarNavSection from "./AppSidebarNavSection.vue";
|
|
21
|
+
import Badge from "./Badge.vue";
|
|
22
|
+
import Button from "./Button.vue";
|
|
23
|
+
import Card from "./Card.vue";
|
|
24
|
+
import Checkbox from "./Checkbox.vue";
|
|
25
|
+
export const Dialog: {
|
|
26
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
27
|
+
P: {};
|
|
28
|
+
B: {};
|
|
29
|
+
D: {};
|
|
30
|
+
C: {};
|
|
31
|
+
M: {};
|
|
32
|
+
Defaults: {};
|
|
33
|
+
}, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
34
|
+
__isFragment?: never;
|
|
35
|
+
__isTeleport?: never;
|
|
36
|
+
__isSuspense?: never;
|
|
37
|
+
} & import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
38
|
+
$slots: {
|
|
39
|
+
default?: (props: {
|
|
40
|
+
toggled: boolean;
|
|
41
|
+
toggleDialog: () => void;
|
|
42
|
+
}) => any;
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
export const DialogContent: {
|
|
46
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
|
|
47
|
+
backgroundZ: string;
|
|
48
|
+
class?: string;
|
|
49
|
+
$props: {
|
|
50
|
+
readonly backgroundZ?: string;
|
|
51
|
+
readonly class?: string;
|
|
52
|
+
};
|
|
53
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
54
|
+
P: {};
|
|
55
|
+
B: {};
|
|
56
|
+
D: {};
|
|
57
|
+
C: {};
|
|
58
|
+
M: {};
|
|
59
|
+
Defaults: {};
|
|
60
|
+
}, Readonly<{}> & Readonly<{}>, {
|
|
61
|
+
backgroundZ: string;
|
|
62
|
+
class?: string;
|
|
63
|
+
$props: {
|
|
64
|
+
readonly backgroundZ?: string;
|
|
65
|
+
readonly class?: string;
|
|
66
|
+
};
|
|
67
|
+
}, {}, {}, {}, {}>;
|
|
68
|
+
__isFragment?: never;
|
|
69
|
+
__isTeleport?: never;
|
|
70
|
+
__isSuspense?: never;
|
|
71
|
+
} & import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
|
|
72
|
+
backgroundZ: string;
|
|
73
|
+
class?: string;
|
|
74
|
+
$props: {
|
|
75
|
+
readonly backgroundZ?: string;
|
|
76
|
+
readonly class?: string;
|
|
77
|
+
};
|
|
78
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
79
|
+
$slots: {
|
|
80
|
+
default?: (props: {}) => any;
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
export const DialogToggle: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
84
|
+
export const DialogBackground: {
|
|
85
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
86
|
+
P: {};
|
|
87
|
+
B: {};
|
|
88
|
+
D: {};
|
|
89
|
+
C: {};
|
|
90
|
+
M: {};
|
|
91
|
+
Defaults: {};
|
|
92
|
+
}, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
93
|
+
__isFragment?: never;
|
|
94
|
+
__isTeleport?: never;
|
|
95
|
+
__isSuspense?: never;
|
|
96
|
+
} & import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
97
|
+
$slots: {
|
|
98
|
+
default?: (props: {}) => any;
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
import Empty from "./Empty.vue";
|
|
102
|
+
import EmptyContent from "./EmptyContent.vue";
|
|
103
|
+
import EmptyTitle from "./EmptyTitle.vue";
|
|
104
|
+
import FormField from "./FormField.vue";
|
|
105
|
+
import FormFieldError from "./FormFieldError.vue";
|
|
106
|
+
import Input from "./Input.vue";
|
|
107
|
+
import Label from "./Label.vue";
|
|
108
|
+
import MultiSelect from "./MultiSelect.vue";
|
|
109
|
+
import Radio from "./Radio.vue";
|
|
110
|
+
import Select from "./Select.vue";
|
|
111
|
+
export const Sheet: {
|
|
112
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
113
|
+
P: {};
|
|
114
|
+
B: {};
|
|
115
|
+
D: {};
|
|
116
|
+
C: {};
|
|
117
|
+
M: {};
|
|
118
|
+
Defaults: {};
|
|
119
|
+
}, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
120
|
+
__isFragment?: never;
|
|
121
|
+
__isTeleport?: never;
|
|
122
|
+
__isSuspense?: never;
|
|
123
|
+
} & import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
124
|
+
$slots: {
|
|
125
|
+
default?: (props: {
|
|
126
|
+
toggled: boolean;
|
|
127
|
+
toggleSheet: () => void;
|
|
128
|
+
}) => any;
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
export const SheetContent: {
|
|
132
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
|
|
133
|
+
class?: string;
|
|
134
|
+
$props: {
|
|
135
|
+
readonly class?: string;
|
|
136
|
+
};
|
|
137
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
138
|
+
P: {};
|
|
139
|
+
B: {};
|
|
140
|
+
D: {};
|
|
141
|
+
C: {};
|
|
142
|
+
M: {};
|
|
143
|
+
Defaults: {};
|
|
144
|
+
}, Readonly<{}> & Readonly<{}>, {
|
|
145
|
+
class?: string;
|
|
146
|
+
$props: {
|
|
147
|
+
readonly class?: string;
|
|
148
|
+
};
|
|
149
|
+
}, {}, {}, {}, {}>;
|
|
150
|
+
__isFragment?: never;
|
|
151
|
+
__isTeleport?: never;
|
|
152
|
+
__isSuspense?: never;
|
|
153
|
+
} & import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
|
|
154
|
+
class?: string;
|
|
155
|
+
$props: {
|
|
156
|
+
readonly class?: string;
|
|
157
|
+
};
|
|
158
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
159
|
+
$slots: {
|
|
160
|
+
default?: (props: {}) => any;
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
export const SheetToggle: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
164
|
+
import SkeletonLoader from "./SkeletonLoader.vue";
|
|
165
|
+
import StateActions from "./StateActions.vue";
|
|
166
|
+
import Switch from "./Switch.vue";
|
|
167
|
+
import Table from "./Table.vue";
|
|
168
|
+
import Tabs from "./Tabs.vue";
|
|
169
|
+
import TabItem from "./TabItem.vue";
|
|
170
|
+
import TextArea from "./TextArea.vue";
|
|
171
|
+
export { Alert, AlertContent, AlertTitle, AppHeader, AppHeaderLink, AppLayout, AppMain, AppNavTabs, AppNavTab, AppSidebar, AppSidebarItem, AppSidebarItemChild, AppSidebarItemChildren, AppSidebarItemParent, AppSidebarToggle, AppSidebarNavSection, Badge, Button, Card, Checkbox, Empty, EmptyContent, EmptyTitle, FormField, FormFieldError, Input, Label, MultiSelect, Radio, Select, SkeletonLoader, StateActions, Switch, Table, Tabs, TabItem, TextArea };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "vue";
|
|
2
|
-
import { _ as t, A as p, a as o, b as r, c as i, d as l, e as d, g as n, f as A, h as S, i as b, j as g, k as m, l as T, n as C, m as c, o as h, p as u, C as I, q as k, D as y, t as D, r as E, s as F, E as L, u as v, v as x, w as B, F as N, x as f, L as H, y as M, z as w, B as P, S as j, G as q, H as z, I as G, J, K, T as O, M as R, N as _, O as Q, P as U } from "./index-
|
|
2
|
+
import { _ as t, A as p, a as o, b as r, c as i, d as l, e as d, g as n, f as A, h as S, i as b, j as g, k as m, l as T, n as C, m as c, o as h, p as u, C as I, q as k, D as y, t as D, r as E, s as F, E as L, u as v, v as x, w as B, F as N, x as f, L as H, y as M, z as w, B as P, S as j, G as q, H as z, I as G, J, K, T as O, M as R, N as _, O as Q, P as U } from "./index-CoFsEOrT.js";
|
|
3
3
|
export {
|
|
4
4
|
t as Alert,
|
|
5
5
|
p as AlertContent,
|
|
@@ -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,f){"use strict";const y={__name:"Alert",props:{variant:{type:String,default:"info",validator:t=>["info","success","warning","destructive"].includes(t)}},setup(t){const o=e.useSlots(),r=t,l={info:{root:"bg-brand-primary-100 border-brand-primary-300 text-brand-primary-900 ",icon:"bg-brand-primary-300 text-brand-primary-700"},success:{root:"bg-success-100 border-success-300 text-success-800",icon:"bg-success-300 text-green-700"},warning:{root:"bg-warning-100 border-warning-300 text-warning-800",icon:"bg-warning-400 text-yellow-700"},destructive:{root:"bg-danger-100 border-danger-300 text-danger-700",icon:"bg-danger-300 text-red-700"}},n={info:{icon:"stroke-brand-primary-900"},success:{icon:"stroke-success-800"},warning:{icon:"stroke-warning-800"},destructive:{icon:"stroke-danger-700"}};return e.provide("ALERT",{VARIANT_MAP:l}),(s,c)=>{var d,m,g,i,u,_;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex w-full gap-4 rounded-2xl border p-4",l[r.variant].root])},[e.createElementVNode("div",{class:e.normalizeClass(["grid size-10 place-items-center rounded-full",l[r.variant].icon])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((m=(d=e.unref(o)).default)==null?void 0:m.call(d)[0])),{class:e.normalizeClass(["size-4",n[r.variant].icon])},null,8,["class"]))],2),e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((i=(g=e.unref(o)).default)==null?void 0:i.call(g)[1])))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((_=(u=e.unref(o)).default)==null?void 0:_.call(u)[2]))))])],2)}}},p=(t,o)=>{const r=t.__vccOpts||t;for(const[l,n]of o)r[l]=n;return r},se={},ce={class:"text-sm text-neutral-600"};function ie(t,o){return e.openBlock(),e.createElementBlock("span",ce,[e.renderSlot(t.$slots,"default")])}const x=p(se,[["render",ie]]),de={},me={class:"font-medium"};function ge(t,o){return e.openBlock(),e.createElementBlock("p",me,[e.renderSlot(t.$slots,"default")])}const C=p(de,[["render",ge]]),pe={class:"flex w-full items-center justify-between"},ue={class:"flex items-center gap-2"},fe={class:"lg:w-60"},be={class:"hidden xl:block"},he={class:"flex items-center gap-10"},ke={class:"hidden gap-6 sm:flex"},_e={__name:"AppHeader",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:r,toggleSidebar:l}=o;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 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(r)}])},[e.createElementVNode("nav",pe,[e.createElementVNode("div",ue,[e.createElementVNode("button",{onClick:s[0]||(s[0]=c=>e.unref(l)()),class:"block cursor-pointer rounded-full p-2 hover:bg-neutral-100 lg: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.createElementVNode("div",fe,[e.renderSlot(n.$slots,"header-img")]),e.createElementVNode("div",be,[e.renderSlot(n.$slots,"header-banner")])]),e.createElementVNode("div",he,[e.createElementVNode("ul",ke,[e.renderSlot(n.$slots,"header-links")]),e.renderSlot(n.$slots,"header-actions")])])],2))}},ye=["href"],B={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const o=t;return(r,l)=>(e.openBlock(),e.createElementBlock("li",null,[o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(f.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(r.$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(r.$slots,"default")],8,ye))]))}},xe={class:"relative"},Ce={class:"flex"},w={__name:"AppLayout",setup(t){const o=e.ref(!1);function r(){window.innerWidth<=1024?(o.value=!o.value,l()):o.value&&(o.value=!1,l())}function l(){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:o,toggleSidebar:r}),(n,s)=>{var c,d,m,g,i,u;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":o.value}])},[e.createElementVNode("div",xe,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((d=(c=n.$slots).default)==null?void 0:d.call(c)[0])))),e.createElementVNode("div",Ce,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((g=(m=n.$slots).default)==null?void 0:g.call(m)[1])))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((u=(i=n.$slots).default)==null?void 0:u.call(i)[2]))))])])],2)}}},S={__name:"AppMain",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:r}=o;return(l,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:pt-9 md:h-[calc(100dvh-4rem)] lg:ms-64 lg:w-[calc(100dvw-256px)]",e.unref(r)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(l.$slots,"default")],2))}},Be={},we={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function Se(t,o){return e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(t.$slots,"default")])}const $=p(Be,[["render",Se]]),$e={class:"shrink-0"},E={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const o=t;return e.ref(null),(r,l)=>(e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(e.unref(f.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(r.$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"])]))}},Ee={class:"sidebar-wrapper fixed top-0 left-0 hidden max-h-[calc(100vh-64px)] w-64 overflow-y-auto bg-white sm:top-16 lg:block"},Ae={key:0,class:"sticky top-0 z-50 bg-white"},Ve={key:1,class:"sticky bottom-0 z-50 bg-white"},A={__name:"AppSidebar",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:r,toggleSidebar:l}=o;return e.useSlots(),(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",Ee,[n.$slots.header?(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(n.$slots,"header")])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default"),n.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ve,[e.renderSlot(n.$slots,"footer")])):e.createCommentVNode("",!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 overflow-y-scroll rounded-t-2xl bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(r)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(n.$slots,"default")],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=c=>e.unref(l)()),class:e.normalizeClass(["backdrop transition-all [transition-behavior:allow-discrete] duration-300",e.unref(r)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},Te={class:"flex flex-col"},V={__name:"AppSidebarItem",setup(t){f.useRoute();const o=e.ref(!1);function r(){o.value=!o.value}return e.provide("SIDEBAR_TOGGLE",{toggled:o,toggleSidebarItem:r}),(l,n)=>(e.openBlock(),e.createElementBlock("div",Te,[e.renderSlot(l.$slots,"default")]))}},Ne=["href"],T={__name:"AppSidebarItemChild",props:{to:{type:[String,Object],required:!0}},setup(t){const o=t;return(r,l)=>typeof o.to=="object"||o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(f.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:o.to},{default:e.withCtx(()=>[e.renderSlot(r.$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:o.to},[e.renderSlot(r.$slots,"default")],8,Ne))}},N={__name:"AppSidebarItemChildren",setup(t){const o=e.inject("SIDEBAR_TOGGLE"),{toggled:r}=o;return(l,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(r)}])},[e.renderSlot(l.$slots,"default")],2))}},De={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"],D={__name:"AppSidebarItemParent",props:{to:{type:[String,Object],required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const o=f.useRoute(),r=t,l=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:c}=l,{toggleSidebar:d}=n;function m(){o.matched.some(i=>r.name===i.name)?s.value=!0:s.value=!1}return e.watch(o,()=>m(),{immediate:!0}),(g,i)=>(e.openBlock(),e.createElementBlock("div",De,[typeof r.to=="object"||r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(f.RouterLink),{key:0,onClick:i[0]||(i[0]=u=>e.unref(d)()),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:r.to},{default:e.withCtx(()=>[e.renderSlot(g.$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:r.to},[e.renderSlot(g.$slots,"default")],8,Ie)),r.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:i[1]||(i[1]=u=>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)}])},i[2]||(i[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},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"},I={__name:"AppSidebarToggle",setup(t){const o=e.inject("SIDEBAR_TOGGLE");return(r,l)=>{const n=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",Pe,[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(r.$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)]))])}}},ze={},Me={class:"px-4 pb-4 first-of-type:pt-4"},je={key:0,class:"text-primary-950 px-1 text-sm font-medium"},Re={class:"mt-2"};function Le(t,o){return e.openBlock(),e.createElementBlock("nav",Me,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",je,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",Re,[e.renderSlot(t.$slots,"items")])])}const P=p(ze,[["render",Le]]),z={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"}},b={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"}},M={__name:"Badge",props:{variant:{type:String,default:"primary"}},setup(t){const o=t;return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["rounded-full px-3 py-1 text-xs font-medium",[e.unref(z)[o.variant].backgroundColor,e.unref(z)[o.variant].textColor]])},[e.renderSlot(r.$slots,"default")],2))}},j={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t,{expose:o}){const r=t,l=e.ref(null);return o({buttonRef:l}),(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(b)[r.variant].backgroundColor,e.unref(b)[r.variant].borderColor,e.unref(b)[r.variant].textColor,e.unref(b)[r.variant].hoverBackgroundColor,e.unref(b)[r.variant].hoverTextColor,e.unref(b)[r.variant].focusRing]],ref_key:"buttonRef",ref:l}),[e.renderSlot(n.$slots,"default")],16))}},Oe={},Ge={class:"rounded-2xl bg-white p-6"};function Fe(t,o){return e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(t.$slots,"default")])}const h=p(Oe,[["render",Fe]]),R=Object.freeze(Object.defineProperty({__proto__:null,default:h},Symbol.toStringTag,{value:"Module"})),L={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),r=e.ref(null);return(l,n)=>(e.openBlock(),e.createElementBlock("button",{onClick:n[2]||(n[2]=s=>r.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[3]||(n[3]=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(l.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>o.value=s),onChange:n[1]||(n[1]=e.withModifiers(()=>{},["stop"])),type:"checkbox",ref_key:"checkboxRef",ref:r,hidden:""}),null,16),[[e.vModelCheckbox,o.value]])]))}},We={},He={class:"flex flex-col items-center justify-center gap-8"},qe={class:"flex max-w-xs flex-col items-center gap-2 text-center"},Ue={class:"bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"};function Ze(t,o){return e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("div",qe,[e.createElementVNode("div",Ue,[e.renderSlot(t.$slots,"icon")]),e.renderSlot(t.$slots,"default")])])}const O=p(We,[["render",Ze]]),Ke={},Je={class:"text-sm text-neutral-600"};function Ye(t,o){return e.openBlock(),e.createElementBlock("p",Je,[e.renderSlot(t.$slots,"default")])}const Xe=p(Ke,[["render",Ye]]),Qe={},ve={class:"text-lg font-medium"};function et(t,o){return e.openBlock(),e.createElementBlock("b",ve,[e.renderSlot(t.$slots,"default")])}const tt=p(Qe,[["render",et]]),G={__name:"FormField",props:{invalid:{type:[Boolean,String]},validate:{type:Boolean,default:!1}},setup(t){const o=t,r=e.computed(()=>o.invalid===!0||typeof o.invalid=="string"&&o.invalid.trim()!=="");return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["group flex flex-col gap-2",{"invalid-form":r.value}])},[e.renderSlot(l.$slots,"default")],2))}},ot={},rt={class:"text-danger-700 hidden h-0 text-xs opacity-0 transition-all group-has-user-invalid:mt-1 group-has-user-invalid:block group-has-user-invalid:h-4 group-has-user-invalid:opacity-100 group-[&.invalid-form]:mt-1 group-[&.invalid-form]:block group-[&.invalid-form]:h-4 group-[&.invalid-form]:opacity-100"};function nt(t,o){return e.openBlock(),e.createElementBlock("p",rt,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const F=p(ot,[["render",nt],["__scopeId","data-v-a299dc33"]]),W={__name:"Input",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(r,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":l[0]||(l[0]=n=>o.value=n),class:"group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none group-[&.invalid-form]:ring-2 placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"},null,512)),[[e.vModelText,o.value]])}},lt={};function at(t,o){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 H=p(lt,[["render",at]]),st={},ct={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-x-icon lucide-x"};function it(t,o){return e.openBlock(),e.createElementBlock("svg",ct,o[0]||(o[0]=[e.createElementVNode("path",{d:"M18 6 6 18"},null,-1),e.createElementVNode("path",{d:"m6 6 12 12"},null,-1)]))}const dt=p(st,[["render",it]]),mt={class:"max-w-72 space-y-2 rounded-xl border border-neutral-200 bg-white p-2"},gt={class:"flex flex-wrap gap-2"},pt={class:"group/item hover:border-brand-primary-500 inline-flex cursor-pointer items-center justify-center gap-2 rounded-full border border-neutral-200 bg-white px-3 py-2 text-xs transition-all"},ut=["onClick"],ft={class:"max-h-72 overflow-y-auto"},bt=["onClick"],q={__name:"MultiSelect",props:e.mergeModels({data:{type:Array,required:!0},labelKey:{type:String,required:!0},valueKey:{type:String,required:!0}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),r=t,l=e.ref([]),n=e.ref(null),s=e.computed(()=>{let m=r.data;return l.value.length&&(m=m.filter(g=>!l.value.some(i=>i[r.valueKey]===g[r.valueKey]))),n.value?m.filter(g=>g[r.labelKey].toLowerCase().includes(n.value.toLowerCase())):m});function c(m){l.value.push(m),o.value=l.value}function d(m){l.value.splice(m,1),o.value=l.value}return e.onMounted(()=>{l.value=o.value}),(m,g)=>(e.openBlock(),e.createElementBlock("div",mt,[e.createElementVNode("ul",gt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(i,u)=>(e.openBlock(),e.createElementBlock("li",pt,[e.createTextVNode(e.toDisplayString(i[r.labelKey])+" ",1),e.createElementVNode("button",{onClick:_=>d(u),class:"hidden shrink-0 cursor-pointer rounded-full group-hover/item:block"},[e.createVNode(dt,{class:"size-3.5 stroke-neutral-600"})],8,ut)]))),256))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":g[0]||(g[0]=i=>n.value=i),class:"w-full px-2 py-3 text-xs outline-none",placeholder:"Search",type:"text"},null,512),[[e.vModelText,n.value]]),e.createElementVNode("ul",ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,i=>(e.openBlock(),e.createElementBlock("li",{onClick:u=>c(i),class:"hover:bg-background-main cursor-pointer rounded-lg px-2 py-3 text-xs transition-colors",key:i[r.valueKey]},e.toDisplayString(i[r.labelKey]),9,bt))),128))])]))}},U={__name:"Radio",props:e.mergeModels({variant:{type:String,default:"small"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),r=t,l=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[2]||(c[2]=d=>l.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[r.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[r.variant].innerCircleSize])},[e.renderSlot(s.$slots,"default")],2),e.withDirectives(e.createElementVNode("input",e.mergeProps({onChange:c[0]||(c[0]=e.withModifiers(()=>{},["stop"]))},s.$attrs,{"onUpdate:modelValue":c[1]||(c[1]=d=>o.value=d),type:"radio",ref_key:"radioRef",ref:l,hidden:""}),null,16),[[e.vModelRadio,o.value]])],2))}},ht="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(r,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(r.$attrs,{"onUpdate:modelValue":l[0]||(l[0]=n=>o.value=n),class:["group-[&.invalid-form]:ring-danger-700 group-[&.invalid-form]:focus:ring-danger-700 text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50",ht]}),[e.renderSlot(r.$slots,"default")],16)),[[e.vModelSelect,o.value]])}},kt={},_t={class:"bg-primary-100 animate-pulse rounded-lg"};function yt(t,o){return e.openBlock(),e.createElementBlock("div",_t)}const K=p(kt,[["render",yt]]),xt={},Ct={class:"mt-4 flex items-center gap-2"};function Bt(t,o){return e.openBlock(),e.createElementBlock("div",Ct,[e.renderSlot(t.$slots,"default")])}const wt=p(xt,[["render",Bt]]),J={__name:"Switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:o}){const r=o,l=t;function n(){r("update:modelValue",!l.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",l.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":l.modelValue}])},[e.renderSlot(s.$slots,"icon")],2)],16))}},St={class:"w-full"},$t={class:"h-16"},Et={key:0},At={key:0,class:"pe-4"},Y={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const o=t;return(r,l)=>(e.openBlock(),e.createElementBlock("table",St,[e.createElementVNode("thead",null,[e.createElementVNode("tr",$t,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.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)),r.$slots.actions?(e.openBlock(),e.createElementBlock("th",Et)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.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(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(r.$slots,c.key,{row:n},()=>[e.createTextVNode(e.toDisplayString(n[c.key]),1)])]))),128)),r.$slots.actions?(e.openBlock(),e.createElementBlock("td",At,[e.renderSlot(r.$slots,"actions",{row:n})])):e.createCommentVNode("",!0)]))),128))])]))}},Vt={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 o=t,r=e.ref(o.default);function l(n){r.value=n}return e.provide("TAB_DATA",{currentValue:r,setCurrentValue:l}),(n,s)=>(e.openBlock(),e.createElementBlock("div",Vt,[e.renderSlot(n.$slots,"default")]))}},Q=p({__name:"TabItem",props:{value:{required:!0}},setup(t){const o=t,r=e.inject("TAB_DATA"),{currentValue:l,setCurrentValue:n}=r,s=e.computed(()=>l.value===o.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]=m=>e.unref(n)(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"]]),v={__name:"TextArea",props:e.mergeModels(["modelValue"],{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(r,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:l[0]||(l[0]=n=>r.$emit("update:modelValue",n.target.value))},r.$attrs,{"onUpdate:modelValue":l[1]||(l[1]=n=>o.value=n),class:"text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"}),null,16)),[[e.vModelText,o.value]])}},ee=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Nt)),te=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Dt)),oe=e.defineAsyncComponent(()=>Promise.resolve().then(()=>It)),re=e.defineAsyncComponent(()=>Promise.resolve().then(()=>k)),ne=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Pt)),le=e.defineAsyncComponent(()=>Promise.resolve().then(()=>zt)),ae=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Mt)),Tt={install(t){t.component("Alert",y),t.component("AlertContent",x),t.component("AlertTitle",C),t.component("AppHeaderLink",B),t.component("AppLayout",w),t.component("AppMain",S),t.component("AppNavTabs",$),t.component("AppNavTab",E),t.component("AppSidebar",A),t.component("AppSidebarItem",V),t.component("AppSidebarItemChild",T),t.component("AppSidebarItemChildren",N),t.component("AppSidebarItemParent",D),t.component("AppSidebarToggle",I),t.component("AppSidebarNavSection",P),t.component("Badge",M),t.component("Button",j),t.component("Checkbox",L),t.component("Card",h),t.component("Dialog",ee),t.component("DialogContent",te),t.component("DialogToggle",oe),t.component("DialogBackground",re),t.component("Empty",O),t.component("FormField",G),t.component("FormFieldError",F),t.component("Input",W),t.component("Label",H),t.component("MultiSelect",q),t.component("Radio",U),t.component("Select",Z),t.component("Sheet",ne),t.component("SheetContent",le),t.component("SheetToggle",ae),t.component("SkeletonLoader",K),t.component("Switch",J),t.component("Table",Y),t.component("Tabs",X),t.component("TabItem",Q),t.component("TextArea",v)}},Nt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"Dialog",setup(t){const o=e.ref(!1);function r(){o.value=!o.value}return e.provide("DIALOG_META",{toggled:o,toggleDialog:r}),(l,n)=>e.renderSlot(l.$slots,"default",{toggled:o.value,toggleDialog:r})}}},Symbol.toStringTag,{value:"Module"})),Dt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"DialogContent",props:{class:{type:String},backgroundZ:{type:String,default:"z-[175]"}},setup(t){const o=e.defineAsyncComponent(()=>Promise.resolve().then(()=>k)),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>R)),l=t,{toggled:n,toggleDialog:s}=e.inject("DIALOG_META");return(c,d)=>(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(e.unref(o),{key:0,onClick:d[0]||(d[0]=m=>e.unref(s)()),class:e.normalizeClass(l.backgroundZ)},null,8,["class"])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade-in-dialog"},{default:e.withCtx(()=>[e.unref(n)?(e.openBlock(),e.createBlock(e.unref(r),{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",l.class])},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}}},Symbol.toStringTag,{value:"Module"})),It=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"DialogToggle",setup(t){const o=e.useSlots(),{toggleDialog:r}=e.inject("DIALOG_META");return(l,n)=>{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(r)})))}}}},Symbol.toStringTag,{value:"Module"})),k=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(o,r)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(o.$attrs,{class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80"}),[e.renderSlot(o.$slots,"default")],16))}}},Symbol.toStringTag,{value:"Module"})),Pt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"Sheet",setup(t){const o=e.ref(!1);function r(){o.value=!o.value}return e.provide("SHEET_META",{toggled:o,toggleSheet:r}),(l,n)=>e.renderSlot(l.$slots,"default",{toggled:o.value,toggleSheet:r})}}},Symbol.toStringTag,{value:"Module"})),zt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SheetContent",props:{class:{type:String}},setup(t){const o=e.defineAsyncComponent(()=>Promise.resolve().then(()=>k)),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>R)),l=t,{toggled:n,toggleSheet:s}=e.inject("SHEET_META");return(c,d)=>(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(e.unref(o),{key:0,onClick:d[0]||(d[0]=m=>e.unref(s)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"slide"},{default:e.withCtx(()=>[e.unref(n)?(e.openBlock(),e.createBlock(e.unref(r),{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",l.class])},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}}},Symbol.toStringTag,{value:"Module"})),Mt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SheetToggle",setup(t){const o=e.useSlots(),{toggleSheet:r}=e.inject("SHEET_META");return(l,n)=>{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(r)})))}}}},Symbol.toStringTag,{value:"Module"}));a.Alert=y,a.AlertContent=x,a.AlertTitle=C,a.AppHeader=_e,a.AppHeaderLink=B,a.AppLayout=w,a.AppMain=S,a.AppNavTab=E,a.AppNavTabs=$,a.AppSidebar=A,a.AppSidebarItem=V,a.AppSidebarItemChild=T,a.AppSidebarItemChildren=N,a.AppSidebarItemParent=D,a.AppSidebarNavSection=P,a.AppSidebarToggle=I,a.Badge=M,a.Button=j,a.Card=h,a.Checkbox=L,a.Dialog=ee,a.DialogBackground=re,a.DialogContent=te,a.DialogToggle=oe,a.Empty=O,a.EmptyContent=Xe,a.EmptyTitle=tt,a.FormField=G,a.FormFieldError=F,a.Input=W,a.Label=H,a.MultiSelect=q,a.Radio=U,a.Select=Z,a.Sheet=ne,a.SheetContent=le,a.SheetToggle=ae,a.SkeletonLoader=K,a.StateActions=wt,a.Switch=J,a.TabItem=Q,a.Table=Y,a.Tabs=X,a.TextArea=v,a.default=Tt,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,f){"use strict";const y={__name:"Alert",props:{variant:{type:String,default:"info",validator:t=>["info","success","warning","destructive"].includes(t)}},setup(t){const o=e.useSlots(),r=t,l={info:{root:"bg-brand-primary-100 border-brand-primary-300 text-brand-primary-900 ",icon:"bg-brand-primary-300 text-brand-primary-700"},success:{root:"bg-success-100 border-success-300 text-success-800",icon:"bg-success-300 text-green-700"},warning:{root:"bg-warning-100 border-warning-300 text-warning-800",icon:"bg-warning-400 text-yellow-700"},destructive:{root:"bg-danger-100 border-danger-300 text-danger-700",icon:"bg-danger-300 text-red-700"}},n={info:{icon:"stroke-brand-primary-900"},success:{icon:"stroke-success-800"},warning:{icon:"stroke-warning-800"},destructive:{icon:"stroke-danger-700"}};return e.provide("ALERT",{VARIANT_MAP:l}),(s,c)=>{var d,m,g,i,u,_;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex w-full gap-4 rounded-2xl border p-4",l[r.variant].root])},[e.createElementVNode("div",{class:e.normalizeClass(["grid size-10 place-items-center rounded-full",l[r.variant].icon])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((m=(d=e.unref(o)).default)==null?void 0:m.call(d)[0])),{class:e.normalizeClass(["size-4",n[r.variant].icon])},null,8,["class"]))],2),e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((i=(g=e.unref(o)).default)==null?void 0:i.call(g)[1])))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((_=(u=e.unref(o)).default)==null?void 0:_.call(u)[2]))))])],2)}}},p=(t,o)=>{const r=t.__vccOpts||t;for(const[l,n]of o)r[l]=n;return r},se={},ce={class:"text-sm text-neutral-600"};function ie(t,o){return e.openBlock(),e.createElementBlock("span",ce,[e.renderSlot(t.$slots,"default")])}const x=p(se,[["render",ie]]),de={},me={class:"font-medium"};function ge(t,o){return e.openBlock(),e.createElementBlock("p",me,[e.renderSlot(t.$slots,"default")])}const C=p(de,[["render",ge]]),pe={class:"flex w-full items-center justify-between"},ue={class:"flex items-center gap-2"},fe={class:"lg:w-60"},be={class:"hidden xl:block"},he={class:"flex items-center gap-10"},ke={class:"hidden gap-6 sm:flex"},_e={__name:"AppHeader",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:r,toggleSidebar:l}=o;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 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(r)}])},[e.createElementVNode("nav",pe,[e.createElementVNode("div",ue,[e.createElementVNode("button",{onClick:s[0]||(s[0]=c=>e.unref(l)()),class:"block cursor-pointer rounded-full p-2 hover:bg-neutral-100 lg: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.createElementVNode("div",fe,[e.renderSlot(n.$slots,"header-img")]),e.createElementVNode("div",be,[e.renderSlot(n.$slots,"header-banner")])]),e.createElementVNode("div",he,[e.createElementVNode("ul",ke,[e.renderSlot(n.$slots,"header-links")]),e.renderSlot(n.$slots,"header-actions")])])],2))}},ye=["href"],B={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const o=t;return(r,l)=>(e.openBlock(),e.createElementBlock("li",null,[o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(f.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(r.$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(r.$slots,"default")],8,ye))]))}},xe={class:"relative"},Ce={class:"flex"},w={__name:"AppLayout",setup(t){const o=e.ref(!1);function r(){window.innerWidth<=1024?(o.value=!o.value,l()):o.value&&(o.value=!1,l())}function l(){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:o,toggleSidebar:r}),(n,s)=>{var c,d,m,g,i,u;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":o.value}])},[e.createElementVNode("div",xe,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((d=(c=n.$slots).default)==null?void 0:d.call(c)[0])))),e.createElementVNode("div",Ce,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((g=(m=n.$slots).default)==null?void 0:g.call(m)[1])))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.cloneVNode((u=(i=n.$slots).default)==null?void 0:u.call(i)[2]))))])])],2)}}},Be={class:"grid h-full w-full place-items-center items-center"},we={class:"mb-6 h-full w-full max-w-480 space-y-6"},S={__name:"AppMain",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:r}=o;return(l,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:pt-9 md:h-[calc(100dvh-4rem)] lg:ms-64 lg:w-[calc(100dvw-256px)]",e.unref(r)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.createElementVNode("div",Be,[e.createElementVNode("div",we,[e.renderSlot(l.$slots,"default")])])],2))}},Se={},$e={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function Ee(t,o){return e.openBlock(),e.createElementBlock("div",$e,[e.renderSlot(t.$slots,"default")])}const $=p(Se,[["render",Ee]]),Ae={class:"shrink-0"},E={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const o=t;return e.ref(null),(r,l)=>(e.openBlock(),e.createElementBlock("div",Ae,[e.createVNode(e.unref(f.RouterLink),{class:"[&.router-link-exact-active]:text-brand-primary-900 [&.router-link-exact-active]:border-brand-primary-700 [&.router-link-exact-active]:bg-primary-100 group relative flex h-10 shrink-0 items-center justify-between gap-2 rounded-t-xl border-b-2 border-transparent px-4 text-xs text-neutral-600 transition-all hover:border-neutral-400 hover:bg-neutral-100 [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["to"])]))}},Ve={class:"sidebar-wrapper fixed top-0 left-0 hidden max-h-[calc(100vh-64px)] w-64 overflow-y-auto bg-white sm:top-16 lg:block"},Te={key:0,class:"sticky top-0 z-50 bg-white"},Ne={key:1,class:"sticky bottom-0 z-50 bg-white"},A={__name:"AppSidebar",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:r,toggleSidebar:l}=o;return e.useSlots(),(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",Ve,[n.$slots.header?(e.openBlock(),e.createElementBlock("div",Te,[e.renderSlot(n.$slots,"header")])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default"),n.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ne,[e.renderSlot(n.$slots,"footer")])):e.createCommentVNode("",!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 overflow-y-scroll rounded-t-2xl bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(r)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(n.$slots,"default")],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=c=>e.unref(l)()),class:e.normalizeClass(["backdrop transition-all [transition-behavior:allow-discrete] duration-300",e.unref(r)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},De={class:"flex flex-col"},V={__name:"AppSidebarItem",setup(t){f.useRoute();const o=e.ref(!1);function r(){o.value=!o.value}return e.provide("SIDEBAR_TOGGLE",{toggled:o,toggleSidebarItem:r}),(l,n)=>(e.openBlock(),e.createElementBlock("div",De,[e.renderSlot(l.$slots,"default")]))}},Ie=["href"],T={__name:"AppSidebarItemChild",props:{to:{type:[String,Object],required:!0}},setup(t){const o=t;return(r,l)=>typeof o.to=="object"||o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(f.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:o.to},{default:e.withCtx(()=>[e.renderSlot(r.$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:o.to},[e.renderSlot(r.$slots,"default")],8,Ie))}},N={__name:"AppSidebarItemChildren",setup(t){const o=e.inject("SIDEBAR_TOGGLE"),{toggled:r}=o;return(l,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(r)}])},[e.renderSlot(l.$slots,"default")],2))}},Pe={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"},Me=["href"],D={__name:"AppSidebarItemParent",props:{to:{type:[String,Object],required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const o=f.useRoute(),r=t,l=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:c}=l,{toggleSidebar:d}=n;function m(){o.matched.some(i=>r.name===i.name)?s.value=!0:s.value=!1}return e.watch(o,()=>m(),{immediate:!0}),(g,i)=>(e.openBlock(),e.createElementBlock("div",Pe,[typeof r.to=="object"||r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(f.RouterLink),{key:0,onClick:i[0]||(i[0]=u=>e.unref(d)()),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:r.to},{default:e.withCtx(()=>[e.renderSlot(g.$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:r.to},[e.renderSlot(g.$slots,"default")],8,Me)),r.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:i[1]||(i[1]=u=>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)}])},i[2]||(i[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},ze={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"},I={__name:"AppSidebarToggle",setup(t){const o=e.inject("SIDEBAR_TOGGLE");return(r,l)=>{const n=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",ze,[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(r.$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)]))])}}},je={},Re={class:"px-4 pb-4 first-of-type:pt-4"},Le={key:0,class:"text-primary-950 px-1 text-sm font-medium"},Oe={class:"mt-2"};function Ge(t,o){return e.openBlock(),e.createElementBlock("nav",Re,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",Le,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",Oe,[e.renderSlot(t.$slots,"items")])])}const P=p(je,[["render",Ge]]),M={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"}},b={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"}},z={__name:"Badge",props:{variant:{type:String,default:"primary"}},setup(t){const o=t;return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["rounded-full px-3 py-1 text-xs font-medium",[e.unref(M)[o.variant].backgroundColor,e.unref(M)[o.variant].textColor]])},[e.renderSlot(r.$slots,"default")],2))}},j={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t,{expose:o}){const r=t,l=e.ref(null);return o({buttonRef:l}),(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(b)[r.variant].backgroundColor,e.unref(b)[r.variant].borderColor,e.unref(b)[r.variant].textColor,e.unref(b)[r.variant].hoverBackgroundColor,e.unref(b)[r.variant].hoverTextColor,e.unref(b)[r.variant].focusRing]],ref_key:"buttonRef",ref:l}),[e.renderSlot(n.$slots,"default")],16))}},Fe={},We={class:"rounded-2xl bg-white p-6"};function He(t,o){return e.openBlock(),e.createElementBlock("div",We,[e.renderSlot(t.$slots,"default")])}const h=p(Fe,[["render",He]]),R=Object.freeze(Object.defineProperty({__proto__:null,default:h},Symbol.toStringTag,{value:"Module"})),L={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),r=e.ref(null);return(l,n)=>(e.openBlock(),e.createElementBlock("button",{onClick:n[2]||(n[2]=s=>r.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[3]||(n[3]=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(l.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>o.value=s),onChange:n[1]||(n[1]=e.withModifiers(()=>{},["stop"])),type:"checkbox",ref_key:"checkboxRef",ref:r,hidden:""}),null,16),[[e.vModelCheckbox,o.value]])]))}},qe={},Ue={class:"flex flex-col items-center justify-center gap-8"},Ze={class:"flex max-w-xs flex-col items-center gap-2 text-center"},Ke={class:"bg-brand-primary-100 mb-2 grid size-12 place-items-center rounded-full"};function Je(t,o){return e.openBlock(),e.createElementBlock("div",Ue,[e.createElementVNode("div",Ze,[e.createElementVNode("div",Ke,[e.renderSlot(t.$slots,"icon")]),e.renderSlot(t.$slots,"default")])])}const O=p(qe,[["render",Je]]),Ye={},Xe={class:"text-sm text-neutral-600"};function Qe(t,o){return e.openBlock(),e.createElementBlock("p",Xe,[e.renderSlot(t.$slots,"default")])}const ve=p(Ye,[["render",Qe]]),et={},tt={class:"text-lg font-medium"};function ot(t,o){return e.openBlock(),e.createElementBlock("b",tt,[e.renderSlot(t.$slots,"default")])}const rt=p(et,[["render",ot]]),G={__name:"FormField",props:{invalid:{type:[Boolean,String]},validate:{type:Boolean,default:!1}},setup(t){const o=t,r=e.computed(()=>o.invalid===!0||typeof o.invalid=="string"&&o.invalid.trim()!=="");return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["group flex flex-col gap-2",{"invalid-form":r.value}])},[e.renderSlot(l.$slots,"default")],2))}},nt={},lt={class:"text-danger-700 hidden h-0 text-xs opacity-0 transition-all group-has-user-invalid:mt-1 group-has-user-invalid:block group-has-user-invalid:h-4 group-has-user-invalid:opacity-100 group-[&.invalid-form]:mt-1 group-[&.invalid-form]:block group-[&.invalid-form]:h-4 group-[&.invalid-form]:opacity-100"};function at(t,o){return e.openBlock(),e.createElementBlock("p",lt,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const F=p(nt,[["render",at],["__scopeId","data-v-a299dc33"]]),W={__name:"Input",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(r,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":l[0]||(l[0]=n=>o.value=n),class:"group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 text-primary-950 focus:ring-brand-primary-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs ring-offset-2 transition-all duration-300 outline-none group-[&.invalid-form]:ring-2 placeholder:text-neutral-400 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"},null,512)),[[e.vModelText,o.value]])}},st={};function ct(t,o){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 H=p(st,[["render",ct]]),it={},dt={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-x-icon lucide-x"};function mt(t,o){return e.openBlock(),e.createElementBlock("svg",dt,o[0]||(o[0]=[e.createElementVNode("path",{d:"M18 6 6 18"},null,-1),e.createElementVNode("path",{d:"m6 6 12 12"},null,-1)]))}const gt=p(it,[["render",mt]]),pt={class:"max-w-72 space-y-2 rounded-xl border border-neutral-200 bg-white p-2"},ut={class:"flex flex-wrap gap-2"},ft={class:"group/item hover:border-brand-primary-500 inline-flex cursor-pointer items-center justify-center gap-2 rounded-full border border-neutral-200 bg-white px-3 py-2 text-xs transition-all"},bt=["onClick"],ht={class:"max-h-72 overflow-y-auto"},kt=["onClick"],q={__name:"MultiSelect",props:e.mergeModels({data:{type:Array,required:!0},labelKey:{type:String,required:!0},valueKey:{type:String,required:!0}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),r=t,l=e.ref([]),n=e.ref(null),s=e.computed(()=>{let m=r.data;return l.value.length&&(m=m.filter(g=>!l.value.some(i=>i[r.valueKey]===g[r.valueKey]))),n.value?m.filter(g=>g[r.labelKey].toLowerCase().includes(n.value.toLowerCase())):m});function c(m){l.value.push(m),o.value=l.value}function d(m){l.value.splice(m,1),o.value=l.value}return e.onMounted(()=>{l.value=o.value}),(m,g)=>(e.openBlock(),e.createElementBlock("div",pt,[e.createElementVNode("ul",ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(i,u)=>(e.openBlock(),e.createElementBlock("li",ft,[e.createTextVNode(e.toDisplayString(i[r.labelKey])+" ",1),e.createElementVNode("button",{onClick:_=>d(u),class:"hidden shrink-0 cursor-pointer rounded-full group-hover/item:block"},[e.createVNode(gt,{class:"size-3.5 stroke-neutral-600"})],8,bt)]))),256))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":g[0]||(g[0]=i=>n.value=i),class:"w-full px-2 py-3 text-xs outline-none",placeholder:"Search",type:"text"},null,512),[[e.vModelText,n.value]]),e.createElementVNode("ul",ht,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,i=>(e.openBlock(),e.createElementBlock("li",{onClick:u=>c(i),class:"hover:bg-background-main cursor-pointer rounded-lg px-2 py-3 text-xs transition-colors",key:i[r.valueKey]},e.toDisplayString(i[r.labelKey]),9,kt))),128))])]))}},U={__name:"Radio",props:e.mergeModels({variant:{type:String,default:"small"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),r=t,l=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[2]||(c[2]=d=>l.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[r.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[r.variant].innerCircleSize])},[e.renderSlot(s.$slots,"default")],2),e.withDirectives(e.createElementVNode("input",e.mergeProps({onChange:c[0]||(c[0]=e.withModifiers(()=>{},["stop"]))},s.$attrs,{"onUpdate:modelValue":c[1]||(c[1]=d=>o.value=d),type:"radio",ref_key:"radioRef",ref:l,hidden:""}),null,16),[[e.vModelRadio,o.value]])],2))}},_t="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(r,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(r.$attrs,{"onUpdate:modelValue":l[0]||(l[0]=n=>o.value=n),class:["group-[&.invalid-form]:ring-danger-700 group-[&.invalid-form]:focus:ring-danger-700 text-primary-950 user-invalid:ring-danger-700 focus:user-invalid:ring-danger-700 focus:ring-brand-primary-700 appearance-none rounded-lg border-[1px] border-neutral-200 bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50",_t]}),[e.renderSlot(r.$slots,"default")],16)),[[e.vModelSelect,o.value]])}},yt={},xt={class:"bg-primary-100 animate-pulse rounded-lg"};function Ct(t,o){return e.openBlock(),e.createElementBlock("div",xt)}const K=p(yt,[["render",Ct]]),Bt={},wt={class:"mt-4 flex items-center gap-2"};function St(t,o){return e.openBlock(),e.createElementBlock("div",wt,[e.renderSlot(t.$slots,"default")])}const $t=p(Bt,[["render",St]]),J={__name:"Switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:o}){const r=o,l=t;function n(){r("update:modelValue",!l.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",l.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":l.modelValue}])},[e.renderSlot(s.$slots,"icon")],2)],16))}},Et={class:"w-full"},At={class:"h-16"},Vt={key:0},Tt={key:0,class:"pe-4"},Y={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const o=t;return(r,l)=>(e.openBlock(),e.createElementBlock("table",Et,[e.createElementVNode("thead",null,[e.createElementVNode("tr",At,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.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)),r.$slots.actions?(e.openBlock(),e.createElementBlock("th",Vt)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.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(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(r.$slots,c.key,{row:n},()=>[e.createTextVNode(e.toDisplayString(n[c.key]),1)])]))),128)),r.$slots.actions?(e.openBlock(),e.createElementBlock("td",Tt,[e.renderSlot(r.$slots,"actions",{row:n})])):e.createCommentVNode("",!0)]))),128))])]))}},Nt={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 o=t,r=e.ref(o.default);function l(n){r.value=n}return e.provide("TAB_DATA",{currentValue:r,setCurrentValue:l}),(n,s)=>(e.openBlock(),e.createElementBlock("div",Nt,[e.renderSlot(n.$slots,"default")]))}},Q=p({__name:"TabItem",props:{value:{required:!0}},setup(t){const o=t,r=e.inject("TAB_DATA"),{currentValue:l,setCurrentValue:n}=r,s=e.computed(()=>l.value===o.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]=m=>e.unref(n)(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"]]),v={__name:"TextArea",props:e.mergeModels(["modelValue"],{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue");return(r,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:l[0]||(l[0]=n=>r.$emit("update:modelValue",n.target.value))},r.$attrs,{"onUpdate:modelValue":l[1]||(l[1]=n=>o.value=n),class:"text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 group-[&.invalid-form]:focus:ring-danger-700 group-[&.invalid-form]:ring-danger-700 focus:user-invalid:ring-danger-700 user-invalid:ring-danger-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs ring-offset-2 transition-all outline-none group-[&.invalid-form]:ring-2 user-invalid:ring-2 focus:ring-2 focus:ring-offset-2 group-[&.invalid-form]:focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50"}),null,16)),[[e.vModelText,o.value]])}},ee=e.defineAsyncComponent(()=>Promise.resolve().then(()=>It)),te=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Pt)),oe=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Mt)),re=e.defineAsyncComponent(()=>Promise.resolve().then(()=>k)),ne=e.defineAsyncComponent(()=>Promise.resolve().then(()=>zt)),le=e.defineAsyncComponent(()=>Promise.resolve().then(()=>jt)),ae=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Rt)),Dt={install(t){t.component("Alert",y),t.component("AlertContent",x),t.component("AlertTitle",C),t.component("AppHeaderLink",B),t.component("AppLayout",w),t.component("AppMain",S),t.component("AppNavTabs",$),t.component("AppNavTab",E),t.component("AppSidebar",A),t.component("AppSidebarItem",V),t.component("AppSidebarItemChild",T),t.component("AppSidebarItemChildren",N),t.component("AppSidebarItemParent",D),t.component("AppSidebarToggle",I),t.component("AppSidebarNavSection",P),t.component("Badge",z),t.component("Button",j),t.component("Checkbox",L),t.component("Card",h),t.component("Dialog",ee),t.component("DialogContent",te),t.component("DialogToggle",oe),t.component("DialogBackground",re),t.component("Empty",O),t.component("FormField",G),t.component("FormFieldError",F),t.component("Input",W),t.component("Label",H),t.component("MultiSelect",q),t.component("Radio",U),t.component("Select",Z),t.component("Sheet",ne),t.component("SheetContent",le),t.component("SheetToggle",ae),t.component("SkeletonLoader",K),t.component("Switch",J),t.component("Table",Y),t.component("Tabs",X),t.component("TabItem",Q),t.component("TextArea",v)}},It=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"Dialog",setup(t){const o=e.ref(!1);function r(){o.value=!o.value}return e.provide("DIALOG_META",{toggled:o,toggleDialog:r}),(l,n)=>e.renderSlot(l.$slots,"default",{toggled:o.value,toggleDialog:r})}}},Symbol.toStringTag,{value:"Module"})),Pt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"DialogContent",props:{class:{type:String},backgroundZ:{type:String,default:"z-[175]"}},setup(t){const o=e.defineAsyncComponent(()=>Promise.resolve().then(()=>k)),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>R)),l=t,{toggled:n,toggleDialog:s}=e.inject("DIALOG_META");return(c,d)=>(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(e.unref(o),{key:0,onClick:d[0]||(d[0]=m=>e.unref(s)()),class:e.normalizeClass(l.backgroundZ)},null,8,["class"])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade-in-dialog"},{default:e.withCtx(()=>[e.unref(n)?(e.openBlock(),e.createBlock(e.unref(r),{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",l.class])},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}}},Symbol.toStringTag,{value:"Module"})),Mt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"DialogToggle",setup(t){const o=e.useSlots(),{toggleDialog:r}=e.inject("DIALOG_META");return(l,n)=>{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(r)})))}}}},Symbol.toStringTag,{value:"Module"})),k=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(o,r)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(o.$attrs,{class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80"}),[e.renderSlot(o.$slots,"default")],16))}}},Symbol.toStringTag,{value:"Module"})),zt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"Sheet",setup(t){const o=e.ref(!1);function r(){o.value=!o.value}return e.provide("SHEET_META",{toggled:o,toggleSheet:r}),(l,n)=>e.renderSlot(l.$slots,"default",{toggled:o.value,toggleSheet:r})}}},Symbol.toStringTag,{value:"Module"})),jt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SheetContent",props:{class:{type:String}},setup(t){const o=e.defineAsyncComponent(()=>Promise.resolve().then(()=>k)),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>R)),l=t,{toggled:n,toggleSheet:s}=e.inject("SHEET_META");return(c,d)=>(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(e.unref(o),{key:0,onClick:d[0]||(d[0]=m=>e.unref(s)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"slide"},{default:e.withCtx(()=>[e.unref(n)?(e.openBlock(),e.createBlock(e.unref(r),{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",l.class])},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}}},Symbol.toStringTag,{value:"Module"})),Rt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SheetToggle",setup(t){const o=e.useSlots(),{toggleSheet:r}=e.inject("SHEET_META");return(l,n)=>{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(r)})))}}}},Symbol.toStringTag,{value:"Module"}));a.Alert=y,a.AlertContent=x,a.AlertTitle=C,a.AppHeader=_e,a.AppHeaderLink=B,a.AppLayout=w,a.AppMain=S,a.AppNavTab=E,a.AppNavTabs=$,a.AppSidebar=A,a.AppSidebarItem=V,a.AppSidebarItemChild=T,a.AppSidebarItemChildren=N,a.AppSidebarItemParent=D,a.AppSidebarNavSection=P,a.AppSidebarToggle=I,a.Badge=z,a.Button=j,a.Card=h,a.Checkbox=L,a.Dialog=ee,a.DialogBackground=re,a.DialogContent=te,a.DialogToggle=oe,a.Empty=O,a.EmptyContent=ve,a.EmptyTitle=rt,a.FormField=G,a.FormFieldError=F,a.Input=W,a.Label=H,a.MultiSelect=q,a.Radio=U,a.Select=Z,a.Sheet=ne,a.SheetContent=le,a.SheetToggle=ae,a.SkeletonLoader=K,a.StateActions=$t,a.Switch=J,a.TabItem=Q,a.Table=Y,a.Tabs=X,a.TextArea=v,a.default=Dt,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scrubbed-tailwind-components-v2",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/scrubbed-tailwind-components-v2.umd.js",
|
|
7
7
|
"module": "dist/scrubbed-tailwind-components-v2.es.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
8
9
|
"files": [
|
|
9
10
|
"dist"
|
|
10
11
|
],
|
|
11
12
|
"exports": {
|
|
12
13
|
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
13
15
|
"import": "./dist/scrubbed-tailwind-components-v2.es.js",
|
|
14
16
|
"require": "./dist/scrubbed-tailwind-components-v2.umd.js",
|
|
15
17
|
"default": "./dist/scrubbed-tailwind-components-v2.es.js"
|
|
@@ -17,7 +19,8 @@
|
|
|
17
19
|
},
|
|
18
20
|
"scripts": {
|
|
19
21
|
"dev": "vite",
|
|
20
|
-
"build": "vite build",
|
|
22
|
+
"build": "vite build && npm run build:types",
|
|
23
|
+
"build:types": "vue-tsc -p tsconfig.types.json --declaration --emitDeclarationOnly",
|
|
21
24
|
"preview": "vite preview",
|
|
22
25
|
"prepare": "cypress install",
|
|
23
26
|
"test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'",
|
|
@@ -26,15 +29,18 @@
|
|
|
26
29
|
"test:unit:dev": "cypress open --component",
|
|
27
30
|
"format": "prettier --write src/"
|
|
28
31
|
},
|
|
29
|
-
"dependencies": {
|
|
30
|
-
"@tailwindcss/vite": "^4.1.14",
|
|
31
|
-
"tailwindcss": "^4.1.14",
|
|
32
|
-
"vue-router": "^5.0.4"
|
|
33
|
-
},
|
|
32
|
+
"dependencies": {},
|
|
34
33
|
"peerDependencies": {
|
|
35
|
-
"vue": "^3.5.13"
|
|
34
|
+
"vue": "^3.5.13",
|
|
35
|
+
"vue-router": "^4.4.5"
|
|
36
|
+
},
|
|
37
|
+
"peerDependenciesMeta": {
|
|
38
|
+
"vue-router": {
|
|
39
|
+
"optional": true
|
|
40
|
+
}
|
|
36
41
|
},
|
|
37
42
|
"devDependencies": {
|
|
43
|
+
"@tailwindcss/vite": "^4.1.14",
|
|
38
44
|
"@vitejs/plugin-vue": "^5.2.3",
|
|
39
45
|
"@vitejs/plugin-vue-jsx": "^4.1.2",
|
|
40
46
|
"cypress": "^14.2.1",
|
|
@@ -42,7 +48,12 @@
|
|
|
42
48
|
"prettier-plugin-classnames": "^0.7.8",
|
|
43
49
|
"prettier-plugin-tailwindcss": "^0.6.13",
|
|
44
50
|
"start-server-and-test": "^2.0.11",
|
|
51
|
+
"tailwindcss": "^4.1.14",
|
|
52
|
+
"typescript": "^5.8.3",
|
|
45
53
|
"vite": "^6.2.4",
|
|
46
|
-
"vite-plugin-vue-devtools": "^8.0.2"
|
|
54
|
+
"vite-plugin-vue-devtools": "^8.0.2",
|
|
55
|
+
"vue": "^3.5.13",
|
|
56
|
+
"vue-router": "^4.4.5",
|
|
57
|
+
"vue-tsc": "^2.2.10"
|
|
47
58
|
}
|
|
48
59
|
}
|