ruạṛ
import{u as w,F as N,aq as R,cw as A,cx as P,j as $,c as r,bk as k,h as j,bg as B,p as x,cy as V,H as E,cz as q,x as C,cA as L,bv as f,cu as b,ct as O,cs as D,C as M,ay as z,cB as H,bo as U,cC as v,cD as p,bb as y}from"./bundle.9abe88c8.js";import{I as S}from"./InvoiceViewer-8cc71da3.js";function F(){var e,u;const[t]=w(),l=N(),{isOwner:a}=R();return!A()&&!P()&&a?$("div",{className:"flex text-base space-x-1",children:[r(k,{className:"capitalize",to:((e=l==null?void 0:l.company_user)==null?void 0:e.ninja_portal_url)||j("/settings/account_management"),setBaseFont:!0,external:!!((u=l==null?void 0:l.company_user)!=null&&u.ninja_portal_url),children:t("click_here")}),$("span",{children:[B("pro_plan_remove_logo",{link:""}),"."]})]}):null}function Y(t){var s,i,_,c,o,h,g;const[l,a]=x.useState(!1),e=t.endpoint||"/api/v1/live_preview?entity=:entity",u=x.useRef(null);return x.useEffect(()=>{if(!t.observable)return;const n=new IntersectionObserver(d=>{d.forEach(m=>{m.isIntersecting?a(!0):a(!1)},{threshold:.1})});return u.current&&n.observe(u.current),()=>{n.disconnect()}},[u.current]),x.useEffect(()=>{t.observable},[t.resource]),(s=t.resource)!=null&&s[t.relationType]&&t.for==="create"?r("div",{ref:u,children:r(S,{link:V(e,{entity:t.entity}),resource:t.resource,method:"POST"})}):(i=t.resource)!=null&&i.id&&((_=t.resource)!=null&&_[t.relationType])&&t.entity==="purchase_order"?$("div",{className:"flex flex-col space-y-3",children:[r(S,{link:V("/api/v1/live_preview/purchase_order?entity=:entity&entity_id=:id",{entity:t.entity,id:(c=t.resource)==null?void 0:c.id}),resource:t.resource,method:"POST"}),t.withRemoveLogoCTA&&r(F,{})]}):(o=t.resource)!=null&&o.id&&((h=t.resource)!=null&&h[t.relationType])&&t.for==="invoice"?$("div",{className:"flex flex-col space-y-3",children:[r("div",{ref:u,children:r(S,{link:V("/api/v1/live_preview?entity=:entity&entity_id=:id",{entity:t.entity,id:(g=t.resource)==null?void 0:g.id}),method:"POST",resource:t.resource,enabled:t.observable?l:!0})}),t.withRemoveLogoCTA&&r(F,{})]}):r(E,{})}/** * Invoice Ninja (https://invoiceninja.com). * * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://opensource.org/licenses/AAL */function W(t){const[l,a]=t.split("$");return{dollar:l,property:a}}function G(t){const l=q({resource:t.resource,relationType:t.relationType}),a=t.resource,e=C(),u=(c,o)=>t.onChange(c,o),s=L(),i=t.invoiceSum,_={total:"amount",outstanding:"balance"};return c=>{let o=0;const{property:h}=W(c),g=_[h]||h;return c=="$net_subtotal"&&i?r(f,{leftSide:s(c,"$"),children:l(i.subTotal)}):c=="$discount"&&i?i.totalDiscount!=0?r(f,{leftSide:s(c,"$"),children:l(i.totalDiscount)}):"":c=="$subtotal"&&i?r(f,{leftSide:s(c,"$"),children:l(i.subTotal)}):c=="$total_taxes"&&i?r(f,{leftSide:s(c,"$"),children:l(i.totalTaxes)}):c=="$line_taxes"&&i?r(f,{leftSide:s(c,"$"),children:l(i.invoiceItems.totalTaxes)}):c=="$total"&&i?r(f,{leftSide:s(c,"$"),children:l(i.total)}):c=="$paid_to_date"&&i?r(f,{leftSide:s(c,"$"),children:l(i.invoice.paid_to_date)}):c=="$balance_due"&&i?r(f,{leftSide:s(c,"$"),children:l(i.getBalanceDue())}):c=="$taxes"&&i?r(E,{children:i==null?void 0:i.getTaxMap().map((n,d)=>r(f,{leftSide:n.name,children:r("span",{children:l(n.total)})},d))}):c==="$custom_surcharge1"?r(b,{field:"surcharge1",defaultValue:(a==null?void 0:a.custom_surcharge1)||"",value:(e==null?void 0:e.custom_fields.surcharge1)||"",onValueChange:n=>u("custom_surcharge1",n)}):c==="$custom_surcharge2"?r(b,{field:"surcharge2",defaultValue:(a==null?void 0:a.custom_surcharge2)||"",value:(e==null?void 0:e.custom_fields.surcharge2)||"",onValueChange:n=>u("custom_surcharge2",n)}):c==="$custom_surcharge3"?r(b,{field:"surcharge3",defaultValue:(a==null?void 0:a.custom_surcharge3)||"",value:(e==null?void 0:e.custom_fields.surcharge3)||"",onValueChange:n=>u("custom_surcharge3",n)}):c==="$custom_surcharge4"?r(b,{field:"surcharge4",defaultValue:(a==null?void 0:a.custom_surcharge4)||"",value:(e==null?void 0:e.custom_fields.surcharge4)||"",onValueChange:n=>u("custom_surcharge4",n)}):(a&&(o=a[g]??0),r(f,{leftSide:s(g,"$"),children:l(o)}))}}/** * Invoice Ninja (https://invoiceninja.com). * * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */function J(){const t=C(),[l,a]=x.useState([]);return x.useEffect(()=>{var u,s,i,_;let e=["$subtotal"];(u=t==null?void 0:t.custom_fields)!=null&&u.surcharge1||(e=e.filter(c=>c!=="$custom_surcharge1")),(s=t==null?void 0:t.custom_fields)!=null&&s.surcharge2||(e=e.filter(c=>c!=="$custom_surcharge2")),(i=t==null?void 0:t.custom_fields)!=null&&i.surcharge3||(e=e.filter(c=>c!=="$custom_surcharge3")),(_=t==null?void 0:t.custom_fields)!=null&&_.surcharge4||(e=e.filter(c=>c!=="$custom_surcharge4")),e.push("$discount"),e.push("$total"),e.push("$paid_to_date"),e.push("$balance_due"),e.push("$taxes"),a(e)},[t]),l}function T(t){const[l,a]=x.useState(""),e=C();return x.useEffect(()=>{const[u]=[e.custom_fields[t.field],""];a(u||"")},[]),r(f,{leftSide:l,children:t.type==="number"?r(O,{...t}):r(D,{...t})})}function Z(t){var c,o,h,g;const l=J(),a=C(),e=t.resource,u=G({resource:e,onChange:t.onChange,invoiceSum:t.invoiceSum,relationType:t.relationType}),s=(n,d)=>t.onChange(n,d),[i]=w();return $(M,{className:"col-span-12 xl:col-span-4 h-max",children:[(()=>!!(a.enabled_tax_rates===0&&(e!=null&&e.tax_name1||e!=null&&e.tax_name2||e!=null&&e.tax_name3)||a.enabled_item_tax_rates===0&&(e!=null&&e.line_items.some(({tax_name1:n,tax_name2:d,tax_name3:m})=>n||d||m))))()&&$("div",{className:"flex items-center space-x-3 px-6",children:[r("div",{children:r(z,{element:H,size:20,color:"orange"})}),r("div",{className:"text-sm font-medium",children:U(i("hidden_taxes_warning"),":link",()=>r(k,{to:"/settings/tax_settings",children:i("settings")}))})]}),l.map((n,d)=>(n==="$subtotal"||n==="$taxes")&&r(x.Fragment,{children:u(n)},d)),a&&a.enabled_tax_rates>0&&r(f,{leftSide:i("tax"),children:r(v,{defaultValue:p(e,"tax_name1"),onChange:n=>{var d,m;s("tax_name1",(d=n.resource)==null?void 0:d.name),s("tax_rate1",(m=n.resource)==null?void 0:m.rate)},onClearButtonClick:()=>{s("tax_name1",""),s("tax_rate1",0)},onTaxCreated:n=>{s("tax_name1",n.name),s("tax_rate1",n.rate)},resourceTaxName:e.tax_name1,resourceTaxRate:e.tax_rate1})}),a&&a.enabled_tax_rates>1&&r(f,{leftSide:i("tax"),children:r(v,{defaultValue:p(e,"tax_name2"),onChange:n=>{var d,m;s("tax_name2",(d=n.resource)==null?void 0:d.name),s("tax_rate2",(m=n.resource)==null?void 0:m.rate)},onClearButtonClick:()=>{s("tax_name2",""),s("tax_rate2",0)},onTaxCreated:n=>{s("tax_name2",n.name),s("tax_rate2",n.rate)},resourceTaxName:e.tax_name2,resourceTaxRate:e.tax_rate2})}),a&&a.enabled_tax_rates>2&&r(f,{leftSide:i("tax"),children:r(v,{defaultValue:p(e,"tax_name3"),onChange:n=>{var d,m;s("tax_name3",(d=n.resource)==null?void 0:d.name),s("tax_rate3",(m=n.resource)==null?void 0:m.rate)},onClearButtonClick:()=>{s("tax_name3",""),s("tax_rate3",0)},onTaxCreated:n=>{s("tax_name3",n.name),s("tax_rate3",n.rate)},resourceTaxName:e.tax_name3,resourceTaxRate:e.tax_rate3})}),l.map((n,d)=>n!=="$subtotal"&&n!=="$taxes"&&r(x.Fragment,{children:u(n)},d)),a&&((c=a==null?void 0:a.custom_fields)==null?void 0:c.surcharge1)&&r(T,{field:"surcharge1",type:"number",defaultValue:e==null?void 0:e.custom_surcharge1,value:e==null?void 0:e.custom_surcharge1,onValueChange:n=>s("custom_surcharge1",parseFloat(n))}),a&&((o=a==null?void 0:a.custom_fields)==null?void 0:o.surcharge2)&&r(T,{field:"surcharge2",type:"number",defaultValue:e==null?void 0:e.custom_surcharge2,value:e==null?void 0:e.custom_surcharge2,onValueChange:n=>s("custom_surcharge2",parseFloat(n))}),a&&((h=a==null?void 0:a.custom_fields)==null?void 0:h.surcharge3)&&r(T,{field:"surcharge3",type:"number",defaultValue:e==null?void 0:e.custom_surcharge3,value:e==null?void 0:e.custom_surcharge3,onValueChange:n=>s("custom_surcharge3",parseFloat(n))}),a&&((g=a==null?void 0:a.custom_fields)==null?void 0:g.surcharge4)&&r(T,{field:"surcharge4",type:"number",defaultValue:e==null?void 0:e.custom_surcharge4,value:e==null?void 0:e.custom_surcharge4,onValueChange:n=>s("custom_surcharge4",parseFloat(n))})]})}/** * Invoice Ninja (https://invoiceninja.com). * * @link https://github.com/invoiceninja/invoiceninja source repository * * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com) * * @license https://www.elastic.co/licensing/elastic-license */const K=(t,l,a)=>{const e=l.findIndex(s=>s===t);return e>-1?e:a.length},I=(t,l,a)=>{const e=a.slice(0,t),u=a.slice(t);return e.concat(l,u)};function ee(){const t=C(),[l,a]=x.useState([]);return x.useEffect(()=>{let e=y.clone(t==null?void 0:t.settings.pdf_variables.product_columns)||[],u=y.clone(t==null?void 0:t.settings.pdf_variables.product_columns)||[];const s=u.length;e.includes("$product.item")||(e=["$product.item",...e],u=["$product.item",...u]),s||e.push("$product.description"),e.includes("$product.unit_cost")||(e.push("$product.unit_cost"),u.push("$product.unit_cost")),e.includes("$product.quantity")||(e.push("$product.quantity"),u.push("$product.quantity"));const i=[],_=(t==null?void 0:t.enabled_item_tax_rates)||0;_>0&&i.push("$product.tax_rate1"),_>1&&i.push("$product.tax_rate2"),_>2&&i.push("$product.tax_rate3");const c=K("$product.tax",u,e);e=I(c,i,e),u=I(c,i,u),e=e.filter(o=>o!=="$product.tax"),u=u.filter(o=>o!=="$product.tax"),t.enable_product_discount||(e=e.filter(o=>o!=="$product.discount"),u=u.filter(o=>o!=="$product.discount")),t.enable_product_discount&&!e.includes("$product.discount")&&(e.push("$product.discount"),u.push("$product.discount")),["product1","product2","product3","product4"].forEach(o=>{t!=null&&t.custom_fields[o]&&!u.includes(`$product.${o}`)&&(e=I(e.length,[`$product.${o}`],e)),!(t!=null&&t.custom_fields[o])&&u.includes(`$product.${o}`)&&(e=e.filter(h=>h!==`$product.${o}`),u=u.filter(h=>h!==`$product.${o}`))}),e=e.filter(o=>o!=="$product.line_total"),e.push("$product.line_total"),t!=null&&t.enable_product_quantity||(e=e.filter(o=>o!=="$product.quantity")),a(e)},[t]),l}export{Z as I,Y as a,K as g,I as i,ee as u};
cải xoăn