@cogenta/starters 0.1.5

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 (200) hide show
  1. package/LICENSE +373 -0
  2. package/dist/blueprints/assets/photos/association/food-bank.jpg +0 -0
  3. package/dist/blueprints/assets/photos/association/fundraising-dinner.jpg +0 -0
  4. package/dist/blueprints/assets/photos/association/garden-planting.jpg +0 -0
  5. package/dist/blueprints/assets/photos/association/hero.jpg +0 -0
  6. package/dist/blueprints/assets/photos/association/homework-club.jpg +0 -0
  7. package/dist/blueprints/assets/photos/association/partner-ashworth-college.png +0 -0
  8. package/dist/blueprints/assets/photos/association/partner-ashworth-council.png +0 -0
  9. package/dist/blueprints/assets/photos/association/partner-brindle-and-sons.png +0 -0
  10. package/dist/blueprints/assets/photos/association/partner-kestrel-homes.png +0 -0
  11. package/dist/blueprints/assets/photos/association/partner-linden-trust.png +0 -0
  12. package/dist/blueprints/assets/photos/association/partner-marlow-street-pharmacy.png +0 -0
  13. package/dist/blueprints/assets/photos/association/volunteer-orientation.jpg +0 -0
  14. package/dist/blueprints/assets/photos/association/volunteer-portrait.jpg +0 -0
  15. package/dist/blueprints/assets/photos/association/winter-coat-collection.jpg +0 -0
  16. package/dist/blueprints/assets/photos/blog/desk-setup.jpg +0 -0
  17. package/dist/blueprints/assets/photos/blog/notebook-and-coffee.jpg +0 -0
  18. package/dist/blueprints/assets/photos/blog/notebooks.jpg +0 -0
  19. package/dist/blueprints/assets/photos/blog/platform.jpg +0 -0
  20. package/dist/blueprints/assets/photos/blog/pour-over.jpg +0 -0
  21. package/dist/blueprints/assets/photos/documentation/delivery-flow.png +0 -0
  22. package/dist/blueprints/assets/photos/magazine/archive-room.jpg +0 -0
  23. package/dist/blueprints/assets/photos/magazine/banquet-hall.jpg +0 -0
  24. package/dist/blueprints/assets/photos/magazine/city-hall.jpg +0 -0
  25. package/dist/blueprints/assets/photos/magazine/dining-room.jpg +0 -0
  26. package/dist/blueprints/assets/photos/magazine/downtown-towers.jpg +0 -0
  27. package/dist/blueprints/assets/photos/magazine/gallery-opening.jpg +0 -0
  28. package/dist/blueprints/assets/photos/magazine/garden-volunteers.jpg +0 -0
  29. package/dist/blueprints/assets/photos/magazine/station-platform.jpg +0 -0
  30. package/dist/blueprints/assets/photos/magazine/theater-stage.jpg +0 -0
  31. package/dist/blueprints/assets/photos/portfolio/fenmore-branch.jpg +0 -0
  32. package/dist/blueprints/assets/photos/portfolio/fenmore-cover.jpg +0 -0
  33. package/dist/blueprints/assets/photos/portfolio/fenmore-stationery.jpg +0 -0
  34. package/dist/blueprints/assets/photos/portfolio/gannet-cover.jpg +0 -0
  35. package/dist/blueprints/assets/photos/portfolio/gannet-sardines.jpg +0 -0
  36. package/dist/blueprints/assets/photos/portfolio/gannet-shelf.jpg +0 -0
  37. package/dist/blueprints/assets/photos/portfolio/hollis-crane-cover.jpg +0 -0
  38. package/dist/blueprints/assets/photos/portfolio/hollis-crane-grid.jpg +0 -0
  39. package/dist/blueprints/assets/photos/portfolio/hollis-crane-salt-year.jpg +0 -0
  40. package/dist/blueprints/assets/photos/portfolio/hollis-crane-spines.jpg +0 -0
  41. package/dist/blueprints/assets/photos/portfolio/rookery-hall-brochure.jpg +0 -0
  42. package/dist/blueprints/assets/photos/portfolio/rookery-hall-cover.jpg +0 -0
  43. package/dist/blueprints/assets/photos/portfolio/rookery-hall-poster-carnival.jpg +0 -0
  44. package/dist/blueprints/assets/photos/portfolio/rookery-hall-poster-sibelius.jpg +0 -0
  45. package/dist/blueprints/assets/photos/portfolio/rookery-hall-series.jpg +0 -0
  46. package/dist/blueprints/assets/photos/portfolio/saltmarsh-quay-cover.jpg +0 -0
  47. package/dist/blueprints/assets/photos/portfolio/saltmarsh-quay-gate.jpg +0 -0
  48. package/dist/blueprints/assets/photos/portfolio/saltmarsh-quay-pictograms.jpg +0 -0
  49. package/dist/blueprints/assets/photos/portfolio/saltmarsh-quay-totem.jpg +0 -0
  50. package/dist/blueprints/assets/photos/portfolio/tidewater-cover.jpg +0 -0
  51. package/dist/blueprints/assets/photos/portfolio/tidewater-data.jpg +0 -0
  52. package/dist/blueprints/assets/photos/portfolio/tidewater-report-cover.jpg +0 -0
  53. package/dist/blueprints/assets/photos/portfolio/warp-and-weft-cover.jpg +0 -0
  54. package/dist/blueprints/assets/photos/portfolio/warp-and-weft-room.jpg +0 -0
  55. package/dist/blueprints/assets/photos/portfolio/westmoor-rail-components.jpg +0 -0
  56. package/dist/blueprints/assets/photos/portfolio/westmoor-rail-cover.jpg +0 -0
  57. package/dist/blueprints/assets/photos/portfolio/westmoor-rail-departures.jpg +0 -0
  58. package/dist/blueprints/assets/photos/restaurant/beetroot-goats-curd.jpg +0 -0
  59. package/dist/blueprints/assets/photos/restaurant/ceps-risotto.jpg +0 -0
  60. package/dist/blueprints/assets/photos/restaurant/chocolate-tart.jpg +0 -0
  61. package/dist/blueprints/assets/photos/restaurant/duck-leg-red-cabbage.jpg +0 -0
  62. package/dist/blueprints/assets/photos/restaurant/grilled-octopus.jpg +0 -0
  63. package/dist/blueprints/assets/photos/restaurant/hake-green-peppercorns.jpg +0 -0
  64. package/dist/blueprints/assets/photos/restaurant/hero.jpg +0 -0
  65. package/dist/blueprints/assets/photos/restaurant/poached-pear.jpg +0 -0
  66. package/dist/blueprints/assets/photos/restaurant/vegetable-broth.jpg +0 -0
  67. package/dist/blueprints/assets/photos/saas/adrian-tan.jpg +0 -0
  68. package/dist/blueprints/assets/photos/saas/api-webhooks.png +0 -0
  69. package/dist/blueprints/assets/photos/saas/approvals-queue.png +0 -0
  70. package/dist/blueprints/assets/photos/saas/audit-log.png +0 -0
  71. package/dist/blueprints/assets/photos/saas/erp-sync.png +0 -0
  72. package/dist/blueprints/assets/photos/saas/logo-brightwell-clinics.png +0 -0
  73. package/dist/blueprints/assets/photos/saas/logo-castlemere-foods.png +0 -0
  74. package/dist/blueprints/assets/photos/saas/logo-halvorsen-freight.png +0 -0
  75. package/dist/blueprints/assets/photos/saas/logo-northgate-homes.png +0 -0
  76. package/dist/blueprints/assets/photos/saas/logo-orrin-and-vale.png +0 -0
  77. package/dist/blueprints/assets/photos/saas/logo-tessaly-energy.png +0 -0
  78. package/dist/blueprints/assets/photos/saas/policy-editor.png +0 -0
  79. package/dist/blueprints/assets/photos/saas/spend-reporting.png +0 -0
  80. package/dist/blueprints/assets/photos/saas/sso-scim.png +0 -0
  81. package/dist/blueprints/assets/photos/store/brushed-cotton-overshirt.jpg +0 -0
  82. package/dist/blueprints/assets/photos/store/cable-knit-beanie.jpg +0 -0
  83. package/dist/blueprints/assets/photos/store/canvas-shoulder-bag.jpg +0 -0
  84. package/dist/blueprints/assets/photos/store/canvas-tote.jpg +0 -0
  85. package/dist/blueprints/assets/photos/store/cast-iron-skillet.jpg +0 -0
  86. package/dist/blueprints/assets/photos/store/enamel-mug.jpg +0 -0
  87. package/dist/blueprints/assets/photos/store/field-jacket.jpg +0 -0
  88. package/dist/blueprints/assets/photos/store/heavyweight-t-shirt.jpg +0 -0
  89. package/dist/blueprints/assets/photos/store/hero.jpg +0 -0
  90. package/dist/blueprints/assets/photos/store/leather-card-holder.jpg +0 -0
  91. package/dist/blueprints/assets/photos/store/linen-table-runner.jpg +0 -0
  92. package/dist/blueprints/assets/photos/store/porcelain-pour-over-set.jpg +0 -0
  93. package/dist/blueprints/assets/photos/store/striped-wool-blanket.jpg +0 -0
  94. package/dist/blueprints/assets/photos/vitrine/avatar-1.jpg +0 -0
  95. package/dist/blueprints/assets/photos/vitrine/avatar-2.jpg +0 -0
  96. package/dist/blueprints/assets/photos/vitrine/avatar-3.jpg +0 -0
  97. package/dist/blueprints/assets/photos/vitrine/case-council.jpg +0 -0
  98. package/dist/blueprints/assets/photos/vitrine/case-hotels.jpg +0 -0
  99. package/dist/blueprints/assets/photos/vitrine/case-rail.jpg +0 -0
  100. package/dist/blueprints/assets/photos/vitrine/exhibit-working-capital.png +0 -0
  101. package/dist/blueprints/assets/photos/vitrine/hero-review.jpg +0 -0
  102. package/dist/blueprints/assets/photos/vitrine/logo-aldermoor.png +0 -0
  103. package/dist/blueprints/assets/photos/vitrine/logo-brightwater.png +0 -0
  104. package/dist/blueprints/assets/photos/vitrine/logo-castell-vane.png +0 -0
  105. package/dist/blueprints/assets/photos/vitrine/logo-meridian-rail.png +0 -0
  106. package/dist/blueprints/assets/photos/vitrine/logo-nordvik.png +0 -0
  107. package/dist/blueprints/assets/photos/vitrine/logo-oakfield-health.png +0 -0
  108. package/dist/blueprints/association.d.ts +322 -0
  109. package/dist/blueprints/association.d.ts.map +1 -0
  110. package/dist/blueprints/association.js +1440 -0
  111. package/dist/blueprints/association.js.map +1 -0
  112. package/dist/blueprints/blog.d.ts +221 -0
  113. package/dist/blueprints/blog.d.ts.map +1 -0
  114. package/dist/blueprints/blog.js +1132 -0
  115. package/dist/blueprints/blog.js.map +1 -0
  116. package/dist/blueprints/content-pack.d.ts +148 -0
  117. package/dist/blueprints/content-pack.d.ts.map +1 -0
  118. package/dist/blueprints/content-pack.js +111 -0
  119. package/dist/blueprints/content-pack.js.map +1 -0
  120. package/dist/blueprints/content-packs.d.ts +12 -0
  121. package/dist/blueprints/content-packs.d.ts.map +1 -0
  122. package/dist/blueprints/content-packs.js +30 -0
  123. package/dist/blueprints/content-packs.js.map +1 -0
  124. package/dist/blueprints/demo-media.d.ts +39 -0
  125. package/dist/blueprints/demo-media.d.ts.map +1 -0
  126. package/dist/blueprints/demo-media.js +31 -0
  127. package/dist/blueprints/demo-media.js.map +1 -0
  128. package/dist/blueprints/documentation.d.ts +165 -0
  129. package/dist/blueprints/documentation.d.ts.map +1 -0
  130. package/dist/blueprints/documentation.js +1236 -0
  131. package/dist/blueprints/documentation.js.map +1 -0
  132. package/dist/blueprints/magazine.d.ts +207 -0
  133. package/dist/blueprints/magazine.d.ts.map +1 -0
  134. package/dist/blueprints/magazine.js +1076 -0
  135. package/dist/blueprints/magazine.js.map +1 -0
  136. package/dist/blueprints/menus.d.ts +25 -0
  137. package/dist/blueprints/menus.d.ts.map +1 -0
  138. package/dist/blueprints/menus.js +33 -0
  139. package/dist/blueprints/menus.js.map +1 -0
  140. package/dist/blueprints/photo-assets.d.ts +8 -0
  141. package/dist/blueprints/photo-assets.d.ts.map +1 -0
  142. package/dist/blueprints/photo-assets.js +41 -0
  143. package/dist/blueprints/photo-assets.js.map +1 -0
  144. package/dist/blueprints/portfolio.d.ts +207 -0
  145. package/dist/blueprints/portfolio.d.ts.map +1 -0
  146. package/dist/blueprints/portfolio.js +1032 -0
  147. package/dist/blueprints/portfolio.js.map +1 -0
  148. package/dist/blueprints/restaurant.d.ts +191 -0
  149. package/dist/blueprints/restaurant.d.ts.map +1 -0
  150. package/dist/blueprints/restaurant.js +1076 -0
  151. package/dist/blueprints/restaurant.js.map +1 -0
  152. package/dist/blueprints/saas.d.ts +268 -0
  153. package/dist/blueprints/saas.d.ts.map +1 -0
  154. package/dist/blueprints/saas.js +1472 -0
  155. package/dist/blueprints/saas.js.map +1 -0
  156. package/dist/blueprints/site-settings-seed.d.ts +17 -0
  157. package/dist/blueprints/site-settings-seed.d.ts.map +1 -0
  158. package/dist/blueprints/site-settings-seed.js +45 -0
  159. package/dist/blueprints/site-settings-seed.js.map +1 -0
  160. package/dist/blueprints/starting-skins.d.ts +19 -0
  161. package/dist/blueprints/starting-skins.d.ts.map +1 -0
  162. package/dist/blueprints/starting-skins.js +310 -0
  163. package/dist/blueprints/starting-skins.js.map +1 -0
  164. package/dist/blueprints/store.d.ts +290 -0
  165. package/dist/blueprints/store.d.ts.map +1 -0
  166. package/dist/blueprints/store.js +1031 -0
  167. package/dist/blueprints/store.js.map +1 -0
  168. package/dist/blueprints/vitrine.d.ts +266 -0
  169. package/dist/blueprints/vitrine.d.ts.map +1 -0
  170. package/dist/blueprints/vitrine.js +1056 -0
  171. package/dist/blueprints/vitrine.js.map +1 -0
  172. package/dist/blueprints/widgets.d.ts +26 -0
  173. package/dist/blueprints/widgets.d.ts.map +1 -0
  174. package/dist/blueprints/widgets.js +27 -0
  175. package/dist/blueprints/widgets.js.map +1 -0
  176. package/dist/demo-art/compositions.d.ts +48 -0
  177. package/dist/demo-art/compositions.d.ts.map +1 -0
  178. package/dist/demo-art/compositions.js +690 -0
  179. package/dist/demo-art/compositions.js.map +1 -0
  180. package/dist/demo-art/index.d.ts +8 -0
  181. package/dist/demo-art/index.d.ts.map +1 -0
  182. package/dist/demo-art/index.js +5 -0
  183. package/dist/demo-art/index.js.map +1 -0
  184. package/dist/demo-art/oklch.d.ts +39 -0
  185. package/dist/demo-art/oklch.d.ts.map +1 -0
  186. package/dist/demo-art/oklch.js +79 -0
  187. package/dist/demo-art/oklch.js.map +1 -0
  188. package/dist/demo-art/png.d.ts +24 -0
  189. package/dist/demo-art/png.d.ts.map +1 -0
  190. package/dist/demo-art/png.js +110 -0
  191. package/dist/demo-art/png.js.map +1 -0
  192. package/dist/demo-art/render.d.ts +228 -0
  193. package/dist/demo-art/render.d.ts.map +1 -0
  194. package/dist/demo-art/render.js +478 -0
  195. package/dist/demo-art/render.js.map +1 -0
  196. package/dist/index.d.ts +11 -0
  197. package/dist/index.d.ts.map +1 -0
  198. package/dist/index.js +7 -0
  199. package/dist/index.js.map +1 -0
  200. package/package.json +52 -0
@@ -0,0 +1,322 @@
1
+ import type { VocabularyBlock } from '@cogenta/blocks';
2
+ import { type CollectionDefinition } from '@cogenta/schema';
3
+ import { type BlueprintContentPack, type RecommendedAgentHint } from './content-pack.js';
4
+ import type { DemoMediaSpec } from './demo-media.js';
5
+ import type { BlueprintMenus, MenuItemSpec } from './menus.js';
6
+ import type { BlueprintWidget } from './widgets.js';
7
+ /**
8
+ * The `association` blueprint (L27, `@cogenta/theme-association`): a
9
+ * neighbourhood charity in a northern English town, run from an old library
10
+ * on Elm Street. It keeps a Thursday food bank, a homework club, a community
11
+ * garden and a winter coat bank going with three hundred volunteers and two
12
+ * part-time staff, and its site has the pages such a charity actually needs:
13
+ * what it does, a calendar of dated events with a page each, how to
14
+ * volunteer, how to give, where the money goes, its story and trustees, how
15
+ * to reach it, and its privacy notice.
16
+ *
17
+ * **No payment system, and nothing that pretends to be one.** A blueprint
18
+ * writes content; contract B has no payment block and nothing in a page can
19
+ * take a card. So every "Donate" leads to a Donate page that says how to give
20
+ * for real: a standing order set up with the donor's own bank from details
21
+ * the treasurer sends on request, a cheque by post, cash at the hall on a
22
+ * Thursday, Gift Aid, payroll giving and gifts in wills, with an email and a
23
+ * telephone number that work on any device. The bank account number is sent
24
+ * by the treasurer rather than printed on a page: a demonstration site left
25
+ * online with a plausible account number on it would send real money to a
26
+ * stranger.
27
+ *
28
+ * The same honesty holds for volunteering: the Volunteer page names each
29
+ * role and its hours, and signing up is an email, a telephone call or
30
+ * turning up at the next orientation evening, which is a real event page.
31
+ *
32
+ * The organisation is the site: its name comes from `SeedContext.siteName`,
33
+ * in the copy, the testimonial and the email addresses, and falls back to
34
+ * `DEFAULT_ASSOCIATION_NAME`. The town, the street and the people are
35
+ * invented. The telephone number is in Ofcom's range reserved for drama
36
+ * (01632 960xxx), so it can never ring anyone.
37
+ */
38
+ export declare const DEFAULT_ASSOCIATION_NAME = "Riverside Neighbours";
39
+ export declare const ASSOCIATION_PHONE = "01632 960418";
40
+ export declare const ASSOCIATION_ADDRESS = "The Old Library, 220 Elm Street, Ashworth AW4 2LT";
41
+ export declare const CHARITY_NUMBER = "1299418";
42
+ /**
43
+ * An event: a date and time (`date`, with `endsAt` when it has an end), a
44
+ * place and its street address, what it costs and whether to book. The
45
+ * theme reads these by name, lists events as a dated calendar and opens each
46
+ * event's own page on its date.
47
+ */
48
+ export declare const event: {
49
+ readonly name: "event";
50
+ readonly labels: {
51
+ readonly singular: "Event";
52
+ readonly plural: "Events";
53
+ };
54
+ readonly routing: {
55
+ readonly pattern: "/events/:slug";
56
+ };
57
+ readonly fields: {
58
+ readonly seoTitle: import("@cogenta/schema").FieldDefinition & {
59
+ readonly kind: "text";
60
+ readonly options: Readonly<Record<string, unknown>>;
61
+ };
62
+ readonly seoDescription: import("@cogenta/schema").FieldDefinition & {
63
+ readonly kind: "text";
64
+ readonly options: Readonly<Record<string, unknown>>;
65
+ };
66
+ readonly seoImage: import("@cogenta/schema").FieldDefinition & {
67
+ readonly kind: "media";
68
+ readonly options: {
69
+ accept: readonly ("audio" | "file" | "image" | "video")[];
70
+ many: boolean;
71
+ };
72
+ };
73
+ readonly seoNoindex: import("@cogenta/schema").FieldDefinition & {
74
+ readonly kind: "boolean";
75
+ readonly options: {};
76
+ };
77
+ readonly title: import("@cogenta/schema").FieldDefinition & {
78
+ readonly kind: "text";
79
+ readonly options: Readonly<Record<string, unknown>>;
80
+ };
81
+ readonly slug: import("@cogenta/schema").FieldDefinition & {
82
+ readonly kind: "slug";
83
+ readonly options: Readonly<Record<string, unknown>>;
84
+ };
85
+ readonly date: import("@cogenta/schema").FieldDefinition & {
86
+ readonly kind: "datetime";
87
+ readonly options: {};
88
+ };
89
+ readonly endsAt: import("@cogenta/schema").FieldDefinition & {
90
+ readonly kind: "datetime";
91
+ readonly options: {};
92
+ };
93
+ readonly location: import("@cogenta/schema").FieldDefinition & {
94
+ readonly kind: "text";
95
+ readonly options: Readonly<Record<string, unknown>>;
96
+ };
97
+ readonly address: import("@cogenta/schema").FieldDefinition & {
98
+ readonly kind: "text";
99
+ readonly options: Readonly<Record<string, unknown>>;
100
+ };
101
+ readonly cost: import("@cogenta/schema").FieldDefinition & {
102
+ readonly kind: "text";
103
+ readonly options: Readonly<Record<string, unknown>>;
104
+ };
105
+ readonly booking: import("@cogenta/schema").FieldDefinition & {
106
+ readonly kind: "text";
107
+ readonly options: Readonly<Record<string, unknown>>;
108
+ };
109
+ readonly description: import("@cogenta/schema").FieldDefinition & {
110
+ readonly kind: "text";
111
+ readonly options: Readonly<Record<string, unknown>>;
112
+ };
113
+ readonly coverImage: import("@cogenta/schema").FieldDefinition & {
114
+ readonly kind: "media";
115
+ readonly options: {
116
+ accept: readonly ("audio" | "file" | "image" | "video")[];
117
+ many: boolean;
118
+ };
119
+ };
120
+ readonly blocks: import("@cogenta/schema").FieldDefinition & {
121
+ readonly kind: "blocks";
122
+ readonly options: {
123
+ allow: "*" | readonly string[];
124
+ };
125
+ };
126
+ };
127
+ readonly indexes: readonly [readonly ["slug"], readonly ["date"]];
128
+ readonly permissions: {
129
+ readonly read: readonly ['public'];
130
+ readonly create: readonly ['editor', 'admin'];
131
+ readonly update: readonly ['editor', 'admin'];
132
+ readonly delete: readonly ['admin'];
133
+ };
134
+ };
135
+ /** A programme: something the charity runs every week or every season. */
136
+ export declare const programme: {
137
+ readonly name: "programme";
138
+ readonly labels: {
139
+ readonly singular: "Programme";
140
+ readonly plural: "Programmes";
141
+ };
142
+ readonly routing: {
143
+ readonly pattern: "/what-we-do/:slug";
144
+ };
145
+ readonly fields: {
146
+ readonly seoTitle: import("@cogenta/schema").FieldDefinition & {
147
+ readonly kind: "text";
148
+ readonly options: Readonly<Record<string, unknown>>;
149
+ };
150
+ readonly seoDescription: import("@cogenta/schema").FieldDefinition & {
151
+ readonly kind: "text";
152
+ readonly options: Readonly<Record<string, unknown>>;
153
+ };
154
+ readonly seoImage: import("@cogenta/schema").FieldDefinition & {
155
+ readonly kind: "media";
156
+ readonly options: {
157
+ accept: readonly ("audio" | "file" | "image" | "video")[];
158
+ many: boolean;
159
+ };
160
+ };
161
+ readonly seoNoindex: import("@cogenta/schema").FieldDefinition & {
162
+ readonly kind: "boolean";
163
+ readonly options: {};
164
+ };
165
+ readonly title: import("@cogenta/schema").FieldDefinition & {
166
+ readonly kind: "text";
167
+ readonly options: Readonly<Record<string, unknown>>;
168
+ };
169
+ readonly slug: import("@cogenta/schema").FieldDefinition & {
170
+ readonly kind: "slug";
171
+ readonly options: Readonly<Record<string, unknown>>;
172
+ };
173
+ readonly summary: import("@cogenta/schema").FieldDefinition & {
174
+ readonly kind: "text";
175
+ readonly options: Readonly<Record<string, unknown>>;
176
+ };
177
+ readonly schedule: import("@cogenta/schema").FieldDefinition & {
178
+ readonly kind: "text";
179
+ readonly options: Readonly<Record<string, unknown>>;
180
+ };
181
+ readonly location: import("@cogenta/schema").FieldDefinition & {
182
+ readonly kind: "text";
183
+ readonly options: Readonly<Record<string, unknown>>;
184
+ };
185
+ readonly address: import("@cogenta/schema").FieldDefinition & {
186
+ readonly kind: "text";
187
+ readonly options: Readonly<Record<string, unknown>>;
188
+ };
189
+ readonly audience: import("@cogenta/schema").FieldDefinition & {
190
+ readonly kind: "text";
191
+ readonly options: Readonly<Record<string, unknown>>;
192
+ };
193
+ readonly cost: import("@cogenta/schema").FieldDefinition & {
194
+ readonly kind: "text";
195
+ readonly options: Readonly<Record<string, unknown>>;
196
+ };
197
+ readonly contact: import("@cogenta/schema").FieldDefinition & {
198
+ readonly kind: "text";
199
+ readonly options: Readonly<Record<string, unknown>>;
200
+ };
201
+ readonly coverImage: import("@cogenta/schema").FieldDefinition & {
202
+ readonly kind: "media";
203
+ readonly options: {
204
+ accept: readonly ("audio" | "file" | "image" | "video")[];
205
+ many: boolean;
206
+ };
207
+ };
208
+ readonly blocks: import("@cogenta/schema").FieldDefinition & {
209
+ readonly kind: "blocks";
210
+ readonly options: {
211
+ allow: "*" | readonly string[];
212
+ };
213
+ };
214
+ };
215
+ readonly indexes: readonly [readonly ["slug"]];
216
+ readonly permissions: {
217
+ readonly read: readonly ['public'];
218
+ readonly create: readonly ['editor', 'admin'];
219
+ readonly update: readonly ['editor', 'admin'];
220
+ readonly delete: readonly ['admin'];
221
+ };
222
+ };
223
+ export declare const page: CollectionDefinition;
224
+ export declare const ASSOCIATION_COLLECTIONS: readonly CollectionDefinition[];
225
+ export declare function nameOf(siteName: string | undefined): string;
226
+ /** `volunteer@commonground.org.uk` for "Common Ground": the organisation's own name, as a mailbox. */
227
+ export declare function associationEmail(siteName: string | undefined, mailbox?: string): string;
228
+ type Media = Readonly<Record<string, string>>;
229
+ export interface AssociationProgramme {
230
+ readonly slug: string;
231
+ readonly title: string;
232
+ readonly summary: string;
233
+ readonly schedule: string;
234
+ readonly location: string;
235
+ readonly audience: string;
236
+ readonly cost: string;
237
+ readonly mailbox: string;
238
+ /** `DemoMediaSpec.name` of its photograph. */
239
+ readonly photo: string;
240
+ /** The page's own text: `## ` headings and paragraphs. `{name}` is the organisation. */
241
+ readonly body: readonly string[];
242
+ }
243
+ export declare const ASSOCIATION_PROGRAMMES: readonly AssociationProgramme[];
244
+ export declare function associationProgrammeBlocks(item: AssociationProgramme, siteName?: string): readonly VocabularyBlock[];
245
+ export interface AssociationDemoEvent {
246
+ readonly title: string;
247
+ readonly slug: string;
248
+ /** Days from scaffold time, so the calendar is never empty and never stale. */
249
+ readonly daysFromNow: number;
250
+ readonly start: readonly [hour: number, minute: number];
251
+ readonly end: readonly [hour: number, minute: number];
252
+ readonly location: string;
253
+ readonly address: string;
254
+ readonly cost: string;
255
+ readonly booking: string;
256
+ readonly description: string;
257
+ /** `DemoMediaSpec.name` of its photograph, when it has one. */
258
+ readonly photo?: string;
259
+ /** The page's own text: `## ` headings and paragraphs. */
260
+ readonly body: readonly string[];
261
+ }
262
+ /**
263
+ * Six dates, one to six weeks out. The copy never names a weekday, because
264
+ * the day of the week depends on when the site is created.
265
+ */
266
+ export declare const ASSOCIATION_DEMO_EVENTS: readonly AssociationDemoEvent[];
267
+ export declare function associationEventBlocks(item: AssociationDemoEvent): readonly VocabularyBlock[];
268
+ export interface AssociationDemoPage {
269
+ readonly title: string;
270
+ readonly slug: string;
271
+ readonly blocks: readonly VocabularyBlock[];
272
+ }
273
+ export declare const ASSOCIATION_PARTNERS: readonly [{
274
+ readonly key: 'partner-ashworth-college';
275
+ readonly name: 'Ashworth College';
276
+ }, {
277
+ readonly key: 'partner-ashworth-council';
278
+ readonly name: 'Ashworth Borough Council';
279
+ }, {
280
+ readonly key: 'partner-brindle-and-sons';
281
+ readonly name: 'Brindle & Sons';
282
+ }, {
283
+ readonly key: 'partner-kestrel-homes';
284
+ readonly name: 'Kestrel Homes';
285
+ }, {
286
+ readonly key: 'partner-linden-trust';
287
+ readonly name: 'The Linden Trust';
288
+ }, {
289
+ readonly key: 'partner-marlow-street-pharmacy';
290
+ readonly name: 'Marlow Street Pharmacy';
291
+ }];
292
+ /**
293
+ * Every page, in the order the charity would present them. A function of
294
+ * `media` (`SeedContext.media`) and of the site's name: several blocks need
295
+ * ids `seedDemoMedia` only knows at scaffold time, and the copy names the
296
+ * organisation the site belongs to. With no media, every picture block is
297
+ * left out rather than emitted empty.
298
+ */
299
+ export declare function buildAssociationDemoPages(media: Media, siteName?: string): readonly AssociationDemoPage[];
300
+ /** Header navigation and the header's standing ask. The footer is grouped in columns: see `ASSOCIATION_FOOTER`. */
301
+ export declare const ASSOCIATION_MENUS: BlueprintMenus;
302
+ export interface FooterColumn {
303
+ readonly heading: string;
304
+ readonly links: readonly MenuItemSpec[];
305
+ }
306
+ export declare const ASSOCIATION_FOOTER: readonly FooterColumn[];
307
+ export declare function associationFooterNote(siteName: string | undefined): string;
308
+ export declare const ASSOCIATION_SITE_SETTINGS: Readonly<Record<string, unknown>>;
309
+ export declare const ASSOCIATION_WIDGETS: readonly BlueprintWidget[];
310
+ /**
311
+ * Bundled photographs (`assets/photos/association/`), every one looked at
312
+ * full size: lettering printed on aprons, T-shirts, caps, boxes and signs was
313
+ * retouched or cropped out, and a picture with too much of it (a river
314
+ * clean-up among labelled bins) was dropped. The partner wordmarks were
315
+ * rendered once from OFL typefaces. `spec` is only the fallback a missing
316
+ * file would get.
317
+ */
318
+ export declare const ASSOCIATION_MEDIA_SPECS: readonly DemoMediaSpec[];
319
+ export declare const ASSOCIATION_RECOMMENDED_AGENTS: readonly RecommendedAgentHint[];
320
+ export declare const associationContentPack: BlueprintContentPack;
321
+ export {};
322
+ //# sourceMappingURL=association.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"association.d.ts","sourceRoot":"","sources":["../../src/blueprints/association.ts"],"names":[],"mappings":"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"}