@sentecacommerce-theme/lib 0.12.94 → 0.12.95

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.
@@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
4
  exports.useWishlistItem = void 0;
5
- var _react = _interopRequireDefault(require("react"));
5
+ var _react = _interopRequireWildcard(require("react"));
6
6
  var _ = require("../../../");
7
7
  var _utils = require("../../basket-hooks/useBasketLineItem/utils");
8
8
  var _utils1 = require("../../../utils");
@@ -14,10 +14,26 @@ function _arrayLikeToArray(arr, len) {
14
14
  function _arrayWithHoles(arr) {
15
15
  if (Array.isArray(arr)) return arr;
16
16
  }
17
- function _interopRequireDefault(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
20
- };
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
+ }
21
37
  }
22
38
  function _iterableToArrayLimit(arr, i) {
23
39
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
@@ -59,15 +75,19 @@ function _unsupportedIterableToArray(o, minLen) {
59
75
  }
60
76
  var useWishlistItem = function(props) {
61
77
  var ref16;
62
- var ref1 = _slicedToArray(_react.default.useState(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
78
+ var item = props.item, expiry = props.expiry;
79
+ var ref1 = _slicedToArray((0, _).useBoolean(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
63
80
  var ref2 = _slicedToArray(_.wishlistApi.useSync(), 1), syncWishlist = ref2[0];
64
81
  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
+ }, []);
65
89
  var data = _react.default.useMemo(function() {
66
90
  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
- }
71
91
  var offer = item === null || item === void 0 ? void 0 : (ref = item.productVariant) === null || ref === void 0 ? void 0 : ref.offer;
72
92
  var mappedAttributes = (0, _utils).createMappedAttributes(item === null || item === void 0 ? void 0 : (ref4 = item.productVariant) === null || ref4 === void 0 ? void 0 : ref4.attributes) || {};
73
93
  var mappedCustomField = (0, _utils1).customFieldsToMap(item.custom);
@@ -107,12 +127,16 @@ var useWishlistItem = function(props) {
107
127
  }
108
128
  };
109
129
  }, [
110
- props.item
130
+ item
131
+ ]);
132
+ (0, _react).useEffect(function() {
133
+ if (isExpired) {
134
+ syncWishlist();
135
+ setIsExpired.off();
136
+ }
137
+ }, [
138
+ isExpired
111
139
  ]);
112
- if (isExpired) {
113
- syncWishlist();
114
- setIsExpired(false);
115
- }
116
140
  return data;
117
141
  };
118
142
  exports.useWishlistItem = useWishlistItem;
@@ -1,7 +1,7 @@
1
- import React from 'react';
2
- import { wishlistApi } from '../../../';
1
+ import React, { useEffect } from 'react';
2
+ import { useBoolean, wishlistApi } from '../../../';
3
3
  import { usePrefetchProduct, getTranslatableField } from '../../../';
4
- import { getTimeStamp, createMappedAttributes } from '../../basket-hooks/useBasketLineItem/utils';
4
+ import { createMappedAttributes } from '../../basket-hooks/useBasketLineItem/utils';
5
5
  import { customFieldsToMap } from '../../../utils';
6
6
  function _arrayLikeToArray(arr, len) {
7
7
  if (len == null || len > arr.length) len = arr.length;
@@ -51,15 +51,19 @@ function _unsupportedIterableToArray(o, minLen) {
51
51
  }
52
52
  export var useWishlistItem = function(props) {
53
53
  var ref16;
54
- var ref1 = _slicedToArray(React.useState(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
54
+ var item = props.item, expiry = props.expiry;
55
+ var ref1 = _slicedToArray(useBoolean(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
55
56
  var ref2 = _slicedToArray(wishlistApi.useSync(), 1), syncWishlist = ref2[0];
56
57
  var ref3 = usePrefetchProduct(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;
58
+ useEffect(function() {
59
+ if (expiry) {
60
+ if (Date.now() > expiry + (item === null || item === void 0 ? void 0 : item.snapshotFrom)) {
61
+ setIsExpired.on();
62
+ }
63
+ }
64
+ }, []);
57
65
  var data = React.useMemo(function() {
58
66
  var ref, ref4, ref5, ref6, ref7, ref8, ref9, ref10, ref11, ref12, ref13, ref14, ref15;
59
- var item = props.item;
60
- if (props.expiry && getTimeStamp(props.expiry) < (item === null || item === void 0 ? void 0 : item.snapshotFrom)) {
61
- setIsExpired(true);
62
- }
63
67
  var offer = item === null || item === void 0 ? void 0 : (ref = item.productVariant) === null || ref === void 0 ? void 0 : ref.offer;
64
68
  var mappedAttributes = createMappedAttributes(item === null || item === void 0 ? void 0 : (ref4 = item.productVariant) === null || ref4 === void 0 ? void 0 : ref4.attributes) || {};
65
69
  var mappedCustomField = customFieldsToMap(item.custom);
@@ -99,11 +103,15 @@ export var useWishlistItem = function(props) {
99
103
  }
100
104
  };
101
105
  }, [
102
- props.item
106
+ item
107
+ ]);
108
+ useEffect(function() {
109
+ if (isExpired) {
110
+ syncWishlist();
111
+ setIsExpired.off();
112
+ }
113
+ }, [
114
+ isExpired
103
115
  ]);
104
- if (isExpired) {
105
- syncWishlist();
106
- setIsExpired(false);
107
- }
108
116
  return data;
109
117
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentecacommerce-theme/lib",
3
3
  "sideEffects": false,
4
- "version": "0.12.94",
4
+ "version": "0.12.95",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/types/index.d.ts",
@@ -31,13 +31,13 @@
31
31
  "watch:cjs": "swc src --out-dir dist/cjs -w",
32
32
  "watch:esm": "swc src --out-dir dist/esm --no-swcrc -w"
33
33
  },
34
- "gitHead": "48c1b5df2b10751ae514f0b53e1c6810bd72471c",
34
+ "gitHead": "e4ce21f505cc0bea992d4a3fb45ff7d72cdee868",
35
35
  "peerDependencies": {
36
36
  "react-query": "^2.26.2"
37
37
  },
38
38
  "dependencies": {
39
- "@sentecacommerce-theme/base": "^0.12.94",
40
- "@sentecacommerce-theme/cms": "^0.12.94",
39
+ "@sentecacommerce-theme/base": "^0.12.95",
40
+ "@sentecacommerce-theme/cms": "^0.12.95",
41
41
  "@sentecacommerce/sdk": "2.0.161",
42
42
  "body-scroll-lock": "^3.1.5",
43
43
  "copy-to-clipboard": "^3.3.1",