@ikas/loyalty-widget-renderer 1.0.0-alpha.64 → 1.0.0-alpha.66

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.
@@ -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{__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 r}from'./../ext/tslib/tslib.es6.mjs.js';import{observer as n}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 I 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 b from"./screens/credit-spending-methods-screen/index.js";import _ from"./screens/loyalty-level-screen/index.js";import k from"./screens/main-screen/index.js";import C from"./utils/i18n.js";import{Container as S,MiniModeWrapper as A,Panel as N,ScreenWrapper as O}from"./style.js";var D=n(function(n){var D,L,P=n.config,x=o(function(){var e=P||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=P||window.ikasLoyaltyWidgetConfig;(null==e?void 0:e.onViewModelInitialized)&&e.onViewModelInitialized(x)},[x,P]);var $=function(){return e(void 0,void 0,void 0,function(){var e,n,i,o,s;return t(this,function(t){switch(t.label){case 0:return x.callbacks?(e=new Set,n=new Set,i=new Set,o=new Set,x.earningMethods.forEach(function(t){var s,a;t.methodType===p.ORDER_CREATE&&r(r([],(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 n.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 r,s;t.type===R.FREE_PRODUCT&&(null===(r=t.discountSettings)||void 0===r?void 0:r.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 n.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})),n.size>0&&x.callbacks.getCategories&&s.push(x.callbacks.getCategories(Array.from(n)).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,r,n,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 r=t.sent(),n=r[0],i=r[1],o=r[2],x.loyaltyWidget=n instanceof m?n:new m(n||{}),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,r=null===(t=e.data)||void 0===t?void 0:t.customer;r&&(x.ikasEventUser=r),x.userRefreshTrigger++,x.cartRefreshTrigger++},t=function(e){var t,r,n,i,o,s=x.cartId,a=null===(r=null===(t=e.data)||void 0===t?void 0:t.cart)||void 0===r?void 0:r.id;0===(null===(o=null===(i=null===(n=e.data)||void 0===n?void 0:n.cart)||void 0===i?void 0:i.orderLineItems)||void 0===o?void 0:o.length)?x.cartId=null:x.cartId=a,s!==x.cartId&&x.cartRefreshTrigger++},r={CUSTOMER_LOGIN:e,CUSTOMER_VISIT:e,CUSTOMER_LOGOUT:function(){x.userRefreshTrigger++,x.cartRefreshTrigger++},ADD_TO_CART:t,REMOVE_FROM_CART:t,REMOVE_LOYALTY_POINTS:function(e){x.cartRefreshTrigger++,x.userRefreshTrigger++},PAGE_VIEW:function(e){var t,r,n=null===(t=e.data)||void 0===t?void 0:t.customer;if(n){var i=!x.ikasEventUser,o=(null===(r=x.ikasEventUser)||void 0===r?void 0:r.subscriptionStatus)!==n.subscriptionStatus;(i||o)&&(x.ikasEventUser=n,x.userRefreshTrigger++,x.cartRefreshTrigger++)}}},n="ikas-loyalty-widget-subscriber";try{window.IkasEvents.subscribe({id:n,callback:function(e){var t=r[e.type];console.log("event",e),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(n)}}},[x]),s(function(){e(void 0,void 0,void 0,function(){var e,r,n,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(),r=e[0],n=e[1],x.user=r?new l(r):null,r||(x.ikasEventUser=null),x.pointHistory=n?n.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===(D=x.ikasEventUser)||void 0===D?void 0:D.id,x.userRefreshTrigger]),s(function(){e(void 0,void 0,void 0,function(){var e,r;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 r=t.sent(),console.error("Failed to fetch cart data",r),[3,5];case 5:return[2]}})})},[x.cartId,x.cartRefreshTrigger]);var G=function(e){x.selectedScreen=e},V=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 B=x.selectedScreen===y.MAIN_SCREEN,F=o(null),z=F[0],Y=F[1];s(function(){x.selectedScreen!==y.MAIN_SCREEN&&Y(x.selectedScreen)},[x.selectedScreen]);var H=B?z:x.selectedScreen,q=x.loyaltyWidget.settings.position||v.RIGHT,J=x.loyaltyWidget.settings.type||E.DRAWER;if(!U)return null;var K=(null==P?void 0:P.position)||(null===(L=window.ikasLoyaltyWidgetConfig)||void 0===L?void 0:L.position)||"fixed";return i.createElement(a,{i18n:C},i.createElement(S,{$layoutType:J,$widgetPosition:q,$widgetMode:x.currentWidgetMode,$position:K,onClick:function(){x.currentWidgetMode===g.WIDGET_MODE&&V()},className:"ikas-storefront-widget"},i.createElement(A,{$isVisible:x.currentWidgetMode===g.MINI_MODE,$widgetPosition:q},i.createElement(I,{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(O,{$isActive:B,$isMain:!0,$layoutType:J},i.createElement(k,{viewModel:x,onClose:V,onNavigate:G})),i.createElement(O,{$isActive:!B,$isMain:!1,$layoutType:J},function(){switch(H){case y.CREDIT_SPENDING_METHODS_SCREEN:return i.createElement(b,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:V});case y.CREDIT_EARNING_METHODS_SCREEN:return i.createElement(w,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:V});case y.CREDIT_HISTORY_SCREEN:return i.createElement(M,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:V});case y.LOYALTY_LEVEL_SCREEN:return i.createElement(_,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:V});default:return null}}()))))});export{D 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 s}from"../../../../assets/icons/check-circle.js";import{CheckFillIllustration as c}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(c,null);case l.NORMAL:case l.NONE:default:return n.createElement(s,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&&(window.location.href="".concat(g.storeUrl,"/checkout"))}},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};