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.
Files changed (57) hide show
  1. package/dist/Alert.vue.d.ts +7 -0
  2. package/dist/AlertContent.vue.d.ts +9 -0
  3. package/dist/AlertTitle.vue.d.ts +9 -0
  4. package/dist/AppContentHeader.vue.d.ts +18 -0
  5. package/dist/AppHeader.vue.d.ts +15 -0
  6. package/dist/AppHeaderLink.vue.d.ts +16 -0
  7. package/dist/AppLayout.vue.d.ts +2 -0
  8. package/dist/AppMain.vue.d.ts +9 -0
  9. package/dist/AppNavTab.vue.d.ts +14 -0
  10. package/dist/AppNavTabs.vue.d.ts +9 -0
  11. package/dist/AppSidebar.vue.d.ts +6 -0
  12. package/dist/AppSidebarItem.vue.d.ts +9 -0
  13. package/dist/AppSidebarItemChild.vue.d.ts +16 -0
  14. package/dist/AppSidebarItemChildren.vue.d.ts +9 -0
  15. package/dist/AppSidebarItemParent.vue.d.ts +20 -0
  16. package/dist/AppSidebarNavSection.vue.d.ts +11 -0
  17. package/dist/AppSidebarToggle.vue.d.ts +9 -0
  18. package/dist/Badge.vue.d.ts +14 -0
  19. package/dist/Button.vue.d.ts +15 -0
  20. package/dist/Card.vue.d.ts +9 -0
  21. package/dist/Checkbox.vue.d.ts +2 -0
  22. package/dist/Dialog.vue.d.ts +13 -0
  23. package/dist/DialogBackground.vue.d.ts +9 -0
  24. package/dist/{DialogContent-BrXhtNDl.js → DialogContent-BQ3bdCEs.js} +1 -1
  25. package/dist/DialogContent.vue.d.ts +16 -0
  26. package/dist/DialogToggle.vue.d.ts +2 -0
  27. package/dist/Empty.vue.d.ts +11 -0
  28. package/dist/EmptyContent.vue.d.ts +9 -0
  29. package/dist/EmptyTitle.vue.d.ts +9 -0
  30. package/dist/FormField.vue.d.ts +16 -0
  31. package/dist/FormFieldError.vue.d.ts +9 -0
  32. package/dist/Input.vue.d.ts +2 -0
  33. package/dist/Label.vue.d.ts +9 -0
  34. package/dist/MultiSelect.vue.d.ts +11 -0
  35. package/dist/Popover.vue.d.ts +6 -0
  36. package/dist/PopoverContent.vue.d.ts +2 -0
  37. package/dist/PopoverToggle.vue.d.ts +2 -0
  38. package/dist/Radio.vue.d.ts +14 -0
  39. package/dist/Select.vue.d.ts +9 -0
  40. package/dist/Sheet.vue.d.ts +13 -0
  41. package/dist/{SheetContent-CwM7Ef5X.js → SheetContent-DflOq7ZN.js} +1 -1
  42. package/dist/SheetContent.vue.d.ts +14 -0
  43. package/dist/SheetToggle.vue.d.ts +2 -0
  44. package/dist/SkeletonLoader.vue.d.ts +2 -0
  45. package/dist/StateActions.vue.d.ts +9 -0
  46. package/dist/Switch.vue.d.ts +15 -0
  47. package/dist/TabItem.vue.d.ts +14 -0
  48. package/dist/Table.vue.d.ts +22 -0
  49. package/dist/Tabs.vue.d.ts +14 -0
  50. package/dist/TagsInput.vue.d.ts +11 -0
  51. package/dist/TextArea.vue.d.ts +7 -0
  52. package/dist/X.vue.d.ts +2 -0
  53. package/dist/{index-BF-I-8pN.js → index-CoFsEOrT.js} +219 -217
  54. package/dist/index.d.ts +171 -0
  55. package/dist/scrubbed-tailwind-components-v2.es.js +1 -1
  56. package/dist/scrubbed-tailwind-components-v2.umd.js +1 -1
  57. package/package.json +20 -9
@@ -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-BF-I-8pN.js";
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.1",
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
  }