@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.
- package/build/models/loyalty-widget/index.d.ts +2 -0
- package/build/models/loyalty-widget/index.js +1 -1
- package/build/models/loyalty-widget/translations.d.ts +12 -0
- package/build/models/loyalty-widget/translations.js +1 -0
- package/build/models/types/index.d.ts +7 -1
- package/build/renderer/components/animate-height/index.d.ts +9 -0
- package/build/renderer/components/animate-height/index.js +1 -0
- package/build/renderer/components/mini-mode-description/index.js +1 -1
- package/build/renderer/components/translation-settings/style.d.ts +9 -0
- package/build/renderer/index.js +1 -1
- package/build/renderer/screens/credit-earning-methods-screen/style.js +1 -1
- package/build/renderer/screens/credit-spending-methods-screen/index.js +1 -1
- package/build/renderer/screens/credit-spending-methods-screen/style.js +1 -1
- package/build/renderer/screens/main-screen/applied-discount/index.js +1 -1
- package/build/renderer/screens/main-screen/index.js +1 -1
- package/build/renderer/utils/i18n.d.ts +617 -0
- package/build/renderer/utils/i18n.js +1 -1
- package/build/renderer/utils/locales/de.json.js +1 -0
- package/build/renderer/utils/locales/en.json.js +1 -1
- package/build/renderer/utils/locales/fr.json.js +1 -0
- package/build/renderer/utils/locales/nl.json.js +1 -0
- package/build/renderer/utils/locales/tr.json.js +1 -1
- package/build/renderer/utils/object-utils.d.ts +2 -0
- package/build/renderer/utils/object-utils.js +1 -0
- package/build/storefront-widget-script-injector.iife.js +6 -6
- package/build/storefront-widget-script-injector.iife.js.map +1 -1
- 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
|
|
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
|
-
|
|
98
|
+
type?: LoyaltyProgramPointHistoryTypeEnumFilterInput | null;
|
|
93
99
|
};
|
|
94
100
|
export type LoyaltyWidgetCallbacks = {
|
|
95
101
|
listSpendingMethodsByCartId: (cartId?: string | null) => Promise<LoyaltyProgramSpendingMethod[]>;
|
|
@@ -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
|
|
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>;
|
package/build/renderer/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e,__generator as t,__spreadArray as n}from'./../ext/tslib/tslib.es6.mjs.js';import{
|
|
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"]))),
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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};
|