@thorprovider/blocks 0.1.3 → 1.0.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.
- package/CHANGELOG.md +107 -0
- package/README.md +73 -29
- package/docs/standards/data-contracts.md +13 -2
- package/package.json +26 -10
- package/scripts/fix-esm-extensions.mjs +40 -0
- package/src/blocks/e-commerce/product-categories/category-card-grid.test.tsx +122 -0
- package/src/blocks/e-commerce/product-categories/category-card.test.tsx +68 -0
- package/src/blocks/e-commerce/product-categories/category-card.tsx +172 -0
- package/src/blocks/e-commerce/product-categories/category-grid.test.tsx +67 -0
- package/src/blocks/e-commerce/product-categories/category-shared.tsx +109 -0
- package/src/blocks/e-commerce/product-categories/product-category-grid.tsx +170 -0
- package/src/blocks/e-commerce/product-categories/product-category.test.tsx +266 -0
- package/src/blocks/e-commerce/product-categories/product-category.tsx +462 -0
- package/src/blocks/e-commerce/product-list/product-card.test.tsx +263 -0
- package/src/blocks/e-commerce/product-list/product-card.tsx +424 -0
- package/src/blocks/e-commerce/product-list/product-grid.test.tsx +162 -0
- package/src/blocks/e-commerce/product-list/product-grid.tsx +114 -0
- package/src/blocks/e-commerce/product-overview/product-overview-gallery.tsx +71 -0
- package/src/blocks/e-commerce/product-overview/{product-overview-5-lightbox-tab.tsx → product-overview-lightbox-tab.tsx} +35 -23
- package/src/blocks/e-commerce/product-overview/{product-overview-5-reviews-tab.tsx → product-overview-reviews-tab.tsx} +40 -17
- package/src/blocks/e-commerce/product-overview/{product-overview-5-tabs.tsx → product-overview-tabs.tsx} +8 -7
- package/src/blocks/e-commerce/product-overview/product-overview.test.tsx +283 -0
- package/src/blocks/e-commerce/product-overview/product-overview.tsx +1186 -0
- package/src/blocks/e-commerce/reviews/review-rating-2.tsx +5 -6
- package/src/blocks/e-commerce/shopping-carts/shopping-cart.test.tsx +399 -0
- package/src/blocks/e-commerce/shopping-carts/{shopping-cart-4.tsx → shopping-cart.tsx} +119 -85
- package/src/blocks/e-commerce/storefront-hero/storefront-hero.test.tsx +412 -0
- package/src/blocks/e-commerce/storefront-hero/storefront-hero.tsx +1283 -0
- package/src/blocks/marketing/features/feature.test.tsx +153 -0
- package/src/blocks/marketing/features/feature.tsx +195 -0
- package/src/blocks/marketing/navbars/navbar-4-account-menu.test.tsx +27 -9
- package/src/blocks/marketing/navbars/navbar-4.test.tsx +33 -2
- package/src/blocks/marketing/navbars/navbar-4.tsx +29 -11
- package/src/index.ts +77 -48
- package/src/lib/contracts-curated.test.ts +42 -24
- package/src/lib/contracts.test.ts +143 -2
- package/src/lib/contracts.ts +346 -14
- package/src/ui/button-group.tsx +1 -1
- package/src/ui/carousel.tsx +1 -1
- package/src/ui/dialog.tsx +1 -1
- package/src/ui/field.tsx +2 -2
- package/src/ui/input-group.tsx +3 -3
- package/src/ui/pagination.tsx +1 -1
- package/src/ui/sidebar.tsx +7 -7
- package/src/ui/toggle-group.tsx +1 -1
- package/tsconfig.build.json +12 -0
- package/tsup.config.ts +11 -7
- package/.turbo/turbo-build.log +0 -24
- package/.turbo/turbo-test.log +0 -47
- package/.turbo/turbo-type-check.log +0 -0
- package/dist/.tsbuildinfo +0 -1
- package/dist/contracts.d.mts +0 -1732
- package/dist/contracts.d.ts +0 -1732
- package/dist/contracts.js +0 -423
- package/dist/contracts.js.map +0 -1
- package/dist/contracts.mjs +0 -365
- package/dist/contracts.mjs.map +0 -1
- package/dist/index.d.mts +0 -3068
- package/dist/index.d.ts +0 -3068
- package/dist/index.js +0 -17834
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -17740
- package/dist/index.mjs.map +0 -1
- package/src/blocks/e-commerce/product-categories/avatar-group.tsx +0 -86
- package/src/blocks/e-commerce/product-categories/product-category-1.tsx +0 -126
- package/src/blocks/e-commerce/product-categories/product-category-2.test.tsx +0 -51
- package/src/blocks/e-commerce/product-categories/product-category-2.tsx +0 -120
- package/src/blocks/e-commerce/product-categories/product-category-4.tsx +0 -129
- package/src/blocks/e-commerce/product-categories/product-category-5.tsx +0 -218
- package/src/blocks/e-commerce/product-list/product-card-1.test.tsx +0 -88
- package/src/blocks/e-commerce/product-list/product-card-1.tsx +0 -192
- package/src/blocks/e-commerce/product-list/product-card-2.tsx +0 -71
- package/src/blocks/e-commerce/product-list/product-card-3-reaction-toggle.tsx +0 -166
- package/src/blocks/e-commerce/product-list/product-card-3.tsx +0 -215
- package/src/blocks/e-commerce/product-list/product-card-5-checkbox-check.tsx +0 -98
- package/src/blocks/e-commerce/product-list/product-card-5-reaction-toggle.tsx +0 -171
- package/src/blocks/e-commerce/product-list/product-card-5.tsx +0 -367
- package/src/blocks/e-commerce/product-overview/product-overview-1.test.tsx +0 -182
- package/src/blocks/e-commerce/product-overview/product-overview-1.tsx +0 -370
- package/src/blocks/e-commerce/product-overview/product-overview-2.tsx +0 -272
- package/src/blocks/e-commerce/product-overview/product-overview-5-gallery.tsx +0 -59
- package/src/blocks/e-commerce/product-overview/product-overview-5.tsx +0 -274
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-1-spinning-counter.tsx +0 -142
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-1.tsx +0 -291
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-2-item-row.tsx +0 -110
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-2-recommendations.tsx +0 -51
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-2-spinning-counter.tsx +0 -146
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-2.tsx +0 -295
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-3-spinning-counter.tsx +0 -142
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-3.tsx +0 -342
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-4-spinning-counter.tsx +0 -146
- package/src/blocks/e-commerce/shopping-carts/shopping-cart-4.test.tsx +0 -229
- package/src/blocks/e-commerce/storefront-hero/storefront-hero-1.test.tsx +0 -72
- package/src/blocks/e-commerce/storefront-hero/storefront-hero-1.tsx +0 -263
- package/src/blocks/e-commerce/storefront-hero/storefront-hero-2.tsx +0 -283
- package/src/blocks/e-commerce/storefront-hero/storefront-hero-5.tsx +0 -318
- package/src/blocks/e-commerce/storefront-hero/storefront-hero-6.tsx +0 -205
- package/src/blocks/marketing/features/feature-1.tsx +0 -97
- package/src/blocks/marketing/features/feature-2.tsx +0 -82
package/dist/contracts.d.mts
DELETED
|
@@ -1,1732 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Money, ProductPreview, PaymentMethod } from '@thorprovider/types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* True only for a complete, finite decimal string (`"0"`, `"69.99"`, `"-3.5"`).
|
|
6
|
-
* Rejects `""`, `" "`, `"1."`, `".5"`, `"1e3"`, `"abc"`, and non-strings.
|
|
7
|
-
*/
|
|
8
|
-
declare function isCompleteFiniteDecimal(value: unknown): value is string;
|
|
9
|
-
/**
|
|
10
|
-
* True when a `Money` value is safe to display and price a purchase with: a
|
|
11
|
-
* complete finite decimal amount and a non-empty currency code. A valid zero
|
|
12
|
-
* (`{ amount: '0', currencyCode: 'USD' }`) is available — zero alone does not
|
|
13
|
-
* make a price unavailable.
|
|
14
|
-
*/
|
|
15
|
-
declare function isAvailableMoney(money: Money | null | undefined): money is Money;
|
|
16
|
-
/**
|
|
17
|
-
* Formats a `Money` for display, or `null` when the value is unavailable.
|
|
18
|
-
*
|
|
19
|
-
* This is the safety gate the whole curated surface relies on: an absent or
|
|
20
|
-
* malformed amount (`""`, `" "`, `"abc"`, a non-string, a missing currency)
|
|
21
|
-
* MUST NOT reach `Intl.NumberFormat`, because `Number("")` is `0` and would
|
|
22
|
-
* render a fake `$0.00` for missing data. A backend-resolved valid zero
|
|
23
|
-
* (`{ amount: "0", currencyCode: "USD" }`) is available and formats as zero.
|
|
24
|
-
*
|
|
25
|
-
* When no `formatter` is supplied the currency comes from
|
|
26
|
-
* `money.currencyCode`, so no currency is hardcoded. Callers render their own
|
|
27
|
-
* unavailable/pending/recovery state when this returns `null`.
|
|
28
|
-
*/
|
|
29
|
-
declare function formatMoney(money: Money | null | undefined, formatter?: (money: Money) => string): string | null;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Cart line quantity normalization shared by the curated cart surfaces.
|
|
33
|
-
*
|
|
34
|
-
* The Navbar mini-cart expresses a quantity DELTA while the cart page reports
|
|
35
|
-
* an ABSOLUTE quantity. The boundary normalizes the delta against the
|
|
36
|
-
* authoritative current line quantity (from the backend cart) before mutating;
|
|
37
|
-
* it must never reinterpret one as the other.
|
|
38
|
-
*/
|
|
39
|
-
declare function resolveAbsoluteQuantity(currentQuantity: number, delta: number): number;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Serialization contracts for spec-driven storefronts.
|
|
43
|
-
*
|
|
44
|
-
* These Zod schemas are the *serializable subset* of what a spec may write for
|
|
45
|
-
* a block. The component keeps its rich React interface; the catalog/registry
|
|
46
|
-
* is the adapter that maps these props to real component props and binds
|
|
47
|
-
* callbacks (see storefronts-on-blocks design D3). `z.infer` is the typed
|
|
48
|
-
* boundary between spec and catalog — a prop outside the schema is a compile
|
|
49
|
-
* error, not a runtime surprise.
|
|
50
|
-
*
|
|
51
|
-
* Data shapes are projections of the @thorprovider/types canon so that
|
|
52
|
-
* @thorprovider/adapters output validates without conflict:
|
|
53
|
-
* - Prices are plain numbers here while the canon `Money` is a decimal string
|
|
54
|
-
* ({ amount: "45.00", currencyCode }). The projection happens at the
|
|
55
|
-
* loader boundary.
|
|
56
|
-
* - Blocks use `title` while the canon `ProductPreview` uses `name`. Reconcile
|
|
57
|
-
* via the canonical aliases below or the catalog/loader adapter.
|
|
58
|
-
*/
|
|
59
|
-
type CanonMoney = Money;
|
|
60
|
-
type CanonProduct = ProductPreview;
|
|
61
|
-
/**
|
|
62
|
-
* Fallback data-URI for required image fields when the data source has no
|
|
63
|
-
* image. Image fields are non-optional `z.string()` in these contracts, so the
|
|
64
|
-
* boundary must never emit `""` (React warns about `src=""`); it must emit a
|
|
65
|
-
* real, renderable value. Hosts may override with their own branded fallback
|
|
66
|
-
* (e.g. electrostore's `CATEGORY_IMAGE_FALLBACK`), but blocks ship a neutral
|
|
67
|
-
* one so direct consumers are safe by default.
|
|
68
|
-
*/
|
|
69
|
-
declare const PRODUCT_IMAGE_FALLBACK: string;
|
|
70
|
-
/**
|
|
71
|
-
* Canonical `Money` (`@thorprovider/types`): a decimal string in major units
|
|
72
|
-
* (`"69.99"`), never cents. A missing price is represented by omitting the
|
|
73
|
-
* field (or `null` on a nullable field), not by an empty string.
|
|
74
|
-
*
|
|
75
|
-
* The amount stays a permissive `z.string()` on purpose: an unresolved backend
|
|
76
|
-
* price may arrive as the canonical sentinel `""`, and tightening the schema
|
|
77
|
-
* would reject the whole view instead of letting the presentation layer render
|
|
78
|
-
* an unavailable state. Validity is enforced at render time by
|
|
79
|
-
* `isAvailableMoney`/`formatMoney` (a `""`/malformed amount never becomes `$0`).
|
|
80
|
-
*/
|
|
81
|
-
declare const moneySchema: z.ZodType<Money>;
|
|
82
|
-
declare const productDetailVariantSchema: z.ZodObject<{
|
|
83
|
-
id: z.ZodString;
|
|
84
|
-
title: z.ZodString;
|
|
85
|
-
sku: z.ZodOptional<z.ZodString>;
|
|
86
|
-
availableForSale: z.ZodBoolean;
|
|
87
|
-
selectedOptions: z.ZodArray<z.ZodObject<{
|
|
88
|
-
name: z.ZodString;
|
|
89
|
-
value: z.ZodString;
|
|
90
|
-
}, "strip", z.ZodTypeAny, {
|
|
91
|
-
value: string;
|
|
92
|
-
name: string;
|
|
93
|
-
}, {
|
|
94
|
-
value: string;
|
|
95
|
-
name: string;
|
|
96
|
-
}>, "many">;
|
|
97
|
-
/** Omit or null when the backend has no resolved price (purchase disabled). */
|
|
98
|
-
price: z.ZodOptional<z.ZodNullable<z.ZodType<Money, z.ZodTypeDef, Money>>>;
|
|
99
|
-
compareAtPrice: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
100
|
-
image: z.ZodOptional<z.ZodObject<{
|
|
101
|
-
id: z.ZodOptional<z.ZodString>;
|
|
102
|
-
url: z.ZodString;
|
|
103
|
-
altText: z.ZodString;
|
|
104
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
105
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
106
|
-
}, "strip", z.ZodTypeAny, {
|
|
107
|
-
url: string;
|
|
108
|
-
altText: string;
|
|
109
|
-
id?: string | undefined;
|
|
110
|
-
width?: number | undefined;
|
|
111
|
-
height?: number | undefined;
|
|
112
|
-
}, {
|
|
113
|
-
url: string;
|
|
114
|
-
altText: string;
|
|
115
|
-
id?: string | undefined;
|
|
116
|
-
width?: number | undefined;
|
|
117
|
-
height?: number | undefined;
|
|
118
|
-
}>>;
|
|
119
|
-
}, "strip", z.ZodTypeAny, {
|
|
120
|
-
id: string;
|
|
121
|
-
title: string;
|
|
122
|
-
availableForSale: boolean;
|
|
123
|
-
selectedOptions: {
|
|
124
|
-
value: string;
|
|
125
|
-
name: string;
|
|
126
|
-
}[];
|
|
127
|
-
sku?: string | undefined;
|
|
128
|
-
price?: Money | null | undefined;
|
|
129
|
-
compareAtPrice?: Money | undefined;
|
|
130
|
-
image?: {
|
|
131
|
-
url: string;
|
|
132
|
-
altText: string;
|
|
133
|
-
id?: string | undefined;
|
|
134
|
-
width?: number | undefined;
|
|
135
|
-
height?: number | undefined;
|
|
136
|
-
} | undefined;
|
|
137
|
-
}, {
|
|
138
|
-
id: string;
|
|
139
|
-
title: string;
|
|
140
|
-
availableForSale: boolean;
|
|
141
|
-
selectedOptions: {
|
|
142
|
-
value: string;
|
|
143
|
-
name: string;
|
|
144
|
-
}[];
|
|
145
|
-
sku?: string | undefined;
|
|
146
|
-
price?: Money | null | undefined;
|
|
147
|
-
compareAtPrice?: Money | undefined;
|
|
148
|
-
image?: {
|
|
149
|
-
url: string;
|
|
150
|
-
altText: string;
|
|
151
|
-
id?: string | undefined;
|
|
152
|
-
width?: number | undefined;
|
|
153
|
-
height?: number | undefined;
|
|
154
|
-
} | undefined;
|
|
155
|
-
}>;
|
|
156
|
-
type ProductDetailVariantSpec = z.infer<typeof productDetailVariantSchema>;
|
|
157
|
-
declare const productDetailProductSchema: z.ZodObject<{
|
|
158
|
-
id: z.ZodString;
|
|
159
|
-
handle: z.ZodOptional<z.ZodString>;
|
|
160
|
-
title: z.ZodString;
|
|
161
|
-
description: z.ZodOptional<z.ZodString>;
|
|
162
|
-
vendor: z.ZodOptional<z.ZodString>;
|
|
163
|
-
options: z.ZodArray<z.ZodObject<{
|
|
164
|
-
id: z.ZodString;
|
|
165
|
-
name: z.ZodString;
|
|
166
|
-
values: z.ZodArray<z.ZodString, "many">;
|
|
167
|
-
}, "strip", z.ZodTypeAny, {
|
|
168
|
-
values: string[];
|
|
169
|
-
id: string;
|
|
170
|
-
name: string;
|
|
171
|
-
}, {
|
|
172
|
-
values: string[];
|
|
173
|
-
id: string;
|
|
174
|
-
name: string;
|
|
175
|
-
}>, "many">;
|
|
176
|
-
variants: z.ZodArray<z.ZodObject<{
|
|
177
|
-
id: z.ZodString;
|
|
178
|
-
title: z.ZodString;
|
|
179
|
-
sku: z.ZodOptional<z.ZodString>;
|
|
180
|
-
availableForSale: z.ZodBoolean;
|
|
181
|
-
selectedOptions: z.ZodArray<z.ZodObject<{
|
|
182
|
-
name: z.ZodString;
|
|
183
|
-
value: z.ZodString;
|
|
184
|
-
}, "strip", z.ZodTypeAny, {
|
|
185
|
-
value: string;
|
|
186
|
-
name: string;
|
|
187
|
-
}, {
|
|
188
|
-
value: string;
|
|
189
|
-
name: string;
|
|
190
|
-
}>, "many">;
|
|
191
|
-
/** Omit or null when the backend has no resolved price (purchase disabled). */
|
|
192
|
-
price: z.ZodOptional<z.ZodNullable<z.ZodType<Money, z.ZodTypeDef, Money>>>;
|
|
193
|
-
compareAtPrice: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
194
|
-
image: z.ZodOptional<z.ZodObject<{
|
|
195
|
-
id: z.ZodOptional<z.ZodString>;
|
|
196
|
-
url: z.ZodString;
|
|
197
|
-
altText: z.ZodString;
|
|
198
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
199
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
200
|
-
}, "strip", z.ZodTypeAny, {
|
|
201
|
-
url: string;
|
|
202
|
-
altText: string;
|
|
203
|
-
id?: string | undefined;
|
|
204
|
-
width?: number | undefined;
|
|
205
|
-
height?: number | undefined;
|
|
206
|
-
}, {
|
|
207
|
-
url: string;
|
|
208
|
-
altText: string;
|
|
209
|
-
id?: string | undefined;
|
|
210
|
-
width?: number | undefined;
|
|
211
|
-
height?: number | undefined;
|
|
212
|
-
}>>;
|
|
213
|
-
}, "strip", z.ZodTypeAny, {
|
|
214
|
-
id: string;
|
|
215
|
-
title: string;
|
|
216
|
-
availableForSale: boolean;
|
|
217
|
-
selectedOptions: {
|
|
218
|
-
value: string;
|
|
219
|
-
name: string;
|
|
220
|
-
}[];
|
|
221
|
-
sku?: string | undefined;
|
|
222
|
-
price?: Money | null | undefined;
|
|
223
|
-
compareAtPrice?: Money | undefined;
|
|
224
|
-
image?: {
|
|
225
|
-
url: string;
|
|
226
|
-
altText: string;
|
|
227
|
-
id?: string | undefined;
|
|
228
|
-
width?: number | undefined;
|
|
229
|
-
height?: number | undefined;
|
|
230
|
-
} | undefined;
|
|
231
|
-
}, {
|
|
232
|
-
id: string;
|
|
233
|
-
title: string;
|
|
234
|
-
availableForSale: boolean;
|
|
235
|
-
selectedOptions: {
|
|
236
|
-
value: string;
|
|
237
|
-
name: string;
|
|
238
|
-
}[];
|
|
239
|
-
sku?: string | undefined;
|
|
240
|
-
price?: Money | null | undefined;
|
|
241
|
-
compareAtPrice?: Money | undefined;
|
|
242
|
-
image?: {
|
|
243
|
-
url: string;
|
|
244
|
-
altText: string;
|
|
245
|
-
id?: string | undefined;
|
|
246
|
-
width?: number | undefined;
|
|
247
|
-
height?: number | undefined;
|
|
248
|
-
} | undefined;
|
|
249
|
-
}>, "many">;
|
|
250
|
-
images: z.ZodArray<z.ZodObject<{
|
|
251
|
-
id: z.ZodOptional<z.ZodString>;
|
|
252
|
-
url: z.ZodString;
|
|
253
|
-
altText: z.ZodString;
|
|
254
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
255
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
256
|
-
}, "strip", z.ZodTypeAny, {
|
|
257
|
-
url: string;
|
|
258
|
-
altText: string;
|
|
259
|
-
id?: string | undefined;
|
|
260
|
-
width?: number | undefined;
|
|
261
|
-
height?: number | undefined;
|
|
262
|
-
}, {
|
|
263
|
-
url: string;
|
|
264
|
-
altText: string;
|
|
265
|
-
id?: string | undefined;
|
|
266
|
-
width?: number | undefined;
|
|
267
|
-
height?: number | undefined;
|
|
268
|
-
}>, "many">;
|
|
269
|
-
featuredImage: z.ZodOptional<z.ZodObject<{
|
|
270
|
-
id: z.ZodOptional<z.ZodString>;
|
|
271
|
-
url: z.ZodString;
|
|
272
|
-
altText: z.ZodString;
|
|
273
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
274
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
275
|
-
}, "strip", z.ZodTypeAny, {
|
|
276
|
-
url: string;
|
|
277
|
-
altText: string;
|
|
278
|
-
id?: string | undefined;
|
|
279
|
-
width?: number | undefined;
|
|
280
|
-
height?: number | undefined;
|
|
281
|
-
}, {
|
|
282
|
-
url: string;
|
|
283
|
-
altText: string;
|
|
284
|
-
id?: string | undefined;
|
|
285
|
-
width?: number | undefined;
|
|
286
|
-
height?: number | undefined;
|
|
287
|
-
}>>;
|
|
288
|
-
}, "strip", z.ZodTypeAny, {
|
|
289
|
-
options: {
|
|
290
|
-
values: string[];
|
|
291
|
-
id: string;
|
|
292
|
-
name: string;
|
|
293
|
-
}[];
|
|
294
|
-
id: string;
|
|
295
|
-
title: string;
|
|
296
|
-
variants: {
|
|
297
|
-
id: string;
|
|
298
|
-
title: string;
|
|
299
|
-
availableForSale: boolean;
|
|
300
|
-
selectedOptions: {
|
|
301
|
-
value: string;
|
|
302
|
-
name: string;
|
|
303
|
-
}[];
|
|
304
|
-
sku?: string | undefined;
|
|
305
|
-
price?: Money | null | undefined;
|
|
306
|
-
compareAtPrice?: Money | undefined;
|
|
307
|
-
image?: {
|
|
308
|
-
url: string;
|
|
309
|
-
altText: string;
|
|
310
|
-
id?: string | undefined;
|
|
311
|
-
width?: number | undefined;
|
|
312
|
-
height?: number | undefined;
|
|
313
|
-
} | undefined;
|
|
314
|
-
}[];
|
|
315
|
-
images: {
|
|
316
|
-
url: string;
|
|
317
|
-
altText: string;
|
|
318
|
-
id?: string | undefined;
|
|
319
|
-
width?: number | undefined;
|
|
320
|
-
height?: number | undefined;
|
|
321
|
-
}[];
|
|
322
|
-
handle?: string | undefined;
|
|
323
|
-
description?: string | undefined;
|
|
324
|
-
vendor?: string | undefined;
|
|
325
|
-
featuredImage?: {
|
|
326
|
-
url: string;
|
|
327
|
-
altText: string;
|
|
328
|
-
id?: string | undefined;
|
|
329
|
-
width?: number | undefined;
|
|
330
|
-
height?: number | undefined;
|
|
331
|
-
} | undefined;
|
|
332
|
-
}, {
|
|
333
|
-
options: {
|
|
334
|
-
values: string[];
|
|
335
|
-
id: string;
|
|
336
|
-
name: string;
|
|
337
|
-
}[];
|
|
338
|
-
id: string;
|
|
339
|
-
title: string;
|
|
340
|
-
variants: {
|
|
341
|
-
id: string;
|
|
342
|
-
title: string;
|
|
343
|
-
availableForSale: boolean;
|
|
344
|
-
selectedOptions: {
|
|
345
|
-
value: string;
|
|
346
|
-
name: string;
|
|
347
|
-
}[];
|
|
348
|
-
sku?: string | undefined;
|
|
349
|
-
price?: Money | null | undefined;
|
|
350
|
-
compareAtPrice?: Money | undefined;
|
|
351
|
-
image?: {
|
|
352
|
-
url: string;
|
|
353
|
-
altText: string;
|
|
354
|
-
id?: string | undefined;
|
|
355
|
-
width?: number | undefined;
|
|
356
|
-
height?: number | undefined;
|
|
357
|
-
} | undefined;
|
|
358
|
-
}[];
|
|
359
|
-
images: {
|
|
360
|
-
url: string;
|
|
361
|
-
altText: string;
|
|
362
|
-
id?: string | undefined;
|
|
363
|
-
width?: number | undefined;
|
|
364
|
-
height?: number | undefined;
|
|
365
|
-
}[];
|
|
366
|
-
handle?: string | undefined;
|
|
367
|
-
description?: string | undefined;
|
|
368
|
-
vendor?: string | undefined;
|
|
369
|
-
featuredImage?: {
|
|
370
|
-
url: string;
|
|
371
|
-
altText: string;
|
|
372
|
-
id?: string | undefined;
|
|
373
|
-
width?: number | undefined;
|
|
374
|
-
height?: number | undefined;
|
|
375
|
-
} | undefined;
|
|
376
|
-
}>;
|
|
377
|
-
type ProductDetailProductSpec = z.infer<typeof productDetailProductSchema>;
|
|
378
|
-
declare const productOverview1PropsSchema: z.ZodObject<{
|
|
379
|
-
product: z.ZodObject<{
|
|
380
|
-
id: z.ZodString;
|
|
381
|
-
handle: z.ZodOptional<z.ZodString>;
|
|
382
|
-
title: z.ZodString;
|
|
383
|
-
description: z.ZodOptional<z.ZodString>;
|
|
384
|
-
vendor: z.ZodOptional<z.ZodString>;
|
|
385
|
-
options: z.ZodArray<z.ZodObject<{
|
|
386
|
-
id: z.ZodString;
|
|
387
|
-
name: z.ZodString;
|
|
388
|
-
values: z.ZodArray<z.ZodString, "many">;
|
|
389
|
-
}, "strip", z.ZodTypeAny, {
|
|
390
|
-
values: string[];
|
|
391
|
-
id: string;
|
|
392
|
-
name: string;
|
|
393
|
-
}, {
|
|
394
|
-
values: string[];
|
|
395
|
-
id: string;
|
|
396
|
-
name: string;
|
|
397
|
-
}>, "many">;
|
|
398
|
-
variants: z.ZodArray<z.ZodObject<{
|
|
399
|
-
id: z.ZodString;
|
|
400
|
-
title: z.ZodString;
|
|
401
|
-
sku: z.ZodOptional<z.ZodString>;
|
|
402
|
-
availableForSale: z.ZodBoolean;
|
|
403
|
-
selectedOptions: z.ZodArray<z.ZodObject<{
|
|
404
|
-
name: z.ZodString;
|
|
405
|
-
value: z.ZodString;
|
|
406
|
-
}, "strip", z.ZodTypeAny, {
|
|
407
|
-
value: string;
|
|
408
|
-
name: string;
|
|
409
|
-
}, {
|
|
410
|
-
value: string;
|
|
411
|
-
name: string;
|
|
412
|
-
}>, "many">;
|
|
413
|
-
/** Omit or null when the backend has no resolved price (purchase disabled). */
|
|
414
|
-
price: z.ZodOptional<z.ZodNullable<z.ZodType<Money, z.ZodTypeDef, Money>>>;
|
|
415
|
-
compareAtPrice: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
416
|
-
image: z.ZodOptional<z.ZodObject<{
|
|
417
|
-
id: z.ZodOptional<z.ZodString>;
|
|
418
|
-
url: z.ZodString;
|
|
419
|
-
altText: z.ZodString;
|
|
420
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
421
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
422
|
-
}, "strip", z.ZodTypeAny, {
|
|
423
|
-
url: string;
|
|
424
|
-
altText: string;
|
|
425
|
-
id?: string | undefined;
|
|
426
|
-
width?: number | undefined;
|
|
427
|
-
height?: number | undefined;
|
|
428
|
-
}, {
|
|
429
|
-
url: string;
|
|
430
|
-
altText: string;
|
|
431
|
-
id?: string | undefined;
|
|
432
|
-
width?: number | undefined;
|
|
433
|
-
height?: number | undefined;
|
|
434
|
-
}>>;
|
|
435
|
-
}, "strip", z.ZodTypeAny, {
|
|
436
|
-
id: string;
|
|
437
|
-
title: string;
|
|
438
|
-
availableForSale: boolean;
|
|
439
|
-
selectedOptions: {
|
|
440
|
-
value: string;
|
|
441
|
-
name: string;
|
|
442
|
-
}[];
|
|
443
|
-
sku?: string | undefined;
|
|
444
|
-
price?: Money | null | undefined;
|
|
445
|
-
compareAtPrice?: Money | undefined;
|
|
446
|
-
image?: {
|
|
447
|
-
url: string;
|
|
448
|
-
altText: string;
|
|
449
|
-
id?: string | undefined;
|
|
450
|
-
width?: number | undefined;
|
|
451
|
-
height?: number | undefined;
|
|
452
|
-
} | undefined;
|
|
453
|
-
}, {
|
|
454
|
-
id: string;
|
|
455
|
-
title: string;
|
|
456
|
-
availableForSale: boolean;
|
|
457
|
-
selectedOptions: {
|
|
458
|
-
value: string;
|
|
459
|
-
name: string;
|
|
460
|
-
}[];
|
|
461
|
-
sku?: string | undefined;
|
|
462
|
-
price?: Money | null | undefined;
|
|
463
|
-
compareAtPrice?: Money | undefined;
|
|
464
|
-
image?: {
|
|
465
|
-
url: string;
|
|
466
|
-
altText: string;
|
|
467
|
-
id?: string | undefined;
|
|
468
|
-
width?: number | undefined;
|
|
469
|
-
height?: number | undefined;
|
|
470
|
-
} | undefined;
|
|
471
|
-
}>, "many">;
|
|
472
|
-
images: z.ZodArray<z.ZodObject<{
|
|
473
|
-
id: z.ZodOptional<z.ZodString>;
|
|
474
|
-
url: z.ZodString;
|
|
475
|
-
altText: z.ZodString;
|
|
476
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
477
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
478
|
-
}, "strip", z.ZodTypeAny, {
|
|
479
|
-
url: string;
|
|
480
|
-
altText: string;
|
|
481
|
-
id?: string | undefined;
|
|
482
|
-
width?: number | undefined;
|
|
483
|
-
height?: number | undefined;
|
|
484
|
-
}, {
|
|
485
|
-
url: string;
|
|
486
|
-
altText: string;
|
|
487
|
-
id?: string | undefined;
|
|
488
|
-
width?: number | undefined;
|
|
489
|
-
height?: number | undefined;
|
|
490
|
-
}>, "many">;
|
|
491
|
-
featuredImage: z.ZodOptional<z.ZodObject<{
|
|
492
|
-
id: z.ZodOptional<z.ZodString>;
|
|
493
|
-
url: z.ZodString;
|
|
494
|
-
altText: z.ZodString;
|
|
495
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
496
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
497
|
-
}, "strip", z.ZodTypeAny, {
|
|
498
|
-
url: string;
|
|
499
|
-
altText: string;
|
|
500
|
-
id?: string | undefined;
|
|
501
|
-
width?: number | undefined;
|
|
502
|
-
height?: number | undefined;
|
|
503
|
-
}, {
|
|
504
|
-
url: string;
|
|
505
|
-
altText: string;
|
|
506
|
-
id?: string | undefined;
|
|
507
|
-
width?: number | undefined;
|
|
508
|
-
height?: number | undefined;
|
|
509
|
-
}>>;
|
|
510
|
-
}, "strip", z.ZodTypeAny, {
|
|
511
|
-
options: {
|
|
512
|
-
values: string[];
|
|
513
|
-
id: string;
|
|
514
|
-
name: string;
|
|
515
|
-
}[];
|
|
516
|
-
id: string;
|
|
517
|
-
title: string;
|
|
518
|
-
variants: {
|
|
519
|
-
id: string;
|
|
520
|
-
title: string;
|
|
521
|
-
availableForSale: boolean;
|
|
522
|
-
selectedOptions: {
|
|
523
|
-
value: string;
|
|
524
|
-
name: string;
|
|
525
|
-
}[];
|
|
526
|
-
sku?: string | undefined;
|
|
527
|
-
price?: Money | null | undefined;
|
|
528
|
-
compareAtPrice?: Money | undefined;
|
|
529
|
-
image?: {
|
|
530
|
-
url: string;
|
|
531
|
-
altText: string;
|
|
532
|
-
id?: string | undefined;
|
|
533
|
-
width?: number | undefined;
|
|
534
|
-
height?: number | undefined;
|
|
535
|
-
} | undefined;
|
|
536
|
-
}[];
|
|
537
|
-
images: {
|
|
538
|
-
url: string;
|
|
539
|
-
altText: string;
|
|
540
|
-
id?: string | undefined;
|
|
541
|
-
width?: number | undefined;
|
|
542
|
-
height?: number | undefined;
|
|
543
|
-
}[];
|
|
544
|
-
handle?: string | undefined;
|
|
545
|
-
description?: string | undefined;
|
|
546
|
-
vendor?: string | undefined;
|
|
547
|
-
featuredImage?: {
|
|
548
|
-
url: string;
|
|
549
|
-
altText: string;
|
|
550
|
-
id?: string | undefined;
|
|
551
|
-
width?: number | undefined;
|
|
552
|
-
height?: number | undefined;
|
|
553
|
-
} | undefined;
|
|
554
|
-
}, {
|
|
555
|
-
options: {
|
|
556
|
-
values: string[];
|
|
557
|
-
id: string;
|
|
558
|
-
name: string;
|
|
559
|
-
}[];
|
|
560
|
-
id: string;
|
|
561
|
-
title: string;
|
|
562
|
-
variants: {
|
|
563
|
-
id: string;
|
|
564
|
-
title: string;
|
|
565
|
-
availableForSale: boolean;
|
|
566
|
-
selectedOptions: {
|
|
567
|
-
value: string;
|
|
568
|
-
name: string;
|
|
569
|
-
}[];
|
|
570
|
-
sku?: string | undefined;
|
|
571
|
-
price?: Money | null | undefined;
|
|
572
|
-
compareAtPrice?: Money | undefined;
|
|
573
|
-
image?: {
|
|
574
|
-
url: string;
|
|
575
|
-
altText: string;
|
|
576
|
-
id?: string | undefined;
|
|
577
|
-
width?: number | undefined;
|
|
578
|
-
height?: number | undefined;
|
|
579
|
-
} | undefined;
|
|
580
|
-
}[];
|
|
581
|
-
images: {
|
|
582
|
-
url: string;
|
|
583
|
-
altText: string;
|
|
584
|
-
id?: string | undefined;
|
|
585
|
-
width?: number | undefined;
|
|
586
|
-
height?: number | undefined;
|
|
587
|
-
}[];
|
|
588
|
-
handle?: string | undefined;
|
|
589
|
-
description?: string | undefined;
|
|
590
|
-
vendor?: string | undefined;
|
|
591
|
-
featuredImage?: {
|
|
592
|
-
url: string;
|
|
593
|
-
altText: string;
|
|
594
|
-
id?: string | undefined;
|
|
595
|
-
width?: number | undefined;
|
|
596
|
-
height?: number | undefined;
|
|
597
|
-
} | undefined;
|
|
598
|
-
}>;
|
|
599
|
-
selectedVariantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
600
|
-
quantity: z.ZodOptional<z.ZodNumber>;
|
|
601
|
-
rating: z.ZodOptional<z.ZodObject<{
|
|
602
|
-
value: z.ZodNumber;
|
|
603
|
-
count: z.ZodNumber;
|
|
604
|
-
}, "strip", z.ZodTypeAny, {
|
|
605
|
-
value: number;
|
|
606
|
-
count: number;
|
|
607
|
-
}, {
|
|
608
|
-
value: number;
|
|
609
|
-
count: number;
|
|
610
|
-
}>>;
|
|
611
|
-
deliveryEstimate: z.ZodOptional<z.ZodString>;
|
|
612
|
-
shipping: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
613
|
-
sizesLabel: z.ZodOptional<z.ZodString>;
|
|
614
|
-
variantLabel: z.ZodOptional<z.ZodString>;
|
|
615
|
-
reviewsLabel: z.ZodOptional<z.ZodString>;
|
|
616
|
-
addToCartLabel: z.ZodOptional<z.ZodString>;
|
|
617
|
-
outOfStockLabel: z.ZodOptional<z.ZodString>;
|
|
618
|
-
unavailablePriceLabel: z.ZodOptional<z.ZodString>;
|
|
619
|
-
selectVariantLabel: z.ZodOptional<z.ZodString>;
|
|
620
|
-
quantityLabel: z.ZodOptional<z.ZodString>;
|
|
621
|
-
deliveryEstimateLabel: z.ZodOptional<z.ZodString>;
|
|
622
|
-
shippingLabel: z.ZodOptional<z.ZodString>;
|
|
623
|
-
}, "strip", z.ZodTypeAny, {
|
|
624
|
-
product: {
|
|
625
|
-
options: {
|
|
626
|
-
values: string[];
|
|
627
|
-
id: string;
|
|
628
|
-
name: string;
|
|
629
|
-
}[];
|
|
630
|
-
id: string;
|
|
631
|
-
title: string;
|
|
632
|
-
variants: {
|
|
633
|
-
id: string;
|
|
634
|
-
title: string;
|
|
635
|
-
availableForSale: boolean;
|
|
636
|
-
selectedOptions: {
|
|
637
|
-
value: string;
|
|
638
|
-
name: string;
|
|
639
|
-
}[];
|
|
640
|
-
sku?: string | undefined;
|
|
641
|
-
price?: Money | null | undefined;
|
|
642
|
-
compareAtPrice?: Money | undefined;
|
|
643
|
-
image?: {
|
|
644
|
-
url: string;
|
|
645
|
-
altText: string;
|
|
646
|
-
id?: string | undefined;
|
|
647
|
-
width?: number | undefined;
|
|
648
|
-
height?: number | undefined;
|
|
649
|
-
} | undefined;
|
|
650
|
-
}[];
|
|
651
|
-
images: {
|
|
652
|
-
url: string;
|
|
653
|
-
altText: string;
|
|
654
|
-
id?: string | undefined;
|
|
655
|
-
width?: number | undefined;
|
|
656
|
-
height?: number | undefined;
|
|
657
|
-
}[];
|
|
658
|
-
handle?: string | undefined;
|
|
659
|
-
description?: string | undefined;
|
|
660
|
-
vendor?: string | undefined;
|
|
661
|
-
featuredImage?: {
|
|
662
|
-
url: string;
|
|
663
|
-
altText: string;
|
|
664
|
-
id?: string | undefined;
|
|
665
|
-
width?: number | undefined;
|
|
666
|
-
height?: number | undefined;
|
|
667
|
-
} | undefined;
|
|
668
|
-
};
|
|
669
|
-
selectedVariantId?: string | null | undefined;
|
|
670
|
-
quantity?: number | undefined;
|
|
671
|
-
rating?: {
|
|
672
|
-
value: number;
|
|
673
|
-
count: number;
|
|
674
|
-
} | undefined;
|
|
675
|
-
deliveryEstimate?: string | undefined;
|
|
676
|
-
shipping?: Money | undefined;
|
|
677
|
-
sizesLabel?: string | undefined;
|
|
678
|
-
variantLabel?: string | undefined;
|
|
679
|
-
reviewsLabel?: string | undefined;
|
|
680
|
-
addToCartLabel?: string | undefined;
|
|
681
|
-
outOfStockLabel?: string | undefined;
|
|
682
|
-
unavailablePriceLabel?: string | undefined;
|
|
683
|
-
selectVariantLabel?: string | undefined;
|
|
684
|
-
quantityLabel?: string | undefined;
|
|
685
|
-
deliveryEstimateLabel?: string | undefined;
|
|
686
|
-
shippingLabel?: string | undefined;
|
|
687
|
-
}, {
|
|
688
|
-
product: {
|
|
689
|
-
options: {
|
|
690
|
-
values: string[];
|
|
691
|
-
id: string;
|
|
692
|
-
name: string;
|
|
693
|
-
}[];
|
|
694
|
-
id: string;
|
|
695
|
-
title: string;
|
|
696
|
-
variants: {
|
|
697
|
-
id: string;
|
|
698
|
-
title: string;
|
|
699
|
-
availableForSale: boolean;
|
|
700
|
-
selectedOptions: {
|
|
701
|
-
value: string;
|
|
702
|
-
name: string;
|
|
703
|
-
}[];
|
|
704
|
-
sku?: string | undefined;
|
|
705
|
-
price?: Money | null | undefined;
|
|
706
|
-
compareAtPrice?: Money | undefined;
|
|
707
|
-
image?: {
|
|
708
|
-
url: string;
|
|
709
|
-
altText: string;
|
|
710
|
-
id?: string | undefined;
|
|
711
|
-
width?: number | undefined;
|
|
712
|
-
height?: number | undefined;
|
|
713
|
-
} | undefined;
|
|
714
|
-
}[];
|
|
715
|
-
images: {
|
|
716
|
-
url: string;
|
|
717
|
-
altText: string;
|
|
718
|
-
id?: string | undefined;
|
|
719
|
-
width?: number | undefined;
|
|
720
|
-
height?: number | undefined;
|
|
721
|
-
}[];
|
|
722
|
-
handle?: string | undefined;
|
|
723
|
-
description?: string | undefined;
|
|
724
|
-
vendor?: string | undefined;
|
|
725
|
-
featuredImage?: {
|
|
726
|
-
url: string;
|
|
727
|
-
altText: string;
|
|
728
|
-
id?: string | undefined;
|
|
729
|
-
width?: number | undefined;
|
|
730
|
-
height?: number | undefined;
|
|
731
|
-
} | undefined;
|
|
732
|
-
};
|
|
733
|
-
selectedVariantId?: string | null | undefined;
|
|
734
|
-
quantity?: number | undefined;
|
|
735
|
-
rating?: {
|
|
736
|
-
value: number;
|
|
737
|
-
count: number;
|
|
738
|
-
} | undefined;
|
|
739
|
-
deliveryEstimate?: string | undefined;
|
|
740
|
-
shipping?: Money | undefined;
|
|
741
|
-
sizesLabel?: string | undefined;
|
|
742
|
-
variantLabel?: string | undefined;
|
|
743
|
-
reviewsLabel?: string | undefined;
|
|
744
|
-
addToCartLabel?: string | undefined;
|
|
745
|
-
outOfStockLabel?: string | undefined;
|
|
746
|
-
unavailablePriceLabel?: string | undefined;
|
|
747
|
-
selectVariantLabel?: string | undefined;
|
|
748
|
-
quantityLabel?: string | undefined;
|
|
749
|
-
deliveryEstimateLabel?: string | undefined;
|
|
750
|
-
shippingLabel?: string | undefined;
|
|
751
|
-
}>;
|
|
752
|
-
type ProductOverview1SpecProps = z.infer<typeof productOverview1PropsSchema>;
|
|
753
|
-
declare const cardProductSchema: z.ZodObject<{
|
|
754
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
755
|
-
title: z.ZodString;
|
|
756
|
-
price: z.ZodNumber;
|
|
757
|
-
originalPrice: z.ZodOptional<z.ZodNumber>;
|
|
758
|
-
image: z.ZodString;
|
|
759
|
-
badge: z.ZodOptional<z.ZodString>;
|
|
760
|
-
}, "strip", z.ZodTypeAny, {
|
|
761
|
-
id: string | number;
|
|
762
|
-
title: string;
|
|
763
|
-
price: number;
|
|
764
|
-
image: string;
|
|
765
|
-
originalPrice?: number | undefined;
|
|
766
|
-
badge?: string | undefined;
|
|
767
|
-
}, {
|
|
768
|
-
id: string | number;
|
|
769
|
-
title: string;
|
|
770
|
-
price: number;
|
|
771
|
-
image: string;
|
|
772
|
-
originalPrice?: number | undefined;
|
|
773
|
-
badge?: string | undefined;
|
|
774
|
-
}>;
|
|
775
|
-
type CardProduct = z.infer<typeof cardProductSchema>;
|
|
776
|
-
declare const cartItemSchema: z.ZodObject<{
|
|
777
|
-
id: z.ZodString;
|
|
778
|
-
name: z.ZodString;
|
|
779
|
-
price: z.ZodNumber;
|
|
780
|
-
quantity: z.ZodNumber;
|
|
781
|
-
/** Optional; absent images are omitted, never serialized as `""`. */
|
|
782
|
-
image: z.ZodOptional<z.ZodString>;
|
|
783
|
-
variant: z.ZodOptional<z.ZodString>;
|
|
784
|
-
/** Canonical backend per-unit price, preferred for display when present. */
|
|
785
|
-
unitPrice: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
786
|
-
/** Canonical backend line total, preferred over `price * quantity`. */
|
|
787
|
-
lineTotal: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
788
|
-
}, "strip", z.ZodTypeAny, {
|
|
789
|
-
id: string;
|
|
790
|
-
name: string;
|
|
791
|
-
price: number;
|
|
792
|
-
quantity: number;
|
|
793
|
-
image?: string | undefined;
|
|
794
|
-
variant?: string | undefined;
|
|
795
|
-
unitPrice?: Money | undefined;
|
|
796
|
-
lineTotal?: Money | undefined;
|
|
797
|
-
}, {
|
|
798
|
-
id: string;
|
|
799
|
-
name: string;
|
|
800
|
-
price: number;
|
|
801
|
-
quantity: number;
|
|
802
|
-
image?: string | undefined;
|
|
803
|
-
variant?: string | undefined;
|
|
804
|
-
unitPrice?: Money | undefined;
|
|
805
|
-
lineTotal?: Money | undefined;
|
|
806
|
-
}>;
|
|
807
|
-
type CartItem = z.infer<typeof cartItemSchema>;
|
|
808
|
-
declare const cartTotalsSchema: z.ZodObject<{
|
|
809
|
-
subtotal: z.ZodType<Money, z.ZodTypeDef, Money>;
|
|
810
|
-
discount: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
811
|
-
tax: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
812
|
-
shipping: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
813
|
-
total: z.ZodType<Money, z.ZodTypeDef, Money>;
|
|
814
|
-
}, "strip", z.ZodTypeAny, {
|
|
815
|
-
subtotal: Money;
|
|
816
|
-
total: Money;
|
|
817
|
-
shipping?: Money | undefined;
|
|
818
|
-
discount?: Money | undefined;
|
|
819
|
-
tax?: Money | undefined;
|
|
820
|
-
}, {
|
|
821
|
-
subtotal: Money;
|
|
822
|
-
total: Money;
|
|
823
|
-
shipping?: Money | undefined;
|
|
824
|
-
discount?: Money | undefined;
|
|
825
|
-
tax?: Money | undefined;
|
|
826
|
-
}>;
|
|
827
|
-
type CartTotals = z.infer<typeof cartTotalsSchema>;
|
|
828
|
-
declare const recentlyViewedItemSchema: z.ZodObject<{
|
|
829
|
-
id: z.ZodString;
|
|
830
|
-
name: z.ZodString;
|
|
831
|
-
price: z.ZodNumber;
|
|
832
|
-
image: z.ZodString;
|
|
833
|
-
}, "strip", z.ZodTypeAny, {
|
|
834
|
-
id: string;
|
|
835
|
-
name: string;
|
|
836
|
-
price: number;
|
|
837
|
-
image: string;
|
|
838
|
-
}, {
|
|
839
|
-
id: string;
|
|
840
|
-
name: string;
|
|
841
|
-
price: number;
|
|
842
|
-
image: string;
|
|
843
|
-
}>;
|
|
844
|
-
type RecentlyViewedItem = z.infer<typeof recentlyViewedItemSchema>;
|
|
845
|
-
declare const promotionSchema: z.ZodObject<{
|
|
846
|
-
threshold: z.ZodNumber;
|
|
847
|
-
reward: z.ZodString;
|
|
848
|
-
icon: z.ZodDefault<z.ZodString>;
|
|
849
|
-
}, "strip", z.ZodTypeAny, {
|
|
850
|
-
threshold: number;
|
|
851
|
-
reward: string;
|
|
852
|
-
icon: string;
|
|
853
|
-
}, {
|
|
854
|
-
threshold: number;
|
|
855
|
-
reward: string;
|
|
856
|
-
icon?: string | undefined;
|
|
857
|
-
}>;
|
|
858
|
-
type Promotion = z.infer<typeof promotionSchema>;
|
|
859
|
-
declare const storeCategorySchema: z.ZodType<StoreCategory>;
|
|
860
|
-
type StoreCategory = {
|
|
861
|
-
label: string;
|
|
862
|
-
href: string;
|
|
863
|
-
children?: StoreCategory[];
|
|
864
|
-
emphasis?: boolean;
|
|
865
|
-
};
|
|
866
|
-
declare const utilityLinkSchema: z.ZodObject<{
|
|
867
|
-
label: z.ZodString;
|
|
868
|
-
href: z.ZodString;
|
|
869
|
-
}, "strip", z.ZodTypeAny, {
|
|
870
|
-
label: string;
|
|
871
|
-
href: string;
|
|
872
|
-
}, {
|
|
873
|
-
label: string;
|
|
874
|
-
href: string;
|
|
875
|
-
}>;
|
|
876
|
-
type UtilityLink = z.infer<typeof utilityLinkSchema>;
|
|
877
|
-
declare const navCartItemSchema: z.ZodObject<{
|
|
878
|
-
id: z.ZodString;
|
|
879
|
-
name: z.ZodString;
|
|
880
|
-
variant: z.ZodOptional<z.ZodString>;
|
|
881
|
-
price: z.ZodNumber;
|
|
882
|
-
qty: z.ZodNumber;
|
|
883
|
-
/** Optional; absent images are omitted, never serialized as `""`. */
|
|
884
|
-
image: z.ZodOptional<z.ZodString>;
|
|
885
|
-
}, "strip", z.ZodTypeAny, {
|
|
886
|
-
id: string;
|
|
887
|
-
name: string;
|
|
888
|
-
price: number;
|
|
889
|
-
qty: number;
|
|
890
|
-
image?: string | undefined;
|
|
891
|
-
variant?: string | undefined;
|
|
892
|
-
}, {
|
|
893
|
-
id: string;
|
|
894
|
-
name: string;
|
|
895
|
-
price: number;
|
|
896
|
-
qty: number;
|
|
897
|
-
image?: string | undefined;
|
|
898
|
-
variant?: string | undefined;
|
|
899
|
-
}>;
|
|
900
|
-
type NavCartItem = z.infer<typeof navCartItemSchema>;
|
|
901
|
-
declare const storeUserSchema: z.ZodObject<{
|
|
902
|
-
name: z.ZodString;
|
|
903
|
-
email: z.ZodString;
|
|
904
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
905
|
-
initials: z.ZodString;
|
|
906
|
-
}, "strip", z.ZodTypeAny, {
|
|
907
|
-
name: string;
|
|
908
|
-
email: string;
|
|
909
|
-
initials: string;
|
|
910
|
-
avatar?: string | undefined;
|
|
911
|
-
}, {
|
|
912
|
-
name: string;
|
|
913
|
-
email: string;
|
|
914
|
-
initials: string;
|
|
915
|
-
avatar?: string | undefined;
|
|
916
|
-
}>;
|
|
917
|
-
type StoreUser = z.infer<typeof storeUserSchema>;
|
|
918
|
-
declare const accountMenuItemSchema: z.ZodObject<{
|
|
919
|
-
label: z.ZodString;
|
|
920
|
-
href: z.ZodString;
|
|
921
|
-
description: z.ZodOptional<z.ZodString>;
|
|
922
|
-
icon: z.ZodOptional<z.ZodEnum<["orders", "wishlist", "addresses", "settings"]>>;
|
|
923
|
-
}, "strip", z.ZodTypeAny, {
|
|
924
|
-
label: string;
|
|
925
|
-
href: string;
|
|
926
|
-
description?: string | undefined;
|
|
927
|
-
icon?: "orders" | "wishlist" | "addresses" | "settings" | undefined;
|
|
928
|
-
}, {
|
|
929
|
-
label: string;
|
|
930
|
-
href: string;
|
|
931
|
-
description?: string | undefined;
|
|
932
|
-
icon?: "orders" | "wishlist" | "addresses" | "settings" | undefined;
|
|
933
|
-
}>;
|
|
934
|
-
type AccountMenuItem = z.infer<typeof accountMenuItemSchema>;
|
|
935
|
-
/**
|
|
936
|
-
* Serialization contract for a payment method offered at checkout.
|
|
937
|
-
*
|
|
938
|
-
* A projection of `@thorprovider/types` `PaymentMethod` — the storefront-facing
|
|
939
|
-
* shape produced by the adapters transform. Checkout blocks render the method
|
|
940
|
-
* list from this data instead of hardcoding providers.
|
|
941
|
-
*/
|
|
942
|
-
declare const paymentMethodSchema: z.ZodType<PaymentMethod>;
|
|
943
|
-
declare const buttonPropsSchema: z.ZodObject<{
|
|
944
|
-
variant: z.ZodOptional<z.ZodEnum<["default", "destructive", "outline", "secondary", "ghost", "link"]>>;
|
|
945
|
-
size: z.ZodOptional<z.ZodEnum<["default", "xs", "sm", "lg", "icon", "icon-xs", "icon-sm", "icon-lg"]>>;
|
|
946
|
-
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
947
|
-
className: z.ZodOptional<z.ZodString>;
|
|
948
|
-
}, "strip", z.ZodTypeAny, {
|
|
949
|
-
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | undefined;
|
|
950
|
-
size?: "icon" | "default" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | undefined;
|
|
951
|
-
disabled?: boolean | undefined;
|
|
952
|
-
className?: string | undefined;
|
|
953
|
-
}, {
|
|
954
|
-
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | undefined;
|
|
955
|
-
size?: "icon" | "default" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | undefined;
|
|
956
|
-
disabled?: boolean | undefined;
|
|
957
|
-
className?: string | undefined;
|
|
958
|
-
}>;
|
|
959
|
-
type ButtonSpecProps = z.infer<typeof buttonPropsSchema>;
|
|
960
|
-
declare const storeContainer1PropsSchema: z.ZodObject<{
|
|
961
|
-
size: z.ZodOptional<z.ZodEnum<["default", "narrow", "wide", "full"]>>;
|
|
962
|
-
className: z.ZodOptional<z.ZodString>;
|
|
963
|
-
}, "strip", z.ZodTypeAny, {
|
|
964
|
-
size?: "default" | "narrow" | "wide" | "full" | undefined;
|
|
965
|
-
className?: string | undefined;
|
|
966
|
-
}, {
|
|
967
|
-
size?: "default" | "narrow" | "wide" | "full" | undefined;
|
|
968
|
-
className?: string | undefined;
|
|
969
|
-
}>;
|
|
970
|
-
type StoreContainer1SpecProps = z.infer<typeof storeContainer1PropsSchema>;
|
|
971
|
-
declare const productCard1PropsSchema: z.ZodObject<{
|
|
972
|
-
products: z.ZodArray<z.ZodObject<{
|
|
973
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
974
|
-
title: z.ZodString;
|
|
975
|
-
price: z.ZodNumber;
|
|
976
|
-
originalPrice: z.ZodOptional<z.ZodNumber>;
|
|
977
|
-
image: z.ZodString;
|
|
978
|
-
badge: z.ZodOptional<z.ZodString>;
|
|
979
|
-
}, "strip", z.ZodTypeAny, {
|
|
980
|
-
id: string | number;
|
|
981
|
-
title: string;
|
|
982
|
-
price: number;
|
|
983
|
-
image: string;
|
|
984
|
-
originalPrice?: number | undefined;
|
|
985
|
-
badge?: string | undefined;
|
|
986
|
-
}, {
|
|
987
|
-
id: string | number;
|
|
988
|
-
title: string;
|
|
989
|
-
price: number;
|
|
990
|
-
image: string;
|
|
991
|
-
originalPrice?: number | undefined;
|
|
992
|
-
badge?: string | undefined;
|
|
993
|
-
}>, "many">;
|
|
994
|
-
heading: z.ZodOptional<z.ZodString>;
|
|
995
|
-
maxItems: z.ZodOptional<z.ZodNumber>;
|
|
996
|
-
}, "strip", z.ZodTypeAny, {
|
|
997
|
-
products: {
|
|
998
|
-
id: string | number;
|
|
999
|
-
title: string;
|
|
1000
|
-
price: number;
|
|
1001
|
-
image: string;
|
|
1002
|
-
originalPrice?: number | undefined;
|
|
1003
|
-
badge?: string | undefined;
|
|
1004
|
-
}[];
|
|
1005
|
-
heading?: string | undefined;
|
|
1006
|
-
maxItems?: number | undefined;
|
|
1007
|
-
}, {
|
|
1008
|
-
products: {
|
|
1009
|
-
id: string | number;
|
|
1010
|
-
title: string;
|
|
1011
|
-
price: number;
|
|
1012
|
-
image: string;
|
|
1013
|
-
originalPrice?: number | undefined;
|
|
1014
|
-
badge?: string | undefined;
|
|
1015
|
-
}[];
|
|
1016
|
-
heading?: string | undefined;
|
|
1017
|
-
maxItems?: number | undefined;
|
|
1018
|
-
}>;
|
|
1019
|
-
type ProductCard1SpecProps = z.infer<typeof productCard1PropsSchema>;
|
|
1020
|
-
/**
|
|
1021
|
-
* Canonical product presentation — the serializable projection a storefront host
|
|
1022
|
-
* produces from a canonical `Product` for the merchandising sections. Unlike
|
|
1023
|
-
* `cardProductSchema` (legacy, numeric `price`), `price`/`compareAtPrice` carry
|
|
1024
|
-
* canonical `Money` (decimal major-unit string + currency code), so the block
|
|
1025
|
-
* formats in the shopper's currency and locale and renders a truthful
|
|
1026
|
-
* unavailable state instead of `$0`. Optional fields are omitted, never `""`.
|
|
1027
|
-
*
|
|
1028
|
-
* This contract is additive: `cardProductSchema` and its consumers are
|
|
1029
|
-
* unchanged, and a legacy numeric `price` still renders the legacy output.
|
|
1030
|
-
*/
|
|
1031
|
-
declare const productPresentationSchema: z.ZodObject<{
|
|
1032
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
1033
|
-
title: z.ZodString;
|
|
1034
|
-
/** Omitted (never `""`) when the backend has no image. */
|
|
1035
|
-
image: z.ZodOptional<z.ZodString>;
|
|
1036
|
-
imageAlt: z.ZodOptional<z.ZodString>;
|
|
1037
|
-
/** Product destination; omitted when unknown. */
|
|
1038
|
-
href: z.ZodOptional<z.ZodString>;
|
|
1039
|
-
price: z.ZodType<Money, z.ZodTypeDef, Money>;
|
|
1040
|
-
/** Comparison ("was") price; rendered only when valid and higher than `price`. */
|
|
1041
|
-
compareAtPrice: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1042
|
-
/** Only from real evidence; omitted otherwise (never fabricated). */
|
|
1043
|
-
rating: z.ZodOptional<z.ZodNumber>;
|
|
1044
|
-
badge: z.ZodOptional<z.ZodString>;
|
|
1045
|
-
}, "strip", z.ZodTypeAny, {
|
|
1046
|
-
id: string | number;
|
|
1047
|
-
title: string;
|
|
1048
|
-
price: Money;
|
|
1049
|
-
compareAtPrice?: Money | undefined;
|
|
1050
|
-
image?: string | undefined;
|
|
1051
|
-
rating?: number | undefined;
|
|
1052
|
-
badge?: string | undefined;
|
|
1053
|
-
href?: string | undefined;
|
|
1054
|
-
imageAlt?: string | undefined;
|
|
1055
|
-
}, {
|
|
1056
|
-
id: string | number;
|
|
1057
|
-
title: string;
|
|
1058
|
-
price: Money;
|
|
1059
|
-
compareAtPrice?: Money | undefined;
|
|
1060
|
-
image?: string | undefined;
|
|
1061
|
-
rating?: number | undefined;
|
|
1062
|
-
badge?: string | undefined;
|
|
1063
|
-
href?: string | undefined;
|
|
1064
|
-
imageAlt?: string | undefined;
|
|
1065
|
-
}>;
|
|
1066
|
-
type ProductPresentation = z.infer<typeof productPresentationSchema>;
|
|
1067
|
-
/**
|
|
1068
|
-
* Serializable contract for the combined grid-and-carousel product
|
|
1069
|
-
* presentation (`ProductShowcase1`). The grid pages are fixed-size, navigated
|
|
1070
|
-
* manually (prev/next) with a visible current-page indication; there is no
|
|
1071
|
-
* autoplay and no infinite loop. React-only callbacks are excluded.
|
|
1072
|
-
*/
|
|
1073
|
-
declare const productShowcase1PropsSchema: z.ZodObject<{
|
|
1074
|
-
products: z.ZodArray<z.ZodObject<{
|
|
1075
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
1076
|
-
title: z.ZodString;
|
|
1077
|
-
/** Omitted (never `""`) when the backend has no image. */
|
|
1078
|
-
image: z.ZodOptional<z.ZodString>;
|
|
1079
|
-
imageAlt: z.ZodOptional<z.ZodString>;
|
|
1080
|
-
/** Product destination; omitted when unknown. */
|
|
1081
|
-
href: z.ZodOptional<z.ZodString>;
|
|
1082
|
-
price: z.ZodType<Money, z.ZodTypeDef, Money>;
|
|
1083
|
-
/** Comparison ("was") price; rendered only when valid and higher than `price`. */
|
|
1084
|
-
compareAtPrice: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1085
|
-
/** Only from real evidence; omitted otherwise (never fabricated). */
|
|
1086
|
-
rating: z.ZodOptional<z.ZodNumber>;
|
|
1087
|
-
badge: z.ZodOptional<z.ZodString>;
|
|
1088
|
-
}, "strip", z.ZodTypeAny, {
|
|
1089
|
-
id: string | number;
|
|
1090
|
-
title: string;
|
|
1091
|
-
price: Money;
|
|
1092
|
-
compareAtPrice?: Money | undefined;
|
|
1093
|
-
image?: string | undefined;
|
|
1094
|
-
rating?: number | undefined;
|
|
1095
|
-
badge?: string | undefined;
|
|
1096
|
-
href?: string | undefined;
|
|
1097
|
-
imageAlt?: string | undefined;
|
|
1098
|
-
}, {
|
|
1099
|
-
id: string | number;
|
|
1100
|
-
title: string;
|
|
1101
|
-
price: Money;
|
|
1102
|
-
compareAtPrice?: Money | undefined;
|
|
1103
|
-
image?: string | undefined;
|
|
1104
|
-
rating?: number | undefined;
|
|
1105
|
-
badge?: string | undefined;
|
|
1106
|
-
href?: string | undefined;
|
|
1107
|
-
imageAlt?: string | undefined;
|
|
1108
|
-
}>, "many">;
|
|
1109
|
-
heading: z.ZodOptional<z.ZodString>;
|
|
1110
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1111
|
-
pageSize: z.ZodOptional<z.ZodNumber>;
|
|
1112
|
-
prevLabel: z.ZodOptional<z.ZodString>;
|
|
1113
|
-
nextLabel: z.ZodOptional<z.ZodString>;
|
|
1114
|
-
pageLabel: z.ZodOptional<z.ZodString>;
|
|
1115
|
-
unavailablePriceLabel: z.ZodOptional<z.ZodString>;
|
|
1116
|
-
emptyLabel: z.ZodOptional<z.ZodString>;
|
|
1117
|
-
addToCartLabel: z.ZodOptional<z.ZodString>;
|
|
1118
|
-
}, "strip", z.ZodTypeAny, {
|
|
1119
|
-
products: {
|
|
1120
|
-
id: string | number;
|
|
1121
|
-
title: string;
|
|
1122
|
-
price: Money;
|
|
1123
|
-
compareAtPrice?: Money | undefined;
|
|
1124
|
-
image?: string | undefined;
|
|
1125
|
-
rating?: number | undefined;
|
|
1126
|
-
badge?: string | undefined;
|
|
1127
|
-
href?: string | undefined;
|
|
1128
|
-
imageAlt?: string | undefined;
|
|
1129
|
-
}[];
|
|
1130
|
-
description?: string | undefined;
|
|
1131
|
-
addToCartLabel?: string | undefined;
|
|
1132
|
-
unavailablePriceLabel?: string | undefined;
|
|
1133
|
-
heading?: string | undefined;
|
|
1134
|
-
pageSize?: number | undefined;
|
|
1135
|
-
prevLabel?: string | undefined;
|
|
1136
|
-
nextLabel?: string | undefined;
|
|
1137
|
-
pageLabel?: string | undefined;
|
|
1138
|
-
emptyLabel?: string | undefined;
|
|
1139
|
-
}, {
|
|
1140
|
-
products: {
|
|
1141
|
-
id: string | number;
|
|
1142
|
-
title: string;
|
|
1143
|
-
price: Money;
|
|
1144
|
-
compareAtPrice?: Money | undefined;
|
|
1145
|
-
image?: string | undefined;
|
|
1146
|
-
rating?: number | undefined;
|
|
1147
|
-
badge?: string | undefined;
|
|
1148
|
-
href?: string | undefined;
|
|
1149
|
-
imageAlt?: string | undefined;
|
|
1150
|
-
}[];
|
|
1151
|
-
description?: string | undefined;
|
|
1152
|
-
addToCartLabel?: string | undefined;
|
|
1153
|
-
unavailablePriceLabel?: string | undefined;
|
|
1154
|
-
heading?: string | undefined;
|
|
1155
|
-
pageSize?: number | undefined;
|
|
1156
|
-
prevLabel?: string | undefined;
|
|
1157
|
-
nextLabel?: string | undefined;
|
|
1158
|
-
pageLabel?: string | undefined;
|
|
1159
|
-
emptyLabel?: string | undefined;
|
|
1160
|
-
}>;
|
|
1161
|
-
type ProductShowcase1SpecProps = z.infer<typeof productShowcase1PropsSchema>;
|
|
1162
|
-
declare const shoppingCart4PropsSchema: z.ZodObject<{
|
|
1163
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1164
|
-
id: z.ZodString;
|
|
1165
|
-
name: z.ZodString;
|
|
1166
|
-
price: z.ZodNumber;
|
|
1167
|
-
quantity: z.ZodNumber;
|
|
1168
|
-
/** Optional; absent images are omitted, never serialized as `""`. */
|
|
1169
|
-
image: z.ZodOptional<z.ZodString>;
|
|
1170
|
-
variant: z.ZodOptional<z.ZodString>;
|
|
1171
|
-
/** Canonical backend per-unit price, preferred for display when present. */
|
|
1172
|
-
unitPrice: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1173
|
-
/** Canonical backend line total, preferred over `price * quantity`. */
|
|
1174
|
-
lineTotal: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1175
|
-
}, "strip", z.ZodTypeAny, {
|
|
1176
|
-
id: string;
|
|
1177
|
-
name: string;
|
|
1178
|
-
price: number;
|
|
1179
|
-
quantity: number;
|
|
1180
|
-
image?: string | undefined;
|
|
1181
|
-
variant?: string | undefined;
|
|
1182
|
-
unitPrice?: Money | undefined;
|
|
1183
|
-
lineTotal?: Money | undefined;
|
|
1184
|
-
}, {
|
|
1185
|
-
id: string;
|
|
1186
|
-
name: string;
|
|
1187
|
-
price: number;
|
|
1188
|
-
quantity: number;
|
|
1189
|
-
image?: string | undefined;
|
|
1190
|
-
variant?: string | undefined;
|
|
1191
|
-
unitPrice?: Money | undefined;
|
|
1192
|
-
lineTotal?: Money | undefined;
|
|
1193
|
-
}>, "many">;
|
|
1194
|
-
promotions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1195
|
-
threshold: z.ZodNumber;
|
|
1196
|
-
reward: z.ZodString;
|
|
1197
|
-
icon: z.ZodDefault<z.ZodString>;
|
|
1198
|
-
}, "strip", z.ZodTypeAny, {
|
|
1199
|
-
threshold: number;
|
|
1200
|
-
reward: string;
|
|
1201
|
-
icon: string;
|
|
1202
|
-
}, {
|
|
1203
|
-
threshold: number;
|
|
1204
|
-
reward: string;
|
|
1205
|
-
icon?: string | undefined;
|
|
1206
|
-
}>, "many">>;
|
|
1207
|
-
recentlyViewed: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1208
|
-
id: z.ZodString;
|
|
1209
|
-
name: z.ZodString;
|
|
1210
|
-
price: z.ZodNumber;
|
|
1211
|
-
image: z.ZodString;
|
|
1212
|
-
}, "strip", z.ZodTypeAny, {
|
|
1213
|
-
id: string;
|
|
1214
|
-
name: string;
|
|
1215
|
-
price: number;
|
|
1216
|
-
image: string;
|
|
1217
|
-
}, {
|
|
1218
|
-
id: string;
|
|
1219
|
-
name: string;
|
|
1220
|
-
price: number;
|
|
1221
|
-
image: string;
|
|
1222
|
-
}>, "many">>;
|
|
1223
|
-
/** Backend-authoritative totals; rendered verbatim, never computed locally. */
|
|
1224
|
-
totals: z.ZodOptional<z.ZodObject<{
|
|
1225
|
-
subtotal: z.ZodType<Money, z.ZodTypeDef, Money>;
|
|
1226
|
-
discount: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1227
|
-
tax: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1228
|
-
shipping: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1229
|
-
total: z.ZodType<Money, z.ZodTypeDef, Money>;
|
|
1230
|
-
}, "strip", z.ZodTypeAny, {
|
|
1231
|
-
subtotal: Money;
|
|
1232
|
-
total: Money;
|
|
1233
|
-
shipping?: Money | undefined;
|
|
1234
|
-
discount?: Money | undefined;
|
|
1235
|
-
tax?: Money | undefined;
|
|
1236
|
-
}, {
|
|
1237
|
-
subtotal: Money;
|
|
1238
|
-
total: Money;
|
|
1239
|
-
shipping?: Money | undefined;
|
|
1240
|
-
discount?: Money | undefined;
|
|
1241
|
-
tax?: Money | undefined;
|
|
1242
|
-
}>>;
|
|
1243
|
-
totalsState: z.ZodOptional<z.ZodEnum<["idle", "pending", "error"]>>;
|
|
1244
|
-
totalsErrorLabel: z.ZodOptional<z.ZodString>;
|
|
1245
|
-
totalsUnavailableLabel: z.ZodOptional<z.ZodString>;
|
|
1246
|
-
amountUnavailableLabel: z.ZodOptional<z.ZodString>;
|
|
1247
|
-
retryLabel: z.ZodOptional<z.ZodString>;
|
|
1248
|
-
taxRate: z.ZodOptional<z.ZodNumber>;
|
|
1249
|
-
titleLabel: z.ZodOptional<z.ZodString>;
|
|
1250
|
-
subtotalLabel: z.ZodOptional<z.ZodString>;
|
|
1251
|
-
discountLabel: z.ZodOptional<z.ZodString>;
|
|
1252
|
-
taxLabel: z.ZodOptional<z.ZodString>;
|
|
1253
|
-
shippingLabel: z.ZodOptional<z.ZodString>;
|
|
1254
|
-
shippingFreeLabel: z.ZodOptional<z.ZodString>;
|
|
1255
|
-
totalLabel: z.ZodOptional<z.ZodString>;
|
|
1256
|
-
totalsPendingLabel: z.ZodOptional<z.ZodString>;
|
|
1257
|
-
awayFromLabel: z.ZodOptional<z.ZodString>;
|
|
1258
|
-
activatedLabel: z.ZodOptional<z.ZodString>;
|
|
1259
|
-
itemsLabel: z.ZodOptional<z.ZodString>;
|
|
1260
|
-
expressCheckoutLabel: z.ZodOptional<z.ZodString>;
|
|
1261
|
-
expressLabel: z.ZodOptional<z.ZodString>;
|
|
1262
|
-
standardLabel: z.ZodOptional<z.ZodString>;
|
|
1263
|
-
estimatedDeliveryLabel: z.ZodOptional<z.ZodString>;
|
|
1264
|
-
secureCheckoutLabel: z.ZodOptional<z.ZodString>;
|
|
1265
|
-
recentlyViewedLabel: z.ZodOptional<z.ZodString>;
|
|
1266
|
-
collapseLabel: z.ZodOptional<z.ZodString>;
|
|
1267
|
-
expandLabel: z.ZodOptional<z.ZodString>;
|
|
1268
|
-
checkoutLabel: z.ZodOptional<z.ZodString>;
|
|
1269
|
-
quickCheckoutLabel: z.ZodOptional<z.ZodString>;
|
|
1270
|
-
checkoutNowLabel: z.ZodOptional<z.ZodString>;
|
|
1271
|
-
emptyLabel: z.ZodOptional<z.ZodString>;
|
|
1272
|
-
removeLabel: z.ZodOptional<z.ZodString>;
|
|
1273
|
-
decreaseLabel: z.ZodOptional<z.ZodString>;
|
|
1274
|
-
increaseLabel: z.ZodOptional<z.ZodString>;
|
|
1275
|
-
}, "strip", z.ZodTypeAny, {
|
|
1276
|
-
items: {
|
|
1277
|
-
id: string;
|
|
1278
|
-
name: string;
|
|
1279
|
-
price: number;
|
|
1280
|
-
quantity: number;
|
|
1281
|
-
image?: string | undefined;
|
|
1282
|
-
variant?: string | undefined;
|
|
1283
|
-
unitPrice?: Money | undefined;
|
|
1284
|
-
lineTotal?: Money | undefined;
|
|
1285
|
-
}[];
|
|
1286
|
-
promotions: {
|
|
1287
|
-
threshold: number;
|
|
1288
|
-
reward: string;
|
|
1289
|
-
icon: string;
|
|
1290
|
-
}[];
|
|
1291
|
-
shippingLabel?: string | undefined;
|
|
1292
|
-
emptyLabel?: string | undefined;
|
|
1293
|
-
recentlyViewed?: {
|
|
1294
|
-
id: string;
|
|
1295
|
-
name: string;
|
|
1296
|
-
price: number;
|
|
1297
|
-
image: string;
|
|
1298
|
-
}[] | undefined;
|
|
1299
|
-
totals?: {
|
|
1300
|
-
subtotal: Money;
|
|
1301
|
-
total: Money;
|
|
1302
|
-
shipping?: Money | undefined;
|
|
1303
|
-
discount?: Money | undefined;
|
|
1304
|
-
tax?: Money | undefined;
|
|
1305
|
-
} | undefined;
|
|
1306
|
-
totalsState?: "idle" | "pending" | "error" | undefined;
|
|
1307
|
-
totalsErrorLabel?: string | undefined;
|
|
1308
|
-
totalsUnavailableLabel?: string | undefined;
|
|
1309
|
-
amountUnavailableLabel?: string | undefined;
|
|
1310
|
-
retryLabel?: string | undefined;
|
|
1311
|
-
taxRate?: number | undefined;
|
|
1312
|
-
titleLabel?: string | undefined;
|
|
1313
|
-
subtotalLabel?: string | undefined;
|
|
1314
|
-
discountLabel?: string | undefined;
|
|
1315
|
-
taxLabel?: string | undefined;
|
|
1316
|
-
shippingFreeLabel?: string | undefined;
|
|
1317
|
-
totalLabel?: string | undefined;
|
|
1318
|
-
totalsPendingLabel?: string | undefined;
|
|
1319
|
-
awayFromLabel?: string | undefined;
|
|
1320
|
-
activatedLabel?: string | undefined;
|
|
1321
|
-
itemsLabel?: string | undefined;
|
|
1322
|
-
expressCheckoutLabel?: string | undefined;
|
|
1323
|
-
expressLabel?: string | undefined;
|
|
1324
|
-
standardLabel?: string | undefined;
|
|
1325
|
-
estimatedDeliveryLabel?: string | undefined;
|
|
1326
|
-
secureCheckoutLabel?: string | undefined;
|
|
1327
|
-
recentlyViewedLabel?: string | undefined;
|
|
1328
|
-
collapseLabel?: string | undefined;
|
|
1329
|
-
expandLabel?: string | undefined;
|
|
1330
|
-
checkoutLabel?: string | undefined;
|
|
1331
|
-
quickCheckoutLabel?: string | undefined;
|
|
1332
|
-
checkoutNowLabel?: string | undefined;
|
|
1333
|
-
removeLabel?: string | undefined;
|
|
1334
|
-
decreaseLabel?: string | undefined;
|
|
1335
|
-
increaseLabel?: string | undefined;
|
|
1336
|
-
}, {
|
|
1337
|
-
items: {
|
|
1338
|
-
id: string;
|
|
1339
|
-
name: string;
|
|
1340
|
-
price: number;
|
|
1341
|
-
quantity: number;
|
|
1342
|
-
image?: string | undefined;
|
|
1343
|
-
variant?: string | undefined;
|
|
1344
|
-
unitPrice?: Money | undefined;
|
|
1345
|
-
lineTotal?: Money | undefined;
|
|
1346
|
-
}[];
|
|
1347
|
-
shippingLabel?: string | undefined;
|
|
1348
|
-
emptyLabel?: string | undefined;
|
|
1349
|
-
promotions?: {
|
|
1350
|
-
threshold: number;
|
|
1351
|
-
reward: string;
|
|
1352
|
-
icon?: string | undefined;
|
|
1353
|
-
}[] | undefined;
|
|
1354
|
-
recentlyViewed?: {
|
|
1355
|
-
id: string;
|
|
1356
|
-
name: string;
|
|
1357
|
-
price: number;
|
|
1358
|
-
image: string;
|
|
1359
|
-
}[] | undefined;
|
|
1360
|
-
totals?: {
|
|
1361
|
-
subtotal: Money;
|
|
1362
|
-
total: Money;
|
|
1363
|
-
shipping?: Money | undefined;
|
|
1364
|
-
discount?: Money | undefined;
|
|
1365
|
-
tax?: Money | undefined;
|
|
1366
|
-
} | undefined;
|
|
1367
|
-
totalsState?: "idle" | "pending" | "error" | undefined;
|
|
1368
|
-
totalsErrorLabel?: string | undefined;
|
|
1369
|
-
totalsUnavailableLabel?: string | undefined;
|
|
1370
|
-
amountUnavailableLabel?: string | undefined;
|
|
1371
|
-
retryLabel?: string | undefined;
|
|
1372
|
-
taxRate?: number | undefined;
|
|
1373
|
-
titleLabel?: string | undefined;
|
|
1374
|
-
subtotalLabel?: string | undefined;
|
|
1375
|
-
discountLabel?: string | undefined;
|
|
1376
|
-
taxLabel?: string | undefined;
|
|
1377
|
-
shippingFreeLabel?: string | undefined;
|
|
1378
|
-
totalLabel?: string | undefined;
|
|
1379
|
-
totalsPendingLabel?: string | undefined;
|
|
1380
|
-
awayFromLabel?: string | undefined;
|
|
1381
|
-
activatedLabel?: string | undefined;
|
|
1382
|
-
itemsLabel?: string | undefined;
|
|
1383
|
-
expressCheckoutLabel?: string | undefined;
|
|
1384
|
-
expressLabel?: string | undefined;
|
|
1385
|
-
standardLabel?: string | undefined;
|
|
1386
|
-
estimatedDeliveryLabel?: string | undefined;
|
|
1387
|
-
secureCheckoutLabel?: string | undefined;
|
|
1388
|
-
recentlyViewedLabel?: string | undefined;
|
|
1389
|
-
collapseLabel?: string | undefined;
|
|
1390
|
-
expandLabel?: string | undefined;
|
|
1391
|
-
checkoutLabel?: string | undefined;
|
|
1392
|
-
quickCheckoutLabel?: string | undefined;
|
|
1393
|
-
checkoutNowLabel?: string | undefined;
|
|
1394
|
-
removeLabel?: string | undefined;
|
|
1395
|
-
decreaseLabel?: string | undefined;
|
|
1396
|
-
increaseLabel?: string | undefined;
|
|
1397
|
-
}>;
|
|
1398
|
-
type ShoppingCart4SpecProps = z.infer<typeof shoppingCart4PropsSchema>;
|
|
1399
|
-
/**
|
|
1400
|
-
* Optional brand seams shared by the existing blocks. These mirror the
|
|
1401
|
-
* components' optional props as a serializable subset (no React): an accent
|
|
1402
|
-
* marks a trailing segment of the wordmark/brand name, and an editorial image
|
|
1403
|
-
* is a native `<img>` source. Omitting each keeps the block's current output.
|
|
1404
|
-
*/
|
|
1405
|
-
declare const logoAccentSchema: z.ZodObject<{
|
|
1406
|
-
text: z.ZodString;
|
|
1407
|
-
className: z.ZodOptional<z.ZodString>;
|
|
1408
|
-
}, "strip", z.ZodTypeAny, {
|
|
1409
|
-
text: string;
|
|
1410
|
-
className?: string | undefined;
|
|
1411
|
-
}, {
|
|
1412
|
-
text: string;
|
|
1413
|
-
className?: string | undefined;
|
|
1414
|
-
}>;
|
|
1415
|
-
type LogoAccent = z.infer<typeof logoAccentSchema>;
|
|
1416
|
-
declare const brandAccentSchema: z.ZodObject<{
|
|
1417
|
-
text: z.ZodString;
|
|
1418
|
-
className: z.ZodOptional<z.ZodString>;
|
|
1419
|
-
}, "strip", z.ZodTypeAny, {
|
|
1420
|
-
text: string;
|
|
1421
|
-
className?: string | undefined;
|
|
1422
|
-
}, {
|
|
1423
|
-
text: string;
|
|
1424
|
-
className?: string | undefined;
|
|
1425
|
-
}>;
|
|
1426
|
-
type BrandAccent = z.infer<typeof brandAccentSchema>;
|
|
1427
|
-
declare const heroImageSchema: z.ZodObject<{
|
|
1428
|
-
src: z.ZodString;
|
|
1429
|
-
alt: z.ZodString;
|
|
1430
|
-
}, "strip", z.ZodTypeAny, {
|
|
1431
|
-
src: string;
|
|
1432
|
-
alt: string;
|
|
1433
|
-
}, {
|
|
1434
|
-
src: string;
|
|
1435
|
-
alt: string;
|
|
1436
|
-
}>;
|
|
1437
|
-
type HeroImage = z.infer<typeof heroImageSchema>;
|
|
1438
|
-
declare const navbar4PropsSchema: z.ZodObject<{
|
|
1439
|
-
storeCategories: z.ZodArray<z.ZodType<StoreCategory, z.ZodTypeDef, StoreCategory>, "many">;
|
|
1440
|
-
shippingNote: z.ZodOptional<z.ZodString>;
|
|
1441
|
-
utilityLinks: z.ZodArray<z.ZodObject<{
|
|
1442
|
-
label: z.ZodString;
|
|
1443
|
-
href: z.ZodString;
|
|
1444
|
-
}, "strip", z.ZodTypeAny, {
|
|
1445
|
-
label: string;
|
|
1446
|
-
href: string;
|
|
1447
|
-
}, {
|
|
1448
|
-
label: string;
|
|
1449
|
-
href: string;
|
|
1450
|
-
}>, "many">;
|
|
1451
|
-
logoText: z.ZodString;
|
|
1452
|
-
logoHref: z.ZodOptional<z.ZodString>;
|
|
1453
|
-
/** Optional accent for a trailing segment of `logoText`; omitted → unchanged. */
|
|
1454
|
-
logoAccent: z.ZodOptional<z.ZodObject<{
|
|
1455
|
-
text: z.ZodString;
|
|
1456
|
-
className: z.ZodOptional<z.ZodString>;
|
|
1457
|
-
}, "strip", z.ZodTypeAny, {
|
|
1458
|
-
text: string;
|
|
1459
|
-
className?: string | undefined;
|
|
1460
|
-
}, {
|
|
1461
|
-
text: string;
|
|
1462
|
-
className?: string | undefined;
|
|
1463
|
-
}>>;
|
|
1464
|
-
/**
|
|
1465
|
-
* Consumer-supplied classes merged onto the block's outer surface as the
|
|
1466
|
-
* final argument (e.g. a semantic surface token). Omitted → unchanged.
|
|
1467
|
-
*/
|
|
1468
|
-
className: z.ZodOptional<z.ZodString>;
|
|
1469
|
-
accountHref: z.ZodOptional<z.ZodString>;
|
|
1470
|
-
searchQuery: z.ZodOptional<z.ZodString>;
|
|
1471
|
-
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1472
|
-
id: z.ZodString;
|
|
1473
|
-
name: z.ZodString;
|
|
1474
|
-
variant: z.ZodOptional<z.ZodString>;
|
|
1475
|
-
price: z.ZodNumber;
|
|
1476
|
-
qty: z.ZodNumber;
|
|
1477
|
-
/** Optional; absent images are omitted, never serialized as `""`. */
|
|
1478
|
-
image: z.ZodOptional<z.ZodString>;
|
|
1479
|
-
}, "strip", z.ZodTypeAny, {
|
|
1480
|
-
id: string;
|
|
1481
|
-
name: string;
|
|
1482
|
-
price: number;
|
|
1483
|
-
qty: number;
|
|
1484
|
-
image?: string | undefined;
|
|
1485
|
-
variant?: string | undefined;
|
|
1486
|
-
}, {
|
|
1487
|
-
id: string;
|
|
1488
|
-
name: string;
|
|
1489
|
-
price: number;
|
|
1490
|
-
qty: number;
|
|
1491
|
-
image?: string | undefined;
|
|
1492
|
-
variant?: string | undefined;
|
|
1493
|
-
}>, "many">>;
|
|
1494
|
-
/** Authoritative backend subtotal for the mini-cart. */
|
|
1495
|
-
subtotal: z.ZodOptional<z.ZodType<Money, z.ZodTypeDef, Money>>;
|
|
1496
|
-
subtotalUnavailableLabel: z.ZodOptional<z.ZodString>;
|
|
1497
|
-
user: z.ZodOptional<z.ZodObject<{
|
|
1498
|
-
name: z.ZodString;
|
|
1499
|
-
email: z.ZodString;
|
|
1500
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
1501
|
-
initials: z.ZodString;
|
|
1502
|
-
}, "strip", z.ZodTypeAny, {
|
|
1503
|
-
name: string;
|
|
1504
|
-
email: string;
|
|
1505
|
-
initials: string;
|
|
1506
|
-
avatar?: string | undefined;
|
|
1507
|
-
}, {
|
|
1508
|
-
name: string;
|
|
1509
|
-
email: string;
|
|
1510
|
-
initials: string;
|
|
1511
|
-
avatar?: string | undefined;
|
|
1512
|
-
}>>;
|
|
1513
|
-
accountMenuItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1514
|
-
label: z.ZodString;
|
|
1515
|
-
href: z.ZodString;
|
|
1516
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1517
|
-
icon: z.ZodOptional<z.ZodEnum<["orders", "wishlist", "addresses", "settings"]>>;
|
|
1518
|
-
}, "strip", z.ZodTypeAny, {
|
|
1519
|
-
label: string;
|
|
1520
|
-
href: string;
|
|
1521
|
-
description?: string | undefined;
|
|
1522
|
-
icon?: "orders" | "wishlist" | "addresses" | "settings" | undefined;
|
|
1523
|
-
}, {
|
|
1524
|
-
label: string;
|
|
1525
|
-
href: string;
|
|
1526
|
-
description?: string | undefined;
|
|
1527
|
-
icon?: "orders" | "wishlist" | "addresses" | "settings" | undefined;
|
|
1528
|
-
}>, "many">>;
|
|
1529
|
-
accountPending: z.ZodOptional<z.ZodBoolean>;
|
|
1530
|
-
accountUnavailable: z.ZodOptional<z.ZodBoolean>;
|
|
1531
|
-
}, "strip", z.ZodTypeAny, {
|
|
1532
|
-
storeCategories: StoreCategory[];
|
|
1533
|
-
utilityLinks: {
|
|
1534
|
-
label: string;
|
|
1535
|
-
href: string;
|
|
1536
|
-
}[];
|
|
1537
|
-
logoText: string;
|
|
1538
|
-
subtotal?: Money | undefined;
|
|
1539
|
-
className?: string | undefined;
|
|
1540
|
-
items?: {
|
|
1541
|
-
id: string;
|
|
1542
|
-
name: string;
|
|
1543
|
-
price: number;
|
|
1544
|
-
qty: number;
|
|
1545
|
-
image?: string | undefined;
|
|
1546
|
-
variant?: string | undefined;
|
|
1547
|
-
}[] | undefined;
|
|
1548
|
-
shippingNote?: string | undefined;
|
|
1549
|
-
logoHref?: string | undefined;
|
|
1550
|
-
logoAccent?: {
|
|
1551
|
-
text: string;
|
|
1552
|
-
className?: string | undefined;
|
|
1553
|
-
} | undefined;
|
|
1554
|
-
accountHref?: string | undefined;
|
|
1555
|
-
searchQuery?: string | undefined;
|
|
1556
|
-
subtotalUnavailableLabel?: string | undefined;
|
|
1557
|
-
user?: {
|
|
1558
|
-
name: string;
|
|
1559
|
-
email: string;
|
|
1560
|
-
initials: string;
|
|
1561
|
-
avatar?: string | undefined;
|
|
1562
|
-
} | undefined;
|
|
1563
|
-
accountMenuItems?: {
|
|
1564
|
-
label: string;
|
|
1565
|
-
href: string;
|
|
1566
|
-
description?: string | undefined;
|
|
1567
|
-
icon?: "orders" | "wishlist" | "addresses" | "settings" | undefined;
|
|
1568
|
-
}[] | undefined;
|
|
1569
|
-
accountPending?: boolean | undefined;
|
|
1570
|
-
accountUnavailable?: boolean | undefined;
|
|
1571
|
-
}, {
|
|
1572
|
-
storeCategories: StoreCategory[];
|
|
1573
|
-
utilityLinks: {
|
|
1574
|
-
label: string;
|
|
1575
|
-
href: string;
|
|
1576
|
-
}[];
|
|
1577
|
-
logoText: string;
|
|
1578
|
-
subtotal?: Money | undefined;
|
|
1579
|
-
className?: string | undefined;
|
|
1580
|
-
items?: {
|
|
1581
|
-
id: string;
|
|
1582
|
-
name: string;
|
|
1583
|
-
price: number;
|
|
1584
|
-
qty: number;
|
|
1585
|
-
image?: string | undefined;
|
|
1586
|
-
variant?: string | undefined;
|
|
1587
|
-
}[] | undefined;
|
|
1588
|
-
shippingNote?: string | undefined;
|
|
1589
|
-
logoHref?: string | undefined;
|
|
1590
|
-
logoAccent?: {
|
|
1591
|
-
text: string;
|
|
1592
|
-
className?: string | undefined;
|
|
1593
|
-
} | undefined;
|
|
1594
|
-
accountHref?: string | undefined;
|
|
1595
|
-
searchQuery?: string | undefined;
|
|
1596
|
-
subtotalUnavailableLabel?: string | undefined;
|
|
1597
|
-
user?: {
|
|
1598
|
-
name: string;
|
|
1599
|
-
email: string;
|
|
1600
|
-
initials: string;
|
|
1601
|
-
avatar?: string | undefined;
|
|
1602
|
-
} | undefined;
|
|
1603
|
-
accountMenuItems?: {
|
|
1604
|
-
label: string;
|
|
1605
|
-
href: string;
|
|
1606
|
-
description?: string | undefined;
|
|
1607
|
-
icon?: "orders" | "wishlist" | "addresses" | "settings" | undefined;
|
|
1608
|
-
}[] | undefined;
|
|
1609
|
-
accountPending?: boolean | undefined;
|
|
1610
|
-
accountUnavailable?: boolean | undefined;
|
|
1611
|
-
}>;
|
|
1612
|
-
type Navbar4SpecProps = z.infer<typeof navbar4PropsSchema>;
|
|
1613
|
-
/**
|
|
1614
|
-
* Serializable contracts for the two bounded editorial sections (`faq`, `cta`).
|
|
1615
|
-
* These are the serializable subset of `FaqBlock1Props`/`CtaSection1Props`: the
|
|
1616
|
-
* React-only callbacks (`onPrimaryClick`/`onSecondaryClick`) are intentionally
|
|
1617
|
-
* excluded — the catalog adapter binds them (see design D3).
|
|
1618
|
-
*/
|
|
1619
|
-
declare const ctaSchema: z.ZodObject<{
|
|
1620
|
-
label: z.ZodString;
|
|
1621
|
-
href: z.ZodOptional<z.ZodString>;
|
|
1622
|
-
}, "strip", z.ZodTypeAny, {
|
|
1623
|
-
label: string;
|
|
1624
|
-
href?: string | undefined;
|
|
1625
|
-
}, {
|
|
1626
|
-
label: string;
|
|
1627
|
-
href?: string | undefined;
|
|
1628
|
-
}>;
|
|
1629
|
-
type CtaSpec = z.infer<typeof ctaSchema>;
|
|
1630
|
-
declare const faqItemSchema: z.ZodObject<{
|
|
1631
|
-
value: z.ZodString;
|
|
1632
|
-
question: z.ZodString;
|
|
1633
|
-
answer: z.ZodString;
|
|
1634
|
-
}, "strip", z.ZodTypeAny, {
|
|
1635
|
-
value: string;
|
|
1636
|
-
question: string;
|
|
1637
|
-
answer: string;
|
|
1638
|
-
}, {
|
|
1639
|
-
value: string;
|
|
1640
|
-
question: string;
|
|
1641
|
-
answer: string;
|
|
1642
|
-
}>;
|
|
1643
|
-
type FaqItemSpec = z.infer<typeof faqItemSchema>;
|
|
1644
|
-
declare const faqBlock1PropsSchema: z.ZodObject<{
|
|
1645
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1646
|
-
value: z.ZodString;
|
|
1647
|
-
question: z.ZodString;
|
|
1648
|
-
answer: z.ZodString;
|
|
1649
|
-
}, "strip", z.ZodTypeAny, {
|
|
1650
|
-
value: string;
|
|
1651
|
-
question: string;
|
|
1652
|
-
answer: string;
|
|
1653
|
-
}, {
|
|
1654
|
-
value: string;
|
|
1655
|
-
question: string;
|
|
1656
|
-
answer: string;
|
|
1657
|
-
}>, "many">;
|
|
1658
|
-
title: z.ZodOptional<z.ZodString>;
|
|
1659
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1660
|
-
accordionType: z.ZodOptional<z.ZodEnum<["single", "multiple"]>>;
|
|
1661
|
-
}, "strip", z.ZodTypeAny, {
|
|
1662
|
-
items: {
|
|
1663
|
-
value: string;
|
|
1664
|
-
question: string;
|
|
1665
|
-
answer: string;
|
|
1666
|
-
}[];
|
|
1667
|
-
title?: string | undefined;
|
|
1668
|
-
description?: string | undefined;
|
|
1669
|
-
accordionType?: "single" | "multiple" | undefined;
|
|
1670
|
-
}, {
|
|
1671
|
-
items: {
|
|
1672
|
-
value: string;
|
|
1673
|
-
question: string;
|
|
1674
|
-
answer: string;
|
|
1675
|
-
}[];
|
|
1676
|
-
title?: string | undefined;
|
|
1677
|
-
description?: string | undefined;
|
|
1678
|
-
accordionType?: "single" | "multiple" | undefined;
|
|
1679
|
-
}>;
|
|
1680
|
-
type FaqBlock1SpecProps = z.infer<typeof faqBlock1PropsSchema>;
|
|
1681
|
-
declare const ctaSection1PropsSchema: z.ZodObject<{
|
|
1682
|
-
badgeText: z.ZodOptional<z.ZodString>;
|
|
1683
|
-
title: z.ZodOptional<z.ZodString>;
|
|
1684
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1685
|
-
primaryCta: z.ZodOptional<z.ZodObject<{
|
|
1686
|
-
label: z.ZodString;
|
|
1687
|
-
href: z.ZodOptional<z.ZodString>;
|
|
1688
|
-
}, "strip", z.ZodTypeAny, {
|
|
1689
|
-
label: string;
|
|
1690
|
-
href?: string | undefined;
|
|
1691
|
-
}, {
|
|
1692
|
-
label: string;
|
|
1693
|
-
href?: string | undefined;
|
|
1694
|
-
}>>;
|
|
1695
|
-
secondaryCta: z.ZodOptional<z.ZodObject<{
|
|
1696
|
-
label: z.ZodString;
|
|
1697
|
-
href: z.ZodOptional<z.ZodString>;
|
|
1698
|
-
}, "strip", z.ZodTypeAny, {
|
|
1699
|
-
label: string;
|
|
1700
|
-
href?: string | undefined;
|
|
1701
|
-
}, {
|
|
1702
|
-
label: string;
|
|
1703
|
-
href?: string | undefined;
|
|
1704
|
-
}>>;
|
|
1705
|
-
}, "strip", z.ZodTypeAny, {
|
|
1706
|
-
title?: string | undefined;
|
|
1707
|
-
description?: string | undefined;
|
|
1708
|
-
badgeText?: string | undefined;
|
|
1709
|
-
primaryCta?: {
|
|
1710
|
-
label: string;
|
|
1711
|
-
href?: string | undefined;
|
|
1712
|
-
} | undefined;
|
|
1713
|
-
secondaryCta?: {
|
|
1714
|
-
label: string;
|
|
1715
|
-
href?: string | undefined;
|
|
1716
|
-
} | undefined;
|
|
1717
|
-
}, {
|
|
1718
|
-
title?: string | undefined;
|
|
1719
|
-
description?: string | undefined;
|
|
1720
|
-
badgeText?: string | undefined;
|
|
1721
|
-
primaryCta?: {
|
|
1722
|
-
label: string;
|
|
1723
|
-
href?: string | undefined;
|
|
1724
|
-
} | undefined;
|
|
1725
|
-
secondaryCta?: {
|
|
1726
|
-
label: string;
|
|
1727
|
-
href?: string | undefined;
|
|
1728
|
-
} | undefined;
|
|
1729
|
-
}>;
|
|
1730
|
-
type CtaSection1SpecProps = z.infer<typeof ctaSection1PropsSchema>;
|
|
1731
|
-
|
|
1732
|
-
export { type AccountMenuItem, type BrandAccent, type ButtonSpecProps, type CanonMoney, type CanonProduct, type CardProduct, type CartItem, type CartTotals, type CtaSection1SpecProps, type CtaSpec, type FaqBlock1SpecProps, type FaqItemSpec, type HeroImage, type LogoAccent, type NavCartItem, type Navbar4SpecProps, PRODUCT_IMAGE_FALLBACK, type ProductCard1SpecProps, type ProductDetailProductSpec, type ProductDetailVariantSpec, type ProductOverview1SpecProps, type ProductPresentation, type ProductShowcase1SpecProps, type Promotion, type RecentlyViewedItem, type ShoppingCart4SpecProps, type StoreCategory, type StoreContainer1SpecProps, type StoreUser, type UtilityLink, accountMenuItemSchema, brandAccentSchema, buttonPropsSchema, cardProductSchema, cartItemSchema, cartTotalsSchema, ctaSchema, ctaSection1PropsSchema, faqBlock1PropsSchema, faqItemSchema, formatMoney, heroImageSchema, isAvailableMoney, isCompleteFiniteDecimal, logoAccentSchema, moneySchema, navCartItemSchema, navbar4PropsSchema, paymentMethodSchema, productCard1PropsSchema, productDetailProductSchema, productDetailVariantSchema, productOverview1PropsSchema, productPresentationSchema, productShowcase1PropsSchema, promotionSchema, recentlyViewedItemSchema, resolveAbsoluteQuantity, shoppingCart4PropsSchema, storeCategorySchema, storeContainer1PropsSchema, storeUserSchema, utilityLinkSchema };
|