@ikas/bp-storefront 0.74.0 → 0.75.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{__spreadArray as n,__assign as t,__awaiter as r,__generator as i}from'./../../../ext/tslib/tslib.es6.mjs.js';import{IkasStorefrontConfig as e}from"../../../packages/storefront-config/src/index.js";import u from'./../../../ext/lodash/sortBy.js';import{withRoutePrefix as a,Router as o}from"../../../router/index.js";import{cartStore as c}from"../../../stores/cart/index.js";import{customerStore as s}from"../../../stores/customer/index.js";import{formatCurrency as d}from"../../../utils/currency.js";import{stringToSlug as l,groupBy as f,cloneDeep as v}from"../../../utils/helper.js";import{addProductToFavorites as p,removeProductFromFavorites as m}from"../../stores/customer/index.js";import{getCategoryPath as y}from"../category/index.js";import{initCustomerReviewForm as h}from"../validator/customer-review/index.js";import{getIkasVariantTypeSlug as V}from"../variant-type/index.js";import{getIkasVariantValueSlug as g}from"../variant-type/variant-value/index.js";import{initIkasProductExtraFields as I}from"./init.js";import{hasValidProductOptionSetValues as T}from"./option-set/index.js";import{hasProductVariantStock as S,getProductVariantPrice as b,getProductVariantFinalPrice as P}from"./variant/index.js";import{getIkasProductPriceFinalPrice as w}from"./variant/price/index.js";function j(n){try{var t=new URLSearchParams(window.location.search),r=t.get("vid");if(r){var i=n.variants.find(function(n){return n.id===r});i&&(n.selectedVariantValues=i.variantValues)}else{var e=n.variantTypes.map(function(n){return V(n.variantType)}),u=[];e.forEach(function(r,i){var e=n.variantTypes[i],a=l(t.get(decodeURIComponent(r))||"");if(a){var o=e.variantType.values.find(function(n){return g(n)===a});o&&u.push(o)}}),u.length===n.selectedVariantValues.length&&(n.selectedVariantValues=u)}I(n),on(n)}catch(n){console.error(n)}}function x(n,t){return n.productGroup&&!t?n.variants.length>1:!!n.variantTypes.length}function O(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 R(n){return!n.productOptionSet||T(n.productOptionSet)}function E(n){if(!x(n))return n.variants[0];var t=n.selectedVariantValues.map(function(n){return n.id});return n.variants.find(function(n){return n.variantValues.every(function(n){return t.includes(n.id)})})}function A(n){var t=n.selectedVariantValues;return t.length?t[0]:void 0}function L(n){if(x(n))return n.variantTypes[0].variantType}function k(n){var t=n.metaData;if(!(null==t?void 0:t.slug))return a("");var r=n.variantTypes.map(function(t){var r=t.variantType,i=r.values.find(function(t){return n.selectedVariantValues.some(function(n){return n.id===t.id})});if(i)return"".concat(V(r),"=").concat(g(i))}).filter(function(n){return!!n}).join("&");return a(r?"/".concat(t.slug,"?").concat(r):"/".concat(t.slug))}function C(n){var t=n.metaData;return(null==t?void 0:t.slug)?a("/".concat(t.slug)):""}function G(t){var r=t.selectedVariantValues,i=t.variantTypes.map(function(i,e){var u=i.variantType,a=[],o=e>0?t.variantTypes.slice(0,e):null,c=[];return o&&(c=r.filter(function(n){return o.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})})}),o=t.variants.find(function(n){return n.isActive&&S(n)&&e.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})}),s=r.some(function(n){return n.id===i.id});u&&a.push({variant:u,variantValue:i,hasStock:!!o,isSelected:s})}),{variantType:u,displayedVariantValues:a}});return 1===i.length&&(i[0].displayedVariantValues=i[0].displayedVariantValues.filter(function(n){return n.variant.isActive})),i}function q(n){var t=E(n),r=n.productOptionSet;return(!r||T(r))&&(S(t)||t.sellIfOutOfStock)}function Q(n){return e.isCustomerReviewEnabled()}function _(n){return e.isCustomerReviewLoginRequired()}function B(n){var t,r=f(n.attributes,"productAttributeId");return(null===(t=n.attributes)||void 0===t?void 0:t.map(function(n){var t=n.productAttributeId;if(t){var i=r[t];return(null==i?void 0:i.length)&&i[0].productAttribute?{attribute:i[0].productAttribute,values:i}:void 0}}).filter(function(n){return!!n}))||[]}function F(t){var r,i=[],e=[];return null===(r=t.productGroupItems)||void 0===r||r.forEach(function(n){n.groupValues.forEach(function(n){i.includes(n.name)||i.push(n.name)})}),i.forEach(function(r){var i,o={name:r,items:[]};t.productGroupItems=u(t.productGroupItems,function(n){var t;return(null===(t=n.order)||void 0===t?void 0:t.value)?parseInt(n.order.value,10):0}),null===(i=t.productGroupItems)||void 0===i||i.forEach(function(i){var e,u,c,s=i.groupValues.find(function(n){return n.name===r});if(s&&!o.items.some(function(n){return n.value===s.value})){var d="";if(i.productId===t.id)d=k(t);else{var l=(null===(e=t.productGroup)||void 0===e?void 0:e.values.filter(function(n){return n.name!==r}))||[],f=n(n([],l,!0),[s],!1),v=null===(u=t.productGroupItems)||void 0===u?void 0:u.find(function(n){return f.every(function(t){return n.groupValues.some(function(n){return t.name===n.name&&t.value===n.value})})});d=v?v.href:i.href}o.items.push({image:i.image||null,href:a(d),value:s.value,isSelected:(null===(c=t.productGroupItems)||void 0===c?void 0:c.some(function(n){return n.groupValues.some(function(n){return n.value===s.value})&&n.productId===t.id}))||!1})}}),e.push(o)}),e}function U(r,i,e){var u=r.metaData,c=r.selectedVariantValues.map(function(n){return n.variantTypeId===i.variantTypeId?i:n}),s=r.variants.find(function(n){return n.isActive&&c.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})});if(s)r.selectedVariantValues=c;else{var d=r.variantTypes.findIndex(function(n){return n.variantType.id===i.variantTypeId});if(d>0){var l=r.variantTypes.slice(0,d),f=r.selectedVariantValues.filter(function(n){return l.some(function(t){return t.variantType.id===n.variantTypeId})}),v=n(n([],f,!0),[i],!1);s=r.variants.find(function(n){return n.isActive&&v.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})})}else{var p=c.slice(0,c.length-1);(s=r.variants.find(function(n){return n.isActive&&p.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})}))||(s=r.variants.find(function(n){return n.isActive&&n.variantValues.some(function(n){return n.id===i.id})}))}if(!s)return;r.selectedVariantValues=s.variantValues}var m={};new URLSearchParams(window.location.search).forEach(function(n,r){var i;"vid"!==r&&(m=t(t({},m),((i={})[r]=n,i)))}),r.variantTypes.map(function(n){delete m[V(n.variantType)]});var y=n(n([],r.variantTypes.map(function(n){var t=n.variantType,i=t.values.find(function(n){return r.selectedVariantValues.some(function(t){return t.id===n.id})});if(i)return"".concat(V(t),"=").concat(g(i))}),!0),Object.entries(m).map(function(n){var t=n[0],r=n[1];return"".concat(t,"=").concat(r)}),!0).filter(function(n){return!!n}).join("&");if(on(r),!e){var h=a("/".concat(u.slug));if(y&&(h=a("/".concat(u.slug,"?").concat(y))),h===window.location.pathname)return;o.navigate(h,!0)}}function D(n){return r(this,void 0,void 0,function(){var t,r,u,a;return i(this,function(i){switch(i.label){case 0:return t=s.customer,r=t?t.customerGroupIds:null,u=n.variants.map(function(n){return n.id}),[4,import("../../api/product/index.js")];case 1:return[4,(0,i.sent().apiGetProductCampaigns)({input:{customerGroupIds:r,salesChannelId:e.salesChannelId||"",variantIds:u}})];case 2:return a=i.sent(),n.campaigns=a.data,n.campaigns?(n.campaigns.map(function(t){n.variants.map(function(n){var r;t.variantIds.some(function(t){return t===n.id})&&(null===(r=n.campaigns)||void 0===r||r.push(t))})}),[2,n.campaigns]):[2]}})})}function z(n){return r(this,void 0,void 0,function(){var t,r;return i(this,function(i){switch(i.label){case 0:return t=n.variants.map(function(n){return n.id}),r=e.pickUpStockLocationIds,[4,import("../../api/product/index.js")];case 1:return[4,(0,i.sent().apiGetVariantStockLocations)({stockLocationIdList:r,variantIds:t})];case 2:return[2,i.sent().data||[]]}})})}function H(n){return r(this,void 0,void 0,function(){var t,r;return i(this,function(i){switch(i.label){case 0:return n.productOptionSet?[2,!0]:n.productOptionSetId?[4,import("../../api/product/index.js")]:[2,!1];case 1:return[4,(0,i.sent().apiListProductOptionSet)({id:{eq:n.productOptionSetId}},n)];case 2:return(t=i.sent()).isSuccess&&(null===(r=t.data)||void 0===r?void 0:r.length)?(n.productOptionSet=t.data[0],function(n){var t,r=n.variants[0];if(!r)return;var i=b(r).currency;null===(t=n.productOptionSet)||void 0===t||t.options.forEach(function(n){var t,e;if(n.selectSettings&&n.selectSettings.values.forEach(function(n){var t,e;if(n.otherPrices)if("RATIO"===n.priceType){var u=(null===(t=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===t?void 0:t.price)||n.price||1,a=b(r),o=w(a);n.price=o*u}else n.price=(null===(e=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===e?void 0:e.price)||n.price}),n.otherPrices)if("RATIO"===n.priceType){var u=(null===(t=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===t?void 0:t.price)||n.price||1,a=b(r),o=w(a);n.price=o*u}else n.price=(null===(e=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===e?void 0:e.price)||n.price})}(n),on(n),[2,!0]):[2,!1]}})})}function J(n){n&&n.options.forEach(function(n){n.initPrice=n.price})}function K(n){return r(this,void 0,void 0,function(){var t,r,e,u,a,o;return i(this,function(i){switch(i.label){case 0:return t="","undefined"!=typeof window&&(r=new URLSearchParams(window.location.search),t=r.get("editLineID")||""),t?(e=null===(a=c.cart)||void 0===a?void 0:a.orderLineItems.find(function(n){return n.id===t}))&&(u=n.variants.find(function(n){return n.id===e.variant.id}))?(n.selectedVariantValues=u.variantValues,[4,M(n,u)]):[3,2]:[3,3];case 1:i.sent(),null===(o=u.bundleSettings)||void 0===o||o.products.forEach(function(n){var t,r,i;try{var u=null===(t=e.variant.bundleProducts)||void 0===t?void 0:t.find(function(t){return t.id===n.id}),a=n.product.variants.find(function(n){return n.id===(null==u?void 0:u.variant.id)});n.product.selectedVariantValues=a.variantValues,n.quantity=(null===(i=null===(r=e.variant.bundleProducts)||void 0===r?void 0:r.find(function(n){return n.variant.id===a.id}))||void 0===i?void 0:i.quantity)||0}catch(n){console.error(n)}}),i.label=2;case 2:return[3,5];case 3:return[4,M(n,E(n))];case 4:i.sent(),i.label=5;case 5:return[2]}})})}function M(n,t){return r(this,void 0,void 0,function(){var r,e,u,a,o,c;return i(this,function(i){switch(i.label){case 0:return(null==(r=null===(u=t.bundleSettings)||void 0===u?void 0:u.products.map(function(n){return n.productId}).filter(function(t){return-1===Object.keys(n.bundleProductCache).indexOf(t)}))?void 0:r.length)?[4,import("../../api/product/index.js")]:[3,3];case 1:return[4,(0,i.sent().apiSearchProducts)({input:{productIdList:r,perPage:200}})];case 2:(e=i.sent()).isSuccess&&(null===(o=null===(a=e.data)||void 0===a?void 0:a.data)||void 0===o||o.forEach(function(t){n.bundleProductCache[t.id]=t})),i.label=3;case 3:return null===(c=t.bundleSettings)||void 0===c||c.products.forEach(function(t){t.initialQuantity=t.quantity;var r=n.bundleProductCache[t.productId];un(t,v(r))}),[2]}})})}function N(n){return null!==n.maxQuantity||null!==n.minQuantity}function W(n){return!0===n.addToBundleBasePrice}function X(n){if(!n.product)return 0;var t=E(n.product),r=b(t),i=w(r);return n.addToBundleBasePrice&&n.discountRatio&&(i-=i*(n.discountRatio/100)),i}function Y(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(X(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function Z(n){return X(n)*n.quantity}function $(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(Z(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function nn(n){if(!n.product)return 0;var t=E(n.product),r=b(t);return(null==r?void 0:r.sellPrice)||0}function tn(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(nn(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function rn(n){return nn(n)*n.quantity}function en(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(rn(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function un(n,t){t.variants=t.variants.filter(function(t){return n.filteredVariantIds.includes(t.id)}),n.product=t,n.product.selectedVariantValues=n.product.variants[0].variantValues,n.quantity=n.initialQuantity||0}function an(n,t){if(!(t<0)&&n.product){var r=E(n.product).stock;null!==n.minQuantity&&t<n.minQuantity?n.quantity=n.minQuantity:null!==n.maxQuantity&&t>n.maxQuantity?n.quantity=n.maxQuantity:n.quantity=r&&t>r?r:t}}function on(n){var t,r=E(n)||n.variants[0];if(r){var i=b(r),e=P(r),u=null==i?void 0:i.priceListId;null===(t=n.productOptionSet)||void 0===t||t.options.forEach(function(n){var t;if(n.selectSettings)n.selectSettings.values.forEach(function(n){var t;if("RATIO"===n.priceType&&n.initPrice)if(n.otherPrices){var r=(null===(t=n.otherPrices.find(function(n){return n.priceListId===u}))||void 0===t?void 0:t.price)||n.initPrice||1;n.price=e*r/100}else n.price=e*n.initPrice/100});else if("RATIO"===n.priceType&&n.initPrice)if(n.otherPrices){var r=(null===(t=n.otherPrices.find(function(n){return n.priceListId===u}))||void 0===t?void 0:t.price)||n.initPrice||1;n.price=e*r/100}else n.price=e*n.initPrice/100})}}function cn(n){return n.categories.length>0?y(n.categories[0]):[]}function sn(n){return n.categories.length>0?n.categories[0]:null}function dn(n){return s._customerReviewForms[n.id]||(s._customerReviewForms[n.id]={},h(s._customerReviewForms[n.id],n.id)),s._customerReviewForms[n.id]}function ln(n){delete s._customerReviewForms[n.id]}function fn(n){return s._favoriteProducts.some(function(t){return t.productId===n.id})}function vn(n){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,p(s,n.id)];case 1:return[2,t.sent()]}})})}function pn(n){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,m(s,n.id)];case 1:return[2,t.sent()]}})})}export{vn as addIkasProductToFavorites,ln as clearIkasProductCustomerReviewForm,X as getBundleProductFinalPrice,Z as getBundleProductFinalPriceWithQuantity,Y as getBundleProductFormattedFinalPrice,$ as getBundleProductFormattedFinalPriceWithQuantity,tn as getBundleProductFormattedSellPrice,en as getBundleProductFormattedSellPriceWithQuantity,nn as getBundleProductSellPrice,rn as getBundleProductSellPriceWithQuantity,M as getBundleProductsOfVariant,F as getDisplayedProductGroups,G as getDisplayedProductVariantTypes,B as getGroupedAttributeValues,dn as getIkasProductCustomerReviewForm,L as getMainProductVariantType,A as getMainProductVariantValue,z as getProductAvailableStockLocations,D as getProductCampaigns,cn as getProductCategoryPath,sn as getProductFirstCategory,C as getProductHref,H as getProductOptionSet,E as getSelectedProductVariant,k as getSelectedProductVariantHref,O as hasProductStock,R as hasProductValidOptionValues,x as hasProductVariant,K as initBundleProducts,j as initProductOnBrowser,J as initProductOptionSet,q as isAddToCartEnabled,N as isBundleProductQuantityEditable,Q as isCustomerReviewEnabled,_ as isCustomerReviewLoginRequired,fn as isFavoriteIkasProduct,pn as removeIkasProductFromFavorites,U as selectVariantValue,an as setBundleProductQuantity,on as setOptionRealPrices,un as setProductOfBundleProduct,W as shouldDisplayBundleProductPrice};
|
|
1
|
+
import{__spreadArray as n,__assign as t,__awaiter as r,__generator as i}from'./../../../ext/tslib/tslib.es6.mjs.js';import{IkasStorefrontConfig as e}from"../../../packages/storefront-config/src/index.js";import u from'./../../../ext/lodash/sortBy.js';import{withRoutePrefix as a,Router as o}from"../../../router/index.js";import{cartStore as c}from"../../../stores/cart/index.js";import{customerStore as s}from"../../../stores/customer/index.js";import{formatCurrency as d}from"../../../utils/currency.js";import{stringToSlug as l,groupBy as f,cloneDeep as v}from"../../../utils/helper.js";import{addProductToFavorites as p,removeProductFromFavorites as m}from"../../stores/customer/index.js";import{getCategoryPath as y}from"../category/index.js";import{initCustomerReviewForm as h}from"../validator/customer-review/index.js";import{getIkasVariantTypeSlug as V}from"../variant-type/index.js";import{getIkasVariantValueSlug as g}from"../variant-type/variant-value/index.js";import{initIkasProductExtraFields as I}from"./init.js";import{hasValidProductOptionSetValues as T}from"./option-set/index.js";import{hasProductVariantStock as S,getProductVariantPrice as b,getProductVariantFinalPrice as P}from"./variant/index.js";import{getIkasProductPriceFinalPrice as w}from"./variant/price/index.js";function j(n){try{var t=new URLSearchParams(window.location.search),r=t.get("vid");if(r){var i=n.variants.find(function(n){return n.id===r});i&&(n.selectedVariantValues=i.variantValues)}else{var e=n.variantTypes.map(function(n){return V(n.variantType)}),u=[];e.forEach(function(r,i){var e=n.variantTypes[i],a=l(t.get(decodeURIComponent(r))||"");if(a){var o=e.variantType.values.find(function(n){return g(n)===a});o&&u.push(o)}}),u.length===n.selectedVariantValues.length&&(n.selectedVariantValues=u)}I(n),on(n)}catch(n){console.error(n)}}function x(n,t){return n.productGroup&&!t?n.variants.length>1:!!n.variantTypes.length}function O(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 R(n){return!n.productOptionSet||T(n.productOptionSet)}function E(n){if(!x(n))return n.variants[0];var t=n.selectedVariantValues.map(function(n){return n.id});return n.variants.find(function(n){return n.variantValues.every(function(n){return t.includes(n.id)})})}function A(n){var t=n.selectedVariantValues;return t.length?t[0]:void 0}function L(n){if(x(n))return n.variantTypes[0].variantType}function k(n){var t=n.metaData;if(!(null==t?void 0:t.slug))return a("");var r=n.variantTypes.map(function(t){var r=t.variantType,i=r.values.find(function(t){return n.selectedVariantValues.some(function(n){return n.id===t.id})});if(i)return"".concat(V(r),"=").concat(g(i))}).filter(function(n){return!!n}).join("&");return a(r?"/".concat(t.slug,"?").concat(r):"/".concat(t.slug))}function C(n){var t=n.metaData;return(null==t?void 0:t.slug)?a("/".concat(t.slug)):""}function G(t){var r=t.selectedVariantValues,i=t.variantTypes.map(function(i,e){var u=i.variantType,a=[],o=e>0?t.variantTypes.slice(0,e):null,c=[];return o&&(c=r.filter(function(n){return o.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})})}),o=t.variants.find(function(n){return n.isActive&&S(n)&&e.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})}),s=r.some(function(n){return n.id===i.id});u&&a.push({variant:u,variantValue:i,hasStock:!!o,isSelected:s})}),{variantType:u,displayedVariantValues:a}});return 1===i.length&&(i[0].displayedVariantValues=i[0].displayedVariantValues.filter(function(n){return n.variant.isActive})),i}function q(n){var t=E(n),r=n.productOptionSet;return(!r||T(r))&&(S(t)||t.sellIfOutOfStock)}function Q(n){return e.isCustomerReviewEnabled()}function _(n){return e.isCustomerReviewLoginRequired()}function B(n){var t,r=f(n.attributes,"productAttributeId");return(null===(t=n.attributes)||void 0===t?void 0:t.map(function(n){var t=n.productAttributeId;if(t){var i=r[t];return(null==i?void 0:i.length)&&i[0].productAttribute?{attribute:i[0].productAttribute,values:i}:void 0}}).filter(function(n){return!!n}))||[]}function F(t){var r,i=[],e=[];return null===(r=t.productGroupItems)||void 0===r||r.forEach(function(n){n.groupValues.forEach(function(n){i.includes(n.name)||i.push(n.name)})}),i.forEach(function(r){var i,o={name:r,items:[]};t.productGroupItems=u(t.productGroupItems,function(n){var t;return(null===(t=n.order)||void 0===t?void 0:t.value)?parseInt(n.order.value,10):0}),null===(i=t.productGroupItems)||void 0===i||i.forEach(function(i){var e,u,c,s=i.groupValues.find(function(n){return n.name===r});if(s&&!o.items.some(function(n){return n.value===s.value})){var d="";if(i.productId===t.id)d=k(t);else{var l=(null===(e=t.productGroup)||void 0===e?void 0:e.values.filter(function(n){return n.name!==r}))||[],f=n(n([],l,!0),[s],!1),v=null===(u=t.productGroupItems)||void 0===u?void 0:u.find(function(n){return f.every(function(t){return n.groupValues.some(function(n){return t.name===n.name&&t.value===n.value})})});d=v?v.href:i.href}o.items.push({image:i.image||null,href:a(d),value:s.value,isSelected:(null===(c=t.productGroupItems)||void 0===c?void 0:c.some(function(n){return n.groupValues.some(function(n){return n.value===s.value})&&n.productId===t.id}))||!1})}}),e.push(o)}),e}function U(r,i,e){var u=r.metaData,c=r.selectedVariantValues.map(function(n){return n.variantTypeId===i.variantTypeId?i:n}),s=r.variants.find(function(n){return n.isActive&&c.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})});if(s)r.selectedVariantValues=c;else{var d=r.variantTypes.findIndex(function(n){return n.variantType.id===i.variantTypeId});if(d>0){var l=r.variantTypes.slice(0,d),f=r.selectedVariantValues.filter(function(n){return l.some(function(t){return t.variantType.id===n.variantTypeId})}),v=n(n([],f,!0),[i],!1);s=r.variants.find(function(n){return n.isActive&&v.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})})}else{var p=c.slice(0,c.length-1);(s=r.variants.find(function(n){return n.isActive&&p.every(function(t){return n.variantValues.some(function(n){return n.id===t.id})})}))||(s=r.variants.find(function(n){return n.isActive&&n.variantValues.some(function(n){return n.id===i.id})}))}if(!s)return;r.selectedVariantValues=s.variantValues}var m={};new URLSearchParams(window.location.search).forEach(function(n,r){var i;"vid"!==r&&(m=t(t({},m),((i={})[r]=n,i)))}),r.variantTypes.map(function(n){delete m[V(n.variantType)]});var y=n(n([],r.variantTypes.map(function(n){var t=n.variantType,i=t.values.find(function(n){return r.selectedVariantValues.some(function(t){return t.id===n.id})});if(i)return"".concat(V(t),"=").concat(g(i))}),!0),Object.entries(m).map(function(n){var t=n[0],r=n[1];return"".concat(t,"=").concat(r)}),!0).filter(function(n){return!!n}).join("&");if(on(r),!e){var h=a("/".concat(u.slug));if(y&&(h=a("/".concat(u.slug,"?").concat(y))),h===window.location.pathname)return;o.navigate(h,!0)}}function D(n){return r(this,void 0,void 0,function(){var t,r,u,a;return i(this,function(i){switch(i.label){case 0:return t=s.customer,r=t?t.customerGroupIds:null,u=n.variants.map(function(n){return n.id}),[4,import("../../api/product/index.js")];case 1:return[4,(0,i.sent().apiGetProductCampaigns)({input:{customerGroupIds:r,salesChannelId:e.salesChannelId||"",variantIds:u}})];case 2:return a=i.sent(),n.campaigns=a.data,n.campaigns?(n.campaigns.map(function(t){n.variants.map(function(n){var r;t.variantIds.some(function(t){return t===n.id})&&(null===(r=n.campaigns)||void 0===r||r.push(t))})}),[2,n.campaigns]):[2]}})})}function z(n){return r(this,void 0,void 0,function(){var t,r;return i(this,function(i){switch(i.label){case 0:return t=n.variants.map(function(n){return n.id}),r=e.pickUpStockLocationIds,[4,import("../../api/product/index.js")];case 1:return[4,(0,i.sent().apiGetVariantStockLocations)({stockLocationIdList:r,variantIds:t})];case 2:return[2,i.sent().data||[]]}})})}function H(n){return r(this,void 0,void 0,function(){var t,r;return i(this,function(i){switch(i.label){case 0:return n.productOptionSet?[2,!0]:n.productOptionSetId?[4,import("../../api/product/index.js")]:[2,!1];case 1:return[4,(0,i.sent().apiListProductOptionSet)({id:{eq:n.productOptionSetId}},n)];case 2:return(t=i.sent()).isSuccess&&(null===(r=t.data)||void 0===r?void 0:r.length)?(n.productOptionSet=t.data[0],function(n){var t,r=n.variants[0];if(!r)return;var i=b(r).currency;null===(t=n.productOptionSet)||void 0===t||t.options.forEach(function(n){var t,e;if(n.selectSettings&&n.selectSettings.values.forEach(function(n){var t,e;if(n.otherPrices)if("RATIO"===n.priceType){var u=(null===(t=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===t?void 0:t.price)||n.price||1,a=b(r),o=w(a);n.price=o*u}else n.price=(null===(e=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===e?void 0:e.price)||n.price}),n.otherPrices)if("RATIO"===n.priceType){var u=(null===(t=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===t?void 0:t.price)||n.price||1,a=b(r),o=w(a);n.price=o*u}else n.price=(null===(e=n.otherPrices.find(function(n){return n.currencyCode===i}))||void 0===e?void 0:e.price)||n.price})}(n),on(n),[2,!0]):[2,!1]}})})}function J(n){n&&n.options.forEach(function(n){n.initPrice=n.price,n.selectSettings&&n.selectSettings.values.forEach(function(n){n.initPrice=n.price})})}function K(n){return r(this,void 0,void 0,function(){var t,r,e,u,a,o;return i(this,function(i){switch(i.label){case 0:return t="","undefined"!=typeof window&&(r=new URLSearchParams(window.location.search),t=r.get("editLineID")||""),t?(e=null===(a=c.cart)||void 0===a?void 0:a.orderLineItems.find(function(n){return n.id===t}))&&(u=n.variants.find(function(n){return n.id===e.variant.id}))?(n.selectedVariantValues=u.variantValues,[4,M(n,u)]):[3,2]:[3,3];case 1:i.sent(),null===(o=u.bundleSettings)||void 0===o||o.products.forEach(function(n){var t,r,i;try{var u=null===(t=e.variant.bundleProducts)||void 0===t?void 0:t.find(function(t){return t.id===n.id}),a=n.product.variants.find(function(n){return n.id===(null==u?void 0:u.variant.id)});n.product.selectedVariantValues=a.variantValues,n.quantity=(null===(i=null===(r=e.variant.bundleProducts)||void 0===r?void 0:r.find(function(n){return n.variant.id===a.id}))||void 0===i?void 0:i.quantity)||0}catch(n){console.error(n)}}),i.label=2;case 2:return[3,5];case 3:return[4,M(n,E(n))];case 4:i.sent(),i.label=5;case 5:return[2]}})})}function M(n,t){return r(this,void 0,void 0,function(){var r,e,u,a,o,c;return i(this,function(i){switch(i.label){case 0:return(null==(r=null===(u=t.bundleSettings)||void 0===u?void 0:u.products.map(function(n){return n.productId}).filter(function(t){return-1===Object.keys(n.bundleProductCache).indexOf(t)}))?void 0:r.length)?[4,import("../../api/product/index.js")]:[3,3];case 1:return[4,(0,i.sent().apiSearchProducts)({input:{productIdList:r,perPage:200}})];case 2:(e=i.sent()).isSuccess&&(null===(o=null===(a=e.data)||void 0===a?void 0:a.data)||void 0===o||o.forEach(function(t){n.bundleProductCache[t.id]=t})),i.label=3;case 3:return null===(c=t.bundleSettings)||void 0===c||c.products.forEach(function(t){t.initialQuantity=t.quantity;var r=n.bundleProductCache[t.productId];un(t,v(r))}),[2]}})})}function N(n){return null!==n.maxQuantity||null!==n.minQuantity}function W(n){return!0===n.addToBundleBasePrice}function X(n){if(!n.product)return 0;var t=E(n.product),r=b(t),i=w(r);return n.addToBundleBasePrice&&n.discountRatio&&(i-=i*(n.discountRatio/100)),i}function Y(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(X(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function Z(n){return X(n)*n.quantity}function $(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(Z(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function nn(n){if(!n.product)return 0;var t=E(n.product),r=b(t);return(null==r?void 0:r.sellPrice)||0}function tn(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(nn(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function rn(n){return nn(n)*n.quantity}function en(n){if(!n.product)return d(0,"","");var t=E(n.product),r=b(t);return d(rn(n),(null==r?void 0:r.currency)||"",(null==r?void 0:r.currencySymbol)||"")}function un(n,t){t.variants=t.variants.filter(function(t){return n.filteredVariantIds.includes(t.id)}),n.product=t,n.product.selectedVariantValues=n.product.variants[0].variantValues,n.quantity=n.initialQuantity||0}function an(n,t){if(!(t<0)&&n.product){var r=E(n.product).stock;null!==n.minQuantity&&t<n.minQuantity?n.quantity=n.minQuantity:null!==n.maxQuantity&&t>n.maxQuantity?n.quantity=n.maxQuantity:n.quantity=r&&t>r?r:t}}function on(n){var t,r=E(n)||n.variants[0];if(r){var i=b(r),e=P(r),u=null==i?void 0:i.priceListId;null===(t=n.productOptionSet)||void 0===t||t.options.forEach(function(n){var t;if(n.selectSettings)n.selectSettings.values.forEach(function(n){var t;if("RATIO"===n.priceType&&n.initPrice)if(n.otherPrices){var r=(null===(t=n.otherPrices.find(function(n){return n.priceListId===u}))||void 0===t?void 0:t.price)||n.initPrice||1;n.price=e*r/100}else n.price=e*n.initPrice/100});else if("RATIO"===n.priceType&&n.initPrice)if(n.otherPrices){var r=(null===(t=n.otherPrices.find(function(n){return n.priceListId===u}))||void 0===t?void 0:t.price)||n.initPrice||1;n.price=e*r/100}else n.price=e*n.initPrice/100})}}function cn(n){return n.categories.length>0?y(n.categories[0]):[]}function sn(n){return n.categories.length>0?n.categories[0]:null}function dn(n){return s._customerReviewForms[n.id]||(s._customerReviewForms[n.id]={},h(s._customerReviewForms[n.id],n.id)),s._customerReviewForms[n.id]}function ln(n){delete s._customerReviewForms[n.id]}function fn(n){return s._favoriteProducts.some(function(t){return t.productId===n.id})}function vn(n){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,p(s,n.id)];case 1:return[2,t.sent()]}})})}function pn(n){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,m(s,n.id)];case 1:return[2,t.sent()]}})})}export{vn as addIkasProductToFavorites,ln as clearIkasProductCustomerReviewForm,X as getBundleProductFinalPrice,Z as getBundleProductFinalPriceWithQuantity,Y as getBundleProductFormattedFinalPrice,$ as getBundleProductFormattedFinalPriceWithQuantity,tn as getBundleProductFormattedSellPrice,en as getBundleProductFormattedSellPriceWithQuantity,nn as getBundleProductSellPrice,rn as getBundleProductSellPriceWithQuantity,M as getBundleProductsOfVariant,F as getDisplayedProductGroups,G as getDisplayedProductVariantTypes,B as getGroupedAttributeValues,dn as getIkasProductCustomerReviewForm,L as getMainProductVariantType,A as getMainProductVariantValue,z as getProductAvailableStockLocations,D as getProductCampaigns,cn as getProductCategoryPath,sn as getProductFirstCategory,C as getProductHref,H as getProductOptionSet,E as getSelectedProductVariant,k as getSelectedProductVariantHref,O as hasProductStock,R as hasProductValidOptionValues,x as hasProductVariant,K as initBundleProducts,j as initProductOnBrowser,J as initProductOptionSet,q as isAddToCartEnabled,N as isBundleProductQuantityEditable,Q as isCustomerReviewEnabled,_ as isCustomerReviewLoginRequired,fn as isFavoriteIkasProduct,pn as removeIkasProductFromFavorites,U as selectVariantValue,an as setBundleProductQuantity,on as setOptionRealPrices,un as setProductOfBundleProduct,W as shouldDisplayBundleProductPrice};
|