scrubbed-tailwind-components-v2 2.0.4 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,51 +1,81 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Scrubbed Tailwind Components v2
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
Scrubbed Tailwind Components v2 is a Vue 3 component library that provides a set of pre-built and beautifully styled components using Tailwind CSS. This library is designed to help you quickly build modern and responsive user interfaces.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Installation
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
To use Scrubbed Tailwind Components v2 in your project, you can install it via npm:
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
```sh
|
|
10
|
+
npm install scrubbed-tailwind-components-v2
|
|
11
|
+
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
## Usage
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
You can import and use the components in your Vue application like this:
|
|
14
16
|
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
+
```vue
|
|
18
|
+
<script setup>
|
|
19
|
+
import { Button } from "scrubbed-tailwind-components-v2";
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<template>
|
|
23
|
+
<Button>Click me</Button>
|
|
24
|
+
</template>
|
|
17
25
|
```
|
|
18
26
|
|
|
19
|
-
|
|
27
|
+
## Development
|
|
20
28
|
|
|
21
|
-
|
|
22
|
-
npm run dev
|
|
23
|
-
```
|
|
29
|
+
This project uses Vite for development and building.
|
|
24
30
|
|
|
25
|
-
###
|
|
31
|
+
### Recommended IDE Setup
|
|
26
32
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```
|
|
33
|
+
- [VSCode](https://code.visualstudio.com/)
|
|
34
|
+
- [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur)
|
|
30
35
|
|
|
31
|
-
###
|
|
36
|
+
### Project Setup
|
|
37
|
+
|
|
38
|
+
To set up the development environment, clone the repository and install the dependencies:
|
|
32
39
|
|
|
33
40
|
```sh
|
|
34
|
-
|
|
41
|
+
git clone https://[your-username]@bitbucket.org/devteam_scrubbed/scrubbed-tailwind-components-v2.git
|
|
42
|
+
cd scrubbed-tailwind-components-v2
|
|
43
|
+
npm install
|
|
35
44
|
```
|
|
36
45
|
|
|
37
|
-
###
|
|
46
|
+
### Compile and Hot-Reload for Development
|
|
47
|
+
|
|
48
|
+
To start the development server with hot-reloading, run the following command:
|
|
38
49
|
|
|
39
50
|
```sh
|
|
40
|
-
npm run
|
|
51
|
+
npm run dev
|
|
41
52
|
```
|
|
42
53
|
|
|
43
|
-
|
|
44
|
-
It is much faster than the production build.
|
|
54
|
+
### Compile and Minify for Production
|
|
45
55
|
|
|
46
|
-
|
|
56
|
+
To build the library for production, run:
|
|
47
57
|
|
|
48
58
|
```sh
|
|
49
59
|
npm run build
|
|
50
|
-
npm run test:e2e
|
|
51
60
|
```
|
|
61
|
+
|
|
62
|
+
### Testing
|
|
63
|
+
|
|
64
|
+
This project uses Cypress for both component and end-to-end testing.
|
|
65
|
+
|
|
66
|
+
- **Run component tests (headless):**
|
|
67
|
+
```sh
|
|
68
|
+
npm run test:unit
|
|
69
|
+
```
|
|
70
|
+
- **Run component tests (headed):**
|
|
71
|
+
```sh
|
|
72
|
+
npm run test:unit:dev
|
|
73
|
+
```
|
|
74
|
+
- **Run end-to-end tests (headless):**
|
|
75
|
+
```sh
|
|
76
|
+
npm run test:e2e
|
|
77
|
+
```
|
|
78
|
+
- **Run end-to-end tests (headed):**
|
|
79
|
+
```sh
|
|
80
|
+
npm run test:e2e:dev
|
|
81
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@starting-style{.backdrop[data-v-aaece1c7]{opacity:0}}.link[data-v-
|
|
1
|
+
@starting-style{.backdrop[data-v-aaece1c7]{opacity:0}}.link[data-v-28fee03d]{border:1px solid transparent}.link[data-v-28fee03d]:has(.router-link-active){border:1px solid rgba(255,255,255,.75);background:linear-gradient(101deg,#e9eef54d 6.76%,#105fa24d 100.14%);box-shadow:0 4px 17px -1px #30537426;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.fade-in-dialog-enter-active{transition:all .15s cubic-bezier(.08,.82,.17,1)}.fade-in-dialog-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.fade-in-dialog-enter-from,.fade-in-dialog-leave-to{transform:scale(.95);opacity:0}.fade-in-dialog-enter-active{transition-delay:.05s}.fade-in-enter-active,.fade-in-leave-active{transition:opacity .15s ease}.fade-in-enter-from,.fade-in-leave-to{opacity:0}.slide-enter-active{transition:all .5s cubic-bezier(.08,.82,.17,1)}.slide-leave-active{transition:all .15s cubic-bezier(.46,.03,.52,.96)}.slide-enter-from,.slide-leave-to{opacity:0;transform:translate(100%)}.slide-enter-active{transition-delay:.18s}.tab[data-v-9e06f71f]{border:1px solid transparent}.tab-active[data-v-9e06f71f]{border-radius:10px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(101deg,#e9eef54d 6.76%,#105fa24d 100.14%);box-shadow:0 4px 17px -1px #30537426;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { inject as
|
|
2
|
-
import { RouterLink as
|
|
3
|
-
const
|
|
1
|
+
import { inject as g, createElementBlock as l, openBlock as s, normalizeClass as b, unref as c, createElementVNode as d, renderSlot as i, createBlock as p, withCtx as m, ref as f, provide as y, createVNode as x, Fragment as C, Teleport as D, normalizeStyle as H, watch as W, createCommentVNode as v, resolveComponent as O, mergeProps as k, useModel as S, withDirectives as w, vModelCheckbox as q, onMounted as U, onUnmounted as Z, Transition as A, useSlots as P, resolveDynamicComponent as E, cloneVNode as G, vModelText as z, vModelRadio as J, vModelSelect as Y, renderList as B, toDisplayString as L, createTextVNode as F, computed as X } from "vue";
|
|
2
|
+
import { RouterLink as T, useRoute as j } from "vue-router";
|
|
3
|
+
const Q = { class: "flex w-full items-center justify-between" }, K = { class: "flex items-center gap-2" }, ee = { class: "flex items-center gap-10" }, te = { class: "hidden gap-6 sm:flex" }, oe = {
|
|
4
4
|
__name: "AppHeader",
|
|
5
5
|
setup(e) {
|
|
6
|
-
const t =
|
|
7
|
-
return (r,
|
|
8
|
-
class:
|
|
6
|
+
const t = g("APP_DATA"), { isSidebarToggled: o, toggleSidebar: n } = t;
|
|
7
|
+
return (r, a) => (s(), l("header", {
|
|
8
|
+
class: b(["fixed top-0 flex h-16 w-dvw items-center bg-white/50 px-3 backdrop-blur sm:px-6", { "rounded-t-2xl": c(o) }])
|
|
9
9
|
}, [
|
|
10
|
-
d("nav",
|
|
11
|
-
d("div",
|
|
10
|
+
d("nav", Q, [
|
|
11
|
+
d("div", K, [
|
|
12
12
|
d("button", {
|
|
13
|
-
onClick:
|
|
13
|
+
onClick: a[0] || (a[0] = (u) => c(n)()),
|
|
14
14
|
class: "block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"
|
|
15
|
-
},
|
|
15
|
+
}, a[1] || (a[1] = [
|
|
16
16
|
d("svg", {
|
|
17
17
|
xmlns: "http://www.w3.org/2000/svg",
|
|
18
18
|
width: "24",
|
|
@@ -32,8 +32,8 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
32
32
|
])),
|
|
33
33
|
i(r.$slots, "header-img")
|
|
34
34
|
]),
|
|
35
|
-
d("div",
|
|
36
|
-
d("ul",
|
|
35
|
+
d("div", ee, [
|
|
36
|
+
d("ul", te, [
|
|
37
37
|
i(r.$slots, "header-links")
|
|
38
38
|
]),
|
|
39
39
|
i(r.$slots, "header-actions")
|
|
@@ -41,33 +41,33 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
41
41
|
])
|
|
42
42
|
], 2));
|
|
43
43
|
}
|
|
44
|
-
},
|
|
44
|
+
}, re = ["href"], ne = {
|
|
45
45
|
__name: "AppHeaderLink",
|
|
46
46
|
props: {
|
|
47
47
|
to: { type: String, required: !0 }
|
|
48
48
|
},
|
|
49
49
|
setup(e) {
|
|
50
50
|
const t = e;
|
|
51
|
-
return (o, n) => (s(),
|
|
52
|
-
t.to.startsWith("/") ? (s(),
|
|
51
|
+
return (o, n) => (s(), l("li", null, [
|
|
52
|
+
t.to.startsWith("/") ? (s(), p(c(T), {
|
|
53
53
|
key: 0,
|
|
54
54
|
class: "hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",
|
|
55
55
|
to: t.to
|
|
56
56
|
}, {
|
|
57
|
-
default:
|
|
57
|
+
default: m(() => [
|
|
58
58
|
i(o.$slots, "default")
|
|
59
59
|
]),
|
|
60
60
|
_: 3
|
|
61
|
-
}, 8, ["to"])) : (s(),
|
|
61
|
+
}, 8, ["to"])) : (s(), l("a", {
|
|
62
62
|
key: 1,
|
|
63
63
|
class: "hover:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all",
|
|
64
64
|
href: t.to
|
|
65
65
|
}, [
|
|
66
66
|
i(o.$slots, "default")
|
|
67
|
-
], 8,
|
|
67
|
+
], 8, re))
|
|
68
68
|
]));
|
|
69
69
|
}
|
|
70
|
-
},
|
|
70
|
+
}, se = { class: "relative" }, ae = { class: "flex" }, le = {
|
|
71
71
|
__name: "AppLayout",
|
|
72
72
|
setup(e) {
|
|
73
73
|
const t = f(!1);
|
|
@@ -78,56 +78,56 @@ const O = { class: "flex w-full items-center justify-between" }, U = { class: "f
|
|
|
78
78
|
const r = document.querySelector("body");
|
|
79
79
|
r.classList.contains("bg-black") ? r.classList.remove("bg-black") : r.classList.add("bg-black");
|
|
80
80
|
}
|
|
81
|
-
return
|
|
82
|
-
class:
|
|
81
|
+
return y("APP_DATA", { isSidebarToggled: t, toggleSidebar: o }), (r, a) => (s(), l("div", {
|
|
82
|
+
class: b(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]", {
|
|
83
83
|
"scale-93 origin-[center_top] translate-y-4": t.value
|
|
84
84
|
}])
|
|
85
85
|
}, [
|
|
86
|
-
d("div",
|
|
86
|
+
d("div", se, [
|
|
87
87
|
i(r.$slots, "header"),
|
|
88
|
-
d("div",
|
|
88
|
+
d("div", ae, [
|
|
89
89
|
i(r.$slots, "content")
|
|
90
90
|
])
|
|
91
91
|
])
|
|
92
92
|
], 2));
|
|
93
93
|
}
|
|
94
|
-
},
|
|
94
|
+
}, ie = {
|
|
95
95
|
__name: "AppMain",
|
|
96
96
|
setup(e) {
|
|
97
|
-
const t =
|
|
98
|
-
return (n, r) => (s(),
|
|
99
|
-
class:
|
|
97
|
+
const t = g("APP_DATA"), { isSidebarToggled: o } = t;
|
|
98
|
+
return (n, r) => (s(), l("main", {
|
|
99
|
+
class: b([
|
|
100
100
|
"bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pb-9 pt-24 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",
|
|
101
|
-
|
|
101
|
+
c(o) ? "overflow-hidden rounded-t-xl sm:rounded-none" : "sm:rounded-tl-2xl"
|
|
102
102
|
])
|
|
103
103
|
}, [
|
|
104
104
|
i(n.$slots, "default")
|
|
105
105
|
], 2));
|
|
106
106
|
}
|
|
107
|
-
},
|
|
107
|
+
}, h = (e, t) => {
|
|
108
108
|
const o = e.__vccOpts || e;
|
|
109
109
|
for (const [n, r] of t)
|
|
110
110
|
o[n] = r;
|
|
111
111
|
return o;
|
|
112
|
-
},
|
|
113
|
-
function
|
|
114
|
-
return s(),
|
|
112
|
+
}, de = {}, ce = { class: "flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden" };
|
|
113
|
+
function ue(e, t) {
|
|
114
|
+
return s(), l("div", ce, [
|
|
115
115
|
i(e.$slots, "default")
|
|
116
116
|
]);
|
|
117
117
|
}
|
|
118
|
-
const
|
|
118
|
+
const pe = /* @__PURE__ */ h(de, [["render", ue]]), ge = { class: "shrink-0" }, me = {
|
|
119
119
|
__name: "AppNavTab",
|
|
120
120
|
props: {
|
|
121
121
|
to: { type: String, required: !0 }
|
|
122
122
|
},
|
|
123
123
|
setup(e) {
|
|
124
124
|
const t = e;
|
|
125
|
-
return f(null), (o, n) => (s(),
|
|
126
|
-
|
|
125
|
+
return f(null), (o, n) => (s(), l("div", ge, [
|
|
126
|
+
x(c(T), {
|
|
127
127
|
class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",
|
|
128
128
|
to: t.to
|
|
129
129
|
}, {
|
|
130
|
-
default:
|
|
130
|
+
default: m(() => [
|
|
131
131
|
i(o.$slots, "default"),
|
|
132
132
|
n[0] || (n[0] = d("div", { class: "bg-primary-100 absolute inset-x-0 z-[-1] h-8 w-full rounded-lg opacity-0 transition-all contain-strict group-hover:transform-none group-hover:opacity-100 group-hover:[transform-origin:50%_50%_0px]" }, null, -1))
|
|
133
133
|
]),
|
|
@@ -136,118 +136,118 @@ const se = /* @__PURE__ */ b(re, [["render", ne]]), ae = { class: "shrink-0" },
|
|
|
136
136
|
}, 8, ["to"])
|
|
137
137
|
]));
|
|
138
138
|
}
|
|
139
|
-
},
|
|
139
|
+
}, be = { class: "fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block" }, fe = {
|
|
140
140
|
__name: "AppSidebar",
|
|
141
141
|
setup(e) {
|
|
142
|
-
const t =
|
|
143
|
-
return (r,
|
|
144
|
-
d("aside",
|
|
142
|
+
const t = g("APP_DATA"), { isSidebarToggled: o, toggleSidebar: n } = t;
|
|
143
|
+
return (r, a) => (s(), l(C, null, [
|
|
144
|
+
d("aside", be, [
|
|
145
145
|
i(r.$slots, "default", {}, void 0, !0)
|
|
146
146
|
]),
|
|
147
|
-
(s(),
|
|
147
|
+
(s(), p(D, { to: "body" }, [
|
|
148
148
|
d("div", {
|
|
149
149
|
class: "shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",
|
|
150
|
-
style:
|
|
151
|
-
|
|
150
|
+
style: H(
|
|
151
|
+
c(o) ? "transform: translateZ(0)" : "transform: translate3d(0,60svh,0)"
|
|
152
152
|
)
|
|
153
153
|
}, [
|
|
154
154
|
i(r.$slots, "default", {}, void 0, !0)
|
|
155
155
|
], 4),
|
|
156
156
|
d("div", {
|
|
157
|
-
onClick:
|
|
158
|
-
class:
|
|
157
|
+
onClick: a[0] || (a[0] = (u) => c(n)()),
|
|
158
|
+
class: b([
|
|
159
159
|
"backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",
|
|
160
|
-
|
|
160
|
+
c(o) ? "fixed inset-0 z-40 block bg-black/80 opacity-100" : "hidden"
|
|
161
161
|
])
|
|
162
162
|
}, null, 2)
|
|
163
163
|
]))
|
|
164
164
|
], 64));
|
|
165
165
|
}
|
|
166
|
-
},
|
|
166
|
+
}, he = /* @__PURE__ */ h(fe, [["__scopeId", "data-v-aaece1c7"]]), _e = { class: "flex flex-col" }, ve = {
|
|
167
167
|
__name: "AppSidebarItem",
|
|
168
168
|
setup(e) {
|
|
169
|
-
|
|
169
|
+
j();
|
|
170
170
|
const t = f(!1);
|
|
171
171
|
function o() {
|
|
172
172
|
t.value = !t.value;
|
|
173
173
|
}
|
|
174
|
-
return
|
|
174
|
+
return y("SIDEBAR_TOGGLE", { toggled: t, toggleSidebarItem: o }), (n, r) => (s(), l("div", _e, [
|
|
175
175
|
i(n.$slots, "default")
|
|
176
176
|
]));
|
|
177
177
|
}
|
|
178
|
-
},
|
|
178
|
+
}, xe = ["to"], ke = {
|
|
179
179
|
__name: "AppSidebarItemChild",
|
|
180
180
|
props: {
|
|
181
181
|
to: { type: String, required: !0 }
|
|
182
182
|
},
|
|
183
183
|
setup(e) {
|
|
184
184
|
const t = e;
|
|
185
|
-
return (o, n) => t.to.startsWith("/") ? (s(),
|
|
185
|
+
return (o, n) => t.to.startsWith("/") ? (s(), p(c(T), {
|
|
186
186
|
key: 0,
|
|
187
187
|
class: "[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all [&.router-link-exact-active]:font-medium",
|
|
188
188
|
to: t.to
|
|
189
189
|
}, {
|
|
190
|
-
default:
|
|
190
|
+
default: m(() => [
|
|
191
191
|
i(o.$slots, "default")
|
|
192
192
|
]),
|
|
193
193
|
_: 3
|
|
194
|
-
}, 8, ["to"])) : (s(),
|
|
194
|
+
}, 8, ["to"])) : (s(), l("a", {
|
|
195
195
|
key: 1,
|
|
196
196
|
class: "text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all",
|
|
197
197
|
to: t.to
|
|
198
198
|
}, [
|
|
199
199
|
i(o.$slots, "default")
|
|
200
|
-
], 8,
|
|
200
|
+
], 8, xe));
|
|
201
201
|
}
|
|
202
|
-
},
|
|
202
|
+
}, ye = {
|
|
203
203
|
__name: "AppSidebarItemChildren",
|
|
204
204
|
setup(e) {
|
|
205
|
-
const t =
|
|
206
|
-
return (n, r) => (s(),
|
|
207
|
-
class:
|
|
205
|
+
const t = g("SIDEBAR_TOGGLE"), { toggled: o } = t;
|
|
206
|
+
return (n, r) => (s(), l("div", {
|
|
207
|
+
class: b(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all", { "mt-2 max-h-max overflow-y-auto px-2 opacity-100": c(o) }])
|
|
208
208
|
}, [
|
|
209
209
|
i(n.$slots, "default")
|
|
210
210
|
], 2));
|
|
211
211
|
}
|
|
212
|
-
},
|
|
212
|
+
}, we = { class: "link group/sidebar-item hover:bg-background-main has-[&.router-link-active]:bg-background-main peer flex h-10 items-center justify-between rounded-lg px-3 transition-all" }, $e = ["href"], Ce = {
|
|
213
213
|
__name: "AppSidebarItemParent",
|
|
214
214
|
props: {
|
|
215
215
|
to: { type: String, required: !0 },
|
|
216
|
-
name: { type: String },
|
|
216
|
+
name: { type: [String, Object] },
|
|
217
217
|
hasChildren: { type: Boolean, default: !1 }
|
|
218
218
|
},
|
|
219
219
|
setup(e) {
|
|
220
|
-
const t =
|
|
221
|
-
function
|
|
220
|
+
const t = j(), o = e, n = g("SIDEBAR_TOGGLE"), r = g("APP_DATA"), { toggled: a, toggleSidebarItem: u } = n, { toggleSidebar: $ } = r;
|
|
221
|
+
function M() {
|
|
222
222
|
t.matched.some(
|
|
223
|
-
(
|
|
224
|
-
) ?
|
|
223
|
+
(_) => o.name === _.name
|
|
224
|
+
) ? a.value = !0 : a.value = !1;
|
|
225
225
|
}
|
|
226
|
-
return
|
|
227
|
-
o.to.startsWith("/") ? (s(),
|
|
226
|
+
return W(t, () => M(), { immediate: !0 }), (I, _) => (s(), l("div", we, [
|
|
227
|
+
o.to.startsWith("/") ? (s(), p(c(T), {
|
|
228
228
|
key: 0,
|
|
229
|
-
onClick:
|
|
230
|
-
class: "[&.router-link-active]:text-primary-800
|
|
229
|
+
onClick: _[0] || (_[0] = (N) => c($)()),
|
|
230
|
+
class: "[&.router-link-active]:text-primary-800 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",
|
|
231
231
|
to: o.to
|
|
232
232
|
}, {
|
|
233
|
-
default:
|
|
234
|
-
i(
|
|
233
|
+
default: m(() => [
|
|
234
|
+
i(I.$slots, "default", {}, void 0, !0)
|
|
235
235
|
]),
|
|
236
236
|
_: 3
|
|
237
|
-
}, 8, ["to"])) : (s(),
|
|
237
|
+
}, 8, ["to"])) : (s(), l("a", {
|
|
238
238
|
key: 1,
|
|
239
239
|
class: "text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",
|
|
240
240
|
href: o.to
|
|
241
241
|
}, [
|
|
242
|
-
i(
|
|
243
|
-
], 8,
|
|
244
|
-
o.hasChildren ? (s(),
|
|
242
|
+
i(I.$slots, "default", {}, void 0, !0)
|
|
243
|
+
], 8, $e)),
|
|
244
|
+
o.hasChildren ? (s(), l("button", {
|
|
245
245
|
key: 2,
|
|
246
|
-
onClick:
|
|
246
|
+
onClick: _[1] || (_[1] = (N) => c(u)()),
|
|
247
247
|
class: "cursor-pointer rounded-full p-1 transition-all hover:bg-neutral-100",
|
|
248
248
|
type: "button"
|
|
249
249
|
}, [
|
|
250
|
-
(s(),
|
|
250
|
+
(s(), l("svg", {
|
|
251
251
|
xmlns: "http://www.w3.org/2000/svg",
|
|
252
252
|
width: "16",
|
|
253
253
|
height: "16",
|
|
@@ -257,31 +257,31 @@ const se = /* @__PURE__ */ b(re, [["render", ne]]), ae = { class: "shrink-0" },
|
|
|
257
257
|
"stroke-width": "2",
|
|
258
258
|
"stroke-linecap": "round",
|
|
259
259
|
"stroke-linejoin": "round",
|
|
260
|
-
class:
|
|
261
|
-
},
|
|
260
|
+
class: b(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300", { "rotate-180": c(a) }])
|
|
261
|
+
}, _[2] || (_[2] = [
|
|
262
262
|
d("path", { d: "m6 9 6 6 6-6" }, null, -1)
|
|
263
263
|
]), 2))
|
|
264
|
-
])) :
|
|
264
|
+
])) : v("", !0)
|
|
265
265
|
]));
|
|
266
266
|
}
|
|
267
|
-
},
|
|
267
|
+
}, Ae = /* @__PURE__ */ h(Ce, [["__scopeId", "data-v-28fee03d"]]), Se = { 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" }, Te = {
|
|
268
268
|
__name: "AppSidebarToggle",
|
|
269
269
|
setup(e) {
|
|
270
|
-
const t =
|
|
270
|
+
const t = g("SIDEBAR_TOGGLE");
|
|
271
271
|
return (o, n) => {
|
|
272
|
-
const r =
|
|
273
|
-
return s(),
|
|
274
|
-
|
|
272
|
+
const r = O("RouterLink");
|
|
273
|
+
return s(), l("div", Se, [
|
|
274
|
+
x(r, {
|
|
275
275
|
class: "text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",
|
|
276
276
|
to: "/"
|
|
277
277
|
}, {
|
|
278
|
-
default:
|
|
278
|
+
default: m(() => [
|
|
279
279
|
i(o.$slots, "default")
|
|
280
280
|
]),
|
|
281
281
|
_: 3
|
|
282
282
|
}),
|
|
283
283
|
d("button", {
|
|
284
|
-
onClick: n[0] || (n[0] = (
|
|
284
|
+
onClick: n[0] || (n[0] = (a) => c(t).toggleSidebarItem()),
|
|
285
285
|
class: "cursor-pointer",
|
|
286
286
|
type: "button"
|
|
287
287
|
}, n[1] || (n[1] = [
|
|
@@ -303,66 +303,162 @@ const se = /* @__PURE__ */ b(re, [["render", ne]]), ae = { class: "shrink-0" },
|
|
|
303
303
|
]);
|
|
304
304
|
};
|
|
305
305
|
}
|
|
306
|
-
},
|
|
306
|
+
}, Ie = {}, Be = {
|
|
307
307
|
key: 0,
|
|
308
308
|
class: "text-primary-950 px-1 text-sm font-medium"
|
|
309
|
-
},
|
|
310
|
-
function
|
|
311
|
-
return s(),
|
|
312
|
-
e.$slots.title ? (s(),
|
|
309
|
+
}, De = { class: "mt-2" };
|
|
310
|
+
function Re(e, t) {
|
|
311
|
+
return s(), l("nav", null, [
|
|
312
|
+
e.$slots.title ? (s(), l("b", Be, [
|
|
313
313
|
i(e.$slots, "title")
|
|
314
|
-
])) :
|
|
315
|
-
d("div",
|
|
314
|
+
])) : v("", !0),
|
|
315
|
+
d("div", De, [
|
|
316
316
|
i(e.$slots, "items")
|
|
317
317
|
])
|
|
318
318
|
]);
|
|
319
319
|
}
|
|
320
|
-
const
|
|
321
|
-
function
|
|
322
|
-
return s(),
|
|
320
|
+
const Ve = /* @__PURE__ */ h(Ie, [["render", Re]]), Me = {}, Le = { class: "rounded-full px-3 py-1 text-xs font-medium" };
|
|
321
|
+
function Pe(e, t) {
|
|
322
|
+
return s(), l("div", Le, [
|
|
323
323
|
i(e.$slots, "default")
|
|
324
324
|
]);
|
|
325
325
|
}
|
|
326
|
-
const
|
|
326
|
+
const Ee = /* @__PURE__ */ h(Me, [["render", Pe]]), Ge = {
|
|
327
327
|
__name: "Button",
|
|
328
328
|
props: {
|
|
329
329
|
variant: { type: String, default: "primary" }
|
|
330
330
|
},
|
|
331
331
|
setup(e) {
|
|
332
332
|
const t = e, o = {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
"
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
"
|
|
342
|
-
"text-
|
|
343
|
-
"hover:bg-neutral-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
"bg-
|
|
348
|
-
"text-white",
|
|
349
|
-
"
|
|
350
|
-
"
|
|
351
|
-
|
|
333
|
+
/* ---------------- Solid Buttons ---------------- */
|
|
334
|
+
primary: {
|
|
335
|
+
backgroundColor: "bg-gradient-to-br from-brand-primary-500 to-brand-primary-700",
|
|
336
|
+
textColor: "text-white",
|
|
337
|
+
hoverBackgroundColor: "hover:from-brand-primary-700 hover:to-brand-primary-800",
|
|
338
|
+
focusRing: "focus:ring-brand-primary-300"
|
|
339
|
+
},
|
|
340
|
+
secondary: {
|
|
341
|
+
backgroundColor: "bg-neutral-100",
|
|
342
|
+
textColor: "text-neutral-700",
|
|
343
|
+
hoverBackgroundColor: "hover:bg-neutral-200",
|
|
344
|
+
focusRing: "focus:ring-neutral-300"
|
|
345
|
+
},
|
|
346
|
+
success: {
|
|
347
|
+
backgroundColor: "bg-success-400",
|
|
348
|
+
textColor: "text-white",
|
|
349
|
+
hoverBackgroundColor: "hover:bg-success-500",
|
|
350
|
+
focusRing: "focus:ring-success-300"
|
|
351
|
+
},
|
|
352
|
+
danger: {
|
|
353
|
+
backgroundColor: "bg-danger-600",
|
|
354
|
+
textColor: "text-white",
|
|
355
|
+
hoverBackgroundColor: "hover:bg-danger-700",
|
|
356
|
+
focusRing: "focus:ring-danger-300"
|
|
357
|
+
},
|
|
358
|
+
warning: {
|
|
359
|
+
backgroundColor: "bg-warning-500",
|
|
360
|
+
textColor: "text-neutral-950",
|
|
361
|
+
hoverBackgroundColor: "hover:bg-warning-600",
|
|
362
|
+
focusRing: "focus:ring-warning-300"
|
|
363
|
+
},
|
|
364
|
+
/* ---------------- Outlined Buttons ---------------- */
|
|
365
|
+
outlined: {
|
|
366
|
+
backgroundColor: "bg-transparent",
|
|
367
|
+
textColor: "text-neutral-700",
|
|
368
|
+
borderColor: "border border-neutral-200",
|
|
369
|
+
hoverBackgroundColor: "hover:bg-neutral-100",
|
|
370
|
+
hoverTextColor: "hover:text-neutral-900",
|
|
371
|
+
focusRing: "focus:ring-neutral-200"
|
|
372
|
+
},
|
|
373
|
+
outlinedPrimary: {
|
|
374
|
+
backgroundColor: "bg-transparent",
|
|
375
|
+
textColor: "text-brand-primary-700",
|
|
376
|
+
borderColor: "border border-brand-primary-300",
|
|
377
|
+
hoverBackgroundColor: "hover:bg-brand-primary-100",
|
|
378
|
+
hoverTextColor: "hover:text-brand-primary-800",
|
|
379
|
+
focusRing: "focus:ring-brand-primary-200"
|
|
380
|
+
},
|
|
381
|
+
outlinedSuccess: {
|
|
382
|
+
backgroundColor: "bg-transparent",
|
|
383
|
+
textColor: "text-success-600",
|
|
384
|
+
borderColor: "border border-success-300",
|
|
385
|
+
hoverBackgroundColor: "hover:bg-success-100",
|
|
386
|
+
hoverTextColor: "hover:text-success-700",
|
|
387
|
+
focusRing: "focus:ring-success-200"
|
|
388
|
+
},
|
|
389
|
+
outlinedDanger: {
|
|
390
|
+
backgroundColor: "bg-transparent",
|
|
391
|
+
textColor: "text-danger-600",
|
|
392
|
+
borderColor: "border border-danger-300",
|
|
393
|
+
hoverBackgroundColor: "hover:bg-danger-100",
|
|
394
|
+
hoverTextColor: "hover:text-danger-700",
|
|
395
|
+
focusRing: "focus:ring-danger-200"
|
|
396
|
+
},
|
|
397
|
+
outlinedWarning: {
|
|
398
|
+
backgroundColor: "bg-transparent",
|
|
399
|
+
textColor: "text-warning-600",
|
|
400
|
+
borderColor: "border border-warning-300",
|
|
401
|
+
hoverBackgroundColor: "hover:bg-warning-100",
|
|
402
|
+
hoverTextColor: "hover:text-warning-700",
|
|
403
|
+
focusRing: "focus:ring-warning-200"
|
|
404
|
+
},
|
|
405
|
+
/* ---------------- Ghost Buttons ---------------- */
|
|
406
|
+
ghost: {
|
|
407
|
+
backgroundColor: "bg-transparent",
|
|
408
|
+
textColor: "text-neutral-700",
|
|
409
|
+
hoverBackgroundColor: "hover:bg-neutral-100",
|
|
410
|
+
hoverTextColor: "hover:text-neutral-900",
|
|
411
|
+
focusRing: "focus:ring-neutral-200"
|
|
412
|
+
},
|
|
413
|
+
ghostPrimary: {
|
|
414
|
+
backgroundColor: "bg-transparent",
|
|
415
|
+
textColor: "text-brand-primary-700",
|
|
416
|
+
hoverBackgroundColor: "hover:bg-brand-primary-100",
|
|
417
|
+
hoverTextColor: "hover:text-brand-primary-800",
|
|
418
|
+
focusRing: "focus:ring-brand-primary-200"
|
|
419
|
+
},
|
|
420
|
+
ghostSuccess: {
|
|
421
|
+
backgroundColor: "bg-transparent",
|
|
422
|
+
textColor: "text-success-600",
|
|
423
|
+
hoverBackgroundColor: "hover:bg-success-100",
|
|
424
|
+
hoverTextColor: "hover:text-success-700",
|
|
425
|
+
focusRing: "focus:ring-success-200"
|
|
426
|
+
},
|
|
427
|
+
ghostDanger: {
|
|
428
|
+
backgroundColor: "bg-transparent",
|
|
429
|
+
textColor: "text-danger-600",
|
|
430
|
+
hoverBackgroundColor: "hover:bg-danger-100",
|
|
431
|
+
hoverTextColor: "hover:text-danger-700",
|
|
432
|
+
focusRing: "focus:ring-danger-200"
|
|
433
|
+
},
|
|
434
|
+
ghostWarning: {
|
|
435
|
+
backgroundColor: "bg-transparent",
|
|
436
|
+
textColor: "text-warning-600",
|
|
437
|
+
hoverBackgroundColor: "hover:bg-warning-100",
|
|
438
|
+
hoverTextColor: "hover:text-warning-700",
|
|
439
|
+
focusRing: "focus:ring-warning-200"
|
|
440
|
+
}
|
|
352
441
|
};
|
|
353
|
-
return (n, r) => (s(),
|
|
354
|
-
class: ["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",
|
|
442
|
+
return (n, r) => (s(), l("button", k(n.$attrs, {
|
|
443
|
+
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", [
|
|
444
|
+
o[t.variant].backgroundColor,
|
|
445
|
+
o[t.variant].borderColor,
|
|
446
|
+
o[t.variant].textColor,
|
|
447
|
+
o[t.variant].hoverBackgroundColor,
|
|
448
|
+
o[t.variant].hoverTextColor,
|
|
449
|
+
o[t.variant].focusRing
|
|
450
|
+
]]
|
|
355
451
|
}), [
|
|
356
452
|
i(n.$slots, "default")
|
|
357
453
|
], 16));
|
|
358
454
|
}
|
|
359
|
-
},
|
|
360
|
-
function
|
|
361
|
-
return s(),
|
|
455
|
+
}, ze = {}, je = { class: "rounded-2xl bg-white p-6" };
|
|
456
|
+
function Ne(e, t) {
|
|
457
|
+
return s(), l("div", je, [
|
|
362
458
|
i(e.$slots, "default")
|
|
363
459
|
]);
|
|
364
460
|
}
|
|
365
|
-
const
|
|
461
|
+
const R = /* @__PURE__ */ h(ze, [["render", Ne]]), He = {
|
|
366
462
|
__name: "Checkbox",
|
|
367
463
|
props: {
|
|
368
464
|
modelValue: {},
|
|
@@ -370,10 +466,10 @@ const Le = /* @__PURE__ */ b(Pe, [["render", Ve]]), Me = {
|
|
|
370
466
|
},
|
|
371
467
|
emits: ["update:modelValue"],
|
|
372
468
|
setup(e) {
|
|
373
|
-
const t =
|
|
374
|
-
return (n, r) => (s(),
|
|
375
|
-
onClick: r[1] || (r[1] = (
|
|
376
|
-
class: "group/checkbox
|
|
469
|
+
const t = S(e, "modelValue"), o = f(null);
|
|
470
|
+
return (n, r) => (s(), l("button", {
|
|
471
|
+
onClick: r[1] || (r[1] = (a) => o.value.click()),
|
|
472
|
+
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]"
|
|
377
473
|
}, [
|
|
378
474
|
r[2] || (r[2] = d("svg", {
|
|
379
475
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -385,52 +481,110 @@ const Le = /* @__PURE__ */ b(Pe, [["render", Ve]]), Me = {
|
|
|
385
481
|
"stroke-width": "2",
|
|
386
482
|
"stroke-linecap": "round",
|
|
387
483
|
"stroke-linejoin": "round",
|
|
388
|
-
class: "lucide lucide-check-icon lucide-check
|
|
484
|
+
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"
|
|
389
485
|
}, [
|
|
390
486
|
d("path", { d: "M20 6 9 17l-5-5" })
|
|
391
487
|
], -1)),
|
|
392
|
-
|
|
393
|
-
"onUpdate:modelValue": r[0] || (r[0] = (
|
|
488
|
+
w(d("input", k(n.$attrs, {
|
|
489
|
+
"onUpdate:modelValue": r[0] || (r[0] = (a) => t.value = a),
|
|
394
490
|
type: "checkbox",
|
|
395
491
|
ref_key: "checkboxRef",
|
|
396
492
|
ref: o,
|
|
397
493
|
hidden: ""
|
|
398
494
|
}), null, 16), [
|
|
399
|
-
[
|
|
495
|
+
[q, t.value]
|
|
400
496
|
])
|
|
401
497
|
]));
|
|
402
498
|
}
|
|
403
|
-
},
|
|
499
|
+
}, We = {
|
|
500
|
+
__name: "Dialog",
|
|
501
|
+
setup(e) {
|
|
502
|
+
const t = f(!1);
|
|
503
|
+
function o() {
|
|
504
|
+
t.value = !t.value;
|
|
505
|
+
}
|
|
506
|
+
return y("DIALOG_META", { toggled: t, toggleDialog: o }), (n, r) => i(n.$slots, "default");
|
|
507
|
+
}
|
|
508
|
+
}, Oe = { class: "pointer-events-auto fixed inset-0 z-[500] min-h-screen bg-black/80 backdrop-blur-[2px]" }, V = {
|
|
404
509
|
__name: "DialogBackground",
|
|
405
510
|
setup(e) {
|
|
406
|
-
return
|
|
511
|
+
return U(() => {
|
|
407
512
|
document.querySelector("body").classList.add("overflow-hidden");
|
|
408
|
-
}),
|
|
513
|
+
}), Z(() => {
|
|
409
514
|
document.querySelector("body").classList.remove("overflow-hidden");
|
|
410
|
-
}), (t, o) => (s(),
|
|
515
|
+
}), (t, o) => (s(), l("div", Oe, [
|
|
411
516
|
i(t.$slots, "default")
|
|
412
517
|
]));
|
|
413
518
|
}
|
|
414
|
-
},
|
|
519
|
+
}, qe = {
|
|
520
|
+
__name: "DialogContent",
|
|
521
|
+
props: {
|
|
522
|
+
class: { type: String }
|
|
523
|
+
},
|
|
524
|
+
setup(e) {
|
|
525
|
+
const t = e, { toggled: o, toggleDialog: n } = g("DIALOG_META");
|
|
526
|
+
return (r, a) => (s(), p(D, { to: "body" }, [
|
|
527
|
+
x(A, { name: "fade-in" }, {
|
|
528
|
+
default: m(() => [
|
|
529
|
+
c(o) ? (s(), p(V, {
|
|
530
|
+
key: 0,
|
|
531
|
+
onClick: a[0] || (a[0] = (u) => c(n)())
|
|
532
|
+
})) : v("", !0)
|
|
533
|
+
]),
|
|
534
|
+
_: 1
|
|
535
|
+
}),
|
|
536
|
+
x(A, { name: "fade-in-dialog" }, {
|
|
537
|
+
default: m(() => [
|
|
538
|
+
c(o) ? (s(), p(R, {
|
|
539
|
+
key: 0,
|
|
540
|
+
class: b(["fixed left-1/2 top-1/2 z-[600] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all", t.class])
|
|
541
|
+
}, {
|
|
542
|
+
default: m(() => [
|
|
543
|
+
i(r.$slots, "default")
|
|
544
|
+
]),
|
|
545
|
+
_: 3
|
|
546
|
+
}, 8, ["class"])) : v("", !0)
|
|
547
|
+
]),
|
|
548
|
+
_: 3
|
|
549
|
+
})
|
|
550
|
+
]));
|
|
551
|
+
}
|
|
552
|
+
}, Ue = {
|
|
553
|
+
__name: "DialogToggle",
|
|
554
|
+
setup(e) {
|
|
555
|
+
const t = P(), { toggleDialog: o } = g("DIALOG_META");
|
|
556
|
+
return (n, r) => {
|
|
557
|
+
var a, u;
|
|
558
|
+
return s(), p(E(
|
|
559
|
+
G((u = (a = c(t)).default) == null ? void 0 : u.call(a)[0], {
|
|
560
|
+
onClick: c(o)
|
|
561
|
+
})
|
|
562
|
+
));
|
|
563
|
+
};
|
|
564
|
+
}
|
|
565
|
+
}, Ze = {
|
|
415
566
|
__name: "Input",
|
|
416
|
-
props:
|
|
567
|
+
props: {
|
|
568
|
+
modelValue: {},
|
|
569
|
+
modelModifiers: {}
|
|
570
|
+
},
|
|
571
|
+
emits: ["update:modelValue"],
|
|
417
572
|
setup(e) {
|
|
418
|
-
const
|
|
419
|
-
return (
|
|
420
|
-
"onUpdate:modelValue":
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
[P, o.value]
|
|
573
|
+
const t = S(e, "modelValue");
|
|
574
|
+
return (o, n) => w((s(), l("input", {
|
|
575
|
+
"onUpdate:modelValue": n[0] || (n[0] = (r) => t.value = r),
|
|
576
|
+
class: "text-primary-950 focus:ring-brand-primary-700 neutral-400:text-neutral-400 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs transition-all duration-300 outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
577
|
+
}, null, 512)), [
|
|
578
|
+
[z, t.value]
|
|
425
579
|
]);
|
|
426
580
|
}
|
|
427
|
-
},
|
|
428
|
-
function
|
|
429
|
-
return s(),
|
|
581
|
+
}, Je = {};
|
|
582
|
+
function Ye(e, t) {
|
|
583
|
+
return s(), l("label", k(e.$attrs, { class: "text-primary-950 text-sm transition-all" }), [
|
|
430
584
|
i(e.$slots, "default")
|
|
431
585
|
], 16);
|
|
432
586
|
}
|
|
433
|
-
const
|
|
587
|
+
const Fe = /* @__PURE__ */ h(Je, [["render", Ye]]), Xe = {
|
|
434
588
|
__name: "Radio",
|
|
435
589
|
props: {
|
|
436
590
|
modelValue: {},
|
|
@@ -438,37 +592,125 @@ const He = /* @__PURE__ */ b(Ne, [["render", Ee]]), We = {
|
|
|
438
592
|
},
|
|
439
593
|
emits: ["update:modelValue"],
|
|
440
594
|
setup(e) {
|
|
441
|
-
const t =
|
|
442
|
-
return (n, r) => (s(),
|
|
443
|
-
onClick: r[1] || (r[1] = (
|
|
444
|
-
class: "group/radio
|
|
595
|
+
const t = S(e, "modelValue"), o = f(null);
|
|
596
|
+
return (n, r) => (s(), l("button", {
|
|
597
|
+
onClick: r[1] || (r[1] = (a) => o.value.click()),
|
|
598
|
+
class: "group/radio has-checked:border-brand-primary-700 flex size-4 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"
|
|
445
599
|
}, [
|
|
446
|
-
r[2] || (r[2] = d("div", { class: "group-has-checked/radio:bg-primary-700
|
|
447
|
-
|
|
448
|
-
"onUpdate:modelValue": r[0] || (r[0] = (
|
|
600
|
+
r[2] || (r[2] = d("div", { class: "group-has-checked/radio:bg-brand-primary-700 size-[10px] rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100" }, null, -1)),
|
|
601
|
+
w(d("input", k(n.$attrs, {
|
|
602
|
+
"onUpdate:modelValue": r[0] || (r[0] = (a) => t.value = a),
|
|
449
603
|
type: "radio",
|
|
450
604
|
ref_key: "radioRef",
|
|
451
605
|
ref: o,
|
|
452
606
|
hidden: ""
|
|
453
607
|
}), null, 16), [
|
|
454
|
-
[
|
|
608
|
+
[J, t.value]
|
|
455
609
|
])
|
|
456
610
|
]));
|
|
457
611
|
}
|
|
458
|
-
},
|
|
612
|
+
}, Qe = "bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]", Ke = {
|
|
459
613
|
__name: "Select",
|
|
614
|
+
props: {
|
|
615
|
+
modelValue: {},
|
|
616
|
+
modelModifiers: {}
|
|
617
|
+
},
|
|
618
|
+
emits: ["update:modelValue"],
|
|
460
619
|
setup(e) {
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
620
|
+
const t = S(e, "modelValue");
|
|
621
|
+
return (o, n) => w((s(), l("select", k(o.$attrs, {
|
|
622
|
+
"onUpdate:modelValue": n[0] || (n[0] = (r) => t.value = r),
|
|
623
|
+
class: ["text-primary-950 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 transition-all outline-none focus:ring-2 focus:ring-offset-2", Qe]
|
|
464
624
|
}), [
|
|
465
|
-
i(
|
|
466
|
-
], 16))
|
|
625
|
+
i(o.$slots, "default")
|
|
626
|
+
], 16)), [
|
|
627
|
+
[Y, t.value]
|
|
628
|
+
]);
|
|
629
|
+
}
|
|
630
|
+
}, et = {
|
|
631
|
+
__name: "Sheet",
|
|
632
|
+
setup(e) {
|
|
633
|
+
const t = f(!1);
|
|
634
|
+
function o() {
|
|
635
|
+
t.value = !t.value;
|
|
636
|
+
}
|
|
637
|
+
return y("SHEET_META", { toggled: t, toggleSheet: o }), (n, r) => i(n.$slots, "default");
|
|
638
|
+
}
|
|
639
|
+
}, tt = {
|
|
640
|
+
__name: "SheetContent",
|
|
641
|
+
props: {
|
|
642
|
+
class: { type: String }
|
|
643
|
+
},
|
|
644
|
+
setup(e) {
|
|
645
|
+
const t = e, { toggled: o, toggleSheet: n } = g("SHEET_META");
|
|
646
|
+
return (r, a) => (s(), p(D, { to: "body" }, [
|
|
647
|
+
x(A, { name: "fade-in" }, {
|
|
648
|
+
default: m(() => [
|
|
649
|
+
c(o) ? (s(), p(V, {
|
|
650
|
+
key: 0,
|
|
651
|
+
onClick: a[0] || (a[0] = (u) => c(n)())
|
|
652
|
+
})) : v("", !0)
|
|
653
|
+
]),
|
|
654
|
+
_: 1
|
|
655
|
+
}),
|
|
656
|
+
x(A, { name: "slide" }, {
|
|
657
|
+
default: m(() => [
|
|
658
|
+
c(o) ? (s(), p(R, {
|
|
659
|
+
key: 0,
|
|
660
|
+
class: b(["fixed right-0 top-1/2 z-[600] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl", t.class])
|
|
661
|
+
}, {
|
|
662
|
+
default: m(() => [
|
|
663
|
+
i(r.$slots, "default")
|
|
664
|
+
]),
|
|
665
|
+
_: 3
|
|
666
|
+
}, 8, ["class"])) : v("", !0)
|
|
667
|
+
]),
|
|
668
|
+
_: 3
|
|
669
|
+
})
|
|
670
|
+
]));
|
|
671
|
+
}
|
|
672
|
+
}, ot = {
|
|
673
|
+
__name: "SheetToggle",
|
|
674
|
+
setup(e) {
|
|
675
|
+
const t = P(), { toggleSheet: o } = g("SHEET_META");
|
|
676
|
+
return (n, r) => {
|
|
677
|
+
var a, u;
|
|
678
|
+
return s(), p(E(
|
|
679
|
+
G((u = (a = c(t)).default) == null ? void 0 : u.call(a)[0], {
|
|
680
|
+
onClick: c(o)
|
|
681
|
+
})
|
|
682
|
+
));
|
|
683
|
+
};
|
|
684
|
+
}
|
|
685
|
+
}, rt = {}, nt = { class: "bg-primary-100 animate-pulse rounded-lg" };
|
|
686
|
+
function st(e, t) {
|
|
687
|
+
return s(), l("div", nt);
|
|
688
|
+
}
|
|
689
|
+
const at = /* @__PURE__ */ h(rt, [["render", st]]), lt = {
|
|
690
|
+
__name: "Switch",
|
|
691
|
+
setup(e) {
|
|
692
|
+
const t = f(!1);
|
|
693
|
+
function o() {
|
|
694
|
+
t.value = !t.value;
|
|
695
|
+
}
|
|
696
|
+
return (n, r) => (s(), l("button", {
|
|
697
|
+
onClick: r[0] || (r[0] = (a) => o()),
|
|
698
|
+
class: b([
|
|
699
|
+
"h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",
|
|
700
|
+
t.value ? "from-brand-primary-600 to-brand-primary-700 bg-gradient-to-br" : "bg-neutral-200"
|
|
701
|
+
]),
|
|
702
|
+
role: "switch",
|
|
703
|
+
type: "button"
|
|
704
|
+
}, [
|
|
705
|
+
d("span", {
|
|
706
|
+
class: b(["pointer-events-none block size-4 rounded-full bg-white shadow-md transition-all duration-300", { "translate-x-full": t.value }])
|
|
707
|
+
}, null, 2)
|
|
708
|
+
], 2));
|
|
467
709
|
}
|
|
468
|
-
},
|
|
710
|
+
}, it = { class: "w-full" }, dt = { class: "h-16" }, ct = { key: 0 }, ut = {
|
|
469
711
|
key: 0,
|
|
470
712
|
class: "pe-4"
|
|
471
|
-
},
|
|
713
|
+
}, pt = {
|
|
472
714
|
__name: "Table",
|
|
473
715
|
props: {
|
|
474
716
|
columns: { type: Array, required: !0 },
|
|
@@ -476,37 +718,37 @@ const He = /* @__PURE__ */ b(Ne, [["render", Ee]]), We = {
|
|
|
476
718
|
},
|
|
477
719
|
setup(e) {
|
|
478
720
|
const t = e;
|
|
479
|
-
return (o, n) => (s(),
|
|
721
|
+
return (o, n) => (s(), l("table", it, [
|
|
480
722
|
d("thead", null, [
|
|
481
|
-
d("tr",
|
|
482
|
-
(s(!0),
|
|
723
|
+
d("tr", dt, [
|
|
724
|
+
(s(!0), l(C, null, B(t.columns, (r) => (s(), l("th", {
|
|
483
725
|
key: r.key,
|
|
484
726
|
class: "text-xs font-medium text-neutral-600 first-of-type:ps-4"
|
|
485
|
-
},
|
|
486
|
-
o.$slots.actions ? (s(),
|
|
727
|
+
}, L(r.label), 1))), 128)),
|
|
728
|
+
o.$slots.actions ? (s(), l("th", ct)) : v("", !0)
|
|
487
729
|
])
|
|
488
730
|
]),
|
|
489
731
|
d("tbody", null, [
|
|
490
|
-
(s(!0),
|
|
491
|
-
key:
|
|
732
|
+
(s(!0), l(C, null, B(t.data, (r, a) => (s(), l("tr", {
|
|
733
|
+
key: a,
|
|
492
734
|
class: "odd:bg-background-main/50 hover:bg-background-main min-h-16 rounded-md transition-all"
|
|
493
735
|
}, [
|
|
494
|
-
(s(!0),
|
|
495
|
-
key:
|
|
736
|
+
(s(!0), l(C, null, B(t.columns, (u) => (s(), l("td", {
|
|
737
|
+
key: u.key,
|
|
496
738
|
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"
|
|
497
739
|
}, [
|
|
498
|
-
i(o.$slots,
|
|
499
|
-
|
|
740
|
+
i(o.$slots, u.key, { row: r }, () => [
|
|
741
|
+
F(L(r[u.key]), 1)
|
|
500
742
|
])
|
|
501
743
|
]))), 128)),
|
|
502
|
-
o.$slots.actions ? (s(),
|
|
744
|
+
o.$slots.actions ? (s(), l("td", ut, [
|
|
503
745
|
i(o.$slots, "actions", { row: r })
|
|
504
|
-
])) :
|
|
746
|
+
])) : v("", !0)
|
|
505
747
|
]))), 128))
|
|
506
748
|
])
|
|
507
749
|
]));
|
|
508
750
|
}
|
|
509
|
-
},
|
|
751
|
+
}, gt = { class: "overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden" }, mt = {
|
|
510
752
|
__name: "Tabs",
|
|
511
753
|
props: {
|
|
512
754
|
default: { default: null }
|
|
@@ -516,75 +758,83 @@ const He = /* @__PURE__ */ b(Ne, [["render", Ee]]), We = {
|
|
|
516
758
|
function n(r) {
|
|
517
759
|
o.value = r;
|
|
518
760
|
}
|
|
519
|
-
return
|
|
761
|
+
return y("TAB_DATA", { currentValue: o, setCurrentValue: n }), (r, a) => (s(), l("div", gt, [
|
|
520
762
|
i(r.$slots, "default")
|
|
521
763
|
]));
|
|
522
764
|
}
|
|
523
|
-
},
|
|
765
|
+
}, bt = {
|
|
524
766
|
__name: "TabItem",
|
|
525
767
|
props: {
|
|
526
768
|
value: { required: !0 }
|
|
527
769
|
},
|
|
528
770
|
setup(e) {
|
|
529
|
-
const t = e, o =
|
|
771
|
+
const t = e, o = g("TAB_DATA"), { currentValue: n, setCurrentValue: r } = o, a = X(() => n.value === t.value ? [
|
|
530
772
|
"bg-white",
|
|
531
773
|
"font-medium",
|
|
532
774
|
"text-primary-700",
|
|
533
775
|
"shadow-xl",
|
|
534
776
|
"tab-active"
|
|
535
777
|
] : "text-neutral-600");
|
|
536
|
-
return (
|
|
537
|
-
onClick:
|
|
538
|
-
class:
|
|
778
|
+
return (u, $) => (s(), l("button", {
|
|
779
|
+
onClick: $[0] || ($[0] = (M) => c(r)(t.value)),
|
|
780
|
+
class: b(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50", a.value])
|
|
539
781
|
}, [
|
|
540
|
-
i(
|
|
782
|
+
i(u.$slots, "default", {}, void 0, !0)
|
|
541
783
|
], 2));
|
|
542
784
|
}
|
|
543
|
-
},
|
|
785
|
+
}, ft = /* @__PURE__ */ h(bt, [["__scopeId", "data-v-9e06f71f"]]), ht = {
|
|
544
786
|
__name: "TextArea",
|
|
545
787
|
props: ["modelValue"],
|
|
546
788
|
setup(e) {
|
|
547
789
|
const o = f(e.modelValue);
|
|
548
|
-
return (n, r) =>
|
|
549
|
-
onInput: r[0] || (r[0] = (
|
|
790
|
+
return (n, r) => w((s(), l("textarea", k({
|
|
791
|
+
onInput: r[0] || (r[0] = (a) => n.$emit("update:modelValue", a.target.value))
|
|
550
792
|
}, n.$attrs, {
|
|
551
|
-
"onUpdate:modelValue": r[1] || (r[1] = (
|
|
552
|
-
class: "
|
|
793
|
+
"onUpdate:modelValue": r[1] || (r[1] = (a) => o.value = a),
|
|
794
|
+
class: "text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none focus:ring-2 focus:ring-offset-2"
|
|
553
795
|
}), null, 16)), [
|
|
554
|
-
[
|
|
796
|
+
[z, o.value]
|
|
555
797
|
]);
|
|
556
798
|
}
|
|
557
|
-
},
|
|
799
|
+
}, xt = {
|
|
558
800
|
install(e) {
|
|
559
|
-
e.component("AppHeader",
|
|
801
|
+
e.component("AppHeader", oe), e.component("AppHeaderLink", ne), e.component("AppLayout", le), e.component("AppMain", ie), e.component("AppNavTabs", pe), e.component("AppNavTab", me), e.component("AppSidebar", he), e.component("AppSidebarItem", ve), e.component("AppSidebarItemChild", ke), e.component("AppSidebarItemChildren", ye), e.component("AppSidebarItemParent", Ae), e.component("AppSidebarToggle", Te), e.component("AppSidebarNavSection", Ve), e.component("Badge", Ee), e.component("Button", Ge), e.component("Checkbox", He), e.component("Card", R), e.component("Dialog", We), e.component("DialogContent", qe), e.component("DialogToggle", Ue), e.component("DialogBackground", V), e.component("Input", Ze), e.component("Label", Fe), e.component("Radio", Xe), e.component("Select", Ke), e.component("Sheet", et), e.component("SheetContent", tt), e.component("SheetToggle", ot), e.component("SkeletonLoader", at), e.component("Switch", lt), e.component("Table", pt), e.component("Tabs", mt), e.component("TabItem", ft), e.component("TextArea", ht);
|
|
560
802
|
}
|
|
561
803
|
};
|
|
562
804
|
export {
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
805
|
+
oe as AppHeader,
|
|
806
|
+
ne as AppHeaderLink,
|
|
807
|
+
le as AppLayout,
|
|
808
|
+
ie as AppMain,
|
|
809
|
+
me as AppNavTab,
|
|
810
|
+
pe as AppNavTabs,
|
|
811
|
+
he as AppSidebar,
|
|
812
|
+
ve as AppSidebarItem,
|
|
813
|
+
ke as AppSidebarItemChild,
|
|
814
|
+
ye as AppSidebarItemChildren,
|
|
815
|
+
Ae as AppSidebarItemParent,
|
|
816
|
+
Ve as AppSidebarNavSection,
|
|
817
|
+
Te as AppSidebarToggle,
|
|
818
|
+
Ee as Badge,
|
|
819
|
+
Ge as Button,
|
|
820
|
+
R as Card,
|
|
821
|
+
He as Checkbox,
|
|
822
|
+
We as Dialog,
|
|
823
|
+
V as DialogBackground,
|
|
824
|
+
qe as DialogContent,
|
|
825
|
+
Ue as DialogToggle,
|
|
826
|
+
Ze as Input,
|
|
827
|
+
Fe as Label,
|
|
828
|
+
Xe as Radio,
|
|
829
|
+
Ke as Select,
|
|
830
|
+
et as Sheet,
|
|
831
|
+
tt as SheetContent,
|
|
832
|
+
ot as SheetToggle,
|
|
833
|
+
at as SkeletonLoader,
|
|
834
|
+
lt as Switch,
|
|
835
|
+
ft as TabItem,
|
|
836
|
+
pt as Table,
|
|
837
|
+
mt as Tabs,
|
|
838
|
+
ht as TextArea,
|
|
839
|
+
xt as default
|
|
590
840
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(a,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(a=typeof globalThis<"u"?globalThis:a||self,e(a.ScrubbedTailwindComponentsV2={},a.Vue,a.vueRouter))})(this,function(a,e,p){"use strict";const H={class:"flex w-full items-center justify-between"},W={class:"flex items-center gap-2"},q={class:"flex items-center gap-10"},O={class:"hidden gap-6 sm:flex"},f={__name:"AppHeader",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n,toggleSidebar:l}=o;return(r,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(["fixed flex h-16 w-dvw items-center bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(n)}])},[e.createElementVNode("nav",H,[e.createElementVNode("div",W,[e.createElementVNode("button",{onClick:s[0]||(s[0]=i=>e.unref(l)()),class:"block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"},s[1]||(s[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-menu-icon lucide-menu size-5 stroke-neutral-600"},[e.createElementVNode("path",{d:"M4 12h16"}),e.createElementVNode("path",{d:"M4 18h16"}),e.createElementVNode("path",{d:"M4 6h16"})],-1)])),e.renderSlot(r.$slots,"header-img")]),e.createElementVNode("div",q,[e.createElementVNode("ul",O,[e.renderSlot(r.$slots,"header-links")]),e.renderSlot(r.$slots,"header-actions")])])],2))}},U=["href"],k={__name:"AppHeaderLink",props:{to:{type:String,required:!0}},setup(t){const o=t;return(n,l)=>(e.openBlock(),e.createElementBlock("li",null,[o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,class:"hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"hover:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all",href:o.to},[e.renderSlot(n.$slots,"default")],8,U))]))}},Z={class:"relative"},J={class:"flex"},b={__name:"AppLayout",setup(t){const o=e.ref(!1);function n(){window.innerWidth<=640?(o.value=!o.value,l()):o.value&&(o.value=!1,l())}function l(){const r=document.querySelector("body");r.classList.contains("bg-black")?r.classList.remove("bg-black"):r.classList.add("bg-black")}return e.provide("APP_DATA",{isSidebarToggled:o,toggleSidebar:n}),(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]",{"scale-93 origin-[center_top] translate-y-4":o.value}])},[e.createElementVNode("div",Z,[e.renderSlot(r.$slots,"header"),e.createElementVNode("div",J,[e.renderSlot(r.$slots,"content")])])],2))}},h={__name:"AppMain",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n}=o;return(l,r)=>(e.openBlock(),e.createElementBlock("main",{class:e.normalizeClass(["bg-background-main fixed z-[-1] h-svh w-full overflow-auto px-6 pb-9 pt-24 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",e.unref(n)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(l.$slots,"default")],2))}},c=(t,o)=>{const n=t.__vccOpts||t;for(const[l,r]of o)n[l]=r;return n},Y={},F={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function X(t,o){return e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"default")])}const g=c(Y,[["render",X]]),Q={class:"shrink-0"},_={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const o=t;return e.ref(null),(n,l)=>(e.openBlock(),e.createElementBlock("div",Q,[e.createVNode(e.unref(p.RouterLink),{class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default"),l[0]||(l[0]=e.createElementVNode("div",{class:"bg-primary-100 absolute inset-x-0 z-[-1] h-8 w-full rounded-lg opacity-0 transition-all contain-strict group-hover:transform-none group-hover:opacity-100 group-hover:[transform-origin:50%_50%_0px]"},null,-1))]),_:3,__:[0]},8,["to"])]))}},K={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},x=c({__name:"AppSidebar",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:n,toggleSidebar:l}=o;return(r,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",K,[e.renderSlot(r.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:"shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(n)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(r.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=i=>e.unref(l)()),class:e.normalizeClass(["backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",e.unref(n)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},[["__scopeId","data-v-aaece1c7"]]),v={class:"flex flex-col"},y={__name:"AppSidebarItem",setup(t){p.useRoute();const o=e.ref(!1);function n(){o.value=!o.value}return e.provide("SIDEBAR_TOGGLE",{toggled:o,toggleSidebarItem:n}),(l,r)=>(e.openBlock(),e.createElementBlock("div",v,[e.renderSlot(l.$slots,"default")]))}},ee=["to"],B={__name:"AppSidebarItemChild",props:{to:{type:String,required:!0}},setup(t){const o=t;return(n,l)=>o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all",to:o.to},[e.renderSlot(n.$slots,"default")],8,ee))}},w={__name:"AppSidebarItemChildren",setup(t){const o=e.inject("SIDEBAR_TOGGLE"),{toggled:n}=o;return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["max-h-0 overflow-y-hidden rounded-b-lg opacity-0 transition-all",{"mt-2 max-h-max overflow-y-auto px-2 opacity-100":e.unref(n)}])},[e.renderSlot(l.$slots,"default")],2))}},te={class:"link group/sidebar-item hover:bg-background-main has-[&.router-link-active]:bg-background-main peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},oe=["href"],$=c({__name:"AppSidebarItemParent",props:{to:{type:String,required:!0},name:{type:String},hasChildren:{type:Boolean,default:!1}},setup(t){const o=p.useRoute(),n=t,l=e.inject("SIDEBAR_TOGGLE"),r=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:i}=l,{toggleSidebar:m}=r;function G(){o.matched.some(d=>n.name===d.name)?s.value=!0:s.value=!1}return e.watch(o,()=>G(),{immediate:!0}),(u,d)=>(e.openBlock(),e.createElementBlock("div",te,[n.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,onClick:d[0]||(d[0]=$e=>e.unref(m)()),class:"[&.router-link-active]:text-primary-800 [&.router-link-active]:text-primary-800 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",to:n.to},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default",{},void 0,!0)]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",href:n.to},[e.renderSlot(u.$slots,"default",{},void 0,!0)],8,oe)),n.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:d[1]||(d[1]=$e=>e.unref(i)()),class:"cursor-pointer rounded-full p-1 transition-all hover:bg-neutral-100",type:"button"},[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300",{"rotate-180":e.unref(s)}])},d[2]||(d[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-0fab71c0"]]),re={class:"hover:bg-background-main has-[&.router-link-active]:active has-[&.router-link-active]:bg-primary-700 peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},S={__name:"AppSidebarToggle",setup(t){const o=e.inject("SIDEBAR_TOGGLE");return(n,l)=>{const r=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("div",re,[e.createVNode(r,{class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium [&.router-link-active]:text-white",to:"/"},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3}),e.createElementVNode("button",{onClick:l[0]||(l[0]=s=>e.unref(o).toggleSidebarItem()),class:"cursor-pointer",type:"button"},l[1]||(l[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-chevron-down-icon lucide-chevron-down stroke-white"},[e.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1)]))])}}},ne={},le={key:0,class:"text-primary-950 px-1 text-sm font-medium"},ae={class:"mt-2"};function se(t,o){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",le,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",ae,[e.renderSlot(t.$slots,"items")])])}const A=c(ne,[["render",se]]),ie={},ce={class:"rounded-full px-3 py-1 text-xs font-medium"};function de(t,o){return e.openBlock(),e.createElementBlock("div",ce,[e.renderSlot(t.$slots,"default")])}const E=c(ie,[["render",de]]),V={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t){const o=t,n={primary:["bg-brand-primary-700","text-white","active:bg-primary-950 hover:bg-primary-800"],secondary:["bg-neutral-100","text-primary-900"],outlined:["border-[1px]","border-neutral-200","text-primary-900","hover:bg-neutral-100"],ghost:["font-medium","text-primary-900","hover:bg-neutral-100"],destructive:["bg-danger-600","text-white","active:bg-danger-600-active","hover:bg-danger-600-hovered"]};return(l,r)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(l.$attrs,{class:["cursor-pointer rounded-lg px-4 py-2 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",n[o.variant]]}),[e.renderSlot(l.$slots,"default")],16))}},pe={},me={class:"rounded-2xl bg-white p-6"};function ue(t,o){return e.openBlock(),e.createElementBlock("div",me,[e.renderSlot(t.$slots,"default")])}const I=c(pe,[["render",ue]]),T={__name:"Checkbox",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref(null);return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:r[1]||(r[1]=s=>n.value.click()),class:"group/checkbox bg-neutral-100 has-checked:bg-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-sm transition-all"},[r[2]||(r[2]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-check-icon lucide-check hidden stroke-white group-has-[:checked]/checkbox:block"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":r[0]||(r[0]=s=>o.value=s),type:"checkbox",ref_key:"checkboxRef",ref:n,hidden:""}),null,16),[[e.vModelCheckbox,o.value]])]))}},fe={class:"pointer-events-auto fixed inset-0 z-[100] min-h-screen bg-black/80 backdrop-blur-[2px]"},C={__name:"DialogBackground",setup(t){return e.onMounted(()=>{document.querySelector("body").classList.add("overflow-hidden")}),e.onUnmounted(()=>{document.querySelector("body").classList.remove("overflow-hidden")}),(o,n)=>(e.openBlock(),e.createElementBlock("div",fe,[e.renderSlot(o.$slots,"default")]))}},N={__name:"Input",props:["modelValue"],setup(t){const o=t,n=e.ref(o.modelValue);return(l,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),onInput:r[1]||(r[1]=s=>l.$emit("update:modelValue",s.target.value)),class:"text-primary-950 focus:ring-primary-700 neutral-400:text-neutral-400 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"},null,544)),[[e.vModelText,n.value]])}},ke={};function be(t,o){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-xs transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const P=c(ke,[["render",be]]),D={__name:"Radio",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref(null);return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:r[1]||(r[1]=s=>n.value.click()),class:"group/radio bg-neutral-100 has-checked:bg-white has-checked:border-primary-700 flex size-4 cursor-pointer items-center justify-center rounded-full border-[1px] border-transparent"},[r[2]||(r[2]=e.createElementVNode("div",{class:"group-has-checked/radio:bg-primary-700 group-has-checked/radio:opacity-100 size-[10px] rounded-full opacity-0 transition-all"},null,-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":r[0]||(r[0]=s=>o.value=s),type:"radio",ref_key:"radioRef",ref:n,hidden:""}),null,16),[[e.vModelRadio,o.value]])]))}},he="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",L={__name:"Select",setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{onChange:n[0]||(n[0]=l=>o.$emit("update:modelValue",l.target.value)),class:["border-neutral-200 text-primary-950 focus:ring-primary-700 appearance-none rounded-lg border-[1px] bg-white bg-[length:16px] bg-[right_12px_center] bg-no-repeat px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2",he]}),[e.renderSlot(o.$slots,"default")],16))}},ge={class:"w-full"},_e={class:"h-16"},xe={key:0},ye={key:0,class:"pe-4"},j={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const o=t;return(n,l)=>(e.openBlock(),e.createElementBlock("table",ge,[e.createElementVNode("thead",null,[e.createElementVNode("tr",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,r=>(e.openBlock(),e.createElementBlock("th",{key:r.key,class:"text-xs font-medium text-neutral-600 first-of-type:ps-4"},e.toDisplayString(r.label),1))),128)),n.$slots.actions?(e.openBlock(),e.createElementBlock("th",xe)):e.createCommentVNode("",!0)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.data,(r,s)=>(e.openBlock(),e.createElementBlock("tr",{key:s,class:"odd:bg-background-main/50 hover:bg-background-main min-h-16 rounded-md transition-all"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,i=>(e.openBlock(),e.createElementBlock("td",{key:i.key,class:"text-primary-950 py-4 text-xs first-of-type:rounded-s-md first-of-type:ps-4 last-of-type:rounded-e-md last-of-type:pe-4"},[e.renderSlot(n.$slots,i.key,{row:r},()=>[e.createTextVNode(e.toDisplayString(r[i.key]),1)])]))),128)),n.$slots.actions?(e.openBlock(),e.createElementBlock("td",ye,[e.renderSlot(n.$slots,"actions",{row:r})])):e.createCommentVNode("",!0)]))),128))])]))}},Be={class:"overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden"},R={__name:"Tabs",props:{default:{default:null}},setup(t){const o=t,n=e.ref(o.default);function l(r){n.value=r}return e.provide("TAB_DATA",{currentValue:n,setCurrentValue:l}),(r,s)=>(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(r.$slots,"default")]))}},M=c({__name:"TabItem",props:{value:{required:!0}},setup(t){const o=t,n=e.inject("TAB_DATA"),{currentValue:l,setCurrentValue:r}=n,s=e.computed(()=>l.value===o.value?["bg-white","font-medium","text-primary-700","shadow-xl","tab-active"]:"text-neutral-600");return(i,m)=>(e.openBlock(),e.createElementBlock("button",{onClick:m[0]||(m[0]=G=>e.unref(r)(o.value)),class:e.normalizeClass(["tab h-8 cursor-pointer rounded-lg px-3 text-xs transition-all disabled:cursor-not-allowed disabled:opacity-50",s.value])},[e.renderSlot(i.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-9e06f71f"]]),z={__name:"TextArea",props:["modelValue"],setup(t){const o=t,n=e.ref(o.modelValue);return(l,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:r[0]||(r[0]=s=>l.$emit("update:modelValue",s.target.value))},l.$attrs,{"onUpdate:modelValue":r[1]||(r[1]=s=>n.value=s),class:"border-neutral-200 text-primary-950 neutral-400:text-neutral-400 focus:ring-primary-700 rounded-lg border-[1px] px-3 py-2 text-xs outline-none transition-all focus:ring-2 focus:ring-offset-2"}),null,16)),[[e.vModelText,n.value]])}},we={install(t){t.component("AppHeader",f),t.component("AppHeaderLink",k),t.component("AppLayout",b),t.component("AppMain",h),t.component("AppNavTabs",g),t.component("AppNavTab",_),t.component("AppSidebar",x),t.component("AppSidebarItem",y),t.component("AppSidebarItemChild",B),t.component("AppSidebarItemChildren",w),t.component("AppSidebarItemParent",$),t.component("AppSidebarToggle",S),t.component("AppSidebarNavSection",A),t.component("Badge",E),t.component("Button",V),t.component("Checkbox",T),t.component("Card",I),t.component("DialogBackground",C),t.component("Input",N),t.component("Label",P),t.component("Radio",D),t.component("Select",L),t.component("Table",j),t.component("Tabs",R),t.component("TabItem",M),t.component("TextArea",z)}};a.AppHeader=f,a.AppHeaderLink=k,a.AppLayout=b,a.AppMain=h,a.AppNavTab=_,a.AppNavTabs=g,a.AppSidebar=x,a.AppSidebarItem=y,a.AppSidebarItemChild=B,a.AppSidebarItemChildren=w,a.AppSidebarItemParent=$,a.AppSidebarNavSection=A,a.AppSidebarToggle=S,a.Badge=E,a.Button=V,a.Card=I,a.Checkbox=T,a.DialogBackground=C,a.Input=N,a.Label=P,a.Radio=D,a.Select=L,a.TabItem=M,a.Table=j,a.Tabs=R,a.TextArea=z,a.default=we,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(a,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(a=typeof globalThis<"u"?globalThis:a||self,e(a.ScrubbedTailwindComponentsV2={},a.Vue,a.vueRouter))})(this,function(a,e,p){"use strict";const F={class:"flex w-full items-center justify-between"},X={class:"flex items-center gap-2"},Q={class:"flex items-center gap-10"},K={class:"hidden gap-6 sm:flex"},b={__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 bg-white/50 px-3 backdrop-blur sm:px-6",{"rounded-t-2xl":e.unref(r)}])},[e.createElementVNode("nav",F,[e.createElementVNode("div",X,[e.createElementVNode("button",{onClick:s[0]||(s[0]=c=>e.unref(l)()),class:"block cursor-pointer rounded-full p-2 hover:bg-neutral-100 sm:hidden"},s[1]||(s[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-menu-icon lucide-menu size-5 stroke-neutral-600"},[e.createElementVNode("path",{d:"M4 12h16"}),e.createElementVNode("path",{d:"M4 18h16"}),e.createElementVNode("path",{d:"M4 6h16"})],-1)])),e.renderSlot(n.$slots,"header-img")]),e.createElementVNode("div",Q,[e.createElementVNode("ul",K,[e.renderSlot(n.$slots,"header-links")]),e.renderSlot(n.$slots,"header-actions")])])],2))}},v=["href"],h={__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(p.RouterLink),{key:0,class:"hover:text-primary-950 [&.router-link-active]:text-primary-950 text-xs uppercase text-neutral-600 hover:transition-all [&.router-link-active]:font-semibold",to:o.to},{default:e.withCtx(()=>[e.renderSlot(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,v))]))}},ee={class:"relative"},te={class:"flex"},k={__name:"AppLayout",setup(t){const o=e.ref(!1);function r(){window.innerWidth<=640?(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)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)]",{"scale-93 origin-[center_top] translate-y-4":o.value}])},[e.createElementVNode("div",ee,[e.renderSlot(n.$slots,"header"),e.createElementVNode("div",te,[e.renderSlot(n.$slots,"content")])])],2))}},_={__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 pb-9 pt-24 sm:top-16 sm:ml-[223px] sm:h-[calc(100dvh-4rem)] sm:w-[calc(100dvw-223px)] sm:pt-9",e.unref(r)?"overflow-hidden rounded-t-xl sm:rounded-none":"sm:rounded-tl-2xl"])},[e.renderSlot(l.$slots,"default")],2))}},i=(t,o)=>{const r=t.__vccOpts||t;for(const[l,n]of o)r[l]=n;return r},oe={},re={class:"flex w-full overflow-x-auto border-b-[1px] border-neutral-200 [&::-webkit-scrollbar]:hidden"};function ne(t,o){return e.openBlock(),e.createElementBlock("div",re,[e.renderSlot(t.$slots,"default")])}const x=i(oe,[["render",ne]]),le={class:"shrink-0"},y={__name:"AppNavTab",props:{to:{type:String,required:!0}},setup(t){const o=t;return e.ref(null),(r,l)=>(e.openBlock(),e.createElementBlock("div",le,[e.createVNode(e.unref(p.RouterLink),{class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:border-brand-primary-700 hover:text-brand-primary-700 group relative flex h-12 shrink-0 items-center justify-between gap-2 border-b-2 border-transparent px-3 text-sm text-neutral-600 transition-all [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(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"])]))}},ae={class:"fixed left-0 top-0 hidden w-[223px] space-y-4 bg-white px-4 py-8 sm:top-[64px] sm:block"},B=i({__name:"AppSidebar",setup(t){const o=e.inject("APP_DATA"),{isSidebarToggled:r,toggleSidebar:l}=o;return(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("aside",ae,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:"shadow-t-2xl fixed bottom-0 z-50 h-[60svh] w-full space-y-4 overflow-y-scroll rounded-t-2xl bg-white p-4 transition-all duration-500 ease-[cubic-bezier(.32,.72,0,1)] [&::-webkit-scrollbar]:hidden",style:e.normalizeStyle(e.unref(r)?"transform: translateZ(0)":"transform: translate3d(0,60svh,0)")},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4),e.createElementVNode("div",{onClick:s[0]||(s[0]=c=>e.unref(l)()),class:e.normalizeClass(["backdrop backdrop-blur-[0.50px] transition-all duration-300 [transition-behavior:allow-discrete]",e.unref(r)?"fixed inset-0 z-40 block bg-black/80 opacity-100":"hidden"])},null,2)]))],64))}},[["__scopeId","data-v-aaece1c7"]]),se={class:"flex flex-col"},C={__name:"AppSidebarItem",setup(t){p.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",se,[e.renderSlot(l.$slots,"default")]))}},ce=["to"],w={__name:"AppSidebarItemChild",props:{to:{type:String,required:!0}},setup(t){const o=t;return(r,l)=>o.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,class:"[&.router-link-exact-active]:text-primary-950 [&.router-link-exact-active]:bg-background-main text-primary-950 hover:bg-background-main block h-10 items-center gap-3 overflow-hidden text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all [&.router-link-exact-active]:font-medium",to:o.to},{default:e.withCtx(()=>[e.renderSlot(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 text-ellipsis whitespace-nowrap rounded-lg px-3 text-xs leading-[40px] transition-all",to:o.to},[e.renderSlot(r.$slots,"default")],8,ce))}},S={__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))}},ie={class:"link group/sidebar-item hover:bg-background-main has-[&.router-link-active]:bg-background-main peer flex h-10 items-center justify-between rounded-lg px-3 transition-all"},de=["href"],$=i({__name:"AppSidebarItemParent",props:{to:{type:String,required:!0},name:{type:[String,Object]},hasChildren:{type:Boolean,default:!1}},setup(t){const o=p.useRoute(),r=t,l=e.inject("SIDEBAR_TOGGLE"),n=e.inject("APP_DATA"),{toggled:s,toggleSidebarItem:c}=l,{toggleSidebar:g}=n;function Y(){o.matched.some(d=>r.name===d.name)?s.value=!0:s.value=!1}return e.watch(o,()=>Y(),{immediate:!0}),(f,d)=>(e.openBlock(),e.createElementBlock("div",ie,[r.to.startsWith("/")?(e.openBlock(),e.createBlock(e.unref(p.RouterLink),{key:0,onClick:d[0]||(d[0]=Le=>e.unref(g)()),class:"[&.router-link-active]:text-primary-800 text-primary-950 peer flex h-full w-full items-center gap-3 text-xs [&.router-link-active]:font-medium",to:r.to},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:1,class:"text-primary-950 peer flex h-full w-full items-center gap-3 text-xs",href:r.to},[e.renderSlot(f.$slots,"default",{},void 0,!0)],8,de)),r.hasChildren?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:d[1]||(d[1]=Le=>e.unref(c)()),class:"cursor-pointer rounded-full p-1 transition-all hover:bg-neutral-100",type:"button"},[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["lucide lucide-chevron-down-icon lucide-chevron-down stroke-primary-800 transition-all duration-300",{"rotate-180":e.unref(s)}])},d[2]||(d[2]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)]),2))])):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-28fee03d"]]),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"},A={__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)]))])}}},me={},ue={key:0,class:"text-primary-950 px-1 text-sm font-medium"},ge={class:"mt-2"};function fe(t,o){return e.openBlock(),e.createElementBlock("nav",null,[t.$slots.title?(e.openBlock(),e.createElementBlock("b",ue,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("div",ge,[e.renderSlot(t.$slots,"items")])])}const E=i(me,[["render",fe]]),be={},he={class:"rounded-full px-3 py-1 text-xs font-medium"};function ke(t,o){return e.openBlock(),e.createElementBlock("div",he,[e.renderSlot(t.$slots,"default")])}const T=i(be,[["render",ke]]),V={__name:"Button",props:{variant:{type:String,default:"primary"}},setup(t){const o=t,r={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"},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"}};return(l,n)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(l.$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",[r[o.variant].backgroundColor,r[o.variant].borderColor,r[o.variant].textColor,r[o.variant].hoverBackgroundColor,r[o.variant].hoverTextColor,r[o.variant].focusRing]]}),[e.renderSlot(l.$slots,"default")],16))}},_e={},xe={class:"rounded-2xl bg-white p-6"};function ye(t,o){return e.openBlock(),e.createElementBlock("div",xe,[e.renderSlot(t.$slots,"default")])}const m=i(_e,[["render",ye]]),I={__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[1]||(n[1]=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]"},[n[2]||(n[2]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-check-icon lucide-check scale-0 stroke-white opacity-0 group-has-[:checked]/checkbox:scale-100 group-has-[:checked]/checkbox:opacity-100"},[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>o.value=s),type:"checkbox",ref_key:"checkboxRef",ref:r,hidden:""}),null,16),[[e.vModelCheckbox,o.value]])]))}},N={__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")}},Be={class:"pointer-events-auto fixed inset-0 z-[500] min-h-screen bg-black/80 backdrop-blur-[2px]"},u={__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",Be,[e.renderSlot(o.$slots,"default")]))}},D={__name:"DialogContent",props:{class:{type:String}},setup(t){const o=t,{toggled:r,toggleDialog:l}=e.inject("DIALOG_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createBlock(u,{key:0,onClick:s[0]||(s[0]=c=>e.unref(l)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade-in-dialog"},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createBlock(m,{key:0,class:e.normalizeClass(["fixed left-1/2 top-1/2 z-[600] -translate-x-1/2 -translate-y-1/2 rounded-xl bg-white transition-all",o.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},R={__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)})))}}},L={__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:"text-primary-950 focus:ring-brand-primary-700 neutral-400:text-neutral-400 rounded-lg border-[1px] border-neutral-200 bg-white px-3 py-2 text-xs transition-all duration-300 outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"},null,512)),[[e.vModelText,o.value]])}},Ce={};function we(t,o){return e.openBlock(),e.createElementBlock("label",e.mergeProps(t.$attrs,{class:"text-primary-950 text-sm transition-all"}),[e.renderSlot(t.$slots,"default")],16)}const M=i(Ce,[["render",we]]),P={__name:"Radio",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[1]||(n[1]=s=>r.value.click()),class:"group/radio has-checked:border-brand-primary-700 flex size-4 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[2]||(n[2]=e.createElementVNode("div",{class:"group-has-checked/radio:bg-brand-primary-700 size-[10px] rounded-full opacity-0 transition-all group-has-checked/radio:opacity-100"},null,-1)),e.withDirectives(e.createElementVNode("input",e.mergeProps(l.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=s=>o.value=s),type:"radio",ref_key:"radioRef",ref:r,hidden:""}),null,16),[[e.vModelRadio,o.value]])]))}},Se="bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1YjYxNmUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==')]",j={__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:["text-primary-950 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 transition-all outline-none focus:ring-2 focus:ring-offset-2",Se]}),[e.renderSlot(r.$slots,"default")],16)),[[e.vModelSelect,o.value]])}},z={__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")}},G={__name:"SheetContent",props:{class:{type:String}},setup(t){const o=t,{toggled:r,toggleSheet:l}=e.inject("SHEET_META");return(n,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade-in"},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createBlock(u,{key:0,onClick:s[0]||(s[0]=c=>e.unref(l)())})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"slide"},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createBlock(m,{key:0,class:e.normalizeClass(["fixed right-0 top-1/2 z-[600] h-full w-3/4 -translate-y-1/2 rounded-e-none bg-white transition-all md:right-[1rem] md:h-[calc(100dvh-2rem)] md:w-96 md:rounded-xl",o.class])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"])):e.createCommentVNode("",!0)]),_:3})]))}},H={__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)})))}}},$e={},Ae={class:"bg-primary-100 animate-pulse rounded-lg"};function Ee(t,o){return e.openBlock(),e.createElementBlock("div",Ae)}const W=i($e,[["render",Ee]]),q={__name:"Switch",setup(t){const o=e.ref(!1);function r(){o.value=!o.value}return(l,n)=>(e.openBlock(),e.createElementBlock("button",{onClick:n[0]||(n[0]=s=>r()),class:e.normalizeClass(["h-5 w-9 cursor-pointer rounded-full p-0.5 transition-all duration-300 disabled:cursor-not-allowed disabled:opacity-50",o.value?"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 block size-4 rounded-full bg-white shadow-md transition-all duration-300",{"translate-x-full":o.value}])},null,2)],2))}},Te={class:"w-full"},Ve={class:"h-16"},Ie={key:0},Ne={key:0,class:"pe-4"},O={__name:"Table",props:{columns:{type:Array,required:!0},data:{type:Array,required:!0}},setup(t){const o=t;return(r,l)=>(e.openBlock(),e.createElementBlock("table",Te,[e.createElementVNode("thead",null,[e.createElementVNode("tr",Ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,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",Ie)):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",Ne,[e.renderSlot(r.$slots,"actions",{row:n})])):e.createCommentVNode("",!0)]))),128))])]))}},De={class:"overflow-x-scroll rounded-xl bg-neutral-100/50 p-1 [&::-webkit-scrollbar]:hidden"},U={__name:"Tabs",props:{default:{default:null}},setup(t){const o=t,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",De,[e.renderSlot(n.$slots,"default")]))}},Z=i({__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,g)=>(e.openBlock(),e.createElementBlock("button",{onClick:g[0]||(g[0]=Y=>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"]]),J={__name:"TextArea",props:["modelValue"],setup(t){const o=t,r=e.ref(o.modelValue);return(l,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",e.mergeProps({onInput:n[0]||(n[0]=s=>l.$emit("update:modelValue",s.target.value))},l.$attrs,{"onUpdate:modelValue":n[1]||(n[1]=s=>r.value=s),class:"text-primary-950 neutral-400:text-neutral-400 focus:ring-brand-primary-700 rounded-lg border-[1px] border-neutral-200 px-3 py-2 text-xs transition-all outline-none focus:ring-2 focus:ring-offset-2"}),null,16)),[[e.vModelText,r.value]])}},Re={install(t){t.component("AppHeader",b),t.component("AppHeaderLink",h),t.component("AppLayout",k),t.component("AppMain",_),t.component("AppNavTabs",x),t.component("AppNavTab",y),t.component("AppSidebar",B),t.component("AppSidebarItem",C),t.component("AppSidebarItemChild",w),t.component("AppSidebarItemChildren",S),t.component("AppSidebarItemParent",$),t.component("AppSidebarToggle",A),t.component("AppSidebarNavSection",E),t.component("Badge",T),t.component("Button",V),t.component("Checkbox",I),t.component("Card",m),t.component("Dialog",N),t.component("DialogContent",D),t.component("DialogToggle",R),t.component("DialogBackground",u),t.component("Input",L),t.component("Label",M),t.component("Radio",P),t.component("Select",j),t.component("Sheet",z),t.component("SheetContent",G),t.component("SheetToggle",H),t.component("SkeletonLoader",W),t.component("Switch",q),t.component("Table",O),t.component("Tabs",U),t.component("TabItem",Z),t.component("TextArea",J)}};a.AppHeader=b,a.AppHeaderLink=h,a.AppLayout=k,a.AppMain=_,a.AppNavTab=y,a.AppNavTabs=x,a.AppSidebar=B,a.AppSidebarItem=C,a.AppSidebarItemChild=w,a.AppSidebarItemChildren=S,a.AppSidebarItemParent=$,a.AppSidebarNavSection=E,a.AppSidebarToggle=A,a.Badge=T,a.Button=V,a.Card=m,a.Checkbox=I,a.Dialog=N,a.DialogBackground=u,a.DialogContent=D,a.DialogToggle=R,a.Input=L,a.Label=M,a.Radio=P,a.Select=j,a.Sheet=z,a.SheetContent=G,a.SheetToggle=H,a.SkeletonLoader=W,a.Switch=q,a.TabItem=Z,a.Table=O,a.Tabs=U,a.TextArea=J,a.default=Re,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scrubbed-tailwind-components-v2",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/scrubbed-tailwind-components-v2.umd.js",
|
|
@@ -26,7 +26,10 @@
|
|
|
26
26
|
"test:unit:dev": "cypress open --component",
|
|
27
27
|
"format": "prettier --write src/"
|
|
28
28
|
},
|
|
29
|
-
"dependencies": {
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@tailwindcss/vite": "^4.1.14",
|
|
31
|
+
"tailwindcss": "^4.1.14"
|
|
32
|
+
},
|
|
30
33
|
"peerDependencies": {
|
|
31
34
|
"vue": "^3.5.13",
|
|
32
35
|
"vue-router": "^4.5.0"
|