@ikas/storefront-model-functions 5.0.0-beta.8 → 5.0.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.
@@ -1 +1 @@
1
- import{IkasCheckoutRequirement as e}from"@ikas/storefront-models";import{validatePhoneNumber as t}from"../../../utils/helper.js";function n(e){var t=[];return e.addressLine1&&t.push(e.addressLine1),e.addressLine2&&t.push(e.addressLine2),e.postalCode&&t.push(e.postalCode),e.district&&e.district.name&&t.push(e.district.name),e.city&&e.city.name&&t.push(e.city.name),e.state&&e.state.name&&"Default"!==e.state.name&&t.push(e.state.name),e.country&&e.country.name&&t.push(e.country.name),t.join(", ")}function i(n,i,r){var s,o,a,d=!!n.phone&&n.phone.length>=10&&t(n.phone);return{firstName:!!n.firstName,lastName:!!n.lastName,addressLine1:!!n.addressLine1,country:!!(null===(s=n.country)||void 0===s?void 0:s.name),state:!!n.state,city:!!(null===(o=n.city)||void 0===o?void 0:o.name),district:!r||!!(null===(a=n.district)||void 0===a?void 0:a.id),phone:!(i.phoneRequirement===e.MANDATORY||i.phoneRequirement===e.OPTIONAL&&n.phone)||d,postalCode:i.postalCodeRequirement!==e.MANDATORY||!!n.postalCode,identityNumber:i.identityNumberRequirement!==e.MANDATORY||!!n.identityNumber,title:!!n.title}}function r(e,t,n){var r=i(e,t,n);return Object.values(r).every((function(e){return e}))}export{n as getAddressText,i as getValidationResult,r as isValidAddress};
1
+ import{IkasCheckoutRequirement as e}from"@ikas/storefront-models";import{validatePhoneNumber as t}from"../../../utils/helper.js";function n(e){var t=[];return e.addressLine1&&t.push(e.addressLine1),e.addressLine2&&t.push(e.addressLine2),e.postalCode&&t.push(e.postalCode),e.region&&e.region.name&&t.push(e.region.name),e.district&&e.district.name&&t.push(e.district.name),e.city&&e.city.name&&t.push(e.city.name),e.state&&e.state.name&&"Default"!==e.state.name&&t.push(e.state.name),e.country&&e.country.name&&t.push(e.country.name),t.join(", ")}function i(n,i,r){var s,o,a,u=!!n.phone&&n.phone.length>=10&&t(n.phone);return{firstName:!!n.firstName,lastName:!!n.lastName,addressLine1:!!n.addressLine1,country:!!(null===(s=n.country)||void 0===s?void 0:s.name),state:!!n.state,city:!!(null===(o=n.city)||void 0===o?void 0:o.name),district:!r||!!(null===(a=n.district)||void 0===a?void 0:a.id),phone:!(i.phoneRequirement===e.MANDATORY||i.phoneRequirement===e.OPTIONAL&&n.phone)||u,postalCode:i.postalCodeRequirement!==e.MANDATORY||!!n.postalCode,identityNumber:i.identityNumberRequirement!==e.MANDATORY||!!n.identityNumber,title:!!n.title}}function r(e,t,n){var r=i(e,t,n);return Object.values(r).every((function(e){return e}))}export{n as getAddressText,i as getValidationResult,r as isValidAddress};
@@ -1,4 +1,4 @@
1
- import { IkasCustomer } from "@ikas/storefront-models";
1
+ import { IkasCustomer, IkasCustomerEmailSubscriptionStatus } from "@ikas/storefront-models";
2
2
  export declare function isSubscribed(customer: IkasCustomer): boolean;
3
3
  export declare function getBasicInfo(customer: IkasCustomer): {
4
4
  id: string;
@@ -6,4 +6,8 @@ export declare function getBasicInfo(customer: IkasCustomer): {
6
6
  lastName: string | null;
7
7
  email: string | null;
8
8
  phone: string | null;
9
+ isEmailVerified: boolean | null;
10
+ isPhoneVerified: boolean | null;
11
+ orderCount: number | null;
12
+ subscriptionStatus: IkasCustomerEmailSubscriptionStatus | null;
9
13
  };
@@ -1 +1 @@
1
- import{IkasCustomerEmailSubscriptionStatus as t}from"@ikas/storefront-models";function i(i){return i.subscriptionStatus===t.SUBSCRIBED||i.subscriptionStatus===t.PENDING_CONFIRMATION}function e(t){return{id:t.id,firstName:t.firstName,lastName:t.lastName,email:t.email,phone:t.phone}}export{e as getBasicInfo,i as isSubscribed};
1
+ import{IkasCustomerEmailSubscriptionStatus as i}from"@ikas/storefront-models";function t(t){return t.subscriptionStatus===i.SUBSCRIBED||t.subscriptionStatus===i.PENDING_CONFIRMATION}function e(i){return{id:i.id,firstName:i.firstName,lastName:i.lastName,email:i.email,phone:i.phone,isEmailVerified:i.isEmailVerified,isPhoneVerified:i.isPhoneVerified,orderCount:i.orderCount,subscriptionStatus:i.subscriptionStatus}}export{e as getBasicInfo,t as isSubscribed};
@@ -1 +1 @@
1
- import{IkasStorefrontConfig as n}from"@ikas/storefront-config";function c(n){return o(n,1080)}function i(n){return o(n,180)}function o(c,i){var o,t=n.getCdnUrl();if(c.id.includes("/"))return c.isVideo?"".concat(t,"videos/").concat(c.id,"/original.mp4"):"".concat(t,"images/").concat(c.id,"/image_").concat(i,".webp");var a=null===(o=n.getMerchantSettings())||void 0===o?void 0:o.merchantId;return c.isVideo?"".concat(t,"videos/").concat(a,"/").concat(c.id,"/original.mp4"):"".concat(t,"images/").concat(a,"/").concat(c.id,"/image_").concat(i,".webp")}export{c as getDefaultSrc,o as getSrc,i as getThumbnailSrc};
1
+ import{IkasStorefrontConfig as c}from"@ikas/storefront-config";function n(c){return i(c,1080)}function a(c){return i(c,180)}function i(n,a){var i,o=c.getCdnUrl();if(n.id.includes("/"))return n.isVideo?"".concat(o,"videos/").concat(n.id,"/original.mp4"):n.fileName?"".concat(o,"images/").concat(n.id,"/").concat(a,"/").concat(n.fileName,".webp"):"".concat(o,"images/").concat(n.id,"/image_").concat(a,".webp");var t=null===(i=c.getMerchantSettings())||void 0===i?void 0:i.merchantId;return n.isVideo?"".concat(o,"videos/").concat(t,"/").concat(n.id,"/original.mp4"):n.fileName?"".concat(o,"images/").concat(t,"/").concat(n.id,"/").concat(a,"/").concat(n.fileName,".webp"):"".concat(o,"images/").concat(t,"/").concat(n.id,"/image_").concat(a,".webp")}export{n as getDefaultSrc,i as getSrc,a as getThumbnailSrc};
@@ -1 +1 @@
1
- import{IkasCheckoutRequirement as e}from"@ikas/storefront-models";import{validatePhoneNumber as t}from"../../../utils/helper.js";function n(){return{addressLine1:"",addressLine2:null,company:null,firstName:"",id:null,identityNumber:null,isDefault:!1,lastName:"",phone:null,postalCode:null,taxNumber:null,taxOffice:null,country:null,state:null,city:null,district:null}}function i(e){var t=[];return e.addressLine1&&t.push(e.addressLine1),e.addressLine2&&t.push(e.addressLine2),e.postalCode&&t.push(e.postalCode),e.district&&e.district.name&&t.push(e.district.name),e.city&&e.city.name&&t.push(e.city.name),e.state&&e.state.name&&"Default"!==e.state.name&&t.push(e.state.name),e.country&&e.country.name&&t.push(e.country.name),t.join(", ")}function s(n,i,s){var r,a,u,o=!!n.phone&&n.phone.length>=10&&t(n.phone);return{firstName:!!n.firstName,lastName:!!n.lastName,addressLine1:!!n.addressLine1,country:!!(null===(r=n.country)||void 0===r?void 0:r.name),state:!!n.state,city:!!(null===(a=n.city)||void 0===a?void 0:a.name),district:!s||!!(null===(u=n.district)||void 0===u?void 0:u.name),phone:!(i.phoneRequirement===e.MANDATORY||i.phoneRequirement===e.OPTIONAL&&n.phone)||o,postalCode:i.postalCodeRequirement!==e.MANDATORY||!!n.postalCode,identityNumber:i.identityNumberRequirement!==e.MANDATORY||!!n.identityNumber}}function r(e,t,n){var i=s(e,t,n);return Object.values(i).every((function(e){return e}))}export{n as createOrderAddress,i as getAddressText,s as getValidationResult,r as isValidAddress};
1
+ import{IkasCheckoutRequirement as e}from"@ikas/storefront-models";import{validatePhoneNumber as t}from"../../../utils/helper.js";function n(){return{addressLine1:"",addressLine2:null,company:null,firstName:"",id:null,identityNumber:null,isDefault:!1,lastName:"",phone:null,postalCode:null,taxNumber:null,taxOffice:null,country:null,state:null,city:null,district:null,region:null}}function i(e){var t=[];return e.addressLine1&&t.push(e.addressLine1),e.addressLine2&&t.push(e.addressLine2),e.postalCode&&t.push(e.postalCode),e.region&&e.region.name&&t.push(e.region.name),e.district&&e.district.name&&t.push(e.district.name),e.city&&e.city.name&&t.push(e.city.name),e.state&&e.state.name&&"Default"!==e.state.name&&t.push(e.state.name),e.country&&e.country.name&&t.push(e.country.name),t.join(", ")}function r(n,i,r){var s,a,u,o=!!n.phone&&n.phone.length>=10&&t(n.phone);return{firstName:!!n.firstName,lastName:!!n.lastName,addressLine1:!!n.addressLine1,country:!!(null===(s=n.country)||void 0===s?void 0:s.name),state:!!n.state,city:!!(null===(a=n.city)||void 0===a?void 0:a.name),district:!r||!!(null===(u=n.district)||void 0===u?void 0:u.name),phone:!(i.phoneRequirement===e.MANDATORY||i.phoneRequirement===e.OPTIONAL&&n.phone)||o,postalCode:i.postalCodeRequirement!==e.MANDATORY||!!n.postalCode,identityNumber:i.identityNumberRequirement!==e.MANDATORY||!!n.identityNumber}}function s(e,t,n){var i=r(e,t,n);return Object.values(i).every((function(e){return e}))}export{n as createOrderAddress,i as getAddressText,r as getValidationResult,s as isValidAddress};
@@ -11,3 +11,4 @@ export declare function getCustomerFullName(order: IkasOrder): string;
11
11
  export declare function getFormattedDate(order: IkasOrder): string;
12
12
  export declare function getCouponAdjustment(order: IkasOrder): import("@ikas/storefront-models").IkasOrderAdjustment | undefined;
13
13
  export declare function getNonCouponAdjustments(order: IkasOrder): import("@ikas/storefront-models").IkasOrderAdjustment[] | undefined;
14
+ export declare function getOrderProductFiles(order: IkasOrder): string[];
@@ -1 +1 @@
1
- import{IkasOrderLineItemStatus as e,IkasOrderPackageFullfillStatus as r}from"@ikas/storefront-models";import{validateEmail as t,formatDate as n}from"../../utils/helper.js";function u(t){var n,u=i(t),o=null===(n=t.orderPackages)||void 0===n?void 0:n.filter((function(e){return!e.deleted&&![r.REFUNDED,r.REFUND_REQUESTED,r.REFUND_REQUEST_ACCEPTED,r.REFUND_REJECTED].includes(e.orderPackageFulfillStatus)})),a=t.orderLineItems.filter((function(r){return!r.deleted&&(r.status===e.CANCELLED||r.status===e.CANCEL_REJECTED||r.status===e.CANCEL_REQUESTED)})),c=d(t),s=[];return u.length&&s.push({id:t.id+"-u",createdAt:Date.now(),updatedAt:Date.now(),errorMessage:null,note:null,orderLineItemIds:u.map((function(e){return e.id})),orderPackageFulfillStatus:r.UNFULFILLED,orderPackageNumber:t.orderNumber?t.orderNumber+"-u":"u",stockLocationId:u[0].stockLocationId||"",trackingInfo:null}),o&&s.push.apply(s,o),a.length&&s.push({id:t.id+"-c",createdAt:Date.now(),updatedAt:Date.now(),errorMessage:null,note:null,orderLineItemIds:a.map((function(e){return e.id})),orderPackageFulfillStatus:r.CANCELLED,orderPackageNumber:t.orderNumber?t.orderNumber+"-c":"c",stockLocationId:a[0].stockLocationId||"",trackingInfo:null}),c.length&&s.push({id:t.id+"-r",createdAt:Date.now(),updatedAt:Date.now(),errorMessage:null,note:null,orderLineItemIds:c.map((function(e){return e.id})),orderPackageFulfillStatus:r.REFUNDED,orderPackageNumber:t.orderNumber?t.orderNumber+"-r":"r",stockLocationId:c[0].stockLocationId||"",trackingInfo:null}),s}function o(r,t){if(t&&!t.isActiveRefundSection)return[];var n=function(e){var r=e.orderedAt,t=Date.now();return Math.abs(t-r)/864e5}(r);return r.orderLineItems.filter((function(r){return[e.FULFILLED,e.UNFULFILLED,e.DELIVERED].includes(r.status)&&(!t.orderRefundDayLimit||t.orderRefundDayLimit>=n)}))}function i(r){return r.orderLineItems.filter((function(r){return r.status===e.UNFULFILLED}))}function d(r){return r.orderLineItems.filter((function(r){return r.status===e.REFUNDED||r.status===e.REFUND_REQUESTED||r.status===e.REFUND_REQUEST_ACCEPTED||r.status===e.REFUND_REJECTED}))}function a(e){var r;return(null===(r=e.taxLines)||void 0===r?void 0:r.reduce((function(e,r){return e+r.price}),0))||0}function c(e){var r;return(null===(r=e.shippingLines)||void 0===r?void 0:r.reduce((function(e,r){return e+r.price}),0))||0}function s(e){var r;return!!(null===(r=e.customer)||void 0===r?void 0:r.id)&&!e.customer.isGuestCheckout}function l(e){var r;return!!(null===(r=e.customer)||void 0===r?void 0:r.email)&&t(e.customer.email)}function E(e){var r,t;return"".concat((null===(r=e.customer)||void 0===r?void 0:r.firstName)||""," ").concat((null===(t=e.customer)||void 0===t?void 0:t.lastName)||"")}function f(e){var r=new Date;return r.setTime(e.updatedAt),n(r)}function m(e){var r;return null===(r=e.orderAdjustments)||void 0===r?void 0:r.find((function(e){return!!e.couponId}))}function D(e){var r;return null===(r=e.orderAdjustments)||void 0===r?void 0:r.filter((function(e){return!e.couponId}))}export{m as getCouponAdjustment,E as getCustomerFullName,u as getDisplayedPackages,f as getFormattedDate,D as getNonCouponAdjustments,o as getRefundableItems,d as getRefundedItems,c as getShippingTotal,a as getTotalTax,i as getUnfullfilledItems,s as hasCustomer,l as hasValidCustomerEmail};
1
+ import{IkasOrderLineItemStatus as r,IkasOrderPackageFullfillStatus as t}from"@ikas/storefront-models";import{validateEmail as e,formatDate as n}from"../../utils/helper.js";function u(e){var n,u=i(e),o=null===(n=e.orderPackages)||void 0===n?void 0:n.filter((function(r){return!r.deleted&&![t.REFUNDED,t.REFUND_REQUESTED,t.REFUND_REQUEST_ACCEPTED,t.REFUND_REJECTED].includes(r.orderPackageFulfillStatus)})),a=e.orderLineItems.filter((function(t){return!t.deleted&&(t.status===r.CANCELLED||t.status===r.CANCEL_REJECTED||t.status===r.CANCEL_REQUESTED)})),c=d(e),s=[];return u.length&&s.push({id:e.id+"-u",createdAt:Date.now(),updatedAt:Date.now(),errorMessage:null,note:null,orderLineItemIds:u.map((function(r){return r.id})),orderPackageFulfillStatus:t.UNFULFILLED,orderPackageNumber:e.orderNumber?e.orderNumber+"-u":"u",stockLocationId:u[0].stockLocationId||"",trackingInfo:null}),o&&s.push.apply(s,o),a.length&&s.push({id:e.id+"-c",createdAt:Date.now(),updatedAt:Date.now(),errorMessage:null,note:null,orderLineItemIds:a.map((function(r){return r.id})),orderPackageFulfillStatus:t.CANCELLED,orderPackageNumber:e.orderNumber?e.orderNumber+"-c":"c",stockLocationId:a[0].stockLocationId||"",trackingInfo:null}),c.length&&s.push({id:e.id+"-r",createdAt:Date.now(),updatedAt:Date.now(),errorMessage:null,note:null,orderLineItemIds:c.map((function(r){return r.id})),orderPackageFulfillStatus:t.REFUNDED,orderPackageNumber:e.orderNumber?e.orderNumber+"-r":"r",stockLocationId:c[0].stockLocationId||"",trackingInfo:null}),s}function o(t,e){if(e&&!e.isActiveRefundSection)return[];var n=function(r){var t=r.orderedAt,e=Date.now();return Math.abs(e-t)/864e5}(t);return t.orderLineItems.filter((function(t){return[r.FULFILLED,r.UNFULFILLED,r.DELIVERED].includes(t.status)&&(!e.orderRefundDayLimit||e.orderRefundDayLimit>=n)}))}function i(t){return t.orderLineItems.filter((function(t){return t.status===r.UNFULFILLED}))}function d(t){return t.orderLineItems.filter((function(t){return t.status===r.REFUNDED||t.status===r.REFUND_REQUESTED||t.status===r.REFUND_REQUEST_ACCEPTED||t.status===r.REFUND_REJECTED}))}function a(r){var t;return(null===(t=r.taxLines)||void 0===t?void 0:t.reduce((function(r,t){return r+t.price}),0))||0}function c(r){var t;return(null===(t=r.shippingLines)||void 0===t?void 0:t.reduce((function(r,t){return r+t.finalPrice}),0))||0}function s(r){var t;return!!(null===(t=r.customer)||void 0===t?void 0:t.id)&&!r.customer.isGuestCheckout}function l(r){var t;return!!(null===(t=r.customer)||void 0===t?void 0:t.email)&&e(r.customer.email)}function f(r){var t,e;return"".concat((null===(t=r.customer)||void 0===t?void 0:t.firstName)||""," ").concat((null===(e=r.customer)||void 0===e?void 0:e.lastName)||"")}function E(r){var t=new Date;return t.setTime(r.updatedAt),n(t)}function m(r){var t;return null===(t=r.orderAdjustments)||void 0===t?void 0:t.find((function(r){return!!r.couponId}))}function D(r){var t;return null===(t=r.orderAdjustments)||void 0===t?void 0:t.filter((function(r){return!r.couponId}))}function L(t){return t.orderLineItems.filter((function(t){return!!t.variant.fileId&&t.status!==r.REFUNDED})).map((function(r){return r.variant.fileId}))}export{m as getCouponAdjustment,f as getCustomerFullName,u as getDisplayedPackages,E as getFormattedDate,D as getNonCouponAdjustments,L as getOrderProductFiles,o as getRefundableItems,d as getRefundedItems,c as getShippingTotal,a as getTotalTax,i as getUnfullfilledItems,s as hasCustomer,l as hasValidCustomerEmail};
@@ -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?"key":"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){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};
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": "5.0.0-beta.8",
3
+ "version": "5.0.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": "^5.0.0-beta.8",
20
- "@ikas/storefront-models": "^5.0.0-beta.8",
19
+ "@ikas/storefront-config": "^5.0.0",
20
+ "@ikas/storefront-models": "^5.0.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",
@@ -28,13 +28,13 @@
28
28
  "rollup-plugin-typescript2": "^0.32.1",
29
29
  "rollup-plugin-peer-deps-external": "^2.2.4",
30
30
  "typescript": "^4.7.2",
31
- "ttypescript": "^1.5.12",
31
+ "ttypescript": "^1.5.15",
32
32
  "typescript-transform-paths": "^2.2.2",
33
33
  "lodash": "^4.17.21"
34
34
  },
35
35
  "peerDependencies": {
36
- "@ikas/storefront-config": "^5.0.0-beta.8",
37
- "@ikas/storefront-models": "^5.0.0-beta.8",
36
+ "@ikas/storefront-config": "^5.0.0",
37
+ "@ikas/storefront-models": "^5.0.0",
38
38
  "lodash": "^4.17.21"
39
39
  }
40
40
  }