@ikas/loyalty-widget-renderer 1.0.0-alpha.65 → 1.0.0-alpha.67

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 (27) hide show
  1. package/build/models/loyalty-widget/index.d.ts +2 -0
  2. package/build/models/loyalty-widget/index.js +1 -1
  3. package/build/models/loyalty-widget/translations.d.ts +12 -0
  4. package/build/models/loyalty-widget/translations.js +1 -0
  5. package/build/models/types/index.d.ts +7 -1
  6. package/build/renderer/components/animate-height/index.d.ts +9 -0
  7. package/build/renderer/components/animate-height/index.js +1 -0
  8. package/build/renderer/components/mini-mode-description/index.js +1 -1
  9. package/build/renderer/components/translation-settings/style.d.ts +9 -0
  10. package/build/renderer/index.js +1 -1
  11. package/build/renderer/screens/credit-earning-methods-screen/style.js +1 -1
  12. package/build/renderer/screens/credit-spending-methods-screen/index.js +1 -1
  13. package/build/renderer/screens/credit-spending-methods-screen/style.js +1 -1
  14. package/build/renderer/screens/main-screen/applied-discount/index.js +1 -1
  15. package/build/renderer/screens/main-screen/index.js +1 -1
  16. package/build/renderer/utils/i18n.d.ts +617 -0
  17. package/build/renderer/utils/i18n.js +1 -1
  18. package/build/renderer/utils/locales/de.json.js +1 -0
  19. package/build/renderer/utils/locales/en.json.js +1 -1
  20. package/build/renderer/utils/locales/fr.json.js +1 -0
  21. package/build/renderer/utils/locales/nl.json.js +1 -0
  22. package/build/renderer/utils/locales/tr.json.js +1 -1
  23. package/build/renderer/utils/object-utils.d.ts +2 -0
  24. package/build/renderer/utils/object-utils.js +1 -0
  25. package/build/storefront-widget-script-injector.iife.js +6 -6
  26. package/build/storefront-widget-script-injector.iife.js.map +1 -1
  27. package/package.json +1 -1
@@ -2,11 +2,13 @@ import { MiniMode } from "models/mini-mode";
2
2
  import { LoyaltyWidgetButton } from "../button";
3
3
  import { LoyaltyWidgetHeader } from "./header";
4
4
  import { LoyaltyWidgetSettings } from "./settings";
5
+ import { LoyaltyWidgetTranslations } from "./translations";
5
6
  export declare class LoyaltyWidget {
6
7
  id: string;
7
8
  settings: LoyaltyWidgetSettings;
8
9
  header: LoyaltyWidgetHeader;
9
10
  button: LoyaltyWidgetButton;
10
11
  miniMode: MiniMode;
12
+ translations: LoyaltyWidgetTranslations;
11
13
  constructor(data?: Partial<LoyaltyWidget>);
12
14
  }
@@ -1 +1 @@
1
- import{makeObservable as e,observable as i}from"mobx";import'./../../ext/uuid/dist/esm-browser/stringify.js';import'./../../ext/uuid/dist/esm-browser/v3.js';import t from'./../../ext/uuid/dist/esm-browser/v4.js';import'./../../ext/uuid/dist/esm-browser/v5.js';import{MiniMode as o}from"../mini-mode/index.js";import{LoyaltyWidgetButton as s}from"../button/index.js";import{LoyaltyWidgetHeader as d}from"./header/index.js";import{LoyaltyWidgetSettings as n}from"./settings/index.js";var r=function(r){void 0===r&&(r={}),this.id=r.id||t(),this.header=r.header?new d(r.header):new d({}),this.settings=r.settings?new n(r.settings):new n({}),this.miniMode=r.miniMode?new o(r.miniMode):new o({}),this.button=r.button?new s(r.button):new s({}),e(this,{id:i,miniMode:i,button:i,header:i,settings:i})};export{r as LoyaltyWidget};
1
+ import{makeObservable as i,observable as t}from"mobx";import'./../../ext/uuid/dist/esm-browser/stringify.js';import'./../../ext/uuid/dist/esm-browser/v3.js';import s from'./../../ext/uuid/dist/esm-browser/v4.js';import'./../../ext/uuid/dist/esm-browser/v5.js';import{MiniMode as e}from"../mini-mode/index.js";import{LoyaltyWidgetButton as o}from"../button/index.js";import{LoyaltyWidgetHeader as n}from"./header/index.js";import{LoyaltyWidgetSettings as r}from"./settings/index.js";import{LoyaltyWidgetTranslations as d}from"./translations.js";var m=function(m){void 0===m&&(m={}),this.id=m.id||s(),this.header=m.header?new n(m.header):new n({}),this.settings=m.settings?new r(m.settings):new r({}),this.miniMode=m.miniMode?new e(m.miniMode):new e({}),this.button=m.button?new o(m.button):new o({}),this.translations=m.translations?new d(m.translations):new d({}),i(this,{id:t,miniMode:t,button:t,header:t,settings:t,translations:t})};export{m as LoyaltyWidget};
@@ -0,0 +1,12 @@
1
+ export declare enum LoyaltyLocal {
2
+ TR = "tr",
3
+ EN = "en",
4
+ DE = "de",
5
+ NL = "nl",
6
+ FR = "fr"
7
+ }
8
+ export declare class LoyaltyWidgetTranslations {
9
+ language: LoyaltyLocal;
10
+ custom: Record<string, string>;
11
+ constructor(data?: Partial<LoyaltyWidgetTranslations>);
12
+ }
@@ -0,0 +1 @@
1
+ import{makeObservable as t,observable as o}from"mobx";var n;!function(t){t.TR="tr",t.EN="en",t.DE="de",t.NL="nl",t.FR="fr"}(n||(n={}));var a=function(a){void 0===a&&(a={}),this.language=a.language||n.TR,this.custom=a.custom||{},t(this,{language:o,custom:o})};export{n as LoyaltyLocal,a as LoyaltyWidgetTranslations};
@@ -88,8 +88,14 @@ export declare enum LoyaltyProgramPointHistoryTypeEnum {
88
88
  EARN = "EARN",
89
89
  SPEND = "SPEND"
90
90
  }
91
+ export interface LoyaltyProgramPointHistoryTypeEnumFilterInput {
92
+ eq?: LoyaltyProgramPointHistoryTypeEnum | null;
93
+ in?: LoyaltyProgramPointHistoryTypeEnum[] | null;
94
+ ne?: LoyaltyProgramPointHistoryTypeEnum | null;
95
+ nin?: LoyaltyProgramPointHistoryTypeEnum[] | null;
96
+ }
91
97
  export type ListLoyaltyProgramPointHistoryInput = {
92
- loyaltyProgramId?: StringFilterInput;
98
+ type?: LoyaltyProgramPointHistoryTypeEnumFilterInput | null;
93
99
  };
94
100
  export type LoyaltyWidgetCallbacks = {
95
101
  listSpendingMethodsByCartId: (cartId?: string | null) => Promise<LoyaltyProgramSpendingMethod[]>;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface AnimateHeightProps {
3
+ children: React.ReactNode;
4
+ duration?: number;
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ }
8
+ declare const AnimateHeight: React.FC<AnimateHeightProps>;
9
+ export default AnimateHeight;
@@ -0,0 +1 @@
1
+ import{__makeTemplateObject as e}from'./../../../ext/tslib/tslib.es6.mjs.js';import t,{useRef as n,useState as r,useEffect as o}from"react";import i from"styled-components";var a,s=i.div(a||(a=e(["\n height: ",";\n overflow: hidden;\n transition: height ","ms ease-in-out;\n"],["\n height: ",";\n overflow: hidden;\n transition: height ","ms ease-in-out;\n"])),function(e){var t=e.$height;return"auto"===t?"auto":"".concat(t,"px")},function(e){return e.$duration}),u=function(e){var i=e.children,a=e.duration,u=void 0===a?300:a,c=e.className,l=e.style,d=n(null),h=r("auto"),f=h[0],m=h[1];return o(function(){if(d.current){var e=new ResizeObserver(function(e){for(var t=0,n=e;t<n.length;t++){var r=n[t];r.target===d.current&&m(r.borderBoxSize[0].blockSize)}});return e.observe(d.current),function(){e.disconnect()}}},[]),t.createElement(s,{$height:f,$duration:u,className:c,style:l},t.createElement("div",{ref:d},i))};export{u as default};
@@ -1 +1 @@
1
- import e from"react";import{observer as o}from"mobx-react";import{WidgetMode as t}from"../../../models/types/index.js";import{XClose as i}from"../../../assets/icons/x-close.js";import{Container as r,CloseButton as a,Text as n}from"./style.js";var l=o(function(o){var l=o.viewModel;return l.isMiniModeDescriptionClosed?null:e.createElement(r,{onClick:function(e){e.stopPropagation(),l.setWidgetMode(t.WIDGET_MODE)}},e.createElement(a,{onClick:function(e){e.stopPropagation(),l.closeMiniModeDescription()}},e.createElement(i,null)),e.createElement(n,null,"Merhaba! 👋 Sadakat programın ve destek ekibimiz burada. Puanlarına göz at veya ekibimizle konuş."))});export{l as default};
1
+ import e from"react";import{observer as o}from"mobx-react";import{WidgetMode as t}from"../../../models/types/index.js";import{XClose as i}from"../../../assets/icons/x-close.js";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{Container as r,CloseButton as s,Text as l}from"./style.js";var m=o(function(o){var m=o.viewModel,c=n().t;return m.isMiniModeDescriptionClosed?null:e.createElement(r,{onClick:function(e){e.stopPropagation(),m.setWidgetMode(t.WIDGET_MODE)}},e.createElement(s,{onClick:function(e){e.stopPropagation(),m.closeMiniModeDescription()}},e.createElement(i,null)),e.createElement(l,null,c("miniMode.description")))});export{m as default};
@@ -0,0 +1,9 @@
1
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const Header: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const HeaderCol: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const List: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const Row: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const OriginalText: import("styled-components").StyledComponent<"div", any, {}, never>;
7
+ export declare const ArrowConnection: import("styled-components").StyledComponent<"div", any, {}, never>;
8
+ export declare const InputWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
9
+ export declare const Input: import("styled-components").StyledComponent<"input", any, {}, never>;
@@ -1 +1 @@
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 y,EarningMethodTypeEnum as p,LoyaltyProgramFilterTypeEnum as h,LoyaltyProgramMethodSpendingTypeEnum as R}from"../models/types/index.js";import T from"./components/mini-mode-button/index.js";import w from"./components/mini-mode-description/index.js";import I from"./screens/credit-earning-methods-screen/index.js";import b from"./screens/credit-history-screen/index.js";import M 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 $=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===p.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,$()];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,i,o,s=null===(n=null===(t=e.data)||void 0===t?void 0:t.cart)||void 0===n?void 0:n.id;0===(null===(o=null===(i=null===(r=e.data)||void 0===r?void 0:r.cart)||void 0===i?void 0:i.orderLineItems)||void 0===o?void 0:o.length)?x.cartId=null:x.cartId=s,x.cartRefreshTrigger++},n={CUSTOMER_LOGIN:e,CUSTOMER_VISIT:e,CUSTOMER_LOGOUT:function(){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];console.log("event"),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,n||(x.ikasEventUser=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,$()];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 G=function(e){x.selectedScreen=e},B=function(){x.setWidgetMode(g.MINI_MODE),setTimeout(function(){x.selectedScreen=y.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===y.MAIN_SCREEN,V=o(null),z=V[0],H=V[1];s(function(){x.selectedScreen!==y.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;if(!U)return null;var K=(null==L?void 0:L.position)||(null===(P=window.ikasLoyaltyWidgetConfig)||void 0===P?void 0:P.position)||"fixed";return i.createElement(a,{i18n:_},i.createElement(S,{$layoutType:J,$widgetPosition:q,$widgetMode:x.currentWidgetMode,$position:K,onClick:function(){x.currentWidgetMode===g.WIDGET_MODE&&B()},className:"ikas-storefront-widget"},i.createElement(A,{$isVisible:x.currentWidgetMode===g.MINI_MODE,$widgetPosition:q},i.createElement(w,{viewModel:x}),i.createElement(T,{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,$layoutType:J},i.createElement(C,{viewModel:x,onClose:B,onNavigate:G})),i.createElement(D,{$isActive:!F,$isMain:!1,$layoutType:J},function(){switch(Y){case y.CREDIT_SPENDING_METHODS_SCREEN:return i.createElement(M,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:B});case y.CREDIT_EARNING_METHODS_SCREEN:return i.createElement(I,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:B});case y.CREDIT_HISTORY_SCREEN:return i.createElement(b,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:B});case y.LOYALTY_LEVEL_SCREEN:return i.createElement(k,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:B});default:return null}}()))))});export{O as default};
1
+ import{__awaiter as e,__generator as t,__spreadArray as n}from'./../ext/tslib/tslib.es6.mjs.js';import{toJS as r}from"mobx";import{observer as i}from"mobx-react";import o,{useState as s,useEffect as a}from"react";import'./../ext/react-i18next/dist/es/context.js';import{I18nextProvider as l}from'./../ext/react-i18next/dist/es/I18nextProvider.js';import{LoyaltyWidgetViewModel as c}from"../models/index.js";import{LoyaltyCustomerInfo as d}from"../models/loyalty-customer-info/index.js";import{LoyaltyProgramEarningMethod as u}from"../models/loyalty-program-earning-method/index.js";import{LoyaltyProgramPointHistory as f}from"../models/loyalty-program-point-history/index.js";import{LoyaltyProgramSpendingMethod as m}from"../models/loyalty-program-spending-method/index.js";import{LoyaltyWidget as v}from"../models/loyalty-widget/index.js";import{WidgetPositionEnum as g,LoyaltyWidgetLayoutTypeEnum as E}from"../models/loyalty-widget/types/index.js";import{WidgetMode as y,LoyaltyWidgetScreenTypeEnum as p,EarningMethodTypeEnum as h,LoyaltyProgramFilterTypeEnum as R,LoyaltyProgramMethodSpendingTypeEnum as T}from"../models/types/index.js";import I from"./components/mini-mode-button/index.js";import b from"./components/mini-mode-description/index.js";import w from"./screens/credit-earning-methods-screen/index.js";import M from"./screens/credit-history-screen/index.js";import k from"./screens/credit-spending-methods-screen/index.js";import _ from"./screens/loyalty-level-screen/index.js";import C from"./screens/main-screen/index.js";import{unflatten as S}from"./utils/object-utils.js";import N from"./utils/i18n.js";import{Container as A,MiniModeWrapper as O,Panel as D,ScreenWrapper as L}from"./style.js";var P=i(function(i){var P,j,x=i.config,U=s(function(){var e=x||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],W=s(!1),$=W[0],G=W[1],B=U.loyaltyWidget.translations,V=JSON.stringify(r(null==B?void 0:B.custom));a(function(){var e=null==B?void 0:B.language,t=(null==B?void 0:B.custom)?r(B.custom):{};if(e){var n=["tr","en","de","nl","fr"].includes(e)?e:"en";if(N.language!==n&&N.changeLanguage(n),Object.keys(t).length>0){var i=S(t);N.addResourceBundle(n,"translation",i,!0,!0)}}},[null==B?void 0:B.language,V]),a(function(){var e=x||window.ikasLoyaltyWidgetConfig;(null==e?void 0:e.onViewModelInitialized)&&e.onViewModelInitialized(U)},[U,x]);var F=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 U.callbacks?(e=new Set,r=new Set,i=new Set,o=new Set,U.earningMethods.forEach(function(t){var s,a;t.methodType===h.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===R.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){return e.add(t)}):t.type===R.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===R.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===R.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),U.spendingMethods&&U.spendingMethods.forEach(function(t){var n,s;t.type===T.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===R.PRODUCT_AND_VARIANT?t.idList.forEach(function(t){return e.add(t)}):t.type===R.CATEGORY?t.idList.forEach(function(e){return r.add(e)}):t.type===R.PRODUCT_BRAND?t.idList.forEach(function(e){return i.add(e)}):t.type===R.PRODUCT_TAG&&t.idList.forEach(function(e){return o.add(e)})})}),s=[],e.size>0&&U.callbacks.getProducts&&s.push(U.callbacks.getProducts(Array.from(e)).then(function(e){return U.products=e})),r.size>0&&U.callbacks.getCategories&&s.push(U.callbacks.getCategories(Array.from(r)).then(function(e){return U.categories=e})),i.size>0&&U.callbacks.getBrands&&s.push(U.callbacks.getBrands(Array.from(i)).then(function(e){return U.brands=e})),o.size>0&&U.callbacks.getTags&&s.push(U.callbacks.getTags(Array.from(o)).then(function(e){return U.tags=e})),[4,Promise.all(s)]):[2];case 1:return t.sent(),[2]}})})};a(function(){e(void 0,void 0,void 0,function(){var e,n,r,i,o,s;return t(this,function(t){switch(t.label){case 0:if(!U.callbacks)return[3,6];t.label=1;case 1:return t.trys.push([1,4,5,6]),e=[U.callbacks.getLoyaltyWidget(),U.callbacks.listEarningMethods(),U.callbacks.listLoyaltyProgramTier({})],[4,Promise.all(e)];case 2:return n=t.sent(),r=n[0],i=n[1],o=n[2],U.loyaltyWidget=r instanceof v?r:new v(r||{}),U.earningMethods=i.map(function(e){return new u(e)}),U.tiers=o||[],[4,F()];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 G(!0),[7];case 6:return[2]}})})},[]),a(function(){if(window.IkasEvents){var e=function(e){var t,n=null===(t=e.data)||void 0===t?void 0:t.customer;n&&(U.ikasEventUser=n),U.userRefreshTrigger++,U.cartRefreshTrigger++},t=function(e){var t,n,r,i,o,s=U.cartId,a=null===(n=null===(t=e.data)||void 0===t?void 0:t.cart)||void 0===n?void 0:n.id;0===(null===(o=null===(i=null===(r=e.data)||void 0===r?void 0:r.cart)||void 0===i?void 0:i.orderLineItems)||void 0===o?void 0:o.length)?U.cartId=null:U.cartId=a,s!==U.cartId&&U.cartRefreshTrigger++},n={CUSTOMER_LOGIN:e,CUSTOMER_VISIT:e,CUSTOMER_LOGOUT:function(){U.userRefreshTrigger++,U.cartRefreshTrigger++},ADD_TO_CART:t,REMOVE_FROM_CART:t,REMOVE_LOYALTY_POINTS:function(e){U.cartRefreshTrigger++,U.userRefreshTrigger++},PAGE_VIEW:function(e){var t,n,r=null===(t=e.data)||void 0===t?void 0:t.customer;if(r){var i=!U.ikasEventUser,o=(null===(n=U.ikasEventUser)||void 0===n?void 0:n.subscriptionStatus)!==r.subscriptionStatus;(i||o)&&(U.ikasEventUser=r,U.userRefreshTrigger++,U.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)}}},[U]),a(function(){e(void 0,void 0,void 0,function(){var e,n,r,i,o;return t(this,function(t){switch(t.label){case 0:if(!U.callbacks||!(null===(o=U.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([U.callbacks.getLoyaltyCustomerInfo(),U.callbacks.listLoyaltyProgramPointHistory({})])];case 2:return e=t.sent(),n=e[0],r=e[1],U.user=n?new d(n):null,n||(U.ikasEventUser=null),U.pointHistory=r?r.map(function(e){return new f(e)}):[],[3,4];case 3:return i=t.sent(),console.error("Failed to fetch user data",i),[3,4];case 4:return[2]}})})},[null===(P=U.ikasEventUser)||void 0===P?void 0:P.id,U.userRefreshTrigger]),a(function(){e(void 0,void 0,void 0,function(){var e,n;return t(this,function(t){switch(t.label){case 0:if(!U.callbacks)return[3,5];t.label=1;case 1:return t.trys.push([1,4,,5]),[4,U.callbacks.listSpendingMethodsByCartId(U.cartId)];case 2:return e=t.sent(),U.spendingMethods=e.map(function(e){return new m(e)}),[4,F()];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]}})})},[U.cartId,U.cartRefreshTrigger]);var z=function(e){U.selectedScreen=e},Y=function(){U.setWidgetMode(y.MINI_MODE),setTimeout(function(){U.selectedScreen=p.MAIN_SCREEN},300)};a(function(){return U.currentWidgetMode===y.WIDGET_MODE?document.body.style.overflow="hidden":document.body.style.overflow="",function(){document.body.style.overflow=""}},[U.currentWidgetMode]);var H=U.selectedScreen===p.MAIN_SCREEN,J=s(null),q=J[0],K=J[1];a(function(){U.selectedScreen!==p.MAIN_SCREEN&&K(U.selectedScreen)},[U.selectedScreen]);var Q=H?q:U.selectedScreen,X=U.loyaltyWidget.settings.position||g.RIGHT,Z=U.loyaltyWidget.settings.type||E.DRAWER;if(!$)return null;var ee=(null==x?void 0:x.position)||(null===(j=window.ikasLoyaltyWidgetConfig)||void 0===j?void 0:j.position)||"fixed";return o.createElement(l,{i18n:N},o.createElement(A,{$layoutType:Z,$widgetPosition:X,$widgetMode:U.currentWidgetMode,$position:ee,onClick:function(){U.currentWidgetMode===y.WIDGET_MODE&&Y()},className:"ikas-storefront-widget"},o.createElement(O,{$isVisible:U.currentWidgetMode===y.MINI_MODE,$widgetPosition:X},o.createElement(b,{viewModel:U}),o.createElement(I,{viewModel:U})),o.createElement(D,{$layoutType:Z,$isOpen:U.currentWidgetMode===y.WIDGET_MODE,$widgetPosition:X,onClick:function(e){return e.stopPropagation()}},o.createElement(L,{$isActive:H,$isMain:!0,$layoutType:Z},o.createElement(C,{viewModel:U,onClose:Y,onNavigate:z})),o.createElement(L,{$isActive:!H,$isMain:!1,$layoutType:Z},function(){switch(Q){case p.CREDIT_SPENDING_METHODS_SCREEN:return o.createElement(k,{viewModel:U,onBack:function(){return z(p.MAIN_SCREEN)},onClose:Y});case p.CREDIT_EARNING_METHODS_SCREEN:return o.createElement(w,{viewModel:U,onBack:function(){return z(p.MAIN_SCREEN)},onClose:Y});case p.CREDIT_HISTORY_SCREEN:return o.createElement(M,{viewModel:U,onBack:function(){return z(p.MAIN_SCREEN)},onClose:Y});case p.LOYALTY_LEVEL_SCREEN:return o.createElement(_,{viewModel:U,onBack:function(){return z(p.MAIN_SCREEN)},onClose:Y});default:return null}}()))))});export{P as default};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"styled-components";import{textMDMedium as e}from"../../components/style/typography.js";var t,i,r,d,p,l=o.div(t||(t=n(["\n display: flex;\n flex-direction: column;\n height: 100%;\n"],["\n display: flex;\n flex-direction: column;\n height: 100%;\n"]))),c=o.div(i||(i=n(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #EEF2F6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"],["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #EEF2F6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"]))),s=o.div(r||(r=n(["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"],["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"])),e),f=o.button(d||(d=n(["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n \n &:hover {\n opacity: 0.8;\n }\n"],["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n \n &:hover {\n opacity: 0.8;\n }\n"]))),a=o.div(p||(p=n(["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"],["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"])));export{l as Container,a as Content,c as Header,f as IconButton,s as Title};
1
+ import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"styled-components";import{textMDMedium as e}from"../../components/style/typography.js";var t,i,r,d,p,l=o.div(t||(t=n(["\n display: flex;\n flex-direction: column;\n height: 100%;\n"],["\n display: flex;\n flex-direction: column;\n height: 100%;\n"]))),f=o.div(i||(i=n(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #eef2f6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"],["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #eef2f6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"]))),c=o.div(r||(r=n(["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"],["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"])),e),s=o.button(d||(d=n(["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n\n &:hover {\n opacity: 0.8;\n }\n"],["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n\n &:hover {\n opacity: 0.8;\n }\n"]))),a=o.div(p||(p=n(["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"],["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"])));export{l as Container,a as Content,f as Header,s as IconButton,c as Title};
@@ -1 +1 @@
1
- import{observer as e}from"mobx-react";import t from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as n}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{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 m,IconButton as c,Title as a,Content as d,PointsSection as u,PointsTitle as p,PointsValue as E}from"./style.js";var f=e(function(e){var f=e.viewModel,x=e.onBack,j=e.onClose,g=n().t,h=f.user;return t.createElement(i,null,t.createElement(m,null,t.createElement(c,{onClick:x},t.createElement(o,null)),t.createElement(a,null,g("screens.creditSpendingMethods")),t.createElement(c,{onClick:j},t.createElement(r,null))),t.createElement(d,null,h&&t.createElement(u,{$borderRadius:f.loyaltyWidget.settings.cartBorderRadius},t.createElement(p,null,g("header.earnedPoints")),t.createElement(E,null,t.createElement(l,{end:h.totalPoint}))),t.createElement(s,{viewModel:f,mode:"accordion",methods:f.spendingMethods,getActionProps:function(e){return null}})))});export{f 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 r}from"../../../assets/icons/chevron-left.js";import{XClose as o}from"../../../assets/icons/x-close.js";import l from"../../components/count-up/index.js";import s from"../main-screen/cart-warning/index.js";import i from"../main-screen/spending-methods-section/index.js";import{Container as m,Header as a,IconButton as c,Title as d,Content as u,PointsSection as p,PointsTitle as E,PointsValue as f}from"./style.js";var g=e(function(e){var g=e.viewModel,x=e.onBack,j=e.onClose,v=n().t,h=g.user;return t.createElement(m,null,t.createElement(a,null,t.createElement(c,{onClick:x},t.createElement(r,null)),t.createElement(d,null,v("screens.creditSpendingMethods")),t.createElement(c,{onClick:j},t.createElement(o,null))),t.createElement(u,null,h&&t.createElement(p,{$borderRadius:g.loyaltyWidget.settings.cartBorderRadius},t.createElement(E,null,v("header.earnedPoints")),t.createElement(f,null,t.createElement(l,{end:h.totalPoint}))),!!h&&!g.cartId&&t.createElement("div",{style:{padding:"0 16px",marginBottom:16}},t.createElement(s,{viewModel:g})),t.createElement("div",{style:{marginTop:8}},t.createElement(i,{viewModel:g,mode:"accordion",methods:g.spendingMethods,getActionProps:function(e){return null}}))))});export{g as default};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"styled-components";import{textMDMedium as e,textSMMedium as r,textXLSemiBold as t}from"../../components/style/typography.js";var i,p,d,f,a,x,c,l,s=o.div(i||(i=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"]))),g=o.div(p||(p=n(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #eef2f6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"],["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #eef2f6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"]))),b=o.div(d||(d=n(["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"],["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"])),e),u=o.button(f||(f=n(["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n\n &:hover {\n opacity: 0.8;\n }\n"],["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n\n &:hover {\n opacity: 0.8;\n }\n"]))),m=o.div(a||(a=n(["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"],["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"]))),y=o.div(x||(x=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n box-shadow: 0 7px 2px 0 rgba(0, 0, 0, 0), 0 5px 2px 0 rgba(0, 0, 0, 0.01),\n 0 3px 2px 0 rgba(0, 0, 0, 0.02), 0 1px 1px 0 rgba(0, 0, 0, 0.03),\n 0 0 1px 0 rgba(0, 0, 0, 0.04);\n margin: 0 16px 28px 16px;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n box-shadow: 0 7px 2px 0 rgba(0, 0, 0, 0), 0 5px 2px 0 rgba(0, 0, 0, 0.01),\n 0 3px 2px 0 rgba(0, 0, 0, 0.02), 0 1px 1px 0 rgba(0, 0, 0, 0.03),\n 0 0 1px 0 rgba(0, 0, 0, 0.04);\n margin: 0 16px 28px 16px;\n"])),function(n){var o=n.$borderRadius;return"".concat(o,"px")}),v=o.div(c||(c=n(["\n ","\n color: #121926;\n"],["\n ","\n color: #121926;\n"])),r),k=o.div(l||(l=n(["\n ","\n color: #121926;\n"],["\n ","\n color: #121926;\n"])),t);export{s as Container,m as Content,g as Header,u as IconButton,y as PointsSection,v as PointsTitle,k as PointsValue,b as Title};
1
+ import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import o from"styled-components";import{textMDMedium as e,textSMMedium as r,textXLSemiBold as t}from"../../components/style/typography.js";var i,p,d,f,a,x,c,l,s=o.div(i||(i=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"]))),g=o.div(p||(p=n(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #eef2f6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"],["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid #eef2f6;\n position: sticky;\n top: 0;\n background-color: #ffffff;\n z-index: 10;\n"]))),b=o.div(d||(d=n(["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"],["\n ","\n color: #121926;\n text-align: center;\n flex: 1;\n"])),e),u=o.button(f||(f=n(["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n\n &:hover {\n opacity: 0.8;\n }\n"],["\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #697586;\n\n &:hover {\n opacity: 0.8;\n }\n"]))),m=o.div(a||(a=n(["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"],["\n padding-top: 20px;\n padding-bottom: 20px;\n flex: 1;\n overflow-y: auto;\n"]))),y=o.div(x||(x=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n box-shadow:\n 0 7px 2px 0 rgba(0, 0, 0, 0),\n 0 5px 2px 0 rgba(0, 0, 0, 0.01),\n 0 3px 2px 0 rgba(0, 0, 0, 0.02),\n 0 1px 1px 0 rgba(0, 0, 0, 0.03),\n 0 0 1px 0 rgba(0, 0, 0, 0.04);\n margin: 0 16px 20px 16px;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n box-shadow:\n 0 7px 2px 0 rgba(0, 0, 0, 0),\n 0 5px 2px 0 rgba(0, 0, 0, 0.01),\n 0 3px 2px 0 rgba(0, 0, 0, 0.02),\n 0 1px 1px 0 rgba(0, 0, 0, 0.03),\n 0 0 1px 0 rgba(0, 0, 0, 0.04);\n margin: 0 16px 20px 16px;\n"])),function(n){var o=n.$borderRadius;return"".concat(o,"px")}),v=o.div(c||(c=n(["\n ","\n color: #121926;\n"],["\n ","\n color: #121926;\n"])),r),k=o.div(l||(l=n(["\n ","\n color: #121926;\n"],["\n ","\n color: #121926;\n"])),t);export{s as Container,m as Content,g as Header,u as IconButton,y as PointsSection,v as PointsTitle,k as PointsValue,b as Title};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as r}from"mobx-react";import n from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as o}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{ArrowRight as i}from"../../../../assets/icons/arrow-right.js";import{CheckCircle as c}from"../../../../assets/icons/check-circle.js";import{CheckFillIllustration as s}from"../../../../assets/widget-icons/illustraions/check-fill.js";import{CampaignTypeEnum as a}from"../../../../models/loyalty-customer-info/index.js";import{WidgetIconTypeEnum as l}from"../../../../models/loyalty-widget/types/index.js";import{Container as u,IconWrapper as m,ContentWrapper as d,TextRow as p,ButtonsRow as f,ActionButton as E,Loader as y,ArrowIcon as _}from"./style.js";var g=r(function(r){var g=r.viewModel,h=r.line,v=o().t,T=g.loyaltyWidget.settings.widgetIconType,j=n.useState(!1),w=j[0],b=j[1];return n.createElement(u,null,n.createElement(m,{$iconType:T},function(){switch(T){case l.ILLUSTRATION:return n.createElement(s,null);case l.NORMAL:case l.NONE:default:return n.createElement(c,null)}}()),n.createElement(d,null,n.createElement(p,null,function(){var e=g.formatCurrency(h.discountAmount);switch(h.campaignType){case a.FIXED_AMOUNT:return v("main_screen.appliedDiscount.fixedAmount",{amount:e});case a.FREE_SHIPPING:return v("main_screen.appliedDiscount.freeShipping");case a.RATIO:return v("main_screen.appliedDiscount.ratio",{amount:"%".concat(h.discountAmount)});case a.BUY_X_THEN_GET_Y:return v("main_screen.appliedDiscount.freeProduct");default:return v("main_screen.appliedDiscount.generic",{amount:e})}}()),n.createElement(f,null,n.createElement(E,{$color:"#697586",$disabled:w,onClick:function(){return e(void 0,void 0,void 0,function(){var e;return t(this,function(t){switch(t.label){case 0:if(!(null===(e=g.callbacks)||void 0===e?void 0:e.removeLoyaltyPointsFromCart))return[3,4];b(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,g.callbacks.removeLoyaltyPointsFromCart()];case 2:return t.sent(),g.cartRefreshTrigger++,g.userRefreshTrigger++,[3,4];case 3:return b(!1),[7];case 4:return[2]}})})}},w&&n.createElement(y,null),v("main_screen.appliedDiscount.remove")),n.createElement(E,{$color:"#121926",$disabled:w,onClick:function(){g.storeUrl&&g.cartId&&(window.location.href="".concat(g.storeUrl,"/checkout?id=").concat(g.cartId,"&step=info"))}},v("main_screen.appliedDiscount.goToCheckout"),n.createElement(_,null,n.createElement(i,null))))))});export{g as default};
1
+ import{__awaiter as e,__generator as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as n}from"mobx-react";import r from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as o}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{ArrowRight as i}from"../../../../assets/icons/arrow-right.js";import{CheckCircle as c}from"../../../../assets/icons/check-circle.js";import{CheckFillIllustration as s}from"../../../../assets/widget-icons/illustraions/check-fill.js";import{CampaignTypeEnum as a}from"../../../../models/loyalty-customer-info/index.js";import{WidgetIconTypeEnum as l}from"../../../../models/loyalty-widget/types/index.js";import{Container as u,IconWrapper as m,ContentWrapper as d,TextRow as p,ButtonsRow as f,ActionButton as E,Loader as y,ArrowIcon as _}from"./style.js";var v=n(function(n){var v=n.viewModel,h=n.line,T=o().t,g=v.loyaltyWidget.settings.widgetIconType,j=r.useState(!1),w=j[0],b=j[1];return r.createElement(u,null,r.createElement(m,{$iconType:g},function(){switch(g){case l.ILLUSTRATION:return r.createElement(s,null);case l.NORMAL:case l.NONE:default:return r.createElement(c,null)}}()),r.createElement(d,null,r.createElement(p,null,function(){var e=v.formatCurrency(h.discountAmount);switch(h.campaignType){case a.FIXED_AMOUNT:return T("main_screen.appliedDiscount.fixedAmount",{amount:e});case a.FREE_SHIPPING:return T("main_screen.appliedDiscount.freeShipping");case a.RATIO:return T("main_screen.appliedDiscount.ratio",{amount:"%".concat(h.discountAmount)});case a.BUY_X_THEN_GET_Y:return T("main_screen.appliedDiscount.freeProduct");default:return T("main_screen.appliedDiscount.generic",{amount:e})}}()),r.createElement(f,null,r.createElement(E,{$color:"#697586",$disabled:w,onClick:function(){return e(void 0,void 0,void 0,function(){var e;return t(this,function(t){switch(t.label){case 0:if(!(null===(e=v.callbacks)||void 0===e?void 0:e.removeLoyaltyPointsFromCart))return[3,4];b(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,v.callbacks.removeLoyaltyPointsFromCart()];case 2:return t.sent(),[3,4];case 3:return b(!1),[7];case 4:return[2]}})})}},w&&r.createElement(y,null),T("main_screen.appliedDiscount.remove")),r.createElement(E,{$color:"#121926",$disabled:w,onClick:function(){v.storeUrl&&v.cartId&&(window.location.href="".concat(v.storeUrl,"/checkout?id=").concat(v.cartId,"&step=info"))}},T("main_screen.appliedDiscount.goToCheckout"),r.createElement(_,null,r.createElement(i,null))))))});export{v as default};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t,__assign as n}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 r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{EarningMethodTypeEnum as a,WidgetMode as s}from"../../../models/types/index.js";import d from"../../components/section-title/index.js";import l from"./applied-discount/index.js";import m from"./cart-warning/index.js";import c from"./earning-methods-section/index.js";import p from"./header/index.js";import{CARD_OVERLAP_TOP as g}from"./header/style.js";import u from"./program-info-section/index.js";import f from"./spending-methods-section/index.js";import{Container as h,Content as v,Section as E}from"./style.js";var x=o(function(o){var x,M=o.viewModel,T=o.onClose,y=o.onNavigate,j=r().t,b=i.useState(0),w=b[0],S=b[1],k=Math.max(w-g+32,32),C=M.spendingMethods.filter(function(e){return e.isAvailable}),I=!!M.user&&!M.cartId,_=M.shouldShowSpendingMethods&&C.length>0,L=M.earningMethods.length>0,R=_||L,A=(null===(x=M.user)||void 0===x?void 0:x.cartLoyaltyLines)||[];return i.createElement(h,null,i.createElement(p,{viewModel:M,onClose:T,onCardHeightChange:S,headerGap:24}),i.createElement(v,{$topPadding:k},A.length>0&&i.createElement("div",{style:{padding:"0 16px",marginTop:-10,marginBottom:32,display:"flex",flexDirection:"column",gap:8}},A.map(function(e,t){return i.createElement(l,{key:e.loyaltySpendingMethodId||t,viewModel:M,line:e})})),I&&i.createElement("div",{style:{padding:"0 16px",marginTop:-20,marginBottom:24}},i.createElement(m,{viewModel:M})),R&&i.createElement(E,{style:{marginBottom:32}},i.createElement(d,{style:{paddingTop:0,paddingLeft:16,paddingRight:16}},j(_?"main_screen.spendingMethodsTitle":"main_screen.earningMethodsTitle")),_?i.createElement(f,{viewModel:M,mode:"card",methods:C,getActionProps:function(e){return null}}):i.createElement(c,{viewModel:M,getActionProps:function(o){return o.methodType===a.CUSTOMER_REGISTER?{actionText:j("common.create"),onClick:function(){M.storeUrl&&(M.setWidgetMode(s.MINI_MODE),window.location.href="".concat(M.storeUrl,"/account/register"))}}:o.methodType===a.ENABLE_SUBSCRIPTION?{actionText:j("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=M.callbacks)||void 0===e?void 0:e.subscribeToMarketingNotifications)?(M.isActionLoading=!0,[4,M.callbacks.subscribeToMarketingNotifications()]):[3,2];case 1:t.sent()&&(M.ikasEventUser=n(n({},M.ikasEventUser),{subscriptionStatus:"SUBSCRIBED"}),M.userRefreshTrigger++),M.isActionLoading=!1,t.label=2;case 2:return[2]}})})},loading:M.isActionLoading}:null}})),i.createElement(E,null,i.createElement(d,{style:{paddingTop:0,paddingLeft:16,paddingRight:16}},j("main_screen.programInfoTitle")),i.createElement(u,{viewModel:M,onNavigate:y}))))});export{x as default};
1
+ import{__awaiter as e,__generator as t,__assign as n}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 r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{EarningMethodTypeEnum as a,WidgetMode as s}from"../../../models/types/index.js";import d from"../../components/animate-height/index.js";import l from"../../components/section-title/index.js";import m from"./applied-discount/index.js";import c from"./cart-warning/index.js";import p from"./earning-methods-section/index.js";import g from"./header/index.js";import{CARD_OVERLAP_TOP as u}from"./header/style.js";import f from"./program-info-section/index.js";import h from"./spending-methods-section/index.js";import{Container as v,Content as E,Section as x}from"./style.js";var M=o(function(o){var M,y=o.viewModel,T=o.onClose,j=o.onNavigate,b=r().t,w=i.useState(0),S=w[0],k=w[1],C=Math.max(S-u+32,32),I=y.spendingMethods.filter(function(e){return e.isAvailable}),_=!!y.user&&!y.cartId,B=y.shouldShowSpendingMethods&&I.length>0,L=y.earningMethods.length>0,R=B||L,A=(null===(M=y.user)||void 0===M?void 0:M.cartLoyaltyLines)||[];return i.createElement(v,null,i.createElement(g,{viewModel:y,onClose:T,onCardHeightChange:k,headerGap:24}),i.createElement(E,{$topPadding:C},i.createElement(d,{duration:300,style:{marginTop:A.length>0?-10:0}},i.createElement("div",{style:{paddingBottom:32}},A.length>0&&i.createElement("div",{style:{padding:"0 16px",marginBottom:32,display:"flex",flexDirection:"column",gap:8}},A.map(function(e,t){return i.createElement(m,{key:e.loyaltySpendingMethodId||t,viewModel:y,line:e})})),R&&i.createElement(x,{style:{marginBottom:32}},i.createElement(l,{style:{paddingTop:0,paddingLeft:16,paddingRight:16}},b(B?"main_screen.spendingMethodsTitle":"main_screen.earningMethodsTitle")),_&&i.createElement("div",{style:{padding:"0 16px",marginBottom:16}},i.createElement(c,{viewModel:y})),B?i.createElement(h,{viewModel:y,mode:"card",methods:I,getActionProps:function(e){return null}}):i.createElement(p,{viewModel:y,getActionProps:function(o){return o.methodType===a.CUSTOMER_REGISTER?{actionText:b("common.create"),onClick:function(){y.storeUrl&&(y.setWidgetMode(s.MINI_MODE),window.location.href="".concat(y.storeUrl,"/account/register"))}}:o.methodType===a.ENABLE_SUBSCRIPTION?{actionText:b("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=y.callbacks)||void 0===e?void 0:e.subscribeToMarketingNotifications)?(y.isActionLoading=!0,[4,y.callbacks.subscribeToMarketingNotifications()]):[3,2];case 1:t.sent()&&(y.ikasEventUser=n(n({},y.ikasEventUser),{subscriptionStatus:"SUBSCRIBED"}),y.userRefreshTrigger++),y.isActionLoading=!1,t.label=2;case 2:return[2]}})})},loading:y.isActionLoading}:null}})),i.createElement(x,null,i.createElement(l,{style:{paddingTop:0,paddingLeft:16,paddingRight:16}},b("main_screen.programInfoTitle")),i.createElement(f,{viewModel:y,onNavigate:j}))))))});export{M as default};