@jxsuite/starters 1.2.1 → 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 +1802 -1153
  5. package/sites/blog/package.json +3 -3
  6. package/sites/blog/project.schema.json +535 -39
  7. package/sites/course/document.schema.json +1802 -1153
  8. package/sites/course/package.json +3 -3
  9. package/sites/course/project.schema.json +535 -39
  10. package/sites/event/document.schema.json +1802 -1153
  11. package/sites/event/package.json +3 -3
  12. package/sites/event/project.schema.json +535 -39
  13. package/sites/fitness-studio/document.schema.json +1802 -1153
  14. package/sites/fitness-studio/package.json +3 -3
  15. package/sites/fitness-studio/project.schema.json +535 -39
  16. package/sites/home-services/document.schema.json +1802 -1153
  17. package/sites/home-services/package.json +3 -3
  18. package/sites/home-services/project.schema.json +535 -39
  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 +1802 -1153
  63. package/sites/nonprofit/package.json +3 -3
  64. package/sites/nonprofit/project.schema.json +535 -39
  65. package/sites/portfolio/document.schema.json +1802 -1153
  66. package/sites/portfolio/package.json +3 -3
  67. package/sites/portfolio/project.schema.json +535 -39
  68. package/sites/professional-firm/document.schema.json +1802 -1153
  69. package/sites/professional-firm/package.json +3 -3
  70. package/sites/professional-firm/project.schema.json +535 -39
  71. package/sites/real-estate/document.schema.json +1802 -1153
  72. package/sites/real-estate/package.json +3 -3
  73. package/sites/real-estate/project.schema.json +535 -39
  74. package/sites/restaurant/document.schema.json +1802 -1153
  75. package/sites/restaurant/package.json +3 -3
  76. package/sites/restaurant/project.schema.json +535 -39
  77. package/sites/saas/document.schema.json +1802 -1153
  78. package/sites/saas/package.json +3 -3
  79. package/sites/saas/project.schema.json +535 -39
  80. package/sites/shop/document.schema.json +1802 -1153
  81. package/sites/shop/package.json +3 -3
  82. package/sites/shop/project.schema.json +535 -39
@@ -0,0 +1,105 @@
1
+ {
2
+ "tagName": "mu-pagehead",
3
+ "state": {
4
+ "kicker": "",
5
+ "title": "",
6
+ "standfirst": "",
7
+ "metaLabel": "",
8
+ "metaValue": ""
9
+ },
10
+ "style": {
11
+ "display": "block",
12
+ "backgroundColor": "var(--color-card)",
13
+ "paddingBlock": "clamp(2.5rem, 6vw, 4.5rem)",
14
+ "paddingInline": "var(--gutter)"
15
+ },
16
+ "children": [
17
+ {
18
+ "tagName": "div",
19
+ "style": {
20
+ "maxWidth": "var(--max-width)",
21
+ "marginInline": "auto",
22
+ "display": "grid",
23
+ "gridTemplateColumns": "var(--label-column) minmax(0, 1fr)",
24
+ "columnGap": "clamp(1.5rem, 4vw, 3.5rem)",
25
+ "@--md": {
26
+ "gridTemplateColumns": "minmax(0, 1fr)",
27
+ "rowGap": "1.25rem"
28
+ }
29
+ },
30
+ "children": [
31
+ {
32
+ "tagName": "p",
33
+ "style": {
34
+ "margin": "0.55rem 0 0",
35
+ "fontFamily": "var(--font-label)",
36
+ "fontSize": "0.68rem",
37
+ "lineHeight": "1.5",
38
+ "letterSpacing": "var(--label-tracking)",
39
+ "textTransform": "var(--label-case)",
40
+ "color": "var(--color-pigment)"
41
+ },
42
+ "textContent": "${state.kicker}"
43
+ },
44
+ {
45
+ "tagName": "div",
46
+ "style": { "minWidth": "0" },
47
+ "children": [
48
+ {
49
+ "tagName": "h1",
50
+ "style": {
51
+ "margin": "0",
52
+ "fontFamily": "var(--font-display)",
53
+ "fontSize": "clamp(2.2rem, 5.2vw, 3.9rem)",
54
+ "fontWeight": "700",
55
+ "lineHeight": "calc(1.02 * var(--leading-scale))",
56
+ "letterSpacing": "var(--display-tracking)",
57
+ "maxWidth": "18ch"
58
+ },
59
+ "textContent": "${state.title}"
60
+ },
61
+ {
62
+ "tagName": "p",
63
+ "style": {
64
+ "display": "${state.standfirst ? 'block' : 'none'}",
65
+ "margin": "1.4rem 0 0",
66
+ "fontSize": "1.12rem",
67
+ "lineHeight": "1.65",
68
+ "color": "var(--color-muted)",
69
+ "maxWidth": "52ch"
70
+ },
71
+ "textContent": "${state.standfirst}"
72
+ },
73
+ {
74
+ "tagName": "div",
75
+ "style": {
76
+ "display": "${state.metaValue ? 'flex' : 'none'}",
77
+ "flexWrap": "wrap",
78
+ "gap": "0.9rem",
79
+ "marginBlockStart": "1.9rem",
80
+ "paddingBlockStart": "1rem",
81
+ "borderBlockStart": "1px solid var(--color-hairline)",
82
+ "fontFamily": "var(--font-label)",
83
+ "fontSize": "0.68rem",
84
+ "letterSpacing": "var(--label-tracking)",
85
+ "textTransform": "var(--label-case)"
86
+ },
87
+ "children": [
88
+ {
89
+ "tagName": "span",
90
+ "style": { "color": "var(--color-muted)" },
91
+ "textContent": "${state.metaLabel}"
92
+ },
93
+ {
94
+ "tagName": "span",
95
+ "style": { "color": "var(--color-pigment)" },
96
+ "textContent": "${state.metaValue}"
97
+ }
98
+ ]
99
+ }
100
+ ]
101
+ }
102
+ ]
103
+ }
104
+ ]
105
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "tagName": "mu-quote",
3
+ "state": {
4
+ "quote": "",
5
+ "attribution": ""
6
+ },
7
+ "style": {
8
+ "display": "block",
9
+ "borderInlineStart": "3px solid var(--color-pigment)",
10
+ "paddingInlineStart": "clamp(1.1rem, 3vw, 2rem)"
11
+ },
12
+ "children": [
13
+ {
14
+ "tagName": "blockquote",
15
+ "style": {
16
+ "margin": "0"
17
+ },
18
+ "children": [
19
+ {
20
+ "tagName": "p",
21
+ "style": {
22
+ "margin": "0",
23
+ "fontFamily": "var(--font-display)",
24
+ "fontSize": "clamp(1.35rem, 2.6vw, 1.8rem)",
25
+ "fontWeight": "400",
26
+ "lineHeight": "calc(1.32 * var(--leading-scale))",
27
+ "letterSpacing": "-0.02em",
28
+ "maxWidth": "32ch"
29
+ },
30
+ "textContent": "${state.quote}"
31
+ },
32
+ {
33
+ "tagName": "p",
34
+ "style": {
35
+ "display": "${state.attribution ? 'block' : 'none'}",
36
+ "margin": "1.2rem 0 0",
37
+ "fontFamily": "var(--font-label)",
38
+ "fontSize": "0.66rem",
39
+ "letterSpacing": "var(--label-tracking)",
40
+ "textTransform": "var(--label-case)",
41
+ "color": "inherit",
42
+ "opacity": "0.62"
43
+ },
44
+ "textContent": "${state.attribution}"
45
+ }
46
+ ]
47
+ }
48
+ ]
49
+ }
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "طين وملح وخيط"
3
+ description: "حِرَف المدينة الثلاث، معروضة على ارتفاع اليد: ستّون قطعة من صنع الحرفيّين، والورش التي أنتجتها."
4
+ date: "2026-06-20"
5
+ until: "2027-01-10"
6
+ gallery: "الصالة ١ والفناء"
7
+ curator: "Rana Haddad"
8
+ works: 60
9
+ hue: 348
10
+ lang: "ar"
11
+ order: 3
12
+ ---
13
+
14
+ عمل الخزّافون ضفّة الطين في أعلى النهر، وعمل الملّاحون السباخ، وجاء الخيط من أنوال في غرف فوقهما معًا. ثلاث حِرَف، واقتصاد واحد، ومجموعة قطع لم تُعرض معًا قطّ حتى الآن.
15
+
16
+ تُعرض ستّون قطعة على الارتفاع الذي صُنعت عنده: الجرار منخفضة، وقوالب الملح على ارتفاع المصطبة، والمنسوجات معلّقة بحيث ترى وجهيها معًا. وحيثما بقيت ورشة قائمة في المدينة، فعنوانها على البطاقة؛ أربع منها ما زالت تعمل، واثنتان تستقبلان الزوّار صباح السبت.
17
+
18
+ يضمّ الفناء أكبر قطعة في عهدة المتحف: حوض ملح عرضه ستّة أمتار، نُقل إلى هنا مقسّمًا عام ٢٠١٩ وأُعيد تركيبه على الحصى حيث يبلغه المطر، وهو ما بُني له أصلًا.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "المرفأ والرافعة"
3
+ description: "أربعة قرون من واجهة بحريّة عاملة، تُروى بأدوات من بنَوها وسجلّاتهم وحديدهم المنتشَل."
4
+ date: "2026-03-14"
5
+ until: "2026-08-30"
6
+ gallery: "الصالة ٢ — القاعة الطويلة"
7
+ curator: "Nadia Okonkwo"
8
+ works: 214
9
+ hue: 214
10
+ lang: "ar"
11
+ order: 1
12
+ ---
13
+
14
+ كانت المدينة سهلًا طينيًّا لا يزيد على رصيف خشبيّ حتى وُضع أوّل رصيف حجريّ، وكلّ ما يملكه المتحف من القرون الأربعة التي تلت هو، بشكل أو بآخر، عن الماء. يجمع هذا المعرض مئتين وأربع عشرة قطعة من تلك المقتنيات في قاعة واحدة، ويتركها تتجادل فيما بينها.
15
+
16
+ قدّوم نجّار سفن موضوع إلى جانب سجلّ مدير المرفأ لعام ١٧٨٢، مفتوحًا على الصفحة التي دوّن فيها وصول السفينة نفسها مرّتين في أسبوع واحد ثمّ شطب القيد الثاني. أمّا ذراع رافعة الرصيف الرابع المنتشَلة — فُكّت عام ١٩٦٢، وبقيت قطعًا في مستودع خمسين سنة، وأُعيد تركيبها هنا لأوّل مرّة — فتمتدّ على طول القاعة عند مستوى الرأس.
17
+
18
+ ما يجمع هذه القطع أنّ أيًّا منها لم يُصنع ليُنظر إليه. صُنعت لتُستعمل، وهي تحمل أثر الاستعمال. تذكر البطاقات من استعملها حيثما أمكن ذلك، وتقول بصراحة حين يتعذّر.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "غرفة رسّامي الخرائط"
3
+ description: "تسعون خريطة لساحل واحد، رُسمت على مدى ثلاثمئة سنة، ولا تتّفق اثنتان منها على موضع مصبّ النهر."
4
+ date: "2026-05-02"
5
+ until: "2026-11-15"
6
+ gallery: "الصالة ٤ — الخزانة"
7
+ curator: "Émile Sarrazin"
8
+ works: 90
9
+ hue: 38
10
+ lang: "ar"
11
+ order: 2
12
+ ---
13
+
14
+ الخريطة حجّة في ما يستحقّ أن يُرسم، والتسعون المعلّقة هنا تختلف بصوت عالٍ. أقدمها، خريطة موانئ من عام ١٦١١، تعطي النهر ثلاثة مصابّ؛ ومسح عام ١٨٩٨ يعطيه مصبًّا واحدًا ويزيحه أربعمئة متر شرقًا. بينهما قرنان من الجرف والطمي والتمنّي البلديّ.
15
+
16
+ رُتّبت الغرفة كخزانة لا كممرّ: خرائط على مستوى النظر على الجدران الأربعة، ومقاعد منخفضة في الوسط، وخزانة واحدة تضمّ الأدوات — طاولة مساحة، وسلسلتان، وثيودوليت بفقّاعة مشقوقة لم يستبدلها صاحبها قطّ.
17
+
18
+ للزوّار أن يجلسوا ما شاؤوا. ورق الشفّ والأقلام على المقاعد لكم، وما ترسمونه لكم أن تأخذوه معكم.
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: "Clay, Salt and Thread"
3
+ description: "The city's three trade crafts, shown by hand: sixty makers' pieces and the workshops that produced them."
4
+ date: "2026-06-20"
5
+ until: "2027-01-10"
6
+ gallery: "Gallery 1 and the Courtyard"
7
+ curator: "Rana Haddad"
8
+ works: 60
9
+ hue: 348
10
+ enKey: "clay-salt-thread"
11
+ lang: "en"
12
+ order: 3
13
+ ---
14
+
15
+ Potters worked the clay bank upriver, salters worked the flats, and the thread came off looms in rooms above both. Three trades, one economy, and a set of objects that were never displayed together until now.
16
+
17
+ Sixty pieces are shown at the height they were made at — the pots low, the salt moulds at bench height, the woven work hung so you can see both faces. Where a workshop survives in the city, its address is on the label; four of them are still working, and two take visitors on Saturday mornings.
18
+
19
+ The courtyard holds the largest object in the museum's care: a salt pan, six metres across, moved here in sections in 2019 and reassembled on the gravel where the rain can reach it, which is what it was built for.
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: "Harbour and Crane"
3
+ description: "Four centuries of a working waterfront, told through the tools, ledgers and salvaged ironwork of the people who built it."
4
+ date: "2026-03-14"
5
+ until: "2026-08-30"
6
+ gallery: "Gallery 2 — The Long Room"
7
+ curator: "Nadia Okonkwo"
8
+ works: 214
9
+ hue: 214
10
+ enKey: "harbour-and-crane"
11
+ lang: "en"
12
+ order: 1
13
+ ---
14
+
15
+ The city was a mudflat with a jetty until the first stone quay went in, and everything the museum owns from the four centuries since is, in one way or another, about the water. This exhibition puts 214 of those objects in one room and lets them argue with each other.
16
+
17
+ A shipwright's adze sits beside the harbour-master's 1782 ledger, open at the page where he recorded the same vessel arriving twice in one week and struck the second entry out. The salvaged jib of the Quai 4 crane — dismantled in 1962, kept in pieces in a shed for fifty years, and reassembled here for the first time — runs the length of the room at head height.
18
+
19
+ What the objects have in common is that none of them was made to be looked at. They were made to be used, and they carry the wear of it. The labels say who used them, where that is possible, and say so plainly when it is not.
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: "The Cartographers' Room"
3
+ description: "Ninety maps of one coastline, drawn over three hundred years, none of them agreeing about where the river ends."
4
+ date: "2026-05-02"
5
+ until: "2026-11-15"
6
+ gallery: "Gallery 4 — The Cabinet"
7
+ curator: "Émile Sarrazin"
8
+ works: 90
9
+ hue: 38
10
+ enKey: "the-cartographers-room"
11
+ lang: "en"
12
+ order: 2
13
+ ---
14
+
15
+ A map is an argument about what matters, and the ninety hung here disagree loudly. The earliest, a portolan chart of 1611, gives the river three mouths; the survey of 1898 gives it one and moves it four hundred metres east. Between them lie two centuries of dredging, silt, and municipal wishful thinking.
16
+
17
+ The room is arranged as a cabinet rather than a corridor: maps at eye height on all four walls, low benches in the middle, and a single case holding the instruments — a plane table, two chains, a theodolite with a cracked bubble that its owner never replaced.
18
+
19
+ Visitors are welcome to sit as long as they like. The tracing paper and pencils on the benches are for you; what you draw is yours to take home.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "Argile, sel et fil"
3
+ description: "Les trois métiers de la ville, montrés à hauteur de main : soixante pièces d'artisans et les ateliers qui les ont produites."
4
+ date: "2026-06-20"
5
+ until: "2027-01-10"
6
+ gallery: "Salle 1 et la cour"
7
+ curator: "Rana Haddad"
8
+ works: 60
9
+ hue: 348
10
+ lang: "fr-CA"
11
+ order: 3
12
+ ---
13
+
14
+ Les potières travaillaient la berge d'argile en amont, les sauniers travaillaient les marais salants, et le fil sortait des métiers installés dans les pièces au-dessus des uns et des autres. Trois métiers, une seule économie, et un ensemble d'objets qui n'avaient jamais été présentés ensemble.
15
+
16
+ Les soixante pièces sont montrées à la hauteur où elles ont été faites : les pots bas, les moules à sel à hauteur d'établi, les tissages suspendus de façon à en voir les deux faces. Quand l'atelier existe encore dans la ville, son adresse figure sur le cartel ; quatre sont toujours en activité et deux reçoivent le public le samedi matin.
17
+
18
+ La cour abrite le plus grand objet confié au musée : une poêle à sel de six mètres de diamètre, transportée ici en sections en 2019 et remontée sur le gravier, là où la pluie l'atteint — ce pour quoi elle avait été construite.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "Le port et la grue"
3
+ description: "Quatre siècles de quais en activité, racontés par les outils, les registres et la ferronnerie récupérée de celles et ceux qui les ont bâtis."
4
+ date: "2026-03-14"
5
+ until: "2026-08-30"
6
+ gallery: "Salle 2 — La longue salle"
7
+ curator: "Nadia Okonkwo"
8
+ works: 214
9
+ hue: 214
10
+ lang: "fr-CA"
11
+ order: 1
12
+ ---
13
+
14
+ La ville n'était qu'une batture avec une jetée avant la construction du premier quai de pierre, et tout ce que le musée possède des quatre siècles suivants parle, d'une manière ou d'une autre, de l'eau. L'exposition réunit 214 de ces objets dans une même salle et les laisse se contredire.
15
+
16
+ L'herminette d'un charpentier de navire voisine le registre du maître de port de 1782, ouvert à la page où il a noté deux fois l'arrivée du même bâtiment en une semaine avant de rayer la seconde entrée. La flèche récupérée de la grue du quai 4 — démontée en 1962, conservée en pièces détachées dans un hangar pendant cinquante ans, puis remontée ici pour la première fois — traverse la salle sur toute sa longueur, à hauteur de tête.
17
+
18
+ Ce que ces objets ont en commun, c'est qu'aucun n'a été fait pour être regardé. Ils ont été faits pour servir, et ils en portent l'usure. Les cartels nomment celles et ceux qui s'en sont servis quand c'est possible, et le disent franchement quand ça ne l'est pas.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "Le cabinet des cartographes"
3
+ description: "Quatre-vingt-dix cartes d'un même littoral, tracées sur trois cents ans, et pas deux qui s'entendent sur l'endroit où finit le fleuve."
4
+ date: "2026-05-02"
5
+ until: "2026-11-15"
6
+ gallery: "Salle 4 — Le cabinet"
7
+ curator: "Émile Sarrazin"
8
+ works: 90
9
+ hue: 38
10
+ lang: "fr-CA"
11
+ order: 2
12
+ ---
13
+
14
+ Une carte est une thèse sur ce qui compte, et les quatre-vingt-dix accrochées ici se disputent bruyamment. La plus ancienne, un portulan de 1611, donne trois embouchures au fleuve ; le levé de 1898 ne lui en laisse qu'une et la déplace de quatre cents mètres vers l'est. Entre les deux s'étendent deux siècles de dragage, d'envasement et de pensée magique municipale.
15
+
16
+ La salle est disposée en cabinet plutôt qu'en corridor : les cartes à hauteur des yeux sur les quatre murs, des banquettes basses au centre, et une seule vitrine pour les instruments — une planchette, deux chaînes d'arpenteur, un théodolite dont la nivelle fendue n'a jamais été remplacée par son propriétaire.
17
+
18
+ On peut s'asseoir aussi longtemps qu'on veut. Le papier calque et les crayons posés sur les banquettes sont à vous ; ce que vous dessinez repart avec vous.