@museumwnf/viewer-layout 2.17.0 → 2.18.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,1911 @@
1
+ import { C as e, S as t, T as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, m as f, n as p, p as m, r as h, s as g, t as _, u as ee, v, x as y, y as b } from "./OnDisplayIn-D6r_KvpI.js";
2
+ import { Fragment as x, computed as S, createBlock as C, createCommentVNode as w, createElementBlock as T, createElementVNode as E, createSlots as D, createTextVNode as O, createVNode as k, guardReactiveProps as A, isRef as j, mergeProps as M, normalizeClass as N, normalizeProps as P, openBlock as F, reactive as I, ref as L, renderList as R, renderSlot as z, resolveDynamicComponent as B, toDisplayString as V, unref as H, useSlots as te, vModelCheckbox as ne, vModelRadio as re, vModelSelect as U, vModelText as W, watch as ie, withCtx as G, withDirectives as K } from "vue";
3
+ import { I18nText as ae, NotFoundView as oe, byId as q, centuryPresets as J, citation as Y, dateRange as X, entityRef as se, eventDateLabel as Z, glossaryEntries as Q, glossaryTermsForText as ce, groupByCountry as le, languageLabels as ue, loadEntities as de, md as fe, mdInline as pe, mdStrip as me, mwnfLinks as he, partnerHierarchy as ge, partnerView as _e, renderBlock as ve, renderInline as ye, renderPlain as be, sheetRows as xe, sortChronological as Se, sourceUrl as Ce, useCollectionTree as we, useDataPackage as Te, useFacets as Ee, useGlossaryPopup as De, useI18n as Oe, useListQuery as $, useLocale as ke, usePagination as Ae, useProjects as je, useRecordLanguage as Me, useRecordSheet as Ne, useRelatedRecords as Pe, useSearchLanguage as Fe, useTimelineEvents as Ie, yearBuckets as Le } from "@museumwnf/viewer-core";
4
+ import { useRoute as Re, useRouter as ze } from "vue-router";
5
+ //#region src/views/CatalogueResultsView.vue
6
+ var Be = { class: "mwnf-catalogue" }, Ve = {
7
+ key: 0,
8
+ class: "mwnf-catalogue__title"
9
+ }, He = {
10
+ key: 0,
11
+ class: "mwnf-facet"
12
+ }, Ue = {
13
+ key: 0,
14
+ class: "mwnf-facet__label"
15
+ }, We = [
16
+ "value",
17
+ "placeholder",
18
+ "onInput"
19
+ ], Ge = {
20
+ key: 1,
21
+ class: "mwnf-facet"
22
+ }, Ke = {
23
+ key: 0,
24
+ class: "mwnf-facet__label"
25
+ }, qe = [
26
+ "value",
27
+ "placeholder",
28
+ "onInput"
29
+ ], Je = {
30
+ key: 2,
31
+ class: "mwnf-facet mwnf-facet--checkbox"
32
+ }, Ye = ["checked", "onChange"], Xe = {
33
+ key: 0,
34
+ class: "mwnf-facet__label"
35
+ }, Ze = { class: "mwnf-catalogue__body" }, Qe = { class: "mwnf-catalogue__results" }, $e = {
36
+ key: 0,
37
+ class: "mwnf-catalogue__aside"
38
+ }, et = {
39
+ __name: "CatalogueResultsView",
40
+ props: {
41
+ spec: {
42
+ type: Object,
43
+ required: !0
44
+ },
45
+ entity: {
46
+ type: String,
47
+ default: ""
48
+ }
49
+ },
50
+ setup(n) {
51
+ let r = n, { t: i, locale: o } = Oe(), s = Te(), c = r.spec.entity ?? r.entity, l = S(() => r.spec), u = se(c);
52
+ c && s.loadTranslations(c, "en");
53
+ let d = S(() => l.value.keys ?? [...Object.keys(l.value.facets ?? {}), ...f()]);
54
+ function f() {
55
+ let e = l.value.dates;
56
+ return e ? [e.begin ?? "begin", e.end ?? "end"] : [];
57
+ }
58
+ let { filters: p, page: m, active: h, apply: g, reset: _, goToPage: ee } = $({ keys: d.value }), j = {
59
+ t: i,
60
+ locale: o,
61
+ tr: (e, t) => s.tr(e, t, o.value, "en"),
62
+ renderInline: ye,
63
+ renderPlain: be
64
+ };
65
+ function M(e, t) {
66
+ if (typeof t.values == "function") return [t.values(e)].flat();
67
+ let n = e?.[t.field];
68
+ return Array.isArray(n) ? n : [n];
69
+ }
70
+ let N = S(() => {
71
+ let e = l.value, t = u.value ?? [];
72
+ e.scope && (t = t.filter((t) => e.scope(t, p, j)));
73
+ for (let [n, r] of Object.entries(e.facets ?? {})) {
74
+ let e = p[n];
75
+ e && (t = t.filter((t) => M(t, r).map(String).includes(String(e))));
76
+ }
77
+ e.match && (t = t.filter((t) => e.match(t, p, j))), e.narrow && (t = e.narrow(t, p, j)), e.dates && (t = X(t, {
78
+ begin: p[e.dates.begin ?? "begin"],
79
+ end: p[e.dates.end ?? "end"],
80
+ mode: e.dates.mode ?? "overlap",
81
+ fields: e.dates.fields
82
+ }));
83
+ let n = e.sort ?? "chronological";
84
+ return typeof n == "function" ? n(t) : n === "chronological" ? Se(t) : n && typeof n == "object" ? Se(t, n) : t;
85
+ }), I = S(() => l.value.facetScope === "matching" ? N.value : u.value ?? []), L = Ee(I, () => l.value.facets ?? {}), te = Ae(N, {
86
+ page: m,
87
+ size: () => l.value.pageSize ?? 20
88
+ }), ne = S(() => l.value.recordRoute ?? (r.entity ? `${r.entity}-detail` : "item"));
89
+ function re(e) {
90
+ let t = j.tr(c, e.id).name ?? e.internal_name ?? e.id;
91
+ return {
92
+ id: e.id,
93
+ image: e.images?.[0]?.url ?? "",
94
+ imageAlt: be(String(t)),
95
+ name: ye(String(t)),
96
+ meta: [],
97
+ badge: e.type ?? "",
98
+ to: {
99
+ name: ne.value,
100
+ params: { id: e.id }
101
+ }
102
+ };
103
+ }
104
+ let U = S(() => te.value.rows.map((e) => (l.value.record ?? re)(e, j))), W = S(() => ({
105
+ filters: p,
106
+ active: h.value,
107
+ apply: g,
108
+ reset: _,
109
+ goToPage: ee,
110
+ matching: N.value,
111
+ pageInfo: te.value,
112
+ options: L.value
113
+ })), ie = S(() => {
114
+ let e = l.value;
115
+ return e.summary ? e.summary({
116
+ ...W.value,
117
+ t: i,
118
+ total: (u.value ?? []).length
119
+ }) : [{
120
+ label: i(e.summaryLabel ?? "catalogue.results.itemsFound"),
121
+ count: te.value.total
122
+ }];
123
+ }), K = S(() => l.value.filterMode ?? "apply"), ae = S(() => l.value.controls ?? []), oe = S(() => ae.value.length > 0 || !!l.value.panel);
124
+ function q(e, t) {
125
+ K.value === "immediate" ? g({ [e]: t }) : p[e] = t;
126
+ }
127
+ let J = S(() => i(l.value.empty ?? "catalogue.results.noResultsFilter")), Y = S(() => l.value.variant === "grid"), Z = S(() => ({
128
+ window: 5,
129
+ jump: !1,
130
+ ends: !0,
131
+ ...l.value.pagination ?? {}
132
+ }));
133
+ return (n, r) => (F(), T("section", Be, [
134
+ z(n.$slots, "before", P(A(W.value))),
135
+ l.value.title ? (F(), T("h1", Ve, V(H(i)(l.value.title)), 1)) : w("", !0),
136
+ oe.value || n.$slots.filters ? (F(), C(b, {
137
+ key: 1,
138
+ class: "mwnf-catalogue__filters",
139
+ mode: K.value,
140
+ title: l.value.filterTitle ? H(i)(l.value.filterTitle) : "",
141
+ "reset-label": l.value.resetLabel ? H(i)(l.value.resetLabel) : "",
142
+ onApply: r[2] ||= (e) => H(g)(),
143
+ onReset: r[3] ||= (e) => H(_)()
144
+ }, {
145
+ default: G(() => [(F(!0), T(x, null, R(ae.value, (e) => (F(), T(x, { key: e.key }, [e.type === "year" ? (F(), T("label", He, [e.label ? (F(), T("span", Ue, V(H(i)(e.label)), 1)) : w("", !0), E("input", {
146
+ type: "number",
147
+ class: "mwnf-facet__select",
148
+ value: H(p)[e.key],
149
+ placeholder: e.placeholder ? H(i)(e.placeholder) : "",
150
+ onInput: (t) => H(p)[e.key] = t.target.value,
151
+ onChange: r[0] ||= (e) => K.value === "immediate" ? H(g)() : null
152
+ }, null, 40, We)])) : e.type === "query" ? (F(), T("label", Ge, [e.label ? (F(), T("span", Ke, V(H(i)(e.label)), 1)) : w("", !0), E("input", {
153
+ type: "text",
154
+ class: "mwnf-facet__select",
155
+ value: H(p)[e.key],
156
+ placeholder: e.placeholder ? H(i)(e.placeholder) : "",
157
+ onInput: (t) => H(p)[e.key] = t.target.value,
158
+ onChange: r[1] ||= (e) => K.value === "immediate" ? H(g)() : null
159
+ }, null, 40, qe)])) : e.type === "checkbox" ? (F(), T("label", Je, [E("input", {
160
+ type: "checkbox",
161
+ class: "mwnf-facet__checkbox",
162
+ checked: H(p)[e.key] === "1",
163
+ onChange: (t) => q(e.key, t.target.checked ? "1" : "")
164
+ }, null, 40, Ye), e.label ? (F(), T("span", Xe, V(H(i)(e.label)), 1)) : w("", !0)])) : (F(), C(a, {
165
+ key: 3,
166
+ "model-value": H(p)[e.key],
167
+ label: e.label ? H(i)(e.label) : "",
168
+ options: H(L)[e.key] ?? [],
169
+ placeholder: e.placeholder ? H(i)(e.placeholder) : "",
170
+ "any-label": e.anyLabel ? H(i)(e.anyLabel) : "",
171
+ "hide-empty": !!e.hideEmpty,
172
+ "onUpdate:modelValue": (t) => q(e.key, t)
173
+ }, null, 8, [
174
+ "model-value",
175
+ "label",
176
+ "options",
177
+ "placeholder",
178
+ "any-label",
179
+ "hide-empty",
180
+ "onUpdate:modelValue"
181
+ ]))], 64))), 128)), z(n.$slots, "filters", P(A(W.value)))]),
182
+ _: 3
183
+ }, 8, [
184
+ "mode",
185
+ "title",
186
+ "reset-label"
187
+ ])) : w("", !0),
188
+ k(v, { parts: ie.value }, D({ _: 2 }, [n.$slots.actions ? {
189
+ name: "actions",
190
+ fn: G(() => [z(n.$slots, "actions", P(A(W.value)))]),
191
+ key: "0"
192
+ } : void 0]), 1032, ["parts"]),
193
+ E("div", Ze, [E("div", Qe, [(F(), C(B(Y.value ? t : e), {
194
+ records: U.value,
195
+ "action-label": l.value.actionLabel ? H(i)(l.value.actionLabel) : ""
196
+ }, {
197
+ empty: G(() => [z(n.$slots, "empty", P(A(W.value)), () => [O(V(J.value), 1)])]),
198
+ _: 3
199
+ }, 8, ["records", "action-label"])), k(y, {
200
+ "page-info": H(te),
201
+ window: Z.value.window,
202
+ jump: Z.value.jump,
203
+ ends: Z.value.ends,
204
+ onNavigate: H(ee)
205
+ }, null, 8, [
206
+ "page-info",
207
+ "window",
208
+ "jump",
209
+ "ends",
210
+ "onNavigate"
211
+ ])]), n.$slots.aside ? (F(), T("aside", $e, [z(n.$slots, "aside", P(A(W.value)))])) : w("", !0)]),
212
+ z(n.$slots, "after", P(A(W.value)))
213
+ ]));
214
+ }
215
+ }, tt = ["dir", "innerHTML"], nt = { class: "mwnf-record__body" }, rt = { class: "mwnf-record__main" }, it = {
216
+ key: 1,
217
+ class: "mwnf-record__status"
218
+ }, at = {
219
+ key: 0,
220
+ class: "mwnf-record__aside"
221
+ }, ot = {
222
+ key: 2,
223
+ class: "mwnf-record__status"
224
+ }, st = {
225
+ __name: "RecordView",
226
+ props: {
227
+ spec: {
228
+ type: Object,
229
+ required: !0
230
+ },
231
+ id: {
232
+ type: String,
233
+ required: !0
234
+ },
235
+ entity: {
236
+ type: String,
237
+ default: ""
238
+ }
239
+ },
240
+ setup(e) {
241
+ let t = e, { t: i, locale: a } = Oe(), o = Te(), d = je(), p = te(), h = Re(), g = t.spec.entity ?? t.entity, _ = S(() => t.spec), v = se(g), y = q(g), b = S(() => y.value.get(t.id) ?? null), j = S(() => v.value !== null), { language: M, languages: N, dir: I, select: L, text: B, ready: ne, terms: re, glossary: U, attribution: W } = Ne(b, {
242
+ entity: g,
243
+ translations: t.spec.translations ?? [],
244
+ attribution: t.spec.attribution ?? []
245
+ }), ie = S(() => ue(N.value)), { active: K, onClick: ae, close: J } = De(re), X = S(() => K.value ? ve(K.value.definition, { breaks: !0 }) : ""), Z = (e, t) => o.tr(e, t, M.value, "en"), Q = S(() => ({
246
+ record: b.value,
247
+ text: B.value,
248
+ language: M.value,
249
+ languages: ie.value,
250
+ select: L,
251
+ dir: I.value,
252
+ glossary: U.value,
253
+ ready: ne.value,
254
+ attribution: W.value,
255
+ t: i,
256
+ tr: Z
257
+ }));
258
+ function ce(e) {
259
+ return ((typeof e == "function" ? e(Q.value) : e) ?? []).map((e) => ({
260
+ ...e,
261
+ label: e.label ? i(e.label) : ""
262
+ }));
263
+ }
264
+ let le = S(() => b.value ? xe(ce(_.value.fields), Q.value) : []), de = S(() => b.value ? xe(ce(_.value.sections).map((e) => ({
265
+ render: "block",
266
+ ...e
267
+ })), Q.value) : []), fe = S(() => _.value.shortDescription === !1 ? "" : _.value.shortDescription ?? "short_description"), pe = S(() => {
268
+ let e = fe.value ? B.value[fe.value] : "";
269
+ return e ? { html: ve(String(e), {
270
+ breaks: !0,
271
+ glossary: U.value
272
+ }) } : null;
273
+ }), me = S(() => {
274
+ if (!b.value) return "";
275
+ if (_.value.title) return _.value.title(Q.value);
276
+ let e = B.value.name ?? b.value.internal_name ?? b.value.id;
277
+ return ye(String(e), { glossary: U.value });
278
+ }), he = S(() => {
279
+ if (!b.value) return [];
280
+ if (_.value.media) return _.value.media(b.value, Q.value);
281
+ let e = be(String(B.value.name ?? b.value.internal_name ?? ""));
282
+ return (b.value.images ?? []).map((t) => ({
283
+ url: t.url,
284
+ alt: t.captions?.[M.value] ?? e,
285
+ caption: t.captions?.[M.value] ?? t.captions?.en ?? "",
286
+ photographer: t.photographer ?? "",
287
+ copyright: t.copyright ?? ""
288
+ }));
289
+ }), ge = [
290
+ {
291
+ field: "author",
292
+ label: "sheet.field.preparedBy"
293
+ },
294
+ {
295
+ field: "copy_editor",
296
+ label: "sheet.field.copyeditedBy"
297
+ },
298
+ {
299
+ field: "translator",
300
+ label: "sheet.field.translationBy"
301
+ },
302
+ {
303
+ field: "translation_copy_editor",
304
+ label: "sheet.field.translationCopyeditedBy"
305
+ }
306
+ ], _e = S(() => (_.value.credits ?? ge).map(({ field: e, label: t }) => ({
307
+ label: i(t),
308
+ value: B.value[e] ?? W.value[e] ?? ""
309
+ })).filter((e) => e.value)), Se = S(() => String(b.value?.[_.value.workingNumber ?? "mwnf_reference"] ?? "")), we = S(() => {
310
+ let e = _.value.citation;
311
+ if (!b.value || e === !1) return "";
312
+ let t = typeof e?.project == "function" ? null : e?.project ?? b.value.project_id, n = typeof e?.project == "function" ? e.project(b.value, Q.value) : d.label(t), r = e?.permalink === !1 ? void 0 : typeof e?.permalink == "string" ? e.permalink : Ce(h) ?? void 0;
313
+ return Y({
314
+ author: B.value.author ?? W.value.author,
315
+ name: B.value.name ?? b.value.internal_name ?? "",
316
+ project: n,
317
+ permalink: r,
318
+ inWord: i("record.citation.in")
319
+ });
320
+ }), Ee = Pe(b, {
321
+ entity: g,
322
+ language: M
323
+ }), $ = S(() => _.value.related === !1 ? null : _.value.related ?? {}), ke = S(() => {
324
+ if (!$.value) return [];
325
+ let e = $.value.record ?? Ae;
326
+ return Ee.value.inPackage.map((t) => e(t, Q.value));
327
+ });
328
+ function Ae({ record: e, justification: n }) {
329
+ let r = Z(g, e.id).name ?? e.internal_name ?? e.id;
330
+ return {
331
+ id: e.id,
332
+ image: e.images?.[0]?.url ?? "",
333
+ imageAlt: be(String(r)),
334
+ name: ye(String(r)),
335
+ meta: n ? [n] : [],
336
+ badge: e.type ?? "",
337
+ to: {
338
+ name: _.value.route ?? (t.entity ? `${t.entity}-detail` : "item"),
339
+ params: { id: e.id }
340
+ }
341
+ };
342
+ }
343
+ let Me = /* @__PURE__ */ new Set([
344
+ "header",
345
+ "before-sheet",
346
+ "after-sheet",
347
+ "aside",
348
+ "source",
349
+ "related",
350
+ "after",
351
+ "default"
352
+ ]), Fe = S(() => Object.keys(p).filter((e) => !Me.has(e)));
353
+ return (e, t) => j.value && !b.value ? (F(), C(H(oe), { key: 0 })) : b.value ? (F(), T("article", {
354
+ key: 1,
355
+ class: "mwnf-record",
356
+ onClick: t[0] ||= (...e) => H(ae) && H(ae)(...e)
357
+ }, [
358
+ z(e.$slots, "header", P(A(Q.value)), () => [
359
+ _.value.back ? (F(), C(n, {
360
+ key: 0,
361
+ class: "mwnf-record__back",
362
+ to: _.value.back.to,
363
+ href: _.value.back.href
364
+ }, {
365
+ default: G(() => [O("← " + V(H(i)(_.value.back.label)), 1)]),
366
+ _: 1
367
+ }, 8, ["to", "href"])) : w("", !0),
368
+ k(r, {
369
+ languages: ie.value,
370
+ language: H(M),
371
+ onSelect: H(L)
372
+ }, null, 8, [
373
+ "languages",
374
+ "language",
375
+ "onSelect"
376
+ ]),
377
+ E("h1", {
378
+ class: "mwnf-record__title",
379
+ dir: H(I) || void 0,
380
+ innerHTML: me.value
381
+ }, null, 8, tt)
382
+ ]),
383
+ E("div", nt, [E("div", rt, [
384
+ he.value.length ? (F(), C(s, {
385
+ key: 0,
386
+ images: he.value,
387
+ variant: _.value.mediaVariant ?? ""
388
+ }, null, 8, ["images", "variant"])) : w("", !0),
389
+ H(ne) ? w("", !0) : (F(), T("p", it, V(H(i)("core.status.loading")), 1)),
390
+ z(e.$slots, "before-sheet", P(A(Q.value))),
391
+ k(l, {
392
+ rows: le.value,
393
+ layout: _.value.layout ?? "table",
394
+ dir: H(I),
395
+ "short-description": pe.value,
396
+ "short-description-after": _.value.shortDescriptionAfter ?? "description"
397
+ }, D({ _: 2 }, [R(Fe.value, (t) => ({
398
+ name: t,
399
+ fn: G((n) => [z(e.$slots, t, P(A({
400
+ ...n,
401
+ ...Q.value
402
+ })))])
403
+ }))]), 1032, [
404
+ "rows",
405
+ "layout",
406
+ "dir",
407
+ "short-description",
408
+ "short-description-after"
409
+ ]),
410
+ (F(!0), T(x, null, R(de.value, (e) => (F(), C(u, {
411
+ key: e.key,
412
+ heading: e.label,
413
+ html: e.html,
414
+ dir: H(I)
415
+ }, null, 8, [
416
+ "heading",
417
+ "html",
418
+ "dir"
419
+ ]))), 128)),
420
+ z(e.$slots, "after-sheet", P(A(Q.value))),
421
+ k(f, {
422
+ credits: _e.value,
423
+ "working-number": Se.value,
424
+ "working-number-label": H(i)("sheet.field.workingNumber"),
425
+ citation: we.value,
426
+ "citation-heading": _.value.citation?.heading ? H(i)(_.value.citation.heading) : ""
427
+ }, null, 8, [
428
+ "credits",
429
+ "working-number",
430
+ "working-number-label",
431
+ "citation",
432
+ "citation-heading"
433
+ ]),
434
+ z(e.$slots, "source", P(A(Q.value)), () => [k(m)]),
435
+ z(e.$slots, "related", P(A({
436
+ ...Q.value,
437
+ records: ke.value,
438
+ outside: H(Ee).outside
439
+ })), () => [$.value ? (F(), C(c, {
440
+ key: 0,
441
+ heading: H(i)($.value.heading ?? "record.related.items"),
442
+ records: ke.value,
443
+ variant: $.value.variant ?? "list",
444
+ "action-label": $.value.actionLabel ? H(i)($.value.actionLabel) : ""
445
+ }, null, 8, [
446
+ "heading",
447
+ "records",
448
+ "variant",
449
+ "action-label"
450
+ ])) : w("", !0)])
451
+ ]), e.$slots.aside ? (F(), T("aside", at, [z(e.$slots, "aside", P(A(Q.value)))])) : w("", !0)]),
452
+ z(e.$slots, "after", P(A(Q.value))),
453
+ k(ee, {
454
+ term: H(K),
455
+ html: X.value,
456
+ dir: H(I),
457
+ onClose: H(J)
458
+ }, null, 8, [
459
+ "term",
460
+ "html",
461
+ "dir",
462
+ "onClose"
463
+ ])
464
+ ])) : (F(), T("p", ot, V(H(i)("core.status.loading")), 1));
465
+ }
466
+ }, ct = {
467
+ key: 0,
468
+ class: "mwnf-sheet-source"
469
+ }, lt = {
470
+ key: 0,
471
+ class: "mwnf-sheet-source__line"
472
+ }, ut = {
473
+ key: 1,
474
+ class: "mwnf-sheet-source__uid"
475
+ }, dt = {
476
+ key: 2,
477
+ class: "mwnf-sheet-source__collection"
478
+ }, ft = ["href"], pt = {
479
+ key: 1,
480
+ class: "mwnf-sheet-notice"
481
+ }, mt = {
482
+ key: "museum",
483
+ class: "mwnf-sheet-museum"
484
+ }, ht = ["innerHTML"], gt = {
485
+ key: 0,
486
+ class: "mwnf-sheet-related"
487
+ }, _t = {
488
+ key: 0,
489
+ class: "mwnf-sheet-related__heading mwnf-sheet-related__heading--caps"
490
+ }, vt = {
491
+ key: 1,
492
+ class: "mwnf-sheet-related__description"
493
+ }, yt = {
494
+ key: 0,
495
+ class: "mwnf-sheet-related__references"
496
+ }, bt = { key: 2 }, xt = {
497
+ key: 3,
498
+ class: "mwnf-sheet-related__unresolved"
499
+ }, St = {
500
+ key: 2,
501
+ class: "mwnf-sheet-related__line"
502
+ }, Ct = ["href"], wt = { key: 6 }, Tt = { class: "mwnf-sheet-related__heading" }, Et = { key: 7 }, Dt = { class: "mwnf-sheet-related__heading" }, Ot = { class: "mwnf-sheet-related__line" }, kt = ["href"], At = { key: 8 }, jt = { class: "mwnf-sheet-related__heading" }, Mt = { class: "mwnf-sheet-related__line" }, Nt = ["href"], Pt = { key: 9 }, Ft = { class: "mwnf-sheet-related__heading" }, It = {
503
+ __name: "ItemDetailView",
504
+ props: {
505
+ spec: {
506
+ type: Object,
507
+ required: !0
508
+ },
509
+ id: {
510
+ type: String,
511
+ required: !0
512
+ },
513
+ entity: {
514
+ type: String,
515
+ default: ""
516
+ },
517
+ dataGetter: {
518
+ type: Function,
519
+ default: null
520
+ }
521
+ },
522
+ setup(e) {
523
+ let t = e, n = te(), r = /* @__PURE__ */ new Set([
524
+ "before-sheet",
525
+ "museum",
526
+ "related"
527
+ ]), a = S(() => Object.keys(n).filter((e) => !r.has(e))), s = S(() => !t.dataGetter || t.dataGetter(t.id) != null), { t: l } = Oe(), u = S(() => t.spec), d = je(), f = (e, t) => (e.name ?? "").localeCompare(t.name ?? ""), m = (e) => (e.gallery_references ?? []).filter((e) => e.kind === "gallery").sort(f), ee = (e) => (e.gallery_references ?? []).filter((e) => e.kind === "exhibition").sort(f), v = (e) => d.links(e.project_id)?.artisticIntroductionUrl ?? null, y = (e) => d.links(e.project_id)?.relatedDatabaseUrl ?? null;
528
+ function b(e, t) {
529
+ if (!e) return null;
530
+ let n = u.value.sourceDatabase === !1 ? null : u.value.sourceDatabase ?? null, r = null;
531
+ if (n) {
532
+ let i = n.chipClass ? n.chipClass(e, t) : null, a = d.label(e.project_id);
533
+ (i || a) && (r = {
534
+ chipClass: i,
535
+ name: a,
536
+ label: l(n.label ?? "record.sheet.sourceDatabase")
537
+ });
538
+ }
539
+ let i = n && n.addToCollection !== !1 ? l(n.addToCollection?.label ?? "record.action.addToCollection") : null, a = n ? e.backward_compatibility ?? "" : "", o = u.value.notice === !1 ? null : u.value.notice ?? null, s = o && o.show(e, t) ? l(o.label) : null;
540
+ return {
541
+ source: r,
542
+ addToCollectionLabel: i,
543
+ notice: s,
544
+ backwardCompatibility: a
545
+ };
546
+ }
547
+ let j = Te(), M = q("partners"), I = q("countries");
548
+ de(["partners", "countries"]), j.loadTranslations("countries", "en");
549
+ function L(e, t) {
550
+ let n = j.tr("countries", e, t, "en");
551
+ return me(n.name ?? I.value?.get(e)?.internal_name ?? "");
552
+ }
553
+ function B(e) {
554
+ let t = e.text?.holder ? pe(String(e.text.holder)) : "", n = u.value.museum === !1 ? null : u.value.museum ?? null, r = n ? M.value?.get(e.record?.partner_id) : null;
555
+ return {
556
+ holder: t,
557
+ view: r ? _e(r, j.tr("partners", r.id, e.language, "en"), {
558
+ countryLabel: (t) => L(t, e.language),
559
+ route: (t) => n.route ? n.route(t.id, e) : null
560
+ }) : null
561
+ };
562
+ }
563
+ function ne(e, n) {
564
+ if (!e) return null;
565
+ let r = u.value.related ?? {}, i = n.records ?? [], a = n.outside ?? [], o = t.dataGetter ? i.filter((e) => t.dataGetter(e.id) != null) : i, s = t.dataGetter ? i.filter((e) => t.dataGetter(e.id) == null).map((t) => (e.related_items ?? []).find((e) => e.id === t.id)).filter(Boolean) : [], c = [...a, ...s].map((e) => ({
566
+ ...e,
567
+ name: e.project_id ? d.label(e.project_id) : null,
568
+ chipClass: r.outsideChip ? r.outsideChip(e, n) : null
569
+ })), f = (e) => ({
570
+ id: e.id,
571
+ label: pe(e.name ?? ""),
572
+ href: e.legacy_host || "",
573
+ external: !!e.legacy_host
574
+ }), p = r.onDisplayIn && r.onDisplayIn !== !1 ? {
575
+ pendingLabel: r.onDisplayIn.linkPendingLabel ?? "",
576
+ groups: [{
577
+ heading: "record.related.exhibitions",
578
+ links: ee(e).map(f)
579
+ }, {
580
+ heading: "record.related.galleries",
581
+ links: m(e).map(f)
582
+ }].filter((e) => e.links.length)
583
+ } : null, h = r.databaseLabel && y(e) ? {
584
+ url: y(e),
585
+ label: l(r.databaseLabel),
586
+ name: d.label(e.project_id)
587
+ } : null, g = r.overallDatabase && r.overallDatabase !== !1 ? {
588
+ label: l(r.overallDatabase.label),
589
+ linkLabel: l(r.overallDatabase.linkLabel)
590
+ } : null;
591
+ return {
592
+ title: r.title ? l(r.title) : "",
593
+ description: r.description ? l(r.description) : "",
594
+ heading: l(r.heading ?? "record.related.items"),
595
+ variant: r.variant ?? "grid",
596
+ actionLabel: r.actionLabel ? l(r.actionLabel) : "",
597
+ inPackage: o,
598
+ references: c,
599
+ notInPackageLabel: r.notInPackageLabel ? l(r.notInPackageLabel) : "",
600
+ artisticIntroduction: r.artisticIntroductionLabel && v(e) ? {
601
+ url: v(e),
602
+ label: l(r.artisticIntroductionLabel)
603
+ } : null,
604
+ timeline: r.timeline ? r.timeline(e, n) : null,
605
+ glossary: r.glossary !== !1,
606
+ dynasties: r.dynasties ? r.dynasties(e, n.language, n) : null,
607
+ media: r.media === !1 ? [] : e.media ?? [],
608
+ onDisplayIn: p,
609
+ database: h,
610
+ overallDatabase: g,
611
+ download: r.download === !1 ? null : {
612
+ label: l("record.action.download"),
613
+ pdfLabel: l("record.action.downloadPdf")
614
+ }
615
+ };
616
+ }
617
+ function re() {
618
+ window.print();
619
+ }
620
+ return (t, n) => s.value ? (F(), C(st, {
621
+ key: 0,
622
+ spec: u.value,
623
+ id: e.id,
624
+ entity: e.entity
625
+ }, D({
626
+ "before-sheet": G((e) => [z(t.$slots, "before-sheet", P(A(e)), () => [(F(!0), T(x, null, R([b(e.record, e)], (t) => (F(), T(x, { key: "before-sheet" }, [t?.source || t?.backwardCompatibility || t?.addToCollectionLabel ? (F(), T("div", ct, [
627
+ t.source ? (F(), T("p", lt, [t.source.chipClass ? (F(), T("span", {
628
+ key: 0,
629
+ class: N(["mwnf-chip", t.source.chipClass]),
630
+ "aria-hidden": "true"
631
+ }, null, 2)) : w("", !0), t.source.name ? (F(), T(x, { key: 1 }, [O(V(t.source.label) + ": " + V(t.source.name), 1)], 64)) : w("", !0)])) : w("", !0),
632
+ t.backwardCompatibility ? (F(), T("p", ut, [E("code", null, V(t.backwardCompatibility), 1)])) : w("", !0),
633
+ t.addToCollectionLabel ? (F(), T("p", dt, [E("a", {
634
+ href: H(he).myCollection,
635
+ target: "_blank",
636
+ rel: "noopener"
637
+ }, "↗ " + V(t.addToCollectionLabel), 9, ft)])) : w("", !0)
638
+ ])) : w("", !0), t?.notice ? (F(), T("div", pt, [O(V(t.notice) + " ", 1), E("strong", null, [E("em", null, V(e.languages.map((e) => e.label).join(", ")), 1)])])) : w("", !0)], 64))), 128))])]),
639
+ museum: G((e) => [z(t.$slots, "museum", P(A(e)), () => [(F(!0), T(x, null, R([B(e)], (t) => (F(), T("div", mt, [t.holder ? (F(), T("p", {
640
+ key: 0,
641
+ class: "mwnf-sheet-museum__holder",
642
+ innerHTML: t.holder
643
+ }, null, 8, ht)) : w("", !0), t.view ? (F(), C(o, {
644
+ key: 1,
645
+ variant: "summary",
646
+ partner: t.view,
647
+ label: "partner.info.about",
648
+ dir: e.dir
649
+ }, null, 8, ["partner", "dir"])) : w("", !0)]))), 128))])]),
650
+ related: G((e) => [z(t.$slots, "related", P(A(e)), () => [(F(!0), T(x, null, R([ne(e.record, e)], (t) => (F(), T(x, { key: e.record?.id ?? "related" }, [t ? (F(), T("div", gt, [
651
+ t.title ? (F(), T("p", _t, V(t.title), 1)) : w("", !0),
652
+ t.description ? (F(), T("p", vt, V(t.description), 1)) : w("", !0),
653
+ k(c, {
654
+ heading: t.heading,
655
+ records: t.inPackage,
656
+ variant: t.variant,
657
+ "action-label": t.actionLabel
658
+ }, {
659
+ default: G(() => [t.references.length ? (F(), T("ul", yt, [(F(!0), T(x, null, R(t.references, (e) => (F(), T("li", { key: e.id }, [
660
+ e.chipClass ? (F(), T("span", {
661
+ key: 0,
662
+ class: N(["mwnf-chip", e.chipClass]),
663
+ "aria-hidden": "true"
664
+ }, null, 2)) : w("", !0),
665
+ e.name ? (F(), T(x, { key: 1 }, [O(V(e.name), 1)], 64)) : (F(), T("code", bt, V(e.backward_compatibility), 1)),
666
+ t.notInPackageLabel ? (F(), T("span", xt, V(t.notInPackageLabel), 1)) : w("", !0)
667
+ ]))), 128))])) : w("", !0)]),
668
+ _: 2
669
+ }, 1032, [
670
+ "heading",
671
+ "records",
672
+ "variant",
673
+ "action-label"
674
+ ]),
675
+ t.artisticIntroduction ? (F(), T("p", St, [E("a", {
676
+ href: t.artisticIntroduction.url,
677
+ target: "_blank",
678
+ rel: "noopener"
679
+ }, "↗ " + V(t.artisticIntroduction.label), 9, Ct)])) : w("", !0),
680
+ t.timeline ? (F(), C(h, {
681
+ key: e.record.id,
682
+ info: t.timeline
683
+ }, null, 8, ["info"])) : w("", !0),
684
+ t.glossary ? (F(), C(g, {
685
+ key: 4,
686
+ language: e.language,
687
+ dir: e.dir
688
+ }, null, 8, ["language", "dir"])) : w("", !0),
689
+ t.dynasties?.records?.length ? (F(), C(i, {
690
+ key: 5,
691
+ heading: H(l)("record.dynasty.list"),
692
+ dynasties: t.dynasties.records,
693
+ tr: t.dynasties.tr,
694
+ dir: e.dir
695
+ }, null, 8, [
696
+ "heading",
697
+ "dynasties",
698
+ "tr",
699
+ "dir"
700
+ ])) : w("", !0),
701
+ k(p, {
702
+ media: t.media,
703
+ descriptions: !1,
704
+ dir: e.dir
705
+ }, null, 8, ["media", "dir"]),
706
+ t.onDisplayIn?.groups.length ? (F(), T("div", wt, [E("p", Tt, V(H(l)("record.related.onDisplayIn")), 1), k(_, {
707
+ heading: "",
708
+ groups: t.onDisplayIn.groups,
709
+ "pending-label": t.onDisplayIn.pendingLabel,
710
+ dir: e.dir
711
+ }, null, 8, [
712
+ "groups",
713
+ "pending-label",
714
+ "dir"
715
+ ])])) : w("", !0),
716
+ t.database ? (F(), T("div", Et, [E("p", Dt, V(t.database.label), 1), E("p", Ot, [E("a", {
717
+ href: t.database.url,
718
+ target: "_blank",
719
+ rel: "noopener"
720
+ }, "↗ " + V(t.database.name), 9, kt)])])) : w("", !0),
721
+ t.overallDatabase ? (F(), T("div", At, [E("p", jt, V(t.overallDatabase.label), 1), E("p", Mt, [E("a", {
722
+ href: H(he).overallDatabase,
723
+ target: "_blank",
724
+ rel: "noopener"
725
+ }, "↗ " + V(t.overallDatabase.linkLabel), 9, Nt)])])) : w("", !0),
726
+ t.download ? (F(), T("div", Pt, [E("p", Ft, V(t.download.label), 1), E("p", {
727
+ class: "mwnf-sheet-related__line mwnf-sheet-related__line--action",
728
+ onClick: re
729
+ }, "➤ " + V(t.download.pdfLabel), 1)])) : w("", !0)
730
+ ])) : w("", !0)], 64))), 128))])]),
731
+ _: 2
732
+ }, [R(a.value, (e) => ({
733
+ name: e,
734
+ fn: G((n) => [z(t.$slots, e, P(A(n)))])
735
+ }))]), 1032, [
736
+ "spec",
737
+ "id",
738
+ "entity"
739
+ ])) : (F(), C(H(oe), { key: 1 }));
740
+ }
741
+ }, Lt = ["dir"], Rt = {
742
+ key: 0,
743
+ class: "mwnf-essay__breadcrumb"
744
+ }, zt = { class: "mwnf-essay__breadcrumb-label" }, Bt = {
745
+ key: 1,
746
+ class: "mwnf-essay__breadcrumb-link"
747
+ }, Vt = ["aria-label"], Ht = { class: "mwnf-essay__title" }, Ut = {
748
+ key: 0,
749
+ class: "mwnf-essay__number"
750
+ }, Wt = ["innerHTML"], Gt = { class: "mwnf-essay__body" }, Kt = { class: "mwnf-essay__main" }, qt = {
751
+ key: 0,
752
+ class: "mwnf-essay__status"
753
+ }, Jt = ["innerHTML"], Yt = ["innerHTML"], Xt = {
754
+ key: 4,
755
+ class: "mwnf-essay__nav"
756
+ }, Zt = {
757
+ key: 1,
758
+ class: "mwnf-essay__nav-spacer"
759
+ }, Qt = {
760
+ key: 0,
761
+ class: "mwnf-essay__side"
762
+ }, $t = {
763
+ key: 0,
764
+ class: "mwnf-essay__panel"
765
+ }, en = {
766
+ key: 0,
767
+ class: "mwnf-essay__variants"
768
+ }, tn = ["aria-pressed", "onClick"], nn = ["src", "alt"], rn = ["innerHTML"], an = {
769
+ key: 0,
770
+ class: "mwnf-essay__panel-label"
771
+ }, on = ["innerHTML"], sn = ["innerHTML"], cn = {
772
+ key: 0,
773
+ class: "mwnf-essay__thumbs"
774
+ }, ln = ["onClick"], un = ["src"], dn = {
775
+ key: 2,
776
+ class: "mwnf-essay__status"
777
+ }, fn = {
778
+ __name: "EssayView",
779
+ props: {
780
+ spec: {
781
+ type: Object,
782
+ required: !0
783
+ },
784
+ id: {
785
+ type: String,
786
+ required: !0
787
+ }
788
+ },
789
+ setup(e) {
790
+ let r = e, { t: i } = Oe(), a = Te(), o = te();
791
+ function c(e) {
792
+ return !!e && typeof e.walk == "function" && typeof e.children == "function";
793
+ }
794
+ function l(e) {
795
+ return typeof e == "string" ? e : "themes";
796
+ }
797
+ let u = r.spec.entity ?? "items", d = r.spec.tree, f = d?.entity ?? (d?.themes ? l(d.themes) : r.spec.entity ?? "collections"), p = c(d) ? d : d?.themes ? we({
798
+ source: "themes",
799
+ entity: f,
800
+ childType: d.childType
801
+ }) : we({
802
+ purpose: d?.purpose,
803
+ rootId: d?.rootId,
804
+ childType: d?.childType,
805
+ entity: f,
806
+ order: d?.order
807
+ }), h = se(f), g = S(() => h.value !== null), _ = S(() => r.spec), v = S(() => p.byId.value.get(r.id) ?? null), y = S(() => p.parents(r.id).at(-1) ?? null), b = S(() => {
808
+ if (y.value) return p.children(y.value.id);
809
+ let e = p.root.value;
810
+ return e ? p.children(e.id) : p.walk().filter((e) => p.parents(e.id).length === 0);
811
+ }), D = S(() => b.value.findIndex((e) => e.id === r.id)), j = S(() => _.value.navigation || !1), M = S(() => j.value === "siblings" ? D.value > 0 ? b.value[D.value - 1] : null : j.value === "tree" ? p.previous(r.id) : null), I = S(() => j.value === "siblings" ? D.value !== -1 && D.value < b.value.length - 1 ? b.value[D.value + 1] : null : j.value === "tree" ? p.next(r.id) : null), { language: B, dir: ne } = Me(v, { entity: f }), re = S(() => v.value ? a.tr(f, v.value.id, B.value, "en") : {}), U = L(!1);
812
+ ie(() => [v.value?.id, B.value], async () => {
813
+ if (U.value = !1, !v.value) {
814
+ U.value = !0;
815
+ return;
816
+ }
817
+ let e = B.value === "en" ? ["en"] : [B.value, "en"];
818
+ await Promise.all([f, u].flatMap((t) => e.map((e) => a.loadTranslations(t, e)))), U.value = !0;
819
+ }, { immediate: !0 });
820
+ function W(e) {
821
+ if (!e) return "";
822
+ let t = _.value.placeholder, n = (e) => !!e && !!t && t.test(e), r = a.tr(f, e.id, B.value, "en");
823
+ if (r.title && !n(r.title)) return r.title;
824
+ let i = a.tr(f, e.id, "en").title;
825
+ return i && !n(i) ? i : e.internal_name ?? e.id;
826
+ }
827
+ let K = S(() => ({
828
+ node: v.value,
829
+ text: re.value,
830
+ language: B.value,
831
+ tree: p,
832
+ select: Ie,
833
+ t: i,
834
+ tr: (e, t) => a.tr(e, t, B.value, "en")
835
+ }));
836
+ function ae(e, t) {
837
+ return t.split(".").reduce((e, t) => e?.[t], e);
838
+ }
839
+ function J(e, t) {
840
+ return e === !1 || e == null ? "" : typeof e == "function" ? e(t) ?? "" : ae(t.text, e) ?? "";
841
+ }
842
+ let Y = S(() => J(_.value.quote ?? "quote", K.value)), X = S(() => J(_.value.body ?? "description", K.value)), Z = S(() => {
843
+ if (!_.value.glossary || !v.value) return [];
844
+ let e = [Y.value, X.value].filter(Boolean);
845
+ return ce(e.join("\n\n"), B.value);
846
+ }), le = S(() => Q(Z.value)), { active: ue, onClick: de, close: fe } = De(Z), pe = S(() => ue.value ? ve(ue.value.definition, { breaks: !0 }) : ""), me = S(() => v.value ? _.value.heading ? _.value.heading(K.value) : ye(String(W(v.value)), { glossary: le.value }) : ""), he = S(() => Y.value ? ye(String(Y.value), { glossary: le.value }) : ""), ge = S(() => X.value ? ve(String(X.value), {
847
+ breaks: !0,
848
+ glossary: le.value
849
+ }) : ""), _e = S(() => v.value ? _.value.about?.(v.value) ?? !1 : !1), xe = S(() => !!_e.value);
850
+ function Se(e) {
851
+ let t = _e.value;
852
+ return t && typeof t == "object" ? !!t[e] : !!_.value.aboutKeeps?.includes(e);
853
+ }
854
+ let Ce = [
855
+ [1e3, "M"],
856
+ [900, "CM"],
857
+ [500, "D"],
858
+ [400, "CD"],
859
+ [100, "C"],
860
+ [90, "XC"],
861
+ [50, "L"],
862
+ [40, "XL"],
863
+ [10, "X"],
864
+ [9, "IX"],
865
+ [5, "V"],
866
+ [4, "IV"],
867
+ [1, "I"]
868
+ ];
869
+ function Ee(e) {
870
+ let t = e, n = "";
871
+ for (let [e, r] of Ce) for (; t >= e;) n += r, t -= e;
872
+ return n;
873
+ }
874
+ let $ = S(() => {
875
+ let e = _.value.numbering;
876
+ if (!e || !v.value) return "";
877
+ let t = (b.value.length ? b.value : [v.value]).findIndex((e) => e.id === r.id), n = t >= 0 ? t + 1 : 1;
878
+ return e === "roman" ? Ee(n) : String(n);
879
+ });
880
+ function ke(e) {
881
+ return e ? Array.isArray(e.items) ? e.items.map((e) => e && typeof e == "object" ? e.id : e).filter((e) => e != null) : Array.isArray(e.item_ids) ? e.item_ids.filter((e) => e != null) : Array.isArray(e.pictures) ? e.pictures.map((e) => e?.picture_item_id).filter((e) => e != null) : [] : [];
882
+ }
883
+ let Ae = q(u), je = S(() => {
884
+ let e = _.value.items?.of ?? ke;
885
+ return v.value ? e(v.value, K.value) : [];
886
+ }), Ne = S(() => je.value.map((e) => Ae.value.get(e)).filter(Boolean)), Pe = L(null);
887
+ ie(Ne, (e) => {
888
+ e.some((e) => e.id === Pe.value) || (Pe.value = e[0]?.id ?? null);
889
+ }, { immediate: !0 });
890
+ let Fe = S(() => Ne.value.find((e) => e.id === Pe.value) ?? Ne.value[0] ?? null);
891
+ function Ie(e) {
892
+ Pe.value = e;
893
+ }
894
+ function Le(e) {
895
+ let t = _.value.items?.route;
896
+ return !t || !e ? null : typeof t == "function" ? t(e, K.value) : {
897
+ name: t,
898
+ params: { id: e.id }
899
+ };
900
+ }
901
+ function Re(e) {
902
+ let t = _.value.route;
903
+ return !t || !e ? null : typeof t == "function" ? t(e, K.value) : {
904
+ name: t,
905
+ params: { id: e.id }
906
+ };
907
+ }
908
+ function ze(e) {
909
+ if (!e) return null;
910
+ let t = a.tr(u, e.id, B.value, "en").name ?? e.internal_name ?? e.id;
911
+ return {
912
+ name: ye(String(t)),
913
+ image: e.images?.[0]?.url ?? "",
914
+ imageAlt: be(String(t))
915
+ };
916
+ }
917
+ let Be = S(() => {
918
+ let e = Fe.value;
919
+ if (!e) return null;
920
+ let t = ze(e), n = _.value.items?.caption?.(e, v.value, K.value);
921
+ return {
922
+ ...t,
923
+ ...n
924
+ };
925
+ }), Ve = S(() => !!_.value.panel), He = S(() => {
926
+ let e = Fe.value;
927
+ if (!e) return [];
928
+ let t = Be.value, n = e.images?.[0]?.url ? [{
929
+ id: "__primary",
930
+ image: e.images[0].url,
931
+ alt: t?.imageAlt ?? "",
932
+ caption: {
933
+ title: t?.name ?? "",
934
+ justification: "",
935
+ fields: null
936
+ }
937
+ }] : [], r = _.value.panel?.variants?.(e, K.value) ?? [];
938
+ return [...n, ...r.map((e, t) => ({
939
+ id: e.id ?? `variant-${t}`,
940
+ ...e
941
+ }))];
942
+ }), Ue = L(null);
943
+ ie(He, (e) => {
944
+ e.some((e) => e.id === Ue.value) || (Ue.value = e[0]?.id ?? null);
945
+ }, { immediate: !0 });
946
+ let We = S(() => He.value.find((e) => e.id === Ue.value) ?? He.value[0] ?? null);
947
+ function Ge(e) {
948
+ Ue.value = e;
949
+ }
950
+ let Ke = S(() => {
951
+ let e = We.value;
952
+ return e?.image ? [{
953
+ url: e.image,
954
+ alt: e.alt ?? ""
955
+ }] : [];
956
+ }), qe = S(() => {
957
+ let e = Fe.value;
958
+ return !e || !_.value.panel?.fields ? [] : _.value.panel.fields(e, v.value, K.value) ?? [];
959
+ }), Je = S(() => {
960
+ let e = We.value?.caption?.fields;
961
+ return e == null ? qe.value : e.map((e) => ({
962
+ label: e.label ? i(e.label) : "",
963
+ value: e.value
964
+ }));
965
+ }), Ye = S(() => {
966
+ let e = We.value?.caption?.justification;
967
+ return e ? ye(String(e)) : "";
968
+ }), Xe = S(() => Ne.value.map((e) => {
969
+ let t = ze(e), n = _.value.items?.meta?.(e, K.value) ?? [], r = _.value.items?.badge?.(e, K.value) ?? "";
970
+ return {
971
+ id: e.id,
972
+ image: t.image,
973
+ imageAlt: t.imageAlt,
974
+ name: t.name,
975
+ meta: n,
976
+ badge: r,
977
+ to: Le(e)
978
+ };
979
+ })), Ze = S(() => _.value.breadcrumb && v.value ? p.parents(r.id) : []), Qe = S(() => {
980
+ let e = _.value.tabs;
981
+ return e ? e === "children" ? v.value ? p.children(v.value.id) : [] : b.value : [];
982
+ }), $e = S(() => _.value.previous ?? "exhibition.theme.previous"), et = S(() => _.value.next ?? "exhibition.theme.next"), tt = S(() => _.value.backTo ?? "record.action.backToResults"), nt = S(() => _.value.inThisTheme ?? "exhibition.theme.inThisTheme"), rt = S(() => _.value.seeAll ?? "exhibition.theme.seeAllInTheme"), it = S(() => ({
983
+ ...K.value,
984
+ items: Ne.value,
985
+ selected: Fe.value,
986
+ selectedVariant: We.value,
987
+ selectVariant: Ge,
988
+ breadcrumb: Ze.value,
989
+ previous: M.value,
990
+ next: I.value
991
+ })), at = S(() => xe.value && !Se("panel") ? !1 : Ve.value || Ne.value.length > 0 || !!o.aside), ot = S(() => (!xe.value || Se("navigation")) && !!j.value && !!(M.value || I.value));
992
+ return (r, a) => g.value && !v.value ? (F(), C(H(oe), { key: 0 })) : v.value ? (F(), T("article", {
993
+ key: 1,
994
+ class: N(["mwnf-essay", { "mwnf-essay--about": xe.value }]),
995
+ dir: H(ne) || void 0,
996
+ onClick: a[0] ||= (...e) => H(de) && H(de)(...e)
997
+ }, [
998
+ z(r.$slots, "header", P(A(it.value)), () => [
999
+ Ze.value.length ? (F(), T("p", Rt, [E("span", zt, V(H(i)(tt.value)), 1), (F(!0), T(x, null, R(Ze.value, (e) => (F(), T(x, { key: e.id }, [Re(e) ? (F(), C(n, {
1000
+ key: 0,
1001
+ to: Re(e),
1002
+ class: "mwnf-essay__breadcrumb-link"
1003
+ }, {
1004
+ default: G(() => [O(V(W(e)), 1)]),
1005
+ _: 2
1006
+ }, 1032, ["to"])) : (F(), T("span", Bt, V(W(e)), 1))], 64))), 128))])) : w("", !0),
1007
+ Qe.value.length > 1 ? (F(), T("div", {
1008
+ key: 1,
1009
+ class: "mwnf-essay__tabs",
1010
+ role: "tablist",
1011
+ "aria-label": H(i)(nt.value)
1012
+ }, [(F(!0), T(x, null, R(Qe.value, (t) => (F(), C(n, {
1013
+ key: t.id,
1014
+ to: Re(t),
1015
+ class: N(["mwnf-essay__tab", { "mwnf-essay__tab--active": t.id === e.id }])
1016
+ }, {
1017
+ default: G(() => [O(V(W(t)), 1)]),
1018
+ _: 2
1019
+ }, 1032, ["to", "class"]))), 128))], 8, Vt)) : w("", !0),
1020
+ E("h1", Ht, [$.value ? (F(), T("span", Ut, V($.value), 1)) : w("", !0), E("span", { innerHTML: me.value }, null, 8, Wt)])
1021
+ ]),
1022
+ E("div", Gt, [E("div", Kt, [
1023
+ U.value ? w("", !0) : (F(), T("p", qt, V(H(i)("core.status.loading")), 1)),
1024
+ he.value ? (F(), T("p", {
1025
+ key: 1,
1026
+ class: "mwnf-essay__quote",
1027
+ innerHTML: he.value
1028
+ }, null, 8, Jt)) : w("", !0),
1029
+ z(r.$slots, "before-body", P(A(it.value))),
1030
+ ge.value ? (F(), T("div", {
1031
+ key: 2,
1032
+ class: "mwnf-essay__prose mwnf-sheet__block",
1033
+ innerHTML: ge.value
1034
+ }, null, 8, Yt)) : w("", !0),
1035
+ z(r.$slots, "after-body", P(A(it.value))),
1036
+ xe.value ? w("", !0) : z(r.$slots, "justifications", P(A(it.value)), void 0, void 0, 3),
1037
+ ot.value ? (F(), T("div", Xt, [z(r.$slots, "navigation", P(A(it.value)), () => [M.value ? (F(), C(n, {
1038
+ key: 0,
1039
+ to: Re(M.value),
1040
+ class: "mwnf-essay__nav-link mwnf-essay__nav-link--previous"
1041
+ }, {
1042
+ default: G(() => [O("← " + V(H(i)($e.value)), 1)]),
1043
+ _: 1
1044
+ }, 8, ["to"])) : (F(), T("span", Zt)), I.value ? (F(), C(n, {
1045
+ key: 2,
1046
+ to: Re(I.value),
1047
+ class: "mwnf-essay__nav-link mwnf-essay__nav-link--next"
1048
+ }, {
1049
+ default: G(() => [O(V(H(i)(et.value)) + " →", 1)]),
1050
+ _: 1
1051
+ }, 8, ["to"])) : w("", !0)])])) : w("", !0)
1052
+ ]), at.value ? (F(), T("div", Qt, [
1053
+ z(r.$slots, "panel", P(A(it.value)), () => [Ve.value && Be.value ? (F(), T("div", $t, [
1054
+ k(s, { images: Ke.value }, null, 8, ["images"]),
1055
+ He.value.length > 1 ? (F(), T("ul", en, [(F(!0), T(x, null, R(He.value, (e) => (F(), T("li", { key: e.id }, [E("button", {
1056
+ type: "button",
1057
+ class: N(["mwnf-essay__variant", { "mwnf-essay__variant--active": e.id === We.value?.id }]),
1058
+ "aria-pressed": e.id === We.value?.id ? "true" : "false",
1059
+ onClick: (t) => Ge(e.id)
1060
+ }, [e.image ? (F(), T("img", {
1061
+ key: 0,
1062
+ src: e.image,
1063
+ alt: e.alt ?? "",
1064
+ loading: "lazy"
1065
+ }, null, 8, nn)) : w("", !0)], 10, tn)]))), 128))])) : w("", !0),
1066
+ E("h3", {
1067
+ class: "mwnf-essay__panel-name",
1068
+ innerHTML: We.value?.caption?.title || Be.value.name
1069
+ }, null, 8, rn),
1070
+ (F(!0), T(x, null, R(Je.value, (e, t) => (F(), T("p", {
1071
+ key: t,
1072
+ class: "mwnf-essay__panel-field"
1073
+ }, [e.label ? (F(), T("span", an, V(e.label), 1)) : w("", !0), E("span", { innerHTML: e.value }, null, 8, on)]))), 128)),
1074
+ Ye.value ? (F(), T("p", {
1075
+ key: 1,
1076
+ class: "mwnf-essay__panel-justification mwnf-sheet__block",
1077
+ innerHTML: Ye.value
1078
+ }, null, 8, sn)) : w("", !0),
1079
+ Le(Fe.value) ? (F(), C(n, {
1080
+ key: 2,
1081
+ to: Le(Fe.value),
1082
+ class: "mwnf-essay__panel-link"
1083
+ }, {
1084
+ default: G(() => [O(V(H(i)(rt.value)) + " →", 1)]),
1085
+ _: 1
1086
+ }, 8, ["to"])) : w("", !0)
1087
+ ])) : w("", !0)]),
1088
+ z(r.$slots, "thumbnails", P(A(it.value)), () => [Ve.value && Ne.value.length > 1 ? (F(), T("ul", cn, [(F(!0), T(x, null, R(Ne.value, (e) => (F(), T("li", { key: e.id }, [E("button", {
1089
+ type: "button",
1090
+ class: N(["mwnf-essay__thumb", { "mwnf-essay__thumb--active": e.id === Fe.value?.id }]),
1091
+ onClick: (t) => Ie(e.id)
1092
+ }, [e.images?.[0]?.url ? (F(), T("img", {
1093
+ key: 0,
1094
+ src: e.images[0].url,
1095
+ alt: "",
1096
+ loading: "lazy"
1097
+ }, null, 8, un)) : w("", !0)], 10, ln)]))), 128))])) : !Ve.value && Xe.value.length ? (F(), C(t, {
1098
+ key: 1,
1099
+ records: Xe.value
1100
+ }, null, 8, ["records"])) : w("", !0)]),
1101
+ z(r.$slots, "aside", P(A(it.value)))
1102
+ ])) : w("", !0)]),
1103
+ z(r.$slots, "after", P(A(it.value)), () => [k(m)]),
1104
+ k(ee, {
1105
+ term: H(ue),
1106
+ html: pe.value,
1107
+ dir: H(ne),
1108
+ onClose: H(fe)
1109
+ }, null, 8, [
1110
+ "term",
1111
+ "html",
1112
+ "dir",
1113
+ "onClose"
1114
+ ])
1115
+ ], 10, Lt)) : (F(), T("p", dn, V(H(i)("core.status.loading")), 1));
1116
+ }
1117
+ }, pn = { class: "mwnf-link-list" }, mn = {
1118
+ key: 0,
1119
+ class: "mwnf-link-list__back"
1120
+ }, hn = {
1121
+ key: 1,
1122
+ class: "mwnf-link-list__title"
1123
+ }, gn = {
1124
+ key: 2,
1125
+ class: "mwnf-link-list__groups"
1126
+ }, _n = {
1127
+ key: 0,
1128
+ class: "mwnf-link-list__heading"
1129
+ }, vn = {
1130
+ key: 1,
1131
+ class: "mwnf-link-list__links"
1132
+ }, yn = ["innerHTML"], bn = ["innerHTML"], xn = {
1133
+ key: 3,
1134
+ class: "mwnf-link-list__empty"
1135
+ }, Sn = {
1136
+ __name: "LinkListView",
1137
+ props: { spec: {
1138
+ type: Object,
1139
+ required: !0
1140
+ } },
1141
+ setup(e) {
1142
+ let t = e, { t: r } = Oe(), i = S(() => ((typeof t.spec.groups == "function" ? t.spec.groups({}) : t.spec.groups ?? []) ?? []).filter((e) => e.links?.length > 0)), a = S(() => t.spec.title ? r(t.spec.title) : ""), o = S(() => t.spec.back?.label ? r(t.spec.back.label) : ""), s = S(() => r(t.spec.empty ?? "catalogue.results.noResults"));
1143
+ return (e, c) => (F(), T("div", pn, [
1144
+ t.spec.back && o.value ? (F(), T("div", mn, [k(n, {
1145
+ to: t.spec.back.to,
1146
+ href: t.spec.back.href
1147
+ }, {
1148
+ default: G(() => [O(" ← " + V(o.value), 1)]),
1149
+ _: 1
1150
+ }, 8, ["to", "href"])])) : w("", !0),
1151
+ a.value ? (F(), T("h1", hn, V(a.value), 1)) : w("", !0),
1152
+ z(e.$slots, "before"),
1153
+ i.value.length ? (F(), T("div", gn, [(F(!0), T(x, null, R(i.value, (t, i) => (F(), T("section", {
1154
+ key: i,
1155
+ class: "mwnf-link-list__group"
1156
+ }, [z(e.$slots, "group", { group: t }, () => [t.heading ? (F(), T("h2", _n, V(H(r)(t.heading)), 1)) : w("", !0), t.links?.length ? (F(), T("ul", vn, [(F(!0), T(x, null, R(t.links, (e, t) => (F(), T("li", {
1157
+ key: t,
1158
+ class: "mwnf-link-list__item"
1159
+ }, [k(n, {
1160
+ class: "mwnf-link-list__link",
1161
+ to: e.to,
1162
+ href: e.href
1163
+ }, {
1164
+ default: G(() => [E("span", { innerHTML: H(pe)(e.label) }, null, 8, yn)]),
1165
+ _: 2
1166
+ }, 1032, ["to", "href"]), e.note ? (F(), T("div", {
1167
+ key: 0,
1168
+ class: "mwnf-link-list__note",
1169
+ innerHTML: H(pe)(e.note)
1170
+ }, null, 8, bn)) : w("", !0)]))), 128))])) : w("", !0)])]))), 128))])) : (F(), T("div", xn, V(s.value), 1)),
1171
+ z(e.$slots, "after")
1172
+ ]));
1173
+ }
1174
+ }, Cn = { class: "mwnf-partner-list" }, wn = {
1175
+ key: 0,
1176
+ class: "mwnf-partner-list__title"
1177
+ }, Tn = {
1178
+ key: 1,
1179
+ class: "mwnf-partner-list__count"
1180
+ }, En = {
1181
+ key: 2,
1182
+ class: "mwnf-partner-list__toggle"
1183
+ }, Dn = {
1184
+ key: 3,
1185
+ class: "mwnf-partner-list__groups"
1186
+ }, On = {
1187
+ key: 0,
1188
+ class: "mwnf-partner-list__group-title"
1189
+ }, kn = { class: "mwnf-partner-list__tier" }, An = { class: "mwnf-partner-list__row" }, jn = {
1190
+ key: 0,
1191
+ class: "mwnf-partner-list__children"
1192
+ }, Mn = {
1193
+ key: 0,
1194
+ class: "mwnf-partner-list__tier mwnf-partner-list__tier--associated"
1195
+ }, Nn = { class: "mwnf-partner-list__tier-label" }, Pn = {
1196
+ key: 4,
1197
+ class: "mwnf-partner-list__empty"
1198
+ }, Fn = {
1199
+ __name: "PartnerListView",
1200
+ props: { spec: {
1201
+ type: Object,
1202
+ required: !0
1203
+ } },
1204
+ setup(e) {
1205
+ let t = e, { t: n, locale: r } = Oe(), i = Te(), a = S(() => t.spec), s = S(() => a.value.entity ?? "partners"), c = se(s.value);
1206
+ s.value && i.loadTranslations(s.value, "en");
1207
+ let l = {
1208
+ t: n,
1209
+ locale: r,
1210
+ tr: (e) => i.tr(s.value, e, r.value, "en"),
1211
+ renderInline: ye,
1212
+ renderPlain: be
1213
+ }, { filters: u, apply: d } = $({
1214
+ keys: ["order"],
1215
+ page: !1
1216
+ }), f = S(() => u.order === "desc" ? "desc" : "asc");
1217
+ function p() {
1218
+ d({ order: f.value === "asc" ? "desc" : "asc" });
1219
+ }
1220
+ let m = S(() => {
1221
+ let e = a.value, t = c.value ?? [];
1222
+ return e.scope ? t.filter((t) => e.scope(t, l)) : t;
1223
+ }), h = S(() => a.value.route);
1224
+ function g(e) {
1225
+ let t = h.value;
1226
+ return t ? typeof t == "function" ? t(e, l) : {
1227
+ name: t,
1228
+ params: { id: e.id }
1229
+ } : null;
1230
+ }
1231
+ function _(e) {
1232
+ let t = a.value.objectsRoute;
1233
+ return _e(e, l.tr(e.id), {
1234
+ route: g,
1235
+ objectsRoute: t ? (e) => t(e, l) : null
1236
+ });
1237
+ }
1238
+ function ee(e, t) {
1239
+ let n = t.name ?? "";
1240
+ return {
1241
+ ..._e(e, {}, {}),
1242
+ name: n,
1243
+ plainName: y(n),
1244
+ city: t.city ?? "",
1245
+ location: t.city ?? "",
1246
+ logos: t.logo ? [{
1247
+ url: t.logo,
1248
+ alt: y(n),
1249
+ type: ""
1250
+ }] : [],
1251
+ itemCount: t.count ?? 0,
1252
+ route: t.route ?? null
1253
+ };
1254
+ }
1255
+ function v(e) {
1256
+ if (a.value.record) {
1257
+ let t = a.value.record(e, l);
1258
+ return {
1259
+ partner: e,
1260
+ row: t,
1261
+ view: ee(e, t)
1262
+ };
1263
+ }
1264
+ let t = _(e);
1265
+ return {
1266
+ partner: e,
1267
+ row: {
1268
+ name: t.name,
1269
+ city: t.city,
1270
+ logo: t.logos[0]?.url ?? "",
1271
+ count: t.itemCount,
1272
+ route: t.route
1273
+ },
1274
+ view: t
1275
+ };
1276
+ }
1277
+ function y(e) {
1278
+ return String(e ?? "").replace(/<[^>]*>/g, "");
1279
+ }
1280
+ let b = S(() => a.value.nested ? ge(m.value) : null), D = S(() => {
1281
+ let e = a.value, t = e.group?.tier ?? !1, n = (e.group?.order ?? "country") === "name", r = n ? m.value.map((e) => ({
1282
+ ...e,
1283
+ country_id: "\0"
1284
+ })) : m.value, i = le(r, {
1285
+ label: n ? () => "" : (t) => e.label ? e.label(t, l) : t,
1286
+ tier: t,
1287
+ order: f.value
1288
+ }), o = (e, t) => y(e.row.name).localeCompare(y(t.row.name));
1289
+ return i.map((t) => {
1290
+ let r = t.main.map(v).sort(o), i = t.associated.map(v).sort(o);
1291
+ if (n && f.value === "desc" && (r.reverse(), i.reverse()), e.nested && b.value) {
1292
+ let e = new Set(i.map((e) => e.partner.id));
1293
+ r = r.map((t) => {
1294
+ let n = b.value.children(t.partner.id).filter((t) => e.has(t.id));
1295
+ for (let t of n) e.delete(t.id);
1296
+ return {
1297
+ ...t,
1298
+ children: n.map(v)
1299
+ };
1300
+ }), i = i.filter((t) => e.has(t.partner.id));
1301
+ }
1302
+ return {
1303
+ country: t.country,
1304
+ label: t.label,
1305
+ main: r,
1306
+ associated: i
1307
+ };
1308
+ });
1309
+ }), O = S(() => D.value.some((e) => e.main.length > 0 || e.associated.length > 0)), j = S(() => n(a.value.associatedLabel ?? "partner.list.associated")), N = S(() => ({
1310
+ objectsLabel: a.value.objectsLabel ?? "partner.item.objectsInSite",
1311
+ emptyLabel: a.value.emptyLabel ?? "",
1312
+ show: { actions: !!a.value.actions }
1313
+ })), I = S(() => n(a.value.foundLabel ?? "partner.list.partnersFound")), L = S(() => n(a.value.sortAscendingLabel ?? "partner.list.sortAscending")), H = S(() => n(a.value.sortDescendingLabel ?? "partner.list.sortDescending")), te = S(() => n(a.value.empty ?? "catalogue.results.noResults")), ne = S(() => a.value.title ? n(a.value.title) : ""), re = S(() => D.value.reduce((e, t) => e + t.main.length + t.associated.length, 0)), U = S(() => a.value.variant ?? "accordion"), W = S(() => ({
1314
+ t: n,
1315
+ locale: r,
1316
+ groups: D.value,
1317
+ orderDir: f.value,
1318
+ toggleOrder: p
1319
+ }));
1320
+ return (e, t) => (F(), T("section", Cn, [
1321
+ ne.value ? (F(), T("h1", wn, V(ne.value), 1)) : w("", !0),
1322
+ a.value.count ? (F(), T("div", Tn, V(I.value) + ": " + V(re.value), 1)) : w("", !0),
1323
+ z(e.$slots, "before", P(A(W.value))),
1324
+ a.value.orderToggle ? (F(), T("div", En, [E("button", {
1325
+ type: "button",
1326
+ class: "mwnf-partner-list__toggle-button",
1327
+ onClick: p
1328
+ }, V(f.value === "asc" ? H.value : L.value), 1)])) : w("", !0),
1329
+ O.value ? (F(), T("div", Dn, [(F(!0), T(x, null, R(D.value, (t) => (F(), C(B(U.value === "accordion" ? "details" : "section"), M({
1330
+ key: t.country ?? "",
1331
+ class: "mwnf-partner-list__group"
1332
+ }, { ref_for: !0 }, U.value === "accordion" ? { open: !0 } : {}), {
1333
+ default: G(() => [
1334
+ (F(), C(B(U.value === "accordion" ? "summary" : "div"), { class: "mwnf-partner-list__group-heading" }, {
1335
+ default: G(() => [z(e.$slots, "group-heading", M({ group: t }, { ref_for: !0 }, W.value), () => [t.label ? (F(), T("h2", On, V(t.label), 1)) : w("", !0)])]),
1336
+ _: 2
1337
+ }, 1024)),
1338
+ E("div", kn, [(F(!0), T(x, null, R(t.main, (n) => (F(), T("div", {
1339
+ key: n.partner.id,
1340
+ class: "mwnf-partner-list__row-block"
1341
+ }, [E("div", An, [z(e.$slots, "row", M({
1342
+ group: t,
1343
+ partner: n.partner,
1344
+ row: n.row,
1345
+ view: n.view
1346
+ }, { ref_for: !0 }, W.value), () => [k(o, M({
1347
+ variant: "line",
1348
+ partner: n.view
1349
+ }, { ref_for: !0 }, N.value), null, 16, ["partner"])])]), n.children?.length ? (F(), T("div", jn, [(F(!0), T(x, null, R(n.children, (n) => (F(), T("div", {
1350
+ key: n.partner.id,
1351
+ class: "mwnf-partner-list__row mwnf-partner-list__row--child"
1352
+ }, [z(e.$slots, "row", M({
1353
+ group: t,
1354
+ partner: n.partner,
1355
+ row: n.row,
1356
+ view: n.view
1357
+ }, { ref_for: !0 }, W.value), () => [k(o, M({
1358
+ variant: "line",
1359
+ partner: n.view
1360
+ }, { ref_for: !0 }, N.value), null, 16, ["partner"])])]))), 128))])) : w("", !0)]))), 128))]),
1361
+ t.associated.length ? (F(), T("div", Mn, [E("p", Nn, V(j.value), 1), (F(!0), T(x, null, R(t.associated, (n) => (F(), T("div", {
1362
+ key: n.partner.id,
1363
+ class: "mwnf-partner-list__row"
1364
+ }, [z(e.$slots, "row", M({
1365
+ group: t,
1366
+ partner: n.partner,
1367
+ row: n.row,
1368
+ view: n.view
1369
+ }, { ref_for: !0 }, W.value), () => [k(o, M({
1370
+ variant: "line",
1371
+ partner: n.view
1372
+ }, { ref_for: !0 }, N.value), null, 16, ["partner"])])]))), 128))])) : w("", !0)
1373
+ ]),
1374
+ _: 2
1375
+ }, 1040))), 128))])) : (F(), T("p", Pn, V(te.value), 1)),
1376
+ z(e.$slots, "after", P(A(W.value)))
1377
+ ]));
1378
+ }
1379
+ }, In = { class: "mwnf-text-page" }, Ln = {
1380
+ key: 0,
1381
+ class: "mwnf-text-page__back"
1382
+ }, Rn = {
1383
+ key: 1,
1384
+ class: "mwnf-text-page__heading"
1385
+ }, zn = { class: "mwnf-prose" }, Bn = ["innerHTML"], Vn = {
1386
+ __name: "TextPageView",
1387
+ props: { spec: {
1388
+ type: Object,
1389
+ required: !0
1390
+ } },
1391
+ setup(e) {
1392
+ let t = e, { t: r } = Oe(), i = Te(), a = ke(), o = S(() => t.spec.heading ? r(t.spec.heading) : ""), s = S(() => typeof t.spec.body == "string"), c = S(() => s.value ? t.spec.body : null), l = S(() => ({
1393
+ t: r,
1394
+ tr: (e, t) => i.tr(e, t, a.value, "en"),
1395
+ language: a.value
1396
+ })), u = S(() => s.value ? null : typeof t.spec.body == "function" ? fe(t.spec.body(l.value)) : null), d = S(() => t.spec.back === !1 ? null : t.spec.back === !0 ? r("core.action.back") : t.spec.back?.label ? r(t.spec.back.label) : null);
1397
+ return (e, r) => (F(), T("div", In, [
1398
+ d.value && (t.spec.back === !0 || t.spec.back?.to || t.spec.back?.href) ? (F(), T("div", Ln, [k(n, {
1399
+ to: t.spec.back === !0 ? {} : t.spec.back?.to,
1400
+ href: t.spec.back === !0 ? "#" : t.spec.back?.href
1401
+ }, {
1402
+ default: G(() => [O(" ← " + V(d.value), 1)]),
1403
+ _: 1
1404
+ }, 8, ["to", "href"])])) : w("", !0),
1405
+ o.value ? (F(), T("h1", Rn, V(o.value), 1)) : w("", !0),
1406
+ E("div", zn, [s.value ? (F(), C(H(ae), {
1407
+ key: 0,
1408
+ keypath: c.value
1409
+ }, null, 8, ["keypath"])) : u.value ? (F(), T("div", {
1410
+ key: 1,
1411
+ innerHTML: u.value
1412
+ }, null, 8, Bn)) : w("", !0)])
1413
+ ]));
1414
+ }
1415
+ }, Hn = { class: "mwnf-search-form__row-label" }, Un = ["onUpdate:modelValue"], Wn = ["value"], Gn = ["onUpdate:modelValue"], Kn = ["value"], qn = ["onUpdate:modelValue", "placeholder"], Jn = {
1416
+ key: 0,
1417
+ class: "mwnf-search-form__dates"
1418
+ }, Yn = {
1419
+ key: 1,
1420
+ class: "mwnf-facet"
1421
+ }, Xn = { class: "mwnf-facet__label" }, Zn = { value: "" }, Qn = ["value"], $n = {
1422
+ key: 0,
1423
+ class: "mwnf-search-form__dates"
1424
+ }, er = { class: "mwnf-search-form__radio-choice" }, tr = ["value"], nr = ["onUpdate:modelValue", "disabled"], rr = ["onUpdate:modelValue"], ir = { class: "mwnf-facet__label" }, ar = {
1425
+ key: 0,
1426
+ class: "mwnf-search-form__how-to"
1427
+ }, or = {
1428
+ __name: "SearchFormView",
1429
+ props: { spec: {
1430
+ type: Object,
1431
+ required: !0
1432
+ } },
1433
+ setup(e) {
1434
+ let t = e, { t: r } = Oe(), i = ze(), o = S(() => t.spec), s = S(() => o.value.mode), c = S(() => o.value.entity ? se(o.value.entity).value ?? [] : []), l = S(() => o.value.dates === "buckets"), u = S(() => {
1435
+ let e = o.value.dates;
1436
+ if (!e || e === "buckets") return null;
1437
+ let t = e.presets;
1438
+ return typeof t == "function" ? t() : t ?? J();
1439
+ });
1440
+ function d(e) {
1441
+ return (e ?? []).map((e) => ({
1442
+ value: e,
1443
+ label: String(e)
1444
+ }));
1445
+ }
1446
+ let f = S(() => l.value ? Le(c.value, r) : []), p = S(() => l.value ? f.value : d(u.value?.from)), m = S(() => l.value ? f.value : d(u.value?.to)), h = S(() => !!o.value.dates), g = L(""), _ = L(""), ee = o.value.language ? Fe(o.value.language) : null, v = S(() => ee?.languages.value ?? []), y = ee?.language ?? L(""), D = S(() => Object.fromEntries((o.value.facets ?? []).filter((e) => !e.options && e.type !== "year").map((e) => [e.key, { field: e.field ?? e.key }]))), M = Ee(c, D), B = S(() => {
1447
+ let e = {};
1448
+ for (let t of o.value.facets ?? []) e[t.key] = t.options ?? M.value[t.key] ?? [];
1449
+ return e;
1450
+ }), te = [{
1451
+ key: "AND",
1452
+ label: "catalogue.search.and"
1453
+ }, {
1454
+ key: "OR",
1455
+ label: "catalogue.search.or"
1456
+ }], ie = [
1457
+ "catalogue.search.keywordOne",
1458
+ "catalogue.search.keywordTwo",
1459
+ "catalogue.search.keywordThree"
1460
+ ], ae = S(() => o.value.operators ?? te), oe = L(Array.from({ length: o.value.rows ?? 3 }, () => ({
1461
+ keyword: "",
1462
+ field: o.value.fields?.[0]?.key ?? "",
1463
+ cond: (o.value.operators ?? te)[0].key
1464
+ })));
1465
+ function q(e) {
1466
+ return ie[e] ? r(ie[e]) : "";
1467
+ }
1468
+ let Y = L(o.value.facets?.[0]?.key ?? ""), X = I(Object.fromEntries((o.value.facets ?? []).map((e) => [e.key, ""]))), Z = I(Object.fromEntries((o.value.extras ?? []).map((e) => [e.key, !1])));
1469
+ function Q() {
1470
+ let e = {};
1471
+ for (let t of o.value.extras ?? []) Z[t.key] && (e[t.key] = "1");
1472
+ return e;
1473
+ }
1474
+ function ce(e) {
1475
+ return i.push({
1476
+ name: o.value.target,
1477
+ query: e
1478
+ });
1479
+ }
1480
+ function le() {
1481
+ let e = {};
1482
+ if (s.value === "rows") oe.value.forEach((t, n) => {
1483
+ if (t.keyword) {
1484
+ if (n === 0) e.q = t.keyword, t.field && (e.field = t.field);
1485
+ else {
1486
+ let r = n + 1;
1487
+ e[`q${r}`] = t.keyword, t.field && (e[`field${r}`] = t.field), e[`op${r}`] = t.cond;
1488
+ }
1489
+ }
1490
+ }), g.value && (e.from = String(g.value)), _.value && (e.to = String(_.value)), y.value && (e.lang = y.value);
1491
+ else if (s.value === "radio") {
1492
+ let t = Y.value, n = t ? X[t] : "";
1493
+ n && (e[t] = String(n));
1494
+ }
1495
+ return Object.assign(e, Q()), ce(e);
1496
+ }
1497
+ function ue(e, t) {
1498
+ if (t !== "" && t != null) return ce({
1499
+ [e]: String(t),
1500
+ ...Q()
1501
+ });
1502
+ }
1503
+ function de() {
1504
+ return ce(Q());
1505
+ }
1506
+ let fe = S(() => s.value === "facets" ? "immediate" : "apply"), pe = S(() => s.value === "radio" ? "core.action.browse" : "core.action.search"), me = S(() => r(o.value.submitLabel ?? pe.value)), he = S(() => r(o.value.showAllLabel ?? "core.action.reset")), ge = S(() => ({
1507
+ mode: s.value,
1508
+ submit: le,
1509
+ showAll: de
1510
+ }));
1511
+ return (e, t) => (F(), T("section", { class: N(["mwnf-search-form", `mwnf-search-form--${s.value}`]) }, [
1512
+ z(e.$slots, "intro", P(A(ge.value))),
1513
+ z(e.$slots, "before", P(A(ge.value))),
1514
+ k(b, {
1515
+ class: "mwnf-search-form__panel",
1516
+ mode: fe.value,
1517
+ "apply-label": me.value,
1518
+ "reset-label": he.value,
1519
+ onApply: le,
1520
+ onReset: de
1521
+ }, {
1522
+ default: G(() => [
1523
+ s.value === "rows" ? (F(), T(x, { key: 0 }, [
1524
+ (F(!0), T(x, null, R(oe.value, (e, t) => (F(), T("div", {
1525
+ key: t,
1526
+ class: "mwnf-search-form__row"
1527
+ }, [
1528
+ E("span", Hn, V(q(t)), 1),
1529
+ t > 0 ? K((F(), T("select", {
1530
+ key: 0,
1531
+ "onUpdate:modelValue": (t) => e.cond = t,
1532
+ class: "mwnf-facet__select mwnf-search-form__operator"
1533
+ }, [(F(!0), T(x, null, R(ae.value, (e) => (F(), T("option", {
1534
+ key: e.key,
1535
+ value: e.key
1536
+ }, V(H(r)(e.label)), 9, Wn))), 128))], 8, Un)), [[U, e.cond]]) : w("", !0),
1537
+ K(E("select", {
1538
+ "onUpdate:modelValue": (t) => e.field = t,
1539
+ class: "mwnf-facet__select mwnf-search-form__field"
1540
+ }, [(F(!0), T(x, null, R(o.value.fields ?? [], (e) => (F(), T("option", {
1541
+ key: e.key,
1542
+ value: e.key
1543
+ }, V(H(r)(e.label)), 9, Kn))), 128))], 8, Gn), [[U, e.field]]),
1544
+ K(E("input", {
1545
+ "onUpdate:modelValue": (t) => e.keyword = t,
1546
+ type: "text",
1547
+ class: "mwnf-search-form__keyword",
1548
+ placeholder: H(r)("catalogue.search.keywordPlaceholder")
1549
+ }, null, 8, qn), [[W, e.keyword]])
1550
+ ]))), 128)),
1551
+ h.value ? (F(), T("div", Jn, [k(a, {
1552
+ modelValue: g.value,
1553
+ "onUpdate:modelValue": t[0] ||= (e) => g.value = e,
1554
+ label: H(r)("catalogue.facet.dateFrom"),
1555
+ options: p.value,
1556
+ "any-label": "—"
1557
+ }, null, 8, [
1558
+ "modelValue",
1559
+ "label",
1560
+ "options"
1561
+ ]), k(a, {
1562
+ modelValue: _.value,
1563
+ "onUpdate:modelValue": t[1] ||= (e) => _.value = e,
1564
+ label: H(r)("catalogue.facet.dateTo"),
1565
+ options: m.value,
1566
+ "any-label": "—"
1567
+ }, null, 8, [
1568
+ "modelValue",
1569
+ "label",
1570
+ "options"
1571
+ ])])) : w("", !0),
1572
+ o.value.language ? (F(), T("label", Yn, [E("span", Xn, V(H(r)("catalogue.search.language")), 1), K(E("select", {
1573
+ "onUpdate:modelValue": t[2] ||= (e) => j(y) ? y.value = e : null,
1574
+ class: "mwnf-facet__select mwnf-search-form__language"
1575
+ }, [E("option", Zn, V(H(r)("catalogue.search.anyLanguage")), 1), (F(!0), T(x, null, R(v.value, (e) => (F(), T("option", {
1576
+ key: e,
1577
+ value: e
1578
+ }, V(e.toUpperCase()), 9, Qn))), 128))], 512), [[U, H(y)]])])) : w("", !0)
1579
+ ], 64)) : s.value === "facets" ? (F(), T(x, { key: 1 }, [(F(!0), T(x, null, R(o.value.facets ?? [], (e) => (F(), C(a, {
1580
+ key: e.key,
1581
+ label: e.label ? H(r)(e.label) : "",
1582
+ options: B.value[e.key] ?? [],
1583
+ "model-value": X[e.key],
1584
+ "onUpdate:modelValue": (t) => ue(e.key, t)
1585
+ }, null, 8, [
1586
+ "label",
1587
+ "options",
1588
+ "model-value",
1589
+ "onUpdate:modelValue"
1590
+ ]))), 128)), h.value ? (F(), T("div", $n, [k(a, {
1591
+ "model-value": g.value,
1592
+ label: H(r)("catalogue.facet.startDate"),
1593
+ options: p.value,
1594
+ "onUpdate:modelValue": t[3] ||= (e) => {
1595
+ g.value = e, ue("from", e);
1596
+ }
1597
+ }, null, 8, [
1598
+ "model-value",
1599
+ "label",
1600
+ "options"
1601
+ ]), k(a, {
1602
+ "model-value": _.value,
1603
+ label: H(r)("catalogue.facet.endDate"),
1604
+ options: m.value,
1605
+ "onUpdate:modelValue": t[4] ||= (e) => {
1606
+ _.value = e, ue("to", e);
1607
+ }
1608
+ }, null, 8, [
1609
+ "model-value",
1610
+ "label",
1611
+ "options"
1612
+ ])])) : w("", !0)], 64)) : s.value === "radio" ? (F(!0), T(x, { key: 2 }, R(o.value.facets ?? [], (e) => (F(), T("div", {
1613
+ key: e.key,
1614
+ class: "mwnf-search-form__radio-row"
1615
+ }, [E("label", er, [K(E("input", {
1616
+ "onUpdate:modelValue": t[5] ||= (e) => Y.value = e,
1617
+ type: "radio",
1618
+ name: "mwnf-search-form-filter",
1619
+ value: e.key
1620
+ }, null, 8, tr), [[re, Y.value]]), O(" " + V(e.label ? H(r)(e.label) : ""), 1)]), e.type === "year" ? K((F(), T("input", {
1621
+ key: 1,
1622
+ "onUpdate:modelValue": (t) => X[e.key] = t,
1623
+ type: "number",
1624
+ class: "mwnf-search-form__year",
1625
+ disabled: Y.value !== e.key
1626
+ }, null, 8, nr)), [[W, X[e.key]]]) : (F(), C(a, {
1627
+ key: 0,
1628
+ modelValue: X[e.key],
1629
+ "onUpdate:modelValue": (t) => X[e.key] = t,
1630
+ options: B.value[e.key] ?? [],
1631
+ disabled: Y.value !== e.key
1632
+ }, null, 8, [
1633
+ "modelValue",
1634
+ "onUpdate:modelValue",
1635
+ "options",
1636
+ "disabled"
1637
+ ]))]))), 128)) : w("", !0),
1638
+ (F(!0), T(x, null, R(o.value.extras ?? [], (e) => (F(), T("label", {
1639
+ key: e.key,
1640
+ class: "mwnf-facet mwnf-facet--checkbox"
1641
+ }, [K(E("input", {
1642
+ "onUpdate:modelValue": (t) => Z[e.key] = t,
1643
+ type: "checkbox",
1644
+ class: "mwnf-facet__checkbox"
1645
+ }, null, 8, rr), [[ne, Z[e.key]]]), E("span", ir, V(H(r)(e.label)), 1)]))), 128)),
1646
+ z(e.$slots, "extras", P(A(ge.value)))
1647
+ ]),
1648
+ _: 3
1649
+ }, 8, [
1650
+ "mode",
1651
+ "apply-label",
1652
+ "reset-label"
1653
+ ]),
1654
+ o.value.howTo ? (F(), T("p", ar, [k(n, { to: { name: o.value.howTo } }, {
1655
+ default: G(() => [O(V(H(r)("catalogue.search.howTo")), 1)]),
1656
+ _: 1
1657
+ }, 8, ["to"])])) : w("", !0),
1658
+ z(e.$slots, "actions", P(A(ge.value)))
1659
+ ], 2));
1660
+ }
1661
+ }, sr = { class: "mwnf-timeline" }, cr = {
1662
+ key: 0,
1663
+ class: "mwnf-timeline__title"
1664
+ }, lr = {
1665
+ key: 3,
1666
+ class: "mwnf-facet"
1667
+ }, ur = { class: "mwnf-facet__label" }, dr = [
1668
+ "value",
1669
+ "placeholder",
1670
+ "onInput"
1671
+ ], fr = {
1672
+ key: 1,
1673
+ class: "mwnf-timeline__error"
1674
+ }, pr = {
1675
+ __name: "TimelineResultsView",
1676
+ props: { spec: {
1677
+ type: Object,
1678
+ required: !0
1679
+ } },
1680
+ setup(e) {
1681
+ let t = e, { t: r } = Oe(), i = ze(), o = S(() => t.spec), s = S(() => !!o.value.entrance), c = Ie({
1682
+ scope: t.spec.scope ?? "country",
1683
+ countryLabel: t.spec.countryLabel,
1684
+ countryIdForCode: t.spec.countryIdForCode,
1685
+ tr: t.spec.tr,
1686
+ timelinesEntity: t.spec.timelinesEntity,
1687
+ eventsEntity: t.spec.eventsEntity
1688
+ }), l = S(() => o.value.controls ?? []), u = S(() => o.value.keys ?? l.value.map((e) => e.key)), f = (e) => l.value.some((t) => t.key === e), p = S(() => ({
1689
+ t: r,
1690
+ tr: t.spec.tr,
1691
+ years: {
1692
+ min: N.value[0],
1693
+ max: N.value[1]
1694
+ }
1695
+ })), m = I(Object.fromEntries(u.value.map((e) => [e, ""]))), h = L(""), g = s.value ? null : $({ keys: u.value }), _ = s.value ? m : g.filters;
1696
+ function ee(e) {
1697
+ if (f("collection") && e !== "" && e != null) return e === "pc" ? null : e;
1698
+ }
1699
+ function D() {
1700
+ for (let e of u.value) m[e] = "";
1701
+ h.value = "";
1702
+ }
1703
+ function j() {
1704
+ h.value = "";
1705
+ let e = !!_.begin && !!_.end;
1706
+ if (e && Number(_.begin) >= Number(_.end)) {
1707
+ h.value = r(o.value.errorPeriod ?? "timeline.form.errorPeriod");
1708
+ return;
1709
+ }
1710
+ if (!_.country && !e) {
1711
+ h.value = r(o.value.errorSelect ?? "timeline.form.errorSelect");
1712
+ return;
1713
+ }
1714
+ let t = {};
1715
+ for (let e of u.value) _[e] && (t[e] = _[e]);
1716
+ i.push({
1717
+ name: o.value.route,
1718
+ query: t
1719
+ });
1720
+ }
1721
+ let M = S(() => {
1722
+ if (s.value) return [];
1723
+ let e = _;
1724
+ return c.findEvents({
1725
+ country: e.country || void 0,
1726
+ collection: ee(e.collection),
1727
+ begin: e.begin,
1728
+ end: e.end
1729
+ });
1730
+ }), N = S(() => {
1731
+ let e = c.findEvents({
1732
+ country: void 0,
1733
+ collection: void 0
1734
+ }).map((e) => e.year_from).filter((e) => Number.isFinite(e) && e !== 0);
1735
+ return e.length ? [Math.min(...e), Math.max(...e)] : [null, null];
1736
+ }), B = Ae(M, {
1737
+ page: () => g ? g.page.value : 1,
1738
+ size: () => o.value.pageSize ?? 15
1739
+ });
1740
+ function te(e) {
1741
+ let t = o.value.countryLabel && e.country_id ? o.value.countryLabel(e.country_id) : "";
1742
+ return {
1743
+ id: e.id,
1744
+ date: Z(e, e.text, r),
1745
+ caption: t ? ye(String(t)) : "",
1746
+ description: e.text?.description ? ve(String(e.text.description), { breaks: !0 }) : ""
1747
+ };
1748
+ }
1749
+ let ne = S(() => B.value.rows.map((e) => (o.value.event ?? te)(e, p.value))), re = S(() => (c.countries.value ?? []).map((e) => ({
1750
+ value: e.value,
1751
+ label: e.value === "all" ? r("timeline.form.allCountries") : e.label
1752
+ }))), U = S(() => o.value.collections?.(p.value) ?? []), W = S(() => {
1753
+ let e = {};
1754
+ for (let t of l.value) (t.key === "begin" || t.key === "end") && t.options && (typeof t.options == "function" ? e[t.key] = t.options(p.value) : e[t.key] = t.options);
1755
+ return e;
1756
+ }), ie = S(() => ({
1757
+ filters: _,
1758
+ active: u.value.some((e) => _[e]),
1759
+ apply: s.value ? j : (e) => g.apply(e),
1760
+ reset: s.value ? D : g.reset,
1761
+ goToPage: s.value ? () => {} : g.goToPage,
1762
+ events: M.value,
1763
+ pageInfo: B.value,
1764
+ countries: re.value,
1765
+ collections: U.value,
1766
+ t: r,
1767
+ tr: o.value.tr
1768
+ })), K = S(() => {
1769
+ let e = o.value.gallery;
1770
+ return !e || s.value ? null : !e.items || e.items(ie.value);
1771
+ }), ae = S(() => {
1772
+ let e = K.value;
1773
+ return e == null ? !1 : Array.isArray(e) ? e.length > 0 : !!e;
1774
+ }), oe = S(() => {
1775
+ let e = K.value;
1776
+ return Array.isArray(e) ? e.length : typeof e == "number" ? e : null;
1777
+ }), q = S(() => {
1778
+ if (!ae.value) return null;
1779
+ let e = {};
1780
+ for (let t of u.value) _[t] && (e[t] = _[t]);
1781
+ return {
1782
+ to: {
1783
+ name: o.value.gallery.route,
1784
+ query: e
1785
+ },
1786
+ count: oe.value,
1787
+ label: r(o.value.gallery.label ?? "timeline.nav.seeGallery")
1788
+ };
1789
+ }), J = S(() => ({
1790
+ ...ie.value,
1791
+ gallery: q.value
1792
+ })), Y = S(() => o.value.summary ? o.value.summary(J.value) : [{
1793
+ label: r(o.value.summaryLabel ?? "timeline.results.eventsFound"),
1794
+ count: B.value.total
1795
+ }]), X = S(() => r(o.value.empty ?? "timeline.results.noResults")), se = S(() => ({
1796
+ window: 5,
1797
+ jump: !1,
1798
+ ends: !0,
1799
+ ...o.value.pagination ?? {}
1800
+ }));
1801
+ function Q(e, t) {
1802
+ return e.label ? r(e.label) : t ? r(t) : "";
1803
+ }
1804
+ return (e, t) => (F(), T("section", sr, [
1805
+ z(e.$slots, "before", P(A(J.value))),
1806
+ o.value.title ? (F(), T("h1", cr, V(H(r)(o.value.title)), 1)) : w("", !0),
1807
+ k(b, {
1808
+ class: "mwnf-timeline__filters",
1809
+ title: o.value.filterTitle ? H(r)(o.value.filterTitle) : "",
1810
+ "apply-label": s.value ? H(r)(o.value.submitLabel ?? "core.action.search") : o.value.applyLabel ? H(r)(o.value.applyLabel) : "",
1811
+ "reset-label": o.value.resetLabel ? H(r)(o.value.resetLabel) : "",
1812
+ onApply: t[2] ||= (e) => s.value ? j() : H(g).apply(),
1813
+ onReset: t[3] ||= (e) => s.value ? D() : H(g).reset()
1814
+ }, {
1815
+ default: G(() => [(F(!0), T(x, null, R(l.value, (e) => (F(), T(x, { key: e.key }, [e.key === "country" ? (F(), C(a, {
1816
+ key: 0,
1817
+ "model-value": H(_).country,
1818
+ label: Q(e, "catalogue.facet.country"),
1819
+ options: re.value,
1820
+ placeholder: e.placeholder ? H(r)(e.placeholder) : H(r)("timeline.form.selectCountry"),
1821
+ "any-label": e.anyLabel ? H(r)(e.anyLabel) : "",
1822
+ "hide-empty": !!e.hideEmpty,
1823
+ "onUpdate:modelValue": t[0] ||= (e) => H(_).country = e
1824
+ }, null, 8, [
1825
+ "model-value",
1826
+ "label",
1827
+ "options",
1828
+ "placeholder",
1829
+ "any-label",
1830
+ "hide-empty"
1831
+ ])) : e.key === "collection" ? (F(), C(a, {
1832
+ key: 1,
1833
+ "model-value": H(_).collection,
1834
+ label: Q(e),
1835
+ options: U.value,
1836
+ placeholder: e.placeholder ? H(r)(e.placeholder) : "",
1837
+ "any-label": e.anyLabel ? H(r)(e.anyLabel) : "",
1838
+ "hide-empty": !!e.hideEmpty,
1839
+ "onUpdate:modelValue": t[1] ||= (e) => H(_).collection = e
1840
+ }, null, 8, [
1841
+ "model-value",
1842
+ "label",
1843
+ "options",
1844
+ "placeholder",
1845
+ "any-label",
1846
+ "hide-empty"
1847
+ ])) : (e.key === "begin" || e.key === "end") && W.value[e.key] ? (F(), C(a, {
1848
+ key: 2,
1849
+ "model-value": H(_)[e.key],
1850
+ label: Q(e, e.key === "begin" ? "timeline.form.startDate" : "timeline.form.endDate"),
1851
+ options: W.value[e.key],
1852
+ placeholder: e.placeholder ? H(r)(e.placeholder) : H(r)(e.key === "begin" ? "timeline.form.fromYearHint" : "timeline.form.toYearHint"),
1853
+ "any-label": e.anyLabel ? H(r)(e.anyLabel) : "",
1854
+ "hide-empty": !!e.hideEmpty,
1855
+ "onUpdate:modelValue": (t) => H(_)[e.key] = t
1856
+ }, null, 8, [
1857
+ "model-value",
1858
+ "label",
1859
+ "options",
1860
+ "placeholder",
1861
+ "any-label",
1862
+ "hide-empty",
1863
+ "onUpdate:modelValue"
1864
+ ])) : (F(), T("label", lr, [E("span", ur, V(Q(e, e.key === "begin" ? "timeline.form.startDate" : "timeline.form.endDate")), 1), E("input", {
1865
+ type: "number",
1866
+ class: "mwnf-facet__select",
1867
+ value: H(_)[e.key],
1868
+ placeholder: e.placeholder ? H(r)(e.placeholder) : H(r)(e.key === "begin" ? "timeline.form.fromYearHint" : "timeline.form.toYearHint"),
1869
+ onInput: (t) => H(_)[e.key] = t.target.value
1870
+ }, null, 40, dr)]))], 64))), 128))]),
1871
+ _: 1
1872
+ }, 8, [
1873
+ "title",
1874
+ "apply-label",
1875
+ "reset-label"
1876
+ ]),
1877
+ s.value && h.value ? (F(), T("p", fr, V(h.value), 1)) : w("", !0),
1878
+ s.value ? w("", !0) : (F(), T(x, { key: 2 }, [
1879
+ z(e.$slots, "summary", P(A(J.value)), () => [k(v, { parts: Y.value }, null, 8, ["parts"])]),
1880
+ q.value ? (F(), C(n, {
1881
+ key: 0,
1882
+ class: "mwnf-timeline__gallery",
1883
+ to: q.value.to
1884
+ }, {
1885
+ default: G(() => [z(e.$slots, "cross-link", P(A(J.value)), () => [O(V(q.value.label), 1), q.value.count == null ? w("", !0) : (F(), T(x, { key: 0 }, [O(" (" + V(q.value.count) + ")", 1)], 64))])]),
1886
+ _: 3
1887
+ }, 8, ["to"])) : w("", !0),
1888
+ z(e.$slots, "event", P(A(J.value)), () => [k(d, { events: ne.value }, {
1889
+ empty: G(() => [z(e.$slots, "empty", P(A(J.value)), () => [O(V(X.value), 1)])]),
1890
+ _: 3
1891
+ }, 8, ["events"])]),
1892
+ k(y, {
1893
+ "page-info": H(B),
1894
+ window: se.value.window,
1895
+ jump: se.value.jump,
1896
+ ends: se.value.ends,
1897
+ onNavigate: H(g).goToPage
1898
+ }, null, 8, [
1899
+ "page-info",
1900
+ "window",
1901
+ "jump",
1902
+ "ends",
1903
+ "onNavigate"
1904
+ ])
1905
+ ], 64)),
1906
+ z(e.$slots, "after", P(A(J.value)))
1907
+ ]));
1908
+ }
1909
+ };
1910
+ //#endregion
1911
+ export { Sn as a, st as c, Fn as i, et as l, or as n, fn as o, Vn as r, It as s, pr as t };