@wocart/storefront 2.2.0 → 3.1.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 (43) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/USAGE.md +189 -95
  3. package/dist/answer-readers.js +16 -43
  4. package/dist/astro.d.ts +6 -2
  5. package/dist/astro.js +3 -1
  6. package/dist/client/index.d.ts +1 -1
  7. package/dist/client/index.js +1 -1
  8. package/dist/client/products.d.ts +2 -3
  9. package/dist/client/products.js +2 -3
  10. package/dist/endpoints/revalidate-endpoint.d.ts +37 -0
  11. package/dist/endpoints/revalidate-endpoint.js +32 -0
  12. package/dist/endpoints/storefront-routes.js +1 -1
  13. package/dist/index.d.ts +8 -4
  14. package/dist/index.js +4 -2
  15. package/dist/locale-routing.d.ts +11 -20
  16. package/dist/locale-routing.js +28 -8
  17. package/dist/middleware.d.ts +6 -26
  18. package/dist/middleware.js +0 -9
  19. package/dist/product-view.d.ts +0 -8
  20. package/dist/product-view.js +0 -17
  21. package/dist/revalidate.d.ts +6 -0
  22. package/dist/revalidate.js +6 -0
  23. package/dist/routes.d.ts +44 -27
  24. package/dist/routes.js +54 -13
  25. package/dist/schemas.d.ts +144 -222
  26. package/dist/schemas.js +77 -137
  27. package/dist/seo.js +2 -2
  28. package/dist/server.d.ts +1 -1
  29. package/dist/server.js +1 -1
  30. package/dist/store-request.d.ts +5 -4
  31. package/dist/store-request.js +1 -1
  32. package/dist/storefront-middleware.d.ts +88 -0
  33. package/dist/storefront-middleware.js +37 -0
  34. package/dist/thank-you.d.ts +32 -0
  35. package/dist/thank-you.js +33 -0
  36. package/dist/types.d.ts +76 -111
  37. package/dist/unavailable-store.d.ts +23 -0
  38. package/dist/unavailable-store.js +58 -0
  39. package/dist/variant-picker.d.ts +6 -2
  40. package/dist/variant-picker.js +6 -9
  41. package/dist/whatsapp.d.ts +59 -6
  42. package/dist/whatsapp.js +28 -10
  43. package/package.json +1 -1
package/dist/schemas.d.ts CHANGED
@@ -22,24 +22,17 @@ export declare const ProductImageSchema: z.ZodObject<{
22
22
  altText: z.ZodNullable<z.ZodString>;
23
23
  position: z.ZodNumber;
24
24
  }, z.core.$strip>;
25
+ /** One active variant of a product, in the merchant's order; its selection in the client's language. */
25
26
  export declare const ProductVariantSchema: z.ZodObject<{
26
27
  id: z.ZodString;
27
- productId: z.ZodString;
28
28
  variations: z.ZodRecord<z.ZodString, z.ZodString>;
29
- currency: z.ZodString;
30
29
  price: z.ZodNumber;
31
30
  compareAtPrice: z.ZodNullable<z.ZodNumber>;
32
31
  sku: z.ZodNullable<z.ZodString>;
33
- barcode: z.ZodNullable<z.ZodString>;
34
32
  inventory: z.ZodNumber;
35
33
  lowStockThreshold: z.ZodNumber;
36
- weightKg: z.ZodNullable<z.ZodNumber>;
37
34
  imageId: z.ZodNullable<z.ZodString>;
38
35
  isDefault: z.ZodBoolean;
39
- active: z.ZodBoolean;
40
- position: z.ZodNumber;
41
- createdAt: z.ZodString;
42
- updatedAt: z.ZodString;
43
36
  }, z.core.$strip>;
44
37
  export declare const OfferSchema: z.ZodObject<{
45
38
  id: z.ZodString;
@@ -55,7 +48,7 @@ export declare const OfferSchema: z.ZodObject<{
55
48
  rewardProductName: z.ZodString;
56
49
  rewardVariantId: z.ZodNullable<z.ZodString>;
57
50
  rewardVariantLabel: z.ZodNullable<z.ZodString>;
58
- rewardUnitPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
51
+ rewardUnitPrice: z.ZodNullable<z.ZodNumber>;
59
52
  }, z.core.$strip>;
60
53
  /**
61
54
  * Quantity pricing — price tiers by quantity ("2 for 3,500 DA"). The highest
@@ -91,6 +84,7 @@ export declare const CategorySchema: z.ZodObject<{
91
84
  createdAt: z.ZodString;
92
85
  updatedAt: z.ZodString;
93
86
  }, z.core.$strip>;
87
+ /** A product in a listing: its first photo stands for it. */
94
88
  export declare const ProductListSchema: z.ZodObject<{
95
89
  id: z.ZodString;
96
90
  name: z.ZodString;
@@ -104,34 +98,30 @@ export declare const ProductListSchema: z.ZodObject<{
104
98
  currency: z.ZodString;
105
99
  price: z.ZodNumber;
106
100
  compareAtPrice: z.ZodNullable<z.ZodNumber>;
107
- costPrice: z.ZodNullable<z.ZodNumber>;
108
101
  type: z.ZodEnum<{
109
102
  DIGITAL: "DIGITAL";
110
103
  PHYSICAL: "PHYSICAL";
111
104
  }>;
112
105
  hasVariants: z.ZodBoolean;
106
+ variantOptions: z.ZodNullable<z.ZodArray<z.ZodObject<{
107
+ name: z.ZodString;
108
+ values: z.ZodArray<z.ZodObject<{
109
+ value: z.ZodString;
110
+ hexColor: z.ZodDefault<z.ZodNullable<z.ZodString>>;
111
+ }, z.core.$strip>>;
112
+ }, z.core.$strip>>>;
113
113
  sku: z.ZodNullable<z.ZodString>;
114
114
  inventory: z.ZodNumber;
115
115
  trackInventory: z.ZodBoolean;
116
116
  lowStockThreshold: z.ZodNumber;
117
117
  categoryId: z.ZodNullable<z.ZodString>;
118
- visibility: z.ZodBoolean;
119
- status: z.ZodEnum<{
120
- ACTIVE: "ACTIVE";
121
- ARCHIVED: "ARCHIVED";
122
- DRAFT: "DRAFT";
123
- }>;
124
- showInStore: z.ZodBoolean;
125
- storeFeatured: z.ZodBoolean;
126
- deletedAt: z.ZodOptional<z.ZodNull>;
127
- publishedAt: z.ZodNullable<z.ZodString>;
128
- createdAt: z.ZodString;
129
- updatedAt: z.ZodString;
130
- shippingProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
131
- metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
132
- metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
133
- variantOptions: z.ZodNullable<z.ZodString>;
134
- tags: z.ZodNullable<z.ZodString>;
118
+ tags: z.ZodArray<z.ZodString>;
119
+ metaTitle: z.ZodNullable<z.ZodString>;
120
+ metaDescription: z.ZodNullable<z.ZodString>;
121
+ reviewStats: z.ZodNullable<z.ZodObject<{
122
+ avgRating: z.ZodNumber;
123
+ reviewCount: z.ZodNumber;
124
+ }, z.core.$strip>>;
135
125
  coverImage: z.ZodNullable<z.ZodObject<{
136
126
  key: z.ZodString;
137
127
  url: z.ZodString;
@@ -141,11 +131,8 @@ export declare const ProductListSchema: z.ZodObject<{
141
131
  altText: z.ZodNullable<z.ZodString>;
142
132
  position: z.ZodNumber;
143
133
  }, z.core.$strip>>;
144
- reviewStats: z.ZodNullable<z.ZodObject<{
145
- avgRating: z.ZodNumber;
146
- reviewCount: z.ZodNumber;
147
- }, z.core.$strip>>;
148
134
  }, z.core.$strip>;
135
+ /** A product's page: every photo, variant and offer, and its category. */
149
136
  export declare const ProductSchema: z.ZodObject<{
150
137
  id: z.ZodString;
151
138
  name: z.ZodString;
@@ -159,32 +146,11 @@ export declare const ProductSchema: z.ZodObject<{
159
146
  currency: z.ZodString;
160
147
  price: z.ZodNumber;
161
148
  compareAtPrice: z.ZodNullable<z.ZodNumber>;
162
- costPrice: z.ZodNullable<z.ZodNumber>;
163
149
  type: z.ZodEnum<{
164
150
  DIGITAL: "DIGITAL";
165
151
  PHYSICAL: "PHYSICAL";
166
152
  }>;
167
153
  hasVariants: z.ZodBoolean;
168
- sku: z.ZodNullable<z.ZodString>;
169
- inventory: z.ZodNumber;
170
- trackInventory: z.ZodBoolean;
171
- lowStockThreshold: z.ZodNumber;
172
- categoryId: z.ZodNullable<z.ZodString>;
173
- visibility: z.ZodBoolean;
174
- status: z.ZodEnum<{
175
- ACTIVE: "ACTIVE";
176
- ARCHIVED: "ARCHIVED";
177
- DRAFT: "DRAFT";
178
- }>;
179
- showInStore: z.ZodBoolean;
180
- storeFeatured: z.ZodBoolean;
181
- deletedAt: z.ZodOptional<z.ZodNull>;
182
- publishedAt: z.ZodNullable<z.ZodString>;
183
- createdAt: z.ZodString;
184
- updatedAt: z.ZodString;
185
- shippingProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
186
- metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
187
- metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
188
154
  variantOptions: z.ZodNullable<z.ZodArray<z.ZodObject<{
189
155
  name: z.ZodString;
190
156
  values: z.ZodArray<z.ZodObject<{
@@ -192,7 +158,18 @@ export declare const ProductSchema: z.ZodObject<{
192
158
  hexColor: z.ZodDefault<z.ZodNullable<z.ZodString>>;
193
159
  }, z.core.$strip>>;
194
160
  }, z.core.$strip>>>;
161
+ sku: z.ZodNullable<z.ZodString>;
162
+ inventory: z.ZodNumber;
163
+ trackInventory: z.ZodBoolean;
164
+ lowStockThreshold: z.ZodNumber;
165
+ categoryId: z.ZodNullable<z.ZodString>;
195
166
  tags: z.ZodArray<z.ZodString>;
167
+ metaTitle: z.ZodNullable<z.ZodString>;
168
+ metaDescription: z.ZodNullable<z.ZodString>;
169
+ reviewStats: z.ZodNullable<z.ZodObject<{
170
+ avgRating: z.ZodNumber;
171
+ reviewCount: z.ZodNumber;
172
+ }, z.core.$strip>>;
196
173
  category: z.ZodNullable<z.ZodObject<{
197
174
  id: z.ZodString;
198
175
  name: z.ZodString;
@@ -214,22 +191,14 @@ export declare const ProductSchema: z.ZodObject<{
214
191
  }, z.core.$strip>>;
215
192
  variants: z.ZodArray<z.ZodObject<{
216
193
  id: z.ZodString;
217
- productId: z.ZodString;
218
194
  variations: z.ZodRecord<z.ZodString, z.ZodString>;
219
- currency: z.ZodString;
220
195
  price: z.ZodNumber;
221
196
  compareAtPrice: z.ZodNullable<z.ZodNumber>;
222
197
  sku: z.ZodNullable<z.ZodString>;
223
- barcode: z.ZodNullable<z.ZodString>;
224
198
  inventory: z.ZodNumber;
225
199
  lowStockThreshold: z.ZodNumber;
226
- weightKg: z.ZodNullable<z.ZodNumber>;
227
200
  imageId: z.ZodNullable<z.ZodString>;
228
201
  isDefault: z.ZodBoolean;
229
- active: z.ZodBoolean;
230
- position: z.ZodNumber;
231
- createdAt: z.ZodString;
232
- updatedAt: z.ZodString;
233
202
  }, z.core.$strip>>;
234
203
  images: z.ZodArray<z.ZodObject<{
235
204
  key: z.ZodString;
@@ -240,11 +209,7 @@ export declare const ProductSchema: z.ZodObject<{
240
209
  altText: z.ZodNullable<z.ZodString>;
241
210
  position: z.ZodNumber;
242
211
  }, z.core.$strip>>;
243
- reviewStats: z.ZodNullable<z.ZodObject<{
244
- avgRating: z.ZodNumber;
245
- reviewCount: z.ZodNumber;
246
- }, z.core.$strip>>;
247
- quantityPricing: z.ZodOptional<z.ZodNullable<z.ZodObject<{
212
+ quantityPricing: z.ZodNullable<z.ZodObject<{
248
213
  offerId: z.ZodString;
249
214
  name: z.ZodString;
250
215
  triggerVariantId: z.ZodNullable<z.ZodString>;
@@ -253,7 +218,7 @@ export declare const ProductSchema: z.ZodObject<{
253
218
  price: z.ZodNumber;
254
219
  freeShipping: z.ZodBoolean;
255
220
  }, z.core.$strip>>;
256
- }, z.core.$strip>>>;
221
+ }, z.core.$strip>>;
257
222
  offers: z.ZodArray<z.ZodObject<{
258
223
  id: z.ZodString;
259
224
  name: z.ZodString;
@@ -268,7 +233,7 @@ export declare const ProductSchema: z.ZodObject<{
268
233
  rewardProductName: z.ZodString;
269
234
  rewardVariantId: z.ZodNullable<z.ZodString>;
270
235
  rewardVariantLabel: z.ZodNullable<z.ZodString>;
271
- rewardUnitPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
236
+ rewardUnitPrice: z.ZodNullable<z.ZodNumber>;
272
237
  }, z.core.$strip>>;
273
238
  }, z.core.$strip>;
274
239
  export declare const StorePagePublicSchema: z.ZodObject<{
@@ -304,8 +269,8 @@ export declare const StoreCollectionSchema: z.ZodObject<{
304
269
  handle: z.ZodString;
305
270
  title: z.ZodString;
306
271
  description: z.ZodNullable<z.ZodString>;
307
- productCount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
308
- image: z.ZodOptional<z.ZodNullable<z.ZodObject<{
272
+ productCount: z.ZodNumber;
273
+ image: z.ZodNullable<z.ZodObject<{
309
274
  key: z.ZodString;
310
275
  url: z.ZodString;
311
276
  width: z.ZodNullable<z.ZodNumber>;
@@ -313,7 +278,7 @@ export declare const StoreCollectionSchema: z.ZodObject<{
313
278
  id: z.ZodString;
314
279
  altText: z.ZodNullable<z.ZodString>;
315
280
  position: z.ZodNumber;
316
- }, z.core.$strip>>>;
281
+ }, z.core.$strip>>;
317
282
  }, z.core.$strip>;
318
283
  export declare const StoreMenuSchema: z.ZodObject<{
319
284
  handle: z.ZodString;
@@ -348,11 +313,10 @@ export declare const StorePageLinkSchema: z.ZodObject<{
348
313
  title: z.ZodString;
349
314
  position: z.ZodNumber;
350
315
  }, z.core.$strip>;
351
- export declare const StoreLegalContactSchema: z.ZodObject<{
352
- contactEmail: z.ZodNullable<z.ZodString>;
353
- contactPhone: z.ZodNullable<z.ZodString>;
354
- deliveryMinDays: z.ZodNumber;
355
- deliveryMaxDays: z.ZodNumber;
316
+ export declare const StoreContactSchema: z.ZodObject<{
317
+ phone: z.ZodNullable<z.ZodString>;
318
+ email: z.ZodNullable<z.ZodString>;
319
+ address: z.ZodNullable<z.ZodString>;
356
320
  }, z.core.$strip>;
357
321
  export declare const StoreWhatsAppWidgetSchema: z.ZodObject<{
358
322
  href: z.ZodString;
@@ -364,8 +328,8 @@ export declare const StoreWhatsAppWidgetSchema: z.ZodObject<{
364
328
  ctaLabel: z.ZodNullable<z.ZodString>;
365
329
  prefillGeneral: z.ZodNullable<z.ZodString>;
366
330
  prefillProduct: z.ZodNullable<z.ZodString>;
367
- thankYouButtonLabel: z.ZodDefault<z.ZodNullable<z.ZodString>>;
368
- prefillThankYou: z.ZodDefault<z.ZodNullable<z.ZodString>>;
331
+ thankYouButtonLabel: z.ZodNullable<z.ZodString>;
332
+ prefillThankYou: z.ZodNullable<z.ZodString>;
369
333
  accent: z.ZodEnum<{
370
334
  primary: "primary";
371
335
  whatsapp: "whatsapp";
@@ -447,12 +411,6 @@ export declare const StoreConfigSchema: z.ZodObject<{
447
411
  width: z.ZodNullable<z.ZodNumber>;
448
412
  height: z.ZodNullable<z.ZodNumber>;
449
413
  }, z.core.$strip>>;
450
- themeId: z.ZodString;
451
- primaryColor: z.ZodString;
452
- accentColor: z.ZodString;
453
- bgColor: z.ZodString;
454
- fontFamily: z.ZodString;
455
- fontUrl: z.ZodNullable<z.ZodString>;
456
414
  lang: z.ZodString;
457
415
  locale: z.ZodString;
458
416
  locales: z.ZodArray<z.ZodObject<{
@@ -463,8 +421,6 @@ export declare const StoreConfigSchema: z.ZodObject<{
463
421
  rtl: "rtl";
464
422
  }>;
465
423
  }, z.core.$strip>>;
466
- contentOverrides: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
467
- themeSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
468
424
  currency: z.ZodString;
469
425
  currencySymbol: z.ZodString;
470
426
  metaTitle: z.ZodNullable<z.ZodString>;
@@ -483,24 +439,12 @@ export declare const StoreConfigSchema: z.ZodObject<{
483
439
  }>;
484
440
  origin: z.ZodString;
485
441
  }, z.core.$strip>;
486
- announcementBar: z.ZodNullable<z.ZodString>;
487
442
  reviewsEnabled: z.ZodBoolean;
488
443
  cartEnabled: z.ZodBoolean;
489
444
  freeShippingThreshold: z.ZodNullable<z.ZodNumber>;
490
- cartShippingMode: z.ZodDefault<z.ZodEnum<{
491
- default_profile: "default_profile";
492
- highest: "highest";
493
- }>>;
494
- otpEnabled: z.ZodBoolean;
495
- turnstileEnabled: z.ZodBoolean;
496
- turnstileSiteKey: z.ZodNullable<z.ZodString>;
497
- status: z.ZodEnum<{
498
- active: "active";
499
- inactive: "inactive";
500
- }>;
501
- createdAt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
502
- updatedAt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
503
- checkoutForm: z.ZodDefault<z.ZodObject<{
445
+ contentOverrides: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
446
+ themeSettings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
447
+ checkoutForm: z.ZodObject<{
504
448
  address: z.ZodEnum<{
505
449
  hidden: "hidden";
506
450
  optional: "optional";
@@ -531,34 +475,8 @@ export declare const StoreConfigSchema: z.ZodObject<{
531
475
  required: z.ZodBoolean;
532
476
  options: z.ZodOptional<z.ZodArray<z.ZodString>>;
533
477
  }, z.core.$strip>>;
534
- }, z.core.$strip>>;
535
- pixelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
536
- conversionEvent: z.ZodDefault<z.ZodEnum<{
537
- Lead: "Lead";
538
- Purchase: "Purchase";
539
- Purchase_Confirmed: "Purchase_Confirmed";
540
- Purchase_Delivered: "Purchase_Delivered";
541
- }>>;
542
- pages: z.ZodDefault<z.ZodArray<z.ZodObject<{
543
- id: z.ZodString;
544
- kind: z.ZodEnum<{
545
- custom: "custom";
546
- privacy: "privacy";
547
- refund: "refund";
548
- shipping: "shipping";
549
- terms: "terms";
550
- }>;
551
- slug: z.ZodString;
552
- title: z.ZodString;
553
- position: z.ZodNumber;
554
- }, z.core.$strip>>>;
555
- legalContact: z.ZodDefault<z.ZodNullable<z.ZodObject<{
556
- contactEmail: z.ZodNullable<z.ZodString>;
557
- contactPhone: z.ZodNullable<z.ZodString>;
558
- deliveryMinDays: z.ZodNumber;
559
- deliveryMaxDays: z.ZodNumber;
560
- }, z.core.$strip>>>;
561
- whatsapp: z.ZodDefault<z.ZodNullable<z.ZodObject<{
478
+ }, z.core.$strip>;
479
+ whatsapp: z.ZodNullable<z.ZodObject<{
562
480
  href: z.ZodString;
563
481
  agentName: z.ZodNullable<z.ZodString>;
564
482
  caption: z.ZodNullable<z.ZodString>;
@@ -568,8 +486,8 @@ export declare const StoreConfigSchema: z.ZodObject<{
568
486
  ctaLabel: z.ZodNullable<z.ZodString>;
569
487
  prefillGeneral: z.ZodNullable<z.ZodString>;
570
488
  prefillProduct: z.ZodNullable<z.ZodString>;
571
- thankYouButtonLabel: z.ZodDefault<z.ZodNullable<z.ZodString>>;
572
- prefillThankYou: z.ZodDefault<z.ZodNullable<z.ZodString>>;
489
+ thankYouButtonLabel: z.ZodNullable<z.ZodString>;
490
+ prefillThankYou: z.ZodNullable<z.ZodString>;
573
491
  accent: z.ZodEnum<{
574
492
  primary: "primary";
575
493
  whatsapp: "whatsapp";
@@ -588,7 +506,35 @@ export declare const StoreConfigSchema: z.ZodObject<{
588
506
  checkout: z.ZodBoolean;
589
507
  landing: z.ZodBoolean;
590
508
  }, z.core.$strip>;
591
- }, z.core.$strip>>>;
509
+ }, z.core.$strip>>;
510
+ pixelId: z.ZodNullable<z.ZodString>;
511
+ conversionEvent: z.ZodEnum<{
512
+ Lead: "Lead";
513
+ Purchase: "Purchase";
514
+ Purchase_Confirmed: "Purchase_Confirmed";
515
+ Purchase_Delivered: "Purchase_Delivered";
516
+ }>;
517
+ pages: z.ZodArray<z.ZodObject<{
518
+ id: z.ZodString;
519
+ kind: z.ZodEnum<{
520
+ custom: "custom";
521
+ privacy: "privacy";
522
+ refund: "refund";
523
+ shipping: "shipping";
524
+ terms: "terms";
525
+ }>;
526
+ slug: z.ZodString;
527
+ title: z.ZodString;
528
+ position: z.ZodNumber;
529
+ }, z.core.$strip>>;
530
+ contact: z.ZodObject<{
531
+ phone: z.ZodNullable<z.ZodString>;
532
+ email: z.ZodNullable<z.ZodString>;
533
+ address: z.ZodNullable<z.ZodString>;
534
+ }, z.core.$strip>;
535
+ otpEnabled: z.ZodBoolean;
536
+ turnstileEnabled: z.ZodBoolean;
537
+ turnstileSiteKey: z.ZodNullable<z.ZodString>;
592
538
  }, z.core.$strip>;
593
539
  export declare const LandingPageImageSchema: z.ZodObject<{
594
540
  key: z.ZodString;
@@ -634,32 +580,11 @@ export declare const LandingPageSchema: z.ZodObject<{
634
580
  currency: z.ZodString;
635
581
  price: z.ZodNumber;
636
582
  compareAtPrice: z.ZodNullable<z.ZodNumber>;
637
- costPrice: z.ZodNullable<z.ZodNumber>;
638
583
  type: z.ZodEnum<{
639
584
  DIGITAL: "DIGITAL";
640
585
  PHYSICAL: "PHYSICAL";
641
586
  }>;
642
587
  hasVariants: z.ZodBoolean;
643
- sku: z.ZodNullable<z.ZodString>;
644
- inventory: z.ZodNumber;
645
- trackInventory: z.ZodBoolean;
646
- lowStockThreshold: z.ZodNumber;
647
- categoryId: z.ZodNullable<z.ZodString>;
648
- visibility: z.ZodBoolean;
649
- status: z.ZodEnum<{
650
- ACTIVE: "ACTIVE";
651
- ARCHIVED: "ARCHIVED";
652
- DRAFT: "DRAFT";
653
- }>;
654
- showInStore: z.ZodBoolean;
655
- storeFeatured: z.ZodBoolean;
656
- deletedAt: z.ZodOptional<z.ZodNull>;
657
- publishedAt: z.ZodNullable<z.ZodString>;
658
- createdAt: z.ZodString;
659
- updatedAt: z.ZodString;
660
- shippingProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
661
- metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
662
- metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
663
588
  variantOptions: z.ZodNullable<z.ZodArray<z.ZodObject<{
664
589
  name: z.ZodString;
665
590
  values: z.ZodArray<z.ZodObject<{
@@ -667,7 +592,18 @@ export declare const LandingPageSchema: z.ZodObject<{
667
592
  hexColor: z.ZodDefault<z.ZodNullable<z.ZodString>>;
668
593
  }, z.core.$strip>>;
669
594
  }, z.core.$strip>>>;
595
+ sku: z.ZodNullable<z.ZodString>;
596
+ inventory: z.ZodNumber;
597
+ trackInventory: z.ZodBoolean;
598
+ lowStockThreshold: z.ZodNumber;
599
+ categoryId: z.ZodNullable<z.ZodString>;
670
600
  tags: z.ZodArray<z.ZodString>;
601
+ metaTitle: z.ZodNullable<z.ZodString>;
602
+ metaDescription: z.ZodNullable<z.ZodString>;
603
+ reviewStats: z.ZodNullable<z.ZodObject<{
604
+ avgRating: z.ZodNumber;
605
+ reviewCount: z.ZodNumber;
606
+ }, z.core.$strip>>;
671
607
  category: z.ZodNullable<z.ZodObject<{
672
608
  id: z.ZodString;
673
609
  name: z.ZodString;
@@ -689,22 +625,14 @@ export declare const LandingPageSchema: z.ZodObject<{
689
625
  }, z.core.$strip>>;
690
626
  variants: z.ZodArray<z.ZodObject<{
691
627
  id: z.ZodString;
692
- productId: z.ZodString;
693
628
  variations: z.ZodRecord<z.ZodString, z.ZodString>;
694
- currency: z.ZodString;
695
629
  price: z.ZodNumber;
696
630
  compareAtPrice: z.ZodNullable<z.ZodNumber>;
697
631
  sku: z.ZodNullable<z.ZodString>;
698
- barcode: z.ZodNullable<z.ZodString>;
699
632
  inventory: z.ZodNumber;
700
633
  lowStockThreshold: z.ZodNumber;
701
- weightKg: z.ZodNullable<z.ZodNumber>;
702
634
  imageId: z.ZodNullable<z.ZodString>;
703
635
  isDefault: z.ZodBoolean;
704
- active: z.ZodBoolean;
705
- position: z.ZodNumber;
706
- createdAt: z.ZodString;
707
- updatedAt: z.ZodString;
708
636
  }, z.core.$strip>>;
709
637
  images: z.ZodArray<z.ZodObject<{
710
638
  key: z.ZodString;
@@ -715,11 +643,7 @@ export declare const LandingPageSchema: z.ZodObject<{
715
643
  altText: z.ZodNullable<z.ZodString>;
716
644
  position: z.ZodNumber;
717
645
  }, z.core.$strip>>;
718
- reviewStats: z.ZodNullable<z.ZodObject<{
719
- avgRating: z.ZodNumber;
720
- reviewCount: z.ZodNumber;
721
- }, z.core.$strip>>;
722
- quantityPricing: z.ZodOptional<z.ZodNullable<z.ZodObject<{
646
+ quantityPricing: z.ZodNullable<z.ZodObject<{
723
647
  offerId: z.ZodString;
724
648
  name: z.ZodString;
725
649
  triggerVariantId: z.ZodNullable<z.ZodString>;
@@ -728,7 +652,7 @@ export declare const LandingPageSchema: z.ZodObject<{
728
652
  price: z.ZodNumber;
729
653
  freeShipping: z.ZodBoolean;
730
654
  }, z.core.$strip>>;
731
- }, z.core.$strip>>>;
655
+ }, z.core.$strip>>;
732
656
  offers: z.ZodArray<z.ZodObject<{
733
657
  id: z.ZodString;
734
658
  name: z.ZodString;
@@ -743,14 +667,14 @@ export declare const LandingPageSchema: z.ZodObject<{
743
667
  rewardProductName: z.ZodString;
744
668
  rewardVariantId: z.ZodNullable<z.ZodString>;
745
669
  rewardVariantLabel: z.ZodNullable<z.ZodString>;
746
- rewardUnitPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
670
+ rewardUnitPrice: z.ZodNullable<z.ZodNumber>;
747
671
  }, z.core.$strip>>;
748
672
  }, z.core.$strip>>;
749
- document: z.ZodDefault<z.ZodCatch<z.ZodNullable<z.ZodObject<{
673
+ document: z.ZodCatch<z.ZodNullable<z.ZodObject<{
750
674
  version: z.ZodNumber;
751
675
  surface: z.ZodString;
752
676
  sections: z.ZodArray<z.ZodUnknown>;
753
- }, z.core.$loose>>>>;
677
+ }, z.core.$loose>>>;
754
678
  tracking: z.ZodObject<{
755
679
  pixelId: z.ZodNullable<z.ZodString>;
756
680
  conversionEvent: z.ZodEnum<{
@@ -782,9 +706,9 @@ export declare const CartValidationLineSchema: z.ZodObject<{
782
706
  quantity: z.ZodNumber;
783
707
  unitPrice: z.ZodNumber;
784
708
  lineTotal: z.ZodNumber;
785
- offerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
- offerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
787
- discount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
709
+ offerId: z.ZodNullable<z.ZodString>;
710
+ offerName: z.ZodNullable<z.ZodString>;
711
+ discount: z.ZodNumber;
788
712
  maxQuantity: z.ZodNullable<z.ZodNumber>;
789
713
  blocker: z.ZodNullable<z.ZodEnum<{
790
714
  missing: "missing";
@@ -794,11 +718,11 @@ export declare const CartValidationLineSchema: z.ZodObject<{
794
718
  }, z.core.$strip>;
795
719
  export declare const CartRewardSchema: z.ZodObject<{
796
720
  offerId: z.ZodString;
797
- offerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
721
+ offerName: z.ZodNullable<z.ZodString>;
798
722
  productId: z.ZodNullable<z.ZodString>;
799
723
  productName: z.ZodNullable<z.ZodString>;
800
- variantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
801
- variantLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
724
+ variantId: z.ZodNullable<z.ZodString>;
725
+ variantLabel: z.ZodNullable<z.ZodString>;
802
726
  quantity: z.ZodNumber;
803
727
  }, z.core.$strip>;
804
728
  /**
@@ -828,9 +752,9 @@ export declare const CartValidationSchema: z.ZodObject<{
828
752
  quantity: z.ZodNumber;
829
753
  unitPrice: z.ZodNumber;
830
754
  lineTotal: z.ZodNumber;
831
- offerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
832
- offerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
833
- discount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
755
+ offerId: z.ZodNullable<z.ZodString>;
756
+ offerName: z.ZodNullable<z.ZodString>;
757
+ discount: z.ZodNumber;
834
758
  maxQuantity: z.ZodNullable<z.ZodNumber>;
835
759
  blocker: z.ZodNullable<z.ZodEnum<{
836
760
  missing: "missing";
@@ -841,11 +765,11 @@ export declare const CartValidationSchema: z.ZodObject<{
841
765
  subtotal: z.ZodNumber;
842
766
  rewards: z.ZodArray<z.ZodObject<{
843
767
  offerId: z.ZodString;
844
- offerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
768
+ offerName: z.ZodNullable<z.ZodString>;
845
769
  productId: z.ZodNullable<z.ZodString>;
846
770
  productName: z.ZodNullable<z.ZodString>;
847
- variantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
848
- variantLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
771
+ variantId: z.ZodNullable<z.ZodString>;
772
+ variantLabel: z.ZodNullable<z.ZodString>;
849
773
  quantity: z.ZodNumber;
850
774
  }, z.core.$strip>>;
851
775
  freeDelivery: z.ZodObject<{
@@ -853,6 +777,11 @@ export declare const CartValidationSchema: z.ZodObject<{
853
777
  threshold: z.ZodNullable<z.ZodNumber>;
854
778
  qualified: z.ZodBoolean;
855
779
  remaining: z.ZodNumber;
780
+ by: z.ZodNullable<z.ZodEnum<{
781
+ coupon: "coupon";
782
+ offer: "offer";
783
+ threshold: "threshold";
784
+ }>>;
856
785
  }, z.core.$strip>;
857
786
  delivery: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
858
787
  available: z.ZodLiteral<true>;
@@ -863,7 +792,7 @@ export declare const CartValidationSchema: z.ZodObject<{
863
792
  fee: z.ZodNull;
864
793
  total: z.ZodNull;
865
794
  }, z.core.$strip>], "available">>;
866
- coupon: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
795
+ coupon: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
867
796
  code: z.ZodString;
868
797
  applied: z.ZodLiteral<true>;
869
798
  discount: z.ZodNumber;
@@ -874,7 +803,7 @@ export declare const CartValidationSchema: z.ZodObject<{
874
803
  reason: z.ZodString;
875
804
  shortBy: z.ZodOptional<z.ZodNumber>;
876
805
  startsAt: z.ZodOptional<z.ZodString>;
877
- }, z.core.$strip>], "applied">>>;
806
+ }, z.core.$strip>], "applied">>;
878
807
  }, z.core.$strip>;
879
808
  export declare const CreatedOrderSchema: z.ZodObject<{
880
809
  orderId: z.ZodString;
@@ -882,7 +811,7 @@ export declare const CreatedOrderSchema: z.ZodObject<{
882
811
  price: z.ZodNumber;
883
812
  deliveryFee: z.ZodNumber;
884
813
  total: z.ZodNumber;
885
- couponDiscount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
814
+ couponDiscount: z.ZodNumber;
886
815
  }, z.core.$strip>;
887
816
  export declare const OrderTrackingSchema: z.ZodObject<{
888
817
  pixelId: z.ZodNullable<z.ZodString>;
@@ -914,7 +843,7 @@ export declare const ShopperOrderStatusSchema: z.ZodObject<{
914
843
  carrier: z.ZodNullable<z.ZodString>;
915
844
  }, z.core.$strip>>;
916
845
  }, z.core.$strip>;
917
- /** A page of products with the whole listing's size; `total` is absent from a server that predates it. */
846
+ /** A page of products with the whole listing's size. */
918
847
  export declare const ProductPageEnvelopeSchema: z.ZodObject<{
919
848
  data: z.ZodArray<z.ZodObject<{
920
849
  id: z.ZodString;
@@ -929,34 +858,30 @@ export declare const ProductPageEnvelopeSchema: z.ZodObject<{
929
858
  currency: z.ZodString;
930
859
  price: z.ZodNumber;
931
860
  compareAtPrice: z.ZodNullable<z.ZodNumber>;
932
- costPrice: z.ZodNullable<z.ZodNumber>;
933
861
  type: z.ZodEnum<{
934
862
  DIGITAL: "DIGITAL";
935
863
  PHYSICAL: "PHYSICAL";
936
864
  }>;
937
865
  hasVariants: z.ZodBoolean;
866
+ variantOptions: z.ZodNullable<z.ZodArray<z.ZodObject<{
867
+ name: z.ZodString;
868
+ values: z.ZodArray<z.ZodObject<{
869
+ value: z.ZodString;
870
+ hexColor: z.ZodDefault<z.ZodNullable<z.ZodString>>;
871
+ }, z.core.$strip>>;
872
+ }, z.core.$strip>>>;
938
873
  sku: z.ZodNullable<z.ZodString>;
939
874
  inventory: z.ZodNumber;
940
875
  trackInventory: z.ZodBoolean;
941
876
  lowStockThreshold: z.ZodNumber;
942
877
  categoryId: z.ZodNullable<z.ZodString>;
943
- visibility: z.ZodBoolean;
944
- status: z.ZodEnum<{
945
- ACTIVE: "ACTIVE";
946
- ARCHIVED: "ARCHIVED";
947
- DRAFT: "DRAFT";
948
- }>;
949
- showInStore: z.ZodBoolean;
950
- storeFeatured: z.ZodBoolean;
951
- deletedAt: z.ZodOptional<z.ZodNull>;
952
- publishedAt: z.ZodNullable<z.ZodString>;
953
- createdAt: z.ZodString;
954
- updatedAt: z.ZodString;
955
- shippingProfileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
956
- metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
957
- metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
958
- variantOptions: z.ZodNullable<z.ZodString>;
959
- tags: z.ZodNullable<z.ZodString>;
878
+ tags: z.ZodArray<z.ZodString>;
879
+ metaTitle: z.ZodNullable<z.ZodString>;
880
+ metaDescription: z.ZodNullable<z.ZodString>;
881
+ reviewStats: z.ZodNullable<z.ZodObject<{
882
+ avgRating: z.ZodNumber;
883
+ reviewCount: z.ZodNumber;
884
+ }, z.core.$strip>>;
960
885
  coverImage: z.ZodNullable<z.ZodObject<{
961
886
  key: z.ZodString;
962
887
  url: z.ZodString;
@@ -966,12 +891,8 @@ export declare const ProductPageEnvelopeSchema: z.ZodObject<{
966
891
  altText: z.ZodNullable<z.ZodString>;
967
892
  position: z.ZodNumber;
968
893
  }, z.core.$strip>>;
969
- reviewStats: z.ZodNullable<z.ZodObject<{
970
- avgRating: z.ZodNumber;
971
- reviewCount: z.ZodNumber;
972
- }, z.core.$strip>>;
973
894
  }, z.core.$strip>>;
974
- total: z.ZodOptional<z.ZodNumber>;
895
+ total: z.ZodNumber;
975
896
  }, z.core.$strip>;
976
897
  /**
977
898
  * The `{ id }` success payload of the write endpoints that only mint a row:
@@ -1006,15 +927,16 @@ export declare const ReviewMediaSchema: z.ZodObject<{
1006
927
  height: z.ZodNullable<z.ZodNumber>;
1007
928
  durationMs: z.ZodNullable<z.ZodNumber>;
1008
929
  }, z.core.$strip>;
1009
- export declare const ReviewSchema: z.ZodPreprocess<z.ZodObject<{
930
+ /** An approved review, newest first: who wrote it, and whether a delivered order proves the purchase. */
931
+ export declare const ReviewSchema: z.ZodObject<{
1010
932
  id: z.ZodString;
1011
933
  customerName: z.ZodString;
1012
934
  rating: z.ZodNumber;
1013
- title: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
935
+ title: z.ZodNullable<z.ZodString>;
1014
936
  body: z.ZodString;
1015
937
  createdAt: z.ZodString;
1016
- verified: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1017
- media: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
938
+ verified: z.ZodBoolean;
939
+ media: z.ZodArray<z.ZodObject<{
1018
940
  id: z.ZodString;
1019
941
  kind: z.ZodEnum<{
1020
942
  audio: "audio";
@@ -1025,8 +947,8 @@ export declare const ReviewSchema: z.ZodPreprocess<z.ZodObject<{
1025
947
  width: z.ZodNullable<z.ZodNumber>;
1026
948
  height: z.ZodNullable<z.ZodNumber>;
1027
949
  durationMs: z.ZodNullable<z.ZodNumber>;
1028
- }, z.core.$strip>>>>;
1029
- }, z.core.$strip>, unknown>;
950
+ }, z.core.$strip>>;
951
+ }, z.core.$strip>;
1030
952
  export declare const ReviewEligibilitySchema: z.ZodObject<{
1031
953
  orderNumber: z.ZodString;
1032
954
  customerName: z.ZodString;
@@ -1053,25 +975,25 @@ export declare const ReviewUploadSchema: z.ZodObject<{
1053
975
  }, z.core.$strip>;
1054
976
  export declare const ReviewSubmitResultSchema: z.ZodObject<{
1055
977
  id: z.ZodString;
1056
- visibility: z.ZodOptional<z.ZodEnum<{
978
+ visibility: z.ZodEnum<{
1057
979
  after_review: "after_review";
1058
980
  published: "published";
1059
- }>>;
981
+ }>;
1060
982
  }, z.core.$strip>;
1061
983
  /**
1062
984
  * GET /store/reviews answers `{ success, data: rows, count, total }` — the
1063
985
  * total lives OUTSIDE `data`, so a caller that reads only `data` loses it.
1064
986
  */
1065
987
  export declare const ReviewListEnvelopeSchema: z.ZodObject<{
1066
- data: z.ZodArray<z.ZodPreprocess<z.ZodObject<{
988
+ data: z.ZodArray<z.ZodObject<{
1067
989
  id: z.ZodString;
1068
990
  customerName: z.ZodString;
1069
991
  rating: z.ZodNumber;
1070
- title: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
992
+ title: z.ZodNullable<z.ZodString>;
1071
993
  body: z.ZodString;
1072
994
  createdAt: z.ZodString;
1073
- verified: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1074
- media: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
995
+ verified: z.ZodBoolean;
996
+ media: z.ZodArray<z.ZodObject<{
1075
997
  id: z.ZodString;
1076
998
  kind: z.ZodEnum<{
1077
999
  audio: "audio";
@@ -1082,8 +1004,8 @@ export declare const ReviewListEnvelopeSchema: z.ZodObject<{
1082
1004
  width: z.ZodNullable<z.ZodNumber>;
1083
1005
  height: z.ZodNullable<z.ZodNumber>;
1084
1006
  durationMs: z.ZodNullable<z.ZodNumber>;
1085
- }, z.core.$strip>>>>;
1086
- }, z.core.$strip>, unknown>>;
1007
+ }, z.core.$strip>>;
1008
+ }, z.core.$strip>>;
1087
1009
  total: z.ZodNumber;
1088
1010
  }, z.core.$strip>;
1089
1011
  export {};