@sentecacommerce-theme/lib 0.14.10 → 0.14.11
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.
- package/dist/cjs/contexts/CheckoutForm/utils/validateShipping.js +11 -7
- package/dist/cjs/hooks/CompareContext/CompareContext.js +141 -0
- package/dist/cjs/hooks/CompareContext/index.js +22 -0
- package/dist/cjs/hooks/useCheckoutShippingModule/index.js +4 -2
- package/dist/cjs/index.js +16 -4
- package/dist/esm/contexts/CheckoutForm/utils/validateShipping.js +11 -7
- package/dist/esm/hooks/CompareContext/CompareContext.js +114 -0
- package/dist/esm/hooks/CompareContext/index.js +1 -0
- package/dist/esm/hooks/useCheckoutShippingModule/index.js +4 -2
- package/dist/esm/index.js +1 -0
- package/dist/types/hooks/CompareContext/CompareContext.d.ts +16 -0
- package/dist/types/hooks/CompareContext/index.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +4 -4
| @@ -104,8 +104,12 @@ function genericOfficeValidation(param) { | |
| 104 104 | 
             
            }
         | 
| 105 105 | 
             
            function pickupFromStoreValidation(param) {
         | 
| 106 106 | 
             
                var mod = param.mod, errorLabels = param.errorLabels;
         | 
| 107 | 
            -
                var ref;
         | 
| 108 | 
            -
                 | 
| 107 | 
            +
                var ref, ref12;
         | 
| 108 | 
            +
                // Returning undefined means validation is passed
         | 
| 109 | 
            +
                if (mod === null || mod === void 0 ? void 0 : (ref = mod.moduleData) === null || ref === void 0 ? void 0 : ref.isWarehouseShipping) {
         | 
| 110 | 
            +
                    return undefined;
         | 
| 111 | 
            +
                }
         | 
| 112 | 
            +
                return !(mod === null || mod === void 0 ? void 0 : (ref12 = mod.moduleData) === null || ref12 === void 0 ? void 0 : ref12.stockLocation) ? {
         | 
| 109 113 | 
             
                    pickupFromStore: errorLabels.noStoreSelected
         | 
| 110 114 | 
             
                } : undefined;
         | 
| 111 115 | 
             
            }
         | 
| @@ -135,8 +139,8 @@ function validateShipping(data, mod, errorLabels, validations) { | |
| 135 139 | 
             
                var requiredFields = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : defaultRequiredFields, enableNoShippingMethodMode = arguments.length > 5 ? arguments[5] : void 0;
         | 
| 136 140 | 
             
                var validateErrors = {};
         | 
| 137 141 | 
             
                var globalErrors = requiredFields.reduce(function(errors, field) {
         | 
| 138 | 
            -
                    var ref,  | 
| 139 | 
            -
                    if (!(data === null || data === void 0 ? void 0 : (ref = data[field]) === null || ref === void 0 ? void 0 : ( | 
| 142 | 
            +
                    var ref, ref14;
         | 
| 143 | 
            +
                    if (!(data === null || data === void 0 ? void 0 : (ref = data[field]) === null || ref === void 0 ? void 0 : (ref14 = ref.trim) === null || ref14 === void 0 ? void 0 : ref14.call(ref))) {
         | 
| 140 144 | 
             
                        return _objectSpread({}, errors, _defineProperty({}, field, errorLabels.fieldIsRequired));
         | 
| 141 145 | 
             
                    }
         | 
| 142 146 | 
             
                    return errors;
         | 
| @@ -148,13 +152,13 @@ function validateShipping(data, mod, errorLabels, validations) { | |
| 148 152 | 
             
                    globalErrors.phoneNumber = (errorLabels === null || errorLabels === void 0 ? void 0 : errorLabels.invalidPhoneNumber) || '';
         | 
| 149 153 | 
             
                }
         | 
| 150 154 | 
             
                if (!enableNoShippingMethodMode) {
         | 
| 151 | 
            -
                    var  | 
| 152 | 
            -
                    if (!(mod === null || mod === void 0 ? void 0 : mod.moduleKey) || !(mod === null || mod === void 0 ? void 0 : ( | 
| 155 | 
            +
                    var ref15, ref13;
         | 
| 156 | 
            +
                    if (!(mod === null || mod === void 0 ? void 0 : mod.moduleKey) || !(mod === null || mod === void 0 ? void 0 : (ref15 = mod.moduleData) === null || ref15 === void 0 ? void 0 : ref15.methodKey)) {
         | 
| 153 157 | 
             
                        return _objectSpread({}, globalErrors, {
         | 
| 154 158 | 
             
                            courier: errorLabels.selectCourier
         | 
| 155 159 | 
             
                        });
         | 
| 156 160 | 
             
                    }
         | 
| 157 | 
            -
                    var validate = ( | 
| 161 | 
            +
                    var validate = (ref13 = validations[mod === null || mod === void 0 ? void 0 : mod.moduleKey]) === null || ref13 === void 0 ? void 0 : ref13[mod === null || mod === void 0 ? void 0 : mod.moduleData.methodKey];
         | 
| 158 162 | 
             
                    if (!validate) {
         | 
| 159 163 | 
             
                        throw new Error("Validation for shipping with provider: ".concat(mod === null || mod === void 0 ? void 0 : mod.moduleKey, " and method key: ").concat(mod === null || mod === void 0 ? void 0 : mod.moduleData.methodKey, " not found"));
         | 
| 160 164 | 
             
                    }
         | 
| @@ -0,0 +1,141 @@ | |
| 1 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 2 | 
            +
                value: true
         | 
| 3 | 
            +
            });
         | 
| 4 | 
            +
            exports.CompareContextProvider = CompareContextProvider;
         | 
| 5 | 
            +
            exports.useCompareState = useCompareState;
         | 
| 6 | 
            +
            exports.useCompareFunctions = useCompareFunctions;
         | 
| 7 | 
            +
            var _react = _interopRequireWildcard(require("react"));
         | 
| 8 | 
            +
            function _arrayLikeToArray(arr, len) {
         | 
| 9 | 
            +
                if (len == null || len > arr.length) len = arr.length;
         | 
| 10 | 
            +
                for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
         | 
| 11 | 
            +
                return arr2;
         | 
| 12 | 
            +
            }
         | 
| 13 | 
            +
            function _arrayWithHoles(arr) {
         | 
| 14 | 
            +
                if (Array.isArray(arr)) return arr;
         | 
| 15 | 
            +
            }
         | 
| 16 | 
            +
            function _interopRequireWildcard(obj) {
         | 
| 17 | 
            +
                if (obj && obj.__esModule) {
         | 
| 18 | 
            +
                    return obj;
         | 
| 19 | 
            +
                } else {
         | 
| 20 | 
            +
                    var newObj = {};
         | 
| 21 | 
            +
                    if (obj != null) {
         | 
| 22 | 
            +
                        for(var key in obj){
         | 
| 23 | 
            +
                            if (Object.prototype.hasOwnProperty.call(obj, key)) {
         | 
| 24 | 
            +
                                var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
         | 
| 25 | 
            +
                                if (desc.get || desc.set) {
         | 
| 26 | 
            +
                                    Object.defineProperty(newObj, key, desc);
         | 
| 27 | 
            +
                                } else {
         | 
| 28 | 
            +
                                    newObj[key] = obj[key];
         | 
| 29 | 
            +
                                }
         | 
| 30 | 
            +
                            }
         | 
| 31 | 
            +
                        }
         | 
| 32 | 
            +
                    }
         | 
| 33 | 
            +
                    newObj.default = obj;
         | 
| 34 | 
            +
                    return newObj;
         | 
| 35 | 
            +
                }
         | 
| 36 | 
            +
            }
         | 
| 37 | 
            +
            function _iterableToArrayLimit(arr, i) {
         | 
| 38 | 
            +
                var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
         | 
| 39 | 
            +
                if (_i == null) return;
         | 
| 40 | 
            +
                var _arr = [];
         | 
| 41 | 
            +
                var _n = true;
         | 
| 42 | 
            +
                var _d = false;
         | 
| 43 | 
            +
                var _s, _e;
         | 
| 44 | 
            +
                try {
         | 
| 45 | 
            +
                    for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
         | 
| 46 | 
            +
                        _arr.push(_s.value);
         | 
| 47 | 
            +
                        if (i && _arr.length === i) break;
         | 
| 48 | 
            +
                    }
         | 
| 49 | 
            +
                } catch (err) {
         | 
| 50 | 
            +
                    _d = true;
         | 
| 51 | 
            +
                    _e = err;
         | 
| 52 | 
            +
                } finally{
         | 
| 53 | 
            +
                    try {
         | 
| 54 | 
            +
                        if (!_n && _i["return"] != null) _i["return"]();
         | 
| 55 | 
            +
                    } finally{
         | 
| 56 | 
            +
                        if (_d) throw _e;
         | 
| 57 | 
            +
                    }
         | 
| 58 | 
            +
                }
         | 
| 59 | 
            +
                return _arr;
         | 
| 60 | 
            +
            }
         | 
| 61 | 
            +
            function _nonIterableRest() {
         | 
| 62 | 
            +
                throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
         | 
| 63 | 
            +
            }
         | 
| 64 | 
            +
            function _slicedToArray(arr, i) {
         | 
| 65 | 
            +
                return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
         | 
| 66 | 
            +
            }
         | 
| 67 | 
            +
            function _unsupportedIterableToArray(o, minLen) {
         | 
| 68 | 
            +
                if (!o) return;
         | 
| 69 | 
            +
                if (typeof o === "string") return _arrayLikeToArray(o, minLen);
         | 
| 70 | 
            +
                var n = Object.prototype.toString.call(o).slice(8, -1);
         | 
| 71 | 
            +
                if (n === "Object" && o.constructor) n = o.constructor.name;
         | 
| 72 | 
            +
                if (n === "Map" || n === "Set") return Array.from(n);
         | 
| 73 | 
            +
                if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
         | 
| 74 | 
            +
            }
         | 
| 75 | 
            +
            var CompareContextState = /*#__PURE__*/ _react.default.createContext(undefined);
         | 
| 76 | 
            +
            var CompareContextFunctions = /*#__PURE__*/ _react.default.createContext(undefined);
         | 
| 77 | 
            +
            function CompareContextProvider(param) {
         | 
| 78 | 
            +
                var children = param.children;
         | 
| 79 | 
            +
                var ref = _slicedToArray((0, _react).useState([]), 2), itemsToCompare = ref[0], setItemsToCompare = ref[1];
         | 
| 80 | 
            +
                // notAllowedState is needed in order to trigger rerender in useEffect dependency on the client
         | 
| 81 | 
            +
                // it allow us to know that we try to add more items than allowed
         | 
| 82 | 
            +
                var ref1 = _slicedToArray((0, _react).useState(0), 2), notAllowedState = ref1[0], setNotAllowedState = ref1[1];
         | 
| 83 | 
            +
                var itemAlreadyAdded = function(id) {
         | 
| 84 | 
            +
                    return itemsToCompare.filter(function(i) {
         | 
| 85 | 
            +
                        return i._id === id;
         | 
| 86 | 
            +
                    }).length !== 0;
         | 
| 87 | 
            +
                };
         | 
| 88 | 
            +
                var addItemToCompare = function(item, maxItemLength) {
         | 
| 89 | 
            +
                    var alreadyAdded = itemAlreadyAdded(item._id);
         | 
| 90 | 
            +
                    if (alreadyAdded) {
         | 
| 91 | 
            +
                        return;
         | 
| 92 | 
            +
                    }
         | 
| 93 | 
            +
                    if (itemsToCompare.length === maxItemLength) {
         | 
| 94 | 
            +
                        setNotAllowedState(notAllowedState + 1);
         | 
| 95 | 
            +
                        return;
         | 
| 96 | 
            +
                    }
         | 
| 97 | 
            +
                    if (itemsToCompare.length < maxItemLength) {
         | 
| 98 | 
            +
                        itemsToCompare.push(item);
         | 
| 99 | 
            +
                        setNotAllowedState(0);
         | 
| 100 | 
            +
                        setItemsToCompare(itemsToCompare);
         | 
| 101 | 
            +
                    }
         | 
| 102 | 
            +
                };
         | 
| 103 | 
            +
                var removeComparedItem = function(id) {
         | 
| 104 | 
            +
                    var filtered = itemsToCompare.filter(function(i) {
         | 
| 105 | 
            +
                        return i._id !== id;
         | 
| 106 | 
            +
                    });
         | 
| 107 | 
            +
                    setItemsToCompare(filtered);
         | 
| 108 | 
            +
                };
         | 
| 109 | 
            +
                var removeAllComparedItems = function() {
         | 
| 110 | 
            +
                    return setItemsToCompare([]);
         | 
| 111 | 
            +
                };
         | 
| 112 | 
            +
                var notAllowed = function() {
         | 
| 113 | 
            +
                    return notAllowedState;
         | 
| 114 | 
            +
                };
         | 
| 115 | 
            +
                var functions = {
         | 
| 116 | 
            +
                    itemAlreadyAdded: itemAlreadyAdded,
         | 
| 117 | 
            +
                    addItemToCompare: addItemToCompare,
         | 
| 118 | 
            +
                    removeComparedItem: removeComparedItem,
         | 
| 119 | 
            +
                    removeAllComparedItems: removeAllComparedItems,
         | 
| 120 | 
            +
                    notAllowed: notAllowed
         | 
| 121 | 
            +
                };
         | 
| 122 | 
            +
                return(/*#__PURE__*/ _react.default.createElement(CompareContextState.Provider, {
         | 
| 123 | 
            +
                    value: itemsToCompare
         | 
| 124 | 
            +
                }, /*#__PURE__*/ _react.default.createElement(CompareContextFunctions.Provider, {
         | 
| 125 | 
            +
                    value: functions
         | 
| 126 | 
            +
                }, children)));
         | 
| 127 | 
            +
            }
         | 
| 128 | 
            +
            function useCompareState() {
         | 
| 129 | 
            +
                var context = _react.default.useContext(CompareContextState);
         | 
| 130 | 
            +
                if (context === undefined) {
         | 
| 131 | 
            +
                    throw new Error('CompareContextState must be used within a CompareContextProvider');
         | 
| 132 | 
            +
                }
         | 
| 133 | 
            +
                return context;
         | 
| 134 | 
            +
            }
         | 
| 135 | 
            +
            function useCompareFunctions() {
         | 
| 136 | 
            +
                var context = _react.default.useContext(CompareContextFunctions);
         | 
| 137 | 
            +
                if (context === undefined) {
         | 
| 138 | 
            +
                    throw new Error('CompareContextFunctions must be used within a CompareContextProvider');
         | 
| 139 | 
            +
                }
         | 
| 140 | 
            +
                return context;
         | 
| 141 | 
            +
            }
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 2 | 
            +
                value: true
         | 
| 3 | 
            +
            });
         | 
| 4 | 
            +
            Object.defineProperty(exports, "CompareContextProvider", {
         | 
| 5 | 
            +
                enumerable: true,
         | 
| 6 | 
            +
                get: function() {
         | 
| 7 | 
            +
                    return _compareContext.CompareContextProvider;
         | 
| 8 | 
            +
                }
         | 
| 9 | 
            +
            });
         | 
| 10 | 
            +
            Object.defineProperty(exports, "useCompareState", {
         | 
| 11 | 
            +
                enumerable: true,
         | 
| 12 | 
            +
                get: function() {
         | 
| 13 | 
            +
                    return _compareContext.useCompareState;
         | 
| 14 | 
            +
                }
         | 
| 15 | 
            +
            });
         | 
| 16 | 
            +
            Object.defineProperty(exports, "useCompareFunctions", {
         | 
| 17 | 
            +
                enumerable: true,
         | 
| 18 | 
            +
                get: function() {
         | 
| 19 | 
            +
                    return _compareContext.useCompareFunctions;
         | 
| 20 | 
            +
                }
         | 
| 21 | 
            +
            });
         | 
| 22 | 
            +
            var _compareContext = require("./CompareContext");
         | 
| @@ -35,13 +35,15 @@ var useCheckoutShippingModule = function(orderQuery) { | |
| 35 35 | 
             
                var isEnabled = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
         | 
| 36 36 | 
             
                var cartData = orderQuery.data;
         | 
| 37 37 | 
             
                return (0, _react).useMemo(function() {
         | 
| 38 | 
            -
                    var ref;
         | 
| 38 | 
            +
                    var ref, ref1;
         | 
| 39 39 | 
             
                    if (!isEnabled) return;
         | 
| 40 40 | 
             
                    var shipping = cartData === null || cartData === void 0 ? void 0 : (ref = cartData.shippings) === null || ref === void 0 ? void 0 : ref[0];
         | 
| 41 41 | 
             
                    return {
         | 
| 42 42 | 
             
                        moduleKey: shipping === null || shipping === void 0 ? void 0 : shipping.moduleKey,
         | 
| 43 43 | 
             
                        moduleData: _objectSpread({}, shipping === null || shipping === void 0 ? void 0 : shipping.moduleData, {
         | 
| 44 | 
            -
                            methodKey: shipping === null || shipping === void 0 ? void 0 : shipping.moduleMethodKey
         | 
| 44 | 
            +
                            methodKey: shipping === null || shipping === void 0 ? void 0 : shipping.moduleMethodKey,
         | 
| 45 | 
            +
                            // Special case of warehouse for christian of roma
         | 
| 46 | 
            +
                            isWarehouseShipping: (shipping === null || shipping === void 0 ? void 0 : shipping.moduleKey) === 'PickUpFromStore' && (shipping === null || shipping === void 0 ? void 0 : (ref1 = shipping.merchant) === null || ref1 === void 0 ? void 0 : ref1.resourceKey) === 'christian-of-roma'
         | 
| 45 47 | 
             
                        })
         | 
| 46 48 | 
             
                    };
         | 
| 47 49 | 
             
                }, [
         | 
    
        package/dist/cjs/index.js
    CHANGED
    
    | @@ -1058,6 +1058,18 @@ Object.keys(_types).forEach(function(key) { | |
| 1058 1058 | 
             
                    }
         | 
| 1059 1059 | 
             
                });
         | 
| 1060 1060 | 
             
            });
         | 
| 1061 | 
            +
            var _ = _interopRequireWildcard(require("./hooks/CompareContext/"));
         | 
| 1062 | 
            +
            Object.keys(_).forEach(function(key) {
         | 
| 1063 | 
            +
                if (key === "default" || key === "__esModule") return;
         | 
| 1064 | 
            +
                if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
         | 
| 1065 | 
            +
                if (key in exports && exports[key] === _[key]) return;
         | 
| 1066 | 
            +
                Object.defineProperty(exports, key, {
         | 
| 1067 | 
            +
                    enumerable: true,
         | 
| 1068 | 
            +
                    get: function() {
         | 
| 1069 | 
            +
                        return _[key];
         | 
| 1070 | 
            +
                    }
         | 
| 1071 | 
            +
                });
         | 
| 1072 | 
            +
            });
         | 
| 1061 1073 | 
             
            var _utils1 = _interopRequireWildcard(require("./utils"));
         | 
| 1062 1074 | 
             
            Object.keys(_utils1).forEach(function(key) {
         | 
| 1063 1075 | 
             
                if (key === "default" || key === "__esModule") return;
         | 
| @@ -1214,15 +1226,15 @@ Object.keys(_misc).forEach(function(key) { | |
| 1214 1226 | 
             
                    }
         | 
| 1215 1227 | 
             
                });
         | 
| 1216 1228 | 
             
            });
         | 
| 1217 | 
            -
            var  | 
| 1218 | 
            -
            Object.keys( | 
| 1229 | 
            +
            var _1 = _interopRequireWildcard(require("./ssr/"));
         | 
| 1230 | 
            +
            Object.keys(_1).forEach(function(key) {
         | 
| 1219 1231 | 
             
                if (key === "default" || key === "__esModule") return;
         | 
| 1220 1232 | 
             
                if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
         | 
| 1221 | 
            -
                if (key in exports && exports[key] ===  | 
| 1233 | 
            +
                if (key in exports && exports[key] === _1[key]) return;
         | 
| 1222 1234 | 
             
                Object.defineProperty(exports, key, {
         | 
| 1223 1235 | 
             
                    enumerable: true,
         | 
| 1224 1236 | 
             
                    get: function() {
         | 
| 1225 | 
            -
                        return  | 
| 1237 | 
            +
                        return _1[key];
         | 
| 1226 1238 | 
             
                    }
         | 
| 1227 1239 | 
             
                });
         | 
| 1228 1240 | 
             
            });
         | 
| @@ -95,8 +95,12 @@ export function genericOfficeValidation(param) { | |
| 95 95 | 
             
            }
         | 
| 96 96 | 
             
            export function pickupFromStoreValidation(param) {
         | 
| 97 97 | 
             
                var mod = param.mod, errorLabels = param.errorLabels;
         | 
| 98 | 
            -
                var ref;
         | 
| 99 | 
            -
                 | 
| 98 | 
            +
                var ref, ref12;
         | 
| 99 | 
            +
                // Returning undefined means validation is passed
         | 
| 100 | 
            +
                if (mod === null || mod === void 0 ? void 0 : (ref = mod.moduleData) === null || ref === void 0 ? void 0 : ref.isWarehouseShipping) {
         | 
| 101 | 
            +
                    return undefined;
         | 
| 102 | 
            +
                }
         | 
| 103 | 
            +
                return !(mod === null || mod === void 0 ? void 0 : (ref12 = mod.moduleData) === null || ref12 === void 0 ? void 0 : ref12.stockLocation) ? {
         | 
| 100 104 | 
             
                    pickupFromStore: errorLabels.noStoreSelected
         | 
| 101 105 | 
             
                } : undefined;
         | 
| 102 106 | 
             
            }
         | 
| @@ -125,8 +129,8 @@ export function validateShipping(data, mod, errorLabels, validations) { | |
| 125 129 | 
             
                var requiredFields = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : defaultRequiredFields, enableNoShippingMethodMode = arguments.length > 5 ? arguments[5] : void 0;
         | 
| 126 130 | 
             
                var validateErrors = {};
         | 
| 127 131 | 
             
                var globalErrors = requiredFields.reduce(function(errors, field) {
         | 
| 128 | 
            -
                    var ref,  | 
| 129 | 
            -
                    if (!(data === null || data === void 0 ? void 0 : (ref = data[field]) === null || ref === void 0 ? void 0 : ( | 
| 132 | 
            +
                    var ref, ref14;
         | 
| 133 | 
            +
                    if (!(data === null || data === void 0 ? void 0 : (ref = data[field]) === null || ref === void 0 ? void 0 : (ref14 = ref.trim) === null || ref14 === void 0 ? void 0 : ref14.call(ref))) {
         | 
| 130 134 | 
             
                        return _objectSpread({}, errors, _defineProperty({}, field, errorLabels.fieldIsRequired));
         | 
| 131 135 | 
             
                    }
         | 
| 132 136 | 
             
                    return errors;
         | 
| @@ -138,13 +142,13 @@ export function validateShipping(data, mod, errorLabels, validations) { | |
| 138 142 | 
             
                    globalErrors.phoneNumber = (errorLabels === null || errorLabels === void 0 ? void 0 : errorLabels.invalidPhoneNumber) || '';
         | 
| 139 143 | 
             
                }
         | 
| 140 144 | 
             
                if (!enableNoShippingMethodMode) {
         | 
| 141 | 
            -
                    var  | 
| 142 | 
            -
                    if (!(mod === null || mod === void 0 ? void 0 : mod.moduleKey) || !(mod === null || mod === void 0 ? void 0 : ( | 
| 145 | 
            +
                    var ref15, ref13;
         | 
| 146 | 
            +
                    if (!(mod === null || mod === void 0 ? void 0 : mod.moduleKey) || !(mod === null || mod === void 0 ? void 0 : (ref15 = mod.moduleData) === null || ref15 === void 0 ? void 0 : ref15.methodKey)) {
         | 
| 143 147 | 
             
                        return _objectSpread({}, globalErrors, {
         | 
| 144 148 | 
             
                            courier: errorLabels.selectCourier
         | 
| 145 149 | 
             
                        });
         | 
| 146 150 | 
             
                    }
         | 
| 147 | 
            -
                    var validate = ( | 
| 151 | 
            +
                    var validate = (ref13 = validations[mod === null || mod === void 0 ? void 0 : mod.moduleKey]) === null || ref13 === void 0 ? void 0 : ref13[mod === null || mod === void 0 ? void 0 : mod.moduleData.methodKey];
         | 
| 148 152 | 
             
                    if (!validate) {
         | 
| 149 153 | 
             
                        throw new Error("Validation for shipping with provider: ".concat(mod === null || mod === void 0 ? void 0 : mod.moduleKey, " and method key: ").concat(mod === null || mod === void 0 ? void 0 : mod.moduleData.methodKey, " not found"));
         | 
| 150 154 | 
             
                    }
         | 
| @@ -0,0 +1,114 @@ | |
| 1 | 
            +
            import React, { useState } from 'react';
         | 
| 2 | 
            +
            function _arrayLikeToArray(arr, len) {
         | 
| 3 | 
            +
                if (len == null || len > arr.length) len = arr.length;
         | 
| 4 | 
            +
                for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
         | 
| 5 | 
            +
                return arr2;
         | 
| 6 | 
            +
            }
         | 
| 7 | 
            +
            function _arrayWithHoles(arr) {
         | 
| 8 | 
            +
                if (Array.isArray(arr)) return arr;
         | 
| 9 | 
            +
            }
         | 
| 10 | 
            +
            function _iterableToArrayLimit(arr, i) {
         | 
| 11 | 
            +
                var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
         | 
| 12 | 
            +
                if (_i == null) return;
         | 
| 13 | 
            +
                var _arr = [];
         | 
| 14 | 
            +
                var _n = true;
         | 
| 15 | 
            +
                var _d = false;
         | 
| 16 | 
            +
                var _s, _e;
         | 
| 17 | 
            +
                try {
         | 
| 18 | 
            +
                    for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
         | 
| 19 | 
            +
                        _arr.push(_s.value);
         | 
| 20 | 
            +
                        if (i && _arr.length === i) break;
         | 
| 21 | 
            +
                    }
         | 
| 22 | 
            +
                } catch (err) {
         | 
| 23 | 
            +
                    _d = true;
         | 
| 24 | 
            +
                    _e = err;
         | 
| 25 | 
            +
                } finally{
         | 
| 26 | 
            +
                    try {
         | 
| 27 | 
            +
                        if (!_n && _i["return"] != null) _i["return"]();
         | 
| 28 | 
            +
                    } finally{
         | 
| 29 | 
            +
                        if (_d) throw _e;
         | 
| 30 | 
            +
                    }
         | 
| 31 | 
            +
                }
         | 
| 32 | 
            +
                return _arr;
         | 
| 33 | 
            +
            }
         | 
| 34 | 
            +
            function _nonIterableRest() {
         | 
| 35 | 
            +
                throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
         | 
| 36 | 
            +
            }
         | 
| 37 | 
            +
            function _slicedToArray(arr, i) {
         | 
| 38 | 
            +
                return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
         | 
| 39 | 
            +
            }
         | 
| 40 | 
            +
            function _unsupportedIterableToArray(o, minLen) {
         | 
| 41 | 
            +
                if (!o) return;
         | 
| 42 | 
            +
                if (typeof o === "string") return _arrayLikeToArray(o, minLen);
         | 
| 43 | 
            +
                var n = Object.prototype.toString.call(o).slice(8, -1);
         | 
| 44 | 
            +
                if (n === "Object" && o.constructor) n = o.constructor.name;
         | 
| 45 | 
            +
                if (n === "Map" || n === "Set") return Array.from(n);
         | 
| 46 | 
            +
                if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
         | 
| 47 | 
            +
            }
         | 
| 48 | 
            +
            var CompareContextState = /*#__PURE__*/ React.createContext(undefined);
         | 
| 49 | 
            +
            var CompareContextFunctions = /*#__PURE__*/ React.createContext(undefined);
         | 
| 50 | 
            +
            export function CompareContextProvider(param) {
         | 
| 51 | 
            +
                var children = param.children;
         | 
| 52 | 
            +
                var ref = _slicedToArray(useState([]), 2), itemsToCompare = ref[0], setItemsToCompare = ref[1];
         | 
| 53 | 
            +
                // notAllowedState is needed in order to trigger rerender in useEffect dependency on the client
         | 
| 54 | 
            +
                // it allow us to know that we try to add more items than allowed
         | 
| 55 | 
            +
                var ref1 = _slicedToArray(useState(0), 2), notAllowedState = ref1[0], setNotAllowedState = ref1[1];
         | 
| 56 | 
            +
                var itemAlreadyAdded = function(id) {
         | 
| 57 | 
            +
                    return itemsToCompare.filter(function(i) {
         | 
| 58 | 
            +
                        return i._id === id;
         | 
| 59 | 
            +
                    }).length !== 0;
         | 
| 60 | 
            +
                };
         | 
| 61 | 
            +
                var addItemToCompare = function(item, maxItemLength) {
         | 
| 62 | 
            +
                    var alreadyAdded = itemAlreadyAdded(item._id);
         | 
| 63 | 
            +
                    if (alreadyAdded) {
         | 
| 64 | 
            +
                        return;
         | 
| 65 | 
            +
                    }
         | 
| 66 | 
            +
                    if (itemsToCompare.length === maxItemLength) {
         | 
| 67 | 
            +
                        setNotAllowedState(notAllowedState + 1);
         | 
| 68 | 
            +
                        return;
         | 
| 69 | 
            +
                    }
         | 
| 70 | 
            +
                    if (itemsToCompare.length < maxItemLength) {
         | 
| 71 | 
            +
                        itemsToCompare.push(item);
         | 
| 72 | 
            +
                        setNotAllowedState(0);
         | 
| 73 | 
            +
                        setItemsToCompare(itemsToCompare);
         | 
| 74 | 
            +
                    }
         | 
| 75 | 
            +
                };
         | 
| 76 | 
            +
                var removeComparedItem = function(id) {
         | 
| 77 | 
            +
                    var filtered = itemsToCompare.filter(function(i) {
         | 
| 78 | 
            +
                        return i._id !== id;
         | 
| 79 | 
            +
                    });
         | 
| 80 | 
            +
                    setItemsToCompare(filtered);
         | 
| 81 | 
            +
                };
         | 
| 82 | 
            +
                var removeAllComparedItems = function() {
         | 
| 83 | 
            +
                    return setItemsToCompare([]);
         | 
| 84 | 
            +
                };
         | 
| 85 | 
            +
                var notAllowed = function() {
         | 
| 86 | 
            +
                    return notAllowedState;
         | 
| 87 | 
            +
                };
         | 
| 88 | 
            +
                var functions = {
         | 
| 89 | 
            +
                    itemAlreadyAdded: itemAlreadyAdded,
         | 
| 90 | 
            +
                    addItemToCompare: addItemToCompare,
         | 
| 91 | 
            +
                    removeComparedItem: removeComparedItem,
         | 
| 92 | 
            +
                    removeAllComparedItems: removeAllComparedItems,
         | 
| 93 | 
            +
                    notAllowed: notAllowed
         | 
| 94 | 
            +
                };
         | 
| 95 | 
            +
                return(/*#__PURE__*/ React.createElement(CompareContextState.Provider, {
         | 
| 96 | 
            +
                    value: itemsToCompare
         | 
| 97 | 
            +
                }, /*#__PURE__*/ React.createElement(CompareContextFunctions.Provider, {
         | 
| 98 | 
            +
                    value: functions
         | 
| 99 | 
            +
                }, children)));
         | 
| 100 | 
            +
            }
         | 
| 101 | 
            +
            export function useCompareState() {
         | 
| 102 | 
            +
                var context = React.useContext(CompareContextState);
         | 
| 103 | 
            +
                if (context === undefined) {
         | 
| 104 | 
            +
                    throw new Error('CompareContextState must be used within a CompareContextProvider');
         | 
| 105 | 
            +
                }
         | 
| 106 | 
            +
                return context;
         | 
| 107 | 
            +
            }
         | 
| 108 | 
            +
            export function useCompareFunctions() {
         | 
| 109 | 
            +
                var context = React.useContext(CompareContextFunctions);
         | 
| 110 | 
            +
                if (context === undefined) {
         | 
| 111 | 
            +
                    throw new Error('CompareContextFunctions must be used within a CompareContextProvider');
         | 
| 112 | 
            +
                }
         | 
| 113 | 
            +
                return context;
         | 
| 114 | 
            +
            }
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            export { CompareContextProvider, useCompareState, useCompareFunctions } from './CompareContext';
         | 
| @@ -31,13 +31,15 @@ export var useCheckoutShippingModule = function(orderQuery) { | |
| 31 31 | 
             
                var isEnabled = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
         | 
| 32 32 | 
             
                var cartData = orderQuery.data;
         | 
| 33 33 | 
             
                return useMemo(function() {
         | 
| 34 | 
            -
                    var ref;
         | 
| 34 | 
            +
                    var ref, ref1;
         | 
| 35 35 | 
             
                    if (!isEnabled) return;
         | 
| 36 36 | 
             
                    var shipping = cartData === null || cartData === void 0 ? void 0 : (ref = cartData.shippings) === null || ref === void 0 ? void 0 : ref[0];
         | 
| 37 37 | 
             
                    return {
         | 
| 38 38 | 
             
                        moduleKey: shipping === null || shipping === void 0 ? void 0 : shipping.moduleKey,
         | 
| 39 39 | 
             
                        moduleData: _objectSpread({}, shipping === null || shipping === void 0 ? void 0 : shipping.moduleData, {
         | 
| 40 | 
            -
                            methodKey: shipping === null || shipping === void 0 ? void 0 : shipping.moduleMethodKey
         | 
| 40 | 
            +
                            methodKey: shipping === null || shipping === void 0 ? void 0 : shipping.moduleMethodKey,
         | 
| 41 | 
            +
                            // Special case of warehouse for christian of roma
         | 
| 42 | 
            +
                            isWarehouseShipping: (shipping === null || shipping === void 0 ? void 0 : shipping.moduleKey) === 'PickUpFromStore' && (shipping === null || shipping === void 0 ? void 0 : (ref1 = shipping.merchant) === null || ref1 === void 0 ? void 0 : ref1.resourceKey) === 'christian-of-roma'
         | 
| 41 43 | 
             
                        })
         | 
| 42 44 | 
             
                    };
         | 
| 43 45 | 
             
                }, [
         | 
    
        package/dist/esm/index.js
    CHANGED
    
    | @@ -93,6 +93,7 @@ export * from './hooks/useProgressBar'; | |
| 93 93 | 
             
            export * from './hooks/useCatalogDiscounts';
         | 
| 94 94 | 
             
            export * from './hooks/useLocalRating';
         | 
| 95 95 | 
             
            export * from './hooks/useProductVariants/types';
         | 
| 96 | 
            +
            export * from './hooks/CompareContext/';
         | 
| 96 97 | 
             
            // Utils
         | 
| 97 98 | 
             
            export * from './utils';
         | 
| 98 99 | 
             
            export * from './types';
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            import type { SearchResultDTO, LineItemDTO } from '@sentecacommerce/sdk';
         | 
| 2 | 
            +
            declare type CompareStateItemType = SearchResultDTO | LineItemDTO;
         | 
| 3 | 
            +
            declare type CompareStateItemsType = SearchResultDTO[] | LineItemDTO[];
         | 
| 4 | 
            +
            declare type CompareContextType = {
         | 
| 5 | 
            +
                itemAlreadyAdded: (id: string) => boolean;
         | 
| 6 | 
            +
                addItemToCompare: (item: CompareStateItemType, maxItemLength: number) => void;
         | 
| 7 | 
            +
                removeComparedItem: (id: string) => void;
         | 
| 8 | 
            +
                removeAllComparedItems: () => void;
         | 
| 9 | 
            +
                notAllowed: () => number;
         | 
| 10 | 
            +
            };
         | 
| 11 | 
            +
            export declare function CompareContextProvider({ children }: {
         | 
| 12 | 
            +
                children: any;
         | 
| 13 | 
            +
            }): JSX.Element;
         | 
| 14 | 
            +
            export declare function useCompareState(): CompareStateItemsType;
         | 
| 15 | 
            +
            export declare function useCompareFunctions(): CompareContextType;
         | 
| 16 | 
            +
            export {};
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            export { CompareContextProvider, useCompareState, useCompareFunctions, } from './CompareContext';
         | 
    
        package/dist/types/index.d.ts
    CHANGED
    
    | @@ -86,6 +86,7 @@ export * from './hooks/useProgressBar'; | |
| 86 86 | 
             
            export * from './hooks/useCatalogDiscounts';
         | 
| 87 87 | 
             
            export * from './hooks/useLocalRating';
         | 
| 88 88 | 
             
            export * from './hooks/useProductVariants/types';
         | 
| 89 | 
            +
            export * from './hooks/CompareContext/';
         | 
| 89 90 | 
             
            export * from './utils';
         | 
| 90 91 | 
             
            export * from './types';
         | 
| 91 92 | 
             
            export * from './seo';
         | 
    
        package/package.json
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
              "name": "@sentecacommerce-theme/lib",
         | 
| 3 3 | 
             
              "sideEffects": false,
         | 
| 4 | 
            -
              "version": "0.14. | 
| 4 | 
            +
              "version": "0.14.11",
         | 
| 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": " | 
| 34 | 
            +
              "gitHead": "9f85ecb7a9f320e4ba8a0d73bd34747c45e9ec33",
         | 
| 35 35 | 
             
              "peerDependencies": {
         | 
| 36 36 | 
             
                "react-query": "^2.26.2"
         | 
| 37 37 | 
             
              },
         | 
| 38 38 | 
             
              "dependencies": {
         | 
| 39 | 
            -
                "@sentecacommerce-theme/base": "^0.14. | 
| 40 | 
            -
                "@sentecacommerce-theme/cms": "^0.14. | 
| 39 | 
            +
                "@sentecacommerce-theme/base": "^0.14.11",
         | 
| 40 | 
            +
                "@sentecacommerce-theme/cms": "^0.14.11",
         | 
| 41 41 | 
             
                "@sentecacommerce/sdk": "2.0.175",
         | 
| 42 42 | 
             
                "body-scroll-lock": "^3.1.5",
         | 
| 43 43 | 
             
                "copy-to-clipboard": "^3.3.1",
         |