@decocms/apps-vtex 8.1.0-next.0 → 8.1.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +6 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/utils/constants.d.ts +28 -0
  6. package/dist/utils/constants.d.ts.map +1 -0
  7. package/dist/utils/constants.js +17 -0
  8. package/dist/utils/constants.js.map +1 -0
  9. package/dist/utils/cookieSanitizer.d.ts +87 -0
  10. package/dist/utils/cookieSanitizer.d.ts.map +1 -0
  11. package/dist/utils/cookieSanitizer.js +136 -0
  12. package/dist/utils/cookieSanitizer.js.map +1 -0
  13. package/dist/utils/operationRouter.d.ts +25 -0
  14. package/dist/utils/operationRouter.d.ts.map +1 -0
  15. package/dist/utils/operationRouter.js +120 -0
  16. package/dist/utils/operationRouter.js.map +1 -0
  17. package/dist/utils/types.d.ts +944 -0
  18. package/dist/utils/types.d.ts.map +1 -0
  19. package/dist/utils/types.js +25 -0
  20. package/dist/utils/types.js.map +1 -0
  21. package/dist/vtexClient.d.ts +173 -0
  22. package/dist/vtexClient.d.ts.map +1 -0
  23. package/dist/vtexClient.js +242 -0
  24. package/dist/vtexClient.js.map +1 -0
  25. package/package.json +16 -57
  26. package/src/index.ts +11 -29
  27. package/src/utils/constants.ts +2 -56
  28. package/src/utils/cookieSanitizer.ts +59 -59
  29. package/src/utils/operationRouter.ts +75 -65
  30. package/src/utils/types.ts +709 -1557
  31. package/src/vtexClient.ts +358 -347
  32. package/src/README.md +0 -6
  33. package/src/__conformance__/upstream.test.ts +0 -158
  34. package/src/__tests__/client-segment-cookie.test.ts +0 -255
  35. package/src/__tests__/client-set-cookie-forward.test.ts +0 -257
  36. package/src/__tests__/schemas.test.ts +0 -71
  37. package/src/actions/address.ts +0 -250
  38. package/src/actions/analytics/sendEvent.ts +0 -86
  39. package/src/actions/auth.ts +0 -333
  40. package/src/actions/checkout.ts +0 -659
  41. package/src/actions/index.ts +0 -11
  42. package/src/actions/masterData.ts +0 -168
  43. package/src/actions/misc.ts +0 -188
  44. package/src/actions/newsletter.ts +0 -105
  45. package/src/actions/orders.ts +0 -34
  46. package/src/actions/profile.ts +0 -201
  47. package/src/actions/session.ts +0 -85
  48. package/src/actions/trigger.ts +0 -43
  49. package/src/actions/wishlist.ts +0 -114
  50. package/src/client.ts +0 -724
  51. package/src/commerceLoaders.ts +0 -267
  52. package/src/hooks/__tests__/createCart.render.test.ts +0 -114
  53. package/src/hooks/__tests__/createCart.test.ts +0 -92
  54. package/src/hooks/__tests__/createUseCart.test.ts +0 -184
  55. package/src/hooks/__tests__/createUseUser.test.ts +0 -48
  56. package/src/hooks/__tests__/createUseWishlist.test.ts +0 -87
  57. package/src/hooks/cartQuery.ts +0 -204
  58. package/src/hooks/createCart.ts +0 -427
  59. package/src/hooks/createUseCart.ts +0 -360
  60. package/src/hooks/createUseUser.ts +0 -153
  61. package/src/hooks/createUseWishlist.ts +0 -242
  62. package/src/hooks/index.ts +0 -25
  63. package/src/hooks/useAutocomplete.ts +0 -83
  64. package/src/hooks/useCart.ts +0 -243
  65. package/src/hooks/useUser.ts +0 -78
  66. package/src/hooks/useWishlist.ts +0 -119
  67. package/src/invoke.ts +0 -235
  68. package/src/loaders/ProductDetailsPage.ts +0 -1
  69. package/src/loaders/ProductList.ts +0 -1
  70. package/src/loaders/ProductListingPage.ts +0 -1
  71. package/src/loaders/__tests__/legacyProductList.test.ts +0 -157
  72. package/src/loaders/address.ts +0 -115
  73. package/src/loaders/autocomplete.ts +0 -56
  74. package/src/loaders/brands.ts +0 -44
  75. package/src/loaders/cart/attachments.ts +0 -53
  76. package/src/loaders/cart/full.ts +0 -67
  77. package/src/loaders/cart/gifts.ts +0 -43
  78. package/src/loaders/cart/orderFormId.ts +0 -31
  79. package/src/loaders/cart/shipping.test.ts +0 -125
  80. package/src/loaders/cart/shipping.ts +0 -136
  81. package/src/loaders/cart/summary.ts +0 -36
  82. package/src/loaders/cart.ts +0 -52
  83. package/src/loaders/catalog.ts +0 -163
  84. package/src/loaders/collections.ts +0 -55
  85. package/src/loaders/index.ts +0 -20
  86. package/src/loaders/intelligentSearch/__tests__/productListingPage.test.ts +0 -51
  87. package/src/loaders/intelligentSearch/productDetailsPage.ts +0 -111
  88. package/src/loaders/intelligentSearch/productList.ts +0 -170
  89. package/src/loaders/intelligentSearch/productListingPage.ts +0 -525
  90. package/src/loaders/intelligentSearch/suggestions.ts +0 -44
  91. package/src/loaders/legacy/productDetailsPage.ts +0 -1
  92. package/src/loaders/legacy/productList.ts +0 -1
  93. package/src/loaders/legacy/relatedProductsLoader.ts +0 -79
  94. package/src/loaders/legacy.ts +0 -710
  95. package/src/loaders/logistics.ts +0 -111
  96. package/src/loaders/minicart.ts +0 -78
  97. package/src/loaders/navbar.ts +0 -26
  98. package/src/loaders/orders.ts +0 -92
  99. package/src/loaders/pageType.ts +0 -68
  100. package/src/loaders/paths/PDPDefaultPath.ts +0 -51
  101. package/src/loaders/payment.ts +0 -97
  102. package/src/loaders/productListFull.ts +0 -157
  103. package/src/loaders/profile.ts +0 -138
  104. package/src/loaders/promotion.ts +0 -30
  105. package/src/loaders/search.ts +0 -124
  106. package/src/loaders/session.ts +0 -83
  107. package/src/loaders/user.ts +0 -87
  108. package/src/loaders/wishlist.ts +0 -89
  109. package/src/loaders/wishlistProducts.ts +0 -69
  110. package/src/loaders/workflow/products.ts +0 -62
  111. package/src/loaders/workflow.ts +0 -316
  112. package/src/logo.png +0 -0
  113. package/src/manifest.gen.ts +0 -89
  114. package/src/middleware.cacheHeaders.test.ts +0 -44
  115. package/src/middleware.ts +0 -240
  116. package/src/mod.ts +0 -173
  117. package/src/registry.ts +0 -9
  118. package/src/schemas.gen.ts +0 -3191
  119. package/src/schemas.ts +0 -30
  120. package/src/types.ts +0 -248
  121. package/src/utils/__tests__/cartProjection.test.ts +0 -118
  122. package/src/utils/__tests__/cookieSanitizer.test.ts +0 -162
  123. package/src/utils/__tests__/fetch.test.ts +0 -80
  124. package/src/utils/__tests__/fetchCache.test.ts +0 -155
  125. package/src/utils/__tests__/instrumentedFetch.test.ts +0 -158
  126. package/src/utils/__tests__/intelligentSearch.test.ts +0 -88
  127. package/src/utils/__tests__/minicart.test.ts +0 -184
  128. package/src/utils/__tests__/operationRouter.test.ts +0 -227
  129. package/src/utils/__tests__/resilience.test.ts +0 -205
  130. package/src/utils/__tests__/resourceRange.test.ts +0 -32
  131. package/src/utils/__tests__/simulationCache.test.ts +0 -40
  132. package/src/utils/__tests__/sitemap.test.ts +0 -185
  133. package/src/utils/__tests__/slugify.test.ts +0 -31
  134. package/src/utils/__tests__/storefrontBaseUrl.test.ts +0 -61
  135. package/src/utils/__tests__/transform.test.ts +0 -1111
  136. package/src/utils/accountLoaders.ts +0 -203
  137. package/src/utils/authHelpers.ts +0 -85
  138. package/src/utils/batch.ts +0 -18
  139. package/src/utils/buildOfferShelf.test.ts +0 -59
  140. package/src/utils/cartProjection.ts +0 -96
  141. package/src/utils/cookies.ts +0 -167
  142. package/src/utils/enrichment.ts +0 -556
  143. package/src/utils/fetch.ts +0 -111
  144. package/src/utils/fetchCache.ts +0 -55
  145. package/src/utils/index.ts +0 -19
  146. package/src/utils/instrumentedFetch.ts +0 -98
  147. package/src/utils/intelligentSearch.ts +0 -96
  148. package/src/utils/legacy.ts +0 -139
  149. package/src/utils/minicart.ts +0 -139
  150. package/src/utils/pickAndOmit.ts +0 -25
  151. package/src/utils/proxy.ts +0 -495
  152. package/src/utils/resilience.ts +0 -352
  153. package/src/utils/resourceRange.ts +0 -10
  154. package/src/utils/segment.ts +0 -152
  155. package/src/utils/similars.ts +0 -35
  156. package/src/utils/simulationCache.ts +0 -73
  157. package/src/utils/sitemap.ts +0 -283
  158. package/src/utils/slugCache.ts +0 -28
  159. package/src/utils/slugify.ts +0 -13
  160. package/src/utils/transform.ts +0 -1691
  161. package/src/utils/vtexId.ts +0 -151
  162. package/src/vtexClient.test.ts +0 -204
  163. package/tsconfig.json +0 -7
@@ -0,0 +1,944 @@
1
+ export interface OrderForm {
2
+ orderFormId: string;
3
+ salesChannel: string;
4
+ loggedIn: boolean;
5
+ isCheckedIn: boolean;
6
+ storeId: null;
7
+ checkedInPickupPointId: null;
8
+ allowManualPrice: boolean;
9
+ canEditData: boolean;
10
+ userProfileId: null;
11
+ userType: null;
12
+ ignoreProfileData: boolean;
13
+ value: number;
14
+ messages: Message[];
15
+ items: OrderFormItem[];
16
+ selectableGifts: unknown[];
17
+ totalizers: Totalizer[];
18
+ shippingData: ShippingData;
19
+ clientProfileData: ClientProfileData | null;
20
+ paymentData: PaymentData;
21
+ marketingData: MarketingData;
22
+ sellers: Seller[];
23
+ clientPreferencesData: ClientPreferencesData;
24
+ commercialConditionData: null;
25
+ storePreferencesData: StorePreferencesData;
26
+ giftRegistryData: null;
27
+ openTextField: null;
28
+ invoiceData: null;
29
+ customData: null;
30
+ itemMetadata: ItemMetadata;
31
+ hooksData: null;
32
+ ratesAndBenefitsData: RatesAndBenefitsData;
33
+ subscriptionData: null;
34
+ merchantContextData: null;
35
+ itemsOrdination: null;
36
+ }
37
+ export interface ClientProfileData {
38
+ email: string;
39
+ firstName: null;
40
+ lastName: null;
41
+ document: null;
42
+ documentType: null;
43
+ phone: null;
44
+ corporateName: null;
45
+ tradeName: null;
46
+ corporateDocument: null;
47
+ stateInscription: null;
48
+ corporatePhone: null;
49
+ isCorporate: boolean;
50
+ profileCompleteOnLoading: boolean;
51
+ profileErrorOnLoading: boolean;
52
+ customerClass: null;
53
+ }
54
+ export interface ClientPreferencesData {
55
+ locale: string;
56
+ optinNewsLetter: null;
57
+ }
58
+ export interface ItemMetadata {
59
+ items: ItemMetadataItem[];
60
+ }
61
+ export interface ItemMetadataItem {
62
+ id: string;
63
+ seller: string;
64
+ name: string;
65
+ skuName: string;
66
+ productId: string;
67
+ refId: string;
68
+ ean: null | string;
69
+ imageUrl: string;
70
+ detailUrl: string;
71
+ assemblyOptions: AssemblyOption[];
72
+ }
73
+ export interface AssemblyOption {
74
+ id: Name;
75
+ name: Name;
76
+ required: boolean;
77
+ inputValues: Schema;
78
+ composition: null;
79
+ }
80
+ export declare enum Name {
81
+ AlternativeSubstitute = "ALTERNATIVE_SUBSTITUTE",
82
+ Substituto = "Substituto"
83
+ }
84
+ export interface Schema {
85
+ Sku: Ean;
86
+ Price: Ean;
87
+ Qtde?: Ean;
88
+ EAN: Ean;
89
+ Measuremt_unit: Ean;
90
+ Unit_multiplier: Ean;
91
+ Quantity: Ean;
92
+ }
93
+ export interface Ean {
94
+ maximumNumberOfCharacters: number;
95
+ domain: unknown[];
96
+ }
97
+ export interface OrderFormItem {
98
+ uniqueId: string;
99
+ id: string;
100
+ productId: string;
101
+ productRefId: string;
102
+ refId: string;
103
+ ean: null | string;
104
+ name: string;
105
+ skuName: string;
106
+ modalType: null | string;
107
+ parentItemIndex: null;
108
+ parentAssemblyBinding: null;
109
+ assemblies: unknown[];
110
+ priceValidUntil: Date;
111
+ tax: number;
112
+ price: number;
113
+ listPrice: number;
114
+ manualPrice: null;
115
+ manualPriceAppliedBy: null;
116
+ sellingPrice: number;
117
+ rewardValue: number;
118
+ isGift: boolean;
119
+ additionalInfo: AdditionalInfo;
120
+ preSaleDate: null;
121
+ productCategoryIds: string;
122
+ productCategories: {
123
+ [key: string]: string;
124
+ };
125
+ quantity: number;
126
+ seller: string;
127
+ sellerChain: string[];
128
+ imageUrl: string;
129
+ detailUrl: string;
130
+ components: Component[];
131
+ bundleItems: unknown[];
132
+ attachments: unknown[];
133
+ attachmentOfferings: AttachmentOffering[];
134
+ offerings: Offering[];
135
+ priceTags: PriceTag[];
136
+ availability: string;
137
+ measurementUnit: string;
138
+ unitMultiplier: number;
139
+ manufacturerCode: null;
140
+ priceDefinition: PriceDefinition;
141
+ }
142
+ export interface AdditionalInfo {
143
+ dimension: null;
144
+ brandName: null | string;
145
+ brandId: null | string;
146
+ offeringInfo: null;
147
+ offeringType: null;
148
+ offeringTypeId: null;
149
+ }
150
+ export interface AttachmentOffering {
151
+ name: Name;
152
+ required: boolean;
153
+ schema: Schema;
154
+ }
155
+ export interface Component {
156
+ uniqueId: string;
157
+ id: string;
158
+ productId: null;
159
+ productRefId: null;
160
+ refId: string;
161
+ ean: string;
162
+ name: string;
163
+ skuName: null;
164
+ modalType: null;
165
+ parentItemIndex: null;
166
+ parentAssemblyBinding: null;
167
+ assemblies: unknown[];
168
+ priceValidUntil: null;
169
+ tax: number;
170
+ price: number;
171
+ listPrice: null;
172
+ manualPrice: null;
173
+ manualPriceAppliedBy: null;
174
+ sellingPrice: number;
175
+ rewardValue: number;
176
+ isGift: boolean;
177
+ additionalInfo: AdditionalInfo;
178
+ preSaleDate: null;
179
+ productCategoryIds: null;
180
+ productCategories: AvailableAssociations;
181
+ quantity: number;
182
+ seller: null;
183
+ sellerChain: null[];
184
+ imageUrl: null;
185
+ detailUrl: null;
186
+ components: unknown[];
187
+ bundleItems: unknown[];
188
+ attachments: unknown[];
189
+ attachmentOfferings: unknown[];
190
+ offerings: unknown[];
191
+ priceTags: PriceTag[];
192
+ availability: null;
193
+ measurementUnit: string;
194
+ unitMultiplier: number;
195
+ manufacturerCode: null;
196
+ priceDefinition: PriceDefinition;
197
+ }
198
+ export interface PriceDefinition {
199
+ calculatedSellingPrice: number;
200
+ total: number;
201
+ sellingPrices: SellingPrice[];
202
+ }
203
+ export interface SellingPrice {
204
+ value: number;
205
+ quantity: number;
206
+ }
207
+ export interface PriceTag {
208
+ name: string;
209
+ value: number;
210
+ rawValue: number;
211
+ isPercentual: boolean;
212
+ identifier: string;
213
+ owner: string;
214
+ }
215
+ export type AvailableAssociations = Record<string, string>;
216
+ export interface MarketingData {
217
+ utmSource: string | undefined;
218
+ utmMedium: string | undefined;
219
+ utmCampaign: string | undefined;
220
+ utmiPage: string | undefined;
221
+ utmiPart: string | undefined;
222
+ utmiCampaign: string | undefined;
223
+ coupon: string | undefined;
224
+ marketingTags: string[] | undefined;
225
+ }
226
+ export interface Message {
227
+ code: null | string;
228
+ text: string;
229
+ status: string;
230
+ fields: Fields;
231
+ }
232
+ export interface Fields {
233
+ ean?: string;
234
+ itemIndex?: string;
235
+ skuName?: string;
236
+ }
237
+ export interface PaymentData {
238
+ updateStatus: string;
239
+ installmentOptions: InstallmentOption[];
240
+ paymentSystems: PaymentSystem[];
241
+ payments: unknown[];
242
+ giftCards: unknown[];
243
+ giftCardMessages: unknown[];
244
+ availableAccounts: unknown[];
245
+ availableTokens: unknown[];
246
+ availableAssociations: AvailableAssociations;
247
+ }
248
+ export interface InstallmentOption {
249
+ paymentSystem: string;
250
+ bin: null;
251
+ paymentName: null;
252
+ paymentGroupName: null;
253
+ value: number;
254
+ installments: CartInstallment[];
255
+ }
256
+ export interface CartInstallment {
257
+ count: number;
258
+ hasInterestRate: boolean;
259
+ interestRate: number;
260
+ value: number;
261
+ total: number;
262
+ sellerMerchantInstallments?: Installment[];
263
+ id?: ID;
264
+ }
265
+ export declare enum ID {
266
+ Carrefourbrfood = "CARREFOURBRFOOD"
267
+ }
268
+ export interface PaymentSystem {
269
+ id: number;
270
+ name: string;
271
+ groupName: string;
272
+ validator: Validator;
273
+ stringId: string;
274
+ template: string;
275
+ requiresDocument: boolean;
276
+ displayDocument: boolean;
277
+ isCustom: boolean;
278
+ description: null | string;
279
+ requiresAuthentication: boolean;
280
+ dueDate: Date;
281
+ availablePayments: null;
282
+ }
283
+ export interface Validator {
284
+ regex: null | string;
285
+ mask: null | string;
286
+ cardCodeRegex: CardCodeRegex | null;
287
+ cardCodeMask: null | string;
288
+ weights: number[] | null;
289
+ useCvv: boolean;
290
+ useExpirationDate: boolean;
291
+ useCardHolderName: boolean;
292
+ useBillingAddress: boolean;
293
+ }
294
+ export declare enum CardCodeRegex {
295
+ The093$ = "^[0-9]{3}$",
296
+ The094$ = "^[0-9]{4}$"
297
+ }
298
+ export interface RatesAndBenefitsData {
299
+ rateAndBenefitsIdentifiers: RateAndBenefitsIdentifier[];
300
+ teaser: unknown[];
301
+ }
302
+ export interface RateAndBenefitsIdentifier {
303
+ id: string;
304
+ name: string;
305
+ featured: boolean;
306
+ description: string;
307
+ matchedParameters: MatchedParameters;
308
+ additionalInfo: null;
309
+ }
310
+ export interface MatchedParameters {
311
+ "Seller@CatalogSystem": string;
312
+ "productCluster@CatalogSystem"?: string;
313
+ "zipCode@Shipping"?: string;
314
+ slaIds?: string;
315
+ }
316
+ export interface Seller {
317
+ id: string;
318
+ name: string;
319
+ logo: string;
320
+ }
321
+ export interface ShippingData {
322
+ address: Address;
323
+ logisticsInfo: LogisticsInfo[];
324
+ selectedAddresses: Address[];
325
+ availableAddresses: Address[];
326
+ pickupPoints: PickupPoint[];
327
+ }
328
+ export interface Address {
329
+ addressType?: string;
330
+ receiverName: string | null;
331
+ addressId: string;
332
+ isDisposable?: boolean;
333
+ postalCode?: string;
334
+ city?: string;
335
+ state?: string;
336
+ country?: string;
337
+ street?: string;
338
+ number?: string;
339
+ neighborhood?: string;
340
+ addressName?: string;
341
+ complement: string | null;
342
+ reference?: string;
343
+ geoCoordinates?: number[];
344
+ name?: string;
345
+ }
346
+ export interface LogisticsInfo {
347
+ itemIndex: number;
348
+ selectedSla: SelectedSla | null;
349
+ selectedDeliveryChannel: SelectedDeliveryChannel;
350
+ addressId: string;
351
+ slas: Sla[];
352
+ shipsTo: string[];
353
+ itemId: string;
354
+ deliveryChannels: DeliveryChannel[];
355
+ }
356
+ export interface DeliveryChannel {
357
+ id: SelectedDeliveryChannel;
358
+ }
359
+ export declare enum SelectedDeliveryChannel {
360
+ Delivery = "delivery",
361
+ PickupInPoint = "pickup-in-point"
362
+ }
363
+ export declare enum SelectedSla {
364
+ ClickRetireRJS = "Click & Retire (RJS)",
365
+ Normal = "Normal"
366
+ }
367
+ export interface Sla {
368
+ id: SelectedSla;
369
+ deliveryChannel: SelectedDeliveryChannel;
370
+ name: SelectedSla;
371
+ deliveryIds: DeliveryID[];
372
+ shippingEstimate: string;
373
+ shippingEstimateDate: null;
374
+ lockTTL: null;
375
+ availableDeliveryWindows: AvailableDeliveryWindow[];
376
+ deliveryWindow: null;
377
+ price: number;
378
+ listPrice: number;
379
+ tax: number;
380
+ pickupStoreInfo: PickupStoreInfo;
381
+ pickupPointId: null | string;
382
+ pickupDistance: number | null;
383
+ polygonName: string;
384
+ transitTime: string;
385
+ }
386
+ export interface AvailableDeliveryWindow {
387
+ startDateUtc: Date;
388
+ endDateUtc: Date;
389
+ price: number;
390
+ lisPrice: number;
391
+ tax: number;
392
+ }
393
+ export interface DeliveryID {
394
+ courierId: string;
395
+ warehouseId: string;
396
+ dockId: string;
397
+ courierName: string;
398
+ quantity: number;
399
+ kitItemDetails: unknown[];
400
+ }
401
+ export interface PickupStoreInfo {
402
+ isPickupStore: boolean;
403
+ friendlyName: null | string;
404
+ address: Address | null;
405
+ additionalInfo: null | string;
406
+ dockId: null;
407
+ }
408
+ export interface PickupHolidays {
409
+ date?: string;
410
+ hourBegin?: string;
411
+ hourEnd?: string;
412
+ }
413
+ export interface PickupPoint {
414
+ friendlyName: string;
415
+ address: Address;
416
+ additionalInfo: string;
417
+ id: string;
418
+ businessHours: BusinessHour[];
419
+ pickupHolidays?: PickupHolidays[];
420
+ }
421
+ export interface BusinessHour {
422
+ DayOfWeek: number;
423
+ OpeningTime: string;
424
+ ClosingTime: string;
425
+ }
426
+ export interface StorePreferencesData {
427
+ countryCode: string;
428
+ saveUserData: boolean;
429
+ timeZone: string;
430
+ currencyCode: string;
431
+ currencyLocale: number;
432
+ currencySymbol: string;
433
+ currencyFormatInfo: CurrencyFormatInfo;
434
+ }
435
+ export interface CurrencyFormatInfo {
436
+ currencyDecimalDigits: number;
437
+ currencyDecimalSeparator: string;
438
+ currencyGroupSeparator: string;
439
+ currencyGroupSize: number;
440
+ startsWithCurrencySymbol: boolean;
441
+ }
442
+ export interface Totalizer {
443
+ id: string;
444
+ name: string;
445
+ value: number;
446
+ alternativeTotals?: Totalizer[];
447
+ }
448
+ export interface OrderFormItemInput {
449
+ id?: number;
450
+ index?: number;
451
+ quantity?: number;
452
+ seller?: string;
453
+ uniqueId?: string;
454
+ }
455
+ export type LegacySort = "OrderByPriceDESC" | "OrderByPriceASC" | "OrderByTopSaleDESC" | "OrderByReviewRateDESC" | "OrderByNameASC" | "OrderByNameDESC" | "OrderByReleaseDateDESC" | "OrderByBestDiscountDESC" | "OrderByScoreDESC" | "";
456
+ export type Fuzzy = "0" | "1" | "auto";
457
+ export interface SelectedFacet {
458
+ /**
459
+ * @title Key
460
+ * @description The key of the facet (e.g. "brand", "category-1", "productClusterIds")
461
+ */
462
+ key: string;
463
+ /**
464
+ * @title Value
465
+ * @description The value of the facet
466
+ */
467
+ value: string;
468
+ }
469
+ export type Sort = "price:desc" | "price:asc" | "orders:desc" | "name:desc" | "name:asc" | "release:desc" | "discount:desc" | "";
470
+ export interface Suggestion {
471
+ searches: Search[];
472
+ }
473
+ export interface Search {
474
+ term: string;
475
+ count: number;
476
+ }
477
+ export interface ProductSearchResult {
478
+ /**
479
+ * @description Total of products.
480
+ */
481
+ recordsFiltered: number;
482
+ products: Product[];
483
+ pagination: Pagination;
484
+ sampling: boolean;
485
+ options: Options;
486
+ translated: boolean;
487
+ locale: string;
488
+ query: string;
489
+ operator: "and" | "or";
490
+ redirect: string;
491
+ fuzzy: string;
492
+ correction?: Correction;
493
+ }
494
+ export interface Correction {
495
+ misspelled: boolean;
496
+ }
497
+ export interface Options {
498
+ sorts: {
499
+ field: string;
500
+ order: string;
501
+ active?: boolean;
502
+ proxyURL: string;
503
+ }[];
504
+ counts: Count[];
505
+ }
506
+ export interface Count {
507
+ count: number;
508
+ proxyURL: string;
509
+ }
510
+ export interface Pagination {
511
+ count: number;
512
+ current: Page;
513
+ before: Page[];
514
+ after: Page[];
515
+ perPage: number;
516
+ next: Page;
517
+ previous: Page;
518
+ first: Page;
519
+ last: Page;
520
+ }
521
+ export interface Page {
522
+ index: number;
523
+ proxyUrl: string;
524
+ }
525
+ export interface Suggestion {
526
+ searches: Search[];
527
+ }
528
+ export interface Search {
529
+ term: string;
530
+ count: number;
531
+ }
532
+ export interface IProduct {
533
+ productId: string;
534
+ productName: string;
535
+ brand: string;
536
+ brandId: number;
537
+ brandImageUrl?: string;
538
+ cacheId?: string;
539
+ linkText: string;
540
+ productReference: string;
541
+ categoryId: string;
542
+ clusterHighlights: Record<string, unknown>;
543
+ productClusters: Record<string, string>;
544
+ categories: string[];
545
+ categoriesIds: string[];
546
+ link: string;
547
+ description: string;
548
+ skuSpecifications?: SkuSpecification[];
549
+ priceRange: PriceRange;
550
+ specificationGroups: SpecificationGroup[];
551
+ properties: Array<{
552
+ name: string;
553
+ values: string[];
554
+ }>;
555
+ selectedProperties: Array<{
556
+ key: string;
557
+ value: string;
558
+ }>;
559
+ releaseDate: string;
560
+ origin?: string;
561
+ }
562
+ export type Product = IProduct & {
563
+ items: Item[];
564
+ clusterHighlights: Array<{
565
+ id: string;
566
+ name: string;
567
+ }>;
568
+ productClusters: Array<{
569
+ id: string;
570
+ name: string;
571
+ }>;
572
+ };
573
+ export type LegacyProduct = IProduct & {
574
+ metaTagDescription: string;
575
+ productTitle: string;
576
+ items: LegacyItem[];
577
+ allSpecifications: string[];
578
+ allSpecificationsGroups?: string[];
579
+ };
580
+ export interface PageType {
581
+ id: string | null;
582
+ name: string | null;
583
+ url: string | null;
584
+ title: string | null;
585
+ metaTagDescription: string | null;
586
+ pageType: "Brand" | "Category" | "Department" | "SubCategory" | "Product" | "Collection" | "Cluster" | "NotFound" | "FullText" | "Search";
587
+ }
588
+ export interface Category {
589
+ id: number;
590
+ name: string;
591
+ hasChildren: boolean;
592
+ children: Category[];
593
+ url: string;
594
+ Title?: string;
595
+ MetaTagDescription?: string;
596
+ }
597
+ export interface LegacyFacet {
598
+ Id: number;
599
+ Quantity: number;
600
+ Name: string;
601
+ Link: string;
602
+ LinkEncoded: string;
603
+ Map: string;
604
+ Value: string;
605
+ Slug?: string;
606
+ Children: LegacyFacet[];
607
+ }
608
+ export interface Image {
609
+ imageId: string;
610
+ imageLabel: string | null;
611
+ imageTag: string;
612
+ imageUrl: string;
613
+ imageText: string;
614
+ }
615
+ export interface Installment {
616
+ Value: number;
617
+ InterestRate: number;
618
+ TotalValuePlusInterestRate: number;
619
+ NumberOfInstallments: number;
620
+ PaymentSystemName: string;
621
+ PaymentSystemGroupName: string;
622
+ Name: string;
623
+ }
624
+ export type LegacyItem = Omit<Item, "variations" | "videos"> & {
625
+ variations: string[];
626
+ Videos: string[];
627
+ } & Record<string, string[]>;
628
+ export interface Item {
629
+ itemId: string;
630
+ name: string;
631
+ nameComplete: string;
632
+ complementName: string;
633
+ ean: string;
634
+ estimatedDateArrival: string;
635
+ referenceId?: Array<{
636
+ Key: string;
637
+ Value: string;
638
+ }>;
639
+ measurementUnit: string;
640
+ unitMultiplier: number;
641
+ modalType: string | null;
642
+ images: Image[];
643
+ videos: string[];
644
+ variations: Array<{
645
+ name: string;
646
+ values: string[];
647
+ }>;
648
+ sellers: Seller[];
649
+ attachments: Array<{
650
+ id: number;
651
+ name: string;
652
+ required: boolean;
653
+ domainValues: string;
654
+ }>;
655
+ isKit: boolean;
656
+ kitItems?: Array<{
657
+ itemId: string;
658
+ amount: number;
659
+ }>;
660
+ }
661
+ export interface TeasersParametersLegacy {
662
+ "<Name>k__BackingField": string;
663
+ "<Value>k__BackingField": string;
664
+ }
665
+ export interface TeasersConditionsLegacy {
666
+ "<MinimumQuantity>k__BackingField": number;
667
+ "<Parameters>k__BackingField": TeasersParametersLegacy[];
668
+ }
669
+ export interface TeasersEffectLegacy {
670
+ "<Parameters>k__BackingField": TeasersParametersLegacy[];
671
+ }
672
+ export interface TeasersLegacy {
673
+ "<Name>k__BackingField": string;
674
+ "<GeneralValues>k__BackingField": unknown;
675
+ "<Conditions>k__BackingField": TeasersConditionsLegacy;
676
+ "<Effects>k__BackingField": TeasersEffectLegacy;
677
+ }
678
+ export interface TeasersParameters {
679
+ name: string;
680
+ value: string;
681
+ }
682
+ export interface TeasersConditions {
683
+ minimumQuantity: number;
684
+ parameters: TeasersParameters[];
685
+ }
686
+ export interface TeasersEffect {
687
+ parameters: TeasersParameters[];
688
+ }
689
+ export interface Teasers {
690
+ name: string;
691
+ generalValues?: unknown;
692
+ conditions: TeasersConditions;
693
+ effects: TeasersEffect;
694
+ }
695
+ export interface CommertialOffer {
696
+ DeliverySlaSamplesPerRegion: Record<string, {
697
+ DeliverySlaPerTypes: unknown[];
698
+ Region: unknown | null;
699
+ }>;
700
+ Installments: Installment[];
701
+ DiscountHighLight: unknown[];
702
+ GiftSkuIds: string[];
703
+ Teasers: TeasersLegacy[];
704
+ teasers?: Teasers[];
705
+ BuyTogether: unknown[];
706
+ ItemMetadataAttachment: unknown[];
707
+ Price: number;
708
+ ListPrice: number;
709
+ spotPrice: number;
710
+ PriceWithoutDiscount: number;
711
+ RewardValue: number;
712
+ PriceValidUntil: string;
713
+ AvailableQuantity: number;
714
+ Tax: number;
715
+ DeliverySlaSamples: Array<{
716
+ DeliverySlaPerTypes: unknown[];
717
+ Region: unknown | null;
718
+ }>;
719
+ GetInfoErrorMessage: unknown | null;
720
+ CacheVersionUsedToCallCheckout: string;
721
+ }
722
+ export interface Seller {
723
+ sellerId: string;
724
+ sellerName: string;
725
+ addToCartLink: string;
726
+ sellerDefault: boolean;
727
+ commertialOffer: CommertialOffer;
728
+ }
729
+ export interface SkuSpecification {
730
+ field: SKUSpecificationField;
731
+ values: SKUSpecificationValue[];
732
+ }
733
+ export interface SKUSpecificationValue {
734
+ name: string;
735
+ id?: string;
736
+ fieldId?: string;
737
+ originalName?: string;
738
+ }
739
+ export interface SKUSpecificationField {
740
+ name: string;
741
+ originalName?: string;
742
+ id?: string;
743
+ }
744
+ export interface Price {
745
+ highPrice: number | null;
746
+ lowPrice: number | null;
747
+ }
748
+ export interface PriceRange {
749
+ sellingPrice: Price;
750
+ listPrice: Price;
751
+ }
752
+ export interface SpecificationGroup {
753
+ name: string;
754
+ originalName: string;
755
+ specifications: Array<{
756
+ name: string;
757
+ originalName: string;
758
+ values: string[];
759
+ }>;
760
+ }
761
+ export interface FacetSearchResult {
762
+ facets: Facet[];
763
+ breadcrumb: Breadcrumb[];
764
+ }
765
+ export interface BaseFacet {
766
+ name: string;
767
+ hidden: boolean;
768
+ key: string;
769
+ quantity: number;
770
+ }
771
+ export interface RangeFacet extends BaseFacet {
772
+ type: "PRICERANGE";
773
+ values: FacetValueRange[];
774
+ }
775
+ export interface BooleanFacet extends BaseFacet {
776
+ type: "TEXT" | "NUMBER";
777
+ values: FacetValueBoolean[];
778
+ }
779
+ export type Facet = RangeFacet | BooleanFacet;
780
+ export interface FacetValueBoolean {
781
+ quantity: number;
782
+ name: string;
783
+ key: string;
784
+ value: string;
785
+ selected: boolean;
786
+ href: string;
787
+ }
788
+ export interface FacetValueRange {
789
+ selected: boolean;
790
+ quantity: number;
791
+ range: {
792
+ from: number;
793
+ to: number;
794
+ };
795
+ }
796
+ export interface Breadcrumb {
797
+ href: string;
798
+ name: string;
799
+ }
800
+ export interface SimulationOrderForm {
801
+ items: Item[];
802
+ ratesAndBenefitsData: RatesAndBenefitsData;
803
+ paymentData: PaymentData;
804
+ selectableGifts: unknown[];
805
+ marketingData?: MarketingData;
806
+ postalCode: string;
807
+ country: string;
808
+ logisticsInfo: LogisticsInfo[];
809
+ messages: Message[];
810
+ purchaseConditions: PurchaseConditions;
811
+ pickupPoints: PickupPoint[];
812
+ subscriptionData?: unknown;
813
+ totals: Total[];
814
+ itemMetadata?: ItemMetadata;
815
+ allowMultipleDeliveries: boolean;
816
+ }
817
+ export interface Total {
818
+ id: string;
819
+ name: string;
820
+ value: number;
821
+ }
822
+ export interface PurchaseConditions {
823
+ itemPurchaseConditions: ItemPurchaseCondition[];
824
+ }
825
+ export interface ItemPurchaseCondition {
826
+ id: string;
827
+ seller: string;
828
+ sellerChain: string[];
829
+ slas: Sla[];
830
+ price: number;
831
+ listPrice: number;
832
+ }
833
+ export interface Installment {
834
+ count: number;
835
+ hasInterestRate: boolean;
836
+ interestRate: number;
837
+ value: number;
838
+ total: number;
839
+ sellerMerchantInstallments: SellerMerchantInstallment[];
840
+ }
841
+ export interface SellerMerchantInstallment {
842
+ id: string;
843
+ count: number;
844
+ hasInterestRate: boolean;
845
+ interestRate: number;
846
+ value: number;
847
+ total: number;
848
+ }
849
+ export interface PriceDefinition {
850
+ calculatedSellingPrice: number;
851
+ total: number;
852
+ sellingPrices: SellingPrice[];
853
+ }
854
+ export interface SellingPrice {
855
+ value: number;
856
+ quantity: number;
857
+ }
858
+ export interface Offering {
859
+ type: string;
860
+ id: string;
861
+ name: string;
862
+ allowGiftMessage: boolean;
863
+ attachmentOfferings: unknown[];
864
+ price: number;
865
+ }
866
+ export type CrossSellingType = "whosawalsosaw" | "whosawalsobought" | "whoboughtalsobought" | "showtogether" | "accessories" | "similars" | "suggestions";
867
+ export interface Item {
868
+ productId: string;
869
+ itemId: string;
870
+ name: string;
871
+ nameComplete: string;
872
+ imageUrl: string;
873
+ }
874
+ export type SimulationBehavior = "default" | "skip" | "only1P";
875
+ export interface Session {
876
+ id: string;
877
+ namespaces?: {
878
+ profile: SessionProfile;
879
+ impersonate: SessionImpersonate;
880
+ authentication: Record<string, string>;
881
+ public: SessionPublic;
882
+ };
883
+ }
884
+ export interface SessionProfile {
885
+ id?: {
886
+ value: string;
887
+ };
888
+ email?: {
889
+ value: string;
890
+ };
891
+ firstName?: {
892
+ value: string;
893
+ };
894
+ lastName?: {
895
+ value: string;
896
+ };
897
+ phone?: {
898
+ value: string;
899
+ };
900
+ isAuthenticated?: {
901
+ value: string;
902
+ };
903
+ priceTables?: {
904
+ value: string;
905
+ };
906
+ }
907
+ export interface SessionImpersonate {
908
+ storeUserEmail?: {
909
+ value: string;
910
+ };
911
+ storeUserId?: {
912
+ value: string;
913
+ };
914
+ }
915
+ export interface SessionPublic {
916
+ orderFormId?: {
917
+ value: string;
918
+ };
919
+ utm_source?: {
920
+ value: string;
921
+ };
922
+ utm_medium?: {
923
+ value: string;
924
+ };
925
+ utm_campaign?: {
926
+ value: string;
927
+ };
928
+ utm_term?: {
929
+ value: string;
930
+ };
931
+ utm_content?: {
932
+ value: string;
933
+ };
934
+ utmi_cp?: {
935
+ value: string;
936
+ };
937
+ utmi_pc?: {
938
+ value: string;
939
+ };
940
+ utmi_p?: {
941
+ value: string;
942
+ };
943
+ }
944
+ //# sourceMappingURL=types.d.ts.map