@ecomiq/core 0.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.
- package/README.md +42 -0
- package/dist/api.cjs +99 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.d.cts +52 -0
- package/dist/api.d.ts +52 -0
- package/dist/api.js +93 -0
- package/dist/api.js.map +1 -0
- package/dist/client.cjs +1344 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +82 -0
- package/dist/client.d.ts +82 -0
- package/dist/client.js +1341 -0
- package/dist/client.js.map +1 -0
- package/dist/index.cjs +1611 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1109 -0
- package/dist/index.d.ts +1109 -0
- package/dist/index.js +1450 -0
- package/dist/index.js.map +1 -0
- package/dist/models/collections.cjs +20 -0
- package/dist/models/collections.cjs.map +1 -0
- package/dist/models/collections.d.cts +56 -0
- package/dist/models/collections.d.ts +56 -0
- package/dist/models/collections.js +17 -0
- package/dist/models/collections.js.map +1 -0
- package/dist/models/geo.cjs +62 -0
- package/dist/models/geo.cjs.map +1 -0
- package/dist/models/geo.d.cts +279 -0
- package/dist/models/geo.d.ts +279 -0
- package/dist/models/geo.js +48 -0
- package/dist/models/geo.js.map +1 -0
- package/dist/models/products.cjs +212 -0
- package/dist/models/products.cjs.map +1 -0
- package/dist/models/products.d.cts +1421 -0
- package/dist/models/products.d.ts +1421 -0
- package/dist/models/products.js +187 -0
- package/dist/models/products.js.map +1 -0
- package/dist/models/search.cjs +200 -0
- package/dist/models/search.cjs.map +1 -0
- package/dist/models/search.d.cts +51 -0
- package/dist/models/search.d.ts +51 -0
- package/dist/models/search.js +196 -0
- package/dist/models/search.js.map +1 -0
- package/dist/models/settings.cjs +285 -0
- package/dist/models/settings.cjs.map +1 -0
- package/dist/models/settings.d.cts +7039 -0
- package/dist/models/settings.d.ts +7039 -0
- package/dist/models/settings.js +239 -0
- package/dist/models/settings.js.map +1 -0
- package/dist/models/storefront-cart.cjs +148 -0
- package/dist/models/storefront-cart.cjs.map +1 -0
- package/dist/models/storefront-cart.d.cts +747 -0
- package/dist/models/storefront-cart.d.ts +747 -0
- package/dist/models/storefront-cart.js +133 -0
- package/dist/models/storefront-cart.js.map +1 -0
- package/dist/models/storefront-checkout.cjs +307 -0
- package/dist/models/storefront-checkout.cjs.map +1 -0
- package/dist/models/storefront-checkout.d.cts +4122 -0
- package/dist/models/storefront-checkout.d.ts +4122 -0
- package/dist/models/storefront-checkout.js +288 -0
- package/dist/models/storefront-checkout.js.map +1 -0
- package/dist/models/storefront-reviews.cjs +223 -0
- package/dist/models/storefront-reviews.cjs.map +1 -0
- package/dist/models/storefront-reviews.d.cts +147 -0
- package/dist/models/storefront-reviews.d.ts +147 -0
- package/dist/models/storefront-reviews.js +218 -0
- package/dist/models/storefront-reviews.js.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
// src/models/products.ts
|
|
6
|
+
var ProductPublicIdSchema = zod.z.union([
|
|
7
|
+
zod.z.string().regex(/^[1-9]\d*$/),
|
|
8
|
+
zod.z.number().int().safe().positive()
|
|
9
|
+
]).transform(String);
|
|
10
|
+
var ProductSummarySchema = zod.z.object({
|
|
11
|
+
id: ProductPublicIdSchema,
|
|
12
|
+
name: zod.z.string(),
|
|
13
|
+
slug: zod.z.string(),
|
|
14
|
+
productType: zod.z.string(),
|
|
15
|
+
imageUrl: zod.z.string(),
|
|
16
|
+
price: zod.z.number().nonnegative(),
|
|
17
|
+
compareAtPrice: zod.z.number().nonnegative().nullable(),
|
|
18
|
+
variantCount: zod.z.number().int().nonnegative(),
|
|
19
|
+
isAvailable: zod.z.boolean(),
|
|
20
|
+
totalInventory: zod.z.number().int().nonnegative(),
|
|
21
|
+
bundleItemsCount: zod.z.number().int().nonnegative(),
|
|
22
|
+
brand: zod.z.string(),
|
|
23
|
+
category: zod.z.string(),
|
|
24
|
+
status: zod.z.string(),
|
|
25
|
+
collections: zod.z.array(zod.z.string()),
|
|
26
|
+
tags: zod.z.array(zod.z.string())
|
|
27
|
+
});
|
|
28
|
+
var ProductSummariesSchema = zod.z.array(ProductSummarySchema);
|
|
29
|
+
var ProductSchema = ProductSummarySchema;
|
|
30
|
+
var FacetItemSchema = zod.z.object({
|
|
31
|
+
value: zod.z.string(),
|
|
32
|
+
count: zod.z.number().int().nonnegative(),
|
|
33
|
+
label: zod.z.string().nullable(),
|
|
34
|
+
selected: zod.z.boolean()
|
|
35
|
+
});
|
|
36
|
+
var FacetSchema = FacetItemSchema;
|
|
37
|
+
var SearchFilterSchema = zod.z.object({
|
|
38
|
+
id: zod.z.string(),
|
|
39
|
+
label: zod.z.string(),
|
|
40
|
+
type: zod.z.enum(["list", "price_range"]),
|
|
41
|
+
values: zod.z.array(FacetItemSchema),
|
|
42
|
+
min: zod.z.number().nonnegative().nullable(),
|
|
43
|
+
max: zod.z.number().nonnegative().nullable(),
|
|
44
|
+
selectedMin: zod.z.number().nonnegative().nullable(),
|
|
45
|
+
selectedMax: zod.z.number().nonnegative().nullable()
|
|
46
|
+
});
|
|
47
|
+
var ProductsResponseSchema = zod.z.object({
|
|
48
|
+
pageIndex: zod.z.number().int().positive(),
|
|
49
|
+
pageSize: zod.z.number().int().positive().max(100),
|
|
50
|
+
totalCount: zod.z.number().int().nonnegative(),
|
|
51
|
+
totalPages: zod.z.number().int().nonnegative(),
|
|
52
|
+
products: zod.z.array(ProductSummarySchema),
|
|
53
|
+
filters: zod.z.array(SearchFilterSchema)
|
|
54
|
+
});
|
|
55
|
+
var ProductSortSchema = zod.z.enum([
|
|
56
|
+
"price_asc",
|
|
57
|
+
"price_desc",
|
|
58
|
+
"name_asc",
|
|
59
|
+
"name_desc",
|
|
60
|
+
"newest"
|
|
61
|
+
]);
|
|
62
|
+
var ProductsParamsSchema = zod.z.object({
|
|
63
|
+
page: zod.z.number().int().positive().default(1),
|
|
64
|
+
pageSize: zod.z.number().int().positive().max(100).default(24),
|
|
65
|
+
sort: ProductSortSchema.optional(),
|
|
66
|
+
sellerId: zod.z.string().uuid().optional(),
|
|
67
|
+
search: zod.z.string().optional(),
|
|
68
|
+
collection: zod.z.string().optional(),
|
|
69
|
+
collections: zod.z.array(zod.z.string()).optional(),
|
|
70
|
+
collectionId: ProductPublicIdSchema.optional(),
|
|
71
|
+
category: zod.z.string().optional(),
|
|
72
|
+
categories: zod.z.array(zod.z.string()).optional(),
|
|
73
|
+
brand: zod.z.string().optional(),
|
|
74
|
+
brands: zod.z.array(zod.z.string()).optional(),
|
|
75
|
+
productType: zod.z.string().optional(),
|
|
76
|
+
productTypes: zod.z.array(zod.z.string()).optional(),
|
|
77
|
+
tag: zod.z.string().optional(),
|
|
78
|
+
tags: zod.z.array(zod.z.string()).optional(),
|
|
79
|
+
filters: zod.z.array(zod.z.string()).optional(),
|
|
80
|
+
locationId: zod.z.string().uuid().optional(),
|
|
81
|
+
inStock: zod.z.boolean().optional(),
|
|
82
|
+
minPrice: zod.z.number().nonnegative().optional(),
|
|
83
|
+
maxPrice: zod.z.number().nonnegative().optional()
|
|
84
|
+
});
|
|
85
|
+
var ProductDetailParamsSchema = zod.z.object({
|
|
86
|
+
sellerId: zod.z.string().uuid().optional()
|
|
87
|
+
});
|
|
88
|
+
var RelatedProductsParamsSchema = zod.z.object({
|
|
89
|
+
productId: ProductPublicIdSchema,
|
|
90
|
+
limit: zod.z.number().int().positive().max(12).default(8),
|
|
91
|
+
sellerId: zod.z.string().uuid().optional()
|
|
92
|
+
});
|
|
93
|
+
var SpecItemSchema = zod.z.object({
|
|
94
|
+
key: zod.z.string(),
|
|
95
|
+
name: zod.z.string(),
|
|
96
|
+
value: zod.z.string()
|
|
97
|
+
});
|
|
98
|
+
var VariantOptionSchema = SpecItemSchema;
|
|
99
|
+
var ProductImageSchema = zod.z.object({
|
|
100
|
+
url: zod.z.string(),
|
|
101
|
+
name: zod.z.string(),
|
|
102
|
+
order: zod.z.number().int().nonnegative()
|
|
103
|
+
});
|
|
104
|
+
var VariantItemSchema = zod.z.object({
|
|
105
|
+
id: zod.z.string().nullable(),
|
|
106
|
+
sku: zod.z.string(),
|
|
107
|
+
status: zod.z.string(),
|
|
108
|
+
price: zod.z.number().nonnegative(),
|
|
109
|
+
compareAtPrice: zod.z.number().nonnegative().nullable(),
|
|
110
|
+
quantity: zod.z.number().int().nonnegative(),
|
|
111
|
+
options: zod.z.array(SpecItemSchema),
|
|
112
|
+
images: zod.z.array(ProductImageSchema)
|
|
113
|
+
});
|
|
114
|
+
var VariantSchema = VariantItemSchema;
|
|
115
|
+
var ProductPriceTierSchema = zod.z.object({
|
|
116
|
+
variantId: zod.z.string(),
|
|
117
|
+
minQuantity: zod.z.number().int().positive(),
|
|
118
|
+
maxQuantity: zod.z.number().int().positive().nullable(),
|
|
119
|
+
unitPrice: zod.z.number().nonnegative()
|
|
120
|
+
});
|
|
121
|
+
var PriceTierSchema = ProductPriceTierSchema;
|
|
122
|
+
var BundleItemSchema = zod.z.object({
|
|
123
|
+
productId: ProductPublicIdSchema,
|
|
124
|
+
variantId: ProductPublicIdSchema,
|
|
125
|
+
productName: zod.z.string(),
|
|
126
|
+
variantName: zod.z.string().nullable(),
|
|
127
|
+
sku: zod.z.string().nullable(),
|
|
128
|
+
brand: zod.z.string().nullable(),
|
|
129
|
+
imageUrl: zod.z.string().nullable(),
|
|
130
|
+
quantity: zod.z.number().int().positive(),
|
|
131
|
+
available: zod.z.number().int().nonnegative(),
|
|
132
|
+
allowBackorders: zod.z.boolean(),
|
|
133
|
+
requiresShipping: zod.z.boolean()
|
|
134
|
+
});
|
|
135
|
+
var SizeGuideMeasurementSchema = zod.z.object({
|
|
136
|
+
key: zod.z.string(),
|
|
137
|
+
name: zod.z.string(),
|
|
138
|
+
min: zod.z.number().nullable(),
|
|
139
|
+
max: zod.z.number().nullable(),
|
|
140
|
+
value: zod.z.number().nullable(),
|
|
141
|
+
description: zod.z.string().nullable()
|
|
142
|
+
});
|
|
143
|
+
var SizeGuideRowSchema = zod.z.object({
|
|
144
|
+
label: zod.z.string(),
|
|
145
|
+
sizeKey: zod.z.string(),
|
|
146
|
+
order: zod.z.number().int().nonnegative(),
|
|
147
|
+
measurements: zod.z.array(SizeGuideMeasurementSchema)
|
|
148
|
+
});
|
|
149
|
+
var SizeGuideSchema = zod.z.object({
|
|
150
|
+
id: zod.z.string(),
|
|
151
|
+
name: zod.z.string(),
|
|
152
|
+
slug: zod.z.string(),
|
|
153
|
+
description: zod.z.string().nullable(),
|
|
154
|
+
imageUrl: zod.z.string().nullable(),
|
|
155
|
+
gender: zod.z.string(),
|
|
156
|
+
measurementType: zod.z.string(),
|
|
157
|
+
unit: zod.z.string(),
|
|
158
|
+
notes: zod.z.string().nullable(),
|
|
159
|
+
rows: zod.z.array(SizeGuideRowSchema)
|
|
160
|
+
});
|
|
161
|
+
var ProductDetailSchema = zod.z.object({
|
|
162
|
+
id: ProductPublicIdSchema,
|
|
163
|
+
name: zod.z.string(),
|
|
164
|
+
slug: zod.z.string(),
|
|
165
|
+
description: zod.z.string(),
|
|
166
|
+
productType: zod.z.string(),
|
|
167
|
+
status: zod.z.string(),
|
|
168
|
+
imageUrl: zod.z.string(),
|
|
169
|
+
price: zod.z.number().nonnegative(),
|
|
170
|
+
compareAtPrice: zod.z.number().nonnegative().nullable(),
|
|
171
|
+
isAvailable: zod.z.boolean(),
|
|
172
|
+
totalInventory: zod.z.number().int().nonnegative(),
|
|
173
|
+
brand: zod.z.string(),
|
|
174
|
+
category: zod.z.string(),
|
|
175
|
+
categoryId: ProductPublicIdSchema.nullable(),
|
|
176
|
+
tags: zod.z.array(zod.z.string()),
|
|
177
|
+
specifications: zod.z.array(SpecItemSchema),
|
|
178
|
+
variants: zod.z.array(VariantItemSchema),
|
|
179
|
+
images: zod.z.array(ProductImageSchema),
|
|
180
|
+
bundleItems: zod.z.array(BundleItemSchema),
|
|
181
|
+
sizeGuide: SizeGuideSchema.nullable(),
|
|
182
|
+
priceTiers: zod.z.array(ProductPriceTierSchema),
|
|
183
|
+
createdAt: zod.z.string().datetime({ offset: true }).nullable(),
|
|
184
|
+
updatedAt: zod.z.string().datetime({ offset: true }).nullable()
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
exports.BundleItemSchema = BundleItemSchema;
|
|
188
|
+
exports.FacetItemSchema = FacetItemSchema;
|
|
189
|
+
exports.FacetSchema = FacetSchema;
|
|
190
|
+
exports.PriceTierSchema = PriceTierSchema;
|
|
191
|
+
exports.ProductDetailParamsSchema = ProductDetailParamsSchema;
|
|
192
|
+
exports.ProductDetailSchema = ProductDetailSchema;
|
|
193
|
+
exports.ProductImageSchema = ProductImageSchema;
|
|
194
|
+
exports.ProductPriceTierSchema = ProductPriceTierSchema;
|
|
195
|
+
exports.ProductPublicIdSchema = ProductPublicIdSchema;
|
|
196
|
+
exports.ProductSchema = ProductSchema;
|
|
197
|
+
exports.ProductSortSchema = ProductSortSchema;
|
|
198
|
+
exports.ProductSummariesSchema = ProductSummariesSchema;
|
|
199
|
+
exports.ProductSummarySchema = ProductSummarySchema;
|
|
200
|
+
exports.ProductsParamsSchema = ProductsParamsSchema;
|
|
201
|
+
exports.ProductsResponseSchema = ProductsResponseSchema;
|
|
202
|
+
exports.RelatedProductsParamsSchema = RelatedProductsParamsSchema;
|
|
203
|
+
exports.SearchFilterSchema = SearchFilterSchema;
|
|
204
|
+
exports.SizeGuideMeasurementSchema = SizeGuideMeasurementSchema;
|
|
205
|
+
exports.SizeGuideRowSchema = SizeGuideRowSchema;
|
|
206
|
+
exports.SizeGuideSchema = SizeGuideSchema;
|
|
207
|
+
exports.SpecItemSchema = SpecItemSchema;
|
|
208
|
+
exports.VariantItemSchema = VariantItemSchema;
|
|
209
|
+
exports.VariantOptionSchema = VariantOptionSchema;
|
|
210
|
+
exports.VariantSchema = VariantSchema;
|
|
211
|
+
//# sourceMappingURL=products.cjs.map
|
|
212
|
+
//# sourceMappingURL=products.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/models/products.ts"],"names":["z"],"mappings":"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","file":"products.cjs","sourcesContent":["import { z } from 'zod'\n\nexport const ProductPublicIdSchema = z\n .union([\n z.string().regex(/^[1-9]\\d*$/),\n z.number().int().safe().positive(),\n ])\n .transform(String)\n\nexport const ProductSummarySchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n productType: z.string(),\n imageUrl: z.string(),\n price: z.number().nonnegative(),\n compareAtPrice: z.number().nonnegative().nullable(),\n variantCount: z.number().int().nonnegative(),\n isAvailable: z.boolean(),\n totalInventory: z.number().int().nonnegative(),\n bundleItemsCount: z.number().int().nonnegative(),\n brand: z.string(),\n category: z.string(),\n status: z.string(),\n collections: z.array(z.string()),\n tags: z.array(z.string()),\n})\n\nexport const ProductSummariesSchema = z.array(ProductSummarySchema)\n\nexport const ProductSchema = ProductSummarySchema\n\nexport const FacetItemSchema = z.object({\n value: z.string(),\n count: z.number().int().nonnegative(),\n label: z.string().nullable(),\n selected: z.boolean(),\n})\n\nexport const FacetSchema = FacetItemSchema\n\nexport const SearchFilterSchema = z.object({\n id: z.string(),\n label: z.string(),\n type: z.enum(['list', 'price_range']),\n values: z.array(FacetItemSchema),\n min: z.number().nonnegative().nullable(),\n max: z.number().nonnegative().nullable(),\n selectedMin: z.number().nonnegative().nullable(),\n selectedMax: z.number().nonnegative().nullable(),\n})\n\nexport const ProductsResponseSchema = z.object({\n pageIndex: z.number().int().positive(),\n pageSize: z.number().int().positive().max(100),\n totalCount: z.number().int().nonnegative(),\n totalPages: z.number().int().nonnegative(),\n products: z.array(ProductSummarySchema),\n filters: z.array(SearchFilterSchema),\n})\n\nexport const ProductSortSchema = z.enum([\n 'price_asc',\n 'price_desc',\n 'name_asc',\n 'name_desc',\n 'newest',\n])\n\nexport const ProductsParamsSchema = z.object({\n page: z.number().int().positive().default(1),\n pageSize: z.number().int().positive().max(100).default(24),\n sort: ProductSortSchema.optional(),\n sellerId: z.string().uuid().optional(),\n search: z.string().optional(),\n collection: z.string().optional(),\n collections: z.array(z.string()).optional(),\n collectionId: ProductPublicIdSchema.optional(),\n category: z.string().optional(),\n categories: z.array(z.string()).optional(),\n brand: z.string().optional(),\n brands: z.array(z.string()).optional(),\n productType: z.string().optional(),\n productTypes: z.array(z.string()).optional(),\n tag: z.string().optional(),\n tags: z.array(z.string()).optional(),\n filters: z.array(z.string()).optional(),\n locationId: z.string().uuid().optional(),\n inStock: z.boolean().optional(),\n minPrice: z.number().nonnegative().optional(),\n maxPrice: z.number().nonnegative().optional(),\n})\n\nexport const ProductDetailParamsSchema = z.object({\n sellerId: z.string().uuid().optional(),\n})\n\nexport const RelatedProductsParamsSchema = z.object({\n productId: ProductPublicIdSchema,\n limit: z.number().int().positive().max(12).default(8),\n sellerId: z.string().uuid().optional(),\n})\n\nexport const SpecItemSchema = z.object({\n key: z.string(),\n name: z.string(),\n value: z.string(),\n})\n\nexport const VariantOptionSchema = SpecItemSchema\n\nexport const ProductImageSchema = z.object({\n url: z.string(),\n name: z.string(),\n order: z.number().int().nonnegative(),\n})\n\nexport const VariantItemSchema = z.object({\n id: z.string().nullable(),\n sku: z.string(),\n status: z.string(),\n price: z.number().nonnegative(),\n compareAtPrice: z.number().nonnegative().nullable(),\n quantity: z.number().int().nonnegative(),\n options: z.array(SpecItemSchema),\n images: z.array(ProductImageSchema),\n})\n\nexport const VariantSchema = VariantItemSchema\n\nexport const ProductPriceTierSchema = z.object({\n variantId: z.string(),\n minQuantity: z.number().int().positive(),\n maxQuantity: z.number().int().positive().nullable(),\n unitPrice: z.number().nonnegative(),\n})\n\nexport const PriceTierSchema = ProductPriceTierSchema\n\nexport const BundleItemSchema = z.object({\n productId: ProductPublicIdSchema,\n variantId: ProductPublicIdSchema,\n productName: z.string(),\n variantName: z.string().nullable(),\n sku: z.string().nullable(),\n brand: z.string().nullable(),\n imageUrl: z.string().nullable(),\n quantity: z.number().int().positive(),\n available: z.number().int().nonnegative(),\n allowBackorders: z.boolean(),\n requiresShipping: z.boolean(),\n})\n\nexport const SizeGuideMeasurementSchema = z.object({\n key: z.string(),\n name: z.string(),\n min: z.number().nullable(),\n max: z.number().nullable(),\n value: z.number().nullable(),\n description: z.string().nullable(),\n})\n\nexport const SizeGuideRowSchema = z.object({\n label: z.string(),\n sizeKey: z.string(),\n order: z.number().int().nonnegative(),\n measurements: z.array(SizeGuideMeasurementSchema),\n})\n\nexport const SizeGuideSchema = z.object({\n id: z.string(),\n name: z.string(),\n slug: z.string(),\n description: z.string().nullable(),\n imageUrl: z.string().nullable(),\n gender: z.string(),\n measurementType: z.string(),\n unit: z.string(),\n notes: z.string().nullable(),\n rows: z.array(SizeGuideRowSchema),\n})\n\nexport const ProductDetailSchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n description: z.string(),\n productType: z.string(),\n status: z.string(),\n imageUrl: z.string(),\n price: z.number().nonnegative(),\n compareAtPrice: z.number().nonnegative().nullable(),\n isAvailable: z.boolean(),\n totalInventory: z.number().int().nonnegative(),\n brand: z.string(),\n category: z.string(),\n categoryId: ProductPublicIdSchema.nullable(),\n tags: z.array(z.string()),\n specifications: z.array(SpecItemSchema),\n variants: z.array(VariantItemSchema),\n images: z.array(ProductImageSchema),\n bundleItems: z.array(BundleItemSchema),\n sizeGuide: SizeGuideSchema.nullable(),\n priceTiers: z.array(ProductPriceTierSchema),\n createdAt: z.string().datetime({ offset: true }).nullable(),\n updatedAt: z.string().datetime({ offset: true }).nullable(),\n})\n\nexport type ProductSummary = z.infer<typeof ProductSummarySchema>\nexport type Product = ProductSummary\nexport type FacetItem = z.infer<typeof FacetItemSchema>\nexport type Facet = FacetItem\nexport type SearchFilter = z.infer<typeof SearchFilterSchema>\nexport type ProductsResponse = z.infer<typeof ProductsResponseSchema>\nexport type ProductsParams = z.infer<typeof ProductsParamsSchema>\nexport type ProductsParamsInput = z.input<typeof ProductsParamsSchema>\nexport type ProductDetailParams = z.input<typeof ProductDetailParamsSchema>\nexport type RelatedProductsParams = z.input<typeof RelatedProductsParamsSchema>\nexport type ProductSort = z.infer<typeof ProductSortSchema>\nexport type SpecItem = z.infer<typeof SpecItemSchema>\nexport type VariantOption = SpecItem\nexport type VariantItem = z.infer<typeof VariantItemSchema>\nexport type Variant = VariantItem\nexport type ProductImage = z.infer<typeof ProductImageSchema>\nexport type ProductPriceTier = z.infer<typeof ProductPriceTierSchema>\nexport type PriceTier = ProductPriceTier\nexport type BundleItem = z.infer<typeof BundleItemSchema>\nexport type SizeGuideMeasurement = z.infer<typeof SizeGuideMeasurementSchema>\nexport type SizeGuideRow = z.infer<typeof SizeGuideRowSchema>\nexport type SizeGuide = z.infer<typeof SizeGuideSchema>\nexport type ProductDetail = z.infer<typeof ProductDetailSchema>\n"]}
|