@ikas/storefront 4.10.0-beta.37 → 4.10.0-beta.38
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/build/analytics/head/index.js +1 -1
- package/build/components/checkout/steps/step-shipping/index.js +1 -1
- package/build/models/data/checkout-settings/price/index.d.ts +2 -1
- package/build/models/data/checkout-settings/price/index.js +1 -1
- package/build/models/data/order/index.d.ts +1 -0
- package/build/models/data/order/index.js +1 -1
- package/build/models/data/product/index.d.ts +2 -0
- package/build/models/data/product/index.js +1 -1
- package/build/models/data/product/variant/bundle-settings/bundle-product/index.js +1 -1
- package/build/models/data/product/variant/index.d.ts +2 -0
- package/build/models/data/product/variant/index.js +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as t from"react";import e from"html-react-parser";import{getIkasEventsScript as n}from"../events.js";import{observer as a}from"mobx-react-lite";import{IkasStorefrontConfig as r}from"@ikas/storefront-config";var o=a((function(){var a=r.getGtmId(),o=r.getFbpId(),i=r.getAnalytics4Id(),c=r.getUniversalAnalyticsId(),s=r.getTiktokPixelId(),l=r.getIsEditor(),m=r.getStorefrontJSScripts();return t.createElement(t.Fragment,null,a&&!l&&t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','".concat(a,"');")}}),o&&!l&&t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"!function(f,b,e,v,n,t,s)\n {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n n.queue=[];t=b.createElement(e);t.async=!0;\n t.src=v;s=b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t,s)}(window, document,'script',\n 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '".concat(o,"');\n fbq('track', 'PageView');")}}),i&&!l&&t.createElement(t.Fragment,null,t.createElement("script",{async:!0,src:"https://www.googletagmanager.com/gtag/js?id=".concat(i)}),t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '".concat(i,"');")}})),c&&!l&&t.createElement(t.Fragment,null,t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;\n ga('create', '".concat(c,"', 'auto');\n ga('require', 'ec');")}}),t.createElement("script",{async:!0,src:"https://www.google-analytics.com/analytics.js"})),s&&!l&&t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:'!function (w, d, t) {\n w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};\n ttq.load(\''.concat(s,"');\n ttq.page();\n }(window, document, 'ttq');")}}),e(n()),m.map((function(t){return e(t)})))})),i=function(){var e=r.getGtmId(),n=r.getFbpId(),a=r.getIsEditor();return t.createElement(t.Fragment,null,e&&!a&&t.createElement("noscript",{dangerouslySetInnerHTML:{__html:'<iframe src="https://www.googletagmanager.com/ns.html?id='.concat(e,'" height="0" width="0" style="display:none;visibility:hidden"></iframe>')}}),n&&!a&&t.createElement("noscript",{dangerouslySetInnerHTML:{__html:'<img height="1" width="1" style="display:none" \n src="https://www.facebook.com/tr?id='.concat(n,'&ev=PageView&noscript=1"/>')}}))};export{i as AnalyticsBody,o as AnalyticsHead};
|
|
1
|
+
import*as t from"react";import e from"html-react-parser";import{getIkasEventsScript as n}from"../events.js";import{observer as a}from"mobx-react-lite";import{IkasStorefrontConfig as r}from"@ikas/storefront-config";var o=a((function(){var a=r.getGtmId(),o=r.getFbpId(),i=r.getAnalytics4Id(),c=r.getUniversalAnalyticsId(),s=r.getTiktokPixelId(),l=r.getIsEditor(),m=r.getStorefrontJSScripts(),g=r.getHighPriorityStorefrontJSScripts();return t.createElement(t.Fragment,null,g.map((function(t){return e(t)})),a&&!l&&t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','".concat(a,"');")}}),o&&!l&&t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"!function(f,b,e,v,n,t,s)\n {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n n.queue=[];t=b.createElement(e);t.async=!0;\n t.src=v;s=b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t,s)}(window, document,'script',\n 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '".concat(o,"');\n fbq('track', 'PageView');")}}),i&&!l&&t.createElement(t.Fragment,null,t.createElement("script",{async:!0,src:"https://www.googletagmanager.com/gtag/js?id=".concat(i)}),t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '".concat(i,"');")}})),c&&!l&&t.createElement(t.Fragment,null,t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:"window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;\n ga('create', '".concat(c,"', 'auto');\n ga('require', 'ec');")}}),t.createElement("script",{async:!0,src:"https://www.google-analytics.com/analytics.js"})),s&&!l&&t.createElement("script",{defer:!0,dangerouslySetInnerHTML:{__html:'!function (w, d, t) {\n w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};\n ttq.load(\''.concat(s,"');\n ttq.page();\n }(window, document, 'ttq');")}}),e(n()),m.map((function(t){return e(t)})))})),i=function(){var e=r.getGtmId(),n=r.getFbpId(),a=r.getIsEditor();return t.createElement(t.Fragment,null,e&&!a&&t.createElement("noscript",{dangerouslySetInnerHTML:{__html:'<iframe src="https://www.googletagmanager.com/ns.html?id='.concat(e,'" height="0" width="0" style="display:none;visibility:hidden"></iframe>')}}),n&&!a&&t.createElement("noscript",{dangerouslySetInnerHTML:{__html:'<img height="1" width="1" style="display:none" \n src="https://www.facebook.com/tr?id='.concat(n,'&ev=PageView&noscript=1"/>')}}))};export{i as AnalyticsBody,o as AnalyticsHead};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import{observer as t}from"mobx-react-lite";import"@ikas/storefront-config";import{formatCurrency as i}from"../../../../utils/currency.js";import{useTranslation as
|
|
1
|
+
import*as e from"react";import{observer as t}from"mobx-react-lite";import"@ikas/storefront-config";import{formatCurrency as i}from"../../../../utils/currency.js";import{useTranslation as c}from"../../../../utils/i18n.js";import o from"./style.module.scss.js";import{Button as n}from"../../components/button/index.js";import{Checkbox as r}from"../../components/checkbox/index.js";import{FormItemType as a}from"../../components/form-item/model.js";import{FormItem as m}from"../../components/form-item/index.js";import s from"../../components/error/index.js";import u from"../../components/select-box/index.js";import{IkasLocalDeliverySettingsDeliveryTimeType as l}from"@ikas/storefront-models";var p=t((function(t){var i=t.vm,r=c().t;return e.createElement("div",{className:[o.StepShipping].join(" ")},e.createElement(d,{vm:i}),e.createElement(g,{vm:i}),e.createElement(n,{style:{width:"100%",marginTop:"32px"},text:r("checkout-page:actions.continueWithPayment"),isLoading:i.isStepLoading,onClick:i.onProceedToPaymentClick}))})),d=t((function(t){var n,r=t.vm,a=c().t;return e.createElement("div",{className:[o.InfoBox,r.isChangingShippingMethod?o.Dimmed:""].join(" ")},e.createElement(s,{vm:r}),null===(n=r.checkout.availableShippingMethods)||void 0===n?void 0:n.map((function(t,c){return e.createElement(u,{key:t.shippingSettingsId+t.shippingZoneRateId,label:t.rateName,description:t.estimatedDeliveryTime?t.estimatedDeliveryTime.type===l.DAY?a("checkout-page:estimatedDeliveryTime.day",{value:t.estimatedDeliveryTime.value}):t.estimatedDeliveryTime.type===l.HOUR?a("checkout-page:estimatedDeliveryTime.hour",{value:t.estimatedDeliveryTime.value}):t.estimatedDeliveryTime.type===l.MINUTE?a("checkout-page:estimatedDeliveryTime.minute",{value:t.estimatedDeliveryTime.value}):void 0:void 0,isSelected:r.checkout.shippingSettingsId===t.shippingSettingsId&&r.checkout.shippingZoneRateId===t.shippingZoneRateId,rightContent:e.createElement("div",{className:o.ShippingPrice},0===t.price?a("checkout-page:free"):i(t.price,r.checkout.currencyCode,r.checkout.currencySymbol)),onClick:function(){return r.onShippingMethodChange(t)}})})))})),g=t((function(t){var n=t.vm,s=c().t,u=e.useCallback((function(e){n.checkout.isGiftPackage=e}),[n]),l=e.useCallback((function(e){n.checkout.giftPackageNote=e}),[n,n.checkout]),p=e.useMemo((function(){var e,t,i;return(null===(e=n.checkoutSettings.giftPackagePriceList)||void 0===e?void 0:e.find((function(e){return n.checkout.priceListId?e.priceListId===n.checkout.priceListId:!!e.priceListId})))||(null===(t=n.checkoutSettings.giftPackagePriceList)||void 0===t?void 0:t.find((function(e){return e.currencyCode===n.checkout.currencyCode})))||(null===(i=n.checkoutSettings.giftPackagePriceList)||void 0===i?void 0:i.find((function(e){return!e.currencyCode})))}),[n,n.checkoutSettings,n.checkout]),d=s("checkout-page:giftPackageCta")+(p&&p.price?" (+ ".concat(i(p.price,p.currencyCode||n.checkout.currencyCode,p.currencySymbol),")"):"");return n.checkoutSettings.isGiftPackageEnabled?e.createElement("div",{className:o.GiftSection},e.createElement(r,{value:n.checkout.isGiftPackage||!1,label:d,onChange:u,removePadding:!0}),n.checkout.isGiftPackage&&e.createElement(m,{type:a.TEXT_AREA,label:"",value:n.checkout.giftPackageNote||"",onChange:l,style:{marginTop:"16px"},textAreaPlaceholder:s("checkout-page:giftPackageCtaPlaceholder")})):null}));export{p as CheckoutStepShipping};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IkasCheckoutSettingsPrice as ICheckoutSettingsPrice } from "@ikas/storefront-models";
|
|
2
2
|
export declare class IkasCheckoutSettingsPrice implements ICheckoutSettingsPrice {
|
|
3
|
-
currencyCode: string;
|
|
3
|
+
currencyCode: string | null;
|
|
4
4
|
currencySymbol: string | null;
|
|
5
5
|
price: number;
|
|
6
|
+
priceListId: string | null;
|
|
6
7
|
constructor(data: ICheckoutSettingsPrice);
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var r=function(r){this.currencyCode=r.currencyCode,this.currencySymbol=r.currencySymbol||null,this.price=r.price};export{r as IkasCheckoutSettingsPrice};
|
|
1
|
+
var r=function(r){this.currencyCode=r.currencyCode||null,this.currencySymbol=r.currencySymbol||null,this.price=r.price,this.priceListId=r.priceListId||null};export{r as IkasCheckoutSettingsPrice};
|
|
@@ -35,6 +35,7 @@ export declare class IkasOrder extends IkasBaseModel implements IOrder {
|
|
|
35
35
|
orderPackages: IkasOrderPackage[] | null;
|
|
36
36
|
orderPaymentStatus: IkasOrderPaymentStatus | null;
|
|
37
37
|
orderedAt: number | null;
|
|
38
|
+
priceListId: string | null;
|
|
38
39
|
paymentMethods: IkasOrderPaymentMethod[] | null;
|
|
39
40
|
shippingAddress: IkasOrderAddress | null;
|
|
40
41
|
shippingLines: IkasOrderShippingLine[] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__extends as e}from'./../../../ext/tslib/tslib.es6.js';import{IkasOrderAddress as t}from"./address/index.js";import{IkasOrderShippingLine as n}from"./shipping-line/index.js";import{IkasOrderLineItem as r}from"./line-item/index.js";import{IkasOrderCustomer as o}from"./customer/index.js";import{IkasOrderGiftPackageLine as i}from"./gift-line/index.js";import{IkasInvoice as u}from"./invoice/index.js";import{IkasOrderPaymentMethod as l}from"./payment-method/index.js";import{IkasOrderAdjustment as
|
|
1
|
+
import{__extends as e}from'./../../../ext/tslib/tslib.es6.js';import{IkasOrderAddress as t}from"./address/index.js";import{IkasOrderShippingLine as n}from"./shipping-line/index.js";import{IkasOrderLineItem as r}from"./line-item/index.js";import{IkasOrderCustomer as o}from"./customer/index.js";import{IkasOrderGiftPackageLine as i}from"./gift-line/index.js";import{IkasInvoice as u}from"./invoice/index.js";import{IkasOrderPaymentMethod as l}from"./payment-method/index.js";import{IkasOrderAdjustment as s}from"./adjustment/index.js";import{IkasOrderPackage as a}from"./package/index.js";import{IkasOrderTaxLine as d}from"./tax-line/index.js";import{IkasBaseModel as c}from"../base/index.js";import{IkasCampaignType as m,IkasOrderShippingMethod as p,IkasOrderStatus as f}from"@ikas/storefront-models";export{IkasOrderCancelReason,IkasOrderPackageStatus,IkasOrderPaymentStatus,IkasOrderShippingMethod,IkasOrderStatus}from"@ikas/storefront-models";import{makeObservable as g,observable as b,computed as y}from"mobx";import{IkasOrderFunctions as h}from"@ikas/storefront-model-functions";import{formatCurrency as P}from"../../../utils/currency.js";var j=function(c){function j(e,m){var h,P,j,A,k,v,S,I,O,x,C=this;(C=c.call(this,e)||this).billingAddress=null,C.cancelReason=null,C.cancelledAt=null,C.currencySymbol=null,C.customer=null,C.customerId=null,C.giftPackageLines=null,C.giftPackageNote=null,C.invoices=null,C.isGiftPackage=null,C.note=null,C.orderAdjustments=null,C.orderNumber=null,C.orderPackageStatus=null,C.orderPackages=null,C.orderPaymentStatus=null,C.orderedAt=null,C.priceListId=null,C.paymentMethods=null,C.shippingAddress=null,C.shippingLines=null,C.taxLines=null,C.billingAddress=e.billingAddress?new t(e.billingAddress):null,C.cancelReason=e.cancelReason||null,C.cancelledAt=e.cancelledAt||null,C.currencyCode=e.currencyCode||"",C.currencySymbol=e.currencySymbol||null,C.customer=e.customer?new o(e.customer):null,C.customerId=e.customerId||null,C.giftPackageLines=(null===(h=e.giftPackageLines)||void 0===h?void 0:h.map((function(e){return new i(e)})))||null,C.giftPackageNote=e.giftPackageNote||null,C.invoices=(null===(P=e.invoices)||void 0===P?void 0:P.map((function(e){return new u(e)})))||null,C.isGiftPackage=e.isGiftPackage||null,C.note=e.note||null,C.orderAdjustments=(null===(j=e.orderAdjustments)||void 0===j?void 0:j.map((function(e){return new s(e)})))||null,C.orderLineItems=(null===(A=e.orderLineItems)||void 0===A?void 0:A.map((function(e){return new r(e)})).filter((function(e){return!e.deleted})))||[],C.orderNumber=e.orderNumber||null,C.orderPackageStatus=e.orderPackageStatus||null,C.orderPackages=(null===(k=e.orderPackages)||void 0===k?void 0:k.map((function(e){return new a(e)})))||null,C.orderPaymentStatus=e.orderPaymentStatus||null,C.orderedAt=e.orderedAt||null,C.priceListId=e.priceListId||null,C.paymentMethods=(null===(v=e.paymentMethods)||void 0===v?void 0:v.map((function(e){return new l(e)})))||null,C.shippingAddress=e.shippingAddress?new t(e.shippingAddress):null,C.shippingLines=(null===(S=e.shippingLines)||void 0===S?void 0:S.map((function(e){return new n(e)})))||null,C.shippingMethod=e.shippingMethod||p.SHIPMENT,C.status=e.status||f.CREATED,C.taxLines=(null===(I=e.taxLines)||void 0===I?void 0:I.map((function(e){return new d(e)})))||null,C.totalFinalPrice=null!==(O=e.totalFinalPrice)&&void 0!==O?O:0,C.totalPrice=null!==(x=e.totalPrice)&&void 0!==x?x:0,C.refundSettings=e.refundSettings;var T={billingAddress:b,cancelReason:b,cancelledAt:b,currencyCode:b,currencySymbol:b,customer:b,customerId:b,giftPackageLines:b,giftPackageNote:b,invoices:b,isGiftPackage:b,note:b,orderAdjustments:b,orderLineItems:b,orderNumber:b,orderPackageStatus:b,orderPackages:b,orderPaymentStatus:b,orderedAt:b,paymentMethods:b,shippingAddress:b,shippingLines:b,shippingMethod:b,status:b,taxLines:b,totalFinalPrice:b,totalPrice:b,refundSettings:b,items:y,itemCount:y,refundableItems:y,unfullfilledItems:y,refundedItems:y,totalTax:y,formattedTotalTax:y,shippingTotal:y,formattedShippingTotal:y,formattedTotalFinalPrice:y,formattedTotalPrice:y,hasCustomer:y,hasValidCustomerEmail:y,customerFullName:y,formattedDate:y,couponAdjustment:y,nonCouponAdjustments:y};return m&&(delete T.billingAddress,delete T.shippingAddress),g(C,T),C}return e(j,c),Object.defineProperty(j.prototype,"items",{get:function(){return this.orderLineItems},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"itemCount",{get:function(){var e;return(null===(e=this.items)||void 0===e?void 0:e.length)||0},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"itemQuantity",{get:function(){return this.items.reduce((function(e,t){return e+t.quantity}),0)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"refundableItems",{get:function(){return this.refundSettings?h.getRefundableItems(this,this.refundSettings):[]},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"displayedPackages",{get:function(){return h.getDisplayedPackages(this).map((function(e){return new a(e)}))},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"unfullfilledItems",{get:function(){return h.getUnfullfilledItems(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"refundedItems",{get:function(){return h.getRefundedItems(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"totalTax",{get:function(){return h.getTotalTax(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"formattedTotalTax",{get:function(){return P(this.totalTax,this.currencyCode,this.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"shippingTotal",{get:function(){return h.getShippingTotal(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"formattedShippingTotal",{get:function(){return P(this.shippingTotal,this.currencyCode,this.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"formattedTotalFinalPrice",{get:function(){return P(this.totalFinalPrice,this.currencyCode,this.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"formattedTotalPrice",{get:function(){return P(this.totalPrice,this.currencyCode,this.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"hasCustomer",{get:function(){return h.hasCustomer(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"hasValidCustomerEmail",{get:function(){return h.hasValidCustomerEmail(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"customerFullName",{get:function(){return h.getCustomerFullName(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"formattedDate",{get:function(){return h.getFormattedDate(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"couponAdjustment",{get:function(){return h.getCouponAdjustment(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"nonCouponAdjustments",{get:function(){return h.getNonCouponAdjustments(this)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"isRefundEnabled",{get:function(){return this.refundableItems.some((function(e){return null!==e.refundQuantity}))},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"displayedOrderAdjustments",{get:function(){var e;return null===(e=this.orderAdjustments)||void 0===e?void 0:e.filter((function(e){return e.campaignType!==m.FREE_SHIPPING}))},enumerable:!1,configurable:!0}),j}(c);export{j as IkasOrder};
|
|
@@ -34,6 +34,8 @@ export declare class IkasProduct implements IProduct {
|
|
|
34
34
|
reviewCount: number | null;
|
|
35
35
|
stars: IkasProductStar[] | null;
|
|
36
36
|
groupVariantsByVariantTypeId: string | null;
|
|
37
|
+
dynamicPriceListIds: string[] | null;
|
|
38
|
+
productVolumeDiscountId: string | null;
|
|
37
39
|
productOptionSet?: IkasProductOptionSet | null;
|
|
38
40
|
campaigns?: IkasProductCampaign[] | null;
|
|
39
41
|
selectedVariantValues: IkasVariantValue[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__spreadArray as t,__assign as e,__awaiter as i,__generator as n}from'./../../../ext/tslib/tslib.es6.js';import r from"lodash/sortBy";import a from"lodash/cloneDeep";import{IkasCategory as o}from"../category/index.js";import{IkasProductVariant as s}from"./variant/index.js";import{IkasProductAttributeValue as u}from"./attribute-value/index.js";import{IkasProductVariantType as c}from"./variant-type/index.js";import{IkasBrand as d}from"../brand/index.js";import{IkasHTMLMetaData as l}from"../html-meta-data/index.js";import{IkasProductTag as p}from"./tag/index.js";import{IkasProductType as f}from"@ikas/storefront-models";export{IkasProductType}from"@ikas/storefront-models";import{IkasProductOptionSet as h}from"./option-set/index.js";import{makeObservable as v,observable as m,computed as g}from"mobx";import{IkasProductFunctions as b}from"@ikas/storefront-model-functions";import{IkasProductCampaign as y}from"./campaign/index.js";import{IkasStorefrontConfig as V}from"@ikas/storefront-config";import{Analytics as P}from"../../../analytics/analytics.js";import"../../../analytics/head/index.js";import{IkasBaseStore as O}from"../../../store/base.js";import S from"lodash/groupBy";import{IkasProductBaseUnit as w}from"./base-unit/index.js";import{formatCurrency as j}from"../../../utils/currency.js";import"lodash/get";import I from"../../../store/product/index.js";import{IkasCustomerReviewList as T}from"../../ui/customer-review-list/index.js";import{IkasProductStar as x}from"./star/index.js";var C=function(){function C(b){void 0===b&&(b={});var S,k,A,R=this;this.metaData=null,this.brand=null,this.tags=null,this.productOptionSetId=null,this.productOptionSet=null,this.campaigns=null,this.selectedVariantValues=[],this.isFiltered=!1,this.isStatic=!1,this.bundleProductCache={},this.selectVariantValue=function(i,n){var r,a=R.metaData,o=R.selectedVariantValues.map((function(t){return t.variantTypeId===i.variantTypeId?i:t})),s=R.variants.find((function(t){return t.isActive&&o.every((function(e){return t.variantValues.some((function(t){return t.id===e.id}))}))}));if(s)R.selectedVariantValues=o;else{var u=R.variantTypes.findIndex((function(t){return t.variantType.id===i.variantTypeId}));if(u>0){var c=R.variantTypes.slice(0,u),d=R.selectedVariantValues.filter((function(t){return c.some((function(e){return e.variantType.id===t.variantTypeId}))})),l=t(t([],d,!0),[i],!1);s=R.variants.find((function(t){return t.isActive&&l.every((function(e){return t.variantValues.some((function(t){return t.id===e.id}))}))}))}else{var p=o.slice(0,o.length-1);(s=R.variants.find((function(t){return t.isActive&&p.every((function(e){return t.variantValues.some((function(t){return t.id===e.id}))}))})))||(s=R.variants.find((function(t){return t.isActive&&t.variantValues.some((function(t){return t.id===i.id}))})))}if(!s)return;R.selectedVariantValues=s.variantValues}var f={};new URLSearchParams(window.location.search).forEach((function(t,i){var n;"vid"!==i&&(f=e(e({},f),((n={})[i]=t,n)))})),R.variantTypes.map((function(t){delete f[t.variantType.slug]}));var h=t(t([],R.variantTypes.map((function(t){var e=t.variantType,i=e.values.find((function(t){return R.selectedVariantValues.some((function(e){return e.id===t.id}))}));if(i)return"".concat(e.slug,"=").concat(i.slug)})),!0),Object.entries(f).map((function(t){var e=t[0],i=t[1];return"".concat(e,"=").concat(i)})),!0).filter((function(t){return!!t})).join("&");if(!n){var v="/".concat(a.slug);if(h&&(v="/".concat(a.slug,"?").concat(h)),v===window.location.pathname)return;null===(r=O.getInstance().router)||void 0===r||r.replace(v,void 0,{shallow:!1,scroll:!1})}P.productView(R)},this.getVariantUnitPriceText=function(t){var e,i,n=t.price;if(n.unitPrice&&R.baseUnit){var r=R.baseUnit.baseAmount,a=(null===(i=null===(e=R.baseUnit)||void 0===e?void 0:e.unit)||void 0===i?void 0:i.name)||"";return"".concat(j(n.unitPrice,n.currency||"",n.currencySymbol||"")," / ").concat(r&&1!==r?r:"").concat(a)}},this.getCampaigns=function(){return i(R,void 0,void 0,(function(){var t,e,i,r,a,o=this;return n(this,(function(n){switch(n.label){case 0:return t=O.getInstance(),e=t.customerStore.customer,i=e?e.customerGroupIds:null,r=this.variants.map((function(t){return t.id})),[4,I.getProductCampaigns({input:{customerGroupIds:i,salesChannelId:V.getSalesChannelId()||"",variantIds:r}})];case 1:return a=n.sent(),this.campaigns=a.data,this.campaigns?(this.campaigns.map((function(t){o.variants.map((function(e){var i;t.variantIds.some((function(t){return t===e.id}))&&(null===(i=e.campaigns)||void 0===i||i.push(t))}))})),[2,this.campaigns]):[2]}}))}))},this.getAvailableStockLocations=function(){return i(R,void 0,void 0,(function(){var t,e;return n(this,(function(i){switch(i.label){case 0:return t=this.variants.map((function(t){return t.id})),e=V.getPickupStockLocationIds(),[4,I.getVariantStockLocations({stockLocationIdList:e,variantIds:t})];case 1:return[2,i.sent().data||[]]}}))}))},this.getCustomerReviews=function(t){return i(R,void 0,void 0,(function(){var e;return n(this,(function(i){switch(i.label){case 0:return[4,(e=new T({productId:this.id,limit:null==t?void 0:t.limit,page:null==t?void 0:t.page})).getInitial()];case 1:return i.sent(),[2,e]}}))}))},this.getProductOptionSet=function(){return i(R,void 0,void 0,(function(){var t,e;return n(this,(function(i){switch(i.label){case 0:return this.productOptionSet?[2,!0]:this.productOptionSetId?[4,I.listProductOptionSet({id:{eq:this.productOptionSetId}})]:[2,!1];case 1:return(t=i.sent()).isSuccess&&(null===(e=t.data)||void 0===e?void 0:e.length)?(this.productOptionSet=t.data[0],this.setOptionPrices(),[2,!0]):[2,!1]}}))}))},this.getBundleProductsOfVariant=function(t){return i(R,void 0,void 0,(function(){var e,i,r,o,s,u,c=this;return n(this,(function(n){switch(n.label){case 0:return(null==(e=null===(r=t.bundleSettings)||void 0===r?void 0:r.products.map((function(t){return t.productId})).filter((function(t){return-1===Object.keys(c.bundleProductCache).indexOf(t)})))?void 0:e.length)?[4,I.searchProducts({input:{productIdList:e}})]:[3,2];case 1:(i=n.sent()).isSuccess&&(null===(s=null===(o=i.data)||void 0===o?void 0:o.data)||void 0===s||s.forEach((function(t){c.bundleProductCache[t.id]=t}))),n.label=2;case 2:return null===(u=t.bundleSettings)||void 0===u||u.products.forEach((function(t){var e=c.bundleProductCache[t.productId];t.setProduct(new C(a(e)))})),[2]}}))}))},this.setOptionPrices=function(){var t,e=R.variants[0];if(e){var i=e.price.currency;null===(t=R.productOptionSet)||void 0===t||t.options.forEach((function(t){var e;t.selectSettings&&t.selectSettings.values.forEach((function(t){var e;t.otherPrices&&(t.price=(null===(e=t.otherPrices.find((function(t){return t.currencyCode===i})))||void 0===e?void 0:e.price)||t.price)})),t.otherPrices&&(t.price=(null===(e=t.otherPrices.find((function(t){return t.currencyCode===i})))||void 0===e?void 0:e.price)||t.price)}))}},this.id=b.id||Date.now()+"",this.name=b.name||"",this.type=b.type||f.PHYSICAL,this.description=b.description||"",this.shortDescription=b.shortDescription||"",this.metaData=b.metaData?new l(b.metaData):null,this.brand=b.brand?new d(b.brand):null,this.categories=b.categories?b.categories.map((function(t){return new o(t)})):[],this.deleted=b.deleted||null,this.tags=b.tags?b.tags.map((function(t){return new p(t)})):[],this.variants=b.variants?b.variants.map((function(t){return new s(t)})):[],this.attributes=b.attributes?b.attributes.map((function(t){return new u(t)})):[],this.variantTypes=b.variantTypes?b.variantTypes.map((function(t){return new c(t)})):[],this.productOptionSetId=b.productOptionSetId||null,this.averageRating=null!==(S=b.averageRating)&&void 0!==S?S:null,this.reviewCount=null!==(k=b.reviewCount)&&void 0!==k?k:null,this.stars=b.stars?b.stars.map((function(t){return new x(t)})):null,this.baseUnit=b.baseUnit?new w(b.baseUnit):null,this.productOptionSet=b.productOptionSet?new h(b.productOptionSet):null,this.campaigns=(null===(A=b.campaigns)||void 0===A?void 0:A.map((function(t){return new y(t)})))||null,this.selectedVariantValues=b.selectedVariantValues||[],this.variantTypes=r(this.variantTypes,"order"),this.groupVariantsByVariantTypeId=b.groupVariantsByVariantTypeId||null,this.setOptionPrices(),this.variants.forEach((function(t){return t.product=R})),v(this,{selectedVariantValues:m,isFiltered:m,isStatic:m,hasVariant:g,hasStock:g,hasValidProductOptionValues:g,href:g,productHref:g,mainVariantType:g,mainVariantValue:g,selectedVariant:g,displayedVariantTypes:g,isCustomerReviewEnabled:g,isCustomerReviewLoginRequired:g,isAddToCartEnabled:g,groupedAttributeValues:g,selectedVariantUnitPriceText:g})}return Object.defineProperty(C.prototype,"hasVariant",{get:function(){return b.hasVariant(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"hasStock",{get:function(){return this.isStatic?this.selectedVariant.hasStock:b.hasStock(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"hasValidProductOptionValues",{get:function(){return!this.productOptionSet||this.productOptionSet.hasValidValues},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"href",{get:function(){return b.getSelectedVariantHref(this,this.selectedVariantValues)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"productHref",{get:function(){return this.groupVariantsByVariantTypeId||this.isFiltered?this.href:b.getProductHref(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"mainVariantType",{get:function(){return b.getMainVariantType(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"mainVariantValue",{get:function(){return b.getMainVariantValue(this.selectedVariantValues)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"selectedVariant",{get:function(){if(!this.hasVariant)return this.variants[0];var t=this.selectedVariantValues.map((function(t){return t.id}));return this.variants.find((function(e){return e.variantValues.every((function(e){return t.includes(e.id)}))}))},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"displayedVariantTypes",{get:function(){return b.getDisplayedVariantTypes(this,this.selectedVariantValues)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"isCustomerReviewEnabled",{get:function(){return V.isCustomerReviewEnabled()},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"isCustomerReviewLoginRequired",{get:function(){return V.isCustomerReviewLoginRequired()},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"isAddToCartEnabled",{get:function(){return this.hasValidProductOptionValues&&(this.selectedVariant.hasStock||this.selectedVariant.sellIfOutOfStock)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"groupedAttributeValues",{get:function(){var t,e=S(this.attributes,"productAttributeId");return(null===(t=this.attributes)||void 0===t?void 0:t.map((function(t){var i=t.productAttributeId;if(i){var n=e[i];return(null==n?void 0:n.length)&&n[0].productAttribute?{attribute:n[0].productAttribute,values:n}:void 0}})).filter((function(t){return!!t})))||[]},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"selectedVariantUnitPriceText",{get:function(){return this.getVariantUnitPriceText(this.selectedVariant)},enumerable:!1,configurable:!0}),C}();export{C as IkasProduct};
|
|
1
|
+
import{__spreadArray as t,__assign as e,__awaiter as i,__generator as n}from'./../../../ext/tslib/tslib.es6.js';import r from"lodash/sortBy";import a from"lodash/cloneDeep";import{IkasCategory as o}from"../category/index.js";import{IkasProductVariant as s}from"./variant/index.js";import{IkasProductAttributeValue as u}from"./attribute-value/index.js";import{IkasProductVariantType as c}from"./variant-type/index.js";import{IkasBrand as d}from"../brand/index.js";import{IkasHTMLMetaData as l}from"../html-meta-data/index.js";import{IkasProductTag as p}from"./tag/index.js";import{IkasProductType as f}from"@ikas/storefront-models";export{IkasProductType}from"@ikas/storefront-models";import{IkasProductOptionSet as h}from"./option-set/index.js";import{makeObservable as m,observable as v,computed as g}from"mobx";import{IkasProductFunctions as b}from"@ikas/storefront-model-functions";import{IkasProductCampaign as y}from"./campaign/index.js";import{IkasStorefrontConfig as V}from"@ikas/storefront-config";import{Analytics as P}from"../../../analytics/analytics.js";import"../../../analytics/head/index.js";import{IkasBaseStore as O}from"../../../store/base.js";import S from"lodash/groupBy";import{IkasProductBaseUnit as I}from"./base-unit/index.js";import{formatCurrency as w}from"../../../utils/currency.js";import"lodash/get";import j from"../../../store/product/index.js";import{IkasCustomerReviewList as T}from"../../ui/customer-review-list/index.js";import{IkasProductStar as x}from"./star/index.js";var C=function(){function C(b){void 0===b&&(b={});var S,k,A,L=this;this.metaData=null,this.brand=null,this.tags=null,this.productOptionSetId=null,this.productOptionSet=null,this.campaigns=null,this.selectedVariantValues=[],this.isFiltered=!1,this.isStatic=!1,this.bundleProductCache={},this.selectVariantValue=function(i,n){var r,a=L.metaData,o=L.selectedVariantValues.map((function(t){return t.variantTypeId===i.variantTypeId?i:t})),s=L.variants.find((function(t){return t.isActive&&o.every((function(e){return t.variantValues.some((function(t){return t.id===e.id}))}))}));if(s)L.selectedVariantValues=o;else{var u=L.variantTypes.findIndex((function(t){return t.variantType.id===i.variantTypeId}));if(u>0){var c=L.variantTypes.slice(0,u),d=L.selectedVariantValues.filter((function(t){return c.some((function(e){return e.variantType.id===t.variantTypeId}))})),l=t(t([],d,!0),[i],!1);s=L.variants.find((function(t){return t.isActive&&l.every((function(e){return t.variantValues.some((function(t){return t.id===e.id}))}))}))}else{var p=o.slice(0,o.length-1);(s=L.variants.find((function(t){return t.isActive&&p.every((function(e){return t.variantValues.some((function(t){return t.id===e.id}))}))})))||(s=L.variants.find((function(t){return t.isActive&&t.variantValues.some((function(t){return t.id===i.id}))})))}if(!s)return;L.selectedVariantValues=s.variantValues}var f={};new URLSearchParams(window.location.search).forEach((function(t,i){var n;"vid"!==i&&(f=e(e({},f),((n={})[i]=t,n)))})),L.variantTypes.map((function(t){delete f[t.variantType.slug]}));var h=t(t([],L.variantTypes.map((function(t){var e=t.variantType,i=e.values.find((function(t){return L.selectedVariantValues.some((function(e){return e.id===t.id}))}));if(i)return"".concat(e.slug,"=").concat(i.slug)})),!0),Object.entries(f).map((function(t){var e=t[0],i=t[1];return"".concat(e,"=").concat(i)})),!0).filter((function(t){return!!t})).join("&");if(!n){var m="/".concat(a.slug);if(h&&(m="/".concat(a.slug,"?").concat(h)),m===window.location.pathname)return;null===(r=O.getInstance().router)||void 0===r||r.replace(m,void 0,{shallow:!1,scroll:!1})}P.productView(L)},this.getVariantUnitPriceText=function(t){var e,i,n=t.price;if(n.unitPrice&&L.baseUnit){var r=L.baseUnit.baseAmount,a=(null===(i=null===(e=L.baseUnit)||void 0===e?void 0:e.unit)||void 0===i?void 0:i.name)||"";return"".concat(w(n.unitPrice,n.currency||"",n.currencySymbol||"")," / ").concat(r&&1!==r?r:"").concat(a)}},this.getCampaigns=function(){return i(L,void 0,void 0,(function(){var t,e,i,r,a,o=this;return n(this,(function(n){switch(n.label){case 0:return t=O.getInstance(),e=t.customerStore.customer,i=e?e.customerGroupIds:null,r=this.variants.map((function(t){return t.id})),[4,j.getProductCampaigns({input:{customerGroupIds:i,salesChannelId:V.getSalesChannelId()||"",variantIds:r}})];case 1:return a=n.sent(),this.campaigns=a.data,this.campaigns?(this.campaigns.map((function(t){o.variants.map((function(e){var i;t.variantIds.some((function(t){return t===e.id}))&&(null===(i=e.campaigns)||void 0===i||i.push(t))}))})),[2,this.campaigns]):[2]}}))}))},this.getAvailableStockLocations=function(){return i(L,void 0,void 0,(function(){var t,e;return n(this,(function(i){switch(i.label){case 0:return t=this.variants.map((function(t){return t.id})),e=V.getPickupStockLocationIds(),[4,j.getVariantStockLocations({stockLocationIdList:e,variantIds:t})];case 1:return[2,i.sent().data||[]]}}))}))},this.getCustomerReviews=function(t){return i(L,void 0,void 0,(function(){var e;return n(this,(function(i){switch(i.label){case 0:return[4,(e=new T({productId:this.id,limit:null==t?void 0:t.limit,page:null==t?void 0:t.page})).getInitial()];case 1:return i.sent(),[2,e]}}))}))},this.getProductOptionSet=function(){return i(L,void 0,void 0,(function(){var t,e;return n(this,(function(i){switch(i.label){case 0:return this.productOptionSet?[2,!0]:this.productOptionSetId?[4,j.listProductOptionSet({id:{eq:this.productOptionSetId}})]:[2,!1];case 1:return(t=i.sent()).isSuccess&&(null===(e=t.data)||void 0===e?void 0:e.length)?(this.productOptionSet=t.data[0],this.setOptionPrices(),[2,!0]):[2,!1]}}))}))},this.getBundleProductsOfVariant=function(t){return i(L,void 0,void 0,(function(){var e,i,r,o,s,u,c=this;return n(this,(function(n){switch(n.label){case 0:return(null==(e=null===(r=t.bundleSettings)||void 0===r?void 0:r.products.map((function(t){return t.productId})).filter((function(t){return-1===Object.keys(c.bundleProductCache).indexOf(t)})))?void 0:e.length)?[4,j.searchProducts({input:{productIdList:e}})]:[3,2];case 1:(i=n.sent()).isSuccess&&(null===(s=null===(o=i.data)||void 0===o?void 0:o.data)||void 0===s||s.forEach((function(t){c.bundleProductCache[t.id]=t}))),n.label=2;case 2:return null===(u=t.bundleSettings)||void 0===u||u.products.forEach((function(t){var e=c.bundleProductCache[t.productId];t.setProduct(new C(a(e)))})),[2]}}))}))},this.setOptionPrices=function(){var t,e=L.variants[0];if(e){var i=e.price.currency;null===(t=L.productOptionSet)||void 0===t||t.options.forEach((function(t){var e;t.selectSettings&&t.selectSettings.values.forEach((function(t){var e;t.otherPrices&&(t.price=(null===(e=t.otherPrices.find((function(t){return t.currencyCode===i})))||void 0===e?void 0:e.price)||t.price)})),t.otherPrices&&(t.price=(null===(e=t.otherPrices.find((function(t){return t.currencyCode===i})))||void 0===e?void 0:e.price)||t.price)}))}},this.id=b.id||Date.now()+"",this.name=b.name||"",this.type=b.type||f.PHYSICAL,this.description=b.description||"",this.shortDescription=b.shortDescription||"",this.metaData=b.metaData?new l(b.metaData):null,this.brand=b.brand?new d(b.brand):null,this.categories=b.categories?b.categories.map((function(t){return new o(t)})):[],this.deleted=b.deleted||null,this.tags=b.tags?b.tags.map((function(t){return new p(t)})):[],this.variants=b.variants?b.variants.map((function(t){return new s(t)})):[],this.attributes=b.attributes?b.attributes.map((function(t){return new u(t)})):[],this.variantTypes=b.variantTypes?b.variantTypes.map((function(t){return new c(t)})):[],this.productOptionSetId=b.productOptionSetId||null,this.averageRating=null!==(S=b.averageRating)&&void 0!==S?S:null,this.reviewCount=null!==(k=b.reviewCount)&&void 0!==k?k:null,this.stars=b.stars?b.stars.map((function(t){return new x(t)})):null,this.baseUnit=b.baseUnit?new I(b.baseUnit):null,this.productOptionSet=b.productOptionSet?new h(b.productOptionSet):null,this.campaigns=(null===(A=b.campaigns)||void 0===A?void 0:A.map((function(t){return new y(t)})))||null,this.selectedVariantValues=b.selectedVariantValues||[],this.variantTypes=r(this.variantTypes,"order"),this.groupVariantsByVariantTypeId=b.groupVariantsByVariantTypeId||null,this.dynamicPriceListIds=b.dynamicPriceListIds||null,this.productVolumeDiscountId=b.productVolumeDiscountId||null,this.setOptionPrices(),this.variants.forEach((function(t){return t.product=L})),m(this,{selectedVariantValues:v,isFiltered:v,isStatic:v,hasVariant:g,hasStock:g,hasValidProductOptionValues:g,href:g,productHref:g,mainVariantType:g,mainVariantValue:g,selectedVariant:g,displayedVariantTypes:g,isCustomerReviewEnabled:g,isCustomerReviewLoginRequired:g,isAddToCartEnabled:g,groupedAttributeValues:g,selectedVariantUnitPriceText:g})}return Object.defineProperty(C.prototype,"hasVariant",{get:function(){return b.hasVariant(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"hasStock",{get:function(){return this.isStatic?this.selectedVariant.hasStock:b.hasStock(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"hasValidProductOptionValues",{get:function(){return!this.productOptionSet||this.productOptionSet.hasValidValues},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"href",{get:function(){return b.getSelectedVariantHref(this,this.selectedVariantValues)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"productHref",{get:function(){return this.groupVariantsByVariantTypeId||this.isFiltered?this.href:b.getProductHref(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"mainVariantType",{get:function(){return b.getMainVariantType(this)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"mainVariantValue",{get:function(){return b.getMainVariantValue(this.selectedVariantValues)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"selectedVariant",{get:function(){if(!this.hasVariant)return this.variants[0];var t=this.selectedVariantValues.map((function(t){return t.id}));return this.variants.find((function(e){return e.variantValues.every((function(e){return t.includes(e.id)}))}))},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"displayedVariantTypes",{get:function(){return b.getDisplayedVariantTypes(this,this.selectedVariantValues)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"isCustomerReviewEnabled",{get:function(){return V.isCustomerReviewEnabled()},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"isCustomerReviewLoginRequired",{get:function(){return V.isCustomerReviewLoginRequired()},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"isAddToCartEnabled",{get:function(){return this.hasValidProductOptionValues&&(this.selectedVariant.hasStock||this.selectedVariant.sellIfOutOfStock)},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"groupedAttributeValues",{get:function(){var t,e=S(this.attributes,"productAttributeId");return(null===(t=this.attributes)||void 0===t?void 0:t.map((function(t){var i=t.productAttributeId;if(i){var n=e[i];return(null==n?void 0:n.length)&&n[0].productAttribute?{attribute:n[0].productAttribute,values:n}:void 0}})).filter((function(t){return!!t})))||[]},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"selectedVariantUnitPriceText",{get:function(){return this.getVariantUnitPriceText(this.selectedVariant)},enumerable:!1,configurable:!0}),C}();export{C as IkasProduct};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{makeAutoObservable as t}from"mobx";import{formatCurrency as i}from"../../../../../../utils/currency.js";var e=function(){function e(i){void 0===i&&(i={});var e=this;this.product=null,this._initialQuantity=null,this.setProduct=function(t){t.variants=t.variants.filter((function(t){return e.filteredVariantIds.includes(t.id)})),e.product=t,e.product.selectedVariantValues=e.product.variants[0].variantValues,e.quantity=e._initialQuantity||0},this.setQuantity=function(t){null!==e.minQuantity&&t<e.minQuantity?e.quantity=e.minQuantity:null!==e.maxQuantity&&t>e.maxQuantity?e.quantity=e.maxQuantity:e.quantity=t},this.addToBundleBasePrice=i.addToBundleBasePrice||null,this.discountRatio=i.discountRatio||null,this.filteredVariantIds=i.filteredVariantIds||[],this.maxQuantity=i.maxQuantity||null,this.minQuantity=i.minQuantity||null,this.order=i.order||0,this.productId=i.productId||"",this.quantity=i.quantity||0,this._initialQuantity=this.quantity,t(this)}return Object.defineProperty(e.prototype,"isQuantityEditable",{get:function(){return null!==this.maxQuantity||null!==this.minQuantity},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldDisplayPrice",{get:function(){return!0===this.addToBundleBasePrice},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalPrice",{get:function(){var t,i=(null===(t=this.product)||void 0===t?void 0:t.selectedVariant.
|
|
1
|
+
import{makeAutoObservable as t}from"mobx";import{formatCurrency as i}from"../../../../../../utils/currency.js";var e=function(){function e(i){void 0===i&&(i={});var e=this;this.product=null,this._initialQuantity=null,this.setProduct=function(t){t.variants=t.variants.filter((function(t){return e.filteredVariantIds.includes(t.id)})),e.product=t,e.product.selectedVariantValues=e.product.variants[0].variantValues,e.quantity=e._initialQuantity||0},this.setQuantity=function(t){null!==e.minQuantity&&t<e.minQuantity?e.quantity=e.minQuantity:null!==e.maxQuantity&&t>e.maxQuantity?e.quantity=e.maxQuantity:e.quantity=t},this.addToBundleBasePrice=i.addToBundleBasePrice||null,this.discountRatio=i.discountRatio||null,this.filteredVariantIds=i.filteredVariantIds||[],this.maxQuantity=i.maxQuantity||null,this.minQuantity=i.minQuantity||null,this.order=i.order||0,this.productId=i.productId||"",this.quantity=i.quantity||0,this._initialQuantity=this.quantity,t(this)}return Object.defineProperty(e.prototype,"isQuantityEditable",{get:function(){return null!==this.maxQuantity||null!==this.minQuantity},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldDisplayPrice",{get:function(){return!0===this.addToBundleBasePrice},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalPrice",{get:function(){var t,i=(null===(t=this.product)||void 0===t?void 0:t.selectedVariant.finalPrice)||0;return this.addToBundleBasePrice&&this.discountRatio&&(i-=i*(this.discountRatio/100)),i},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalPriceWithQuantity",{get:function(){return this.finalPrice*this.quantity},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"formattedFinalPrice",{get:function(){var t,e;return i(this.finalPrice,(null===(t=this.product)||void 0===t?void 0:t.selectedVariant.price.currency)||"",(null===(e=this.product)||void 0===e?void 0:e.selectedVariant.price.currencySymbol)||"")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"formattedFinalPriceWithQuantity",{get:function(){var t,e;return i(this.finalPriceWithQuantity,(null===(t=this.product)||void 0===t?void 0:t.selectedVariant.price.currency)||"",(null===(e=this.product)||void 0===e?void 0:e.selectedVariant.price.currencySymbol)||"")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sellPrice",{get:function(){var t;return(null===(t=this.product)||void 0===t?void 0:t.selectedVariant.price.sellPrice)||0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sellPriceWithQuantity",{get:function(){return this.sellPrice*this.quantity},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"formattedSellPrice",{get:function(){var t,e;return i(this.sellPrice,(null===(t=this.product)||void 0===t?void 0:t.selectedVariant.price.currency)||"",(null===(e=this.product)||void 0===e?void 0:e.selectedVariant.price.currencySymbol)||"")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"formattedSellPriceWithQuantity",{get:function(){var t,e;return i(this.sellPriceWithQuantity,(null===(t=this.product)||void 0===t?void 0:t.selectedVariant.price.currency)||"",(null===(e=this.product)||void 0===e?void 0:e.selectedVariant.price.currencySymbol)||"")},enumerable:!1,configurable:!0}),e}();export{e as IkasBundleProduct};
|
|
@@ -11,6 +11,7 @@ export declare class IkasProductVariant implements IProductVariant {
|
|
|
11
11
|
id: string;
|
|
12
12
|
sku: string | null;
|
|
13
13
|
barcodeList: string[] | null;
|
|
14
|
+
baseBundlePrices: IkasProductPrice[] | null;
|
|
14
15
|
bundleSettings: IkasBundleSettings | null;
|
|
15
16
|
variantValues: IkasVariantValue[];
|
|
16
17
|
attributes: IkasProductAttributeValue[];
|
|
@@ -33,6 +34,7 @@ export declare class IkasProductVariant implements IProductVariant {
|
|
|
33
34
|
get groupedAttributeValues(): IkasProductAttributeMap[];
|
|
34
35
|
get b2bDiscountRatio(): number;
|
|
35
36
|
get price(): IkasProductPrice;
|
|
37
|
+
get bundlePrice(): IkasProductPrice;
|
|
36
38
|
get finalPrice(): number;
|
|
37
39
|
get formattedFinalPrice(): string;
|
|
38
40
|
get sellPrice(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as
|
|
1
|
+
import{__awaiter as e,__generator as t,__assign as i}from'./../../../../ext/tslib/tslib.es6.js';import{IkasProductPrice as r}from"./price/index.js";import{IkasVariantValue as n}from"../../variant-type/variant-value/index.js";import{IkasProductAttributeValue as o}from"../attribute-value/index.js";import{IkasProductImage as u}from"../image/index.js";import{IkasBundleSettings as c}from"./bundle-settings/index.js";import{IkasCustomerPriceListRuleFilterType as s}from"@ikas/storefront-models";import{IkasProductVariantFunctions as a,IkasProductPriceFunctions as d}from"@ikas/storefront-model-functions";import{IkasStorefrontConfig as l}from"@ikas/storefront-config";import{saveProductBackInStockRemind as f,listProductBackInStockRemind as p}from"@ikas/storefront-api";import b from"lodash/groupBy";import m from"lodash/sortBy";import{IkasProductVariantUnit as v}from"./unit/index.js";import{formatCurrency as h}from"../../../../utils/currency.js";import{makeAutoObservable as g}from"mobx";import{IkasBaseStore as y}from"../../../../store/base.js";import"../../../../store/customer/index.js";import"../../../../store/cart/index.js";var P=function(){function P(e){void 0===e&&(e={}),this._backInStockReminderSaved=!1,this.product=null,this.id=e.id||Date.now()+"",this.productId=e.productId||"",this.sku=e.sku||null,this.barcodeList=e.barcodeList||[],this.baseBundlePrices=e.baseBundlePrices?e.baseBundlePrices.map((function(e){return new r(e)})):[],this.bundleSettings=e.bundleSettings?new c(e.bundleSettings):null,this.variantValues=e.variantValues?e.variantValues.map((function(e){return new n(e)})):[],this.images=e.images?e.images.map((function(e){return new u(e)})):[],this.attributes=e.attributes?e.attributes.map((function(e){return new o(e)})):[],this.prices=e.prices?e.prices.map((function(e){return new r(e)})):[],this.stock=e.stock||0,this.isActive=void 0===e.isActive||e.isActive,this.campaigns=e.campaigns||[],this.unit=e.unit?new v(e.unit):null,this.sellIfOutOfStock=e.sellIfOutOfStock||!1,this.images=m(this.images,"order"),g(this)}return Object.defineProperty(P.prototype,"mainImage",{get:function(){var e=a.getMainImage(this);return e?new u(e):void 0},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"hasStock",{get:function(){return a.hasStock(this)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"isBackInStockEnabled",{get:function(){return l.isBackInStockEnabled()},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"isBackInStockCustomerLoginRequired",{get:function(){return l.isCustomerLoginRequiredForBackInStock()},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"isBackInStockReminderSaved",{get:function(){return this._backInStockReminderSaved},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"groupedAttributeValues",{get:function(){var e,t=b(this.attributes,"productAttributeId");return(null===(e=this.attributes)||void 0===e?void 0:e.map((function(e){var i=e.productAttributeId;if(i){var r=t[i];return(null==r?void 0:r.length)&&r[0].productAttribute?{attribute:r[0].productAttribute,values:r}:void 0}})).filter((function(e){return!!e})))||[]},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"b2bDiscountRatio",{get:function(){var e,t=this,i=y.getInstance().customerStore.customer,r=null==i?void 0:i.priceListRules;if(r){for(var n=0,o=r;n<o.length;n++){var u=o[n];if(null===(e=u.filters)||void 0===e?void 0:e.find((function(e){var i,r,n,o;if(e.type===s.CATEGORY)return u=null===(i=e.valueList)||void 0===i?void 0:i.some((function(e){var i;return null===(i=t.product)||void 0===i?void 0:i.categories.find((function(t){return t.id===e}))}));if(e.type===s.PRODUCT)return u=null===(r=e.valueList)||void 0===r?void 0:r.some((function(e){return t.id===e}));if(e.type===s.PRODUCT_BRAND){var u=null===(n=e.valueList)||void 0===n?void 0:n.some((function(e){var i,r;return(null===(r=null===(i=t.product)||void 0===i?void 0:i.brand)||void 0===r?void 0:r.id)===e}));return u}if(e.type===s.PRODUCT_TAG){u=null===(o=e.valueList)||void 0===o?void 0:o.some((function(e){var i,r;return null===(r=null===(i=t.product)||void 0===i?void 0:i.tags)||void 0===r?void 0:r.find((function(t){return t.id===e}))}));return u}})))return u.discountRate}return 0}return 0},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"price",{get:function(){var e,t;if(l.isB2BStorefront()){var i=y.getInstance().customerStore.customer;if(null==i?void 0:i.priceListId){var r=null===(e=this.prices)||void 0===e?void 0:e.find((function(e){return e.priceListId===i.priceListId}));if(r)return r}}return null===(t=this.prices)||void 0===t?void 0:t.find((function(e){return l.getPriceListId()?e.priceListId===l.getPriceListId():null===e.priceListId}))},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"bundlePrice",{get:function(){var e,t;if(l.isB2BStorefront()){var i=y.getInstance().customerStore.customer;if(null==i?void 0:i.priceListId){var r=null===(e=this.baseBundlePrices)||void 0===e?void 0:e.find((function(e){return e.priceListId===i.priceListId}));if(r)return r}}return(null===(t=this.baseBundlePrices)||void 0===t?void 0:t.find((function(e){return l.getPriceListId()?e.priceListId===l.getPriceListId():null===e.priceListId})))||this.price},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"finalPrice",{get:function(){var e=0;this.bundleSettings?e=d.getFinalPrice(this.bundlePrice)+this.bundleSettings.products.reduce((function(e,t){return e+(t.addToBundleBasePrice?t.finalPriceWithQuantity:0)}),0):e=d.getFinalPrice(this.price);return this.b2bDiscountRatio?e*((100-this.b2bDiscountRatio)/100):e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"formattedFinalPrice",{get:function(){return h(this.finalPrice,this.price.currency||"",this.price.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"sellPrice",{get:function(){return this.bundleSettings?this.bundlePrice.sellPrice+this.bundleSettings.products.reduce((function(e,t){return e+(t.addToBundleBasePrice?t.sellPriceWithQuantity:0)}),0):this.price.sellPrice},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"formattedSellPrice",{get:function(){return h(this.sellPrice,this.price.currency||"",this.price.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"formattedBuyPrice",{get:function(){return h(this.price.buyPrice||0,this.price.currency||"",this.price.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"discountPrice",{get:function(){return this.finalPrice===this.sellPrice?null:this.finalPrice},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"formattedDiscountPrice",{get:function(){return h(this.discountPrice||0,this.price.currency||"",this.price.currencySymbol||"")},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"hasDiscount",{get:function(){return d.hasDiscount(this.price)||!!this.b2bDiscountRatio},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"discountAmount",{get:function(){return this.hasDiscount?this.sellPrice-this.finalPrice:0},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"discountPercentage",{get:function(){return this.hasDiscount?(100-100*this.finalPrice/this.sellPrice).toFixed(0):0},enumerable:!1,configurable:!0}),P.prototype.saveBackInStockReminder=function(i){var r;return e(this,void 0,void 0,(function(){var e;return t(this,(function(t){switch(t.label){case 0:return[4,p({email:{eq:i},productId:{eq:this.productId},variantId:{eq:this.id}})];case 1:return(e=t.sent())&&(null===(r=e.data)||void 0===r?void 0:r.length)?(this._backInStockReminderSaved=!0,[2,!1]):[3,2];case 2:return[4,f({input:{email:i,productId:this.productId,variantId:this.id}})];case 3:return t.sent().isSuccess?(this._backInStockReminderSaved=!0,[2,!0]):(this._backInStockReminderSaved=!1,[2,!1]);case 4:return[2]}}))}))},P.prototype.toJSON=function(){var e=i({},this);return delete e.product,e},P}();export{P as IkasProductVariant};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikas/storefront",
|
|
3
|
-
"version": "4.10.0-beta.
|
|
3
|
+
"version": "4.10.0-beta.38",
|
|
4
4
|
"description": "Storefront functionality for ikas storefront themes.",
|
|
5
5
|
"author": "ikas",
|
|
6
6
|
"license": "ISC",
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"build": "rm -rf build && rollup -c"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@ikas/storefront-api": "^4.10.0-beta.
|
|
21
|
-
"@ikas/storefront-config": "^4.10.0-beta.
|
|
22
|
-
"@ikas/storefront-model-functions": "^4.10.0-beta.
|
|
23
|
-
"@ikas/storefront-models": "^4.10.0-beta.
|
|
24
|
-
"@ikas/storefront-providers": "^4.10.0-beta.
|
|
20
|
+
"@ikas/storefront-api": "^4.10.0-beta.38",
|
|
21
|
+
"@ikas/storefront-config": "^4.10.0-beta.38",
|
|
22
|
+
"@ikas/storefront-model-functions": "^4.10.0-beta.38",
|
|
23
|
+
"@ikas/storefront-models": "^4.10.0-beta.38",
|
|
24
|
+
"@ikas/storefront-providers": "^4.10.0-beta.38",
|
|
25
25
|
"@ikas/localized-address": "^1.0.0-beta.3",
|
|
26
26
|
"@adyen/adyen-web": "^5.28.2",
|
|
27
27
|
"@rollup/plugin-commonjs": "^22.0.0",
|
|
@@ -55,11 +55,11 @@
|
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"@ikas/localized-address": "^1.0.0-beta.3",
|
|
58
|
-
"@ikas/storefront-api": "^4.10.0-beta.
|
|
59
|
-
"@ikas/storefront-config": "^4.10.0-beta.
|
|
60
|
-
"@ikas/storefront-model-functions": "^4.10.0-beta.
|
|
61
|
-
"@ikas/storefront-models": "^4.10.0-beta.
|
|
62
|
-
"@ikas/storefront-providers": "^4.10.0-beta.
|
|
58
|
+
"@ikas/storefront-api": "^4.10.0-beta.38",
|
|
59
|
+
"@ikas/storefront-config": "^4.10.0-beta.38",
|
|
60
|
+
"@ikas/storefront-model-functions": "^4.10.0-beta.38",
|
|
61
|
+
"@ikas/storefront-models": "^4.10.0-beta.38",
|
|
62
|
+
"@ikas/storefront-providers": "^4.10.0-beta.38",
|
|
63
63
|
"mobx": "^6.1.3",
|
|
64
64
|
"mobx-react-lite": "^3.1.5",
|
|
65
65
|
"next": "12.2.0",
|