@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,527 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_xzesny8yta",
4
+ "title": "Home",
5
+ "slug": "",
6
+ "seo": {
7
+ "description": "Open Field is a two-day conference on design for public services, 10–11 June 2027 in Minneapolis. Speakers, programme and tickets."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_1rk85majej",
12
+ "preset": "hero/event-countdown@1",
13
+ "label": "Event with countdown",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 12
19
+ ]
20
+ },
21
+ "width": "content",
22
+ "gap": "lg"
23
+ },
24
+ "style": {
25
+ "colorTheme": "dark",
26
+ "padding": {
27
+ "d": "3xl",
28
+ "m": "2xl"
29
+ },
30
+ "minHeight": {
31
+ "d": "90vh",
32
+ "m": "85svh"
33
+ },
34
+ "background": {
35
+ "type": "image",
36
+ "src": "https://images.unsplash.com/photo-1773828755374-0ee802d9f44b?w=3840&q=80",
37
+ "focal": [
38
+ 0.5,
39
+ 0.5
40
+ ],
41
+ "overlay": {
42
+ "color": "background",
43
+ "opacity": 0.8
44
+ }
45
+ }
46
+ },
47
+ "blocks": [
48
+ {
49
+ "id": "blk_3eab654egw",
50
+ "type": "heading",
51
+ "v": 1,
52
+ "fields": {
53
+ "text": "Open Field: design for public services",
54
+ "level": "h1",
55
+ "size": "display",
56
+ "eyebrow": "10–11 June 2027 · Minneapolis",
57
+ "subheading": "Two days of talks and workshops for the designers, researchers and civil servants making public services simpler, fairer and kinder."
58
+ },
59
+ "variant": "plain",
60
+ "style": {
61
+ "align": {
62
+ "d": "center"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "id": "blk_nv138vrm3h",
68
+ "type": "countdown",
69
+ "v": 1,
70
+ "fields": {
71
+ "headingLevel": "h2",
72
+ "target": "2027-06-10T09:00:00-05:00",
73
+ "showSeconds": false,
74
+ "doneMessage": "Open Field is happening now — see you in the main hall."
75
+ },
76
+ "variant": "boxes",
77
+ "style": {
78
+ "align": {
79
+ "d": "center"
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "id": "blk_mz3v212hv0",
85
+ "type": "button",
86
+ "v": 1,
87
+ "fields": {
88
+ "label": "Get tickets",
89
+ "link": {
90
+ "type": "page",
91
+ "page": "pg_wrwn9f0tjc"
92
+ },
93
+ "role": "primary",
94
+ "secondaryLabel": "See the programme",
95
+ "secondaryLink": {
96
+ "type": "page",
97
+ "page": "pg_7h5fkz85td"
98
+ }
99
+ },
100
+ "variant": "large",
101
+ "style": {
102
+ "align": {
103
+ "d": "center"
104
+ }
105
+ }
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "id": "sec_y97cymf4yd",
111
+ "preset": "logos/stats-and-logos@1",
112
+ "label": "Logos with a number",
113
+ "layout": {
114
+ "mode": "stack",
115
+ "columns": {
116
+ "d": [
117
+ 3,
118
+ 9
119
+ ],
120
+ "m": [
121
+ 12
122
+ ]
123
+ },
124
+ "align": "center",
125
+ "gap": "xl"
126
+ },
127
+ "style": {
128
+ "colorTheme": "light",
129
+ "padding": {
130
+ "d": "lg",
131
+ "m": "lg"
132
+ }
133
+ },
134
+ "blocks": [
135
+ {
136
+ "id": "blk_enzwxe9d3r",
137
+ "type": "stats",
138
+ "v": 1,
139
+ "fields": {
140
+ "items": [
141
+ {
142
+ "value": "1,200",
143
+ "label": "People at Open Field 2026"
144
+ }
145
+ ]
146
+ },
147
+ "column": 0,
148
+ "variant": "row"
149
+ },
150
+ {
151
+ "id": "blk_ekxf7h2wjn",
152
+ "type": "logo-strip",
153
+ "v": 1,
154
+ "fields": {
155
+ "logos": [
156
+ {
157
+ "name": "City of Lakewood"
158
+ },
159
+ {
160
+ "name": "Civic Design Lab"
161
+ },
162
+ {
163
+ "name": "Northland Libraries"
164
+ },
165
+ {
166
+ "name": "Public Code Co-op"
167
+ },
168
+ {
169
+ "name": "State Digital Service"
170
+ },
171
+ {
172
+ "name": "Harbour Health"
173
+ }
174
+ ],
175
+ "monochrome": true
176
+ },
177
+ "column": 1,
178
+ "variant": "marquee"
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "id": "sec_6sza5b247d",
184
+ "preset": "events/speakers@1",
185
+ "label": "Speakers",
186
+ "layout": {
187
+ "mode": "stack",
188
+ "columns": {
189
+ "d": [
190
+ 12
191
+ ]
192
+ },
193
+ "gap": "xl"
194
+ },
195
+ "style": {
196
+ "colorTheme": "light-accent"
197
+ },
198
+ "blocks": [
199
+ {
200
+ "id": "blk_cddx7qbdep",
201
+ "type": "heading",
202
+ "v": 1,
203
+ "fields": {
204
+ "text": "Who's on stage",
205
+ "level": "h2",
206
+ "size": "auto",
207
+ "eyebrow": "Speakers",
208
+ "subheading": "Practitioners from city halls, libraries, hospitals and national services."
209
+ },
210
+ "variant": "plain",
211
+ "style": {
212
+ "align": {
213
+ "d": "center"
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "id": "blk_y97y6k0tmw",
219
+ "type": "team",
220
+ "v": 1,
221
+ "fields": {
222
+ "people": [
223
+ {
224
+ "name": "Lena Brandt",
225
+ "role": "Forms people can finish",
226
+ "photo": {
227
+ "src": "https://images.unsplash.com/photo-1614436201459-156d322d38c6?w=720&q=80",
228
+ "alt": "A smiling woman with a shoulder-length bob by the water",
229
+ "width": 720,
230
+ "height": 1080
231
+ }
232
+ },
233
+ {
234
+ "name": "Jonah Ellis",
235
+ "role": "Small teams, public money",
236
+ "photo": {
237
+ "src": "https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=1320&q=80",
238
+ "alt": "A smiling man in a grey t-shirt outdoors",
239
+ "width": 1320,
240
+ "height": 880
241
+ }
242
+ },
243
+ {
244
+ "name": "Ines Varga",
245
+ "role": "Libraries as infrastructure",
246
+ "photo": {
247
+ "src": "https://images.unsplash.com/photo-1573497019236-17f8177b81e8?w=1320&q=80",
248
+ "alt": "A woman seated in a modern office, smiling at the camera",
249
+ "width": 1320,
250
+ "height": 880
251
+ }
252
+ },
253
+ {
254
+ "name": "Rafael Costa",
255
+ "role": "Accessibility is the default",
256
+ "photo": {
257
+ "src": "https://images.unsplash.com/photo-1639747280804-dd2d6b3d88ac?w=720&q=80",
258
+ "alt": "A smiling man in a green shirt standing outdoors",
259
+ "width": 720,
260
+ "height": 1080
261
+ }
262
+ }
263
+ ],
264
+ "columns": "4"
265
+ },
266
+ "variant": "grid"
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "id": "sec_q2s5xv31k6",
272
+ "preset": "features/wide-image-points@1",
273
+ "label": "Wide photo with three points",
274
+ "layout": {
275
+ "mode": "stack",
276
+ "columns": {
277
+ "d": [
278
+ 12
279
+ ]
280
+ },
281
+ "width": "wide",
282
+ "gap": "xl"
283
+ },
284
+ "style": {
285
+ "colorTheme": "light"
286
+ },
287
+ "blocks": [
288
+ {
289
+ "id": "blk_qfprmp1qkw",
290
+ "type": "heading",
291
+ "v": 1,
292
+ "fields": {
293
+ "text": "Two days, three rooms, one big question",
294
+ "level": "h2",
295
+ "size": "auto",
296
+ "eyebrow": "The event"
297
+ },
298
+ "variant": "plain",
299
+ "style": {
300
+ "align": {
301
+ "d": "center"
302
+ }
303
+ }
304
+ },
305
+ {
306
+ "id": "blk_h6165wc444",
307
+ "type": "image",
308
+ "v": 1,
309
+ "fields": {
310
+ "image": {
311
+ "src": "https://images.unsplash.com/photo-1769798643655-e0f10f62c3fd?w=2880&q=80",
312
+ "alt": "A packed hall facing a brightly lit stage",
313
+ "width": 2880,
314
+ "height": 1920
315
+ },
316
+ "aspect": "21:9",
317
+ "lightbox": false
318
+ },
319
+ "variant": "default"
320
+ },
321
+ {
322
+ "id": "blk_kxxhwdre2b",
323
+ "type": "icon-list",
324
+ "v": 1,
325
+ "fields": {
326
+ "items": [
327
+ {
328
+ "icon": "mic",
329
+ "title": "Twenty-four talks",
330
+ "text": "Short, practical and recorded for later."
331
+ },
332
+ {
333
+ "icon": "users",
334
+ "title": "Twelve workshops",
335
+ "text": "Small groups, real problems, take-home tools."
336
+ },
337
+ {
338
+ "icon": "coffee",
339
+ "title": "Long breaks",
340
+ "text": "Because the hallway is half the conference."
341
+ }
342
+ ],
343
+ "columns": "3"
344
+ },
345
+ "variant": "list"
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ "id": "sec_j12kxanbpp",
351
+ "preset": "testimonials/carousel-cards@1",
352
+ "label": "Review carousel",
353
+ "layout": {
354
+ "mode": "stack",
355
+ "columns": {
356
+ "d": [
357
+ 12
358
+ ]
359
+ },
360
+ "gap": "lg"
361
+ },
362
+ "style": {
363
+ "colorTheme": "light-accent"
364
+ },
365
+ "blocks": [
366
+ {
367
+ "id": "blk_82zm9ayx6c",
368
+ "type": "heading",
369
+ "v": 1,
370
+ "fields": {
371
+ "text": "What people took home",
372
+ "level": "h2",
373
+ "size": "auto",
374
+ "eyebrow": "Last year"
375
+ },
376
+ "variant": "plain"
377
+ },
378
+ {
379
+ "id": "blk_rzsyp99f35",
380
+ "type": "quote-carousel",
381
+ "v": 1,
382
+ "fields": {
383
+ "label": "Attendee reviews",
384
+ "quotes": [
385
+ {
386
+ "quote": "The only conference where I came back with things to try on Monday.",
387
+ "name": "Ana Ruiz",
388
+ "role": "Service designer",
389
+ "photo": {
390
+ "src": "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=320&q=80",
391
+ "alt": "Portrait of a woman in a red sweater, laughing",
392
+ "width": 320,
393
+ "height": 480
394
+ }
395
+ },
396
+ {
397
+ "quote": "Brilliant talks, kind people and actual lunch breaks.",
398
+ "name": "Daniel Okoro",
399
+ "role": "Product manager, city government",
400
+ "photo": {
401
+ "src": "https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=320&q=80",
402
+ "alt": "Portrait of a man in a grey sweater, smiling softly",
403
+ "width": 320,
404
+ "height": 480
405
+ }
406
+ },
407
+ {
408
+ "quote": "The accessibility workshop changed how my whole team works.",
409
+ "name": "Iris Lund",
410
+ "role": "Content designer",
411
+ "photo": {
412
+ "src": "https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=320&q=80",
413
+ "alt": "Portrait of a woman in a black top against a soft violet wall",
414
+ "width": 320,
415
+ "height": 400
416
+ }
417
+ },
418
+ {
419
+ "quote": "I met three people I now call every month for advice.",
420
+ "name": "Theo Grant",
421
+ "role": "User researcher",
422
+ "photo": {
423
+ "src": "https://images.unsplash.com/photo-1539571696357-5a69c17a67c6?w=320&q=80",
424
+ "alt": "Portrait of a young man in a black hat, smiling",
425
+ "width": 320,
426
+ "height": 480
427
+ }
428
+ }
429
+ ]
430
+ },
431
+ "variant": "cards"
432
+ }
433
+ ]
434
+ },
435
+ {
436
+ "id": "sec_h91d88mk1w",
437
+ "preset": "cta/card-centered@1",
438
+ "label": "Card on tinted band",
439
+ "layout": {
440
+ "mode": "stack",
441
+ "columns": {
442
+ "d": [
443
+ 12
444
+ ]
445
+ },
446
+ "width": "content",
447
+ "gap": "lg"
448
+ },
449
+ "style": {
450
+ "colorTheme": "light-accent"
451
+ },
452
+ "blocks": [
453
+ {
454
+ "id": "blk_pyxq9pewhe",
455
+ "type": "text",
456
+ "v": 1,
457
+ "fields": {
458
+ "content": {
459
+ "type": "doc",
460
+ "content": [
461
+ {
462
+ "type": "heading",
463
+ "attrs": {
464
+ "level": 2,
465
+ "preset": "h2"
466
+ },
467
+ "content": [
468
+ {
469
+ "type": "text",
470
+ "text": "Early-bird tickets end 31 March"
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ "type": "paragraph",
476
+ "content": [
477
+ {
478
+ "type": "text",
479
+ "text": "Public-sector and nonprofit rates available. Group discounts for teams of five or more."
480
+ }
481
+ ]
482
+ }
483
+ ]
484
+ }
485
+ },
486
+ "variant": "default",
487
+ "style": {
488
+ "align": {
489
+ "d": "center"
490
+ },
491
+ "colorTheme": "light",
492
+ "padding": {
493
+ "d": "xl",
494
+ "m": "md"
495
+ },
496
+ "radius": "md",
497
+ "border": "subtle"
498
+ }
499
+ },
500
+ {
501
+ "id": "blk_0tv0sphhp1",
502
+ "type": "button",
503
+ "v": 1,
504
+ "fields": {
505
+ "label": "Choose a ticket",
506
+ "link": {
507
+ "type": "page",
508
+ "page": "pg_wrwn9f0tjc"
509
+ },
510
+ "role": "primary",
511
+ "secondaryLabel": "Ask about groups",
512
+ "secondaryLink": {
513
+ "type": "page",
514
+ "page": "pg_w0dp3gv618"
515
+ }
516
+ },
517
+ "variant": "default",
518
+ "style": {
519
+ "align": {
520
+ "d": "center"
521
+ }
522
+ }
523
+ }
524
+ ]
525
+ }
526
+ ]
527
+ }