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