@mailbiz/onsite-vtex-vendor 0.1.1
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 +18 -0
- package/dist/onsite-vtex-vendor.d.ts +466 -0
- package/dist/onsite-vtex-vendor.js +2 -0
- package/dist/onsite-vtex-vendor.min.d.ts +466 -0
- package/dist/onsite-vtex-vendor.min.js +1535 -0
- package/package.json +58 -0
@@ -0,0 +1,466 @@
|
|
1
|
+
import { OnsiteCoreWindow } from "@mailbiz/onsite-core";
|
2
|
+
//#region [Window]
|
3
|
+
interface VtexLocalStorage {
|
4
|
+
orderform?: string; // VtexIOOrderFrom JSON string
|
5
|
+
}
|
6
|
+
interface VtexLegacyContext {
|
7
|
+
catalog: any;
|
8
|
+
checkout: {
|
9
|
+
orderForm: VtexLegacyOrderForm;
|
10
|
+
};
|
11
|
+
}
|
12
|
+
interface VtexWindow extends OnsiteCoreWindow {
|
13
|
+
vtexjs?: VtexLegacyContext;
|
14
|
+
localStorage?: VtexLocalStorage;
|
15
|
+
CATALOG_SDK?: VtexLegacyCatalog;
|
16
|
+
dataLayer?: DataLayerEvent[];
|
17
|
+
}
|
18
|
+
//#endregion
|
19
|
+
//#region [Data Layer]
|
20
|
+
interface DataLayerProduct {
|
21
|
+
brand: string;
|
22
|
+
category: string;
|
23
|
+
dimension1: string;
|
24
|
+
dimension2: string;
|
25
|
+
dimension3: string;
|
26
|
+
dimension4: string;
|
27
|
+
id: string;
|
28
|
+
name: string;
|
29
|
+
price: number;
|
30
|
+
variant: string;
|
31
|
+
}
|
32
|
+
interface DataLayerEvent {
|
33
|
+
event?: string;
|
34
|
+
ecommerce?: {
|
35
|
+
detail?: {
|
36
|
+
products?: DataLayerProduct[];
|
37
|
+
};
|
38
|
+
};
|
39
|
+
}
|
40
|
+
//#endregion
|
41
|
+
//#region [Vtex Order Form]
|
42
|
+
interface ProductCategories {
|
43
|
+
[categoryId: string]: string;
|
44
|
+
}
|
45
|
+
interface PriceTag {
|
46
|
+
name: string;
|
47
|
+
value: number;
|
48
|
+
rawValue: number;
|
49
|
+
isPercentual: boolean;
|
50
|
+
identifier: string;
|
51
|
+
owner?: string;
|
52
|
+
__typename?: string;
|
53
|
+
ratesAndBenefitsIdentifier?: any;
|
54
|
+
}
|
55
|
+
interface PriceDefinition {
|
56
|
+
calculatedSellingPrice: number;
|
57
|
+
total: number;
|
58
|
+
sellingPrices: SellingPrice[];
|
59
|
+
__typename?: string;
|
60
|
+
}
|
61
|
+
interface SellingPrice {
|
62
|
+
value: number;
|
63
|
+
quantity: number;
|
64
|
+
__typename?: string;
|
65
|
+
}
|
66
|
+
interface VtexTotalizer {
|
67
|
+
id: string;
|
68
|
+
name: string;
|
69
|
+
value: number;
|
70
|
+
__typename?: string;
|
71
|
+
}
|
72
|
+
interface VtexLegacyShippingData {
|
73
|
+
address: any;
|
74
|
+
logisticsInfo: LogisticsInfo[];
|
75
|
+
selectedAddresses: VtexAddress[];
|
76
|
+
availableAddresses: VtexAddress[];
|
77
|
+
pickupPoints: any[];
|
78
|
+
trackingHints?: any[];
|
79
|
+
isFOB?: boolean | null;
|
80
|
+
}
|
81
|
+
interface LogisticsInfo {
|
82
|
+
itemIndex: number;
|
83
|
+
selectedSla: string | null;
|
84
|
+
selectedDeliveryChannel: string;
|
85
|
+
addressId: string | null;
|
86
|
+
slas: any[];
|
87
|
+
shipsTo: string[];
|
88
|
+
itemId: string;
|
89
|
+
deliveryChannels: DeliveryChannel[];
|
90
|
+
price?: number;
|
91
|
+
sellingPrice?: number;
|
92
|
+
listPrice?: number;
|
93
|
+
shippingEstimate?: string;
|
94
|
+
dockEstimate?: string;
|
95
|
+
shippingEstimateDate?: string;
|
96
|
+
lockTTL?: string;
|
97
|
+
deliveryCompany?: string | null;
|
98
|
+
polygonName?: string;
|
99
|
+
transitTime?: string;
|
100
|
+
deliveryIds?: any[];
|
101
|
+
deliveryWindow?: string | null;
|
102
|
+
pickupPointId?: string | null;
|
103
|
+
pickupStoreInfo?: {
|
104
|
+
isPickupStore: boolean;
|
105
|
+
friendlyName: string | null;
|
106
|
+
address: string | null;
|
107
|
+
additionalInfo: string | null;
|
108
|
+
dockId: string | null;
|
109
|
+
};
|
110
|
+
pickupDistance?: string | null;
|
111
|
+
}
|
112
|
+
interface DeliveryChannel {
|
113
|
+
id: string;
|
114
|
+
}
|
115
|
+
interface PaymentData {
|
116
|
+
updateStatus?: string;
|
117
|
+
installmentOptions: InstallmentOption[];
|
118
|
+
paymentSystems: PaymentSystem[];
|
119
|
+
payments: Payment[];
|
120
|
+
giftCards?: any[];
|
121
|
+
giftCardMessages?: any[];
|
122
|
+
availableAccounts: any[];
|
123
|
+
availableTokens?: any[];
|
124
|
+
availableAssociations?: any;
|
125
|
+
isValid?: boolean;
|
126
|
+
__typename?: string;
|
127
|
+
}
|
128
|
+
interface InstallmentOption {
|
129
|
+
paymentSystem: string;
|
130
|
+
bin?: any;
|
131
|
+
paymentName?: any;
|
132
|
+
paymentGroupName?: any;
|
133
|
+
value?: number;
|
134
|
+
installments: Installment[];
|
135
|
+
__typename?: string;
|
136
|
+
}
|
137
|
+
interface Installment {
|
138
|
+
count: number;
|
139
|
+
hasInterestRate: boolean;
|
140
|
+
interestRate: number;
|
141
|
+
value: number;
|
142
|
+
total: number;
|
143
|
+
sellerMerchantInstallments?: SellerMerchantInstallment[];
|
144
|
+
__typename?: string;
|
145
|
+
}
|
146
|
+
interface SellerMerchantInstallment {
|
147
|
+
id: string;
|
148
|
+
count: number;
|
149
|
+
hasInterestRate: boolean;
|
150
|
+
interestRate: number;
|
151
|
+
value: number;
|
152
|
+
total: number;
|
153
|
+
}
|
154
|
+
interface PaymentSystem {
|
155
|
+
id: number | string;
|
156
|
+
name: string;
|
157
|
+
groupName: string;
|
158
|
+
validator: Validator;
|
159
|
+
stringId: string;
|
160
|
+
template?: string;
|
161
|
+
requiresDocument: boolean;
|
162
|
+
displayDocument?: boolean;
|
163
|
+
isCustom: boolean;
|
164
|
+
description: any;
|
165
|
+
requiresAuthentication: boolean;
|
166
|
+
dueDate: string;
|
167
|
+
availablePayments?: any[] | null;
|
168
|
+
__typename?: string;
|
169
|
+
}
|
170
|
+
interface Validator {
|
171
|
+
regex: any;
|
172
|
+
mask: any;
|
173
|
+
cardCodeRegex: any;
|
174
|
+
cardCodeMask: any;
|
175
|
+
weights: any;
|
176
|
+
useCvv: boolean;
|
177
|
+
useExpirationDate: boolean;
|
178
|
+
useCardHolderName: boolean;
|
179
|
+
useBillingAddress: boolean;
|
180
|
+
__typename?: string;
|
181
|
+
}
|
182
|
+
interface Seller {
|
183
|
+
id: string;
|
184
|
+
name: string;
|
185
|
+
logo: string;
|
186
|
+
}
|
187
|
+
interface ClientPreferencesData {
|
188
|
+
locale: string;
|
189
|
+
optinNewsLetter?: any | null;
|
190
|
+
optInNewsLetter?: any | null;
|
191
|
+
savePersonalData?: boolean;
|
192
|
+
savePaymentData?: boolean;
|
193
|
+
__typename?: string;
|
194
|
+
}
|
195
|
+
interface VtexLegacyStorePreferencesData {
|
196
|
+
countryCode: string;
|
197
|
+
saveUserData: boolean;
|
198
|
+
timeZone: string;
|
199
|
+
currencyCode: string;
|
200
|
+
currencyLocale: number;
|
201
|
+
currencySymbol: string;
|
202
|
+
currencyFormatInfo: CurrencyFormatInfo;
|
203
|
+
}
|
204
|
+
interface CurrencyFormatInfo {
|
205
|
+
currencyDecimalDigits: number;
|
206
|
+
currencyDecimalSeparator: string;
|
207
|
+
currencyGroupSeparator: string;
|
208
|
+
currencyGroupSize: number;
|
209
|
+
startsWithCurrencySymbol: boolean;
|
210
|
+
}
|
211
|
+
interface ItemMetadata {
|
212
|
+
items: ItemMetadataItem[];
|
213
|
+
}
|
214
|
+
interface ItemMetadataItem {
|
215
|
+
id: string;
|
216
|
+
seller: string;
|
217
|
+
name: string;
|
218
|
+
skuName: string;
|
219
|
+
productId: string;
|
220
|
+
refId: string;
|
221
|
+
ean: string | null;
|
222
|
+
imageUrl: string;
|
223
|
+
detailUrl: string;
|
224
|
+
assemblyOptions: any[];
|
225
|
+
}
|
226
|
+
interface RatesAndBenefitsData {
|
227
|
+
rateAndBenefitsIdentifiers: RateAndBenefitsIdentifier[];
|
228
|
+
teaser: any[];
|
229
|
+
}
|
230
|
+
interface RateAndBenefitsIdentifier {
|
231
|
+
id: string;
|
232
|
+
name: string;
|
233
|
+
featured: boolean;
|
234
|
+
description: string;
|
235
|
+
matchedParameters: any;
|
236
|
+
additionalInfo: any;
|
237
|
+
}
|
238
|
+
interface MarketingData {
|
239
|
+
coupon: string | null;
|
240
|
+
utmCampaign: string | null;
|
241
|
+
utmMedium: string | null;
|
242
|
+
utmSource: string | null;
|
243
|
+
utmiCampaign: string | null;
|
244
|
+
utmiPart: string | null;
|
245
|
+
utmPartner?: string | null;
|
246
|
+
utmipage?: string | null;
|
247
|
+
marketingTags?: string[];
|
248
|
+
__typename?: string;
|
249
|
+
}
|
250
|
+
interface Payment {
|
251
|
+
paymentSystem: string;
|
252
|
+
bin: any;
|
253
|
+
accountId: any;
|
254
|
+
tokenId: any;
|
255
|
+
installments: number | null;
|
256
|
+
referenceValue: number;
|
257
|
+
value: number;
|
258
|
+
merchantSellerPayments?: any;
|
259
|
+
__typename?: string;
|
260
|
+
}
|
261
|
+
interface OrderFormMessages {
|
262
|
+
couponMessages?: any[];
|
263
|
+
generalMessages?: any[];
|
264
|
+
code?: string;
|
265
|
+
fields?: any;
|
266
|
+
status?: string;
|
267
|
+
text?: string;
|
268
|
+
__typename?: string;
|
269
|
+
}
|
270
|
+
interface VtexAddress {
|
271
|
+
addressId: string;
|
272
|
+
addressType: string;
|
273
|
+
city: string;
|
274
|
+
complement: string;
|
275
|
+
country: string;
|
276
|
+
neighborhood: string;
|
277
|
+
number: string;
|
278
|
+
postalCode: string;
|
279
|
+
receiverName: string;
|
280
|
+
reference: any;
|
281
|
+
state: string;
|
282
|
+
street: string;
|
283
|
+
isDisposable: boolean;
|
284
|
+
geoCoordinates?: number[];
|
285
|
+
__typename?: string;
|
286
|
+
}
|
287
|
+
interface BaseClientData {
|
288
|
+
email: string;
|
289
|
+
firstName: string;
|
290
|
+
lastName: string;
|
291
|
+
document: string;
|
292
|
+
documentType: string;
|
293
|
+
phone: string;
|
294
|
+
}
|
295
|
+
interface VtexLegacyClientData extends BaseClientData {
|
296
|
+
corporateDocument: string | null;
|
297
|
+
corporateName: string | null;
|
298
|
+
corporatePhone: string | null;
|
299
|
+
customerClass: string | null;
|
300
|
+
isCorporate: boolean;
|
301
|
+
isProspect?: boolean;
|
302
|
+
profileCompleteOnLoading: boolean;
|
303
|
+
profileErrorOnLoading: boolean;
|
304
|
+
stateInscription: string | null;
|
305
|
+
tradeName: string | null;
|
306
|
+
}
|
307
|
+
interface ExtendedItemAdditionalInfo extends ItemAdditionalInfo {
|
308
|
+
dimension: any;
|
309
|
+
brandId: string;
|
310
|
+
offeringInfo: any;
|
311
|
+
offeringType: any;
|
312
|
+
offeringTypeId: any;
|
313
|
+
categoriesIds?: string;
|
314
|
+
productClusterId?: string;
|
315
|
+
commercialConditionId?: string;
|
316
|
+
}
|
317
|
+
interface ItemAdditionalInfo {
|
318
|
+
brandName: string;
|
319
|
+
__typename?: string;
|
320
|
+
}
|
321
|
+
interface BaseItem {
|
322
|
+
uniqueId: string;
|
323
|
+
id: string;
|
324
|
+
productId: string;
|
325
|
+
productRefId: string;
|
326
|
+
refId: string;
|
327
|
+
name: string;
|
328
|
+
skuName: string;
|
329
|
+
modalType: any;
|
330
|
+
parentItemIndex: any;
|
331
|
+
parentAssemblyBinding: any;
|
332
|
+
assemblies?: any[];
|
333
|
+
price: number;
|
334
|
+
listPrice: number;
|
335
|
+
manualPrice: any;
|
336
|
+
sellingPrice: number;
|
337
|
+
isGift: boolean;
|
338
|
+
productCategoryIds: string;
|
339
|
+
productCategories: ProductCategories;
|
340
|
+
quantity: number;
|
341
|
+
seller: string;
|
342
|
+
detailUrl: string;
|
343
|
+
priceTags: PriceTag[];
|
344
|
+
availability: string;
|
345
|
+
measurementUnit: string;
|
346
|
+
unitMultiplier: number;
|
347
|
+
priceDefinition: PriceDefinition;
|
348
|
+
attachmentOfferings: any[];
|
349
|
+
offerings: any[];
|
350
|
+
attachments: any[];
|
351
|
+
bundleItems: any[];
|
352
|
+
}
|
353
|
+
interface VtexLegacyItem extends BaseItem {
|
354
|
+
additionalInfo: ExtendedItemAdditionalInfo;
|
355
|
+
ean: string | null;
|
356
|
+
priceValidUntil: string;
|
357
|
+
tax: number;
|
358
|
+
rewardValue: number;
|
359
|
+
preSaleDate: any;
|
360
|
+
sellerChain: string[];
|
361
|
+
imageUrl: string;
|
362
|
+
components: any[];
|
363
|
+
availabilityMessage?: string;
|
364
|
+
formattedPrice?: string;
|
365
|
+
manufacturerCode: any;
|
366
|
+
manualPriceAppliedBy?: string | null;
|
367
|
+
}
|
368
|
+
interface BaseOrderForm {
|
369
|
+
loggedIn: boolean;
|
370
|
+
canEditData: boolean;
|
371
|
+
allowManualPrice: boolean;
|
372
|
+
totalizers: VtexTotalizer[];
|
373
|
+
clientPreferencesData: ClientPreferencesData;
|
374
|
+
marketingData: MarketingData | null;
|
375
|
+
userProfileId: string | null;
|
376
|
+
messages: OrderFormMessages;
|
377
|
+
paymentData: PaymentData;
|
378
|
+
value: number;
|
379
|
+
customData: any | null;
|
380
|
+
userType: string | null;
|
381
|
+
}
|
382
|
+
interface VtexLegacyOrderForm extends BaseOrderForm {
|
383
|
+
items: VtexLegacyItem[];
|
384
|
+
clientProfileData: VtexLegacyClientData | null;
|
385
|
+
orderFormId: string;
|
386
|
+
salesChannel: string;
|
387
|
+
isCheckedIn: boolean;
|
388
|
+
storeId: string | null;
|
389
|
+
checkedInPickupPointId: string | null;
|
390
|
+
ignoreProfileData: boolean;
|
391
|
+
selectableGifts: any[];
|
392
|
+
shippingData: VtexLegacyShippingData;
|
393
|
+
sellers: Seller[];
|
394
|
+
commercialConditionData: any;
|
395
|
+
storePreferencesData: VtexLegacyStorePreferencesData;
|
396
|
+
giftRegistryData: any;
|
397
|
+
openTextField: any;
|
398
|
+
invoiceData: any;
|
399
|
+
itemMetadata: ItemMetadata;
|
400
|
+
hooksData: any;
|
401
|
+
ratesAndBenefitsData: RatesAndBenefitsData;
|
402
|
+
subscriptionData: any;
|
403
|
+
merchantContextData: any;
|
404
|
+
itemsOrdination: any;
|
405
|
+
}
|
406
|
+
//#endregion
|
407
|
+
//#region [Vtex Catalog / Product]
|
408
|
+
interface VtexLegacyCatalogProductCacheSku {
|
409
|
+
available: boolean;
|
410
|
+
availablequantity: number;
|
411
|
+
bestPrice: number;
|
412
|
+
bestPriceFormated: string;
|
413
|
+
cacheVersionUsedToCallCheckout: string;
|
414
|
+
dimensions: Record<string, string>;
|
415
|
+
discount?: number;
|
416
|
+
fullSellingPrice: string;
|
417
|
+
hasDiscount?: boolean;
|
418
|
+
image: string;
|
419
|
+
installments: number;
|
420
|
+
installmentsInsterestRate: number;
|
421
|
+
installmentsValue: number;
|
422
|
+
listPrice: number;
|
423
|
+
listPriceFormated: string;
|
424
|
+
measures: {
|
425
|
+
cubicweight: number;
|
426
|
+
height: number;
|
427
|
+
length: number;
|
428
|
+
weight: number;
|
429
|
+
width: number;
|
430
|
+
};
|
431
|
+
rewardValue: number;
|
432
|
+
seller: string;
|
433
|
+
sellerId: string;
|
434
|
+
sku: number;
|
435
|
+
skuname: string;
|
436
|
+
spotPrice: number;
|
437
|
+
taxAsInt: number;
|
438
|
+
taxFormated: string;
|
439
|
+
unitMultiplier: number;
|
440
|
+
validBestPrice?: boolean;
|
441
|
+
validListPrice?: boolean;
|
442
|
+
values: any[];
|
443
|
+
}
|
444
|
+
interface VtexLegacyCatalogProductCache {
|
445
|
+
available: boolean;
|
446
|
+
dimensions: string[];
|
447
|
+
dimensionsInputType: Record<string, string>;
|
448
|
+
dimensionsMap: Record<string, string[]>;
|
449
|
+
displayMode: string;
|
450
|
+
name: string;
|
451
|
+
productId: number;
|
452
|
+
salesChannel: string;
|
453
|
+
skus: VtexLegacyCatalogProductCacheSku[];
|
454
|
+
}
|
455
|
+
interface VtexLegacyCatalog {
|
456
|
+
cache: {
|
457
|
+
productWithVariations: Record<string, VtexLegacyCatalogProductCache>;
|
458
|
+
};
|
459
|
+
getProductWithVariations: () => {};
|
460
|
+
getShippingValue: () => {};
|
461
|
+
setProductWithVariationsCache: () => {};
|
462
|
+
}
|
463
|
+
declare global {
|
464
|
+
interface Window extends VtexWindow {
|
465
|
+
}
|
466
|
+
}
|