@ikas/loyalty-widget-renderer 1.0.0-alpha.40 → 1.0.0-alpha.42

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.
Files changed (41) hide show
  1. package/build/models/image/index.d.ts +1 -0
  2. package/build/models/image/index.js +1 -1
  3. package/build/models/index.d.ts +2 -0
  4. package/build/models/index.js +1 -1
  5. package/build/models/loyalty-program-spending-method/index.d.ts +1 -0
  6. package/build/models/loyalty-program-spending-method/index.js +1 -1
  7. package/build/models/types/index.d.ts +1 -0
  8. package/build/renderer/components/button/index.js +1 -1
  9. package/build/renderer/components/button/style.js +1 -1
  10. package/build/renderer/components/count-up/index.d.ts +7 -0
  11. package/build/renderer/components/count-up/index.js +1 -0
  12. package/build/renderer/components/loyalty-method-card/index.d.ts +2 -1
  13. package/build/renderer/components/loyalty-method-card/index.js +1 -1
  14. package/build/renderer/components/mini-mode-button/index.js +1 -1
  15. package/build/renderer/index.js +1 -1
  16. package/build/renderer/screens/credit-earning-methods-screen/index.js +1 -1
  17. package/build/renderer/screens/credit-history-screen/index.js +1 -1
  18. package/build/renderer/screens/credit-spending-methods-screen/index.js +1 -1
  19. package/build/renderer/screens/loyalty-level-screen/index.js +1 -1
  20. package/build/renderer/screens/main-screen/earning-methods-section/index.d.ts +1 -0
  21. package/build/renderer/screens/main-screen/earning-methods-section/index.js +1 -1
  22. package/build/renderer/screens/main-screen/header/auth-user-section/index.js +1 -1
  23. package/build/renderer/screens/main-screen/header/index.js +1 -1
  24. package/build/renderer/screens/main-screen/header/logo-section/index.js +1 -1
  25. package/build/renderer/screens/main-screen/header/title-section/index.js +1 -1
  26. package/build/renderer/screens/main-screen/header/user-logged-section/index.js +1 -1
  27. package/build/renderer/screens/main-screen/index.js +1 -1
  28. package/build/renderer/screens/main-screen/program-info-section/index.js +1 -1
  29. package/build/renderer/screens/main-screen/spending-methods-section/dynamic-slider.js +1 -1
  30. package/build/renderer/screens/main-screen/spending-methods-section/index.d.ts +1 -0
  31. package/build/renderer/screens/main-screen/spending-methods-section/index.js +1 -1
  32. package/build/renderer/screens/main-screen/style.js +1 -1
  33. package/build/renderer/style.js +1 -1
  34. package/build/renderer/utils/locales/en.json.js +1 -1
  35. package/build/renderer/utils/locales/tr.json.js +1 -1
  36. package/build/renderer/utils/loyalty-details.js +1 -1
  37. package/build/storefront-widget-script-injector.iife.js +6 -6
  38. package/build/storefront-widget-script-injector.iife.js.map +1 -1
  39. package/build/utils.d.ts +4 -3
  40. package/build/utils.js +1 -1
  41. package/package.json +12 -2
@@ -6,6 +6,7 @@ export declare class LoyaltyWidgetImage {
6
6
  merchantId: string | null;
7
7
  imageId: string | null;
8
8
  type: ImageTypeEnum;
9
+ maxHeight: number | null;
9
10
  constructor(data: Partial<LoyaltyWidgetImage>);
10
11
  get src(): string | undefined;
11
12
  }
@@ -1 +1 @@
1
- import{makeObservable as t,observable as e,computed as n}from"mobx";import{ImageTypeEnum as i}from"../loyalty-widget/types/index.js";var c=1080,r=function(){function c(c){this.imageId=c.imageId||null,this.link=c.link||null,this.cdnURL=c.cdnURL||null,this.merchantId=c.merchantId||null,this.type=c.type||i.SHOW,t(this,{imageId:e,link:e,cdnURL:e,merchantId:e,type:e,src:n})}return Object.defineProperty(c.prototype,"src",{get:function(){if(this.imageId)return"".concat(this.cdnURL,"images/").concat(this.merchantId,"/").concat(this.imageId,"/image_").concat(1080,".webp")},enumerable:!1,configurable:!0}),c}();export{c as IMAGE_SIZE,r as LoyaltyWidgetImage};
1
+ import{makeObservable as t,observable as e,computed as i}from"mobx";import{ImageTypeEnum as n}from"../loyalty-widget/types/index.js";var c=1080,a=function(){function c(c){this.imageId=c.imageId||null,this.link=c.link||null,this.cdnURL=c.cdnURL||null,this.merchantId=c.merchantId||null,this.type=c.type||n.SHOW,this.maxHeight=c.maxHeight||null,t(this,{imageId:e,link:e,cdnURL:e,merchantId:e,type:e,maxHeight:e,src:i})}return Object.defineProperty(c.prototype,"src",{get:function(){if(this.imageId)return"".concat(this.cdnURL,"images/").concat(this.merchantId,"/").concat(this.imageId,"/image_").concat(1080,".webp")},enumerable:!1,configurable:!0}),c}();export{c as IMAGE_SIZE,a as LoyaltyWidgetImage};
@@ -9,6 +9,7 @@ export declare class LoyaltyWidgetViewModel {
9
9
  currentWidgetMode: WidgetMode;
10
10
  isMiniModeDescriptionClosed: boolean;
11
11
  isLoading: boolean;
12
+ isActionLoading: boolean;
12
13
  loyaltyWidget: LoyaltyWidget;
13
14
  userRefreshTrigger: number;
14
15
  cartRefreshTrigger: number;
@@ -34,4 +35,5 @@ export declare class LoyaltyWidgetViewModel {
34
35
  get shouldShowSpendingMethods(): boolean;
35
36
  setWidgetMode(mode: WidgetMode): void;
36
37
  closeMiniModeDescription(): void;
38
+ formatCurrency(price: number): string;
37
39
  }
@@ -1 +1 @@
1
- import{makeObservable as e,observable as t,computed as i}from"mobx";import{LoyaltyWidget as s}from"./loyalty-widget/index.js";import{WidgetMode as r,LoyaltyWidgetScreenTypeEnum as o}from"./types/index.js";import{LoyaltyProgramSpendingMethod as n}from"./loyalty-program-spending-method/index.js";import{LoyaltyProgramEarningMethod as d}from"./loyalty-program-earning-method/index.js";import{LoyaltyCustomerInfo as h}from"./loyalty-customer-info/index.js";var c=function(){function c(c,a,l,g,p,u,M,y){void 0===c&&(c={}),this.userRefreshTrigger=0,this.cartRefreshTrigger=0,this.selectedScreen=c.selectedScreen||o.MAIN_SCREEN,this.currentWidgetMode=M?r.WIDGET_MODE:r.MINI_MODE,this.isMiniModeDescriptionClosed=c.isMiniModeDescriptionClosed||!1,this.isLoading=c.isLoading||!1,this.loyaltyWidget=new s(c.loyaltyWidget),this.cdnURL=a,this.merchantId=l,this.storeUrl=u||c.storeUrl||"",this.currency=g,this.locale=p,this.isPreviewMode=M||!1,this.cartId=c.cartId||null,this.cartId=c.cartId||null,this.ikasEventUser=c.ikasEventUser||null,this.user=c.user?new h(c.user):null,this.earningMethods=c.earningMethods?c.earningMethods.map(function(e){return new d(e)}):[],this.spendingMethods=c.spendingMethods?c.spendingMethods.map(function(e){return new n(e)}):[],this.tiers=c.tiers?c.tiers:[],this.categories=c.categories?c.categories:[],this.products=c.products?c.products:[],this.brands=c.brands?c.brands:[],this.tags=c.tags?c.tags:[],this.pointHistory=c.pointHistory?c.pointHistory:[],this.callbacks=y||void 0,e(this,{cartId:t,loyaltyWidget:t,isLoading:t,cdnURL:t,merchantId:t,storeUrl:t,currency:t,locale:t,selectedScreen:t,currentWidgetMode:t,isMiniModeDescriptionClosed:t,user:t,earningMethods:t,spendingMethods:t,tiers:t,categories:t,products:t,brands:t,tags:t,pointHistory:t,ikasEventUser:t,userRefreshTrigger:t,cartRefreshTrigger:t,shouldShowSpendingMethods:i})}return Object.defineProperty(c.prototype,"shouldShowSpendingMethods",{get:function(){return!!this.user&&(!!this.user.customerTierId&&(!(this.user.totalPoint<=0)&&0!==this.spendingMethods.length))},enumerable:!1,configurable:!0}),c.prototype.setWidgetMode=function(e){this.currentWidgetMode=e,e!==r.WIDGET_MODE||this.isPreviewMode||(this.isMiniModeDescriptionClosed=!0)},c.prototype.closeMiniModeDescription=function(){this.isMiniModeDescriptionClosed=!0},c}();export{c as LoyaltyWidgetViewModel};
1
+ import{makeObservable as e,observable as t,action as i,computed as s}from"mobx";import{LoyaltyWidget as r}from"./loyalty-widget/index.js";import{WidgetMode as o,LoyaltyWidgetScreenTypeEnum as n}from"./types/index.js";import{LoyaltyProgramSpendingMethod as d}from"./loyalty-program-spending-method/index.js";import{LoyaltyProgramEarningMethod as c}from"./loyalty-program-earning-method/index.js";import{LoyaltyCustomerInfo as a}from"./loyalty-customer-info/index.js";var h=function(){function h(h,l,g,u,p,M,y,m){void 0===h&&(h={}),this.userRefreshTrigger=0,this.cartRefreshTrigger=0,this.selectedScreen=h.selectedScreen||n.MAIN_SCREEN,this.currentWidgetMode=y?o.WIDGET_MODE:o.MINI_MODE,this.isMiniModeDescriptionClosed=h.isMiniModeDescriptionClosed||!1,this.isLoading=h.isLoading||!1,this.isActionLoading=h.isActionLoading||!1,this.loyaltyWidget=new r(h.loyaltyWidget),this.cdnURL=l,this.merchantId=g,this.storeUrl=M||h.storeUrl||"",this.currency=u,this.locale=p,this.isPreviewMode=y||!1,this.cartId=h.cartId||null,this.cartId=h.cartId||null,this.ikasEventUser=h.ikasEventUser||null,this.user=h.user?new a(h.user):null,this.earningMethods=h.earningMethods?h.earningMethods.map(function(e){return new c(e)}):[],this.spendingMethods=h.spendingMethods?h.spendingMethods.map(function(e){return new d(e)}):[],this.tiers=h.tiers?h.tiers:[],this.categories=h.categories?h.categories:[],this.products=h.products?h.products:[],this.brands=h.brands?h.brands:[],this.tags=h.tags?h.tags:[],this.pointHistory=h.pointHistory?h.pointHistory:[],this.callbacks=m||void 0,e(this,{cartId:t,loyaltyWidget:t,isLoading:t,isActionLoading:t,cdnURL:t,merchantId:t,storeUrl:t,currency:t,locale:t,setWidgetMode:i.bound,closeMiniModeDescription:i.bound,formatCurrency:i.bound,selectedScreen:t,currentWidgetMode:t,isMiniModeDescriptionClosed:t,user:t,earningMethods:t,spendingMethods:t,tiers:t,categories:t,products:t,brands:t,tags:t,pointHistory:t,ikasEventUser:t,userRefreshTrigger:t,cartRefreshTrigger:t,shouldShowSpendingMethods:s})}return Object.defineProperty(h.prototype,"shouldShowSpendingMethods",{get:function(){return!!this.user&&(!(this.user.totalPoint<=0)&&0!==this.spendingMethods.length)},enumerable:!1,configurable:!0}),h.prototype.setWidgetMode=function(e){this.currentWidgetMode=e,e!==o.WIDGET_MODE||this.isPreviewMode||(this.isMiniModeDescriptionClosed=!0)},h.prototype.closeMiniModeDescription=function(){this.isMiniModeDescriptionClosed=!0},h.prototype.formatCurrency=function(e){var t;return(null===(t=this.callbacks)||void 0===t?void 0:t.formatCurrency)?this.callbacks.formatCurrency(e):"".concat(e.toFixed(2)," ").concat(this.currency)},h}();export{h as LoyaltyWidgetViewModel};
@@ -13,6 +13,7 @@ export declare class LoyaltyProgramSpendingMethod {
13
13
  discountSettings: LoyaltyProgramDiscountSettings | null;
14
14
  id: string;
15
15
  isActive: boolean;
16
+ isAvailable: boolean | null;
16
17
  isDynamic: boolean;
17
18
  loyaltyProgramId: string;
18
19
  pointUsageLimit: LoyaltyProgramPointLimit | null;
@@ -1 +1 @@
1
- import{makeObservable as t,observable as i}from"mobx";import{LoyaltyProgramMethodSpendingTypeEnum as n}from"../types/index.js";import{LoyaltyProgramPointLimit as s,LoyaltyProgramFilter as e,LoyaltyProgramMethodTranslation as o}from"../common/index.js";var d=function(n){void 0===n&&(n={}),this.discountAmount=n.discountAmount||null,this.freeProductId=n.freeProductId||null,this.point=n.point||0,t(this,{discountAmount:i,freeProductId:i,point:i})},r=function(r){void 0===r&&(r={}),this.createdAt=r.createdAt||null,this.deleted=r.deleted||!1,this.description=r.description||null,this.discountSettings=r.discountSettings?new d(r.discountSettings):null,this.id=r.id||"",this.isActive=r.isActive||!1,this.isDynamic=r.isDynamic||!1,this.loyaltyProgramId=r.loyaltyProgramId||"",this.pointUsageLimit=r.pointUsageLimit?new s(r.pointUsageLimit):null,this.productFilters=r.productFilters?r.productFilters.map(function(t){return new e(t)}):null,this.translations=r.translations?r.translations.map(function(t){return new o(t)}):null,this.type=r.type||n.FIXED_AMOUNT,this.updatedAt=r.updatedAt||null,t(this,{createdAt:i,deleted:i,description:i,discountSettings:i,id:i,isActive:i,isDynamic:i,loyaltyProgramId:i,pointUsageLimit:i,productFilters:i,translations:i,type:i,updatedAt:i})};export{d as LoyaltyProgramDiscountSettings,r as LoyaltyProgramSpendingMethod};
1
+ import{makeObservable as t,observable as i}from"mobx";import{LoyaltyProgramMethodSpendingTypeEnum as n}from"../types/index.js";import{LoyaltyProgramPointLimit as s,LoyaltyProgramFilter as e,LoyaltyProgramMethodTranslation as o}from"../common/index.js";var l=function(n){void 0===n&&(n={}),this.discountAmount=n.discountAmount||null,this.freeProductId=n.freeProductId||null,this.point=n.point||0,t(this,{discountAmount:i,freeProductId:i,point:i})},d=function(d){void 0===d&&(d={}),this.createdAt=d.createdAt||null,this.deleted=d.deleted||!1,this.description=d.description||null,this.discountSettings=d.discountSettings?new l(d.discountSettings):null,this.id=d.id||"",this.isActive=d.isActive||!1,this.isAvailable=void 0!==d.isAvailable&&null!==d.isAvailable?d.isAvailable:null,this.isDynamic=d.isDynamic||!1,this.loyaltyProgramId=d.loyaltyProgramId||"",this.pointUsageLimit=d.pointUsageLimit?new s(d.pointUsageLimit):null,this.productFilters=d.productFilters?d.productFilters.map(function(t){return new e(t)}):null,this.translations=d.translations?d.translations.map(function(t){return new o(t)}):null,this.type=d.type||n.FIXED_AMOUNT,this.updatedAt=d.updatedAt||null,t(this,{createdAt:i,deleted:i,description:i,discountSettings:i,id:i,isActive:i,isAvailable:i,isDynamic:i,loyaltyProgramId:i,pointUsageLimit:i,productFilters:i,translations:i,type:i,updatedAt:i})};export{l as LoyaltyProgramDiscountSettings,d as LoyaltyProgramSpendingMethod};
@@ -105,6 +105,7 @@ export type LoyaltyWidgetCallbacks = {
105
105
  getBrands: (ids: string[]) => Promise<Brand[]>;
106
106
  getTags: (ids: string[]) => Promise<Tag[]>;
107
107
  subscribeToMarketingNotifications: () => Promise<boolean>;
108
+ formatCurrency?: (price: number) => string;
108
109
  };
109
110
  export type IkasLoyaltyWidgetConfig = {
110
111
  cartId?: string | null;
@@ -1 +1 @@
1
- import o from"react";import{observer as r}from"mobx-react";import{Button as t,Loader as e}from"./style.js";var i=r(function(r){var i=r.children,d=r.onClick,l=r.button,n=r.fontSize,a=r.paddingSize,u=r.fullWidth,b=void 0!==u&&u,f=r.disabled,m=void 0!==f&&f,s=r.isLoading,c=void 0!==s&&s;return o.createElement(t,{onClick:d,fullWidth:b,fontSize:n,paddingSize:a,borderRadius:l.buttonRadius,bgColor:l.bgColor,textColor:l.textColor,borderColor:l.borderColor,disabled:m||c},c&&o.createElement(e,null),i)});export{i as default};
1
+ import{observer as o}from"mobx-react";import r from"react";import{Button as t,Loader as e}from"./style.js";var i=o(function(o){var i=o.children,d=o.onClick,l=o.button,n=o.fontSize,a=o.paddingSize,u=o.fullWidth,b=void 0!==u&&u,f=o.disabled,m=void 0!==f&&f,s=o.isLoading,c=void 0!==s&&s;return r.createElement(t,{onClick:d,fullWidth:b,fontSize:n,paddingSize:a,borderRadius:l.buttonRadius,bgColor:l.bgColor,textColor:l.textColor,borderColor:l.borderColor,disabled:m||c},c&&r.createElement(e,null),i)});export{i as default};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import r,{keyframes as o}from"styled-components";import{textXSMedium as t,textSM as e,textSMMedium as i,textMDMedium as d,textLGSemiBold as a,displayXSSemiBold as l}from"../style/typography.js";var s,u,p,c={textXSMedium:t,textSM:e,textSMMedium:i,textMDMedium:d,textLGSemiBold:a,displayXSSemiBold:l},b={small:"8px",medium:"10px 16px"},f=r.button(s||(s=n(["\n border: none;\n cursor: ",";\n transition: all 0.2s ease;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n padding: ",";\n border-radius: ","px;\n width: ",";\n background-color: ",";\n color: ",";\n border: ",";\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n\n &:hover {\n opacity: 0.9;\n }\n"],["\n border: none;\n cursor: ",";\n transition: all 0.2s ease;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n padding: ",";\n border-radius: ","px;\n width: ",";\n background-color: ",";\n color: ",";\n border: ",";\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n\n &:hover {\n opacity: 0.9;\n }\n"])),function(n){return n.disabled?"not-allowed":"pointer"},function(n){return n.disabled?.5:1},function(n){return n.disabled?"none":"auto"},function(n){return c[n.fontSize]},function(n){return b[n.paddingSize]},function(n){return n.borderRadius},function(n){return n.fullWidth?"100%":"auto"},function(n){var r;return null!==(r=n.bgColor)&&void 0!==r?r:"transparent"},function(n){var r;return null!==(r=n.textColor)&&void 0!==r?r:"inherit"},function(n){return n.borderColor?"1px solid ".concat(n.borderColor):"none"}),m=o(u||(u=n(["\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n"],["\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n"]))),x=r.div(p||(p=n(["\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top: 2px solid currentColor;\n border-radius: 50%;\n width: 14px;\n height: 14px;\n animation: "," 1s linear infinite;\n"],["\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top: 2px solid currentColor;\n border-radius: 50%;\n width: 14px;\n height: 14px;\n animation: "," 1s linear infinite;\n"])),m);export{f as Button,x as Loader};
1
+ import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import r,{keyframes as t}from"styled-components";import{textXSMedium as o,textSM as e,textSMMedium as i,textMDMedium as a,textLGSemiBold as d,displayXSSemiBold as s}from"../style/typography.js";var l,p,u,c={textXSMedium:o,textSM:e,textSMMedium:i,textMDMedium:a,textLGSemiBold:d,displayXSSemiBold:s},f={small:"8px",medium:"10px 16px"},m=r.button(l||(l=n(["\n border: none;\n cursor: ",";\n transition: all 0.2s ease;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n padding: ",";\n border-radius: ","px;\n width: ",";\n background-color: ",";\n color: ",";\n border: ",";\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n\n &:hover {\n opacity: 0.9;\n }\n"],["\n border: none;\n cursor: ",";\n transition: all 0.2s ease;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n padding: ",";\n border-radius: ","px;\n width: ",";\n background-color: ",";\n color: ",";\n border: ",";\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n\n &:hover {\n opacity: 0.9;\n }\n"])),function(n){return n.disabled?"not-allowed":"pointer"},function(n){return n.disabled?.5:1},function(n){return n.disabled?"none":"auto"},function(n){return c[n.fontSize]},function(n){return f[n.paddingSize]},function(n){return n.borderRadius},function(n){return n.fullWidth?"100%":"auto"},function(n){var r;return null!==(r=n.bgColor)&&void 0!==r?r:"transparent"},function(n){var r;return null!==(r=n.textColor)&&void 0!==r?r:"inherit"},function(n){return n.borderColor?"1px solid ".concat(n.borderColor):"none"}),x=t(p||(p=n(["\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n"],["\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n"]))),b=r.div(u||(u=n(["\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top: 2px solid currentColor;\n border-radius: 50%;\n width: 14px;\n height: 14px;\n min-width: 14px; /* Ensure it doesn't collapse */\n animation: "," 1s linear infinite, fade-in 0.3s ease-out;\n\n @keyframes fade-in {\n from {\n opacity: 0;\n width: 0;\n transform: scale(0);\n }\n to {\n opacity: 1;\n width: 14px;\n transform: scale(1);\n }\n }\n"],["\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top: 2px solid currentColor;\n border-radius: 50%;\n width: 14px;\n height: 14px;\n min-width: 14px; /* Ensure it doesn't collapse */\n animation: "," 1s linear infinite, fade-in 0.3s ease-out;\n\n @keyframes fade-in {\n from {\n opacity: 0;\n width: 0;\n transform: scale(0);\n }\n to {\n opacity: 1;\n width: 14px;\n transform: scale(1);\n }\n }\n"])),x);export{m as Button,b as Loader};
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ type Props = {
3
+ end: number;
4
+ duration?: number;
5
+ };
6
+ declare const CountUp: React.FC<Props>;
7
+ export default CountUp;
@@ -0,0 +1 @@
1
+ import r,{useState as n,useRef as t,useEffect as e}from"react";var u=function(u){var a=u.end,c=u.duration,i=void 0===c?1e3:c,o=n(a),m=o[0],l=o[1],f=t(null),v=t(a);return e(function(){var r;v.current=m,f.current=null;var n=function(t){f.current||(f.current=t);var e=Math.min((t-f.current)/i,1),u=1-Math.pow(1-e,4),c=Math.round(v.current+(a-v.current)*u);l(c),e<1&&(r=requestAnimationFrame(n))};return r=requestAnimationFrame(n),function(){return cancelAnimationFrame(r)}},[a,i]),r.createElement(r.Fragment,null,m)};export{u as default};
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { WidgetIconTypeEnum } from "models/loyalty-widget/types";
3
2
  import { LoyaltyWidgetButton } from "models/button";
3
+ import { WidgetIconTypeEnum } from "models/loyalty-widget/types";
4
4
  export type LoyaltyMethodCardProps = {
5
5
  title: string;
6
6
  description: string | React.ReactNode;
@@ -8,6 +8,7 @@ export type LoyaltyMethodCardProps = {
8
8
  action?: {
9
9
  text: string;
10
10
  onClick: () => void;
11
+ loading?: boolean;
11
12
  };
12
13
  isCompleted?: boolean;
13
14
  mode: "card" | "accordion";
@@ -1 +1 @@
1
- import e,{useState as t}from"react";import{observer as n}from"mobx-react";import{WidgetIconTypeEnum as i}from"../../../models/loyalty-widget/types/index.js";import l from"../button/index.js";import{CheckCircleFill as o}from"../../../assets/icons/check-circle-fill.js";import{ChevronLeft as r}from"../../../assets/icons/chevron-left.js";import{Container as c,Header as a,IconWrapper as m,Content as s,Title as d,Description as p,ArrowButton as u,AccordionWrapper as f,AccordionInner as E}from"./style.js";var y=n(function(n){var y=n.title,g=n.description,x=n.icon,$=n.action,b=n.isCompleted,v=n.mode,C=n.children,j=n.padding,k=n.settings,O=t(!1),h=O[0],w=O[1],I=!b&&(null==$?void 0:$.text)&&(null==$?void 0:$.onClick);return e.createElement(c,{$borderRadius:k.borderRadius,$isCompleted:b,$padding:j},e.createElement(a,{onClick:function(){"accordion"===v&&w(!h)},style:{cursor:"accordion"===v?"pointer":"default"}},k.widgetIconType!==i.NONE&&e.createElement(m,{$iconType:k.widgetIconType},x),e.createElement(s,null,e.createElement(d,null,y),e.createElement(p,null,g)),"card"===v?e.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},b&&e.createElement(o,null),I&&e.createElement(l,{button:k.button,paddingSize:"small",fontSize:"textSMMedium",onClick:$.onClick},$.text)):e.createElement(u,{$isOpen:h},e.createElement(r,null))),"accordion"===v&&e.createElement(f,{$isOpen:h},e.createElement(E,{$isOpen:h},C)))});export{y as default};
1
+ import{observer as e}from"mobx-react";import t,{useState as n}from"react";import{CheckCircleFill as i}from"../../../assets/icons/check-circle-fill.js";import{ChevronLeft as o}from"../../../assets/icons/chevron-left.js";import{WidgetIconTypeEnum as l}from"../../../models/loyalty-widget/types/index.js";import r from"../button/index.js";import{Container as c,Header as a,IconWrapper as m,Content as d,Title as s,Description as p,ArrowButton as u,AccordionWrapper as f,AccordionInner as E}from"./style.js";var g=e(function(e){var g=e.title,y=e.description,x=e.icon,$=e.action,b=e.isCompleted,v=e.mode,C=e.children,j=e.padding,k=e.settings,O=n(!1),h=O[0],w=O[1],I=!b&&(null==$?void 0:$.text)&&(null==$?void 0:$.onClick);return t.createElement(c,{$borderRadius:k.borderRadius,$isCompleted:b,$padding:j},t.createElement(a,{onClick:function(){"accordion"===v&&w(!h)},style:{cursor:"accordion"===v?"pointer":"default"}},k.widgetIconType!==l.NONE&&t.createElement(m,{$iconType:k.widgetIconType},x),t.createElement(d,null,t.createElement(s,null,g),t.createElement(p,null,y)),"card"===v?t.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},b&&t.createElement(i,null),I&&t.createElement(r,{button:k.button,paddingSize:"small",fontSize:"textSMMedium",onClick:$.onClick,isLoading:$.loading},$.text)):t.createElement(u,{$isOpen:h},t.createElement(o,null))),"accordion"===v&&t.createElement(f,{$isOpen:h},t.createElement(E,{$isOpen:h},C)))});export{g as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as t}from"mobx-react";import{WidgetMode as o}from"../../../models/types/index.js";import{Container as r,Logo as a,Emoji as i}from"./style.js";var m=t(function(t){var m=t.viewModel,l=m.loyaltyWidget.miniModeLogo;return e.createElement(r,{$hasImg:!!l.src,onClick:function(e){e.stopPropagation(),m.setWidgetMode(o.WIDGET_MODE)}},l&&l.src?e.createElement(a,{src:l.src,alt:"Loyalty Widget"}):e.createElement(i,null,"🚀"))});export{m as default};
1
+ import{observer as e}from"mobx-react";import t from"react";import{WidgetMode as o}from"../../../models/types/index.js";import{Container as r,Logo as a,Emoji as i}from"./style.js";var m=e(function(e){var m=e.viewModel,l=m.loyaltyWidget.miniModeLogo;return t.createElement(r,{$hasImg:!!l.src,onClick:function(e){e.stopPropagation(),m.setWidgetMode(o.WIDGET_MODE)}},l&&l.src?t.createElement(a,{src:l.src,alt:"Loyalty Widget"}):t.createElement(i,null,"🚀"))});export{m as default};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t,__spreadArray as n}from'./../ext/tslib/tslib.es6.mjs.js';import r,{useState as i,useRef as o,useEffect as s}from"react";import{observer as c}from"mobx-react";import'./../ext/react-i18next/dist/es/context.js';import{I18nextProvider as a}from'./../ext/react-i18next/dist/es/I18nextProvider.js';import l from"./utils/i18n.js";import{WidgetMode as d,LoyaltyWidgetScreenTypeEnum as u,EarningMethodTypeEnum as f,LoyaltyProgramFilterTypeEnum as m,LoyaltyProgramMethodSpendingTypeEnum as E}from"../models/types/index.js";import{WidgetPositionEnum as v,LoyaltyWidgetLayoutTypeEnum as y}from"../models/loyalty-widget/types/index.js";import g from"./screens/main-screen/index.js";import p from"./screens/credit-spending-methods-screen/index.js";import h from"./screens/credit-earning-methods-screen/index.js";import R from"./screens/credit-history-screen/index.js";import M from"./screens/loyalty-level-screen/index.js";import w from"./components/mini-mode-button/index.js";import T from"./components/mini-mode-description/index.js";import{LoyaltyWidgetViewModel as _}from"../models/index.js";import{LoyaltyWidget as b}from"../models/loyalty-widget/index.js";import{LoyaltyProgramSpendingMethod as C}from"../models/loyalty-program-spending-method/index.js";import{LoyaltyCustomerInfo as I}from"../models/loyalty-customer-info/index.js";import{LoyaltyProgramEarningMethod as k}from"../models/loyalty-program-earning-method/index.js";import{LoyaltyProgramPointHistory as O}from"../models/loyalty-program-point-history/index.js";import{Container as A,MiniModeWrapper as S,Panel as N,ScreenWrapper as D}from"./style.js";var L=c(function(c){var L,P,x=c.config,j=i(function(){var e=x||window.ikasLoyaltyWidgetConfig;return new _({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.locale)||"",(null==e?void 0:e.storeURL)||null,null==e?void 0:e.isPreviewMode,null==e?void 0:e.callbacks)})[0],U=o(!0);s(function(){var e=x||window.ikasLoyaltyWidgetConfig;(null==e?void 0:e.onViewModelInitialized)&&e.onViewModelInitialized(j)},[j,x]);var W=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 j.callbacks?(e=new Set,r=new Set,i=new Set,o=new Set,j.earningMethods.forEach(function(t){var s,c;t.methodType===f.ORDER_CREATE&&n(n([],(null===(s=t.orderSettings)||void 0===s?void 0:s.productFilters)||[],!0),(null===(c=t.productSettings)||void 0===c?void 0:c.productFilters)||[],!0).forEach(function(t){t.type===m.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){return e.add(t)}):t.type===m.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===m.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===m.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),j.spendingMethods&&j.spendingMethods.forEach(function(t){var n,s;t.type===E.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===m.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){return e.add(t)}):t.type===m.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===m.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===m.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),s=[],e.size>0&&j.callbacks.getProducts&&s.push(j.callbacks.getProducts(Array.from(e)).then(function(e){return j.products=e})),r.size>0&&j.callbacks.getCategories&&s.push(j.callbacks.getCategories(Array.from(r)).then(function(e){return j.categories=e})),i.size>0&&j.callbacks.getBrands&&s.push(j.callbacks.getBrands(Array.from(i)).then(function(e){return j.brands=e})),o.size>0&&j.callbacks.getTags&&s.push(j.callbacks.getTags(Array.from(o)).then(function(e){return j.tags=e})),[4,Promise.all(s)]):[2];case 1:return t.sent(),[2]}})})};s(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(!j.callbacks)return[3,6];t.label=1;case 1:return t.trys.push([1,4,5,6]),e=[j.callbacks.getLoyaltyWidget(),j.callbacks.listEarningMethods(),j.callbacks.listLoyaltyProgramTier({})],[4,Promise.all(e)];case 2:return n=t.sent(),r=n[0],i=n[1],o=n[2],j.loyaltyWidget=r instanceof b?r:new b(r||{}),j.earningMethods=i.map(function(e){return new k(e)}),j.tiers=o||[],[4,W()];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 U.current=!1,[7];case 6:return[2]}})})},[]),s(function(){if(window.IkasEvents){var e="ikas-loyalty-widget-subscriber";try{window.IkasEvents.subscribe({id:e,callback:function(e){var t,n,r,i=e.type;if("CUSTOMER_LOGIN"===i){var o=null===(t=e.data)||void 0===t?void 0:t.customer;o&&(j.ikasEventUser=o)}else"CUSTOMER_LOGOUT"===i&&(j.ikasEventUser=null);if("ADD_TO_CART"===i||"REMOVE_FROM_CART"===i){var s=null===(r=null===(n=e.data)||void 0===n?void 0:n.cart)||void 0===r?void 0:r.id;s&&(j.cartId=s),["CUSTOMER_LOGIN","CUSTOMER_LOGOUT"].includes(i)?(j.userRefreshTrigger++,j.cartRefreshTrigger++):["ADD_TO_CART","REMOVE_FROM_CART"].includes(i)&&j.cartRefreshTrigger++}}})}catch(e){console.error("Failed to subscribe to IkasEvents",e)}return function(){var t;(null===(t=window.IkasEvents)||void 0===t?void 0:t.unsubscribe)&&window.IkasEvents.unsubscribe(e)}}},[j]),s(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(!j.callbacks||!(null===(o=j.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([j.callbacks.getLoyaltyCustomerInfo(),j.callbacks.listLoyaltyProgramPointHistory({})])];case 2:return e=t.sent(),n=e[0],r=e[1],j.user=n?new I(n):null,j.pointHistory=r?r.map(function(e){return new O(e)}):[],[3,4];case 3:return i=t.sent(),console.error("Failed to fetch user data",i),[3,4];case 4:return[2]}})})},[null===(L=j.ikasEventUser)||void 0===L?void 0:L.id,j.userRefreshTrigger]),s(function(){e(void 0,void 0,void 0,function(){var e,n;return t(this,function(t){switch(t.label){case 0:if(!j.callbacks)return[3,5];t.label=1;case 1:return t.trys.push([1,4,,5]),[4,j.callbacks.listSpendingMethodsByCartId(j.cartId)];case 2:return e=t.sent(),j.spendingMethods=e.map(function(e){return new C(e)}),[4,W()];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[2]}})})},[j.cartId,j.cartRefreshTrigger]);var G=function(e){j.selectedScreen=e},$=function(){j.setWidgetMode(d.MINI_MODE),setTimeout(function(){j.selectedScreen=u.MAIN_SCREEN},300)};s(function(){return j.currentWidgetMode===d.WIDGET_MODE?document.body.style.overflow="hidden":document.body.style.overflow="",function(){document.body.style.overflow=""}},[j.currentWidgetMode]);var F=j.selectedScreen===u.MAIN_SCREEN,B=i(null),V=B[0],z=B[1];s(function(){j.selectedScreen!==u.MAIN_SCREEN&&z(j.selectedScreen)},[j.selectedScreen]);var H=F?V:j.selectedScreen,Y=j.loyaltyWidget.settings.position||v.RIGHT,q=j.loyaltyWidget.settings.type||y.DRAWER;return r.createElement(a,{i18n:l},r.createElement(A,{$layoutType:q,$widgetPosition:Y,$widgetMode:j.currentWidgetMode,$position:(null==x?void 0:x.position)||(null===(P=window.ikasLoyaltyWidgetConfig)||void 0===P?void 0:P.position)||"fixed",onClick:function(){j.currentWidgetMode===d.WIDGET_MODE&&$()}},r.createElement(S,{$isVisible:j.currentWidgetMode===d.MINI_MODE,$widgetPosition:Y},r.createElement(T,{viewModel:j}),r.createElement(w,{viewModel:j})),r.createElement(N,{$layoutType:q,$isOpen:j.currentWidgetMode===d.WIDGET_MODE,$widgetPosition:Y,onClick:function(e){return e.stopPropagation()}},r.createElement(D,{$isActive:F,$isMain:!0},r.createElement(g,{viewModel:j,onClose:$,onNavigate:G})),r.createElement(D,{$isActive:!F,$isMain:!1},function(){switch(H){case u.CREDIT_SPENDING_METHODS_SCREEN:return r.createElement(p,{viewModel:j,onBack:function(){return G(u.MAIN_SCREEN)},onClose:$});case u.CREDIT_EARNING_METHODS_SCREEN:return r.createElement(h,{viewModel:j,onBack:function(){return G(u.MAIN_SCREEN)},onClose:$});case u.CREDIT_HISTORY_SCREEN:return r.createElement(R,{viewModel:j,onBack:function(){return G(u.MAIN_SCREEN)},onClose:$});case u.LOYALTY_LEVEL_SCREEN:return r.createElement(M,{viewModel:j,onBack:function(){return G(u.MAIN_SCREEN)},onClose:$});default:return null}}()))))});export{L as default};
1
+ import{__awaiter as e,__generator as t,__spreadArray as n}from'./../ext/tslib/tslib.es6.mjs.js';import{observer as r}from"mobx-react";import i,{useState as o,useEffect as s}from"react";import'./../ext/react-i18next/dist/es/context.js';import{I18nextProvider as a}from'./../ext/react-i18next/dist/es/I18nextProvider.js';import{LoyaltyWidgetViewModel as c}from"../models/index.js";import{LoyaltyCustomerInfo as l}from"../models/loyalty-customer-info/index.js";import{LoyaltyProgramEarningMethod as d}from"../models/loyalty-program-earning-method/index.js";import{LoyaltyProgramPointHistory as u}from"../models/loyalty-program-point-history/index.js";import{LoyaltyProgramSpendingMethod as f}from"../models/loyalty-program-spending-method/index.js";import{LoyaltyWidget as m}from"../models/loyalty-widget/index.js";import{WidgetPositionEnum as v,LoyaltyWidgetLayoutTypeEnum as E}from"../models/loyalty-widget/types/index.js";import{WidgetMode as g,LoyaltyWidgetScreenTypeEnum as p,EarningMethodTypeEnum as y,LoyaltyProgramFilterTypeEnum as h,LoyaltyProgramMethodSpendingTypeEnum as R}from"../models/types/index.js";import w from"./components/mini-mode-button/index.js";import T from"./components/mini-mode-description/index.js";import b from"./screens/credit-earning-methods-screen/index.js";import M from"./screens/credit-history-screen/index.js";import I from"./screens/credit-spending-methods-screen/index.js";import k from"./screens/loyalty-level-screen/index.js";import C from"./screens/main-screen/index.js";import _ from"./utils/i18n.js";import{Container as S,MiniModeWrapper as A,Panel as N,ScreenWrapper as D}from"./style.js";var O=r(function(r){var O,P,L=r.config,x=o(function(){var e=L||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.locale)||"",(null==e?void 0:e.storeURL)||null,null==e?void 0:e.isPreviewMode,null==e?void 0:e.callbacks)})[0],j=o(!1),U=j[0],W=j[1];s(function(){var e=L||window.ikasLoyaltyWidgetConfig;(null==e?void 0:e.onViewModelInitialized)&&e.onViewModelInitialized(x)},[x,L]);var G=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 x.callbacks?(e=new Set,r=new Set,i=new Set,o=new Set,x.earningMethods.forEach(function(t){var s,a;t.methodType===y.ORDER_CREATE&&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===h.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){return e.add(t)}):t.type===h.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===h.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===h.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),x.spendingMethods&&x.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===h.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){return e.add(t)}):t.type===h.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===h.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===h.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),s=[],e.size>0&&x.callbacks.getProducts&&s.push(x.callbacks.getProducts(Array.from(e)).then(function(e){return x.products=e})),r.size>0&&x.callbacks.getCategories&&s.push(x.callbacks.getCategories(Array.from(r)).then(function(e){return x.categories=e})),i.size>0&&x.callbacks.getBrands&&s.push(x.callbacks.getBrands(Array.from(i)).then(function(e){return x.brands=e})),o.size>0&&x.callbacks.getTags&&s.push(x.callbacks.getTags(Array.from(o)).then(function(e){return x.tags=e})),[4,Promise.all(s)]):[2];case 1:return t.sent(),[2]}})})};s(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(!x.callbacks)return[3,6];t.label=1;case 1:return t.trys.push([1,4,5,6]),e=[x.callbacks.getLoyaltyWidget(),x.callbacks.listEarningMethods(),x.callbacks.listLoyaltyProgramTier({})],[4,Promise.all(e)];case 2:return n=t.sent(),r=n[0],i=n[1],o=n[2],x.loyaltyWidget=r instanceof m?r:new m(r||{}),x.earningMethods=i.map(function(e){return new d(e)}),x.tiers=o||[],[4,G()];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 W(!0),[7];case 6:return[2]}})})},[]),s(function(){if(window.IkasEvents){var e=function(e){var t,n=null===(t=e.data)||void 0===t?void 0:t.customer;n&&(x.ikasEventUser=n),x.userRefreshTrigger++,x.cartRefreshTrigger++},t=function(e){var t,n,r=null===(n=null===(t=e.data)||void 0===t?void 0:t.cart)||void 0===n?void 0:n.id;r&&(x.cartId=r),x.cartRefreshTrigger++},n={CUSTOMER_LOGIN:e,CUSTOMER_VISIT:e,CUSTOMER_LOGOUT:function(){x.ikasEventUser=null,x.userRefreshTrigger++,x.cartRefreshTrigger++},ADD_TO_CART:t,REMOVE_FROM_CART:t,PAGE_VIEW:function(e){var t,n,r=null===(t=e.data)||void 0===t?void 0:t.customer;if(r){var i=!x.ikasEventUser,o=(null===(n=x.ikasEventUser)||void 0===n?void 0:n.subscriptionStatus)!==r.subscriptionStatus;(i||o)&&(x.ikasEventUser=r,x.userRefreshTrigger++,x.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)}}},[x]),s(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(!x.callbacks||!(null===(o=x.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([x.callbacks.getLoyaltyCustomerInfo(),x.callbacks.listLoyaltyProgramPointHistory({})])];case 2:return e=t.sent(),n=e[0],r=e[1],x.user=n?new l(n):null,x.pointHistory=r?r.map(function(e){return new u(e)}):[],[3,4];case 3:return i=t.sent(),console.error("Failed to fetch user data",i),[3,4];case 4:return[2]}})})},[null===(O=x.ikasEventUser)||void 0===O?void 0:O.id,x.userRefreshTrigger]),s(function(){e(void 0,void 0,void 0,function(){var e,n;return t(this,function(t){switch(t.label){case 0:if(!x.callbacks)return[3,5];t.label=1;case 1:return t.trys.push([1,4,,5]),[4,x.callbacks.listSpendingMethodsByCartId(x.cartId)];case 2:return e=t.sent(),x.spendingMethods=e.map(function(e){return new f(e)}),[4,G()];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[2]}})})},[x.cartId,x.cartRefreshTrigger]);var $=function(e){x.selectedScreen=e},B=function(){x.setWidgetMode(g.MINI_MODE),setTimeout(function(){x.selectedScreen=p.MAIN_SCREEN},300)};s(function(){return x.currentWidgetMode===g.WIDGET_MODE?document.body.style.overflow="hidden":document.body.style.overflow="",function(){document.body.style.overflow=""}},[x.currentWidgetMode]);var F=x.selectedScreen===p.MAIN_SCREEN,V=o(null),z=V[0],H=V[1];s(function(){x.selectedScreen!==p.MAIN_SCREEN&&H(x.selectedScreen)},[x.selectedScreen]);var Y=F?z:x.selectedScreen,q=x.loyaltyWidget.settings.position||v.RIGHT,J=x.loyaltyWidget.settings.type||E.DRAWER;return U?i.createElement(a,{i18n:_},i.createElement(S,{$layoutType:J,$widgetPosition:q,$widgetMode:x.currentWidgetMode,$position:(null==L?void 0:L.position)||(null===(P=window.ikasLoyaltyWidgetConfig)||void 0===P?void 0:P.position)||"fixed",onClick:function(){x.currentWidgetMode===g.WIDGET_MODE&&B()}},i.createElement(A,{$isVisible:x.currentWidgetMode===g.MINI_MODE,$widgetPosition:q},i.createElement(T,{viewModel:x}),i.createElement(w,{viewModel:x})),i.createElement(N,{$layoutType:J,$isOpen:x.currentWidgetMode===g.WIDGET_MODE,$widgetPosition:q,onClick:function(e){return e.stopPropagation()}},i.createElement(D,{$isActive:F,$isMain:!0},i.createElement(C,{viewModel:x,onClose:B,onNavigate:$})),i.createElement(D,{$isActive:!F,$isMain:!1},function(){switch(Y){case p.CREDIT_SPENDING_METHODS_SCREEN:return i.createElement(I,{viewModel:x,onBack:function(){return $(p.MAIN_SCREEN)},onClose:B});case p.CREDIT_EARNING_METHODS_SCREEN:return i.createElement(b,{viewModel:x,onBack:function(){return $(p.MAIN_SCREEN)},onClose:B});case p.CREDIT_HISTORY_SCREEN:return i.createElement(M,{viewModel:x,onBack:function(){return $(p.MAIN_SCREEN)},onClose:B});case p.LOYALTY_LEVEL_SCREEN:return i.createElement(k,{viewModel:x,onBack:function(){return $(p.MAIN_SCREEN)},onClose:B});default:return null}}())))):null});export{O as default};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"react";import{observer as n}from"mobx-react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import i from"../main-screen/earning-methods-section/index.js";import{ChevronLeft as s}from"../../../assets/icons/chevron-left.js";import{XClose as c}from"../../../assets/icons/x-close.js";import{Container as l,Header as a,IconButton as m,Title as d,Content as u}from"./style.js";import{EarningMethodTypeEnum as f,WidgetMode as p}from"../../../models/types/index.js";var E=n(function(n){var E=n.viewModel,b=n.onBack,g=n.onClose,v=r().t;return o.createElement(l,null,o.createElement(a,null,o.createElement(m,{onClick:b},o.createElement(s,null)),o.createElement(d,null,v("screens.creditEarningMethods")),o.createElement(m,{onClick:g},o.createElement(c,null))),o.createElement(u,null,o.createElement(i,{containerStyle:{paddingRight:16,paddingLeft:16},viewModel:E,getActionProps:function(o){return o.methodType===f.CUSTOMER_REGISTER?{actionText:v("common.create"),onClick:function(){E.storeUrl&&(E.setWidgetMode(p.MINI_MODE),window.location.href="".concat(E.storeUrl,"/account/register"))}}:o.methodType===f.ENABLE_SUBSCRIPTION?{actionText:v("common.allow"),onClick:function(){return e(void 0,void 0,void 0,function(){var e;return t(this,function(t){switch(t.label){case 0:return(null===(e=E.callbacks)||void 0===e?void 0:e.subscribeToMarketingNotifications)?[4,E.callbacks.subscribeToMarketingNotifications()]:[3,2];case 1:t.sent()&&(E.ikasEventUser.subscriptionStatus="SUBSCRIBED",E.userRefreshTrigger++),t.label=2;case 2:return[2]}})})}}:null}})))});export{E as default};
1
+ import{__awaiter as e,__generator as t,__assign as o}from'./../../../ext/tslib/tslib.es6.mjs.js';import{observer as n}from"mobx-react";import i 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 c}from"../../../assets/icons/x-close.js";import{EarningMethodTypeEnum as l,WidgetMode as a}from"../../../models/types/index.js";import m from"../main-screen/earning-methods-section/index.js";import{Container as d,Header as u,IconButton as f,Title as E,Content as p}from"./style.js";var g=n(function(n){var g=n.viewModel,v=n.onBack,b=n.onClose,k=r().t;return i.createElement(d,null,i.createElement(u,null,i.createElement(f,{onClick:v},i.createElement(s,null)),i.createElement(E,null,k("screens.creditEarningMethods")),i.createElement(f,{onClick:b},i.createElement(c,null))),i.createElement(p,null,i.createElement(m,{containerStyle:{paddingRight:16,paddingLeft:16},viewModel:g,getActionProps:function(n){return n.methodType===l.CUSTOMER_REGISTER?{actionText:k("common.create"),onClick:function(){g.storeUrl&&(g.setWidgetMode(a.MINI_MODE),window.location.href="".concat(g.storeUrl,"/account/register"))}}:n.methodType===l.ENABLE_SUBSCRIPTION?{loading:g.isActionLoading,actionText:k("common.allow"),onClick:function(){return e(void 0,void 0,void 0,function(){var e;return t(this,function(t){switch(t.label){case 0:return(null===(e=g.callbacks)||void 0===e?void 0:e.subscribeToMarketingNotifications)?(g.isActionLoading=!0,[4,g.callbacks.subscribeToMarketingNotifications()]):[3,2];case 1:t.sent()&&(g.ikasEventUser=o(o({},g.ikasEventUser),{subscriptionStatus:"SUBSCRIBED"}),g.userRefreshTrigger++),g.isActionLoading=!1,t.label=2;case 2:return[2]}})})}}:null}})))});export{g as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as t}from"mobx-react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{XClose as r}from"../../../assets/icons/x-close.js";import{ChevronLeft as l}from"../../../assets/icons/chevron-left.js";import{Container as a,Header as o,IconButton as m,Title as c,Content as i,PointsSection as s,PointsTitle as u,PointsValue as d,HistoryList as E,HistoryItem as f,HistoryItemLeft as p,HistoryItemTitle as y,HistoryItemDate as h,HistoryItemAmount as x,Divider as j}from"./style.js";import{LoyaltyProgramPointHistoryTypeEnum as g}from"../../../models/types/index.js";var v=t(function(t){var v=t.viewModel,k=t.onBack,T=t.onClose,w=n().t,C=v.user,R=v.pointHistory,b=v.locale;return e.createElement(a,null,e.createElement(o,null,e.createElement(m,{onClick:k},e.createElement(l,null)),e.createElement(c,null,w("screens.creditHistory")),e.createElement(m,{onClick:T},e.createElement(r,null))),e.createElement(i,null,C&&e.createElement(s,{$borderRadius:v.loyaltyWidget.settings.cartBorderRadius},e.createElement(u,null,w("header.earnedPoints")),e.createElement(d,null,C.totalPoint)),e.createElement(E,null,R.map(function(t,n){var r=t.type===g.EARN;return e.createElement(e.Fragment,{key:t.id},e.createElement(f,null,e.createElement(p,null,e.createElement(y,null,w(r?"history.earnedTitle":"history.spentTitle")),e.createElement(h,null,function(e){if(!e)return"";try{return new Intl.DateTimeFormat(b,{day:"numeric",month:"long",year:"numeric"}).format(new Date(e))}catch(t){return e}}(t.createdAt))),e.createElement(x,{$isEarn:r},r?"":"-",t.amount)),n<R.length-1&&e.createElement(j,null))}))))});export{v 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{XClose as r}from"../../../assets/icons/x-close.js";import{ChevronLeft as l}from"../../../assets/icons/chevron-left.js";import{LoyaltyProgramPointHistoryTypeEnum as o}from"../../../models/types/index.js";import a from"../../components/count-up/index.js";import{Container as m,Header as c,IconButton as i,Title as s,Content as u,PointsSection as d,PointsTitle as E,PointsValue as p,HistoryList as f,HistoryItem as y,HistoryItemLeft as x,HistoryItemTitle as h,HistoryItemDate as j,HistoryItemAmount as g,Divider as v}from"./style.js";var k=e(function(e){var k=e.viewModel,T=e.onBack,w=e.onClose,C=n().t,R=k.user,b=k.pointHistory,A=k.locale;return t.createElement(m,null,t.createElement(c,null,t.createElement(i,{onClick:T},t.createElement(l,null)),t.createElement(s,null,C("screens.creditHistory")),t.createElement(i,{onClick:w},t.createElement(r,null))),t.createElement(u,null,R&&t.createElement(d,{$borderRadius:k.loyaltyWidget.settings.cartBorderRadius},t.createElement(E,null,C("header.earnedPoints")),t.createElement(p,null,t.createElement(a,{end:R.totalPoint}))),t.createElement(f,null,b.map(function(e,n){var r=e.type===o.EARN;return t.createElement(t.Fragment,{key:e.id},t.createElement(y,null,t.createElement(x,null,t.createElement(h,null,C(r?"history.earnedTitle":"history.spentTitle")),t.createElement(j,null,function(e){if(!e)return"";try{return new Intl.DateTimeFormat(A,{day:"numeric",month:"long",year:"numeric"}).format(new Date(e))}catch(t){return e}}(e.createdAt))),t.createElement(g,{$isEarn:r},r?"":"-",e.amount)),n<b.length-1&&t.createElement(v,null))}))))});export{k as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as t}from"mobx-react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import r from"../main-screen/spending-methods-section/index.js";import{ChevronLeft as o}from"../../../assets/icons/chevron-left.js";import{XClose as l}from"../../../assets/icons/x-close.js";import{Container as s,Header as i,IconButton as a,Title as c,Content as m,PointsSection as d,PointsTitle as u,PointsValue as p}from"./style.js";var E=t(function(t){var E=t.viewModel,f=t.onBack,x=t.onClose,j=n().t,g=E.user;return e.createElement(s,null,e.createElement(i,null,e.createElement(a,{onClick:f},e.createElement(o,null)),e.createElement(c,null,j("screens.creditSpendingMethods")),e.createElement(a,{onClick:x},e.createElement(l,null))),e.createElement(m,null,g&&e.createElement(d,{$borderRadius:E.loyaltyWidget.settings.cartBorderRadius},e.createElement(u,null,j("header.earnedPoints")),e.createElement(p,null,g.totalPoint)),e.createElement(r,{viewModel:E,mode:"accordion",getActionProps:function(e){return null}})))});export{E 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{ChevronLeft as o}from"../../../assets/icons/chevron-left.js";import{XClose as r}from"../../../assets/icons/x-close.js";import l from"../../components/count-up/index.js";import s from"../main-screen/spending-methods-section/index.js";import{Container as i,Header as a,IconButton as c,Title as m,Content as d,PointsSection as u,PointsTitle as p,PointsValue as f}from"./style.js";var E=e(function(e){var E=e.viewModel,v=e.onBack,x=e.onClose,j=n().t,g=E.user;return t.createElement(i,null,t.createElement(a,null,t.createElement(c,{onClick:v},t.createElement(o,null)),t.createElement(m,null,j("screens.creditSpendingMethods")),t.createElement(c,{onClick:x},t.createElement(r,null))),t.createElement(d,null,g&&t.createElement(u,{$borderRadius:E.loyaltyWidget.settings.cartBorderRadius},t.createElement(p,null,j("header.earnedPoints")),t.createElement(f,null,t.createElement(l,{end:g.totalPoint}))),t.createElement(s,{viewModel:E,mode:"accordion",methods:E.spendingMethods.slice().sort(function(e,t){return e.isAvailable===t.isAvailable?0:e.isAvailable?-1:1}),getActionProps:function(e){return null}})))});export{E as default};
@@ -1 +1 @@
1
- import{__spreadArray as e}from'./../../../ext/tslib/tslib.es6.mjs.js';import t,{useMemo as n}from"react";import{observer as r}from"mobx-react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{ChevronLeft as o}from"../../../assets/icons/chevron-left.js";import{XClose as i}from"../../../assets/icons/x-close.js";import{Container as a,Header as c,IconButton as s,Title as u,Content as m,PointsSection as d,PointsText as p,PointsValue as E,ProgressBarContainer as f,ProgressBarFill as y,DescriptionText as v,TimelineContainer as g,TimelineItem as x,TimelineLine as R,CheckIconContainer as P,CurrentIndicator as h,CurrentIndicatorDot as j,UpcomingIndicator as q,TimelineContent as b,TimelineTitle as L,TimelineDescription as $,MultiplierSection as k,MultiplierValue as S}from"./style.js";import{Check as T}from"../../../assets/icons/check.js";var C=r(function(r){var C=r.viewModel,M=r.onBack,I=r.onClose,B=l().t,W=C.user,_=C.tiers,N=n(function(){return e([],_,!0).sort(function(e,t){return(e.pointsRequired||0)-(t.pointsRequired||0)})},[_]),w=n(function(){return(null==W?void 0:W.customerTierId)?N.findIndex(function(e){var t;return e.id===(null===(t=W.customerTierId)||void 0===t?void 0:t.id)}):-1},[N,null==W?void 0:W.customerTierId]),z=n(function(){return W?-1===w?N.find(function(e){return(e.pointsRequired||0)>W.totalPoint})||N[0]:N[w+1]||null:null},[N,w,W]),A=n(function(){return W?z?0===(z.pointsRequired||0)?100:Math.min(W.totalPoint/(z.pointsRequired||1)*100,100):100:0},[W,z]),D=n(function(){return W&&z?Math.max(0,(z.pointsRequired||0)-W.totalPoint):0},[W,z]);return W?t.createElement(a,null,t.createElement(c,null,t.createElement(s,{onClick:M},t.createElement(o,null)),t.createElement(u,null,B("screens.loyaltyLevel")),t.createElement(s,{onClick:I},t.createElement(i,null))),t.createElement(m,null,t.createElement(d,{$borderRadius:C.loyaltyWidget.settings.cartBorderRadius},t.createElement("div",null,t.createElement(p,null,B("header.earnedPoints")),t.createElement(E,null,W.totalPoint," ",B("common.points"))),t.createElement(f,null,t.createElement(y,{$percentage:A,$color:C.loyaltyWidget.header.background.bgColor||void 0})),t.createElement(v,null,z?B("screens.loyaltyLevelScreen.reachNextTier",{tierName:z.name,points:D}):B("screens.loyaltyLevelScreen.allTiersCompleted"))),t.createElement(g,null,N.map(function(e,n){var r="upcoming";w>-1?r=n<w?"completed":n===w?"current":"upcoming":W.totalPoint>=(e.pointsRequired||0)&&(r="completed");var l=n===N.length-1;return t.createElement(x,{key:e.id},t.createElement(R,{$isLast:l}),"completed"===r?t.createElement(P,null,t.createElement(T,null)):"current"===r?t.createElement(h,null,t.createElement(j,null)):t.createElement(q,null),t.createElement(b,null,t.createElement(L,{$status:r},e.name),t.createElement($,{$status:r},e.pointsRequired||0," ",B("common.points")," ",B("screens.loyaltyLevelScreen.afterEarning")),(e.tierPointMultiplier||1)>1&&t.createElement(k,{$borderRadius:C.loyaltyWidget.settings.cartBorderRadius},B("screens.loyaltyLevelScreen.multiplierPrefix")," ",t.createElement(S,null,e.tierPointMultiplier||1,"x")," ",B("screens.loyaltyLevelScreen.multiplierSuffix"))))})))):null});export{C as default};
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'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{XClose as o}from"../../../assets/icons/x-close.js";import{ChevronLeft as i}from"../../../assets/icons/chevron-left.js";import{Check as a}from"../../../assets/icons/check.js";import c 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 f,PointsValue as y,ProgressBarContainer as v,ProgressBarFill as x,DescriptionText as g,TimelineContainer as R,TimelineItem as j,TimelineLine as P,CheckIconContainer as h,CurrentIndicator as q,CurrentIndicatorDot as b,UpcomingIndicator as L,TimelineContent as $,TimelineTitle as k,TimelineDescription as S,MultiplierSection as T,MultiplierValue as C}from"./style.js";var M=t(function(t){var M=t.viewModel,I=t.onBack,B=t.onClose,W=l().t,_=M.user,N=M.tiers,w=r(function(){return e([],N,!0).sort(function(e,t){return(e.pointsRequired||0)-(t.pointsRequired||0)})},[N]),z=r(function(){return(null==_?void 0:_.customerTierId)?w.findIndex(function(e){var t;return e.id===(null===(t=_.customerTierId)||void 0===t?void 0:t.id)}):-1},[w,null==_?void 0:_.customerTierId]),A=r(function(){return _?-1===z?w.find(function(e){return(e.pointsRequired||0)>_.totalPoint})||w[0]:w[z+1]||null:null},[w,z,_]),D=r(function(){return _?A?0===(A.pointsRequired||0)?100:Math.min(_.totalPoint/(A.pointsRequired||1)*100,100):100:0},[_,A]),F=r(function(){return _&&A?Math.max(0,(A.pointsRequired||0)-_.totalPoint):0},[_,A]);return _?n.createElement(s,null,n.createElement(u,null,n.createElement(m,{onClick:I},n.createElement(i,null)),n.createElement(d,null,W("screens.loyaltyLevel")),n.createElement(m,{onClick:B},n.createElement(o,null))),n.createElement(p,null,n.createElement(E,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},n.createElement("div",null,n.createElement(f,null,W("header.earnedPoints")),n.createElement(y,null,n.createElement(c,{end:_.totalPoint})," ",W("common.points"))),n.createElement(v,null,n.createElement(x,{$percentage:D,$color:M.loyaltyWidget.header.background.bgColor||void 0})),n.createElement(g,null,A?W("screens.loyaltyLevelScreen.reachNextTier",{tierName:A.name,points:F}):W("screens.loyaltyLevelScreen.allTiersCompleted"))),n.createElement(R,null,w.map(function(e,t){var r="upcoming";z>-1?r=t<z?"completed":t===z?"current":"upcoming":_.totalPoint>=(e.pointsRequired||0)&&(r="completed");var l=t===w.length-1;return n.createElement(j,{key:e.id},n.createElement(P,{$isLast:l}),"completed"===r?n.createElement(h,null,n.createElement(a,null)):"current"===r?n.createElement(q,null,n.createElement(b,null)):n.createElement(L,null),n.createElement($,null,n.createElement(k,{$status:r},e.name),n.createElement(S,{$status:r},e.pointsRequired||0," ",W("common.points")," ",W("screens.loyaltyLevelScreen.afterEarning")),(e.tierPointMultiplier||1)>1&&n.createElement(T,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},W("screens.loyaltyLevelScreen.multiplierPrefix")," ",n.createElement(C,null,e.tierPointMultiplier||1,"x")," ",W("screens.loyaltyLevelScreen.multiplierSuffix"))))})))):null});export{M as default};
@@ -8,6 +8,7 @@ type SectionProps = {
8
8
  getActionProps?: (method: LoyaltyProgramEarningMethod) => {
9
9
  actionText: string;
10
10
  onClick: () => void;
11
+ loading?: boolean;
11
12
  } | null;
12
13
  };
13
14
  declare const EarningMethodsSection: React.FC<SectionProps>;
@@ -1 +1 @@
1
- import{__assign as e,__spreadArray as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import o from"react";import{observer as i}from"mobx-react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{EarningMethodTypeEnum as r}from"../../../../models/types/index.js";import{getEarningMethodTitle as d,getEarningMethodIcon as s}from"../../../../utils.js";import l from"../../../components/loyalty-method-card/index.js";import{getEarningMethodDescriptionV2 as a}from"../../../utils/loyalty-details.js";var m=i(function(e){var t,i,m=e.method,c=e.viewModel,p=e.mode,u=e.actionText,v=e.onClick,E=n(),f=E.t,y=E.i18n,g=c.loyaltyWidget,x=y.language,T=null===(t=m.translations)||void 0===t?void 0:t.find(function(e){return e.locale===x}),h=(null==T?void 0:T.description)||m.description||d(m),R=s(m.methodType,g.settings.widgetIconType),S=m.orderSettings,C=(null==S?void 0:S.productFilters)||[],I=m.methodType===r.ORDER_CREATE&&S&&(S.minOrderAmount>0||(null!==(i=S.maxOrderAmount)&&void 0!==i?i:0)>0||C.length>0),j=I?"accordion":p,k="",M="";if(I){k=f("earningMethods.xPoints",{points:m.pointsEarned});var U=a(f,m,c);U&&(M=o.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},U))}else k=a(f,m,c)||f("earningMethods.xPoints",{points:m.pointsEarned});var _=!!c.ikasEventUser&&m.methodType===r.CUSTOMER_REGISTER||!!c.ikasEventUser&&m.methodType===r.ENABLE_SUBSCRIPTION&&"SUBSCRIBED"===c.ikasEventUser.subscriptionStatus;return o.createElement(l,{title:h,description:k,icon:R,action:u&&v?{text:u,onClick:v}:void 0,isCompleted:_,mode:j,settings:{borderRadius:g.settings.cartBorderRadius,widgetIconType:g.settings.widgetIconType,button:g.button}},M)}),c=i(function(i){var n=i.viewModel,d=i.containerStyle,s=i.mode,l=void 0===s?"card":s,a=i.getActionProps,c=n.earningMethods;return o.createElement("div",{style:e({display:"flex",flexDirection:"column",gap:"12px",padding:"0 24px"},d)},t([],c,!0).sort(function(e,t){var o=function(e){return e===r.CUSTOMER_REGISTER?0:e===r.ENABLE_SUBSCRIPTION?1:2};return o(e.methodType)-o(t.methodType)}).map(function(e){var t=a?a(e):null;return o.createElement(m,{key:e.id,method:e,viewModel:n,mode:l,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick})}))});export{c as default};
1
+ import{__assign as e,__spreadArray as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import i from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{EarningMethodTypeEnum as r}from"../../../../models/types/index.js";import d from"../../../components/loyalty-method-card/index.js";import{getEarningMethodDescriptionV2 as s}from"../../../utils/loyalty-details.js";import{getEarningMethodTitle as l,getEarningMethodIcon as a}from"../../../../utils.js";var m=o(function(e){var t,o,m=e.method,c=e.viewModel,p=e.mode,u=e.actionText,g=e.onClick,v=e.isActionLoading,E=n(),f=E.t,y=E.i18n,x=c.loyaltyWidget,T=y.language,h=null===(t=m.translations)||void 0===t?void 0:t.find(function(e){return e.locale===T}),R=(null==h?void 0:h.description)||m.description||l(m),S=a(m.methodType,x.settings.widgetIconType),C=m.orderSettings,I=(null==C?void 0:C.productFilters)||[],j=m.methodType===r.ORDER_CREATE&&C&&(C.minOrderAmount>0||(null!==(o=C.maxOrderAmount)&&void 0!==o?o:0)>0||I.length>0),A=j?"accordion":p,M="",_="";if(j){M=f("earningMethods.xPoints",{points:m.pointsEarned});var b=s(f,m,c);b&&(_=i.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},b))}else M=s(f,m,c)||f("earningMethods.xPoints",{points:m.pointsEarned});var k=!!c.user&&m.methodType===r.CUSTOMER_REGISTER||!!c.ikasEventUser&&m.methodType===r.ENABLE_SUBSCRIPTION&&"SUBSCRIBED"===c.ikasEventUser.subscriptionStatus;return i.createElement(d,{title:R,description:M,icon:S,action:u&&g?{text:u,onClick:g,loading:v}:void 0,isCompleted:k,mode:A,settings:{borderRadius:x.settings.cartBorderRadius,widgetIconType:x.settings.widgetIconType,button:x.button}},_)}),c=o(function(o){var n=o.viewModel,d=o.containerStyle,s=o.mode,l=void 0===s?"card":s,a=o.getActionProps,c=n.earningMethods;return i.createElement("div",{style:e({display:"flex",flexDirection:"column",gap:"12px",padding:"0 24px"},d)},t([],c,!0).sort(function(e,t){var o=function(e){return e===r.CUSTOMER_REGISTER?0:e===r.ENABLE_SUBSCRIPTION?1:2};return o(e.methodType)-o(t.methodType)}).map(function(e){var t=a?a(e):null;return i.createElement(m,{key:e.id,method:e,viewModel:n,mode:l,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick,isActionLoading:null==t?void 0:t.loading})}))});export{c as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as t}from"mobx-react";import'./../../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as o}from'./../../../../../ext/react-i18next/dist/es/useTranslation.js';import{WidgetMode as n}from"../../../../../models/types/index.js";import{Container as r,TitleSection as i,RegisterText as l,RegisterDescription as c,Actions as a,HaveAccount as m,Link as d}from"./style.js";import s from"../../../../components/button/index.js";var u=t(function(t){var u=o().t,f=t.viewModel,p=f.loyaltyWidget,M=f.storeUrl,g=p.button;return e.createElement(r,null,e.createElement(i,null,e.createElement(l,null,u("header.register_title")),e.createElement(c,null,u("header.registerDescription"))),e.createElement(a,null,e.createElement(s,{button:g,fontSize:"textMDMedium",paddingSize:"medium",onClick:function(){M&&(t.viewModel.setWidgetMode(n.MINI_MODE),window.location.href="".concat(M,"/account/register"))}},u("header.registerButton")),e.createElement(m,null,u("header.haveAccount")," ",e.createElement(d,{onClick:function(){M&&(t.viewModel.setWidgetMode(n.MINI_MODE),window.location.href="".concat(M,"/account/login"))}},u("common.login")))))});export{u 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 o}from'./../../../../../ext/react-i18next/dist/es/useTranslation.js';import{WidgetMode as n}from"../../../../../models/types/index.js";import r from"../../../../components/button/index.js";import{Container as i,TitleSection as l,RegisterText as c,RegisterDescription as a,Actions as m,HaveAccount as d,Link as s}from"./style.js";var u=e(function(e){var u=o().t,f=e.viewModel,p=f.loyaltyWidget,M=f.storeUrl,g=p.button;return t.createElement(i,null,t.createElement(l,null,t.createElement(c,null,u("header.register_title")),t.createElement(a,null,u("header.registerDescription"))),t.createElement(m,null,t.createElement(r,{button:g,fontSize:"textMDMedium",paddingSize:"medium",onClick:function(){M&&(e.viewModel.setWidgetMode(n.MINI_MODE),window.location.href="".concat(M,"/account/register"))}},u("header.registerButton")),t.createElement(d,null,u("header.haveAccount")," ",t.createElement(s,{onClick:function(){M&&(e.viewModel.setWidgetMode(n.MINI_MODE),window.location.href="".concat(M,"/account/login"))}},u("common.login")))))});export{u as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as t}from"mobx-react";import{Container as r,TopSection as o,CloseButton as n,Content as i,Card as l}from"./style.js";import a from"./logo-section/index.js";import s from"./title-section/index.js";import c from"./auth-user-section/index.js";import m from"./user-logged-section/index.js";import{XClose as d}from"../../../../assets/icons/x-close.js";import{ImageTypeEnum as u}from"../../../../models/loyalty-widget/types/index.js";var f=t(function(t){var f,g=t.viewModel,p=t.onClose,v=t.onCardHeightChange,y=t.headerGap,E=g.loyaltyWidget,b=g.user,h=E.header.background,x=h.bgColor,j=h.type,C=(null===(f=h.image)||void 0===f?void 0:f.src)||null,R=e.useRef(null);return e.useEffect(function(){if(v){var e=R.current;if(e){var t=function(){v(e.getBoundingClientRect().height)};if(t(),"undefined"!=typeof ResizeObserver){var r=new ResizeObserver(function(){t()});return r.observe(e),function(){r.disconnect()}}}}},[v]),e.createElement(r,null,e.createElement(o,{$bgColor:x,$bgType:j,$bgImageSrc:C,$gap:y},E.header.logo.type===u.SHOW&&E.header.logo.src&&e.createElement(a,{logo:E.header.logo}),e.createElement(s,{layout:E}),e.createElement(n,{onClick:p},e.createElement(d,null))),e.createElement(i,null,e.createElement(l,{ref:R,$borderRadius:E.settings.cartBorderRadius},b?e.createElement(m,{viewModel:g}):e.createElement(c,{viewModel:g}))))});export{f as default};
1
+ import{observer as e}from"mobx-react";import t from"react";import{XClose as r}from"../../../../assets/icons/x-close.js";import{ImageTypeEnum as o}from"../../../../models/loyalty-widget/types/index.js";import n from"./auth-user-section/index.js";import i from"./logo-section/index.js";import l from"./title-section/index.js";import a from"./user-logged-section/index.js";import{Container as s,TopSection as c,CloseButton as m,Content as d,Card as u}from"./style.js";var f=e(function(e){var f,g=e.viewModel,p=e.onClose,v=e.onCardHeightChange,h=e.headerGap,y=g.loyaltyWidget,E=g.user,b=y.header.background,x=b.bgColor,j=b.type,C=(null===(f=b.image)||void 0===f?void 0:f.src)||null,R=t.useRef(null);return t.useEffect(function(){if(v){var e=R.current;if(e){var t=function(){v(Math.round(e.getBoundingClientRect().height))};if(t(),"undefined"!=typeof ResizeObserver){var r=new ResizeObserver(function(){t()});return r.observe(e),function(){r.disconnect()}}}}},[v]),t.createElement(s,null,t.createElement(c,{$bgColor:x,$bgType:j,$bgImageSrc:C,$gap:h},y.header.logo.type===o.SHOW&&y.header.logo.src&&t.createElement(i,{logo:y.header.logo}),t.createElement(l,{layout:y}),t.createElement(m,{onClick:p},t.createElement(r,null))),t.createElement(d,null,t.createElement(u,{ref:R,$borderRadius:y.settings.cartBorderRadius},E?t.createElement(a,{viewModel:g}):t.createElement(n,{viewModel:g}))))});export{f as default};
@@ -1 +1 @@
1
- import r from"react";import{observer as t}from"mobx-react";import{Container as e,Logo as o}from"./style.js";var m=t(function(t){return r.createElement(e,null,r.createElement(o,{src:t.logo.src,alt:"Logo"}))});export{m as default};
1
+ import{observer as r}from"mobx-react";import t from"react";import{Container as e,Logo as o}from"./style.js";var m=r(function(r){return t.createElement(e,null,t.createElement(o,{src:r.logo.src,alt:"Logo"}))});export{m as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as t}from"mobx-react";import'./../../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../../../ext/react-i18next/dist/es/useTranslation.js';import{Container as o,LoyaltyProgramText as a,LoyaltyTitle as l}from"./style.js";var i=t(function(t){var i=r().t;return e.createElement(o,null,e.createElement(a,{$textColor:t.layout.header.textColor||"white"},i("header.title")),e.createElement(l,{$textColor:t.layout.header.textColor||"white"},i("header.subtitle")))});export{i 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 r}from'./../../../../../ext/react-i18next/dist/es/useTranslation.js';import{Container as o,LoyaltyProgramText as a,LoyaltyTitle as l}from"./style.js";var i=e(function(e){var i=r().t;return t.createElement(o,null,t.createElement(a,{$textColor:e.layout.header.textColor||"white"},i("header.title")),t.createElement(l,{$textColor:e.layout.header.textColor||"white"},i("header.subtitle")))});export{i as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as t}from"mobx-react";import'./../../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../../../ext/react-i18next/dist/es/useTranslation.js';import{Container as n,TopRow as r,LeftSection as o,BadgeIconContainer as a,PointsContainer as s,Label as m,PointsValue as u,CurrentPoints as c,TotalPoints as d,RightSection as i,LevelBadge as E,BadgeText as g,ProgressBarContainer as p,ProgressBarFill as f}from"./style.js";import{BadgeIconTypeEnum as L}from"../../../../../models/loyalty-widget/types/index.js";import{BadgeLevel1 as v}from"../../../../../assets/badgeLevel1.js";import{BadgeLevel2 as h}from"../../../../../assets/badgeLevel2.js";import{BadgeLevel3 as b}from"../../../../../assets/badgeLevel3.js";import{BadgeLevel4 as j}from"../../../../../assets/badgeLevel4.js";var y=t(function(t){var y=t.viewModel,w=l().t,x=y.loyaltyWidget,I=y.user,M=x.settings;if(!I)return null;var S=I.totalPoint,_=I.customerTierId,T=(null==_?void 0:_.pointsRequired)||0,V=T>0?Math.min(S/T*100,100):0,N=e.useMemo(function(){var e=I.customerTierId;return e?"🏆 ".concat(e.name):"🏆 "},[M.badgeIconLevel,I.customerTierId]);return e.createElement(n,null,e.createElement(r,null,e.createElement(o,null,e.createElement(a,null,function(){switch(M.badgeIconLevel){case L.LEVEL_1:return e.createElement(v,null);case L.LEVEL_2:return e.createElement(h,null);case L.LEVEL_3:return e.createElement(b,null);case L.LEVEL_4:return e.createElement(j,null);default:return null}}()),e.createElement(s,null,e.createElement(m,null,w("header.earnedPoints")),e.createElement(u,null,e.createElement(c,null,S),y.shouldShowSpendingMethods&&e.createElement(d,null,"/ ",T)))),e.createElement(i,null,M.badgeIconLevel!==L.NONE&&y.shouldShowSpendingMethods&&e.createElement(E,null,e.createElement(g,null,N)))),y.shouldShowSpendingMethods&&e.createElement(p,null,e.createElement(f,{$percentage:V,$color:y.loyaltyWidget.header.background.bgColor||void 0})))});export{y 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 l}from'./../../../../../ext/react-i18next/dist/es/useTranslation.js';import{BadgeLevel1 as n}from"../../../../../assets/badgeLevel1.js";import{BadgeLevel2 as r}from"../../../../../assets/badgeLevel2.js";import{BadgeLevel3 as a}from"../../../../../assets/badgeLevel3.js";import{BadgeLevel4 as o}from"../../../../../assets/badgeLevel4.js";import{BadgeIconTypeEnum as m}from"../../../../../models/loyalty-widget/types/index.js";import s from"../../../../components/count-up/index.js";import{Container as u,TopRow as c,LeftSection as i,BadgeIconContainer as d,PointsContainer as E,Label as p,PointsValue as f,CurrentPoints as g,TotalPoints as v,RightSection as L,LevelBadge as b,BadgeText as j,ProgressBarContainer as y,ProgressBarFill as x}from"./style.js";var I=e(function(e){var I=e.viewModel,_=l().t,h=I.loyaltyWidget,T=I.user,V=h.settings;if(!T)return null;var w=T.totalPoint,M=T.customerTierId,N=(null==M?void 0:M.pointsRequired)||0,P=N>0?Math.min(w/N*100,100):0,W=t.useMemo(function(){var e=T.customerTierId;return e?"🏆 ".concat(e.name):"🏆 "},[V.badgeIconLevel,T.customerTierId]);return t.createElement(u,null,t.createElement(c,null,t.createElement(i,null,t.createElement(d,null,function(){switch(V.badgeIconLevel){case m.LEVEL_1:return t.createElement(n,null);case m.LEVEL_2:return t.createElement(r,null);case m.LEVEL_3:return t.createElement(a,null);case m.LEVEL_4:return t.createElement(o,null);default:return null}}()),t.createElement(E,null,t.createElement(p,null,_("header.earnedPoints")),t.createElement(f,null,t.createElement(g,null,t.createElement(s,{end:w})),N>0&&t.createElement(v,null,"/ ",N)))),t.createElement(L,null,V.badgeIconLevel!==m.NONE&&!!(null==M?void 0:M.name.length)&&t.createElement(b,null,t.createElement(j,null,W)))),N>0&&t.createElement(y,null,t.createElement(x,{$percentage:P,$color:I.loyaltyWidget.header.background.bgColor||void 0})))});export{I as default};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"react";import{observer as n}from"mobx-react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import i from"./header/index.js";import s from"../../components/section-title/index.js";import a from"./earning-methods-section/index.js";import l from"./spending-methods-section/index.js";import m from"./program-info-section/index.js";import{Container as c,Content as d,Section as p}from"./style.js";import{CARD_OVERLAP_TOP as u}from"./header/style.js";import{EarningMethodTypeEnum as f}from"../../../models/types/index.js";import{ImageTypeEnum as g}from"../../../models/loyalty-widget/types/index.js";var h=n(function(n){var h=n.viewModel,v=n.onClose,T=n.onNavigate,x=r().t,E=o.useState(0),M=E[0],j=E[1],y=o.useState(56),b=y[0],S=y[1],w=Math.max(M-u+32,32);h.user;var C=h.shouldShowSpendingMethods,_=h.earningMethods.length>0,k=C||_;return o.createElement(c,null,o.createElement(i,{viewModel:h,onClose:v,onCardHeightChange:j,headerGap:b}),o.createElement(d,{$topPadding:w,onScroll:function(e){var t=h.loyaltyWidget.header.logo;if(t.type===g.SHOW&&t.src){var o=e.currentTarget.scrollTop,n=Math.max(16,56-o);S(n)}}},k&&o.createElement(p,null,o.createElement(s,{style:{paddingTop:0}},x(C?"main_screen.spendingMethodsTitle":"main_screen.earningMethodsTitle")),C?o.createElement(l,{viewModel:h,mode:"card",getActionProps:function(e){return null}}):o.createElement(a,{viewModel:h,getActionProps:function(o){return o.methodType===f.CUSTOMER_REGISTER?{actionText:x("common.create"),onClick:function(){}}:o.methodType===f.ENABLE_SUBSCRIPTION?{actionText:x("common.allow"),onClick:function(){return e(void 0,void 0,void 0,function(){var e;return t(this,function(t){switch(t.label){case 0:return(null===(e=h.callbacks)||void 0===e?void 0:e.subscribeToMarketingNotifications)?[4,h.callbacks.subscribeToMarketingNotifications()]:[3,2];case 1:t.sent()&&h.userRefreshTrigger++,t.label=2;case 2:return[2]}})})}}:null}})),o.createElement(p,null,o.createElement(s,{style:{paddingTop:0}},x("main_screen.programInfoTitle")),o.createElement(m,{viewModel:h,onNavigate:T}))))});export{h as default};
1
+ import{__awaiter as e,__generator as t,__assign as o}from'./../../../ext/tslib/tslib.es6.mjs.js';import{observer as n}from"mobx-react";import i from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{ImageTypeEnum as s}from"../../../models/loyalty-widget/types/index.js";import{EarningMethodTypeEnum as a,WidgetMode as l}from"../../../models/types/index.js";import c from"../../components/section-title/index.js";import d from"./earning-methods-section/index.js";import m from"./header/index.js";import{CARD_OVERLAP_TOP as u}from"./header/style.js";import p from"./program-info-section/index.js";import g from"./spending-methods-section/index.js";import{Container as f,Content as h,Section as v}from"./style.js";var E=n(function(n){var E=n.viewModel,M=n.onClose,T=n.onNavigate,x=r().t,b=i.useState(0),j=b[0],y=b[1],S=i.useState(56),w=S[0],C=S[1],_=Math.max(j-u+32,32);E.user;var k=E.shouldShowSpendingMethods,A=E.earningMethods.length>0,I=k||A;return i.createElement(f,null,i.createElement(m,{viewModel:E,onClose:M,onCardHeightChange:y,headerGap:w}),i.createElement(h,{$topPadding:_,onScroll:function(e){var t=E.loyaltyWidget.header.logo;if(t.type===s.SHOW&&t.src){var o=e.currentTarget.scrollTop,n=Math.max(16,Math.min(56,56-o));C(n)}}},I&&i.createElement(v,null,i.createElement(c,{style:{paddingTop:0}},x(k?"main_screen.spendingMethodsTitle":"main_screen.earningMethodsTitle")),k?i.createElement(g,{viewModel:E,mode:"accordion",methods:E.spendingMethods.filter(function(e){return e.isAvailable}),getActionProps:function(e){return null}}):i.createElement(d,{viewModel:E,getActionProps:function(n){return n.methodType===a.CUSTOMER_REGISTER?{actionText:x("common.create"),onClick:function(){E.storeUrl&&(E.setWidgetMode(l.MINI_MODE),window.location.href="".concat(E.storeUrl,"/account/register"))}}:n.methodType===a.ENABLE_SUBSCRIPTION?{actionText:x("common.allow"),onClick:function(){return e(void 0,void 0,void 0,function(){var e;return t(this,function(t){switch(t.label){case 0:return(null===(e=E.callbacks)||void 0===e?void 0:e.subscribeToMarketingNotifications)?(E.isActionLoading=!0,[4,E.callbacks.subscribeToMarketingNotifications()]):[3,2];case 1:t.sent()&&(E.ikasEventUser=o(o({},E.ikasEventUser),{subscriptionStatus:"SUBSCRIBED"}),E.userRefreshTrigger++),E.isActionLoading=!1,t.label=2;case 2:return[2]}})})},loading:E.isActionLoading}:null}})),i.createElement(v,null,i.createElement(c,{style:{paddingTop:0}},x("main_screen.programInfoTitle")),i.createElement(p,{viewModel:E,onNavigate:T}))))});export{E as default};
@@ -1 +1 @@
1
- import e from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as t}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{observer as n}from"mobx-react";import{LoyaltyWidgetScreenTypeEnum as r}from"../../../../models/types/index.js";import{WidgetIconTypeEnum as l}from"../../../../models/loyalty-widget/types/index.js";import{Container as o,GridContainer as i,SmallCard as a,SmallCardIconWrapper as s,SmallCardBottom as c,Title as E,ArrowWrapper as m,RowCard as u}from"./style.js";import{getScreenIcon as d}from"../../../../utils.js";var R=function(){return e.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M7.5 15L12.5 10L7.5 5",stroke:"currentColor",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"}))},_=n(function(n){var _=n.viewModel,g=n.onNavigate,N=t().t,y=_.user,T=!!y,p=_.loyaltyWidget.settings.widgetIconType;return e.createElement(o,null,e.createElement(i,null,e.createElement(a,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(r.CREDIT_EARNING_METHODS_SCREEN)}},p!==l.NONE&&e.createElement(s,{$hasBgColor:p===l.ILLUSTRATION,$iconType:p},d(r.CREDIT_EARNING_METHODS_SCREEN,p)),e.createElement(c,null,e.createElement(E,null,N("main_screen.earnPoints")),e.createElement(m,null,e.createElement(R,null)))),e.createElement(a,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(r.CREDIT_SPENDING_METHODS_SCREEN)}},p!==l.NONE&&e.createElement(s,{$hasBgColor:p===l.ILLUSTRATION,$iconType:p},d(r.CREDIT_SPENDING_METHODS_SCREEN,p)),e.createElement(c,null,e.createElement(E,null,N("main_screen.allRewards")),e.createElement(m,null,e.createElement(R,null))))),T&&e.createElement(e.Fragment,null,(null==y?void 0:y.customerTierId)&&e.createElement(u,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(r.LOYALTY_LEVEL_SCREEN)}},e.createElement(E,null,N("main_screen.tiers")),e.createElement(m,null,e.createElement(R,null))),_.pointHistory.length>0&&e.createElement(u,{$borderRadius:_.loyaltyWidget.settings.cartBorderRadius,onClick:function(){return null==g?void 0:g(r.CREDIT_HISTORY_SCREEN)}},e.createElement(E,null,N("main_screen.pointHistory")),e.createElement(m,null,e.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 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.customerTierId)&&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 +1 @@
1
- import{__makeTemplateObject as n,__awaiter as e,__generator as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import o,{useState as i,useEffect as r}from"react";import{observer as a}from"mobx-react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import s from"styled-components";import{textSM as d,Badge as p}from"../../../components/style/typography.js";import u from"../../../components/button/index.js";import{HeaderBackgroundTypeEnum as c}from"../../../../models/loyalty-widget/types/index.js";var f,m,x,g,b,h,v,y,w,k,E,$,j=s.div(f||(f=n(["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"],["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"]))),z=s.div(m||(m=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"]))),C=s.div(x||(x=n(["\n color: #364152;\n ","\n"],["\n color: #364152;\n ","\n"])),d),I=s.div(g||(g=n(["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"],["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"]))),S=s.div(b||(b=n(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"],["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"]))),M=s.div(h||(h=n(["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"],["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"]))),F=s.div(v||(v=n(["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"],["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"radial-gradient(92.35% 100% at 50% 0%, rgba(255, 255, 255, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), ".concat(n.$bgColor):n.$bgColor}),L=s.div(y||(y=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"])),function(n){return n.$left},function(n){return n.$bgColor}),P=s.input(w||(w=n(["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"],["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"]))),B=s.div(k||(k=n(["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"],["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"]))),G=s.div(E||(E=n(["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"],["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"]))),N=s.div($||($=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"])),function(n){return n.$left}),_=a(function(n){var a=n.viewModel,s=n.method,d=l().t,f=i(!1),m=f[0],x=f[1],g=a.user,b=a.loyaltyWidget,h=s.discountSettings;if(!g||!h)return null;var v=h.point,y=h.discountAmount||0;if(v<=0)return null;var w=Math.floor(g.totalPoint/v)*v,k=w>0?w:v,E=i(w),$=E[0],_=E[1];r(function(){$>w&&_(w)},[w]);var A=$/k*100,T=$/v*y,W=b.header.background.bgColor||"#7B61FF",D=b.header.background.type===c.GRADIENT,R=k/v,q=[];if(R>1&&R<20)for(var H=1;H<R;H++)q.push(H/R*100);var J=w>0;return o.createElement(o.Fragment,null,o.createElement(j,null,o.createElement(z,null,o.createElement(C,null,$," ",d("common.points")),o.createElement(p,null,Number(T).toFixed(2)," ",a.currency)),o.createElement(I,null,o.createElement(S,null,o.createElement(M,null,q.map(function(n,e){return o.createElement(N,{key:e,$left:n})})),o.createElement(F,{$percentage:A,$bgColor:W,$isGradient:D}),o.createElement(L,{$left:A,$bgColor:W}),o.createElement(P,{type:"range",min:0,max:k,step:v,value:$,onChange:function(n){var e=Number(n.target.value);_(e)},disabled:!J})),o.createElement(B,null,o.createElement(G,null,"0"),o.createElement(G,null,k)))),o.createElement(u,{button:b.button,fontSize:"textSMMedium",paddingSize:"medium",fullWidth:!0,disabled:0===$||m||!J,isLoading:m,onClick:function(){return e(void 0,void 0,void 0,function(){var n;return t(this,function(e){switch(e.label){case 0:if(!a.cartId||0===$)return[2];x(!0),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,null===(n=a.callbacks)||void 0===n?void 0:n.useLoyaltyPoints({amount:T,cartId:a.cartId,loyaltyProgramId:s.loyaltyProgramId,loyaltySpendingMethodId:s.id})];case 2:return e.sent(),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})}},d("common.convert")))});export{_ as default};
1
+ import{__makeTemplateObject as n,__awaiter as e,__generator as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import r,{useState as i,useEffect as a}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import s from"styled-components";import{HeaderBackgroundTypeEnum as d}from"../../../../models/loyalty-widget/types/index.js";import{LoyaltyWidgetScreenTypeEnum as p}from"../../../../models/types/index.js";import u from"../../../components/button/index.js";import{textSM as c,Badge as f}from"../../../components/style/typography.js";var m,g,x,b,h,v,y,w,k,E,$,j,C=s.div(m||(m=n(["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"],["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"]))),S=s.div(g||(g=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"]))),z=s.div(x||(x=n(["\n color: #364152;\n ","\n"],["\n color: #364152;\n ","\n"])),c),I=s.div(b||(b=n(["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"],["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"]))),M=s.div(h||(h=n(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"],["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"]))),N=s.div(v||(v=n(["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"],["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"]))),A=s.div(y||(y=n(["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"],["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"radial-gradient(92.35% 100% at 50% 0%, rgba(255, 255, 255, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), ".concat(n.$bgColor):n.$bgColor}),R=s.div(w||(w=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"])),function(n){return n.$left},function(n){return n.$bgColor}),_=s.input(k||(k=n(["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"],["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"]))),L=s.div(E||(E=n(["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"],["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"]))),P=s.div($||($=n(["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"],["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"]))),T=s.div(j||(j=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"])),function(n){return n.$left}),B=o(function(n){var o=n.viewModel,s=n.method,c=l().t,m=i(!1),g=m[0],x=m[1],b=o.user,h=o.loyaltyWidget,v=s.discountSettings;if(!b||!v)return null;var y=v.point,w=v.discountAmount||0;if(y<=0)return null;var k=Math.floor(b.totalPoint/y)*y,E=k>0?k:y,$=i(k),j=$[0],B=$[1];a(function(){j>k&&B(k)},[k]);var F=j/E*100,G=j/y*w,W=h.header.background.bgColor||"#7B61FF",D=h.header.background.type===d.GRADIENT,q=E/y,H=[];if(q>1&&q<20)for(var J=1;J<q;J++)H.push(J/q*100);var K=k>0&&!0===s.isAvailable;return r.createElement(r.Fragment,null,r.createElement(C,null,r.createElement(S,null,r.createElement(z,null,j," ",c("common.points")),r.createElement(f,null,o.formatCurrency(Number(G)))),r.createElement(I,null,r.createElement(M,null,r.createElement(N,null,H.map(function(n,e){return r.createElement(T,{key:e,$left:n})})),r.createElement(A,{$percentage:F,$bgColor:W,$isGradient:D}),r.createElement(R,{$left:F,$bgColor:W}),r.createElement(_,{type:"range",min:0,max:E,step:y,value:j,onChange:function(n){var e=Number(n.target.value);B(e)},disabled:!K})),r.createElement(L,null,r.createElement(P,null,"0"),r.createElement(P,null,E)))),r.createElement(u,{button:h.button,fontSize:"textSMMedium",paddingSize:"medium",fullWidth:!0,disabled:0===j||g||!K,isLoading:g,onClick:function(){return e(void 0,void 0,void 0,function(){var n;return t(this,function(e){switch(e.label){case 0:if(!o.cartId||0===j)return[2];x(!0),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,null===(n=o.callbacks)||void 0===n?void 0:n.useLoyaltyPoints({amount:G,cartId:o.cartId,loyaltyProgramId:s.loyaltyProgramId,loyaltySpendingMethodId:s.id})];case 2:return e.sent()&&(o.userRefreshTrigger++,o.cartRefreshTrigger++,o.selectedScreen!==p.MAIN_SCREEN&&(o.selectedScreen=p.MAIN_SCREEN)),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})}},c("common.convert")))});export{B as default};
@@ -4,6 +4,7 @@ import { LoyaltyProgramSpendingMethod } from "models/loyalty-program-spending-me
4
4
  type SectionProps = {
5
5
  viewModel: LoyaltyWidgetViewModel;
6
6
  mode?: "card" | "accordion";
7
+ methods?: LoyaltyProgramSpendingMethod[];
7
8
  getActionProps?: (method: LoyaltyProgramSpendingMethod) => {
8
9
  actionText: string;
9
10
  onClick: () => void;
@@ -1 +1 @@
1
- import{__awaiter as t,__generator as e}from'./../../../../ext/tslib/tslib.es6.mjs.js';import i,{useState as o}from"react";import{observer as n}from"mobx-react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as d}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{LoyaltyProgramMethodSpendingTypeEnum as r,LoyaltyProgramFilterTypeEnum as s}from"../../../../models/types/index.js";import{getSpendingMethodTitle as l,getSpendingMethodDescription as a,getSpendingMethodIcon as c}from"../../../../utils.js";import m from"../../../components/loyalty-method-card/index.js";import u from"../../../components/button/index.js";import{getFreeProductName as p,getFilterDetails as g}from"../../../utils/loyalty-details.js";import y from"./dynamic-slider.js";var v=n(function(n){var v,f,E,x=n.method,h=n.viewModel,R=n.mode,T=n.actionText,A=n.padding,C=n.onClick,b=d().t,D=o(!1),S=D[0],I=D[1],M=h.loyaltyWidget,O=l(x),P=a(x,h.currency),_=c(x.type,M.settings.widgetIconType),k=x.productFilters||[],j=k.length>0,w=x.type===r.FREE_PRODUCT,L=x.type===r.FIXED_AMOUNT,U=w&&(null===(v=x.discountSettings)||void 0===v?void 0:v.freeProductId)?p(h,x.discountSettings.freeProductId):void 0,B=w&&!!U,z=null===(f=x.pointUsageLimit)||void 0===f?void 0:f.minPointLimit,N=null===(E=x.pointUsageLimit)||void 0===E?void 0:E.maxPointLimit,W=z&&z>0||N&&N>0,F=L&&!x.isDynamic&&!!h.user&&!!h.cartId,G=L&&x.isDynamic&&!!h.user&&!!h.cartId,H=j||B||W||F||G,Y="accordion"===R&&H?"accordion":"card";return i.createElement(m,{title:O,description:P,icon:_,action:T&&C?{text:T,onClick:C}:void 0,isCompleted:!1,mode:Y,padding:A,settings:{borderRadius:M.settings.cartBorderRadius,widgetIconType:M.settings.widgetIconType,button:M.button}},H?i.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},z&&z>0&&i.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},b("spendingMethods.minPointLimit",{points:z})),B&&i.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},b("spendingMethods.FREE_PRODUCT.description",{product:U})),k.map(function(t,e){var o=g(h,t.type,t.idList);if(!o.length)return null;var n=o[0],d=n.name,r="";switch(n.type){case s.CATEGORY:case s.DYNAMIC_CATEGORY:r=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:d});break;case s.PRODUCT_AND_VARIANT:r=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyProduct",{product:d});break;case s.PRODUCT_BRAND:r=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:d});break;case s.PRODUCT_TAG:r=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:d})}return!r&&d&&(r=d),r?i.createElement("div",{key:e,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},r):null}),F&&i.createElement(u,{button:M.button,fontSize:"textSMMedium",paddingSize:"medium",fullWidth:!0,disabled:!!(h.user&&x.discountSettings&&h.user.totalPoint<x.discountSettings.point),isLoading:S,onClick:function(){return t(void 0,void 0,void 0,function(){var t,i;return e(this,function(e){switch(e.label){case 0:if(!h.cartId)return[2];I(!0),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,null===(t=h.callbacks)||void 0===t?void 0:t.useLoyaltyPoints({amount:null===(i=x.discountSettings)||void 0===i?void 0:i.discountAmount,cartId:h.cartId,loyaltyProgramId:x.loyaltyProgramId,loyaltySpendingMethodId:x.id})];case 2:return e.sent(),[3,4];case 3:return I(!1),[7];case 4:return[2]}})})}},"Sepetimde Kullan"),G&&i.createElement(y,{viewModel:h,method:x})):null)}),f=n(function(t){var e=t.viewModel,o=t.mode,n=void 0===o?"card":o,d=t.getActionProps,r=e.spendingMethods,s="accordion"===n?"16px":void 0;return i.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"accordion"===n?"0 16px":"0 24px"}},r.map(function(t){var o=d?d(t):null;return i.createElement(v,{key:t.id,method:t,viewModel:e,mode:n,padding:s,actionText:null==o?void 0:o.actionText,onClick:null==o?void 0:o.onClick})}))});export{f as default};
1
+ import{__awaiter as e,__generator as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as i}from"mobx-react";import o,{useState as n}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{LoyaltyProgramMethodSpendingTypeEnum as d,LoyaltyProgramFilterTypeEnum as s,LoyaltyWidgetScreenTypeEnum as l}from"../../../../models/types/index.js";import a from"../../../components/button/index.js";import c from"../../../components/loyalty-method-card/index.js";import{getFreeProductName as m,getFilterDetails as u}from"../../../utils/loyalty-details.js";import{getSpendingMethodTitle as p,getSpendingMethodDescription as g,getSpendingMethodIcon as y}from"../../../../utils.js";import f from"./dynamic-slider.js";var v=i(function(i){var v,E,x,R=i.method,h=i.viewModel,T=i.mode,A=i.actionText,C=i.padding,S=i.onClick,b=r().t,I=n(!1),M=I[0],D=I[1],_=h.loyaltyWidget,O=p(R),P=g(R,h),k=y(R.type,_.settings.widgetIconType),j=R.productFilters||[],w=j.length>0,N=R.type===d.FREE_PRODUCT,L=R.type===d.FIXED_AMOUNT,U=N&&(null===(v=R.discountSettings)||void 0===v?void 0:v.freeProductId)?m(h,R.discountSettings.freeProductId):void 0,B=N&&!!U,z=null===(E=R.pointUsageLimit)||void 0===E?void 0:E.minPointLimit,W=null===(x=R.pointUsageLimit)||void 0===x?void 0:x.maxPointLimit,F=z&&z>0||W&&W>0,G=!0===R.isAvailable&&L&&!R.isDynamic&&!!h.user&&!!h.cartId,H=L&&R.isDynamic&&!!h.user&&!!h.cartId,Y=w||B||F||G||H,K="accordion"===T&&Y?"accordion":"card";return o.createElement(c,{title:O,description:P,icon:k,action:A&&S?{text:A,onClick:S}:void 0,isCompleted:!1,mode:K,padding:C,settings:{borderRadius:_.settings.cartBorderRadius,widgetIconType:_.settings.widgetIconType,button:_.button}},Y?o.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},z&&z>0&&o.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},b("spendingMethods.minPointLimit",{points:z})),B&&o.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},b("spendingMethods.FREE_PRODUCT.description",{product:U})),j.map(function(e,t){var i=u(h,e.type,e.idList);if(!i.length)return null;var n=i[0],r=n.name,d="";switch(n.type){case s.CATEGORY:case s.DYNAMIC_CATEGORY:d=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:r});break;case s.PRODUCT_AND_VARIANT:d=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyProduct",{product:r});break;case s.PRODUCT_BRAND:d=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:r});break;case s.PRODUCT_TAG:d=b("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:r})}return!d&&r&&(d=r),d?o.createElement("div",{key:t,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},d):null}),G&&o.createElement(a,{button:_.button,fontSize:"textSMMedium",paddingSize:"medium",fullWidth:!0,disabled:!!(h.user&&R.discountSettings&&h.user.totalPoint<R.discountSettings.point),isLoading:M,onClick:function(){return e(void 0,void 0,void 0,function(){var e,i;return t(this,function(t){switch(t.label){case 0:if(!h.cartId)return[2];D(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,null===(e=h.callbacks)||void 0===e?void 0:e.useLoyaltyPoints({amount:null===(i=R.discountSettings)||void 0===i?void 0:i.discountAmount,cartId:h.cartId,loyaltyProgramId:R.loyaltyProgramId,loyaltySpendingMethodId:R.id})];case 2:return t.sent()&&(h.userRefreshTrigger++,h.cartRefreshTrigger++,h.selectedScreen!==l.MAIN_SCREEN&&(h.selectedScreen=l.MAIN_SCREEN)),[3,4];case 3:return D(!1),[7];case 4:return[2]}})})}},"Sepetimde Kullan"),H&&o.createElement(f,{viewModel:h,method:R})):null)}),E=i(function(e){var t=e.viewModel,i=e.mode,n=void 0===i?"card":i,r=e.getActionProps,d=e.methods,s=t.spendingMethods,l=d||s,a="accordion"===n?"16px":void 0;return o.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"accordion"===n?"0 16px":"0 24px"}},l.map(function(e){var i=r?r(e):null;return o.createElement(v,{key:e.id,method:e,viewModel:t,mode:n,padding:a,actionText:null==i?void 0:i.actionText,onClick:null==i?void 0:i.onClick})}))});export{E as default};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"styled-components";var f,r,t,i=o.div(f||(f=n(["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"],["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"]))),l=o.div(r||(r=n(["\n flex: 1;\n overflow-y: auto;\n padding-top: ",";\n background: #ffffff;\n\n scroll-behavior: smooth;\n"],["\n flex: 1;\n overflow-y: auto;\n padding-top: ",";\n background: #ffffff;\n\n scroll-behavior: smooth;\n"])),function(n){var o=n.$topPadding;return"".concat(o,"px")}),e=o.div(t||(t=n(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"])));export{i as Container,l as Content,e as Section};
1
+ import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"styled-components";var f,t,i,r=o.div(f||(f=n(["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"],["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"]))),d=o.div(t||(t=n(["\n flex: 1;\n overflow-y: auto;\n padding-top: ",";\n background: #ffffff;\n"],["\n flex: 1;\n overflow-y: auto;\n padding-top: ",";\n background: #ffffff;\n"])),function(n){var o=n.$topPadding;return"".concat(o,"px")}),e=o.div(i||(i=n(["\n margin-bottom: 24px;\n"],["\n margin-bottom: 24px;\n"])));export{r as Container,d as Content,e as Section};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from'./../ext/tslib/tslib.es6.mjs.js';import t,{css as o}from"styled-components";import{WidgetPositionEnum as i,LoyaltyWidgetLayoutTypeEnum as e}from"../models/loyalty-widget/types/index.js";import{WidgetMode as r}from"../models/types/index.js";var a,s,p,d,x,f,u,l,h=t.div(a||(a=n(["\n position: ",";\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: ",";\n max-height: ",";\n overflow: hidden; /* Prevent scrollbars from absolute children */\n background-color: ",";\n transition: background-color 0.3s ease-in-out;\n z-index: 2147483647;\n pointer-events: ",";\n\n /* Ensure children are clickable in Mini Mode */\n & > * {\n pointer-events: auto;\n }\n"],["\n position: ",";\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: ",";\n max-height: ",";\n overflow: hidden; /* Prevent scrollbars from absolute children */\n background-color: ",";\n transition: background-color 0.3s ease-in-out;\n z-index: 2147483647;\n pointer-events: ",";\n\n /* Ensure children are clickable in Mini Mode */\n & > * {\n pointer-events: auto;\n }\n"])),function(n){return n.$position||"fixed"},function(n){return n.$position||"fixed"},function(n){return"absolute"===n.$position?"100%":"100dvh"},function(n){return"absolute"===n.$position?"100%":"100dvh"},function(n){return n.$widgetMode===r.MINI_MODE?"transparent":"rgba(0, 0, 0, 0.5)"},function(n){return n.$widgetMode===r.MINI_MODE?"none":"auto"}),m=t.div(d||(d=n(["\n position: absolute;\n top: 0;\n ","\n display: block;\n width: 100%;\n max-width: 380px;\n height: 100%;\n background-color: #ffffff;\n overflow: hidden;\n \n /* Animation props */\n transform: ",";\n transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease-in-out;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n @media (max-width: 380px) {\n max-width: 100%;\n }\n"],["\n position: absolute;\n top: 0;\n ","\n display: block;\n width: 100%;\n max-width: 380px;\n height: 100%;\n background-color: #ffffff;\n overflow: hidden;\n \n /* Animation props */\n transform: ",";\n transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease-in-out;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n @media (max-width: 380px) {\n max-width: 100%;\n }\n"])),function(n){return n.$widgetPosition===i.LEFT?"left: 0;":"right: 0;"},function(n){var t=n.$isOpen,o=n.$widgetPosition;return t?"translateX(0%)":o===i.LEFT?"translateX(-100%)":"translateX(100%)"},function(n){return n.$isOpen?1:0},function(n){return n.$isOpen?"auto":"none"},function(t){return t.$layoutType===e.DRAWER?o(s||(s=n(["\n border-radius: 0;\n box-shadow: -2px 0 8px rgba(36, 30, 30, 0.15);\n\n @media (max-width: 600px) {\n max-width: 100%;\n height: 100%;\n }\n "],["\n border-radius: 0;\n box-shadow: -2px 0 8px rgba(36, 30, 30, 0.15);\n\n @media (max-width: 600px) {\n max-width: 100%;\n height: 100%;\n }\n "]))):o(p||(p=n(["\n border-radius: 12px;\n box-shadow: 0 136px 38px 0 rgba(0, 0, 0, 0),\n 0 87px 35px 0 rgba(0, 0, 0, 0.01),\n 0 49px 29px 0 rgba(0, 0, 0, 0.02),\n 0 22px 22px 0 rgba(0, 0, 0, 0.04),\n 0 5px 12px 0 rgba(0, 0, 0, 0.04);\n max-height: min(850px, calc(100vh - 80px));\n margin: 40px 16px;\n\n @media (max-width: 600px) {\n top: 16px;\n bottom: 16px;\n left: 16px;\n right: 16px;\n width: auto;\n height: auto;\n max-width: none;\n max-height: none;\n margin: 0;\n }\n "],["\n border-radius: 12px;\n box-shadow: 0 136px 38px 0 rgba(0, 0, 0, 0),\n 0 87px 35px 0 rgba(0, 0, 0, 0.01),\n 0 49px 29px 0 rgba(0, 0, 0, 0.02),\n 0 22px 22px 0 rgba(0, 0, 0, 0.04),\n 0 5px 12px 0 rgba(0, 0, 0, 0.04);\n max-height: min(850px, calc(100vh - 80px));\n margin: 40px 16px;\n\n @media (max-width: 600px) {\n top: 16px;\n bottom: 16px;\n left: 16px;\n right: 16px;\n width: auto;\n height: auto;\n max-width: none;\n max-height: none;\n margin: 0;\n }\n "])))}),b=t.div(u||(u=n(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #ffffff;\n transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n overflow-y: auto;\n padding-bottom: env(safe-area-inset-bottom);\n\n ","\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #ffffff;\n transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n overflow-y: auto;\n padding-bottom: env(safe-area-inset-bottom);\n\n ","\n"])),function(t){var i=t.$isActive;return t.$isMain?o(x||(x=n(["\n transform: translateX(0%);\n z-index: 1;\n "],["\n transform: translateX(0%);\n z-index: 1;\n "]))):o(f||(f=n(["\n transform: translateX(",");\n z-index: 2;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); \n "],["\n transform: translateX(",");\n z-index: 2;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); \n "])),i?"0%":"100%")}),c=t.div(l||(l=n(["\n position: absolute;\n bottom: 20px;\n ","\n display: flex;\n flex-direction: column;\n align-items: ",";\n transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;\n opacity: ",";\n transform: ",";\n pointer-events: ",";\n"],["\n position: absolute;\n bottom: 20px;\n ","\n display: flex;\n flex-direction: column;\n align-items: ",";\n transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;\n opacity: ",";\n transform: ",";\n pointer-events: ",";\n"])),function(n){return n.$widgetPosition===i.LEFT?"left: 20px;":"right: 20px;"},function(n){return n.$widgetPosition===i.LEFT?"flex-start":"flex-end"},function(n){return n.$isVisible?1:0},function(n){return n.$isVisible?"translateY(0)":"translateY(10px)"},function(n){return n.$isVisible?"auto":"none"});export{h as Container,c as MiniModeWrapper,m as Panel,b as ScreenWrapper};
1
+ import{__makeTemplateObject as n}from'./../ext/tslib/tslib.es6.mjs.js';import t,{css as o}from"styled-components";import{WidgetPositionEnum as i,LoyaltyWidgetLayoutTypeEnum as r}from"../models/loyalty-widget/types/index.js";import{WidgetMode as e}from"../models/types/index.js";var a,s,p,d,l,x,b,c,h=t.div(a||(a=n(["\n position: ",";\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: ",";\n max-height: ",";\n overflow: hidden; /* Prevent scrollbars from absolute children */\n background-color: ",";\n transition: background-color 0.3s ease-in-out;\n z-index: 2147483647;\n pointer-events: ",";\n\n /* Ensure children are clickable in Mini Mode */\n & > * {\n pointer-events: auto;\n }\n\n /* Global scrollbar styling for all children */\n & * {\n scrollbar-width: thin;\n scrollbar-color: #CDD5DF transparent;\n }\n\n & *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n & *::-webkit-scrollbar-track {\n background: transparent;\n }\n\n & *::-webkit-scrollbar-thumb {\n background-color: #CDD5DF !important;\n border-radius: 8px;\n }\n"],["\n position: ",";\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: ",";\n max-height: ",";\n overflow: hidden; /* Prevent scrollbars from absolute children */\n background-color: ",";\n transition: background-color 0.3s ease-in-out;\n z-index: 2147483647;\n pointer-events: ",";\n\n /* Ensure children are clickable in Mini Mode */\n & > * {\n pointer-events: auto;\n }\n\n /* Global scrollbar styling for all children */\n & * {\n scrollbar-width: thin;\n scrollbar-color: #CDD5DF transparent;\n }\n\n & *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n & *::-webkit-scrollbar-track {\n background: transparent;\n }\n\n & *::-webkit-scrollbar-thumb {\n background-color: #CDD5DF !important;\n border-radius: 8px;\n }\n"])),function(n){return n.$position||"fixed"},function(n){return n.$position||"fixed"},function(n){return"absolute"===n.$position?"100%":"100dvh"},function(n){return"absolute"===n.$position?"100%":"100dvh"},function(n){return n.$widgetMode===e.MINI_MODE?"transparent":"rgba(0, 0, 0, 0.5)"},function(n){return n.$widgetMode===e.MINI_MODE?"none":"auto"}),u=t.div(d||(d=n(["\n position: absolute;\n top: 0;\n ","\n display: block;\n width: 100%;\n max-width: 380px;\n height: 100%;\n background-color: #ffffff;\n overflow: hidden;\n \n /* Animation props */\n transform: ",";\n transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease-in-out;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n @media (max-width: 380px) {\n max-width: 100%;\n }\n"],["\n position: absolute;\n top: 0;\n ","\n display: block;\n width: 100%;\n max-width: 380px;\n height: 100%;\n background-color: #ffffff;\n overflow: hidden;\n \n /* Animation props */\n transform: ",";\n transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease-in-out;\n opacity: ",";\n pointer-events: ",";\n\n ","\n\n @media (max-width: 380px) {\n max-width: 100%;\n }\n"])),function(n){return n.$widgetPosition===i.LEFT?"left: 0;":"right: 0;"},function(n){var t=n.$isOpen,o=n.$widgetPosition;return t?"translateX(0%)":o===i.LEFT?"translateX(-100%)":"translateX(100%)"},function(n){return n.$isOpen?1:0},function(n){return n.$isOpen?"auto":"none"},function(t){return t.$layoutType===r.DRAWER?o(s||(s=n(["\n border-radius: 0;\n box-shadow: -2px 0 8px rgba(36, 30, 30, 0.15);\n\n @media (max-width: 600px) {\n max-width: 100%;\n height: 100%;\n }\n "],["\n border-radius: 0;\n box-shadow: -2px 0 8px rgba(36, 30, 30, 0.15);\n\n @media (max-width: 600px) {\n max-width: 100%;\n height: 100%;\n }\n "]))):o(p||(p=n(["\n border-radius: 12px;\n box-shadow: 0 136px 38px 0 rgba(0, 0, 0, 0),\n 0 87px 35px 0 rgba(0, 0, 0, 0.01),\n 0 49px 29px 0 rgba(0, 0, 0, 0.02),\n 0 22px 22px 0 rgba(0, 0, 0, 0.04),\n 0 5px 12px 0 rgba(0, 0, 0, 0.04);\n max-height: min(850px, calc(100vh - 80px));\n margin: 40px 16px;\n\n @media (max-width: 600px) {\n top: 16px;\n bottom: 16px;\n left: 16px;\n right: 16px;\n width: auto;\n height: auto;\n max-width: none;\n max-height: none;\n margin: 0;\n }\n "],["\n border-radius: 12px;\n box-shadow: 0 136px 38px 0 rgba(0, 0, 0, 0),\n 0 87px 35px 0 rgba(0, 0, 0, 0.01),\n 0 49px 29px 0 rgba(0, 0, 0, 0.02),\n 0 22px 22px 0 rgba(0, 0, 0, 0.04),\n 0 5px 12px 0 rgba(0, 0, 0, 0.04);\n max-height: min(850px, calc(100vh - 80px));\n margin: 40px 16px;\n\n @media (max-width: 600px) {\n top: 16px;\n bottom: 16px;\n left: 16px;\n right: 16px;\n width: auto;\n height: auto;\n max-width: none;\n max-height: none;\n margin: 0;\n }\n "])))}),f=t.div(b||(b=n(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #ffffff;\n transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n overflow: hidden;\n padding-bottom: env(safe-area-inset-bottom);\n\n ","\n"],["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #ffffff;\n transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n overflow: hidden;\n padding-bottom: env(safe-area-inset-bottom);\n\n ","\n"])),function(t){var i=t.$isActive;return t.$isMain?o(l||(l=n(["\n transform: translateX(0%);\n z-index: 1;\n "],["\n transform: translateX(0%);\n z-index: 1;\n "]))):o(x||(x=n(["\n transform: translateX(",");\n z-index: 2;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); \n "],["\n transform: translateX(",");\n z-index: 2;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); \n "])),i?"0%":"100%")}),m=t.div(c||(c=n(["\n position: absolute;\n bottom: 20px;\n ","\n display: flex;\n flex-direction: column;\n align-items: ",";\n transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;\n opacity: ",";\n transform: ",";\n pointer-events: ",";\n"],["\n position: absolute;\n bottom: 20px;\n ","\n display: flex;\n flex-direction: column;\n align-items: ",";\n transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;\n opacity: ",";\n transform: ",";\n pointer-events: ",";\n"])),function(n){return n.$widgetPosition===i.LEFT?"left: 20px;":"right: 20px;"},function(n){return n.$widgetPosition===i.LEFT?"flex-start":"flex-end"},function(n){return n.$isVisible?1:0},function(n){return n.$isVisible?"translateY(0)":"translateY(10px)"},function(n){return n.$isVisible?"auto":"none"});export{h as Container,m as MiniModeWrapper,u as Panel,f as ScreenWrapper};