@ikas/storefront-model-functions 4.12.0 → 4.13.0

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.
@@ -12,6 +12,7 @@ export declare function toInput(filter: IkasProductFilter): IkasSearchInputFilte
12
12
  export declare function applyQueryParam(filter: IkasProductFilter, value: string): void;
13
13
  export declare function rangeToId(range: IkasFilterRangeValue): string;
14
14
  export declare function parseRangeStr(rangeStr: string): IkasFilterRangeValue;
15
+ export declare function getIkasFilterHref(value: IkasApplicableProductFilterValue): string;
15
16
  export declare type IkasSearchInputFilterListInput = {
16
17
  displayType?: IkasProductFilterDisplayType | null;
17
18
  id: string;
@@ -1 +1 @@
1
- import{IkasProductFilterDisplayType as e,IkasProductFilterType as n,IkasProductFilterSortType as t}from"@ikas/storefront-models";import i from"lodash/sortBy";import r from"lodash/cloneDeep";function o(n){return[e.NUMBER_RANGE_LIST,e.NUMBER_RANGE].includes(n.displayType)}function u(e){return e.type===n.STOCK_STATUS}function l(e){var n;return e.numberRange?[E(e.numberRange)]:e.numberRangeListOptions?e.numberRangeListOptions.filter((function(e){return e.isSelected})).map((function(e){return E(e)})):(null===(n=e.values)||void 0===n?void 0:n.filter((function(e){return e.isSelected})).map((function(e){return e.id})))||[]}function s(e){var n;return e.numberRange?[E(e.numberRange)]:e.numberRangeListOptions?e.numberRangeListOptions.filter((function(e){return e.isSelected})).map((function(e){return E(e)})):(null===(n=e.values)||void 0===n?void 0:n.filter((function(e){return e.isSelected})).map((function(e){return e.key})))||[]}function c(e){var n,r,o,u=(null===(n=e.settings)||void 0===n?void 0:n.sortType)||t.ALPHABETICAL_ASC,l=[t.ALPHABETICAL_DESC,t.PRODUCT_COUNT_DESC].includes(u),s=[t.ALPHABETICAL_ASC,t.ALPHABETICAL_DESC].includes(u),c=u===t.CUSTOM_SORT,a=null===(r=e.values)||void 0===r?void 0:r.filter((function(e){return 0!==e.resultCount||e.isSelected}));if(a=i(a,s?"name":"resultCount"),l&&(a=null==a?void 0:a.reverse()),c){var d=(null===(o=e.settings)||void 0===o?void 0:o.customSortedValues)||[];a=a.sort((function(e,n){return d.indexOf(e.id)-d.indexOf(n.id)}))}return a}function a(e,n){var t;if(o(e))throw new Error("onFilterValueClick cannot be used with NUMBER_RANGE | NUMBER_RANGE_LIST types!");n.isSelected=!n.isSelected,!e.isMultiSelect&&n.isSelected&&(null===(t=e.values)||void 0===t||t.forEach((function(e){e.id!==n.id&&(e.isSelected=!1)})))}function d(n,t){var i;if(n.displayType!==e.NUMBER_RANGE_LIST)throw new Error("onNumberRangeClick can only be used with NUMBER_RANGE filters!");t.isSelected=!t.isSelected,!n.isMultiSelect&&t.isSelected&&(null===(i=n.numberRangeListOptions)||void 0===i||i.forEach((function(e){e.key!==t.key&&(e.isSelected=!1)})))}function f(n,t){var i;if(n.displayType!==e.NUMBER_RANGE)throw new Error("onNumberRangeChange can only be used with NUMBER_RANGE filters!");if(t){var o=r(t);o.from<n.numberRangeLimit.from&&(o.from=n.numberRange.from),o.to&&(null===(i=n.numberRangeLimit)||void 0===i?void 0:i.to)&&o.to>n.numberRangeLimit.to&&(o.to=n.numberRangeLimit.to),n.numberRange=o}else n.numberRange=null}function m(e){var n,t;e.numberRange=null,null===(n=e.numberRangeListOptions)||void 0===n||n.forEach((function(e){return e.isSelected=!1})),null===(t=e.values)||void 0===t||t.forEach((function(e){return e.isSelected=!1}))}function R(e){var n;return{id:e.key,type:e.type,valueList:l(e),useAndFilter:null===(n=e.settings)||void 0===n?void 0:n.useAndFilter}}function v(n,t){var i,r,o=t.split(",");n.displayType===e.NUMBER_RANGE?n.numberRange=p(t):n.displayType===e.NUMBER_RANGE_LIST?null===(i=n.numberRangeListOptions)||void 0===i||i.forEach((function(e){o.includes(e.key)&&(e.isSelected=!0)})):null===(r=n.values)||void 0===r||r.forEach((function(e){o.includes(e.key)&&0!==e.resultCount&&(e.isSelected=!0)}))}function E(e){return"".concat(e.from,":").concat(e.to||"")}function p(e){try{var n=e.split(":").map((function(e){return parseInt(e)}));return{from:isNaN(n[0])?0:n[0],to:isNaN(n[1])?void 0:n[1]}}catch(e){return console.log(e),{from:0,to:0}}}export{v as applyQueryParam,m as clear,c as getDisplayedValues,s as getKeyList,l as getValueList,o as isCustomValueFilter,u as isStockFilter,a as onFilterValueClick,f as onNumberRangeChange,d as onNumberRangeClick,p as parseRangeStr,E as rangeToId,R as toInput};
1
+ import{IkasProductFilterDisplayType as e,IkasProductFilterType as n,IkasProductFilterSortType as t}from"@ikas/storefront-models";import i from"lodash/sortBy";import r from"lodash/cloneDeep";function u(n){return[e.NUMBER_RANGE_LIST,e.NUMBER_RANGE].includes(n.displayType)}function o(e){return e.type===n.STOCK_STATUS}function l(e){var n;return e.numberRange?[E(e.numberRange)]:e.numberRangeListOptions?e.numberRangeListOptions.filter((function(e){return e.isSelected})).map((function(e){return E(e)})):(null===(n=e.values)||void 0===n?void 0:n.filter((function(e){return e.isSelected})).map((function(e){return e.id})))||[]}function s(e){var n;return e.numberRange?[E(e.numberRange)]:e.numberRangeListOptions?e.numberRangeListOptions.filter((function(e){return e.isSelected})).map((function(e){return E(e)})):(null===(n=e.values)||void 0===n?void 0:n.filter((function(e){return e.isSelected})).map((function(e){return e.key})))||[]}function c(e){var n,r,u,o=(null===(n=e.settings)||void 0===n?void 0:n.sortType)||t.ALPHABETICAL_ASC,l=[t.ALPHABETICAL_DESC,t.PRODUCT_COUNT_DESC].includes(o),s=[t.ALPHABETICAL_ASC,t.ALPHABETICAL_DESC].includes(o),c=o===t.CUSTOM_SORT,a=null===(r=e.values)||void 0===r?void 0:r.filter((function(e){return 0!==e.resultCount||e.isSelected}));if(a=i(a,s?"name":"resultCount"),l&&(a=null==a?void 0:a.reverse()),c){var d=(null===(u=e.settings)||void 0===u?void 0:u.customSortedValues)||[];a=a.sort((function(e,n){return d.indexOf(e.id)-d.indexOf(n.id)}))}return a}function a(e,n){var t;if(u(e))throw new Error("onFilterValueClick cannot be used with NUMBER_RANGE | NUMBER_RANGE_LIST types!");n.isSelected=!n.isSelected,!e.isMultiSelect&&n.isSelected&&(null===(t=e.values)||void 0===t||t.forEach((function(e){e.id!==n.id&&(e.isSelected=!1)})))}function d(n,t){var i;if(n.displayType!==e.NUMBER_RANGE_LIST)throw new Error("onNumberRangeClick can only be used with NUMBER_RANGE filters!");t.isSelected=!t.isSelected,!n.isMultiSelect&&t.isSelected&&(null===(i=n.numberRangeListOptions)||void 0===i||i.forEach((function(e){e.key!==t.key&&(e.isSelected=!1)})))}function f(n,t){var i;if(n.displayType!==e.NUMBER_RANGE)throw new Error("onNumberRangeChange can only be used with NUMBER_RANGE filters!");if(t){var u=r(t);u.from<n.numberRangeLimit.from&&(u.from=n.numberRange.from),u.to&&(null===(i=n.numberRangeLimit)||void 0===i?void 0:i.to)&&u.to>n.numberRangeLimit.to&&(u.to=n.numberRangeLimit.to),n.numberRange=u}else n.numberRange=null}function m(e){var n,t;e.numberRange=null,null===(n=e.numberRangeListOptions)||void 0===n||n.forEach((function(e){return e.isSelected=!1})),null===(t=e.values)||void 0===t||t.forEach((function(e){return e.isSelected=!1}))}function R(e){var n;return{id:e.key,type:e.type,valueList:l(e),useAndFilter:null===(n=e.settings)||void 0===n?void 0:n.useAndFilter}}function v(n,t){var i,r,u=t.split(",");n.displayType===e.NUMBER_RANGE?n.numberRange=p(t):n.displayType===e.NUMBER_RANGE_LIST?null===(i=n.numberRangeListOptions)||void 0===i||i.forEach((function(e){u.includes(e.key)&&(e.isSelected=!0)})):null===(r=n.values)||void 0===r||r.forEach((function(e){u.includes(e.key)&&0!==e.resultCount&&(e.isSelected=!0)}))}function E(e){return"".concat(e.from,":").concat(e.to||"")}function p(e){try{var n=e.split(":").map((function(e){return parseInt(e)}));return{from:isNaN(n[0])?0:n[0],to:isNaN(n[1])?void 0:n[1]}}catch(e){return console.log(e),{from:0,to:0}}}function S(e){return e.slug?"/".concat(e.slug):""}export{v as applyQueryParam,m as clear,c as getDisplayedValues,S as getIkasFilterHref,s as getKeyList,l as getValueList,u as isCustomValueFilter,o as isStockFilter,a as onFilterValueClick,f as onNumberRangeChange,d as onNumberRangeClick,p as parseRangeStr,E as rangeToId,R as toInput};
@@ -1 +1 @@
1
- import{__spreadArray as n}from'./../../ext/tslib/tslib.es6.js';import{getIkasVariantTypeSlug as t}from"../variant-type/index.js";import{getIkasVariantValueSlug as r}from"../variant-type/variant-value/index.js";import{hasValidValues as i}from"./option-set/index.js";import{hasStock as a}from"./variant/index.js";function e(n){return!!n.variantTypes.length}function u(n){if(n.groupVariantsByVariantTypeId){var t=n.variants[0].variantValues.find((function(t){return t.variantTypeId==n.groupVariantsByVariantTypeId}));if(t)return n.variants.filter((function(n){return n.variantValues.find((function(n){return n.id==t.id}))})).some((function(n){return n.stock>0||n.sellIfOutOfStock}))}return n.variants.some((function(n){return n.stock>0||n.sellIfOutOfStock}))}function o(n){return n.length?n[0]:void 0}function s(n){if(e(n))return n.variantTypes[0].variantType}function f(n,i){var a=n.metaData;if(!(null==a?void 0:a.slug))return"";var e=n.variantTypes.map((function(n){var a=n.variantType,e=a.values.find((function(n){return i.some((function(t){return t.id===n.id}))}));if(e)return"".concat(t(a),"=").concat(r(e))})).filter((function(n){return!!n})).join("&");return e?"/".concat(a.slug,"?").concat(e):"/".concat(a.slug)}function c(n){var t=n.metaData;return(null==t?void 0:t.slug)?"/".concat(t.slug):""}function v(t,r){var i=t.variantTypes.map((function(i,e){var u=i.variantType,o=[],s=e>0?t.variantTypes.slice(0,e):null,f=[];return s&&(f=r.filter((function(n){return s.some((function(t){return t.variantType.id===n.variantTypeId}))}))),u.values.forEach((function(i){var e=n(n([],f,!0),[i],!1),u=t.variants.find((function(n){return n.isActive&&e.every((function(t){return n.variantValues.some((function(n){return n.id===t.id}))}))})),s=t.variants.find((function(n){return n.isActive&&a(n)&&e.every((function(t){return n.variantValues.some((function(n){return n.id===t.id}))}))})),c=r.some((function(n){return n.id===i.id}));u&&o.push({variant:u,variantValue:i,hasStock:!!s,isSelected:c})})),{variantType:u,displayedVariantValues:o}}));return 1===i.length&&(i[0].displayedVariantValues=i[0].displayedVariantValues.filter((function(n){return n.variant.isActive}))),i}function l(n,t){return(!t||i(t))&&(a(n)||n.sellIfOutOfStock)}export{v as getDisplayedVariantTypes,s as getMainVariantType,o as getMainVariantValue,c as getProductHref,f as getSelectedVariantHref,u as hasStock,e as hasVariant,l as isAddToCartEnabled};
1
+ import{__spreadArray as n}from'./../../ext/tslib/tslib.es6.js';import{getIkasVariantTypeSlug as t}from"../variant-type/index.js";import{getIkasVariantValueSlug as r}from"../variant-type/variant-value/index.js";import{hasValidValues as i}from"./option-set/index.js";import{hasStock as a}from"./variant/index.js";function e(n){return n.productGroup?n.variants.length>1:!!n.variantTypes.length}function u(n){if(n.groupVariantsByVariantTypeId){var t=n.variants[0].variantValues.find((function(t){return t.variantTypeId==n.groupVariantsByVariantTypeId}));if(t)return n.variants.filter((function(n){return n.variantValues.find((function(n){return n.id==t.id}))})).some((function(n){return n.stock>0||n.sellIfOutOfStock}))}return n.variants.some((function(n){return n.stock>0||n.sellIfOutOfStock}))}function o(n){return n.length?n[0]:void 0}function s(n){if(e(n))return n.variantTypes[0].variantType}function c(n,i){var a=n.metaData;if(!(null==a?void 0:a.slug))return"";var e=n.variantTypes.map((function(n){var a=n.variantType,e=a.values.find((function(n){return i.some((function(t){return t.id===n.id}))}));if(e)return"".concat(t(a),"=").concat(r(e))})).filter((function(n){return!!n})).join("&");return e?"/".concat(a.slug,"?").concat(e):"/".concat(a.slug)}function f(n){var t=n.metaData;return(null==t?void 0:t.slug)?"/".concat(t.slug):""}function v(t,r){var i=t.variantTypes.map((function(i,e){var u=i.variantType,o=[],s=e>0?t.variantTypes.slice(0,e):null,c=[];return s&&(c=r.filter((function(n){return s.some((function(t){return t.variantType.id===n.variantTypeId}))}))),u.values.forEach((function(i){var e=n(n([],c,!0),[i],!1),u=t.variants.find((function(n){return n.isActive&&e.every((function(t){return n.variantValues.some((function(n){return n.id===t.id}))}))})),s=t.variants.find((function(n){return n.isActive&&a(n)&&e.every((function(t){return n.variantValues.some((function(n){return n.id===t.id}))}))})),f=r.some((function(n){return n.id===i.id}));u&&o.push({variant:u,variantValue:i,hasStock:!!s,isSelected:f})})),{variantType:u,displayedVariantValues:o}}));return 1===i.length&&(i[0].displayedVariantValues=i[0].displayedVariantValues.filter((function(n){return n.variant.isActive}))),i}function l(n,t){return(!t||i(t))&&(a(n)||n.sellIfOutOfStock)}export{v as getDisplayedVariantTypes,s as getMainVariantType,o as getMainVariantValue,f as getProductHref,c as getSelectedVariantHref,u as hasStock,e as hasVariant,l as isAddToCartEnabled};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront-model-functions",
3
- "version": "4.12.0",
3
+ "version": "4.13.0",
4
4
  "description": "Functions for ikas storefront models.",
5
5
  "author": "ikas",
6
6
  "license": "ISC",
@@ -16,8 +16,8 @@
16
16
  "build": "rm -rf build && rollup -c"
17
17
  },
18
18
  "devDependencies": {
19
- "@ikas/storefront-config": "^4.12.0",
20
- "@ikas/storefront-models": "^4.12.0",
19
+ "@ikas/storefront-config": "^4.13.0",
20
+ "@ikas/storefront-models": "^4.13.0",
21
21
  "@rollup/plugin-node-resolve": "^13.3.0",
22
22
  "@rollup/plugin-commonjs": "^22.0.0",
23
23
  "rollup-plugin-rename-node-modules": "^1.2.0",
@@ -33,8 +33,8 @@
33
33
  "lodash": "^4.17.21"
34
34
  },
35
35
  "peerDependencies": {
36
- "@ikas/storefront-config": "^4.12.0",
37
- "@ikas/storefront-models": "^4.12.0",
36
+ "@ikas/storefront-config": "^4.13.0",
37
+ "@ikas/storefront-models": "^4.13.0",
38
38
  "lodash": "^4.17.21"
39
39
  }
40
40
  }