@bobbykim/mcl-header 0.5.1 → 0.6.1

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.
@@ -0,0 +1,793 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('.nav__decorator[data-v-1b1467b6]:before{content:"";position:absolute;bottom:0;left:0;height:100%;width:0;transition:width .3s linear}.nav__text:focus+.nav__decorator[data-v-1b1467b6]:before,.nav__text:hover+.nav__decorator[data-v-1b1467b6]:before{width:100%}.nav__decorator[data-v-3cd6e9eb]:before{content:"";position:absolute;bottom:0;left:0;height:100%;width:0;transition:width .3s linear}.nav__text:focus+.nav__decorator[data-v-3cd6e9eb]:before,.nav__text:hover+.nav__decorator[data-v-3cd6e9eb]:before{width:100%}.nav__decorator[data-v-94d8fa7b]:before{content:"";position:absolute;bottom:0;left:0;height:100%;width:0;transition:width .3s linear}.nav__text:focus+.nav__decorator[data-v-94d8fa7b]:before,.nav__text:hover+.nav__decorator[data-v-94d8fa7b]:before{width:100%}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ import { defineComponent as X, ref as z, computed as H, openBlock as i, createElementBlock as d, createElementVNode as n, withDirectives as W, normalizeClass as B, toDisplayString as R, unref as b, createCommentVNode as E, createVNode as j, withCtx as O, Fragment as A, renderList as S, pushScopeId as U, popScopeId as q, withKeys as F, useSlots as J, createBlock as x, renderSlot as N } from "vue";
3
+ import o, { vCollapse as P, Collapse as Q, DropdownContainer as te, DropdownContent as oe, HeaderHorizontal as ne, HeaderVertical as ie } from "@bobbykim/manguito-theme";
4
+ const ae = (k) => (U("data-v-1b1467b6"), k = k(), q(), k), se = { class: "flex flex-col w-full" }, re = { class: "self-center" }, ue = /* @__PURE__ */ ae(() => /* @__PURE__ */ n("path", { d: "M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z" }, null, -1)), de = [
5
+ ue
6
+ ], ce = { class: "relative pt-2xs" }, he = { class: "relative flex flex-col" }, fe = ["href", "target", "onClick"], me = /* @__PURE__ */ X({
7
+ __name: "NavCollapse",
8
+ props: {
9
+ navId: {},
10
+ navAccordionGroup: {},
11
+ navItem: {},
12
+ bgColor: { default: "light-2" },
13
+ hoverBgColor: { default: "dark-1" },
14
+ menuTextSize: { default: "md" },
15
+ menuTextColor: { default: "dark-3" },
16
+ menuTextBold: { type: Boolean, default: !1 },
17
+ displayHighlight: { type: Boolean, default: !0 },
18
+ highlightColor: { default: "primary" },
19
+ asLink: { type: Boolean, default: !0 }
20
+ },
21
+ emits: ["child-click", "label-click"],
22
+ setup(k, { emit: w }) {
23
+ const L = k, p = w, g = z(!1), T = H(() => {
24
+ const { navId: t } = L;
25
+ return `nav-${t.toLowerCase().replaceAll(" ", "-")}`;
26
+ }), a = H(() => {
27
+ const { navAccordionGroup: t } = L;
28
+ return `accordion-${t.toLocaleLowerCase().replaceAll(" ", "-")}`;
29
+ }), h = (t) => {
30
+ g.value = t;
31
+ }, C = (t, s) => {
32
+ p("label-click", t, s, g.value);
33
+ }, y = (t, s) => {
34
+ const { asLink: l } = L;
35
+ !l && t.preventDefault(), p("child-click", t, s);
36
+ }, r = (t, s, l) => {
37
+ const f = [
38
+ o("BODYTEXT", t),
39
+ o("TEXTCOLOR", s)
40
+ ];
41
+ return l && f.push("font-bold"), f.join(" ");
42
+ };
43
+ return (t, s) => (i(), d("div", se, [
44
+ n("div", re, [
45
+ W((i(), d("button", {
46
+ class: B(["tracking-wider align-middle outline-none nav__text flex items-center gap-3xs", r(t.menuTextSize, t.menuTextColor, t.menuTextBold)]),
47
+ onClick: s[0] || (s[0] = (l) => C(l, t.navItem.title))
48
+ }, [
49
+ n("span", null, R(t.navItem.title), 1),
50
+ (i(), d("svg", {
51
+ xmlns: "http://www.w3.org/2000/svg",
52
+ viewBox: "0 0 448 512",
53
+ class: B(["h-[0.8rem] fill-current", [
54
+ g.value ? "rotate-180" : "rotate-0",
55
+ "transition-transform duration-300 ease-in"
56
+ ]])
57
+ }, de, 2))
58
+ ], 2)), [
59
+ [b(P), void 0, T.value]
60
+ ]),
61
+ t.displayHighlight ? (i(), d("div", {
62
+ key: 0,
63
+ class: B(["relative -top-[2px] h-[6px] nav__decorator", b(o)("BEFOREBG", t.highlightColor)])
64
+ }, null, 2)) : E("", !0)
65
+ ]),
66
+ j(b(Q), {
67
+ id: T.value,
68
+ visible: !1,
69
+ accordion: a.value,
70
+ onOpen: h,
71
+ onClose: h
72
+ }, {
73
+ default: O(() => [
74
+ n("div", ce, [
75
+ t.displayHighlight ? (i(), d("div", {
76
+ key: 0,
77
+ class: B(["absolute w-md bg-opacity-25 -left-4 h-full", b(o)("BGCOLOR", t.highlightColor)])
78
+ }, null, 2)) : E("", !0),
79
+ n("div", he, [
80
+ (i(!0), d(A, null, S(t.navItem.children, (l, f) => (i(), d("a", {
81
+ href: l.url,
82
+ target: l.target,
83
+ class: B(["w-full pb-2xs last:pb-0", [
84
+ b(o)("TEXTCOLOR", t.menuTextColor),
85
+ b(o)("BODYTEXT", t.menuTextSize)
86
+ ]]),
87
+ key: f,
88
+ onClick: (v) => y(v, l)
89
+ }, R(l.title), 11, fe))), 128))
90
+ ])
91
+ ])
92
+ ]),
93
+ _: 1
94
+ }, 8, ["id", "accordion"])
95
+ ]));
96
+ }
97
+ });
98
+ const G = (k, w) => {
99
+ const L = k.__vccOpts || k;
100
+ for (const [p, g] of w)
101
+ L[p] = g;
102
+ return L;
103
+ }, ge = /* @__PURE__ */ G(me, [["__scopeId", "data-v-1b1467b6"]]), pe = (k) => (U("data-v-3cd6e9eb"), k = k(), q(), k), ke = ["onClick"], Ce = /* @__PURE__ */ pe(() => /* @__PURE__ */ n("path", { d: "M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z" }, null, -1)), ve = [
104
+ Ce
105
+ ], be = ["href", "target", "onClick"], Te = /* @__PURE__ */ X({
106
+ __name: "NavDropdown",
107
+ props: {
108
+ navItem: {},
109
+ bgColor: { default: "light-1" },
110
+ menuTextSize: { default: "md" },
111
+ menuTextColor: { default: "dark-3" },
112
+ menuTextBold: { type: Boolean, default: !1 },
113
+ displayHighlight: { type: Boolean, default: !0 },
114
+ highlightColor: { default: "primary" },
115
+ asLink: { type: Boolean, default: !0 }
116
+ },
117
+ emits: ["label-click", "child-click"],
118
+ setup(k, { emit: w }) {
119
+ const L = k, p = w, g = z(-1), T = z(), a = (r, t, s) => {
120
+ const l = [
121
+ o("BODYTEXT", r),
122
+ o("TEXTCOLOR", t)
123
+ ];
124
+ return s && l.push("font-bold"), l.join(" ");
125
+ }, h = (r) => {
126
+ const t = L.navItem.children.length;
127
+ T.value !== void 0 && (r === "down" && g.value < t - 1 && g.value++, r === "up" && g.value > 0 && g.value--, T.value[g.value].focus());
128
+ }, C = (r, t, s) => {
129
+ g.value = -1, p("label-click", r, t, s);
130
+ }, y = (r, t) => {
131
+ const { asLink: s } = L;
132
+ !s && r.preventDefault(), p("child-click", r, t);
133
+ };
134
+ return (r, t) => (i(), d("div", {
135
+ onKeyup: [
136
+ t[0] || (t[0] = F((s) => h("down"), ["down"])),
137
+ t[1] || (t[1] = F((s) => h("up"), ["up"]))
138
+ ]
139
+ }, [
140
+ j(b(te), null, {
141
+ toggler: O(({ toggle: s, dropdownState: l }) => [
142
+ n("div", null, [
143
+ n("button", {
144
+ class: B(["tracking-wider align-middle outline-none nav__text flex items-center gap-3xs", a(r.menuTextSize, r.menuTextColor, r.menuTextBold)]),
145
+ onClick: (f) => (s(f), C(f, r.navItem.title, l))
146
+ }, [
147
+ n("span", null, R(r.navItem.title), 1),
148
+ (i(), d("svg", {
149
+ xmlns: "http://www.w3.org/2000/svg",
150
+ viewBox: "0 0 448 512",
151
+ class: B(["h-[0.8rem] fill-current", [
152
+ l ? "rotate-180" : "rotate-0",
153
+ "transition-transform duration-300 ease-in"
154
+ ]])
155
+ }, ve, 2))
156
+ ], 10, ke),
157
+ r.displayHighlight ? (i(), d("div", {
158
+ key: 0,
159
+ class: B(["relative -top-[2px] h-[6px] nav__decorator", b(o)("BEFOREBG", r.highlightColor)])
160
+ }, null, 2)) : E("", !0)
161
+ ])
162
+ ]),
163
+ default: O(() => [
164
+ j(b(oe), { className: "border drop-shadow-sm" }, {
165
+ default: O(({ itemClick: s }) => [
166
+ (i(!0), d(A, null, S(r.navItem.children, (l, f) => (i(), d("a", {
167
+ href: l.url,
168
+ target: l.target,
169
+ key: f,
170
+ ref_for: !0,
171
+ ref_key: "navItemRef",
172
+ ref: T,
173
+ class: B(["px-xs py-2xs block w-full hover:bg-opacity-50 focus:bg-opacity-50 transition-all duration-200 ease-linear", [
174
+ b(o)("BGCOLOR", r.bgColor),
175
+ b(o)("HVBGCOLOR", r.highlightColor),
176
+ b(o)("FCBGCOLOR", r.highlightColor),
177
+ b(o)("TEXTCOLOR", r.menuTextColor),
178
+ b(o)("BODYTEXT", r.menuTextSize)
179
+ ]]),
180
+ onClick: (v) => (s(), y(v, l))
181
+ }, R(l.title), 11, be))), 128))
182
+ ]),
183
+ _: 1
184
+ })
185
+ ]),
186
+ _: 1
187
+ })
188
+ ], 32));
189
+ }
190
+ });
191
+ const ye = /* @__PURE__ */ G(Te, [["__scopeId", "data-v-3cd6e9eb"]]), Be = ["href", "target", "innerHTML"], Le = /* @__PURE__ */ X({
192
+ __name: "NavLink",
193
+ props: {
194
+ navItem: {},
195
+ menuTextSize: { default: "md" },
196
+ menuTextColor: { default: "dark-3" },
197
+ menuTextBold: { type: Boolean, default: !1 },
198
+ displayHighlight: { type: Boolean, default: !0 },
199
+ highlightColor: { default: "primary" },
200
+ asLink: { type: Boolean, default: !0 }
201
+ },
202
+ emits: ["nav-link"],
203
+ setup(k, { emit: w }) {
204
+ const L = k, p = w, g = (a, h, C) => {
205
+ const y = [
206
+ o("BODYTEXT", a),
207
+ o("TEXTCOLOR", h)
208
+ ];
209
+ return C && y.push("font-bold"), y.join(" ");
210
+ }, T = (a, h) => {
211
+ const { asLink: C } = L;
212
+ !C && a.preventDefault(), p("nav-link", a, h);
213
+ };
214
+ return (a, h) => (i(), d("div", null, [
215
+ n("a", {
216
+ href: a.navItem.url,
217
+ target: a.navItem.target,
218
+ innerHTML: a.navItem.title,
219
+ class: B(["tracking-wider outline-none nav__text", g(a.menuTextSize, a.menuTextColor, a.menuTextBold)]),
220
+ onClick: h[0] || (h[0] = (C) => T(C, a.navItem))
221
+ }, null, 10, Be),
222
+ a.displayHighlight ? (i(), d("div", {
223
+ key: 0,
224
+ class: B(["relative -top-[2px] h-[6px] nav__decorator", b(o)("BEFOREBG", a.highlightColor)])
225
+ }, null, 2)) : E("", !0)
226
+ ]));
227
+ }
228
+ });
229
+ const V = /* @__PURE__ */ G(Le, [["__scopeId", "data-v-94d8fa7b"]]), we = { class: "flex flex-shrink-0 items-center self-center" }, Oe = { class: "h-md md:h-lg lg:h-xl mr-2xs md:mr-sm align-middle" }, Ie = ["href", "target"], xe = ["src", "alt"], $e = ["src", "alt"], He = { class: "flex flex-col justify-center ml-2" }, Ee = ["href", "target"], _e = ["innerHTML"], ze = { class: "hidden lg:flex flex-wrap" }, Re = {
230
+ key: 0,
231
+ class: "hidden lg:block"
232
+ }, Ae = { class: "flex flex-col items-center justify-center p-xs" }, Se = { key: 0 }, sl = /* @__PURE__ */ X({
233
+ __name: "MclHeaderA",
234
+ props: {
235
+ logo: {},
236
+ logoSmall: {},
237
+ logoAlt: { default: "" },
238
+ title: {},
239
+ titleSize: { default: "md" },
240
+ titleColor: { default: "dark-3" },
241
+ titleBlockAsLink: { type: Boolean, default: !1 },
242
+ titleBlockLinkTarget: { default: "_self" },
243
+ titleBlockLink: {},
244
+ menuItems: {},
245
+ menuItemAsLink: { type: Boolean, default: !1 },
246
+ menuTextSize: { default: "md" },
247
+ menuTextColor: { default: "dark-3" },
248
+ menuTextBold: { type: Boolean, default: !1 },
249
+ displayHighlight: { type: Boolean, default: !0 },
250
+ highlightColor: { default: "primary" },
251
+ bgColor: { default: "light-1" },
252
+ mobileMenuBgColor: { default: "light-2" },
253
+ drawerBtnColor: { default: "dark-1" },
254
+ drawerBtnBorder: { type: Boolean, default: !0 },
255
+ fadeInOnScroll: { type: Boolean, default: !0 },
256
+ scrollDistance: { default: 50 }
257
+ },
258
+ emits: ["toggle-drawer", "title-click", "menu-click", "collapse-click"],
259
+ setup(k, { expose: w, emit: L }) {
260
+ const p = k, g = z(), T = J(), a = L, h = () => {
261
+ var l;
262
+ (l = g.value) == null || l.headerClose();
263
+ }, C = (l) => {
264
+ const { titleBlockAsLink: f, titleBlockLink: v, titleBlockLinkTarget: e } = p;
265
+ f || l.preventDefault(), a("title-click", l, v, e), h();
266
+ }, y = (l, f) => {
267
+ const { menuItemAsLink: v } = p;
268
+ v || l.preventDefault(), a("menu-click", l, f), h();
269
+ }, r = (l, f, v) => {
270
+ a("collapse-click", l, f, v);
271
+ }, t = (l, f) => [
272
+ o("H2", l),
273
+ o("TEXTCOLOR", f)
274
+ ].join(" "), s = (l) => {
275
+ const f = l;
276
+ return typeof f.children > "u" ? !1 : f.children.length > 0;
277
+ };
278
+ return w({
279
+ headerClose: h
280
+ }), (l, f) => (i(), x(b(ne), {
281
+ ref_key: "componentRef",
282
+ ref: g,
283
+ "bg-color": l.bgColor,
284
+ "drawer-btn-border": l.drawerBtnBorder,
285
+ "drawer-btn-color": l.drawerBtnColor,
286
+ "fade-in-on-scroll": l.fadeInOnScroll,
287
+ "mobile-menu-bg-color": l.mobileMenuBgColor
288
+ }, {
289
+ content: O(() => [
290
+ n("div", we, [
291
+ n("div", Oe, [
292
+ n("a", {
293
+ href: l.titleBlockLink,
294
+ target: l.titleBlockLinkTarget,
295
+ onClick: C
296
+ }, [
297
+ n("img", {
298
+ src: l.logo,
299
+ alt: l.logoAlt,
300
+ class: B(["h-full", [l.logoSmall ? "hidden lg:inline-block" : "inline-block"]])
301
+ }, null, 10, xe),
302
+ l.logoSmall ? (i(), d("img", {
303
+ key: 0,
304
+ src: l.logoSmall,
305
+ alt: l.logoAlt,
306
+ class: "inline-block lg:hidden h-full"
307
+ }, null, 8, $e)) : E("", !0)
308
+ ], 8, Ie)
309
+ ]),
310
+ n("div", He, [
311
+ n("a", {
312
+ href: l.titleBlockLink,
313
+ target: l.titleBlockLinkTarget,
314
+ onClick: C
315
+ }, [
316
+ n("h2", {
317
+ class: B(["inline-block align-middle tracking-wider", t(l.titleSize, l.titleColor)]),
318
+ innerHTML: l.title
319
+ }, null, 10, _e)
320
+ ], 8, Ee),
321
+ n("ul", ze, [
322
+ (i(!0), d(A, null, S(l.menuItems, (v, e) => (i(), d("li", {
323
+ class: "mr-xs last:mr-0",
324
+ key: `menu-${e}`
325
+ }, [
326
+ s(v) ? (i(), x(ye, {
327
+ key: 1,
328
+ "nav-item": v,
329
+ "menu-text-color": l.menuTextColor,
330
+ "menu-text-size": l.menuTextSize,
331
+ "menu-text-bold": l.menuTextBold,
332
+ "display-highlight": l.displayHighlight,
333
+ "highlight-color": l.highlightColor,
334
+ "bg-color": l.bgColor,
335
+ "as-link": l.menuItemAsLink,
336
+ onChildClick: y,
337
+ onLabelClick: r
338
+ }, null, 8, ["nav-item", "menu-text-color", "menu-text-size", "menu-text-bold", "display-highlight", "highlight-color", "bg-color", "as-link"])) : (i(), x(V, {
339
+ key: 0,
340
+ "nav-item": v,
341
+ "menu-text-color": l.menuTextColor,
342
+ "menu-text-size": l.menuTextSize,
343
+ "menu-text-bold": l.menuTextBold,
344
+ "display-highlight": l.displayHighlight,
345
+ "highlight-color": l.highlightColor,
346
+ "as-link": l.menuItemAsLink,
347
+ onNavLink: y
348
+ }, null, 8, ["nav-item", "menu-text-color", "menu-text-size", "menu-text-bold", "display-highlight", "highlight-color", "as-link"]))
349
+ ]))), 128))
350
+ ])
351
+ ])
352
+ ])
353
+ ]),
354
+ "content-right": O(() => [
355
+ b(T)["content-right"] ? (i(), d("div", Re, [
356
+ N(l.$slots, "content-right")
357
+ ])) : E("", !0)
358
+ ]),
359
+ "mobile-content": O(() => [
360
+ n("div", null, [
361
+ n("ul", Ae, [
362
+ (i(!0), d(A, null, S(l.menuItems, (v, e) => (i(), d("li", {
363
+ class: "mb-2xs last:mb-0",
364
+ key: `mobile-${e}`
365
+ }, [
366
+ s(v) ? (i(), x(ge, {
367
+ key: 1,
368
+ "nav-id": v.title,
369
+ "nav-item": v,
370
+ "menu-text-color": l.menuTextColor,
371
+ "menu-text-size": l.menuTextSize,
372
+ "menu-text-bold": l.menuTextBold,
373
+ "display-highlight": l.displayHighlight,
374
+ "highlight-color": l.highlightColor,
375
+ "nav-accordion-group": l.title,
376
+ "as-link": l.menuItemAsLink,
377
+ onChildClick: y,
378
+ onLabelClick: r
379
+ }, null, 8, ["nav-id", "nav-item", "menu-text-color", "menu-text-size", "menu-text-bold", "display-highlight", "highlight-color", "nav-accordion-group", "as-link"])) : (i(), x(V, {
380
+ key: 0,
381
+ "nav-item": v,
382
+ "menu-text-color": l.menuTextColor,
383
+ "menu-text-size": l.menuTextSize,
384
+ "menu-text-bold": l.menuTextBold,
385
+ "display-highlight": l.displayHighlight,
386
+ "highlight-color": l.highlightColor,
387
+ "as-link": l.menuItemAsLink,
388
+ onNavLink: y
389
+ }, null, 8, ["nav-item", "menu-text-color", "menu-text-size", "menu-text-bold", "display-highlight", "highlight-color", "as-link"]))
390
+ ]))), 128))
391
+ ]),
392
+ b(T)["mobile-bottom"] ? (i(), d("div", Se, [
393
+ N(l.$slots, "mobile-bottom", { headerClose: h })
394
+ ])) : E("", !0)
395
+ ])
396
+ ]),
397
+ _: 3
398
+ }, 8, ["bg-color", "drawer-btn-border", "drawer-btn-color", "fade-in-on-scroll", "mobile-menu-bg-color"]));
399
+ }
400
+ }), Xe = { class: "relative flex gap-2 items-center justify-center" }, De = /* @__PURE__ */ n("path", { d: "M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z" }, null, -1), Me = [
401
+ De
402
+ ], Ne = ["href", "target", "onClick"], je = { class: "relative" }, K = /* @__PURE__ */ X({
403
+ __name: "NavCollapseVertical",
404
+ props: {
405
+ navId: {},
406
+ navAccordionGroup: {},
407
+ navLocation: {},
408
+ menuItem: {},
409
+ textColor: { default: "dark-3" },
410
+ textSize: { default: "md" },
411
+ fontBold: { type: Boolean, default: !1 },
412
+ dHl: { type: Boolean, default: !0 },
413
+ hlColor: { default: "primary" },
414
+ asLink: { type: Boolean, default: !0 }
415
+ },
416
+ emits: ["label-click", "child-click"],
417
+ setup(k, { expose: w, emit: L }) {
418
+ const p = k, g = z(!1), T = z(), a = L, h = (e) => {
419
+ g.value = e;
420
+ }, C = () => {
421
+ var e;
422
+ (e = T.value) == null || e.close();
423
+ }, y = (e, c) => {
424
+ a("label-click", e, c, g.value);
425
+ }, r = (e, c) => {
426
+ var m;
427
+ const { asLink: u } = p;
428
+ u || e.preventDefault(), a("child-click", e, c), (m = T.value) == null || m.close(), C();
429
+ }, t = H(() => {
430
+ const { navId: e, navLocation: c } = p, m = e.toLowerCase().replaceAll(" ", "-");
431
+ return `nav-${c}-${m}`;
432
+ }), s = H(() => {
433
+ const { navAccordionGroup: e, navLocation: c } = p, u = e.toLowerCase().replaceAll(" ", "-");
434
+ return `nav-accordion-group-${c}-${u}`;
435
+ }), l = H(() => {
436
+ const { textColor: e, textSize: c, dHl: u, hlColor: m, fontBold: $ } = p, I = [o("BODYTEXT", c)];
437
+ if (!u) {
438
+ const D = [
439
+ o("TEXTCOLOR", e),
440
+ o("HVTEXTCOLOR", m),
441
+ o("FCTEXTCOLOR", m)
442
+ ];
443
+ I.push(D.join(" "));
444
+ }
445
+ if (u) {
446
+ const D = o("BEFOREBG", m), _ = "before:inset-y-0 before:left-0 before:transition-[width] before:duration-300 before:ease-linear before:w-0 hover:before:w-full focus:before:w-full ";
447
+ I.push(_ + D);
448
+ const M = [
449
+ o("TEXTCOLOR", m),
450
+ o("HVTEXTCOLOR", e),
451
+ o("FCTEXTCOLOR", e)
452
+ ];
453
+ I.push(M.join(" "));
454
+ }
455
+ return $ && I.push("font-bold"), I.join(" ");
456
+ }), f = H(() => {
457
+ const { dHl: e, hlColor: c, navLocation: u } = p, m = [];
458
+ if (!e)
459
+ return "";
460
+ const $ = "before:absolute before:w-xs before:h-full before:bg-primary before:bg-opacity-70 ", I = u === "desktop" ? "before:left-0 " : "before:right-0 ";
461
+ return m.push($ + I + o("BEFOREBG", c)), m.join(" ");
462
+ }), v = H(() => {
463
+ const { textColor: e, textSize: c, dHl: u, hlColor: m, fontBold: $, navLocation: I } = p;
464
+ let D = c === "xl" ? "lg" : c === "lg" ? "md" : c === "md" ? "sm" : "xs";
465
+ const _ = [
466
+ o("TEXTCOLOR", e),
467
+ o("BODYTEXT", D)
468
+ ];
469
+ if (I === "mobile" && _.push("text-end"), !u) {
470
+ const M = [
471
+ o("TEXTCOLOR", e),
472
+ o("HVTEXTCOLOR", m),
473
+ o("FCTEXTCOLOR", m)
474
+ ];
475
+ _.push(M.join(" "));
476
+ }
477
+ if (u) {
478
+ const M = o("BEFOREBG", m), Z = "before:inset-y-0 before:duration-300 before:ease-linear before:w-0 hover:before:w-full focus:before:w-full before:bg-opacity-70 ", ee = I === "desktop" ? "before:left-0 before:transition-[width] " : "before:left-full hover:before:left-0 focus:before:left-0 before:transition-[all] ";
479
+ _.push(Z + ee + M);
480
+ const le = [
481
+ o("TEXTCOLOR", m),
482
+ o("HVTEXTCOLOR", e),
483
+ o("FCTEXTCOLOR", e)
484
+ ];
485
+ _.push(le.join(" "));
486
+ }
487
+ return $ && _.push("font-bold"), _.join(" ");
488
+ });
489
+ return w({
490
+ closeCollapse: C
491
+ }), (e, c) => (i(), d("div", null, [
492
+ W((i(), d("button", {
493
+ class: B(["px-xs py-2xs relative text-center block w-full before:absolute transition-colors duration-300 ease-linear", [l.value]]),
494
+ onClick: c[0] || (c[0] = (u) => y(u, e.menuItem.title))
495
+ }, [
496
+ n("div", Xe, [
497
+ n("span", null, R(e.menuItem.title), 1),
498
+ (i(), d("svg", {
499
+ xmlns: "http://www.w3.org/2000/svg",
500
+ viewBox: "0 0 448 512",
501
+ class: B(["h-[0.8rem] fill-current", [
502
+ g.value ? "rotate-180" : "rotate-0",
503
+ "transition-transform duration-300 ease-in"
504
+ ]])
505
+ }, Me, 2))
506
+ ])
507
+ ], 2)), [
508
+ [b(P), void 0, t.value]
509
+ ]),
510
+ j(b(Q), {
511
+ ref_key: "collapseRef",
512
+ ref: T,
513
+ id: t.value,
514
+ accordion: s.value,
515
+ onOpen: h,
516
+ onClose: h
517
+ }, {
518
+ default: O(() => [
519
+ n("ul", {
520
+ class: B(["relative", [f.value]])
521
+ }, [
522
+ (i(!0), d(A, null, S(e.menuItem.children, (u, m) => (i(), d("li", {
523
+ key: m,
524
+ class: B([e.navLocation === "desktop" ? "ml-xs" : "mr-xs"])
525
+ }, [
526
+ n("a", {
527
+ href: u.url,
528
+ target: u.target,
529
+ onClick: ($) => r($, u),
530
+ class: B(["relative before:absolute w-full px-2xs py-3xs block overflow-x-hidden transition-colors duration-300 ease-linear", [v.value]])
531
+ }, [
532
+ n("span", je, R(u.title), 1)
533
+ ], 10, Ne)
534
+ ], 2))), 128))
535
+ ], 2)
536
+ ]),
537
+ _: 1
538
+ }, 8, ["id", "accordion"])
539
+ ]));
540
+ }
541
+ }), Ge = ["href", "target"], Fe = { class: "relative" }, Y = /* @__PURE__ */ X({
542
+ __name: "NavLinkVertical",
543
+ props: {
544
+ menuItem: {},
545
+ textColor: { default: "dark-3" },
546
+ textSize: { default: "md" },
547
+ fontBold: { type: Boolean, default: !1 },
548
+ dHl: { type: Boolean, default: !0 },
549
+ hlColor: { default: "primary" },
550
+ asLink: { type: Boolean, default: !0 }
551
+ },
552
+ emits: ["menu-click"],
553
+ setup(k, { emit: w }) {
554
+ const L = k, p = w, g = (a, h) => {
555
+ const { asLink: C } = L;
556
+ C || a.preventDefault(), p("menu-click", a, h);
557
+ }, T = H(() => {
558
+ const { textColor: a, textSize: h, dHl: C, hlColor: y, fontBold: r } = L, t = [o("BODYTEXT", h)];
559
+ if (!C) {
560
+ const s = [
561
+ o("TEXTCOLOR", a),
562
+ o("HVTEXTCOLOR", y),
563
+ o("FCTEXTCOLOR", y)
564
+ ];
565
+ t.push(s.join(" "));
566
+ }
567
+ if (C) {
568
+ const s = o("BEFOREBG", y), l = "before:inset-y-0 before:left-0 before:transition-[width] before:duration-300 before:ease-linear before:w-0 hover:before:w-full focus:before:w-full ";
569
+ t.push(l + s);
570
+ const f = [
571
+ o("TEXTCOLOR", y),
572
+ o("HVTEXTCOLOR", a),
573
+ o("FCTEXTCOLOR", a)
574
+ ];
575
+ t.push(f.join(" "));
576
+ }
577
+ return r && t.push("font-bold"), t.join(" ");
578
+ });
579
+ return (a, h) => (i(), d("a", {
580
+ class: B([[T.value], "px-xs py-2xs relative text-center block w-full before:absolute transition-colors duration-300 ease-linear"]),
581
+ href: a.menuItem.url,
582
+ target: a.menuItem.target ? a.menuItem.target : "_self",
583
+ onClick: h[0] || (h[0] = (C) => g(C, a.menuItem))
584
+ }, [
585
+ n("span", Fe, R(a.menuItem.title), 1)
586
+ ], 10, Ge));
587
+ }
588
+ }), Ve = { class: "p-md text-center" }, Ke = ["href", "target"], Ye = ["src", "alt"], We = ["href", "target"], Ue = ["innerHTML"], qe = { class: "flex flex-col" }, Je = { key: 0 }, Pe = { class: "flex flex-col justify-between h-full" }, Qe = { class: "p-md text-center" }, Ze = ["href", "target"], el = ["src", "alt"], ll = ["href", "target"], tl = ["innerHTML"], ol = { class: "flex flex-col" }, nl = { key: 0 }, rl = /* @__PURE__ */ X({
589
+ __name: "MclHeaderB",
590
+ props: {
591
+ logo: {},
592
+ logoAlt: { default: "" },
593
+ title: {},
594
+ titleSize: { default: "md" },
595
+ titleColor: { default: "dark-3" },
596
+ titleBlockAsLink: { type: Boolean, default: !1 },
597
+ titleBlockLinkTarget: { default: "_self" },
598
+ titleBlockLink: {},
599
+ menuItems: {},
600
+ menuItemAsLink: { type: Boolean, default: !1 },
601
+ menuTextSize: { default: "md" },
602
+ menuTextColor: { default: "dark-3" },
603
+ menuTextBold: { type: Boolean, default: !1 },
604
+ displayHighlight: { type: Boolean, default: !0 },
605
+ highlightColor: { default: "primary" },
606
+ bgColor: { default: "light-1" },
607
+ drawerBtnColor: { default: "dark-1" },
608
+ drawerBtnBorder: { type: Boolean, default: !0 },
609
+ headerWidth: { default: 160 }
610
+ },
611
+ emits: ["toggle-drawer", "title-click", "menu-click", "collapse-click"],
612
+ setup(k, { expose: w, emit: L }) {
613
+ const p = k, g = J(), T = L, a = z(), h = z(), C = (e, c) => {
614
+ T("toggle-drawer", e, c);
615
+ }, y = () => {
616
+ var e;
617
+ (e = a.value) == null || e.headerClose();
618
+ }, r = () => {
619
+ for (let e = 0; e < h.value.length; e++)
620
+ h.value[e].closeCollapse();
621
+ }, t = (e) => {
622
+ const { titleBlockAsLink: c, titleBlockLink: u, titleBlockLinkTarget: m } = p;
623
+ c || e.preventDefault(), T("title-click", e, u, m), y(), r();
624
+ }, s = (e, c) => {
625
+ const { menuItemAsLink: u } = p;
626
+ u || e.preventDefault(), T("menu-click", e, c), y(), r();
627
+ }, l = (e, c, u) => {
628
+ T("collapse-click", e, c, u);
629
+ }, f = H(() => {
630
+ const { titleSize: e, titleColor: c } = p;
631
+ return [
632
+ o("H3", e),
633
+ o("TEXTCOLOR", c)
634
+ ].join(" ");
635
+ }), v = (e) => {
636
+ const c = e;
637
+ return typeof c.children > "u" ? !1 : c.children.length > 0;
638
+ };
639
+ return w({
640
+ headerClose: y
641
+ }), (e, c) => (i(), x(b(ie), {
642
+ "bg-color": e.bgColor,
643
+ "drawer-btn-color": e.drawerBtnColor,
644
+ "drawer-btn-border": e.drawerBtnBorder,
645
+ "header-width": e.headerWidth,
646
+ onToggleDrawer: C,
647
+ ref_key: "componentRef",
648
+ ref: a
649
+ }, {
650
+ default: O(() => [
651
+ N(e.$slots, "default")
652
+ ]),
653
+ content: O(() => [
654
+ n("div", null, [
655
+ n("div", Ve, [
656
+ n("a", {
657
+ href: e.titleBlockLink,
658
+ target: e.titleBlockLinkTarget,
659
+ onClick: t
660
+ }, [
661
+ n("img", {
662
+ src: e.logo,
663
+ alt: e.logoAlt,
664
+ class: "h-full inline-block max-h-xl"
665
+ }, null, 8, Ye)
666
+ ], 8, Ke)
667
+ ]),
668
+ n("div", null, [
669
+ n("a", {
670
+ href: e.titleBlockLink,
671
+ target: e.titleBlockLinkTarget,
672
+ onClick: t
673
+ }, [
674
+ n("h3", {
675
+ class: B([f.value, "text-center mb-md"]),
676
+ innerHTML: e.title
677
+ }, null, 10, Ue)
678
+ ], 8, We)
679
+ ]),
680
+ n("ul", qe, [
681
+ (i(!0), d(A, null, S(e.menuItems, (u, m) => (i(), d("li", {
682
+ key: `menu-${m}`
683
+ }, [
684
+ v(u) ? (i(), x(K, {
685
+ key: 1,
686
+ ref_for: !0,
687
+ ref_key: "collapseRef",
688
+ ref: h,
689
+ "nav-id": u.title,
690
+ "nav-location": "desktop",
691
+ "nav-accordion-group": e.title,
692
+ "menu-item": u,
693
+ "as-link": e.menuItemAsLink,
694
+ "text-color": e.menuTextColor,
695
+ "text-size": e.menuTextSize,
696
+ "font-bold": e.menuTextBold,
697
+ "d-hl": e.displayHighlight,
698
+ "hl-color": e.highlightColor,
699
+ onChildClick: s,
700
+ onLabelClick: l
701
+ }, null, 8, ["nav-id", "nav-accordion-group", "menu-item", "as-link", "text-color", "text-size", "font-bold", "d-hl", "hl-color"])) : (i(), x(Y, {
702
+ key: 0,
703
+ "menu-item": u,
704
+ "as-link": e.menuItemAsLink,
705
+ "text-color": e.menuTextColor,
706
+ "text-size": e.menuTextSize,
707
+ "font-bold": e.menuTextBold,
708
+ "d-hl": e.displayHighlight,
709
+ "hl-color": e.highlightColor,
710
+ onMenuClick: s
711
+ }, null, 8, ["menu-item", "as-link", "text-color", "text-size", "font-bold", "d-hl", "hl-color"]))
712
+ ]))), 128))
713
+ ])
714
+ ])
715
+ ]),
716
+ "content-bottom": O(() => [
717
+ b(g)["content-bottom"] ? (i(), d("div", Je, [
718
+ N(e.$slots, "content-bottom")
719
+ ])) : E("", !0)
720
+ ]),
721
+ "mobile-content": O(({ headerClose: u }) => [
722
+ n("div", Pe, [
723
+ n("div", null, [
724
+ n("div", Qe, [
725
+ n("a", {
726
+ href: e.titleBlockLink,
727
+ target: e.titleBlockLinkTarget,
728
+ onClick: t
729
+ }, [
730
+ n("img", {
731
+ src: e.logo,
732
+ alt: e.logoAlt,
733
+ class: "h-full inline-block max-h-xl"
734
+ }, null, 8, el)
735
+ ], 8, Ze)
736
+ ]),
737
+ n("div", null, [
738
+ n("a", {
739
+ href: e.titleBlockLink,
740
+ target: e.titleBlockLinkTarget,
741
+ onClick: t
742
+ }, [
743
+ n("h3", {
744
+ class: B([f.value, "text-center mb-md"]),
745
+ innerHTML: e.title
746
+ }, null, 10, tl)
747
+ ], 8, ll)
748
+ ]),
749
+ n("ul", ol, [
750
+ (i(!0), d(A, null, S(e.menuItems, (m, $) => (i(), d("li", {
751
+ key: `menu-${$}`
752
+ }, [
753
+ v(m) ? (i(), x(K, {
754
+ key: 1,
755
+ "nav-id": m.title,
756
+ "nav-location": "mobile",
757
+ "nav-accordion-group": e.title,
758
+ "menu-item": m,
759
+ "as-link": e.menuItemAsLink,
760
+ "text-color": e.menuTextColor,
761
+ "text-size": e.menuTextSize,
762
+ "font-bold": e.menuTextBold,
763
+ "d-hl": e.displayHighlight,
764
+ "hl-color": e.highlightColor,
765
+ onChildClick: s,
766
+ onLabelClick: l
767
+ }, null, 8, ["nav-id", "nav-accordion-group", "menu-item", "as-link", "text-color", "text-size", "font-bold", "d-hl", "hl-color"])) : (i(), x(Y, {
768
+ key: 0,
769
+ "menu-item": m,
770
+ "as-link": e.menuItemAsLink,
771
+ "text-color": e.menuTextColor,
772
+ "text-size": e.menuTextSize,
773
+ "font-bold": e.menuTextBold,
774
+ "d-hl": e.displayHighlight,
775
+ "hl-color": e.highlightColor,
776
+ onMenuClick: s
777
+ }, null, 8, ["menu-item", "as-link", "text-color", "text-size", "font-bold", "d-hl", "hl-color"]))
778
+ ]))), 128))
779
+ ])
780
+ ]),
781
+ b(g)["mobile-bottom"] ? (i(), d("div", nl, [
782
+ N(e.$slots, "mobile-bottom", { headerClose: u })
783
+ ])) : E("", !0)
784
+ ])
785
+ ]),
786
+ _: 3
787
+ }, 8, ["bg-color", "drawer-btn-color", "drawer-btn-border", "header-width"]));
788
+ }
789
+ });
790
+ export {
791
+ sl as MclHeaderA,
792
+ rl as MclHeaderB
793
+ };