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