@sentecacommerce-theme/lib 0.12.71 → 0.12.77
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/dist/cjs/api/myOrdersApi/index.js +4 -2
- package/dist/cjs/api/myOrdersApi/index.js.map +1 -1
- package/dist/cjs/checkout/api/keys.js +7 -1
- package/dist/cjs/checkout/api/keys.js.map +1 -1
- package/dist/cjs/checkout/api/queries/index.js +8 -0
- package/dist/cjs/checkout/api/queries/index.js.map +1 -1
- package/dist/cjs/checkout/api/queries/useUniCreditCalculateForCartQuery.js +40 -0
- package/dist/cjs/checkout/api/queries/useUniCreditCalculateForCartQuery.js.map +1 -0
- package/dist/cjs/checkout/contexts/UniCreditResponseContext.js +29 -0
- package/dist/cjs/checkout/contexts/UniCreditResponseContext.js.map +1 -0
- package/dist/cjs/checkout/contexts/index.js +8 -0
- package/dist/cjs/checkout/contexts/index.js.map +1 -1
- package/dist/cjs/checkout/hooks/index.js +8 -0
- package/dist/cjs/checkout/hooks/index.js.map +1 -1
- package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js +1 -0
- package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js.map +1 -1
- package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js +82 -0
- package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
- package/dist/cjs/checkout/ssr/captureUniCreditOrder.js +36 -0
- package/dist/cjs/checkout/ssr/captureUniCreditOrder.js.map +1 -0
- package/dist/cjs/checkout/ssr/index.js +8 -0
- package/dist/cjs/checkout/ssr/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +71 -0
- package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
- package/dist/cjs/contexts/CheckoutForm/Components/index.js +8 -0
- package/dist/cjs/contexts/CheckoutForm/Components/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js +4 -2
- package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/index.js +61 -16
- package/dist/cjs/contexts/CheckoutForm/index.js.map +1 -1
- package/dist/cjs/hooks/order-hooks/useOrder/index.js +1 -5
- package/dist/cjs/hooks/order-hooks/useOrder/index.js.map +1 -1
- package/dist/cjs/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
- package/dist/cjs/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
- package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
- package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
- package/dist/cjs/hooks/useCheckoutSubmit/index.js +37 -16
- package/dist/cjs/hooks/useCheckoutSubmit/index.js.map +1 -1
- package/dist/cjs/listing/api/queries/useLabelsQuery.js +2 -1
- package/dist/cjs/listing/api/queries/useLabelsQuery.js.map +1 -1
- package/dist/cjs/listing/hooks/useListingFilters.js +3 -1
- package/dist/cjs/listing/hooks/useListingFilters.js.map +1 -1
- package/dist/cjs/product/api/keys.js +7 -1
- package/dist/cjs/product/api/keys.js.map +1 -1
- package/dist/cjs/product/api/queries/index.js +8 -0
- package/dist/cjs/product/api/queries/index.js.map +1 -1
- package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js +45 -0
- package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
- package/dist/cjs/product/hooks/index.js +8 -0
- package/dist/cjs/product/hooks/index.js.map +1 -1
- package/dist/cjs/product/hooks/useUniCreditOffers.js +72 -0
- package/dist/cjs/product/hooks/useUniCreditOffers.js.map +1 -0
- package/dist/esm/api/myOrdersApi/index.js +2 -1
- package/dist/esm/api/myOrdersApi/index.js.map +1 -1
- package/dist/esm/checkout/api/keys.js +3 -0
- package/dist/esm/checkout/api/keys.js.map +1 -1
- package/dist/esm/checkout/api/queries/index.js +1 -0
- package/dist/esm/checkout/api/queries/index.js.map +1 -1
- package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js +10 -0
- package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js.map +1 -0
- package/dist/esm/checkout/contexts/UniCreditResponseContext.js +17 -0
- package/dist/esm/checkout/contexts/UniCreditResponseContext.js.map +1 -0
- package/dist/esm/checkout/contexts/index.js +1 -0
- package/dist/esm/checkout/contexts/index.js.map +1 -1
- package/dist/esm/checkout/hooks/index.js +1 -0
- package/dist/esm/checkout/hooks/index.js.map +1 -1
- package/dist/esm/checkout/hooks/useBnpCalculateForCart.js +1 -0
- package/dist/esm/checkout/hooks/useBnpCalculateForCart.js.map +1 -1
- package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js +66 -0
- package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
- package/dist/esm/checkout/ssr/captureUniCreditOrder.js +12 -0
- package/dist/esm/checkout/ssr/captureUniCreditOrder.js.map +1 -0
- package/dist/esm/checkout/ssr/index.js +1 -0
- package/dist/esm/checkout/ssr/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +63 -0
- package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
- package/dist/esm/contexts/CheckoutForm/Components/index.js +1 -0
- package/dist/esm/contexts/CheckoutForm/Components/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js +6 -2
- package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/index.js +28 -2
- package/dist/esm/contexts/CheckoutForm/index.js.map +1 -1
- package/dist/esm/hooks/order-hooks/useOrder/index.js +1 -5
- package/dist/esm/hooks/order-hooks/useOrder/index.js.map +1 -1
- package/dist/esm/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
- package/dist/esm/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
- package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
- package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
- package/dist/esm/hooks/useCheckoutSubmit/index.js +10 -3
- package/dist/esm/hooks/useCheckoutSubmit/index.js.map +1 -1
- package/dist/esm/listing/api/queries/useLabelsQuery.js +2 -1
- package/dist/esm/listing/api/queries/useLabelsQuery.js.map +1 -1
- package/dist/esm/listing/hooks/useListingFilters.js +3 -1
- package/dist/esm/listing/hooks/useListingFilters.js.map +1 -1
- package/dist/esm/product/api/keys.js +3 -0
- package/dist/esm/product/api/keys.js.map +1 -1
- package/dist/esm/product/api/queries/index.js +1 -0
- package/dist/esm/product/api/queries/index.js.map +1 -1
- package/dist/esm/product/api/queries/useUniCreditOffersQuery.js +16 -0
- package/dist/esm/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
- package/dist/esm/product/hooks/index.js +1 -0
- package/dist/esm/product/hooks/index.js.map +1 -1
- package/dist/esm/product/hooks/useUniCreditOffers.js +57 -0
- package/dist/esm/product/hooks/useUniCreditOffers.js.map +1 -0
- package/dist/types/checkout/api/keys.d.ts +1 -0
- package/dist/types/checkout/api/queries/index.d.ts +1 -0
- package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +1 -1
- package/dist/types/checkout/api/queries/useUniCreditCalculateForCartQuery.d.ts +3 -0
- package/dist/types/checkout/contexts/UniCreditResponseContext.d.ts +6 -0
- package/dist/types/checkout/contexts/index.d.ts +1 -0
- package/dist/types/checkout/hooks/index.d.ts +1 -0
- package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +5 -3
- package/dist/types/checkout/hooks/useUniCreditCalculateForCart.d.ts +53 -0
- package/dist/types/checkout/ssr/captureUniCreditOrder.d.ts +2 -0
- package/dist/types/checkout/ssr/index.d.ts +1 -0
- package/dist/types/contexts/CheckoutForm/Components/UniCreditRedirect/index.d.ts +5 -0
- package/dist/types/contexts/CheckoutForm/Components/index.d.ts +1 -0
- package/dist/types/contexts/CheckoutForm/hooks/usePayment/index.d.ts +2 -2
- package/dist/types/contexts/CheckoutForm/index.d.ts +1 -0
- package/dist/types/hooks/order-hooks/useOrderPaymentMethods/index.d.ts +4 -4
- package/dist/types/hooks/useCheckoutSubmit/index.d.ts +3 -2
- package/dist/types/product/api/keys.d.ts +1 -0
- package/dist/types/product/api/queries/index.d.ts +1 -0
- package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +1 -1
- package/dist/types/product/api/queries/useUniCreditOffersQuery.d.ts +4 -0
- package/dist/types/product/hooks/index.d.ts +1 -0
- package/dist/types/product/hooks/useBnpOffers.d.ts +2 -2
- package/dist/types/product/hooks/useUniCreditOffers.d.ts +36 -0
- package/package.json +4 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,0BAAd","sourcesContent":["export * from './useVerifyBoricaResponse'\nexport * from './useBnpCalculateForCart'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,0BAAd;AACA,cAAc,gCAAd","sourcesContent":["export * from './useVerifyBoricaResponse'\nexport * from './useBnpCalculateForCart'\nexport * from './useUniCreditCalculateForCart'\n"],"file":"index.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/checkout/hooks/useBnpCalculateForCart.ts"],"names":["useMemo","useBnpCalculateForCartQuery","decodePrice","formatAsCurrency","useConfigState","useBnpCalculateForCart","props","preferredInstallmentCentAmount","downPaymentCentAmount","response","configLocale","price","locale","data","offers","map","offer","_totalRepaymentAmount","totalRepaymentAmount","_correctDownPaymentAmount","correctDownPaymentAmount","_installmentAmount","installmentAmount","_processingFeeAmount","processingFeeAmount","precision","fractionDigits","currency","currencyCode","sort","offer2","Number","maturity"],"mappings":";AAAA,SAAgBA,OAAhB,QAA+B,OAA/B;AACA,SAASC,2BAAT,QAA4C,QAA5C;AACA,SAASC,WAAT,EAAsBC,gBAAtB,EAAwCC,cAAxC,QAA8D,aAA9D;AAEA,OAAO,IAAMC,sBAAsB,GAAIC,KAAD,IAGhC;AAAA;;AACJ,MAAM;AAAEC,IAAAA,8BAA8B,GAAG,CAAnC;AAAsCC,IAAAA,qBAAqB,GAAG;AAA9D,MACJF,KADI,WACJA,KADI,GACK,EADX;AAGA,MAAMG,QAAQ,GAAGR,2BAA2B,CAAC;AAC3CM,IAAAA,8BAD2C;AAE3CC,IAAAA;AAF2C,GAAD,CAA5C;AAIA,MAAME,YAAoB,sBAAGN,cAAc,EAAjB,8CAAG,gBAAkBO,KAArB,qBAAG,sBAAyBC,MAAtD;AAEA,SAAOZ,OAAO,CACZ;AAAA;;AAAA,wBACKS,QADL;AAEEI,MAAAA,IAAI,eACCJ,QADD,sCACCA,QAAQ,CAAEI,IADX,qBACC,eAAiB,CAAjB,CADD;AAEFC,QAAAA,MAAM,EAAEL,QAAF,uCAAEA,QAAQ,CAAEI,IAAZ,yCAAE,gBAAiB,CAAjB,CAAF,8CAAE,iBAAqBC,MAAvB,qBAAE,sBACJC,GADI,CACCC,KAAD,IAAW;AACf,cAAMC,qBAAqB,GAAGf,WAAW,CACvCc,KAAK,CAACE,oBADiC,CAAzC;;AAGA,cAAMC,yBAAyB,GAAGjB,WAAW,CAC3Cc,KAAK,CAACI,wBADqC,CAA7C;;AAGA,cAAMC,kBAAkB,GAAGnB,WAAW,CAACc,KAAK,CAACM,iBAAP,CAAtC;;AACA,cAAMC,oBAAoB,GAAGrB,WAAW,CAACc,KAAK,CAACQ,mBAAP,CAAxC;;AAEA,cAAMN,oBAAoB,GAAGf,gBAAgB,CAAC;AAC5CQ,YAAAA,KAAK,EAAEM,qBADqC;AAE5CQ,YAAAA,SAAS,EAAET,KAAK,CAACE,oBAAN,CAA2BQ,cAFM;AAG5CC,YAAAA,QAAQ,EAAEX,KAAK,CAACE,oBAAN,CAA2BU,YAHO;AAI5ChB,YAAAA,MAAM,EAAEF,YAAY,IAAI;AAJoB,WAAD,CAA7C;AAOA,cAAMU,wBAAwB,GAAGjB,gBAAgB,CAAC;AAChDQ,YAAAA,KAAK,EAAEQ,yBADyC;AAEhDM,YAAAA,SAAS,EAAET,KAAK,CAACI,wBAAN,CAA+BM,cAFM;AAGhDC,YAAAA,QAAQ,EAAEX,KAAK,CAACI,wBAAN,CAA+BQ,YAHO;AAIhDhB,YAAAA,MAAM,EAAEF,YAAY,IAAI;AAJwB,WAAD,CAAjD;AAOA,cAAMY,iBAAiB,GAAGnB,gBAAgB,CAAC;AACzCQ,YAAAA,KAAK,EAAEU,kBADkC;AAEzCI,YAAAA,SAAS,EAAET,KAAK,CAACM,iBAAN,CAAwBI,cAFM;AAGzCC,YAAAA,QAAQ,EAAEX,KAAK,CAACM,iBAAN,CAAwBM,YAHO;AAIzChB,YAAAA,MAAM,EAAEF,YAAY,IAAI;AAJiB,WAAD,CAA1C;AAOA,cAAMc,mBAAmB,GAAGrB,gBAAgB,CAAC;AAC3CQ,YAAAA,KAAK,EAAEY,oBADoC;AAE3CE,YAAAA,SAAS,EAAET,KAAK,CAACQ,mBAAN,CAA0BE,cAFM;AAG3CC,YAAAA,QAAQ,EAAEX,KAAK,CAACQ,mBAAN,CAA0BI,YAHO;AAI3ChB,YAAAA,MAAM,EAAEF,YAAY,IAAI;AAJmB,WAAD,CAA5C;AAOA,8BACKM,KADL;
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/hooks/useBnpCalculateForCart.ts"],"names":["useMemo","useBnpCalculateForCartQuery","decodePrice","formatAsCurrency","useConfigState","useBnpCalculateForCart","props","preferredInstallmentCentAmount","downPaymentCentAmount","response","configLocale","price","locale","data","offers","map","offer","_totalRepaymentAmount","totalRepaymentAmount","_correctDownPaymentAmount","correctDownPaymentAmount","_installmentAmount","installmentAmount","_processingFeeAmount","processingFeeAmount","precision","fractionDigits","currency","currencyCode","offerRaw","sort","offer2","Number","maturity"],"mappings":"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","sourcesContent":["import React, { useMemo } from 'react'\nimport { useBnpCalculateForCartQuery } from '../api'\nimport { decodePrice, formatAsCurrency, useConfigState } from '../../index'\n\nexport const useBnpCalculateForCart = (props?: {\n preferredInstallmentCentAmount?: number\n downPaymentCentAmount?: number\n}) => {\n const { preferredInstallmentCentAmount = 0, downPaymentCentAmount = 0 } =\n props ?? {}\n\n const response = useBnpCalculateForCartQuery({\n preferredInstallmentCentAmount,\n downPaymentCentAmount,\n })\n const configLocale: string = useConfigState()?.price?.locale\n\n return useMemo(\n () => ({\n ...response,\n data: {\n ...response?.data?.[0],\n offers: response?.data?.[0]?.offers\n ?.map((offer) => {\n const _totalRepaymentAmount = decodePrice(\n offer.totalRepaymentAmount\n )\n const _correctDownPaymentAmount = decodePrice(\n offer.correctDownPaymentAmount\n )\n const _installmentAmount = decodePrice(offer.installmentAmount)\n const _processingFeeAmount = decodePrice(offer.processingFeeAmount)\n\n const totalRepaymentAmount = formatAsCurrency({\n price: _totalRepaymentAmount,\n precision: offer.totalRepaymentAmount.fractionDigits,\n currency: offer.totalRepaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const correctDownPaymentAmount = formatAsCurrency({\n price: _correctDownPaymentAmount,\n precision: offer.correctDownPaymentAmount.fractionDigits,\n currency: offer.correctDownPaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const installmentAmount = formatAsCurrency({\n price: _installmentAmount,\n precision: offer.installmentAmount.fractionDigits,\n currency: offer.installmentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const processingFeeAmount = formatAsCurrency({\n price: _processingFeeAmount,\n precision: offer.processingFeeAmount.fractionDigits,\n currency: offer.processingFeeAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n return {\n ...offer,\n offerRaw: offer,\n totalRepaymentAmount,\n correctDownPaymentAmount,\n installmentAmount,\n processingFeeAmount,\n }\n })\n .sort(\n (offer, offer2) => Number(offer.maturity) - Number(offer2.maturity)\n ),\n },\n }),\n [response?.data?.[0]?.offers]\n )\n}\n"],"file":"useBnpCalculateForCart.js"}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import { useMemo } from 'react';
|
3
|
+
import { useUniCreditCalculateForCartQuery } from '../api';
|
4
|
+
import { decodePrice, formatAsCurrency, useConfigState } from '../../index';
|
5
|
+
export var useUniCreditCalculateForCart = props => {
|
6
|
+
var _useConfigState, _useConfigState$price, _response$data4, _response$data4$;
|
7
|
+
|
8
|
+
var {
|
9
|
+
downPaymentCentAmount = 0
|
10
|
+
} = props != null ? props : {};
|
11
|
+
var response = useUniCreditCalculateForCartQuery({
|
12
|
+
downPaymentCentAmount
|
13
|
+
});
|
14
|
+
var configLocale = (_useConfigState = useConfigState()) == null ? void 0 : (_useConfigState$price = _useConfigState.price) == null ? void 0 : _useConfigState$price.locale;
|
15
|
+
return useMemo(() => {
|
16
|
+
var _response$data, _response$data2, _response$data3, _response$data3$, _response$data3$$offe;
|
17
|
+
|
18
|
+
return _extends({}, response, {
|
19
|
+
dataRaw: response == null ? void 0 : (_response$data = response.data) == null ? void 0 : _response$data[0],
|
20
|
+
data: _extends({}, response == null ? void 0 : (_response$data2 = response.data) == null ? void 0 : _response$data2[0], {
|
21
|
+
offers: response == null ? void 0 : (_response$data3 = response.data) == null ? void 0 : (_response$data3$ = _response$data3[0]) == null ? void 0 : (_response$data3$$offe = _response$data3$.offers) == null ? void 0 : _response$data3$$offe.map(offer => {
|
22
|
+
var _totalRepaymentAmount = decodePrice(offer.totalRepaymentAmount);
|
23
|
+
|
24
|
+
var _correctDownPaymentAmount = decodePrice(offer.correctDownPaymentAmount);
|
25
|
+
|
26
|
+
var _installmentAmount = decodePrice(offer.installmentAmount);
|
27
|
+
|
28
|
+
var _processingFeeAmount = decodePrice(offer.processingFeeAmount);
|
29
|
+
|
30
|
+
var totalRepaymentAmount = formatAsCurrency({
|
31
|
+
price: _totalRepaymentAmount,
|
32
|
+
precision: offer.totalRepaymentAmount.fractionDigits,
|
33
|
+
currency: offer.totalRepaymentAmount.currencyCode,
|
34
|
+
locale: configLocale || 'en'
|
35
|
+
});
|
36
|
+
var correctDownPaymentAmount = formatAsCurrency({
|
37
|
+
price: _correctDownPaymentAmount,
|
38
|
+
precision: offer.correctDownPaymentAmount.fractionDigits,
|
39
|
+
currency: offer.correctDownPaymentAmount.currencyCode,
|
40
|
+
locale: configLocale || 'en'
|
41
|
+
});
|
42
|
+
var installmentAmount = formatAsCurrency({
|
43
|
+
price: _installmentAmount,
|
44
|
+
precision: offer.installmentAmount.fractionDigits,
|
45
|
+
currency: offer.installmentAmount.currencyCode,
|
46
|
+
locale: configLocale || 'en'
|
47
|
+
});
|
48
|
+
var processingFeeAmount = formatAsCurrency({
|
49
|
+
price: _processingFeeAmount,
|
50
|
+
precision: offer.processingFeeAmount.fractionDigits,
|
51
|
+
currency: offer.processingFeeAmount.currencyCode,
|
52
|
+
locale: configLocale || 'en'
|
53
|
+
});
|
54
|
+
return _extends({}, offer, {
|
55
|
+
offerRaw: offer,
|
56
|
+
totalRepaymentAmount,
|
57
|
+
correctDownPaymentAmount,
|
58
|
+
installmentAmount,
|
59
|
+
processingFeeAmount
|
60
|
+
});
|
61
|
+
}).sort((offer, offer2) => Number(offer.maturity) - Number(offer2.maturity))
|
62
|
+
})
|
63
|
+
});
|
64
|
+
}, [response == null ? void 0 : (_response$data4 = response.data) == null ? void 0 : (_response$data4$ = _response$data4[0]) == null ? void 0 : _response$data4$.offers]);
|
65
|
+
};
|
66
|
+
//# sourceMappingURL=useUniCreditCalculateForCart.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/hooks/useUniCreditCalculateForCart.ts"],"names":["useMemo","useUniCreditCalculateForCartQuery","decodePrice","formatAsCurrency","useConfigState","useUniCreditCalculateForCart","props","downPaymentCentAmount","response","configLocale","price","locale","dataRaw","data","offers","map","offer","_totalRepaymentAmount","totalRepaymentAmount","_correctDownPaymentAmount","correctDownPaymentAmount","_installmentAmount","installmentAmount","_processingFeeAmount","processingFeeAmount","precision","fractionDigits","currency","currencyCode","offerRaw","sort","offer2","Number","maturity"],"mappings":"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","sourcesContent":["import React, { useMemo } from 'react'\nimport { useUniCreditCalculateForCartQuery } from '../api'\nimport { decodePrice, formatAsCurrency, useConfigState } from '../../index'\nimport { LoanOfferDTO } from '@sentecacommerce/sdk'\n\nexport const useUniCreditCalculateForCart = (props?: {\n downPaymentCentAmount?: number\n}) => {\n const { downPaymentCentAmount = 0 } = props ?? {}\n\n const response = useUniCreditCalculateForCartQuery({\n downPaymentCentAmount,\n })\n const configLocale: string = useConfigState()?.price?.locale\n\n return useMemo(\n () => ({\n ...response,\n dataRaw: response?.data?.[0] as LoanOfferDTO,\n data: {\n ...response?.data?.[0],\n offers: response?.data?.[0]?.offers\n ?.map((offer) => {\n const _totalRepaymentAmount = decodePrice(\n offer.totalRepaymentAmount\n )\n const _correctDownPaymentAmount = decodePrice(\n offer.correctDownPaymentAmount\n )\n const _installmentAmount = decodePrice(offer.installmentAmount)\n const _processingFeeAmount = decodePrice(offer.processingFeeAmount)\n\n const totalRepaymentAmount = formatAsCurrency({\n price: _totalRepaymentAmount,\n precision: offer.totalRepaymentAmount.fractionDigits,\n currency: offer.totalRepaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const correctDownPaymentAmount = formatAsCurrency({\n price: _correctDownPaymentAmount,\n precision: offer.correctDownPaymentAmount.fractionDigits,\n currency: offer.correctDownPaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const installmentAmount = formatAsCurrency({\n price: _installmentAmount,\n precision: offer.installmentAmount.fractionDigits,\n currency: offer.installmentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const processingFeeAmount = formatAsCurrency({\n price: _processingFeeAmount,\n precision: offer.processingFeeAmount.fractionDigits,\n currency: offer.processingFeeAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n return {\n ...offer,\n offerRaw: offer,\n totalRepaymentAmount,\n correctDownPaymentAmount,\n installmentAmount,\n processingFeeAmount,\n }\n })\n .sort(\n (offer, offer2) => Number(offer.maturity) - Number(offer2.maturity)\n ),\n },\n }),\n [response?.data?.[0]?.offers]\n )\n}\n"],"file":"useUniCreditCalculateForCart.js"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
|
+
import { MyPaymentsUnicreditCapture as captureOrder } from '@sentecacommerce/sdk';
|
3
|
+
export var captureUniCreditOrder = /*#__PURE__*/function () {
|
4
|
+
var _ref = _asyncToGenerator(function* (res) {
|
5
|
+
return captureOrder({}, res);
|
6
|
+
});
|
7
|
+
|
8
|
+
return function captureUniCreditOrder(_x) {
|
9
|
+
return _ref.apply(this, arguments);
|
10
|
+
};
|
11
|
+
}();
|
12
|
+
//# sourceMappingURL=captureUniCreditOrder.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/ssr/captureUniCreditOrder.ts"],"names":["MyPaymentsUnicreditCapture","captureOrder","captureUniCreditOrder","res"],"mappings":";AAAA,SACEA,0BAA0B,IAAIC,YADhC,QAGO,sBAHP;AAKA,OAAO,IAAMC,qBAAqB;AAAA,+BAAG,WACnCC,GADmC,EAEhC;AACH,WAAOF,YAAY,CAAC,EAAD,EAAKE,GAAL,CAAnB;AACD,GAJiC;;AAAA,kBAArBD,qBAAqB;AAAA;AAAA;AAAA,GAA3B","sourcesContent":["import {\n MyPaymentsUnicreditCapture as captureOrder,\n UniCreditCaptureRequestDTO,\n} from '@sentecacommerce/sdk'\n\nexport const captureUniCreditOrder = async (\n res: UniCreditCaptureRequestDTO\n) => {\n return captureOrder({}, res)\n}\n"],"file":"captureUniCreditOrder.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/checkout/ssr/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAd;AACA,cAAc,sBAAd","sourcesContent":["export * from './verifyBoricaResponse'\nexport * from './capturePaypalOrder'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/ssr/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAd;AACA,cAAc,sBAAd;AACA,cAAc,yBAAd","sourcesContent":["export * from './verifyBoricaResponse'\nexport * from './capturePaypalOrder'\nexport * from './captureUniCreditOrder'\n"],"file":"index.js"}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import React, { useEffect, useRef } from 'react';
|
2
|
+
export var UniCreditRedirect = (_ref) => {
|
3
|
+
var {
|
4
|
+
formData,
|
5
|
+
isInDevMode
|
6
|
+
} = _ref;
|
7
|
+
var formRef = useRef(null);
|
8
|
+
useEffect(() => {
|
9
|
+
if (isInDevMode) return;
|
10
|
+
var timeout = setTimeout(() => {
|
11
|
+
var _formRef$current;
|
12
|
+
|
13
|
+
formRef == null ? void 0 : (_formRef$current = formRef.current) == null ? void 0 : _formRef$current.submit();
|
14
|
+
}, 50);
|
15
|
+
return () => {
|
16
|
+
clearTimeout(timeout);
|
17
|
+
};
|
18
|
+
}, [formData, isInDevMode]);
|
19
|
+
return /*#__PURE__*/React.createElement("form", {
|
20
|
+
ref: formRef,
|
21
|
+
action: formData.url,
|
22
|
+
method: "POST",
|
23
|
+
style: isInDevMode ? {
|
24
|
+
position: 'fixed',
|
25
|
+
zIndex: 9999999,
|
26
|
+
width: '100%',
|
27
|
+
height: '100%',
|
28
|
+
background: '#fff',
|
29
|
+
display: 'flex',
|
30
|
+
alignItems: 'center',
|
31
|
+
flexDirection: 'column',
|
32
|
+
justifyContent: 'center',
|
33
|
+
top: 0
|
34
|
+
} : {
|
35
|
+
position: 'absolute',
|
36
|
+
left: '100vw',
|
37
|
+
width: '10px',
|
38
|
+
top: '400vh',
|
39
|
+
overflow: 'hidden'
|
40
|
+
}
|
41
|
+
}, /*#__PURE__*/React.createElement("div", {
|
42
|
+
style: {
|
43
|
+
margin: 6
|
44
|
+
}
|
45
|
+
}, /*#__PURE__*/React.createElement("label", {
|
46
|
+
style: {
|
47
|
+
width: 169,
|
48
|
+
display: 'inline-block'
|
49
|
+
}
|
50
|
+
}, 'suosId'), /*#__PURE__*/React.createElement("input", {
|
51
|
+
type: "text",
|
52
|
+
name: 'suosId',
|
53
|
+
value: formData.sessionId,
|
54
|
+
style: {
|
55
|
+
width: 333,
|
56
|
+
border: '1px solid #000 '
|
57
|
+
}
|
58
|
+
})), isInDevMode ? /*#__PURE__*/React.createElement("input", {
|
59
|
+
type: "submit",
|
60
|
+
value: "SUBMIT"
|
61
|
+
}) : null);
|
62
|
+
};
|
63
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/Components/UniCreditRedirect/index.tsx"],"names":["React","useEffect","useRef","UniCreditRedirect","formData","isInDevMode","formRef","timeout","setTimeout","current","submit","clearTimeout","url","position","zIndex","width","height","background","display","alignItems","flexDirection","justifyContent","top","left","overflow","margin","sessionId","border"],"mappings":"AACA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,MAA3B,QAAyC,OAAzC;AAEA,OAAO,IAAMC,iBAAiB,GAAG,UAM3B;AAAA,MAN4B;AAChCC,IAAAA,QADgC;AAEhCC,IAAAA;AAFgC,GAM5B;AACJ,MAAMC,OAAO,GAAGJ,MAAM,CAAyB,IAAzB,CAAtB;AAEAD,EAAAA,SAAS,CAAC,MAAM;AACd,QAAII,WAAJ,EAAiB;AAEjB,QAAME,OAAO,GAAGC,UAAU,CAAC,MAAM;AAAA;;AAC/BF,MAAAA,OAAO,QAAP,gCAAAA,OAAO,CAAEG,OAAT,sCAAkBC,MAAlB;AACD,KAFyB,EAEvB,EAFuB,CAA1B;AAIA,WAAO,MAAM;AACXC,MAAAA,YAAY,CAACJ,OAAD,CAAZ;AACD,KAFD;AAGD,GAVQ,EAUN,CAACH,QAAD,EAAWC,WAAX,CAVM,CAAT;AAYA,sBACE;AACE,IAAA,GAAG,EAAEC,OADP;AAEE,IAAA,MAAM,EAAEF,QAAQ,CAACQ,GAFnB;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EACHP,WAAW,GACP;AACEQ,MAAAA,QAAQ,EAAE,OADZ;AAEEC,MAAAA,MAAM,EAAE,OAFV;AAGEC,MAAAA,KAAK,EAAE,MAHT;AAIEC,MAAAA,MAAM,EAAE,MAJV;AAKEC,MAAAA,UAAU,EAAE,MALd;AAMEC,MAAAA,OAAO,EAAE,MANX;AAOEC,MAAAA,UAAU,EAAE,QAPd;AAQEC,MAAAA,aAAa,EAAE,QARjB;AASEC,MAAAA,cAAc,EAAE,QATlB;AAUEC,MAAAA,GAAG,EAAE;AAVP,KADO,GAaP;AACET,MAAAA,QAAQ,EAAE,UADZ;AAEEU,MAAAA,IAAI,EAAE,OAFR;AAGER,MAAAA,KAAK,EAAE,MAHT;AAIEO,MAAAA,GAAG,EAAE,OAJP;AAKEE,MAAAA,QAAQ,EAAE;AALZ;AAlBR,kBA2BE;AAAK,IAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAE;AAAV;AAAZ,kBACE;AAAO,IAAA,KAAK,EAAE;AAAEV,MAAAA,KAAK,EAAE,GAAT;AAAcG,MAAAA,OAAO,EAAE;AAAvB;AAAd,KACG,QADH,CADF,eAIE;AACE,IAAA,IAAI,EAAC,MADP;AAEE,IAAA,IAAI,EAAE,QAFR;AAGE,IAAA,KAAK,EAAEd,QAAQ,CAACsB,SAHlB;AAIE,IAAA,KAAK,EAAE;AAAEX,MAAAA,KAAK,EAAE,GAAT;AAAcY,MAAAA,MAAM,EAAE;AAAtB;AAJT,IAJF,CA3BF,EAsCGtB,WAAW,gBAAG;AAAO,IAAA,IAAI,EAAC,QAAZ;AAAqB,IAAA,KAAK,EAAC;AAA3B,IAAH,GAA4C,IAtC1D,CADF;AA0CD,CA/DM","sourcesContent":["import { UniCreditSessionStartResponseDTO } from '@sentecacommerce/sdk'\nimport React, { useEffect, useRef } from 'react'\n\nexport const UniCreditRedirect = ({\n formData,\n isInDevMode,\n}: {\n formData: UniCreditSessionStartResponseDTO\n isInDevMode?: boolean\n}) => {\n const formRef = useRef<HTMLFormElement | null>(null)\n\n useEffect(() => {\n if (isInDevMode) return\n\n const timeout = setTimeout(() => {\n formRef?.current?.submit()\n }, 50)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [formData, isInDevMode])\n\n return (\n <form\n ref={formRef}\n action={formData.url}\n method=\"POST\"\n style={\n isInDevMode\n ? {\n position: 'fixed',\n zIndex: 9999999,\n width: '100%',\n height: '100%',\n background: '#fff',\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center',\n top: 0,\n }\n : {\n position: 'absolute',\n left: '100vw',\n width: '10px',\n top: '400vh',\n overflow: 'hidden',\n }\n }\n >\n <div style={{ margin: 6 }}>\n <label style={{ width: 169, display: 'inline-block' }}>\n {'suosId'}\n </label>\n <input\n type=\"text\"\n name={'suosId'}\n value={formData.sessionId}\n style={{ width: 333, border: '1px solid #000 ' }}\n />\n </div>\n {isInDevMode ? <input type=\"submit\" value=\"SUBMIT\" /> : null}\n </form>\n )\n}\n"],"file":"index.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/contexts/CheckoutForm/Components/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAd;AACA,cAAc,uBAAd","sourcesContent":["export * from './BoricaRedirect'\nexport * from './CheckoutCustomState'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../../src/contexts/CheckoutForm/Components/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAd;AACA,cAAc,uBAAd;AACA,cAAc,qBAAd","sourcesContent":["export * from './BoricaRedirect'\nexport * from './CheckoutCustomState'\nexport * from './UniCreditRedirect'\n"],"file":"index.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/usePayment/index.ts"],"names":["useMemo","useState","useCheckoutPayment","validatePayment","usePayment","orderQuery","errorLabels","enabled","isPaymentSubmitting","setIsPaymentSubmitting","loanInfo","setLoanInfo","paymentMethods","query","paymentErrors","isSubmitting","errors","isValid","updateIsSubmitting","updateLoanInfo"],"mappings":"AACA,SAASA,OAAT,EAAkBC,QAAlB,QAAkC,OAAlC;AAMA,SAEEC,kBAFF,QAGO,sCAHP;AAIA,SAASC,eAAT,QAAgC,aAAhC;AAGA,OAAO,IAAMC,UAAU,GAAG,UAQE;AAAA,MARD;AACzBC,IAAAA,UADyB;AAEzBC,IAAAA,WAFyB;AAGzBC,IAAAA;AAHyB,GAQC;AAC1B,MAAM,CAACC,mBAAD,EAAsBC,sBAAtB,IAAgDR,QAAQ,CAAC,KAAD,CAA9D;AACA,MAAM,CAACS,QAAD,EAAWC,WAAX,IAA0BV,QAAQ,CAAC,EAAD,CAAxC;AAEA,MAAMW,cAAc,GAAGV,kBAAkB,CAAC;AAAEW,IAAAA,KAAK,EAAER,UAAT;AAAqBE,IAAAA;AAArB,GAAD,CAAzC;AAEA,MAAMO,aAAa,GACjBF,cAAc,IAAIT,eAAe,CAACS,cAAD,EAAiBN,WAAjB,CADnC;AAGA,SAAON,OAAO,CAAC,MAAM;AACnB,WAAO;AACLe,MAAAA,YAAY,EAAEP,mBADT;AAELQ,MAAAA,MAAM,EAAER,mBAAmB,GAAGM,aAAH,GAAmB,IAFzC;AAGLG,MAAAA,OAAO,EAAE,CAACH,aAHL;AAILI,MAAAA,kBAAkB,EAAET,sBAJf;AAKLU,MAAAA,cAAc,EAAER,WALX;AAMLC,MAAAA,cANK;AAOLF,MAAAA;AAPK,KAAP;AASD,GAVa,EAUX,CAACE,cAAD,EAAiBE,aAAjB,EAAgCN,mBAAhC,EAAqDE,QAArD,CAVW,CAAd;AAWD,CA5BM","sourcesContent":["import { OrderDTO } from '@sentecacommerce/sdk'\nimport { useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../..'\nimport {\n PaymentMethodsResult,\n useCheckoutPayment,\n} from '../../../../hooks/useCheckoutPayment'\nimport { validatePayment } from '../../utils'\nimport { useBoolean } from '../../../../index'\n\nexport const usePayment = ({\n orderQuery,\n errorLabels,\n enabled,\n}: {\n orderQuery: QueryResult<OrderDTO, unknown>\n errorLabels: CheckoutFormErrorLabelsType\n enabled: boolean\n}): UsePaymentResultType => {\n const [isPaymentSubmitting, setIsPaymentSubmitting] = useState(false)\n const [loanInfo, setLoanInfo] = useState({})\n\n const paymentMethods = useCheckoutPayment({ query: orderQuery, enabled })\n\n const paymentErrors =\n paymentMethods && validatePayment(paymentMethods, errorLabels)\n\n return useMemo(() => {\n return {\n isSubmitting: isPaymentSubmitting,\n errors: isPaymentSubmitting ? paymentErrors : null,\n isValid: !paymentErrors,\n updateIsSubmitting: setIsPaymentSubmitting,\n updateLoanInfo: setLoanInfo,\n paymentMethods,\n loanInfo,\n }\n }, [paymentMethods, paymentErrors, isPaymentSubmitting, loanInfo])\n}\n\nexport type UsePaymentResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n updateIsSubmitting: (value: boolean) => void\n updateLoanInfo: (value:
|
1
|
+
{"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/usePayment/index.ts"],"names":["useMemo","useState","useCheckoutPayment","validatePayment","usePayment","orderQuery","errorLabels","enabled","isPaymentSubmitting","setIsPaymentSubmitting","loanInfo","setLoanInfo","paymentMethods","query","paymentErrors","isSubmitting","errors","isValid","updateIsSubmitting","updateLoanInfo"],"mappings":"AACA,SAASA,OAAT,EAAkBC,QAAlB,QAAkC,OAAlC;AAMA,SAEEC,kBAFF,QAGO,sCAHP;AAIA,SAASC,eAAT,QAAgC,aAAhC;AAGA,OAAO,IAAMC,UAAU,GAAG,UAQE;AAAA,MARD;AACzBC,IAAAA,UADyB;AAEzBC,IAAAA,WAFyB;AAGzBC,IAAAA;AAHyB,GAQC;AAC1B,MAAM,CAACC,mBAAD,EAAsBC,sBAAtB,IAAgDR,QAAQ,CAAC,KAAD,CAA9D;AACA,MAAM,CAACS,QAAD,EAAWC,WAAX,IAA0BV,QAAQ,CAAC,EAAD,CAAxC;AAEA,MAAMW,cAAc,GAAGV,kBAAkB,CAAC;AAAEW,IAAAA,KAAK,EAAER,UAAT;AAAqBE,IAAAA;AAArB,GAAD,CAAzC;AAEA,MAAMO,aAAa,GACjBF,cAAc,IAAIT,eAAe,CAACS,cAAD,EAAiBN,WAAjB,CADnC;AAGA,SAAON,OAAO,CAAC,MAAM;AACnB,WAAO;AACLe,MAAAA,YAAY,EAAEP,mBADT;AAELQ,MAAAA,MAAM,EAAER,mBAAmB,GAAGM,aAAH,GAAmB,IAFzC;AAGLG,MAAAA,OAAO,EAAE,CAACH,aAHL;AAILI,MAAAA,kBAAkB,EAAET,sBAJf;AAKLU,MAAAA,cAAc,EAAER,WALX;AAMLC,MAAAA,cANK;AAOLF,MAAAA;AAPK,KAAP;AASD,GAVa,EAUX,CAACE,cAAD,EAAiBE,aAAjB,EAAgCN,mBAAhC,EAAqDE,QAArD,CAVW,CAAd;AAWD,CA5BM","sourcesContent":["import { OrderDTO, OrderLoanInfoDTO } from '@sentecacommerce/sdk'\nimport { useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../..'\nimport {\n PaymentMethodsResult,\n useCheckoutPayment,\n} from '../../../../hooks/useCheckoutPayment'\nimport { validatePayment } from '../../utils'\nimport { useBoolean } from '../../../../index'\n\nexport const usePayment = ({\n orderQuery,\n errorLabels,\n enabled,\n}: {\n orderQuery: QueryResult<OrderDTO, unknown>\n errorLabels: CheckoutFormErrorLabelsType\n enabled: boolean\n}): UsePaymentResultType => {\n const [isPaymentSubmitting, setIsPaymentSubmitting] = useState(false)\n const [loanInfo, setLoanInfo] = useState({})\n\n const paymentMethods = useCheckoutPayment({ query: orderQuery, enabled })\n\n const paymentErrors =\n paymentMethods && validatePayment(paymentMethods, errorLabels)\n\n return useMemo(() => {\n return {\n isSubmitting: isPaymentSubmitting,\n errors: isPaymentSubmitting ? paymentErrors : null,\n isValid: !paymentErrors,\n updateIsSubmitting: setIsPaymentSubmitting,\n updateLoanInfo: setLoanInfo,\n paymentMethods,\n loanInfo,\n }\n }, [paymentMethods, paymentErrors, isPaymentSubmitting, loanInfo])\n}\n\nexport type UsePaymentResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n updateIsSubmitting: (value: boolean) => void\n updateLoanInfo: (value: OrderLoanInfoDTO) => void\n loanInfo: any\n paymentMethods?: PaymentMethodsResult\n}\n"],"file":"index.js"}
|
@@ -80,15 +80,19 @@ export var useShipping = (_ref) => {
|
|
80
80
|
if (!enableSaveAddress) return;
|
81
81
|
setIsShippingSubmitting(true);
|
82
82
|
if (addressErrors) return;
|
83
|
-
|
83
|
+
|
84
|
+
var baseAddress = _extends({}, shippingAddressWithModule, {
|
84
85
|
_id: undefined,
|
85
|
-
countryCode,
|
86
86
|
custom: shippingAddressWithModule == null ? void 0 : (_shippingAddressWithM = shippingAddressWithModule.custom) == null ? void 0 : _shippingAddressWithM.filter((_ref2) => {
|
87
87
|
var {
|
88
88
|
field
|
89
89
|
} = _ref2;
|
90
90
|
return field !== IS_NEW && field !== SELECTED_ADDRESS_ID;
|
91
91
|
})
|
92
|
+
});
|
93
|
+
|
94
|
+
saveAddress(enableNoShippingMethodMode ? baseAddress : _extends({}, baseAddress, {
|
95
|
+
countryCode
|
92
96
|
}), {
|
93
97
|
onSuccess: address => {
|
94
98
|
var data = _extends({}, address, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/useShipping/index.ts"],"names":["useCallback","useMemo","useState","addressesApi","useCheckoutShippingModule","useCheckoutShippingAddress","validateShipping","updateObjProp","usePersistOnBeforeUnload","useSavedShippingList","useShippingInitialData","IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","saveAddress","useAdd","handleShippingAddressChange","currentShippingAddress","savedShippingAddress","shippingAddress","setShippingAddress","mod","savedAddressList","hasAvailableSavedAddress","noShippingMethod","selectedShippingAddress","shippingAddressWithModule","moduleAddress","moduleData","address","result","city","name","quarter","streetName","street","postalCode","postCode","moduleKey","addressErrors","handleShippingAddressSave","_id","undefined","custom","filter","field","onSuccess","data","createdAt","Date","now","updatedAt","value","onInputChange","split","setGeographicalData","latitude","longitude","placeId","geocoding","geographicalCoordinates","unsetShippingAddress","persistShippingAddress","Promise","resolve","reject","order","onError","callback","isAddingNew","Boolean","some","updateIsAddingNew","autofillData","firstName","lastName","email","phoneNumber","isSubmitting","errors","isValid","updateIsSubmitting","isSavedAddressListEnabled","saveShippingAddress","canSaveAddress"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport { AddressDTO, CustomerDTO, OrderDTO } from '@sentecacommerce/sdk'\n\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../../'\nimport { addressesApi } from '../../../../api/addressesApi'\nimport { useCheckoutShippingModule } from '../../../../hooks/useCheckoutShippingModule'\nimport { useCheckoutShippingAddress } from '../../../../hooks/useCheckoutShippingAddress'\n\nimport {\n validateShipping,\n updateObjProp,\n ShippingValidationsType,\n} from '../../utils'\nimport { usePersistOnBeforeUnload } from '../usePersistOnBeforeUnload'\nimport { useSavedShippingList } from '../useSavedShippingList'\nimport { useShippingInitialData } from '../useShippingInitialData'\n\nconst IS_NEW = 'isNew'\nconst SELECTED_ADDRESS_ID = 'selectedAddressId'\n\nexport const useShipping = ({\n withPersistBeforePageLeave,\n orderQuery,\n validations,\n enableSavedAddressList,\n errorLabels,\n enableSaveAddress,\n autofillShippingPersonalData,\n userQuery,\n enabled,\n countryCode,\n requiredFields,\n enableNoShippingMethodMode,\n}: UseShippingProps): UseShippingResultType => {\n const [isShippingSubmitting, setIsShippingSubmitting] = useState(false)\n\n const [saveAddress] = addressesApi.useAdd({})\n\n const {\n handleShippingAddressChange,\n currentShippingAddress: savedShippingAddress,\n } = useCheckoutShippingAddress(orderQuery)\n\n const [shippingAddress, setShippingAddress] = useState<\n AddressDTO | undefined\n >()\n\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const { savedAddressList, hasAvailableSavedAddress } = useSavedShippingList({\n noShippingMethod: enableNoShippingMethodMode,\n enabled: enabled && enableSavedAddressList,\n selectedShippingAddress: shippingAddress,\n setShippingAddress,\n handleShippingAddressChange,\n })\n const shippingAddressWithModule: AddressDTO | undefined = useMemo(() => {\n if (!shippingAddress) return\n const moduleAddress = mod?.moduleData?.address\n\n let result = {\n ...shippingAddress,\n city: moduleAddress?.city?.name || shippingAddress.city,\n quarter: moduleAddress?.quarter?.name || shippingAddress.quarter,\n streetName: moduleAddress?.street?.name || shippingAddress.streetName,\n postalCode:\n (moduleAddress?.city?.postCode ?? '') || shippingAddress.postalCode,\n }\n\n if (!enableNoShippingMethodMode) {\n result = {\n ...result,\n moduleData: [\n {\n moduleKey: mod?.moduleKey as string,\n moduleData: {\n ...mod?.moduleData,\n },\n },\n ],\n }\n }\n\n return result\n }, [shippingAddress, mod])\n\n const addressErrors = useMemo(\n () =>\n validateShipping(\n shippingAddressWithModule,\n mod,\n errorLabels,\n validations,\n requiredFields,\n enableNoShippingMethodMode\n ),\n [shippingAddressWithModule, mod, errorLabels, validations]\n )\n\n /**\n * Save the current address\n */\n const handleShippingAddressSave = useCallback(() => {\n if (!enableSaveAddress) return\n\n setIsShippingSubmitting(true)\n if (addressErrors) return\n\n saveAddress(\n {\n ...shippingAddressWithModule,\n _id: undefined,\n countryCode,\n custom: shippingAddressWithModule?.custom?.filter(\n ({ field }) => field !== IS_NEW && field !== SELECTED_ADDRESS_ID\n ),\n },\n {\n onSuccess: (address) => {\n const data = {\n ...address,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n custom: [\n ...(address?.custom || []),\n {\n field: SELECTED_ADDRESS_ID,\n value: address._id,\n },\n ],\n }\n\n setShippingAddress(data)\n handleShippingAddressChange(data)\n },\n }\n )\n }, [addressErrors, enableSaveAddress, shippingAddressWithModule])\n\n /**\n * Name supports nested fields\n *\n * @param name example name: 'example.firstName'\n * @param value\n */\n const onInputChange = useCallback(\n async (name: string, value: any) => {\n if (!shippingAddress) return\n\n const data = { ...shippingAddress }\n\n updateObjProp(data, value, name.split('.'))\n\n setShippingAddress(data)\n },\n [shippingAddress]\n )\n\n const setGeographicalData = useCallback(\n async ({\n latitude,\n longitude,\n placeId,\n geocoding,\n }: UseGeographicalData) => {\n if (!shippingAddressWithModule) return\n\n const data = {\n ...shippingAddressWithModule,\n geographicalCoordinates: {\n latitude,\n longitude,\n },\n custom: [\n ...(shippingAddress?.custom || []),\n { field: 'placeId', value: placeId },\n { field: 'geocoding', value: geocoding },\n ],\n }\n\n setShippingAddress(data)\n return await handleShippingAddressChange(data)\n },\n [shippingAddress, handleShippingAddressChange]\n )\n\n const unsetShippingAddress = useCallback(async () => {\n setShippingAddress(undefined)\n await handleShippingAddressChange()\n }, [])\n\n const persistShippingAddress = useCallback(() => {\n if (!shippingAddressWithModule) return\n\n return new Promise((resolve, reject) => {\n handleShippingAddressChange(shippingAddressWithModule, {\n onSuccess: (order: OrderDTO) => resolve(order),\n onError: () => reject(),\n })\n })\n }, [shippingAddressWithModule])\n\n /**\n * Set initial data\n */\n useShippingInitialData({\n savedShippingAddress,\n shippingAddress,\n setShippingAddress,\n autofillShippingPersonalData,\n userQuery,\n })\n\n // persist data before page exit\n usePersistOnBeforeUnload({\n enabled: withPersistBeforePageLeave,\n callback: persistShippingAddress,\n })\n\n const isAddingNew = Boolean(\n shippingAddressWithModule?.custom?.some(\n ({ field, value }) => field === IS_NEW && value === 1\n )\n )\n\n const updateIsAddingNew = useCallback(\n (value: boolean) => {\n if (isAddingNew === value) return\n\n let autofillData = {}\n\n if (value && autofillShippingPersonalData) {\n autofillData = {\n firstName: userQuery?.data?.firstName,\n lastName: userQuery?.data?.lastName,\n email: userQuery?.data?.email,\n phoneNumber: userQuery?.data?.phoneNumber,\n }\n }\n\n const data: AddressDTO = {\n _id: shippingAddressWithModule?._id as string,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n ...autofillData,\n custom: [\n {\n field: IS_NEW,\n value: value ? 1 : 0,\n },\n ],\n }\n\n setIsShippingSubmitting(false)\n handleShippingAddressChange(data)\n setShippingAddress(data)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isAddingNew,\n shippingAddressWithModule,\n autofillShippingPersonalData,\n userQuery?.data?.firstName,\n userQuery?.data?.lastName,\n userQuery?.data?.email,\n userQuery?.data?.phoneNumber,\n ]\n )\n\n return useMemo(() => {\n return {\n isSubmitting: isShippingSubmitting,\n errors: isShippingSubmitting ? addressErrors : null,\n isValid: !addressErrors,\n updateIsSubmitting: setIsShippingSubmitting,\n onInputChange,\n persistShippingAddress,\n isSavedAddressListEnabled: enableSavedAddressList,\n saveShippingAddress: handleShippingAddressSave,\n savedAddressList,\n data: shippingAddressWithModule,\n isAddingNew,\n updateIsAddingNew,\n canSaveAddress: enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n }\n }, [\n isShippingSubmitting,\n addressErrors,\n onInputChange,\n persistShippingAddress,\n enableSavedAddressList,\n handleShippingAddressSave,\n shippingAddressWithModule,\n savedAddressList,\n isAddingNew,\n updateIsAddingNew,\n enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n ])\n}\n\ntype UseGeographicalData = {\n latitude: number\n longitude: number\n placeId: string\n geocoding: string\n}\n\ntype UseShippingProps = {\n withPersistBeforePageLeave: boolean\n orderQuery: QueryResult<OrderDTO, unknown>\n validations: ShippingValidationsType\n enableSavedAddressList: boolean\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n errorLabels: CheckoutFormErrorLabelsType\n userQuery: QueryResult<CustomerDTO, unknown>\n enabled: boolean\n countryCode?: string\n requiredFields: string[]\n enableNoShippingMethodMode: boolean\n}\n\ntype Address = AddressDTO & {\n isSelectable: boolean\n isSelected: boolean\n select: () => void\n}\n\nexport type UseShippingResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n isSavedAddressListEnabled: boolean\n savedAddressList?: Address[]\n hasAvailableSavedAddress: boolean\n updateIsSubmitting: (value: boolean) => void\n onInputChange?: (name: string, value: any) => void\n persistShippingAddress: () => void\n data?: AddressDTO\n saveShippingAddress: () => void\n canSaveAddress: boolean\n\n isAddingNew: boolean\n updateIsAddingNew: (value: boolean) => void\n unsetShippingAddress: () => void\n setGeographicalData: (\n objParams: UseGeographicalData\n ) => Promise<OrderDTO | undefined>\n}\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/useShipping/index.ts"],"names":["useCallback","useMemo","useState","addressesApi","useCheckoutShippingModule","useCheckoutShippingAddress","validateShipping","updateObjProp","usePersistOnBeforeUnload","useSavedShippingList","useShippingInitialData","IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","saveAddress","useAdd","handleShippingAddressChange","currentShippingAddress","savedShippingAddress","shippingAddress","setShippingAddress","mod","savedAddressList","hasAvailableSavedAddress","noShippingMethod","selectedShippingAddress","shippingAddressWithModule","moduleAddress","moduleData","address","result","city","name","quarter","streetName","street","postalCode","postCode","moduleKey","addressErrors","handleShippingAddressSave","baseAddress","_id","undefined","custom","filter","field","onSuccess","data","createdAt","Date","now","updatedAt","value","onInputChange","split","setGeographicalData","latitude","longitude","placeId","geocoding","geographicalCoordinates","unsetShippingAddress","persistShippingAddress","Promise","resolve","reject","order","onError","callback","isAddingNew","Boolean","some","updateIsAddingNew","autofillData","firstName","lastName","email","phoneNumber","isSubmitting","errors","isValid","updateIsSubmitting","isSavedAddressListEnabled","saveShippingAddress","canSaveAddress"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { QueryResult } from 'react-query'\nimport { AddressDTO, CustomerDTO, OrderDTO } from '@sentecacommerce/sdk'\n\nimport {\n CheckoutFormErrorLabelsType,\n CheckoutFormErrorsResultType,\n} from '../../'\nimport { addressesApi } from '../../../../api/addressesApi'\nimport { useCheckoutShippingModule } from '../../../../hooks/useCheckoutShippingModule'\nimport { useCheckoutShippingAddress } from '../../../../hooks/useCheckoutShippingAddress'\n\nimport {\n validateShipping,\n updateObjProp,\n ShippingValidationsType,\n} from '../../utils'\nimport { usePersistOnBeforeUnload } from '../usePersistOnBeforeUnload'\nimport { useSavedShippingList } from '../useSavedShippingList'\nimport { useShippingInitialData } from '../useShippingInitialData'\n\nconst IS_NEW = 'isNew'\nconst SELECTED_ADDRESS_ID = 'selectedAddressId'\n\nexport const useShipping = ({\n withPersistBeforePageLeave,\n orderQuery,\n validations,\n enableSavedAddressList,\n errorLabels,\n enableSaveAddress,\n autofillShippingPersonalData,\n userQuery,\n enabled,\n countryCode,\n requiredFields,\n enableNoShippingMethodMode,\n}: UseShippingProps): UseShippingResultType => {\n const [isShippingSubmitting, setIsShippingSubmitting] = useState(false)\n\n const [saveAddress] = addressesApi.useAdd({})\n\n const {\n handleShippingAddressChange,\n currentShippingAddress: savedShippingAddress,\n } = useCheckoutShippingAddress(orderQuery)\n\n const [shippingAddress, setShippingAddress] = useState<\n AddressDTO | undefined\n >()\n\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const { savedAddressList, hasAvailableSavedAddress } = useSavedShippingList({\n noShippingMethod: enableNoShippingMethodMode,\n enabled: enabled && enableSavedAddressList,\n selectedShippingAddress: shippingAddress,\n setShippingAddress,\n handleShippingAddressChange,\n })\n const shippingAddressWithModule: AddressDTO | undefined = useMemo(() => {\n if (!shippingAddress) return\n const moduleAddress = mod?.moduleData?.address\n\n let result = {\n ...shippingAddress,\n city: moduleAddress?.city?.name || shippingAddress.city,\n quarter: moduleAddress?.quarter?.name || shippingAddress.quarter,\n streetName: moduleAddress?.street?.name || shippingAddress.streetName,\n postalCode:\n (moduleAddress?.city?.postCode ?? '') || shippingAddress.postalCode,\n }\n\n if (!enableNoShippingMethodMode) {\n result = {\n ...result,\n moduleData: [\n {\n moduleKey: mod?.moduleKey as string,\n moduleData: {\n ...mod?.moduleData,\n },\n },\n ],\n }\n }\n\n return result\n }, [shippingAddress, mod])\n\n const addressErrors = useMemo(\n () =>\n validateShipping(\n shippingAddressWithModule,\n mod,\n errorLabels,\n validations,\n requiredFields,\n enableNoShippingMethodMode\n ),\n [shippingAddressWithModule, mod, errorLabels, validations]\n )\n\n /**\n * Save the current address\n */\n const handleShippingAddressSave = useCallback(() => {\n if (!enableSaveAddress) return\n\n setIsShippingSubmitting(true)\n if (addressErrors) return\n\n const baseAddress = {\n ...shippingAddressWithModule,\n _id: undefined,\n custom: shippingAddressWithModule?.custom?.filter(\n ({ field }) => field !== IS_NEW && field !== SELECTED_ADDRESS_ID\n ),\n }\n\n saveAddress(\n enableNoShippingMethodMode\n ? baseAddress\n : { ...baseAddress, countryCode },\n {\n onSuccess: (address) => {\n const data = {\n ...address,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n custom: [\n ...(address?.custom || []),\n {\n field: SELECTED_ADDRESS_ID,\n value: address._id,\n },\n ],\n }\n\n setShippingAddress(data)\n handleShippingAddressChange(data)\n },\n }\n )\n }, [addressErrors, enableSaveAddress, shippingAddressWithModule])\n\n /**\n * Name supports nested fields\n *\n * @param name example name: 'example.firstName'\n * @param value\n */\n const onInputChange = useCallback(\n async (name: string, value: any) => {\n if (!shippingAddress) return\n\n const data = { ...shippingAddress }\n\n updateObjProp(data, value, name.split('.'))\n\n setShippingAddress(data)\n },\n [shippingAddress]\n )\n\n const setGeographicalData = useCallback(\n async ({\n latitude,\n longitude,\n placeId,\n geocoding,\n }: UseGeographicalData) => {\n if (!shippingAddressWithModule) return\n\n const data = {\n ...shippingAddressWithModule,\n geographicalCoordinates: {\n latitude,\n longitude,\n },\n custom: [\n ...(shippingAddress?.custom || []),\n { field: 'placeId', value: placeId },\n { field: 'geocoding', value: geocoding },\n ],\n }\n\n setShippingAddress(data)\n return await handleShippingAddressChange(data)\n },\n [shippingAddress, handleShippingAddressChange]\n )\n\n const unsetShippingAddress = useCallback(async () => {\n setShippingAddress(undefined)\n await handleShippingAddressChange()\n }, [])\n\n const persistShippingAddress = useCallback(() => {\n if (!shippingAddressWithModule) return\n\n return new Promise((resolve, reject) => {\n handleShippingAddressChange(shippingAddressWithModule, {\n onSuccess: (order: OrderDTO) => resolve(order),\n onError: () => reject(),\n })\n })\n }, [shippingAddressWithModule])\n\n /**\n * Set initial data\n */\n useShippingInitialData({\n savedShippingAddress,\n shippingAddress,\n setShippingAddress,\n autofillShippingPersonalData,\n userQuery,\n })\n\n // persist data before page exit\n usePersistOnBeforeUnload({\n enabled: withPersistBeforePageLeave,\n callback: persistShippingAddress,\n })\n\n const isAddingNew = Boolean(\n shippingAddressWithModule?.custom?.some(\n ({ field, value }) => field === IS_NEW && value === 1\n )\n )\n\n const updateIsAddingNew = useCallback(\n (value: boolean) => {\n if (isAddingNew === value) return\n\n let autofillData = {}\n\n if (value && autofillShippingPersonalData) {\n autofillData = {\n firstName: userQuery?.data?.firstName,\n lastName: userQuery?.data?.lastName,\n email: userQuery?.data?.email,\n phoneNumber: userQuery?.data?.phoneNumber,\n }\n }\n\n const data: AddressDTO = {\n _id: shippingAddressWithModule?._id as string,\n createdAt: Date.now(),\n updatedAt: Date.now(),\n ...autofillData,\n custom: [\n {\n field: IS_NEW,\n value: value ? 1 : 0,\n },\n ],\n }\n\n setIsShippingSubmitting(false)\n handleShippingAddressChange(data)\n setShippingAddress(data)\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isAddingNew,\n shippingAddressWithModule,\n autofillShippingPersonalData,\n userQuery?.data?.firstName,\n userQuery?.data?.lastName,\n userQuery?.data?.email,\n userQuery?.data?.phoneNumber,\n ]\n )\n\n return useMemo(() => {\n return {\n isSubmitting: isShippingSubmitting,\n errors: isShippingSubmitting ? addressErrors : null,\n isValid: !addressErrors,\n updateIsSubmitting: setIsShippingSubmitting,\n onInputChange,\n persistShippingAddress,\n isSavedAddressListEnabled: enableSavedAddressList,\n saveShippingAddress: handleShippingAddressSave,\n savedAddressList,\n data: shippingAddressWithModule,\n isAddingNew,\n updateIsAddingNew,\n canSaveAddress: enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n }\n }, [\n isShippingSubmitting,\n addressErrors,\n onInputChange,\n persistShippingAddress,\n enableSavedAddressList,\n handleShippingAddressSave,\n shippingAddressWithModule,\n savedAddressList,\n isAddingNew,\n updateIsAddingNew,\n enableSaveAddress,\n hasAvailableSavedAddress,\n unsetShippingAddress,\n setGeographicalData,\n ])\n}\n\ntype UseGeographicalData = {\n latitude: number\n longitude: number\n placeId: string\n geocoding: string\n}\n\ntype UseShippingProps = {\n withPersistBeforePageLeave: boolean\n orderQuery: QueryResult<OrderDTO, unknown>\n validations: ShippingValidationsType\n enableSavedAddressList: boolean\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n errorLabels: CheckoutFormErrorLabelsType\n userQuery: QueryResult<CustomerDTO, unknown>\n enabled: boolean\n countryCode?: string\n requiredFields: string[]\n enableNoShippingMethodMode: boolean\n}\n\ntype Address = AddressDTO & {\n isSelectable: boolean\n isSelected: boolean\n select: () => void\n}\n\nexport type UseShippingResultType = {\n isSubmitting: boolean\n errors?: CheckoutFormErrorsResultType\n isValid: boolean\n isSavedAddressListEnabled: boolean\n savedAddressList?: Address[]\n hasAvailableSavedAddress: boolean\n updateIsSubmitting: (value: boolean) => void\n onInputChange?: (name: string, value: any) => void\n persistShippingAddress: () => void\n data?: AddressDTO\n saveShippingAddress: () => void\n canSaveAddress: boolean\n\n isAddingNew: boolean\n updateIsAddingNew: (value: boolean) => void\n unsetShippingAddress: () => void\n setGeographicalData: (\n objParams: UseGeographicalData\n ) => Promise<OrderDTO | undefined>\n}\n"],"file":"index.js"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
3
3
|
import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';
|
4
|
+
import { MyCartSetLoanInfo } from '@sentecacommerce/sdk';
|
4
5
|
import { myCartApi } from '../../api/myCartApi';
|
5
6
|
import { useBilling, usePayment, useShipping } from './hooks';
|
6
7
|
import { useIsAuthenticated } from '../../user/hooks';
|
@@ -8,7 +9,7 @@ import { useCheckoutSubmit } from '../../hooks/useCheckoutSubmit';
|
|
8
9
|
import { defaultShippingValidations, genericBillingAddressValidation } from './utils';
|
9
10
|
import { usersApi } from '../../api/usersApi';
|
10
11
|
import { useCheckoutShippingModule } from '../../hooks/useCheckoutShippingModule';
|
11
|
-
import { CheckoutFormCustomStateProvider, BoricaRedirect } from './Components';
|
12
|
+
import { CheckoutFormCustomStateProvider, BoricaRedirect, UniCreditRedirect } from './Components';
|
12
13
|
import { useScrollTo } from '../../hooks/ui-hooks';
|
13
14
|
import { getElementOffset } from '../../utils/getElementOffset';
|
14
15
|
export var CheckoutFormContext = /*#__PURE__*/createContext({});
|
@@ -45,6 +46,7 @@ export function CheckoutFormContextProvider(_ref) {
|
|
45
46
|
} = _ref;
|
46
47
|
var orderQuery = myCartApi.useGet();
|
47
48
|
var [boricaData, setBoricaData] = useState(null);
|
49
|
+
var [uniCreditData, setUniCreditData] = useState(null);
|
48
50
|
var [step, setStep] = useState(defaultStep);
|
49
51
|
var [isRedirecting, setIsRedirecting] = useState(false);
|
50
52
|
var fieldsWithError = [];
|
@@ -149,11 +151,21 @@ export function CheckoutFormContextProvider(_ref) {
|
|
149
151
|
}, redirectTimeout);
|
150
152
|
};
|
151
153
|
|
154
|
+
var onBeforeUniCreditRedirect = data => {
|
155
|
+
if (disablePaymentRedirects) return;
|
156
|
+
onBeforeRedirect == null ? void 0 : onBeforeRedirect();
|
157
|
+
setIsRedirecting(true);
|
158
|
+
setTimeout(() => {
|
159
|
+
setUniCreditData(data);
|
160
|
+
}, redirectTimeout);
|
161
|
+
};
|
162
|
+
|
152
163
|
var {
|
153
164
|
handleCheckoutSubmit
|
154
165
|
} = useCheckoutSubmit({
|
155
166
|
onBeforeBoricaRedirect,
|
156
167
|
onBeforePaypalRedirect,
|
168
|
+
onBeforeUniCreditRedirect,
|
157
169
|
onSuccess,
|
158
170
|
onError: errors => {
|
159
171
|
updateServerErrors(errors);
|
@@ -197,7 +209,18 @@ export function CheckoutFormContextProvider(_ref) {
|
|
197
209
|
updateServerErrors,
|
198
210
|
scrollToFirstError,
|
199
211
|
shippingState,
|
200
|
-
shippingAddress: shippingState.data
|
212
|
+
shippingAddress: shippingState.data,
|
213
|
+
setLoanInfo: function () {
|
214
|
+
var _setLoanInfo = _asyncToGenerator(function* (loanInfo) {
|
215
|
+
return yield MyCartSetLoanInfo(loanInfo);
|
216
|
+
});
|
217
|
+
|
218
|
+
function setLoanInfo(_x2) {
|
219
|
+
return _setLoanInfo.apply(this, arguments);
|
220
|
+
}
|
221
|
+
|
222
|
+
return setLoanInfo;
|
223
|
+
}()
|
201
224
|
});
|
202
225
|
});
|
203
226
|
|
@@ -229,6 +252,9 @@ export function CheckoutFormContextProvider(_ref) {
|
|
229
252
|
}, children), !!boricaData && /*#__PURE__*/React.createElement(BoricaRedirect, {
|
230
253
|
isInDevMode: isBoricaInDevMode,
|
231
254
|
formData: boricaData
|
255
|
+
}), !!uniCreditData && /*#__PURE__*/React.createElement(UniCreditRedirect, {
|
256
|
+
isInDevMode: isBoricaInDevMode,
|
257
|
+
formData: uniCreditData
|
232
258
|
}))));
|
233
259
|
}
|
234
260
|
export var CheckoutFormStepsEnum;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/contexts/CheckoutForm/index.tsx"],"names":["React","createContext","useCallback","useContext","useMemo","useState","myCartApi","useBilling","usePayment","useShipping","useIsAuthenticated","useCheckoutSubmit","defaultShippingValidations","genericBillingAddressValidation","usersApi","useCheckoutShippingModule","CheckoutFormCustomStateProvider","BoricaRedirect","useScrollTo","getElementOffset","CheckoutFormContext","CheckoutFormContextProvider","children","defaultStep","errorLabels","enableSavedAddressList","withPersistBeforePageLeave","shippingValidations","validateBillingAddress","enableSaveBillingAddress","enableSavedBillingAddressList","countryCode","enableSaveAddress","autofillShippingPersonalData","onSubmit","paymentEnabledOnStep","getPaymentMethodsWhenShippingMethodIsSelected","shippingEnabledOnStep","billingEnabledOnStep","customState","initialCustomState","redirectTimeout","onBeforeRedirect","onSuccess","onError","isBoricaInDevMode","withPixelMeta","requiredFieldsOnShippingStep","requiredFieldsOnBillingAddressStep","enableNoShippingMethodMode","disablePaymentRedirects","orderQuery","useGet","boricaData","setBoricaData","step","setStep","isRedirecting","setIsRedirecting","fieldsWithError","serverErrors","setServerErrors","collectFieldsWithError","error","push","handleStepChange","newStep","window","scrollTo","updateServerErrors","errors","formattedErrors","reduce","data","code","response","internalError","isAuthenticated","isShippingEnabled","userQuery","enabled","shippingState","Boolean","validations","requiredFields","mod","getIsPaymentMethodsEnabled","moduleKey","moduleData","methodKey","paymentState","billingState","withSavedBillingAddressList","requiredFieldsOnShipping","onBeforeBoricaRedirect","setTimeout","onBeforePaypalRedirect","location","replace","redirectUrl","handleCheckoutSubmit","withMeta","scrollToFirstError","interval","setInterval","errorElement","top","clearInterval","handleSubmit","e","preventDefault","Promise","all","persistShippingAddress","persistBillingAddress","catch","isShippingValid","isValid","setIsShippingSubmitting","updateIsSubmitting","isBillingValid","setIsBillingSubmitting","isPaymentValid","setIsPaymentSubmitting","loanInfo","updateStep","saveOrder","shippingAddress","state","errorRef","errorFields","CheckoutFormStepsEnum","useCheckoutFormStep","context","Error","currentStep","useCheckoutFormOrder","useCheckoutFormErrorLabels","useCheckoutFormServerErrors","useCheckoutFormBillingState","useCheckoutFormShippingState","useCheckoutErrorFields","useCheckoutFormPaymentState"],"mappings":"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","sourcesContent":["import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n AddressDTO,\n PaypalGeneratePaymentUrlResponseDTO,\n OrderLoanInfoDTO,\n} from '@sentecacommerce/sdk'\nimport { MutateFunction, QueryResult } from 'react-query'\nimport { myCartApi } from '../../api/myCartApi'\nimport {\n useBilling,\n UseBillingResultType,\n usePayment,\n UsePaymentResultType,\n useShipping,\n UseShippingResultType,\n} from './hooks'\nimport { useIsAuthenticated } from '../../user/hooks'\nimport { useCheckoutSubmit } from '../../hooks/useCheckoutSubmit'\n\nimport {\n ShippingValidationsType,\n defaultShippingValidations,\n genericBillingAddressValidation,\n BillingAddressValidationType,\n} from './utils'\nimport { usersApi } from '../../api/usersApi'\nimport { useCheckoutShippingModule } from '../../hooks/useCheckoutShippingModule'\nimport { CheckoutFormCustomStateProvider, BoricaRedirect } from './Components'\nimport { useScrollTo } from '../../hooks/ui-hooks'\nimport { getElementOffset } from '../../utils/getElementOffset'\n\nexport const CheckoutFormContext = createContext<CheckoutFormContextType>(\n {} as any\n)\n\nexport type CheckoutCustomState = {}\n\nexport function CheckoutFormContextProvider({\n children,\n defaultStep,\n errorLabels,\n enableSavedAddressList,\n withPersistBeforePageLeave,\n shippingValidations = defaultShippingValidations,\n validateBillingAddress = genericBillingAddressValidation,\n enableSaveBillingAddress,\n enableSavedBillingAddressList,\n countryCode,\n enableSaveAddress,\n autofillShippingPersonalData,\n onSubmit,\n\n paymentEnabledOnStep,\n getPaymentMethodsWhenShippingMethodIsSelected,\n shippingEnabledOnStep,\n billingEnabledOnStep,\n\n customState: initialCustomState = {},\n redirectTimeout = 420,\n onBeforeRedirect,\n onSuccess,\n onError,\n isBoricaInDevMode,\n withPixelMeta = false,\n requiredFieldsOnShippingStep = [\n 'firstName',\n 'lastName',\n 'email',\n 'phoneNumber',\n ],\n requiredFieldsOnBillingAddressStep = [\n 'vatId',\n 'companyId',\n 'companyPerson',\n 'companyName',\n ],\n enableNoShippingMethodMode = false,\n disablePaymentRedirects = false,\n}: Props) {\n const orderQuery = myCartApi.useGet()\n const [\n boricaData,\n setBoricaData,\n ] = useState<BoricaGeneratePaymentDataResponse | null>(null)\n const [step, setStep] = useState<CheckoutFormStepsEnum>(defaultStep)\n const [isRedirecting, setIsRedirecting] = useState(false)\n\n const fieldsWithError: HTMLElement[] = []\n\n const [serverErrors, setServerErrors] = useState<ServerErrors>(null)\n\n const collectFieldsWithError = (error: HTMLElement) => {\n fieldsWithError.push(error)\n }\n\n const handleStepChange = useCallback((newStep: CheckoutFormStepsEnum) => {\n window.scrollTo(0, 0)\n\n setStep(newStep)\n }, [])\n\n const updateServerErrors = useCallback((errors: any[]) => {\n // Example Error\n // [{\n // code: \"OutOfStock\"\n // message: \"Some of the ordered line items are out of stock at the time of placing the order.\"\n // responses: {\n // availableQuantity: 1\n // sku: \"200000095849\"\n // status: \"unavailable\"\n // }\n // }]\n const formattedErrors = errors?.reduce?.(\n (data: ServerErrors, error: any) => {\n return {\n ...data,\n [error?.code || 'internal']: error?.response,\n }\n },\n {}\n )\n setServerErrors(formattedErrors || { internalError: errors })\n }, [])\n\n const { isAuthenticated } = useIsAuthenticated()\n\n const isShippingEnabled = shippingEnabledOnStep === step\n\n const userQuery = usersApi.useGet(\n {},\n { enabled: isShippingEnabled && autofillShippingPersonalData }\n )\n\n const shippingState = useShipping({\n errorLabels,\n orderQuery,\n enableSavedAddressList: Boolean(isAuthenticated && enableSavedAddressList),\n enableSaveAddress: Boolean(isAuthenticated && enableSaveAddress),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n validations: shippingValidations,\n autofillShippingPersonalData: Boolean(\n isAuthenticated && autofillShippingPersonalData\n ),\n userQuery,\n enabled: isShippingEnabled,\n countryCode,\n requiredFields: requiredFieldsOnShippingStep,\n enableNoShippingMethodMode,\n })\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const getIsPaymentMethodsEnabled = () => {\n if (paymentEnabledOnStep) {\n return paymentEnabledOnStep === step\n }\n\n if (\n !enableNoShippingMethodMode &&\n getPaymentMethodsWhenShippingMethodIsSelected\n ) {\n return Boolean(mod?.moduleKey && mod?.moduleData.methodKey)\n }\n\n return false\n }\n\n const paymentState = usePayment({\n errorLabels,\n orderQuery,\n enabled: getIsPaymentMethodsEnabled(),\n })\n\n const billingState = useBilling({\n errorLabels,\n orderQuery,\n validateBillingAddress,\n enableSaveBillingAddress: Boolean(\n isAuthenticated && enableSaveBillingAddress\n ),\n withSavedBillingAddressList: Boolean(\n isAuthenticated && enableSavedBillingAddressList\n ),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n countryCode,\n enabled: billingEnabledOnStep === step,\n requiredFields: requiredFieldsOnBillingAddressStep,\n requiredFieldsOnShipping: requiredFieldsOnShippingStep,\n })\n\n const onBeforeBoricaRedirect = (data: BoricaGeneratePaymentDataResponse) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n setBoricaData(data)\n }, redirectTimeout)\n }\n\n const onBeforePaypalRedirect = (\n data: PaypalGeneratePaymentUrlResponseDTO\n ) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n window.location.replace(data.redirectUrl)\n }, redirectTimeout)\n }\n const { handleCheckoutSubmit } = useCheckoutSubmit({\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onSuccess,\n onError: (errors: any) => {\n updateServerErrors(errors)\n onError(errors)\n },\n withMeta: withPixelMeta,\n disablePaymentRedirects,\n })\n\n const { scrollTo } = useScrollTo(fieldsWithError[0], 0)\n\n const scrollToFirstError = () => {\n const interval = setInterval(() => {\n const errorElement = fieldsWithError[0]\n if (!errorElement) return\n\n scrollTo(getElementOffset(errorElement).top - 100)\n clearInterval(interval)\n }, 50)\n\n setTimeout(() => {\n clearInterval(interval)\n }, 1000)\n }\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n\n await Promise.all([\n shippingState.persistShippingAddress(),\n billingState.persistBillingAddress(),\n ]).catch(() => {})\n\n onSubmit({\n isShippingValid: shippingState.isValid,\n setIsShippingSubmitting: shippingState.updateIsSubmitting,\n isBillingValid: billingState.isValid,\n setIsBillingSubmitting: billingState.updateIsSubmitting,\n isPaymentValid: paymentState.isValid,\n setIsPaymentSubmitting: paymentState.updateIsSubmitting,\n loanInfo: paymentState.loanInfo,\n step,\n updateStep: setStep,\n saveOrder: handleCheckoutSubmit,\n updateServerErrors,\n scrollToFirstError,\n shippingState,\n shippingAddress: shippingState.data,\n })\n }\n\n const state = {\n setStep: handleStepChange,\n step,\n orderQuery,\n serverErrors,\n updateServerErrors,\n errorLabels,\n shippingState,\n paymentState,\n billingState,\n errorRef: collectFieldsWithError,\n errorFields: fieldsWithError,\n }\n\n return (\n <CheckoutFormContext.Provider value={state}>\n <CheckoutFormCustomStateProvider initialCustomState={initialCustomState}>\n <>\n <form noValidate onSubmit={handleSubmit}>\n {children}\n </form>\n {!!boricaData && (\n <BoricaRedirect\n isInDevMode={isBoricaInDevMode}\n formData={boricaData}\n />\n )}\n </>\n </CheckoutFormCustomStateProvider>\n </CheckoutFormContext.Provider>\n )\n}\n\nexport type CheckoutFormOnSubmitData = {\n isShippingValid: boolean\n setIsShippingSubmitting: (value: boolean) => void\n isBillingValid: boolean\n setIsBillingSubmitting: (value: boolean) => void\n isPaymentValid: boolean\n setIsPaymentSubmitting: (value: boolean) => void\n step: CheckoutFormStepsEnum\n updateStep: (step: CheckoutFormStepsEnum) => void\n saveOrder: MutateFunction<OrderDTO, unknown, any, unknown>\n\n updateServerErrors: (errors: any) => void\n scrollToFirstError: () => void\n shippingState: UseShippingResultType\n shippingAddress?: AddressDTO\n loanInfo?: OrderLoanInfoDTO\n}\n\ntype Props = {\n children: any\n defaultStep: CheckoutFormStepsEnum\n errorLabels: CheckoutFormErrorLabelsType\n withPersistBeforePageLeave: boolean\n countryCode?: string\n onSubmit: (data: CheckoutFormOnSubmitData) => void\n onError: (error: any) => void\n onSuccess: (order: OrderDTO) => void\n\n redirectTimeout?: number\n onBeforeRedirect?: () => void\n\n customState?: CheckoutCustomState\n\n enableSavedAddressList: boolean\n shippingValidations?: ShippingValidationsType\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n autoSelectDefaultShippingAddress: boolean\n\n enableSaveBillingAddress: boolean\n validateBillingAddress?: BillingAddressValidationType\n enableSavedBillingAddressList: boolean\n autoSelectDefaultBillingAddress: boolean\n\n paymentEnabledOnStep?: CheckoutFormStepsEnum\n getPaymentMethodsWhenShippingMethodIsSelected?: boolean\n\n shippingEnabledOnStep: CheckoutFormStepsEnum\n\n billingEnabledOnStep: CheckoutFormStepsEnum\n\n isBoricaInDevMode?: boolean\n\n withPixelMeta?: boolean\n requiredFieldsOnShippingStep?: string[]\n requiredFieldsOnBillingAddressStep?: string[]\n enableNoShippingMethodMode?: boolean\n disablePaymentRedirects?: boolean\n}\n\ntype ServerErrors = { [key: string]: any } | null\n\nexport enum CheckoutFormStepsEnum {\n Basket = 'Basket',\n Shipping = 'Shipping',\n BillingAddress = 'BillingAddress',\n Payment = 'Payment',\n Preview = 'Preview',\n All = 'All',\n}\n\nexport type CheckoutFormErrorsResultType =\n | {\n [key: string]: string\n }\n | null\n | undefined\n\nexport type ShippingFormErrorLabels = {\n fieldIsRequired: string\n fillStreetNumberBuildingEntranceOrApartment: string\n streetIsRequired: string\n invalidPhoneNumber?: string\n quarterIsRequired: string\n cantFindStreetOrQuarterMessage: string\n cityIsRequired: string\n emailIsRequired: string\n officeIsRequired: string\n selectCourier: string\n noStoreSelected: string\n}\n\nexport type CheckoutFormErrorLabelsType = ShippingFormErrorLabels & {\n selectPaymentMethod: string\n}\n\nexport type CheckoutFormContextType = {\n setStep: (step: CheckoutFormStepsEnum) => void\n step: CheckoutFormStepsEnum\n serverErrors: ServerErrors\n updateServerErrors: (errors: any) => void\n errorRef: (error: HTMLElement) => void\n errorFields: HTMLElement[]\n errorLabels: CheckoutFormErrorLabelsType\n orderQuery: QueryResult<OrderDTO, unknown>\n shippingState: UseShippingResultType\n paymentState: UsePaymentResultType\n billingState: UseBillingResultType\n}\n\nexport const useCheckoutFormStep = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormStep must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n currentStep: context.step,\n updateStep: context.setStep,\n }\n }, [context])\n}\n\nexport const useCheckoutFormOrder = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormOrder must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.orderQuery\n}\n\nexport const useCheckoutFormErrorLabels = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormErrorLabels must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.errorLabels\n}\n\nexport const useCheckoutFormServerErrors = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormServerErrors must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n serverErrors: context.serverErrors,\n updateServerErrors: context.updateServerErrors,\n }\n }, [context])\n}\n\nexport const useCheckoutFormBillingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormBillingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.billingState\n}\n\nexport const useCheckoutFormShippingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormShippingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.shippingState\n}\n\nexport const useCheckoutErrorFields = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutErrorFields must be used within a CheckoutFormContextProvider'\n )\n }\n\n return {\n errorFields: context.errorFields,\n errorRef: context.errorRef,\n }\n}\n\nexport const useCheckoutFormPaymentState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormPaymentState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.paymentState\n}\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/contexts/CheckoutForm/index.tsx"],"names":["React","createContext","useCallback","useContext","useMemo","useState","MyCartSetLoanInfo","myCartApi","useBilling","usePayment","useShipping","useIsAuthenticated","useCheckoutSubmit","defaultShippingValidations","genericBillingAddressValidation","usersApi","useCheckoutShippingModule","CheckoutFormCustomStateProvider","BoricaRedirect","UniCreditRedirect","useScrollTo","getElementOffset","CheckoutFormContext","CheckoutFormContextProvider","children","defaultStep","errorLabels","enableSavedAddressList","withPersistBeforePageLeave","shippingValidations","validateBillingAddress","enableSaveBillingAddress","enableSavedBillingAddressList","countryCode","enableSaveAddress","autofillShippingPersonalData","onSubmit","paymentEnabledOnStep","getPaymentMethodsWhenShippingMethodIsSelected","shippingEnabledOnStep","billingEnabledOnStep","customState","initialCustomState","redirectTimeout","onBeforeRedirect","onSuccess","onError","isBoricaInDevMode","withPixelMeta","requiredFieldsOnShippingStep","requiredFieldsOnBillingAddressStep","enableNoShippingMethodMode","disablePaymentRedirects","orderQuery","useGet","boricaData","setBoricaData","uniCreditData","setUniCreditData","step","setStep","isRedirecting","setIsRedirecting","fieldsWithError","serverErrors","setServerErrors","collectFieldsWithError","error","push","handleStepChange","newStep","window","scrollTo","updateServerErrors","errors","formattedErrors","reduce","data","code","response","internalError","isAuthenticated","isShippingEnabled","userQuery","enabled","shippingState","Boolean","validations","requiredFields","mod","getIsPaymentMethodsEnabled","moduleKey","moduleData","methodKey","paymentState","billingState","withSavedBillingAddressList","requiredFieldsOnShipping","onBeforeBoricaRedirect","setTimeout","onBeforePaypalRedirect","location","replace","redirectUrl","onBeforeUniCreditRedirect","handleCheckoutSubmit","withMeta","scrollToFirstError","interval","setInterval","errorElement","top","clearInterval","handleSubmit","e","preventDefault","Promise","all","persistShippingAddress","persistBillingAddress","catch","isShippingValid","isValid","setIsShippingSubmitting","updateIsSubmitting","isBillingValid","setIsBillingSubmitting","isPaymentValid","setIsPaymentSubmitting","loanInfo","updateStep","saveOrder","shippingAddress","setLoanInfo","state","errorRef","errorFields","CheckoutFormStepsEnum","useCheckoutFormStep","context","Error","currentStep","useCheckoutFormOrder","useCheckoutFormErrorLabels","useCheckoutFormServerErrors","useCheckoutFormBillingState","useCheckoutFormShippingState","useCheckoutErrorFields","useCheckoutFormPaymentState"],"mappings":"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","sourcesContent":["import React, {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n AddressDTO,\n PaypalGeneratePaymentUrlResponseDTO,\n OrderLoanInfoDTO,\n MyCartSetLoanInfo,\n UniCreditSessionStartResponseDTO,\n} from '@sentecacommerce/sdk'\nimport { MutateFunction, QueryResult } from 'react-query'\nimport { myCartApi } from '../../api/myCartApi'\nimport {\n useBilling,\n UseBillingResultType,\n usePayment,\n UsePaymentResultType,\n useShipping,\n UseShippingResultType,\n} from './hooks'\nimport { useIsAuthenticated } from '../../user/hooks'\nimport { useCheckoutSubmit } from '../../hooks/useCheckoutSubmit'\n\nimport {\n ShippingValidationsType,\n defaultShippingValidations,\n genericBillingAddressValidation,\n BillingAddressValidationType,\n} from './utils'\nimport { usersApi } from '../../api/usersApi'\nimport { useCheckoutShippingModule } from '../../hooks/useCheckoutShippingModule'\nimport {\n CheckoutFormCustomStateProvider,\n BoricaRedirect,\n UniCreditRedirect,\n} from './Components'\nimport { useScrollTo } from '../../hooks/ui-hooks'\nimport { getElementOffset } from '../../utils/getElementOffset'\n\nexport const CheckoutFormContext = createContext<CheckoutFormContextType>(\n {} as any\n)\n\nexport type CheckoutCustomState = {}\n\nexport function CheckoutFormContextProvider({\n children,\n defaultStep,\n errorLabels,\n enableSavedAddressList,\n withPersistBeforePageLeave,\n shippingValidations = defaultShippingValidations,\n validateBillingAddress = genericBillingAddressValidation,\n enableSaveBillingAddress,\n enableSavedBillingAddressList,\n countryCode,\n enableSaveAddress,\n autofillShippingPersonalData,\n onSubmit,\n\n paymentEnabledOnStep,\n getPaymentMethodsWhenShippingMethodIsSelected,\n shippingEnabledOnStep,\n billingEnabledOnStep,\n\n customState: initialCustomState = {},\n redirectTimeout = 420,\n onBeforeRedirect,\n onSuccess,\n onError,\n isBoricaInDevMode,\n withPixelMeta = false,\n requiredFieldsOnShippingStep = [\n 'firstName',\n 'lastName',\n 'email',\n 'phoneNumber',\n ],\n requiredFieldsOnBillingAddressStep = [\n 'vatId',\n 'companyId',\n 'companyPerson',\n 'companyName',\n ],\n enableNoShippingMethodMode = false,\n disablePaymentRedirects = false,\n}: Props) {\n const orderQuery = myCartApi.useGet()\n const [\n boricaData,\n setBoricaData,\n ] = useState<BoricaGeneratePaymentDataResponse | null>(null)\n const [\n uniCreditData,\n setUniCreditData,\n ] = useState<UniCreditSessionStartResponseDTO | null>(null)\n const [step, setStep] = useState<CheckoutFormStepsEnum>(defaultStep)\n const [isRedirecting, setIsRedirecting] = useState(false)\n\n const fieldsWithError: HTMLElement[] = []\n\n const [serverErrors, setServerErrors] = useState<ServerErrors>(null)\n\n const collectFieldsWithError = (error: HTMLElement) => {\n fieldsWithError.push(error)\n }\n\n const handleStepChange = useCallback((newStep: CheckoutFormStepsEnum) => {\n window.scrollTo(0, 0)\n\n setStep(newStep)\n }, [])\n\n const updateServerErrors = useCallback((errors: any[]) => {\n // Example Error\n // [{\n // code: \"OutOfStock\"\n // message: \"Some of the ordered line items are out of stock at the time of placing the order.\"\n // responses: {\n // availableQuantity: 1\n // sku: \"200000095849\"\n // status: \"unavailable\"\n // }\n // }]\n const formattedErrors = errors?.reduce?.(\n (data: ServerErrors, error: any) => {\n return {\n ...data,\n [error?.code || 'internal']: error?.response,\n }\n },\n {}\n )\n setServerErrors(formattedErrors || { internalError: errors })\n }, [])\n\n const { isAuthenticated } = useIsAuthenticated()\n\n const isShippingEnabled = shippingEnabledOnStep === step\n\n const userQuery = usersApi.useGet(\n {},\n { enabled: isShippingEnabled && autofillShippingPersonalData }\n )\n\n const shippingState = useShipping({\n errorLabels,\n orderQuery,\n enableSavedAddressList: Boolean(isAuthenticated && enableSavedAddressList),\n enableSaveAddress: Boolean(isAuthenticated && enableSaveAddress),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n validations: shippingValidations,\n autofillShippingPersonalData: Boolean(\n isAuthenticated && autofillShippingPersonalData\n ),\n userQuery,\n enabled: isShippingEnabled,\n countryCode,\n requiredFields: requiredFieldsOnShippingStep,\n enableNoShippingMethodMode,\n })\n const mod = useCheckoutShippingModule(orderQuery, !enableNoShippingMethodMode)\n\n const getIsPaymentMethodsEnabled = () => {\n if (paymentEnabledOnStep) {\n return paymentEnabledOnStep === step\n }\n\n if (\n !enableNoShippingMethodMode &&\n getPaymentMethodsWhenShippingMethodIsSelected\n ) {\n return Boolean(mod?.moduleKey && mod?.moduleData.methodKey)\n }\n\n return false\n }\n\n const paymentState = usePayment({\n errorLabels,\n orderQuery,\n enabled: getIsPaymentMethodsEnabled(),\n })\n\n const billingState = useBilling({\n errorLabels,\n orderQuery,\n validateBillingAddress,\n enableSaveBillingAddress: Boolean(\n isAuthenticated && enableSaveBillingAddress\n ),\n withSavedBillingAddressList: Boolean(\n isAuthenticated && enableSavedBillingAddressList\n ),\n withPersistBeforePageLeave: !isRedirecting && withPersistBeforePageLeave,\n countryCode,\n enabled: billingEnabledOnStep === step,\n requiredFields: requiredFieldsOnBillingAddressStep,\n requiredFieldsOnShipping: requiredFieldsOnShippingStep,\n })\n\n const onBeforeBoricaRedirect = (data: BoricaGeneratePaymentDataResponse) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n setBoricaData(data)\n }, redirectTimeout)\n }\n\n const onBeforePaypalRedirect = (\n data: PaypalGeneratePaymentUrlResponseDTO\n ) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n window.location.replace(data.redirectUrl)\n }, redirectTimeout)\n }\n const onBeforeUniCreditRedirect = (\n data: UniCreditSessionStartResponseDTO\n ) => {\n if (disablePaymentRedirects) return\n\n onBeforeRedirect?.()\n setIsRedirecting(true)\n setTimeout(() => {\n setUniCreditData(data)\n }, redirectTimeout)\n }\n\n const { handleCheckoutSubmit } = useCheckoutSubmit({\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onBeforeUniCreditRedirect,\n onSuccess,\n onError: (errors: any) => {\n updateServerErrors(errors)\n onError(errors)\n },\n withMeta: withPixelMeta,\n disablePaymentRedirects,\n })\n\n const { scrollTo } = useScrollTo(fieldsWithError[0], 0)\n\n const scrollToFirstError = () => {\n const interval = setInterval(() => {\n const errorElement = fieldsWithError[0]\n if (!errorElement) return\n\n scrollTo(getElementOffset(errorElement).top - 100)\n clearInterval(interval)\n }, 50)\n\n setTimeout(() => {\n clearInterval(interval)\n }, 1000)\n }\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n\n await Promise.all([\n shippingState.persistShippingAddress(),\n billingState.persistBillingAddress(),\n ]).catch(() => {})\n\n onSubmit({\n isShippingValid: shippingState.isValid,\n setIsShippingSubmitting: shippingState.updateIsSubmitting,\n isBillingValid: billingState.isValid,\n setIsBillingSubmitting: billingState.updateIsSubmitting,\n isPaymentValid: paymentState.isValid,\n setIsPaymentSubmitting: paymentState.updateIsSubmitting,\n loanInfo: paymentState.loanInfo,\n step,\n updateStep: setStep,\n saveOrder: handleCheckoutSubmit,\n updateServerErrors,\n scrollToFirstError,\n shippingState,\n shippingAddress: shippingState.data,\n setLoanInfo: async (loanInfo: OrderLoanInfoDTO) =>\n await MyCartSetLoanInfo(loanInfo),\n })\n }\n\n const state = {\n setStep: handleStepChange,\n step,\n orderQuery,\n serverErrors,\n updateServerErrors,\n errorLabels,\n shippingState,\n paymentState,\n billingState,\n errorRef: collectFieldsWithError,\n errorFields: fieldsWithError,\n }\n\n return (\n <CheckoutFormContext.Provider value={state}>\n <CheckoutFormCustomStateProvider initialCustomState={initialCustomState}>\n <>\n <form noValidate onSubmit={handleSubmit}>\n {children}\n </form>\n {!!boricaData && (\n <BoricaRedirect\n isInDevMode={isBoricaInDevMode}\n formData={boricaData}\n />\n )}\n {!!uniCreditData && (\n <UniCreditRedirect\n isInDevMode={isBoricaInDevMode}\n formData={uniCreditData}\n />\n )}\n </>\n </CheckoutFormCustomStateProvider>\n </CheckoutFormContext.Provider>\n )\n}\n\nexport type CheckoutFormOnSubmitData = {\n isShippingValid: boolean\n setIsShippingSubmitting: (value: boolean) => void\n isBillingValid: boolean\n setIsBillingSubmitting: (value: boolean) => void\n isPaymentValid: boolean\n setIsPaymentSubmitting: (value: boolean) => void\n step: CheckoutFormStepsEnum\n updateStep: (step: CheckoutFormStepsEnum) => void\n saveOrder: MutateFunction<OrderDTO, unknown, any, unknown>\n\n updateServerErrors: (errors: any) => void\n scrollToFirstError: () => void\n shippingState: UseShippingResultType\n shippingAddress?: AddressDTO\n loanInfo?: OrderLoanInfoDTO\n setLoanInfo?: (loanInfo: OrderLoanInfoDTO) => Promise<OrderDTO>\n}\n\ntype Props = {\n children: any\n defaultStep: CheckoutFormStepsEnum\n errorLabels: CheckoutFormErrorLabelsType\n withPersistBeforePageLeave: boolean\n countryCode?: string\n onSubmit: (data: CheckoutFormOnSubmitData) => void\n onError: (error: any) => void\n onSuccess: (order: OrderDTO) => void\n\n redirectTimeout?: number\n onBeforeRedirect?: () => void\n\n customState?: CheckoutCustomState\n\n enableSavedAddressList: boolean\n shippingValidations?: ShippingValidationsType\n enableSaveAddress: boolean\n autofillShippingPersonalData: boolean\n autoSelectDefaultShippingAddress: boolean\n\n enableSaveBillingAddress: boolean\n validateBillingAddress?: BillingAddressValidationType\n enableSavedBillingAddressList: boolean\n autoSelectDefaultBillingAddress: boolean\n\n paymentEnabledOnStep?: CheckoutFormStepsEnum\n getPaymentMethodsWhenShippingMethodIsSelected?: boolean\n\n shippingEnabledOnStep: CheckoutFormStepsEnum\n\n billingEnabledOnStep: CheckoutFormStepsEnum\n\n isBoricaInDevMode?: boolean\n\n withPixelMeta?: boolean\n requiredFieldsOnShippingStep?: string[]\n requiredFieldsOnBillingAddressStep?: string[]\n enableNoShippingMethodMode?: boolean\n disablePaymentRedirects?: boolean\n}\n\ntype ServerErrors = { [key: string]: any } | null\n\nexport enum CheckoutFormStepsEnum {\n Basket = 'Basket',\n Shipping = 'Shipping',\n BillingAddress = 'BillingAddress',\n Payment = 'Payment',\n Preview = 'Preview',\n All = 'All',\n}\n\nexport type CheckoutFormErrorsResultType =\n | {\n [key: string]: string\n }\n | null\n | undefined\n\nexport type ShippingFormErrorLabels = {\n fieldIsRequired: string\n fillStreetNumberBuildingEntranceOrApartment: string\n streetIsRequired: string\n invalidPhoneNumber?: string\n quarterIsRequired: string\n cantFindStreetOrQuarterMessage: string\n cityIsRequired: string\n emailIsRequired: string\n officeIsRequired: string\n selectCourier: string\n noStoreSelected: string\n}\n\nexport type CheckoutFormErrorLabelsType = ShippingFormErrorLabels & {\n selectPaymentMethod: string\n}\n\nexport type CheckoutFormContextType = {\n setStep: (step: CheckoutFormStepsEnum) => void\n step: CheckoutFormStepsEnum\n serverErrors: ServerErrors\n updateServerErrors: (errors: any) => void\n errorRef: (error: HTMLElement) => void\n errorFields: HTMLElement[]\n errorLabels: CheckoutFormErrorLabelsType\n orderQuery: QueryResult<OrderDTO, unknown>\n shippingState: UseShippingResultType\n paymentState: UsePaymentResultType\n billingState: UseBillingResultType\n}\n\nexport const useCheckoutFormStep = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormStep must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n currentStep: context.step,\n updateStep: context.setStep,\n }\n }, [context])\n}\n\nexport const useCheckoutFormOrder = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormOrder must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.orderQuery\n}\n\nexport const useCheckoutFormErrorLabels = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormErrorLabels must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.errorLabels\n}\n\nexport const useCheckoutFormServerErrors = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormServerErrors must be used within a CheckoutFormContextProvider'\n )\n }\n\n return useMemo(() => {\n return {\n serverErrors: context.serverErrors,\n updateServerErrors: context.updateServerErrors,\n }\n }, [context])\n}\n\nexport const useCheckoutFormBillingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormBillingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.billingState\n}\n\nexport const useCheckoutFormShippingState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormShippingState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.shippingState\n}\n\nexport const useCheckoutErrorFields = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutErrorFields must be used within a CheckoutFormContextProvider'\n )\n }\n\n return {\n errorFields: context.errorFields,\n errorRef: context.errorRef,\n }\n}\n\nexport const useCheckoutFormPaymentState = () => {\n const context = useContext(CheckoutFormContext)\n\n if (!context) {\n throw new Error(\n 'useCheckoutFormPaymentState must be used within a CheckoutFormContextProvider'\n )\n }\n\n return context.paymentState\n}\n"],"file":"index.js"}
|
@@ -35,11 +35,7 @@ export var useOrder = (_ref) => {
|
|
35
35
|
platformPaymentMethod: {
|
36
36
|
id: platform == null ? void 0 : platform._id,
|
37
37
|
key: platform == null ? void 0 : platform.moduleKey,
|
38
|
-
type: platform == null ? void 0 : platform.type
|
39
|
-
name: getTranslatableField(platform == null ? void 0 : platform.name),
|
40
|
-
description: getTranslatableField(platform == null ? void 0 : platform.description),
|
41
|
-
currencyCode: platform == null ? void 0 : platform.currencyCode,
|
42
|
-
countryCode: platform == null ? void 0 : platform.countryCode
|
38
|
+
type: platform == null ? void 0 : platform.type
|
43
39
|
},
|
44
40
|
shippingMethod: {
|
45
41
|
isOffice: isShippingMethodOffice,
|