@accounter/client 0.0.11-alpha-20260126102906-e2f97aac11150a8d1bac3d3fba7a2805e5a71368 → 0.0.11-alpha-20260126121840-9987d09cc7cb596314ad01124c1061feba2117b0
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/CHANGELOG.md +1 -1
- package/dist/assets/{Checkbox-Dmuz3t7B.js → Checkbox-D5PsdcQv.js} +1 -1
- package/dist/assets/{MultiSelect-DBeIExB5.js → MultiSelect-C5wjF9jC.js} +1 -1
- package/dist/assets/{Progress---sZILQb.js → Progress-CUpt9lUI.js} +1 -1
- package/dist/assets/{Table-BQv3frL8.js → Table-pGQWLQ8H.js} +1 -1
- package/dist/assets/{Typography-B8Kph7eR.js → Typography-B3aRT5ej.js} +1 -1
- package/dist/assets/{accordion-Bn08_4fN.js → accordion-Bd6kAhfN.js} +1 -1
- package/dist/assets/{accountant-approvals-DuNl7y6H.js → accountant-approvals-BJGkKn8O.js} +1 -1
- package/dist/assets/{accounter-table-DTsgtq5M.js → accounter-table-CioecC_Y.js} +1 -1
- package/dist/assets/{addDays-DTiBTTns.js → addDays-DhQZBfTq.js} +1 -1
- package/dist/assets/{all-charges-DPyM-a74.js → all-charges-UjLePnh5.js} +1 -1
- package/dist/assets/{arrow-up-down-VY6mkkTR.js → arrow-up-down-YhPbp1Ud.js} +1 -1
- package/dist/assets/{building-2-CMKd_bU8.js → building-2-Df516nsd.js} +1 -1
- package/dist/assets/{business-BVMKhHFx.js → business-CryBsRqy.js} +1 -1
- package/dist/assets/{business-extended-info-B94y5ZK6.js → business-extended-info-zz1obrFs.js} +1 -1
- package/dist/assets/{business-header-BC86M-9m.js → business-header-DL-hzsQ4.js} +1 -1
- package/dist/assets/{business-ledger-filters-es3H4rPK.js → business-ledger-filters-Dh6IJIbe.js} +1 -1
- package/dist/assets/{business-ledger-single-U3zkqgW2.js → business-ledger-single-ebXw596v.js} +1 -1
- package/dist/assets/{business-trip-BUKYnQkG.js → business-trip-Bn5hm1D5.js} +1 -1
- package/dist/assets/charge-DhvD1RST.js +1 -0
- package/dist/assets/{charges-filters-CFCAP-bP.js → charges-filters-BLSfy08K.js} +1 -1
- package/dist/assets/{charges-ledger-validation-CCTNRpCE.js → charges-ledger-validation-BOn22w9P.js} +1 -1
- package/dist/assets/charges-table-Bjk5Mz--.js +7 -0
- package/dist/assets/{contracts-ljjcB_x7.js → contracts-iKKpsNnL.js} +1 -1
- package/dist/assets/{data-table-column-header-CZ1dXiU0.js → data-table-column-header--gzXkv5r.js} +1 -1
- package/dist/assets/{data-table-pagination-XAlQIbO9.js → data-table-pagination-CLXUcmJJ.js} +1 -1
- package/dist/assets/{deposits-transactions-table-2rtRFZgK.js → deposits-transactions-table-CV-YceTW.js} +1 -1
- package/dist/assets/{download-csv-button-CMQBUQeX.js → download-csv-button-DVLHjMAB.js} +1 -1
- package/dist/assets/{download-csv-BSGaUZsM.js → download-csv-weF1Lwst.js} +1 -1
- package/dist/assets/{editable-business-trip-CED1Su3d.js → editable-business-trip-DRSlJ54m.js} +1 -1
- package/dist/assets/{eye-off-Buv7eciz.js → eye-off-DWYC0Eax.js} +1 -1
- package/dist/assets/{funnel-Cfb9Pxmr.js → funnel-0IvwyZBf.js} +1 -1
- package/dist/assets/{index-CPMJQkvw.js → index-1oajNqKA.js} +1 -1
- package/dist/assets/{index-CcZll7L2.js → index-AI_GyykK.js} +1 -1
- package/dist/assets/{index-B4OP8iL7.js → index-B6VKQBtu.js} +1 -1
- package/dist/assets/{index-DIrLsKod.js → index-BA-I_zCt.js} +1 -1
- package/dist/assets/{index-DRBzHdu9.js → index-BESPuoZl.js} +1 -1
- package/dist/assets/{index-8fdLByFg.js → index-BFEE5U-A.js} +1 -1
- package/dist/assets/{index-DGAT1KYx.js → index-BINmUTjA.js} +1 -1
- package/dist/assets/{index-DokXNUuN.js → index-BoVSybOL.js} +1 -1
- package/dist/assets/{index-C7p19nIa.js → index-BrgWieYs.js} +1 -1
- package/dist/assets/{index-CSdQtH7c.js → index-Bw_9Tifu.js} +1 -1
- package/dist/assets/{index-BN-I0GSO.js → index-CAAL0SGN.js} +1 -1
- package/dist/assets/{index-Dq33WQoi.js → index-CGpiJ6wl.js} +1 -1
- package/dist/assets/{index-X9rrwleE.js → index-CHzieg87.js} +1 -1
- package/dist/assets/{index-B0hZ0TDG.js → index-CVefTdZ8.js} +1 -1
- package/dist/assets/{index-DOy0Yf1i.js → index-CYLoUT7S.js} +1 -1
- package/dist/assets/{index-Dal_ULkA.js → index-CgvjLFyG.js} +1 -1
- package/dist/assets/{index-DzzUoyj4.js → index-CkPv0ZF8.js} +1 -1
- package/dist/assets/{index-X3RoQQa9.js → index-Cm0VDoDd.js} +1 -1
- package/dist/assets/{index-rI994S3C.js → index-D1_HHRLX.js} +4 -4
- package/dist/assets/{index-BhFsGqUx.js → index-DSAS0BpU.js} +1 -1
- package/dist/assets/{index-7gCTV42h.js → index-DZFQ92ui.js} +1 -1
- package/dist/assets/{index-3ev2Q3E9.js → index-D_XfDEW8.js} +1 -1
- package/dist/assets/{index-Bui9zV-z.js → index-DaDghnaZ.js} +1 -1
- package/dist/assets/{index-DJY6AKiM.js → index-MPZl3TTq.js} +1 -1
- package/dist/assets/{index-GlUqZUgQ.js → index-ajJcMQms.js} +1 -1
- package/dist/assets/{index-CjG9JDZB.js → index-v8SIf-h9.js} +1 -1
- package/dist/assets/{index.es-C2YDJ0AL.js → index.es-Dkm1W8bL.js} +1 -1
- package/dist/assets/issue-document-yi3XXbpe.js +1 -0
- package/dist/assets/{login-page-BimTSmTC.js → login-page-B5bqhOTx.js} +1 -1
- package/dist/assets/{missing-info-charges-CVhY60ZL.js → missing-info-charges-DiIM7lBQ.js} +1 -1
- package/dist/assets/{modal-BXR_xgUm.js → modal-CNW2FGYc.js} +1 -1
- package/dist/assets/{modify-contract-dialog-flMl2p_T.js → modify-contract-dialog-BBPR_IL8.js} +1 -1
- package/dist/assets/{page-layout-DMGj5xhW.js → page-layout-BOjYoqoi.js} +1 -1
- package/dist/assets/{page-not-found-B_GB5ntj.js → page-not-found-UQZi0ekr.js} +1 -1
- package/dist/assets/{panel-top-open-Bf39HBrp.js → panel-top-open-Bxnxp1BU.js} +1 -1
- package/dist/assets/{report-commentary-row-BMyeQR9J.js → report-commentary-row-BtmSnv64.js} +1 -1
- package/dist/assets/{save-jkuyCWyY.js → save-BHNOV5fu.js} +1 -1
- package/dist/assets/{similar-transactions-modal-DX3CPrMo.js → similar-transactions-modal-BTidmv0G.js} +1 -1
- package/dist/assets/{sub-CEXBz_OW.js → sub-6-HnNA3H.js} +1 -1
- package/dist/assets/subMonths-nC9-M0qS.js +1 -0
- package/dist/assets/{summary-CPKS_69D.js → summary-C5TvRXn1.js} +1 -1
- package/dist/assets/{toggle-expansion-button-Y2eS7nqg.js → toggle-expansion-button-Dg_XsE6y.js} +1 -1
- package/dist/assets/{update-accountant-status-zL6vnwU9.js → update-accountant-status-CU6mIJqS.js} +1 -1
- package/dist/assets/{use-issue-monthly-documents-D9vQpbaZ.js → use-issue-monthly-documents-CdxtNiuP.js} +1 -1
- package/dist/assets/{use-url-query-CqWra6gD.js → use-url-query-RoURh24O.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/components/common/merge-charges/index.tsx +1 -1
- package/src/components/common/modals/preview-document-modal.tsx +5 -2
- package/src/gql/graphql.ts +1 -1
- package/dist/assets/charge-DuqIMfNm.js +0 -1
- package/dist/assets/charges-table-BJtpvXfL.js +0 -7
- package/dist/assets/issue-document-zNxGzRkY.js +0 -1
- package/dist/assets/subMonths-DY4HlBVa.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{v as En,gH as oe,g1 as A,f$ as ve,gI as Ve,gJ as In,j as c,T as Se,ah as wt,B as q,m as I,R as St,bX as _n,aX as Yn,fz as Fn,u as Ot,gK as Pn,E as Ct,r as O,dr as Nt,d as Bn,V as jt,eL as An,Y as le,Z as ce,_ as de,ao as Rn,$ as ye,ap as zn,aq as qn,ar as Hn,as as $n,a1 as fe,ai as Un,bF as Wt,w as Z,at as Gn,a9 as Kn,g as Vn,gL as Zn,t as Pe,i as Xn,L as Qn,b5 as ct,bE as dt,cq as Jn,bG as Ln,gM as es,I as Tt,gN as pe,gO as ts,gP as ns,g0 as Et,gQ as ss,gR as It,gS as _t,gT as rs,gU as os,gV as as,gW as is,aF as m,gX as ls,gh as cs,b$ as ie,gY as ut,gZ as ds,g_ as us,aO as fs,g$ as hs,dP as ms,f0 as gs,f2 as ys,h0 as ps,D as bs,aL as vs,cp as xs,x as Ds,al as ks,am as Ms,d7 as ws,bD as Ss,d2 as Os,q as Cs,e as Ns,dI as ue,h1 as js,a6 as Ws,fK as Ts,bY as Es,c4 as Is,c5 as _s,c6 as Ys,bO as Fs,bP as Ps,bQ as Be,bR as Bs,c2 as ft,bS as As,bT as ht,P as Rs}from"./index-rI994S3C.js";import{u as Xe,g as zs,a as qs,S as Hs}from"./similar-transactions-modal-DX3CPrMo.js";import{a as Yt}from"./addDays-DTiBTTns.js";const $s=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Us=En("external-link",$s);function Gs(e,t,s){return Yt(e,t*7,s)}function Ks(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const l=A(r,n);(!s||s<l||isNaN(+l))&&(s=l)}),oe(n,s||NaN)}function Vs(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const l=A(r,n);(!s||s>l||isNaN(+l))&&(s=l)}),oe(n,s||NaN)}function Zs(e,t,s){const[n,r]=ve(s?.in,e,t);return+Ve(n)==+Ve(r)}function Ft(e,t,s){const[n,r]=ve(s?.in,e,t),l=n.getFullYear()-r.getFullYear(),a=n.getMonth()-r.getMonth();return l*12+a}function Xs(e,t){const s=A(e,t?.in),n=s.getMonth();return s.setFullYear(s.getFullYear(),n+1,0),s.setHours(23,59,59,999),s}function Pt(e,t){const[s,n]=ve(e,t.start,t.end);return{start:s,end:n}}function Qs(e,t){const{start:s,end:n}=Pt(t?.in,e);let r=+s>+n;const l=r?+s:+n,a=r?n:s;a.setHours(0,0,0,0),a.setDate(1);let o=1;const i=[];for(;+a<=l;)i.push(oe(s,a)),a.setMonth(a.getMonth()+o);return r?i.reverse():i}function Js(e,t){const s=A(e,t?.in);return s.setDate(1),s.setHours(0,0,0,0),s}function Ls(e,t){const{start:s,end:n}=Pt(t?.in,e);let r=+s>+n;const l=r?+s:+n,a=r?n:s;a.setHours(0,0,0,0),a.setMonth(0,1);let o=1;const i=[];for(;+a<=l;)i.push(oe(s,a)),a.setFullYear(a.getFullYear()+o);return r?i.reverse():i}function Bt(e,t){const s=In(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,r=A(e,t?.in),l=r.getDay(),a=(l<n?-7:0)+6-(l-n);return r.setDate(r.getDate()+a),r.setHours(23,59,59,999),r}function er(e,t){return Bt(e,{...t,weekStartsOn:1})}function tr(e,t){const s=A(e,t?.in),n=s.getFullYear(),r=s.getMonth(),l=oe(s,0);return l.setFullYear(n,r+1,0),l.setHours(0,0,0,0),l.getDate()}function nr(e,t){return A(e,t?.in).getMonth()}function sr(e,t){return A(e,t?.in).getFullYear()}function rr(e,t){return+A(e)>+A(t)}function or(e,t){return+A(e)<+A(t)}function ar(e,t,s){const[n,r]=ve(s?.in,e,t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()}function ir(e,t,s){const[n,r]=ve(s?.in,e,t);return n.getFullYear()===r.getFullYear()}function lr(e,t,s){const n=A(e,s?.in),r=n.getFullYear(),l=n.getDate(),a=oe(e,0);a.setFullYear(r,t,15),a.setHours(0,0,0,0);const o=tr(a);return n.setMonth(t,Math.min(l,o)),n}function cr(e,t,s){const n=A(e,s?.in);return isNaN(+n)?oe(e,NaN):(n.setFullYear(t),n)}function dr(e){return c.jsx(Se,{content:"To Charge",children:c.jsx(wt,{to:St.CHARGES.DETAIL(e.chargeId),target:"_blank",rel:"noreferrer",onClick:t=>t.stopPropagation(),className:"inline-block",children:c.jsx(q,{...e,className:I("size-7.5",e.className),variant:"ghost",children:c.jsx(Us,{className:"size-5"})})})})}function ur({transactionId:e}){const{updateTransaction:t}=Xe();function s(){t({transactionId:e,fields:{chargeId:Fn}})}return c.jsx(_n,{onConfirm:s,title:"Are you sure you want to unlink this transaction from the charge?",children:c.jsx(q,{variant:"ghost",size:"icon",className:"size-7.5",children:c.jsx(Yn,{className:"size-5"})})})}const fr=({transactionID:e,onDone:t,onChange:s})=>{const[{data:n,fetching:r}]=Ot({query:Pn,variables:{transactionIDs:[e]}}),l=n?.transactionsByIDs?.[0],a=Ct({defaultValues:l??{}});O.useEffect(()=>{l&&a.reset(l)},[l,a]);const{control:o,handleSubmit:i,formState:{dirtyFields:d}}=a,{updateTransaction:f,fetching:u}=Xe(),h=v=>{if(!l)return;const p=Kn(v,d);t?.(),p&&Object.keys(p).length>0&&f({transactionId:l.id,fields:p}).then(s)},{selectableFinancialEntities:y,fetching:S}=Nt();return c.jsxs(c.Fragment,{children:[r&&c.jsx(Bn,{className:"flex self-center my-5",color:"dark",size:"xl",variant:"dots"}),!r&&l&&c.jsx(jt,{...a,children:c.jsxs("form",{onSubmit:i(h),children:[c.jsx("div",{className:"flex-row px-10 h-max justify-start block",children:c.jsxs(An,{cols:3,children:[c.jsx(le,{name:"counterpartyId",control:o,defaultValue:l.counterparty?.id,rules:{minLength:{value:2,message:"Minimum 2 characters"}},render:({field:v})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Counterparty"}),c.jsxs(Rn,{onValueChange:v.onChange,value:v.value??void 0,disabled:S,children:[c.jsx(ye,{children:c.jsx(zn,{className:"w-full truncate",children:c.jsx(qn,{placeholder:"Scroll to see all options"})})}),c.jsx(Hn,{onClick:p=>p.stopPropagation(),children:y.map(({value:p,label:k})=>c.jsx($n,{value:p,children:k},p))})]}),c.jsx(fe,{})]})}),l?.account.type===Un.CreditCard?c.jsx(le,{name:"effectiveDate",control:o,rules:{pattern:{value:Wt,message:"Date must be im format yyyy-mm-dd"}},render:({field:v})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Effective Date"}),c.jsx(ye,{children:c.jsx(Qo,{...v,onChange:p=>{const k=p?Z(p,"yyyy-MM-dd"):void 0;k!==v.value&&v.onChange(k)},value:v.value?new Date(v.value):void 0})}),c.jsx(fe,{})]})}):c.jsx(c.Fragment,{}),c.jsx(le,{name:"isFee",control:o,defaultValue:l.isFee,render:({field:v})=>c.jsxs(ce,{className:"flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm",children:[c.jsx("div",{className:"space-y-0.5",children:c.jsx(de,{children:"Fee Transaction"})}),c.jsx(ye,{children:c.jsx(Gn,{checked:v.value===!0,onCheckedChange:v.onChange})})]})})]})}),c.jsxs("div",{className:"mt-10 mb-5 flex justify-center gap-5",children:[c.jsx("button",{type:"submit",onClick:()=>i(h),className:"mt-8 text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg",disabled:u||Object.keys(d).length===0,children:"Accept"}),c.jsx("button",{type:"button",className:"mt-8 text-white bg-rose-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-rose-600 rounded-sm text-lg",onClick:t,children:"Cancel"})]})]})})]})},hr="insertMiscExpense",mr=()=>{const[{fetching:e},t]=Vn(Zn),s=O.useCallback(async n=>{const r="Error creating misc expense",l=`${hr}-${n.chargeId}`;Pe.loading("Creating misc expense",{id:l});try{const a=await t(n),o=Xn(a,r,l);if(o)return Pe.success("Success",{id:l,description:"Misc expense was created"}),o.insertMiscExpense}catch(a){console.error(`${r}: ${a}`),Pe.error("Error",{id:l,description:r,duration:1e5,closeButton:!0})}},[t]);return{fetching:e,insertMiscExpense:s}},gr=({onDone:e,defaultValues:t={},chargeId:s})=>{const{insertMiscExpense:n,fetching:r}=mr(),l=O.useCallback(async a=>{await n({chargeId:s,fields:a}),e()},[n,s,e]);return c.jsx(yr,{defaultValues:t,onInsertDone:l,fetching:r})},yr=({onInsertDone:e,defaultValues:t,fetching:s})=>{const n=o=>{o&&Object.keys(o).length>0&&e(o)},r=Ct({defaultValues:{...t}}),{handleSubmit:l,formState:{dirtyFields:a}}=r;return c.jsx(jt,{...r,children:c.jsx("form",{onSubmit:l(n),noValidate:!0,children:c.jsxs("div",{className:"px-5 flex flex-col gap-5 relative",children:[s&&c.jsx("div",{className:"absolute bg-white/60 z-10 h-full w-full flex items-center justify-center",children:c.jsx("div",{className:"flex items-center",children:c.jsx("span",{className:"text-3xl mr-4",children:c.jsx(Qn,{className:"h-10 w-10 animate-spin mr-2 self-center"})})})}),c.jsx(pr,{formManager:r,isInsert:!0}),c.jsx("div",{className:"flex justify-right gap-5 mt-5",children:c.jsx("button",{type:"submit",className:"text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg",disabled:s||Object.keys(a).length===0,children:"Accept"})})]})})})},pr=({formManager:e,isInsert:t})=>{const{control:s,setValue:n}=e,{selectableFinancialEntities:r,fetching:l}=Nt();return c.jsxs(c.Fragment,{children:[c.jsx(le,{name:"creditorId",control:s,rules:{required:t?"Required":void 0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Creditor"}),c.jsx(ct,{...a,data:r,value:a.value??void 0,disabled:l,placeholder:"Select creditor",formPart:!0}),c.jsx(fe,{})]})}),c.jsx(le,{name:"debtorId",control:s,rules:{required:t?"Required":void 0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Debtor"}),c.jsx(ct,{...a,data:r,value:a.value??void 0,disabled:l,placeholder:"Select debtor",formPart:!0}),c.jsx(fe,{})]})}),c.jsx(dt,{name:"amount",control:s,rules:{required:t?"Required":void 0},render:({field:a,fieldState:o})=>c.jsx(dt,{name:"currency",control:s,rules:{required:t?"Required":void 0},render:({field:i,fieldState:d})=>c.jsx(Jn,{...a,required:t,value:a.value??void 0,error:o.error?.message||d.error?.message,label:"Amount",currencyCodeProps:{...i,required:t,label:"Currency"}})})}),c.jsx(le,{name:"invoiceDate",control:s,rules:{...t?{required:"Required"}:{},pattern:{value:Wt,message:"Date must be im format yyyy-mm-dd"}},render:({field:a})=>{const o=a.value?new Date(a.value):void 0;return c.jsxs(ce,{children:[c.jsx(de,{children:"Invoice Date"}),c.jsx(ye,{children:c.jsx(Ln,{...a,required:t,onChange:i=>{const d=i?typeof i=="string"?i:Z(i,"yyyy-MM-dd"):void 0;d!==a.value&&(n("invoiceDate",d),a.onChange(d))},value:o,valueFormat:"DD/MM/YYYY"})}),c.jsx(fe,{})]})}}),c.jsx(le,{name:"valueDate",control:s,rules:{...t?{required:"Required"}:{},validate:a=>a?!Number.isNaN(a.getTime())||"Invalid date and time format":!0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Value Date"}),c.jsx(ye,{children:c.jsx(es,{...a,onChange:o=>{n("valueDate",o),a.onChange(o)},onPointerEnterCapture:()=>{},onPointerLeaveCapture:()=>{},required:t,placeholder:"Pick date and time",valueFormat:"DD/MM/YYYY HH:mm:ss",withSeconds:!0})}),c.jsx(fe,{})]})}),c.jsx(le,{name:"description",control:s,rules:{required:t?"Required":void 0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Description"}),c.jsx(ye,{children:c.jsx(Tt,{...a,required:t,value:a.value??void 0})}),c.jsx(fe,{})]})})]})};function br(e,t,s="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:s}).format(t).split(/\s/g).slice(2).join(" ")}const vr={},be={};function he(e,t){try{const n=(vr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return n in be?be[n]:mt(n,n.split(":"))}catch{if(e in be)return be[e];const s=e?.match(xr);return s?mt(e,s.slice(1)):NaN}}const xr=/([+-]\d\d):?(\d\d)?/;function mt(e,t){const s=+(t[0]||0),n=+(t[1]||0),r=+(t[2]||0)/60;return be[e]=s*60+n>0?s*60+n+r:s*60-n-r}class L extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(he(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),At(this),Ze(this)):this.setTime(Date.now())}static tz(t,...s){return s.length?new L(...s,t):new L(Date.now(),t)}withTimeZone(t){return new L(+this,t)}getTimezoneOffset(){const t=-he(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Ze(this),+this}[Symbol.for("constructDateFrom")](t){return new L(+new Date(t),this.timeZone)}}const gt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!gt.test(e))return;const t=e.replace(gt,"$1UTC");L.prototype[t]&&(e.startsWith("get")?L.prototype[e]=function(){return this.internal[t]()}:(L.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Dr(this),+this},L.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Ze(this),+this}))});function Ze(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-he(e.timeZone,e)*60))}function Dr(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),At(e)}function At(e){const t=he(e.timeZone,e),s=t>0?Math.floor(t):Math.ceil(t),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),l=-new Date(+n).getTimezoneOffset(),a=r-l,o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);const i=r-s;i&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+i);const d=new Date(+e);d.setUTCSeconds(0);const f=r>0?d.getSeconds():(d.getSeconds()-60)%60,u=Math.round(-(he(e.timeZone,e)*60))%60;(u||f)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+f));const h=he(e.timeZone,e),y=h>0?Math.floor(h):Math.ceil(h),v=-new Date(+e).getTimezoneOffset()-y,p=y!==s,k=v-i;if(p&&k){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+k);const W=he(e.timeZone,e),w=W>0?Math.floor(W):Math.ceil(W),M=y-w;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class B extends L{static tz(t,...s){return s.length?new B(...s,t):new B(Date.now(),t)}toISOString(){const[t,s,n]=this.tzComponents(),r=`${t}${s}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,s,n,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${n} ${s} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[s,n,r]=this.tzComponents();return`${t} GMT${s}${n}${r} (${br(this.timeZone,this)})`}toLocaleString(t,s){return Date.prototype.toLocaleString.call(this,t,{...s,timeZone:s?.timeZone||this.timeZone})}toLocaleDateString(t,s){return Date.prototype.toLocaleDateString.call(this,t,{...s,timeZone:s?.timeZone||this.timeZone})}toLocaleTimeString(t,s){return Date.prototype.toLocaleTimeString.call(this,t,{...s,timeZone:s?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),s=t>0?"-":"+",n=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[s,n,r]}withTimeZone(t){return new B(+this,t)}[Symbol.for("constructDateFrom")](t){return new B(+new Date(t),this.timeZone)}}const yt=5,kr=4;function Mr(e,t){const s=t.startOfMonth(e),n=s.getDay()>0?s.getDay():7,r=t.addDays(e,-n+1),l=t.addDays(r,yt*7-1);return t.getMonth(e)===t.getMonth(l)?yt:kr}function Rt(e,t){const s=t.startOfMonth(e),n=s.getDay();return n===1?s:n===0?t.addDays(s,-6):t.addDays(s,-1*(n-1))}function wr(e,t){const s=Rt(e,t),n=Mr(e,t);return t.addDays(s,n*7-1)}const zt={...pe,labels:{labelDayButton:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Z(a,o,{locale:pe,...s});let l=r(e,"PPPP");return t.today&&(l=`Today, ${l}`),t.selected&&(l=`${l}, selected`),l},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,s)=>{let n;return s&&typeof s.format=="function"?n=s.format.bind(s):n=(r,l)=>Z(r,l,{locale:pe,...t}),n(e,"LLLL yyyy")},labelGridcell:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Z(a,o,{locale:pe,...s});let l=r(e,"PPPP");return t?.today&&(l=`Today, ${l}`),l},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,s)=>{let n;return s&&typeof s.format=="function"?n=s.format.bind(s):n=(r,l)=>Z(r,l,{locale:pe,...t}),n(e,"cccc")}}};class H{constructor(t,s){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?B.tz(this.options.timeZone):new this.Date,this.newDate=(n,r,l)=>this.overrides?.newDate?this.overrides.newDate(n,r,l):this.options.timeZone?new B(n,r,l,this.options.timeZone):new Date(n,r,l),this.addDays=(n,r)=>this.overrides?.addDays?this.overrides.addDays(n,r):Yt(n,r),this.addMonths=(n,r)=>this.overrides?.addMonths?this.overrides.addMonths(n,r):ts(n,r),this.addWeeks=(n,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(n,r):Gs(n,r),this.addYears=(n,r)=>this.overrides?.addYears?this.overrides.addYears(n,r):ns(n,r),this.differenceInCalendarDays=(n,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(n,r):Et(n,r),this.differenceInCalendarMonths=(n,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(n,r):Ft(n,r),this.eachMonthOfInterval=n=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(n):Qs(n),this.eachYearOfInterval=n=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(n):Ls(n),l=new Set(r.map(o=>this.getYear(o)));if(l.size===r.length)return r;const a=[];return l.forEach(o=>{a.push(new Date(o,0,1))}),a},this.endOfBroadcastWeek=n=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(n):wr(n,this),this.endOfISOWeek=n=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(n):er(n),this.endOfMonth=n=>this.overrides?.endOfMonth?this.overrides.endOfMonth(n):Xs(n),this.endOfWeek=(n,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(n,r):Bt(n,this.options),this.endOfYear=n=>this.overrides?.endOfYear?this.overrides.endOfYear(n):ss(n),this.format=(n,r,l)=>{const a=this.overrides?.format?this.overrides.format(n,r,this.options):Z(n,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(a):a},this.getISOWeek=n=>this.overrides?.getISOWeek?this.overrides.getISOWeek(n):It(n),this.getMonth=(n,r)=>this.overrides?.getMonth?this.overrides.getMonth(n,this.options):nr(n,this.options),this.getYear=(n,r)=>this.overrides?.getYear?this.overrides.getYear(n,this.options):sr(n,this.options),this.getWeek=(n,r)=>this.overrides?.getWeek?this.overrides.getWeek(n,this.options):_t(n,this.options),this.isAfter=(n,r)=>this.overrides?.isAfter?this.overrides.isAfter(n,r):rr(n,r),this.isBefore=(n,r)=>this.overrides?.isBefore?this.overrides.isBefore(n,r):or(n,r),this.isDate=n=>this.overrides?.isDate?this.overrides.isDate(n):rs(n),this.isSameDay=(n,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(n,r):Zs(n,r),this.isSameMonth=(n,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(n,r):ar(n,r),this.isSameYear=(n,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(n,r):ir(n,r),this.max=n=>this.overrides?.max?this.overrides.max(n):Ks(n),this.min=n=>this.overrides?.min?this.overrides.min(n):Vs(n),this.setMonth=(n,r)=>this.overrides?.setMonth?this.overrides.setMonth(n,r):lr(n,r),this.setYear=(n,r)=>this.overrides?.setYear?this.overrides.setYear(n,r):cr(n,r),this.startOfBroadcastWeek=(n,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(n,this):Rt(n,this),this.startOfDay=n=>this.overrides?.startOfDay?this.overrides.startOfDay(n):Ve(n),this.startOfISOWeek=n=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(n):os(n),this.startOfMonth=n=>this.overrides?.startOfMonth?this.overrides.startOfMonth(n):Js(n),this.startOfWeek=(n,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(n,this.options):as(n,this.options),this.startOfYear=n=>this.overrides?.startOfYear?this.overrides.startOfYear(n):is(n),this.options={locale:zt,...t},this.overrides=s}getDigitMap(){const{numerals:t="latn"}=this.options,s=new Intl.NumberFormat("en-US",{numberingSystem:t}),n={};for(let r=0;r<10;r++)n[r.toString()]=s.format(r);return n}replaceDigits(t){const s=this.getDigitMap();return t.replace(/\d/g,n=>s[n]||n)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&H.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:s,timeZone:n,numerals:r}=this.options,l=s?.code;if(l&&H.yearFirstLocales.has(l))try{return new Intl.DateTimeFormat(l,{month:"long",year:"numeric",timeZone:n,numberingSystem:r}).format(t)}catch{}const a=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,a)}}H.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const ee=new H;class qt{constructor(t,s,n=ee){this.date=t,this.displayMonth=s,this.outside=!!(s&&!n.isSameMonth(t,s)),this.dateLib=n,this.isoDate=n.format(t,"yyyy-MM-dd"),this.displayMonthId=n.format(s,"yyyy-MM"),this.dateMonthId=n.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class Sr{constructor(t,s){this.date=t,this.weeks=s}}class Or{constructor(t,s){this.days=s,this.weekNumber=t}}function Cr(e){return m.createElement("button",{...e})}function Nr(e){return m.createElement("span",{...e})}function jr(e){const{size:t=24,orientation:s="left",className:n}=e;return m.createElement("svg",{className:n,width:t,height:t,viewBox:"0 0 24 24"},s==="up"&&m.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),s==="down"&&m.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),s==="left"&&m.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),s==="right"&&m.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Wr(e){const{day:t,modifiers:s,...n}=e;return m.createElement("td",{...n})}function Tr(e){const{day:t,modifiers:s,...n}=e,r=m.useRef(null);return m.useEffect(()=>{s.focused&&r.current?.focus()},[s.focused]),m.createElement("button",{ref:r,...n})}var b;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(b||(b={}));var Y;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(Y||(Y={}));var X;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(X||(X={}));var z;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(z||(z={}));function Er(e){const{options:t,className:s,components:n,classNames:r,...l}=e,a=[r[b.Dropdown],s].join(" "),o=t?.find(({value:i})=>i===l.value);return m.createElement("span",{"data-disabled":l.disabled,className:r[b.DropdownRoot]},m.createElement(n.Select,{className:a,...l},t?.map(({value:i,label:d,disabled:f})=>m.createElement(n.Option,{key:i,value:i,disabled:f},d))),m.createElement("span",{className:r[b.CaptionLabel],"aria-hidden":!0},o?.label,m.createElement(n.Chevron,{orientation:"down",size:18,className:r[b.Chevron]})))}function Ir(e){return m.createElement("div",{...e})}function _r(e){return m.createElement("div",{...e})}function Yr(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n},e.children)}function Fr(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n})}function Pr(e){return m.createElement("table",{...e})}function Br(e){return m.createElement("div",{...e})}const Ht=O.createContext(void 0);function xe(){const e=O.useContext(Ht);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Ar(e){const{components:t}=xe();return m.createElement(t.Dropdown,{...e})}function Rr(e){const{onPreviousClick:t,onNextClick:s,previousMonth:n,nextMonth:r,...l}=e,{components:a,classNames:o,labels:{labelPrevious:i,labelNext:d}}=xe(),f=O.useCallback(h=>{r&&s?.(h)},[r,s]),u=O.useCallback(h=>{n&&t?.(h)},[n,t]);return m.createElement("nav",{...l},m.createElement(a.PreviousMonthButton,{type:"button",className:o[b.PreviousMonthButton],tabIndex:n?void 0:-1,"aria-disabled":n?void 0:!0,"aria-label":i(n),onClick:u},m.createElement(a.Chevron,{disabled:n?void 0:!0,className:o[b.Chevron],orientation:"left"})),m.createElement(a.NextMonthButton,{type:"button",className:o[b.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:f},m.createElement(a.Chevron,{disabled:r?void 0:!0,orientation:"right",className:o[b.Chevron]})))}function zr(e){const{components:t}=xe();return m.createElement(t.Button,{...e})}function qr(e){return m.createElement("option",{...e})}function Hr(e){const{components:t}=xe();return m.createElement(t.Button,{...e})}function $r(e){const{rootRef:t,...s}=e;return m.createElement("div",{...s,ref:t})}function Ur(e){return m.createElement("select",{...e})}function Gr(e){const{week:t,...s}=e;return m.createElement("tr",{...s})}function Kr(e){return m.createElement("th",{...e})}function Vr(e){return m.createElement("thead",{"aria-hidden":!0},m.createElement("tr",{...e}))}function Zr(e){const{week:t,...s}=e;return m.createElement("th",{...s})}function Xr(e){return m.createElement("th",{...e})}function Qr(e){return m.createElement("tbody",{...e})}function Jr(e){const{components:t}=xe();return m.createElement(t.Dropdown,{...e})}const Lr=Object.freeze(Object.defineProperty({__proto__:null,Button:Cr,CaptionLabel:Nr,Chevron:jr,Day:Wr,DayButton:Tr,Dropdown:Er,DropdownNav:Ir,Footer:_r,Month:Yr,MonthCaption:Fr,MonthGrid:Pr,Months:Br,MonthsDropdown:Ar,Nav:Rr,NextMonthButton:zr,Option:qr,PreviousMonthButton:Hr,Root:$r,Select:Ur,Week:Gr,WeekNumber:Zr,WeekNumberHeader:Xr,Weekday:Kr,Weekdays:Vr,Weeks:Qr,YearsDropdown:Jr},Symbol.toStringTag,{value:"Module"}));function se(e,t,s=!1,n=ee){let{from:r,to:l}=e;const{differenceInCalendarDays:a,isSameDay:o}=n;return r&&l?(a(l,r)<0&&([r,l]=[l,r]),a(t,r)>=(s?1:0)&&a(l,t)>=(s?1:0)):!s&&l?o(l,t):!s&&r?o(r,t):!1}function Qe(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Oe(e){return!!(e&&typeof e=="object"&&"from"in e)}function Je(e){return!!(e&&typeof e=="object"&&"after"in e)}function Le(e){return!!(e&&typeof e=="object"&&"before"in e)}function $t(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Ut(e,t){return Array.isArray(e)&&e.every(t.isDate)}function re(e,t,s=ee){const n=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:l,isAfter:a}=s;return n.some(o=>{if(typeof o=="boolean")return o;if(s.isDate(o))return r(e,o);if(Ut(o,s))return o.some(i=>r(e,i));if(Oe(o))return se(o,e,!1,s);if($t(o))return Array.isArray(o.dayOfWeek)?o.dayOfWeek.includes(e.getDay()):o.dayOfWeek===e.getDay();if(Qe(o)){const i=l(o.before,e),d=l(o.after,e),f=i>0,u=d<0;return a(o.before,o.after)?u&&f:f||u}return Je(o)?l(e,o.after)>0:Le(o)?l(o.before,e)>0:typeof o=="function"?o(e):!1})}function eo(e,t,s,n,r){const{disabled:l,hidden:a,modifiers:o,showOutsideDays:i,broadcastCalendar:d,today:f=r.today()}=t,{isSameDay:u,isSameMonth:h,startOfMonth:y,isBefore:S,endOfMonth:v,isAfter:p}=r,k=s&&y(s),W=n&&v(n),w={[Y.focused]:[],[Y.outside]:[],[Y.disabled]:[],[Y.hidden]:[],[Y.today]:[]},M={};for(const x of e){const{date:g,displayMonth:N}=x,T=!!(N&&!h(g,N)),P=!!(k&&S(g,k)),F=!!(W&&p(g,W)),Q=!!(l&&re(g,l,r)),ae=!!(a&&re(g,a,r))||P||F||!d&&!i&&T||d&&i===!1&&T,te=u(g,f);T&&w.outside.push(x),Q&&w.disabled.push(x),ae&&w.hidden.push(x),te&&w.today.push(x),o&&Object.keys(o).forEach($=>{const me=o?.[$];me&&re(g,me,r)&&(M[$]?M[$].push(x):M[$]=[x])})}return x=>{const g={[Y.focused]:!1,[Y.disabled]:!1,[Y.hidden]:!1,[Y.outside]:!1,[Y.today]:!1},N={};for(const T in w){const P=w[T];g[T]=P.some(F=>F===x)}for(const T in M)N[T]=M[T].some(P=>P===x);return{...g,...N}}}function to(e,t,s={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[l])=>(s[l]?r.push(s[l]):t[Y[l]]?r.push(t[Y[l]]):t[X[l]]&&r.push(t[X[l]]),r),[t[b.Day]])}function no(e){return{...Lr,...e}}function so(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([s,n])=>{s.startsWith("data-")&&(t[s]=n)}),t}function et(){const e={};for(const t in b)e[b[t]]=`rdp-${b[t]}`;for(const t in Y)e[Y[t]]=`rdp-${Y[t]}`;for(const t in X)e[X[t]]=`rdp-${X[t]}`;for(const t in z)e[z[t]]=`rdp-${z[t]}`;return e}function Gt(e,t,s){return(s??new H(t)).formatMonthYear(e)}const ro=Gt;function oo(e,t,s){return(s??new H(t)).format(e,"d")}function ao(e,t=ee){return t.format(e,"LLLL")}function io(e,t,s){return(s??new H(t)).format(e,"cccccc")}function lo(e,t=ee){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function co(){return""}function Kt(e,t=ee){return t.format(e,"yyyy")}const uo=Kt,fo=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Gt,formatDay:oo,formatMonthCaption:ro,formatMonthDropdown:ao,formatWeekNumber:lo,formatWeekNumberHeader:co,formatWeekdayName:io,formatYearCaption:uo,formatYearDropdown:Kt},Symbol.toStringTag,{value:"Module"}));function ho(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...fo,...e}}function tt(e,t,s,n){let r=(n??new H(s)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const mo=tt;function nt(e,t,s){return(s??new H(t)).formatMonthYear(e)}const go=nt;function Vt(e,t,s,n){let r=(n??new H(s)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function Zt(e){return"Choose the Month"}function Xt(){return""}const yo="Go to the Next Month";function Qt(e,t){return yo}function Jt(e){return"Go to the Previous Month"}function Lt(e,t,s){return(s??new H(t)).format(e,"cccc")}function en(e,t){return`Week ${e}`}function tn(e){return"Week Number"}function nn(e){return"Choose the Year"}const po=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:go,labelDay:mo,labelDayButton:tt,labelGrid:nt,labelGridcell:Vt,labelMonthDropdown:Zt,labelNav:Xt,labelNext:Qt,labelPrevious:Jt,labelWeekNumber:en,labelWeekNumberHeader:tn,labelWeekday:Lt,labelYearDropdown:nn},Symbol.toStringTag,{value:"Module"})),V=(e,t,s)=>t||(s?typeof s=="function"?s:(...n)=>s:e);function bo(e,t){const s=t.locale?.labels??{};return{...po,...e??{},labelDayButton:V(tt,e?.labelDayButton,s.labelDayButton),labelMonthDropdown:V(Zt,e?.labelMonthDropdown,s.labelMonthDropdown),labelNext:V(Qt,e?.labelNext,s.labelNext),labelPrevious:V(Jt,e?.labelPrevious,s.labelPrevious),labelWeekNumber:V(en,e?.labelWeekNumber,s.labelWeekNumber),labelYearDropdown:V(nn,e?.labelYearDropdown,s.labelYearDropdown),labelGrid:V(nt,e?.labelGrid,s.labelGrid),labelGridcell:V(Vt,e?.labelGridcell,s.labelGridcell),labelNav:V(Xt,e?.labelNav,s.labelNav),labelWeekNumberHeader:V(tn,e?.labelWeekNumberHeader,s.labelWeekNumberHeader),labelWeekday:V(Lt,e?.labelWeekday,s.labelWeekday)}}function vo(e,t,s,n,r){const{startOfMonth:l,startOfYear:a,endOfYear:o,eachMonthOfInterval:i,getMonth:d}=r;return i({start:a(e),end:o(e)}).map(h=>{const y=n.formatMonthDropdown(h,r),S=d(h),v=t&&h<l(t)||s&&h>l(s)||!1;return{value:S,label:y,disabled:v}})}function xo(e,t={},s={}){let n={...t?.[b.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{n={...n,...s?.[r]}}),n}function Do(e,t,s,n){const r=n??e.today(),l=s?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),a=[];for(let o=0;o<7;o++){const i=e.addDays(l,o);a.push(i)}return a}function ko(e,t,s,n,r=!1){if(!e||!t)return;const{startOfYear:l,endOfYear:a,eachYearOfInterval:o,getYear:i}=n,d=l(e),f=a(t),u=o({start:d,end:f});return r&&u.reverse(),u.map(h=>{const y=s.formatYearDropdown(h,n);return{value:i(h),label:y,disabled:!1}})}function Mo(e,t={}){const{weekStartsOn:s,locale:n}=t,r=s??n?.options?.weekStartsOn??0,l=o=>{const i=typeof o=="number"||typeof o=="string"?new Date(o):o;return new B(i.getFullYear(),i.getMonth(),i.getDate(),12,0,0,e)},a=o=>{const i=l(o);return new Date(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0,0)};return{today:()=>l(B.tz(e)),newDate:(o,i,d)=>new B(o,i,d,12,0,0,e),startOfDay:o=>l(o),startOfWeek:(o,i)=>{const d=l(o),f=i?.weekStartsOn??r,u=(d.getDay()-f+7)%7;return d.setDate(d.getDate()-u),d},startOfISOWeek:o=>{const i=l(o),d=(i.getDay()-1+7)%7;return i.setDate(i.getDate()-d),i},startOfMonth:o=>{const i=l(o);return i.setDate(1),i},startOfYear:o=>{const i=l(o);return i.setMonth(0,1),i},endOfWeek:(o,i)=>{const d=l(o),h=(((i?.weekStartsOn??r)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+h),d},endOfISOWeek:o=>{const i=l(o),d=(7-i.getDay())%7;return i.setDate(i.getDate()+d),i},endOfMonth:o=>{const i=l(o);return i.setMonth(i.getMonth()+1,0),i},endOfYear:o=>{const i=l(o);return i.setMonth(11,31),i},eachMonthOfInterval:o=>{const i=l(o.start),d=l(o.end),f=[],u=new B(i.getFullYear(),i.getMonth(),1,12,0,0,e),h=d.getFullYear()*12+d.getMonth();for(;u.getFullYear()*12+u.getMonth()<=h;)f.push(new B(u,e)),u.setMonth(u.getMonth()+1,1);return f},addDays:(o,i)=>{const d=l(o);return d.setDate(d.getDate()+i),d},addWeeks:(o,i)=>{const d=l(o);return d.setDate(d.getDate()+i*7),d},addMonths:(o,i)=>{const d=l(o);return d.setMonth(d.getMonth()+i),d},addYears:(o,i)=>{const d=l(o);return d.setFullYear(d.getFullYear()+i),d},eachYearOfInterval:o=>{const i=l(o.start),d=l(o.end),f=[],u=new B(i.getFullYear(),0,1,12,0,0,e);for(;u.getFullYear()<=d.getFullYear();)f.push(new B(u,e)),u.setFullYear(u.getFullYear()+1,0,1);return f},getWeek:(o,i)=>{const d=a(o);return _t(d,{weekStartsOn:i?.weekStartsOn??r,firstWeekContainsDate:i?.firstWeekContainsDate??n?.options?.firstWeekContainsDate??1})},getISOWeek:o=>{const i=a(o);return It(i)},differenceInCalendarDays:(o,i)=>{const d=a(o),f=a(i);return Et(d,f)},differenceInCalendarMonths:(o,i)=>{const d=a(o),f=a(i);return Ft(d,f)}}}const De=e=>e instanceof HTMLElement?e:null,Ae=e=>[...e.querySelectorAll("[data-animated-month]")??[]],wo=e=>De(e.querySelector("[data-animated-month]")),Re=e=>De(e.querySelector("[data-animated-caption]")),ze=e=>De(e.querySelector("[data-animated-weeks]")),So=e=>De(e.querySelector("[data-animated-nav]")),Oo=e=>De(e.querySelector("[data-animated-weekdays]"));function Co(e,t,{classNames:s,months:n,focused:r,dateLib:l}){const a=O.useRef(null),o=O.useRef(n),i=O.useRef(!1);O.useLayoutEffect(()=>{const d=o.current;if(o.current=n,!t||!e.current||!(e.current instanceof HTMLElement)||n.length===0||d.length===0||n.length!==d.length)return;const f=l.isSameMonth(n[0].date,d[0].date),u=l.isAfter(n[0].date,d[0].date),h=u?s[z.caption_after_enter]:s[z.caption_before_enter],y=u?s[z.weeks_after_enter]:s[z.weeks_before_enter],S=a.current,v=e.current.cloneNode(!0);if(v instanceof HTMLElement?(Ae(v).forEach(w=>{if(!(w instanceof HTMLElement))return;const M=wo(w);M&&w.contains(M)&&w.removeChild(M);const x=Re(w);x&&x.classList.remove(h);const g=ze(w);g&&g.classList.remove(y)}),a.current=v):a.current=null,i.current||f||r)return;const p=S instanceof HTMLElement?Ae(S):[],k=Ae(e.current);if(k?.every(W=>W instanceof HTMLElement)&&p&&p.every(W=>W instanceof HTMLElement)){i.current=!0,e.current.style.isolation="isolate";const W=So(e.current);W&&(W.style.zIndex="1"),k.forEach((w,M)=>{const x=p[M];if(!x)return;w.style.position="relative",w.style.overflow="hidden";const g=Re(w);g&&g.classList.add(h);const N=ze(w);N&&N.classList.add(y);const T=()=>{i.current=!1,e.current&&(e.current.style.isolation=""),W&&(W.style.zIndex=""),g&&g.classList.remove(h),N&&N.classList.remove(y),w.style.position="",w.style.overflow="",w.contains(x)&&w.removeChild(x)};x.style.pointerEvents="none",x.style.position="absolute",x.style.overflow="hidden",x.setAttribute("aria-hidden","true");const P=Oo(x);P&&(P.style.opacity="0");const F=Re(x);F&&(F.classList.add(u?s[z.caption_before_exit]:s[z.caption_after_exit]),F.addEventListener("animationend",T));const Q=ze(x);Q&&Q.classList.add(u?s[z.weeks_before_exit]:s[z.weeks_after_exit]),w.insertBefore(x,w.firstChild)})}})}function No(e,t,s,n){const r=e[0],l=e[e.length-1],{ISOWeek:a,fixedWeeks:o,broadcastCalendar:i}=s??{},{addDays:d,differenceInCalendarDays:f,differenceInCalendarMonths:u,endOfBroadcastWeek:h,endOfISOWeek:y,endOfMonth:S,endOfWeek:v,isAfter:p,startOfBroadcastWeek:k,startOfISOWeek:W,startOfWeek:w}=n,M=i?k(r,n):a?W(r):w(r),x=i?h(l):a?y(S(l)):v(S(l)),g=t&&(i?h(t):a?y(t):v(t)),N=g&&p(x,g)?g:x,T=f(N,M),P=u(l,r)+1,F=[];for(let te=0;te<=T;te++){const $=d(M,te);F.push($)}const ae=(i?35:42)*P;if(o&&F.length<ae){const te=ae-F.length;for(let $=0;$<te;$++){const me=d(F[F.length-1],1);F.push(me)}}return F}function jo(e){const t=[];return e.reduce((s,n)=>{const r=n.weeks.reduce((l,a)=>l.concat(a.days.slice()),t.slice());return s.concat(r.slice())},t.slice())}function Wo(e,t,s,n){const{numberOfMonths:r=1}=s,l=[];for(let a=0;a<r;a++){const o=n.addMonths(e,a);if(t&&o>t)break;l.push(o)}return l}function pt(e,t,s,n){const{month:r,defaultMonth:l,today:a=n.today(),numberOfMonths:o=1}=e;let i=r||l||a;const{differenceInCalendarMonths:d,addMonths:f,startOfMonth:u}=n;if(s&&d(s,i)<o-1){const h=-1*(o-1);i=f(s,h)}return t&&d(i,t)<0&&(i=t),u(i)}function To(e,t,s,n){const{addDays:r,endOfBroadcastWeek:l,endOfISOWeek:a,endOfMonth:o,endOfWeek:i,getISOWeek:d,getWeek:f,startOfBroadcastWeek:u,startOfISOWeek:h,startOfWeek:y}=n,S=e.reduce((v,p)=>{const k=s.broadcastCalendar?u(p,n):s.ISOWeek?h(p):y(p),W=s.broadcastCalendar?l(p):s.ISOWeek?a(o(p)):i(o(p)),w=t.filter(N=>N>=k&&N<=W),M=s.broadcastCalendar?35:42;if(s.fixedWeeks&&w.length<M){const N=t.filter(T=>{const P=M-w.length;return T>W&&T<=r(W,P)});w.push(...N)}const x=w.reduce((N,T)=>{const P=s.ISOWeek?d(T):f(T),F=N.find(ae=>ae.weekNumber===P),Q=new qt(T,p,n);return F?F.days.push(Q):N.push(new Or(P,[Q])),N},[]),g=new Sr(p,x);return v.push(g),v},[]);return s.reverseMonths?S.reverse():S}function Eo(e,t){let{startMonth:s,endMonth:n}=e;const{startOfYear:r,startOfDay:l,startOfMonth:a,endOfMonth:o,addYears:i,endOfYear:d,newDate:f,today:u}=t,{fromYear:h,toYear:y,fromMonth:S,toMonth:v}=e;!s&&S&&(s=S),!s&&h&&(s=t.newDate(h,0,1)),!n&&v&&(n=v),!n&&y&&(n=f(y,11,31));const p=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return s?s=a(s):h?s=f(h,0,1):!s&&p&&(s=r(i(e.today??u(),-100))),n?n=o(n):y?n=f(y,11,31):!n&&p&&(n=d(e.today??u())),[s&&l(s),n&&l(n)]}function Io(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:l=1}=s,{startOfMonth:a,addMonths:o,differenceInCalendarMonths:i}=n,d=r?l:1,f=a(e);if(!t)return o(f,d);if(!(i(t,e)<l))return o(f,d)}function _o(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:l}=s,{startOfMonth:a,addMonths:o,differenceInCalendarMonths:i}=n,d=r?l??1:1,f=a(e);if(!t)return o(f,-d);if(!(i(f,t)<=0))return o(f,-d)}function Yo(e){const t=[];return e.reduce((s,n)=>s.concat(n.weeks.slice()),t.slice())}function Ce(e,t){const[s,n]=O.useState(e);return[t===void 0?s:t,n]}function Fo(e,t){const[s,n]=Eo(e,t),{startOfMonth:r,endOfMonth:l}=t,a=pt(e,s,n,t),[o,i]=Ce(a,e.month?a:void 0);O.useEffect(()=>{const M=pt(e,s,n,t);i(M)},[e.timeZone]);const{months:d,weeks:f,days:u,previousMonth:h,nextMonth:y}=O.useMemo(()=>{const M=Wo(o,n,{numberOfMonths:e.numberOfMonths},t),x=No(M,e.endMonth?l(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),g=To(M,x,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),N=Yo(g),T=jo(g),P=_o(o,s,e,t),F=Io(o,n,e,t);return{months:g,weeks:N,days:T,previousMonth:P,nextMonth:F}},[t,o.getTime(),n?.getTime(),s?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:S,onMonthChange:v}=e,p=M=>f.some(x=>x.days.some(g=>g.isEqualTo(M))),k=M=>{if(S)return;let x=r(M);s&&x<r(s)&&(x=r(s)),n&&x>r(n)&&(x=r(n)),i(x),v?.(x)};return{months:d,weeks:f,days:u,navStart:s,navEnd:n,previousMonth:h,nextMonth:y,goToMonth:k,goToDay:M=>{p(M)||k(M.date)}}}var J;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(J||(J={}));function bt(e){return!e[Y.disabled]&&!e[Y.hidden]&&!e[Y.outside]}function Po(e,t,s,n){let r,l=-1;for(const a of e){const o=t(a);bt(o)&&(o[Y.focused]&&l<J.FocusedModifier?(r=a,l=J.FocusedModifier):n?.isEqualTo(a)&&l<J.LastFocused?(r=a,l=J.LastFocused):s(a.date)&&l<J.Selected?(r=a,l=J.Selected):o[Y.today]&&l<J.Today&&(r=a,l=J.Today))}return r||(r=e.find(a=>bt(t(a)))),r}function Bo(e,t,s,n,r,l,a){const{ISOWeek:o,broadcastCalendar:i}=l,{addDays:d,addMonths:f,addWeeks:u,addYears:h,endOfBroadcastWeek:y,endOfISOWeek:S,endOfWeek:v,max:p,min:k,startOfBroadcastWeek:W,startOfISOWeek:w,startOfWeek:M}=a;let g={day:d,week:u,month:f,year:h,startOfWeek:N=>i?W(N,a):o?w(N):M(N),endOfWeek:N=>i?y(N):o?S(N):v(N)}[e](s,t==="after"?1:-1);return t==="before"&&n?g=p([n,g]):t==="after"&&r&&(g=k([r,g])),g}function sn(e,t,s,n,r,l,a,o=0){if(o>365)return;const i=Bo(e,t,s.date,n,r,l,a),d=!!(l.disabled&&re(i,l.disabled,a)),f=!!(l.hidden&&re(i,l.hidden,a)),u=i,h=new qt(i,u,a);return!d&&!f?h:sn(e,t,h,n,r,l,a,o+1)}function Ao(e,t,s,n,r){const{autoFocus:l}=e,[a,o]=O.useState(),i=Po(t.days,s,n||(()=>!1),a),[d,f]=O.useState(l?i:void 0);return{isFocusTarget:v=>!!i?.isEqualTo(v),setFocused:f,focused:d,blur:()=>{o(d),f(void 0)},moveFocus:(v,p)=>{if(!d)return;const k=sn(v,p,d,t.navStart,t.navEnd,e,r);k&&(e.disableNavigation&&!t.days.some(w=>w.isEqualTo(k))||(t.goToDay(k),f(k)))}}}function Ro(e,t){const{selected:s,required:n,onSelect:r}=e,[l,a]=Ce(s,r?s:void 0),o=r?s:l,{isSameDay:i}=t,d=y=>o?.some(S=>i(S,y))??!1,{min:f,max:u}=e;return{selected:o,select:(y,S,v)=>{let p=[...o??[]];if(d(y)){if(o?.length===f||n&&o?.length===1)return;p=o?.filter(k=>!i(k,y))}else o?.length===u?p=[y]:p=[...p,y];return r||a(p),r?.(p,y,S,v),p},isSelected:d}}function zo(e,t,s=0,n=0,r=!1,l=ee){const{from:a,to:o}=t||{},{isSameDay:i,isAfter:d,isBefore:f}=l;let u;if(!a&&!o)u={from:e,to:s>0?void 0:e};else if(a&&!o)i(a,e)?s===0?u={from:a,to:e}:r?u={from:a,to:void 0}:u=void 0:f(e,a)?u={from:e,to:a}:u={from:a,to:e};else if(a&&o)if(i(a,e)&&i(o,e))r?u={from:a,to:o}:u=void 0;else if(i(a,e))u={from:a,to:s>0?void 0:e};else if(i(o,e))u={from:e,to:s>0?void 0:e};else if(f(e,a))u={from:e,to:o};else if(d(e,a))u={from:a,to:e};else if(d(e,o))u={from:a,to:e};else throw new Error("Invalid range");if(u?.from&&u?.to){const h=l.differenceInCalendarDays(u.to,u.from);n>0&&h>n?u={from:e,to:void 0}:s>1&&h<s&&(u={from:e,to:void 0})}return u}function qo(e,t,s=ee){const n=Array.isArray(t)?t:[t];let r=e.from;const l=s.differenceInCalendarDays(e.to,e.from),a=Math.min(l,6);for(let o=0;o<=a;o++){if(n.includes(r.getDay()))return!0;r=s.addDays(r,1)}return!1}function vt(e,t,s=ee){return se(e,t.from,!1,s)||se(e,t.to,!1,s)||se(t,e.from,!1,s)||se(t,e.to,!1,s)}function Ho(e,t,s=ee){const n=Array.isArray(t)?t:[t];if(n.filter(o=>typeof o!="function").some(o=>typeof o=="boolean"?o:s.isDate(o)?se(e,o,!1,s):Ut(o,s)?o.some(i=>se(e,i,!1,s)):Oe(o)?o.from&&o.to?vt(e,{from:o.from,to:o.to},s):!1:$t(o)?qo(e,o.dayOfWeek,s):Qe(o)?s.isAfter(o.before,o.after)?vt(e,{from:s.addDays(o.after,1),to:s.addDays(o.before,-1)},s):re(e.from,o,s)||re(e.to,o,s):Je(o)||Le(o)?re(e.from,o,s)||re(e.to,o,s):!1))return!0;const a=n.filter(o=>typeof o=="function");if(a.length){let o=e.from;const i=s.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=i;d++){if(a.some(f=>f(o)))return!0;o=s.addDays(o,1)}}return!1}function $o(e,t){const{disabled:s,excludeDisabled:n,selected:r,required:l,onSelect:a}=e,[o,i]=Ce(r,a?r:void 0),d=a?r:o;return{selected:d,select:(h,y,S)=>{const{min:v,max:p}=e,k=h?zo(h,d,v,p,l,t):void 0;return n&&s&&k?.from&&k.to&&Ho({from:k.from,to:k.to},s,t)&&(k.from=h,k.to=void 0),a||i(k),a?.(k,h,y,S),k},isSelected:h=>d&&se(d,h,!1,t)}}function Uo(e,t){const{selected:s,required:n,onSelect:r}=e,[l,a]=Ce(s,r?s:void 0),o=r?s:l,{isSameDay:i}=t;return{selected:o,select:(u,h,y)=>{let S=u;return!n&&o&&o&&i(u,o)&&(S=void 0),r||a(S),r?.(S,u,h,y),S},isSelected:u=>o?i(o,u):!1}}function Go(e,t){const s=Uo(e,t),n=Ro(e,t),r=$o(e,t);switch(e.mode){case"single":return s;case"multiple":return n;case"range":return r;default:return}}function U(e,t){return e instanceof B&&e.timeZone===t?e:new B(e,t)}function ge(e,t,s){return U(e,t)}function xt(e,t,s){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?ge(e,t):Array.isArray(e)?e.map(n=>n instanceof Date?ge(n,t):n):Oe(e)?{...e,from:e.from?U(e.from,t):e.from,to:e.to?U(e.to,t):e.to}:Qe(e)?{before:ge(e.before,t),after:ge(e.after,t)}:Je(e)?{after:ge(e.after,t)}:Le(e)?{before:ge(e.before,t)}:e}function qe(e,t,s){return e&&(Array.isArray(e)?e.map(n=>xt(n,t)):xt(e,t))}function Ko(e){let t=e;const s=t.timeZone;if(s&&(t={...e,timeZone:s},t.today&&(t.today=U(t.today,s)),t.month&&(t.month=U(t.month,s)),t.defaultMonth&&(t.defaultMonth=U(t.defaultMonth,s)),t.startMonth&&(t.startMonth=U(t.startMonth,s)),t.endMonth&&(t.endMonth=U(t.endMonth,s)),t.mode==="single"&&t.selected?t.selected=U(t.selected,s):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(C=>U(C,s)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?U(t.selected.from,s):t.selected.from,to:t.selected.to?U(t.selected.to,s):t.selected.to}),t.disabled!==void 0&&(t.disabled=qe(t.disabled,s)),t.hidden!==void 0&&(t.hidden=qe(t.hidden,s)),t.modifiers)){const C={};Object.keys(t.modifiers).forEach(_=>{C[_]=qe(t.modifiers?.[_],s)}),t.modifiers=C}const{components:n,formatters:r,labels:l,dateLib:a,locale:o,classNames:i}=O.useMemo(()=>{const C={...zt,...t.locale},_=t.broadcastCalendar?1:t.weekStartsOn,D=t.noonSafe&&t.timeZone?Mo(t.timeZone,{weekStartsOn:_,locale:C}):void 0,E=t.dateLib&&D?{...D,...t.dateLib}:t.dateLib??D,R=new H({locale:C,weekStartsOn:_,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},E);return{dateLib:R,components:no(t.components),formatters:ho(t.formatters),labels:bo(t.labels,R.options),locale:C,classNames:{...et(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:a.today()});const{captionLayout:d,mode:f,navLayout:u,numberOfMonths:h=1,onDayBlur:y,onDayClick:S,onDayFocus:v,onDayKeyDown:p,onDayMouseEnter:k,onDayMouseLeave:W,onNextClick:w,onPrevClick:M,showWeekNumber:x,styles:g}=t,{formatCaption:N,formatDay:T,formatMonthDropdown:P,formatWeekNumber:F,formatWeekNumberHeader:Q,formatWeekdayName:ae,formatYearDropdown:te}=r,$=Fo(t,a),{days:me,months:ke,navStart:Ne,navEnd:je,previousMonth:G,nextMonth:K,goToMonth:ne}=$,We=eo(me,t,Ne,je,a),{isSelected:Te,select:Ee,selected:Me}=Go(t,a)??{},{blur:st,focused:rt,isFocusTarget:rn,moveFocus:ot,setFocused:we}=Ao(t,$,We,Te??(()=>!1),a),{labelDayButton:on,labelGridcell:an,labelGrid:ln,labelMonthDropdown:cn,labelNav:at,labelPrevious:dn,labelNext:un,labelWeekday:fn,labelWeekNumber:hn,labelWeekNumberHeader:mn,labelYearDropdown:gn}=l,yn=O.useMemo(()=>Do(a,t.ISOWeek,t.broadcastCalendar,t.today),[a,t.ISOWeek,t.broadcastCalendar,t.today]),it=f!==void 0||S!==void 0,Ie=O.useCallback(()=>{G&&(ne(G),M?.(G))},[G,ne,M]),_e=O.useCallback(()=>{K&&(ne(K),w?.(K))},[ne,K,w]),pn=O.useCallback((C,_)=>D=>{D.preventDefault(),D.stopPropagation(),we(C),!_.disabled&&(Ee?.(C.date,_,D),S?.(C.date,_,D))},[Ee,S,we]),bn=O.useCallback((C,_)=>D=>{we(C),v?.(C.date,_,D)},[v,we]),vn=O.useCallback((C,_)=>D=>{st(),y?.(C.date,_,D)},[st,y]),xn=O.useCallback((C,_)=>D=>{const E={ArrowLeft:[D.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[D.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[D.shiftKey?"year":"week","after"],ArrowUp:[D.shiftKey?"year":"week","before"],PageUp:[D.shiftKey?"year":"month","before"],PageDown:[D.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(E[D.key]){D.preventDefault(),D.stopPropagation();const[R,j]=E[D.key];ot(R,j)}p?.(C.date,_,D)},[ot,p,t.dir]),Dn=O.useCallback((C,_)=>D=>{k?.(C.date,_,D)},[k]),kn=O.useCallback((C,_)=>D=>{W?.(C.date,_,D)},[W]),Mn=O.useCallback(C=>_=>{const D=Number(_.target.value),E=a.setMonth(a.startOfMonth(C),D);ne(E)},[a,ne]),wn=O.useCallback(C=>_=>{const D=Number(_.target.value),E=a.setYear(a.startOfMonth(C),D);ne(E)},[a,ne]),{className:Sn,style:On}=O.useMemo(()=>({className:[i[b.Root],t.className].filter(Boolean).join(" "),style:{...g?.[b.Root],...t.style}}),[i,t.className,t.style,g]),Cn=so(t),lt=O.useRef(null);Co(lt,!!t.animate,{classNames:i,months:ke,focused:rt,dateLib:a});const Nn={dayPickerProps:t,selected:Me,select:Ee,isSelected:Te,months:ke,nextMonth:K,previousMonth:G,goToMonth:ne,getModifiers:We,components:n,classNames:i,styles:g,labels:l,formatters:r};return m.createElement(Ht.Provider,{value:Nn},m.createElement(n.Root,{rootRef:t.animate?lt:void 0,className:Sn,style:On,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Cn},m.createElement(n.Months,{className:i[b.Months],style:g?.[b.Months]},!t.hideNavigation&&!u&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:i[b.Nav],style:g?.[b.Nav],"aria-label":at(),onPreviousClick:Ie,onNextClick:_e,previousMonth:G,nextMonth:K}),ke.map((C,_)=>m.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:i[b.Month],style:g?.[b.Month],key:_,displayIndex:_,calendarMonth:C},u==="around"&&!t.hideNavigation&&_===0&&m.createElement(n.PreviousMonthButton,{type:"button",className:i[b.PreviousMonthButton],tabIndex:G?void 0:-1,"aria-disabled":G?void 0:!0,"aria-label":dn(G),onClick:Ie,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:G?void 0:!0,className:i[b.Chevron],orientation:t.dir==="rtl"?"right":"left"})),m.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:i[b.MonthCaption],style:g?.[b.MonthCaption],calendarMonth:C,displayIndex:_},d?.startsWith("dropdown")?m.createElement(n.DropdownNav,{className:i[b.Dropdowns],style:g?.[b.Dropdowns]},(()=>{const D=d==="dropdown"||d==="dropdown-months"?m.createElement(n.MonthsDropdown,{key:"month",className:i[b.MonthsDropdown],"aria-label":cn(),classNames:i,components:n,disabled:!!t.disableNavigation,onChange:Mn(C.date),options:vo(C.date,Ne,je,r,a),style:g?.[b.Dropdown],value:a.getMonth(C.date)}):m.createElement("span",{key:"month"},P(C.date,a)),E=d==="dropdown"||d==="dropdown-years"?m.createElement(n.YearsDropdown,{key:"year",className:i[b.YearsDropdown],"aria-label":gn(a.options),classNames:i,components:n,disabled:!!t.disableNavigation,onChange:wn(C.date),options:ko(Ne,je,r,a,!!t.reverseYears),style:g?.[b.Dropdown],value:a.getYear(C.date)}):m.createElement("span",{key:"year"},te(C.date,a));return a.getMonthYearOrder()==="year-first"?[E,D]:[D,E]})(),m.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},N(C.date,a.options,a))):m.createElement(n.CaptionLabel,{className:i[b.CaptionLabel],role:"status","aria-live":"polite"},N(C.date,a.options,a))),u==="around"&&!t.hideNavigation&&_===h-1&&m.createElement(n.NextMonthButton,{type:"button",className:i[b.NextMonthButton],tabIndex:K?void 0:-1,"aria-disabled":K?void 0:!0,"aria-label":un(K),onClick:_e,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:K?void 0:!0,className:i[b.Chevron],orientation:t.dir==="rtl"?"left":"right"})),_===h-1&&u==="after"&&!t.hideNavigation&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:i[b.Nav],style:g?.[b.Nav],"aria-label":at(),onPreviousClick:Ie,onNextClick:_e,previousMonth:G,nextMonth:K}),m.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":f==="multiple"||f==="range","aria-label":ln(C.date,a.options,a)||void 0,className:i[b.MonthGrid],style:g?.[b.MonthGrid]},!t.hideWeekdays&&m.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:i[b.Weekdays],style:g?.[b.Weekdays]},x&&m.createElement(n.WeekNumberHeader,{"aria-label":mn(a.options),className:i[b.WeekNumberHeader],style:g?.[b.WeekNumberHeader],scope:"col"},Q()),yn.map(D=>m.createElement(n.Weekday,{"aria-label":fn(D,a.options,a),className:i[b.Weekday],key:String(D),style:g?.[b.Weekday],scope:"col"},ae(D,a.options,a)))),m.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:i[b.Weeks],style:g?.[b.Weeks]},C.weeks.map(D=>m.createElement(n.Week,{className:i[b.Week],key:D.weekNumber,style:g?.[b.Week],week:D},x&&m.createElement(n.WeekNumber,{week:D,style:g?.[b.WeekNumber],"aria-label":hn(D.weekNumber,{locale:o}),className:i[b.WeekNumber],scope:"row",role:"rowheader"},F(D.weekNumber,a)),D.days.map(E=>{const{date:R}=E,j=We(E);if(j[Y.focused]=!j.hidden&&!!rt?.isEqualTo(E),j[X.selected]=Te?.(R)||j.selected,Oe(Me)){const{from:Ye,to:Fe}=Me;j[X.range_start]=!!(Ye&&Fe&&a.isSameDay(R,Ye)),j[X.range_end]=!!(Ye&&Fe&&a.isSameDay(R,Fe)),j[X.range_middle]=se(Me,R,!0,a)}const jn=xo(j,g,t.modifiersStyles),Wn=to(j,i,t.modifiersClassNames),Tn=!it&&!j.hidden?an(R,j,a.options,a):void 0;return m.createElement(n.Day,{key:`${E.isoDate}_${E.displayMonthId}`,day:E,modifiers:j,className:Wn.join(" "),style:jn,role:"gridcell","aria-selected":j.selected||void 0,"aria-label":Tn,"data-day":E.isoDate,"data-month":E.outside?E.dateMonthId:void 0,"data-selected":j.selected||void 0,"data-disabled":j.disabled||void 0,"data-hidden":j.hidden||void 0,"data-outside":E.outside||void 0,"data-focused":j.focused||void 0,"data-today":j.today||void 0},!j.hidden&&it?m.createElement(n.DayButton,{className:i[b.DayButton],style:g?.[b.DayButton],type:"button",day:E,modifiers:j,disabled:!j.focused&&j.disabled||void 0,"aria-disabled":j.focused&&j.disabled||void 0,tabIndex:rn(E)?0:-1,"aria-label":on(R,j,a.options,a),onClick:pn(E,j),onBlur:vn(E,j),onFocus:bn(E,j),onKeyDown:xn(E,j),onMouseEnter:Dn(E,j),onMouseLeave:kn(E,j)},T(R,a.options,a)):!j.hidden&&T(E.date,a.options,a))})))))))),t.footer&&m.createElement(n.Footer,{className:i[b.Footer],style:g?.[b.Footer],role:"status","aria-live":"polite"},t.footer)))}function Vo({className:e,classNames:t,showOutsideDays:s=!0,captionLayout:n="label",buttonVariant:r="ghost",formatters:l,components:a,...o}){const i=et();return c.jsx(Ko,{showOutsideDays:s,className:I("bg-white group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent dark:bg-gray-950",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:n,formatters:{formatMonthDropdown:d=>d.toLocaleString("default",{month:"short"}),...l},classNames:{root:I("w-fit",i.root),months:I("flex gap-4 flex-col md:flex-row relative",i.months),month:I("flex flex-col w-full gap-4",i.month),nav:I("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",i.nav),button_previous:I(ut({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",i.button_previous),button_next:I(ut({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",i.button_next),month_caption:I("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",i.month_caption),dropdowns:I("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",i.dropdowns),dropdown_root:I("relative has-focus:border-gray-950 border border-gray-200 shadow-xs has-focus:ring-gray-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-gray-300 dark:border-gray-800 dark:has-focus:ring-gray-300/50",i.dropdown_root),dropdown:I("absolute bg-white inset-0 opacity-0 dark:bg-gray-950",i.dropdown),caption_label:I("select-none font-medium",n==="label"?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-gray-500 [&>svg]:size-3.5 dark:[&>svg]:text-gray-400",i.caption_label),table:"w-full border-collapse",weekdays:I("flex",i.weekdays),weekday:I("text-gray-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-gray-400",i.weekday),week:I("flex w-full mt-2",i.week),week_number_header:I("select-none w-(--cell-size)",i.week_number_header),week_number:I("text-[0.8rem] select-none text-gray-500 dark:text-gray-400",i.week_number),day:I("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",i.day),range_start:I("rounded-l-md bg-gray-100 dark:bg-gray-800",i.range_start),range_middle:I("rounded-none",i.range_middle),range_end:I("rounded-r-md bg-gray-100 dark:bg-gray-800",i.range_end),today:I("bg-gray-100 text-gray-900 rounded-md data-[selected=true]:rounded-none dark:bg-gray-800 dark:text-gray-50",i.today),outside:I("text-gray-500 aria-selected:text-gray-500 dark:text-gray-400 dark:aria-selected:text-gray-400",i.outside),disabled:I("text-gray-500 opacity-50 dark:text-gray-400",i.disabled),hidden:I("invisible",i.hidden),...t},components:{Root:({className:d,rootRef:f,...u})=>c.jsx("div",{"data-slot":"calendar",ref:f,className:I(d),...u}),Chevron:({className:d,orientation:f,...u})=>f==="left"?c.jsx(ls,{className:I("size-4",d),...u}):f==="right"?c.jsx(cs,{className:I("size-4",d),...u}):c.jsx(ie,{className:I("size-4",d),...u}),DayButton:Zo,WeekNumber:({children:d,...f})=>c.jsx("td",{...f,children:c.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...a},...o})}function Zo({className:e,day:t,modifiers:s,...n}){const r=et(),l=m.useRef(null);return m.useEffect(()=>{s.focused&&l.current?.focus()},[s.focused]),c.jsx(q,{ref:l,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":s.selected&&!s.range_start&&!s.range_end&&!s.range_middle,"data-range-start":s.range_start,"data-range-end":s.range_end,"data-range-middle":s.range_middle,className:I("data-[selected-single=true]:bg-gray-900 data-[selected-single=true]:text-gray-50 data-[range-middle=true]:bg-gray-100 data-[range-middle=true]:text-gray-900 data-[range-start=true]:bg-gray-900 data-[range-start=true]:text-gray-50 data-[range-end=true]:bg-gray-900 data-[range-end=true]:text-gray-50 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-gray-900 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70 dark:data-[selected-single=true]:bg-gray-50 dark:data-[selected-single=true]:text-gray-900 dark:data-[range-middle=true]:bg-gray-800 dark:data-[range-middle=true]:text-gray-50 dark:data-[range-start=true]:bg-gray-50 dark:data-[range-start=true]:text-gray-900 dark:data-[range-end=true]:bg-gray-50 dark:data-[range-end=true]:text-gray-900 dark:dark:hover:text-gray-50",r.day,e),...n})}function He(e){return e?Z(e,"yyyy-MM-dd"):""}function Xo(e){return e?!Number.isNaN(e.getTime()):!1}function Qo({value:e,onChange:t,disabled:s,...n}){const[r,l]=m.useState(!1),[a,o]=m.useState(e),[i,d]=m.useState(He(e));return O.useEffect(()=>{e&&d(He(e))},[e]),c.jsxs("div",{className:"relative flex gap-2",children:[c.jsx(Tt,{...n,disabled:s,value:i,onChange:f=>{d(f.target.value);const u=f.target.value?new Date(f.target.value):void 0;Xo(u)&&(t?.(u),o(u))},onKeyDown:f=>{f.key==="ArrowDown"&&(f.preventDefault(),l(!0))}}),c.jsxs(ds,{open:r,onOpenChange:l,children:[c.jsx(us,{asChild:!0,children:c.jsxs(q,{id:"date-picker",variant:"ghost",className:"absolute top-1/2 right-2 size-6 -translate-y-1/2",disabled:s,children:[c.jsx(fs,{className:"size-3.5"}),c.jsx("span",{className:"sr-only",children:"Select date"})]})}),c.jsx(hs,{className:"w-auto overflow-hidden p-0",align:"end",alignOffset:-8,sideOffset:10,children:c.jsx(Vo,{mode:"single",selected:e,captionLayout:"dropdown",month:a,onMonthChange:o,onSelect:f=>{t?.(f),d(He(f??void 0)),l(!1)}})})]})]})}var $e={exports:{}},Ue,Dt;function Jo(){if(Dt)return Ue;Dt=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Ue=e,Ue}var Ge,kt;function Lo(){if(kt)return Ge;kt=1;var e=Jo();function t(){}function s(){}return s.resetWarningCache=t,Ge=function(){function n(a,o,i,d,f,u){if(u!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}n.isRequired=n;function r(){return n}var l={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:r,element:n,elementType:n,instanceOf:r,node:n,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:s,resetWarningCache:t};return l.PropTypes=l,l},Ge}var Mt;function ea(){return Mt||(Mt=1,$e.exports=Lo()()),$e.exports}var ta=ea();const ga=ms(ta),na=({close:e,transactionID:t,onChange:s})=>t?c.jsx(gs,{modalSize:"fit-content",position:"bottom",title:c.jsxs("div",{className:"flex flex-row mx-3 pt-3 sm:text-1xl gap-10",children:[c.jsx("h1",{className:"sm:text-2xl font-small text-gray-900",children:"Edit Transaction:"}),c.jsxs("div",{className:"flex flex-row gap-2",children:["ID: ",t,c.jsx(ys,{content:t}),c.jsx(ur,{transactionId:t})]})]}),opened:!!t,onClose:e,children:c.jsx(fr,{transactionID:t,onDone:e,onChange:s})}):null,sa=({onDone:e,transactionId:t,chargeId:s})=>{const[n,r]=O.useState(!1),[{data:l,fetching:a}]=Ot({query:ps,pause:!t,variables:{transactionId:t}}),o=l?.transactionsByIDs[0];function i(){r(!1),e?.()}return c.jsxs(bs,{open:n,onOpenChange:r,children:[c.jsx(Se,{content:"Insert Related Misc Expense",children:c.jsx(vs,{asChild:!0,children:c.jsx(q,{variant:"ghost",size:"icon",className:"size-7.5",disabled:a,children:c.jsx(xs,{className:"size-5"})})})}),c.jsxs(Ds,{className:"sm:max-w-[425px]",children:[c.jsx(ks,{children:c.jsx(Ms,{children:"Insert Misc Expense"})}),o&&c.jsx(gr,{onDone:i,chargeId:s,defaultValues:{amount:o?.amount.raw?Math.abs(o?.amount.raw):void 0,currency:o?.amount.currency,invoiceDate:o?.eventDate,valueDate:o?.exactEffectiveDate||o?.effectiveDate?new Date(o.exactEffectiveDate??o.effectiveDate):void 0,creditorId:(o?.amount.raw??0)>0?o?.counterparty?.id:void 0,debtorId:(o?.amount.raw??0)<0?o?.counterparty?.id:void 0}})]})]})},ra=({transaction:e})=>{const t="effectiveDate"in e?e.effectiveDate:void 0;return c.jsxs("div",{className:"flex flex-col justify-center",children:[c.jsx("div",{children:t&&Z(new Date(t),"dd/MM/yy")}),e.sourceEffectiveDate&&c.jsxs("div",{className:"text-xs text-gray-500",children:["(Originally ",Z(new Date(e.sourceEffectiveDate),"dd/MM/yy"),")"]})]})},oa=({transaction:e})=>{const t="eventDate"in e?e.eventDate:void 0;return c.jsx("div",{className:"flex flex-col justify-center",children:t&&Z(new Date(t),"dd/MM/yy")})},aa=({transaction:e})=>{const t="amount"in e?e.amount:void 0;return c.jsxs("div",{style:{color:Number(t?.raw)>0?"green":"red",whiteSpace:"nowrap"},children:[t?.formatted,c.jsx("br",{}),e.cryptoExchangeRate&&c.jsxs("span",{style:{color:"gray",marginLeft:"0.5rem"},children:[`(Rate: ${e.cryptoExchangeRate.rate})`,c.jsx("br",{}),t?.raw?`${ws(t.raw*e.cryptoExchangeRate.rate)}$`:null]})]})},ia=({transaction:e})=>{const{account:t}=e,s=zs(t.type),n=qs(t.type),r=t.name;return c.jsxs("div",{className:"flex flex-col justify-center",children:[c.jsx("p",{children:c.jsx(Se,{content:n,children:s})}),c.jsx("p",{children:r})]})},la=({transaction:e})=>{const t="sourceDescription"in e?e.sourceDescription:"Missing";return c.jsx("div",{className:"flex flex-wrap",children:c.jsx("div",{className:"flex flex-col justify-center",children:t})})},ca=({transaction:e})=>c.jsx("div",{className:"flex flex-wrap",children:c.jsx("div",{className:"flex flex-col justify-center",children:e.referenceKey})});function da({transaction:e,onChange:t}){const{id:s,counterparty:n,missingInfoSuggestions:r,id:l,sourceDescription:a,enableEdit:o}=e,i=!!r?.business&&o,d=i?r?.business?.name:"Missing",f=i?r?.business?.id:null,u=n?.name??d,[h,y]=O.useState(!1),{updateTransaction:S,fetching:v}=Xe(),p=O.useCallback(async T=>{await S({transactionId:l,fields:{counterpartyId:T}}),y(!0)},[l,S]),k=O.useCallback(async T=>{await p(T),t?.()},[p,t]),{selectableBusinesses:W,fetching:w}=Ss(),[M,x]=O.useState(f??null),[g,N]=O.useState(a);return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"flex flex-wrap flex-col justify-center",children:n?.id?c.jsx(wt,{to:St.BUSINESSES.DETAIL(n.id),target:"_blank",rel:"noreferrer",onClick:T=>T.stopPropagation(),className:"inline-flex items-center font-semibold",children:u}):c.jsxs(c.Fragment,{children:[c.jsx(Os,{options:W,value:M,onChange:x,search:g,onSearchChange:N,placeholder:"Choose or create a business",empty:g?c.jsx(Cs,{description:g,onAdd:k}):null}),c.jsx(Se,{content:"Approve",children:c.jsx(q,{variant:"outline",size:"icon",onClick:()=>M&&p(M),disabled:v||w||!M,children:c.jsx(Ns,{className:"size-4"})})})]})}),c.jsx(Hs,{transactionId:s,counterpartyId:n?.id??M,open:h,onOpenChange:y,onClose:t})]})}const Ke=[{accessorKey:"counterparty.name",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Counterparty",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(da,{transaction:e.original})},{accessorKey:"eventDate",sortingFn:e=>"eventDate"in e.original&&e.original.eventDate?new Date(e.original.eventDate).getTime():0,header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Event Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(oa,{transaction:e.original})},{accessorKey:"effectiveDate",sortingFn:e=>"effectiveDate"in e.original&&e.original.effectiveDate?new Date(e.original.effectiveDate).getTime():0,header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Debit Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(ra,{transaction:e.original})},{accessorKey:"amount.raw",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Amount",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(aa,{transaction:e.original})},{accessorKey:"account.name",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Account",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(ia,{transaction:e.original})},{accessorKey:"sourceDescription",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Description",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(la,{transaction:e.original})},{accessorKey:"referenceKey",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Reference#",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(ca,{transaction:e.original})}],ua={accessorKey:"id",header:"Actions",cell:({row:e})=>e.original.enableEdit?c.jsxs(c.Fragment,{children:[c.jsx(js,{onClick:()=>e.original.editTransaction(e.original.id),tooltip:"Edit Transaction"}),c.jsx(sa,{chargeId:e.original.chargeId,transactionId:e.original.id,onDone:e.original.onUpdate})]}):e.original.enableChargeLink?c.jsx(dr,{chargeId:e.original.chargeId}):null},ya=({transactionsProps:e,onChange:t,enableEdit:s,enableChargeLink:n})=>{const[r,l]=O.useState(void 0),[a,o]=O.useState([]),i=O.useMemo(()=>e.map(h=>Ws(Ts,h)),[e]),d=O.useMemo(()=>i.map(h=>({...h,editTransaction:l,onUpdate:t||(()=>{}),enableEdit:s,enableChargeLink:n})),[i,s,n,t]),f=O.useMemo(()=>s||n?[...Ke,ua]:Ke,[s,n]),u=Es({data:d,columns:f,getCoreRowModel:Ys(),onSortingChange:o,getSortedRowModel:_s(),getPaginationRowModel:Is(),state:{sorting:a},initialState:{pagination:{pageIndex:0,pageSize:100},sorting:[{id:"eventDate",desc:!0}]}});return c.jsxs(c.Fragment,{children:[c.jsxs(Fs,{children:[c.jsx(Ps,{children:u.getHeaderGroups().map(h=>c.jsx(Be,{children:h.headers.map(y=>c.jsx(Bs,{colSpan:y.colSpan,children:y.isPlaceholder?null:ft(y.column.columnDef.header,y.getContext())},y.id))},h.id))}),c.jsx(As,{children:u.getRowModel().rows?.length?u.getRowModel().rows.map(h=>c.jsx(Be,{children:h.getVisibleCells().map(y=>c.jsx(ht,{children:ft(y.column.columnDef.cell,y.getContext())},y.id))},h.id)):c.jsx(Be,{children:c.jsx(ht,{colSpan:Ke.length,className:"h-24 text-center",children:"No results."})})})]}),u.getPageCount()>1&&c.jsx("div",{className:"flex items-center justify-end space-x-2 py-4",children:c.jsx(Rs,{currentPageIndex:u.getState().pagination.pageIndex,totalPages:u.getPageCount(),onChange:h=>u.setPageIndex(h)})}),c.jsx(na,{transactionID:r,close:()=>l(void 0),onChange:t??(()=>{})})]})};export{aa as A,dr as C,ra as D,Us as E,gr as I,pr as M,ga as P,ca as S,ya as T,oa as a,ia as b,la as c,da as d};
|
|
1
|
+
import{v as En,gH as oe,g1 as A,f$ as ve,gI as Ve,gJ as In,j as c,T as Se,ah as wt,B as q,m as I,R as St,bX as _n,aX as Yn,fz as Fn,u as Ot,gK as Pn,E as Ct,r as O,dr as Nt,d as Bn,V as jt,eL as An,Y as le,Z as ce,_ as de,ao as Rn,$ as ye,ap as zn,aq as qn,ar as Hn,as as $n,a1 as fe,ai as Un,bF as Wt,w as Z,at as Gn,a9 as Kn,g as Vn,gL as Zn,t as Pe,i as Xn,L as Qn,b5 as ct,bE as dt,cq as Jn,bG as Ln,gM as es,I as Tt,gN as pe,gO as ts,gP as ns,g0 as Et,gQ as ss,gR as It,gS as _t,gT as rs,gU as os,gV as as,gW as is,aF as m,gX as ls,gh as cs,b$ as ie,gY as ut,gZ as ds,g_ as us,aO as fs,g$ as hs,dP as ms,f0 as gs,f2 as ys,h0 as ps,D as bs,aL as vs,cp as xs,x as Ds,al as ks,am as Ms,d7 as ws,bD as Ss,d2 as Os,q as Cs,e as Ns,dI as ue,h1 as js,a6 as Ws,fK as Ts,bY as Es,c4 as Is,c5 as _s,c6 as Ys,bO as Fs,bP as Ps,bQ as Be,bR as Bs,c2 as ft,bS as As,bT as ht,P as Rs}from"./index-D1_HHRLX.js";import{u as Xe,g as zs,a as qs,S as Hs}from"./similar-transactions-modal-BTidmv0G.js";import{a as Yt}from"./addDays-DhQZBfTq.js";const $s=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Us=En("external-link",$s);function Gs(e,t,s){return Yt(e,t*7,s)}function Ks(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const l=A(r,n);(!s||s<l||isNaN(+l))&&(s=l)}),oe(n,s||NaN)}function Vs(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const l=A(r,n);(!s||s>l||isNaN(+l))&&(s=l)}),oe(n,s||NaN)}function Zs(e,t,s){const[n,r]=ve(s?.in,e,t);return+Ve(n)==+Ve(r)}function Ft(e,t,s){const[n,r]=ve(s?.in,e,t),l=n.getFullYear()-r.getFullYear(),a=n.getMonth()-r.getMonth();return l*12+a}function Xs(e,t){const s=A(e,t?.in),n=s.getMonth();return s.setFullYear(s.getFullYear(),n+1,0),s.setHours(23,59,59,999),s}function Pt(e,t){const[s,n]=ve(e,t.start,t.end);return{start:s,end:n}}function Qs(e,t){const{start:s,end:n}=Pt(t?.in,e);let r=+s>+n;const l=r?+s:+n,a=r?n:s;a.setHours(0,0,0,0),a.setDate(1);let o=1;const i=[];for(;+a<=l;)i.push(oe(s,a)),a.setMonth(a.getMonth()+o);return r?i.reverse():i}function Js(e,t){const s=A(e,t?.in);return s.setDate(1),s.setHours(0,0,0,0),s}function Ls(e,t){const{start:s,end:n}=Pt(t?.in,e);let r=+s>+n;const l=r?+s:+n,a=r?n:s;a.setHours(0,0,0,0),a.setMonth(0,1);let o=1;const i=[];for(;+a<=l;)i.push(oe(s,a)),a.setFullYear(a.getFullYear()+o);return r?i.reverse():i}function Bt(e,t){const s=In(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,r=A(e,t?.in),l=r.getDay(),a=(l<n?-7:0)+6-(l-n);return r.setDate(r.getDate()+a),r.setHours(23,59,59,999),r}function er(e,t){return Bt(e,{...t,weekStartsOn:1})}function tr(e,t){const s=A(e,t?.in),n=s.getFullYear(),r=s.getMonth(),l=oe(s,0);return l.setFullYear(n,r+1,0),l.setHours(0,0,0,0),l.getDate()}function nr(e,t){return A(e,t?.in).getMonth()}function sr(e,t){return A(e,t?.in).getFullYear()}function rr(e,t){return+A(e)>+A(t)}function or(e,t){return+A(e)<+A(t)}function ar(e,t,s){const[n,r]=ve(s?.in,e,t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()}function ir(e,t,s){const[n,r]=ve(s?.in,e,t);return n.getFullYear()===r.getFullYear()}function lr(e,t,s){const n=A(e,s?.in),r=n.getFullYear(),l=n.getDate(),a=oe(e,0);a.setFullYear(r,t,15),a.setHours(0,0,0,0);const o=tr(a);return n.setMonth(t,Math.min(l,o)),n}function cr(e,t,s){const n=A(e,s?.in);return isNaN(+n)?oe(e,NaN):(n.setFullYear(t),n)}function dr(e){return c.jsx(Se,{content:"To Charge",children:c.jsx(wt,{to:St.CHARGES.DETAIL(e.chargeId),target:"_blank",rel:"noreferrer",onClick:t=>t.stopPropagation(),className:"inline-block",children:c.jsx(q,{...e,className:I("size-7.5",e.className),variant:"ghost",children:c.jsx(Us,{className:"size-5"})})})})}function ur({transactionId:e}){const{updateTransaction:t}=Xe();function s(){t({transactionId:e,fields:{chargeId:Fn}})}return c.jsx(_n,{onConfirm:s,title:"Are you sure you want to unlink this transaction from the charge?",children:c.jsx(q,{variant:"ghost",size:"icon",className:"size-7.5",children:c.jsx(Yn,{className:"size-5"})})})}const fr=({transactionID:e,onDone:t,onChange:s})=>{const[{data:n,fetching:r}]=Ot({query:Pn,variables:{transactionIDs:[e]}}),l=n?.transactionsByIDs?.[0],a=Ct({defaultValues:l??{}});O.useEffect(()=>{l&&a.reset(l)},[l,a]);const{control:o,handleSubmit:i,formState:{dirtyFields:d}}=a,{updateTransaction:f,fetching:u}=Xe(),h=v=>{if(!l)return;const p=Kn(v,d);t?.(),p&&Object.keys(p).length>0&&f({transactionId:l.id,fields:p}).then(s)},{selectableFinancialEntities:y,fetching:S}=Nt();return c.jsxs(c.Fragment,{children:[r&&c.jsx(Bn,{className:"flex self-center my-5",color:"dark",size:"xl",variant:"dots"}),!r&&l&&c.jsx(jt,{...a,children:c.jsxs("form",{onSubmit:i(h),children:[c.jsx("div",{className:"flex-row px-10 h-max justify-start block",children:c.jsxs(An,{cols:3,children:[c.jsx(le,{name:"counterpartyId",control:o,defaultValue:l.counterparty?.id,rules:{minLength:{value:2,message:"Minimum 2 characters"}},render:({field:v})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Counterparty"}),c.jsxs(Rn,{onValueChange:v.onChange,value:v.value??void 0,disabled:S,children:[c.jsx(ye,{children:c.jsx(zn,{className:"w-full truncate",children:c.jsx(qn,{placeholder:"Scroll to see all options"})})}),c.jsx(Hn,{onClick:p=>p.stopPropagation(),children:y.map(({value:p,label:k})=>c.jsx($n,{value:p,children:k},p))})]}),c.jsx(fe,{})]})}),l?.account.type===Un.CreditCard?c.jsx(le,{name:"effectiveDate",control:o,rules:{pattern:{value:Wt,message:"Date must be im format yyyy-mm-dd"}},render:({field:v})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Effective Date"}),c.jsx(ye,{children:c.jsx(Qo,{...v,onChange:p=>{const k=p?Z(p,"yyyy-MM-dd"):void 0;k!==v.value&&v.onChange(k)},value:v.value?new Date(v.value):void 0})}),c.jsx(fe,{})]})}):c.jsx(c.Fragment,{}),c.jsx(le,{name:"isFee",control:o,defaultValue:l.isFee,render:({field:v})=>c.jsxs(ce,{className:"flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm",children:[c.jsx("div",{className:"space-y-0.5",children:c.jsx(de,{children:"Fee Transaction"})}),c.jsx(ye,{children:c.jsx(Gn,{checked:v.value===!0,onCheckedChange:v.onChange})})]})})]})}),c.jsxs("div",{className:"mt-10 mb-5 flex justify-center gap-5",children:[c.jsx("button",{type:"submit",onClick:()=>i(h),className:"mt-8 text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg",disabled:u||Object.keys(d).length===0,children:"Accept"}),c.jsx("button",{type:"button",className:"mt-8 text-white bg-rose-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-rose-600 rounded-sm text-lg",onClick:t,children:"Cancel"})]})]})})]})},hr="insertMiscExpense",mr=()=>{const[{fetching:e},t]=Vn(Zn),s=O.useCallback(async n=>{const r="Error creating misc expense",l=`${hr}-${n.chargeId}`;Pe.loading("Creating misc expense",{id:l});try{const a=await t(n),o=Xn(a,r,l);if(o)return Pe.success("Success",{id:l,description:"Misc expense was created"}),o.insertMiscExpense}catch(a){console.error(`${r}: ${a}`),Pe.error("Error",{id:l,description:r,duration:1e5,closeButton:!0})}},[t]);return{fetching:e,insertMiscExpense:s}},gr=({onDone:e,defaultValues:t={},chargeId:s})=>{const{insertMiscExpense:n,fetching:r}=mr(),l=O.useCallback(async a=>{await n({chargeId:s,fields:a}),e()},[n,s,e]);return c.jsx(yr,{defaultValues:t,onInsertDone:l,fetching:r})},yr=({onInsertDone:e,defaultValues:t,fetching:s})=>{const n=o=>{o&&Object.keys(o).length>0&&e(o)},r=Ct({defaultValues:{...t}}),{handleSubmit:l,formState:{dirtyFields:a}}=r;return c.jsx(jt,{...r,children:c.jsx("form",{onSubmit:l(n),noValidate:!0,children:c.jsxs("div",{className:"px-5 flex flex-col gap-5 relative",children:[s&&c.jsx("div",{className:"absolute bg-white/60 z-10 h-full w-full flex items-center justify-center",children:c.jsx("div",{className:"flex items-center",children:c.jsx("span",{className:"text-3xl mr-4",children:c.jsx(Qn,{className:"h-10 w-10 animate-spin mr-2 self-center"})})})}),c.jsx(pr,{formManager:r,isInsert:!0}),c.jsx("div",{className:"flex justify-right gap-5 mt-5",children:c.jsx("button",{type:"submit",className:"text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg",disabled:s||Object.keys(a).length===0,children:"Accept"})})]})})})},pr=({formManager:e,isInsert:t})=>{const{control:s,setValue:n}=e,{selectableFinancialEntities:r,fetching:l}=Nt();return c.jsxs(c.Fragment,{children:[c.jsx(le,{name:"creditorId",control:s,rules:{required:t?"Required":void 0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Creditor"}),c.jsx(ct,{...a,data:r,value:a.value??void 0,disabled:l,placeholder:"Select creditor",formPart:!0}),c.jsx(fe,{})]})}),c.jsx(le,{name:"debtorId",control:s,rules:{required:t?"Required":void 0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Debtor"}),c.jsx(ct,{...a,data:r,value:a.value??void 0,disabled:l,placeholder:"Select debtor",formPart:!0}),c.jsx(fe,{})]})}),c.jsx(dt,{name:"amount",control:s,rules:{required:t?"Required":void 0},render:({field:a,fieldState:o})=>c.jsx(dt,{name:"currency",control:s,rules:{required:t?"Required":void 0},render:({field:i,fieldState:d})=>c.jsx(Jn,{...a,required:t,value:a.value??void 0,error:o.error?.message||d.error?.message,label:"Amount",currencyCodeProps:{...i,required:t,label:"Currency"}})})}),c.jsx(le,{name:"invoiceDate",control:s,rules:{...t?{required:"Required"}:{},pattern:{value:Wt,message:"Date must be im format yyyy-mm-dd"}},render:({field:a})=>{const o=a.value?new Date(a.value):void 0;return c.jsxs(ce,{children:[c.jsx(de,{children:"Invoice Date"}),c.jsx(ye,{children:c.jsx(Ln,{...a,required:t,onChange:i=>{const d=i?typeof i=="string"?i:Z(i,"yyyy-MM-dd"):void 0;d!==a.value&&(n("invoiceDate",d),a.onChange(d))},value:o,valueFormat:"DD/MM/YYYY"})}),c.jsx(fe,{})]})}}),c.jsx(le,{name:"valueDate",control:s,rules:{...t?{required:"Required"}:{},validate:a=>a?!Number.isNaN(a.getTime())||"Invalid date and time format":!0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Value Date"}),c.jsx(ye,{children:c.jsx(es,{...a,onChange:o=>{n("valueDate",o),a.onChange(o)},onPointerEnterCapture:()=>{},onPointerLeaveCapture:()=>{},required:t,placeholder:"Pick date and time",valueFormat:"DD/MM/YYYY HH:mm:ss",withSeconds:!0})}),c.jsx(fe,{})]})}),c.jsx(le,{name:"description",control:s,rules:{required:t?"Required":void 0},render:({field:a})=>c.jsxs(ce,{children:[c.jsx(de,{children:"Description"}),c.jsx(ye,{children:c.jsx(Tt,{...a,required:t,value:a.value??void 0})}),c.jsx(fe,{})]})})]})};function br(e,t,s="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:s}).format(t).split(/\s/g).slice(2).join(" ")}const vr={},be={};function he(e,t){try{const n=(vr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return n in be?be[n]:mt(n,n.split(":"))}catch{if(e in be)return be[e];const s=e?.match(xr);return s?mt(e,s.slice(1)):NaN}}const xr=/([+-]\d\d):?(\d\d)?/;function mt(e,t){const s=+(t[0]||0),n=+(t[1]||0),r=+(t[2]||0)/60;return be[e]=s*60+n>0?s*60+n+r:s*60-n-r}class L extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(he(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),At(this),Ze(this)):this.setTime(Date.now())}static tz(t,...s){return s.length?new L(...s,t):new L(Date.now(),t)}withTimeZone(t){return new L(+this,t)}getTimezoneOffset(){const t=-he(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Ze(this),+this}[Symbol.for("constructDateFrom")](t){return new L(+new Date(t),this.timeZone)}}const gt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!gt.test(e))return;const t=e.replace(gt,"$1UTC");L.prototype[t]&&(e.startsWith("get")?L.prototype[e]=function(){return this.internal[t]()}:(L.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Dr(this),+this},L.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Ze(this),+this}))});function Ze(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-he(e.timeZone,e)*60))}function Dr(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),At(e)}function At(e){const t=he(e.timeZone,e),s=t>0?Math.floor(t):Math.ceil(t),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),l=-new Date(+n).getTimezoneOffset(),a=r-l,o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);const i=r-s;i&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+i);const d=new Date(+e);d.setUTCSeconds(0);const f=r>0?d.getSeconds():(d.getSeconds()-60)%60,u=Math.round(-(he(e.timeZone,e)*60))%60;(u||f)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+f));const h=he(e.timeZone,e),y=h>0?Math.floor(h):Math.ceil(h),v=-new Date(+e).getTimezoneOffset()-y,p=y!==s,k=v-i;if(p&&k){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+k);const W=he(e.timeZone,e),w=W>0?Math.floor(W):Math.ceil(W),M=y-w;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class B extends L{static tz(t,...s){return s.length?new B(...s,t):new B(Date.now(),t)}toISOString(){const[t,s,n]=this.tzComponents(),r=`${t}${s}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,s,n,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${n} ${s} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[s,n,r]=this.tzComponents();return`${t} GMT${s}${n}${r} (${br(this.timeZone,this)})`}toLocaleString(t,s){return Date.prototype.toLocaleString.call(this,t,{...s,timeZone:s?.timeZone||this.timeZone})}toLocaleDateString(t,s){return Date.prototype.toLocaleDateString.call(this,t,{...s,timeZone:s?.timeZone||this.timeZone})}toLocaleTimeString(t,s){return Date.prototype.toLocaleTimeString.call(this,t,{...s,timeZone:s?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),s=t>0?"-":"+",n=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[s,n,r]}withTimeZone(t){return new B(+this,t)}[Symbol.for("constructDateFrom")](t){return new B(+new Date(t),this.timeZone)}}const yt=5,kr=4;function Mr(e,t){const s=t.startOfMonth(e),n=s.getDay()>0?s.getDay():7,r=t.addDays(e,-n+1),l=t.addDays(r,yt*7-1);return t.getMonth(e)===t.getMonth(l)?yt:kr}function Rt(e,t){const s=t.startOfMonth(e),n=s.getDay();return n===1?s:n===0?t.addDays(s,-6):t.addDays(s,-1*(n-1))}function wr(e,t){const s=Rt(e,t),n=Mr(e,t);return t.addDays(s,n*7-1)}const zt={...pe,labels:{labelDayButton:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Z(a,o,{locale:pe,...s});let l=r(e,"PPPP");return t.today&&(l=`Today, ${l}`),t.selected&&(l=`${l}, selected`),l},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,s)=>{let n;return s&&typeof s.format=="function"?n=s.format.bind(s):n=(r,l)=>Z(r,l,{locale:pe,...t}),n(e,"LLLL yyyy")},labelGridcell:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Z(a,o,{locale:pe,...s});let l=r(e,"PPPP");return t?.today&&(l=`Today, ${l}`),l},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,s)=>{let n;return s&&typeof s.format=="function"?n=s.format.bind(s):n=(r,l)=>Z(r,l,{locale:pe,...t}),n(e,"cccc")}}};class H{constructor(t,s){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?B.tz(this.options.timeZone):new this.Date,this.newDate=(n,r,l)=>this.overrides?.newDate?this.overrides.newDate(n,r,l):this.options.timeZone?new B(n,r,l,this.options.timeZone):new Date(n,r,l),this.addDays=(n,r)=>this.overrides?.addDays?this.overrides.addDays(n,r):Yt(n,r),this.addMonths=(n,r)=>this.overrides?.addMonths?this.overrides.addMonths(n,r):ts(n,r),this.addWeeks=(n,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(n,r):Gs(n,r),this.addYears=(n,r)=>this.overrides?.addYears?this.overrides.addYears(n,r):ns(n,r),this.differenceInCalendarDays=(n,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(n,r):Et(n,r),this.differenceInCalendarMonths=(n,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(n,r):Ft(n,r),this.eachMonthOfInterval=n=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(n):Qs(n),this.eachYearOfInterval=n=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(n):Ls(n),l=new Set(r.map(o=>this.getYear(o)));if(l.size===r.length)return r;const a=[];return l.forEach(o=>{a.push(new Date(o,0,1))}),a},this.endOfBroadcastWeek=n=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(n):wr(n,this),this.endOfISOWeek=n=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(n):er(n),this.endOfMonth=n=>this.overrides?.endOfMonth?this.overrides.endOfMonth(n):Xs(n),this.endOfWeek=(n,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(n,r):Bt(n,this.options),this.endOfYear=n=>this.overrides?.endOfYear?this.overrides.endOfYear(n):ss(n),this.format=(n,r,l)=>{const a=this.overrides?.format?this.overrides.format(n,r,this.options):Z(n,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(a):a},this.getISOWeek=n=>this.overrides?.getISOWeek?this.overrides.getISOWeek(n):It(n),this.getMonth=(n,r)=>this.overrides?.getMonth?this.overrides.getMonth(n,this.options):nr(n,this.options),this.getYear=(n,r)=>this.overrides?.getYear?this.overrides.getYear(n,this.options):sr(n,this.options),this.getWeek=(n,r)=>this.overrides?.getWeek?this.overrides.getWeek(n,this.options):_t(n,this.options),this.isAfter=(n,r)=>this.overrides?.isAfter?this.overrides.isAfter(n,r):rr(n,r),this.isBefore=(n,r)=>this.overrides?.isBefore?this.overrides.isBefore(n,r):or(n,r),this.isDate=n=>this.overrides?.isDate?this.overrides.isDate(n):rs(n),this.isSameDay=(n,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(n,r):Zs(n,r),this.isSameMonth=(n,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(n,r):ar(n,r),this.isSameYear=(n,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(n,r):ir(n,r),this.max=n=>this.overrides?.max?this.overrides.max(n):Ks(n),this.min=n=>this.overrides?.min?this.overrides.min(n):Vs(n),this.setMonth=(n,r)=>this.overrides?.setMonth?this.overrides.setMonth(n,r):lr(n,r),this.setYear=(n,r)=>this.overrides?.setYear?this.overrides.setYear(n,r):cr(n,r),this.startOfBroadcastWeek=(n,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(n,this):Rt(n,this),this.startOfDay=n=>this.overrides?.startOfDay?this.overrides.startOfDay(n):Ve(n),this.startOfISOWeek=n=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(n):os(n),this.startOfMonth=n=>this.overrides?.startOfMonth?this.overrides.startOfMonth(n):Js(n),this.startOfWeek=(n,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(n,this.options):as(n,this.options),this.startOfYear=n=>this.overrides?.startOfYear?this.overrides.startOfYear(n):is(n),this.options={locale:zt,...t},this.overrides=s}getDigitMap(){const{numerals:t="latn"}=this.options,s=new Intl.NumberFormat("en-US",{numberingSystem:t}),n={};for(let r=0;r<10;r++)n[r.toString()]=s.format(r);return n}replaceDigits(t){const s=this.getDigitMap();return t.replace(/\d/g,n=>s[n]||n)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&H.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:s,timeZone:n,numerals:r}=this.options,l=s?.code;if(l&&H.yearFirstLocales.has(l))try{return new Intl.DateTimeFormat(l,{month:"long",year:"numeric",timeZone:n,numberingSystem:r}).format(t)}catch{}const a=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,a)}}H.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const ee=new H;class qt{constructor(t,s,n=ee){this.date=t,this.displayMonth=s,this.outside=!!(s&&!n.isSameMonth(t,s)),this.dateLib=n,this.isoDate=n.format(t,"yyyy-MM-dd"),this.displayMonthId=n.format(s,"yyyy-MM"),this.dateMonthId=n.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class Sr{constructor(t,s){this.date=t,this.weeks=s}}class Or{constructor(t,s){this.days=s,this.weekNumber=t}}function Cr(e){return m.createElement("button",{...e})}function Nr(e){return m.createElement("span",{...e})}function jr(e){const{size:t=24,orientation:s="left",className:n}=e;return m.createElement("svg",{className:n,width:t,height:t,viewBox:"0 0 24 24"},s==="up"&&m.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),s==="down"&&m.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),s==="left"&&m.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),s==="right"&&m.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Wr(e){const{day:t,modifiers:s,...n}=e;return m.createElement("td",{...n})}function Tr(e){const{day:t,modifiers:s,...n}=e,r=m.useRef(null);return m.useEffect(()=>{s.focused&&r.current?.focus()},[s.focused]),m.createElement("button",{ref:r,...n})}var b;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(b||(b={}));var Y;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(Y||(Y={}));var X;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(X||(X={}));var z;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(z||(z={}));function Er(e){const{options:t,className:s,components:n,classNames:r,...l}=e,a=[r[b.Dropdown],s].join(" "),o=t?.find(({value:i})=>i===l.value);return m.createElement("span",{"data-disabled":l.disabled,className:r[b.DropdownRoot]},m.createElement(n.Select,{className:a,...l},t?.map(({value:i,label:d,disabled:f})=>m.createElement(n.Option,{key:i,value:i,disabled:f},d))),m.createElement("span",{className:r[b.CaptionLabel],"aria-hidden":!0},o?.label,m.createElement(n.Chevron,{orientation:"down",size:18,className:r[b.Chevron]})))}function Ir(e){return m.createElement("div",{...e})}function _r(e){return m.createElement("div",{...e})}function Yr(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n},e.children)}function Fr(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n})}function Pr(e){return m.createElement("table",{...e})}function Br(e){return m.createElement("div",{...e})}const Ht=O.createContext(void 0);function xe(){const e=O.useContext(Ht);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Ar(e){const{components:t}=xe();return m.createElement(t.Dropdown,{...e})}function Rr(e){const{onPreviousClick:t,onNextClick:s,previousMonth:n,nextMonth:r,...l}=e,{components:a,classNames:o,labels:{labelPrevious:i,labelNext:d}}=xe(),f=O.useCallback(h=>{r&&s?.(h)},[r,s]),u=O.useCallback(h=>{n&&t?.(h)},[n,t]);return m.createElement("nav",{...l},m.createElement(a.PreviousMonthButton,{type:"button",className:o[b.PreviousMonthButton],tabIndex:n?void 0:-1,"aria-disabled":n?void 0:!0,"aria-label":i(n),onClick:u},m.createElement(a.Chevron,{disabled:n?void 0:!0,className:o[b.Chevron],orientation:"left"})),m.createElement(a.NextMonthButton,{type:"button",className:o[b.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:f},m.createElement(a.Chevron,{disabled:r?void 0:!0,orientation:"right",className:o[b.Chevron]})))}function zr(e){const{components:t}=xe();return m.createElement(t.Button,{...e})}function qr(e){return m.createElement("option",{...e})}function Hr(e){const{components:t}=xe();return m.createElement(t.Button,{...e})}function $r(e){const{rootRef:t,...s}=e;return m.createElement("div",{...s,ref:t})}function Ur(e){return m.createElement("select",{...e})}function Gr(e){const{week:t,...s}=e;return m.createElement("tr",{...s})}function Kr(e){return m.createElement("th",{...e})}function Vr(e){return m.createElement("thead",{"aria-hidden":!0},m.createElement("tr",{...e}))}function Zr(e){const{week:t,...s}=e;return m.createElement("th",{...s})}function Xr(e){return m.createElement("th",{...e})}function Qr(e){return m.createElement("tbody",{...e})}function Jr(e){const{components:t}=xe();return m.createElement(t.Dropdown,{...e})}const Lr=Object.freeze(Object.defineProperty({__proto__:null,Button:Cr,CaptionLabel:Nr,Chevron:jr,Day:Wr,DayButton:Tr,Dropdown:Er,DropdownNav:Ir,Footer:_r,Month:Yr,MonthCaption:Fr,MonthGrid:Pr,Months:Br,MonthsDropdown:Ar,Nav:Rr,NextMonthButton:zr,Option:qr,PreviousMonthButton:Hr,Root:$r,Select:Ur,Week:Gr,WeekNumber:Zr,WeekNumberHeader:Xr,Weekday:Kr,Weekdays:Vr,Weeks:Qr,YearsDropdown:Jr},Symbol.toStringTag,{value:"Module"}));function se(e,t,s=!1,n=ee){let{from:r,to:l}=e;const{differenceInCalendarDays:a,isSameDay:o}=n;return r&&l?(a(l,r)<0&&([r,l]=[l,r]),a(t,r)>=(s?1:0)&&a(l,t)>=(s?1:0)):!s&&l?o(l,t):!s&&r?o(r,t):!1}function Qe(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Oe(e){return!!(e&&typeof e=="object"&&"from"in e)}function Je(e){return!!(e&&typeof e=="object"&&"after"in e)}function Le(e){return!!(e&&typeof e=="object"&&"before"in e)}function $t(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Ut(e,t){return Array.isArray(e)&&e.every(t.isDate)}function re(e,t,s=ee){const n=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:l,isAfter:a}=s;return n.some(o=>{if(typeof o=="boolean")return o;if(s.isDate(o))return r(e,o);if(Ut(o,s))return o.some(i=>r(e,i));if(Oe(o))return se(o,e,!1,s);if($t(o))return Array.isArray(o.dayOfWeek)?o.dayOfWeek.includes(e.getDay()):o.dayOfWeek===e.getDay();if(Qe(o)){const i=l(o.before,e),d=l(o.after,e),f=i>0,u=d<0;return a(o.before,o.after)?u&&f:f||u}return Je(o)?l(e,o.after)>0:Le(o)?l(o.before,e)>0:typeof o=="function"?o(e):!1})}function eo(e,t,s,n,r){const{disabled:l,hidden:a,modifiers:o,showOutsideDays:i,broadcastCalendar:d,today:f=r.today()}=t,{isSameDay:u,isSameMonth:h,startOfMonth:y,isBefore:S,endOfMonth:v,isAfter:p}=r,k=s&&y(s),W=n&&v(n),w={[Y.focused]:[],[Y.outside]:[],[Y.disabled]:[],[Y.hidden]:[],[Y.today]:[]},M={};for(const x of e){const{date:g,displayMonth:N}=x,T=!!(N&&!h(g,N)),P=!!(k&&S(g,k)),F=!!(W&&p(g,W)),Q=!!(l&&re(g,l,r)),ae=!!(a&&re(g,a,r))||P||F||!d&&!i&&T||d&&i===!1&&T,te=u(g,f);T&&w.outside.push(x),Q&&w.disabled.push(x),ae&&w.hidden.push(x),te&&w.today.push(x),o&&Object.keys(o).forEach($=>{const me=o?.[$];me&&re(g,me,r)&&(M[$]?M[$].push(x):M[$]=[x])})}return x=>{const g={[Y.focused]:!1,[Y.disabled]:!1,[Y.hidden]:!1,[Y.outside]:!1,[Y.today]:!1},N={};for(const T in w){const P=w[T];g[T]=P.some(F=>F===x)}for(const T in M)N[T]=M[T].some(P=>P===x);return{...g,...N}}}function to(e,t,s={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[l])=>(s[l]?r.push(s[l]):t[Y[l]]?r.push(t[Y[l]]):t[X[l]]&&r.push(t[X[l]]),r),[t[b.Day]])}function no(e){return{...Lr,...e}}function so(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([s,n])=>{s.startsWith("data-")&&(t[s]=n)}),t}function et(){const e={};for(const t in b)e[b[t]]=`rdp-${b[t]}`;for(const t in Y)e[Y[t]]=`rdp-${Y[t]}`;for(const t in X)e[X[t]]=`rdp-${X[t]}`;for(const t in z)e[z[t]]=`rdp-${z[t]}`;return e}function Gt(e,t,s){return(s??new H(t)).formatMonthYear(e)}const ro=Gt;function oo(e,t,s){return(s??new H(t)).format(e,"d")}function ao(e,t=ee){return t.format(e,"LLLL")}function io(e,t,s){return(s??new H(t)).format(e,"cccccc")}function lo(e,t=ee){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function co(){return""}function Kt(e,t=ee){return t.format(e,"yyyy")}const uo=Kt,fo=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Gt,formatDay:oo,formatMonthCaption:ro,formatMonthDropdown:ao,formatWeekNumber:lo,formatWeekNumberHeader:co,formatWeekdayName:io,formatYearCaption:uo,formatYearDropdown:Kt},Symbol.toStringTag,{value:"Module"}));function ho(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...fo,...e}}function tt(e,t,s,n){let r=(n??new H(s)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const mo=tt;function nt(e,t,s){return(s??new H(t)).formatMonthYear(e)}const go=nt;function Vt(e,t,s,n){let r=(n??new H(s)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function Zt(e){return"Choose the Month"}function Xt(){return""}const yo="Go to the Next Month";function Qt(e,t){return yo}function Jt(e){return"Go to the Previous Month"}function Lt(e,t,s){return(s??new H(t)).format(e,"cccc")}function en(e,t){return`Week ${e}`}function tn(e){return"Week Number"}function nn(e){return"Choose the Year"}const po=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:go,labelDay:mo,labelDayButton:tt,labelGrid:nt,labelGridcell:Vt,labelMonthDropdown:Zt,labelNav:Xt,labelNext:Qt,labelPrevious:Jt,labelWeekNumber:en,labelWeekNumberHeader:tn,labelWeekday:Lt,labelYearDropdown:nn},Symbol.toStringTag,{value:"Module"})),V=(e,t,s)=>t||(s?typeof s=="function"?s:(...n)=>s:e);function bo(e,t){const s=t.locale?.labels??{};return{...po,...e??{},labelDayButton:V(tt,e?.labelDayButton,s.labelDayButton),labelMonthDropdown:V(Zt,e?.labelMonthDropdown,s.labelMonthDropdown),labelNext:V(Qt,e?.labelNext,s.labelNext),labelPrevious:V(Jt,e?.labelPrevious,s.labelPrevious),labelWeekNumber:V(en,e?.labelWeekNumber,s.labelWeekNumber),labelYearDropdown:V(nn,e?.labelYearDropdown,s.labelYearDropdown),labelGrid:V(nt,e?.labelGrid,s.labelGrid),labelGridcell:V(Vt,e?.labelGridcell,s.labelGridcell),labelNav:V(Xt,e?.labelNav,s.labelNav),labelWeekNumberHeader:V(tn,e?.labelWeekNumberHeader,s.labelWeekNumberHeader),labelWeekday:V(Lt,e?.labelWeekday,s.labelWeekday)}}function vo(e,t,s,n,r){const{startOfMonth:l,startOfYear:a,endOfYear:o,eachMonthOfInterval:i,getMonth:d}=r;return i({start:a(e),end:o(e)}).map(h=>{const y=n.formatMonthDropdown(h,r),S=d(h),v=t&&h<l(t)||s&&h>l(s)||!1;return{value:S,label:y,disabled:v}})}function xo(e,t={},s={}){let n={...t?.[b.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{n={...n,...s?.[r]}}),n}function Do(e,t,s,n){const r=n??e.today(),l=s?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),a=[];for(let o=0;o<7;o++){const i=e.addDays(l,o);a.push(i)}return a}function ko(e,t,s,n,r=!1){if(!e||!t)return;const{startOfYear:l,endOfYear:a,eachYearOfInterval:o,getYear:i}=n,d=l(e),f=a(t),u=o({start:d,end:f});return r&&u.reverse(),u.map(h=>{const y=s.formatYearDropdown(h,n);return{value:i(h),label:y,disabled:!1}})}function Mo(e,t={}){const{weekStartsOn:s,locale:n}=t,r=s??n?.options?.weekStartsOn??0,l=o=>{const i=typeof o=="number"||typeof o=="string"?new Date(o):o;return new B(i.getFullYear(),i.getMonth(),i.getDate(),12,0,0,e)},a=o=>{const i=l(o);return new Date(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0,0)};return{today:()=>l(B.tz(e)),newDate:(o,i,d)=>new B(o,i,d,12,0,0,e),startOfDay:o=>l(o),startOfWeek:(o,i)=>{const d=l(o),f=i?.weekStartsOn??r,u=(d.getDay()-f+7)%7;return d.setDate(d.getDate()-u),d},startOfISOWeek:o=>{const i=l(o),d=(i.getDay()-1+7)%7;return i.setDate(i.getDate()-d),i},startOfMonth:o=>{const i=l(o);return i.setDate(1),i},startOfYear:o=>{const i=l(o);return i.setMonth(0,1),i},endOfWeek:(o,i)=>{const d=l(o),h=(((i?.weekStartsOn??r)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+h),d},endOfISOWeek:o=>{const i=l(o),d=(7-i.getDay())%7;return i.setDate(i.getDate()+d),i},endOfMonth:o=>{const i=l(o);return i.setMonth(i.getMonth()+1,0),i},endOfYear:o=>{const i=l(o);return i.setMonth(11,31),i},eachMonthOfInterval:o=>{const i=l(o.start),d=l(o.end),f=[],u=new B(i.getFullYear(),i.getMonth(),1,12,0,0,e),h=d.getFullYear()*12+d.getMonth();for(;u.getFullYear()*12+u.getMonth()<=h;)f.push(new B(u,e)),u.setMonth(u.getMonth()+1,1);return f},addDays:(o,i)=>{const d=l(o);return d.setDate(d.getDate()+i),d},addWeeks:(o,i)=>{const d=l(o);return d.setDate(d.getDate()+i*7),d},addMonths:(o,i)=>{const d=l(o);return d.setMonth(d.getMonth()+i),d},addYears:(o,i)=>{const d=l(o);return d.setFullYear(d.getFullYear()+i),d},eachYearOfInterval:o=>{const i=l(o.start),d=l(o.end),f=[],u=new B(i.getFullYear(),0,1,12,0,0,e);for(;u.getFullYear()<=d.getFullYear();)f.push(new B(u,e)),u.setFullYear(u.getFullYear()+1,0,1);return f},getWeek:(o,i)=>{const d=a(o);return _t(d,{weekStartsOn:i?.weekStartsOn??r,firstWeekContainsDate:i?.firstWeekContainsDate??n?.options?.firstWeekContainsDate??1})},getISOWeek:o=>{const i=a(o);return It(i)},differenceInCalendarDays:(o,i)=>{const d=a(o),f=a(i);return Et(d,f)},differenceInCalendarMonths:(o,i)=>{const d=a(o),f=a(i);return Ft(d,f)}}}const De=e=>e instanceof HTMLElement?e:null,Ae=e=>[...e.querySelectorAll("[data-animated-month]")??[]],wo=e=>De(e.querySelector("[data-animated-month]")),Re=e=>De(e.querySelector("[data-animated-caption]")),ze=e=>De(e.querySelector("[data-animated-weeks]")),So=e=>De(e.querySelector("[data-animated-nav]")),Oo=e=>De(e.querySelector("[data-animated-weekdays]"));function Co(e,t,{classNames:s,months:n,focused:r,dateLib:l}){const a=O.useRef(null),o=O.useRef(n),i=O.useRef(!1);O.useLayoutEffect(()=>{const d=o.current;if(o.current=n,!t||!e.current||!(e.current instanceof HTMLElement)||n.length===0||d.length===0||n.length!==d.length)return;const f=l.isSameMonth(n[0].date,d[0].date),u=l.isAfter(n[0].date,d[0].date),h=u?s[z.caption_after_enter]:s[z.caption_before_enter],y=u?s[z.weeks_after_enter]:s[z.weeks_before_enter],S=a.current,v=e.current.cloneNode(!0);if(v instanceof HTMLElement?(Ae(v).forEach(w=>{if(!(w instanceof HTMLElement))return;const M=wo(w);M&&w.contains(M)&&w.removeChild(M);const x=Re(w);x&&x.classList.remove(h);const g=ze(w);g&&g.classList.remove(y)}),a.current=v):a.current=null,i.current||f||r)return;const p=S instanceof HTMLElement?Ae(S):[],k=Ae(e.current);if(k?.every(W=>W instanceof HTMLElement)&&p&&p.every(W=>W instanceof HTMLElement)){i.current=!0,e.current.style.isolation="isolate";const W=So(e.current);W&&(W.style.zIndex="1"),k.forEach((w,M)=>{const x=p[M];if(!x)return;w.style.position="relative",w.style.overflow="hidden";const g=Re(w);g&&g.classList.add(h);const N=ze(w);N&&N.classList.add(y);const T=()=>{i.current=!1,e.current&&(e.current.style.isolation=""),W&&(W.style.zIndex=""),g&&g.classList.remove(h),N&&N.classList.remove(y),w.style.position="",w.style.overflow="",w.contains(x)&&w.removeChild(x)};x.style.pointerEvents="none",x.style.position="absolute",x.style.overflow="hidden",x.setAttribute("aria-hidden","true");const P=Oo(x);P&&(P.style.opacity="0");const F=Re(x);F&&(F.classList.add(u?s[z.caption_before_exit]:s[z.caption_after_exit]),F.addEventListener("animationend",T));const Q=ze(x);Q&&Q.classList.add(u?s[z.weeks_before_exit]:s[z.weeks_after_exit]),w.insertBefore(x,w.firstChild)})}})}function No(e,t,s,n){const r=e[0],l=e[e.length-1],{ISOWeek:a,fixedWeeks:o,broadcastCalendar:i}=s??{},{addDays:d,differenceInCalendarDays:f,differenceInCalendarMonths:u,endOfBroadcastWeek:h,endOfISOWeek:y,endOfMonth:S,endOfWeek:v,isAfter:p,startOfBroadcastWeek:k,startOfISOWeek:W,startOfWeek:w}=n,M=i?k(r,n):a?W(r):w(r),x=i?h(l):a?y(S(l)):v(S(l)),g=t&&(i?h(t):a?y(t):v(t)),N=g&&p(x,g)?g:x,T=f(N,M),P=u(l,r)+1,F=[];for(let te=0;te<=T;te++){const $=d(M,te);F.push($)}const ae=(i?35:42)*P;if(o&&F.length<ae){const te=ae-F.length;for(let $=0;$<te;$++){const me=d(F[F.length-1],1);F.push(me)}}return F}function jo(e){const t=[];return e.reduce((s,n)=>{const r=n.weeks.reduce((l,a)=>l.concat(a.days.slice()),t.slice());return s.concat(r.slice())},t.slice())}function Wo(e,t,s,n){const{numberOfMonths:r=1}=s,l=[];for(let a=0;a<r;a++){const o=n.addMonths(e,a);if(t&&o>t)break;l.push(o)}return l}function pt(e,t,s,n){const{month:r,defaultMonth:l,today:a=n.today(),numberOfMonths:o=1}=e;let i=r||l||a;const{differenceInCalendarMonths:d,addMonths:f,startOfMonth:u}=n;if(s&&d(s,i)<o-1){const h=-1*(o-1);i=f(s,h)}return t&&d(i,t)<0&&(i=t),u(i)}function To(e,t,s,n){const{addDays:r,endOfBroadcastWeek:l,endOfISOWeek:a,endOfMonth:o,endOfWeek:i,getISOWeek:d,getWeek:f,startOfBroadcastWeek:u,startOfISOWeek:h,startOfWeek:y}=n,S=e.reduce((v,p)=>{const k=s.broadcastCalendar?u(p,n):s.ISOWeek?h(p):y(p),W=s.broadcastCalendar?l(p):s.ISOWeek?a(o(p)):i(o(p)),w=t.filter(N=>N>=k&&N<=W),M=s.broadcastCalendar?35:42;if(s.fixedWeeks&&w.length<M){const N=t.filter(T=>{const P=M-w.length;return T>W&&T<=r(W,P)});w.push(...N)}const x=w.reduce((N,T)=>{const P=s.ISOWeek?d(T):f(T),F=N.find(ae=>ae.weekNumber===P),Q=new qt(T,p,n);return F?F.days.push(Q):N.push(new Or(P,[Q])),N},[]),g=new Sr(p,x);return v.push(g),v},[]);return s.reverseMonths?S.reverse():S}function Eo(e,t){let{startMonth:s,endMonth:n}=e;const{startOfYear:r,startOfDay:l,startOfMonth:a,endOfMonth:o,addYears:i,endOfYear:d,newDate:f,today:u}=t,{fromYear:h,toYear:y,fromMonth:S,toMonth:v}=e;!s&&S&&(s=S),!s&&h&&(s=t.newDate(h,0,1)),!n&&v&&(n=v),!n&&y&&(n=f(y,11,31));const p=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return s?s=a(s):h?s=f(h,0,1):!s&&p&&(s=r(i(e.today??u(),-100))),n?n=o(n):y?n=f(y,11,31):!n&&p&&(n=d(e.today??u())),[s&&l(s),n&&l(n)]}function Io(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:l=1}=s,{startOfMonth:a,addMonths:o,differenceInCalendarMonths:i}=n,d=r?l:1,f=a(e);if(!t)return o(f,d);if(!(i(t,e)<l))return o(f,d)}function _o(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:l}=s,{startOfMonth:a,addMonths:o,differenceInCalendarMonths:i}=n,d=r?l??1:1,f=a(e);if(!t)return o(f,-d);if(!(i(f,t)<=0))return o(f,-d)}function Yo(e){const t=[];return e.reduce((s,n)=>s.concat(n.weeks.slice()),t.slice())}function Ce(e,t){const[s,n]=O.useState(e);return[t===void 0?s:t,n]}function Fo(e,t){const[s,n]=Eo(e,t),{startOfMonth:r,endOfMonth:l}=t,a=pt(e,s,n,t),[o,i]=Ce(a,e.month?a:void 0);O.useEffect(()=>{const M=pt(e,s,n,t);i(M)},[e.timeZone]);const{months:d,weeks:f,days:u,previousMonth:h,nextMonth:y}=O.useMemo(()=>{const M=Wo(o,n,{numberOfMonths:e.numberOfMonths},t),x=No(M,e.endMonth?l(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),g=To(M,x,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),N=Yo(g),T=jo(g),P=_o(o,s,e,t),F=Io(o,n,e,t);return{months:g,weeks:N,days:T,previousMonth:P,nextMonth:F}},[t,o.getTime(),n?.getTime(),s?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:S,onMonthChange:v}=e,p=M=>f.some(x=>x.days.some(g=>g.isEqualTo(M))),k=M=>{if(S)return;let x=r(M);s&&x<r(s)&&(x=r(s)),n&&x>r(n)&&(x=r(n)),i(x),v?.(x)};return{months:d,weeks:f,days:u,navStart:s,navEnd:n,previousMonth:h,nextMonth:y,goToMonth:k,goToDay:M=>{p(M)||k(M.date)}}}var J;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(J||(J={}));function bt(e){return!e[Y.disabled]&&!e[Y.hidden]&&!e[Y.outside]}function Po(e,t,s,n){let r,l=-1;for(const a of e){const o=t(a);bt(o)&&(o[Y.focused]&&l<J.FocusedModifier?(r=a,l=J.FocusedModifier):n?.isEqualTo(a)&&l<J.LastFocused?(r=a,l=J.LastFocused):s(a.date)&&l<J.Selected?(r=a,l=J.Selected):o[Y.today]&&l<J.Today&&(r=a,l=J.Today))}return r||(r=e.find(a=>bt(t(a)))),r}function Bo(e,t,s,n,r,l,a){const{ISOWeek:o,broadcastCalendar:i}=l,{addDays:d,addMonths:f,addWeeks:u,addYears:h,endOfBroadcastWeek:y,endOfISOWeek:S,endOfWeek:v,max:p,min:k,startOfBroadcastWeek:W,startOfISOWeek:w,startOfWeek:M}=a;let g={day:d,week:u,month:f,year:h,startOfWeek:N=>i?W(N,a):o?w(N):M(N),endOfWeek:N=>i?y(N):o?S(N):v(N)}[e](s,t==="after"?1:-1);return t==="before"&&n?g=p([n,g]):t==="after"&&r&&(g=k([r,g])),g}function sn(e,t,s,n,r,l,a,o=0){if(o>365)return;const i=Bo(e,t,s.date,n,r,l,a),d=!!(l.disabled&&re(i,l.disabled,a)),f=!!(l.hidden&&re(i,l.hidden,a)),u=i,h=new qt(i,u,a);return!d&&!f?h:sn(e,t,h,n,r,l,a,o+1)}function Ao(e,t,s,n,r){const{autoFocus:l}=e,[a,o]=O.useState(),i=Po(t.days,s,n||(()=>!1),a),[d,f]=O.useState(l?i:void 0);return{isFocusTarget:v=>!!i?.isEqualTo(v),setFocused:f,focused:d,blur:()=>{o(d),f(void 0)},moveFocus:(v,p)=>{if(!d)return;const k=sn(v,p,d,t.navStart,t.navEnd,e,r);k&&(e.disableNavigation&&!t.days.some(w=>w.isEqualTo(k))||(t.goToDay(k),f(k)))}}}function Ro(e,t){const{selected:s,required:n,onSelect:r}=e,[l,a]=Ce(s,r?s:void 0),o=r?s:l,{isSameDay:i}=t,d=y=>o?.some(S=>i(S,y))??!1,{min:f,max:u}=e;return{selected:o,select:(y,S,v)=>{let p=[...o??[]];if(d(y)){if(o?.length===f||n&&o?.length===1)return;p=o?.filter(k=>!i(k,y))}else o?.length===u?p=[y]:p=[...p,y];return r||a(p),r?.(p,y,S,v),p},isSelected:d}}function zo(e,t,s=0,n=0,r=!1,l=ee){const{from:a,to:o}=t||{},{isSameDay:i,isAfter:d,isBefore:f}=l;let u;if(!a&&!o)u={from:e,to:s>0?void 0:e};else if(a&&!o)i(a,e)?s===0?u={from:a,to:e}:r?u={from:a,to:void 0}:u=void 0:f(e,a)?u={from:e,to:a}:u={from:a,to:e};else if(a&&o)if(i(a,e)&&i(o,e))r?u={from:a,to:o}:u=void 0;else if(i(a,e))u={from:a,to:s>0?void 0:e};else if(i(o,e))u={from:e,to:s>0?void 0:e};else if(f(e,a))u={from:e,to:o};else if(d(e,a))u={from:a,to:e};else if(d(e,o))u={from:a,to:e};else throw new Error("Invalid range");if(u?.from&&u?.to){const h=l.differenceInCalendarDays(u.to,u.from);n>0&&h>n?u={from:e,to:void 0}:s>1&&h<s&&(u={from:e,to:void 0})}return u}function qo(e,t,s=ee){const n=Array.isArray(t)?t:[t];let r=e.from;const l=s.differenceInCalendarDays(e.to,e.from),a=Math.min(l,6);for(let o=0;o<=a;o++){if(n.includes(r.getDay()))return!0;r=s.addDays(r,1)}return!1}function vt(e,t,s=ee){return se(e,t.from,!1,s)||se(e,t.to,!1,s)||se(t,e.from,!1,s)||se(t,e.to,!1,s)}function Ho(e,t,s=ee){const n=Array.isArray(t)?t:[t];if(n.filter(o=>typeof o!="function").some(o=>typeof o=="boolean"?o:s.isDate(o)?se(e,o,!1,s):Ut(o,s)?o.some(i=>se(e,i,!1,s)):Oe(o)?o.from&&o.to?vt(e,{from:o.from,to:o.to},s):!1:$t(o)?qo(e,o.dayOfWeek,s):Qe(o)?s.isAfter(o.before,o.after)?vt(e,{from:s.addDays(o.after,1),to:s.addDays(o.before,-1)},s):re(e.from,o,s)||re(e.to,o,s):Je(o)||Le(o)?re(e.from,o,s)||re(e.to,o,s):!1))return!0;const a=n.filter(o=>typeof o=="function");if(a.length){let o=e.from;const i=s.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=i;d++){if(a.some(f=>f(o)))return!0;o=s.addDays(o,1)}}return!1}function $o(e,t){const{disabled:s,excludeDisabled:n,selected:r,required:l,onSelect:a}=e,[o,i]=Ce(r,a?r:void 0),d=a?r:o;return{selected:d,select:(h,y,S)=>{const{min:v,max:p}=e,k=h?zo(h,d,v,p,l,t):void 0;return n&&s&&k?.from&&k.to&&Ho({from:k.from,to:k.to},s,t)&&(k.from=h,k.to=void 0),a||i(k),a?.(k,h,y,S),k},isSelected:h=>d&&se(d,h,!1,t)}}function Uo(e,t){const{selected:s,required:n,onSelect:r}=e,[l,a]=Ce(s,r?s:void 0),o=r?s:l,{isSameDay:i}=t;return{selected:o,select:(u,h,y)=>{let S=u;return!n&&o&&o&&i(u,o)&&(S=void 0),r||a(S),r?.(S,u,h,y),S},isSelected:u=>o?i(o,u):!1}}function Go(e,t){const s=Uo(e,t),n=Ro(e,t),r=$o(e,t);switch(e.mode){case"single":return s;case"multiple":return n;case"range":return r;default:return}}function U(e,t){return e instanceof B&&e.timeZone===t?e:new B(e,t)}function ge(e,t,s){return U(e,t)}function xt(e,t,s){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?ge(e,t):Array.isArray(e)?e.map(n=>n instanceof Date?ge(n,t):n):Oe(e)?{...e,from:e.from?U(e.from,t):e.from,to:e.to?U(e.to,t):e.to}:Qe(e)?{before:ge(e.before,t),after:ge(e.after,t)}:Je(e)?{after:ge(e.after,t)}:Le(e)?{before:ge(e.before,t)}:e}function qe(e,t,s){return e&&(Array.isArray(e)?e.map(n=>xt(n,t)):xt(e,t))}function Ko(e){let t=e;const s=t.timeZone;if(s&&(t={...e,timeZone:s},t.today&&(t.today=U(t.today,s)),t.month&&(t.month=U(t.month,s)),t.defaultMonth&&(t.defaultMonth=U(t.defaultMonth,s)),t.startMonth&&(t.startMonth=U(t.startMonth,s)),t.endMonth&&(t.endMonth=U(t.endMonth,s)),t.mode==="single"&&t.selected?t.selected=U(t.selected,s):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(C=>U(C,s)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?U(t.selected.from,s):t.selected.from,to:t.selected.to?U(t.selected.to,s):t.selected.to}),t.disabled!==void 0&&(t.disabled=qe(t.disabled,s)),t.hidden!==void 0&&(t.hidden=qe(t.hidden,s)),t.modifiers)){const C={};Object.keys(t.modifiers).forEach(_=>{C[_]=qe(t.modifiers?.[_],s)}),t.modifiers=C}const{components:n,formatters:r,labels:l,dateLib:a,locale:o,classNames:i}=O.useMemo(()=>{const C={...zt,...t.locale},_=t.broadcastCalendar?1:t.weekStartsOn,D=t.noonSafe&&t.timeZone?Mo(t.timeZone,{weekStartsOn:_,locale:C}):void 0,E=t.dateLib&&D?{...D,...t.dateLib}:t.dateLib??D,R=new H({locale:C,weekStartsOn:_,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},E);return{dateLib:R,components:no(t.components),formatters:ho(t.formatters),labels:bo(t.labels,R.options),locale:C,classNames:{...et(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:a.today()});const{captionLayout:d,mode:f,navLayout:u,numberOfMonths:h=1,onDayBlur:y,onDayClick:S,onDayFocus:v,onDayKeyDown:p,onDayMouseEnter:k,onDayMouseLeave:W,onNextClick:w,onPrevClick:M,showWeekNumber:x,styles:g}=t,{formatCaption:N,formatDay:T,formatMonthDropdown:P,formatWeekNumber:F,formatWeekNumberHeader:Q,formatWeekdayName:ae,formatYearDropdown:te}=r,$=Fo(t,a),{days:me,months:ke,navStart:Ne,navEnd:je,previousMonth:G,nextMonth:K,goToMonth:ne}=$,We=eo(me,t,Ne,je,a),{isSelected:Te,select:Ee,selected:Me}=Go(t,a)??{},{blur:st,focused:rt,isFocusTarget:rn,moveFocus:ot,setFocused:we}=Ao(t,$,We,Te??(()=>!1),a),{labelDayButton:on,labelGridcell:an,labelGrid:ln,labelMonthDropdown:cn,labelNav:at,labelPrevious:dn,labelNext:un,labelWeekday:fn,labelWeekNumber:hn,labelWeekNumberHeader:mn,labelYearDropdown:gn}=l,yn=O.useMemo(()=>Do(a,t.ISOWeek,t.broadcastCalendar,t.today),[a,t.ISOWeek,t.broadcastCalendar,t.today]),it=f!==void 0||S!==void 0,Ie=O.useCallback(()=>{G&&(ne(G),M?.(G))},[G,ne,M]),_e=O.useCallback(()=>{K&&(ne(K),w?.(K))},[ne,K,w]),pn=O.useCallback((C,_)=>D=>{D.preventDefault(),D.stopPropagation(),we(C),!_.disabled&&(Ee?.(C.date,_,D),S?.(C.date,_,D))},[Ee,S,we]),bn=O.useCallback((C,_)=>D=>{we(C),v?.(C.date,_,D)},[v,we]),vn=O.useCallback((C,_)=>D=>{st(),y?.(C.date,_,D)},[st,y]),xn=O.useCallback((C,_)=>D=>{const E={ArrowLeft:[D.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[D.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[D.shiftKey?"year":"week","after"],ArrowUp:[D.shiftKey?"year":"week","before"],PageUp:[D.shiftKey?"year":"month","before"],PageDown:[D.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(E[D.key]){D.preventDefault(),D.stopPropagation();const[R,j]=E[D.key];ot(R,j)}p?.(C.date,_,D)},[ot,p,t.dir]),Dn=O.useCallback((C,_)=>D=>{k?.(C.date,_,D)},[k]),kn=O.useCallback((C,_)=>D=>{W?.(C.date,_,D)},[W]),Mn=O.useCallback(C=>_=>{const D=Number(_.target.value),E=a.setMonth(a.startOfMonth(C),D);ne(E)},[a,ne]),wn=O.useCallback(C=>_=>{const D=Number(_.target.value),E=a.setYear(a.startOfMonth(C),D);ne(E)},[a,ne]),{className:Sn,style:On}=O.useMemo(()=>({className:[i[b.Root],t.className].filter(Boolean).join(" "),style:{...g?.[b.Root],...t.style}}),[i,t.className,t.style,g]),Cn=so(t),lt=O.useRef(null);Co(lt,!!t.animate,{classNames:i,months:ke,focused:rt,dateLib:a});const Nn={dayPickerProps:t,selected:Me,select:Ee,isSelected:Te,months:ke,nextMonth:K,previousMonth:G,goToMonth:ne,getModifiers:We,components:n,classNames:i,styles:g,labels:l,formatters:r};return m.createElement(Ht.Provider,{value:Nn},m.createElement(n.Root,{rootRef:t.animate?lt:void 0,className:Sn,style:On,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Cn},m.createElement(n.Months,{className:i[b.Months],style:g?.[b.Months]},!t.hideNavigation&&!u&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:i[b.Nav],style:g?.[b.Nav],"aria-label":at(),onPreviousClick:Ie,onNextClick:_e,previousMonth:G,nextMonth:K}),ke.map((C,_)=>m.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:i[b.Month],style:g?.[b.Month],key:_,displayIndex:_,calendarMonth:C},u==="around"&&!t.hideNavigation&&_===0&&m.createElement(n.PreviousMonthButton,{type:"button",className:i[b.PreviousMonthButton],tabIndex:G?void 0:-1,"aria-disabled":G?void 0:!0,"aria-label":dn(G),onClick:Ie,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:G?void 0:!0,className:i[b.Chevron],orientation:t.dir==="rtl"?"right":"left"})),m.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:i[b.MonthCaption],style:g?.[b.MonthCaption],calendarMonth:C,displayIndex:_},d?.startsWith("dropdown")?m.createElement(n.DropdownNav,{className:i[b.Dropdowns],style:g?.[b.Dropdowns]},(()=>{const D=d==="dropdown"||d==="dropdown-months"?m.createElement(n.MonthsDropdown,{key:"month",className:i[b.MonthsDropdown],"aria-label":cn(),classNames:i,components:n,disabled:!!t.disableNavigation,onChange:Mn(C.date),options:vo(C.date,Ne,je,r,a),style:g?.[b.Dropdown],value:a.getMonth(C.date)}):m.createElement("span",{key:"month"},P(C.date,a)),E=d==="dropdown"||d==="dropdown-years"?m.createElement(n.YearsDropdown,{key:"year",className:i[b.YearsDropdown],"aria-label":gn(a.options),classNames:i,components:n,disabled:!!t.disableNavigation,onChange:wn(C.date),options:ko(Ne,je,r,a,!!t.reverseYears),style:g?.[b.Dropdown],value:a.getYear(C.date)}):m.createElement("span",{key:"year"},te(C.date,a));return a.getMonthYearOrder()==="year-first"?[E,D]:[D,E]})(),m.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},N(C.date,a.options,a))):m.createElement(n.CaptionLabel,{className:i[b.CaptionLabel],role:"status","aria-live":"polite"},N(C.date,a.options,a))),u==="around"&&!t.hideNavigation&&_===h-1&&m.createElement(n.NextMonthButton,{type:"button",className:i[b.NextMonthButton],tabIndex:K?void 0:-1,"aria-disabled":K?void 0:!0,"aria-label":un(K),onClick:_e,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:K?void 0:!0,className:i[b.Chevron],orientation:t.dir==="rtl"?"left":"right"})),_===h-1&&u==="after"&&!t.hideNavigation&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:i[b.Nav],style:g?.[b.Nav],"aria-label":at(),onPreviousClick:Ie,onNextClick:_e,previousMonth:G,nextMonth:K}),m.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":f==="multiple"||f==="range","aria-label":ln(C.date,a.options,a)||void 0,className:i[b.MonthGrid],style:g?.[b.MonthGrid]},!t.hideWeekdays&&m.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:i[b.Weekdays],style:g?.[b.Weekdays]},x&&m.createElement(n.WeekNumberHeader,{"aria-label":mn(a.options),className:i[b.WeekNumberHeader],style:g?.[b.WeekNumberHeader],scope:"col"},Q()),yn.map(D=>m.createElement(n.Weekday,{"aria-label":fn(D,a.options,a),className:i[b.Weekday],key:String(D),style:g?.[b.Weekday],scope:"col"},ae(D,a.options,a)))),m.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:i[b.Weeks],style:g?.[b.Weeks]},C.weeks.map(D=>m.createElement(n.Week,{className:i[b.Week],key:D.weekNumber,style:g?.[b.Week],week:D},x&&m.createElement(n.WeekNumber,{week:D,style:g?.[b.WeekNumber],"aria-label":hn(D.weekNumber,{locale:o}),className:i[b.WeekNumber],scope:"row",role:"rowheader"},F(D.weekNumber,a)),D.days.map(E=>{const{date:R}=E,j=We(E);if(j[Y.focused]=!j.hidden&&!!rt?.isEqualTo(E),j[X.selected]=Te?.(R)||j.selected,Oe(Me)){const{from:Ye,to:Fe}=Me;j[X.range_start]=!!(Ye&&Fe&&a.isSameDay(R,Ye)),j[X.range_end]=!!(Ye&&Fe&&a.isSameDay(R,Fe)),j[X.range_middle]=se(Me,R,!0,a)}const jn=xo(j,g,t.modifiersStyles),Wn=to(j,i,t.modifiersClassNames),Tn=!it&&!j.hidden?an(R,j,a.options,a):void 0;return m.createElement(n.Day,{key:`${E.isoDate}_${E.displayMonthId}`,day:E,modifiers:j,className:Wn.join(" "),style:jn,role:"gridcell","aria-selected":j.selected||void 0,"aria-label":Tn,"data-day":E.isoDate,"data-month":E.outside?E.dateMonthId:void 0,"data-selected":j.selected||void 0,"data-disabled":j.disabled||void 0,"data-hidden":j.hidden||void 0,"data-outside":E.outside||void 0,"data-focused":j.focused||void 0,"data-today":j.today||void 0},!j.hidden&&it?m.createElement(n.DayButton,{className:i[b.DayButton],style:g?.[b.DayButton],type:"button",day:E,modifiers:j,disabled:!j.focused&&j.disabled||void 0,"aria-disabled":j.focused&&j.disabled||void 0,tabIndex:rn(E)?0:-1,"aria-label":on(R,j,a.options,a),onClick:pn(E,j),onBlur:vn(E,j),onFocus:bn(E,j),onKeyDown:xn(E,j),onMouseEnter:Dn(E,j),onMouseLeave:kn(E,j)},T(R,a.options,a)):!j.hidden&&T(E.date,a.options,a))})))))))),t.footer&&m.createElement(n.Footer,{className:i[b.Footer],style:g?.[b.Footer],role:"status","aria-live":"polite"},t.footer)))}function Vo({className:e,classNames:t,showOutsideDays:s=!0,captionLayout:n="label",buttonVariant:r="ghost",formatters:l,components:a,...o}){const i=et();return c.jsx(Ko,{showOutsideDays:s,className:I("bg-white group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent dark:bg-gray-950",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:n,formatters:{formatMonthDropdown:d=>d.toLocaleString("default",{month:"short"}),...l},classNames:{root:I("w-fit",i.root),months:I("flex gap-4 flex-col md:flex-row relative",i.months),month:I("flex flex-col w-full gap-4",i.month),nav:I("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",i.nav),button_previous:I(ut({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",i.button_previous),button_next:I(ut({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",i.button_next),month_caption:I("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",i.month_caption),dropdowns:I("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",i.dropdowns),dropdown_root:I("relative has-focus:border-gray-950 border border-gray-200 shadow-xs has-focus:ring-gray-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-gray-300 dark:border-gray-800 dark:has-focus:ring-gray-300/50",i.dropdown_root),dropdown:I("absolute bg-white inset-0 opacity-0 dark:bg-gray-950",i.dropdown),caption_label:I("select-none font-medium",n==="label"?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-gray-500 [&>svg]:size-3.5 dark:[&>svg]:text-gray-400",i.caption_label),table:"w-full border-collapse",weekdays:I("flex",i.weekdays),weekday:I("text-gray-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-gray-400",i.weekday),week:I("flex w-full mt-2",i.week),week_number_header:I("select-none w-(--cell-size)",i.week_number_header),week_number:I("text-[0.8rem] select-none text-gray-500 dark:text-gray-400",i.week_number),day:I("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",i.day),range_start:I("rounded-l-md bg-gray-100 dark:bg-gray-800",i.range_start),range_middle:I("rounded-none",i.range_middle),range_end:I("rounded-r-md bg-gray-100 dark:bg-gray-800",i.range_end),today:I("bg-gray-100 text-gray-900 rounded-md data-[selected=true]:rounded-none dark:bg-gray-800 dark:text-gray-50",i.today),outside:I("text-gray-500 aria-selected:text-gray-500 dark:text-gray-400 dark:aria-selected:text-gray-400",i.outside),disabled:I("text-gray-500 opacity-50 dark:text-gray-400",i.disabled),hidden:I("invisible",i.hidden),...t},components:{Root:({className:d,rootRef:f,...u})=>c.jsx("div",{"data-slot":"calendar",ref:f,className:I(d),...u}),Chevron:({className:d,orientation:f,...u})=>f==="left"?c.jsx(ls,{className:I("size-4",d),...u}):f==="right"?c.jsx(cs,{className:I("size-4",d),...u}):c.jsx(ie,{className:I("size-4",d),...u}),DayButton:Zo,WeekNumber:({children:d,...f})=>c.jsx("td",{...f,children:c.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...a},...o})}function Zo({className:e,day:t,modifiers:s,...n}){const r=et(),l=m.useRef(null);return m.useEffect(()=>{s.focused&&l.current?.focus()},[s.focused]),c.jsx(q,{ref:l,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":s.selected&&!s.range_start&&!s.range_end&&!s.range_middle,"data-range-start":s.range_start,"data-range-end":s.range_end,"data-range-middle":s.range_middle,className:I("data-[selected-single=true]:bg-gray-900 data-[selected-single=true]:text-gray-50 data-[range-middle=true]:bg-gray-100 data-[range-middle=true]:text-gray-900 data-[range-start=true]:bg-gray-900 data-[range-start=true]:text-gray-50 data-[range-end=true]:bg-gray-900 data-[range-end=true]:text-gray-50 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-gray-900 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70 dark:data-[selected-single=true]:bg-gray-50 dark:data-[selected-single=true]:text-gray-900 dark:data-[range-middle=true]:bg-gray-800 dark:data-[range-middle=true]:text-gray-50 dark:data-[range-start=true]:bg-gray-50 dark:data-[range-start=true]:text-gray-900 dark:data-[range-end=true]:bg-gray-50 dark:data-[range-end=true]:text-gray-900 dark:dark:hover:text-gray-50",r.day,e),...n})}function He(e){return e?Z(e,"yyyy-MM-dd"):""}function Xo(e){return e?!Number.isNaN(e.getTime()):!1}function Qo({value:e,onChange:t,disabled:s,...n}){const[r,l]=m.useState(!1),[a,o]=m.useState(e),[i,d]=m.useState(He(e));return O.useEffect(()=>{e&&d(He(e))},[e]),c.jsxs("div",{className:"relative flex gap-2",children:[c.jsx(Tt,{...n,disabled:s,value:i,onChange:f=>{d(f.target.value);const u=f.target.value?new Date(f.target.value):void 0;Xo(u)&&(t?.(u),o(u))},onKeyDown:f=>{f.key==="ArrowDown"&&(f.preventDefault(),l(!0))}}),c.jsxs(ds,{open:r,onOpenChange:l,children:[c.jsx(us,{asChild:!0,children:c.jsxs(q,{id:"date-picker",variant:"ghost",className:"absolute top-1/2 right-2 size-6 -translate-y-1/2",disabled:s,children:[c.jsx(fs,{className:"size-3.5"}),c.jsx("span",{className:"sr-only",children:"Select date"})]})}),c.jsx(hs,{className:"w-auto overflow-hidden p-0",align:"end",alignOffset:-8,sideOffset:10,children:c.jsx(Vo,{mode:"single",selected:e,captionLayout:"dropdown",month:a,onMonthChange:o,onSelect:f=>{t?.(f),d(He(f??void 0)),l(!1)}})})]})]})}var $e={exports:{}},Ue,Dt;function Jo(){if(Dt)return Ue;Dt=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Ue=e,Ue}var Ge,kt;function Lo(){if(kt)return Ge;kt=1;var e=Jo();function t(){}function s(){}return s.resetWarningCache=t,Ge=function(){function n(a,o,i,d,f,u){if(u!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}n.isRequired=n;function r(){return n}var l={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:r,element:n,elementType:n,instanceOf:r,node:n,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:s,resetWarningCache:t};return l.PropTypes=l,l},Ge}var Mt;function ea(){return Mt||(Mt=1,$e.exports=Lo()()),$e.exports}var ta=ea();const ga=ms(ta),na=({close:e,transactionID:t,onChange:s})=>t?c.jsx(gs,{modalSize:"fit-content",position:"bottom",title:c.jsxs("div",{className:"flex flex-row mx-3 pt-3 sm:text-1xl gap-10",children:[c.jsx("h1",{className:"sm:text-2xl font-small text-gray-900",children:"Edit Transaction:"}),c.jsxs("div",{className:"flex flex-row gap-2",children:["ID: ",t,c.jsx(ys,{content:t}),c.jsx(ur,{transactionId:t})]})]}),opened:!!t,onClose:e,children:c.jsx(fr,{transactionID:t,onDone:e,onChange:s})}):null,sa=({onDone:e,transactionId:t,chargeId:s})=>{const[n,r]=O.useState(!1),[{data:l,fetching:a}]=Ot({query:ps,pause:!t,variables:{transactionId:t}}),o=l?.transactionsByIDs[0];function i(){r(!1),e?.()}return c.jsxs(bs,{open:n,onOpenChange:r,children:[c.jsx(Se,{content:"Insert Related Misc Expense",children:c.jsx(vs,{asChild:!0,children:c.jsx(q,{variant:"ghost",size:"icon",className:"size-7.5",disabled:a,children:c.jsx(xs,{className:"size-5"})})})}),c.jsxs(Ds,{className:"sm:max-w-[425px]",children:[c.jsx(ks,{children:c.jsx(Ms,{children:"Insert Misc Expense"})}),o&&c.jsx(gr,{onDone:i,chargeId:s,defaultValues:{amount:o?.amount.raw?Math.abs(o?.amount.raw):void 0,currency:o?.amount.currency,invoiceDate:o?.eventDate,valueDate:o?.exactEffectiveDate||o?.effectiveDate?new Date(o.exactEffectiveDate??o.effectiveDate):void 0,creditorId:(o?.amount.raw??0)>0?o?.counterparty?.id:void 0,debtorId:(o?.amount.raw??0)<0?o?.counterparty?.id:void 0}})]})]})},ra=({transaction:e})=>{const t="effectiveDate"in e?e.effectiveDate:void 0;return c.jsxs("div",{className:"flex flex-col justify-center",children:[c.jsx("div",{children:t&&Z(new Date(t),"dd/MM/yy")}),e.sourceEffectiveDate&&c.jsxs("div",{className:"text-xs text-gray-500",children:["(Originally ",Z(new Date(e.sourceEffectiveDate),"dd/MM/yy"),")"]})]})},oa=({transaction:e})=>{const t="eventDate"in e?e.eventDate:void 0;return c.jsx("div",{className:"flex flex-col justify-center",children:t&&Z(new Date(t),"dd/MM/yy")})},aa=({transaction:e})=>{const t="amount"in e?e.amount:void 0;return c.jsxs("div",{style:{color:Number(t?.raw)>0?"green":"red",whiteSpace:"nowrap"},children:[t?.formatted,c.jsx("br",{}),e.cryptoExchangeRate&&c.jsxs("span",{style:{color:"gray",marginLeft:"0.5rem"},children:[`(Rate: ${e.cryptoExchangeRate.rate})`,c.jsx("br",{}),t?.raw?`${ws(t.raw*e.cryptoExchangeRate.rate)}$`:null]})]})},ia=({transaction:e})=>{const{account:t}=e,s=zs(t.type),n=qs(t.type),r=t.name;return c.jsxs("div",{className:"flex flex-col justify-center",children:[c.jsx("p",{children:c.jsx(Se,{content:n,children:s})}),c.jsx("p",{children:r})]})},la=({transaction:e})=>{const t="sourceDescription"in e?e.sourceDescription:"Missing";return c.jsx("div",{className:"flex flex-wrap",children:c.jsx("div",{className:"flex flex-col justify-center",children:t})})},ca=({transaction:e})=>c.jsx("div",{className:"flex flex-wrap",children:c.jsx("div",{className:"flex flex-col justify-center",children:e.referenceKey})});function da({transaction:e,onChange:t}){const{id:s,counterparty:n,missingInfoSuggestions:r,id:l,sourceDescription:a,enableEdit:o}=e,i=!!r?.business&&o,d=i?r?.business?.name:"Missing",f=i?r?.business?.id:null,u=n?.name??d,[h,y]=O.useState(!1),{updateTransaction:S,fetching:v}=Xe(),p=O.useCallback(async T=>{await S({transactionId:l,fields:{counterpartyId:T}}),y(!0)},[l,S]),k=O.useCallback(async T=>{await p(T),t?.()},[p,t]),{selectableBusinesses:W,fetching:w}=Ss(),[M,x]=O.useState(f??null),[g,N]=O.useState(a);return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"flex flex-wrap flex-col justify-center",children:n?.id?c.jsx(wt,{to:St.BUSINESSES.DETAIL(n.id),target:"_blank",rel:"noreferrer",onClick:T=>T.stopPropagation(),className:"inline-flex items-center font-semibold",children:u}):c.jsxs(c.Fragment,{children:[c.jsx(Os,{options:W,value:M,onChange:x,search:g,onSearchChange:N,placeholder:"Choose or create a business",empty:g?c.jsx(Cs,{description:g,onAdd:k}):null}),c.jsx(Se,{content:"Approve",children:c.jsx(q,{variant:"outline",size:"icon",onClick:()=>M&&p(M),disabled:v||w||!M,children:c.jsx(Ns,{className:"size-4"})})})]})}),c.jsx(Hs,{transactionId:s,counterpartyId:n?.id??M,open:h,onOpenChange:y,onClose:t})]})}const Ke=[{accessorKey:"counterparty.name",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Counterparty",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(da,{transaction:e.original})},{accessorKey:"eventDate",sortingFn:e=>"eventDate"in e.original&&e.original.eventDate?new Date(e.original.eventDate).getTime():0,header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Event Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(oa,{transaction:e.original})},{accessorKey:"effectiveDate",sortingFn:e=>"effectiveDate"in e.original&&e.original.effectiveDate?new Date(e.original.effectiveDate).getTime():0,header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Debit Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(ra,{transaction:e.original})},{accessorKey:"amount.raw",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Amount",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(aa,{transaction:e.original})},{accessorKey:"account.name",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Account",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(ia,{transaction:e.original})},{accessorKey:"sourceDescription",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Description",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(la,{transaction:e.original})},{accessorKey:"referenceKey",header:({column:e})=>c.jsxs(q,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Reference#",e.getIsSorted()&&(e.getIsSorted()==="asc"?c.jsx(ue,{className:"ml-2 h-4 w-4"}):c.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>c.jsx(ca,{transaction:e.original})}],ua={accessorKey:"id",header:"Actions",cell:({row:e})=>e.original.enableEdit?c.jsxs(c.Fragment,{children:[c.jsx(js,{onClick:()=>e.original.editTransaction(e.original.id),tooltip:"Edit Transaction"}),c.jsx(sa,{chargeId:e.original.chargeId,transactionId:e.original.id,onDone:e.original.onUpdate})]}):e.original.enableChargeLink?c.jsx(dr,{chargeId:e.original.chargeId}):null},ya=({transactionsProps:e,onChange:t,enableEdit:s,enableChargeLink:n})=>{const[r,l]=O.useState(void 0),[a,o]=O.useState([]),i=O.useMemo(()=>e.map(h=>Ws(Ts,h)),[e]),d=O.useMemo(()=>i.map(h=>({...h,editTransaction:l,onUpdate:t||(()=>{}),enableEdit:s,enableChargeLink:n})),[i,s,n,t]),f=O.useMemo(()=>s||n?[...Ke,ua]:Ke,[s,n]),u=Es({data:d,columns:f,getCoreRowModel:Ys(),onSortingChange:o,getSortedRowModel:_s(),getPaginationRowModel:Is(),state:{sorting:a},initialState:{pagination:{pageIndex:0,pageSize:100},sorting:[{id:"eventDate",desc:!0}]}});return c.jsxs(c.Fragment,{children:[c.jsxs(Fs,{children:[c.jsx(Ps,{children:u.getHeaderGroups().map(h=>c.jsx(Be,{children:h.headers.map(y=>c.jsx(Bs,{colSpan:y.colSpan,children:y.isPlaceholder?null:ft(y.column.columnDef.header,y.getContext())},y.id))},h.id))}),c.jsx(As,{children:u.getRowModel().rows?.length?u.getRowModel().rows.map(h=>c.jsx(Be,{children:h.getVisibleCells().map(y=>c.jsx(ht,{children:ft(y.column.columnDef.cell,y.getContext())},y.id))},h.id)):c.jsx(Be,{children:c.jsx(ht,{colSpan:Ke.length,className:"h-24 text-center",children:"No results."})})})]}),u.getPageCount()>1&&c.jsx("div",{className:"flex items-center justify-end space-x-2 py-4",children:c.jsx(Rs,{currentPageIndex:u.getState().pagination.pageIndex,totalPages:u.getPageCount(),onChange:h=>u.setPageIndex(h)})}),c.jsx(na,{transactionID:r,close:()=>l(void 0),onChange:t??(()=>{})})]})};export{aa as A,dr as C,ra as D,Us as E,gr as I,pr as M,ga as P,ca as S,ya as T,oa as a,ia as b,la as c,da as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as m,bI as _,j as e,bC as k,B as I,bB as V,E as Q,bD as G,dr as K,b4 as q,ds as z,bE as y,bH as A,bF as F,bG as D,w as S,u as R,gD as X,J as P,c as U,K as $,O as J,a4 as W,W as Y,F as Z,aC as ee,b8 as se,Q as ae,gE as te,dZ as re,ay as ne}from"./index-rI994S3C.js";import{u as O}from"./use-url-query-CqWra6gD.js";import{P as oe}from"./page-layout-DMGj5xhW.js";import{k as ie,B as N,X as H,Y as le,l as ce,q as de,m as ue,n as me,o as pe,p as xe,r as ge,s as he}from"./download-csv-BSGaUZsM.js";import{P as fe}from"./modal-BXR_xgUm.js";import{F as be}from"./funnel-Cfb9Pxmr.js";import{M as E}from"./MultiSelect-DBeIExB5.js";import{T as je}from"./index-C7p19nIa.js";import{s as ye}from"./sub-CEXBz_OW.js";import"./sequential-CjOfRLtc.js";import"./download-csv-button-CMQBUQeX.js";import"./similar-transactions-modal-DX3CPrMo.js";import"./building-2-CMKd_bU8.js";import"./addDays-DTiBTTns.js";import"./subMonths-DY4HlBVa.js";var ve=ie({chartName:"BarChart",GraphicalChild:N,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:H},{axisType:"yAxis",AxisComp:le}],formatAxisMap:ce});function Ce(a){return!a||V(a)?null:encodeURIComponent(JSON.stringify(a))}const L="balanceReportFilters",g={MONTHLY:"Monthly",BI_MONTHLY:"Bi-monthly",QUARTERLY:"Quarterly",SEMI_ANNUALLY:"Semi-Annually",ANNUALLY:"Annually"};function Te({filter:a,setFilter:i,closeModal:c}){const{control:t,handleSubmit:r,watch:p}=Q({defaultValues:{...a}}),{selectableBusinesses:b,fetching:h}=G(),{selectableFinancialEntities:f,fetching:v}=K(),{selectableTags:x,fetching:j}=q(),M=s=>{i(s),c()},C=p("excludedTags"),o=m.useMemo(()=>x.filter(s=>!C.includes(s.value)),[C,x]),d=p("includedTags"),n=m.useMemo(()=>x.filter(s=>!d.includes(s.value)),[d,x]);return e.jsxs("form",{onSubmit:r(M),children:[e.jsxs(z,{cols:2,children:[e.jsx(y,{name:"ownerId",control:t,defaultValue:a?.ownerId,render:({field:s,fieldState:l})=>e.jsx(A,{...s,data:b,value:s.value,disabled:h,label:"Owners",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"fromDate",control:t,defaultValue:a?.fromDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:s,fieldState:l})=>e.jsx(D,{...s,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==s.value&&s.onChange(T)},value:s.value?new Date(s.value):void 0,error:l.error?.message,label:"From Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"toDate",control:t,defaultValue:a?.toDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:s,fieldState:l})=>e.jsx(D,{...s,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==s.value&&s.onChange(T)},value:s.value?new Date(s.value):void 0,error:l.error?.message,label:"To Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"period",control:t,defaultValue:g.MONTHLY,render:({field:s,fieldState:l})=>e.jsx(A,{...s,data:Object.values(g).map(u=>({value:u,label:u})),value:s.value,label:"Period",maxDropdownHeight:160,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"excludedCounterparties",control:t,defaultValue:a.excludedCounterparties,render:({field:s,fieldState:l})=>e.jsx(E,{...s,data:f,value:s.value??[],disabled:v,label:"Excluded Counterparties",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"includedTags",control:t,defaultValue:a.includedTags,render:({field:s,fieldState:l})=>e.jsx(E,{...s,data:o,value:s.value??[],disabled:j,label:"Included Tags",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"excludedTags",control:t,defaultValue:a.excludedTags,render:({field:s,fieldState:l})=>e.jsx(E,{...s,data:n,value:s.value??[],disabled:j,label:"Excluded Tags",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})})]}),e.jsxs("div",{className:"flex justify-center mt-5 gap-3",children:[e.jsx("button",{type:"submit",disabled:h,className:"text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg",children:"Filter"}),e.jsx("button",{type:"button",className:"text-white bg-rose-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-rose-600 rounded-sm text-lg",onClick:c,children:"Cancel"})]})]})}function we({filter:a,setFilter:i,initiallyOpened:c=!1}){const[t,r]=m.useState(c),[p,b]=m.useState(!!a),{get:h,set:f}=O();m.useEffect(()=>{const x=Ce(a),j=h(L);x!==j&&f(L,x)},[a,h,f]);const v=m.useCallback(x=>{_(x,a)||(i(x),b(!!x))},[a,i]);return e.jsxs("div",{className:"flex flex-row gap-5 items-center",children:[e.jsx(fe,{opened:t,onClose:()=>r(!1),content:e.jsx(Te,{filter:a,setFilter:v,closeModal:()=>r(!1)}),modalSize:"xl"}),e.jsx(k,{inline:!0,size:16,disabled:!p,children:e.jsx(I,{variant:"outline",size:"icon",className:"size-7.5",onClick:()=>r(!0),children:e.jsx(be,{className:"size-5"})})})]})}const Ne=({period:a,transactionIDs:i,onCloseExtendedTransactions:c})=>{const[{data:t,fetching:r}]=R({query:X,variables:{transactionIDs:i}}),p=m.useMemo(()=>t?.transactionsByIDs?i.map(b=>t?.transactionsByIDs.find(h=>h.id===b)).filter(Boolean):[],[t,i]);return e.jsx(P,{className:"mt-5 w-full",children:r?e.jsx(U,{}):e.jsxs(e.Fragment,{children:[e.jsx($,{children:e.jsxs(J,{className:"flex justify-between",children:[e.jsxs("span",{children:[a," Transactions"]}),e.jsxs("div",{className:"flex flex-row gap-2 items-center",children:[e.jsx(de,{rawTransactions:p}),e.jsx(I,{variant:"link",onClick:c,children:e.jsx(W,{className:"h-4 w-4"})})]})]})}),e.jsx(Y,{children:e.jsx(je,{transactionsProps:p})})]})})},w={income:{label:"Income",color:"rgba(0, 255, 50, 0.5)"},expense:{label:"Expense",color:"rgba(255, 0, 0, 0.5)"},delta:{label:"Delta",color:"rgba(0, 30, 255, 0.5)"},cumulative:{label:"Cumulative Balance",color:"rgba(100, 0, 255, 0.5)"}};function Me(a,i,c){switch(c){case g.MONTHLY:{const t=String(i).padStart(2,"0");return`${a}-${t}`}case g.BI_MONTHLY:{const t=i%2===0?i-1:i,r=String(t).padStart(2,"0");return`${a}-${r}`}case g.QUARTERLY:{const t=Math.ceil(i/3);return`${a}-Q${t}`}case g.SEMI_ANNUALLY:{const t=i>6?2:1;return`${a}-H${t}`}case g.ANNUALLY:return String(a)}}function Se(a,i){switch(i){case g.MONTHLY:{const[c,t]=a.split("-");return`${t}/${c}`}case g.BI_MONTHLY:{const[c,t]=a.split("-"),r=Number(t)+1,p=String(r).padStart(2,"0");return`${t}-${p}/${c}`}case g.QUARTERLY:{const[c,t]=a.split("-");return`${t}, ${c}`}case g.SEMI_ANNUALLY:{const[c,t]=a.split("-");return`${t}, ${c}`}case g.ANNUALLY:return a}}const B=re(ne.Usd),ke=()=>{const{setFiltersContext:a}=m.useContext(Z),{userContext:i}=m.useContext(ee),{get:c}=O(),t=m.useMemo(()=>{const o={ownerId:i?.context.adminBusinessId,toDate:S(new Date,"yyyy-MM-dd"),period:g.MONTHLY,fromDate:S(ye(new Date,{years:1}),"yyyy-MM-dd"),excludedCounterparties:[],includedTags:[],excludedTags:[]},d=c(L);if(d)try{return JSON.parse(decodeURIComponent(d))}catch(n){console.log("Error parsing balance report filters from URL:",n)}return o},[i?.context.adminBusinessId,c]),[r,p]=m.useState(t),[b,h]=m.useState(void 0),[f,v]=m.useState(Object.keys(w)),x=m.useMemo(()=>{const{ownerId:o,fromDate:d,toDate:n}=r;return{ownerId:o,fromDate:d,toDate:n}},[r]),[{data:j,fetching:M}]=R({query:te,variables:x,pause:!r});m.useEffect(()=>{a(e.jsxs("div",{className:"flex flex-row gap-x-5",children:[e.jsx(we,{filter:r,setFilter:p,initiallyOpened:!r}),e.jsx(se,{options:Object.entries(w).map(([o,d])=>({label:d.label,value:o})),onValueChange:v,defaultValue:f,placeholder:"Select Data Sets",variant:"default",maxCount:1})]})),h(void 0)},[j,M,r,a,p,f]),m.useEffect(()=>{p(o=>({...o,ownerId:i?.context.adminBusinessId}))},[i]);const C=m.useMemo(()=>{if(!j?.transactionsForBalanceReport)return[];const o=new Map;j.transactionsForBalanceReport.map(n=>{if(n.counterparty?.id&&(!n.isFee&&i?.context.financialAccountsBusinessesIds?.includes(n.counterparty.id)||r.excludedCounterparties?.includes(n.counterparty.id))||r.includedTags.length>0&&(!n.charge?.tags||n.charge.tags.length===0||!n.charge.tags.some(u=>r.includedTags.includes(u.id)))||r.excludedTags.length>0&&n.charge?.tags.length&&n.charge.tags.some(u=>r.excludedTags.includes(u.id)))return;const s=Me(n.year,n.month,r.period);o.has(s)||o.set(s,{income:0,expense:0,delta:0,transactions:[]});const l=o.get(s);n.amountUsd.raw>0?l.income+=n.amountUsd.raw:l.expense+=n.amountUsd.raw,l.delta+=n.amountUsd.raw,l.transactions.push(n)});let d=0;return Array.from(o.entries()).sort((n,s)=>n[0].localeCompare(s[0])).map(([n,s])=>(d+=s.delta,{period:n,income:s.income,expense:s.expense,delta:s.delta,cumulative:d,transactions:s.transactions.sort((l,u)=>Math.abs(u.amountUsd.raw)-Math.abs(l.amountUsd.raw))}))},[j,r.period,r.excludedCounterparties,i?.context.financialAccountsBusinessesIds,r.includedTags,r.excludedTags]);return e.jsx(oe,{title:"Balance Report",description:"Accounts periodical balance",children:M?e.jsx(U,{}):e.jsxs(e.Fragment,{children:[e.jsxs(P,{className:"w-full",children:[e.jsx($,{children:e.jsx(ae,{children:"Click specific period to expand it's transactions data"})}),e.jsx(Y,{children:e.jsx(ue,{config:w,className:"h-150 w-full",children:e.jsxs(ve,{accessibilityLayer:!0,data:C,onClick:o=>h(o.activeLabel),children:[e.jsx(me,{vertical:!1}),e.jsx(H,{dataKey:"period",tickLine:!1,tickMargin:10,axisLine:!1,tickFormatter:o=>Se(o,r.period)}),e.jsx(pe,{content:e.jsx(xe,{formatter:(o,d,n,s)=>{const l=`bg-[var(--color-${d})]`;return s<2?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`${l} h-2.5 w-2.5 shrink-0 rounded-[2px]`}),w[d]?.label||d,e.jsx("div",{className:"ml-auto flex items-baseline gap-0.5 font-mono font-medium tabular-nums text-foreground",children:B.format(Number(o))})]}):e.jsxs("div",{className:"mt-1.5 flex basis-full items-center border-t pt-1.5 text-xs font-medium text-foreground",children:[e.jsx("div",{className:`h-2.5 w-2.5 shrink-0 rounded-[2px] mr-2 ${l}`}),w[d]?.label||d,e.jsx("div",{className:"ml-auto flex items-baseline gap-0.5 font-mono font-medium tabular-nums text-foreground",children:B.format(Number(o))})]})}})}),e.jsx(ge,{content:e.jsx(he,{})}),f.includes("income")&&e.jsx(N,{dataKey:"income",fill:"var(--color-income)",radius:4}),f.includes("expense")&&e.jsx(N,{dataKey:"expense",fill:"var(--color-expense)",radius:4}),f.includes("delta")&&e.jsx(N,{dataKey:"delta",fill:"var(--color-delta)",radius:4}),f.includes("cumulative")&&e.jsx(N,{dataKey:"cumulative",fill:"var(--color-cumulative)",radius:4})]})})})]}),b&&e.jsx(Ne,{period:b,onCloseExtendedTransactions:()=>h(void 0),transactionIDs:C.find(o=>o.period===b)?.transactions.map(o=>o.id)??[]})]})})};export{ke as BalanceReport};
|
|
1
|
+
import{r as m,bI as _,j as e,bC as k,B as I,bB as V,E as Q,bD as G,dr as K,b4 as q,ds as z,bE as y,bH as A,bF as F,bG as D,w as S,u as R,gD as X,J as P,c as U,K as $,O as J,a4 as W,W as Y,F as Z,aC as ee,b8 as se,Q as ae,gE as te,dZ as re,ay as ne}from"./index-D1_HHRLX.js";import{u as O}from"./use-url-query-RoURh24O.js";import{P as oe}from"./page-layout-BOjYoqoi.js";import{k as ie,B as N,X as H,Y as le,l as ce,q as de,m as ue,n as me,o as pe,p as xe,r as ge,s as he}from"./download-csv-weF1Lwst.js";import{P as fe}from"./modal-CNW2FGYc.js";import{F as be}from"./funnel-0IvwyZBf.js";import{M as E}from"./MultiSelect-C5wjF9jC.js";import{T as je}from"./index-BrgWieYs.js";import{s as ye}from"./sub-6-HnNA3H.js";import"./sequential-CjOfRLtc.js";import"./download-csv-button-DVLHjMAB.js";import"./similar-transactions-modal-BTidmv0G.js";import"./building-2-Df516nsd.js";import"./addDays-DhQZBfTq.js";import"./subMonths-nC9-M0qS.js";var ve=ie({chartName:"BarChart",GraphicalChild:N,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:H},{axisType:"yAxis",AxisComp:le}],formatAxisMap:ce});function Ce(a){return!a||V(a)?null:encodeURIComponent(JSON.stringify(a))}const L="balanceReportFilters",g={MONTHLY:"Monthly",BI_MONTHLY:"Bi-monthly",QUARTERLY:"Quarterly",SEMI_ANNUALLY:"Semi-Annually",ANNUALLY:"Annually"};function Te({filter:a,setFilter:i,closeModal:c}){const{control:t,handleSubmit:r,watch:p}=Q({defaultValues:{...a}}),{selectableBusinesses:b,fetching:h}=G(),{selectableFinancialEntities:f,fetching:v}=K(),{selectableTags:x,fetching:j}=q(),M=s=>{i(s),c()},C=p("excludedTags"),o=m.useMemo(()=>x.filter(s=>!C.includes(s.value)),[C,x]),d=p("includedTags"),n=m.useMemo(()=>x.filter(s=>!d.includes(s.value)),[d,x]);return e.jsxs("form",{onSubmit:r(M),children:[e.jsxs(z,{cols:2,children:[e.jsx(y,{name:"ownerId",control:t,defaultValue:a?.ownerId,render:({field:s,fieldState:l})=>e.jsx(A,{...s,data:b,value:s.value,disabled:h,label:"Owners",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"fromDate",control:t,defaultValue:a?.fromDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:s,fieldState:l})=>e.jsx(D,{...s,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==s.value&&s.onChange(T)},value:s.value?new Date(s.value):void 0,error:l.error?.message,label:"From Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"toDate",control:t,defaultValue:a?.toDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:s,fieldState:l})=>e.jsx(D,{...s,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==s.value&&s.onChange(T)},value:s.value?new Date(s.value):void 0,error:l.error?.message,label:"To Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"period",control:t,defaultValue:g.MONTHLY,render:({field:s,fieldState:l})=>e.jsx(A,{...s,data:Object.values(g).map(u=>({value:u,label:u})),value:s.value,label:"Period",maxDropdownHeight:160,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"excludedCounterparties",control:t,defaultValue:a.excludedCounterparties,render:({field:s,fieldState:l})=>e.jsx(E,{...s,data:f,value:s.value??[],disabled:v,label:"Excluded Counterparties",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"includedTags",control:t,defaultValue:a.includedTags,render:({field:s,fieldState:l})=>e.jsx(E,{...s,data:o,value:s.value??[],disabled:j,label:"Included Tags",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"excludedTags",control:t,defaultValue:a.excludedTags,render:({field:s,fieldState:l})=>e.jsx(E,{...s,data:n,value:s.value??[],disabled:j,label:"Excluded Tags",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:l.error?.message,withinPortal:!0})})]}),e.jsxs("div",{className:"flex justify-center mt-5 gap-3",children:[e.jsx("button",{type:"submit",disabled:h,className:"text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg",children:"Filter"}),e.jsx("button",{type:"button",className:"text-white bg-rose-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-rose-600 rounded-sm text-lg",onClick:c,children:"Cancel"})]})]})}function we({filter:a,setFilter:i,initiallyOpened:c=!1}){const[t,r]=m.useState(c),[p,b]=m.useState(!!a),{get:h,set:f}=O();m.useEffect(()=>{const x=Ce(a),j=h(L);x!==j&&f(L,x)},[a,h,f]);const v=m.useCallback(x=>{_(x,a)||(i(x),b(!!x))},[a,i]);return e.jsxs("div",{className:"flex flex-row gap-5 items-center",children:[e.jsx(fe,{opened:t,onClose:()=>r(!1),content:e.jsx(Te,{filter:a,setFilter:v,closeModal:()=>r(!1)}),modalSize:"xl"}),e.jsx(k,{inline:!0,size:16,disabled:!p,children:e.jsx(I,{variant:"outline",size:"icon",className:"size-7.5",onClick:()=>r(!0),children:e.jsx(be,{className:"size-5"})})})]})}const Ne=({period:a,transactionIDs:i,onCloseExtendedTransactions:c})=>{const[{data:t,fetching:r}]=R({query:X,variables:{transactionIDs:i}}),p=m.useMemo(()=>t?.transactionsByIDs?i.map(b=>t?.transactionsByIDs.find(h=>h.id===b)).filter(Boolean):[],[t,i]);return e.jsx(P,{className:"mt-5 w-full",children:r?e.jsx(U,{}):e.jsxs(e.Fragment,{children:[e.jsx($,{children:e.jsxs(J,{className:"flex justify-between",children:[e.jsxs("span",{children:[a," Transactions"]}),e.jsxs("div",{className:"flex flex-row gap-2 items-center",children:[e.jsx(de,{rawTransactions:p}),e.jsx(I,{variant:"link",onClick:c,children:e.jsx(W,{className:"h-4 w-4"})})]})]})}),e.jsx(Y,{children:e.jsx(je,{transactionsProps:p})})]})})},w={income:{label:"Income",color:"rgba(0, 255, 50, 0.5)"},expense:{label:"Expense",color:"rgba(255, 0, 0, 0.5)"},delta:{label:"Delta",color:"rgba(0, 30, 255, 0.5)"},cumulative:{label:"Cumulative Balance",color:"rgba(100, 0, 255, 0.5)"}};function Me(a,i,c){switch(c){case g.MONTHLY:{const t=String(i).padStart(2,"0");return`${a}-${t}`}case g.BI_MONTHLY:{const t=i%2===0?i-1:i,r=String(t).padStart(2,"0");return`${a}-${r}`}case g.QUARTERLY:{const t=Math.ceil(i/3);return`${a}-Q${t}`}case g.SEMI_ANNUALLY:{const t=i>6?2:1;return`${a}-H${t}`}case g.ANNUALLY:return String(a)}}function Se(a,i){switch(i){case g.MONTHLY:{const[c,t]=a.split("-");return`${t}/${c}`}case g.BI_MONTHLY:{const[c,t]=a.split("-"),r=Number(t)+1,p=String(r).padStart(2,"0");return`${t}-${p}/${c}`}case g.QUARTERLY:{const[c,t]=a.split("-");return`${t}, ${c}`}case g.SEMI_ANNUALLY:{const[c,t]=a.split("-");return`${t}, ${c}`}case g.ANNUALLY:return a}}const B=re(ne.Usd),ke=()=>{const{setFiltersContext:a}=m.useContext(Z),{userContext:i}=m.useContext(ee),{get:c}=O(),t=m.useMemo(()=>{const o={ownerId:i?.context.adminBusinessId,toDate:S(new Date,"yyyy-MM-dd"),period:g.MONTHLY,fromDate:S(ye(new Date,{years:1}),"yyyy-MM-dd"),excludedCounterparties:[],includedTags:[],excludedTags:[]},d=c(L);if(d)try{return JSON.parse(decodeURIComponent(d))}catch(n){console.log("Error parsing balance report filters from URL:",n)}return o},[i?.context.adminBusinessId,c]),[r,p]=m.useState(t),[b,h]=m.useState(void 0),[f,v]=m.useState(Object.keys(w)),x=m.useMemo(()=>{const{ownerId:o,fromDate:d,toDate:n}=r;return{ownerId:o,fromDate:d,toDate:n}},[r]),[{data:j,fetching:M}]=R({query:te,variables:x,pause:!r});m.useEffect(()=>{a(e.jsxs("div",{className:"flex flex-row gap-x-5",children:[e.jsx(we,{filter:r,setFilter:p,initiallyOpened:!r}),e.jsx(se,{options:Object.entries(w).map(([o,d])=>({label:d.label,value:o})),onValueChange:v,defaultValue:f,placeholder:"Select Data Sets",variant:"default",maxCount:1})]})),h(void 0)},[j,M,r,a,p,f]),m.useEffect(()=>{p(o=>({...o,ownerId:i?.context.adminBusinessId}))},[i]);const C=m.useMemo(()=>{if(!j?.transactionsForBalanceReport)return[];const o=new Map;j.transactionsForBalanceReport.map(n=>{if(n.counterparty?.id&&(!n.isFee&&i?.context.financialAccountsBusinessesIds?.includes(n.counterparty.id)||r.excludedCounterparties?.includes(n.counterparty.id))||r.includedTags.length>0&&(!n.charge?.tags||n.charge.tags.length===0||!n.charge.tags.some(u=>r.includedTags.includes(u.id)))||r.excludedTags.length>0&&n.charge?.tags.length&&n.charge.tags.some(u=>r.excludedTags.includes(u.id)))return;const s=Me(n.year,n.month,r.period);o.has(s)||o.set(s,{income:0,expense:0,delta:0,transactions:[]});const l=o.get(s);n.amountUsd.raw>0?l.income+=n.amountUsd.raw:l.expense+=n.amountUsd.raw,l.delta+=n.amountUsd.raw,l.transactions.push(n)});let d=0;return Array.from(o.entries()).sort((n,s)=>n[0].localeCompare(s[0])).map(([n,s])=>(d+=s.delta,{period:n,income:s.income,expense:s.expense,delta:s.delta,cumulative:d,transactions:s.transactions.sort((l,u)=>Math.abs(u.amountUsd.raw)-Math.abs(l.amountUsd.raw))}))},[j,r.period,r.excludedCounterparties,i?.context.financialAccountsBusinessesIds,r.includedTags,r.excludedTags]);return e.jsx(oe,{title:"Balance Report",description:"Accounts periodical balance",children:M?e.jsx(U,{}):e.jsxs(e.Fragment,{children:[e.jsxs(P,{className:"w-full",children:[e.jsx($,{children:e.jsx(ae,{children:"Click specific period to expand it's transactions data"})}),e.jsx(Y,{children:e.jsx(ue,{config:w,className:"h-150 w-full",children:e.jsxs(ve,{accessibilityLayer:!0,data:C,onClick:o=>h(o.activeLabel),children:[e.jsx(me,{vertical:!1}),e.jsx(H,{dataKey:"period",tickLine:!1,tickMargin:10,axisLine:!1,tickFormatter:o=>Se(o,r.period)}),e.jsx(pe,{content:e.jsx(xe,{formatter:(o,d,n,s)=>{const l=`bg-[var(--color-${d})]`;return s<2?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`${l} h-2.5 w-2.5 shrink-0 rounded-[2px]`}),w[d]?.label||d,e.jsx("div",{className:"ml-auto flex items-baseline gap-0.5 font-mono font-medium tabular-nums text-foreground",children:B.format(Number(o))})]}):e.jsxs("div",{className:"mt-1.5 flex basis-full items-center border-t pt-1.5 text-xs font-medium text-foreground",children:[e.jsx("div",{className:`h-2.5 w-2.5 shrink-0 rounded-[2px] mr-2 ${l}`}),w[d]?.label||d,e.jsx("div",{className:"ml-auto flex items-baseline gap-0.5 font-mono font-medium tabular-nums text-foreground",children:B.format(Number(o))})]})}})}),e.jsx(ge,{content:e.jsx(he,{})}),f.includes("income")&&e.jsx(N,{dataKey:"income",fill:"var(--color-income)",radius:4}),f.includes("expense")&&e.jsx(N,{dataKey:"expense",fill:"var(--color-expense)",radius:4}),f.includes("delta")&&e.jsx(N,{dataKey:"delta",fill:"var(--color-delta)",radius:4}),f.includes("cumulative")&&e.jsx(N,{dataKey:"cumulative",fill:"var(--color-cumulative)",radius:4})]})})})]}),b&&e.jsx(Ne,{period:b,onCloseExtendedTransactions:()=>h(void 0),transactionIDs:C.find(o=>o.period===b)?.transactions.map(o=>o.id)??[]})]})})};export{ke as BalanceReport};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as h,bB as D,j as e,bC as N,B as y,E as $,bD as k,aC as R,V as O,bE as f,bF as S,bG as C,w as F,Y as E,Z as A,_ as z,$ as P,at as M,bI as L,bv as w,T as B,aP as j,ay as p,a6 as V,d7 as v,dH as _,F as G,u as q,dI as U,b$ as Z,L as H,dJ as J}from"./index-
|
|
1
|
+
import{r as h,bB as D,j as e,bC as N,B as y,E as $,bD as k,aC as R,V as O,bE as f,bF as S,bG as C,w as F,Y as E,Z as A,_ as z,$ as P,at as M,bI as L,bv as w,T as B,aP as j,ay as p,a6 as V,d7 as v,dH as _,F as G,u as q,dI as U,b$ as Z,L as H,dJ as J}from"./index-D1_HHRLX.js";import{u as I}from"./use-url-query-RoURh24O.js";import{P as Q}from"./page-layout-BOjYoqoi.js";import{P as K}from"./modal-CNW2FGYc.js";import{F as W}from"./funnel-0IvwyZBf.js";import{M as T}from"./MultiSelect-C5wjF9jC.js";import{D as X}from"./download-csv-button-DVLHjMAB.js";import{B as Y}from"./business-extended-info-zz1obrFs.js";import{P as ee,a as te}from"./panel-top-open-Bxnxp1BU.js";import{T as se}from"./Table-pGQWLQ8H.js";import"./data-table-column-header--gzXkv5r.js";import"./eye-off-DWYC0Eax.js";function re({filter:t,setFilter:s,closeModal:i}){const n=$({defaultValues:{...t}}),{control:a,handleSubmit:o}=n,{selectableBusinesses:r,fetching:u}=k(),{userContext:m}=h.useContext(R),c=l=>{l.fromDate?.trim()===""&&(l.fromDate=void 0),l.toDate?.trim()===""&&(l.toDate=void 0),s(l),i()};function d(){s({}),i()}return e.jsxs(e.Fragment,{children:[u?e.jsx("div",{children:"Loading..."}):e.jsx("div",{}),e.jsx(O,{...n,children:e.jsxs("form",{onSubmit:o(c),className:"space-y-2",children:[e.jsx(f,{name:"ownerIds",control:a,defaultValue:void 0,render:({field:l,fieldState:b})=>e.jsx(T,{...l,data:r,value:l.value??(m?.context.adminBusinessId?[m?.context.adminBusinessId]:void 0),disabled:u,label:"Owners",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:b.error?.message})}),e.jsx(f,{name:"businessIDs",control:a,defaultValue:void 0,render:({field:l,fieldState:b})=>e.jsx(T,{...l,data:r,value:l.value??void 0,disabled:u,label:"Businesses",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:b.error?.message})}),e.jsx(f,{name:"fromDate",control:a,defaultValue:t.fromDate,rules:{required:"Required",pattern:{value:S,message:"Date must be im format yyyy-mm-dd"}},render:({field:l,fieldState:b})=>e.jsx(C,{...l,onChange:x=>{const g=x?typeof x=="string"?x:F(x,"yyyy-MM-dd"):void 0;g!==l.value&&l.onChange(g)},value:l.value?new Date(l.value):void 0,label:"From Date",error:b.error?.message,required:!0,popoverProps:{withinPortal:!0}})}),e.jsx(f,{name:"toDate",control:a,defaultValue:t.toDate,rules:{pattern:{value:S,message:"Date must be im format yyyy-mm-dd"}},render:({field:l,fieldState:b})=>e.jsx(C,{...l,onChange:x=>{const g=x?typeof x=="string"?x:F(x,"yyyy-MM-dd"):void 0;g!==l.value&&l.onChange(g)},value:l.value?new Date(l.value):void 0,label:"To Date",error:b.error?.message,required:!0,popoverProps:{withinPortal:!0}})}),e.jsx(E,{name:"isShowZeroedAccounts",control:a,render:({field:l})=>e.jsxs(A,{className:"flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm",children:[e.jsx("div",{className:"space-y-0.5",children:e.jsx(z,{children:"Show zeroed accounts"})}),e.jsxs("div",{className:"flex flex-row items-center gap-1",children:[e.jsx(P,{children:e.jsx(M,{defaultChecked:t.isShowZeroedAccounts??!1,onCheckedChange:l.onChange,checked:l.value===!0})}),e.jsx("span",{children:l.value?"show":"remove"})]})]})}),e.jsxs("div",{className:"flex justify-center mt-5 gap-3",children:[e.jsx("button",{type:"submit",className:"text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg",children:"Filter"}),e.jsx("button",{type:"button",className:"text-white bg-orange-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-orange-600 rounded-sm text-lg",onClick:d,children:"Clear"}),e.jsx("button",{type:"button",className:"text-white bg-rose-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-rose-600 rounded-sm text-lg",onClick:i,children:"Cancel"})]})]})})]})}function ae({filter:t,setFilter:s}){const[i,n]=h.useState(!1),[a,o]=h.useState(!D(t)),{get:r,set:u}=I();function m(d){return Object.entries(d??{}).filter(([b,x])=>x!==void 0&&Array.isArray(x)&&x.length>0).length>0}function c(d){L(d,t)||(s(d),o(m(d)))}return h.useEffect(()=>{const d=D(t)?null:encodeURIComponent(JSON.stringify(t)),l=r("trialBalanceReportFilters");d!==l&&u("trialBalanceReportFilters",d)},[t,r,u]),e.jsxs(e.Fragment,{children:[e.jsx(K,{opened:i,onClose:()=>n(!1),content:e.jsx(re,{filter:t,setFilter:c,closeModal:()=>n(!1)})}),e.jsx(N,{inline:!0,size:16,disabled:!a,children:e.jsx(y,{variant:"outline",onClick:()=>n(!0),className:"p-2",children:e.jsx(W,{size:20})})})]})}const ne=({data:t,fromDate:s,toDate:i})=>{const n=h.useCallback(async()=>{const a=oe(t),o=`trial_balance_report${s?`_${s}`:""}${i?`_${i}`:""}`;return{fileContent:a,fileName:o}},[t,s,i]);return e.jsx(X,{createFileVariables:n})},oe=t=>{let s="";s+=`Sort Code,Account Name,Debit,Credit,Balance\r
|
|
2
2
|
`;for(const[i,n]of Object.entries(t)){const a=ie(i,n);s+=a}return s+=`Report total:,,${Object.values(t).reduce((i,n)=>i+n.totalDebit,0)},${Object.values(t).reduce((i,n)=>i+n.totalCredit,0)},${Object.values(t).reduce((i,n)=>i+n.sum,0)}\r
|
|
3
3
|
`,s};function ie(t,s){let i="";return Object.values(s.sortCodes).sort((n,a)=>n.key-a.key).map(n=>{const a=le(n);i+=a}),i+=`${t.replaceAll("0","*")},Group Total:,${s.totalDebit??""},${s.totalCredit??""},${s.sum}\r
|
|
4
4
|
`,i}function le(t){let s="";s+=`${t.name}\r
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,j as e,g9 as p,B as u,a as y,F as g,u as P,L as D,ga as w}from"./index-
|
|
1
|
+
import{r as c,j as e,g9 as p,B as u,a as y,F as g,u as P,L as D,ga as w}from"./index-D1_HHRLX.js";import{d as R}from"./graphql-document-dedupe-fragments-ByT8-wlV.js";import{P as E}from"./page-layout-BOjYoqoi.js";import{R as d}from"./report-commentary-row-BtmSnv64.js";import{P as v}from"./modal-CNW2FGYc.js";import{F}from"./funnel-0IvwyZBf.js";import{T as C}from"./Table-pGQWLQ8H.js";import"./toggle-expansion-button-Dg_XsE6y.js";import"./panel-top-open-Bxnxp1BU.js";function A({year:l,setYear:h,referenceYears:o,setReferenceYears:j}){const[m,x]=c.useState(!1);return e.jsxs(e.Fragment,{children:[e.jsx(v,{opened:m,onClose:()=>x(!1),withCloseButton:!0,content:e.jsxs(e.Fragment,{children:[e.jsx(p,{label:"Change report year",value:new Date(l,0,1),onChange:n=>n&&h(n?.getFullYear()),popoverProps:{withinPortal:!0},minDate:new Date(2010,0,1),maxDate:new Date}),e.jsx(p,{type:"multiple",label:"Pick reference years",value:o?.map(n=>new Date(n,0,1)),onChange:n=>j(n.map(i=>i.getFullYear()).filter(i=>l!==i)),popoverProps:{withinPortal:!0},minDate:new Date(2010,0,1),maxDate:new Date})]})}),e.jsx(u,{variant:"outline",size:"icon",className:"size-7.5",onClick:()=>x(!0),children:e.jsx(F,{className:"size-5"})})]})}const G=()=>{const{year:l}=y(),{setFiltersContext:h}=c.useContext(g),[o,j]=c.useState(l?Number(l):new Date().getFullYear()),[m,x]=c.useState([]),[{data:n,fetching:i}]=P({query:R(w),variables:{reportYear:o,referenceYears:m}});c.useEffect(()=>{h(e.jsx("div",{className:"flex flex-row gap-2",children:e.jsx(A,{year:o,setYear:j,referenceYears:m,setReferenceYears:x})}))},[o,i,h,m,x]);const f=n?.profitAndLossReport,r=f?.report,s=f?.reference??[];return e.jsx(E,{title:"Profit and Loss Report",children:i?e.jsx(D,{className:"h-10 w-10 animate-spin mr-2 self-center"}):e.jsx("div",{className:"flex flex-col gap-4",children:r&&e.jsxs(C,{highlightOnHover:!0,fontSize:"md",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{}),e.jsx("th",{children:o},o),e.jsx("th",{}),s.map(t=>e.jsx("th",{children:t.year},t.year))]})}),e.jsxs("tbody",{children:[e.jsx(d,{dataRow:t=>e.jsxs("tr",{children:[e.jsx("th",{children:"Revenue"}),e.jsx("th",{children:r.revenue.amount.formatted}),e.jsx("th",{children:t}),s.map(a=>e.jsx("th",{children:a.revenue.amount.formatted},a.year))]}),commentaryData:r.revenue}),e.jsx(d,{dataRow:t=>e.jsxs("tr",{children:[e.jsx("td",{children:"Cost of Sales"}),e.jsx("td",{children:r.costOfSales.amount.formatted}),e.jsx("th",{children:t}),s.map(a=>e.jsx("td",{children:a.costOfSales.amount.formatted},a.year))]}),commentaryData:r.costOfSales}),e.jsxs("tr",{children:[e.jsx("th",{children:"Gross Profit"}),e.jsx("th",{children:r.grossProfit.formatted}),e.jsx("th",{}),s.map(t=>e.jsx("th",{children:t.grossProfit.formatted},t.year))]}),e.jsx(d,{dataRow:t=>e.jsxs("tr",{children:[e.jsx("td",{children:"R&D Expenses"}),e.jsx("td",{children:r.researchAndDevelopmentExpenses.amount.formatted}),e.jsx("th",{children:t}),s.map(a=>e.jsx("td",{children:a.researchAndDevelopmentExpenses.amount.formatted},a.year))]}),commentaryData:r.researchAndDevelopmentExpenses}),e.jsx(d,{dataRow:t=>e.jsxs("tr",{children:[e.jsx("td",{children:"Marketing Expenses"}),e.jsx("td",{children:r.marketingExpenses.amount.formatted}),e.jsx("th",{children:t}),s.map(a=>e.jsx("td",{children:a.marketingExpenses.amount.formatted},a.year))]}),commentaryData:r.marketingExpenses}),e.jsx(d,{dataRow:t=>e.jsxs("tr",{children:[e.jsx("td",{children:"Management and General Expenses"}),e.jsx("td",{children:r.managementAndGeneralExpenses.amount.formatted}),e.jsx("th",{children:t}),s.map(a=>e.jsx("td",{children:a.managementAndGeneralExpenses.amount.formatted},a.year))]}),commentaryData:r.managementAndGeneralExpenses}),e.jsxs("tr",{children:[e.jsx("th",{children:"Operating Profit"}),e.jsx("th",{children:r.operatingProfit.formatted}),e.jsx("th",{}),s.map(t=>e.jsx("th",{children:t.operatingProfit.formatted},t.year))]}),e.jsx(d,{dataRow:t=>e.jsxs("tr",{children:[e.jsx("td",{children:"Financial Expenses"}),e.jsx("td",{children:r.financialExpenses.amount.formatted}),e.jsx("th",{children:t}),s.map(a=>e.jsx("td",{children:a.financialExpenses.amount.formatted},a.year))]}),commentaryData:r.financialExpenses}),e.jsx(d,{dataRow:t=>e.jsxs("tr",{children:[e.jsx("td",{children:"Other Income"}),e.jsx("td",{children:r.otherIncome.amount.formatted}),e.jsx("th",{children:t}),s.map(a=>e.jsx("td",{children:a.otherIncome.amount.formatted},a.year))]}),commentaryData:r.otherIncome}),e.jsxs("tr",{children:[e.jsx("th",{children:"Profit Before Tax"}),e.jsx("th",{children:r.profitBeforeTax.formatted}),e.jsx("th",{}),s.map(t=>e.jsx("th",{children:t.profitBeforeTax.formatted},t.year))]}),e.jsxs("tr",{children:[e.jsx("td",{children:"Tax"}),e.jsx("td",{children:r.tax.formatted}),e.jsx("td",{}),s.map(t=>e.jsx("td",{children:t.tax.formatted},t.year))]})]}),e.jsx("tfoot",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Net Profit"}),e.jsx("th",{children:r.netProfit.formatted}),e.jsx("th",{}),s.map(t=>e.jsx("th",{children:t.netProfit.formatted},t.year))]})})]})})})};export{G as ProfitAndLossReport};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,Y as C,Z as p,_ as S,$ as y,b7 as w,a1 as b,I as L,g as F,ik as H,r as u,t as m,i as E,D as R,aL as M,B as x,ag as _,x as T,al as A,am as $,u as P,il as V,L as O,E as q,V as K,a9 as z,im as Q,F as Y,bY as Z,bO as G,bP as J,bQ as I,bR as W,c2 as v,bS as X,bT as g,io as ee,c5 as se,c4 as te,c6 as oe}from"./index-
|
|
1
|
+
import{j as e,Y as C,Z as p,_ as S,$ as y,b7 as w,a1 as b,I as L,g as F,ik as H,r as u,t as m,i as E,D as R,aL as M,B as x,ag as _,x as T,al as A,am as $,u as P,il as V,L as O,E as q,V as K,a9 as z,im as Q,F as Y,bY as Z,bO as G,bP as J,bQ as I,bR as W,c2 as v,bS as X,bT as g,io as ee,c5 as se,c4 as te,c6 as oe}from"./index-D1_HHRLX.js";import{D as re}from"./data-table-pagination-CLXUcmJJ.js";import{P as ne}from"./page-layout-BOjYoqoi.js";import{A as k}from"./arrow-up-down-YhPbp1Ud.js";function U({isInsert:s,formManager:n}){const{control:o}=n;return e.jsxs(e.Fragment,{children:[e.jsx(C,{name:"key",control:o,disabled:!s,rules:{required:"Required",validate:{positive:t=>Number(t)>0||"Key must be a positive number",integer:t=>Number.isInteger(Number(t))||"Key must be an integer"}},render:({field:t})=>e.jsxs(p,{children:[e.jsx(S,{children:"Key"}),e.jsx(y,{children:e.jsx(w,{...t,value:t.value??void 0,hideControls:!0,decimalScale:0,thousandSeparator:"",required:!0})}),e.jsx(b,{})]})}),e.jsx(C,{name:"name",control:o,rules:{required:"Required",minLength:{value:2,message:"Must be at least 2 characters"}},render:({field:t})=>e.jsxs(p,{children:[e.jsx(S,{children:"Name"}),e.jsx(y,{children:e.jsx(L,{...t,value:t.value??void 0,required:!0})}),e.jsx(b,{})]})}),e.jsx(C,{name:"defaultIrsCode",control:o,render:({field:t})=>e.jsxs(p,{children:[e.jsx(S,{children:"Default IRS Code"}),e.jsx(y,{children:e.jsx(w,{...t,value:t.value??void 0,hideControls:!0,decimalScale:0})}),e.jsx(b,{})]})})]})}const ae="updateSortCode",de=()=>{const[{fetching:s},n]=F(H),o=u.useCallback(async t=>{const d=`Error updating sort code ID [${t.key}]`,r=`${ae}-${t.key}`;m.loading("Updating Sort Code...",{id:r});try{const a=await n(t),i=E(a,d,r,"updateSortCode");if(i)return m.success("Success",{id:r,description:"SortCode updated"}),i.updateSortCode}catch(a){console.error(`${d}: ${a}`),m.error("Error",{id:r,description:d,duration:1e5,closeButton:!0})}return!1},[n]);return{fetching:s,updateSortCode:o}};function ie({sortCodeKey:s,onAdd:n}){const[o,t]=u.useState(!1);return e.jsxs(R,{open:o,onOpenChange:t,children:[e.jsx(M,{asChild:!0,children:e.jsx(x,{variant:"outline",size:"icon",children:e.jsx(_,{})})}),e.jsxs(T,{className:"w-[400px] max-w-screen-md",children:[e.jsx(A,{children:e.jsx($,{children:"Edit Sort Code"})}),e.jsx(le,{sortCodeKey:s,close:()=>t(!1),onAdd:n})]})]})}function le({sortCodeKey:s,close:n,onAdd:o}){const[{data:t,fetching:d}]=P({query:V,variables:{key:s}}),r=t?.sortCode;return!r&&!d&&m.error("Error",{description:"Couldn't find sort code"}),d?e.jsx(O,{className:"h-10 w-10 animate-spin"}):r?e.jsx(ce,{sortCode:r,close:n,onAdd:o}):e.jsx("div",{children:"Sort code not found"})}function ce({sortCode:s,close:n,onAdd:o}){const t=q({defaultValues:s}),{handleSubmit:d,formState:{dirtyFields:r}}=t,{updateSortCode:a,fetching:i}=de(),l=({key:c,...B})=>{const h=z(B,r);if(h&&Object.keys(h).length>0){let N;if(h.defaultIrsCode){const f=h.defaultIrsCode,j=Number(f);if(!Number.isInteger(j)||j<2||j>9999)throw new Error(`Invalid IRS code: ${f}`);N=j}a({fields:{...h,defaultIrsCode:N},key:s.key}).then(f=>{f&&(o?.(s.key),n())})}};return e.jsx(K,{...t,children:e.jsxs("form",{onSubmit:d(l),children:[e.jsx("div",{className:"flex flex-col gap-4 my-4",children:e.jsx(U,{isInsert:!1,formManager:t})}),e.jsx("div",{className:"flex justify-end mt-4",children:e.jsx(x,{type:"submit",disabled:i,children:"Update"})})]})})}const ue="addSortCode",me=()=>{const[{fetching:s},n]=F(Q),o=u.useCallback(async t=>{const d=`Error adding new sort code [${t.name}]`,r=`${ue}-${t.name}`;m.loading("Adding sort code",{id:r});try{const a=await n(t);E(a,d,r)&&m.success("Success",{id:r,description:`"${t.name}" sort code was successfully added`})}catch(a){console.error(`${d}: ${a}`),m.error("Error",{id:r,description:d,duration:1e5,closeButton:!0})}},[n]);return{fetching:s,addSortCode:o}};function xe({onAdd:s}){const[n,o]=u.useState(!1);return e.jsxs(R,{open:n,onOpenChange:o,children:[e.jsx(M,{asChild:!0,children:e.jsx(x,{children:"Add Sort Code"})}),e.jsxs(T,{className:"w-[90vw] max-w-screen-md",children:[e.jsx(A,{children:e.jsx($,{children:"Add New Sort Code"})}),e.jsx(he,{close:()=>o(!1),onAdd:s})]})]})}function he({close:s,onAdd:n}){const o=q({}),{handleSubmit:t}=o,{addSortCode:d,fetching:r}=me(),a=i=>{i.key&&=parseInt(i.key.toString()),i.defaultIrsCode&&=parseInt(i.defaultIrsCode.toString()),d(i).then(()=>{s(),n?.()})};return e.jsx(K,{...o,children:e.jsxs("form",{onSubmit:t(a),children:[e.jsx("div",{className:"flex flex-col gap-4 my-4",children:e.jsx(U,{isInsert:!0,formManager:o})}),e.jsx("div",{className:"flex justify-end mt-4",children:e.jsx(x,{type:"submit",disabled:r,children:"Add Sort Code"})})]})})}const D=[{id:"key",accessorKey:"key",cell:({row:s})=>e.jsx(g,{children:s.original.key}),header:({column:s})=>e.jsxs(x,{variant:"ghost",onClick:()=>s.toggleSorting(s.getIsSorted()==="asc"),children:["Key",e.jsx(k,{})]})},{id:"name",accessorKey:"name",cell:({row:s})=>e.jsx(g,{children:s.original.name}),header:({column:s})=>e.jsxs(x,{variant:"ghost",onClick:()=>s.toggleSorting(s.getIsSorted()==="asc"),children:["Name",e.jsx(k,{})]})},{id:"defaultIrsCode",accessorKey:"defaultIrsCode",cell:({row:s})=>e.jsx(g,{className:"flex flex-wrap gap-1 p-1",children:s.original.defaultIrsCode&&e.jsx(x,{variant:"outline",disabled:!0,className:"p-1 w-15",children:s.original.defaultIrsCode})}),header:"Default IRS Code"},{id:"edit",cell:({row:s})=>e.jsx(ie,{sortCodeKey:s.original.key,onAdd:s.original.refetchSortCodes})}],pe=()=>{const[{data:s,fetching:n,error:o},t]=P({query:ee}),{setFiltersContext:d}=u.useContext(Y),r=u.useMemo(()=>s?.allSortCodes?.map(l=>({...l,refetchSortCodes:t}))??[],[s?.allSortCodes,t]),a=Z({data:r,columns:D,getCoreRowModel:oe(),getPaginationRowModel:te(),getSortedRowModel:se(),initialState:{pagination:{pageSize:100}}}),i=a.getPageOptions();return u.useEffect(()=>{d(e.jsx("div",{className:"flex items-center justify-end gap-10 space-x-2 py-4",children:e.jsx(re,{table:a})}))},[d,a,i]),u.useEffect(()=>{o&&(console.error("Error fetching sort codes",o),m.error("Error",{description:"Error fetching sort codes"}))},[o]),e.jsx(ne,{title:`Sort Codes (${r.length})`,description:"All sort codes",headerActions:e.jsx(xe,{onAdd:()=>t()}),children:n?e.jsx("div",{className:"flex flex-row justify-center",children:e.jsx(O,{className:"h-10 w-10 animate-spin mr-2"})}):e.jsx("div",{className:"flex flex-col gap-4 rounded-md border",children:e.jsxs(G,{children:[e.jsx(J,{children:a.getHeaderGroups().map(l=>e.jsx(I,{children:l.headers.map(c=>e.jsx(W,{children:c.isPlaceholder?null:v(c.column.columnDef.header,c.getContext())},c.id))},l.id))}),e.jsx(X,{children:a.getRowModel().rows.length===0?e.jsx(I,{children:e.jsx(g,{colSpan:D.length,className:"text-center py-8",children:"No sort codes found"})}):a.getRowModel().rows.map(l=>e.jsx(I,{children:l.getVisibleCells().map(c=>e.jsx(g,{children:v(c.column.columnDef.cell,c.getContext())},c.id))},l.id))})]})})})};export{pe as SortCodes};
|