@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.
Files changed (128) hide show
  1. package/dist/cjs/api/myOrdersApi/index.js +4 -2
  2. package/dist/cjs/api/myOrdersApi/index.js.map +1 -1
  3. package/dist/cjs/checkout/api/keys.js +7 -1
  4. package/dist/cjs/checkout/api/keys.js.map +1 -1
  5. package/dist/cjs/checkout/api/queries/index.js +8 -0
  6. package/dist/cjs/checkout/api/queries/index.js.map +1 -1
  7. package/dist/cjs/checkout/api/queries/useUniCreditCalculateForCartQuery.js +40 -0
  8. package/dist/cjs/checkout/api/queries/useUniCreditCalculateForCartQuery.js.map +1 -0
  9. package/dist/cjs/checkout/contexts/UniCreditResponseContext.js +29 -0
  10. package/dist/cjs/checkout/contexts/UniCreditResponseContext.js.map +1 -0
  11. package/dist/cjs/checkout/contexts/index.js +8 -0
  12. package/dist/cjs/checkout/contexts/index.js.map +1 -1
  13. package/dist/cjs/checkout/hooks/index.js +8 -0
  14. package/dist/cjs/checkout/hooks/index.js.map +1 -1
  15. package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js +82 -0
  16. package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
  17. package/dist/cjs/checkout/ssr/captureUniCreditOrder.js +36 -0
  18. package/dist/cjs/checkout/ssr/captureUniCreditOrder.js.map +1 -0
  19. package/dist/cjs/checkout/ssr/index.js +8 -0
  20. package/dist/cjs/checkout/ssr/index.js.map +1 -1
  21. package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +71 -0
  22. package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
  23. package/dist/cjs/contexts/CheckoutForm/Components/index.js +8 -0
  24. package/dist/cjs/contexts/CheckoutForm/Components/index.js.map +1 -1
  25. package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
  26. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js +4 -2
  27. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  28. package/dist/cjs/contexts/CheckoutForm/index.js +61 -16
  29. package/dist/cjs/contexts/CheckoutForm/index.js.map +1 -1
  30. package/dist/cjs/hooks/order-hooks/useOrder/index.js +1 -5
  31. package/dist/cjs/hooks/order-hooks/useOrder/index.js.map +1 -1
  32. package/dist/cjs/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
  33. package/dist/cjs/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
  34. package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
  35. package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
  36. package/dist/cjs/hooks/useCheckoutSubmit/index.js +37 -16
  37. package/dist/cjs/hooks/useCheckoutSubmit/index.js.map +1 -1
  38. package/dist/cjs/hooks/useContactForm/index.js +9 -4
  39. package/dist/cjs/hooks/useContactForm/index.js.map +1 -1
  40. package/dist/cjs/listing/api/queries/useLabelsQuery.js +2 -1
  41. package/dist/cjs/listing/api/queries/useLabelsQuery.js.map +1 -1
  42. package/dist/cjs/product/api/keys.js +7 -1
  43. package/dist/cjs/product/api/keys.js.map +1 -1
  44. package/dist/cjs/product/api/queries/index.js +8 -0
  45. package/dist/cjs/product/api/queries/index.js.map +1 -1
  46. package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js +45 -0
  47. package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
  48. package/dist/cjs/product/hooks/index.js +8 -0
  49. package/dist/cjs/product/hooks/index.js.map +1 -1
  50. package/dist/cjs/product/hooks/useUniCreditOffers.js +72 -0
  51. package/dist/cjs/product/hooks/useUniCreditOffers.js.map +1 -0
  52. package/dist/esm/api/myOrdersApi/index.js +2 -1
  53. package/dist/esm/api/myOrdersApi/index.js.map +1 -1
  54. package/dist/esm/checkout/api/keys.js +3 -0
  55. package/dist/esm/checkout/api/keys.js.map +1 -1
  56. package/dist/esm/checkout/api/queries/index.js +1 -0
  57. package/dist/esm/checkout/api/queries/index.js.map +1 -1
  58. package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js +10 -0
  59. package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js.map +1 -0
  60. package/dist/esm/checkout/contexts/UniCreditResponseContext.js +17 -0
  61. package/dist/esm/checkout/contexts/UniCreditResponseContext.js.map +1 -0
  62. package/dist/esm/checkout/contexts/index.js +1 -0
  63. package/dist/esm/checkout/contexts/index.js.map +1 -1
  64. package/dist/esm/checkout/hooks/index.js +1 -0
  65. package/dist/esm/checkout/hooks/index.js.map +1 -1
  66. package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js +66 -0
  67. package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
  68. package/dist/esm/checkout/ssr/captureUniCreditOrder.js +12 -0
  69. package/dist/esm/checkout/ssr/captureUniCreditOrder.js.map +1 -0
  70. package/dist/esm/checkout/ssr/index.js +1 -0
  71. package/dist/esm/checkout/ssr/index.js.map +1 -1
  72. package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +63 -0
  73. package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
  74. package/dist/esm/contexts/CheckoutForm/Components/index.js +1 -0
  75. package/dist/esm/contexts/CheckoutForm/Components/index.js.map +1 -1
  76. package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
  77. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js +6 -2
  78. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  79. package/dist/esm/contexts/CheckoutForm/index.js +28 -2
  80. package/dist/esm/contexts/CheckoutForm/index.js.map +1 -1
  81. package/dist/esm/hooks/order-hooks/useOrder/index.js +1 -5
  82. package/dist/esm/hooks/order-hooks/useOrder/index.js.map +1 -1
  83. package/dist/esm/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
  84. package/dist/esm/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
  85. package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
  86. package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
  87. package/dist/esm/hooks/useCheckoutSubmit/index.js +10 -3
  88. package/dist/esm/hooks/useCheckoutSubmit/index.js.map +1 -1
  89. package/dist/esm/hooks/useContactForm/index.js +9 -4
  90. package/dist/esm/hooks/useContactForm/index.js.map +1 -1
  91. package/dist/esm/listing/api/queries/useLabelsQuery.js +2 -1
  92. package/dist/esm/listing/api/queries/useLabelsQuery.js.map +1 -1
  93. package/dist/esm/product/api/keys.js +3 -0
  94. package/dist/esm/product/api/keys.js.map +1 -1
  95. package/dist/esm/product/api/queries/index.js +1 -0
  96. package/dist/esm/product/api/queries/index.js.map +1 -1
  97. package/dist/esm/product/api/queries/useUniCreditOffersQuery.js +16 -0
  98. package/dist/esm/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
  99. package/dist/esm/product/hooks/index.js +1 -0
  100. package/dist/esm/product/hooks/index.js.map +1 -1
  101. package/dist/esm/product/hooks/useUniCreditOffers.js +57 -0
  102. package/dist/esm/product/hooks/useUniCreditOffers.js.map +1 -0
  103. package/dist/types/checkout/api/keys.d.ts +1 -0
  104. package/dist/types/checkout/api/queries/index.d.ts +1 -0
  105. package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +1 -1
  106. package/dist/types/checkout/api/queries/useUniCreditCalculateForCartQuery.d.ts +3 -0
  107. package/dist/types/checkout/contexts/UniCreditResponseContext.d.ts +6 -0
  108. package/dist/types/checkout/contexts/index.d.ts +1 -0
  109. package/dist/types/checkout/hooks/index.d.ts +1 -0
  110. package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +3 -3
  111. package/dist/types/checkout/hooks/useUniCreditCalculateForCart.d.ts +53 -0
  112. package/dist/types/checkout/ssr/captureUniCreditOrder.d.ts +2 -0
  113. package/dist/types/checkout/ssr/index.d.ts +1 -0
  114. package/dist/types/contexts/CheckoutForm/Components/UniCreditRedirect/index.d.ts +5 -0
  115. package/dist/types/contexts/CheckoutForm/Components/index.d.ts +1 -0
  116. package/dist/types/contexts/CheckoutForm/hooks/usePayment/index.d.ts +2 -2
  117. package/dist/types/contexts/CheckoutForm/index.d.ts +1 -0
  118. package/dist/types/hooks/order-hooks/useOrderPaymentMethods/index.d.ts +4 -4
  119. package/dist/types/hooks/useCheckoutSubmit/index.d.ts +3 -2
  120. package/dist/types/hooks/useContactForm/index.d.ts +2 -1
  121. package/dist/types/product/api/keys.d.ts +1 -0
  122. package/dist/types/product/api/queries/index.d.ts +1 -0
  123. package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +1 -1
  124. package/dist/types/product/api/queries/useUniCreditOffersQuery.d.ts +4 -0
  125. package/dist/types/product/hooks/index.d.ts +1 -0
  126. package/dist/types/product/hooks/useBnpOffers.d.ts +2 -2
  127. package/dist/types/product/hooks/useUniCreditOffers.d.ts +36 -0
  128. 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":";;;;;;;;;;;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,6BAAY;AAAA,iBAAMd,WAAW,CAACe,MAAZ,CAAmB,EAAnB,EAAuBP,IAAvB,CAAN;AAAA,SAAZ,EAAgD;AACrDC,UAAAA,SAAS;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAE,UAACO,IAAD,EAAU;AACnBL,YAAAA,UAAU,CAACM,YAAX,CAAwBC,2BAAgBf,MAAxC,EAAgDa,IAAhD;AACAL,YAAAA,UAAU,CAACQ,iBAAX,CAA6BD,2BAAgBE,aAA7C;AACAN,YAAAA,UAAU;;AACV,gBAAI,OAAOL,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,cAAAA,SAAS,CAACO,IAAD,CAAT;AACD;AACF,WAPQ,CAD4C;AASrDN,UAAAA,OAAO;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAE,UAACW,KAAD,EAAW;AAClB,gBAAI,OAAOX,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,cAAAA,OAAO,CAACW,KAAD,CAAP;AACD;AACF,WAJM;AAT8C,SAAhD,CAAP;AAeD,OApBkB;AAqBnBC,MAAAA,UAAU,EAAE,oBAACC,EAAD,EAAQ;AAClB,eAAO,0BACL,CAACrB,SAAS,CAACC,MAAX,EAAmBoB,EAAnB,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAYvB,WAAW,CAACwB,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,OA/BkB;AAgCnBnB,MAAAA,SAAS,EAAE,mBAACyB,KAAD,EAAiD;AAC1D,eAAO,kCACL,CAAC3B,SAAS,CAACE,SAAX,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA,oDAAYJ,WAAW,CAAC8B,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;AAzCkB,KAAd,CAAP;AA2CD;;AAED,SAAO;AACLK,IAAAA,WAAW,EAAE,uBAAY;AACvB,UAAI,CAACjC,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAGC,UAAU,EAArB;AACD;;AAED,aAAOD,QAAP;AACD;AAPI,GAAP;AASD,CAjEiC,EAA3B;;;AAmEA,IAAME,WAAW,GAAGH,kBAAkB,CAACkC,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(() => myOrdersApi.create({}, meta), {\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 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
+ {"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: any) => void\n loanInfo: any\n paymentMethods?: PaymentMethodsResult\n}\n"],"file":"index.js"}
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
- saveAddress((0, _extends2["default"])({}, shippingAddressWithModule, {
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":"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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":["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"}