@sentecacommerce-theme/lib 0.13.5-alpha.1 → 0.13.5-alpha.9

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 (126) hide show
  1. package/dist/cjs/api/myCartApi/index.js +2 -1
  2. package/dist/cjs/basket/api/index.js +37 -0
  3. package/dist/cjs/basket/api/mutations/index.js +37 -0
  4. package/dist/cjs/basket/api/mutations/useReplaceBasketMutation.js +58 -0
  5. package/dist/cjs/basket/hooks/index.js +52 -0
  6. package/dist/cjs/basket/hooks/useBasketCrossSaleItems.js +99 -0
  7. package/dist/cjs/basket/hooks/useReplaceBasket.js +10 -0
  8. package/dist/cjs/basket/index.js +37 -0
  9. package/dist/cjs/checkout/api/keys.js +8 -1
  10. package/dist/cjs/checkout/api/queries/index.js +15 -0
  11. package/dist/cjs/checkout/api/queries/useBnpCalculateForCartQuery.js +60 -0
  12. package/dist/cjs/checkout/hooks/index.js +15 -0
  13. package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js +120 -0
  14. package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js +7 -2
  15. package/dist/cjs/contexts/CheckoutForm/index.js +5 -3
  16. package/dist/cjs/hooks/useLineItem/index.js +7 -0
  17. package/dist/cjs/hooks/useProduct/index.js +26 -5
  18. package/dist/cjs/hooks/useProduct/utils/index.js +14 -1
  19. package/dist/cjs/index.js +24 -0
  20. package/dist/cjs/listing/api/queries/useAggregateQuery.js +40 -5
  21. package/dist/cjs/listing/hooks/useListingConfig.js +2 -1
  22. package/dist/cjs/listing/hooks/useListingFilters.js +2 -2
  23. package/dist/cjs/listing/types.js +8 -1
  24. package/dist/cjs/listing/utils/buildCategoryQuery.js +11 -6
  25. package/dist/cjs/order/api/mutations/index.js +15 -0
  26. package/dist/cjs/order/api/mutations/useUpdateOrderCustomFieldMutation.js +15 -0
  27. package/dist/cjs/order/hooks/index.js +15 -0
  28. package/dist/cjs/order/hooks/useUpdateOrderCustomField.js +9 -0
  29. package/dist/cjs/product/api/keys.js +11 -0
  30. package/dist/cjs/product/api/queries/index.js +37 -0
  31. package/dist/cjs/product/api/queries/useBnpOffersQuery.js +64 -0
  32. package/dist/cjs/product/hooks/index.js +37 -0
  33. package/dist/cjs/product/hooks/useBnpOffers.js +112 -0
  34. package/dist/cjs/product/index.js +15 -0
  35. package/dist/cjs/user/api/queries/index.js +15 -0
  36. package/dist/cjs/user/api/queries/useGetMyLoyaltyCardQuery.js +21 -0
  37. package/dist/cjs/user/api/utils/getUserToken.js +16 -0
  38. package/dist/cjs/user/api/utils/index.js +12 -0
  39. package/dist/cjs/user/hooks/index.js +24 -0
  40. package/dist/cjs/user/hooks/useGetMyLoyaltyCard.js +9 -0
  41. package/dist/cjs/user/hooks/useGetUserToken.js +15 -0
  42. package/dist/esm/api/myCartApi/index.js +2 -1
  43. package/dist/esm/basket/api/index.js +1 -0
  44. package/dist/esm/basket/api/mutations/index.js +1 -0
  45. package/dist/esm/basket/api/mutations/useReplaceBasketMutation.js +48 -0
  46. package/dist/esm/basket/hooks/index.js +2 -0
  47. package/dist/esm/basket/hooks/useBasketCrossSaleItems.js +67 -0
  48. package/dist/esm/basket/hooks/useReplaceBasket.js +2 -0
  49. package/dist/esm/basket/index.js +1 -0
  50. package/dist/esm/checkout/api/keys.js +6 -0
  51. package/dist/esm/checkout/api/queries/index.js +1 -0
  52. package/dist/esm/checkout/api/queries/useBnpCalculateForCartQuery.js +50 -0
  53. package/dist/esm/checkout/hooks/index.js +1 -0
  54. package/dist/esm/checkout/hooks/useBnpCalculateForCart.js +92 -0
  55. package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js +7 -2
  56. package/dist/esm/contexts/CheckoutForm/index.js +5 -3
  57. package/dist/esm/hooks/useLineItem/index.js +2 -0
  58. package/dist/esm/hooks/useProduct/index.js +27 -6
  59. package/dist/esm/hooks/useProduct/utils/index.js +13 -0
  60. package/dist/esm/index.js +4 -0
  61. package/dist/esm/listing/api/queries/useAggregateQuery.js +40 -5
  62. package/dist/esm/listing/hooks/useListingConfig.js +2 -1
  63. package/dist/esm/listing/hooks/useListingFilters.js +2 -2
  64. package/dist/esm/listing/types.js +7 -0
  65. package/dist/esm/listing/utils/buildCategoryQuery.js +11 -6
  66. package/dist/esm/order/api/mutations/index.js +1 -0
  67. package/dist/esm/order/api/mutations/useUpdateOrderCustomFieldMutation.js +10 -0
  68. package/dist/esm/order/hooks/index.js +1 -0
  69. package/dist/esm/order/hooks/useUpdateOrderCustomField.js +4 -0
  70. package/dist/esm/product/api/keys.js +6 -0
  71. package/dist/esm/product/api/queries/index.js +1 -0
  72. package/dist/esm/product/api/queries/useBnpOffersQuery.js +54 -0
  73. package/dist/esm/product/hooks/index.js +1 -0
  74. package/dist/esm/product/hooks/useBnpOffers.js +84 -0
  75. package/dist/esm/product/index.js +1 -0
  76. package/dist/esm/user/api/queries/index.js +1 -0
  77. package/dist/esm/user/api/queries/useGetMyLoyaltyCardQuery.js +16 -0
  78. package/dist/esm/user/api/utils/getUserToken.js +6 -0
  79. package/dist/esm/user/api/utils/index.js +1 -0
  80. package/dist/esm/user/hooks/index.js +2 -0
  81. package/dist/esm/user/hooks/useGetMyLoyaltyCard.js +4 -0
  82. package/dist/esm/user/hooks/useGetUserToken.js +5 -0
  83. package/dist/types/api/myCartApi/index.d.ts +1 -0
  84. package/dist/types/basket/api/index.d.ts +1 -0
  85. package/dist/types/basket/api/mutations/index.d.ts +1 -0
  86. package/dist/types/basket/api/mutations/useReplaceBasketMutation.d.ts +2 -0
  87. package/dist/types/basket/hooks/index.d.ts +2 -0
  88. package/dist/types/basket/hooks/useBasketCrossSaleItems.d.ts +9 -0
  89. package/dist/types/basket/hooks/useReplaceBasket.d.ts +2 -0
  90. package/dist/types/basket/index.d.ts +1 -0
  91. package/dist/types/checkout/api/keys.d.ts +1 -0
  92. package/dist/types/checkout/api/queries/index.d.ts +1 -0
  93. package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +4 -0
  94. package/dist/types/checkout/hooks/index.d.ts +1 -0
  95. package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +39 -0
  96. package/dist/types/contexts/CheckoutForm/hooks/usePayment/index.d.ts +2 -0
  97. package/dist/types/contexts/CheckoutForm/index.d.ts +2 -1
  98. package/dist/types/hooks/basket-hooks/useBasketItemList/index.d.ts +1 -0
  99. package/dist/types/hooks/order-hooks/api/queries/useOrderGetPaymentMethodQuery.d.ts +1 -16
  100. package/dist/types/hooks/order-hooks/useReferralOrders/index.d.ts +1 -0
  101. package/dist/types/hooks/useLineItem/index.d.ts +2 -2
  102. package/dist/types/hooks/useProduct/index.d.ts +1 -0
  103. package/dist/types/hooks/useProduct/utils/index.d.ts +1 -0
  104. package/dist/types/index.d.ts +3 -0
  105. package/dist/types/listing/api/queries/useAggregateQuery.d.ts +4 -3
  106. package/dist/types/listing/types.d.ts +5 -0
  107. package/dist/types/order/api/mutations/index.d.ts +1 -0
  108. package/dist/types/order/api/mutations/useUpdateCustomLineItemMutation.d.ts +2 -5
  109. package/dist/types/order/api/mutations/useUpdateOrderCustomFieldMutation.d.ts +9 -0
  110. package/dist/types/order/hooks/index.d.ts +1 -0
  111. package/dist/types/order/hooks/useUpdateCustomLineItem.d.ts +2 -2
  112. package/dist/types/order/hooks/useUpdateOrderCustomField.d.ts +2 -0
  113. package/dist/types/product/api/keys.d.ts +1 -0
  114. package/dist/types/product/api/queries/index.d.ts +1 -0
  115. package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +5 -0
  116. package/dist/types/product/hooks/index.d.ts +1 -0
  117. package/dist/types/product/hooks/useBnpOffers.d.ts +37 -0
  118. package/dist/types/product/index.d.ts +1 -0
  119. package/dist/types/user/api/queries/index.d.ts +1 -0
  120. package/dist/types/user/api/queries/useGetMyLoyaltyCardQuery.d.ts +5 -0
  121. package/dist/types/user/api/utils/getUserToken.d.ts +1 -0
  122. package/dist/types/user/api/utils/index.d.ts +1 -0
  123. package/dist/types/user/hooks/index.d.ts +2 -0
  124. package/dist/types/user/hooks/useGetMyLoyaltyCard.d.ts +2 -0
  125. package/dist/types/user/hooks/useGetUserToken.d.ts +1 -0
  126. package/package.json +2 -2
@@ -1,9 +1,12 @@
1
1
  Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
+ var _exportNames = {
5
+ };
4
6
  var _api = _interopRequireWildcard(require("./api"));
5
7
  Object.keys(_api).forEach(function(key) {
6
8
  if (key === "default" || key === "__esModule") return;
9
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
7
10
  if (key in exports && exports[key] === _api[key]) return;
8
11
  Object.defineProperty(exports, key, {
9
12
  enumerable: true,
@@ -12,6 +15,18 @@ Object.keys(_api).forEach(function(key) {
12
15
  }
13
16
  });
14
17
  });
18
+ var _hooks = _interopRequireWildcard(require("./hooks"));
19
+ Object.keys(_hooks).forEach(function(key) {
20
+ if (key === "default" || key === "__esModule") return;
21
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
22
+ if (key in exports && exports[key] === _hooks[key]) return;
23
+ Object.defineProperty(exports, key, {
24
+ enumerable: true,
25
+ get: function() {
26
+ return _hooks[key];
27
+ }
28
+ });
29
+ });
15
30
  function _interopRequireWildcard(obj) {
16
31
  if (obj && obj.__esModule) {
17
32
  return obj;
@@ -1,9 +1,12 @@
1
1
  Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
+ var _exportNames = {
5
+ };
4
6
  var _useIsAuthenticatedQuery = _interopRequireWildcard(require("./useIsAuthenticatedQuery"));
5
7
  Object.keys(_useIsAuthenticatedQuery).forEach(function(key) {
6
8
  if (key === "default" || key === "__esModule") return;
9
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
7
10
  if (key in exports && exports[key] === _useIsAuthenticatedQuery[key]) return;
8
11
  Object.defineProperty(exports, key, {
9
12
  enumerable: true,
@@ -12,6 +15,18 @@ Object.keys(_useIsAuthenticatedQuery).forEach(function(key) {
12
15
  }
13
16
  });
14
17
  });
18
+ var _useGetMyLoyaltyCardQuery = _interopRequireWildcard(require("./useGetMyLoyaltyCardQuery"));
19
+ Object.keys(_useGetMyLoyaltyCardQuery).forEach(function(key) {
20
+ if (key === "default" || key === "__esModule") return;
21
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
22
+ if (key in exports && exports[key] === _useGetMyLoyaltyCardQuery[key]) return;
23
+ Object.defineProperty(exports, key, {
24
+ enumerable: true,
25
+ get: function() {
26
+ return _useGetMyLoyaltyCardQuery[key];
27
+ }
28
+ });
29
+ });
15
30
  function _interopRequireWildcard(obj) {
16
31
  if (obj && obj.__esModule) {
17
32
  return obj;
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.useGetMyLoyaltyCardQuery = void 0;
5
+ var _sdk = require("@sentecacommerce/sdk");
6
+ var _reactQuery = require("react-query");
7
+ var useGetMyLoyaltyCardQuery = function(callback) {
8
+ return (0, _reactQuery).useQuery('get-loyalty-card-key', function() {
9
+ return (0, _sdk).MyWalletGetByType('loyalty-program');
10
+ }, {
11
+ onSuccess: function() {
12
+ var ref;
13
+ return callback === null || callback === void 0 ? void 0 : (ref = callback.onSuccess) === null || ref === void 0 ? void 0 : ref.call(callback);
14
+ },
15
+ onError: function(err) {
16
+ var ref;
17
+ return callback === null || callback === void 0 ? void 0 : (ref = callback.onError) === null || ref === void 0 ? void 0 : ref.call(callback, err);
18
+ }
19
+ });
20
+ };
21
+ exports.useGetMyLoyaltyCardQuery = useGetMyLoyaltyCardQuery;
@@ -0,0 +1,16 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.getUserToken = void 0;
5
+ var _jsCookie = _interopRequireDefault(require("js-cookie"));
6
+ var _index = require("../../../index");
7
+ function _interopRequireDefault(obj) {
8
+ return obj && obj.__esModule ? obj : {
9
+ default: obj
10
+ };
11
+ }
12
+ var ref;
13
+ var getUserToken = function() {
14
+ return (ref = _jsCookie.default.get(_index.AUTH_TOKEN_KEY)) !== null && ref !== void 0 ? ref : _jsCookie.default.get(_index.ANONYMOUS_TOKEN_KEY);
15
+ };
16
+ exports.getUserToken = getUserToken;
@@ -51,6 +51,18 @@ Object.keys(_generateAnonymousToken).forEach(function(key) {
51
51
  }
52
52
  });
53
53
  });
54
+ var _getUserToken = _interopRequireWildcard(require("./getUserToken"));
55
+ Object.keys(_getUserToken).forEach(function(key) {
56
+ if (key === "default" || key === "__esModule") return;
57
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
58
+ if (key in exports && exports[key] === _getUserToken[key]) return;
59
+ Object.defineProperty(exports, key, {
60
+ enumerable: true,
61
+ get: function() {
62
+ return _getUserToken[key];
63
+ }
64
+ });
65
+ });
54
66
  function _interopRequireWildcard(obj) {
55
67
  if (obj && obj.__esModule) {
56
68
  return obj;
@@ -183,6 +183,30 @@ Object.keys(_useRequestEmailConfirmation).forEach(function(key) {
183
183
  }
184
184
  });
185
185
  });
186
+ var _useGetUserToken = _interopRequireWildcard(require("./useGetUserToken"));
187
+ Object.keys(_useGetUserToken).forEach(function(key) {
188
+ if (key === "default" || key === "__esModule") return;
189
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
190
+ if (key in exports && exports[key] === _useGetUserToken[key]) return;
191
+ Object.defineProperty(exports, key, {
192
+ enumerable: true,
193
+ get: function() {
194
+ return _useGetUserToken[key];
195
+ }
196
+ });
197
+ });
198
+ var _useGetMyLoyaltyCard = _interopRequireWildcard(require("./useGetMyLoyaltyCard"));
199
+ Object.keys(_useGetMyLoyaltyCard).forEach(function(key) {
200
+ if (key === "default" || key === "__esModule") return;
201
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
202
+ if (key in exports && exports[key] === _useGetMyLoyaltyCard[key]) return;
203
+ Object.defineProperty(exports, key, {
204
+ enumerable: true,
205
+ get: function() {
206
+ return _useGetMyLoyaltyCard[key];
207
+ }
208
+ });
209
+ });
186
210
  function _interopRequireWildcard(obj) {
187
211
  if (obj && obj.__esModule) {
188
212
  return obj;
@@ -0,0 +1,9 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.useGetMyLoyaltyCard = void 0;
5
+ var _api = require("../api");
6
+ var useGetMyLoyaltyCard = function(callback) {
7
+ return (0, _api).useGetMyLoyaltyCardQuery(callback);
8
+ };
9
+ exports.useGetMyLoyaltyCard = useGetMyLoyaltyCard;
@@ -0,0 +1,15 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.useGetUserToken = void 0;
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _api = require("../api");
7
+ function _interopRequireDefault(obj) {
8
+ return obj && obj.__esModule ? obj : {
9
+ default: obj
10
+ };
11
+ }
12
+ var useGetUserToken = function() {
13
+ return (0, _api).getUserToken();
14
+ };
15
+ exports.useGetUserToken = useGetUserToken;
@@ -42,7 +42,8 @@ export var myCartCacheKeys = {
42
42
  useGetShippingMethods: 'mycart-api-use-get-shippingmethods',
43
43
  useGetAllShippingMethods: 'mycart-api-use-get-all-shippingmethods',
44
44
  useGetPaymentMethods: 'mycart-api-use-get-paymentmethods',
45
- useIsExisting: 'mycart-api-is-existing'
45
+ useIsExisting: 'mycart-api-is-existing',
46
+ useGetCrossSaleItems: 'mycart-api-use-get-cross-sale-products'
46
47
  };
47
48
  var LineItemType1;
48
49
  (function(LineItemType) {
@@ -0,0 +1 @@
1
+ export * from './mutations';
@@ -0,0 +1 @@
1
+ export * from './useReplaceBasketMutation';
@@ -0,0 +1,48 @@
1
+ import regeneratorRuntime from "regenerator-runtime";
2
+ import React from 'react';
3
+ import { useMutation, useQueryCache } from 'react-query';
4
+ import { myCartCacheKeys } from '../../../index';
5
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
6
+ try {
7
+ var info = gen[key](arg);
8
+ var value = info.value;
9
+ } catch (error) {
10
+ reject(error);
11
+ return;
12
+ }
13
+ if (info.done) {
14
+ resolve(value);
15
+ } else {
16
+ Promise.resolve(value).then(_next, _throw);
17
+ }
18
+ }
19
+ function _asyncToGenerator(fn) {
20
+ return function() {
21
+ var self = this, args = arguments;
22
+ return new Promise(function(resolve, reject) {
23
+ var gen = fn.apply(self, args);
24
+ function _next(value) {
25
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
26
+ }
27
+ function _throw(err) {
28
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
29
+ }
30
+ _next(undefined);
31
+ });
32
+ };
33
+ }
34
+ export var useReplaceBasketMutation = function() {
35
+ var queryCache = useQueryCache();
36
+ return useMutation(_asyncToGenerator(regeneratorRuntime.mark(function _callee(newBasket) {
37
+ return regeneratorRuntime.wrap(function _callee$(_ctx) {
38
+ while(1)switch(_ctx.prev = _ctx.next){
39
+ case 0:
40
+ queryCache.setQueryData(myCartCacheKeys.useGet, newBasket);
41
+ queryCache.setQueryData(myCartCacheKeys.useGetCompact, newBasket.compact);
42
+ case 2:
43
+ case "end":
44
+ return _ctx.stop();
45
+ }
46
+ }, _callee);
47
+ })));
48
+ };
@@ -0,0 +1,2 @@
1
+ export * from './useReplaceBasket';
2
+ export * from './useBasketCrossSaleItems';
@@ -0,0 +1,67 @@
1
+ import regeneratorRuntime from "regenerator-runtime";
2
+ import React, { useMemo } from 'react';
3
+ import { useQuery } from 'react-query';
4
+ import { MyCartGetCrossSaleProducts } from '@sentecacommerce/sdk';
5
+ import { getTranslatableField } from '../../index';
6
+ import { myCartCacheKeys } from '../../index';
7
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
8
+ try {
9
+ var info = gen[key](arg);
10
+ var value = info.value;
11
+ } catch (error) {
12
+ reject(error);
13
+ return;
14
+ }
15
+ if (info.done) {
16
+ resolve(value);
17
+ } else {
18
+ Promise.resolve(value).then(_next, _throw);
19
+ }
20
+ }
21
+ function _asyncToGenerator(fn) {
22
+ return function() {
23
+ var self = this, args = arguments;
24
+ return new Promise(function(resolve, reject) {
25
+ var gen = fn.apply(self, args);
26
+ function _next(value) {
27
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
28
+ }
29
+ function _throw(err) {
30
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
31
+ }
32
+ _next(undefined);
33
+ });
34
+ };
35
+ }
36
+ export var useBasketCrossSaleItems = function() {
37
+ var crossSaleProducts = useQuery(myCartCacheKeys.useGetCrossSaleItems, _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
38
+ return regeneratorRuntime.wrap(function _callee$(_ctx) {
39
+ while(1)switch(_ctx.prev = _ctx.next){
40
+ case 0:
41
+ _ctx.next = 2;
42
+ return MyCartGetCrossSaleProducts();
43
+ case 2:
44
+ return _ctx.abrupt("return", _ctx.sent);
45
+ case 3:
46
+ case "end":
47
+ return _ctx.stop();
48
+ }
49
+ }, _callee);
50
+ })));
51
+ return useMemo(function() {
52
+ var ref;
53
+ return crossSaleProducts === null || crossSaleProducts === void 0 ? void 0 : (ref = crossSaleProducts.data) === null || ref === void 0 ? void 0 : ref.map(function(product) {
54
+ return {
55
+ name: getTranslatableField(product.name),
56
+ description: getTranslatableField(product.description),
57
+ slug: getTranslatableField(product.slug),
58
+ attributeRules: product.attributeRules,
59
+ attributes: product.attributes,
60
+ _id: product._id,
61
+ variants: product.variants
62
+ };
63
+ });
64
+ }, [
65
+ crossSaleProducts === null || crossSaleProducts === void 0 ? void 0 : crossSaleProducts.data
66
+ ]);
67
+ };
@@ -0,0 +1,2 @@
1
+ import { useReplaceBasketMutation } from '../api';
2
+ export { useReplaceBasketMutation as useReplaceBasket };
@@ -0,0 +1 @@
1
+ export * from './hooks';
@@ -5,3 +5,9 @@ export var CheckoutQueryKeysEnum;
5
5
  export var getVerifyBoricaResponseKey = function(order) {
6
6
  return "Borica Response for Order: ".concat(order);
7
7
  };
8
+ export var getBnpLoanCalculatorKey = function(preferredInstallmentCentAmount) {
9
+ return [
10
+ 'bnp-loan-calculator',
11
+ preferredInstallmentCentAmount
12
+ ];
13
+ };
@@ -1 +1,2 @@
1
1
  export * from './useVerifyBoricaResponseQuery';
2
+ export * from './useBnpCalculateForCartQuery';
@@ -0,0 +1,50 @@
1
+ import regeneratorRuntime from "regenerator-runtime";
2
+ import React from 'react';
3
+ import { useQuery } from 'react-query';
4
+ import { MyPaymentsBnpCalculateLoanOrder } from '@sentecacommerce/sdk';
5
+ import { getBnpLoanCalculatorKey } from '../keys';
6
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
7
+ try {
8
+ var info = gen[key](arg);
9
+ var value = info.value;
10
+ } catch (error) {
11
+ reject(error);
12
+ return;
13
+ }
14
+ if (info.done) {
15
+ resolve(value);
16
+ } else {
17
+ Promise.resolve(value).then(_next, _throw);
18
+ }
19
+ }
20
+ function _asyncToGenerator(fn) {
21
+ return function() {
22
+ var self = this, args = arguments;
23
+ return new Promise(function(resolve, reject) {
24
+ var gen = fn.apply(self, args);
25
+ function _next(value) {
26
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
27
+ }
28
+ function _throw(err) {
29
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
30
+ }
31
+ _next(undefined);
32
+ });
33
+ };
34
+ }
35
+ export var useBnpCalculateForCartQuery = function(props) {
36
+ return useQuery(getBnpLoanCalculatorKey(props.preferredInstallmentCentAmount), _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
37
+ return regeneratorRuntime.wrap(function _callee$(_ctx) {
38
+ while(1)switch(_ctx.prev = _ctx.next){
39
+ case 0:
40
+ _ctx.next = 2;
41
+ return MyPaymentsBnpCalculateLoanOrder(props);
42
+ case 2:
43
+ return _ctx.abrupt("return", _ctx.sent);
44
+ case 3:
45
+ case "end":
46
+ return _ctx.stop();
47
+ }
48
+ }, _callee);
49
+ })));
50
+ };
@@ -1 +1,2 @@
1
1
  export * from './useVerifyBoricaResponse';
2
+ export * from './useBnpCalculateForCart';
@@ -0,0 +1,92 @@
1
+ import React, { useMemo } from 'react';
2
+ import { useBnpCalculateForCartQuery } from '../api';
3
+ import { decodePrice, formatAsCurrency, useConfigState } from '../../index';
4
+ function _defineProperty(obj, key, value) {
5
+ if (key in obj) {
6
+ Object.defineProperty(obj, key, {
7
+ value: value,
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true
11
+ });
12
+ } else {
13
+ obj[key] = value;
14
+ }
15
+ return obj;
16
+ }
17
+ function _objectSpread(target) {
18
+ for(var i = 1; i < arguments.length; i++){
19
+ var source = arguments[i] != null ? arguments[i] : {
20
+ };
21
+ var ownKeys = Object.keys(source);
22
+ if (typeof Object.getOwnPropertySymbols === "function") {
23
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
24
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
25
+ }));
26
+ }
27
+ ownKeys.forEach(function(key) {
28
+ _defineProperty(target, key, source[key]);
29
+ });
30
+ }
31
+ return target;
32
+ }
33
+ export var useBnpCalculateForCart = function(props) {
34
+ var ref8, ref1, ref2, ref3;
35
+ var ref4 = props !== null && props !== void 0 ? props : {
36
+ }, _preferredInstallmentCentAmount = ref4.preferredInstallmentCentAmount, preferredInstallmentCentAmount = _preferredInstallmentCentAmount === void 0 ? 0 : _preferredInstallmentCentAmount, _downPaymentCentAmount = ref4.downPaymentCentAmount, downPaymentCentAmount = _downPaymentCentAmount === void 0 ? 0 : _downPaymentCentAmount;
37
+ var response = useBnpCalculateForCartQuery({
38
+ preferredInstallmentCentAmount: preferredInstallmentCentAmount,
39
+ downPaymentCentAmount: downPaymentCentAmount
40
+ });
41
+ var configLocale = (ref8 = useConfigState()) === null || ref8 === void 0 ? void 0 : (ref1 = ref8.price) === null || ref1 === void 0 ? void 0 : ref1.locale;
42
+ return useMemo(function() {
43
+ var ref, ref5, ref6, ref7;
44
+ return _objectSpread({
45
+ }, response, {
46
+ data: _objectSpread({
47
+ }, response === null || response === void 0 ? void 0 : (ref = response.data) === null || ref === void 0 ? void 0 : ref[0], {
48
+ offers: response === null || response === void 0 ? void 0 : (ref5 = response.data) === null || ref5 === void 0 ? void 0 : (ref6 = ref5[0]) === null || ref6 === void 0 ? void 0 : (ref7 = ref6.offers) === null || ref7 === void 0 ? void 0 : ref7.map(function(offer) {
49
+ var _totalRepaymentAmount = decodePrice(offer.totalRepaymentAmount);
50
+ var _correctDownPaymentAmount = decodePrice(offer.correctDownPaymentAmount);
51
+ var _installmentAmount = decodePrice(offer.installmentAmount);
52
+ var _processingFeeAmount = decodePrice(offer.processingFeeAmount);
53
+ var totalRepaymentAmount = formatAsCurrency({
54
+ price: _totalRepaymentAmount,
55
+ precision: offer.totalRepaymentAmount.fractionDigits,
56
+ currency: offer.totalRepaymentAmount.currencyCode,
57
+ locale: configLocale || 'en'
58
+ });
59
+ var correctDownPaymentAmount = formatAsCurrency({
60
+ price: _correctDownPaymentAmount,
61
+ precision: offer.correctDownPaymentAmount.fractionDigits,
62
+ currency: offer.correctDownPaymentAmount.currencyCode,
63
+ locale: configLocale || 'en'
64
+ });
65
+ var installmentAmount = formatAsCurrency({
66
+ price: _installmentAmount,
67
+ precision: offer.installmentAmount.fractionDigits,
68
+ currency: offer.installmentAmount.currencyCode,
69
+ locale: configLocale || 'en'
70
+ });
71
+ var processingFeeAmount = formatAsCurrency({
72
+ price: _processingFeeAmount,
73
+ precision: offer.processingFeeAmount.fractionDigits,
74
+ currency: offer.processingFeeAmount.currencyCode,
75
+ locale: configLocale || 'en'
76
+ });
77
+ return _objectSpread({
78
+ }, offer, {
79
+ totalRepaymentAmount: totalRepaymentAmount,
80
+ correctDownPaymentAmount: correctDownPaymentAmount,
81
+ installmentAmount: installmentAmount,
82
+ processingFeeAmount: processingFeeAmount
83
+ });
84
+ }).sort(function(offer, offer2) {
85
+ return Number(offer.maturity) - Number(offer2.maturity);
86
+ })
87
+ })
88
+ });
89
+ }, [
90
+ response === null || response === void 0 ? void 0 : (ref2 = response.data) === null || ref2 === void 0 ? void 0 : (ref3 = ref2[0]) === null || ref3 === void 0 ? void 0 : ref3.offers
91
+ ]);
92
+ };
@@ -35,6 +35,8 @@ function _slicedToArray(arr, i) {
35
35
  export var usePayment = function(param) {
36
36
  var orderQuery = param.orderQuery, errorLabels = param.errorLabels, enabled = param.enabled;
37
37
  var ref = _slicedToArray(useState(false), 2), isPaymentSubmitting = ref[0], setIsPaymentSubmitting = ref[1];
38
+ var ref1 = _slicedToArray(useState({
39
+ }), 2), loanInfo = ref1[0], setLoanInfo = ref1[1];
38
40
  var paymentMethods = useCheckoutPayment({
39
41
  query: orderQuery,
40
42
  enabled: enabled
@@ -46,11 +48,14 @@ export var usePayment = function(param) {
46
48
  errors: isPaymentSubmitting ? paymentErrors : null,
47
49
  isValid: !paymentErrors,
48
50
  updateIsSubmitting: setIsPaymentSubmitting,
49
- paymentMethods: paymentMethods
51
+ updateLoanInfo: setLoanInfo,
52
+ paymentMethods: paymentMethods,
53
+ loanInfo: loanInfo
50
54
  };
51
55
  }, [
52
56
  paymentMethods,
53
57
  paymentErrors,
54
- isPaymentSubmitting
58
+ isPaymentSubmitting,
59
+ loanInfo
55
60
  ]);
56
61
  };
@@ -109,9 +109,10 @@ export function CheckoutFormContextProvider(param) {
109
109
  'email',
110
110
  'phoneNumber',
111
111
  ] : _requiredFieldsOnShippingStep, _requiredFieldsOnBillingAddressStep = param.requiredFieldsOnBillingAddressStep, requiredFieldsOnBillingAddressStep = _requiredFieldsOnBillingAddressStep === void 0 ? [
112
- 'city',
113
- 'postalCode',
114
- 'streetName'
112
+ 'vatId',
113
+ 'companyId',
114
+ 'companyPerson',
115
+ 'companyName',
115
116
  ] : _requiredFieldsOnBillingAddressStep, _enableNoShippingMethodMode = param.enableNoShippingMethodMode, enableNoShippingMethodMode = _enableNoShippingMethodMode === void 0 ? false : _enableNoShippingMethodMode, _disablePaymentRedirects = param.disablePaymentRedirects, disablePaymentRedirects = _disablePaymentRedirects === void 0 ? false : _disablePaymentRedirects;
116
117
  var orderQuery = myCartApi.useGet();
117
118
  var ref4 = _slicedToArray(useState(null), 2), boricaData = ref4[0], setBoricaData = ref4[1];
@@ -253,6 +254,7 @@ export function CheckoutFormContextProvider(param) {
253
254
  setIsBillingSubmitting: billingState.updateIsSubmitting,
254
255
  isPaymentValid: paymentState.isValid,
255
256
  setIsPaymentSubmitting: paymentState.updateIsSubmitting,
257
+ loanInfo: paymentState.loanInfo,
256
258
  step: step,
257
259
  updateStep: setStep,
258
260
  saveOrder: handleCheckoutSubmit,
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { OfferDTOStatusEnum } from '@sentecacommerce/sdk';
2
3
  import { getTranslatableField } from '../../utils';
3
4
  import { usePrefetchProduct } from '../usePrefetchProduct';
4
5
  function _defineProperty(obj, key, value) {
@@ -30,6 +31,7 @@ function _objectSpread(target) {
30
31
  }
31
32
  return target;
32
33
  }
34
+ export { OfferDTOStatusEnum };
33
35
  export var useLineItem = function(props) {
34
36
  var ref16 = usePrefetchProduct(getTranslatableField(props === null || props === void 0 ? void 0 : props.slug)), onMouseEnter = ref16.onMouseEnter, onMouseLeave = ref16.onMouseLeave, onMouseDown = ref16.onMouseDown;
35
37
  var data = React.useMemo(function() {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { AssetSourceDTO } from '@sentecacommerce/sdk';
3
3
  import { getTranslatableField } from '../../';
4
- import { assignCombinationsToAttributeRules, createCombinationsMap, createCustomFieldsMap, createProductContent, createAttributeRulesMap, createMappedAttributes, processAvailabilityPerStore, getProductVideos, createMappedOptions, createSelectedOption2, formatCategories, createLabelsMap } from './utils';
4
+ import { assignCombinationsToAttributeRules, createCombinationsMap, createCustomFieldsMap, createProductContent, createAttributeRulesMap, createMappedAttributes, processAvailabilityPerStore, getProductVideos, createMappedOptions, createSelectedOption2, formatCategories, createLabelsMap, createCollapseKeyImagesMap } from './utils';
5
5
  import { productsApi } from '../../api/productsApi';
6
6
  import { assetsFieldsToMap } from '../../utils/assetsToMap';
7
7
  function _arrayWithHoles(arr) {
@@ -152,12 +152,31 @@ export function ProductProvider(param) {
152
152
  };
153
153
  var selectVariantByAttribute = function selectVariantByAttribute(key) {
154
154
  var ref;
155
- var id = (ref = combinations[key]) === null || ref === void 0 ? void 0 : ref.value;
156
- setSelectedVariant(variants[id]);
155
+ // Get by collapseKey for SD
156
+ var split = key.split(':');
157
+ if (split[0] === 'collapseKey') {
158
+ var id = Object.keys(variants).find(function(el) {
159
+ return variants[el].collapseKey === split[1];
160
+ });
161
+ return setSelectedVariant(variants[id]);
162
+ }
163
+ var id1 = (ref = combinations[key]) === null || ref === void 0 ? void 0 : ref.value;
164
+ setSelectedVariant(variants[id1]);
157
165
  };
158
166
  var selectVariantByCombination = function selectVariantByCombination(key, value) {
159
- var id = combinations[key].params[value];
160
- setSelectedVariant(variants[id]);
167
+ // Take collapseKey for SD
168
+ var split = value.split(':');
169
+ if (split[0] === 'collapseKey') {
170
+ var id = Object.keys(variants).find(function(el) {
171
+ var ref;
172
+ return variants[el].collapseKey === split[1] && ((ref = variants[el].attributes.find(function(attr) {
173
+ return attr.name === 'size';
174
+ })) === null || ref === void 0 ? void 0 : ref.value) === key;
175
+ });
176
+ return setSelectedVariant(variants[id]);
177
+ }
178
+ var id2 = combinations[key].params[value];
179
+ setSelectedVariant(variants[id2]);
161
180
  };
162
181
  var selectVariantOptions = function selectVariantOptions(definitionKey, optionKey) {
163
182
  if (selectedVariant) {
@@ -296,12 +315,14 @@ export function ProductProvider(param) {
296
315
  }, [
297
316
  variants
298
317
  ]);
318
+ var collapsedImages = createCollapseKeyImagesMap(product);
299
319
  var state = {
300
320
  metaData: metaData,
301
321
  seoData: seoData,
302
322
  variants: variants,
303
323
  selectedVariant: selectedVariant,
304
- attributeRules: attributeRules
324
+ attributeRules: attributeRules,
325
+ collapsedImages: collapsedImages
305
326
  };
306
327
  var functions = {
307
328
  getVariantById: getVariantById,
@@ -118,6 +118,19 @@ export var createProductContent = function(data) {
118
118
  content: getTranslatableField(data.content)
119
119
  };
120
120
  };
121
+ // Add grouped images for SD color variants
122
+ export var createCollapseKeyImagesMap = function(product) {
123
+ var ref;
124
+ var mappedKeys = product === null || product === void 0 ? void 0 : (ref = product.variants) === null || ref === void 0 ? void 0 : ref.reduce(function(res, cur) {
125
+ if (!res[cur.collapseKey]) {
126
+ res[cur.collapseKey] = [];
127
+ }
128
+ res[cur.collapseKey].push(cur);
129
+ return res;
130
+ }, {
131
+ });
132
+ return mappedKeys;
133
+ };
121
134
  export var createAttributeRulesMap = function(product) {
122
135
  var ref, ref1;
123
136
  var uniqueRules = product === null || product === void 0 ? void 0 : (ref = product.attributeRules) === null || ref === void 0 ? void 0 : ref.filter(function(x) {
package/dist/esm/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ import Cookie from 'js-cookie';
2
+ export { Cookie };
1
3
  export * from './dto';
2
4
  // API
3
5
  // export * from './api/myCart'
@@ -120,6 +122,8 @@ export * from './navigation';
120
122
  export * from './GDPR';
121
123
  // User
122
124
  export * from './user';
125
+ // Basket
126
+ export * from './basket';
123
127
  // UI Components and hooks
124
128
  export * from './ui';
125
129
  export * from './wishlist';