import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{Cr as t,Dt as n,Fr as r,In as i,K as a,Ot as o,Rt as s,Si as c,Tt as l,V as u,Vn as d,Vt as f,Wt as p,ai as m,bt as h,dt as ee,et as g,oi as _,q as te,qn as ne,qr as v,qt as y,si as b,t as re,ui as x,vn as S,wn as ie,zt as C}from"./forms-CL2ODv4X.js";import{t as w}from"./useTranslation-B_YCgyrR.js";import{u as T,v as E}from"./dist-DWDqendd.js";import{t as ae}from"./jsx-runtime-CTknu7_t.js";import{o as D,s as O}from"./cards-CR_9H_Xm.js";import{r as oe}from"./Combobox-BFkUVwV6.js";import{n as k}from"./useHasPermission-CRA8mdHC.js";import{t as se}from"./Tooltip-8_cSKeOk.js";import{n as A}from"./data-table-z0Fb_a7m.js";import{t as j}from"./Divider-DOHWFuFr.js";import{t as ce}from"./v4-DDdyfk2q.js";import{t as M}from"./CustomField-CO1S-4DO.js";import{t as N}from"./NumberInputField-DONpvZxK.js";import{t as le}from"./useFormatMoney-DFCLiSuN.js";import{t as P}from"./EntityStatus-D1FYRiOC.js";import{a as F,i as ue,n as I,r as de,s as L,t as R}from"./tax-rates-combo-CLisUFxM.js";import{l as fe,n as pe,t as me}from"./TagPillSelector-DwiD3DVR.js";import{t as he}from"./products-CgesPY1r.js";import{t as ge}from"./invoices-rkG_N3WF.js";import{t as _e}from"./useDisableNavigation-CfD1Hlek.js";import{t as ve}from"./DynamicLink-Bacx_kkp.js";import{t as ye}from"./useFormatCustomFieldValue-BJ0nBbyo.js";import{n as z,t as be}from"./html-string-Dldygqzb.js";function xe(e){return r({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M5 21h14c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2zM5 5h14l.001 14H5V5z`}},{tag:`path`,attr:{d:`m6.293 13.293 1.414 1.414L12 10.414l4.293 4.293 1.414-1.414L12 7.586z`}}]})(e)}function Se(e){return r({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M2.5 18.5C2.5 20.43 4.07 22 6 22s3.5-1.57 3.5-3.5c0-1.58-1.06-2.903-2.5-3.337v-3.488c.244.273.509.527.813.744 1.18.844 2.617 1.098 3.918 1.098.966 0 1.853-.14 2.506-.281a3.5 3.5 0 0 0 3.264 2.265c1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5a3.5 3.5 0 0 0-3.404 2.718c-1.297.321-3.664.616-5.119-.426-.666-.477-1.09-1.239-1.306-2.236C8.755 7.96 9.5 6.821 9.5 5.5 9.5 3.57 7.93 2 6 2S2.5 3.57 2.5 5.5c0 1.58 1.06 2.903 2.5 3.337v6.326c-1.44.434-2.5 1.757-2.5 3.337zm15-8c.827 0 1.5.673 1.5 1.5s-.673 1.5-1.5 1.5S16 12.827 16 12s.673-1.5 1.5-1.5zm-10 8c0 .827-.673 1.5-1.5 1.5s-1.5-.673-1.5-1.5S5.173 17 6 17s1.5.673 1.5 1.5zm-3-13C4.5 4.673 5.173 4 6 4s1.5.673 1.5 1.5S6.827 7 6 7s-1.5-.673-1.5-1.5z`}}]})(e)}function Ce(e){return r({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M21 4H3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zm-1 11a3 3 0 0 0-3 3H7a3 3 0 0 0-3-3V9a3 3 0 0 0 3-3h10a3 3 0 0 0 3 3v6z`}},{tag:`path`,attr:{d:`M12 8c-2.206 0-4 1.794-4 4s1.794 4 4 4 4-1.794 4-4-1.794-4-4-4zm0 6c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z`}}]})(e)}function B(e){return r({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4z`}},{tag:`path`,attr:{d:`M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z`}}]})(e)}function we(e){return r({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z`}}]})(e)}function Te(e){return r({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M10 18a7.952 7.952 0 0 0 4.897-1.688l4.396 4.396 1.414-1.414-4.396-4.396A7.952 7.952 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8 3.589 8 8 8zm0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6-6-2.691-6-6 2.691-6 6-6z`}}]})(e)}var Ee=e(ee(),1),V=e(ae());function H({label:e,value:t,onValueChange:n,errorMessage:r}){let i=c();return(0,V.jsx)(a,{label:e,value:t,onValueChange:n,errorMessage:r,customSelector:!0,withBlank:!0,children:i?.quickbooks?.settings?.income_account_map&&i.quickbooks.settings.income_account_map.map(e=>(0,V.jsx)(`option`,{value:e.id,children:e.name},e.id))})}var U=b(void 0),De=b(void 0),W=function(e){return e.Product=`1`,e.Task=`2`,e.UnpaidFee=`3`,e.PaidFee=`4`,e.LateFee=`5`,e.Expense=`6`,e}({}),G=()=>({_id:ce(),quantity:0,cost:0,product_key:``,product_cost:0,net_cost:0,notes:``,discount:0,is_amount_discount:!1,tax_name1:``,tax_rate1:0,tax_name2:``,tax_rate2:0,tax_name3:``,tax_rate3:0,sort_id:0,line_total:0,tax_amount:0,gross_line_total:0,date:``,custom_value1:``,custom_value2:``,custom_value3:``,custom_value4:``,type_id:W.Product,tax_id:`1`,income_account_id:``});function K(e){let t=k();return p([`/api/v1/purchase_orders`,`create`],()=>C(`GET`,n(`/api/v1/purchase_orders/create`)).then(e=>e.data.data),{...e,staleTime:1/0,enabled:t(`create_purchase_order`)?e?.enabled??!0:!1})}function Oe(e){return p([`/api/v1/purchase_orders`,e.id],()=>C(`GET`,n(`/api/v1/purchase_orders/:id?include=vendor`,{id:e.id})).then(e=>e.data.data),{staleTime:1/0,enabled:!!e.id})}var ke={expense:`converted_to_expense`,email:`emailed_purchase_orders`,mark_sent:`marked_purchase_orders_as_sent`,add_to_inventory:`added_purchase_orders_to_inventory`};function Ae(){let e=y(),t=m(A);return(r,i)=>{S.processing(),C(`POST`,n(`/api/v1/purchase_orders/bulk`),{action:i,ids:r}).then(()=>{let n=ke[i]||`${i}d_purchase_order`;S.success(n),f([`purchase_orders`]),i===`expense`&&f([`expenses`]),t&&e.invalidateQueries([t])})}}function je(){let e=y(),t=m(A);return r=>{S.processing(),C(`PUT`,n(`/api/v1/purchase_orders/:id?mark_sent=true`,{id:r.id}),r).then(()=>{S.success(`marked_purchase_order_as_sent`),f([`purchase_orders`]),t&&e.invalidateQueries([t])})}}var q=b(void 0);function J(){let e=v();return e?.number_precision&&e?.number_precision>0&&e?.number_precision<=100?e.number_precision:2}var Y=e=>{let{onlyAddToInvoice:t}=e||{},n=T(),r=c(),i=J(),{data:a}=ge(),o=_(U);return e=>{if(a){let s=e.map(e=>({...G(),type_id:W.Product,product_key:e.product_key,quantity:r?.fill_products?e.quantity:1,...r?.fill_products&&{line_total:Number((e.price*e.quantity).toFixed(i)),cost:e.price,notes:e.notes,tax_name1:e.tax_name1,tax_rate1:e.tax_rate1,tax_name2:e.tax_name2,tax_rate2:e.tax_rate2,tax_name3:e.tax_name3,tax_rate3:e.tax_rate3,tax_id:``,custom_value1:e.custom_value1,custom_value2:e.custom_value2,custom_value3:e.custom_value3,custom_value4:e.custom_value4}}));t?o(e=>e&&{...e,line_items:[...e.line_items,...s]}):(o({...a,line_items:s}),n(`/invoices/create?action=invoice_product`))}}},X=b(void 0),Z=()=>{let e=T(),t=c(),n=J(),{data:r}=K(),i=_(X);return a=>{if(r){let o=a.map(e=>({...G(),type_id:W.Product,product_key:e.product_key,quantity:t?.fill_products?e.quantity:1,...t?.fill_products&&{line_total:Number((e.price*e.quantity).toFixed(n)),cost:e.price,notes:e.notes,tax_name1:e.tax_name1,tax_rate1:e.tax_rate1,tax_name2:e.tax_name2,tax_rate2:e.tax_rate2,tax_name3:e.tax_name3,tax_rate3:e.tax_rate3,tax_id:``,custom_value1:e.custom_value1,custom_value2:e.custom_value2,custom_value3:e.custom_value3,custom_value4:e.custom_value4}}));i({...r,line_items:o}),e(`/purchase_orders/create?action=purchase_order_product`)}}},Q=[`product_key`,`description`,`price`,`quantity`];function Me(){let[e,t,n,r]=F({entity:`product`});return[`product_key`,`description`,`price`,`quantity`,`archived_at`,`created_at`,e,t,n,r,`documents`,`entity_state`,`is_deleted`,`notification_threshold`,`stock_quantity`,`tax_name1`,`tax_name2`,`tax_name3`,`tax_rate1`,`tax_rate2`,`tax_rate3`,`updated_at`,`tags`].map(e=>L(e))}function Ne(){let{t:e}=w();Me();let{dateFormat:t}=s(),n=le(),r=de(),i=v(),a=_e(),o=ye(),[c,u,d,f]=F({entity:`product`}),p=[{column:`product_key`,id:`product_key`,label:e(`product`),format:(e,t)=>(0,V.jsxs)(`span`,{className:`inline-flex items-center space-x-4`,children:[(0,V.jsx)(P,{entity:t}),(0,V.jsx)(ve,{to:E(`/products/:id/edit`,{id:t.id}),renderSpan:a(`product`,t),children:e})]})},{column:`description`,id:`notes`,label:e(`notes`),format:e=>(0,V.jsx)(se,{width:`auto`,tooltipElement:(0,V.jsx)(`div`,{className:`w-full max-h-48 overflow-auto whitespace-normal break-all`,children:(0,V.jsx)(`article`,{className:(0,Ee.default)(`prose prose-sm`,{"prose-invert":!i?.dark_mode}),dangerouslySetInnerHTML:{__html:z(e)}})}),children:(0,V.jsx)(`span`,{children:be(z(e)).slice(0,50)})})},{column:`price`,id:`price`,label:e(`price`),format:(e,t)=>n(e,t.company?.settings.country_id,t.company?.settings.currency_id)},{column:`quantity`,id:`quantity`,label:e(`default_quantity`),format:e=>r(e)},{column:`archived_at`,id:`archived_at`,label:e(`archived_at`),format:e=>l(e,t)},{column:`created_at`,id:`created_at`,label:e(`created_at`),format:e=>l(e,t)},{column:c,id:`custom_value1`,label:c,format:e=>o(`product1`,e?.toString())},{column:u,id:`custom_value2`,label:u,format:e=>o(`product2`,e?.toString())},{column:d,id:`custom_value3`,label:d,format:e=>o(`product3`,e?.toString())},{column:f,id:`custom_value4`,label:f,format:e=>o(`product4`,e?.toString())},{column:`documents`,id:`documents`,label:e(`documents`),format:(e,t)=>t.documents.length},{column:`entity_state`,id:`id`,label:e(`entity_state`),format:(e,t)=>(0,V.jsx)(P,{entity:t})},{column:`is_deleted`,id:`is_deleted`,label:e(`is_deleted`),format:(t,n)=>n.is_deleted?e(`yes`):e(`no`)},{column:`notification_threshold`,id:`stock_notification_threshold`,label:e(`notification_threshold`)},{column:`stock_quantity`,id:`in_stock_quantity`,label:e(`stock_quantity`)},{column:`tax_name1`,id:`tax_name1`,label:e(`tax_name1`)},{column:`tax_name2`,id:`tax_name2`,label:e(`tax_name2`)},{column:`tax_name3`,id:`tax_name3`,label:e(`tax_name3`)},{column:`tax_rate1`,id:`tax_rate1`,label:e(`tax_rate1`),format:e=>r(e)},{column:`tax_rate2`,id:`tax_rate2`,label:e(`tax_rate2`),format:e=>r(e)},{column:`tax_rate3`,id:`tax_rate3`,label:e(`tax_rate3`),format:e=>r(e)},{column:`updated_at`,id:`updated_at`,label:e(`updated_at`),format:e=>l(e,t)},{column:`tags`,id:`product_tag_ids`,label:e(`tags`),format:(e,t)=>(0,V.jsx)(pe,{tags:t.tags})}],m=i?.react_table_columns?.product||Q;return p.filter(e=>m.includes(L(e.column))).sort((e,t)=>m.indexOf(L(e.column))-m.indexOf(L(t.column)))}function Pe(e){let[n]=w(),{showEditAction:r}=e??{},a=T(),s=k(),c=_(q),l=Y(),u=Z(),{isEditPage:p}=ue({entity:`product`,editPageTabs:[`documents`,`product_fields`]}),m=e=>{c({...e,id:``,documents:[]}),a(`/products/create?action=clone`)},h=(e,t)=>{S.processing(),he([t],e).then(()=>{S.success(`${e}d_product`),f([`products`])})};return[e=>r&&(0,V.jsx)(D,{onClick:()=>a(E(`/products/:id/edit`,{id:e.id})),icon:(0,V.jsx)(g,{element:ne}),children:n(`edit`)}),()=>r&&(0,V.jsx)(j,{withoutPadding:!0}),e=>!e.is_deleted&&s(`create_invoice`)&&(0,V.jsx)(D,{onClick:()=>l([e]),icon:(0,V.jsx)(g,{element:B}),children:n(`new_invoice`)}),e=>!e.is_deleted&&s(`create_purchase_order`)&&(0,V.jsx)(D,{onClick:()=>u([e]),icon:(0,V.jsx)(g,{element:B}),children:n(`new_purchase_order`)}),e=>!e.is_deleted&&s(`create_product`)&&(0,V.jsx)(D,{onClick:()=>m(e),icon:(0,V.jsx)(g,{element:i}),children:n(`clone`)}),()=>p&&(0,V.jsx)(j,{withoutPadding:!0}),e=>o(e)===x.Active&&p&&(0,V.jsx)(D,{onClick:()=>h(`archive`,e.id),icon:(0,V.jsx)(g,{element:ie}),children:n(`archive`)}),e=>(o(e)===x.Archived||o(e)===x.Deleted)&&p&&(0,V.jsx)(D,{onClick:()=>h(`restore`,e.id),icon:(0,V.jsx)(g,{element:t}),children:n(`restore`)}),e=>(o(e)===x.Active||o(e)===x.Archived)&&p&&(0,V.jsx)(D,{onClick:()=>h(`delete`,e.id),icon:(0,V.jsx)(g,{element:d}),children:n(`delete`)})]}function Fe(e){let{setErrors:t,setProduct:n}=e;return(e,r)=>{t(void 0),n(t=>t&&{...t,[e]:r})}}function $(){let[e]=w();return[{id:`1`,value:`1`,label:e(`physical_goods`),resource:null,eventType:`external`,searchable:e(`physical_goods`)},{id:`2`,value:`2`,label:e(`services`),resource:null,eventType:`external`,searchable:e(`services`)},{id:`3`,value:`3`,label:e(`digital_products`),resource:null,eventType:`external`,searchable:e(`digital_products`)},{id:`4`,value:`4`,label:e(`shipping`),resource:null,eventType:`external`,searchable:e(`shipping`)},{id:`5`,value:`5`,label:e(`tax_exempt`),resource:null,eventType:`external`,searchable:e(`tax_exempt`)},{id:`6`,value:`6`,label:e(`reduced_tax`),resource:null,eventType:`external`,searchable:e(`reduced_tax`)},{id:`7`,value:`7`,label:e(`override_tax`),resource:null,eventType:`external`,searchable:e(`override_tax`)},{id:`8`,value:`8`,label:e(`zero_rated`),resource:null,eventType:`external`,searchable:e(`zero_rated`)},{id:`9`,value:`9`,label:e(`reverse_tax`),resource:null,eventType:`external`,searchable:e(`reverse_tax`)}]}function Ie({value:e,label:t,onChange:n}){let r=$();return(0,V.jsx)(oe,{inputOptions:{value:e,label:t},entries:r,entryOptions:{id:`id`,value:`id`,label:`label`},onChange:n,onEmptyValues:()=>null})}function Le(e){let[t]=w(),[,n]=h(),r=c(),i=$(),{errors:o,handleChange:s,type:l,product:d}=e;return(0,V.jsxs)(V.Fragment,{children:[l===`edit`&&(0,V.jsx)(O,{leftSide:t(`status`),children:(0,V.jsx)(P,{entity:d})}),(0,V.jsx)(O,{leftSide:t(`item`),required:!0,children:(0,V.jsx)(u,{required:!0,value:d.product_key,onValueChange:e=>s(`product_key`,e),errorMessage:o?.errors.product_key})}),(0,V.jsx)(O,{leftSide:t(`description`),children:(0,V.jsx)(u,{element:`textarea`,value:d.notes,onValueChange:e=>s(`notes`,e),errorMessage:o?.errors.notes})}),(0,V.jsx)(O,{leftSide:t(`tags`),children:(0,V.jsx)(me,{entityType:fe.product,value:d.tags||[],onChange:e=>s(`tags`,e),errorMessage:o?.errors.tags})}),(0,V.jsx)(O,{leftSide:t(`price`),children:(0,V.jsx)(N,{value:d.price||``,onValueChange:e=>s(`price`,parseFloat(e)),errorMessage:o?.errors.price})}),r?.enable_product_cost&&(0,V.jsx)(O,{leftSide:t(`cost`),children:(0,V.jsx)(N,{value:d.cost||``,onValueChange:e=>s(`cost`,parseFloat(e)),errorMessage:o?.errors.cost})}),r?.enable_product_quantity&&(0,V.jsx)(O,{leftSide:t(`default_quantity`),children:(0,V.jsx)(N,{value:d.quantity||``,onValueChange:e=>s(`quantity`,parseFloat(e)),errorMessage:o?.errors.quantity})}),(0,V.jsx)(O,{leftSide:t(`max_quantity`),children:(0,V.jsx)(N,{value:d.max_quantity||``,onValueChange:e=>s(`max_quantity`,parseFloat(e)),errorMessage:o?.errors.max_quantity})}),r?.quickbooks&&(0,V.jsx)(O,{leftSide:t(`income_account`),children:(0,V.jsx)(H,{value:d.income_account_id||``,onValueChange:e=>s(`income_account_id`,e),errorMessage:o?.errors.income_account_id})}),(0,V.jsxs)(O,{leftSide:t(`tax_category`),children:[(0,V.jsx)(a,{value:d.tax_id,onValueChange:e=>s(`tax_id`,e),customSelector:!0,dismissable:!1,children:i.map((e,t)=>(0,V.jsx)(`option`,{value:e.value,children:e.label},t))}),(0,V.jsx)(te,{className:`mt-2`,children:o?.errors.tax_id})]}),(0,V.jsx)(O,{leftSide:t(`image_url`),children:(0,V.jsx)(u,{value:d.product_image,onValueChange:e=>s(`product_image`,e),errorMessage:o?.errors.product_image})}),r?.track_inventory&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(O,{leftSide:t(`stock_quantity`),children:(0,V.jsx)(N,{value:d.in_stock_quantity||``,onValueChange:e=>{s(`in_stock_quantity`,Number(e)),l===`edit`&&n(e=>({...e,update_in_stock_quantity:`true`}))},errorMessage:o?.errors.in_stock_quantity})}),(0,V.jsx)(O,{leftSide:t(`stock_notifications`),children:(0,V.jsx)(re,{checked:d.stock_notification,onValueChange:e=>s(`stock_notification`,e)})}),(0,V.jsx)(O,{leftSide:t(`notification_threshold`),children:(0,V.jsx)(N,{value:d.stock_notification_threshold||``,onValueChange:e=>s(`stock_notification_threshold`,parseFloat(e)),errorMessage:o?.errors.stock_notification_threshold})})]}),r&&r.enabled_item_tax_rates>0&&(0,V.jsx)(O,{leftSide:t(`tax`),children:(0,V.jsx)(I,{onChange:e=>{s(`tax_rate1`,e.resource?.rate),s(`tax_name1`,e.resource?.name)},defaultValue:R(d,`tax_name1`),onClearButtonClick:()=>{s(`tax_rate1`,0),s(`tax_name1`,``)},onTaxCreated:e=>{s(`tax_rate1`,e.rate),s(`tax_name1`,e.name)}})}),r&&r.enabled_item_tax_rates>1&&(0,V.jsx)(O,{leftSide:t(`tax`),children:(0,V.jsx)(I,{onChange:e=>{s(`tax_rate2`,e.resource?.rate),s(`tax_name2`,e.resource?.name)},defaultValue:R(d,`tax_name2`),onClearButtonClick:()=>{s(`tax_rate2`,0),s(`tax_name2`,``)},onTaxCreated:e=>{s(`tax_rate2`,e.rate),s(`tax_name2`,e.name)}})}),r&&r.enabled_item_tax_rates>2&&(0,V.jsx)(O,{leftSide:t(`tax`),children:(0,V.jsx)(I,{onChange:e=>{s(`tax_rate3`,e.resource?.rate),s(`tax_name3`,e.resource?.name)},defaultValue:R(d,`tax_name3`),onClearButtonClick:()=>{s(`tax_rate3`,0),s(`tax_name3`,``)},onTaxCreated:e=>{s(`tax_rate3`,e.rate),s(`tax_name3`,e.name)}})}),r?.custom_fields?.product1&&(0,V.jsx)(M,{field:`custom_value1`,defaultValue:d.custom_value1,value:r.custom_fields.product1,onValueChange:e=>s(`custom_value1`,e)}),r?.custom_fields?.product2&&(0,V.jsx)(M,{field:`custom_value2`,defaultValue:d.custom_value2,value:r.custom_fields.product2,onValueChange:e=>s(`custom_value2`,e)}),r?.custom_fields?.product3&&(0,V.jsx)(M,{field:`custom_value3`,defaultValue:d.custom_value3,value:r.custom_fields.product3,onValueChange:e=>s(`custom_value3`,e)}),r?.custom_fields?.product4&&(0,V.jsx)(M,{field:`custom_value4`,defaultValue:d.custom_value4,value:r.custom_fields.product4,onValueChange:e=>s(`custom_value4`,e)})]})}export{xe as C,B as D,we as E,Te as O,H as S,Ce as T,Oe as _,Pe as a,U as b,Ne as c,Y as d,J as f,je as g,Ae as h,Q as i,Z as l,K as m,Ie as n,Me as o,q as p,$ as r,Fe as s,Le as t,X as u,G as v,Se as w,De as x,W as y};