@museumwnf/viewer-layout 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,961 @@
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createSlots as o, createTextVNode as s, createVNode as c, normalizeClass as l, openBlock as u, ref as d, renderList as f, renderSlot as p, resolveDynamicComponent as m, toDisplayString as h, unref as g, useSlots as _, vModelText as v, withCtx as y, withDirectives as b, withModifiers as x } from "vue";
2
+ import { renderBlock as S, useI18n as C } from "@museumwnf/viewer-core/i18n";
3
+ //#region src/sections/AppHeader.vue
4
+ var w = {
5
+ key: 0,
6
+ class: "mwnf-header"
7
+ }, T = { class: "mwnf-header__inner" }, E = {
8
+ key: 0,
9
+ class: "mwnf-header__brand"
10
+ }, D = {
11
+ key: 1,
12
+ class: "mwnf-header__logos"
13
+ }, O = {
14
+ key: 0,
15
+ class: "mwnf-header__logos-title"
16
+ }, k = { class: "mwnf-header__logo-list" }, A = ["src", "alt"], j = {
17
+ key: 0,
18
+ class: "mwnf-header__eyebrow"
19
+ }, M = {
20
+ key: 1,
21
+ class: "mwnf-header__title"
22
+ }, ee = {
23
+ key: 2,
24
+ class: "mwnf-header__subtitle"
25
+ }, te = {
26
+ key: 2,
27
+ class: "mwnf-header__tools"
28
+ }, ne = {
29
+ key: 0,
30
+ class: "mwnf-header__links"
31
+ }, re = [
32
+ "href",
33
+ "target",
34
+ "rel"
35
+ ], ie = ["placeholder", "aria-label"], ae = ["aria-label"], oe = ["aria-label"], se = [
36
+ "aria-pressed",
37
+ "lang",
38
+ "onClick"
39
+ ], N = {
40
+ key: 3,
41
+ class: "mwnf-header__languages"
42
+ }, P = { class: "mwnf-header__language-label" }, F = ["value"], I = ["value"], L = {
43
+ __name: "AppHeader",
44
+ props: {
45
+ title: {
46
+ type: String,
47
+ default: ""
48
+ },
49
+ subtitle: {
50
+ type: String,
51
+ default: ""
52
+ },
53
+ eyebrow: {
54
+ type: String,
55
+ default: ""
56
+ },
57
+ titleHref: {
58
+ type: String,
59
+ default: ""
60
+ },
61
+ home: {
62
+ type: String,
63
+ default: ""
64
+ },
65
+ brand: {
66
+ type: String,
67
+ default: ""
68
+ },
69
+ logos: {
70
+ type: Array,
71
+ default: () => []
72
+ },
73
+ logosTitle: {
74
+ type: String,
75
+ default: ""
76
+ },
77
+ links: {
78
+ type: Array,
79
+ default: () => []
80
+ },
81
+ search: {
82
+ type: Object,
83
+ default: null
84
+ },
85
+ languages: {
86
+ type: Array,
87
+ default: () => []
88
+ },
89
+ language: {
90
+ type: String,
91
+ default: ""
92
+ },
93
+ languageStyle: {
94
+ type: String,
95
+ default: ""
96
+ }
97
+ },
98
+ emits: ["search", "update:language"],
99
+ setup(o, { emit: c }) {
100
+ let S = o, L = c, R = _(), { t: z } = C(), B = t(() => S.languages.map((e) => typeof e == "string" ? {
101
+ code: e,
102
+ label: e
103
+ } : e)), V = t(() => S.languageStyle && B.value.length > 1), H = t(() => !!(R.default || R.brand || S.title || S.subtitle || S.eyebrow || S.brand || S.logos.length || S.links.length || S.search || V.value)), U = d("");
104
+ function W() {
105
+ L("search", U.value), U.value = "";
106
+ }
107
+ return (t, c) => H.value ? (u(), i("header", w, [p(t.$slots, "default", {}, () => [a("div", T, [
108
+ g(R).brand || o.brand || o.logos.length ? (u(), i("div", E, [g(R).brand || o.brand ? (u(), n(m(o.home ? "a" : "span"), {
109
+ key: 0,
110
+ class: "mwnf-header__home",
111
+ href: o.home || void 0
112
+ }, {
113
+ default: y(() => [p(t.$slots, "brand", {}, () => [s(h(o.brand), 1)])]),
114
+ _: 3
115
+ }, 8, ["href"])) : r("", !0), o.logos.length ? (u(), i("div", D, [o.logosTitle ? (u(), i("p", O, h(o.logosTitle), 1)) : r("", !0), a("ul", k, [(u(!0), i(e, null, f(o.logos, (e) => (u(), i("li", { key: e.image }, [(u(), n(m(e.href ? "a" : "span"), {
116
+ class: "mwnf-header__logo",
117
+ href: e.href || void 0,
118
+ title: e.alt,
119
+ target: e.href ? "_blank" : void 0,
120
+ rel: e.href ? "noopener" : void 0
121
+ }, {
122
+ default: y(() => [a("img", {
123
+ src: e.image,
124
+ alt: e.alt ?? ""
125
+ }, null, 8, A)]),
126
+ _: 2
127
+ }, 1032, [
128
+ "href",
129
+ "title",
130
+ "target",
131
+ "rel"
132
+ ]))]))), 128))])])) : r("", !0)])) : r("", !0),
133
+ o.title || o.subtitle || o.eyebrow ? (u(), n(m(o.titleHref ? "a" : "div"), {
134
+ key: 1,
135
+ class: "mwnf-header__lockup",
136
+ href: o.titleHref || void 0
137
+ }, {
138
+ default: y(() => [
139
+ o.eyebrow ? (u(), i("p", j, h(o.eyebrow), 1)) : r("", !0),
140
+ o.title ? (u(), i("p", M, h(o.title), 1)) : r("", !0),
141
+ o.subtitle ? (u(), i("p", ee, h(o.subtitle), 1)) : r("", !0)
142
+ ]),
143
+ _: 1
144
+ }, 8, ["href"])) : r("", !0),
145
+ o.links.length || o.search || V.value ? (u(), i("div", te, [
146
+ o.links.length ? (u(), i("ul", ne, [(u(!0), i(e, null, f(o.links, (e) => (u(), i("li", { key: e.href ?? e.label }, [a("a", {
147
+ class: "mwnf-header__link",
148
+ href: e.href,
149
+ target: e.external ? "_blank" : void 0,
150
+ rel: e.external ? "noopener" : void 0
151
+ }, h(e.label), 9, re)]))), 128))])) : r("", !0),
152
+ o.search ? (u(), i("form", {
153
+ key: 1,
154
+ class: "mwnf-header__search",
155
+ role: "search",
156
+ onSubmit: x(W, ["prevent"])
157
+ }, [b(a("input", {
158
+ "onUpdate:modelValue": c[0] ||= (e) => U.value = e,
159
+ class: "mwnf-header__search-input",
160
+ type: "search",
161
+ placeholder: o.search.placeholder ?? "",
162
+ "aria-label": o.search.placeholder ?? o.search.submitLabel ?? ""
163
+ }, null, 8, ie), [[v, U.value]]), a("button", {
164
+ class: "mwnf-header__search-submit",
165
+ type: "submit",
166
+ "aria-label": o.search.submitLabel ?? ""
167
+ }, h(o.search.submitText ?? "⌕"), 9, ae)], 32)) : r("", !0),
168
+ V.value && o.languageStyle === "buttons" ? (u(), i("div", {
169
+ key: 2,
170
+ class: "mwnf-header__languages",
171
+ role: "group",
172
+ "aria-label": g(z)("layout.language.label")
173
+ }, [(u(!0), i(e, null, f(B.value, (e) => (u(), i("button", {
174
+ key: e.code,
175
+ type: "button",
176
+ class: l(["mwnf-header__language", { "mwnf-header__language--active": e.code === o.language }]),
177
+ "aria-pressed": e.code === o.language ? "true" : "false",
178
+ lang: e.code,
179
+ onClick: (t) => L("update:language", e.code)
180
+ }, h(e.label), 11, se))), 128))], 8, oe)) : V.value ? (u(), i("label", N, [a("span", P, h(g(z)("layout.language.label")), 1), a("select", {
181
+ class: "mwnf-header__language-select",
182
+ value: o.language,
183
+ onChange: c[1] ||= (e) => L("update:language", e.target.value)
184
+ }, [(u(!0), i(e, null, f(B.value, (e) => (u(), i("option", {
185
+ key: e.code,
186
+ value: e.code
187
+ }, h(e.label), 9, I))), 128))], 40, F)])) : r("", !0)
188
+ ])) : r("", !0)
189
+ ])])])) : r("", !0);
190
+ }
191
+ }, R = ["src", "alt"], z = {
192
+ key: 1,
193
+ class: "mwnf-banner__text"
194
+ }, B = {
195
+ key: 1,
196
+ class: "mwnf-banner__frame"
197
+ }, V = { class: "mwnf-banner__media" }, H = ["src", "alt"], U = {
198
+ key: 1,
199
+ class: "mwnf-banner__fallback",
200
+ "aria-hidden": "true"
201
+ }, W = {
202
+ key: 2,
203
+ class: "mwnf-banner__caption"
204
+ }, G = { class: "mwnf-banner__caption-name" }, K = {
205
+ key: 0,
206
+ class: "mwnf-banner__caption-rest"
207
+ }, ce = { class: "mwnf-banner__body" }, le = {
208
+ key: 0,
209
+ class: "mwnf-banner__eyebrow"
210
+ }, ue = ["href", "aria-label"], de = {
211
+ key: 2,
212
+ class: "mwnf-banner__subtitle"
213
+ }, fe = ["innerHTML"], pe = ["href", "aria-label"], me = {
214
+ key: 5,
215
+ class: "mwnf-banner__strapline"
216
+ }, he = {
217
+ key: 6,
218
+ class: "mwnf-banner__text"
219
+ }, q = {
220
+ __name: "AppBanner",
221
+ props: {
222
+ variant: {
223
+ type: String,
224
+ default: ""
225
+ },
226
+ image: {
227
+ type: String,
228
+ default: ""
229
+ },
230
+ imageAlt: {
231
+ type: String,
232
+ default: ""
233
+ },
234
+ text: {
235
+ type: String,
236
+ default: ""
237
+ },
238
+ caption: {
239
+ type: [String, Object],
240
+ default: ""
241
+ },
242
+ captionLabel: {
243
+ type: String,
244
+ default: ""
245
+ },
246
+ eyebrow: {
247
+ type: String,
248
+ default: ""
249
+ },
250
+ title: {
251
+ type: String,
252
+ default: ""
253
+ },
254
+ titleHref: {
255
+ type: String,
256
+ default: ""
257
+ },
258
+ subtitle: {
259
+ type: String,
260
+ default: ""
261
+ },
262
+ headline: {
263
+ type: String,
264
+ default: ""
265
+ },
266
+ enter: {
267
+ type: Object,
268
+ default: null
269
+ },
270
+ strapline: {
271
+ type: String,
272
+ default: ""
273
+ }
274
+ },
275
+ setup(o) {
276
+ let c = o, f = _(), g = t(() => !!(f.default || c.image || c.text || c.title || c.eyebrow || c.headline)), v = t(() => c.headline ? S(c.headline) : ""), b = t(() => {
277
+ let e = c.caption;
278
+ if (!e) return null;
279
+ let t = typeof e == "string" ? e : e.name ?? "", n = typeof e == "string" ? "" : [
280
+ e.partner,
281
+ e.location,
282
+ e.country
283
+ ].filter(Boolean).join(", ");
284
+ return {
285
+ name: [c.captionLabel, t].filter(Boolean).join(" "),
286
+ rest: n
287
+ };
288
+ }), x = t(() => c.imageAlt || b.value?.name || c.title), C = d(!1);
289
+ return (t, c) => g.value ? (u(), i("section", {
290
+ key: 0,
291
+ class: l(["mwnf-banner", o.variant ? `mwnf-banner--${o.variant}` : ""])
292
+ }, [p(t.$slots, "default", {}, () => [o.variant ? (u(), i("div", B, [a("div", V, [o.image && !C.value ? (u(), i("img", {
293
+ key: 0,
294
+ class: "mwnf-banner__image",
295
+ src: o.image,
296
+ alt: x.value,
297
+ onError: c[0] ||= (e) => C.value = !0
298
+ }, null, 40, H)) : (u(), i("div", U)), b.value ? (u(), i("p", W, [a("span", G, h(b.value.name), 1), b.value.rest ? (u(), i("span", K, h(b.value.rest), 1)) : r("", !0)])) : r("", !0)]), a("div", ce, [
299
+ o.eyebrow ? (u(), i("p", le, h(o.eyebrow), 1)) : r("", !0),
300
+ o.title ? (u(), n(m(o.titleHref ? "a" : "p"), {
301
+ key: 1,
302
+ class: "mwnf-banner__title",
303
+ href: o.titleHref || void 0
304
+ }, {
305
+ default: y(() => [s(h(o.title) + " ", 1), o.variant === "strip" && o.enter ? (u(), i("a", {
306
+ key: 0,
307
+ class: "mwnf-banner__enter",
308
+ href: o.enter.href,
309
+ "aria-label": o.enter.ariaLabel
310
+ }, h(o.enter.label), 9, ue)) : r("", !0)]),
311
+ _: 1
312
+ }, 8, ["href"])) : r("", !0),
313
+ o.subtitle ? (u(), i("p", de, h(o.subtitle), 1)) : r("", !0),
314
+ v.value ? (u(), i("div", {
315
+ key: 3,
316
+ class: "mwnf-banner__headline",
317
+ innerHTML: v.value
318
+ }, null, 8, fe)) : r("", !0),
319
+ o.variant !== "strip" && o.enter ? (u(), i("a", {
320
+ key: 4,
321
+ class: "mwnf-banner__enter",
322
+ href: o.enter.href,
323
+ "aria-label": o.enter.ariaLabel
324
+ }, h(o.enter.label), 9, pe)) : r("", !0),
325
+ o.strapline ? (u(), i("p", me, h(o.strapline), 1)) : r("", !0),
326
+ o.text ? (u(), i("p", he, h(o.text), 1)) : r("", !0)
327
+ ])])) : (u(), i(e, { key: 0 }, [o.image ? (u(), i("img", {
328
+ key: 0,
329
+ class: "mwnf-banner__image",
330
+ src: o.image,
331
+ alt: o.imageAlt
332
+ }, null, 8, R)) : r("", !0), o.text ? (u(), i("p", z, h(o.text), 1)) : r("", !0)], 64))])], 2)) : r("", !0);
333
+ }
334
+ }, ge = ["aria-label"], _e = { class: "mwnf-nav__bar" }, ve = ["aria-expanded"], ye = {
335
+ key: 0,
336
+ id: "mwnf-nav-links",
337
+ class: "mwnf-nav__links"
338
+ }, be = [
339
+ "href",
340
+ "aria-current",
341
+ "target",
342
+ "rel"
343
+ ], xe = {
344
+ key: 1,
345
+ class: "mwnf-nav__language"
346
+ }, Se = { class: "mwnf-nav__language-label" }, Ce = ["value"], we = ["value"], Te = {
347
+ key: 0,
348
+ class: "mwnf-nav__notice"
349
+ }, Ee = {
350
+ key: 0,
351
+ class: "mwnf-nav__notice-title"
352
+ }, J = {
353
+ __name: "AppNavigation",
354
+ props: {
355
+ links: {
356
+ type: Array,
357
+ default: () => []
358
+ },
359
+ languages: {
360
+ type: Array,
361
+ default: () => []
362
+ },
363
+ language: {
364
+ type: String,
365
+ default: ""
366
+ },
367
+ languageSwitcher: {
368
+ type: Boolean,
369
+ default: !0
370
+ },
371
+ notice: {
372
+ type: Object,
373
+ default: null
374
+ }
375
+ },
376
+ emits: ["update:language"],
377
+ setup(n, { emit: o }) {
378
+ let c = n, m = o, v = _(), { t: y } = C(), b = t(() => c.languages.map((e) => typeof e == "string" ? {
379
+ code: e,
380
+ label: e
381
+ } : e)), x = t(() => c.languageSwitcher && b.value.length > 1), S = t(() => !!(v.default || c.links.length || x.value || c.notice)), w = d(!1);
382
+ return (t, o) => S.value ? (u(), i("nav", {
383
+ key: 0,
384
+ class: l(["mwnf-nav", { "mwnf-nav--open": w.value }]),
385
+ "aria-label": g(y)("layout.nav.label")
386
+ }, [a("div", _e, [
387
+ n.links.length ? (u(), i("button", {
388
+ key: 0,
389
+ type: "button",
390
+ class: "mwnf-nav__toggle",
391
+ "aria-expanded": w.value ? "true" : "false",
392
+ "aria-controls": "mwnf-nav-links",
393
+ onClick: o[0] ||= (e) => w.value = !w.value
394
+ }, [o[3] ||= a("span", {
395
+ class: "mwnf-nav__toggle-icon",
396
+ "aria-hidden": "true"
397
+ }, "☰", -1), s(" " + h(g(y)("layout.nav.menu")), 1)], 8, ve)) : r("", !0),
398
+ p(t.$slots, "default", {}, () => [n.links.length ? (u(), i("ul", ye, [(u(!0), i(e, null, f(n.links, (e) => (u(), i("li", { key: e.href ?? e.label }, [a("a", {
399
+ class: l(["mwnf-nav__link", { "mwnf-nav__link--active": e.active }]),
400
+ href: e.href,
401
+ "aria-current": e.active ? "page" : void 0,
402
+ target: e.external ? "_blank" : void 0,
403
+ rel: e.external ? "noopener" : void 0,
404
+ onClick: o[1] ||= (e) => w.value = !1
405
+ }, h(e.label), 11, be)]))), 128))])) : r("", !0)]),
406
+ x.value ? (u(), i("label", xe, [a("span", Se, h(g(y)("layout.language.label")), 1), a("select", {
407
+ class: "mwnf-nav__language-select",
408
+ value: n.language,
409
+ onChange: o[2] ||= (e) => m("update:language", e.target.value)
410
+ }, [(u(!0), i(e, null, f(b.value, (e) => (u(), i("option", {
411
+ key: e.code,
412
+ value: e.code
413
+ }, h(e.label), 9, we))), 128))], 40, Ce)])) : r("", !0)
414
+ ]), n.notice && (n.notice.text || n.notice.title) ? (u(), i("p", Te, [n.notice.title ? (u(), i("strong", Ee, h(n.notice.title), 1)) : r("", !0), s(" " + h(n.notice.text), 1)])) : r("", !0)], 10, ge)) : r("", !0);
415
+ }
416
+ }, De = {
417
+ key: 0,
418
+ id: "mwnf-content",
419
+ class: "mwnf-content"
420
+ }, Y = {
421
+ __name: "AppContent",
422
+ setup(e) {
423
+ let n = _(), a = t(() => !!n.default);
424
+ return (e, t) => a.value ? (u(), i("main", De, [p(e.$slots, "default")])) : r("", !0);
425
+ }
426
+ }, Oe = ["aria-label"], ke = {
427
+ key: 0,
428
+ class: "mwnf-hyperlinks__title"
429
+ }, Ae = {
430
+ key: 1,
431
+ class: "mwnf-hyperlinks__subtitle"
432
+ }, je = {
433
+ key: 1,
434
+ class: "mwnf-hyperlinks__title"
435
+ }, Me = { class: "mwnf-hyperlinks__list" }, Ne = [
436
+ "href",
437
+ "target",
438
+ "rel"
439
+ ], Pe = { class: "mwnf-hyperlinks__label" }, Fe = {
440
+ key: 0,
441
+ class: "mwnf-hyperlinks__description"
442
+ }, X = {
443
+ __name: "AppHyperlinks",
444
+ props: {
445
+ variant: {
446
+ type: String,
447
+ default: ""
448
+ },
449
+ title: {
450
+ type: String,
451
+ default: ""
452
+ },
453
+ titleHref: {
454
+ type: String,
455
+ default: ""
456
+ },
457
+ subtitle: {
458
+ type: String,
459
+ default: ""
460
+ },
461
+ links: {
462
+ type: Array,
463
+ default: () => []
464
+ }
465
+ },
466
+ setup(o) {
467
+ let s = o, c = _(), { t: d } = C(), v = t(() => !!(c.default || s.links.length));
468
+ return (t, s) => v.value ? (u(), i("section", {
469
+ key: 0,
470
+ class: l(["mwnf-hyperlinks", o.variant ? `mwnf-hyperlinks--${o.variant}` : ""]),
471
+ "aria-label": o.title || g(d)("layout.hyperlinks.label")
472
+ }, [o.variant === "tiles" ? (u(), i(e, { key: 0 }, [o.title || o.subtitle ? (u(), n(m(o.titleHref ? "a" : "div"), {
473
+ key: 0,
474
+ class: "mwnf-hyperlinks__lockup",
475
+ href: o.titleHref || void 0
476
+ }, {
477
+ default: y(() => [o.title ? (u(), i("p", ke, h(o.title), 1)) : r("", !0), o.subtitle ? (u(), i("p", Ae, h(o.subtitle), 1)) : r("", !0)]),
478
+ _: 1
479
+ }, 8, ["href"])) : r("", !0)], 64)) : o.title ? (u(), i("p", je, h(o.title), 1)) : r("", !0), p(t.$slots, "default", {}, () => [a("ul", Me, [(u(!0), i(e, null, f(o.links, (e) => (u(), i("li", { key: e.href ?? e.label }, [a("a", {
480
+ class: "mwnf-hyperlinks__link",
481
+ href: e.href,
482
+ target: e.external ? "_blank" : void 0,
483
+ rel: e.external ? "noopener" : void 0
484
+ }, [a("span", Pe, h(e.label), 1), e.description ? (u(), i("span", Fe, h(e.description), 1)) : r("", !0)], 8, Ne)]))), 128))])])], 10, Oe)) : r("", !0);
485
+ }
486
+ }, Ie = ["aria-label"], Le = {
487
+ key: 0,
488
+ class: "mwnf-sponsors__title"
489
+ }, Re = {
490
+ key: 0,
491
+ class: "mwnf-sponsors__list"
492
+ }, ze = ["src", "alt"], Be = {
493
+ key: 1,
494
+ class: "mwnf-sponsors__groups"
495
+ }, Ve = {
496
+ key: 0,
497
+ class: "mwnf-sponsors__group-title"
498
+ }, He = { class: "mwnf-sponsors__list" }, Ue = ["src", "alt"], Z = {
499
+ __name: "AppSponsors",
500
+ props: {
501
+ title: {
502
+ type: String,
503
+ default: ""
504
+ },
505
+ sponsors: {
506
+ type: Array,
507
+ default: () => []
508
+ },
509
+ groups: {
510
+ type: Array,
511
+ default: () => []
512
+ }
513
+ },
514
+ setup(o) {
515
+ let c = o, l = _(), { t: d } = C(), v = t(() => c.groups.filter((e) => e?.sponsors?.length)), b = t(() => !!(l.default || c.sponsors.length || v.value.length));
516
+ return (t, c) => b.value ? (u(), i("section", {
517
+ key: 0,
518
+ class: "mwnf-sponsors",
519
+ "aria-label": o.title || g(d)("layout.sponsors.label")
520
+ }, [o.title ? (u(), i("p", Le, h(o.title), 1)) : r("", !0), p(t.$slots, "default", {}, () => [o.sponsors.length ? (u(), i("ul", Re, [(u(!0), i(e, null, f(o.sponsors, (t) => (u(), i("li", { key: t.name }, [(u(), n(m(t.href ? "a" : "span"), {
521
+ class: "mwnf-sponsors__item",
522
+ href: t.href,
523
+ target: t.href ? "_blank" : void 0,
524
+ rel: t.href ? "noopener" : void 0
525
+ }, {
526
+ default: y(() => [t.logo ? (u(), i("img", {
527
+ key: 0,
528
+ class: "mwnf-sponsors__logo",
529
+ src: t.logo,
530
+ alt: t.name
531
+ }, null, 8, ze)) : (u(), i(e, { key: 1 }, [s(h(t.name), 1)], 64))]),
532
+ _: 2
533
+ }, 1032, [
534
+ "href",
535
+ "target",
536
+ "rel"
537
+ ]))]))), 128))])) : r("", !0), v.value.length ? (u(), i("div", Be, [(u(!0), i(e, null, f(v.value, (t) => (u(), i("div", {
538
+ key: t.title,
539
+ class: "mwnf-sponsors__group"
540
+ }, [t.title ? (u(), i("p", Ve, h(t.title), 1)) : r("", !0), a("ul", He, [(u(!0), i(e, null, f(t.sponsors, (t) => (u(), i("li", { key: t.name }, [(u(), n(m(t.href ? "a" : "span"), {
541
+ class: "mwnf-sponsors__item",
542
+ href: t.href,
543
+ target: t.href ? "_blank" : void 0,
544
+ rel: t.href ? "noopener" : void 0,
545
+ title: t.name
546
+ }, {
547
+ default: y(() => [t.logo ? (u(), i("img", {
548
+ key: 0,
549
+ class: "mwnf-sponsors__logo",
550
+ src: t.logo,
551
+ alt: t.name
552
+ }, null, 8, Ue)) : (u(), i(e, { key: 1 }, [s(h(t.name), 1)], 64))]),
553
+ _: 2
554
+ }, 1032, [
555
+ "href",
556
+ "target",
557
+ "rel",
558
+ "title"
559
+ ]))]))), 128))])]))), 128))])) : r("", !0)])], 8, Ie)) : r("", !0);
560
+ }
561
+ }, We = {
562
+ key: 0,
563
+ class: "mwnf-footer"
564
+ }, Ge = {
565
+ key: 0,
566
+ class: "mwnf-footer__links"
567
+ }, Q = [
568
+ "href",
569
+ "target",
570
+ "rel"
571
+ ], Ke = {
572
+ key: 1,
573
+ class: "mwnf-footer__text"
574
+ }, qe = {
575
+ key: 2,
576
+ class: "mwnf-footer__attribution"
577
+ }, Je = {
578
+ key: 0,
579
+ class: "mwnf-footer__attribution-label"
580
+ }, Ye = ["href"], $ = {
581
+ __name: "AppFooter",
582
+ props: {
583
+ text: {
584
+ type: String,
585
+ default: ""
586
+ },
587
+ links: {
588
+ type: Array,
589
+ default: () => []
590
+ },
591
+ attributionLabel: {
592
+ type: String,
593
+ default: ""
594
+ },
595
+ attributionText: {
596
+ type: String,
597
+ default: ""
598
+ },
599
+ termsHref: {
600
+ type: String,
601
+ default: ""
602
+ },
603
+ termsLabel: {
604
+ type: String,
605
+ default: ""
606
+ }
607
+ },
608
+ setup(n) {
609
+ let o = n, c = _(), l = t(() => !!(c.default || o.text || o.links.length || o.attributionText));
610
+ return (t, o) => l.value ? (u(), i("footer", We, [p(t.$slots, "default", {}, () => [
611
+ n.links.length ? (u(), i("ul", Ge, [(u(!0), i(e, null, f(n.links, (e) => (u(), i("li", { key: e.href ?? e.label }, [a("a", {
612
+ class: "mwnf-footer__link",
613
+ href: e.href,
614
+ target: e.external ? "_blank" : void 0,
615
+ rel: e.external ? "noopener" : void 0
616
+ }, h(e.label), 9, Q)]))), 128))])) : r("", !0),
617
+ n.text ? (u(), i("p", Ke, h(n.text), 1)) : r("", !0),
618
+ n.attributionText ? (u(), i("p", qe, [
619
+ n.attributionLabel ? (u(), i("span", Je, h(n.attributionLabel), 1)) : r("", !0),
620
+ s(" " + h(n.attributionText) + " ", 1),
621
+ n.termsHref ? (u(), i("a", {
622
+ key: 1,
623
+ class: "mwnf-footer__terms",
624
+ href: n.termsHref
625
+ }, h(n.termsLabel), 9, Ye)) : r("", !0)
626
+ ])) : r("", !0)
627
+ ])])) : r("", !0);
628
+ }
629
+ }, Xe = { class: "mwnf-page" }, Ze = {
630
+ class: "mwnf-skip-link",
631
+ href: "#mwnf-content"
632
+ }, Qe = {
633
+ __name: "PageShell",
634
+ props: {
635
+ headerTitle: {
636
+ type: String,
637
+ default: ""
638
+ },
639
+ headerSubtitle: {
640
+ type: String,
641
+ default: ""
642
+ },
643
+ headerEyebrow: {
644
+ type: String,
645
+ default: ""
646
+ },
647
+ headerTitleHref: {
648
+ type: String,
649
+ default: ""
650
+ },
651
+ headerHome: {
652
+ type: String,
653
+ default: ""
654
+ },
655
+ headerBrand: {
656
+ type: String,
657
+ default: ""
658
+ },
659
+ headerLogos: {
660
+ type: Array,
661
+ default: () => []
662
+ },
663
+ headerLogosTitle: {
664
+ type: String,
665
+ default: ""
666
+ },
667
+ headerLinks: {
668
+ type: Array,
669
+ default: () => []
670
+ },
671
+ search: {
672
+ type: Object,
673
+ default: null
674
+ },
675
+ languages: {
676
+ type: Array,
677
+ default: () => []
678
+ },
679
+ language: {
680
+ type: String,
681
+ default: ""
682
+ },
683
+ languagePlacement: {
684
+ type: String,
685
+ default: "navigation"
686
+ },
687
+ languageStyle: {
688
+ type: String,
689
+ default: "select"
690
+ },
691
+ bannerVariant: {
692
+ type: String,
693
+ default: ""
694
+ },
695
+ bannerImage: {
696
+ type: String,
697
+ default: ""
698
+ },
699
+ bannerImageAlt: {
700
+ type: String,
701
+ default: ""
702
+ },
703
+ bannerText: {
704
+ type: String,
705
+ default: ""
706
+ },
707
+ bannerCaption: {
708
+ type: [String, Object],
709
+ default: ""
710
+ },
711
+ bannerCaptionLabel: {
712
+ type: String,
713
+ default: ""
714
+ },
715
+ bannerEyebrow: {
716
+ type: String,
717
+ default: ""
718
+ },
719
+ bannerTitle: {
720
+ type: String,
721
+ default: ""
722
+ },
723
+ bannerTitleHref: {
724
+ type: String,
725
+ default: ""
726
+ },
727
+ bannerSubtitle: {
728
+ type: String,
729
+ default: ""
730
+ },
731
+ bannerHeadline: {
732
+ type: String,
733
+ default: ""
734
+ },
735
+ bannerEnter: {
736
+ type: Object,
737
+ default: null
738
+ },
739
+ bannerStrapline: {
740
+ type: String,
741
+ default: ""
742
+ },
743
+ navLinks: {
744
+ type: Array,
745
+ default: () => []
746
+ },
747
+ notice: {
748
+ type: Object,
749
+ default: null
750
+ },
751
+ hyperlinksVariant: {
752
+ type: String,
753
+ default: ""
754
+ },
755
+ hyperlinksTitle: {
756
+ type: String,
757
+ default: ""
758
+ },
759
+ hyperlinksTitleHref: {
760
+ type: String,
761
+ default: ""
762
+ },
763
+ hyperlinksSubtitle: {
764
+ type: String,
765
+ default: ""
766
+ },
767
+ hyperlinks: {
768
+ type: Array,
769
+ default: () => []
770
+ },
771
+ sponsorsTitle: {
772
+ type: String,
773
+ default: ""
774
+ },
775
+ sponsors: {
776
+ type: Array,
777
+ default: () => []
778
+ },
779
+ sponsorGroups: {
780
+ type: Array,
781
+ default: () => []
782
+ },
783
+ footerText: {
784
+ type: String,
785
+ default: ""
786
+ },
787
+ footerLinks: {
788
+ type: Array,
789
+ default: () => []
790
+ },
791
+ footerAttributionLabel: {
792
+ type: String,
793
+ default: ""
794
+ },
795
+ footerAttributionText: {
796
+ type: String,
797
+ default: ""
798
+ },
799
+ footerTermsHref: {
800
+ type: String,
801
+ default: ""
802
+ },
803
+ footerTermsLabel: {
804
+ type: String,
805
+ default: ""
806
+ }
807
+ },
808
+ emits: ["update:language", "search"],
809
+ setup(e, { emit: t }) {
810
+ let n = t, { t: r } = C();
811
+ return (t, s) => (u(), i("div", Xe, [
812
+ a("a", Ze, h(g(r)("layout.nav.skipToContent")), 1),
813
+ c(L, {
814
+ title: e.headerTitle,
815
+ subtitle: e.headerSubtitle,
816
+ eyebrow: e.headerEyebrow,
817
+ "title-href": e.headerTitleHref,
818
+ home: e.headerHome,
819
+ brand: e.headerBrand,
820
+ logos: e.headerLogos,
821
+ "logos-title": e.headerLogosTitle,
822
+ links: e.headerLinks,
823
+ search: e.search,
824
+ languages: e.languages,
825
+ language: e.language,
826
+ "language-style": e.languagePlacement === "header" ? e.languageStyle : "",
827
+ onSearch: s[0] ||= (e) => n("search", e),
828
+ "onUpdate:language": s[1] ||= (e) => n("update:language", e)
829
+ }, o({ _: 2 }, [t.$slots.header ? {
830
+ name: "default",
831
+ fn: y(() => [p(t.$slots, "header")]),
832
+ key: "0"
833
+ } : void 0, t.$slots["header-brand"] ? {
834
+ name: "brand",
835
+ fn: y(() => [p(t.$slots, "header-brand")]),
836
+ key: "1"
837
+ } : void 0]), 1032, [
838
+ "title",
839
+ "subtitle",
840
+ "eyebrow",
841
+ "title-href",
842
+ "home",
843
+ "brand",
844
+ "logos",
845
+ "logos-title",
846
+ "links",
847
+ "search",
848
+ "languages",
849
+ "language",
850
+ "language-style"
851
+ ]),
852
+ c(q, {
853
+ variant: e.bannerVariant,
854
+ image: e.bannerImage,
855
+ "image-alt": e.bannerImageAlt,
856
+ text: e.bannerText,
857
+ caption: e.bannerCaption,
858
+ "caption-label": e.bannerCaptionLabel,
859
+ eyebrow: e.bannerEyebrow,
860
+ title: e.bannerTitle,
861
+ "title-href": e.bannerTitleHref,
862
+ subtitle: e.bannerSubtitle,
863
+ headline: e.bannerHeadline,
864
+ enter: e.bannerEnter,
865
+ strapline: e.bannerStrapline
866
+ }, o({ _: 2 }, [t.$slots.banner ? {
867
+ name: "default",
868
+ fn: y(() => [p(t.$slots, "banner")]),
869
+ key: "0"
870
+ } : void 0]), 1032, [
871
+ "variant",
872
+ "image",
873
+ "image-alt",
874
+ "text",
875
+ "caption",
876
+ "caption-label",
877
+ "eyebrow",
878
+ "title",
879
+ "title-href",
880
+ "subtitle",
881
+ "headline",
882
+ "enter",
883
+ "strapline"
884
+ ]),
885
+ c(J, {
886
+ links: e.navLinks,
887
+ languages: e.languages,
888
+ language: e.language,
889
+ "language-switcher": e.languagePlacement !== "header",
890
+ notice: e.notice,
891
+ "onUpdate:language": s[2] ||= (e) => n("update:language", e)
892
+ }, o({ _: 2 }, [t.$slots.navigation ? {
893
+ name: "default",
894
+ fn: y(() => [p(t.$slots, "navigation")]),
895
+ key: "0"
896
+ } : void 0]), 1032, [
897
+ "links",
898
+ "languages",
899
+ "language",
900
+ "language-switcher",
901
+ "notice"
902
+ ]),
903
+ c(Y, null, o({ _: 2 }, [t.$slots.default ? {
904
+ name: "default",
905
+ fn: y(() => [p(t.$slots, "default")]),
906
+ key: "0"
907
+ } : void 0]), 1024),
908
+ c(X, {
909
+ variant: e.hyperlinksVariant,
910
+ title: e.hyperlinksTitle,
911
+ "title-href": e.hyperlinksTitleHref,
912
+ subtitle: e.hyperlinksSubtitle,
913
+ links: e.hyperlinks
914
+ }, o({ _: 2 }, [t.$slots.hyperlinks ? {
915
+ name: "default",
916
+ fn: y(() => [p(t.$slots, "hyperlinks")]),
917
+ key: "0"
918
+ } : void 0]), 1032, [
919
+ "variant",
920
+ "title",
921
+ "title-href",
922
+ "subtitle",
923
+ "links"
924
+ ]),
925
+ c(Z, {
926
+ title: e.sponsorsTitle,
927
+ sponsors: e.sponsors,
928
+ groups: e.sponsorGroups
929
+ }, o({ _: 2 }, [t.$slots.sponsors ? {
930
+ name: "default",
931
+ fn: y(() => [p(t.$slots, "sponsors")]),
932
+ key: "0"
933
+ } : void 0]), 1032, [
934
+ "title",
935
+ "sponsors",
936
+ "groups"
937
+ ]),
938
+ c($, {
939
+ text: e.footerText,
940
+ links: e.footerLinks,
941
+ "attribution-label": e.footerAttributionLabel,
942
+ "attribution-text": e.footerAttributionText,
943
+ "terms-href": e.footerTermsHref,
944
+ "terms-label": e.footerTermsLabel
945
+ }, o({ _: 2 }, [t.$slots.footer ? {
946
+ name: "default",
947
+ fn: y(() => [p(t.$slots, "footer")]),
948
+ key: "0"
949
+ } : void 0]), 1032, [
950
+ "text",
951
+ "links",
952
+ "attribution-label",
953
+ "attribution-text",
954
+ "terms-href",
955
+ "terms-label"
956
+ ])
957
+ ]));
958
+ }
959
+ };
960
+ //#endregion
961
+ export { Y as a, L as c, X as i, $ as n, J as o, Z as r, q as s, Qe as t };