@bikdotai/bik-component-library 0.0.754-beta.1 → 0.0.754-beta.10

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.
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const Menus: ({
2
3
  displayName: string;
3
4
  key: number;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),i=require("react-toastify"),o=require("./CodeBlock.styled.js"),s=require("./CodeBlockHelper.js"),n=require("./types.js");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}exports.CodeBlock=c=>{let{code:d="",language:l=n.CodeLanguage.JAVASCRIPT,title:u="",hideLineNumbers:h=!1,maxHeight:j="400px",maxWidth:g,theme:p="dark",hideHeader:m=!1,hideCopy:b=!1}=c;const[f,x]=r.useState(!1),[v,C]=r.useState(d);r.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){try{const r=yield(e=`./languageSpecificFormatting/${l}_file.ts`,Promise.resolve().then((function(){return a(require(e))})));if((null==r?void 0:r.format)&&t)return void C(r.format(d))}catch(e){}var e;t&&C(d)})),()=>{t=!1}}),[d,l]);const y=v.split("\n");return t.jsxs(o.Container,Object.assign({themeMode:p,maxWidth:g},{children:[!m&&t.jsxs(o.Header,Object.assign({themeMode:p},{children:[t.jsxs(o.TitleSection,{children:[!!u&&u&&t.jsx(o.Title,Object.assign({themeMode:p},{children:u})),t.jsx(o.LanguageBadge,Object.assign({bg:(O=l,{javascript:"#FEC02D",python:"#3776ab",java:"#ed8b00",css:"#1572b6",html:"#e34c26",json:"#000000"}[O.toLowerCase()]||("dark"===p?"#6e7681":"#656d76")),color:(e=>{const t={javascript:"#000"};return(null==t?void 0:t[e.toLowerCase()])||"#fff"})(l)},{children:l}))]}),!b&&t.jsx(o.CopyButton,Object.assign({themeMode:p,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(d),x(!0),i.toast.success("Code copied to clipboard!",{position:"top-right",autoClose:2e3,hideProgressBar:!0}),setTimeout((()=>x(!1)),2e3)}catch(e){i.toast.error("Failed to copy code",{position:"top-right",autoClose:2e3})}}))},{children:f?t.jsx(t.Fragment,{children:"✓ Copied"}):t.jsx(t.Fragment,{children:"Copy"})}))]})),t.jsxs(o.CodeContainer,Object.assign({maxHeight:j},{children:[!h&&t.jsx(o.LineNumbers,Object.assign({themeMode:p},{children:y.map(((e,r)=>t.jsx("div",{children:r+1},r)))})),t.jsx(o.Code,Object.assign({themeMode:p},{children:y.map(((e,r)=>t.jsx("div",{style:{minHeight:e.trim()?"20px":"0px"},dangerouslySetInnerHTML:{__html:s.highlightCode(e,l,p)||"&nbsp;"}},r)))}))]}))]}));var O};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),i=require("../toaster/Toaster.js"),s=require("./CodeBlock.styled.js"),o=require("./CodeBlockHelper.js"),a=require("./types.js");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}exports.CodeBlock=c=>{let{code:d="",language:l=a.CodeLanguage.JAVASCRIPT,title:u="",hideLineNumbers:h=!1,maxHeight:j="400px",maxWidth:g,theme:m="dark",hideHeader:p=!1,hideCopy:x=!1}=c;const[b,f]=r.useState(!1),[v,C]=r.useState(!1),[y,O]=r.useState("success"),[_,M]=r.useState(d);r.useEffect((()=>{let t=!0;return e.__awaiter(void 0,void 0,void 0,(function*(){try{const r=yield(e=`./languageSpecificFormatting/${l}_file.ts`,Promise.resolve().then((function(){return n(require(e))})));if((null==r?void 0:r.format)&&t)return void M(r.format(d))}catch(e){}var e;t&&M(d)})),()=>{t=!1}}),[d,l]);const T=_.split("\n");return t.jsxs(s.Container,Object.assign({themeMode:m,maxWidth:g},{children:[!p&&t.jsxs(s.Header,Object.assign({themeMode:m},{children:[t.jsxs(s.TitleSection,{children:[!!u&&u&&t.jsx(s.Title,Object.assign({themeMode:m},{children:u})),t.jsx(s.LanguageBadge,Object.assign({bg:(q=l,{javascript:"#FEC02D",python:"#3776ab",java:"#ed8b00",css:"#1572b6",html:"#e34c26",json:"#000000"}[q.toLowerCase()]||("dark"===m?"#6e7681":"#656d76")),color:(e=>{const t={javascript:"#000"};return(null==t?void 0:t[e.toLowerCase()])||"#fff"})(l)},{children:l}))]}),!x&&t.jsx(s.CopyButton,Object.assign({themeMode:m,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(d),f(!0),O("success"),C(!0),setTimeout((()=>f(!1)),2e3)}catch(e){O("error"),C(!0)}}))},{children:b?t.jsx(t.Fragment,{children:"✓ Copied"}):t.jsx(t.Fragment,{children:"Copy"})}))]})),t.jsxs(s.CodeContainer,Object.assign({maxHeight:j},{children:[!h&&t.jsx(s.LineNumbers,Object.assign({themeMode:m},{children:T.map(((e,r)=>t.jsx("div",{children:r+1},r)))})),t.jsx(s.Code,Object.assign({themeMode:m},{children:T.map(((e,r)=>t.jsx("div",{style:{minHeight:e.trim()?"20px":"0px"},dangerouslySetInnerHTML:{__html:o.highlightCode(e,l,m)||"&nbsp;"}},r)))}))]})),v&&t.jsx(i.Toaster,{text:"success"===y?"Code copied to clipboard!":"Failed to copy code",autoClose:2e3,type:y,hideProgressBar:!0,onCloseToast:()=>C(!1)})]}));var q};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("@bikdotai/bik-models/growth/models/bik-store"),t=require("react"),o=require("./type.js");require("../dropdown/DropdownPopover/index.js");var n=require("../dropdown/Dropdown.js");require("../dropdown/ChipDropdown.js"),require("../zeroState/ZeroState.js");var l=require("../TypographyStyle.js"),r=require("../../constants/Theme.js");require("../dropdown/OpenedDropdown/components/description/Description.styled.js"),require("../checkBox/CheckBox.styled.js"),require("../list-item/ListItem.js"),require("../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js"),require("../dropdown/OpenedDropdown/components/menu/MenuItem.js"),require("../dropdown/OpenedDropdown/components/menu/MenuList.styled.js"),require("../button/Button.js"),require("../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js"),require("../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js"),require("../icon-button/IconButton.js"),require("../input/Input.js"),require("../dropdown/MenuItem/MenuItem.js");var a=require("../modals/styledModal.js"),d=require("../product-picker/ProductPickerModal.js"),c=require("../tag/Tag.js"),s=require("../tooltips/Tooltip.js"),u=require("../../assets/icons/gift_icon.svg.js"),p=require("../../assets/icons/percentage_icon.svg.js"),C=require("../../assets/icons/shipping_icon.svg.js"),T=require("../../assets/icons/triangle_error.svg.js"),S=require("../../assets/icons/warning.svg.js"),P=require("../product-picker-v2/modal.js");require("../product-picker-v2/type.js");var E=require("../variable-picker-v3/model.js"),O=require("../variable-picker-v3/VariablePicker.js"),I=require("./DiscountModal.styled.js"),_=require("./DiscountUtils.js"),v=require("./DynamicCoupon/DynamicCoupon.js"),b=require("./StaticCoupon/StaticCoupon.js");exports.DiscountModal=y=>{var D,N,m,U,A,h,f,g,V,R,j;const F=[{id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:y.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e.jsx(p.default,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:o.DISCOUNT_TYPES.BUY_X_GET_Y,icon:i=>e.jsx(u.default,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:o.DISCOUNT_TYPES.FREE_SHIPPING,icon:i=>e.jsx(C.default,{width:24,height:24,color:i})}],[x,k]=t.useState(),[L,q]=t.useState(),[Y,M]=t.useState(),[w,G]=t.useState(null!==(D=y.data)&&void 0!==D?D:"string"==typeof y.hideOption?{isStaticCoupon:"dynamic"===y.hideOption}:{isStaticCoupon:!0}),[B,X]=t.useState(!0),[Q,H]=t.useState(),[z,K]=t.useState((null===(N=y.data)||void 0===N?void 0:N.minAmount)?o.MIN_PURCHASE_REQUIREMENT.AMOUNT:(null===(m=y.data)||void 0===m?void 0:m.minQuantity)?o.MIN_PURCHASE_REQUIREMENT.QUANTITY:o.MIN_PURCHASE_REQUIREMENT.NA),[$,Z]=t.useState(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER),[J,W]=t.useState(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),[ee,ie]=t.useState(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),[te,oe]=t.useState(void 0),[ne,le]=t.useState(void 0),[re,ae]=t.useState(void 0),[de,ce]=t.useState(void 0),[se,ue]=t.useState(void 0),[pe,Ce]=t.useState(void 0),[Te,Se]=t.useState(0),[Pe,Ee]=t.useState(""),[Oe,Ie]=t.useState(F[0]),[_e,ve]=t.useState(!1),[be,ye]=t.useState(o.initialStaticCouponErrorState),[De,Ne]=t.useState(o.initialDynamicCouponErrorState),[me,Ue]=t.useState(y.getDetailedDescription?o.COUPON_EXPIRATION.FIXED_EXPIRATION:o.COUPON_EXPIRATION.DYNAMIC_EXPIRATION),Ae=[{value:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:Q===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER},{value:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:Q===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS},{value:o.DISCOUNT_TYPES.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:Q===o.DISCOUNT_TYPES.BUY_X_GET_Y},{value:o.DISCOUNT_TYPES.FREE_SHIPPING,label:"Free shipping",selected:Q===o.DISCOUNT_TYPES.FREE_SHIPPING}];t.useEffect((()=>{y.makeExpiryMandatory&&ve(!0)}),[y.makeExpiryMandatory]),t.useEffect((()=>{var e,i,t,n,l,r,a,d;let c;const{tempCouponData:s,discountType:u}=he();H(u);const p=(e,i)=>{Ie(s.valueType===o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?F[e]:F[i])},C=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==s?void 0:s.expireAfter)||(null==s?void 0:s.expireAt))&&(ve(!0),(null==s?void 0:s.expireAt)&&Ue(o.COUPON_EXPIRATION.FIXED_EXPIRATION),(null==s?void 0:s.expireAfter)&&Ue(o.COUPON_EXPIRATION.DYNAMIC_EXPIRATION)),u){case o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:p(0,1),Z(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER);break;case o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:p(0,1),(null===(e=s.entitledCollectionIds)||void 0===e?void 0:e.length)?Z(o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS):(null===(i=s.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=s.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(Z(o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS),C(null===(n=s.productVariableConf)||void 0===n?void 0:n.entitledProductVariable,ce)):Z(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER);break;case o.DISCOUNT_TYPES.BUY_X_GET_Y:Ie(F[2]),(null===(l=s.entitledCollectionIds)||void 0===l?void 0:l.length)?ie(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(ie(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),C(null===(r=s.productVariableConf)||void 0===r?void 0:r.entitledProductVariable,ce)),(null===(a=s.prerequisiteCollectionIds)||void 0===a?void 0:a.length)?W(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(W(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),C(null===(d=s.productVariableConf)||void 0===d?void 0:d.prerequisiteProductVariable,ue));break;case o.DISCOUNT_TYPES.FREE_SHIPPING:Ie(F[3])}G(Object.assign({},s)),y.hideProbability||(c=Ve()),X(_.validateDiscountData(s,z,u,y.hideProbability||!1,c,!!s.isStaticCoupon,y.getDetailedDescription||!1)),y.hideProbability||Ve()}),[]),t.useEffect((()=>{let e;y.hideProbability||(e=Ve()),X(_.validateDiscountData(w,z,Q,y.hideProbability||!1,e,!!w.isStaticCoupon,y.getDetailedDescription||!1))}),[w,Te,Q,z]),t.useEffect((()=>{var e,i,t,o,n,l,r;if(!y.newPickerConf&&((null===(e=y.products)||void 0===e?void 0:e.length)||(null===(i=y.collection)||void 0===i?void 0:i.length))){if(y.products&&(null===(t=y.products)||void 0===t?void 0:t.length)){if(null===(o=y.data)||void 0===o?void 0:o.entitledProductIds){const e=y.products.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));le(e)}if(null===(n=y.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=y.products.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));oe(e)}}if(y.collection&&y.collection.length){if(null===(l=y.data)||void 0===l?void 0:l.entitledCollectionIds){const e=y.collection.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ce(e)}if(null===(r=y.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=y.collection.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));ae(e)}}}}),[y.products,y.collection]),t.useEffect((()=>{var e,i,t,o,n,l,r,a;(null===(i=null===(e=y.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&le(y.data.productsConf.entitledProducts),(null===(o=null===(t=y.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&oe(y.data.productsConf.prerequisiteProducts),(null===(l=null===(n=y.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Ce(y.data.collectionsConf.entitledCollections),(null===(a=null===(r=y.data)||void 0===r?void 0:r.collectionsConf)||void 0===a?void 0:a.prerequisiteCollections)&&ae(y.data.collectionsConf.prerequisiteCollections)}),[null===(U=y.data)||void 0===U?void 0:U.productsConf,null===(A=y.data)||void 0===A?void 0:A.collectionsConf]),t.useEffect((()=>{if(!ne)return;if(y.newPickerConf){const e=[];return Object.values(ne).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void G(Object.assign(Object.assign({},w),{entitledProductIds:e}))}const e=ne.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{entitledProductIds:e}))}),[ne]),t.useEffect((()=>{if(!te)return;if(y.newPickerConf){const e=[];return Object.values(te).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void G(Object.assign(Object.assign({},w),{prerequisiteProductIds:e}))}const e=te.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{prerequisiteProductIds:e}))}),[te]),t.useEffect((()=>{if(!pe)return;if(y.newPickerConf){(null==pe?void 0:pe.isCustom)&&delete pe.isCustom;const e=Object.keys(pe).map((e=>parseInt(e)));return void G(Object.assign(Object.assign({},w),{entitledCollectionIds:e}))}const e=pe.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{entitledCollectionIds:e}))}),[pe]),t.useEffect((()=>{if(!re)return;if(y.newPickerConf){(null==re?void 0:re.isCustom)&&delete re.isCustom;const e=Object.keys(re).map((e=>parseInt(e)));return void G(Object.assign(Object.assign({},w),{prerequisiteCollectionIds:e}))}const e=re.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{prerequisiteCollectionIds:e}))}),[re]);const he=()=>{var e,i,t,n;let l,r=w;return w.isStaticCoupon?w.isStaticCoupon&&y.getDetailedDescription&&(w.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?l=o.DISCOUNT_TYPES.FREE_SHIPPING:w.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?l=w.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(t=w.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(n=w.prerequisiteCollectionIds)||void 0===n?void 0:n.length)||w.prerequisiteQuantity||w.entitledQuantity?o.DISCOUNT_TYPES.BUY_X_GET_Y:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),l=o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER)):w.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?l=o.DISCOUNT_TYPES.FREE_SHIPPING:w.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?l=w.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(e=w.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=w.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||w.prerequisiteQuantity||w.entitledQuantity?o.DISCOUNT_TYPES.BUY_X_GET_Y:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),l=o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER),{discountType:l,tempCouponData:r}},fe=()=>{ye(o.initialStaticCouponErrorState),Ne(o.initialDynamicCouponErrorState)},ge=e=>{var i;const t={invalidDiscountCode:"Please add Discount Code",invalidCouponTitle:"Please add Discount Coupon Title",invalidCouponDescription:"Please add Coupon Description",inValidProbability:e.inValidProbability&&(null!==(i=w.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":w.isStaticCoupon?"Please add Probability":"Probability should be greater than 0",inValidDiscountAmount:"Please add Discount Amount",inValidMinimumAmount:"Specify minimum amount required",inValidMinimumQuantity:"Specify minimum items required",inValidCouponExpiry:"Please add Coupon Expiry",inValidProductSelection:"Please specify the products",inValidProductVariableSelection:"Please specify the product variables",inValidCollectionSelection:"Please specify the collections",inValidBuyXValue:"Please specify buy product quantity",inValidGetYValue:"Please specify get product quantity",inValidBuyXProductSelection:"Please specify the products",inValidBuyXCollectionSelection:"Please specify the collections",inValidGetYProductSelection:"Please specify the products",inValidGetYCollectionSelection:"Please specify the collections",inValidBuyXProductVariableSelection:"Please specify the product variables",inValidGetYProductVariableSelection:"Please specify the product variables"};let o="";Object.keys(e).forEach((i=>{e[i]&&(o=t[i])}));const n=Object.values(e).filter(Boolean).length;return n>0&&(Ee(n>1?"Please add discount details":o),!0)},Ve=()=>{if(!y.quadrant||!y.probability)return;const e=[...y.probability];let i=[];e.length>=y.quadrant&&e.splice(y.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(w.probability||0);return Se(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Re=e=>{var i,t,n,l,r,a,d,c,s,u,p,C,T,S,P,E;const O=e.value;H(O),oe([]),le([]),ae([]),Ce([]),O===o.DISCOUNT_TYPES.FREE_SHIPPING?G({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(i=w.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=w.expireAfter)&&void 0!==t?t:void 0,probability:w.probability,minQuantity:null!==(n=w.minQuantity)&&void 0!==n?n:void 0,minAmount:null!==(l=w.minAmount)&&void 0!==l?l:void 0}):O===o.DISCOUNT_TYPES.BUY_X_GET_Y?G({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(r=w.expireAt)&&void 0!==r?r:void 0,expireAfter:null!==(a=w.expireAfter)&&void 0!==a?a:void 0,probability:w.probability,minQuantity:void 0,minAmount:void 0}):O===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER?G({targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(d=w.valueType)&&void 0!==d?d:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(c=w.expireAt)&&void 0!==c?c:void 0,expireAfter:null!==(s=w.expireAfter)&&void 0!==s?s:void 0,probability:w.probability,value:w.value,minQuantity:null!==(u=w.minQuantity)&&void 0!==u?u:void 0,minAmount:null!==(p=w.minAmount)&&void 0!==p?p:void 0}):O===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS&&G({targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(C=w.valueType)&&void 0!==C?C:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(T=w.expireAt)&&void 0!==T?T:void 0,expireAfter:null!==(S=w.expireAfter)&&void 0!==S?S:void 0,probability:w.probability,value:w.value,minQuantity:null!==(P=w.minQuantity)&&void 0!==P?P:void 0,minAmount:null!==(E=w.minAmount)&&void 0!==E?E:void 0})},je=i=>i&&e.jsx(c.Tag,{theme:"light",tagText:i,type:"negative",LeadingIcon:S.default});return e.jsxs(a.StyledModal,Object.assign({width:(Y||x)&&y.newPickerConf?"25px":"640px",open:y.isOpen,hideCrossButton:!!L,headingTitle:x?"Select Products":y.title,headingSubtitle:x?void 0:y.subTitle,footerLeftCustomElement:Pe?je(Pe):y.errorMsg?je(y.errorMsg):!y.quadrant||y.hideProbability?e.jsx(e.Fragment,{}):Te<=1?e.jsx(c.Tag,{theme:"light",tagText:`Current probability sum: ${Te}`,type:"white"}):e.jsx(s.Tooltip,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsx("div",{children:e.jsx(c.Tag,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${Te}`,type:"negative",LeadingIcon:T.default})})})),headerRightCustomElement:y.allowStaticCoupon||x?void 0:e.jsx(n.Dropdown,{options:Ae,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Re(e)}}),onClose:y.onClose,footerContainerStyle:{borderTop:`1px solid ${r.DEFAULT_THEME.colorsV2.stroke.primary}`},primaryButton:x?{buttonType:"primary",onClick:()=>{k(void 0)},buttonText:"Add"}:Y?{buttonType:"primary",onClick:()=>{M(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(h=y.loading)&&void 0!==h&&h,onClick:()=>{var e,i,t,n,l,r,a,d,c,s;if(fe(),w.isStaticCoupon&&!y.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=w,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!y.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(ge(r))return void ye(r);if(B||Te>1)return void Ee(!y.hideProbability&&Te>1?"Probability sum should not exceed 1":"Invalid coupon details");y.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:w.title})}else if(w.isStaticCoupon&&y.getDetailedDescription){const{isStaticCoupon:r,couponCode:a,title:d,quadrant:c,probability:s}=w,u={invalidDiscountCode:!a,invalidCouponTitle:!d,invalidCouponDescription:!1,inValidProbability:!y.hideProbability&&(null!=s?s:-1)<0||(null!=s?s:0)>1||Number.isNaN(null!=s?s:0)};if(ge(u))return void ye(u);const p={invalidCouponTitle:!w.title,inValidProbability:!y.hideProbability&&(null!==(e=w.probability)&&void 0!==e?e:-1)<=0||(null!==(i=w.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=w.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!w.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(Q!==o.DISCOUNT_TYPES.BUY_X_GET_Y&&z!==o.MIN_PURCHASE_REQUIREMENT.NA){const{minAmount:e,minQuantity:i}=w;p.inValidMinimumAmount=z===o.MIN_PURCHASE_REQUIREMENT.AMOUNT&&!e,p.inValidMinimumQuantity=z===o.MIN_PURCHASE_REQUIREMENT.QUANTITY&&!i}if(_e&&(p.inValidCouponExpiry=!w.expireAt&&!w.expireAfter),Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||($!==o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(p.inValidProductSelection=!0,p.inValidProductVariableSelection=!0),$===o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(p.inValidCollectionSelection=!0)),Q===o.DISCOUNT_TYPES.BUY_X_GET_Y&&(w.prerequisiteQuantity||(p.inValidBuyXValue=!0),w.entitledQuantity||(p.inValidGetYValue=!0),J!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!te||Object.keys(te).length||se||(p.inValidBuyXProductSelection=!0,p.inValidBuyXProductVariableSelection=!0),J===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&re&&!Object.keys(re).length&&(p.inValidBuyXCollectionSelection=!0),ee!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(p.inValidGetYProductSelection=!0,p.inValidGetYProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(p.inValidGetYCollectionSelection=!0)),ge(p))return void Ne(p);if(B||Te>1)return void Ee(!y.hideProbability&&Te>1?"Probability sum should not exceed 1":"Invalid coupon details");y.onSaveClicked(Object.assign(Object.assign({},w),{couponCode:a,isStaticCoupon:r,quadrant:c,description:_.descriptionBuilder(w,y.currency,null!==(n=y.products)&&void 0!==n?n:[],null!==(l=y.collection)&&void 0!==l?l:[]),productsConf:{entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[]},collectionsConf:{entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[]},productVariableConf:{entitledProductVariable:null!=de?de:{},prerequisiteProductVariable:null!=se?se:{}}}))}else{const e={invalidCouponTitle:!w.title,inValidProbability:!y.hideProbability&&(null!==(r=w.probability)&&void 0!==r?r:-1)<=0||(null!==(a=w.probability)&&void 0!==a?a:-1)>1||Number.isNaN(null!==(d=w.probability)&&void 0!==d?d:-1),inValidDiscountAmount:!w.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(Q!==o.DISCOUNT_TYPES.BUY_X_GET_Y&&z!==o.MIN_PURCHASE_REQUIREMENT.NA){const{minAmount:i,minQuantity:t}=w;e.inValidMinimumAmount=z===o.MIN_PURCHASE_REQUIREMENT.AMOUNT&&!i,e.inValidMinimumQuantity=z===o.MIN_PURCHASE_REQUIREMENT.QUANTITY&&!t}if(_e&&(e.inValidCouponExpiry=!w.expireAt&&!w.expireAfter),Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||($!==o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),$===o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(e.inValidCollectionSelection=!0)),Q===o.DISCOUNT_TYPES.BUY_X_GET_Y&&(w.prerequisiteQuantity||(e.inValidBuyXValue=!0),w.entitledQuantity||(e.inValidGetYValue=!0),J!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!te||Object.keys(te).length||se||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),J===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&re&&!Object.keys(re).length&&(e.inValidBuyXCollectionSelection=!0),ee!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(e.inValidGetYCollectionSelection=!0)),ge(e))return void Ne(e);if(B||Te>1)return void Ee(!y.hideProbability&&Te>1?"Probability sum should not exceed 1":"Invalid coupon details");y.onSaveClicked(Object.assign(Object.assign({},w),{isStaticCoupon:w.isStaticCoupon,description:_.descriptionBuilder(w,y.currency,null!==(c=y.products)&&void 0!==c?c:[],null!==(s=y.collection)&&void 0!==s?s:[]),productsConf:{entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[]},collectionsConf:{entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[]},productVariableConf:{entitledProductVariable:null!=de?de:{},prerequisiteProductVariable:null!=se?se:{}}}))}}},secondaryButton:x?{buttonType:"tertiaryGray",onClick:()=>{k(void 0)},buttonText:"Back"}:Y?{buttonType:"tertiaryGray",onClick:()=>{M(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:y.onClose,buttonText:"Cancel"}},{children:[!x&&!Y&&e.jsxs(I.StyledDiscountDialogueContainer,{children:[y.allowStaticCoupon&&!x&&!y.hideOption&&e.jsxs(I.CouponTypeContainerStyled,Object.assign({selectedDiv:w.isStaticCoupon?1:2},{children:["static"===y.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{w.isStaticCoupon||(G({isStaticCoupon:!0,quadrant:w.quadrant}),Ee(""),fe())}},{children:[e.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:w.isStaticCoupon?r.DEFAULT_THEME.colorsV2.content.brand:void 0}},{children:"Static Code"})),e.jsx(l.BodyCaption,Object.assign({style:w.isStaticCoupon?{color:r.DEFAULT_THEME.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===y.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;w.isStaticCoupon&&(H(o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER),G({isStaticCoupon:!1,quadrant:w.quadrant,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),Ee(""),fe(),Ie({id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i}},{children:y.currency||""}))}),ve(null!==(i=y.makeExpiryMandatory)&&void 0!==i&&i),K(o.MIN_PURCHASE_REQUIREMENT.NA))}},{children:[e.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:w.isStaticCoupon?void 0:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Dynamic Code"})),e.jsx(l.BodyCaption,Object.assign({style:w.isStaticCoupon?{}:{color:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Code will be unique for all customers, with the first 5 letters of the customer's name, followed by 10 random characters."}))]}))]})),!y.getDetailedDescription&&e.jsx(l.TitleRegular,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",w.isStaticCoupon&&!x&&!y.getDetailedDescription&&e.jsx(b.default,{discountData:w,setDiscountData:G,hideProbability:y.hideProbability||!1,discountAdminUrl:y.discountAdminUrl,staticDiscountValidationError:be,currency:y.currency}),w.isStaticCoupon&&!x&&y.getDetailedDescription&&e.jsx(b.default,{discountData:w,setDiscountData:G,hideProbability:y.hideProbability||!1,discountAdminUrl:y.discountAdminUrl,staticDiscountValidationError:be,currency:y.currency,getDetailedDescription:!0,selectedCouponType:Q,setSelectedCouponType:H,selectedMinimumRequirement:z,setSelectedMinimumRequirement:K,discountCouponAppliesTo:$,offerAppliesToBuy:J,offerAppliesToGet:ee,setDiscountCouponAppliesTo:Z,setOfferAppliesToBuy:W,setOfferAppliesToGet:ie,hideExpiration:y.hideExpiration||!1,onChangeCouponType:Re,entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[],setEntitledProducts:le,setPrerequisiteProducts:oe,entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[],setEntitledCollections:Ce,setPrerequisiteCollections:ae,setIsProductPickerOpen:k,setIsProductVariablePickerOpen:q,setIsCollectionPickerOpen:M,productPickerOpen:x,productVariablePickerOpen:L,collectionPickerOpen:Y,useNewPicker:!!y.newPickerConf,selectedDiscountDetails:Oe,setSelectedDiscountDetails:Ie,isProductVariableSupported:y.isProductVariableSupported,entitledProductVariable:de,setEntitledProductVariable:ce,preRequisiteProductVariable:se,setPreRequisiteProductVariable:ue,productVariableList:y.productVariableList,isAddExpirationChecked:_e,setIsAddExpirationChecked:ve,dynamicDiscountValidationError:De,setDynamicDiscountValidationError:Ne,setValidationErrorMessage:Ee,resetValidationErrors:fe,discountDetailsOptions:F,selectedExpiration:me,setSelectedExpiration:Ue,makeExpiryMandatory:!!y.makeExpiryMandatory}),!w.isStaticCoupon&&!x&&!Y&&e.jsx(v.default,{currency:y.currency,entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[],setEntitledProducts:le,setPrerequisiteProducts:oe,discountData:w,productPickerOpen:x,productVariablePickerOpen:L,setIsProductPickerOpen:k,setIsProductVariablePickerOpen:q,setDiscountData:G,selectedCouponType:Q,setSelectedCouponType:H,selectedMinimumRequirement:z,setSelectedMinimumRequirement:K,discountCouponAppliesTo:$,offerAppliesToBuy:J,offerAppliesToGet:ee,setDiscountCouponAppliesTo:Z,setOfferAppliesToBuy:W,setOfferAppliesToGet:ie,hideProbability:y.hideProbability||!1,hideExpiration:y.hideExpiration||!1,allowStaticCoupon:y.allowStaticCoupon,onChangeCouponType:Re,collectionPickerOpen:Y,entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[],setIsCollectionPickerOpen:M,setEntitledCollections:Ce,setPrerequisiteCollections:ae,useNewPicker:!!y.newPickerConf,setSelectedDiscountDetails:Ie,selectedDiscountDetails:Oe,isProductVariableSupported:y.isProductVariableSupported,entitledProductVariable:de,setEntitledProductVariable:ce,preRequisiteProductVariable:se,setPreRequisiteProductVariable:ue,productVariableList:y.productVariableList,isAddExpirationChecked:_e,setIsAddExpirationChecked:ve,dynamicDiscountValidationError:De,setDynamicDiscountValidationError:Ne,setValidationErrorMessage:Ee,resetValidationErrors:fe,discountDetailsOptions:F,selectedExpiration:me,setSelectedExpiration:Ue,makeExpiryMandatory:!!y.makeExpiryMandatory})]}),!!x&&e.jsxs(e.Fragment,{children:[!y.newPickerConf&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsx(d.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(f=y.products)&&void 0!==f?f:[],title:"Select Products",onClose:()=>{k(void 0)},selectedProducts:null!==(g=x===v.DISCOUNT_PRODUCTS.ENTITLED?ne:te)&&void 0!==g?g:[],setSelectedProducts:x===v.DISCOUNT_PRODUCTS.ENTITLED?le:oe,onSearchKeyChange:y.onProductSearch})})),y.newPickerConf&&e.jsx(P.ProductPickerModal,{visible:!0,onClose:()=>k(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=y.newPickerConf)||void 0===o?void 0:o.fetchCollections)?y.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=y.newPickerConf)||void 0===l?void 0:l.fetchProducts)?y.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:x===v.DISCOUNT_PRODUCTS.ENTITLED?ne:te,onAdd:e=>{x===v.DISCOUNT_PRODUCTS.ENTITLED?le(e):oe(e),k(void 0)},zIndex:200,storeId:y.newPickerConf.storeId,appType:y.newPickerConf.appType||i.ApplicationType.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=y.newPickerConf)||void 0===n?void 0:n.searchInCollection)?y.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=y.newPickerConf)||void 0===o?void 0:o.searchProducts)?y.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!Y&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxs(e.Fragment,{children:[y.newPickerConf&&e.jsx(P.ProductPickerModal,{visible:!0,onClose:()=>M(void 0),collectionFetcher:y.newPickerConf.fetchCollections,productFetcher:y.newPickerConf.fetchProducts,selectedItems:Y===v.DISCOUNT_PRODUCTS.ENTITLED?pe:re,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),Y===v.DISCOUNT_PRODUCTS.ENTITLED?Ce(e):ae(e),M(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:y.newPickerConf.storeId,appType:y.newPickerConf.appType||i.ApplicationType.BIK,searchInCollectionFetcher:y.newPickerConf.searchInCollection,searchFetcher:y.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0,pickerType:"COLLECTION"}),!y.newPickerConf&&e.jsx(d.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(V=y.collection)&&void 0!==V?V:[],title:"Select Products",onClose:()=>{M(void 0)},selectedProducts:null!==(R=Y===v.DISCOUNT_PRODUCTS.ENTITLED?pe:re)&&void 0!==R?R:[],setSelectedProducts:Y===v.DISCOUNT_PRODUCTS.ENTITLED?Ce:ae,onSearchKeyChange:y.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),L&&e.jsx(I.VariablePickerContainer,{children:e.jsx("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e.jsx(O.VariablePicker,{type:E.PickerType.EMBEDDED,data:null!==(j=y.productVariableList)&&void 0!==j?j:[],showHeader:!0,onSelect:e=>{if(L===v.DISCOUNT_PRODUCTS.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;ce({displayName:i,actualValue:t,isAvailable:o}),q(void 0)}if(L===v.DISCOUNT_PRODUCTS.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;ue({displayName:i,actualValue:t,isAvailable:o}),q(void 0)}},onClose:()=>{q(void 0)}})}))})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("@bikdotai/bik-models/growth/models/bik-store"),t=require("react"),o=require("./type.js");require("../dropdown/DropdownPopover/index.js");var n=require("../dropdown/Dropdown.js");require("../dropdown/ChipDropdown.js"),require("../zeroState/ZeroState.js");var l=require("../TypographyStyle.js"),r=require("../../constants/Theme.js");require("../dropdown/OpenedDropdown/components/description/Description.styled.js"),require("../checkBox/CheckBox.styled.js"),require("../list-item/ListItem.js"),require("../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js"),require("../dropdown/OpenedDropdown/components/menu/MenuItem.js"),require("../dropdown/OpenedDropdown/components/menu/MenuList.styled.js"),require("../button/Button.js"),require("../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js"),require("../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js"),require("../icon-button/IconButton.js"),require("../input/Input.js"),require("../dropdown/MenuItem/MenuItem.js");var a=require("../modals/styledModal.js"),d=require("../product-picker/ProductPickerModal.js"),c=require("../tag/Tag.js"),s=require("../tooltips/Tooltip.js"),u=require("../../assets/icons/gift_icon.svg.js"),p=require("../../assets/icons/percentage_icon.svg.js"),C=require("../../assets/icons/shipping_icon.svg.js"),T=require("../../assets/icons/triangle_error.svg.js"),S=require("../../assets/icons/warning.svg.js"),P=require("../product-picker-v2/modal.js");require("../product-picker-v2/type.js");var E=require("../variable-picker-v3/model.js"),O=require("../variable-picker-v3/VariablePicker.js"),I=require("./DiscountModal.styled.js"),_=require("./DiscountUtils.js"),v=require("./DynamicCoupon/DynamicCoupon.js"),b=require("./StaticCoupon/StaticCoupon.js");exports.DiscountModal=y=>{var D,N,m,U,A,h,f,g,V,R,j;const F=[{id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:y.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e.jsx(p.default,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:o.DISCOUNT_TYPES.BUY_X_GET_Y,icon:i=>e.jsx(u.default,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:o.DISCOUNT_TYPES.FREE_SHIPPING,icon:i=>e.jsx(C.default,{width:24,height:24,color:i})}],[x,k]=t.useState(),[L,q]=t.useState(),[Y,M]=t.useState(),[w,G]=t.useState(null!==(D=y.data)&&void 0!==D?D:"string"==typeof y.hideOption?{isStaticCoupon:"dynamic"===y.hideOption}:{isStaticCoupon:!0}),[B,X]=t.useState(!0),[Q,H]=t.useState(),[z,K]=t.useState((null===(N=y.data)||void 0===N?void 0:N.minAmount)?o.MIN_PURCHASE_REQUIREMENT.AMOUNT:(null===(m=y.data)||void 0===m?void 0:m.minQuantity)?o.MIN_PURCHASE_REQUIREMENT.QUANTITY:o.MIN_PURCHASE_REQUIREMENT.NA),[$,Z]=t.useState(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER),[J,W]=t.useState(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),[ee,ie]=t.useState(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),[te,oe]=t.useState(void 0),[ne,le]=t.useState(void 0),[re,ae]=t.useState(void 0),[de,ce]=t.useState(void 0),[se,ue]=t.useState(void 0),[pe,Ce]=t.useState(void 0),[Te,Se]=t.useState(0),[Pe,Ee]=t.useState(""),[Oe,Ie]=t.useState(F[0]),[_e,ve]=t.useState(!1),[be,ye]=t.useState(o.initialStaticCouponErrorState),[De,Ne]=t.useState(o.initialDynamicCouponErrorState),[me,Ue]=t.useState(y.getDetailedDescription?o.COUPON_EXPIRATION.FIXED_EXPIRATION:o.COUPON_EXPIRATION.DYNAMIC_EXPIRATION),Ae=[{value:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:Q===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER},{value:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:Q===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS},{value:o.DISCOUNT_TYPES.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:Q===o.DISCOUNT_TYPES.BUY_X_GET_Y},{value:o.DISCOUNT_TYPES.FREE_SHIPPING,label:"Free shipping",selected:Q===o.DISCOUNT_TYPES.FREE_SHIPPING}];t.useEffect((()=>{y.makeExpiryMandatory&&ve(!0)}),[y.makeExpiryMandatory]),t.useEffect((()=>{var e,i,t,n,l,r,a,d;let c;const{tempCouponData:s,discountType:u}=he();H(u);const p=(e,i)=>{Ie(s.valueType===o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?F[e]:F[i])},C=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==s?void 0:s.expireAfter)||(null==s?void 0:s.expireAt))&&(ve(!0),(null==s?void 0:s.expireAt)&&Ue(o.COUPON_EXPIRATION.FIXED_EXPIRATION),(null==s?void 0:s.expireAfter)&&Ue(o.COUPON_EXPIRATION.DYNAMIC_EXPIRATION)),u){case o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:p(0,1),Z(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER);break;case o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:p(0,1),(null===(e=s.entitledCollectionIds)||void 0===e?void 0:e.length)?Z(o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS):(null===(i=s.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=s.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(Z(o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS),C(null===(n=s.productVariableConf)||void 0===n?void 0:n.entitledProductVariable,ce)):Z(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER);break;case o.DISCOUNT_TYPES.BUY_X_GET_Y:Ie(F[2]),(null===(l=s.entitledCollectionIds)||void 0===l?void 0:l.length)?ie(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(ie(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),C(null===(r=s.productVariableConf)||void 0===r?void 0:r.entitledProductVariable,ce)),(null===(a=s.prerequisiteCollectionIds)||void 0===a?void 0:a.length)?W(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(W(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),C(null===(d=s.productVariableConf)||void 0===d?void 0:d.prerequisiteProductVariable,ue));break;case o.DISCOUNT_TYPES.FREE_SHIPPING:Ie(F[3])}G(Object.assign({},s)),y.hideProbability||(c=Ve()),X(_.validateDiscountData(s,z,u,y.hideProbability||!1,c,!!s.isStaticCoupon,y.getDetailedDescription||!1)),y.hideProbability||Ve()}),[]),t.useEffect((()=>{let e;y.hideProbability||(e=Ve()),X(_.validateDiscountData(w,z,Q,y.hideProbability||!1,e,!!w.isStaticCoupon,y.getDetailedDescription||!1))}),[w,Te,Q,z]),t.useEffect((()=>{var e,i,t,o,n,l,r;if(!y.newPickerConf&&((null===(e=y.products)||void 0===e?void 0:e.length)||(null===(i=y.collection)||void 0===i?void 0:i.length))){if(y.products&&(null===(t=y.products)||void 0===t?void 0:t.length)){if(null===(o=y.data)||void 0===o?void 0:o.entitledProductIds){const e=y.products.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));le(e)}if(null===(n=y.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=y.products.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));oe(e)}}if(y.collection&&y.collection.length){if(null===(l=y.data)||void 0===l?void 0:l.entitledCollectionIds){const e=y.collection.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ce(e)}if(null===(r=y.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=y.collection.filter((e=>{var i,t;return null===(t=null===(i=y.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));ae(e)}}}}),[y.products,y.collection]),t.useEffect((()=>{var e,i,t,o,n,l,r,a;(null===(i=null===(e=y.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&le(y.data.productsConf.entitledProducts),(null===(o=null===(t=y.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&oe(y.data.productsConf.prerequisiteProducts),(null===(l=null===(n=y.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Ce(y.data.collectionsConf.entitledCollections),(null===(a=null===(r=y.data)||void 0===r?void 0:r.collectionsConf)||void 0===a?void 0:a.prerequisiteCollections)&&ae(y.data.collectionsConf.prerequisiteCollections)}),[null===(U=y.data)||void 0===U?void 0:U.productsConf,null===(A=y.data)||void 0===A?void 0:A.collectionsConf]),t.useEffect((()=>{if(!ne)return;if(y.newPickerConf){const e=[];return Object.values(ne).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void G(Object.assign(Object.assign({},w),{entitledProductIds:e}))}const e=ne.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{entitledProductIds:e}))}),[ne]),t.useEffect((()=>{if(!te)return;if(y.newPickerConf){const e=[];return Object.values(te).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void G(Object.assign(Object.assign({},w),{prerequisiteProductIds:e}))}const e=te.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{prerequisiteProductIds:e}))}),[te]),t.useEffect((()=>{if(!pe)return;if(y.newPickerConf){(null==pe?void 0:pe.isCustom)&&delete pe.isCustom;const e=Object.keys(pe).map((e=>parseInt(e)));return void G(Object.assign(Object.assign({},w),{entitledCollectionIds:e}))}const e=pe.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{entitledCollectionIds:e}))}),[pe]),t.useEffect((()=>{if(!re)return;if(y.newPickerConf){(null==re?void 0:re.isCustom)&&delete re.isCustom;const e=Object.keys(re).map((e=>parseInt(e)));return void G(Object.assign(Object.assign({},w),{prerequisiteCollectionIds:e}))}const e=re.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},w),{prerequisiteCollectionIds:e}))}),[re]);const he=()=>{var e,i,t,n;let l,r=w;return w.isStaticCoupon?w.isStaticCoupon&&y.getDetailedDescription&&(w.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?l=o.DISCOUNT_TYPES.FREE_SHIPPING:w.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?l=w.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(t=w.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(n=w.prerequisiteCollectionIds)||void 0===n?void 0:n.length)||w.prerequisiteQuantity||w.entitledQuantity?o.DISCOUNT_TYPES.BUY_X_GET_Y:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),l=o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER)):w.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?l=o.DISCOUNT_TYPES.FREE_SHIPPING:w.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?l=w.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(e=w.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=w.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||w.prerequisiteQuantity||w.entitledQuantity?o.DISCOUNT_TYPES.BUY_X_GET_Y:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),l=o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER),{discountType:l,tempCouponData:r}},fe=()=>{ye(o.initialStaticCouponErrorState),Ne(o.initialDynamicCouponErrorState)},ge=e=>{var i;const t={invalidDiscountCode:"Please add Discount Code",invalidCouponTitle:"Please add Discount Coupon Title",invalidCouponDescription:"Please add Coupon Description",inValidProbability:e.inValidProbability&&(null!==(i=w.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":w.isStaticCoupon?"Please add Probability":"Probability should be greater than 0",inValidDiscountAmount:"Please add Discount Amount",inValidMinimumAmount:"Specify minimum amount required",inValidMinimumQuantity:"Specify minimum items required",inValidCouponExpiry:"Please add Coupon Expiry",inValidProductSelection:"Please specify the products",inValidProductVariableSelection:"Please specify the product variables",inValidCollectionSelection:"Please specify the collections",inValidBuyXValue:"Please specify buy product quantity",inValidGetYValue:"Please specify get product quantity",inValidBuyXProductSelection:"Please specify the products",inValidBuyXCollectionSelection:"Please specify the collections",inValidGetYProductSelection:"Please specify the products",inValidGetYCollectionSelection:"Please specify the collections",inValidBuyXProductVariableSelection:"Please specify the product variables",inValidGetYProductVariableSelection:"Please specify the product variables"};let o="";Object.keys(e).forEach((i=>{e[i]&&(o=t[i])}));const n=Object.values(e).filter(Boolean).length;return n>0&&(Ee(n>1?"Please add discount details":o),!0)},Ve=()=>{if(!y.quadrant||!y.probability)return;const e=[...y.probability];let i=[];e.length>=y.quadrant&&e.splice(y.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(w.probability||0);return Se(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Re=e=>{var i,t,n,l,r,a,d,c,s,u,p,C,T,S,P,E;const O=e.value;H(O),oe([]),le([]),ae([]),Ce([]),O===o.DISCOUNT_TYPES.FREE_SHIPPING?G({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(i=w.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=w.expireAfter)&&void 0!==t?t:void 0,probability:w.probability,minQuantity:null!==(n=w.minQuantity)&&void 0!==n?n:void 0,minAmount:null!==(l=w.minAmount)&&void 0!==l?l:void 0}):O===o.DISCOUNT_TYPES.BUY_X_GET_Y?G({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(r=w.expireAt)&&void 0!==r?r:void 0,expireAfter:null!==(a=w.expireAfter)&&void 0!==a?a:void 0,probability:w.probability,minQuantity:void 0,minAmount:void 0}):O===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER?G({targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(d=w.valueType)&&void 0!==d?d:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(c=w.expireAt)&&void 0!==c?c:void 0,expireAfter:null!==(s=w.expireAfter)&&void 0!==s?s:void 0,probability:w.probability,value:w.value,minQuantity:null!==(u=w.minQuantity)&&void 0!==u?u:void 0,minAmount:null!==(p=w.minAmount)&&void 0!==p?p:void 0}):O===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS&&G({targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(C=w.valueType)&&void 0!==C?C:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:w.quadrant,isStaticCoupon:!!y.getDetailedDescription,title:w.title,couponCode:y.getDetailedDescription?w.couponCode:void 0,expireAt:null!==(T=w.expireAt)&&void 0!==T?T:void 0,expireAfter:null!==(S=w.expireAfter)&&void 0!==S?S:void 0,probability:w.probability,value:w.value,minQuantity:null!==(P=w.minQuantity)&&void 0!==P?P:void 0,minAmount:null!==(E=w.minAmount)&&void 0!==E?E:void 0})},je=i=>i&&e.jsx(c.Tag,{theme:"light",tagText:i,type:"negative",LeadingIcon:S.default});return e.jsxs(a.StyledModal,Object.assign({width:(Y||x)&&y.newPickerConf?"25px":"640px",open:y.isOpen,hideCrossButton:!!L,headingTitle:x?"Select Products":y.title,headingSubtitle:x?void 0:y.subTitle,footerLeftCustomElement:Pe?je(Pe):y.errorMsg?je(y.errorMsg):!y.quadrant||y.hideProbability?e.jsx(e.Fragment,{}):Te<=1?e.jsx(c.Tag,{theme:"light",tagText:`Current probability sum: ${Te}`,type:"white"}):e.jsx(s.Tooltip,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsx("div",{children:e.jsx(c.Tag,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${Te}`,type:"negative",LeadingIcon:T.default})})})),headerRightCustomElement:y.allowStaticCoupon||x?void 0:e.jsx(n.Dropdown,{options:Ae,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Re(e)}}),onClose:y.onClose,footerContainerStyle:{borderTop:`1px solid ${r.DEFAULT_THEME.colorsV2.stroke.primary}`},primaryButton:x?{buttonType:"primary",onClick:()=>{k(void 0)},buttonText:"Add"}:Y?{buttonType:"primary",onClick:()=>{M(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(h=y.loading)&&void 0!==h&&h,onClick:()=>{var e,i,t,n,l,r,a,d,c,s;if(fe(),w.isStaticCoupon&&!y.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=w,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!y.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(ge(r))return void ye(r);if(B||Te>1)return void Ee(!y.hideProbability&&Te>1?"Probability sum should not exceed 1":"Invalid coupon details");y.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:w.title})}else if(w.isStaticCoupon&&y.getDetailedDescription){const{isStaticCoupon:r,couponCode:a,title:d,quadrant:c,probability:s}=w,u={invalidDiscountCode:!a,invalidCouponTitle:!d,invalidCouponDescription:!1,inValidProbability:!y.hideProbability&&(null!=s?s:-1)<0||(null!=s?s:0)>1||Number.isNaN(null!=s?s:0)};if(ge(u))return void ye(u);const p={invalidCouponTitle:!w.title,inValidProbability:!y.hideProbability&&(null!==(e=w.probability)&&void 0!==e?e:-1)<=0||(null!==(i=w.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=w.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!w.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(Q!==o.DISCOUNT_TYPES.BUY_X_GET_Y&&z!==o.MIN_PURCHASE_REQUIREMENT.NA){const{minAmount:e,minQuantity:i}=w;p.inValidMinimumAmount=z===o.MIN_PURCHASE_REQUIREMENT.AMOUNT&&!e,p.inValidMinimumQuantity=z===o.MIN_PURCHASE_REQUIREMENT.QUANTITY&&!i}if(_e&&(p.inValidCouponExpiry=!w.expireAt&&!w.expireAfter),Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||($!==o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(p.inValidProductSelection=!0,p.inValidProductVariableSelection=!0),$===o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(p.inValidCollectionSelection=!0)),Q===o.DISCOUNT_TYPES.BUY_X_GET_Y&&(w.prerequisiteQuantity||(p.inValidBuyXValue=!0),w.entitledQuantity||(p.inValidGetYValue=!0),J!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!te||Object.keys(te).length||se||(p.inValidBuyXProductSelection=!0,p.inValidBuyXProductVariableSelection=!0),J===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&re&&!Object.keys(re).length&&(p.inValidBuyXCollectionSelection=!0),ee!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(p.inValidGetYProductSelection=!0,p.inValidGetYProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(p.inValidGetYCollectionSelection=!0)),ge(p))return void Ne(p);if(B||Te>1)return void Ee(!y.hideProbability&&Te>1?"Probability sum should not exceed 1":"Invalid coupon details");y.onSaveClicked(Object.assign(Object.assign({},w),{couponCode:a,isStaticCoupon:r,quadrant:c,description:_.descriptionBuilder(w,y.currency,null!==(n=y.products)&&void 0!==n?n:[],null!==(l=y.collection)&&void 0!==l?l:[]),productsConf:{entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[]},collectionsConf:{entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[]},productVariableConf:{entitledProductVariable:null!=de?de:{},prerequisiteProductVariable:null!=se?se:{}}}))}else{const e={invalidCouponTitle:!w.title,inValidProbability:!y.hideProbability&&(null!==(r=w.probability)&&void 0!==r?r:-1)<=0||(null!==(a=w.probability)&&void 0!==a?a:-1)>1||Number.isNaN(null!==(d=w.probability)&&void 0!==d?d:-1),inValidDiscountAmount:!w.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(Q!==o.DISCOUNT_TYPES.BUY_X_GET_Y&&z!==o.MIN_PURCHASE_REQUIREMENT.NA){const{minAmount:i,minQuantity:t}=w;e.inValidMinimumAmount=z===o.MIN_PURCHASE_REQUIREMENT.AMOUNT&&!i,e.inValidMinimumQuantity=z===o.MIN_PURCHASE_REQUIREMENT.QUANTITY&&!t}if(_e&&(e.inValidCouponExpiry=!w.expireAt&&!w.expireAfter),Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&Q!==o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||($!==o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),$===o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(e.inValidCollectionSelection=!0)),Q===o.DISCOUNT_TYPES.BUY_X_GET_Y&&(w.prerequisiteQuantity||(e.inValidBuyXValue=!0),w.entitledQuantity||(e.inValidGetYValue=!0),J!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!te||Object.keys(te).length||se||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),J===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&re&&!Object.keys(re).length&&(e.inValidBuyXCollectionSelection=!0),ee!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||de||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(e.inValidGetYCollectionSelection=!0)),ge(e))return void Ne(e);if(B||Te>1)return void Ee(!y.hideProbability&&Te>1?"Probability sum should not exceed 1":"Invalid coupon details");y.onSaveClicked(Object.assign(Object.assign({},w),{isStaticCoupon:w.isStaticCoupon,description:_.descriptionBuilder(w,y.currency,null!==(c=y.products)&&void 0!==c?c:[],null!==(s=y.collection)&&void 0!==s?s:[]),productsConf:{entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[]},collectionsConf:{entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[]},productVariableConf:{entitledProductVariable:null!=de?de:{},prerequisiteProductVariable:null!=se?se:{}}}))}}},secondaryButton:x?{buttonType:"tertiaryGray",onClick:()=>{k(void 0)},buttonText:"Back"}:Y?{buttonType:"tertiaryGray",onClick:()=>{M(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:y.onClose,buttonText:"Cancel"}},{children:[!x&&!Y&&e.jsxs(I.StyledDiscountDialogueContainer,{children:[y.allowStaticCoupon&&!x&&!y.hideOption&&e.jsxs(I.CouponTypeContainerStyled,Object.assign({selectedDiv:w.isStaticCoupon?1:2},{children:["static"===y.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{w.isStaticCoupon||(G({isStaticCoupon:!0,quadrant:w.quadrant}),Ee(""),fe())}},{children:[e.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:w.isStaticCoupon?r.DEFAULT_THEME.colorsV2.content.brand:void 0}},{children:"Static Code"})),e.jsx(l.BodyCaption,Object.assign({style:w.isStaticCoupon?{color:r.DEFAULT_THEME.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===y.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;w.isStaticCoupon&&(H(o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER),G({isStaticCoupon:!1,quadrant:w.quadrant,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),Ee(""),fe(),Ie({id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i}},{children:y.currency||""}))}),ve(null!==(i=y.makeExpiryMandatory)&&void 0!==i&&i),K(o.MIN_PURCHASE_REQUIREMENT.NA))}},{children:[e.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:w.isStaticCoupon?void 0:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Dynamic Code"})),e.jsx(l.BodyCaption,Object.assign({style:w.isStaticCoupon?{}:{color:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Code will be unique for all customers, with the first 5 letters of the customer's name, followed by 10 random characters."}))]}))]})),!y.getDetailedDescription&&e.jsx(l.TitleRegular,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",w.isStaticCoupon&&!x&&!y.getDetailedDescription&&e.jsx(b.default,{discountData:w,setDiscountData:G,hideProbability:y.hideProbability||!1,discountAdminUrl:y.discountAdminUrl,staticDiscountValidationError:be,currency:y.currency}),w.isStaticCoupon&&!x&&y.getDetailedDescription&&e.jsx(b.default,{discountData:w,setDiscountData:G,hideProbability:y.hideProbability||!1,discountAdminUrl:y.discountAdminUrl,staticDiscountValidationError:be,currency:y.currency,getDetailedDescription:!0,selectedCouponType:Q,setSelectedCouponType:H,selectedMinimumRequirement:z,setSelectedMinimumRequirement:K,discountCouponAppliesTo:$,offerAppliesToBuy:J,offerAppliesToGet:ee,setDiscountCouponAppliesTo:Z,setOfferAppliesToBuy:W,setOfferAppliesToGet:ie,hideExpiration:y.hideExpiration||!1,onChangeCouponType:Re,entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[],setEntitledProducts:le,setPrerequisiteProducts:oe,entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[],setEntitledCollections:Ce,setPrerequisiteCollections:ae,setIsProductPickerOpen:k,setIsProductVariablePickerOpen:q,setIsCollectionPickerOpen:M,productPickerOpen:x,productVariablePickerOpen:L,collectionPickerOpen:Y,useNewPicker:!!y.newPickerConf,selectedDiscountDetails:Oe,setSelectedDiscountDetails:Ie,isProductVariableSupported:y.isProductVariableSupported,entitledProductVariable:de,setEntitledProductVariable:ce,preRequisiteProductVariable:se,setPreRequisiteProductVariable:ue,productVariableList:y.productVariableList,isAddExpirationChecked:_e,setIsAddExpirationChecked:ve,dynamicDiscountValidationError:De,setDynamicDiscountValidationError:Ne,setValidationErrorMessage:Ee,resetValidationErrors:fe,discountDetailsOptions:F,selectedExpiration:me,setSelectedExpiration:Ue,makeExpiryMandatory:!!y.makeExpiryMandatory}),!w.isStaticCoupon&&!x&&!Y&&e.jsx(v.default,{currency:y.currency,entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[],setEntitledProducts:le,setPrerequisiteProducts:oe,discountData:w,productPickerOpen:x,productVariablePickerOpen:L,setIsProductPickerOpen:k,setIsProductVariablePickerOpen:q,setDiscountData:G,selectedCouponType:Q,setSelectedCouponType:H,selectedMinimumRequirement:z,setSelectedMinimumRequirement:K,discountCouponAppliesTo:$,offerAppliesToBuy:J,offerAppliesToGet:ee,setDiscountCouponAppliesTo:Z,setOfferAppliesToBuy:W,setOfferAppliesToGet:ie,hideProbability:y.hideProbability||!1,hideExpiration:y.hideExpiration||!1,allowStaticCoupon:y.allowStaticCoupon,onChangeCouponType:Re,collectionPickerOpen:Y,entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[],setIsCollectionPickerOpen:M,setEntitledCollections:Ce,setPrerequisiteCollections:ae,useNewPicker:!!y.newPickerConf,setSelectedDiscountDetails:Ie,selectedDiscountDetails:Oe,isProductVariableSupported:y.isProductVariableSupported,entitledProductVariable:de,setEntitledProductVariable:ce,preRequisiteProductVariable:se,setPreRequisiteProductVariable:ue,productVariableList:y.productVariableList,isAddExpirationChecked:_e,setIsAddExpirationChecked:ve,dynamicDiscountValidationError:De,setDynamicDiscountValidationError:Ne,setValidationErrorMessage:Ee,resetValidationErrors:fe,discountDetailsOptions:F,selectedExpiration:me,setSelectedExpiration:Ue,makeExpiryMandatory:!!y.makeExpiryMandatory})]}),!!x&&e.jsxs(e.Fragment,{children:[!y.newPickerConf&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsx(d.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(f=y.products)&&void 0!==f?f:[],title:"Select Products",onClose:()=>{k(void 0)},selectedProducts:null!==(g=x===v.DISCOUNT_PRODUCTS.ENTITLED?ne:te)&&void 0!==g?g:[],setSelectedProducts:x===v.DISCOUNT_PRODUCTS.ENTITLED?le:oe,onSearchKeyChange:y.onProductSearch})})),y.newPickerConf&&e.jsx(P.ProductPickerModal,{visible:!0,onClose:()=>k(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=y.newPickerConf)||void 0===o?void 0:o.fetchCollections)?y.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=y.newPickerConf)||void 0===l?void 0:l.fetchProducts)?y.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:x===v.DISCOUNT_PRODUCTS.ENTITLED?ne:te,onAdd:e=>{x===v.DISCOUNT_PRODUCTS.ENTITLED?le(e):oe(e),k(void 0)},zIndex:200,storeId:y.newPickerConf.storeId,appType:y.newPickerConf.appType||i.ApplicationType.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=y.newPickerConf)||void 0===n?void 0:n.searchInCollection)?y.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=y.newPickerConf)||void 0===o?void 0:o.searchProducts)?y.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!Y&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxs(e.Fragment,{children:[y.newPickerConf&&e.jsx(P.ProductPickerModal,{visible:!0,onClose:()=>M(void 0),collectionFetcher:y.newPickerConf.fetchCollections,productFetcher:y.newPickerConf.fetchProducts,selectedItems:Y===v.DISCOUNT_PRODUCTS.ENTITLED?pe:re,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),Y===v.DISCOUNT_PRODUCTS.ENTITLED?Ce(e):ae(e),M(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:y.newPickerConf.storeId,appType:y.newPickerConf.appType||i.ApplicationType.BIK,searchInCollectionFetcher:y.newPickerConf.searchInCollection,searchFetcher:y.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!y.newPickerConf&&e.jsx(d.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(V=y.collection)&&void 0!==V?V:[],title:"Select Products",onClose:()=>{M(void 0)},selectedProducts:null!==(R=Y===v.DISCOUNT_PRODUCTS.ENTITLED?pe:re)&&void 0!==R?R:[],setSelectedProducts:Y===v.DISCOUNT_PRODUCTS.ENTITLED?Ce:ae,onSearchKeyChange:y.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),L&&e.jsx(I.VariablePickerContainer,{children:e.jsx("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e.jsx(O.VariablePicker,{type:E.PickerType.EMBEDDED,data:null!==(j=y.productVariableList)&&void 0!==j?j:[],showHeader:!0,onSelect:e=>{if(L===v.DISCOUNT_PRODUCTS.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;ce({displayName:i,actualValue:t,isAvailable:o}),q(void 0)}if(L===v.DISCOUNT_PRODUCTS.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;ue({displayName:i,actualValue:t,isAvailable:o}),q(void 0)}},onClose:()=>{q(void 0)}})}))})]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react/jsx-runtime"),e=require("react"),n=require("../../assets/icons/chevronRight2.svg.js"),r=require("../../assets/icons/play.svg.js"),s=require("../button/Button.js"),o=require("./constants/index.js"),a=require("./styles/majorPopup.styles.js");require("../../constants/Theme.js"),require("./constants/animations.js");var i=require("./utils/htmlHelpers.js"),l=require("./utils/animationHelpers.js"),u=require("./utils/elementHelpers.js");exports.default=c=>{let{feature:d,currentIndex:p,totalFeatures:g,onSkip:y,onExplore:v,onPrevious:b,onNext:j,setIsClosing:h,onSecondaryAction:f,ratio:x="16:9",padding:B}=c;var T,O,m,E,M,k,U,P,C,w;const[_,L]=e.useState(!1),[W,q]=e.useState(!1),[S,A]=e.useState(""),D=e.useRef(null),[I,H]=e.useState(!1),[N,R]=e.useState(!0),F=e.useRef(null),[X,V]=e.useState(x),J=e.useRef(null);e.useEffect((()=>{_&&q(!0)}),[_]);const z=()=>{var t,e;const n=null===(t=d.primaryButton)||void 0===t?void 0:t.action;if("Play Video"===n)v();else if("Open link"===n){const t=(null===(e=d.primaryButton)||void 0===e?void 0:e.redirectionUrl)||d.redirectUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else v();l.hideJoyrideArrow(D.current);const r=u.findWhatsNewButton();if(r&&D.current){const t=l.calculateCloseTransform(D.current,r);A(t)}else A("scale(0)");null==h||h(!0),L(!0)},G=t=>{var e,n;t.preventDefault(),t.stopPropagation();const r=null===(e=d.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===r){const t=null===(n=d.secondaryButton)||void 0===n?void 0:n.redirectionUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else"Close popup"!==r&&""!==r||f&&f();l.hideJoyrideArrow(D.current);const s=u.findWhatsNewButton();if(s&&D.current){const t=l.calculateCloseTransform(D.current,s);A(t)}else A("scale(0)");null==h||h(!0),L(!0)},K=a.getMajorPopupStyles(W,S,X,B||d.padding,null===(T=d.primaryButton)||void 0===T?void 0:T.style,null===(O=d.secondaryButton)||void 0===O?void 0:O.style);return t.jsx("div",Object.assign({style:K.outerWrapper},{children:t.jsxs("div",Object.assign({ref:D,style:Object.assign(Object.assign({},K.container),{opacity:W?0:1,transition:"opacity 0.2s ease-in-out, transform 0.3s ease"})},{children:[t.jsx("style",{children:"\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t"}),t.jsxs("div",Object.assign({style:K.contentWrapper},{children:[t.jsx("div",Object.assign({style:K.imageContainer},{children:d.productVideo?t.jsxs(t.Fragment,{children:[t.jsx("video",{ref:F,src:d.productVideo,style:K.image,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,"aria-label":`Product video for ${d.title}`,onLoadedMetadata:t=>{const e=t.currentTarget,n=e.videoWidth,r=e.videoHeight;if(n&&r){const t=n/r;Math.abs(t-16/9)<.1?V("16:9"):Math.abs(t-1)<.1?V("1:1"):Math.abs(t-4/3)<.1?V("4:3"):V(t>1.5?"16:9":t<.9?"4:3":"1:1")}}}),(I||N)&&t.jsx("div",Object.assign({style:K.videoOverlay,onClick:t=>{t.stopPropagation(),F.current&&(F.current.paused?(F.current.play(),H(!1),R(!1)):(F.current.pause(),H(!0),R(!0)))},role:"button",tabIndex:0,"aria-label":I?"Play video":"Pause video",onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),F.current&&(F.current.paused?(F.current.play(),H(!1),R(!1)):(F.current.pause(),H(!0),R(!0))))}},{children:t.jsx(r.default,{width:20,height:20})}))]}):d.displayImage?t.jsx("img",{ref:J,src:d.displayImage,alt:d.title,style:K.image,onLoad:t=>{const e=t.currentTarget,n=e.naturalWidth,r=e.naturalHeight;if(n&&r){const t=n/r;Math.abs(t-16/9)<.1?V("16:9"):Math.abs(t-1)<.1?V("1:1"):Math.abs(t-4/3)<.1?V("4:3"):V(t>1.5?"16:9":t<.9?"4:3":"1:1")}},onError:t=>{d.image&&(t.target.src=d.image)}}):t.jsx("div",Object.assign({style:K.imagePlaceholder},{children:o.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),t.jsxs("div",Object.assign({style:K.contentContainer},{children:[t.jsx("div",Object.assign({style:K.skipButtonContainer},{children:t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),(t=>{l.hideJoyrideArrow(D.current);const e=u.findWhatsNewButton();if(e&&D.current){const t=l.calculateCloseTransform(D.current,e);A(t)}else A("scale(0)");null==h||h(!0),L(!0),l.executeAfterAnimation(t)})(y)},style:K.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,K.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,K.skipButton.base),"aria-label":"Skip feature announcement"},{children:"Skip"}))})),t.jsx("h3",Object.assign({style:K.title},{children:d.title})),t.jsx("div",{"data-popup-content":!0,style:K.content,dangerouslySetInnerHTML:{__html:i.decodeHTMLEntities(d.content||d.body||"")}}),t.jsxs("div",Object.assign({style:K.actionsWrapper},{children:[t.jsxs("div",Object.assign({style:K.buttonsGroup},{children:[(null===(m=d.primaryButton)||void 0===m?void 0:m.redirectionUrl)||d.redirectUrl?t.jsx("a",Object.assign({href:(null===(E=d.primaryButton)||void 0===E?void 0:E.redirectionUrl)||d.redirectUrl,target:((null===(M=d.primaryButton)||void 0===M?void 0:M.redirectionUrl)||d.redirectUrl).startsWith("http")?"_blank":"_self",rel:((null===(k=d.primaryButton)||void 0===k?void 0:k.redirectionUrl)||d.redirectUrl).startsWith("http")?"noopener noreferrer":void 0,onClick:z,style:K.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,K.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,K.exploreButton.base)},{children:(null===(U=d.primaryButton)||void 0===U?void 0:U.text)||d.buttonText||o.TEXT.DEFAULT_BUTTON_TEXT})):t.jsx(s.Button,{onClick:z,style:K.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,K.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,K.exploreButton.base),buttonText:(null===(P=d.primaryButton)||void 0===P?void 0:P.text)||d.buttonText||o.TEXT.DEFAULT_BUTTON_TEXT}),(null===(C=d.secondaryButton)||void 0===C?void 0:C.text)&&((null===(w=d.secondaryButton)||void 0===w?void 0:w.redirectionUrl)?t.jsx("a",Object.assign({href:d.secondaryButton.redirectionUrl,target:d.secondaryButton.redirectionUrl.startsWith("http")?"_blank":"_self",rel:d.secondaryButton.redirectionUrl.startsWith("http")?"noopener noreferrer":void 0,onClick:G,style:K.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,K.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,K.secondaryButton.base)},{children:d.secondaryButton.text})):t.jsx("button",Object.assign({onClick:G,style:K.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,K.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,K.secondaryButton.base)},{children:d.secondaryButton.text})))]})),g>1&&t.jsxs("div",Object.assign({style:K.navigationContainer},{children:[t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),b()},disabled:0===p,style:K.navigationButton(0===p).base,onMouseEnter:t=>{0!==p&&Object.assign(t.currentTarget.style,K.navigationButton(!1).hover)},onMouseLeave:t=>{0!==p&&Object.assign(t.currentTarget.style,K.navigationButton(!1).base)},"aria-label":"Previous feature"},{children:t.jsx(n.default,{style:{transform:"rotate(180deg)"}})})),t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),j()},disabled:p===g-1,style:K.navigationButton(p===g-1).base,onMouseEnter:t=>{p!==g-1&&Object.assign(t.currentTarget.style,K.navigationButton(!1).hover)},onMouseLeave:t=>{p!==g-1&&Object.assign(t.currentTarget.style,K.navigationButton(p===g-1).base)},"aria-label":"Next feature"},{children:t.jsx(n.default,{})}))]}))]}))]}))]}))]}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react/jsx-runtime"),e=require("react"),n=require("../../assets/icons/chevronRight2.svg.js"),s=require("../../assets/icons/play.svg.js"),r=require("./constants/index.js"),o=require("./styles/majorPopup.styles.js");require("../../constants/Theme.js"),require("./constants/animations.js");var a=require("./utils/htmlHelpers.js"),i=require("./utils/animationHelpers.js"),l=require("./utils/elementHelpers.js");exports.default=c=>{let{feature:u,currentIndex:d,totalFeatures:p,onSkip:g,onExplore:y,onPrevious:v,onNext:b,setIsClosing:j,onSecondaryAction:h,ratio:f="16:9",padding:x}=c;var O,B,m,T,M;const[k,E]=e.useState(!1),[P,C]=e.useState(!1),[w,L]=e.useState(""),W=e.useRef(null),[S,_]=e.useState(!1),[q,U]=e.useState(!0),A=e.useRef(null),[I,D]=e.useState(f),H=e.useRef(null);e.useEffect((()=>{k&&C(!0)}),[k]);const R=t=>{var e,n;t.preventDefault(),t.stopPropagation();const s=null===(e=u.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===s){const t=null===(n=u.secondaryButton)||void 0===n?void 0:n.redirectionUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else"Close popup"!==s&&""!==s||h&&h();i.hideJoyrideArrow(W.current);const r=l.findWhatsNewButton();if(r&&W.current){const t=i.calculateCloseTransform(W.current,r);L(t)}else L("scale(0)");null==j||j(!0),E(!0)},N=o.getMajorPopupStyles(P,w,I,x||u.padding,null===(O=u.primaryButton)||void 0===O?void 0:O.style,null===(B=u.secondaryButton)||void 0===B?void 0:B.style);return t.jsx("div",Object.assign({style:N.outerWrapper},{children:t.jsxs("div",Object.assign({ref:W,style:Object.assign(Object.assign({},N.container),{opacity:P?0:1,transition:"opacity 0.2s ease-in-out, transform 0.3s ease"})},{children:[t.jsx("style",{children:"\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t"}),t.jsxs("div",Object.assign({style:N.contentWrapper},{children:[t.jsx("div",Object.assign({style:N.imageContainer},{children:u.productVideo?t.jsxs(t.Fragment,{children:[t.jsx("video",{ref:A,src:u.productVideo,style:N.image,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,"aria-label":`Product video for ${u.title}`,onLoadedMetadata:t=>{const e=t.currentTarget,n=e.videoWidth,s=e.videoHeight;if(n&&s){const t=n/s;Math.abs(t-16/9)<.1?D("16:9"):Math.abs(t-1)<.1?D("1:1"):Math.abs(t-4/3)<.1?D("4:3"):D(t>1.5?"16:9":t<.9?"4:3":"1:1")}}}),(S||q)&&t.jsx("div",Object.assign({style:N.videoOverlay,onClick:t=>{t.stopPropagation(),A.current&&(A.current.paused?(A.current.play(),_(!1),U(!1)):(A.current.pause(),_(!0),U(!0)))},role:"button",tabIndex:0,"aria-label":S?"Play video":"Pause video",onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),A.current&&(A.current.paused?(A.current.play(),_(!1),U(!1)):(A.current.pause(),_(!0),U(!0))))}},{children:t.jsx(s.default,{width:20,height:20})}))]}):u.displayImage?t.jsx("img",{ref:H,src:u.displayImage,alt:u.title,style:N.image,onLoad:t=>{const e=t.currentTarget,n=e.naturalWidth,s=e.naturalHeight;if(n&&s){const t=n/s;Math.abs(t-16/9)<.1?D("16:9"):Math.abs(t-1)<.1?D("1:1"):Math.abs(t-4/3)<.1?D("4:3"):D(t>1.5?"16:9":t<.9?"4:3":"1:1")}},onError:t=>{u.image&&(t.target.src=u.image)}}):t.jsx("div",Object.assign({style:N.imagePlaceholder},{children:r.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),t.jsxs("div",Object.assign({style:N.contentContainer},{children:[t.jsx("div",Object.assign({style:N.skipButtonContainer},{children:t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),(t=>{i.hideJoyrideArrow(W.current);const e=l.findWhatsNewButton();if(e&&W.current){const t=i.calculateCloseTransform(W.current,e);L(t)}else L("scale(0)");null==j||j(!0),E(!0),i.executeAfterAnimation(t)})(g)},style:N.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,N.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,N.skipButton.base),"aria-label":"Skip feature announcement"},{children:"Skip"}))})),t.jsx("h3",Object.assign({style:N.title},{children:u.title})),t.jsx("div",{"data-popup-content":!0,style:N.content,dangerouslySetInnerHTML:{__html:a.decodeHTMLEntities(u.content||u.body||"")}}),t.jsxs("div",Object.assign({style:N.actionsWrapper},{children:[t.jsxs("div",Object.assign({style:N.buttonsGroup},{children:[t.jsx("button",Object.assign({onClick:()=>{var t,e;const n=null===(t=u.primaryButton)||void 0===t?void 0:t.action;if("Play Video"===n)y();else if("Open link"===n){const t=(null===(e=u.primaryButton)||void 0===e?void 0:e.redirectionUrl)||u.redirectUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else y();i.hideJoyrideArrow(W.current);const s=l.findWhatsNewButton();if(s&&W.current){const t=i.calculateCloseTransform(W.current,s);L(t)}else L("scale(0)");null==j||j(!0),E(!0)},style:N.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,N.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,N.exploreButton.base)},{children:(null===(m=u.primaryButton)||void 0===m?void 0:m.text)||u.buttonText||r.TEXT.DEFAULT_BUTTON_TEXT})),(null===(T=u.secondaryButton)||void 0===T?void 0:T.text)&&((null===(M=u.secondaryButton)||void 0===M?void 0:M.redirectionUrl)?t.jsx("a",Object.assign({href:u.secondaryButton.redirectionUrl,target:u.secondaryButton.redirectionUrl.startsWith("http")?"_blank":"_self",rel:u.secondaryButton.redirectionUrl.startsWith("http")?"noopener noreferrer":void 0,onClick:R,style:N.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,N.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,N.secondaryButton.base)},{children:u.secondaryButton.text})):t.jsx("button",Object.assign({onClick:R,style:N.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,N.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,N.secondaryButton.base)},{children:u.secondaryButton.text})))]})),p>1&&t.jsxs("div",Object.assign({style:N.navigationContainer},{children:[t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),v()},disabled:0===d,style:N.navigationButton(0===d).base,onMouseEnter:t=>{0!==d&&Object.assign(t.currentTarget.style,N.navigationButton(!1).hover)},onMouseLeave:t=>{0!==d&&Object.assign(t.currentTarget.style,N.navigationButton(!1).base)},"aria-label":"Previous feature"},{children:t.jsx(n.default,{style:{transform:"rotate(180deg)"}})})),t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),b()},disabled:d===p-1,style:N.navigationButton(d===p-1).base,onMouseEnter:t=>{d!==p-1&&Object.assign(t.currentTarget.style,N.navigationButton(!1).hover)},onMouseLeave:t=>{d!==p-1&&Object.assign(t.currentTarget.style,N.navigationButton(d===p-1).base)},"aria-label":"Next feature"},{children:t.jsx(n.default,{})}))]}))]}))]}))]}))]}))}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),s=require("./constants/index.js");require("../../constants/Theme.js"),require("./constants/animations.js");var r=require("./styles/minorPopup.styles.js"),n=require("./utils/htmlHelpers.js"),i=require("./utils/animationHelpers.js"),a=require("./utils/elementHelpers.js");exports.default=l=>{let{feature:c,currentIndex:o,totalFeatures:u,onSkip:d,onExplore:g,onPrevious:j,onNext:T,setIsClosing:x}=l;const[y,f]=t.useState(!1),[h,m]=t.useState(!1),[E,p]=t.useState(""),b=t.useRef(null);t.useEffect((()=>{y&&m(!0)}),[y]);const O=r.getMinorPopupStyles(h,E);return e.jsxs("div",Object.assign({ref:b,style:O.container},{children:[e.jsx("div",Object.assign({style:O.imageContainer},{children:c.displayImage?e.jsxs("div",Object.assign({style:O.imageWrapper},{children:[e.jsx("img",{src:c.displayImage,alt:c.title,style:O.image,onError:e=>{c.image&&(e.target.src=c.image)}}),e.jsx("div",Object.assign({style:O.badge},{children:e.jsx("span",Object.assign({style:O.badgeText},{children:s.TEXT.NEW_FEATURE_BADGE}))}))]})):e.jsx("div",Object.assign({style:O.imagePlaceholder},{children:s.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:O.contentContainer},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:O.title},{children:c.title})),e.jsx("div",{style:O.content,dangerouslySetInnerHTML:{__html:n.decodeHTMLEntities(c.content||c.body||"")}})]}),e.jsxs("div",Object.assign({style:O.actionsContainer},{children:[e.jsx("span",Object.assign({onClick:()=>{(e=>{if(i.hideJoyrideArrow(b.current),b.current&&c.featureTag){const e=a.findFeatureTagElement(c.featureTag);if(e){const t=i.calculateCloseTransform(b.current,e);p(t)}else p("scale(0)")}else p("scale(0)");null==x||x(!0),f(!0),i.executeAfterAnimation(e)})(d)},style:O.understoodText},{children:s.TEXT.UNDERSTOOD})),c.productVideo&&e.jsx("button",Object.assign({onClick:()=>{if(g(),i.hideJoyrideArrow(b.current),b.current&&c.featureTag){const e=c.featureTag.startsWith("#")||c.featureTag.startsWith(".")||c.featureTag.startsWith("[")?c.featureTag:`#${c.featureTag}`,t=document.querySelector(e);if(t){const e=i.calculateCloseTransform(b.current,t);p(e)}else p("scale(0)")}else p("scale(0)");null==x||x(!0),f(!0)},style:O.exploreButton},{children:c.buttonText||s.TEXT.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("./constants/index.js");require("../../constants/Theme.js"),require("./constants/animations.js");var n=require("./styles/minorPopup.styles.js"),s=require("./utils/htmlHelpers.js"),i=require("./utils/animationHelpers.js"),o=require("./utils/elementHelpers.js");exports.default=l=>{let{feature:a,currentIndex:c,totalFeatures:u,onSkip:d,onExplore:p,onPrevious:f,onNext:g,setIsClosing:y}=l;var j,v;const[h,T]=t.useState(!1),[x,m]=t.useState(!1),[b,E]=t.useState(""),O=t.useRef(null);t.useEffect((()=>{h&&m(!0)}),[h]);const q=n.getMinorPopupStyles(x,b);return e.jsxs("div",Object.assign({ref:O,style:q.container},{children:[e.jsx("div",Object.assign({style:q.imageContainer},{children:a.displayImage?e.jsx("div",Object.assign({style:q.imageWrapper},{children:e.jsx("img",{src:a.displayImage,alt:a.title,style:q.image,onError:e=>{a.image&&(e.target.src=a.image)}})})):e.jsx("div",Object.assign({style:q.imagePlaceholder},{children:r.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:q.contentContainer},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:q.title},{children:a.title})),e.jsx("div",{style:q.content,dangerouslySetInnerHTML:{__html:s.decodeHTMLEntities(a.content||a.body||"")}})]}),e.jsxs("div",Object.assign({style:q.actionsContainer},{children:[(null===(j=a.secondaryButton)||void 0===j?void 0:j.text)&&e.jsx("span",Object.assign({onClick:()=>{var e,t,r;const n=null===(e=a.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===n){const e=null===(t=a.secondaryButton)||void 0===t?void 0:t.redirectionUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else"Close popup"!==n&&""!==n||null===(r=a.secondaryButton)||void 0===r||r.action;if(i.hideJoyrideArrow(O.current),O.current&&a.featureTag){const e=o.findFeatureTagElement(a.featureTag);if(e){const t=i.calculateCloseTransform(O.current,e);E(t)}else E("scale(0)")}else E("scale(0)");null==y||y(!0),T(!0)},style:q.understoodText},{children:a.secondaryButton.text})),e.jsx("button",Object.assign({onClick:()=>{var e,t;const r=null===(e=a.primaryButton)||void 0===e?void 0:e.action;if("Play Video"===r)p();else if("Open link"===r){const e=(null===(t=a.primaryButton)||void 0===t?void 0:t.redirectionUrl)||a.redirectUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else p();if(i.hideJoyrideArrow(O.current),O.current&&a.featureTag){const e=a.featureTag.startsWith("#")||a.featureTag.startsWith(".")||a.featureTag.startsWith("[")?a.featureTag:`#${a.featureTag}`,t=document.querySelector(e);if(t){const e=i.calculateCloseTransform(O.current,t);E(e)}else E("scale(0)")}else E("scale(0)");null==y||y(!0),T(!0)},style:q.exploreButton},{children:(null===(v=a.primaryButton)||void 0===v?void 0:v.text)||a.buttonText||r.TEXT.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};
@@ -4,8 +4,6 @@ export declare const getMinorPopupStyles: (startAnimation: boolean, transform: s
4
4
  imageContainer: CSSProperties;
5
5
  imageWrapper: CSSProperties;
6
6
  image: CSSProperties;
7
- badge: CSSProperties;
8
- badgeText: CSSProperties;
9
7
  imagePlaceholder: CSSProperties;
10
8
  contentContainer: CSSProperties;
11
9
  title: CSSProperties;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../constants/Theme.js"),t=require("../constants/animations.js"),i=require("../constants/dimensions.js"),o=require("../constants/zIndex.js");exports.getMinorPopupStyles=(n,a)=>({container:{width:`${i.POPUP_DIMENSIONS.MINOR.width}px`,height:`${i.POPUP_DIMENSIONS.MINOR.height}px`,display:"flex",backgroundColor:e.BASE_COLORS.grayscale.white,borderRadius:i.BORDER_RADIUS.POPUP,overflow:"hidden",position:"relative",boxShadow:"0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04)",transform:n?a:"scale(1)",opacity:n?0:1,transition:t.POPUP_TRANSITION},imageContainer:{backgroundColor:e.BASE_COLORS.grayscale[50],borderRadius:i.BORDER_RADIUS.IMAGE,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",margin:i.SPACING.MINOR.imageMargin,width:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,minWidth:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,maxWidth:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,height:`${i.POPUP_DIMENSIONS.MINOR.imageHeight}px`},imageWrapper:{position:"relative",width:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,height:`${i.POPUP_DIMENSIONS.MINOR.imageHeight}px`},image:{width:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,height:`${i.POPUP_DIMENSIONS.MINOR.imageHeight}px`,objectFit:"cover",borderRadius:i.BORDER_RADIUS.IMAGE,display:"block"},badge:{position:"absolute",top:"0px",left:"0px",right:"0px",height:`${i.POPUP_DIMENSIONS.MINOR.badgeHeight}px`,backgroundColor:"rgba(0, 0, 0, 0.26)",borderRadius:`${i.BORDER_RADIUS.IMAGE} ${i.BORDER_RADIUS.IMAGE} ${i.BORDER_RADIUS.IMAGE} ${i.BORDER_RADIUS.IMAGE}`,display:"flex",alignItems:"center",justifyContent:"center",zIndex:o.Z_INDEX.IMAGE_BADGE},badgeText:{color:e.BASE_COLORS.grayscale.white,fontWeight:"600",fontSize:"14px"},imagePlaceholder:{color:e.BASE_COLORS.grayscale[500],fontSize:"14px",textAlign:"center",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:e.BASE_COLORS.grayscale[100],borderRadius:i.BORDER_RADIUS.IMAGE},contentContainer:{flex:1,display:"flex",margin:i.SPACING.MINOR.contentMargin,flexDirection:"column",justifyContent:"space-between",background:"transparent"},title:{fontSize:"16px",fontWeight:"600",padding:"0 0 0 0",color:e.BASE_COLORS.grayscale[900],lineHeight:"1.25",textAlign:"left"},content:{fontSize:"12px",fontWeight:"400",lineHeight:"1.2",color:e.BASE_COLORS.grayscale[700],textAlign:"left",maxHeight:"48px",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},actionsContainer:{position:"absolute",bottom:i.SPACING.MINOR.actionsBottom,right:i.SPACING.MINOR.actionsRight,display:"flex",gap:i.SPACING.MINOR.actionsGap,alignItems:"center"},understoodText:{color:e.BASE_COLORS.brand[800],fontSize:"14px",fontWeight:"500",cursor:"pointer",transition:"all 0.2s"},exploreButton:{backgroundColor:e.BASE_COLORS.brand[800],border:"none",color:e.BASE_COLORS.grayscale.white,borderRadius:i.BORDER_RADIUS.BUTTON,fontSize:"14px",fontWeight:"600",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center"}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../constants/Theme.js"),t=require("../constants/animations.js"),i=require("../constants/dimensions.js");exports.getMinorPopupStyles=(n,o)=>({container:{width:`${i.POPUP_DIMENSIONS.MINOR.width}px`,height:`${i.POPUP_DIMENSIONS.MINOR.height}px`,display:"flex",backgroundColor:e.BASE_COLORS.grayscale.white,borderRadius:i.BORDER_RADIUS.POPUP,overflow:"hidden",position:"relative",boxShadow:"0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04)",transform:n?o:"scale(1)",opacity:n?0:1,transition:t.POPUP_TRANSITION},imageContainer:{backgroundColor:e.BASE_COLORS.grayscale[50],borderRadius:i.BORDER_RADIUS.IMAGE,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",margin:i.SPACING.MINOR.imageMargin,width:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,minWidth:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,maxWidth:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,height:`${i.POPUP_DIMENSIONS.MINOR.imageHeight}px`},imageWrapper:{position:"relative",width:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,height:`${i.POPUP_DIMENSIONS.MINOR.imageHeight}px`},image:{width:`${i.POPUP_DIMENSIONS.MINOR.imageWidth}px`,height:`${i.POPUP_DIMENSIONS.MINOR.imageHeight}px`,objectFit:"cover",borderRadius:i.BORDER_RADIUS.IMAGE,display:"block"},imagePlaceholder:{color:e.BASE_COLORS.grayscale[500],fontSize:"14px",textAlign:"center",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:e.BASE_COLORS.grayscale[100],borderRadius:i.BORDER_RADIUS.IMAGE},contentContainer:{flex:1,display:"flex",margin:i.SPACING.MINOR.contentMargin,flexDirection:"column",justifyContent:"space-between",background:"transparent"},title:{fontSize:"16px",fontWeight:"600",padding:"0 0 0 0",color:e.BASE_COLORS.grayscale[900],lineHeight:"1.25",textAlign:"left"},content:{fontSize:"12px",fontWeight:"400",lineHeight:"1.2",color:e.BASE_COLORS.grayscale[700],textAlign:"left",maxHeight:"48px",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},actionsContainer:{position:"absolute",bottom:i.SPACING.MINOR.actionsBottom,right:i.SPACING.MINOR.actionsRight,display:"flex",gap:i.SPACING.MINOR.actionsGap,alignItems:"center"},understoodText:{color:e.BASE_COLORS.brand[800],fontSize:"14px",fontWeight:"500",cursor:"pointer",transition:"all 0.2s"},exploreButton:{backgroundColor:e.BASE_COLORS.brand[800],border:"none",color:e.BASE_COLORS.grayscale.white,borderRadius:i.BORDER_RADIUS.BUTTON,fontSize:"14px",fontWeight:"600",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center"}});
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const Menus: ({
2
3
  displayName: string;
3
4
  key: number;
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsxs as t,jsx as i,Fragment as o}from"react/jsx-runtime";import{useState as r,useEffect as d}from"react";import{toast as s}from"react-toastify";import{Container as c,Header as n,TitleSection as a,Title as l,LanguageBadge as m,CopyButton as h,CodeContainer as p,LineNumbers as g,Code as f}from"./CodeBlock.styled.js";import{highlightCode as u}from"./CodeBlockHelper.js";import{CodeLanguage as b}from"./types.js";const j=j=>{let{code:v="",language:y=b.JAVASCRIPT,title:C="",hideLineNumbers:x=!1,maxHeight:O="400px",maxWidth:M,theme:H="dark",hideHeader:k=!1,hideCopy:_=!1}=j;const[L,T]=r(!1),[w,B]=r(v);d((()=>{let t=!0;return e(void 0,void 0,void 0,(function*(){try{const e=yield import(`./languageSpecificFormatting/${y}_file.ts`);if((null==e?void 0:e.format)&&t)return void B(e.format(v))}catch(e){}t&&B(v)})),()=>{t=!1}}),[v,y]);const F=w.split("\n");return t(c,Object.assign({themeMode:H,maxWidth:M},{children:[!k&&t(n,Object.assign({themeMode:H},{children:[t(a,{children:[!!C&&C&&i(l,Object.assign({themeMode:H},{children:C})),i(m,Object.assign({bg:(S=y,{javascript:"#FEC02D",python:"#3776ab",java:"#ed8b00",css:"#1572b6",html:"#e34c26",json:"#000000"}[S.toLowerCase()]||("dark"===H?"#6e7681":"#656d76")),color:(e=>{const t={javascript:"#000"};return(null==t?void 0:t[e.toLowerCase()])||"#fff"})(y)},{children:y}))]}),!_&&i(h,Object.assign({themeMode:H,onClick:()=>e(void 0,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(v),T(!0),s.success("Code copied to clipboard!",{position:"top-right",autoClose:2e3,hideProgressBar:!0}),setTimeout((()=>T(!1)),2e3)}catch(e){s.error("Failed to copy code",{position:"top-right",autoClose:2e3})}}))},{children:i(o,L?{children:"✓ Copied"}:{children:"Copy"})}))]})),t(p,Object.assign({maxHeight:O},{children:[!x&&i(g,Object.assign({themeMode:H},{children:F.map(((e,t)=>i("div",{children:t+1},t)))})),i(f,Object.assign({themeMode:H},{children:F.map(((e,t)=>i("div",{style:{minHeight:e.trim()?"20px":"0px"},dangerouslySetInnerHTML:{__html:u(e,y,H)||"&nbsp;"}},t)))}))]}))]}));var S};export{j as CodeBlock};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as i}from"react/jsx-runtime";import{useState as r,useEffect as s}from"react";import{Toaster as c}from"../toaster/Toaster.js";import{Container as d,Header as n,TitleSection as a,Title as l,LanguageBadge as m,CopyButton as h,CodeContainer as p,LineNumbers as g,Code as u}from"./CodeBlock.styled.js";import{highlightCode as j}from"./CodeBlockHelper.js";import{CodeLanguage as b}from"./types.js";const f=f=>{let{code:v="",language:y=b.JAVASCRIPT,title:C="",hideLineNumbers:x=!1,maxHeight:O="400px",maxWidth:M,theme:H="dark",hideHeader:T=!1,hideCopy:k=!1}=f;const[_,L]=r(!1),[w,B]=r(!1),[F,S]=r("success"),[A,I]=r(v);s((()=>{let t=!0;return e(void 0,void 0,void 0,(function*(){try{const e=yield import(`./languageSpecificFormatting/${y}_file.ts`);if((null==e?void 0:e.format)&&t)return void I(e.format(v))}catch(e){}t&&I(v)})),()=>{t=!1}}),[v,y]);const P=A.split("\n");return t(d,Object.assign({themeMode:H,maxWidth:M},{children:[!T&&t(n,Object.assign({themeMode:H},{children:[t(a,{children:[!!C&&C&&o(l,Object.assign({themeMode:H},{children:C})),o(m,Object.assign({bg:(W=y,{javascript:"#FEC02D",python:"#3776ab",java:"#ed8b00",css:"#1572b6",html:"#e34c26",json:"#000000"}[W.toLowerCase()]||("dark"===H?"#6e7681":"#656d76")),color:(e=>{const t={javascript:"#000"};return(null==t?void 0:t[e.toLowerCase()])||"#fff"})(y)},{children:y}))]}),!k&&o(h,Object.assign({themeMode:H,onClick:()=>e(void 0,void 0,void 0,(function*(){try{yield navigator.clipboard.writeText(v),L(!0),S("success"),B(!0),setTimeout((()=>L(!1)),2e3)}catch(e){S("error"),B(!0)}}))},{children:o(i,_?{children:"✓ Copied"}:{children:"Copy"})}))]})),t(p,Object.assign({maxHeight:O},{children:[!x&&o(g,Object.assign({themeMode:H},{children:P.map(((e,t)=>o("div",{children:t+1},t)))})),o(u,Object.assign({themeMode:H},{children:P.map(((e,t)=>o("div",{style:{minHeight:e.trim()?"20px":"0px"},dangerouslySetInnerHTML:{__html:j(e,y,H)||"&nbsp;"}},t)))}))]})),w&&o(c,{text:"success"===F?"Code copied to clipboard!":"Failed to copy code",autoClose:2e3,type:F,hideProgressBar:!0,onCloseToast:()=>B(!1)})]}));var W};export{f as CodeBlock};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as t}from"react/jsx-runtime";import{ApplicationType as o}from"@bikdotai/bik-models/growth/models/bik-store";import{useState as n,useEffect as l}from"react";import{DISCOUNT_TYPES as r,MIN_PURCHASE_REQUIREMENT as d,DISCOUNT_APPLIES_TO as a,OFFER_APPLIES_TO as c,initialStaticCouponErrorState as s,initialDynamicCouponErrorState as u,COUPON_EXPIRATION as p,DISCOUNT_TARGET_TYPES as C,DISCOUNT_TARGET_SELECTION as b,DISCOUNT_VALUE_TYPES as v}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as y}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as P,BodyCaption as m,TitleRegular as I}from"../TypographyStyle.js";import{DEFAULT_THEME as O}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as S}from"../modals/styledModal.js";import{ProductPickerContent as h}from"../product-picker/ProductPickerModal.js";import{Tag as E}from"../tag/Tag.js";import{Tooltip as T}from"../tooltips/Tooltip.js";import f from"../../assets/icons/gift_icon.svg.js";import g from"../../assets/icons/percentage_icon.svg.js";import V from"../../assets/icons/shipping_icon.svg.js";import D from"../../assets/icons/triangle_error.svg.js";import _ from"../../assets/icons/warning.svg.js";import{ProductPickerModal as A}from"../product-picker-v2/modal.js";import"../product-picker-v2/type.js";import{PickerType as N}from"../variable-picker-v3/model.js";import{VariablePicker as k}from"../variable-picker-v3/VariablePicker.js";import{StyledDiscountDialogueContainer as j,CouponTypeContainerStyled as F,VariablePickerContainer as x}from"./DiscountModal.styled.js";import{validateDiscountData as R,descriptionBuilder as M}from"./DiscountUtils.js";import w,{DISCOUNT_PRODUCTS as q}from"./DynamicCoupon/DynamicCoupon.js";import U from"./StaticCoupon/StaticCoupon.js";const L=L=>{var B,G,Y,X,Q,H,z,K,$,Z,J;const W=[{id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:L.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e(g,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:r.BUY_X_GET_Y,icon:i=>e(f,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:r.FREE_SHIPPING,icon:i=>e(V,{width:24,height:24,color:i})}],[ee,ie]=n(),[te,oe]=n(),[ne,le]=n(),[re,de]=n(null!==(B=L.data)&&void 0!==B?B:"string"==typeof L.hideOption?{isStaticCoupon:"dynamic"===L.hideOption}:{isStaticCoupon:!0}),[ae,ce]=n(!0),[se,ue]=n(),[pe,Ce]=n((null===(G=L.data)||void 0===G?void 0:G.minAmount)?d.AMOUNT:(null===(Y=L.data)||void 0===Y?void 0:Y.minQuantity)?d.QUANTITY:d.NA),[be,ve]=n(a.ENTIRE_ORDER),[ye,Pe]=n(c.SPECIFIC_PRODUCTS),[me,Ie]=n(c.SPECIFIC_PRODUCTS),[Oe,Se]=n(void 0),[he,Ee]=n(void 0),[Te,fe]=n(void 0),[ge,Ve]=n(void 0),[De,_e]=n(void 0),[Ae,Ne]=n(void 0),[ke,je]=n(0),[Fe,xe]=n(""),[Re,Me]=n(W[0]),[we,qe]=n(!1),[Ue,Le]=n(s),[Be,Ge]=n(u),[Ye,Xe]=n(L.getDetailedDescription?p.FIXED_EXPIRATION:p.DYNAMIC_EXPIRATION),Qe=[{value:r.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:se===r.AMOUNT_OFF_ORDER},{value:r.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:se===r.AMOUNT_OFF_PRODUCTS},{value:r.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:se===r.BUY_X_GET_Y},{value:r.FREE_SHIPPING,label:"Free shipping",selected:se===r.FREE_SHIPPING}];l((()=>{L.makeExpiryMandatory&&qe(!0)}),[L.makeExpiryMandatory]),l((()=>{var e,i,t,o,n,l,d,s;let u;const{tempCouponData:C,discountType:b}=He();ue(b);const y=(e,i)=>{Me(C.valueType===v.FIXED_AMOUNT?W[e]:W[i])},P=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==C?void 0:C.expireAfter)||(null==C?void 0:C.expireAt))&&(qe(!0),(null==C?void 0:C.expireAt)&&Xe(p.FIXED_EXPIRATION),(null==C?void 0:C.expireAfter)&&Xe(p.DYNAMIC_EXPIRATION)),b){case r.AMOUNT_OFF_ORDER:y(0,1),ve(a.ENTIRE_ORDER);break;case r.AMOUNT_OFF_PRODUCTS:y(0,1),(null===(e=C.entitledCollectionIds)||void 0===e?void 0:e.length)?ve(a.SPECIFIC_COLLECTIONS):(null===(i=C.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=C.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(ve(a.SPECIFIC_PRODUCTS),P(null===(o=C.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,Ve)):ve(a.ENTIRE_ORDER);break;case r.BUY_X_GET_Y:Me(W[2]),(null===(n=C.entitledCollectionIds)||void 0===n?void 0:n.length)?Ie(c.SPECIFIC_COLLECTIONS):(Ie(c.SPECIFIC_PRODUCTS),P(null===(l=C.productVariableConf)||void 0===l?void 0:l.entitledProductVariable,Ve)),(null===(d=C.prerequisiteCollectionIds)||void 0===d?void 0:d.length)?Pe(c.SPECIFIC_COLLECTIONS):(Pe(c.SPECIFIC_PRODUCTS),P(null===(s=C.productVariableConf)||void 0===s?void 0:s.prerequisiteProductVariable,_e));break;case r.FREE_SHIPPING:Me(W[3])}de(Object.assign({},C)),L.hideProbability||(u=$e()),ce(R(C,pe,b,L.hideProbability||!1,u,!!C.isStaticCoupon,L.getDetailedDescription||!1)),L.hideProbability||$e()}),[]),l((()=>{let e;L.hideProbability||(e=$e()),ce(R(re,pe,se,L.hideProbability||!1,e,!!re.isStaticCoupon,L.getDetailedDescription||!1))}),[re,ke,se,pe]),l((()=>{var e,i,t,o,n,l,r;if(!L.newPickerConf&&((null===(e=L.products)||void 0===e?void 0:e.length)||(null===(i=L.collection)||void 0===i?void 0:i.length))){if(L.products&&(null===(t=L.products)||void 0===t?void 0:t.length)){if(null===(o=L.data)||void 0===o?void 0:o.entitledProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ee(e)}if(null===(n=L.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Se(e)}}if(L.collection&&L.collection.length){if(null===(l=L.data)||void 0===l?void 0:l.entitledCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ne(e)}if(null===(r=L.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));fe(e)}}}}),[L.products,L.collection]),l((()=>{var e,i,t,o,n,l,r,d;(null===(i=null===(e=L.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&Ee(L.data.productsConf.entitledProducts),(null===(o=null===(t=L.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&Se(L.data.productsConf.prerequisiteProducts),(null===(l=null===(n=L.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Ne(L.data.collectionsConf.entitledCollections),(null===(d=null===(r=L.data)||void 0===r?void 0:r.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&fe(L.data.collectionsConf.prerequisiteCollections)}),[null===(X=L.data)||void 0===X?void 0:X.productsConf,null===(Q=L.data)||void 0===Q?void 0:Q.collectionsConf]),l((()=>{if(!he)return;if(L.newPickerConf){const e=[];return Object.values(he).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}const e=he.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}),[he]),l((()=>{if(!Oe)return;if(L.newPickerConf){const e=[];return Object.values(Oe).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}const e=Oe.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}),[Oe]),l((()=>{if(!Ae)return;if(L.newPickerConf){(null==Ae?void 0:Ae.isCustom)&&delete Ae.isCustom;const e=Object.keys(Ae).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}const e=Ae.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}),[Ae]),l((()=>{if(!Te)return;if(L.newPickerConf){(null==Te?void 0:Te.isCustom)&&delete Te.isCustom;const e=Object.keys(Te).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}const e=Te.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}),[Te]);const He=()=>{var e,i,t,o;let n,l=re;return re.isStaticCoupon?re.isStaticCoupon&&L.getDetailedDescription&&(re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(t=re.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(o=re.prerequisiteCollectionIds)||void 0===o?void 0:o.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER)):re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(e=re.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=re.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER),{discountType:n,tempCouponData:l}},ze=()=>{Le(s),Ge(u)},Ke=e=>{var i;const t={invalidDiscountCode:"Please add Discount Code",invalidCouponTitle:"Please add Discount Coupon Title",invalidCouponDescription:"Please add Coupon Description",inValidProbability:e.inValidProbability&&(null!==(i=re.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":re.isStaticCoupon?"Please add Probability":"Probability should be greater than 0",inValidDiscountAmount:"Please add Discount Amount",inValidMinimumAmount:"Specify minimum amount required",inValidMinimumQuantity:"Specify minimum items required",inValidCouponExpiry:"Please add Coupon Expiry",inValidProductSelection:"Please specify the products",inValidProductVariableSelection:"Please specify the product variables",inValidCollectionSelection:"Please specify the collections",inValidBuyXValue:"Please specify buy product quantity",inValidGetYValue:"Please specify get product quantity",inValidBuyXProductSelection:"Please specify the products",inValidBuyXCollectionSelection:"Please specify the collections",inValidGetYProductSelection:"Please specify the products",inValidGetYCollectionSelection:"Please specify the collections",inValidBuyXProductVariableSelection:"Please specify the product variables",inValidGetYProductVariableSelection:"Please specify the product variables"};let o="";Object.keys(e).forEach((i=>{e[i]&&(o=t[i])}));const n=Object.values(e).filter(Boolean).length;return n>0&&(xe(n>1?"Please add discount details":o),!0)},$e=()=>{if(!L.quadrant||!L.probability)return;const e=[...L.probability];let i=[];e.length>=L.quadrant&&e.splice(L.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(re.probability||0);return je(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Ze=e=>{var i,t,o,n,l,d,a,c,s,u,p,y,P,m,I,O;const S=e.value;ue(S),Se([]),Ee([]),fe([]),Ne([]),S===r.FREE_SHIPPING?de({value:100,targetSelection:b.ALL,targetType:C.SHIPPING_LINE,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(i=re.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=re.expireAfter)&&void 0!==t?t:void 0,probability:re.probability,minQuantity:null!==(o=re.minQuantity)&&void 0!==o?o:void 0,minAmount:null!==(n=re.minAmount)&&void 0!==n?n:void 0}):S===r.BUY_X_GET_Y?de({value:100,targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(l=re.expireAt)&&void 0!==l?l:void 0,expireAfter:null!==(d=re.expireAfter)&&void 0!==d?d:void 0,probability:re.probability,minQuantity:void 0,minAmount:void 0}):S===r.AMOUNT_OFF_ORDER?de({targetSelection:b.ALL,targetType:C.LINE_ITEM,valueType:null!==(a=re.valueType)&&void 0!==a?a:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(c=re.expireAt)&&void 0!==c?c:void 0,expireAfter:null!==(s=re.expireAfter)&&void 0!==s?s:void 0,probability:re.probability,value:re.value,minQuantity:null!==(u=re.minQuantity)&&void 0!==u?u:void 0,minAmount:null!==(p=re.minAmount)&&void 0!==p?p:void 0}):S===r.AMOUNT_OFF_PRODUCTS&&de({targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:null!==(y=re.valueType)&&void 0!==y?y:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(P=re.expireAt)&&void 0!==P?P:void 0,expireAfter:null!==(m=re.expireAfter)&&void 0!==m?m:void 0,probability:re.probability,value:re.value,minQuantity:null!==(I=re.minQuantity)&&void 0!==I?I:void 0,minAmount:null!==(O=re.minAmount)&&void 0!==O?O:void 0})},Je=i=>i&&e(E,{theme:"light",tagText:i,type:"negative",LeadingIcon:_});return i(S,Object.assign({width:(ne||ee)&&L.newPickerConf?"25px":"640px",open:L.isOpen,hideCrossButton:!!te,headingTitle:ee?"Select Products":L.title,headingSubtitle:ee?void 0:L.subTitle,footerLeftCustomElement:Fe?Je(Fe):L.errorMsg?Je(L.errorMsg):!L.quadrant||L.hideProbability?e(t,{}):ke<=1?e(E,{theme:"light",tagText:`Current probability sum: ${ke}`,type:"white"}):e(T,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e("div",{children:e(E,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${ke}`,type:"negative",LeadingIcon:D})})})),headerRightCustomElement:L.allowStaticCoupon||ee?void 0:e(y,{options:Qe,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Ze(e)}}),onClose:L.onClose,footerContainerStyle:{borderTop:`1px solid ${O.colorsV2.stroke.primary}`},primaryButton:ee?{buttonType:"primary",onClick:()=>{ie(void 0)},buttonText:"Add"}:ne?{buttonType:"primary",onClick:()=>{le(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(H=L.loading)&&void 0!==H&&H,onClick:()=>{var e,i,t,o,n,l,s,u,p,C;if(ze(),re.isStaticCoupon&&!L.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=re,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!L.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(Ke(r))return void Le(r);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:re.title})}else if(re.isStaticCoupon&&L.getDetailedDescription){const{isStaticCoupon:l,couponCode:s,title:u,quadrant:p,probability:C}=re,b={invalidDiscountCode:!s,invalidCouponTitle:!u,invalidCouponDescription:!1,inValidProbability:!L.hideProbability&&(null!=C?C:-1)<0||(null!=C?C:0)>1||Number.isNaN(null!=C?C:0)};if(Ke(b))return void Le(b);const v={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(e=re.probability)&&void 0!==e?e:-1)<=0||(null!==(i=re.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=re.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:e,minQuantity:i}=re;v.inValidMinimumAmount=pe===d.AMOUNT&&!e,v.inValidMinimumQuantity=pe===d.QUANTITY&&!i}if(we&&(v.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||ge||(v.inValidProductSelection=!0,v.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(v.inValidBuyXValue=!0),re.entitledQuantity||(v.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||De||(v.inValidBuyXProductSelection=!0,v.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(v.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||ge||(v.inValidGetYProductSelection=!0,v.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidGetYCollectionSelection=!0)),Ke(v))return void Ge(v);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{couponCode:s,isStaticCoupon:l,quadrant:p,description:M(re,L.currency,null!==(o=L.products)&&void 0!==o?o:[],null!==(n=L.collection)&&void 0!==n?n:[]),productsConf:{entitledProducts:null!=he?he:[],prerequisiteProducts:null!=Oe?Oe:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}else{const e={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(l=re.probability)&&void 0!==l?l:-1)<=0||(null!==(s=re.probability)&&void 0!==s?s:-1)>1||Number.isNaN(null!==(u=re.probability)&&void 0!==u?u:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:i,minQuantity:t}=re;e.inValidMinimumAmount=pe===d.AMOUNT&&!i,e.inValidMinimumQuantity=pe===d.QUANTITY&&!t}if(we&&(e.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||ge||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(e.inValidBuyXValue=!0),re.entitledQuantity||(e.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||De||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(e.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||ge||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidGetYCollectionSelection=!0)),Ke(e))return void Ge(e);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{isStaticCoupon:re.isStaticCoupon,description:M(re,L.currency,null!==(p=L.products)&&void 0!==p?p:[],null!==(C=L.collection)&&void 0!==C?C:[]),productsConf:{entitledProducts:null!=he?he:[],prerequisiteProducts:null!=Oe?Oe:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}}},secondaryButton:ee?{buttonType:"tertiaryGray",onClick:()=>{ie(void 0)},buttonText:"Back"}:ne?{buttonType:"tertiaryGray",onClick:()=>{le(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:L.onClose,buttonText:"Cancel"}},{children:[!ee&&!ne&&i(j,{children:[L.allowStaticCoupon&&!ee&&!L.hideOption&&i(F,Object.assign({selectedDiv:re.isStaticCoupon?1:2},{children:["static"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{re.isStaticCoupon||(de({isStaticCoupon:!0,quadrant:re.quadrant}),xe(""),ze())}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?O.colorsV2.content.brand:void 0}},{children:"Static Code"})),e(m,Object.assign({style:re.isStaticCoupon?{color:O.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;re.isStaticCoupon&&(ue(r.AMOUNT_OFF_ORDER),de({isStaticCoupon:!1,quadrant:re.quadrant,targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),xe(""),ze(),Me({id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i}},{children:L.currency||""}))}),qe(null!==(i=L.makeExpiryMandatory)&&void 0!==i&&i),Ce(d.NA))}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?void 0:O.colorsV2.content.brand}},{children:"Dynamic Code"})),e(m,Object.assign({style:re.isStaticCoupon?{}:{color:O.colorsV2.content.brand}},{children:"Code will be unique for all customers, with the first 5 letters of the customer's name, followed by 10 random characters."}))]}))]})),!L.getDetailedDescription&&e(I,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",re.isStaticCoupon&&!ee&&!L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency}),re.isStaticCoupon&&!ee&&L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency,getDetailedDescription:!0,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideExpiration:L.hideExpiration||!1,onChangeCouponType:Ze,entitledProducts:null!=he?he:[],prerequisiteProducts:null!=Oe?Oe:[],setEntitledProducts:Ee,setPrerequisiteProducts:Se,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setEntitledCollections:Ne,setPrerequisiteCollections:fe,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setIsCollectionPickerOpen:le,productPickerOpen:ee,productVariablePickerOpen:te,collectionPickerOpen:ne,useNewPicker:!!L.newPickerConf,selectedDiscountDetails:Re,setSelectedDiscountDetails:Me,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory}),!re.isStaticCoupon&&!ee&&!ne&&e(w,{currency:L.currency,entitledProducts:null!=he?he:[],prerequisiteProducts:null!=Oe?Oe:[],setEntitledProducts:Ee,setPrerequisiteProducts:Se,discountData:re,productPickerOpen:ee,productVariablePickerOpen:te,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setDiscountData:de,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideProbability:L.hideProbability||!1,hideExpiration:L.hideExpiration||!1,allowStaticCoupon:L.allowStaticCoupon,onChangeCouponType:Ze,collectionPickerOpen:ne,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setIsCollectionPickerOpen:le,setEntitledCollections:Ne,setPrerequisiteCollections:fe,useNewPicker:!!L.newPickerConf,setSelectedDiscountDetails:Me,selectedDiscountDetails:Re,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory})]}),!!ee&&i(t,{children:[!L.newPickerConf&&e("div",Object.assign({style:{padding:"12px 0"}},{children:e(h,{show:!0,onSave:()=>{},products:null!==(z=L.products)&&void 0!==z?z:[],title:"Select Products",onClose:()=>{ie(void 0)},selectedProducts:null!==(K=ee===q.ENTITLED?he:Oe)&&void 0!==K?K:[],setSelectedProducts:ee===q.ENTITLED?Ee:Se,onSearchKeyChange:L.onProductSearch})})),L.newPickerConf&&e(A,{visible:!0,onClose:()=>ie(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.fetchCollections)?L.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=L.newPickerConf)||void 0===l?void 0:l.fetchProducts)?L.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:ee===q.ENTITLED?he:Oe,onAdd:e=>{ee===q.ENTITLED?Ee(e):Se(e),ie(void 0)},zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=L.newPickerConf)||void 0===n?void 0:n.searchInCollection)?L.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.searchProducts)?L.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!ne&&e("div",Object.assign({style:{padding:"12px 0"}},{children:i(t,{children:[L.newPickerConf&&e(A,{visible:!0,onClose:()=>le(void 0),collectionFetcher:L.newPickerConf.fetchCollections,productFetcher:L.newPickerConf.fetchProducts,selectedItems:ne===q.ENTITLED?Ae:Te,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),ne===q.ENTITLED?Ne(e):fe(e),le(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:L.newPickerConf.searchInCollection,searchFetcher:L.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0,pickerType:"COLLECTION"}),!L.newPickerConf&&e(h,{show:!0,onSave:()=>{},products:null!==($=L.collection)&&void 0!==$?$:[],title:"Select Products",onClose:()=>{le(void 0)},selectedProducts:null!==(Z=ne===q.ENTITLED?Ae:Te)&&void 0!==Z?Z:[],setSelectedProducts:ne===q.ENTITLED?Ne:fe,onSearchKeyChange:L.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),te&&e(x,{children:e("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e(k,{type:N.EMBEDDED,data:null!==(J=L.productVariableList)&&void 0!==J?J:[],showHeader:!0,onSelect:e=>{if(te===q.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;Ve({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}if(te===q.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;_e({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}},onClose:()=>{oe(void 0)}})}))})]}))};export{L as DiscountModal};
1
+ import{jsx as e,jsxs as i,Fragment as t}from"react/jsx-runtime";import{ApplicationType as o}from"@bikdotai/bik-models/growth/models/bik-store";import{useState as n,useEffect as l}from"react";import{DISCOUNT_TYPES as r,MIN_PURCHASE_REQUIREMENT as d,DISCOUNT_APPLIES_TO as a,OFFER_APPLIES_TO as c,initialStaticCouponErrorState as s,initialDynamicCouponErrorState as u,COUPON_EXPIRATION as p,DISCOUNT_TARGET_TYPES as C,DISCOUNT_TARGET_SELECTION as b,DISCOUNT_VALUE_TYPES as v}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as y}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as P,BodyCaption as m,TitleRegular as I}from"../TypographyStyle.js";import{DEFAULT_THEME as S}from"../../constants/Theme.js";import"../dropdown/OpenedDropdown/components/description/Description.styled.js";import"../checkBox/CheckBox.styled.js";import"../list-item/ListItem.js";import"../dropdown/OpenedDropdown/components/menu/FreeFormMenu.styled.js";import"../dropdown/OpenedDropdown/components/menu/MenuItem.js";import"../dropdown/OpenedDropdown/components/menu/MenuList.styled.js";import"../button/Button.js";import"../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import"../icon-button/IconButton.js";import"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as h}from"../modals/styledModal.js";import{ProductPickerContent as O}from"../product-picker/ProductPickerModal.js";import{Tag as E}from"../tag/Tag.js";import{Tooltip as T}from"../tooltips/Tooltip.js";import f from"../../assets/icons/gift_icon.svg.js";import g from"../../assets/icons/percentage_icon.svg.js";import V from"../../assets/icons/shipping_icon.svg.js";import D from"../../assets/icons/triangle_error.svg.js";import _ from"../../assets/icons/warning.svg.js";import{ProductPickerModal as A}from"../product-picker-v2/modal.js";import"../product-picker-v2/type.js";import{PickerType as N}from"../variable-picker-v3/model.js";import{VariablePicker as k}from"../variable-picker-v3/VariablePicker.js";import{StyledDiscountDialogueContainer as j,CouponTypeContainerStyled as F,VariablePickerContainer as x}from"./DiscountModal.styled.js";import{validateDiscountData as R,descriptionBuilder as M}from"./DiscountUtils.js";import w,{DISCOUNT_PRODUCTS as q}from"./DynamicCoupon/DynamicCoupon.js";import U from"./StaticCoupon/StaticCoupon.js";const L=L=>{var B,G,Y,X,Q,H,z,K,$,Z,J;const W=[{id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:L.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e(g,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:r.BUY_X_GET_Y,icon:i=>e(f,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:r.FREE_SHIPPING,icon:i=>e(V,{width:24,height:24,color:i})}],[ee,ie]=n(),[te,oe]=n(),[ne,le]=n(),[re,de]=n(null!==(B=L.data)&&void 0!==B?B:"string"==typeof L.hideOption?{isStaticCoupon:"dynamic"===L.hideOption}:{isStaticCoupon:!0}),[ae,ce]=n(!0),[se,ue]=n(),[pe,Ce]=n((null===(G=L.data)||void 0===G?void 0:G.minAmount)?d.AMOUNT:(null===(Y=L.data)||void 0===Y?void 0:Y.minQuantity)?d.QUANTITY:d.NA),[be,ve]=n(a.ENTIRE_ORDER),[ye,Pe]=n(c.SPECIFIC_PRODUCTS),[me,Ie]=n(c.SPECIFIC_PRODUCTS),[Se,he]=n(void 0),[Oe,Ee]=n(void 0),[Te,fe]=n(void 0),[ge,Ve]=n(void 0),[De,_e]=n(void 0),[Ae,Ne]=n(void 0),[ke,je]=n(0),[Fe,xe]=n(""),[Re,Me]=n(W[0]),[we,qe]=n(!1),[Ue,Le]=n(s),[Be,Ge]=n(u),[Ye,Xe]=n(L.getDetailedDescription?p.FIXED_EXPIRATION:p.DYNAMIC_EXPIRATION),Qe=[{value:r.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:se===r.AMOUNT_OFF_ORDER},{value:r.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:se===r.AMOUNT_OFF_PRODUCTS},{value:r.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:se===r.BUY_X_GET_Y},{value:r.FREE_SHIPPING,label:"Free shipping",selected:se===r.FREE_SHIPPING}];l((()=>{L.makeExpiryMandatory&&qe(!0)}),[L.makeExpiryMandatory]),l((()=>{var e,i,t,o,n,l,d,s;let u;const{tempCouponData:C,discountType:b}=He();ue(b);const y=(e,i)=>{Me(C.valueType===v.FIXED_AMOUNT?W[e]:W[i])},P=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==C?void 0:C.expireAfter)||(null==C?void 0:C.expireAt))&&(qe(!0),(null==C?void 0:C.expireAt)&&Xe(p.FIXED_EXPIRATION),(null==C?void 0:C.expireAfter)&&Xe(p.DYNAMIC_EXPIRATION)),b){case r.AMOUNT_OFF_ORDER:y(0,1),ve(a.ENTIRE_ORDER);break;case r.AMOUNT_OFF_PRODUCTS:y(0,1),(null===(e=C.entitledCollectionIds)||void 0===e?void 0:e.length)?ve(a.SPECIFIC_COLLECTIONS):(null===(i=C.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=C.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(ve(a.SPECIFIC_PRODUCTS),P(null===(o=C.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,Ve)):ve(a.ENTIRE_ORDER);break;case r.BUY_X_GET_Y:Me(W[2]),(null===(n=C.entitledCollectionIds)||void 0===n?void 0:n.length)?Ie(c.SPECIFIC_COLLECTIONS):(Ie(c.SPECIFIC_PRODUCTS),P(null===(l=C.productVariableConf)||void 0===l?void 0:l.entitledProductVariable,Ve)),(null===(d=C.prerequisiteCollectionIds)||void 0===d?void 0:d.length)?Pe(c.SPECIFIC_COLLECTIONS):(Pe(c.SPECIFIC_PRODUCTS),P(null===(s=C.productVariableConf)||void 0===s?void 0:s.prerequisiteProductVariable,_e));break;case r.FREE_SHIPPING:Me(W[3])}de(Object.assign({},C)),L.hideProbability||(u=$e()),ce(R(C,pe,b,L.hideProbability||!1,u,!!C.isStaticCoupon,L.getDetailedDescription||!1)),L.hideProbability||$e()}),[]),l((()=>{let e;L.hideProbability||(e=$e()),ce(R(re,pe,se,L.hideProbability||!1,e,!!re.isStaticCoupon,L.getDetailedDescription||!1))}),[re,ke,se,pe]),l((()=>{var e,i,t,o,n,l,r;if(!L.newPickerConf&&((null===(e=L.products)||void 0===e?void 0:e.length)||(null===(i=L.collection)||void 0===i?void 0:i.length))){if(L.products&&(null===(t=L.products)||void 0===t?void 0:t.length)){if(null===(o=L.data)||void 0===o?void 0:o.entitledProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ee(e)}if(null===(n=L.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=L.products.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));he(e)}}if(L.collection&&L.collection.length){if(null===(l=L.data)||void 0===l?void 0:l.entitledCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ne(e)}if(null===(r=L.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=L.collection.filter((e=>{var i,t;return null===(t=null===(i=L.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));fe(e)}}}}),[L.products,L.collection]),l((()=>{var e,i,t,o,n,l,r,d;(null===(i=null===(e=L.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&Ee(L.data.productsConf.entitledProducts),(null===(o=null===(t=L.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&he(L.data.productsConf.prerequisiteProducts),(null===(l=null===(n=L.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Ne(L.data.collectionsConf.entitledCollections),(null===(d=null===(r=L.data)||void 0===r?void 0:r.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&fe(L.data.collectionsConf.prerequisiteCollections)}),[null===(X=L.data)||void 0===X?void 0:X.productsConf,null===(Q=L.data)||void 0===Q?void 0:Q.collectionsConf]),l((()=>{if(!Oe)return;if(L.newPickerConf){const e=[];return Object.values(Oe).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}const e=Oe.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledProductIds:e}))}),[Oe]),l((()=>{if(!Se)return;if(L.newPickerConf){const e=[];return Object.values(Se).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}const e=Se.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}),[Se]),l((()=>{if(!Ae)return;if(L.newPickerConf){(null==Ae?void 0:Ae.isCustom)&&delete Ae.isCustom;const e=Object.keys(Ae).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}const e=Ae.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}),[Ae]),l((()=>{if(!Te)return;if(L.newPickerConf){(null==Te?void 0:Te.isCustom)&&delete Te.isCustom;const e=Object.keys(Te).map((e=>parseInt(e)));return void de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}const e=Te.map((e=>parseInt(e.id)));de(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}),[Te]);const He=()=>{var e,i,t,o;let n,l=re;return re.isStaticCoupon?re.isStaticCoupon&&L.getDetailedDescription&&(re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(t=re.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(o=re.prerequisiteCollectionIds)||void 0===o?void 0:o.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER)):re.targetType===C.SHIPPING_LINE?n=r.FREE_SHIPPING:re.targetType===C.LINE_ITEM?n=re.targetSelection===b.ENTITLED?(null===(e=re.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=re.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||re.prerequisiteQuantity||re.entitledQuantity?r.BUY_X_GET_Y:r.AMOUNT_OFF_PRODUCTS:r.AMOUNT_OFF_ORDER:(l=Object.assign(Object.assign({},l),{targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),n=r.AMOUNT_OFF_ORDER),{discountType:n,tempCouponData:l}},ze=()=>{Le(s),Ge(u)},Ke=e=>{var i;const t={invalidDiscountCode:"Please add Discount Code",invalidCouponTitle:"Please add Discount Coupon Title",invalidCouponDescription:"Please add Coupon Description",inValidProbability:e.inValidProbability&&(null!==(i=re.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":re.isStaticCoupon?"Please add Probability":"Probability should be greater than 0",inValidDiscountAmount:"Please add Discount Amount",inValidMinimumAmount:"Specify minimum amount required",inValidMinimumQuantity:"Specify minimum items required",inValidCouponExpiry:"Please add Coupon Expiry",inValidProductSelection:"Please specify the products",inValidProductVariableSelection:"Please specify the product variables",inValidCollectionSelection:"Please specify the collections",inValidBuyXValue:"Please specify buy product quantity",inValidGetYValue:"Please specify get product quantity",inValidBuyXProductSelection:"Please specify the products",inValidBuyXCollectionSelection:"Please specify the collections",inValidGetYProductSelection:"Please specify the products",inValidGetYCollectionSelection:"Please specify the collections",inValidBuyXProductVariableSelection:"Please specify the product variables",inValidGetYProductVariableSelection:"Please specify the product variables"};let o="";Object.keys(e).forEach((i=>{e[i]&&(o=t[i])}));const n=Object.values(e).filter(Boolean).length;return n>0&&(xe(n>1?"Please add discount details":o),!0)},$e=()=>{if(!L.quadrant||!L.probability)return;const e=[...L.probability];let i=[];e.length>=L.quadrant&&e.splice(L.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(re.probability||0);return je(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Ze=e=>{var i,t,o,n,l,d,a,c,s,u,p,y,P,m,I,S;const h=e.value;ue(h),he([]),Ee([]),fe([]),Ne([]),h===r.FREE_SHIPPING?de({value:100,targetSelection:b.ALL,targetType:C.SHIPPING_LINE,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(i=re.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=re.expireAfter)&&void 0!==t?t:void 0,probability:re.probability,minQuantity:null!==(o=re.minQuantity)&&void 0!==o?o:void 0,minAmount:null!==(n=re.minAmount)&&void 0!==n?n:void 0}):h===r.BUY_X_GET_Y?de({value:100,targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:v.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(l=re.expireAt)&&void 0!==l?l:void 0,expireAfter:null!==(d=re.expireAfter)&&void 0!==d?d:void 0,probability:re.probability,minQuantity:void 0,minAmount:void 0}):h===r.AMOUNT_OFF_ORDER?de({targetSelection:b.ALL,targetType:C.LINE_ITEM,valueType:null!==(a=re.valueType)&&void 0!==a?a:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(c=re.expireAt)&&void 0!==c?c:void 0,expireAfter:null!==(s=re.expireAfter)&&void 0!==s?s:void 0,probability:re.probability,value:re.value,minQuantity:null!==(u=re.minQuantity)&&void 0!==u?u:void 0,minAmount:null!==(p=re.minAmount)&&void 0!==p?p:void 0}):h===r.AMOUNT_OFF_PRODUCTS&&de({targetSelection:b.ENTITLED,targetType:C.LINE_ITEM,valueType:null!==(y=re.valueType)&&void 0!==y?y:v.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!!L.getDetailedDescription,title:re.title,couponCode:L.getDetailedDescription?re.couponCode:void 0,expireAt:null!==(P=re.expireAt)&&void 0!==P?P:void 0,expireAfter:null!==(m=re.expireAfter)&&void 0!==m?m:void 0,probability:re.probability,value:re.value,minQuantity:null!==(I=re.minQuantity)&&void 0!==I?I:void 0,minAmount:null!==(S=re.minAmount)&&void 0!==S?S:void 0})},Je=i=>i&&e(E,{theme:"light",tagText:i,type:"negative",LeadingIcon:_});return i(h,Object.assign({width:(ne||ee)&&L.newPickerConf?"25px":"640px",open:L.isOpen,hideCrossButton:!!te,headingTitle:ee?"Select Products":L.title,headingSubtitle:ee?void 0:L.subTitle,footerLeftCustomElement:Fe?Je(Fe):L.errorMsg?Je(L.errorMsg):!L.quadrant||L.hideProbability?e(t,{}):ke<=1?e(E,{theme:"light",tagText:`Current probability sum: ${ke}`,type:"white"}):e(T,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e("div",{children:e(E,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${ke}`,type:"negative",LeadingIcon:D})})})),headerRightCustomElement:L.allowStaticCoupon||ee?void 0:e(y,{options:Qe,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Ze(e)}}),onClose:L.onClose,footerContainerStyle:{borderTop:`1px solid ${S.colorsV2.stroke.primary}`},primaryButton:ee?{buttonType:"primary",onClick:()=>{ie(void 0)},buttonText:"Add"}:ne?{buttonType:"primary",onClick:()=>{le(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(H=L.loading)&&void 0!==H&&H,onClick:()=>{var e,i,t,o,n,l,s,u,p,C;if(ze(),re.isStaticCoupon&&!L.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=re,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!L.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(Ke(r))return void Le(r);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:re.title})}else if(re.isStaticCoupon&&L.getDetailedDescription){const{isStaticCoupon:l,couponCode:s,title:u,quadrant:p,probability:C}=re,b={invalidDiscountCode:!s,invalidCouponTitle:!u,invalidCouponDescription:!1,inValidProbability:!L.hideProbability&&(null!=C?C:-1)<0||(null!=C?C:0)>1||Number.isNaN(null!=C?C:0)};if(Ke(b))return void Le(b);const v={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(e=re.probability)&&void 0!==e?e:-1)<=0||(null!==(i=re.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=re.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:e,minQuantity:i}=re;v.inValidMinimumAmount=pe===d.AMOUNT&&!e,v.inValidMinimumQuantity=pe===d.QUANTITY&&!i}if(we&&(v.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(v.inValidProductSelection=!0,v.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(v.inValidBuyXValue=!0),re.entitledQuantity||(v.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!Se||Object.keys(Se).length||De||(v.inValidBuyXProductSelection=!0,v.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(v.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(v.inValidGetYProductSelection=!0,v.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(v.inValidGetYCollectionSelection=!0)),Ke(v))return void Ge(v);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{couponCode:s,isStaticCoupon:l,quadrant:p,description:M(re,L.currency,null!==(o=L.products)&&void 0!==o?o:[],null!==(n=L.collection)&&void 0!==n?n:[]),productsConf:{entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}else{const e={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(l=re.probability)&&void 0!==l?l:-1)<=0||(null!==(s=re.probability)&&void 0!==s?s:-1)>1||Number.isNaN(null!==(u=re.probability)&&void 0!==u?u:-1),inValidDiscountAmount:!re.value,inValidMinimumQuantity:!1,inValidMinimumAmount:!1,inValidCouponExpiry:!1,inValidProductSelection:!1,inValidProductVariableSelection:!1,inValidCollectionSelection:!1,inValidBuyXValue:!1,inValidGetYValue:!1,inValidBuyXProductSelection:!1,inValidGetYProductSelection:!1,inValidBuyXCollectionSelection:!1,inValidGetYCollectionSelection:!1,inValidBuyXProductVariableSelection:!1,inValidGetYProductVariableSelection:!1};if(se!==r.BUY_X_GET_Y&&pe!==d.NA){const{minAmount:i,minQuantity:t}=re;e.inValidMinimumAmount=pe===d.AMOUNT&&!i,e.inValidMinimumQuantity=pe===d.QUANTITY&&!t}if(we&&(e.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),se!==r.AMOUNT_OFF_ORDER&&se!==r.AMOUNT_OFF_PRODUCTS||(be!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),be===a.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidCollectionSelection=!0)),se===r.BUY_X_GET_Y&&(re.prerequisiteQuantity||(e.inValidBuyXValue=!0),re.entitledQuantity||(e.inValidGetYValue=!0),ye!==c.SPECIFIC_PRODUCTS||!Se||Object.keys(Se).length||De||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),ye===c.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(e.inValidBuyXCollectionSelection=!0),me!==c.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||ge||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),me===c.SPECIFIC_COLLECTIONS&&Ae&&!Object.keys(Ae).length&&(e.inValidGetYCollectionSelection=!0)),Ke(e))return void Ge(e);if(ae||ke>1)return void xe(!L.hideProbability&&ke>1?"Probability sum should not exceed 1":"Invalid coupon details");L.onSaveClicked(Object.assign(Object.assign({},re),{isStaticCoupon:re.isStaticCoupon,description:M(re,L.currency,null!==(p=L.products)&&void 0!==p?p:[],null!==(C=L.collection)&&void 0!==C?C:[]),productsConf:{entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[]},collectionsConf:{entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=De?De:{}}}))}}},secondaryButton:ee?{buttonType:"tertiaryGray",onClick:()=>{ie(void 0)},buttonText:"Back"}:ne?{buttonType:"tertiaryGray",onClick:()=>{le(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:L.onClose,buttonText:"Cancel"}},{children:[!ee&&!ne&&i(j,{children:[L.allowStaticCoupon&&!ee&&!L.hideOption&&i(F,Object.assign({selectedDiv:re.isStaticCoupon?1:2},{children:["static"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{re.isStaticCoupon||(de({isStaticCoupon:!0,quadrant:re.quadrant}),xe(""),ze())}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?S.colorsV2.content.brand:void 0}},{children:"Static Code"})),e(m,Object.assign({style:re.isStaticCoupon?{color:S.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===L.hideOption?e(t,{}):i("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;re.isStaticCoupon&&(ue(r.AMOUNT_OFF_ORDER),de({isStaticCoupon:!1,quadrant:re.quadrant,targetType:C.LINE_ITEM,targetSelection:b.ALL,valueType:v.FIXED_AMOUNT}),xe(""),ze(),Me({id:"0",label:"Amount",value:"amount",icon:i=>e("span",Object.assign({style:{fontSize:20,color:i}},{children:L.currency||""}))}),qe(null!==(i=L.makeExpiryMandatory)&&void 0!==i&&i),Ce(d.NA))}},{children:[e(P,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?void 0:S.colorsV2.content.brand}},{children:"Dynamic Code"})),e(m,Object.assign({style:re.isStaticCoupon?{}:{color:S.colorsV2.content.brand}},{children:"Code will be unique for all customers, with the first 5 letters of the customer's name, followed by 10 random characters."}))]}))]})),!L.getDetailedDescription&&e(I,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",re.isStaticCoupon&&!ee&&!L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency}),re.isStaticCoupon&&!ee&&L.getDetailedDescription&&e(U,{discountData:re,setDiscountData:de,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency,getDetailedDescription:!0,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideExpiration:L.hideExpiration||!1,onChangeCouponType:Ze,entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[],setEntitledProducts:Ee,setPrerequisiteProducts:he,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setEntitledCollections:Ne,setPrerequisiteCollections:fe,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setIsCollectionPickerOpen:le,productPickerOpen:ee,productVariablePickerOpen:te,collectionPickerOpen:ne,useNewPicker:!!L.newPickerConf,selectedDiscountDetails:Re,setSelectedDiscountDetails:Me,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory}),!re.isStaticCoupon&&!ee&&!ne&&e(w,{currency:L.currency,entitledProducts:null!=Oe?Oe:[],prerequisiteProducts:null!=Se?Se:[],setEntitledProducts:Ee,setPrerequisiteProducts:he,discountData:re,productPickerOpen:ee,productVariablePickerOpen:te,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setDiscountData:de,selectedCouponType:se,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:ye,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:Pe,setOfferAppliesToGet:Ie,hideProbability:L.hideProbability||!1,hideExpiration:L.hideExpiration||!1,allowStaticCoupon:L.allowStaticCoupon,onChangeCouponType:Ze,collectionPickerOpen:ne,entitledCollections:null!=Ae?Ae:[],prerequisiteCollections:null!=Te?Te:[],setIsCollectionPickerOpen:le,setEntitledCollections:Ne,setPrerequisiteCollections:fe,useNewPicker:!!L.newPickerConf,setSelectedDiscountDetails:Me,selectedDiscountDetails:Re,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:De,setPreRequisiteProductVariable:_e,productVariableList:L.productVariableList,isAddExpirationChecked:we,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:xe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory})]}),!!ee&&i(t,{children:[!L.newPickerConf&&e("div",Object.assign({style:{padding:"12px 0"}},{children:e(O,{show:!0,onSave:()=>{},products:null!==(z=L.products)&&void 0!==z?z:[],title:"Select Products",onClose:()=>{ie(void 0)},selectedProducts:null!==(K=ee===q.ENTITLED?Oe:Se)&&void 0!==K?K:[],setSelectedProducts:ee===q.ENTITLED?Ee:he,onSearchKeyChange:L.onProductSearch})})),L.newPickerConf&&e(A,{visible:!0,onClose:()=>ie(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.fetchCollections)?L.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=L.newPickerConf)||void 0===l?void 0:l.fetchProducts)?L.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:ee===q.ENTITLED?Oe:Se,onAdd:e=>{ee===q.ENTITLED?Ee(e):he(e),ie(void 0)},zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=L.newPickerConf)||void 0===n?void 0:n.searchInCollection)?L.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=L.newPickerConf)||void 0===o?void 0:o.searchProducts)?L.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!ne&&e("div",Object.assign({style:{padding:"12px 0"}},{children:i(t,{children:[L.newPickerConf&&e(A,{visible:!0,onClose:()=>le(void 0),collectionFetcher:L.newPickerConf.fetchCollections,productFetcher:L.newPickerConf.fetchProducts,selectedItems:ne===q.ENTITLED?Ae:Te,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),ne===q.ENTITLED?Ne(e):fe(e),le(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||o.BIK,searchInCollectionFetcher:L.newPickerConf.searchInCollection,searchFetcher:L.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!L.newPickerConf&&e(O,{show:!0,onSave:()=>{},products:null!==($=L.collection)&&void 0!==$?$:[],title:"Select Products",onClose:()=>{le(void 0)},selectedProducts:null!==(Z=ne===q.ENTITLED?Ae:Te)&&void 0!==Z?Z:[],setSelectedProducts:ne===q.ENTITLED?Ne:fe,onSearchKeyChange:L.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),te&&e(x,{children:e("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e(k,{type:N.EMBEDDED,data:null!==(J=L.productVariableList)&&void 0!==J?J:[],showHeader:!0,onSelect:e=>{if(te===q.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;Ve({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}if(te===q.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;_e({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}},onClose:()=>{oe(void 0)}})}))})]}))};export{L as DiscountModal};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{useState as r,useRef as o,useEffect as s}from"react";import i from"../../assets/icons/chevronRight2.svg.js";import a from"../../assets/icons/play.svg.js";import{Button as l}from"../button/Button.js";import{TEXT as c}from"./constants/index.js";import{getMajorPopupStyles as u}from"./styles/majorPopup.styles.js";import"../../constants/Theme.js";import"./constants/animations.js";import{decodeHTMLEntities as d}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as p,calculateCloseTransform as g,executeAfterAnimation as y}from"./utils/animationHelpers.js";import{findWhatsNewButton as v}from"./utils/elementHelpers.js";const b=b=>{let{feature:h,currentIndex:m,totalFeatures:f,onSkip:j,onExplore:B,onPrevious:O,onNext:T,setIsClosing:x,onSecondaryAction:k,ratio:M="16:9",padding:E}=b;var U,P,C,L,_,W,w,D,I,H;const[A,S]=r(!1),[F,N]=r(!1),[R,V]=r(""),X=o(null),[z,G]=r(!1),[K,$]=r(!0),q=o(null),[J,Q]=r(M),Y=o(null);s((()=>{A&&N(!0)}),[A]);const Z=()=>{var t,e;const n=null===(t=h.primaryButton)||void 0===t?void 0:t.action;if("Play Video"===n)B();else if("Open link"===n){const t=(null===(e=h.primaryButton)||void 0===e?void 0:e.redirectionUrl)||h.redirectUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else B();p(X.current);const r=v();if(r&&X.current){const t=g(X.current,r);V(t)}else V("scale(0)");null==x||x(!0),S(!0)},tt=t=>{var e,n;t.preventDefault(),t.stopPropagation();const r=null===(e=h.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===r){const t=null===(n=h.secondaryButton)||void 0===n?void 0:n.redirectionUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else"Close popup"!==r&&""!==r||k&&k();p(X.current);const o=v();if(o&&X.current){const t=g(X.current,o);V(t)}else V("scale(0)");null==x||x(!0),S(!0)},et=u(F,R,J,E||h.padding,null===(U=h.primaryButton)||void 0===U?void 0:U.style,null===(P=h.secondaryButton)||void 0===P?void 0:P.style);return t("div",Object.assign({style:et.outerWrapper},{children:e("div",Object.assign({ref:X,style:Object.assign(Object.assign({},et.container),{opacity:F?0:1,transition:"opacity 0.2s ease-in-out, transform 0.3s ease"})},{children:[t("style",{children:"\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t"}),e("div",Object.assign({style:et.contentWrapper},{children:[t("div",Object.assign({style:et.imageContainer},{children:h.productVideo?e(n,{children:[t("video",{ref:q,src:h.productVideo,style:et.image,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,"aria-label":`Product video for ${h.title}`,onLoadedMetadata:t=>{const e=t.currentTarget,n=e.videoWidth,r=e.videoHeight;if(n&&r){const t=n/r;Math.abs(t-16/9)<.1?Q("16:9"):Math.abs(t-1)<.1?Q("1:1"):Math.abs(t-4/3)<.1?Q("4:3"):Q(t>1.5?"16:9":t<.9?"4:3":"1:1")}}}),(z||K)&&t("div",Object.assign({style:et.videoOverlay,onClick:t=>{t.stopPropagation(),q.current&&(q.current.paused?(q.current.play(),G(!1),$(!1)):(q.current.pause(),G(!0),$(!0)))},role:"button",tabIndex:0,"aria-label":z?"Play video":"Pause video",onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),q.current&&(q.current.paused?(q.current.play(),G(!1),$(!1)):(q.current.pause(),G(!0),$(!0))))}},{children:t(a,{width:20,height:20})}))]}):h.displayImage?t("img",{ref:Y,src:h.displayImage,alt:h.title,style:et.image,onLoad:t=>{const e=t.currentTarget,n=e.naturalWidth,r=e.naturalHeight;if(n&&r){const t=n/r;Math.abs(t-16/9)<.1?Q("16:9"):Math.abs(t-1)<.1?Q("1:1"):Math.abs(t-4/3)<.1?Q("4:3"):Q(t>1.5?"16:9":t<.9?"4:3":"1:1")}},onError:t=>{h.image&&(t.target.src=h.image)}}):t("div",Object.assign({style:et.imagePlaceholder},{children:c.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:et.contentContainer},{children:[t("div",Object.assign({style:et.skipButtonContainer},{children:t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),(t=>{p(X.current);const e=v();if(e&&X.current){const t=g(X.current,e);V(t)}else V("scale(0)");null==x||x(!0),S(!0),y(t)})(j)},style:et.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,et.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,et.skipButton.base),"aria-label":"Skip feature announcement"},{children:"Skip"}))})),t("h3",Object.assign({style:et.title},{children:h.title})),t("div",{"data-popup-content":!0,style:et.content,dangerouslySetInnerHTML:{__html:d(h.content||h.body||"")}}),e("div",Object.assign({style:et.actionsWrapper},{children:[e("div",Object.assign({style:et.buttonsGroup},{children:[(null===(C=h.primaryButton)||void 0===C?void 0:C.redirectionUrl)||h.redirectUrl?t("a",Object.assign({href:(null===(L=h.primaryButton)||void 0===L?void 0:L.redirectionUrl)||h.redirectUrl,target:((null===(_=h.primaryButton)||void 0===_?void 0:_.redirectionUrl)||h.redirectUrl).startsWith("http")?"_blank":"_self",rel:((null===(W=h.primaryButton)||void 0===W?void 0:W.redirectionUrl)||h.redirectUrl).startsWith("http")?"noopener noreferrer":void 0,onClick:Z,style:et.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,et.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,et.exploreButton.base)},{children:(null===(w=h.primaryButton)||void 0===w?void 0:w.text)||h.buttonText||c.DEFAULT_BUTTON_TEXT})):t(l,{onClick:Z,style:et.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,et.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,et.exploreButton.base),buttonText:(null===(D=h.primaryButton)||void 0===D?void 0:D.text)||h.buttonText||c.DEFAULT_BUTTON_TEXT}),(null===(I=h.secondaryButton)||void 0===I?void 0:I.text)&&((null===(H=h.secondaryButton)||void 0===H?void 0:H.redirectionUrl)?t("a",Object.assign({href:h.secondaryButton.redirectionUrl,target:h.secondaryButton.redirectionUrl.startsWith("http")?"_blank":"_self",rel:h.secondaryButton.redirectionUrl.startsWith("http")?"noopener noreferrer":void 0,onClick:tt,style:et.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,et.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,et.secondaryButton.base)},{children:h.secondaryButton.text})):t("button",Object.assign({onClick:tt,style:et.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,et.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,et.secondaryButton.base)},{children:h.secondaryButton.text})))]})),f>1&&e("div",Object.assign({style:et.navigationContainer},{children:[t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),O()},disabled:0===m,style:et.navigationButton(0===m).base,onMouseEnter:t=>{0!==m&&Object.assign(t.currentTarget.style,et.navigationButton(!1).hover)},onMouseLeave:t=>{0!==m&&Object.assign(t.currentTarget.style,et.navigationButton(!1).base)},"aria-label":"Previous feature"},{children:t(i,{style:{transform:"rotate(180deg)"}})})),t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),T()},disabled:m===f-1,style:et.navigationButton(m===f-1).base,onMouseEnter:t=>{m!==f-1&&Object.assign(t.currentTarget.style,et.navigationButton(!1).hover)},onMouseLeave:t=>{m!==f-1&&Object.assign(t.currentTarget.style,et.navigationButton(m===f-1).base)},"aria-label":"Next feature"},{children:t(i,{})}))]}))]}))]}))]}))]}))}))};export{b as default};
1
+ import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{useState as o,useRef as r,useEffect as s}from"react";import a from"../../assets/icons/chevronRight2.svg.js";import i from"../../assets/icons/play.svg.js";import{TEXT as l}from"./constants/index.js";import{getMajorPopupStyles as c}from"./styles/majorPopup.styles.js";import"../../constants/Theme.js";import"./constants/animations.js";import{decodeHTMLEntities as u}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as d,calculateCloseTransform as p,executeAfterAnimation as g}from"./utils/animationHelpers.js";import{findWhatsNewButton as y}from"./utils/elementHelpers.js";const b=b=>{let{feature:v,currentIndex:h,totalFeatures:m,onSkip:f,onExplore:j,onPrevious:O,onNext:B,setIsClosing:T,onSecondaryAction:k,ratio:x="16:9",padding:M}=b;var E,P,C,L,w;const[U,W]=o(!1),[_,I]=o(!1),[D,H]=o(""),S=r(null),[A,R]=o(!1),[V,F]=o(!0),N=r(null),[z,G]=o(x),K=r(null);s((()=>{U&&I(!0)}),[U]);const X=t=>{var e,n;t.preventDefault(),t.stopPropagation();const o=null===(e=v.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===o){const t=null===(n=v.secondaryButton)||void 0===n?void 0:n.redirectionUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else"Close popup"!==o&&""!==o||k&&k();d(S.current);const r=y();if(r&&S.current){const t=p(S.current,r);H(t)}else H("scale(0)");null==T||T(!0),W(!0)},$=c(_,D,z,M||v.padding,null===(E=v.primaryButton)||void 0===E?void 0:E.style,null===(P=v.secondaryButton)||void 0===P?void 0:P.style);return t("div",Object.assign({style:$.outerWrapper},{children:e("div",Object.assign({ref:S,style:Object.assign(Object.assign({},$.container),{opacity:_?0:1,transition:"opacity 0.2s ease-in-out, transform 0.3s ease"})},{children:[t("style",{children:"\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t"}),e("div",Object.assign({style:$.contentWrapper},{children:[t("div",Object.assign({style:$.imageContainer},{children:v.productVideo?e(n,{children:[t("video",{ref:N,src:v.productVideo,style:$.image,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,"aria-label":`Product video for ${v.title}`,onLoadedMetadata:t=>{const e=t.currentTarget,n=e.videoWidth,o=e.videoHeight;if(n&&o){const t=n/o;Math.abs(t-16/9)<.1?G("16:9"):Math.abs(t-1)<.1?G("1:1"):Math.abs(t-4/3)<.1?G("4:3"):G(t>1.5?"16:9":t<.9?"4:3":"1:1")}}}),(A||V)&&t("div",Object.assign({style:$.videoOverlay,onClick:t=>{t.stopPropagation(),N.current&&(N.current.paused?(N.current.play(),R(!1),F(!1)):(N.current.pause(),R(!0),F(!0)))},role:"button",tabIndex:0,"aria-label":A?"Play video":"Pause video",onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),N.current&&(N.current.paused?(N.current.play(),R(!1),F(!1)):(N.current.pause(),R(!0),F(!0))))}},{children:t(i,{width:20,height:20})}))]}):v.displayImage?t("img",{ref:K,src:v.displayImage,alt:v.title,style:$.image,onLoad:t=>{const e=t.currentTarget,n=e.naturalWidth,o=e.naturalHeight;if(n&&o){const t=n/o;Math.abs(t-16/9)<.1?G("16:9"):Math.abs(t-1)<.1?G("1:1"):Math.abs(t-4/3)<.1?G("4:3"):G(t>1.5?"16:9":t<.9?"4:3":"1:1")}},onError:t=>{v.image&&(t.target.src=v.image)}}):t("div",Object.assign({style:$.imagePlaceholder},{children:l.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:$.contentContainer},{children:[t("div",Object.assign({style:$.skipButtonContainer},{children:t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),(t=>{d(S.current);const e=y();if(e&&S.current){const t=p(S.current,e);H(t)}else H("scale(0)");null==T||T(!0),W(!0),g(t)})(f)},style:$.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.skipButton.base),"aria-label":"Skip feature announcement"},{children:"Skip"}))})),t("h3",Object.assign({style:$.title},{children:v.title})),t("div",{"data-popup-content":!0,style:$.content,dangerouslySetInnerHTML:{__html:u(v.content||v.body||"")}}),e("div",Object.assign({style:$.actionsWrapper},{children:[e("div",Object.assign({style:$.buttonsGroup},{children:[t("button",Object.assign({onClick:()=>{var t,e;const n=null===(t=v.primaryButton)||void 0===t?void 0:t.action;if("Play Video"===n)j();else if("Open link"===n){const t=(null===(e=v.primaryButton)||void 0===e?void 0:e.redirectionUrl)||v.redirectUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else j();d(S.current);const o=y();if(o&&S.current){const t=p(S.current,o);H(t)}else H("scale(0)");null==T||T(!0),W(!0)},style:$.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.exploreButton.base)},{children:(null===(C=v.primaryButton)||void 0===C?void 0:C.text)||v.buttonText||l.DEFAULT_BUTTON_TEXT})),(null===(L=v.secondaryButton)||void 0===L?void 0:L.text)&&((null===(w=v.secondaryButton)||void 0===w?void 0:w.redirectionUrl)?t("a",Object.assign({href:v.secondaryButton.redirectionUrl,target:v.secondaryButton.redirectionUrl.startsWith("http")?"_blank":"_self",rel:v.secondaryButton.redirectionUrl.startsWith("http")?"noopener noreferrer":void 0,onClick:X,style:$.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.secondaryButton.base)},{children:v.secondaryButton.text})):t("button",Object.assign({onClick:X,style:$.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.secondaryButton.base)},{children:v.secondaryButton.text})))]})),m>1&&e("div",Object.assign({style:$.navigationContainer},{children:[t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),O()},disabled:0===h,style:$.navigationButton(0===h).base,onMouseEnter:t=>{0!==h&&Object.assign(t.currentTarget.style,$.navigationButton(!1).hover)},onMouseLeave:t=>{0!==h&&Object.assign(t.currentTarget.style,$.navigationButton(!1).base)},"aria-label":"Previous feature"},{children:t(a,{style:{transform:"rotate(180deg)"}})})),t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),B()},disabled:h===m-1,style:$.navigationButton(h===m-1).base,onMouseEnter:t=>{h!==m-1&&Object.assign(t.currentTarget.style,$.navigationButton(!1).hover)},onMouseLeave:t=>{h!==m-1&&Object.assign(t.currentTarget.style,$.navigationButton(h===m-1).base)},"aria-label":"Next feature"},{children:t(a,{})}))]}))]}))]}))]}))]}))}))};export{b as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as n,useEffect as r}from"react";import{TEXT as i}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as a}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as l}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as o,calculateCloseTransform as c,executeAfterAnimation as d}from"./utils/animationHelpers.js";import{findFeatureTagElement as u}from"./utils/elementHelpers.js";const m=m=>{let{feature:g,currentIndex:p,totalFeatures:f,onSkip:T,onExplore:h,onPrevious:y,onNext:j,setIsClosing:b}=m;const[E,O]=s(!1),[v,x]=s(!1),[_,C]=s(""),I=n(null);r((()=>{E&&x(!0)}),[E]);const W=a(v,_);return e("div",Object.assign({ref:I,style:W.container},{children:[t("div",Object.assign({style:W.imageContainer},{children:g.displayImage?e("div",Object.assign({style:W.imageWrapper},{children:[t("img",{src:g.displayImage,alt:g.title,style:W.image,onError:e=>{g.image&&(e.target.src=g.image)}}),t("div",Object.assign({style:W.badge},{children:t("span",Object.assign({style:W.badgeText},{children:i.NEW_FEATURE_BADGE}))}))]})):t("div",Object.assign({style:W.imagePlaceholder},{children:i.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:W.contentContainer},{children:[e("div",{children:[t("h3",Object.assign({style:W.title},{children:g.title})),t("div",{style:W.content,dangerouslySetInnerHTML:{__html:l(g.content||g.body||"")}})]}),e("div",Object.assign({style:W.actionsContainer},{children:[t("span",Object.assign({onClick:()=>{(e=>{if(o(I.current),I.current&&g.featureTag){const e=u(g.featureTag);if(e){const t=c(I.current,e);C(t)}else C("scale(0)")}else C("scale(0)");null==b||b(!0),O(!0),d(e)})(T)},style:W.understoodText},{children:i.UNDERSTOOD})),g.productVideo&&t("button",Object.assign({onClick:()=>{if(h(),o(I.current),I.current&&g.featureTag){const e=g.featureTag.startsWith("#")||g.featureTag.startsWith(".")||g.featureTag.startsWith("[")?g.featureTag:`#${g.featureTag}`,t=document.querySelector(e);if(t){const e=c(I.current,t);C(e)}else C("scale(0)")}else C("scale(0)");null==b||b(!0),O(!0)},style:W.exploreButton},{children:g.buttonText||i.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{m as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as r,useEffect as o}from"react";import{TEXT as i}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as s}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as l}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as a,calculateCloseTransform as c}from"./utils/animationHelpers.js";import{findFeatureTagElement as d}from"./utils/elementHelpers.js";const u=u=>{let{feature:m,currentIndex:p,totalFeatures:f,onSkip:g,onExplore:y,onPrevious:v,onNext:h,setIsClosing:T}=u;var j,b;const[O,x]=n(!1),[B,E]=n(!1),[w,C]=n(""),_=r(null);o((()=>{O&&E(!0)}),[O]);const k=s(B,w);return e("div",Object.assign({ref:_,style:k.container},{children:[t("div",Object.assign({style:k.imageContainer},{children:m.displayImage?t("div",Object.assign({style:k.imageWrapper},{children:t("img",{src:m.displayImage,alt:m.title,style:k.image,onError:e=>{m.image&&(e.target.src=m.image)}})})):t("div",Object.assign({style:k.imagePlaceholder},{children:i.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:k.contentContainer},{children:[e("div",{children:[t("h3",Object.assign({style:k.title},{children:m.title})),t("div",{style:k.content,dangerouslySetInnerHTML:{__html:l(m.content||m.body||"")}})]}),e("div",Object.assign({style:k.actionsContainer},{children:[(null===(j=m.secondaryButton)||void 0===j?void 0:j.text)&&t("span",Object.assign({onClick:()=>{var e,t,n;const r=null===(e=m.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===r){const e=null===(t=m.secondaryButton)||void 0===t?void 0:t.redirectionUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else"Close popup"!==r&&""!==r||null===(n=m.secondaryButton)||void 0===n||n.action;if(a(_.current),_.current&&m.featureTag){const e=d(m.featureTag);if(e){const t=c(_.current,e);C(t)}else C("scale(0)")}else C("scale(0)");null==T||T(!0),x(!0)},style:k.understoodText},{children:m.secondaryButton.text})),t("button",Object.assign({onClick:()=>{var e,t;const n=null===(e=m.primaryButton)||void 0===e?void 0:e.action;if("Play Video"===n)y();else if("Open link"===n){const e=(null===(t=m.primaryButton)||void 0===t?void 0:t.redirectionUrl)||m.redirectUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else y();if(a(_.current),_.current&&m.featureTag){const e=m.featureTag.startsWith("#")||m.featureTag.startsWith(".")||m.featureTag.startsWith("[")?m.featureTag:`#${m.featureTag}`,t=document.querySelector(e);if(t){const e=c(_.current,t);C(e)}else C("scale(0)")}else C("scale(0)");null==T||T(!0),x(!0)},style:k.exploreButton},{children:(null===(b=m.primaryButton)||void 0===b?void 0:b.text)||m.buttonText||i.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{u as default};
@@ -4,8 +4,6 @@ export declare const getMinorPopupStyles: (startAnimation: boolean, transform: s
4
4
  imageContainer: CSSProperties;
5
5
  imageWrapper: CSSProperties;
6
6
  image: CSSProperties;
7
- badge: CSSProperties;
8
- badgeText: CSSProperties;
9
7
  imagePlaceholder: CSSProperties;
10
8
  contentContainer: CSSProperties;
11
9
  title: CSSProperties;
@@ -1 +1 @@
1
- import{BASE_COLORS as t}from"../../../constants/Theme.js";import{POPUP_TRANSITION as e}from"../constants/animations.js";import{POPUP_DIMENSIONS as i,BORDER_RADIUS as o,SPACING as n}from"../constants/dimensions.js";import{Z_INDEX as a}from"../constants/zIndex.js";const r=(r,s)=>({container:{width:`${i.MINOR.width}px`,height:`${i.MINOR.height}px`,display:"flex",backgroundColor:t.grayscale.white,borderRadius:o.POPUP,overflow:"hidden",position:"relative",boxShadow:"0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04)",transform:r?s:"scale(1)",opacity:r?0:1,transition:e},imageContainer:{backgroundColor:t.grayscale[50],borderRadius:o.IMAGE,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",margin:n.MINOR.imageMargin,width:`${i.MINOR.imageWidth}px`,minWidth:`${i.MINOR.imageWidth}px`,maxWidth:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`},imageWrapper:{position:"relative",width:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`},image:{width:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`,objectFit:"cover",borderRadius:o.IMAGE,display:"block"},badge:{position:"absolute",top:"0px",left:"0px",right:"0px",height:`${i.MINOR.badgeHeight}px`,backgroundColor:"rgba(0, 0, 0, 0.26)",borderRadius:`${o.IMAGE} ${o.IMAGE} ${o.IMAGE} ${o.IMAGE}`,display:"flex",alignItems:"center",justifyContent:"center",zIndex:a.IMAGE_BADGE},badgeText:{color:t.grayscale.white,fontWeight:"600",fontSize:"14px"},imagePlaceholder:{color:t.grayscale[500],fontSize:"14px",textAlign:"center",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:t.grayscale[100],borderRadius:o.IMAGE},contentContainer:{flex:1,display:"flex",margin:n.MINOR.contentMargin,flexDirection:"column",justifyContent:"space-between",background:"transparent"},title:{fontSize:"16px",fontWeight:"600",padding:"0 0 0 0",color:t.grayscale[900],lineHeight:"1.25",textAlign:"left"},content:{fontSize:"12px",fontWeight:"400",lineHeight:"1.2",color:t.grayscale[700],textAlign:"left",maxHeight:"48px",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},actionsContainer:{position:"absolute",bottom:n.MINOR.actionsBottom,right:n.MINOR.actionsRight,display:"flex",gap:n.MINOR.actionsGap,alignItems:"center"},understoodText:{color:t.brand[800],fontSize:"14px",fontWeight:"500",cursor:"pointer",transition:"all 0.2s"},exploreButton:{backgroundColor:t.brand[800],border:"none",color:t.grayscale.white,borderRadius:o.BUTTON,fontSize:"14px",fontWeight:"600",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center"}});export{r as getMinorPopupStyles};
1
+ import{BASE_COLORS as t}from"../../../constants/Theme.js";import{POPUP_TRANSITION as e}from"../constants/animations.js";import{POPUP_DIMENSIONS as i,BORDER_RADIUS as o,SPACING as n}from"../constants/dimensions.js";const a=(a,r)=>({container:{width:`${i.MINOR.width}px`,height:`${i.MINOR.height}px`,display:"flex",backgroundColor:t.grayscale.white,borderRadius:o.POPUP,overflow:"hidden",position:"relative",boxShadow:"0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04)",transform:a?r:"scale(1)",opacity:a?0:1,transition:e},imageContainer:{backgroundColor:t.grayscale[50],borderRadius:o.IMAGE,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",margin:n.MINOR.imageMargin,width:`${i.MINOR.imageWidth}px`,minWidth:`${i.MINOR.imageWidth}px`,maxWidth:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`},imageWrapper:{position:"relative",width:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`},image:{width:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`,objectFit:"cover",borderRadius:o.IMAGE,display:"block"},imagePlaceholder:{color:t.grayscale[500],fontSize:"14px",textAlign:"center",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:t.grayscale[100],borderRadius:o.IMAGE},contentContainer:{flex:1,display:"flex",margin:n.MINOR.contentMargin,flexDirection:"column",justifyContent:"space-between",background:"transparent"},title:{fontSize:"16px",fontWeight:"600",padding:"0 0 0 0",color:t.grayscale[900],lineHeight:"1.25",textAlign:"left"},content:{fontSize:"12px",fontWeight:"400",lineHeight:"1.2",color:t.grayscale[700],textAlign:"left",maxHeight:"48px",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},actionsContainer:{position:"absolute",bottom:n.MINOR.actionsBottom,right:n.MINOR.actionsRight,display:"flex",gap:n.MINOR.actionsGap,alignItems:"center"},understoodText:{color:t.brand[800],fontSize:"14px",fontWeight:"500",cursor:"pointer",transition:"all 0.2s"},exploreButton:{backgroundColor:t.brand[800],border:"none",color:t.grayscale.white,borderRadius:o.BUTTON,fontSize:"14px",fontWeight:"600",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center"}});export{a as getMinorPopupStyles};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bikdotai/bik-component-library",
3
- "version": "0.0.754-beta.1",
3
+ "version": "0.0.754-beta.10",
4
4
  "description": "Bik Component Library",
5
5
  "repository": {
6
6
  "type": "git",