@museumwnf/viewer-layout 2.16.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.
package/dist/views.js CHANGED
@@ -1,16 +1,13 @@
1
- import { a as e, i as t, n, o as r, t as i } from "./TimelineLookup-D-p1aQ_Z.js";
2
- import { a, g as o, i as s, l as ee, n as te, o as c, s as l, v as u } from "./TimelineEventList-D5Hot788.js";
3
- import { a as d, i as f, n as p, o as m, r as ne, t as h } from "./TimelineResultsView-DJo_yYEK.js";
4
- import { Fragment as g, computed as _, createBlock as v, createCommentVNode as y, createElementBlock as b, createElementVNode as x, createSlots as S, createTextVNode as C, createVNode as w, guardReactiveProps as T, mergeProps as re, normalizeClass as E, normalizeProps as D, openBlock as O, ref as k, renderList as A, renderSlot as j, toDisplayString as M, unref as N, useSlots as ie, watch as ae, withCtx as P } from "vue";
5
- import { I18nText as F, NotFoundView as oe, byId as se, entityRef as ce, glossaryEntries as le, glossaryTermsForText as ue, loadEntities as I, mdInline as L, mdStrip as R, mwnfLinks as z, partnerView as B, renderBlock as de, renderInline as V, renderPlain as fe, useCollectionTree as pe, useDataPackage as me, useFeaturedRecord as he, useGlossaryPopup as ge, useI18n as _e, useProjects as ve, useRecordLanguage as ye, useSiteConfig as H } from "@museumwnf/viewer-core";
1
+ import { t as e } from "./FeaturedRecord-mRyLN7Mt.js";
2
+ import { w as t } from "./OnDisplayIn-D6r_KvpI.js";
3
+ import { a as n, c as r, i, l as a, n as o, o as s, r as c, s as l, t as u } from "./TimelineResultsView-CMqrkr9z.js";
4
+ import { computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createVNode as h, mergeProps as g, normalizeClass as _, openBlock as v, renderSlot as y, toDisplayString as b, unref as x } from "vue";
5
+ import { I18nText as S, renderInline as C, renderPlain as w, useDataPackage as T, useFeaturedRecord as E, useI18n as D, useSiteConfig as O } from "@museumwnf/viewer-core";
6
6
  //#region src/views/HomeView.vue
7
- var U = { class: "mwnf-home" }, W = {
8
- key: 0,
9
- class: "mwnf-home__welcome"
10
- }, be = {
7
+ var k = { class: "mwnf-home" }, A = {
11
8
  key: 0,
12
9
  class: "mwnf-home__title"
13
- }, xe = {
10
+ }, j = {
14
11
  __name: "HomeView",
15
12
  props: {
16
13
  title: {
@@ -28,47 +25,53 @@ var U = { class: "mwnf-home" }, W = {
28
25
  featured: {
29
26
  type: Object,
30
27
  default: null
28
+ },
29
+ panels: {
30
+ type: Boolean,
31
+ default: null
31
32
  }
32
33
  },
33
- setup(t) {
34
- let n = t, { t: i, locale: a } = _e(), o = H(), s = _(() => ({
34
+ setup(n) {
35
+ let r = n, { t: i, locale: a } = D(), o = O(), s = d(() => ({
35
36
  ...o.home ?? {},
36
- ...ee(n)
37
+ ...c(r)
37
38
  }));
38
- function ee(e) {
39
+ function c(e) {
39
40
  let t = {};
40
41
  for (let n of [
41
42
  "title",
42
43
  "intro",
43
44
  "cards",
44
- "featured"
45
+ "featured",
46
+ "panels"
45
47
  ]) e[n] != null && e[n] !== "" && (t[n] = e[n]);
46
48
  return t;
47
49
  }
48
- let te = _(() => (s.value.cards ?? []).map((e) => ({
50
+ let l = d(() => (s.value.cards ?? []).map((e) => ({
49
51
  ...e,
50
52
  title: e.title ? i(e.title) : "",
51
53
  description: e.description ? i(e.description) : "",
52
54
  action: e.action ? i(e.action) : ""
53
- }))), c = _(() => s.value.featured ?? null), l = c.value?.entity ?? "", u = me();
54
- l && u.loadTranslations(l, "en");
55
- let d = l ? he(l, {
56
- seed: c.value?.seed,
57
- images: c.value?.images ?? "images"
58
- }) : _(() => null), f = _(() => d.value ? u.tr(l, d.value.id, a.value, "en") : {});
59
- function p(e, t, n) {
55
+ }))), u = d(() => s.value.featured ?? null), j = u.value?.entity ?? "", M = T();
56
+ j && M.loadTranslations(j, "en");
57
+ let N = j ? E(j, {
58
+ seed: u.value?.seed,
59
+ images: u.value?.images ?? "images",
60
+ filter: u.value?.filter
61
+ }) : d(() => null), P = d(() => N.value ? M.tr(j, N.value.id, a.value, "en") : {});
62
+ function F(e, t, n) {
60
63
  return typeof e == "function" ? e(t, n) : typeof e != "string" || !e ? "" : n[e] ?? t[e] ?? "";
61
64
  }
62
- let m = _(() => {
63
- let e = d.value, t = c.value;
65
+ let I = d(() => {
66
+ let e = N.value, t = u.value;
64
67
  if (!e || !t) return null;
65
- let n = f.value.name ?? e.internal_name ?? e.id, r = typeof t.meta == "function" ? t.meta(e, f.value) : (t.meta ?? []).map((t) => p(t, e, f.value)), a = t.images ?? "images";
68
+ let n = P.value.name ?? e.internal_name ?? e.id, r = typeof t.meta == "function" ? t.meta(e, P.value) : (t.meta ?? []).map((t) => F(t, e, P.value)), a = t.images ?? "images";
66
69
  return {
67
70
  heading: t.heading ? i(t.heading) : "",
68
71
  image: e[a]?.[0]?.url ?? "",
69
- imageAlt: fe(String(n)),
70
- eyebrow: String(p(t.eyebrow, e, f.value) ?? ""),
71
- name: V(String(n)),
72
+ imageAlt: w(String(n)),
73
+ eyebrow: String(F(t.eyebrow, e, P.value) ?? ""),
74
+ name: C(String(n)),
72
75
  meta: r.filter(Boolean).map(String),
73
76
  action: t.action ? i(t.action) : "",
74
77
  to: typeof t.to == "function" ? t.to(e) : {
@@ -77,738 +80,23 @@ var U = { class: "mwnf-home" }, W = {
77
80
  }
78
81
  };
79
82
  });
80
- return (t, n) => (O(), b("section", U, [
81
- s.value.title || s.value.intro ? (O(), b("header", W, [s.value.title ? (O(), b("h1", be, M(N(i)(s.value.title)), 1)) : y("", !0), s.value.intro ? (O(), v(N(F), {
83
+ return (n, r) => (v(), m("section", k, [
84
+ s.value.title || s.value.intro ? (v(), m("header", {
85
+ key: 0,
86
+ class: _(["mwnf-home__welcome", { "mwnf-panel": s.value.panels }])
87
+ }, [s.value.title ? (v(), m("h1", A, b(x(i)(s.value.title)), 1)) : p("", !0), s.value.intro ? (v(), f(x(S), {
82
88
  key: 1,
83
89
  tag: "div",
84
90
  class: "mwnf-home__intro",
85
91
  keypath: s.value.intro
86
- }, null, 8, ["keypath"])) : y("", !0)])) : y("", !0),
87
- j(t.$slots, "before"),
88
- w(r, { cards: te.value }, null, 8, ["cards"]),
89
- j(t.$slots, "default"),
90
- m.value ? (O(), v(e, D(re({ key: 1 }, m.value)), null, 16)) : y("", !0),
91
- j(t.$slots, "after")
92
- ]));
93
- }
94
- }, Se = {
95
- key: 0,
96
- class: "mwnf-sheet-source"
97
- }, Ce = {
98
- key: 0,
99
- class: "mwnf-sheet-source__line"
100
- }, we = {
101
- key: 1,
102
- class: "mwnf-sheet-source__uid"
103
- }, Te = {
104
- key: 2,
105
- class: "mwnf-sheet-source__collection"
106
- }, Ee = ["href"], De = {
107
- key: 1,
108
- class: "mwnf-sheet-notice"
109
- }, Oe = {
110
- key: "museum",
111
- class: "mwnf-sheet-museum"
112
- }, ke = ["innerHTML"], Ae = {
113
- key: 0,
114
- class: "mwnf-sheet-related"
115
- }, je = {
116
- key: 0,
117
- class: "mwnf-sheet-related__heading mwnf-sheet-related__heading--caps"
118
- }, Me = {
119
- key: 1,
120
- class: "mwnf-sheet-related__description"
121
- }, Ne = {
122
- key: 0,
123
- class: "mwnf-sheet-related__references"
124
- }, G = { key: 2 }, Pe = {
125
- key: 3,
126
- class: "mwnf-sheet-related__unresolved"
127
- }, Fe = {
128
- key: 2,
129
- class: "mwnf-sheet-related__line"
130
- }, Ie = ["href"], Le = ["href"], Re = { key: 7 }, ze = { class: "mwnf-sheet-related__heading" }, Be = { key: 0 }, K = { class: "mwnf-sheet-related__subheading" }, q = ["href"], J = { key: 1 }, Ve = { class: "mwnf-sheet-related__unresolved" }, He = { key: 1 }, Y = { class: "mwnf-sheet-related__subheading" }, Ue = ["href"], We = { key: 1 }, X = { class: "mwnf-sheet-related__unresolved" }, Z = { key: 8 }, Ge = { class: "mwnf-sheet-related__heading" }, Q = { class: "mwnf-sheet-related__line" }, Ke = ["href"], qe = { key: 9 }, Je = { class: "mwnf-sheet-related__heading" }, Ye = { class: "mwnf-sheet-related__line" }, Xe = ["href"], Ze = { key: 10 }, Qe = { class: "mwnf-sheet-related__heading" }, $e = {
131
- __name: "RecordSheetView",
132
- props: {
133
- spec: {
134
- type: Object,
135
- required: !0
136
- },
137
- id: {
138
- type: String,
139
- required: !0
140
- },
141
- entity: {
142
- type: String,
143
- default: ""
144
- },
145
- dataGetter: {
146
- type: Function,
147
- default: null
148
- }
149
- },
150
- setup(e) {
151
- let r = e, a = ie(), o = /* @__PURE__ */ new Set([
152
- "before-sheet",
153
- "museum",
154
- "related"
155
- ]), s = _(() => Object.keys(a).filter((e) => !o.has(e))), l = _(() => !r.dataGetter || r.dataGetter(r.id) != null), { t: u } = _e(), f = _(() => r.spec), p = ve(), m = (e, t) => (e.name ?? "").localeCompare(t.name ?? ""), ne = (e) => (e.gallery_references ?? []).filter((e) => e.kind === "gallery").sort(m), h = (e) => (e.gallery_references ?? []).filter((e) => e.kind === "exhibition").sort(m), re = (e) => p.links(e.project_id)?.artisticIntroductionUrl ?? null, k = (e) => p.links(e.project_id)?.relatedDatabaseUrl ?? null;
156
- function ae(e, t) {
157
- if (!e) return null;
158
- let n = f.value.sourceDatabase === !1 ? null : f.value.sourceDatabase ?? null, r = null;
159
- if (n) {
160
- let i = n.chipClass ? n.chipClass(e, t) : null, a = p.label(e.project_id);
161
- (i || a) && (r = {
162
- chipClass: i,
163
- name: a,
164
- label: u(n.label ?? "record.sheet.sourceDatabase")
165
- });
166
- }
167
- let i = n && n.addToCollection !== !1 ? u(n.addToCollection?.label ?? "record.action.addToCollection") : null, a = n ? e.backward_compatibility ?? "" : "", o = f.value.notice === !1 ? null : f.value.notice ?? null, s = o && o.show(e, t) ? u(o.label) : null;
168
- return {
169
- source: r,
170
- addToCollectionLabel: i,
171
- notice: s,
172
- backwardCompatibility: a
173
- };
174
- }
175
- let F = me(), ce = se("partners"), le = se("countries");
176
- I(["partners", "countries"]), F.loadTranslations("countries", "en");
177
- function ue(e, t) {
178
- let n = F.tr("countries", e, t, "en");
179
- return R(n.name ?? le.value?.get(e)?.internal_name ?? "");
180
- }
181
- function de(e) {
182
- let t = e.text?.holder ? L(String(e.text.holder)) : "", n = f.value.museum === !1 ? null : f.value.museum ?? null, r = n ? ce.value?.get(e.record?.partner_id) : null;
183
- return {
184
- holder: t,
185
- view: r ? B(r, F.tr("partners", r.id, e.language, "en"), {
186
- countryLabel: (t) => ue(t, e.language),
187
- route: (t) => n.route ? n.route(t.id, e) : null
188
- }) : null
189
- };
190
- }
191
- function V(e, t) {
192
- if (!e) return null;
193
- let n = f.value.related ?? {}, i = t.records ?? [], a = t.outside ?? [], o = r.dataGetter ? i.filter((e) => r.dataGetter(e.id) != null) : i, s = r.dataGetter ? i.filter((e) => r.dataGetter(e.id) == null).map((t) => (e.related_items ?? []).find((e) => e.id === t.id)).filter(Boolean) : [], ee = [...a, ...s].map((e) => ({
194
- ...e,
195
- name: e.project_id ? p.label(e.project_id) : null,
196
- chipClass: n.outsideChip ? n.outsideChip(e, t) : null
197
- })), te = n.onDisplayIn && n.onDisplayIn !== !1 ? {
198
- linkPendingLabel: u(n.onDisplayIn.linkPendingLabel),
199
- galleries: ne(e),
200
- exhibitions: h(e)
201
- } : null, c = n.databaseLabel && k(e) ? {
202
- url: k(e),
203
- label: u(n.databaseLabel),
204
- name: p.label(e.project_id)
205
- } : null, l = n.overallDatabase && n.overallDatabase !== !1 ? {
206
- label: u(n.overallDatabase.label),
207
- linkLabel: u(n.overallDatabase.linkLabel)
208
- } : null;
209
- return {
210
- title: n.title ? u(n.title) : "",
211
- description: n.description ? u(n.description) : "",
212
- heading: u(n.heading ?? "record.related.items"),
213
- variant: n.variant ?? "grid",
214
- actionLabel: n.actionLabel ? u(n.actionLabel) : "",
215
- inPackage: o,
216
- references: ee,
217
- notInPackageLabel: n.notInPackageLabel ? u(n.notInPackageLabel) : "",
218
- artisticIntroduction: n.artisticIntroductionLabel && re(e) ? {
219
- url: re(e),
220
- label: u(n.artisticIntroductionLabel)
221
- } : null,
222
- timeline: n.timeline ? n.timeline(e, t) : null,
223
- glossary: n.glossary !== !1,
224
- dynasties: n.dynasties ? n.dynasties(e, t.language, t) : null,
225
- media: n.media === !1 ? [] : e.media ?? [],
226
- onDisplayIn: te,
227
- database: c,
228
- overallDatabase: l,
229
- download: n.download === !1 ? null : {
230
- label: u("record.action.download"),
231
- pdfLabel: u("record.action.downloadPdf")
232
- }
233
- };
234
- }
235
- function fe() {
236
- window.print();
237
- }
238
- return (r, a) => l.value ? (O(), v(d, {
239
- key: 0,
240
- spec: f.value,
241
- id: e.id,
242
- entity: e.entity
243
- }, S({
244
- "before-sheet": P((e) => [j(r.$slots, "before-sheet", D(T(e)), () => [(O(!0), b(g, null, A([ae(e.record, e)], (t) => (O(), b(g, { key: "before-sheet" }, [t?.source || t?.backwardCompatibility || t?.addToCollectionLabel ? (O(), b("div", Se, [
245
- t.source ? (O(), b("p", Ce, [t.source.chipClass ? (O(), b("span", {
246
- key: 0,
247
- class: E(["mwnf-chip", t.source.chipClass]),
248
- "aria-hidden": "true"
249
- }, null, 2)) : y("", !0), t.source.name ? (O(), b(g, { key: 1 }, [C(M(t.source.label) + ": " + M(t.source.name), 1)], 64)) : y("", !0)])) : y("", !0),
250
- t.backwardCompatibility ? (O(), b("p", we, [x("code", null, M(t.backwardCompatibility), 1)])) : y("", !0),
251
- t.addToCollectionLabel ? (O(), b("p", Te, [x("a", {
252
- href: N(z).myCollection,
253
- target: "_blank",
254
- rel: "noopener"
255
- }, "↗ " + M(t.addToCollectionLabel), 9, Ee)])) : y("", !0)
256
- ])) : y("", !0), t?.notice ? (O(), b("div", De, [C(M(t.notice) + " ", 1), x("strong", null, [x("em", null, M(e.languages.map((e) => e.label).join(", ")), 1)])])) : y("", !0)], 64))), 128))])]),
257
- museum: P((e) => [j(r.$slots, "museum", D(T(e)), () => [(O(!0), b(g, null, A([de(e)], (t) => (O(), b("div", Oe, [t.holder ? (O(), b("p", {
258
- key: 0,
259
- class: "mwnf-sheet-museum__holder",
260
- innerHTML: t.holder
261
- }, null, 8, ke)) : y("", !0), t.view ? (O(), v(te, {
262
- key: 1,
263
- variant: "summary",
264
- partner: t.view,
265
- label: "partner.info.about",
266
- dir: e.dir
267
- }, null, 8, ["partner", "dir"])) : y("", !0)]))), 128))])]),
268
- related: P((e) => [j(r.$slots, "related", D(T(e)), () => [(O(!0), b(g, null, A([V(e.record, e)], (r) => (O(), b(g, { key: e.record?.id ?? "related" }, [r ? (O(), b("div", Ae, [
269
- r.title ? (O(), b("p", je, M(r.title), 1)) : y("", !0),
270
- r.description ? (O(), b("p", Me, M(r.description), 1)) : y("", !0),
271
- w(c, {
272
- heading: r.heading,
273
- records: r.inPackage,
274
- variant: r.variant,
275
- "action-label": r.actionLabel
276
- }, {
277
- default: P(() => [r.references.length ? (O(), b("ul", Ne, [(O(!0), b(g, null, A(r.references, (e) => (O(), b("li", { key: e.id }, [
278
- e.chipClass ? (O(), b("span", {
279
- key: 0,
280
- class: E(["mwnf-chip", e.chipClass]),
281
- "aria-hidden": "true"
282
- }, null, 2)) : y("", !0),
283
- e.name ? (O(), b(g, { key: 1 }, [C(M(e.name), 1)], 64)) : (O(), b("code", G, M(e.backward_compatibility), 1)),
284
- r.notInPackageLabel ? (O(), b("span", Pe, M(r.notInPackageLabel), 1)) : y("", !0)
285
- ]))), 128))])) : y("", !0)]),
286
- _: 2
287
- }, 1032, [
288
- "heading",
289
- "records",
290
- "variant",
291
- "action-label"
292
- ]),
293
- r.artisticIntroduction ? (O(), b("p", Fe, [x("a", {
294
- href: r.artisticIntroduction.url,
295
- target: "_blank",
296
- rel: "noopener"
297
- }, "↗ " + M(r.artisticIntroduction.label), 9, Ie)])) : y("", !0),
298
- r.timeline ? (O(), v(i, {
299
- key: e.record.id,
300
- info: r.timeline
301
- }, null, 8, ["info"])) : y("", !0),
302
- r.glossary ? (O(), v(t, {
303
- key: 4,
304
- language: e.language,
305
- dir: e.dir
306
- }, null, 8, ["language", "dir"])) : y("", !0),
307
- r.dynasties?.records?.length ? (O(), v(n, {
308
- key: 5,
309
- heading: N(u)("record.dynasty.list"),
310
- dynasties: r.dynasties.records,
311
- tr: r.dynasties.tr,
312
- dir: e.dir
313
- }, null, 8, [
314
- "heading",
315
- "dynasties",
316
- "tr",
317
- "dir"
318
- ])) : y("", !0),
319
- r.media.length ? (O(), v(ee, {
320
- key: 6,
321
- heading: N(u)("record.related.audioVideo")
322
- }, {
323
- default: P(() => [(O(!0), b(g, null, A(r.media, (e) => (O(), b("p", {
324
- key: e.url,
325
- class: "mwnf-sheet-related__line"
326
- }, [x("a", {
327
- href: e.url,
328
- target: "_blank",
329
- rel: "noopener"
330
- }, "↗ " + M(e.title ?? e.url), 9, Le)]))), 128))]),
331
- _: 2
332
- }, 1032, ["heading"])) : y("", !0),
333
- r.onDisplayIn && (r.onDisplayIn.galleries.length || r.onDisplayIn.exhibitions.length) ? (O(), b("div", Re, [
334
- x("p", ze, M(N(u)("record.related.onDisplayIn")), 1),
335
- r.onDisplayIn.exhibitions.length ? (O(), b("div", Be, [x("p", K, M(N(u)("record.related.exhibitions")), 1), (O(!0), b(g, null, A(r.onDisplayIn.exhibitions, (e) => (O(), b("p", {
336
- key: e.id,
337
- class: "mwnf-sheet-related__line"
338
- }, [e.legacy_host ? (O(), b("a", {
339
- key: 0,
340
- href: e.legacy_host,
341
- target: "_blank",
342
- rel: "noopener"
343
- }, "↗ " + M(e.name), 9, q)) : (O(), b("span", J, [C(M(e.name) + " ", 1), x("span", Ve, M(r.onDisplayIn.linkPendingLabel), 1)]))]))), 128))])) : y("", !0),
344
- r.onDisplayIn.galleries.length ? (O(), b("div", He, [x("p", Y, M(N(u)("record.related.galleries")), 1), (O(!0), b(g, null, A(r.onDisplayIn.galleries, (e) => (O(), b("p", {
345
- key: e.id,
346
- class: "mwnf-sheet-related__line"
347
- }, [e.legacy_host ? (O(), b("a", {
348
- key: 0,
349
- href: e.legacy_host,
350
- target: "_blank",
351
- rel: "noopener"
352
- }, "↗ " + M(e.name), 9, Ue)) : (O(), b("span", We, [C(M(e.name) + " ", 1), x("span", X, M(r.onDisplayIn.linkPendingLabel), 1)]))]))), 128))])) : y("", !0)
353
- ])) : y("", !0),
354
- r.database ? (O(), b("div", Z, [x("p", Ge, M(r.database.label), 1), x("p", Q, [x("a", {
355
- href: r.database.url,
356
- target: "_blank",
357
- rel: "noopener"
358
- }, "↗ " + M(r.database.name), 9, Ke)])])) : y("", !0),
359
- r.overallDatabase ? (O(), b("div", qe, [x("p", Je, M(r.overallDatabase.label), 1), x("p", Ye, [x("a", {
360
- href: N(z).overallDatabase,
361
- target: "_blank",
362
- rel: "noopener"
363
- }, "↗ " + M(r.overallDatabase.linkLabel), 9, Xe)])])) : y("", !0),
364
- r.download ? (O(), b("div", Ze, [x("p", Qe, M(r.download.label), 1), x("p", {
365
- class: "mwnf-sheet-related__line mwnf-sheet-related__line--action",
366
- onClick: fe
367
- }, "➤ " + M(r.download.pdfLabel), 1)])) : y("", !0)
368
- ])) : y("", !0)], 64))), 128))])]),
369
- _: 2
370
- }, [A(s.value, (e) => ({
371
- name: e,
372
- fn: P((t) => [j(r.$slots, e, D(T(t)))])
373
- }))]), 1032, [
374
- "spec",
375
- "id",
376
- "entity"
377
- ])) : (O(), v(N(oe), { key: 1 }));
378
- }
379
- }, et = ["dir"], tt = {
380
- key: 0,
381
- class: "mwnf-essay__breadcrumb"
382
- }, nt = { class: "mwnf-essay__breadcrumb-label" }, rt = {
383
- key: 1,
384
- class: "mwnf-essay__breadcrumb-link"
385
- }, it = ["aria-label"], at = { class: "mwnf-essay__title" }, ot = {
386
- key: 0,
387
- class: "mwnf-essay__number"
388
- }, st = ["innerHTML"], ct = { class: "mwnf-essay__body" }, lt = { class: "mwnf-essay__main" }, ut = {
389
- key: 0,
390
- class: "mwnf-essay__status"
391
- }, dt = ["innerHTML"], ft = ["innerHTML"], pt = {
392
- key: 4,
393
- class: "mwnf-essay__nav"
394
- }, mt = {
395
- key: 1,
396
- class: "mwnf-essay__nav-spacer"
397
- }, ht = {
398
- key: 0,
399
- class: "mwnf-essay__side"
400
- }, gt = {
401
- key: 0,
402
- class: "mwnf-essay__panel"
403
- }, _t = {
404
- key: 0,
405
- class: "mwnf-essay__variants"
406
- }, vt = ["aria-pressed", "onClick"], yt = ["src", "alt"], bt = ["innerHTML"], xt = {
407
- key: 0,
408
- class: "mwnf-essay__panel-label"
409
- }, St = ["innerHTML"], Ct = ["innerHTML"], wt = {
410
- key: 0,
411
- class: "mwnf-essay__thumbs"
412
- }, Tt = ["onClick"], Et = ["src"], Dt = {
413
- key: 2,
414
- class: "mwnf-essay__status"
415
- }, Ot = {
416
- __name: "EssayView",
417
- props: {
418
- spec: {
419
- type: Object,
420
- required: !0
421
- },
422
- id: {
423
- type: String,
424
- required: !0
425
- }
426
- },
427
- setup(e) {
428
- let t = e, { t: n } = _e(), r = me(), i = ie();
429
- function ee(e) {
430
- return !!e && typeof e.walk == "function" && typeof e.children == "function";
431
- }
432
- function te(e) {
433
- return typeof e == "string" ? e : "themes";
434
- }
435
- let c = t.spec.entity ?? "items", d = t.spec.tree, f = d?.entity ?? (d?.themes ? te(d.themes) : t.spec.entity ?? "collections"), p = ee(d) ? d : d?.themes ? pe({
436
- source: "themes",
437
- entity: f,
438
- childType: d.childType
439
- }) : pe({
440
- purpose: d?.purpose,
441
- rootId: d?.rootId,
442
- childType: d?.childType,
443
- entity: f,
444
- order: d?.order
445
- }), m = ce(f), ne = _(() => m.value !== null), h = _(() => t.spec), S = _(() => p.byId.value.get(t.id) ?? null), re = _(() => p.parents(t.id).at(-1) ?? null), F = _(() => {
446
- if (re.value) return p.children(re.value.id);
447
- let e = p.root.value;
448
- return e ? p.children(e.id) : p.walk().filter((e) => p.parents(e.id).length === 0);
449
- }), I = _(() => F.value.findIndex((e) => e.id === t.id)), L = _(() => h.value.navigation || !1), R = _(() => L.value === "siblings" ? I.value > 0 ? F.value[I.value - 1] : null : L.value === "tree" ? p.previous(t.id) : null), z = _(() => L.value === "siblings" ? I.value !== -1 && I.value < F.value.length - 1 ? F.value[I.value + 1] : null : L.value === "tree" ? p.next(t.id) : null), { language: B, dir: he } = ye(S, { entity: f }), ve = _(() => S.value ? r.tr(f, S.value.id, B.value, "en") : {}), H = k(!1);
450
- ae(() => [S.value?.id, B.value], async () => {
451
- if (H.value = !1, !S.value) {
452
- H.value = !0;
453
- return;
454
- }
455
- let e = B.value === "en" ? ["en"] : [B.value, "en"];
456
- await Promise.all([f, c].flatMap((t) => e.map((e) => r.loadTranslations(t, e)))), H.value = !0;
457
- }, { immediate: !0 });
458
- function U(e) {
459
- if (!e) return "";
460
- let t = h.value.placeholder, n = (e) => !!e && !!t && t.test(e), i = r.tr(f, e.id, B.value, "en");
461
- if (i.title && !n(i.title)) return i.title;
462
- let a = r.tr(f, e.id, "en").title;
463
- return a && !n(a) ? a : e.internal_name ?? e.id;
464
- }
465
- let W = _(() => ({
466
- node: S.value,
467
- text: ve.value,
468
- language: B.value,
469
- tree: p,
470
- select: Ve,
471
- t: n,
472
- tr: (e, t) => r.tr(e, t, B.value, "en")
473
- }));
474
- function be(e, t) {
475
- return t.split(".").reduce((e, t) => e?.[t], e);
476
- }
477
- function xe(e, t) {
478
- return e === !1 || e == null ? "" : typeof e == "function" ? e(t) ?? "" : be(t.text, e) ?? "";
479
- }
480
- let Se = _(() => xe(h.value.quote ?? "quote", W.value)), Ce = _(() => xe(h.value.body ?? "description", W.value)), we = _(() => {
481
- if (!h.value.glossary || !S.value) return [];
482
- let e = [Se.value, Ce.value].filter(Boolean);
483
- return ue(e.join("\n\n"), B.value);
484
- }), Te = _(() => le(we.value)), { active: Ee, onClick: De, close: Oe } = ge(we), ke = _(() => Ee.value ? de(Ee.value.definition, { breaks: !0 }) : ""), Ae = _(() => S.value ? h.value.heading ? h.value.heading(W.value) : V(String(U(S.value)), { glossary: Te.value }) : ""), je = _(() => Se.value ? V(String(Se.value), { glossary: Te.value }) : ""), Me = _(() => Ce.value ? de(String(Ce.value), {
485
- breaks: !0,
486
- glossary: Te.value
487
- }) : ""), Ne = _(() => S.value ? h.value.about?.(S.value) ?? !1 : !1), G = _(() => !!Ne.value);
488
- function Pe(e) {
489
- let t = Ne.value;
490
- return t && typeof t == "object" ? !!t[e] : !!h.value.aboutKeeps?.includes(e);
491
- }
492
- let Fe = [
493
- [1e3, "M"],
494
- [900, "CM"],
495
- [500, "D"],
496
- [400, "CD"],
497
- [100, "C"],
498
- [90, "XC"],
499
- [50, "L"],
500
- [40, "XL"],
501
- [10, "X"],
502
- [9, "IX"],
503
- [5, "V"],
504
- [4, "IV"],
505
- [1, "I"]
506
- ];
507
- function Ie(e) {
508
- let t = e, n = "";
509
- for (let [e, r] of Fe) for (; t >= e;) n += r, t -= e;
510
- return n;
511
- }
512
- let Le = _(() => {
513
- let e = h.value.numbering;
514
- if (!e || !S.value) return "";
515
- let n = (F.value.length ? F.value : [S.value]).findIndex((e) => e.id === t.id), r = n >= 0 ? n + 1 : 1;
516
- return e === "roman" ? Ie(r) : String(r);
517
- });
518
- function Re(e) {
519
- 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) : [] : [];
520
- }
521
- let ze = se(c), Be = _(() => {
522
- let e = h.value.items?.of ?? Re;
523
- return S.value ? e(S.value, W.value) : [];
524
- }), K = _(() => Be.value.map((e) => ze.value.get(e)).filter(Boolean)), q = k(null);
525
- ae(K, (e) => {
526
- e.some((e) => e.id === q.value) || (q.value = e[0]?.id ?? null);
527
- }, { immediate: !0 });
528
- let J = _(() => K.value.find((e) => e.id === q.value) ?? K.value[0] ?? null);
529
- function Ve(e) {
530
- q.value = e;
531
- }
532
- function He(e) {
533
- let t = h.value.items?.route;
534
- return !t || !e ? null : typeof t == "function" ? t(e, W.value) : {
535
- name: t,
536
- params: { id: e.id }
537
- };
538
- }
539
- function Y(e) {
540
- let t = h.value.route;
541
- return !t || !e ? null : typeof t == "function" ? t(e, W.value) : {
542
- name: t,
543
- params: { id: e.id }
544
- };
545
- }
546
- function Ue(e) {
547
- if (!e) return null;
548
- let t = r.tr(c, e.id, B.value, "en").name ?? e.internal_name ?? e.id;
549
- return {
550
- name: V(String(t)),
551
- image: e.images?.[0]?.url ?? "",
552
- imageAlt: fe(String(t))
553
- };
554
- }
555
- let We = _(() => {
556
- let e = J.value;
557
- if (!e) return null;
558
- let t = Ue(e), n = h.value.items?.caption?.(e, S.value, W.value);
559
- return {
560
- ...t,
561
- ...n
562
- };
563
- }), X = _(() => !!h.value.panel), Z = _(() => {
564
- let e = J.value;
565
- if (!e) return [];
566
- let t = We.value, n = e.images?.[0]?.url ? [{
567
- id: "__primary",
568
- image: e.images[0].url,
569
- alt: t?.imageAlt ?? "",
570
- caption: {
571
- title: t?.name ?? "",
572
- justification: "",
573
- fields: null
574
- }
575
- }] : [], r = h.value.panel?.variants?.(e, W.value) ?? [];
576
- return [...n, ...r.map((e, t) => ({
577
- id: e.id ?? `variant-${t}`,
578
- ...e
579
- }))];
580
- }), Ge = k(null);
581
- ae(Z, (e) => {
582
- e.some((e) => e.id === Ge.value) || (Ge.value = e[0]?.id ?? null);
583
- }, { immediate: !0 });
584
- let Q = _(() => Z.value.find((e) => e.id === Ge.value) ?? Z.value[0] ?? null);
585
- function Ke(e) {
586
- Ge.value = e;
587
- }
588
- let qe = _(() => {
589
- let e = Q.value;
590
- return e?.image ? [{
591
- url: e.image,
592
- alt: e.alt ?? ""
593
- }] : [];
594
- }), Je = _(() => {
595
- let e = J.value;
596
- return !e || !h.value.panel?.fields ? [] : h.value.panel.fields(e, S.value, W.value) ?? [];
597
- }), Ye = _(() => {
598
- let e = Q.value?.caption?.fields;
599
- return e == null ? Je.value : e.map((e) => ({
600
- label: e.label ? n(e.label) : "",
601
- value: e.value
602
- }));
603
- }), Xe = _(() => {
604
- let e = Q.value?.caption?.justification;
605
- return e ? V(String(e)) : "";
606
- }), Ze = _(() => K.value.map((e) => {
607
- let t = Ue(e), n = h.value.items?.meta?.(e, W.value) ?? [], r = h.value.items?.badge?.(e, W.value) ?? "";
608
- return {
609
- id: e.id,
610
- image: t.image,
611
- imageAlt: t.imageAlt,
612
- name: t.name,
613
- meta: n,
614
- badge: r,
615
- to: He(e)
616
- };
617
- })), Qe = _(() => h.value.breadcrumb && S.value ? p.parents(t.id) : []), $e = _(() => {
618
- let e = h.value.tabs;
619
- return e ? e === "children" ? S.value ? p.children(S.value.id) : [] : F.value : [];
620
- }), Ot = _(() => h.value.previous ?? "exhibition.theme.previous"), kt = _(() => h.value.next ?? "exhibition.theme.next"), At = _(() => h.value.backTo ?? "record.action.backToResults"), jt = _(() => h.value.inThisTheme ?? "exhibition.theme.inThisTheme"), Mt = _(() => h.value.seeAll ?? "exhibition.theme.seeAllInTheme"), $ = _(() => ({
621
- ...W.value,
622
- items: K.value,
623
- selected: J.value,
624
- selectedVariant: Q.value,
625
- selectVariant: Ke,
626
- breadcrumb: Qe.value,
627
- previous: R.value,
628
- next: z.value
629
- })), Nt = _(() => G.value && !Pe("panel") ? !1 : X.value || K.value.length > 0 || !!i.aside), Pt = _(() => (!G.value || Pe("navigation")) && !!L.value && !!(R.value || z.value));
630
- return (t, r) => ne.value && !S.value ? (O(), v(N(oe), { key: 0 })) : S.value ? (O(), b("article", {
631
- key: 1,
632
- class: E(["mwnf-essay", { "mwnf-essay--about": G.value }]),
633
- dir: N(he) || void 0,
634
- onClick: r[0] ||= (...e) => N(De) && N(De)(...e)
635
- }, [
636
- j(t.$slots, "header", D(T($.value)), () => [
637
- Qe.value.length ? (O(), b("p", tt, [x("span", nt, M(N(n)(At.value)), 1), (O(!0), b(g, null, A(Qe.value, (e) => (O(), b(g, { key: e.id }, [Y(e) ? (O(), v(u, {
638
- key: 0,
639
- to: Y(e),
640
- class: "mwnf-essay__breadcrumb-link"
641
- }, {
642
- default: P(() => [C(M(U(e)), 1)]),
643
- _: 2
644
- }, 1032, ["to"])) : (O(), b("span", rt, M(U(e)), 1))], 64))), 128))])) : y("", !0),
645
- $e.value.length > 1 ? (O(), b("div", {
646
- key: 1,
647
- class: "mwnf-essay__tabs",
648
- role: "tablist",
649
- "aria-label": N(n)(jt.value)
650
- }, [(O(!0), b(g, null, A($e.value, (t) => (O(), v(u, {
651
- key: t.id,
652
- to: Y(t),
653
- class: E(["mwnf-essay__tab", { "mwnf-essay__tab--active": t.id === e.id }])
654
- }, {
655
- default: P(() => [C(M(U(t)), 1)]),
656
- _: 2
657
- }, 1032, ["to", "class"]))), 128))], 8, it)) : y("", !0),
658
- x("h1", at, [Le.value ? (O(), b("span", ot, M(Le.value), 1)) : y("", !0), x("span", { innerHTML: Ae.value }, null, 8, st)])
659
- ]),
660
- x("div", ct, [x("div", lt, [
661
- H.value ? y("", !0) : (O(), b("p", ut, M(N(n)("core.status.loading")), 1)),
662
- je.value ? (O(), b("p", {
663
- key: 1,
664
- class: "mwnf-essay__quote",
665
- innerHTML: je.value
666
- }, null, 8, dt)) : y("", !0),
667
- j(t.$slots, "before-body", D(T($.value))),
668
- Me.value ? (O(), b("div", {
669
- key: 2,
670
- class: "mwnf-essay__prose mwnf-sheet__block",
671
- innerHTML: Me.value
672
- }, null, 8, ft)) : y("", !0),
673
- j(t.$slots, "after-body", D(T($.value))),
674
- G.value ? y("", !0) : j(t.$slots, "justifications", D(T($.value)), void 0, void 0, 3),
675
- Pt.value ? (O(), b("div", pt, [j(t.$slots, "navigation", D(T($.value)), () => [R.value ? (O(), v(u, {
676
- key: 0,
677
- to: Y(R.value),
678
- class: "mwnf-essay__nav-link mwnf-essay__nav-link--previous"
679
- }, {
680
- default: P(() => [C("← " + M(N(n)(Ot.value)), 1)]),
681
- _: 1
682
- }, 8, ["to"])) : (O(), b("span", mt)), z.value ? (O(), v(u, {
683
- key: 2,
684
- to: Y(z.value),
685
- class: "mwnf-essay__nav-link mwnf-essay__nav-link--next"
686
- }, {
687
- default: P(() => [C(M(N(n)(kt.value)) + " →", 1)]),
688
- _: 1
689
- }, 8, ["to"])) : y("", !0)])])) : y("", !0)
690
- ]), Nt.value ? (O(), b("div", ht, [
691
- j(t.$slots, "panel", D(T($.value)), () => [X.value && We.value ? (O(), b("div", gt, [
692
- w(a, { images: qe.value }, null, 8, ["images"]),
693
- Z.value.length > 1 ? (O(), b("ul", _t, [(O(!0), b(g, null, A(Z.value, (e) => (O(), b("li", { key: e.id }, [x("button", {
694
- type: "button",
695
- class: E(["mwnf-essay__variant", { "mwnf-essay__variant--active": e.id === Q.value?.id }]),
696
- "aria-pressed": e.id === Q.value?.id ? "true" : "false",
697
- onClick: (t) => Ke(e.id)
698
- }, [e.image ? (O(), b("img", {
699
- key: 0,
700
- src: e.image,
701
- alt: e.alt ?? "",
702
- loading: "lazy"
703
- }, null, 8, yt)) : y("", !0)], 10, vt)]))), 128))])) : y("", !0),
704
- x("h3", {
705
- class: "mwnf-essay__panel-name",
706
- innerHTML: Q.value?.caption?.title || We.value.name
707
- }, null, 8, bt),
708
- (O(!0), b(g, null, A(Ye.value, (e, t) => (O(), b("p", {
709
- key: t,
710
- class: "mwnf-essay__panel-field"
711
- }, [e.label ? (O(), b("span", xt, M(e.label), 1)) : y("", !0), x("span", { innerHTML: e.value }, null, 8, St)]))), 128)),
712
- Xe.value ? (O(), b("p", {
713
- key: 1,
714
- class: "mwnf-essay__panel-justification mwnf-sheet__block",
715
- innerHTML: Xe.value
716
- }, null, 8, Ct)) : y("", !0),
717
- He(J.value) ? (O(), v(u, {
718
- key: 2,
719
- to: He(J.value),
720
- class: "mwnf-essay__panel-link"
721
- }, {
722
- default: P(() => [C(M(N(n)(Mt.value)) + " →", 1)]),
723
- _: 1
724
- }, 8, ["to"])) : y("", !0)
725
- ])) : y("", !0)]),
726
- j(t.$slots, "thumbnails", D(T($.value)), () => [X.value && K.value.length > 1 ? (O(), b("ul", wt, [(O(!0), b(g, null, A(K.value, (e) => (O(), b("li", { key: e.id }, [x("button", {
727
- type: "button",
728
- class: E(["mwnf-essay__thumb", { "mwnf-essay__thumb--active": e.id === J.value?.id }]),
729
- onClick: (t) => Ve(e.id)
730
- }, [e.images?.[0]?.url ? (O(), b("img", {
731
- key: 0,
732
- src: e.images[0].url,
733
- alt: "",
734
- loading: "lazy"
735
- }, null, 8, Et)) : y("", !0)], 10, Tt)]))), 128))])) : !X.value && Ze.value.length ? (O(), v(o, {
736
- key: 1,
737
- records: Ze.value
738
- }, null, 8, ["records"])) : y("", !0)]),
739
- j(t.$slots, "aside", D(T($.value)))
740
- ])) : y("", !0)]),
741
- j(t.$slots, "after", D(T($.value)), () => [w(l)]),
742
- w(s, {
743
- term: N(Ee),
744
- html: ke.value,
745
- dir: N(he),
746
- onClose: N(Oe)
747
- }, null, 8, [
748
- "term",
749
- "html",
750
- "dir",
751
- "onClose"
752
- ])
753
- ], 10, et)) : (O(), b("p", Dt, M(N(n)("core.status.loading")), 1));
754
- }
755
- }, kt = { class: "mwnf-link-list" }, At = {
756
- key: 0,
757
- class: "mwnf-link-list__back"
758
- }, jt = {
759
- key: 1,
760
- class: "mwnf-link-list__title"
761
- }, Mt = {
762
- key: 2,
763
- class: "mwnf-link-list__groups"
764
- }, $ = {
765
- key: 0,
766
- class: "mwnf-link-list__heading"
767
- }, Nt = {
768
- key: 1,
769
- class: "mwnf-link-list__links"
770
- }, Pt = ["innerHTML"], Ft = ["innerHTML"], It = {
771
- key: 3,
772
- class: "mwnf-link-list__empty"
773
- }, Lt = {
774
- __name: "LinkListView",
775
- props: { spec: {
776
- type: Object,
777
- required: !0
778
- } },
779
- setup(e) {
780
- let t = e, { t: n } = _e(), r = _(() => ((typeof t.spec.groups == "function" ? t.spec.groups({}) : t.spec.groups ?? []) ?? []).filter((e) => e.links?.length > 0)), i = _(() => t.spec.title ? n(t.spec.title) : ""), a = _(() => t.spec.back?.label ? n(t.spec.back.label) : ""), o = _(() => n(t.spec.empty ?? "catalogue.results.noResults"));
781
- return (e, s) => (O(), b("div", kt, [
782
- t.spec.back && a.value ? (O(), b("div", At, [w(u, {
783
- to: t.spec.back.to,
784
- href: t.spec.back.href
785
- }, {
786
- default: P(() => [C(" ← " + M(a.value), 1)]),
787
- _: 1
788
- }, 8, ["to", "href"])])) : y("", !0),
789
- i.value ? (O(), b("h1", jt, M(i.value), 1)) : y("", !0),
790
- j(e.$slots, "before"),
791
- r.value.length ? (O(), b("div", Mt, [(O(!0), b(g, null, A(r.value, (t, r) => (O(), b("section", {
792
- key: r,
793
- class: "mwnf-link-list__group"
794
- }, [j(e.$slots, "group", { group: t }, () => [t.heading ? (O(), b("h2", $, M(N(n)(t.heading)), 1)) : y("", !0), t.links?.length ? (O(), b("ul", Nt, [(O(!0), b(g, null, A(t.links, (e, t) => (O(), b("li", {
795
- key: t,
796
- class: "mwnf-link-list__item"
797
- }, [w(u, {
798
- class: "mwnf-link-list__link",
799
- to: e.to,
800
- href: e.href
801
- }, {
802
- default: P(() => [x("span", { innerHTML: N(L)(e.label) }, null, 8, Pt)]),
803
- _: 2
804
- }, 1032, ["to", "href"]), e.note ? (O(), b("div", {
805
- key: 0,
806
- class: "mwnf-link-list__note",
807
- innerHTML: N(L)(e.note)
808
- }, null, 8, Ft)) : y("", !0)]))), 128))])) : y("", !0)])]))), 128))])) : (O(), b("div", It, M(o.value), 1)),
809
- j(e.$slots, "after")
92
+ }, null, 8, ["keypath"])) : p("", !0)], 2)) : p("", !0),
93
+ y(n.$slots, "before"),
94
+ h(t, { cards: l.value }, null, 8, ["cards"]),
95
+ y(n.$slots, "default"),
96
+ I.value ? (v(), f(e, g({ key: 1 }, I.value, { class: { "mwnf-panel": s.value.panels } }), null, 16, ["class"])) : p("", !0),
97
+ y(n.$slots, "after")
810
98
  ]));
811
99
  }
812
100
  };
813
101
  //#endregion
814
- export { m as CatalogueResultsView, Ot as EssayView, xe as HomeView, Lt as LinkListView, f as PartnerListView, $e as RecordSheetView, d as RecordView, p as SearchFormView, ne as TextPageView, h as TimelineResultsView };
102
+ export { a as CatalogueResultsView, s as EssayView, j as HomeView, n as LinkListView, i as PartnerListView, l as RecordSheetView, r as RecordView, o as SearchFormView, c as TextPageView, u as TimelineResultsView };