@ikas/loyalty-widget-renderer 1.0.0-alpha.84 → 1.0.0-alpha.85

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{__assign as t}from'./../ext/tslib/tslib.es6.mjs.js';import{makeObservable as e,observable as i,computed as n,action as r}from"mobx";import{markDescriptionClosedForSession as o,isDescriptionClosedForCurrentSession as s}from"../utils.js";import{LoyaltyCustomerInfo as a}from"./loyalty-customer-info/index.js";import{LoyaltyProgramEarningMethod as c}from"./loyalty-program-earning-method/index.js";import{LoyaltyProgramSpendingMethod as d}from"./loyalty-program-spending-method/index.js";import{LoyaltyWidget as h}from"./loyalty-widget/index.js";import{LoyaltyWidgetScreenTypeEnum as u,WidgetMode as p}from"./types/index.js";var g=function(){function g(o,g,l,M,y,f,m){void 0===o&&(o={}),this.userRefreshTrigger=0,this.cartRefreshTrigger=0,this.navigationStack=[u.MAIN_SCREEN],this.currentWidgetMode=f?p.WIDGET_MODE:p.MINI_MODE,this.isMiniModeDescriptionClosed=s(),this.isLoading=o.isLoading||!1,this.isActionLoading=o.isActionLoading||!1,this.loyaltyWidget=new h(o.loyaltyWidget),this.cdnURL=g,this.merchantId=l,this.storeUrl=y||o.storeUrl||"",this.currency=M,this.isPreviewMode=f||!1,this.cartId=o.cartId||null,this.ikasEventUser=o.ikasEventUser||null,this.user=o.user?new a(o.user):null,this.earningMethods=o.earningMethods?o.earningMethods.map(function(t){return new c(t)}):[],this.spendingMethods=o.spendingMethods?o.spendingMethods.map(function(t){return new d(t)}):[],this.tiers=o.tiers?o.tiers:[],this.categories=o.categories?o.categories:[],this.products=o.products?o.products:[],this.brands=o.brands?o.brands:[],this.tags=o.tags?o.tags:[],this.pointHistory=o.pointHistory?o.pointHistory:[],this.callbacks=m||void 0,e(this,t(t({cartId:i},f?{}:{loyaltyWidget:i}),{isLoading:i,isActionLoading:i,cdnURL:i,merchantId:i,storeUrl:i,currency:i,navigationStack:i,currentScreen:n,isMainScreen:n,pushScreen:r.bound,popScreen:r.bound,resetNavigation:r.bound,setWidgetMode:r.bound,closeMiniModeDescription:r.bound,formatCurrency:r.bound,currentWidgetMode:i,isMiniModeDescriptionClosed:i,user:i,earningMethods:i,spendingMethods:i,tiers:i,categories:i,products:i,brands:i,tags:i,pointHistory:i,ikasEventUser:i,userRefreshTrigger:i,cartRefreshTrigger:i,shouldShowSpendingMethods:n}))}return Object.defineProperty(g.prototype,"currentScreen",{get:function(){return this.navigationStack[this.navigationStack.length-1]},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"isMainScreen",{get:function(){return this.currentScreen===u.MAIN_SCREEN},enumerable:!1,configurable:!0}),g.prototype.pushScreen=function(t){this.currentScreen!==t&&this.navigationStack.push(t)},g.prototype.popScreen=function(){this.navigationStack.length>1&&this.navigationStack.pop()},g.prototype.resetNavigation=function(){this.navigationStack=[u.MAIN_SCREEN]},Object.defineProperty(g.prototype,"shouldShowSpendingMethods",{get:function(){return!!this.user&&(!(this.user.totalPoint<=0)&&0!==this.spendingMethods.length)},enumerable:!1,configurable:!0}),g.prototype.setWidgetMode=function(t){this.currentWidgetMode=t,t!==p.WIDGET_MODE||this.isPreviewMode||(this.isMiniModeDescriptionClosed=!0,o())},g.prototype.closeMiniModeDescription=function(){this.isMiniModeDescriptionClosed=!0,o()},g.prototype.formatCurrency=function(t){var e;return(null===(e=this.callbacks)||void 0===e?void 0:e.formatCurrency)?this.callbacks.formatCurrency(t):"".concat(t.toFixed(2)," ").concat(this.currency)},g}();export{g as LoyaltyWidgetViewModel};
1
+ import{__assign as t}from'./../ext/tslib/tslib.es6.mjs.js';import{makeObservable as i,observable as e,computed as o,action as n}from"mobx";import{markDescriptionClosedForSession as r,markDescriptionPermanentlyClosed as s,isDescriptionClosedForCurrentSession as d,isDescriptionPermanentlyClosed as a}from"../utils.js";import{LoyaltyCustomerInfo as c}from"./loyalty-customer-info/index.js";import{LoyaltyProgramEarningMethod as h}from"./loyalty-program-earning-method/index.js";import{LoyaltyProgramSpendingMethod as u}from"./loyalty-program-spending-method/index.js";import{LoyaltyWidget as p}from"./loyalty-widget/index.js";import{LoyaltyWidgetScreenTypeEnum as g,WidgetMode as l}from"./types/index.js";var y=function(){function y(r,s,y,M,f,m,v){void 0===r&&(r={}),this.userRefreshTrigger=0,this.cartRefreshTrigger=0,this.navigationStack=[g.MAIN_SCREEN],this.currentWidgetMode=m?l.WIDGET_MODE:l.MINI_MODE,this.isMiniModeDescriptionClosed=d()||a(),this.isLoading=r.isLoading||!1,this.isActionLoading=r.isActionLoading||!1,this.loyaltyWidget=new p(r.loyaltyWidget),this.cdnURL=s,this.merchantId=y,this.storeUrl=f||r.storeUrl||"",this.currency=M,this.isPreviewMode=m||!1,this.cartId=r.cartId||null,this.ikasEventUser=r.ikasEventUser||null,this.user=r.user?new c(r.user):null,this.earningMethods=r.earningMethods?r.earningMethods.map(function(t){return new h(t)}):[],this.spendingMethods=r.spendingMethods?r.spendingMethods.map(function(t){return new u(t)}):[],this.tiers=r.tiers?r.tiers:[],this.categories=r.categories?r.categories:[],this.products=r.products?r.products:[],this.brands=r.brands?r.brands:[],this.tags=r.tags?r.tags:[],this.pointHistory=r.pointHistory?r.pointHistory:[],this.callbacks=v||void 0,i(this,t(t({cartId:e},m?{}:{loyaltyWidget:e}),{isLoading:e,isActionLoading:e,cdnURL:e,merchantId:e,storeUrl:e,currency:e,navigationStack:e,currentScreen:o,isMainScreen:o,pushScreen:n.bound,popScreen:n.bound,resetNavigation:n.bound,setWidgetMode:n.bound,closeMiniModeDescription:n.bound,formatCurrency:n.bound,currentWidgetMode:e,isMiniModeDescriptionClosed:e,user:e,earningMethods:e,spendingMethods:e,tiers:e,categories:e,products:e,brands:e,tags:e,pointHistory:e,ikasEventUser:e,userRefreshTrigger:e,cartRefreshTrigger:e,shouldShowSpendingMethods:o}))}return Object.defineProperty(y.prototype,"currentScreen",{get:function(){return this.navigationStack[this.navigationStack.length-1]},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"isMainScreen",{get:function(){return this.currentScreen===g.MAIN_SCREEN},enumerable:!1,configurable:!0}),y.prototype.pushScreen=function(t){this.currentScreen!==t&&this.navigationStack.push(t)},y.prototype.popScreen=function(){this.navigationStack.length>1&&this.navigationStack.pop()},y.prototype.resetNavigation=function(){this.navigationStack=[g.MAIN_SCREEN]},Object.defineProperty(y.prototype,"shouldShowSpendingMethods",{get:function(){return!!this.user&&(!(this.user.totalPoint<=0)&&0!==this.spendingMethods.length)},enumerable:!1,configurable:!0}),y.prototype.setWidgetMode=function(t){var i,e;this.currentWidgetMode=t,t!==l.WIDGET_MODE||this.isPreviewMode||(this.isMiniModeDescriptionClosed=!0,r(),(null===(e=null===(i=this.loyaltyWidget)||void 0===i?void 0:i.miniMode)||void 0===e?void 0:e.hideDescriptionAfterClose)&&s())},y.prototype.closeMiniModeDescription=function(){var t,i;this.isMiniModeDescriptionClosed=!0,r(),(null===(i=null===(t=this.loyaltyWidget)||void 0===t?void 0:t.miniMode)||void 0===i?void 0:i.hideDescriptionAfterClose)&&s()},y.prototype.formatCurrency=function(t){var i;return(null===(i=this.callbacks)||void 0===i?void 0:i.formatCurrency)?this.callbacks.formatCurrency(t):"".concat(t.toFixed(2)," ").concat(this.currency)},y}();export{y as LoyaltyWidgetViewModel};
@@ -3,5 +3,6 @@ export declare class MiniMode {
3
3
  logo: LoyaltyWidgetImage;
4
4
  emoji?: string | null;
5
5
  bgColor?: string | null;
6
+ hideDescriptionAfterClose: boolean;
6
7
  constructor(data: Partial<MiniMode>);
7
8
  }
@@ -1 +1 @@
1
- import{makeObservable as o,observable as i}from"mobx";import{LoyaltyWidgetImage as m}from"../image/index.js";var r=function(r){this.logo=r.logo?new m(r.logo):new m({}),this.emoji=r.emoji||"🚀",this.bgColor=r.bgColor||"#FFF",o(this,{logo:i,emoji:i,bgColor:i})};export{r as MiniMode};
1
+ import{makeObservable as o,observable as i}from"mobx";import{LoyaltyWidgetImage as e}from"../image/index.js";var r=function(r){var t;this.logo=r.logo?new e(r.logo):new e({}),this.emoji=r.emoji||"🚀",this.bgColor=r.bgColor||"#FFF",this.hideDescriptionAfterClose=null!==(t=r.hideDescriptionAfterClose)&&void 0!==t&&t,o(this,{logo:i,emoji:i,bgColor:i,hideDescriptionAfterClose:i})};export{r as MiniMode};
@@ -1 +1 @@
1
- import{__spreadArray as t}from'./../../../ext/tslib/tslib.es6.mjs.js';import e from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{Album02 as r}from"../../../assets/widget-icons/normal/album02.js";import{Scenery as l}from"../../../assets/widget-icons/illustraions/scenery.js";import{WidgetIconTypeEnum as o}from"../../../models/loyalty-widget/types/index.js";import i from"../button/index.js";import{FilterListContainer as a,FilterHeader as u,ProductCard as s,ProductCardContent as c,ProductImageContainer as m,ProductImage as d,ProductInfo as f,ProductName as p,VariantText as v,ButtonWrapper as g}from"./style.js";var y=function(t,e){return e?t?"".concat(t.replace(/\/$/,""),"/").concat(e):"/".concat(e):null},E=function(t){var a=t.resolved,u=t.iconType,E=t.storeUrl,h=t.button,j=n().t,b=a.product,w=a.variants,x=(w.length>0?w[0].mainImageSrc:null)||b.mainImageSrc,T=w.length>0?w.map(function(t){return t.variantText}).filter(Boolean).join(", "):null,S=u===o.ILLUSTRATION?l:r,I=y(E,b.url);return e.createElement(s,null,e.createElement(c,null,e.createElement(m,null,x?e.createElement(d,{src:x,alt:b.name}):e.createElement(S,null)),e.createElement(f,null,e.createElement(p,null,b.name),T&&e.createElement(v,null,T)),I&&e.createElement(g,null,e.createElement(i,{button:h,paddingSize:"small",fontSize:"textXSMedium",onClick:function(){I&&window.open(I,"_self")}},j("common.goToProduct")))))},h=function(n){var r=n.filters,l=n.viewModel,o=n.header,i=l.loyaltyWidget.settings.widgetIconType,s=l.storeUrl,c=l.loyaltyWidget.button,m=r.map(function(t){return function(t,e){if(!e||0===e.length)return null;var n=e.find(function(t){return t.startsWith("p:")});if(!n)return null;var r=n.slice(2),l=t.products.find(function(t){return t.id===r});if(!l)return null;var o=e.find(function(t){return t.startsWith("v:")}),i=[];if(o&&l.variants){var a=o.slice(2),u=l.variants.find(function(t){return t.id===a});u&&i.push(u)}return{product:l,variants:i}}(l,t.idList)}).filter(Boolean),d=function(e){for(var n=new Map,r=0,l=e;r<l.length;r++){var o=l[r],i=n.get(o.product.id);if(i)for(var a=function(t){i.variants.some(function(e){return e.id===t.id})||i.variants.push(t)},u=0,s=o.variants;u<s.length;u++)a(s[u]);else n.set(o.product.id,{product:o.product,variants:t([],o.variants,!0)})}return Array.from(n.values())}(m);return 0===d.length?null:e.createElement(a,null,o&&e.createElement(u,null,o),d.map(function(t){return e.createElement(E,{key:t.product.id,resolved:t,iconType:i,storeUrl:s,button:c})}))};export{h as ProductFilterList,y as getProductFullUrl};
1
+ import{__spreadArray as t}from'./../../../ext/tslib/tslib.es6.mjs.js';import e from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{Scenery as r}from"../../../assets/widget-icons/illustraions/scenery.js";import{Album02 as l}from"../../../assets/widget-icons/normal/album02.js";import{WidgetIconTypeEnum as o}from"../../../models/loyalty-widget/types/index.js";import i from"../button/index.js";import{FilterListContainer as a,FilterHeader as u,ProductCard as s,ProductCardContent as c,ProductImageContainer as m,ProductImage as d,ProductInfo as f,ProductName as p,VariantText as v,ButtonWrapper as g}from"./style.js";var y=function(t,e){return e?t?"".concat(t.replace(/\/$/,""),"/").concat(e):"/".concat(e):null},E=function(t){var a=t.resolved,u=t.iconType,E=t.storeUrl,h=t.button,j=n().t,b=a.product,w=a.variants,x=(w.length>0?w[0].mainImageSrc:null)||b.mainImageSrc,T=w.length>0?w.map(function(t){return t.variantText}).filter(Boolean).join(", "):null,S=u===o.ILLUSTRATION?r:l,I=y(E,b.url);return e.createElement(s,null,e.createElement(c,null,e.createElement(m,null,x?e.createElement(d,{src:x,alt:b.name}):e.createElement(S,null)),e.createElement(f,null,e.createElement(p,null,b.name),T&&e.createElement(v,null,T)),I&&e.createElement(g,null,e.createElement(i,{button:h,paddingSize:"small",fontSize:"textXSMedium",onClick:function(){I&&window.open(I,"_self")}},j("common.goToProduct")))))},h=function(n){var r=n.filters,l=n.viewModel,o=n.header,i=l.loyaltyWidget.settings.widgetIconType,s=l.storeUrl,c=l.loyaltyWidget.button,m=r.map(function(t){return function(t,e){if(!e||0===e.length)return null;var n=e.find(function(t){return t.startsWith("p:")});if(!n)return null;var r=n.slice(2),l=t.products.find(function(t){return t.id===r});if(!l)return null;var o=e.find(function(t){return t.startsWith("v:")}),i=[];if(o&&l.variants){var a=o.slice(2),u=l.variants.find(function(t){return t.id===a});u&&i.push(u)}return{product:l,variants:i}}(l,t.idList)}).filter(Boolean),d=function(e){for(var n=new Map,r=0,l=e;r<l.length;r++){var o=l[r],i=n.get(o.product.id);if(i)for(var a=function(t){i.variants.some(function(e){return e.id===t.id})||i.variants.push(t)},u=0,s=o.variants;u<s.length;u++)a(s[u]);else n.set(o.product.id,{product:o.product,variants:t([],o.variants,!0)})}return Array.from(n.values())}(m);return 0===d.length?null:e.createElement(a,null,o&&e.createElement(u,null,o),d.map(function(t){return e.createElement(E,{key:t.product.id,resolved:t,iconType:i,storeUrl:s,button:c})}))};export{h as ProductFilterList,y as getProductFullUrl};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t,__spreadArray as n}from'./../ext/tslib/tslib.es6.mjs.js';import{toJS as r}from"mobx";import{observer as i}from"mobx-react";import o,{useState as s,useEffect as a}from"react";import'./../ext/react-i18next/dist/es/context.js';import{I18nextProvider as l}from'./../ext/react-i18next/dist/es/I18nextProvider.js';import{LoyaltyWidgetViewModel as c}from"../models/index.js";import{LoyaltyCustomerInfo as d}from"../models/loyalty-customer-info/index.js";import{LoyaltyProgramEarningMethod as u}from"../models/loyalty-program-earning-method/index.js";import{LoyaltyProgramPointHistory as f}from"../models/loyalty-program-point-history/index.js";import{LoyaltyProgramSpendingMethod as v}from"../models/loyalty-program-spending-method/index.js";import{LoyaltyWidget as m}from"../models/loyalty-widget/index.js";import{WidgetPositionEnum as g,LoyaltyWidgetLayoutTypeEnum as p}from"../models/loyalty-widget/types/index.js";import{WidgetMode as y,LoyaltyWidgetScreenTypeEnum as E,EarningMethodTypeEnum as h,LoyaltyProgramFilterTypeEnum as T,LoyaltyProgramMethodSpendingTypeEnum as R}from"../models/types/index.js";import b from"./components/mini-mode-button/index.js";import w from"./components/mini-mode-description/index.js";import k from"./screens/credit-earning-methods-screen/index.js";import I from"./screens/credit-history-screen/index.js";import M from"./screens/credit-spending-methods-screen/index.js";import _ from"./screens/gift-product-selection-screen/index.js";import C from"./screens/loyalty-level-screen/index.js";import O from"./screens/main-screen/index.js";import S from"./utils/i18n.js";import{unflatten as D}from"./utils/object-utils.js";import{Container as A,MiniModeWrapper as L,Panel as P,ScreenWrapper as j}from"./style.js";var U=i(function(i){var U,x,N=i.config,W=s(function(){var e=N||window.ikasLoyaltyWidgetConfig;return new c({cartId:(null==e?void 0:e.cartId)||null,ikasEventUser:(null==e?void 0:e.userId)?{id:e.userId}:null},(null==e?void 0:e.cdnURL)||"",(null==e?void 0:e.merchantId)||"",(null==e?void 0:e.currency)||"",(null==e?void 0:e.storeURL)||null,null==e?void 0:e.isPreviewMode,null==e?void 0:e.callbacks)})[0],$=s(!1),G=$[0],B=$[1],F=s(!1),V=F[0],z=F[1],Y=s(!1),H=Y[0],J=Y[1],q=W.loyaltyWidget.translations,K=JSON.stringify(r(null==q?void 0:q.custom));a(function(){var e=null==q?void 0:q.language,t=(null==q?void 0:q.custom)?r(q.custom):{};if(e){var n=["tr","en","de","nl","fr"].includes(e)?e:"en";if(S.language!==n&&S.changeLanguage(n),Object.keys(t).length>0){var i=D(t);S.addResourceBundle(n,"translation",i,!0,!0)}}},[null==q?void 0:q.language,K]),a(function(){var e=N||window.ikasLoyaltyWidgetConfig;(null==e?void 0:e.onViewModelInitialized)&&e.onViewModelInitialized(W)},[W,N]);var Q=function(){return e(void 0,void 0,void 0,function(){var e,r,i,o,s;return t(this,function(t){switch(t.label){case 0:return W.callbacks?(e=new Set,r=new Set,i=new Set,o=new Set,W.earningMethods.forEach(function(t){var s,a;t.methodType!==h.ORDER_CREATE&&t.methodType!==h.BUY_PRODUCT||n(n([],(null===(s=t.orderSettings)||void 0===s?void 0:s.productFilters)||[],!0),(null===(a=t.productSettings)||void 0===a?void 0:a.productFilters)||[],!0).forEach(function(t){t.type===T.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){t.startsWith("v:")||e.add(t.replace(/^p:/,""))}):t.type===T.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===T.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===T.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),W.spendingMethods&&W.spendingMethods.forEach(function(t){var n,s;t.type===R.FREE_PRODUCT&&(null===(n=t.discountSettings)||void 0===n?void 0:n.freeProductId)&&e.add(t.discountSettings.freeProductId),null===(s=t.productFilters)||void 0===s||s.forEach(function(t){t.type===T.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){t.startsWith("v:")||e.add(t.replace(/^p:/,""))}):t.type===T.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===T.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===T.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),s=[],e.size>0&&W.callbacks.getProducts&&s.push(W.callbacks.getProducts(Array.from(e)).then(function(e){return W.products=e})),r.size>0&&W.callbacks.getCategories&&s.push(W.callbacks.getCategories(Array.from(r)).then(function(e){return W.categories=e})),i.size>0&&W.callbacks.getBrands&&s.push(W.callbacks.getBrands(Array.from(i)).then(function(e){return W.brands=e})),o.size>0&&W.callbacks.getTags&&s.push(W.callbacks.getTags(Array.from(o)).then(function(e){return W.tags=e})),[4,Promise.all(s)]):[2];case 1:return t.sent(),[2]}})})};a(function(){e(void 0,void 0,void 0,function(){var e,n,r,i,o,s;return t(this,function(t){switch(t.label){case 0:if(!W.callbacks)return[3,6];t.label=1;case 1:return t.trys.push([1,4,5,6]),e=[W.callbacks.getLoyaltyWidget(),W.callbacks.listEarningMethods(),W.callbacks.listLoyaltyProgramTier({})],[4,Promise.all(e)];case 2:return n=t.sent(),r=n[0],i=n[1],o=n[2],W.loyaltyWidget=r instanceof m?r:new m(r||{}),W.earningMethods=i.map(function(e){return new u(e)}),W.tiers=o||[],[4,Q()];case 3:return t.sent(),[3,6];case 4:return s=t.sent(),console.error("Failed to initialize loyalty data",s),[3,6];case 5:return B(!0),[7];case 6:return[2]}})})},[]),a(function(){if(window.IkasEvents){var e=function(e){var t,n,r=null===(t=e.data)||void 0===t?void 0:t.customer,i=(null===(n=W.ikasEventUser)||void 0===n?void 0:n.id)===r.id;r&&!i&&(W.ikasEventUser=r,W.userRefreshTrigger++,W.cartRefreshTrigger++)},t=function(e){var t,n,r,i,o,s=W.cartId,a=null===(n=null===(t=e.data)||void 0===t?void 0:t.cart)||void 0===n?void 0:n.id;0===(null===(o=null===(i=null===(r=e.data)||void 0===r?void 0:r.cart)||void 0===i?void 0:i.orderLineItems)||void 0===o?void 0:o.length)?W.cartId=null:W.cartId=a,s!==W.cartId&&W.cartRefreshTrigger++},n={CUSTOMER_LOGIN:e,CUSTOMER_VISIT:e,CUSTOMER_LOGOUT:function(){W.userRefreshTrigger++,W.cartRefreshTrigger++},ADD_TO_CART:t,REMOVE_FROM_CART:t,REMOVE_LOYALTY_POINTS:function(){W.cartRefreshTrigger++,W.userRefreshTrigger++},PAGE_VIEW:function(e){var t,n,r=null===(t=e.data)||void 0===t?void 0:t.customer;if(r){var i=!W.ikasEventUser,o=(null===(n=W.ikasEventUser)||void 0===n?void 0:n.subscriptionStatus)!==r.subscriptionStatus;(i||o)&&(W.ikasEventUser=r,W.userRefreshTrigger++,W.cartRefreshTrigger++)}}},r="ikas-loyalty-widget-subscriber";try{window.IkasEvents.subscribe({id:r,callback:function(e){var t=n[e.type];t&&t(e)}})}catch(e){console.error("Failed to subscribe to IkasEvents",e)}return function(){var e;(null===(e=window.IkasEvents)||void 0===e?void 0:e.unsubscribe)&&window.IkasEvents.unsubscribe(r)}}},[W]),a(function(){e(void 0,void 0,void 0,function(){var e,n,r,i,o;return t(this,function(t){switch(t.label){case 0:if(V)return[2];if(z(!0),!W.callbacks||!(null===(o=W.ikasEventUser)||void 0===o?void 0:o.id))return[3,4];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,Promise.all([W.callbacks.getLoyaltyCustomerInfo(),W.callbacks.listLoyaltyProgramPointHistory({})])];case 2:return e=t.sent(),n=e[0],r=e[1],W.user=n?new d(n):null,n||(W.ikasEventUser=null),W.pointHistory=r?r.map(function(e){return new f(e)}):[],[3,4];case 3:return i=t.sent(),console.error("Failed to fetch user data",i),[3,4];case 4:return z(!1),[2]}})})},[null===(U=W.ikasEventUser)||void 0===U?void 0:U.id,W.userRefreshTrigger]),a(function(){e(void 0,void 0,void 0,function(){var e,n;return t(this,function(t){switch(t.label){case 0:if(H)return[2];if(J(!0),!W.callbacks)return[3,5];t.label=1;case 1:return t.trys.push([1,4,,5]),[4,W.callbacks.listSpendingMethodsByCartId(W.cartId)];case 2:return e=t.sent(),W.spendingMethods=e.map(function(e){return new v(e)}),[4,Q()];case 3:return t.sent(),[3,5];case 4:return n=t.sent(),console.error("Failed to fetch cart data",n),[3,5];case 5:return J(!1),[2]}})})},[W.cartId,W.cartRefreshTrigger]);var X=function(){W.setWidgetMode(y.MINI_MODE),setTimeout(function(){W.resetNavigation()},300)};a(function(){return W.currentWidgetMode===y.WIDGET_MODE?document.body.style.overflow="hidden":document.body.style.overflow="",function(){document.body.style.overflow=""}},[W.currentWidgetMode]);var Z=s(null),ee=Z[0],te=Z[1],ne=s(null),re=ne[0],ie=ne[1],oe=W.navigationStack.length,se=oe>1?W.navigationStack[1]:null,ae=oe>2?W.navigationStack[2]:null;a(function(){se&&te(se)},[se]),a(function(){ae&&ie(ae)},[ae]);var le=W.loyaltyWidget.settings.position||g.RIGHT,ce=W.loyaltyWidget.settings.type||p.DRAWER,de=function(e){switch(e){case E.CREDIT_SPENDING_METHODS_SCREEN:return o.createElement(M,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.CREDIT_EARNING_METHODS_SCREEN:return o.createElement(k,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.CREDIT_HISTORY_SCREEN:return o.createElement(I,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.LOYALTY_LEVEL_SCREEN:return o.createElement(C,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.GIFT_PRODUCT_SELECTION_SCREEN:return o.createElement(_,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});default:return null}};if(!G)return null;var ue=(null==N?void 0:N.position)||(null===(x=window.ikasLoyaltyWidgetConfig)||void 0===x?void 0:x.position)||"fixed";return o.createElement(l,{i18n:S},o.createElement(A,{$layoutType:ce,$widgetPosition:le,$widgetMode:W.currentWidgetMode,$position:ue,onClick:function(){W.currentWidgetMode===y.WIDGET_MODE&&X()},className:"ikas-storefront-widget"},o.createElement(L,{$isVisible:W.currentWidgetMode===y.MINI_MODE,$widgetPosition:le},o.createElement(w,{viewModel:W,isInitialized:G}),o.createElement(b,{viewModel:W})),o.createElement(P,{$layoutType:ce,$isOpen:W.currentWidgetMode===y.WIDGET_MODE,$widgetPosition:le,onClick:function(e){return e.stopPropagation()}},o.createElement(j,{$isActive:W.isMainScreen,$layer:0,$layoutType:ce},o.createElement(O,{viewModel:W,onClose:X,onNavigate:function(e){return W.pushScreen(e)}})),o.createElement(j,{$isActive:!!se,$layer:1,$layoutType:ce},de(se||ee)),o.createElement(j,{$isActive:!!ae,$layer:2,$layoutType:ce},de(ae||re)))))});export{U as default};
1
+ import{__awaiter as e,__generator as t,__spreadArray as n}from'./../ext/tslib/tslib.es6.mjs.js';import{toJS as r}from"mobx";import{observer as i}from"mobx-react";import o,{useState as s,useEffect as a}from"react";import'./../ext/react-i18next/dist/es/context.js';import{I18nextProvider as l}from'./../ext/react-i18next/dist/es/I18nextProvider.js';import{LoyaltyWidgetViewModel as c}from"../models/index.js";import{LoyaltyCustomerInfo as d}from"../models/loyalty-customer-info/index.js";import{LoyaltyProgramEarningMethod as u}from"../models/loyalty-program-earning-method/index.js";import{LoyaltyProgramPointHistory as f}from"../models/loyalty-program-point-history/index.js";import{LoyaltyProgramSpendingMethod as v}from"../models/loyalty-program-spending-method/index.js";import{LoyaltyWidget as m}from"../models/loyalty-widget/index.js";import{WidgetPositionEnum as g,LoyaltyWidgetLayoutTypeEnum as p}from"../models/loyalty-widget/types/index.js";import{WidgetMode as y,LoyaltyWidgetScreenTypeEnum as E,EarningMethodTypeEnum as h,LoyaltyProgramFilterTypeEnum as T,LoyaltyProgramMethodSpendingTypeEnum as R}from"../models/types/index.js";import b from"./components/mini-mode-button/index.js";import w from"./components/mini-mode-description/index.js";import k from"./screens/credit-earning-methods-screen/index.js";import I from"./screens/credit-history-screen/index.js";import M from"./screens/credit-spending-methods-screen/index.js";import _ from"./screens/gift-product-selection-screen/index.js";import C from"./screens/loyalty-level-screen/index.js";import O from"./screens/main-screen/index.js";import S from"./utils/i18n.js";import{unflatten as D}from"./utils/object-utils.js";import{Container as A,MiniModeWrapper as L,Panel as P,ScreenWrapper as j}from"./style.js";var U=i(function(i){var U,x,N=i.config,W=s(function(){var e=N||window.ikasLoyaltyWidgetConfig;return new c({cartId:(null==e?void 0:e.cartId)||null,ikasEventUser:(null==e?void 0:e.userId)?{id:e.userId}:null},(null==e?void 0:e.cdnURL)||"",(null==e?void 0:e.merchantId)||"",(null==e?void 0:e.currency)||"",(null==e?void 0:e.storeURL)||null,null==e?void 0:e.isPreviewMode,null==e?void 0:e.callbacks)})[0],$=s(!1),G=$[0],B=$[1],F=s(!1),V=F[0],z=F[1],Y=s(!1),H=Y[0],J=Y[1],q=W.loyaltyWidget.translations,K=JSON.stringify(r(null==q?void 0:q.custom));a(function(){var e=null==q?void 0:q.language,t=(null==q?void 0:q.custom)?r(q.custom):{};if(e){var n=["tr","en","de","nl","fr"].includes(e)?e:"en";if(S.language!==n&&S.changeLanguage(n),Object.keys(t).length>0){var i=D(t);S.addResourceBundle(n,"translation",i,!0,!0)}}},[null==q?void 0:q.language,K]),a(function(){var e=N||window.ikasLoyaltyWidgetConfig;(null==e?void 0:e.onViewModelInitialized)&&e.onViewModelInitialized(W)},[W,N]);var Q=function(){return e(void 0,void 0,void 0,function(){var e,r,i,o,s;return t(this,function(t){switch(t.label){case 0:return W.callbacks?(e=new Set,r=new Set,i=new Set,o=new Set,W.earningMethods.forEach(function(t){var s,a;t.methodType!==h.ORDER_CREATE&&t.methodType!==h.BUY_PRODUCT||n(n([],(null===(s=t.orderSettings)||void 0===s?void 0:s.productFilters)||[],!0),(null===(a=t.productSettings)||void 0===a?void 0:a.productFilters)||[],!0).forEach(function(t){t.type===T.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){t.startsWith("v:")||e.add(t.replace(/^p:/,""))}):t.type===T.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===T.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===T.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),W.spendingMethods&&W.spendingMethods.forEach(function(t){var n,s;t.type===R.FREE_PRODUCT&&(null===(n=t.discountSettings)||void 0===n?void 0:n.freeProductId)&&e.add(t.discountSettings.freeProductId),null===(s=t.productFilters)||void 0===s||s.forEach(function(t){t.type===T.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){t.startsWith("v:")||e.add(t.replace(/^p:/,""))}):t.type===T.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===T.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===T.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),s=[],e.size>0&&W.callbacks.getProducts&&s.push(W.callbacks.getProducts(Array.from(e)).then(function(e){W.products=e})),r.size>0&&W.callbacks.getCategories&&s.push(W.callbacks.getCategories(Array.from(r)).then(function(e){return W.categories=e})),i.size>0&&W.callbacks.getBrands&&s.push(W.callbacks.getBrands(Array.from(i)).then(function(e){return W.brands=e})),o.size>0&&W.callbacks.getTags&&s.push(W.callbacks.getTags(Array.from(o)).then(function(e){return W.tags=e})),[4,Promise.all(s)]):[2];case 1:return t.sent(),[2]}})})};a(function(){e(void 0,void 0,void 0,function(){var e,n,r,i,o,s;return t(this,function(t){switch(t.label){case 0:if(!W.callbacks)return[3,6];t.label=1;case 1:return t.trys.push([1,4,5,6]),e=[W.callbacks.getLoyaltyWidget(),W.callbacks.listEarningMethods(),W.callbacks.listLoyaltyProgramTier({})],[4,Promise.all(e)];case 2:return n=t.sent(),r=n[0],i=n[1],o=n[2],W.loyaltyWidget=r instanceof m?r:new m(r||{}),W.earningMethods=i.map(function(e){return new u(e)}),W.tiers=o||[],[4,Q()];case 3:return t.sent(),[3,6];case 4:return s=t.sent(),console.error("Failed to initialize loyalty data",s),[3,6];case 5:return B(!0),[7];case 6:return[2]}})})},[]),a(function(){if(window.IkasEvents){var e=function(e){var t,n,r=null===(t=e.data)||void 0===t?void 0:t.customer,i=(null===(n=W.ikasEventUser)||void 0===n?void 0:n.id)===r.id;r&&!i&&(W.ikasEventUser=r,W.userRefreshTrigger++,W.cartRefreshTrigger++)},t=function(e){var t,n,r,i,o,s=null===(n=null===(t=e.data)||void 0===t?void 0:t.cart)||void 0===n?void 0:n.id;0===(null===(o=null===(i=null===(r=e.data)||void 0===r?void 0:r.cart)||void 0===i?void 0:i.orderLineItems)||void 0===o?void 0:o.length)?W.cartId=null:W.cartId=s,W.cartRefreshTrigger++},n={CUSTOMER_LOGIN:e,CUSTOMER_VISIT:e,CUSTOMER_LOGOUT:function(){W.userRefreshTrigger++,W.cartRefreshTrigger++},ADD_TO_CART:function(e){return t(e)},REMOVE_FROM_CART:t,REMOVE_LOYALTY_POINTS:function(){W.cartRefreshTrigger++,W.userRefreshTrigger++},PAGE_VIEW:function(e){var t,n,r=null===(t=e.data)||void 0===t?void 0:t.customer;if(r){var i=!W.ikasEventUser,o=(null===(n=W.ikasEventUser)||void 0===n?void 0:n.subscriptionStatus)!==r.subscriptionStatus;(i||o)&&(W.ikasEventUser=r,W.userRefreshTrigger++,W.cartRefreshTrigger++)}}},r="ikas-loyalty-widget-subscriber";try{window.IkasEvents.subscribe({id:r,callback:function(e){var t=n[e.type];t&&t(e)}})}catch(e){console.error("Failed to subscribe to IkasEvents",e)}return function(){var e;(null===(e=window.IkasEvents)||void 0===e?void 0:e.unsubscribe)&&window.IkasEvents.unsubscribe(r)}}},[W]),a(function(){e(void 0,void 0,void 0,function(){var e,n,r,i,o;return t(this,function(t){switch(t.label){case 0:if(V)return[2];if(z(!0),!W.callbacks||!(null===(o=W.ikasEventUser)||void 0===o?void 0:o.id))return[3,4];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,Promise.all([W.callbacks.getLoyaltyCustomerInfo(),W.callbacks.listLoyaltyProgramPointHistory({})])];case 2:return e=t.sent(),n=e[0],r=e[1],W.user=n?new d(n):null,n||(W.ikasEventUser=null),W.pointHistory=r?r.map(function(e){return new f(e)}):[],[3,4];case 3:return i=t.sent(),console.error("Failed to fetch user data",i),[3,4];case 4:return z(!1),[2]}})})},[null===(U=W.ikasEventUser)||void 0===U?void 0:U.id,W.userRefreshTrigger]),a(function(){e(void 0,void 0,void 0,function(){var e,n;return t(this,function(t){switch(t.label){case 0:if(H)return[2];if(J(!0),!W.callbacks)return[3,5];t.label=1;case 1:return t.trys.push([1,4,,5]),[4,W.callbacks.listSpendingMethodsByCartId(W.cartId)];case 2:return e=t.sent(),W.spendingMethods=e.map(function(e){return new v(e)}),[4,Q()];case 3:return t.sent(),[3,5];case 4:return n=t.sent(),console.error("Failed to fetch cart data",n),[3,5];case 5:return J(!1),[2]}})})},[W.cartId,W.cartRefreshTrigger]);var X=function(){W.setWidgetMode(y.MINI_MODE),setTimeout(function(){W.resetNavigation()},300)};a(function(){return W.currentWidgetMode===y.WIDGET_MODE?document.body.style.overflow="hidden":document.body.style.overflow="",function(){document.body.style.overflow=""}},[W.currentWidgetMode]);var Z=s(null),ee=Z[0],te=Z[1],ne=s(null),re=ne[0],ie=ne[1],oe=W.navigationStack.length,se=oe>1?W.navigationStack[1]:null,ae=oe>2?W.navigationStack[2]:null;a(function(){se&&te(se)},[se]),a(function(){ae&&ie(ae)},[ae]);var le=W.loyaltyWidget.settings.position||g.RIGHT,ce=W.loyaltyWidget.settings.type||p.DRAWER,de=function(e){switch(e){case E.CREDIT_SPENDING_METHODS_SCREEN:return o.createElement(M,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.CREDIT_EARNING_METHODS_SCREEN:return o.createElement(k,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.CREDIT_HISTORY_SCREEN:return o.createElement(I,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.LOYALTY_LEVEL_SCREEN:return o.createElement(C,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});case E.GIFT_PRODUCT_SELECTION_SCREEN:return o.createElement(_,{viewModel:W,onBack:function(){return W.popScreen()},onClose:X});default:return null}};if(!G)return null;var ue=(null==N?void 0:N.position)||(null===(x=window.ikasLoyaltyWidgetConfig)||void 0===x?void 0:x.position)||"fixed";return o.createElement(l,{i18n:S},o.createElement(A,{$layoutType:ce,$widgetPosition:le,$widgetMode:W.currentWidgetMode,$position:ue,onClick:function(){W.currentWidgetMode===y.WIDGET_MODE&&X()},className:"ikas-storefront-widget"},o.createElement(L,{$isVisible:W.currentWidgetMode===y.MINI_MODE,$widgetPosition:le},o.createElement(w,{viewModel:W,isInitialized:G}),o.createElement(b,{viewModel:W})),o.createElement(P,{$layoutType:ce,$isOpen:W.currentWidgetMode===y.WIDGET_MODE,$widgetPosition:le,onClick:function(e){return e.stopPropagation()}},o.createElement(j,{$isActive:W.isMainScreen,$layer:0,$layoutType:ce},o.createElement(O,{viewModel:W,onClose:X,onNavigate:function(e){return W.pushScreen(e)}})),o.createElement(j,{$isActive:!!se,$layer:1,$layoutType:ce},de(se||ee)),o.createElement(j,{$isActive:!!ae,$layer:2,$layoutType:ce},de(ae||re)))))});export{U as default};
@@ -1 +1 @@
1
- import{__spreadArray as e,__awaiter as t,__generator as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import{observer as l}from"mobx-react";import i,{useState as o}from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{ChevronLeft as s}from"../../../assets/icons/chevron-left.js";import{XClose as a}from"../../../assets/icons/x-close.js";import{Album02 as d}from"../../../assets/widget-icons/normal/album02.js";import{Scenery as c}from"../../../assets/widget-icons/illustraions/scenery.js";import{WidgetIconTypeEnum as u}from"../../../models/loyalty-widget/types/index.js";import m from"../../components/button/index.js";import{getProductFullUrl as v}from"../../components/product-filter-card/index.js";import f from"../../components/count-up/index.js";import{getFreeProductMethods as p}from"../../utils/spending-method-utils.js";import{ProductCard as g,ProductCardContent as E,ProductImageContainer as y,ProductImage as b,ProductInfo as h,ProductNameContainer as j,ProductName as I,VariantText as x,PointBadge as S,Container as P,Header as w,IconButton as k,Title as M,Content as T,PointsSection as A,PointsTitle as C,PointsValue as R,ProductList as _}from"./style.js";var L=l(function(e){var l,s,a,f,p=e.method,P=e.viewModel,w=r().t,k=o(!1),M=k[0],T=k[1],A=P.loyaltyWidget,C=null===(l=p.discountSettings)||void 0===l?void 0:l.freeProductId,R=null===(s=p.discountSettings)||void 0===s?void 0:s.freeProductVariantId,_=C?P.products.find(function(e){return e.id===C}):null,L=R?null===(a=null==_?void 0:_.variants)||void 0===a?void 0:a.find(function(e){return e.id===R}):null,U=(null==L?void 0:L.mainImageSrc)||(null==_?void 0:_.mainImageSrc),W=(null==L?void 0:L.variantText)||null,z=(null===(f=p.discountSettings)||void 0===f?void 0:f.point)||0,B=A.settings.widgetIconType===u.ILLUSTRATION?c:d,F=v(P.storeUrl,null==_?void 0:_.url);return i.createElement(g,{$clickable:!!F,onClick:function(){F&&window.open(F,"_self")}},i.createElement(E,null,i.createElement(y,null,U?i.createElement(b,{src:U,alt:(null==_?void 0:_.name)||""}):i.createElement(B,null)),i.createElement(h,null,i.createElement(j,null,i.createElement(I,null,(null==_?void 0:_.name)||"-"),W&&i.createElement(x,null,W)),i.createElement(S,null,w("earningMethods.xPoints",{points:z})))),i.createElement("div",{onClick:function(e){return e.stopPropagation()},role:"presentation"},i.createElement(m,{button:A.button,paddingSize:"small",fontSize:"textSMMedium",onClick:function(){return t(void 0,void 0,void 0,function(){var e;return n(this,function(t){switch(t.label){case 0:if(!P.cartId||!p.isAvailable)return[2];T(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,null===(e=P.callbacks)||void 0===e?void 0:e.useLoyaltyPoints({cartId:P.cartId,loyaltyProgramId:p.loyaltyProgramId,loyaltySpendingMethodId:p.id})];case 2:return t.sent()&&(P.userRefreshTrigger++,P.cartRefreshTrigger++,P.resetNavigation()),[3,4];case 3:return T(!1),[7];case 4:return[2]}})})},isLoading:M,disabled:!p.isAvailable||!P.cartId,fullWidth:!0},w("spendingMethods.FREE_PRODUCT.addFree"))))}),U=l(function(t){var n=t.viewModel,l=t.onBack,o=t.onClose,d=r().t,c=n.user,u=p(n.spendingMethods),m=e([],u,!0).sort(function(e,t){var n,l;return e.isAvailable&&!t.isAvailable?-1:!e.isAvailable&&t.isAvailable?1:((null===(n=e.discountSettings)||void 0===n?void 0:n.point)||0)-((null===(l=t.discountSettings)||void 0===l?void 0:l.point)||0)});return i.createElement(P,null,i.createElement(w,null,i.createElement(k,{onClick:l},i.createElement(s,null)),i.createElement(M,null,d("screens.giftProductSelection")),i.createElement(k,{onClick:o},i.createElement(a,null))),i.createElement(T,null,c&&i.createElement(A,{$borderRadius:n.loyaltyWidget.settings.cartBorderRadius},i.createElement(C,null,d("header.earnedPoints")),i.createElement(R,null,i.createElement(f,{end:c.totalPoint}))),i.createElement(_,null,m.map(function(e){return i.createElement(L,{key:e.id,method:e,viewModel:n})}))))});export{U as default};
1
+ import{__spreadArray as e,__awaiter as t,__generator as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import{observer as l}from"mobx-react";import i,{useState as o}from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{ChevronLeft as s}from"../../../assets/icons/chevron-left.js";import{XClose as a}from"../../../assets/icons/x-close.js";import{Scenery as d}from"../../../assets/widget-icons/illustraions/scenery.js";import{Album02 as u}from"../../../assets/widget-icons/normal/album02.js";import{WidgetIconTypeEnum as c}from"../../../models/loyalty-widget/types/index.js";import m from"../../components/button/index.js";import v from"../../components/count-up/index.js";import{getProductFullUrl as f}from"../../components/product-filter-card/index.js";import{getFreeProductMethods as p}from"../../utils/spending-method-utils.js";import{ProductCard as g,ProductCardContent as E,ProductImageContainer as y,ProductImage as b,ProductInfo as h,ProductNameContainer as I,ProductName as j,VariantText as S,PointBadge as x,Container as P,Header as w,IconButton as k,Title as M,Content as T,PointsSection as A,PointsTitle as C,PointsValue as R,ProductList as _}from"./style.js";var L=l(function(e){var l,s,a,v,p=e.method,P=e.viewModel,w=r().t,k=o(!1),M=k[0],T=k[1],A=P.loyaltyWidget,C=null===(l=p.discountSettings)||void 0===l?void 0:l.freeProductId,R=null===(s=p.discountSettings)||void 0===s?void 0:s.freeProductVariantId,_=C?P.products.find(function(e){return e.id===C}):null,L=R?null===(a=null==_?void 0:_.variants)||void 0===a?void 0:a.find(function(e){return e.id===R}):null,U=(null==L?void 0:L.mainImageSrc)||(null==_?void 0:_.mainImageSrc),W=(null==L?void 0:L.variantText)||null,z=(null===(v=p.discountSettings)||void 0===v?void 0:v.point)||0,B=A.settings.widgetIconType===c.ILLUSTRATION?d:u,F=f(P.storeUrl,null==_?void 0:_.url);return i.createElement(g,{$clickable:!!F,onClick:function(){F&&window.open(F,"_self")}},i.createElement(E,null,i.createElement(y,null,U?i.createElement(b,{src:U,alt:(null==_?void 0:_.name)||""}):i.createElement(B,null)),i.createElement(h,null,i.createElement(I,null,i.createElement(j,null,(null==_?void 0:_.name)||"-"),W&&i.createElement(S,null,W)),i.createElement(x,null,w("earningMethods.xPoints",{points:z})))),i.createElement("div",{onClick:function(e){return e.stopPropagation()},role:"presentation"},i.createElement(m,{button:A.button,paddingSize:"small",fontSize:"textSMMedium",onClick:function(){return t(void 0,void 0,void 0,function(){var e;return n(this,function(t){switch(t.label){case 0:if(!P.cartId||!p.isAvailable)return[2];T(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,null===(e=P.callbacks)||void 0===e?void 0:e.useLoyaltyPoints({cartId:P.cartId,loyaltyProgramId:p.loyaltyProgramId,loyaltySpendingMethodId:p.id})];case 2:return t.sent()&&(P.userRefreshTrigger++,P.cartRefreshTrigger++,P.resetNavigation()),[3,4];case 3:return T(!1),[7];case 4:return[2]}})})},isLoading:M,disabled:!p.isAvailable||!P.cartId,fullWidth:!0},w("spendingMethods.FREE_PRODUCT.addFree"))))}),U=l(function(t){var n=t.viewModel,l=t.onBack,o=t.onClose,d=r().t,u=n.user,c=p(n.spendingMethods).filter(function(e){var t,l=null===(t=e.discountSettings)||void 0===t?void 0:t.freeProductId;return!!l&&n.products.some(function(e){return e.id===l})}),m=e([],c,!0).sort(function(e,t){var n,l;return e.isAvailable&&!t.isAvailable?-1:!e.isAvailable&&t.isAvailable?1:((null===(n=e.discountSettings)||void 0===n?void 0:n.point)||0)-((null===(l=t.discountSettings)||void 0===l?void 0:l.point)||0)});return i.createElement(P,null,i.createElement(w,null,i.createElement(k,{onClick:l},i.createElement(s,null)),i.createElement(M,null,d("screens.giftProductSelection")),i.createElement(k,{onClick:o},i.createElement(a,null))),i.createElement(T,null,u&&i.createElement(A,{$borderRadius:n.loyaltyWidget.settings.cartBorderRadius},i.createElement(C,null,d("header.earnedPoints")),i.createElement(R,null,i.createElement(v,{end:u.totalPoint}))),i.createElement(_,null,m.map(function(e){return i.createElement(L,{key:e.id,method:e,viewModel:n})}))))});export{U as default};
@@ -1 +1 @@
1
- import{__spreadArray as e}from'./../../../ext/tslib/tslib.es6.mjs.js';import{observer as t}from"mobx-react";import n,{useMemo as r}from"react";import{Trans as l}from'./../../../ext/react-i18next/dist/es/Trans.js';import{useTranslation as o}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import'./../../../ext/react-i18next/dist/es/context.js';import{XClose as i}from"../../../assets/icons/x-close.js";import{ChevronLeft as a}from"../../../assets/icons/chevron-left.js";import{Check as c}from"../../../assets/icons/check.js";import s from"../../components/count-up/index.js";import{Container as u,Header as m,IconButton as d,Title as p,Content as E,PointsSection as y,PointsText as f,PointsValue as v,ProgressBarContainer as g,ProgressBarFill as h,DescriptionText as R,TimelineContainer as $,TimelineItem as k,TimelineLine as x,CheckIconContainer as b,CurrentIndicator as j,CurrentIndicatorDot as T,UpcomingIndicator as q,TimelineContent as P,TimelineTitle as C,TimelineDescription as L,MultiplierSection as M,MultiplierValue as S}from"./style.js";var W=t(function(t){var W=t.viewModel,B=t.onBack,G=t.onClose,_=o().t,D=W.user,N=W.tiers,I=r(function(){return e([],N,!0).sort(function(e,t){return(e.pointsRequired||0)-(t.pointsRequired||0)})},[N]),w=r(function(){return(null==D?void 0:D.customerTier)?I.findIndex(function(e){var t;return e.id===(null===(t=D.customerTier)||void 0===t?void 0:t.id)}):-1},[I,null==D?void 0:D.customerTier]),A=r(function(){return D?-1===w?I.find(function(e){return(e.pointsRequired||0)>D.totalPoint})||I[0]:I[w+1]||null:null},[I,w,D]),K=r(function(){return D?A?0===(A.pointsRequired||0)?100:Math.min(D.totalPoint/(A.pointsRequired||1)*100,100):100:0},[D,A]),z=r(function(){return D&&A?Math.max(0,(A.pointsRequired||0)-D.totalPoint):0},[D,A]);return D?n.createElement(u,null,n.createElement(m,null,n.createElement(d,{onClick:B},n.createElement(a,null)),n.createElement(p,null,_("screens.loyaltyLevel")),n.createElement(d,{onClick:G},n.createElement(i,null))),n.createElement(E,null,n.createElement(y,{$borderRadius:W.loyaltyWidget.settings.cartBorderRadius},n.createElement("div",null,n.createElement(f,null,_("header.earnedPoints")),n.createElement(v,null,n.createElement(s,{end:D.totalPoint})," ",_("common.points"))),n.createElement(g,{$color:W.loyaltyWidget.header.background.progressBarContainerColor||void 0},n.createElement(h,{$percentage:K,$color:W.loyaltyWidget.header.background.bgColor||void 0,$isGradient:"GRADIENT"===W.loyaltyWidget.header.background.type})),n.createElement(R,null,A?_("screens.loyaltyLevelScreen.reachNextTier",{tierName:A.name,points:z}):_("screens.loyaltyLevelScreen.allTiersCompleted"))),n.createElement($,null,I.map(function(e,t){var r="upcoming";w>-1?r=t<w?"completed":t===w?"current":"upcoming":D.totalPoint>=(e.pointsRequired||0)&&(r="completed");var o=t===I.length-1,i="solid-light",a=!0,s=!0;return"completed"===r?w>-1&&t+1===w?(i="solid-dark",a=!0,s=!1):w>-1&&t+1<w?(i="solid-dark",a=!0,s=!0):(i="solid-light",a=!0,s=!0):"current"===r?(i="split",a=!1,s=!0):(i="solid-light",a=!0,s=!0),n.createElement(k,{key:e.id},n.createElement(x,{$isLast:o,$connectionType:i,$topGap:a,$bottomGap:s}),"completed"===r?n.createElement(b,null,n.createElement(c,null)):"current"===r?n.createElement(j,null,n.createElement(T,null)):n.createElement(q,null),n.createElement(P,null,n.createElement(C,{$status:r},e.name),n.createElement(L,{$status:r},"current"===r?_("screens.loyaltyLevelScreen.currentTierDescription"):"".concat(e.pointsRequired||0," ").concat(_("common.points")," ").concat(_("screens.loyaltyLevelScreen.afterEarning"))),(e.tierPointMultiplier||1)>1&&n.createElement(M,{$borderRadius:W.loyaltyWidget.settings.cartBorderRadius},n.createElement(l,{i18nKey:"screens.loyaltyLevelScreen.multiplierDescription",values:{multiplier:e.tierPointMultiplier||1},components:[n.createElement(S,{key:"0"})]}))))})))):null});export{W as default};
1
+ import{observer as e}from"mobx-react";import t,{useMemo as n}from"react";import{Trans as r}from'./../../../ext/react-i18next/dist/es/Trans.js';import{useTranslation as l}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import'./../../../ext/react-i18next/dist/es/context.js';import{XClose as o}from"../../../assets/icons/x-close.js";import{ChevronLeft as i}from"../../../assets/icons/chevron-left.js";import{Check as c}from"../../../assets/icons/check.js";import a from"../../components/count-up/index.js";import{Container as s,Header as u,IconButton as m,Title as d,Content as p,PointsSection as E,PointsText as y,PointsValue as v,ProgressBarContainer as f,ProgressBarFill as g,DescriptionText as h,TimelineContainer as R,TimelineItem as T,TimelineLine as $,CheckIconContainer as k,CurrentIndicator as x,CurrentIndicatorDot as b,UpcomingIndicator as j,TimelineContent as q,TimelineTitle as P,TimelineDescription as C,MultiplierSection as L,MultiplierValue as S}from"./style.js";var M=e(function(e){var M=e.viewModel,W=e.onBack,B=e.onClose,G=l().t,D=M.user,I=M.tiers,N=n(function(){var e=I.filter(function(e){var t;return!e.customerSegmentId||(null===(t=null==D?void 0:D.customerTier)||void 0===t?void 0:t.id)===e.id});return e.sort(function(e,t){return(e.pointsRequired||0)-(t.pointsRequired||0)})},[I,null==D?void 0:D.customerTier]),_=n(function(){return(null==D?void 0:D.customerTier)?N.findIndex(function(e){var t;return e.id===(null===(t=D.customerTier)||void 0===t?void 0:t.id)}):-1},[N,null==D?void 0:D.customerTier]),w=n(function(){return D?-1===_?N.find(function(e){return(e.pointsRequired||0)>D.totalPoint})||N[0]:N[_+1]||null:null},[N,_,D]),A=n(function(){return D?w?0===(w.pointsRequired||0)?100:Math.min(D.totalPoint/(w.pointsRequired||1)*100,100):100:0},[D,w]),K=n(function(){return D&&w?Math.max(0,(w.pointsRequired||0)-D.totalPoint):0},[D,w]);return D?t.createElement(s,null,t.createElement(u,null,t.createElement(m,{onClick:W},t.createElement(i,null)),t.createElement(d,null,G("screens.loyaltyLevel")),t.createElement(m,{onClick:B},t.createElement(o,null))),t.createElement(p,null,t.createElement(E,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},t.createElement("div",null,t.createElement(y,null,G("header.earnedPoints")),t.createElement(v,null,t.createElement(a,{end:D.totalPoint})," ",G("common.points"))),t.createElement(f,{$color:M.loyaltyWidget.header.background.progressBarContainerColor||void 0},t.createElement(g,{$percentage:A,$color:M.loyaltyWidget.header.background.bgColor||void 0,$isGradient:"GRADIENT"===M.loyaltyWidget.header.background.type})),t.createElement(h,null,w?G("screens.loyaltyLevelScreen.reachNextTier",{tierName:w.name,points:K}):G("screens.loyaltyLevelScreen.allTiersCompleted"))),t.createElement(R,null,N.map(function(e,n){var l="upcoming";_>-1?l=n<_?"completed":n===_?"current":"upcoming":D.totalPoint>=(e.pointsRequired||0)&&(l="completed");var o=n===N.length-1,i="solid-light",a=!0,s=!0;return"completed"===l?_>-1&&n+1===_?(i="solid-dark",a=!0,s=!1):_>-1&&n+1<_?(i="solid-dark",a=!0,s=!0):(i="solid-light",a=!0,s=!0):"current"===l?(i="split",a=!1,s=!0):(i="solid-light",a=!0,s=!0),t.createElement(T,{key:e.id},t.createElement($,{$isLast:o,$connectionType:i,$topGap:a,$bottomGap:s}),"completed"===l?t.createElement(k,null,t.createElement(c,null)):"current"===l?t.createElement(x,null,t.createElement(b,null)):t.createElement(j,null),t.createElement(q,null,t.createElement(P,{$status:l},e.name),t.createElement(C,{$status:l},"current"===l?G("screens.loyaltyLevelScreen.currentTierDescription"):"".concat(e.pointsRequired||0," ").concat(G("common.points")," ").concat(G("screens.loyaltyLevelScreen.afterEarning"))),(e.tierPointMultiplier||1)>1&&t.createElement(L,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},t.createElement(r,{i18nKey:"screens.loyaltyLevelScreen.multiplierDescription",values:{multiplier:e.tierPointMultiplier||1},components:[t.createElement(S,{key:"0"})]}))))})))):null});export{M as default};
@@ -1 +1 @@
1
- import{__spreadArray as e,__assign as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import n,{useMemo as i}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{EarningMethodTypeEnum as d,LoyaltyProgramFilterTypeEnum as l}from"../../../../models/types/index.js";import s from"../../../components/loyalty-method-card/index.js";import{ProductFilterList as a}from"../../../components/product-filter-card/index.js";import{getEarningMethodConditionList as p,getEarningMethodDescriptionV2 as c}from"../../../utils/loyalty-details.js";import{getEarningMethodTitle as m,getEarningMethodIcon as u}from"../../../../utils.js";var E=o(function(t){var o,E,T=t.method,f=t.viewModel,y=t.mode,g=t.actionText,R=t.onClick,x=t.isActionLoading,h=r(),v=h.t,C=h.i18n,A=f.loyaltyWidget,_=C.language,S=null===(o=T.translations)||void 0===o?void 0:o.find(function(e){return e.locale===_}),O=(null==S?void 0:S.description)||T.description||m(T),U=u(T.methodType,A.settings.widgetIconType),D=T.orderSettings,B=T.productSettings,I=(null==D?void 0:D.productFilters)||[],M=(null==B?void 0:B.productFilters)||[],P=T.methodType===d.ORDER_CREATE&&D&&(D.minOrderAmount>0||(null!==(E=D.maxOrderAmount)&&void 0!==E?E:0)>0||I.length>0)||T.methodType===d.BUY_PRODUCT&&M.length>0,N=P?"accordion":y,j=i(function(){return T.methodType===d.ORDER_CREATE?e([],I||[],!0).filter(function(e){return e.type===l.PRODUCT_AND_VARIANT}):T.methodType===d.BUY_PRODUCT?(M||[]).filter(function(e){return e.type===l.PRODUCT_AND_VARIANT}):[]},[T.methodType,I,M]),k="",b=null;if(P){k=v("earningMethods.xPoints",{points:T.pointsEarned});var w=p(v,T,f),H=j.length>0,L=w.length>0,F=void 0;T.methodType===d.ORDER_CREATE?H&&L?F=v("earningMethods.ORDER_CREATE.BASE.productAndConditionHeader"):H&&(F=v("earningMethods.ORDER_CREATE.BASE.productFilterHeader")):T.methodType===d.BUY_PRODUCT&&H&&(F=v("earningMethods.BUY_PRODUCT.productFilterHeader")),b=n.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},F&&n.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},F),L&&n.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"4px"}},w.map(function(e,t){return n.createElement("div",{key:t,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400,display:"flex",gap:"6px"}},n.createElement("span",null,"•"),n.createElement("span",null,e))})),H&&n.createElement(a,{filters:j,viewModel:f}))}else k=c(v,T,f)||v("earningMethods.xPoints",{points:T.pointsEarned});var Y=!!f.user&&T.methodType===d.CUSTOMER_REGISTER||!!f.ikasEventUser&&T.methodType===d.ENABLE_SUBSCRIPTION&&"SUBSCRIBED"===f.ikasEventUser.subscriptionStatus,W=!f.user&&T.methodType===d.ENABLE_SUBSCRIPTION,z=g&&R&&!W?{text:g,onClick:R,loading:x}:void 0;return n.createElement(s,{title:O,description:k,icon:U,action:z,isCompleted:Y,mode:N,settings:{borderRadius:A.settings.cartBorderRadius,widgetIconType:A.settings.widgetIconType,button:A.button}},b)}),T=o(function(o){var i=o.viewModel,r=o.containerStyle,l=o.mode,s=void 0===l?"card":l,a=o.getActionProps,p=i.earningMethods;return n.createElement("div",{style:t({display:"flex",flexDirection:"column",gap:"12px",padding:"0 16px"},r)},e([],p,!0).sort(function(e,t){var o=function(e){return e===d.CUSTOMER_REGISTER?0:e===d.ENABLE_SUBSCRIPTION?1:2};return o(e.methodType)-o(t.methodType)}).map(function(e){var t=a?a(e):null;return n.createElement(E,{key:e.id,method:e,viewModel:i,mode:s,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick,isActionLoading:null==t?void 0:t.loading})}))});export{T as default};
1
+ import{__spreadArray as e,__assign as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import n,{useMemo as i}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{EarningMethodTypeEnum as d,LoyaltyProgramFilterTypeEnum as l}from"../../../../models/types/index.js";import s from"../../../components/loyalty-method-card/index.js";import{ProductFilterList as a}from"../../../components/product-filter-card/index.js";import{getEarningMethodConditionList as p,getEarningMethodDescriptionV2 as c,hasResolvableProductFilters as m}from"../../../utils/loyalty-details.js";import{getEarningMethodTitle as u,getEarningMethodIcon as E}from"../../../../utils.js";var T=o(function(t){var o,m,T=t.method,f=t.viewModel,g=t.mode,y=t.actionText,v=t.onClick,R=t.isActionLoading,x=r(),h=x.t,C=x.i18n,A=f.loyaltyWidget,S=C.language,_=null===(o=T.translations)||void 0===o?void 0:o.find(function(e){return e.locale===S}),O=(null==_?void 0:_.description)||T.description||u(T),U=E(T.methodType,A.settings.widgetIconType),D=T.orderSettings,B=T.productSettings,I=(null==D?void 0:D.productFilters)||[],M=(null==B?void 0:B.productFilters)||[],P=T.methodType===d.ORDER_CREATE&&D&&(D.minOrderAmount>0||(null!==(m=D.maxOrderAmount)&&void 0!==m?m:0)>0||I.length>0)||T.methodType===d.BUY_PRODUCT&&M.length>0,N=P?"accordion":g,j=i(function(){return T.methodType===d.ORDER_CREATE?e([],I||[],!0).filter(function(e){return e.type===l.PRODUCT_AND_VARIANT}):T.methodType===d.BUY_PRODUCT?(M||[]).filter(function(e){return e.type===l.PRODUCT_AND_VARIANT}):[]},[T.methodType,I,M]),k="",b=null;if(P){k=h("earningMethods.xPoints",{points:T.pointsEarned});var w=p(h,T,f),F=j.length>0,H=w.length>0,L=void 0;T.methodType===d.ORDER_CREATE?F&&H?L=h("earningMethods.ORDER_CREATE.BASE.productAndConditionHeader"):F&&(L=h("earningMethods.ORDER_CREATE.BASE.productFilterHeader")):T.methodType===d.BUY_PRODUCT&&F&&(L=h("earningMethods.BUY_PRODUCT.productFilterHeader")),b=n.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},L&&n.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},L),H&&n.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"4px"}},w.map(function(e,t){return n.createElement("div",{key:t,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400,display:"flex",gap:"6px"}},n.createElement("span",null,"•"),n.createElement("span",null,e))})),F&&n.createElement(a,{filters:j,viewModel:f}))}else k=c(h,T,f)||h("earningMethods.xPoints",{points:T.pointsEarned});var Y=!!f.user&&T.methodType===d.CUSTOMER_REGISTER||!!f.ikasEventUser&&T.methodType===d.ENABLE_SUBSCRIPTION&&"SUBSCRIBED"===f.ikasEventUser.subscriptionStatus,W=!f.user&&T.methodType===d.ENABLE_SUBSCRIPTION,z=y&&v&&!W?{text:y,onClick:v,loading:R}:void 0;return n.createElement(s,{title:O,description:k,icon:U,action:z,isCompleted:Y,mode:N,settings:{borderRadius:A.settings.cartBorderRadius,widgetIconType:A.settings.widgetIconType,button:A.button}},b)}),f=o(function(o){var i=o.viewModel,r=o.containerStyle,l=o.mode,s=void 0===l?"card":l,a=o.getActionProps,p=i.earningMethods;return n.createElement("div",{style:t({display:"flex",flexDirection:"column",gap:"12px",padding:"0 16px"},r)},e([],p,!0).filter(function(t){var o,n,r=e(e([],(null===(o=t.orderSettings)||void 0===o?void 0:o.productFilters)||[],!0),(null===(n=t.productSettings)||void 0===n?void 0:n.productFilters)||[],!0);return m(i,r)}).sort(function(e,t){var o=function(e){return e===d.CUSTOMER_REGISTER?0:e===d.ENABLE_SUBSCRIPTION?1:2};return o(e.methodType)-o(t.methodType)}).map(function(e){var t=a?a(e):null;return n.createElement(T,{key:e.id,method:e,viewModel:i,mode:s,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick,isActionLoading:null==t?void 0:t.loading})}))});export{f as default};
@@ -1 +1 @@
1
- import{observer as e}from"mobx-react";import t from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{WidgetIconTypeEnum as r}from"../../../../models/loyalty-widget/types/index.js";import{LoyaltyWidgetScreenTypeEnum as l}from"../../../../models/types/index.js";import{getScreenIcon as o}from"../../../../utils.js";import{Container as i,GridContainer as a,SmallCard as s,SmallCardIconWrapper as c,SmallCardBottom as E,Title as m,ArrowWrapper as u,RowCard as d}from"./style.js";var R=function(){return t.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M7.5 15L12.5 10L7.5 5",stroke:"currentColor",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"}))},_=e(function(e){var _=e.viewModel,g=e.onNavigate,N=n().t,y=_.user,T=!!y,p=_.loyaltyWidget.settings.widgetIconType;return t.createElement(i,null,t.createElement(a,null,t.createElement(s,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(l.CREDIT_EARNING_METHODS_SCREEN)}},p!==r.NONE&&t.createElement(c,{$hasBgColor:p===r.ILLUSTRATION,$iconType:p},o(l.CREDIT_EARNING_METHODS_SCREEN,p)),t.createElement(E,null,t.createElement(m,null,N("main_screen.earnPoints")),t.createElement(u,null,t.createElement(R,null)))),t.createElement(s,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(l.CREDIT_SPENDING_METHODS_SCREEN)}},p!==r.NONE&&t.createElement(c,{$hasBgColor:p===r.ILLUSTRATION,$iconType:p},o(l.CREDIT_SPENDING_METHODS_SCREEN,p)),t.createElement(E,null,t.createElement(m,null,N("main_screen.allRewards")),t.createElement(u,null,t.createElement(R,null))))),T&&t.createElement(t.Fragment,null,(null==y?void 0:y.customerTier)&&t.createElement(d,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(l.LOYALTY_LEVEL_SCREEN)}},t.createElement(m,null,N("main_screen.tiers")),t.createElement(u,null,t.createElement(R,null))),_.pointHistory.length>0&&t.createElement(d,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(l.CREDIT_HISTORY_SCREEN)}},t.createElement(m,null,N("main_screen.pointHistory")),t.createElement(u,null,t.createElement(R,null)))))});export{_ as default};
1
+ import{observer as e}from"mobx-react";import t from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{WidgetIconTypeEnum as r}from"../../../../models/loyalty-widget/types/index.js";import{LoyaltyWidgetScreenTypeEnum as l}from"../../../../models/types/index.js";import{getScreenIcon as o}from"../../../../utils.js";import{Container as i,GridContainer as a,SmallCard as s,SmallCardIconWrapper as c,SmallCardBottom as m,Title as u,ArrowWrapper as E,RowCard as d}from"./style.js";var R=function(){return t.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M7.5 15L12.5 10L7.5 5",stroke:"currentColor",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"}))},g=e(function(e){var g=e.viewModel,_=e.onNavigate,N=n().t,y=g.user,T=!!y,p=g.loyaltyWidget.settings.widgetIconType;return t.createElement(i,null,t.createElement(a,null,t.createElement(s,{$borderRadius:g.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==_?void 0:_(l.CREDIT_EARNING_METHODS_SCREEN)}},p!==r.NONE&&t.createElement(c,{$hasBgColor:p===r.ILLUSTRATION,$iconType:p},o(l.CREDIT_EARNING_METHODS_SCREEN,p)),t.createElement(m,null,t.createElement(u,null,N("main_screen.earnPoints")),t.createElement(E,null,t.createElement(R,null)))),t.createElement(s,{$borderRadius:g.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==_?void 0:_(l.CREDIT_SPENDING_METHODS_SCREEN)}},p!==r.NONE&&t.createElement(c,{$hasBgColor:p===r.ILLUSTRATION,$iconType:p},o(l.CREDIT_SPENDING_METHODS_SCREEN,p)),t.createElement(m,null,t.createElement(u,null,N("main_screen.allRewards")),t.createElement(E,null,t.createElement(R,null))))),T&&t.createElement(t.Fragment,null,(g.tiers.some(function(e){return!e.customerSegmentId})||!!(null==y?void 0:y.customerTier))&&t.createElement(d,{$borderRadius:g.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==_?void 0:_(l.LOYALTY_LEVEL_SCREEN)}},t.createElement(u,null,N("main_screen.tiers")),t.createElement(E,null,t.createElement(R,null))),g.pointHistory.length>0&&t.createElement(d,{$borderRadius:g.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==_?void 0:_(l.CREDIT_HISTORY_SCREEN)}},t.createElement(u,null,N("main_screen.pointHistory")),t.createElement(E,null,t.createElement(R,null)))))});export{g as default};
@@ -1 +1 @@
1
- import{__makeTemplateObject as e,__spreadArray as t,__awaiter as i,__generator as n}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import r,{useState as d,useMemo as s}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import a from"styled-components";import{LoyaltyProgramMethodSpendingTypeEnum as c,LoyaltyProgramFilterTypeEnum as m,LoyaltyWidgetScreenTypeEnum as p}from"../../../../models/types/index.js";import u from"../../../components/button/index.js";import g from"../../../components/loyalty-method-card/index.js";import{ProductFilterList as f}from"../../../components/product-filter-card/index.js";import{textSM as y}from"../../../components/style/typography.js";import{getFreeProductName as E,getFilterDetails as v}from"../../../utils/loyalty-details.js";import{getFreeProductPointRange as R,hasAvailableFreeProduct as h,getFreeProductMethods as T,getNonFreeProductMethods as x}from"../../../utils/spending-method-utils.js";import{getSpendingMethodTitle as C,getSpendingMethodDescription as D,getSpendingMethodIcon as P}from"../../../../utils.js";import b from"./dynamic-slider.js";var A,_=a.span(A||(A=e(["\n ","\n color: #364152;\n"],["\n ","\n color: #364152;\n"])),y),I=o(function(e){var t,o,a=e.method,p=e.viewModel,y=e.actionText,R=e.padding,h=e.onClick,T=e.mode,x=l().t,A=d(!1),_=A[0],I=A[1],M=p.loyaltyWidget,O=C(a),S=D(a,p),w=P(a.type,M.settings.widgetIconType),j=a.productFilters||[],U=a.type===c.FREE_PRODUCT,k=U&&(null===(t=a.discountSettings)||void 0===t?void 0:t.freeProductId)?E(p,a.discountSettings.freeProductId):void 0,F=U&&!!k,N=null===(o=a.pointUsageLimit)||void 0===o?void 0:o.minPointLimit,B=!a.isDynamic&&!!p.user&&!!p.cartId,L=a.isDynamic&&!!p.user&&!!p.cartId,W=a.isDynamic,z=s(function(){return j.filter(function(e){return e.type===m.PRODUCT_AND_VARIANT})},[j]),G=s(function(){return j.filter(function(e){return e.type!==m.PRODUCT_AND_VARIANT}).map(function(e){var t=v(p,e.type,e.idList);if(!t.length)return null;var i=t[0],n=i.name,o="";switch(i.type){case m.CATEGORY:case m.DYNAMIC_CATEGORY:o=x("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:n});break;case m.PRODUCT_BRAND:o=x("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:n});break;case m.PRODUCT_TAG:o=x("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:n})}return!o&&n&&(o=n),o||null}).filter(Boolean)},[j,p,x]),H=z.length>0,Y=G.length>0||H,V="accordion"===T?!!(N&&N>0)||F||Y||L||B&&!W?"accordion":"card":W&&L?"accordion":"card",q=function(){return i(void 0,void 0,void 0,function(){var e;return n(this,function(t){switch(t.label){case 0:if(!p.cartId||!a.isAvailable)return[2];I(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,null===(e=p.callbacks)||void 0===e?void 0:e.useLoyaltyPoints({cartId:p.cartId,loyaltyProgramId:a.loyaltyProgramId,loyaltySpendingMethodId:a.id})];case 2:return t.sent()&&(p.userRefreshTrigger++,p.cartRefreshTrigger++,p.isMainScreen||p.resetNavigation()),[3,4];case 3:return I(!1),[7];case 4:return[2]}})})},J="card"===V&&B&&!W?{text:x("common.use"),onClick:q,loading:_}:y&&h?{text:y,onClick:h}:void 0;return r.createElement(g,{title:O,description:S,icon:w,action:J,isCompleted:!1,mode:V,padding:R,settings:{borderRadius:M.settings.cartBorderRadius,widgetIconType:M.settings.widgetIconType,button:M.button}},"accordion"!==V?null:r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},N&&N>0&&r.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},x("spendingMethods.minPointLimit",{points:N})),F&&r.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},x("spendingMethods.FREE_PRODUCT.description",{product:k})),H&&r.createElement(f,{filters:z,viewModel:p}),G.map(function(e,t){return r.createElement("div",{key:t,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},e)}),L&&r.createElement(b,{viewModel:p,method:a}),B&&!W&&r.createElement("div",{style:{alignSelf:"flex-end",width:"100%"}},r.createElement(u,{button:M.button,paddingSize:"small",fontSize:"textSMMedium",onClick:q,isLoading:_,disabled:!a.isAvailable,fullWidth:!0},x("common.use")))))}),M=o(function(e){var t=e.methods,i=e.viewModel;e.mode;var n=e.padding,o=l().t,d=i.loyaltyWidget,s=R(t);if(h(t),!s)return null;var a=s.minPoint===s.maxPoint?r.createElement(_,null,o("spendingMethods.FREE_PRODUCT.singleDescription",{points:s.minPoint})):r.createElement(_,null,o("spendingMethods.FREE_PRODUCT.groupedDescription",{minPoint:s.minPoint,maxPoint:s.maxPoint})),m=P(c.FREE_PRODUCT,d.settings.widgetIconType),u=!!i.user&&!!i.cartId?{text:o("spendingMethods.FREE_PRODUCT.selectGift"),onClick:function(){i.pushScreen(p.GIFT_PRODUCT_SELECTION_SCREEN)}}:void 0;return r.createElement(g,{title:o("spendingMethods.FREE_PRODUCT.title"),description:a,icon:m,action:u,isCompleted:!1,mode:"card",padding:n,settings:{borderRadius:d.settings.cartBorderRadius,widgetIconType:d.settings.widgetIconType,button:d.button}})}),O=o(function(e){var i=e.viewModel,n=e.mode,o=void 0===n?"card":n,d=e.getActionProps,s=e.methods,l=i.spendingMethods,a=s||l,c=T(a),m=x(a),p=t([],m,!0).sort(function(e,t){return e.isAvailable&&!t.isAvailable?-1:!e.isAvailable&&t.isAvailable?1:e.isDynamic&&!t.isDynamic?-1:!e.isDynamic&&t.isDynamic?1:0}),u="accordion"===o?"16px":void 0;return h(c),r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"0 16px"}},p.map(function(e){var t=d?d(e):null;return r.createElement(I,{key:e.id,method:e,viewModel:i,mode:o,padding:u,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick})}),c.length>0&&r.createElement(M,{methods:c,viewModel:i,mode:o,padding:u}))});export{O as default};
1
+ import{__makeTemplateObject as e,__spreadArray as t,__awaiter as i,__generator as n}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import r,{useState as d,useMemo as s}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import a from"styled-components";import{LoyaltyProgramMethodSpendingTypeEnum as c,LoyaltyProgramFilterTypeEnum as m,LoyaltyWidgetScreenTypeEnum as u}from"../../../../models/types/index.js";import p from"../../../components/button/index.js";import g from"../../../components/loyalty-method-card/index.js";import{ProductFilterList as f}from"../../../components/product-filter-card/index.js";import{textSM as y}from"../../../components/style/typography.js";import{getFreeProductName as v,getFilterDetails as E,hasResolvableProductFilters as R}from"../../../utils/loyalty-details.js";import{getFreeProductPointRange as h,hasAvailableFreeProduct as T,getFreeProductMethods as x,getNonFreeProductMethods as C}from"../../../utils/spending-method-utils.js";import{getSpendingMethodTitle as D,getSpendingMethodDescription as P,getSpendingMethodIcon as b}from"../../../../utils.js";import A from"./dynamic-slider.js";var I,_=a.span(I||(I=e(["\n ","\n color: #364152;\n"],["\n ","\n color: #364152;\n"])),y),M=o(function(e){var t,o,a=e.method,u=e.viewModel,y=e.actionText,R=e.padding,h=e.onClick,T=e.mode,x=l().t,C=d(!1),I=C[0],_=C[1],M=u.loyaltyWidget,O=D(a),S=P(a,u),w=b(a.type,M.settings.widgetIconType),j=a.productFilters||[],U=a.type===c.FREE_PRODUCT,k=U&&(null===(t=a.discountSettings)||void 0===t?void 0:t.freeProductId)?v(u,a.discountSettings.freeProductId):void 0,F=U&&!!k,N=null===(o=a.pointUsageLimit)||void 0===o?void 0:o.minPointLimit,B=!a.isDynamic&&!!u.user&&!!u.cartId,L=a.isDynamic&&!!u.user&&!!u.cartId,W=a.isDynamic,z=s(function(){return j.filter(function(e){return e.type===m.PRODUCT_AND_VARIANT})},[j]),G=s(function(){return j.filter(function(e){return e.type!==m.PRODUCT_AND_VARIANT}).map(function(e){var t=E(u,e.type,e.idList);if(!t.length)return null;var i=t[0],n=i.name,o="";switch(i.type){case m.CATEGORY:case m.DYNAMIC_CATEGORY:o=x("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:n});break;case m.PRODUCT_BRAND:o=x("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:n});break;case m.PRODUCT_TAG:o=x("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:n})}return!o&&n&&(o=n),o||null}).filter(Boolean)},[j,u,x]),H=z.length>0,Y=G.length>0||H,V="accordion"===T?!!(N&&N>0)||F||Y||L||B&&!W?"accordion":"card":W&&L?"accordion":"card",q=function(){return i(void 0,void 0,void 0,function(){var e;return n(this,function(t){switch(t.label){case 0:if(!u.cartId||!a.isAvailable)return[2];_(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,null===(e=u.callbacks)||void 0===e?void 0:e.useLoyaltyPoints({cartId:u.cartId,loyaltyProgramId:a.loyaltyProgramId,loyaltySpendingMethodId:a.id})];case 2:return t.sent()&&(u.userRefreshTrigger++,u.cartRefreshTrigger++,u.isMainScreen||u.resetNavigation()),[3,4];case 3:return _(!1),[7];case 4:return[2]}})})},J="card"===V&&B&&!W?{text:x("common.use"),onClick:q,loading:I}:y&&h?{text:y,onClick:h}:void 0;return r.createElement(g,{title:O,description:S,icon:w,action:J,isCompleted:!1,mode:V,padding:R,settings:{borderRadius:M.settings.cartBorderRadius,widgetIconType:M.settings.widgetIconType,button:M.button}},"accordion"!==V?null:r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},N&&N>0&&r.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},x("spendingMethods.minPointLimit",{points:N})),F&&r.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},x("spendingMethods.FREE_PRODUCT.description",{product:k})),H&&r.createElement(f,{filters:z,viewModel:u}),G.map(function(e,t){return r.createElement("div",{key:t,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},e)}),L&&r.createElement(A,{viewModel:u,method:a}),B&&!W&&r.createElement("div",{style:{alignSelf:"flex-end",width:"100%"}},r.createElement(p,{button:M.button,paddingSize:"small",fontSize:"textSMMedium",onClick:q,isLoading:I,disabled:!a.isAvailable,fullWidth:!0},x("common.use")))))}),O=o(function(e){var t=e.methods,i=e.viewModel;e.mode;var n=e.padding,o=l().t,d=i.loyaltyWidget,s=h(t);if(T(t),!s)return null;var a=s.minPoint===s.maxPoint?r.createElement(_,null,o("spendingMethods.FREE_PRODUCT.singleDescription",{points:s.minPoint})):r.createElement(_,null,o("spendingMethods.FREE_PRODUCT.groupedDescription",{minPoint:s.minPoint,maxPoint:s.maxPoint})),m=b(c.FREE_PRODUCT,d.settings.widgetIconType),p=!!i.user&&!!i.cartId?{text:o("spendingMethods.FREE_PRODUCT.selectGift"),onClick:function(){i.pushScreen(u.GIFT_PRODUCT_SELECTION_SCREEN)}}:void 0;return r.createElement(g,{title:o("spendingMethods.FREE_PRODUCT.title"),description:a,icon:m,action:p,isCompleted:!1,mode:"card",padding:n,settings:{borderRadius:d.settings.cartBorderRadius,widgetIconType:d.settings.widgetIconType,button:d.button}})}),S=o(function(e){var i=e.viewModel,n=e.mode,o=void 0===n?"card":n,d=e.getActionProps,s=e.methods,l=i.spendingMethods,a=s||l,c=x(a),m=C(a).filter(function(e){return R(i,e.productFilters||[])}),u=c.filter(function(e){var t,n=null===(t=e.discountSettings)||void 0===t?void 0:t.freeProductId;return!n||!!v(i,n)}),p=t([],m,!0).sort(function(e,t){return e.isAvailable&&!t.isAvailable?-1:!e.isAvailable&&t.isAvailable?1:e.isDynamic&&!t.isDynamic?-1:!e.isDynamic&&t.isDynamic?1:0}),g="accordion"===o?"16px":void 0;return T(u),r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"0 16px"}},p.map(function(e){var t=d?d(e):null;return r.createElement(M,{key:e.id,method:e,viewModel:i,mode:o,padding:g,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick})}),u.length>0&&r.createElement(O,{methods:u,viewModel:i,mode:o,padding:g}))});export{S as default};
@@ -1,5 +1,6 @@
1
1
  import { TFunction } from "i18next";
2
2
  import { LoyaltyWidgetViewModel } from "models";
3
+ import { LoyaltyProgramFilter } from "models/common";
3
4
  import { LoyaltyProgramEarningMethod } from "models/loyalty-program-earning-method";
4
5
  import { LoyaltyProgramFilterTypeEnum } from "models/types";
5
6
  export type FilterDetail = {
@@ -9,5 +10,11 @@ export type FilterDetail = {
9
10
  };
10
11
  export declare const getFilterDetails: (viewModel: LoyaltyWidgetViewModel, filterType: LoyaltyProgramFilterTypeEnum, idList: string[]) => FilterDetail[];
11
12
  export declare const getFreeProductName: (viewModel: LoyaltyWidgetViewModel, productId: string) => string | undefined;
13
+ /**
14
+ * PRODUCT_AND_VARIANT filtrelerindeki ürünlerin viewModel.products'ta bulunup bulunamadığını kontrol eder.
15
+ * Eğer PRODUCT_AND_VARIANT filtresi yoksa true döner (ürün bilgisine bağımlı değil).
16
+ * Eğer varsa, en az bir ürünün çözülebilir olmasını gerektirir.
17
+ */
18
+ export declare const hasResolvableProductFilters: (viewModel: LoyaltyWidgetViewModel, filters: LoyaltyProgramFilter[]) => boolean;
12
19
  export declare const getEarningMethodConditionList: (t: TFunction, earningMethod: LoyaltyProgramEarningMethod, viewModel: LoyaltyWidgetViewModel) => string[];
13
20
  export declare const getEarningMethodDescriptionV2: (t: TFunction, earningMethod: LoyaltyProgramEarningMethod, viewModel: LoyaltyWidgetViewModel) => string | undefined;
@@ -1 +1 @@
1
- import{__spreadArray as n}from'./../../ext/tslib/tslib.es6.mjs.js';import{LoyaltyProgramFilterTypeEnum as t,EarningMethodTypeEnum as e,LoyaltyProgramPointEarningTypeEnum as r}from"../../models/types/index.js";var i=function(n,e,r){var i;if(!r||0===r.length)return[];if(e===t.PRODUCT_AND_VARIANT){var o=r.find(function(n){return n.startsWith("p:")}),a=r.find(function(n){return n.startsWith("v:")});if(!o)return[];var u=o.slice(2),c=a?a.slice(2):null,s=null===(i=n.products)||void 0===i?void 0:i.find(function(n){return n.id===u});if(!s)return[];var d=s.name;if(c&&s.variants){var E=s.variants.find(function(n){return n.id===c});(null==E?void 0:E.variantText)&&(d="".concat(s.name," (").concat(E.variantText,")"))}return[{type:e,name:d,id:u}]}var R=[];return r.forEach(function(r){var i="";switch(e){case t.CATEGORY:case t.DYNAMIC_CATEGORY:if(n.categories){var o=n.categories.find(function(n){return n.id===r});o&&(i=o.name)}break;case t.PRODUCT_BRAND:if(n.brands){var a=n.brands.find(function(n){return n.id===r});a&&(i=a.name)}break;case t.PRODUCT_TAG:if(n.tags){var u=n.tags.find(function(n){return n.id===r});u&&(i=u.name)}}i&&R.push({type:e,name:i,id:r})}),R},o=function(n,t){if(n.products){var e=n.products.find(function(n){return n.id===t});return e?e.name:void 0}},a=function(o,a,u){var c,s,d,E=function(n){return n.filter(function(n){return n.type!==t.PRODUCT_AND_VARIANT}).map(function(n){switch(n.type){case t.CATEGORY:case t.DYNAMIC_CATEGORY:return o("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:n.name});case t.PRODUCT_BRAND:return o("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:n.name});case t.PRODUCT_TAG:return o("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:n.name});default:return n.name}}).filter(Boolean)};switch(a.methodType){case e.BUY_PRODUCT:return E(n([],(null===(c=a.productSettings)||void 0===c?void 0:c.productFilters)||[],!0).reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[]));case e.ORDER_CREATE:var R=n(n([],(null===(s=a.productSettings)||void 0===s?void 0:s.productFilters)||[],!0),(null===(d=a.orderSettings)||void 0===d?void 0:d.productFilters)||[],!0).reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[]),f=[];f.push.apply(f,E(R));var p=a.orderSettings||{},m=p.minOrderAmount,A=p.maxOrderAmount;return"number"==typeof m&&m>0&&f.push(o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMinimum",{amount:u.formatCurrency(m)})),"number"==typeof A&&A>0&&f.push(o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMaximum",{amount:u.formatCurrency(A)})),a.pointEarningType===r.DYNAMIC_ORDER_AMOUNT&&f.push(o("earningMethods.ORDER_CREATE.RECEIVE_POINTS_ON_SPEND.description",{amount:u.formatCurrency(a.amountPerPointsEarned||0),points:a.pointsEarned})),f;default:return[]}},u=function(o,a,u){var c,s,d,E=function(n){return n.filter(function(n){return n.type!==t.PRODUCT_AND_VARIANT}).map(function(n){switch(n.type){case t.CATEGORY:case t.DYNAMIC_CATEGORY:return o("earningMethods.ORDER_CREATE.BASE.genericCategory",{category:n.name});case t.PRODUCT_BRAND:return o("earningMethods.ORDER_CREATE.BASE.genericBrand",{brand:n.name});case t.PRODUCT_TAG:return o("earningMethods.ORDER_CREATE.BASE.genericTag",{tag:n.name});default:return n.name}}).filter(Boolean).join(", ")};switch(a.methodType){case e.CUSTOMER_REGISTER:case e.CUSTOMER_REVIEW:case e.ENABLE_SUBSCRIPTION:return o("earningMethods.xPoints",{points:a.pointsEarned});case e.BUY_PRODUCT:var R=E(n([],(null===(c=a.productSettings)||void 0===c?void 0:c.productFilters)||[],!0).reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[]));return R||void 0;case e.ORDER_CREATE:var f=n(n([],(null===(s=a.productSettings)||void 0===s?void 0:s.productFilters)||[],!0),(null===(d=a.orderSettings)||void 0===d?void 0:d.productFilters)||[],!0),p=E(f.reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[])),m=a.orderSettings||{},A=m.minOrderAmount,T=m.maxOrderAmount,l="number"==typeof T&&T>0,C="";switch("number"==typeof A&&A>0?C=o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMinimum",{amount:u.formatCurrency(A)}):l&&(C=o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMaximum",{amount:u.formatCurrency(T)})),a.pointEarningType){case r.DYNAMIC_ORDER_AMOUNT:return(O=[p,C,o("earningMethods.ORDER_CREATE.RECEIVE_POINTS_ON_SPEND.description",{amount:u.formatCurrency(a.amountPerPointsEarned||0),points:a.pointsEarned})].filter(Boolean)).join(" ");case r.STATIC:var O;return 0===(O=[p,C].filter(Boolean)).length?void f.length:!C&&p?o("earningMethods.ORDER_CREATE.BASE.descriptionWithFilter",{filter:p}):O.join(", ")}break;default:return""}};export{a as getEarningMethodConditionList,u as getEarningMethodDescriptionV2,i as getFilterDetails,o as getFreeProductName};
1
+ import{__spreadArray as n}from'./../../ext/tslib/tslib.es6.mjs.js';import{LoyaltyProgramFilterTypeEnum as t,EarningMethodTypeEnum as r,LoyaltyProgramPointEarningTypeEnum as e}from"../../models/types/index.js";var i=function(n,r,e){var i;if(!e||0===e.length)return[];if(r===t.PRODUCT_AND_VARIANT){var o=e.find(function(n){return n.startsWith("p:")}),a=e.find(function(n){return n.startsWith("v:")});if(!o)return[];var u=o.slice(2),c=a?a.slice(2):null,d=null===(i=n.products)||void 0===i?void 0:i.find(function(n){return n.id===u});if(!d)return[];var s=d.name;if(c&&d.variants){var E=d.variants.find(function(n){return n.id===c});(null==E?void 0:E.variantText)&&(s="".concat(d.name," (").concat(E.variantText,")"))}return[{type:r,name:s,id:u}]}var R=[];return e.forEach(function(e){var i="";switch(r){case t.CATEGORY:case t.DYNAMIC_CATEGORY:if(n.categories){var o=n.categories.find(function(n){return n.id===e});o&&(i=o.name)}break;case t.PRODUCT_BRAND:if(n.brands){var a=n.brands.find(function(n){return n.id===e});a&&(i=a.name)}break;case t.PRODUCT_TAG:if(n.tags){var u=n.tags.find(function(n){return n.id===e});u&&(i=u.name)}}i&&R.push({type:r,name:i,id:e})}),R},o=function(n,t){if(n.products){var r=n.products.find(function(n){return n.id===t});return r?r.name:void 0}},a=function(n,r){var e=r.filter(function(n){return n.type===t.PRODUCT_AND_VARIANT});return 0===e.length||e.some(function(t){var r,e,i=null===(r=t.idList)||void 0===r?void 0:r.find(function(n){return n.startsWith("p:")});if(!i)return!1;var o=i.slice(2);return null===(e=n.products)||void 0===e?void 0:e.some(function(n){return n.id===o})})},u=function(o,a,u){var c,d,s,E=function(n){return n.filter(function(n){return n.type!==t.PRODUCT_AND_VARIANT}).map(function(n){switch(n.type){case t.CATEGORY:case t.DYNAMIC_CATEGORY:return o("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:n.name});case t.PRODUCT_BRAND:return o("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:n.name});case t.PRODUCT_TAG:return o("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:n.name});default:return n.name}}).filter(Boolean)};switch(a.methodType){case r.BUY_PRODUCT:return E(n([],(null===(c=a.productSettings)||void 0===c?void 0:c.productFilters)||[],!0).reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[]));case r.ORDER_CREATE:var R=n(n([],(null===(d=a.productSettings)||void 0===d?void 0:d.productFilters)||[],!0),(null===(s=a.orderSettings)||void 0===s?void 0:s.productFilters)||[],!0).reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[]),f=[];f.push.apply(f,E(R));var p=a.orderSettings||{},m=p.minOrderAmount,A=p.maxOrderAmount;return"number"==typeof m&&m>0&&f.push(o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMinimum",{amount:u.formatCurrency(m)})),"number"==typeof A&&A>0&&f.push(o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMaximum",{amount:u.formatCurrency(A)})),a.pointEarningType===e.DYNAMIC_ORDER_AMOUNT&&f.push(o("earningMethods.ORDER_CREATE.RECEIVE_POINTS_ON_SPEND.description",{amount:u.formatCurrency(a.amountPerPointsEarned||0),points:a.pointsEarned})),f;default:return[]}},c=function(o,a,u){var c,d,s,E=function(n){return n.filter(function(n){return n.type!==t.PRODUCT_AND_VARIANT}).map(function(n){switch(n.type){case t.CATEGORY:case t.DYNAMIC_CATEGORY:return o("earningMethods.ORDER_CREATE.BASE.genericCategory",{category:n.name});case t.PRODUCT_BRAND:return o("earningMethods.ORDER_CREATE.BASE.genericBrand",{brand:n.name});case t.PRODUCT_TAG:return o("earningMethods.ORDER_CREATE.BASE.genericTag",{tag:n.name});default:return n.name}}).filter(Boolean).join(", ")};switch(a.methodType){case r.CUSTOMER_REGISTER:case r.CUSTOMER_REVIEW:case r.ENABLE_SUBSCRIPTION:return o("earningMethods.xPoints",{points:a.pointsEarned});case r.BUY_PRODUCT:var R=E(n([],(null===(c=a.productSettings)||void 0===c?void 0:c.productFilters)||[],!0).reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[]));return R||void 0;case r.ORDER_CREATE:var f=n(n([],(null===(d=a.productSettings)||void 0===d?void 0:d.productFilters)||[],!0),(null===(s=a.orderSettings)||void 0===s?void 0:s.productFilters)||[],!0),p=E(f.reduce(function(n,t){return n.concat(i(u,t.type,t.idList))},[])),m=a.orderSettings||{},A=m.minOrderAmount,l=m.maxOrderAmount,T="number"==typeof l&&l>0,C="";switch("number"==typeof A&&A>0?C=o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMinimum",{amount:u.formatCurrency(A)}):T&&(C=o("earningMethods.ORDER_CREATE.BASE.descriptionStaticMaximum",{amount:u.formatCurrency(l)})),a.pointEarningType){case e.DYNAMIC_ORDER_AMOUNT:return(O=[p,C,o("earningMethods.ORDER_CREATE.RECEIVE_POINTS_ON_SPEND.description",{amount:u.formatCurrency(a.amountPerPointsEarned||0),points:a.pointsEarned})].filter(Boolean)).join(" ");case e.STATIC:var O;return 0===(O=[p,C].filter(Boolean)).length?void f.length:!C&&p?o("earningMethods.ORDER_CREATE.BASE.descriptionWithFilter",{filter:p}):O.join(", ")}break;default:return""}};export{u as getEarningMethodConditionList,c as getEarningMethodDescriptionV2,i as getFilterDetails,o as getFreeProductName,a as hasResolvableProductFilters};