@sentecacommerce-theme/lib 0.12.103 → 0.13.1

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 (80) hide show
  1. package/dist/cjs/analytics/Pixel/mainScript.js +1 -2
  2. package/dist/cjs/api/getSDKConfig.js +2 -4
  3. package/dist/cjs/api/myCartApi/index.js +2 -8
  4. package/dist/cjs/basket/api/mutations/index.js +0 -14
  5. package/dist/cjs/basket/hooks/index.js +0 -12
  6. package/dist/cjs/config/SentecaProvider.js +1 -3
  7. package/dist/cjs/hooks/useAggregateResult/index.js +1 -5
  8. package/dist/cjs/hooks/useAvailability/index.js +1 -1
  9. package/dist/cjs/hooks/useClearAllFilters/index.js +0 -2
  10. package/dist/cjs/hooks/useProduct/index.js +26 -36
  11. package/dist/cjs/hooks/wishlist-hooks/useWishlistItem/index.js +15 -39
  12. package/dist/cjs/listing/api/queries/useListingQuery.js +1 -1
  13. package/dist/cjs/listing/hooks/useListingFilters.js +1 -7
  14. package/dist/cjs/listing/hooks/useListingMeta.js +40 -49
  15. package/dist/cjs/listing/hooks/useSlideFilter.js +4 -27
  16. package/dist/cjs/listing/ssr/prefetchCategories.js +6 -5
  17. package/dist/cjs/listing/ssr/prefetchPredicate.js +4 -4
  18. package/dist/cjs/navigation/components/SearchBox/Components/EmptyBox/index.js +7 -7
  19. package/dist/cjs/navigation/components/SearchBox/index.js +4 -4
  20. package/dist/cjs/seo/components/TranslationsMeta/index.js +14 -43
  21. package/dist/cjs/seo/components/index.js +0 -12
  22. package/dist/cjs/seo/hooks/useSeoTranslations.js +14 -55
  23. package/dist/cjs/ui/components/GridStyles.js +2 -2
  24. package/dist/cjs/ui/components/RangeSliderInput.js +1 -14
  25. package/dist/cjs/user/api/queries/useGetMyLoyaltyCardQuery.js +3 -49
  26. package/dist/cjs/utils/getSelectedFilters.js +1 -3
  27. package/dist/cjs/utils/index.js +0 -12
  28. package/dist/cjs/utils/isTouchDevice.js +1 -2
  29. package/dist/esm/analytics/Pixel/mainScript.js +1 -2
  30. package/dist/esm/api/getSDKConfig.js +3 -5
  31. package/dist/esm/api/myCartApi/index.js +2 -8
  32. package/dist/esm/basket/api/mutations/index.js +0 -1
  33. package/dist/esm/basket/hooks/index.js +0 -1
  34. package/dist/esm/config/SentecaProvider.js +1 -3
  35. package/dist/esm/hooks/useAggregateResult/index.js +1 -5
  36. package/dist/esm/hooks/useAvailability/index.js +1 -1
  37. package/dist/esm/hooks/useClearAllFilters/index.js +0 -2
  38. package/dist/esm/hooks/useProduct/index.js +18 -28
  39. package/dist/esm/hooks/wishlist-hooks/useWishlistItem/index.js +13 -21
  40. package/dist/esm/listing/api/queries/useListingQuery.js +1 -1
  41. package/dist/esm/listing/hooks/useListingFilters.js +1 -7
  42. package/dist/esm/listing/hooks/useListingMeta.js +40 -49
  43. package/dist/esm/listing/hooks/useSlideFilter.js +4 -27
  44. package/dist/esm/listing/ssr/prefetchCategories.js +7 -6
  45. package/dist/esm/listing/ssr/prefetchPredicate.js +4 -4
  46. package/dist/esm/navigation/components/SearchBox/Components/EmptyBox/index.js +7 -7
  47. package/dist/esm/navigation/components/SearchBox/index.js +4 -4
  48. package/dist/esm/seo/components/TranslationsMeta/index.js +14 -43
  49. package/dist/esm/seo/components/index.js +0 -1
  50. package/dist/esm/seo/hooks/useSeoTranslations.js +14 -55
  51. package/dist/esm/ui/components/GridStyles.js +2 -2
  52. package/dist/esm/ui/components/RangeSliderInput.js +1 -14
  53. package/dist/esm/user/api/queries/useGetMyLoyaltyCardQuery.js +3 -44
  54. package/dist/esm/utils/getSelectedFilters.js +1 -3
  55. package/dist/esm/utils/index.js +0 -1
  56. package/dist/esm/utils/isTouchDevice.js +1 -2
  57. package/dist/types/basket/api/mutations/index.d.ts +0 -1
  58. package/dist/types/basket/hooks/index.d.ts +0 -1
  59. package/dist/types/hooks/basket-hooks/useBasketLineItem/index.d.ts +2 -1
  60. package/dist/types/hooks/useProduct/index.d.ts +1 -2
  61. package/dist/types/listing/hooks/useSlideFilter.d.ts +0 -4
  62. package/dist/types/listing/types.d.ts +0 -10
  63. package/dist/types/navigation/components/SearchBox/Components/EmptyBox/index.d.ts +4 -5
  64. package/dist/types/navigation/components/SearchBox/index.d.ts +6 -7
  65. package/dist/types/seo/components/index.d.ts +0 -1
  66. package/dist/types/seo/hooks/useSeoTranslations.d.ts +3 -5
  67. package/dist/types/ui/components/GridStyles.d.ts +1 -2
  68. package/dist/types/ui/components/RangeSliderInput.d.ts +1 -2
  69. package/dist/types/utils/index.d.ts +0 -1
  70. package/package.json +4 -4
  71. package/dist/cjs/basket/api/mutations/useChangeGiftVariant.js +0 -116
  72. package/dist/cjs/basket/hooks/useChangeGiftVariant.js +0 -16
  73. package/dist/cjs/utils/getLocaleFromPath.js +0 -13
  74. package/dist/esm/basket/api/mutations/useChangeGiftVariant.js +0 -106
  75. package/dist/esm/basket/hooks/useChangeGiftVariant.js +0 -3
  76. package/dist/esm/utils/getLocaleFromPath.js +0 -8
  77. package/dist/types/basket/api/mutations/useChangeGiftVariant.d.ts +0 -2
  78. package/dist/types/basket/hooks/useChangeGiftVariant.d.ts +0 -2
  79. package/dist/types/seo/components/TranslationsMeta/index.d.ts +0 -1
  80. package/dist/types/utils/getLocaleFromPath.d.ts +0 -1
@@ -158,8 +158,7 @@ function _objectSpread(target) {
158
158
  mode: 'cors',
159
159
  cache: 'no-cache',
160
160
  headers: {
161
- 'Content-Type': 'application/json',
162
- 'senteca-locale': global.location.pathname.split('/')[1] || ''
161
+ 'Content-Type': 'application/json'
163
162
  },
164
163
  body: JSON.stringify(payload)
165
164
  });
@@ -44,16 +44,14 @@ var getSDKConfig = function() {
44
44
  var defaultConfig = getOptions(options);
45
45
  var headers = ((ref = _sdk.HttpClient.defaultConfig) === null || ref === void 0 ? void 0 : ref.options.headers) || (defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.headers) || {};
46
46
  var config = new _sdk.Configuration(_objectSpread({}, ((ref1 = _sdk.HttpClient.defaultConfig) === null || ref1 === void 0 ? void 0 : ref1.options) || defaultConfig, options, {
47
- headers: _objectSpread({}, headers, options.headers || {}, {
48
- 'senteca-locale': (0, _utils).getLocaleFromPath()
49
- })
47
+ headers: _objectSpread({}, headers, options.headers || {})
50
48
  }));
51
49
  return config;
52
50
  };
53
51
  exports.getSDKConfig = getSDKConfig;
54
52
  var getOptions = function() {
55
53
  var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
56
- if (!(0, _utils).canUseDOM()) {
54
+ if (typeof window === 'undefined') {
57
55
  // eslint-disable-next-line @typescript-eslint/no-var-requires
58
56
  var nodeFetch = require('node-fetch');
59
57
  var ref;
@@ -10,7 +10,6 @@ var _utils = require("../../utils");
10
10
  var _getSDKConfig = require("../getSDKConfig");
11
11
  var _utils1 = require("./utils");
12
12
  var _promoCode = require("../../api.v2/core/misc/promo-code");
13
- var _ = require("../..");
14
13
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
15
14
  try {
16
15
  var info = gen[key](arg);
@@ -123,7 +122,6 @@ var MyCartApiFactory = function() {
123
122
  }(),
124
123
  useGet: function() {
125
124
  var queryCache = (0, _reactQuery).useQueryCache();
126
- var isLoading = (0, _).useIsAuthenticated().isLoading;
127
125
  return (0, _reactQuery).useQuery(myCartCacheKeys.useGet, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
128
126
  var data;
129
127
  return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
@@ -142,14 +140,12 @@ var MyCartApiFactory = function() {
142
140
  }
143
141
  }, _callee);
144
142
  })), {
145
- enabled: !isLoading,
146
143
  retry: false,
147
- refetchOnMount: true,
144
+ refetchOnMount: false,
148
145
  refetchOnWindowFocus: false
149
146
  });
150
147
  },
151
148
  useGetCompact: function() {
152
- var isLoading = (0, _).useIsAuthenticated().isLoading;
153
149
  return (0, _reactQuery).useQuery(myCartCacheKeys.useGetCompact, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
154
150
  var compactBasket;
155
151
  return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
@@ -162,9 +158,7 @@ var MyCartApiFactory = function() {
162
158
  return _ctx.stop();
163
159
  }
164
160
  }, _callee);
165
- })), {
166
- enabled: !isLoading
167
- });
161
+ })));
168
162
  },
169
163
  useIsExisting: function(productId, variantId, collapseKey) {
170
164
  return (0, _reactQuery).useQuery([
@@ -1,11 +1,9 @@
1
1
  Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
- var _exportNames = {};
5
4
  var _useReplaceBasketMutation = _interopRequireWildcard(require("./useReplaceBasketMutation"));
6
5
  Object.keys(_useReplaceBasketMutation).forEach(function(key) {
7
6
  if (key === "default" || key === "__esModule") return;
8
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
7
  if (key in exports && exports[key] === _useReplaceBasketMutation[key]) return;
10
8
  Object.defineProperty(exports, key, {
11
9
  enumerable: true,
@@ -14,18 +12,6 @@ Object.keys(_useReplaceBasketMutation).forEach(function(key) {
14
12
  }
15
13
  });
16
14
  });
17
- var _useChangeGiftVariant = _interopRequireWildcard(require("./useChangeGiftVariant"));
18
- Object.keys(_useChangeGiftVariant).forEach(function(key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
21
- if (key in exports && exports[key] === _useChangeGiftVariant[key]) return;
22
- Object.defineProperty(exports, key, {
23
- enumerable: true,
24
- get: function() {
25
- return _useChangeGiftVariant[key];
26
- }
27
- });
28
- });
29
15
  function _interopRequireWildcard(obj) {
30
16
  if (obj && obj.__esModule) {
31
17
  return obj;
@@ -26,18 +26,6 @@ Object.keys(_useBasketCrossSaleItems).forEach(function(key) {
26
26
  }
27
27
  });
28
28
  });
29
- var _useChangeGiftVariant = _interopRequireWildcard(require("./useChangeGiftVariant"));
30
- Object.keys(_useChangeGiftVariant).forEach(function(key) {
31
- if (key === "default" || key === "__esModule") return;
32
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
33
- if (key in exports && exports[key] === _useChangeGiftVariant[key]) return;
34
- Object.defineProperty(exports, key, {
35
- enumerable: true,
36
- get: function() {
37
- return _useChangeGiftVariant[key];
38
- }
39
- });
40
- });
41
29
  function _interopRequireWildcard(obj) {
42
30
  if (obj && obj.__esModule) {
43
31
  return obj;
@@ -8,7 +8,6 @@ var _nodeFetch = _interopRequireDefault(require("node-fetch"));
8
8
  var _getSDKConfig = require("../api/getSDKConfig");
9
9
  var _reactQuery = require("react-query");
10
10
  var _tokens = require("../utils/tokens");
11
- var _utils = require("../utils");
12
11
  var _router = require("next/router");
13
12
  function _defineProperty(obj, key, value) {
14
13
  if (key in obj) {
@@ -52,8 +51,7 @@ function SentecaProvider(param) {
52
51
  if (localeData) {
53
52
  options.headers = _objectSpread({}, options.headers || {}, {
54
53
  InterfaceKey: localeData.interfaceKey,
55
- StoreKey: localeData.storeKey,
56
- 'senteca-locale': (0, _utils).getLocaleFromPath()
54
+ StoreKey: localeData.storeKey
57
55
  });
58
56
  }
59
57
  _sdk.HttpClient.defaultConfig = new _sdk.Configuration(options);
@@ -91,9 +91,7 @@ var useAggregateResult = function(type, aggregates, slug, predicate, query) {
91
91
  aggType: a.filterDefinition,
92
92
  aggKey: filterKey,
93
93
  aggOperator: operatorMap[a.aggregationType]
94
- }, selected, router), undefined, {
95
- shallow: true
96
- });
94
+ }, selected, router));
97
95
  }
98
96
  },
99
97
  ]);
@@ -110,8 +108,6 @@ var useAggregateResult = function(type, aggregates, slug, predicate, query) {
110
108
  query: _objectSpread({}, router.query, {
111
109
  filter: filterByType(router.query.filter, a.filterDefinition)
112
110
  })
113
- }, undefined, {
114
- shallow: true
115
111
  });
116
112
  },
117
113
  type: a.aggregationType
@@ -70,7 +70,7 @@ var useAvailability = function(param) {
70
70
  setStatus(ProductQuantityStatusEnum.OutOfStock);
71
71
  return;
72
72
  }
73
- if (quantity - (quantityInBasket || 0) < 1) {
73
+ if ((quantity !== null && quantity !== void 0 ? quantity : 0) < (quantityInBasket || 1)) {
74
74
  setStatus(ProductQuantityStatusEnum.MaxQuantityReached);
75
75
  return;
76
76
  }
@@ -39,8 +39,6 @@ var useClearAllFilters = function() {
39
39
  router.push({
40
40
  pathname: router.pathname,
41
41
  query: query
42
- }, undefined, {
43
- shallow: true
44
42
  });
45
43
  };
46
44
  };
@@ -104,40 +104,40 @@ function _unsupportedIterableToArray(o, minLen) {
104
104
  var ProductStateContext = /*#__PURE__*/ _react.default.createContext(undefined);
105
105
  var CountDispatchContext = /*#__PURE__*/ _react.default.createContext(undefined);
106
106
  function ProductProvider(param) {
107
- var product = param.product, children = param.children, defaultVariantId = param.defaultVariantId, _includeBrandInName = param.includeBrandInName, includeBrandInName = _includeBrandInName === void 0 ? false : _includeBrandInName;
108
- var ref42 = _slicedToArray(_react.default.useState(false), 2), mounted = ref42[0], setMounted = ref42[1];
107
+ var product = param.product, children = param.children, defaultVariantId = param.defaultVariantId;
108
+ var ref36 = _slicedToArray(_react.default.useState(false), 2), mounted = ref36[0], setMounted = ref36[1];
109
109
  var ref1 = _slicedToArray(_react.default.useState(getCombinationsAndAttributeRules), 2), ref2 = ref1[0], combinations = ref2.combinations, attributeRules = ref2.attributeRules, setCombinationsAndAttributeRules = ref1[1];
110
110
  var ref3 = _slicedToArray(_react.default.useState(getVariantsWithInventory), 2), variants = ref3[0], setVariants = ref3[1];
111
111
  var ref4 = _slicedToArray(_react.default.useState(getDefaultVariant), 2), selectedVariant = ref4[0], setSelectedVariant = ref4[1];
112
112
  var metaData = _react.default.useMemo(function() {
113
- var ref, ref5, ref6, ref7, ref8, ref9, ref10, ref11, ref12, ref13, ref14, ref15, ref16, ref17, ref18, ref19, ref20, ref21, ref22, ref23, ref24, ref25, ref26, ref27, ref28, ref29, ref30, ref31, ref32, ref33, ref34, ref35, ref36, ref37, ref38, ref39, ref40, ref41;
113
+ var ref, ref5, ref6, ref7, ref8, ref9, ref10, ref11, ref12, ref13, ref14, ref15, ref16, ref17, ref18, ref19, ref20, ref21, ref22, ref23, ref24, ref25, ref26, ref27, ref28, ref29, ref30, ref31, ref32, ref33, ref34, ref35;
114
114
  var rootCategory = product === null || product === void 0 ? void 0 : (ref = product.categories) === null || ref === void 0 ? void 0 : ref[0];
115
115
  var rootCategoryId = rootCategory === null || rootCategory === void 0 ? void 0 : rootCategory.resourceId;
116
116
  var metaObj = {
117
117
  _id: product === null || product === void 0 ? void 0 : product._id,
118
- name: includeBrandInName && (product === null || product === void 0 ? void 0 : (ref5 = product.brands) === null || ref5 === void 0 ? void 0 : (ref6 = ref5[0]) === null || ref6 === void 0 ? void 0 : (ref7 = ref6.resource) === null || ref7 === void 0 ? void 0 : ref7.name) ? "".concat((0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref8 = product.brands) === null || ref8 === void 0 ? void 0 : (ref9 = ref8[0]) === null || ref9 === void 0 ? void 0 : (ref10 = ref9.resource) === null || ref10 === void 0 ? void 0 : ref10.name), " ").concat((0, _).getTranslatableField(selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.name) || (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : product.name)) : (0, _).getTranslatableField(selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.name) || (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : product.name),
118
+ name: (0, _).getTranslatableField(selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.name) || (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : product.name),
119
119
  slug: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : product.slug),
120
120
  description: (0, _).getTranslatableField(selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.description) || (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : product.description),
121
121
  shortDescription: (0, _).getTranslatableField(selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.metaDescription) || (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : product.metaDescription),
122
122
  brand: {
123
- _id: product === null || product === void 0 ? void 0 : (ref11 = product.brands) === null || ref11 === void 0 ? void 0 : (ref12 = ref11[0]) === null || ref12 === void 0 ? void 0 : ref12.resourceId,
124
- name: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref13 = product.brands) === null || ref13 === void 0 ? void 0 : (ref14 = ref13[0]) === null || ref14 === void 0 ? void 0 : (ref15 = ref14.resource) === null || ref15 === void 0 ? void 0 : ref15.name),
125
- slug: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref16 = product.brands) === null || ref16 === void 0 ? void 0 : (ref17 = ref16[0]) === null || ref17 === void 0 ? void 0 : (ref18 = ref17.resource) === null || ref18 === void 0 ? void 0 : ref18.slug),
126
- logo: product === null || product === void 0 ? void 0 : (ref19 = product.brands) === null || ref19 === void 0 ? void 0 : (ref20 = ref19[0]) === null || ref20 === void 0 ? void 0 : (ref21 = ref20.resource) === null || ref21 === void 0 ? void 0 : (ref22 = ref21.assets) === null || ref22 === void 0 ? void 0 : (ref23 = ref22[0]) === null || ref23 === void 0 ? void 0 : (ref24 = ref23.sources) === null || ref24 === void 0 ? void 0 : (ref25 = ref24[0]) === null || ref25 === void 0 ? void 0 : ref25.url
123
+ _id: product === null || product === void 0 ? void 0 : (ref5 = product.brands) === null || ref5 === void 0 ? void 0 : (ref6 = ref5[0]) === null || ref6 === void 0 ? void 0 : ref6.resourceId,
124
+ name: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref7 = product.brands) === null || ref7 === void 0 ? void 0 : (ref8 = ref7[0]) === null || ref8 === void 0 ? void 0 : (ref9 = ref8.resource) === null || ref9 === void 0 ? void 0 : ref9.name),
125
+ slug: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref10 = product.brands) === null || ref10 === void 0 ? void 0 : (ref11 = ref10[0]) === null || ref11 === void 0 ? void 0 : (ref12 = ref11.resource) === null || ref12 === void 0 ? void 0 : ref12.slug),
126
+ logo: product === null || product === void 0 ? void 0 : (ref13 = product.brands) === null || ref13 === void 0 ? void 0 : (ref14 = ref13[0]) === null || ref14 === void 0 ? void 0 : (ref15 = ref14.resource) === null || ref15 === void 0 ? void 0 : (ref16 = ref15.assets) === null || ref16 === void 0 ? void 0 : (ref17 = ref16[0]) === null || ref17 === void 0 ? void 0 : (ref18 = ref17.sources) === null || ref18 === void 0 ? void 0 : (ref19 = ref18[0]) === null || ref19 === void 0 ? void 0 : ref19.url
127
127
  },
128
128
  category: {
129
- _id: product === null || product === void 0 ? void 0 : (ref27 = product.categories) === null || ref27 === void 0 ? void 0 : (ref28 = ref27[(product === null || product === void 0 ? void 0 : (ref26 = product.categories) === null || ref26 === void 0 ? void 0 : ref26.length) - 1]) === null || ref28 === void 0 ? void 0 : ref28.resourceId,
130
- name: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref30 = product.categories) === null || ref30 === void 0 ? void 0 : (ref31 = ref30[(product === null || product === void 0 ? void 0 : (ref29 = product.categories) === null || ref29 === void 0 ? void 0 : ref29.length) - 1]) === null || ref31 === void 0 ? void 0 : (ref32 = ref31.resource) === null || ref32 === void 0 ? void 0 : ref32.name),
131
- slug: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref34 = product.categories) === null || ref34 === void 0 ? void 0 : (ref35 = ref34[(product === null || product === void 0 ? void 0 : (ref33 = product.categories) === null || ref33 === void 0 ? void 0 : ref33.length) - 1]) === null || ref35 === void 0 ? void 0 : (ref36 = ref35.resource) === null || ref36 === void 0 ? void 0 : ref36.slug)
129
+ _id: product === null || product === void 0 ? void 0 : (ref21 = product.categories) === null || ref21 === void 0 ? void 0 : (ref22 = ref21[(product === null || product === void 0 ? void 0 : (ref20 = product.categories) === null || ref20 === void 0 ? void 0 : ref20.length) - 1]) === null || ref22 === void 0 ? void 0 : ref22.resourceId,
130
+ name: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref24 = product.categories) === null || ref24 === void 0 ? void 0 : (ref25 = ref24[(product === null || product === void 0 ? void 0 : (ref23 = product.categories) === null || ref23 === void 0 ? void 0 : ref23.length) - 1]) === null || ref25 === void 0 ? void 0 : (ref26 = ref25.resource) === null || ref26 === void 0 ? void 0 : ref26.name),
131
+ slug: (0, _).getTranslatableField(product === null || product === void 0 ? void 0 : (ref28 = product.categories) === null || ref28 === void 0 ? void 0 : (ref29 = ref28[(product === null || product === void 0 ? void 0 : (ref27 = product.categories) === null || ref27 === void 0 ? void 0 : ref27.length) - 1]) === null || ref29 === void 0 ? void 0 : (ref30 = ref29.resource) === null || ref30 === void 0 ? void 0 : ref30.slug)
132
132
  },
133
133
  rootCategory: {
134
134
  _id: rootCategoryId,
135
- name: (0, _).getTranslatableField(rootCategory === null || rootCategory === void 0 ? void 0 : (ref37 = rootCategory.resource) === null || ref37 === void 0 ? void 0 : ref37.name),
136
- slug: (0, _).getTranslatableField(rootCategory === null || rootCategory === void 0 ? void 0 : (ref38 = rootCategory.resource) === null || ref38 === void 0 ? void 0 : ref38.slug)
135
+ name: (0, _).getTranslatableField(rootCategory === null || rootCategory === void 0 ? void 0 : (ref31 = rootCategory.resource) === null || ref31 === void 0 ? void 0 : ref31.name),
136
+ slug: (0, _).getTranslatableField(rootCategory === null || rootCategory === void 0 ? void 0 : (ref32 = rootCategory.resource) === null || ref32 === void 0 ? void 0 : ref32.slug)
137
137
  },
138
138
  categories: (0, _utils).formatCategories(product === null || product === void 0 ? void 0 : product.categories, rootCategoryId),
139
139
  reviewRatingStatistics: product === null || product === void 0 ? void 0 : product.reviewRatingStatistics,
140
- content: Boolean(selectedVariant === null || selectedVariant === void 0 ? void 0 : (ref39 = selectedVariant.content) === null || ref39 === void 0 ? void 0 : ref39.map(_utils.createProductContent).length) ? selectedVariant === null || selectedVariant === void 0 ? void 0 : (ref40 = selectedVariant.content) === null || ref40 === void 0 ? void 0 : ref40.map(_utils.createProductContent) : product === null || product === void 0 ? void 0 : (ref41 = product.content) === null || ref41 === void 0 ? void 0 : ref41.map(_utils.createProductContent),
140
+ content: Boolean(selectedVariant === null || selectedVariant === void 0 ? void 0 : (ref33 = selectedVariant.content) === null || ref33 === void 0 ? void 0 : ref33.map(_utils.createProductContent).length) ? selectedVariant === null || selectedVariant === void 0 ? void 0 : (ref34 = selectedVariant.content) === null || ref34 === void 0 ? void 0 : ref34.map(_utils.createProductContent) : product === null || product === void 0 ? void 0 : (ref35 = product.content) === null || ref35 === void 0 ? void 0 : ref35.map(_utils.createProductContent),
141
141
  assets: (0, _assetsToMap).assetsFieldsToMap(product === null || product === void 0 ? void 0 : product.assets)
142
142
  };
143
143
  return metaObj;
@@ -190,20 +190,20 @@ function ProductProvider(param) {
190
190
  variants
191
191
  ]);
192
192
  function getVariantsWithInventory() {
193
- var ref46;
194
- var variantsWithInventory = product === null || product === void 0 ? void 0 : (ref46 = product.variants) === null || ref46 === void 0 ? void 0 : ref46.reduce(function(map, _, index, arr) {
195
- var ref47, ref43, ref44, ref45;
193
+ var ref40;
194
+ var variantsWithInventory = product === null || product === void 0 ? void 0 : (ref40 = product.variants) === null || ref40 === void 0 ? void 0 : ref40.reduce(function(map, _, index, arr) {
195
+ var ref41, ref37, ref38, ref39;
196
196
  var currentVariant = arr[index];
197
197
  var mappedAttributes = (0, _utils).createMappedAttributes(currentVariant);
198
198
  var mappedOptions = (0, _utils).createMappedOptions(currentVariant === null || currentVariant === void 0 ? void 0 : currentVariant.availableOptions) || [];
199
- var isAvailable = currentVariant === null || currentVariant === void 0 ? void 0 : (ref47 = currentVariant.inventorySnapshot) === null || ref47 === void 0 ? void 0 : ref47.canOrder;
199
+ var isAvailable = currentVariant === null || currentVariant === void 0 ? void 0 : (ref41 = currentVariant.inventorySnapshot) === null || ref41 === void 0 ? void 0 : ref41.canOrder;
200
200
  var updatedVariant = _objectSpread({}, currentVariant, {
201
201
  inventory: {
202
- hasAvailableQuantity: (ref43 = currentVariant.inventorySnapshot) === null || ref43 === void 0 ? void 0 : ref43.canOrder,
203
- availableQuantity: (ref44 = currentVariant.inventorySnapshot) === null || ref44 === void 0 ? void 0 : ref44.availableQuantity
202
+ hasAvailableQuantity: (ref37 = currentVariant.inventorySnapshot) === null || ref37 === void 0 ? void 0 : ref37.canOrder,
203
+ availableQuantity: (ref38 = currentVariant.inventorySnapshot) === null || ref38 === void 0 ? void 0 : ref38.availableQuantity
204
204
  },
205
205
  isAvailable: isAvailable ? true : false,
206
- quantity: isAvailable ? currentVariant === null || currentVariant === void 0 ? void 0 : (ref45 = currentVariant.inventorySnapshot) === null || ref45 === void 0 ? void 0 : ref45.availableQuantity : 0,
206
+ quantity: isAvailable ? currentVariant === null || currentVariant === void 0 ? void 0 : (ref39 = currentVariant.inventorySnapshot) === null || ref39 === void 0 ? void 0 : ref39.availableQuantity : 0,
207
207
  attributes: mappedAttributes,
208
208
  options: mappedOptions,
209
209
  selectedOptions: [],
@@ -317,26 +317,16 @@ function ProductProvider(param) {
317
317
  return variants === null || variants === void 0 ? void 0 : variants[id];
318
318
  }
319
319
  function getVariantByCombination(key, value) {
320
- var ref48;
321
- var split = value === null || value === void 0 ? void 0 : value.split(':');
322
- if ((split === null || split === void 0 ? void 0 : split[0]) === 'collapseKey') {
323
- var id = Object.keys(variants).find(function(el) {
324
- var ref;
325
- return variants[el].collapseKey === (split === null || split === void 0 ? void 0 : split[1]) && ((ref = variants[el].attributes.find(function(attr) {
326
- return attr.name === 'size';
327
- })) === null || ref === void 0 ? void 0 : ref.value) === key;
328
- });
329
- return variants[id];
330
- }
331
- var id3 = (ref48 = combinations[key]) === null || ref48 === void 0 ? void 0 : ref48.params[value];
332
- return variants === null || variants === void 0 ? void 0 : variants[id3];
320
+ var ref;
321
+ var id = (ref = combinations[key]) === null || ref === void 0 ? void 0 : ref.params[value];
322
+ return variants === null || variants === void 0 ? void 0 : variants[id];
333
323
  }
334
324
  function getCustomFieldValue(field) {
335
325
  return customFields === null || customFields === void 0 ? void 0 : customFields[field];
336
326
  }
337
327
  function getCombinationsForAttributeRule(key, id) {
338
- var ref, ref49;
339
- var result = attributeRules === null || attributeRules === void 0 ? void 0 : (ref = attributeRules[key]) === null || ref === void 0 ? void 0 : (ref49 = ref.values) === null || ref49 === void 0 ? void 0 : ref49[id];
328
+ var ref, ref42;
329
+ var result = attributeRules === null || attributeRules === void 0 ? void 0 : (ref = attributeRules[key]) === null || ref === void 0 ? void 0 : (ref42 = ref.values) === null || ref42 === void 0 ? void 0 : ref42[id];
340
330
  return result;
341
331
  }
342
332
  var collapsedImages = (0, _utils).createCollapseKeyImagesMap(product);
@@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
4
  exports.useWishlistItem = void 0;
5
- var _react = _interopRequireWildcard(require("react"));
5
+ var _react = _interopRequireDefault(require("react"));
6
6
  var _ = require("../../../");
7
7
  var _utils = require("../../basket-hooks/useBasketLineItem/utils");
8
8
  var _utils1 = require("../../../utils");
@@ -14,26 +14,10 @@ function _arrayLikeToArray(arr, len) {
14
14
  function _arrayWithHoles(arr) {
15
15
  if (Array.isArray(arr)) return arr;
16
16
  }
17
- function _interopRequireWildcard(obj) {
18
- if (obj && obj.__esModule) {
19
- return obj;
20
- } else {
21
- var newObj = {};
22
- if (obj != null) {
23
- for(var key in obj){
24
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
25
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
26
- if (desc.get || desc.set) {
27
- Object.defineProperty(newObj, key, desc);
28
- } else {
29
- newObj[key] = obj[key];
30
- }
31
- }
32
- }
33
- }
34
- newObj.default = obj;
35
- return newObj;
36
- }
17
+ function _interopRequireDefault(obj) {
18
+ return obj && obj.__esModule ? obj : {
19
+ default: obj
20
+ };
37
21
  }
38
22
  function _iterableToArrayLimit(arr, i) {
39
23
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
@@ -75,19 +59,15 @@ function _unsupportedIterableToArray(o, minLen) {
75
59
  }
76
60
  var useWishlistItem = function(props) {
77
61
  var ref16;
78
- var item = props.item, expiry = props.expiry;
79
- var ref1 = _slicedToArray((0, _).useBoolean(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
62
+ var ref1 = _slicedToArray(_react.default.useState(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
80
63
  var ref2 = _slicedToArray(_.wishlistApi.useSync(), 1), syncWishlist = ref2[0];
81
64
  var ref3 = (0, _).usePrefetchProduct((0, _).getTranslatableField(props === null || props === void 0 ? void 0 : (ref16 = props.item) === null || ref16 === void 0 ? void 0 : ref16.productSlug)), onMouseDown = ref3.onMouseDown, onMouseEnter = ref3.onMouseEnter, onMouseLeave = ref3.onMouseLeave;
82
- (0, _react).useEffect(function() {
83
- if (expiry) {
84
- if (Date.now() > expiry + (item === null || item === void 0 ? void 0 : item.snapshotFrom)) {
85
- setIsExpired.on();
86
- }
87
- }
88
- }, []);
89
65
  var data = _react.default.useMemo(function() {
90
66
  var ref, ref4, ref5, ref6, ref7, ref8, ref9, ref10, ref11, ref12, ref13, ref14, ref15;
67
+ var item = props.item;
68
+ if (props.expiry && (0, _utils).getTimeStamp(props.expiry) < (item === null || item === void 0 ? void 0 : item.snapshotFrom)) {
69
+ setIsExpired(true);
70
+ }
91
71
  var offer = item === null || item === void 0 ? void 0 : (ref = item.productVariant) === null || ref === void 0 ? void 0 : ref.offer;
92
72
  var mappedAttributes = (0, _utils).createMappedAttributes(item === null || item === void 0 ? void 0 : (ref4 = item.productVariant) === null || ref4 === void 0 ? void 0 : ref4.attributes) || {};
93
73
  var mappedCustomField = (0, _utils1).customFieldsToMap(item.custom);
@@ -127,16 +107,12 @@ var useWishlistItem = function(props) {
127
107
  }
128
108
  };
129
109
  }, [
130
- item
131
- ]);
132
- (0, _react).useEffect(function() {
133
- if (isExpired) {
134
- syncWishlist();
135
- setIsExpired.off();
136
- }
137
- }, [
138
- isExpired
110
+ props.item
139
111
  ]);
112
+ if (isExpired) {
113
+ syncWishlist();
114
+ setIsExpired(false);
115
+ }
140
116
  return data;
141
117
  };
142
118
  exports.useWishlistItem = useWishlistItem;
@@ -137,7 +137,7 @@ var useListingQuery = function() {
137
137
  predicate: predicate,
138
138
  sort: sort,
139
139
  postFilter: postFilter,
140
- slug: aliasedSlug,
140
+ slug: slug,
141
141
  offset: offset
142
142
  });
143
143
  return (0, _reactQuery).useQuery(queryKeys, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
@@ -136,8 +136,6 @@ function ListingFiltersProvider(param) {
136
136
  query: _objectSpread({}, router.query, {
137
137
  filter: filterByType(router.query.filter, filter)
138
138
  })
139
- }, undefined, {
140
- shallow: true
141
139
  });
142
140
  },
143
141
  type: type
@@ -157,8 +155,6 @@ function ListingFiltersProvider(param) {
157
155
  router.push({
158
156
  pathname: router.pathname,
159
157
  query: query
160
- }, undefined, {
161
- shallow: true
162
158
  });
163
159
  };
164
160
  var selectedFilters = _react.default.useMemo(function() {
@@ -201,9 +197,7 @@ function generateFilters(param) {
201
197
  aggType: filter,
202
198
  aggKey: filterKey,
203
199
  aggOperator: filtersOperatorsMap[type]
204
- }, Boolean(selected), router), undefined, {
205
- shallow: true
206
- });
200
+ }, Boolean(selected), router));
207
201
  }
208
202
  };
209
203
  });
@@ -8,6 +8,7 @@ var _utils = require("../../utils");
8
8
  var _assetsToMap = require("../../utils/assetsToMap");
9
9
  var _router = require("next/router");
10
10
  var _utils1 = require("../utils");
11
+ var _types = require("../types");
11
12
  var _index = require("../../index");
12
13
  var _useListingFilters = require("./useListingFilters");
13
14
  var _useListingCategories = require("./useListingCategories");
@@ -31,33 +32,6 @@ function _iterableToArray(iter) {
31
32
  function _nonIterableSpread() {
32
33
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
33
34
  }
34
- function _objectWithoutProperties(source, excluded) {
35
- if (source == null) return {};
36
- var target = _objectWithoutPropertiesLoose(source, excluded);
37
- var key, i;
38
- if (Object.getOwnPropertySymbols) {
39
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
40
- for(i = 0; i < sourceSymbolKeys.length; i++){
41
- key = sourceSymbolKeys[i];
42
- if (excluded.indexOf(key) >= 0) continue;
43
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
44
- target[key] = source[key];
45
- }
46
- }
47
- return target;
48
- }
49
- function _objectWithoutPropertiesLoose(source, excluded) {
50
- if (source == null) return {};
51
- var target = {};
52
- var sourceKeys = Object.keys(source);
53
- var key, i;
54
- for(i = 0; i < sourceKeys.length; i++){
55
- key = sourceKeys[i];
56
- if (excluded.indexOf(key) >= 0) continue;
57
- target[key] = source[key];
58
- }
59
- return target;
60
- }
61
35
  function _toConsumableArray(arr) {
62
36
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
63
37
  }
@@ -116,57 +90,74 @@ var useListingMeta = function() {
116
90
  };
117
91
  exports.useListingMeta = useListingMeta;
118
92
  function processDisplayName(slug, config, name, breadcrumb, router, aggData, categoriesData) {
119
- var ref, ref5;
120
93
  var listingName = (0, _utils).getTranslatableField(name);
121
94
  var brandName = getBrandName(router, aggData);
122
95
  var categoryName = getCategoryName(router, categoriesData);
123
96
  var type = (0, _utils1).getListingPageType(router, slug, config);
124
- var getTitle = config.getTitle, rest = _objectWithoutProperties(config, [
125
- "getTitle"
126
- ]);
127
- var title = getTitle === null || getTitle === void 0 ? void 0 : getTitle(type, rest, {
128
- category: categoryName,
129
- brand: brandName,
130
- defaultName: listingName,
131
- attribute: (ref = config.titleAliases) === null || ref === void 0 ? void 0 : ref[slug],
132
- childAttribute: (0, _utils).getTranslatableField(breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.label),
133
- search: router === null || router === void 0 ? void 0 : (ref5 = router.query) === null || ref5 === void 0 ? void 0 : ref5.search,
134
- isWithAttribute: Boolean(router === null || router === void 0 ? void 0 : router.query.cat)
135
- });
136
- return title || listingName;
97
+ if (type === _types.ListingTypesEnum.AttrPage) {
98
+ return "Всичко за ".concat(config.titleAliases[slug]);
99
+ }
100
+ if (router === null || router === void 0 ? void 0 : router.query.cat) {
101
+ var attribute = (0, _utils).getTranslatableField(breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.label);
102
+ if (type === _types.ListingTypesEnum.Category) {
103
+ if (!brandName) {
104
+ return "".concat(listingName, " за ").concat(attribute);
105
+ }
106
+ return "".concat(listingName, " за ").concat(attribute, " от ").concat(brandName);
107
+ }
108
+ if (type === _types.ListingTypesEnum.Brand) {
109
+ if (!categoryName) {
110
+ return "Всички продукти от ".concat(listingName, " за ").concat(attribute);
111
+ }
112
+ return "".concat(categoryName, " от ").concat(listingName, " за ").concat(attribute);
113
+ }
114
+ }
115
+ if (type === _types.ListingTypesEnum.Category && brandName) {
116
+ return "".concat(listingName, " от ").concat(brandName);
117
+ }
118
+ if (type === _types.ListingTypesEnum.Brand) {
119
+ if (!categoryName) {
120
+ return "Всички продукти от ".concat(listingName);
121
+ }
122
+ return "".concat(categoryName, " от ").concat(listingName);
123
+ }
124
+ if (type === _types.ListingTypesEnum.Search && (router === null || router === void 0 ? void 0 : router.query.search)) {
125
+ return "".concat(listingName, " от \"").concat(router.query.search, "\"");
126
+ }
127
+ return listingName;
137
128
  }
138
129
  function getFilterByType(filterType, router) {
139
130
  var filterId = '';
140
131
  if (Array.isArray(router === null || router === void 0 ? void 0 : router.query.filter)) {
141
- var ref, ref6;
132
+ var ref, ref5;
142
133
  var filters = (ref = router === null || router === void 0 ? void 0 : router.query.filter) === null || ref === void 0 ? void 0 : ref.filter(function(x) {
143
134
  return x === null || x === void 0 ? void 0 : x.includes(filterType);
144
135
  });
145
136
  if ((filters === null || filters === void 0 ? void 0 : filters.length) && filters.length > 1) {
146
137
  return '';
147
138
  }
148
- var filterTerm = (ref6 = /\d+/.exec((filters === null || filters === void 0 ? void 0 : filters[0]) || '')) === null || ref6 === void 0 ? void 0 : ref6[0];
139
+ var filterTerm = (ref5 = /\d+/.exec((filters === null || filters === void 0 ? void 0 : filters[0]) || '')) === null || ref5 === void 0 ? void 0 : ref5[0];
149
140
  if (!filterTerm) return '';
150
141
  filterId = filterTerm;
151
142
  } else {
152
- var ref7, ref8, ref9;
153
- var isFiltered = router === null || router === void 0 ? void 0 : (ref7 = router.query) === null || ref7 === void 0 ? void 0 : (ref8 = ref7.filter) === null || ref8 === void 0 ? void 0 : ref8.includes(filterType);
143
+ var ref6, ref7, ref8;
144
+ var isFiltered = router === null || router === void 0 ? void 0 : (ref6 = router.query) === null || ref6 === void 0 ? void 0 : (ref7 = ref6.filter) === null || ref7 === void 0 ? void 0 : ref7.includes(filterType);
154
145
  if (!isFiltered) {
155
146
  return '';
156
147
  }
157
- filterId = (ref9 = /(\w+)-(\d+)/.exec(router === null || router === void 0 ? void 0 : router.query.filter)) === null || ref9 === void 0 ? void 0 : ref9[0];
148
+ filterId = (ref8 = /(\w+)-(\d+)/.exec(router === null || router === void 0 ? void 0 : router.query.filter)) === null || ref8 === void 0 ? void 0 : ref8[0];
158
149
  }
159
150
  return filterId;
160
151
  }
161
152
  function getBrandName(router, filtersData) {
162
- var ref, ref10, ref11;
153
+ var ref, ref9, ref10;
163
154
  var brandId = getFilterByType('brand', router);
164
155
  var brand = (ref = filtersData === null || filtersData === void 0 ? void 0 : filtersData.find(function(x) {
165
156
  return x.name === 'Brands';
166
- })) === null || ref === void 0 ? void 0 : (ref10 = ref.items) === null || ref10 === void 0 ? void 0 : ref10.find(function(x) {
157
+ })) === null || ref === void 0 ? void 0 : (ref9 = ref.items) === null || ref9 === void 0 ? void 0 : ref9.find(function(x) {
167
158
  return x.data.key === brandId;
168
159
  });
169
- return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (ref11 = brand.meta) === null || ref11 === void 0 ? void 0 : ref11.name);
160
+ return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (ref10 = brand.meta) === null || ref10 === void 0 ? void 0 : ref10.name);
170
161
  }
171
162
  function getCategoryName(router, categories) {
172
163
  var categoryId = getFilterByType('category', router);