@jxsuite/starters 1.2.2 → 1.6.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 (82) hide show
  1. package/README.md +194 -0
  2. package/package.json +4 -2
  3. package/registry.json +16 -0
  4. package/sites/blog/document.schema.json +633 -115
  5. package/sites/blog/package.json +3 -3
  6. package/sites/blog/project.schema.json +523 -24
  7. package/sites/course/document.schema.json +633 -115
  8. package/sites/course/package.json +3 -3
  9. package/sites/course/project.schema.json +523 -24
  10. package/sites/event/document.schema.json +633 -115
  11. package/sites/event/package.json +3 -3
  12. package/sites/event/project.schema.json +523 -24
  13. package/sites/fitness-studio/document.schema.json +633 -115
  14. package/sites/fitness-studio/package.json +3 -3
  15. package/sites/fitness-studio/project.schema.json +523 -24
  16. package/sites/home-services/document.schema.json +633 -115
  17. package/sites/home-services/package.json +3 -3
  18. package/sites/home-services/project.schema.json +523 -24
  19. package/sites/museum/components/mu-band.json +92 -0
  20. package/sites/museum/components/mu-cta.json +101 -0
  21. package/sites/museum/components/mu-exhibition-card.json +191 -0
  22. package/sites/museum/components/mu-exhibition-row.json +237 -0
  23. package/sites/museum/components/mu-fact.json +64 -0
  24. package/sites/museum/components/mu-footer.json +256 -0
  25. package/sites/museum/components/mu-hero.json +236 -0
  26. package/sites/museum/components/mu-more.json +63 -0
  27. package/sites/museum/components/mu-oculus.json +44 -0
  28. package/sites/museum/components/mu-pagehead.json +105 -0
  29. package/sites/museum/components/mu-quote.json +49 -0
  30. package/sites/museum/content/exhibitions/ar/clay-salt-thread.md +18 -0
  31. package/sites/museum/content/exhibitions/ar/harbour-and-crane.md +18 -0
  32. package/sites/museum/content/exhibitions/ar/the-cartographers-room.md +18 -0
  33. package/sites/museum/content/exhibitions/en/clay-salt-thread.md +19 -0
  34. package/sites/museum/content/exhibitions/en/harbour-and-crane.md +19 -0
  35. package/sites/museum/content/exhibitions/en/the-cartographers-room.md +19 -0
  36. package/sites/museum/content/exhibitions/fr-CA/clay-salt-thread.md +18 -0
  37. package/sites/museum/content/exhibitions/fr-CA/harbour-and-crane.md +18 -0
  38. package/sites/museum/content/exhibitions/fr-CA/the-cartographers-room.md +18 -0
  39. package/sites/museum/document.schema.json +23513 -0
  40. package/sites/museum/layouts/ar.json +29 -0
  41. package/sites/museum/layouts/base.json +329 -0
  42. package/sites/museum/layouts/fr-ca.json +28 -0
  43. package/sites/museum/package.json +18 -0
  44. package/sites/museum/pages/about.json +378 -0
  45. package/sites/museum/pages/ar/about.json +314 -0
  46. package/sites/museum/pages/ar/exhibitions/[slug].json +211 -0
  47. package/sites/museum/pages/ar/exhibitions/index.json +103 -0
  48. package/sites/museum/pages/ar/index.json +246 -0
  49. package/sites/museum/pages/ar/visit.json +327 -0
  50. package/sites/museum/pages/exhibitions/[slug].json +200 -0
  51. package/sites/museum/pages/exhibitions/index.json +93 -0
  52. package/sites/museum/pages/fr-ca/a-propos.json +313 -0
  53. package/sites/museum/pages/fr-ca/expositions/[slug].json +215 -0
  54. package/sites/museum/pages/fr-ca/expositions/index.json +104 -0
  55. package/sites/museum/pages/fr-ca/index.json +246 -0
  56. package/sites/museum/pages/fr-ca/visite.json +328 -0
  57. package/sites/museum/pages/index.json +236 -0
  58. package/sites/museum/pages/visit.json +317 -0
  59. package/sites/museum/project.json +179 -0
  60. package/sites/museum/project.schema.json +996 -0
  61. package/sites/museum/public/favicon.svg +8 -0
  62. package/sites/nonprofit/document.schema.json +633 -115
  63. package/sites/nonprofit/package.json +3 -3
  64. package/sites/nonprofit/project.schema.json +523 -24
  65. package/sites/portfolio/document.schema.json +633 -115
  66. package/sites/portfolio/package.json +3 -3
  67. package/sites/portfolio/project.schema.json +523 -24
  68. package/sites/professional-firm/document.schema.json +633 -115
  69. package/sites/professional-firm/package.json +3 -3
  70. package/sites/professional-firm/project.schema.json +523 -24
  71. package/sites/real-estate/document.schema.json +633 -115
  72. package/sites/real-estate/package.json +3 -3
  73. package/sites/real-estate/project.schema.json +523 -24
  74. package/sites/restaurant/document.schema.json +633 -115
  75. package/sites/restaurant/package.json +3 -3
  76. package/sites/restaurant/project.schema.json +523 -24
  77. package/sites/saas/document.schema.json +633 -115
  78. package/sites/saas/package.json +3 -3
  79. package/sites/saas/project.schema.json +523 -24
  80. package/sites/shop/document.schema.json +633 -115
  81. package/sites/shop/package.json +3 -3
  82. package/sites/shop/project.schema.json +523 -24
@@ -0,0 +1,378 @@
1
+ {
2
+ "title": "About the museum — Atrium",
3
+ "description": "Atrium is the city's museum of art and history: a glass hall over the old customs house, free to enter, run by the city and its readers since 1897.",
4
+ "state": {
5
+ "catalogued": {
6
+ "$expression": {
7
+ "operator": "call",
8
+ "target": {
9
+ "$ref": "window#/Intl/formatNumber"
10
+ },
11
+ "value": [
12
+ 0.94,
13
+ null,
14
+ {
15
+ "style": "percent"
16
+ }
17
+ ]
18
+ }
19
+ },
20
+ "archive": {
21
+ "$expression": {
22
+ "operator": "call",
23
+ "target": {
24
+ "$ref": "window#/Intl/formatNumber"
25
+ },
26
+ "value": [
27
+ 1240,
28
+ null,
29
+ {
30
+ "style": "unit",
31
+ "unit": "meter",
32
+ "unitDisplay": "long"
33
+ }
34
+ ]
35
+ }
36
+ },
37
+ "staff": {
38
+ "$expression": {
39
+ "operator": "call",
40
+ "target": {
41
+ "$ref": "window#/Intl/formatNumber"
42
+ },
43
+ "value": [61]
44
+ }
45
+ },
46
+ "languages": {
47
+ "$expression": {
48
+ "operator": "call",
49
+ "target": {
50
+ "$ref": "window#/Intl/formatList"
51
+ },
52
+ "value": [["English", "French", "Arabic"]]
53
+ }
54
+ }
55
+ },
56
+ "children": [
57
+ {
58
+ "tagName": "mu-pagehead",
59
+ "$props": {
60
+ "kicker": "About",
61
+ "title": "A museum that argues with itself",
62
+ "standfirst": "Atrium was founded by 240 households who each put in what they could and demanded, in writing, that entry stay free. It has been kept that way for a hundred and twenty-nine years, through two rebuildings and one fire.",
63
+ "metaLabel": "Reading room",
64
+ "metaValue": "Second floor, no appointment needed"
65
+ }
66
+ },
67
+ {
68
+ "tagName": "mu-band",
69
+ "$props": {
70
+ "index": "01",
71
+ "label": "The building",
72
+ "tone": "chalk"
73
+ },
74
+ "children": [
75
+ {
76
+ "tagName": "div",
77
+ "style": {
78
+ "display": "grid",
79
+ "gridTemplateColumns": "minmax(0, 1.4fr) minmax(0, 0.8fr)",
80
+ "columnGap": "clamp(2rem, 5vw, 4rem)",
81
+ "rowGap": "1.25rem",
82
+ "@--md": {
83
+ "gridTemplateColumns": "minmax(0, 1fr)"
84
+ },
85
+ "alignItems": "start"
86
+ },
87
+ "children": [
88
+ {
89
+ "tagName": "div",
90
+ "style": {
91
+ "maxWidth": "var(--measure)"
92
+ },
93
+ "children": [
94
+ {
95
+ "tagName": "p",
96
+ "style": {
97
+ "margin": "0",
98
+ "lineHeight": "1.75"
99
+ },
100
+ "textContent": "The museum began in a room above the customs house, which it outgrew in nineteen years. The glass hall that replaced it in 1916 was built over the customs house rather than instead of it: the old stone walls are still standing inside, holding up nothing, and the tour begins by walking between them."
101
+ },
102
+ {
103
+ "tagName": "p",
104
+ "style": {
105
+ "margin": "1.1rem 0 0",
106
+ "lineHeight": "1.75"
107
+ },
108
+ "textContent": "The roof is the reason people photograph the building and the reason the conservators dislike it. Every object on the ground floor is placed by how much light it can take, which is why the map cabinet sits in the darkest corner and the salt pan sits outside in the rain."
109
+ },
110
+ {
111
+ "tagName": "p",
112
+ "style": {
113
+ "margin": "1.1rem 0 0",
114
+ "lineHeight": "1.75"
115
+ },
116
+ "textContent": "Nothing here is a copy. Where the museum shows a reproduction — three of the maps are too fragile to hang — the label says so in the first line, in the same size type as the title."
117
+ },
118
+ {
119
+ "tagName": "p",
120
+ "style": {
121
+ "margin": "1.1rem 0 0",
122
+ "lineHeight": "1.75"
123
+ },
124
+ "textContent": "Where the museum does not know something, the label says that too. Roughly one object in nine has no attributed maker, and the catalogue records the gap rather than a guess."
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "tagName": "mu-oculus",
130
+ "$props": {
131
+ "size": "20rem",
132
+ "tone": "card"
133
+ }
134
+ }
135
+ ]
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "tagName": "mu-band",
141
+ "$props": {
142
+ "index": "02",
143
+ "label": "What we hold",
144
+ "tone": "card"
145
+ },
146
+ "children": [
147
+ {
148
+ "tagName": "div",
149
+ "style": {
150
+ "display": "grid",
151
+ "gridTemplateColumns": "repeat(2, minmax(0, 1fr))",
152
+ "columnGap": "clamp(2rem, 5vw, 4rem)",
153
+ "@--md": {
154
+ "gridTemplateColumns": "minmax(0, 1fr)"
155
+ }
156
+ },
157
+ "children": [
158
+ {
159
+ "tagName": "div",
160
+ "children": [
161
+ {
162
+ "tagName": "mu-fact",
163
+ "$props": {
164
+ "term": "Catalogued",
165
+ "value": "${state.catalogued}",
166
+ "note": "Of everything accessioned. The remainder is mostly the 2019 workshop bequest."
167
+ }
168
+ },
169
+ {
170
+ "tagName": "mu-fact",
171
+ "$props": {
172
+ "term": "Archive",
173
+ "value": "${state.archive}",
174
+ "note": "Of shelved paper: ledgers, survey notebooks, and workshop correspondence."
175
+ }
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ "tagName": "div",
181
+ "children": [
182
+ {
183
+ "tagName": "mu-fact",
184
+ "$props": {
185
+ "term": "Staff",
186
+ "value": "${state.staff}",
187
+ "note": "Curators, conservators, front-of-house and the two people who keep the roof clean."
188
+ }
189
+ },
190
+ {
191
+ "tagName": "mu-fact",
192
+ "$props": {
193
+ "term": "Labels in",
194
+ "value": "${state.languages}",
195
+ "note": "Every wall label, every room, with no abridged version for any of the three."
196
+ }
197
+ }
198
+ ]
199
+ }
200
+ ]
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "tagName": "mu-band",
206
+ "$props": {
207
+ "index": "03",
208
+ "label": "Three languages",
209
+ "tone": "chalk"
210
+ },
211
+ "children": [
212
+ {
213
+ "tagName": "div",
214
+ "style": {
215
+ "display": "grid",
216
+ "gridTemplateColumns": "minmax(0, 1fr) minmax(0, 0.85fr)",
217
+ "columnGap": "clamp(2rem, 5vw, 4rem)",
218
+ "alignItems": "start",
219
+ "@--md": {
220
+ "gridTemplateColumns": "minmax(0, 1fr)",
221
+ "rowGap": "2rem"
222
+ }
223
+ },
224
+ "children": [
225
+ {
226
+ "tagName": "div",
227
+ "style": {
228
+ "maxWidth": "var(--measure)"
229
+ },
230
+ "children": [
231
+ {
232
+ "tagName": "p",
233
+ "style": {
234
+ "margin": "0",
235
+ "lineHeight": "1.75"
236
+ },
237
+ "textContent": "A third of this city reads French at home and a growing share reads Arabic, so the museum is written three times over rather than once with translations bolted on. Each language has its own pages, its own wall text and its own reading of the collection — the Arabic route through Gallery 2 is not the English one reversed, it is a different argument by a different curator."
238
+ },
239
+ {
240
+ "tagName": "p",
241
+ "style": {
242
+ "margin": "1.1rem 0 0",
243
+ "lineHeight": "1.75"
244
+ },
245
+ "textContent": "Every page carries the same switch, and it lists only the languages that page actually exists in. If a language is missing from the switch, the page has not been written in it yet — that is a commitment we would rather show than hide."
246
+ }
247
+ ]
248
+ },
249
+ {
250
+ "tagName": "div",
251
+ "style": {
252
+ "border": "2px solid var(--color-ink)",
253
+ "backgroundColor": "var(--color-card)",
254
+ "padding": "clamp(1.25rem, 3vw, 1.9rem)"
255
+ },
256
+ "children": [
257
+ {
258
+ "tagName": "p",
259
+ "style": {
260
+ "margin": "0 0 1.1rem",
261
+ "fontFamily": "var(--font-label)",
262
+ "fontSize": "0.66rem",
263
+ "letterSpacing": "var(--label-tracking)",
264
+ "textTransform": "var(--label-case)",
265
+ "color": "var(--color-muted)"
266
+ },
267
+ "textContent": "This page, in every language it exists in"
268
+ },
269
+ {
270
+ "tagName": "ul",
271
+ "style": {
272
+ "listStyle": "none",
273
+ "margin": "0",
274
+ "padding": "0",
275
+ "display": "grid",
276
+ "gap": "0.55rem"
277
+ },
278
+ "children": {
279
+ "$prototype": "Array",
280
+ "items": {
281
+ "$ref": "#/state/$page/alternates"
282
+ },
283
+ "map": {
284
+ "tagName": "li",
285
+ "children": [
286
+ {
287
+ "tagName": "a",
288
+ "lang": "${item.code}",
289
+ "attributes": {
290
+ "dir": "${item.dir}",
291
+ "href": "${item.url}",
292
+ "hreflang": "${item.code}",
293
+ "aria-current": "${item.current ? 'page' : 'false'}"
294
+ },
295
+ "style": {
296
+ "display": "flex",
297
+ "alignItems": "baseline",
298
+ "gap": "0.7rem",
299
+ "textDecoration": "none",
300
+ "paddingBlock": "0.35rem",
301
+ "borderBlockEnd": "1px solid var(--color-hairline)",
302
+ "color": "${item.current ? 'var(--color-muted)' : 'var(--color-pigment)'}",
303
+ ":hover": {
304
+ "color": "var(--color-ink)"
305
+ }
306
+ },
307
+ "children": [
308
+ {
309
+ "tagName": "span",
310
+ "style": {
311
+ "fontFamily": "var(--font-label)",
312
+ "fontSize": "0.64rem",
313
+ "letterSpacing": "var(--label-tracking)",
314
+ "textTransform": "var(--label-case)",
315
+ "opacity": "0.7"
316
+ },
317
+ "textContent": "${item.code}"
318
+ },
319
+ {
320
+ "tagName": "span",
321
+ "style": {
322
+ "fontSize": "1.02rem"
323
+ },
324
+ "textContent": "${item.label}"
325
+ },
326
+ {
327
+ "tagName": "span",
328
+ "style": {
329
+ "marginInlineStart": "auto",
330
+ "fontFamily": "var(--font-label)",
331
+ "fontSize": "0.62rem",
332
+ "letterSpacing": "var(--label-tracking)",
333
+ "textTransform": "var(--label-case)",
334
+ "display": "${item.current ? 'inline' : 'none'}"
335
+ },
336
+ "textContent": "You are here"
337
+ }
338
+ ]
339
+ }
340
+ ]
341
+ }
342
+ }
343
+ }
344
+ ]
345
+ }
346
+ ]
347
+ }
348
+ ]
349
+ },
350
+ {
351
+ "tagName": "mu-band",
352
+ "$props": {
353
+ "index": "04",
354
+ "label": "In the founders' words",
355
+ "tone": "ink"
356
+ },
357
+ "children": [
358
+ {
359
+ "tagName": "mu-quote",
360
+ "$props": {
361
+ "quote": "Let it be free at the door, or let it be something other than ours.",
362
+ "attribution": "Subscription minute book, 4 November 1897"
363
+ }
364
+ }
365
+ ]
366
+ },
367
+ {
368
+ "tagName": "mu-cta",
369
+ "$props": {
370
+ "kicker": "Come in",
371
+ "heading": "The reading room is open to anyone with a question.",
372
+ "text": "Second floor, above the map cabinet. No appointment to read; ask at the desk to handle.",
373
+ "label": "Plan your visit",
374
+ "href": "/visit/"
375
+ }
376
+ }
377
+ ]
378
+ }