manolis-ui 0.5.3 → 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 +95 -11
- package/dist/manolis-ui.js +995 -714
- package/dist/manolis-ui.umd.cjs +9 -9
- package/dist/style.css +437 -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 He = ({ 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,28 +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
|
-
}),
|
|
420
|
-
key: 1,
|
|
421
|
-
class: "w-full h-32 skeleton"
|
|
422
|
-
}, ot = {
|
|
419
|
+
}), st = ["src", "alt"], rt = {
|
|
423
420
|
key: 0,
|
|
424
421
|
class: "card-body"
|
|
425
|
-
},
|
|
422
|
+
}, it = {
|
|
426
423
|
key: 0,
|
|
427
424
|
class: "group-hover:text-primary text-lg text-left cursor-pointer card-title"
|
|
428
|
-
},
|
|
425
|
+
}, ut = {
|
|
429
426
|
key: 1,
|
|
430
427
|
class: "text-left"
|
|
431
|
-
},
|
|
428
|
+
}, dt = { class: "flex-col flex-nowrap mt-auto card-actions" }, ct = {
|
|
432
429
|
key: 1,
|
|
433
430
|
class: "card-body"
|
|
434
|
-
},
|
|
431
|
+
}, va = /* @__PURE__ */ B({
|
|
435
432
|
__name: "card",
|
|
436
433
|
props: {
|
|
437
434
|
imgUrl: { default: "" },
|
|
@@ -442,53 +439,60 @@ const Ye = ae("SunIcon", [
|
|
|
442
439
|
loading: { type: Boolean, default: !1 },
|
|
443
440
|
class: { default: "" },
|
|
444
441
|
background: { default: "bg-base-100" },
|
|
445
|
-
color: { default: "" }
|
|
442
|
+
color: { default: "" },
|
|
443
|
+
imgHeight: { default: "h-44" }
|
|
446
444
|
},
|
|
447
|
-
setup(
|
|
448
|
-
const
|
|
449
|
-
return
|
|
450
|
-
() =>
|
|
445
|
+
setup(r) {
|
|
446
|
+
const c = r, e = x(c.outlined);
|
|
447
|
+
return j(
|
|
448
|
+
() => c.outlined,
|
|
451
449
|
(t) => {
|
|
452
450
|
e.value = t;
|
|
453
451
|
}
|
|
454
|
-
), (t, o) => (a(),
|
|
455
|
-
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]])
|
|
456
454
|
}, [
|
|
457
|
-
|
|
458
|
-
t.imgUrl || t.imgUrl && !t.loading ? (a(),
|
|
455
|
+
l("figure", null, [
|
|
456
|
+
t.imgUrl || t.imgUrl && !t.loading ? (a(), n("img", {
|
|
459
457
|
key: 0,
|
|
460
458
|
src: t.imgUrl,
|
|
461
459
|
alt: t.alt,
|
|
462
|
-
class:
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
460
|
+
class: I(["rounded-sm w-full object-cover", [
|
|
461
|
+
{
|
|
462
|
+
hidden: t.loading
|
|
463
|
+
},
|
|
464
|
+
t.imgHeight
|
|
465
|
+
]])
|
|
466
|
+
}, null, 10, st)) : D("", !0),
|
|
467
|
+
t.loading && t.imgUrl ? (a(), n("div", {
|
|
468
|
+
key: 1,
|
|
469
|
+
class: I(["w-full skeleton", t.imgHeight])
|
|
470
|
+
}, null, 2)) : D("", !0)
|
|
467
471
|
]),
|
|
468
|
-
t.loading ?
|
|
469
|
-
t.title ? (a(),
|
|
470
|
-
|
|
471
|
-
t.description ? (a(),
|
|
472
|
-
|
|
473
|
-
|
|
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")
|
|
474
478
|
])
|
|
475
479
|
])),
|
|
476
|
-
t.loading ? (a(),
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
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" })
|
|
481
485
|
], -1)
|
|
482
|
-
]))) :
|
|
486
|
+
]))) : D("", !0)
|
|
483
487
|
], 2));
|
|
484
488
|
}
|
|
485
|
-
}),
|
|
489
|
+
}), ye = Symbol("CarouselItemStyle"), pt = { class: "relative h-full" }, vt = {
|
|
486
490
|
key: 0,
|
|
487
491
|
class: "top-1/2 right-5 left-5 z-10 absolute flex justify-between -translate-y-1/2 transform"
|
|
488
|
-
},
|
|
492
|
+
}, ft = {
|
|
489
493
|
key: 1,
|
|
490
494
|
class: "bottom-5 z-10 absolute flex justify-center gap-2 py-2 w-full"
|
|
491
|
-
},
|
|
495
|
+
}, mt = ["onClick", "aria-label"], ht = /* @__PURE__ */ B({
|
|
492
496
|
__name: "carousel",
|
|
493
497
|
props: {
|
|
494
498
|
showIndicators: {
|
|
@@ -503,7 +507,7 @@ const Ye = ae("SunIcon", [
|
|
|
503
507
|
type: String,
|
|
504
508
|
default: "horizontal",
|
|
505
509
|
required: !1,
|
|
506
|
-
validator: (
|
|
510
|
+
validator: (r) => r == "horizontal" || r == "vertical"
|
|
507
511
|
},
|
|
508
512
|
initialSlide: {
|
|
509
513
|
type: Number,
|
|
@@ -512,285 +516,285 @@ const Ye = ae("SunIcon", [
|
|
|
512
516
|
slidesPerView: {
|
|
513
517
|
type: Number,
|
|
514
518
|
default: 1,
|
|
515
|
-
validator: (
|
|
519
|
+
validator: (r) => r >= 1
|
|
516
520
|
},
|
|
517
521
|
gap: {
|
|
518
522
|
type: Number,
|
|
519
523
|
default: 0,
|
|
520
|
-
validator: (
|
|
524
|
+
validator: (r) => r >= 0
|
|
521
525
|
},
|
|
522
526
|
slideDuration: {
|
|
523
527
|
type: Number,
|
|
524
528
|
default: 300,
|
|
525
|
-
validator: (
|
|
529
|
+
validator: (r) => r >= 0
|
|
526
530
|
}
|
|
527
531
|
},
|
|
528
|
-
setup(
|
|
529
|
-
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(() => ({
|
|
530
534
|
width: `calc((100% - ${e.slidesPerView > 1 ? (e.slidesPerView - 1) * e.gap : 0}px) / ${e.slidesPerView})`
|
|
531
535
|
}));
|
|
532
|
-
|
|
536
|
+
Oe(ye, y);
|
|
533
537
|
const v = () => {
|
|
534
|
-
o.value ?
|
|
535
|
-
},
|
|
536
|
-
if (!o.value || e.slidesPerView <= 0 || s.value || (v(),
|
|
537
|
-
const
|
|
538
|
-
if (
|
|
539
|
-
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));
|
|
540
544
|
s.value = !0, g.style.scrollBehavior = "auto";
|
|
541
|
-
const
|
|
545
|
+
const F = e.sliderOrientation === "vertical" ? g.scrollTop : g.scrollLeft, q = N - F;
|
|
542
546
|
if (Math.abs(q) < 1) {
|
|
543
|
-
s.value = !1, t.value =
|
|
547
|
+
s.value = !1, t.value = h;
|
|
544
548
|
return;
|
|
545
549
|
}
|
|
546
|
-
const
|
|
547
|
-
const W =
|
|
548
|
-
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);
|
|
549
553
|
};
|
|
550
|
-
requestAnimationFrame(
|
|
551
|
-
},
|
|
552
|
-
|
|
553
|
-
},
|
|
554
|
-
|
|
555
|
-
},
|
|
556
|
-
|
|
557
|
-
},
|
|
558
|
-
if (!o.value || e.slidesPerView <= 0 || (v(),
|
|
559
|
-
const
|
|
560
|
-
if (
|
|
561
|
-
const
|
|
562
|
-
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;
|
|
563
567
|
};
|
|
564
|
-
return
|
|
568
|
+
return K(() => {
|
|
565
569
|
requestAnimationFrame(() => {
|
|
566
|
-
requestAnimationFrame(
|
|
570
|
+
requestAnimationFrame(m);
|
|
567
571
|
}), v();
|
|
568
|
-
}),
|
|
569
|
-
requestAnimationFrame(() =>
|
|
570
|
-
}),
|
|
572
|
+
}), j(() => e.initialSlide, (d) => {
|
|
573
|
+
requestAnimationFrame(() => f(d));
|
|
574
|
+
}), j(() => [e.slidesPerView, e.gap], () => {
|
|
571
575
|
requestAnimationFrame(() => {
|
|
572
576
|
requestAnimationFrame(() => {
|
|
573
|
-
if (v(),
|
|
574
|
-
const
|
|
575
|
-
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;
|
|
576
580
|
});
|
|
577
581
|
});
|
|
578
|
-
}),
|
|
579
|
-
|
|
582
|
+
}), c({ scrollToSlide: f }), (d, h) => (a(), n("div", pt, [
|
|
583
|
+
l("div", {
|
|
580
584
|
ref_key: "carouselContainer",
|
|
581
585
|
ref: o,
|
|
582
|
-
class:
|
|
583
|
-
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` })
|
|
584
588
|
}, [
|
|
585
|
-
|
|
589
|
+
C(d.$slots, "default", {}, void 0, !0)
|
|
586
590
|
], 6),
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
onClick:
|
|
591
|
+
r.showNavigationButtons ? (a(), n("div", vt, [
|
|
592
|
+
l("div", {
|
|
593
|
+
onClick: P,
|
|
590
594
|
role: "button",
|
|
591
595
|
"aria-label": "Previous Slide"
|
|
592
596
|
}, [
|
|
593
|
-
|
|
594
|
-
|
|
597
|
+
C(d.$slots, "prevButton", {}, () => [
|
|
598
|
+
h[0] || (h[0] = l("button", {
|
|
595
599
|
class: "btn btn-circle",
|
|
596
600
|
tabindex: "-1"
|
|
597
601
|
}, "❮", -1))
|
|
598
602
|
], !0)
|
|
599
603
|
]),
|
|
600
|
-
|
|
601
|
-
onClick:
|
|
604
|
+
l("div", {
|
|
605
|
+
onClick: w,
|
|
602
606
|
role: "button",
|
|
603
607
|
"aria-label": "Next Slide"
|
|
604
608
|
}, [
|
|
605
|
-
|
|
606
|
-
|
|
609
|
+
C(d.$slots, "nextButton", {}, () => [
|
|
610
|
+
h[1] || (h[1] = l("button", {
|
|
607
611
|
class: "btn btn-circle",
|
|
608
612
|
tabindex: "-1"
|
|
609
613
|
}, "❯", -1))
|
|
610
614
|
], !0)
|
|
611
615
|
])
|
|
612
|
-
])) :
|
|
613
|
-
|
|
614
|
-
(a(!0),
|
|
615
|
-
key: `dot-${
|
|
616
|
-
onClick: (
|
|
617
|
-
class:
|
|
618
|
-
"aria-label": `Go to slide ${
|
|
619
|
-
}, null, 10,
|
|
620
|
-
])) :
|
|
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)
|
|
621
625
|
]));
|
|
622
626
|
}
|
|
623
|
-
}),
|
|
624
|
-
const e =
|
|
625
|
-
for (const [t, o] of
|
|
627
|
+
}), J = (r, c) => {
|
|
628
|
+
const e = r.__vccOpts || r;
|
|
629
|
+
for (const [t, o] of c)
|
|
626
630
|
e[t] = o;
|
|
627
631
|
return e;
|
|
628
|
-
},
|
|
632
|
+
}, fa = /* @__PURE__ */ J(ht, [["__scopeId", "data-v-db55a6a5"]]), gt = /* @__PURE__ */ B({
|
|
629
633
|
__name: "carouselItem",
|
|
630
|
-
setup(
|
|
631
|
-
const
|
|
632
|
-
return (e, t) => (a(),
|
|
634
|
+
setup(r) {
|
|
635
|
+
const c = Pe(ye, x({}));
|
|
636
|
+
return (e, t) => (a(), n("div", {
|
|
633
637
|
class: "w-full h-full carousel-item",
|
|
634
|
-
style: ie(
|
|
638
|
+
style: ie(L(c))
|
|
635
639
|
}, [
|
|
636
|
-
|
|
640
|
+
C(e.$slots, "default", {}, void 0, !0)
|
|
637
641
|
], 4));
|
|
638
642
|
}
|
|
639
|
-
}),
|
|
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 = {
|
|
640
644
|
id: "advancedSearchMobile",
|
|
641
645
|
class: "modal"
|
|
642
|
-
},
|
|
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({
|
|
643
647
|
__name: "advancedSearch",
|
|
644
648
|
props: {
|
|
645
649
|
searchOptions: {},
|
|
646
650
|
currentCategory: {}
|
|
647
651
|
},
|
|
648
652
|
emits: ["search", "update:search-data"],
|
|
649
|
-
setup(
|
|
650
|
-
const e =
|
|
651
|
-
datetime:
|
|
652
|
-
},
|
|
653
|
-
function
|
|
654
|
-
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, $;
|
|
655
659
|
if ((g = o.value) != null && g.name) {
|
|
656
660
|
t("update:search-data", {
|
|
657
661
|
tab: o.value.name,
|
|
658
|
-
data:
|
|
662
|
+
data: d
|
|
659
663
|
});
|
|
660
664
|
return;
|
|
661
665
|
}
|
|
662
666
|
if (e.searchOptions) {
|
|
663
|
-
let
|
|
664
|
-
|
|
665
|
-
tab:
|
|
666
|
-
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
|
|
667
671
|
}));
|
|
668
672
|
}
|
|
669
673
|
}
|
|
670
|
-
function
|
|
674
|
+
function w() {
|
|
671
675
|
t("search");
|
|
672
676
|
}
|
|
673
|
-
async function
|
|
674
|
-
v.value && !v.value.contains(
|
|
677
|
+
async function P(d) {
|
|
678
|
+
v.value && !v.value.contains(d.target) && (await me(), o.value = null);
|
|
675
679
|
}
|
|
676
|
-
async function
|
|
680
|
+
async function E() {
|
|
677
681
|
if (typeof window < "u" && window.innerWidth <= 768) {
|
|
678
|
-
const
|
|
679
|
-
|
|
682
|
+
const d = document.getElementById("advancedSearchMobile");
|
|
683
|
+
d ? d.showModal() : console.warn("Modal element not found.");
|
|
680
684
|
}
|
|
681
685
|
}
|
|
682
|
-
async function
|
|
686
|
+
async function m(d) {
|
|
683
687
|
var g;
|
|
684
|
-
o.value =
|
|
685
|
-
const
|
|
686
|
-
if (
|
|
687
|
-
const
|
|
688
|
-
window.innerWidth > 768 ?
|
|
689
|
-
left: `${
|
|
690
|
-
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`,
|
|
691
695
|
transform: "translateX(-50%)"
|
|
692
|
-
} :
|
|
696
|
+
} : y.value = {
|
|
693
697
|
left: "50%",
|
|
694
|
-
top: `${
|
|
698
|
+
top: `${k.bottom - $.top}px`,
|
|
695
699
|
transform: "translateX(-50%)"
|
|
696
700
|
// Center the popup horizontally on mobile
|
|
697
701
|
};
|
|
698
702
|
} else
|
|
699
|
-
console.error("Tab element not found for:",
|
|
703
|
+
console.error("Tab element not found for:", d.name);
|
|
700
704
|
}
|
|
701
|
-
return
|
|
702
|
-
document.addEventListener("click",
|
|
705
|
+
return K(() => {
|
|
706
|
+
document.addEventListener("click", P);
|
|
703
707
|
}), Ae(() => {
|
|
704
|
-
document.removeEventListener("click",
|
|
705
|
-
}), (
|
|
706
|
-
var g,
|
|
707
|
-
return a(),
|
|
708
|
-
|
|
708
|
+
document.removeEventListener("click", P);
|
|
709
|
+
}), (d, h) => {
|
|
710
|
+
var g, k;
|
|
711
|
+
return a(), n(S, null, [
|
|
712
|
+
l("div", {
|
|
709
713
|
ref_key: "searchContainer",
|
|
710
714
|
ref: v,
|
|
711
715
|
class: "w-full"
|
|
712
716
|
}, [
|
|
713
|
-
|
|
717
|
+
l("div", {
|
|
714
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",
|
|
715
|
-
onClick:
|
|
719
|
+
onClick: E
|
|
716
720
|
}, [
|
|
717
|
-
|
|
718
|
-
(a(!0),
|
|
719
|
-
var
|
|
720
|
-
return a(),
|
|
721
|
-
key:
|
|
722
|
-
onClick: (
|
|
723
|
-
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"]),
|
|
724
728
|
ref_for: !0,
|
|
725
|
-
ref: (
|
|
729
|
+
ref: (z) => i.value[$.name] = z
|
|
726
730
|
}, [
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
], 10,
|
|
731
|
+
l("p", wt, _($.name), 1),
|
|
732
|
+
l("p", kt, _($.description), 1)
|
|
733
|
+
], 10, yt);
|
|
730
734
|
}), 128))
|
|
731
735
|
]),
|
|
732
|
-
o.value ? (a(),
|
|
736
|
+
o.value ? (a(), n("div", {
|
|
733
737
|
key: 0,
|
|
734
738
|
class: "absolute flex shadow-sm mt-4 w-fit max-w-full transition-all tab-content",
|
|
735
|
-
style: ie(
|
|
739
|
+
style: ie(y.value)
|
|
736
740
|
}, [
|
|
737
|
-
(a(), pe(
|
|
738
|
-
], 4)) :
|
|
739
|
-
|
|
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", {
|
|
740
744
|
title: "search",
|
|
741
745
|
type: "submit",
|
|
742
746
|
class: "ml-1 btn btn-primary btn-square",
|
|
743
|
-
onClick:
|
|
747
|
+
onClick: w
|
|
744
748
|
}, [
|
|
745
|
-
|
|
749
|
+
Z(L(ge), {
|
|
746
750
|
size: 24,
|
|
747
751
|
color: "white"
|
|
748
752
|
})
|
|
749
753
|
])
|
|
750
754
|
]),
|
|
751
|
-
|
|
752
|
-
|
|
755
|
+
l("div", $t, [
|
|
756
|
+
l("button", {
|
|
753
757
|
title: "search",
|
|
754
|
-
onClick:
|
|
758
|
+
onClick: h[0] || (h[0] = () => {
|
|
755
759
|
})
|
|
756
760
|
}, [
|
|
757
|
-
|
|
761
|
+
Z(L(ge), {
|
|
758
762
|
size: 24,
|
|
759
763
|
color: "white"
|
|
760
764
|
})
|
|
761
765
|
])
|
|
762
766
|
])
|
|
763
767
|
], 512),
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
+
l("dialog", _t, [
|
|
769
|
+
l("div", xt, [
|
|
770
|
+
C(d.$slots, "additionalForMobile", {}, () => [
|
|
771
|
+
l("h3", St, _(d.currentCategory), 1)
|
|
768
772
|
], !0),
|
|
769
|
-
(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", {
|
|
770
774
|
class: "bg-base-200 my-4 collapse",
|
|
771
|
-
key:
|
|
775
|
+
key: $.name
|
|
772
776
|
}, [
|
|
773
|
-
|
|
777
|
+
l("input", {
|
|
774
778
|
type: "radio",
|
|
775
779
|
name: "my-accordion-1",
|
|
776
|
-
checked:
|
|
777
|
-
}, null, 8,
|
|
778
|
-
|
|
779
|
-
re(
|
|
780
|
-
|
|
780
|
+
checked: T === 0
|
|
781
|
+
}, null, 8, Ct),
|
|
782
|
+
l("div", It, [
|
|
783
|
+
re(_($.name) + " ", 1),
|
|
784
|
+
l("p", Dt, _($.description), 1)
|
|
781
785
|
]),
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
(a(), pe(
|
|
785
|
-
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)
|
|
786
790
|
}), null, 16, ["onUpdated"]))
|
|
787
791
|
])
|
|
788
792
|
]))), 128)),
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
793
|
+
l("div", { class: "modal-action" }, [
|
|
794
|
+
l("form", { method: "dialog" }, [
|
|
795
|
+
l("button", {
|
|
792
796
|
class: "btn btn-primary",
|
|
793
|
-
onClick:
|
|
797
|
+
onClick: w
|
|
794
798
|
}, "Close and Search")
|
|
795
799
|
])
|
|
796
800
|
])
|
|
@@ -799,38 +803,38 @@ const Ye = ae("SunIcon", [
|
|
|
799
803
|
], 64);
|
|
800
804
|
};
|
|
801
805
|
}
|
|
802
|
-
}),
|
|
806
|
+
}), ha = /* @__PURE__ */ J(Tt, [["__scopeId", "data-v-08fa37eb"]]), Vt = ["placeholder", "value", "id"], Bt = { class: "btn btn-ghost" }, Ot = ["id"], Pt = {
|
|
803
807
|
key: 0,
|
|
804
808
|
class: "flex justify-between items-center place-content-center mb-4"
|
|
805
|
-
},
|
|
809
|
+
}, zt = ["value"], At = ["value"], Ut = {
|
|
806
810
|
key: 1,
|
|
807
811
|
class: "gap-2 grid grid-cols-7"
|
|
808
|
-
},
|
|
812
|
+
}, Lt = ["onClick"], jt = {
|
|
809
813
|
key: 2,
|
|
810
814
|
class: "mt-4 lg:w-80"
|
|
811
|
-
},
|
|
815
|
+
}, Et = {
|
|
812
816
|
key: 0,
|
|
813
817
|
class: "mb-2 font-bold text-lg"
|
|
814
|
-
}, Nt = { key: 1 },
|
|
818
|
+
}, Nt = { key: 1 }, Ft = {
|
|
815
819
|
key: 1,
|
|
816
820
|
class: "flex gap-4"
|
|
817
|
-
},
|
|
821
|
+
}, Rt = ["value"], Ht = ["value"], qt = {
|
|
818
822
|
key: 2,
|
|
819
823
|
class: "flex flex-col gap-4"
|
|
820
|
-
},
|
|
824
|
+
}, Wt = {
|
|
821
825
|
key: 1,
|
|
822
826
|
class: "flex gap-2"
|
|
823
|
-
},
|
|
827
|
+
}, Kt = ["value"], Yt = ["value"], Jt = {
|
|
824
828
|
key: 1,
|
|
825
829
|
class: "flex gap-2"
|
|
826
|
-
},
|
|
830
|
+
}, Gt = ["value"], Xt = ["value"], Zt = { class: "flex gap-2 mt-4" }, Qt = {
|
|
827
831
|
__name: "datetimePicker",
|
|
828
832
|
props: {
|
|
829
833
|
mode: {
|
|
830
834
|
type: String,
|
|
831
835
|
default: "datetime",
|
|
832
836
|
// 'datetime', 'date', 'time'
|
|
833
|
-
validator: (
|
|
837
|
+
validator: (r) => ["datetime", "date", "time"].includes(r)
|
|
834
838
|
},
|
|
835
839
|
range: {
|
|
836
840
|
type: Boolean,
|
|
@@ -854,132 +858,132 @@ const Ye = ae("SunIcon", [
|
|
|
854
858
|
}
|
|
855
859
|
},
|
|
856
860
|
emits: ["updated"],
|
|
857
|
-
setup(
|
|
858
|
-
const e =
|
|
859
|
-
|
|
860
|
-
|
|
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);
|
|
861
865
|
});
|
|
862
|
-
const t =
|
|
863
|
-
|
|
864
|
-
const g =
|
|
865
|
-
const
|
|
866
|
-
return Array.from({ length:
|
|
867
|
-
}),
|
|
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(
|
|
868
872
|
() => typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
869
873
|
navigator.userAgent
|
|
870
874
|
)
|
|
871
|
-
),
|
|
872
|
-
const
|
|
873
|
-
return Array.from({ length: 100 }, (
|
|
874
|
-
}),
|
|
875
|
-
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 "";
|
|
876
880
|
if (e.range && s.value.start && s.value.end) {
|
|
877
|
-
const
|
|
878
|
-
return `${
|
|
881
|
+
const p = s.value.start.toLocaleDateString("en-US"), b = s.value.end.toLocaleDateString("en-US");
|
|
882
|
+
return `${p} - ${b}`;
|
|
879
883
|
}
|
|
880
884
|
return !e.range && s.value ? s.value.toLocaleDateString("en-US") : "";
|
|
881
|
-
}), W = (
|
|
882
|
-
if (!
|
|
883
|
-
const
|
|
884
|
-
var
|
|
885
|
-
const
|
|
886
|
-
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")}`;
|
|
887
891
|
};
|
|
888
|
-
return e.range ? `${
|
|
889
|
-
}),
|
|
890
|
-
const
|
|
891
|
-
return `${
|
|
892
|
-
}),
|
|
893
|
-
|
|
894
|
-
},
|
|
895
|
-
s.value = e.range ? { start: null, end: null } : null,
|
|
896
|
-
},
|
|
897
|
-
e.range ? s.value.start && s.value.end ? s.value = { start:
|
|
898
|
-
},
|
|
899
|
-
|
|
900
|
-
const
|
|
901
|
-
return
|
|
902
|
-
},
|
|
903
|
-
if (
|
|
904
|
-
const
|
|
905
|
-
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;
|
|
906
910
|
}
|
|
907
911
|
return !1;
|
|
908
|
-
}, Te = () => {
|
|
909
|
-
let u = g.value - 1;
|
|
910
|
-
u < 0 && (u = 11, v.value--), h.value = J[u], V();
|
|
911
912
|
}, Me = () => {
|
|
912
|
-
let
|
|
913
|
-
|
|
914
|
-
},
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
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();
|
|
922
926
|
};
|
|
923
|
-
e.range ? (
|
|
927
|
+
e.range ? (p.from = b(
|
|
924
928
|
s.value.start,
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
),
|
|
929
|
+
f.value.start,
|
|
930
|
+
w.value.start
|
|
931
|
+
), p.to = b(
|
|
928
932
|
s.value.end,
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
)) :
|
|
933
|
+
f.value.end,
|
|
934
|
+
w.value.end
|
|
935
|
+
)) : p = b(
|
|
932
936
|
s.value,
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
), t("updated",
|
|
937
|
+
f.value,
|
|
938
|
+
w.value
|
|
939
|
+
), t("updated", p);
|
|
936
940
|
};
|
|
937
|
-
return
|
|
941
|
+
return K(() => {
|
|
938
942
|
e.initialDate && (e.range && e.initialDate.start && e.initialDate.end ? s.value = {
|
|
939
943
|
start: new Date(e.initialDate.start),
|
|
940
944
|
end: new Date(e.initialDate.end)
|
|
941
|
-
} : e.initialDate.start && (s.value = { start: new Date(e.initialDate.start) })), e.range ? (
|
|
942
|
-
}), 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", {
|
|
943
947
|
class: "inline-block relative w-full lg:w-[360px]",
|
|
944
948
|
ref_key: "pickerContainer",
|
|
945
|
-
ref:
|
|
949
|
+
ref: P
|
|
946
950
|
}, [
|
|
947
|
-
|
|
951
|
+
l("div", {
|
|
948
952
|
class: "flex items-center gap-2 cursor-pointer",
|
|
949
|
-
onClick:
|
|
953
|
+
onClick: we
|
|
950
954
|
}, [
|
|
951
|
-
|
|
952
|
-
|
|
955
|
+
r.popup ? C(p.$slots, "default", { key: 0 }, () => [
|
|
956
|
+
l("input", {
|
|
953
957
|
type: "text",
|
|
954
958
|
class: "input-bordered w-full cursor-pointer input",
|
|
955
|
-
placeholder:
|
|
956
|
-
value:
|
|
959
|
+
placeholder: r.placeholder,
|
|
960
|
+
value: ee.value,
|
|
957
961
|
readonly: "",
|
|
958
|
-
id:
|
|
959
|
-
}, null, 8,
|
|
960
|
-
|
|
961
|
-
|
|
962
|
+
id: E.value
|
|
963
|
+
}, null, 8, Vt),
|
|
964
|
+
l("button", Bt, [
|
|
965
|
+
Z(L(Ye))
|
|
962
966
|
])
|
|
963
|
-
], !0) :
|
|
967
|
+
], !0) : D("", !0)
|
|
964
968
|
]),
|
|
965
|
-
o.value || !
|
|
969
|
+
o.value || !r.popup ? (a(), n("div", {
|
|
966
970
|
key: 0,
|
|
967
|
-
class:
|
|
968
|
-
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
|
|
969
973
|
}, [
|
|
970
|
-
|
|
971
|
-
|
|
974
|
+
d.value ? (a(), n("div", Pt, [
|
|
975
|
+
l("button", {
|
|
972
976
|
class: "hidden md:block btn-outline btn btn-primary md:btn-sm",
|
|
973
|
-
onClick:
|
|
974
|
-
},
|
|
975
|
-
|
|
977
|
+
onClick: Me
|
|
978
|
+
}, b[11] || (b[11] = [
|
|
979
|
+
l("svg", {
|
|
976
980
|
xmlns: "http://www.w3.org/2000/svg",
|
|
977
981
|
class: "w-4 h-4",
|
|
978
982
|
fill: "none",
|
|
979
983
|
viewBox: "0 0 24 24",
|
|
980
984
|
stroke: "currentColor"
|
|
981
985
|
}, [
|
|
982
|
-
|
|
986
|
+
l("path", {
|
|
983
987
|
"stroke-linecap": "round",
|
|
984
988
|
"stroke-linejoin": "round",
|
|
985
989
|
"stroke-width": "2",
|
|
@@ -987,42 +991,42 @@ const Ye = ae("SunIcon", [
|
|
|
987
991
|
})
|
|
988
992
|
], -1)
|
|
989
993
|
])),
|
|
990
|
-
|
|
994
|
+
A(l("select", {
|
|
991
995
|
class: "border-none w-fit select",
|
|
992
|
-
"onUpdate:modelValue":
|
|
993
|
-
onChange:
|
|
996
|
+
"onUpdate:modelValue": b[0] || (b[0] = (u) => y.value = u),
|
|
997
|
+
onChange: O
|
|
994
998
|
}, [
|
|
995
|
-
(a(),
|
|
996
|
-
key:
|
|
997
|
-
value:
|
|
998
|
-
},
|
|
999
|
+
(a(), n(S, null, M(Y, (u, R) => l("option", {
|
|
1000
|
+
key: R,
|
|
1001
|
+
value: u
|
|
1002
|
+
}, _(u), 9, zt)), 64))
|
|
999
1003
|
], 544), [
|
|
1000
|
-
[
|
|
1004
|
+
[H, y.value]
|
|
1001
1005
|
]),
|
|
1002
|
-
|
|
1006
|
+
A(l("select", {
|
|
1003
1007
|
class: "border-none w-24 select",
|
|
1004
|
-
"onUpdate:modelValue":
|
|
1005
|
-
onChange:
|
|
1008
|
+
"onUpdate:modelValue": b[1] || (b[1] = (u) => v.value = u),
|
|
1009
|
+
onChange: O
|
|
1006
1010
|
}, [
|
|
1007
|
-
(a(!0),
|
|
1008
|
-
key:
|
|
1009
|
-
value:
|
|
1010
|
-
},
|
|
1011
|
+
(a(!0), n(S, null, M(Q.value, (u) => (a(), n("option", {
|
|
1012
|
+
key: u,
|
|
1013
|
+
value: u
|
|
1014
|
+
}, _(u), 9, At))), 128))
|
|
1011
1015
|
], 544), [
|
|
1012
|
-
[
|
|
1016
|
+
[H, v.value]
|
|
1013
1017
|
]),
|
|
1014
|
-
|
|
1018
|
+
l("button", {
|
|
1015
1019
|
class: "hidden md:block btn-outline btn btn-primary md:btn-sm",
|
|
1016
|
-
onClick:
|
|
1017
|
-
},
|
|
1018
|
-
|
|
1020
|
+
onClick: Te
|
|
1021
|
+
}, b[12] || (b[12] = [
|
|
1022
|
+
l("svg", {
|
|
1019
1023
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1020
1024
|
class: "w-4 h-4",
|
|
1021
1025
|
fill: "none",
|
|
1022
1026
|
viewBox: "0 0 24 24",
|
|
1023
1027
|
stroke: "currentColor"
|
|
1024
1028
|
}, [
|
|
1025
|
-
|
|
1029
|
+
l("path", {
|
|
1026
1030
|
"stroke-linecap": "round",
|
|
1027
1031
|
"stroke-linejoin": "round",
|
|
1028
1032
|
"stroke-width": "2",
|
|
@@ -1030,190 +1034,190 @@ const Ye = ae("SunIcon", [
|
|
|
1030
1034
|
})
|
|
1031
1035
|
], -1)
|
|
1032
1036
|
]))
|
|
1033
|
-
])) :
|
|
1034
|
-
|
|
1035
|
-
(a(),
|
|
1036
|
-
key:
|
|
1037
|
+
])) : D("", !0),
|
|
1038
|
+
d.value ? (a(), n("div", Ut, [
|
|
1039
|
+
(a(), n(S, null, M(k, (u) => l("div", {
|
|
1040
|
+
key: u,
|
|
1037
1041
|
class: "text-center"
|
|
1038
|
-
},
|
|
1039
|
-
(a(!0),
|
|
1040
|
-
key:
|
|
1042
|
+
}, _(u), 1)), 64)),
|
|
1043
|
+
(a(!0), n(S, null, M(z.value, (u) => (a(), n("div", {
|
|
1044
|
+
key: u,
|
|
1041
1045
|
class: "text-center"
|
|
1042
1046
|
}))), 128)),
|
|
1043
|
-
(a(!0),
|
|
1044
|
-
key:
|
|
1045
|
-
class:
|
|
1046
|
-
"bg-primary text-primary-content":
|
|
1047
|
-
today: Se(
|
|
1048
|
-
"range-start bg-primary text-primary-content":
|
|
1049
|
-
"range-end bg-primary text-primary-content":
|
|
1050
|
-
"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)
|
|
1051
1055
|
}]),
|
|
1052
|
-
onClick: (
|
|
1053
|
-
},
|
|
1054
|
-
])) :
|
|
1055
|
-
|
|
1056
|
-
e.range ?
|
|
1057
|
-
e.range ? (a(),
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
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", {
|
|
1061
1065
|
key: 0,
|
|
1062
1066
|
type: "time",
|
|
1063
1067
|
class: "input-bordered w-full input",
|
|
1064
|
-
"onUpdate:modelValue":
|
|
1065
|
-
onChange:
|
|
1068
|
+
"onUpdate:modelValue": b[5] || (b[5] = (u) => i.value.start = u),
|
|
1069
|
+
onChange: O
|
|
1066
1070
|
}, null, 544)), [
|
|
1067
|
-
[
|
|
1068
|
-
]) : (a(),
|
|
1069
|
-
|
|
1071
|
+
[X, i.value.start]
|
|
1072
|
+
]) : (a(), n("div", Wt, [
|
|
1073
|
+
A(l("select", {
|
|
1070
1074
|
class: "w-full select-bordered select",
|
|
1071
|
-
"onUpdate:modelValue":
|
|
1072
|
-
onChange:
|
|
1075
|
+
"onUpdate:modelValue": b[6] || (b[6] = (u) => f.value.start = u),
|
|
1076
|
+
onChange: O
|
|
1073
1077
|
}, [
|
|
1074
|
-
(a(!0),
|
|
1075
|
-
key:
|
|
1076
|
-
value:
|
|
1077
|
-
},
|
|
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))
|
|
1078
1082
|
], 544), [
|
|
1079
1083
|
[
|
|
1080
|
-
|
|
1081
|
-
|
|
1084
|
+
H,
|
|
1085
|
+
f.value.start,
|
|
1082
1086
|
void 0,
|
|
1083
1087
|
{ number: !0 }
|
|
1084
1088
|
]
|
|
1085
1089
|
]),
|
|
1086
|
-
|
|
1090
|
+
A(l("select", {
|
|
1087
1091
|
class: "w-full select-bordered select",
|
|
1088
|
-
"onUpdate:modelValue":
|
|
1089
|
-
onChange:
|
|
1092
|
+
"onUpdate:modelValue": b[7] || (b[7] = (u) => w.value.start = u),
|
|
1093
|
+
onChange: O
|
|
1090
1094
|
}, [
|
|
1091
|
-
(a(!0),
|
|
1092
|
-
key:
|
|
1093
|
-
value:
|
|
1094
|
-
},
|
|
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))
|
|
1095
1099
|
], 544), [
|
|
1096
1100
|
[
|
|
1097
|
-
|
|
1098
|
-
|
|
1101
|
+
H,
|
|
1102
|
+
w.value.start,
|
|
1099
1103
|
void 0,
|
|
1100
1104
|
{ number: !0 }
|
|
1101
1105
|
]
|
|
1102
1106
|
])
|
|
1103
1107
|
]))
|
|
1104
1108
|
]),
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
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", {
|
|
1108
1112
|
key: 0,
|
|
1109
1113
|
type: "time",
|
|
1110
1114
|
class: "input-bordered w-full input",
|
|
1111
|
-
"onUpdate:modelValue":
|
|
1112
|
-
onChange:
|
|
1115
|
+
"onUpdate:modelValue": b[8] || (b[8] = (u) => i.value.end = u),
|
|
1116
|
+
onChange: O
|
|
1113
1117
|
}, null, 544)), [
|
|
1114
|
-
[
|
|
1115
|
-
]) : (a(),
|
|
1116
|
-
|
|
1118
|
+
[X, i.value.end]
|
|
1119
|
+
]) : (a(), n("div", Jt, [
|
|
1120
|
+
A(l("select", {
|
|
1117
1121
|
class: "w-full select-bordered select",
|
|
1118
|
-
"onUpdate:modelValue":
|
|
1119
|
-
onChange:
|
|
1122
|
+
"onUpdate:modelValue": b[9] || (b[9] = (u) => f.value.end = u),
|
|
1123
|
+
onChange: O
|
|
1120
1124
|
}, [
|
|
1121
|
-
(a(!0),
|
|
1122
|
-
key:
|
|
1123
|
-
value:
|
|
1124
|
-
},
|
|
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))
|
|
1125
1129
|
], 544), [
|
|
1126
1130
|
[
|
|
1127
|
-
|
|
1128
|
-
|
|
1131
|
+
H,
|
|
1132
|
+
f.value.end,
|
|
1129
1133
|
void 0,
|
|
1130
1134
|
{ number: !0 }
|
|
1131
1135
|
]
|
|
1132
1136
|
]),
|
|
1133
|
-
|
|
1137
|
+
A(l("select", {
|
|
1134
1138
|
class: "w-full select-bordered select",
|
|
1135
|
-
"onUpdate:modelValue":
|
|
1136
|
-
onChange:
|
|
1139
|
+
"onUpdate:modelValue": b[10] || (b[10] = (u) => w.value.end = u),
|
|
1140
|
+
onChange: O
|
|
1137
1141
|
}, [
|
|
1138
|
-
(a(!0),
|
|
1139
|
-
key:
|
|
1140
|
-
value:
|
|
1141
|
-
},
|
|
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))
|
|
1142
1146
|
], 544), [
|
|
1143
1147
|
[
|
|
1144
|
-
|
|
1145
|
-
|
|
1148
|
+
H,
|
|
1149
|
+
w.value.end,
|
|
1146
1150
|
void 0,
|
|
1147
1151
|
{ number: !0 }
|
|
1148
1152
|
]
|
|
1149
1153
|
])
|
|
1150
1154
|
]))
|
|
1151
1155
|
])
|
|
1152
|
-
])) : (a(),
|
|
1153
|
-
q.value ?
|
|
1156
|
+
])) : (a(), n("div", Nt, [
|
|
1157
|
+
q.value ? A((a(), n("input", {
|
|
1154
1158
|
key: 0,
|
|
1155
1159
|
type: "time",
|
|
1156
1160
|
class: "input-bordered w-full input",
|
|
1157
|
-
"onUpdate:modelValue":
|
|
1158
|
-
onChange:
|
|
1161
|
+
"onUpdate:modelValue": b[2] || (b[2] = (u) => i.value = u),
|
|
1162
|
+
onChange: O
|
|
1159
1163
|
}, null, 544)), [
|
|
1160
|
-
[
|
|
1161
|
-
]) : (a(),
|
|
1162
|
-
|
|
1164
|
+
[X, i.value]
|
|
1165
|
+
]) : (a(), n("div", Ft, [
|
|
1166
|
+
A(l("select", {
|
|
1163
1167
|
class: "w-full select-bordered select",
|
|
1164
|
-
"onUpdate:modelValue":
|
|
1165
|
-
onChange:
|
|
1168
|
+
"onUpdate:modelValue": b[3] || (b[3] = (u) => f.value = u),
|
|
1169
|
+
onChange: O
|
|
1166
1170
|
}, [
|
|
1167
|
-
(a(!0),
|
|
1168
|
-
key:
|
|
1169
|
-
value:
|
|
1170
|
-
},
|
|
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))
|
|
1171
1175
|
], 544), [
|
|
1172
1176
|
[
|
|
1173
|
-
|
|
1174
|
-
|
|
1177
|
+
H,
|
|
1178
|
+
f.value,
|
|
1175
1179
|
void 0,
|
|
1176
1180
|
{ number: !0 }
|
|
1177
1181
|
]
|
|
1178
1182
|
]),
|
|
1179
|
-
|
|
1183
|
+
A(l("select", {
|
|
1180
1184
|
class: "w-full select-bordered select",
|
|
1181
|
-
"onUpdate:modelValue":
|
|
1182
|
-
onChange:
|
|
1185
|
+
"onUpdate:modelValue": b[4] || (b[4] = (u) => w.value = u),
|
|
1186
|
+
onChange: O
|
|
1183
1187
|
}, [
|
|
1184
|
-
(a(!0),
|
|
1185
|
-
key:
|
|
1186
|
-
value:
|
|
1187
|
-
},
|
|
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))
|
|
1188
1192
|
], 544), [
|
|
1189
1193
|
[
|
|
1190
|
-
|
|
1191
|
-
|
|
1194
|
+
H,
|
|
1195
|
+
w.value,
|
|
1192
1196
|
void 0,
|
|
1193
1197
|
{ number: !0 }
|
|
1194
1198
|
]
|
|
1195
1199
|
])
|
|
1196
1200
|
]))
|
|
1197
1201
|
]))
|
|
1198
|
-
])) :
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
class:
|
|
1202
|
-
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
|
|
1203
1207
|
}, "Clear", 2),
|
|
1204
|
-
|
|
1208
|
+
r.popup ? (a(), n("button", {
|
|
1205
1209
|
key: 0,
|
|
1206
1210
|
class: "btn btn-primary btn-wide",
|
|
1207
1211
|
onClick: ue
|
|
1208
|
-
}, "Close")) :
|
|
1212
|
+
}, "Close")) : D("", !0)
|
|
1209
1213
|
])
|
|
1210
|
-
], 10, Ot)) :
|
|
1214
|
+
], 10, Ot)) : D("", !0)
|
|
1211
1215
|
], 512));
|
|
1212
1216
|
}
|
|
1213
|
-
},
|
|
1217
|
+
}, el = /* @__PURE__ */ J(Qt, [["__scopeId", "data-v-488ecabe"]]), tl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1214
1218
|
__proto__: null,
|
|
1215
|
-
default:
|
|
1216
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1219
|
+
default: el
|
|
1220
|
+
}, Symbol.toStringTag, { value: "Module" })), ll = ["value", "checked", "onChange", "disabled"], ga = /* @__PURE__ */ B({
|
|
1217
1221
|
__name: "rating",
|
|
1218
1222
|
props: {
|
|
1219
1223
|
initialRating: { default: 0 },
|
|
@@ -1222,10 +1226,10 @@ const Ye = ae("SunIcon", [
|
|
|
1222
1226
|
isInteractive: { type: Boolean, default: !1 },
|
|
1223
1227
|
size: { default: "sm" }
|
|
1224
1228
|
},
|
|
1225
|
-
setup(
|
|
1226
|
-
const
|
|
1227
|
-
|
|
1228
|
-
() =>
|
|
1229
|
+
setup(r) {
|
|
1230
|
+
const c = r, e = x(c.initialRating);
|
|
1231
|
+
j(
|
|
1232
|
+
() => c.initialRating,
|
|
1229
1233
|
(o) => {
|
|
1230
1234
|
e.value = o;
|
|
1231
1235
|
}
|
|
@@ -1233,30 +1237,30 @@ const Ye = ae("SunIcon", [
|
|
|
1233
1237
|
const t = (o) => {
|
|
1234
1238
|
e.value = o;
|
|
1235
1239
|
};
|
|
1236
|
-
return (o, s) => (a(),
|
|
1237
|
-
class:
|
|
1238
|
-
`rating-${
|
|
1240
|
+
return (o, s) => (a(), n("div", {
|
|
1241
|
+
class: I(["rating", [
|
|
1242
|
+
`rating-${c.size}`,
|
|
1239
1243
|
{ "rating-half": o.halfStars }
|
|
1240
1244
|
]])
|
|
1241
1245
|
}, [
|
|
1242
|
-
(a(!0),
|
|
1243
|
-
key:
|
|
1246
|
+
(a(!0), n(S, null, M(o.numberOfStars * (o.halfStars ? 2 : 1), (i) => (a(), n("input", {
|
|
1247
|
+
key: i,
|
|
1244
1248
|
type: "radio",
|
|
1245
|
-
value: o.halfStars ?
|
|
1246
|
-
checked: e.value === (o.halfStars ?
|
|
1247
|
-
onChange: (
|
|
1248
|
-
class:
|
|
1249
|
-
"bg-yellow-400": e.value >= (o.halfStars ?
|
|
1250
|
-
"mask-half-1": o.halfStars &&
|
|
1251
|
-
"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,
|
|
1252
1256
|
"cursor-pointer": o.isInteractive,
|
|
1253
1257
|
"cursor-default": !o.isInteractive
|
|
1254
1258
|
}]),
|
|
1255
1259
|
disabled: !o.isInteractive
|
|
1256
|
-
}, null, 42,
|
|
1260
|
+
}, null, 42, ll))), 128))
|
|
1257
1261
|
], 2));
|
|
1258
1262
|
}
|
|
1259
|
-
}),
|
|
1263
|
+
}), al = { class: "badge" }, nl = ["onClick"], ol = { class: "opacity-75" }, sl = ["placeholder"], ba = /* @__PURE__ */ B({
|
|
1260
1264
|
__name: "taginput",
|
|
1261
1265
|
props: {
|
|
1262
1266
|
modelValue: {},
|
|
@@ -1265,53 +1269,327 @@ const Ye = ae("SunIcon", [
|
|
|
1265
1269
|
class: {}
|
|
1266
1270
|
},
|
|
1267
1271
|
emits: ["update:modelValue"],
|
|
1268
|
-
setup(
|
|
1269
|
-
const e =
|
|
1270
|
-
const
|
|
1271
|
-
|
|
1272
|
-
},
|
|
1273
|
-
o.value = o.value.filter((
|
|
1274
|
-
},
|
|
1275
|
-
|
|
1276
|
-
},
|
|
1277
|
-
|
|
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();
|
|
1278
1282
|
};
|
|
1279
|
-
return
|
|
1280
|
-
o.value = [...
|
|
1281
|
-
}), (
|
|
1282
|
-
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])
|
|
1283
1287
|
}, [
|
|
1284
|
-
(a(!0),
|
|
1285
|
-
key:
|
|
1286
|
-
tag:
|
|
1288
|
+
(a(!0), n(S, null, M(o.value, (h) => C(m.$slots, "tag", {
|
|
1289
|
+
key: h,
|
|
1290
|
+
tag: h
|
|
1287
1291
|
}, () => [
|
|
1288
|
-
|
|
1289
|
-
|
|
1292
|
+
l("div", al, [
|
|
1293
|
+
l("button", {
|
|
1290
1294
|
class: "!px-1 !py-0 h-fit font-bold cursor-pointer",
|
|
1291
|
-
onClick: (g) =>
|
|
1295
|
+
onClick: (g) => w(h),
|
|
1292
1296
|
"aria-label": "Remove tag"
|
|
1293
|
-
}, "X", 8,
|
|
1294
|
-
|
|
1297
|
+
}, "X", 8, nl),
|
|
1298
|
+
l("span", ol, _(h), 1)
|
|
1295
1299
|
])
|
|
1296
1300
|
])), 128)),
|
|
1297
|
-
|
|
1298
|
-
v.value ?
|
|
1301
|
+
C(m.$slots, "input", { showInput: v.value }, () => [
|
|
1302
|
+
v.value ? A((a(), n("input", {
|
|
1299
1303
|
key: 0,
|
|
1300
1304
|
ref_key: "inputRef",
|
|
1301
|
-
ref:
|
|
1302
|
-
"onUpdate:modelValue":
|
|
1305
|
+
ref: i,
|
|
1306
|
+
"onUpdate:modelValue": d[0] || (d[0] = (h) => y.value = h),
|
|
1303
1307
|
type: "text",
|
|
1304
|
-
placeholder:
|
|
1308
|
+
placeholder: m.placeholder || "Type here",
|
|
1305
1309
|
class: "h-full input input-ghost",
|
|
1306
|
-
onKeydown:
|
|
1310
|
+
onKeydown: E,
|
|
1307
1311
|
"aria-label": "Add tags"
|
|
1308
|
-
}, null, 40,
|
|
1309
|
-
[
|
|
1310
|
-
]) :
|
|
1312
|
+
}, null, 40, sl)), [
|
|
1313
|
+
[X, y.value]
|
|
1314
|
+
]) : D("", !0)
|
|
1311
1315
|
])
|
|
1312
1316
|
], 2));
|
|
1313
1317
|
}
|
|
1314
|
-
}),
|
|
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({
|
|
1315
1593
|
__name: "loader",
|
|
1316
1594
|
props: {
|
|
1317
1595
|
loading: { type: Boolean, default: !0 },
|
|
@@ -1319,16 +1597,16 @@ const Ye = ae("SunIcon", [
|
|
|
1319
1597
|
type: { default: "spinner" },
|
|
1320
1598
|
color: { default: "primary" }
|
|
1321
1599
|
},
|
|
1322
|
-
setup(
|
|
1323
|
-
const
|
|
1324
|
-
return
|
|
1325
|
-
() =>
|
|
1600
|
+
setup(r) {
|
|
1601
|
+
const c = r, e = x(c.loading);
|
|
1602
|
+
return j(
|
|
1603
|
+
() => c.loading,
|
|
1326
1604
|
(t) => {
|
|
1327
1605
|
e.value = t;
|
|
1328
1606
|
}
|
|
1329
|
-
), (t, o) => e.value ? (a(),
|
|
1607
|
+
), (t, o) => e.value ? (a(), n("span", {
|
|
1330
1608
|
key: 0,
|
|
1331
|
-
class:
|
|
1609
|
+
class: I(["loading", [
|
|
1332
1610
|
{ "loading-xs": t.size === "xs" },
|
|
1333
1611
|
{ "loading-sm": t.size === "sm" },
|
|
1334
1612
|
{ "loading-md": t.size === "md" },
|
|
@@ -1351,15 +1629,15 @@ const Ye = ae("SunIcon", [
|
|
|
1351
1629
|
{ "text-warning": t.color === "warning" },
|
|
1352
1630
|
{ "text-error": t.color === "error" }
|
|
1353
1631
|
]])
|
|
1354
|
-
}, null, 2)) :
|
|
1632
|
+
}, null, 2)) : D("", !0);
|
|
1355
1633
|
}
|
|
1356
|
-
}),
|
|
1634
|
+
}), Tl = { class: "footer sm:footer-horizontal container" }, Vl = { class: "footer-title" }, Bl = ["href"], Ol = {
|
|
1357
1635
|
key: 0,
|
|
1358
1636
|
class: "sm:hidden w-full"
|
|
1359
|
-
},
|
|
1637
|
+
}, Pl = { class: "border-b-2 border-base-100 last:border-b-0 w-full" }, zl = {
|
|
1360
1638
|
tabindex: "0",
|
|
1361
1639
|
class: "collapse collapse-plus w-full"
|
|
1362
|
-
},
|
|
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({
|
|
1363
1641
|
__name: "footer",
|
|
1364
1642
|
props: {
|
|
1365
1643
|
items: {},
|
|
@@ -1367,119 +1645,119 @@ const Ye = ae("SunIcon", [
|
|
|
1367
1645
|
color: {},
|
|
1368
1646
|
collapseOnMobile: { type: Boolean, default: !1 }
|
|
1369
1647
|
},
|
|
1370
|
-
setup(
|
|
1371
|
-
const
|
|
1372
|
-
return (e, t) => (a(),
|
|
1373
|
-
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"]])
|
|
1374
1652
|
}, [
|
|
1375
|
-
|
|
1376
|
-
(a(!0),
|
|
1377
|
-
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 }])
|
|
1378
1656
|
}, [
|
|
1379
|
-
|
|
1380
|
-
(a(!0),
|
|
1657
|
+
l("h6", Vl, _(o.title), 1),
|
|
1658
|
+
(a(!0), n(S, null, M(o.items, (s) => (a(), n("a", {
|
|
1381
1659
|
class: "link link-hover",
|
|
1382
1660
|
href: s.link
|
|
1383
|
-
},
|
|
1661
|
+
}, _(s.text), 9, Bl))), 256))
|
|
1384
1662
|
], 2))), 256)),
|
|
1385
|
-
e.collapseOnMobile ? (a(),
|
|
1386
|
-
(a(!0),
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
(a(!0),
|
|
1392
|
-
|
|
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", {
|
|
1393
1671
|
class: "w-full font-medium link link-hover",
|
|
1394
1672
|
href: s.link
|
|
1395
|
-
},
|
|
1673
|
+
}, _(s.text), 9, El)
|
|
1396
1674
|
]))), 256))
|
|
1397
1675
|
])
|
|
1398
1676
|
])
|
|
1399
1677
|
])
|
|
1400
1678
|
]))), 256))
|
|
1401
|
-
])) :
|
|
1402
|
-
|
|
1403
|
-
|
|
1679
|
+
])) : D("", !0),
|
|
1680
|
+
l("aside", Nl, [
|
|
1681
|
+
C(e.$slots, "default")
|
|
1404
1682
|
])
|
|
1405
1683
|
])
|
|
1406
1684
|
], 2));
|
|
1407
1685
|
}
|
|
1408
|
-
}),
|
|
1409
|
-
function
|
|
1410
|
-
return a(),
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
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"))
|
|
1416
1694
|
])
|
|
1417
1695
|
]),
|
|
1418
|
-
|
|
1419
|
-
|
|
1696
|
+
l("p", null, [
|
|
1697
|
+
C(r.$slots, "description", { class: "py-9" })
|
|
1420
1698
|
]),
|
|
1421
|
-
|
|
1422
|
-
|
|
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))
|
|
1423
1701
|
])
|
|
1424
1702
|
])
|
|
1425
1703
|
])
|
|
1426
1704
|
]);
|
|
1427
1705
|
}
|
|
1428
|
-
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({
|
|
1429
1707
|
__name: "categoryNavigation",
|
|
1430
1708
|
props: {
|
|
1431
1709
|
searchOptions: {},
|
|
1432
1710
|
currentCategory: {}
|
|
1433
1711
|
},
|
|
1434
1712
|
emits: ["update:currentCategory"],
|
|
1435
|
-
setup(
|
|
1436
|
-
const e =
|
|
1713
|
+
setup(r, { emit: c }) {
|
|
1714
|
+
const e = r, t = c;
|
|
1437
1715
|
function o(s) {
|
|
1438
1716
|
t("update:currentCategory", s);
|
|
1439
1717
|
}
|
|
1440
|
-
return (s,
|
|
1441
|
-
(a(!0),
|
|
1442
|
-
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
|
|
1443
1721
|
}, [
|
|
1444
|
-
|
|
1445
|
-
onClick: (v) => o(
|
|
1446
|
-
class:
|
|
1447
|
-
},
|
|
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)
|
|
1448
1726
|
]))), 128))
|
|
1449
1727
|
]));
|
|
1450
1728
|
}
|
|
1451
|
-
}),
|
|
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({
|
|
1452
1730
|
__name: "navigationBar",
|
|
1453
1731
|
props: {
|
|
1454
1732
|
isCollapsed: { type: Boolean, default: !0 }
|
|
1455
1733
|
},
|
|
1456
|
-
setup(
|
|
1457
|
-
const
|
|
1458
|
-
return (e, t) => (a(),
|
|
1459
|
-
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" : ""])
|
|
1460
1738
|
}, [
|
|
1461
|
-
|
|
1462
|
-
|
|
1739
|
+
l("div", Jl, [
|
|
1740
|
+
C(e.$slots, "start", {}, void 0, !0)
|
|
1463
1741
|
]),
|
|
1464
|
-
|
|
1465
|
-
|
|
1742
|
+
l("div", Gl, [
|
|
1743
|
+
C(e.$slots, "center", {}, void 0, !0)
|
|
1466
1744
|
]),
|
|
1467
|
-
|
|
1468
|
-
|
|
1745
|
+
l("div", Xl, [
|
|
1746
|
+
C(e.$slots, "end", {}, void 0, !0)
|
|
1469
1747
|
]),
|
|
1470
|
-
|
|
1471
|
-
|
|
1748
|
+
l("div", Zl, [
|
|
1749
|
+
C(e.$slots, "bottom", {}, void 0, !0)
|
|
1472
1750
|
])
|
|
1473
1751
|
], 2));
|
|
1474
1752
|
}
|
|
1475
|
-
}),
|
|
1753
|
+
}), Ca = /* @__PURE__ */ J(Ql, [["__scopeId", "data-v-8ddb2b45"]]), ea = {
|
|
1476
1754
|
key: 0,
|
|
1477
1755
|
class: "hidden top-4 right-0 absolute md:flex gap-4"
|
|
1478
|
-
},
|
|
1756
|
+
}, ta = ["onClick", "aria-selected"], la = {
|
|
1479
1757
|
key: 0,
|
|
1480
1758
|
role: "tabpanel",
|
|
1481
1759
|
class: "p-6 border-x-0 border-t-2 border-b-0 border-base-300 max-w-full overflow-x-auto tab-content"
|
|
1482
|
-
},
|
|
1760
|
+
}, aa = { class: "p-6 border-x-0 border-t-2 border-b-0 border-base-300 max-w-full" }, Ia = /* @__PURE__ */ B({
|
|
1483
1761
|
__name: "tab",
|
|
1484
1762
|
props: {
|
|
1485
1763
|
items: {},
|
|
@@ -1488,79 +1766,82 @@ const Xn = /* @__PURE__ */ G(bn, [["render", $n]]), _n = { class: "flex flex-row
|
|
|
1488
1766
|
buttonOnlyMode: { type: Boolean, default: !1 }
|
|
1489
1767
|
},
|
|
1490
1768
|
emits: ["tab-changed"],
|
|
1491
|
-
setup(
|
|
1492
|
-
const e =
|
|
1769
|
+
setup(r, { emit: c }) {
|
|
1770
|
+
const e = r, t = x(e.items[0]), o = c;
|
|
1493
1771
|
function s(v) {
|
|
1494
1772
|
t.value = v, o("tab-changed", v);
|
|
1495
1773
|
}
|
|
1496
|
-
function
|
|
1497
|
-
const
|
|
1498
|
-
s(e.items[
|
|
1774
|
+
function i() {
|
|
1775
|
+
const f = (e.items.indexOf(t.value) + 1) % e.items.length;
|
|
1776
|
+
s(e.items[f]);
|
|
1499
1777
|
}
|
|
1500
|
-
function
|
|
1501
|
-
const
|
|
1502
|
-
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]);
|
|
1503
1781
|
}
|
|
1504
|
-
return
|
|
1782
|
+
return K(() => {
|
|
1505
1783
|
e.items && s(e.items[0]);
|
|
1506
|
-
}),
|
|
1784
|
+
}), be(() => {
|
|
1507
1785
|
e.rotateTabsAfter && e.rotateTabsAfter > 0 && setInterval(() => {
|
|
1508
|
-
|
|
1786
|
+
i();
|
|
1509
1787
|
}, e.rotateTabsAfter * 1e3);
|
|
1510
|
-
}), (v,
|
|
1511
|
-
|
|
1788
|
+
}), (v, f) => (a(), n(S, null, [
|
|
1789
|
+
l("div", {
|
|
1512
1790
|
role: "tablist",
|
|
1513
|
-
class:
|
|
1791
|
+
class: I(["relative tabs-bordered w-full tabs tabs-lg", { "flex-nowrap overflow-x-auto": v.buttonOnlyMode }])
|
|
1514
1792
|
}, [
|
|
1515
|
-
v.withControlls ? (a(),
|
|
1516
|
-
|
|
1517
|
-
onClick:
|
|
1793
|
+
v.withControlls ? (a(), n("div", ea, [
|
|
1794
|
+
l("button", {
|
|
1795
|
+
onClick: f[0] || (f[0] = (w) => y()),
|
|
1518
1796
|
class: "cursor-pointer"
|
|
1519
1797
|
}, "Previous"),
|
|
1520
|
-
|
|
1521
|
-
onClick:
|
|
1798
|
+
l("button", {
|
|
1799
|
+
onClick: f[1] || (f[1] = (w) => i()),
|
|
1522
1800
|
class: "text-primary cursor-pointer"
|
|
1523
1801
|
}, "Next")
|
|
1524
|
-
])) :
|
|
1525
|
-
(a(!0),
|
|
1526
|
-
|
|
1802
|
+
])) : D("", !0),
|
|
1803
|
+
(a(!0), n(S, null, M(v.items, (w) => (a(), n(S, null, [
|
|
1804
|
+
l("a", {
|
|
1527
1805
|
type: "button",
|
|
1528
1806
|
role: "tab",
|
|
1529
|
-
class:
|
|
1530
|
-
onClick: (
|
|
1531
|
-
"aria-selected": t.value ==
|
|
1532
|
-
},
|
|
1533
|
-
v.buttonOnlyMode ?
|
|
1534
|
-
|
|
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`)
|
|
1535
1813
|
]))
|
|
1536
1814
|
], 64))), 256))
|
|
1537
1815
|
], 2),
|
|
1538
|
-
|
|
1539
|
-
|
|
1816
|
+
l("div", aa, [
|
|
1817
|
+
C(v.$slots, "default")
|
|
1540
1818
|
])
|
|
1541
1819
|
], 64));
|
|
1542
1820
|
}
|
|
1543
1821
|
});
|
|
1544
1822
|
export {
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
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
|
|
1566
1847
|
};
|