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

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 (31) hide show
  1. package/build/assets/icons/check-circle.d.ts +2 -0
  2. package/build/assets/icons/check-circle.js +1 -0
  3. package/build/assets/index.d.ts +2 -0
  4. package/build/assets/widget-icons/illustraions/check-fill.d.ts +2 -0
  5. package/build/assets/widget-icons/illustraions/check-fill.js +1 -0
  6. package/build/index.js +1 -1
  7. package/build/models/loyalty-customer-info/index.d.ts +19 -0
  8. package/build/models/loyalty-customer-info/index.js +1 -1
  9. package/build/renderer/components/tooltip/index.d.ts +7 -0
  10. package/build/renderer/components/tooltip/index.js +1 -0
  11. package/build/renderer/components/tooltip/style.d.ts +4 -0
  12. package/build/renderer/components/tooltip/style.js +1 -0
  13. package/build/renderer/index.js +1 -1
  14. package/build/renderer/screens/loyalty-level-screen/index.js +1 -1
  15. package/build/renderer/screens/loyalty-level-screen/style.js +1 -1
  16. package/build/renderer/screens/main-screen/applied-discount/index.d.ts +9 -0
  17. package/build/renderer/screens/main-screen/applied-discount/index.js +1 -0
  18. package/build/renderer/screens/main-screen/applied-discount/style.d.ts +14 -0
  19. package/build/renderer/screens/main-screen/applied-discount/style.js +1 -0
  20. package/build/renderer/screens/main-screen/header/user-logged-section/index.js +1 -1
  21. package/build/renderer/screens/main-screen/header/user-logged-section/style.js +1 -1
  22. package/build/renderer/screens/main-screen/index.js +1 -1
  23. package/build/renderer/screens/main-screen/program-info-section/style.js +1 -1
  24. package/build/renderer/screens/main-screen/spending-methods-section/dynamic-slider.js +1 -1
  25. package/build/renderer/screens/main-screen/spending-methods-section/index.js +1 -1
  26. package/build/renderer/utils/locales/en.json.js +1 -1
  27. package/build/renderer/utils/locales/tr.json.js +1 -1
  28. package/build/renderer/utils/loyalty-details.js +1 -1
  29. package/build/storefront-widget-script-injector.iife.js +6 -6
  30. package/build/storefront-widget-script-injector.iife.js.map +1 -1
  31. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const CheckCircle: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1 @@
1
+ import e from"react";var t=function(t){return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("g",{clipPath:"url(#clip0_16167_5182)"},e.createElement("path",{d:"M4.9987 8.00065L6.9987 10.0007L10.9987 6.00065M14.6654 8.00065C14.6654 11.6825 11.6806 14.6673 7.9987 14.6673C4.3168 14.6673 1.33203 11.6825 1.33203 8.00065C1.33203 4.31875 4.3168 1.33398 7.9987 1.33398C11.6806 1.33398 14.6654 4.31875 14.6654 8.00065Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})),e.createElement("defs",null,e.createElement("clipPath",{id:"clip0_16167_5182"},e.createElement("rect",{width:"16",height:"16",fill:"white"}))))};export{t as CheckCircle};
@@ -7,6 +7,7 @@ export { CheckCircleFill } from "./icons/check-circle-fill";
7
7
  export { ChevronLeft } from "./icons/chevron-left";
8
8
  export { Check } from "./icons/check";
9
9
  export { ArrowRight } from "./icons/arrow-right";
10
+ export { CheckCircle } from "./icons/check-circle";
10
11
  export { BubbleChatDone } from "./widget-icons/normal/bubbleChatDone";
11
12
  export { CommentAdd01 } from "./widget-icons/normal/commentAdd01";
12
13
  export { CouponPercent } from "./widget-icons/normal/couponPercent";
@@ -28,3 +29,4 @@ export { ShippingBox } from "./widget-icons/illustraions/shippingBox";
28
29
  export { BigSaleMedal } from "./widget-icons/illustraions/bigSaleMedal";
29
30
  export { ShoppingCartIllustration } from "./widget-icons/illustraions/shoppingCartIllustration";
30
31
  export { InformationCircleIllustration } from "./widget-icons/illustraions/informationCircleIllustration";
32
+ export { CheckFillIllustration } from "./widget-icons/illustraions/check-fill";
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const CheckFillIllustration: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -0,0 +1 @@
1
+ import e from"react";var t=function(t){return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},e.createElement("path",{d:"M10 19C14.6944 19 18.5 15.1944 18.5 10.5C18.5 5.80558 14.6944 2 10 2C5.30558 2 1.5 5.80558 1.5 10.5C1.5 15.1944 5.30558 19 10 19Z",fill:"#019D57"}),e.createElement("path",{d:"M10 18C14.6944 18 18.5 14.1944 18.5 9.5C18.5 4.80558 14.6944 1 10 1C5.30558 1 1.5 4.80558 1.5 9.5C1.5 14.1944 5.30558 18 10 18Z",fill:"#4BCE93"}),e.createElement("path",{d:"M10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17Z",fill:"#89F7C5"}),e.createElement("path",{d:"M10 16.5C13.866 16.5 17 13.366 17 9.5C17 5.63401 13.866 2.5 10 2.5C6.13401 2.5 3 5.63401 3 9.5C3 13.366 6.13401 16.5 10 16.5Z",fill:"#00BE69"}),e.createElement("path",{d:"M7 9.5L9 11.5L13 7.5",stroke:"#005F34",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),e.createElement("path",{d:"M7 9L9 11L13 7",stroke:"white",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}))};export{t as CheckFillIllustration};
package/build/index.js CHANGED
@@ -1 +1 @@
1
- export{LoyaltyWidget}from"./models/loyalty-widget/index.js";export{BadgeIconTypeEnum,HeaderBackgroundTypeEnum,ImageTypeEnum,LoyaltyWidgetLayoutTypeEnum,WidgetIconTypeEnum,WidgetPositionEnum}from"./models/loyalty-widget/types/index.js";export{LoyaltyWidgetHeader}from"./models/loyalty-widget/header/index.js";export{LoyaltyWidgetHeaderBackground}from"./models/loyalty-widget/header/header-background/index.js";export{IMAGE_SIZE,LoyaltyWidgetImage}from"./models/image/index.js";export{LoyaltyWidgetButton}from"./models/button/index.js";export{LoyaltyCustomerInfo,LoyaltyProgramTier,LoyaltyProgramTierTranslation}from"./models/loyalty-customer-info/index.js";export{LoyaltyProgramPointHistory}from"./models/loyalty-program-point-history/index.js";export{LoyaltyProgramDiscountSettings,LoyaltyProgramSpendingMethod}from"./models/loyalty-program-spending-method/index.js";export{LoyaltyProgramEarningMethod,LoyaltyProgramEarningMethodOrderSettings,LoyaltyProgramEarningMethodProductSettings}from"./models/loyalty-program-earning-method/index.js";export{LoyaltyWidgetSettings}from"./models/loyalty-widget/settings/index.js";export{LoyaltyWidgetViewModel}from"./models/index.js";export{EarningMethodTypeEnum,LoyaltyProgramFilterTypeEnum,LoyaltyProgramMethodSpendingTypeEnum,LoyaltyProgramPointEarningTypeEnum,LoyaltyProgramPointHistoryTypeEnum,LoyaltyWidgetScreenTypeEnum,PeriodTypeEnum,WidgetMode}from"./models/types/index.js";export{BadgeLevel1}from"./assets/badgeLevel1.js";export{BadgeLevel2}from"./assets/badgeLevel2.js";export{BadgeLevel3}from"./assets/badgeLevel3.js";export{BadgeLevel4}from"./assets/badgeLevel4.js";export{XClose}from"./assets/icons/x-close.js";export{CheckCircleFill}from"./assets/icons/check-circle-fill.js";export{ChevronLeft}from"./assets/icons/chevron-left.js";export{Check}from"./assets/icons/check.js";export{ArrowRight}from"./assets/icons/arrow-right.js";export{BubbleChatDone}from"./assets/widget-icons/normal/bubbleChatDone.js";export{CommentAdd01}from"./assets/widget-icons/normal/commentAdd01.js";export{CouponPercent}from"./assets/widget-icons/normal/couponPercent.js";export{DiscountTag02}from"./assets/widget-icons/normal/discountTag02.js";export{Gift}from"./assets/widget-icons/normal/gift.js";export{MoneyAdd01}from"./assets/widget-icons/normal/moneyAdd01.js";export{PackageDelivered}from"./assets/widget-icons/normal/packageDelivered.js";export{SaveMoneyDollar}from"./assets/widget-icons/normal/saveMoneyDollar.js";export{ShoppingBasketAdd02}from"./assets/widget-icons/normal/shoppingBasketAdd02.js";export{UserAdd01}from"./assets/widget-icons/normal/userAdd01.js";export{InformationCircle}from"./assets/widget-icons/normal/informationCircle.js";export{UsersIllustration}from"./assets/widget-icons/illustraions/usersIllustration.js";export{BubbleChatIllustration}from"./assets/widget-icons/illustraions/bubbleChatIllustration.js";export{ApprovedChatIllustration}from"./assets/widget-icons/illustraions/approvedChatIllustration.js";export{TshirtIllustration}from"./assets/widget-icons/illustraions/tshirtIllustration.js";export{Medal}from"./assets/widget-icons/illustraions/medal.js";export{GiftIllustration}from"./assets/widget-icons/illustraions/giftIllustration.js";export{ShippingBox}from"./assets/widget-icons/illustraions/shippingBox.js";export{BigSaleMedal}from"./assets/widget-icons/illustraions/bigSaleMedal.js";export{ShoppingCartIllustration}from"./assets/widget-icons/illustraions/shoppingCartIllustration.js";export{InformationCircleIllustration}from"./assets/widget-icons/illustraions/informationCircleIllustration.js";export{default as LoyaltyWidgetRenderer}from"./renderer/index.js";
1
+ export{LoyaltyWidget}from"./models/loyalty-widget/index.js";export{BadgeIconTypeEnum,HeaderBackgroundTypeEnum,ImageTypeEnum,LoyaltyWidgetLayoutTypeEnum,WidgetIconTypeEnum,WidgetPositionEnum}from"./models/loyalty-widget/types/index.js";export{LoyaltyWidgetHeader}from"./models/loyalty-widget/header/index.js";export{LoyaltyWidgetHeaderBackground}from"./models/loyalty-widget/header/header-background/index.js";export{IMAGE_SIZE,LoyaltyWidgetImage}from"./models/image/index.js";export{LoyaltyWidgetButton}from"./models/button/index.js";export{CampaignTypeEnum,CartLoyaltyLineData,LoyaltyCustomerInfo,LoyaltyProgramTier,LoyaltyProgramTierTranslation,OrderAmountTypeEnum}from"./models/loyalty-customer-info/index.js";export{LoyaltyProgramPointHistory}from"./models/loyalty-program-point-history/index.js";export{LoyaltyProgramDiscountSettings,LoyaltyProgramSpendingMethod}from"./models/loyalty-program-spending-method/index.js";export{LoyaltyProgramEarningMethod,LoyaltyProgramEarningMethodOrderSettings,LoyaltyProgramEarningMethodProductSettings}from"./models/loyalty-program-earning-method/index.js";export{LoyaltyWidgetSettings}from"./models/loyalty-widget/settings/index.js";export{LoyaltyWidgetViewModel}from"./models/index.js";export{EarningMethodTypeEnum,LoyaltyProgramFilterTypeEnum,LoyaltyProgramMethodSpendingTypeEnum,LoyaltyProgramPointEarningTypeEnum,LoyaltyProgramPointHistoryTypeEnum,LoyaltyWidgetScreenTypeEnum,PeriodTypeEnum,WidgetMode}from"./models/types/index.js";export{BadgeLevel1}from"./assets/badgeLevel1.js";export{BadgeLevel2}from"./assets/badgeLevel2.js";export{BadgeLevel3}from"./assets/badgeLevel3.js";export{BadgeLevel4}from"./assets/badgeLevel4.js";export{XClose}from"./assets/icons/x-close.js";export{CheckCircleFill}from"./assets/icons/check-circle-fill.js";export{ChevronLeft}from"./assets/icons/chevron-left.js";export{Check}from"./assets/icons/check.js";export{ArrowRight}from"./assets/icons/arrow-right.js";export{CheckCircle}from"./assets/icons/check-circle.js";export{BubbleChatDone}from"./assets/widget-icons/normal/bubbleChatDone.js";export{CommentAdd01}from"./assets/widget-icons/normal/commentAdd01.js";export{CouponPercent}from"./assets/widget-icons/normal/couponPercent.js";export{DiscountTag02}from"./assets/widget-icons/normal/discountTag02.js";export{Gift}from"./assets/widget-icons/normal/gift.js";export{MoneyAdd01}from"./assets/widget-icons/normal/moneyAdd01.js";export{PackageDelivered}from"./assets/widget-icons/normal/packageDelivered.js";export{SaveMoneyDollar}from"./assets/widget-icons/normal/saveMoneyDollar.js";export{ShoppingBasketAdd02}from"./assets/widget-icons/normal/shoppingBasketAdd02.js";export{UserAdd01}from"./assets/widget-icons/normal/userAdd01.js";export{InformationCircle}from"./assets/widget-icons/normal/informationCircle.js";export{UsersIllustration}from"./assets/widget-icons/illustraions/usersIllustration.js";export{BubbleChatIllustration}from"./assets/widget-icons/illustraions/bubbleChatIllustration.js";export{ApprovedChatIllustration}from"./assets/widget-icons/illustraions/approvedChatIllustration.js";export{TshirtIllustration}from"./assets/widget-icons/illustraions/tshirtIllustration.js";export{Medal}from"./assets/widget-icons/illustraions/medal.js";export{GiftIllustration}from"./assets/widget-icons/illustraions/giftIllustration.js";export{ShippingBox}from"./assets/widget-icons/illustraions/shippingBox.js";export{BigSaleMedal}from"./assets/widget-icons/illustraions/bigSaleMedal.js";export{ShoppingCartIllustration}from"./assets/widget-icons/illustraions/shoppingCartIllustration.js";export{InformationCircleIllustration}from"./assets/widget-icons/illustraions/informationCircleIllustration.js";export{CheckFillIllustration}from"./assets/widget-icons/illustraions/check-fill.js";export{default as LoyaltyWidgetRenderer}from"./renderer/index.js";
@@ -19,11 +19,30 @@ export declare class LoyaltyProgramTier {
19
19
  translations: LoyaltyProgramTierTranslation[] | null;
20
20
  constructor(data?: Partial<LoyaltyProgramTier>);
21
21
  }
22
+ export declare class CartLoyaltyLineData {
23
+ campaignType: CampaignTypeEnum | null;
24
+ discountAmount: number;
25
+ discountAmountType: OrderAmountTypeEnum;
26
+ loyaltySpendingMethodId: string;
27
+ pointUsed: number;
28
+ constructor(data?: Partial<CartLoyaltyLineData>);
29
+ }
22
30
  export declare class LoyaltyCustomerInfo {
23
31
  customerTier: LoyaltyProgramTier | null;
24
32
  loyaltyProgramCustomerId: string;
25
33
  loyaltyProgramId: string;
26
34
  totalPoint: number;
27
35
  nextTierRequiredPoint: number | null;
36
+ cartLoyaltyLines: CartLoyaltyLineData[] | null;
28
37
  constructor(data?: Partial<LoyaltyCustomerInfo>);
29
38
  }
39
+ export declare enum CampaignTypeEnum {
40
+ BUY_X_THEN_GET_Y = "BUY_X_THEN_GET_Y",
41
+ FIXED_AMOUNT = "FIXED_AMOUNT",
42
+ FREE_SHIPPING = "FREE_SHIPPING",
43
+ RATIO = "RATIO"
44
+ }
45
+ export declare enum OrderAmountTypeEnum {
46
+ AMOUNT = "AMOUNT",
47
+ RATIO = "RATIO"
48
+ }
@@ -1 +1 @@
1
- import{makeObservable as t,observable as e}from"mobx";import{LoyaltyProgramPeriod as i}from"../common/index.js";var o=function(i){void 0===i&&(i={}),this.locale=i.locale||"",this.name=i.name||"",t(this,{locale:e,name:e})},r=function(r){void 0===r&&(r={}),this.id=r.id||"",this.name=r.name||"",this.pointsRequired=r.pointsRequired||null,this.tierPointMultiplier=r.tierPointMultiplier||null,this.loyaltyProgramId=r.loyaltyProgramId||"",this.customerSegmentId=r.customerSegmentId||null,this.createdAt=r.createdAt||null,this.updatedAt=r.updatedAt||null,this.deleted=r.deleted||!1,this.isActive=r.isActive||!1,this.period=r.period?new i(r.period):null,this.translations=r.translations?r.translations.map(function(t){return new o(t)}):null,t(this,{id:e,name:e,pointsRequired:e,tierPointMultiplier:e,loyaltyProgramId:e,customerSegmentId:e,createdAt:e,updatedAt:e,deleted:e,isActive:e,period:e,translations:e})},l=function(i){void 0===i&&(i={}),this.customerTier=i.customerTier?new r(i.customerTier):null,this.loyaltyProgramCustomerId=i.loyaltyProgramCustomerId||"",this.loyaltyProgramId=i.loyaltyProgramId||"",this.totalPoint=i.totalPoint||0,this.nextTierRequiredPoint=void 0!==i.nextTierRequiredPoint&&null!==i.nextTierRequiredPoint?i.nextTierRequiredPoint:null,t(this,{customerTier:e,loyaltyProgramCustomerId:e,loyaltyProgramId:e,totalPoint:e,nextTierRequiredPoint:e})};export{l as LoyaltyCustomerInfo,r as LoyaltyProgramTier,o as LoyaltyProgramTierTranslation};
1
+ import{makeObservable as t,observable as i}from"mobx";import{LoyaltyProgramPeriod as e}from"../common/index.js";var o,n,r=function(e){void 0===e&&(e={}),this.locale=e.locale||"",this.name=e.name||"",t(this,{locale:i,name:i})},l=function(o){void 0===o&&(o={}),this.id=o.id||"",this.name=o.name||"",this.pointsRequired=o.pointsRequired||null,this.tierPointMultiplier=o.tierPointMultiplier||null,this.loyaltyProgramId=o.loyaltyProgramId||"",this.customerSegmentId=o.customerSegmentId||null,this.createdAt=o.createdAt||null,this.updatedAt=o.updatedAt||null,this.deleted=o.deleted||!1,this.isActive=o.isActive||!1,this.period=o.period?new e(o.period):null,this.translations=o.translations?o.translations.map(function(t){return new r(t)}):null,t(this,{id:i,name:i,pointsRequired:i,tierPointMultiplier:i,loyaltyProgramId:i,customerSegmentId:i,createdAt:i,updatedAt:i,deleted:i,isActive:i,period:i,translations:i})},s=function(e){void 0===e&&(e={}),this.campaignType=e.campaignType||null,this.discountAmount=e.discountAmount||0,this.discountAmountType=e.discountAmountType||n.AMOUNT,this.loyaltySpendingMethodId=e.loyaltySpendingMethodId||"",this.pointUsed=e.pointUsed||0,t(this,{campaignType:i,discountAmount:i,discountAmountType:i,loyaltySpendingMethodId:i,pointUsed:i})},d=function(e){void 0===e&&(e={}),this.customerTier=e.customerTier?new l(e.customerTier):null,this.loyaltyProgramCustomerId=e.loyaltyProgramCustomerId||"",this.loyaltyProgramId=e.loyaltyProgramId||"",this.totalPoint=e.totalPoint||0,this.nextTierRequiredPoint=void 0!==e.nextTierRequiredPoint&&null!==e.nextTierRequiredPoint?e.nextTierRequiredPoint:null,this.cartLoyaltyLines=e.cartLoyaltyLines?e.cartLoyaltyLines.map(function(t){return new s(t)}):null,t(this,{customerTier:i,loyaltyProgramCustomerId:i,loyaltyProgramId:i,totalPoint:i,nextTierRequiredPoint:i,cartLoyaltyLines:i})};!function(t){t.BUY_X_THEN_GET_Y="BUY_X_THEN_GET_Y",t.FIXED_AMOUNT="FIXED_AMOUNT",t.FREE_SHIPPING="FREE_SHIPPING",t.RATIO="RATIO"}(o||(o={})),function(t){t.AMOUNT="AMOUNT",t.RATIO="RATIO"}(n||(n={}));export{o as CampaignTypeEnum,s as CartLoyaltyLineData,d as LoyaltyCustomerInfo,l as LoyaltyProgramTier,r as LoyaltyProgramTierTranslation,n as OrderAmountTypeEnum};
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ type Props = {
3
+ content: string | React.ReactNode;
4
+ children: React.ReactElement;
5
+ };
6
+ declare const Tooltip: React.FC<Props>;
7
+ export default Tooltip;
@@ -0,0 +1 @@
1
+ import e,{useState as t,useRef as r}from"react";import{Container as n,TooltipBubble as o}from"./style.js";var c=function(c){var i=c.content,l=c.children,u=t(!1),f=u[0],a=u[1],s=r(null),m=e.cloneElement(l,{ref:s});return e.createElement(n,{onMouseEnter:function(){if(s.current){var e=s.current,t=e.offsetWidth;e.scrollWidth>t&&a(!0)}},onMouseLeave:function(){return a(!1)}},m,e.createElement(o,{$isVisible:f},i))};export{c as default};
@@ -0,0 +1,4 @@
1
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const TooltipBubble: import("styled-components").StyledComponent<"div", any, {
3
+ $isVisible: boolean;
4
+ }, never>;
@@ -0,0 +1 @@
1
+ import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import t from"styled-components";import{textXS as o}from"../style/typography.js";var e,i,r=t.div(e||(e=n(["\n position: relative;\n display: inline-flex;\n"],["\n position: relative;\n display: inline-flex;\n"]))),s=t.div(i||(i=n(["\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 8px;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #1e1e1e;\n color: #ffffff;\n white-space: nowrap;\n opacity: ",";\n visibility: ",";\n transition:\n opacity 0.2s ease-in-out,\n visibility 0.2s ease-in-out;\n z-index: 1000;\n pointer-events: none;\n box-shadow:\n 0px 4px 6px -2px rgba(16, 24, 40, 0.03),\n 0px 12px 16px -4px rgba(16, 24, 40, 0.08);\n\n ",'\n\n &::after {\n content: "";\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: 4px;\n border-style: solid;\n border-color: transparent transparent #1e1e1e transparent;\n }\n'],["\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 8px;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #1e1e1e;\n color: #ffffff;\n white-space: nowrap;\n opacity: ",";\n visibility: ",";\n transition:\n opacity 0.2s ease-in-out,\n visibility 0.2s ease-in-out;\n z-index: 1000;\n pointer-events: none;\n box-shadow:\n 0px 4px 6px -2px rgba(16, 24, 40, 0.03),\n 0px 12px 16px -4px rgba(16, 24, 40, 0.08);\n\n ",'\n\n &::after {\n content: "";\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-width: 4px;\n border-style: solid;\n border-color: transparent transparent #1e1e1e transparent;\n }\n'])),function(n){return n.$isVisible?1:0},function(n){return n.$isVisible?"visible":"hidden"},o);export{r as Container,s as TooltipBubble};
@@ -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 b from"./screens/credit-earning-methods-screen/index.js";import M from"./screens/credit-history-screen/index.js";import I from"./screens/credit-spending-methods-screen/index.js";import k from"./screens/loyalty-level-screen/index.js";import C from"./screens/main-screen/index.js";import _ from"./utils/i18n.js";import{Container as S,MiniModeWrapper as A,Panel as N,ScreenWrapper as D}from"./style.js";var O=r(function(r){var O,P,L=r.config,x=o(function(){var e=L||window.ikasLoyaltyWidgetConfig;return new c({cartId:(null==e?void 0:e.cartId)||null,ikasEventUser:(null==e?void 0:e.userId)?{id:e.userId}:null},(null==e?void 0:e.cdnURL)||"",(null==e?void 0:e.merchantId)||"",(null==e?void 0:e.currency)||"",(null==e?void 0:e.locale)||"",(null==e?void 0:e.storeURL)||null,null==e?void 0:e.isPreviewMode,null==e?void 0:e.callbacks)})[0],j=o(!1),U=j[0],W=j[1];s(function(){var e=L||window.ikasLoyaltyWidgetConfig;(null==e?void 0:e.onViewModelInitialized)&&e.onViewModelInitialized(x)},[x,L]);var $=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=null===(n=null===(t=e.data)||void 0===t?void 0:t.cart)||void 0===n?void 0:n.id;r&&(x.cartId=r),x.cartRefreshTrigger++},n={CUSTOMER_LOGIN:e,CUSTOMER_VISIT:e,CUSTOMER_LOGOUT:function(){x.ikasEventUser=null,x.userRefreshTrigger++,x.cartRefreshTrigger++},ADD_TO_CART:t,REMOVE_FROM_CART:t,PAGE_VIEW:function(e){var t,n,r=null===(t=e.data)||void 0===t?void 0:t.customer;if(r){var i=!x.ikasEventUser,o=(null===(n=x.ikasEventUser)||void 0===n?void 0:n.subscriptionStatus)!==r.subscriptionStatus;(i||o)&&(x.ikasEventUser=r,x.userRefreshTrigger++,x.cartRefreshTrigger++)}}},r="ikas-loyalty-widget-subscriber";try{window.IkasEvents.subscribe({id:r,callback:function(e){var t=n[e.type];t&&t(e)}})}catch(e){console.error("Failed to subscribe to IkasEvents",e)}return function(){var e;(null===(e=window.IkasEvents)||void 0===e?void 0:e.unsubscribe)&&window.IkasEvents.unsubscribe(r)}}},[x]),s(function(){e(void 0,void 0,void 0,function(){var e,n,r,i,o;return t(this,function(t){switch(t.label){case 0:if(!x.callbacks||!(null===(o=x.ikasEventUser)||void 0===o?void 0:o.id))return[3,4];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,Promise.all([x.callbacks.getLoyaltyCustomerInfo(),x.callbacks.listLoyaltyProgramPointHistory({})])];case 2:return e=t.sent(),n=e[0],r=e[1],x.user=n?new l(n):null,x.pointHistory=r?r.map(function(e){return new u(e)}):[],[3,4];case 3:return i=t.sent(),console.error("Failed to fetch user data",i),[3,4];case 4:return[2]}})})},[null===(O=x.ikasEventUser)||void 0===O?void 0:O.id,x.userRefreshTrigger]),s(function(){e(void 0,void 0,void 0,function(){var e,n;return t(this,function(t){switch(t.label){case 0:if(!x.callbacks)return[3,5];t.label=1;case 1:return t.trys.push([1,4,,5]),[4,x.callbacks.listSpendingMethodsByCartId(x.cartId)];case 2:return e=t.sent(),x.spendingMethods=e.map(function(e){return new f(e)}),[4,$()];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(I,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:B});case y.CREDIT_EARNING_METHODS_SCREEN:return i.createElement(b,{viewModel:x,onBack:function(){return G(y.MAIN_SCREEN)},onClose:B});case y.CREDIT_HISTORY_SCREEN:return i.createElement(M,{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{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 +1 @@
1
- import{__spreadArray as e}from'./../../../ext/tslib/tslib.es6.mjs.js';import{observer as t}from"mobx-react";import n,{useMemo as l}from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as r}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{XClose as o}from"../../../assets/icons/x-close.js";import{ChevronLeft as i}from"../../../assets/icons/chevron-left.js";import{Check as a}from"../../../assets/icons/check.js";import c from"../../components/count-up/index.js";import{Container as s,Header as u,IconButton as m,Title as d,Content as p,PointsSection as E,PointsText as f,PointsValue as y,ProgressBarContainer as v,ProgressBarFill as g,DescriptionText as x,TimelineContainer as R,TimelineItem as h,TimelineLine as $,CheckIconContainer as b,CurrentIndicator as j,CurrentIndicatorDot as k,UpcomingIndicator as P,TimelineContent as q,TimelineTitle as T,TimelineDescription as L,MultiplierSection as S,MultiplierValue as C}from"./style.js";var M=t(function(t){var M=t.viewModel,G=t.onBack,W=t.onClose,B=r().t,N=M.user,_=M.tiers,I=l(function(){return e([],_,!0).sort(function(e,t){return(e.pointsRequired||0)-(t.pointsRequired||0)})},[_]),w=l(function(){return(null==N?void 0:N.customerTier)?I.findIndex(function(e){var t;return e.id===(null===(t=N.customerTier)||void 0===t?void 0:t.id)}):-1},[I,null==N?void 0:N.customerTier]),A=l(function(){return N?-1===w?I.find(function(e){return(e.pointsRequired||0)>N.totalPoint})||I[0]:I[w+1]||null:null},[I,w,N]),D=l(function(){return N?A?0===(A.pointsRequired||0)?100:Math.min(N.totalPoint/(A.pointsRequired||1)*100,100):100:0},[N,A]),z=l(function(){return N&&A?Math.max(0,(A.pointsRequired||0)-N.totalPoint):0},[N,A]);return N?n.createElement(s,null,n.createElement(u,null,n.createElement(m,{onClick:G},n.createElement(i,null)),n.createElement(d,null,B("screens.loyaltyLevel")),n.createElement(m,{onClick:W},n.createElement(o,null))),n.createElement(p,null,n.createElement(E,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},n.createElement("div",null,n.createElement(f,null,B("header.earnedPoints")),n.createElement(y,null,n.createElement(c,{end:N.totalPoint})," ",B("common.points"))),n.createElement(v,null,n.createElement(g,{$percentage:D,$color:M.loyaltyWidget.header.background.bgColor||void 0,$isGradient:"GRADIENT"===M.loyaltyWidget.header.background.type})),n.createElement(x,null,A?B("screens.loyaltyLevelScreen.reachNextTier",{tierName:A.name,points:z}):B("screens.loyaltyLevelScreen.allTiersCompleted"))),n.createElement(R,null,I.map(function(e,t){var l="upcoming";w>-1?l=t<w?"completed":t===w?"current":"upcoming":N.totalPoint>=(e.pointsRequired||0)&&(l="completed");var r=t===I.length-1,o="solid-light",i=!0,c=!0;return"completed"===l?w>-1&&t+1===w?(o="solid-dark",i=!0,c=!1):w>-1&&t+1<w?(o="solid-dark",i=!0,c=!0):(o="solid-light",i=!0,c=!0):"current"===l?(o="split",i=!1,c=!0):(o="solid-light",i=!0,c=!0),n.createElement(h,{key:e.id},n.createElement($,{$isLast:r,$connectionType:o,$topGap:i,$bottomGap:c}),"completed"===l?n.createElement(b,null,n.createElement(a,null)):"current"===l?n.createElement(j,null,n.createElement(k,null)):n.createElement(P,null),n.createElement(q,null,n.createElement(T,{$status:l},e.name),n.createElement(L,{$status:l},e.pointsRequired||0," ",B("common.points")," ",B("screens.loyaltyLevelScreen.afterEarning")),(e.tierPointMultiplier||1)>1&&n.createElement(S,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},B("screens.loyaltyLevelScreen.multiplierPrefix")," ",n.createElement(C,null,e.tierPointMultiplier||1,"x")," ",B("screens.loyaltyLevelScreen.multiplierSuffix"))))})))):null});export{M as default};
1
+ import{__spreadArray as e}from'./../../../ext/tslib/tslib.es6.mjs.js';import{observer as t}from"mobx-react";import n,{useMemo as r}from"react";import'./../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../ext/react-i18next/dist/es/useTranslation.js';import{XClose as o}from"../../../assets/icons/x-close.js";import{ChevronLeft as i}from"../../../assets/icons/chevron-left.js";import{Check as c}from"../../../assets/icons/check.js";import a from"../../components/count-up/index.js";import{Container as s,Header as u,IconButton as m,Title as d,Content as p,PointsSection as E,PointsText as f,PointsValue as y,ProgressBarContainer as v,ProgressBarFill as g,DescriptionText as x,TimelineContainer as R,TimelineItem as h,TimelineLine as $,CheckIconContainer as b,CurrentIndicator as j,CurrentIndicatorDot as k,UpcomingIndicator as P,TimelineContent as T,TimelineTitle as q,TimelineDescription as L,MultiplierSection as S,MultiplierValue as C}from"./style.js";var M=t(function(t){var M=t.viewModel,G=t.onBack,W=t.onClose,B=l().t,N=M.user,_=M.tiers,D=r(function(){return e([],_,!0).sort(function(e,t){return(e.pointsRequired||0)-(t.pointsRequired||0)})},[_]),I=r(function(){return(null==N?void 0:N.customerTier)?D.findIndex(function(e){var t;return e.id===(null===(t=N.customerTier)||void 0===t?void 0:t.id)}):-1},[D,null==N?void 0:N.customerTier]),w=r(function(){return N?-1===I?D.find(function(e){return(e.pointsRequired||0)>N.totalPoint})||D[0]:D[I+1]||null:null},[D,I,N]),A=r(function(){return N?w?0===(w.pointsRequired||0)?100:Math.min(N.totalPoint/(w.pointsRequired||1)*100,100):100:0},[N,w]),z=r(function(){return N&&w?Math.max(0,(w.pointsRequired||0)-N.totalPoint):0},[N,w]);return N?n.createElement(s,null,n.createElement(u,null,n.createElement(m,{onClick:G},n.createElement(i,null)),n.createElement(d,null,B("screens.loyaltyLevel")),n.createElement(m,{onClick:W},n.createElement(o,null))),n.createElement(p,null,n.createElement(E,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},n.createElement("div",null,n.createElement(f,null,B("header.earnedPoints")),n.createElement(y,null,n.createElement(a,{end:N.totalPoint})," ",B("common.points"))),n.createElement(v,null,n.createElement(g,{$percentage:A,$color:M.loyaltyWidget.header.background.bgColor||void 0,$isGradient:"GRADIENT"===M.loyaltyWidget.header.background.type})),n.createElement(x,null,w?B("screens.loyaltyLevelScreen.reachNextTier",{tierName:w.name,points:z}):B("screens.loyaltyLevelScreen.allTiersCompleted"))),n.createElement(R,null,D.map(function(e,t){var r="upcoming";I>-1?r=t<I?"completed":t===I?"current":"upcoming":N.totalPoint>=(e.pointsRequired||0)&&(r="completed");var l=t===D.length-1,o="solid-light",i=!0,a=!0;return"completed"===r?I>-1&&t+1===I?(o="solid-dark",i=!0,a=!1):I>-1&&t+1<I?(o="solid-dark",i=!0,a=!0):(o="solid-light",i=!0,a=!0):"current"===r?(o="split",i=!1,a=!0):(o="solid-light",i=!0,a=!0),n.createElement(h,{key:e.id},n.createElement($,{$isLast:l,$connectionType:o,$topGap:i,$bottomGap:a}),"completed"===r?n.createElement(b,null,n.createElement(c,null)):"current"===r?n.createElement(j,null,n.createElement(k,null)):n.createElement(P,null),n.createElement(T,null,n.createElement(q,{$status:r},e.name),n.createElement(L,{$status:r},"current"===r?B("screens.loyaltyLevelScreen.currentTierDescription"):"".concat(e.pointsRequired||0," ").concat(B("common.points")," ").concat(B("screens.loyaltyLevelScreen.afterEarning"))),(e.tierPointMultiplier||1)>1&&n.createElement(S,{$borderRadius:M.loyaltyWidget.settings.cartBorderRadius},B("screens.loyaltyLevelScreen.multiplierPrefix")," ",n.createElement(C,null,e.tierPointMultiplier||1,"x")," ",B("screens.loyaltyLevelScreen.multiplierSuffix"))))})))):null});export{M as default};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import e,{css as i}from"styled-components";import{textMDMedium as t,textSM as o,textSMMedium as r,textSMSemiBold as d}from"../../components/style/typography.js";var a,p,l,x,c,f,s,g,u,b,h,m,y,v,w,k,B,j,z,$,A,E,G,C,F,R=e.div(a||(a=n(["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"],["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"]))),L=e.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"]))),T=e.div(l||(l=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"])),t),_=e.button(x||(x=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"]))),q=e.div(c||(c=n(["\n padding: 20px 16px;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 24px;\n flex: 1;\n"],["\n padding: 20px 16px;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 24px;\n flex: 1;\n"]))),D=e.div(f||(f=n(["\n display: flex;\n width: 100%;\n padding: 16px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 16px;\n border-radius: ",";\n border: 1px solid var(--Gray-Blue-100, #eef2f6);\n background: var(--Basic-50, #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 box-sizing: border-box;\n"],["\n display: flex;\n width: 100%;\n padding: 16px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 16px;\n border-radius: ",";\n border: 1px solid var(--Gray-Blue-100, #eef2f6);\n background: var(--Basic-50, #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 box-sizing: border-box;\n"])),function(n){var e=n.$borderRadius;return"".concat(e,"px")}),H=e.div(s||(s=n(["\n ","\n color: #4B5565;\n text-align: center;\n"],["\n ","\n color: #4B5565;\n text-align: center;\n"])),o),I=e.div(g||(g=n(["\n ","\n color: #121926;\n margin-top: 2px;\n text-align: center;\n"],["\n ","\n color: #121926;\n margin-top: 2px;\n text-align: center;\n"])),t),J=e.div(u||(u=n(["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"],["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"]))),K=e.div(b||(b=n(["\n width: ","%;\n height: 100%;\n border-radius: 4px;\n background: ",";\n transition: width 0.3s ease-in-out;\n"],["\n width: ","%;\n height: 100%;\n border-radius: 4px;\n background: ",";\n transition: width 0.3s ease-in-out;\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), ".concat(n.$color||"#4F46E5"):n.$color||"#4F46E5"}),M=e.div(h||(h=n(["\n color: #4b5565;\n text-align: center;\n ","\n"],["\n color: #4b5565;\n text-align: center;\n ","\n"])),o),N=e.div(m||(m=n(["\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: 0 6px;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: 0 6px;\n box-sizing: border-box;\n"]))),O=e.div(y||(y=n(["\n display: flex;\n gap: 16px;\n position: relative;\n padding-bottom: 48px;\n\n &:last-child {\n padding-bottom: 0;\n }\n"],["\n display: flex;\n gap: 16px;\n position: relative;\n padding-bottom: 48px;\n\n &:last-child {\n padding-bottom: 0;\n }\n"]))),P=e.div(v||(v=n(["\n position: absolute;\n left: 10px; /* Center of the 20px icon */\n top: ",";\n bottom: ",";\n width: 1px;\n display: ",";\n background: ",";\n"],["\n position: absolute;\n left: 10px; /* Center of the 20px icon */\n top: ",";\n bottom: ",";\n width: 1px;\n display: ",";\n background: ",";\n"])),function(n){return n.$topGap?"26px":"20px"},function(n){return n.$bottomGap?"6px":"0"},function(n){return n.$isLast?"none":"block"},function(n){switch(n.$connectionType){case"solid-dark":return"#9AA4B2";case"solid-light":default:return"#E3E8EF";case"split":return"linear-gradient(to bottom, #9AA4B2 50%, #E3E8EF 50%)"}}),Q=e.div(w||(w=n(["\n flex: 1;\n display: flex;\n flex-direction: column;\n"],["\n flex: 1;\n display: flex;\n flex-direction: column;\n"]))),S=e.div(B||(B=n(["\n ","\n color: ",";\n\n ","\n"],["\n ","\n color: ",";\n\n ","\n"])),r,function(n){return"completed"===n.$status?"#697586":"#121926"},function(e){return"completed"===e.$status&&i(k||(k=n(["\n text-decoration-line: line-through;\n "],["\n text-decoration-line: line-through;\n "])))}),U=e.div(z||(z=n(["\n ","\n margin-top: 2px;\n color: ","; /* Current #4B5565. Completed #9AA4B2 */\n\n ","\n"],["\n ","\n margin-top: 2px;\n color: ","; /* Current #4B5565. Completed #9AA4B2 */\n\n ","\n"])),o,function(n){return"completed"===n.$status?"#9AA4B2":"#4B5565"},function(e){return"completed"===e.$status&&i(j||(j=n(["\n text-decoration-line: line-through;\n "],["\n text-decoration-line: line-through;\n "])))}),V=e.div($||($=n(["\n padding: 8px 16px;\n align-self: stretch;\n border-radius: ",";\n background: var(--Gray-Blue-50, #f8fafc);\n margin-top: 12px;\n ","\n color: #4B5565;\n"],["\n padding: 8px 16px;\n align-self: stretch;\n border-radius: ",";\n background: var(--Gray-Blue-50, #f8fafc);\n margin-top: 12px;\n ","\n color: #4B5565;\n"])),function(n){var e=n.$borderRadius;return"".concat(e,"px")},o),W=e.span(A||(A=n(["\n ","\n color: #121926;\n"],["\n ","\n color: #121926;\n"])),d),X=e.div(E||(E=n(["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n\n svg {\n width: 14px;\n height: 14px;\n color: #121926;\n }\n"],["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n\n svg {\n width: 14px;\n height: 14px;\n color: #121926;\n }\n"]))),Y=e.div(G||(G=n(["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n border: 0.8px solid #121926;\n background: #fff;\n z-index: 2;\n box-sizing: border-box;\n"],["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n border: 0.8px solid #121926;\n background: #fff;\n z-index: 2;\n box-sizing: border-box;\n"]))),Z=e.div(C||(C=n(["\n width: 10px;\n height: 10px;\n flex-shrink: 0;\n\n border-radius: 5px;\n background: #121926;\n"],["\n width: 10px;\n height: 10px;\n flex-shrink: 0;\n\n border-radius: 5px;\n background: #121926;\n"]))),nn=e.div(F||(F=n(["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n"],["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n"])));export{X as CheckIconContainer,R as Container,q as Content,Y as CurrentIndicator,Z as CurrentIndicatorDot,M as DescriptionText,L as Header,_ as IconButton,V as MultiplierSection,W as MultiplierValue,D as PointsSection,H as PointsText,I as PointsValue,J as ProgressBarContainer,K as ProgressBarFill,N as TimelineContainer,Q as TimelineContent,U as TimelineDescription,O as TimelineItem,P as TimelineLine,S as TimelineTitle,T as Title,nn as UpcomingIndicator};
1
+ import{__makeTemplateObject as n}from'./../../../ext/tslib/tslib.es6.mjs.js';import e,{css as i}from"styled-components";import{textMDMedium as t,textSM as o,textSMMedium as r,textSMSemiBold as d}from"../../components/style/typography.js";var p,a,l,x,c,f,s,g,u,b,h,m,y,v,w,k,j,z,B,$,A,E,C,G,F,R=e.div(p||(p=n(["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"],["\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #ffffff;\n"]))),L=e.div(a||(a=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"]))),T=e.div(l||(l=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"])),t),_=e.button(x||(x=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"]))),q=e.div(c||(c=n(["\n padding: 20px 16px;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 32px;\n flex: 1;\n"],["\n padding: 20px 16px;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 32px;\n flex: 1;\n"]))),D=e.div(f||(f=n(["\n display: flex;\n width: 100%;\n padding: 16px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 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 box-sizing: border-box;\n"],["\n display: flex;\n width: 100%;\n padding: 16px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 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 box-sizing: border-box;\n"])),function(n){var e=n.$borderRadius;return"".concat(e,"px")}),H=e.div(s||(s=n(["\n ","\n color: #4B5565;\n text-align: center;\n"],["\n ","\n color: #4B5565;\n text-align: center;\n"])),o),I=e.div(g||(g=n(["\n ","\n color: #121926;\n margin-top: 2px;\n text-align: center;\n"],["\n ","\n color: #121926;\n margin-top: 2px;\n text-align: center;\n"])),t),J=e.div(u||(u=n(["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"],["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"]))),K=e.div(b||(b=n(["\n width: ","%;\n height: 100%;\n border-radius: 4px;\n background: ",";\n transition: width 0.3s ease-in-out;\n"],["\n width: ","%;\n height: 100%;\n border-radius: 4px;\n background: ",";\n transition: width 0.3s ease-in-out;\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), ".concat(n.$color||"#4F46E5"):n.$color||"#4F46E5"}),M=e.div(h||(h=n(["\n color: #4b5565;\n text-align: center;\n ","\n"],["\n color: #4b5565;\n text-align: center;\n ","\n"])),o),N=e.div(m||(m=n(["\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: 0 6px;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: 0 6px;\n box-sizing: border-box;\n"]))),O=e.div(y||(y=n(["\n display: flex;\n gap: 16px;\n position: relative;\n padding-bottom: 48px;\n\n &:last-child {\n padding-bottom: 0;\n }\n"],["\n display: flex;\n gap: 16px;\n position: relative;\n padding-bottom: 48px;\n\n &:last-child {\n padding-bottom: 0;\n }\n"]))),P=e.div(v||(v=n(["\n position: absolute;\n left: 10px; /* Center of the 20px icon */\n top: ",";\n bottom: ",";\n width: 1px;\n display: ",";\n background: ",";\n"],["\n position: absolute;\n left: 10px; /* Center of the 20px icon */\n top: ",";\n bottom: ",";\n width: 1px;\n display: ",";\n background: ",";\n"])),function(n){return n.$topGap?"26px":"20px"},function(n){return n.$bottomGap?"6px":"0"},function(n){return n.$isLast?"none":"block"},function(n){switch(n.$connectionType){case"solid-dark":return"#9AA4B2";case"solid-light":default:return"#E3E8EF";case"split":return"linear-gradient(to bottom, #9AA4B2 50%, #E3E8EF 50%)"}}),Q=e.div(w||(w=n(["\n flex: 1;\n display: flex;\n flex-direction: column;\n"],["\n flex: 1;\n display: flex;\n flex-direction: column;\n"]))),S=e.div(j||(j=n(["\n ","\n color: ",";\n\n ","\n"],["\n ","\n color: ",";\n\n ","\n"])),r,function(n){return"completed"===n.$status?"#697586":"#121926"},function(e){return"completed"===e.$status&&i(k||(k=n(["\n text-decoration-line: line-through;\n "],["\n text-decoration-line: line-through;\n "])))}),U=e.div(B||(B=n(["\n ","\n margin-top: 2px;\n color: ","; /* Current #4B5565. Completed #9AA4B2 */\n\n ","\n"],["\n ","\n margin-top: 2px;\n color: ","; /* Current #4B5565. Completed #9AA4B2 */\n\n ","\n"])),o,function(n){return"completed"===n.$status?"#9AA4B2":"#4B5565"},function(e){return"completed"===e.$status&&i(z||(z=n(["\n text-decoration-line: line-through;\n "],["\n text-decoration-line: line-through;\n "])))}),V=e.div($||($=n(["\n padding: 8px 16px;\n align-self: stretch;\n border-radius: ",";\n background: var(--Gray-Blue-50, #f8fafc);\n margin-top: 12px;\n ","\n color: #4B5565;\n"],["\n padding: 8px 16px;\n align-self: stretch;\n border-radius: ",";\n background: var(--Gray-Blue-50, #f8fafc);\n margin-top: 12px;\n ","\n color: #4B5565;\n"])),function(n){var e=n.$borderRadius;return"".concat(e,"px")},o),W=e.span(A||(A=n(["\n ","\n color: #121926;\n"],["\n ","\n color: #121926;\n"])),d),X=e.div(E||(E=n(["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n\n svg {\n width: 14px;\n height: 14px;\n color: #121926;\n }\n"],["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n\n svg {\n width: 14px;\n height: 14px;\n color: #121926;\n }\n"]))),Y=e.div(C||(C=n(["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n border: 0.8px solid #121926;\n background: #fff;\n z-index: 2;\n box-sizing: border-box;\n"],["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n\n border-radius: 10px;\n border: 0.8px solid #121926;\n background: #fff;\n z-index: 2;\n box-sizing: border-box;\n"]))),Z=e.div(G||(G=n(["\n width: 10px;\n height: 10px;\n flex-shrink: 0;\n\n border-radius: 5px;\n background: #121926;\n"],["\n width: 10px;\n height: 10px;\n flex-shrink: 0;\n\n border-radius: 5px;\n background: #121926;\n"]))),nn=e.div(F||(F=n(["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n"],["\n display: flex;\n width: 20px;\n height: 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n border-radius: 10px;\n background: #eef2f6;\n z-index: 2;\n"])));export{X as CheckIconContainer,R as Container,q as Content,Y as CurrentIndicator,Z as CurrentIndicatorDot,M as DescriptionText,L as Header,_ as IconButton,V as MultiplierSection,W as MultiplierValue,D as PointsSection,H as PointsText,I as PointsValue,J as ProgressBarContainer,K as ProgressBarFill,N as TimelineContainer,Q as TimelineContent,U as TimelineDescription,O as TimelineItem,P as TimelineLine,S as TimelineTitle,T as Title,nn as UpcomingIndicator};
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { LoyaltyWidgetViewModel } from "models";
3
+ import { CartLoyaltyLineData } from "models/loyalty-customer-info";
4
+ type Props = {
5
+ viewModel: LoyaltyWidgetViewModel;
6
+ line: CartLoyaltyLineData;
7
+ };
8
+ declare const AppliedDiscount: React.FC<Props>;
9
+ export default AppliedDiscount;
@@ -0,0 +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};
@@ -0,0 +1,14 @@
1
+ import { WidgetIconTypeEnum } from "models/loyalty-widget/types";
2
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const ContentWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const TextRow: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const IconWrapper: import("styled-components").StyledComponent<"div", any, {
6
+ $iconType: WidgetIconTypeEnum;
7
+ }, never>;
8
+ export declare const ButtonsRow: import("styled-components").StyledComponent<"div", any, {}, never>;
9
+ export declare const ActionButton: import("styled-components").StyledComponent<"button", any, {
10
+ $color: string;
11
+ $disabled?: boolean;
12
+ }, never>;
13
+ export declare const Loader: import("styled-components").StyledComponent<"span", any, {}, never>;
14
+ export declare const ArrowIcon: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -0,0 +1 @@
1
+ import{__makeTemplateObject as n}from'./../../../../ext/tslib/tslib.es6.mjs.js';import e,{css as r,keyframes as i}from"styled-components";import{WidgetIconTypeEnum as t}from"../../../../models/loyalty-widget/types/index.js";import{textSM as p,textSMMedium as o}from"../../../components/style/typography.js";var d,x,a,s,l,g,f,c,h,b,u,m,y=e.div(d||(d=n(["\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 16px 14px;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"],["\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 16px 14px;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"]))),w=e.div(x||(x=n(["\n display: flex;\n flex-direction: column;\n gap: 6px;\n flex: 1;\n"],["\n display: flex;\n flex-direction: column;\n gap: 6px;\n flex: 1;\n"]))),v=e.div(a||(a=n(["\n color: #121926;\n ","\n"],["\n color: #121926;\n ","\n"])),p),k=e.div(f||(f=n(["\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: #4b5565;\n\n ","\n"],["\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: #4b5565;\n\n ","\n"])),function(e){switch(e.$iconType){case t.ILLUSTRATION:return r(s||(s=n(["\n width: 40px;\n height: 40px;\n padding: 10px;\n border-radius: 40px;\n border: 0.6px solid #e3e8ef;\n background: #fff;\n\n & > svg {\n width: 20px;\n height: 20px;\n }\n "],["\n width: 40px;\n height: 40px;\n padding: 10px;\n border-radius: 40px;\n border: 0.6px solid #e3e8ef;\n background: #fff;\n\n & > svg {\n width: 20px;\n height: 20px;\n }\n "])));case t.NORMAL:return r(l||(l=n(["\n width: 36px;\n height: 36px;\n border-radius: 8px;\n border: 1px solid #e3e8ef;\n background: #fff;\n box-shadow:\n 0 -3px 1px 0 rgba(238, 242, 246, 0.5) inset,\n 0 4px 1px 0 rgba(38, 69, 109, 0),\n 0 2px 1px 0 rgba(38, 69, 109, 0.01),\n 0 1px 1px 0 rgba(38, 69, 109, 0.02),\n 0 1px 1px 0 rgba(38, 69, 109, 0.03);\n\n & > svg {\n width: 16px;\n height: 16px;\n }\n "],["\n width: 36px;\n height: 36px;\n border-radius: 8px;\n border: 1px solid #e3e8ef;\n background: #fff;\n box-shadow:\n 0 -3px 1px 0 rgba(238, 242, 246, 0.5) inset,\n 0 4px 1px 0 rgba(38, 69, 109, 0),\n 0 2px 1px 0 rgba(38, 69, 109, 0.01),\n 0 1px 1px 0 rgba(38, 69, 109, 0.02),\n 0 1px 1px 0 rgba(38, 69, 109, 0.03);\n\n & > svg {\n width: 16px;\n height: 16px;\n }\n "])));case t.NONE:default:return r(g||(g=n(["\n width: 16px;\n height: 16px;\n\n & > svg {\n width: 16px;\n height: 16px;\n }\n "],["\n width: 16px;\n height: 16px;\n\n & > svg {\n width: 16px;\n height: 16px;\n }\n "])))}}),j=e.div(c||(c=n(["\n display: flex;\n align-items: center;\n gap: 12px;\n"],["\n display: flex;\n align-items: center;\n gap: 12px;\n"]))),N=i(h||(h=n(["\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n"],["\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n"]))),$=e.button(b||(b=n(["\n ","\n color: ",";\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n opacity: ",";\n pointer-events: ",";\n\n &:hover {\n opacity: 0.8;\n }\n"],["\n ","\n color: ",";\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n opacity: ",";\n pointer-events: ",";\n\n &:hover {\n opacity: 0.8;\n }\n"])),o,function(n){return n.$color},function(n){return n.$disabled?.5:1},function(n){return n.$disabled?"none":"auto"}),L=e.span(u||(u=n(["\n width: 14px;\n height: 14px;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: "," 0.8s linear infinite;\n"],["\n width: 14px;\n height: 14px;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: "," 0.8s linear infinite;\n"])),N),O=e.span(m||(m=n(["\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > svg {\n width: 16px;\n height: 16px;\n }\n"],["\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > svg {\n width: 16px;\n height: 16px;\n }\n"])));export{$ as ActionButton,O as ArrowIcon,j as ButtonsRow,y as Container,w as ContentWrapper,k as IconWrapper,L as Loader,v as TextRow};
@@ -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 l}from'./../../../../../ext/react-i18next/dist/es/useTranslation.js';import{BadgeLevel1 as r}from"../../../../../assets/badgeLevel1.js";import{BadgeLevel2 as n}from"../../../../../assets/badgeLevel2.js";import{BadgeLevel3 as a}from"../../../../../assets/badgeLevel3.js";import{BadgeLevel4 as o}from"../../../../../assets/badgeLevel4.js";import{BadgeIconTypeEnum as m}from"../../../../../models/loyalty-widget/types/index.js";import s from"../../../../components/count-up/index.js";import{Container as c,TopRow as u,LeftSection as i,BadgeIconContainer as d,PointsContainer as E,Label as g,PointsValue as p,CurrentPoints as f,TotalPoints as L,RightSection as v,LevelBadge as b,BadgeText as y,ProgressBarContainer as j,ProgressBarFill as x}from"./style.js";var h=e(function(e){var h=e.viewModel,T=l().t,_=h.loyaltyWidget,I=h.user,V=_.settings;if(!I)return null;var w=I.totalPoint,M=I.customerTier,N=I.nextTierRequiredPoint||0,P=N>0?Math.min(w/N*100,100):0,W=t.useMemo(function(){var e=I.customerTier;return e?"🏆 ".concat(e.name):"🏆 "},[V.badgeIconLevel,I.customerTier]);return t.createElement(c,null,t.createElement(u,null,t.createElement(i,null,t.createElement(d,null,function(){switch(V.badgeIconLevel){case m.LEVEL_1:return t.createElement(r,null);case m.LEVEL_2:return t.createElement(n,null);case m.LEVEL_3:return t.createElement(a,null);case m.LEVEL_4:return t.createElement(o,null);default:return null}}()),t.createElement(E,null,t.createElement(g,null,T("header.earnedPoints")),t.createElement(p,null,t.createElement(f,null,t.createElement(s,{end:w})),N>0&&t.createElement(L,null,"/ ",N)))),t.createElement(v,null,V.badgeIconLevel!==m.NONE&&!!(null==M?void 0:M.name.length)&&t.createElement(b,null,t.createElement(y,null,W)))),N>0&&t.createElement(j,null,t.createElement(x,{$percentage:P,$color:h.loyaltyWidget.header.background.bgColor||void 0,$isGradient:"GRADIENT"===h.loyaltyWidget.header.background.type})))});export{h 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{BadgeLevel1 as l}from"../../../../../assets/badgeLevel1.js";import{BadgeLevel2 as r}from"../../../../../assets/badgeLevel2.js";import{BadgeLevel3 as o}from"../../../../../assets/badgeLevel3.js";import{BadgeLevel4 as a}from"../../../../../assets/badgeLevel4.js";import{BadgeIconTypeEnum as m}from"../../../../../models/loyalty-widget/types/index.js";import s from"../../../../components/count-up/index.js";import c from"../../../../components/tooltip/index.js";import{Container as u,TopRow as i,LeftSection as d,BadgeIconContainer as E,PointsContainer as p,Label as f,PointsValue as g,CurrentPoints as L,TotalPoints as v,RightSection as b,LevelBadge as y,BadgeText as j,ProgressBarContainer as x,ProgressBarFill as h}from"./style.js";var T=e(function(e){var T=e.viewModel,_=n().t,I=T.loyaltyWidget,V=T.user,w=I.settings;if(!V)return null;var M=V.totalPoint,N=V.customerTier,P=V.nextTierRequiredPoint||0,W=P>0?Math.min(M/P*100,100):0,$=t.useMemo(function(){var e=V.customerTier;return e?"🏆 ".concat(e.name):"🏆 "},[w.badgeIconLevel,V.customerTier]);return t.createElement(u,null,t.createElement(i,null,t.createElement(d,null,t.createElement(E,null,function(){switch(w.badgeIconLevel){case m.LEVEL_1:return t.createElement(l,null);case m.LEVEL_2:return t.createElement(r,null);case m.LEVEL_3:return t.createElement(o,null);case m.LEVEL_4:return t.createElement(a,null);default:return null}}()),t.createElement(p,null,t.createElement(f,null,_("header.earnedPoints")),t.createElement(g,null,t.createElement(L,null,t.createElement(s,{end:M})),P>0&&t.createElement(v,null,"/ ",P)))),t.createElement(b,null,w.badgeIconLevel!==m.NONE&&!!(null==N?void 0:N.name.length)&&t.createElement(y,null,t.createElement(c,{content:$},t.createElement(j,null,$))))),P>0&&t.createElement(x,null,t.createElement(h,{$percentage:W,$color:T.loyaltyWidget.header.background.bgColor||void 0,$isGradient:"GRADIENT"===T.loyaltyWidget.header.background.type})))});export{T as default};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from'./../../../../../ext/tslib/tslib.es6.mjs.js';import e from"styled-components";import{textSM as i,displayXSSemiBold as a,textLGSemiBold as r}from"../../../../components/style/typography.js";var t=e.div(b||(b=n(["\n display: flex;\n flex-direction: column;\n padding: 16px;\n gap: 20px;\n width: 100%;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: column;\n padding: 16px;\n gap: 20px;\n width: 100%;\n box-sizing: border-box;\n"]))),p=e.div(h||(h=n(["\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 12px;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 12px;\n width: 100%;\n"]))),d=e.div(u||(u=n(["\n display: flex;\n gap: 16px;\n align-items: center;\n"],["\n display: flex;\n gap: 16px;\n align-items: center;\n"]))),x=e.div(m||(m=n([""],[""]))),o=e.div(y||(y=n(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n"],["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n"]))),l=e.div(v||(v=n(["\n color: #121926;\n text-align: center;\n ","\n"],["\n color: #121926;\n text-align: center;\n ","\n"])),i),s=e.div(w||(w=n(["\n display: flex;\n align-items: flex-end;\n gap: 4px;\n"],["\n display: flex;\n align-items: flex-end;\n gap: 4px;\n"]))),g=e.span(k||(k=n(["\n color: #121926;\n ","\n"],["\n color: #121926;\n ","\n"])),a),f=e.span(B||(B=n(["\n color: #9aa4b2;\n ","\n"],["\n color: #9aa4b2;\n ","\n"])),r),c=e.div(j||(j=n(["\n svg {\n width: 40px;\n height: 40px;\n }\n"],["\n svg {\n width: 40px;\n height: 40px;\n }\n"])));e.div(G||(G=n(["\n display: flex;\n padding: 4px 10px;\n align-items: center;\n gap: 4px;\n border-radius: 999px;\n border: 1px solid var(--Gray-Blue-100, #eef2f6);\n background: var(--Basic-50, #fff);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n"],["\n display: flex;\n padding: 4px 10px;\n align-items: center;\n gap: 4px;\n border-radius: 999px;\n border: 1px solid var(--Gray-Blue-100, #eef2f6);\n background: var(--Basic-50, #fff);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n"])));var b,h,u,m,y,v,w,k,B,j,G,z,$,E,F,_=e.div(z||(z=n(["\n display: flex;\n padding: 4px 10px;\n justify-content: center;\n align-items: center;\n gap: 6px;\n\n border-radius: 8px;\n border: 0.6px solid var(--Gray-Blue-300, #cdd5df);\n background: var(--Basic-50, #fff);\n box-shadow:\n 0 1px 1px 0 rgba(38, 69, 109, 0.03),\n 0 1px 1px 0 rgba(38, 69, 109, 0.02),\n 0 2px 1px 0 rgba(38, 69, 109, 0.01),\n 0 -3px 1px 0 rgba(238, 242, 246, 0.5) inset;\n"],["\n display: flex;\n padding: 4px 10px;\n justify-content: center;\n align-items: center;\n gap: 6px;\n\n border-radius: 8px;\n border: 0.6px solid var(--Gray-Blue-300, #cdd5df);\n background: var(--Basic-50, #fff);\n box-shadow:\n 0 1px 1px 0 rgba(38, 69, 109, 0.03),\n 0 1px 1px 0 rgba(38, 69, 109, 0.02),\n 0 2px 1px 0 rgba(38, 69, 109, 0.01),\n 0 -3px 1px 0 rgba(238, 242, 246, 0.5) inset;\n"]))),q=e.span($||($=n(["\n color: #364152;\n text-align: center;\n\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n"],["\n color: #364152;\n text-align: center;\n\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n"]))),A=e.div(E||(E=n(["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"],["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"]))),C=e.div(F||(F=n(["\n width: ","%;\n height: 100%;\n\n border-radius: 4px;\n background: ",";\n\n transition: width 0.3s ease-in-out;\n"],["\n width: ","%;\n height: 100%;\n\n border-radius: 4px;\n background: ",";\n\n transition: width 0.3s ease-in-out;\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), ".concat(n.$color||"#4F46E5"):n.$color||"#4F46E5"});export{c as BadgeIconContainer,q as BadgeText,t as Container,g as CurrentPoints,l as Label,d as LeftSection,_ as LevelBadge,o as PointsContainer,s as PointsValue,A as ProgressBarContainer,C as ProgressBarFill,x as RightSection,p as TopRow,f as TotalPoints};
1
+ import{__makeTemplateObject as n}from'./../../../../../ext/tslib/tslib.es6.mjs.js';import e from"styled-components";import{textSM as i,displayXSSemiBold as a,textLGSemiBold as r}from"../../../../components/style/typography.js";var t=e.div(b||(b=n(["\n display: flex;\n flex-direction: column;\n padding: 16px;\n gap: 20px;\n width: 100%;\n box-sizing: border-box;\n"],["\n display: flex;\n flex-direction: column;\n padding: 16px;\n gap: 20px;\n width: 100%;\n box-sizing: border-box;\n"]))),p=e.div(h||(h=n(["\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 12px;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 12px;\n width: 100%;\n"]))),d=e.div(u||(u=n(["\n display: flex;\n gap: 16px;\n align-items: center;\n"],["\n display: flex;\n gap: 16px;\n align-items: center;\n"]))),o=e.div(w||(w=n([""],[""]))),x=e.div(m||(m=n(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n"],["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n"]))),l=e.div(v||(v=n(["\n color: #121926;\n text-align: center;\n ","\n"],["\n color: #121926;\n text-align: center;\n ","\n"])),i),s=e.div(y||(y=n(["\n display: flex;\n align-items: flex-end;\n gap: 4px;\n"],["\n display: flex;\n align-items: flex-end;\n gap: 4px;\n"]))),g=e.span(k||(k=n(["\n color: #121926;\n ","\n"],["\n color: #121926;\n ","\n"])),a),f=e.span(B||(B=n(["\n color: #9aa4b2;\n ","\n"],["\n color: #9aa4b2;\n ","\n"])),r),c=e.div(j||(j=n(["\n svg {\n width: 40px;\n height: 40px;\n }\n"],["\n svg {\n width: 40px;\n height: 40px;\n }\n"])));e.div(G||(G=n(["\n display: flex;\n padding: 4px 10px;\n align-items: center;\n gap: 4px;\n border-radius: 999px;\n border: 1px solid var(--Gray-Blue-100, #eef2f6);\n background: var(--Basic-50, #fff);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n"],["\n display: flex;\n padding: 4px 10px;\n align-items: center;\n gap: 4px;\n border-radius: 999px;\n border: 1px solid var(--Gray-Blue-100, #eef2f6);\n background: var(--Basic-50, #fff);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n"])));var b,h,u,w,m,v,y,k,B,j,G,z,$,E,F,_=e.div(z||(z=n(["\n display: flex;\n padding: 4px 10px;\n justify-content: center;\n align-items: center;\n gap: 6px;\n\n border-radius: 8px;\n border: 0.6px solid var(--Gray-Blue-300, #cdd5df);\n background: var(--Basic-50, #fff);\n box-shadow:\n 0 1px 1px 0 rgba(38, 69, 109, 0.03),\n 0 1px 1px 0 rgba(38, 69, 109, 0.02),\n 0 2px 1px 0 rgba(38, 69, 109, 0.01),\n 0 -3px 1px 0 rgba(238, 242, 246, 0.5) inset;\n"],["\n display: flex;\n padding: 4px 10px;\n justify-content: center;\n align-items: center;\n gap: 6px;\n\n border-radius: 8px;\n border: 0.6px solid var(--Gray-Blue-300, #cdd5df);\n background: var(--Basic-50, #fff);\n box-shadow:\n 0 1px 1px 0 rgba(38, 69, 109, 0.03),\n 0 1px 1px 0 rgba(38, 69, 109, 0.02),\n 0 2px 1px 0 rgba(38, 69, 109, 0.01),\n 0 -3px 1px 0 rgba(238, 242, 246, 0.5) inset;\n"]))),q=e.span($||($=n(["\n color: #364152;\n text-align: center;\n\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n\n max-width: 70px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"],["\n color: #364152;\n text-align: center;\n\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n\n max-width: 70px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"]))),A=e.div(E||(E=n(["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"],["\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: #eef2f6;\n overflow: hidden;\n"]))),C=e.div(F||(F=n(["\n width: ","%;\n height: 100%;\n\n border-radius: 4px;\n background: ",";\n\n transition: width 0.3s ease-in-out;\n"],["\n width: ","%;\n height: 100%;\n\n border-radius: 4px;\n background: ",";\n\n transition: width 0.3s ease-in-out;\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), ".concat(n.$color||"#4F46E5"):n.$color||"#4F46E5"});export{c as BadgeIconContainer,q as BadgeText,t as Container,g as CurrentPoints,l as Label,d as LeftSection,_ as LevelBadge,x as PointsContainer,s as PointsValue,A as ProgressBarContainer,C as ProgressBarFill,o as RightSection,p as TopRow,f as TotalPoints};
@@ -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 s,WidgetMode as a}from"../../../models/types/index.js";import d from"../../components/section-title/index.js";import l from"./cart-warning/index.js";import c from"./earning-methods-section/index.js";import m from"./header/index.js";import{CARD_OVERLAP_TOP as g}from"./header/style.js";import p from"./program-info-section/index.js";import u from"./spending-methods-section/index.js";import{Container as f,Content as h,Section as E}from"./style.js";var v=o(function(o){var v=o.viewModel,M=o.onClose,T=o.onNavigate,x=r().t,b=i.useState(0),j=b[0],w=b[1],C=Math.max(j-g+32,32),S=v.spendingMethods.filter(function(e){return e.isAvailable}),y=!!v.user&&!v.cartId,_=v.shouldShowSpendingMethods&&S.length>0,k=v.earningMethods.length>0,I=_||k;return console.log("showCartWarning",y),i.createElement(f,null,i.createElement(m,{viewModel:v,onClose:M,onCardHeightChange:w,headerGap:24}),i.createElement(h,{$topPadding:C},y&&i.createElement("div",{style:{padding:"0 16px",marginTop:-16,marginBottom:24}},i.createElement(l,{viewModel:v})),I&&i.createElement(E,{style:{marginBottom:32}},i.createElement(d,{style:{paddingTop:0,paddingLeft:16,paddingRight:16}},x(_?"main_screen.spendingMethodsTitle":"main_screen.earningMethodsTitle")),_?i.createElement(u,{viewModel:v,mode:"card",methods:S,getActionProps:function(e){return null}}):i.createElement(c,{viewModel:v,getActionProps:function(o){return o.methodType===s.CUSTOMER_REGISTER?{actionText:x("common.create"),onClick:function(){v.storeUrl&&(v.setWidgetMode(a.MINI_MODE),window.location.href="".concat(v.storeUrl,"/account/register"))}}:o.methodType===s.ENABLE_SUBSCRIPTION?{actionText:x("common.allow"),onClick:function(){return e(void 0,void 0,void 0,function(){var e;return t(this,function(t){switch(t.label){case 0:return(null===(e=v.callbacks)||void 0===e?void 0:e.subscribeToMarketingNotifications)?(v.isActionLoading=!0,[4,v.callbacks.subscribeToMarketingNotifications()]):[3,2];case 1:t.sent()&&(v.ikasEventUser=n(n({},v.ikasEventUser),{subscriptionStatus:"SUBSCRIBED"}),v.userRefreshTrigger++),v.isActionLoading=!1,t.label=2;case 2:return[2]}})})},loading:v.isActionLoading}:null}})),i.createElement(E,null,i.createElement(d,{style:{paddingTop:0,paddingLeft:16,paddingRight:16}},x("main_screen.programInfoTitle")),i.createElement(p,{viewModel:v,onNavigate:T}))))});export{v 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/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 +1 @@
1
- import{__makeTemplateObject as n}from'./../../../../ext/tslib/tslib.es6.mjs.js';import o,{css as e}from"styled-components";import{iconWrapperShape as r}from"../../../components/style/icon-wrapper.js";import{textSMMedium as i}from"../../../components/style/typography.js";var t,d,p,a,s,l,c,f,x,b=o.div(t||(t=n(["\n display: flex;\n justify-content: center;\n align-items: center;\n color: #9aa4b2;\n transition: color 0.2s ease-in-out;\n"],["\n display: flex;\n justify-content: center;\n align-items: center;\n color: #9aa4b2;\n transition: color 0.2s ease-in-out;\n"]))),u=o.div(d||(d=n(["\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 0 16px;\n"],["\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 0 16px;\n"]))),g=o.div(p||(p=n(["\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n"],["\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n"]))),m=o.button(a||(a=n(["\n display: flex;\n flex-direction: column;\n padding: 12px;\n padding-left: 14px;\n gap: 12px;\n position: relative;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n align-items: flex-start;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #cdd5df;\n\n "," {\n color: #4b5565;\n }\n }\n"],["\n display: flex;\n flex-direction: column;\n padding: 12px;\n padding-left: 14px;\n gap: 12px;\n position: relative;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n align-items: flex-start;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #cdd5df;\n\n "," {\n color: #4b5565;\n }\n }\n"])),function(n){var o=n.$borderRadius;return"".concat(o,"px")},b),y=o.div(l||(l=n(["\n ","\n border: 1px solid #e3e8ef;\n background: #fff;\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n color: #4b5565;\n\n ","\n"],["\n ","\n border: 1px solid #e3e8ef;\n background: #fff;\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n color: #4b5565;\n\n ","\n"])),r,function(o){return o.$hasBgColor&&e(s||(s=n(["\n padding: 10px;\n background: #f6f6f6;\n border: none;\n "],["\n padding: 10px;\n background: #f6f6f6;\n border: none;\n "])))}),h=o.div(c||(c=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"]))),v=o.span(f||(f=n(["\n color: #121926;\n ","\n"],["\n color: #121926;\n ","\n"])),i),w=o.button(x||(x=n(["\n display: flex;\n padding: 12px 12px 12px 16px;\n justify-content: space-between;\n align-items: center;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #4b5565;\n\n "," {\n color: #4b5565;\n }\n }\n"],["\n display: flex;\n padding: 12px 12px 12px 16px;\n justify-content: space-between;\n align-items: center;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #4b5565;\n\n "," {\n color: #4b5565;\n }\n }\n"])),function(n){var o=n.$borderRadius;return"".concat(o,"px")},b);export{b as ArrowWrapper,u as Container,g as GridContainer,w as RowCard,m as SmallCard,h as SmallCardBottom,y as SmallCardIconWrapper,v as Title};
1
+ import{__makeTemplateObject as n}from'./../../../../ext/tslib/tslib.es6.mjs.js';import o,{css as e}from"styled-components";import{iconWrapperShape as r}from"../../../components/style/icon-wrapper.js";import{textSMMedium as i}from"../../../components/style/typography.js";var d,t,p,a,s,l,c,f,x,b=o.div(d||(d=n(["\n display: flex;\n justify-content: center;\n align-items: center;\n color: #9aa4b2;\n transition: color 0.2s ease-in-out;\n"],["\n display: flex;\n justify-content: center;\n align-items: center;\n color: #9aa4b2;\n transition: color 0.2s ease-in-out;\n"]))),u=o.div(t||(t=n(["\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 0 16px;\n"],["\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 0 16px;\n"]))),g=o.div(p||(p=n(["\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n"],["\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n"]))),m=o.button(a||(a=n(["\n display: flex;\n flex-direction: column;\n padding: 12px;\n padding-left: 14px;\n gap: 12px;\n position: relative;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n align-items: flex-start;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #cdd5df;\n\n "," {\n color: #4b5565;\n }\n }\n"],["\n display: flex;\n flex-direction: column;\n padding: 12px;\n padding-left: 14px;\n gap: 12px;\n position: relative;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n align-items: flex-start;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #cdd5df;\n\n "," {\n color: #4b5565;\n }\n }\n"])),function(n){var o=n.$borderRadius;return"".concat(o,"px")},b),y=o.div(l||(l=n(["\n ","\n border: 1px solid #e3e8ef;\n background: #fff;\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n color: #4b5565;\n\n ","\n"],["\n ","\n border: 1px solid #e3e8ef;\n background: #fff;\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n color: #4b5565;\n\n ","\n"])),r,function(o){return o.$hasBgColor&&e(s||(s=n(["\n padding: 10px;\n background: #f6f6f6;\n border: none;\n "],["\n padding: 10px;\n background: #f6f6f6;\n border: none;\n "])))}),h=o.div(c||(c=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"]))),v=o.span(f||(f=n(["\n color: #121926;\n ","\n"],["\n color: #121926;\n ","\n"])),i),w=o.button(x||(x=n(["\n display: flex;\n padding: 12px 12px 12px 16px;\n justify-content: space-between;\n align-items: center;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #cdd5df;\n\n "," {\n color: #4b5565;\n }\n }\n"],["\n display: flex;\n padding: 12px 12px 12px 16px;\n justify-content: space-between;\n align-items: center;\n border-radius: ",";\n border: 1px solid #eef2f6;\n background: #fff;\n cursor: pointer;\n width: 100%;\n transition: border-color 0.2s ease-in-out;\n\n &:hover {\n border-color: #cdd5df;\n\n "," {\n color: #4b5565;\n }\n }\n"])),function(n){var o=n.$borderRadius;return"".concat(o,"px")},b);export{b as ArrowWrapper,u as Container,g as GridContainer,w as RowCard,m as SmallCard,h as SmallCardBottom,y as SmallCardIconWrapper,v as Title};
@@ -1 +1 @@
1
- import{__makeTemplateObject as n,__awaiter as e,__generator as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import i,{useState as r,useEffect as a}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import s from"styled-components";import{HeaderBackgroundTypeEnum as d}from"../../../../models/loyalty-widget/types/index.js";import{LoyaltyWidgetScreenTypeEnum as p}from"../../../../models/types/index.js";import u from"../../../components/button/index.js";import{textSM as c,Badge as f}from"../../../components/style/typography.js";var m,g,x,h,b,v,y,w,E,k,$,j,S=s.div(m||(m=n(["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"],["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"]))),C=s.div(g||(g=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"]))),z=s.div(x||(x=n(["\n color: #364152;\n ","\n"],["\n color: #364152;\n ","\n"])),c),I=s.div(h||(h=n(["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"],["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"]))),M=s.div(b||(b=n(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"],["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"]))),N=s.div(v||(v=n(["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"],["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"]))),A=s.div(y||(y=n(["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"],["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"radial-gradient(92.35% 100% at 50% 0%, rgba(255, 255, 255, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), ".concat(n.$bgColor):n.$bgColor}),L=s.div(w||(w=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"])),function(n){return n.$left},function(n){return n.$bgColor}),_=s.input(E||(E=n(["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"],["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"]))),P=s.div(k||(k=n(["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"],["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"]))),R=s.div($||($=n(["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"],["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"]))),T=s.div(j||(j=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"])),function(n){return n.$left}),F=o(function(n){var o=n.viewModel,s=n.method,c=l().t,m=r(!1),g=m[0],x=m[1],h=o.user,b=o.loyaltyWidget,v=s.discountSettings;if(!h||!v)return null;var y=v.point,w=v.discountAmount||0;if(y<=0)return null;var E=s.pointUsageLimit,k=(null==E?void 0:E.minPointLimit)||0,$=(null==E?void 0:E.maxPointLimit)||Number.MAX_SAFE_INTEGER,j=Math.min(h.totalPoint,$),F=Math.floor(j/y)*y,G=k>0?Math.ceil(k/y)*y:0,B=F>0?F:y,W=G,D=r(G),U=D[0],X=D[1];a(function(){U>F?X(F):U<G&&X(G)},[F,G]);var q=B-W,H=q>0?(U-W)/q*100:0,J=U/y*w,K=b.header.background.bgColor||"#7B61FF",O=b.header.background.type===d.GRADIENT,Q=q/y,V=[];if(Q>1&&Q<20)for(var Y=1;Y<Q;Y++)V.push(Y/Q*100);var Z=F>=G&&F>0&&!0===s.isAvailable;return i.createElement(i.Fragment,null,i.createElement(S,null,i.createElement(C,null,i.createElement(z,null,U," ",c("common.points")),i.createElement(f,null,o.formatCurrency(Number(J)))),i.createElement(I,null,i.createElement(M,null,i.createElement(N,null,V.map(function(n,e){return i.createElement(T,{key:e,$left:n})})),i.createElement(A,{$percentage:H,$bgColor:K,$isGradient:O}),i.createElement(L,{$left:H,$bgColor:K}),i.createElement(_,{type:"range",min:W,max:B,step:y,value:U,onChange:function(n){var e=Number(n.target.value);X(e)}})),i.createElement(P,null,i.createElement(R,null,W),i.createElement(R,null,B)))),i.createElement(u,{button:b.button,fontSize:"textSMMedium",paddingSize:"medium",fullWidth:!0,disabled:0===U||g||!Z,isLoading:g,onClick:function(){return e(void 0,void 0,void 0,function(){var n;return t(this,function(e){switch(e.label){case 0:if(!o.cartId||0===U)return[2];x(!0),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,null===(n=o.callbacks)||void 0===n?void 0:n.useLoyaltyPoints({amount:J,cartId:o.cartId,loyaltyProgramId:s.loyaltyProgramId,loyaltySpendingMethodId:s.id})];case 2:return e.sent()&&(o.userRefreshTrigger++,o.cartRefreshTrigger++,o.selectedScreen!==p.MAIN_SCREEN&&(o.selectedScreen=p.MAIN_SCREEN)),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})}},c("common.convert")))});export{F as default};
1
+ import{__makeTemplateObject as n,__awaiter as e,__generator as t}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as o}from"mobx-react";import i,{useState as r,useEffect as a}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as l}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import s from"styled-components";import{HeaderBackgroundTypeEnum as d}from"../../../../models/loyalty-widget/types/index.js";import{LoyaltyWidgetScreenTypeEnum as p}from"../../../../models/types/index.js";import u from"../../../components/button/index.js";import{textSM as c,Badge as f}from"../../../components/style/typography.js";var m,g,x,h,b,v,y,w,E,k,$,j,S=s.div(m||(m=n(["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"],["\n display: flex;\n padding: 12px 16px 16px 16px;\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n align-self: stretch;\n border-radius: 6px;\n border: 1px solid #eef2f6;\n background: #f8fafc;\n"]))),C=s.div(g||(g=n(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"],["\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n"]))),z=s.div(x||(x=n(["\n color: #364152;\n ","\n"],["\n color: #364152;\n ","\n"])),c),I=s.div(h||(h=n(["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"],["\n width: 100%;\n position: relative;\n padding-bottom: 16px; /* Space for markers */\n"]))),M=s.div(b||(b=n(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"],["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"]))),N=s.div(v||(v=n(["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"],["\n position: absolute;\n left: 0;\n right: 0;\n height: 6px;\n border-radius: 3px;\n background-color: #e3e8ef;\n"]))),A=s.div(y||(y=n(["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"],["\n position: absolute;\n left: 0;\n height: 6px;\n width: ","%;\n border-radius: 3px;\n background: ",";\n"])),function(n){return n.$percentage},function(n){return n.$isGradient?"radial-gradient(92.35% 100% at 50% 0%, rgba(255, 255, 255, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), ".concat(n.$bgColor):n.$bgColor}),L=s.div(w||(w=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: #ffffff;\n border: 2px solid ",";\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 2;\n pointer-events: none; /* Let clicks pass through to input/container if needed, but input handles interaction */\n"])),function(n){return n.$left},function(n){return n.$bgColor}),_=s.input(E||(E=n(["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"],["\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n z-index: 3;\n margin: 0;\n"]))),P=s.div(k||(k=n(["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"],["\n position: absolute;\n top: 28px; /* Below the slider track/thumb */\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n pointer-events: none;\n"]))),R=s.div($||($=n(["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"],["\n font-size: 12px;\n color: #9aa4b2;\n font-weight: 400;\n line-height: 18px;\n"]))),T=s.div(j||(j=n(["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"],["\n position: absolute;\n left: ","%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 4px;\n border-radius: 50%;\n background-color: #fff;\n z-index: 1;\n"])),function(n){return n.$left}),F=o(function(n){var o=n.viewModel,s=n.method,c=l().t,m=r(!1),g=m[0],x=m[1],h=o.user,b=o.loyaltyWidget,v=s.discountSettings;if(!h||!v)return null;var y=v.point,w=v.discountAmount||0;if(y<=0)return null;var E=s.pointUsageLimit,k=(null==E?void 0:E.minPointLimit)||0,$=(null==E?void 0:E.maxPointLimit)||Number.MAX_SAFE_INTEGER,j=Math.min(h.totalPoint,$),F=Math.floor(j/y)*y,G=k>0?Math.ceil(k/y)*y:0,B=F>0?F:y,W=G,D=r(G),U=D[0],X=D[1];a(function(){U>F?X(F):U<G&&X(G)},[F,G]);var q=B-W,H=q>0?(U-W)/q*100:0,J=U/y*w,K=b.header.background.bgColor||"#7B61FF",O=b.header.background.type===d.GRADIENT,Q=q/y,V=[];if(Q>1&&Q<20)for(var Y=1;Y<Q;Y++)V.push(Y/Q*100);var Z=F>=G&&F>0&&!0===s.isAvailable;return i.createElement(i.Fragment,null,i.createElement(S,null,i.createElement(C,null,i.createElement(z,null,U," ",c("common.points")),i.createElement(f,null,o.formatCurrency(Number(J)))),i.createElement(I,null,i.createElement(M,null,i.createElement(N,null,V.map(function(n,e){return i.createElement(T,{key:e,$left:n})})),i.createElement(A,{$percentage:H,$bgColor:K,$isGradient:O}),i.createElement(L,{$left:H,$bgColor:K}),i.createElement(_,{type:"range",min:W,max:B,step:y,value:U,onChange:function(n){var e=Number(n.target.value);X(e)}})),i.createElement(P,null,i.createElement(R,null,W),i.createElement(R,null,B)))),i.createElement(u,{button:b.button,fontSize:"textSMMedium",paddingSize:"medium",fullWidth:!0,disabled:0===U||g||!Z,isLoading:g,onClick:function(){return e(void 0,void 0,void 0,function(){var n;return t(this,function(e){switch(e.label){case 0:if(!o.cartId||0===U)return[2];x(!0),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,null===(n=o.callbacks)||void 0===n?void 0:n.useLoyaltyPoints({amount:U,cartId:o.cartId,loyaltyProgramId:s.loyaltyProgramId,loyaltySpendingMethodId:s.id})];case 2:return e.sent()&&(o.userRefreshTrigger++,o.cartRefreshTrigger++,o.selectedScreen!==p.MAIN_SCREEN&&(o.selectedScreen=p.MAIN_SCREEN)),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})}},c("common.convert")))});export{F as default};
@@ -1 +1 @@
1
- import{__spreadArray as e,__awaiter as t,__generator as i}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as n}from"mobx-react";import o,{useState as r}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as d}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{LoyaltyProgramMethodSpendingTypeEnum as a,LoyaltyProgramFilterTypeEnum as s,LoyaltyWidgetScreenTypeEnum as l}from"../../../../models/types/index.js";import c from"../../../components/button/index.js";import m from"../../../components/loyalty-method-card/index.js";import{getFreeProductName as u,getFilterDetails as p}from"../../../utils/loyalty-details.js";import{getSpendingMethodTitle as g,getSpendingMethodDescription as y,getSpendingMethodIcon as f}from"../../../../utils.js";import v from"./dynamic-slider.js";var E=n(function(e){var n,E,x=e.method,R=e.viewModel,h=e.actionText,A=e.padding,b=e.onClick,T=e.mode,C=d().t,D=r(!1),S=D[0],I=D[1],M=R.loyaltyWidget,_=g(x),O=y(x,R),P=f(x.type,M.settings.widgetIconType),k=x.productFilters||[],j=x.type===a.FREE_PRODUCT,w=j&&(null===(n=x.discountSettings)||void 0===n?void 0:n.freeProductId)?u(R,x.discountSettings.freeProductId):void 0,N=j&&!!w,B=null===(E=x.pointUsageLimit)||void 0===E?void 0:E.minPointLimit,L=!x.isDynamic&&!!R.user&&!!R.cartId,U=x.isDynamic&&!!R.user&&!!R.cartId,z=x.isDynamic,W="accordion"===T||z&&U?"accordion":"card",F=function(){return t(void 0,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:if(!R.cartId||!x.isAvailable)return[2];I(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,null===(e=R.callbacks)||void 0===e?void 0:e.useLoyaltyPoints({cartId:R.cartId,loyaltyProgramId:x.loyaltyProgramId,loyaltySpendingMethodId:x.id})];case 2:return t.sent()&&(R.userRefreshTrigger++,R.cartRefreshTrigger++,R.selectedScreen!==l.MAIN_SCREEN&&(R.selectedScreen=l.MAIN_SCREEN)),[3,4];case 3:return I(!1),[7];case 4:return[2]}})})},G="card"===W&&L&&!z?{text:C("common.use"),onClick:F,loading:S}:h&&b?{text:h,onClick:b}:void 0;return o.createElement(m,{title:_,description:O,icon:P,action:G,isCompleted:!1,mode:W,padding:A,settings:{borderRadius:M.settings.cartBorderRadius,widgetIconType:M.settings.widgetIconType,button:M.button}},"accordion"!==W?null:o.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},B&&B>0&&o.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},C("spendingMethods.minPointLimit",{points:B})),N&&o.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},C("spendingMethods.FREE_PRODUCT.description",{product:w})),k.map(function(e,t){var i=p(R,e.type,e.idList);if(!i.length)return null;var n=i[0],r=n.name,d="";switch(n.type){case s.CATEGORY:case s.DYNAMIC_CATEGORY:d=C("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:r});break;case s.PRODUCT_AND_VARIANT:d=C("earningMethods.ORDER_CREATE.BASE.descriptionOnlyProduct",{product:r});break;case s.PRODUCT_BRAND:d=C("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:r});break;case s.PRODUCT_TAG:d=C("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:r})}return!d&&r&&(d=r),d?o.createElement("div",{key:t,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},d):null}),U&&o.createElement(v,{viewModel:R,method:x}),L&&!z&&o.createElement("div",{style:{alignSelf:"flex-end",width:"100%"}},o.createElement(c,{button:M.button,paddingSize:"small",fontSize:"textSMMedium",onClick:F,isLoading:S,disabled:!x.isAvailable,fullWidth:!0},C("common.use")))))}),x=n(function(t){var i=t.viewModel,n=t.mode,r=void 0===n?"card":n,d=t.getActionProps,a=t.methods,s=i.spendingMethods,l=e([],a||s,!0).sort(function(e,t){return e.isAvailable&&!t.isAvailable?-1:!e.isAvailable&&t.isAvailable?1:e.isDynamic&&!t.isDynamic?-1:!e.isDynamic&&t.isDynamic?1:0}),c="accordion"===r?"16px":void 0;return o.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"0 16px"}},l.map(function(e){var t=d?d(e):null;return o.createElement(E,{key:e.id,method:e,viewModel:i,mode:r,padding:c,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick})}))});export{x as default};
1
+ import{__spreadArray as e,__awaiter as t,__generator as i}from'./../../../../ext/tslib/tslib.es6.mjs.js';import{observer as n}from"mobx-react";import o,{useState as r,useMemo as d}from"react";import'./../../../../ext/react-i18next/dist/es/context.js';import{useTranslation as a}from'./../../../../ext/react-i18next/dist/es/useTranslation.js';import{LoyaltyProgramMethodSpendingTypeEnum as l,LoyaltyProgramFilterTypeEnum as s,LoyaltyWidgetScreenTypeEnum as c}from"../../../../models/types/index.js";import m from"../../../components/button/index.js";import u from"../../../components/loyalty-method-card/index.js";import{getFreeProductName as p,getFilterDetails as g}from"../../../utils/loyalty-details.js";import{getSpendingMethodTitle as y,getSpendingMethodDescription as f,getSpendingMethodIcon as v}from"../../../../utils.js";import E from"./dynamic-slider.js";var h=n(function(e){var n,h,x=e.method,R=e.viewModel,A=e.actionText,b=e.padding,T=e.onClick,C=e.mode,D=a().t,S=r(!1),I=S[0],M=S[1],_=R.loyaltyWidget,O=y(x),P=f(x,R),k=v(x.type,_.settings.widgetIconType),j=x.productFilters||[],w=x.type===l.FREE_PRODUCT,B=w&&(null===(n=x.discountSettings)||void 0===n?void 0:n.freeProductId)?p(R,x.discountSettings.freeProductId):void 0,N=w&&!!B,L=null===(h=x.pointUsageLimit)||void 0===h?void 0:h.minPointLimit,U=!x.isDynamic&&!!R.user&&!!R.cartId,z=x.isDynamic&&!!R.user&&!!R.cartId,W=x.isDynamic,F=d(function(){return j.map(function(e){var t=g(R,e.type,e.idList);if(!t.length)return null;var i=t[0],n=i.name,o="";switch(i.type){case s.CATEGORY:case s.DYNAMIC_CATEGORY:o=D("earningMethods.ORDER_CREATE.BASE.descriptionOnlyCategory",{category:n});break;case s.PRODUCT_AND_VARIANT:o=D("earningMethods.ORDER_CREATE.BASE.descriptionOnlyProduct",{product:n});break;case s.PRODUCT_BRAND:o=D("earningMethods.ORDER_CREATE.BASE.descriptionOnlyBrand",{brand:n});break;case s.PRODUCT_TAG:o=D("earningMethods.ORDER_CREATE.BASE.descriptionOnlyTag",{tag:n})}return!o&&n&&(o=n),o||null}).filter(Boolean)},[j,R,D]),G=F.length>0,H="accordion"===C?!!(L&&L>0)||N||G||z||U&&!W?"accordion":"card":W&&z?"accordion":"card",Y=function(){return t(void 0,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:if(!R.cartId||!x.isAvailable)return[2];M(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,null===(e=R.callbacks)||void 0===e?void 0:e.useLoyaltyPoints({cartId:R.cartId,loyaltyProgramId:x.loyaltyProgramId,loyaltySpendingMethodId:x.id})];case 2:return t.sent()&&(R.userRefreshTrigger++,R.cartRefreshTrigger++,R.selectedScreen!==c.MAIN_SCREEN&&(R.selectedScreen=c.MAIN_SCREEN)),[3,4];case 3:return M(!1),[7];case 4:return[2]}})})},V="card"===H&&U&&!W?{text:D("common.use"),onClick:Y,loading:I}:A&&T?{text:A,onClick:T}:void 0;return o.createElement(u,{title:O,description:P,icon:k,action:V,isCompleted:!1,mode:H,padding:b,settings:{borderRadius:_.settings.cartBorderRadius,widgetIconType:_.settings.widgetIconType,button:_.button}},"accordion"!==H?null:o.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},L&&L>0&&o.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},D("spendingMethods.minPointLimit",{points:L})),N&&o.createElement("div",{style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},D("spendingMethods.FREE_PRODUCT.description",{product:B})),F.map(function(e,t){return o.createElement("div",{key:t,style:{fontSize:"14px",color:"#475467",lineHeight:"20px",fontWeight:400}},e)}),z&&o.createElement(E,{viewModel:R,method:x}),U&&!W&&o.createElement("div",{style:{alignSelf:"flex-end",width:"100%"}},o.createElement(m,{button:_.button,paddingSize:"small",fontSize:"textSMMedium",onClick:Y,isLoading:I,disabled:!x.isAvailable,fullWidth:!0},D("common.use")))))}),x=n(function(t){var i=t.viewModel,n=t.mode,r=void 0===n?"card":n,d=t.getActionProps,a=t.methods,l=i.spendingMethods,s=e([],a||l,!0).sort(function(e,t){return e.isAvailable&&!t.isAvailable?-1:!e.isAvailable&&t.isAvailable?1:e.isDynamic&&!t.isDynamic?-1:!e.isDynamic&&t.isDynamic?1:0}),c="accordion"===r?"16px":void 0;return o.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px",padding:"0 16px"}},s.map(function(e){var t=d?d(e):null;return o.createElement(h,{key:e.id,method:e,viewModel:i,mode:r,padding:c,actionText:null==t?void 0:t.actionText,onClick:null==t?void 0:t.onClick})}))});export{x as default};
@@ -1 +1 @@
1
- var t={points:"Points",view:"View",create:"Create",allow:"Allow",use:"Use",review:"Review",login:"Login",register:"Register"},e={earningMethodsTitle:"Ways to Earn Points",programInfoTitle:"Program Information",cartWarning:"You cannot use rewards without creating a cart."},o={title:"Loyalty Program",subtitle:"Earn as You Spend",register_title:"Join Now",registerDescription:"Unlock exciting benefits and get access to exclusive rewards.",registerButton:"Register Now",haveAccount:"Already have an account?",earnedPoints:"Earned Points"},r={minPointLimit:"Minimum {{points}} points can be converted.",FIXED_AMOUNT:{title:"Fixed Amount Discount"},RATIO:{title:"Percentage Discount"},FREE_SHIPPING:{title:"Free Shipping"},FREE_PRODUCT:{title:"Free Product",description:"{{product}} product will be added to cart for free."}},i={spent_amount_description:"{{points}} points for every {{amount}}₺ spent",min_order_amount_description:"Minimum order amount must be {{amount}} TL.",category_filter_description:"A product from {{category}} category must be added to the order.",product_filter_description:"Product {{product}} must be added to the order."},n={xPoints:"{{points}} Points",xPointsForEachProduct:"{{points}} points per product",CUSTOMER_REGISTER:{title:"Create Account"},CUSTOMER_REVIEW:{title:"Review Products"},ENABLE_SUBSCRIPTION:{title:"Subscribe to Communication"},ORDER_CREATE:{RECEIVE_POINTS_ON_SPEND:{title:"Earn as You Spend",description:"{{points}} points for every {{amount}} spent"},BASE:{title:"Create Order",descriptionStaticMinimum:"Minimum order amount must be {{amount}}.",descriptionStaticMaximum:"Maximum order amount must be {{amount}}.",descriptionDynamicMinimum:"Minimum order amount must be {{amount}}. A product from {{category}} category must be added to the order.",descriptionDynamicMaximum:"Maximum order amount must be {{amount}}. A product from {{category}} category must be added to the order.",descriptionOnlyCategory:"A product from {{category}} category must be added to the order.",descriptionOnlyProduct:"Product {{product}} must be added to the order.",descriptionOnlyBrand:"A product from {{brand}} brand must be added to the order.",descriptionOnlyTag:"A product with {{tag}} tag must be added to the order."}},BUY_PRODUCT:{title:"Buy Product",description:"A product from {{category}} category must be purchased."},CUSTOMER_SEGMENT:{title:"Customer Segment"}},d={creditEarningMethods:"Credit Earning Methods",creditSpendingMethods:"Credit Spending Methods",creditHistory:"Credit History",loyaltyLevel:"Loyalty Level"},a={common:t,main_screen:e,header:o,spendingMethods:r,earning_methods:i,earningMethods:n,screens:d};export{t as common,a as default,n as earningMethods,i as earning_methods,o as header,e as main_screen,d as screens,r as spendingMethods};
1
+ var e={points:"Points",view:"View",create:"Create",allow:"Allow",use:"Use",review:"Review",login:"Login",register:"Register"},t={earningMethodsTitle:"Ways to Earn Points",programInfoTitle:"Program Information",cartWarning:"You cannot use rewards without creating a cart.",appliedDiscount:{fixedAmount:"{{amount}} discount has been applied to your cart.",freeShipping:"Free shipping has been applied to your cart.",ratio:"{{amount}} discount has been applied to your cart.",freeProduct:"A free product has been added to your cart.",generic:"{{amount}} discount has been applied to your cart.",remove:"Remove",goToCheckout:"Go to Checkout"}},r={title:"Loyalty Program",subtitle:"Earn as You Spend",register_title:"Join Now",registerDescription:"Unlock exciting benefits and get access to exclusive rewards.",registerButton:"Register Now",haveAccount:"Already have an account?",earnedPoints:"Earned Points"},o={minPointLimit:"Minimum {{points}} points can be converted.",FIXED_AMOUNT:{title:"Fixed Amount Discount"},RATIO:{title:"Percentage Discount"},FREE_SHIPPING:{title:"Free Shipping"},FREE_PRODUCT:{title:"Free Product",description:"{{product}} product will be added to cart for free."}},i={spent_amount_description:"{{points}} points for every {{amount}}₺ spent",min_order_amount_description:"Minimum order amount must be {{amount}} TL.",category_filter_description:"A product from {{category}} category must be added to the order.",product_filter_description:"Product {{product}} must be added to the order."},n={xPoints:"{{points}} Points",xPointsForEachProduct:"{{points}} points per product",CUSTOMER_REGISTER:{title:"Create Account"},CUSTOMER_REVIEW:{title:"Review Products"},ENABLE_SUBSCRIPTION:{title:"Subscribe to Communication"},ORDER_CREATE:{RECEIVE_POINTS_ON_SPEND:{title:"Earn as You Spend",description:"{{points}} points for every {{amount}} spent"},BASE:{title:"Create Order",descriptionStaticMinimum:"Minimum order amount must be {{amount}}.",descriptionStaticMaximum:"Maximum order amount must be {{amount}}.",descriptionDynamicMinimum:"Minimum order amount must be {{amount}}. A product from {{category}} category must be added to the order.",descriptionDynamicMaximum:"Maximum order amount must be {{amount}}. A product from {{category}} category must be added to the order.",descriptionOnlyCategory:"A product from {{category}} category must be added to the order.",descriptionOnlyProduct:"Product {{product}} must be added to the order.",descriptionOnlyBrand:"A product from {{brand}} brand must be added to the order.",descriptionOnlyTag:"A product with {{tag}} tag must be added to the order."}},BUY_PRODUCT:{title:"Buy Product",description:"A product from {{category}} category must be purchased."},CUSTOMER_SEGMENT:{title:"Customer Segment"}},a={creditEarningMethods:"Credit Earning Methods",creditSpendingMethods:"Credit Spending Methods",creditHistory:"Credit History",loyaltyLevel:"Loyalty Level",loyaltyLevelScreen:{afterEarning:"after earning",multiplierPrefix:"Points earned when you reach this tier are multiplied by",multiplierSuffix:".",reachNextTier:"Collect {{points}} more points to reach {{tierName}} tier.",allTiersCompleted:"You have completed all tiers!",currentTierDescription:"You are currently at this level."}},d={common:e,main_screen:t,header:r,spendingMethods:o,earning_methods:i,earningMethods:n,screens:a};export{e as common,d as default,n as earningMethods,i as earning_methods,r as header,t as main_screen,a as screens,o as spendingMethods};
@@ -1 +1 @@
1
- var e={points:"Puan",view:"Görüntüle",create:"Oluştur",allow:"İzin Ver",use:"Kullan",review:"İncele",login:"Giriş Yap",register:"Kayıt Ol",convert:"Dönüştür"},i={earningMethodsTitle:"Puan Kazanma Yöntemleri",spendingMethodsTitle:"Kullanabileceğin Ödüller",programInfoTitle:"Program Bilgileri",earnPoints:"Puan Kazan",allRewards:"Tüm Ödüller",tiers:"Kademeler",pointHistory:"Puan Geçmişi",cartWarning:"Sepet oluşturmadan ödülleri kullanamazsınız."},a={minPointLimit:"En az {{points}} puan dönüştürülebilir.",FIXED_AMOUNT:{title:"Tutar İndirimi",dynamicTitle:"Dinamik Tutar İndirimi"},RATIO:{title:"Yüzdesel İndirim"},FREE_SHIPPING:{title:"Ücretsiz Kargo"},FREE_PRODUCT:{title:"Hediye Ürün",description:"{{product}} ürünü ücretsiz olarak sepete eklenir."}},r={title:"Sadakat Programı",subtitle:"Harcama Yaptıkça Kazan",register_title:"Üye Olun",registerDescription:"Heyecan verici avantajların kilidini açmanın ve özel ödüllere erişim kartınızdır.",registerButton:"Şimdi Kayıt Ol",haveAccount:"Zaten bir hesabın var mı?",earnedPoints:"Kazanılan Puan"},n={xPoints:"{{points}} Puan",xPointsForEachProduct:"Ürün başına {{points}} puan",CUSTOMER_REGISTER:{title:"Hesap Oluştur"},CUSTOMER_REVIEW:{title:"Ürünlere Yorum Yap"},ENABLE_SUBSCRIPTION:{title:"İletişim İzni Verme"},ORDER_CREATE:{RECEIVE_POINTS_ON_SPEND:{title:"Harcadıkça Puan Kazan",description:"Harcanan her {{amount}} için {{points}} puan"},BASE:{title:"Sipariş Oluşturma",descriptionStaticMinimum:"Sipariş tutarının minimum {{amount}} olması gerekir.",descriptionStaticMaximum:"Sipariş tutarının maksimum {{amount}} olması gerekir.",descriptionDynamicMinimum:"Sipariş tutarının minimum {{amount}} olması gerekir. Siparişe {{category}} kategorisinden bir ürün eklenmesi gerekir.",descriptionDynamicMaximum:"Sipariş tutarının maksimum {{amount}} olması gerekir. Siparişe {{category}} kategorisinden bir ürün eklenmesi gerekir.",descriptionOnlyCategory:"Siparişe {{category}} kategorisinden bir ürün eklenmesi gerekir.",descriptionOnlyProduct:"Siparişe {{product}} ürününün eklenmesi gerekir.",descriptionOnlyBrand:"Siparişe {{brand}} markasından bir ürün eklenmesi gerekir.",descriptionOnlyTag:"Siparişe {{tag}} etiketine sahip bir ürün eklenmesi gerekir.",genericCategory:"{{category}} kategorisinde",genericProduct:"{{product}} ürünü içeren",genericBrand:"{{brand}} markasında",genericTag:"{{tag}} etiketinde",descriptionSuffix:"sipariş oluşturulması gerekir."}},BUY_PRODUCT:{title:"Ürün Satın Al",description:"{{category}} kategorisinden bir ürün satın alınması gerekir."},CUSTOMER_SEGMENT:{title:"Müşteri Segmenti"}},t={earnedTitle:"Puan Kazanıldı",spentTitle:"Puan Harcandı"},l={creditEarningMethods:"Puan Kazanma Yöntemleri",creditSpendingMethods:"Puan Harcama Yöntemleri",creditHistory:"Puan Geçmişi",loyaltyLevel:"Kademeler",loyaltyLevelScreen:{afterEarning:"kazandıktan sonra",multiplierPrefix:"Bu kademeye geçtiğinizde kazandığınız puanlar",multiplierSuffix:"ile çarpılır.",reachNextTier:"{{tierName}} kademesine ulaşmak için {{points}} puan daha toplayın.",allTiersCompleted:"Tüm kademeleri tamamladınız!"}},m={common:e,main_screen:i,spendingMethods:a,header:r,earningMethods:n,history:t,screens:l};export{e as common,m as default,n as earningMethods,r as header,t as history,i as main_screen,l as screens,a as spendingMethods};
1
+ var e={points:"Puan",view:"Görüntüle",create:"Oluştur",allow:"İzin Ver",use:"Kullan",review:"İncele",login:"Giriş Yap",register:"Kayıt Ol",convert:"Dönüştür"},i={earningMethodsTitle:"Puan Kazanma Yöntemleri",spendingMethodsTitle:"Kullanabileceğin Ödüller",programInfoTitle:"Program Bilgileri",earnPoints:"Puan Kazan",allRewards:"Tüm Ödüller",tiers:"Kademeler",pointHistory:"Puan Geçmişi",cartWarning:"Sepet oluşturmadan ödülleri kullanamazsınız.",appliedDiscount:{fixedAmount:"Sepetine {{amount}} indirim uygulandı.",freeShipping:"Sepetine ücretsiz kargo uygulandı.",ratio:"Sepetine {{amount}} indirim uygulandı.",freeProduct:"Sepetine hediye ürün eklendi.",generic:"Sepetine {{amount}} indirim uygulandı.",remove:"Kaldır",goToCheckout:"Ödeme Adımına Git"}},n={minPointLimit:"En az {{points}} puan dönüştürülebilir.",FIXED_AMOUNT:{title:"Tutar İndirimi",dynamicTitle:"Dinamik Tutar İndirimi"},RATIO:{title:"Yüzdesel İndirim"},FREE_SHIPPING:{title:"Ücretsiz Kargo"},FREE_PRODUCT:{title:"Hediye Ürün",description:"{{product}} ürünü ücretsiz olarak sepete eklenir."}},r={title:"Sadakat Programı",subtitle:"Harcama Yaptıkça Kazan",register_title:"Üye Olun",registerDescription:"Heyecan verici avantajların kilidini açmanın ve özel ödüllere erişim kartınızdır.",registerButton:"Şimdi Kayıt Ol",haveAccount:"Zaten bir hesabın var mı?",earnedPoints:"Kazanılan Puan"},a={xPoints:"{{points}} Puan",xPointsForEachProduct:"Ürün başına {{points}} puan",CUSTOMER_REGISTER:{title:"Hesap Oluştur"},CUSTOMER_REVIEW:{title:"Ürünlere Yorum Yap"},ENABLE_SUBSCRIPTION:{title:"İletişim İzni Verme"},ORDER_CREATE:{RECEIVE_POINTS_ON_SPEND:{title:"Harcadıkça Puan Kazan",description:"Harcanan her {{amount}} için {{points}} puan"},BASE:{title:"Sipariş Oluşturma",descriptionStaticMinimum:"Sipariş tutarının minimum {{amount}} olması gerekir.",descriptionStaticMaximum:"Sipariş tutarının maksimum {{amount}} olması gerekir.",descriptionDynamicMinimum:"Sipariş tutarının minimum {{amount}} olması gerekir. Siparişe {{category}} kategorisinden bir ürün eklenmesi gerekir.",descriptionDynamicMaximum:"Sipariş tutarının maksimum {{amount}} olması gerekir. Siparişe {{category}} kategorisinden bir ürün eklenmesi gerekir.",descriptionOnlyCategory:"Siparişe {{category}} kategorisinden bir ürün eklenmesi gerekir.",descriptionOnlyProduct:"Siparişe {{product}} ürününün eklenmesi gerekir.",descriptionOnlyBrand:"Siparişe {{brand}} markasından bir ürün eklenmesi gerekir.",descriptionOnlyTag:"Siparişe {{tag}} etiketine sahip bir ürün eklenmesi gerekir.",genericCategory:"{{category}} kategorisinde",genericProduct:"{{product}} ürünü içeren",genericBrand:"{{brand}} markasında",genericTag:"{{tag}} etiketinde",descriptionSuffix:"sipariş oluşturulması gerekir."}},BUY_PRODUCT:{title:"Ürün Satın Al",description:"{{category}} kategorisinden bir ürün satın alınması gerekir."},CUSTOMER_SEGMENT:{title:"Müşteri Segmenti"}},t={earnedTitle:"Puan Kazanıldı",spentTitle:"Puan Harcandı"},l={creditEarningMethods:"Puan Kazanma Yöntemleri",creditSpendingMethods:"Puan Harcama Yöntemleri",creditHistory:"Puan Geçmişi",loyaltyLevel:"Kademeler",loyaltyLevelScreen:{afterEarning:"kazandıktan sonra",multiplierPrefix:"Bu kademeye geçtiğinizde kazandığınız puanlar",multiplierSuffix:"ile çarpılır.",reachNextTier:"{{tierName}} kademesine ulaşmak için {{points}} puan daha toplayın.",allTiersCompleted:"Tüm kademeleri tamamladınız!",currentTierDescription:"Şu an bu kademedesiniz."}},m={common:e,main_screen:i,spendingMethods:n,header:r,earningMethods:a,history:t,screens:l};export{e as common,m as default,a as earningMethods,r as header,t as history,i as main_screen,l as screens,n as spendingMethods};
@@ -1 +1 @@
1
- import{__spreadArray as e}from'./../../ext/tslib/tslib.es6.mjs.js';import{EarningMethodTypeEnum as n,LoyaltyProgramPointEarningTypeEnum as r,LoyaltyProgramFilterTypeEnum as t}from"../../models/types/index.js";var i=function(e,n,r){if(!r||0===r.length)return[];var i=[];return r.forEach(function(r){var a="";switch(n){case t.CATEGORY:case t.DYNAMIC_CATEGORY:if(e.categories){var o=e.categories.find(function(e){return e.id===r});o&&(a=o.name)}break;case t.PRODUCT_AND_VARIANT:if(e.products){var s=e.products.find(function(e){return e.id===r});s&&(a=s.name)}break;case t.PRODUCT_BRAND:if(e.brands){var c=e.brands.find(function(e){return e.id===r});c&&(a=c.name)}break;case t.PRODUCT_TAG:if(e.tags){var d=e.tags.find(function(e){return e.id===r});d&&(a=d.name)}}a?i.push({type:n,name:a,id:r}):i.push({type:n,name:r,id:r})}),i},a=function(e,n){if(e.products){var r=e.products.find(function(e){return e.id===n});return r?r.name:void 0}},o=function(a,o,s){var c,d;switch(o.methodType){case n.CUSTOMER_REGISTER:case n.CUSTOMER_REVIEW:case n.ENABLE_SUBSCRIPTION:return a("earningMethods.xPoints",{points:o.pointsEarned});case n.ORDER_CREATE:var u=e(e([],(null===(c=o.productSettings)||void 0===c?void 0:c.productFilters)||[],!0),(null===(d=o.orderSettings)||void 0===d?void 0:d.productFilters)||[],!0),E=u.reduce(function(e,n){return e.concat(i(s,n.type,n.idList))},[]),R=E.map(function(e){switch(e.type){case t.CATEGORY:case t.DYNAMIC_CATEGORY:return a("earningMethods.ORDER_CREATE.BASE.genericCategory",{category:e.name});case t.PRODUCT_AND_VARIANT:return a("earningMethods.ORDER_CREATE.BASE.genericProduct",{product:e.name});case t.PRODUCT_BRAND:return a("earningMethods.ORDER_CREATE.BASE.genericBrand",{brand:e.name});case t.PRODUCT_TAG:return a("earningMethods.ORDER_CREATE.BASE.genericTag",{tag:e.name});default:return e.name}}).filter(Boolean).join(", "),m=o.orderSettings||{},A=m.minOrderAmount,f=m.maxOrderAmount,T="number"==typeof f&&f>0,p="";switch("number"==typeof A&&A>0?p=a("earningMethods.ORDER_CREATE.BASE.descriptionStaticMinimum",{amount:s.formatCurrency(A)}):T&&(p=a("earningMethods.ORDER_CREATE.BASE.descriptionStaticMaximum",{amount:s.formatCurrency(f)})),o.pointEarningType){case r.DYNAMIC_ORDER_AMOUNT:return(C=[R,p,a("earningMethods.ORDER_CREATE.RECEIVE_POINTS_ON_SPEND.description",{amount:s.formatCurrency(o.amountPerPointsEarned||0),points:o.pointsEarned})].filter(Boolean)).join(" ");case r.STATIC:var C;return 0===(C=[R,p].filter(Boolean)).length?void u.length:!p&&R?R+" "+a("earningMethods.ORDER_CREATE.BASE.descriptionSuffix"):C.join(", ")}break;default:return""}};export{o as getEarningMethodDescriptionV2,i as getFilterDetails,a as getFreeProductName};
1
+ import{__spreadArray as e}from'./../../ext/tslib/tslib.es6.mjs.js';import{LoyaltyProgramFilterTypeEnum as n,EarningMethodTypeEnum as r,LoyaltyProgramPointEarningTypeEnum as t}from"../../models/types/index.js";var i=function(e,r,t){if(!t||0===t.length)return[];var i=[];return t.forEach(function(t){var a="";switch(r){case n.CATEGORY:case n.DYNAMIC_CATEGORY:if(e.categories){var o=e.categories.find(function(e){return e.id===t});o&&(a=o.name)}break;case n.PRODUCT_AND_VARIANT:if(e.products){var s=e.products.find(function(e){return e.id===t});s&&(a=s.name)}break;case n.PRODUCT_BRAND:if(e.brands){var c=e.brands.find(function(e){return e.id===t});c&&(a=c.name)}break;case n.PRODUCT_TAG:if(e.tags){var d=e.tags.find(function(e){return e.id===t});d&&(a=d.name)}}a?i.push({type:r,name:a,id:t}):i.push({type:r,name:t,id:t})}),i},a=function(e,n){if(e.products){var r=e.products.find(function(e){return e.id===n});return r?r.name:void 0}},o=function(a,o,s){var c,d;switch(o.methodType){case r.CUSTOMER_REGISTER:case r.CUSTOMER_REVIEW:case r.ENABLE_SUBSCRIPTION:return a("earningMethods.xPoints",{points:o.pointsEarned});case r.ORDER_CREATE:var u=e(e([],(null===(c=o.productSettings)||void 0===c?void 0:c.productFilters)||[],!0),(null===(d=o.orderSettings)||void 0===d?void 0:d.productFilters)||[],!0),E=u.reduce(function(e,n){return e.concat(i(s,n.type,n.idList))},[]),R=E.map(function(e){switch(e.type){case n.CATEGORY:case n.DYNAMIC_CATEGORY:return a("earningMethods.ORDER_CREATE.BASE.genericCategory",{category:e.name});case n.PRODUCT_AND_VARIANT:return a("earningMethods.ORDER_CREATE.BASE.genericProduct",{product:e.name});case n.PRODUCT_BRAND:return a("earningMethods.ORDER_CREATE.BASE.genericBrand",{brand:e.name});case n.PRODUCT_TAG:return a("earningMethods.ORDER_CREATE.BASE.genericTag",{tag:e.name});default:return e.name}}).filter(Boolean).join(", "),m=o.orderSettings||{},A=m.minOrderAmount,f=m.maxOrderAmount,T="number"==typeof f&&f>0,p="";switch("number"==typeof A&&A>0?p=a("earningMethods.ORDER_CREATE.BASE.descriptionStaticMinimum",{amount:s.formatCurrency(A)}):T&&(p=a("earningMethods.ORDER_CREATE.BASE.descriptionStaticMaximum",{amount:s.formatCurrency(f)})),o.pointEarningType){case t.DYNAMIC_ORDER_AMOUNT:return(C=[R,p,a("earningMethods.ORDER_CREATE.RECEIVE_POINTS_ON_SPEND.description",{amount:s.formatCurrency(o.amountPerPointsEarned||0),points:o.pointsEarned})].filter(Boolean)).join(" ");case t.STATIC:var C;return 0===(C=[R,p].filter(Boolean)).length?void u.length:!p&&R?R+" "+a("earningMethods.ORDER_CREATE.BASE.descriptionSuffix"):C.join(", ")}break;default:return""}};export{o as getEarningMethodDescriptionV2,i as getFilterDetails,a as getFreeProductName};