@bikdotai/bik-component-library 0.0.390 → 0.0.391

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("react/jsx-runtime"),t=require("react"),o=require("./type.js");require("../dropdown/DropdownPopover/index.js");var i=require("../dropdown/Dropdown.js");require("../dropdown/ChipDropdown.js"),require("../zeroState/ZeroState.js");var n=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("../input/Input.js"),require("../dropdown/MenuItem/MenuItem.js");var s=require("../modals/styledModal.js"),c=require("../product-picker/ProductPickerModal.js"),d=require("../tag/Tag.js"),l=require("../tooltips/Tooltip.js"),a=require("../../assets/icons/triangle_error.svg.js"),u=require("../product-picker-v2/modal.js"),T=require("./DiscountModal.styled.js"),p=require("./DiscountUtils.js"),C=require("./DynamicCoupon/DynamicCoupon.js"),S=require("./StaticCoupon/StaticCoupon.js");exports.DiscountModal=E=>{var I,O,P,v,_,D,N,b;const[h,y]=t.useState(),[U,j]=t.useState(),[g,f]=t.useState(null!==(I=E.data)&&void 0!==I?I:"string"==typeof E.hideOption?{isStaticCoupon:"dynamic"===E.hideOption}:{isStaticCoupon:!1}),[m,q]=t.useState(!0),[A,R]=t.useState(),[x,k]=t.useState((null===(O=E.data)||void 0===O?void 0:O.minAmount)?o.MIN_PURCHASE_REQUIREMENT.AMOUNT:(null===(P=E.data)||void 0===P?void 0:P.minQuantity)?o.MIN_PURCHASE_REQUIREMENT.QUANTITY:o.MIN_PURCHASE_REQUIREMENT.NA),[w,F]=t.useState([]),[M,L]=t.useState([]),[Y,G]=t.useState([]),[B,H]=t.useState([]),[V,X]=t.useState(0);t.useEffect((()=>{let e;Q(),E.hideProbability||(e=K()),q(p.validateDiscountData(g,x,A,E.hideProbability||!1,e,!!g.isStaticCoupon)),E.hideProbability||K()}),[]),t.useEffect((()=>{let e;E.hideProbability||(e=K()),q(p.validateDiscountData(g,x,A,E.hideProbability||!1,e,!!g.isStaticCoupon))}),[g,V,A,x]),t.useEffect((()=>{var e,t,o,i,n;if(!E.newPickerConf){if(E.products&&(null===(e=E.products)||void 0===e?void 0:e.length)){if(null===(t=E.data)||void 0===t?void 0:t.entitledProductIds){const e=E.products.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.entitledProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));L(e)}if(null===(o=E.data)||void 0===o?void 0:o.prerequisiteProductIds){const e=E.products.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.prerequisiteProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));F(e)}}if(E.collection&&E.collection.length){if(null===(i=E.data)||void 0===i?void 0:i.entitledCollectionIds){const e=E.collection.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.entitledCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));H(e)}if(null===(n=E.data)||void 0===n?void 0:n.prerequisiteCollectionIds){const e=E.collection.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.prerequisiteCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));G(e)}}}}),[E.products,E.collection]),t.useEffect((()=>{var e,t,o,i,n,r,s,c;(null===(t=null===(e=E.data)||void 0===e?void 0:e.productsConf)||void 0===t?void 0:t.entitledProducts)&&L(E.data.productsConf.entitledProducts),(null===(i=null===(o=E.data)||void 0===o?void 0:o.productsConf)||void 0===i?void 0:i.prerequisiteProducts)&&F(E.data.productsConf.prerequisiteProducts),(null===(r=null===(n=E.data)||void 0===n?void 0:n.collectionsConf)||void 0===r?void 0:r.entitledCollections)&&H(E.data.collectionsConf.entitledCollections),(null===(c=null===(s=E.data)||void 0===s?void 0:s.collectionsConf)||void 0===c?void 0:c.prerequisiteCollections)&&G(E.data.collectionsConf.prerequisiteCollections)}),[null===(v=E.data)||void 0===v?void 0:v.productsConf,null===(_=E.data)||void 0===_?void 0:_.collectionsConf]),t.useEffect((()=>{if(E.newPickerConf){const e=[];return Object.values(M).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void f(Object.assign(Object.assign({},g),{entitledProductIds:e}))}const e=M.map((e=>parseInt(e.id)));f(Object.assign(Object.assign({},g),{entitledProductIds:e}))}),[M]),t.useEffect((()=>{if(E.newPickerConf){const e=[];return Object.values(w).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void f(Object.assign(Object.assign({},g),{prerequisiteProductIds:e}))}const e=w.map((e=>parseInt(e.id)));f(Object.assign(Object.assign({},g),{prerequisiteProductIds:e}))}),[w]),t.useEffect((()=>{if(E.newPickerConf){(null==B?void 0:B.isCustom)&&delete B.isCustom;const e=Object.keys(B).map((e=>parseInt(e)));return void f(Object.assign(Object.assign({},g),{entitledCollectionIds:e}))}const e=B.map((e=>parseInt(e.id)));f(Object.assign(Object.assign({},g),{entitledCollectionIds:e}))}),[B]),t.useEffect((()=>{if(E.newPickerConf){(null==Y?void 0:Y.isCustom)&&delete Y.isCustom;const e=Object.keys(Y).map((e=>parseInt(e)));return void f(Object.assign(Object.assign({},g),{prerequisiteCollectionIds:e}))}const e=Y.map((e=>parseInt(e.id)));f(Object.assign(Object.assign({},g),{prerequisiteCollectionIds:e}))}),[Y]);const Q=()=>{var e,t;g.isStaticCoupon||(g.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?R(o.DISCOUNT_TYPES.FREE_SHIPPING):g.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?g.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(e=g.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(t=g.prerequisiteCollectionIds)||void 0===t?void 0:t.length)?R(o.DISCOUNT_TYPES.BUY_X_GET_Y):R(o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS):R(o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER):(f(Object.assign(Object.assign({},g),{targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT})),R(o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER)))},z=[{value:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:A===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER},{value:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:A===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS},{value:o.DISCOUNT_TYPES.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:A===o.DISCOUNT_TYPES.BUY_X_GET_Y},{value:o.DISCOUNT_TYPES.FREE_SHIPPING,label:"Free shipping",selected:A===o.DISCOUNT_TYPES.FREE_SHIPPING}],K=()=>{if(!E.quadrant||!E.probability)return;const e=[...E.probability];let t=[];e.length>=E.quadrant&&e.splice(E.quadrant-1,1),t=e;const o=t.reduce(((e,t)=>e+t),0)+(g.probability||0);return X(parseFloat(o.toFixed(4))),parseFloat(o.toFixed(4))},$=e=>{var t,i,n,r;const s=e.value;R(s),F([]),L([]),G([]),H([]),k(o.MIN_PURCHASE_REQUIREMENT.NA),s===o.DISCOUNT_TYPES.FREE_SHIPPING?f({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:g.quadrant,isStaticCoupon:!1}):s===o.DISCOUNT_TYPES.BUY_X_GET_Y?f({targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:g.quadrant,isStaticCoupon:!1}):s===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER?f({targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(i=null===(t=E.data)||void 0===t?void 0:t.valueType)&&void 0!==i?i:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:g.quadrant,isStaticCoupon:!1}):s===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS&&f({targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(r=null===(n=E.data)||void 0===n?void 0:n.valueType)&&void 0!==r?r:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:g.quadrant,isStaticCoupon:!1})};return e.jsxs(s.StyledModal,Object.assign({width:(U||h)&&E.newPickerConf?"25px":"750px",open:E.isOpen,headingTitle:h?"Select Products":E.title,headingSubtitle:h?void 0:E.subTitle,footerLeftCustomElement:E.errorMsg?E.errorMsg&&e.jsx(d.Tag,{theme:"light",tagText:E.errorMsg,type:"negative"}):!E.quadrant||E.hideProbability?e.jsx(e.Fragment,{}):V<=1?e.jsx(d.Tag,{theme:"light",tagText:`Current probability sum: ${V}`,type:"white"}):e.jsx(l.Tooltip,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsx("div",{children:e.jsx(d.Tag,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${V}`,type:"negative",LeadingIcon:a.default})})})),headerRightCustomElement:E.allowStaticCoupon||h?void 0:e.jsx(i.Dropdown,{options:z,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{$(e)}}),onClose:E.onClose,footerShadow:!0,primaryButton:h?{buttonType:"primary",onClick:()=>{y(void 0)},buttonText:"Add"}:U?{buttonType:"primary",onClick:()=>{j(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Add code",disabled:m,isLoading:null!==(D=E.loading)&&void 0!==D&&D,onClick:()=>{var e,t;g.isStaticCoupon?E.onSaveClicked({quadrant:g.quadrant,couponCode:g.couponCode,description:g.description,isStaticCoupon:g.isStaticCoupon,probability:g.probability,title:g.title}):E.onSaveClicked(Object.assign(Object.assign({},g),{description:p.descriptionBuilder(g,E.currency,null!==(e=E.products)&&void 0!==e?e:[],null!==(t=E.collection)&&void 0!==t?t:[]),productsConf:{entitledProducts:M,prerequisiteProducts:w},collectionsConf:{entitledCollections:B,prerequisiteCollections:Y}}))}},secondaryButton:h?{buttonType:"tertiaryGray",onClick:()=>{y(void 0)},buttonText:"Back"}:U?{buttonType:"tertiaryGray",onClick:()=>{j(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:E.onClose,buttonText:"Close"}},{children:[!h&&!U&&e.jsxs(T.StyledDiscountDialogueContainer,{children:[E.allowStaticCoupon&&!h&&e.jsxs(T.CouponTypeContainerStyled,Object.assign({selectedDiv:g.isStaticCoupon?1:2},{children:["static"===E.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{g.isStaticCoupon||f({isStaticCoupon:!0,quadrant:g.quadrant})}},{children:[e.jsx(n.TitleSmall,Object.assign({style:g.isStaticCoupon?{color:r.DEFAULT_THEME.colorsV2.content.brand}:{}},{children:"Static code"})),e.jsx(n.BodyCaption,Object.assign({style:g.isStaticCoupon?{color:r.DEFAULT_THEME.colorsV2.content.brand}:{}},{children:"One static code for all customers"}))]})),"dynamic"===E.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{g.isStaticCoupon&&(R(o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER),f({isStaticCoupon:!1,quadrant:g.quadrant,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}))}},{children:[e.jsx(n.TitleSmall,Object.assign({style:g.isStaticCoupon?{}:{color:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Dynamic code"})),e.jsx(n.BodyCaption,Object.assign({style:g.isStaticCoupon?{}:{color:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"New code generated for everyone"}))]}))]})),g.isStaticCoupon&&!h&&e.jsx(S.default,{discountData:g,setDiscountData:f,hideProbability:E.hideProbability||!1,discountAdminUrl:E.discountAdminUrl}),!g.isStaticCoupon&&!h&&!U&&e.jsx(C.default,{currency:E.currency,entitledProducts:M,prerequisiteProducts:w,setEntitledProducts:L,setPrerequisiteProducts:F,discountData:g,productPickerOpen:h,setIsProductPickerOpen:y,setDiscountData:f,selectedCouponType:A,setSelectedCouponType:R,selectedMinimumRequirement:x,setSelectedMinimumRequirement:k,hideProbability:E.hideProbability||!1,hideExpiration:E.hideExpiration||!1,allowStaticCoupon:E.allowStaticCoupon,onChangeCouponType:$,collectionPickerOpen:U,entitledCollections:B,prerequisiteCollections:Y,setIsCollectionPickerOpen:j,setEntitledCollections:H,setPrerequisiteCollections:G,useNewPicker:!!E.newPickerConf})]}),!!h&&e.jsxs(e.Fragment,{children:[!E.newPickerConf&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsx(c.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(N=E.products)&&void 0!==N?N:[],title:"Select Products",onClose:()=>{y(void 0)},selectedProducts:h===C.DISCOUNT_PRODUCTS.ENTITLED?M:w,setSelectedProducts:h===C.DISCOUNT_PRODUCTS.ENTITLED?L:F,onSearchKeyChange:E.onProductSearch})})),E.newPickerConf&&e.jsx(u.ProductPickerModal,{visible:!0,onClose:()=>y(void 0),collectionFetcher:E.newPickerConf.fetchCollections,productFetcher:E.newPickerConf.fetchProducts,selectedItems:h===C.DISCOUNT_PRODUCTS.ENTITLED?M:w,onAdd:e=>{h===C.DISCOUNT_PRODUCTS.ENTITLED?L(e):F(e),y(void 0)},zIndex:200,storeId:E.newPickerConf.storeId,searchInCollectionFetcher:E.newPickerConf.searchInCollection,customCollectionRestriction:!1,searchFetcher:E.newPickerConf.searchProducts,hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!U&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxs(e.Fragment,{children:[E.newPickerConf&&e.jsx(u.ProductPickerModal,{visible:!0,onClose:()=>j(void 0),collectionFetcher:E.newPickerConf.fetchCollections,productFetcher:E.newPickerConf.fetchProducts,selectedItems:U===C.DISCOUNT_PRODUCTS.ENTITLED?B:Y,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),U===C.DISCOUNT_PRODUCTS.ENTITLED?H(e):G(e),j(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:E.newPickerConf.storeId,searchInCollectionFetcher:E.newPickerConf.searchInCollection,searchFetcher:E.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!E.newPickerConf&&e.jsx(c.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(b=E.collection)&&void 0!==b?b:[],title:"Select Products",onClose:()=>{j(void 0)},selectedProducts:U===C.DISCOUNT_PRODUCTS.ENTITLED?B:Y,setSelectedProducts:U===C.DISCOUNT_PRODUCTS.ENTITLED?H:G,onSearchKeyChange:E.onCollectionSearch,searchPlaceholder:"Search collections..."})]})}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),o=require("./type.js");require("../dropdown/DropdownPopover/index.js");var i=require("../dropdown/Dropdown.js");require("../dropdown/ChipDropdown.js"),require("../zeroState/ZeroState.js");var n=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("../input/Input.js"),require("../dropdown/MenuItem/MenuItem.js");var s=require("../modals/styledModal.js"),d=require("../product-picker/ProductPickerModal.js"),c=require("../tag/Tag.js"),l=require("../tooltips/Tooltip.js"),a=require("../../assets/icons/triangle_error.svg.js"),u=require("../product-picker-v2/modal.js"),p=require("./DiscountModal.styled.js"),T=require("./DiscountUtils.js"),C=require("./DynamicCoupon/DynamicCoupon.js"),S=require("./StaticCoupon/StaticCoupon.js");exports.DiscountModal=E=>{var I,O,P,v,_,D,N,h,b,y;const[U,j]=t.useState(),[g,f]=t.useState(),[m,q]=t.useState(null!==(I=E.data)&&void 0!==I?I:"string"==typeof E.hideOption?{isStaticCoupon:"dynamic"===E.hideOption}:{isStaticCoupon:!1}),[A,R]=t.useState(!0),[x,k]=t.useState(),[w,F]=t.useState((null===(O=E.data)||void 0===O?void 0:O.minAmount)?o.MIN_PURCHASE_REQUIREMENT.AMOUNT:(null===(P=E.data)||void 0===P?void 0:P.minQuantity)?o.MIN_PURCHASE_REQUIREMENT.QUANTITY:o.MIN_PURCHASE_REQUIREMENT.NA),[M,L]=t.useState(void 0),[Y,G]=t.useState(void 0),[B,H]=t.useState(void 0),[V,X]=t.useState(void 0),[Q,z]=t.useState(0);t.useEffect((()=>{let e;const{tempCouponData:t,discountType:o}=K();k(o),q(Object.assign({},t)),E.hideProbability||(e=Z()),R(T.validateDiscountData(t,w,o,E.hideProbability||!1,e,!!t.isStaticCoupon)),E.hideProbability||Z()}),[]),t.useEffect((()=>{let e;E.hideProbability||(e=Z()),R(T.validateDiscountData(m,w,x,E.hideProbability||!1,e,!!m.isStaticCoupon))}),[m,Q,x,w]),t.useEffect((()=>{var e,t,o,i,n,r,s;if(!E.newPickerConf&&((null===(e=E.products)||void 0===e?void 0:e.length)||(null===(t=E.collection)||void 0===t?void 0:t.length))){if(E.products&&(null===(o=E.products)||void 0===o?void 0:o.length)){if(null===(i=E.data)||void 0===i?void 0:i.entitledProductIds){const e=E.products.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.entitledProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));G(e)}if(null===(n=E.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=E.products.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.prerequisiteProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));L(e)}}if(E.collection&&E.collection.length){if(null===(r=E.data)||void 0===r?void 0:r.entitledCollectionIds){const e=E.collection.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.entitledCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));X(e)}if(null===(s=E.data)||void 0===s?void 0:s.prerequisiteCollectionIds){const e=E.collection.filter((e=>{var t,o;return null===(o=null===(t=E.data)||void 0===t?void 0:t.prerequisiteCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));H(e)}}}}),[E.products,E.collection]),t.useEffect((()=>{var e,t,o,i,n,r,s,d;(null===(t=null===(e=E.data)||void 0===e?void 0:e.productsConf)||void 0===t?void 0:t.entitledProducts)&&G(E.data.productsConf.entitledProducts),(null===(i=null===(o=E.data)||void 0===o?void 0:o.productsConf)||void 0===i?void 0:i.prerequisiteProducts)&&L(E.data.productsConf.prerequisiteProducts),(null===(r=null===(n=E.data)||void 0===n?void 0:n.collectionsConf)||void 0===r?void 0:r.entitledCollections)&&X(E.data.collectionsConf.entitledCollections),(null===(d=null===(s=E.data)||void 0===s?void 0:s.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&H(E.data.collectionsConf.prerequisiteCollections)}),[null===(v=E.data)||void 0===v?void 0:v.productsConf,null===(_=E.data)||void 0===_?void 0:_.collectionsConf]),t.useEffect((()=>{if(!Y)return;if(E.newPickerConf){const e=[];return Object.values(Y).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void q(Object.assign(Object.assign({},m),{entitledProductIds:e}))}const e=Y.map((e=>parseInt(e.id)));q(Object.assign(Object.assign({},m),{entitledProductIds:e}))}),[Y]),t.useEffect((()=>{if(!M)return;if(E.newPickerConf){const e=[];return Object.values(M).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void q(Object.assign(Object.assign({},m),{prerequisiteProductIds:e}))}const e=M.map((e=>parseInt(e.id)));q(Object.assign(Object.assign({},m),{prerequisiteProductIds:e}))}),[M]),t.useEffect((()=>{if(!V)return;if(E.newPickerConf){(null==V?void 0:V.isCustom)&&delete V.isCustom;const e=Object.keys(V).map((e=>parseInt(e)));return void q(Object.assign(Object.assign({},m),{entitledCollectionIds:e}))}const e=V.map((e=>parseInt(e.id)));q(Object.assign(Object.assign({},m),{entitledCollectionIds:e}))}),[V]),t.useEffect((()=>{if(!B)return;if(E.newPickerConf){(null==B?void 0:B.isCustom)&&delete B.isCustom;const e=Object.keys(B).map((e=>parseInt(e)));return void q(Object.assign(Object.assign({},m),{prerequisiteCollectionIds:e}))}const e=B.map((e=>parseInt(e.id)));q(Object.assign(Object.assign({},m),{prerequisiteCollectionIds:e}))}),[B]);const K=()=>{var e,t;let i,n=m;return m.isStaticCoupon||(m.targetType===o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE?i=o.DISCOUNT_TYPES.FREE_SHIPPING:m.targetType===o.DISCOUNT_TARGET_TYPES.LINE_ITEM?i=m.targetSelection===o.DISCOUNT_TARGET_SELECTION.ENTITLED?(null===(e=m.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(t=m.prerequisiteCollectionIds)||void 0===t?void 0:t.length)?o.DISCOUNT_TYPES.BUY_X_GET_Y:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER:(n=Object.assign(Object.assign({},n),{targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}),i=o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER)),{discountType:i,tempCouponData:n}},$=[{value:o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:x===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER},{value:o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:x===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS},{value:o.DISCOUNT_TYPES.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:x===o.DISCOUNT_TYPES.BUY_X_GET_Y},{value:o.DISCOUNT_TYPES.FREE_SHIPPING,label:"Free shipping",selected:x===o.DISCOUNT_TYPES.FREE_SHIPPING}],Z=()=>{if(!E.quadrant||!E.probability)return;const e=[...E.probability];let t=[];e.length>=E.quadrant&&e.splice(E.quadrant-1,1),t=e;const o=t.reduce(((e,t)=>e+t),0)+(m.probability||0);return z(parseFloat(o.toFixed(4))),parseFloat(o.toFixed(4))},J=e=>{var t,i,n,r;const s=e.value;k(s),L([]),G([]),H([]),X([]),F(o.MIN_PURCHASE_REQUIREMENT.NA),s===o.DISCOUNT_TYPES.FREE_SHIPPING?q({value:100,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.SHIPPING_LINE,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:m.quadrant,isStaticCoupon:!1,title:""}):s===o.DISCOUNT_TYPES.BUY_X_GET_Y?q({targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:o.DISCOUNT_VALUE_TYPES.PERCENTAGE,quadrant:m.quadrant,isStaticCoupon:!1,title:""}):s===o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER?q({targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(i=null===(t=E.data)||void 0===t?void 0:t.valueType)&&void 0!==i?i:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:m.quadrant,isStaticCoupon:!1,title:""}):s===o.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS&&q({targetSelection:o.DISCOUNT_TARGET_SELECTION.ENTITLED,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,valueType:null!==(r=null===(n=E.data)||void 0===n?void 0:n.valueType)&&void 0!==r?r:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,quadrant:m.quadrant,isStaticCoupon:!1,title:""})};return e.jsxs(s.StyledModal,Object.assign({width:(g||U)&&E.newPickerConf?"25px":"750px",open:E.isOpen,headingTitle:U?"Select Products":E.title,headingSubtitle:U?void 0:E.subTitle,footerLeftCustomElement:E.errorMsg?E.errorMsg&&e.jsx(c.Tag,{theme:"light",tagText:E.errorMsg,type:"negative"}):!E.quadrant||E.hideProbability?e.jsx(e.Fragment,{}):Q<=1?e.jsx(c.Tag,{theme:"light",tagText:`Current probability sum: ${Q}`,type:"white"}):e.jsx(l.Tooltip,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:e.jsx("div",{children:e.jsx(c.Tag,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${Q}`,type:"negative",LeadingIcon:a.default})})})),headerRightCustomElement:E.allowStaticCoupon||U?void 0:e.jsx(i.Dropdown,{options:$,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{J(e)}}),onClose:E.onClose,footerShadow:!0,primaryButton:U?{buttonType:"primary",onClick:()=>{j(void 0)},buttonText:"Add"}:g?{buttonType:"primary",onClick:()=>{f(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Add code",disabled:A,isLoading:null!==(D=E.loading)&&void 0!==D&&D,onClick:()=>{var e,t;m.isStaticCoupon?E.onSaveClicked({quadrant:m.quadrant,couponCode:m.couponCode,description:m.description,isStaticCoupon:m.isStaticCoupon,probability:m.probability,title:m.title}):E.onSaveClicked(Object.assign(Object.assign({},m),{description:T.descriptionBuilder(m,E.currency,null!==(e=E.products)&&void 0!==e?e:[],null!==(t=E.collection)&&void 0!==t?t:[]),productsConf:{entitledProducts:Y,prerequisiteProducts:M},collectionsConf:{entitledCollections:V,prerequisiteCollections:B}}))}},secondaryButton:U?{buttonType:"tertiaryGray",onClick:()=>{j(void 0)},buttonText:"Back"}:g?{buttonType:"tertiaryGray",onClick:()=>{f(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:E.onClose,buttonText:"Close"}},{children:[!U&&!g&&e.jsxs(p.StyledDiscountDialogueContainer,{children:[E.allowStaticCoupon&&!U&&e.jsxs(p.CouponTypeContainerStyled,Object.assign({selectedDiv:m.isStaticCoupon?1:2},{children:["static"===E.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{m.isStaticCoupon||q({isStaticCoupon:!0,quadrant:m.quadrant})}},{children:[e.jsx(n.TitleSmall,Object.assign({style:m.isStaticCoupon?{color:r.DEFAULT_THEME.colorsV2.content.brand}:{}},{children:"Static code"})),e.jsx(n.BodyCaption,Object.assign({style:m.isStaticCoupon?{color:r.DEFAULT_THEME.colorsV2.content.brand}:{}},{children:"One static code for all customers"}))]})),"dynamic"===E.hideOption?e.jsx(e.Fragment,{}):e.jsxs("div",Object.assign({className:"coupon-type__container",onClick:()=>{m.isStaticCoupon&&(k(o.DISCOUNT_TYPES.AMOUNT_OFF_ORDER),q({isStaticCoupon:!1,quadrant:m.quadrant,targetType:o.DISCOUNT_TARGET_TYPES.LINE_ITEM,targetSelection:o.DISCOUNT_TARGET_SELECTION.ALL,valueType:o.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT}))}},{children:[e.jsx(n.TitleSmall,Object.assign({style:m.isStaticCoupon?{}:{color:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"Dynamic code"})),e.jsx(n.BodyCaption,Object.assign({style:m.isStaticCoupon?{}:{color:r.DEFAULT_THEME.colorsV2.content.brand}},{children:"New code generated for everyone"}))]}))]})),m.isStaticCoupon&&!U&&e.jsx(S.default,{discountData:m,setDiscountData:q,hideProbability:E.hideProbability||!1,discountAdminUrl:E.discountAdminUrl}),!m.isStaticCoupon&&!U&&!g&&e.jsx(C.default,{currency:E.currency,entitledProducts:null!=Y?Y:[],prerequisiteProducts:null!=M?M:[],setEntitledProducts:G,setPrerequisiteProducts:L,discountData:m,productPickerOpen:U,setIsProductPickerOpen:j,setDiscountData:q,selectedCouponType:x,setSelectedCouponType:k,selectedMinimumRequirement:w,setSelectedMinimumRequirement:F,hideProbability:E.hideProbability||!1,hideExpiration:E.hideExpiration||!1,allowStaticCoupon:E.allowStaticCoupon,onChangeCouponType:J,collectionPickerOpen:g,entitledCollections:null!=V?V:[],prerequisiteCollections:null!=B?B:[],setIsCollectionPickerOpen:f,setEntitledCollections:X,setPrerequisiteCollections:H,useNewPicker:!!E.newPickerConf})]}),!!U&&e.jsxs(e.Fragment,{children:[!E.newPickerConf&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsx(d.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(N=E.products)&&void 0!==N?N:[],title:"Select Products",onClose:()=>{j(void 0)},selectedProducts:null!==(h=U===C.DISCOUNT_PRODUCTS.ENTITLED?Y:M)&&void 0!==h?h:[],setSelectedProducts:U===C.DISCOUNT_PRODUCTS.ENTITLED?G:L,onSearchKeyChange:E.onProductSearch})})),E.newPickerConf&&e.jsx(u.ProductPickerModal,{visible:!0,onClose:()=>j(void 0),collectionFetcher:E.newPickerConf.fetchCollections,productFetcher:E.newPickerConf.fetchProducts,selectedItems:U===C.DISCOUNT_PRODUCTS.ENTITLED?Y:M,onAdd:e=>{U===C.DISCOUNT_PRODUCTS.ENTITLED?G(e):L(e),j(void 0)},zIndex:200,storeId:E.newPickerConf.storeId,searchInCollectionFetcher:E.newPickerConf.searchInCollection,customCollectionRestriction:!1,searchFetcher:E.newPickerConf.searchProducts,hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!g&&e.jsx("div",Object.assign({style:{padding:"12px 0"}},{children:e.jsxs(e.Fragment,{children:[E.newPickerConf&&e.jsx(u.ProductPickerModal,{visible:!0,onClose:()=>f(void 0),collectionFetcher:E.newPickerConf.fetchCollections,productFetcher:E.newPickerConf.fetchProducts,selectedItems:g===C.DISCOUNT_PRODUCTS.ENTITLED?V:B,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),g===C.DISCOUNT_PRODUCTS.ENTITLED?X(e):H(e),f(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:E.newPickerConf.storeId,searchInCollectionFetcher:E.newPickerConf.searchInCollection,searchFetcher:E.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!E.newPickerConf&&e.jsx(d.ProductPickerContent,{show:!0,onSave:()=>{},products:null!==(b=E.collection)&&void 0!==b?b:[],title:"Select Products",onClose:()=>{f(void 0)},selectedProducts:null!==(y=g===C.DISCOUNT_PRODUCTS.ENTITLED?V:B)&&void 0!==y?y:[],setSelectedProducts:g===C.DISCOUNT_PRODUCTS.ENTITLED?X:H,onSearchKeyChange:E.onCollectionSearch,searchPlaceholder:"Search collections..."})]})}))]}))};
@@ -22,10 +22,10 @@ interface DynamicCouponI {
22
22
  prerequisiteProducts: Product[];
23
23
  entitledCollections: Collection[];
24
24
  prerequisiteCollections: Collection[];
25
- setEntitledProducts: React.Dispatch<React.SetStateAction<Product[]>>;
26
- setPrerequisiteProducts: React.Dispatch<React.SetStateAction<Product[]>>;
27
- setEntitledCollections: React.Dispatch<React.SetStateAction<Collection[]>>;
28
- setPrerequisiteCollections: React.Dispatch<React.SetStateAction<Collection[]>>;
25
+ setEntitledProducts: React.Dispatch<React.SetStateAction<Product[] | undefined>>;
26
+ setPrerequisiteProducts: React.Dispatch<React.SetStateAction<Product[] | undefined>>;
27
+ setEntitledCollections: React.Dispatch<React.SetStateAction<Collection[] | undefined>>;
28
+ setPrerequisiteCollections: React.Dispatch<React.SetStateAction<Collection[] | undefined>>;
29
29
  onChangeCouponType: (option: SingleOption) => void;
30
30
  hideExpiration?: boolean;
31
31
  hideProbability?: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("lodash"),s=require("../../button/Button.js");require("react");var i=require("../type.js");require("../../dropdown/DropdownPopover/index.js");var n=require("../../dropdown/Dropdown.js");require("../../dropdown/ChipDropdown.js"),require("../../zeroState/ZeroState.js");var a=require("../../TypographyStyle.js"),o=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("../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js"),require("../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js");var l=require("../../input/Input.js"),r=require("../../../assets/icons/cross.svg.js");require("../../dropdown/MenuItem/MenuItem.js"),require("../../modals/styledModal.js"),require("../../../node_modules/lodash.debounce/index.js"),require("../../bik-layout/CommonStyles.js"),require("../../product-picker/ProductPicker.styled.js"),require("../../../utils/DateUtils.js"),require("../../tag/Tag.js"),require("@tippyjs/react"),require("../../tooltips/TooltipInternal.js"),require("../../product-picker-v2/modal.js");var d=require("../DiscountModal.styled.js"),u=require("../CouponExpiration/CouponExpiration.js"),c=require("../../radioButton/RadioButton.js"),p=require("../../../assets/icons/cursor.svg.js"),T=require("../../../assets/icons/plus.svg.js");const j="https://jkfenner.com/wp-content/uploads/2019/11/default.jpg";var D;function x(){return null}exports.DISCOUNT_PRODUCTS=void 0,(D=exports.DISCOUNT_PRODUCTS||(exports.DISCOUNT_PRODUCTS={})).ENTITLED="entitled",D.PREREQUISITE="prerequisite";exports.default=D=>{var v;const E=[{value:i.DISCOUNT_TYPES.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:D.selectedCouponType===i.DISCOUNT_TYPES.AMOUNT_OFF_ORDER},{value:i.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:D.selectedCouponType===i.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS},{value:i.DISCOUNT_TYPES.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:D.selectedCouponType===i.DISCOUNT_TYPES.BUY_X_GET_Y},{value:i.DISCOUNT_TYPES.FREE_SHIPPING,label:"Free shipping",selected:D.selectedCouponType===i.DISCOUNT_TYPES.FREE_SHIPPING}],O=[{selected:D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.NA,label:"No minimum requirements",value:i.MIN_PURCHASE_REQUIREMENT.NA},{selected:D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.AMOUNT,label:`Minimum purchase amount (${null!==(v=D.currency)&&void 0!==v?v:"₹"})`,value:i.MIN_PURCHASE_REQUIREMENT.AMOUNT},{selected:D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.QUANTITY,label:"Minimum quantity of items",value:i.MIN_PURCHASE_REQUIREMENT.QUANTITY}],m=()=>{var e,t,s,n,a;if(D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT){if((null===(e=D.discountData)||void 0===e?void 0:e.value)&&(null===(t=D.discountData)||void 0===t?void 0:t.value)<=0)return"Enter a valid input"}else if((null===(s=D.discountData)||void 0===s?void 0:s.value)&&((null===(n=D.discountData)||void 0===n?void 0:n.value)<=0||(null===(a=D.discountData)||void 0===a?void 0:a.value)>100))return"Enter a valid input"},g=()=>{var t,s,o,r,d;return e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsxs("div",Object.assign({className:"input__wrapper"},{children:[e.jsx(a.BodySecondary,Object.assign({style:{marginBottom:10}},{children:"Min purchase requirements"})),e.jsx(n.Dropdown,{options:O,placement:"bottom-start",onSelect:e=>{const t=e.value;D.setSelectedMinimumRequirement(t),D.setDiscountData(Object.assign(Object.assign({},D.discountData),{minQuantity:void 0,minAmount:void 0}))}})]})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:D.selectedMinimumRequirement!==i.MIN_PURCHASE_REQUIREMENT.NA&&e.jsx(l.Input,{value:D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.AMOUNT?null!==(s=null===(t=D.discountData.minAmount)||void 0===t?void 0:t.toString())&&void 0!==s?s:"":null!==(r=null===(o=D.discountData.minQuantity)||void 0===o?void 0:o.toString())&&void 0!==r?r:"",onChangeText:e=>{D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.AMOUNT?D.setDiscountData(Object.assign(Object.assign({},D.discountData),{minAmount:parseInt(e)})):D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.QUANTITY&&D.setDiscountData(Object.assign(Object.assign({},D.discountData),{minQuantity:parseInt(e)}))},labelText:D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.AMOUNT?"Minimum purchase amount":"Minimum purchase quantity",prefixText:D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.AMOUNT?null!==(d=D.currency)&&void 0!==d?d:"₹":void 0,type:"number",placeholder:D.selectedMinimumRequirement===i.MIN_PURCHASE_REQUIREMENT.AMOUNT?"1000.00":"2"})}))]}))},b=(i,n)=>{var d,u,c,p;let x=[],v=[],E={},O={};return D.useNewPicker?(E=i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.entitledProducts:D.prerequisiteProducts,O=null!==(d=i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.entitledCollections:D.prerequisiteCollections)&&void 0!==d?d:[],(null==E?void 0:E.isCustom)&&delete E.isCustom,(null==O?void 0:O.isCustom)&&delete O.isCustom,Object.values(E).forEach((e=>{Object.keys(e.products).forEach((t=>{x.push({id:t,name:e.products[t].name,image:e.products[t].image})}))})),Object.keys(O).forEach((e=>{"isCustom"!==e&&v.push({id:e,name:O[e].name,image:O[e].image})}))):(x=i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.entitledProducts:D.prerequisiteProducts,v=null!==(u=i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.entitledCollections:D.prerequisiteCollections)&&void 0!==u?u:[]),e.jsxs(e.Fragment,{children:[!n&&e.jsxs(e.Fragment,{children:[e.jsx(a.TitleRegular,{children:i===exports.DISCOUNT_PRODUCTS.PREREQUISITE?"Customer buys":"Customer gets"}),e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:i===exports.DISCOUNT_PRODUCTS.ENTITLED?null===(c=D.discountData.entitledQuantity)||void 0===c?void 0:c.toString():null===(p=D.discountData.prerequisiteQuantity)||void 0===p?void 0:p.toString(),type:"number",onChangeText:e=>{i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.setDiscountData(Object.assign(Object.assign({},D.discountData),{entitledQuantity:parseInt(e)})):D.setDiscountData(Object.assign(Object.assign({},D.discountData),{prerequisiteQuantity:parseInt(e)}))},labelText:"Add quantity",placeholder:"Add quantity"})})),e.jsx("div",{className:"input__wrapper"})]}))]}),e.jsxs("div",Object.assign({style:{display:"flex",gap:18}},{children:[!(null==v?void 0:v.length)&&e.jsx(s.Button,{buttonText:"Add product",buttonType:"tertiary",LeadingIcon:T.default,onClick:()=>{D.setIsProductPickerOpen(i)}}),!(null==x?void 0:x.length)&&e.jsx(s.Button,{buttonText:"Add collection",buttonType:"tertiary",LeadingIcon:T.default,onClick:()=>{D.setIsCollectionPickerOpen(i)}})]})),!!x.length&&e.jsxs("div",Object.assign({style:{margin:"8px 0"}},{children:[e.jsx(a.TitleSmall,{children:"Products"}),x.map((s=>e.jsxs("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${o.DEFAULT_THEME.colorsV2.stroke.primary}`,display:"flex"}},{children:[e.jsxs("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[e.jsx("img",{src:s.image,onError:e=>{e.target.onerror=null,e.target.src=j},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),e.jsx(a.TitleSmall,{children:s.name})]})),e.jsx("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:e.jsx("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(D.useNewPicker){const e=t.cloneDeep(E);Object.values(e).forEach((e=>{var t,i;(null===(t=null==e?void 0:e.products)||void 0===t?void 0:t[s.id])&&(null===(i=null==e?void 0:e.products)||void 0===i||delete i[s.id])})),i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.setEntitledProducts(e):D.setPrerequisiteProducts(e)}else{const e=x.filter((e=>e.id!==s.id));i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.setEntitledProducts(e):D.setPrerequisiteProducts(e)}}},{children:e.jsx(r.default,{width:14,color:o.DEFAULT_THEME.colorsV2.content.primary})}))}))]}),s.id)))]})),!!v.length&&e.jsxs("div",Object.assign({style:{margin:"8px 0"}},{children:[e.jsx(a.TitleSmall,{children:"Collections"}),v.map((s=>e.jsxs("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${o.DEFAULT_THEME.colorsV2.stroke.primary}`,display:"flex"}},{children:[e.jsxs("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[e.jsx("img",{src:s.image,onError:e=>{e.target.onerror=null,e.target.src=j},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),e.jsx(a.TitleSmall,{children:s.name})]})),e.jsx("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:e.jsx("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(D.useNewPicker){const e=t.cloneDeep(O);delete e[s.id],i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.setEntitledCollections(e):D.setPrerequisiteCollections(e)}else{const e=v.filter((e=>e.id!==s.id));i===exports.DISCOUNT_PRODUCTS.ENTITLED?D.setEntitledCollections(e):D.setPrerequisiteCollections(e)}}},{children:e.jsx(r.default,{width:14,color:o.DEFAULT_THEME.colorsV2.content.primary})}))}))]}),s.id)))]}))]})};return e.jsxs(d.DynamicCouponContainer,{children:[D.allowStaticCoupon&&e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(n.Dropdown,{options:E,width:"338px",placement:"bottom-start",onSelect:e=>{D.onChangeCouponType(e)}})})),e.jsx("div",Object.assign({className:"input__wrapper",style:{display:"flex",alignItems:"center",gap:8}},{children:(D.selectedCouponType===i.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||D.selectedCouponType===i.DISCOUNT_TYPES.AMOUNT_OFF_ORDER)&&e.jsxs(e.Fragment,{children:[e.jsx(c.RadioButton,{isActive:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,onValueChange:()=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{valueType:i.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,value:void 0}))},label:"Fixed amount"}),e.jsx(c.RadioButton,{isActive:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.PERCENTAGE,onValueChange:()=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{valueType:i.DISCOUNT_VALUE_TYPES.PERCENTAGE,value:void 0}))},label:"Percentage"})]})}))]})),D.selectedCouponType===i.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&(()=>{var t,s,n,a,o;return e.jsxs(e.Fragment,{children:[e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:D.discountData.title,onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:null!==(n=null===(s=null===(t=D.discountData)||void 0===t?void 0:t.value)||void 0===s?void 0:s.toString())&&void 0!==n?n:"",labelText:"Discount code value",type:"number",errorMessage:m(),onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{value:parseInt(e)}))},placeholder:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?null!==(a=D.currency)&&void 0!==a?a:"₹":void 0,suffixText:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.PERCENTAGE?"%":void 0})}))]})),g(),!D.hideProbability&&e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{type:"number",value:null===(o=D.discountData.probability)||void 0===o?void 0:o.toString(),onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})})),e.jsx("div",{className:"input__wrapper"})]}))]})})(),D.selectedCouponType===i.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS&&(()=>{var t,s,n,a,o;return e.jsxs(e.Fragment,{children:[e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:D.discountData.title,onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:null!==(n=null===(s=null===(t=D.discountData)||void 0===t?void 0:t.value)||void 0===s?void 0:s.toString())&&void 0!==n?n:"",labelText:"Discount code value",type:"number",errorMessage:m(),onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{value:parseInt(e)}))},placeholder:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?null!==(a=D.currency)&&void 0!==a?a:"₹":void 0,suffixText:D.discountData.valueType===i.DISCOUNT_VALUE_TYPES.PERCENTAGE?"%":void 0})}))]})),b(exports.DISCOUNT_PRODUCTS.ENTITLED,!0),!D.hideProbability&&e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{type:"number",value:null===(o=D.discountData.probability)||void 0===o?void 0:o.toString(),onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})})),e.jsx("div",{className:"input__wrapper"})]}))]})})(),D.selectedCouponType===i.DISCOUNT_TYPES.FREE_SHIPPING&&(()=>{var t;return e.jsxs(e.Fragment,{children:[e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:D.discountData.title,onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{title:e.trim()}))},labelText:"Code title",placeholder:"eg: Flat 50% Off",maxCharLimit:18})})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:!D.hideProbability&&e.jsx(l.Input,{value:null===(t=D.discountData.probability)||void 0===t?void 0:t.toString(),type:"number",onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]})),g()]})})(),D.selectedCouponType===i.DISCOUNT_TYPES.BUY_X_GET_Y&&(()=>{var t,s,i,n;return e.jsxs(d.DynamicCouponContainer,{children:[e.jsx("div",Object.assign({className:"input__rows"},{children:e.jsxs("div",Object.assign({style:{display:"flex",gap:20,flex:1}},{children:[e.jsx("div",Object.assign({style:{flex:1}},{children:e.jsx(l.Input,{value:D.discountData.title,onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),!D.hideProbability&&e.jsx("div",Object.assign({style:{flex:1}},{children:e.jsx(l.Input,{value:null===(t=D.discountData.probability)||void 0===t?void 0:t.toString(),type:"number",onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]}))})),e.jsx(x,{}),b(exports.DISCOUNT_PRODUCTS.PREREQUISITE),e.jsx(x,{}),b(exports.DISCOUNT_PRODUCTS.ENTITLED),e.jsx(x,{}),e.jsx(a.TitleRegular,{children:"At a discount value"}),e.jsxs("div",Object.assign({style:{display:"flex",gap:18,alignItems:"flex-start"}},{children:[e.jsx(c.RadioButton,{label:"Percentage",isActive:100!==D.discountData.value,onValueChange:()=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{value:void 0}))}}),100!==D.discountData.value&&e.jsx(l.Input,{variant:"small",value:null!==(n=null===(i=null===(s=D.discountData)||void 0===s?void 0:s.value)||void 0===i?void 0:i.toString())&&void 0!==n?n:"",onChangeText:e=>{D.setDiscountData(Object.assign(Object.assign({},D.discountData),{value:parseInt(e)}))},errorMessage:m(),type:"number",placeholder:"Enter percentage eg: 10%",suffixText:"%",width:"238px"})]})),e.jsx("div",{children:e.jsx(c.RadioButton,{label:"Free",isActive:100===D.discountData.value,onValueChange:e=>{e?D.setDiscountData(Object.assign(Object.assign({},D.discountData),{value:100})):D.setDiscountData(Object.assign(Object.assign({},D.discountData),{value:void 0}))}})})]})})(),D.selectedCouponType&&!D.hideExpiration&&e.jsxs(e.Fragment,{children:[e.jsx("div",{style:D.selectedCouponType!==i.DISCOUNT_TYPES.BUY_X_GET_Y&&D.selectedCouponType!==i.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||!D.hideProbability?{height:6,borderTop:`1px solid ${o.DEFAULT_THEME.colorsV2.stroke.primary}`,marginTop:12}:{}}),e.jsx(u.CouponExpiration,{discountData:D.discountData,setDiscountData:D.setDiscountData})]}),!D.selectedCouponType&&e.jsxs("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:10,padding:"40px 0",justifyContent:"center",alignItems:"center"}},{children:[e.jsx("div",Object.assign({style:{height:52,width:52,backgroundColor:o.DEFAULT_THEME.colorsV2.background.inverse,borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},{children:e.jsx(p.default,{width:32,color:o.DEFAULT_THEME.colorsV2.content.primaryInverse})})),e.jsx(a.TitleMedium,{children:"No discount has been selected"}),e.jsx(a.BodyPrimary,{children:"Please select a discount type"})]}))]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("lodash"),i=require("../../button/Button.js");require("react");var s=require("../type.js");require("../../dropdown/DropdownPopover/index.js");var a=require("../../dropdown/Dropdown.js");require("../../dropdown/ChipDropdown.js"),require("../../zeroState/ZeroState.js");var n=require("../../TypographyStyle.js"),o=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("../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js"),require("../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js");var l=require("../../input/Input.js"),r=require("../../../assets/icons/cross.svg.js");require("../../dropdown/MenuItem/MenuItem.js"),require("../../modals/styledModal.js"),require("../../../node_modules/lodash.debounce/index.js"),require("../../bik-layout/CommonStyles.js"),require("../../product-picker/ProductPicker.styled.js"),require("../../../utils/DateUtils.js"),require("../../tag/Tag.js"),require("@tippyjs/react"),require("../../tooltips/TooltipInternal.js"),require("../../product-picker-v2/modal.js");var d=require("../DiscountModal.styled.js"),u=require("../CouponExpiration/CouponExpiration.js"),c=require("../../radioButton/RadioButton.js"),p=require("../../../assets/icons/cursor.svg.js"),T=require("../../../assets/icons/plus.svg.js");const D="https://jkfenner.com/wp-content/uploads/2019/11/default.jpg";var j;function E(){return null}exports.DISCOUNT_PRODUCTS=void 0,(j=exports.DISCOUNT_PRODUCTS||(exports.DISCOUNT_PRODUCTS={})).ENTITLED="entitled",j.PREREQUISITE="prerequisite";exports.default=j=>{var x;const m=[{value:s.DISCOUNT_TYPES.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:j.selectedCouponType===s.DISCOUNT_TYPES.AMOUNT_OFF_ORDER},{value:s.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:j.selectedCouponType===s.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS},{value:s.DISCOUNT_TYPES.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:j.selectedCouponType===s.DISCOUNT_TYPES.BUY_X_GET_Y},{value:s.DISCOUNT_TYPES.FREE_SHIPPING,label:"Free shipping",selected:j.selectedCouponType===s.DISCOUNT_TYPES.FREE_SHIPPING}],v=[{selected:j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.NA,label:"No minimum requirements",value:s.MIN_PURCHASE_REQUIREMENT.NA},{selected:j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.AMOUNT,label:`Minimum purchase amount (${null!==(x=j.currency)&&void 0!==x?x:"₹"})`,value:s.MIN_PURCHASE_REQUIREMENT.AMOUNT},{selected:j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.QUANTITY,label:"Minimum quantity of items",value:s.MIN_PURCHASE_REQUIREMENT.QUANTITY}],O=()=>{var e,t,i,a,n;if(j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT){if((null===(e=j.discountData)||void 0===e?void 0:e.value)&&(null===(t=j.discountData)||void 0===t?void 0:t.value)<=0)return"Enter a valid input"}else if((null===(i=j.discountData)||void 0===i?void 0:i.value)&&((null===(a=j.discountData)||void 0===a?void 0:a.value)<=0||(null===(n=j.discountData)||void 0===n?void 0:n.value)>100))return"Enter a valid input"},g=()=>{var t,i,o,r,d;return e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsxs("div",Object.assign({className:"input__wrapper"},{children:[e.jsx(n.BodySecondary,Object.assign({style:{marginBottom:10}},{children:"Min purchase requirements"})),e.jsx(a.Dropdown,{options:v,placement:"bottom-start",onSelect:e=>{const t=e.value;j.setSelectedMinimumRequirement(t),j.setDiscountData(Object.assign(Object.assign({},j.discountData),{minQuantity:void 0,minAmount:void 0}))}})]})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:j.selectedMinimumRequirement!==s.MIN_PURCHASE_REQUIREMENT.NA&&e.jsx(l.Input,{value:j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.AMOUNT?null!==(i=null===(t=j.discountData.minAmount)||void 0===t?void 0:t.toString())&&void 0!==i?i:"":null!==(r=null===(o=j.discountData.minQuantity)||void 0===o?void 0:o.toString())&&void 0!==r?r:"",onChangeText:e=>{j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.AMOUNT?j.setDiscountData(Object.assign(Object.assign({},j.discountData),{minAmount:parseInt(e)})):j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.QUANTITY&&j.setDiscountData(Object.assign(Object.assign({},j.discountData),{minQuantity:parseInt(e)}))},labelText:j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.AMOUNT?"Minimum purchase amount":"Minimum purchase quantity",prefixText:j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.AMOUNT?null!==(d=j.currency)&&void 0!==d?d:"₹":void 0,type:"number",placeholder:j.selectedMinimumRequirement===s.MIN_PURCHASE_REQUIREMENT.AMOUNT?"1000.00":"2"})}))]}))},_=(s,a)=>{var d,u,c,p;let E=[],x=[],m={},v={};return j.useNewPicker?(m=s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.entitledProducts:j.prerequisiteProducts,v=null!==(d=s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.entitledCollections:j.prerequisiteCollections)&&void 0!==d?d:[],(null==m?void 0:m.isCustom)&&delete m.isCustom,(null==v?void 0:v.isCustom)&&delete v.isCustom,Object.values(m).forEach((e=>{Object.keys(e.products).forEach((t=>{E.push({id:t,name:e.products[t].name,image:e.products[t].image})}))})),Object.keys(v).forEach((e=>{"isCustom"!==e&&x.push({id:e,name:v[e].name,image:v[e].image})}))):(E=s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.entitledProducts:j.prerequisiteProducts,x=null!==(u=s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.entitledCollections:j.prerequisiteCollections)&&void 0!==u?u:[]),e.jsxs(e.Fragment,{children:[!a&&e.jsxs(e.Fragment,{children:[e.jsx(n.TitleRegular,{children:s===exports.DISCOUNT_PRODUCTS.PREREQUISITE?"Customer buys":"Customer gets"}),e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:s===exports.DISCOUNT_PRODUCTS.ENTITLED?null===(c=j.discountData.entitledQuantity)||void 0===c?void 0:c.toString():null===(p=j.discountData.prerequisiteQuantity)||void 0===p?void 0:p.toString(),type:"number",onChangeText:e=>{s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.setDiscountData(Object.assign(Object.assign({},j.discountData),{entitledQuantity:parseInt(e)})):j.setDiscountData(Object.assign(Object.assign({},j.discountData),{prerequisiteQuantity:parseInt(e)}))},labelText:"Add quantity",placeholder:"Add quantity"})})),e.jsx("div",{className:"input__wrapper"})]}))]}),e.jsxs("div",Object.assign({style:{display:"flex",gap:18}},{children:[!(null==x?void 0:x.length)&&e.jsx(i.Button,{buttonText:"Add product",buttonType:"tertiary",LeadingIcon:T.default,onClick:()=>{j.setIsProductPickerOpen(s)}}),!(null==E?void 0:E.length)&&e.jsx(i.Button,{buttonText:"Add collection",buttonType:"tertiary",LeadingIcon:T.default,onClick:()=>{j.setIsCollectionPickerOpen(s)}})]})),!!E.length&&e.jsxs("div",Object.assign({style:{margin:"8px 0"}},{children:[e.jsx(n.TitleSmall,{children:"Products"}),E.map((i=>e.jsxs("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${o.DEFAULT_THEME.colorsV2.stroke.primary}`,display:"flex"}},{children:[e.jsxs("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[e.jsx("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=D},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),e.jsx(n.TitleSmall,{children:i.name})]})),e.jsx("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:e.jsx("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(j.useNewPicker){const e=t.cloneDeep(m);Object.values(e).forEach((e=>{var t,s;(null===(t=null==e?void 0:e.products)||void 0===t?void 0:t[i.id])&&(null===(s=null==e?void 0:e.products)||void 0===s||delete s[i.id])})),s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.setEntitledProducts(e):j.setPrerequisiteProducts(e)}else{const e=E.filter((e=>e.id!==i.id));s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.setEntitledProducts(e):j.setPrerequisiteProducts(e)}}},{children:e.jsx(r.default,{width:14,color:o.DEFAULT_THEME.colorsV2.content.primary})}))}))]}),i.id)))]})),!!x.length&&e.jsxs("div",Object.assign({style:{margin:"8px 0"}},{children:[e.jsx(n.TitleSmall,{children:"Collections"}),x.map((i=>e.jsxs("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${o.DEFAULT_THEME.colorsV2.stroke.primary}`,display:"flex"}},{children:[e.jsxs("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[e.jsx("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=D},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),e.jsx(n.TitleSmall,{children:i.name})]})),e.jsx("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:e.jsx("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(j.useNewPicker){const e=t.cloneDeep(v);delete e[i.id],s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.setEntitledCollections(e):j.setPrerequisiteCollections(e)}else{const e=x.filter((e=>e.id!==i.id));s===exports.DISCOUNT_PRODUCTS.ENTITLED?j.setEntitledCollections(e):j.setPrerequisiteCollections(e)}}},{children:e.jsx(r.default,{width:14,color:o.DEFAULT_THEME.colorsV2.content.primary})}))}))]}),i.id)))]}))]})};return e.jsxs(d.DynamicCouponContainer,{children:[j.allowStaticCoupon&&e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(a.Dropdown,{options:m,width:"338px",placement:"bottom-start",onSelect:e=>{j.onChangeCouponType(e)}})})),e.jsx("div",Object.assign({className:"input__wrapper",style:{display:"flex",alignItems:"center",gap:8}},{children:(j.selectedCouponType===s.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||j.selectedCouponType===s.DISCOUNT_TYPES.AMOUNT_OFF_ORDER)&&e.jsxs(e.Fragment,{children:[e.jsx(c.RadioButton,{isActive:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,onValueChange:()=>{j.discountData.valueType!==s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT&&j.setDiscountData(Object.assign(Object.assign({},j.discountData),{valueType:s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT,value:void 0}))},label:"Fixed amount"}),e.jsx(c.RadioButton,{isActive:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.PERCENTAGE,onValueChange:()=>{j.discountData.valueType!==s.DISCOUNT_VALUE_TYPES.PERCENTAGE&&j.setDiscountData(Object.assign(Object.assign({},j.discountData),{valueType:s.DISCOUNT_VALUE_TYPES.PERCENTAGE,value:void 0}))},label:"Percentage"})]})}))]})),j.selectedCouponType===s.DISCOUNT_TYPES.AMOUNT_OFF_ORDER&&(()=>{var t,i,a,n,o;return e.jsxs(e.Fragment,{children:[e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:j.discountData.title,onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:null!==(a=null===(i=null===(t=j.discountData)||void 0===t?void 0:t.value)||void 0===i?void 0:i.toString())&&void 0!==a?a:"",labelText:"Discount code value",type:"number",errorMessage:O(),onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{value:parseInt(e)}))},placeholder:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?null!==(n=j.currency)&&void 0!==n?n:"₹":void 0,suffixText:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.PERCENTAGE?"%":void 0})}))]})),g(),!j.hideProbability&&e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{type:"number",value:null===(o=j.discountData.probability)||void 0===o?void 0:o.toString(),onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})})),e.jsx("div",{className:"input__wrapper"})]}))]})})(),j.selectedCouponType===s.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS&&(()=>{var t,i,a,n,o;return e.jsxs(e.Fragment,{children:[e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:j.discountData.title,onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:null!==(a=null===(i=null===(t=j.discountData)||void 0===t?void 0:t.value)||void 0===i?void 0:i.toString())&&void 0!==a?a:"",labelText:"Discount code value",type:"number",errorMessage:O(),onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{value:parseInt(e)}))},placeholder:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.FIXED_AMOUNT?null!==(n=j.currency)&&void 0!==n?n:"₹":void 0,suffixText:j.discountData.valueType===s.DISCOUNT_VALUE_TYPES.PERCENTAGE?"%":void 0})}))]})),_(exports.DISCOUNT_PRODUCTS.ENTITLED,!0),!j.hideProbability&&e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{type:"number",value:null===(o=j.discountData.probability)||void 0===o?void 0:o.toString(),onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})})),e.jsx("div",{className:"input__wrapper"})]}))]})})(),j.selectedCouponType===s.DISCOUNT_TYPES.FREE_SHIPPING&&(()=>{var t;return e.jsxs(e.Fragment,{children:[e.jsxs("div",Object.assign({className:"input__rows"},{children:[e.jsx("div",Object.assign({className:"input__wrapper"},{children:e.jsx(l.Input,{value:j.discountData.title,onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{title:e.trim()}))},labelText:"Code title",placeholder:"eg: Flat 50% Off",maxCharLimit:18})})),e.jsx("div",Object.assign({className:"input__wrapper"},{children:!j.hideProbability&&e.jsx(l.Input,{value:null===(t=j.discountData.probability)||void 0===t?void 0:t.toString(),type:"number",onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})}))]})),g()]})})(),j.selectedCouponType===s.DISCOUNT_TYPES.BUY_X_GET_Y&&(()=>{var t,i,s,a;return e.jsxs(d.DynamicCouponContainer,{children:[e.jsx("div",Object.assign({className:"input__rows"},{children:e.jsxs("div",Object.assign({style:{display:"flex",gap:20,flex:1}},{children:[e.jsx("div",Object.assign({style:{flex:1}},{children:e.jsx(l.Input,{value:j.discountData.title,onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),!j.hideProbability&&e.jsx("div",Object.assign({style:{flex:1}},{children:e.jsx(l.Input,{value:null===(t=j.discountData.probability)||void 0===t?void 0:t.toString(),type:"number",onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})}))]}))})),e.jsx(E,{}),_(exports.DISCOUNT_PRODUCTS.PREREQUISITE),e.jsx(E,{}),_(exports.DISCOUNT_PRODUCTS.ENTITLED),e.jsx(E,{}),e.jsx(n.TitleRegular,{children:"At a discount value"}),e.jsxs("div",Object.assign({style:{display:"flex",gap:18,alignItems:"flex-start"}},{children:[e.jsx(c.RadioButton,{label:"Percentage",isActive:100!==j.discountData.value,onValueChange:()=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{value:void 0}))}}),100!==j.discountData.value&&e.jsx(l.Input,{variant:"small",value:null!==(a=null===(s=null===(i=j.discountData)||void 0===i?void 0:i.value)||void 0===s?void 0:s.toString())&&void 0!==a?a:"",onChangeText:e=>{j.setDiscountData(Object.assign(Object.assign({},j.discountData),{value:parseInt(e)}))},errorMessage:O(),type:"number",placeholder:"Enter percentage eg: 10%",suffixText:"%",width:"238px"})]})),e.jsx("div",{children:e.jsx(c.RadioButton,{label:"Free",isActive:100===j.discountData.value,onValueChange:e=>{e?j.setDiscountData(Object.assign(Object.assign({},j.discountData),{value:100})):j.setDiscountData(Object.assign(Object.assign({},j.discountData),{value:void 0}))}})})]})})(),j.selectedCouponType&&!j.hideExpiration&&e.jsxs(e.Fragment,{children:[e.jsx("div",{style:j.selectedCouponType!==s.DISCOUNT_TYPES.BUY_X_GET_Y&&j.selectedCouponType!==s.DISCOUNT_TYPES.AMOUNT_OFF_PRODUCTS||!j.hideProbability?{height:6,borderTop:`1px solid ${o.DEFAULT_THEME.colorsV2.stroke.primary}`,marginTop:12}:{}}),e.jsx(u.CouponExpiration,{discountData:j.discountData,setDiscountData:j.setDiscountData})]}),!j.selectedCouponType&&e.jsxs("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:10,padding:"40px 0",justifyContent:"center",alignItems:"center"}},{children:[e.jsx("div",Object.assign({style:{height:52,width:52,backgroundColor:o.DEFAULT_THEME.colorsV2.background.inverse,borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},{children:e.jsx(p.default,{width:32,color:o.DEFAULT_THEME.colorsV2.content.primaryInverse})})),e.jsx(n.TitleMedium,{children:"No discount has been selected"}),e.jsx(n.BodyPrimary,{children:"Please select a discount type"})]}))]})};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useState as i,useEffect as n}from"react";import{MIN_PURCHASE_REQUIREMENT as r,DISCOUNT_TARGET_TYPES as c,DISCOUNT_TYPES as d,DISCOUNT_TARGET_SELECTION as s,DISCOUNT_VALUE_TYPES as l}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as a}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as u,BodyCaption as p}from"../TypographyStyle.js";import{DEFAULT_THEME as C}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"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as v}from"../modals/styledModal.js";import{ProductPickerContent as m}from"../product-picker/ProductPickerModal.js";import{Tag as h}from"../tag/Tag.js";import{Tooltip as b}from"../tooltips/Tooltip.js";import y from"../../assets/icons/triangle_error.svg.js";import{ProductPickerModal as P}from"../product-picker-v2/modal.js";import{StyledDiscountDialogueContainer as T,CouponTypeContainerStyled as I}from"./DiscountModal.styled.js";import{validateDiscountData as O,descriptionBuilder as f}from"./DiscountUtils.js";import g,{DISCOUNT_PRODUCTS as E}from"./DynamicCoupon/DynamicCoupon.js";import S from"./StaticCoupon/StaticCoupon.js";const j=j=>{var w,_,k,D,N,F,q,M;const[A,L]=i(),[x,R]=i(),[U,G]=i(null!==(w=j.data)&&void 0!==w?w:"string"==typeof j.hideOption?{isStaticCoupon:"dynamic"===j.hideOption}:{isStaticCoupon:!1}),[B,Y]=i(!0),[X,H]=i(),[V,z]=i((null===(_=j.data)||void 0===_?void 0:_.minAmount)?r.AMOUNT:(null===(k=j.data)||void 0===k?void 0:k.minQuantity)?r.QUANTITY:r.NA),[K,Q]=i([]),[$,Z]=i([]),[J,W]=i([]),[ee,te]=i([]),[oe,ie]=i(0);n((()=>{let e;ne(),j.hideProbability||(e=ce()),Y(O(U,V,X,j.hideProbability||!1,e,!!U.isStaticCoupon)),j.hideProbability||ce()}),[]),n((()=>{let e;j.hideProbability||(e=ce()),Y(O(U,V,X,j.hideProbability||!1,e,!!U.isStaticCoupon))}),[U,oe,X,V]),n((()=>{var e,t,o,i,n;if(!j.newPickerConf){if(j.products&&(null===(e=j.products)||void 0===e?void 0:e.length)){if(null===(t=j.data)||void 0===t?void 0:t.entitledProductIds){const e=j.products.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.entitledProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));Z(e)}if(null===(o=j.data)||void 0===o?void 0:o.prerequisiteProductIds){const e=j.products.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.prerequisiteProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));Q(e)}}if(j.collection&&j.collection.length){if(null===(i=j.data)||void 0===i?void 0:i.entitledCollectionIds){const e=j.collection.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.entitledCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));te(e)}if(null===(n=j.data)||void 0===n?void 0:n.prerequisiteCollectionIds){const e=j.collection.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.prerequisiteCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));W(e)}}}}),[j.products,j.collection]),n((()=>{var e,t,o,i,n,r,c,d;(null===(t=null===(e=j.data)||void 0===e?void 0:e.productsConf)||void 0===t?void 0:t.entitledProducts)&&Z(j.data.productsConf.entitledProducts),(null===(i=null===(o=j.data)||void 0===o?void 0:o.productsConf)||void 0===i?void 0:i.prerequisiteProducts)&&Q(j.data.productsConf.prerequisiteProducts),(null===(r=null===(n=j.data)||void 0===n?void 0:n.collectionsConf)||void 0===r?void 0:r.entitledCollections)&&te(j.data.collectionsConf.entitledCollections),(null===(d=null===(c=j.data)||void 0===c?void 0:c.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&W(j.data.collectionsConf.prerequisiteCollections)}),[null===(D=j.data)||void 0===D?void 0:D.productsConf,null===(N=j.data)||void 0===N?void 0:N.collectionsConf]),n((()=>{if(j.newPickerConf){const e=[];return Object.values($).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void G(Object.assign(Object.assign({},U),{entitledProductIds:e}))}const e=$.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},U),{entitledProductIds:e}))}),[$]),n((()=>{if(j.newPickerConf){const e=[];return Object.values(K).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void G(Object.assign(Object.assign({},U),{prerequisiteProductIds:e}))}const e=K.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},U),{prerequisiteProductIds:e}))}),[K]),n((()=>{if(j.newPickerConf){(null==ee?void 0:ee.isCustom)&&delete ee.isCustom;const e=Object.keys(ee).map((e=>parseInt(e)));return void G(Object.assign(Object.assign({},U),{entitledCollectionIds:e}))}const e=ee.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},U),{entitledCollectionIds:e}))}),[ee]),n((()=>{if(j.newPickerConf){(null==J?void 0:J.isCustom)&&delete J.isCustom;const e=Object.keys(J).map((e=>parseInt(e)));return void G(Object.assign(Object.assign({},U),{prerequisiteCollectionIds:e}))}const e=J.map((e=>parseInt(e.id)));G(Object.assign(Object.assign({},U),{prerequisiteCollectionIds:e}))}),[J]);const ne=()=>{var e,t;U.isStaticCoupon||(U.targetType===c.SHIPPING_LINE?H(d.FREE_SHIPPING):U.targetType===c.LINE_ITEM?U.targetSelection===s.ENTITLED?(null===(e=U.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(t=U.prerequisiteCollectionIds)||void 0===t?void 0:t.length)?H(d.BUY_X_GET_Y):H(d.AMOUNT_OFF_PRODUCTS):H(d.AMOUNT_OFF_ORDER):(G(Object.assign(Object.assign({},U),{targetType:c.LINE_ITEM,targetSelection:s.ALL,valueType:l.FIXED_AMOUNT})),H(d.AMOUNT_OFF_ORDER)))},re=[{value:d.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:X===d.AMOUNT_OFF_ORDER},{value:d.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:X===d.AMOUNT_OFF_PRODUCTS},{value:d.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:X===d.BUY_X_GET_Y},{value:d.FREE_SHIPPING,label:"Free shipping",selected:X===d.FREE_SHIPPING}],ce=()=>{if(!j.quadrant||!j.probability)return;const e=[...j.probability];let t=[];e.length>=j.quadrant&&e.splice(j.quadrant-1,1),t=e;const o=t.reduce(((e,t)=>e+t),0)+(U.probability||0);return ie(parseFloat(o.toFixed(4))),parseFloat(o.toFixed(4))},de=e=>{var t,o,i,n;const a=e.value;H(a),Q([]),Z([]),W([]),te([]),z(r.NA),a===d.FREE_SHIPPING?G({value:100,targetSelection:s.ALL,targetType:c.SHIPPING_LINE,valueType:l.PERCENTAGE,quadrant:U.quadrant,isStaticCoupon:!1}):a===d.BUY_X_GET_Y?G({targetSelection:s.ENTITLED,targetType:c.LINE_ITEM,valueType:l.PERCENTAGE,quadrant:U.quadrant,isStaticCoupon:!1}):a===d.AMOUNT_OFF_ORDER?G({targetSelection:s.ALL,targetType:c.LINE_ITEM,valueType:null!==(o=null===(t=j.data)||void 0===t?void 0:t.valueType)&&void 0!==o?o:l.FIXED_AMOUNT,quadrant:U.quadrant,isStaticCoupon:!1}):a===d.AMOUNT_OFF_PRODUCTS&&G({targetSelection:s.ENTITLED,targetType:c.LINE_ITEM,valueType:null!==(n=null===(i=j.data)||void 0===i?void 0:i.valueType)&&void 0!==n?n:l.FIXED_AMOUNT,quadrant:U.quadrant,isStaticCoupon:!1})};return e(v,Object.assign({width:(x||A)&&j.newPickerConf?"25px":"750px",open:j.isOpen,headingTitle:A?"Select Products":j.title,headingSubtitle:A?void 0:j.subTitle,footerLeftCustomElement:j.errorMsg?j.errorMsg&&t(h,{theme:"light",tagText:j.errorMsg,type:"negative"}):!j.quadrant||j.hideProbability?t(o,{}):oe<=1?t(h,{theme:"light",tagText:`Current probability sum: ${oe}`,type:"white"}):t(b,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:t("div",{children:t(h,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${oe}`,type:"negative",LeadingIcon:y})})})),headerRightCustomElement:j.allowStaticCoupon||A?void 0:t(a,{options:re,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{de(e)}}),onClose:j.onClose,footerShadow:!0,primaryButton:A?{buttonType:"primary",onClick:()=>{L(void 0)},buttonText:"Add"}:x?{buttonType:"primary",onClick:()=>{R(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Add code",disabled:B,isLoading:null!==(F=j.loading)&&void 0!==F&&F,onClick:()=>{var e,t;U.isStaticCoupon?j.onSaveClicked({quadrant:U.quadrant,couponCode:U.couponCode,description:U.description,isStaticCoupon:U.isStaticCoupon,probability:U.probability,title:U.title}):j.onSaveClicked(Object.assign(Object.assign({},U),{description:f(U,j.currency,null!==(e=j.products)&&void 0!==e?e:[],null!==(t=j.collection)&&void 0!==t?t:[]),productsConf:{entitledProducts:$,prerequisiteProducts:K},collectionsConf:{entitledCollections:ee,prerequisiteCollections:J}}))}},secondaryButton:A?{buttonType:"tertiaryGray",onClick:()=>{L(void 0)},buttonText:"Back"}:x?{buttonType:"tertiaryGray",onClick:()=>{R(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:j.onClose,buttonText:"Close"}},{children:[!A&&!x&&e(T,{children:[j.allowStaticCoupon&&!A&&e(I,Object.assign({selectedDiv:U.isStaticCoupon?1:2},{children:["static"===j.hideOption?t(o,{}):e("div",Object.assign({className:"coupon-type__container",onClick:()=>{U.isStaticCoupon||G({isStaticCoupon:!0,quadrant:U.quadrant})}},{children:[t(u,Object.assign({style:U.isStaticCoupon?{color:C.colorsV2.content.brand}:{}},{children:"Static code"})),t(p,Object.assign({style:U.isStaticCoupon?{color:C.colorsV2.content.brand}:{}},{children:"One static code for all customers"}))]})),"dynamic"===j.hideOption?t(o,{}):e("div",Object.assign({className:"coupon-type__container",onClick:()=>{U.isStaticCoupon&&(H(d.AMOUNT_OFF_ORDER),G({isStaticCoupon:!1,quadrant:U.quadrant,targetType:c.LINE_ITEM,targetSelection:s.ALL,valueType:l.FIXED_AMOUNT}))}},{children:[t(u,Object.assign({style:U.isStaticCoupon?{}:{color:C.colorsV2.content.brand}},{children:"Dynamic code"})),t(p,Object.assign({style:U.isStaticCoupon?{}:{color:C.colorsV2.content.brand}},{children:"New code generated for everyone"}))]}))]})),U.isStaticCoupon&&!A&&t(S,{discountData:U,setDiscountData:G,hideProbability:j.hideProbability||!1,discountAdminUrl:j.discountAdminUrl}),!U.isStaticCoupon&&!A&&!x&&t(g,{currency:j.currency,entitledProducts:$,prerequisiteProducts:K,setEntitledProducts:Z,setPrerequisiteProducts:Q,discountData:U,productPickerOpen:A,setIsProductPickerOpen:L,setDiscountData:G,selectedCouponType:X,setSelectedCouponType:H,selectedMinimumRequirement:V,setSelectedMinimumRequirement:z,hideProbability:j.hideProbability||!1,hideExpiration:j.hideExpiration||!1,allowStaticCoupon:j.allowStaticCoupon,onChangeCouponType:de,collectionPickerOpen:x,entitledCollections:ee,prerequisiteCollections:J,setIsCollectionPickerOpen:R,setEntitledCollections:te,setPrerequisiteCollections:W,useNewPicker:!!j.newPickerConf})]}),!!A&&e(o,{children:[!j.newPickerConf&&t("div",Object.assign({style:{padding:"12px 0"}},{children:t(m,{show:!0,onSave:()=>{},products:null!==(q=j.products)&&void 0!==q?q:[],title:"Select Products",onClose:()=>{L(void 0)},selectedProducts:A===E.ENTITLED?$:K,setSelectedProducts:A===E.ENTITLED?Z:Q,onSearchKeyChange:j.onProductSearch})})),j.newPickerConf&&t(P,{visible:!0,onClose:()=>L(void 0),collectionFetcher:j.newPickerConf.fetchCollections,productFetcher:j.newPickerConf.fetchProducts,selectedItems:A===E.ENTITLED?$:K,onAdd:e=>{A===E.ENTITLED?Z(e):Q(e),L(void 0)},zIndex:200,storeId:j.newPickerConf.storeId,searchInCollectionFetcher:j.newPickerConf.searchInCollection,customCollectionRestriction:!1,searchFetcher:j.newPickerConf.searchProducts,hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!x&&t("div",Object.assign({style:{padding:"12px 0"}},{children:e(o,{children:[j.newPickerConf&&t(P,{visible:!0,onClose:()=>R(void 0),collectionFetcher:j.newPickerConf.fetchCollections,productFetcher:j.newPickerConf.fetchProducts,selectedItems:x===E.ENTITLED?ee:J,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),x===E.ENTITLED?te(e):W(e),R(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:j.newPickerConf.storeId,searchInCollectionFetcher:j.newPickerConf.searchInCollection,searchFetcher:j.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!j.newPickerConf&&t(m,{show:!0,onSave:()=>{},products:null!==(M=j.collection)&&void 0!==M?M:[],title:"Select Products",onClose:()=>{R(void 0)},selectedProducts:x===E.ENTITLED?ee:J,setSelectedProducts:x===E.ENTITLED?te:W,onSearchKeyChange:j.onCollectionSearch,searchPlaceholder:"Search collections..."})]})}))]}))};export{j as DiscountModal};
1
+ import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useState as i,useEffect as n}from"react";import{MIN_PURCHASE_REQUIREMENT as r,DISCOUNT_TARGET_TYPES as c,DISCOUNT_TYPES as d,DISCOUNT_TARGET_SELECTION as l,DISCOUNT_VALUE_TYPES as s}from"./type.js";import"../dropdown/DropdownPopover/index.js";import{Dropdown as a}from"../dropdown/Dropdown.js";import"../dropdown/ChipDropdown.js";import"../zeroState/ZeroState.js";import{TitleSmall as u,BodyCaption as p}from"../TypographyStyle.js";import{DEFAULT_THEME as C}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"../input/Input.js";import"../dropdown/MenuItem/MenuItem.js";import{StyledModal as v}from"../modals/styledModal.js";import{ProductPickerContent as m}from"../product-picker/ProductPickerModal.js";import{Tag as h}from"../tag/Tag.js";import{Tooltip as b}from"../tooltips/Tooltip.js";import y from"../../assets/icons/triangle_error.svg.js";import{ProductPickerModal as T}from"../product-picker-v2/modal.js";import{StyledDiscountDialogueContainer as P,CouponTypeContainerStyled as I}from"./DiscountModal.styled.js";import{validateDiscountData as O,descriptionBuilder as f}from"./DiscountUtils.js";import g,{DISCOUNT_PRODUCTS as E}from"./DynamicCoupon/DynamicCoupon.js";import S from"./StaticCoupon/StaticCoupon.js";const j=j=>{var w,_,k,D,N,F,q,M,A,L;const[x,R]=i(),[U,G]=i(),[B,Y]=i(null!==(w=j.data)&&void 0!==w?w:"string"==typeof j.hideOption?{isStaticCoupon:"dynamic"===j.hideOption}:{isStaticCoupon:!1}),[X,H]=i(!0),[V,z]=i(),[K,Q]=i((null===(_=j.data)||void 0===_?void 0:_.minAmount)?r.AMOUNT:(null===(k=j.data)||void 0===k?void 0:k.minQuantity)?r.QUANTITY:r.NA),[$,Z]=i(void 0),[J,W]=i(void 0),[ee,te]=i(void 0),[oe,ie]=i(void 0),[ne,re]=i(0);n((()=>{let e;const{tempCouponData:t,discountType:o}=ce();z(o),Y(Object.assign({},t)),j.hideProbability||(e=le()),H(O(t,K,o,j.hideProbability||!1,e,!!t.isStaticCoupon)),j.hideProbability||le()}),[]),n((()=>{let e;j.hideProbability||(e=le()),H(O(B,K,V,j.hideProbability||!1,e,!!B.isStaticCoupon))}),[B,ne,V,K]),n((()=>{var e,t,o,i,n,r,c;if(!j.newPickerConf&&((null===(e=j.products)||void 0===e?void 0:e.length)||(null===(t=j.collection)||void 0===t?void 0:t.length))){if(j.products&&(null===(o=j.products)||void 0===o?void 0:o.length)){if(null===(i=j.data)||void 0===i?void 0:i.entitledProductIds){const e=j.products.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.entitledProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));W(e)}if(null===(n=j.data)||void 0===n?void 0:n.prerequisiteProductIds){const e=j.products.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.prerequisiteProductIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));Z(e)}}if(j.collection&&j.collection.length){if(null===(r=j.data)||void 0===r?void 0:r.entitledCollectionIds){const e=j.collection.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.entitledCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));ie(e)}if(null===(c=j.data)||void 0===c?void 0:c.prerequisiteCollectionIds){const e=j.collection.filter((e=>{var t,o;return null===(o=null===(t=j.data)||void 0===t?void 0:t.prerequisiteCollectionIds)||void 0===o?void 0:o.includes(parseInt(e.id))}));te(e)}}}}),[j.products,j.collection]),n((()=>{var e,t,o,i,n,r,c,d;(null===(t=null===(e=j.data)||void 0===e?void 0:e.productsConf)||void 0===t?void 0:t.entitledProducts)&&W(j.data.productsConf.entitledProducts),(null===(i=null===(o=j.data)||void 0===o?void 0:o.productsConf)||void 0===i?void 0:i.prerequisiteProducts)&&Z(j.data.productsConf.prerequisiteProducts),(null===(r=null===(n=j.data)||void 0===n?void 0:n.collectionsConf)||void 0===r?void 0:r.entitledCollections)&&ie(j.data.collectionsConf.entitledCollections),(null===(d=null===(c=j.data)||void 0===c?void 0:c.collectionsConf)||void 0===d?void 0:d.prerequisiteCollections)&&te(j.data.collectionsConf.prerequisiteCollections)}),[null===(D=j.data)||void 0===D?void 0:D.productsConf,null===(N=j.data)||void 0===N?void 0:N.collectionsConf]),n((()=>{if(!J)return;if(j.newPickerConf){const e=[];return Object.values(J).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void Y(Object.assign(Object.assign({},B),{entitledProductIds:e}))}const e=J.map((e=>parseInt(e.id)));Y(Object.assign(Object.assign({},B),{entitledProductIds:e}))}),[J]),n((()=>{if(!$)return;if(j.newPickerConf){const e=[];return Object.values($).forEach((t=>{t.products&&Object.keys(t.products).forEach((t=>{e.push(parseInt(t))}))})),void Y(Object.assign(Object.assign({},B),{prerequisiteProductIds:e}))}const e=$.map((e=>parseInt(e.id)));Y(Object.assign(Object.assign({},B),{prerequisiteProductIds:e}))}),[$]),n((()=>{if(!oe)return;if(j.newPickerConf){(null==oe?void 0:oe.isCustom)&&delete oe.isCustom;const e=Object.keys(oe).map((e=>parseInt(e)));return void Y(Object.assign(Object.assign({},B),{entitledCollectionIds:e}))}const e=oe.map((e=>parseInt(e.id)));Y(Object.assign(Object.assign({},B),{entitledCollectionIds:e}))}),[oe]),n((()=>{if(!ee)return;if(j.newPickerConf){(null==ee?void 0:ee.isCustom)&&delete ee.isCustom;const e=Object.keys(ee).map((e=>parseInt(e)));return void Y(Object.assign(Object.assign({},B),{prerequisiteCollectionIds:e}))}const e=ee.map((e=>parseInt(e.id)));Y(Object.assign(Object.assign({},B),{prerequisiteCollectionIds:e}))}),[ee]);const ce=()=>{var e,t;let o,i=B;return B.isStaticCoupon||(B.targetType===c.SHIPPING_LINE?o=d.FREE_SHIPPING:B.targetType===c.LINE_ITEM?o=B.targetSelection===l.ENTITLED?(null===(e=B.prerequisiteProductIds)||void 0===e?void 0:e.length)||(null===(t=B.prerequisiteCollectionIds)||void 0===t?void 0:t.length)?d.BUY_X_GET_Y:d.AMOUNT_OFF_PRODUCTS:d.AMOUNT_OFF_ORDER:(i=Object.assign(Object.assign({},i),{targetType:c.LINE_ITEM,targetSelection:l.ALL,valueType:s.FIXED_AMOUNT}),o=d.AMOUNT_OFF_ORDER)),{discountType:o,tempCouponData:i}},de=[{value:d.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:V===d.AMOUNT_OFF_ORDER},{value:d.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:V===d.AMOUNT_OFF_PRODUCTS},{value:d.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:V===d.BUY_X_GET_Y},{value:d.FREE_SHIPPING,label:"Free shipping",selected:V===d.FREE_SHIPPING}],le=()=>{if(!j.quadrant||!j.probability)return;const e=[...j.probability];let t=[];e.length>=j.quadrant&&e.splice(j.quadrant-1,1),t=e;const o=t.reduce(((e,t)=>e+t),0)+(B.probability||0);return re(parseFloat(o.toFixed(4))),parseFloat(o.toFixed(4))},se=e=>{var t,o,i,n;const a=e.value;z(a),Z([]),W([]),te([]),ie([]),Q(r.NA),a===d.FREE_SHIPPING?Y({value:100,targetSelection:l.ALL,targetType:c.SHIPPING_LINE,valueType:s.PERCENTAGE,quadrant:B.quadrant,isStaticCoupon:!1,title:""}):a===d.BUY_X_GET_Y?Y({targetSelection:l.ENTITLED,targetType:c.LINE_ITEM,valueType:s.PERCENTAGE,quadrant:B.quadrant,isStaticCoupon:!1,title:""}):a===d.AMOUNT_OFF_ORDER?Y({targetSelection:l.ALL,targetType:c.LINE_ITEM,valueType:null!==(o=null===(t=j.data)||void 0===t?void 0:t.valueType)&&void 0!==o?o:s.FIXED_AMOUNT,quadrant:B.quadrant,isStaticCoupon:!1,title:""}):a===d.AMOUNT_OFF_PRODUCTS&&Y({targetSelection:l.ENTITLED,targetType:c.LINE_ITEM,valueType:null!==(n=null===(i=j.data)||void 0===i?void 0:i.valueType)&&void 0!==n?n:s.FIXED_AMOUNT,quadrant:B.quadrant,isStaticCoupon:!1,title:""})};return e(v,Object.assign({width:(U||x)&&j.newPickerConf?"25px":"750px",open:j.isOpen,headingTitle:x?"Select Products":j.title,headingSubtitle:x?void 0:j.subTitle,footerLeftCustomElement:j.errorMsg?j.errorMsg&&t(h,{theme:"light",tagText:j.errorMsg,type:"negative"}):!j.quadrant||j.hideProbability?t(o,{}):ne<=1?t(h,{theme:"light",tagText:`Current probability sum: ${ne}`,type:"white"}):t(b,Object.assign({body:"Probability sum should not exceed 1",placement:"top"},{children:t("div",{children:t(h,{style:{cursor:"pointer"},theme:"light",tagText:`Current probability sum: ${ne}`,type:"negative",LeadingIcon:y})})})),headerRightCustomElement:j.allowStaticCoupon||x?void 0:t(a,{options:de,width:"200px",placement:"bottom-start",size:"small",onSelect:e=>{se(e)}}),onClose:j.onClose,footerShadow:!0,primaryButton:x?{buttonType:"primary",onClick:()=>{R(void 0)},buttonText:"Add"}:U?{buttonType:"primary",onClick:()=>{G(void 0)},buttonText:"Add"}:{buttonType:"primary",buttonText:"Add code",disabled:X,isLoading:null!==(F=j.loading)&&void 0!==F&&F,onClick:()=>{var e,t;B.isStaticCoupon?j.onSaveClicked({quadrant:B.quadrant,couponCode:B.couponCode,description:B.description,isStaticCoupon:B.isStaticCoupon,probability:B.probability,title:B.title}):j.onSaveClicked(Object.assign(Object.assign({},B),{description:f(B,j.currency,null!==(e=j.products)&&void 0!==e?e:[],null!==(t=j.collection)&&void 0!==t?t:[]),productsConf:{entitledProducts:J,prerequisiteProducts:$},collectionsConf:{entitledCollections:oe,prerequisiteCollections:ee}}))}},secondaryButton:x?{buttonType:"tertiaryGray",onClick:()=>{R(void 0)},buttonText:"Back"}:U?{buttonType:"tertiaryGray",onClick:()=>{G(void 0)},buttonText:"Back"}:{buttonType:"tertiaryGray",onClick:j.onClose,buttonText:"Close"}},{children:[!x&&!U&&e(P,{children:[j.allowStaticCoupon&&!x&&e(I,Object.assign({selectedDiv:B.isStaticCoupon?1:2},{children:["static"===j.hideOption?t(o,{}):e("div",Object.assign({className:"coupon-type__container",onClick:()=>{B.isStaticCoupon||Y({isStaticCoupon:!0,quadrant:B.quadrant})}},{children:[t(u,Object.assign({style:B.isStaticCoupon?{color:C.colorsV2.content.brand}:{}},{children:"Static code"})),t(p,Object.assign({style:B.isStaticCoupon?{color:C.colorsV2.content.brand}:{}},{children:"One static code for all customers"}))]})),"dynamic"===j.hideOption?t(o,{}):e("div",Object.assign({className:"coupon-type__container",onClick:()=>{B.isStaticCoupon&&(z(d.AMOUNT_OFF_ORDER),Y({isStaticCoupon:!1,quadrant:B.quadrant,targetType:c.LINE_ITEM,targetSelection:l.ALL,valueType:s.FIXED_AMOUNT}))}},{children:[t(u,Object.assign({style:B.isStaticCoupon?{}:{color:C.colorsV2.content.brand}},{children:"Dynamic code"})),t(p,Object.assign({style:B.isStaticCoupon?{}:{color:C.colorsV2.content.brand}},{children:"New code generated for everyone"}))]}))]})),B.isStaticCoupon&&!x&&t(S,{discountData:B,setDiscountData:Y,hideProbability:j.hideProbability||!1,discountAdminUrl:j.discountAdminUrl}),!B.isStaticCoupon&&!x&&!U&&t(g,{currency:j.currency,entitledProducts:null!=J?J:[],prerequisiteProducts:null!=$?$:[],setEntitledProducts:W,setPrerequisiteProducts:Z,discountData:B,productPickerOpen:x,setIsProductPickerOpen:R,setDiscountData:Y,selectedCouponType:V,setSelectedCouponType:z,selectedMinimumRequirement:K,setSelectedMinimumRequirement:Q,hideProbability:j.hideProbability||!1,hideExpiration:j.hideExpiration||!1,allowStaticCoupon:j.allowStaticCoupon,onChangeCouponType:se,collectionPickerOpen:U,entitledCollections:null!=oe?oe:[],prerequisiteCollections:null!=ee?ee:[],setIsCollectionPickerOpen:G,setEntitledCollections:ie,setPrerequisiteCollections:te,useNewPicker:!!j.newPickerConf})]}),!!x&&e(o,{children:[!j.newPickerConf&&t("div",Object.assign({style:{padding:"12px 0"}},{children:t(m,{show:!0,onSave:()=>{},products:null!==(q=j.products)&&void 0!==q?q:[],title:"Select Products",onClose:()=>{R(void 0)},selectedProducts:null!==(M=x===E.ENTITLED?J:$)&&void 0!==M?M:[],setSelectedProducts:x===E.ENTITLED?W:Z,onSearchKeyChange:j.onProductSearch})})),j.newPickerConf&&t(T,{visible:!0,onClose:()=>R(void 0),collectionFetcher:j.newPickerConf.fetchCollections,productFetcher:j.newPickerConf.fetchProducts,selectedItems:x===E.ENTITLED?J:$,onAdd:e=>{x===E.ENTITLED?W(e):Z(e),R(void 0)},zIndex:200,storeId:j.newPickerConf.storeId,searchInCollectionFetcher:j.newPickerConf.searchInCollection,customCollectionRestriction:!1,searchFetcher:j.newPickerConf.searchProducts,hideCollectionCheckbox:!0,hideVariantCheckbox:!0,selectProductsFromCustomCollection:!0,hideSelectionCount:!0})]}),!!U&&t("div",Object.assign({style:{padding:"12px 0"}},{children:e(o,{children:[j.newPickerConf&&t(T,{visible:!0,onClose:()=>G(void 0),collectionFetcher:j.newPickerConf.fetchCollections,productFetcher:j.newPickerConf.fetchProducts,selectedItems:U===E.ENTITLED?oe:ee,onAdd:e=>{Object.values(e).forEach((e=>{e.products&&delete e.products})),U===E.ENTITLED?ie(e):te(e),G(void 0)},customCollectionRestriction:!1,zIndex:200,storeId:j.newPickerConf.storeId,searchInCollectionFetcher:j.newPickerConf.searchInCollection,searchFetcher:j.newPickerConf.searchProducts,hideProductCheckbox:!0,hideVariantCheckbox:!0,title:"Select Collections",hideGlobalSearch:!0,hideSelectionCount:!0}),!j.newPickerConf&&t(m,{show:!0,onSave:()=>{},products:null!==(A=j.collection)&&void 0!==A?A:[],title:"Select Products",onClose:()=>{G(void 0)},selectedProducts:null!==(L=U===E.ENTITLED?oe:ee)&&void 0!==L?L:[],setSelectedProducts:U===E.ENTITLED?ie:te,onSearchKeyChange:j.onCollectionSearch,searchPlaceholder:"Search collections..."})]})}))]}))};export{j as DiscountModal};
@@ -22,10 +22,10 @@ interface DynamicCouponI {
22
22
  prerequisiteProducts: Product[];
23
23
  entitledCollections: Collection[];
24
24
  prerequisiteCollections: Collection[];
25
- setEntitledProducts: React.Dispatch<React.SetStateAction<Product[]>>;
26
- setPrerequisiteProducts: React.Dispatch<React.SetStateAction<Product[]>>;
27
- setEntitledCollections: React.Dispatch<React.SetStateAction<Collection[]>>;
28
- setPrerequisiteCollections: React.Dispatch<React.SetStateAction<Collection[]>>;
25
+ setEntitledProducts: React.Dispatch<React.SetStateAction<Product[] | undefined>>;
26
+ setPrerequisiteProducts: React.Dispatch<React.SetStateAction<Product[] | undefined>>;
27
+ setEntitledCollections: React.Dispatch<React.SetStateAction<Collection[] | undefined>>;
28
+ setPrerequisiteCollections: React.Dispatch<React.SetStateAction<Collection[] | undefined>>;
29
29
  onChangeCouponType: (option: SingleOption) => void;
30
30
  hideExpiration?: boolean;
31
31
  hideProbability?: boolean;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import{cloneDeep as s}from"lodash";import{Button as a}from"../../button/Button.js";import"react";import{DISCOUNT_TYPES as n,MIN_PURCHASE_REQUIREMENT as o,DISCOUNT_VALUE_TYPES as l}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as r}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import{TitleRegular as d,TitleSmall as c,TitleMedium as u,BodyPrimary as p,BodySecondary as m}from"../../TypographyStyle.js";import{DEFAULT_THEME as v}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"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import{Input as b}from"../../input/Input.js";import g from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import"../../modals/styledModal.js";import"../../../node_modules/lodash.debounce/index.js";import"../../bik-layout/CommonStyles.js";import"../../product-picker/ProductPicker.styled.js";import"../../../utils/DateUtils.js";import"../../tag/Tag.js";import"@tippyjs/react";import"../../tooltips/TooltipInternal.js";import"../../product-picker-v2/modal.js";import{DynamicCouponContainer as D}from"../DiscountModal.styled.js";import{CouponExpiration as h}from"../CouponExpiration/CouponExpiration.js";import{RadioButton as y}from"../../radioButton/RadioButton.js";import O from"../../../assets/icons/cursor.svg.js";import T from"../../../assets/icons/plus.svg.js";const j="https://jkfenner.com/wp-content/uploads/2019/11/default.jpg";var x;function E(){return null}!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(x||(x={}));const _=_=>{var C;const f=[{value:n.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:_.selectedCouponType===n.AMOUNT_OFF_ORDER},{value:n.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:_.selectedCouponType===n.AMOUNT_OFF_PRODUCTS},{value:n.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:_.selectedCouponType===n.BUY_X_GET_Y},{value:n.FREE_SHIPPING,label:"Free shipping",selected:_.selectedCouponType===n.FREE_SHIPPING}],N=[{selected:_.selectedMinimumRequirement===o.NA,label:"No minimum requirements",value:o.NA},{selected:_.selectedMinimumRequirement===o.AMOUNT,label:`Minimum purchase amount (${null!==(C=_.currency)&&void 0!==C?C:"₹"})`,value:o.AMOUNT},{selected:_.selectedMinimumRequirement===o.QUANTITY,label:"Minimum quantity of items",value:o.QUANTITY}],F=()=>{var e,t,i,s,a;if(_.discountData.valueType===l.FIXED_AMOUNT){if((null===(e=_.discountData)||void 0===e?void 0:e.value)&&(null===(t=_.discountData)||void 0===t?void 0:t.value)<=0)return"Enter a valid input"}else if((null===(i=_.discountData)||void 0===i?void 0:i.value)&&((null===(s=_.discountData)||void 0===s?void 0:s.value)<=0||(null===(a=_.discountData)||void 0===a?void 0:a.value)>100))return"Enter a valid input"},I=()=>{var i,s,a,n,l;return e("div",Object.assign({className:"input__rows"},{children:[e("div",Object.assign({className:"input__wrapper"},{children:[t(m,Object.assign({style:{marginBottom:10}},{children:"Min purchase requirements"})),t(r,{options:N,placement:"bottom-start",onSelect:e=>{const t=e.value;_.setSelectedMinimumRequirement(t),_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minQuantity:void 0,minAmount:void 0}))}})]})),t("div",Object.assign({className:"input__wrapper"},{children:_.selectedMinimumRequirement!==o.NA&&t(b,{value:_.selectedMinimumRequirement===o.AMOUNT?null!==(s=null===(i=_.discountData.minAmount)||void 0===i?void 0:i.toString())&&void 0!==s?s:"":null!==(n=null===(a=_.discountData.minQuantity)||void 0===a?void 0:a.toString())&&void 0!==n?n:"",onChangeText:e=>{_.selectedMinimumRequirement===o.AMOUNT?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minAmount:parseInt(e)})):_.selectedMinimumRequirement===o.QUANTITY&&_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minQuantity:parseInt(e)}))},labelText:_.selectedMinimumRequirement===o.AMOUNT?"Minimum purchase amount":"Minimum purchase quantity",prefixText:_.selectedMinimumRequirement===o.AMOUNT?null!==(l=_.currency)&&void 0!==l?l:"₹":void 0,type:"number",placeholder:_.selectedMinimumRequirement===o.AMOUNT?"1000.00":"2"})}))]}))},w=(n,o)=>{var l,r,u,p;let m=[],D=[],h={},y={};return _.useNewPicker?(h=n===x.ENTITLED?_.entitledProducts:_.prerequisiteProducts,y=null!==(l=n===x.ENTITLED?_.entitledCollections:_.prerequisiteCollections)&&void 0!==l?l:[],(null==h?void 0:h.isCustom)&&delete h.isCustom,(null==y?void 0:y.isCustom)&&delete y.isCustom,Object.values(h).forEach((e=>{Object.keys(e.products).forEach((t=>{m.push({id:t,name:e.products[t].name,image:e.products[t].image})}))})),Object.keys(y).forEach((e=>{"isCustom"!==e&&D.push({id:e,name:y[e].name,image:y[e].image})}))):(m=n===x.ENTITLED?_.entitledProducts:_.prerequisiteProducts,D=null!==(r=n===x.ENTITLED?_.entitledCollections:_.prerequisiteCollections)&&void 0!==r?r:[]),e(i,{children:[!o&&e(i,{children:[t(d,{children:n===x.PREREQUISITE?"Customer buys":"Customer gets"}),e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:n===x.ENTITLED?null===(u=_.discountData.entitledQuantity)||void 0===u?void 0:u.toString():null===(p=_.discountData.prerequisiteQuantity)||void 0===p?void 0:p.toString(),type:"number",onChangeText:e=>{n===x.ENTITLED?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{entitledQuantity:parseInt(e)})):_.setDiscountData(Object.assign(Object.assign({},_.discountData),{prerequisiteQuantity:parseInt(e)}))},labelText:"Add quantity",placeholder:"Add quantity"})})),t("div",{className:"input__wrapper"})]}))]}),e("div",Object.assign({style:{display:"flex",gap:18}},{children:[!(null==D?void 0:D.length)&&t(a,{buttonText:"Add product",buttonType:"tertiary",LeadingIcon:T,onClick:()=>{_.setIsProductPickerOpen(n)}}),!(null==m?void 0:m.length)&&t(a,{buttonText:"Add collection",buttonType:"tertiary",LeadingIcon:T,onClick:()=>{_.setIsCollectionPickerOpen(n)}})]})),!!m.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(c,{children:"Products"}),m.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${v.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=j},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(c,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(_.useNewPicker){const e=s(h);Object.values(e).forEach((e=>{var t,s;(null===(t=null==e?void 0:e.products)||void 0===t?void 0:t[i.id])&&(null===(s=null==e?void 0:e.products)||void 0===s||delete s[i.id])})),n===x.ENTITLED?_.setEntitledProducts(e):_.setPrerequisiteProducts(e)}else{const e=m.filter((e=>e.id!==i.id));n===x.ENTITLED?_.setEntitledProducts(e):_.setPrerequisiteProducts(e)}}},{children:t(g,{width:14,color:v.colorsV2.content.primary})}))}))]}),i.id)))]})),!!D.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(c,{children:"Collections"}),D.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${v.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=j},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(c,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(_.useNewPicker){const e=s(y);delete e[i.id],n===x.ENTITLED?_.setEntitledCollections(e):_.setPrerequisiteCollections(e)}else{const e=D.filter((e=>e.id!==i.id));n===x.ENTITLED?_.setEntitledCollections(e):_.setPrerequisiteCollections(e)}}},{children:t(g,{width:14,color:v.colorsV2.content.primary})}))}))]}),i.id)))]}))]})};return e(D,{children:[_.allowStaticCoupon&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(r,{options:f,width:"338px",placement:"bottom-start",onSelect:e=>{_.onChangeCouponType(e)}})})),t("div",Object.assign({className:"input__wrapper",style:{display:"flex",alignItems:"center",gap:8}},{children:(_.selectedCouponType===n.AMOUNT_OFF_PRODUCTS||_.selectedCouponType===n.AMOUNT_OFF_ORDER)&&e(i,{children:[t(y,{isActive:_.discountData.valueType===l.FIXED_AMOUNT,onValueChange:()=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{valueType:l.FIXED_AMOUNT,value:void 0}))},label:"Fixed amount"}),t(y,{isActive:_.discountData.valueType===l.PERCENTAGE,onValueChange:()=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{valueType:l.PERCENTAGE,value:void 0}))},label:"Percentage"})]})}))]})),_.selectedCouponType===n.AMOUNT_OFF_ORDER&&(()=>{var s,a,n,o,r;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:null!==(n=null===(a=null===(s=_.discountData)||void 0===s?void 0:s.value)||void 0===a?void 0:a.toString())&&void 0!==n?n:"",labelText:"Discount code value",type:"number",errorMessage:F(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},placeholder:_.discountData.valueType===l.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:_.discountData.valueType===l.FIXED_AMOUNT?null!==(o=_.currency)&&void 0!==o?o:"₹":void 0,suffixText:_.discountData.valueType===l.PERCENTAGE?"%":void 0})}))]})),I(),!_.hideProbability&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{type:"number",value:null===(r=_.discountData.probability)||void 0===r?void 0:r.toString(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})})),t("div",{className:"input__wrapper"})]}))]})})(),_.selectedCouponType===n.AMOUNT_OFF_PRODUCTS&&(()=>{var s,a,n,o,r;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:null!==(n=null===(a=null===(s=_.discountData)||void 0===s?void 0:s.value)||void 0===a?void 0:a.toString())&&void 0!==n?n:"",labelText:"Discount code value",type:"number",errorMessage:F(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},placeholder:_.discountData.valueType===l.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:_.discountData.valueType===l.FIXED_AMOUNT?null!==(o=_.currency)&&void 0!==o?o:"₹":void 0,suffixText:_.discountData.valueType===l.PERCENTAGE?"%":void 0})}))]})),w(x.ENTITLED,!0),!_.hideProbability&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{type:"number",value:null===(r=_.discountData.probability)||void 0===r?void 0:r.toString(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})})),t("div",{className:"input__wrapper"})]}))]})})(),_.selectedCouponType===n.FREE_SHIPPING&&(()=>{var s;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},labelText:"Code title",placeholder:"eg: Flat 50% Off",maxCharLimit:18})})),t("div",Object.assign({className:"input__wrapper"},{children:!_.hideProbability&&t(b,{value:null===(s=_.discountData.probability)||void 0===s?void 0:s.toString(),type:"number",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]})),I()]})})(),_.selectedCouponType===n.BUY_X_GET_Y&&(()=>{var i,s,a,n;return e(D,{children:[t("div",Object.assign({className:"input__rows"},{children:e("div",Object.assign({style:{display:"flex",gap:20,flex:1}},{children:[t("div",Object.assign({style:{flex:1}},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),!_.hideProbability&&t("div",Object.assign({style:{flex:1}},{children:t(b,{value:null===(i=_.discountData.probability)||void 0===i?void 0:i.toString(),type:"number",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)"})}))]}))})),t(E,{}),w(x.PREREQUISITE),t(E,{}),w(x.ENTITLED),t(E,{}),t(d,{children:"At a discount value"}),e("div",Object.assign({style:{display:"flex",gap:18,alignItems:"flex-start"}},{children:[t(y,{label:"Percentage",isActive:100!==_.discountData.value,onValueChange:()=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:void 0}))}}),100!==_.discountData.value&&t(b,{variant:"small",value:null!==(n=null===(a=null===(s=_.discountData)||void 0===s?void 0:s.value)||void 0===a?void 0:a.toString())&&void 0!==n?n:"",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},errorMessage:F(),type:"number",placeholder:"Enter percentage eg: 10%",suffixText:"%",width:"238px"})]})),t("div",{children:t(y,{label:"Free",isActive:100===_.discountData.value,onValueChange:e=>{e?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:100})):_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:void 0}))}})})]})})(),_.selectedCouponType&&!_.hideExpiration&&e(i,{children:[t("div",{style:_.selectedCouponType!==n.BUY_X_GET_Y&&_.selectedCouponType!==n.AMOUNT_OFF_PRODUCTS||!_.hideProbability?{height:6,borderTop:`1px solid ${v.colorsV2.stroke.primary}`,marginTop:12}:{}}),t(h,{discountData:_.discountData,setDiscountData:_.setDiscountData})]}),!_.selectedCouponType&&e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:10,padding:"40px 0",justifyContent:"center",alignItems:"center"}},{children:[t("div",Object.assign({style:{height:52,width:52,backgroundColor:v.colorsV2.background.inverse,borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},{children:t(O,{width:32,color:v.colorsV2.content.primaryInverse})})),t(u,{children:"No discount has been selected"}),t(p,{children:"Please select a discount type"})]}))]})};export{x as DISCOUNT_PRODUCTS,_ as default};
1
+ import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import{cloneDeep as a}from"lodash";import{Button as s}from"../../button/Button.js";import"react";import{DISCOUNT_TYPES as n,MIN_PURCHASE_REQUIREMENT as o,DISCOUNT_VALUE_TYPES as l}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as r}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"../../zeroState/ZeroState.js";import{TitleRegular as d,TitleSmall as c,TitleMedium as u,BodyPrimary as p,BodySecondary as m}from"../../TypographyStyle.js";import{DEFAULT_THEME as v}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"../../dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js";import"../../dropdown/OpenedDropdown/components/OpennedDropdown.styled.js";import{Input as b}from"../../input/Input.js";import g from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import"../../modals/styledModal.js";import"../../../node_modules/lodash.debounce/index.js";import"../../bik-layout/CommonStyles.js";import"../../product-picker/ProductPicker.styled.js";import"../../../utils/DateUtils.js";import"../../tag/Tag.js";import"@tippyjs/react";import"../../tooltips/TooltipInternal.js";import"../../product-picker-v2/modal.js";import{DynamicCouponContainer as D}from"../DiscountModal.styled.js";import{CouponExpiration as h}from"../CouponExpiration/CouponExpiration.js";import{RadioButton as y}from"../../radioButton/RadioButton.js";import T from"../../../assets/icons/cursor.svg.js";import O from"../../../assets/icons/plus.svg.js";const j="https://jkfenner.com/wp-content/uploads/2019/11/default.jpg";var x;function E(){return null}!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(x||(x={}));const _=_=>{var C;const N=[{value:n.AMOUNT_OFF_ORDER,label:"Amount off on order",selected:_.selectedCouponType===n.AMOUNT_OFF_ORDER},{value:n.AMOUNT_OFF_PRODUCTS,label:"Amount off on products",selected:_.selectedCouponType===n.AMOUNT_OFF_PRODUCTS},{value:n.BUY_X_GET_Y,label:"Buy X Get Y FREE",selected:_.selectedCouponType===n.BUY_X_GET_Y},{value:n.FREE_SHIPPING,label:"Free shipping",selected:_.selectedCouponType===n.FREE_SHIPPING}],f=[{selected:_.selectedMinimumRequirement===o.NA,label:"No minimum requirements",value:o.NA},{selected:_.selectedMinimumRequirement===o.AMOUNT,label:`Minimum purchase amount (${null!==(C=_.currency)&&void 0!==C?C:"₹"})`,value:o.AMOUNT},{selected:_.selectedMinimumRequirement===o.QUANTITY,label:"Minimum quantity of items",value:o.QUANTITY}],F=()=>{var e,t,i,a,s;if(_.discountData.valueType===l.FIXED_AMOUNT){if((null===(e=_.discountData)||void 0===e?void 0:e.value)&&(null===(t=_.discountData)||void 0===t?void 0:t.value)<=0)return"Enter a valid input"}else if((null===(i=_.discountData)||void 0===i?void 0:i.value)&&((null===(a=_.discountData)||void 0===a?void 0:a.value)<=0||(null===(s=_.discountData)||void 0===s?void 0:s.value)>100))return"Enter a valid input"},I=()=>{var i,a,s,n,l;return e("div",Object.assign({className:"input__rows"},{children:[e("div",Object.assign({className:"input__wrapper"},{children:[t(m,Object.assign({style:{marginBottom:10}},{children:"Min purchase requirements"})),t(r,{options:f,placement:"bottom-start",onSelect:e=>{const t=e.value;_.setSelectedMinimumRequirement(t),_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minQuantity:void 0,minAmount:void 0}))}})]})),t("div",Object.assign({className:"input__wrapper"},{children:_.selectedMinimumRequirement!==o.NA&&t(b,{value:_.selectedMinimumRequirement===o.AMOUNT?null!==(a=null===(i=_.discountData.minAmount)||void 0===i?void 0:i.toString())&&void 0!==a?a:"":null!==(n=null===(s=_.discountData.minQuantity)||void 0===s?void 0:s.toString())&&void 0!==n?n:"",onChangeText:e=>{_.selectedMinimumRequirement===o.AMOUNT?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minAmount:parseInt(e)})):_.selectedMinimumRequirement===o.QUANTITY&&_.setDiscountData(Object.assign(Object.assign({},_.discountData),{minQuantity:parseInt(e)}))},labelText:_.selectedMinimumRequirement===o.AMOUNT?"Minimum purchase amount":"Minimum purchase quantity",prefixText:_.selectedMinimumRequirement===o.AMOUNT?null!==(l=_.currency)&&void 0!==l?l:"₹":void 0,type:"number",placeholder:_.selectedMinimumRequirement===o.AMOUNT?"1000.00":"2"})}))]}))},w=(n,o)=>{var l,r,u,p;let m=[],D=[],h={},y={};return _.useNewPicker?(h=n===x.ENTITLED?_.entitledProducts:_.prerequisiteProducts,y=null!==(l=n===x.ENTITLED?_.entitledCollections:_.prerequisiteCollections)&&void 0!==l?l:[],(null==h?void 0:h.isCustom)&&delete h.isCustom,(null==y?void 0:y.isCustom)&&delete y.isCustom,Object.values(h).forEach((e=>{Object.keys(e.products).forEach((t=>{m.push({id:t,name:e.products[t].name,image:e.products[t].image})}))})),Object.keys(y).forEach((e=>{"isCustom"!==e&&D.push({id:e,name:y[e].name,image:y[e].image})}))):(m=n===x.ENTITLED?_.entitledProducts:_.prerequisiteProducts,D=null!==(r=n===x.ENTITLED?_.entitledCollections:_.prerequisiteCollections)&&void 0!==r?r:[]),e(i,{children:[!o&&e(i,{children:[t(d,{children:n===x.PREREQUISITE?"Customer buys":"Customer gets"}),e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:n===x.ENTITLED?null===(u=_.discountData.entitledQuantity)||void 0===u?void 0:u.toString():null===(p=_.discountData.prerequisiteQuantity)||void 0===p?void 0:p.toString(),type:"number",onChangeText:e=>{n===x.ENTITLED?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{entitledQuantity:parseInt(e)})):_.setDiscountData(Object.assign(Object.assign({},_.discountData),{prerequisiteQuantity:parseInt(e)}))},labelText:"Add quantity",placeholder:"Add quantity"})})),t("div",{className:"input__wrapper"})]}))]}),e("div",Object.assign({style:{display:"flex",gap:18}},{children:[!(null==D?void 0:D.length)&&t(s,{buttonText:"Add product",buttonType:"tertiary",LeadingIcon:O,onClick:()=>{_.setIsProductPickerOpen(n)}}),!(null==m?void 0:m.length)&&t(s,{buttonText:"Add collection",buttonType:"tertiary",LeadingIcon:O,onClick:()=>{_.setIsCollectionPickerOpen(n)}})]})),!!m.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(c,{children:"Products"}),m.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${v.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=j},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(c,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(_.useNewPicker){const e=a(h);Object.values(e).forEach((e=>{var t,a;(null===(t=null==e?void 0:e.products)||void 0===t?void 0:t[i.id])&&(null===(a=null==e?void 0:e.products)||void 0===a||delete a[i.id])})),n===x.ENTITLED?_.setEntitledProducts(e):_.setPrerequisiteProducts(e)}else{const e=m.filter((e=>e.id!==i.id));n===x.ENTITLED?_.setEntitledProducts(e):_.setPrerequisiteProducts(e)}}},{children:t(g,{width:14,color:v.colorsV2.content.primary})}))}))]}),i.id)))]})),!!D.length&&e("div",Object.assign({style:{margin:"8px 0"}},{children:[t(c,{children:"Collections"}),D.map((i=>e("div",Object.assign({style:{padding:"20px 0 12px 0",borderBottom:`1px solid ${v.colorsV2.stroke.primary}`,display:"flex"}},{children:[e("div",Object.assign({style:{display:"flex",gap:16,alignItems:"center",flex:.8}},{children:[t("img",{src:i.image,onError:e=>{e.target.onerror=null,e.target.src=j},style:{height:40,width:40,objectFit:"cover",borderRadius:4}}),t(c,{children:i.name})]})),t("div",Object.assign({style:{flex:.2,display:"flex",justifyContent:"flex-end",alignItems:"center"}},{children:t("div",Object.assign({style:{cursor:"pointer"},onClick:()=>{if(_.useNewPicker){const e=a(y);delete e[i.id],n===x.ENTITLED?_.setEntitledCollections(e):_.setPrerequisiteCollections(e)}else{const e=D.filter((e=>e.id!==i.id));n===x.ENTITLED?_.setEntitledCollections(e):_.setPrerequisiteCollections(e)}}},{children:t(g,{width:14,color:v.colorsV2.content.primary})}))}))]}),i.id)))]}))]})};return e(D,{children:[_.allowStaticCoupon&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(r,{options:N,width:"338px",placement:"bottom-start",onSelect:e=>{_.onChangeCouponType(e)}})})),t("div",Object.assign({className:"input__wrapper",style:{display:"flex",alignItems:"center",gap:8}},{children:(_.selectedCouponType===n.AMOUNT_OFF_PRODUCTS||_.selectedCouponType===n.AMOUNT_OFF_ORDER)&&e(i,{children:[t(y,{isActive:_.discountData.valueType===l.FIXED_AMOUNT,onValueChange:()=>{_.discountData.valueType!==l.FIXED_AMOUNT&&_.setDiscountData(Object.assign(Object.assign({},_.discountData),{valueType:l.FIXED_AMOUNT,value:void 0}))},label:"Fixed amount"}),t(y,{isActive:_.discountData.valueType===l.PERCENTAGE,onValueChange:()=>{_.discountData.valueType!==l.PERCENTAGE&&_.setDiscountData(Object.assign(Object.assign({},_.discountData),{valueType:l.PERCENTAGE,value:void 0}))},label:"Percentage"})]})}))]})),_.selectedCouponType===n.AMOUNT_OFF_ORDER&&(()=>{var a,s,n,o,r;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:null!==(n=null===(s=null===(a=_.discountData)||void 0===a?void 0:a.value)||void 0===s?void 0:s.toString())&&void 0!==n?n:"",labelText:"Discount code value",type:"number",errorMessage:F(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},placeholder:_.discountData.valueType===l.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:_.discountData.valueType===l.FIXED_AMOUNT?null!==(o=_.currency)&&void 0!==o?o:"₹":void 0,suffixText:_.discountData.valueType===l.PERCENTAGE?"%":void 0})}))]})),I(),!_.hideProbability&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{type:"number",value:null===(r=_.discountData.probability)||void 0===r?void 0:r.toString(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})})),t("div",{className:"input__wrapper"})]}))]})})(),_.selectedCouponType===n.AMOUNT_OFF_PRODUCTS&&(()=>{var a,s,n,o,r;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:null!==(n=null===(s=null===(a=_.discountData)||void 0===a?void 0:a.value)||void 0===s?void 0:s.toString())&&void 0!==n?n:"",labelText:"Discount code value",type:"number",errorMessage:F(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},placeholder:_.discountData.valueType===l.FIXED_AMOUNT?"0.00":"Enter a value",prefixText:_.discountData.valueType===l.FIXED_AMOUNT?null!==(o=_.currency)&&void 0!==o?o:"₹":void 0,suffixText:_.discountData.valueType===l.PERCENTAGE?"%":void 0})}))]})),w(x.ENTITLED,!0),!_.hideProbability&&e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{type:"number",value:null===(r=_.discountData.probability)||void 0===r?void 0:r.toString(),onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})})),t("div",{className:"input__wrapper"})]}))]})})(),_.selectedCouponType===n.FREE_SHIPPING&&(()=>{var a;return e(i,{children:[e("div",Object.assign({className:"input__rows"},{children:[t("div",Object.assign({className:"input__wrapper"},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},labelText:"Code title",placeholder:"eg: Flat 50% Off",maxCharLimit:18})})),t("div",Object.assign({className:"input__wrapper"},{children:!_.hideProbability&&t(b,{value:null===(a=_.discountData.probability)||void 0===a?void 0:a.toString(),type:"number",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})}))]})),I()]})})(),_.selectedCouponType===n.BUY_X_GET_Y&&(()=>{var i,a,s,n;return e(D,{children:[t("div",Object.assign({className:"input__rows"},{children:e("div",Object.assign({style:{display:"flex",gap:20,flex:1}},{children:[t("div",Object.assign({style:{flex:1}},{children:t(b,{value:_.discountData.title,onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{title:e.trim()}))},maxCharLimit:18,labelText:"Code title",placeholder:"eg: Flat 50% Off"})})),!_.hideProbability&&t("div",Object.assign({style:{flex:1}},{children:t(b,{value:null===(i=_.discountData.probability)||void 0===i?void 0:i.toString(),type:"number",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability",placeholder:"Enter probability in decimals (0 - 1)",maxCharLimit:4})}))]}))})),t(E,{}),w(x.PREREQUISITE),t(E,{}),w(x.ENTITLED),t(E,{}),t(d,{children:"At a discount value"}),e("div",Object.assign({style:{display:"flex",gap:18,alignItems:"flex-start"}},{children:[t(y,{label:"Percentage",isActive:100!==_.discountData.value,onValueChange:()=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:void 0}))}}),100!==_.discountData.value&&t(b,{variant:"small",value:null!==(n=null===(s=null===(a=_.discountData)||void 0===a?void 0:a.value)||void 0===s?void 0:s.toString())&&void 0!==n?n:"",onChangeText:e=>{_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:parseInt(e)}))},errorMessage:F(),type:"number",placeholder:"Enter percentage eg: 10%",suffixText:"%",width:"238px"})]})),t("div",{children:t(y,{label:"Free",isActive:100===_.discountData.value,onValueChange:e=>{e?_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:100})):_.setDiscountData(Object.assign(Object.assign({},_.discountData),{value:void 0}))}})})]})})(),_.selectedCouponType&&!_.hideExpiration&&e(i,{children:[t("div",{style:_.selectedCouponType!==n.BUY_X_GET_Y&&_.selectedCouponType!==n.AMOUNT_OFF_PRODUCTS||!_.hideProbability?{height:6,borderTop:`1px solid ${v.colorsV2.stroke.primary}`,marginTop:12}:{}}),t(h,{discountData:_.discountData,setDiscountData:_.setDiscountData})]}),!_.selectedCouponType&&e("div",Object.assign({style:{display:"flex",flexDirection:"column",gap:10,padding:"40px 0",justifyContent:"center",alignItems:"center"}},{children:[t("div",Object.assign({style:{height:52,width:52,backgroundColor:v.colorsV2.background.inverse,borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},{children:t(T,{width:32,color:v.colorsV2.content.primaryInverse})})),t(u,{children:"No discount has been selected"}),t(p,{children:"Please select a discount type"})]}))]})};export{x as DISCOUNT_PRODUCTS,_ as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bikdotai/bik-component-library",
3
- "version": "0.0.390",
3
+ "version": "0.0.391",
4
4
  "description": "Bik Component Library",
5
5
  "repository": {
6
6
  "type": "git",