@sentecacommerce-theme/lib 0.12.71 → 0.12.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) 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/useBnpCalculateForCart.js +1 -0
  16. package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js.map +1 -1
  17. package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js +82 -0
  18. package/dist/cjs/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
  19. package/dist/cjs/checkout/ssr/captureUniCreditOrder.js +36 -0
  20. package/dist/cjs/checkout/ssr/captureUniCreditOrder.js.map +1 -0
  21. package/dist/cjs/checkout/ssr/index.js +8 -0
  22. package/dist/cjs/checkout/ssr/index.js.map +1 -1
  23. package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +71 -0
  24. package/dist/cjs/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
  25. package/dist/cjs/contexts/CheckoutForm/Components/index.js +8 -0
  26. package/dist/cjs/contexts/CheckoutForm/Components/index.js.map +1 -1
  27. package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
  28. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js +4 -2
  29. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  30. package/dist/cjs/contexts/CheckoutForm/index.js +61 -16
  31. package/dist/cjs/contexts/CheckoutForm/index.js.map +1 -1
  32. package/dist/cjs/hooks/order-hooks/useOrder/index.js +1 -5
  33. package/dist/cjs/hooks/order-hooks/useOrder/index.js.map +1 -1
  34. package/dist/cjs/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
  35. package/dist/cjs/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
  36. package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
  37. package/dist/cjs/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
  38. package/dist/cjs/hooks/useCheckoutSubmit/index.js +37 -16
  39. package/dist/cjs/hooks/useCheckoutSubmit/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/listing/hooks/useListingFilters.js +3 -1
  43. package/dist/cjs/listing/hooks/useListingFilters.js.map +1 -1
  44. package/dist/cjs/product/api/keys.js +7 -1
  45. package/dist/cjs/product/api/keys.js.map +1 -1
  46. package/dist/cjs/product/api/queries/index.js +8 -0
  47. package/dist/cjs/product/api/queries/index.js.map +1 -1
  48. package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js +45 -0
  49. package/dist/cjs/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
  50. package/dist/cjs/product/hooks/index.js +8 -0
  51. package/dist/cjs/product/hooks/index.js.map +1 -1
  52. package/dist/cjs/product/hooks/useUniCreditOffers.js +72 -0
  53. package/dist/cjs/product/hooks/useUniCreditOffers.js.map +1 -0
  54. package/dist/esm/api/myOrdersApi/index.js +2 -1
  55. package/dist/esm/api/myOrdersApi/index.js.map +1 -1
  56. package/dist/esm/checkout/api/keys.js +3 -0
  57. package/dist/esm/checkout/api/keys.js.map +1 -1
  58. package/dist/esm/checkout/api/queries/index.js +1 -0
  59. package/dist/esm/checkout/api/queries/index.js.map +1 -1
  60. package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js +10 -0
  61. package/dist/esm/checkout/api/queries/useUniCreditCalculateForCartQuery.js.map +1 -0
  62. package/dist/esm/checkout/contexts/UniCreditResponseContext.js +17 -0
  63. package/dist/esm/checkout/contexts/UniCreditResponseContext.js.map +1 -0
  64. package/dist/esm/checkout/contexts/index.js +1 -0
  65. package/dist/esm/checkout/contexts/index.js.map +1 -1
  66. package/dist/esm/checkout/hooks/index.js +1 -0
  67. package/dist/esm/checkout/hooks/index.js.map +1 -1
  68. package/dist/esm/checkout/hooks/useBnpCalculateForCart.js +1 -0
  69. package/dist/esm/checkout/hooks/useBnpCalculateForCart.js.map +1 -1
  70. package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js +66 -0
  71. package/dist/esm/checkout/hooks/useUniCreditCalculateForCart.js.map +1 -0
  72. package/dist/esm/checkout/ssr/captureUniCreditOrder.js +12 -0
  73. package/dist/esm/checkout/ssr/captureUniCreditOrder.js.map +1 -0
  74. package/dist/esm/checkout/ssr/index.js +1 -0
  75. package/dist/esm/checkout/ssr/index.js.map +1 -1
  76. package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js +63 -0
  77. package/dist/esm/contexts/CheckoutForm/Components/UniCreditRedirect/index.js.map +1 -0
  78. package/dist/esm/contexts/CheckoutForm/Components/index.js +1 -0
  79. package/dist/esm/contexts/CheckoutForm/Components/index.js.map +1 -1
  80. package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
  81. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js +6 -2
  82. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  83. package/dist/esm/contexts/CheckoutForm/index.js +28 -2
  84. package/dist/esm/contexts/CheckoutForm/index.js.map +1 -1
  85. package/dist/esm/hooks/order-hooks/useOrder/index.js +1 -5
  86. package/dist/esm/hooks/order-hooks/useOrder/index.js.map +1 -1
  87. package/dist/esm/hooks/order-hooks/useOrderPaymentMethods/index.js.map +1 -1
  88. package/dist/esm/hooks/order-hooks/useUpdateOrderPaymentMethod/index.js.map +1 -1
  89. package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js +1 -1
  90. package/dist/esm/hooks/subscriptions-hooks/useAllSubscriptions/index.js.map +1 -1
  91. package/dist/esm/hooks/useCheckoutSubmit/index.js +10 -3
  92. package/dist/esm/hooks/useCheckoutSubmit/index.js.map +1 -1
  93. package/dist/esm/listing/api/queries/useLabelsQuery.js +2 -1
  94. package/dist/esm/listing/api/queries/useLabelsQuery.js.map +1 -1
  95. package/dist/esm/listing/hooks/useListingFilters.js +3 -1
  96. package/dist/esm/listing/hooks/useListingFilters.js.map +1 -1
  97. package/dist/esm/product/api/keys.js +3 -0
  98. package/dist/esm/product/api/keys.js.map +1 -1
  99. package/dist/esm/product/api/queries/index.js +1 -0
  100. package/dist/esm/product/api/queries/index.js.map +1 -1
  101. package/dist/esm/product/api/queries/useUniCreditOffersQuery.js +16 -0
  102. package/dist/esm/product/api/queries/useUniCreditOffersQuery.js.map +1 -0
  103. package/dist/esm/product/hooks/index.js +1 -0
  104. package/dist/esm/product/hooks/index.js.map +1 -1
  105. package/dist/esm/product/hooks/useUniCreditOffers.js +57 -0
  106. package/dist/esm/product/hooks/useUniCreditOffers.js.map +1 -0
  107. package/dist/types/checkout/api/keys.d.ts +1 -0
  108. package/dist/types/checkout/api/queries/index.d.ts +1 -0
  109. package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +1 -1
  110. package/dist/types/checkout/api/queries/useUniCreditCalculateForCartQuery.d.ts +3 -0
  111. package/dist/types/checkout/contexts/UniCreditResponseContext.d.ts +6 -0
  112. package/dist/types/checkout/contexts/index.d.ts +1 -0
  113. package/dist/types/checkout/hooks/index.d.ts +1 -0
  114. package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +5 -3
  115. package/dist/types/checkout/hooks/useUniCreditCalculateForCart.d.ts +53 -0
  116. package/dist/types/checkout/ssr/captureUniCreditOrder.d.ts +2 -0
  117. package/dist/types/checkout/ssr/index.d.ts +1 -0
  118. package/dist/types/contexts/CheckoutForm/Components/UniCreditRedirect/index.d.ts +5 -0
  119. package/dist/types/contexts/CheckoutForm/Components/index.d.ts +1 -0
  120. package/dist/types/contexts/CheckoutForm/hooks/usePayment/index.d.ts +2 -2
  121. package/dist/types/contexts/CheckoutForm/index.d.ts +1 -0
  122. package/dist/types/hooks/order-hooks/useOrderPaymentMethods/index.d.ts +4 -4
  123. package/dist/types/hooks/useCheckoutSubmit/index.d.ts +3 -2
  124. package/dist/types/product/api/keys.d.ts +1 -0
  125. package/dist/types/product/api/queries/index.d.ts +1 -0
  126. package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +1 -1
  127. package/dist/types/product/api/queries/useUniCreditOffersQuery.d.ts +4 -0
  128. package/dist/types/product/hooks/index.d.ts +1 -0
  129. package/dist/types/product/hooks/useBnpOffers.d.ts +2 -2
  130. package/dist/types/product/hooks/useUniCreditOffers.d.ts +36 -0
  131. package/package.json +4 -4
@@ -21,6 +21,7 @@ var useCheckoutSubmit = function useCheckoutSubmit(_ref) {
21
21
  var onSuccess = _ref.onSuccess,
22
22
  onBeforeBoricaRedirect = _ref.onBeforeBoricaRedirect,
23
23
  onBeforePaypalRedirect = _ref.onBeforePaypalRedirect,
24
+ onBeforeUniCreditRedirect = _ref.onBeforeUniCreditRedirect,
24
25
  onError = _ref.onError,
25
26
  withMeta = _ref.withMeta,
26
27
  disablePaymentRedirects = _ref.disablePaymentRedirects;
@@ -29,7 +30,7 @@ var useCheckoutSubmit = function useCheckoutSubmit(_ref) {
29
30
 
30
31
  var _myOrdersApi$useCreat = _.myOrdersApi.useCreate(withMeta ? districtMeta : {}, /*#__PURE__*/function () {
31
32
  var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(result) {
32
- var paypalPayment, boricaPayment, boricaResult, paypalResponse;
33
+ var paypalPayment, boricaPayment, uniCreditPayment, boricaResult, paypalResponse, uniCreditStartSessionResponse;
33
34
  return _regenerator["default"].wrap(function _callee$(_context) {
34
35
  while (1) {
35
36
  switch (_context.prev = _context.next) {
@@ -37,56 +38,76 @@ var useCheckoutSubmit = function useCheckoutSubmit(_ref) {
37
38
  // Analytics
38
39
  (0, _purchase.purchase)(result, Config);
39
40
  paypalPayment = result.payments.find(function (payment) {
40
- return payment.type === _sdk.PaymentMethodDTOTypeEnum.PaymentServiceProvider && payment.moduleKey === 'Paypal';
41
+ return payment.type === _sdk.PaymentDTOTypeEnum.PaymentServiceProvider && payment.moduleKey === 'Paypal';
41
42
  });
42
43
  boricaPayment = result.payments.find(function (payment) {
43
- return payment.type === _sdk.PaymentMethodDTOTypeEnum.PaymentServiceProvider && payment.moduleKey === 'Borica';
44
+ return payment.type === _sdk.PaymentDTOTypeEnum.PaymentServiceProvider && payment.moduleKey === 'Borica';
45
+ });
46
+ uniCreditPayment = result.payments.find(function (payment) {
47
+ return payment.type === _sdk.PaymentDTOTypeEnum.PaymentServiceProvider && payment.moduleKey === 'UniCredit';
44
48
  });
45
49
 
46
50
  if (!disablePaymentRedirects) {
47
- _context.next = 5;
51
+ _context.next = 6;
48
52
  break;
49
53
  }
50
54
 
51
55
  return _context.abrupt("return", onSuccess == null ? void 0 : onSuccess(result));
52
56
 
53
- case 5:
57
+ case 6:
54
58
  if (!boricaPayment) {
55
- _context.next = 12;
59
+ _context.next = 13;
56
60
  break;
57
61
  }
58
62
 
59
- _context.next = 8;
63
+ _context.next = 9;
60
64
  return _.myPaymentsBoricaApi.pay({
61
65
  orderId: result._id,
62
66
  paymentId: boricaPayment._id
63
67
  });
64
68
 
65
- case 8:
69
+ case 9:
66
70
  boricaResult = _context.sent;
67
71
  onBeforeBoricaRedirect == null ? void 0 : onBeforeBoricaRedirect(boricaResult);
68
- _context.next = 20;
72
+ _context.next = 28;
69
73
  break;
70
74
 
71
- case 12:
75
+ case 13:
72
76
  if (!paypalPayment) {
73
- _context.next = 19;
77
+ _context.next = 20;
74
78
  break;
75
79
  }
76
80
 
77
- _context.next = 15;
81
+ _context.next = 16;
78
82
  return (0, _sdk.MyPaymentsPaypalPayMyOrder)(result._id, paypalPayment._id);
79
83
 
80
- case 15:
84
+ case 16:
81
85
  paypalResponse = _context.sent;
82
86
  onBeforePaypalRedirect == null ? void 0 : onBeforePaypalRedirect(paypalResponse);
83
- _context.next = 20;
87
+ _context.next = 28;
88
+ break;
89
+
90
+ case 20:
91
+ if (!uniCreditPayment) {
92
+ _context.next = 27;
93
+ break;
94
+ }
95
+
96
+ _context.next = 23;
97
+ return (0, _sdk.MyPaymentsUnicreditStartSession)({}, {
98
+ orderId: result._id
99
+ });
100
+
101
+ case 23:
102
+ uniCreditStartSessionResponse = _context.sent;
103
+ onBeforeUniCreditRedirect == null ? void 0 : onBeforeUniCreditRedirect(uniCreditStartSessionResponse);
104
+ _context.next = 28;
84
105
  break;
85
106
 
86
- case 19:
107
+ case 27:
87
108
  onSuccess == null ? void 0 : onSuccess(result);
88
109
 
89
- case 20:
110
+ case 28:
90
111
  case "end":
91
112
  return _context.stop();
92
113
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useCheckoutSubmit/index.ts"],"names":["useCheckoutSubmit","onSuccess","onBeforeBoricaRedirect","onBeforePaypalRedirect","onError","withMeta","disablePaymentRedirects","Config","districtMeta","myOrdersApi","useCreate","result","paypalPayment","payments","find","payment","type","PaymentMethodDTOTypeEnum","PaymentServiceProvider","moduleKey","boricaPayment","myPaymentsBoricaApi","pay","orderId","_id","paymentId","boricaResult","paypalResponse","handleCheckoutSubmit"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAMA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAc3B;AAAA,MAbJC,SAaI,QAbJA,SAaI;AAAA,MAZJC,sBAYI,QAZJA,sBAYI;AAAA,MAXJC,sBAWI,QAXJA,sBAWI;AAAA,MAVJC,OAUI,QAVJA,OAUI;AAAA,MATJC,QASI,QATJA,QASI;AAAA,MARJC,uBAQI,QARJA,uBAQI;AACJ,MAAMC,MAAM,GAAG,gCAAf;AAEA,MAAMC,YAAY,GAAG,wBAArB;;AAHI,8BAK2BC,cAAYC,SAAZ,CAC7BL,QAAQ,GAAGG,YAAH,GAAkB,EADG;AAAA,8FAE7B,iBAAOG,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACE;AACA,sCAASA,MAAT,EAAiBJ,MAAjB;AAEMK,cAAAA,aAJR,GAIwBD,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACpB,UAACC,OAAD;AAAA,uBACEA,OAAO,CAACC,IAAR,KAAiBC,8BAAyBC,sBAA1C,IACAH,OAAO,CAACI,SAAR,KAAsB,QAFxB;AAAA,eADoB,CAJxB;AAUQC,cAAAA,aAVR,GAUwBT,MAAM,CAACE,QAAP,CAAgBC,IAAhB,CACpB,UAACC,OAAD;AAAA,uBACEA,OAAO,CAACC,IAAR,KAAiBC,8BAAyBC,sBAA1C,IACAH,OAAO,CAACI,SAAR,KAAsB,QAFxB;AAAA,eADoB,CAVxB;;AAAA,mBAgBMb,uBAhBN;AAAA;AAAA;AAAA;;AAAA,+CAgBsCL,SAhBtC,oBAgBsCA,SAAS,CAAGU,MAAH,CAhB/C;;AAAA;AAAA,mBAkBMS,aAlBN;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAmB+BC,sBAAoBC,GAApB,CAAwB;AACjDC,gBAAAA,OAAO,EAAEZ,MAAM,CAACa,GADiC;AAEjDC,gBAAAA,SAAS,EAAEL,aAAa,CAACI;AAFwB,eAAxB,CAnB/B;;AAAA;AAmBUE,cAAAA,YAnBV;AAuBIxB,cAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGwB,YAAH,CAAtB;AAvBJ;AAAA;;AAAA;AAAA,mBAwBad,aAxBb;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAyBiC,qCAC3BD,MAAM,CAACa,GADoB,EAE3BZ,aAAa,CAACY,GAFa,CAzBjC;;AAAA;AAyBUG,cAAAA,cAzBV;AA8BIxB,cAAAA,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAGwB,cAAH,CAAtB;AA9BJ;AAAA;;AAAA;AAgCI1B,cAAAA,SAAS,QAAT,YAAAA,SAAS,CAAGU,MAAH,CAAT;;AAhCJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAF6B;;AAAA;AAAA;AAAA;AAAA,OAqC7BP,OArC6B,CAL3B;AAAA,MAKGwB,oBALH;;AA6CJ,SAAO;AACLA,IAAAA,oBAAoB,EAApBA;AADK,GAAP;AAGD,CA9DM","sourcesContent":["import { myOrdersApi, myPaymentsBoricaApi, useDistrictMeta } from '../../'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n PaymentMethodDTOTypeEnum,\n MyPaymentsPaypalPayMyOrder,\n} from '@sentecacommerce/sdk'\nimport { useConfigState } from '../useConfig'\nimport { purchase } from '../../analytics/purchase'\n\nexport const useCheckoutSubmit = ({\n onSuccess,\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onError,\n withMeta,\n disablePaymentRedirects,\n}: {\n onSuccess?: (result: OrderDTO) => void\n onBeforeBoricaRedirect?: (formData: BoricaGeneratePaymentDataResponse) => void\n onError?: (error: any) => void\n withMeta?: boolean\n onBeforePaypalRedirect: any\n disablePaymentRedirects: boolean\n}) => {\n const Config = useConfigState()\n\n const districtMeta = useDistrictMeta()\n\n const [handleCheckoutSubmit] = myOrdersApi.useCreate(\n withMeta ? districtMeta : {},\n async (result: OrderDTO) => {\n // Analytics\n purchase(result, Config)\n\n const paypalPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Paypal'\n )\n\n const boricaPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentMethodDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Borica'\n )\n\n if (disablePaymentRedirects) return onSuccess?.(result)\n\n if (boricaPayment) {\n const boricaResult = await myPaymentsBoricaApi.pay({\n orderId: result._id,\n paymentId: boricaPayment._id,\n })\n onBeforeBoricaRedirect?.(boricaResult)\n } else if (paypalPayment) {\n const paypalResponse = await MyPaymentsPaypalPayMyOrder(\n result._id,\n paypalPayment._id\n )\n\n onBeforePaypalRedirect?.(paypalResponse)\n } else {\n onSuccess?.(result)\n }\n },\n onError\n )\n\n return {\n handleCheckoutSubmit,\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/hooks/useCheckoutSubmit/index.ts"],"names":["useCheckoutSubmit","onSuccess","onBeforeBoricaRedirect","onBeforePaypalRedirect","onBeforeUniCreditRedirect","onError","withMeta","disablePaymentRedirects","Config","districtMeta","myOrdersApi","useCreate","result","paypalPayment","payments","find","payment","type","PaymentDTOTypeEnum","PaymentServiceProvider","moduleKey","boricaPayment","uniCreditPayment","myPaymentsBoricaApi","pay","orderId","_id","paymentId","boricaResult","paypalResponse","uniCreditStartSessionResponse","handleCheckoutSubmit"],"mappings":"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","sourcesContent":["import { myOrdersApi, myPaymentsBoricaApi, useDistrictMeta } from '../../'\nimport {\n BoricaGeneratePaymentDataResponse,\n OrderDTO,\n MyPaymentsPaypalPayMyOrder,\n MyPaymentsUnicreditStartSession,\n PaymentDTOTypeEnum,\n UniCreditSessionStartResponseDTO,\n} from '@sentecacommerce/sdk'\nimport { useConfigState } from '../useConfig'\nimport { purchase } from '../../analytics/purchase'\n\nexport const useCheckoutSubmit = ({\n onSuccess,\n onBeforeBoricaRedirect,\n onBeforePaypalRedirect,\n onBeforeUniCreditRedirect,\n onError,\n withMeta,\n disablePaymentRedirects,\n}: {\n onSuccess?: (result: OrderDTO) => void\n onBeforeBoricaRedirect?: (formData: BoricaGeneratePaymentDataResponse) => void\n onBeforeUniCreditRedirect?: (\n formData: UniCreditSessionStartResponseDTO\n ) => void\n onError?: (error: any) => void\n withMeta?: boolean\n onBeforePaypalRedirect: any\n disablePaymentRedirects: boolean\n}) => {\n const Config = useConfigState()\n\n const districtMeta = useDistrictMeta()\n\n const [handleCheckoutSubmit] = myOrdersApi.useCreate(\n withMeta ? districtMeta : {},\n async (result: OrderDTO) => {\n // Analytics\n purchase(result, Config)\n\n const paypalPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Paypal'\n )\n\n const boricaPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'Borica'\n )\n\n const uniCreditPayment = result.payments.find(\n (payment) =>\n payment.type === PaymentDTOTypeEnum.PaymentServiceProvider &&\n payment.moduleKey === 'UniCredit'\n )\n\n if (disablePaymentRedirects) return onSuccess?.(result)\n\n if (boricaPayment) {\n const boricaResult = await myPaymentsBoricaApi.pay({\n orderId: result._id,\n paymentId: boricaPayment._id,\n })\n onBeforeBoricaRedirect?.(boricaResult)\n } else if (paypalPayment) {\n const paypalResponse = await MyPaymentsPaypalPayMyOrder(\n result._id,\n paypalPayment._id\n )\n\n onBeforePaypalRedirect?.(paypalResponse)\n } else if (uniCreditPayment) {\n const uniCreditStartSessionResponse = await MyPaymentsUnicreditStartSession(\n {},\n { orderId: result._id }\n )\n\n onBeforeUniCreditRedirect?.(uniCreditStartSessionResponse)\n } else {\n onSuccess?.(result)\n }\n },\n onError\n )\n\n return {\n handleCheckoutSubmit,\n }\n}\n"],"file":"index.js"}
@@ -40,7 +40,8 @@ var useLabelsQuery = function useLabelsQuery(_ref) {
40
40
  }
41
41
  }, _callee);
42
42
  })), {
43
- cacheTime: 0
43
+ cacheTime: 0,
44
+ refetchOnWindowFocus: false
44
45
  });
45
46
  };
46
47
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/listing/api/queries/useLabelsQuery.ts"],"names":["useLabelsQuery","labels","keys","ListingQueryKeysEnum","filter","map","el","join","limit","cacheTime"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AAIO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAA4C;AAAA,yBAAzCC,MAAyC;AAAA,MAAzCA,MAAyC,4BAAhC,EAAgC;AACxE,MAAMC,IAAI,IAAIC,2BAAqBH,cAAzB,SAA4CC,MAA5C,CAAV;AACA,SAAO,0BACLC,IADK,6FAEL;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,6CACE,uBAAa;AACXE,cAAAA,MAAM,mCAAYH,MAAZ,oBAAYA,MAAM,CAAEI,GAAR,CAAY,UAACC,EAAD;AAAA,8BAAYA,EAAZ;AAAA,eAAZ,EAA+BC,IAA/B,CAAoC,GAApC,CAAZ,+BAAwD,EAAxD,CADK;AAEXC,cAAAA,KAAK,EAAE;AAFI,aAAb,CADF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFK,IAOL;AAAEC,IAAAA,SAAS,EAAE;AAAb,GAPK,CAAP;AASD,CAXM","sourcesContent":["import React from 'react'\nimport { LabelsFilter, LabelDTO } from '@sentecacommerce/sdk'\nimport { useQuery } from 'react-query'\nimport { ListingQueryKeysEnum } from '../keys'\n\nexport interface RawLabelType extends LabelDTO {}\n\nexport const useLabelsQuery = ({ labels = [] }: { labels?: string[] }) => {\n const keys = [ListingQueryKeysEnum.useLabelsQuery, ...labels]\n return useQuery(\n keys,\n async () =>\n LabelsFilter({\n filter: `key;in;${labels?.map((el) => `\"${el}\"`).join(',') ?? ''}`,\n limit: 20,\n }),\n { cacheTime: 0 }\n )\n}\n"],"file":"useLabelsQuery.js"}
1
+ {"version":3,"sources":["../../../../../src/listing/api/queries/useLabelsQuery.ts"],"names":["useLabelsQuery","labels","keys","ListingQueryKeysEnum","filter","map","el","join","limit","cacheTime","refetchOnWindowFocus"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AAIO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAA4C;AAAA,yBAAzCC,MAAyC;AAAA,MAAzCA,MAAyC,4BAAhC,EAAgC;AACxE,MAAMC,IAAI,IAAIC,2BAAqBH,cAAzB,SAA4CC,MAA5C,CAAV;AACA,SAAO,0BACLC,IADK,6FAEL;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,6CACE,uBAAa;AACXE,cAAAA,MAAM,mCAAYH,MAAZ,oBAAYA,MAAM,CAAEI,GAAR,CAAY,UAACC,EAAD;AAAA,8BAAYA,EAAZ;AAAA,eAAZ,EAA+BC,IAA/B,CAAoC,GAApC,CAAZ,+BAAwD,EAAxD,CADK;AAEXC,cAAAA,KAAK,EAAE;AAFI,aAAb,CADF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFK,IAOL;AAAEC,IAAAA,SAAS,EAAE,CAAb;AAAgBC,IAAAA,oBAAoB,EAAE;AAAtC,GAPK,CAAP;AASD,CAXM","sourcesContent":["import React from 'react'\nimport { LabelsFilter, LabelDTO } from '@sentecacommerce/sdk'\nimport { useQuery } from 'react-query'\nimport { ListingQueryKeysEnum } from '../keys'\n\nexport interface RawLabelType extends LabelDTO {}\n\nexport const useLabelsQuery = ({ labels = [] }: { labels?: string[] }) => {\n const keys = [ListingQueryKeysEnum.useLabelsQuery, ...labels]\n return useQuery(\n keys,\n async () =>\n LabelsFilter({\n filter: `key;in;${labels?.map((el) => `\"${el}\"`).join(',') ?? ''}`,\n limit: 20,\n }),\n { cacheTime: 0, refetchOnWindowFocus: false }\n )\n}\n"],"file":"useLabelsQuery.js"}
@@ -53,6 +53,8 @@ function ListingFiltersProvider(_ref) {
53
53
  var result = aggregates == null ? void 0 : aggregates.sort(function (a, b) {
54
54
  return a.order - b.order;
55
55
  }).map(function (currentAggregate) {
56
+ var _listing$slugAliases$;
57
+
56
58
  var type = currentAggregate.aggregationType.toString();
57
59
  var term = currentAggregate.aggregationDefinition.split(':')[0];
58
60
  var filter = currentAggregate.filterDefinition;
@@ -64,7 +66,7 @@ function ListingFiltersProvider(_ref) {
64
66
  filter: filter,
65
67
  router: router,
66
68
  type: type,
67
- slug: slug,
69
+ slug: (_listing$slugAliases$ = config.listing.slugAliases[slug]) != null ? _listing$slugAliases$ : slug,
68
70
  pageType: pageType
69
71
  });
70
72
  var selectedCount = generatedFilters == null ? void 0 : generatedFilters.reduce(function (count, res) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/listing/hooks/useListingFilters.tsx"],"names":["ListingFiltersStateContext","React","createContext","undefined","ListingFiltersProvider","children","aggregates","pageType","type","attributeSortType","AggregateRequestEnum","Filters","aggData","data","isLoading","isFetching","config","router","slug","useMemo","result","sort","a","b","order","map","currentAggregate","aggregationType","toString","term","aggregationDefinition","split","filter","filterDefinition","current","find","agg","name","generatedFilters","generateFilters","rawFilters","selectedCount","reduce","count","res","selected","attributeResult","label","component","items","raw","clearAll","push","pathname","query","filterByType","clearAllFilters","selectedFilters","useListingFilters","context","useContext","Error","results","currentTerm","filterKey","mapKey","isFilterSelected","filtersOperatorsMap","meta","onClick","createAggregateQuery","aggType","aggKey","aggOperator","Boolean","areFiltersArray","Array","isArray","sel","includes","ranges","stats","terms","r","keysMap","key","from","to","manageFilter","pair","remove","stripped","generateQueryString","activeFilters","extractFilter","str","aggPair","operator","val","filterType","filterVal","filterOperator","Object","keys","forEach","el","applied","remaining","x","length","join","idx","ListingTypesEnum","Search","q","search","cat","typeToSuffix","filters","filterName"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { useRouter } from 'next/router'\nimport { NextRouter } from 'next/router'\nimport { useListingConfig } from './useListingConfig'\nimport {\n useAggregateQuery,\n AggregateRequestEnum,\n AggregateType,\n AggregationResultType,\n} from '../api'\n\nimport { Aggregate, ListingTypesEnum } from '../types'\nimport { useListingSlug } from './useListingSlug'\n\nimport { stripQueryProps } from '../../utils/generateQueryFromRouter'\nimport { typeToSuffix } from '../../utils/typeToSuffix'\nimport { generateQueryStringFromQuery } from '../../utils/generateQueryStringFromQuery'\nimport {\n RangeAggregation,\n StatAggregation,\n TermAggregation,\n} from '@sentecacommerce/sdk'\nimport { getSelectedFilters } from '../../utils'\nimport { useConfigState } from '../../index'\nimport { FiltersQuery } from '../index'\n\nexport type {\n RangeAggregation,\n StatAggregation,\n TermAggregation,\n} from '@sentecacommerce/sdk'\n\ntype AggPair = {\n aggType: string\n aggKey: string\n aggOperator: string\n}\n\nexport type ListingAggregationResultType = {\n selected: boolean\n data: AggregationResultType\n meta: any\n aggregationType?: string\n onClick: () => void\n}\n\nexport type ListingAggregateType = {\n name: string\n component: string\n type: string\n selectedCount: number\n items: ListingAggregationResultType[]\n clearAll: () => void\n raw: StatAggregation | RangeAggregation | TermAggregation\n}\n\nexport type UseListingFiltersResult = {\n data?: ListingAggregateType[]\n clearAllFilters: () => void\n selectedFilters: ListingAggregationResultType[]\n isLoading: boolean\n isFetching: boolean\n}\n\nconst ListingFiltersStateContext = React.createContext<\n UseListingFiltersResult | undefined\n>(undefined)\n\nexport function ListingFiltersProvider({\n children,\n}: {\n children: React.ReactNode\n}) {\n const { aggregates, type: pageType, attributeSortType } = useListingConfig()\n\n const { data: aggData, isLoading, isFetching } = useAggregateQuery(\n aggregates as Aggregate[],\n AggregateRequestEnum.Filters,\n attributeSortType\n )\n\n const config = useConfigState()\n const router = useRouter()\n const slug = useListingSlug()\n\n const data = React.useMemo(() => {\n if (!isLoading && aggData) {\n const result = aggregates\n ?.sort((a, b) => a.order - b.order)\n .map((currentAggregate) => {\n const type = currentAggregate.aggregationType.toString()\n const term = currentAggregate.aggregationDefinition.split(':')[0]\n const filter = currentAggregate.filterDefinition\n const current: AggregateType = aggData[type].find(\n (agg: AggregateType) => agg.name === term\n )\n\n const generatedFilters = generateFilters({\n rawFilters: current,\n filter,\n router,\n type,\n slug,\n pageType,\n })\n\n const selectedCount = generatedFilters?.reduce((count, res) => {\n if (res.selected) count++\n return count\n }, 0)\n\n const attributeResult = ({\n name: currentAggregate.label,\n component: currentAggregate.component,\n items: generatedFilters,\n selectedCount,\n raw: current,\n clearAll: () =>\n router.push({\n pathname: router.pathname,\n query: {\n ...router.query,\n filter: filterByType(router.query.filter, filter),\n },\n }),\n type: type,\n } as unknown) as ListingAggregateType\n\n return attributeResult\n })\n\n return result\n }\n return undefined\n }, [aggData, router])\n\n const clearAllFilters = () => {\n const query = { ...router.query }\n delete query.filter\n\n router.push({\n pathname: router.pathname,\n query,\n })\n }\n\n const selectedFilters = React.useMemo(() => {\n return getSelectedFilters(router, slug, data as any, config) as any\n }, [router, data])\n\n return (\n <ListingFiltersStateContext.Provider\n value={{ data, clearAllFilters, selectedFilters, isLoading, isFetching }}\n >\n {children}\n </ListingFiltersStateContext.Provider>\n )\n}\n\nexport function useListingFilters() {\n const context = React.useContext(ListingFiltersStateContext)\n if (context === undefined) {\n throw new Error(\n 'useListingFilters must be used within a ListingFiltersProvider'\n )\n }\n return context\n}\n\nfunction generateFilters({\n rawFilters,\n type,\n filter,\n slug,\n router,\n pageType,\n}: {\n rawFilters: AggregateType\n type: string\n filter: string\n slug: string\n router: NextRouter\n pageType: ListingTypesEnum\n}) {\n return rawFilters.results\n ?.filter((res) => res.count > 0)\n ?.map((currentTerm) => {\n const filterKey = mapKey(currentTerm, type)\n\n const selected = isFilterSelected(\n router,\n filter,\n filterKey,\n filtersOperatorsMap[type]\n )\n\n return {\n data: currentTerm,\n selected,\n meta: currentTerm.meta,\n onClick: () => {\n router.push(\n createAggregateQuery(\n pageType,\n slug,\n {\n aggType: filter,\n aggKey: filterKey,\n aggOperator: filtersOperatorsMap[type],\n },\n Boolean(selected),\n router\n )\n )\n },\n }\n })\n}\n\nconst isFilterSelected = (\n router: NextRouter,\n filter: string,\n filterKey: any,\n type: string\n) => {\n const areFiltersArray = Array.isArray(router.query?.filter)\n\n return areFiltersArray\n ? !!(router.query.filter as string[])\n ?.find((sel: string) => sel.includes(`${filter};${type}`))\n ?.includes(filterKey)\n : router.query.filter?.includes(`${filter};${type}`) &&\n router.query.filter?.includes(filterKey)\n}\n\nexport const filtersOperatorsMap = {\n ranges: 'range',\n stats: 'range',\n terms: 'in',\n}\n\nfunction mapKey(r: any, type: any) {\n const keysMap = {\n terms: `\"${r.key}\"`,\n ranges: `${r.from},${r.to}`,\n }\n if (!keysMap[type]) return r.key\n\n return keysMap[type]\n}\n\nfunction manageFilter(pair: AggPair, query: any, remove: boolean) {\n const stripped = stripQueryProps(query, ['page']) // reset pagination on filter\n\n const result = generateQueryString(stripped, pair, remove)\n return result\n}\n\nconst generateQueryString = (\n query: FiltersQuery,\n pair: AggPair,\n remove?: boolean\n) => {\n const activeFilters = {}\n\n const extractFilter = ({\n str = '',\n aggPair,\n }: {\n str: string\n aggPair?: AggPair\n }) => {\n const [type, operator, val] = str.split(';')\n\n const filterType = aggPair?.aggType ?? type\n const filterVal = aggPair?.aggKey ?? val\n const filterOperator = aggPair?.aggOperator ?? operator\n\n if (activeFilters[filterType]) {\n activeFilters[filterType] += `,${filterVal}`\n } else {\n activeFilters[\n filterType\n ] = `filter=${filterType};${filterOperator};${filterVal}`\n }\n }\n\n Object.keys(query).forEach((el) => {\n if (Array.isArray(query[el])) {\n query[el].forEach((filter: string) => {\n extractFilter({ str: filter })\n })\n } else {\n if (el === 'sort') {\n activeFilters[el] = `sort=${query[el]}`\n } else {\n extractFilter({ str: query[el] })\n }\n }\n })\n\n if (remove) {\n const applied = activeFilters[pair.aggType].split(';')[2].split(',')\n\n const remaining = applied.filter((x: string) => !pair.aggKey.includes(x))\n\n if (remaining.length === 0) {\n activeFilters[pair.aggType] = ``\n } else {\n activeFilters[pair.aggType] = `filter=${pair.aggType};${\n pair.aggOperator\n };${remaining.join(',')}`\n }\n } else {\n extractFilter({ str: '', aggPair: pair })\n }\n\n if (Object.keys(activeFilters).length === 0) return ``\n\n return Object.keys(activeFilters).reduce((res, val, idx) => {\n res += `${idx > 0 ? '&' : ''}${activeFilters[val]}`\n return res\n }, ``)\n}\n\nfunction createAggregateQuery(\n type: ListingTypesEnum,\n slug: string,\n aggPair: AggPair,\n remove: boolean,\n router: NextRouter\n) {\n if (type === ListingTypesEnum.Search) {\n return router.query.q\n ? `/search?q=${router.query.q}&${manageFilter(\n aggPair,\n router.query,\n remove\n )}`\n : `/${slug}/c?search=${router.query.search}&${manageFilter(\n aggPair,\n router.query,\n remove\n )}`\n }\n\n if (router.query.cat) {\n return `/${router.query.slug}/${router.query.cat}/${\n typeToSuffix[type]\n }?${manageFilter(aggPair, router.query, remove)}`\n }\n\n return `/${slug}/${typeToSuffix[type]}?${manageFilter(\n aggPair,\n router.query,\n remove\n )}`\n}\n\nfunction filterByType(\n filters: string | string[] | undefined,\n filterName: string\n) {\n if (!filters) return\n\n if (typeof filters === 'string') {\n if (filters.includes(filterName)) return\n\n return filters\n }\n\n return filters.filter((filter) => !filter.includes(filterName))\n}\n"],"file":"useListingFilters.js"}
1
+ {"version":3,"sources":["../../../../src/listing/hooks/useListingFilters.tsx"],"names":["ListingFiltersStateContext","React","createContext","undefined","ListingFiltersProvider","children","aggregates","pageType","type","attributeSortType","AggregateRequestEnum","Filters","aggData","data","isLoading","isFetching","config","router","slug","useMemo","result","sort","a","b","order","map","currentAggregate","aggregationType","toString","term","aggregationDefinition","split","filter","filterDefinition","current","find","agg","name","generatedFilters","generateFilters","rawFilters","listing","slugAliases","selectedCount","reduce","count","res","selected","attributeResult","label","component","items","raw","clearAll","push","pathname","query","filterByType","clearAllFilters","selectedFilters","useListingFilters","context","useContext","Error","results","currentTerm","filterKey","mapKey","isFilterSelected","filtersOperatorsMap","meta","onClick","createAggregateQuery","aggType","aggKey","aggOperator","Boolean","areFiltersArray","Array","isArray","sel","includes","ranges","stats","terms","r","keysMap","key","from","to","manageFilter","pair","remove","stripped","generateQueryString","activeFilters","extractFilter","str","aggPair","operator","val","filterType","filterVal","filterOperator","Object","keys","forEach","el","applied","remaining","x","length","join","idx","ListingTypesEnum","Search","q","search","cat","typeToSuffix","filters","filterName"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { useRouter } from 'next/router'\nimport { NextRouter } from 'next/router'\nimport { useListingConfig } from './useListingConfig'\nimport {\n useAggregateQuery,\n AggregateRequestEnum,\n AggregateType,\n AggregationResultType,\n} from '../api'\n\nimport { Aggregate, ListingTypesEnum } from '../types'\nimport { useListingSlug } from './useListingSlug'\n\nimport { stripQueryProps } from '../../utils/generateQueryFromRouter'\nimport { typeToSuffix } from '../../utils/typeToSuffix'\nimport { generateQueryStringFromQuery } from '../../utils/generateQueryStringFromQuery'\nimport {\n RangeAggregation,\n StatAggregation,\n TermAggregation,\n} from '@sentecacommerce/sdk'\nimport { getSelectedFilters } from '../../utils'\nimport { useConfigState } from '../../index'\nimport { FiltersQuery } from '../index'\n\nexport type {\n RangeAggregation,\n StatAggregation,\n TermAggregation,\n} from '@sentecacommerce/sdk'\n\ntype AggPair = {\n aggType: string\n aggKey: string\n aggOperator: string\n}\n\nexport type ListingAggregationResultType = {\n selected: boolean\n data: AggregationResultType\n meta: any\n aggregationType?: string\n onClick: () => void\n}\n\nexport type ListingAggregateType = {\n name: string\n component: string\n type: string\n selectedCount: number\n items: ListingAggregationResultType[]\n clearAll: () => void\n raw: StatAggregation | RangeAggregation | TermAggregation\n}\n\nexport type UseListingFiltersResult = {\n data?: ListingAggregateType[]\n clearAllFilters: () => void\n selectedFilters: ListingAggregationResultType[]\n isLoading: boolean\n isFetching: boolean\n}\n\nconst ListingFiltersStateContext = React.createContext<\n UseListingFiltersResult | undefined\n>(undefined)\n\nexport function ListingFiltersProvider({\n children,\n}: {\n children: React.ReactNode\n}) {\n const { aggregates, type: pageType, attributeSortType } = useListingConfig()\n\n const { data: aggData, isLoading, isFetching } = useAggregateQuery(\n aggregates as Aggregate[],\n AggregateRequestEnum.Filters,\n attributeSortType\n )\n\n const config = useConfigState()\n const router = useRouter()\n const slug = useListingSlug()\n\n const data = React.useMemo(() => {\n if (!isLoading && aggData) {\n const result = aggregates\n ?.sort((a, b) => a.order - b.order)\n .map((currentAggregate) => {\n const type = currentAggregate.aggregationType.toString()\n const term = currentAggregate.aggregationDefinition.split(':')[0]\n const filter = currentAggregate.filterDefinition\n const current: AggregateType = aggData[type].find(\n (agg: AggregateType) => agg.name === term\n )\n\n const generatedFilters = generateFilters({\n rawFilters: current,\n filter,\n router,\n type,\n slug: (config as any).listing.slugAliases[slug] ?? slug,\n pageType,\n })\n\n const selectedCount = generatedFilters?.reduce((count, res) => {\n if (res.selected) count++\n return count\n }, 0)\n\n const attributeResult = ({\n name: currentAggregate.label,\n component: currentAggregate.component,\n items: generatedFilters,\n selectedCount,\n raw: current,\n clearAll: () =>\n router.push({\n pathname: router.pathname,\n query: {\n ...router.query,\n filter: filterByType(router.query.filter, filter),\n },\n }),\n type: type,\n } as unknown) as ListingAggregateType\n\n return attributeResult\n })\n\n return result\n }\n return undefined\n }, [aggData, router])\n\n const clearAllFilters = () => {\n const query = { ...router.query }\n delete query.filter\n\n router.push({\n pathname: router.pathname,\n query,\n })\n }\n\n const selectedFilters = React.useMemo(() => {\n return getSelectedFilters(router, slug, data as any, config) as any\n }, [router, data])\n\n return (\n <ListingFiltersStateContext.Provider\n value={{ data, clearAllFilters, selectedFilters, isLoading, isFetching }}\n >\n {children}\n </ListingFiltersStateContext.Provider>\n )\n}\n\nexport function useListingFilters() {\n const context = React.useContext(ListingFiltersStateContext)\n if (context === undefined) {\n throw new Error(\n 'useListingFilters must be used within a ListingFiltersProvider'\n )\n }\n return context\n}\n\nfunction generateFilters({\n rawFilters,\n type,\n filter,\n slug,\n router,\n pageType,\n}: {\n rawFilters: AggregateType\n type: string\n filter: string\n slug: string\n router: NextRouter\n pageType: ListingTypesEnum\n}) {\n return rawFilters.results\n ?.filter((res) => res.count > 0)\n ?.map((currentTerm) => {\n const filterKey = mapKey(currentTerm, type)\n\n const selected = isFilterSelected(\n router,\n filter,\n filterKey,\n filtersOperatorsMap[type]\n )\n\n return {\n data: currentTerm,\n selected,\n meta: currentTerm.meta,\n onClick: () => {\n router.push(\n createAggregateQuery(\n pageType,\n slug,\n {\n aggType: filter,\n aggKey: filterKey,\n aggOperator: filtersOperatorsMap[type],\n },\n Boolean(selected),\n router\n )\n )\n },\n }\n })\n}\n\nconst isFilterSelected = (\n router: NextRouter,\n filter: string,\n filterKey: any,\n type: string\n) => {\n const areFiltersArray = Array.isArray(router.query?.filter)\n\n return areFiltersArray\n ? !!(router.query.filter as string[])\n ?.find((sel: string) => sel.includes(`${filter};${type}`))\n ?.includes(filterKey)\n : router.query.filter?.includes(`${filter};${type}`) &&\n router.query.filter?.includes(filterKey)\n}\n\nexport const filtersOperatorsMap = {\n ranges: 'range',\n stats: 'range',\n terms: 'in',\n}\n\nfunction mapKey(r: any, type: any) {\n const keysMap = {\n terms: `\"${r.key}\"`,\n ranges: `${r.from},${r.to}`,\n }\n if (!keysMap[type]) return r.key\n\n return keysMap[type]\n}\n\nfunction manageFilter(pair: AggPair, query: any, remove: boolean) {\n const stripped = stripQueryProps(query, ['page']) // reset pagination on filter\n\n const result = generateQueryString(stripped, pair, remove)\n return result\n}\n\nconst generateQueryString = (\n query: FiltersQuery,\n pair: AggPair,\n remove?: boolean\n) => {\n const activeFilters = {}\n\n const extractFilter = ({\n str = '',\n aggPair,\n }: {\n str: string\n aggPair?: AggPair\n }) => {\n const [type, operator, val] = str.split(';')\n\n const filterType = aggPair?.aggType ?? type\n const filterVal = aggPair?.aggKey ?? val\n const filterOperator = aggPair?.aggOperator ?? operator\n\n if (activeFilters[filterType]) {\n activeFilters[filterType] += `,${filterVal}`\n } else {\n activeFilters[\n filterType\n ] = `filter=${filterType};${filterOperator};${filterVal}`\n }\n }\n\n Object.keys(query).forEach((el) => {\n if (Array.isArray(query[el])) {\n query[el].forEach((filter: string) => {\n extractFilter({ str: filter })\n })\n } else {\n if (el === 'sort') {\n activeFilters[el] = `sort=${query[el]}`\n } else {\n extractFilter({ str: query[el] })\n }\n }\n })\n\n if (remove) {\n const applied = activeFilters[pair.aggType].split(';')[2].split(',')\n\n const remaining = applied.filter((x: string) => !pair.aggKey.includes(x))\n\n if (remaining.length === 0) {\n activeFilters[pair.aggType] = ``\n } else {\n activeFilters[pair.aggType] = `filter=${pair.aggType};${\n pair.aggOperator\n };${remaining.join(',')}`\n }\n } else {\n extractFilter({ str: '', aggPair: pair })\n }\n\n if (Object.keys(activeFilters).length === 0) return ``\n\n return Object.keys(activeFilters).reduce((res, val, idx) => {\n res += `${idx > 0 ? '&' : ''}${activeFilters[val]}`\n return res\n }, ``)\n}\n\nfunction createAggregateQuery(\n type: ListingTypesEnum,\n slug: string,\n aggPair: AggPair,\n remove: boolean,\n router: NextRouter\n) {\n if (type === ListingTypesEnum.Search) {\n return router.query.q\n ? `/search?q=${router.query.q}&${manageFilter(\n aggPair,\n router.query,\n remove\n )}`\n : `/${slug}/c?search=${router.query.search}&${manageFilter(\n aggPair,\n router.query,\n remove\n )}`\n }\n\n if (router.query.cat) {\n return `/${router.query.slug}/${router.query.cat}/${\n typeToSuffix[type]\n }?${manageFilter(aggPair, router.query, remove)}`\n }\n\n return `/${slug}/${typeToSuffix[type]}?${manageFilter(\n aggPair,\n router.query,\n remove\n )}`\n}\n\nfunction filterByType(\n filters: string | string[] | undefined,\n filterName: string\n) {\n if (!filters) return\n\n if (typeof filters === 'string') {\n if (filters.includes(filterName)) return\n\n return filters\n }\n\n return filters.filter((filter) => !filter.includes(filterName))\n}\n"],"file":"useListingFilters.js"}
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.getBnpProductOffersKey = void 0;
4
+ exports.getUniCreditProductOffersKey = exports.getBnpProductOffersKey = void 0;
5
5
 
6
6
  var getBnpProductOffersKey = function getBnpProductOffersKey(sku) {
7
7
  return ['product-bnp-offers', sku];
8
8
  };
9
9
 
10
10
  exports.getBnpProductOffersKey = getBnpProductOffersKey;
11
+
12
+ var getUniCreditProductOffersKey = function getUniCreditProductOffersKey(sku) {
13
+ return ['product-unicredit-offers', sku];
14
+ };
15
+
16
+ exports.getUniCreditProductOffersKey = getUniCreditProductOffersKey;
11
17
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/product/api/keys.ts"],"names":["getBnpProductOffersKey","sku"],"mappings":";;;;;AAAO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,GAAD,EAAiB;AACrD,SAAO,CAAC,oBAAD,EAAuBA,GAAvB,CAAP;AACD,CAFM","sourcesContent":["export const getBnpProductOffersKey = (sku: string) => {\n return ['product-bnp-offers', sku]\n}\n"],"file":"keys.js"}
1
+ {"version":3,"sources":["../../../../src/product/api/keys.ts"],"names":["getBnpProductOffersKey","sku","getUniCreditProductOffersKey"],"mappings":";;;;;AAAO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,GAAD,EAAiB;AACrD,SAAO,CAAC,oBAAD,EAAuBA,GAAvB,CAAP;AACD,CAFM;;;;AAIA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACD,GAAD,EAAiB;AAC3D,SAAO,CAAC,0BAAD,EAA6BA,GAA7B,CAAP;AACD,CAFM","sourcesContent":["export const getBnpProductOffersKey = (sku: string) => {\n return ['product-bnp-offers', sku]\n}\n\nexport const getUniCreditProductOffersKey = (sku: string) => {\n return ['product-unicredit-offers', sku]\n}\n"],"file":"keys.js"}
@@ -9,4 +9,12 @@ Object.keys(_useBnpOffersQuery).forEach(function (key) {
9
9
  if (key in exports && exports[key] === _useBnpOffersQuery[key]) return;
10
10
  exports[key] = _useBnpOffersQuery[key];
11
11
  });
12
+
13
+ var _useUniCreditOffersQuery = require("./useUniCreditOffersQuery");
14
+
15
+ Object.keys(_useUniCreditOffersQuery).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (key in exports && exports[key] === _useUniCreditOffersQuery[key]) return;
18
+ exports[key] = _useUniCreditOffersQuery[key];
19
+ });
12
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/product/api/queries/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useBnpOffersQuery'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/product/api/queries/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useBnpOffersQuery'\nexport * from './useUniCreditOffersQuery'\n"],"file":"index.js"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useUniCreditOffersQuery = 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 _keys = require("../keys");
17
+
18
+ var useUniCreditOffersQuery = function useUniCreditOffersQuery(_ref) {
19
+ var sku = _ref.sku,
20
+ _ref$downPaymentCentA = _ref.downPaymentCentAmount,
21
+ downPaymentCentAmount = _ref$downPaymentCentA === void 0 ? 0 : _ref$downPaymentCentA;
22
+ return (0, _reactQuery.useQuery)((0, _keys.getUniCreditProductOffersKey)(sku), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ return _regenerator["default"].wrap(function _callee$(_context) {
24
+ while (1) {
25
+ switch (_context.prev = _context.next) {
26
+ case 0:
27
+ _context.next = 2;
28
+ return (0, _sdk.MyPaymentsUnicreditCalculateForSKU)(sku, {
29
+ downPaymentCentAmount: downPaymentCentAmount
30
+ });
31
+
32
+ case 2:
33
+ return _context.abrupt("return", _context.sent);
34
+
35
+ case 3:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }
40
+ }, _callee);
41
+ })));
42
+ };
43
+
44
+ exports.useUniCreditOffersQuery = useUniCreditOffersQuery;
45
+ //# sourceMappingURL=useUniCreditOffersQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/product/api/queries/useUniCreditOffersQuery.ts"],"names":["useUniCreditOffersQuery","sku","downPaymentCentAmount"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AAEO,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,OAMjC;AAAA,MALJC,GAKI,QALJA,GAKI;AAAA,mCAJJC,qBAII;AAAA,MAJJA,qBAII,sCAJoB,CAIpB;AACJ,SAAO,0BACL,wCAA6BD,GAA7B,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACQ,6CAAmCA,GAAnC,EAAwC;AAC5CC,cAAAA,qBAAqB,EAArBA;AAD4C,aAAxC,CADR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFK,GAAP;AAOD,CAdM","sourcesContent":["import React from 'react'\nimport { useQuery } from 'react-query'\nimport { MyPaymentsUnicreditCalculateForSKU } from '@sentecacommerce/sdk'\nimport { getUniCreditProductOffersKey } from '../keys'\n\nexport const useUniCreditOffersQuery = ({\n sku,\n downPaymentCentAmount = 0,\n}: {\n sku: string\n downPaymentCentAmount?: number\n}) => {\n return useQuery(\n getUniCreditProductOffersKey(sku),\n async () =>\n await MyPaymentsUnicreditCalculateForSKU(sku, {\n downPaymentCentAmount,\n })\n )\n}\n"],"file":"useUniCreditOffersQuery.js"}
@@ -9,4 +9,12 @@ Object.keys(_useBnpOffers).forEach(function (key) {
9
9
  if (key in exports && exports[key] === _useBnpOffers[key]) return;
10
10
  exports[key] = _useBnpOffers[key];
11
11
  });
12
+
13
+ var _useUniCreditOffers = require("./useUniCreditOffers");
14
+
15
+ Object.keys(_useUniCreditOffers).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (key in exports && exports[key] === _useUniCreditOffers[key]) return;
18
+ exports[key] = _useUniCreditOffers[key];
19
+ });
12
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/product/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useBnpOffers'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/product/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useBnpOffers'\nexport * from './useUniCreditOffers'\n"],"file":"index.js"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useUniCreditOffers = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = require("react");
11
+
12
+ var _queries = require("../api/queries");
13
+
14
+ var _index = require("../../index");
15
+
16
+ var useUniCreditOffers = function useUniCreditOffers(props) {
17
+ var _useConfigState, _useConfigState$price, _response$data2, _response$data2$;
18
+
19
+ var configLocale = (_useConfigState = (0, _index.useConfigState)()) == null ? void 0 : (_useConfigState$price = _useConfigState.price) == null ? void 0 : _useConfigState$price.locale;
20
+ var response = (0, _queries.useUniCreditOffersQuery)(props);
21
+ return (0, _react.useMemo)(function () {
22
+ var _response$data, _response$data$, _response$data$$offer;
23
+
24
+ return (0, _extends2["default"])({}, response, {
25
+ data: response == null ? void 0 : (_response$data = response.data) == null ? void 0 : (_response$data$ = _response$data[0]) == null ? void 0 : (_response$data$$offer = _response$data$.offers) == null ? void 0 : _response$data$$offer.map(function (offer) {
26
+ var _totalRepaymentAmount = (0, _index.decodePrice)(offer.totalRepaymentAmount);
27
+
28
+ var _correctDownPaymentAmount = (0, _index.decodePrice)(offer.correctDownPaymentAmount);
29
+
30
+ var _installmentAmount = (0, _index.decodePrice)(offer.installmentAmount);
31
+
32
+ var _processingFeeAmount = (0, _index.decodePrice)(offer.processingFeeAmount);
33
+
34
+ var totalRepaymentAmount = (0, _index.formatAsCurrency)({
35
+ price: _totalRepaymentAmount,
36
+ precision: offer.totalRepaymentAmount.fractionDigits,
37
+ currency: offer.totalRepaymentAmount.currencyCode,
38
+ locale: configLocale || 'en'
39
+ });
40
+ var correctDownPaymentAmount = (0, _index.formatAsCurrency)({
41
+ price: _correctDownPaymentAmount,
42
+ precision: offer.correctDownPaymentAmount.fractionDigits,
43
+ currency: offer.correctDownPaymentAmount.currencyCode,
44
+ locale: configLocale || 'en'
45
+ });
46
+ var installmentAmount = (0, _index.formatAsCurrency)({
47
+ price: _installmentAmount,
48
+ precision: offer.installmentAmount.fractionDigits,
49
+ currency: offer.installmentAmount.currencyCode,
50
+ locale: configLocale || 'en'
51
+ });
52
+ var processingFeeAmount = (0, _index.formatAsCurrency)({
53
+ price: _processingFeeAmount,
54
+ precision: offer.processingFeeAmount.fractionDigits,
55
+ currency: offer.processingFeeAmount.currencyCode,
56
+ locale: configLocale || 'en'
57
+ });
58
+ return (0, _extends2["default"])({}, offer, {
59
+ totalRepaymentAmount: totalRepaymentAmount,
60
+ correctDownPaymentAmount: correctDownPaymentAmount,
61
+ installmentAmount: installmentAmount,
62
+ processingFeeAmount: processingFeeAmount
63
+ });
64
+ }).sort(function (offer, offer2) {
65
+ return Number(offer.maturity) - Number(offer2.maturity);
66
+ })
67
+ });
68
+ }, [response == null ? void 0 : (_response$data2 = response.data) == null ? void 0 : (_response$data2$ = _response$data2[0]) == null ? void 0 : _response$data2$.offers]);
69
+ };
70
+
71
+ exports.useUniCreditOffers = useUniCreditOffers;
72
+ //# sourceMappingURL=useUniCreditOffers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/product/hooks/useUniCreditOffers.ts"],"names":["useUniCreditOffers","props","configLocale","price","locale","response","data","offers","map","offer","_totalRepaymentAmount","totalRepaymentAmount","_correctDownPaymentAmount","correctDownPaymentAmount","_installmentAmount","installmentAmount","_processingFeeAmount","processingFeeAmount","precision","fractionDigits","currency","currencyCode","sort","offer2","Number","maturity"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAG5B;AAAA;;AACJ,MAAMC,YAAoB,sBAAG,4BAAH,8CAAG,gBAAkBC,KAArB,qBAAG,sBAAyBC,MAAtD;AACA,MAAMC,QAAQ,GAAG,sCAAwBJ,KAAxB,CAAjB;AAEA,SAAO,oBACL;AAAA;;AAAA,yCACKI,QADL;AAEEC,MAAAA,IAAI,EAAED,QAAF,sCAAEA,QAAQ,CAAEC,IAAZ,wCAAE,eAAiB,CAAjB,CAAF,8CAAE,gBAAqBC,MAAvB,qBAAE,sBACFC,GADE,CACE,UAACC,KAAD,EAAW;AACf,YAAMC,qBAAqB,GAAG,wBAAYD,KAAK,CAACE,oBAAlB,CAA9B;;AACA,YAAMC,yBAAyB,GAAG,wBAChCH,KAAK,CAACI,wBAD0B,CAAlC;;AAGA,YAAMC,kBAAkB,GAAG,wBAAYL,KAAK,CAACM,iBAAlB,CAA3B;;AACA,YAAMC,oBAAoB,GAAG,wBAAYP,KAAK,CAACQ,mBAAlB,CAA7B;;AAEA,YAAMN,oBAAoB,GAAG,6BAAiB;AAC5CR,UAAAA,KAAK,EAAEO,qBADqC;AAE5CQ,UAAAA,SAAS,EAAET,KAAK,CAACE,oBAAN,CAA2BQ,cAFM;AAG5CC,UAAAA,QAAQ,EAAEX,KAAK,CAACE,oBAAN,CAA2BU,YAHO;AAI5CjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJoB,SAAjB,CAA7B;AAOA,YAAMW,wBAAwB,GAAG,6BAAiB;AAChDV,UAAAA,KAAK,EAAES,yBADyC;AAEhDM,UAAAA,SAAS,EAAET,KAAK,CAACI,wBAAN,CAA+BM,cAFM;AAGhDC,UAAAA,QAAQ,EAAEX,KAAK,CAACI,wBAAN,CAA+BQ,YAHO;AAIhDjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJwB,SAAjB,CAAjC;AAOA,YAAMa,iBAAiB,GAAG,6BAAiB;AACzCZ,UAAAA,KAAK,EAAEW,kBADkC;AAEzCI,UAAAA,SAAS,EAAET,KAAK,CAACM,iBAAN,CAAwBI,cAFM;AAGzCC,UAAAA,QAAQ,EAAEX,KAAK,CAACM,iBAAN,CAAwBM,YAHO;AAIzCjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJiB,SAAjB,CAA1B;AAOA,YAAMe,mBAAmB,GAAG,6BAAiB;AAC3Cd,UAAAA,KAAK,EAAEa,oBADoC;AAE3CE,UAAAA,SAAS,EAAET,KAAK,CAACQ,mBAAN,CAA0BE,cAFM;AAG3CC,UAAAA,QAAQ,EAAEX,KAAK,CAACQ,mBAAN,CAA0BI,YAHO;AAI3CjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJmB,SAAjB,CAA5B;AAOA,6CACKO,KADL;AAEEE,UAAAA,oBAAoB,EAApBA,oBAFF;AAGEE,UAAAA,wBAAwB,EAAxBA,wBAHF;AAIEE,UAAAA,iBAAiB,EAAjBA,iBAJF;AAKEE,UAAAA,mBAAmB,EAAnBA;AALF;AAOD,OA5CG,EA6CHK,IA7CG,CA8CF,UAACb,KAAD,EAAQc,MAAR;AAAA,eAAmBC,MAAM,CAACf,KAAK,CAACgB,QAAP,CAAN,GAAyBD,MAAM,CAACD,MAAM,CAACE,QAAR,CAAlD;AAAA,OA9CE;AAFR;AAAA,GADK,EAoDL,CAACpB,QAAD,uCAACA,QAAQ,CAAEC,IAAX,yCAAC,gBAAiB,CAAjB,CAAD,qBAAC,iBAAqBC,MAAtB,CApDK,CAAP;AAsDD,CA7DM","sourcesContent":["import React, { useMemo } from 'react'\nimport { useUniCreditOffersQuery } from '../api/queries'\nimport { decodePrice, formatAsCurrency, useConfigState } from '../../index'\n\nexport const useUniCreditOffers = (props: {\n sku: string\n downPaymentCentAmount?: number\n}) => {\n const configLocale: string = useConfigState()?.price?.locale\n const response = useUniCreditOffersQuery(props)\n\n return useMemo(\n () => ({\n ...response,\n data: response?.data?.[0]?.offers\n ?.map((offer) => {\n const _totalRepaymentAmount = decodePrice(offer.totalRepaymentAmount)\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 totalRepaymentAmount,\n correctDownPaymentAmount,\n installmentAmount,\n processingFeeAmount,\n }\n })\n .sort(\n (offer, offer2) => Number(offer.maturity) - Number(offer2.maturity)\n ),\n }),\n [response?.data?.[0]?.offers]\n )\n}\n"],"file":"useUniCreditOffers.js"}
@@ -1,4 +1,5 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _extends from "@babel/runtime/helpers/extends";
2
3
  import { MyOrdersAPI } from '@sentecacommerce/sdk';
3
4
  import { getSDKConfig } from '../getSDKConfig';
4
5
  import { useMutation, useQueryCache, useQuery, useInfiniteQuery } from 'react-query';
@@ -20,7 +21,7 @@ export var MyOrdersApiFactory = function () {
20
21
 
21
22
  var queryCache = useQueryCache();
22
23
  var [syncBasket] = myCartApi.useSync();
23
- return useMutation(() => myOrdersApi.create({}, meta), {
24
+ return useMutation(orderObj => myOrdersApi.create({}, _extends({}, meta, orderObj)), {
24
25
  onSuccess: function (_onSuccess) {
25
26
  function onSuccess(_x) {
26
27
  return _onSuccess.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/api/myOrdersApi/index.ts"],"names":["MyOrdersAPI","getSDKConfig","useMutation","useQueryCache","useQuery","useInfiniteQuery","myCartApi","myCartCacheKeys","MyOrdersApiFactory","instance","initialise","myOrdersApi","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","syncBasket","useSync","create","data","setQueryData","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":";AAAA,SACEA,WADF,QAKO,sBALP;AAMA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SACEC,WADF,EAGEC,aAHF,EAIEC,QAJF,EAOEC,gBAPF,QAQO,aARP;AAUA,SAASC,SAAT,EAAoBC,eAApB,QAA2C,cAA3C;AAeA,OAAO,IAAMC,kBAAkB,GAAI,YAAY;AAC7C,MAAIC,QAAJ;;AAEA,WAASC,UAAT,GAAiD;AAC/C,QAAMC,WAAW,GAAG,IAAIX,WAAJ,CAAgBC,YAAY,EAA5B,CAApB;AAEA,QAAMW,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,GAAGlB,aAAa,EAAhC;AACA,YAAM,CAACmB,UAAD,IAAehB,SAAS,CAACiB,OAAV,EAArB;AAEA,eAAOrB,WAAW,CAAC,MAAMS,WAAW,CAACa,MAAZ,CAAmB,EAAnB,EAAuBN,IAAvB,CAAP,EAAqC;AACrDC,UAAAA,SAAS;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAGM,IAAD,IAAU;AACnBJ,YAAAA,UAAU,CAACK,YAAX,CAAwBnB,eAAe,CAACM,MAAxC,EAAgDY,IAAhD;AACAJ,YAAAA,UAAU,CAACM,iBAAX,CAA6BpB,eAAe,CAACqB,aAA7C;AACAN,YAAAA,UAAU;;AACV,gBAAI,OAAOH,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,cAAAA,SAAS,CAACM,IAAD,CAAT;AACD;AACF,WAPQ,CAD4C;AASrDL,UAAAA,OAAO;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAGS,KAAD,IAAW;AAClB,gBAAI,OAAOT,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,cAAAA,OAAO,CAACS,KAAD,CAAP;AACD;AACF,WAJM;AAT8C,SAArC,CAAlB;AAeD,OApBkB;AAqBnBC,MAAAA,UAAU,EAAGC,EAAD,IAAQ;AAClB,eAAO3B,QAAQ,CACb,CAACQ,SAAS,CAACC,MAAX,EAAmBkB,EAAnB,CADa,iCAEb;AAAA,iBAAYpB,WAAW,CAACqB,OAAZ,CAAoBD,EAApB,CAAZ;AAAA,SAFa,GAGb;AACEE,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE,KAFxB;AAGEC,UAAAA,OAAO,EAAEC,OAAO,CAACL,EAAD;AAHlB,SAHa,CAAf;AASD,OA/BkB;AAgCnBjB,MAAAA,SAAS,EAAGuB,KAAD,IAAiD;AAC1D,eAAOhC,gBAAgB,CACrB,CAACO,SAAS,CAACE,SAAX,CADqB,iCAErB;AAAA,iBAAYH,WAAW,CAAC2B,MAAZ,CAAmBD,KAAnB,CAAZ;AAAA,SAFqB,GAGrB;AACEJ,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE;AAFxB,SAHqB,CAAvB;AAQD;AAzCkB,KAAd,CAAP;AA2CD;;AAED,SAAO;AACLK,IAAAA,WAAW,EAAE,uBAAY;AACvB,UAAI,CAAC9B,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAGC,UAAU,EAArB;AACD;;AAED,aAAOD,QAAP;AACD;AAPI,GAAP;AASD,CAjEiC,EAA3B;AAmEP,OAAO,IAAME,WAAW,GAAGH,kBAAkB,CAAC+B,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":["MyOrdersAPI","getSDKConfig","useMutation","useQueryCache","useQuery","useInfiniteQuery","myCartApi","myCartCacheKeys","MyOrdersApiFactory","instance","initialise","myOrdersApi","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","syncBasket","useSync","orderObj","create","data","setQueryData","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":";;AAAA,SACEA,WADF,QAKO,sBALP;AAMA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SACEC,WADF,EAGEC,aAHF,EAIEC,QAJF,EAOEC,gBAPF,QAQO,aARP;AAUA,SAASC,SAAT,EAAoBC,eAApB,QAA2C,cAA3C;AAeA,OAAO,IAAMC,kBAAkB,GAAI,YAAY;AAC7C,MAAIC,QAAJ;;AAEA,WAASC,UAAT,GAAiD;AAC/C,QAAMC,WAAW,GAAG,IAAIX,WAAJ,CAAgBC,YAAY,EAA5B,CAApB;AAEA,QAAMW,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,GAAGlB,aAAa,EAAhC;AACA,YAAM,CAACmB,UAAD,IAAehB,SAAS,CAACiB,OAAV,EAArB;AAEA,eAAOrB,WAAW,CACfsB,QAAD,IACEb,WAAW,CAACc,MAAZ,CAAmB,EAAnB,eAA4BP,IAA5B,EAAqCM,QAArC,EAFc,EAGhB;AACEL,UAAAA,SAAS;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAGO,IAAD,IAAU;AACnBL,YAAAA,UAAU,CAACM,YAAX,CAAwBpB,eAAe,CAACM,MAAxC,EAAgDa,IAAhD;AACAL,YAAAA,UAAU,CAACO,iBAAX,CAA6BrB,eAAe,CAACsB,aAA7C;AACAP,YAAAA,UAAU;;AACV,gBAAI,OAAOH,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,cAAAA,SAAS,CAACO,IAAD,CAAT;AACD;AACF,WAPQ,CADX;AASEN,UAAAA,OAAO;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAGU,KAAD,IAAW;AAClB,gBAAI,OAAOV,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,cAAAA,OAAO,CAACU,KAAD,CAAP;AACD;AACF,WAJM;AATT,SAHgB,CAAlB;AAmBD,OAxBkB;AAyBnBC,MAAAA,UAAU,EAAGC,EAAD,IAAQ;AAClB,eAAO5B,QAAQ,CACb,CAACQ,SAAS,CAACC,MAAX,EAAmBmB,EAAnB,CADa,iCAEb;AAAA,iBAAYrB,WAAW,CAACsB,OAAZ,CAAoBD,EAApB,CAAZ;AAAA,SAFa,GAGb;AACEE,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE,KAFxB;AAGEC,UAAAA,OAAO,EAAEC,OAAO,CAACL,EAAD;AAHlB,SAHa,CAAf;AASD,OAnCkB;AAoCnBlB,MAAAA,SAAS,EAAGwB,KAAD,IAAiD;AAC1D,eAAOjC,gBAAgB,CACrB,CAACO,SAAS,CAACE,SAAX,CADqB,iCAErB;AAAA,iBAAYH,WAAW,CAAC4B,MAAZ,CAAmBD,KAAnB,CAAZ;AAAA,SAFqB,GAGrB;AACEJ,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE;AAFxB,SAHqB,CAAvB;AAQD;AA7CkB,KAAd,CAAP;AA+CD;;AAED,SAAO;AACLK,IAAAA,WAAW,EAAE,uBAAY;AACvB,UAAI,CAAC/B,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAGC,UAAU,EAArB;AACD;;AAED,aAAOD,QAAP;AACD;AAPI,GAAP;AASD,CArEiC,EAA3B;AAuEP,OAAO,IAAME,WAAW,GAAGH,kBAAkB,CAACgC,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"}
@@ -8,4 +8,7 @@ export var getVerifyBoricaResponseKey = order => {
8
8
  export var getBnpLoanCalculatorKey = preferredInstallmentCentAmount => {
9
9
  return ['bnp-loan-calculator', preferredInstallmentCentAmount];
10
10
  };
11
+ export var getUniCreditLoanCalculatorKey = downPaymentCentAmount => {
12
+ return ['uni-credit-calculator', downPaymentCentAmount];
13
+ };
11
14
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/checkout/api/keys.ts"],"names":["CheckoutQueryKeysEnum","getVerifyBoricaResponseKey","order","getBnpLoanCalculatorKey","preferredInstallmentCentAmount"],"mappings":"AAAA,WAAYA,qBAAZ;;WAAYA,qB,MAAAA,qB,KAAAA,qB;;AAEZ,OAAO,IAAMC,0BAA0B,GAAIC,KAAD,IAAmB;AAC3D,yCAAqCA,KAArC;AACD,CAFM;AAIP,OAAO,IAAMC,uBAAuB,GAClCC,8BADqC,IAElC;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":"AAAA,WAAYA,qBAAZ;;WAAYA,qB,MAAAA,qB,KAAAA,qB;;AAEZ,OAAO,IAAMC,0BAA0B,GAAIC,KAAD,IAAmB;AAC3D,yCAAqCA,KAArC;AACD,CAFM;AAIP,OAAO,IAAMC,uBAAuB,GAClCC,8BADqC,IAElC;AACH,SAAO,CAAC,qBAAD,EAAwBA,8BAAxB,CAAP;AACD,CAJM;AAMP,OAAO,IAAMC,6BAA6B,GACxCC,qBAD2C,IAExC;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"}
@@ -1,3 +1,4 @@
1
1
  export * from './useVerifyBoricaResponseQuery';
2
2
  export * from './useBnpCalculateForCartQuery';
3
+ export * from './useUniCreditCalculateForCartQuery';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/checkout/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAd;AACA,cAAc,+BAAd","sourcesContent":["export * from './useVerifyBoricaResponseQuery'\nexport * from './useBnpCalculateForCartQuery'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/checkout/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAd;AACA,cAAc,+BAAd;AACA,cAAc,qCAAd","sourcesContent":["export * from './useVerifyBoricaResponseQuery'\nexport * from './useBnpCalculateForCartQuery'\nexport * from './useUniCreditCalculateForCartQuery'\n"],"file":"index.js"}
@@ -0,0 +1,10 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { useQuery } from 'react-query';
3
+ import { MyPaymentsUnicreditCalculateLoanOrder } from '@sentecacommerce/sdk';
4
+ import { getUniCreditLoanCalculatorKey } from '../../..';
5
+ export var useUniCreditCalculateForCartQuery = props => {
6
+ return useQuery(getUniCreditLoanCalculatorKey(props.downPaymentCentAmount), /*#__PURE__*/_asyncToGenerator(function* () {
7
+ return yield MyPaymentsUnicreditCalculateLoanOrder(props);
8
+ }));
9
+ };
10
+ //# sourceMappingURL=useUniCreditCalculateForCartQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/checkout/api/queries/useUniCreditCalculateForCartQuery.ts"],"names":["useQuery","MyPaymentsUnicreditCalculateLoanOrder","getUniCreditLoanCalculatorKey","useUniCreditCalculateForCartQuery","props","downPaymentCentAmount"],"mappings":";AACA,SAASA,QAAT,QAAyB,aAAzB;AACA,SAASC,qCAAT,QAAsD,sBAAtD;AACA,SAASC,6BAAT,QAA8C,UAA9C;AAEA,OAAO,IAAMC,iCAAiC,GAAIC,KAAD,IAE3C;AACJ,SAAOJ,QAAQ,CACbE,6BAA6B,CAACE,KAAK,CAACC,qBAAP,CADhB,iCAEb;AAAA,iBAAkBJ,qCAAqC,CAACG,KAAD,CAAvD;AAAA,GAFa,EAAf;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,17 @@
1
+ import React, { createContext, useContext } from 'react';
2
+ var UniCreditResponseContext = /*#__PURE__*/createContext({});
3
+ export var UniCreditResponseProvider = (_ref) => {
4
+ var {
5
+ children,
6
+ response
7
+ } = _ref;
8
+ return /*#__PURE__*/React.createElement(UniCreditResponseContext.Provider, {
9
+ value: response
10
+ }, children);
11
+ };
12
+ export var useUniCreditResponse = () => {
13
+ var context = useContext(UniCreditResponseContext);
14
+ if (!context) throw new Error('useUniCreditResponse hook must be within UniCreditResponseProvider');
15
+ return context;
16
+ };
17
+ //# sourceMappingURL=UniCreditResponseContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/checkout/contexts/UniCreditResponseContext.tsx"],"names":["React","createContext","useContext","UniCreditResponseContext","UniCreditResponseProvider","children","response","useUniCreditResponse","context","Error"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,aAAhB,EAA+BC,UAA/B,QAAiD,OAAjD;AAGA,IAAMC,wBAAwB,gBAAGF,aAAa,CAAW,EAAX,CAA9C;AAEA,OAAO,IAAMG,yBAAyB,GAAG,UAMnC;AAAA,MANoC;AACxCC,IAAAA,QADwC;AAExCC,IAAAA;AAFwC,GAMpC;AACJ,sBACE,oBAAC,wBAAD,CAA0B,QAA1B;AAAmC,IAAA,KAAK,EAAEA;AAA1C,KACGD,QADH,CADF;AAKD,CAZM;AAcP,OAAO,IAAME,oBAAoB,GAAG,MAAM;AACxC,MAAMC,OAAO,GAAGN,UAAU,CAACC,wBAAD,CAA1B;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"}
@@ -1,3 +1,4 @@
1
1
  export * from './BoricaResponseContext';
2
2
  export * from './PaypalResponseContext';
3
+ export * from './UniCreditResponseContext';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/checkout/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAd;AACA,cAAc,yBAAd","sourcesContent":["export * from './BoricaResponseContext'\nexport * from './PaypalResponseContext'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/checkout/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd","sourcesContent":["export * from './BoricaResponseContext'\nexport * from './PaypalResponseContext'\nexport * from './UniCreditResponseContext'\n"],"file":"index.js"}