mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
2 lines
41 KiB
JavaScript
2 lines
41 KiB
JavaScript
var Se=Object.defineProperty,Ie=Object.defineProperties;var Pe=Object.getOwnPropertyDescriptors;var pe=Object.getOwnPropertySymbols;var ke=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable;var ye=(s,t,e)=>t in s?Se(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,N=(s,t)=>{for(var e in t||(t={}))ke.call(t,e)&&ye(s,e,t[e]);if(pe)for(var e of pe(t))Te.call(t,e)&&ye(s,e,t[e]);return s},G=(s,t)=>Ie(s,Pe(t));import{q as ee,c as H,e as ae,b as te,p as fe,g as ne,T as Ce,k as Me,u as De,d as Ve}from"./main.a7fcb8c6.js";import{D as je,d as qe}from"./DragIcon.2af1ef76.js";import{B as W,a0 as xe,ah as re,J,k as B,C as le,r as y,o as l,e as $,h as n,t as h,f as a,V as Ae,u as o,w as c,i as E,l as q,j as L,G as Ee,A as Z,L as O,M as R,b2 as _e,S as oe,aX as Le,T as ie,x as K,F as Q,y as se,H as ge,a7 as Ue,W as Oe,m as X,Y as ze,X as Ne,Z as Fe,N as Ye,D as he,U as be}from"./vendor.d12b5734.js";import{_ as Ge}from"./SelectNotePopup.412d32f0.js";const We={class:"flex items-center justify-between mb-3"},Re={class:"flex items-center text-base",style:{flex:"4"}},Xe={class:"pr-2 mb-0",align:"right"},He={class:"absolute left-3.5"},Je={class:"ml-2 text-sm leading-none text-primary-400 cursor-pointer"},Ze=n("br",null,null,-1),Ke={class:"text-sm text-right",style:{flex:"3"}},Qe={class:"flex items-center justify-center w-6 h-10 mx-2 cursor-pointer"},et={props:{ability:{type:String,default:""},store:{type:Object,default:null},storeProp:{type:String,default:""},itemIndex:{type:Number,required:!0},index:{type:Number,required:!0},taxData:{type:Object,required:!0},taxes:{type:Array,default:[]},total:{type:Number,default:0},totalTax:{type:Number,default:0},currency:{type:[Object,String],required:!0},updateItems:{type:Function,default:()=>{}}},emits:["remove","update"],setup(s,{emit:t}){const e=s,r=ee(),w=H(),b=ae(),S=W(null),f=xe(N({},e.taxData));re("utils");const{t:D}=J(),p=B(()=>r.taxTypes.map(u=>N({},u)).map(u=>(e.taxes.find(x=>x.tax_type_id===u.id)?u.disabled=!0:u.disabled=!1,u))),j=B(()=>f.compound_tax&&e.total?(e.total+e.totalTax)*f.percent/100:e.total&&f.percent?e.total*f.percent/100:0);le(()=>e.total,()=>{T()}),le(()=>e.totalTax,()=>{T()}),e.taxData.tax_type_id>0&&(S.value=r.taxTypes.find(m=>m.id===e.taxData.tax_type_id)),T();function V(m){f.percent=m.percent,f.tax_type_id=m.id,f.compound_tax=m.compound_tax,f.name=m.name,T()}function T(){f.tax_type_id!==0&&t("update",{index:e.index,item:G(N({},f),{amount:j.value})})}function d(){let m={itemIndex:e.itemIndex,taxIndex:e.index};w.openModal({title:D("settings.tax_types.add_tax"),componentName:"TaxTypeModal",data:m,size:"sm"})}function i(m){e.store.$patch(u=>{u[e.storeProp].items[e.itemIndex].taxes.splice(m,1)})}return(m,u)=>{const k=y("BaseIcon"),x=y("BaseMultiselect"),M=y("BaseFormatMoney");return l(),$("div",We,[n("div",Re,[n("label",Xe,h(m.$t("invoices.item.tax")),1),a(x,{modelValue:S.value,"onUpdate:modelValue":[u[0]||(u[0]=C=>S.value=C),u[1]||(u[1]=C=>V(C))],"value-prop":"id",options:o(p),placeholder:m.$t("general.select_a_tax"),"open-direction":"top","track-by":"name",searchable:"",object:"",label:"name"},Ae({singlelabel:c(({value:C})=>[n("div",He,h(C.name)+" - "+h(C.percent)+" % ",1)]),option:c(({option:C})=>[E(h(C.name)+" - "+h(C.percent)+" % ",1)]),_:2},[o(b).hasAbilities(s.ability)?{name:"action",fn:c(()=>[n("button",{type:"button",class:"flex items-center justify-center w-full px-2 cursor-pointer py-2 bg-gray-200 border-none outline-none",onClick:d},[a(k,{name:"CheckCircleIcon",class:"h-5 text-primary-400"}),n("label",Je,h(m.$t("invoices.add_new_tax")),1)])])}:void 0]),1032,["modelValue","options","placeholder"]),Ze]),n("div",Ke,[a(M,{amount:o(j),currency:s.currency},null,8,["amount","currency"])]),n("div",Qe,[s.taxes.length&&s.index!==s.taxes.length-1?(l(),q(k,{key:0,name:"TrashIcon",class:"h-5 text-gray-700 cursor-pointer",onClick:u[2]||(u[2]=C=>i(s.index))})):L("",!0)])])}}},tt={class:"box-border bg-white border border-gray-200 border-solid rounded-b"},st={colspan:"5",class:"p-0 text-left align-top"},ot={class:"w-full"},at=n("col",{style:{width:"40%","min-width":"280px"}},null,-1),nt=n("col",{style:{width:"10%","min-width":"120px"}},null,-1),rt=n("col",{style:{width:"15%","min-width":"120px"}},null,-1),lt={key:0,style:{width:"15%","min-width":"160px"}},it=n("col",{style:{width:"15%","min-width":"120px"}},null,-1),dt={class:"px-5 py-4 text-left align-top"},ct={class:"flex justify-start"},ut={class:"flex items-center justify-center w-5 h-5 mt-2 text-gray-300 cursor-move handle mr-2"},mt={class:"px-5 py-4 text-right align-top"},pt={class:"px-5 py-4 text-left align-top"},yt={class:"flex flex-col"},ft={class:"flex-auto flex-fill bd-highlight"},xt={class:"relative w-full"},_t={key:0,class:"px-5 py-4 text-left align-top"},gt={class:"flex flex-col"},ht={class:"flex",style:{width:"120px"},role:"group"},bt={class:"flex items-center"},vt={class:"px-5 py-4 text-right align-top"},$t={class:"flex items-center justify-end text-sm"},wt={class:"flex items-center justify-center w-6 h-10 mx-2"},Bt={key:0},St=n("td",{class:"px-5 py-4 text-left align-top"},null,-1),It={colspan:"4",class:"px-5 py-4 text-left align-top"},Pt={props:{store:{type:Object,default:null},storeProp:{type:String,default:""},itemData:{type:Object,default:null},index:{type:Number,default:null},type:{type:String,default:""},loading:{type:Boolean,default:!1},currency:{type:[Object,String],required:!0},invoiceItems:{type:Array,required:!0},itemValidationScope:{type:String,default:""}},emits:["update","remove","itemValidate"],setup(s,{emit:t}){const e=s,r=te(),w=fe();Ee();const{t:b}=J(),S=B({get:()=>e.itemData.quantity,set:g=>{A("quantity",parseFloat(g))}}),f=B({get:()=>{const g=e.itemData.price;return parseFloat(g)>0?g/100:g},set:g=>{if(parseFloat(g)>0){let P=Math.round(g*100);A("price",P)}else A("price",g)}}),D=B(()=>e.itemData.price*e.itemData.quantity),p=B({get:()=>e.itemData.discount,set:g=>{e.itemData.discount_type==="percentage"?A("discount_val",D.value*g/100):A("discount_val",Math.round(g*100)),A("discount",g)}}),j=B(()=>D.value-e.itemData.discount_val),V=B(()=>e.currency?e.currency:r.selectedCompanyCurrency),T=B(()=>e.store[e.storeProp].items.length!=1),d=B(()=>Math.round(Z.exports.sumBy(e.itemData.taxes,function(g){return g.compound_tax?0:g.amount}))),i=B(()=>Math.round(Z.exports.sumBy(e.itemData.taxes,function(g){return g.compound_tax?g.amount:0}))),m=B(()=>d.value+i.value),u={name:{required:O.withMessage(b("validation.required"),R)},quantity:{required:O.withMessage(b("validation.required"),R),minValue:O.withMessage(b("validation.qty_must_greater_than_zero"),_e(0)),maxLength:O.withMessage(b("validation.amount_maxlength"),oe(20))},price:{required:O.withMessage(b("validation.required"),R),minValue:O.withMessage(b("validation.number_length_minvalue"),_e(1)),maxLength:O.withMessage(b("validation.price_maxlength"),oe(20))},discount_val:{between:O.withMessage(b("validation.discount_maxlength"),Le(0,B(()=>D.value)))},description:{maxLength:O.withMessage(b("validation.notes_maxlength"),oe(65e3))}},k=ie(u,B(()=>e.store[e.storeProp].items[e.index]),{$scope:e.itemValidationScope});function x(g){e.store.$patch(U=>{U[e.storeProp].items[e.index].taxes[g.index]=g.item});let P=e.itemData.taxes[e.itemData.taxes.length-1];(P==null?void 0:P.tax_type_id)!==0&&e.store.$patch(U=>{U[e.storeProp].items[e.index].taxes.push(G(N({},Ce),{id:ge.raw()}))}),I()}function M(g){A("name",g)}function C(g){e.store.$patch(P=>{if(P[e.storeProp].items[e.index].name=g.name,P[e.storeProp].items[e.index].price=g.price,P[e.storeProp].items[e.index].item_id=g.id,P[e.storeProp].items[e.index].description=g.description,g.unit&&(P[e.storeProp].items[e.index].unit_name=g.unit.name),e.store[e.storeProp].tax_per_item==="YES"&&g.taxes){let U=0;g.taxes.forEach(Y=>{x({index:U,item:N({},Y)}),U++})}P[e.storeProp].exchange_rate&&(P[e.storeProp].items[e.index].price/=P[e.storeProp].exchange_rate)}),w.fetchItems(),I()}function _(){e.itemData.discount_type!=="fixed"&&(A("discount_val",Math.round(e.itemData.discount*100)),A("discount_type","fixed"))}function v(){e.itemData.discount_type!=="percentage"&&(A("discount_val",D.value*e.itemData.discount/100),A("discount_type","percentage"))}function I(){var U,Y;let g=(Y=(U=e.store[e.storeProp])==null?void 0:U.items[e.index])==null?void 0:Y.taxes;g||(g=[]);let P=G(N({},e.store[e.storeProp].items[e.index]),{index:e.index,total:j.value,sub_total:D.value,totalSimpleTax:d.value,totalCompoundTax:i.value,totalTax:m.value,tax:m.value,taxes:[...g]});e.store.updateItem(P)}function A(g,P){e.store.$patch(U=>{U[e.storeProp].items[e.index][g]=P}),I()}return(g,P)=>{const U=y("BaseItemSelect"),Y=y("BaseInput"),z=y("BaseMoney"),de=y("BaseIcon"),ve=y("BaseButton"),ce=y("BaseDropdownItem"),$e=y("BaseDropdown"),ue=y("BaseContentPlaceholdersText"),me=y("BaseContentPlaceholders"),we=y("BaseFormatMoney");return l(),$("tr",tt,[n("td",st,[n("table",ot,[n("colgroup",null,[at,nt,rt,s.store[s.storeProp].discount_per_item==="YES"?(l(),$("col",lt)):L("",!0),it]),n("tbody",null,[n("tr",null,[n("td",dt,[n("div",ct,[n("div",ut,[a(je)]),a(U,{type:"Invoice",item:s.itemData,invalid:o(k).name.$error,"invalid-description":o(k).description.$error,taxes:s.itemData.taxes,index:s.index,"store-prop":s.storeProp,store:s.store,onSearch:M,onSelect:C},null,8,["item","invalid","invalid-description","taxes","index","store-prop","store"])])]),n("td",mt,[a(Y,{modelValue:o(S),"onUpdate:modelValue":P[0]||(P[0]=F=>K(S)?S.value=F:null),invalid:o(k).quantity.$error,"content-loading":s.loading,type:"number",small:"",min:"0",step:"any",onChange:P[1]||(P[1]=F=>I()),onInput:P[2]||(P[2]=F=>o(k).quantity.$touch())},null,8,["modelValue","invalid","content-loading"])]),n("td",pt,[n("div",yt,[n("div",ft,[n("div",xt,[a(z,{key:o(V),modelValue:o(f),"onUpdate:modelValue":P[3]||(P[3]=F=>K(f)?f.value=F:null),invalid:o(k).price.$error,"content-loading":s.loading,currency:o(V)},null,8,["modelValue","invalid","content-loading","currency"])])])])]),s.store[s.storeProp].discount_per_item==="YES"?(l(),$("td",_t,[n("div",gt,[n("div",ht,[a(Y,{modelValue:o(p),"onUpdate:modelValue":P[4]||(P[4]=F=>K(p)?p.value=F:null),invalid:o(k).discount_val.$error,"content-loading":s.loading,class:"border-r-0 focus:border-r-2 rounded-tr-sm rounded-br-sm h-[38px]"},null,8,["modelValue","invalid","content-loading"]),a($e,{position:"bottom-end"},{activator:c(()=>[a(ve,{"content-loading":s.loading,class:"rounded-tr-md rounded-br-md !p-2 rounded-none",type:"button",variant:"white"},{default:c(()=>[n("span",bt,[E(h(s.itemData.discount_type=="fixed"?s.currency.symbol:"%")+" ",1),a(de,{name:"ChevronDownIcon",class:"w-4 h-4 text-gray-500 ml-1"})])]),_:1},8,["content-loading"])]),default:c(()=>[a(ce,{onClick:_},{default:c(()=>[E(h(g.$t("general.fixed")),1)]),_:1}),a(ce,{onClick:v},{default:c(()=>[E(h(g.$t("general.percentage")),1)]),_:1})]),_:1})])])])):L("",!0),n("td",vt,[n("div",$t,[n("span",null,[s.loading?(l(),q(me,{key:0},{default:c(()=>[a(ue,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),q(we,{key:1,amount:o(j),currency:o(V)},null,8,["amount","currency"]))]),n("div",wt,[o(T)?(l(),q(de,{key:0,class:"h-5 text-gray-700 cursor-pointer",name:"TrashIcon",onClick:P[5]||(P[5]=F=>s.store.removeItem(s.index))})):L("",!0)])])])]),s.store[s.storeProp].tax_per_item==="YES"?(l(),$("tr",Bt,[St,n("td",It,[s.loading?(l(),q(me,{key:0},{default:c(()=>[a(ue,{lines:1,class:"w-24 h-8 rounded-md border"})]),_:1})):(l(!0),$(Q,{key:1},se(s.itemData.taxes,(F,Be)=>(l(),q(et,{key:F.id,index:Be,"item-index":s.index,"tax-data":F,taxes:s.itemData.taxes,"discounted-total":o(j),"total-tax":o(d),total:o(D),currency:s.currency,"update-items":I,ability:o(ne).CREATE_INVOICE,store:s.store,"store-prop":s.storeProp,onUpdate:x},null,8,["index","item-index","tax-data","taxes","discounted-total","total-tax","total","currency","ability","store","store-prop"]))),128))])])):L("",!0)])])])])}}},kt={class:"text-center item-table min-w-full"},Tt=n("col",{style:{width:"40%","min-width":"280px"}},null,-1),Ct=n("col",{style:{width:"10%","min-width":"120px"}},null,-1),Mt=n("col",{style:{width:"15%","min-width":"120px"}},null,-1),Dt={key:0,style:{width:"15%","min-width":"160px"}},Vt=n("col",{style:{width:"15%","min-width":"120px"}},null,-1),jt={class:"bg-white border border-gray-200 border-solid"},qt={class:"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid"},At={key:1,class:"pl-7"},Et={class:"px-5 py-3 text-sm not-italic font-medium leading-5 text-right text-gray-700 border-t border-b border-gray-200 border-solid"},Lt={key:1},Ut={class:"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid"},Ot={key:1},zt={key:0,class:"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid"},Nt={key:1},Ft={class:"px-5 py-3 text-sm not-italic font-medium leading-5 text-right text-gray-700 border-t border-b border-gray-200 border-solid"},Yt={key:1,class:"pr-10 column-heading"},Qs={props:{store:{type:Object,default:null},storeProp:{type:String,default:""},currency:{type:[Object,String,null],required:!0},isLoading:{type:Boolean,default:!1},itemValidationScope:{type:String,default:""}},setup(s){const t=s,e=te(),r=B(()=>t.currency?t.currency:e.selectedCompanyCurrency);return(w,b)=>{const S=y("BaseContentPlaceholdersText"),f=y("BaseContentPlaceholders"),D=y("BaseIcon");return l(),$(Q,null,[n("table",kt,[n("colgroup",null,[Tt,Ct,Mt,s.store[s.storeProp].discount_per_item==="YES"?(l(),$("col",Dt)):L("",!0),Vt]),n("thead",jt,[n("tr",null,[n("th",qt,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("span",At,h(w.$tc("items.item",2)),1))]),n("th",Et,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("span",Lt,h(w.$t("invoices.item.quantity")),1))]),n("th",Ut,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("span",Ot,h(w.$t("invoices.item.price")),1))]),s.store[s.storeProp].discount_per_item==="YES"?(l(),$("th",zt,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("span",Nt,h(w.$t("invoices.item.discount")),1))])):L("",!0),n("th",Ft,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("span",Yt,h(w.$t("invoices.item.amount")),1))])])]),a(o(qe),{modelValue:s.store[s.storeProp].items,"onUpdate:modelValue":b[0]||(b[0]=p=>s.store[s.storeProp].items=p),"item-key":"id",tag:"tbody",handle:".handle"},{item:c(({element:p,index:j})=>[a(Pt,{key:p.id,index:j,"item-data":p,loading:s.isLoading,currency:o(r),"item-validation-scope":s.itemValidationScope,"invoice-items":s.store[s.storeProp].items,store:s.store,"store-prop":s.storeProp},null,8,["index","item-data","loading","currency","item-validation-scope","invoice-items","store","store-prop"])]),_:1},8,["modelValue"])]),n("div",{class:"flex items-center justify-center w-full px-6 py-3 text-base border border-t-0 border-gray-200 border-solid cursor-pointer text-primary-400 hover:bg-primary-100",onClick:b[1]||(b[1]=(...p)=>s.store.addItem&&s.store.addItem(...p))},[a(D,{name:"PlusCircleIcon",class:"mr-2"}),E(" "+h(w.$t("general.add_new_item")),1)])],64)}}},Gt={class:"flex items-center justify-between w-full mt-2 text-sm"},Wt={class:"font-semibold leading-5 text-gray-500 uppercase"},Rt={class:"flex items-center justify-center text-lg text-black"},Xt={props:{index:{type:Number,required:!0},tax:{type:Object,required:!0},taxes:{type:Array,required:!0},currency:{type:[Object,String],required:!0},store:{type:Object,default:null},data:{type:String,default:""}},emits:["update","remove"],setup(s,{emit:t}){const e=s;re("$utils");const r=B(()=>e.tax.compound_tax&&e.store.getSubtotalWithDiscount?Math.round((e.store.getSubtotalWithDiscount+e.store.getTotalSimpleTax)*e.tax.percent/100):e.store.getSubtotalWithDiscount&&e.tax.percent?Math.round(e.store.getSubtotalWithDiscount*e.tax.percent/100):0);Ue(()=>{e.store.getSubtotalWithDiscount&&w(),e.store.getTotalSimpleTax&&w()});function w(){t("update",G(N({},e.tax),{amount:r.value}))}return(b,S)=>{const f=y("BaseFormatMoney"),D=y("BaseIcon");return l(),$("div",Gt,[n("label",Wt,h(s.tax.name)+" ("+h(s.tax.percent)+" %) ",1),n("label",Rt,[a(f,{amount:s.tax.amount,currency:s.currency},null,8,["amount","currency"]),a(D,{name:"TrashIcon",class:"h-5 ml-2 cursor-pointer",onClick:S[0]||(S[0]=p=>b.$emit("remove",s.tax.id))})])])}}},Ht={class:"w-full mt-4 tax-select"},Jt={class:"relative w-full max-w-md px-4"},Zt={class:"overflow-hidden rounded-md shadow-lg ring-1 ring-black ring-opacity-5"},Kt={class:"relative bg-white"},Qt={class:"relative p-4"},es={key:0,class:"relative flex flex-col overflow-auto list max-h-36 border-t border-gray-200"},ts=["onClick"],ss={class:"flex justify-between px-2"},os={class:"m-0 text-base font-semibold leading-tight text-gray-700 cursor-pointer"},as={class:"m-0 text-base font-semibold text-gray-700 cursor-pointer"},ns={key:1,class:"flex justify-center p-5 text-gray-400"},rs={class:"text-base text-gray-500 cursor-pointer"},ls={class:"m-0 ml-3 text-sm leading-none cursor-pointer font-base text-primary-400"},is={props:{type:{type:String,default:null},store:{type:Object,default:null},storeProp:{type:String,default:""}},emits:["select:taxType"],setup(s,{emit:t}){const e=s,r=H(),w=ee(),b=ae(),{t:S}=J(),f=W(null),D=B(()=>f.value?w.taxTypes.filter(function(T){return T.name.toLowerCase().indexOf(f.value.toLowerCase())!==-1}):w.taxTypes),p=B(()=>e.store[e.storeProp].taxes);function j(T,d){t("select:taxType",N({},T)),d()}function V(){r.openModal({title:S("settings.tax_types.add_tax"),componentName:"TaxTypeModal",size:"sm",refreshData:T=>t("select:taxType",T)})}return(T,d)=>{const i=y("BaseIcon"),m=y("BaseInput");return l(),$("div",Ht,[a(o(Fe),{class:"relative"},{default:c(({isOpen:u})=>[a(o(Oe),{class:X([u?"":"text-opacity-90","flex items-center text-sm font-medium text-primary-400 focus:outline-none focus:border-none"])},{default:c(()=>[a(i,{name:"PlusIcon",class:"w-4 h-4 font-medium text-primary-400"}),E(" "+h(T.$t("settings.tax_types.add_tax")),1)]),_:2},1032,["class"]),n("div",Jt,[a(ze,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"translate-y-1 opacity-0","enter-to-class":"translate-y-0 opacity-100","leave-active-class":"transition duration-150 ease-in","leave-from-class":"translate-y-0 opacity-100","leave-to-class":"translate-y-1 opacity-0"},{default:c(()=>[a(o(Ne),{style:{"min-width":"350px","margin-left":"62px",top:"-28px"},class:"absolute z-10 px-4 py-2 -translate-x-full sm:px-0"},{default:c(({close:k})=>[n("div",Zt,[n("div",Kt,[n("div",Qt,[a(m,{modelValue:f.value,"onUpdate:modelValue":d[0]||(d[0]=x=>f.value=x),placeholder:T.$t("general.search"),type:"text",class:"text-black"},null,8,["modelValue","placeholder"])]),o(D).length>0?(l(),$("div",es,[(l(!0),$(Q,null,se(o(D),(x,M)=>(l(),$("div",{key:M,class:X([{"bg-gray-100 cursor-not-allowed opacity-50 pointer-events-none":o(p).find(C=>C.tax_type_id===x.id)},"px-6 py-4 border-b border-gray-200 border-solid cursor-pointer hover:bg-gray-100 hover:cursor-pointer last:border-b-0"]),tabindex:"2",onClick:C=>j(x,k)},[n("div",ss,[n("label",os,h(x.name),1),n("label",as,h(x.percent)+" % ",1)])],10,ts))),128))])):(l(),$("div",ns,[n("label",rs,h(T.$t("general.no_tax_found")),1)]))]),o(b).hasAbilities(o(ne).CREATE_TAX_TYPE)?(l(),$("button",{key:0,type:"button",class:"flex items-center justify-center w-full h-10 px-2 py-3 bg-gray-200 border-none outline-none",onClick:V},[a(i,{name:"CheckCircleIcon",class:"text-primary-400"}),n("label",ls,h(T.$t("estimates.add_new_tax")),1)])):L("",!0)])]),_:1})]),_:1})])]),_:1})])}}},ds={class:"px-5 py-4 mt-6 bg-white border border-gray-200 border-solid rounded md:min-w-[390px] min-w-[300px] lg:mt-7"},cs={class:"flex items-center justify-between w-full"},us={key:1,class:"text-sm font-semibold leading-5 text-gray-400 uppercase"},ms={key:3,class:"flex items-center justify-center m-0 text-lg text-black uppercase"},ps={key:1,class:"m-0 text-sm font-semibold leading-5 text-gray-500 uppercase"},ys={key:3,class:"flex items-center justify-center m-0 text-lg text-black uppercase"},fs={key:0,class:"flex items-center justify-between w-full mt-2"},xs={key:1,class:"text-sm font-semibold leading-5 text-gray-400 uppercase"},_s={key:3,class:"flex",style:{width:"140px"},role:"group"},gs={class:"flex items-center"},hs={key:1},bs={class:"flex items-center justify-between w-full pt-2 mt-5 border-t border-gray-200 border-solid"},vs={key:1,class:"m-0 text-sm font-semibold leading-5 text-gray-400 uppercase"},$s={key:3,class:"flex items-center justify-center text-lg uppercase text-primary-400"},eo={props:{store:{type:Object,default:null},storeProp:{type:String,default:""},taxPopupType:{type:String,default:""},currency:{type:[Object,String],default:""},isLoading:{type:Boolean,default:!1}},setup(s){const t=s,e=W(null);re("$utils");const r=te(),w=B({get:()=>t.store[t.storeProp].discount,set:d=>{t.store[t.storeProp].discount_type==="percentage"?t.store[t.storeProp].discount_val=Math.round(t.store.getSubTotal*d/100):t.store[t.storeProp].discount_val=Math.round(d*100),t.store[t.storeProp].discount=d}}),b=B({get:()=>t.store[t.storeProp].taxes,set:d=>{t.store.$patch(i=>{i[t.storeProp].taxes=d})}}),S=B(()=>{let d=[];return t.store[t.storeProp].items.forEach(i=>{i.taxes&&i.taxes.forEach(m=>{let u=d.find(k=>k.tax_type_id===m.tax_type_id);u?u.amount+=m.amount:m.tax_type_id&&d.push({tax_type_id:m.tax_type_id,amount:m.amount,percent:m.percent,name:m.name})})}),d}),f=B(()=>t.currency?t.currency:r.selectedCompanyCurrency);function D(){t.store[t.storeProp].discount_type!=="fixed"&&(t.store[t.storeProp].discount_val=Math.round(t.store[t.storeProp].discount*100),t.store[t.storeProp].discount_type="fixed")}function p(){t.store[t.storeProp].discount_type!=="percentage"&&(t.store[t.storeProp].discount_val=t.store.getSubTotal*t.store[t.storeProp].discount/100,t.store[t.storeProp].discount_type="percentage")}function j(d){let i=0;d.compound_tax&&t.store.getSubtotalWithDiscount?i=Math.round((t.store.getSubtotalWithDiscount+t.store.getTotalSimpleTax)*d.percent/100):t.store.getSubtotalWithDiscount&&d.percent&&(i=Math.round(t.store.getSubtotalWithDiscount*d.percent/100));let m=G(N({},ne),{id:ge.raw(),name:d.name,percent:d.percent,compound_tax:d.compound_tax,tax_type_id:d.id,amount:i});t.store.$patch(u=>{u[t.storeProp].taxes.push(N({},m))})}function V(d){const i=t.store[t.storeProp].taxes.find(m=>m.id===d.id);i&&Object.assign(i,N({},d))}function T(d){const i=t.store[t.storeProp].taxes.findIndex(m=>m.id===d);t.store.$patch(m=>{m[t.storeProp].taxes.splice(i,1)})}return(d,i)=>{const m=y("BaseContentPlaceholdersText"),u=y("BaseContentPlaceholders"),k=y("BaseFormatMoney"),x=y("BaseInput"),M=y("BaseIcon"),C=y("BaseButton"),_=y("BaseDropdownItem"),v=y("BaseDropdown");return l(),$("div",ds,[n("div",cs,[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("label",us,h(d.$t("estimates.sub_total")),1)),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("label",ms,[a(k,{amount:s.store.getSubTotal,currency:o(f)},null,8,["amount","currency"])]))]),(l(!0),$(Q,null,se(o(S),I=>(l(),$("div",{key:I.tax_type_id,class:"flex items-center justify-between w-full"},[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:"w-16 h-5"})]),_:1})):s.store[s.storeProp].tax_per_item==="YES"?(l(),$("label",ps,h(I.name)+" - "+h(I.percent)+"% ",1)):L("",!0),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:"w-16 h-5"})]),_:1})):s.store[s.storeProp].tax_per_item==="YES"?(l(),$("label",ys,[a(k,{amount:I.amount,currency:o(f)},null,8,["amount","currency"])])):L("",!0)]))),128)),s.store[s.storeProp].discount_per_item==="NO"||s.store[s.storeProp].discount_per_item===null?(l(),$("div",fs,[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("label",xs,h(d.$t("estimates.discount")),1)),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:"w-24 h-8 rounded-md border"})]),_:1})):(l(),$("div",_s,[a(x,{modelValue:o(w),"onUpdate:modelValue":i[0]||(i[0]=I=>K(w)?w.value=I:null),class:"border-r-0 focus:border-r-2 rounded-tr-sm rounded-br-sm h-[38px]"},null,8,["modelValue"]),a(v,{position:"bottom-end"},{activator:c(()=>[a(C,{class:"rounded-tr-md rounded-br-md p-2 rounded-none",type:"button",variant:"white"},{default:c(()=>[n("span",gs,[E(h(s.store[s.storeProp].discount_type=="fixed"?o(f).symbol:"%")+" ",1),a(M,{name:"ChevronDownIcon",class:"w-4 h-4 text-gray-500 ml-1"})])]),_:1})]),default:c(()=>[a(_,{onClick:D},{default:c(()=>[E(h(d.$t("general.fixed")),1)]),_:1}),a(_,{onClick:p},{default:c(()=>[E(h(d.$t("general.percentage")),1)]),_:1})]),_:1})]))])):L("",!0),s.store[s.storeProp].tax_per_item==="NO"||s.store[s.storeProp].tax_per_item===null?(l(),$("div",hs,[(l(!0),$(Q,null,se(o(b),(I,A)=>(l(),q(Xt,{key:I.id,index:A,tax:I,taxes:o(b),currency:s.currency,store:s.store,onRemove:T,onUpdate:V},null,8,["index","tax","taxes","currency","store"]))),128))])):L("",!0),s.store[s.storeProp].tax_per_item==="NO"||s.store[s.storeProp].tax_per_item===null?(l(),$("div",{key:2,ref:(I,A)=>{A.taxModal=I,e.value=I},class:"float-right pt-2 pb-4"},[a(is,{"store-prop":s.storeProp,store:s.store,type:s.taxPopupType,"onSelect:taxType":j},null,8,["store-prop","store","type"])],512)):L("",!0),n("div",bs,[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("label",vs,h(d.$t("estimates.total"))+" "+h(d.$t("estimates.amount"))+":",1)),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:"w-16 h-5"})]),_:1})):(l(),$("label",$s,[a(k,{amount:s.store.getTotal,currency:o(f)},null,8,["amount","currency"])]))])])}}},ws={class:"flex text-gray-800 font-medium text-sm mb-2"},Bs=n("span",{class:"text-sm text-red-500"}," *",-1),to={props:{store:{type:Object,default:null},storeProp:{type:String,default:""},isMarkAsDefault:{type:Boolean,default:!1}},setup(s){const t=s,e=H(),{t:r}=J();function w(){let b="";t.storeProp=="newEstimate"?b=r("estimates.mark_as_default_estimate_template_description"):t.storeProp=="newInvoice"&&(b=r("invoices.mark_as_default_invoice_template_description")),e.openModal({title:r("general.choose_template"),componentName:"SelectTemplate",data:{templates:t.store.templates,store:t.store,storeProp:t.storeProp,isMarkAsDefault:t.isMarkAsDefault,markAsDefaultDescription:b}})}return(b,S)=>{const f=y("BaseIcon"),D=y("BaseButton");return l(),$("div",null,[n("label",ws,[E(h(b.$t("general.select_template"))+" ",1),Bs]),a(D,{type:"button",class:"flex justify-center w-full text-sm lg:w-auto hover:bg-gray-200",variant:"gray",onClick:w},{right:c(p=>[a(f,{name:"PencilIcon",class:X(p.class)},null,8,["class"])]),default:c(()=>[E(" "+h(s.store[s.storeProp].template_name),1)]),_:1})])}}},Ss={class:"mb-6"},Is={class:"z-20 text-sm font-semibold leading-5 text-primary-400 float-right"},Ps={class:"text-gray-800 font-medium mb-4 text-sm"},so={props:{store:{type:Object,default:null},storeProp:{type:String,default:""},fields:{type:Object,default:null},type:{type:String,default:null}},setup(s){const t=s;function e(r){t.store[t.storeProp].notes=""+r.notes}return(r,w)=>{const b=y("BaseCustomInput");return l(),$("div",Ss,[n("div",Is,[a(Ge,{type:s.type,onSelect:e},null,8,["type"])]),n("label",Ps,h(r.$t("invoices.notes")),1),a(b,{modelValue:s.store[s.storeProp].notes,"onUpdate:modelValue":w[0]||(w[0]=S=>s.store[s.storeProp].notes=S),"content-loading":s.store.isFetchingInitialSettings,fields:s.fields,class:"mt-1"},null,8,["modelValue","content-loading","fields"])])}}},ks={class:"flex justify-between w-full"},Ts={class:"px-8 py-8 sm:p-6"},Cs={key:0,class:"grid grid-cols-3 gap-2 p-1 overflow-x-auto"},Ms=["onClick"],Ds=["src","alt"],Vs=["alt","src"],js={key:1,class:"z-0 flex ml-3 pt-5"},qs={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid"},oo={setup(s){const t=H(),e=ae(),r=W(""),w=B(()=>t.active&&t.componentName==="SelectTemplate"),b=B(()=>t.title);function S(){t.data.store[t.data.storeProp].template_name?r.value=t.data.store[t.data.storeProp].template_name:r.value=t.data.templates[0]}async function f(){await t.data.store.setTemplate(r.value),!t.data.store.isEdit&&t.data.isMarkAsDefault&&(t.data.storeProp=="newEstimate"?await e.updateUserSettings({settings:{default_estimate_template:r.value}}):t.data.storeProp=="newInvoice"&&await e.updateUserSettings({settings:{default_invoice_template:r.value}})),p()}function D(){return new URL("/build/img/tick.png",self.location)}function p(){t.closeModal(),setTimeout(()=>{t.$reset()},300)}return(j,V)=>{const T=y("BaseIcon"),d=y("BaseCheckbox"),i=y("BaseButton"),m=y("BaseModal");return l(),q(m,{show:o(w),onClose:p,onOpen:S},{header:c(()=>[n("div",ks,[E(h(o(b))+" ",1),a(T,{name:"XIcon",class:"h-6 w-6 text-gray-500 cursor-pointer",onClick:p})])]),default:c(()=>[n("div",Ts,[o(t).data?(l(),$("div",Cs,[(l(!0),$(Q,null,se(o(t).data.templates,(u,k)=>(l(),$("div",{key:k,class:X([{"border border-solid border-primary-500":r.value===u.name},"relative flex flex-col m-2 border border-gray-200 border-solid cursor-pointer hover:border-primary-300"]),onClick:x=>r.value=u.name},[n("img",{src:u.path,alt:u.name,class:"w-full min-h-[100px]"},null,8,Ds),r.value===u.name?(l(),$("img",{key:0,alt:u.name,class:"absolute z-10 w-5 h-5 text-primary-500",style:{top:"-6px",right:"-5px"},src:D()},null,8,Vs)):L("",!0),n("span",{class:X(["w-full p-1 bg-gray-200 text-sm text-center absolute bottom-0 left-0",{"text-primary-500 bg-primary-100":r.value===u.name,"text-gray-600":r.value!=u.name}])},h(u.name),3)],10,Ms))),128))])):L("",!0),o(t).data.store.isEdit?L("",!0):(l(),$("div",js,[a(d,{modelValue:o(t).data.isMarkAsDefault,"onUpdate:modelValue":V[0]||(V[0]=u=>o(t).data.isMarkAsDefault=u),"set-initial-value":!1,variant:"primary",label:j.$t("general.mark_as_default"),description:o(t).data.markAsDefaultDescription},null,8,["modelValue","label","description"])]))]),n("div",qs,[a(i,{class:"mr-3",variant:"primary-outline",onClick:p},{default:c(()=>[E(h(j.$t("general.cancel")),1)]),_:1}),a(i,{variant:"primary",onClick:V[1]||(V[1]=u=>f())},{left:c(u=>[a(T,{name:"SaveIcon",class:X(u.class)},null,8,["class"])]),default:c(()=>[E(" "+h(j.$t("general.choose")),1)]),_:1})])]),_:1},8,["show"])}}},As={class:"flex justify-between w-full"},Es={class:"item-modal"},Ls=["onSubmit"],Us={class:"px-8 py-8 sm:p-6"},Os={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid"},ao={emits:["newItem"],setup(s,{emit:t}){const e=H(),r=fe(),w=te(),b=ee();Me(),De();const{t:S}=J(),f=W(!1),D=W(w.selectedCompanySettings.tax_per_item),p=B(()=>e.active&&e.componentName==="ItemModal"),j=B({get:()=>r.currentItem.price/100,set:x=>{r.currentItem.price=Math.round(x*100)}}),V=B({get:()=>r.currentItem.taxes.map(x=>{if(x)return G(N({},x),{tax_type_id:x.id,tax_name:x.name+" ("+x.percent+"%)"})}),set:x=>{r.$patch(M=>{M.currentItem.taxes=x})}}),T=B(()=>D.value==="YES"),d={name:{required:O.withMessage(S("validation.required"),R),minLength:O.withMessage(S("validation.name_min_length",{count:3}),Ye(3))},description:{maxLength:O.withMessage(S("validation.description_maxlength",{count:255}),oe(255))}},i=ie(d,B(()=>r.currentItem)),m=B(()=>b.taxTypes.map(x=>G(N({},x),{tax_name:x.name+" ("+x.percent+"%)"})));he(()=>{i.value.$reset(),r.fetchItemUnits({limit:"all"})});async function u(){if(i.value.$touch(),i.value.$invalid)return!0;let x=G(N({},r.currentItem),{taxes:r.currentItem.taxes.map(C=>({tax_type_id:C.id,amount:j.value*C.percent/100,percent:C.percent,name:C.name,collective_tax:0}))});f.value=!0,await(r.isEdit?r.updateItem:r.addItem)(x).then(C=>{f.value=!1,C.data.data&&e.data&&e.refreshData(C.data.data),k()})}function k(){e.closeModal(),setTimeout(()=>{r.resetCurrentItem(),e.$reset(),i.value.$reset()},300)}return(x,M)=>{const C=y("BaseIcon"),_=y("BaseInput"),v=y("BaseInputGroup"),I=y("BaseMoney"),A=y("BaseMultiselect"),g=y("BaseTextarea"),P=y("BaseInputGrid"),U=y("BaseButton"),Y=y("BaseModal");return l(),q(Y,{show:o(p),onClose:k},{header:c(()=>[n("div",As,[E(h(o(e).title)+" ",1),a(C,{name:"XIcon",class:"h-6 w-6 text-gray-500 cursor-pointer",onClick:k})])]),default:c(()=>[n("div",Es,[n("form",{action:"",onSubmit:be(u,["prevent"])},[n("div",Us,[a(P,{layout:"one-column"},{default:c(()=>[a(v,{label:x.$t("items.name"),required:"",error:o(i).name.$error&&o(i).name.$errors[0].$message},{default:c(()=>[a(_,{modelValue:o(r).currentItem.name,"onUpdate:modelValue":M[0]||(M[0]=z=>o(r).currentItem.name=z),type:"text",invalid:o(i).name.$error,onInput:M[1]||(M[1]=z=>o(i).name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"]),a(v,{label:x.$t("items.price")},{default:c(()=>[a(I,{key:o(w).selectedCompanyCurrency,modelValue:o(j),"onUpdate:modelValue":M[2]||(M[2]=z=>K(j)?j.value=z:null),currency:o(w).selectedCompanyCurrency,class:"relative w-full focus:border focus:border-solid focus:border-primary"},null,8,["modelValue","currency"])]),_:1},8,["label"]),a(v,{label:x.$t("items.unit")},{default:c(()=>[a(A,{modelValue:o(r).currentItem.unit_id,"onUpdate:modelValue":M[3]||(M[3]=z=>o(r).currentItem.unit_id=z),label:"name",options:o(r).itemUnits,"value-prop":"id","can-deselect":!1,"can-clear":!1,placeholder:x.$t("items.select_a_unit"),searchable:"","track-by":"id"},null,8,["modelValue","options","placeholder"])]),_:1},8,["label"]),o(T)?(l(),q(v,{key:0,label:x.$t("items.taxes")},{default:c(()=>[a(A,{modelValue:o(V),"onUpdate:modelValue":M[4]||(M[4]=z=>K(V)?V.value=z:null),options:o(m),label:"name","value-prop":"id",class:"w-full","can-deselect":!1,"can-clear":!1,searchable:"","track-by":"id",object:""},null,8,["modelValue","options"])]),_:1},8,["label"])):L("",!0),a(v,{label:x.$t("items.description"),error:o(i).description.$error&&o(i).description.$errors[0].$message},{default:c(()=>[a(g,{modelValue:o(r).currentItem.description,"onUpdate:modelValue":M[5]||(M[5]=z=>o(r).currentItem.description=z),rows:"4",cols:"50",invalid:o(i).description.$error,onInput:M[6]||(M[6]=z=>o(i).description.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"])]),_:1})]),n("div",Os,[a(U,{class:"mr-3",variant:"primary-outline",type:"button",onClick:k},{default:c(()=>[E(h(x.$t("general.cancel")),1)]),_:1}),a(U,{loading:f.value,disabled:f.value,variant:"primary",type:"submit"},{left:c(z=>[a(C,{name:"SaveIcon",class:X(z.class)},null,8,["class"])]),default:c(()=>[E(" "+h(o(r).isEdit?x.$t("general.update"):x.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,Ls)])]),_:1},8,["show"])}}},zs={class:"flex justify-between w-full"},Ns={class:"flex flex-col"},Fs={class:"text-sm text-gray-500 mt-1"},Ys=["onSubmit"],Gs={class:"p-4 sm:p-6"},Ws={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid"},Rs={emits:["addTax"],setup(s,{emit:t}){const e=H();Ve();const r=xe({state:"",city:"",address_street_1:"",zip:""}),w=W(!1),b=ee(),{t:S}=J(),f=B(()=>e.active&&e.componentName==="TaxationAddressModal"),D=B(()=>({state:{required:O.withMessage(S("validation.required"),R)},city:{required:O.withMessage(S("validation.required"),R)},address_street_1:{required:O.withMessage(S("validation.required"),R)},zip:{required:O.withMessage(S("validation.required"),R)}})),p=ie(D,B(()=>r));async function j(){if(p.value.$touch(),p.value.$invalid)return!0;let d={address:r};e.id&&(d.customer_id=e.id),r.address_street_1=r.address_street_1.replace(/(\r\n|\n|\r)/gm,""),w.value=!0,await b.fetchSalesTax(d).then(i=>{w.value=!1,t("addTax",i.data.data),T()}).catch(i=>{w.value=!1})}function V(){var d,i,m,u;r.state=(d=e==null?void 0:e.data)==null?void 0:d.state,r.city=(i=e==null?void 0:e.data)==null?void 0:i.city,r.address_street_1=(m=e==null?void 0:e.data)==null?void 0:m.address_street_1,r.zip=(u=e==null?void 0:e.data)==null?void 0:u.zip}function T(){e.closeModal()}return(d,i)=>{const m=y("BaseIcon"),u=y("BaseInput"),k=y("BaseInputGroup"),x=y("BaseTextarea"),M=y("BaseInputGrid"),C=y("BaseButton"),_=y("BaseModal");return l(),q(_,{show:o(f),onClose:T,onOpen:V},{header:c(()=>[n("div",zs,[n("div",Ns,[E(h(o(e).title)+" ",1),n("p",Fs,h(o(e).content),1)]),a(m,{name:"XIcon",class:"h-6 w-6 text-gray-500 cursor-pointer",onClick:T})])]),default:c(()=>[n("form",{onSubmit:be(j,["prevent"])},[n("div",Gs,[a(M,{layout:"one-column"},{default:c(()=>[a(k,{required:"",error:o(p).state.$error&&o(p).state.$errors[0].$message,label:d.$t("customers.state")},{default:c(()=>[a(u,{modelValue:o(r).state,"onUpdate:modelValue":i[0]||(i[0]=v=>o(r).state=v),type:"text",name:"shippingState",class:"mt-1 md:mt-0",invalid:o(p).state.$error,onInput:i[1]||(i[1]=v=>o(p).state.$touch()),placeholder:d.$t("settings.taxations.state_placeholder")},null,8,["modelValue","invalid","placeholder"])]),_:1},8,["error","label"]),a(k,{required:"",error:o(p).city.$error&&o(p).city.$errors[0].$message,label:d.$t("customers.city")},{default:c(()=>[a(u,{modelValue:o(r).city,"onUpdate:modelValue":i[2]||(i[2]=v=>o(r).city=v),type:"text",name:"shippingCity",class:"mt-1 md:mt-0",invalid:o(p).city.$error,onInput:i[3]||(i[3]=v=>o(p).city.$touch()),placeholder:d.$t("settings.taxations.city_placeholder")},null,8,["modelValue","invalid","placeholder"])]),_:1},8,["error","label"]),a(k,{required:"",error:o(p).address_street_1.$error&&o(p).address_street_1.$errors[0].$message,label:d.$t("customers.address")},{default:c(()=>[a(x,{modelValue:o(r).address_street_1,"onUpdate:modelValue":i[4]||(i[4]=v=>o(r).address_street_1=v),rows:"2",cols:"50",class:"mt-1 md:mt-0",invalid:o(p).address_street_1.$error,onInput:i[5]||(i[5]=v=>o(p).address_street_1.$touch()),placeholder:d.$t("settings.taxations.address_placeholder")},null,8,["modelValue","invalid","placeholder"])]),_:1},8,["error","label"]),a(k,{required:"",error:o(p).zip.$error&&o(p).zip.$errors[0].$message,label:d.$t("customers.zip_code")},{default:c(()=>[a(u,{modelValue:o(r).zip,"onUpdate:modelValue":i[6]||(i[6]=v=>o(r).zip=v),invalid:o(p).zip.$error,onInput:i[7]||(i[7]=v=>o(p).zip.$touch()),type:"text",class:"mt-1 md:mt-0",placeholder:d.$t("settings.taxations.zip_placeholder")},null,8,["modelValue","invalid","placeholder"])]),_:1},8,["error","label"])]),_:1})]),n("div",Ws,[a(C,{class:"mr-3 text-sm",type:"button",variant:"primary-outline",onClick:T},{default:c(()=>[E(h(d.$t("general.cancel")),1)]),_:1}),a(C,{loading:w.value,variant:"primary",type:"submit"},{left:c(v=>[w.value?L("",!0):(l(),q(m,{key:0,name:"SaveIcon",class:X(v.class)},null,8,["class"]))]),default:c(()=>[E(" "+h(d.$t("general.save")),1)]),_:1},8,["loading"])])],40,Ys)]),_:1},8,["show"])}}},no={props:{isEdit:{type:Boolean,default:null},type:{type:String,default:null},customer:{type:[Object],default:null},store:{type:Object,default:null},storeProp:{type:String,default:null}},setup(s){const t=s,e="Sales Tax",r="MODULE",w=H(),b=te(),S=ee(),{t:f}=J(),D=W(!1),p=B(()=>t.isEdit?t.store[t.storeProp].sales_tax_address_type==="billing":b.selectedCompanySettings.sales_tax_address_type==="billing"),j=B(()=>b.selectedCompanySettings.sales_tax_us_enabled==="YES"),V=B(()=>t.isEdit?t.store[t.storeProp].sales_tax_type==="customer_level":b.selectedCompanySettings.sales_tax_type==="customer_level"),T=B(()=>t.isEdit?t.store[t.storeProp].sales_tax_type==="company_level":b.selectedCompanySettings.sales_tax_type==="company_level"),d=B(()=>{if(V.value&&i.value){let _=p.value?t.customer.billing:t.customer.shipping;return{address:Z.exports.pick(_,["address_street_1","city","state","zip"]),customer_id:t.customer.id}}else if(T.value&&i.value)return{address:Z.exports.pick(address,["address_street_1","city","state","zip"])}}),i=B(()=>{var _,v;if(V.value){let I=p.value?(_=t.customer)==null?void 0:_.billing:(v=t.customer)==null?void 0:v.shipping;return m(I)}else if(T.value)return m(b.selectedCompany.address);return!1});le(()=>t.customer,(_,v)=>{if(_&&v&&V.value){u(_,v);return}!i.value&&V.value&&_?setTimeout(()=>{k()},500):V.value&&_?x():V.value&&!_&&C()}),he(()=>{T.value&&(i.value?x():k())});function m(_){return _?_.address_street_1&&_.city&&_.state&&_.zip:!1}function u(_,v){const I=p.value?_.billing:_.shipping,A=p.value?v.billing:v.shipping,g=Z.exports.pick(I,["address_street_1","city","state","zip"]),P=Z.exports.pick(A,["address_street_1","city","state","zip"]);Z.exports.isEqual(g,P)||x()}function k(){var I,A;if(!j.value)return;let _=null,v="";V.value?p.value?(_=(I=t.customer)==null?void 0:I.billing,v=f("settings.taxations.add_billing_address")):(_=(A=t.customer)==null?void 0:A.shipping,v=f("settings.taxations.add_shipping_address")):(_=b.selectedCompany.address,v=f("settings.taxations.add_company_address")),w.openModal({title:v,content:f("settings.taxations.modal_description"),componentName:"TaxationAddressModal",data:_,id:V.value?t.customer.id:""})}async function x(){!j.value||(D.value=!0,await S.fetchSalesTax(d.value).then(_=>{M(_.data.data),D.value=!1}).catch(_=>{_.response.data.error&&setTimeout(()=>{k()},500),D.value=!1}))}function M(_){_.tax_type_id=_.id;const v=t.store[t.storeProp].taxes.findIndex(I=>I.name===e&&I.type===r);v>-1?Object.assign(t.store[t.storeProp].taxes[v],_):t.store[t.storeProp].taxes.push(_)}function C(){const _=t.store[t.storeProp].taxes.findIndex(I=>I.name===e&&I.type===r);_>-1&&t.store[t.storeProp].taxes.splice(_,1);let v=S.taxTypes.findIndex(I=>I.name===e&&I.type===r);v>-1&&S.taxTypes.splice(v,1)}return(_,v)=>(l(),q(Rs,{onAddTax:M}))}};export{oo as _,ao as a,no as b,Qs as c,so as d,to as e,eo as f};
|