@accounter/client 0.0.9-alpha-20251209170231-980cc730914111644c9194dac5ac995a09e28c74 → 0.0.9-alpha-20251209180606-3a6955e2550a513499455f9b883fddde55c1d061
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-CoEj3QSE.js → Checkbox-BHVKlxRj.js} +1 -1
- package/dist/assets/{MultiSelect-DRJD_QDr.js → MultiSelect-DY08OexD.js} +1 -1
- package/dist/assets/{Progress-CU1fWOjF.js → Progress-CkBW27DM.js} +1 -1
- package/dist/assets/{Table-C5b9rbOB.js → Table-bhKB4PFK.js} +1 -1
- package/dist/assets/{Typography-CJ6IUHKs.js → Typography-DclIL89E.js} +1 -1
- package/dist/assets/{YearPickerInput-DD-O605S.js → YearPickerInput-DgK0Ih6X.js} +1 -1
- package/dist/assets/{accordion-Csw2mWiO.js → accordion-CAxRDsFz.js} +1 -1
- package/dist/assets/{accountant-approvals-BeUBLtnd.js → accountant-approvals-Dgsw0WDb.js} +1 -1
- package/dist/assets/{accounter-table-CLNNqdXm.js → accounter-table-DIm6Wedu.js} +1 -1
- package/dist/assets/{addDays-oqtNz11p.js → addDays-CpwSVE6j.js} +1 -1
- package/dist/assets/{all-charges-BK_c2XcZ.js → all-charges-CS_0zCEZ.js} +1 -1
- package/dist/assets/{arrow-up-down-BepSQkkk.js → arrow-up-down-BCKzoFzo.js} +1 -1
- package/dist/assets/{building-2-DoYjr9zp.js → building-2-Cp2Es1mt.js} +1 -1
- package/dist/assets/{business-C49SW3ik.js → business-B1WVYc0i.js} +2 -2
- package/dist/assets/{business-extended-info-CaoOYPT8.js → business-extended-info-NwMS1Rj6.js} +1 -1
- package/dist/assets/{business-header-gf-FUFaN.js → business-header-D7w2Xzis.js} +1 -1
- package/dist/assets/{business-ledger-filters-Clr_J6Pb.js → business-ledger-filters-BBCKjVgu.js} +1 -1
- package/dist/assets/{business-ledger-single-CeMmKYhH.js → business-ledger-single-CjmguyFq.js} +1 -1
- package/dist/assets/{business-trip-DNDWlM8w.js → business-trip-BljjobKa.js} +1 -1
- package/dist/assets/charge-ChPubJah.js +1 -0
- package/dist/assets/{charges-filters-nFUpOOgf.js → charges-filters-D_ruML4x.js} +1 -1
- package/dist/assets/{charges-ledger-validation-zMQsg1pC.js → charges-ledger-validation-RNuvPfFo.js} +1 -1
- package/dist/assets/{charges-table-CTMLwet4.js → charges-table-Dmz1Fxim.js} +1 -1
- package/dist/assets/{chart-CcwcQbqJ.js → chart-MqLuc9m0.js} +1 -1
- package/dist/assets/{contracts-CAZC6d8B.js → contracts-DCmvv-5I.js} +1 -1
- package/dist/assets/{data-table-column-header-BxsKrjBX.js → data-table-column-header-CT7O7uRT.js} +1 -1
- package/dist/assets/{data-table-pagination-wIOuSOqc.js → data-table-pagination-Bn6-S7wX.js} +1 -1
- package/dist/assets/{deposits-transactions-table-jhVmfuNs.js → deposits-transactions-table-BAObjoYX.js} +1 -1
- package/dist/assets/{download-csv-button-CxFM5ZN1.js → download-csv-button-BsXK9P76.js} +1 -1
- package/dist/assets/{edit-issue-document-modal-CI2VPVkB.js → edit-issue-document-modal-CG9FH4t_.js} +1 -1
- package/dist/assets/{editable-business-trip-B388mlUw.js → editable-business-trip-CH61WHL7.js} +1 -1
- package/dist/assets/{eye-off-CfHy9jRk.js → eye-off-Cc-ssiRk.js} +1 -1
- package/dist/assets/{funnel-Cn1E8rCW.js → funnel-4UXATjU3.js} +1 -1
- package/dist/assets/{index-BbVwSP6k.js → index-BHTel4x6.js} +1 -1
- package/dist/assets/{index-U9BN8IFT.js → index-BNGi9a78.js} +1 -1
- package/dist/assets/{index-ITLfbYgx.js → index-BNMU0DUr.js} +1 -1
- package/dist/assets/{index-lzDrXIqE.js → index-BWtniMl1.js} +1 -1
- package/dist/assets/{index-W0j_QNs_.js → index-C3pJ0CeY.js} +1 -1
- package/dist/assets/{index-ultzcMfl.js → index-C9bDcLJk.js} +1 -1
- package/dist/assets/{index-DBLC9vCJ.js → index-CFOw7tWS.js} +1 -1
- package/dist/assets/{index-BYgtjSMY.js → index-CFrclniY.js} +1 -1
- package/dist/assets/{index-qAF5sGRO.js → index-CHtpNrAW.js} +4 -4
- package/dist/assets/{index-BM4xRMf6.js → index-CPuaqVQw.js} +1 -1
- package/dist/assets/{index-DuJJkBba.js → index-CjcufnQY.js} +1 -1
- package/dist/assets/{index-DAjmDqPJ.js → index-Cw81Wg3b.js} +1 -1
- package/dist/assets/{index-BcxhLoO7.js → index-Cz49agDK.js} +1 -1
- package/dist/assets/{index-DHYVY3Bq.js → index-D42PKeAo.js} +1 -1
- package/dist/assets/{index-BWtxBLCR.js → index-D8HuUMKu.js} +1 -1
- package/dist/assets/{index-bfQMiA8o.js → index-DPzHTlTo.js} +1 -1
- package/dist/assets/{index-CM5jGkPB.js → index-DQsGXPYg.js} +1 -1
- package/dist/assets/{index-D0scMlrm.js → index-DVU7w2C4.js} +1 -1
- package/dist/assets/{index-Bcc1EVhw.js → index-DYUcGCvp.js} +1 -1
- package/dist/assets/{index-BvTcJJXh.js → index-De4VpPkV.js} +1 -1
- package/dist/assets/{index-2Ym7mPTf.js → index-JJZ0k_k8.js} +1 -1
- package/dist/assets/{index-vQiKHr5F.js → index-SV9JUpu6.js} +1 -1
- package/dist/assets/{index-DrY2LoBX.js → index-YQXRLoVL.js} +1 -1
- package/dist/assets/{index-Bq4ew9mE.js → index-lpyXbMDd.js} +1 -1
- package/dist/assets/{index-MvqJWvoO.js → index-qyF0HH0t.js} +1 -1
- package/dist/assets/{index-oJIMvEL1.js → index-xOkwbA9z.js} +1 -1
- package/dist/assets/{index.es-Cbmre-3y.js → index.es-DnF4r6Dk.js} +1 -1
- package/dist/assets/{insert-business-trip-modal-_imZNOPq.js → insert-business-trip-modal-CQv_ZpxL.js} +1 -1
- package/dist/assets/issue-document-DJMGPj2s.js +1 -0
- package/dist/assets/{list-plus-DEqGGtBU.js → list-plus-DsfXaxO5.js} +1 -1
- package/dist/assets/{login-page-CUSymIR_.js → login-page-DKeixPVN.js} +1 -1
- package/dist/assets/{match-document-modal-CQ8I-zEU.js → match-document-modal-LhAEyv1y.js} +1 -1
- package/dist/assets/{missing-info-charges-CFt2F-LA.js → missing-info-charges-DCVKrfEr.js} +1 -1
- package/dist/assets/{modal-D_KAAYCr.js → modal-YTgF-R03.js} +1 -1
- package/dist/assets/{modify-contract-dialog-DSwRl9du.js → modify-contract-dialog-D7Z8bOws.js} +1 -1
- package/dist/assets/{page-layout-7iCtDTzs.js → page-layout-Cs7LzhPs.js} +1 -1
- package/dist/assets/{page-not-found-CsSbBsPd.js → page-not-found-Cs086tZP.js} +1 -1
- package/dist/assets/{panel-top-open-CVvVnpDH.js → panel-top-open-DfXV4xoB.js} +1 -1
- package/dist/assets/{pencil-CpYjq1NY.js → pencil-3H1z0dQ2.js} +1 -1
- package/dist/assets/{report-commentary-row-CgmMnDJu.js → report-commentary-row-DNTsFgf_.js} +1 -1
- package/dist/assets/{save-C6S-RD-9.js → save-D2KnX2aJ.js} +1 -1
- package/dist/assets/{similar-transactions-modal-Dn4dMAAO.js → similar-transactions-modal-DN6pAqBR.js} +1 -1
- package/dist/assets/{sub-DgacWlyb.js → sub-UiWBdxTZ.js} +1 -1
- package/dist/assets/subMonths-DZvdAXT7.js +1 -0
- package/dist/assets/{summary-ZTGFg2Jz.js → summary-DLRjO19t.js} +1 -1
- package/dist/assets/{toggle-expansion-button-DYABrNZG.js → toggle-expansion-button-ByfnT_sn.js} +1 -1
- package/dist/assets/tooltip-0-bix6mQ.js +1 -0
- package/dist/assets/{use-url-query-CYeryni6.js → use-url-query-DMunwqS4.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/components/business/admin/financial-account-section.tsx +0 -2
- package/src/components/financial-accounts/financial-account-card.tsx +0 -4
- package/src/components/financial-accounts/modify-financial-account-dialog.tsx +0 -19
- package/src/components/financial-accounts/types.ts +0 -1
- package/src/gql/gql.ts +3 -3
- package/src/gql/graphql.ts +2 -5
- package/dist/assets/charge-NQDW3QqJ.js +0 -1
- package/dist/assets/issue-document-BbxmF4sT.js +0 -1
- package/dist/assets/subMonths-oKYDpkY2.js +0 -1
- package/dist/assets/tooltip-Br1wJ5zm.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as m,bD as _,j as e,bx as k,B as I,bw as V,y as Q,by as G,dm as K,b0 as q,dn as z,bz as y,bC as L,bA as F,bB as B,w as S,u as R,gM 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,b4 as ae,Q as se,dT as te,gN as re,ay as ne}from"./index-qAF5sGRO.js";import{u as O}from"./use-url-query-CYeryni6.js";import{P as oe}from"./page-layout-7iCtDTzs.js";import{k as ie,B as N,X as H,Y as le,l as ce,m as de,n as ue,o as me,p as pe,q as xe,r as ge}from"./chart-CcwcQbqJ.js";import{P as he}from"./modal-D_KAAYCr.js";import{F as fe}from"./funnel-Cn1E8rCW.js";import{M as A}from"./MultiSelect-DRJD_QDr.js";import{T as be}from"./index-DrY2LoBX.js";import{s as je}from"./sub-DgacWlyb.js";import"./sequential-CAnleQny.js";import"./similar-transactions-modal-Dn4dMAAO.js";import"./addDays-oqtNz11p.js";import"./list-plus-DEqGGtBU.js";import"./tooltip-Br1wJ5zm.js";import"./subMonths-oKYDpkY2.js";var ye=ie({chartName:"BarChart",GraphicalChild:N,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:H},{axisType:"yAxis",AxisComp:le}],formatAxisMap:ce});function ve(s){return!s||V(s)?null:encodeURIComponent(JSON.stringify(s))}const E="balanceReportFilters",x={MONTHLY:"Monthly",BI_MONTHLY:"Bi-monthly",QUARTERLY:"Quarterly",SEMI_ANNUALLY:"Semi-Annually",ANNUALLY:"Annually"};function Ce({filter:s,setFilter:i,closeModal:c}){const{control:t,handleSubmit:r,watch:g}=Q({defaultValues:{...s}}),{selectableBusinesses:b,fetching:h}=G(),{selectableFinancialEntities:f,fetching:v}=K(),{selectableTags:p,fetching:j}=q(),M=a=>{i(a),c()},C=g("excludedTags"),o=m.useMemo(()=>p.filter(a=>!C.includes(a.value)),[C,p]),d=g("includedTags"),n=m.useMemo(()=>p.filter(a=>!d.includes(a.value)),[d,p]);return e.jsxs("form",{onSubmit:r(M),children:[e.jsxs(z,{cols:2,children:[e.jsx(y,{name:"ownerId",control:t,defaultValue:s?.ownerId,render:({field:a,fieldState:l})=>e.jsx(L,{...a,data:b,value:a.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:s?.fromDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:a,fieldState:l})=>e.jsx(B,{...a,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==a.value&&a.onChange(T)},value:a.value?new Date(a.value):void 0,error:l.error?.message,label:"From Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"toDate",control:t,defaultValue:s?.toDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:a,fieldState:l})=>e.jsx(B,{...a,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==a.value&&a.onChange(T)},value:a.value?new Date(a.value):void 0,error:l.error?.message,label:"To Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"period",control:t,defaultValue:x.MONTHLY,render:({field:a,fieldState:l})=>e.jsx(L,{...a,data:Object.values(x).map(u=>({value:u,label:u})),value:a.value,label:"Period",maxDropdownHeight:160,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"excludedCounterparties",control:t,defaultValue:s.excludedCounterparties,render:({field:a,fieldState:l})=>e.jsx(A,{...a,data:f,value:a.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:s.includedTags,render:({field:a,fieldState:l})=>e.jsx(A,{...a,data:o,value:a.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:s.excludedTags,render:({field:a,fieldState:l})=>e.jsx(A,{...a,data:n,value:a.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 Te({filter:s,setFilter:i,initiallyOpened:c=!1}){const[t,r]=m.useState(c),[g,b]=m.useState(!!s),{get:h,set:f}=O();m.useEffect(()=>{const p=ve(s),j=h(E);p!==j&&f(E,p)},[s,h,f]);const v=m.useCallback(p=>{_(p,s)||(i(p),b(!!p))},[s,i]);return e.jsxs("div",{className:"flex flex-row gap-5 items-center",children:[e.jsx(he,{opened:t,onClose:()=>r(!1),content:e.jsx(Ce,{filter:s,setFilter:v,closeModal:()=>r(!1)}),modalSize:"xl"}),e.jsx(k,{inline:!0,size:16,disabled:!g,children:e.jsx(I,{variant:"outline",size:"icon",className:"size-7.5",onClick:()=>r(!0),children:e.jsx(fe,{className:"size-5"})})})]})}const we=({period:s,transactionIDs:i,onCloseExtendedTransactions:c})=>{const[{data:t,fetching:r}]=R({query:X,variables:{transactionIDs:i}}),g=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:[s," Transactions"]}),e.jsx(I,{variant:"link",onClick:c,children:e.jsx(W,{className:"h-4 w-4"})})]})}),e.jsx(Y,{children:e.jsx(be,{transactionsProps:g})})]})})},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 Ne(s,i,c){switch(c){case x.MONTHLY:{const t=String(i).padStart(2,"0");return`${s}-${t}`}case x.BI_MONTHLY:{const t=i%2===0?i-1:i,r=String(t).padStart(2,"0");return`${s}-${r}`}case x.QUARTERLY:{const t=Math.ceil(i/3);return`${s}-Q${t}`}case x.SEMI_ANNUALLY:{const t=i>6?2:1;return`${s}-H${t}`}case x.ANNUALLY:return String(s)}}function Me(s,i){switch(i){case x.MONTHLY:{const[c,t]=s.split("-");return`${t}/${c}`}case x.BI_MONTHLY:{const[c,t]=s.split("-"),r=Number(t)+1,g=String(r).padStart(2,"0");return`${t}-${g}/${c}`}case x.QUARTERLY:{const[c,t]=s.split("-");return`${t}, ${c}`}case x.SEMI_ANNUALLY:{const[c,t]=s.split("-");return`${t}, ${c}`}case x.ANNUALLY:return s}}const D=te(ne.Usd),_e=()=>{const{setFiltersContext:s}=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:x.MONTHLY,fromDate:S(je(new Date,{years:1}),"yyyy-MM-dd"),excludedCounterparties:[],includedTags:[],excludedTags:[]},d=c(E);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,g]=m.useState(t),[b,h]=m.useState(void 0),[f,v]=m.useState(Object.keys(w)),p=m.useMemo(()=>{const{ownerId:o,fromDate:d,toDate:n}=r;return{ownerId:o,fromDate:d,toDate:n}},[r]),[{data:j,fetching:M}]=R({query:re,variables:p,pause:!r});m.useEffect(()=>{s(e.jsxs("div",{className:"flex flex-row gap-x-5",children:[e.jsx(Te,{filter:r,setFilter:g,initiallyOpened:!r}),e.jsx(ae,{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,s,g,f]),m.useEffect(()=>{g(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 a=Ne(n.year,n.month,r.period);o.has(a)||o.set(a,{income:0,expense:0,delta:0,transactions:[]});const l=o.get(a);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,a)=>n[0].localeCompare(a[0])).map(([n,a])=>(d+=a.delta,{period:n,income:a.income,expense:a.expense,delta:a.delta,cumulative:d,transactions:a.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(se,{children:"Click specific period to expand it's transactions data"})}),e.jsx(Y,{children:e.jsx(de,{config:w,className:"h-150 w-full",children:e.jsxs(ye,{accessibilityLayer:!0,data:C,onClick:o=>h(o.activeLabel),children:[e.jsx(ue,{vertical:!1}),e.jsx(H,{dataKey:"period",tickLine:!1,tickMargin:10,axisLine:!1,tickFormatter:o=>Me(o,r.period)}),e.jsx(me,{content:e.jsx(pe,{formatter:(o,d,n,a)=>{const l=`bg-[var(--color-${d})]`;return a<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:D.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:D.format(Number(o))})]})}})}),e.jsx(xe,{content:e.jsx(ge,{})}),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(we,{period:b,onCloseExtendedTransactions:()=>h(void 0),transactionIDs:C.find(o=>o.period===b)?.transactions.map(o=>o.id)??[]})]})})};export{_e as BalanceReport};
|
|
1
|
+
import{r as m,bD as _,j as e,bx as k,B as I,bw as V,y as Q,by as G,dm as K,b0 as q,dn as z,bz as y,bC as L,bA as F,bB as B,w as S,u as R,gM 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,b4 as ae,Q as se,dT as te,gN as re,ay as ne}from"./index-CHtpNrAW.js";import{u as O}from"./use-url-query-DMunwqS4.js";import{P as oe}from"./page-layout-Cs7LzhPs.js";import{k as ie,B as N,X as H,Y as le,l as ce,m as de,n as ue,o as me,p as pe,q as xe,r as ge}from"./chart-MqLuc9m0.js";import{P as he}from"./modal-YTgF-R03.js";import{F as fe}from"./funnel-4UXATjU3.js";import{M as A}from"./MultiSelect-DY08OexD.js";import{T as be}from"./index-YQXRLoVL.js";import{s as je}from"./sub-UiWBdxTZ.js";import"./sequential-CAnleQny.js";import"./similar-transactions-modal-DN6pAqBR.js";import"./addDays-CpwSVE6j.js";import"./list-plus-DsfXaxO5.js";import"./tooltip-0-bix6mQ.js";import"./subMonths-DZvdAXT7.js";var ye=ie({chartName:"BarChart",GraphicalChild:N,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:H},{axisType:"yAxis",AxisComp:le}],formatAxisMap:ce});function ve(s){return!s||V(s)?null:encodeURIComponent(JSON.stringify(s))}const E="balanceReportFilters",x={MONTHLY:"Monthly",BI_MONTHLY:"Bi-monthly",QUARTERLY:"Quarterly",SEMI_ANNUALLY:"Semi-Annually",ANNUALLY:"Annually"};function Ce({filter:s,setFilter:i,closeModal:c}){const{control:t,handleSubmit:r,watch:g}=Q({defaultValues:{...s}}),{selectableBusinesses:b,fetching:h}=G(),{selectableFinancialEntities:f,fetching:v}=K(),{selectableTags:p,fetching:j}=q(),M=a=>{i(a),c()},C=g("excludedTags"),o=m.useMemo(()=>p.filter(a=>!C.includes(a.value)),[C,p]),d=g("includedTags"),n=m.useMemo(()=>p.filter(a=>!d.includes(a.value)),[d,p]);return e.jsxs("form",{onSubmit:r(M),children:[e.jsxs(z,{cols:2,children:[e.jsx(y,{name:"ownerId",control:t,defaultValue:s?.ownerId,render:({field:a,fieldState:l})=>e.jsx(L,{...a,data:b,value:a.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:s?.fromDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:a,fieldState:l})=>e.jsx(B,{...a,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==a.value&&a.onChange(T)},value:a.value?new Date(a.value):void 0,error:l.error?.message,label:"From Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"toDate",control:t,defaultValue:s?.toDate,rules:{pattern:{value:F,message:"Date must be im format yyyy-mm-dd"}},render:({field:a,fieldState:l})=>e.jsx(B,{...a,onChange:u=>{const T=u?typeof u=="string"?u:S(u,"yyyy-MM-dd"):void 0;T!==a.value&&a.onChange(T)},value:a.value?new Date(a.value):void 0,error:l.error?.message,label:"To Date",popoverProps:{withinPortal:!0}})}),e.jsx(y,{name:"period",control:t,defaultValue:x.MONTHLY,render:({field:a,fieldState:l})=>e.jsx(L,{...a,data:Object.values(x).map(u=>({value:u,label:u})),value:a.value,label:"Period",maxDropdownHeight:160,error:l.error?.message,withinPortal:!0})}),e.jsx(y,{name:"excludedCounterparties",control:t,defaultValue:s.excludedCounterparties,render:({field:a,fieldState:l})=>e.jsx(A,{...a,data:f,value:a.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:s.includedTags,render:({field:a,fieldState:l})=>e.jsx(A,{...a,data:o,value:a.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:s.excludedTags,render:({field:a,fieldState:l})=>e.jsx(A,{...a,data:n,value:a.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 Te({filter:s,setFilter:i,initiallyOpened:c=!1}){const[t,r]=m.useState(c),[g,b]=m.useState(!!s),{get:h,set:f}=O();m.useEffect(()=>{const p=ve(s),j=h(E);p!==j&&f(E,p)},[s,h,f]);const v=m.useCallback(p=>{_(p,s)||(i(p),b(!!p))},[s,i]);return e.jsxs("div",{className:"flex flex-row gap-5 items-center",children:[e.jsx(he,{opened:t,onClose:()=>r(!1),content:e.jsx(Ce,{filter:s,setFilter:v,closeModal:()=>r(!1)}),modalSize:"xl"}),e.jsx(k,{inline:!0,size:16,disabled:!g,children:e.jsx(I,{variant:"outline",size:"icon",className:"size-7.5",onClick:()=>r(!0),children:e.jsx(fe,{className:"size-5"})})})]})}const we=({period:s,transactionIDs:i,onCloseExtendedTransactions:c})=>{const[{data:t,fetching:r}]=R({query:X,variables:{transactionIDs:i}}),g=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:[s," Transactions"]}),e.jsx(I,{variant:"link",onClick:c,children:e.jsx(W,{className:"h-4 w-4"})})]})}),e.jsx(Y,{children:e.jsx(be,{transactionsProps:g})})]})})},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 Ne(s,i,c){switch(c){case x.MONTHLY:{const t=String(i).padStart(2,"0");return`${s}-${t}`}case x.BI_MONTHLY:{const t=i%2===0?i-1:i,r=String(t).padStart(2,"0");return`${s}-${r}`}case x.QUARTERLY:{const t=Math.ceil(i/3);return`${s}-Q${t}`}case x.SEMI_ANNUALLY:{const t=i>6?2:1;return`${s}-H${t}`}case x.ANNUALLY:return String(s)}}function Me(s,i){switch(i){case x.MONTHLY:{const[c,t]=s.split("-");return`${t}/${c}`}case x.BI_MONTHLY:{const[c,t]=s.split("-"),r=Number(t)+1,g=String(r).padStart(2,"0");return`${t}-${g}/${c}`}case x.QUARTERLY:{const[c,t]=s.split("-");return`${t}, ${c}`}case x.SEMI_ANNUALLY:{const[c,t]=s.split("-");return`${t}, ${c}`}case x.ANNUALLY:return s}}const D=te(ne.Usd),_e=()=>{const{setFiltersContext:s}=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:x.MONTHLY,fromDate:S(je(new Date,{years:1}),"yyyy-MM-dd"),excludedCounterparties:[],includedTags:[],excludedTags:[]},d=c(E);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,g]=m.useState(t),[b,h]=m.useState(void 0),[f,v]=m.useState(Object.keys(w)),p=m.useMemo(()=>{const{ownerId:o,fromDate:d,toDate:n}=r;return{ownerId:o,fromDate:d,toDate:n}},[r]),[{data:j,fetching:M}]=R({query:re,variables:p,pause:!r});m.useEffect(()=>{s(e.jsxs("div",{className:"flex flex-row gap-x-5",children:[e.jsx(Te,{filter:r,setFilter:g,initiallyOpened:!r}),e.jsx(ae,{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,s,g,f]),m.useEffect(()=>{g(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 a=Ne(n.year,n.month,r.period);o.has(a)||o.set(a,{income:0,expense:0,delta:0,transactions:[]});const l=o.get(a);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,a)=>n[0].localeCompare(a[0])).map(([n,a])=>(d+=a.delta,{period:n,income:a.income,expense:a.expense,delta:a.delta,cumulative:d,transactions:a.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(se,{children:"Click specific period to expand it's transactions data"})}),e.jsx(Y,{children:e.jsx(de,{config:w,className:"h-150 w-full",children:e.jsxs(ye,{accessibilityLayer:!0,data:C,onClick:o=>h(o.activeLabel),children:[e.jsx(ue,{vertical:!1}),e.jsx(H,{dataKey:"period",tickLine:!1,tickMargin:10,axisLine:!1,tickFormatter:o=>Me(o,r.period)}),e.jsx(me,{content:e.jsx(pe,{formatter:(o,d,n,a)=>{const l=`bg-[var(--color-${d})]`;return a<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:D.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:D.format(Number(o))})]})}})}),e.jsx(xe,{content:e.jsx(ge,{})}),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(we,{period:b,onCloseExtendedTransactions:()=>h(void 0),transactionIDs:C.find(o=>o.period===b)?.transactions.map(o=>o.id)??[]})]})})};export{_e as BalanceReport};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,u as y,dt as L,G as b,bI as C,j as e,D as O,aU as P,B as M,a3 as q,x as V,al as H,am as U,ao as z,ap as Q,aq as $,ar as G,as as J,w as S,du as F,y as K,dv as X,H as Y,bF as _,V as W,a2 as Z,bJ as ee,bK as se,bL as te,bM as N,bN as h,bO as ne,bP as x,ai as ae,R as E,bQ as le,bR as re,a4 as oe,bS as ce,bT as ie,F as ue,c as de}from"./index-
|
|
1
|
+
import{r as n,u as y,dt as L,G as b,bI as C,j as e,D as O,aU as P,B as M,a3 as q,x as V,al as H,am as U,ao as z,ap as Q,aq as $,ar as G,as as J,w as S,du as F,y as K,dv as X,H as Y,bF as _,V as W,a2 as Z,bJ as ee,bK as se,bL as te,bM as N,bN as h,bO as ne,bP as x,ai as ae,R as E,bQ as le,bR as re,a4 as oe,bS as ce,bT as ie,F as ue,c as de}from"./index-CHtpNrAW.js";import{u as me,E as he}from"./edit-issue-document-modal-CG9FH4t_.js";import{s as w}from"./subMonths-DZvdAXT7.js";function xe({issueMonth:u,clients:r,onAdd:o}){const[f,c]=n.useState(!1),[j,d]=n.useState(""),[{data:m},a]=y({query:L,variables:{issueMonth:u,clientId:j},pause:!f}),p=n.useCallback(l=>{d(l),a()},[a,d]);return n.useEffect(()=>{j!==""&&m&&(o(b(C,m.clientMonthlyChargeDraft)),c(!1))},[j,m,o]),e.jsxs(O,{open:f,onOpenChange:c,children:[e.jsx(P,{asChild:!0,children:e.jsx(M,{variant:"outline",size:"icon",children:e.jsx(q,{})})}),e.jsxs(V,{className:"w-[400px] max-w-screen-md",children:[e.jsx(H,{children:e.jsx(U,{children:"Select document recipient"})}),e.jsxs(z,{onValueChange:p,children:[e.jsx(Q,{children:e.jsx($,{placeholder:"Recipient"})}),e.jsx(G,{children:r.map(l=>e.jsx(J,{value:l.id,children:l.name},l.id))})]})]})]})}const je=({drafts:u})=>{const[r,o]=n.useState(u.map(s=>b(C,s))),f=S(w(new Date,1),"yyyy-MM-dd"),[c,j]=n.useState(f),[{data:d},m]=y({query:F,variables:{issueMonth:c},pause:!0});n.useEffect(()=>{d?.clientMonthlyChargesDrafts&&o(d.clientMonthlyChargesDrafts.map(s=>b(C,s)))},[d,o]),n.useEffect(()=>{m()},[c,m]);const a=K({values:{generateDocumentsInfo:r}}),{issueDocuments:p}=me(),[{data:l}]=y({query:X}),{fields:I,append:A,remove:B,update:k}=Y({control:a.control,name:"generateDocumentsInfo"}),T=a.watch("generateDocumentsInfo"),D=n.useMemo(()=>I.map((s,t)=>({...s,...T[t],id:s.client?.businessId})),[I,T]),v=n.useCallback(s=>{p(s)},[p]),R=n.useMemo(()=>l?.allOpenContracts.filter(s=>s.billingCycle===_.Monthly&&!D.some(t=>t.client?.businessId===s.client.originalBusiness.id)),[D,l]);return e.jsx("div",{className:"p-2",children:e.jsx(W,{...a,children:e.jsxs("form",{onSubmit:a.handleSubmit(v),children:[e.jsxs("div",{className:"flex gap-2 items-center mb-4",children:[e.jsx(Z,{children:"Issue Month:"}),e.jsx(ee,{value:new Date(c),onChange:s=>{const t=new Date(s.getFullYear(),s.getMonth(),15);j(S(t,"yyyy-MM-dd"))},popoverProps:{withinPortal:!0}})]}),e.jsxs(se,{children:[e.jsx(te,{children:e.jsxs(N,{children:[e.jsx(h,{children:"Name"}),e.jsx(h,{children:"Document"}),e.jsx(h,{children:"Amount"}),e.jsx(h,{children:"Remark"}),e.jsx(h,{children:"Recipients"}),e.jsx(h,{})]})}),e.jsx(ne,{children:D.map(({id:s,...t},g)=>e.jsxs(N,{children:[e.jsx(x,{children:e.jsx(ae,{to:s?E.BUSINESSES.DETAIL(s):E.BUSINESSES.ALL,target:"_blank",rel:"noreferrer",onClick:i=>i.stopPropagation(),className:"inline-flex items-center font-semibold",children:t.client?.name})}),e.jsx(x,{children:t.type}),e.jsxs(x,{children:[t.income?.[0]?.price," ",t.income?.[0]?.currency]}),e.jsx(x,{children:e.jsx("span",{className:"text-sm text-gray-500 whitespace-normal max-w-50",children:t.remarks})}),e.jsx(x,{children:e.jsx("div",{className:"flex flex-col",children:t.client?.emails?.map(i=>e.jsx("span",{className:"text-sm text-gray-500",children:i},i))})}),e.jsx(x,{children:e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(le,{children:[e.jsx(re,{asChild:!0,type:"button",children:e.jsx(M,{className:"size-7.5",variant:"secondary",onClick:()=>B(g),children:e.jsx(oe,{size:16})})}),e.jsx(ce,{children:e.jsx("p",{children:"Remove document"})})]}),e.jsx(he,{draft:t,onApprove:i=>{a.setValue(`generateDocumentsInfo.${g}`,i,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!0}),k(g,{...i})}})]})})]},s))})]}),e.jsxs("div",{className:"flex justify-between items-center mt-4",children:[e.jsx(xe,{clients:R?.map(s=>({id:s.client.originalBusiness.id,name:s.client.originalBusiness.name}))??[],onAdd:A,issueMonth:c}),e.jsx(ie,{onConfirm:a.handleSubmit(v),title:`Are you sure you want to issue ${D.length} documents?`,children:e.jsx(M,{children:"Issue"})})]})]})})})},ye=()=>{const{setFiltersContext:u}=n.useContext(ue),[{data:r,fetching:o}]=y({query:F,variables:{issueMonth:S(w(new Date,1),"yyyy-MM-dd")}});return n.useEffect(()=>{r?.clientMonthlyChargesDrafts||u(null)},[r,u]),o?e.jsx(de,{}):e.jsx(je,{drafts:r?.clientMonthlyChargesDrafts??[]})};export{ye as IssueDocuments};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as u,j as e,w as b,G as R,gB as M,F as $,u as k,bU as B,L as P,bK as T,bL as L,bM as d,bN as V,b_ as C,bO as S,bP as t,gC as Y,c0 as K,c2 as O,dT as H,ay as z}from"./index-
|
|
1
|
+
import{r as u,j as e,w as b,G as R,gB as M,F as $,u as k,bU as B,L as P,bK as T,bL as L,bM as d,bN as V,b_ as C,bO as S,bP as t,gC as Y,c0 as K,c2 as O,dT as H,ay as z}from"./index-CHtpNrAW.js";import{D as A}from"./data-table-pagination-Bn6-S7wX.js";import{P as _}from"./page-layout-Cs7LzhPs.js";import{D as q}from"./download-csv-button-BsXK9P76.js";import{Y as G}from"./YearPickerInput-DgK0Ih6X.js";const Q=({data:a,year:s})=>{const n=u.useCallback(async()=>{if(!a)return{fileContent:"",fileName:""};const x=R(M,a),m=U(x),l=`${s}_ledger`;return{fileContent:m,fileName:l}},[a,s]);return a?e.jsx(q,{createFileVariables:n}):e.jsx("div",{})},F=[{key:"",valueFn:()=>""},{key:"",valueFn:()=>""},{key:"Counterparty",valueFn:a=>j(a.counterParty?.name??"")},{key:"Invoice Date",valueFn:a=>b(a.invoiceDate,"yyyy-MM-dd")},{key:"Value Date",valueFn:a=>b(a.valueDate,"yyyy-MM-dd")},{key:"Reference",valueFn:a=>a.reference?`"${j(a.reference)}"`:""},{key:"Description",valueFn:a=>a.description?`"${j(a.description)}"`:""},{key:"Debit Amount",valueFn:a=>a.amount.raw<0?Math.abs(a.amount.raw).toFixed(2):""},{key:"Credit Amount",valueFn:a=>a.amount.raw>=0?a.amount.raw.toFixed(2):""},{key:"Balance",valueFn:a=>a.balance.toFixed(2)}],U=a=>{const s=[F.map(({key:n})=>n).join(",")];return a.financialEntitiesInfo.map(n=>{const x=`${j(n.entity.name)},${n.entity.sortCode?.key}`,m=`,Opening Balance,,,,,,,,${n.openingBalance.raw.toFixed(2)}`,l=`Total,${j(n.entity.name)},,,,,,,${Math.abs(n.totalDebit.raw).toFixed(2)} Debit,`,g=`,,,,,,,,${n.totalCredit.raw.toFixed(2)} Credit,${n.closingBalance.raw.toFixed(2)}`,v=`,,,,,,,,${(n.totalCredit.raw-n.totalDebit.raw).toFixed(2)} Diff,`;s.push(x,m,...n.records.map(o=>F.map(({valueFn:D})=>D(o)).join(",")),l,g,v)}),s.join(`\r
|
|
2
2
|
`)};function j(a){return a.replace(/"/g,'""').replace(/,/g,".")}const c=H(z.Ils),E=[{id:"placeholder",header:"",cell:()=>null},{id:"counterparty",accessorKey:"counterparty",header:"Counterparty",cell:({row:a})=>e.jsx("div",{className:"font-medium",children:a.original.counterParty?.name})},{id:"invoiceDate",accessorKey:"invoiceDate",header:"Invoice Date",cell:({row:a})=>{const s=new Date(a.getValue("invoiceDate")),n=b(s,"yyyy-MM-dd");return e.jsx("div",{className:"font-medium",children:n})}},{id:"valueDate",accessorKey:"valueDate",header:"Value Date",cell:({row:a})=>{const s=new Date(a.getValue("valueDate")),n=b(s,"yyyy-MM-dd");return e.jsx("div",{className:"font-medium",children:n})}},{id:"reference",accessorKey:"reference",header:"Reference"},{id:"description",accessorKey:"description",header:"Description"},{id:"debit",header:"Debit",cell:({row:a})=>{const s=a.original.amount.raw;return s<0?e.jsx("div",{className:"font-medium",children:c.format(s*-1)}):null}},{id:"credit",header:"Credit",cell:({row:a})=>{const s=a.original.amount.raw;return s>=0?e.jsx("div",{className:"font-medium",children:c.format(s)}):null}},{id:"balance",accessorKey:"balance",header:"Balance",cell:({row:a})=>e.jsx("div",{className:"font-medium",children:c.format(a.getValue("balance"))})}],te=()=>{const{setFiltersContext:a}=u.useContext($),[s,n]=u.useState(new Date().getFullYear()-1),[{data:x,fetching:m}]=k({query:Y,variables:{year:s}}),l=x?.yearlyLedgerReport,{financialEntitiesInfo:g}=l??{},v=u.useMemo(()=>g?.flatMap(r=>{const{entity:i,openingBalance:y,closingBalance:h,totalCredit:p,totalDebit:w}=r;return r.records.map(N=>({entity:i,openingBalance:y,closingBalance:h,totalCredit:p,totalDebit:w,...N}))})??[],[g]),o=B({data:v,columns:E,getCoreRowModel:O(),getPaginationRowModel:K(),initialState:{pagination:{pageSize:100}}}),D=o.getState().pagination.pageIndex;return u.useEffect(()=>{a(e.jsxs("div",{className:"flex items-center justify-end gap-10 space-x-2 py-4",children:[e.jsx("div",{className:"flex items-center justify-between px-2",children:e.jsx(A,{table:o})}),e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsx(G,{value:new Date(s,0,1),onChange:r=>r&&n(r?.getFullYear()),popoverProps:{withinPortal:!0},minDate:new Date(2010,0,1),maxDate:new Date}),e.jsx(Q,{data:l,year:s})]})]}))},[s,m,a,l,o,D]),e.jsx(_,{title:"Yearly Ledger Report",children:m?e.jsx(P,{className:"h-10 w-10 animate-spin mr-2 self-center"}):l?e.jsx("div",{className:"flex flex-col gap-4 rounded-md border",children:e.jsxs(T,{children:[e.jsx(L,{children:o.getHeaderGroups().map(r=>e.jsx(d,{children:r.headers.map(i=>e.jsx(V,{children:i.isPlaceholder?null:C(i.column.columnDef.header,i.getContext())},i.id))},r.id))}),e.jsx(S,{children:o.getRowModel().rows.map((r,i)=>{const y=o.getRowModel().rows[i-1],h=o.getRowModel().rows[i+1],p=!y||y.original.entity.id!==r.original.entity.id,w=!h||h.original.entity.id!==r.original.entity.id;return e.jsxs(e.Fragment,{children:[p&&i!==0&&e.jsx(d,{className:"border-y-2 border-t-gray-300 border-b-gray-500",children:e.jsx(t,{})}),p&&e.jsx(J,{row:r}),e.jsx(d,{children:r.getVisibleCells().map(f=>e.jsx(t,{children:C(f.column.columnDef.cell,f.getContext())},f.id))},r.id),w&&e.jsx(W,{row:r})]})})})]})}):e.jsx("div",{className:"rounded-md border h-24 text-center",children:"No results."})})};function J({row:a}){return e.jsxs(e.Fragment,{children:[e.jsxs(d,{className:"bg-gray-300",children:[e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.name})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.sortCode?.key})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{})]},`${a.id}-opening1`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:"Opening Balance"})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:c.format(a.original.openingBalance.raw)})})]},`${a.id}-opening2`)]})}function W({row:a}){return e.jsxs(e.Fragment,{children:[e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:"Total"})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:a.original.entity.name})}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalDebit.raw)," Debit"]})}),e.jsx(t,{})]},`${a.id}-totals1`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalCredit.raw)," Credit"]})}),e.jsx(t,{children:e.jsx("div",{className:"font-medium",children:c.format(a.original.closingBalance.raw)})})]},`${a.id}-totals2`),e.jsxs(d,{className:"bg-gray-200",children:[e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{}),e.jsx(t,{children:e.jsxs("div",{className:"font-medium",children:[c.format(a.original.totalCredit.raw-a.original.totalDebit.raw)," Diff"]})}),e.jsx(t,{})]},`${a.id}-totals3`)]})}export{te as YearlyLedgerReport};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as x,ca as h,G as T,r,j as s,bx as g,cb as j,F as B,T as w,at as C,L as v,a3 as E,cc as P}from"./index-
|
|
1
|
+
import{u as x,ca as h,G as T,r,j as s,bx as g,cb as j,F as B,T as w,at as C,L as v,a3 as E,cc as P}from"./index-CHtpNrAW.js";import{E as b,P as y,C as L}from"./editable-business-trip-CH61WHL7.js";import{I as F}from"./insert-business-trip-modal-CQv_ZpxL.js";import{P as I}from"./page-layout-Cs7LzhPs.js";import{A as m}from"./summary-DLRjO19t.js";import"./list-plus-DsfXaxO5.js";import"./Table-bhKB4PFK.js";import"./toggle-expansion-button-ByfnT_sn.js";import"./panel-top-open-DfXV4xoB.js";import"./MultiSelect-DY08OexD.js";import"./similar-transactions-modal-DN6pAqBR.js";import"./tooltip-0-bix6mQ.js";const S=({data:d,isOpened:o,shouldValidate:l})=>{const e=T(j,d),[{data:i,fetching:a}]=x({pause:!l,query:h,variables:{id:e.id}}),c=r.useMemo(()=>l?i?.businessTrip&&(i.businessTrip.uncategorizedTransactions?.length||i?.businessTrip.summary?.errors?.length):!1,[i]),u=c||e?.accountantApproval!=="APPROVED";return s.jsxs(m.Item,{value:e.id,children:[s.jsx(m.Control,{children:s.jsx(g,{inline:!0,size:12,processing:a,disabled:!u,color:c?"red":"yellow",zIndex:"auto",children:e.name})}),s.jsx(m.Panel,{children:o&&s.jsx(b,{tripId:e.id,isExtended:!0},e.id)})]})},U=()=>{const{setFiltersContext:d}=r.useContext(B),[o,l]=r.useState([]),[e,i]=r.useState(!1),[{data:a,fetching:c}]=x({query:P});r.useEffect(()=>{if(!a?.allBusinessTrips?.length){l([]);return}const t=a.allBusinessTrips.sort((n,p)=>n.dates?.start&&p.dates?.start?n.dates.start<p.dates.start?1:-1:n.dates?.start?-1:p.dates?.start?1:n.name.toLocaleLowerCase()<p.name.toLocaleLowerCase()?-1:1);l(t)},[a?.allBusinessTrips]);const[u,f]=r.useState([]);return r.useEffect(()=>{d(s.jsxs("div",{className:"flex flex-row gap-x-5",children:[s.jsx(F,{}),s.jsx(w,{label:"Toggle business trips validation",children:s.jsxs("div",{className:"flex flex-row items-center gap-x-2",children:[s.jsx(C,{checked:e??!1,onCheckedChange:t=>i(t)}),s.jsx("span",{className:"text-sm text-gray-500",children:"Validate"})]})}),s.jsx(y,{filename:"business_trips"})]}))},[a,c,d,e]),s.jsx(I,{title:"Business Trips",description:"Manage business trips",children:o.length===0&&c?s.jsx(v,{className:"h-10 w-10 animate-spin mr-2 self-center"}):s.jsx(L,{children:s.jsx(m,{className:"w-full",multiple:!0,value:u,onChange:f,chevron:s.jsx(E,{size:"1rem"}),styles:{chevron:{"&[data-rotate]":{transform:"rotate(45deg)"}}},children:o?.map(t=>s.jsx(S,{data:o.find(n=>n.id===t.id),shouldValidate:e,isOpened:u.includes(t.id)},t.id))})})})};export{U as BusinessTrips};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,bM as D,bP as a,w as f,d3 as n,G as R,gg as v,r as d,bD as E,D as T,aU as A,B as w,x as I,bw as O,y as M,dm as P,V as L,Y as y,Z as C,_ as F,$ as V,b3 as B,a1 as g,b1 as U,au as _,F as k,aC as q,u as $,c as G,bK as Q,bL as z,bN as o,bO as H,gh as J}from"./index-
|
|
1
|
+
import{j as e,bM as D,bP as a,w as f,d3 as n,G as R,gg as v,r as d,bD as E,D as T,aU as A,B as w,x as I,bw as O,y as M,dm as P,V as L,Y as y,Z as C,_ as F,$ as V,b3 as B,a1 as g,b1 as U,au as _,F as k,aC as q,u as $,c as G,bK as Q,bL as z,bN as o,bO as H,gh as J}from"./index-CHtpNrAW.js";import{u as S}from"./use-url-query-DMunwqS4.js";import{P as K}from"./page-layout-Cs7LzhPs.js";import{F as Z}from"./funnel-4UXATjU3.js";const W=({record:s})=>{const t=R(v,s);return e.jsxs(D,{children:[e.jsx(a,{children:s.description}),e.jsx(a,{children:f(new Date(s.purchaseDate),"dd/MM/yyyy")}),e.jsx(a,{children:s.activationDate?f(new Date(s.activationDate),"dd/MM/yyyy"):void 0}),e.jsx(a,{children:t.originalCost?n(t.originalCost,0):void 0}),e.jsx(a,{children:t.reportYearDelta?n(t.reportYearDelta,0):void 0}),e.jsx(a,{children:n(t.totalDepreciableCosts,0)}),e.jsxs(a,{children:[n(s.statutoryDepreciationRate,0),"%"]}),e.jsx(a,{children:s.claimedDepreciationRate?`${n(s.claimedDepreciationRate,1)}%`:"-"}),e.jsx(a,{children:t.reportYearClaimedDepreciation?n(t.reportYearClaimedDepreciation,0):"-"}),e.jsx(a,{children:t.pastYearsAccumulatedDepreciation?n(t.pastYearsAccumulatedDepreciation,0):"-"}),e.jsx(a,{children:t.totalDepreciation?n(t.totalDepreciation,0):"-"}),e.jsx(a,{children:t.netValue?n(t.netValue,0):"-"})]})};function X(s){return!s||O(s)?null:encodeURIComponent(JSON.stringify(s))}const b="depreciationReportFilters";function ee({filter:s,setFilter:t,close:r}){const m=M({defaultValues:{...s}}),{control:c,handleSubmit:x}=m,{selectableFinancialEntities:u,fetching:l}=P(),j=i=>{t({...i,year:Number(i.year)}),r()};return e.jsx(L,{...m,children:e.jsxs("form",{onSubmit:x(j),className:"space-y-4",children:[e.jsx(y,{name:"year",control:c,rules:{required:"Year is required",validate:i=>{const p=Number(i);return Number.isNaN(p)||p<2e3||p>2100?"Invalid year":!0}},render:({field:i})=>e.jsxs(C,{children:[e.jsx(F,{children:"Year"}),e.jsx(V,{children:e.jsx(B,{...i,hideControls:!0,decimalScale:0})}),e.jsx(g,{})]})}),e.jsx(y,{name:"financialEntityId",defaultValue:s?.financialEntityId,control:c,render:({field:i})=>e.jsxs(C,{children:[e.jsx(F,{children:"Owner"}),e.jsx(U,{...i,data:u,value:i.value??void 0,disabled:l,placeholder:"Select a financial entity",formPart:!0}),e.jsx(g,{})]})}),e.jsx(_,{children:e.jsx(w,{type:"submit",disabled:l,children:"Filter"})})]})})}function ae({filter:s,setFilter:t}){const[r,m]=d.useState(!1),{get:c,set:x}=S();d.useEffect(()=>{const l=X(s),j=c(b);l!==j&&x(b,l)},[s,c,x]);const u=d.useCallback(l=>{E(l,s)||t(l)},[s,t]);return e.jsxs(T,{open:r,onOpenChange:m,children:[e.jsx(A,{asChild:!0,children:e.jsx(w,{variant:"outline",size:"icon",children:e.jsx(Z,{size:20})})}),e.jsx(I,{className:"sm:max-w-[425px]",children:e.jsx(ee,{filter:s,setFilter:u,close:()=>m(!1)})})]})}const N=({data:s,groupName:t})=>{const r=R(v,s);return e.jsxs(D,{className:"font-bold border-b border-black",children:[e.jsx(a,{children:t?"Group Total":"Overall Total"}),e.jsx(a,{colSpan:2,children:t}),e.jsx(a,{children:r.originalCost?n(r.originalCost,0):void 0}),e.jsx(a,{children:r.reportYearDelta?n(r.reportYearDelta,0):void 0}),e.jsx(a,{children:r.totalDepreciableCosts?n(r.totalDepreciableCosts,0):void 0}),e.jsx(a,{}),e.jsx(a,{}),e.jsx(a,{children:r.reportYearClaimedDepreciation?n(r.reportYearClaimedDepreciation,0):void 0}),e.jsx(a,{children:r.pastYearsAccumulatedDepreciation?n(r.pastYearsAccumulatedDepreciation,0):void 0}),e.jsx(a,{children:r.totalDepreciation?n(r.totalDepreciation,0):void 0}),e.jsx(a,{children:r.netValue?n(r.netValue,0):void 0})]})},ne=()=>{const{setFiltersContext:s}=d.useContext(k),{userContext:t}=d.useContext(q),{get:r}=S(),m=d.useMemo(()=>{const i={financialEntityId:t?.context.adminBusinessId,year:new Date().getFullYear()},p=r(b);if(p)try{return JSON.parse(decodeURIComponent(p))}catch(h){console.error("Failed to parse depreciation report filters from URL",h)}return i},[t?.context.adminBusinessId]),[c,x]=d.useState(m),[{data:u,fetching:l}]=$({query:J,variables:{filters:c}});d.useEffect(()=>{s(e.jsx("div",{className:"flex flex-row gap-x-5",children:e.jsx(ae,{filter:c,setFilter:x})}))},[c,s,x]);const j=d.useMemo(()=>`Depreciation Report for ${c.year}`,[c.year]);return e.jsx(K,{title:"Depreciation Report",description:j,children:l?e.jsx(G,{}):e.jsxs(Q,{children:[e.jsxs(z,{children:[e.jsxs(D,{className:"font-bold text-xl",children:[e.jsx(o,{colSpan:6,className:"text-center border-x",children:"List of Assets and Costs"}),e.jsx(o,{colSpan:5,className:"text-center border-x",children:"Depreciation"}),e.jsx(o,{className:"text-center border-x",children:"Remaining"})]}),e.jsxs(D,{className:"border-b border-black",children:[e.jsx(o,{className:"whitespace-normal",children:"Assets List and Descriptions"}),e.jsx(o,{className:"whitespace-normal",children:"Date of Purchase"}),e.jsx(o,{className:"whitespace-normal",children:"Activation Date"}),e.jsx(o,{className:"whitespace-normal",children:"Original Cost"}),e.jsx(o,{className:"whitespace-normal",children:"Changes During the Year"}),e.jsx(o,{className:"whitespace-normal",children:"Total Depreciable Assets"}),e.jsx(o,{className:"whitespace-normal",children:"Statutory Depreciation Rate"}),e.jsx(o,{className:"whitespace-normal",children:"Claimed Depreciation Rate"}),e.jsx(o,{className:"whitespace-normal",children:"Depreciation Claimed This Year"}),e.jsx(o,{className:"whitespace-normal",children:"Previous Tax Years Accumulated Depreciation"}),e.jsx(o,{className:"whitespace-normal",children:"Total Depreciation"}),e.jsx(o,{className:"whitespace-normal",children:"Net Book Value"})]})]}),e.jsx(H,{children:u?.depreciationReport&&e.jsxs(e.Fragment,{children:[u.depreciationReport.categories.map((i,p)=>e.jsxs(d.Fragment,{children:[e.jsxs(D,{className:"font-bold",children:[e.jsx(a,{children:`Category ${p+1}`}),e.jsx(a,{colSpan:2,children:i.category.name}),e.jsx(a,{colSpan:3}),e.jsxs(a,{children:[n(i.category.percentage,0),"%"]}),e.jsx(a,{colSpan:5})]}),i.records.sort((h,Y)=>h.purchaseDate.localeCompare(Y.purchaseDate)).map(h=>e.jsx(W,{record:h},h.id)),e.jsx(N,{data:i.summary,groupName:i.category.name})]},i.id)),e.jsx(N,{data:u.depreciationReport.summary})]})})]})})};export{ne as DepreciationReport};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,Y as C,Z as p,_ as S,$ as y,b3 as w,a1 as b,I as L,g as k,i4 as _,r as u,t as m,i as M,D as E,aU as R,B as x,ah as H,x as T,al as A,am as $,u as P,i5 as V,L as O,y as q,V as K,a9 as z,i6 as Q,F as Y,bU as Z,bK as G,bL as J,bM as I,bN as W,b_ as v,bO as X,bP as g,i7 as ee,c1 as se,c0 as te,c2 as oe}from"./index-
|
|
1
|
+
import{j as e,Y as C,Z as p,_ as S,$ as y,b3 as w,a1 as b,I as L,g as k,i4 as _,r as u,t as m,i as M,D as E,aU as R,B as x,ah as H,x as T,al as A,am as $,u as P,i5 as V,L as O,y as q,V as K,a9 as z,i6 as Q,F as Y,bU as Z,bK as G,bL as J,bM as I,bN as W,b_ as v,bO as X,bP as g,i7 as ee,c1 as se,c0 as te,c2 as oe}from"./index-CHtpNrAW.js";import{D as re}from"./data-table-pagination-Bn6-S7wX.js";import{P as ne}from"./page-layout-Cs7LzhPs.js";import{A as D}from"./arrow-up-down-BCKzoFzo.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]=k(_),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=M(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(E,{open:o,onOpenChange:t,children:[e.jsx(R,{asChild:!0,children:e.jsx(x,{variant:"outline",size:"icon",children:e.jsx(H,{})})}),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]=k(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);M(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(E,{open:n,onOpenChange:o,children:[e.jsx(R,{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 F=[{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(D,{})]})},{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(D,{})]})},{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:F,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:F.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{v as Nn,gP as oe,f$ as A,fZ as be,gQ as Ge,gR as On,j as l,T as kt,ai as Mt,R as wt,B as z,m as E,bT as jn,aS as Wn,ek as Tn,u as St,gS as En,y as Ct,r as C,dm as Nt,d as _n,V as Ot,el as In,Y as le,Z as ce,_ as de,ao as Fn,$ as ye,ap as Yn,aq as Pn,ar as Bn,as as An,a1 as fe,bA as jt,w as K,at as Rn,a9 as zn,g as qn,gT as Hn,t as Fe,i as $n,L as Un,b1 as it,bz as lt,cm as Gn,bB as Kn,gU as Zn,I as Wt,gV as ge,gW as Vn,gX as Xn,f_ as Jn,gY as Qn,gZ as Ln,g_ as es,g$ as ts,h0 as ns,h1 as ss,h2 as rs,aF as m,h3 as os,gj as as,bX as ie,h4 as ct,h5 as is,h6 as ls,aJ as cs,h7 as ds,dL as us,eq as fs,er as hs,h8 as ms,D as ys,aU as gs,x as ps,al as bs,am as vs,d3 as xs,by as Ds,c_ as ks,q as Ms,e as ws,dE as ue,fS as Ss,G as Cs,fF as Ns,bU as Os,c0 as js,c1 as Ws,c2 as Ts,bK as Es,bL as _s,bM as Ye,bN as Is,b_ as dt,bO as Fs,bP as ut,P as Ys}from"./index-qAF5sGRO.js";import{u as Ze,S as Ps}from"./similar-transactions-modal-Dn4dMAAO.js";import{a as Tt}from"./addDays-oqtNz11p.js";import{L as Bs}from"./list-plus-DEqGGtBU.js";import{T as As}from"./tooltip-Br1wJ5zm.js";const Rs=[["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"}]],zs=Nn("external-link",Rs);function qs(e,t,s){return Tt(e,t*7,s)}function Hs(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const i=A(r,n);(!s||s<i||isNaN(+i))&&(s=i)}),oe(n,s||NaN)}function $s(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const i=A(r,n);(!s||s>i||isNaN(+i))&&(s=i)}),oe(n,s||NaN)}function Us(e,t,s){const[n,r]=be(s?.in,e,t);return+Ge(n)==+Ge(r)}function Gs(e,t,s){const[n,r]=be(s?.in,e,t),i=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return i*12+o}function Ks(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 Et(e,t){const[s,n]=be(e,t.start,t.end);return{start:s,end:n}}function Zs(e,t){const{start:s,end:n}=Et(t?.in,e);let r=+s>+n;const i=r?+s:+n,o=r?n:s;o.setHours(0,0,0,0),o.setDate(1);let a=1;const c=[];for(;+o<=i;)c.push(oe(s,o)),o.setMonth(o.getMonth()+a);return r?c.reverse():c}function Vs(e,t){const s=A(e,t?.in);return s.setDate(1),s.setHours(0,0,0,0),s}function Xs(e,t){const{start:s,end:n}=Et(t?.in,e);let r=+s>+n;const i=r?+s:+n,o=r?n:s;o.setHours(0,0,0,0),o.setMonth(0,1);let a=1;const c=[];for(;+o<=i;)c.push(oe(s,o)),o.setFullYear(o.getFullYear()+a);return r?c.reverse():c}function _t(e,t){const s=On(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,r=A(e,t?.in),i=r.getDay(),o=(i<n?-7:0)+6-(i-n);return r.setDate(r.getDate()+o),r.setHours(23,59,59,999),r}function Js(e,t){return _t(e,{...t,weekStartsOn:1})}function Qs(e,t){const s=A(e,t?.in),n=s.getFullYear(),r=s.getMonth(),i=oe(s,0);return i.setFullYear(n,r+1,0),i.setHours(0,0,0,0),i.getDate()}function Ls(e,t){return A(e,t?.in).getMonth()}function er(e,t){return A(e,t?.in).getFullYear()}function tr(e,t){return+A(e)>+A(t)}function nr(e,t){return+A(e)<+A(t)}function sr(e,t,s){const[n,r]=be(s?.in,e,t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()}function rr(e,t,s){const[n,r]=be(s?.in,e,t);return n.getFullYear()===r.getFullYear()}function or(e,t,s){const n=A(e,s?.in),r=n.getFullYear(),i=n.getDate(),o=oe(e,0);o.setFullYear(r,t,15),o.setHours(0,0,0,0);const a=Qs(o);return n.setMonth(t,Math.min(i,a)),n}function ar(e,t,s){const n=A(e,s?.in);return isNaN(+n)?oe(e,NaN):(n.setFullYear(t),n)}function ir(e){return l.jsx(kt,{label:"To Charge",children:l.jsx(Mt,{to:wt.CHARGES.DETAIL(e.chargeId),target:"_blank",rel:"noreferrer",onClick:t=>t.stopPropagation(),className:"inline-block",children:l.jsx(z,{...e,className:E("size-7.5",e.className),variant:"ghost",children:l.jsx(zs,{className:"size-5"})})})})}function lr({transactionId:e}){const{updateTransaction:t}=Ze();function s(){t({transactionId:e,fields:{chargeId:Tn}})}return l.jsx(jn,{onConfirm:s,title:"Are you sure you want to unlink this transaction from the charge?",children:l.jsx(z,{variant:"ghost",size:"icon",className:"size-7.5",children:l.jsx(Wn,{className:"size-5"})})})}const cr=({transactionID:e,onDone:t,onChange:s})=>{const[{data:n,fetching:r}]=St({query:En,variables:{transactionIDs:[e]}}),i=n?.transactionsByIDs?.[0],o=Ct({defaultValues:i??{}});C.useEffect(()=>{i&&o.reset(i)},[i,o]);const{control:a,handleSubmit:c,formState:{dirtyFields:d}}=o,{updateTransaction:f,fetching:u}=Ze(),h=v=>{if(!i)return;const p=zn(v,d);t?.(),p&&Object.keys(p).length>0&&f({transactionId:i.id,fields:p}).then(s)},{selectableFinancialEntities:g,fetching:w}=Nt();return l.jsxs(l.Fragment,{children:[r&&l.jsx(_n,{className:"flex self-center my-5",color:"dark",size:"xl",variant:"dots"}),!r&&i&&l.jsx(Ot,{...o,children:l.jsxs("form",{onSubmit:c(h),children:[l.jsx("div",{className:"flex-row px-10 h-max justify-start block",children:l.jsxs(In,{cols:3,children:[l.jsx(le,{name:"counterpartyId",control:a,defaultValue:i.counterparty?.id,rules:{minLength:{value:2,message:"Minimum 2 characters"}},render:({field:v})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Counterparty"}),l.jsxs(Fn,{onValueChange:v.onChange,value:v.value??void 0,disabled:w,children:[l.jsx(ye,{children:l.jsx(Yn,{className:"w-full truncate",children:l.jsx(Pn,{placeholder:"Scroll to see all options"})})}),l.jsx(Bn,{onClick:p=>p.stopPropagation(),children:g.map(({value:p,label:D})=>l.jsx(An,{value:p,children:D},p))})]}),l.jsx(fe,{})]})}),i?.account.__typename==="CardFinancialAccount"?l.jsx(le,{name:"effectiveDate",control:a,rules:{pattern:{value:jt,message:"Date must be im format yyyy-mm-dd"}},render:({field:v})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Effective Date"}),l.jsx(ye,{children:l.jsx(Ko,{...v,onChange:p=>{const D=p?K(p,"yyyy-MM-dd"):void 0;D!==v.value&&v.onChange(D)},value:v.value?new Date(v.value):void 0})}),l.jsx(fe,{})]})}):l.jsx(l.Fragment,{}),l.jsx(le,{name:"isFee",control:a,defaultValue:i.isFee,render:({field:v})=>l.jsxs(ce,{className:"flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm",children:[l.jsx("div",{className:"space-y-0.5",children:l.jsx(de,{children:"Fee Transaction"})}),l.jsx(ye,{children:l.jsx(Rn,{checked:v.value===!0,onCheckedChange:v.onChange})})]})})]})}),l.jsxs("div",{className:"mt-10 mb-5 flex justify-center gap-5",children:[l.jsx("button",{type:"submit",onClick:()=>c(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"}),l.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"})]})]})})]})},dr="insertMiscExpense",ur=()=>{const[{fetching:e},t]=qn(Hn),s=C.useCallback(async n=>{const r="Error creating misc expense",i=`${dr}-${n.chargeId}`;Fe.loading("Creating misc expense",{id:i});try{const o=await t(n),a=$n(o,r,i);if(a)return Fe.success("Success",{id:i,description:"Misc expense was created"}),a.insertMiscExpense}catch(o){console.error(`${r}: ${o}`),Fe.error("Error",{id:i,description:r,duration:1e5,closeButton:!0})}},[t]);return{fetching:e,insertMiscExpense:s}},fr=({onDone:e,defaultValues:t={},chargeId:s})=>{const{insertMiscExpense:n,fetching:r}=ur(),i=C.useCallback(async o=>{await n({chargeId:s,fields:o}),e()},[n,s,e]);return l.jsx(hr,{defaultValues:t,onInsertDone:i,fetching:r})},hr=({onInsertDone:e,defaultValues:t,fetching:s})=>{const n=a=>{a&&Object.keys(a).length>0&&e(a)},r=Ct({defaultValues:{...t}}),{handleSubmit:i,formState:{dirtyFields:o}}=r;return l.jsx(Ot,{...r,children:l.jsx("form",{onSubmit:i(n),noValidate:!0,children:l.jsxs("div",{className:"px-5 flex flex-col gap-5 relative",children:[s&&l.jsx("div",{className:"absolute bg-white/60 z-10 h-full w-full flex items-center justify-center",children:l.jsx("div",{className:"flex items-center",children:l.jsx("span",{className:"text-3xl mr-4",children:l.jsx(Un,{className:"h-10 w-10 animate-spin mr-2 self-center"})})})}),l.jsx(mr,{formManager:r,isInsert:!0}),l.jsx("div",{className:"flex justify-right gap-5 mt-5",children:l.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(o).length===0,children:"Accept"})})]})})})},mr=({formManager:e,isInsert:t})=>{const{control:s,setValue:n}=e,{selectableFinancialEntities:r,fetching:i}=Nt();return l.jsxs(l.Fragment,{children:[l.jsx(le,{name:"creditorId",control:s,rules:{required:t?"Required":void 0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Creditor"}),l.jsx(it,{...o,data:r,value:o.value??void 0,disabled:i,placeholder:"Select creditor",formPart:!0}),l.jsx(fe,{})]})}),l.jsx(le,{name:"debtorId",control:s,rules:{required:t?"Required":void 0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Debtor"}),l.jsx(it,{...o,data:r,value:o.value??void 0,disabled:i,placeholder:"Select debtor",formPart:!0}),l.jsx(fe,{})]})}),l.jsx(lt,{name:"amount",control:s,rules:{required:t?"Required":void 0},render:({field:o,fieldState:a})=>l.jsx(lt,{name:"currency",control:s,rules:{required:t?"Required":void 0},render:({field:c,fieldState:d})=>l.jsx(Gn,{...o,required:t,value:o.value??void 0,error:a.error?.message||d.error?.message,label:"Amount",currencyCodeProps:{...c,required:t,label:"Currency"}})})}),l.jsx(le,{name:"invoiceDate",control:s,rules:{...t?{required:"Required"}:{},pattern:{value:jt,message:"Date must be im format yyyy-mm-dd"}},render:({field:o})=>{const a=o.value?new Date(o.value):void 0;return l.jsxs(ce,{children:[l.jsx(de,{children:"Invoice Date"}),l.jsx(ye,{children:l.jsx(Kn,{...o,required:t,onChange:c=>{const d=c?typeof c=="string"?c:K(c,"yyyy-MM-dd"):void 0;d!==o.value&&(n("invoiceDate",d),o.onChange(d))},value:a,valueFormat:"DD/MM/YYYY"})}),l.jsx(fe,{})]})}}),l.jsx(le,{name:"valueDate",control:s,rules:{...t?{required:"Required"}:{},validate:o=>o?!Number.isNaN(o.getTime())||"Invalid date and time format":!0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Value Date"}),l.jsx(ye,{children:l.jsx(Zn,{...o,onChange:a=>{n("valueDate",a),o.onChange(a)},onPointerEnterCapture:()=>{},onPointerLeaveCapture:()=>{},required:t,placeholder:"Pick date and time",valueFormat:"DD/MM/YYYY HH:mm:ss",withSeconds:!0})}),l.jsx(fe,{})]})}),l.jsx(le,{name:"description",control:s,rules:{required:t?"Required":void 0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Description"}),l.jsx(ye,{children:l.jsx(Wt,{...o,required:t,value:o.value??void 0})}),l.jsx(fe,{})]})})]})};function yr(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 gr={},pe={};function he(e,t){try{const n=(gr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return n in pe?pe[n]:ft(n,n.split(":"))}catch{if(e in pe)return pe[e];const s=e?.match(pr);return s?ft(e,s.slice(1)):NaN}}const pr=/([+-]\d\d):?(\d\d)?/;function ft(e,t){const s=+(t[0]||0),n=+(t[1]||0),r=+(t[2]||0)/60;return pe[e]=s*60+n>0?s*60+n+r:s*60-n-r}class Q 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)),It(this),Ke(this)):this.setTime(Date.now())}static tz(t,...s){return s.length?new Q(...s,t):new Q(Date.now(),t)}withTimeZone(t){return new Q(+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),Ke(this),+this}[Symbol.for("constructDateFrom")](t){return new Q(+new Date(t),this.timeZone)}}const ht=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!ht.test(e))return;const t=e.replace(ht,"$1UTC");Q.prototype[t]&&(e.startsWith("get")?Q.prototype[e]=function(){return this.internal[t]()}:(Q.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),br(this),+this},Q.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Ke(this),+this}))});function Ke(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-he(e.timeZone,e)*60))}function br(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()),It(e)}function It(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(),i=-new Date(+n).getTimezoneOffset(),o=r-i,a=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();o&&a&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+o);const c=r-s;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);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),g=h>0?Math.floor(h):Math.ceil(h),v=-new Date(+e).getTimezoneOffset()-g,p=g!==s,D=v-c;if(p&&D){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+D);const W=he(e.timeZone,e),M=W>0?Math.floor(W):Math.ceil(W),k=g-M;k&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+k),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+k))}}class ne extends Q{static tz(t,...s){return s.length?new ne(...s,t):new ne(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} (${yr(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 ne(+this,t)}[Symbol.for("constructDateFrom")](t){return new ne(+new Date(t),this.timeZone)}}const mt=5,vr=4;function xr(e,t){const s=t.startOfMonth(e),n=s.getDay()>0?s.getDay():7,r=t.addDays(e,-n+1),i=t.addDays(r,mt*7-1);return t.getMonth(e)===t.getMonth(i)?mt:vr}function Ft(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 Dr(e,t){const s=Ft(e,t),n=xr(e,t);return t.addDays(s,n*7-1)}const Yt={...ge,labels:{labelDayButton:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(o,a)=>K(o,a,{locale:ge,...s});let i=r(e,"PPPP");return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i},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,i)=>K(r,i,{locale:ge,...t}),n(e,"LLLL yyyy")},labelGridcell:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(o,a)=>K(o,a,{locale:ge,...s});let i=r(e,"PPPP");return t?.today&&(i=`Today, ${i}`),i},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,i)=>K(r,i,{locale:ge,...t}),n(e,"cccc")}}};class q{constructor(t,s){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?ne.tz(this.options.timeZone):new this.Date,this.newDate=(n,r,i)=>this.overrides?.newDate?this.overrides.newDate(n,r,i):this.options.timeZone?new ne(n,r,i,this.options.timeZone):new Date(n,r,i),this.addDays=(n,r)=>this.overrides?.addDays?this.overrides.addDays(n,r):Tt(n,r),this.addMonths=(n,r)=>this.overrides?.addMonths?this.overrides.addMonths(n,r):Vn(n,r),this.addWeeks=(n,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(n,r):qs(n,r),this.addYears=(n,r)=>this.overrides?.addYears?this.overrides.addYears(n,r):Xn(n,r),this.differenceInCalendarDays=(n,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(n,r):Jn(n,r),this.differenceInCalendarMonths=(n,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(n,r):Gs(n,r),this.eachMonthOfInterval=n=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(n):Zs(n),this.eachYearOfInterval=n=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(n):Xs(n),i=new Set(r.map(a=>this.getYear(a)));if(i.size===r.length)return r;const o=[];return i.forEach(a=>{o.push(new Date(a,0,1))}),o},this.endOfBroadcastWeek=n=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(n):Dr(n,this),this.endOfISOWeek=n=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(n):Js(n),this.endOfMonth=n=>this.overrides?.endOfMonth?this.overrides.endOfMonth(n):Ks(n),this.endOfWeek=(n,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(n,r):_t(n,this.options),this.endOfYear=n=>this.overrides?.endOfYear?this.overrides.endOfYear(n):Qn(n),this.format=(n,r,i)=>{const o=this.overrides?.format?this.overrides.format(n,r,this.options):K(n,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(o):o},this.getISOWeek=n=>this.overrides?.getISOWeek?this.overrides.getISOWeek(n):Ln(n),this.getMonth=(n,r)=>this.overrides?.getMonth?this.overrides.getMonth(n,this.options):Ls(n,this.options),this.getYear=(n,r)=>this.overrides?.getYear?this.overrides.getYear(n,this.options):er(n,this.options),this.getWeek=(n,r)=>this.overrides?.getWeek?this.overrides.getWeek(n,this.options):es(n,this.options),this.isAfter=(n,r)=>this.overrides?.isAfter?this.overrides.isAfter(n,r):tr(n,r),this.isBefore=(n,r)=>this.overrides?.isBefore?this.overrides.isBefore(n,r):nr(n,r),this.isDate=n=>this.overrides?.isDate?this.overrides.isDate(n):ts(n),this.isSameDay=(n,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(n,r):Us(n,r),this.isSameMonth=(n,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(n,r):sr(n,r),this.isSameYear=(n,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(n,r):rr(n,r),this.max=n=>this.overrides?.max?this.overrides.max(n):Hs(n),this.min=n=>this.overrides?.min?this.overrides.min(n):$s(n),this.setMonth=(n,r)=>this.overrides?.setMonth?this.overrides.setMonth(n,r):or(n,r),this.setYear=(n,r)=>this.overrides?.setYear?this.overrides.setYear(n,r):ar(n,r),this.startOfBroadcastWeek=(n,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(n,this):Ft(n,this),this.startOfDay=n=>this.overrides?.startOfDay?this.overrides.startOfDay(n):Ge(n),this.startOfISOWeek=n=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(n):ns(n),this.startOfMonth=n=>this.overrides?.startOfMonth?this.overrides.startOfMonth(n):Vs(n),this.startOfWeek=(n,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(n,this.options):ss(n,this.options),this.startOfYear=n=>this.overrides?.startOfYear?this.overrides.startOfYear(n):rs(n),this.options={locale:Yt,...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&&q.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:s,timeZone:n,numerals:r}=this.options,i=s?.code;if(i&&q.yearFirstLocales.has(i))try{return new Intl.DateTimeFormat(i,{month:"long",year:"numeric",timeZone:n,numberingSystem:r}).format(t)}catch{}const o=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,o)}}q.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 L=new q;class Pt{constructor(t,s,n=L){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 kr{constructor(t,s){this.date=t,this.weeks=s}}class Mr{constructor(t,s){this.days=s,this.weekNumber=t}}function wr(e){return m.createElement("button",{...e})}function Sr(e){return m.createElement("span",{...e})}function Cr(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 Nr(e){const{day:t,modifiers:s,...n}=e;return m.createElement("td",{...n})}function Or(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 F;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(F||(F={}));var Z;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Z||(Z={}));var R;(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"})(R||(R={}));function jr(e){const{options:t,className:s,components:n,classNames:r,...i}=e,o=[r[b.Dropdown],s].join(" "),a=t?.find(({value:c})=>c===i.value);return m.createElement("span",{"data-disabled":i.disabled,className:r[b.DropdownRoot]},m.createElement(n.Select,{className:o,...i},t?.map(({value:c,label:d,disabled:f})=>m.createElement(n.Option,{key:c,value:c,disabled:f},d))),m.createElement("span",{className:r[b.CaptionLabel],"aria-hidden":!0},a?.label,m.createElement(n.Chevron,{orientation:"down",size:18,className:r[b.Chevron]})))}function Wr(e){return m.createElement("div",{...e})}function Tr(e){return m.createElement("div",{...e})}function Er(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n},e.children)}function _r(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n})}function Ir(e){return m.createElement("table",{...e})}function Fr(e){return m.createElement("div",{...e})}const Bt=C.createContext(void 0);function ve(){const e=C.useContext(Bt);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Yr(e){const{components:t}=ve();return m.createElement(t.Dropdown,{...e})}function Pr(e){const{onPreviousClick:t,onNextClick:s,previousMonth:n,nextMonth:r,...i}=e,{components:o,classNames:a,labels:{labelPrevious:c,labelNext:d}}=ve(),f=C.useCallback(h=>{r&&s?.(h)},[r,s]),u=C.useCallback(h=>{n&&t?.(h)},[n,t]);return m.createElement("nav",{...i},m.createElement(o.PreviousMonthButton,{type:"button",className:a[b.PreviousMonthButton],tabIndex:n?void 0:-1,"aria-disabled":n?void 0:!0,"aria-label":c(n),onClick:u},m.createElement(o.Chevron,{disabled:n?void 0:!0,className:a[b.Chevron],orientation:"left"})),m.createElement(o.NextMonthButton,{type:"button",className:a[b.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:f},m.createElement(o.Chevron,{disabled:r?void 0:!0,orientation:"right",className:a[b.Chevron]})))}function Br(e){const{components:t}=ve();return m.createElement(t.Button,{...e})}function Ar(e){return m.createElement("option",{...e})}function Rr(e){const{components:t}=ve();return m.createElement(t.Button,{...e})}function zr(e){const{rootRef:t,...s}=e;return m.createElement("div",{...s,ref:t})}function qr(e){return m.createElement("select",{...e})}function Hr(e){const{week:t,...s}=e;return m.createElement("tr",{...s})}function $r(e){return m.createElement("th",{...e})}function Ur(e){return m.createElement("thead",{"aria-hidden":!0},m.createElement("tr",{...e}))}function Gr(e){const{week:t,...s}=e;return m.createElement("th",{...s})}function Kr(e){return m.createElement("th",{...e})}function Zr(e){return m.createElement("tbody",{...e})}function Vr(e){const{components:t}=ve();return m.createElement(t.Dropdown,{...e})}const Xr=Object.freeze(Object.defineProperty({__proto__:null,Button:wr,CaptionLabel:Sr,Chevron:Cr,Day:Nr,DayButton:Or,Dropdown:jr,DropdownNav:Wr,Footer:Tr,Month:Er,MonthCaption:_r,MonthGrid:Ir,Months:Fr,MonthsDropdown:Yr,Nav:Pr,NextMonthButton:Br,Option:Ar,PreviousMonthButton:Rr,Root:zr,Select:qr,Week:Hr,WeekNumber:Gr,WeekNumberHeader:Kr,Weekday:$r,Weekdays:Ur,Weeks:Zr,YearsDropdown:Vr},Symbol.toStringTag,{value:"Module"}));function se(e,t,s=!1,n=L){let{from:r,to:i}=e;const{differenceInCalendarDays:o,isSameDay:a}=n;return r&&i?(o(i,r)<0&&([r,i]=[i,r]),o(t,r)>=(s?1:0)&&o(i,t)>=(s?1:0)):!s&&i?a(i,t):!s&&r?a(r,t):!1}function Ve(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function we(e){return!!(e&&typeof e=="object"&&"from"in e)}function Xe(e){return!!(e&&typeof e=="object"&&"after"in e)}function Je(e){return!!(e&&typeof e=="object"&&"before"in e)}function At(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Rt(e,t){return Array.isArray(e)&&e.every(t.isDate)}function re(e,t,s=L){const n=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:i,isAfter:o}=s;return n.some(a=>{if(typeof a=="boolean")return a;if(s.isDate(a))return r(e,a);if(Rt(a,s))return a.some(c=>r(e,c));if(we(a))return se(a,e,!1,s);if(At(a))return Array.isArray(a.dayOfWeek)?a.dayOfWeek.includes(e.getDay()):a.dayOfWeek===e.getDay();if(Ve(a)){const c=i(a.before,e),d=i(a.after,e),f=c>0,u=d<0;return o(a.before,a.after)?u&&f:f||u}return Xe(a)?i(e,a.after)>0:Je(a)?i(a.before,e)>0:typeof a=="function"?a(e):!1})}function Jr(e,t,s,n,r){const{disabled:i,hidden:o,modifiers:a,showOutsideDays:c,broadcastCalendar:d,today:f=r.today()}=t,{isSameDay:u,isSameMonth:h,startOfMonth:g,isBefore:w,endOfMonth:v,isAfter:p}=r,D=s&&g(s),W=n&&v(n),M={[F.focused]:[],[F.outside]:[],[F.disabled]:[],[F.hidden]:[],[F.today]:[]},k={};for(const x of e){const{date:y,displayMonth:O}=x,T=!!(O&&!h(y,O)),P=!!(D&&w(y,D)),Y=!!(W&&p(y,W)),V=!!(i&&re(y,i,r)),ae=!!(o&&re(y,o,r))||P||Y||!d&&!c&&T||d&&c===!1&&T,ee=u(y,f);T&&M.outside.push(x),V&&M.disabled.push(x),ae&&M.hidden.push(x),ee&&M.today.push(x),a&&Object.keys(a).forEach(H=>{const me=a?.[H];me&&re(y,me,r)&&(k[H]?k[H].push(x):k[H]=[x])})}return x=>{const y={[F.focused]:!1,[F.disabled]:!1,[F.hidden]:!1,[F.outside]:!1,[F.today]:!1},O={};for(const T in M){const P=M[T];y[T]=P.some(Y=>Y===x)}for(const T in k)O[T]=k[T].some(P=>P===x);return{...y,...O}}}function Qr(e,t,s={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[i])=>(s[i]?r.push(s[i]):t[F[i]]?r.push(t[F[i]]):t[Z[i]]&&r.push(t[Z[i]]),r),[t[b.Day]])}function Lr(e){return{...Xr,...e}}function eo(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 Qe(){const e={};for(const t in b)e[b[t]]=`rdp-${b[t]}`;for(const t in F)e[F[t]]=`rdp-${F[t]}`;for(const t in Z)e[Z[t]]=`rdp-${Z[t]}`;for(const t in R)e[R[t]]=`rdp-${R[t]}`;return e}function zt(e,t,s){return(s??new q(t)).formatMonthYear(e)}const to=zt;function no(e,t,s){return(s??new q(t)).format(e,"d")}function so(e,t=L){return t.format(e,"LLLL")}function ro(e,t,s){return(s??new q(t)).format(e,"cccccc")}function oo(e,t=L){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function ao(){return""}function qt(e,t=L){return t.format(e,"yyyy")}const io=qt,lo=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:zt,formatDay:no,formatMonthCaption:to,formatMonthDropdown:so,formatWeekNumber:oo,formatWeekNumberHeader:ao,formatWeekdayName:ro,formatYearCaption:io,formatYearDropdown:qt},Symbol.toStringTag,{value:"Module"}));function co(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...lo,...e}}function Le(e,t,s,n){let r=(n??new q(s)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const uo=Le;function et(e,t,s){return(s??new q(t)).formatMonthYear(e)}const fo=et;function Ht(e,t,s,n){let r=(n??new q(s)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function $t(e){return"Choose the Month"}function Ut(){return""}const ho="Go to the Next Month";function Gt(e,t){return ho}function Kt(e){return"Go to the Previous Month"}function Zt(e,t,s){return(s??new q(t)).format(e,"cccc")}function Vt(e,t){return`Week ${e}`}function Xt(e){return"Week Number"}function Jt(e){return"Choose the Year"}const mo=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:fo,labelDay:uo,labelDayButton:Le,labelGrid:et,labelGridcell:Ht,labelMonthDropdown:$t,labelNav:Ut,labelNext:Gt,labelPrevious:Kt,labelWeekNumber:Vt,labelWeekNumberHeader:Xt,labelWeekday:Zt,labelYearDropdown:Jt},Symbol.toStringTag,{value:"Module"})),G=(e,t,s)=>t||(s?typeof s=="function"?s:(...n)=>s:e);function yo(e,t){const s=t.locale?.labels??{};return{...mo,...e??{},labelDayButton:G(Le,e?.labelDayButton,s.labelDayButton),labelMonthDropdown:G($t,e?.labelMonthDropdown,s.labelMonthDropdown),labelNext:G(Gt,e?.labelNext,s.labelNext),labelPrevious:G(Kt,e?.labelPrevious,s.labelPrevious),labelWeekNumber:G(Vt,e?.labelWeekNumber,s.labelWeekNumber),labelYearDropdown:G(Jt,e?.labelYearDropdown,s.labelYearDropdown),labelGrid:G(et,e?.labelGrid,s.labelGrid),labelGridcell:G(Ht,e?.labelGridcell,s.labelGridcell),labelNav:G(Ut,e?.labelNav,s.labelNav),labelWeekNumberHeader:G(Xt,e?.labelWeekNumberHeader,s.labelWeekNumberHeader),labelWeekday:G(Zt,e?.labelWeekday,s.labelWeekday)}}function go(e,t,s,n,r){const{startOfMonth:i,startOfYear:o,endOfYear:a,eachMonthOfInterval:c,getMonth:d}=r;return c({start:o(e),end:a(e)}).map(h=>{const g=n.formatMonthDropdown(h,r),w=d(h),v=t&&h<i(t)||s&&h>i(s)||!1;return{value:w,label:g,disabled:v}})}function po(e,t={},s={}){let n={...t?.[b.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{n={...n,...s?.[r]}}),n}function bo(e,t,s,n){const r=n??e.today(),i=s?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),o=[];for(let a=0;a<7;a++){const c=e.addDays(i,a);o.push(c)}return o}function vo(e,t,s,n,r=!1){if(!e||!t)return;const{startOfYear:i,endOfYear:o,eachYearOfInterval:a,getYear:c}=n,d=i(e),f=o(t),u=a({start:d,end:f});return r&&u.reverse(),u.map(h=>{const g=s.formatYearDropdown(h,n);return{value:c(h),label:g,disabled:!1}})}const xe=e=>e instanceof HTMLElement?e:null,Pe=e=>[...e.querySelectorAll("[data-animated-month]")??[]],xo=e=>xe(e.querySelector("[data-animated-month]")),Be=e=>xe(e.querySelector("[data-animated-caption]")),Ae=e=>xe(e.querySelector("[data-animated-weeks]")),Do=e=>xe(e.querySelector("[data-animated-nav]")),ko=e=>xe(e.querySelector("[data-animated-weekdays]"));function Mo(e,t,{classNames:s,months:n,focused:r,dateLib:i}){const o=C.useRef(null),a=C.useRef(n),c=C.useRef(!1);C.useLayoutEffect(()=>{const d=a.current;if(a.current=n,!t||!e.current||!(e.current instanceof HTMLElement)||n.length===0||d.length===0||n.length!==d.length)return;const f=i.isSameMonth(n[0].date,d[0].date),u=i.isAfter(n[0].date,d[0].date),h=u?s[R.caption_after_enter]:s[R.caption_before_enter],g=u?s[R.weeks_after_enter]:s[R.weeks_before_enter],w=o.current,v=e.current.cloneNode(!0);if(v instanceof HTMLElement?(Pe(v).forEach(M=>{if(!(M instanceof HTMLElement))return;const k=xo(M);k&&M.contains(k)&&M.removeChild(k);const x=Be(M);x&&x.classList.remove(h);const y=Ae(M);y&&y.classList.remove(g)}),o.current=v):o.current=null,c.current||f||r)return;const p=w instanceof HTMLElement?Pe(w):[],D=Pe(e.current);if(D?.every(W=>W instanceof HTMLElement)&&p&&p.every(W=>W instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const W=Do(e.current);W&&(W.style.zIndex="1"),D.forEach((M,k)=>{const x=p[k];if(!x)return;M.style.position="relative",M.style.overflow="hidden";const y=Be(M);y&&y.classList.add(h);const O=Ae(M);O&&O.classList.add(g);const T=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),W&&(W.style.zIndex=""),y&&y.classList.remove(h),O&&O.classList.remove(g),M.style.position="",M.style.overflow="",M.contains(x)&&M.removeChild(x)};x.style.pointerEvents="none",x.style.position="absolute",x.style.overflow="hidden",x.setAttribute("aria-hidden","true");const P=ko(x);P&&(P.style.opacity="0");const Y=Be(x);Y&&(Y.classList.add(u?s[R.caption_before_exit]:s[R.caption_after_exit]),Y.addEventListener("animationend",T));const V=Ae(x);V&&V.classList.add(u?s[R.weeks_before_exit]:s[R.weeks_after_exit]),M.insertBefore(x,M.firstChild)})}})}function wo(e,t,s,n){const r=e[0],i=e[e.length-1],{ISOWeek:o,fixedWeeks:a,broadcastCalendar:c}=s??{},{addDays:d,differenceInCalendarDays:f,differenceInCalendarMonths:u,endOfBroadcastWeek:h,endOfISOWeek:g,endOfMonth:w,endOfWeek:v,isAfter:p,startOfBroadcastWeek:D,startOfISOWeek:W,startOfWeek:M}=n,k=c?D(r,n):o?W(r):M(r),x=c?h(i):o?g(w(i)):v(w(i)),y=t&&(c?h(t):o?g(t):v(t)),O=y&&p(x,y)?y:x,T=f(O,k),P=u(i,r)+1,Y=[];for(let ee=0;ee<=T;ee++){const H=d(k,ee);Y.push(H)}const ae=(c?35:42)*P;if(a&&Y.length<ae){const ee=ae-Y.length;for(let H=0;H<ee;H++){const me=d(Y[Y.length-1],1);Y.push(me)}}return Y}function So(e){const t=[];return e.reduce((s,n)=>{const r=n.weeks.reduce((i,o)=>i.concat(o.days.slice()),t.slice());return s.concat(r.slice())},t.slice())}function Co(e,t,s,n){const{numberOfMonths:r=1}=s,i=[];for(let o=0;o<r;o++){const a=n.addMonths(e,o);if(t&&a>t)break;i.push(a)}return i}function yt(e,t,s,n){const{month:r,defaultMonth:i,today:o=n.today(),numberOfMonths:a=1}=e;let c=r||i||o;const{differenceInCalendarMonths:d,addMonths:f,startOfMonth:u}=n;if(s&&d(s,c)<a-1){const h=-1*(a-1);c=f(s,h)}return t&&d(c,t)<0&&(c=t),u(c)}function No(e,t,s,n){const{addDays:r,endOfBroadcastWeek:i,endOfISOWeek:o,endOfMonth:a,endOfWeek:c,getISOWeek:d,getWeek:f,startOfBroadcastWeek:u,startOfISOWeek:h,startOfWeek:g}=n,w=e.reduce((v,p)=>{const D=s.broadcastCalendar?u(p,n):s.ISOWeek?h(p):g(p),W=s.broadcastCalendar?i(p):s.ISOWeek?o(a(p)):c(a(p)),M=t.filter(O=>O>=D&&O<=W),k=s.broadcastCalendar?35:42;if(s.fixedWeeks&&M.length<k){const O=t.filter(T=>{const P=k-M.length;return T>W&&T<=r(W,P)});M.push(...O)}const x=M.reduce((O,T)=>{const P=s.ISOWeek?d(T):f(T),Y=O.find(ae=>ae.weekNumber===P),V=new Pt(T,p,n);return Y?Y.days.push(V):O.push(new Mr(P,[V])),O},[]),y=new kr(p,x);return v.push(y),v},[]);return s.reverseMonths?w.reverse():w}function Oo(e,t){let{startMonth:s,endMonth:n}=e;const{startOfYear:r,startOfDay:i,startOfMonth:o,endOfMonth:a,addYears:c,endOfYear:d,newDate:f,today:u}=t,{fromYear:h,toYear:g,fromMonth:w,toMonth:v}=e;!s&&w&&(s=w),!s&&h&&(s=t.newDate(h,0,1)),!n&&v&&(n=v),!n&&g&&(n=f(g,11,31));const p=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return s?s=o(s):h?s=f(h,0,1):!s&&p&&(s=r(c(e.today??u(),-100))),n?n=a(n):g?n=f(g,11,31):!n&&p&&(n=d(e.today??u())),[s&&i(s),n&&i(n)]}function jo(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:i=1}=s,{startOfMonth:o,addMonths:a,differenceInCalendarMonths:c}=n,d=r?i:1,f=o(e);if(!t)return a(f,d);if(!(c(t,e)<i))return a(f,d)}function Wo(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:i}=s,{startOfMonth:o,addMonths:a,differenceInCalendarMonths:c}=n,d=r?i??1:1,f=o(e);if(!t)return a(f,-d);if(!(c(f,t)<=0))return a(f,-d)}function To(e){const t=[];return e.reduce((s,n)=>s.concat(n.weeks.slice()),t.slice())}function Se(e,t){const[s,n]=C.useState(e);return[t===void 0?s:t,n]}function Eo(e,t){const[s,n]=Oo(e,t),{startOfMonth:r,endOfMonth:i}=t,o=yt(e,s,n,t),[a,c]=Se(o,e.month?o:void 0);C.useEffect(()=>{const k=yt(e,s,n,t);c(k)},[e.timeZone]);const{months:d,weeks:f,days:u,previousMonth:h,nextMonth:g}=C.useMemo(()=>{const k=Co(a,n,{numberOfMonths:e.numberOfMonths},t),x=wo(k,e.endMonth?i(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),y=No(k,x,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),O=To(y),T=So(y),P=Wo(a,s,e,t),Y=jo(a,n,e,t);return{months:y,weeks:O,days:T,previousMonth:P,nextMonth:Y}},[t,a.getTime(),n?.getTime(),s?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:w,onMonthChange:v}=e,p=k=>f.some(x=>x.days.some(y=>y.isEqualTo(k))),D=k=>{if(w)return;let x=r(k);s&&x<r(s)&&(x=r(s)),n&&x>r(n)&&(x=r(n)),c(x),v?.(x)};return{months:d,weeks:f,days:u,navStart:s,navEnd:n,previousMonth:h,nextMonth:g,goToMonth:D,goToDay:k=>{p(k)||D(k.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 gt(e){return!e[F.disabled]&&!e[F.hidden]&&!e[F.outside]}function _o(e,t,s,n){let r,i=-1;for(const o of e){const a=t(o);gt(a)&&(a[F.focused]&&i<J.FocusedModifier?(r=o,i=J.FocusedModifier):n?.isEqualTo(o)&&i<J.LastFocused?(r=o,i=J.LastFocused):s(o.date)&&i<J.Selected?(r=o,i=J.Selected):a[F.today]&&i<J.Today&&(r=o,i=J.Today))}return r||(r=e.find(o=>gt(t(o)))),r}function Io(e,t,s,n,r,i,o){const{ISOWeek:a,broadcastCalendar:c}=i,{addDays:d,addMonths:f,addWeeks:u,addYears:h,endOfBroadcastWeek:g,endOfISOWeek:w,endOfWeek:v,max:p,min:D,startOfBroadcastWeek:W,startOfISOWeek:M,startOfWeek:k}=o;let y={day:d,week:u,month:f,year:h,startOfWeek:O=>c?W(O,o):a?M(O):k(O),endOfWeek:O=>c?g(O):a?w(O):v(O)}[e](s,t==="after"?1:-1);return t==="before"&&n?y=p([n,y]):t==="after"&&r&&(y=D([r,y])),y}function Qt(e,t,s,n,r,i,o,a=0){if(a>365)return;const c=Io(e,t,s.date,n,r,i,o),d=!!(i.disabled&&re(c,i.disabled,o)),f=!!(i.hidden&&re(c,i.hidden,o)),u=c,h=new Pt(c,u,o);return!d&&!f?h:Qt(e,t,h,n,r,i,o,a+1)}function Fo(e,t,s,n,r){const{autoFocus:i}=e,[o,a]=C.useState(),c=_o(t.days,s,n||(()=>!1),o),[d,f]=C.useState(i?c:void 0);return{isFocusTarget:v=>!!c?.isEqualTo(v),setFocused:f,focused:d,blur:()=>{a(d),f(void 0)},moveFocus:(v,p)=>{if(!d)return;const D=Qt(v,p,d,t.navStart,t.navEnd,e,r);D&&(e.disableNavigation&&!t.days.some(M=>M.isEqualTo(D))||(t.goToDay(D),f(D)))}}}function Yo(e,t){const{selected:s,required:n,onSelect:r}=e,[i,o]=Se(s,r?s:void 0),a=r?s:i,{isSameDay:c}=t,d=g=>a?.some(w=>c(w,g))??!1,{min:f,max:u}=e;return{selected:a,select:(g,w,v)=>{let p=[...a??[]];if(d(g)){if(a?.length===f||n&&a?.length===1)return;p=a?.filter(D=>!c(D,g))}else a?.length===u?p=[g]:p=[...p,g];return r||o(p),r?.(p,g,w,v),p},isSelected:d}}function Po(e,t,s=0,n=0,r=!1,i=L){const{from:o,to:a}=t||{},{isSameDay:c,isAfter:d,isBefore:f}=i;let u;if(!o&&!a)u={from:e,to:s>0?void 0:e};else if(o&&!a)c(o,e)?s===0?u={from:o,to:e}:r?u={from:o,to:void 0}:u=void 0:f(e,o)?u={from:e,to:o}:u={from:o,to:e};else if(o&&a)if(c(o,e)&&c(a,e))r?u={from:o,to:a}:u=void 0;else if(c(o,e))u={from:o,to:s>0?void 0:e};else if(c(a,e))u={from:e,to:s>0?void 0:e};else if(f(e,o))u={from:e,to:a};else if(d(e,o))u={from:o,to:e};else if(d(e,a))u={from:o,to:e};else throw new Error("Invalid range");if(u?.from&&u?.to){const h=i.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 Bo(e,t,s=L){const n=Array.isArray(t)?t:[t];let r=e.from;const i=s.differenceInCalendarDays(e.to,e.from),o=Math.min(i,6);for(let a=0;a<=o;a++){if(n.includes(r.getDay()))return!0;r=s.addDays(r,1)}return!1}function pt(e,t,s=L){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 Ao(e,t,s=L){const n=Array.isArray(t)?t:[t];if(n.filter(a=>typeof a!="function").some(a=>typeof a=="boolean"?a:s.isDate(a)?se(e,a,!1,s):Rt(a,s)?a.some(c=>se(e,c,!1,s)):we(a)?a.from&&a.to?pt(e,{from:a.from,to:a.to},s):!1:At(a)?Bo(e,a.dayOfWeek,s):Ve(a)?s.isAfter(a.before,a.after)?pt(e,{from:s.addDays(a.after,1),to:s.addDays(a.before,-1)},s):re(e.from,a,s)||re(e.to,a,s):Xe(a)||Je(a)?re(e.from,a,s)||re(e.to,a,s):!1))return!0;const o=n.filter(a=>typeof a=="function");if(o.length){let a=e.from;const c=s.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=c;d++){if(o.some(f=>f(a)))return!0;a=s.addDays(a,1)}}return!1}function Ro(e,t){const{disabled:s,excludeDisabled:n,selected:r,required:i,onSelect:o}=e,[a,c]=Se(r,o?r:void 0),d=o?r:a;return{selected:d,select:(h,g,w)=>{const{min:v,max:p}=e,D=h?Po(h,d,v,p,i,t):void 0;return n&&s&&D?.from&&D.to&&Ao({from:D.from,to:D.to},s,t)&&(D.from=h,D.to=void 0),o||c(D),o?.(D,h,g,w),D},isSelected:h=>d&&se(d,h,!1,t)}}function zo(e,t){const{selected:s,required:n,onSelect:r}=e,[i,o]=Se(s,r?s:void 0),a=r?s:i,{isSameDay:c}=t;return{selected:a,select:(u,h,g)=>{let w=u;return!n&&a&&a&&c(u,a)&&(w=void 0),r||o(w),r?.(w,u,h,g),w},isSelected:u=>a?c(a,u):!1}}function qo(e,t){const s=zo(e,t),n=Yo(e,t),r=Ro(e,t);switch(e.mode){case"single":return s;case"multiple":return n;case"range":return r;default:return}}function B(e,t){return e instanceof ne&&e.timeZone===t?e:new ne(e,t)}function bt(e,t){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?B(e,t):Array.isArray(e)?e.map(s=>s instanceof Date?B(s,t):s):we(e)?{...e,from:e.from?B(e.from,t):e.from,to:e.to?B(e.to,t):e.to}:Ve(e)?{before:B(e.before,t),after:B(e.after,t)}:Xe(e)?{after:B(e.after,t)}:Je(e)?{before:B(e.before,t)}:e}function Re(e,t){return e&&(Array.isArray(e)?e.map(s=>bt(s,t)):bt(e,t))}function Ho(e){let t=e;const s=t.timeZone;if(s&&(t={...e,timeZone:s},t.today&&(t.today=B(t.today,s)),t.month&&(t.month=B(t.month,s)),t.defaultMonth&&(t.defaultMonth=B(t.defaultMonth,s)),t.startMonth&&(t.startMonth=B(t.startMonth,s)),t.endMonth&&(t.endMonth=B(t.endMonth,s)),t.mode==="single"&&t.selected?t.selected=B(t.selected,s):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(N=>B(N,s)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?B(t.selected.from,s):t.selected.from,to:t.selected.to?B(t.selected.to,s):t.selected.to}),t.disabled!==void 0&&(t.disabled=Re(t.disabled,s)),t.hidden!==void 0&&(t.hidden=Re(t.hidden,s)),t.modifiers)){const N={};Object.keys(t.modifiers).forEach(_=>{N[_]=Re(t.modifiers?.[_],s)}),t.modifiers=N}const{components:n,formatters:r,labels:i,dateLib:o,locale:a,classNames:c}=C.useMemo(()=>{const N={...Yt,...t.locale},_=new q({locale:N,weekStartsOn:t.broadcastCalendar?1:t.weekStartsOn,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},t.dateLib);return{dateLib:_,components:Lr(t.components),formatters:co(t.formatters),labels:yo(t.labels,_.options),locale:N,classNames:{...Qe(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:o.today()});const{captionLayout:d,mode:f,navLayout:u,numberOfMonths:h=1,onDayBlur:g,onDayClick:w,onDayFocus:v,onDayKeyDown:p,onDayMouseEnter:D,onDayMouseLeave:W,onNextClick:M,onPrevClick:k,showWeekNumber:x,styles:y}=t,{formatCaption:O,formatDay:T,formatMonthDropdown:P,formatWeekNumber:Y,formatWeekNumberHeader:V,formatWeekdayName:ae,formatYearDropdown:ee}=r,H=Eo(t,o),{days:me,months:De,navStart:Ce,navEnd:Ne,previousMonth:$,nextMonth:U,goToMonth:te}=H,Oe=Jr(me,t,Ce,Ne,o),{isSelected:je,select:We,selected:ke}=qo(t,o)??{},{blur:tt,focused:nt,isFocusTarget:Lt,moveFocus:st,setFocused:Me}=Fo(t,H,Oe,je??(()=>!1),o),{labelDayButton:en,labelGridcell:tn,labelGrid:nn,labelMonthDropdown:sn,labelNav:rt,labelPrevious:rn,labelNext:on,labelWeekday:an,labelWeekNumber:ln,labelWeekNumberHeader:cn,labelYearDropdown:dn}=i,un=C.useMemo(()=>bo(o,t.ISOWeek,t.broadcastCalendar,t.today),[o,t.ISOWeek,t.broadcastCalendar,t.today]),ot=f!==void 0||w!==void 0,Te=C.useCallback(()=>{$&&(te($),k?.($))},[$,te,k]),Ee=C.useCallback(()=>{U&&(te(U),M?.(U))},[te,U,M]),fn=C.useCallback((N,_)=>S=>{S.preventDefault(),S.stopPropagation(),Me(N),!_.disabled&&(We?.(N.date,_,S),w?.(N.date,_,S))},[We,w,Me]),hn=C.useCallback((N,_)=>S=>{Me(N),v?.(N.date,_,S)},[v,Me]),mn=C.useCallback((N,_)=>S=>{tt(),g?.(N.date,_,S)},[tt,g]),yn=C.useCallback((N,_)=>S=>{const I={ArrowLeft:[S.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[S.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[S.shiftKey?"year":"week","after"],ArrowUp:[S.shiftKey?"year":"week","before"],PageUp:[S.shiftKey?"year":"month","before"],PageDown:[S.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(I[S.key]){S.preventDefault(),S.stopPropagation();const[X,j]=I[S.key];st(X,j)}p?.(N.date,_,S)},[st,p,t.dir]),gn=C.useCallback((N,_)=>S=>{D?.(N.date,_,S)},[D]),pn=C.useCallback((N,_)=>S=>{W?.(N.date,_,S)},[W]),bn=C.useCallback(N=>_=>{const S=Number(_.target.value),I=o.setMonth(o.startOfMonth(N),S);te(I)},[o,te]),vn=C.useCallback(N=>_=>{const S=Number(_.target.value),I=o.setYear(o.startOfMonth(N),S);te(I)},[o,te]),{className:xn,style:Dn}=C.useMemo(()=>({className:[c[b.Root],t.className].filter(Boolean).join(" "),style:{...y?.[b.Root],...t.style}}),[c,t.className,t.style,y]),kn=eo(t),at=C.useRef(null);Mo(at,!!t.animate,{classNames:c,months:De,focused:nt,dateLib:o});const Mn={dayPickerProps:t,selected:ke,select:We,isSelected:je,months:De,nextMonth:U,previousMonth:$,goToMonth:te,getModifiers:Oe,components:n,classNames:c,styles:y,labels:i,formatters:r};return m.createElement(Bt.Provider,{value:Mn},m.createElement(n.Root,{rootRef:t.animate?at:void 0,className:xn,style:Dn,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"],...kn},m.createElement(n.Months,{className:c[b.Months],style:y?.[b.Months]},!t.hideNavigation&&!u&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[b.Nav],style:y?.[b.Nav],"aria-label":rt(),onPreviousClick:Te,onNextClick:Ee,previousMonth:$,nextMonth:U}),De.map((N,_)=>m.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:c[b.Month],style:y?.[b.Month],key:_,displayIndex:_,calendarMonth:N},u==="around"&&!t.hideNavigation&&_===0&&m.createElement(n.PreviousMonthButton,{type:"button",className:c[b.PreviousMonthButton],tabIndex:$?void 0:-1,"aria-disabled":$?void 0:!0,"aria-label":rn($),onClick:Te,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:$?void 0:!0,className:c[b.Chevron],orientation:t.dir==="rtl"?"right":"left"})),m.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[b.MonthCaption],style:y?.[b.MonthCaption],calendarMonth:N,displayIndex:_},d?.startsWith("dropdown")?m.createElement(n.DropdownNav,{className:c[b.Dropdowns],style:y?.[b.Dropdowns]},(()=>{const S=d==="dropdown"||d==="dropdown-months"?m.createElement(n.MonthsDropdown,{key:"month",className:c[b.MonthsDropdown],"aria-label":sn(),classNames:c,components:n,disabled:!!t.disableNavigation,onChange:bn(N.date),options:go(N.date,Ce,Ne,r,o),style:y?.[b.Dropdown],value:o.getMonth(N.date)}):m.createElement("span",{key:"month"},P(N.date,o)),I=d==="dropdown"||d==="dropdown-years"?m.createElement(n.YearsDropdown,{key:"year",className:c[b.YearsDropdown],"aria-label":dn(o.options),classNames:c,components:n,disabled:!!t.disableNavigation,onChange:vn(N.date),options:vo(Ce,Ne,r,o,!!t.reverseYears),style:y?.[b.Dropdown],value:o.getYear(N.date)}):m.createElement("span",{key:"year"},ee(N.date,o));return o.getMonthYearOrder()==="year-first"?[I,S]:[S,I]})(),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"}},O(N.date,o.options,o))):m.createElement(n.CaptionLabel,{className:c[b.CaptionLabel],role:"status","aria-live":"polite"},O(N.date,o.options,o))),u==="around"&&!t.hideNavigation&&_===h-1&&m.createElement(n.NextMonthButton,{type:"button",className:c[b.NextMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":on(U),onClick:Ee,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:U?void 0:!0,className:c[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:c[b.Nav],style:y?.[b.Nav],"aria-label":rt(),onPreviousClick:Te,onNextClick:Ee,previousMonth:$,nextMonth:U}),m.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":f==="multiple"||f==="range","aria-label":nn(N.date,o.options,o)||void 0,className:c[b.MonthGrid],style:y?.[b.MonthGrid]},!t.hideWeekdays&&m.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[b.Weekdays],style:y?.[b.Weekdays]},x&&m.createElement(n.WeekNumberHeader,{"aria-label":cn(o.options),className:c[b.WeekNumberHeader],style:y?.[b.WeekNumberHeader],scope:"col"},V()),un.map(S=>m.createElement(n.Weekday,{"aria-label":an(S,o.options,o),className:c[b.Weekday],key:String(S),style:y?.[b.Weekday],scope:"col"},ae(S,o.options,o)))),m.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[b.Weeks],style:y?.[b.Weeks]},N.weeks.map(S=>m.createElement(n.Week,{className:c[b.Week],key:S.weekNumber,style:y?.[b.Week],week:S},x&&m.createElement(n.WeekNumber,{week:S,style:y?.[b.WeekNumber],"aria-label":ln(S.weekNumber,{locale:a}),className:c[b.WeekNumber],scope:"row",role:"rowheader"},Y(S.weekNumber,o)),S.days.map(I=>{const{date:X}=I,j=Oe(I);if(j[F.focused]=!j.hidden&&!!nt?.isEqualTo(I),j[Z.selected]=je?.(X)||j.selected,we(ke)){const{from:_e,to:Ie}=ke;j[Z.range_start]=!!(_e&&Ie&&o.isSameDay(X,_e)),j[Z.range_end]=!!(_e&&Ie&&o.isSameDay(X,Ie)),j[Z.range_middle]=se(ke,X,!0,o)}const wn=po(j,y,t.modifiersStyles),Sn=Qr(j,c,t.modifiersClassNames),Cn=!ot&&!j.hidden?tn(X,j,o.options,o):void 0;return m.createElement(n.Day,{key:`${I.isoDate}_${I.displayMonthId}`,day:I,modifiers:j,className:Sn.join(" "),style:wn,role:"gridcell","aria-selected":j.selected||void 0,"aria-label":Cn,"data-day":I.isoDate,"data-month":I.outside?I.dateMonthId:void 0,"data-selected":j.selected||void 0,"data-disabled":j.disabled||void 0,"data-hidden":j.hidden||void 0,"data-outside":I.outside||void 0,"data-focused":j.focused||void 0,"data-today":j.today||void 0},!j.hidden&&ot?m.createElement(n.DayButton,{className:c[b.DayButton],style:y?.[b.DayButton],type:"button",day:I,modifiers:j,disabled:!j.focused&&j.disabled||void 0,"aria-disabled":j.focused&&j.disabled||void 0,tabIndex:Lt(I)?0:-1,"aria-label":en(X,j,o.options,o),onClick:fn(I,j),onBlur:mn(I,j),onFocus:hn(I,j),onKeyDown:yn(I,j),onMouseEnter:gn(I,j),onMouseLeave:pn(I,j)},T(X,o.options,o)):!j.hidden&&T(I.date,o.options,o))})))))))),t.footer&&m.createElement(n.Footer,{className:c[b.Footer],style:y?.[b.Footer],role:"status","aria-live":"polite"},t.footer)))}function $o({className:e,classNames:t,showOutsideDays:s=!0,captionLayout:n="label",buttonVariant:r="ghost",formatters:i,components:o,...a}){const c=Qe();return l.jsx(Ho,{showOutsideDays:s,className:E("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"}),...i},classNames:{root:E("w-fit",c.root),months:E("flex gap-4 flex-col md:flex-row relative",c.months),month:E("flex flex-col w-full gap-4",c.month),nav:E("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",c.nav),button_previous:E(ct({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_previous),button_next:E(ct({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_next),month_caption:E("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",c.month_caption),dropdowns:E("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",c.dropdowns),dropdown_root:E("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",c.dropdown_root),dropdown:E("absolute bg-white inset-0 opacity-0 dark:bg-gray-950",c.dropdown),caption_label:E("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",c.caption_label),table:"w-full border-collapse",weekdays:E("flex",c.weekdays),weekday:E("text-gray-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-gray-400",c.weekday),week:E("flex w-full mt-2",c.week),week_number_header:E("select-none w-(--cell-size)",c.week_number_header),week_number:E("text-[0.8rem] select-none text-gray-500 dark:text-gray-400",c.week_number),day:E("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",c.day),range_start:E("rounded-l-md bg-gray-100 dark:bg-gray-800",c.range_start),range_middle:E("rounded-none",c.range_middle),range_end:E("rounded-r-md bg-gray-100 dark:bg-gray-800",c.range_end),today:E("bg-gray-100 text-gray-900 rounded-md data-[selected=true]:rounded-none dark:bg-gray-800 dark:text-gray-50",c.today),outside:E("text-gray-500 aria-selected:text-gray-500 dark:text-gray-400 dark:aria-selected:text-gray-400",c.outside),disabled:E("text-gray-500 opacity-50 dark:text-gray-400",c.disabled),hidden:E("invisible",c.hidden),...t},components:{Root:({className:d,rootRef:f,...u})=>l.jsx("div",{"data-slot":"calendar",ref:f,className:E(d),...u}),Chevron:({className:d,orientation:f,...u})=>f==="left"?l.jsx(os,{className:E("size-4",d),...u}):f==="right"?l.jsx(as,{className:E("size-4",d),...u}):l.jsx(ie,{className:E("size-4",d),...u}),DayButton:Uo,WeekNumber:({children:d,...f})=>l.jsx("td",{...f,children:l.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...o},...a})}function Uo({className:e,day:t,modifiers:s,...n}){const r=Qe(),i=m.useRef(null);return m.useEffect(()=>{s.focused&&i.current?.focus()},[s.focused]),l.jsx(z,{ref:i,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:E("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 ze(e){return e?K(e,"yyyy-MM-dd"):""}function Go(e){return e?!Number.isNaN(e.getTime()):!1}function Ko({value:e,onChange:t,disabled:s,...n}){const[r,i]=m.useState(!1),[o,a]=m.useState(e),[c,d]=m.useState(ze(e));return C.useEffect(()=>{e&&d(ze(e))},[e]),l.jsxs("div",{className:"relative flex gap-2",children:[l.jsx(Wt,{...n,disabled:s,value:c,onChange:f=>{d(f.target.value);const u=f.target.value?new Date(f.target.value):void 0;Go(u)&&(t?.(u),a(u))},onKeyDown:f=>{f.key==="ArrowDown"&&(f.preventDefault(),i(!0))}}),l.jsxs(is,{open:r,onOpenChange:i,children:[l.jsx(ls,{asChild:!0,children:l.jsxs(z,{id:"date-picker",variant:"ghost",className:"absolute top-1/2 right-2 size-6 -translate-y-1/2",disabled:s,children:[l.jsx(cs,{className:"size-3.5"}),l.jsx("span",{className:"sr-only",children:"Select date"})]})}),l.jsx(ds,{className:"w-auto overflow-hidden p-0",align:"end",alignOffset:-8,sideOffset:10,children:l.jsx($o,{mode:"single",selected:e,captionLayout:"dropdown",month:o,onMonthChange:a,onSelect:f=>{t?.(f),d(ze(f??void 0)),i(!1)}})})]})]})}var qe={exports:{}},He,vt;function Zo(){if(vt)return He;vt=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return He=e,He}var $e,xt;function Vo(){if(xt)return $e;xt=1;var e=Zo();function t(){}function s(){}return s.resetWarningCache=t,$e=function(){function n(o,a,c,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 i={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 i.PropTypes=i,i},$e}var Dt;function Xo(){return Dt||(Dt=1,qe.exports=Vo()()),qe.exports}var Jo=Xo();const ha=us(Jo),Qo=({close:e,transactionID:t,onChange:s})=>t?l.jsx(fs,{modalSize:"fit-content",position:"bottom",title:l.jsxs("div",{className:"flex flex-row mx-3 pt-3 sm:text-1xl gap-10",children:[l.jsx("h1",{className:"sm:text-2xl font-small text-gray-900",children:"Edit Transaction:"}),l.jsxs("div",{className:"flex flex-row gap-2",children:["ID: ",t,l.jsx(hs,{content:t}),l.jsx(lr,{transactionId:t})]})]}),opened:!!t,onClose:e,children:l.jsx(cr,{transactionID:t,onDone:e,onChange:s})}):null,Lo=({onDone:e,transactionId:t,chargeId:s})=>{const[n,r]=C.useState(!1),[{data:i,fetching:o}]=St({query:ms,pause:!t,variables:{transactionId:t}}),a=i?.transactionsByIDs[0];function c(){r(!1),e?.()}return l.jsxs(ys,{open:n,onOpenChange:r,children:[l.jsx(gs,{asChild:!0,children:l.jsx(kt,{label:"Insert Related Misc Expense",children:l.jsx(z,{variant:"ghost",size:"icon",className:"size-7.5",disabled:o,children:l.jsx(Bs,{className:"size-5"})})})}),l.jsxs(ps,{className:"sm:max-w-[425px]",children:[l.jsx(bs,{children:l.jsx(vs,{children:"Insert Misc Expense"})}),a&&l.jsx(fr,{onDone:c,chargeId:s,defaultValues:{amount:a?.amount.raw?Math.abs(a?.amount.raw):void 0,currency:a?.amount.currency,invoiceDate:a?.eventDate,valueDate:a?.exactEffectiveDate||a?.effectiveDate?new Date(a.exactEffectiveDate??a.effectiveDate):void 0,creditorId:(a?.amount.raw??0)>0?a?.counterparty?.id:void 0,debtorId:(a?.amount.raw??0)<0?a?.counterparty?.id:void 0}})]})]})},ea=({transaction:e})=>{const t="effectiveDate"in e?e.effectiveDate:void 0;return l.jsxs("div",{className:"flex flex-col justify-center",children:[l.jsx("div",{children:t&&K(new Date(t),"dd/MM/yy")}),e.sourceEffectiveDate&&l.jsxs("div",{className:"text-xs text-gray-500",children:["(Originally ",K(new Date(e.sourceEffectiveDate),"dd/MM/yy"),")"]})]})},ta=({transaction:e})=>{const t="eventDate"in e?e.eventDate:void 0;return l.jsx("div",{className:"flex flex-col justify-center",children:t&&K(new Date(t),"dd/MM/yy")})},na=({transaction:e})=>{const t="amount"in e?e.amount:void 0;return l.jsxs("div",{style:{color:Number(t?.raw)>0?"green":"red",whiteSpace:"nowrap"},children:[t?.formatted,l.jsx("br",{}),e.cryptoExchangeRate&&l.jsxs("span",{style:{color:"gray",marginLeft:"0.5rem"},children:[`(Rate: ${e.cryptoExchangeRate.rate})`,l.jsx("br",{}),t?.raw?`${xs(t.raw*e.cryptoExchangeRate.rate)}$`:null]})]})},sa=({transaction:e})=>{const{account:t}=e,s=t.type,n=t.name;return l.jsxs("div",{className:"flex flex-col justify-center",children:[l.jsx("p",{children:s}),l.jsx("p",{children:n})]})},ra=({transaction:e})=>{const t="sourceDescription"in e?e.sourceDescription:"Missing";return l.jsx("div",{className:"flex flex-wrap",children:l.jsx("div",{className:"flex flex-col justify-center",children:t})})},oa=({transaction:e})=>l.jsx("div",{className:"flex flex-wrap",children:l.jsx("div",{className:"flex flex-col justify-center",children:e.referenceKey})});function aa({transaction:e,onChange:t}){const{id:s,counterparty:n,missingInfoSuggestions:r,id:i,sourceDescription:o,enableEdit:a}=e,c=!!r?.business&&a,d=c?r?.business?.name:"Missing",f=c?r?.business?.id:null,u=n?.name??d,[h,g]=C.useState(!1),{updateTransaction:w,fetching:v}=Ze(),p=C.useCallback(async T=>{await w({transactionId:i,fields:{counterpartyId:T}}),g(!0)},[i,w]),D=C.useCallback(async T=>{await p(T),t?.()},[p,t]),{selectableBusinesses:W,fetching:M}=Ds(),[k,x]=C.useState(f??null),[y,O]=C.useState(o);return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"flex flex-wrap flex-col justify-center",children:n?.id?l.jsx(Mt,{to:wt.BUSINESSES.DETAIL(n.id),target:"_blank",rel:"noreferrer",onClick:T=>T.stopPropagation(),className:"inline-flex items-center font-semibold",children:u}):l.jsxs(l.Fragment,{children:[l.jsx(ks,{options:W,value:k,onChange:x,search:y,onSearchChange:O,placeholder:"Choose or create a business",empty:y?l.jsx(Ms,{description:y,onAdd:D}):null}),l.jsx(As,{content:"Approve",children:l.jsx(z,{variant:"outline",size:"icon",onClick:()=>k&&p(k),disabled:v||M||!k,children:l.jsx(ws,{className:"size-4"})})})]})}),l.jsx(Ps,{transactionId:s,counterpartyId:n?.id??k,open:h,onOpenChange:g,onClose:t})]})}const Ue=[{accessorKey:"counterparty.name",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Counterparty",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(aa,{transaction:e.original})},{accessorKey:"eventDate",sortingFn:e=>"eventDate"in e.original&&e.original.eventDate?new Date(e.original.eventDate).getTime():0,header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Event Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(ta,{transaction:e.original})},{accessorKey:"effectiveDate",sortingFn:e=>"effectiveDate"in e.original&&e.original.effectiveDate?new Date(e.original.effectiveDate).getTime():0,header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Debit Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(ea,{transaction:e.original})},{accessorKey:"amount.raw",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Amount",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(na,{transaction:e.original})},{accessorKey:"account.name",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Account",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(sa,{transaction:e.original})},{accessorKey:"sourceDescription",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Description",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(ra,{transaction:e.original})},{accessorKey:"referenceKey",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Reference#",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(oa,{transaction:e.original})}],ia={accessorKey:"id",header:"Actions",cell:({row:e})=>e.original.enableEdit?l.jsxs(l.Fragment,{children:[l.jsx(Ss,{onClick:()=>e.original.editTransaction(e.original.id)}),l.jsx(Lo,{chargeId:e.original.chargeId,transactionId:e.original.id,onDone:e.original.onUpdate})]}):e.original.enableChargeLink?l.jsx(ir,{chargeId:e.original.chargeId}):null},ma=({transactionsProps:e,onChange:t,enableEdit:s,enableChargeLink:n})=>{const[r,i]=C.useState(void 0),[o,a]=C.useState([]),c=C.useMemo(()=>e.map(h=>Cs(Ns,h)),[e]),d=C.useMemo(()=>c.map(h=>({...h,editTransaction:i,onUpdate:t||(()=>{}),enableEdit:s,enableChargeLink:n})),[c,s,n,t]),f=C.useMemo(()=>s||n?[...Ue,ia]:Ue,[s,n]),u=Os({data:d,columns:f,getCoreRowModel:Ts(),onSortingChange:a,getSortedRowModel:Ws(),getPaginationRowModel:js(),state:{sorting:o},initialState:{pagination:{pageIndex:0,pageSize:100},sorting:[{id:"eventDate",desc:!0}]}});return l.jsxs(l.Fragment,{children:[l.jsxs(Es,{children:[l.jsx(_s,{children:u.getHeaderGroups().map(h=>l.jsx(Ye,{children:h.headers.map(g=>l.jsx(Is,{colSpan:g.colSpan,children:g.isPlaceholder?null:dt(g.column.columnDef.header,g.getContext())},g.id))},h.id))}),l.jsx(Fs,{children:u.getRowModel().rows?.length?u.getRowModel().rows.map(h=>l.jsx(Ye,{children:h.getVisibleCells().map(g=>l.jsx(ut,{children:dt(g.column.columnDef.cell,g.getContext())},g.id))},h.id)):l.jsx(Ye,{children:l.jsx(ut,{colSpan:Ue.length,className:"h-24 text-center",children:"No results."})})})]}),u.getPageCount()>1&&l.jsx("div",{className:"flex items-center justify-end space-x-2 py-4",children:l.jsx(Ys,{currentPageIndex:u.getState().pagination.pageIndex,totalPages:u.getPageCount(),onChange:h=>u.setPageIndex(h)})}),l.jsx(Qo,{transactionID:r,close:()=>i(void 0),onChange:t??(()=>{})})]})};export{na as A,aa as C,ea as D,zs as E,fr as I,mr as M,ha as P,oa as S,ma as T,ta as a,sa as b,ra as c,ir as d};
|
|
1
|
+
import{v as Nn,gP as oe,f$ as A,fZ as be,gQ as Ge,gR as On,j as l,T as kt,ai as Mt,R as wt,B as z,m as E,bT as jn,aS as Wn,ek as Tn,u as St,gS as En,y as Ct,r as C,dm as Nt,d as _n,V as Ot,el as In,Y as le,Z as ce,_ as de,ao as Fn,$ as ye,ap as Yn,aq as Pn,ar as Bn,as as An,a1 as fe,bA as jt,w as K,at as Rn,a9 as zn,g as qn,gT as Hn,t as Fe,i as $n,L as Un,b1 as it,bz as lt,cm as Gn,bB as Kn,gU as Zn,I as Wt,gV as ge,gW as Vn,gX as Xn,f_ as Jn,gY as Qn,gZ as Ln,g_ as es,g$ as ts,h0 as ns,h1 as ss,h2 as rs,aF as m,h3 as os,gj as as,bX as ie,h4 as ct,h5 as is,h6 as ls,aJ as cs,h7 as ds,dL as us,eq as fs,er as hs,h8 as ms,D as ys,aU as gs,x as ps,al as bs,am as vs,d3 as xs,by as Ds,c_ as ks,q as Ms,e as ws,dE as ue,fS as Ss,G as Cs,fF as Ns,bU as Os,c0 as js,c1 as Ws,c2 as Ts,bK as Es,bL as _s,bM as Ye,bN as Is,b_ as dt,bO as Fs,bP as ut,P as Ys}from"./index-CHtpNrAW.js";import{u as Ze,S as Ps}from"./similar-transactions-modal-DN6pAqBR.js";import{a as Tt}from"./addDays-CpwSVE6j.js";import{L as Bs}from"./list-plus-DsfXaxO5.js";import{T as As}from"./tooltip-0-bix6mQ.js";const Rs=[["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"}]],zs=Nn("external-link",Rs);function qs(e,t,s){return Tt(e,t*7,s)}function Hs(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const i=A(r,n);(!s||s<i||isNaN(+i))&&(s=i)}),oe(n,s||NaN)}function $s(e,t){let s,n=t?.in;return e.forEach(r=>{!n&&typeof r=="object"&&(n=oe.bind(null,r));const i=A(r,n);(!s||s>i||isNaN(+i))&&(s=i)}),oe(n,s||NaN)}function Us(e,t,s){const[n,r]=be(s?.in,e,t);return+Ge(n)==+Ge(r)}function Gs(e,t,s){const[n,r]=be(s?.in,e,t),i=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return i*12+o}function Ks(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 Et(e,t){const[s,n]=be(e,t.start,t.end);return{start:s,end:n}}function Zs(e,t){const{start:s,end:n}=Et(t?.in,e);let r=+s>+n;const i=r?+s:+n,o=r?n:s;o.setHours(0,0,0,0),o.setDate(1);let a=1;const c=[];for(;+o<=i;)c.push(oe(s,o)),o.setMonth(o.getMonth()+a);return r?c.reverse():c}function Vs(e,t){const s=A(e,t?.in);return s.setDate(1),s.setHours(0,0,0,0),s}function Xs(e,t){const{start:s,end:n}=Et(t?.in,e);let r=+s>+n;const i=r?+s:+n,o=r?n:s;o.setHours(0,0,0,0),o.setMonth(0,1);let a=1;const c=[];for(;+o<=i;)c.push(oe(s,o)),o.setFullYear(o.getFullYear()+a);return r?c.reverse():c}function _t(e,t){const s=On(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,r=A(e,t?.in),i=r.getDay(),o=(i<n?-7:0)+6-(i-n);return r.setDate(r.getDate()+o),r.setHours(23,59,59,999),r}function Js(e,t){return _t(e,{...t,weekStartsOn:1})}function Qs(e,t){const s=A(e,t?.in),n=s.getFullYear(),r=s.getMonth(),i=oe(s,0);return i.setFullYear(n,r+1,0),i.setHours(0,0,0,0),i.getDate()}function Ls(e,t){return A(e,t?.in).getMonth()}function er(e,t){return A(e,t?.in).getFullYear()}function tr(e,t){return+A(e)>+A(t)}function nr(e,t){return+A(e)<+A(t)}function sr(e,t,s){const[n,r]=be(s?.in,e,t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()}function rr(e,t,s){const[n,r]=be(s?.in,e,t);return n.getFullYear()===r.getFullYear()}function or(e,t,s){const n=A(e,s?.in),r=n.getFullYear(),i=n.getDate(),o=oe(e,0);o.setFullYear(r,t,15),o.setHours(0,0,0,0);const a=Qs(o);return n.setMonth(t,Math.min(i,a)),n}function ar(e,t,s){const n=A(e,s?.in);return isNaN(+n)?oe(e,NaN):(n.setFullYear(t),n)}function ir(e){return l.jsx(kt,{label:"To Charge",children:l.jsx(Mt,{to:wt.CHARGES.DETAIL(e.chargeId),target:"_blank",rel:"noreferrer",onClick:t=>t.stopPropagation(),className:"inline-block",children:l.jsx(z,{...e,className:E("size-7.5",e.className),variant:"ghost",children:l.jsx(zs,{className:"size-5"})})})})}function lr({transactionId:e}){const{updateTransaction:t}=Ze();function s(){t({transactionId:e,fields:{chargeId:Tn}})}return l.jsx(jn,{onConfirm:s,title:"Are you sure you want to unlink this transaction from the charge?",children:l.jsx(z,{variant:"ghost",size:"icon",className:"size-7.5",children:l.jsx(Wn,{className:"size-5"})})})}const cr=({transactionID:e,onDone:t,onChange:s})=>{const[{data:n,fetching:r}]=St({query:En,variables:{transactionIDs:[e]}}),i=n?.transactionsByIDs?.[0],o=Ct({defaultValues:i??{}});C.useEffect(()=>{i&&o.reset(i)},[i,o]);const{control:a,handleSubmit:c,formState:{dirtyFields:d}}=o,{updateTransaction:f,fetching:u}=Ze(),h=v=>{if(!i)return;const p=zn(v,d);t?.(),p&&Object.keys(p).length>0&&f({transactionId:i.id,fields:p}).then(s)},{selectableFinancialEntities:g,fetching:w}=Nt();return l.jsxs(l.Fragment,{children:[r&&l.jsx(_n,{className:"flex self-center my-5",color:"dark",size:"xl",variant:"dots"}),!r&&i&&l.jsx(Ot,{...o,children:l.jsxs("form",{onSubmit:c(h),children:[l.jsx("div",{className:"flex-row px-10 h-max justify-start block",children:l.jsxs(In,{cols:3,children:[l.jsx(le,{name:"counterpartyId",control:a,defaultValue:i.counterparty?.id,rules:{minLength:{value:2,message:"Minimum 2 characters"}},render:({field:v})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Counterparty"}),l.jsxs(Fn,{onValueChange:v.onChange,value:v.value??void 0,disabled:w,children:[l.jsx(ye,{children:l.jsx(Yn,{className:"w-full truncate",children:l.jsx(Pn,{placeholder:"Scroll to see all options"})})}),l.jsx(Bn,{onClick:p=>p.stopPropagation(),children:g.map(({value:p,label:D})=>l.jsx(An,{value:p,children:D},p))})]}),l.jsx(fe,{})]})}),i?.account.__typename==="CardFinancialAccount"?l.jsx(le,{name:"effectiveDate",control:a,rules:{pattern:{value:jt,message:"Date must be im format yyyy-mm-dd"}},render:({field:v})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Effective Date"}),l.jsx(ye,{children:l.jsx(Ko,{...v,onChange:p=>{const D=p?K(p,"yyyy-MM-dd"):void 0;D!==v.value&&v.onChange(D)},value:v.value?new Date(v.value):void 0})}),l.jsx(fe,{})]})}):l.jsx(l.Fragment,{}),l.jsx(le,{name:"isFee",control:a,defaultValue:i.isFee,render:({field:v})=>l.jsxs(ce,{className:"flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm",children:[l.jsx("div",{className:"space-y-0.5",children:l.jsx(de,{children:"Fee Transaction"})}),l.jsx(ye,{children:l.jsx(Rn,{checked:v.value===!0,onCheckedChange:v.onChange})})]})})]})}),l.jsxs("div",{className:"mt-10 mb-5 flex justify-center gap-5",children:[l.jsx("button",{type:"submit",onClick:()=>c(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"}),l.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"})]})]})})]})},dr="insertMiscExpense",ur=()=>{const[{fetching:e},t]=qn(Hn),s=C.useCallback(async n=>{const r="Error creating misc expense",i=`${dr}-${n.chargeId}`;Fe.loading("Creating misc expense",{id:i});try{const o=await t(n),a=$n(o,r,i);if(a)return Fe.success("Success",{id:i,description:"Misc expense was created"}),a.insertMiscExpense}catch(o){console.error(`${r}: ${o}`),Fe.error("Error",{id:i,description:r,duration:1e5,closeButton:!0})}},[t]);return{fetching:e,insertMiscExpense:s}},fr=({onDone:e,defaultValues:t={},chargeId:s})=>{const{insertMiscExpense:n,fetching:r}=ur(),i=C.useCallback(async o=>{await n({chargeId:s,fields:o}),e()},[n,s,e]);return l.jsx(hr,{defaultValues:t,onInsertDone:i,fetching:r})},hr=({onInsertDone:e,defaultValues:t,fetching:s})=>{const n=a=>{a&&Object.keys(a).length>0&&e(a)},r=Ct({defaultValues:{...t}}),{handleSubmit:i,formState:{dirtyFields:o}}=r;return l.jsx(Ot,{...r,children:l.jsx("form",{onSubmit:i(n),noValidate:!0,children:l.jsxs("div",{className:"px-5 flex flex-col gap-5 relative",children:[s&&l.jsx("div",{className:"absolute bg-white/60 z-10 h-full w-full flex items-center justify-center",children:l.jsx("div",{className:"flex items-center",children:l.jsx("span",{className:"text-3xl mr-4",children:l.jsx(Un,{className:"h-10 w-10 animate-spin mr-2 self-center"})})})}),l.jsx(mr,{formManager:r,isInsert:!0}),l.jsx("div",{className:"flex justify-right gap-5 mt-5",children:l.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(o).length===0,children:"Accept"})})]})})})},mr=({formManager:e,isInsert:t})=>{const{control:s,setValue:n}=e,{selectableFinancialEntities:r,fetching:i}=Nt();return l.jsxs(l.Fragment,{children:[l.jsx(le,{name:"creditorId",control:s,rules:{required:t?"Required":void 0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Creditor"}),l.jsx(it,{...o,data:r,value:o.value??void 0,disabled:i,placeholder:"Select creditor",formPart:!0}),l.jsx(fe,{})]})}),l.jsx(le,{name:"debtorId",control:s,rules:{required:t?"Required":void 0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Debtor"}),l.jsx(it,{...o,data:r,value:o.value??void 0,disabled:i,placeholder:"Select debtor",formPart:!0}),l.jsx(fe,{})]})}),l.jsx(lt,{name:"amount",control:s,rules:{required:t?"Required":void 0},render:({field:o,fieldState:a})=>l.jsx(lt,{name:"currency",control:s,rules:{required:t?"Required":void 0},render:({field:c,fieldState:d})=>l.jsx(Gn,{...o,required:t,value:o.value??void 0,error:a.error?.message||d.error?.message,label:"Amount",currencyCodeProps:{...c,required:t,label:"Currency"}})})}),l.jsx(le,{name:"invoiceDate",control:s,rules:{...t?{required:"Required"}:{},pattern:{value:jt,message:"Date must be im format yyyy-mm-dd"}},render:({field:o})=>{const a=o.value?new Date(o.value):void 0;return l.jsxs(ce,{children:[l.jsx(de,{children:"Invoice Date"}),l.jsx(ye,{children:l.jsx(Kn,{...o,required:t,onChange:c=>{const d=c?typeof c=="string"?c:K(c,"yyyy-MM-dd"):void 0;d!==o.value&&(n("invoiceDate",d),o.onChange(d))},value:a,valueFormat:"DD/MM/YYYY"})}),l.jsx(fe,{})]})}}),l.jsx(le,{name:"valueDate",control:s,rules:{...t?{required:"Required"}:{},validate:o=>o?!Number.isNaN(o.getTime())||"Invalid date and time format":!0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Value Date"}),l.jsx(ye,{children:l.jsx(Zn,{...o,onChange:a=>{n("valueDate",a),o.onChange(a)},onPointerEnterCapture:()=>{},onPointerLeaveCapture:()=>{},required:t,placeholder:"Pick date and time",valueFormat:"DD/MM/YYYY HH:mm:ss",withSeconds:!0})}),l.jsx(fe,{})]})}),l.jsx(le,{name:"description",control:s,rules:{required:t?"Required":void 0},render:({field:o})=>l.jsxs(ce,{children:[l.jsx(de,{children:"Description"}),l.jsx(ye,{children:l.jsx(Wt,{...o,required:t,value:o.value??void 0})}),l.jsx(fe,{})]})})]})};function yr(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 gr={},pe={};function he(e,t){try{const n=(gr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return n in pe?pe[n]:ft(n,n.split(":"))}catch{if(e in pe)return pe[e];const s=e?.match(pr);return s?ft(e,s.slice(1)):NaN}}const pr=/([+-]\d\d):?(\d\d)?/;function ft(e,t){const s=+(t[0]||0),n=+(t[1]||0),r=+(t[2]||0)/60;return pe[e]=s*60+n>0?s*60+n+r:s*60-n-r}class Q 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)),It(this),Ke(this)):this.setTime(Date.now())}static tz(t,...s){return s.length?new Q(...s,t):new Q(Date.now(),t)}withTimeZone(t){return new Q(+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),Ke(this),+this}[Symbol.for("constructDateFrom")](t){return new Q(+new Date(t),this.timeZone)}}const ht=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!ht.test(e))return;const t=e.replace(ht,"$1UTC");Q.prototype[t]&&(e.startsWith("get")?Q.prototype[e]=function(){return this.internal[t]()}:(Q.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),br(this),+this},Q.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Ke(this),+this}))});function Ke(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-he(e.timeZone,e)*60))}function br(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()),It(e)}function It(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(),i=-new Date(+n).getTimezoneOffset(),o=r-i,a=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();o&&a&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+o);const c=r-s;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);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),g=h>0?Math.floor(h):Math.ceil(h),v=-new Date(+e).getTimezoneOffset()-g,p=g!==s,D=v-c;if(p&&D){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+D);const W=he(e.timeZone,e),M=W>0?Math.floor(W):Math.ceil(W),k=g-M;k&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+k),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+k))}}class ne extends Q{static tz(t,...s){return s.length?new ne(...s,t):new ne(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} (${yr(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 ne(+this,t)}[Symbol.for("constructDateFrom")](t){return new ne(+new Date(t),this.timeZone)}}const mt=5,vr=4;function xr(e,t){const s=t.startOfMonth(e),n=s.getDay()>0?s.getDay():7,r=t.addDays(e,-n+1),i=t.addDays(r,mt*7-1);return t.getMonth(e)===t.getMonth(i)?mt:vr}function Ft(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 Dr(e,t){const s=Ft(e,t),n=xr(e,t);return t.addDays(s,n*7-1)}const Yt={...ge,labels:{labelDayButton:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(o,a)=>K(o,a,{locale:ge,...s});let i=r(e,"PPPP");return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i},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,i)=>K(r,i,{locale:ge,...t}),n(e,"LLLL yyyy")},labelGridcell:(e,t,s,n)=>{let r;n&&typeof n.format=="function"?r=n.format.bind(n):r=(o,a)=>K(o,a,{locale:ge,...s});let i=r(e,"PPPP");return t?.today&&(i=`Today, ${i}`),i},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,i)=>K(r,i,{locale:ge,...t}),n(e,"cccc")}}};class q{constructor(t,s){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?ne.tz(this.options.timeZone):new this.Date,this.newDate=(n,r,i)=>this.overrides?.newDate?this.overrides.newDate(n,r,i):this.options.timeZone?new ne(n,r,i,this.options.timeZone):new Date(n,r,i),this.addDays=(n,r)=>this.overrides?.addDays?this.overrides.addDays(n,r):Tt(n,r),this.addMonths=(n,r)=>this.overrides?.addMonths?this.overrides.addMonths(n,r):Vn(n,r),this.addWeeks=(n,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(n,r):qs(n,r),this.addYears=(n,r)=>this.overrides?.addYears?this.overrides.addYears(n,r):Xn(n,r),this.differenceInCalendarDays=(n,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(n,r):Jn(n,r),this.differenceInCalendarMonths=(n,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(n,r):Gs(n,r),this.eachMonthOfInterval=n=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(n):Zs(n),this.eachYearOfInterval=n=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(n):Xs(n),i=new Set(r.map(a=>this.getYear(a)));if(i.size===r.length)return r;const o=[];return i.forEach(a=>{o.push(new Date(a,0,1))}),o},this.endOfBroadcastWeek=n=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(n):Dr(n,this),this.endOfISOWeek=n=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(n):Js(n),this.endOfMonth=n=>this.overrides?.endOfMonth?this.overrides.endOfMonth(n):Ks(n),this.endOfWeek=(n,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(n,r):_t(n,this.options),this.endOfYear=n=>this.overrides?.endOfYear?this.overrides.endOfYear(n):Qn(n),this.format=(n,r,i)=>{const o=this.overrides?.format?this.overrides.format(n,r,this.options):K(n,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(o):o},this.getISOWeek=n=>this.overrides?.getISOWeek?this.overrides.getISOWeek(n):Ln(n),this.getMonth=(n,r)=>this.overrides?.getMonth?this.overrides.getMonth(n,this.options):Ls(n,this.options),this.getYear=(n,r)=>this.overrides?.getYear?this.overrides.getYear(n,this.options):er(n,this.options),this.getWeek=(n,r)=>this.overrides?.getWeek?this.overrides.getWeek(n,this.options):es(n,this.options),this.isAfter=(n,r)=>this.overrides?.isAfter?this.overrides.isAfter(n,r):tr(n,r),this.isBefore=(n,r)=>this.overrides?.isBefore?this.overrides.isBefore(n,r):nr(n,r),this.isDate=n=>this.overrides?.isDate?this.overrides.isDate(n):ts(n),this.isSameDay=(n,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(n,r):Us(n,r),this.isSameMonth=(n,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(n,r):sr(n,r),this.isSameYear=(n,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(n,r):rr(n,r),this.max=n=>this.overrides?.max?this.overrides.max(n):Hs(n),this.min=n=>this.overrides?.min?this.overrides.min(n):$s(n),this.setMonth=(n,r)=>this.overrides?.setMonth?this.overrides.setMonth(n,r):or(n,r),this.setYear=(n,r)=>this.overrides?.setYear?this.overrides.setYear(n,r):ar(n,r),this.startOfBroadcastWeek=(n,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(n,this):Ft(n,this),this.startOfDay=n=>this.overrides?.startOfDay?this.overrides.startOfDay(n):Ge(n),this.startOfISOWeek=n=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(n):ns(n),this.startOfMonth=n=>this.overrides?.startOfMonth?this.overrides.startOfMonth(n):Vs(n),this.startOfWeek=(n,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(n,this.options):ss(n,this.options),this.startOfYear=n=>this.overrides?.startOfYear?this.overrides.startOfYear(n):rs(n),this.options={locale:Yt,...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&&q.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:s,timeZone:n,numerals:r}=this.options,i=s?.code;if(i&&q.yearFirstLocales.has(i))try{return new Intl.DateTimeFormat(i,{month:"long",year:"numeric",timeZone:n,numberingSystem:r}).format(t)}catch{}const o=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,o)}}q.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 L=new q;class Pt{constructor(t,s,n=L){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 kr{constructor(t,s){this.date=t,this.weeks=s}}class Mr{constructor(t,s){this.days=s,this.weekNumber=t}}function wr(e){return m.createElement("button",{...e})}function Sr(e){return m.createElement("span",{...e})}function Cr(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 Nr(e){const{day:t,modifiers:s,...n}=e;return m.createElement("td",{...n})}function Or(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 F;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(F||(F={}));var Z;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Z||(Z={}));var R;(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"})(R||(R={}));function jr(e){const{options:t,className:s,components:n,classNames:r,...i}=e,o=[r[b.Dropdown],s].join(" "),a=t?.find(({value:c})=>c===i.value);return m.createElement("span",{"data-disabled":i.disabled,className:r[b.DropdownRoot]},m.createElement(n.Select,{className:o,...i},t?.map(({value:c,label:d,disabled:f})=>m.createElement(n.Option,{key:c,value:c,disabled:f},d))),m.createElement("span",{className:r[b.CaptionLabel],"aria-hidden":!0},a?.label,m.createElement(n.Chevron,{orientation:"down",size:18,className:r[b.Chevron]})))}function Wr(e){return m.createElement("div",{...e})}function Tr(e){return m.createElement("div",{...e})}function Er(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n},e.children)}function _r(e){const{calendarMonth:t,displayIndex:s,...n}=e;return m.createElement("div",{...n})}function Ir(e){return m.createElement("table",{...e})}function Fr(e){return m.createElement("div",{...e})}const Bt=C.createContext(void 0);function ve(){const e=C.useContext(Bt);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Yr(e){const{components:t}=ve();return m.createElement(t.Dropdown,{...e})}function Pr(e){const{onPreviousClick:t,onNextClick:s,previousMonth:n,nextMonth:r,...i}=e,{components:o,classNames:a,labels:{labelPrevious:c,labelNext:d}}=ve(),f=C.useCallback(h=>{r&&s?.(h)},[r,s]),u=C.useCallback(h=>{n&&t?.(h)},[n,t]);return m.createElement("nav",{...i},m.createElement(o.PreviousMonthButton,{type:"button",className:a[b.PreviousMonthButton],tabIndex:n?void 0:-1,"aria-disabled":n?void 0:!0,"aria-label":c(n),onClick:u},m.createElement(o.Chevron,{disabled:n?void 0:!0,className:a[b.Chevron],orientation:"left"})),m.createElement(o.NextMonthButton,{type:"button",className:a[b.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:f},m.createElement(o.Chevron,{disabled:r?void 0:!0,orientation:"right",className:a[b.Chevron]})))}function Br(e){const{components:t}=ve();return m.createElement(t.Button,{...e})}function Ar(e){return m.createElement("option",{...e})}function Rr(e){const{components:t}=ve();return m.createElement(t.Button,{...e})}function zr(e){const{rootRef:t,...s}=e;return m.createElement("div",{...s,ref:t})}function qr(e){return m.createElement("select",{...e})}function Hr(e){const{week:t,...s}=e;return m.createElement("tr",{...s})}function $r(e){return m.createElement("th",{...e})}function Ur(e){return m.createElement("thead",{"aria-hidden":!0},m.createElement("tr",{...e}))}function Gr(e){const{week:t,...s}=e;return m.createElement("th",{...s})}function Kr(e){return m.createElement("th",{...e})}function Zr(e){return m.createElement("tbody",{...e})}function Vr(e){const{components:t}=ve();return m.createElement(t.Dropdown,{...e})}const Xr=Object.freeze(Object.defineProperty({__proto__:null,Button:wr,CaptionLabel:Sr,Chevron:Cr,Day:Nr,DayButton:Or,Dropdown:jr,DropdownNav:Wr,Footer:Tr,Month:Er,MonthCaption:_r,MonthGrid:Ir,Months:Fr,MonthsDropdown:Yr,Nav:Pr,NextMonthButton:Br,Option:Ar,PreviousMonthButton:Rr,Root:zr,Select:qr,Week:Hr,WeekNumber:Gr,WeekNumberHeader:Kr,Weekday:$r,Weekdays:Ur,Weeks:Zr,YearsDropdown:Vr},Symbol.toStringTag,{value:"Module"}));function se(e,t,s=!1,n=L){let{from:r,to:i}=e;const{differenceInCalendarDays:o,isSameDay:a}=n;return r&&i?(o(i,r)<0&&([r,i]=[i,r]),o(t,r)>=(s?1:0)&&o(i,t)>=(s?1:0)):!s&&i?a(i,t):!s&&r?a(r,t):!1}function Ve(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function we(e){return!!(e&&typeof e=="object"&&"from"in e)}function Xe(e){return!!(e&&typeof e=="object"&&"after"in e)}function Je(e){return!!(e&&typeof e=="object"&&"before"in e)}function At(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Rt(e,t){return Array.isArray(e)&&e.every(t.isDate)}function re(e,t,s=L){const n=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:i,isAfter:o}=s;return n.some(a=>{if(typeof a=="boolean")return a;if(s.isDate(a))return r(e,a);if(Rt(a,s))return a.some(c=>r(e,c));if(we(a))return se(a,e,!1,s);if(At(a))return Array.isArray(a.dayOfWeek)?a.dayOfWeek.includes(e.getDay()):a.dayOfWeek===e.getDay();if(Ve(a)){const c=i(a.before,e),d=i(a.after,e),f=c>0,u=d<0;return o(a.before,a.after)?u&&f:f||u}return Xe(a)?i(e,a.after)>0:Je(a)?i(a.before,e)>0:typeof a=="function"?a(e):!1})}function Jr(e,t,s,n,r){const{disabled:i,hidden:o,modifiers:a,showOutsideDays:c,broadcastCalendar:d,today:f=r.today()}=t,{isSameDay:u,isSameMonth:h,startOfMonth:g,isBefore:w,endOfMonth:v,isAfter:p}=r,D=s&&g(s),W=n&&v(n),M={[F.focused]:[],[F.outside]:[],[F.disabled]:[],[F.hidden]:[],[F.today]:[]},k={};for(const x of e){const{date:y,displayMonth:O}=x,T=!!(O&&!h(y,O)),P=!!(D&&w(y,D)),Y=!!(W&&p(y,W)),V=!!(i&&re(y,i,r)),ae=!!(o&&re(y,o,r))||P||Y||!d&&!c&&T||d&&c===!1&&T,ee=u(y,f);T&&M.outside.push(x),V&&M.disabled.push(x),ae&&M.hidden.push(x),ee&&M.today.push(x),a&&Object.keys(a).forEach(H=>{const me=a?.[H];me&&re(y,me,r)&&(k[H]?k[H].push(x):k[H]=[x])})}return x=>{const y={[F.focused]:!1,[F.disabled]:!1,[F.hidden]:!1,[F.outside]:!1,[F.today]:!1},O={};for(const T in M){const P=M[T];y[T]=P.some(Y=>Y===x)}for(const T in k)O[T]=k[T].some(P=>P===x);return{...y,...O}}}function Qr(e,t,s={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[i])=>(s[i]?r.push(s[i]):t[F[i]]?r.push(t[F[i]]):t[Z[i]]&&r.push(t[Z[i]]),r),[t[b.Day]])}function Lr(e){return{...Xr,...e}}function eo(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 Qe(){const e={};for(const t in b)e[b[t]]=`rdp-${b[t]}`;for(const t in F)e[F[t]]=`rdp-${F[t]}`;for(const t in Z)e[Z[t]]=`rdp-${Z[t]}`;for(const t in R)e[R[t]]=`rdp-${R[t]}`;return e}function zt(e,t,s){return(s??new q(t)).formatMonthYear(e)}const to=zt;function no(e,t,s){return(s??new q(t)).format(e,"d")}function so(e,t=L){return t.format(e,"LLLL")}function ro(e,t,s){return(s??new q(t)).format(e,"cccccc")}function oo(e,t=L){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function ao(){return""}function qt(e,t=L){return t.format(e,"yyyy")}const io=qt,lo=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:zt,formatDay:no,formatMonthCaption:to,formatMonthDropdown:so,formatWeekNumber:oo,formatWeekNumberHeader:ao,formatWeekdayName:ro,formatYearCaption:io,formatYearDropdown:qt},Symbol.toStringTag,{value:"Module"}));function co(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...lo,...e}}function Le(e,t,s,n){let r=(n??new q(s)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const uo=Le;function et(e,t,s){return(s??new q(t)).formatMonthYear(e)}const fo=et;function Ht(e,t,s,n){let r=(n??new q(s)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function $t(e){return"Choose the Month"}function Ut(){return""}const ho="Go to the Next Month";function Gt(e,t){return ho}function Kt(e){return"Go to the Previous Month"}function Zt(e,t,s){return(s??new q(t)).format(e,"cccc")}function Vt(e,t){return`Week ${e}`}function Xt(e){return"Week Number"}function Jt(e){return"Choose the Year"}const mo=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:fo,labelDay:uo,labelDayButton:Le,labelGrid:et,labelGridcell:Ht,labelMonthDropdown:$t,labelNav:Ut,labelNext:Gt,labelPrevious:Kt,labelWeekNumber:Vt,labelWeekNumberHeader:Xt,labelWeekday:Zt,labelYearDropdown:Jt},Symbol.toStringTag,{value:"Module"})),G=(e,t,s)=>t||(s?typeof s=="function"?s:(...n)=>s:e);function yo(e,t){const s=t.locale?.labels??{};return{...mo,...e??{},labelDayButton:G(Le,e?.labelDayButton,s.labelDayButton),labelMonthDropdown:G($t,e?.labelMonthDropdown,s.labelMonthDropdown),labelNext:G(Gt,e?.labelNext,s.labelNext),labelPrevious:G(Kt,e?.labelPrevious,s.labelPrevious),labelWeekNumber:G(Vt,e?.labelWeekNumber,s.labelWeekNumber),labelYearDropdown:G(Jt,e?.labelYearDropdown,s.labelYearDropdown),labelGrid:G(et,e?.labelGrid,s.labelGrid),labelGridcell:G(Ht,e?.labelGridcell,s.labelGridcell),labelNav:G(Ut,e?.labelNav,s.labelNav),labelWeekNumberHeader:G(Xt,e?.labelWeekNumberHeader,s.labelWeekNumberHeader),labelWeekday:G(Zt,e?.labelWeekday,s.labelWeekday)}}function go(e,t,s,n,r){const{startOfMonth:i,startOfYear:o,endOfYear:a,eachMonthOfInterval:c,getMonth:d}=r;return c({start:o(e),end:a(e)}).map(h=>{const g=n.formatMonthDropdown(h,r),w=d(h),v=t&&h<i(t)||s&&h>i(s)||!1;return{value:w,label:g,disabled:v}})}function po(e,t={},s={}){let n={...t?.[b.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{n={...n,...s?.[r]}}),n}function bo(e,t,s,n){const r=n??e.today(),i=s?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),o=[];for(let a=0;a<7;a++){const c=e.addDays(i,a);o.push(c)}return o}function vo(e,t,s,n,r=!1){if(!e||!t)return;const{startOfYear:i,endOfYear:o,eachYearOfInterval:a,getYear:c}=n,d=i(e),f=o(t),u=a({start:d,end:f});return r&&u.reverse(),u.map(h=>{const g=s.formatYearDropdown(h,n);return{value:c(h),label:g,disabled:!1}})}const xe=e=>e instanceof HTMLElement?e:null,Pe=e=>[...e.querySelectorAll("[data-animated-month]")??[]],xo=e=>xe(e.querySelector("[data-animated-month]")),Be=e=>xe(e.querySelector("[data-animated-caption]")),Ae=e=>xe(e.querySelector("[data-animated-weeks]")),Do=e=>xe(e.querySelector("[data-animated-nav]")),ko=e=>xe(e.querySelector("[data-animated-weekdays]"));function Mo(e,t,{classNames:s,months:n,focused:r,dateLib:i}){const o=C.useRef(null),a=C.useRef(n),c=C.useRef(!1);C.useLayoutEffect(()=>{const d=a.current;if(a.current=n,!t||!e.current||!(e.current instanceof HTMLElement)||n.length===0||d.length===0||n.length!==d.length)return;const f=i.isSameMonth(n[0].date,d[0].date),u=i.isAfter(n[0].date,d[0].date),h=u?s[R.caption_after_enter]:s[R.caption_before_enter],g=u?s[R.weeks_after_enter]:s[R.weeks_before_enter],w=o.current,v=e.current.cloneNode(!0);if(v instanceof HTMLElement?(Pe(v).forEach(M=>{if(!(M instanceof HTMLElement))return;const k=xo(M);k&&M.contains(k)&&M.removeChild(k);const x=Be(M);x&&x.classList.remove(h);const y=Ae(M);y&&y.classList.remove(g)}),o.current=v):o.current=null,c.current||f||r)return;const p=w instanceof HTMLElement?Pe(w):[],D=Pe(e.current);if(D?.every(W=>W instanceof HTMLElement)&&p&&p.every(W=>W instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const W=Do(e.current);W&&(W.style.zIndex="1"),D.forEach((M,k)=>{const x=p[k];if(!x)return;M.style.position="relative",M.style.overflow="hidden";const y=Be(M);y&&y.classList.add(h);const O=Ae(M);O&&O.classList.add(g);const T=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),W&&(W.style.zIndex=""),y&&y.classList.remove(h),O&&O.classList.remove(g),M.style.position="",M.style.overflow="",M.contains(x)&&M.removeChild(x)};x.style.pointerEvents="none",x.style.position="absolute",x.style.overflow="hidden",x.setAttribute("aria-hidden","true");const P=ko(x);P&&(P.style.opacity="0");const Y=Be(x);Y&&(Y.classList.add(u?s[R.caption_before_exit]:s[R.caption_after_exit]),Y.addEventListener("animationend",T));const V=Ae(x);V&&V.classList.add(u?s[R.weeks_before_exit]:s[R.weeks_after_exit]),M.insertBefore(x,M.firstChild)})}})}function wo(e,t,s,n){const r=e[0],i=e[e.length-1],{ISOWeek:o,fixedWeeks:a,broadcastCalendar:c}=s??{},{addDays:d,differenceInCalendarDays:f,differenceInCalendarMonths:u,endOfBroadcastWeek:h,endOfISOWeek:g,endOfMonth:w,endOfWeek:v,isAfter:p,startOfBroadcastWeek:D,startOfISOWeek:W,startOfWeek:M}=n,k=c?D(r,n):o?W(r):M(r),x=c?h(i):o?g(w(i)):v(w(i)),y=t&&(c?h(t):o?g(t):v(t)),O=y&&p(x,y)?y:x,T=f(O,k),P=u(i,r)+1,Y=[];for(let ee=0;ee<=T;ee++){const H=d(k,ee);Y.push(H)}const ae=(c?35:42)*P;if(a&&Y.length<ae){const ee=ae-Y.length;for(let H=0;H<ee;H++){const me=d(Y[Y.length-1],1);Y.push(me)}}return Y}function So(e){const t=[];return e.reduce((s,n)=>{const r=n.weeks.reduce((i,o)=>i.concat(o.days.slice()),t.slice());return s.concat(r.slice())},t.slice())}function Co(e,t,s,n){const{numberOfMonths:r=1}=s,i=[];for(let o=0;o<r;o++){const a=n.addMonths(e,o);if(t&&a>t)break;i.push(a)}return i}function yt(e,t,s,n){const{month:r,defaultMonth:i,today:o=n.today(),numberOfMonths:a=1}=e;let c=r||i||o;const{differenceInCalendarMonths:d,addMonths:f,startOfMonth:u}=n;if(s&&d(s,c)<a-1){const h=-1*(a-1);c=f(s,h)}return t&&d(c,t)<0&&(c=t),u(c)}function No(e,t,s,n){const{addDays:r,endOfBroadcastWeek:i,endOfISOWeek:o,endOfMonth:a,endOfWeek:c,getISOWeek:d,getWeek:f,startOfBroadcastWeek:u,startOfISOWeek:h,startOfWeek:g}=n,w=e.reduce((v,p)=>{const D=s.broadcastCalendar?u(p,n):s.ISOWeek?h(p):g(p),W=s.broadcastCalendar?i(p):s.ISOWeek?o(a(p)):c(a(p)),M=t.filter(O=>O>=D&&O<=W),k=s.broadcastCalendar?35:42;if(s.fixedWeeks&&M.length<k){const O=t.filter(T=>{const P=k-M.length;return T>W&&T<=r(W,P)});M.push(...O)}const x=M.reduce((O,T)=>{const P=s.ISOWeek?d(T):f(T),Y=O.find(ae=>ae.weekNumber===P),V=new Pt(T,p,n);return Y?Y.days.push(V):O.push(new Mr(P,[V])),O},[]),y=new kr(p,x);return v.push(y),v},[]);return s.reverseMonths?w.reverse():w}function Oo(e,t){let{startMonth:s,endMonth:n}=e;const{startOfYear:r,startOfDay:i,startOfMonth:o,endOfMonth:a,addYears:c,endOfYear:d,newDate:f,today:u}=t,{fromYear:h,toYear:g,fromMonth:w,toMonth:v}=e;!s&&w&&(s=w),!s&&h&&(s=t.newDate(h,0,1)),!n&&v&&(n=v),!n&&g&&(n=f(g,11,31));const p=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return s?s=o(s):h?s=f(h,0,1):!s&&p&&(s=r(c(e.today??u(),-100))),n?n=a(n):g?n=f(g,11,31):!n&&p&&(n=d(e.today??u())),[s&&i(s),n&&i(n)]}function jo(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:i=1}=s,{startOfMonth:o,addMonths:a,differenceInCalendarMonths:c}=n,d=r?i:1,f=o(e);if(!t)return a(f,d);if(!(c(t,e)<i))return a(f,d)}function Wo(e,t,s,n){if(s.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:i}=s,{startOfMonth:o,addMonths:a,differenceInCalendarMonths:c}=n,d=r?i??1:1,f=o(e);if(!t)return a(f,-d);if(!(c(f,t)<=0))return a(f,-d)}function To(e){const t=[];return e.reduce((s,n)=>s.concat(n.weeks.slice()),t.slice())}function Se(e,t){const[s,n]=C.useState(e);return[t===void 0?s:t,n]}function Eo(e,t){const[s,n]=Oo(e,t),{startOfMonth:r,endOfMonth:i}=t,o=yt(e,s,n,t),[a,c]=Se(o,e.month?o:void 0);C.useEffect(()=>{const k=yt(e,s,n,t);c(k)},[e.timeZone]);const{months:d,weeks:f,days:u,previousMonth:h,nextMonth:g}=C.useMemo(()=>{const k=Co(a,n,{numberOfMonths:e.numberOfMonths},t),x=wo(k,e.endMonth?i(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),y=No(k,x,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),O=To(y),T=So(y),P=Wo(a,s,e,t),Y=jo(a,n,e,t);return{months:y,weeks:O,days:T,previousMonth:P,nextMonth:Y}},[t,a.getTime(),n?.getTime(),s?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:w,onMonthChange:v}=e,p=k=>f.some(x=>x.days.some(y=>y.isEqualTo(k))),D=k=>{if(w)return;let x=r(k);s&&x<r(s)&&(x=r(s)),n&&x>r(n)&&(x=r(n)),c(x),v?.(x)};return{months:d,weeks:f,days:u,navStart:s,navEnd:n,previousMonth:h,nextMonth:g,goToMonth:D,goToDay:k=>{p(k)||D(k.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 gt(e){return!e[F.disabled]&&!e[F.hidden]&&!e[F.outside]}function _o(e,t,s,n){let r,i=-1;for(const o of e){const a=t(o);gt(a)&&(a[F.focused]&&i<J.FocusedModifier?(r=o,i=J.FocusedModifier):n?.isEqualTo(o)&&i<J.LastFocused?(r=o,i=J.LastFocused):s(o.date)&&i<J.Selected?(r=o,i=J.Selected):a[F.today]&&i<J.Today&&(r=o,i=J.Today))}return r||(r=e.find(o=>gt(t(o)))),r}function Io(e,t,s,n,r,i,o){const{ISOWeek:a,broadcastCalendar:c}=i,{addDays:d,addMonths:f,addWeeks:u,addYears:h,endOfBroadcastWeek:g,endOfISOWeek:w,endOfWeek:v,max:p,min:D,startOfBroadcastWeek:W,startOfISOWeek:M,startOfWeek:k}=o;let y={day:d,week:u,month:f,year:h,startOfWeek:O=>c?W(O,o):a?M(O):k(O),endOfWeek:O=>c?g(O):a?w(O):v(O)}[e](s,t==="after"?1:-1);return t==="before"&&n?y=p([n,y]):t==="after"&&r&&(y=D([r,y])),y}function Qt(e,t,s,n,r,i,o,a=0){if(a>365)return;const c=Io(e,t,s.date,n,r,i,o),d=!!(i.disabled&&re(c,i.disabled,o)),f=!!(i.hidden&&re(c,i.hidden,o)),u=c,h=new Pt(c,u,o);return!d&&!f?h:Qt(e,t,h,n,r,i,o,a+1)}function Fo(e,t,s,n,r){const{autoFocus:i}=e,[o,a]=C.useState(),c=_o(t.days,s,n||(()=>!1),o),[d,f]=C.useState(i?c:void 0);return{isFocusTarget:v=>!!c?.isEqualTo(v),setFocused:f,focused:d,blur:()=>{a(d),f(void 0)},moveFocus:(v,p)=>{if(!d)return;const D=Qt(v,p,d,t.navStart,t.navEnd,e,r);D&&(e.disableNavigation&&!t.days.some(M=>M.isEqualTo(D))||(t.goToDay(D),f(D)))}}}function Yo(e,t){const{selected:s,required:n,onSelect:r}=e,[i,o]=Se(s,r?s:void 0),a=r?s:i,{isSameDay:c}=t,d=g=>a?.some(w=>c(w,g))??!1,{min:f,max:u}=e;return{selected:a,select:(g,w,v)=>{let p=[...a??[]];if(d(g)){if(a?.length===f||n&&a?.length===1)return;p=a?.filter(D=>!c(D,g))}else a?.length===u?p=[g]:p=[...p,g];return r||o(p),r?.(p,g,w,v),p},isSelected:d}}function Po(e,t,s=0,n=0,r=!1,i=L){const{from:o,to:a}=t||{},{isSameDay:c,isAfter:d,isBefore:f}=i;let u;if(!o&&!a)u={from:e,to:s>0?void 0:e};else if(o&&!a)c(o,e)?s===0?u={from:o,to:e}:r?u={from:o,to:void 0}:u=void 0:f(e,o)?u={from:e,to:o}:u={from:o,to:e};else if(o&&a)if(c(o,e)&&c(a,e))r?u={from:o,to:a}:u=void 0;else if(c(o,e))u={from:o,to:s>0?void 0:e};else if(c(a,e))u={from:e,to:s>0?void 0:e};else if(f(e,o))u={from:e,to:a};else if(d(e,o))u={from:o,to:e};else if(d(e,a))u={from:o,to:e};else throw new Error("Invalid range");if(u?.from&&u?.to){const h=i.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 Bo(e,t,s=L){const n=Array.isArray(t)?t:[t];let r=e.from;const i=s.differenceInCalendarDays(e.to,e.from),o=Math.min(i,6);for(let a=0;a<=o;a++){if(n.includes(r.getDay()))return!0;r=s.addDays(r,1)}return!1}function pt(e,t,s=L){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 Ao(e,t,s=L){const n=Array.isArray(t)?t:[t];if(n.filter(a=>typeof a!="function").some(a=>typeof a=="boolean"?a:s.isDate(a)?se(e,a,!1,s):Rt(a,s)?a.some(c=>se(e,c,!1,s)):we(a)?a.from&&a.to?pt(e,{from:a.from,to:a.to},s):!1:At(a)?Bo(e,a.dayOfWeek,s):Ve(a)?s.isAfter(a.before,a.after)?pt(e,{from:s.addDays(a.after,1),to:s.addDays(a.before,-1)},s):re(e.from,a,s)||re(e.to,a,s):Xe(a)||Je(a)?re(e.from,a,s)||re(e.to,a,s):!1))return!0;const o=n.filter(a=>typeof a=="function");if(o.length){let a=e.from;const c=s.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=c;d++){if(o.some(f=>f(a)))return!0;a=s.addDays(a,1)}}return!1}function Ro(e,t){const{disabled:s,excludeDisabled:n,selected:r,required:i,onSelect:o}=e,[a,c]=Se(r,o?r:void 0),d=o?r:a;return{selected:d,select:(h,g,w)=>{const{min:v,max:p}=e,D=h?Po(h,d,v,p,i,t):void 0;return n&&s&&D?.from&&D.to&&Ao({from:D.from,to:D.to},s,t)&&(D.from=h,D.to=void 0),o||c(D),o?.(D,h,g,w),D},isSelected:h=>d&&se(d,h,!1,t)}}function zo(e,t){const{selected:s,required:n,onSelect:r}=e,[i,o]=Se(s,r?s:void 0),a=r?s:i,{isSameDay:c}=t;return{selected:a,select:(u,h,g)=>{let w=u;return!n&&a&&a&&c(u,a)&&(w=void 0),r||o(w),r?.(w,u,h,g),w},isSelected:u=>a?c(a,u):!1}}function qo(e,t){const s=zo(e,t),n=Yo(e,t),r=Ro(e,t);switch(e.mode){case"single":return s;case"multiple":return n;case"range":return r;default:return}}function B(e,t){return e instanceof ne&&e.timeZone===t?e:new ne(e,t)}function bt(e,t){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?B(e,t):Array.isArray(e)?e.map(s=>s instanceof Date?B(s,t):s):we(e)?{...e,from:e.from?B(e.from,t):e.from,to:e.to?B(e.to,t):e.to}:Ve(e)?{before:B(e.before,t),after:B(e.after,t)}:Xe(e)?{after:B(e.after,t)}:Je(e)?{before:B(e.before,t)}:e}function Re(e,t){return e&&(Array.isArray(e)?e.map(s=>bt(s,t)):bt(e,t))}function Ho(e){let t=e;const s=t.timeZone;if(s&&(t={...e,timeZone:s},t.today&&(t.today=B(t.today,s)),t.month&&(t.month=B(t.month,s)),t.defaultMonth&&(t.defaultMonth=B(t.defaultMonth,s)),t.startMonth&&(t.startMonth=B(t.startMonth,s)),t.endMonth&&(t.endMonth=B(t.endMonth,s)),t.mode==="single"&&t.selected?t.selected=B(t.selected,s):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(N=>B(N,s)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?B(t.selected.from,s):t.selected.from,to:t.selected.to?B(t.selected.to,s):t.selected.to}),t.disabled!==void 0&&(t.disabled=Re(t.disabled,s)),t.hidden!==void 0&&(t.hidden=Re(t.hidden,s)),t.modifiers)){const N={};Object.keys(t.modifiers).forEach(_=>{N[_]=Re(t.modifiers?.[_],s)}),t.modifiers=N}const{components:n,formatters:r,labels:i,dateLib:o,locale:a,classNames:c}=C.useMemo(()=>{const N={...Yt,...t.locale},_=new q({locale:N,weekStartsOn:t.broadcastCalendar?1:t.weekStartsOn,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},t.dateLib);return{dateLib:_,components:Lr(t.components),formatters:co(t.formatters),labels:yo(t.labels,_.options),locale:N,classNames:{...Qe(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:o.today()});const{captionLayout:d,mode:f,navLayout:u,numberOfMonths:h=1,onDayBlur:g,onDayClick:w,onDayFocus:v,onDayKeyDown:p,onDayMouseEnter:D,onDayMouseLeave:W,onNextClick:M,onPrevClick:k,showWeekNumber:x,styles:y}=t,{formatCaption:O,formatDay:T,formatMonthDropdown:P,formatWeekNumber:Y,formatWeekNumberHeader:V,formatWeekdayName:ae,formatYearDropdown:ee}=r,H=Eo(t,o),{days:me,months:De,navStart:Ce,navEnd:Ne,previousMonth:$,nextMonth:U,goToMonth:te}=H,Oe=Jr(me,t,Ce,Ne,o),{isSelected:je,select:We,selected:ke}=qo(t,o)??{},{blur:tt,focused:nt,isFocusTarget:Lt,moveFocus:st,setFocused:Me}=Fo(t,H,Oe,je??(()=>!1),o),{labelDayButton:en,labelGridcell:tn,labelGrid:nn,labelMonthDropdown:sn,labelNav:rt,labelPrevious:rn,labelNext:on,labelWeekday:an,labelWeekNumber:ln,labelWeekNumberHeader:cn,labelYearDropdown:dn}=i,un=C.useMemo(()=>bo(o,t.ISOWeek,t.broadcastCalendar,t.today),[o,t.ISOWeek,t.broadcastCalendar,t.today]),ot=f!==void 0||w!==void 0,Te=C.useCallback(()=>{$&&(te($),k?.($))},[$,te,k]),Ee=C.useCallback(()=>{U&&(te(U),M?.(U))},[te,U,M]),fn=C.useCallback((N,_)=>S=>{S.preventDefault(),S.stopPropagation(),Me(N),!_.disabled&&(We?.(N.date,_,S),w?.(N.date,_,S))},[We,w,Me]),hn=C.useCallback((N,_)=>S=>{Me(N),v?.(N.date,_,S)},[v,Me]),mn=C.useCallback((N,_)=>S=>{tt(),g?.(N.date,_,S)},[tt,g]),yn=C.useCallback((N,_)=>S=>{const I={ArrowLeft:[S.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[S.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[S.shiftKey?"year":"week","after"],ArrowUp:[S.shiftKey?"year":"week","before"],PageUp:[S.shiftKey?"year":"month","before"],PageDown:[S.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(I[S.key]){S.preventDefault(),S.stopPropagation();const[X,j]=I[S.key];st(X,j)}p?.(N.date,_,S)},[st,p,t.dir]),gn=C.useCallback((N,_)=>S=>{D?.(N.date,_,S)},[D]),pn=C.useCallback((N,_)=>S=>{W?.(N.date,_,S)},[W]),bn=C.useCallback(N=>_=>{const S=Number(_.target.value),I=o.setMonth(o.startOfMonth(N),S);te(I)},[o,te]),vn=C.useCallback(N=>_=>{const S=Number(_.target.value),I=o.setYear(o.startOfMonth(N),S);te(I)},[o,te]),{className:xn,style:Dn}=C.useMemo(()=>({className:[c[b.Root],t.className].filter(Boolean).join(" "),style:{...y?.[b.Root],...t.style}}),[c,t.className,t.style,y]),kn=eo(t),at=C.useRef(null);Mo(at,!!t.animate,{classNames:c,months:De,focused:nt,dateLib:o});const Mn={dayPickerProps:t,selected:ke,select:We,isSelected:je,months:De,nextMonth:U,previousMonth:$,goToMonth:te,getModifiers:Oe,components:n,classNames:c,styles:y,labels:i,formatters:r};return m.createElement(Bt.Provider,{value:Mn},m.createElement(n.Root,{rootRef:t.animate?at:void 0,className:xn,style:Dn,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"],...kn},m.createElement(n.Months,{className:c[b.Months],style:y?.[b.Months]},!t.hideNavigation&&!u&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[b.Nav],style:y?.[b.Nav],"aria-label":rt(),onPreviousClick:Te,onNextClick:Ee,previousMonth:$,nextMonth:U}),De.map((N,_)=>m.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:c[b.Month],style:y?.[b.Month],key:_,displayIndex:_,calendarMonth:N},u==="around"&&!t.hideNavigation&&_===0&&m.createElement(n.PreviousMonthButton,{type:"button",className:c[b.PreviousMonthButton],tabIndex:$?void 0:-1,"aria-disabled":$?void 0:!0,"aria-label":rn($),onClick:Te,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:$?void 0:!0,className:c[b.Chevron],orientation:t.dir==="rtl"?"right":"left"})),m.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[b.MonthCaption],style:y?.[b.MonthCaption],calendarMonth:N,displayIndex:_},d?.startsWith("dropdown")?m.createElement(n.DropdownNav,{className:c[b.Dropdowns],style:y?.[b.Dropdowns]},(()=>{const S=d==="dropdown"||d==="dropdown-months"?m.createElement(n.MonthsDropdown,{key:"month",className:c[b.MonthsDropdown],"aria-label":sn(),classNames:c,components:n,disabled:!!t.disableNavigation,onChange:bn(N.date),options:go(N.date,Ce,Ne,r,o),style:y?.[b.Dropdown],value:o.getMonth(N.date)}):m.createElement("span",{key:"month"},P(N.date,o)),I=d==="dropdown"||d==="dropdown-years"?m.createElement(n.YearsDropdown,{key:"year",className:c[b.YearsDropdown],"aria-label":dn(o.options),classNames:c,components:n,disabled:!!t.disableNavigation,onChange:vn(N.date),options:vo(Ce,Ne,r,o,!!t.reverseYears),style:y?.[b.Dropdown],value:o.getYear(N.date)}):m.createElement("span",{key:"year"},ee(N.date,o));return o.getMonthYearOrder()==="year-first"?[I,S]:[S,I]})(),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"}},O(N.date,o.options,o))):m.createElement(n.CaptionLabel,{className:c[b.CaptionLabel],role:"status","aria-live":"polite"},O(N.date,o.options,o))),u==="around"&&!t.hideNavigation&&_===h-1&&m.createElement(n.NextMonthButton,{type:"button",className:c[b.NextMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":on(U),onClick:Ee,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:U?void 0:!0,className:c[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:c[b.Nav],style:y?.[b.Nav],"aria-label":rt(),onPreviousClick:Te,onNextClick:Ee,previousMonth:$,nextMonth:U}),m.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":f==="multiple"||f==="range","aria-label":nn(N.date,o.options,o)||void 0,className:c[b.MonthGrid],style:y?.[b.MonthGrid]},!t.hideWeekdays&&m.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[b.Weekdays],style:y?.[b.Weekdays]},x&&m.createElement(n.WeekNumberHeader,{"aria-label":cn(o.options),className:c[b.WeekNumberHeader],style:y?.[b.WeekNumberHeader],scope:"col"},V()),un.map(S=>m.createElement(n.Weekday,{"aria-label":an(S,o.options,o),className:c[b.Weekday],key:String(S),style:y?.[b.Weekday],scope:"col"},ae(S,o.options,o)))),m.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[b.Weeks],style:y?.[b.Weeks]},N.weeks.map(S=>m.createElement(n.Week,{className:c[b.Week],key:S.weekNumber,style:y?.[b.Week],week:S},x&&m.createElement(n.WeekNumber,{week:S,style:y?.[b.WeekNumber],"aria-label":ln(S.weekNumber,{locale:a}),className:c[b.WeekNumber],scope:"row",role:"rowheader"},Y(S.weekNumber,o)),S.days.map(I=>{const{date:X}=I,j=Oe(I);if(j[F.focused]=!j.hidden&&!!nt?.isEqualTo(I),j[Z.selected]=je?.(X)||j.selected,we(ke)){const{from:_e,to:Ie}=ke;j[Z.range_start]=!!(_e&&Ie&&o.isSameDay(X,_e)),j[Z.range_end]=!!(_e&&Ie&&o.isSameDay(X,Ie)),j[Z.range_middle]=se(ke,X,!0,o)}const wn=po(j,y,t.modifiersStyles),Sn=Qr(j,c,t.modifiersClassNames),Cn=!ot&&!j.hidden?tn(X,j,o.options,o):void 0;return m.createElement(n.Day,{key:`${I.isoDate}_${I.displayMonthId}`,day:I,modifiers:j,className:Sn.join(" "),style:wn,role:"gridcell","aria-selected":j.selected||void 0,"aria-label":Cn,"data-day":I.isoDate,"data-month":I.outside?I.dateMonthId:void 0,"data-selected":j.selected||void 0,"data-disabled":j.disabled||void 0,"data-hidden":j.hidden||void 0,"data-outside":I.outside||void 0,"data-focused":j.focused||void 0,"data-today":j.today||void 0},!j.hidden&&ot?m.createElement(n.DayButton,{className:c[b.DayButton],style:y?.[b.DayButton],type:"button",day:I,modifiers:j,disabled:!j.focused&&j.disabled||void 0,"aria-disabled":j.focused&&j.disabled||void 0,tabIndex:Lt(I)?0:-1,"aria-label":en(X,j,o.options,o),onClick:fn(I,j),onBlur:mn(I,j),onFocus:hn(I,j),onKeyDown:yn(I,j),onMouseEnter:gn(I,j),onMouseLeave:pn(I,j)},T(X,o.options,o)):!j.hidden&&T(I.date,o.options,o))})))))))),t.footer&&m.createElement(n.Footer,{className:c[b.Footer],style:y?.[b.Footer],role:"status","aria-live":"polite"},t.footer)))}function $o({className:e,classNames:t,showOutsideDays:s=!0,captionLayout:n="label",buttonVariant:r="ghost",formatters:i,components:o,...a}){const c=Qe();return l.jsx(Ho,{showOutsideDays:s,className:E("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"}),...i},classNames:{root:E("w-fit",c.root),months:E("flex gap-4 flex-col md:flex-row relative",c.months),month:E("flex flex-col w-full gap-4",c.month),nav:E("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",c.nav),button_previous:E(ct({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_previous),button_next:E(ct({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",c.button_next),month_caption:E("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",c.month_caption),dropdowns:E("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",c.dropdowns),dropdown_root:E("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",c.dropdown_root),dropdown:E("absolute bg-white inset-0 opacity-0 dark:bg-gray-950",c.dropdown),caption_label:E("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",c.caption_label),table:"w-full border-collapse",weekdays:E("flex",c.weekdays),weekday:E("text-gray-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-gray-400",c.weekday),week:E("flex w-full mt-2",c.week),week_number_header:E("select-none w-(--cell-size)",c.week_number_header),week_number:E("text-[0.8rem] select-none text-gray-500 dark:text-gray-400",c.week_number),day:E("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",c.day),range_start:E("rounded-l-md bg-gray-100 dark:bg-gray-800",c.range_start),range_middle:E("rounded-none",c.range_middle),range_end:E("rounded-r-md bg-gray-100 dark:bg-gray-800",c.range_end),today:E("bg-gray-100 text-gray-900 rounded-md data-[selected=true]:rounded-none dark:bg-gray-800 dark:text-gray-50",c.today),outside:E("text-gray-500 aria-selected:text-gray-500 dark:text-gray-400 dark:aria-selected:text-gray-400",c.outside),disabled:E("text-gray-500 opacity-50 dark:text-gray-400",c.disabled),hidden:E("invisible",c.hidden),...t},components:{Root:({className:d,rootRef:f,...u})=>l.jsx("div",{"data-slot":"calendar",ref:f,className:E(d),...u}),Chevron:({className:d,orientation:f,...u})=>f==="left"?l.jsx(os,{className:E("size-4",d),...u}):f==="right"?l.jsx(as,{className:E("size-4",d),...u}):l.jsx(ie,{className:E("size-4",d),...u}),DayButton:Uo,WeekNumber:({children:d,...f})=>l.jsx("td",{...f,children:l.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...o},...a})}function Uo({className:e,day:t,modifiers:s,...n}){const r=Qe(),i=m.useRef(null);return m.useEffect(()=>{s.focused&&i.current?.focus()},[s.focused]),l.jsx(z,{ref:i,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:E("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 ze(e){return e?K(e,"yyyy-MM-dd"):""}function Go(e){return e?!Number.isNaN(e.getTime()):!1}function Ko({value:e,onChange:t,disabled:s,...n}){const[r,i]=m.useState(!1),[o,a]=m.useState(e),[c,d]=m.useState(ze(e));return C.useEffect(()=>{e&&d(ze(e))},[e]),l.jsxs("div",{className:"relative flex gap-2",children:[l.jsx(Wt,{...n,disabled:s,value:c,onChange:f=>{d(f.target.value);const u=f.target.value?new Date(f.target.value):void 0;Go(u)&&(t?.(u),a(u))},onKeyDown:f=>{f.key==="ArrowDown"&&(f.preventDefault(),i(!0))}}),l.jsxs(is,{open:r,onOpenChange:i,children:[l.jsx(ls,{asChild:!0,children:l.jsxs(z,{id:"date-picker",variant:"ghost",className:"absolute top-1/2 right-2 size-6 -translate-y-1/2",disabled:s,children:[l.jsx(cs,{className:"size-3.5"}),l.jsx("span",{className:"sr-only",children:"Select date"})]})}),l.jsx(ds,{className:"w-auto overflow-hidden p-0",align:"end",alignOffset:-8,sideOffset:10,children:l.jsx($o,{mode:"single",selected:e,captionLayout:"dropdown",month:o,onMonthChange:a,onSelect:f=>{t?.(f),d(ze(f??void 0)),i(!1)}})})]})]})}var qe={exports:{}},He,vt;function Zo(){if(vt)return He;vt=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return He=e,He}var $e,xt;function Vo(){if(xt)return $e;xt=1;var e=Zo();function t(){}function s(){}return s.resetWarningCache=t,$e=function(){function n(o,a,c,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 i={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 i.PropTypes=i,i},$e}var Dt;function Xo(){return Dt||(Dt=1,qe.exports=Vo()()),qe.exports}var Jo=Xo();const ha=us(Jo),Qo=({close:e,transactionID:t,onChange:s})=>t?l.jsx(fs,{modalSize:"fit-content",position:"bottom",title:l.jsxs("div",{className:"flex flex-row mx-3 pt-3 sm:text-1xl gap-10",children:[l.jsx("h1",{className:"sm:text-2xl font-small text-gray-900",children:"Edit Transaction:"}),l.jsxs("div",{className:"flex flex-row gap-2",children:["ID: ",t,l.jsx(hs,{content:t}),l.jsx(lr,{transactionId:t})]})]}),opened:!!t,onClose:e,children:l.jsx(cr,{transactionID:t,onDone:e,onChange:s})}):null,Lo=({onDone:e,transactionId:t,chargeId:s})=>{const[n,r]=C.useState(!1),[{data:i,fetching:o}]=St({query:ms,pause:!t,variables:{transactionId:t}}),a=i?.transactionsByIDs[0];function c(){r(!1),e?.()}return l.jsxs(ys,{open:n,onOpenChange:r,children:[l.jsx(gs,{asChild:!0,children:l.jsx(kt,{label:"Insert Related Misc Expense",children:l.jsx(z,{variant:"ghost",size:"icon",className:"size-7.5",disabled:o,children:l.jsx(Bs,{className:"size-5"})})})}),l.jsxs(ps,{className:"sm:max-w-[425px]",children:[l.jsx(bs,{children:l.jsx(vs,{children:"Insert Misc Expense"})}),a&&l.jsx(fr,{onDone:c,chargeId:s,defaultValues:{amount:a?.amount.raw?Math.abs(a?.amount.raw):void 0,currency:a?.amount.currency,invoiceDate:a?.eventDate,valueDate:a?.exactEffectiveDate||a?.effectiveDate?new Date(a.exactEffectiveDate??a.effectiveDate):void 0,creditorId:(a?.amount.raw??0)>0?a?.counterparty?.id:void 0,debtorId:(a?.amount.raw??0)<0?a?.counterparty?.id:void 0}})]})]})},ea=({transaction:e})=>{const t="effectiveDate"in e?e.effectiveDate:void 0;return l.jsxs("div",{className:"flex flex-col justify-center",children:[l.jsx("div",{children:t&&K(new Date(t),"dd/MM/yy")}),e.sourceEffectiveDate&&l.jsxs("div",{className:"text-xs text-gray-500",children:["(Originally ",K(new Date(e.sourceEffectiveDate),"dd/MM/yy"),")"]})]})},ta=({transaction:e})=>{const t="eventDate"in e?e.eventDate:void 0;return l.jsx("div",{className:"flex flex-col justify-center",children:t&&K(new Date(t),"dd/MM/yy")})},na=({transaction:e})=>{const t="amount"in e?e.amount:void 0;return l.jsxs("div",{style:{color:Number(t?.raw)>0?"green":"red",whiteSpace:"nowrap"},children:[t?.formatted,l.jsx("br",{}),e.cryptoExchangeRate&&l.jsxs("span",{style:{color:"gray",marginLeft:"0.5rem"},children:[`(Rate: ${e.cryptoExchangeRate.rate})`,l.jsx("br",{}),t?.raw?`${xs(t.raw*e.cryptoExchangeRate.rate)}$`:null]})]})},sa=({transaction:e})=>{const{account:t}=e,s=t.type,n=t.name;return l.jsxs("div",{className:"flex flex-col justify-center",children:[l.jsx("p",{children:s}),l.jsx("p",{children:n})]})},ra=({transaction:e})=>{const t="sourceDescription"in e?e.sourceDescription:"Missing";return l.jsx("div",{className:"flex flex-wrap",children:l.jsx("div",{className:"flex flex-col justify-center",children:t})})},oa=({transaction:e})=>l.jsx("div",{className:"flex flex-wrap",children:l.jsx("div",{className:"flex flex-col justify-center",children:e.referenceKey})});function aa({transaction:e,onChange:t}){const{id:s,counterparty:n,missingInfoSuggestions:r,id:i,sourceDescription:o,enableEdit:a}=e,c=!!r?.business&&a,d=c?r?.business?.name:"Missing",f=c?r?.business?.id:null,u=n?.name??d,[h,g]=C.useState(!1),{updateTransaction:w,fetching:v}=Ze(),p=C.useCallback(async T=>{await w({transactionId:i,fields:{counterpartyId:T}}),g(!0)},[i,w]),D=C.useCallback(async T=>{await p(T),t?.()},[p,t]),{selectableBusinesses:W,fetching:M}=Ds(),[k,x]=C.useState(f??null),[y,O]=C.useState(o);return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"flex flex-wrap flex-col justify-center",children:n?.id?l.jsx(Mt,{to:wt.BUSINESSES.DETAIL(n.id),target:"_blank",rel:"noreferrer",onClick:T=>T.stopPropagation(),className:"inline-flex items-center font-semibold",children:u}):l.jsxs(l.Fragment,{children:[l.jsx(ks,{options:W,value:k,onChange:x,search:y,onSearchChange:O,placeholder:"Choose or create a business",empty:y?l.jsx(Ms,{description:y,onAdd:D}):null}),l.jsx(As,{content:"Approve",children:l.jsx(z,{variant:"outline",size:"icon",onClick:()=>k&&p(k),disabled:v||M||!k,children:l.jsx(ws,{className:"size-4"})})})]})}),l.jsx(Ps,{transactionId:s,counterpartyId:n?.id??k,open:h,onOpenChange:g,onClose:t})]})}const Ue=[{accessorKey:"counterparty.name",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Counterparty",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(aa,{transaction:e.original})},{accessorKey:"eventDate",sortingFn:e=>"eventDate"in e.original&&e.original.eventDate?new Date(e.original.eventDate).getTime():0,header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Event Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(ta,{transaction:e.original})},{accessorKey:"effectiveDate",sortingFn:e=>"effectiveDate"in e.original&&e.original.effectiveDate?new Date(e.original.effectiveDate).getTime():0,header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Debit Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(ea,{transaction:e.original})},{accessorKey:"amount.raw",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Amount",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(na,{transaction:e.original})},{accessorKey:"account.name",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Account",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(sa,{transaction:e.original})},{accessorKey:"sourceDescription",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Description",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(ra,{transaction:e.original})},{accessorKey:"referenceKey",header:({column:e})=>l.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Reference#",e.getIsSorted()&&(e.getIsSorted()==="asc"?l.jsx(ue,{className:"ml-2 h-4 w-4"}):l.jsx(ie,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>l.jsx(oa,{transaction:e.original})}],ia={accessorKey:"id",header:"Actions",cell:({row:e})=>e.original.enableEdit?l.jsxs(l.Fragment,{children:[l.jsx(Ss,{onClick:()=>e.original.editTransaction(e.original.id)}),l.jsx(Lo,{chargeId:e.original.chargeId,transactionId:e.original.id,onDone:e.original.onUpdate})]}):e.original.enableChargeLink?l.jsx(ir,{chargeId:e.original.chargeId}):null},ma=({transactionsProps:e,onChange:t,enableEdit:s,enableChargeLink:n})=>{const[r,i]=C.useState(void 0),[o,a]=C.useState([]),c=C.useMemo(()=>e.map(h=>Cs(Ns,h)),[e]),d=C.useMemo(()=>c.map(h=>({...h,editTransaction:i,onUpdate:t||(()=>{}),enableEdit:s,enableChargeLink:n})),[c,s,n,t]),f=C.useMemo(()=>s||n?[...Ue,ia]:Ue,[s,n]),u=Os({data:d,columns:f,getCoreRowModel:Ts(),onSortingChange:a,getSortedRowModel:Ws(),getPaginationRowModel:js(),state:{sorting:o},initialState:{pagination:{pageIndex:0,pageSize:100},sorting:[{id:"eventDate",desc:!0}]}});return l.jsxs(l.Fragment,{children:[l.jsxs(Es,{children:[l.jsx(_s,{children:u.getHeaderGroups().map(h=>l.jsx(Ye,{children:h.headers.map(g=>l.jsx(Is,{colSpan:g.colSpan,children:g.isPlaceholder?null:dt(g.column.columnDef.header,g.getContext())},g.id))},h.id))}),l.jsx(Fs,{children:u.getRowModel().rows?.length?u.getRowModel().rows.map(h=>l.jsx(Ye,{children:h.getVisibleCells().map(g=>l.jsx(ut,{children:dt(g.column.columnDef.cell,g.getContext())},g.id))},h.id)):l.jsx(Ye,{children:l.jsx(ut,{colSpan:Ue.length,className:"h-24 text-center",children:"No results."})})})]}),u.getPageCount()>1&&l.jsx("div",{className:"flex items-center justify-end space-x-2 py-4",children:l.jsx(Ys,{currentPageIndex:u.getState().pagination.pageIndex,totalPages:u.getPageCount(),onChange:h=>u.setPageIndex(h)})}),l.jsx(Qo,{transactionID:r,close:()=>i(void 0),onChange:t??(()=>{})})]})};export{na as A,aa as C,ea as D,zs as E,fr as I,mr as M,ha as P,oa as S,ma as T,ta as a,sa as b,ra as c,ir as d};
|