@museumwnf/viewer-layout 3.3.0 → 3.5.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.
Files changed (34) hide show
  1. package/README.md +191 -12
  2. package/dist/{FeaturedRecord-BJ8LaWGP.js → FeaturedRecord-DJfyvfqt.js} +1 -1
  3. package/dist/GlossaryPopover-DcptyNWI.js +654 -0
  4. package/dist/ItemDetailView-COWC8GDg.js +299 -0
  5. package/dist/{OnDisplayIn-Dv8i7uvH.js → OnDisplayIn-BfJoPonn.js} +38 -38
  6. package/dist/RecordView-C9rP8TyQ.js +263 -0
  7. package/dist/SiteShell-4vV2jIzf.js +192 -0
  8. package/dist/{Theme-Db88mckV.js → Theme-CZ-OVXao.js} +26 -26
  9. package/dist/TimelineEventList-gsoc-SBx.js +841 -0
  10. package/dist/TimelineResultsView-C2-TnM71.js +1386 -0
  11. package/dist/chrome-DPuPeWzV.js +1141 -0
  12. package/dist/components.js +1 -1
  13. package/dist/{content-p0tqKkcD.js → content-CtwBcSjU.js} +2 -2
  14. package/dist/content.js +6 -5
  15. package/dist/data-CJlLA-Mf.js +38 -0
  16. package/dist/data-DTbAYdr2.js +40 -0
  17. package/dist/dxa.js +638 -519
  18. package/dist/index.js +7 -6
  19. package/dist/standalone.js +762 -0
  20. package/dist/{themeSpecs-C_uGarTs.js → themeSpecs-B885l456.js} +3 -2
  21. package/dist/viewer-layout.css +1 -1
  22. package/dist/views.js +5 -4
  23. package/package.json +4 -3
  24. package/src/dxa/testing.js +37 -14
  25. package/src/styles/dxa-exhibition.css +25 -1
  26. package/src/styles/dxa-gallery.css +249 -2
  27. package/src/tokens.reference.css +78 -0
  28. package/dist/ItemDetailView-CfUtRLOV.js +0 -284
  29. package/dist/PageShell-CbJ9lQoQ.js +0 -961
  30. package/dist/SiteShell-C3OgZO8p.js +0 -154
  31. package/dist/TimelineEventList-COjkXEzS.js +0 -1487
  32. package/dist/TimelineResultsView-CmHomvV_.js +0 -1636
  33. package/dist/data-BfyYB8ff.js +0 -33
  34. package/dist/data-G8uXeEfE.js +0 -35
@@ -29,17 +29,28 @@ function mounter(config, sharedTexts, ownTexts) {
29
29
  return { messages, mountSite: (hash = '#/') => mountOn(config, messages, hash) }
30
30
  }
31
31
 
32
- // The footer's attribution and terms-of-use link come from the data package's
33
- // `manifest.rights`, read by the layout's own `SiteShell`.
32
+ // The page's text nodes joined by spaces, for `checkTextsRendered`: a raw
33
+ // entry name sits inside one text node, while the host's `textContent` glues
34
+ // neighbouring blocks together ("… online exhibition." + "The Hijaz
35
+ // Railway" reads as an "exhibition.T…" name).
36
+ function spacedText(host) {
37
+ const walker = host.ownerDocument.createTreeWalker(host, 4 /* NodeFilter.SHOW_TEXT */)
38
+ const parts = []
39
+ for (let node = walker.nextNode(); node; node = walker.nextNode()) parts.push(node.nodeValue)
40
+ return { textContent: parts.join(' ') }
41
+ }
42
+
43
+ // The footer is legacy's: the portal links, the 2004–<year> line and the
44
+ // social-network icons, and no rights-holder line, which legacy never printed
45
+ // (inventory-app#2233).
34
46
  function rightsTest(mountSite, manifest, messages) {
35
- it('renders the rights attribution and the terms link in the footer', async () => {
47
+ it("renders legacy's footer: the portal links, the copyright line and the social links, no attribution", async () => {
36
48
  const { app, host } = await mountSite()
37
- const attribution = host.querySelector('.mwnf-footer__attribution')
38
- expect(attribution).not.toBeNull()
39
- expect(attribution.textContent).toContain(manifest.rights.attribution)
40
- const terms = attribution.querySelector('a.mwnf-footer__terms')
41
- expect(terms.textContent).toBe(messages.en['record.source.termsOfUse'])
42
- expect(terms.getAttribute('href')).toBe(manifest.rights.terms_url)
49
+ expect(host.querySelector('.mwnf-footer__attribution')).toBeNull()
50
+ expect(host.querySelector('.mwnf-footer__text').textContent)
51
+ .toContain(`${messages.en['core.footer.copyright']} 2004–`)
52
+ expect(host.querySelectorAll('.mwnf-footer__link').length).toBeGreaterThan(0)
53
+ expect(host.querySelectorAll('.mwnf-footer__social-link')).toHaveLength(6)
43
54
  app.unmount()
44
55
  }, 20000)
45
56
  }
@@ -179,7 +190,10 @@ export function describeGallerySmoke({ config, sharedTexts, ownTexts, manifest,
179
190
  describe('gallery smoke test', () => {
180
191
  it('mounts against the configured data package', async () => {
181
192
  const { app, host } = await mountSite()
182
- expect(host.textContent).toContain(config.siteName)
193
+ // The home banner's title is legacy's: the gallery's own project name
194
+ // where the gallery is one ("Discover Carpet Art"), its name elsewhere.
195
+ const title = manifest.projects?.[manifest.gallery?.project_id]?.name?.en ?? config.siteName
196
+ await vi.waitFor(() => expect(host.querySelector('.mwnf-banner__title')?.textContent ?? '').toContain(title), WAIT)
183
197
  expect(host.querySelector('.mwnf-page')).not.toBeNull()
184
198
  // The family's Home view replaces viewer-core's generic one.
185
199
  expect(host.querySelector('.vc-home')).toBeNull()
@@ -224,6 +238,10 @@ export function describeGallerySmoke({ config, sharedTexts, ownTexts, manifest,
224
238
  expect(host.querySelector('.mwnf-record')).not.toBeNull()
225
239
  expect(host.querySelector('.mwnf-dxa-item__languages')).not.toBeNull()
226
240
  expect(host.querySelector('.mwnf-sheet-related')).not.toBeNull()
241
+ // Related content is legacy's sidebar, and the record's internal key
242
+ // is never shown.
243
+ expect(host.querySelector('.mwnf-record__aside .mwnf-sheet-related')).not.toBeNull()
244
+ expect(host.textContent).not.toContain('mwnf3:')
227
245
  // The "Source database" line names the item's project from the manifest.
228
246
  const projectName = manifest.projects[items[0].project_id]?.name?.en ?? ''
229
247
  expect(host.querySelector('.mwnf-sheet-source').textContent).toContain(projectName)
@@ -472,7 +490,7 @@ export function describeGallerySmoke({ config, sharedTexts, ownTexts, manifest,
472
490
  expect(text).toContain('Skip to content')
473
491
  expect(text).toContain('All MWNF Galleries')
474
492
  expect(text).toContain('Tip:')
475
- expect(checkTextsRendered(host, {
493
+ expect(checkTextsRendered(spacedText(host), {
476
494
  namespaces: [namespace, 'core', 'layout', 'catalogue', 'record', 'sheet', 'timeline', 'partner', 'gallery'],
477
495
  })).toEqual([])
478
496
  app.unmount()
@@ -529,6 +547,10 @@ export function describeExhibitionSmoke({
529
547
  expect(host.querySelector('.mwnf-record')).not.toBeNull()
530
548
  expect(host.querySelector('.mwnf-dxa-item__languages')).not.toBeNull()
531
549
  expect(host.querySelector('.mwnf-sheet-related')).not.toBeNull()
550
+ // Related content is legacy's sidebar, and the record's internal key
551
+ // is never shown.
552
+ expect(host.querySelector('.mwnf-record__aside .mwnf-sheet-related')).not.toBeNull()
553
+ expect(host.textContent).not.toContain('mwnf3:')
532
554
  const projectName = manifest.projects?.[item.project_id]?.name?.en
533
555
  if (projectName) expect(host.querySelector('.mwnf-sheet-source__line').textContent).toContain(projectName)
534
556
  // The glossary tool is the layout's own, on every sheet.
@@ -748,8 +770,9 @@ export function describeExhibitionSmoke({
748
770
  const { app, host } = await mountSite('#/about')
749
771
  await vi.waitFor(() => expect(host.querySelector('.mwnf-essay')).not.toBeNull(), WAIT)
750
772
  expect(host.querySelector('.mwnf-essay').className).toContain('mwnf-essay--about')
751
- // About mode drops the side column and the picture narrative.
752
- expect(host.querySelector('.mwnf-essay__side')).toBeNull()
773
+ // About mode keeps legacy's picture column (the About theme's pictures
774
+ // and their captions) and drops the tour and the picture narrative.
775
+ expect(host.querySelector('.mwnf-essay__side .mwnf-picture-gallery')).not.toBeNull()
753
776
  expect(host.querySelector('.mwnf-picture-narrative')).toBeNull()
754
777
  expect(host.textContent).toContain(config.siteName)
755
778
  app.unmount()
@@ -823,7 +846,7 @@ export function describeExhibitionSmoke({
823
846
  expect(text).toContain('Skip to content')
824
847
  expect(text).toContain('Themes')
825
848
  expect(text).toContain('A MWNF online exhibition.')
826
- expect(checkTextsRendered(host, {
849
+ expect(checkTextsRendered(spacedText(host), {
827
850
  namespaces: [namespace, 'core', 'layout', 'catalogue', 'record', 'sheet', 'timeline', 'partner', 'exhibition'],
828
851
  })).toEqual([])
829
852
  app.unmount()
@@ -48,7 +48,7 @@
48
48
  --mwnf-header-padding: 0;
49
49
  --mwnf-header-background: #ffffff;
50
50
  --mwnf-header-text: #000000;
51
- --mwnf-header-title-size: 1.375rem;
51
+ --mwnf-header-title-size: 1.875rem;
52
52
  --mwnf-header-subtitle-size: 0.875rem;
53
53
  --mwnf-header-subtitle-color: #000000;
54
54
 
@@ -231,6 +231,10 @@
231
231
  box. */
232
232
  --mwnf-dxa-heading-color: var(--secondary-text-color);
233
233
  --mwnf-dxa-band-background: #e0e0e0;
234
+ /* The item sheet's Related Content sidebar, in the contrast colour. */
235
+ --mwnf-dxa-related-background: var(--contrast-color);
236
+ --mwnf-dxa-related-text: var(--contrast-text-color);
237
+ --mwnf-dxa-related-heading-color: var(--contrast-text-color);
234
238
 
235
239
  /* ---------- PartnerListView group heading ---------- */
236
240
  --mwnf-partner-list-group-title-size: 1.25rem;
@@ -352,6 +356,15 @@ a { color: inherit; }
352
356
  padding-inline: 0;
353
357
  }
354
358
 
359
+ /* The header's "A MWNF Online Exhibition": bold, in the contrast colour,
360
+ outlined by legacy's dark shadow. */
361
+ .mwnf-header__title {
362
+ font-weight: 700;
363
+ line-height: 1;
364
+ color: var(--contrast-color);
365
+ text-shadow: -1px 0 2px #000000;
366
+ }
367
+
355
368
  /* The footer: one centred line of links and the copyright. */
356
369
  .mwnf-footer {
357
370
  justify-content: center;
@@ -363,3 +376,14 @@ a { color: inherit; }
363
376
  .mwnf-nav--open .mwnf-nav__links { display: grid; }
364
377
  .mwnf-nav__toggle { width: 100%; justify-content: center; font-size: 20px; }
365
378
  }
379
+
380
+ /* Legacy's language select in the header: the codes alone, no visible
381
+ label (it stays for a screen reader). */
382
+ .mwnf-header__language-label {
383
+ position: absolute;
384
+ width: 1px;
385
+ height: 1px;
386
+ overflow: hidden;
387
+ clip-path: inset(50%);
388
+ white-space: nowrap;
389
+ }
@@ -125,12 +125,12 @@
125
125
  --mwnf-banner-section-title-size: 190%;
126
126
 
127
127
  /* ---------- Content: the record page ---------- */
128
- /* The sheet as the legacy gallery set it: bold labels in the dark tone over
128
+ /* The sheet as the legacy gallery set it: bold labels in the text colour over
129
129
  plain values, no cell borders, the photo gallery on the page ground. */
130
130
  --mwnf-sheet-text-size: 0.9375rem;
131
131
  --mwnf-sheet-label-size: 0.9375rem;
132
132
  --mwnf-sheet-label-weight: 700;
133
- --mwnf-sheet-label-color: var(--theme-dark);
133
+ --mwnf-sheet-label-color: inherit;
134
134
  --mwnf-sheet-gap: 0.75rem;
135
135
  --mwnf-sheet-toggle-color: var(--theme-dark);
136
136
  --mwnf-sheet-term-color: var(--theme-medium-dark);
@@ -223,6 +223,11 @@
223
223
  on the page ground. */
224
224
  --mwnf-dxa-heading-color: var(--theme-dark);
225
225
  --mwnf-dxa-band-background: var(--background-color);
226
+ /* The item sheet's Related Content sidebar: white on the light tone, its
227
+ headings underlined in the dark tone (legacy's `$theme-light`). */
228
+ --mwnf-dxa-related-background: var(--theme-light);
229
+ --mwnf-dxa-related-text: #ffffff;
230
+ --mwnf-dxa-related-heading-color: var(--theme-dark);
226
231
  }
227
232
 
228
233
  /* ── Page reset ──────────────────────────────────────────────────────────── */
@@ -340,3 +345,245 @@ a { color: inherit; }
340
345
  .mwnf-nav--open .mwnf-nav__links { display: grid; grid-template-columns: 1fr; }
341
346
  .mwnf-nav__toggle { width: 100%; justify-content: center; font-size: 20px; }
342
347
  }
348
+
349
+ /* ── The header mark and tools, the footer's icons (inventory-app#2233) ──── */
350
+
351
+ /* The tools keep to the row's end whether or not a title cell sits between
352
+ them and the mark (the home page has none). Legacy's logo is drawn at its
353
+ own size. */
354
+ .mwnf-header__tools {
355
+ margin-inline-start: auto;
356
+ }
357
+ .mwnf-header__brand-logo {
358
+ height: auto;
359
+ }
360
+ .mwnf-footer__social-link {
361
+ color: #ffffff;
362
+ }
363
+
364
+ /* ── The home page: legacy's FeaturedPartners, LogosComponent and
365
+ FeaturedGalleries ───────────────────────────────────────────────────── */
366
+
367
+ /* Featured Partners: white on the medium tone, the picture and the text
368
+ side by side in the middle 60% of the column, the bullets under them. */
369
+ .mwnf-dxa-home .mwnf-featured-partners {
370
+ display: flex;
371
+ flex-direction: column;
372
+ align-items: center;
373
+ padding: 0;
374
+ background: var(--theme-medium);
375
+ color: #ffffff;
376
+ }
377
+ .mwnf-dxa-home .mwnf-featured-partners__heading {
378
+ width: calc(60% + 20px);
379
+ margin: 40px 0 20px;
380
+ font-size: 125%;
381
+ font-weight: 400;
382
+ color: inherit;
383
+ }
384
+ .mwnf-dxa-home .mwnf-featured-partners__carousel {
385
+ width: calc(60% + 20px);
386
+ height: 32vh;
387
+ max-height: 275px;
388
+ min-height: 0;
389
+ }
390
+ .mwnf-dxa-home .mwnf-featured-partners__card {
391
+ height: 100%;
392
+ gap: 20px;
393
+ }
394
+ .mwnf-dxa-home .mwnf-featured-partners__image {
395
+ flex: 0 0 calc(50% - 10px);
396
+ height: 100%;
397
+ }
398
+ .mwnf-dxa-home .mwnf-featured-partners__logo {
399
+ height: 100%;
400
+ }
401
+ .mwnf-dxa-home .mwnf-featured-partners__body {
402
+ flex: 1;
403
+ gap: 0;
404
+ height: 100%;
405
+ }
406
+ .mwnf-dxa-home .mwnf-featured-partners__name {
407
+ font-size: inherit;
408
+ color: inherit;
409
+ }
410
+ .mwnf-dxa-home .mwnf-featured-partners__location {
411
+ font-size: inherit;
412
+ font-style: italic;
413
+ color: inherit;
414
+ }
415
+ .mwnf-dxa-home .mwnf-featured-partners__description {
416
+ height: 6em;
417
+ overflow: hidden;
418
+ margin-top: 20px;
419
+ line-height: 1.2em;
420
+ font-size: inherit;
421
+ }
422
+ .mwnf-dxa-home .mwnf-featured-partners__more {
423
+ margin-top: 5px;
424
+ text-align: end;
425
+ color: #ffffff;
426
+ text-decoration: none;
427
+ }
428
+ .mwnf-dxa-home .mwnf-featured-partners__more + .mwnf-featured-partners__more {
429
+ margin-top: 0;
430
+ }
431
+ .mwnf-dxa-home .mwnf-featured-partners__more:hover {
432
+ text-decoration: underline;
433
+ }
434
+ .mwnf-dxa-home .mwnf-featured-partners__controls {
435
+ justify-content: flex-start;
436
+ width: calc(60% + 20px);
437
+ margin: 20px 0 40px;
438
+ padding: 0;
439
+ gap: 18px;
440
+ }
441
+ .mwnf-dxa-home .mwnf-featured-partners__bullet {
442
+ width: 14px;
443
+ height: 14px;
444
+ background: var(--theme-dark);
445
+ }
446
+ .mwnf-dxa-home .mwnf-featured-partners__bullet--active {
447
+ background: var(--theme-light);
448
+ }
449
+
450
+ /* The logos strip (Glass's "Set up on the occasion of"). */
451
+ .mwnf-dxa-home-logos {
452
+ display: flex;
453
+ flex-direction: column;
454
+ align-items: center;
455
+ padding: 20px 50px;
456
+ background: #ffffff;
457
+ }
458
+ .mwnf-dxa-home-logos__label {
459
+ font-weight: 700;
460
+ color: var(--theme-dark);
461
+ }
462
+ .mwnf-dxa-home-logos__list {
463
+ display: flex;
464
+ flex-wrap: wrap;
465
+ justify-content: center;
466
+ list-style: none;
467
+ }
468
+ .mwnf-dxa-home-logos__logo {
469
+ display: flex;
470
+ align-items: center;
471
+ justify-content: center;
472
+ width: 90px;
473
+ min-height: 90px;
474
+ margin: 10px 20px;
475
+ }
476
+ .mwnf-dxa-home-logos__logo img {
477
+ max-width: 100%;
478
+ object-fit: contain;
479
+ }
480
+
481
+ /* Visit MWNF Galleries and Other Virtual Museums, side by side on white:
482
+ four tiles named in capitals on a dark band over the picture, and the
483
+ three virtual museums' picture banners, each named in its colour. */
484
+ .mwnf-dxa-home .mwnf-sibling-galleries {
485
+ display: grid;
486
+ grid-template-columns: 75% 25%;
487
+ background: #ffffff;
488
+ }
489
+ .mwnf-dxa-home .mwnf-sibling-galleries__galleries,
490
+ .mwnf-dxa-home .mwnf-sibling-galleries__museums {
491
+ display: flex;
492
+ flex-direction: column;
493
+ padding: 20px 30px;
494
+ background: transparent;
495
+ }
496
+ .mwnf-dxa-home .mwnf-sibling-galleries__header {
497
+ margin-bottom: 12px;
498
+ }
499
+ .mwnf-dxa-home .mwnf-sibling-galleries__heading,
500
+ .mwnf-dxa-home .mwnf-sibling-galleries__see-more {
501
+ align-self: flex-start;
502
+ margin-bottom: 12px;
503
+ padding: 2px 0;
504
+ border-bottom: 1px solid var(--theme-medium-dark);
505
+ font-size: 115%;
506
+ font-weight: 400;
507
+ color: var(--theme-medium-dark);
508
+ }
509
+ .mwnf-dxa-home .mwnf-sibling-galleries__header .mwnf-sibling-galleries__heading,
510
+ .mwnf-dxa-home .mwnf-sibling-galleries__see-more {
511
+ margin-bottom: 0;
512
+ }
513
+ .mwnf-dxa-home .mwnf-sibling-galleries__grid {
514
+ gap: 24px;
515
+ }
516
+ .mwnf-dxa-home .mwnf-sibling-galleries__gallery {
517
+ position: relative;
518
+ }
519
+ .mwnf-dxa-home .mwnf-sibling-galleries__image {
520
+ height: auto;
521
+ aspect-ratio: 1;
522
+ margin: 0;
523
+ }
524
+ .mwnf-dxa-home .mwnf-sibling-galleries__name {
525
+ position: absolute;
526
+ inset-inline: 0;
527
+ bottom: 0;
528
+ display: flex;
529
+ align-items: center;
530
+ justify-content: center;
531
+ height: 3em;
532
+ padding: 0 4px;
533
+ background: rgba(0, 0, 0, 0.6);
534
+ color: #ffffff;
535
+ font-weight: 400;
536
+ font-size: inherit;
537
+ text-align: center;
538
+ text-transform: uppercase;
539
+ }
540
+ .mwnf-dxa-home .mwnf-sibling-galleries__museums-grid {
541
+ display: flex;
542
+ flex-direction: column;
543
+ justify-content: space-between;
544
+ flex: 1;
545
+ gap: 10px;
546
+ }
547
+ .mwnf-dxa-home .mwnf-sibling-galleries__museum {
548
+ position: relative;
549
+ flex: 1;
550
+ }
551
+ .mwnf-dxa-home .mwnf-sibling-galleries__museum-image--picture {
552
+ height: 100%;
553
+ background: none;
554
+ }
555
+ .mwnf-dxa-home .mwnf-sibling-galleries__museum-image--picture img {
556
+ display: block;
557
+ width: 100%;
558
+ height: 100%;
559
+ object-fit: cover;
560
+ }
561
+ .mwnf-dxa-home .mwnf-sibling-galleries__museum-image--picture + .mwnf-sibling-galleries__museum-name {
562
+ position: absolute;
563
+ inset: 0;
564
+ display: flex;
565
+ align-items: center;
566
+ justify-content: center;
567
+ margin: 0;
568
+ font-size: 150%;
569
+ font-weight: 700;
570
+ color: var(--mwnf-museum-bg);
571
+ text-shadow: 0 0 10px var(--mwnf-museum-text);
572
+ }
573
+
574
+ @media only screen and (max-width: 974px) {
575
+ .mwnf-dxa-home .mwnf-sibling-galleries {
576
+ display: flex;
577
+ flex-direction: column;
578
+ }
579
+ .mwnf-dxa-home .mwnf-sibling-galleries__museums-grid {
580
+ display: grid;
581
+ grid-template-columns: repeat(3, 1fr);
582
+ column-gap: 24px;
583
+ }
584
+ .mwnf-dxa-home .mwnf-featured-partners__heading,
585
+ .mwnf-dxa-home .mwnf-featured-partners__carousel,
586
+ .mwnf-dxa-home .mwnf-featured-partners__controls {
587
+ width: calc(80% + 20px);
588
+ }
589
+ }
@@ -57,6 +57,7 @@
57
57
  /* --mwnf-header-button-active-background: #1c1c1c; The active language button */
58
58
  /* --mwnf-header-button-active-text: #ffffff; Its text color */
59
59
  /* --mwnf-header-language-gap: 0.25rem; Gap between language buttons */
60
+ /* --mwnf-header-brand-logo-height: 3rem; The logo image in the brand cell */
60
61
 
61
62
  /* ---------- AppBanner ---------- */
62
63
  /* --mwnf-banner-padding: 0; Vertical padding */
@@ -158,6 +159,10 @@
158
159
  /* --mwnf-footer-link-color: inherit; Footer link color */
159
160
  /* --mwnf-footer-attribution-gap: 0.25rem; Gap before the rights-holder label */
160
161
  /* --mwnf-footer-terms-color: inherit; Terms-of-use link color */
162
+ /* --mwnf-footer-social-gap: 1rem; Gap between the social-network icons */
163
+ /* --mwnf-footer-social-offset: 1.5rem; Space before them */
164
+ /* --mwnf-footer-social-color: inherit; Their colour (else the footer link colour) */
165
+ /* --mwnf-footer-social-size: 1rem; Their height */
161
166
 
162
167
  /* ---------- Content: SectionCards ---------- */
163
168
  /* --mwnf-card-columns: 3; Cards per row */
@@ -795,9 +800,82 @@
795
800
  /* --mwnf-dxa-band-background: #f0f0f0; Language switcher / tab strip / timeline-link box background */
796
801
  /* --mwnf-dxa-item-background: #ffffff; Item page ground (white on a gallery's tinted page) */
797
802
  /* --mwnf-dxa-item-link: var(--mwnf-link-text); Item sheet value links */
803
+ /* --mwnf-dxa-item-padding: 3.125rem 1.25rem; Item page: the photo and sheet columns' side padding */
804
+ /* --mwnf-dxa-related-width: 25%; Item page: the Related Content sidebar's width */
805
+ /* --mwnf-dxa-related-background: #f0f0f0; Its background */
806
+ /* --mwnf-dxa-related-text: inherit; Its text and links */
807
+ /* --mwnf-dxa-related-heading-color: inherit; Its underlined headings */
808
+ /* --mwnf-dxa-glossary-image: none; The glossary entry header's picture (set by ItemDetailView from the site's world.png) */
809
+ /* --mwnf-dxa-popup-image-width: 13.25rem; An exhibition popup notice's pictures: their widest (legacy sized them 191 to 211px) */
798
810
  /* --mwnf-dxa-theme-background: #ffffff; Exhibition theme pages: the ground (legacy's secondary colour) */
799
811
  /* --mwnf-dxa-theme-text: #000000; Their text and tour links (secondary text colour) */
800
812
  /* --mwnf-dxa-theme-contrast: #64bfd9; The heading band and link hover (contrast colour) */
801
813
  /* --mwnf-dxa-theme-contrast-text: #000000; The heading band's text (contrast text colour) */
802
814
  /* --mwnf-dxa-theme-main: #000000; The themes page's left half (main colour) */
815
+
816
+
817
+ /* ---------- Standalone family pages (src/standalone/, styles/standalone.css) ---------- */
818
+ /* Scoped to .mwnf-standalone: Discover Islamic Art, Discover Baroque Art, Sharing History. */
819
+ /* --mwnf-standalone-header-height: 5rem; Header row height (legacy: 81px) */
820
+ /* --mwnf-standalone-header-inset: 4rem; Header side inset of the logo and the links */
821
+ /* --mwnf-standalone-header-tools-gap: 0.25rem; Gap between the header links and the language select */
822
+ /* --mwnf-standalone-header-link-color: inherit; Header links ("MWNF Portal | Home") */
823
+ /* --mwnf-standalone-header-links-gap: 0.5rem; Space around the "|" between header links */
824
+ /* --mwnf-standalone-heading-size: 2.125rem; Inner pages' header heading size */
825
+ /* --mwnf-standalone-heading-weight: 400; Its weight */
826
+ /* --mwnf-standalone-heading-color: inherit; Its colour */
827
+ /* --mwnf-standalone-heading-shadow: none; Its text shadow */
828
+ /* --mwnf-standalone-language-size: 0.75rem; Header language select text size */
829
+ /* --mwnf-standalone-logo-height: 3.125rem; Header logo maximum height */
830
+ /* --mwnf-standalone-banner-height: 10rem; Inner pages' banner band height */
831
+ /* --mwnf-standalone-banner-background: transparent; Band colour under its picture */
832
+ /* --mwnf-standalone-banner-title-size: 1.875rem; Band title size */
833
+ /* --mwnf-standalone-banner-title-color: inherit; Band title colour */
834
+ /* --mwnf-standalone-banner-title-padding: 0.5rem 0 0.875rem 4rem; Band title padding */
835
+ /* --mwnf-standalone-menu-background: transparent; Menu cells */
836
+ /* --mwnf-standalone-menu-alt-background: var(--mwnf-standalone-menu-background); Every other menu cell */
837
+ /* --mwnf-standalone-menu-link: inherit; Menu link colour */
838
+ /* --mwnf-standalone-menu-hover: inherit; Menu link colour under the pointer and when active */
839
+ /* --mwnf-standalone-menu-size: 0.9375rem; Menu text size */
840
+ /* --mwnf-standalone-menu-weight: 500; Menu text weight */
841
+ /* --mwnf-standalone-menu-padding: 0.3125rem 0; Menu cell padding */
842
+ /* --mwnf-standalone-bullet: none; The arrow before a side link (a url() to the site's picture) */
843
+ /* --mwnf-standalone-back-arrow: none; The arrow before a "Back" link (a url()) */
844
+ /* --mwnf-standalone-home-gap: 2rem; Gap between the home page's two columns */
845
+ /* --mwnf-standalone-home-padding: 1.25rem 2.25rem; Home content padding (top, bottom) */
846
+ /* --mwnf-standalone-home-links-margin: 3.5rem 0 0; Side links' margin */
847
+ /* --mwnf-standalone-home-link: inherit; Side link colour */
848
+ /* --mwnf-standalone-home-text-size: inherit; The home page's text size (side links, record of the day) */
849
+ /* --mwnf-standalone-highlight-offset: 3.5rem; Space above the record of the day */
850
+ /* --mwnf-standalone-highlight-gap: 1.25rem; Gap between its picture and its text */
851
+ /* --mwnf-standalone-highlight-image-width: 18rem; Its picture's maximum width */
852
+ /* --mwnf-standalone-sponsors-background: transparent; The band above the footer */
853
+ /* --mwnf-standalone-sponsors-padding: 1.25rem; Its padding (top and bottom) */
854
+ /* --mwnf-standalone-sponsors-gap: 1.5rem; Gap between its columns */
855
+ /* --mwnf-standalone-sponsors-text-size: 0.875rem; Its text size */
856
+ /* --mwnf-standalone-sponsors-logo-gap: 1.25rem; Gap between its logos */
857
+ /* --mwnf-standalone-sponsors-logo-height: 4.5rem; Logo maximum height */
858
+ /* --mwnf-standalone-item-gap: 1.875rem; Gap between the item sheet's three columns */
859
+ /* --mwnf-standalone-related-background: transparent; Related Content column */
860
+ /* --mwnf-standalone-related-text: inherit; Its text */
861
+ /* --mwnf-standalone-related-link: inherit; Its links */
862
+ /* --mwnf-standalone-related-padding: 0 1.25rem 1.875rem; Its padding */
863
+ /* --mwnf-standalone-related-heading-offset: 1.75rem; Space above its heading */
864
+ /* --mwnf-standalone-related-thumb-size: 3.75rem; Related record thumbnail size */
865
+ /* --mwnf-standalone-page-width: 42rem; Text page column width */
866
+ /* --mwnf-standalone-page-inset: 16.666%; Text page column inset */
867
+ /* --mwnf-standalone-page-padding: 1.25rem 1.875rem; Text page padding (top, bottom) */
868
+ /* --mwnf-standalone-page-heading-size: 1.1875rem; Text page headings */
869
+ /* --mwnf-standalone-page-subheading-size: 1rem; Text page subheadings */
870
+ /* --mwnf-standalone-drop-cap-size: 3.5em; Drop cap size */
871
+ /* --mwnf-standalone-drop-cap-color: inherit; Drop cap colour */
872
+ /* --mwnf-standalone-subnav-border: 1px solid currentColor; Tab strip rule */
873
+ /* --mwnf-standalone-subnav-active-background: transparent; Active tab */
874
+ /* --mwnf-standalone-subnav-active-text: inherit; Active tab text */
875
+ /* --mwnf-standalone-tiles-columns: 5; Tile grid columns */
876
+ /* --mwnf-standalone-tiles-caption-background: transparent; Tile grid caption band */
877
+ /* --mwnf-standalone-tiles-caption-text: inherit; Its text */
878
+ /* --mwnf-standalone-tiles-label-background: rgba(0, 0, 0, 0.5); A tile's name band */
879
+ /* --mwnf-standalone-tiles-label-text: #ffffff; A tile's name */
880
+ /* --mwnf-standalone-slider-count: 5; Slides shown at once (set by the component) */
803
881
  }