manolis-ui 0.5.4 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +93 -11
- package/dist/manolis-ui.js +983 -706
- package/dist/manolis-ui.umd.cjs +9 -9
- package/dist/style.css +287 -0
- package/package.json +1 -1
package/dist/manolis-ui.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as B, computed as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as B, computed as V, createElementBlock as n, openBlock as a, normalizeClass as I, createCommentVNode as D, renderSlot as C, createTextVNode as re, createElementVNode as l, Fragment as S, renderList as M, toDisplayString as _, ref as x, h as se, onMounted as K, watch as j, withDirectives as A, createVNode as Z, isRef as Ve, vModelCheckbox as Be, unref as L, provide as Oe, normalizeStyle as ie, inject as Pe, defineAsyncComponent as ze, onBeforeUnmount as Ae, createBlock as pe, resolveDynamicComponent as ve, mergeProps as fe, nextTick as me, onUnmounted as be, vModelSelect as H, vModelText as X, withKeys as Ue, withModifiers as he, vShow as Le } from "vue";
|
|
2
|
+
const je = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "loading loading-spinner"
|
|
5
|
-
},
|
|
5
|
+
}, oa = /* @__PURE__ */ B({
|
|
6
6
|
__name: "ButtonComponent",
|
|
7
7
|
props: {
|
|
8
8
|
outlined: { type: Boolean, default: !1 },
|
|
@@ -12,9 +12,9 @@ const ze = {
|
|
|
12
12
|
size: {},
|
|
13
13
|
shape: {}
|
|
14
14
|
},
|
|
15
|
-
setup(
|
|
16
|
-
const
|
|
17
|
-
switch (
|
|
15
|
+
setup(r) {
|
|
16
|
+
const c = r, e = V(() => {
|
|
17
|
+
switch (c.size) {
|
|
18
18
|
case "large":
|
|
19
19
|
return "btn-lg";
|
|
20
20
|
case "small":
|
|
@@ -28,8 +28,8 @@ const ze = {
|
|
|
28
28
|
default:
|
|
29
29
|
return "";
|
|
30
30
|
}
|
|
31
|
-
}), t =
|
|
32
|
-
switch (
|
|
31
|
+
}), t = V(() => {
|
|
32
|
+
switch (c.type) {
|
|
33
33
|
case "neutral":
|
|
34
34
|
return "btn-neutral";
|
|
35
35
|
case "primary":
|
|
@@ -53,8 +53,8 @@ const ze = {
|
|
|
53
53
|
default:
|
|
54
54
|
return "btn-neutral";
|
|
55
55
|
}
|
|
56
|
-
}), o =
|
|
57
|
-
switch (
|
|
56
|
+
}), o = V(() => {
|
|
57
|
+
switch (c.shape) {
|
|
58
58
|
case "square":
|
|
59
59
|
return "btn-square";
|
|
60
60
|
case "circle":
|
|
@@ -63,19 +63,19 @@ const ze = {
|
|
|
63
63
|
return "";
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
-
return (s,
|
|
67
|
-
class:
|
|
66
|
+
return (s, i) => (a(), n("button", {
|
|
67
|
+
class: I(["btn", { "btn-outline": c.outlined }, { "btn-active": c.active }, t.value, e.value, o.value])
|
|
68
68
|
}, [
|
|
69
|
-
s.loading ? (a(),
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
s.loading ? (a(), n("span", je)) : D("", !0),
|
|
70
|
+
C(s.$slots, "default", {}, () => [
|
|
71
|
+
i[0] || (i[0] = re("Submit"))
|
|
72
72
|
])
|
|
73
73
|
], 2));
|
|
74
74
|
}
|
|
75
|
-
}),
|
|
75
|
+
}), Ee = {
|
|
76
76
|
tabindex: "0",
|
|
77
77
|
class: "z-1 bg-base-100 shadow-sm p-2 rounded-sm min-w-[inherit] md:min-w-full xl:min-w-52 dropdown-content menu"
|
|
78
|
-
},
|
|
78
|
+
}, Ne = ["href"], sa = /* @__PURE__ */ B({
|
|
79
79
|
__name: "dropdown",
|
|
80
80
|
props: {
|
|
81
81
|
items: {},
|
|
@@ -84,8 +84,8 @@ const ze = {
|
|
|
84
84
|
openOnHover: { type: Boolean, default: !1 },
|
|
85
85
|
forceOpen: { type: Boolean, default: !1 }
|
|
86
86
|
},
|
|
87
|
-
setup(
|
|
88
|
-
const
|
|
87
|
+
setup(r) {
|
|
88
|
+
const c = {
|
|
89
89
|
left: "dropdown-left",
|
|
90
90
|
right: "dropdown-right",
|
|
91
91
|
bottom: "dropdown-bottom",
|
|
@@ -93,69 +93,69 @@ const ze = {
|
|
|
93
93
|
}, e = {
|
|
94
94
|
start: "",
|
|
95
95
|
end: "dropdown-end"
|
|
96
|
-
}, t =
|
|
97
|
-
return (o, s) => (a(),
|
|
98
|
-
class:
|
|
96
|
+
}, t = r;
|
|
97
|
+
return (o, s) => (a(), n("div", {
|
|
98
|
+
class: I(["dropdown", c[t.position], e[t.floatPosition], { "dropdown-open": t.forceOpen }, { "dropdown-hover": t.openOnHover }])
|
|
99
99
|
}, [
|
|
100
|
-
|
|
100
|
+
C(o.$slots, "default", {
|
|
101
101
|
tabindex: "0",
|
|
102
102
|
role: "button"
|
|
103
103
|
}, () => [
|
|
104
|
-
s[0] || (s[0] =
|
|
104
|
+
s[0] || (s[0] = l("div", { class: "m-1 btn" }, "Open dropdown", -1))
|
|
105
105
|
]),
|
|
106
|
-
|
|
107
|
-
(a(!0),
|
|
108
|
-
|
|
109
|
-
href:
|
|
110
|
-
},
|
|
106
|
+
l("ul", Ee, [
|
|
107
|
+
(a(!0), n(S, null, M(o.items, (i) => (a(), n("li", null, [
|
|
108
|
+
l("a", {
|
|
109
|
+
href: i.link
|
|
110
|
+
}, _(i.text), 9, Ne)
|
|
111
111
|
]))), 256)),
|
|
112
|
-
|
|
112
|
+
C(o.$slots, "additional")
|
|
113
113
|
])
|
|
114
114
|
], 2));
|
|
115
115
|
}
|
|
116
|
-
}),
|
|
116
|
+
}), Fe = { class: "modal-box" }, Re = { class: "modal-action" }, ra = /* @__PURE__ */ B({
|
|
117
117
|
__name: "modal",
|
|
118
118
|
props: {
|
|
119
119
|
position: { default: "center" },
|
|
120
120
|
withBackdrop: { type: Boolean, default: !1 }
|
|
121
121
|
},
|
|
122
|
-
setup(
|
|
123
|
-
const
|
|
122
|
+
setup(r) {
|
|
123
|
+
const c = r, e = {
|
|
124
124
|
top: "modal-top",
|
|
125
125
|
bottom: "modal-bottom",
|
|
126
126
|
center: "modal-middle"
|
|
127
127
|
}, t = x(null), o = () => {
|
|
128
|
-
var
|
|
129
|
-
(
|
|
128
|
+
var i;
|
|
129
|
+
(i = t.value) == null || i.showModal();
|
|
130
130
|
}, s = () => {
|
|
131
|
-
var
|
|
132
|
-
(
|
|
131
|
+
var i;
|
|
132
|
+
(i = t.value) == null || i.close();
|
|
133
133
|
};
|
|
134
|
-
return (
|
|
135
|
-
|
|
134
|
+
return (i, y) => (a(), n(S, null, [
|
|
135
|
+
l("span", {
|
|
136
136
|
class: "w-fit cursor-pointer",
|
|
137
137
|
onClick: o
|
|
138
138
|
}, [
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
C(i.$slots, "trigger", { role: "button" }, () => [
|
|
140
|
+
y[0] || (y[0] = l("button", { class: "btn" }, "Open", -1))
|
|
141
141
|
])
|
|
142
142
|
]),
|
|
143
|
-
|
|
143
|
+
l("dialog", {
|
|
144
144
|
ref_key: "dialog",
|
|
145
145
|
ref: t,
|
|
146
|
-
class:
|
|
146
|
+
class: I(["modal", e[c.position]])
|
|
147
147
|
}, [
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
148
|
+
l("div", Fe, [
|
|
149
|
+
C(i.$slots, "default"),
|
|
150
|
+
l("div", Re, [
|
|
151
|
+
C(i.$slots, "actions"),
|
|
152
|
+
l("form", {
|
|
153
153
|
method: "dialog",
|
|
154
154
|
onSubmit: s,
|
|
155
|
-
class:
|
|
155
|
+
class: I(i.withBackdrop ? "modal-backdrop" : "")
|
|
156
156
|
}, [
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
C(i.$slots, "close-button", {}, () => [
|
|
158
|
+
y[1] || (y[1] = l("button", { class: "btn" }, "Close", -1))
|
|
159
159
|
])
|
|
160
160
|
], 34)
|
|
161
161
|
])
|
|
@@ -163,22 +163,22 @@ const ze = {
|
|
|
163
163
|
], 2)
|
|
164
164
|
], 64));
|
|
165
165
|
}
|
|
166
|
-
}),
|
|
166
|
+
}), He = { class: "flex justify-center items-center swap-on" }, qe = { class: "flex justify-center items-center swap-off" }, ia = /* @__PURE__ */ B({
|
|
167
167
|
__name: "swap",
|
|
168
168
|
props: {
|
|
169
169
|
effect: {}
|
|
170
170
|
},
|
|
171
|
-
setup(
|
|
172
|
-
const
|
|
173
|
-
return (e, t) => (a(),
|
|
174
|
-
class:
|
|
171
|
+
setup(r) {
|
|
172
|
+
const c = r;
|
|
173
|
+
return (e, t) => (a(), n("label", {
|
|
174
|
+
class: I(["swap", c.effect ? `swap-${e.effect}` : ""])
|
|
175
175
|
}, [
|
|
176
|
-
t[0] || (t[0] =
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
t[0] || (t[0] = l("input", { type: "checkbox" }, null, -1)),
|
|
177
|
+
l("div", He, [
|
|
178
|
+
C(e.$slots, "on")
|
|
179
179
|
]),
|
|
180
|
-
|
|
181
|
-
|
|
180
|
+
l("div", qe, [
|
|
181
|
+
C(e.$slots, "off")
|
|
182
182
|
])
|
|
183
183
|
], 2));
|
|
184
184
|
}
|
|
@@ -189,14 +189,14 @@ const ze = {
|
|
|
189
189
|
* This source code is licensed under the ISC license.
|
|
190
190
|
* See the LICENSE file in the root directory of this source tree.
|
|
191
191
|
*/
|
|
192
|
-
const
|
|
192
|
+
const We = (r) => r.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
193
193
|
/**
|
|
194
194
|
* @license lucide-vue-next v0.468.0 - ISC
|
|
195
195
|
*
|
|
196
196
|
* This source code is licensed under the ISC license.
|
|
197
197
|
* See the LICENSE file in the root directory of this source tree.
|
|
198
198
|
*/
|
|
199
|
-
var
|
|
199
|
+
var le = {
|
|
200
200
|
xmlns: "http://www.w3.org/2000/svg",
|
|
201
201
|
width: 24,
|
|
202
202
|
height: 24,
|
|
@@ -213,18 +213,18 @@ var te = {
|
|
|
213
213
|
* This source code is licensed under the ISC license.
|
|
214
214
|
* See the LICENSE file in the root directory of this source tree.
|
|
215
215
|
*/
|
|
216
|
-
const
|
|
216
|
+
const Ke = ({ size: r, strokeWidth: c = 2, absoluteStrokeWidth: e, color: t, iconNode: o, name: s, class: i, ...y }, { slots: v }) => se(
|
|
217
217
|
"svg",
|
|
218
218
|
{
|
|
219
|
-
...
|
|
220
|
-
width:
|
|
221
|
-
height:
|
|
222
|
-
stroke: t ||
|
|
223
|
-
"stroke-width": e ? Number(
|
|
224
|
-
class: ["lucide", `lucide-${
|
|
225
|
-
...
|
|
219
|
+
...le,
|
|
220
|
+
width: r || le.width,
|
|
221
|
+
height: r || le.height,
|
|
222
|
+
stroke: t || le.stroke,
|
|
223
|
+
"stroke-width": e ? Number(c) * 24 / Number(r) : c,
|
|
224
|
+
class: ["lucide", `lucide-${We(s ?? "icon")}`],
|
|
225
|
+
...y
|
|
226
226
|
},
|
|
227
|
-
[...o.map((
|
|
227
|
+
[...o.map((f) => se(...f)), ...v.default ? [v.default()] : []]
|
|
228
228
|
);
|
|
229
229
|
/**
|
|
230
230
|
* @license lucide-vue-next v0.468.0 - ISC
|
|
@@ -232,12 +232,12 @@ const Ee = ({ size: i, strokeWidth: d = 2, absoluteStrokeWidth: e, color: t, ico
|
|
|
232
232
|
* This source code is licensed under the ISC license.
|
|
233
233
|
* See the LICENSE file in the root directory of this source tree.
|
|
234
234
|
*/
|
|
235
|
-
const ae = (
|
|
236
|
-
|
|
235
|
+
const ae = (r, c) => (e, { slots: t }) => se(
|
|
236
|
+
Ke,
|
|
237
237
|
{
|
|
238
238
|
...e,
|
|
239
|
-
iconNode:
|
|
240
|
-
name:
|
|
239
|
+
iconNode: c,
|
|
240
|
+
name: r
|
|
241
241
|
},
|
|
242
242
|
t
|
|
243
243
|
);
|
|
@@ -247,7 +247,7 @@ const ae = (i, d) => (e, { slots: t }) => se(
|
|
|
247
247
|
* This source code is licensed under the ISC license.
|
|
248
248
|
* See the LICENSE file in the root directory of this source tree.
|
|
249
249
|
*/
|
|
250
|
-
const
|
|
250
|
+
const Ye = ae("CalendarIcon", [
|
|
251
251
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
252
252
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
253
253
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
@@ -259,7 +259,7 @@ const qe = ae("CalendarIcon", [
|
|
|
259
259
|
* This source code is licensed under the ISC license.
|
|
260
260
|
* See the LICENSE file in the root directory of this source tree.
|
|
261
261
|
*/
|
|
262
|
-
const
|
|
262
|
+
const Je = ae("MoonIcon", [
|
|
263
263
|
["path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z", key: "a7tn18" }]
|
|
264
264
|
]);
|
|
265
265
|
/**
|
|
@@ -278,7 +278,7 @@ const ge = ae("SearchIcon", [
|
|
|
278
278
|
* This source code is licensed under the ISC license.
|
|
279
279
|
* See the LICENSE file in the root directory of this source tree.
|
|
280
280
|
*/
|
|
281
|
-
const
|
|
281
|
+
const Ge = ae("SunIcon", [
|
|
282
282
|
["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }],
|
|
283
283
|
["path", { d: "M12 2v2", key: "tus03m" }],
|
|
284
284
|
["path", { d: "M12 20v2", key: "1lh1kg" }],
|
|
@@ -288,44 +288,44 @@ const Ye = ae("SunIcon", [
|
|
|
288
288
|
["path", { d: "M20 12h2", key: "1q8mjw" }],
|
|
289
289
|
["path", { d: "m6.34 17.66-1.41 1.41", key: "1m8zz5" }],
|
|
290
290
|
["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }]
|
|
291
|
-
]),
|
|
291
|
+
]), Xe = (r, c) => {
|
|
292
292
|
const e = x(null);
|
|
293
|
-
return
|
|
293
|
+
return K(() => {
|
|
294
294
|
if (typeof window < "u") {
|
|
295
|
-
const t = window.localStorage.getItem(
|
|
296
|
-
e.value = t ? JSON.parse(t) :
|
|
295
|
+
const t = window.localStorage.getItem(r);
|
|
296
|
+
e.value = t ? JSON.parse(t) : c;
|
|
297
297
|
}
|
|
298
|
-
}),
|
|
299
|
-
typeof window < "u" && window.localStorage.setItem(
|
|
298
|
+
}), j(e, (t) => {
|
|
299
|
+
typeof window < "u" && window.localStorage.setItem(r, JSON.stringify(t));
|
|
300
300
|
}), e;
|
|
301
|
-
},
|
|
301
|
+
}, Ze = { class: "swap-rotate swap" }, Qe = ["true-value", "false-value"], ua = /* @__PURE__ */ B({
|
|
302
302
|
__name: "theme-controller",
|
|
303
303
|
props: {
|
|
304
304
|
lightTheme: { default: "light" },
|
|
305
305
|
darkTheme: { default: "dark" }
|
|
306
306
|
},
|
|
307
|
-
setup(
|
|
308
|
-
const
|
|
307
|
+
setup(r) {
|
|
308
|
+
const c = r, e = Xe("theme", c.lightTheme);
|
|
309
309
|
function t(o) {
|
|
310
310
|
typeof window < "u" && window.document && document.documentElement.setAttribute("data-theme", o);
|
|
311
311
|
}
|
|
312
|
-
return
|
|
312
|
+
return K(() => t(e.value ? e.value : "")), j(e, (o) => {
|
|
313
313
|
t(o);
|
|
314
|
-
}), (o, s) => (a(),
|
|
315
|
-
|
|
314
|
+
}), (o, s) => (a(), n("label", Ze, [
|
|
315
|
+
A(l("input", {
|
|
316
316
|
type: "checkbox",
|
|
317
317
|
class: "theme-controller",
|
|
318
|
-
"onUpdate:modelValue": s[0] || (s[0] = (
|
|
319
|
-
"true-value":
|
|
320
|
-
"false-value":
|
|
321
|
-
}, null, 8,
|
|
322
|
-
[
|
|
318
|
+
"onUpdate:modelValue": s[0] || (s[0] = (i) => Ve(e) ? e.value = i : null),
|
|
319
|
+
"true-value": c.lightTheme,
|
|
320
|
+
"false-value": c.darkTheme
|
|
321
|
+
}, null, 8, Qe), [
|
|
322
|
+
[Be, L(e)]
|
|
323
323
|
]),
|
|
324
|
-
|
|
325
|
-
|
|
324
|
+
Z(L(Ge), { class: "swap-off fill-current" }),
|
|
325
|
+
Z(L(Je), { class: "swap-on fill-current" })
|
|
326
326
|
]));
|
|
327
327
|
}
|
|
328
|
-
}),
|
|
328
|
+
}), et = ["name"], tt = { class: "collapse-title font-bold text-2xl lg:text-4xl" }, lt = { class: "collapse-content" }, at = ["innerHTML"], da = /* @__PURE__ */ B({
|
|
329
329
|
__name: "accordion",
|
|
330
330
|
props: {
|
|
331
331
|
name: {},
|
|
@@ -333,26 +333,26 @@ const Ye = ae("SunIcon", [
|
|
|
333
333
|
joinItems: { type: Boolean, default: !1 },
|
|
334
334
|
icon: {}
|
|
335
335
|
},
|
|
336
|
-
setup(
|
|
337
|
-
const
|
|
338
|
-
return (e, t) => (a(!0),
|
|
339
|
-
class:
|
|
336
|
+
setup(r) {
|
|
337
|
+
const c = r;
|
|
338
|
+
return (e, t) => (a(!0), n(S, null, M(c.items, (o, s) => (a(), n("div", {
|
|
339
|
+
class: I(["collapse border border-base-300", [e.icon ? `collapse-${e.icon}` : "", { "join-item": e.joinItems }]]),
|
|
340
340
|
key: s
|
|
341
341
|
}, [
|
|
342
|
-
|
|
342
|
+
l("input", {
|
|
343
343
|
type: "radio",
|
|
344
344
|
name: e.name,
|
|
345
345
|
value: "true"
|
|
346
|
-
}, null, 8,
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
346
|
+
}, null, 8, et),
|
|
347
|
+
l("div", tt, _(o.title), 1),
|
|
348
|
+
l("div", lt, [
|
|
349
|
+
l("span", {
|
|
350
350
|
innerHTML: o.content
|
|
351
|
-
}, null, 8,
|
|
351
|
+
}, null, 8, at)
|
|
352
352
|
])
|
|
353
353
|
], 2))), 128));
|
|
354
354
|
}
|
|
355
|
-
}),
|
|
355
|
+
}), nt = ["src"], ot = { class: "text-xl" }, ca = /* @__PURE__ */ B({
|
|
356
356
|
__name: "avatar",
|
|
357
357
|
props: {
|
|
358
358
|
image: {},
|
|
@@ -360,41 +360,41 @@ const Ye = ae("SunIcon", [
|
|
|
360
360
|
initials: {},
|
|
361
361
|
fullyRounded: { type: Boolean, default: !1 }
|
|
362
362
|
},
|
|
363
|
-
setup(
|
|
364
|
-
const
|
|
365
|
-
return
|
|
366
|
-
() =>
|
|
363
|
+
setup(r) {
|
|
364
|
+
const c = r, e = x(c.onlineStatus);
|
|
365
|
+
return j(
|
|
366
|
+
() => c.onlineStatus,
|
|
367
367
|
(t) => {
|
|
368
368
|
t && (e.value = t);
|
|
369
369
|
}
|
|
370
|
-
), (t, o) => (a(),
|
|
371
|
-
class:
|
|
370
|
+
), (t, o) => (a(), n("div", {
|
|
371
|
+
class: I(["avatar", [{ "avatar-online": e.value === "online" }, { "avatar-offline": e.value === "offline" }]])
|
|
372
372
|
}, [
|
|
373
|
-
t.image ? (a(),
|
|
373
|
+
t.image ? (a(), n("div", {
|
|
374
374
|
key: 0,
|
|
375
|
-
class:
|
|
375
|
+
class: I(["rounded", [{ "rounded-full": t.fullyRounded }, { rounded: !t.fullyRounded }]])
|
|
376
376
|
}, [
|
|
377
|
-
|
|
377
|
+
l("img", {
|
|
378
378
|
src: t.image,
|
|
379
379
|
class: "w-full h-full"
|
|
380
|
-
}, null, 8,
|
|
381
|
-
], 2)) : (a(),
|
|
380
|
+
}, null, 8, nt)
|
|
381
|
+
], 2)) : (a(), n("div", {
|
|
382
382
|
key: 1,
|
|
383
|
-
class:
|
|
383
|
+
class: I(["flex justify-center bg-neutral p-[25%] rounded w-16 text-neutral-content text-center", [{ "rounded-full": t.fullyRounded }, { rounded: !t.fullyRounded }]])
|
|
384
384
|
}, [
|
|
385
|
-
|
|
385
|
+
l("p", ot, _(t.initials), 1)
|
|
386
386
|
], 2))
|
|
387
387
|
], 2));
|
|
388
388
|
}
|
|
389
|
-
}),
|
|
389
|
+
}), pa = /* @__PURE__ */ B({
|
|
390
390
|
__name: "badge",
|
|
391
391
|
props: {
|
|
392
392
|
color: { default: "neutral" },
|
|
393
393
|
outline: { type: Boolean, default: !1 },
|
|
394
394
|
size: { default: "medium" }
|
|
395
395
|
},
|
|
396
|
-
setup(
|
|
397
|
-
const
|
|
396
|
+
setup(r) {
|
|
397
|
+
const c = r, e = {
|
|
398
398
|
"extra small": "badge-xs",
|
|
399
399
|
small: "badge-sm",
|
|
400
400
|
medium: "badge-md",
|
|
@@ -410,25 +410,25 @@ const Ye = ae("SunIcon", [
|
|
|
410
410
|
warning: "badge-warning",
|
|
411
411
|
error: "badge-error"
|
|
412
412
|
};
|
|
413
|
-
return (o, s) => (a(),
|
|
414
|
-
class:
|
|
413
|
+
return (o, s) => (a(), n("span", {
|
|
414
|
+
class: I(["badge", e[c.size], t[c.color], { "badge-outline": c.outline }])
|
|
415
415
|
}, [
|
|
416
|
-
|
|
416
|
+
C(o.$slots, "default")
|
|
417
417
|
], 2));
|
|
418
418
|
}
|
|
419
|
-
}),
|
|
419
|
+
}), st = ["src", "alt"], rt = {
|
|
420
420
|
key: 0,
|
|
421
421
|
class: "card-body"
|
|
422
|
-
},
|
|
422
|
+
}, it = {
|
|
423
423
|
key: 0,
|
|
424
424
|
class: "group-hover:text-primary text-lg text-left cursor-pointer card-title"
|
|
425
|
-
},
|
|
425
|
+
}, ut = {
|
|
426
426
|
key: 1,
|
|
427
427
|
class: "text-left"
|
|
428
|
-
},
|
|
428
|
+
}, dt = { class: "flex-col flex-nowrap mt-auto card-actions" }, ct = {
|
|
429
429
|
key: 1,
|
|
430
430
|
class: "card-body"
|
|
431
|
-
},
|
|
431
|
+
}, va = /* @__PURE__ */ B({
|
|
432
432
|
__name: "card",
|
|
433
433
|
props: {
|
|
434
434
|
imgUrl: { default: "" },
|
|
@@ -442,57 +442,57 @@ const Ye = ae("SunIcon", [
|
|
|
442
442
|
color: { default: "" },
|
|
443
443
|
imgHeight: { default: "h-44" }
|
|
444
444
|
},
|
|
445
|
-
setup(
|
|
446
|
-
const
|
|
447
|
-
return
|
|
448
|
-
() =>
|
|
445
|
+
setup(r) {
|
|
446
|
+
const c = r, e = x(c.outlined);
|
|
447
|
+
return j(
|
|
448
|
+
() => c.outlined,
|
|
449
449
|
(t) => {
|
|
450
450
|
e.value = t;
|
|
451
451
|
}
|
|
452
|
-
), (t, o) => (a(),
|
|
453
|
-
class:
|
|
452
|
+
), (t, o) => (a(), n("div", {
|
|
453
|
+
class: I(["group bg-base-100 shadow-xl rounded-sm min-w-64 max-w-full h-full card card-compact", [{ "border-4 border-primary": e.value }, t.color ?? "", t.background]])
|
|
454
454
|
}, [
|
|
455
|
-
|
|
456
|
-
t.imgUrl || t.imgUrl && !t.loading ? (a(),
|
|
455
|
+
l("figure", null, [
|
|
456
|
+
t.imgUrl || t.imgUrl && !t.loading ? (a(), n("img", {
|
|
457
457
|
key: 0,
|
|
458
458
|
src: t.imgUrl,
|
|
459
459
|
alt: t.alt,
|
|
460
|
-
class:
|
|
460
|
+
class: I(["rounded-sm w-full object-cover", [
|
|
461
461
|
{
|
|
462
462
|
hidden: t.loading
|
|
463
463
|
},
|
|
464
464
|
t.imgHeight
|
|
465
465
|
]])
|
|
466
|
-
}, null, 10,
|
|
467
|
-
t.loading && t.imgUrl ? (a(),
|
|
466
|
+
}, null, 10, st)) : D("", !0),
|
|
467
|
+
t.loading && t.imgUrl ? (a(), n("div", {
|
|
468
468
|
key: 1,
|
|
469
|
-
class:
|
|
470
|
-
}, null, 2)) :
|
|
469
|
+
class: I(["w-full skeleton", t.imgHeight])
|
|
470
|
+
}, null, 2)) : D("", !0)
|
|
471
471
|
]),
|
|
472
|
-
t.loading ?
|
|
473
|
-
t.title ? (a(),
|
|
474
|
-
|
|
475
|
-
t.description ? (a(),
|
|
476
|
-
|
|
477
|
-
|
|
472
|
+
t.loading ? D("", !0) : (a(), n("div", rt, [
|
|
473
|
+
t.title ? (a(), n("h2", it, _(t.title), 1)) : D("", !0),
|
|
474
|
+
C(t.$slots, "details"),
|
|
475
|
+
t.description ? (a(), n("p", ut, _(t.description), 1)) : D("", !0),
|
|
476
|
+
l("div", dt, [
|
|
477
|
+
C(t.$slots, "actions")
|
|
478
478
|
])
|
|
479
479
|
])),
|
|
480
|
-
t.loading ? (a(),
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
480
|
+
t.loading ? (a(), n("div", ct, o[0] || (o[0] = [
|
|
481
|
+
l("div", { class: "flex flex-col gap-4 w-52" }, [
|
|
482
|
+
l("div", { class: "w-28 h-4 skeleton" }),
|
|
483
|
+
l("div", { class: "w-full h-4 skeleton" }),
|
|
484
|
+
l("div", { class: "w-full h-4 skeleton" })
|
|
485
485
|
], -1)
|
|
486
|
-
]))) :
|
|
486
|
+
]))) : D("", !0)
|
|
487
487
|
], 2));
|
|
488
488
|
}
|
|
489
|
-
}),
|
|
489
|
+
}), ye = Symbol("CarouselItemStyle"), pt = { class: "relative h-full" }, vt = {
|
|
490
490
|
key: 0,
|
|
491
491
|
class: "top-1/2 right-5 left-5 z-10 absolute flex justify-between -translate-y-1/2 transform"
|
|
492
|
-
},
|
|
492
|
+
}, ft = {
|
|
493
493
|
key: 1,
|
|
494
494
|
class: "bottom-5 z-10 absolute flex justify-center gap-2 py-2 w-full"
|
|
495
|
-
},
|
|
495
|
+
}, mt = ["onClick", "aria-label"], ht = /* @__PURE__ */ B({
|
|
496
496
|
__name: "carousel",
|
|
497
497
|
props: {
|
|
498
498
|
showIndicators: {
|
|
@@ -507,7 +507,7 @@ const Ye = ae("SunIcon", [
|
|
|
507
507
|
type: String,
|
|
508
508
|
default: "horizontal",
|
|
509
509
|
required: !1,
|
|
510
|
-
validator: (
|
|
510
|
+
validator: (r) => r == "horizontal" || r == "vertical"
|
|
511
511
|
},
|
|
512
512
|
initialSlide: {
|
|
513
513
|
type: Number,
|
|
@@ -516,285 +516,285 @@ const Ye = ae("SunIcon", [
|
|
|
516
516
|
slidesPerView: {
|
|
517
517
|
type: Number,
|
|
518
518
|
default: 1,
|
|
519
|
-
validator: (
|
|
519
|
+
validator: (r) => r >= 1
|
|
520
520
|
},
|
|
521
521
|
gap: {
|
|
522
522
|
type: Number,
|
|
523
523
|
default: 0,
|
|
524
|
-
validator: (
|
|
524
|
+
validator: (r) => r >= 0
|
|
525
525
|
},
|
|
526
526
|
slideDuration: {
|
|
527
527
|
type: Number,
|
|
528
528
|
default: 300,
|
|
529
|
-
validator: (
|
|
529
|
+
validator: (r) => r >= 0
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
|
-
setup(
|
|
533
|
-
const e =
|
|
532
|
+
setup(r, { expose: c }) {
|
|
533
|
+
const e = r, t = x(e.initialSlide), o = x(null), s = x(!1), i = x(0), y = V(() => ({
|
|
534
534
|
width: `calc((100% - ${e.slidesPerView > 1 ? (e.slidesPerView - 1) * e.gap : 0}px) / ${e.slidesPerView})`
|
|
535
535
|
}));
|
|
536
|
-
|
|
536
|
+
Oe(ye, y);
|
|
537
537
|
const v = () => {
|
|
538
|
-
o.value ?
|
|
539
|
-
},
|
|
540
|
-
if (!o.value || e.slidesPerView <= 0 || s.value || (v(),
|
|
541
|
-
const
|
|
542
|
-
if (
|
|
543
|
-
const
|
|
538
|
+
o.value ? i.value = o.value.children.length : i.value = 0;
|
|
539
|
+
}, f = async (d) => {
|
|
540
|
+
if (!o.value || e.slidesPerView <= 0 || s.value || (v(), i.value === 0)) return;
|
|
541
|
+
const h = (d % i.value + i.value) % i.value, g = o.value, k = e.sliderOrientation === "vertical" ? (g.offsetHeight - (e.slidesPerView - 1) * e.gap) / e.slidesPerView : (g.offsetWidth - (e.slidesPerView - 1) * e.gap) / e.slidesPerView;
|
|
542
|
+
if (k <= 0) return;
|
|
543
|
+
const $ = k + e.gap, T = h * $, z = e.sliderOrientation === "vertical" ? g.scrollHeight - g.offsetHeight : g.scrollWidth - g.offsetWidth, N = Math.max(0, Math.min(T, z + 0.5));
|
|
544
544
|
s.value = !0, g.style.scrollBehavior = "auto";
|
|
545
|
-
const
|
|
545
|
+
const F = e.sliderOrientation === "vertical" ? g.scrollTop : g.scrollLeft, q = N - F;
|
|
546
546
|
if (Math.abs(q) < 1) {
|
|
547
|
-
s.value = !1, t.value =
|
|
547
|
+
s.value = !1, t.value = h;
|
|
548
548
|
return;
|
|
549
549
|
}
|
|
550
|
-
const
|
|
551
|
-
const W =
|
|
552
|
-
e.sliderOrientation === "vertical" ? g.scrollTop =
|
|
550
|
+
const Y = performance.now(), Q = (ne) => {
|
|
551
|
+
const W = ne - Y, U = Math.min(1, W / e.slideDuration), oe = U < 0.5 ? 4 * U * U * U : 1 - Math.pow(-2 * U + 2, 3) / 2, ee = F + q * oe;
|
|
552
|
+
e.sliderOrientation === "vertical" ? g.scrollTop = ee : g.scrollLeft = ee, U < 1 ? requestAnimationFrame(Q) : (e.sliderOrientation === "vertical" ? g.scrollTop = N : g.scrollLeft = N, t.value = h, s.value = !1);
|
|
553
553
|
};
|
|
554
|
-
requestAnimationFrame(
|
|
555
|
-
},
|
|
556
|
-
|
|
557
|
-
},
|
|
558
|
-
|
|
559
|
-
}, E = (
|
|
560
|
-
|
|
561
|
-
},
|
|
562
|
-
if (!o.value || e.slidesPerView <= 0 || (v(),
|
|
563
|
-
const
|
|
564
|
-
if (
|
|
565
|
-
const
|
|
566
|
-
e.sliderOrientation === "vertical" ?
|
|
554
|
+
requestAnimationFrame(Q);
|
|
555
|
+
}, w = () => {
|
|
556
|
+
f(t.value + 1);
|
|
557
|
+
}, P = () => {
|
|
558
|
+
f(t.value - 1);
|
|
559
|
+
}, E = (d) => {
|
|
560
|
+
f(d);
|
|
561
|
+
}, m = () => {
|
|
562
|
+
if (!o.value || e.slidesPerView <= 0 || (v(), i.value === 0)) return;
|
|
563
|
+
const d = o.value, h = e.sliderOrientation === "vertical" ? d.offsetHeight : d.offsetWidth, g = e.slidesPerView > 1 ? (e.slidesPerView - 1) * e.gap : 0, k = (h - g) / e.slidesPerView;
|
|
564
|
+
if (k <= 0) return;
|
|
565
|
+
const $ = Math.max(0, i.value - e.slidesPerView), T = Math.min(Math.max(0, e.initialSlide), $), z = T * (k + e.gap), N = e.sliderOrientation === "vertical" ? d.scrollHeight - d.offsetHeight : d.scrollWidth - d.offsetWidth, F = Math.max(0, Math.min(z, N + 0.5));
|
|
566
|
+
e.sliderOrientation === "vertical" ? d.scrollTo({ top: F, behavior: "auto" }) : d.scrollTo({ left: F, behavior: "auto" }), t.value = T;
|
|
567
567
|
};
|
|
568
|
-
return
|
|
568
|
+
return K(() => {
|
|
569
569
|
requestAnimationFrame(() => {
|
|
570
|
-
requestAnimationFrame(
|
|
570
|
+
requestAnimationFrame(m);
|
|
571
571
|
}), v();
|
|
572
|
-
}),
|
|
573
|
-
requestAnimationFrame(() =>
|
|
574
|
-
}),
|
|
572
|
+
}), j(() => e.initialSlide, (d) => {
|
|
573
|
+
requestAnimationFrame(() => f(d));
|
|
574
|
+
}), j(() => [e.slidesPerView, e.gap], () => {
|
|
575
575
|
requestAnimationFrame(() => {
|
|
576
576
|
requestAnimationFrame(() => {
|
|
577
|
-
if (v(),
|
|
578
|
-
const
|
|
579
|
-
e.slideDuration = 0,
|
|
577
|
+
if (v(), i.value === 0) return;
|
|
578
|
+
const d = Math.max(0, i.value - e.slidesPerView), h = Math.min(t.value, d), g = e.slideDuration;
|
|
579
|
+
e.slideDuration = 0, f(h), e.slideDuration = g;
|
|
580
580
|
});
|
|
581
581
|
});
|
|
582
|
-
}),
|
|
583
|
-
|
|
582
|
+
}), c({ scrollToSlide: f }), (d, h) => (a(), n("div", pt, [
|
|
583
|
+
l("div", {
|
|
584
584
|
ref_key: "carouselContainer",
|
|
585
585
|
ref: o,
|
|
586
|
-
class:
|
|
587
|
-
style: ie({ gap: `${
|
|
586
|
+
class: I(["rounded w-full h-full overflow-x-scroll scroll-smooth carousel", [{ "carousel-horizontal md:snap-none": r.sliderOrientation == "horizontal" }, { "carousel-vertical": r.sliderOrientation == "vertical" }]]),
|
|
587
|
+
style: ie({ gap: `${r.gap}px` })
|
|
588
588
|
}, [
|
|
589
|
-
|
|
589
|
+
C(d.$slots, "default", {}, void 0, !0)
|
|
590
590
|
], 6),
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
onClick:
|
|
591
|
+
r.showNavigationButtons ? (a(), n("div", vt, [
|
|
592
|
+
l("div", {
|
|
593
|
+
onClick: P,
|
|
594
594
|
role: "button",
|
|
595
595
|
"aria-label": "Previous Slide"
|
|
596
596
|
}, [
|
|
597
|
-
|
|
598
|
-
|
|
597
|
+
C(d.$slots, "prevButton", {}, () => [
|
|
598
|
+
h[0] || (h[0] = l("button", {
|
|
599
599
|
class: "btn btn-circle",
|
|
600
600
|
tabindex: "-1"
|
|
601
601
|
}, "❮", -1))
|
|
602
602
|
], !0)
|
|
603
603
|
]),
|
|
604
|
-
|
|
605
|
-
onClick:
|
|
604
|
+
l("div", {
|
|
605
|
+
onClick: w,
|
|
606
606
|
role: "button",
|
|
607
607
|
"aria-label": "Next Slide"
|
|
608
608
|
}, [
|
|
609
|
-
|
|
610
|
-
|
|
609
|
+
C(d.$slots, "nextButton", {}, () => [
|
|
610
|
+
h[1] || (h[1] = l("button", {
|
|
611
611
|
class: "btn btn-circle",
|
|
612
612
|
tabindex: "-1"
|
|
613
613
|
}, "❯", -1))
|
|
614
614
|
], !0)
|
|
615
615
|
])
|
|
616
|
-
])) :
|
|
617
|
-
|
|
618
|
-
(a(!0),
|
|
619
|
-
key: `dot-${
|
|
620
|
-
onClick: (
|
|
621
|
-
class:
|
|
622
|
-
"aria-label": `Go to slide ${
|
|
623
|
-
}, null, 10,
|
|
624
|
-
])) :
|
|
616
|
+
])) : D("", !0),
|
|
617
|
+
r.showIndicators ? (a(), n("div", ft, [
|
|
618
|
+
(a(!0), n(S, null, M(i.value, (g, k) => (a(), n("button", {
|
|
619
|
+
key: `dot-${k}`,
|
|
620
|
+
onClick: ($) => E(k),
|
|
621
|
+
class: I(["btn btn-circle btn-xs", { "btn-active": k === t.value }]),
|
|
622
|
+
"aria-label": `Go to slide ${k + 1}`
|
|
623
|
+
}, null, 10, mt))), 128))
|
|
624
|
+
])) : D("", !0)
|
|
625
625
|
]));
|
|
626
626
|
}
|
|
627
|
-
}),
|
|
628
|
-
const e =
|
|
629
|
-
for (const [t, o] of
|
|
627
|
+
}), J = (r, c) => {
|
|
628
|
+
const e = r.__vccOpts || r;
|
|
629
|
+
for (const [t, o] of c)
|
|
630
630
|
e[t] = o;
|
|
631
631
|
return e;
|
|
632
|
-
},
|
|
632
|
+
}, fa = /* @__PURE__ */ J(ht, [["__scopeId", "data-v-db55a6a5"]]), gt = /* @__PURE__ */ B({
|
|
633
633
|
__name: "carouselItem",
|
|
634
|
-
setup(
|
|
635
|
-
const
|
|
636
|
-
return (e, t) => (a(),
|
|
634
|
+
setup(r) {
|
|
635
|
+
const c = Pe(ye, x({}));
|
|
636
|
+
return (e, t) => (a(), n("div", {
|
|
637
637
|
class: "w-full h-full carousel-item",
|
|
638
|
-
style: ie(
|
|
638
|
+
style: ie(L(c))
|
|
639
639
|
}, [
|
|
640
|
-
|
|
640
|
+
C(e.$slots, "default", {}, void 0, !0)
|
|
641
641
|
], 4));
|
|
642
642
|
}
|
|
643
|
-
}),
|
|
643
|
+
}), ma = /* @__PURE__ */ J(gt, [["__scopeId", "data-v-507384bc"]]), bt = { class: "flex gap-4 bg-base-100 w-full tabs tabs-boxed" }, yt = ["onClick"], wt = { class: "text-sm" }, kt = { class: "md:block hidden opacity-35 text-xs truncate overflow-hidden ..." }, $t = { class: "hidden" }, _t = {
|
|
644
644
|
id: "advancedSearchMobile",
|
|
645
645
|
class: "modal"
|
|
646
|
-
},
|
|
646
|
+
}, xt = { class: "modal-box" }, St = { class: "font-bold text-lg" }, Ct = ["checked"], It = { class: "flex justify-between items-center pr-4 w-full font-medium text-xl collapse-title" }, Dt = { class: "text-sm" }, Mt = { class: "flex place-content-center p-0 collapse-content" }, Tt = /* @__PURE__ */ B({
|
|
647
647
|
__name: "advancedSearch",
|
|
648
648
|
props: {
|
|
649
649
|
searchOptions: {},
|
|
650
650
|
currentCategory: {}
|
|
651
651
|
},
|
|
652
652
|
emits: ["search", "update:search-data"],
|
|
653
|
-
setup(
|
|
654
|
-
const e =
|
|
655
|
-
datetime:
|
|
656
|
-
},
|
|
657
|
-
function
|
|
658
|
-
var g,
|
|
653
|
+
setup(r, { emit: c }) {
|
|
654
|
+
const e = r, t = c, o = x(null), s = {
|
|
655
|
+
datetime: ze(() => Promise.resolve().then(() => tl))
|
|
656
|
+
}, i = x({}), y = x({ left: "0px", top: "0px", transform: "translateX(0%)" }), v = x(null);
|
|
657
|
+
function f(d, h) {
|
|
658
|
+
var g, k, $;
|
|
659
659
|
if ((g = o.value) != null && g.name) {
|
|
660
660
|
t("update:search-data", {
|
|
661
661
|
tab: o.value.name,
|
|
662
|
-
data:
|
|
662
|
+
data: d
|
|
663
663
|
});
|
|
664
664
|
return;
|
|
665
665
|
}
|
|
666
666
|
if (e.searchOptions) {
|
|
667
|
-
let
|
|
668
|
-
|
|
669
|
-
tab:
|
|
670
|
-
data:
|
|
667
|
+
let T = ($ = (k = e.searchOptions) == null ? void 0 : k.find((z) => (z == null ? void 0 : z.category) === e.currentCategory)) == null ? void 0 : $.tabs[h];
|
|
668
|
+
T !== void 0 && (T.value = d, t("update:search-data", {
|
|
669
|
+
tab: T == null ? void 0 : T.name,
|
|
670
|
+
data: T == null ? void 0 : T.value
|
|
671
671
|
}));
|
|
672
672
|
}
|
|
673
673
|
}
|
|
674
|
-
function
|
|
674
|
+
function w() {
|
|
675
675
|
t("search");
|
|
676
676
|
}
|
|
677
|
-
async function
|
|
678
|
-
v.value && !v.value.contains(
|
|
677
|
+
async function P(d) {
|
|
678
|
+
v.value && !v.value.contains(d.target) && (await me(), o.value = null);
|
|
679
679
|
}
|
|
680
680
|
async function E() {
|
|
681
681
|
if (typeof window < "u" && window.innerWidth <= 768) {
|
|
682
|
-
const
|
|
683
|
-
|
|
682
|
+
const d = document.getElementById("advancedSearchMobile");
|
|
683
|
+
d ? d.showModal() : console.warn("Modal element not found.");
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
|
-
async function
|
|
686
|
+
async function m(d) {
|
|
687
687
|
var g;
|
|
688
|
-
o.value =
|
|
689
|
-
const
|
|
690
|
-
if (
|
|
691
|
-
const
|
|
692
|
-
window.innerWidth > 768 ?
|
|
693
|
-
left: `${
|
|
694
|
-
top: `${
|
|
688
|
+
o.value = d, await me();
|
|
689
|
+
const h = i.value[d.name];
|
|
690
|
+
if (h) {
|
|
691
|
+
const k = h.getBoundingClientRect(), $ = ((g = v.value) == null ? void 0 : g.getBoundingClientRect()) || { left: 0, top: 0 };
|
|
692
|
+
window.innerWidth > 768 ? y.value = {
|
|
693
|
+
left: `${k.left + k.width / 2 - $.left}px`,
|
|
694
|
+
top: `${k.bottom - $.top}px`,
|
|
695
695
|
transform: "translateX(-50%)"
|
|
696
|
-
} :
|
|
696
|
+
} : y.value = {
|
|
697
697
|
left: "50%",
|
|
698
|
-
top: `${
|
|
698
|
+
top: `${k.bottom - $.top}px`,
|
|
699
699
|
transform: "translateX(-50%)"
|
|
700
700
|
// Center the popup horizontally on mobile
|
|
701
701
|
};
|
|
702
702
|
} else
|
|
703
|
-
console.error("Tab element not found for:",
|
|
703
|
+
console.error("Tab element not found for:", d.name);
|
|
704
704
|
}
|
|
705
|
-
return
|
|
706
|
-
document.addEventListener("click",
|
|
705
|
+
return K(() => {
|
|
706
|
+
document.addEventListener("click", P);
|
|
707
707
|
}), Ae(() => {
|
|
708
|
-
document.removeEventListener("click",
|
|
709
|
-
}), (
|
|
710
|
-
var g,
|
|
711
|
-
return a(),
|
|
712
|
-
|
|
708
|
+
document.removeEventListener("click", P);
|
|
709
|
+
}), (d, h) => {
|
|
710
|
+
var g, k;
|
|
711
|
+
return a(), n(S, null, [
|
|
712
|
+
l("div", {
|
|
713
713
|
ref_key: "searchContainer",
|
|
714
714
|
ref: v,
|
|
715
715
|
class: "w-full"
|
|
716
716
|
}, [
|
|
717
|
-
|
|
717
|
+
l("div", {
|
|
718
718
|
class: "group/search relative flex place-items-center border-2 shadow-md p-2 border-base-300/25 rounded-sm w-full transition-all cursor-pointer md:cursor-auto",
|
|
719
719
|
onClick: E
|
|
720
720
|
}, [
|
|
721
|
-
|
|
722
|
-
(a(!0),
|
|
723
|
-
var
|
|
724
|
-
return a(),
|
|
725
|
-
key:
|
|
726
|
-
onClick: (
|
|
727
|
-
class:
|
|
721
|
+
l("div", bt, [
|
|
722
|
+
(a(!0), n(S, null, M(((g = e.searchOptions.find(($) => $.category === e.currentCategory)) == null ? void 0 : g.tabs) || [], ($) => {
|
|
723
|
+
var T;
|
|
724
|
+
return a(), n("button", {
|
|
725
|
+
key: $.name,
|
|
726
|
+
onClick: (z) => m($),
|
|
727
|
+
class: I([{ "tab-active": ((T = o.value) == null ? void 0 : T.name) === $.name }, "group/searchitem relative after:top-0 after:-right-2 after:absolute first-of-type:flex-auto last-of-type:flex-auto md:after:content-[''] last-of-type:after:content-none after:content-none after:bg-base-200 hover:bg-base-200 p-1 rounded-sm w-auto after:w-[1px] after:h-10 text-start overflow-x-hidden pointer-events-none md:pointer-events-auto"]),
|
|
728
728
|
ref_for: !0,
|
|
729
|
-
ref: (
|
|
729
|
+
ref: (z) => i.value[$.name] = z
|
|
730
730
|
}, [
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
], 10,
|
|
731
|
+
l("p", wt, _($.name), 1),
|
|
732
|
+
l("p", kt, _($.description), 1)
|
|
733
|
+
], 10, yt);
|
|
734
734
|
}), 128))
|
|
735
735
|
]),
|
|
736
|
-
o.value ? (a(),
|
|
736
|
+
o.value ? (a(), n("div", {
|
|
737
737
|
key: 0,
|
|
738
738
|
class: "absolute flex shadow-sm mt-4 w-fit max-w-full transition-all tab-content",
|
|
739
|
-
style: ie(
|
|
739
|
+
style: ie(y.value)
|
|
740
740
|
}, [
|
|
741
|
-
(a(), pe(
|
|
742
|
-
], 4)) :
|
|
743
|
-
|
|
741
|
+
(a(), pe(ve(s[o.value.type]), fe(o.value.props ? o.value.props : null, { onUpdated: f }), null, 16))
|
|
742
|
+
], 4)) : D("", !0),
|
|
743
|
+
l("button", {
|
|
744
744
|
title: "search",
|
|
745
745
|
type: "submit",
|
|
746
746
|
class: "ml-1 btn btn-primary btn-square",
|
|
747
|
-
onClick:
|
|
747
|
+
onClick: w
|
|
748
748
|
}, [
|
|
749
|
-
|
|
749
|
+
Z(L(ge), {
|
|
750
750
|
size: 24,
|
|
751
751
|
color: "white"
|
|
752
752
|
})
|
|
753
753
|
])
|
|
754
754
|
]),
|
|
755
|
-
|
|
756
|
-
|
|
755
|
+
l("div", $t, [
|
|
756
|
+
l("button", {
|
|
757
757
|
title: "search",
|
|
758
|
-
onClick:
|
|
758
|
+
onClick: h[0] || (h[0] = () => {
|
|
759
759
|
})
|
|
760
760
|
}, [
|
|
761
|
-
|
|
761
|
+
Z(L(ge), {
|
|
762
762
|
size: 24,
|
|
763
763
|
color: "white"
|
|
764
764
|
})
|
|
765
765
|
])
|
|
766
766
|
])
|
|
767
767
|
], 512),
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
768
|
+
l("dialog", _t, [
|
|
769
|
+
l("div", xt, [
|
|
770
|
+
C(d.$slots, "additionalForMobile", {}, () => [
|
|
771
|
+
l("h3", St, _(d.currentCategory), 1)
|
|
772
772
|
], !0),
|
|
773
|
-
(a(!0),
|
|
773
|
+
(a(!0), n(S, null, M(((k = e.searchOptions.find(($) => $.category === e.currentCategory)) == null ? void 0 : k.tabs) || [], ($, T) => (a(), n("div", {
|
|
774
774
|
class: "bg-base-200 my-4 collapse",
|
|
775
|
-
key:
|
|
775
|
+
key: $.name
|
|
776
776
|
}, [
|
|
777
|
-
|
|
777
|
+
l("input", {
|
|
778
778
|
type: "radio",
|
|
779
779
|
name: "my-accordion-1",
|
|
780
|
-
checked:
|
|
781
|
-
}, null, 8,
|
|
782
|
-
|
|
783
|
-
re(
|
|
784
|
-
|
|
780
|
+
checked: T === 0
|
|
781
|
+
}, null, 8, Ct),
|
|
782
|
+
l("div", It, [
|
|
783
|
+
re(_($.name) + " ", 1),
|
|
784
|
+
l("p", Dt, _($.description), 1)
|
|
785
785
|
]),
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
(a(), pe(
|
|
789
|
-
onUpdated: (
|
|
786
|
+
l("div", Mt, [
|
|
787
|
+
h[1] || (h[1] = l("br", null, null, -1)),
|
|
788
|
+
(a(), pe(ve(s[$.type]), fe({ ref_for: !0 }, $.props || {}, {
|
|
789
|
+
onUpdated: (z) => f(z, T)
|
|
790
790
|
}), null, 16, ["onUpdated"]))
|
|
791
791
|
])
|
|
792
792
|
]))), 128)),
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
793
|
+
l("div", { class: "modal-action" }, [
|
|
794
|
+
l("form", { method: "dialog" }, [
|
|
795
|
+
l("button", {
|
|
796
796
|
class: "btn btn-primary",
|
|
797
|
-
onClick:
|
|
797
|
+
onClick: w
|
|
798
798
|
}, "Close and Search")
|
|
799
799
|
])
|
|
800
800
|
])
|
|
@@ -803,38 +803,38 @@ const Ye = ae("SunIcon", [
|
|
|
803
803
|
], 64);
|
|
804
804
|
};
|
|
805
805
|
}
|
|
806
|
-
}),
|
|
806
|
+
}), ha = /* @__PURE__ */ J(Tt, [["__scopeId", "data-v-08fa37eb"]]), Vt = ["placeholder", "value", "id"], Bt = { class: "btn btn-ghost" }, Ot = ["id"], Pt = {
|
|
807
807
|
key: 0,
|
|
808
808
|
class: "flex justify-between items-center place-content-center mb-4"
|
|
809
|
-
},
|
|
809
|
+
}, zt = ["value"], At = ["value"], Ut = {
|
|
810
810
|
key: 1,
|
|
811
811
|
class: "gap-2 grid grid-cols-7"
|
|
812
|
-
},
|
|
812
|
+
}, Lt = ["onClick"], jt = {
|
|
813
813
|
key: 2,
|
|
814
814
|
class: "mt-4 lg:w-80"
|
|
815
|
-
},
|
|
815
|
+
}, Et = {
|
|
816
816
|
key: 0,
|
|
817
817
|
class: "mb-2 font-bold text-lg"
|
|
818
|
-
},
|
|
818
|
+
}, Nt = { key: 1 }, Ft = {
|
|
819
819
|
key: 1,
|
|
820
820
|
class: "flex gap-4"
|
|
821
|
-
}, Rt = ["value"],
|
|
821
|
+
}, Rt = ["value"], Ht = ["value"], qt = {
|
|
822
822
|
key: 2,
|
|
823
823
|
class: "flex flex-col gap-4"
|
|
824
|
-
},
|
|
824
|
+
}, Wt = {
|
|
825
825
|
key: 1,
|
|
826
826
|
class: "flex gap-2"
|
|
827
|
-
},
|
|
827
|
+
}, Kt = ["value"], Yt = ["value"], Jt = {
|
|
828
828
|
key: 1,
|
|
829
829
|
class: "flex gap-2"
|
|
830
|
-
},
|
|
830
|
+
}, Gt = ["value"], Xt = ["value"], Zt = { class: "flex gap-2 mt-4" }, Qt = {
|
|
831
831
|
__name: "datetimePicker",
|
|
832
832
|
props: {
|
|
833
833
|
mode: {
|
|
834
834
|
type: String,
|
|
835
835
|
default: "datetime",
|
|
836
836
|
// 'datetime', 'date', 'time'
|
|
837
|
-
validator: (
|
|
837
|
+
validator: (r) => ["datetime", "date", "time"].includes(r)
|
|
838
838
|
},
|
|
839
839
|
range: {
|
|
840
840
|
type: Boolean,
|
|
@@ -858,132 +858,132 @@ const Ye = ae("SunIcon", [
|
|
|
858
858
|
}
|
|
859
859
|
},
|
|
860
860
|
emits: ["updated"],
|
|
861
|
-
setup(
|
|
862
|
-
const e =
|
|
863
|
-
|
|
864
|
-
|
|
861
|
+
setup(r, { emit: c }) {
|
|
862
|
+
const e = r;
|
|
863
|
+
j(() => e.range, (p) => {
|
|
864
|
+
p ? (s.value = { start: null, end: null }, i.value = { start: null, end: null }) : (s.value = null, i.value = null);
|
|
865
865
|
});
|
|
866
|
-
const t =
|
|
867
|
-
|
|
868
|
-
const g =
|
|
869
|
-
const
|
|
870
|
-
return Array.from({ length:
|
|
871
|
-
}),
|
|
866
|
+
const t = c, o = x(!1), s = x(e.range ? { start: null, end: null } : null), i = x(e.range ? { start: null, end: null } : null), y = x((/* @__PURE__ */ new Date()).toLocaleString("default", { month: "long" })), v = x((/* @__PURE__ */ new Date()).getFullYear()), f = x(e.range ? { start: 0, end: 0 } : 0), w = x(e.range ? { start: 0, end: 0 } : 0), P = x(null), E = V(() => `${e.id}-input`), m = V(() => `${e.id}-popup`), d = V(() => e.mode === "date" || e.mode === "datetime"), h = V(() => e.mode === "time" || e.mode === "datetime");
|
|
867
|
+
V(() => new Date(v.value, g.value));
|
|
868
|
+
const g = V(() => Y.indexOf(y.value)), k = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], $ = V(() => new Date(v.value, g.value).getDay()), T = V(() => {
|
|
869
|
+
const p = new Date(v.value, g.value + 1, 0).getDate();
|
|
870
|
+
return Array.from({ length: p }, (b, u) => new Date(v.value, g.value, u + 1));
|
|
871
|
+
}), z = V(() => Array.from({ length: $.value }, (p, b) => b)), N = Array.from({ length: 24 }, (p, b) => b), F = Array.from({ length: 60 }, (p, b) => b), q = V(
|
|
872
872
|
() => typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
873
873
|
navigator.userAgent
|
|
874
874
|
)
|
|
875
|
-
),
|
|
876
|
-
const
|
|
877
|
-
return Array.from({ length: 100 }, (
|
|
878
|
-
}),
|
|
879
|
-
if (!
|
|
875
|
+
), Y = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], Q = V(() => {
|
|
876
|
+
const p = (/* @__PURE__ */ new Date()).getFullYear();
|
|
877
|
+
return Array.from({ length: 100 }, (b, u) => p - 50 + u);
|
|
878
|
+
}), ne = V(() => {
|
|
879
|
+
if (!d.value || !s.value) return "";
|
|
880
880
|
if (e.range && s.value.start && s.value.end) {
|
|
881
|
-
const
|
|
882
|
-
return `${
|
|
881
|
+
const p = s.value.start.toLocaleDateString("en-US"), b = s.value.end.toLocaleDateString("en-US");
|
|
882
|
+
return `${p} - ${b}`;
|
|
883
883
|
}
|
|
884
884
|
return !e.range && s.value ? s.value.toLocaleDateString("en-US") : "";
|
|
885
|
-
}), W = (
|
|
886
|
-
if (!
|
|
887
|
-
const
|
|
888
|
-
var
|
|
889
|
-
const
|
|
890
|
-
return q.value ? ((ce =
|
|
885
|
+
}), W = (p) => p instanceof Date ? p : new Date(p), U = (p) => p instanceof Date && !isNaN(p), oe = V(() => {
|
|
886
|
+
if (!h.value) return "";
|
|
887
|
+
const p = (b) => {
|
|
888
|
+
var te, G, ce;
|
|
889
|
+
const u = ((te = f.value) == null ? void 0 : te[b]) ?? f.value, R = ((G = w.value) == null ? void 0 : G[b]) ?? w.value;
|
|
890
|
+
return q.value ? ((ce = i.value) == null ? void 0 : ce[b]) ?? i.value : `${u.toString().padStart(2, "0")}:${R.toString().padStart(2, "0")}`;
|
|
891
891
|
};
|
|
892
|
-
return e.range ? `${
|
|
893
|
-
}),
|
|
894
|
-
const
|
|
895
|
-
return `${
|
|
896
|
-
}),
|
|
897
|
-
|
|
898
|
-
},
|
|
899
|
-
s.value = e.range ? { start: null, end: null } : null,
|
|
900
|
-
},
|
|
901
|
-
e.range ? s.value.start && s.value.end ? s.value = { start:
|
|
902
|
-
},
|
|
903
|
-
|
|
904
|
-
const
|
|
905
|
-
return
|
|
906
|
-
},
|
|
907
|
-
if (
|
|
908
|
-
const
|
|
909
|
-
return
|
|
892
|
+
return e.range ? `${p("start")} - ${p("end")}` : p();
|
|
893
|
+
}), ee = V(() => {
|
|
894
|
+
const p = ne.value, b = oe.value;
|
|
895
|
+
return `${p} ${b}`.trim();
|
|
896
|
+
}), we = () => o.value = !o.value, ue = () => {
|
|
897
|
+
O(), ke();
|
|
898
|
+
}, ke = () => o.value = !1, $e = () => {
|
|
899
|
+
s.value = e.range ? { start: null, end: null } : null, i.value = e.range ? { start: null, end: null } : null, O();
|
|
900
|
+
}, _e = (p) => {
|
|
901
|
+
e.range ? s.value.start && s.value.end ? s.value = { start: p, end: null } : s.value.start ? s.value.end = p : s.value.start = p : s.value = p, O();
|
|
902
|
+
}, xe = (p) => (p = W(p), e.range ? s.value.start && U(s.value.start) && p.getTime() === s.value.start.getTime() || s.value.end && U(s.value.end) && p.getTime() === s.value.end.getTime() : U(s.value) && p.getTime() === s.value.getTime()), Se = (p) => {
|
|
903
|
+
p = W(p);
|
|
904
|
+
const b = /* @__PURE__ */ new Date();
|
|
905
|
+
return p.getDate() === b.getDate() && p.getMonth() === b.getMonth() && p.getFullYear() === b.getFullYear();
|
|
906
|
+
}, Ce = (p) => (p = W(p), e.range && U(s.value.start) && p.getTime() === s.value.start.getTime()), Ie = (p) => (p = W(p), e.range && U(s.value.end) && p.getTime() === s.value.end.getTime()), De = (p) => {
|
|
907
|
+
if (p = W(p), e.range && U(s.value.start) && U(s.value.end)) {
|
|
908
|
+
const b = s.value.start.getTime(), u = s.value.end.getTime(), R = p.getTime();
|
|
909
|
+
return R > b && R < u;
|
|
910
910
|
}
|
|
911
911
|
return !1;
|
|
912
|
-
}, Te = () => {
|
|
913
|
-
let u = g.value - 1;
|
|
914
|
-
u < 0 && (u = 11, v.value--), h.value = J[u], V();
|
|
915
912
|
}, Me = () => {
|
|
916
|
-
let
|
|
917
|
-
|
|
918
|
-
},
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
913
|
+
let p = g.value - 1;
|
|
914
|
+
p < 0 && (p = 11, v.value--), y.value = Y[p], O();
|
|
915
|
+
}, Te = () => {
|
|
916
|
+
let p = g.value + 1;
|
|
917
|
+
p > 11 && (p = 0, v.value++), y.value = Y[p], O();
|
|
918
|
+
}, de = (p) => {
|
|
919
|
+
P.value && !P.value.contains(p.target) && o.value == !0 && ue();
|
|
920
|
+
}, O = () => {
|
|
921
|
+
let p = {};
|
|
922
|
+
const b = (u, R, te) => {
|
|
923
|
+
u instanceof Date && !isNaN(u) || (u = /* @__PURE__ */ new Date());
|
|
924
|
+
const G = new Date(u);
|
|
925
|
+
return G.setUTCHours(R, te, 0, 0), G.toISOString();
|
|
926
926
|
};
|
|
927
|
-
e.range ? (
|
|
927
|
+
e.range ? (p.from = b(
|
|
928
928
|
s.value.start,
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
),
|
|
929
|
+
f.value.start,
|
|
930
|
+
w.value.start
|
|
931
|
+
), p.to = b(
|
|
932
932
|
s.value.end,
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
)) :
|
|
933
|
+
f.value.end,
|
|
934
|
+
w.value.end
|
|
935
|
+
)) : p = b(
|
|
936
936
|
s.value,
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
), t("updated",
|
|
937
|
+
f.value,
|
|
938
|
+
w.value
|
|
939
|
+
), t("updated", p);
|
|
940
940
|
};
|
|
941
|
-
return
|
|
941
|
+
return K(() => {
|
|
942
942
|
e.initialDate && (e.range && e.initialDate.start && e.initialDate.end ? s.value = {
|
|
943
943
|
start: new Date(e.initialDate.start),
|
|
944
944
|
end: new Date(e.initialDate.end)
|
|
945
|
-
} : e.initialDate.start && (s.value = { start: new Date(e.initialDate.start) })), e.range ? (
|
|
946
|
-
}), e.popup &&
|
|
945
|
+
} : e.initialDate.start && (s.value = { start: new Date(e.initialDate.start) })), e.range ? (f.value.start = f.value.start ?? (/* @__PURE__ */ new Date()).getHours(), f.value.end = f.value.end ?? (/* @__PURE__ */ new Date()).getHours(), w.value.start = w.value.start ?? (/* @__PURE__ */ new Date()).getMinutes(), w.value.end = w.value.end ?? (/* @__PURE__ */ new Date()).getMinutes()) : (f.value = f.value ?? (/* @__PURE__ */ new Date()).getHours(), w.value = w.value ?? (/* @__PURE__ */ new Date()).getMinutes());
|
|
946
|
+
}), e.popup && K(() => document.addEventListener("click", de)), be(() => document.removeEventListener("click", de)), (p, b) => (a(), n("div", {
|
|
947
947
|
class: "inline-block relative w-full lg:w-[360px]",
|
|
948
948
|
ref_key: "pickerContainer",
|
|
949
|
-
ref:
|
|
949
|
+
ref: P
|
|
950
950
|
}, [
|
|
951
|
-
|
|
951
|
+
l("div", {
|
|
952
952
|
class: "flex items-center gap-2 cursor-pointer",
|
|
953
|
-
onClick:
|
|
953
|
+
onClick: we
|
|
954
954
|
}, [
|
|
955
|
-
|
|
956
|
-
|
|
955
|
+
r.popup ? C(p.$slots, "default", { key: 0 }, () => [
|
|
956
|
+
l("input", {
|
|
957
957
|
type: "text",
|
|
958
958
|
class: "input-bordered w-full cursor-pointer input",
|
|
959
|
-
placeholder:
|
|
960
|
-
value:
|
|
959
|
+
placeholder: r.placeholder,
|
|
960
|
+
value: ee.value,
|
|
961
961
|
readonly: "",
|
|
962
962
|
id: E.value
|
|
963
|
-
}, null, 8,
|
|
964
|
-
|
|
965
|
-
|
|
963
|
+
}, null, 8, Vt),
|
|
964
|
+
l("button", Bt, [
|
|
965
|
+
Z(L(Ye))
|
|
966
966
|
])
|
|
967
|
-
], !0) :
|
|
967
|
+
], !0) : D("", !0)
|
|
968
968
|
]),
|
|
969
|
-
o.value || !
|
|
969
|
+
o.value || !r.popup ? (a(), n("div", {
|
|
970
970
|
key: 0,
|
|
971
|
-
class:
|
|
972
|
-
id:
|
|
971
|
+
class: I(["z-50 lg:bg-base-100 md:mt-2 md:p-4 px-4 rounded-md w-full", [{ absolute: r.popup }]]),
|
|
972
|
+
id: m.value
|
|
973
973
|
}, [
|
|
974
|
-
|
|
975
|
-
|
|
974
|
+
d.value ? (a(), n("div", Pt, [
|
|
975
|
+
l("button", {
|
|
976
976
|
class: "hidden md:block btn-outline btn btn-primary md:btn-sm",
|
|
977
|
-
onClick:
|
|
978
|
-
},
|
|
979
|
-
|
|
977
|
+
onClick: Me
|
|
978
|
+
}, b[11] || (b[11] = [
|
|
979
|
+
l("svg", {
|
|
980
980
|
xmlns: "http://www.w3.org/2000/svg",
|
|
981
981
|
class: "w-4 h-4",
|
|
982
982
|
fill: "none",
|
|
983
983
|
viewBox: "0 0 24 24",
|
|
984
984
|
stroke: "currentColor"
|
|
985
985
|
}, [
|
|
986
|
-
|
|
986
|
+
l("path", {
|
|
987
987
|
"stroke-linecap": "round",
|
|
988
988
|
"stroke-linejoin": "round",
|
|
989
989
|
"stroke-width": "2",
|
|
@@ -991,42 +991,42 @@ const Ye = ae("SunIcon", [
|
|
|
991
991
|
})
|
|
992
992
|
], -1)
|
|
993
993
|
])),
|
|
994
|
-
|
|
994
|
+
A(l("select", {
|
|
995
995
|
class: "border-none w-fit select",
|
|
996
|
-
"onUpdate:modelValue":
|
|
997
|
-
onChange:
|
|
996
|
+
"onUpdate:modelValue": b[0] || (b[0] = (u) => y.value = u),
|
|
997
|
+
onChange: O
|
|
998
998
|
}, [
|
|
999
|
-
(a(),
|
|
1000
|
-
key:
|
|
1001
|
-
value:
|
|
1002
|
-
},
|
|
999
|
+
(a(), n(S, null, M(Y, (u, R) => l("option", {
|
|
1000
|
+
key: R,
|
|
1001
|
+
value: u
|
|
1002
|
+
}, _(u), 9, zt)), 64))
|
|
1003
1003
|
], 544), [
|
|
1004
|
-
[
|
|
1004
|
+
[H, y.value]
|
|
1005
1005
|
]),
|
|
1006
|
-
|
|
1006
|
+
A(l("select", {
|
|
1007
1007
|
class: "border-none w-24 select",
|
|
1008
|
-
"onUpdate:modelValue":
|
|
1009
|
-
onChange:
|
|
1008
|
+
"onUpdate:modelValue": b[1] || (b[1] = (u) => v.value = u),
|
|
1009
|
+
onChange: O
|
|
1010
1010
|
}, [
|
|
1011
|
-
(a(!0),
|
|
1012
|
-
key:
|
|
1013
|
-
value:
|
|
1014
|
-
},
|
|
1011
|
+
(a(!0), n(S, null, M(Q.value, (u) => (a(), n("option", {
|
|
1012
|
+
key: u,
|
|
1013
|
+
value: u
|
|
1014
|
+
}, _(u), 9, At))), 128))
|
|
1015
1015
|
], 544), [
|
|
1016
|
-
[
|
|
1016
|
+
[H, v.value]
|
|
1017
1017
|
]),
|
|
1018
|
-
|
|
1018
|
+
l("button", {
|
|
1019
1019
|
class: "hidden md:block btn-outline btn btn-primary md:btn-sm",
|
|
1020
|
-
onClick:
|
|
1021
|
-
},
|
|
1022
|
-
|
|
1020
|
+
onClick: Te
|
|
1021
|
+
}, b[12] || (b[12] = [
|
|
1022
|
+
l("svg", {
|
|
1023
1023
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1024
1024
|
class: "w-4 h-4",
|
|
1025
1025
|
fill: "none",
|
|
1026
1026
|
viewBox: "0 0 24 24",
|
|
1027
1027
|
stroke: "currentColor"
|
|
1028
1028
|
}, [
|
|
1029
|
-
|
|
1029
|
+
l("path", {
|
|
1030
1030
|
"stroke-linecap": "round",
|
|
1031
1031
|
"stroke-linejoin": "round",
|
|
1032
1032
|
"stroke-width": "2",
|
|
@@ -1034,190 +1034,190 @@ const Ye = ae("SunIcon", [
|
|
|
1034
1034
|
})
|
|
1035
1035
|
], -1)
|
|
1036
1036
|
]))
|
|
1037
|
-
])) :
|
|
1038
|
-
|
|
1039
|
-
(a(),
|
|
1040
|
-
key:
|
|
1037
|
+
])) : D("", !0),
|
|
1038
|
+
d.value ? (a(), n("div", Ut, [
|
|
1039
|
+
(a(), n(S, null, M(k, (u) => l("div", {
|
|
1040
|
+
key: u,
|
|
1041
1041
|
class: "text-center"
|
|
1042
|
-
},
|
|
1043
|
-
(a(!0),
|
|
1044
|
-
key:
|
|
1042
|
+
}, _(u), 1)), 64)),
|
|
1043
|
+
(a(!0), n(S, null, M(z.value, (u) => (a(), n("div", {
|
|
1044
|
+
key: u,
|
|
1045
1045
|
class: "text-center"
|
|
1046
1046
|
}))), 128)),
|
|
1047
|
-
(a(!0),
|
|
1048
|
-
key:
|
|
1049
|
-
class:
|
|
1050
|
-
"bg-primary text-primary-content":
|
|
1051
|
-
today: Se(
|
|
1052
|
-
"range-start bg-primary text-primary-content":
|
|
1053
|
-
"range-end bg-primary text-primary-content":
|
|
1054
|
-
"in-range bg-primary/20 hover:bg-primary/10": De(
|
|
1047
|
+
(a(!0), n(S, null, M(T.value, (u) => (a(), n("div", {
|
|
1048
|
+
key: u,
|
|
1049
|
+
class: I(["hover:bg-primary-10 py-1 rounded-full text-center cursor-pointer", {
|
|
1050
|
+
"bg-primary text-primary-content": xe(u),
|
|
1051
|
+
today: Se(u),
|
|
1052
|
+
"range-start bg-primary text-primary-content": Ce(u),
|
|
1053
|
+
"range-end bg-primary text-primary-content": Ie(u),
|
|
1054
|
+
"in-range bg-primary/20 hover:bg-primary/10": De(u)
|
|
1055
1055
|
}]),
|
|
1056
|
-
onClick: (
|
|
1057
|
-
},
|
|
1058
|
-
])) :
|
|
1059
|
-
|
|
1060
|
-
e.range ?
|
|
1061
|
-
e.range ? (a(),
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
q.value ?
|
|
1056
|
+
onClick: (R) => _e(u)
|
|
1057
|
+
}, _(u.getDate()), 11, Lt))), 128))
|
|
1058
|
+
])) : D("", !0),
|
|
1059
|
+
h.value ? (a(), n("div", jt, [
|
|
1060
|
+
e.range ? D("", !0) : (a(), n("h3", Et, "Select Time")),
|
|
1061
|
+
e.range ? (a(), n("div", qt, [
|
|
1062
|
+
l("div", null, [
|
|
1063
|
+
b[13] || (b[13] = l("p", { class: "font-bold" }, "Start Time", -1)),
|
|
1064
|
+
q.value ? A((a(), n("input", {
|
|
1065
1065
|
key: 0,
|
|
1066
1066
|
type: "time",
|
|
1067
1067
|
class: "input-bordered w-full input",
|
|
1068
|
-
"onUpdate:modelValue":
|
|
1069
|
-
onChange:
|
|
1068
|
+
"onUpdate:modelValue": b[5] || (b[5] = (u) => i.value.start = u),
|
|
1069
|
+
onChange: O
|
|
1070
1070
|
}, null, 544)), [
|
|
1071
|
-
[
|
|
1072
|
-
]) : (a(),
|
|
1073
|
-
|
|
1071
|
+
[X, i.value.start]
|
|
1072
|
+
]) : (a(), n("div", Wt, [
|
|
1073
|
+
A(l("select", {
|
|
1074
1074
|
class: "w-full select-bordered select",
|
|
1075
|
-
"onUpdate:modelValue":
|
|
1076
|
-
onChange:
|
|
1075
|
+
"onUpdate:modelValue": b[6] || (b[6] = (u) => f.value.start = u),
|
|
1076
|
+
onChange: O
|
|
1077
1077
|
}, [
|
|
1078
|
-
(a(!0),
|
|
1079
|
-
key:
|
|
1080
|
-
value:
|
|
1081
|
-
},
|
|
1078
|
+
(a(!0), n(S, null, M(L(N), (u) => (a(), n("option", {
|
|
1079
|
+
key: u,
|
|
1080
|
+
value: u
|
|
1081
|
+
}, _(u.toString().padStart(2, "0")), 9, Kt))), 128))
|
|
1082
1082
|
], 544), [
|
|
1083
1083
|
[
|
|
1084
|
-
|
|
1085
|
-
|
|
1084
|
+
H,
|
|
1085
|
+
f.value.start,
|
|
1086
1086
|
void 0,
|
|
1087
1087
|
{ number: !0 }
|
|
1088
1088
|
]
|
|
1089
1089
|
]),
|
|
1090
|
-
|
|
1090
|
+
A(l("select", {
|
|
1091
1091
|
class: "w-full select-bordered select",
|
|
1092
|
-
"onUpdate:modelValue":
|
|
1093
|
-
onChange:
|
|
1092
|
+
"onUpdate:modelValue": b[7] || (b[7] = (u) => w.value.start = u),
|
|
1093
|
+
onChange: O
|
|
1094
1094
|
}, [
|
|
1095
|
-
(a(!0),
|
|
1096
|
-
key:
|
|
1097
|
-
value:
|
|
1098
|
-
},
|
|
1095
|
+
(a(!0), n(S, null, M(L(F), (u) => (a(), n("option", {
|
|
1096
|
+
key: u,
|
|
1097
|
+
value: u
|
|
1098
|
+
}, _(u.toString().padStart(2, "0")), 9, Yt))), 128))
|
|
1099
1099
|
], 544), [
|
|
1100
1100
|
[
|
|
1101
|
-
|
|
1102
|
-
|
|
1101
|
+
H,
|
|
1102
|
+
w.value.start,
|
|
1103
1103
|
void 0,
|
|
1104
1104
|
{ number: !0 }
|
|
1105
1105
|
]
|
|
1106
1106
|
])
|
|
1107
1107
|
]))
|
|
1108
1108
|
]),
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
q.value ?
|
|
1109
|
+
l("div", null, [
|
|
1110
|
+
b[14] || (b[14] = l("p", { class: "font-bold" }, "End Time", -1)),
|
|
1111
|
+
q.value ? A((a(), n("input", {
|
|
1112
1112
|
key: 0,
|
|
1113
1113
|
type: "time",
|
|
1114
1114
|
class: "input-bordered w-full input",
|
|
1115
|
-
"onUpdate:modelValue":
|
|
1116
|
-
onChange:
|
|
1115
|
+
"onUpdate:modelValue": b[8] || (b[8] = (u) => i.value.end = u),
|
|
1116
|
+
onChange: O
|
|
1117
1117
|
}, null, 544)), [
|
|
1118
|
-
[
|
|
1119
|
-
]) : (a(),
|
|
1120
|
-
|
|
1118
|
+
[X, i.value.end]
|
|
1119
|
+
]) : (a(), n("div", Jt, [
|
|
1120
|
+
A(l("select", {
|
|
1121
1121
|
class: "w-full select-bordered select",
|
|
1122
|
-
"onUpdate:modelValue":
|
|
1123
|
-
onChange:
|
|
1122
|
+
"onUpdate:modelValue": b[9] || (b[9] = (u) => f.value.end = u),
|
|
1123
|
+
onChange: O
|
|
1124
1124
|
}, [
|
|
1125
|
-
(a(!0),
|
|
1126
|
-
key:
|
|
1127
|
-
value:
|
|
1128
|
-
},
|
|
1125
|
+
(a(!0), n(S, null, M(L(N), (u) => (a(), n("option", {
|
|
1126
|
+
key: u,
|
|
1127
|
+
value: u
|
|
1128
|
+
}, _(u.toString().padStart(2, "0")), 9, Gt))), 128))
|
|
1129
1129
|
], 544), [
|
|
1130
1130
|
[
|
|
1131
|
-
|
|
1132
|
-
|
|
1131
|
+
H,
|
|
1132
|
+
f.value.end,
|
|
1133
1133
|
void 0,
|
|
1134
1134
|
{ number: !0 }
|
|
1135
1135
|
]
|
|
1136
1136
|
]),
|
|
1137
|
-
|
|
1137
|
+
A(l("select", {
|
|
1138
1138
|
class: "w-full select-bordered select",
|
|
1139
|
-
"onUpdate:modelValue":
|
|
1140
|
-
onChange:
|
|
1139
|
+
"onUpdate:modelValue": b[10] || (b[10] = (u) => w.value.end = u),
|
|
1140
|
+
onChange: O
|
|
1141
1141
|
}, [
|
|
1142
|
-
(a(!0),
|
|
1143
|
-
key:
|
|
1144
|
-
value:
|
|
1145
|
-
},
|
|
1142
|
+
(a(!0), n(S, null, M(L(F), (u) => (a(), n("option", {
|
|
1143
|
+
key: u,
|
|
1144
|
+
value: u
|
|
1145
|
+
}, _(u.toString().padStart(2, "0")), 9, Xt))), 128))
|
|
1146
1146
|
], 544), [
|
|
1147
1147
|
[
|
|
1148
|
-
|
|
1149
|
-
|
|
1148
|
+
H,
|
|
1149
|
+
w.value.end,
|
|
1150
1150
|
void 0,
|
|
1151
1151
|
{ number: !0 }
|
|
1152
1152
|
]
|
|
1153
1153
|
])
|
|
1154
1154
|
]))
|
|
1155
1155
|
])
|
|
1156
|
-
])) : (a(),
|
|
1157
|
-
q.value ?
|
|
1156
|
+
])) : (a(), n("div", Nt, [
|
|
1157
|
+
q.value ? A((a(), n("input", {
|
|
1158
1158
|
key: 0,
|
|
1159
1159
|
type: "time",
|
|
1160
1160
|
class: "input-bordered w-full input",
|
|
1161
|
-
"onUpdate:modelValue":
|
|
1162
|
-
onChange:
|
|
1161
|
+
"onUpdate:modelValue": b[2] || (b[2] = (u) => i.value = u),
|
|
1162
|
+
onChange: O
|
|
1163
1163
|
}, null, 544)), [
|
|
1164
|
-
[
|
|
1165
|
-
]) : (a(),
|
|
1166
|
-
|
|
1164
|
+
[X, i.value]
|
|
1165
|
+
]) : (a(), n("div", Ft, [
|
|
1166
|
+
A(l("select", {
|
|
1167
1167
|
class: "w-full select-bordered select",
|
|
1168
|
-
"onUpdate:modelValue":
|
|
1169
|
-
onChange:
|
|
1168
|
+
"onUpdate:modelValue": b[3] || (b[3] = (u) => f.value = u),
|
|
1169
|
+
onChange: O
|
|
1170
1170
|
}, [
|
|
1171
|
-
(a(!0),
|
|
1172
|
-
key:
|
|
1173
|
-
value:
|
|
1174
|
-
},
|
|
1171
|
+
(a(!0), n(S, null, M(L(N), (u) => (a(), n("option", {
|
|
1172
|
+
key: u,
|
|
1173
|
+
value: u
|
|
1174
|
+
}, _(u.toString().padStart(2, "0")), 9, Rt))), 128))
|
|
1175
1175
|
], 544), [
|
|
1176
1176
|
[
|
|
1177
|
-
|
|
1178
|
-
|
|
1177
|
+
H,
|
|
1178
|
+
f.value,
|
|
1179
1179
|
void 0,
|
|
1180
1180
|
{ number: !0 }
|
|
1181
1181
|
]
|
|
1182
1182
|
]),
|
|
1183
|
-
|
|
1183
|
+
A(l("select", {
|
|
1184
1184
|
class: "w-full select-bordered select",
|
|
1185
|
-
"onUpdate:modelValue":
|
|
1186
|
-
onChange:
|
|
1185
|
+
"onUpdate:modelValue": b[4] || (b[4] = (u) => w.value = u),
|
|
1186
|
+
onChange: O
|
|
1187
1187
|
}, [
|
|
1188
|
-
(a(!0),
|
|
1189
|
-
key:
|
|
1190
|
-
value:
|
|
1191
|
-
},
|
|
1188
|
+
(a(!0), n(S, null, M(L(F), (u) => (a(), n("option", {
|
|
1189
|
+
key: u,
|
|
1190
|
+
value: u
|
|
1191
|
+
}, _(u.toString().padStart(2, "0")), 9, Ht))), 128))
|
|
1192
1192
|
], 544), [
|
|
1193
1193
|
[
|
|
1194
|
-
|
|
1195
|
-
|
|
1194
|
+
H,
|
|
1195
|
+
w.value,
|
|
1196
1196
|
void 0,
|
|
1197
1197
|
{ number: !0 }
|
|
1198
1198
|
]
|
|
1199
1199
|
])
|
|
1200
1200
|
]))
|
|
1201
1201
|
]))
|
|
1202
|
-
])) :
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
class:
|
|
1206
|
-
onClick:
|
|
1202
|
+
])) : D("", !0),
|
|
1203
|
+
l("div", Zt, [
|
|
1204
|
+
l("button", {
|
|
1205
|
+
class: I(["btn btn-secondary", r.popup ? "w-fit" : "w-full"]),
|
|
1206
|
+
onClick: $e
|
|
1207
1207
|
}, "Clear", 2),
|
|
1208
|
-
|
|
1208
|
+
r.popup ? (a(), n("button", {
|
|
1209
1209
|
key: 0,
|
|
1210
1210
|
class: "btn btn-primary btn-wide",
|
|
1211
1211
|
onClick: ue
|
|
1212
|
-
}, "Close")) :
|
|
1212
|
+
}, "Close")) : D("", !0)
|
|
1213
1213
|
])
|
|
1214
|
-
], 10,
|
|
1214
|
+
], 10, Ot)) : D("", !0)
|
|
1215
1215
|
], 512));
|
|
1216
1216
|
}
|
|
1217
|
-
},
|
|
1217
|
+
}, el = /* @__PURE__ */ J(Qt, [["__scopeId", "data-v-488ecabe"]]), tl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1218
1218
|
__proto__: null,
|
|
1219
|
-
default:
|
|
1220
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1219
|
+
default: el
|
|
1220
|
+
}, Symbol.toStringTag, { value: "Module" })), ll = ["value", "checked", "onChange", "disabled"], ga = /* @__PURE__ */ B({
|
|
1221
1221
|
__name: "rating",
|
|
1222
1222
|
props: {
|
|
1223
1223
|
initialRating: { default: 0 },
|
|
@@ -1226,10 +1226,10 @@ const Ye = ae("SunIcon", [
|
|
|
1226
1226
|
isInteractive: { type: Boolean, default: !1 },
|
|
1227
1227
|
size: { default: "sm" }
|
|
1228
1228
|
},
|
|
1229
|
-
setup(
|
|
1230
|
-
const
|
|
1231
|
-
|
|
1232
|
-
() =>
|
|
1229
|
+
setup(r) {
|
|
1230
|
+
const c = r, e = x(c.initialRating);
|
|
1231
|
+
j(
|
|
1232
|
+
() => c.initialRating,
|
|
1233
1233
|
(o) => {
|
|
1234
1234
|
e.value = o;
|
|
1235
1235
|
}
|
|
@@ -1237,30 +1237,30 @@ const Ye = ae("SunIcon", [
|
|
|
1237
1237
|
const t = (o) => {
|
|
1238
1238
|
e.value = o;
|
|
1239
1239
|
};
|
|
1240
|
-
return (o, s) => (a(),
|
|
1241
|
-
class:
|
|
1242
|
-
`rating-${
|
|
1240
|
+
return (o, s) => (a(), n("div", {
|
|
1241
|
+
class: I(["rating", [
|
|
1242
|
+
`rating-${c.size}`,
|
|
1243
1243
|
{ "rating-half": o.halfStars }
|
|
1244
1244
|
]])
|
|
1245
1245
|
}, [
|
|
1246
|
-
(a(!0),
|
|
1247
|
-
key:
|
|
1246
|
+
(a(!0), n(S, null, M(o.numberOfStars * (o.halfStars ? 2 : 1), (i) => (a(), n("input", {
|
|
1247
|
+
key: i,
|
|
1248
1248
|
type: "radio",
|
|
1249
|
-
value: o.halfStars ?
|
|
1250
|
-
checked: e.value === (o.halfStars ?
|
|
1251
|
-
onChange: (
|
|
1252
|
-
class:
|
|
1253
|
-
"bg-yellow-400": e.value >= (o.halfStars ?
|
|
1254
|
-
"mask-half-1": o.halfStars &&
|
|
1255
|
-
"mask-half-2": o.halfStars &&
|
|
1249
|
+
value: o.halfStars ? i * 0.5 : i,
|
|
1250
|
+
checked: e.value === (o.halfStars ? i * 0.5 : i),
|
|
1251
|
+
onChange: (y) => o.isInteractive ? t(o.halfStars ? i * 0.5 : i) : null,
|
|
1252
|
+
class: I(["mask mask-star", {
|
|
1253
|
+
"bg-yellow-400": e.value >= (o.halfStars ? i * 0.5 : i),
|
|
1254
|
+
"mask-half-1": o.halfStars && i % 2 !== 0,
|
|
1255
|
+
"mask-half-2": o.halfStars && i % 2 === 0,
|
|
1256
1256
|
"cursor-pointer": o.isInteractive,
|
|
1257
1257
|
"cursor-default": !o.isInteractive
|
|
1258
1258
|
}]),
|
|
1259
1259
|
disabled: !o.isInteractive
|
|
1260
|
-
}, null, 42,
|
|
1260
|
+
}, null, 42, ll))), 128))
|
|
1261
1261
|
], 2));
|
|
1262
1262
|
}
|
|
1263
|
-
}),
|
|
1263
|
+
}), al = { class: "badge" }, nl = ["onClick"], ol = { class: "opacity-75" }, sl = ["placeholder"], ba = /* @__PURE__ */ B({
|
|
1264
1264
|
__name: "taginput",
|
|
1265
1265
|
props: {
|
|
1266
1266
|
modelValue: {},
|
|
@@ -1269,53 +1269,327 @@ const Ye = ae("SunIcon", [
|
|
|
1269
1269
|
class: {}
|
|
1270
1270
|
},
|
|
1271
1271
|
emits: ["update:modelValue"],
|
|
1272
|
-
setup(
|
|
1273
|
-
const e =
|
|
1274
|
-
const
|
|
1275
|
-
|
|
1276
|
-
},
|
|
1277
|
-
o.value = o.value.filter((
|
|
1278
|
-
},
|
|
1279
|
-
|
|
1280
|
-
}, E = (
|
|
1281
|
-
|
|
1272
|
+
setup(r, { emit: c }) {
|
|
1273
|
+
const e = r, t = c, o = x([...e.modelValue]), s = e.maxTagAmount === void 0 ? -1 : e.maxTagAmount, i = x(null), y = x(""), v = V(() => s < 0 || o.value.length < s), f = () => {
|
|
1274
|
+
const m = y.value.trim();
|
|
1275
|
+
m && !o.value.includes(m) && (o.value.push(m), t("update:modelValue", o.value), y.value = "");
|
|
1276
|
+
}, w = (m) => {
|
|
1277
|
+
o.value = o.value.filter((d) => d !== m), t("update:modelValue", o.value);
|
|
1278
|
+
}, P = () => {
|
|
1279
|
+
y.value === "" && (o.value.pop(), t("update:modelValue", o.value));
|
|
1280
|
+
}, E = (m) => {
|
|
1281
|
+
m.key === "Enter" ? f() : m.key === "Backspace" && y.value === "" && P();
|
|
1282
1282
|
};
|
|
1283
|
-
return
|
|
1284
|
-
o.value = [...
|
|
1285
|
-
}), (
|
|
1286
|
-
class:
|
|
1283
|
+
return j(() => e.modelValue, (m) => {
|
|
1284
|
+
o.value = [...m];
|
|
1285
|
+
}), (m, d) => (a(), n("div", {
|
|
1286
|
+
class: I(["flex flex-wrap gap-2 bg-base-100 shadow px-4 py-6 border border-base-content/20 rounded", m.$props.class])
|
|
1287
1287
|
}, [
|
|
1288
|
-
(a(!0),
|
|
1289
|
-
key:
|
|
1290
|
-
tag:
|
|
1288
|
+
(a(!0), n(S, null, M(o.value, (h) => C(m.$slots, "tag", {
|
|
1289
|
+
key: h,
|
|
1290
|
+
tag: h
|
|
1291
1291
|
}, () => [
|
|
1292
|
-
|
|
1293
|
-
|
|
1292
|
+
l("div", al, [
|
|
1293
|
+
l("button", {
|
|
1294
1294
|
class: "!px-1 !py-0 h-fit font-bold cursor-pointer",
|
|
1295
|
-
onClick: (g) =>
|
|
1295
|
+
onClick: (g) => w(h),
|
|
1296
1296
|
"aria-label": "Remove tag"
|
|
1297
|
-
}, "X", 8,
|
|
1298
|
-
|
|
1297
|
+
}, "X", 8, nl),
|
|
1298
|
+
l("span", ol, _(h), 1)
|
|
1299
1299
|
])
|
|
1300
1300
|
])), 128)),
|
|
1301
|
-
|
|
1302
|
-
v.value ?
|
|
1301
|
+
C(m.$slots, "input", { showInput: v.value }, () => [
|
|
1302
|
+
v.value ? A((a(), n("input", {
|
|
1303
1303
|
key: 0,
|
|
1304
1304
|
ref_key: "inputRef",
|
|
1305
|
-
ref:
|
|
1306
|
-
"onUpdate:modelValue":
|
|
1305
|
+
ref: i,
|
|
1306
|
+
"onUpdate:modelValue": d[0] || (d[0] = (h) => y.value = h),
|
|
1307
1307
|
type: "text",
|
|
1308
|
-
placeholder:
|
|
1308
|
+
placeholder: m.placeholder || "Type here",
|
|
1309
1309
|
class: "h-full input input-ghost",
|
|
1310
1310
|
onKeydown: E,
|
|
1311
1311
|
"aria-label": "Add tags"
|
|
1312
|
-
}, null, 40,
|
|
1313
|
-
[
|
|
1314
|
-
]) :
|
|
1312
|
+
}, null, 40, sl)), [
|
|
1313
|
+
[X, y.value]
|
|
1314
|
+
]) : D("", !0)
|
|
1315
1315
|
])
|
|
1316
1316
|
], 2));
|
|
1317
1317
|
}
|
|
1318
|
-
}),
|
|
1318
|
+
}), rl = { class: "w-full max-w-xs form-control" }, il = {
|
|
1319
|
+
key: 0,
|
|
1320
|
+
class: "label"
|
|
1321
|
+
}, ul = { class: "label-text" }, dl = ["value"], cl = {
|
|
1322
|
+
key: 0,
|
|
1323
|
+
value: "",
|
|
1324
|
+
disabled: "",
|
|
1325
|
+
selected: ""
|
|
1326
|
+
}, pl = ["value"], ya = /* @__PURE__ */ B({
|
|
1327
|
+
__name: "select",
|
|
1328
|
+
props: {
|
|
1329
|
+
options: {},
|
|
1330
|
+
label: {},
|
|
1331
|
+
placeholder: {},
|
|
1332
|
+
modelValue: {}
|
|
1333
|
+
},
|
|
1334
|
+
emits: ["update:modelValue"],
|
|
1335
|
+
setup(r, { expose: c, emit: e }) {
|
|
1336
|
+
console.log(r.placeholder);
|
|
1337
|
+
const o = e, s = x(null), i = (v) => {
|
|
1338
|
+
const f = v.target;
|
|
1339
|
+
o("update:modelValue", f.value);
|
|
1340
|
+
};
|
|
1341
|
+
return c({
|
|
1342
|
+
focusInput: () => {
|
|
1343
|
+
var v;
|
|
1344
|
+
console.log("select.vue: focusInput method called."), (v = s.value) == null || v.focus();
|
|
1345
|
+
}
|
|
1346
|
+
// You can expose other properties or methods here if needed by the parent
|
|
1347
|
+
// e.g., the current value: modelValue
|
|
1348
|
+
}), (v, f) => (a(), n("div", rl, [
|
|
1349
|
+
v.label ? (a(), n("label", il, [
|
|
1350
|
+
l("span", ul, _(v.label), 1)
|
|
1351
|
+
])) : D("", !0),
|
|
1352
|
+
l("select", {
|
|
1353
|
+
ref_key: "selectElement",
|
|
1354
|
+
ref: s,
|
|
1355
|
+
class: "rounded-md w-full select-bordered select",
|
|
1356
|
+
value: v.modelValue,
|
|
1357
|
+
onChange: i
|
|
1358
|
+
}, [
|
|
1359
|
+
v.placeholder ? (a(), n("option", cl, _(v.placeholder), 1)) : D("", !0),
|
|
1360
|
+
(a(!0), n(S, null, M(v.options, (w) => (a(), n("option", {
|
|
1361
|
+
key: w.value,
|
|
1362
|
+
value: w.value
|
|
1363
|
+
}, _(w.text), 9, pl))), 128))
|
|
1364
|
+
], 40, dl)
|
|
1365
|
+
]));
|
|
1366
|
+
}
|
|
1367
|
+
}), vl = { class: "relative w-full max-w-xs form-control" }, fl = {
|
|
1368
|
+
key: 0,
|
|
1369
|
+
class: "label"
|
|
1370
|
+
}, ml = { class: "label-text" }, hl = ["placeholder", "onKeydown", "aria-expanded", "aria-activedescendant"], gl = {
|
|
1371
|
+
class: "top-full z-10 absolute bg-base-100 shadow-lg mt-1 rounded-md w-full dropdown-content",
|
|
1372
|
+
role: "listbox"
|
|
1373
|
+
}, bl = { class: "p-0 max-h-60 overflow-y-auto menu" }, yl = ["onMousedown", "id", "aria-selected"], wl = {
|
|
1374
|
+
key: 1,
|
|
1375
|
+
class: "label"
|
|
1376
|
+
}, kl = { class: "label-text-alt" }, wa = {
|
|
1377
|
+
__name: "filterableSelect",
|
|
1378
|
+
props: {
|
|
1379
|
+
// Array of options: [{ value: any, text: string }, ...]
|
|
1380
|
+
options: {
|
|
1381
|
+
type: Array,
|
|
1382
|
+
required: !0,
|
|
1383
|
+
default: () => []
|
|
1384
|
+
},
|
|
1385
|
+
// Optional label for the input
|
|
1386
|
+
label: {
|
|
1387
|
+
type: String,
|
|
1388
|
+
default: ""
|
|
1389
|
+
},
|
|
1390
|
+
// Optional placeholder for the input
|
|
1391
|
+
placeholder: {
|
|
1392
|
+
type: String,
|
|
1393
|
+
default: "Select an option"
|
|
1394
|
+
},
|
|
1395
|
+
// v-model support for selected value
|
|
1396
|
+
modelValue: {
|
|
1397
|
+
type: [String, Number, Object, null],
|
|
1398
|
+
default: null
|
|
1399
|
+
}
|
|
1400
|
+
},
|
|
1401
|
+
emits: ["update:modelValue", "select"],
|
|
1402
|
+
setup(r, { emit: c }) {
|
|
1403
|
+
const e = r, t = c, o = x(""), s = x(null), i = x(!1), y = x(null), v = x(null), f = V(() => {
|
|
1404
|
+
const d = o.value.toLowerCase();
|
|
1405
|
+
return d ? e.options.filter(
|
|
1406
|
+
(h) => h.text.toLowerCase().includes(d)
|
|
1407
|
+
) : i.value || s.value ? e.options : [];
|
|
1408
|
+
});
|
|
1409
|
+
j(
|
|
1410
|
+
() => e.modelValue,
|
|
1411
|
+
(d) => {
|
|
1412
|
+
if (d == null)
|
|
1413
|
+
s.value = null, i.value || (o.value = "");
|
|
1414
|
+
else {
|
|
1415
|
+
const h = e.options.find((g) => g.value === d);
|
|
1416
|
+
h && (s.value = h, i.value || (o.value = h.text));
|
|
1417
|
+
}
|
|
1418
|
+
},
|
|
1419
|
+
{ immediate: !0 }
|
|
1420
|
+
);
|
|
1421
|
+
const w = (d) => {
|
|
1422
|
+
s.value = d, o.value = d.text, i.value = !1, t("update:modelValue", d.value), t("select", d), y.value.blur();
|
|
1423
|
+
}, P = () => {
|
|
1424
|
+
setTimeout(() => {
|
|
1425
|
+
(!s.value || o.value !== s.value.text) && (o.value = s.value ? s.value.text : ""), i.value = !1, v.value = null;
|
|
1426
|
+
}, 100);
|
|
1427
|
+
}, E = () => {
|
|
1428
|
+
f.value.length > 0 && w(f.value[0]);
|
|
1429
|
+
}, m = (d) => {
|
|
1430
|
+
if (!i.value || f.value.length === 0) return;
|
|
1431
|
+
const h = f.value.findIndex(
|
|
1432
|
+
(g, k) => "option-" + k === v.value
|
|
1433
|
+
);
|
|
1434
|
+
if (d.key === "ArrowDown") {
|
|
1435
|
+
d.preventDefault();
|
|
1436
|
+
const g = (h + 1) % f.value.length;
|
|
1437
|
+
v.value = "option-" + g;
|
|
1438
|
+
const k = document.getElementById(v.value);
|
|
1439
|
+
k && k.scrollIntoView({ block: "nearest" });
|
|
1440
|
+
} else if (d.key === "ArrowUp") {
|
|
1441
|
+
d.preventDefault();
|
|
1442
|
+
const g = (h - 1 + f.value.length) % f.value.length;
|
|
1443
|
+
v.value = "option-" + g;
|
|
1444
|
+
const k = document.getElementById(v.value);
|
|
1445
|
+
k && k.scrollIntoView({ block: "nearest" });
|
|
1446
|
+
} else if (d.key === "Enter" && v.value) {
|
|
1447
|
+
d.preventDefault();
|
|
1448
|
+
const g = f.value.find(
|
|
1449
|
+
(k, $) => "option-" + $ === v.value
|
|
1450
|
+
);
|
|
1451
|
+
g && w(g);
|
|
1452
|
+
}
|
|
1453
|
+
};
|
|
1454
|
+
return j(y, (d) => {
|
|
1455
|
+
d && d.addEventListener("keydown", m);
|
|
1456
|
+
}), (d, h) => (a(), n("div", vl, [
|
|
1457
|
+
r.label ? (a(), n("label", fl, [
|
|
1458
|
+
l("span", ml, _(r.label), 1)
|
|
1459
|
+
])) : D("", !0),
|
|
1460
|
+
A(l("input", {
|
|
1461
|
+
type: "text",
|
|
1462
|
+
placeholder: r.placeholder,
|
|
1463
|
+
class: "input-bordered rounded-md w-full input select",
|
|
1464
|
+
"onUpdate:modelValue": h[0] || (h[0] = (g) => o.value = g),
|
|
1465
|
+
onFocus: h[1] || (h[1] = (g) => i.value = !0),
|
|
1466
|
+
onBlur: P,
|
|
1467
|
+
onKeydown: Ue(he(E, ["prevent"]), ["enter"]),
|
|
1468
|
+
ref_key: "filterInput",
|
|
1469
|
+
ref: y,
|
|
1470
|
+
role: "combobox",
|
|
1471
|
+
"aria-haspopup": "listbox",
|
|
1472
|
+
"aria-expanded": i.value,
|
|
1473
|
+
"aria-activedescendant": v.value,
|
|
1474
|
+
"aria-autocomplete": "list"
|
|
1475
|
+
}, null, 40, hl), [
|
|
1476
|
+
[X, o.value]
|
|
1477
|
+
]),
|
|
1478
|
+
A(l("div", gl, [
|
|
1479
|
+
l("ul", bl, [
|
|
1480
|
+
(a(!0), n(S, null, M(f.value, (g, k) => (a(), n("li", {
|
|
1481
|
+
key: g.value,
|
|
1482
|
+
onMousedown: he(($) => w(g), ["prevent"]),
|
|
1483
|
+
class: "hover:bg-base-200 rounded-md cursor-pointer",
|
|
1484
|
+
id: "option-" + k,
|
|
1485
|
+
role: "option",
|
|
1486
|
+
"aria-selected": s.value && s.value.value === g.value
|
|
1487
|
+
}, [
|
|
1488
|
+
l("a", null, _(g.text), 1)
|
|
1489
|
+
], 40, yl))), 128))
|
|
1490
|
+
])
|
|
1491
|
+
], 512), [
|
|
1492
|
+
[Le, i.value && f.value.length > 0]
|
|
1493
|
+
]),
|
|
1494
|
+
s.value && !i.value ? (a(), n("div", wl, [
|
|
1495
|
+
l("span", kl, "Selected: " + _(s.value.text), 1)
|
|
1496
|
+
])) : D("", !0)
|
|
1497
|
+
]));
|
|
1498
|
+
}
|
|
1499
|
+
}, $l = { class: "w-full max-w-xs form-control" }, _l = {
|
|
1500
|
+
key: 0,
|
|
1501
|
+
class: "label"
|
|
1502
|
+
}, xl = { class: "label-text" }, Sl = ["type", "placeholder", "value"], Cl = {
|
|
1503
|
+
key: 1,
|
|
1504
|
+
class: "label"
|
|
1505
|
+
}, Il = { class: "label-text-alt text-error validator-hint" }, Dl = {
|
|
1506
|
+
key: 2,
|
|
1507
|
+
class: "label"
|
|
1508
|
+
}, Ml = { class: "label-text-alt text-success validator-hint" }, ka = /* @__PURE__ */ B({
|
|
1509
|
+
__name: "inputField",
|
|
1510
|
+
props: {
|
|
1511
|
+
modelValue: { default: "" },
|
|
1512
|
+
label: { default: "" },
|
|
1513
|
+
placeholder: { default: "" },
|
|
1514
|
+
type: { default: "text" },
|
|
1515
|
+
rules: { default: () => ({}) },
|
|
1516
|
+
successMessage: { default: "" },
|
|
1517
|
+
size: { default: "md" },
|
|
1518
|
+
color: { default: "" },
|
|
1519
|
+
style: { default: "" }
|
|
1520
|
+
},
|
|
1521
|
+
emits: ["update:modelValue", "validate"],
|
|
1522
|
+
setup(r, { expose: c, emit: e }) {
|
|
1523
|
+
const t = r, o = e, s = x(null), i = x(!1), y = x(""), v = V(() => {
|
|
1524
|
+
var g, k, $, T;
|
|
1525
|
+
let m = !0, d = "";
|
|
1526
|
+
const h = t.modelValue;
|
|
1527
|
+
return (g = t.rules) != null && g.required && (h == null || h === "") && (m = !1, d = "This field is required."), m && ((k = t.rules) == null ? void 0 : k.minLength) !== void 0 && typeof h == "string" && h.length < t.rules.minLength && (m = !1, d = `Must be at least ${t.rules.minLength} characters.`), m && (($ = t.rules) == null ? void 0 : $.maxLength) !== void 0 && typeof h == "string" && h.length > t.rules.maxLength && (m = !1, d = `Cannot exceed ${t.rules.maxLength} characters.`), m && ((T = t.rules) != null && T.email) && typeof h == "string" && h && (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(h) || (m = !1, d = "Please enter a valid email address.")), y.value = d, o("validate", m), m;
|
|
1528
|
+
}), f = V(() => i.value && !v.value), w = (m) => {
|
|
1529
|
+
const d = m.target;
|
|
1530
|
+
o("update:modelValue", d.value), i.value && v.value;
|
|
1531
|
+
}, P = () => {
|
|
1532
|
+
i.value = !0, v.value;
|
|
1533
|
+
};
|
|
1534
|
+
return j(
|
|
1535
|
+
() => t.modelValue,
|
|
1536
|
+
() => {
|
|
1537
|
+
i.value && v.value;
|
|
1538
|
+
}
|
|
1539
|
+
), c({
|
|
1540
|
+
focusInput: () => {
|
|
1541
|
+
var m;
|
|
1542
|
+
console.log("inputField.vue: focusInput method called."), (m = s.value) == null || m.focus();
|
|
1543
|
+
},
|
|
1544
|
+
isValid: v,
|
|
1545
|
+
isTouched: i,
|
|
1546
|
+
errorMessage: y
|
|
1547
|
+
}), (m, d) => (a(), n("div", $l, [
|
|
1548
|
+
m.label ? (a(), n("label", _l, [
|
|
1549
|
+
l("span", xl, _(m.label), 1)
|
|
1550
|
+
])) : D("", !0),
|
|
1551
|
+
l("input", {
|
|
1552
|
+
ref_key: "inputElement",
|
|
1553
|
+
ref: s,
|
|
1554
|
+
type: m.type,
|
|
1555
|
+
placeholder: m.placeholder,
|
|
1556
|
+
class: I(["input-bordered rounded-md w-full input validator", {
|
|
1557
|
+
// Size classes
|
|
1558
|
+
"input-xs": m.size === "xs",
|
|
1559
|
+
"input-sm": m.size === "sm",
|
|
1560
|
+
"input-md": m.size === "md",
|
|
1561
|
+
"input-lg": m.size === "lg",
|
|
1562
|
+
"input-xl": m.size === "xl",
|
|
1563
|
+
// Color classes (applied only if not in an error state due to validation)
|
|
1564
|
+
// We apply validation classes separately below to ensure they take precedence.
|
|
1565
|
+
"input-neutral": m.color === "neutral" && !f.value,
|
|
1566
|
+
"input-primary": m.color === "primary" && !f.value,
|
|
1567
|
+
"input-secondary": m.color === "secondary" && !f.value,
|
|
1568
|
+
"input-accent": m.color === "accent" && !f.value,
|
|
1569
|
+
"input-info": m.color === "info" && !f.value,
|
|
1570
|
+
"input-success": m.color === "success" && !f.value && !(v.value && i.value),
|
|
1571
|
+
// Avoid conflicting with validation success
|
|
1572
|
+
"input-warning": m.color === "warning" && !f.value,
|
|
1573
|
+
// 'input-error': color === 'error', // Removed from here to avoid conflict
|
|
1574
|
+
// Style classes
|
|
1575
|
+
"input-ghost": m.style === "ghost",
|
|
1576
|
+
// Validation state classes (Applied separately to ensure precedence)
|
|
1577
|
+
"input-error": f.value
|
|
1578
|
+
// Apply error style if validation fails
|
|
1579
|
+
//'input-success': isValid && isTouched, // Apply success style if valid and touched
|
|
1580
|
+
}]),
|
|
1581
|
+
value: m.modelValue,
|
|
1582
|
+
onInput: w,
|
|
1583
|
+
onBlur: P
|
|
1584
|
+
}, null, 42, Sl),
|
|
1585
|
+
f.value ? (a(), n("div", Cl, [
|
|
1586
|
+
l("span", Il, _(y.value), 1)
|
|
1587
|
+
])) : v.value && i.value && m.successMessage ? (a(), n("div", Dl, [
|
|
1588
|
+
l("span", Ml, _(m.successMessage), 1)
|
|
1589
|
+
])) : D("", !0)
|
|
1590
|
+
]));
|
|
1591
|
+
}
|
|
1592
|
+
}), $a = /* @__PURE__ */ B({
|
|
1319
1593
|
__name: "loader",
|
|
1320
1594
|
props: {
|
|
1321
1595
|
loading: { type: Boolean, default: !0 },
|
|
@@ -1323,16 +1597,16 @@ const Ye = ae("SunIcon", [
|
|
|
1323
1597
|
type: { default: "spinner" },
|
|
1324
1598
|
color: { default: "primary" }
|
|
1325
1599
|
},
|
|
1326
|
-
setup(
|
|
1327
|
-
const
|
|
1328
|
-
return
|
|
1329
|
-
() =>
|
|
1600
|
+
setup(r) {
|
|
1601
|
+
const c = r, e = x(c.loading);
|
|
1602
|
+
return j(
|
|
1603
|
+
() => c.loading,
|
|
1330
1604
|
(t) => {
|
|
1331
1605
|
e.value = t;
|
|
1332
1606
|
}
|
|
1333
|
-
), (t, o) => e.value ? (a(),
|
|
1607
|
+
), (t, o) => e.value ? (a(), n("span", {
|
|
1334
1608
|
key: 0,
|
|
1335
|
-
class:
|
|
1609
|
+
class: I(["loading", [
|
|
1336
1610
|
{ "loading-xs": t.size === "xs" },
|
|
1337
1611
|
{ "loading-sm": t.size === "sm" },
|
|
1338
1612
|
{ "loading-md": t.size === "md" },
|
|
@@ -1355,15 +1629,15 @@ const Ye = ae("SunIcon", [
|
|
|
1355
1629
|
{ "text-warning": t.color === "warning" },
|
|
1356
1630
|
{ "text-error": t.color === "error" }
|
|
1357
1631
|
]])
|
|
1358
|
-
}, null, 2)) :
|
|
1632
|
+
}, null, 2)) : D("", !0);
|
|
1359
1633
|
}
|
|
1360
|
-
}),
|
|
1634
|
+
}), Tl = { class: "footer sm:footer-horizontal container" }, Vl = { class: "footer-title" }, Bl = ["href"], Ol = {
|
|
1361
1635
|
key: 0,
|
|
1362
1636
|
class: "sm:hidden w-full"
|
|
1363
|
-
},
|
|
1637
|
+
}, Pl = { class: "border-b-2 border-base-100 last:border-b-0 w-full" }, zl = {
|
|
1364
1638
|
tabindex: "0",
|
|
1365
1639
|
class: "collapse collapse-plus w-full"
|
|
1366
|
-
},
|
|
1640
|
+
}, Al = { class: "collapse-title font-bold text-lg collapsible-footer-title" }, Ul = { class: "collapse-content flex w-full text-sm" }, Ll = { class: "flex flex-col gap-2.5" }, jl = { class: "w-full" }, El = ["href"], Nl = { class: "w-full" }, _a = /* @__PURE__ */ B({
|
|
1367
1641
|
__name: "footer",
|
|
1368
1642
|
props: {
|
|
1369
1643
|
items: {},
|
|
@@ -1371,119 +1645,119 @@ const Ye = ae("SunIcon", [
|
|
|
1371
1645
|
color: {},
|
|
1372
1646
|
collapseOnMobile: { type: Boolean, default: !1 }
|
|
1373
1647
|
},
|
|
1374
|
-
setup(
|
|
1375
|
-
const
|
|
1376
|
-
return (e, t) => (a(),
|
|
1377
|
-
class:
|
|
1648
|
+
setup(r) {
|
|
1649
|
+
const c = r;
|
|
1650
|
+
return (e, t) => (a(), n("div", {
|
|
1651
|
+
class: I(["mx-auto md:px-10 py-10 text-base-content", [e.background ?? "bg-base-200", e.color ?? "text-base-content"]])
|
|
1378
1652
|
}, [
|
|
1379
|
-
|
|
1380
|
-
(a(!0),
|
|
1381
|
-
class:
|
|
1653
|
+
l("footer", Tl, [
|
|
1654
|
+
(a(!0), n(S, null, M(c.items, (o) => (a(), n("nav", {
|
|
1655
|
+
class: I([{ "hidden sm:grid": e.collapseOnMobile }])
|
|
1382
1656
|
}, [
|
|
1383
|
-
|
|
1384
|
-
(a(!0),
|
|
1657
|
+
l("h6", Vl, _(o.title), 1),
|
|
1658
|
+
(a(!0), n(S, null, M(o.items, (s) => (a(), n("a", {
|
|
1385
1659
|
class: "link link-hover",
|
|
1386
1660
|
href: s.link
|
|
1387
|
-
},
|
|
1661
|
+
}, _(s.text), 9, Bl))), 256))
|
|
1388
1662
|
], 2))), 256)),
|
|
1389
|
-
e.collapseOnMobile ? (a(),
|
|
1390
|
-
(a(!0),
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
(a(!0),
|
|
1396
|
-
|
|
1663
|
+
e.collapseOnMobile ? (a(), n("nav", Ol, [
|
|
1664
|
+
(a(!0), n(S, null, M(c.items, (o) => (a(), n("ul", Pl, [
|
|
1665
|
+
l("div", zl, [
|
|
1666
|
+
l("div", Al, _(o.title), 1),
|
|
1667
|
+
l("div", Ul, [
|
|
1668
|
+
l("ul", Ll, [
|
|
1669
|
+
(a(!0), n(S, null, M(o.items, (s) => (a(), n("li", jl, [
|
|
1670
|
+
l("a", {
|
|
1397
1671
|
class: "w-full font-medium link link-hover",
|
|
1398
1672
|
href: s.link
|
|
1399
|
-
},
|
|
1673
|
+
}, _(s.text), 9, El)
|
|
1400
1674
|
]))), 256))
|
|
1401
1675
|
])
|
|
1402
1676
|
])
|
|
1403
1677
|
])
|
|
1404
1678
|
]))), 256))
|
|
1405
|
-
])) :
|
|
1406
|
-
|
|
1407
|
-
|
|
1679
|
+
])) : D("", !0),
|
|
1680
|
+
l("aside", Nl, [
|
|
1681
|
+
C(e.$slots, "default")
|
|
1408
1682
|
])
|
|
1409
1683
|
])
|
|
1410
1684
|
], 2));
|
|
1411
1685
|
}
|
|
1412
|
-
}),
|
|
1413
|
-
function
|
|
1414
|
-
return a(),
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1686
|
+
}), Fl = {}, Rl = { class: "min-h-40 container hero" }, Hl = { class: "px-0! text-center hero-content" }, ql = { class: "mt-9 text-4xl" };
|
|
1687
|
+
function Wl(r, c) {
|
|
1688
|
+
return a(), n("div", Rl, [
|
|
1689
|
+
l("div", Hl, [
|
|
1690
|
+
l("div", null, [
|
|
1691
|
+
l("h1", ql, [
|
|
1692
|
+
C(r.$slots, "title", {}, () => [
|
|
1693
|
+
c[0] || (c[0] = re("hero title"))
|
|
1420
1694
|
])
|
|
1421
1695
|
]),
|
|
1422
|
-
|
|
1423
|
-
|
|
1696
|
+
l("p", null, [
|
|
1697
|
+
C(r.$slots, "description", { class: "py-9" })
|
|
1424
1698
|
]),
|
|
1425
|
-
|
|
1426
|
-
|
|
1699
|
+
C(r.$slots, "call-to-action-block", { class: "max-w-full" }, () => [
|
|
1700
|
+
c[1] || (c[1] = l("button", { class: "btn btn-primary" }, "Call to action", -1))
|
|
1427
1701
|
])
|
|
1428
1702
|
])
|
|
1429
1703
|
])
|
|
1430
1704
|
]);
|
|
1431
1705
|
}
|
|
1432
|
-
const
|
|
1706
|
+
const xa = /* @__PURE__ */ J(Fl, [["render", Wl]]), Kl = { class: "flex flex-row place-content-center gap-4 categories" }, Yl = ["onClick"], Sa = /* @__PURE__ */ B({
|
|
1433
1707
|
__name: "categoryNavigation",
|
|
1434
1708
|
props: {
|
|
1435
1709
|
searchOptions: {},
|
|
1436
1710
|
currentCategory: {}
|
|
1437
1711
|
},
|
|
1438
1712
|
emits: ["update:currentCategory"],
|
|
1439
|
-
setup(
|
|
1440
|
-
const e =
|
|
1713
|
+
setup(r, { emit: c }) {
|
|
1714
|
+
const e = r, t = c;
|
|
1441
1715
|
function o(s) {
|
|
1442
1716
|
t("update:currentCategory", s);
|
|
1443
1717
|
}
|
|
1444
|
-
return (s,
|
|
1445
|
-
(a(!0),
|
|
1446
|
-
key:
|
|
1718
|
+
return (s, i) => (a(), n("div", Kl, [
|
|
1719
|
+
(a(!0), n(S, null, M(e.searchOptions, (y) => (a(), n("div", {
|
|
1720
|
+
key: y.category
|
|
1447
1721
|
}, [
|
|
1448
|
-
|
|
1449
|
-
onClick: (v) => o(
|
|
1450
|
-
class:
|
|
1451
|
-
},
|
|
1722
|
+
l("button", {
|
|
1723
|
+
onClick: (v) => o(y.category),
|
|
1724
|
+
class: I(["truncate btn btn-ghost", { "font-semibold": e.currentCategory === y.category }])
|
|
1725
|
+
}, _(y.category), 11, Yl)
|
|
1452
1726
|
]))), 128))
|
|
1453
1727
|
]));
|
|
1454
1728
|
}
|
|
1455
|
-
}),
|
|
1729
|
+
}), Jl = { class: "md:flex hidden navbar-start" }, Gl = { class: "md:flex justify-center items-center hidden navbar-center" }, Xl = { class: "md:flex hidden navbar-end" }, Zl = { class: "navbar-bottom md:flex hidden" }, Ql = /* @__PURE__ */ B({
|
|
1456
1730
|
__name: "navigationBar",
|
|
1457
1731
|
props: {
|
|
1458
1732
|
isCollapsed: { type: Boolean, default: !0 }
|
|
1459
1733
|
},
|
|
1460
|
-
setup(
|
|
1461
|
-
const
|
|
1462
|
-
return (e, t) => (a(),
|
|
1463
|
-
class:
|
|
1734
|
+
setup(r) {
|
|
1735
|
+
const c = r;
|
|
1736
|
+
return (e, t) => (a(), n("nav", {
|
|
1737
|
+
class: I(["place-items-start border-primary bg-base-100 px-5 py-5 border-b-4 transition-all navbar navigationbar", c.isCollapsed ? "collapsed" : ""])
|
|
1464
1738
|
}, [
|
|
1465
|
-
|
|
1466
|
-
|
|
1739
|
+
l("div", Jl, [
|
|
1740
|
+
C(e.$slots, "start", {}, void 0, !0)
|
|
1467
1741
|
]),
|
|
1468
|
-
|
|
1469
|
-
|
|
1742
|
+
l("div", Gl, [
|
|
1743
|
+
C(e.$slots, "center", {}, void 0, !0)
|
|
1470
1744
|
]),
|
|
1471
|
-
|
|
1472
|
-
|
|
1745
|
+
l("div", Xl, [
|
|
1746
|
+
C(e.$slots, "end", {}, void 0, !0)
|
|
1473
1747
|
]),
|
|
1474
|
-
|
|
1475
|
-
|
|
1748
|
+
l("div", Zl, [
|
|
1749
|
+
C(e.$slots, "bottom", {}, void 0, !0)
|
|
1476
1750
|
])
|
|
1477
1751
|
], 2));
|
|
1478
1752
|
}
|
|
1479
|
-
}),
|
|
1753
|
+
}), Ca = /* @__PURE__ */ J(Ql, [["__scopeId", "data-v-8ddb2b45"]]), ea = {
|
|
1480
1754
|
key: 0,
|
|
1481
1755
|
class: "hidden top-4 right-0 absolute md:flex gap-4"
|
|
1482
|
-
},
|
|
1756
|
+
}, ta = ["onClick", "aria-selected"], la = {
|
|
1483
1757
|
key: 0,
|
|
1484
1758
|
role: "tabpanel",
|
|
1485
1759
|
class: "p-6 border-x-0 border-t-2 border-b-0 border-base-300 max-w-full overflow-x-auto tab-content"
|
|
1486
|
-
},
|
|
1760
|
+
}, aa = { class: "p-6 border-x-0 border-t-2 border-b-0 border-base-300 max-w-full" }, Ia = /* @__PURE__ */ B({
|
|
1487
1761
|
__name: "tab",
|
|
1488
1762
|
props: {
|
|
1489
1763
|
items: {},
|
|
@@ -1492,79 +1766,82 @@ const Kn = /* @__PURE__ */ G(hn, [["render", kn]]), $n = { class: "flex flex-row
|
|
|
1492
1766
|
buttonOnlyMode: { type: Boolean, default: !1 }
|
|
1493
1767
|
},
|
|
1494
1768
|
emits: ["tab-changed"],
|
|
1495
|
-
setup(
|
|
1496
|
-
const e =
|
|
1769
|
+
setup(r, { emit: c }) {
|
|
1770
|
+
const e = r, t = x(e.items[0]), o = c;
|
|
1497
1771
|
function s(v) {
|
|
1498
1772
|
t.value = v, o("tab-changed", v);
|
|
1499
1773
|
}
|
|
1500
|
-
function
|
|
1501
|
-
const
|
|
1502
|
-
s(e.items[
|
|
1774
|
+
function i() {
|
|
1775
|
+
const f = (e.items.indexOf(t.value) + 1) % e.items.length;
|
|
1776
|
+
s(e.items[f]);
|
|
1503
1777
|
}
|
|
1504
|
-
function
|
|
1505
|
-
const
|
|
1506
|
-
s(e.items[
|
|
1778
|
+
function y() {
|
|
1779
|
+
const f = (e.items.indexOf(t.value) - 1 + e.items.length) % e.items.length;
|
|
1780
|
+
s(e.items[f]);
|
|
1507
1781
|
}
|
|
1508
|
-
return
|
|
1782
|
+
return K(() => {
|
|
1509
1783
|
e.items && s(e.items[0]);
|
|
1510
|
-
}),
|
|
1784
|
+
}), be(() => {
|
|
1511
1785
|
e.rotateTabsAfter && e.rotateTabsAfter > 0 && setInterval(() => {
|
|
1512
|
-
|
|
1786
|
+
i();
|
|
1513
1787
|
}, e.rotateTabsAfter * 1e3);
|
|
1514
|
-
}), (v,
|
|
1515
|
-
|
|
1788
|
+
}), (v, f) => (a(), n(S, null, [
|
|
1789
|
+
l("div", {
|
|
1516
1790
|
role: "tablist",
|
|
1517
|
-
class:
|
|
1791
|
+
class: I(["relative tabs-bordered w-full tabs tabs-lg", { "flex-nowrap overflow-x-auto": v.buttonOnlyMode }])
|
|
1518
1792
|
}, [
|
|
1519
|
-
v.withControlls ? (a(),
|
|
1520
|
-
|
|
1521
|
-
onClick:
|
|
1793
|
+
v.withControlls ? (a(), n("div", ea, [
|
|
1794
|
+
l("button", {
|
|
1795
|
+
onClick: f[0] || (f[0] = (w) => y()),
|
|
1522
1796
|
class: "cursor-pointer"
|
|
1523
1797
|
}, "Previous"),
|
|
1524
|
-
|
|
1525
|
-
onClick:
|
|
1798
|
+
l("button", {
|
|
1799
|
+
onClick: f[1] || (f[1] = (w) => i()),
|
|
1526
1800
|
class: "text-primary cursor-pointer"
|
|
1527
1801
|
}, "Next")
|
|
1528
|
-
])) :
|
|
1529
|
-
(a(!0),
|
|
1530
|
-
|
|
1802
|
+
])) : D("", !0),
|
|
1803
|
+
(a(!0), n(S, null, M(v.items, (w) => (a(), n(S, null, [
|
|
1804
|
+
l("a", {
|
|
1531
1805
|
type: "button",
|
|
1532
1806
|
role: "tab",
|
|
1533
|
-
class:
|
|
1534
|
-
onClick: (
|
|
1535
|
-
"aria-selected": t.value ==
|
|
1536
|
-
},
|
|
1537
|
-
v.buttonOnlyMode ?
|
|
1538
|
-
|
|
1807
|
+
class: I(["min-w-max tab", w === t.value ? "bg-primary text-base-100" : ""]),
|
|
1808
|
+
onClick: (P) => s(w),
|
|
1809
|
+
"aria-selected": t.value == w
|
|
1810
|
+
}, _(w), 11, ta),
|
|
1811
|
+
v.buttonOnlyMode ? D("", !0) : (a(), n("div", la, [
|
|
1812
|
+
C(v.$slots, `${w}-tab`)
|
|
1539
1813
|
]))
|
|
1540
1814
|
], 64))), 256))
|
|
1541
1815
|
], 2),
|
|
1542
|
-
|
|
1543
|
-
|
|
1816
|
+
l("div", aa, [
|
|
1817
|
+
C(v.$slots, "default")
|
|
1544
1818
|
])
|
|
1545
1819
|
], 64));
|
|
1546
1820
|
}
|
|
1547
1821
|
});
|
|
1548
1822
|
export {
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1823
|
+
da as Accordion,
|
|
1824
|
+
ha as AdvancedSearch,
|
|
1825
|
+
ca as Avatar,
|
|
1826
|
+
pa as Badge,
|
|
1827
|
+
oa as ButtonComponent,
|
|
1828
|
+
va as Card,
|
|
1829
|
+
fa as Carousel,
|
|
1830
|
+
ma as CarouselItem,
|
|
1831
|
+
Sa as CategoryNavigation,
|
|
1832
|
+
el as DatetimePicker,
|
|
1833
|
+
sa as Dropdown,
|
|
1834
|
+
wa as FilterableSelect,
|
|
1835
|
+
_a as Footer,
|
|
1836
|
+
xa as Hero,
|
|
1837
|
+
ka as InputField,
|
|
1838
|
+
$a as Loader,
|
|
1839
|
+
ra as Modal,
|
|
1840
|
+
Ca as NavigationBar,
|
|
1841
|
+
ga as Rating,
|
|
1842
|
+
ya as Selector,
|
|
1843
|
+
ia as Swap,
|
|
1844
|
+
Ia as Tab,
|
|
1845
|
+
ba as TagInput,
|
|
1846
|
+
ua as ThemeController
|
|
1570
1847
|
};
|