@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,290 @@
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 } from './menus.js';
6
+ import type { BlueprintWidget } from './widgets.js';
7
+ /**
8
+ * The `store` blueprint (L27, `@cogenta/theme-ecommerce`): a small brand of
9
+ * durable everyday goods with a shop and a repair bench in Lisbon, twelve
10
+ * products from the workshops it buys from, four categories, and the pages a
11
+ * real shop needs before it takes an order (how to order, delivery and
12
+ * returns, repairs, contact, terms).
13
+ *
14
+ * **Contract A only, and no checkout.** A blueprint writes
15
+ * `cogenta.schema.mjs` and seeds content; it cannot provision
16
+ * `@cogenta/commerce`'s tables (contract E, ADR-0024), and contract B has no
17
+ * cart or checkout block. So the catalogue is honest about how to buy: each
18
+ * product names where it can be ordered (`orderLink`, an email to the shop
19
+ * with the product in the subject line), the theme turns that into an
20
+ * "Order by email" action, and the "How to order" page says what happens
21
+ * next. A shop that connects a payment link or a marketplace page puts that
22
+ * address in the same field.
23
+ *
24
+ * Categories are a small collection of their own rather than a taxonomy: a
25
+ * category page here is a photographed grid of goods, and a term archive
26
+ * (`TermArchiveEntry`) carries neither a picture nor a price. Each product
27
+ * keeps its category as a plain `select`, which is what a category's own
28
+ * list filters on and what the product page prints.
29
+ */
30
+ export declare const DEFAULT_SHOP_NAME = "Atelier Goods";
31
+ declare const CATEGORY_NAMES: readonly ['Wear', 'Carry', 'Kitchen', 'Living'];
32
+ export type ProductCategory = (typeof CATEGORY_NAMES)[number];
33
+ export declare const product: {
34
+ readonly name: "product";
35
+ readonly labels: {
36
+ readonly singular: "Product";
37
+ readonly plural: "Products";
38
+ };
39
+ readonly routing: {
40
+ readonly pattern: "/shop/:slug";
41
+ };
42
+ readonly fields: {
43
+ readonly seoTitle: import("@cogenta/schema").FieldDefinition & {
44
+ readonly kind: "text";
45
+ readonly options: Readonly<Record<string, unknown>>;
46
+ };
47
+ readonly seoDescription: import("@cogenta/schema").FieldDefinition & {
48
+ readonly kind: "text";
49
+ readonly options: Readonly<Record<string, unknown>>;
50
+ };
51
+ readonly seoImage: import("@cogenta/schema").FieldDefinition & {
52
+ readonly kind: "media";
53
+ readonly options: {
54
+ accept: readonly ("audio" | "file" | "image" | "video")[];
55
+ many: boolean;
56
+ };
57
+ };
58
+ readonly seoNoindex: import("@cogenta/schema").FieldDefinition & {
59
+ readonly kind: "boolean";
60
+ readonly options: {};
61
+ };
62
+ readonly name: import("@cogenta/schema").FieldDefinition & {
63
+ readonly kind: "text";
64
+ readonly options: Readonly<Record<string, unknown>>;
65
+ };
66
+ readonly slug: import("@cogenta/schema").FieldDefinition & {
67
+ readonly kind: "slug";
68
+ readonly options: Readonly<Record<string, unknown>>;
69
+ };
70
+ readonly description: import("@cogenta/schema").FieldDefinition & {
71
+ readonly kind: "text";
72
+ readonly options: Readonly<Record<string, unknown>>;
73
+ };
74
+ readonly price: import("@cogenta/schema").FieldDefinition & {
75
+ readonly kind: "number";
76
+ readonly options: Readonly<Record<string, unknown>>;
77
+ };
78
+ readonly currency: import("@cogenta/schema").FieldDefinition & {
79
+ readonly kind: "select";
80
+ readonly options: {
81
+ options: readonly import("@cogenta/schema").SelectChoice[];
82
+ many: boolean;
83
+ };
84
+ };
85
+ readonly category: import("@cogenta/schema").FieldDefinition & {
86
+ readonly kind: "select";
87
+ readonly options: {
88
+ options: readonly import("@cogenta/schema").SelectChoice[];
89
+ many: boolean;
90
+ };
91
+ };
92
+ readonly inStock: import("@cogenta/schema").FieldDefinition & {
93
+ readonly kind: "boolean";
94
+ readonly options: {};
95
+ };
96
+ readonly material: import("@cogenta/schema").FieldDefinition & {
97
+ readonly kind: "text";
98
+ readonly options: Readonly<Record<string, unknown>>;
99
+ };
100
+ readonly dimensions: import("@cogenta/schema").FieldDefinition & {
101
+ readonly kind: "text";
102
+ readonly options: Readonly<Record<string, unknown>>;
103
+ };
104
+ readonly weight: import("@cogenta/schema").FieldDefinition & {
105
+ readonly kind: "text";
106
+ readonly options: Readonly<Record<string, unknown>>;
107
+ };
108
+ readonly capacity: import("@cogenta/schema").FieldDefinition & {
109
+ readonly kind: "text";
110
+ readonly options: Readonly<Record<string, unknown>>;
111
+ };
112
+ readonly origin: import("@cogenta/schema").FieldDefinition & {
113
+ readonly kind: "text";
114
+ readonly options: Readonly<Record<string, unknown>>;
115
+ };
116
+ readonly care: import("@cogenta/schema").FieldDefinition & {
117
+ readonly kind: "text";
118
+ readonly options: Readonly<Record<string, unknown>>;
119
+ };
120
+ readonly delivery: import("@cogenta/schema").FieldDefinition & {
121
+ readonly kind: "text";
122
+ readonly options: Readonly<Record<string, unknown>>;
123
+ };
124
+ readonly orderLink: import("@cogenta/schema").FieldDefinition & {
125
+ readonly kind: "text";
126
+ readonly options: Readonly<Record<string, unknown>>;
127
+ };
128
+ readonly photo: import("@cogenta/schema").FieldDefinition & {
129
+ readonly kind: "media";
130
+ readonly options: {
131
+ accept: readonly ("audio" | "file" | "image" | "video")[];
132
+ many: boolean;
133
+ };
134
+ };
135
+ readonly blocks: import("@cogenta/schema").FieldDefinition & {
136
+ readonly kind: "blocks";
137
+ readonly options: {
138
+ allow: "*" | readonly string[];
139
+ };
140
+ };
141
+ };
142
+ readonly indexes: readonly [readonly ["slug"], readonly ["category"]];
143
+ readonly permissions: {
144
+ readonly read: readonly ['public'];
145
+ readonly create: readonly ['editor', 'admin'];
146
+ readonly update: readonly ['editor', 'admin'];
147
+ readonly delete: readonly ['admin'];
148
+ readonly publish: readonly ['admin'];
149
+ };
150
+ };
151
+ export declare const category: {
152
+ readonly name: "category";
153
+ readonly labels: {
154
+ readonly singular: "Category";
155
+ readonly plural: "Categories";
156
+ };
157
+ readonly routing: {
158
+ readonly pattern: "/category/:slug";
159
+ };
160
+ readonly fields: {
161
+ readonly seoTitle: import("@cogenta/schema").FieldDefinition & {
162
+ readonly kind: "text";
163
+ readonly options: Readonly<Record<string, unknown>>;
164
+ };
165
+ readonly seoDescription: import("@cogenta/schema").FieldDefinition & {
166
+ readonly kind: "text";
167
+ readonly options: Readonly<Record<string, unknown>>;
168
+ };
169
+ readonly seoImage: import("@cogenta/schema").FieldDefinition & {
170
+ readonly kind: "media";
171
+ readonly options: {
172
+ accept: readonly ("audio" | "file" | "image" | "video")[];
173
+ many: boolean;
174
+ };
175
+ };
176
+ readonly seoNoindex: import("@cogenta/schema").FieldDefinition & {
177
+ readonly kind: "boolean";
178
+ readonly options: {};
179
+ };
180
+ readonly name: import("@cogenta/schema").FieldDefinition & {
181
+ readonly kind: "text";
182
+ readonly options: Readonly<Record<string, unknown>>;
183
+ };
184
+ readonly slug: import("@cogenta/schema").FieldDefinition & {
185
+ readonly kind: "slug";
186
+ readonly options: Readonly<Record<string, unknown>>;
187
+ };
188
+ readonly summary: import("@cogenta/schema").FieldDefinition & {
189
+ readonly kind: "text";
190
+ readonly options: Readonly<Record<string, unknown>>;
191
+ };
192
+ readonly photo: import("@cogenta/schema").FieldDefinition & {
193
+ readonly kind: "media";
194
+ readonly options: {
195
+ accept: readonly ("audio" | "file" | "image" | "video")[];
196
+ many: boolean;
197
+ };
198
+ };
199
+ readonly blocks: import("@cogenta/schema").FieldDefinition & {
200
+ readonly kind: "blocks";
201
+ readonly options: {
202
+ allow: "*" | readonly string[];
203
+ };
204
+ };
205
+ };
206
+ readonly indexes: readonly [readonly ["slug"]];
207
+ readonly permissions: {
208
+ readonly read: readonly ['public'];
209
+ readonly create: readonly ['editor', 'admin'];
210
+ readonly update: readonly ['editor', 'admin'];
211
+ readonly delete: readonly ['admin'];
212
+ readonly publish: readonly ['admin'];
213
+ };
214
+ };
215
+ export declare const page: CollectionDefinition;
216
+ export declare const STORE_COLLECTIONS: readonly CollectionDefinition[];
217
+ /** `orders@ateliergoods.com` for "Atelier Goods": the shop's own name, as a mailbox. */
218
+ export declare function shopEmail(siteName: string, mailbox?: string): string;
219
+ export interface StoreDemoProduct {
220
+ readonly name: string;
221
+ readonly slug: string;
222
+ readonly category: ProductCategory;
223
+ readonly price: number;
224
+ readonly inStock: boolean;
225
+ readonly description: string;
226
+ readonly material: string;
227
+ readonly dimensions: string;
228
+ readonly weight?: string;
229
+ readonly capacity?: string;
230
+ readonly origin: string;
231
+ readonly care: string;
232
+ readonly delivery: string;
233
+ /** Two paragraphs: how it is made, and how it wears. */
234
+ readonly story: readonly [string, string];
235
+ }
236
+ /**
237
+ * Twelve products, three per category and two sold out, written oldest
238
+ * first: the newest four (the jacket, the shoulder bag, the pour-over set and
239
+ * the blanket) open the home page's grid. Each photograph is the product it
240
+ * names, and every material, size and origin matches what the picture shows.
241
+ */
242
+ export declare const STORE_DEMO_PRODUCTS: readonly StoreDemoProduct[];
243
+ export interface StoreDemoCategory {
244
+ readonly name: ProductCategory;
245
+ readonly slug: string;
246
+ readonly summary: string;
247
+ /** The product whose photograph stands for the category: never one of the four on the home page's grid. */
248
+ readonly photoOf: string;
249
+ readonly relatedTitle: string;
250
+ readonly makers: readonly string[];
251
+ }
252
+ export declare const STORE_DEMO_CATEGORIES: readonly StoreDemoCategory[];
253
+ type Media = Readonly<Record<string, string>>;
254
+ export interface StoreDemoOptions {
255
+ readonly siteName?: string;
256
+ readonly media?: Media;
257
+ }
258
+ /** The body of one product's page: how it is made, then more from its category. */
259
+ export declare function storeProductBlocks(demo: StoreDemoProduct): readonly VocabularyBlock[];
260
+ /** The body of a category's page: its goods, then the people who make them. */
261
+ export declare function storeCategoryBlocks(demo: StoreDemoCategory): readonly VocabularyBlock[];
262
+ export declare function buildStoreHomeBlocks(options?: StoreDemoOptions): readonly VocabularyBlock[];
263
+ export interface StoreDemoPage {
264
+ readonly title: string;
265
+ readonly slug: string;
266
+ readonly blocks: readonly VocabularyBlock[];
267
+ }
268
+ /**
269
+ * `home`, `shop` (every product), `about`, `how-to-order`,
270
+ * `delivery-and-returns`, `repairs`, `contact` and `terms`: every page the
271
+ * menus and the copy link to.
272
+ */
273
+ export declare function buildStoreDemoPages(options?: StoreDemoOptions): readonly StoreDemoPage[];
274
+ /**
275
+ * Every visual this blueprint seeds is a bundled photograph: the banner, one
276
+ * per product, one per category (the photograph of a product from that
277
+ * category that is not on the home page's grid) and the brand story's.
278
+ * `spec` is `seedDemoMedia`'s fallback if a file is ever missing, never the
279
+ * intended picture.
280
+ */
281
+ export declare const STORE_MEDIA_SPECS: readonly DemoMediaSpec[];
282
+ export declare const STORE_MENUS: BlueprintMenus;
283
+ export declare const STORE_WIDGETS: readonly BlueprintWidget[];
284
+ export declare const STORE_SITE_SETTINGS: Readonly<Record<string, unknown>>;
285
+ export declare const STORE_RECOMMENDED_AGENTS: readonly RecommendedAgentHint[];
286
+ /** The email address a product's order button writes to, with the product in the subject line. */
287
+ export declare function orderLinkFor(siteName: string | undefined, productName: string): string;
288
+ export declare const storeContentPack: BlueprintContentPack;
289
+ export {};
290
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/blueprints/store.ts"],"names":[],"mappings":"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"}