@bikdotai/bik-component-library 0.0.728 → 0.0.729-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.d.ts +1 -1
- package/dist/cjs/components/QueryBuilder/Triggers/EVENTS/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
- package/dist/cjs/components/QueryBuilder/Triggers/IG/components/IGTrigger.d.ts +1 -1
- package/dist/cjs/components/QueryBuilder/Triggers/IG/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
- package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +2 -2
- package/dist/cjs/components/bik-layout/MockMenus.d.ts +1 -0
- package/dist/cjs/components/custom-date-time/CustomDateTime.js +1 -1
- package/dist/cjs/components/data-source-panel/DataSourcePanel.js +1 -1
- package/dist/cjs/components/discount-modal/CouponExpiration/CouponExpiration.d.ts +1 -0
- package/dist/cjs/components/discount-modal/CouponExpiration/CouponExpiration.js +1 -1
- package/dist/cjs/components/discount-modal/DiscountModal.d.ts +1 -0
- package/dist/cjs/components/discount-modal/DiscountModal.js +1 -1
- package/dist/cjs/components/discount-modal/DiscountUtils.d.ts +1 -1
- package/dist/cjs/components/discount-modal/DiscountUtils.js +1 -1
- package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.d.ts +2 -0
- package/dist/cjs/components/discount-modal/DynamicCoupon/DynamicCoupon.js +1 -1
- package/dist/cjs/components/discount-modal/StaticCoupon/StaticCoupon.d.ts +51 -1
- package/dist/cjs/components/discount-modal/StaticCoupon/StaticCoupon.js +1 -1
- package/dist/esm/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.d.ts +1 -1
- package/dist/esm/components/QueryBuilder/Triggers/EVENTS/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
- package/dist/esm/components/QueryBuilder/Triggers/IG/components/IGTrigger.d.ts +1 -1
- package/dist/esm/components/QueryBuilder/Triggers/IG/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
- package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +2 -2
- package/dist/esm/components/bik-layout/MockMenus.d.ts +1 -0
- package/dist/esm/components/custom-date-time/CustomDateTime.js +1 -1
- package/dist/esm/components/data-source-panel/DataSourcePanel.js +1 -1
- package/dist/esm/components/discount-modal/CouponExpiration/CouponExpiration.d.ts +1 -0
- package/dist/esm/components/discount-modal/CouponExpiration/CouponExpiration.js +1 -1
- package/dist/esm/components/discount-modal/DiscountModal.d.ts +1 -0
- package/dist/esm/components/discount-modal/DiscountModal.js +1 -1
- package/dist/esm/components/discount-modal/DiscountUtils.d.ts +1 -1
- package/dist/esm/components/discount-modal/DiscountUtils.js +1 -1
- package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.d.ts +2 -0
- package/dist/esm/components/discount-modal/DynamicCoupon/DynamicCoupon.js +1 -1
- package/dist/esm/components/discount-modal/StaticCoupon/StaticCoupon.d.ts +51 -1
- package/dist/esm/components/discount-modal/StaticCoupon/StaticCoupon.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as e}from"../../../_virtual/_tslib.js";import{j as i}from"../../../node_modules/react/jsx-runtime.js";import t from"../../../assets/icons/info.svg.js";import{Alert as o}from"../../alerts/Alert.js";import{ALERT_TYPES as s,CONTENT_POSITION as n}from"../../alerts/AlertHelper.js";import{Button as l}from"../../button/Button.js";import{CheckBox as r}from"../../checkBox/CheckBox.js";import{DISCOUNT_APPLIES_TO as a,OFFER_APPLIES_TO as d,DISCOUNT_TYPES as c,COUPON_EXPIRATION as u,DISCOUNT_VALUE_TYPES as p,DISCOUNT_TARGET_TYPES as m,DISCOUNT_TARGET_SELECTION as C}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as v}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"react";import"../../zeroState/ZeroState.js";import{BodySecondary as E,TitleRegular as j,TitleSmall as x}from"../../TypographyStyle.js";import{DEFAULT_THEME as D}from"../../../constants/Theme.js";import"../../dropdown/OpenedDropdown/components/description/Description.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"../../icon-button/IconButton.js";import{Input as b}from"../../input/Input.js";import g from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import{RadioButton as T}from"../../radioButton/RadioButton.js";import h from"../../../assets/icons/cubeIcon.svg.js";import y from"../../../assets/icons/delete.svg.js";import O from"../../../assets/icons/edit.svg.js";import P from"../../../assets/icons/plus.svg.js";import{CouponExpiration as I}from"../CouponExpiration/CouponExpiration.js";import{DynamicCouponContainer as V}from"../DiscountModal.styled.js";import{DiscountOptionsContainer as S,DiscountDetailsOption as f,AddProductButtonsContainer as R,ProductCollectionCard as _,CubeIconContainer as N,IconContainer as A,ProductVariableCard as F}from"./DynamicCoupon.styled.js";import L from"./MinimumRequirementComponent.js";import w from"./ZeroState.js";var q;!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(q||(q={}));const k=k=>{var U,B,M,G,Q,Y,X,$;const W=[{selected:k.discountCouponAppliesTo===a.ENTIRE_ORDER,label:"Entire Order",value:a.ENTIRE_ORDER},{selected:k.discountCouponAppliesTo===a.SPECIFIC_PRODUCTS,label:"Specific Product",value:a.SPECIFIC_PRODUCTS},{selected:k.discountCouponAppliesTo===a.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:a.SPECIFIC_COLLECTIONS}],z=[{selected:k.offerAppliesToBuy===d.SPECIFIC_PRODUCTS,label:"Specific Product",value:d.SPECIFIC_PRODUCTS},{selected:k.offerAppliesToBuy===d.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:d.SPECIFIC_COLLECTIONS}],Z=[{selected:k.offerAppliesToGet===d.SPECIFIC_PRODUCTS,label:"Specific Product",value:d.SPECIFIC_PRODUCTS},{selected:k.offerAppliesToGet===d.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:d.SPECIFIC_COLLECTIONS}],H=(e,r,d)=>{var c,u,p,m,C,v,j,b,T,I,V,S;let f=[],L=[],w={},U={};k.useNewPicker?(w=r===q.ENTITLED?k.entitledProducts:k.prerequisiteProducts,U=null!==(c=r===q.ENTITLED?k.entitledCollections:k.prerequisiteCollections)&&void 0!==c?c:[],(null==w?void 0:w.isCustom)&&delete w.isCustom,(null==U?void 0:U.isCustom)&&delete U.isCustom,Object.values(w).forEach((e=>{Object.keys(e.products).forEach((i=>{f.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(U).forEach((e=>{"isCustom"!==e&&L.push({id:e,name:U[e].name,image:U[e].image})}))):(f=r===q.ENTITLED?k.entitledProducts:k.prerequisiteProducts,L=null!==(u=r===q.ENTITLED?k.entitledCollections:k.prerequisiteCollections)&&void 0!==u?u:[]);const B=[null===(p=k.dynamicDiscountValidationError)||void 0===p?void 0:p.inValidProductSelection,null===(m=k.dynamicDiscountValidationError)||void 0===m?void 0:m.inValidProductVariableSelection,null===(C=k.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidCollectionSelection],M=[null===(v=k.dynamicDiscountValidationError)||void 0===v?void 0:v.inValidBuyXCollectionSelection,null===(j=k.dynamicDiscountValidationError)||void 0===j?void 0:j.inValidBuyXProductSelection,null===(b=k.dynamicDiscountValidationError)||void 0===b?void 0:b.inValidBuyXProductVariableSelection],G=[null===(T=k.dynamicDiscountValidationError)||void 0===T?void 0:T.inValidGetYCollectionSelection,null===(I=k.dynamicDiscountValidationError)||void 0===I?void 0:I.inValidGetYProductSelection,null===(V=k.dynamicDiscountValidationError)||void 0===V?void 0:V.inValidGetYProductVariableSelection];let Q=!1;return"couponAppliesTo"===d&&(Q=B.some(Boolean)),"buyX"===d&&(Q=M.some(Boolean)),"getY"===d&&(Q=G.some(Boolean)),i.jsxs(i.Fragment,{children:[i.jsxs("div",Object.assign({style:{display:"flex",gap:18}},{children:[e===a.SPECIFIC_PRODUCTS&&0===f.length&&(r===q.ENTITLED&&!k.entitledProductVariable||r===q.PREREQUISITE&&!k.preRequisiteProductVariable)&&!(null==L?void 0:L.length)&&i.jsxs(R,{children:[i.jsx("div",Object.assign({style:{width:k.isProductVariableSupported?"284px":"300px",display:"flex"}},{children:i.jsx(l,{buttonText:"Add Product(s)",buttonType:"dashRegular",LeadingIcon:P,matchParentWidth:!0,onClick:()=>{k.setIsProductPickerOpen(r)},error:Q})})),k.isProductVariableSupported&&k.productVariableList&&i.jsxs(i.Fragment,{children:[i.jsx(E,Object.assign({color:D.colorsV2.content.placeholder},{children:"OR"})),i.jsx(l,{buttonText:"Add Product(s) Variable",buttonType:"dashRegular",LeadingIcon:P,matchParentWidth:!0,onClick:()=>{k.setIsProductVariablePickerOpen(r)},error:Q})]})]}),e===a.SPECIFIC_COLLECTIONS&&0===L.length&&!(null==f?void 0:f.length)&&i.jsx("div",Object.assign({style:{width:"300px",display:"flex"}},{children:i.jsx(l,{buttonText:"Add collection(s)",buttonType:"dashRegular",LeadingIcon:P,matchParentWidth:!0,onClick:()=>{k.setIsCollectionPickerOpen(r)},style:{marginTop:"16px"},error:Q})}))]})),Q&&i.jsx("div",Object.assign({style:{margin:"8px 0 0"}},{children:i.jsx(o,{type:s.NEGATIVE,text:"Required Field",contentPosition:n.START,icon:()=>i.jsx(t,{width:16,height:16,color:D.colorsV2.content.negative})})})),f.length||L.length?i.jsxs("div",{children:[i.jsx(E,Object.assign({style:{margin:"8px 0"}},{children:e===a.SPECIFIC_COLLECTIONS?"Collection(s)":"Product(s)"})),i.jsxs(_,{children:[i.jsx(N,{children:i.jsx(h,{width:20,height:20,color:D.colorsV2.content.secondary})}),i.jsxs(x,{children:[e===a.SPECIFIC_PRODUCTS?f.length:L.length," ",e===a.SPECIFIC_PRODUCTS?"Product(s)":"Collection(s)"," ","added"]}),i.jsxs("div",Object.assign({style:{display:"flex",gap:4}},{children:[i.jsx(A,Object.assign({onClick:()=>{e===a.SPECIFIC_PRODUCTS?k.setIsProductPickerOpen(r):k.setIsCollectionPickerOpen(r)}},{children:i.jsx(O,{width:24,height:24,color:D.colorsV2.content.placeholder})})),i.jsx(A,Object.assign({onClick:()=>{e===a.SPECIFIC_PRODUCTS?r===q.ENTITLED?k.setEntitledProducts([]):k.setPrerequisiteProducts([]):r===q.ENTITLED?k.setEntitledCollections([]):k.setPrerequisiteCollections([])}},{children:i.jsx(y,{width:24,height:24,color:D.colorsV2.content.placeholder})}))]}))]})]}):r===q.ENTITLED&&k.entitledProductVariable?i.jsxs("div",{children:[i.jsx(E,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i.jsxs(F,{children:[i.jsx(x,{children:k.entitledProductVariable.displayName}),i.jsx("div",Object.assign({style:{display:"flex",gap:4}},{children:i.jsx(A,Object.assign({onClick:()=>{k.setEntitledProductVariable(void 0)}},{children:i.jsx(g,{width:24,height:24,color:D.colorsV2.content.primary})}))}))]})]}):r===q.PREREQUISITE&&(null===(S=k.preRequisiteProductVariable)||void 0===S?void 0:S.displayName)?i.jsxs("div",{children:[i.jsx(E,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i.jsxs(F,{children:[i.jsx(x,{children:k.preRequisiteProductVariable.displayName}),i.jsx("div",Object.assign({style:{display:"flex",gap:4}},{children:i.jsx(A,Object.assign({onClick:()=>{k.setPreRequisiteProductVariable(void 0)}},{children:i.jsx(g,{width:24,height:24,color:D.colorsV2.content.primary})}))}))]})]}):i.jsx(i.Fragment,{children:" "})]})},J=(e,t)=>{var o,s,n,l,r,c,u,p,m,C;let j=[],D=[],g={},T={};k.useNewPicker?(g=e===q.ENTITLED?k.entitledProducts:k.prerequisiteProducts,T=null!==(o=e===q.ENTITLED?k.entitledCollections:k.prerequisiteCollections)&&void 0!==o?o:[],(null==g?void 0:g.isCustom)&&delete g.isCustom,(null==T?void 0:T.isCustom)&&delete T.isCustom,Object.values(g).forEach((e=>{Object.keys(e.products).forEach((i=>{j.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(T).forEach((e=>{"isCustom"!==e&&D.push({id:e,name:T[e].name,image:T[e].image})}))):(j=e===q.ENTITLED?k.entitledProducts:k.prerequisiteProducts,D=null!==(s=e===q.ENTITLED?k.entitledCollections:k.prerequisiteCollections)&&void 0!==s?s:[]);const h=e===q.PREREQUISITE?k.offerAppliesToBuy:k.offerAppliesToGet,y=e===q.PREREQUISITE?q.PREREQUISITE:q.ENTITLED,O=h===d.SPECIFIC_PRODUCTS?a.SPECIFIC_PRODUCTS:a.SPECIFIC_COLLECTIONS;return i.jsxs("div",{children:[i.jsx(x,Object.assign({style:{marginBottom:16}},{children:e===q.PREREQUISITE?"Customer buys":"Customer gets"})),i.jsxs("div",Object.assign({style:{display:"flex"}},{children:[!t&&i.jsx("div",{children:i.jsxs("div",Object.assign({className:"input__rows"},{children:[i.jsx("div",Object.assign({className:"input__wrapper"},{children:i.jsx(b,{value:e===q.ENTITLED?null!==(l=null===(n=k.discountData.entitledQuantity)||void 0===n?void 0:n.toString())&&void 0!==l?l:"":null!==(c=null===(r=k.discountData.prerequisiteQuantity)||void 0===r?void 0:r.toString())&&void 0!==c?c:"",type:"number",onChangeText:i=>{e===q.ENTITLED?k.setDiscountData(Object.assign(Object.assign({},k.discountData),{entitledQuantity:parseInt(i)})):k.setDiscountData(Object.assign(Object.assign({},k.discountData),{prerequisiteQuantity:parseInt(i)}))},labelText:"Quantity of products",placeholder:"Eg. 2",width:"300px",errorMessage:e===q.PREREQUISITE&&(null===(u=k.dynamicDiscountValidationError)||void 0===u?void 0:u.inValidBuyXValue)||e===q.ENTITLED&&(null===(p=k.dynamicDiscountValidationError)||void 0===p?void 0:p.inValidGetYValue)?"Required Field":"",state:e===q.PREREQUISITE&&(null===(m=k.dynamicDiscountValidationError)||void 0===m?void 0:m.inValidBuyXValue)||e===q.ENTITLED&&(null===(C=k.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidGetYValue)?"invalid":"none"})})),i.jsx("div",{className:"input__wrapper"})]}))}),i.jsxs("div",{children:[i.jsx(E,Object.assign({style:{marginBottom:8}},{children:"Any items from"})),e===q.PREREQUISITE&&i.jsx(v,{width:"244px",options:z,placement:"bottom-start",onSelect:e=>{var i,t,o;k.setOfferAppliesToBuy(e.value),k.setPrerequisiteProducts([]),k.setPrerequisiteCollections([]),k.setPreRequisiteProductVariable(void 0),k.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidBuyXCollectionSelection:!1,inValidBuyXProductSelection:!1,inValidBuyXProductVariableSelection:!1}))),k.setDiscountData(Object.assign(Object.assign({},k.discountData),{prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:null===(i=k.discountData.collectionsConf)||void 0===i?void 0:i.entitledCollections,prerequisiteCollections:{}},productsConf:{entitledProducts:null===(t=k.discountData.productsConf)||void 0===t?void 0:t.entitledProducts,prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:null===(o=k.discountData.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,prerequisiteProductVariable:{}}}))}}),e===q.ENTITLED&&i.jsx(v,{width:"244px",options:Z,placement:"bottom-start",onSelect:e=>{var i,t,o;k.setOfferAppliesToGet(e.value),k.setEntitledProducts([]),k.setEntitledCollections([]),k.setEntitledProductVariable(void 0),k.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidGetYCollectionSelection:!1,inValidGetYProductSelection:!1,inValidGetYProductVariableSelection:!1}))),k.setDiscountData(Object.assign(Object.assign({},k.discountData),{entitledCollectionIds:[],entitledProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:null===(i=k.discountData.collectionsConf)||void 0===i?void 0:i.prerequisiteCollections},productsConf:{entitledProducts:{},prerequisiteProducts:null===(t=k.discountData.productsConf)||void 0===t?void 0:t.prerequisiteProducts},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:null===(o=k.discountData.productVariableConf)||void 0===o?void 0:o.prerequisiteProductVariable}}))}})]})]})),H(O,y,e===q.PREREQUISITE?"buyX":"getY")]})};return i.jsxs(V,{children:[i.jsxs("div",{children:[i.jsxs("div",Object.assign({style:{display:"flex",gap:16}},{children:[i.jsx("div",Object.assign({className:"input__wrapper"},{children:i.jsx(b,{value:null!==(U=k.discountData.title)&&void 0!==U?U:"",onChangeText:e=>{var i;k.setDiscountData(Object.assign(Object.assign({},k.discountData),{title:null!==(i=null==e?void 0:e.trim())&&void 0!==i?i:""}))},maxCharLimit:30,labelText:"Discount Coupon Title",placeholder:`Eg. “Flat ${null!==(B=k.currency)&&void 0!==B?B:""} 15 Off”`,hintText:"Will be same for everyone. Can’t be changed later",width:"300px",isRequired:!0,errorMessage:(null===(M=k.dynamicDiscountValidationError)||void 0===M?void 0:M.invalidCouponTitle)?"Required Field":"",state:(null===(G=k.dynamicDiscountValidationError)||void 0===G?void 0:G.invalidCouponTitle)?"invalid":"none"})})),!k.hideProbability&&i.jsx(b,{value:null!==(Y=null===(Q=k.discountData.probability)||void 0===Q?void 0:Q.toString())&&void 0!==Y?Y:"",type:"number",onChangeText:e=>{k.setDiscountData(Object.assign(Object.assign({},k.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability of getting coupon ",hintText:"Enter a decimal value between 0-1",placeholder:"Eg. 0.5",maxCharLimit:4,width:"300px",isRequired:!0,errorMessage:(null===(X=k.dynamicDiscountValidationError)||void 0===X?void 0:X.inValidProbability)?"Required Field":"",state:(null===($=k.dynamicDiscountValidationError)||void 0===$?void 0:$.inValidProbability)?"invalid":"none"})]})),i.jsx("div",{style:{height:"1px",width:"100%",background:D.colorsV2.stroke.primary,margin:"24px 0 8px"}})]}),k.allowStaticCoupon&&i.jsx((()=>i.jsxs("div",{children:[i.jsx(j,{children:"Discount Details"}),i.jsx(S,{children:k.discountDetailsOptions.map((t=>{return i.jsxs(f,Object.assign({selected:k.selectedDiscountDetails.id===t.id,onClick:()=>(i=>{if(k.selectedDiscountDetails.id!==i.id)if(k.resetValidationErrors(),k.setValidationErrorMessage(""),k.setDiscountCouponAppliesTo(a.ENTIRE_ORDER),k.setSelectedDiscountDetails(i),k.setDiscountData(Object.assign(Object.assign({},k.discountData),{value:void 0})),k.setPreRequisiteProductVariable(void 0),k.setEntitledProductVariable(void 0),["percentage","amount"].includes(i.value)){k.onChangeCouponType({label:"Amount off on order",selected:!0,value:c.AMOUNT_OFF_ORDER});const t=Object.assign(Object.assign({},k.discountData),{valueType:"percentage"===i.value?p.PERCENTAGE:p.FIXED_AMOUNT,value:void 0,targetType:m.LINE_ITEM,targetSelection:C.ALL,entitledCollectionIds:[],entitledProductIds:[],prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:{}},productsConf:{entitledProducts:{},prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:{}}}),o=e(t,["entitledQuantity","prerequisiteQuantity"]);k.setDiscountData(o)}else k.onChangeCouponType({label:i.label,selected:!0,value:i.value})})(t)},{children:[t.icon((o=t.id,k.selectedDiscountDetails.id===o?D.colorsV2.stroke.brand:D.colorsV2.text.secondary)),t.label]}),t.id);var o}))})]})),{}),(k.selectedCouponType===c.AMOUNT_OFF_ORDER||k.selectedCouponType===c.AMOUNT_OFF_PRODUCTS)&&(()=>{var e,t,o,s,n,l;return i.jsxs(i.Fragment,{children:[i.jsx("div",Object.assign({className:"input__rows"},{children:i.jsx("div",Object.assign({className:"input__wrapper"},{children:i.jsx(b,{value:null!==(o=null===(t=null===(e=k.discountData)||void 0===e?void 0:e.value)||void 0===t?void 0:t.toString())&&void 0!==o?o:"",labelText:"Discount amount",type:"number",width:"300px",onChangeText:e=>{k.setDiscountData(Object.assign(Object.assign({},k.discountData),{value:parseInt(e)}))},placeholder:"15",prefixText:k.discountData.valueType===p.FIXED_AMOUNT?null!==(s=k.currency)&&void 0!==s?s:"":void 0,suffixText:k.discountData.valueType===p.PERCENTAGE?"%":void 0,errorMessage:(null===(n=k.dynamicDiscountValidationError)||void 0===n?void 0:n.inValidDiscountAmount)?"Required Field":"",state:(null===(l=k.dynamicDiscountValidationError)||void 0===l?void 0:l.inValidDiscountAmount)?"invalid":"none"})}))})),i.jsx("div",Object.assign({style:{paddingTop:"24px",marginTop:16,borderTop:`1px solid ${D.colorsV2.stroke.primary}`}},{children:i.jsxs("div",Object.assign({className:"input__wrapper"},{children:[i.jsx(j,Object.assign({style:{marginBottom:10}},{children:"Applies to"})),i.jsx("div",Object.assign({style:{display:"flex",flexGrow:0,flexShrink:0,flexBasis:"auto"}},{children:i.jsx(v,{width:"300px",options:W,placement:"bottom-start",onSelect:e=>{const i="value"in e&&e.value===a.ENTIRE_ORDER?{label:"Amount off on order",selected:!0,value:c.AMOUNT_OFF_ORDER}:{label:"Amount off on products",selected:!0,value:c.AMOUNT_OFF_PRODUCTS};k.onChangeCouponType(i),k.setDiscountCouponAppliesTo(e.value),k.setEntitledProductVariable(void 0),k.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidProductVariableSelection:!1,inValidProductSelection:!1,inValidCollectionSelection:!1})))}})})),(k.discountCouponAppliesTo===a.SPECIFIC_PRODUCTS||k.discountCouponAppliesTo===a.SPECIFIC_COLLECTIONS)&&H(k.discountCouponAppliesTo,q.ENTITLED,"couponAppliesTo")]}))}))]})})(),k.selectedCouponType===c.BUY_X_GET_Y&&(()=>{var e,t,o,s,n;return i.jsxs(V,Object.assign({style:{border:`1px solid ${D.colorsV2.stroke.primary}`,padding:"16px",borderRadius:"4px",margin:0}},{children:[J(q.PREREQUISITE),i.jsx("div",{style:{width:"100%",height:"1px",backgroundColor:D.colorsV2.stroke.primary,margin:"8px 0"}}),J(q.ENTITLED),i.jsx(E,Object.assign({style:{marginTop:"8px"}},{children:"At a discounted value"})),i.jsx("div",{children:i.jsx(T,{label:"Free",isActive:100===k.discountData.value,onValueChange:e=>{e?k.setDiscountData(Object.assign(Object.assign({},k.discountData),{value:100})):k.setDiscountData(Object.assign(Object.assign({},k.discountData),{value:void 0}))}})}),i.jsxs("div",Object.assign({style:{display:"flex",flexDirection:"column"}},{children:[i.jsx(T,{label:"Percentage off",isActive:100!==k.discountData.value,onValueChange:()=>{k.setDiscountData(Object.assign(Object.assign({},k.discountData),{value:void 0}))}}),100!==k.discountData.value&&i.jsx("div",Object.assign({style:{marginTop:8}},{children:i.jsx(b,{value:null!==(o=null===(t=null===(e=k.discountData)||void 0===e?void 0:e.value)||void 0===t?void 0:t.toString())&&void 0!==o?o:"",onChangeText:e=>{k.setDiscountData(Object.assign(Object.assign({},k.discountData),{value:parseInt(e)}))},type:"number",placeholder:"Eg. 50",suffixText:"%",width:"300px",errorMessage:(null===(s=k.dynamicDiscountValidationError)||void 0===s?void 0:s.inValidDiscountAmount)?"Required Field":"",state:(null===(n=k.dynamicDiscountValidationError)||void 0===n?void 0:n.inValidDiscountAmount)?"invalid":"none"})}))]}))]}))})(),!k.selectedCouponType&&i.jsx(w,{}),k.allowStaticCoupon&&k.selectedCouponType!==c.BUY_X_GET_Y&&i.jsx("div",Object.assign({style:{padding:"24px 0 16px",marginTop:16,borderTop:`1px solid ${D.colorsV2.stroke.primary}`}},{children:i.jsx(L,{selectedMinimumRequirement:k.selectedMinimumRequirement,setSelectedMinimumRequirement:k.setSelectedMinimumRequirement,discountData:k.discountData,setDiscountData:k.setDiscountData,currency:k.currency,dynamicDiscountValidationError:k.dynamicDiscountValidationError})})),k.selectedCouponType&&!k.hideExpiration&&i.jsxs("div",Object.assign({style:{padding:k.selectedCouponType!==c.BUY_X_GET_Y?"24px 0 16px":"8px 0",borderTop:k.selectedCouponType!==c.BUY_X_GET_Y?`1px solid ${D.colorsV2.stroke.primary}`:"none"}},{children:[i.jsx(r,{label:"Add expiration",isDisabled:!!k.makeExpiryMandatory,isChecked:k.isAddExpirationChecked,onValueChange:e=>{k.setIsAddExpirationChecked(e),k.setDiscountData(Object.assign(Object.assign({},k.discountData),{expireAfter:void 0,expireAt:void 0})),k.setSelectedExpiration(u.DYNAMIC_EXPIRATION)},boldOnChecked:!0,labelSize:"DEFAULT"}),i.jsx(E,Object.assign({style:{color:D.colorsV2.text.secondary,marginLeft:28}},{children:"Make coupon only valid till a certain time"})),k.isAddExpirationChecked&&i.jsx(I,{discountData:k.discountData,setDiscountData:k.setDiscountData,isAddExpirationChecked:k.isAddExpirationChecked,inValidCouponExpiry:k.dynamicDiscountValidationError.inValidCouponExpiry,selectedExpiration:k.selectedExpiration,setSelectedExpiration:k.setSelectedExpiration})]}))]})};export{q as DISCOUNT_PRODUCTS,k as default};
|
|
1
|
+
import{__rest as e}from"../../../_virtual/_tslib.js";import{j as i}from"../../../node_modules/react/jsx-runtime.js";import t from"../../../assets/icons/info.svg.js";import{Alert as o}from"../../alerts/Alert.js";import{ALERT_TYPES as s,CONTENT_POSITION as n}from"../../alerts/AlertHelper.js";import{Button as l}from"../../button/Button.js";import{CheckBox as r}from"../../checkBox/CheckBox.js";import{DISCOUNT_APPLIES_TO as a,OFFER_APPLIES_TO as d,DISCOUNT_TYPES as c,COUPON_EXPIRATION as u,DISCOUNT_VALUE_TYPES as p,DISCOUNT_TARGET_TYPES as m,DISCOUNT_TARGET_SELECTION as C}from"../type.js";import"../../dropdown/DropdownPopover/index.js";import{Dropdown as E}from"../../dropdown/Dropdown.js";import"../../dropdown/ChipDropdown.js";import"react";import"../../zeroState/ZeroState.js";import{BodySecondary as v,TitleRegular as j,TitleSmall as x}from"../../TypographyStyle.js";import{DEFAULT_THEME as D}from"../../../constants/Theme.js";import"../../dropdown/OpenedDropdown/components/description/Description.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"../../icon-button/IconButton.js";import{Input as b}from"../../input/Input.js";import g from"../../../assets/icons/cross.svg.js";import"../../dropdown/MenuItem/MenuItem.js";import{RadioButton as T}from"../../radioButton/RadioButton.js";import h from"../../../assets/icons/cubeIcon.svg.js";import y from"../../../assets/icons/delete.svg.js";import O from"../../../assets/icons/edit.svg.js";import P from"../../../assets/icons/plus.svg.js";import{CouponExpiration as I}from"../CouponExpiration/CouponExpiration.js";import{DynamicCouponContainer as V}from"../DiscountModal.styled.js";import{DiscountOptionsContainer as S,DiscountDetailsOption as f,AddProductButtonsContainer as R,ProductCollectionCard as _,CubeIconContainer as N,IconContainer as F,ProductVariableCard as A}from"./DynamicCoupon.styled.js";import L from"./MinimumRequirementComponent.js";import w from"./ZeroState.js";var q;!function(e){e.ENTITLED="entitled",e.PREREQUISITE="prerequisite"}(q||(q={}));const U=U=>{var k,B,M,G,Q,X,Y,$;const W=[{selected:U.discountCouponAppliesTo===a.ENTIRE_ORDER,label:"Entire Order",value:a.ENTIRE_ORDER},{selected:U.discountCouponAppliesTo===a.SPECIFIC_PRODUCTS,label:"Specific Product",value:a.SPECIFIC_PRODUCTS},{selected:U.discountCouponAppliesTo===a.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:a.SPECIFIC_COLLECTIONS}],z=[{selected:U.offerAppliesToBuy===d.SPECIFIC_PRODUCTS,label:"Specific Product",value:d.SPECIFIC_PRODUCTS},{selected:U.offerAppliesToBuy===d.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:d.SPECIFIC_COLLECTIONS}],Z=[{selected:U.offerAppliesToGet===d.SPECIFIC_PRODUCTS,label:"Specific Product",value:d.SPECIFIC_PRODUCTS},{selected:U.offerAppliesToGet===d.SPECIFIC_COLLECTIONS,label:"Specific Collections",value:d.SPECIFIC_COLLECTIONS}],H=(e,r,d)=>{var c,u,p,m,C,E,j,b,T,I,V,S;let f=[],L=[],w={},k={};U.useNewPicker?(w=r===q.ENTITLED?U.entitledProducts:U.prerequisiteProducts,k=null!==(c=r===q.ENTITLED?U.entitledCollections:U.prerequisiteCollections)&&void 0!==c?c:[],(null==w?void 0:w.isCustom)&&delete w.isCustom,(null==k?void 0:k.isCustom)&&delete k.isCustom,Object.values(w).forEach((e=>{Object.keys(e.products).forEach((i=>{f.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(k).forEach((e=>{"isCustom"!==e&&L.push({id:e,name:k[e].name,image:k[e].image})}))):(f=r===q.ENTITLED?U.entitledProducts:U.prerequisiteProducts,L=null!==(u=r===q.ENTITLED?U.entitledCollections:U.prerequisiteCollections)&&void 0!==u?u:[]);const B=[null===(p=U.dynamicDiscountValidationError)||void 0===p?void 0:p.inValidProductSelection,null===(m=U.dynamicDiscountValidationError)||void 0===m?void 0:m.inValidProductVariableSelection,null===(C=U.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidCollectionSelection],M=[null===(E=U.dynamicDiscountValidationError)||void 0===E?void 0:E.inValidBuyXCollectionSelection,null===(j=U.dynamicDiscountValidationError)||void 0===j?void 0:j.inValidBuyXProductSelection,null===(b=U.dynamicDiscountValidationError)||void 0===b?void 0:b.inValidBuyXProductVariableSelection],G=[null===(T=U.dynamicDiscountValidationError)||void 0===T?void 0:T.inValidGetYCollectionSelection,null===(I=U.dynamicDiscountValidationError)||void 0===I?void 0:I.inValidGetYProductSelection,null===(V=U.dynamicDiscountValidationError)||void 0===V?void 0:V.inValidGetYProductVariableSelection];let Q=!1;return"couponAppliesTo"===d&&(Q=B.some(Boolean)),"buyX"===d&&(Q=M.some(Boolean)),"getY"===d&&(Q=G.some(Boolean)),i.jsxs(i.Fragment,{children:[i.jsxs("div",Object.assign({style:{display:"flex",gap:18}},{children:[e===a.SPECIFIC_PRODUCTS&&0===f.length&&(r===q.ENTITLED&&!U.entitledProductVariable||r===q.PREREQUISITE&&!U.preRequisiteProductVariable)&&!(null==L?void 0:L.length)&&i.jsxs(R,{children:[i.jsx("div",Object.assign({style:{width:U.isProductVariableSupported?"284px":"300px",display:"flex"}},{children:i.jsx(l,{buttonText:"Add Product(s)",buttonType:"dashRegular",LeadingIcon:P,matchParentWidth:!0,onClick:()=>{U.setIsProductPickerOpen(r)},error:Q})})),U.isProductVariableSupported&&U.productVariableList&&i.jsxs(i.Fragment,{children:[i.jsx(v,Object.assign({color:D.colorsV2.content.placeholder},{children:"OR"})),i.jsx(l,{buttonText:"Add Product(s) Variable",buttonType:"dashRegular",LeadingIcon:P,matchParentWidth:!0,onClick:()=>{U.setIsProductVariablePickerOpen(r)},error:Q})]})]}),e===a.SPECIFIC_COLLECTIONS&&0===L.length&&!(null==f?void 0:f.length)&&i.jsx("div",Object.assign({style:{width:"300px",display:"flex"}},{children:i.jsx(l,{buttonText:"Add collection(s)",buttonType:"dashRegular",LeadingIcon:P,matchParentWidth:!0,onClick:()=>{U.setIsCollectionPickerOpen(r)},style:{marginTop:"16px"},error:Q})}))]})),Q&&i.jsx("div",Object.assign({style:{margin:"8px 0 0"}},{children:i.jsx(o,{type:s.NEGATIVE,text:"Required Field",contentPosition:n.START,icon:()=>i.jsx(t,{width:16,height:16,color:D.colorsV2.content.negative})})})),f.length||L.length?i.jsxs("div",{children:[i.jsx(v,Object.assign({style:{margin:"8px 0"}},{children:e===a.SPECIFIC_COLLECTIONS?"Collection(s)":"Product(s)"})),i.jsxs(_,{children:[i.jsx(N,{children:i.jsx(h,{width:20,height:20,color:D.colorsV2.content.secondary})}),i.jsxs(x,{children:[e===a.SPECIFIC_PRODUCTS?f.length:L.length," ",e===a.SPECIFIC_PRODUCTS?"Product(s)":"Collection(s)"," ","added"]}),i.jsxs("div",Object.assign({style:{display:"flex",gap:4}},{children:[i.jsx(F,Object.assign({onClick:()=>{e===a.SPECIFIC_PRODUCTS?U.setIsProductPickerOpen(r):U.setIsCollectionPickerOpen(r)}},{children:i.jsx(O,{width:24,height:24,color:D.colorsV2.content.placeholder})})),i.jsx(F,Object.assign({onClick:()=>{e===a.SPECIFIC_PRODUCTS?r===q.ENTITLED?U.setEntitledProducts([]):U.setPrerequisiteProducts([]):r===q.ENTITLED?U.setEntitledCollections([]):U.setPrerequisiteCollections([])}},{children:i.jsx(y,{width:24,height:24,color:D.colorsV2.content.placeholder})}))]}))]})]}):r===q.ENTITLED&&U.entitledProductVariable?i.jsxs("div",{children:[i.jsx(v,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i.jsxs(A,{children:[i.jsx(x,{children:U.entitledProductVariable.displayName}),i.jsx("div",Object.assign({style:{display:"flex",gap:4}},{children:i.jsx(F,Object.assign({onClick:()=>{U.setEntitledProductVariable(void 0)}},{children:i.jsx(g,{width:24,height:24,color:D.colorsV2.content.primary})}))}))]})]}):r===q.PREREQUISITE&&(null===(S=U.preRequisiteProductVariable)||void 0===S?void 0:S.displayName)?i.jsxs("div",{children:[i.jsx(v,Object.assign({style:{margin:"16px 0 8px"}},{children:"Product Variable"})),i.jsxs(A,{children:[i.jsx(x,{children:U.preRequisiteProductVariable.displayName}),i.jsx("div",Object.assign({style:{display:"flex",gap:4}},{children:i.jsx(F,Object.assign({onClick:()=>{U.setPreRequisiteProductVariable(void 0)}},{children:i.jsx(g,{width:24,height:24,color:D.colorsV2.content.primary})}))}))]})]}):i.jsx(i.Fragment,{children:" "})]})},J=(e,t)=>{var o,s,n,l,r,c,u,p,m,C;let j=[],D=[],g={},T={};U.useNewPicker?(g=e===q.ENTITLED?U.entitledProducts:U.prerequisiteProducts,T=null!==(o=e===q.ENTITLED?U.entitledCollections:U.prerequisiteCollections)&&void 0!==o?o:[],(null==g?void 0:g.isCustom)&&delete g.isCustom,(null==T?void 0:T.isCustom)&&delete T.isCustom,Object.values(g).forEach((e=>{Object.keys(e.products).forEach((i=>{j.push({id:i,name:e.products[i].name,image:e.products[i].image})}))})),Object.keys(T).forEach((e=>{"isCustom"!==e&&D.push({id:e,name:T[e].name,image:T[e].image})}))):(j=e===q.ENTITLED?U.entitledProducts:U.prerequisiteProducts,D=null!==(s=e===q.ENTITLED?U.entitledCollections:U.prerequisiteCollections)&&void 0!==s?s:[]);const h=e===q.PREREQUISITE?U.offerAppliesToBuy:U.offerAppliesToGet,y=e===q.PREREQUISITE?q.PREREQUISITE:q.ENTITLED,O=h===d.SPECIFIC_PRODUCTS?a.SPECIFIC_PRODUCTS:a.SPECIFIC_COLLECTIONS;return i.jsxs("div",{children:[i.jsx(x,Object.assign({style:{marginBottom:16}},{children:e===q.PREREQUISITE?"Customer buys":"Customer gets"})),i.jsxs("div",Object.assign({style:{display:"flex"}},{children:[!t&&i.jsx("div",{children:i.jsxs("div",Object.assign({className:"input__rows"},{children:[i.jsx("div",Object.assign({className:"input__wrapper"},{children:i.jsx(b,{value:e===q.ENTITLED?null!==(l=null===(n=U.discountData.entitledQuantity)||void 0===n?void 0:n.toString())&&void 0!==l?l:"":null!==(c=null===(r=U.discountData.prerequisiteQuantity)||void 0===r?void 0:r.toString())&&void 0!==c?c:"",type:"number",onChangeText:i=>{e===q.ENTITLED?U.setDiscountData(Object.assign(Object.assign({},U.discountData),{entitledQuantity:parseInt(i)})):U.setDiscountData(Object.assign(Object.assign({},U.discountData),{prerequisiteQuantity:parseInt(i)}))},labelText:"Quantity of products",placeholder:"Eg. 2",width:"300px",errorMessage:e===q.PREREQUISITE&&(null===(u=U.dynamicDiscountValidationError)||void 0===u?void 0:u.inValidBuyXValue)||e===q.ENTITLED&&(null===(p=U.dynamicDiscountValidationError)||void 0===p?void 0:p.inValidGetYValue)?"Required Field":"",state:e===q.PREREQUISITE&&(null===(m=U.dynamicDiscountValidationError)||void 0===m?void 0:m.inValidBuyXValue)||e===q.ENTITLED&&(null===(C=U.dynamicDiscountValidationError)||void 0===C?void 0:C.inValidGetYValue)?"invalid":"none"})})),i.jsx("div",{className:"input__wrapper"})]}))}),i.jsxs("div",{children:[i.jsx(v,Object.assign({style:{marginBottom:8}},{children:"Any items from"})),e===q.PREREQUISITE&&i.jsx(E,{width:"244px",options:z,placement:"bottom-start",onSelect:e=>{var i,t,o;U.setOfferAppliesToBuy(e.value),U.setPrerequisiteProducts([]),U.setPrerequisiteCollections([]),U.setPreRequisiteProductVariable(void 0),U.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidBuyXCollectionSelection:!1,inValidBuyXProductSelection:!1,inValidBuyXProductVariableSelection:!1}))),U.setDiscountData(Object.assign(Object.assign({},U.discountData),{prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:null===(i=U.discountData.collectionsConf)||void 0===i?void 0:i.entitledCollections,prerequisiteCollections:{}},productsConf:{entitledProducts:null===(t=U.discountData.productsConf)||void 0===t?void 0:t.entitledProducts,prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:null===(o=U.discountData.productVariableConf)||void 0===o?void 0:o.entitledProductVariable,prerequisiteProductVariable:{}}}))}}),e===q.ENTITLED&&i.jsx(E,{width:"244px",options:Z,placement:"bottom-start",onSelect:e=>{var i,t,o;U.setOfferAppliesToGet(e.value),U.setEntitledProducts([]),U.setEntitledCollections([]),U.setEntitledProductVariable(void 0),U.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidGetYCollectionSelection:!1,inValidGetYProductSelection:!1,inValidGetYProductVariableSelection:!1}))),U.setDiscountData(Object.assign(Object.assign({},U.discountData),{entitledCollectionIds:[],entitledProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:null===(i=U.discountData.collectionsConf)||void 0===i?void 0:i.prerequisiteCollections},productsConf:{entitledProducts:{},prerequisiteProducts:null===(t=U.discountData.productsConf)||void 0===t?void 0:t.prerequisiteProducts},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:null===(o=U.discountData.productVariableConf)||void 0===o?void 0:o.prerequisiteProductVariable}}))}})]})]})),H(O,y,e===q.PREREQUISITE?"buyX":"getY")]})};return i.jsxs(V,Object.assign({style:U.noTopMargin?{marginTop:0}:{}},{children:[i.jsxs("div",{children:[i.jsxs("div",Object.assign({style:{display:"flex",gap:16}},{children:[i.jsx("div",Object.assign({className:"input__wrapper"},{children:i.jsx(b,{value:null!==(k=U.discountData.title)&&void 0!==k?k:"",onChangeText:e=>{var i;U.setDiscountData(Object.assign(Object.assign({},U.discountData),{title:null!==(i=null==e?void 0:e.trim())&&void 0!==i?i:""}))},maxCharLimit:30,labelText:"Discount Coupon Title",placeholder:`Eg. “Flat ${null!==(B=U.currency)&&void 0!==B?B:""} 15 Off”`,hintText:"Will be same for everyone. Can’t be changed later",width:"300px",isRequired:!0,errorMessage:(null===(M=U.dynamicDiscountValidationError)||void 0===M?void 0:M.invalidCouponTitle)?"Required Field":"",state:(null===(G=U.dynamicDiscountValidationError)||void 0===G?void 0:G.invalidCouponTitle)?"invalid":"none"})})),!U.hideProbability&&i.jsx(b,{value:null!==(X=null===(Q=U.discountData.probability)||void 0===Q?void 0:Q.toString())&&void 0!==X?X:"",type:"number",onChangeText:e=>{U.setDiscountData(Object.assign(Object.assign({},U.discountData),{probability:e.startsWith(".")?parseFloat(parseFloat(`0${e}`).toFixed(2)):parseFloat(parseFloat(e).toFixed(2))}))},labelText:"Probability of getting coupon ",hintText:"Enter a decimal value between 0-1",placeholder:"Eg. 0.5",maxCharLimit:4,width:"300px",isRequired:!0,errorMessage:(null===(Y=U.dynamicDiscountValidationError)||void 0===Y?void 0:Y.inValidProbability)?"Required Field":"",state:(null===($=U.dynamicDiscountValidationError)||void 0===$?void 0:$.inValidProbability)?"invalid":"none"})]})),i.jsx("div",{style:{height:"1px",width:"100%",background:D.colorsV2.stroke.primary,margin:"24px 0 8px"}})]}),U.allowStaticCoupon&&i.jsx((()=>i.jsxs("div",{children:[i.jsx(j,{children:"Discount Details"}),i.jsx(S,{children:U.discountDetailsOptions.map((t=>{return i.jsxs(f,Object.assign({selected:U.selectedDiscountDetails.id===t.id,onClick:()=>(i=>{if(U.selectedDiscountDetails.id!==i.id)if(U.resetValidationErrors(),U.setValidationErrorMessage(""),U.setDiscountCouponAppliesTo(a.ENTIRE_ORDER),U.setSelectedDiscountDetails(i),U.setDiscountData(Object.assign(Object.assign({},U.discountData),{value:void 0})),U.setPreRequisiteProductVariable(void 0),U.setEntitledProductVariable(void 0),["percentage","amount"].includes(i.value)){U.onChangeCouponType({label:"Amount off on order",selected:!0,value:c.AMOUNT_OFF_ORDER});const t=Object.assign(Object.assign({},U.discountData),{valueType:"percentage"===i.value?p.PERCENTAGE:p.FIXED_AMOUNT,value:void 0,targetType:m.LINE_ITEM,targetSelection:C.ALL,entitledCollectionIds:[],entitledProductIds:[],prerequisiteCollectionIds:[],prerequisiteProductIds:[],collectionsConf:{entitledCollections:{},prerequisiteCollections:{}},productsConf:{entitledProducts:{},prerequisiteProducts:{}},productVariableConf:{entitledProductVariable:{},prerequisiteProductVariable:{}}}),o=e(t,["entitledQuantity","prerequisiteQuantity"]);U.setDiscountData(o)}else U.onChangeCouponType({label:i.label,selected:!0,value:i.value})})(t)},{children:[t.icon((o=t.id,U.selectedDiscountDetails.id===o?D.colorsV2.stroke.brand:D.colorsV2.text.secondary)),t.label]}),t.id);var o}))})]})),{}),(U.selectedCouponType===c.AMOUNT_OFF_ORDER||U.selectedCouponType===c.AMOUNT_OFF_PRODUCTS)&&(()=>{var e,t,o,s,n,l;return i.jsxs(i.Fragment,{children:[i.jsx("div",Object.assign({className:"input__rows"},{children:i.jsx("div",Object.assign({className:"input__wrapper"},{children:i.jsx(b,{value:null!==(o=null===(t=null===(e=U.discountData)||void 0===e?void 0:e.value)||void 0===t?void 0:t.toString())&&void 0!==o?o:"",labelText:"Discount amount",type:"number",width:"300px",onChangeText:e=>{U.setDiscountData(Object.assign(Object.assign({},U.discountData),{value:parseInt(e)}))},placeholder:"15",prefixText:U.discountData.valueType===p.FIXED_AMOUNT?null!==(s=U.currency)&&void 0!==s?s:"":void 0,suffixText:U.discountData.valueType===p.PERCENTAGE?"%":void 0,errorMessage:(null===(n=U.dynamicDiscountValidationError)||void 0===n?void 0:n.inValidDiscountAmount)?"Required Field":"",state:(null===(l=U.dynamicDiscountValidationError)||void 0===l?void 0:l.inValidDiscountAmount)?"invalid":"none"})}))})),i.jsx("div",Object.assign({style:{paddingTop:"24px",marginTop:16,borderTop:`1px solid ${D.colorsV2.stroke.primary}`}},{children:i.jsxs("div",Object.assign({className:"input__wrapper"},{children:[i.jsx(j,Object.assign({style:{marginBottom:10}},{children:"Applies to"})),i.jsx("div",Object.assign({style:{display:"flex",flexGrow:0,flexShrink:0,flexBasis:"auto"}},{children:i.jsx(E,{width:"300px",options:W,placement:"bottom-start",onSelect:e=>{const i="value"in e&&e.value===a.ENTIRE_ORDER?{label:"Amount off on order",selected:!0,value:c.AMOUNT_OFF_ORDER}:{label:"Amount off on products",selected:!0,value:c.AMOUNT_OFF_PRODUCTS};U.onChangeCouponType(i),U.setDiscountCouponAppliesTo(e.value),U.setEntitledProductVariable(void 0),U.setDynamicDiscountValidationError((e=>Object.assign(Object.assign({},e),{inValidProductVariableSelection:!1,inValidProductSelection:!1,inValidCollectionSelection:!1})))}})})),(U.discountCouponAppliesTo===a.SPECIFIC_PRODUCTS||U.discountCouponAppliesTo===a.SPECIFIC_COLLECTIONS)&&H(U.discountCouponAppliesTo,q.ENTITLED,"couponAppliesTo")]}))}))]})})(),U.selectedCouponType===c.BUY_X_GET_Y&&(()=>{var e,t,o,s,n;return i.jsxs(V,Object.assign({style:{border:`1px solid ${D.colorsV2.stroke.primary}`,padding:"16px",borderRadius:"4px",margin:0}},{children:[J(q.PREREQUISITE),i.jsx("div",{style:{width:"100%",height:"1px",backgroundColor:D.colorsV2.stroke.primary,margin:"8px 0"}}),J(q.ENTITLED),i.jsx(v,Object.assign({style:{marginTop:"8px"}},{children:"At a discounted value"})),i.jsx("div",{children:i.jsx(T,{label:"Free",isActive:100===U.discountData.value,onValueChange:e=>{e?U.setDiscountData(Object.assign(Object.assign({},U.discountData),{value:100})):U.setDiscountData(Object.assign(Object.assign({},U.discountData),{value:void 0}))}})}),i.jsxs("div",Object.assign({style:{display:"flex",flexDirection:"column"}},{children:[i.jsx(T,{label:"Percentage off",isActive:100!==U.discountData.value,onValueChange:()=>{U.setDiscountData(Object.assign(Object.assign({},U.discountData),{value:void 0}))}}),100!==U.discountData.value&&i.jsx("div",Object.assign({style:{marginTop:8}},{children:i.jsx(b,{value:null!==(o=null===(t=null===(e=U.discountData)||void 0===e?void 0:e.value)||void 0===t?void 0:t.toString())&&void 0!==o?o:"",onChangeText:e=>{U.setDiscountData(Object.assign(Object.assign({},U.discountData),{value:parseInt(e)}))},type:"number",placeholder:"Eg. 50",suffixText:"%",width:"300px",errorMessage:(null===(s=U.dynamicDiscountValidationError)||void 0===s?void 0:s.inValidDiscountAmount)?"Required Field":"",state:(null===(n=U.dynamicDiscountValidationError)||void 0===n?void 0:n.inValidDiscountAmount)?"invalid":"none"})}))]}))]}))})(),!U.selectedCouponType&&i.jsx(w,{}),U.allowStaticCoupon&&U.selectedCouponType!==c.BUY_X_GET_Y&&i.jsx("div",Object.assign({style:{padding:"24px 0 16px",marginTop:16,borderTop:`1px solid ${D.colorsV2.stroke.primary}`}},{children:i.jsx(L,{selectedMinimumRequirement:U.selectedMinimumRequirement,setSelectedMinimumRequirement:U.setSelectedMinimumRequirement,discountData:U.discountData,setDiscountData:U.setDiscountData,currency:U.currency,dynamicDiscountValidationError:U.dynamicDiscountValidationError})})),U.selectedCouponType&&!U.hideExpiration&&i.jsxs("div",Object.assign({style:{padding:U.selectedCouponType!==c.BUY_X_GET_Y?"24px 0 16px":"8px 0",borderTop:U.selectedCouponType!==c.BUY_X_GET_Y?`1px solid ${D.colorsV2.stroke.primary}`:"none"}},{children:[i.jsx(r,{label:"Add expiration",isDisabled:!!U.makeExpiryMandatory,isChecked:U.isAddExpirationChecked,onValueChange:e=>{U.setIsAddExpirationChecked(e),U.setDiscountData(Object.assign(Object.assign({},U.discountData),{expireAfter:void 0,expireAt:void 0})),U.setSelectedExpiration(U.isUsageFromStatic?u.FIXED_EXPIRATION:u.DYNAMIC_EXPIRATION)},boldOnChecked:!0,labelSize:"DEFAULT"}),i.jsx(v,Object.assign({style:{color:D.colorsV2.text.secondary,marginLeft:28}},{children:"Make coupon only valid till a certain time"})),U.isAddExpirationChecked&&i.jsx(I,{discountData:U.discountData,setDiscountData:U.setDiscountData,isAddExpirationChecked:U.isAddExpirationChecked,inValidCouponExpiry:U.dynamicDiscountValidationError.inValidCouponExpiry,selectedExpiration:U.selectedExpiration,setSelectedExpiration:U.setSelectedExpiration,hideExpirationOptions:U.isUsageFromStatic})]}))]}))};export{q as DISCOUNT_PRODUCTS,U as default};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ICouponData, IStaticDiscountValidationError } from "../type";
|
|
2
|
+
import { COUPON_EXPIRATION, DISCOUNT_APPLIES_TO, DISCOUNT_TYPES, ICouponData, IDynamicDiscountValidationError, IStaticDiscountValidationError, MIN_PURCHASE_REQUIREMENT, OFFER_APPLIES_TO, ProductVariable } from "../type";
|
|
3
|
+
import { SingleOption } from "../../dropdown/type";
|
|
4
|
+
import { Collection, Product } from "../../product-picker/type";
|
|
5
|
+
import { VariableListInterfaceV3 } from "../../variable-picker-v3/model";
|
|
6
|
+
import { DISCOUNT_PRODUCTS } from '../DynamicCoupon/DynamicCoupon';
|
|
3
7
|
interface StaticCouponI {
|
|
4
8
|
discountData: ICouponData;
|
|
5
9
|
setDiscountData: React.Dispatch<React.SetStateAction<ICouponData>>;
|
|
@@ -7,6 +11,52 @@ interface StaticCouponI {
|
|
|
7
11
|
discountAdminUrl?: string;
|
|
8
12
|
staticDiscountValidationError?: IStaticDiscountValidationError;
|
|
9
13
|
currency?: string;
|
|
14
|
+
getDetailedDescription?: boolean;
|
|
15
|
+
selectedCouponType?: DISCOUNT_TYPES;
|
|
16
|
+
setSelectedCouponType?: React.Dispatch<React.SetStateAction<DISCOUNT_TYPES | undefined>>;
|
|
17
|
+
selectedMinimumRequirement?: MIN_PURCHASE_REQUIREMENT;
|
|
18
|
+
setSelectedMinimumRequirement?: React.Dispatch<React.SetStateAction<MIN_PURCHASE_REQUIREMENT>>;
|
|
19
|
+
discountCouponAppliesTo?: DISCOUNT_APPLIES_TO;
|
|
20
|
+
offerAppliesToBuy?: OFFER_APPLIES_TO;
|
|
21
|
+
offerAppliesToGet?: OFFER_APPLIES_TO;
|
|
22
|
+
setDiscountCouponAppliesTo?: React.Dispatch<React.SetStateAction<DISCOUNT_APPLIES_TO>>;
|
|
23
|
+
setOfferAppliesToBuy?: React.Dispatch<React.SetStateAction<OFFER_APPLIES_TO>>;
|
|
24
|
+
setOfferAppliesToGet?: React.Dispatch<React.SetStateAction<OFFER_APPLIES_TO>>;
|
|
25
|
+
hideExpiration?: boolean;
|
|
26
|
+
onChangeCouponType?: (option: SingleOption) => void;
|
|
27
|
+
entitledProducts?: Product[];
|
|
28
|
+
prerequisiteProducts?: Product[];
|
|
29
|
+
setEntitledProducts?: React.Dispatch<React.SetStateAction<Product[] | undefined>>;
|
|
30
|
+
setPrerequisiteProducts?: React.Dispatch<React.SetStateAction<Product[] | undefined>>;
|
|
31
|
+
entitledCollections?: Collection[];
|
|
32
|
+
prerequisiteCollections?: Collection[];
|
|
33
|
+
setEntitledCollections?: React.Dispatch<React.SetStateAction<Collection[] | undefined>>;
|
|
34
|
+
setPrerequisiteCollections?: React.Dispatch<React.SetStateAction<Collection[] | undefined>>;
|
|
35
|
+
setIsProductPickerOpen?: React.Dispatch<React.SetStateAction<DISCOUNT_PRODUCTS | undefined>>;
|
|
36
|
+
setIsProductVariablePickerOpen?: React.Dispatch<React.SetStateAction<DISCOUNT_PRODUCTS | undefined>>;
|
|
37
|
+
setIsCollectionPickerOpen?: React.Dispatch<React.SetStateAction<DISCOUNT_PRODUCTS | undefined>>;
|
|
38
|
+
productPickerOpen?: DISCOUNT_PRODUCTS | undefined;
|
|
39
|
+
productVariablePickerOpen?: DISCOUNT_PRODUCTS | undefined;
|
|
40
|
+
collectionPickerOpen?: DISCOUNT_PRODUCTS | undefined;
|
|
41
|
+
useNewPicker?: boolean;
|
|
42
|
+
selectedDiscountDetails?: any;
|
|
43
|
+
setSelectedDiscountDetails?: React.Dispatch<React.SetStateAction<any>>;
|
|
44
|
+
isProductVariableSupported?: boolean;
|
|
45
|
+
entitledProductVariable?: ProductVariable;
|
|
46
|
+
setEntitledProductVariable?: React.Dispatch<React.SetStateAction<ProductVariable | undefined>>;
|
|
47
|
+
preRequisiteProductVariable?: ProductVariable;
|
|
48
|
+
setPreRequisiteProductVariable?: React.Dispatch<React.SetStateAction<ProductVariable | undefined>>;
|
|
49
|
+
productVariableList?: VariableListInterfaceV3[];
|
|
50
|
+
isAddExpirationChecked?: boolean;
|
|
51
|
+
setIsAddExpirationChecked?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
52
|
+
dynamicDiscountValidationError?: IDynamicDiscountValidationError;
|
|
53
|
+
setDynamicDiscountValidationError?: React.Dispatch<React.SetStateAction<IDynamicDiscountValidationError>>;
|
|
54
|
+
setValidationErrorMessage?: React.Dispatch<React.SetStateAction<string>>;
|
|
55
|
+
resetValidationErrors?: () => void;
|
|
56
|
+
discountDetailsOptions?: any[];
|
|
57
|
+
selectedExpiration?: COUPON_EXPIRATION | undefined;
|
|
58
|
+
setSelectedExpiration?: React.Dispatch<React.SetStateAction<COUPON_EXPIRATION | undefined>>;
|
|
59
|
+
makeExpiryMandatory?: boolean;
|
|
10
60
|
}
|
|
11
61
|
declare const StaticCoupon: React.FC<StaticCouponI>;
|
|
12
62
|
export default StaticCoupon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as
|
|
1
|
+
import{j as e}from"../../../node_modules/react/jsx-runtime.js";import i from"../../../assets/icons/info.svg.js";import{Alert as t}from"../../alerts/Alert.js";import{ALERT_TYPES as o,CONTENT_POSITION as s}from"../../alerts/AlertHelper.js";import{Input as n}from"../../input/Input.js";import{DEFAULT_THEME as r}from"../../../constants/Theme.js";import{StaticCouponContainerStyled as a}from"../DiscountModal.styled.js";import l from"../DynamicCoupon/DynamicCoupon.js";const d=d=>{var c,u,p,D,m,b,C,v,x,P,T,h,E,g,y,j;return d.getDetailedDescription?e.jsxs(a,Object.assign({style:{marginTop:0}},{children:[e.jsx(n,{maxCharLimit:30,onChangeText:e=>{d.setDiscountData(Object.assign(Object.assign({},d.discountData),{couponCode:null==e?void 0:e.trim()}))},labelText:"Discount Code",value:d.discountData.couponCode,placeholder:"Eg. FLAT15OFF",isRequired:!0,errorMessage:(null===(c=d.staticDiscountValidationError)||void 0===c?void 0:c.invalidDiscountCode)?"Required Field":"",state:(null===(u=d.staticDiscountValidationError)||void 0===u?void 0:u.invalidDiscountCode)?"invalid":"none",hintText:"Code created on Shopify",width:"300px"}),e.jsx(l,{currency:d.currency,entitledProducts:null!==(p=d.entitledProducts)&&void 0!==p?p:[],prerequisiteProducts:null!==(D=d.prerequisiteProducts)&&void 0!==D?D:[],setEntitledProducts:d.setEntitledProducts,setPrerequisiteProducts:d.setPrerequisiteProducts,discountData:d.discountData,productPickerOpen:d.productPickerOpen,productVariablePickerOpen:d.productVariablePickerOpen,setIsProductPickerOpen:d.setIsProductPickerOpen,setIsProductVariablePickerOpen:d.setIsProductVariablePickerOpen,setDiscountData:d.setDiscountData,selectedCouponType:d.selectedCouponType,setSelectedCouponType:d.setSelectedCouponType,selectedMinimumRequirement:d.selectedMinimumRequirement,setSelectedMinimumRequirement:d.setSelectedMinimumRequirement,discountCouponAppliesTo:d.discountCouponAppliesTo,offerAppliesToBuy:d.offerAppliesToBuy,offerAppliesToGet:d.offerAppliesToGet,setDiscountCouponAppliesTo:d.setDiscountCouponAppliesTo,setOfferAppliesToBuy:d.setOfferAppliesToBuy,setOfferAppliesToGet:d.setOfferAppliesToGet,hideProbability:!0,hideExpiration:d.hideExpiration||!1,allowStaticCoupon:!0,noTopMargin:!0,onChangeCouponType:d.onChangeCouponType,collectionPickerOpen:d.collectionPickerOpen,entitledCollections:null!==(m=d.entitledCollections)&&void 0!==m?m:[],prerequisiteCollections:null!==(b=d.prerequisiteCollections)&&void 0!==b?b:[],setIsCollectionPickerOpen:d.setIsCollectionPickerOpen,setEntitledCollections:d.setEntitledCollections,setPrerequisiteCollections:d.setPrerequisiteCollections,useNewPicker:d.useNewPicker,setSelectedDiscountDetails:d.setSelectedDiscountDetails,selectedDiscountDetails:d.selectedDiscountDetails,isProductVariableSupported:d.isProductVariableSupported,entitledProductVariable:d.entitledProductVariable,setEntitledProductVariable:d.setEntitledProductVariable,preRequisiteProductVariable:d.preRequisiteProductVariable,setPreRequisiteProductVariable:d.setPreRequisiteProductVariable,productVariableList:d.productVariableList,isAddExpirationChecked:d.isAddExpirationChecked,setIsAddExpirationChecked:d.setIsAddExpirationChecked,dynamicDiscountValidationError:d.dynamicDiscountValidationError,setDynamicDiscountValidationError:d.setDynamicDiscountValidationError,setValidationErrorMessage:d.setValidationErrorMessage,resetValidationErrors:d.resetValidationErrors,discountDetailsOptions:d.discountDetailsOptions,selectedExpiration:d.selectedExpiration,setSelectedExpiration:d.setSelectedExpiration,makeExpiryMandatory:null!==(C=d.makeExpiryMandatory)&&void 0!==C&&C,isUsageFromStatic:!0})]})):e.jsxs(a,{children:[e.jsxs("div",Object.assign({className:"static-coupon__data"},{children:[e.jsx("div",Object.assign({className:"static-input__wrapper"},{children:e.jsx(n,{maxCharLimit:30,onChangeText:e=>{d.setDiscountData(Object.assign(Object.assign({},d.discountData),{couponCode:null==e?void 0:e.trim()}))},labelText:"Discount Code",value:d.discountData.couponCode,placeholder:"Eg. FLAT15OFF",isRequired:!0,errorMessage:(null===(v=d.staticDiscountValidationError)||void 0===v?void 0:v.invalidDiscountCode)?"Required Field":"",state:(null===(x=d.staticDiscountValidationError)||void 0===x?void 0:x.invalidDiscountCode)?"invalid":"none",hintText:"Code created on Shopify"})})),e.jsx("div",Object.assign({className:"static-input__wrapper"},{children:e.jsx(n,{maxCharLimit:30,labelText:"Discount Coupon Title",value:d.discountData.title,onChangeText:e=>{d.setDiscountData(Object.assign(Object.assign({},d.discountData),{title:null==e?void 0:e.trim()}))},hintText:"Same for everyone. Can’t be changed later",isRequired:!0,placeholder:`Eg. “Flat ${null!==(P=d.currency)&&void 0!==P?P:""}15 Off”`,errorMessage:(null===(T=d.staticDiscountValidationError)||void 0===T?void 0:T.invalidCouponTitle)?"Required Field":"",state:(null===(h=d.staticDiscountValidationError)||void 0===h?void 0:h.invalidCouponTitle)?"invalid":"none"})}))]})),e.jsx(n,{maxCharLimit:60,labelText:"Coupon Description",value:d.discountData.description,onChangeText:e=>{d.setDiscountData(Object.assign(Object.assign({},d.discountData),{description:null==e?void 0:e.trim()}))},placeholder:"Eg. “Get Flat 15% off”",isRequired:!0,errorMessage:(null===(E=d.staticDiscountValidationError)||void 0===E?void 0:E.invalidCouponDescription)?"Required Field":"",state:(null===(g=d.staticDiscountValidationError)||void 0===g?void 0:g.invalidCouponDescription)?"invalid":"none"}),!d.hideProbability&&e.jsx(n,{labelText:"Probability of getting coupon",value:null!==d.discountData.probability&&void 0!==d.discountData.probability?d.discountData.probability.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))}))},placeholder:"Eg. 0.5",width:"288px",hintText:"Enter a decimal value between 0-1",isRequired:!0,errorMessage:(null===(y=d.staticDiscountValidationError)||void 0===y?void 0:y.inValidProbability)?"Enter probability in decimals (0 - 1)":"",state:(null===(j=d.staticDiscountValidationError)||void 0===j?void 0:j.inValidProbability)?"invalid":"none"}),d.discountAdminUrl&&e.jsx(t,{type:o.NEUTRAL,text:"To create a discount code on Shopify,",contentPosition:s.START,redirectToText:"click here",redirectTo:d.discountAdminUrl,icon:()=>e.jsx(i,{width:16,height:16,color:r.colorsV2.content.secondary})})]})};export{d as default};
|