@accounter/client 0.0.8-alpha-20251029232510-4bc0c8b8c08a26f0c27788725ae584e515236d20 → 0.0.8-alpha-20251029233659-8fb74309c9f1de4f20423db029c5740e2df4bb5d

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.
Files changed (127) hide show
  1. package/CHANGELOG.md +1 -15
  2. package/dist/assets/{Checkbox-Cmx4P-eR.js → Checkbox-CSPHEKoR.js} +2 -2
  3. package/dist/assets/{MultiSelect-tfWMeMsf.js → MultiSelect-CszuVk07.js} +1 -1
  4. package/dist/assets/{Pagination-p2BVFuhf.js → Pagination-Cp6iKPSu.js} +1 -1
  5. package/dist/assets/{Progress-BwoJerOb.js → Progress-ByaKYSXX.js} +1 -1
  6. package/dist/assets/{Table-Cve82Lq5.js → Table-CQ4GTcIY.js} +1 -1
  7. package/dist/assets/{Typography-CAgQOS4U.js → Typography-Cn08y9HC.js} +1 -1
  8. package/dist/assets/{YearPickerInput-BPVLgEAY.js → YearPickerInput-BsQymTcP.js} +1 -1
  9. package/dist/assets/{accordion-Ca5XgpUz.js → accordion-CG93-Cqs.js} +1 -1
  10. package/dist/assets/accountant-approvals-Dxy1hGw7.js +1 -0
  11. package/dist/assets/{accounter-table-CBlUbpQl.js → accounter-table-Dgvw-xm_.js} +1 -1
  12. package/dist/assets/{addDays-ClGDfhvI.js → addDays-Di-hbHs3.js} +1 -1
  13. package/dist/assets/{all-charges-DV7V8QJ6.js → all-charges-DRl4EcMG.js} +1 -1
  14. package/dist/assets/{arrow-up-down-DMdWvrmz.js → arrow-up-down-Hh3TlLSU.js} +1 -1
  15. package/dist/assets/{building-2-Y3dys8Pf.js → building-2-DGfYgfU_.js} +1 -1
  16. package/dist/assets/business-aamFaOhr.js +27 -0
  17. package/dist/assets/business-extended-info-CeEMIazB.js +13 -0
  18. package/dist/assets/{business-header-S5R7Fq8P.js → business-header-BphijNiC.js} +1 -1
  19. package/dist/assets/business-transactions-filters-DYBvDjKs.js +1 -0
  20. package/dist/assets/business-transactions-single-B77wu9sA.js +1 -0
  21. package/dist/assets/business-trip-C1cYIMHX.js +1 -0
  22. package/dist/assets/{charge-C79C95t6.js → charge-D-99eJ1v.js} +1 -1
  23. package/dist/assets/{charges-filters-RFRXF1Oa.js → charges-filters-Dxaf2lVd.js} +1 -1
  24. package/dist/assets/{charges-ledger-validation-DTglElRA.js → charges-ledger-validation-BAY3PYth.js} +1 -1
  25. package/dist/assets/charges-table-CNWVDMmv.js +62 -0
  26. package/dist/assets/{chart-2MG3qLL8.js → chart-DM5P1yGj.js} +1 -1
  27. package/dist/assets/{data-table-pagination-Dhmbf7BR.js → data-table-pagination-TG7sqb1-.js} +1 -1
  28. package/dist/assets/download-csv-button-jQXIlRax.js +1 -0
  29. package/dist/assets/{editable-business-trip-BlqinsvU.js → editable-business-trip-DlAsZ0aQ.js} +2 -2
  30. package/dist/assets/{funnel-B2plvroD.js → funnel-BQEGwl1q.js} +1 -1
  31. package/dist/assets/{index-Csdsjvrl.js → index--OgMtW-2.js} +2 -2
  32. package/dist/assets/index-B-USUC2v.js +1 -0
  33. package/dist/assets/index-BYfofaiM.js +1 -0
  34. package/dist/assets/{index-C6OmHOHr.js → index-BmZql10x.js} +213 -213
  35. package/dist/assets/{index-Bs4RBq4h.js → index-CFY-4iKE.js} +1 -1
  36. package/dist/assets/{index-C4gCwrJJ.js → index-CGQclWiq.js} +1 -1
  37. package/dist/assets/index-CIY9x3TF.js +6 -0
  38. package/dist/assets/{index-arYAg9nt.js → index-CJEUQmMx.js} +1 -1
  39. package/dist/assets/{index-DKZGNBg3.js → index-CXRSu47J.js} +2 -2
  40. package/dist/assets/{index-DemO-kJJ.js → index-CiXTFJcq.js} +2 -2
  41. package/dist/assets/{index-CSEktEoZ.js → index-CkIv3Veq.js} +7 -7
  42. package/dist/assets/{index-BRNnfzgV.js → index-ClzPFBOc.js} +2 -2
  43. package/dist/assets/{index-qMYyjtmt.js → index-CzEcZ0Dn.js} +2 -2
  44. package/dist/assets/{index-HG5RXBPG.js → index-D9zE4pLO.js} +1 -1
  45. package/dist/assets/{index-DZ6Bqs7R.js → index-DKjsW6q7.js} +7 -7
  46. package/dist/assets/{index-C0ZATVhv.js → index-DOh5XsM3.js} +2 -2
  47. package/dist/assets/index-DROHY2Kd.js +1 -0
  48. package/dist/assets/index-DWXHJxFq.css +1 -0
  49. package/dist/assets/index-DgbPiRkF.js +1 -0
  50. package/dist/assets/{index-5R7-0kTp.js → index-DkKTDpFK.js} +1 -1
  51. package/dist/assets/{index-Cn4t95Q9.js → index-DnFwBDCa.js} +1 -1
  52. package/dist/assets/index-Dt4KpoN0.js +1 -0
  53. package/dist/assets/{index-BdRubi2c.js → index-IuUe41KG.js} +1 -1
  54. package/dist/assets/{index-eIVAASqp.js → index-NofRnQ8o.js} +1 -1
  55. package/dist/assets/{index-P9_YuS6e.js → index-WaN-m0WB.js} +1 -1
  56. package/dist/assets/index-juMfNCjV.js +1 -0
  57. package/dist/assets/{index.es-BrfHJ6Yj.js → index.es-BJEu0vdb.js} +1 -1
  58. package/dist/assets/{insert-business-trip-modal-COXHjjIY.js → insert-business-trip-modal-CXgUJdgl.js} +2 -2
  59. package/dist/assets/issue-document-BSkWYnI5.js +1 -0
  60. package/dist/assets/{list-plus-DbuCDPM8.js → list-plus-BlHtPDEN.js} +1 -1
  61. package/dist/assets/{login-page-ChNFTZLU.js → login-page-DmCLAM1G.js} +1 -1
  62. package/dist/assets/{match-document-modal-Cp2DKG3j.js → match-document-modal-KjnSxB69.js} +4 -4
  63. package/dist/assets/{missing-info-charges-IUzXIDY1.js → missing-info-charges-BiEeQwER.js} +1 -1
  64. package/dist/assets/{modal-CCAYjiOC.js → modal-dLkQjDNz.js} +1 -1
  65. package/dist/assets/{page-layout-DpwpZHY3.js → page-layout-DxGYaCiw.js} +1 -1
  66. package/dist/assets/{page-not-found-NbOMK1Jv.js → page-not-found-ChLEFKCs.js} +1 -1
  67. package/dist/assets/{panel-top-open-CNX1-h4c.js → panel-top-open-CWsfFRNu.js} +1 -1
  68. package/dist/assets/{pencil-Z4i9z0vF.js → pencil-BEefjySD.js} +1 -1
  69. package/dist/assets/{report-commentary-row-C4I-ATEX.js → report-commentary-row-Cci0ntye.js} +1 -1
  70. package/dist/assets/{save-D0kOxdMh.js → save-BkV97OA1.js} +1 -1
  71. package/dist/assets/similar-transactions-modal-8T9lL2yX.js +1 -0
  72. package/dist/assets/sub-DdivcKGZ.js +1 -0
  73. package/dist/assets/subMonths-Kz3NJUOL.js +1 -0
  74. package/dist/assets/{summary-CkpRtdVA.js → summary-DzLJ6sUY.js} +1 -1
  75. package/dist/assets/{toggle-expansion-button-Babot8nj.js → toggle-expansion-button-BzVlE1kb.js} +1 -1
  76. package/dist/assets/tooltip-Ht3m2Q26.js +1 -0
  77. package/dist/assets/{use-url-query-BSUiacze.js → use-url-query-DV9K0FAR.js} +1 -1
  78. package/dist/index.html +2 -2
  79. package/package.json +1 -1
  80. package/src/app.tsx +108 -0
  81. package/src/components/business/admin-business-section.tsx +103 -299
  82. package/src/components/business/index.tsx +1 -33
  83. package/src/components/business/transactions-section.tsx +2 -24
  84. package/src/components/{business-ledger → business-transactions}/business-extended-info.tsx +27 -25
  85. package/src/components/{business-ledger/business-ledger-filters.tsx → business-transactions/business-transactions-filters.tsx} +12 -12
  86. package/src/components/{business-ledger/business-ledger-single.tsx → business-transactions/business-transactions-single.tsx} +13 -13
  87. package/src/components/{business-ledger → business-transactions}/download-csv.tsx +25 -25
  88. package/src/components/{business-ledger → business-transactions}/index.tsx +15 -15
  89. package/src/components/charges/charge-extended-info.tsx +4 -45
  90. package/src/components/layout/sidelinks.tsx +2 -2
  91. package/src/components/ledger-table/columns.tsx +4 -4
  92. package/src/components/ledger-table/index.tsx +181 -141
  93. package/src/components/reports/conto/custom-node.tsx +1 -1
  94. package/src/components/reports/trial-balance-report/trial-balance-report-account.tsx +1 -1
  95. package/src/components/tags/index.tsx +2 -4
  96. package/src/components/transactions-table/columns.tsx +9 -9
  97. package/src/components/transactions-table/index.tsx +21 -43
  98. package/src/gql/gql.ts +15 -33
  99. package/src/gql/graphql.ts +423 -234
  100. package/src/providers/index.tsx +56 -0
  101. package/src/router/config.tsx +14 -14
  102. package/src/router/routes.ts +2 -2
  103. package/dist/assets/accountant-approvals-BXTzXE96.js +0 -1
  104. package/dist/assets/business-CRd0ns94.js +0 -37
  105. package/dist/assets/business-extended-info-BKVk3weU.js +0 -13
  106. package/dist/assets/business-ledger-filters-C_x4y5uJ.js +0 -1
  107. package/dist/assets/business-ledger-single-Dku8gbU9.js +0 -1
  108. package/dist/assets/business-trip-CB51p6xt.js +0 -1
  109. package/dist/assets/charges-table-D3WwcB50.js +0 -62
  110. package/dist/assets/download-csv-button-BQSz29rY.js +0 -1
  111. package/dist/assets/index--xgmdJzW.js +0 -1
  112. package/dist/assets/index-BUJm5I0K.css +0 -1
  113. package/dist/assets/index-BgLtHIxa.js +0 -1
  114. package/dist/assets/index-CIdZZL-X.js +0 -1
  115. package/dist/assets/index-DA3Ccstm.js +0 -1
  116. package/dist/assets/index-DhRIY5eN.js +0 -1
  117. package/dist/assets/index-aEEtRfbo.js +0 -1
  118. package/dist/assets/index-nshyF-PE.js +0 -6
  119. package/dist/assets/issue-document-CBKTg1VC.js +0 -1
  120. package/dist/assets/similar-transactions-modal-DgD48GZ2.js +0 -1
  121. package/dist/assets/sub-BAZr7Qdd.js +0 -1
  122. package/dist/assets/subMonths-Df-03cZk.js +0 -1
  123. package/dist/assets/tooltip-DStdzzhK.js +0 -1
  124. package/src/components/business/balance-section.tsx +0 -26
  125. package/src/components/business/ledger-section.tsx +0 -49
  126. package/src/components/ui/pagination.tsx +0 -194
  127. package/src/providers/index.ts +0 -4
@@ -1,6 +0,0 @@
1
- import{v as bn,gs as ne,fJ as A,fH as pe,gt as qe,gu as Dn,j as i,T as mt,bU as gt,R as yt,B as z,m as N,bS as kn,gv as Mn,e8 as wn,u as pt,gw as Cn,G as xt,r as S,cQ as vt,d as Sn,W as bt,e9 as jn,Y as re,Z as oe,_ as ae,as as Nn,$ as ge,at as On,au as Tn,av as Wn,ax as En,a1 as le,bt as Dt,x as ue,an as _n,a9 as In,g as Fn,gx as Yn,t as Ee,i as Pn,L as Bn,ar as et,bs as tt,bM as Rn,bu as zn,gy as An,I as kt,gz as qn,gA as Hn,fI as $n,gB as Zn,gC as Un,gD as Ln,gE as Kn,gF as Gn,gG as Vn,gH as Jn,gI as Mt,ah as m,gJ as Qn,gK as Xn,dq as se,gL as nt,gM as es,gN as ts,b0 as ns,gO as ss,dx as rs,ee as os,ef as as,gP as is,D as cs,aR as ls,z as ds,aS as us,aT as fs,gQ as hs,gR as ms,gS as gs,cw as ys,br as ps,cr as xs,q as vs,e as bs,dp as ce,fE as Ds,J as ks,fq as Ms,cS as ws,d6 as Cs,d5 as Ss,d7 as js,cV as Ns,cW as Os,cX as _e,cY as Ts,cZ as st,c_ as Ws,c$ as rt}from"./index-C6OmHOHr.js";import{u as Ze,S as Es}from"./similar-transactions-modal-DgD48GZ2.js";import{a as wt}from"./addDays-ClGDfhvI.js";import{L as _s}from"./list-plus-DbuCDPM8.js";import{T as Is}from"./tooltip-DStdzzhK.js";/**
2
- * @license lucide-react v0.548.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const Fs=[["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"}]],Ys=bn("external-link",Fs);function Ps(e,t,n){return wt(e,t*7,n)}function Bs(e,t){let n,s=t?.in;return e.forEach(r=>{!s&&typeof r=="object"&&(s=ne.bind(null,r));const a=A(r,s);(!n||n<a||isNaN(+a))&&(n=a)}),ne(s,n||NaN)}function Rs(e,t){let n,s=t?.in;return e.forEach(r=>{!s&&typeof r=="object"&&(s=ne.bind(null,r));const a=A(r,s);(!n||n>a||isNaN(+a))&&(n=a)}),ne(s,n||NaN)}function zs(e,t,n){const[s,r]=pe(n?.in,e,t);return+qe(s)==+qe(r)}function As(e,t,n){const[s,r]=pe(n?.in,e,t),a=s.getFullYear()-r.getFullYear(),c=s.getMonth()-r.getMonth();return a*12+c}function qs(e,t){const n=A(e,t?.in),s=n.getMonth();return n.setFullYear(n.getFullYear(),s+1,0),n.setHours(23,59,59,999),n}function Ct(e,t){const[n,s]=pe(e,t.start,t.end);return{start:n,end:s}}function Hs(e,t){const{start:n,end:s}=Ct(t?.in,e);let r=+n>+s;const a=r?+n:+s,c=r?s:n;c.setHours(0,0,0,0),c.setDate(1);let o=1;const l=[];for(;+c<=a;)l.push(ne(n,c)),c.setMonth(c.getMonth()+o);return r?l.reverse():l}function $s(e,t){const n=A(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Zs(e,t){const{start:n,end:s}=Ct(t?.in,e);let r=+n>+s;const a=r?+n:+s,c=r?s:n;c.setHours(0,0,0,0),c.setMonth(0,1);let o=1;const l=[];for(;+c<=a;)l.push(ne(n,c)),c.setFullYear(c.getFullYear()+o);return r?l.reverse():l}function St(e,t){const n=Dn(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=A(e,t?.in),a=r.getDay(),c=(a<s?-7:0)+6-(a-s);return r.setDate(r.getDate()+c),r.setHours(23,59,59,999),r}function Us(e,t){return St(e,{...t,weekStartsOn:1})}function Ls(e,t){const n=A(e,t?.in),s=n.getFullYear(),r=n.getMonth(),a=ne(n,0);return a.setFullYear(s,r+1,0),a.setHours(0,0,0,0),a.getDate()}function Ks(e,t){return A(e,t?.in).getMonth()}function Gs(e,t){return A(e,t?.in).getFullYear()}function Vs(e,t){return+A(e)>+A(t)}function Js(e,t){return+A(e)<+A(t)}function Qs(e,t,n){const[s,r]=pe(n?.in,e,t);return s.getFullYear()===r.getFullYear()&&s.getMonth()===r.getMonth()}function Xs(e,t,n){const[s,r]=pe(n?.in,e,t);return s.getFullYear()===r.getFullYear()}function er(e,t,n){const s=A(e,n?.in),r=s.getFullYear(),a=s.getDate(),c=ne(e,0);c.setFullYear(r,t,15),c.setHours(0,0,0,0);const o=Ls(c);return s.setMonth(t,Math.min(a,o)),s}function tr(e,t,n){const s=A(e,n?.in);return isNaN(+s)?ne(e,NaN):(s.setFullYear(t),s)}function nr(e){return i.jsx(mt,{label:"To Charge",children:i.jsx(gt,{to:yt.CHARGES.DETAIL(e.chargeId),target:"_blank",rel:"noreferrer",onClick:t=>t.stopPropagation(),className:"inline-block",children:i.jsx(z,{...e,className:N("size-7.5",e.className),variant:"ghost",children:i.jsx(Ys,{className:"size-5"})})})})}function sr({transactionId:e}){const{updateTransaction:t}=Ze();function n(){t({transactionId:e,fields:{chargeId:wn}})}return i.jsx(kn,{onConfirm:n,title:"Are you sure you want to unlink this transaction from the charge?",children:i.jsx(z,{variant:"ghost",size:"icon",className:"size-7.5",children:i.jsx(Mn,{className:"size-5"})})})}const rr=({transactionID:e,onDone:t,onChange:n})=>{const[{data:s,fetching:r}]=pt({query:Cn,variables:{transactionIDs:[e]}}),a=s?.transactionsByIDs?.[0],c=xt({defaultValues:a??{}});S.useEffect(()=>{a&&c.reset(a)},[a,c]);const{control:o,handleSubmit:l,formState:{dirtyFields:d}}=c,{updateTransaction:f,fetching:u}=Ze(),h=v=>{if(!a)return;const y=In(v,d);t?.(),y&&Object.keys(y).length>0&&f({transactionId:a.id,fields:y}).then(n)},{selectableFinancialEntities:g,fetching:C}=vt();return i.jsxs(i.Fragment,{children:[r&&i.jsx(Sn,{className:"flex self-center my-5",color:"dark",size:"xl",variant:"dots"}),!r&&a&&i.jsx(bt,{...c,children:i.jsxs("form",{onSubmit:l(h),children:[i.jsx("div",{className:"flex-row px-10 h-max justify-start block",children:i.jsxs(jn,{cols:3,children:[i.jsx(re,{name:"counterpartyId",control:o,defaultValue:a.counterparty?.id,rules:{minLength:{value:2,message:"Minimum 2 characters"}},render:({field:v})=>i.jsxs(oe,{children:[i.jsx(ae,{children:"Counterparty"}),i.jsxs(Nn,{onValueChange:v.onChange,value:v.value??void 0,disabled:C,children:[i.jsx(ge,{children:i.jsx(On,{className:"w-full truncate",children:i.jsx(Tn,{placeholder:"Scroll to see all options"})})}),i.jsx(Wn,{onClick:y=>y.stopPropagation(),children:g.map(({value:y,label:k})=>i.jsx(En,{value:y,children:k},y))})]}),i.jsx(le,{})]})}),a?.account.__typename==="CardFinancialAccount"?i.jsx(re,{name:"effectiveDate",control:o,rules:{pattern:{value:Dt,message:"Date must be im format yyyy-mm-dd"}},render:({field:v})=>i.jsxs(oe,{children:[i.jsx(ae,{children:"Effective Date"}),i.jsx(ge,{children:i.jsx(Go,{...v,onChange:y=>{const k=y?ue(y,"yyyy-MM-dd"):void 0;k!==v.value&&v.onChange(k)},value:v.value?new Date(v.value):void 0})}),i.jsx(le,{})]})}):i.jsx(i.Fragment,{}),i.jsx(re,{name:"isFee",control:o,defaultValue:a.isFee,render:({field:v})=>i.jsxs(oe,{className:"flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm",children:[i.jsx("div",{className:"space-y-0.5",children:i.jsx(ae,{children:"Fee Transaction"})}),i.jsx(ge,{children:i.jsx(_n,{checked:v.value===!0,onCheckedChange:v.onChange})})]})})]})}),i.jsxs("div",{className:"mt-10 mb-5 flex justify-center gap-5",children:[i.jsx("button",{type:"submit",onClick:()=>l(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"}),i.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"})]})]})})]})},or="insertMiscExpense",ar=()=>{const[{fetching:e},t]=Fn(Yn),n=S.useCallback(async s=>{const r="Error creating misc expense",a=`${or}-${s.chargeId}`;Ee.loading("Creating misc expense",{id:a});try{const c=await t(s),o=Pn(c,r,a);if(o)return Ee.success("Success",{id:a,description:"Misc expense was created"}),o.insertMiscExpense}catch(c){console.error(`${r}: ${c}`),Ee.error("Error",{id:a,description:r,duration:1e5,closeButton:!0})}},[t]);return{fetching:e,insertMiscExpense:n}},ir=({onDone:e,defaultValues:t={},chargeId:n})=>{const{insertMiscExpense:s,fetching:r}=ar(),a=S.useCallback(async c=>{await s({chargeId:n,fields:c}),e()},[s,n,e]);return i.jsx(cr,{defaultValues:t,onInsertDone:a,fetching:r})},cr=({onInsertDone:e,defaultValues:t,fetching:n})=>{const s=o=>{o&&Object.keys(o).length>0&&e(o)},r=xt({defaultValues:{...t}}),{handleSubmit:a,formState:{dirtyFields:c}}=r;return i.jsx(bt,{...r,children:i.jsx("form",{onSubmit:a(s),noValidate:!0,children:i.jsxs("div",{className:"px-5 flex flex-col gap-5 relative",children:[n&&i.jsx("div",{className:"absolute bg-white/60 z-10 h-full w-full flex items-center justify-center",children:i.jsx("div",{className:"flex items-center",children:i.jsx("span",{className:"text-3xl mr-4",children:i.jsx(Bn,{className:"h-10 w-10 animate-spin mr-2 self-center"})})})}),i.jsx(lr,{formManager:r,isInsert:!0}),i.jsx("div",{className:"flex justify-right gap-5 mt-5",children:i.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:n||Object.keys(c).length===0,children:"Accept"})})]})})})},lr=({formManager:e,isInsert:t})=>{const{control:n,setValue:s}=e,{selectableFinancialEntities:r,fetching:a}=vt();return i.jsxs(i.Fragment,{children:[i.jsx(re,{name:"creditorId",control:n,rules:{required:t?"Required":void 0},render:({field:c})=>i.jsxs(oe,{children:[i.jsx(ae,{children:"Creditor"}),i.jsx(et,{...c,data:r,value:c.value??void 0,disabled:a,placeholder:"Select creditor",formPart:!0}),i.jsx(le,{})]})}),i.jsx(re,{name:"debtorId",control:n,rules:{required:t?"Required":void 0},render:({field:c})=>i.jsxs(oe,{children:[i.jsx(ae,{children:"Debtor"}),i.jsx(et,{...c,data:r,value:c.value??void 0,disabled:a,placeholder:"Select debtor",formPart:!0}),i.jsx(le,{})]})}),i.jsx(tt,{name:"amount",control:n,rules:{required:t?"Required":void 0},render:({field:c,fieldState:o})=>i.jsx(tt,{name:"currency",control:n,rules:{required:t?"Required":void 0},render:({field:l,fieldState:d})=>i.jsx(Rn,{...c,required:t,value:c.value??void 0,error:o.error?.message||d.error?.message,label:"Amount",currencyCodeProps:{...l,required:t,label:"Currency"}})})}),i.jsx(re,{name:"invoiceDate",control:n,rules:{...t?{required:"Required"}:{},pattern:{value:Dt,message:"Date must be im format yyyy-mm-dd"}},render:({field:c})=>{const o=c.value?new Date(c.value):void 0;return i.jsxs(oe,{children:[i.jsx(ae,{children:"Invoice Date"}),i.jsx(ge,{children:i.jsx(zn,{...c,required:t,onChange:l=>{const d=l?typeof l=="string"?l:ue(l,"yyyy-MM-dd"):void 0;d!==c.value&&(s("invoiceDate",d),c.onChange(d))},value:o,valueFormat:"DD/MM/YYYY"})}),i.jsx(le,{})]})}}),i.jsx(re,{name:"valueDate",control:n,rules:{...t?{required:"Required"}:{},validate:c=>c?!Number.isNaN(c.getTime())||"Invalid date and time format":!0},render:({field:c})=>i.jsxs(oe,{children:[i.jsx(ae,{children:"Value Date"}),i.jsx(ge,{children:i.jsx(An,{...c,onChange:o=>{s("valueDate",o),c.onChange(o)},onPointerEnterCapture:()=>{},onPointerLeaveCapture:()=>{},required:t,placeholder:"Pick date and time",valueFormat:"DD/MM/YYYY HH:mm:ss",withSeconds:!0})}),i.jsx(le,{})]})}),i.jsx(re,{name:"description",control:n,rules:{required:t?"Required":void 0},render:({field:c})=>i.jsxs(oe,{children:[i.jsx(ae,{children:"Description"}),i.jsx(ge,{children:i.jsx(kt,{...c,required:t,value:c.value??void 0})}),i.jsx(le,{})]})})]})};function dr(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const ur={},ye={};function de(e,t){try{const s=(ur[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return s in ye?ye[s]:ot(s,s.split(":"))}catch{if(e in ye)return ye[e];const n=e?.match(fr);return n?ot(e,n.slice(1)):NaN}}const fr=/([+-]\d\d):?(\d\d)?/;function ot(e,t){const n=+(t[0]||0),s=+(t[1]||0),r=+(t[2]||0)/60;return ye[e]=n*60+s>0?n*60+s+r:n*60-s-r}class J extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(de(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)),jt(this),He(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new J(...n,t):new J(Date.now(),t)}withTimeZone(t){return new J(+this,t)}getTimezoneOffset(){const t=-de(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),He(this),+this}[Symbol.for("constructDateFrom")](t){return new J(+new Date(t),this.timeZone)}}const at=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!at.test(e))return;const t=e.replace(at,"$1UTC");J.prototype[t]&&(e.startsWith("get")?J.prototype[e]=function(){return this.internal[t]()}:(J.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),hr(this),+this},J.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),He(this),+this}))});function He(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-de(e.timeZone,e)*60))}function hr(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()),jt(e)}function jt(e){const t=de(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),s=new Date(+e);s.setUTCHours(s.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),a=-new Date(+s).getTimezoneOffset(),c=r-a,o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();c&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+c);const l=r-n;l&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const d=new Date(+e);d.setUTCSeconds(0);const f=r>0?d.getSeconds():(d.getSeconds()-60)%60,u=Math.round(-(de(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=de(e.timeZone,e),g=h>0?Math.floor(h):Math.ceil(h),v=-new Date(+e).getTimezoneOffset()-g,y=g!==n,k=v-l;if(y&&k){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+k);const W=de(e.timeZone,e),b=W>0?Math.floor(W):Math.ceil(W),T=g-b;T&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+T),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+T))}}class P extends J{static tz(t,...n){return n.length?new P(...n,t):new P(Date.now(),t)}toISOString(){const[t,n,s]=this.tzComponents(),r=`${t}${n}:${s}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,s,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${s} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,s,r]=this.tzComponents();return`${t} GMT${n}${s}${r} (${dr(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",s=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,s,r]}withTimeZone(t){return new P(+this,t)}[Symbol.for("constructDateFrom")](t){return new P(+new Date(t),this.timeZone)}}const it=5,mr=4;function gr(e,t){const n=t.startOfMonth(e),s=n.getDay()>0?n.getDay():7,r=t.addDays(e,-s+1),a=t.addDays(r,it*7-1);return t.getMonth(e)===t.getMonth(a)?it:mr}function Nt(e,t){const n=t.startOfMonth(e),s=n.getDay();return s===1?n:s===0?t.addDays(n,-6):t.addDays(n,-1*(s-1))}function yr(e,t){const n=Nt(e,t),s=gr(e,t);return t.addDays(n,s*7-1)}class ${constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?P.tz(this.options.timeZone):new this.Date,this.newDate=(s,r,a)=>this.overrides?.newDate?this.overrides.newDate(s,r,a):this.options.timeZone?new P(s,r,a,this.options.timeZone):new Date(s,r,a),this.addDays=(s,r)=>this.overrides?.addDays?this.overrides.addDays(s,r):wt(s,r),this.addMonths=(s,r)=>this.overrides?.addMonths?this.overrides.addMonths(s,r):qn(s,r),this.addWeeks=(s,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(s,r):Ps(s,r),this.addYears=(s,r)=>this.overrides?.addYears?this.overrides.addYears(s,r):Hn(s,r),this.differenceInCalendarDays=(s,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(s,r):$n(s,r),this.differenceInCalendarMonths=(s,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(s,r):As(s,r),this.eachMonthOfInterval=s=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(s):Hs(s),this.eachYearOfInterval=s=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(s):Zs(s),a=new Set(r.map(o=>this.getYear(o)));if(a.size===r.length)return r;const c=[];return a.forEach(o=>{c.push(new Date(o,0,1))}),c},this.endOfBroadcastWeek=s=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(s):yr(s,this),this.endOfISOWeek=s=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(s):Us(s),this.endOfMonth=s=>this.overrides?.endOfMonth?this.overrides.endOfMonth(s):qs(s),this.endOfWeek=(s,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(s,r):St(s,this.options),this.endOfYear=s=>this.overrides?.endOfYear?this.overrides.endOfYear(s):Zn(s),this.format=(s,r,a)=>{const c=this.overrides?.format?this.overrides.format(s,r,this.options):ue(s,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(c):c},this.getISOWeek=s=>this.overrides?.getISOWeek?this.overrides.getISOWeek(s):Un(s),this.getMonth=(s,r)=>this.overrides?.getMonth?this.overrides.getMonth(s,this.options):Ks(s,this.options),this.getYear=(s,r)=>this.overrides?.getYear?this.overrides.getYear(s,this.options):Gs(s,this.options),this.getWeek=(s,r)=>this.overrides?.getWeek?this.overrides.getWeek(s,this.options):Ln(s,this.options),this.isAfter=(s,r)=>this.overrides?.isAfter?this.overrides.isAfter(s,r):Vs(s,r),this.isBefore=(s,r)=>this.overrides?.isBefore?this.overrides.isBefore(s,r):Js(s,r),this.isDate=s=>this.overrides?.isDate?this.overrides.isDate(s):Kn(s),this.isSameDay=(s,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(s,r):zs(s,r),this.isSameMonth=(s,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(s,r):Qs(s,r),this.isSameYear=(s,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(s,r):Xs(s,r),this.max=s=>this.overrides?.max?this.overrides.max(s):Bs(s),this.min=s=>this.overrides?.min?this.overrides.min(s):Rs(s),this.setMonth=(s,r)=>this.overrides?.setMonth?this.overrides.setMonth(s,r):er(s,r),this.setYear=(s,r)=>this.overrides?.setYear?this.overrides.setYear(s,r):tr(s,r),this.startOfBroadcastWeek=(s,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(s,this):Nt(s,this),this.startOfDay=s=>this.overrides?.startOfDay?this.overrides.startOfDay(s):qe(s),this.startOfISOWeek=s=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(s):Gn(s),this.startOfMonth=s=>this.overrides?.startOfMonth?this.overrides.startOfMonth(s):$s(s),this.startOfWeek=(s,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(s,this.options):Vn(s,this.options),this.startOfYear=s=>this.overrides?.startOfYear?this.overrides.startOfYear(s):Jn(s),this.options={locale:Mt,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),s={};for(let r=0;r<10;r++)s[r.toString()]=n.format(r);return s}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,s=>n[s]||s)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&$.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:s,numerals:r}=this.options,a=n?.code;if(a&&$.yearFirstLocales.has(a))try{return new Intl.DateTimeFormat(a,{month:"long",year:"numeric",timeZone:s,numberingSystem:r}).format(t)}catch{}const c=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,c)}}$.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 Q=new $;class Ot{constructor(t,n,s=Q){this.date=t,this.displayMonth=n,this.outside=!!(n&&!s.isSameMonth(t,n)),this.dateLib=s}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class pr{constructor(t,n){this.date=t,this.weeks=n}}class xr{constructor(t,n){this.days=n,this.weekNumber=t}}function vr(e){return m.createElement("button",{...e})}function br(e){return m.createElement("span",{...e})}function Dr(e){const{size:t=24,orientation:n="left",className:s}=e;return m.createElement("svg",{className:s,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&m.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&m.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&m.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&m.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function kr(e){const{day:t,modifiers:n,...s}=e;return m.createElement("td",{...s})}function Mr(e){const{day:t,modifiers:n,...s}=e,r=m.useRef(null);return m.useEffect(()=>{n.focused&&r.current?.focus()},[n.focused]),m.createElement("button",{ref:r,...s})}var p;(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"})(p||(p={}));var F;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(F||(F={}));var K;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(K||(K={}));var H;(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"})(H||(H={}));function wr(e){const{options:t,className:n,components:s,classNames:r,...a}=e,c=[r[p.Dropdown],n].join(" "),o=t?.find(({value:l})=>l===a.value);return m.createElement("span",{"data-disabled":a.disabled,className:r[p.DropdownRoot]},m.createElement(s.Select,{className:c,...a},t?.map(({value:l,label:d,disabled:f})=>m.createElement(s.Option,{key:l,value:l,disabled:f},d))),m.createElement("span",{className:r[p.CaptionLabel],"aria-hidden":!0},o?.label,m.createElement(s.Chevron,{orientation:"down",size:18,className:r[p.Chevron]})))}function Cr(e){return m.createElement("div",{...e})}function Sr(e){return m.createElement("div",{...e})}function jr(e){const{calendarMonth:t,displayIndex:n,...s}=e;return m.createElement("div",{...s},e.children)}function Nr(e){const{calendarMonth:t,displayIndex:n,...s}=e;return m.createElement("div",{...s})}function Or(e){return m.createElement("table",{...e})}function Tr(e){return m.createElement("div",{...e})}const Tt=S.createContext(void 0);function xe(){const e=S.useContext(Tt);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Wr(e){const{components:t}=xe();return m.createElement(t.Dropdown,{...e})}function Er(e){const{onPreviousClick:t,onNextClick:n,previousMonth:s,nextMonth:r,...a}=e,{components:c,classNames:o,labels:{labelPrevious:l,labelNext:d}}=xe(),f=S.useCallback(h=>{r&&n?.(h)},[r,n]),u=S.useCallback(h=>{s&&t?.(h)},[s,t]);return m.createElement("nav",{...a},m.createElement(c.PreviousMonthButton,{type:"button",className:o[p.PreviousMonthButton],tabIndex:s?void 0:-1,"aria-disabled":s?void 0:!0,"aria-label":l(s),onClick:u},m.createElement(c.Chevron,{disabled:s?void 0:!0,className:o[p.Chevron],orientation:"left"})),m.createElement(c.NextMonthButton,{type:"button",className:o[p.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:f},m.createElement(c.Chevron,{disabled:r?void 0:!0,orientation:"right",className:o[p.Chevron]})))}function _r(e){const{components:t}=xe();return m.createElement(t.Button,{...e})}function Ir(e){return m.createElement("option",{...e})}function Fr(e){const{components:t}=xe();return m.createElement(t.Button,{...e})}function Yr(e){const{rootRef:t,...n}=e;return m.createElement("div",{...n,ref:t})}function Pr(e){return m.createElement("select",{...e})}function Br(e){const{week:t,...n}=e;return m.createElement("tr",{...n})}function Rr(e){return m.createElement("th",{...e})}function zr(e){return m.createElement("thead",{"aria-hidden":!0},m.createElement("tr",{...e}))}function Ar(e){const{week:t,...n}=e;return m.createElement("th",{...n})}function qr(e){return m.createElement("th",{...e})}function Hr(e){return m.createElement("tbody",{...e})}function $r(e){const{components:t}=xe();return m.createElement(t.Dropdown,{...e})}const Zr=Object.freeze(Object.defineProperty({__proto__:null,Button:vr,CaptionLabel:br,Chevron:Dr,Day:kr,DayButton:Mr,Dropdown:wr,DropdownNav:Cr,Footer:Sr,Month:jr,MonthCaption:Nr,MonthGrid:Or,Months:Tr,MonthsDropdown:Wr,Nav:Er,NextMonthButton:_r,Option:Ir,PreviousMonthButton:Fr,Root:Yr,Select:Pr,Week:Br,WeekNumber:Ar,WeekNumberHeader:qr,Weekday:Rr,Weekdays:zr,Weeks:Hr,YearsDropdown:$r},Symbol.toStringTag,{value:"Module"}));function ee(e,t,n=!1,s=Q){let{from:r,to:a}=e;const{differenceInCalendarDays:c,isSameDay:o}=s;return r&&a?(c(a,r)<0&&([r,a]=[a,r]),c(t,r)>=(n?1:0)&&c(a,t)>=(n?1:0)):!n&&a?o(a,t):!n&&r?o(r,t):!1}function Wt(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Ue(e){return!!(e&&typeof e=="object"&&"from"in e)}function Et(e){return!!(e&&typeof e=="object"&&"after"in e)}function _t(e){return!!(e&&typeof e=="object"&&"before"in e)}function It(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Ft(e,t){return Array.isArray(e)&&e.every(t.isDate)}function te(e,t,n=Q){const s=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:a,isAfter:c}=n;return s.some(o=>{if(typeof o=="boolean")return o;if(n.isDate(o))return r(e,o);if(Ft(o,n))return o.includes(e);if(Ue(o))return ee(o,e,!1,n);if(It(o))return Array.isArray(o.dayOfWeek)?o.dayOfWeek.includes(e.getDay()):o.dayOfWeek===e.getDay();if(Wt(o)){const l=a(o.before,e),d=a(o.after,e),f=l>0,u=d<0;return c(o.before,o.after)?u&&f:f||u}return Et(o)?a(e,o.after)>0:_t(o)?a(o.before,e)>0:typeof o=="function"?o(e):!1})}function Ur(e,t,n,s,r){const{disabled:a,hidden:c,modifiers:o,showOutsideDays:l,broadcastCalendar:d,today:f}=t,{isSameDay:u,isSameMonth:h,startOfMonth:g,isBefore:C,endOfMonth:v,isAfter:y}=r,k=n&&g(n),W=s&&v(s),b={[F.focused]:[],[F.outside]:[],[F.disabled]:[],[F.hidden]:[],[F.today]:[]},T={};for(const x of e){const{date:D,displayMonth:M}=x,O=!!(M&&!h(D,M)),Y=!!(k&&C(D,k)),B=!!(W&&y(D,W)),R=!!(a&&te(D,a,r)),Z=!!(c&&te(D,c,r))||Y||B||!d&&!l&&O||d&&l===!1&&O,fe=u(D,f??r.today());O&&b.outside.push(x),R&&b.disabled.push(x),Z&&b.hidden.push(x),fe&&b.today.push(x),o&&Object.keys(o).forEach(he=>{const me=o?.[he];me&&te(D,me,r)&&(T[he]?T[he].push(x):T[he]=[x])})}return x=>{const D={[F.focused]:!1,[F.disabled]:!1,[F.hidden]:!1,[F.outside]:!1,[F.today]:!1},M={};for(const O in b){const Y=b[O];D[O]=Y.some(B=>B===x)}for(const O in T)M[O]=T[O].some(Y=>Y===x);return{...D,...M}}}function Lr(e,t,n={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[a])=>(n[a]?r.push(n[a]):t[F[a]]?r.push(t[F[a]]):t[K[a]]&&r.push(t[K[a]]),r),[t[p.Day]])}function Kr(e){return{...Zr,...e}}function Gr(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(([n,s])=>{n.startsWith("data-")&&(t[n]=s)}),t}function Le(){const e={};for(const t in p)e[p[t]]=`rdp-${p[t]}`;for(const t in F)e[F[t]]=`rdp-${F[t]}`;for(const t in K)e[K[t]]=`rdp-${K[t]}`;for(const t in H)e[H[t]]=`rdp-${H[t]}`;return e}function Yt(e,t,n){return(n??new $(t)).formatMonthYear(e)}const Vr=Yt;function Jr(e,t,n){return(n??new $(t)).format(e,"d")}function Qr(e,t=Q){return t.format(e,"LLLL")}function Xr(e,t,n){return(n??new $(t)).format(e,"cccccc")}function eo(e,t=Q){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function to(){return""}function Pt(e,t=Q){return t.format(e,"yyyy")}const no=Pt,so=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Yt,formatDay:Jr,formatMonthCaption:Vr,formatMonthDropdown:Qr,formatWeekNumber:eo,formatWeekNumberHeader:to,formatWeekdayName:Xr,formatYearCaption:no,formatYearDropdown:Pt},Symbol.toStringTag,{value:"Module"}));function ro(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...so,...e}}function oo(e,t,n,s,r){const{startOfMonth:a,startOfYear:c,endOfYear:o,eachMonthOfInterval:l,getMonth:d}=r;return l({start:c(e),end:o(e)}).map(h=>{const g=s.formatMonthDropdown(h,r),C=d(h),v=t&&h<a(t)||n&&h>a(n)||!1;return{value:C,label:g,disabled:v}})}function ao(e,t={},n={}){let s={...t?.[p.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{s={...s,...n?.[r]}}),s}function io(e,t,n){const s=e.today(),r=t?e.startOfISOWeek(s):e.startOfWeek(s),a=[];for(let c=0;c<7;c++){const o=e.addDays(r,c);a.push(o)}return a}function co(e,t,n,s,r=!1){if(!e||!t)return;const{startOfYear:a,endOfYear:c,eachYearOfInterval:o,getYear:l}=s,d=a(e),f=c(t),u=o({start:d,end:f});return r&&u.reverse(),u.map(h=>{const g=n.formatYearDropdown(h,s);return{value:l(h),label:g,disabled:!1}})}function Bt(e,t,n,s){let r=(s??new $(n)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const lo=Bt;function Rt(e,t,n){return(n??new $(t)).formatMonthYear(e)}const uo=Rt;function fo(e,t,n,s){let r=(s??new $(n)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function ho(e){return"Choose the Month"}function mo(){return""}function go(e){return"Go to the Next Month"}function yo(e){return"Go to the Previous Month"}function po(e,t,n){return(n??new $(t)).format(e,"cccc")}function xo(e,t){return`Week ${e}`}function vo(e){return"Week Number"}function bo(e){return"Choose the Year"}const Do=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:uo,labelDay:lo,labelDayButton:Bt,labelGrid:Rt,labelGridcell:fo,labelMonthDropdown:ho,labelNav:mo,labelNext:go,labelPrevious:yo,labelWeekNumber:xo,labelWeekNumberHeader:vo,labelWeekday:po,labelYearDropdown:bo},Symbol.toStringTag,{value:"Module"})),ve=e=>e instanceof HTMLElement?e:null,Ie=e=>[...e.querySelectorAll("[data-animated-month]")??[]],ko=e=>ve(e.querySelector("[data-animated-month]")),Fe=e=>ve(e.querySelector("[data-animated-caption]")),Ye=e=>ve(e.querySelector("[data-animated-weeks]")),Mo=e=>ve(e.querySelector("[data-animated-nav]")),wo=e=>ve(e.querySelector("[data-animated-weekdays]"));function Co(e,t,{classNames:n,months:s,focused:r,dateLib:a}){const c=S.useRef(null),o=S.useRef(s),l=S.useRef(!1);S.useLayoutEffect(()=>{const d=o.current;if(o.current=s,!t||!e.current||!(e.current instanceof HTMLElement)||s.length===0||d.length===0||s.length!==d.length)return;const f=a.isSameMonth(s[0].date,d[0].date),u=a.isAfter(s[0].date,d[0].date),h=u?n[H.caption_after_enter]:n[H.caption_before_enter],g=u?n[H.weeks_after_enter]:n[H.weeks_before_enter],C=c.current,v=e.current.cloneNode(!0);if(v instanceof HTMLElement?(Ie(v).forEach(b=>{if(!(b instanceof HTMLElement))return;const T=ko(b);T&&b.contains(T)&&b.removeChild(T);const x=Fe(b);x&&x.classList.remove(h);const D=Ye(b);D&&D.classList.remove(g)}),c.current=v):c.current=null,l.current||f||r)return;const y=C instanceof HTMLElement?Ie(C):[],k=Ie(e.current);if(k?.every(W=>W instanceof HTMLElement)&&y&&y.every(W=>W instanceof HTMLElement)){l.current=!0,e.current.style.isolation="isolate";const W=Mo(e.current);W&&(W.style.zIndex="1"),k.forEach((b,T)=>{const x=y[T];if(!x)return;b.style.position="relative",b.style.overflow="hidden";const D=Fe(b);D&&D.classList.add(h);const M=Ye(b);M&&M.classList.add(g);const O=()=>{l.current=!1,e.current&&(e.current.style.isolation=""),W&&(W.style.zIndex=""),D&&D.classList.remove(h),M&&M.classList.remove(g),b.style.position="",b.style.overflow="",b.contains(x)&&b.removeChild(x)};x.style.pointerEvents="none",x.style.position="absolute",x.style.overflow="hidden",x.setAttribute("aria-hidden","true");const Y=wo(x);Y&&(Y.style.opacity="0");const B=Fe(x);B&&(B.classList.add(u?n[H.caption_before_exit]:n[H.caption_after_exit]),B.addEventListener("animationend",O));const R=Ye(x);R&&R.classList.add(u?n[H.weeks_before_exit]:n[H.weeks_after_exit]),b.insertBefore(x,b.firstChild)})}})}function So(e,t,n,s){const r=e[0],a=e[e.length-1],{ISOWeek:c,fixedWeeks:o,broadcastCalendar:l}=n??{},{addDays:d,differenceInCalendarDays:f,differenceInCalendarMonths:u,endOfBroadcastWeek:h,endOfISOWeek:g,endOfMonth:C,endOfWeek:v,isAfter:y,startOfBroadcastWeek:k,startOfISOWeek:W,startOfWeek:b}=s,T=l?k(r,s):c?W(r):b(r),x=l?h(a):c?g(C(a)):v(C(a)),D=f(x,T),M=u(a,r)+1,O=[];for(let R=0;R<=D;R++){const Z=d(T,R);if(t&&y(Z,t))break;O.push(Z)}const B=(l?35:42)*M;if(o&&O.length<B){const R=B-O.length;for(let Z=0;Z<R;Z++){const fe=d(O[O.length-1],1);O.push(fe)}}return O}function jo(e){const t=[];return e.reduce((n,s)=>{const r=s.weeks.reduce((a,c)=>a.concat(c.days.slice()),t.slice());return n.concat(r.slice())},t.slice())}function No(e,t,n,s){const{numberOfMonths:r=1}=n,a=[];for(let c=0;c<r;c++){const o=s.addMonths(e,c);if(t&&o>t)break;a.push(o)}return a}function ct(e,t,n,s){const{month:r,defaultMonth:a,today:c=s.today(),numberOfMonths:o=1}=e;let l=r||a||c;const{differenceInCalendarMonths:d,addMonths:f,startOfMonth:u}=s;if(n&&d(n,l)<o-1){const h=-1*(o-1);l=f(n,h)}return t&&d(l,t)<0&&(l=t),u(l)}function Oo(e,t,n,s){const{addDays:r,endOfBroadcastWeek:a,endOfISOWeek:c,endOfMonth:o,endOfWeek:l,getISOWeek:d,getWeek:f,startOfBroadcastWeek:u,startOfISOWeek:h,startOfWeek:g}=s,C=e.reduce((v,y)=>{const k=n.broadcastCalendar?u(y,s):n.ISOWeek?h(y):g(y),W=n.broadcastCalendar?a(y):n.ISOWeek?c(o(y)):l(o(y)),b=t.filter(M=>M>=k&&M<=W),T=n.broadcastCalendar?35:42;if(n.fixedWeeks&&b.length<T){const M=t.filter(O=>{const Y=T-b.length;return O>W&&O<=r(W,Y)});b.push(...M)}const x=b.reduce((M,O)=>{const Y=n.ISOWeek?d(O):f(O),B=M.find(Z=>Z.weekNumber===Y),R=new Ot(O,y,s);return B?B.days.push(R):M.push(new xr(Y,[R])),M},[]),D=new pr(y,x);return v.push(D),v},[]);return n.reverseMonths?C.reverse():C}function To(e,t){let{startMonth:n,endMonth:s}=e;const{startOfYear:r,startOfDay:a,startOfMonth:c,endOfMonth:o,addYears:l,endOfYear:d,newDate:f,today:u}=t,{fromYear:h,toYear:g,fromMonth:C,toMonth:v}=e;!n&&C&&(n=C),!n&&h&&(n=t.newDate(h,0,1)),!s&&v&&(s=v),!s&&g&&(s=f(g,11,31));const y=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=c(n):h?n=f(h,0,1):!n&&y&&(n=r(l(e.today??u(),-100))),s?s=o(s):g?s=f(g,11,31):!s&&y&&(s=d(e.today??u())),[n&&a(n),s&&a(s)]}function Wo(e,t,n,s){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:a=1}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:l}=s,d=r?a:1,f=c(e);if(!t)return o(f,d);if(!(l(t,e)<a))return o(f,d)}function Eo(e,t,n,s){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:a}=n,{startOfMonth:c,addMonths:o,differenceInCalendarMonths:l}=s,d=r?a??1:1,f=c(e);if(!t)return o(f,-d);if(!(l(f,t)<=0))return o(f,-d)}function _o(e){const t=[];return e.reduce((n,s)=>n.concat(s.weeks.slice()),t.slice())}function Me(e,t){const[n,s]=S.useState(e);return[t===void 0?n:t,s]}function Io(e,t){const[n,s]=To(e,t),{startOfMonth:r,endOfMonth:a}=t,c=ct(e,n,s,t),[o,l]=Me(c,e.month?c:void 0);S.useEffect(()=>{const D=ct(e,n,s,t);l(D)},[e.timeZone]);const d=No(o,s,e,t),f=So(d,e.endMonth?a(e.endMonth):void 0,e,t),u=Oo(d,f,e,t),h=_o(u),g=jo(u),C=Eo(o,n,e,t),v=Wo(o,s,e,t),{disableNavigation:y,onMonthChange:k}=e,W=D=>h.some(M=>M.days.some(O=>O.isEqualTo(D))),b=D=>{if(y)return;let M=r(D);n&&M<r(n)&&(M=r(n)),s&&M>r(s)&&(M=r(s)),l(M),k?.(M)};return{months:u,weeks:h,days:g,navStart:n,navEnd:s,previousMonth:C,nextMonth:v,goToMonth:b,goToDay:D=>{W(D)||b(D.date)}}}var V;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(V||(V={}));function lt(e){return!e[F.disabled]&&!e[F.hidden]&&!e[F.outside]}function Fo(e,t,n,s){let r,a=-1;for(const c of e){const o=t(c);lt(o)&&(o[F.focused]&&a<V.FocusedModifier?(r=c,a=V.FocusedModifier):s?.isEqualTo(c)&&a<V.LastFocused?(r=c,a=V.LastFocused):n(c.date)&&a<V.Selected?(r=c,a=V.Selected):o[F.today]&&a<V.Today&&(r=c,a=V.Today))}return r||(r=e.find(c=>lt(t(c)))),r}function Yo(e,t,n,s,r,a,c){const{ISOWeek:o,broadcastCalendar:l}=a,{addDays:d,addMonths:f,addWeeks:u,addYears:h,endOfBroadcastWeek:g,endOfISOWeek:C,endOfWeek:v,max:y,min:k,startOfBroadcastWeek:W,startOfISOWeek:b,startOfWeek:T}=c;let D={day:d,week:u,month:f,year:h,startOfWeek:M=>l?W(M,c):o?b(M):T(M),endOfWeek:M=>l?g(M):o?C(M):v(M)}[e](n,t==="after"?1:-1);return t==="before"&&s?D=y([s,D]):t==="after"&&r&&(D=k([r,D])),D}function zt(e,t,n,s,r,a,c,o=0){if(o>365)return;const l=Yo(e,t,n.date,s,r,a,c),d=!!(a.disabled&&te(l,a.disabled,c)),f=!!(a.hidden&&te(l,a.hidden,c)),u=l,h=new Ot(l,u,c);return!d&&!f?h:zt(e,t,h,s,r,a,c,o+1)}function Po(e,t,n,s,r){const{autoFocus:a}=e,[c,o]=S.useState(),l=Fo(t.days,n,s||(()=>!1),c),[d,f]=S.useState(a?l:void 0);return{isFocusTarget:v=>!!l?.isEqualTo(v),setFocused:f,focused:d,blur:()=>{o(d),f(void 0)},moveFocus:(v,y)=>{if(!d)return;const k=zt(v,y,d,t.navStart,t.navEnd,e,r);k&&(e.disableNavigation&&!t.days.some(b=>b.isEqualTo(k))||(t.goToDay(k),f(k)))}}}function Bo(e,t){const{selected:n,required:s,onSelect:r}=e,[a,c]=Me(n,r?n:void 0),o=r?n:a,{isSameDay:l}=t,d=g=>o?.some(C=>l(C,g))??!1,{min:f,max:u}=e;return{selected:o,select:(g,C,v)=>{let y=[...o??[]];if(d(g)){if(o?.length===f||s&&o?.length===1)return;y=o?.filter(k=>!l(k,g))}else o?.length===u?y=[g]:y=[...y,g];return r||c(y),r?.(y,g,C,v),y},isSelected:d}}function Ro(e,t,n=0,s=0,r=!1,a=Q){const{from:c,to:o}=t||{},{isSameDay:l,isAfter:d,isBefore:f}=a;let u;if(!c&&!o)u={from:e,to:n>0?void 0:e};else if(c&&!o)l(c,e)?n===0?u={from:c,to:e}:r?u={from:c,to:void 0}:u=void 0:f(e,c)?u={from:e,to:c}:u={from:c,to:e};else if(c&&o)if(l(c,e)&&l(o,e))r?u={from:c,to:o}:u=void 0;else if(l(c,e))u={from:c,to:n>0?void 0:e};else if(l(o,e))u={from:e,to:n>0?void 0:e};else if(f(e,c))u={from:e,to:o};else if(d(e,c))u={from:c,to:e};else if(d(e,o))u={from:c,to:e};else throw new Error("Invalid range");if(u?.from&&u?.to){const h=a.differenceInCalendarDays(u.to,u.from);s>0&&h>s?u={from:e,to:void 0}:n>1&&h<n&&(u={from:e,to:void 0})}return u}function zo(e,t,n=Q){const s=Array.isArray(t)?t:[t];let r=e.from;const a=n.differenceInCalendarDays(e.to,e.from),c=Math.min(a,6);for(let o=0;o<=c;o++){if(s.includes(r.getDay()))return!0;r=n.addDays(r,1)}return!1}function dt(e,t,n=Q){return ee(e,t.from,!1,n)||ee(e,t.to,!1,n)||ee(t,e.from,!1,n)||ee(t,e.to,!1,n)}function Ao(e,t,n=Q){const s=Array.isArray(t)?t:[t];if(s.filter(o=>typeof o!="function").some(o=>typeof o=="boolean"?o:n.isDate(o)?ee(e,o,!1,n):Ft(o,n)?o.some(l=>ee(e,l,!1,n)):Ue(o)?o.from&&o.to?dt(e,{from:o.from,to:o.to},n):!1:It(o)?zo(e,o.dayOfWeek,n):Wt(o)?n.isAfter(o.before,o.after)?dt(e,{from:n.addDays(o.after,1),to:n.addDays(o.before,-1)},n):te(e.from,o,n)||te(e.to,o,n):Et(o)||_t(o)?te(e.from,o,n)||te(e.to,o,n):!1))return!0;const c=s.filter(o=>typeof o=="function");if(c.length){let o=e.from;const l=n.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=l;d++){if(c.some(f=>f(o)))return!0;o=n.addDays(o,1)}}return!1}function qo(e,t){const{disabled:n,excludeDisabled:s,selected:r,required:a,onSelect:c}=e,[o,l]=Me(r,c?r:void 0),d=c?r:o;return{selected:d,select:(h,g,C)=>{const{min:v,max:y}=e,k=h?Ro(h,d,v,y,a,t):void 0;return s&&n&&k?.from&&k.to&&Ao({from:k.from,to:k.to},n,t)&&(k.from=h,k.to=void 0),c||l(k),c?.(k,h,g,C),k},isSelected:h=>d&&ee(d,h,!1,t)}}function Ho(e,t){const{selected:n,required:s,onSelect:r}=e,[a,c]=Me(n,r?n:void 0),o=r?n:a,{isSameDay:l}=t;return{selected:o,select:(u,h,g)=>{let C=u;return!s&&o&&o&&l(u,o)&&(C=void 0),r||c(C),r?.(C,u,h,g),C},isSelected:u=>o?l(o,u):!1}}function $o(e,t){const n=Ho(e,t),s=Bo(e,t),r=qo(e,t);switch(e.mode){case"single":return n;case"multiple":return s;case"range":return r;default:return}}function Zo(e){let t=e;t.timeZone&&(t={...e},t.today&&(t.today=new P(t.today,t.timeZone)),t.month&&(t.month=new P(t.month,t.timeZone)),t.defaultMonth&&(t.defaultMonth=new P(t.defaultMonth,t.timeZone)),t.startMonth&&(t.startMonth=new P(t.startMonth,t.timeZone)),t.endMonth&&(t.endMonth=new P(t.endMonth,t.timeZone)),t.mode==="single"&&t.selected?t.selected=new P(t.selected,t.timeZone):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(j=>new P(j,t.timeZone)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?new P(t.selected.from,t.timeZone):void 0,to:t.selected.to?new P(t.selected.to,t.timeZone):void 0}));const{components:n,formatters:s,labels:r,dateLib:a,locale:c,classNames:o}=S.useMemo(()=>{const j={...Mt,...t.locale};return{dateLib:new $({locale:j,weekStartsOn:t.broadcastCalendar?1:t.weekStartsOn,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},t.dateLib),components:Kr(t.components),formatters:ro(t.formatters),labels:{...Do,...t.labels},locale:j,classNames:{...Le(),...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]),{captionLayout:l,mode:d,navLayout:f,numberOfMonths:u=1,onDayBlur:h,onDayClick:g,onDayFocus:C,onDayKeyDown:v,onDayMouseEnter:y,onDayMouseLeave:k,onNextClick:W,onPrevClick:b,showWeekNumber:T,styles:x}=t,{formatCaption:D,formatDay:M,formatMonthDropdown:O,formatWeekNumber:Y,formatWeekNumberHeader:B,formatWeekdayName:R,formatYearDropdown:Z}=s,fe=Io(t,a),{days:he,months:me,navStart:be,navEnd:we,previousMonth:U,nextMonth:L,goToMonth:X}=fe,Ce=Ur(he,t,be,we,a),{isSelected:Se,select:je,selected:De}=$o(t,a)??{},{blur:Ke,focused:Ge,isFocusTarget:Ut,moveFocus:Ve,setFocused:ke}=Po(t,fe,Ce,Se??(()=>!1),a),{labelDayButton:Lt,labelGridcell:Kt,labelGrid:Gt,labelMonthDropdown:Vt,labelNav:Je,labelPrevious:Jt,labelNext:Qt,labelWeekday:Xt,labelWeekNumber:en,labelWeekNumberHeader:tn,labelYearDropdown:nn}=r,sn=S.useMemo(()=>io(a,t.ISOWeek),[a,t.ISOWeek]),Qe=d!==void 0||g!==void 0,Ne=S.useCallback(()=>{U&&(X(U),b?.(U))},[U,X,b]),Oe=S.useCallback(()=>{L&&(X(L),W?.(L))},[X,L,W]),rn=S.useCallback((j,I)=>w=>{w.preventDefault(),w.stopPropagation(),ke(j),je?.(j.date,I,w),g?.(j.date,I,w)},[je,g,ke]),on=S.useCallback((j,I)=>w=>{ke(j),C?.(j.date,I,w)},[C,ke]),an=S.useCallback((j,I)=>w=>{Ke(),h?.(j.date,I,w)},[Ke,h]),cn=S.useCallback((j,I)=>w=>{const _={ArrowLeft:[w.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[w.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[w.shiftKey?"year":"week","after"],ArrowUp:[w.shiftKey?"year":"week","before"],PageUp:[w.shiftKey?"year":"month","before"],PageDown:[w.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(_[w.key]){w.preventDefault(),w.stopPropagation();const[q,E]=_[w.key];Ve(q,E)}v?.(j.date,I,w)},[Ve,v,t.dir]),ln=S.useCallback((j,I)=>w=>{y?.(j.date,I,w)},[y]),dn=S.useCallback((j,I)=>w=>{k?.(j.date,I,w)},[k]),un=S.useCallback(j=>I=>{const w=Number(I.target.value),_=a.setMonth(a.startOfMonth(j),w);X(_)},[a,X]),fn=S.useCallback(j=>I=>{const w=Number(I.target.value),_=a.setYear(a.startOfMonth(j),w);X(_)},[a,X]),{className:hn,style:mn}=S.useMemo(()=>({className:[o[p.Root],t.className].filter(Boolean).join(" "),style:{...x?.[p.Root],...t.style}}),[o,t.className,t.style,x]),gn=Gr(t),Xe=S.useRef(null);Co(Xe,!!t.animate,{classNames:o,months:me,focused:Ge,dateLib:a});const yn={dayPickerProps:t,selected:De,select:je,isSelected:Se,months:me,nextMonth:L,previousMonth:U,goToMonth:X,getModifiers:Ce,components:n,classNames:o,styles:x,labels:r,formatters:s};return m.createElement(Tt.Provider,{value:yn},m.createElement(n.Root,{rootRef:t.animate?Xe:void 0,className:hn,style:mn,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"],...gn},m.createElement(n.Months,{className:o[p.Months],style:x?.[p.Months]},!t.hideNavigation&&!f&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:o[p.Nav],style:x?.[p.Nav],"aria-label":Je(),onPreviousClick:Ne,onNextClick:Oe,previousMonth:U,nextMonth:L}),me.map((j,I)=>m.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:o[p.Month],style:x?.[p.Month],key:I,displayIndex:I,calendarMonth:j},f==="around"&&!t.hideNavigation&&I===0&&m.createElement(n.PreviousMonthButton,{type:"button",className:o[p.PreviousMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":Jt(U),onClick:Ne,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:U?void 0:!0,className:o[p.Chevron],orientation:t.dir==="rtl"?"right":"left"})),m.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:o[p.MonthCaption],style:x?.[p.MonthCaption],calendarMonth:j,displayIndex:I},l?.startsWith("dropdown")?m.createElement(n.DropdownNav,{className:o[p.Dropdowns],style:x?.[p.Dropdowns]},(()=>{const w=l==="dropdown"||l==="dropdown-months"?m.createElement(n.MonthsDropdown,{key:"month",className:o[p.MonthsDropdown],"aria-label":Vt(),classNames:o,components:n,disabled:!!t.disableNavigation,onChange:un(j.date),options:oo(j.date,be,we,s,a),style:x?.[p.Dropdown],value:a.getMonth(j.date)}):m.createElement("span",{key:"month"},O(j.date,a)),_=l==="dropdown"||l==="dropdown-years"?m.createElement(n.YearsDropdown,{key:"year",className:o[p.YearsDropdown],"aria-label":nn(a.options),classNames:o,components:n,disabled:!!t.disableNavigation,onChange:fn(j.date),options:co(be,we,s,a,!!t.reverseYears),style:x?.[p.Dropdown],value:a.getYear(j.date)}):m.createElement("span",{key:"year"},Z(j.date,a));return a.getMonthYearOrder()==="year-first"?[_,w]:[w,_]})(),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"}},D(j.date,a.options,a))):m.createElement(n.CaptionLabel,{className:o[p.CaptionLabel],role:"status","aria-live":"polite"},D(j.date,a.options,a))),f==="around"&&!t.hideNavigation&&I===u-1&&m.createElement(n.NextMonthButton,{type:"button",className:o[p.NextMonthButton],tabIndex:L?void 0:-1,"aria-disabled":L?void 0:!0,"aria-label":Qt(L),onClick:Oe,"data-animated-button":t.animate?"true":void 0},m.createElement(n.Chevron,{disabled:L?void 0:!0,className:o[p.Chevron],orientation:t.dir==="rtl"?"left":"right"})),I===u-1&&f==="after"&&!t.hideNavigation&&m.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:o[p.Nav],style:x?.[p.Nav],"aria-label":Je(),onPreviousClick:Ne,onNextClick:Oe,previousMonth:U,nextMonth:L}),m.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":d==="multiple"||d==="range","aria-label":Gt(j.date,a.options,a)||void 0,className:o[p.MonthGrid],style:x?.[p.MonthGrid]},!t.hideWeekdays&&m.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:o[p.Weekdays],style:x?.[p.Weekdays]},T&&m.createElement(n.WeekNumberHeader,{"aria-label":tn(a.options),className:o[p.WeekNumberHeader],style:x?.[p.WeekNumberHeader],scope:"col"},B()),sn.map(w=>m.createElement(n.Weekday,{"aria-label":Xt(w,a.options,a),className:o[p.Weekday],key:String(w),style:x?.[p.Weekday],scope:"col"},R(w,a.options,a)))),m.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:o[p.Weeks],style:x?.[p.Weeks]},j.weeks.map(w=>m.createElement(n.Week,{className:o[p.Week],key:w.weekNumber,style:x?.[p.Week],week:w},T&&m.createElement(n.WeekNumber,{week:w,style:x?.[p.WeekNumber],"aria-label":en(w.weekNumber,{locale:c}),className:o[p.WeekNumber],scope:"row",role:"rowheader"},Y(w.weekNumber,a)),w.days.map(_=>{const{date:q}=_,E=Ce(_);if(E[F.focused]=!E.hidden&&!!Ge?.isEqualTo(_),E[K.selected]=Se?.(q)||E.selected,Ue(De)){const{from:Te,to:We}=De;E[K.range_start]=!!(Te&&We&&a.isSameDay(q,Te)),E[K.range_end]=!!(Te&&We&&a.isSameDay(q,We)),E[K.range_middle]=ee(De,q,!0,a)}const pn=ao(E,x,t.modifiersStyles),xn=Lr(E,o,t.modifiersClassNames),vn=!Qe&&!E.hidden?Kt(q,E,a.options,a):void 0;return m.createElement(n.Day,{key:`${a.format(q,"yyyy-MM-dd")}_${a.format(_.displayMonth,"yyyy-MM")}`,day:_,modifiers:E,className:xn.join(" "),style:pn,role:"gridcell","aria-selected":E.selected||void 0,"aria-label":vn,"data-day":a.format(q,"yyyy-MM-dd"),"data-month":_.outside?a.format(q,"yyyy-MM"):void 0,"data-selected":E.selected||void 0,"data-disabled":E.disabled||void 0,"data-hidden":E.hidden||void 0,"data-outside":_.outside||void 0,"data-focused":E.focused||void 0,"data-today":E.today||void 0},!E.hidden&&Qe?m.createElement(n.DayButton,{className:o[p.DayButton],style:x?.[p.DayButton],type:"button",day:_,modifiers:E,disabled:E.disabled||void 0,tabIndex:Ut(_)?0:-1,"aria-label":Lt(q,E,a.options,a),onClick:rn(_,E),onBlur:an(_,E),onFocus:on(_,E),onKeyDown:cn(_,E),onMouseEnter:ln(_,E),onMouseLeave:dn(_,E)},M(q,a.options,a)):!E.hidden&&M(_.date,a.options,a))})))))))),t.footer&&m.createElement(n.Footer,{className:o[p.Footer],style:x?.[p.Footer],role:"status","aria-live":"polite"},t.footer)))}function Uo({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:s="label",buttonVariant:r="ghost",formatters:a,components:c,...o}){const l=Le();return i.jsx(Zo,{showOutsideDays:n,className:N("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:s,formatters:{formatMonthDropdown:d=>d.toLocaleString("default",{month:"short"}),...a},classNames:{root:N("w-fit",l.root),months:N("flex gap-4 flex-col md:flex-row relative",l.months),month:N("flex flex-col w-full gap-4",l.month),nav:N("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",l.nav),button_previous:N(nt({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",l.button_previous),button_next:N(nt({variant:r}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",l.button_next),month_caption:N("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",l.month_caption),dropdowns:N("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",l.dropdowns),dropdown_root:N("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",l.dropdown_root),dropdown:N("absolute bg-white inset-0 opacity-0 dark:bg-gray-950",l.dropdown),caption_label:N("select-none font-medium",s==="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",l.caption_label),table:"w-full border-collapse",weekdays:N("flex",l.weekdays),weekday:N("text-gray-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-gray-400",l.weekday),week:N("flex w-full mt-2",l.week),week_number_header:N("select-none w-(--cell-size)",l.week_number_header),week_number:N("text-[0.8rem] select-none text-gray-500 dark:text-gray-400",l.week_number),day:N("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",l.day),range_start:N("rounded-l-md bg-gray-100 dark:bg-gray-800",l.range_start),range_middle:N("rounded-none",l.range_middle),range_end:N("rounded-r-md bg-gray-100 dark:bg-gray-800",l.range_end),today:N("bg-gray-100 text-gray-900 rounded-md data-[selected=true]:rounded-none dark:bg-gray-800 dark:text-gray-50",l.today),outside:N("text-gray-500 aria-selected:text-gray-500 dark:text-gray-400 dark:aria-selected:text-gray-400",l.outside),disabled:N("text-gray-500 opacity-50 dark:text-gray-400",l.disabled),hidden:N("invisible",l.hidden),...t},components:{Root:({className:d,rootRef:f,...u})=>i.jsx("div",{"data-slot":"calendar",ref:f,className:N(d),...u}),Chevron:({className:d,orientation:f,...u})=>f==="left"?i.jsx(Qn,{className:N("size-4",d),...u}):f==="right"?i.jsx(Xn,{className:N("size-4",d),...u}):i.jsx(se,{className:N("size-4",d),...u}),DayButton:Lo,WeekNumber:({children:d,...f})=>i.jsx("td",{...f,children:i.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:d})}),...c},...o})}function Lo({className:e,day:t,modifiers:n,...s}){const r=Le(),a=m.useRef(null);return m.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),i.jsx(z,{ref:a,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:N("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),...s})}function Pe(e){return e?ue(e,"yyyy-MM-dd"):""}function Ko(e){return e?!Number.isNaN(e.getTime()):!1}function Go({value:e,onChange:t,disabled:n,...s}){const[r,a]=m.useState(!1),[c,o]=m.useState(e),[l,d]=m.useState(Pe(e));return S.useEffect(()=>{e&&d(Pe(e))},[e]),i.jsxs("div",{className:"relative flex gap-2",children:[i.jsx(kt,{...s,disabled:n,value:l,onChange:f=>{d(f.target.value);const u=f.target.value?new Date(f.target.value):void 0;Ko(u)&&(t?.(u),o(u))},onKeyDown:f=>{f.key==="ArrowDown"&&(f.preventDefault(),a(!0))}}),i.jsxs(es,{open:r,onOpenChange:a,children:[i.jsx(ts,{asChild:!0,children:i.jsxs(z,{id:"date-picker",variant:"ghost",className:"absolute top-1/2 right-2 size-6 -translate-y-1/2",disabled:n,children:[i.jsx(ns,{className:"size-3.5"}),i.jsx("span",{className:"sr-only",children:"Select date"})]})}),i.jsx(ss,{className:"w-auto overflow-hidden p-0",align:"end",alignOffset:-8,sideOffset:10,children:i.jsx(Uo,{mode:"single",selected:e,captionLayout:"dropdown",month:c,onMonthChange:o,onSelect:f=>{t?.(f),d(Pe(f??void 0)),a(!1)}})})]})]})}var Be={exports:{}},Re,ut;function Vo(){if(ut)return Re;ut=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Re=e,Re}var ze,ft;function Jo(){if(ft)return ze;ft=1;var e=Vo();function t(){}function n(){}return n.resetWarningCache=t,ze=function(){function s(c,o,l,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}}s.isRequired=s;function r(){return s}var a={array:s,bigint:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:r,element:s,elementType:s,instanceOf:r,node:s,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:n,resetWarningCache:t};return a.PropTypes=a,a},ze}var ht;function Qo(){return ht||(ht=1,Be.exports=Jo()()),Be.exports}var Xo=Qo();const ga=rs(Xo),ea=({close:e,transactionID:t,onChange:n})=>t?i.jsx(os,{modalSize:"fit-content",position:"bottom",title:i.jsxs("div",{className:"flex flex-row mx-3 pt-3 sm:text-1xl gap-10",children:[i.jsx("h1",{className:"sm:text-2xl font-small text-gray-900",children:"Edit Transaction:"}),i.jsxs("div",{className:"flex flex-row gap-2",children:["ID: ",t,i.jsx(as,{content:t}),i.jsx(sr,{transactionId:t})]})]}),opened:!!t,onClose:e,children:i.jsx(rr,{transactionID:t,onDone:e,onChange:n})}):null,ta=({onDone:e,transactionId:t,chargeId:n})=>{const[s,r]=S.useState(!1),[{data:a,fetching:c}]=pt({query:is,pause:!t,variables:{transactionId:t}}),o=a?.transactionsByIDs[0];function l(){r(!1),e?.()}return i.jsxs(cs,{open:s,onOpenChange:r,children:[i.jsx(ls,{asChild:!0,children:i.jsx(mt,{label:"Insert Related Misc Expense",children:i.jsx(z,{variant:"ghost",size:"icon",className:"size-7.5",disabled:c,children:i.jsx(_s,{className:"size-5"})})})}),i.jsxs(ds,{className:"sm:max-w-[425px]",children:[i.jsx(us,{children:i.jsx(fs,{children:"Insert Misc Expense"})}),o&&i.jsx(ir,{onDone:l,chargeId:n,defaultValues:{amount:o?.amount.raw?Math.abs(o?.amount.raw):void 0,currency:o?.amount.currency,invoiceDate:o?.eventDate,valueDate:o?.exactEffectiveDate||o?.effectiveDate?new Date(o.exactEffectiveDate??o.effectiveDate):void 0,creditorId:(o?.amount.raw??0)>0?o?.counterparty?.id:void 0,debtorId:(o?.amount.raw??0)<0?o?.counterparty?.id:void 0}})]})]})},At=({onChange:e,total:t,value:n,...s})=>{if(t<=1)return null;const r=n+1;return i.jsx(qt,{...s,children:i.jsxs(Ht,{children:[i.jsx(G,{children:i.jsx($t,{disabled:r<=1,onClick:()=>e(n-1)})}),t>3&&r>1&&i.jsx(G,{children:i.jsx(ie,{onClick:()=>e(0),children:"1"})}),t>3&&r>3&&i.jsx(G,{children:i.jsx($e,{})}),r>2&&i.jsx(G,{children:i.jsx(ie,{onClick:()=>e(n-1),children:r-1})}),i.jsx(G,{children:i.jsx(ie,{onClick:()=>{},isActive:!0,children:r})}),r<t-1&&i.jsx(G,{children:i.jsx(ie,{onClick:()=>e(n+1),children:r+1})}),t>3&&r<t-2&&i.jsx(G,{children:i.jsx($e,{})}),t>3&&r<t&&i.jsx(G,{children:i.jsx(ie,{onClick:()=>e(t-1),children:t})}),i.jsx(G,{children:i.jsx(Zt,{disabled:r>=t,onClick:()=>e(n+1)})})]})})};At.displayName="Pagination";const qt=({className:e,...t})=>i.jsx("nav",{role:"navigation","aria-label":"paginationWrapper",className:N("mx-auto flex w-full justify-center",e),...t});qt.displayName="PaginationWrapper";const Ht=m.forwardRef(({className:e,...t},n)=>i.jsx("ul",{ref:n,className:N("flex flex-row items-center gap-1",e),...t}));Ht.displayName="PaginationContent";const G=m.forwardRef(({className:e,...t},n)=>i.jsx("li",{ref:n,className:N("",e),...t}));G.displayName="PaginationItem";const ie=({className:e,isActive:t,size:n="icon",children:s,...r})=>i.jsx(z,{"aria-current":t?"page":void 0,variant:t?"outline":"ghost",size:n,className:e,...r,children:s});ie.displayName="PaginationLink";const $t=({className:e,...t})=>i.jsx(ie,{"aria-label":"Go to previous page",size:"default",className:N("gap-1 pl-2.5",e),...t,children:i.jsx(hs,{className:"h-4 w-4"})});$t.displayName="PaginationPrevious";const Zt=({className:e,...t})=>i.jsx(ie,{"aria-label":"Go to next page",size:"default",className:N("gap-1 pr-2.5",e),...t,children:i.jsx(gs,{className:"h-4 w-4"})});Zt.displayName="PaginationNext";const $e=({className:e,...t})=>i.jsxs("span",{"aria-hidden":!0,className:N("flex h-9 w-9 items-center justify-center",e),...t,children:[i.jsx(ms,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"More pages"})]});$e.displayName="PaginationEllipsis";const na=({transaction:e})=>{const t="effectiveDate"in e?e.effectiveDate:void 0;return i.jsxs("div",{className:"flex flex-col justify-center",children:[i.jsx("div",{children:t&&ue(new Date(t),"dd/MM/yy")}),e.sourceEffectiveDate&&i.jsxs("div",{className:"text-xs text-gray-500",children:["(Originally ",ue(new Date(e.sourceEffectiveDate),"dd/MM/yy"),")"]})]})},sa=({transaction:e})=>{const t="eventDate"in e?e.eventDate:void 0;return i.jsx("div",{className:"flex flex-col justify-center",children:t&&ue(new Date(t),"dd/MM/yy")})},ra=({transaction:e})=>{const t="amount"in e?e.amount:void 0;return i.jsxs("div",{style:{color:Number(t?.raw)>0?"green":"red",whiteSpace:"nowrap"},children:[t?.formatted,i.jsx("br",{}),e.cryptoExchangeRate&&i.jsxs("span",{style:{color:"gray",marginLeft:"0.5rem"},children:[`(Rate: ${e.cryptoExchangeRate.rate})`,i.jsx("br",{}),t?.raw?`${ys(t.raw*e.cryptoExchangeRate.rate)}$`:null]})]})},oa=({transaction:e})=>{const{account:t}=e,n=t.type,s=t.name;return i.jsxs("div",{className:"flex flex-col justify-center",children:[i.jsx("p",{children:n}),i.jsx("p",{children:s})]})},aa=({transaction:e})=>{const t="sourceDescription"in e?e.sourceDescription:"Missing";return i.jsx("div",{className:"flex flex-wrap",children:i.jsx("div",{className:"flex flex-col justify-center",children:t})})},ia=({transaction:e})=>i.jsx("div",{className:"flex flex-wrap",children:i.jsx("div",{className:"flex flex-col justify-center",children:e.referenceKey})});function ca({transaction:e,onChange:t}){const{id:n,counterparty:s,missingInfoSuggestions:r,id:a,sourceDescription:c,enableEdit:o}=e,l=!!r?.business&&o,d=l?r?.business?.name:"Missing",f=l?r?.business?.id:null,u=s?.name??d,[h,g]=S.useState(!1),{updateTransaction:C,fetching:v}=Ze(),y=S.useCallback(async O=>{await C({transactionId:a,fields:{counterpartyId:O}}),g(!0)},[a,C]),k=S.useCallback(async O=>{await y(O),t?.()},[y,t]),{selectableBusinesses:W,fetching:b}=ps(),[T,x]=S.useState(f??null),[D,M]=S.useState(c);return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex flex-wrap flex-col justify-center",children:s?.id?i.jsx(gt,{to:yt.BUSINESSES.DETAIL(s.id),target:"_blank",rel:"noreferrer",onClick:O=>O.stopPropagation(),className:"inline-flex items-center font-semibold",children:u}):i.jsxs(i.Fragment,{children:[i.jsx(xs,{options:W,value:T,onChange:x,search:D,onSearchChange:M,placeholder:"Choose or create a business",empty:D?i.jsx(vs,{description:D,onAdd:k}):null}),i.jsx(Is,{content:"Approve",children:i.jsx(z,{variant:"outline",size:"icon",onClick:()=>T&&y(T),disabled:v||b||!T,children:i.jsx(bs,{className:"size-4"})})})]})}),i.jsx(Es,{transactionId:n,counterpartyId:s?.id??T,open:h,onOpenChange:g,onClose:t})]})}const Ae=[{accessorKey:"counterparty.name",header:({column:e})=>i.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Counterparty",e.getIsSorted()&&(e.getIsSorted()==="asc"?i.jsx(ce,{className:"ml-2 h-4 w-4"}):i.jsx(se,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>i.jsx(ca,{transaction:e.original})},{accessorKey:"eventDate",sortingFn:e=>"eventDate"in e.original&&e.original.eventDate?new Date(e.original.eventDate).getTime():0,header:({column:e})=>i.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Event Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?i.jsx(ce,{className:"ml-2 h-4 w-4"}):i.jsx(se,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>i.jsx(sa,{transaction:e.original})},{accessorKey:"effectiveDate",sortingFn:e=>"effectiveDate"in e.original&&e.original.effectiveDate?new Date(e.original.effectiveDate).getTime():0,header:({column:e})=>i.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Debit Date",e.getIsSorted()&&(e.getIsSorted()==="asc"?i.jsx(ce,{className:"ml-2 h-4 w-4"}):i.jsx(se,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>i.jsx(na,{transaction:e.original})},{accessorKey:"amount.raw",header:({column:e})=>i.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Amount",e.getIsSorted()&&(e.getIsSorted()==="asc"?i.jsx(ce,{className:"ml-2 h-4 w-4"}):i.jsx(se,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>i.jsx(ra,{transaction:e.original})},{accessorKey:"account.name",header:({column:e})=>i.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Account",e.getIsSorted()&&(e.getIsSorted()==="asc"?i.jsx(ce,{className:"ml-2 h-4 w-4"}):i.jsx(se,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>i.jsx(oa,{transaction:e.original})},{accessorKey:"sourceDescription",header:({column:e})=>i.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Description",e.getIsSorted()&&(e.getIsSorted()==="asc"?i.jsx(ce,{className:"ml-2 h-4 w-4"}):i.jsx(se,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>i.jsx(aa,{transaction:e.original})},{accessorKey:"referenceKey",header:({column:e})=>i.jsxs(z,{variant:"ghost",onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:["Reference#",e.getIsSorted()&&(e.getIsSorted()==="asc"?i.jsx(ce,{className:"ml-2 h-4 w-4"}):i.jsx(se,{className:"ml-2 h-4 w-4"}))]}),cell:({row:e})=>i.jsx(ia,{transaction:e.original})}],la={accessorKey:"id",header:"Actions",cell:({row:e})=>e.original.enableEdit?i.jsxs(i.Fragment,{children:[i.jsx(Ds,{onClick:()=>e.original.editTransaction(e.original.id)}),i.jsx(ta,{chargeId:e.original.chargeId,transactionId:e.original.id,onDone:e.original.onUpdate})]}):e.original.enableChargeLink?i.jsx(nr,{chargeId:e.original.chargeId}):null},ya=({transactionsProps:e,onChange:t,enableEdit:n,enableChargeLink:s})=>{const[r,a]=S.useState(void 0),[c,o]=S.useState([]),l=S.useMemo(()=>(console.log("rendering Transactions"),e.map(h=>ks(Ms,h))),[e]),d=S.useMemo(()=>l.map(h=>({...h,editTransaction:a,onUpdate:t||(()=>{}),enableEdit:n,enableChargeLink:s})),[l,n,s,t]),f=S.useMemo(()=>n||s?[...Ae,la]:Ae,[n,s]),u=ws({data:d,columns:f,getCoreRowModel:js(),onSortingChange:o,getSortedRowModel:Ss(),getPaginationRowModel:Cs(),state:{sorting:c},initialState:{pagination:{pageIndex:0,pageSize:100},sorting:[{id:"eventDate",desc:!0}]}});return i.jsxs(i.Fragment,{children:[i.jsxs(Ns,{children:[i.jsx(Os,{children:u.getHeaderGroups().map(h=>i.jsx(_e,{children:h.headers.map(g=>i.jsx(Ts,{colSpan:g.colSpan,children:g.isPlaceholder?null:st(g.column.columnDef.header,g.getContext())},g.id))},h.id))}),i.jsx(Ws,{children:u.getRowModel().rows?.length?u.getRowModel().rows.map(h=>i.jsx(_e,{children:h.getVisibleCells().map(g=>i.jsx(rt,{children:st(g.column.columnDef.cell,g.getContext())},g.id))},h.id)):i.jsx(_e,{children:i.jsx(rt,{colSpan:Ae.length,className:"h-24 text-center",children:"No results."})})})]}),u.getPageCount()>1&&i.jsx("div",{className:"flex items-center justify-end space-x-2 py-4",children:i.jsx(At,{value:u.getState().pagination.pageIndex,total:u.getPageCount(),onChange:h=>u.setPageIndex(h)})}),i.jsx(ea,{transactionID:r,close:()=>a(void 0),onChange:t??(()=>{})})]})};export{ra as A,ca as C,na as D,Ys as E,ir as I,lr as M,ga as P,ia as S,ya as T,At as a,sa as b,oa as c,aa as d,nr as e};
@@ -1 +0,0 @@
1
- import{j as e,d8 as t}from"./index-C6OmHOHr.js";import{P as o}from"./page-layout-DpwpZHY3.js";const n=()=>e.jsx(o,{title:"New Document",description:"Issue a document for a client",children:e.jsx(t,{})});export{n as IssueDocumentScreen};
@@ -1 +0,0 @@
1
- import{g as j,gT as w,r as g,t as h,i as S,gU as y,u as C,gV as v,j as a,D as I,z as R,E as b,c as M,ah as x,cS as E,d5 as $,d7 as k,aS as A,aT as N,B as V,N as U,cV as B,cW as K,cX as f,cY as F,cZ as p,c_ as H,c$ as P,p as T,x as D}from"./index-C6OmHOHr.js";const _="updateTransaction",W=()=>{const[{fetching:e},s]=j(w),n=g.useCallback(async i=>{const d=`Error updating transaction ID [${i.transactionId}]`,c=`${_}-${i.transactionId}`;h.loading("Updating Transaction",{id:c});try{const l=await s(i),o=S(l,d,c,"updateTransaction");if(o)return h.success("Success",{id:c,description:"Transaction updated"}),o.updateTransaction}catch(l){console.error(`${d}: ${l}`),h.error("Error",{id:c,description:d,duration:1e5,closeButton:!0})}},[s]);return{fetching:e,updateTransaction:n}},O="updateTransactions",q=()=>{const[{fetching:e},s]=j(y),n=g.useCallback(async i=>{const d=Array.isArray(i.transactionIds)?i.transactionIds.join(", "):i.transactionIds,c=`Error updating transactions ID [${d}]`,l=`${O}-${d}`;h.loading("Updating Transactions",{id:l});try{const o=await s(i),u=S(o,c,l,"updateTransactions");if(u)return h.success("Success",{id:l,description:"Transactions updated"}),u.updateTransactions.transactions.map(m=>m.id)}catch(o){console.error(`${c}: ${o}`),h.error("Error",{id:l,description:c,duration:1e5,closeButton:!0})}},[s]);return{fetching:e,updateTransactions:n}},z=[{id:"select",header:({table:e})=>a.jsx(T,{checked:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:s=>e.toggleAllPageRowsSelected(!!s),"aria-label":"Select all"}),cell:({row:e})=>a.jsx(T,{checked:e.getIsSelected(),onCheckedChange:s=>e.toggleSelected(!!s),"aria-label":"Select row"}),enableSorting:!1,enableHiding:!1},{accessorKey:"accountType",header:"Type",cell:({row:e})=>a.jsx("div",{children:e.getValue("accountType")})},{accessorKey:"accountName",header:"Account",cell:({row:e})=>a.jsx("div",{children:e.getValue("accountName")})},{accessorKey:"amountRaw",header:"Amount",cell:({row:e})=>a.jsx("div",{children:e.original.amountFormatted})},{accessorKey:"sourceDescription",header:"Description",cell:({row:e})=>a.jsx("div",{children:e.getValue("sourceDescription")})},{accessorKey:"eventDate",header:"Event Date",cell:({row:e})=>a.jsx("div",{children:D(e.getValue("eventDate"),"yyyy-MM-dd")})},{accessorKey:"valueDate",header:"Value Date",cell:({row:e})=>a.jsx("div",{children:e.getValue("valueDate")?D(e.getValue("valueDate"),"yyyy-MM-dd"):""})}];function X({transactionId:e,counterpartyId:s,open:n,onOpenChange:i,onClose:d}){const[{data:c,fetching:l},o]=C({pause:!0,query:v,variables:{transactionId:e,withMissingInfo:!0}});g.useEffect(()=>{n&&s&&o()},[n,s,o,e]);const u=g.useCallback(r=>{i(r),n&&!r&&d?.()},[i,d,n]),m=g.useMemo(()=>{const r=c?.similarTransactions.map(t=>({id:t.id,amountRaw:t.amount.raw,amountFormatted:t.amount.formatted,sourceDescription:t.sourceDescription,eventDate:new Date(t.eventDate),valueDate:t.effectiveDate?new Date(t.effectiveDate):void 0,accountType:t.account.type,accountName:t.account.name}))??[];return c&&r.length===0&&u(!1),r},[c,u]);return a.jsx(I,{open:n&&!!s&&m.length>0,onOpenChange:u,children:a.jsx(R,{className:"overflow-scroll max-h-screen w-full sm:max-w-[640px] md:max-w-[768px] lg:max-w-[900px]",children:a.jsx(b,{fallback:a.jsx("div",{children:"Error fetching similar transactions"}),children:l?a.jsx(M,{}):s?a.jsx(L,{data:m,counterpartyId:s,onOpenChange:u}):null})})})}function L({data:e,counterpartyId:s,onOpenChange:n}){const[i,d]=x.useState([]),[c,l]=x.useState({}),o=E({data:e,columns:z,onSortingChange:d,getCoreRowModel:k(),getSortedRowModel:$(),onRowSelectionChange:l,state:{sorting:i,rowSelection:c}}),{updateTransactions:u}=q(),m=g.useCallback(async()=>{const r=o.getSelectedRowModel().rows.map(t=>t.original.id);await u({transactionIds:r,fields:{counterpartyId:s}}),n(!1)},[u,n,o,s]);return g.useEffect(()=>{e.length===0&&n(!1)},[e.length,n]),e.length?a.jsxs(a.Fragment,{children:[a.jsxs(A,{className:"flex flex-row items-center justify-between",children:[a.jsx(N,{children:"Transactions"}),a.jsx(V,{onClick:m,children:"Approve selected"})]}),a.jsx(U,{children:a.jsxs(B,{children:[a.jsx(K,{children:o.getHeaderGroups().map(r=>a.jsx(f,{children:r.headers.map(t=>a.jsx(F,{children:t.isPlaceholder?null:p(t.column.columnDef.header,t.getContext())},t.id))},r.id))}),a.jsx(H,{children:o.getRowModel().rows.map(r=>a.jsx(f,{"data-state":r.getIsSelected()&&"selected",children:r.getVisibleCells().map(t=>a.jsx(P,{children:p(t.column.columnDef.cell,t.getContext())},t.id))},r.id))})]})})]}):null}export{X as S,W as u};
@@ -1 +0,0 @@
1
- import{gs as f}from"./index-C6OmHOHr.js";import{a as y}from"./addDays-ClGDfhvI.js";import{s as S}from"./subMonths-Df-03cZk.js";function T(s,t,o){return y(s,-t,o)}function g(s,t,o){const{years:n=0,months:u=0,weeks:r=0,days:c=0,hours:m=0,minutes:a=0,seconds:e=0}=t,i=S(s,u+n*12,o),b=T(i,c+r*7,o),h=a+m*60,d=(e+h*60)*1e3;return f(s,+b-d)}export{g as s};
@@ -1 +0,0 @@
1
- import{gz as n}from"./index-C6OmHOHr.js";function a(o,s,t){return n(o,-s,t)}export{a as s};
@@ -1 +0,0 @@
1
- import{j as o,gW as t,df as e,dg as l,dh as n}from"./index-C6OmHOHr.js";function p({children:i,content:r,...s}){return o.jsx(t,{children:o.jsxs(e,{children:[o.jsx(l,{asChild:!0,children:i}),o.jsx(n,{...s,children:r})]})})}export{p as T};
@@ -1,26 +0,0 @@
1
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card.js';
2
- import { BusinessExtendedInfo } from '../business-ledger/business-extended-info';
3
-
4
- interface Props {
5
- businessId: string;
6
- }
7
-
8
- export function BalanceSection({ businessId }: Props) {
9
- return (
10
- <Card>
11
- <CardHeader className="flex w-full justify-between items-center">
12
- <div className="flex items-center justify-between">
13
- <div>
14
- <CardTitle>Balance</CardTitle>
15
- <CardDescription>Business balance overview</CardDescription>
16
- </div>
17
- </div>
18
- </CardHeader>
19
- <CardContent>
20
- <div className="rounded-md border">
21
- <BusinessExtendedInfo businessID={businessId} filter={{}} />
22
- </div>
23
- </CardContent>
24
- </Card>
25
- );
26
- }
@@ -1,49 +0,0 @@
1
- import { useQuery } from 'urql';
2
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card.js';
3
- import { BusinessLedgerSectionDocument } from '@/gql/graphql.js';
4
- import { LedgerTable } from '../ledger-table';
5
-
6
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- used by codegen
7
- /* GraphQL */ `
8
- query BusinessLedgerSection($businessId: UUID!) {
9
- ledgerRecordsByFinancialEntity(financialEntityId: $businessId) {
10
- id
11
- ...LedgerRecordsTableFields
12
- }
13
- }
14
- `;
15
-
16
- interface Props {
17
- businessId: string;
18
- }
19
-
20
- export function LedgerSection({ businessId }: Props) {
21
- const [{ data, fetching }] = useQuery({
22
- query: BusinessLedgerSectionDocument,
23
- variables: {
24
- businessId,
25
- },
26
- });
27
-
28
- if (fetching) {
29
- return <div>Loading ledger records...</div>;
30
- }
31
-
32
- return (
33
- <Card>
34
- <CardHeader className="flex w-full justify-between items-center">
35
- <div className="flex items-center justify-between">
36
- <div>
37
- <CardTitle>Ledger Records</CardTitle>
38
- <CardDescription>Complete ledger history for this business</CardDescription>
39
- </div>
40
- </div>
41
- </CardHeader>
42
- <CardContent>
43
- <div className="rounded-md border">
44
- <LedgerTable ledgerRecordsData={data?.ledgerRecordsByFinancialEntity ?? []} />
45
- </div>
46
- </CardContent>
47
- </Card>
48
- );
49
- }
@@ -1,194 +0,0 @@
1
- import React, { type ComponentProps } from 'react';
2
- import { ChevronsLeftIcon, ChevronsRightIcon } from 'lucide-react';
3
- import { Button } from '@/components/ui/button.js';
4
- import { cn } from '@/lib/utils.js';
5
- import { ChevronLeftIcon, ChevronRightIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';
6
-
7
- interface PaginationProps extends Omit<React.ComponentProps<'nav'>, 'onChange' | 'value'> {
8
- onChange: (page: number) => void;
9
- total: number;
10
- value: number;
11
- }
12
-
13
- const Pagination = ({ onChange, total, value, ...props }: PaginationProps) => {
14
- if (total <= 1) {
15
- return null;
16
- }
17
- const currentPage = value + 1;
18
-
19
- return (
20
- <PaginationWrapper {...props}>
21
- <PaginationContent>
22
- {/* previous button */}
23
- <PaginationItem>
24
- <PaginationPrevious disabled={currentPage <= 1} onClick={() => onChange(value - 1)} />
25
- </PaginationItem>
26
-
27
- {/* first page button */}
28
- {total > 3 && currentPage > 1 && (
29
- <PaginationItem>
30
- <PaginationLink onClick={() => onChange(0)}>1</PaginationLink>
31
- </PaginationItem>
32
- )}
33
-
34
- {total > 3 && currentPage > 3 && (
35
- <PaginationItem>
36
- <PaginationEllipsis />
37
- </PaginationItem>
38
- )}
39
-
40
- {currentPage > 2 && (
41
- <PaginationItem>
42
- <PaginationLink onClick={() => onChange(value - 1)}>{currentPage - 1}</PaginationLink>
43
- </PaginationItem>
44
- )}
45
- <PaginationItem>
46
- <PaginationLink onClick={() => {}} isActive>
47
- {currentPage}
48
- </PaginationLink>
49
- </PaginationItem>
50
- {currentPage < total - 1 && (
51
- <PaginationItem>
52
- <PaginationLink onClick={() => onChange(value + 1)}>{currentPage + 1}</PaginationLink>
53
- </PaginationItem>
54
- )}
55
-
56
- {total > 3 && currentPage < total - 2 && (
57
- <PaginationItem>
58
- <PaginationEllipsis />
59
- </PaginationItem>
60
- )}
61
-
62
- {/* last page button */}
63
- {total > 3 && currentPage < total && (
64
- <PaginationItem>
65
- <PaginationLink onClick={() => onChange(total - 1)}>{total}</PaginationLink>
66
- </PaginationItem>
67
- )}
68
- {/* next button */}
69
- <PaginationItem>
70
- <PaginationNext disabled={currentPage >= total} onClick={() => onChange(value + 1)} />
71
- </PaginationItem>
72
- </PaginationContent>
73
- </PaginationWrapper>
74
- );
75
- };
76
- Pagination.displayName = 'Pagination';
77
-
78
- const PaginationWrapper = ({ className, ...props }: React.ComponentProps<'nav'>) => (
79
- <nav
80
- role="navigation"
81
- aria-label="paginationWrapper"
82
- className={cn('mx-auto flex w-full justify-center', className)}
83
- {...props}
84
- />
85
- );
86
- PaginationWrapper.displayName = 'PaginationWrapper';
87
-
88
- const PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(
89
- ({ className, ...props }, ref) => (
90
- <ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />
91
- ),
92
- );
93
- PaginationContent.displayName = 'PaginationContent';
94
-
95
- const PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(
96
- ({ className, ...props }, ref) => <li ref={ref} className={cn('', className)} {...props} />,
97
- );
98
- PaginationItem.displayName = 'PaginationItem';
99
-
100
- type PaginationLinkProps = {
101
- isActive?: boolean;
102
- } & ComponentProps<typeof Button>;
103
-
104
- const PaginationLink = ({
105
- className,
106
- isActive,
107
- size = 'icon',
108
- children,
109
- ...props
110
- }: PaginationLinkProps) => (
111
- <Button
112
- aria-current={isActive ? 'page' : undefined}
113
- variant={isActive ? 'outline' : 'ghost'}
114
- size={size}
115
- className={className}
116
- {...props}
117
- >
118
- {children}
119
- </Button>
120
- );
121
- PaginationLink.displayName = 'PaginationLink';
122
-
123
- const PaginationPrevious = ({
124
- className,
125
- ...props
126
- }: React.ComponentProps<typeof PaginationLink>) => (
127
- <PaginationLink
128
- aria-label="Go to previous page"
129
- size="default"
130
- className={cn('gap-1 pl-2.5', className)}
131
- {...props}
132
- >
133
- <ChevronLeftIcon className="h-4 w-4" />
134
- </PaginationLink>
135
- );
136
- PaginationPrevious.displayName = 'PaginationPrevious';
137
-
138
- const PaginationFirst = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (
139
- <PaginationLink
140
- aria-label="Go to First page"
141
- size="default"
142
- className={cn('gap-1 pl-2.5', className)}
143
- {...props}
144
- >
145
- <ChevronsLeftIcon className="h-4 w-4" />
146
- </PaginationLink>
147
- );
148
- PaginationFirst.displayName = 'PaginationFirst';
149
-
150
- const PaginationNext = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (
151
- <PaginationLink
152
- aria-label="Go to next page"
153
- size="default"
154
- className={cn('gap-1 pr-2.5', className)}
155
- {...props}
156
- >
157
- <ChevronRightIcon className="h-4 w-4" />
158
- </PaginationLink>
159
- );
160
- PaginationNext.displayName = 'PaginationNext';
161
-
162
- const PaginationLast = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (
163
- <PaginationLink
164
- aria-label="Go to Last page"
165
- size="default"
166
- className={cn('gap-1 pr-2.5', className)}
167
- {...props}
168
- >
169
- <ChevronsRightIcon className="h-4 w-4" />
170
- </PaginationLink>
171
- );
172
- PaginationLast.displayName = 'PaginationLast';
173
-
174
- const PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (
175
- <span
176
- aria-hidden
177
- className={cn('flex h-9 w-9 items-center justify-center', className)}
178
- {...props}
179
- >
180
- <DotsHorizontalIcon className="h-4 w-4" />
181
- <span className="sr-only">More pages</span>
182
- </span>
183
- );
184
- PaginationEllipsis.displayName = 'PaginationEllipsis';
185
-
186
- export {
187
- Pagination,
188
- PaginationContent,
189
- PaginationLink,
190
- PaginationItem,
191
- PaginationPrevious,
192
- PaginationNext,
193
- PaginationEllipsis,
194
- };
@@ -1,4 +0,0 @@
1
- export { AuthContext, AuthGuard, AuthProvider } from './auth-guard.js';
2
- export { UrqlProvider } from './urql.js';
3
- export { UserContext, UserProvider, type UserInfo } from './user-provider.js';
4
- export { FiltersContext } from './filters-context.js';