@bikdotai/bik-component-library 0.0.728-beta.2 → 0.0.728-beta.3
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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),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"),s=require("../product-picker/ProductPickerModal.js"),d=require("../tag/Tag.js"),u=require("../tooltips/Tooltip.js"),c=require("../../assets/icons/gift_icon.svg.js"),p=require("../../assets/icons/percentage_icon.svg.js"),E=require("../../assets/icons/shipping_icon.svg.js"),T=require("../../assets/icons/triangle_error.svg.js"),C=require("../../assets/icons/warning.svg.js"),S=require("../product-picker-v2/modal.js");require("../product-picker-v2/type.js");var P=require("../variable-picker-v3/model.js"),O=require("../variable-picker-v3/VariablePicker.js"),I=require("./DiscountModal.styled.js"),_=require("./DiscountUtils.js"),b=require("./DynamicCoupon/DynamicCoupon.js"),v=require("./StaticCoupon/StaticCoupon.js");exports.DiscountModal=y=>{var D,m,N,x,R,U,A,h,j,f,V;const g=[{id:"0",label:"Amount",value:"amount",icon:i=>e.jsxRuntimeExports.jsx("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:y.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e.jsxRuntimeExports.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.jsxRuntimeExports.jsx(c.default,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:o.DISCOUNT_TYPES.FREE_SHIPPING,icon:i=>e.jsxRuntimeExports.jsx(E.default,{width:24,height:24,color:i})}],[F,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===(m=y.data)||void 0===m?void 0:m.minAmount)?o.MIN_PURCHASE_REQUIREMENT.AMOUNT:(null===(N=y.data)||void 0===N?void 0:N.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),[se,de]=t.useState(void 0),[ue,ce]=t.useState(void 0),[pe,Ee]=t.useState(void 0),[Te,Ce]=t.useState(0),[Se,Pe]=t.useState(""),[Oe,Ie]=t.useState(g[0]),[_e,be]=t.useState(!1),[ve,ye]=t.useState(o.initialStaticCouponErrorState),[De,me]=t.useState(o.initialDynamicCouponErrorState),[Ne,xe]=t.useState(y.getDetailedDescription?o.COUPON_EXPIRATION.FIXED_EXPIRATION:o.COUPON_EXPIRATION.DYNAMIC_EXPIRATION),Re=[{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&&be(!0)}),[y.makeExpiryMandatory]),t.useEffect((()=>{var e,i,t,n,l,r,a,s;let d;const{tempCouponData:u,discountType:c}=Ue();H(c);const p=(e,i)=>{Ie(u.valueType===o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?g[e]:g[i])},E=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==u?void 0:u.expireAfter)||(null==u?void 0:u.expireAt))&&(be(!0),(null==u?void 0:u.expireAt)&&xe(o.COUPON_EXPIRATION.FIXED_EXPIRATION),(null==u?void 0:u.expireAfter)&&xe(o.COUPON_EXPIRATION.DYNAMIC_EXPIRATION)),c){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=u.entitledCollectionIds)||void 0===e?void 0:e.length)?Z(o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS):(null===(i=u.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=u.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(Z(o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS),E(null===(n=u.productVariableConf)||void 0===n?void 0:n.entitledProductVariable,de)):Z(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER);break;case o.DISCOUNT_TYPES.BUY_X_GET_Y:Ie(g[2]),(null===(l=u.entitledCollectionIds)||void 0===l?void 0:l.length)?ie(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(ie(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),E(null===(r=u.productVariableConf)||void 0===r?void 0:r.entitledProductVariable,de)),(null===(a=u.prerequisiteCollectionIds)||void 0===a?void 0:a.length)?W(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(W(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),E(null===(s=u.productVariableConf)||void 0===s?void 0:s.prerequisiteProductVariable,ce));break;case o.DISCOUNT_TYPES.FREE_SHIPPING:Ie(g[3])}G(Object.assign({},u)),y.hideProbability||(d=je()),X(_.validateDiscountData(u,z,c,y.hideProbability||!1,d,!!u.isStaticCoupon,y.getDetailedDescription||!1)),y.hideProbability||je()}),[]),t.useEffect((()=>{let e;y.hideProbability||(e=je()),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))}));Ee(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)&&Ee(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===(x=y.data)||void 0===x?void 0:x.productsConf,null===(R=y.data)||void 0===R?void 0:R.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 Ue=()=>{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}},Ae=()=>{ye(o.initialStaticCouponErrorState),me(o.initialDynamicCouponErrorState)},he=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&&(Pe(n>1?"Please add discount details":o),!0)},je=()=>{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 Ce(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},fe=e=>{var i,t,n,l,r,a,s,d,u,c,p,E,T,C,S,P;const O=e.value;H(O),oe([]),le([]),ae([]),Ee([]),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:!1,title:w.title,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:!1,title:w.title,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!==(s=w.valueType)&&void 0!==s?s:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:w.quadrant,isStaticCoupon:!1,title:w.title,expireAt:null!==(d=w.expireAt)&&void 0!==d?d:void 0,expireAfter:null!==(u=w.expireAfter)&&void 0!==u?u:void 0,probability:w.probability,value:w.value,minQuantity:null!==(c=w.minQuantity)&&void 0!==c?c: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!==(E=w.valueType)&&void 0!==E?E:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:w.quadrant,isStaticCoupon:!1,title:w.title,expireAt:null!==(T=w.expireAt)&&void 0!==T?T:void 0,expireAfter:null!==(C=w.expireAfter)&&void 0!==C?C:void 0,probability:w.probability,value:w.value,minQuantity:null!==(S=w.minQuantity)&&void 0!==S?S:void 0,minAmount:null!==(P=w.minAmount)&&void 0!==P?P:void 0})},Ve=i=>i&&e.jsxRuntimeExports.jsx(d.Tag,{theme:"light",tagText:i,type:"negative",LeadingIcon:C.default});return e.jsxRuntimeExports.jsxs(a.StyledModal,Object.assign({width:(Y||F)&&y.newPickerConf?"25px":"640px",open:y.isOpen,hideCrossButton:!!L,headingTitle:F?"Select Products":y.title,headingSubtitle:F?void 0:y.subTitle,footerLeftCustomElement:Se?Ve(Se):y.errorMsg?Ve(y.errorMsg):!y.quadrant||y.hideProbability?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{}):Te<=1?e.jsxRuntimeExports.jsx(d.Tag,{theme:"light",tagText:`Current probability sum: ${Te}`,type:"white"}):e.jsxRuntimeExports.jsx(u.Tooltip,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(d.Tag,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${Te}`,type:"negative",LeadingIcon:T.default})})})),headerRightCustomElement:y.allowStaticCoupon||F?void 0:e.jsxRuntimeExports.jsx(n.Dropdown,{options:Re,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{fe(e)}}),onClose:y.onClose,footerContainerStyle:{borderTop:`1px solid ${r.DEFAULT_THEME.colorsV2.stroke.primary}`},primaryButton:F?{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!==(U=y.loading)&&void 0!==U&&U,onClick:()=>{var e,i,t,n,l,r,a,s,d,u;if(Ae(),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(he(r))return void ye(r);if(B||Te>1)return void Pe(!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:s,quadrant:d,probability:u}=w,c={invalidDiscountCode:!a,invalidCouponTitle:!s,invalidCouponDescription:!1,inValidProbability:!y.hideProbability&&(null!=u?u:-1)<0||(null!=u?u:0)>1||Number.isNaN(null!=u?u:0)};if(he(c))return void ye(c);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||se||(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||ue||(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||se||(p.inValidGetYProductSelection=!0,p.inValidGetYProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(p.inValidGetYCollectionSelection=!0)),he(p))return void me(p);if(B||Te>1)return void Pe(!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:d,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!=se?se:{},prerequisiteProductVariable:null!=ue?ue:{}}}))}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!==(s=w.probability)&&void 0!==s?s:-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||se||(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||ue||(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||se||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&pe&&!Object.keys(pe).length&&(e.inValidGetYCollectionSelection=!0)),he(e))return void me(e);if(B||Te>1)return void Pe(!y.hideProbability&&Te>1?"Probability sum should not exceed 1":"Invalid coupon details");y.onSaveClicked(Object.assign(Object.assign({},w),{description:_.descriptionBuilder(w,y.currency,null!==(d=y.products)&&void 0!==d?d:[],null!==(u=y.collection)&&void 0!==u?u:[]),productsConf:{entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[]},collectionsConf:{entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[]},productVariableConf:{entitledProductVariable:null!=se?se:{},prerequisiteProductVariable:null!=ue?ue:{}}}))}}},secondaryButton:F?{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:[!F&&!Y&&e.jsxRuntimeExports.jsxs(I.StyledDiscountDialogueContainer,{children:[y.allowStaticCoupon&&!F&&!y.hideOption&&e.jsxRuntimeExports.jsxs(I.CouponTypeContainerStyled,Object.assign({selectedDiv:w.isStaticCoupon?1:2},{children:["static"===y.hideOption?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{}):e.jsxRuntimeExports.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{w.isStaticCoupon||(G({isStaticCoupon:!0,quadrant:w.quadrant}),Pe(""),Ae())}},{children:[e.jsxRuntimeExports.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:w.isStaticCoupon?r.DEFAULT_THEME.colorsV2.content.brand:void 0}},{children:"Static Code"})),e.jsxRuntimeExports.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.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{}):e.jsxRuntimeExports.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}),Pe(""),Ae(),Ie({id:"0",label:"Amount",value:"amount",icon:i=>e.jsxRuntimeExports.jsx("span",Object.assign({style:{fontSize:20,color:i}},{children:y.currency||""}))}),be(null!==(i=y.makeExpiryMandatory)&&void 0!==i&&i),K(o.MIN_PURCHASE_REQUIREMENT.NA))}},{children:[e.jsxRuntimeExports.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:w.isStaticCoupon?void 0:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Dynamic Code"})),e.jsxRuntimeExports.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.jsxRuntimeExports.jsx(l.TitleRegular,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",w.isStaticCoupon&&!F&&!y.getDetailedDescription&&e.jsxRuntimeExports.jsx(v.default,{discountData:w,setDiscountData:G,hideProbability:y.hideProbability||!1,discountAdminUrl:y.discountAdminUrl,staticDiscountValidationError:ve,currency:y.currency}),w.isStaticCoupon&&!F&&y.getDetailedDescription&&e.jsxRuntimeExports.jsx(v.default,{discountData:w,setDiscountData:G,hideProbability:y.hideProbability||!1,discountAdminUrl:y.discountAdminUrl,staticDiscountValidationError:ve,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:fe,entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[],setEntitledProducts:le,setPrerequisiteProducts:oe,entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[],setEntitledCollections:Ee,setPrerequisiteCollections:ae,setIsProductPickerOpen:k,setIsProductVariablePickerOpen:q,setIsCollectionPickerOpen:M,productPickerOpen:F,productVariablePickerOpen:L,collectionPickerOpen:Y,useNewPicker:!!y.newPickerConf,selectedDiscountDetails:Oe,setSelectedDiscountDetails:Ie,isProductVariableSupported:y.isProductVariableSupported,entitledProductVariable:se,setEntitledProductVariable:de,preRequisiteProductVariable:ue,setPreRequisiteProductVariable:ce,productVariableList:y.productVariableList,isAddExpirationChecked:_e,setIsAddExpirationChecked:be,dynamicDiscountValidationError:De,setDynamicDiscountValidationError:me,setValidationErrorMessage:Pe,resetValidationErrors:Ae,discountDetailsOptions:g,selectedExpiration:Ne,setSelectedExpiration:xe,makeExpiryMandatory:!!y.makeExpiryMandatory}),!w.isStaticCoupon&&!F&&!Y&&e.jsxRuntimeExports.jsx(b.default,{currency:y.currency,entitledProducts:null!=ne?ne:[],prerequisiteProducts:null!=te?te:[],setEntitledProducts:le,setPrerequisiteProducts:oe,discountData:w,productPickerOpen:F,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:fe,collectionPickerOpen:Y,entitledCollections:null!=pe?pe:[],prerequisiteCollections:null!=re?re:[],setIsCollectionPickerOpen:M,setEntitledCollections:Ee,setPrerequisiteCollections:ae,useNewPicker:!!y.newPickerConf,setSelectedDiscountDetails:Ie,selectedDiscountDetails:Oe,isProductVariableSupported:y.isProductVariableSupported,entitledProductVariable:se,setEntitledProductVariable:de,preRequisiteProductVariable:ue,setPreRequisiteProductVariable:ce,productVariableList:y.productVariableList,isAddExpirationChecked:_e,setIsAddExpirationChecked:be,dynamicDiscountValidationError:De,setDynamicDiscountValidationError:me,setValidationErrorMessage:Pe,resetValidationErrors:Ae,discountDetailsOptions:g,selectedExpiration:Ne,setSelectedExpiration:xe,makeExpiryMandatory:!!y.makeExpiryMandatory})]}),!!F&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[!y.newPickerConf&&e.jsxRuntimeExports.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxRuntimeExports.jsx(s.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(A=y.products)&&void 0!==A?A:[],title:"Select Products",onClose:()=>{k(void 0)},selectedProducts:null!==(h=F===b.DISCOUNT_PRODUCTS.ENTITLED?ne:te)&&void 0!==h?h:[],setSelectedProducts:F===b.DISCOUNT_PRODUCTS.ENTITLED?le:oe,onSearchKeyChange:y.onProductSearch})})),y.newPickerConf&&e.jsxRuntimeExports.jsx(S.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:F===b.DISCOUNT_PRODUCTS.ENTITLED?ne:te,onAdd:e=>{F===b.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.jsxRuntimeExports.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[y.newPickerConf&&e.jsxRuntimeExports.jsx(S.ProductPickerModal,{visible:!0,onClose:()=>M(void 0),collectionFetcher:y.newPickerConf.fetchCollections,productFetcher:y.newPickerConf.fetchProducts,selectedItems:Y===b.DISCOUNT_PRODUCTS.ENTITLED?pe:re,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),Y===b.DISCOUNT_PRODUCTS.ENTITLED?Ee(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.jsxRuntimeExports.jsx(s.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(j=y.collection)&&void 0!==j?j:[],title:"Select Products",onClose:()=>{M(void 0)},selectedProducts:null!==(f=Y===b.DISCOUNT_PRODUCTS.ENTITLED?pe:re)&&void 0!==f?f:[],setSelectedProducts:Y===b.DISCOUNT_PRODUCTS.ENTITLED?Ee:ae,onSearchKeyChange:y.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),L&&e.jsxRuntimeExports.jsx(I.VariablePickerContainer,{children:e.jsxRuntimeExports.jsx("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e.jsxRuntimeExports.jsx(O.VariablePicker,{type:P.PickerType.EMBEDDED,data:null!==(V=y.productVariableList)&&void 0!==V?V:[],showHeader:!0,onSelect:e=>{if(L===b.DISCOUNT_PRODUCTS.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;de({displayName:i,actualValue:t,isAvailable:o}),q(void 0)}if(L===b.DISCOUNT_PRODUCTS.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;ce({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("../../node_modules/react/jsx-runtime.js"),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"),s=require("../product-picker/ProductPickerModal.js"),d=require("../tag/Tag.js"),c=require("../tooltips/Tooltip.js"),u=require("../../assets/icons/gift_icon.svg.js"),p=require("../../assets/icons/percentage_icon.svg.js"),E=require("../../assets/icons/shipping_icon.svg.js"),C=require("../../assets/icons/triangle_error.svg.js"),T=require("../../assets/icons/warning.svg.js"),S=require("../product-picker-v2/modal.js");require("../product-picker-v2/type.js");var P=require("../variable-picker-v3/model.js"),O=require("../variable-picker-v3/VariablePicker.js"),I=require("./DiscountModal.styled.js"),_=require("./DiscountUtils.js"),b=require("./DynamicCoupon/DynamicCoupon.js"),v=require("./StaticCoupon/StaticCoupon.js");const y=(e,i)=>{const t=new Map,o=e=>{e&&Object.values(e).forEach((e=>{e.products&&Object.values(e.products).forEach((e=>{e.id&&!t.has(e.id)&&t.set(e.id,e)}))}))};return o(e),o(i),Array.from(t.values())},m=(e,i)=>{const t=new Map,o=e=>{e&&Object.entries(e).forEach((e=>{let[i,o]=e;if("isCustom"!==i&&o&&"object"==typeof o){const e={id:i,name:o.name||o.title||"",description:o.description||"",image:o.image||"",isHidden:o.isHidden||!1,isPrivate:o.isPrivate||!1,handle:o.handle||"",isSmartCollection:o.isSmartCollection||!1};t.has(i)||t.set(i,e)}}))};return o(e),o(i),Array.from(t.values())};exports.DiscountModal=D=>{var N,x,h,R,A,U,f,j,V,g,F;const k=[{id:"0",label:"Amount",value:"amount",icon:i=>e.jsxRuntimeExports.jsx("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:D.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e.jsxRuntimeExports.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.jsxRuntimeExports.jsx(u.default,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:o.DISCOUNT_TYPES.FREE_SHIPPING,icon:i=>e.jsxRuntimeExports.jsx(E.default,{width:24,height:24,color:i})}],[L,q]=t.useState(),[M,Y]=t.useState(),[w,G]=t.useState(),[B,X]=t.useState(null!==(N=D.data)&&void 0!==N?N:"string"==typeof D.hideOption?{isStaticCoupon:"dynamic"===D.hideOption}:{isStaticCoupon:!0}),[Q,H]=t.useState(!0),[z,K]=t.useState(),[$,Z]=t.useState((null===(x=D.data)||void 0===x?void 0:x.minAmount)?o.MIN_PURCHASE_REQUIREMENT.AMOUNT:(null===(h=D.data)||void 0===h?void 0:h.minQuantity)?o.MIN_PURCHASE_REQUIREMENT.QUANTITY:o.MIN_PURCHASE_REQUIREMENT.NA),[J,W]=t.useState(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER),[ee,ie]=t.useState(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),[te,oe]=t.useState(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),[ne,le]=t.useState(void 0),[re,ae]=t.useState(void 0),[se,de]=t.useState(void 0),[ce,ue]=t.useState(void 0),[pe,Ee]=t.useState(void 0),[Ce,Te]=t.useState(void 0),[Se,Pe]=t.useState(0),[Oe,Ie]=t.useState(""),[_e,be]=t.useState(k[0]),[ve,ye]=t.useState(!1),[me,De]=t.useState(o.initialStaticCouponErrorState),[Ne,xe]=t.useState(o.initialDynamicCouponErrorState),[he,Re]=t.useState(D.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:z===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER},{value:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:z===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS},{value:o.DISCOUNT_TYPES.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:z===o.DISCOUNT_TYPES.BUY_X_GET_Y},{value:o.DISCOUNT_TYPES.FREE_SHIPPING,label:"Free shipping",selected:z===o.DISCOUNT_TYPES.FREE_SHIPPING}];t.useEffect((()=>{D.makeExpiryMandatory&&ye(!0)}),[D.makeExpiryMandatory]),t.useEffect((()=>{var e,i,t,n,l,r,a,s;let d;const{tempCouponData:c,discountType:u}=Ue();K(u);const p=(e,i)=>{be(c.valueType===o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?k[e]:k[i])},E=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==c?void 0:c.expireAfter)||(null==c?void 0:c.expireAt))&&(ye(!0),(null==c?void 0:c.expireAt)&&Re(o.COUPON_EXPIRATION.FIXED_EXPIRATION),(null==c?void 0:c.expireAfter)&&Re(o.COUPON_EXPIRATION.DYNAMIC_EXPIRATION)),u){case o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:p(0,1),W(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER);break;case o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:p(0,1),(null===(e=c.entitledCollectionIds)||void 0===e?void 0:e.length)?W(o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS):(null===(i=c.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=c.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(W(o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS),E(null===(n=c.productVariableConf)||void 0===n?void 0:n.entitledProductVariable,ue)):W(o.DISCOUNT_APPLIES_TO.ENTIRE_ORDER);break;case o.DISCOUNT_TYPES.BUY_X_GET_Y:be(k[2]),(null===(l=c.entitledCollectionIds)||void 0===l?void 0:l.length)?oe(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(oe(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),E(null===(r=c.productVariableConf)||void 0===r?void 0:r.entitledProductVariable,ue)),(null===(a=c.prerequisiteCollectionIds)||void 0===a?void 0:a.length)?ie(o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS):(ie(o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS),E(null===(s=c.productVariableConf)||void 0===s?void 0:s.prerequisiteProductVariable,Ee));break;case o.DISCOUNT_TYPES.FREE_SHIPPING:be(k[3])}X(Object.assign({},c)),D.hideProbability||(d=Ve()),H(_.validateDiscountData(c,$,u,D.hideProbability||!1,d,!!c.isStaticCoupon,D.getDetailedDescription||!1)),D.hideProbability||Ve()}),[]),t.useEffect((()=>{let e;D.hideProbability||(e=Ve()),H(_.validateDiscountData(B,$,z,D.hideProbability||!1,e,!!B.isStaticCoupon,D.getDetailedDescription||!1))}),[B,Se,z,$]),t.useEffect((()=>{var e,i,t,o,n,l,r;if(!D.newPickerConf&&((null===(e=D.products)||void 0===e?void 0:e.length)||(null===(i=D.collection)||void 0===i?void 0:i.length))){if(D.products&&(null===(t=D.products)||void 0===t?void 0:t.length)){if(null===(o=D.data)||void 0===o?void 0:o.entitledProductIds){const e=D.products.filter((e=>{var i,t;return null===(t=null===(i=D.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));ae(e)}if(null===(n=D.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=D.products.filter((e=>{var i,t;return null===(t=null===(i=D.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));le(e)}}if(D.collection&&D.collection.length){if(null===(l=D.data)||void 0===l?void 0:l.entitledCollectionIds){const e=D.collection.filter((e=>{var i,t;return null===(t=null===(i=D.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Te(e)}if(null===(r=D.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=D.collection.filter((e=>{var i,t;return null===(t=null===(i=D.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));de(e)}}}}),[D.products,D.collection]),t.useEffect((()=>{var e,i,t,o,n,l,r,a;(null===(i=null===(e=D.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&ae(D.data.productsConf.entitledProducts),(null===(o=null===(t=D.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&le(D.data.productsConf.prerequisiteProducts),(null===(l=null===(n=D.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Te(D.data.collectionsConf.entitledCollections),(null===(a=null===(r=D.data)||void 0===r?void 0:r.collectionsConf)||void 0===a?void 0:a.prerequisiteCollections)&&de(D.data.collectionsConf.prerequisiteCollections)}),[null===(R=D.data)||void 0===R?void 0:R.productsConf,null===(A=D.data)||void 0===A?void 0:A.collectionsConf]),t.useEffect((()=>{if(!re)return;if(D.newPickerConf){const e=[];return Object.values(re).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void X(Object.assign(Object.assign({},B),{entitledProductIds:e}))}const e=re.map((e=>parseInt(e.id)));X(Object.assign(Object.assign({},B),{entitledProductIds:e}))}),[re]),t.useEffect((()=>{if(!ne)return;if(D.newPickerConf){const e=[];return Object.values(ne).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void X(Object.assign(Object.assign({},B),{prerequisiteProductIds:e}))}const e=ne.map((e=>parseInt(e.id)));X(Object.assign(Object.assign({},B),{prerequisiteProductIds:e}))}),[ne]),t.useEffect((()=>{if(!Ce)return;if(D.newPickerConf){(null==Ce?void 0:Ce.isCustom)&&delete Ce.isCustom;const e=Object.keys(Ce).map((e=>parseInt(e)));return void X(Object.assign(Object.assign({},B),{entitledCollectionIds:e}))}const e=Ce.map((e=>parseInt(e.id)));X(Object.assign(Object.assign({},B),{entitledCollectionIds:e}))}),[Ce]),t.useEffect((()=>{if(!se)return;if(D.newPickerConf){(null==se?void 0:se.isCustom)&&delete se.isCustom;const e=Object.keys(se).map((e=>parseInt(e)));return void X(Object.assign(Object.assign({},B),{prerequisiteCollectionIds:e}))}const e=se.map((e=>parseInt(e.id)));X(Object.assign(Object.assign({},B),{prerequisiteCollectionIds:e}))}),[se]);const Ue=()=>{var e,i,t,n;let l,r=B;return B.isStaticCoupon?B.isStaticCoupon&&D.getDetailedDescription&&(B.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?l=o.DISCOUNT_TYPES.FREE_SHIPPING:B.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?l=B.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(t=B.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(n=B.prerequisiteCollectionIds)||void 0===n?void 0:n.length)||B.prerequisiteQuantity||B.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)):B.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?l=o.DISCOUNT_TYPES.FREE_SHIPPING:B.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?l=B.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(e=B.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=B.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||B.prerequisiteQuantity||B.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=()=>{De(o.initialStaticCouponErrorState),xe(o.initialDynamicCouponErrorState)},je=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=B.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":B.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&&(Ie(n>1?"Please add discount details":o),!0)},Ve=()=>{if(!D.quadrant||!D.probability)return;const e=[...D.probability];let i=[];e.length>=D.quadrant&&e.splice(D.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(B.probability||0);return Pe(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},ge=e=>{var i,t,n,l,r,a,s,d,c,u,p,E,C,T,S,P;const O=e.value;K(O),le([]),ae([]),de([]),Te([]),O===o.DISCOUNT_TYPES.FREE_SHIPPING?X({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:B.quadrant,isStaticCoupon:!1,title:B.title,expireAt:null!==(i=B.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=B.expireAfter)&&void 0!==t?t:void 0,probability:B.probability,minQuantity:null!==(n=B.minQuantity)&&void 0!==n?n:void 0,minAmount:null!==(l=B.minAmount)&&void 0!==l?l:void 0}):O===o.DISCOUNT_TYPES.BUY_X_GET_Y?X({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:B.quadrant,isStaticCoupon:!1,title:B.title,expireAt:null!==(r=B.expireAt)&&void 0!==r?r:void 0,expireAfter:null!==(a=B.expireAfter)&&void 0!==a?a:void 0,probability:B.probability,minQuantity:void 0,minAmount:void 0}):O===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER?X({targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(s=B.valueType)&&void 0!==s?s:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:B.quadrant,isStaticCoupon:!1,title:B.title,expireAt:null!==(d=B.expireAt)&&void 0!==d?d:void 0,expireAfter:null!==(c=B.expireAfter)&&void 0!==c?c:void 0,probability:B.probability,value:B.value,minQuantity:null!==(u=B.minQuantity)&&void 0!==u?u:void 0,minAmount:null!==(p=B.minAmount)&&void 0!==p?p:void 0}):O===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS&&X({targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(E=B.valueType)&&void 0!==E?E:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:B.quadrant,isStaticCoupon:!1,title:B.title,expireAt:null!==(C=B.expireAt)&&void 0!==C?C:void 0,expireAfter:null!==(T=B.expireAfter)&&void 0!==T?T:void 0,probability:B.probability,value:B.value,minQuantity:null!==(S=B.minQuantity)&&void 0!==S?S:void 0,minAmount:null!==(P=B.minAmount)&&void 0!==P?P:void 0})},Fe=i=>i&&e.jsxRuntimeExports.jsx(d.Tag,{theme:"light",tagText:i,type:"negative",LeadingIcon:T.default});return e.jsxRuntimeExports.jsxs(a.StyledModal,Object.assign({width:(w||L)&&D.newPickerConf?"25px":"640px",open:D.isOpen,hideCrossButton:!!M,headingTitle:L?"Select Products":D.title,headingSubtitle:L?void 0:D.subTitle,footerLeftCustomElement:Oe?Fe(Oe):D.errorMsg?Fe(D.errorMsg):!D.quadrant||D.hideProbability?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{}):Se<=1?e.jsxRuntimeExports.jsx(d.Tag,{theme:"light",tagText:`Current probability sum: ${Se}`,type:"white"}):e.jsxRuntimeExports.jsx(c.Tooltip,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(d.Tag,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${Se}`,type:"negative",LeadingIcon:C.default})})})),headerRightCustomElement:D.allowStaticCoupon||L?void 0:e.jsxRuntimeExports.jsx(n.Dropdown,{options:Ae,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{ge(e)}}),onClose:D.onClose,footerContainerStyle:{borderTop:`1px solid ${r.DEFAULT_THEME.colorsV2.stroke.primary}`},primaryButton:L?{buttonType:"primary",onClick:()=>{q(void 0)},buttonText:"Add"}:w?{buttonType:"primary",onClick:()=>{G(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(U=D.loading)&&void 0!==U&&U,onClick:()=>{var e,i,t,n,l,r,a,s,d,c;if(fe(),B.isStaticCoupon&&!D.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=B,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!D.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(je(r))return void De(r);if(Q||Se>1)return void Ie(!D.hideProbability&&Se>1?"Probability sum should not exceed 1":"Invalid coupon details");D.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:B.title})}else if(B.isStaticCoupon&&D.getDetailedDescription){const{isStaticCoupon:r,couponCode:a,title:s,quadrant:d,probability:c}=B,u={invalidDiscountCode:!a,invalidCouponTitle:!s,invalidCouponDescription:!1,inValidProbability:!D.hideProbability&&(null!=c?c:-1)<0||(null!=c?c:0)>1||Number.isNaN(null!=c?c:0)};if(je(u))return void De(u);const p={invalidCouponTitle:!B.title,inValidProbability:!D.hideProbability&&(null!==(e=B.probability)&&void 0!==e?e:-1)<=0||(null!==(i=B.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=B.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!B.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(z!==o.DISCOUNT_TYPES.BUY_X_GET_Y&&$!==o.MIN_PURCHASE_REQUIREMENT.NA){const{minAmount:e,minQuantity:i}=B;p.inValidMinimumAmount=$===o.MIN_PURCHASE_REQUIREMENT.AMOUNT&&!e,p.inValidMinimumQuantity=$===o.MIN_PURCHASE_REQUIREMENT.QUANTITY&&!i}if(ve&&(p.inValidCouponExpiry=!B.expireAt&&!B.expireAfter),z!==o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&z!==o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||(J!==o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS||!re||Object.keys(re).length||ce||(p.inValidProductSelection=!0,p.inValidProductVariableSelection=!0),J===o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS&&Ce&&!Object.keys(Ce).length&&(p.inValidCollectionSelection=!0)),z===o.DISCOUNT_TYPES.BUY_X_GET_Y&&(B.prerequisiteQuantity||(p.inValidBuyXValue=!0),B.entitledQuantity||(p.inValidGetYValue=!0),ee!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||pe||(p.inValidBuyXProductSelection=!0,p.inValidBuyXProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&se&&!Object.keys(se).length&&(p.inValidBuyXCollectionSelection=!0),te!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!re||Object.keys(re).length||ce||(p.inValidGetYProductSelection=!0,p.inValidGetYProductVariableSelection=!0),te===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&Ce&&!Object.keys(Ce).length&&(p.inValidGetYCollectionSelection=!0)),je(p))return void xe(p);if(Q||Se>1)return void Ie(!D.hideProbability&&Se>1?"Probability sum should not exceed 1":"Invalid coupon details");const E=D.newPickerConf?y(re,ne):null!==(n=D.products)&&void 0!==n?n:[],C=D.newPickerConf?m(Ce,se):null!==(l=D.collection)&&void 0!==l?l:[];D.onSaveClicked(Object.assign(Object.assign({},B),{couponCode:a,isStaticCoupon:r,quadrant:d,description:_.descriptionBuilder(B,D.currency,E,C),productsConf:{entitledProducts:null!=re?re:[],prerequisiteProducts:null!=ne?ne:[]},collectionsConf:{entitledCollections:null!=Ce?Ce:[],prerequisiteCollections:null!=se?se:[]},productVariableConf:{entitledProductVariable:null!=ce?ce:{},prerequisiteProductVariable:null!=pe?pe:{}}}))}else{const e={invalidCouponTitle:!B.title,inValidProbability:!D.hideProbability&&(null!==(r=B.probability)&&void 0!==r?r:-1)<=0||(null!==(a=B.probability)&&void 0!==a?a:-1)>1||Number.isNaN(null!==(s=B.probability)&&void 0!==s?s:-1),inValidDiscountAmount:!B.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(z!==o.DISCOUNT_TYPES.BUY_X_GET_Y&&$!==o.MIN_PURCHASE_REQUIREMENT.NA){const{minAmount:i,minQuantity:t}=B;e.inValidMinimumAmount=$===o.MIN_PURCHASE_REQUIREMENT.AMOUNT&&!i,e.inValidMinimumQuantity=$===o.MIN_PURCHASE_REQUIREMENT.QUANTITY&&!t}if(ve&&(e.inValidCouponExpiry=!B.expireAt&&!B.expireAfter),z!==o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&z!==o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||(J!==o.DISCOUNT_APPLIES_TO.SPECIFIC_PRODUCTS||!re||Object.keys(re).length||ce||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),J===o.DISCOUNT_APPLIES_TO.SPECIFIC_COLLECTIONS&&Ce&&!Object.keys(Ce).length&&(e.inValidCollectionSelection=!0)),z===o.DISCOUNT_TYPES.BUY_X_GET_Y&&(B.prerequisiteQuantity||(e.inValidBuyXValue=!0),B.entitledQuantity||(e.inValidGetYValue=!0),ee!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!ne||Object.keys(ne).length||pe||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),ee===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&se&&!Object.keys(se).length&&(e.inValidBuyXCollectionSelection=!0),te!==o.OFFER_APPLIES_TO.SPECIFIC_PRODUCTS||!re||Object.keys(re).length||ce||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),te===o.OFFER_APPLIES_TO.SPECIFIC_COLLECTIONS&&Ce&&!Object.keys(Ce).length&&(e.inValidGetYCollectionSelection=!0)),je(e))return void xe(e);if(Q||Se>1)return void Ie(!D.hideProbability&&Se>1?"Probability sum should not exceed 1":"Invalid coupon details");const i=D.newPickerConf?y(re,ne):null!==(d=D.products)&&void 0!==d?d:[],t=D.newPickerConf?m(Ce,se):null!==(c=D.collection)&&void 0!==c?c:[];D.onSaveClicked(Object.assign(Object.assign({},B),{description:_.descriptionBuilder(B,D.currency,i,t),productsConf:{entitledProducts:null!=re?re:[],prerequisiteProducts:null!=ne?ne:[]},collectionsConf:{entitledCollections:null!=Ce?Ce:[],prerequisiteCollections:null!=se?se:[]},productVariableConf:{entitledProductVariable:null!=ce?ce:{},prerequisiteProductVariable:null!=pe?pe:{}}}))}}},secondaryButton:L?{buttonType:"tertiaryGray",onClick:()=>{q(void 0)},buttonText:"Back"}:w?{buttonType:"tertiaryGray",onClick:()=>{G(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:D.onClose,buttonText:"Cancel"}},{children:[!L&&!w&&e.jsxRuntimeExports.jsxs(I.StyledDiscountDialogueContainer,{children:[D.allowStaticCoupon&&!L&&!D.hideOption&&e.jsxRuntimeExports.jsxs(I.CouponTypeContainerStyled,Object.assign({selectedDiv:B.isStaticCoupon?1:2},{children:["static"===D.hideOption?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{}):e.jsxRuntimeExports.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{B.isStaticCoupon||(X({isStaticCoupon:!0,quadrant:B.quadrant}),Ie(""),fe())}},{children:[e.jsxRuntimeExports.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:B.isStaticCoupon?r.DEFAULT_THEME.colorsV2.content.brand:void 0}},{children:"Static Code"})),e.jsxRuntimeExports.jsx(l.BodyCaption,Object.assign({style:B.isStaticCoupon?{color:r.DEFAULT_THEME.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===D.hideOption?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{}):e.jsxRuntimeExports.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;B.isStaticCoupon&&(K(o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER),X({isStaticCoupon:!1,quadrant:B.quadrant,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),Ie(""),fe(),be({id:"0",label:"Amount",value:"amount",icon:i=>e.jsxRuntimeExports.jsx("span",Object.assign({style:{fontSize:20,color:i}},{children:D.currency||""}))}),ye(null!==(i=D.makeExpiryMandatory)&&void 0!==i&&i),Z(o.MIN_PURCHASE_REQUIREMENT.NA))}},{children:[e.jsxRuntimeExports.jsx(l.TitleSmall,Object.assign({style:{marginBottom:"4px",color:B.isStaticCoupon?void 0:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Dynamic Code"})),e.jsxRuntimeExports.jsx(l.BodyCaption,Object.assign({style:B.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."}))]}))]})),!D.getDetailedDescription&&e.jsxRuntimeExports.jsx(l.TitleRegular,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",B.isStaticCoupon&&!L&&!D.getDetailedDescription&&e.jsxRuntimeExports.jsx(v.default,{discountData:B,setDiscountData:X,hideProbability:D.hideProbability||!1,discountAdminUrl:D.discountAdminUrl,staticDiscountValidationError:me,currency:D.currency}),B.isStaticCoupon&&!L&&D.getDetailedDescription&&e.jsxRuntimeExports.jsx(v.default,{discountData:B,setDiscountData:X,hideProbability:D.hideProbability||!1,discountAdminUrl:D.discountAdminUrl,staticDiscountValidationError:me,currency:D.currency,getDetailedDescription:!0,selectedCouponType:z,setSelectedCouponType:K,selectedMinimumRequirement:$,setSelectedMinimumRequirement:Z,discountCouponAppliesTo:J,offerAppliesToBuy:ee,offerAppliesToGet:te,setDiscountCouponAppliesTo:W,setOfferAppliesToBuy:ie,setOfferAppliesToGet:oe,hideExpiration:D.hideExpiration||!1,onChangeCouponType:ge,entitledProducts:null!=re?re:[],prerequisiteProducts:null!=ne?ne:[],setEntitledProducts:ae,setPrerequisiteProducts:le,entitledCollections:null!=Ce?Ce:[],prerequisiteCollections:null!=se?se:[],setEntitledCollections:Te,setPrerequisiteCollections:de,setIsProductPickerOpen:q,setIsProductVariablePickerOpen:Y,setIsCollectionPickerOpen:G,productPickerOpen:L,productVariablePickerOpen:M,collectionPickerOpen:w,useNewPicker:!!D.newPickerConf,selectedDiscountDetails:_e,setSelectedDiscountDetails:be,isProductVariableSupported:D.isProductVariableSupported,entitledProductVariable:ce,setEntitledProductVariable:ue,preRequisiteProductVariable:pe,setPreRequisiteProductVariable:Ee,productVariableList:D.productVariableList,isAddExpirationChecked:ve,setIsAddExpirationChecked:ye,dynamicDiscountValidationError:Ne,setDynamicDiscountValidationError:xe,setValidationErrorMessage:Ie,resetValidationErrors:fe,discountDetailsOptions:k,selectedExpiration:he,setSelectedExpiration:Re,makeExpiryMandatory:!!D.makeExpiryMandatory}),!B.isStaticCoupon&&!L&&!w&&e.jsxRuntimeExports.jsx(b.default,{currency:D.currency,entitledProducts:null!=re?re:[],prerequisiteProducts:null!=ne?ne:[],setEntitledProducts:ae,setPrerequisiteProducts:le,discountData:B,productPickerOpen:L,productVariablePickerOpen:M,setIsProductPickerOpen:q,setIsProductVariablePickerOpen:Y,setDiscountData:X,selectedCouponType:z,setSelectedCouponType:K,selectedMinimumRequirement:$,setSelectedMinimumRequirement:Z,discountCouponAppliesTo:J,offerAppliesToBuy:ee,offerAppliesToGet:te,setDiscountCouponAppliesTo:W,setOfferAppliesToBuy:ie,setOfferAppliesToGet:oe,hideProbability:D.hideProbability||!1,hideExpiration:D.hideExpiration||!1,allowStaticCoupon:D.allowStaticCoupon,onChangeCouponType:ge,collectionPickerOpen:w,entitledCollections:null!=Ce?Ce:[],prerequisiteCollections:null!=se?se:[],setIsCollectionPickerOpen:G,setEntitledCollections:Te,setPrerequisiteCollections:de,useNewPicker:!!D.newPickerConf,setSelectedDiscountDetails:be,selectedDiscountDetails:_e,isProductVariableSupported:D.isProductVariableSupported,entitledProductVariable:ce,setEntitledProductVariable:ue,preRequisiteProductVariable:pe,setPreRequisiteProductVariable:Ee,productVariableList:D.productVariableList,isAddExpirationChecked:ve,setIsAddExpirationChecked:ye,dynamicDiscountValidationError:Ne,setDynamicDiscountValidationError:xe,setValidationErrorMessage:Ie,resetValidationErrors:fe,discountDetailsOptions:k,selectedExpiration:he,setSelectedExpiration:Re,makeExpiryMandatory:!!D.makeExpiryMandatory})]}),!!L&&e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[!D.newPickerConf&&e.jsxRuntimeExports.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxRuntimeExports.jsx(s.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(f=D.products)&&void 0!==f?f:[],title:"Select Products",onClose:()=>{q(void 0)},selectedProducts:null!==(j=L===b.DISCOUNT_PRODUCTS.ENTITLED?re:ne)&&void 0!==j?j:[],setSelectedProducts:L===b.DISCOUNT_PRODUCTS.ENTITLED?ae:le,onSearchKeyChange:D.onProductSearch})})),D.newPickerConf&&e.jsxRuntimeExports.jsx(S.ProductPickerModal,{visible:!0,onClose:()=>q(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=D.newPickerConf)||void 0===o?void 0:o.fetchCollections)?D.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=D.newPickerConf)||void 0===l?void 0:l.fetchProducts)?D.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:L===b.DISCOUNT_PRODUCTS.ENTITLED?re:ne,onAdd:e=>{L===b.DISCOUNT_PRODUCTS.ENTITLED?ae(e):le(e),q(void 0)},zIndex:200,storeId:D.newPickerConf.storeId,appType:D.newPickerConf.appType||i.ApplicationType.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=D.newPickerConf)||void 0===n?void 0:n.searchInCollection)?D.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=D.newPickerConf)||void 0===o?void 0:o.searchProducts)?D.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!w&&e.jsxRuntimeExports.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[D.newPickerConf&&e.jsxRuntimeExports.jsx(S.ProductPickerModal,{visible:!0,onClose:()=>G(void 0),collectionFetcher:D.newPickerConf.fetchCollections,productFetcher:D.newPickerConf.fetchProducts,selectedItems:w===b.DISCOUNT_PRODUCTS.ENTITLED?Ce:se,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),w===b.DISCOUNT_PRODUCTS.ENTITLED?Te(e):de(e),G(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:D.newPickerConf.storeId,appType:D.newPickerConf.appType||i.ApplicationType.BIK,searchInCollectionFetcher:D.newPickerConf.searchInCollection,searchFetcher:D.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!D.newPickerConf&&e.jsxRuntimeExports.jsx(s.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(V=D.collection)&&void 0!==V?V:[],title:"Select Products",onClose:()=>{G(void 0)},selectedProducts:null!==(g=w===b.DISCOUNT_PRODUCTS.ENTITLED?Ce:se)&&void 0!==g?g:[],setSelectedProducts:w===b.DISCOUNT_PRODUCTS.ENTITLED?Te:de,onSearchKeyChange:D.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),M&&e.jsxRuntimeExports.jsx(I.VariablePickerContainer,{children:e.jsxRuntimeExports.jsx("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e.jsxRuntimeExports.jsx(O.VariablePicker,{type:P.PickerType.EMBEDDED,data:null!==(F=D.productVariableList)&&void 0!==F?F:[],showHeader:!0,onSelect:e=>{if(M===b.DISCOUNT_PRODUCTS.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;ue({displayName:i,actualValue:t,isAvailable:o}),Y(void 0)}if(M===b.DISCOUNT_PRODUCTS.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;Ee({displayName:i,actualValue:t,isAvailable:o}),Y(void 0)}},onClose:()=>{Y(void 0)}})}))})]}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./type.js"),t=require("../../utils/DateUtils.js");function i(e,t){const i=[];return t.forEach((t=>{e.find((e=>e.toString()===t.id))&&i.push(t.name)})),i}exports.descriptionBuilder=(r,n,u
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./type.js"),t=require("../../utils/DateUtils.js");function i(e,t){const i=[];return t.forEach((t=>{e.find((e=>e.toString()===t.id))&&i.push(t.name)})),i}exports.descriptionBuilder=(r,n,l,u)=>{var o,T,d;return console.log("descriptionBuilder",l,u,r),(null==r?void 0:r.isStaticCoupon)&&(null==r?void 0:r.description)?r.description:r.targetType===e.DISCOUNT_TARGET_TYPES.LINE_ITEM&&r.targetSelection===e.DISCOUNT_TARGET_SELECTION.ALL?`${r.valueType===e.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?n:""}${(null!==(o=r.value)&&void 0!==o?o:0).toString()}${r.valueType===e.DISCOUNT_VALUE_TYPES.PERCENTAGE?"% off":" off"} on all products\n ${r.minAmount?`| Minimum purchase of ${n}${r.minAmount}`:""} ${r.minQuantity?`| Buy ${r.minQuantity} products`:""} | One use per customer${r.expireAfter?` | Expires in ${r.expireAfter} day(s)`:r.expireAt?` | Expires at ${t.default.getStringFromDate(r.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():r.targetType===e.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?`\n Free shipping on your order ${r.minAmount?`| Minimum purchase of ${n}${r.minAmount}`:""} ${r.minQuantity?`| Buy ${r.minQuantity} products`:""} | One use per customer${r.expireAfter?` | Expires in ${r.expireAfter} day(s)`:r.expireAt?` | Expires at ${t.default.getStringFromDate(r.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():r.targetSelection===e.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(T=r.prerequisiteProductIds)||void 0===T?void 0:T.length)||(null===(d=r.prerequisiteCollectionIds)||void 0===d?void 0:d.length)||r.entitledQuantity||r.prerequisiteQuantity?`${function(e,t,r){var n,l,u,o,T,d,E,a;let s=`Buy ${e.prerequisiteQuantity} item`;if((null===(n=e.prerequisiteProductIds)||void 0===n?void 0:n.length)||(null===(l=e.prerequisiteCollectionIds)||void 0===l?void 0:l.length)){const n=i(null!==(u=e.prerequisiteProductIds)&&void 0!==u?u:[],t),l=i(null!==(o=e.prerequisiteCollectionIds)&&void 0!==o?o:[],r);s+=" from a selection of ",n.length>0&&(s+=`${n.join(", ")} or `),l.length>0&&(s+=`products in ${l.join(", ")} collection or `),s=s.slice(0,-4)}if(s+=` and get ${e.entitledQuantity} item`,(null===(T=e.entitledProductIds)||void 0===T?void 0:T.length)||(null===(d=e.entitledCollectionIds)||void 0===d?void 0:d.length)){const n=i(null!==(E=e.entitledProductIds)&&void 0!==E?E:[],t),l=i(null!==(a=e.entitledCollectionIds)&&void 0!==a?a:[],r);s+=" from ",n.length>0&&(s+=`${n.join(", ")} or `),l.length>0&&(s+=`products in ${l.join(", ")} collection or `),s=s.slice(0,-4)}return s}(r,l,u)} ${100===r.value?"for free":`at ${r.value}% off`} | One use per customer${r.expireAfter?` | Expires in ${r.expireAfter} day(s)`:r.expireAt?` | Expires at ${t.default.getStringFromDate(r.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():`${function(t,r,n,l){var u,o,T;let d=`Get ${t.valueType===e.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?l:""}${(null!==(u=t.value)&&void 0!==u?u:0).toString()}${t.valueType===e.DISCOUNT_VALUE_TYPES.PERCENTAGE?"% off":" off"} on `;const E=i(null!==(o=t.entitledProductIds)&&void 0!==o?o:[],r),a=i(null!==(T=t.entitledCollectionIds)&&void 0!==T?T:[],n);E.length>0&&(d+=`${E.join(", ")} or `);a.length>0&&(d+=`products in ${a.join(", ")} collection or `);return d.slice(0,-4)}(r,l,u,n)} | One use per customer${r.expireAfter?` | Expires in ${r.expireAfter} day(s)`:r.expireAt?` | Expires at ${t.default.getStringFromDate(r.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():void 0},exports.validateDiscountData=(t,i,r,n,l,u,o)=>{var T;if(!t.title||(null===(T=t.title)||void 0===T?void 0:T.length)>30)return!0;if(!n){if(isNaN(t.probability))return!0;if((t.probability||0)>1)return!0;if((t.probability||0)<0)return!0;if(l>1)return!0}if(u&&!o){if(!(null==t?void 0:t.couponCode))return!0;if(!t.description)return!0}else{if(u&&o&&!(null==t?void 0:t.couponCode))return!0;if(r&&r===e.DISCOUNT_TYPES.AMOUNT_OFF_ORDER){if((null==t?void 0:t.valueType)===e.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT){if(!(null==t?void 0:t.value)||(null==t?void 0:t.value)<=0)return!0}else if(!(null==t?void 0:t.value)||(null==t?void 0:t.value)<=0||(null==t?void 0:t.value)>100)return!0;if(i===e.MIN_PURCHASE_REQUIREMENT.AMOUNT&&(!t.minAmount||(null==t?void 0:t.minAmount)<=0))return!0;if(i===e.MIN_PURCHASE_REQUIREMENT.QUANTITY&&(!(null==t?void 0:t.minQuantity)||(null==t?void 0:t.minQuantity)<=0))return!0;if(t.targetType!==e.DISCOUNT_TARGET_TYPES.LINE_ITEM)return!0;if(t.targetSelection!==e.DISCOUNT_TARGET_SELECTION.ALL)return!0}else if(r&&r===e.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS){if(!t.value)return!0;if((null==t?void 0:t.valueType)===e.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT){if(!(null==t?void 0:t.value)||(null==t?void 0:t.value)<=0)return!0}else if(!(null==t?void 0:t.value)||(null==t?void 0:t.value)<=0||(null==t?void 0:t.value)>100)return!0;if(t.targetSelection!==e.DISCOUNT_TARGET_SELECTION.ENTITLED)return!0;if(t.targetType!==e.DISCOUNT_TARGET_TYPES.LINE_ITEM)return!0}else if(r&&r===e.DISCOUNT_TYPES.BUY_X_GET_Y){if(!t.entitledQuantity||t.entitledQuantity<0||!t.prerequisiteQuantity||t.prerequisiteQuantity<0)return!0;if(t.valueType!==e.DISCOUNT_VALUE_TYPES.PERCENTAGE)return!0;if(!t.value)return!0;if(t.value<=0||t.value>100)return!0;if(t.targetSelection!==e.DISCOUNT_TARGET_SELECTION.ENTITLED)return!0;if(t.targetType!==e.DISCOUNT_TARGET_TYPES.LINE_ITEM)return!0}else if(r&&e.DISCOUNT_TYPES.FREE_SHIPPING){if(t.valueType!==e.DISCOUNT_VALUE_TYPES.PERCENTAGE)return!0;if(t.targetType!==e.DISCOUNT_TARGET_TYPES.SHIPPING_LINE)return!0;if(100!==t.value)return!0;if(t.targetSelection!==e.DISCOUNT_TARGET_SELECTION.ALL)return!0;if(i===e.MIN_PURCHASE_REQUIREMENT.AMOUNT&&(!t.minAmount||(null==t?void 0:t.minAmount)<=0))return!0;if(i===e.MIN_PURCHASE_REQUIREMENT.QUANTITY&&(!(null==t?void 0:t.minQuantity)||(null==t?void 0:t.minQuantity)<=0))return!0}if(null!==t.expireAfter&&void 0!==t.expireAfter&&t.expireAfter<=0)return!0;if(t.expireAt&&t.expireAt<new Date)return!0}return!1};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{ApplicationType as i}from"@bikdotai/bik-models/growth/models/bik-store";import{useState as t,useEffect as o}from"react";import{DISCOUNT_TYPES as n,MIN_PURCHASE_REQUIREMENT as l,DISCOUNT_APPLIES_TO as r,OFFER_APPLIES_TO as d,initialStaticCouponErrorState as a,initialDynamicCouponErrorState as c,COUPON_EXPIRATION as s,DISCOUNT_TARGET_TYPES as u,DISCOUNT_TARGET_SELECTION as p,DISCOUNT_VALUE_TYPES as C}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as b}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as v,BodyCaption as y,TitleRegular as P}from"../TypographyStyle.js";import{DEFAULT_THEME as m}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 I}from"../modals/styledModal.js";import{ProductPickerContent as h}from"../product-picker/ProductPickerModal.js";import{Tag as O}from"../tag/Tag.js";import{Tooltip as E}from"../tooltips/Tooltip.js";import S from"../../assets/icons/gift_icon.svg.js";import T from"../../assets/icons/percentage_icon.svg.js";import f from"../../assets/icons/shipping_icon.svg.js";import V from"../../assets/icons/triangle_error.svg.js";import g from"../../assets/icons/warning.svg.js";import{ProductPickerModal as D}from"../product-picker-v2/modal.js";import"../product-picker-v2/type.js";import{PickerType as j}from"../variable-picker-v3/model.js";import{VariablePicker as _}from"../variable-picker-v3/VariablePicker.js";import{StyledDiscountDialogueContainer as A,CouponTypeContainerStyled as x,VariablePickerContainer as N}from"./DiscountModal.styled.js";import{validateDiscountData as k,descriptionBuilder as F}from"./DiscountUtils.js";import R,{DISCOUNT_PRODUCTS as M}from"./DynamicCoupon/DynamicCoupon.js";import w from"./StaticCoupon/StaticCoupon.js";const q=q=>{var U,L,B,G,Y,X,Q,H,z,K,$;const Z=[{id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:q.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e.jsx(T,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:n.BUY_X_GET_Y,icon:i=>e.jsx(S,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:n.FREE_SHIPPING,icon:i=>e.jsx(f,{width:24,height:24,color:i})}],[J,W]=t(),[ee,ie]=t(),[te,oe]=t(),[ne,le]=t(null!==(U=q.data)&&void 0!==U?U:"string"==typeof q.hideOption?{isStaticCoupon:"dynamic"===q.hideOption}:{isStaticCoupon:!0}),[re,de]=t(!0),[ae,ce]=t(),[se,ue]=t((null===(L=q.data)||void 0===L?void 0:L.minAmount)?l.AMOUNT:(null===(B=q.data)||void 0===B?void 0:B.minQuantity)?l.QUANTITY:l.NA),[pe,Ce]=t(r.ENTIRE_ORDER),[be,ve]=t(d.SPECIFIC_PRODUCTS),[ye,Pe]=t(d.SPECIFIC_PRODUCTS),[me,Ie]=t(void 0),[he,Oe]=t(void 0),[Ee,Se]=t(void 0),[Te,fe]=t(void 0),[Ve,ge]=t(void 0),[De,je]=t(void 0),[_e,Ae]=t(0),[xe,Ne]=t(""),[ke,Fe]=t(Z[0]),[Re,Me]=t(!1),[we,qe]=t(a),[Ue,Le]=t(c),[Be,Ge]=t(q.getDetailedDescription?s.FIXED_EXPIRATION:s.DYNAMIC_EXPIRATION),Ye=[{value:n.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:ae===n.AMOUNT_OFF_ORDER},{value:n.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:ae===n.AMOUNT_OFF_PRODUCTS},{value:n.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:ae===n.BUY_X_GET_Y},{value:n.FREE_SHIPPING,label:"Free shipping",selected:ae===n.FREE_SHIPPING}];o((()=>{q.makeExpiryMandatory&&Me(!0)}),[q.makeExpiryMandatory]),o((()=>{var e,i,t,o,l,a,c,u;let p;const{tempCouponData:b,discountType:v}=Xe();ce(v);const y=(e,i)=>{Fe(b.valueType===C.FIXED_AMOUNT?Z[e]:Z[i])},P=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==b?void 0:b.expireAfter)||(null==b?void 0:b.expireAt))&&(Me(!0),(null==b?void 0:b.expireAt)&&Ge(s.FIXED_EXPIRATION),(null==b?void 0:b.expireAfter)&&Ge(s.DYNAMIC_EXPIRATION)),v){case n.AMOUNT_OFF_ORDER:y(0,1),Ce(r.ENTIRE_ORDER);break;case n.AMOUNT_OFF_PRODUCTS:y(0,1),(null===(e=b.entitledCollectionIds)||void 0===e?void 0:e.length)?Ce(r.SPECIFIC_COLLECTIONS):(null===(i=b.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=b.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(Ce(r.SPECIFIC_PRODUCTS),P(null===(o=b.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,fe)):Ce(r.ENTIRE_ORDER);break;case n.BUY_X_GET_Y:Fe(Z[2]),(null===(l=b.entitledCollectionIds)||void 0===l?void 0:l.length)?Pe(d.SPECIFIC_COLLECTIONS):(Pe(d.SPECIFIC_PRODUCTS),P(null===(a=b.productVariableConf)||void 0===a?void 0:a.entitledProductVariable,fe)),(null===(c=b.prerequisiteCollectionIds)||void 0===c?void 0:c.length)?ve(d.SPECIFIC_COLLECTIONS):(ve(d.SPECIFIC_PRODUCTS),P(null===(u=b.productVariableConf)||void 0===u?void 0:u.prerequisiteProductVariable,ge));break;case n.FREE_SHIPPING:Fe(Z[3])}le(Object.assign({},b)),q.hideProbability||(p=ze()),de(k(b,se,v,q.hideProbability||!1,p,!!b.isStaticCoupon,q.getDetailedDescription||!1)),q.hideProbability||ze()}),[]),o((()=>{let e;q.hideProbability||(e=ze()),de(k(ne,se,ae,q.hideProbability||!1,e,!!ne.isStaticCoupon,q.getDetailedDescription||!1))}),[ne,_e,ae,se]),o((()=>{var e,i,t,o,n,l,r;if(!q.newPickerConf&&((null===(e=q.products)||void 0===e?void 0:e.length)||(null===(i=q.collection)||void 0===i?void 0:i.length))){if(q.products&&(null===(t=q.products)||void 0===t?void 0:t.length)){if(null===(o=q.data)||void 0===o?void 0:o.entitledProductIds){const e=q.products.filter((e=>{var i,t;return null===(t=null===(i=q.data)||void 0===i?void 0:i.entitledProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Oe(e)}if(null===(n=q.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=q.products.filter((e=>{var i,t;return null===(t=null===(i=q.data)||void 0===i?void 0:i.prerequisiteProductIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Ie(e)}}if(q.collection&&q.collection.length){if(null===(l=q.data)||void 0===l?void 0:l.entitledCollectionIds){const e=q.collection.filter((e=>{var i,t;return null===(t=null===(i=q.data)||void 0===i?void 0:i.entitledCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));je(e)}if(null===(r=q.data)||void 0===r?void 0:r.prerequisiteCollectionIds){const e=q.collection.filter((e=>{var i,t;return null===(t=null===(i=q.data)||void 0===i?void 0:i.prerequisiteCollectionIds)||void 0===t?void 0:t.includes(parseInt(e.id))}));Se(e)}}}}),[q.products,q.collection]),o((()=>{var e,i,t,o,n,l,r,d;(null===(i=null===(e=q.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&Oe(q.data.productsConf.entitledProducts),(null===(o=null===(t=q.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&Ie(q.data.productsConf.prerequisiteProducts),(null===(l=null===(n=q.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&je(q.data.collectionsConf.entitledCollections),(null===(d=null===(r=q.data)||void 0===r?void 0:r.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&Se(q.data.collectionsConf.prerequisiteCollections)}),[null===(G=q.data)||void 0===G?void 0:G.productsConf,null===(Y=q.data)||void 0===Y?void 0:Y.collectionsConf]),o((()=>{if(!he)return;if(q.newPickerConf){const e=[];return Object.values(he).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void le(Object.assign(Object.assign({},ne),{entitledProductIds:e}))}const e=he.map((e=>parseInt(e.id)));le(Object.assign(Object.assign({},ne),{entitledProductIds:e}))}),[he]),o((()=>{if(!me)return;if(q.newPickerConf){const e=[];return Object.values(me).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void le(Object.assign(Object.assign({},ne),{prerequisiteProductIds:e}))}const e=me.map((e=>parseInt(e.id)));le(Object.assign(Object.assign({},ne),{prerequisiteProductIds:e}))}),[me]),o((()=>{if(!De)return;if(q.newPickerConf){(null==De?void 0:De.isCustom)&&delete De.isCustom;const e=Object.keys(De).map((e=>parseInt(e)));return void le(Object.assign(Object.assign({},ne),{entitledCollectionIds:e}))}const e=De.map((e=>parseInt(e.id)));le(Object.assign(Object.assign({},ne),{entitledCollectionIds:e}))}),[De]),o((()=>{if(!Ee)return;if(q.newPickerConf){(null==Ee?void 0:Ee.isCustom)&&delete Ee.isCustom;const e=Object.keys(Ee).map((e=>parseInt(e)));return void le(Object.assign(Object.assign({},ne),{prerequisiteCollectionIds:e}))}const e=Ee.map((e=>parseInt(e.id)));le(Object.assign(Object.assign({},ne),{prerequisiteCollectionIds:e}))}),[Ee]);const Xe=()=>{var e,i,t,o;let l,r=ne;return ne.isStaticCoupon?ne.isStaticCoupon&&q.getDetailedDescription&&(ne.targetType===u.SHIPPING_LINE?l=n.FREE_SHIPPING:ne.targetType===u.LINE_ITEM?l=ne.targetSelection===p.ENTITLED?(null===(t=ne.prerequisiteProductIds)||void 0===t?void 0:t.length)||(null===(o=ne.prerequisiteCollectionIds)||void 0===o?void 0:o.length)||ne.prerequisiteQuantity||ne.entitledQuantity?n.BUY_X_GET_Y:n.AMOUNT_OFF_PRODUCTS:n.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:u.LINE_ITEM,targetSelection:p.ALL,valueType:C.FIXED_AMOUNT}),l=n.AMOUNT_OFF_ORDER)):ne.targetType===u.SHIPPING_LINE?l=n.FREE_SHIPPING:ne.targetType===u.LINE_ITEM?l=ne.targetSelection===p.ENTITLED?(null===(e=ne.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(i=ne.prerequisiteCollectionIds)||void 0===i?void 0:i.length)||ne.prerequisiteQuantity||ne.entitledQuantity?n.BUY_X_GET_Y:n.AMOUNT_OFF_PRODUCTS:n.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:u.LINE_ITEM,targetSelection:p.ALL,valueType:C.FIXED_AMOUNT}),l=n.AMOUNT_OFF_ORDER),{discountType:l,tempCouponData:r}},Qe=()=>{qe(a),Le(c)},He=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=ne.probability)&&void 0!==i?i:-1)>1?"Probability should not exceed 1":ne.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&&(Ne(n>1?"Please add discount details":o),!0)},ze=()=>{if(!q.quadrant||!q.probability)return;const e=[...q.probability];let i=[];e.length>=q.quadrant&&e.splice(q.quadrant-1,1),i=e;const t=i.reduce(((e,i)=>e+i),0)+(ne.probability||0);return Ae(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Ke=e=>{var i,t,o,l,r,d,a,c,s,b,v,y,P,m,I,h;const O=e.value;ce(O),Ie([]),Oe([]),Se([]),je([]),O===n.FREE_SHIPPING?le({value:100,targetSelection:p.ALL,targetType:u.SHIPPING_LINE,valueType:C.PERCENTAGE,quadrant:ne.quadrant,isStaticCoupon:!1,title:ne.title,expireAt:null!==(i=ne.expireAt)&&void 0!==i?i:void 0,expireAfter:null!==(t=ne.expireAfter)&&void 0!==t?t:void 0,probability:ne.probability,minQuantity:null!==(o=ne.minQuantity)&&void 0!==o?o:void 0,minAmount:null!==(l=ne.minAmount)&&void 0!==l?l:void 0}):O===n.BUY_X_GET_Y?le({value:100,targetSelection:p.ENTITLED,targetType:u.LINE_ITEM,valueType:C.PERCENTAGE,quadrant:ne.quadrant,isStaticCoupon:!1,title:ne.title,expireAt:null!==(r=ne.expireAt)&&void 0!==r?r:void 0,expireAfter:null!==(d=ne.expireAfter)&&void 0!==d?d:void 0,probability:ne.probability,minQuantity:void 0,minAmount:void 0}):O===n.AMOUNT_OFF_ORDER?le({targetSelection:p.ALL,targetType:u.LINE_ITEM,valueType:null!==(a=ne.valueType)&&void 0!==a?a:C.FIXED_AMOUNT,quadrant:ne.quadrant,isStaticCoupon:!1,title:ne.title,expireAt:null!==(c=ne.expireAt)&&void 0!==c?c:void 0,expireAfter:null!==(s=ne.expireAfter)&&void 0!==s?s:void 0,probability:ne.probability,value:ne.value,minQuantity:null!==(b=ne.minQuantity)&&void 0!==b?b:void 0,minAmount:null!==(v=ne.minAmount)&&void 0!==v?v:void 0}):O===n.AMOUNT_OFF_PRODUCTS&&le({targetSelection:p.ENTITLED,targetType:u.LINE_ITEM,valueType:null!==(y=ne.valueType)&&void 0!==y?y:C.FIXED_AMOUNT,quadrant:ne.quadrant,isStaticCoupon:!1,title:ne.title,expireAt:null!==(P=ne.expireAt)&&void 0!==P?P:void 0,expireAfter:null!==(m=ne.expireAfter)&&void 0!==m?m:void 0,probability:ne.probability,value:ne.value,minQuantity:null!==(I=ne.minQuantity)&&void 0!==I?I:void 0,minAmount:null!==(h=ne.minAmount)&&void 0!==h?h:void 0})},$e=i=>i&&e.jsx(O,{theme:"light",tagText:i,type:"negative",LeadingIcon:g});return e.jsxs(I,Object.assign({width:(te||J)&&q.newPickerConf?"25px":"640px",open:q.isOpen,hideCrossButton:!!ee,headingTitle:J?"Select Products":q.title,headingSubtitle:J?void 0:q.subTitle,footerLeftCustomElement:xe?$e(xe):q.errorMsg?$e(q.errorMsg):!q.quadrant||q.hideProbability?e.jsx(e.Fragment,{}):_e<=1?e.jsx(O,{theme:"light",tagText:`Current probability sum: ${_e}`,type:"white"}):e.jsx(E,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsx("div",{children:e.jsx(O,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${_e}`,type:"negative",LeadingIcon:V})})})),headerRightCustomElement:q.allowStaticCoupon||J?void 0:e.jsx(b,{options:Ye,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Ke(e)}}),onClose:q.onClose,footerContainerStyle:{borderTop:`1px solid ${m.colorsV2.stroke.primary}`},primaryButton:J?{buttonType:"primary",onClick:()=>{W(void 0)},buttonText:"Add"}:te?{buttonType:"primary",onClick:()=>{oe(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Create discount code",isLoading:null!==(X=q.loading)&&void 0!==X&&X,onClick:()=>{var e,i,t,o,a,c,s,u,p,C;if(Qe(),ne.isStaticCoupon&&!q.getDetailedDescription){const{isStaticCoupon:e,couponCode:i,title:t,description:o,quadrant:n,probability:l}=ne,r={invalidDiscountCode:!i,invalidCouponTitle:!t,invalidCouponDescription:!o,inValidProbability:!q.hideProbability&&(null!=l?l:-1)<0||(null!=l?l:0)>1||Number.isNaN(null!=l?l:0)};if(He(r))return void qe(r);if(re||_e>1)return void Ne(!q.hideProbability&&_e>1?"Probability sum should not exceed 1":"Invalid coupon details");q.onSaveClicked({quadrant:n,couponCode:i,description:o,isStaticCoupon:e,probability:l,title:ne.title})}else if(ne.isStaticCoupon&&q.getDetailedDescription){const{isStaticCoupon:c,couponCode:s,title:u,quadrant:p,probability:C}=ne,b={invalidDiscountCode:!s,invalidCouponTitle:!u,invalidCouponDescription:!1,inValidProbability:!q.hideProbability&&(null!=C?C:-1)<0||(null!=C?C:0)>1||Number.isNaN(null!=C?C:0)};if(He(b))return void qe(b);const v={invalidCouponTitle:!ne.title,inValidProbability:!q.hideProbability&&(null!==(e=ne.probability)&&void 0!==e?e:-1)<=0||(null!==(i=ne.probability)&&void 0!==i?i:-1)>1||Number.isNaN(null!==(t=ne.probability)&&void 0!==t?t:-1),inValidDiscountAmount:!ne.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(ae!==n.BUY_X_GET_Y&&se!==l.NA){const{minAmount:e,minQuantity:i}=ne;v.inValidMinimumAmount=se===l.AMOUNT&&!e,v.inValidMinimumQuantity=se===l.QUANTITY&&!i}if(Re&&(v.inValidCouponExpiry=!ne.expireAt&&!ne.expireAfter),ae!==n.AMOUNT_OFF_ORDER&&ae!==n.AMOUNT_OFF_PRODUCTS||(pe!==r.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||Te||(v.inValidProductSelection=!0,v.inValidProductVariableSelection=!0),pe===r.SPECIFIC_COLLECTIONS&&De&&!Object.keys(De).length&&(v.inValidCollectionSelection=!0)),ae===n.BUY_X_GET_Y&&(ne.prerequisiteQuantity||(v.inValidBuyXValue=!0),ne.entitledQuantity||(v.inValidGetYValue=!0),be!==d.SPECIFIC_PRODUCTS||!me||Object.keys(me).length||Ve||(v.inValidBuyXProductSelection=!0,v.inValidBuyXProductVariableSelection=!0),be===d.SPECIFIC_COLLECTIONS&&Ee&&!Object.keys(Ee).length&&(v.inValidBuyXCollectionSelection=!0),ye!==d.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||Te||(v.inValidGetYProductSelection=!0,v.inValidGetYProductVariableSelection=!0),ye===d.SPECIFIC_COLLECTIONS&&De&&!Object.keys(De).length&&(v.inValidGetYCollectionSelection=!0)),He(v))return void Le(v);if(re||_e>1)return void Ne(!q.hideProbability&&_e>1?"Probability sum should not exceed 1":"Invalid coupon details");q.onSaveClicked(Object.assign(Object.assign({},ne),{couponCode:s,isStaticCoupon:c,quadrant:p,description:F(ne,q.currency,null!==(o=q.products)&&void 0!==o?o:[],null!==(a=q.collection)&&void 0!==a?a:[]),productsConf:{entitledProducts:null!=he?he:[],prerequisiteProducts:null!=me?me:[]},collectionsConf:{entitledCollections:null!=De?De:[],prerequisiteCollections:null!=Ee?Ee:[]},productVariableConf:{entitledProductVariable:null!=Te?Te:{},prerequisiteProductVariable:null!=Ve?Ve:{}}}))}else{const e={invalidCouponTitle:!ne.title,inValidProbability:!q.hideProbability&&(null!==(c=ne.probability)&&void 0!==c?c:-1)<=0||(null!==(s=ne.probability)&&void 0!==s?s:-1)>1||Number.isNaN(null!==(u=ne.probability)&&void 0!==u?u:-1),inValidDiscountAmount:!ne.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(ae!==n.BUY_X_GET_Y&&se!==l.NA){const{minAmount:i,minQuantity:t}=ne;e.inValidMinimumAmount=se===l.AMOUNT&&!i,e.inValidMinimumQuantity=se===l.QUANTITY&&!t}if(Re&&(e.inValidCouponExpiry=!ne.expireAt&&!ne.expireAfter),ae!==n.AMOUNT_OFF_ORDER&&ae!==n.AMOUNT_OFF_PRODUCTS||(pe!==r.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||Te||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),pe===r.SPECIFIC_COLLECTIONS&&De&&!Object.keys(De).length&&(e.inValidCollectionSelection=!0)),ae===n.BUY_X_GET_Y&&(ne.prerequisiteQuantity||(e.inValidBuyXValue=!0),ne.entitledQuantity||(e.inValidGetYValue=!0),be!==d.SPECIFIC_PRODUCTS||!me||Object.keys(me).length||Ve||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),be===d.SPECIFIC_COLLECTIONS&&Ee&&!Object.keys(Ee).length&&(e.inValidBuyXCollectionSelection=!0),ye!==d.SPECIFIC_PRODUCTS||!he||Object.keys(he).length||Te||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),ye===d.SPECIFIC_COLLECTIONS&&De&&!Object.keys(De).length&&(e.inValidGetYCollectionSelection=!0)),He(e))return void Le(e);if(re||_e>1)return void Ne(!q.hideProbability&&_e>1?"Probability sum should not exceed 1":"Invalid coupon details");q.onSaveClicked(Object.assign(Object.assign({},ne),{description:F(ne,q.currency,null!==(p=q.products)&&void 0!==p?p:[],null!==(C=q.collection)&&void 0!==C?C:[]),productsConf:{entitledProducts:null!=he?he:[],prerequisiteProducts:null!=me?me:[]},collectionsConf:{entitledCollections:null!=De?De:[],prerequisiteCollections:null!=Ee?Ee:[]},productVariableConf:{entitledProductVariable:null!=Te?Te:{},prerequisiteProductVariable:null!=Ve?Ve:{}}}))}}},secondaryButton:J?{buttonType:"tertiaryGray",onClick:()=>{W(void 0)},buttonText:"Back"}:te?{buttonType:"tertiaryGray",onClick:()=>{oe(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:q.onClose,buttonText:"Cancel"}},{children:[!J&&!te&&e.jsxs(A,{children:[q.allowStaticCoupon&&!J&&!q.hideOption&&e.jsxs(x,Object.assign({selectedDiv:ne.isStaticCoupon?1:2},{children:["static"===q.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{ne.isStaticCoupon||(le({isStaticCoupon:!0,quadrant:ne.quadrant}),Ne(""),Qe())}},{children:[e.jsx(v,Object.assign({style:{marginBottom:"4px",color:ne.isStaticCoupon?m.colorsV2.content.brand:void 0}},{children:"Static Code"})),e.jsx(y,Object.assign({style:ne.isStaticCoupon?{color:m.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===q.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;ne.isStaticCoupon&&(ce(n.AMOUNT_OFF_ORDER),le({isStaticCoupon:!1,quadrant:ne.quadrant,targetType:u.LINE_ITEM,targetSelection:p.ALL,valueType:C.FIXED_AMOUNT}),Ne(""),Qe(),Fe({id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i}},{children:q.currency||""}))}),Me(null!==(i=q.makeExpiryMandatory)&&void 0!==i&&i),ue(l.NA))}},{children:[e.jsx(v,Object.assign({style:{marginBottom:"4px",color:ne.isStaticCoupon?void 0:m.colorsV2.content.brand}},{children:"Dynamic Code"})),e.jsx(y,Object.assign({style:ne.isStaticCoupon?{}:{color:m.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."}))]}))]})),!q.getDetailedDescription&&e.jsx(P,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",ne.isStaticCoupon&&!J&&!q.getDetailedDescription&&e.jsx(w,{discountData:ne,setDiscountData:le,hideProbability:q.hideProbability||!1,discountAdminUrl:q.discountAdminUrl,staticDiscountValidationError:we,currency:q.currency}),ne.isStaticCoupon&&!J&&q.getDetailedDescription&&e.jsx(w,{discountData:ne,setDiscountData:le,hideProbability:q.hideProbability||!1,discountAdminUrl:q.discountAdminUrl,staticDiscountValidationError:we,currency:q.currency,getDetailedDescription:!0,selectedCouponType:ae,setSelectedCouponType:ce,selectedMinimumRequirement:se,setSelectedMinimumRequirement:ue,discountCouponAppliesTo:pe,offerAppliesToBuy:be,offerAppliesToGet:ye,setDiscountCouponAppliesTo:Ce,setOfferAppliesToBuy:ve,setOfferAppliesToGet:Pe,hideExpiration:q.hideExpiration||!1,onChangeCouponType:Ke,entitledProducts:null!=he?he:[],prerequisiteProducts:null!=me?me:[],setEntitledProducts:Oe,setPrerequisiteProducts:Ie,entitledCollections:null!=De?De:[],prerequisiteCollections:null!=Ee?Ee:[],setEntitledCollections:je,setPrerequisiteCollections:Se,setIsProductPickerOpen:W,setIsProductVariablePickerOpen:ie,setIsCollectionPickerOpen:oe,productPickerOpen:J,productVariablePickerOpen:ee,collectionPickerOpen:te,useNewPicker:!!q.newPickerConf,selectedDiscountDetails:ke,setSelectedDiscountDetails:Fe,isProductVariableSupported:q.isProductVariableSupported,entitledProductVariable:Te,setEntitledProductVariable:fe,preRequisiteProductVariable:Ve,setPreRequisiteProductVariable:ge,productVariableList:q.productVariableList,isAddExpirationChecked:Re,setIsAddExpirationChecked:Me,dynamicDiscountValidationError:Ue,setDynamicDiscountValidationError:Le,setValidationErrorMessage:Ne,resetValidationErrors:Qe,discountDetailsOptions:Z,selectedExpiration:Be,setSelectedExpiration:Ge,makeExpiryMandatory:!!q.makeExpiryMandatory}),!ne.isStaticCoupon&&!J&&!te&&e.jsx(R,{currency:q.currency,entitledProducts:null!=he?he:[],prerequisiteProducts:null!=me?me:[],setEntitledProducts:Oe,setPrerequisiteProducts:Ie,discountData:ne,productPickerOpen:J,productVariablePickerOpen:ee,setIsProductPickerOpen:W,setIsProductVariablePickerOpen:ie,setDiscountData:le,selectedCouponType:ae,setSelectedCouponType:ce,selectedMinimumRequirement:se,setSelectedMinimumRequirement:ue,discountCouponAppliesTo:pe,offerAppliesToBuy:be,offerAppliesToGet:ye,setDiscountCouponAppliesTo:Ce,setOfferAppliesToBuy:ve,setOfferAppliesToGet:Pe,hideProbability:q.hideProbability||!1,hideExpiration:q.hideExpiration||!1,allowStaticCoupon:q.allowStaticCoupon,onChangeCouponType:Ke,collectionPickerOpen:te,entitledCollections:null!=De?De:[],prerequisiteCollections:null!=Ee?Ee:[],setIsCollectionPickerOpen:oe,setEntitledCollections:je,setPrerequisiteCollections:Se,useNewPicker:!!q.newPickerConf,setSelectedDiscountDetails:Fe,selectedDiscountDetails:ke,isProductVariableSupported:q.isProductVariableSupported,entitledProductVariable:Te,setEntitledProductVariable:fe,preRequisiteProductVariable:Ve,setPreRequisiteProductVariable:ge,productVariableList:q.productVariableList,isAddExpirationChecked:Re,setIsAddExpirationChecked:Me,dynamicDiscountValidationError:Ue,setDynamicDiscountValidationError:Le,setValidationErrorMessage:Ne,resetValidationErrors:Qe,discountDetailsOptions:Z,selectedExpiration:Be,setSelectedExpiration:Ge,makeExpiryMandatory:!!q.makeExpiryMandatory})]}),!!J&&e.jsxs(e.Fragment,{children:[!q.newPickerConf&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsx(h,{show:!0,onSave:()=>{},products:null!==(Q=q.products)&&void 0!==Q?Q:[],title:"Select Products",onClose:()=>{W(void 0)},selectedProducts:null!==(H=J===M.ENTITLED?he:me)&&void 0!==H?H:[],setSelectedProducts:J===M.ENTITLED?Oe:Ie,onSearchKeyChange:q.onProductSearch})})),q.newPickerConf&&e.jsx(D,{visible:!0,onClose:()=>W(void 0),collectionFetcher:(e,i,t)=>{var o;return(null===(o=q.newPickerConf)||void 0===o?void 0:o.fetchCollections)?q.newPickerConf.fetchCollections(e,i,!1,t):null},productFetcher:(e,i,t,o,n)=>{var l;return(null===(l=q.newPickerConf)||void 0===l?void 0:l.fetchProducts)?q.newPickerConf.fetchProducts(e,i,o,n,!1,t):null},selectedItems:J===M.ENTITLED?he:me,onAdd:e=>{J===M.ENTITLED?Oe(e):Ie(e),W(void 0)},zIndex:200,storeId:q.newPickerConf.storeId,appType:q.newPickerConf.appType||i.BIK,searchInCollectionFetcher:(e,i,t,o)=>{var n;return(null===(n=q.newPickerConf)||void 0===n?void 0:n.searchInCollection)?q.newPickerConf.searchInCollection(e,i,t,!1,o):null},customCollectionRestriction:!1,searchFetcher:(e,i,t)=>{var o;return(null===(o=q.newPickerConf)||void 0===o?void 0:o.searchProducts)?q.newPickerConf.searchProducts(e,i,!1,t):null},hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!te&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxs(e.Fragment,{children:[q.newPickerConf&&e.jsx(D,{visible:!0,onClose:()=>oe(void 0),collectionFetcher:q.newPickerConf.fetchCollections,productFetcher:q.newPickerConf.fetchProducts,selectedItems:te===M.ENTITLED?De:Ee,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),te===M.ENTITLED?je(e):Se(e),oe(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:q.newPickerConf.storeId,appType:q.newPickerConf.appType||i.BIK,searchInCollectionFetcher:q.newPickerConf.searchInCollection,searchFetcher:q.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!q.newPickerConf&&e.jsx(h,{show:!0,onSave:()=>{},products:null!==(z=q.collection)&&void 0!==z?z:[],title:"Select Products",onClose:()=>{oe(void 0)},selectedProducts:null!==(K=te===M.ENTITLED?De:Ee)&&void 0!==K?K:[],setSelectedProducts:te===M.ENTITLED?je:Se,onSearchKeyChange:q.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),ee&&e.jsx(N,{children:e.jsx("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e.jsx(_,{type:j.EMBEDDED,data:null!==($=q.productVariableList)&&void 0!==$?$:[],showHeader:!0,onSelect:e=>{if(ee===M.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;fe({displayName:i,actualValue:t,isAvailable:o}),ie(void 0)}if(ee===M.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;ge({displayName:i,actualValue:t,isAvailable:o}),ie(void 0)}},onClose:()=>{ie(void 0)}})}))})]}))};export{q as DiscountModal};
|
|
1
|
+
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{ApplicationType as i}from"@bikdotai/bik-models/growth/models/bik-store";import{useState as t,useEffect as o}from"react";import{DISCOUNT_TYPES as n,MIN_PURCHASE_REQUIREMENT as l,DISCOUNT_APPLIES_TO as r,OFFER_APPLIES_TO as a,initialStaticCouponErrorState as d,initialDynamicCouponErrorState as s,COUPON_EXPIRATION as c,DISCOUNT_TARGET_TYPES as u,DISCOUNT_TARGET_SELECTION as p,DISCOUNT_VALUE_TYPES as C}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as b}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as v,BodyCaption as P,TitleRegular as y}from"../TypographyStyle.js";import{DEFAULT_THEME as m}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 I}from"../tooltips/Tooltip.js";import S from"../../assets/icons/gift_icon.svg.js";import T from"../../assets/icons/percentage_icon.svg.js";import f from"../../assets/icons/shipping_icon.svg.js";import g from"../../assets/icons/triangle_error.svg.js";import V from"../../assets/icons/warning.svg.js";import{ProductPickerModal as j}from"../product-picker-v2/modal.js";import"../product-picker-v2/type.js";import{PickerType as D}from"../variable-picker-v3/model.js";import{VariablePicker as _}from"../variable-picker-v3/VariablePicker.js";import{StyledDiscountDialogueContainer as A,CouponTypeContainerStyled as x,VariablePickerContainer as N}from"./DiscountModal.styled.js";import{validateDiscountData as k,descriptionBuilder as F}from"./DiscountUtils.js";import w,{DISCOUNT_PRODUCTS as R}from"./DynamicCoupon/DynamicCoupon.js";import M from"./StaticCoupon/StaticCoupon.js";const q=(e,i)=>{const t=new Map,o=e=>{e&&Object.values(e).forEach((e=>{e.products&&Object.values(e.products).forEach((e=>{e.id&&!t.has(e.id)&&t.set(e.id,e)}))}))};return o(e),o(i),Array.from(t.values())},U=(e,i)=>{const t=new Map,o=e=>{e&&Object.entries(e).forEach((e=>{let[i,o]=e;if("isCustom"!==i&&o&&"object"==typeof o){const e={id:i,name:o.name||o.title||"",description:o.description||"",image:o.image||"",isHidden:o.isHidden||!1,isPrivate:o.isPrivate||!1,handle:o.handle||"",isSmartCollection:o.isSmartCollection||!1};t.has(i)||t.set(i,e)}}))};return o(e),o(i),Array.from(t.values())},L=L=>{var B,G,Y,X,Q,H,z,K,$,Z,J;const W=[{id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i,lineHeight:.9}},{children:L.currency||""}))},{id:"1",label:"Percentage",value:"percentage",icon:i=>e.jsx(T,{width:24,height:24,color:i})},{id:"2",label:"Buy X get Y",value:n.BUY_X_GET_Y,icon:i=>e.jsx(S,{width:24,height:24,color:i})},{id:"3",label:"Free Shipping",value:n.FREE_SHIPPING,icon:i=>e.jsx(f,{width:24,height:24,color:i})}],[ee,ie]=t(),[te,oe]=t(),[ne,le]=t(),[re,ae]=t(null!==(B=L.data)&&void 0!==B?B:"string"==typeof L.hideOption?{isStaticCoupon:"dynamic"===L.hideOption}:{isStaticCoupon:!0}),[de,se]=t(!0),[ce,ue]=t(),[pe,Ce]=t((null===(G=L.data)||void 0===G?void 0:G.minAmount)?l.AMOUNT:(null===(Y=L.data)||void 0===Y?void 0:Y.minQuantity)?l.QUANTITY:l.NA),[be,ve]=t(r.ENTIRE_ORDER),[Pe,ye]=t(a.SPECIFIC_PRODUCTS),[me,he]=t(a.SPECIFIC_PRODUCTS),[Oe,Ee]=t(void 0),[Ie,Se]=t(void 0),[Te,fe]=t(void 0),[ge,Ve]=t(void 0),[je,De]=t(void 0),[_e,Ae]=t(void 0),[xe,Ne]=t(0),[ke,Fe]=t(""),[we,Re]=t(W[0]),[Me,qe]=t(!1),[Ue,Le]=t(d),[Be,Ge]=t(s),[Ye,Xe]=t(L.getDetailedDescription?c.FIXED_EXPIRATION:c.DYNAMIC_EXPIRATION),Qe=[{value:n.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:ce===n.AMOUNT_OFF_ORDER},{value:n.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:ce===n.AMOUNT_OFF_PRODUCTS},{value:n.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:ce===n.BUY_X_GET_Y},{value:n.FREE_SHIPPING,label:"Free shipping",selected:ce===n.FREE_SHIPPING}];o((()=>{L.makeExpiryMandatory&&qe(!0)}),[L.makeExpiryMandatory]),o((()=>{var e,i,t,o,l,d,s,u;let p;const{tempCouponData:b,discountType:v}=He();ue(v);const P=(e,i)=>{Re(b.valueType===C.FIXED_AMOUNT?W[e]:W[i])},y=(e,i)=>{Object.keys(e||{}).length&&i(e)};switch(((null==b?void 0:b.expireAfter)||(null==b?void 0:b.expireAt))&&(qe(!0),(null==b?void 0:b.expireAt)&&Xe(c.FIXED_EXPIRATION),(null==b?void 0:b.expireAfter)&&Xe(c.DYNAMIC_EXPIRATION)),v){case n.AMOUNT_OFF_ORDER:P(0,1),ve(r.ENTIRE_ORDER);break;case n.AMOUNT_OFF_PRODUCTS:P(0,1),(null===(e=b.entitledCollectionIds)||void 0===e?void 0:e.length)?ve(r.SPECIFIC_COLLECTIONS):(null===(i=b.entitledProductIds)||void 0===i?void 0:i.length)||(null===(t=b.productVariableConf)||void 0===t?void 0:t.entitledProductVariable)?(ve(r.SPECIFIC_PRODUCTS),y(null===(o=b.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,Ve)):ve(r.ENTIRE_ORDER);break;case n.BUY_X_GET_Y:Re(W[2]),(null===(l=b.entitledCollectionIds)||void 0===l?void 0:l.length)?he(a.SPECIFIC_COLLECTIONS):(he(a.SPECIFIC_PRODUCTS),y(null===(d=b.productVariableConf)||void 0===d?void 0:d.entitledProductVariable,Ve)),(null===(s=b.prerequisiteCollectionIds)||void 0===s?void 0:s.length)?ye(a.SPECIFIC_COLLECTIONS):(ye(a.SPECIFIC_PRODUCTS),y(null===(u=b.productVariableConf)||void 0===u?void 0:u.prerequisiteProductVariable,De));break;case n.FREE_SHIPPING:Re(W[3])}ae(Object.assign({},b)),L.hideProbability||(p=$e()),se(k(b,pe,v,L.hideProbability||!1,p,!!b.isStaticCoupon,L.getDetailedDescription||!1)),L.hideProbability||$e()}),[]),o((()=>{let e;L.hideProbability||(e=$e()),se(k(re,pe,ce,L.hideProbability||!1,e,!!re.isStaticCoupon,L.getDetailedDescription||!1))}),[re,xe,ce,pe]),o((()=>{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))}));Se(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))}));Ee(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))}));Ae(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]),o((()=>{var e,i,t,o,n,l,r,a;(null===(i=null===(e=L.data)||void 0===e?void 0:e.productsConf)||void 0===i?void 0:i.entitledProducts)&&Se(L.data.productsConf.entitledProducts),(null===(o=null===(t=L.data)||void 0===t?void 0:t.productsConf)||void 0===o?void 0:o.prerequisiteProducts)&&Ee(L.data.productsConf.prerequisiteProducts),(null===(l=null===(n=L.data)||void 0===n?void 0:n.collectionsConf)||void 0===l?void 0:l.entitledCollections)&&Ae(L.data.collectionsConf.entitledCollections),(null===(a=null===(r=L.data)||void 0===r?void 0:r.collectionsConf)||void 0===a?void 0:a.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]),o((()=>{if(!Ie)return;if(L.newPickerConf){const e=[];return Object.values(Ie).forEach((i=>{i.products&&Object.keys(i.products).forEach((i=>{e.push(parseInt(i))}))})),void ae(Object.assign(Object.assign({},re),{entitledProductIds:e}))}const e=Ie.map((e=>parseInt(e.id)));ae(Object.assign(Object.assign({},re),{entitledProductIds:e}))}),[Ie]),o((()=>{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 ae(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}const e=Oe.map((e=>parseInt(e.id)));ae(Object.assign(Object.assign({},re),{prerequisiteProductIds:e}))}),[Oe]),o((()=>{if(!_e)return;if(L.newPickerConf){(null==_e?void 0:_e.isCustom)&&delete _e.isCustom;const e=Object.keys(_e).map((e=>parseInt(e)));return void ae(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}const e=_e.map((e=>parseInt(e.id)));ae(Object.assign(Object.assign({},re),{entitledCollectionIds:e}))}),[_e]),o((()=>{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 ae(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}const e=Te.map((e=>parseInt(e.id)));ae(Object.assign(Object.assign({},re),{prerequisiteCollectionIds:e}))}),[Te]);const He=()=>{var e,i,t,o;let l,r=re;return re.isStaticCoupon?re.isStaticCoupon&&L.getDetailedDescription&&(re.targetType===u.SHIPPING_LINE?l=n.FREE_SHIPPING:re.targetType===u.LINE_ITEM?l=re.targetSelection===p.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?n.BUY_X_GET_Y:n.AMOUNT_OFF_PRODUCTS:n.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:u.LINE_ITEM,targetSelection:p.ALL,valueType:C.FIXED_AMOUNT}),l=n.AMOUNT_OFF_ORDER)):re.targetType===u.SHIPPING_LINE?l=n.FREE_SHIPPING:re.targetType===u.LINE_ITEM?l=re.targetSelection===p.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?n.BUY_X_GET_Y:n.AMOUNT_OFF_PRODUCTS:n.AMOUNT_OFF_ORDER:(r=Object.assign(Object.assign({},r),{targetType:u.LINE_ITEM,targetSelection:p.ALL,valueType:C.FIXED_AMOUNT}),l=n.AMOUNT_OFF_ORDER),{discountType:l,tempCouponData:r}},ze=()=>{Le(d),Ge(s)},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&&(Fe(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 Ne(parseFloat(t.toFixed(4))),parseFloat(t.toFixed(4))},Ze=e=>{var i,t,o,l,r,a,d,s,c,b,v,P,y,m,h,O;const E=e.value;ue(E),Ee([]),Se([]),fe([]),Ae([]),E===n.FREE_SHIPPING?ae({value:100,targetSelection:p.ALL,targetType:u.SHIPPING_LINE,valueType:C.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!1,title:re.title,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!==(l=re.minAmount)&&void 0!==l?l:void 0}):E===n.BUY_X_GET_Y?ae({value:100,targetSelection:p.ENTITLED,targetType:u.LINE_ITEM,valueType:C.PERCENTAGE,quadrant:re.quadrant,isStaticCoupon:!1,title:re.title,expireAt:null!==(r=re.expireAt)&&void 0!==r?r:void 0,expireAfter:null!==(a=re.expireAfter)&&void 0!==a?a:void 0,probability:re.probability,minQuantity:void 0,minAmount:void 0}):E===n.AMOUNT_OFF_ORDER?ae({targetSelection:p.ALL,targetType:u.LINE_ITEM,valueType:null!==(d=re.valueType)&&void 0!==d?d:C.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!1,title:re.title,expireAt:null!==(s=re.expireAt)&&void 0!==s?s:void 0,expireAfter:null!==(c=re.expireAfter)&&void 0!==c?c:void 0,probability:re.probability,value:re.value,minQuantity:null!==(b=re.minQuantity)&&void 0!==b?b:void 0,minAmount:null!==(v=re.minAmount)&&void 0!==v?v:void 0}):E===n.AMOUNT_OFF_PRODUCTS&&ae({targetSelection:p.ENTITLED,targetType:u.LINE_ITEM,valueType:null!==(P=re.valueType)&&void 0!==P?P:C.FIXED_AMOUNT,quadrant:re.quadrant,isStaticCoupon:!1,title:re.title,expireAt:null!==(y=re.expireAt)&&void 0!==y?y:void 0,expireAfter:null!==(m=re.expireAfter)&&void 0!==m?m:void 0,probability:re.probability,value:re.value,minQuantity:null!==(h=re.minQuantity)&&void 0!==h?h:void 0,minAmount:null!==(O=re.minAmount)&&void 0!==O?O:void 0})},Je=i=>i&&e.jsx(E,{theme:"light",tagText:i,type:"negative",LeadingIcon:V});return e.jsxs(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:ke?Je(ke):L.errorMsg?Je(L.errorMsg):!L.quadrant||L.hideProbability?e.jsx(e.Fragment,{}):xe<=1?e.jsx(E,{theme:"light",tagText:`Current probability sum: ${xe}`,type:"white"}):e.jsx(I,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsx("div",{children:e.jsx(E,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${xe}`,type:"negative",LeadingIcon:g})})})),headerRightCustomElement:L.allowStaticCoupon||ee?void 0:e.jsx(b,{options:Qe,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{Ze(e)}}),onClose:L.onClose,footerContainerStyle:{borderTop:`1px solid ${m.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,d,s,c,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(de||xe>1)return void Fe(!L.hideProbability&&xe>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:s,couponCode:c,title:u,quadrant:p,probability:C}=re,b={invalidDiscountCode:!c,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(ce!==n.BUY_X_GET_Y&&pe!==l.NA){const{minAmount:e,minQuantity:i}=re;v.inValidMinimumAmount=pe===l.AMOUNT&&!e,v.inValidMinimumQuantity=pe===l.QUANTITY&&!i}if(Me&&(v.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),ce!==n.AMOUNT_OFF_ORDER&&ce!==n.AMOUNT_OFF_PRODUCTS||(be!==r.SPECIFIC_PRODUCTS||!Ie||Object.keys(Ie).length||ge||(v.inValidProductSelection=!0,v.inValidProductVariableSelection=!0),be===r.SPECIFIC_COLLECTIONS&&_e&&!Object.keys(_e).length&&(v.inValidCollectionSelection=!0)),ce===n.BUY_X_GET_Y&&(re.prerequisiteQuantity||(v.inValidBuyXValue=!0),re.entitledQuantity||(v.inValidGetYValue=!0),Pe!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||je||(v.inValidBuyXProductSelection=!0,v.inValidBuyXProductVariableSelection=!0),Pe===a.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(v.inValidBuyXCollectionSelection=!0),me!==a.SPECIFIC_PRODUCTS||!Ie||Object.keys(Ie).length||ge||(v.inValidGetYProductSelection=!0,v.inValidGetYProductVariableSelection=!0),me===a.SPECIFIC_COLLECTIONS&&_e&&!Object.keys(_e).length&&(v.inValidGetYCollectionSelection=!0)),Ke(v))return void Ge(v);if(de||xe>1)return void Fe(!L.hideProbability&&xe>1?"Probability sum should not exceed 1":"Invalid coupon details");const P=L.newPickerConf?q(Ie,Oe):null!==(o=L.products)&&void 0!==o?o:[],y=L.newPickerConf?U(_e,Te):null!==(d=L.collection)&&void 0!==d?d:[];L.onSaveClicked(Object.assign(Object.assign({},re),{couponCode:c,isStaticCoupon:s,quadrant:p,description:F(re,L.currency,P,y),productsConf:{entitledProducts:null!=Ie?Ie:[],prerequisiteProducts:null!=Oe?Oe:[]},collectionsConf:{entitledCollections:null!=_e?_e:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=je?je:{}}}))}else{const e={invalidCouponTitle:!re.title,inValidProbability:!L.hideProbability&&(null!==(s=re.probability)&&void 0!==s?s:-1)<=0||(null!==(c=re.probability)&&void 0!==c?c:-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(ce!==n.BUY_X_GET_Y&&pe!==l.NA){const{minAmount:i,minQuantity:t}=re;e.inValidMinimumAmount=pe===l.AMOUNT&&!i,e.inValidMinimumQuantity=pe===l.QUANTITY&&!t}if(Me&&(e.inValidCouponExpiry=!re.expireAt&&!re.expireAfter),ce!==n.AMOUNT_OFF_ORDER&&ce!==n.AMOUNT_OFF_PRODUCTS||(be!==r.SPECIFIC_PRODUCTS||!Ie||Object.keys(Ie).length||ge||(e.inValidProductSelection=!0,e.inValidProductVariableSelection=!0),be===r.SPECIFIC_COLLECTIONS&&_e&&!Object.keys(_e).length&&(e.inValidCollectionSelection=!0)),ce===n.BUY_X_GET_Y&&(re.prerequisiteQuantity||(e.inValidBuyXValue=!0),re.entitledQuantity||(e.inValidGetYValue=!0),Pe!==a.SPECIFIC_PRODUCTS||!Oe||Object.keys(Oe).length||je||(e.inValidBuyXProductSelection=!0,e.inValidBuyXProductVariableSelection=!0),Pe===a.SPECIFIC_COLLECTIONS&&Te&&!Object.keys(Te).length&&(e.inValidBuyXCollectionSelection=!0),me!==a.SPECIFIC_PRODUCTS||!Ie||Object.keys(Ie).length||ge||(e.inValidGetYProductSelection=!0,e.inValidGetYProductVariableSelection=!0),me===a.SPECIFIC_COLLECTIONS&&_e&&!Object.keys(_e).length&&(e.inValidGetYCollectionSelection=!0)),Ke(e))return void Ge(e);if(de||xe>1)return void Fe(!L.hideProbability&&xe>1?"Probability sum should not exceed 1":"Invalid coupon details");const i=L.newPickerConf?q(Ie,Oe):null!==(p=L.products)&&void 0!==p?p:[],t=L.newPickerConf?U(_e,Te):null!==(C=L.collection)&&void 0!==C?C:[];L.onSaveClicked(Object.assign(Object.assign({},re),{description:F(re,L.currency,i,t),productsConf:{entitledProducts:null!=Ie?Ie:[],prerequisiteProducts:null!=Oe?Oe:[]},collectionsConf:{entitledCollections:null!=_e?_e:[],prerequisiteCollections:null!=Te?Te:[]},productVariableConf:{entitledProductVariable:null!=ge?ge:{},prerequisiteProductVariable:null!=je?je:{}}}))}}},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&&e.jsxs(A,{children:[L.allowStaticCoupon&&!ee&&!L.hideOption&&e.jsxs(x,Object.assign({selectedDiv:re.isStaticCoupon?1:2},{children:["static"===L.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{re.isStaticCoupon||(ae({isStaticCoupon:!0,quadrant:re.quadrant}),Fe(""),ze())}},{children:[e.jsx(v,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?m.colorsV2.content.brand:void 0}},{children:"Static Code"})),e.jsx(P,Object.assign({style:re.isStaticCoupon?{color:m.colorsV2.content.brand}:{}},{children:"A uniform code provided manually, used for providing the same discount to all customers."}))]})),"dynamic"===L.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{var i;re.isStaticCoupon&&(ue(n.AMOUNT_OFF_ORDER),ae({isStaticCoupon:!1,quadrant:re.quadrant,targetType:u.LINE_ITEM,targetSelection:p.ALL,valueType:C.FIXED_AMOUNT}),Fe(""),ze(),Re({id:"0",label:"Amount",value:"amount",icon:i=>e.jsx("span",Object.assign({style:{fontSize:20,color:i}},{children:L.currency||""}))}),qe(null!==(i=L.makeExpiryMandatory)&&void 0!==i&&i),Ce(l.NA))}},{children:[e.jsx(v,Object.assign({style:{marginBottom:"4px",color:re.isStaticCoupon?void 0:m.colorsV2.content.brand}},{children:"Dynamic Code"})),e.jsx(P,Object.assign({style:re.isStaticCoupon?{}:{color:m.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.jsx(y,Object.assign({style:{marginTop:"24px"}},{children:"Coupon Details"}))," ",re.isStaticCoupon&&!ee&&!L.getDetailedDescription&&e.jsx(M,{discountData:re,setDiscountData:ae,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency}),re.isStaticCoupon&&!ee&&L.getDetailedDescription&&e.jsx(M,{discountData:re,setDiscountData:ae,hideProbability:L.hideProbability||!1,discountAdminUrl:L.discountAdminUrl,staticDiscountValidationError:Ue,currency:L.currency,getDetailedDescription:!0,selectedCouponType:ce,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:Pe,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:ye,setOfferAppliesToGet:he,hideExpiration:L.hideExpiration||!1,onChangeCouponType:Ze,entitledProducts:null!=Ie?Ie:[],prerequisiteProducts:null!=Oe?Oe:[],setEntitledProducts:Se,setPrerequisiteProducts:Ee,entitledCollections:null!=_e?_e:[],prerequisiteCollections:null!=Te?Te:[],setEntitledCollections:Ae,setPrerequisiteCollections:fe,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setIsCollectionPickerOpen:le,productPickerOpen:ee,productVariablePickerOpen:te,collectionPickerOpen:ne,useNewPicker:!!L.newPickerConf,selectedDiscountDetails:we,setSelectedDiscountDetails:Re,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:je,setPreRequisiteProductVariable:De,productVariableList:L.productVariableList,isAddExpirationChecked:Me,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:Fe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory}),!re.isStaticCoupon&&!ee&&!ne&&e.jsx(w,{currency:L.currency,entitledProducts:null!=Ie?Ie:[],prerequisiteProducts:null!=Oe?Oe:[],setEntitledProducts:Se,setPrerequisiteProducts:Ee,discountData:re,productPickerOpen:ee,productVariablePickerOpen:te,setIsProductPickerOpen:ie,setIsProductVariablePickerOpen:oe,setDiscountData:ae,selectedCouponType:ce,setSelectedCouponType:ue,selectedMinimumRequirement:pe,setSelectedMinimumRequirement:Ce,discountCouponAppliesTo:be,offerAppliesToBuy:Pe,offerAppliesToGet:me,setDiscountCouponAppliesTo:ve,setOfferAppliesToBuy:ye,setOfferAppliesToGet:he,hideProbability:L.hideProbability||!1,hideExpiration:L.hideExpiration||!1,allowStaticCoupon:L.allowStaticCoupon,onChangeCouponType:Ze,collectionPickerOpen:ne,entitledCollections:null!=_e?_e:[],prerequisiteCollections:null!=Te?Te:[],setIsCollectionPickerOpen:le,setEntitledCollections:Ae,setPrerequisiteCollections:fe,useNewPicker:!!L.newPickerConf,setSelectedDiscountDetails:Re,selectedDiscountDetails:we,isProductVariableSupported:L.isProductVariableSupported,entitledProductVariable:ge,setEntitledProductVariable:Ve,preRequisiteProductVariable:je,setPreRequisiteProductVariable:De,productVariableList:L.productVariableList,isAddExpirationChecked:Me,setIsAddExpirationChecked:qe,dynamicDiscountValidationError:Be,setDynamicDiscountValidationError:Ge,setValidationErrorMessage:Fe,resetValidationErrors:ze,discountDetailsOptions:W,selectedExpiration:Ye,setSelectedExpiration:Xe,makeExpiryMandatory:!!L.makeExpiryMandatory})]}),!!ee&&e.jsxs(e.Fragment,{children:[!L.newPickerConf&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsx(O,{show:!0,onSave:()=>{},products:null!==(z=L.products)&&void 0!==z?z:[],title:"Select Products",onClose:()=>{ie(void 0)},selectedProducts:null!==(K=ee===R.ENTITLED?Ie:Oe)&&void 0!==K?K:[],setSelectedProducts:ee===R.ENTITLED?Se:Ee,onSearchKeyChange:L.onProductSearch})})),L.newPickerConf&&e.jsx(j,{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===R.ENTITLED?Ie:Oe,onAdd:e=>{ee===R.ENTITLED?Se(e):Ee(e),ie(void 0)},zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||i.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.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxs(e.Fragment,{children:[L.newPickerConf&&e.jsx(j,{visible:!0,onClose:()=>le(void 0),collectionFetcher:L.newPickerConf.fetchCollections,productFetcher:L.newPickerConf.fetchProducts,selectedItems:ne===R.ENTITLED?_e:Te,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),ne===R.ENTITLED?Ae(e):fe(e),le(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:L.newPickerConf.storeId,appType:L.newPickerConf.appType||i.BIK,searchInCollectionFetcher:L.newPickerConf.searchInCollection,searchFetcher:L.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!L.newPickerConf&&e.jsx(O,{show:!0,onSave:()=>{},products:null!==($=L.collection)&&void 0!==$?$:[],title:"Select Products",onClose:()=>{le(void 0)},selectedProducts:null!==(Z=ne===R.ENTITLED?_e:Te)&&void 0!==Z?Z:[],setSelectedProducts:ne===R.ENTITLED?Ae:fe,onSearchKeyChange:L.onCollectionSearch,searchPlaceholder:"Search collections..."})]})})),te&&e.jsx(N,{children:e.jsx("div",Object.assign({style:{width:"50%",height:"100%",marginLeft:"50%"}},{children:e.jsx(_,{type:D.EMBEDDED,data:null!==(J=L.productVariableList)&&void 0!==J?J:[],showHeader:!0,onSelect:e=>{if(te===R.ENTITLED){const{displayName:i,actualValue:t,isAvailable:o}=e;Ve({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}if(te===R.PREREQUISITE){const{displayName:i,actualValue:t,isAvailable:o}=e;De({displayName:i,actualValue:t,isAvailable:o}),oe(void 0)}},onClose:()=>{oe(void 0)}})}))})]}))};export{L as DiscountModal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DISCOUNT_TYPES as e,DISCOUNT_VALUE_TYPES as
|
|
1
|
+
import{DISCOUNT_TYPES as e,DISCOUNT_VALUE_TYPES as i,MIN_PURCHASE_REQUIREMENT as t,DISCOUNT_TARGET_TYPES as r,DISCOUNT_TARGET_SELECTION as n}from"./type.js";import l from"../../utils/DateUtils.js";const u=(l,u,o,d,a,p,s)=>{var f;if(!l.title||(null===(f=l.title)||void 0===f?void 0:f.length)>30)return!0;if(!d){if(isNaN(l.probability))return!0;if((l.probability||0)>1)return!0;if((l.probability||0)<0)return!0;if(a>1)return!0}if(p&&!s){if(!(null==l?void 0:l.couponCode))return!0;if(!l.description)return!0}else{if(p&&s&&!(null==l?void 0:l.couponCode))return!0;if(o&&o===e.AMOUNT_OFF_ORDER){if((null==l?void 0:l.valueType)===i.FIXED_AMOUNT){if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0)return!0}else if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0||(null==l?void 0:l.value)>100)return!0;if(u===t.AMOUNT&&(!l.minAmount||(null==l?void 0:l.minAmount)<=0))return!0;if(u===t.QUANTITY&&(!(null==l?void 0:l.minQuantity)||(null==l?void 0:l.minQuantity)<=0))return!0;if(l.targetType!==r.LINE_ITEM)return!0;if(l.targetSelection!==n.ALL)return!0}else if(o&&o===e.AMOUNT_OFF_PRODUCTS){if(!l.value)return!0;if((null==l?void 0:l.valueType)===i.FIXED_AMOUNT){if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0)return!0}else if(!(null==l?void 0:l.value)||(null==l?void 0:l.value)<=0||(null==l?void 0:l.value)>100)return!0;if(l.targetSelection!==n.ENTITLED)return!0;if(l.targetType!==r.LINE_ITEM)return!0}else if(o&&o===e.BUY_X_GET_Y){if(!l.entitledQuantity||l.entitledQuantity<0||!l.prerequisiteQuantity||l.prerequisiteQuantity<0)return!0;if(l.valueType!==i.PERCENTAGE)return!0;if(!l.value)return!0;if(l.value<=0||l.value>100)return!0;if(l.targetSelection!==n.ENTITLED)return!0;if(l.targetType!==r.LINE_ITEM)return!0}else if(o&&e.FREE_SHIPPING){if(l.valueType!==i.PERCENTAGE)return!0;if(l.targetType!==r.SHIPPING_LINE)return!0;if(100!==l.value)return!0;if(l.targetSelection!==n.ALL)return!0;if(u===t.AMOUNT&&(!l.minAmount||(null==l?void 0:l.minAmount)<=0))return!0;if(u===t.QUANTITY&&(!(null==l?void 0:l.minQuantity)||(null==l?void 0:l.minQuantity)<=0))return!0}if(null!==l.expireAfter&&void 0!==l.expireAfter&&l.expireAfter<=0)return!0;if(l.expireAt&&l.expireAt<new Date)return!0}return!1},o=(e,t,u,o)=>{var a,p,s;return console.log("descriptionBuilder",u,o,e),(null==e?void 0:e.isStaticCoupon)&&(null==e?void 0:e.description)?e.description:e.targetType===r.LINE_ITEM&&e.targetSelection===n.ALL?`${e.valueType===i.FIXED_AMOUNT?t:""}${(null!==(a=e.value)&&void 0!==a?a:0).toString()}${e.valueType===i.PERCENTAGE?"% off":" off"} on all products\n ${e.minAmount?`| Minimum purchase of ${t}${e.minAmount}`:""} ${e.minQuantity?`| Buy ${e.minQuantity} products`:""} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:e.expireAt?` | Expires at ${l.getStringFromDate(e.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():e.targetType===r.SHIPPING_LINE?`\n Free shipping on your order ${e.minAmount?`| Minimum purchase of ${t}${e.minAmount}`:""} ${e.minQuantity?`| Buy ${e.minQuantity} products`:""} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:e.expireAt?` | Expires at ${l.getStringFromDate(e.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():e.targetSelection===n.ENTITLED?(null===(p=e.prerequisiteProductIds)||void 0===p?void 0:p.length)||(null===(s=e.prerequisiteCollectionIds)||void 0===s?void 0:s.length)||e.entitledQuantity||e.prerequisiteQuantity?`${function(e,i,t){var r,n,l,u,o,a,p,s;let f=`Buy ${e.prerequisiteQuantity} item`;if((null===(r=e.prerequisiteProductIds)||void 0===r?void 0:r.length)||(null===(n=e.prerequisiteCollectionIds)||void 0===n?void 0:n.length)){const r=d(null!==(l=e.prerequisiteProductIds)&&void 0!==l?l:[],i),n=d(null!==(u=e.prerequisiteCollectionIds)&&void 0!==u?u:[],t);f+=" from a selection of ",r.length>0&&(f+=`${r.join(", ")} or `),n.length>0&&(f+=`products in ${n.join(", ")} collection or `),f=f.slice(0,-4)}if(f+=` and get ${e.entitledQuantity} item`,(null===(o=e.entitledProductIds)||void 0===o?void 0:o.length)||(null===(a=e.entitledCollectionIds)||void 0===a?void 0:a.length)){const r=d(null!==(p=e.entitledProductIds)&&void 0!==p?p:[],i),n=d(null!==(s=e.entitledCollectionIds)&&void 0!==s?s:[],t);f+=" from ",r.length>0&&(f+=`${r.join(", ")} or `),n.length>0&&(f+=`products in ${n.join(", ")} collection or `),f=f.slice(0,-4)}return f}(e,u,o)} ${100===e.value?"for free":`at ${e.value}% off`} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:e.expireAt?` | Expires at ${l.getStringFromDate(e.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():`${function(e,t,r,n){var l,u,o;let a=`Get ${e.valueType===i.FIXED_AMOUNT?n:""}${(null!==(l=e.value)&&void 0!==l?l:0).toString()}${e.valueType===i.PERCENTAGE?"% off":" off"} on `;const p=d(null!==(u=e.entitledProductIds)&&void 0!==u?u:[],t),s=d(null!==(o=e.entitledCollectionIds)&&void 0!==o?o:[],r);p.length>0&&(a+=`${p.join(", ")} or `);s.length>0&&(a+=`products in ${s.join(", ")} collection or `);return a.slice(0,-4)}(e,u,o,t)} | One use per customer${e.expireAfter?` | Expires in ${e.expireAfter} day(s)`:e.expireAt?` | Expires at ${l.getStringFromDate(e.expireAt,"dd MMM yyyy")}`:""}`.replace(/\s\s+/g," ").trim():void 0};function d(e,i){const t=[];return i.forEach((i=>{e.find((e=>e.toString()===i.id))&&t.push(i.name)})),t}export{o as descriptionBuilder,u as validateDiscountData};
|