@sentecacommerce-theme/lib 0.12.70 → 0.12.76
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/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/hooks/useContactForm/index.js +9 -4
- package/dist/cjs/hooks/useContactForm/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/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/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/hooks/useContactForm/index.js +9 -4
- package/dist/esm/hooks/useContactForm/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/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 +3 -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/hooks/useContactForm/index.d.ts +2 -1
- 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
@@ -9,6 +9,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
9
9
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
11
11
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
13
|
+
|
12
14
|
var _sdk = require("@sentecacommerce/sdk");
|
13
15
|
|
14
16
|
var _getSDKConfig = require("../getSDKConfig");
|
@@ -37,8 +39,8 @@ var MyOrdersApiFactory = function () {
|
|
37
39
|
var _myCartApi$useSync = _myCartApi.myCartApi.useSync(),
|
38
40
|
syncBasket = _myCartApi$useSync[0];
|
39
41
|
|
40
|
-
return (0, _reactQuery.useMutation)(function () {
|
41
|
-
return myOrdersApi.create({}, meta);
|
42
|
+
return (0, _reactQuery.useMutation)(function (orderObj) {
|
43
|
+
return myOrdersApi.create({}, (0, _extends2["default"])({}, meta, orderObj));
|
42
44
|
}, {
|
43
45
|
onSuccess: function (_onSuccess) {
|
44
46
|
function onSuccess(_x) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/myOrdersApi/index.ts"],"names":["MyOrdersApiFactory","instance","initialise","myOrdersApi","MyOrdersAPI","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","myCartApi","useSync","syncBasket","create","data","setQueryData","myCartCacheKeys","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../../src/api/myOrdersApi/index.ts"],"names":["MyOrdersApiFactory","instance","initialise","myOrdersApi","MyOrdersAPI","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","myCartApi","useSync","syncBasket","orderObj","create","data","setQueryData","myCartCacheKeys","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":";;;;;;;;;;;;;AAAA;;AAMA;;AACA;;AAUA;;AAeO,IAAMA,kBAAkB,GAAI,YAAY;AAC7C,MAAIC,QAAJ;;AAEA,WAASC,UAAT,GAAiD;AAC/C,QAAMC,WAAW,GAAG,IAAIC,gBAAJ,CAAgB,iCAAhB,CAApB;AAEA,QAAMC,SAAS,GAAG;AAChBC,MAAAA,MAAM,EAAE,uBADQ;AAEhBC,MAAAA,SAAS,EAAE;AAFK,KAAlB;AAKA,WAAOC,MAAM,CAACC,MAAP,CAAc;AACnBC,MAAAA,SAAS,EAAE,mBAACC,IAAD,EAAYC,SAAZ,EAAuBC,OAAvB,EAAmC;AAAA,YAAlCF,IAAkC;AAAlCA,UAAAA,IAAkC,GAA3B,EAA2B;AAAA;;AAC5C,YAAMG,UAAU,GAAG,gCAAnB;;AAD4C,iCAEvBC,qBAAUC,OAAV,EAFuB;AAAA,YAErCC,UAFqC;;AAI5C,eAAO,6BACL,UAACC,QAAD;AAAA,iBACEf,WAAW,CAACgB,MAAZ,CAAmB,EAAnB,gCAA4BR,IAA5B,EAAqCO,QAArC,EADF;AAAA,SADK,EAGL;AACEN,UAAAA,SAAS;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAE,UAACQ,IAAD,EAAU;AACnBN,YAAAA,UAAU,CAACO,YAAX,CAAwBC,2BAAgBhB,MAAxC,EAAgDc,IAAhD;AACAN,YAAAA,UAAU,CAACS,iBAAX,CAA6BD,2BAAgBE,aAA7C;AACAP,YAAAA,UAAU;;AACV,gBAAI,OAAOL,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,cAAAA,SAAS,CAACQ,IAAD,CAAT;AACD;AACF,WAPQ,CADX;AASEP,UAAAA,OAAO;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAE,UAACY,KAAD,EAAW;AAClB,gBAAI,OAAOZ,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,cAAAA,OAAO,CAACY,KAAD,CAAP;AACD;AACF,WAJM;AATT,SAHK,CAAP;AAmBD,OAxBkB;AAyBnBC,MAAAA,UAAU,EAAE,oBAACC,EAAD,EAAQ;AAClB,eAAO,0BACL,CAACtB,SAAS,CAACC,MAAX,EAAmBqB,EAAnB,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAYxB,WAAW,CAACyB,OAAZ,CAAoBD,EAApB,CAAZ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAFK,IAGL;AACEE,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE,KAFxB;AAGEC,UAAAA,OAAO,EAAEC,OAAO,CAACL,EAAD;AAHlB,SAHK,CAAP;AASD,OAnCkB;AAoCnBpB,MAAAA,SAAS,EAAE,mBAAC0B,KAAD,EAAiD;AAC1D,eAAO,kCACL,CAAC5B,SAAS,CAACE,SAAX,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA,oDAAYJ,WAAW,CAAC+B,MAAZ,CAAmBD,KAAnB,CAAZ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAFK,IAGL;AACEJ,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE;AAFxB,SAHK,CAAP;AAQD;AA7CkB,KAAd,CAAP;AA+CD;;AAED,SAAO;AACLK,IAAAA,WAAW,EAAE,uBAAY;AACvB,UAAI,CAAClC,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAGC,UAAU,EAArB;AACD;;AAED,aAAOD,QAAP;AACD;AAPI,GAAP;AASD,CArEiC,EAA3B;;;AAuEA,IAAME,WAAW,GAAGH,kBAAkB,CAACmC,WAAnB,EAApB","sourcesContent":["import {\n MyOrdersAPI,\n OrderDTO,\n OrderFilterResultDTO,\n SendOrderDTO,\n} from '@sentecacommerce/sdk'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n useMutation,\n MutationResultPair,\n useQueryCache,\n useQuery,\n QueryResult,\n InfiniteQueryResult,\n useInfiniteQuery,\n} from 'react-query'\n\nimport { myCartApi, myCartCacheKeys } from '../myCartApi'\n\ntype myOrdersApiType = {\n readonly useCreate: (\n meta: SendOrderDTO,\n onSuccess?: (result: OrderDTO) => void,\n onError?: (error: any) => void\n ) => MutationResultPair<OrderDTO, unknown, any, unknown>\n readonly useGetById: (id?: string) => QueryResult<OrderDTO, unknown>\n readonly useOrders: (query?: {\n limit?: number\n offset?: number\n }) => InfiniteQueryResult<OrderFilterResultDTO, unknown>\n}\n\nexport const MyOrdersApiFactory = (function () {\n let instance: myOrdersApiType\n\n function initialise(): Readonly<myOrdersApiType> {\n const myOrdersApi = new MyOrdersAPI(getSDKConfig())\n\n const cacheKeys = {\n useGet: 'my-orders-api-use-get',\n useOrders: 'my-orders-use-orders',\n }\n\n return Object.freeze({\n useCreate: (meta = {}, onSuccess, onError) => {\n const queryCache = useQueryCache()\n const [syncBasket] = myCartApi.useSync()\n\n return useMutation(\n (orderObj?: SendOrderDTO) =>\n myOrdersApi.create({}, { ...meta, ...orderObj }),\n {\n onSuccess: (data) => {\n queryCache.setQueryData(myCartCacheKeys.useGet, data)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n syncBasket()\n if (typeof onSuccess === 'function') {\n onSuccess(data)\n }\n },\n onError: (error) => {\n if (typeof onError === 'function') {\n onError(error)\n }\n },\n }\n )\n },\n useGetById: (id) => {\n return useQuery(\n [cacheKeys.useGet, id],\n async () => myOrdersApi.getById(id as string),\n {\n retry: false,\n refetchOnWindowFocus: false,\n enabled: Boolean(id),\n }\n )\n },\n useOrders: (query?: { limit?: number; offset?: number }) => {\n return useInfiniteQuery(\n [cacheKeys.useOrders],\n async () => myOrdersApi.filter(query),\n {\n retry: false,\n refetchOnWindowFocus: false,\n }\n )\n },\n })\n }\n\n return {\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const myOrdersApi = MyOrdersApiFactory.getInstance()\n"],"file":"index.js"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
exports.getBnpLoanCalculatorKey = exports.getVerifyBoricaResponseKey = exports.CheckoutQueryKeysEnum = void 0;
|
4
|
+
exports.getUniCreditLoanCalculatorKey = exports.getBnpLoanCalculatorKey = exports.getVerifyBoricaResponseKey = exports.CheckoutQueryKeysEnum = void 0;
|
5
5
|
var CheckoutQueryKeysEnum;
|
6
6
|
exports.CheckoutQueryKeysEnum = CheckoutQueryKeysEnum;
|
7
7
|
|
@@ -18,4 +18,10 @@ var getBnpLoanCalculatorKey = function getBnpLoanCalculatorKey(preferredInstallm
|
|
18
18
|
};
|
19
19
|
|
20
20
|
exports.getBnpLoanCalculatorKey = getBnpLoanCalculatorKey;
|
21
|
+
|
22
|
+
var getUniCreditLoanCalculatorKey = function getUniCreditLoanCalculatorKey(downPaymentCentAmount) {
|
23
|
+
return ['uni-credit-calculator', downPaymentCentAmount];
|
24
|
+
};
|
25
|
+
|
26
|
+
exports.getUniCreditLoanCalculatorKey = getUniCreditLoanCalculatorKey;
|
21
27
|
//# sourceMappingURL=keys.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/checkout/api/keys.ts"],"names":["CheckoutQueryKeysEnum","getVerifyBoricaResponseKey","order","getBnpLoanCalculatorKey","preferredInstallmentCentAmount"],"mappings":";;;;IAAYA,qB;;;WAAAA,qB,MAAAA,qB,qCAAAA,qB;;AAEL,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACC,KAAD,EAAmB;AAC3D,yCAAqCA,KAArC;AACD,CAFM;;;;AAIA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CACrCC,8BADqC,EAElC;AACH,SAAO,CAAC,qBAAD,EAAwBA,8BAAxB,CAAP;AACD,CAJM","sourcesContent":["export enum CheckoutQueryKeysEnum {}\n\nexport const getVerifyBoricaResponseKey = (order: string) => {\n return `Borica Response for Order: ${order}`\n}\n\nexport const getBnpLoanCalculatorKey = (\n preferredInstallmentCentAmount: number\n) => {\n return ['bnp-loan-calculator', preferredInstallmentCentAmount]\n}\n"],"file":"keys.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/api/keys.ts"],"names":["CheckoutQueryKeysEnum","getVerifyBoricaResponseKey","order","getBnpLoanCalculatorKey","preferredInstallmentCentAmount","getUniCreditLoanCalculatorKey","downPaymentCentAmount"],"mappings":";;;;IAAYA,qB;;;WAAAA,qB,MAAAA,qB,qCAAAA,qB;;AAEL,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACC,KAAD,EAAmB;AAC3D,yCAAqCA,KAArC;AACD,CAFM;;;;AAIA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CACrCC,8BADqC,EAElC;AACH,SAAO,CAAC,qBAAD,EAAwBA,8BAAxB,CAAP;AACD,CAJM;;;;AAMA,IAAMC,6BAA6B,GAAG,SAAhCA,6BAAgC,CAC3CC,qBAD2C,EAExC;AACH,SAAO,CAAC,uBAAD,EAA0BA,qBAA1B,CAAP;AACD,CAJM","sourcesContent":["export enum CheckoutQueryKeysEnum {}\n\nexport const getVerifyBoricaResponseKey = (order: string) => {\n return `Borica Response for Order: ${order}`\n}\n\nexport const getBnpLoanCalculatorKey = (\n preferredInstallmentCentAmount: number\n) => {\n return ['bnp-loan-calculator', preferredInstallmentCentAmount]\n}\n\nexport const getUniCreditLoanCalculatorKey = (\n downPaymentCentAmount: number\n) => {\n return ['uni-credit-calculator', downPaymentCentAmount]\n}\n"],"file":"keys.js"}
|
@@ -17,4 +17,12 @@ Object.keys(_useBnpCalculateForCartQuery).forEach(function (key) {
|
|
17
17
|
if (key in exports && exports[key] === _useBnpCalculateForCartQuery[key]) return;
|
18
18
|
exports[key] = _useBnpCalculateForCartQuery[key];
|
19
19
|
});
|
20
|
+
|
21
|
+
var _useUniCreditCalculateForCartQuery = require("./useUniCreditCalculateForCartQuery");
|
22
|
+
|
23
|
+
Object.keys(_useUniCreditCalculateForCartQuery).forEach(function (key) {
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
25
|
+
if (key in exports && exports[key] === _useUniCreditCalculateForCartQuery[key]) return;
|
26
|
+
exports[key] = _useUniCreditCalculateForCartQuery[key];
|
27
|
+
});
|
20
28
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/checkout/api/queries/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useVerifyBoricaResponseQuery'\nexport * from './useBnpCalculateForCartQuery'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../../src/checkout/api/queries/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useVerifyBoricaResponseQuery'\nexport * from './useBnpCalculateForCartQuery'\nexport * from './useUniCreditCalculateForCartQuery'\n"],"file":"index.js"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.useUniCreditCalculateForCartQuery = void 0;
|
7
|
+
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
9
|
+
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
11
|
+
|
12
|
+
var _reactQuery = require("react-query");
|
13
|
+
|
14
|
+
var _sdk = require("@sentecacommerce/sdk");
|
15
|
+
|
16
|
+
var _ = require("../../..");
|
17
|
+
|
18
|
+
var useUniCreditCalculateForCartQuery = function useUniCreditCalculateForCartQuery(props) {
|
19
|
+
return (0, _reactQuery.useQuery)((0, _.getUniCreditLoanCalculatorKey)(props.downPaymentCentAmount), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
20
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
21
|
+
while (1) {
|
22
|
+
switch (_context.prev = _context.next) {
|
23
|
+
case 0:
|
24
|
+
_context.next = 2;
|
25
|
+
return (0, _sdk.MyPaymentsUnicreditCalculateLoanOrder)(props);
|
26
|
+
|
27
|
+
case 2:
|
28
|
+
return _context.abrupt("return", _context.sent);
|
29
|
+
|
30
|
+
case 3:
|
31
|
+
case "end":
|
32
|
+
return _context.stop();
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}, _callee);
|
36
|
+
})));
|
37
|
+
};
|
38
|
+
|
39
|
+
exports.useUniCreditCalculateForCartQuery = useUniCreditCalculateForCartQuery;
|
40
|
+
//# sourceMappingURL=useUniCreditCalculateForCartQuery.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../src/checkout/api/queries/useUniCreditCalculateForCartQuery.ts"],"names":["useUniCreditCalculateForCartQuery","props","downPaymentCentAmount"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AAEO,IAAMA,iCAAiC,GAAG,SAApCA,iCAAoC,CAACC,KAAD,EAE3C;AACJ,SAAO,0BACL,qCAA8BA,KAAK,CAACC,qBAApC,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,gDAAsCD,KAAtC,CAAlB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFK,GAAP;AAID,CAPM","sourcesContent":["import React from 'react'\nimport { useQuery } from 'react-query'\nimport { MyPaymentsUnicreditCalculateLoanOrder } from '@sentecacommerce/sdk'\nimport { getUniCreditLoanCalculatorKey } from '../../..'\n\nexport const useUniCreditCalculateForCartQuery = (props: {\n downPaymentCentAmount: number\n}) => {\n return useQuery(\n getUniCreditLoanCalculatorKey(props.downPaymentCentAmount),\n async () => await MyPaymentsUnicreditCalculateLoanOrder(props)\n )\n}\n"],"file":"useUniCreditCalculateForCartQuery.js"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.useUniCreditResponse = exports.UniCreditResponseProvider = void 0;
|
7
|
+
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
9
|
+
|
10
|
+
var UniCreditResponseContext = /*#__PURE__*/(0, _react.createContext)({});
|
11
|
+
|
12
|
+
var UniCreditResponseProvider = function UniCreditResponseProvider(_ref) {
|
13
|
+
var children = _ref.children,
|
14
|
+
response = _ref.response;
|
15
|
+
return /*#__PURE__*/_react["default"].createElement(UniCreditResponseContext.Provider, {
|
16
|
+
value: response
|
17
|
+
}, children);
|
18
|
+
};
|
19
|
+
|
20
|
+
exports.UniCreditResponseProvider = UniCreditResponseProvider;
|
21
|
+
|
22
|
+
var useUniCreditResponse = function useUniCreditResponse() {
|
23
|
+
var context = (0, _react.useContext)(UniCreditResponseContext);
|
24
|
+
if (!context) throw new Error('useUniCreditResponse hook must be within UniCreditResponseProvider');
|
25
|
+
return context;
|
26
|
+
};
|
27
|
+
|
28
|
+
exports.useUniCreditResponse = useUniCreditResponse;
|
29
|
+
//# sourceMappingURL=UniCreditResponseContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/contexts/UniCreditResponseContext.tsx"],"names":["UniCreditResponseContext","UniCreditResponseProvider","children","response","useUniCreditResponse","context","Error"],"mappings":";;;;;;;AAAA;;AAGA,IAAMA,wBAAwB,gBAAG,0BAAwB,EAAxB,CAAjC;;AAEO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,OAMnC;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AACJ,sBACE,gCAAC,wBAAD,CAA0B,QAA1B;AAAmC,IAAA,KAAK,EAAEA;AAA1C,KACGD,QADH,CADF;AAKD,CAZM;;;;AAcA,IAAME,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACxC,MAAMC,OAAO,GAAG,uBAAWL,wBAAX,CAAhB;AAEA,MAAI,CAACK,OAAL,EACE,MAAM,IAAIC,KAAJ,CACJ,oEADI,CAAN;AAIF,SAAOD,OAAP;AACD,CATM","sourcesContent":["import React, { createContext, useContext } from 'react'\nimport type { PaypalVerifyPaymentDataResponseDTO as Response } from '@sentecacommerce/sdk'\n\nconst UniCreditResponseContext = createContext<Response>({} as Response)\n\nexport const UniCreditResponseProvider = ({\n children,\n response,\n}: {\n children: any\n response: Error | {}\n}) => {\n return (\n <UniCreditResponseContext.Provider value={response as Response}>\n {children}\n </UniCreditResponseContext.Provider>\n )\n}\n\nexport const useUniCreditResponse = () => {\n const context = useContext(UniCreditResponseContext)\n\n if (!context)\n throw new Error(\n 'useUniCreditResponse hook must be within UniCreditResponseProvider'\n )\n\n return context\n}\n"],"file":"UniCreditResponseContext.js"}
|
@@ -17,4 +17,12 @@ Object.keys(_PaypalResponseContext).forEach(function (key) {
|
|
17
17
|
if (key in exports && exports[key] === _PaypalResponseContext[key]) return;
|
18
18
|
exports[key] = _PaypalResponseContext[key];
|
19
19
|
});
|
20
|
+
|
21
|
+
var _UniCreditResponseContext = require("./UniCreditResponseContext");
|
22
|
+
|
23
|
+
Object.keys(_UniCreditResponseContext).forEach(function (key) {
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
25
|
+
if (key in exports && exports[key] === _UniCreditResponseContext[key]) return;
|
26
|
+
exports[key] = _UniCreditResponseContext[key];
|
27
|
+
});
|
20
28
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/checkout/contexts/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './BoricaResponseContext'\nexport * from './PaypalResponseContext'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/contexts/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './BoricaResponseContext'\nexport * from './PaypalResponseContext'\nexport * from './UniCreditResponseContext'\n"],"file":"index.js"}
|
@@ -17,4 +17,12 @@ Object.keys(_useBnpCalculateForCart).forEach(function (key) {
|
|
17
17
|
if (key in exports && exports[key] === _useBnpCalculateForCart[key]) return;
|
18
18
|
exports[key] = _useBnpCalculateForCart[key];
|
19
19
|
});
|
20
|
+
|
21
|
+
var _useUniCreditCalculateForCart = require("./useUniCreditCalculateForCart");
|
22
|
+
|
23
|
+
Object.keys(_useUniCreditCalculateForCart).forEach(function (key) {
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
25
|
+
if (key in exports && exports[key] === _useUniCreditCalculateForCart[key]) return;
|
26
|
+
exports[key] = _useUniCreditCalculateForCart[key];
|
27
|
+
});
|
20
28
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/checkout/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useVerifyBoricaResponse'\nexport * from './useBnpCalculateForCart'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useVerifyBoricaResponse'\nexport * from './useBnpCalculateForCart'\nexport * from './useUniCreditCalculateForCart'\n"],"file":"index.js"}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.useUniCreditCalculateForCart = void 0;
|
7
|
+
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
|
+
|
10
|
+
var _react = require("react");
|
11
|
+
|
12
|
+
var _api = require("../api");
|
13
|
+
|
14
|
+
var _index = require("../../index");
|
15
|
+
|
16
|
+
var useUniCreditCalculateForCart = function useUniCreditCalculateForCart(props) {
|
17
|
+
var _useConfigState, _useConfigState$price, _response$data4, _response$data4$;
|
18
|
+
|
19
|
+
var _ref = props != null ? props : {},
|
20
|
+
_ref$downPaymentCentA = _ref.downPaymentCentAmount,
|
21
|
+
downPaymentCentAmount = _ref$downPaymentCentA === void 0 ? 0 : _ref$downPaymentCentA;
|
22
|
+
|
23
|
+
var response = (0, _api.useUniCreditCalculateForCartQuery)({
|
24
|
+
downPaymentCentAmount: downPaymentCentAmount
|
25
|
+
});
|
26
|
+
var configLocale = (_useConfigState = (0, _index.useConfigState)()) == null ? void 0 : (_useConfigState$price = _useConfigState.price) == null ? void 0 : _useConfigState$price.locale;
|
27
|
+
return (0, _react.useMemo)(function () {
|
28
|
+
var _response$data, _response$data2, _response$data3, _response$data3$, _response$data3$$offe;
|
29
|
+
|
30
|
+
return (0, _extends2["default"])({}, response, {
|
31
|
+
dataRaw: response == null ? void 0 : (_response$data = response.data) == null ? void 0 : _response$data[0],
|
32
|
+
data: (0, _extends2["default"])({}, response == null ? void 0 : (_response$data2 = response.data) == null ? void 0 : _response$data2[0], {
|
33
|
+
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(function (offer) {
|
34
|
+
var _totalRepaymentAmount = (0, _index.decodePrice)(offer.totalRepaymentAmount);
|
35
|
+
|
36
|
+
var _correctDownPaymentAmount = (0, _index.decodePrice)(offer.correctDownPaymentAmount);
|
37
|
+
|
38
|
+
var _installmentAmount = (0, _index.decodePrice)(offer.installmentAmount);
|
39
|
+
|
40
|
+
var _processingFeeAmount = (0, _index.decodePrice)(offer.processingFeeAmount);
|
41
|
+
|
42
|
+
var totalRepaymentAmount = (0, _index.formatAsCurrency)({
|
43
|
+
price: _totalRepaymentAmount,
|
44
|
+
precision: offer.totalRepaymentAmount.fractionDigits,
|
45
|
+
currency: offer.totalRepaymentAmount.currencyCode,
|
46
|
+
locale: configLocale || 'en'
|
47
|
+
});
|
48
|
+
var correctDownPaymentAmount = (0, _index.formatAsCurrency)({
|
49
|
+
price: _correctDownPaymentAmount,
|
50
|
+
precision: offer.correctDownPaymentAmount.fractionDigits,
|
51
|
+
currency: offer.correctDownPaymentAmount.currencyCode,
|
52
|
+
locale: configLocale || 'en'
|
53
|
+
});
|
54
|
+
var installmentAmount = (0, _index.formatAsCurrency)({
|
55
|
+
price: _installmentAmount,
|
56
|
+
precision: offer.installmentAmount.fractionDigits,
|
57
|
+
currency: offer.installmentAmount.currencyCode,
|
58
|
+
locale: configLocale || 'en'
|
59
|
+
});
|
60
|
+
var processingFeeAmount = (0, _index.formatAsCurrency)({
|
61
|
+
price: _processingFeeAmount,
|
62
|
+
precision: offer.processingFeeAmount.fractionDigits,
|
63
|
+
currency: offer.processingFeeAmount.currencyCode,
|
64
|
+
locale: configLocale || 'en'
|
65
|
+
});
|
66
|
+
return (0, _extends2["default"])({}, offer, {
|
67
|
+
offerRaw: offer,
|
68
|
+
totalRepaymentAmount: totalRepaymentAmount,
|
69
|
+
correctDownPaymentAmount: correctDownPaymentAmount,
|
70
|
+
installmentAmount: installmentAmount,
|
71
|
+
processingFeeAmount: processingFeeAmount
|
72
|
+
});
|
73
|
+
}).sort(function (offer, offer2) {
|
74
|
+
return Number(offer.maturity) - Number(offer2.maturity);
|
75
|
+
})
|
76
|
+
})
|
77
|
+
});
|
78
|
+
}, [response == null ? void 0 : (_response$data4 = response.data) == null ? void 0 : (_response$data4$ = _response$data4[0]) == null ? void 0 : _response$data4$.offers]);
|
79
|
+
};
|
80
|
+
|
81
|
+
exports.useUniCreditCalculateForCart = useUniCreditCalculateForCart;
|
82
|
+
//# sourceMappingURL=useUniCreditCalculateForCart.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/hooks/useUniCreditCalculateForCart.ts"],"names":["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,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.captureUniCreditOrder = void 0;
|
7
|
+
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
9
|
+
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
11
|
+
|
12
|
+
var _sdk = require("@sentecacommerce/sdk");
|
13
|
+
|
14
|
+
var captureUniCreditOrder = /*#__PURE__*/function () {
|
15
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(res) {
|
16
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
17
|
+
while (1) {
|
18
|
+
switch (_context.prev = _context.next) {
|
19
|
+
case 0:
|
20
|
+
return _context.abrupt("return", (0, _sdk.MyPaymentsUnicreditCapture)({}, res));
|
21
|
+
|
22
|
+
case 1:
|
23
|
+
case "end":
|
24
|
+
return _context.stop();
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}, _callee);
|
28
|
+
}));
|
29
|
+
|
30
|
+
return function captureUniCreditOrder(_x) {
|
31
|
+
return _ref.apply(this, arguments);
|
32
|
+
};
|
33
|
+
}();
|
34
|
+
|
35
|
+
exports.captureUniCreditOrder = captureUniCreditOrder;
|
36
|
+
//# sourceMappingURL=captureUniCreditOrder.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/ssr/captureUniCreditOrder.ts"],"names":["captureUniCreditOrder","res"],"mappings":";;;;;;;;;;;AAAA;;AAKO,IAAMA,qBAAqB;AAAA,2FAAG,iBACnCC,GADmC;AAAA;AAAA;AAAA;AAAA;AAAA,6CAG5B,qCAAa,EAAb,EAAiBA,GAAjB,CAH4B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;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"}
|
@@ -17,4 +17,12 @@ Object.keys(_capturePaypalOrder).forEach(function (key) {
|
|
17
17
|
if (key in exports && exports[key] === _capturePaypalOrder[key]) return;
|
18
18
|
exports[key] = _capturePaypalOrder[key];
|
19
19
|
});
|
20
|
+
|
21
|
+
var _captureUniCreditOrder = require("./captureUniCreditOrder");
|
22
|
+
|
23
|
+
Object.keys(_captureUniCreditOrder).forEach(function (key) {
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
25
|
+
if (key in exports && exports[key] === _captureUniCreditOrder[key]) return;
|
26
|
+
exports[key] = _captureUniCreditOrder[key];
|
27
|
+
});
|
20
28
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/checkout/ssr/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './verifyBoricaResponse'\nexport * from './capturePaypalOrder'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/checkout/ssr/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './verifyBoricaResponse'\nexport * from './capturePaypalOrder'\nexport * from './captureUniCreditOrder'\n"],"file":"index.js"}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.UniCreditRedirect = void 0;
|
7
|
+
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
9
|
+
|
10
|
+
var UniCreditRedirect = function UniCreditRedirect(_ref) {
|
11
|
+
var formData = _ref.formData,
|
12
|
+
isInDevMode = _ref.isInDevMode;
|
13
|
+
var formRef = (0, _react.useRef)(null);
|
14
|
+
(0, _react.useEffect)(function () {
|
15
|
+
if (isInDevMode) return;
|
16
|
+
var timeout = setTimeout(function () {
|
17
|
+
var _formRef$current;
|
18
|
+
|
19
|
+
formRef == null ? void 0 : (_formRef$current = formRef.current) == null ? void 0 : _formRef$current.submit();
|
20
|
+
}, 50);
|
21
|
+
return function () {
|
22
|
+
clearTimeout(timeout);
|
23
|
+
};
|
24
|
+
}, [formData, isInDevMode]);
|
25
|
+
return /*#__PURE__*/_react["default"].createElement("form", {
|
26
|
+
ref: formRef,
|
27
|
+
action: formData.url,
|
28
|
+
method: "POST",
|
29
|
+
style: isInDevMode ? {
|
30
|
+
position: 'fixed',
|
31
|
+
zIndex: 9999999,
|
32
|
+
width: '100%',
|
33
|
+
height: '100%',
|
34
|
+
background: '#fff',
|
35
|
+
display: 'flex',
|
36
|
+
alignItems: 'center',
|
37
|
+
flexDirection: 'column',
|
38
|
+
justifyContent: 'center',
|
39
|
+
top: 0
|
40
|
+
} : {
|
41
|
+
position: 'absolute',
|
42
|
+
left: '100vw',
|
43
|
+
width: '10px',
|
44
|
+
top: '400vh',
|
45
|
+
overflow: 'hidden'
|
46
|
+
}
|
47
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
48
|
+
style: {
|
49
|
+
margin: 6
|
50
|
+
}
|
51
|
+
}, /*#__PURE__*/_react["default"].createElement("label", {
|
52
|
+
style: {
|
53
|
+
width: 169,
|
54
|
+
display: 'inline-block'
|
55
|
+
}
|
56
|
+
}, 'suosId'), /*#__PURE__*/_react["default"].createElement("input", {
|
57
|
+
type: "text",
|
58
|
+
name: 'suosId',
|
59
|
+
value: formData.sessionId,
|
60
|
+
style: {
|
61
|
+
width: 333,
|
62
|
+
border: '1px solid #000 '
|
63
|
+
}
|
64
|
+
})), isInDevMode ? /*#__PURE__*/_react["default"].createElement("input", {
|
65
|
+
type: "submit",
|
66
|
+
value: "SUBMIT"
|
67
|
+
}) : null);
|
68
|
+
};
|
69
|
+
|
70
|
+
exports.UniCreditRedirect = UniCreditRedirect;
|
71
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/Components/UniCreditRedirect/index.tsx"],"names":["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;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAM3B;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,WAII,QAJJA,WAII;AACJ,MAAMC,OAAO,GAAG,mBAA+B,IAA/B,CAAhB;AAEA,wBAAU,YAAM;AACd,QAAID,WAAJ,EAAiB;AAEjB,QAAME,OAAO,GAAGC,UAAU,CAAC,YAAM;AAAA;;AAC/BF,MAAAA,OAAO,QAAP,gCAAAA,OAAO,CAAEG,OAAT,sCAAkBC,MAAlB;AACD,KAFyB,EAEvB,EAFuB,CAA1B;AAIA,WAAO,YAAM;AACXC,MAAAA,YAAY,CAACJ,OAAD,CAAZ;AACD,KAFD;AAGD,GAVD,EAUG,CAACH,QAAD,EAAWC,WAAX,CAVH;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"}
|
@@ -17,4 +17,12 @@ Object.keys(_CheckoutCustomState).forEach(function (key) {
|
|
17
17
|
if (key in exports && exports[key] === _CheckoutCustomState[key]) return;
|
18
18
|
exports[key] = _CheckoutCustomState[key];
|
19
19
|
});
|
20
|
+
|
21
|
+
var _UniCreditRedirect = require("./UniCreditRedirect");
|
22
|
+
|
23
|
+
Object.keys(_UniCreditRedirect).forEach(function (key) {
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
25
|
+
if (key in exports && exports[key] === _UniCreditRedirect[key]) return;
|
26
|
+
exports[key] = _UniCreditRedirect[key];
|
27
|
+
});
|
20
28
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/contexts/CheckoutForm/Components/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './BoricaRedirect'\nexport * from './CheckoutCustomState'\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../../src/contexts/CheckoutForm/Components/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","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":["usePayment","orderQuery","errorLabels","enabled","isPaymentSubmitting","setIsPaymentSubmitting","loanInfo","setLoanInfo","paymentMethods","query","paymentErrors","isSubmitting","errors","isValid","updateIsSubmitting","updateLoanInfo"],"mappings":";;;;;AACA;;AAMA;;AAIA;;AAGO,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAQE;AAAA,MAP1BC,UAO0B,QAP1BA,UAO0B;AAAA,MAN1BC,WAM0B,QAN1BA,WAM0B;AAAA,MAL1BC,OAK0B,QAL1BA,OAK0B;;AAAA,kBAC4B,qBAAS,KAAT,CAD5B;AAAA,MACnBC,mBADmB;AAAA,MACEC,sBADF;;AAAA,mBAEM,qBAAS,EAAT,CAFN;AAAA,MAEnBC,QAFmB;AAAA,MAETC,WAFS;;AAI1B,MAAMC,cAAc,GAAG,4CAAmB;AAAEC,IAAAA,KAAK,EAAER,UAAT;AAAqBE,IAAAA,OAAO,EAAPA;AAArB,GAAnB,CAAvB;AAEA,MAAMO,aAAa,GACjBF,cAAc,IAAI,4BAAgBA,cAAhB,EAAgCN,WAAhC,CADpB;AAGA,SAAO,oBAAQ,YAAM;AACnB,WAAO;AACLS,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,cAAc,EAAdA,cANK;AAOLF,MAAAA,QAAQ,EAARA;AAPK,KAAP;AASD,GAVM,EAUJ,CAACE,cAAD,EAAiBE,aAAjB,EAAgCN,mBAAhC,EAAqDE,QAArD,CAVI,CAAP;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":["usePayment","orderQuery","errorLabels","enabled","isPaymentSubmitting","setIsPaymentSubmitting","loanInfo","setLoanInfo","paymentMethods","query","paymentErrors","isSubmitting","errors","isValid","updateIsSubmitting","updateLoanInfo"],"mappings":";;;;;AACA;;AAMA;;AAIA;;AAGO,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAQE;AAAA,MAP1BC,UAO0B,QAP1BA,UAO0B;AAAA,MAN1BC,WAM0B,QAN1BA,WAM0B;AAAA,MAL1BC,OAK0B,QAL1BA,OAK0B;;AAAA,kBAC4B,qBAAS,KAAT,CAD5B;AAAA,MACnBC,mBADmB;AAAA,MACEC,sBADF;;AAAA,mBAEM,qBAAS,EAAT,CAFN;AAAA,MAEnBC,QAFmB;AAAA,MAETC,WAFS;;AAI1B,MAAMC,cAAc,GAAG,4CAAmB;AAAEC,IAAAA,KAAK,EAAER,UAAT;AAAqBE,IAAAA,OAAO,EAAPA;AAArB,GAAnB,CAAvB;AAEA,MAAMO,aAAa,GACjBF,cAAc,IAAI,4BAAgBA,cAAhB,EAAgCN,WAAhC,CADpB;AAGA,SAAO,oBAAQ,YAAM;AACnB,WAAO;AACLS,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,cAAc,EAAdA,cANK;AAOLF,MAAAA,QAAQ,EAARA;AAPK,KAAP;AASD,GAVM,EAUJ,CAACE,cAAD,EAAiBE,aAAjB,EAAgCN,mBAAhC,EAAqDE,QAArD,CAVI,CAAP;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"}
|
@@ -109,13 +109,15 @@ var useShipping = function useShipping(_ref) {
|
|
109
109
|
if (!enableSaveAddress) return;
|
110
110
|
setIsShippingSubmitting(true);
|
111
111
|
if (addressErrors) return;
|
112
|
-
|
112
|
+
var baseAddress = (0, _extends2["default"])({}, shippingAddressWithModule, {
|
113
113
|
_id: undefined,
|
114
|
-
countryCode: countryCode,
|
115
114
|
custom: shippingAddressWithModule == null ? void 0 : (_shippingAddressWithM = shippingAddressWithModule.custom) == null ? void 0 : _shippingAddressWithM.filter(function (_ref2) {
|
116
115
|
var field = _ref2.field;
|
117
116
|
return field !== IS_NEW && field !== SELECTED_ADDRESS_ID;
|
118
117
|
})
|
118
|
+
});
|
119
|
+
saveAddress(enableNoShippingMethodMode ? baseAddress : (0, _extends2["default"])({}, baseAddress, {
|
120
|
+
countryCode: countryCode
|
119
121
|
}), {
|
120
122
|
onSuccess: function onSuccess(address) {
|
121
123
|
var data = (0, _extends2["default"])({}, address, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/contexts/CheckoutForm/hooks/useShipping/index.ts"],"names":["IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","addressesApi","useAdd","saveAddress","handleShippingAddressChange","savedShippingAddress","currentShippingAddress","shippingAddress","setShippingAddress","mod","noShippingMethod","selectedShippingAddress","savedAddressList","hasAvailableSavedAddress","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":";;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AAEA,IAAMA,MAAM,GAAG,OAAf;AACA,IAAMC,mBAAmB,GAAG,mBAA5B;;AAEO,IAAMC,WAAW,GAAG,SAAdA,WAAc,OAaoB;AAAA;;AAAA,MAZ7CC,0BAY6C,QAZ7CA,0BAY6C;AAAA,MAX7CC,UAW6C,QAX7CA,UAW6C;AAAA,MAV7CC,WAU6C,QAV7CA,WAU6C;AAAA,MAT7CC,sBAS6C,QAT7CA,sBAS6C;AAAA,MAR7CC,WAQ6C,QAR7CA,WAQ6C;AAAA,MAP7CC,iBAO6C,QAP7CA,iBAO6C;AAAA,MAN7CC,4BAM6C,QAN7CA,4BAM6C;AAAA,MAL7CC,SAK6C,QAL7CA,SAK6C;AAAA,MAJ7CC,OAI6C,QAJ7CA,OAI6C;AAAA,MAH7CC,WAG6C,QAH7CA,WAG6C;AAAA,MAF7CC,cAE6C,QAF7CA,cAE6C;AAAA,MAD7CC,0BAC6C,QAD7CA,0BAC6C;;AAAA,kBACW,qBAAS,KAAT,CADX;AAAA,MACtCC,oBADsC;AAAA,MAChBC,uBADgB;;AAAA,6BAGvBC,2BAAaC,MAAb,CAAoB,EAApB,CAHuB;AAAA,MAGtCC,WAHsC;;AAAA,8BAQzC,4DAA2Bf,UAA3B,CARyC;AAAA,MAM3CgB,2BAN2C,yBAM3CA,2BAN2C;AAAA,MAOnBC,oBAPmB,yBAO3CC,sBAP2C;;AAAA,mBAUC,sBAVD;AAAA,MAUtCC,eAVsC;AAAA,MAUrBC,kBAVqB;;AAc7C,MAAMC,GAAG,GAAG,0DAA0BrB,UAA1B,EAAsC,CAACU,0BAAvC,CAAZ;;AAd6C,8BAgBU,iDAAqB;AAC1EY,IAAAA,gBAAgB,EAAEZ,0BADwD;AAE1EH,IAAAA,OAAO,EAAEA,OAAO,IAAIL,sBAFsD;AAG1EqB,IAAAA,uBAAuB,EAAEJ,eAHiD;AAI1EC,IAAAA,kBAAkB,EAAlBA,kBAJ0E;AAK1EJ,IAAAA,2BAA2B,EAA3BA;AAL0E,GAArB,CAhBV;AAAA,MAgBrCQ,gBAhBqC,yBAgBrCA,gBAhBqC;AAAA,MAgBnBC,wBAhBmB,yBAgBnBA,wBAhBmB;;AAuB7C,MAAMC,yBAAiD,GAAG,oBAAQ,YAAM;AAAA;;AACtE,QAAI,CAACP,eAAL,EAAsB;AACtB,QAAMQ,aAAa,GAAGN,GAAH,uCAAGA,GAAG,CAAEO,UAAR,qBAAG,gBAAiBC,OAAvC;AAEA,QAAIC,MAAM,iCACLX,eADK;AAERY,MAAAA,IAAI,EAAE,CAAAJ,aAAa,QAAb,mCAAAA,aAAa,CAAEI,IAAf,yCAAqBC,IAArB,KAA6Bb,eAAe,CAACY,IAF3C;AAGRE,MAAAA,OAAO,EAAE,CAAAN,aAAa,QAAb,qCAAAA,aAAa,CAAEM,OAAf,2CAAwBD,IAAxB,KAAgCb,eAAe,CAACc,OAHjD;AAIRC,MAAAA,UAAU,EAAE,CAAAP,aAAa,QAAb,qCAAAA,aAAa,CAAEQ,MAAf,2CAAuBH,IAAvB,KAA+Bb,eAAe,CAACe,UAJnD;AAKRE,MAAAA,UAAU,EACR,0BAACT,aAAD,4CAACA,aAAa,CAAEI,IAAhB,qBAAC,qBAAqBM,QAAtB,oCAAkC,EAAlC,KAAyClB,eAAe,CAACiB;AANnD,MAAV;;AASA,QAAI,CAAC1B,0BAAL,EAAiC;AAC/BoB,MAAAA,MAAM,iCACDA,MADC;AAEJF,QAAAA,UAAU,EAAE,CACV;AACEU,UAAAA,SAAS,EAAEjB,GAAF,oBAAEA,GAAG,CAAEiB,SADlB;AAEEV,UAAAA,UAAU,gCACLP,GADK,oBACLA,GAAG,CAAEO,UADA;AAFZ,SADU;AAFR,QAAN;AAWD;;AAED,WAAOE,MAAP;AACD,GA5ByD,EA4BvD,CAACX,eAAD,EAAkBE,GAAlB,CA5BuD,CAA1D;AA8BA,MAAMkB,aAAa,GAAG,oBACpB;AAAA,WACE,6BACEb,yBADF,EAEEL,GAFF,EAGElB,WAHF,EAIEF,WAJF,EAKEQ,cALF,EAMEC,0BANF,CADF;AAAA,GADoB,EAUpB,CAACgB,yBAAD,EAA4BL,GAA5B,EAAiClB,WAAjC,EAA8CF,WAA9C,CAVoB,CAAtB;AAaA;AACF;AACA;;AACE,MAAMuC,yBAAyB,GAAG,wBAAY,YAAM;AAAA;;AAClD,QAAI,CAACpC,iBAAL,EAAwB;AAExBQ,IAAAA,uBAAuB,CAAC,IAAD,CAAvB;AACA,QAAI2B,aAAJ,EAAmB;AAEnBxB,IAAAA,WAAW,+BAEJW,yBAFI;AAGPe,MAAAA,GAAG,EAAEC,SAHE;AAIPlC,MAAAA,WAAW,EAAXA,WAJO;AAKPmC,MAAAA,MAAM,EAAEjB,yBAAF,6CAAEA,yBAAyB,CAAEiB,MAA7B,qBAAE,sBAAmCC,MAAnC,CACN;AAAA,YAAGC,KAAH,SAAGA,KAAH;AAAA,eAAeA,KAAK,KAAKjD,MAAV,IAAoBiD,KAAK,KAAKhD,mBAA7C;AAAA,OADM;AALD,QAST;AACEiD,MAAAA,SAAS,EAAE,mBAACjB,OAAD,EAAa;AACtB,YAAMkB,IAAI,iCACLlB,OADK;AAERmB,UAAAA,SAAS,EAAEC,IAAI,CAACC,GAAL,EAFH;AAGRC,UAAAA,SAAS,EAAEF,IAAI,CAACC,GAAL,EAHH;AAIRP,UAAAA,MAAM,YACA,CAAAd,OAAO,QAAP,YAAAA,OAAO,CAAEc,MAAT,KAAmB,EADnB,GAEJ;AACEE,YAAAA,KAAK,EAAEhD,mBADT;AAEEuD,YAAAA,KAAK,EAAEvB,OAAO,CAACY;AAFjB,WAFI;AAJE,UAAV;AAaArB,QAAAA,kBAAkB,CAAC2B,IAAD,CAAlB;AACA/B,QAAAA,2BAA2B,CAAC+B,IAAD,CAA3B;AACD;AAjBH,KATS,CAAX;AA6BD,GAnCiC,EAmC/B,CAACR,aAAD,EAAgBnC,iBAAhB,EAAmCsB,yBAAnC,CAnC+B,CAAlC;AAqCA;AACF;AACA;AACA;AACA;AACA;;AACE,MAAM2B,aAAa,GAAG;AAAA,8FACpB,iBAAOrB,IAAP,EAAqBoB,KAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBACOjC,eADP;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAGQ4B,cAAAA,IAHR,iCAGoB5B,eAHpB;AAKE,wCAAc4B,IAAd,EAAoBK,KAApB,EAA2BpB,IAAI,CAACsB,KAAL,CAAW,GAAX,CAA3B;AAEAlC,cAAAA,kBAAkB,CAAC2B,IAAD,CAAlB;;AAPF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADoB;;AAAA;AAAA;AAAA;AAAA,OAUpB,CAAC5B,eAAD,CAVoB,CAAtB;AAaA,MAAMoC,mBAAmB,GAAG;AAAA,8FAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AACEC,cAAAA,QADF,SACEA,QADF,EAEEC,SAFF,SAEEA,SAFF,EAGEC,OAHF,SAGEA,OAHF,EAIEC,SAJF,SAIEA,SAJF;;AAAA,kBAMOjC,yBANP;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAQQqB,cAAAA,IARR,iCASOrB,yBATP;AAUIkC,gBAAAA,uBAAuB,EAAE;AACvBJ,kBAAAA,QAAQ,EAARA,QADuB;AAEvBC,kBAAAA,SAAS,EAATA;AAFuB,iBAV7B;AAcId,gBAAAA,MAAM,YACA,CAAAxB,eAAe,QAAf,YAAAA,eAAe,CAAEwB,MAAjB,KAA2B,EAD3B,GAEJ;AAAEE,kBAAAA,KAAK,EAAE,SAAT;AAAoBO,kBAAAA,KAAK,EAAEM;AAA3B,iBAFI,EAGJ;AAAEb,kBAAAA,KAAK,EAAE,WAAT;AAAsBO,kBAAAA,KAAK,EAAEO;AAA7B,iBAHI;AAdV;AAqBEvC,cAAAA,kBAAkB,CAAC2B,IAAD,CAAlB;AArBF;AAAA,qBAsBe/B,2BAA2B,CAAC+B,IAAD,CAtB1C;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAD0B;;AAAA;AAAA;AAAA;AAAA,OAyB1B,CAAC5B,eAAD,EAAkBH,2BAAlB,CAzB0B,CAA5B;AA4BA,MAAM6C,oBAAoB,GAAG,oHAAY;AAAA;AAAA;AAAA;AAAA;AACvCzC,YAAAA,kBAAkB,CAACsB,SAAD,CAAlB;AADuC;AAAA,mBAEjC1B,2BAA2B,EAFM;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAZ,IAG1B,EAH0B,CAA7B;AAKA,MAAM8C,sBAAsB,GAAG,wBAAY,YAAM;AAC/C,QAAI,CAACpC,yBAAL,EAAgC;AAEhC,WAAO,IAAIqC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtCjD,MAAAA,2BAA2B,CAACU,yBAAD,EAA4B;AACrDoB,QAAAA,SAAS,EAAE,mBAACoB,KAAD;AAAA,iBAAqBF,OAAO,CAACE,KAAD,CAA5B;AAAA,SAD0C;AAErDC,QAAAA,OAAO,EAAE;AAAA,iBAAMF,MAAM,EAAZ;AAAA;AAF4C,OAA5B,CAA3B;AAID,KALM,CAAP;AAMD,GAT8B,EAS5B,CAACvC,yBAAD,CAT4B,CAA/B;AAWA;AACF;AACA;;AACE,sDAAuB;AACrBT,IAAAA,oBAAoB,EAApBA,oBADqB;AAErBE,IAAAA,eAAe,EAAfA,eAFqB;AAGrBC,IAAAA,kBAAkB,EAAlBA,kBAHqB;AAIrBf,IAAAA,4BAA4B,EAA5BA,4BAJqB;AAKrBC,IAAAA,SAAS,EAATA;AALqB,GAAvB,EA5K6C,CAoL7C;;AACA,0DAAyB;AACvBC,IAAAA,OAAO,EAAER,0BADc;AAEvBqE,IAAAA,QAAQ,EAAEN;AAFa,GAAzB;AAKA,MAAMO,WAAW,GAAGC,OAAO,CACzB5C,yBADyB,8CACzBA,yBAAyB,CAAEiB,MADF,qBACzB,uBAAmC4B,IAAnC,CACE;AAAA,QAAG1B,KAAH,SAAGA,KAAH;AAAA,QAAUO,KAAV,SAAUA,KAAV;AAAA,WAAsBP,KAAK,KAAKjD,MAAV,IAAoBwD,KAAK,KAAK,CAApD;AAAA,GADF,CADyB,CAA3B;AAMA,MAAMoB,iBAAiB,GAAG,wBACxB,UAACpB,KAAD,EAAoB;AAClB,QAAIiB,WAAW,KAAKjB,KAApB,EAA2B;AAE3B,QAAIqB,YAAY,GAAG,EAAnB;;AAEA,QAAIrB,KAAK,IAAI/C,4BAAb,EAA2C;AAAA;;AACzCoE,MAAAA,YAAY,GAAG;AACbC,QAAAA,SAAS,EAAEpE,SAAF,uCAAEA,SAAS,CAAEyC,IAAb,qBAAE,gBAAiB2B,SADf;AAEbC,QAAAA,QAAQ,EAAErE,SAAF,wCAAEA,SAAS,CAAEyC,IAAb,qBAAE,iBAAiB4B,QAFd;AAGbC,QAAAA,KAAK,EAAEtE,SAAF,wCAAEA,SAAS,CAAEyC,IAAb,qBAAE,iBAAiB6B,KAHX;AAIbC,QAAAA,WAAW,EAAEvE,SAAF,wCAAEA,SAAS,CAAEyC,IAAb,qBAAE,iBAAiB8B;AAJjB,OAAf;AAMD;;AAED,QAAM9B,IAAgB;AACpBN,MAAAA,GAAG,EAAEf,yBAAF,oBAAEA,yBAAyB,CAAEe,GADZ;AAEpBO,MAAAA,SAAS,EAAEC,IAAI,CAACC,GAAL,EAFS;AAGpBC,MAAAA,SAAS,EAAEF,IAAI,CAACC,GAAL;AAHS,OAIjBuB,YAJiB;AAKpB9B,MAAAA,MAAM,EAAE,CACN;AACEE,QAAAA,KAAK,EAAEjD,MADT;AAEEwD,QAAAA,KAAK,EAAEA,KAAK,GAAG,CAAH,GAAO;AAFrB,OADM;AALY,MAAtB;AAaAxC,IAAAA,uBAAuB,CAAC,KAAD,CAAvB;AACAI,IAAAA,2BAA2B,CAAC+B,IAAD,CAA3B;AACA3B,IAAAA,kBAAkB,CAAC2B,IAAD,CAAlB;AACD,GA/BuB,EAgCxB;AACA,GACEsB,WADF,EAEE3C,yBAFF,EAGErB,4BAHF,EAIEC,SAJF,wCAIEA,SAAS,CAAEyC,IAJb,qBAIE,iBAAiB2B,SAJnB,EAKEpE,SALF,wCAKEA,SAAS,CAAEyC,IALb,qBAKE,iBAAiB4B,QALnB,EAMErE,SANF,wCAMEA,SAAS,CAAEyC,IANb,qBAME,iBAAiB6B,KANnB,EAOEtE,SAPF,wCAOEA,SAAS,CAAEyC,IAPb,qBAOE,iBAAiB8B,WAPnB,CAjCwB,CAA1B;AA4CA,SAAO,oBAAQ,YAAM;AACnB,WAAO;AACLC,MAAAA,YAAY,EAAEnE,oBADT;AAELoE,MAAAA,MAAM,EAAEpE,oBAAoB,GAAG4B,aAAH,GAAmB,IAF1C;AAGLyC,MAAAA,OAAO,EAAE,CAACzC,aAHL;AAIL0C,MAAAA,kBAAkB,EAAErE,uBAJf;AAKLyC,MAAAA,aAAa,EAAbA,aALK;AAMLS,MAAAA,sBAAsB,EAAtBA,sBANK;AAOLoB,MAAAA,yBAAyB,EAAEhF,sBAPtB;AAQLiF,MAAAA,mBAAmB,EAAE3C,yBARhB;AASLhB,MAAAA,gBAAgB,EAAhBA,gBATK;AAULuB,MAAAA,IAAI,EAAErB,yBAVD;AAWL2C,MAAAA,WAAW,EAAXA,WAXK;AAYLG,MAAAA,iBAAiB,EAAjBA,iBAZK;AAaLY,MAAAA,cAAc,EAAEhF,iBAbX;AAcLqB,MAAAA,wBAAwB,EAAxBA,wBAdK;AAeLoC,MAAAA,oBAAoB,EAApBA,oBAfK;AAgBLN,MAAAA,mBAAmB,EAAnBA;AAhBK,KAAP;AAkBD,GAnBM,EAmBJ,CACD5C,oBADC,EAED4B,aAFC,EAGDc,aAHC,EAIDS,sBAJC,EAKD5D,sBALC,EAMDsC,yBANC,EAODd,yBAPC,EAQDF,gBARC,EASD6C,WATC,EAUDG,iBAVC,EAWDpE,iBAXC,EAYDqB,wBAZC,EAaDoC,oBAbC,EAcDN,mBAdC,CAnBI,CAAP;AAmCD,CA5RM","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":["IS_NEW","SELECTED_ADDRESS_ID","useShipping","withPersistBeforePageLeave","orderQuery","validations","enableSavedAddressList","errorLabels","enableSaveAddress","autofillShippingPersonalData","userQuery","enabled","countryCode","requiredFields","enableNoShippingMethodMode","isShippingSubmitting","setIsShippingSubmitting","addressesApi","useAdd","saveAddress","handleShippingAddressChange","savedShippingAddress","currentShippingAddress","shippingAddress","setShippingAddress","mod","noShippingMethod","selectedShippingAddress","savedAddressList","hasAvailableSavedAddress","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"}
|