@omniharmonic/openspace-cli 0.1.3 → 0.1.4

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 (140) hide show
  1. package/dist/{agents-md-7DESZGEN.js → agents-md-3W4PIY4N.js} +2 -2
  2. package/dist/bin.js +2 -2
  3. package/dist/{chunk-TQZ5F7VG.js → chunk-6NIIOHOX.js} +91 -3
  4. package/dist/chunk-6NIIOHOX.js.map +1 -0
  5. package/dist/{chunk-AAMRGTSI.js → chunk-7I6IJI6Z.js} +9166 -874
  6. package/dist/chunk-7I6IJI6Z.js.map +1 -0
  7. package/dist/index.js +2 -2
  8. package/dist/starter/site/AGENTS.md +11 -4
  9. package/dist/templates/beacon/content/collections/events/_collection.json +13 -0
  10. package/dist/templates/beacon/content/collections/events/keeper-training-november.mdoc +14 -0
  11. package/dist/templates/beacon/content/collections/events/planting-day-harbour-ward.mdoc +14 -0
  12. package/dist/templates/beacon/content/collections/events/planting-day-linden-north.mdoc +14 -0
  13. package/dist/templates/beacon/content/collections/news/2026-09-12-heat-map-2026.mdoc +13 -0
  14. package/dist/templates/beacon/content/collections/news/2026-09-30-school-gardens-harvest.mdoc +13 -0
  15. package/dist/templates/beacon/content/collections/news/2026-10-14-planting-season-begins.mdoc +13 -0
  16. package/dist/templates/beacon/content/collections/news/_collection.json +16 -0
  17. package/dist/templates/beacon/content/pages/about.json +572 -0
  18. package/dist/templates/beacon/content/pages/contact.json +260 -0
  19. package/dist/templates/beacon/content/pages/donate.json +406 -0
  20. package/dist/templates/beacon/content/pages/get-involved.json +412 -0
  21. package/dist/templates/beacon/content/pages/home.json +701 -0
  22. package/dist/templates/beacon/content/pages/our-work.json +855 -0
  23. package/dist/templates/beacon/content/site.json +363 -0
  24. package/dist/templates/beacon/content/styles.json +17 -0
  25. package/dist/templates/beacon/media/LICENSES.json +163 -0
  26. package/dist/templates/beacon/openspace.json +21 -0
  27. package/dist/templates/beacon/template.json +113 -0
  28. package/dist/templates/commons/content/pages/{members.json → directory.json} +15 -15
  29. package/dist/templates/commons/content/pages/home.json +1 -1
  30. package/dist/templates/commons/content/site.json +2 -2
  31. package/dist/templates/commons/template.json +2 -2
  32. package/dist/templates/darkroom/content/collections/work/_collection.json +13 -0
  33. package/dist/templates/darkroom/content/collections/work/after-hours.mdoc +28 -0
  34. package/dist/templates/darkroom/content/collections/work/dry-season.mdoc +28 -0
  35. package/dist/templates/darkroom/content/collections/work/faces-of-the-guild.mdoc +28 -0
  36. package/dist/templates/darkroom/content/collections/work/two-weddings.mdoc +28 -0
  37. package/dist/templates/darkroom/content/collections/work/white-lines.mdoc +28 -0
  38. package/dist/templates/darkroom/content/pages/about.json +449 -0
  39. package/dist/templates/darkroom/content/pages/contact.json +185 -0
  40. package/dist/templates/darkroom/content/pages/home.json +636 -0
  41. package/dist/templates/darkroom/content/pages/services.json +636 -0
  42. package/dist/templates/darkroom/content/site.json +264 -0
  43. package/dist/templates/darkroom/content/styles.json +17 -0
  44. package/dist/templates/darkroom/media/LICENSES.json +284 -0
  45. package/dist/templates/darkroom/openspace.json +21 -0
  46. package/dist/templates/darkroom/template.json +103 -0
  47. package/dist/templates/encore/content/pages/home.json +86 -0
  48. package/dist/templates/encore/media/LICENSES.json +22 -0
  49. package/dist/templates/field-notes/content/pages/home.json +94 -0
  50. package/dist/templates/fixwell/content/pages/about.json +508 -0
  51. package/dist/templates/fixwell/content/pages/contact.json +321 -0
  52. package/dist/templates/fixwell/content/pages/home.json +888 -0
  53. package/dist/templates/fixwell/content/pages/pricing.json +467 -0
  54. package/dist/templates/fixwell/content/pages/services.json +648 -0
  55. package/dist/templates/fixwell/content/site.json +293 -0
  56. package/dist/templates/fixwell/content/styles.json +17 -0
  57. package/dist/templates/fixwell/media/LICENSES.json +119 -0
  58. package/dist/templates/fixwell/openspace.json +21 -0
  59. package/dist/templates/fixwell/template.json +108 -0
  60. package/dist/templates/folio/content/collections/projects/_collection.json +13 -0
  61. package/dist/templates/folio/content/collections/projects/field-notes-app.mdoc +28 -0
  62. package/dist/templates/folio/content/collections/projects/harbour-health-dashboards.mdoc +28 -0
  63. package/dist/templates/folio/content/collections/projects/open-budget.mdoc +28 -0
  64. package/dist/templates/folio/content/collections/projects/transit-times.mdoc +28 -0
  65. package/dist/templates/folio/content/collections/writing/2026-08-30-designing-for-night-shifts.mdoc +9 -0
  66. package/dist/templates/folio/content/collections/writing/2026-09-20-testing-with-real-data.mdoc +9 -0
  67. package/dist/templates/folio/content/collections/writing/2026-10-12-one-honest-number.mdoc +9 -0
  68. package/dist/templates/folio/content/collections/writing/_collection.json +16 -0
  69. package/dist/templates/folio/content/pages/about.json +366 -0
  70. package/dist/templates/folio/content/pages/contact.json +218 -0
  71. package/dist/templates/folio/content/pages/experience.json +552 -0
  72. package/dist/templates/folio/content/pages/home.json +410 -0
  73. package/dist/templates/folio/content/site.json +186 -0
  74. package/dist/templates/folio/content/styles.json +17 -0
  75. package/dist/templates/folio/media/LICENSES.json +229 -0
  76. package/dist/templates/folio/openspace.json +21 -0
  77. package/dist/templates/folio/template.json +103 -0
  78. package/dist/templates/gather/content/collections/fringe/_collection.json +13 -0
  79. package/dist/templates/gather/content/collections/fringe/library-open-studio.mdoc +14 -0
  80. package/dist/templates/gather/content/collections/fringe/morning-run.mdoc +14 -0
  81. package/dist/templates/gather/content/collections/fringe/plain-language-pub-quiz.mdoc +14 -0
  82. package/dist/templates/gather/content/pages/about.json +435 -0
  83. package/dist/templates/gather/content/pages/contact.json +196 -0
  84. package/dist/templates/gather/content/pages/home.json +527 -0
  85. package/dist/templates/gather/content/pages/programme.json +449 -0
  86. package/dist/templates/gather/content/pages/speakers.json +225 -0
  87. package/dist/templates/gather/content/pages/tickets.json +495 -0
  88. package/dist/templates/gather/content/pages/venue.json +382 -0
  89. package/dist/templates/gather/content/site.json +222 -0
  90. package/dist/templates/gather/content/styles.json +17 -0
  91. package/dist/templates/gather/media/LICENSES.json +185 -0
  92. package/dist/templates/gather/openspace.json +21 -0
  93. package/dist/templates/gather/template.json +118 -0
  94. package/dist/templates/inkwell/content/collections/essays/2026-09-17-notebooks.mdoc +13 -0
  95. package/dist/templates/inkwell/content/collections/essays/2026-10-01-kitchen-radio.mdoc +13 -0
  96. package/dist/templates/inkwell/content/collections/essays/2026-10-15-the-same-mile.mdoc +13 -0
  97. package/dist/templates/inkwell/content/collections/essays/_collection.json +21 -0
  98. package/dist/templates/inkwell/content/pages/about.json +281 -0
  99. package/dist/templates/inkwell/content/pages/books.json +459 -0
  100. package/dist/templates/inkwell/content/pages/contact.json +201 -0
  101. package/dist/templates/inkwell/content/pages/home.json +457 -0
  102. package/dist/templates/inkwell/content/pages/speaking.json +522 -0
  103. package/dist/templates/inkwell/content/site.json +222 -0
  104. package/dist/templates/inkwell/content/styles.json +17 -0
  105. package/dist/templates/inkwell/media/LICENSES.json +119 -0
  106. package/dist/templates/inkwell/openspace.json +21 -0
  107. package/dist/templates/inkwell/template.json +108 -0
  108. package/dist/templates/keystone/content/collections/notes/2026-09-17-hard-conversations.mdoc +11 -0
  109. package/dist/templates/keystone/content/collections/notes/2026-10-01-weekly-rhythm.mdoc +11 -0
  110. package/dist/templates/keystone/content/collections/notes/2026-10-15-the-first-manager.mdoc +11 -0
  111. package/dist/templates/keystone/content/collections/notes/_collection.json +21 -0
  112. package/dist/templates/keystone/content/pages/about.json +371 -0
  113. package/dist/templates/keystone/content/pages/contact.json +207 -0
  114. package/dist/templates/keystone/content/pages/home.json +815 -0
  115. package/dist/templates/keystone/content/pages/results.json +396 -0
  116. package/dist/templates/keystone/content/pages/work-with-me.json +477 -0
  117. package/dist/templates/keystone/content/site.json +224 -0
  118. package/dist/templates/keystone/content/styles.json +17 -0
  119. package/dist/templates/keystone/media/LICENSES.json +75 -0
  120. package/dist/templates/keystone/openspace.json +21 -0
  121. package/dist/templates/keystone/template.json +108 -0
  122. package/dist/templates/ledger/content/pages/home.json +62 -0
  123. package/dist/templates/orbit/content/collections/changelog/2026-09-21-faster-attachments.mdoc +11 -0
  124. package/dist/templates/orbit/content/collections/changelog/2026-10-05-snooze-until-reply.mdoc +11 -0
  125. package/dist/templates/orbit/content/collections/changelog/2026-10-19-help-centre-search.mdoc +13 -0
  126. package/dist/templates/orbit/content/collections/changelog/_collection.json +39 -0
  127. package/dist/templates/orbit/content/pages/about.json +396 -0
  128. package/dist/templates/orbit/content/pages/contact.json +195 -0
  129. package/dist/templates/orbit/content/pages/features.json +603 -0
  130. package/dist/templates/orbit/content/pages/home.json +1273 -0
  131. package/dist/templates/orbit/content/pages/pricing.json +608 -0
  132. package/dist/templates/orbit/content/site.json +368 -0
  133. package/dist/templates/orbit/content/styles.json +17 -0
  134. package/dist/templates/orbit/media/LICENSES.json +141 -0
  135. package/dist/templates/orbit/openspace.json +21 -0
  136. package/dist/templates/orbit/template.json +108 -0
  137. package/package.json +6 -6
  138. package/dist/chunk-AAMRGTSI.js.map +0 -1
  139. package/dist/chunk-TQZ5F7VG.js.map +0 -1
  140. /package/dist/{agents-md-7DESZGEN.js.map → agents-md-3W4PIY4N.js.map} +0 -0
@@ -0,0 +1,508 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_c5jh5gv7m7",
4
+ "title": "About",
5
+ "slug": "about",
6
+ "seo": {
7
+ "description": "Fixwell is a family-run plumbing and electrical firm in north Denver since 1998. Meet the crew, see our licences and read reviews."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_62h9cqsmp9",
12
+ "preset": "hero/split-image@1",
13
+ "label": "Split with portrait image",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 6,
19
+ 6
20
+ ],
21
+ "m": [
22
+ 12
23
+ ]
24
+ },
25
+ "align": "center",
26
+ "gap": "2xl"
27
+ },
28
+ "style": {
29
+ "colorTheme": "light-accent",
30
+ "padding": {
31
+ "d": "xl",
32
+ "m": "lg"
33
+ }
34
+ },
35
+ "blocks": [
36
+ {
37
+ "id": "blk_mpnjerrrdz",
38
+ "type": "heading",
39
+ "v": 1,
40
+ "fields": {
41
+ "text": "A family firm that answers its own phone",
42
+ "level": "h1",
43
+ "size": "h1",
44
+ "eyebrow": "About Fixwell",
45
+ "subheading": "Jo Kowalski's dad started Fixwell with one van in 1998. Today there are nine of us, and we still turn up when we say we will."
46
+ },
47
+ "column": 0,
48
+ "variant": "plain"
49
+ },
50
+ {
51
+ "id": "blk_9d628p1wd9",
52
+ "type": "button",
53
+ "v": 1,
54
+ "fields": {
55
+ "label": "Get a quote",
56
+ "link": {
57
+ "type": "page",
58
+ "page": "pg_g5v67q4hd6"
59
+ },
60
+ "role": "primary",
61
+ "secondaryLabel": "Our services",
62
+ "secondaryLink": {
63
+ "type": "page",
64
+ "page": "pg_q2sbvhb6fq"
65
+ },
66
+ "note": "Licensed in Colorado since 1998."
67
+ },
68
+ "column": 0,
69
+ "variant": "default"
70
+ },
71
+ {
72
+ "id": "blk_84y524j6by",
73
+ "type": "image",
74
+ "v": 1,
75
+ "fields": {
76
+ "image": {
77
+ "src": "https://images.unsplash.com/photo-1660330589693-99889d60181e?w=2720&q=80",
78
+ "alt": "A Fixwell electrician wiring a cabinet",
79
+ "width": 2720,
80
+ "height": 1530
81
+ },
82
+ "aspect": "4:5",
83
+ "lightbox": false
84
+ },
85
+ "column": 1,
86
+ "variant": "default"
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "id": "sec_5668n2x5b1",
92
+ "preset": "team/hiring@1",
93
+ "label": "Team with hiring card",
94
+ "layout": {
95
+ "mode": "stack",
96
+ "columns": {
97
+ "d": [
98
+ 9,
99
+ 3
100
+ ],
101
+ "m": [
102
+ 12
103
+ ]
104
+ },
105
+ "gap": "xl"
106
+ },
107
+ "style": {
108
+ "colorTheme": "light"
109
+ },
110
+ "blocks": [
111
+ {
112
+ "id": "blk_dzz1gtm81b",
113
+ "type": "heading",
114
+ "v": 1,
115
+ "fields": {
116
+ "text": "Who'll turn up at your door",
117
+ "level": "h2",
118
+ "size": "auto",
119
+ "eyebrow": "The crew"
120
+ },
121
+ "column": 0,
122
+ "variant": "plain"
123
+ },
124
+ {
125
+ "id": "blk_8c4kar9aph",
126
+ "type": "team",
127
+ "v": 1,
128
+ "fields": {
129
+ "people": [
130
+ {
131
+ "name": "Jo Kowalski",
132
+ "role": "Owner and master plumber",
133
+ "photo": {
134
+ "src": "https://images.unsplash.com/photo-1544005313-94ddf0286df2?w=720&q=80",
135
+ "alt": "Portrait of a woman with long brown hair in a striped shirt",
136
+ "width": 720,
137
+ "height": 1079
138
+ }
139
+ },
140
+ {
141
+ "name": "Marcus Hale",
142
+ "role": "Lead electrician",
143
+ "photo": {
144
+ "src": "https://images.unsplash.com/photo-1560250097-0b93528c311a?w=720&q=80",
145
+ "alt": "Portrait of a man in a dark suit and glasses",
146
+ "width": 720,
147
+ "height": 1080
148
+ }
149
+ },
150
+ {
151
+ "name": "Sam Ortiz",
152
+ "role": "Plumber",
153
+ "photo": {
154
+ "src": "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=720&q=80",
155
+ "alt": "Portrait of a smiling man in a white t-shirt",
156
+ "width": 720,
157
+ "height": 1080
158
+ }
159
+ }
160
+ ],
161
+ "columns": "3"
162
+ },
163
+ "column": 0,
164
+ "variant": "grid"
165
+ },
166
+ {
167
+ "id": "blk_bstytcg8h9",
168
+ "type": "card",
169
+ "v": 1,
170
+ "fields": {
171
+ "aspect": "4:5",
172
+ "eyebrow": "Open role",
173
+ "heading": "We're hiring an apprentice",
174
+ "body": {
175
+ "type": "doc",
176
+ "content": [
177
+ {
178
+ "type": "paragraph",
179
+ "content": [
180
+ {
181
+ "type": "text",
182
+ "text": "Paid training towards your plumbing licence, a van and a four-day week."
183
+ }
184
+ ]
185
+ }
186
+ ]
187
+ },
188
+ "link": {
189
+ "type": "page",
190
+ "page": "pg_g5v67q4hd6"
191
+ },
192
+ "linkLabel": "Get in touch",
193
+ "icon": "hammer"
194
+ },
195
+ "column": 1,
196
+ "variant": "stacked",
197
+ "style": {
198
+ "colorTheme": "dark-accent",
199
+ "padding": {
200
+ "d": "lg",
201
+ "m": "md"
202
+ },
203
+ "radius": "md"
204
+ }
205
+ },
206
+ {
207
+ "id": "blk_eptyy31t9x",
208
+ "type": "button",
209
+ "v": 1,
210
+ "fields": {
211
+ "label": "Join the crew",
212
+ "link": {
213
+ "type": "page",
214
+ "page": "pg_g5v67q4hd6"
215
+ },
216
+ "role": "tertiary"
217
+ },
218
+ "column": 1,
219
+ "variant": "default"
220
+ }
221
+ ]
222
+ },
223
+ {
224
+ "id": "sec_769dtpaj91",
225
+ "preset": "about/recognition@1",
226
+ "label": "Awards and recognition",
227
+ "layout": {
228
+ "mode": "stack",
229
+ "columns": {
230
+ "d": [
231
+ 5,
232
+ 7
233
+ ],
234
+ "m": [
235
+ 12
236
+ ]
237
+ },
238
+ "gap": "2xl"
239
+ },
240
+ "style": {
241
+ "colorTheme": "light-accent"
242
+ },
243
+ "blocks": [
244
+ {
245
+ "id": "blk_2jsxw7yaja",
246
+ "type": "heading",
247
+ "v": 1,
248
+ "fields": {
249
+ "text": "Licensed, insured, recommended",
250
+ "level": "h2",
251
+ "size": "auto",
252
+ "eyebrow": "Credentials"
253
+ },
254
+ "column": 0,
255
+ "variant": "plain"
256
+ },
257
+ {
258
+ "id": "blk_xybbfnq7ks",
259
+ "type": "text",
260
+ "v": 1,
261
+ "fields": {
262
+ "content": {
263
+ "type": "doc",
264
+ "content": [
265
+ {
266
+ "type": "paragraph",
267
+ "content": [
268
+ {
269
+ "type": "text",
270
+ "text": "Copies of every licence and certificate are available on request."
271
+ }
272
+ ]
273
+ }
274
+ ]
275
+ }
276
+ },
277
+ "column": 0,
278
+ "variant": "default"
279
+ },
280
+ {
281
+ "id": "blk_7vrn8m2ch4",
282
+ "type": "icon-list",
283
+ "v": 1,
284
+ "fields": {
285
+ "items": [
286
+ {
287
+ "icon": "shield-check",
288
+ "title": "Colorado master plumber licence",
289
+ "text": "Number MP.0041177."
290
+ },
291
+ {
292
+ "icon": "zap",
293
+ "title": "Licensed master electrician",
294
+ "text": "Number ME.0029930."
295
+ },
296
+ {
297
+ "icon": "award",
298
+ "title": "Neighbourhood Business of the Year, 2025",
299
+ "text": "North Denver Chamber."
300
+ },
301
+ {
302
+ "icon": "star",
303
+ "title": "4.9 stars from 640 reviews",
304
+ "text": "On the major review sites."
305
+ }
306
+ ],
307
+ "columns": "1"
308
+ },
309
+ "column": 1,
310
+ "variant": "list",
311
+ "style": {
312
+ "colorTheme": "light",
313
+ "padding": {
314
+ "d": "lg",
315
+ "m": "md"
316
+ },
317
+ "radius": "md"
318
+ }
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "id": "sec_ee9rw3fjtg",
324
+ "preset": "testimonials/three-cards@1",
325
+ "label": "Three testimonial cards",
326
+ "layout": {
327
+ "mode": "grid",
328
+ "rows": {
329
+ "d": 15,
330
+ "m": 41
331
+ },
332
+ "items": {
333
+ "blk_6781b4h45a": {
334
+ "d": {
335
+ "x": 5,
336
+ "y": 1,
337
+ "w": 16,
338
+ "h": 5
339
+ },
340
+ "m": {
341
+ "x": 1,
342
+ "y": 1,
343
+ "w": 8,
344
+ "h": 5
345
+ }
346
+ },
347
+ "blk_jh43237p9b": {
348
+ "d": {
349
+ "x": 1,
350
+ "y": 7,
351
+ "w": 8,
352
+ "h": 9
353
+ },
354
+ "m": {
355
+ "x": 1,
356
+ "y": 7,
357
+ "w": 8,
358
+ "h": 11
359
+ }
360
+ },
361
+ "blk_rvk5y4h9vq": {
362
+ "d": {
363
+ "x": 9,
364
+ "y": 7,
365
+ "w": 8,
366
+ "h": 9
367
+ },
368
+ "m": {
369
+ "x": 1,
370
+ "y": 19,
371
+ "w": 8,
372
+ "h": 11
373
+ }
374
+ },
375
+ "blk_w36pc88rbx": {
376
+ "d": {
377
+ "x": 17,
378
+ "y": 7,
379
+ "w": 8,
380
+ "h": 9
381
+ },
382
+ "m": {
383
+ "x": 1,
384
+ "y": 31,
385
+ "w": 8,
386
+ "h": 11
387
+ }
388
+ }
389
+ }
390
+ },
391
+ "style": {
392
+ "colorTheme": "light-accent"
393
+ },
394
+ "blocks": [
395
+ {
396
+ "id": "blk_6781b4h45a",
397
+ "type": "heading",
398
+ "v": 1,
399
+ "fields": {
400
+ "text": "What neighbours say",
401
+ "level": "h2",
402
+ "size": "auto",
403
+ "eyebrow": "Reviews"
404
+ },
405
+ "variant": "plain",
406
+ "style": {
407
+ "align": {
408
+ "d": "center"
409
+ }
410
+ }
411
+ },
412
+ {
413
+ "id": "blk_jh43237p9b",
414
+ "type": "testimonial",
415
+ "v": 1,
416
+ "fields": {
417
+ "quote": {
418
+ "type": "doc",
419
+ "content": [
420
+ {
421
+ "type": "paragraph",
422
+ "content": [
423
+ {
424
+ "type": "text",
425
+ "text": "They found the leak without tearing up the floor. Fair price, lovely people."
426
+ }
427
+ ]
428
+ }
429
+ ]
430
+ },
431
+ "name": "Grace Liu",
432
+ "role": "Highland",
433
+ "photo": {
434
+ "src": "https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=320&q=80",
435
+ "alt": "Portrait of a woman in a black top against a soft violet wall",
436
+ "width": 320,
437
+ "height": 400
438
+ },
439
+ "rating": 5
440
+ },
441
+ "variant": "card"
442
+ },
443
+ {
444
+ "id": "blk_rvk5y4h9vq",
445
+ "type": "testimonial",
446
+ "v": 1,
447
+ "fields": {
448
+ "quote": {
449
+ "type": "doc",
450
+ "content": [
451
+ {
452
+ "type": "paragraph",
453
+ "content": [
454
+ {
455
+ "type": "text",
456
+ "text": "Our water heater died on Christmas Eve. Fixwell had a new one in by lunchtime."
457
+ }
458
+ ]
459
+ }
460
+ ]
461
+ },
462
+ "name": "Daniel Okoro",
463
+ "role": "Sunnyside",
464
+ "photo": {
465
+ "src": "https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=320&q=80",
466
+ "alt": "Portrait of a man in a grey sweater, smiling softly",
467
+ "width": 320,
468
+ "height": 480
469
+ },
470
+ "rating": 5
471
+ },
472
+ "variant": "card"
473
+ },
474
+ {
475
+ "id": "blk_w36pc88rbx",
476
+ "type": "testimonial",
477
+ "v": 1,
478
+ "fields": {
479
+ "quote": {
480
+ "type": "doc",
481
+ "content": [
482
+ {
483
+ "type": "paragraph",
484
+ "content": [
485
+ {
486
+ "type": "text",
487
+ "text": "Quoted, booked and finished our bathroom on schedule. Highly recommended."
488
+ }
489
+ ]
490
+ }
491
+ ]
492
+ },
493
+ "name": "Maya Chen",
494
+ "role": "Wheat Ridge",
495
+ "photo": {
496
+ "src": "https://images.unsplash.com/photo-1580489944761-15a19d654956?w=320&q=80",
497
+ "alt": "Portrait of a woman with dark hair pinned up, smiling",
498
+ "width": 320,
499
+ "height": 403
500
+ },
501
+ "rating": 5
502
+ },
503
+ "variant": "card"
504
+ }
505
+ ]
506
+ }
507
+ ]
508
+ }