@shoplix-ai/sdui-schema 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/assets.d.ts.map +1 -1
  2. package/dist/assets.js +1 -0
  3. package/dist/assets.js.map +1 -1
  4. package/dist/binding.d.ts +19 -2
  5. package/dist/binding.d.ts.map +1 -1
  6. package/dist/binding.js +13 -2
  7. package/dist/binding.js.map +1 -1
  8. package/dist/block-definition.d.ts +93 -21
  9. package/dist/block-definition.d.ts.map +1 -1
  10. package/dist/block-definition.js +29 -5
  11. package/dist/block-definition.js.map +1 -1
  12. package/dist/blocks.d.ts +508 -4
  13. package/dist/blocks.d.ts.map +1 -1
  14. package/dist/blocks.js +101 -1
  15. package/dist/blocks.js.map +1 -1
  16. package/dist/definition-validator.d.ts +2 -0
  17. package/dist/definition-validator.d.ts.map +1 -1
  18. package/dist/definition-validator.js +30 -0
  19. package/dist/definition-validator.js.map +1 -1
  20. package/dist/display.d.ts +163 -7
  21. package/dist/display.d.ts.map +1 -1
  22. package/dist/display.js +69 -8
  23. package/dist/display.js.map +1 -1
  24. package/dist/envelope.d.ts +170 -44
  25. package/dist/envelope.d.ts.map +1 -1
  26. package/dist/index.d.ts +7 -7
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +3 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/manifest.d.ts +2 -0
  31. package/dist/manifest.d.ts.map +1 -1
  32. package/dist/manifest.js +28 -0
  33. package/dist/manifest.js.map +1 -1
  34. package/dist/parse.d.ts +2 -1
  35. package/dist/parse.d.ts.map +1 -1
  36. package/dist/parse.js +4 -1
  37. package/dist/parse.js.map +1 -1
  38. package/dist/primitives.d.ts +16 -16
  39. package/dist/screen.d.ts +30 -8
  40. package/dist/screen.d.ts.map +1 -1
  41. package/dist/screen.js +39 -1
  42. package/dist/screen.js.map +1 -1
  43. package/dist/starters/cart.d.ts +9 -0
  44. package/dist/starters/cart.d.ts.map +1 -0
  45. package/dist/starters/cart.js +31 -0
  46. package/dist/starters/cart.js.map +1 -0
  47. package/dist/starters/electronics.d.ts.map +1 -1
  48. package/dist/starters/electronics.js +3 -0
  49. package/dist/starters/electronics.js.map +1 -1
  50. package/dist/starters/fashion.d.ts.map +1 -1
  51. package/dist/starters/fashion.js +3 -0
  52. package/dist/starters/fashion.js.map +1 -1
  53. package/dist/starters/index.d.ts +1 -0
  54. package/dist/starters/index.d.ts.map +1 -1
  55. package/dist/starters/index.js +1 -0
  56. package/dist/starters/index.js.map +1 -1
  57. package/dist/starters/minimal.d.ts.map +1 -1
  58. package/dist/starters/minimal.js +3 -0
  59. package/dist/starters/minimal.js.map +1 -1
  60. package/dist/theme.d.ts +2 -2
  61. package/package.json +1 -1
package/dist/blocks.d.ts CHANGED
@@ -1,8 +1,19 @@
1
1
  import { z } from 'zod';
2
2
  /** JSON-safe, for an editor that has to shape an id before the parse sees it. */
3
3
  export declare const BLOCK_ID_PATTERN = "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$";
4
+ /**
5
+ * When a placed block of the cart screen draws, by the state of the held
6
+ * cart. Absent means always. The screen document holds it to the cart screen.
7
+ */
8
+ export declare const CART_VISIBILITIES: readonly ["always", "when_empty", "when_has_lines"];
9
+ export type CartVisibility = (typeof CART_VISIBILITIES)[number];
4
10
  export declare const textBlockSchema: z.ZodObject<{
5
11
  id: z.ZodString;
12
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
13
+ always: "always";
14
+ when_empty: "when_empty";
15
+ when_has_lines: "when_has_lines";
16
+ }>>;
6
17
  type: z.ZodLiteral<"text">;
7
18
  props: z.ZodObject<{
8
19
  text: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -13,9 +24,9 @@ export declare const textBlockSchema: z.ZodObject<{
13
24
  xl: "xl";
14
25
  }>>;
15
26
  weight: z.ZodOptional<z.ZodEnum<{
27
+ bold: "bold";
16
28
  regular: "regular";
17
29
  medium: "medium";
18
- bold: "bold";
19
30
  }>>;
20
31
  align: z.ZodOptional<z.ZodEnum<{
21
32
  start: "start";
@@ -27,6 +38,11 @@ export declare const textBlockSchema: z.ZodObject<{
27
38
  }, z.core.$strip>;
28
39
  export declare const imageBlockSchema: z.ZodObject<{
29
40
  id: z.ZodString;
41
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
42
+ always: "always";
43
+ when_empty: "when_empty";
44
+ when_has_lines: "when_has_lines";
45
+ }>>;
30
46
  type: z.ZodLiteral<"image">;
31
47
  props: z.ZodObject<{
32
48
  image: z.ZodOptional<z.ZodObject<{
@@ -49,6 +65,11 @@ export declare const imageBlockSchema: z.ZodObject<{
49
65
  }, z.core.$strip>;
50
66
  export declare const buttonBlockSchema: z.ZodObject<{
51
67
  id: z.ZodString;
68
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
69
+ always: "always";
70
+ when_empty: "when_empty";
71
+ when_has_lines: "when_has_lines";
72
+ }>>;
52
73
  type: z.ZodLiteral<"button">;
53
74
  props: z.ZodObject<{
54
75
  label: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -68,6 +89,11 @@ export declare const buttonBlockSchema: z.ZodObject<{
68
89
  }, z.core.$strip>;
69
90
  export declare const spacerBlockSchema: z.ZodObject<{
70
91
  id: z.ZodString;
92
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
93
+ always: "always";
94
+ when_empty: "when_empty";
95
+ when_has_lines: "when_has_lines";
96
+ }>>;
71
97
  type: z.ZodLiteral<"spacer">;
72
98
  props: z.ZodObject<{
73
99
  size: z.ZodEnum<{
@@ -82,6 +108,11 @@ export declare const spacerBlockSchema: z.ZodObject<{
82
108
  }, z.core.$strip>;
83
109
  export declare const dividerBlockSchema: z.ZodObject<{
84
110
  id: z.ZodString;
111
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
112
+ always: "always";
113
+ when_empty: "when_empty";
114
+ when_has_lines: "when_has_lines";
115
+ }>>;
85
116
  type: z.ZodLiteral<"divider">;
86
117
  props: z.ZodObject<{
87
118
  label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -90,6 +121,11 @@ export declare const dividerBlockSchema: z.ZodObject<{
90
121
  }, z.core.$strip>;
91
122
  export declare const sectionHeaderBlockSchema: z.ZodObject<{
92
123
  id: z.ZodString;
124
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
125
+ always: "always";
126
+ when_empty: "when_empty";
127
+ when_has_lines: "when_has_lines";
128
+ }>>;
93
129
  type: z.ZodLiteral<"section_header">;
94
130
  props: z.ZodObject<{
95
131
  title: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -109,6 +145,11 @@ export declare const sectionHeaderBlockSchema: z.ZodObject<{
109
145
  }, z.core.$strip>;
110
146
  export declare const searchBarBlockSchema: z.ZodObject<{
111
147
  id: z.ZodString;
148
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
149
+ always: "always";
150
+ when_empty: "when_empty";
151
+ when_has_lines: "when_has_lines";
152
+ }>>;
112
153
  type: z.ZodLiteral<"search_bar">;
113
154
  props: z.ZodObject<{
114
155
  placeholder: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -117,6 +158,11 @@ export declare const searchBarBlockSchema: z.ZodObject<{
117
158
  }, z.core.$strip>;
118
159
  export declare const videoBlockSchema: z.ZodObject<{
119
160
  id: z.ZodString;
161
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
162
+ always: "always";
163
+ when_empty: "when_empty";
164
+ when_has_lines: "when_has_lines";
165
+ }>>;
120
166
  type: z.ZodLiteral<"video">;
121
167
  props: z.ZodObject<{
122
168
  assetId: z.ZodOptional<z.ZodUUID>;
@@ -129,6 +175,11 @@ export declare const videoBlockSchema: z.ZodObject<{
129
175
  }, z.core.$strip>;
130
176
  export declare const heroBannerBlockSchema: z.ZodObject<{
131
177
  id: z.ZodString;
178
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
179
+ always: "always";
180
+ when_empty: "when_empty";
181
+ when_has_lines: "when_has_lines";
182
+ }>>;
132
183
  type: z.ZodLiteral<"hero_banner">;
133
184
  props: z.ZodObject<{
134
185
  title: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -153,6 +204,11 @@ export declare const heroBannerBlockSchema: z.ZodObject<{
153
204
  }, z.core.$strip>;
154
205
  export declare const promoBannerBlockSchema: z.ZodObject<{
155
206
  id: z.ZodString;
207
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
208
+ always: "always";
209
+ when_empty: "when_empty";
210
+ when_has_lines: "when_has_lines";
211
+ }>>;
156
212
  type: z.ZodLiteral<"promo_banner">;
157
213
  props: z.ZodObject<{
158
214
  image: z.ZodOptional<z.ZodObject<{
@@ -176,6 +232,11 @@ export declare const promoBannerBlockSchema: z.ZodObject<{
176
232
  }, z.core.$strip>;
177
233
  export declare const announcementBarBlockSchema: z.ZodObject<{
178
234
  id: z.ZodString;
235
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
236
+ always: "always";
237
+ when_empty: "when_empty";
238
+ when_has_lines: "when_has_lines";
239
+ }>>;
179
240
  type: z.ZodLiteral<"announcement_bar">;
180
241
  props: z.ZodObject<{
181
242
  text: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -184,6 +245,11 @@ export declare const announcementBarBlockSchema: z.ZodObject<{
184
245
  }, z.core.$strip>;
185
246
  export declare const countdownBlockSchema: z.ZodObject<{
186
247
  id: z.ZodString;
248
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
249
+ always: "always";
250
+ when_empty: "when_empty";
251
+ when_has_lines: "when_has_lines";
252
+ }>>;
187
253
  type: z.ZodLiteral<"countdown">;
188
254
  props: z.ZodObject<{
189
255
  endsAt: z.ZodISODateTime;
@@ -193,6 +259,11 @@ export declare const countdownBlockSchema: z.ZodObject<{
193
259
  }, z.core.$strip>;
194
260
  export declare const featureStripBlockSchema: z.ZodObject<{
195
261
  id: z.ZodString;
262
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
263
+ always: "always";
264
+ when_empty: "when_empty";
265
+ when_has_lines: "when_has_lines";
266
+ }>>;
196
267
  type: z.ZodLiteral<"feature_strip">;
197
268
  props: z.ZodObject<{
198
269
  items: z.ZodArray<z.ZodObject<{
@@ -204,6 +275,11 @@ export declare const featureStripBlockSchema: z.ZodObject<{
204
275
  }, z.core.$strip>;
205
276
  export declare const productCardBlockSchema: z.ZodObject<{
206
277
  id: z.ZodString;
278
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
279
+ always: "always";
280
+ when_empty: "when_empty";
281
+ when_has_lines: "when_has_lines";
282
+ }>>;
207
283
  type: z.ZodLiteral<"product_card">;
208
284
  binding: z.ZodObject<{
209
285
  kind: z.ZodLiteral<"product">;
@@ -222,6 +298,11 @@ export declare const productCardBlockSchema: z.ZodObject<{
222
298
  }, z.core.$strip>;
223
299
  export declare const productCarouselBlockSchema: z.ZodObject<{
224
300
  id: z.ZodString;
301
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
302
+ always: "always";
303
+ when_empty: "when_empty";
304
+ when_has_lines: "when_has_lines";
305
+ }>>;
225
306
  type: z.ZodLiteral<"product_carousel">;
226
307
  binding: z.ZodObject<{
227
308
  kind: z.ZodLiteral<"products">;
@@ -255,6 +336,11 @@ export declare const productCarouselBlockSchema: z.ZodObject<{
255
336
  }, z.core.$strip>;
256
337
  export declare const productGridBlockSchema: z.ZodObject<{
257
338
  id: z.ZodString;
339
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
340
+ always: "always";
341
+ when_empty: "when_empty";
342
+ when_has_lines: "when_has_lines";
343
+ }>>;
258
344
  type: z.ZodLiteral<"product_grid">;
259
345
  binding: z.ZodObject<{
260
346
  kind: z.ZodLiteral<"products">;
@@ -289,6 +375,11 @@ export declare const productGridBlockSchema: z.ZodObject<{
289
375
  }, z.core.$strip>;
290
376
  export declare const productListBlockSchema: z.ZodObject<{
291
377
  id: z.ZodString;
378
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
379
+ always: "always";
380
+ when_empty: "when_empty";
381
+ when_has_lines: "when_has_lines";
382
+ }>>;
292
383
  type: z.ZodLiteral<"product_list">;
293
384
  binding: z.ZodObject<{
294
385
  kind: z.ZodLiteral<"products">;
@@ -322,6 +413,11 @@ export declare const productListBlockSchema: z.ZodObject<{
322
413
  }, z.core.$strip>;
323
414
  export declare const collectionCirclesBlockSchema: z.ZodObject<{
324
415
  id: z.ZodString;
416
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
417
+ always: "always";
418
+ when_empty: "when_empty";
419
+ when_has_lines: "when_has_lines";
420
+ }>>;
325
421
  type: z.ZodLiteral<"collection_circles">;
326
422
  binding: z.ZodObject<{
327
423
  kind: z.ZodLiteral<"collections">;
@@ -334,6 +430,11 @@ export declare const collectionCirclesBlockSchema: z.ZodObject<{
334
430
  }, z.core.$strip>;
335
431
  export declare const collectionGridBlockSchema: z.ZodObject<{
336
432
  id: z.ZodString;
433
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
434
+ always: "always";
435
+ when_empty: "when_empty";
436
+ when_has_lines: "when_has_lines";
437
+ }>>;
337
438
  type: z.ZodLiteral<"collection_grid">;
338
439
  binding: z.ZodObject<{
339
440
  kind: z.ZodLiteral<"collections">;
@@ -347,6 +448,11 @@ export declare const collectionGridBlockSchema: z.ZodObject<{
347
448
  }, z.core.$strip>;
348
449
  export declare const collectionRowBlockSchema: z.ZodObject<{
349
450
  id: z.ZodString;
451
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
452
+ always: "always";
453
+ when_empty: "when_empty";
454
+ when_has_lines: "when_has_lines";
455
+ }>>;
350
456
  type: z.ZodLiteral<"collection_row">;
351
457
  binding: z.ZodObject<{
352
458
  kind: z.ZodLiteral<"collections">;
@@ -359,6 +465,11 @@ export declare const collectionRowBlockSchema: z.ZodObject<{
359
465
  }, z.core.$strip>;
360
466
  export declare const productGalleryBlockSchema: z.ZodObject<{
361
467
  id: z.ZodString;
468
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
469
+ always: "always";
470
+ when_empty: "when_empty";
471
+ when_has_lines: "when_has_lines";
472
+ }>>;
362
473
  type: z.ZodLiteral<"product_gallery">;
363
474
  binding: z.ZodObject<{
364
475
  kind: z.ZodLiteral<"product">;
@@ -371,6 +482,11 @@ export declare const productGalleryBlockSchema: z.ZodObject<{
371
482
  }, z.core.$strip>;
372
483
  export declare const productSummaryBlockSchema: z.ZodObject<{
373
484
  id: z.ZodString;
485
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
486
+ always: "always";
487
+ when_empty: "when_empty";
488
+ when_has_lines: "when_has_lines";
489
+ }>>;
374
490
  type: z.ZodLiteral<"product_summary">;
375
491
  binding: z.ZodObject<{
376
492
  kind: z.ZodLiteral<"product">;
@@ -388,6 +504,11 @@ export declare const productSummaryBlockSchema: z.ZodObject<{
388
504
  */
389
505
  export declare const variantPickerBlockSchema: z.ZodObject<{
390
506
  id: z.ZodString;
507
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
508
+ always: "always";
509
+ when_empty: "when_empty";
510
+ when_has_lines: "when_has_lines";
511
+ }>>;
391
512
  type: z.ZodLiteral<"variant_picker">;
392
513
  binding: z.ZodObject<{
393
514
  kind: z.ZodLiteral<"product">;
@@ -405,6 +526,11 @@ export declare const variantPickerBlockSchema: z.ZodObject<{
405
526
  }, z.core.$strip>;
406
527
  export declare const addToCartBlockSchema: z.ZodObject<{
407
528
  id: z.ZodString;
529
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
530
+ always: "always";
531
+ when_empty: "when_empty";
532
+ when_has_lines: "when_has_lines";
533
+ }>>;
408
534
  type: z.ZodLiteral<"add_to_cart">;
409
535
  binding: z.ZodObject<{
410
536
  kind: z.ZodLiteral<"product">;
@@ -419,6 +545,11 @@ export declare const addToCartBlockSchema: z.ZodObject<{
419
545
  }, z.core.$strip>;
420
546
  export declare const productSpecsBlockSchema: z.ZodObject<{
421
547
  id: z.ZodString;
548
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
549
+ always: "always";
550
+ when_empty: "when_empty";
551
+ when_has_lines: "when_has_lines";
552
+ }>>;
422
553
  type: z.ZodLiteral<"product_specs">;
423
554
  binding: z.ZodObject<{
424
555
  kind: z.ZodLiteral<"product">;
@@ -431,6 +562,11 @@ export declare const productSpecsBlockSchema: z.ZodObject<{
431
562
  }, z.core.$strip>;
432
563
  export declare const reviewsSlotBlockSchema: z.ZodObject<{
433
564
  id: z.ZodString;
565
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
566
+ always: "always";
567
+ when_empty: "when_empty";
568
+ when_has_lines: "when_has_lines";
569
+ }>>;
434
570
  type: z.ZodLiteral<"reviews_slot">;
435
571
  binding: z.ZodObject<{
436
572
  kind: z.ZodLiteral<"product">;
@@ -441,11 +577,134 @@ export declare const reviewsSlotBlockSchema: z.ZodObject<{
441
577
  props: z.ZodObject<{}, z.core.$strip>;
442
578
  children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
443
579
  }, z.core.$strip>;
444
- export declare const BLOCK_TYPES: readonly ["text", "image", "button", "spacer", "divider", "section_header", "search_bar", "video", "hero_banner", "promo_banner", "announcement_bar", "countdown", "feature_strip", "product_card", "product_carousel", "product_grid", "product_list", "collection_circles", "collection_grid", "collection_row", "product_gallery", "product_summary", "variant_picker", "add_to_cart", "product_specs", "reviews_slot"];
580
+ /**
581
+ * The four platform cart blocks, welded to the held cart the way the buying
582
+ * blocks are welded to the product: subject form only, strict props, and
583
+ * nothing that wires behaviour. Each draws by the state of the cart it
584
+ * receives: the bound three draw nothing while the cart is empty, and the
585
+ * empty block draws only then.
586
+ */
587
+ export declare const cartLinesBlockSchema: z.ZodObject<{
588
+ id: z.ZodString;
589
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
590
+ always: "always";
591
+ when_empty: "when_empty";
592
+ when_has_lines: "when_has_lines";
593
+ }>>;
594
+ type: z.ZodLiteral<"cart_lines">;
595
+ binding: z.ZodObject<{
596
+ kind: z.ZodLiteral<"cart">;
597
+ target: z.ZodObject<{
598
+ form: z.ZodLiteral<"subject">;
599
+ }, z.core.$strip>;
600
+ }, z.core.$strip>;
601
+ props: z.ZodObject<{
602
+ imageSize: z.ZodOptional<z.ZodEnum<{
603
+ sm: "sm";
604
+ md: "md";
605
+ lg: "lg";
606
+ }>>;
607
+ variantTitle: z.ZodOptional<z.ZodBoolean>;
608
+ selectedOptions: z.ZodOptional<z.ZodBoolean>;
609
+ remove: z.ZodOptional<z.ZodBoolean>;
610
+ stepper: z.ZodOptional<z.ZodEnum<{
611
+ compact: "compact";
612
+ inline: "inline";
613
+ }>>;
614
+ }, z.core.$strict>;
615
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
616
+ }, z.core.$strip>;
617
+ export declare const cartSummaryBlockSchema: z.ZodObject<{
618
+ id: z.ZodString;
619
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
620
+ always: "always";
621
+ when_empty: "when_empty";
622
+ when_has_lines: "when_has_lines";
623
+ }>>;
624
+ type: z.ZodLiteral<"cart_summary">;
625
+ binding: z.ZodObject<{
626
+ kind: z.ZodLiteral<"cart">;
627
+ target: z.ZodObject<{
628
+ form: z.ZodLiteral<"subject">;
629
+ }, z.core.$strip>;
630
+ }, z.core.$strip>;
631
+ props: z.ZodObject<{
632
+ discountLine: z.ZodOptional<z.ZodBoolean>;
633
+ total: z.ZodOptional<z.ZodBoolean>;
634
+ subtotalLabel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
635
+ discountLabel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
636
+ totalLabel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
637
+ }, z.core.$strict>;
638
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
639
+ }, z.core.$strip>;
640
+ export declare const checkoutButtonBlockSchema: z.ZodObject<{
641
+ id: z.ZodString;
642
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
643
+ always: "always";
644
+ when_empty: "when_empty";
645
+ when_has_lines: "when_has_lines";
646
+ }>>;
647
+ type: z.ZodLiteral<"checkout_button">;
648
+ binding: z.ZodObject<{
649
+ kind: z.ZodLiteral<"cart">;
650
+ target: z.ZodObject<{
651
+ form: z.ZodLiteral<"subject">;
652
+ }, z.core.$strip>;
653
+ }, z.core.$strip>;
654
+ props: z.ZodObject<{
655
+ label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
656
+ style: z.ZodOptional<z.ZodEnum<{
657
+ solid: "solid";
658
+ outline: "outline";
659
+ ghost: "ghost";
660
+ }>>;
661
+ }, z.core.$strict>;
662
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
663
+ }, z.core.$strip>;
664
+ export declare const cartEmptyBlockSchema: z.ZodObject<{
665
+ id: z.ZodString;
666
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
667
+ always: "always";
668
+ when_empty: "when_empty";
669
+ when_has_lines: "when_has_lines";
670
+ }>>;
671
+ type: z.ZodLiteral<"cart_empty">;
672
+ binding: z.ZodObject<{
673
+ kind: z.ZodLiteral<"cart">;
674
+ target: z.ZodObject<{
675
+ form: z.ZodLiteral<"subject">;
676
+ }, z.core.$strip>;
677
+ }, z.core.$strip>;
678
+ props: z.ZodObject<{
679
+ text: z.ZodRecord<z.ZodString, z.ZodString>;
680
+ image: z.ZodOptional<z.ZodObject<{
681
+ assetId: z.ZodUUID;
682
+ alt: z.ZodRecord<z.ZodString, z.ZodString>;
683
+ }, z.core.$strip>>;
684
+ action: z.ZodDiscriminatedUnion<[z.ZodObject<{
685
+ type: z.ZodLiteral<"open_screen">;
686
+ screenId: z.ZodUUID;
687
+ }, z.core.$strip>, z.ZodObject<{
688
+ type: z.ZodLiteral<"open_cart">;
689
+ }, z.core.$strip>, z.ZodObject<{
690
+ type: z.ZodLiteral<"open_url">;
691
+ url: z.ZodURL;
692
+ }, z.core.$strip>, z.ZodObject<{
693
+ type: z.ZodLiteral<"none">;
694
+ }, z.core.$strip>], "type">;
695
+ }, z.core.$strict>;
696
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
697
+ }, z.core.$strip>;
698
+ export declare const BLOCK_TYPES: readonly ["text", "image", "button", "spacer", "divider", "section_header", "search_bar", "video", "hero_banner", "promo_banner", "announcement_bar", "countdown", "feature_strip", "product_card", "product_carousel", "product_grid", "product_list", "collection_circles", "collection_grid", "collection_row", "product_gallery", "product_summary", "variant_picker", "add_to_cart", "product_specs", "reviews_slot", "cart_lines", "cart_summary", "checkout_button", "cart_empty"];
445
699
  export type BlockType = (typeof BLOCK_TYPES)[number];
446
700
  export declare const KNOWN_BLOCK_SCHEMAS: {
447
701
  readonly text: z.ZodObject<{
448
702
  id: z.ZodString;
703
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
704
+ always: "always";
705
+ when_empty: "when_empty";
706
+ when_has_lines: "when_has_lines";
707
+ }>>;
449
708
  type: z.ZodLiteral<"text">;
450
709
  props: z.ZodObject<{
451
710
  text: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -456,9 +715,9 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
456
715
  xl: "xl";
457
716
  }>>;
458
717
  weight: z.ZodOptional<z.ZodEnum<{
718
+ bold: "bold";
459
719
  regular: "regular";
460
720
  medium: "medium";
461
- bold: "bold";
462
721
  }>>;
463
722
  align: z.ZodOptional<z.ZodEnum<{
464
723
  start: "start";
@@ -470,6 +729,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
470
729
  }, z.core.$strip>;
471
730
  readonly image: z.ZodObject<{
472
731
  id: z.ZodString;
732
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
733
+ always: "always";
734
+ when_empty: "when_empty";
735
+ when_has_lines: "when_has_lines";
736
+ }>>;
473
737
  type: z.ZodLiteral<"image">;
474
738
  props: z.ZodObject<{
475
739
  image: z.ZodOptional<z.ZodObject<{
@@ -492,6 +756,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
492
756
  }, z.core.$strip>;
493
757
  readonly button: z.ZodObject<{
494
758
  id: z.ZodString;
759
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
760
+ always: "always";
761
+ when_empty: "when_empty";
762
+ when_has_lines: "when_has_lines";
763
+ }>>;
495
764
  type: z.ZodLiteral<"button">;
496
765
  props: z.ZodObject<{
497
766
  label: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -511,6 +780,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
511
780
  }, z.core.$strip>;
512
781
  readonly spacer: z.ZodObject<{
513
782
  id: z.ZodString;
783
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
784
+ always: "always";
785
+ when_empty: "when_empty";
786
+ when_has_lines: "when_has_lines";
787
+ }>>;
514
788
  type: z.ZodLiteral<"spacer">;
515
789
  props: z.ZodObject<{
516
790
  size: z.ZodEnum<{
@@ -525,6 +799,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
525
799
  }, z.core.$strip>;
526
800
  readonly divider: z.ZodObject<{
527
801
  id: z.ZodString;
802
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
803
+ always: "always";
804
+ when_empty: "when_empty";
805
+ when_has_lines: "when_has_lines";
806
+ }>>;
528
807
  type: z.ZodLiteral<"divider">;
529
808
  props: z.ZodObject<{
530
809
  label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -533,6 +812,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
533
812
  }, z.core.$strip>;
534
813
  readonly section_header: z.ZodObject<{
535
814
  id: z.ZodString;
815
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
816
+ always: "always";
817
+ when_empty: "when_empty";
818
+ when_has_lines: "when_has_lines";
819
+ }>>;
536
820
  type: z.ZodLiteral<"section_header">;
537
821
  props: z.ZodObject<{
538
822
  title: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -552,6 +836,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
552
836
  }, z.core.$strip>;
553
837
  readonly search_bar: z.ZodObject<{
554
838
  id: z.ZodString;
839
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
840
+ always: "always";
841
+ when_empty: "when_empty";
842
+ when_has_lines: "when_has_lines";
843
+ }>>;
555
844
  type: z.ZodLiteral<"search_bar">;
556
845
  props: z.ZodObject<{
557
846
  placeholder: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -560,6 +849,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
560
849
  }, z.core.$strip>;
561
850
  readonly video: z.ZodObject<{
562
851
  id: z.ZodString;
852
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
853
+ always: "always";
854
+ when_empty: "when_empty";
855
+ when_has_lines: "when_has_lines";
856
+ }>>;
563
857
  type: z.ZodLiteral<"video">;
564
858
  props: z.ZodObject<{
565
859
  assetId: z.ZodOptional<z.ZodUUID>;
@@ -572,6 +866,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
572
866
  }, z.core.$strip>;
573
867
  readonly hero_banner: z.ZodObject<{
574
868
  id: z.ZodString;
869
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
870
+ always: "always";
871
+ when_empty: "when_empty";
872
+ when_has_lines: "when_has_lines";
873
+ }>>;
575
874
  type: z.ZodLiteral<"hero_banner">;
576
875
  props: z.ZodObject<{
577
876
  title: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -596,6 +895,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
596
895
  }, z.core.$strip>;
597
896
  readonly promo_banner: z.ZodObject<{
598
897
  id: z.ZodString;
898
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
899
+ always: "always";
900
+ when_empty: "when_empty";
901
+ when_has_lines: "when_has_lines";
902
+ }>>;
599
903
  type: z.ZodLiteral<"promo_banner">;
600
904
  props: z.ZodObject<{
601
905
  image: z.ZodOptional<z.ZodObject<{
@@ -619,6 +923,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
619
923
  }, z.core.$strip>;
620
924
  readonly announcement_bar: z.ZodObject<{
621
925
  id: z.ZodString;
926
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
927
+ always: "always";
928
+ when_empty: "when_empty";
929
+ when_has_lines: "when_has_lines";
930
+ }>>;
622
931
  type: z.ZodLiteral<"announcement_bar">;
623
932
  props: z.ZodObject<{
624
933
  text: z.ZodRecord<z.ZodString, z.ZodString>;
@@ -627,6 +936,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
627
936
  }, z.core.$strip>;
628
937
  readonly countdown: z.ZodObject<{
629
938
  id: z.ZodString;
939
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
940
+ always: "always";
941
+ when_empty: "when_empty";
942
+ when_has_lines: "when_has_lines";
943
+ }>>;
630
944
  type: z.ZodLiteral<"countdown">;
631
945
  props: z.ZodObject<{
632
946
  endsAt: z.ZodISODateTime;
@@ -636,6 +950,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
636
950
  }, z.core.$strip>;
637
951
  readonly feature_strip: z.ZodObject<{
638
952
  id: z.ZodString;
953
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
954
+ always: "always";
955
+ when_empty: "when_empty";
956
+ when_has_lines: "when_has_lines";
957
+ }>>;
639
958
  type: z.ZodLiteral<"feature_strip">;
640
959
  props: z.ZodObject<{
641
960
  items: z.ZodArray<z.ZodObject<{
@@ -647,6 +966,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
647
966
  }, z.core.$strip>;
648
967
  readonly product_card: z.ZodObject<{
649
968
  id: z.ZodString;
969
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
970
+ always: "always";
971
+ when_empty: "when_empty";
972
+ when_has_lines: "when_has_lines";
973
+ }>>;
650
974
  type: z.ZodLiteral<"product_card">;
651
975
  binding: z.ZodObject<{
652
976
  kind: z.ZodLiteral<"product">;
@@ -665,6 +989,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
665
989
  }, z.core.$strip>;
666
990
  readonly product_carousel: z.ZodObject<{
667
991
  id: z.ZodString;
992
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
993
+ always: "always";
994
+ when_empty: "when_empty";
995
+ when_has_lines: "when_has_lines";
996
+ }>>;
668
997
  type: z.ZodLiteral<"product_carousel">;
669
998
  binding: z.ZodObject<{
670
999
  kind: z.ZodLiteral<"products">;
@@ -698,6 +1027,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
698
1027
  }, z.core.$strip>;
699
1028
  readonly product_grid: z.ZodObject<{
700
1029
  id: z.ZodString;
1030
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1031
+ always: "always";
1032
+ when_empty: "when_empty";
1033
+ when_has_lines: "when_has_lines";
1034
+ }>>;
701
1035
  type: z.ZodLiteral<"product_grid">;
702
1036
  binding: z.ZodObject<{
703
1037
  kind: z.ZodLiteral<"products">;
@@ -732,6 +1066,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
732
1066
  }, z.core.$strip>;
733
1067
  readonly product_list: z.ZodObject<{
734
1068
  id: z.ZodString;
1069
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1070
+ always: "always";
1071
+ when_empty: "when_empty";
1072
+ when_has_lines: "when_has_lines";
1073
+ }>>;
735
1074
  type: z.ZodLiteral<"product_list">;
736
1075
  binding: z.ZodObject<{
737
1076
  kind: z.ZodLiteral<"products">;
@@ -765,6 +1104,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
765
1104
  }, z.core.$strip>;
766
1105
  readonly collection_circles: z.ZodObject<{
767
1106
  id: z.ZodString;
1107
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1108
+ always: "always";
1109
+ when_empty: "when_empty";
1110
+ when_has_lines: "when_has_lines";
1111
+ }>>;
768
1112
  type: z.ZodLiteral<"collection_circles">;
769
1113
  binding: z.ZodObject<{
770
1114
  kind: z.ZodLiteral<"collections">;
@@ -777,6 +1121,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
777
1121
  }, z.core.$strip>;
778
1122
  readonly collection_grid: z.ZodObject<{
779
1123
  id: z.ZodString;
1124
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1125
+ always: "always";
1126
+ when_empty: "when_empty";
1127
+ when_has_lines: "when_has_lines";
1128
+ }>>;
780
1129
  type: z.ZodLiteral<"collection_grid">;
781
1130
  binding: z.ZodObject<{
782
1131
  kind: z.ZodLiteral<"collections">;
@@ -790,6 +1139,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
790
1139
  }, z.core.$strip>;
791
1140
  readonly collection_row: z.ZodObject<{
792
1141
  id: z.ZodString;
1142
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1143
+ always: "always";
1144
+ when_empty: "when_empty";
1145
+ when_has_lines: "when_has_lines";
1146
+ }>>;
793
1147
  type: z.ZodLiteral<"collection_row">;
794
1148
  binding: z.ZodObject<{
795
1149
  kind: z.ZodLiteral<"collections">;
@@ -802,6 +1156,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
802
1156
  }, z.core.$strip>;
803
1157
  readonly product_gallery: z.ZodObject<{
804
1158
  id: z.ZodString;
1159
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1160
+ always: "always";
1161
+ when_empty: "when_empty";
1162
+ when_has_lines: "when_has_lines";
1163
+ }>>;
805
1164
  type: z.ZodLiteral<"product_gallery">;
806
1165
  binding: z.ZodObject<{
807
1166
  kind: z.ZodLiteral<"product">;
@@ -814,6 +1173,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
814
1173
  }, z.core.$strip>;
815
1174
  readonly product_summary: z.ZodObject<{
816
1175
  id: z.ZodString;
1176
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1177
+ always: "always";
1178
+ when_empty: "when_empty";
1179
+ when_has_lines: "when_has_lines";
1180
+ }>>;
817
1181
  type: z.ZodLiteral<"product_summary">;
818
1182
  binding: z.ZodObject<{
819
1183
  kind: z.ZodLiteral<"product">;
@@ -826,6 +1190,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
826
1190
  }, z.core.$strip>;
827
1191
  readonly variant_picker: z.ZodObject<{
828
1192
  id: z.ZodString;
1193
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1194
+ always: "always";
1195
+ when_empty: "when_empty";
1196
+ when_has_lines: "when_has_lines";
1197
+ }>>;
829
1198
  type: z.ZodLiteral<"variant_picker">;
830
1199
  binding: z.ZodObject<{
831
1200
  kind: z.ZodLiteral<"product">;
@@ -843,6 +1212,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
843
1212
  }, z.core.$strip>;
844
1213
  readonly add_to_cart: z.ZodObject<{
845
1214
  id: z.ZodString;
1215
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1216
+ always: "always";
1217
+ when_empty: "when_empty";
1218
+ when_has_lines: "when_has_lines";
1219
+ }>>;
846
1220
  type: z.ZodLiteral<"add_to_cart">;
847
1221
  binding: z.ZodObject<{
848
1222
  kind: z.ZodLiteral<"product">;
@@ -857,6 +1231,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
857
1231
  }, z.core.$strip>;
858
1232
  readonly product_specs: z.ZodObject<{
859
1233
  id: z.ZodString;
1234
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1235
+ always: "always";
1236
+ when_empty: "when_empty";
1237
+ when_has_lines: "when_has_lines";
1238
+ }>>;
860
1239
  type: z.ZodLiteral<"product_specs">;
861
1240
  binding: z.ZodObject<{
862
1241
  kind: z.ZodLiteral<"product">;
@@ -869,6 +1248,11 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
869
1248
  }, z.core.$strip>;
870
1249
  readonly reviews_slot: z.ZodObject<{
871
1250
  id: z.ZodString;
1251
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1252
+ always: "always";
1253
+ when_empty: "when_empty";
1254
+ when_has_lines: "when_has_lines";
1255
+ }>>;
872
1256
  type: z.ZodLiteral<"reviews_slot">;
873
1257
  binding: z.ZodObject<{
874
1258
  kind: z.ZodLiteral<"product">;
@@ -879,6 +1263,117 @@ export declare const KNOWN_BLOCK_SCHEMAS: {
879
1263
  props: z.ZodObject<{}, z.core.$strip>;
880
1264
  children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
881
1265
  }, z.core.$strip>;
1266
+ readonly cart_lines: z.ZodObject<{
1267
+ id: z.ZodString;
1268
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1269
+ always: "always";
1270
+ when_empty: "when_empty";
1271
+ when_has_lines: "when_has_lines";
1272
+ }>>;
1273
+ type: z.ZodLiteral<"cart_lines">;
1274
+ binding: z.ZodObject<{
1275
+ kind: z.ZodLiteral<"cart">;
1276
+ target: z.ZodObject<{
1277
+ form: z.ZodLiteral<"subject">;
1278
+ }, z.core.$strip>;
1279
+ }, z.core.$strip>;
1280
+ props: z.ZodObject<{
1281
+ imageSize: z.ZodOptional<z.ZodEnum<{
1282
+ sm: "sm";
1283
+ md: "md";
1284
+ lg: "lg";
1285
+ }>>;
1286
+ variantTitle: z.ZodOptional<z.ZodBoolean>;
1287
+ selectedOptions: z.ZodOptional<z.ZodBoolean>;
1288
+ remove: z.ZodOptional<z.ZodBoolean>;
1289
+ stepper: z.ZodOptional<z.ZodEnum<{
1290
+ compact: "compact";
1291
+ inline: "inline";
1292
+ }>>;
1293
+ }, z.core.$strict>;
1294
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1295
+ }, z.core.$strip>;
1296
+ readonly cart_summary: z.ZodObject<{
1297
+ id: z.ZodString;
1298
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1299
+ always: "always";
1300
+ when_empty: "when_empty";
1301
+ when_has_lines: "when_has_lines";
1302
+ }>>;
1303
+ type: z.ZodLiteral<"cart_summary">;
1304
+ binding: z.ZodObject<{
1305
+ kind: z.ZodLiteral<"cart">;
1306
+ target: z.ZodObject<{
1307
+ form: z.ZodLiteral<"subject">;
1308
+ }, z.core.$strip>;
1309
+ }, z.core.$strip>;
1310
+ props: z.ZodObject<{
1311
+ discountLine: z.ZodOptional<z.ZodBoolean>;
1312
+ total: z.ZodOptional<z.ZodBoolean>;
1313
+ subtotalLabel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1314
+ discountLabel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1315
+ totalLabel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1316
+ }, z.core.$strict>;
1317
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1318
+ }, z.core.$strip>;
1319
+ readonly checkout_button: z.ZodObject<{
1320
+ id: z.ZodString;
1321
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1322
+ always: "always";
1323
+ when_empty: "when_empty";
1324
+ when_has_lines: "when_has_lines";
1325
+ }>>;
1326
+ type: z.ZodLiteral<"checkout_button">;
1327
+ binding: z.ZodObject<{
1328
+ kind: z.ZodLiteral<"cart">;
1329
+ target: z.ZodObject<{
1330
+ form: z.ZodLiteral<"subject">;
1331
+ }, z.core.$strip>;
1332
+ }, z.core.$strip>;
1333
+ props: z.ZodObject<{
1334
+ label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1335
+ style: z.ZodOptional<z.ZodEnum<{
1336
+ solid: "solid";
1337
+ outline: "outline";
1338
+ ghost: "ghost";
1339
+ }>>;
1340
+ }, z.core.$strict>;
1341
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1342
+ }, z.core.$strip>;
1343
+ readonly cart_empty: z.ZodObject<{
1344
+ id: z.ZodString;
1345
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1346
+ always: "always";
1347
+ when_empty: "when_empty";
1348
+ when_has_lines: "when_has_lines";
1349
+ }>>;
1350
+ type: z.ZodLiteral<"cart_empty">;
1351
+ binding: z.ZodObject<{
1352
+ kind: z.ZodLiteral<"cart">;
1353
+ target: z.ZodObject<{
1354
+ form: z.ZodLiteral<"subject">;
1355
+ }, z.core.$strip>;
1356
+ }, z.core.$strip>;
1357
+ props: z.ZodObject<{
1358
+ text: z.ZodRecord<z.ZodString, z.ZodString>;
1359
+ image: z.ZodOptional<z.ZodObject<{
1360
+ assetId: z.ZodUUID;
1361
+ alt: z.ZodRecord<z.ZodString, z.ZodString>;
1362
+ }, z.core.$strip>>;
1363
+ action: z.ZodDiscriminatedUnion<[z.ZodObject<{
1364
+ type: z.ZodLiteral<"open_screen">;
1365
+ screenId: z.ZodUUID;
1366
+ }, z.core.$strip>, z.ZodObject<{
1367
+ type: z.ZodLiteral<"open_cart">;
1368
+ }, z.core.$strip>, z.ZodObject<{
1369
+ type: z.ZodLiteral<"open_url">;
1370
+ url: z.ZodURL;
1371
+ }, z.core.$strip>, z.ZodObject<{
1372
+ type: z.ZodLiteral<"none">;
1373
+ }, z.core.$strip>], "type">;
1374
+ }, z.core.$strict>;
1375
+ children: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1376
+ }, z.core.$strip>;
882
1377
  };
883
1378
  export type TextBlock = z.infer<typeof textBlockSchema>;
884
1379
  export type ImageBlock = z.infer<typeof imageBlockSchema>;
@@ -906,7 +1401,11 @@ export type VariantPickerBlock = z.infer<typeof variantPickerBlockSchema>;
906
1401
  export type AddToCartBlock = z.infer<typeof addToCartBlockSchema>;
907
1402
  export type ProductSpecsBlock = z.infer<typeof productSpecsBlockSchema>;
908
1403
  export type ReviewsSlotBlock = z.infer<typeof reviewsSlotBlockSchema>;
909
- export type KnownBlock = TextBlock | ImageBlock | ButtonBlock | SpacerBlock | DividerBlock | SectionHeaderBlock | SearchBarBlock | VideoBlock | HeroBannerBlock | PromoBannerBlock | AnnouncementBarBlock | CountdownBlock | FeatureStripBlock | ProductCardBlock | ProductCarouselBlock | ProductGridBlock | ProductListBlock | CollectionCirclesBlock | CollectionGridBlock | CollectionRowBlock | ProductGalleryBlock | ProductSummaryBlock | VariantPickerBlock | AddToCartBlock | ProductSpecsBlock | ReviewsSlotBlock;
1404
+ export type CartLinesBlock = z.infer<typeof cartLinesBlockSchema>;
1405
+ export type CartSummaryBlock = z.infer<typeof cartSummaryBlockSchema>;
1406
+ export type CheckoutButtonBlock = z.infer<typeof checkoutButtonBlockSchema>;
1407
+ export type CartEmptyBlock = z.infer<typeof cartEmptyBlockSchema>;
1408
+ export type KnownBlock = TextBlock | ImageBlock | ButtonBlock | SpacerBlock | DividerBlock | SectionHeaderBlock | SearchBarBlock | VideoBlock | HeroBannerBlock | PromoBannerBlock | AnnouncementBarBlock | CountdownBlock | FeatureStripBlock | ProductCardBlock | ProductCarouselBlock | ProductGridBlock | ProductListBlock | CollectionCirclesBlock | CollectionGridBlock | CollectionRowBlock | ProductGalleryBlock | ProductSummaryBlock | VariantPickerBlock | AddToCartBlock | ProductSpecsBlock | ReviewsSlotBlock | CartLinesBlock | CartSummaryBlock | CheckoutButtonBlock | CartEmptyBlock;
910
1409
  /**
911
1410
  * A block whose type this schema version does not know: a newer platform
912
1411
  * type, or a Shop's own. It parses and keeps its content so renderers can
@@ -915,6 +1414,11 @@ export type KnownBlock = TextBlock | ImageBlock | ButtonBlock | SpacerBlock | Di
915
1414
  */
916
1415
  declare const unknownBlockSchema: z.ZodObject<{
917
1416
  id: z.ZodString;
1417
+ cartVisibility: z.ZodOptional<z.ZodEnum<{
1418
+ always: "always";
1419
+ when_empty: "when_empty";
1420
+ when_has_lines: "when_has_lines";
1421
+ }>>;
918
1422
  type: z.ZodString;
919
1423
  }, z.core.$loose>;
920
1424
  export type UnknownBlock = z.infer<typeof unknownBlockSchema>;