@accounter/client
Version:
Accounter client application
4 lines • 102 kB
JavaScript
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{i as r,r as i,t as a}from"./error-handling-CKe_iwSC.js";import{a as o,s,t as c}from"./routes-Cawu7UJi.js";import{n as l,t as u}from"./loader-circle-CfW9jOIr.js";import{$n as d,$t as f,B as p,Bn as m,Bt as h,Ct as g,Dr as _,Dt as v,Er as y,Et as b,Fr as x,Gt as S,H as C,In as w,It as T,J as E,Jt as D,K as O,Lt as ee,Nn as k,O as te,On as ne,Ot as re,Qn as A,Rt as j,Sr as ie,Tr as M,V as ae,W as oe,Yn as se,Zt as N,ar as P,at as F,ct as I,en as L,hr as R,i as ce,in as le,ir as ue,it as de,jn as fe,kn as pe,l as me,lt as he,m as ge,mr as _e,nn as ve,nr as ye,nt as be,o as xe,pt as Se,q as Ce,qt as we,r as Te,rn as Ee,rr as De,s as Oe,t as ke,tn as Ae,tt as je,v as Me,vr as Ne,x as Pe,xr as Fe,xt as Ie,yt as Le,z as Re,zt as ze}from"./common-D-vYt_Yl.js";import{i as Be,n as Ve,r as He,t as Ue}from"./bank-deposits-e7ndUl2A.js";import{a as We,c as Ge,d as Ke,f as qe,i as Je,l as Ye,mt as Xe,n as Ze,o as Qe,p as $e,pt as et,r as tt,s as nt,t as rt,u as it,ut as at}from"./select-Zdatwv1b.js";import{d as ot,f as st,h as ct,l as lt,m as ut,p as dt,u as ft}from"./separator-BvKylNhK.js";import{t as pt}from"./tags-tm_wWY1J.js";import{t as z}from"./button-DUNsVBiu.js";import{i as B,n as V,r as H,t as mt}from"./accordion-BzqgxfVF.js";import{Al as ht,Bc as gt,El as U,Gc as _t,Hc as vt,Jc as yt,Kc as bt,Ol as W,Qc as xt,Tl as St,Ul as Ct,Vc as wt,Wc as Tt,Xc as Et,Zc as G,a as Dt,al as Ot,c as kt,cl as At,d as jt,dl as Mt,i as K,il as Nt,n as Pt,nl as Ft,o as q,ol as It,qc as Lt,r as J,rl as Rt,s as zt,sl as Bt,t as Vt,ul as Ht}from"./table-AJA7Uyxy.js";import{n as Ut,o as Wt,t as Gt}from"./card-DR4aRSHr.js";import{Aa as Kt,Da as qt,Ea as Jt,Jn as Yt,Jt as Xt,Kt as Zt,Li as Qt,Nn as $t,Pn as en,Qo as tn,Qt as nn,Sr as rn,T as an,Ta as on,Vn as sn,Wn as cn,Xo as ln,Xt as un,Zn as dn,Zo as fn,et as pn,f as mn,fn as hn,hr as gn,io as _n,kn as vn,ln as yn,mr as bn,nn as xn,nr as Sn,on as Cn,pn as wn,qt as Y,rn as Tn,rt as En,un as Dn,vi as X,wa as On,wn as kn,zi as An}from"./graphql-DC5GYCFE.js";import{t as jn}from"./Card-DAEfmIiS.js";import{n as Mn,t as Nn}from"./alert-55QsYEfR.js";import{t as Pn}from"./ledger-table-DkbQcwlG.js";import{a as Fn,c as In,i as Ln,n as Rn,o as zn,r as Bn,s as Vn,t as Hn}from"./transactions-table-CjM8Mk5o.js";var Un=l(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),Wn=l(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),Z=e(n()),Gn=e(r()),Kn=Object.defineProperty,qn=Object.defineProperties,Jn=Object.getOwnPropertyDescriptors,Yn=Object.getOwnPropertySymbols,Xn=Object.prototype.hasOwnProperty,Zn=Object.prototype.propertyIsEnumerable,Qn=(e,t,n)=>t in e?Kn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$n=(e,t)=>{for(var n in t||={})Xn.call(t,n)&&Qn(e,n,t[n]);if(Yn)for(var n of Yn(t))Zn.call(t,n)&&Qn(e,n,t[n]);return e},er=(e,t)=>qn(e,Jn(t)),tr=(e,t)=>{var n={};for(var r in e)Xn.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Yn)for(var r of Yn(e))t.indexOf(r)<0&&Zn.call(e,r)&&(n[r]=e[r]);return n};function nr(e){if(!e||typeof e==`string`)return 0;let t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function rr(e){return e?.current?e.current.scrollHeight:`auto`}var ir=typeof window<`u`&&window.requestAnimationFrame;function ar({transitionDuration:e,transitionTimingFunction:t=`ease`,onTransitionEnd:n=()=>{},opened:r}){let i=(0,Z.useRef)(null),a={display:`none`,height:0,overflow:`hidden`},[o,s]=(0,Z.useState)(r?{}:a),c=e=>{(0,Gn.flushSync)(()=>s(e))},l=e=>{c(t=>$n($n({},t),e))};function u(n){return{transition:`height ${e||nr(n)}ms ${t}`}}Bt(()=>{ir(r?()=>{l({willChange:`height`,display:`block`,overflow:`hidden`}),ir(()=>{let e=rr(i);l(er($n({},u(e)),{height:e}))})}:()=>{let e=rr(i);l(er($n({},u(e)),{willChange:`height`,height:e})),ir(()=>l({height:0,overflow:`hidden`}))})},[r]);let d=e=>{if(e.target===i.current&&e.propertyName===`height`){if(r){let e=rr(i);e===o.height?c({}):l({height:e}),n()}else o.height===0&&(c(a),n())}};function f(e={}){var t=e,{style:n={},refKey:a=`ref`}=t,s=tr(t,[`style`,`refKey`]);let c=s[a];return er($n({"aria-hidden":!r},s),{[a]:k(i,c),onTransitionEnd:d,style:$n($n({boxSizing:`border-box`},n),o)})}return f}var or=Object.defineProperty,sr=Object.getOwnPropertySymbols,cr=Object.prototype.hasOwnProperty,lr=Object.prototype.propertyIsEnumerable,ur=(e,t,n)=>t in e?or(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dr=(e,t)=>{for(var n in t||={})cr.call(t,n)&&ur(e,n,t[n]);if(sr)for(var n of sr(t))lr.call(t,n)&&ur(e,n,t[n]);return e},fr=(e,t)=>{var n={};for(var r in e)cr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&sr)for(var r of sr(e))t.indexOf(r)<0&&lr.call(e,r)&&(n[r]=e[r]);return n},pr={transitionDuration:200,transitionTimingFunction:`ease`,animateOpacity:!0},mr=(0,Z.forwardRef)((e,t)=>{let n=Ht(`Collapse`,pr,e),{children:r,in:i,transitionDuration:a,transitionTimingFunction:o,style:s,onTransitionEnd:c,animateOpacity:l}=n,u=fr(n,[`children`,`in`,`transitionDuration`,`transitionTimingFunction`,`style`,`onTransitionEnd`,`animateOpacity`]),d=Mt(),f=fe(),p=d.respectReducedMotion&&f?0:a,{systemStyles:m,rest:h}=It(u),g=ar({opened:i,transitionDuration:p,transitionTimingFunction:o,onTransitionEnd:c});return p===0?i?Z.createElement(Ot,dr({},h),r):null:Z.createElement(Ot,dr({},g(dr(dr({style:s,ref:t},h),m))),Z.createElement(`div`,{style:{opacity:i||!l?1:0,transition:l?`opacity ${p}ms ${o}`:`none`}},r))});mr.displayName=`@mantine/core/Collapse`;var hr=Object.defineProperty,gr=Object.defineProperties,_r=Object.getOwnPropertyDescriptors,vr=Object.getOwnPropertySymbols,yr=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,xr=(e,t,n)=>t in e?hr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sr=(e,t)=>{for(var n in t||={})yr.call(t,n)&&xr(e,n,t[n]);if(vr)for(var n of vr(t))br.call(t,n)&&xr(e,n,t[n]);return e},Cr=(e,t)=>gr(e,_r(t)),wr=[`light`,`filled`,`outline`,`dot`,`gradient`],Tr={xs:{fontSize:W(9),height:W(16)},sm:{fontSize:W(10),height:W(18)},md:{fontSize:W(11),height:W(20)},lg:{fontSize:W(13),height:W(26)},xl:{fontSize:W(16),height:W(32)}},Er={xs:W(4),sm:W(4),md:W(6),lg:W(8),xl:W(10)};function Dr({theme:e,variant:t,color:n,size:r,gradient:i}){if(!wr.includes(t))return null;if(t===`dot`){let t=U({size:r,sizes:Er});return{backgroundColor:`transparent`,color:e.colorScheme===`dark`?e.colors.dark[0]:e.colors.gray[7],border:`${W(1)} solid ${e.colorScheme===`dark`?e.colors.dark[3]:e.colors.gray[3]}`,paddingLeft:`calc(${U({size:r,sizes:e.spacing})} / 1.5 - ${t} / 2)`,"&::before":{content:`""`,display:`block`,width:t,height:t,borderRadius:t,backgroundColor:e.fn.themeColor(n,e.colorScheme===`dark`?4:e.fn.primaryShade(`light`),!0),marginRight:t}}}let a=e.fn.variant({color:n,variant:t,gradient:i});return{background:a.background,color:a.color,border:`${W(t===`gradient`?0:1)} solid ${a.border}`}}var Or=At((e,{color:t,radius:n,gradient:r,fullWidth:i},{variant:a,size:o})=>{let{fontSize:s,height:c}=o in Tr?Tr[o]:Tr.md;return{leftSection:{marginRight:`calc(${e.spacing.xs} / 2)`},rightSection:{marginLeft:`calc(${e.spacing.xs} / 2)`},inner:{whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},root:Sr(Cr(Sr(Sr({},e.fn.focusStyles()),e.fn.fontStyles()),{fontSize:s,height:c,WebkitTapHighlightColor:`transparent`,lineHeight:`calc(${c} - ${W(2)})`,textDecoration:`none`,padding:`0 calc(${U({size:o,sizes:e.spacing})} / 1.5)`,boxSizing:`border-box`,display:i?`flex`:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:i?`100%`:`auto`,textTransform:`uppercase`,borderRadius:e.fn.radius(n),fontWeight:700,letterSpacing:W(.25),cursor:`inherit`,textOverflow:`ellipsis`,overflow:`hidden`}),Dr({theme:e,variant:a,color:t,size:o,gradient:r}))}}),kr=Object.defineProperty,Ar=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Mr=Object.prototype.propertyIsEnumerable,Nr=(e,t,n)=>t in e?kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pr=(e,t)=>{for(var n in t||={})jr.call(t,n)&&Nr(e,n,t[n]);if(Ar)for(var n of Ar(t))Mr.call(t,n)&&Nr(e,n,t[n]);return e},Fr=(e,t)=>{var n={};for(var r in e)jr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ar)for(var r of Ar(e))t.indexOf(r)<0&&Mr.call(e,r)&&(n[r]=e[r]);return n},Ir={variant:`light`,size:`md`,radius:`xl`},Lr=(0,Z.forwardRef)((e,t)=>{let n=Ht(`Badge`,Ir,e),{className:r,color:i,variant:a,fullWidth:o,children:s,size:c,leftSection:l,rightSection:u,radius:d,gradient:f,classNames:p,styles:m,unstyled:h}=n,g=Fr(n,[`className`,`color`,`variant`,`fullWidth`,`children`,`size`,`leftSection`,`rightSection`,`radius`,`gradient`,`classNames`,`styles`,`unstyled`]),{classes:_,cx:v}=Or({fullWidth:o,color:i,radius:d,gradient:f},{classNames:p,styles:m,name:`Badge`,unstyled:h,variant:a,size:c});return Z.createElement(Ot,Pr({className:v(_.root,r),ref:t},g),l&&Z.createElement(`span`,{className:_.leftSection},l),Z.createElement(`span`,{className:_.inner},s),u&&Z.createElement(`span`,{className:_.rightSection},u))});Lr.displayName=`@mantine/core/Badge`;var Rr=ht(Lr),zr=Object.defineProperty,Br=Object.defineProperties,Vr=Object.getOwnPropertyDescriptors,Hr=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,Wr=Object.prototype.propertyIsEnumerable,Gr=(e,t,n)=>t in e?zr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Kr=(e,t)=>{for(var n in t||={})Ur.call(t,n)&&Gr(e,n,t[n]);if(Hr)for(var n of Hr(t))Wr.call(t,n)&&Gr(e,n,t[n]);return e},qr=(e,t)=>Br(e,Vr(t)),Jr={xs:W(16),sm:W(20),md:W(26),lg:W(32),xl:W(40)},Yr=[`filled`,`light`,`gradient`,`outline`,`default`];function Xr({theme:e,variant:t,color:n,gradient:r}){if(!Yr.includes(t))return null;let i=e.fn.variant({variant:t,color:n||e.primaryColor,gradient:r,primaryFallback:!1});return{backgroundColor:i.background,color:i.color,backgroundImage:t===`gradient`?i.background:void 0,border:`${W(t===`gradient`?0:1)} solid ${i.border}`}}var Zr=At((e,{color:t,radius:n,gradient:r},{variant:i,size:a})=>{let o=U({size:a,sizes:Jr});return{root:Kr(qr(Kr({},e.fn.fontStyles()),{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,boxSizing:`border-box`,width:o,height:o,minWidth:o,minHeight:o,borderRadius:e.fn.radius(n)}),Xr({theme:e,variant:i,gradient:r,color:t}))}}),Qr=Object.defineProperty,$r=Object.getOwnPropertySymbols,ei=Object.prototype.hasOwnProperty,ti=Object.prototype.propertyIsEnumerable,ni=(e,t,n)=>t in e?Qr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ri=(e,t)=>{for(var n in t||={})ei.call(t,n)&&ni(e,n,t[n]);if($r)for(var n of $r(t))ti.call(t,n)&&ni(e,n,t[n]);return e},ii=(e,t)=>{var n={};for(var r in e)ei.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$r)for(var r of $r(e))t.indexOf(r)<0&&ti.call(e,r)&&(n[r]=e[r]);return n},ai={size:`md`,variant:`filled`},oi=(0,Z.forwardRef)((e,t)=>{let n=Ht(`ThemeIcon`,ai,e),{className:r,size:i,radius:a,variant:o,color:s,children:c,gradient:l,unstyled:u}=n,d=ii(n,[`className`,`size`,`radius`,`variant`,`color`,`children`,`gradient`,`unstyled`]),{classes:f,cx:p}=Zr({variant:o,radius:a,color:s,gradient:l},{name:`ThemeIcon`,unstyled:u,variant:o,size:i});return Z.createElement(Ot,ri({className:p(f.root,r),ref:t},d),c)});oi.displayName=`@mantine/core/ThemeIcon`;var Q=t();function si({minDebitDate:e,minEventDate:t,minDocumentsDate:n,maxDebitDate:r,maxEventDate:i,maxDocumentsDate:a}){if(!n&&!t&&!e)return;let o=[n,t,e].filter(Boolean).map(e=>new Date(e).getTime()),s=[a,i,r].filter(Boolean).map(e=>new Date(e).getTime()),c=o.length>0?new Date(Math.min(...o)):void 0,l=s.length>0?new Date(Math.max(...s)):void 0,u=n||t||e;return{date:u?new Date(u):void 0,mostMinDate:c,mostMaxDate:l}}var ci=({date:e,mostMinDate:t,mostMaxDate:n})=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{children:e&&Ct(e,`dd/MM/yy`)}),t&&n&&t.getTime()!==n.getTime()?(0,Q.jsxs)(`div`,{className:`text-xs text-gray-500`,children:[`(`,Ct(t,`dd/MM/yy`),` - `,Ct(n,`dd/MM/yy`),`)`]}):null]}),li=(0,Z.createContext)({active:!1,fetching:!1,getCharge:()=>void 0,refetch:()=>void 0});function ui({chargeIds:e,active:t,children:n}){let[{data:r,fetching:i},a]=tn({query:yn,variables:{chargeIDs:e},pause:!t||e.length===0}),o=(0,Z.useMemo)(()=>{let e=new Map;for(let t of r?.chargesByIDs??[])e.set(t.id,t);return e},[r]),s=(0,Z.useCallback)(()=>{a({requestPolicy:`network-only`})},[a]),c=(0,Z.useMemo)(()=>({active:t,fetching:t?i:!1,getCharge:e=>o.get(e),refetch:s}),[t,i,o,s]);return(0,Q.jsx)(li.Provider,{value:c,children:n})}function di(e){return Object.prototype.toString.call(e)===`[object Object]`}function fi(e){return di(e)||Array.isArray(e)}function pi(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}function mi(e,t){let n=Object.keys(e),r=Object.keys(t);return n.length!==r.length||JSON.stringify(Object.keys(e.breakpoints||{}))!==JSON.stringify(Object.keys(t.breakpoints||{}))?!1:n.every(n=>{let r=e[n],i=t[n];return typeof r==`function`?`${r}`==`${i}`:!fi(r)||!fi(i)?r===i:mi(r,i)})}function hi(e){return e.concat().sort((e,t)=>e.name>t.name?1:-1).map(e=>e.options)}function gi(e,t){if(e.length!==t.length)return!1;let n=hi(e),r=hi(t);return n.every((e,t)=>{let n=r[t];return mi(e,n)})}function _i(e){return typeof e==`number`}function vi(e){return typeof e==`string`}function yi(e){return typeof e==`boolean`}function bi(e){return Object.prototype.toString.call(e)===`[object Object]`}function $(e){return Math.abs(e)}function xi(e){return Math.sign(e)}function Si(e,t){return $(e-t)}function Ci(e,t){return e===0||t===0||$(e)<=$(t)?0:$(Si($(e),$(t))/e)}function wi(e){return Math.round(e*100)/100}function Ti(e){return Ai(e).map(Number)}function Ei(e){return e[Di(e)]}function Di(e){return Math.max(0,e.length-1)}function Oi(e,t){return t===Di(e)}function ki(e,t=0){return Array.from(Array(e),(e,n)=>t+n)}function Ai(e){return Object.keys(e)}function ji(e,t){return[e,t].reduce((e,t)=>(Ai(t).forEach(n=>{let r=e[n],i=t[n];e[n]=bi(r)&&bi(i)?ji(r,i):i}),e),{})}function Mi(e,t){return t.MouseEvent!==void 0&&e instanceof t.MouseEvent}function Ni(e,t){let n={start:r,center:i,end:a};function r(){return 0}function i(e){return a(e)/2}function a(e){return t-e}function o(r,i){return vi(e)?n[e](r):e(t,r,i)}return{measure:o}}function Pi(){let e=[];function t(t,n,i,a={passive:!0}){let o;if(`addEventListener`in t)t.addEventListener(n,i,a),o=()=>t.removeEventListener(n,i,a);else{let e=t;e.addListener(i),o=()=>e.removeListener(i)}return e.push(o),r}function n(){e=e.filter(e=>e())}let r={add:t,clear:n};return r}function Fi(e,t,n,r){let i=Pi(),a=1e3/60,o=null,s=0,c=0;function l(){i.add(e,`visibilitychange`,()=>{e.hidden&&m()})}function u(){p(),i.clear()}function d(e){if(!c)return;o||(o=e,n(),n());let i=e-o;for(o=e,s+=i;s>=a;)n(),s-=a;r(s/a),c&&=t.requestAnimationFrame(d)}function f(){c||=t.requestAnimationFrame(d)}function p(){t.cancelAnimationFrame(c),o=null,s=0,c=0}function m(){o=null,s=0}return{init:l,destroy:u,start:f,stop:p,update:n,render:r}}function Ii(e,t){let n=t===`rtl`,r=e===`y`,i=r?`y`:`x`,a=r?`x`:`y`,o=!r&&n?-1:1,s=u(),c=d();function l(e){let{height:t,width:n}=e;return r?t:n}function u(){return r?`top`:n?`right`:`left`}function d(){return r?`bottom`:n?`left`:`right`}function f(e){return e*o}return{scroll:i,cross:a,startEdge:s,endEdge:c,measureSize:l,direction:f}}function Li(e=0,t=0){let n=$(e-t);function r(t){return t<e}function i(e){return e>t}function a(e){return r(e)||i(e)}function o(n){return a(n)?r(n)?e:t:n}function s(e){return n?e-n*Math.ceil((e-t)/n):e}return{length:n,max:t,min:e,constrain:o,reachedAny:a,reachedMax:i,reachedMin:r,removeOffset:s}}function Ri(e,t,n){let{constrain:r}=Li(0,e),i=e+1,a=o(t);function o(e){return n?$((i+e)%i):r(e)}function s(){return a}function c(e){return a=o(e),d}function l(e){return u().set(s()+e)}function u(){return Ri(e,s(),n)}let d={get:s,set:c,add:l,clone:u};return d}function zi(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let{cross:y,direction:b}=e,x=[`INPUT`,`SELECT`,`TEXTAREA`],S={passive:!1},C=Pi(),w=Pi(),T=Li(50,225).constrain(p.measure(20)),E={mouse:300,touch:400},D={mouse:500,touch:600},O=m?43:25,ee=!1,k=0,te=0,ne=!1,re=!1,A=!1,j=!1;function ie(e){if(!v)return;function n(t){(yi(v)||v(e,t))&&P(t)}let r=t;C.add(r,`dragstart`,e=>e.preventDefault(),S).add(r,`touchmove`,()=>void 0,S).add(r,`touchend`,()=>void 0).add(r,`touchstart`,n).add(r,`mousedown`,n).add(r,`touchcancel`,I).add(r,`contextmenu`,I).add(r,`click`,L,!0)}function M(){C.clear(),w.clear()}function ae(){let e=j?n:t;w.add(e,`touchmove`,F,S).add(e,`touchend`,I).add(e,`mousemove`,F,S).add(e,`mouseup`,I)}function oe(e){let t=e.nodeName||``;return x.includes(t)}function se(){return(m?D:E)[j?`mouse`:`touch`]}function N(e,t){let n=d.add(xi(e)*-1),r=u.byDistance(e,!m).distance;return m||$(e)<T?r:g&&t?r*.5:u.byIndex(n.get(),0).distance}function P(e){let t=Mi(e,r);j=t,A=m&&t&&!e.buttons&&ee,ee=Si(i.get(),o.get())>=2,!(t&&e.button!==0)&&(oe(e.target)||(ne=!0,a.pointerDown(e),l.useFriction(0).useDuration(0),i.set(o),ae(),k=a.readPoint(e),te=a.readPoint(e,y),f.emit(`pointerDown`)))}function F(e){if(!Mi(e,r)&&e.touches.length>=2)return I(e);let t=a.readPoint(e),n=a.readPoint(e,y),o=Si(t,k),c=Si(n,te);if(!re&&!j&&(!e.cancelable||(re=o>c,!re)))return I(e);let u=a.pointerMove(e);o>h&&(A=!0),l.useFriction(.3).useDuration(.75),s.start(),i.add(b(u)),e.preventDefault()}function I(e){let t=u.byDistance(0,!1).index!==d.get(),n=a.pointerUp(e)*se(),r=N(b(n),t),i=Ci(n,r),o=O-10*i,s=_+i/50;re=!1,ne=!1,w.clear(),l.useDuration(o).useFriction(s),c.distance(r,!m),j=!1,f.emit(`pointerUp`)}function L(e){A&&=(e.stopPropagation(),e.preventDefault(),!1)}function R(){return ne}return{init:ie,destroy:M,pointerDown:R}}function Bi(e,t){let n,r;function i(e){return e.timeStamp}function a(n,r){let i=`client${(r||e.scroll)===`x`?`X`:`Y`}`;return(Mi(n,t)?n:n.touches[0])[i]}function o(e){return n=e,r=e,a(e)}function s(e){let t=a(e)-a(r),o=i(e)-i(n)>170;return r=e,o&&(n=e),t}function c(e){if(!n||!r)return 0;let t=a(r)-a(n),o=i(e)-i(n),s=i(e)-i(r)>170,c=t/o;return o&&!s&&$(c)>.1?c:0}return{pointerDown:o,pointerMove:s,pointerUp:c,readPoint:a}}function Vi(){function e(e){let{offsetTop:t,offsetLeft:n,offsetWidth:r,offsetHeight:i}=e;return{top:t,right:n+r,bottom:t+i,left:n,width:r,height:i}}return{measure:e}}function Hi(e){function t(t){return t/100*e}return{measure:t}}function Ui(e,t,n,r,i,a,o){let s=[e].concat(r),c,l,u=[],d=!1;function f(e){return i.measureSize(o.measure(e))}function p(i){if(!a)return;l=f(e),u=r.map(f);function o(n){for(let a of n){if(d)return;let n=a.target===e,o=r.indexOf(a.target),s=n?l:u[o];if($(f(n?e:r[o])-s)>=.5){i.reInit(),t.emit(`resize`);break}}}c=new ResizeObserver(e=>{(yi(a)||a(i,e))&&o(e)}),n.requestAnimationFrame(()=>{s.forEach(e=>c.observe(e))})}function m(){d=!0,c&&c.disconnect()}return{init:p,destroy:m}}function Wi(e,t,n,r,i,a){let o=0,s=0,c=i,l=a,u=e.get(),d=0;function f(){let t=r.get()-e.get(),i=!c,a=0;return i?(o=0,n.set(r),e.set(r),a=t):(n.set(e),o+=t/c,o*=l,u+=o,e.add(o),a=u-d),s=xi(a),d=u,x}function p(){return $(r.get()-t.get())<.001}function m(){return c}function h(){return s}function g(){return o}function _(){return y(i)}function v(){return b(a)}function y(e){return c=e,x}function b(e){return l=e,x}let x={direction:h,duration:m,velocity:g,seek:f,settled:p,useBaseFriction:v,useBaseDuration:_,useFriction:b,useDuration:y};return x}function Gi(e,t,n,r,i){let a=i.measure(10),o=i.measure(50),s=Li(.1,.99),c=!1;function l(){return!(c||!e.reachedAny(n.get())||!e.reachedAny(t.get()))}function u(i){if(!l())return;let c=$(e[e.reachedMin(t.get())?`min`:`max`]-t.get()),u=n.get()-t.get(),d=s.constrain(c/o);n.subtract(u*d),!i&&$(u)<a&&(n.set(e.constrain(n.get())),r.useDuration(25).useBaseFriction())}function d(e){c=!e}return{shouldConstrain:l,constrain:u,toggleActive:d}}function Ki(e,t,n,r,i){let a=Li(-t+e,0),o=d(),s=u(),c=f();function l(e,t){return Si(e,t)<=1}function u(){let e=o[0],t=Ei(o);return Li(o.lastIndexOf(e),o.indexOf(t)+1)}function d(){return n.map((e,t)=>{let{min:r,max:i}=a,o=a.constrain(e),s=!t,c=Oi(n,t);return s?i:c||l(r,o)?r:l(i,o)?i:o}).map(e=>parseFloat(e.toFixed(3)))}function f(){if(t<=e+i)return[a.max];if(r===`keepSnaps`)return o;let{min:n,max:c}=s;return o.slice(n,c)}return{snapsContained:c,scrollContainLimit:s}}function qi(e,t,n){let r=t[0];return{limit:Li(n?r-e:Ei(t),r)}}function Ji(e,t,n,r){let i=.1,{reachedMin:a,reachedMax:o}=Li(t.min+i,t.max+i);function s(e){return e===1?o(n.get()):e===-1&&a(n.get())}function c(t){if(!s(t))return;let n=t*-1*e;r.forEach(e=>e.add(n))}return{loop:c}}function Yi(e){let{max:t,length:n}=e;function r(e){let r=e-t;return n?r/-n:0}return{get:r}}function Xi(e,t,n,r,i){let{startEdge:a,endEdge:o}=e,{groupSlides:s}=i,c=d().map(t.measure),l=f(),u=p();function d(){return s(r).map(e=>Ei(e)[o]-e[0][a]).map($)}function f(){return r.map(e=>n[a]-e[a]).map(e=>-$(e))}function p(){return s(l).map(e=>e[0]).map((e,t)=>e+c[t])}return{snaps:l,snapsAligned:u}}function Zi(e,t,n,r,i,a){let{groupSlides:o}=i,{min:s,max:c}=r,l=u();function u(){let r=o(a),i=!e||t===`keepSnaps`;return n.length===1?[a]:i?r:r.slice(s,c).map((e,t,n)=>{let r=!t,i=Oi(n,t);return r?ki(Ei(n[0])+1):i?ki(Di(a)-Ei(n)[0]+1,Ei(n)[0]):e})}return{slideRegistry:l}}function Qi(e,t,n,r,i){let{reachedAny:a,removeOffset:o,constrain:s}=r;function c(e){return e.concat().sort((e,t)=>$(e)-$(t))[0]}function l(n){let r=e?o(n):s(n),{index:i}=t.map((e,t)=>({diff:u(e-r,0),index:t})).sort((e,t)=>$(e.diff)-$(t.diff))[0];return{index:i,distance:r}}function u(t,r){let i=[t,t+n,t-n];if(!e)return t;if(!r)return c(i);let a=i.filter(e=>xi(e)===r);return a.length?c(a):Ei(i)-n}function d(e,n){return{index:e,distance:u(t[e]-i.get(),n)}}function f(n,r){let o=i.get()+n,{index:s,distance:c}=l(o),d=!e&&a(o);return!r||d?{index:s,distance:n}:{index:s,distance:n+u(t[s]-c,0)}}return{byDistance:f,byIndex:d,shortcut:u}}function $i(e,t,n,r,i,a,o){function s(i){let s=i.distance,c=i.index!==t.get();a.add(s),s&&(r.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(i.index),o.emit(`select`))}function c(e,t){s(i.byDistance(e,t))}function l(e,n){let r=t.clone().set(e);s(i.byIndex(r.get(),n))}return{distance:c,index:l}}function ea(e,t,n,r,i,a,o,s){let c={passive:!0,capture:!0},l=0;function u(u){if(!s)return;function f(t){if(new Date().getTime()-l>10)return;o.emit(`slideFocusStart`),e.scrollLeft=0;let a=n.findIndex(e=>e.includes(t));_i(a)&&(i.useDuration(0),r.index(a,0),o.emit(`slideFocus`))}a.add(document,`keydown`,d,!1),t.forEach((e,t)=>{a.add(e,`focus`,e=>{(yi(s)||s(u,e))&&f(t)},c)})}function d(e){e.code===`Tab`&&(l=new Date().getTime())}return{init:u}}function ta(e){let t=e;function n(){return t}function r(e){t=o(e)}function i(e){t+=o(e)}function a(e){t-=o(e)}function o(e){return _i(e)?e:e.get()}return{get:n,set:r,add:i,subtract:a}}function na(e,t){let n=e.scroll===`x`?o:s,r=t.style,i=null,a=!1;function o(e){return`translate3d(${e}px,0px,0px)`}function s(e){return`translate3d(0px,${e}px,0px)`}function c(t){if(a)return;let o=wi(e.direction(t));o!==i&&(r.transform=n(o),i=o)}function l(e){a=!e}function u(){a||(r.transform=``,t.getAttribute(`style`)||t.removeAttribute(`style`))}return{clear:u,to:c,toggleActive:l}}function ra(e,t,n,r,i,a,o,s,c){let l=.5,u=Ti(i),d=Ti(i).reverse(),f=_().concat(v());function p(e,t){return e.reduce((e,t)=>e-i[t],t)}function m(e,t){return e.reduce((e,n)=>p(e,t)>0?e.concat([n]):e,[])}function h(e){return a.map((n,i)=>({start:n-r[i]+l+e,end:n+t-l+e}))}function g(t,r,i){let a=h(r);return t.map(t=>{let r=i?0:-n,o=i?n:0,l=i?`end`:`start`,u=a[t][l];return{index:t,loopPoint:u,slideLocation:ta(-1),translate:na(e,c[t]),target:()=>s.get()>u?r:o}})}function _(){let e=o[0];return g(m(d,e),n,!1)}function v(){let e=t-o[0]-1;return g(m(u,e),-n,!0)}function y(){return f.every(({index:e})=>p(u.filter(t=>t!==e),t)<=.1)}function b(){f.forEach(e=>{let{target:t,translate:n,slideLocation:r}=e,i=t();i!==r.get()&&(n.to(i),r.set(i))})}function x(){f.forEach(e=>e.translate.clear())}return{canLoop:y,clear:x,loop:b,loopPoints:f}}function ia(e,t,n){let r,i=!1;function a(a){if(!n)return;function o(e){for(let n of e)if(n.type===`childList`){a.reInit(),t.emit(`slidesChanged`);break}}r=new MutationObserver(e=>{i||(yi(n)||n(a,e))&&o(e)}),r.observe(e,{childList:!0})}function o(){r&&r.disconnect(),i=!0}return{init:a,destroy:o}}function aa(e,t,n,r){let i={},a=null,o=null,s,c=!1;function l(){s=new IntersectionObserver(e=>{c||(e.forEach(e=>{let n=t.indexOf(e.target);i[n]=e}),a=null,o=null,n.emit(`slidesInView`))},{root:e.parentElement,threshold:r}),t.forEach(e=>s.observe(e))}function u(){s&&s.disconnect(),c=!0}function d(e){return Ai(i).reduce((t,n)=>{let r=parseInt(n),{isIntersecting:a}=i[r];return(e&&a||!e&&!a)&&t.push(r),t},[])}function f(e=!0){if(e&&a)return a;if(!e&&o)return o;let t=d(e);return e&&(a=t),e||(o=t),t}return{init:l,destroy:u,get:f}}function oa(e,t,n,r,i,a){let{measureSize:o,startEdge:s,endEdge:c}=e,l=n[0]&&i,u=m(),d=h(),f=n.map(o),p=g();function m(){if(!l)return 0;let e=n[0];return $(t[s]-e[s])}function h(){if(!l)return 0;let e=a.getComputedStyle(Ei(r));return parseFloat(e.getPropertyValue(`margin-${c}`))}function g(){return n.map((e,t,n)=>{let r=!t,i=Oi(n,t);return r?f[t]+u:i?f[t]+d:n[t+1][s]-e[s]}).map($)}return{slideSizes:f,slideSizesWithGaps:p,startGap:u,endGap:d}}function sa(e,t,n,r,i,a,o,s,c){let{startEdge:l,endEdge:u,direction:d}=e,f=_i(n);function p(e,t){return Ti(e).filter(e=>e%t===0).map(n=>e.slice(n,n+t))}function m(e){return e.length?Ti(e).reduce((n,f,p)=>{let m=Ei(n)||0,h=m===0,g=f===Di(e),_=i[l]-a[m][l],v=i[l]-a[f][u],y=!r&&h?d(o):0,b=$(v-(!r&&g?d(s):0)-(_+y));return p&&b>t+c&&n.push(f),g&&n.push(e.length),n},[]).map((t,n,r)=>{let i=Math.max(r[n-1]||0);return e.slice(i,t)}):[]}function h(e){return f?p(e,n):m(e)}return{groupSlides:h}}function ca(e,t,n,r,i,a,o){let{align:s,axis:c,direction:l,startIndex:u,loop:d,duration:f,dragFree:p,dragThreshold:m,inViewThreshold:h,slidesToScroll:g,skipSnaps:_,containScroll:v,watchResize:y,watchSlides:b,watchDrag:x,watchFocus:S}=a,C=Vi(),w=C.measure(t),T=n.map(C.measure),E=Ii(c,l),D=E.measureSize(w),O=Hi(D),ee=Ni(s,D),k=!d&&!!v,{slideSizes:te,slideSizesWithGaps:ne,startGap:re,endGap:A}=oa(E,w,T,n,d||!!v,i),j=sa(E,D,g,d,w,T,re,A,2),{snaps:ie,snapsAligned:M}=Xi(E,ee,w,T,j),ae=-Ei(ie)+Ei(ne),{snapsContained:oe,scrollContainLimit:se}=Ki(D,ae,M,v,2),N=k?oe:M,{limit:P}=qi(ae,N,d),F=Ri(Di(N),u,d),I=F.clone(),L=Ti(n),R=({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:r}})=>{r||n.constrain(e.pointerDown()),t.seek()},ce=({scrollBody:e,translate:t,location:n,offsetLocation:r,previousLocation:i,scrollLooper:a,slideLooper:o,dragHandler:s,animation:c,eventHandler:l,scrollBounds:u,options:{loop:d}},f)=>{let p=e.settled(),m=!u.shouldConstrain(),h=d?p:p&&m,g=h&&!s.pointerDown();g&&c.stop();let _=n.get()*f+i.get()*(1-f);r.set(_),d&&(a.loop(e.direction()),o.loop()),t.to(r.get()),g&&l.emit(`settle`),h||l.emit(`scroll`)},le=Fi(r,i,()=>R(we),e=>ce(we,e)),ue=.68,de=N[F.get()],fe=ta(de),pe=ta(de),me=ta(de),he=ta(de),ge=Wi(fe,me,pe,he,f,ue),_e=Qi(d,N,ae,P,he),ve=$i(le,F,I,ge,_e,he,o),ye=Yi(P),be=Pi(),xe=aa(t,n,o,h),{slideRegistry:Se}=Zi(k,v,N,se,j,L),Ce=ea(e,n,Se,ve,ge,be,o,S),we={ownerDocument:r,ownerWindow:i,eventHandler:o,containerRect:w,slideRects:T,animation:le,axis:E,dragHandler:zi(E,e,r,i,he,Bi(E,i),fe,le,ve,ge,_e,F,o,O,p,m,_,ue,x),eventStore:be,percentOfView:O,index:F,indexPrevious:I,limit:P,location:fe,offsetLocation:me,previousLocation:pe,options:a,resizeHandler:Ui(t,o,i,n,E,y,C),scrollBody:ge,scrollBounds:Gi(P,me,he,ge,O),scrollLooper:Ji(ae,P,me,[fe,me,pe,he]),scrollProgress:ye,scrollSnapList:N.map(ye.get),scrollSnaps:N,scrollTarget:_e,scrollTo:ve,slideLooper:ra(E,D,ae,te,ne,ie,N,me,n),slideFocus:Ce,slidesHandler:ia(t,o,b),slidesInView:xe,slideIndexes:L,slideRegistry:Se,slidesToScroll:j,target:he,translate:na(E,t)};return we}function la(){let e={},t;function n(e){t=e}function r(t){return e[t]||[]}function i(e){return r(e).forEach(n=>n(t,e)),c}function a(t,n){return e[t]=r(t).concat([n]),c}function o(t,n){return e[t]=r(t).filter(e=>e!==n),c}function s(){e={}}let c={init:n,emit:i,off:o,on:a,clear:s};return c}var ua={align:`center`,axis:`x`,container:null,slides:null,containScroll:`trimSnaps`,direction:`ltr`,slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function da(e){function t(e,t){return ji(e,t||{})}function n(n){let r=n.breakpoints||{};return t(n,Ai(r).filter(t=>e.matchMedia(t).matches).map(e=>r[e]).reduce((e,n)=>t(e,n),{}))}function r(t){return t.map(e=>Ai(e.breakpoints||{})).reduce((e,t)=>e.concat(t),[]).map(e.matchMedia)}return{mergeOptions:t,optionsAtMedia:n,optionsMediaQueries:r}}function fa(e){let t=[];function n(n,r){return t=r.filter(({options:t})=>e.optionsAtMedia(t).active!==!1),t.forEach(t=>t.init(n,e)),r.reduce((e,t)=>Object.assign(e,{[t.name]:t}),{})}function r(){t=t.filter(e=>e.destroy())}return{init:n,destroy:r}}function pa(e,t,n){let r=e.ownerDocument,i=r.defaultView,a=da(i),o=fa(a),s=Pi(),c=la(),{mergeOptions:l,optionsAtMedia:u,optionsMediaQueries:d}=a,{on:f,off:p,emit:m}=c,h=D,g=!1,_,v=l(ua,pa.globalOptions),y=l(v),b=[],x,S,C;function w(){let{container:t,slides:n}=y;S=(vi(t)?e.querySelector(t):t)||e.children[0];let r=vi(n)?S.querySelectorAll(n):n;C=[].slice.call(r||S.children)}function T(t){let n=ca(e,S,C,r,i,t,c);return t.loop&&!n.slideLooper.canLoop()?T(Object.assign({},t,{loop:!1})):n}function E(e,t){g||(v=l(v,e),y=u(v),b=t||b,w(),_=T(y),d([v,...b.map(({options:e})=>e)]).forEach(e=>s.add(e,`change`,D)),y.active&&(_.translate.to(_.location.get()),_.animation.init(),_.slidesInView.init(),_.slideFocus.init(R),_.eventHandler.init(R),_.resizeHandler.init(R),_.slidesHandler.init(R),_.options.loop&&_.slideLooper.loop(),S.offsetParent&&C.length&&_.dragHandler.init(R),x=o.init(R,b)))}function D(e,t){let n=M();O(),E(l({startIndex:n},e),t),c.emit(`reInit`)}function O(){_.dragHandler.destroy(),_.eventStore.clear(),_.translate.clear(),_.slideLooper.clear(),_.resizeHandler.destroy(),_.slidesHandler.destroy(),_.slidesInView.destroy(),_.animation.destroy(),o.destroy(),s.clear()}function ee(){g||(g=!0,s.clear(),O(),c.emit(`destroy`),c.clear())}function k(e,t,n){!y.active||g||(_.scrollBody.useBaseFriction().useDuration(t===!0?0:y.duration),_.scrollTo.index(e,n||0))}function te(e){k(_.index.add(1).get(),e,-1)}function ne(e){k(_.index.add(-1).get(),e,1)}function re(){return _.index.add(1).get()!==M()}function A(){return _.index.add(-1).get()!==M()}function j(){return _.scrollSnapList}function ie(){return _.scrollProgress.get(_.offsetLocation.get())}function M(){return _.index.get()}function ae(){return _.indexPrevious.get()}function oe(){return _.slidesInView.get()}function se(){return _.slidesInView.get(!1)}function N(){return x}function P(){return _}function F(){return e}function I(){return S}function L(){return C}let R={canScrollNext:re,canScrollPrev:A,containerNode:I,internalEngine:P,destroy:ee,off:p,on:f,emit:m,plugins:N,previousScrollSnap:ae,reInit:h,rootNode:F,scrollNext:te,scrollPrev:ne,scrollProgress:ie,scrollSnapList:j,scrollTo:k,selectedScrollSnap:M,slideNodes:L,slidesInView:oe,slidesNotInView:se};return E(t,n),setTimeout(()=>c.emit(`init`),0),R}pa.globalOptions=void 0;function ma(e={},t=[]){let n=(0,Z.useRef)(e),r=(0,Z.useRef)(t),[i,a]=(0,Z.useState)(),[o,s]=(0,Z.useState)(),c=(0,Z.useCallback)(()=>{i&&i.reInit(n.current,r.current)},[i]);return(0,Z.useEffect)(()=>{mi(n.current,e)||(n.current=e,c())},[e,c]),(0,Z.useEffect)(()=>{gi(r.current,t)||(r.current=t,c())},[t,c]),(0,Z.useEffect)(()=>{if(pi()&&o){pa.globalOptions=ma.globalOptions;let e=pa(o,n.current,r.current);return a(e),()=>e.destroy()}a(void 0)},[o,a]),[s,i]}ma.globalOptions=void 0;var[ha,ga]=m({context:`[@mantine/carousel] Carousel.Slide was rendered outside of Carousel context`}.context),_a=Object.defineProperty,va=Object.defineProperties,ya=Object.getOwnPropertyDescriptors,ba=Object.getOwnPropertySymbols,xa=Object.prototype.hasOwnProperty,Sa=Object.prototype.propertyIsEnumerable,Ca=(e,t,n)=>t in e?_a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wa=(e,t)=>{for(var n in t||={})xa.call(t,n)&&Ca(e,n,t[n]);if(ba)for(var n of ba(t))Sa.call(t,n)&&Ca(e,n,t[n]);return e},Ta=(e,t)=>va(e,ya(t)),Ea=At((e,{controlSize:t,controlsOffset:n,orientation:r,height:i,includeGapInSize:a,breakpoints:o=[],slideGap:s})=>{let c=r===`horizontal`,l=t=>{if(!a)return{};let n=U({size:t,sizes:e.spacing});return{[r===`horizontal`?`marginRight`:`marginBottom`]:`calc(${n} * -1)`}},u=o.some(e=>e.slideGap!==void 0||e.slideSize!==void 0)?we(e,o).reduce((t,n)=>{let r=`maxWidth`in n?`max-width`:`min-width`,i=U({size:r===`max-width`?n.maxWidth:n.minWidth,sizes:e.breakpoints}),a=n.slideGap===void 0?void 0:W(n.slideGap),o=St(i)-+(r===`max-width`);return t[`@media (${r}: ${W(o)})`]=l(a),t},{}):null;return{root:{position:`relative`},viewport:{height:W(i),overflow:`hidden`},container:wa(wa({display:`flex`,flexDirection:c?`row`:`column`,height:W(i)},l(s)),u),controls:{position:`absolute`,zIndex:1,left:c?0:`calc(50% - ${W(t)} / 2)`,right:c?0:void 0,top:c?`calc(50% - ${W(t)} / 2)`:0,bottom:c?void 0:0,display:`flex`,flexDirection:c?`row`:`column`,alignItems:`center`,justifyContent:`space-between`,paddingLeft:c?U({size:n,sizes:e.spacing}):void 0,paddingRight:c?U({size:n,sizes:e.spacing}):void 0,paddingTop:c?void 0:U({size:n,sizes:e.spacing}),paddingBottom:c?void 0:U({size:n,sizes:e.spacing}),pointerEvents:`none`},control:Ta(wa({display:`flex`,justifyContent:`center`,alignItems:`center`,minWidth:W(t),minHeight:W(t),borderRadius:W(t),pointerEvents:`all`,backgroundColor:e.white,color:e.black,boxShadow:e.shadows.md,opacity:e.colorScheme===`dark`?.65:.85,border:`${W(1)} solid ${e.colors.gray[3]}`,transition:`opacity 150ms ${e.transitionTimingFunction}`},e.fn.hover({opacity:1})),{"&:active":e.activeStyles}),indicators:{position:`absolute`,bottom:c?e.spacing.md:0,top:c?void 0:0,left:c?0:void 0,right:c?0:e.spacing.md,display:`flex`,flexDirection:c?`row`:`column`,justifyContent:`center`,gap:W(8),pointerEvents:`none`},indicator:{pointerEvents:`all`,width:W(c?25:5),height:W(c?5:25),borderRadius:e.radius.xl,backgroundColor:e.white,boxShadow:e.shadows.sm,opacity:.6,transition:`opacity 150ms ${e.transitionTimingFunction}`,"&[data-active]":{opacity:1}}}}),Da=Object.defineProperty,Oa=Object.getOwnPropertySymbols,ka=Object.prototype.hasOwnProperty,Aa=Object.prototype.propertyIsEnumerable,ja=(e,t,n)=>t in e?Da(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ma=(e,t)=>{for(var n in t||={})ka.call(t,n)&&ja(e,n,t[n]);if(Oa)for(var n of Oa(t))Aa.call(t,n)&&ja(e,n,t[n]);return e},Na=At((e,{size:t,gap:n,orientation:r,includeGapInSize:i,breakpoints:a=[]})=>{let o=(t,n)=>{let a=U({size:t,sizes:e.spacing}),o=W(n),s=i?{[r===`horizontal`?`paddingRight`:`paddingBottom`]:a}:{[r===`horizontal`?`marginRight`:`marginBottom`]:a};return Ma({flex:`0 0 ${o}`},s)},s=a.some(e=>e.slideGap!==void 0||e.slideSize!==void 0)?we(e,a).reduce((t,r)=>{let i=`maxWidth`in r?`max-width`:`min-width`,a=U({size:i===`max-width`?r.maxWidth:r.minWidth,sizes:e.breakpoints}),s=r.slideGap===void 0?n:r.slideGap,c=St(a)-+(i===`max-width`);return t[`@media (${i}: ${W(c)})`]=o(s,r.slideSize),t},{}):null;return{slide:Ma(Ma({position:`relative`},o(n,t)),s)}}),Pa=Object.defineProperty,Fa=Object.getOwnPropertySymbols,Ia=Object.prototype.hasOwnProperty,La=Object.prototype.propertyIsEnumerable,Ra=(e,t,n)=>t in e?Pa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,za=(e,t)=>{for(var n in t||={})Ia.call(t,n)&&Ra(e,n,t[n]);if(Fa)for(var n of Fa(t))La.call(t,n)&&Ra(e,n,t[n]);return e},Ba=(e,t)=>{var n={};for(var r in e)Ia.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fa)for(var r of Fa(e))t.indexOf(r)<0&&La.call(e,r)&&(n[r]=e[r]);return n},Va=(0,Z.forwardRef)((e,t)=>{var n=e,{children:r,className:i,size:a,gap:o}=n,s=Ba(n,[`children`,`className`,`size`,`gap`]);let c=ga(),{classes:l,cx:u}=Na({gap:o===void 0?c.slideGap:o,size:a===void 0?c.slideSize:a,orientation:c.orientation,includeGapInSize:c.includeGapInSize,breakpoints:c.breakpoints},{name:`Carousel`,classNames:c.classNames,styles:c.styles,unstyled:c.unstyled,variant:c.variant});return Z.createElement(Ot,za({className:u(l.slide,i),ref:t},s),r)});Va.displayName=`@mantine/carousel/CarouselSlide`;function Ha({dir:e,orientation:t,direction:n}){return n===`previous`?t===`horizontal`?90*(e===`ltr`?1:-1):-180:t===`horizontal`?90*(e===`ltr`?-1:1):0}var Ua=Object.defineProperty,Wa=Object.getOwnPropertySymbols,Ga=Object.prototype.hasOwnProperty,Ka=Object.prototype.propertyIsEnumerable,qa=(e,t,n)=>t in e?Ua(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ja=(e,t)=>{for(var n in t||={})Ga.call(t,n)&&qa(e,n,t[n]);if(Wa)for(var n of Wa(t))Ka.call(t,n)&&qa(e,n,t[n]);return e},Ya=(e,t)=>{var n={};for(var r in e)Ga.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Wa)for(var r of Wa(e))t.indexOf(r)<0&&Ka.call(e,r)&&(n[r]=e[r]);return n},Xa={controlSize:26,controlsOffset:`sm`,slideSize:`100%`,slideGap:0,orientation:`horizontal`,align:`center`,slidesToScroll:1,includeGapInSize:!0,draggable:!0,dragFree:!1,loop:!1,speed:10,initialSlide:0,inViewThreshold:0,withControls:!0,withIndicators:!1,skipSnaps:!1,containScroll:``,withKeyboardEvents:!0},Za=(0,Z.forwardRef)((e,t)=>{let n=Ht(`Carousel`,Xa,e),{children:r,className:i,getEmblaApi:a,onNextSlide:o,onPreviousSlide:s,onSlideChange:c,nextControlLabel:l,previousControlLabel:u,controlSize:d,controlsOffset:f,classNames:p,styles:m,unstyled:h,slideSize:g,slideGap:_,orientation:v,height:y,align:b,slidesToScroll:x,includeGapInSize:S,draggable:C,dragFree:T,loop:E,speed:D,initialSlide:O,inViewThreshold:ee,withControls:k,withIndicators:te,plugins:re,nextControlIcon:A,previousControlIcon:j,breakpoints:ie,skipSnaps:M,containScroll:ae,withKeyboardEvents:oe,variant:se}=n,N=Ya(n,`children.className.getEmblaApi.onNextSlide.onPreviousSlide.onSlideChange.nextControlLabel.previousControlLabel.controlSize.controlsOffset.classNames.styles.unstyled.slideSize.slideGap.orientation.height.align.slidesToScroll.includeGapInSize.draggable.dragFree.loop.speed.initialSlide.inViewThreshold.withControls.withIndicators.plugins.nextControlIcon.previousControlIcon.breakpoints.skipSnaps.containScroll.withKeyboardEvents.variant`.split(`.`)),{classes:P,cx:F,theme:I}=Ea({controlSize:d,controlsOffset:f,orientation:v,height:y,includeGapInSize:S,breakpoints:ie,slideGap:_},{name:`Carousel`,classNames:p,styles:m,unstyled:h,variant:se}),[L,R]=ma({axis:v===`horizontal`?`x`:`y`,direction:v===`horizontal`?I.dir:void 0,startIndex:O,loop:E,align:b,slidesToScroll:x,draggable:C,dragFree:T,speed:D,inViewThreshold:ee,skipSnaps:M,containScroll:ae},re),[ce,le]=(0,Z.useState)(0),[ue,de]=(0,Z.useState)(0),fe=(0,Z.useCallback)(e=>R&&R.scrollTo(e),[R]),me=(0,Z.useCallback)(()=>{if(!R)return;let e=R.selectedScrollSnap();le(e),c?.(e)},[R,le]),he=(0,Z.useCallback)(()=>{R?.scrollPrev(),s?.()},[R]),ge=(0,Z.useCallback)(()=>{R?.scrollNext(),o?.()},[R]),_e=(0,Z.useCallback)(e=>{oe&&(e.key===`ArrowRight`&&(e.preventDefault(),ge()),e.key===`ArrowLeft`&&(e.preventDefault(),he()))},[R]);(0,Z.useEffect)(()=>{if(R)return a?.(R),me(),de(R.scrollSnapList().length),R.on(`select`,me),()=>{R.off(`select`,me)}},[R,x]),(0,Z.useEffect)(()=>{R&&(R.reInit(),de(R.scrollSnapList().length),le(e=>w(e,0,Z.Children.toArray(r).length-1)))},[Z.Children.toArray(r).length,x]);let ve=R?.canScrollPrev()||!1,ye=R?.canScrollNext()||!1,be=Array(ue).fill(0).map((e,t)=>Z.createElement(pe,{key:t,"data-active":t===ce||void 0,className:P.indicator,"aria-hidden":!0,tabIndex:-1,onClick:()=>fe(t)}));return Z.createElement(ha,{value:{slideGap:_,slideSize:g,embla:R,orientation:v,includeGapInSize:S,breakpoints:ie,classNames:p,styles:m,unstyled:h,variant:se}},Z.createElement(Ot,Ja({className:F(P.root,i),ref:t,onKeyDownCapture:_e},N),Z.createElement(`div`,{className:P.viewport,ref:L},Z.createElement(`div`,{className:P.container},r)),te&&Z.createElement(`div`,{className:P.indicators},be),k&&Z.createElement(`div`,{className:P.controls},Z.createElement(pe,{onClick:he,className:P.control,"aria-label":u,"data-inactive":!ve||void 0,tabIndex:ve?0:-1},j===void 0?Z.createElement(ne,{style:{transform:`rotate(${Ha({dir:I.dir,orientation:v,direction:`previous`})}deg)`}}):j),Z.createElement(pe,{onClick:ge,className:P.control,"aria-label":l,"data-inactive":!ye||void 0,tabIndex:ye?0:-1},A===void 0?Z.createElement(ne,{style:{transform:`rotate(${Ha({dir:I.dir,orientation:v,direction:`next`})}deg)`}}):A))))});Za.Slide=Va,Za.displayName=`@mantine/carousel/Carousel`;var Qa=Za,$a=({chargeProps:e,onChange:t,onChargeDeleted:n})=>{let{additionalDocuments:r}=G(Sn,e),[i,a]=(0,Z.useState)(void 0);return(0,Q.jsx)(`div`,{className:`container mx-auto text-gray-600 body-font`,children:r?.length>0?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex flex-wrap`,children:(0,Q.jsx)(Qa,{sx:{maxWidth:320},mx:`auto`,align:`center`,withControls:r.length>1,slideGap:0,withIndicators:!0,className:`[&>*>.mantine-Carousel-indicator]:bg-gray-500`,children:r.map(e=>(0,Q.jsx)(Qa.Slide,{children:(0,Q.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,Q.jsx)(`h2`,{className:`text-gray-900 text-base font-medium`,children:`documentType`in e?e.documentType:`Unprocessed`}),(0,Q.jsx)(`button`,{className:`mx-10`,onClick:()=>a(e.id),children:(0,Q.jsx)(`div`,{className:`flex rounded-lg h-full bg-gray-100 p-2 m-2 flex-col`,children:(0,Q.jsx)(Ft,{src:e.image?.toString(),withPlaceholder:!0})})})]})},e.id))})}),(0,Q.jsx)(p,{documentId:i,onDone:()=>a(void 0),onChange:t,onChargeDeleted:n})]}):(0,Q.jsx)(Rr,{color:`red`,children:`No Documents Related`})})},eo=({data:e})=>{let t=G(hn,e);return t?.errorsLedger?.validate?.errors?.length?(0,Q.jsxs)(le,{shadow:`xs`,p:`md`,children:[(0,Q.jsx)(Rt,{c:`red`,children:`Errors:`}),(0,Q.jsx)(f,{size:`sm`,withPadding:!0,children:t.errorsLedger.validate.errors.map((e,t)=>(0,Q.jsx)(f.Item,{children:(0,Q.jsx)(Rt,{c:`red`,children:e})},t))})]}):null},to=({transactionsProps:e,onChange:t})=>{let{transactions:n}=G(Cn,e);return(0,Q.jsx)(Hn,{transactionsProps:n,onChange:t,enableEdit:!0})},no=`createDepositFromCharge`,ro=()=>{let[{fetching:e},t]=fn(vn);return{creating:e,createDepositFromCharge:(0,Z.useCallback)(async e=>{let n=`Error creating deposit "${e.name}" from charge`,r=`${no}-${e.chargeId}`;i.loading(`Creating deposit`,{id:r});try{let o=await t(e),s=a(o,n,r);if(s)return i.success(`Deposit created`,{id:r,description:`Deposit "${s.createDepositFromCharge.name}" (${s.createDepositFromCharge.currency}) created successfully`}),s.createDepositFromCharge.id}catch(e){console.error(`${n}: ${e}`),i.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}return null},[t])}},io=e=>{let[{data:t,fetching:n,error:r}]=tn({query:An,variables:{chargeId:e}});return{fetching:n,error:r,deposits:t?.relevantDepositsForCharge.deposits??[],conflictError:t?.relevantDepositsForCharge.error??null}},ao=({chargeId:e,onChange:t})=>{let[{data:n,fetching:r}]=tn({query:pn,variables:{chargeId:e}}),{fetching:i,deposits:a,conflictError:o}=io(e),{creating:s,createDepositFromCharge:c}=ro(),{assigning:l,assignChargeToDeposit:d}=Ve(),[f,p]=(0,Z.useState)(void 0),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(``),v=(0,Z.useCallback)(async()=>{await c({chargeId:e,name:g})&&(h(!1),_(``),t?.())},[c,g,e,t]),y=(0,Z.useCallback)(async n=>{await d({chargeId:e,depositId:n}),t?.()},[d,e,t]),b=!!n?.depositByCharge||a.length>0||!!o,x=(r||i)&&!b,S=(0,Q.jsx)(Ge,{open:m,onOpenChange:h,children:(0,Q.jsxs)(Ye,{children:[(0,Q.jsx)(qe,{children:(0,Q.jsx)($e,{children:`Create Bank Deposit`})}),(0,Q.jsx)(`div`,{className:`space-y-4`,children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(Qe,{htmlFor:`deposit-name-input`,children:`Deposit Name`}),(0,Q.jsx)(nt,{id:`deposit-name-input`,value:g,onChange:e=>_(e.target.value),placeholder:`e.g. Savings Deposit 2026`})]})}),(0,Q.jsx)(Ke,{children:(0,Q.jsx)(z,{variant:`secondary`,disabled:s||!g.trim(),onClick:v,children:s?`Creating…`:`Create`})})]})});if(x)return(0,Q.jsx)(u,{className:`h-10 w-10 animate-spin`});if(n?.depositByCharge){let e=n.depositByCharge;return(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`text-lg font-semibold mb-4`,children:[`Bank Deposit "`,e.name,`" Balance: `,e.metadata.currentBalance.formatted]}),(0,Q.jsx)(`div`,{className:`mb-4`,children:(0,Q.jsx)(`span`,{className:`text-sm text-gray-500`,children:e.isOpen?`Deposit is open`:`Deposit is closed`})}),(0,Q.jsx)(Ue,{depositId:e.id})]})}if(o)return(0,Q.jsx)(`div`,{className:`space-y-4`,children:(0,Q.jsx)(Nn,{variant:`destructive`,children:(0,Q.jsx)(Mn,{children:o})})});if(a.length===1){let e=a[0];return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(`div`,{className:`text-sm text-gray-500`,children:`Suggested deposit:`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsxs)(`span`,{className:`font-medium`,children:[e.name,` (`,e.currency,`)`]}),(0,Q.jsx)(z,{variant:`secondary`,disabled:l,onClick:()=>y(e.id),children:l?`Assigning…`:`Assign`})]}),(0,Q.jsx)(z,{variant:`outline`,size:`sm`,onClick:()=>h(!0),children:`Create New Deposit Instead`}),S]})}return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(`div`,{className:`text-sm text-gray-500`,children:a.length===0?`No matching open deposits found.`:`Select an open deposit to assign this charge to:`}),a.length>1&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(rt,{value:f,onValueChange:p,children:[(0,Q.jsx)(Je,{className:`min-w-[220px]`,children:(0,Q.jsx)(We,{placeholder:`Select deposit`})}),(0,Q.jsx)(Ze,{children:a.map(e=>(0,Q.jsxs)(tt,{value:e.id,children:[e.name,` (`,e.currency,`)`]},e.id))})]}),(0,Q.jsx)(z,{variant:`secondary`,disabled:!f||l,onClick:()=>f&&y(f),children:l?`Assigning…`:`Assign`})]}),(0,Q.jsx)(z,{variant:`outline`,onClick:()=>h(!0),children:`Create New Deposit`}),S]})};function oo({row:e}){let[t,n]=(0,Z.useState)([`transactions`,`documents`]),[{data:r,fetching:i}]=tn({query:Xt,variables:{chargeId:e.original.id??``},pause:!e.original.id}),a=r?.charge.transactions,o=!!a&&a.length>0,s=r?.charge.additionalDocuments,c=!!s&&s.length>0;return(0,Q.jsxs)(mt,{type:`multiple`,value:t,onValueChange:n,className:`space-y-4`,children:[o&&(0,Q.jsxs)(H,{value:`transactions`,className:`rounded-lg border-2`,children:[(0,Q.jsx)(`div`,{className:`px-2 bg-gray-600/10 rounded-t-lg`,children:(0,Q.jsx)(B,{className:`p-2`,disabled:!o,children:(0,Q.jsx)(`h3`,{className:`font-semibold text-lg`,children:`Transactions`})})}),i?(0,Q.jsx)(V,{children:(0,Q.jsx)(`div`,{className:`p-2`,children:(0,Q.jsx)(O,{})})}):(0,Q.jsx)(V,{children:a&&(0,Q.jsx)(`div`,{className:`p-2`,children:(0,Q.jsx)(Hn,{transactionsProps:a})})})]}),c&&(0,Q.jsxs)(H,{value:`documents`,className:`rounded-lg border-2`,children:[(0,Q.jsx)(`div`,{className:`px-2 bg-gray-600/10 rounded-t-lg`,children:(0,Q.jsx)(B,{className:`p-2`,disabled:!c,children:(0,Q.jsx)(`h3`,{className:`font-semibold text-lg`,children:`Documents`})})}),i?(0,Q.jsx)(V,{children:(0,Q.jsx)(`div`,{className:`p-2`,children:(0,Q.jsx)(O,{})})}):(0,Q.jsx)(V,{children:s&&(0,Q.jsx)(`div`,{className:`p-2`,children:(0,Q.jsx)(Me,{documentsProps:s})})})]})]})}var so=({row:e})=>{let[t,n]=(0,Z.useState)(!1);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(q,{children:[e.getVisibleCells().map(e=>(0,Q.jsx)(J,{children:jt(e.column.columnDef.cell,e.getContext())},e.id)),(0,Q.jsx)(J,{children:(0,Q.jsx)(b,{toggleExpansion:n,isExpanded:t})})]},e.id),t&&(0,Q.jsx)(q,{children:(0,Q.jsx)(J,{colSpan:e.getVisibleCells().length+1,children:(0,Q.jsx)(oo,{row:e})})},`${e.id}-extensions`)]})},co=({business:e})=>e.id?(0,Q.jsx)(s,{to:c.BUSINESSES.DETAIL(e.id),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:e.name}):(0,Q.jsx)(`div`,{}),lo=({date:e})=>(0,Q.jsx)(`p`,{className:`text-sm font-medium`,children:e?Be(e):``}),uo=({tags:e})=>(0,Q.jsx)(Ce,{items:e.map(e=>(0,Q.jsx)(Ae,{children:(0,Q.jsxs)(`div`,{children:[e.namePath&&(0,Q.jsx)(Rt,{size:`xs`,opacity:.65,children:`${e.namePath.join(` > `)} >`}),(0,Q.jsx)(Rt,{size:`sm`,children:e.name})]})},e.id))}),fo=({taxCategory:e})=>(0,Q.jsx)(`p`,{className:`text-sm font-medium`,children:e?.name}),po=({type:e})=>{let{text:t,icon:n}=(0,Z.useMemo)(()=>({text:P(e),icon:ue(e)}),[e]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{children:t}),(0,Q.jsx)(oi,{radius:`xl`,size:`xl`,children:n})]})},mo=[{id:`select`,cell:({row:e})=>(0,Q.jsx)(Pe,{checked:e.original.isSelected,onCheckedChange:t=>(e.original.selectCharge(t?e.original.id:null),t),"aria-label":`Select charge`}),enableSorting:!1,enableHiding:!1},{accessorKey:`confidenceScore`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Score`}),cell:({row:e})=>{let t=e.getValue(`confidenceScore`);return(0,Q.jsx)(ke,{value:t*100,size:`sm`})}},{accessorKey:`type`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Type`}),cell:({row:e})=>(0,Q.jsx)(po,{type:e.getValue(`type`)})},{accessorKey:`date`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Date`}),cell:({row:e})=>(0,Q.jsx)(lo,{date:e.getValue(`date`)})},{accessorKey:`amountRaw`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Amount`}),cell:({row:e})=>{let t=e.original.amountFormatted;return(0,Q.jsx)(`p`,{className:`text-sm font-medium`,children:t})}},{accessorKey:`vatAmountRaw`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`VAT`}),cell:({row:e})=>{let t=e.original.vatAmountFormatted;return(0,Q.jsx)(`p`,{className:`text-sm font-medium`,children:t})}},{accessorKey:`businessName`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Main Business`}),cell:({row:e})=>(0,Q.jsx)(co,{business:{id:e.original.businessId,name:e.original.businessName}})},{accessorKey:`description`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Description`}),cell:({row:e})=>{let t=e.getValue(`description`);return(0,Q.jsx)(`p`,{className:`text-sm font-medium max-w-100 whitespace-normal`,children:t})}},{accessorKey:`tags`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Tags`}),cell:({row:e})=>(0,Q.jsx)(uo,{tags:e.getValue(`tags`)}),enableSorting:!1},{accessorKey:`taxCategoryName`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Tax Category`}),cell:({row:e})=>(0,Q.jsx)(fo,{taxCategory:{id:e.original.taxCategoryId,name:e.original.taxCategoryName}})}];function ho(e,t,n){let r=G(Tn,e),i=r.charge.minDocumentsDate||r.charge.minEventDate||r.charge.minDebitDate||void 0;return{id:r.charge.id,confidenceScore:r.confidenceScore,type:r.charge.__typename,date:i?new Date(i):void 0,amountRaw:r.charge.totalAmount?.raw,amountFormatted:r.charge.totalAmount?.formatted,vatAmountRaw:r.charge.vat?.raw,vatAmountFormatted:r.charge.vat?.formatted,businessId:r.charge.counterparty?.id,businessName:r.charge.counterparty?.name,description:r.charge.userDescription??void 0,tags:r.charge.tags.map(e=>({id:e.id,name:e.name,namePath:e.namePath??void 0})),taxCategoryId:r.charge.taxCategory?.id,taxCategoryName:r.charge.taxCategory?.name,selectCharge:t,isSelected:r.charge.id===n}}var go=({originChargeId:e,chargesProps:t,onChange:n})=>{let[r,i]=(0,Z.useState)([{id:`confidenceScore`,desc:!0},{id:`amountRaw`,desc:!0}]),[a,o]=(0,Z.useState)([]),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)([{id:e,onChange:n}]);(0,Z.useEffect)(()=>{u([e,...s?[s]:[]].map(e=>({id:e,onChange:n})))},[s,n,e]);let d=(0,Z.useMemo)(()=>t?.map(e=>ho(e,c,s)).sort((e,t)=>t.confidenceScore-e.confidenceScore)??[],[t,s]),f=kt({features:zt,data:d,columns:mo,onSortingChange:i,onColumnFiltersChange:o,state:{sorting:r,columnFilters:a}});return(0,Q.jsxs)(`div`,{className:`max-w-[90vw]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center py-4 gap-4`,children:[(0,Q.jsx)(oe,{selected:l,resetMergeList:()=>c(null)}),(0,Q.jsxs)(lt,{children:[(0,Q.jsx)(ct,{asChild:!0,className:`ml-auto`,children:(0,Q.jsxs)(z,{variant:`outline`,children:[`Columns `,(0,Q.jsx)(et,{})]})}),(0,Q.jsx)(ot,{align:`end`,children:f.getAllColumns().filter(e=>e.getCanHide()).map(e=>(0,Q.jsx)(ft,{className:`capitalize`,checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})]})]}),(0,Q.jsx)(`div`,{className:`overflow-hidden rounded-md border`,children:(0,Q.jsxs)(Vt,{children:[(0,Q.jsx)(Dt,{children:f.getHeaderGroups().map(e=>(0,Q.jsxs)(q,{children:[e.headers.map(e=>(0,Q.jsx)(K,{colSpan:e.colSpan,children:e.isPlaceholder?null:jt(e.column.columnDef.header,e.getContext())},e.id)),(0,Q.jsx)(K,{})]},e.id))}),(0,Q.jsx)(Pt,{children:f.getRowModel().rows?.length?f.getRowModel().rows.map(e=>(0,Q.jsx)(so,{row:e},e.id)):(0,Q.jsx)(q,{children:(0,Q.jsx)(J,{colSpan:mo.length,className:`h-24 text-center`,children:`No results.`})})})]})})]})},_o=({chargeId:e,isOpened:t,onChange:n})=>{let[{data:r,fetching:i}]=tn({query:xn,variables:{chargeId:e},pause:!t});return(0,Q.jsxs)(H,{value:`charges-matches`,children:[(0,Q.jsx)(B,{children:`Charge Matches`}),(0,Q.jsx)(V,{children:i&&!r?(0,Q.jsx)(u,{className:`h-10 w-10 animate-spin`}):(0,Q.jsx)(go,{originChargeId:e,chargesProps:r?.findChargeMatches.matches,onChange:n})})]})},vo=({chargeProps:e})=>{let t=G(kn,e);if(t.__typename!==`ConversionCharge`)return(0,Q.jsx)(Q.Fragment,{});let{eventRate:n,officialRate:r}=t;return(0,Q.jsxs)(ve,{justify:`center`,children:[r&&(0,Q.jsx)(ve.Col,{span:`content`,children:(0,Q.jsx)(jn,{shadow:`sm`,padding:`xs`,radius:`md`,withBorder:!0,children:(0,Q.jsxs)(Ae,{position:`apart`,children:[(0,Q.jsx)(Rt,{weight:500,children:`Official Conversion Rate`}),(0,Q.jsx)(Rr,{color:`green`,variant:`light`,children:`${Number(r.rate)} ${A(r.from)} => ${A(r.to)}`})]})})}),n&&(0,Q.jsx)(ve.Col,{span:`content`,children:(0,Q.jsx)(jn,{shadow:`sm`,padding:`xs`,radius:`md`,withBorder:!0,children:(0,Q.jsxs)(Ae,{position:`apart`,children:[(0,Q.jsx)(Rt,{weight:500,children:`Bank Conversion Rate`}),(0,Q.jsx)(Rr,{color:`green`,variant:`light`,children:`${Number(n.rate)} ${A(n.from)} => ${A(n.to)}`})]})})})]})},yo=({chargeProps:e})=>{let t=G($t,e),n=(0,Z.useMemo)(()=>t.__typename===`CreditcardBankCharge`&&t.creditCardTransactions?t.creditCardTransactions.map(e=>G(Kt,e)):[],[t]);return n.length?(0,Q.jsxs)(Vt,{children:[(0,Q.jsx)(Dt,{children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(K,{children:`Event Date`}),(0,Q.jsx)(K,{children:`Debit Date`}),(0,Q.jsx)(K,{children:`Amount`}),(0,Q.jsx)(K,{children:`Account`}),(0,Q.jsx)(K,{children:`Description`}),(0,Q.jsx)(K,{children:`Reference#`}),(0,Q.jsx)(K,{children:`Counterparty`}),(0,Q.jsx)(K,{children:`Charge`})]})}),(0,Q.jsx)(Pt,{children:n.map(e=>{let t={...e,onUpdate:()=>void 0,editTransaction:()=>void 0,enableEdit:!1,enableChargeLink:!1};return(0,Q.jsxs)(q,{children:[(0,Q.jsx)(J,{children:(0,Q.jsx)(Vn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(In,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(zn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(Fn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(Ln,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(Bn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(Rn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(ze,{chargeId:e.chargeId})})]},e.id)})})]}):null},bo=({chargeProps:e})=>{let t=G(bn,e),n=(0,Z.useMemo)(()=>t.__typename===`FinancialCharge`?Object.entries(t.exchangeRates??{}).sort((e,t)=>e[0].localeCompare(t[0])):[],[t]);return t.__typename===`FinancialCharge`?(0,Q.jsx)(`div`,{className:`flex flex-row flex-wrap gap-2 px-2`,children:n.map(([e,t])=>(0,Q.jsx)(Gt,{className:`gap-0 py-2`,children:(0,Q.jsxs)(Ut,{className:`flex flex-col px-2`,children:[(0,Q.jsx)(Wt,{className:`text-xl font-semibold`,children:e.toLocaleUpperCase()}),(0,Q.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Q.jsxs)(`span`,{className:`whitespace-nowrap`,children:[A(e.toLocaleUpperCase()),`1=`]}),(0,Q.jsxs)(gt,{variant:`default`,className:`flex gap-1 rounded-lg text-md`,children:[A(en.Ils),t]})]})]})},e))}):(0,Q.jsx)(Q.Fragment,{})},xo=({chargeProps:e})=>{let t=G(rn,e),n=(0,Z.useMemo)(()=>t.__typename===`ForeignSecuritiesCharge`?t.securities:[],[t]);return n.length?(0,Q.jsx)(`div`,{className:`flex flex-col gap-6`,children:n.map(e=>(0,Q.jsx)(So,{security:e},e.id))}):null},So=({security:e})=>{let{details:t}=e;return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[t?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsxs)(`div`,{className:`text-lg font-semibold`,children:[t.engName,t.symbol&&(0,Q.jsxs)(`span`,{className:`text-gray-500`,children:[` (`,t.symbol,`)`]})]}),(0,Q.jsx)(`div`,{className:`text-sm text-gray-500`,children:t.hebName}),(0,Q.jsxs)(`div`,{className:`flex flex-row flex-wrap items-center gap-2`,children:[t.exchange&&(0,Q.jsx)(gt,{variant:`secondary`,children:t.exchange}),(0,Q.jsx)(gt,{variant:`secondary`,children:t.currencyCode}),(0,Q.jsx)(gt,{variant:`outline`,children:t.itemType}),t.stockType&&(0,Q.jsx)(gt,{variant:`outline`,children:t.stockType}),t.isEtf&&(0,Q.jsx)(gt,{variant:`outline`,children:`ETF`}),t.isForeign&&(0,Q.jsx)(gt,{variant:`outline`,children:`Foreign`})]}),(0,Q.jsxs)(`div`,{className:`text-xs text-gray-400`,children:[`Key `,e.securityKey,` · reference data as of`,` `,new Date(t.asOfDate).toLocaleDateString()]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsxs)(`div`,{className:`text-lg font-semibold`,children:[`Security `,e.securityKey]}),(0,Q.jsx)(`div`,{className:`text-sm text-gray-500`,children:`Not found in the ingested securities list — the reference list may be out of date.`})]}),(0,Q.jsx)(wo,{transactions:e.transactions}),(0,Q.jsx)(Oo,{executions:e.executions})]})},Co=({title:e,children:t})=>(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`div`,{className:`text-sm font-medium text-gray-500`,children:e}),t]}),wo=({transactions:e})=>{let t=(0,Z.useMemo)(()=>e.map(e=>G(Kt,e)),[e]);return t.length?(0,Q.jsx)(Co,{title:`Bank transactions`,children:(0,Q.jsxs)(Vt,{children:[(0,Q.jsx)(Dt,{children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(K,{children:`Event Date`}),(0,Q.jsx)(K,{children:`Debit Date`}),(0,Q.jsx)(K,{children:`Amount`}),(0,Q.jsx)(K,{children:`Account`}),(0,Q.jsx)(K,{children:`Description`}),(0,Q.jsx)(K,{children:`Reference#`})]})}),(0,Q.jsx)(Pt,{children:t.map(e=>{let t={...e,onUpdate:()=>void 0,editTransaction:()=>void 0,enableEdit:!1,enableChargeLink:!1};return(0,Q.jsxs)(q,{children:[(0,Q.jsx)(J,{children:(0,Q.jsx)(Vn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(In,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(zn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(Fn,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(Ln,{transaction:t})}),(0,Q.jsx)(J,{children:(0,Q.jsx)(Bn,{transaction:t})})]},e.id)})})]})}):null},To=(e,t=2)=>e==null?``:se(e,t),Eo=e=>e?new Date(e).toLocaleDateString():``,Do=e=>e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),Oo=({executions:e})=>e.length?(0,Q.jsx)(Co,{title:`Portfolio activity`,children:(0,Q.jsxs)(Vt,{children:[(0,Q.jsx)(Dt,{children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(K,{children:`Trade Date`}),(0,Q.jsx)(K,{children:`Value Date`}),(0,Q.jsx)(K,{children:`Type`}),(0,Q.jsx)(K,{children:`Quantity`}),(0,Q.jsx)(K,{children:`Price`}),(0,Q.jsx)(K,{children:`Net Value`}),(0,Q.jsx)(K,{children:`Commission`}),(0,Q.jsx)(K,{children:`Tax`})]})}),(0,Q.jsx)(Pt,{children:e.map(e=>(0,Q.jsxs)(q,{children:[(0,Q.jsx)(J,{className:`whitespace-nowrap`,children:Eo(e.tradeDate)}),(0,Q.jsx)(J,{className:`whitespace-nowrap`,children:Eo(e.valueDate??e.settlementDate)}),(0,Q.jsx)(J,{children:(0,Q.jsxs)(`div`,{className:`flex flex-row flex-wrap items-center gap-1`,children:[(0,Q.jsx)(gt,{variant:`secondary`,children:Do(e.tradeType)}),e.transactionType!==e.tradeType&&(0,Q.jsx)(gt,{variant:`outline`,children:Do(e.transactionType)}),e.paymentType&&(0,Q.jsx)(gt,{variant:`outline`,children:Do(e.paymentType)})]})}),(0,Q.jsx)(J,{children:To(e.quantity,4)}),(0,Q.jsx)(J,{children:To(e.tradePrice,4)}),(0,Q.jsx)(J,{className:`whitespace-nowrap`,children:e.netValue?.formatted}),(0,Q.jsx)(J,{className:`whitespace-nowrap`,children:(e.tradeCommission??e.managementFees)?.formatted}),(0,Q.jsx)(J,{className:`whitespace-nowrap`,children:e.israelTaxValue?.formatted})]},e.id))})]})}):null,ko=`deleteMiscExpense`,Ao=()=>{let[{fetching:e},t]=fn(cn);return{fetching:e,deleteMiscExpense:(0,Z.useCallback)(async e=>{let n=`Error deleting misc expense`,r=`${ko}-${e.id}`;i.loading(`Deleting misc expense`,{id:r});try{let o=await t(e),s=a(o,n,r);if(s)return i.success(`Success`,{id:r,description:`Misc expense was deleted successfully`}),s.deleteMiscExpense}catch(e){console.error(`${n}: ${e}`),i.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}};function jo({miscExpenseId:e,onChange:t}){let{deleteMiscExpense:n}=Ao();async function r(){try{await n({id:e}),t?.()}catch(e){let t=`Failed to delete misc expense`;console.error(`${t}: ${e}`),i.error(`Error`,{description:t})}}return(0,Q.jsx)(C,{onConfirm:r,title:`Are you sure you want to delete this expense?`,children:(0,Q.jsx)(z,{className:`size-7.5 text-red-500`,variant:`ghost`,children:(0,Q.jsx)(_e,{className:`size-5`})})})}var Mo=({miscExpensesData:e,onChange:t})=>{let{miscExpenses:n}=G(Jt,e);return(0,Q.jsxs)(`table`,{className:`w-full h-full`,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{children:[(0,Q.jsx)(`th`,{children:`Creditor`}),(0,Q.jsx)(`th`,{children:`Debtor`}),(0,Q.jsx)(`th`,{children:`Amount`}),(0,Q.jsx)(`th`,{children:`Invoice Date`}),(0,Q.jsx)(`th`,{children:`Value Date`}),(0,Q.jsx)(`th`,{children:`Description`}),(0,Q.jsx)(`th`,{children:`Actions`})]})}),(0,Q.jsx)(`tbody`,{children:n?.map(e=>(0,Q.jsxs)(`tr`,{children:[(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.creditor?.name})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.debtor?.name})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.amount?.formatted})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.invoiceDate})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.valueDate&&Ct(new Date(e.valueDate),`yyyy-MM-dd`)})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.description})}),(0,Q.jsxs)(`td`,{children:[(0,Q.jsx)(Re,{onDone:t,data:e}),(0,Q.jsx)(jo,{miscExpenseId:e.id,onChange:t})]})]},e?.id))})]})},No=({salaryRecordsProps:e})=>{let t=G(qt,e);if(t.__typename!==`SalaryCharge`)return(0,Q.jsx)(Q.Fragment,{});let{salaryRecords:n}=t;return(0,Q.jsxs)(`table`,{className:`w-full h-full`,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{children:[(0,Q.jsx)(`th`,{children:`Employee`}),(0,Q.jsx)(`th`,{children:`Direct Salary`}),(0,Q.jsx)(`th`,{children:`Base Salary`}),(0,Q.jsx)(`th`,{children:`Pension`}),(0,Q.jsx)(`th`,{children:`Training Fund`}),(0,Q.jsx)(`th`,{children:`Social Security`}),(0,Q.jsx)(`th`,{children:`Tax`})]})}),(0,Q.jsx)(`tbody`,{children:n?.map(e=>(0,Q.jsxs)(`tr`,{children:[(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.employee?.name??`Missing`})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.directAmount.formatted})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.baseAmount?.formatted})}),(0,Q.jsxs)(`td`,{children:[(0,Q.jsx)(`div`,{children:e.pensionFund?.name}),(0,Q.jsxs)(`div`,{children:[`Employee: `,e.pensionEmployeeAmount?.formatted]}),(0,Q.jsxs)(`div`,{children:[`Employer: `,e.pensionEmployerAmount?.formatted]}),(0,Q.jsxs)(`div`,{children:[`Compensation: `,e.compensationsAmount?.formatted]})]}),(0,Q.jsxs)(`td`,{children:[(0,Q.jsx)(`div`,{children:e.trainingFund?.name}),(0,Q.jsxs)(`div`,{children:[`Employee: `,e.trainingFundEmployeeAmount?.formatted]}),(0,Q.jsxs)(`div`,{children:[`Employer: `,e.trainingFundEmployerAmount?.formatted]})]}),(0,Q.jsxs)(`td`,{children:[(0,Q.jsxs)(`div`,{children:[`Employee: `,e.socialSecurityEmployeeAmount?.formatted]}),(0,Q.jsxs)(`div`,{children:[`Employer: `,e.socialSecurityEmployerAmount?.formatted]}),(0,Q.jsxs)(`div`,{children:[`Health: `,e.healthInsuranceAmount?.formatted]})]}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{children:e.incomeTaxAmount?.formatted})})]},`${e.employee?.name}-${e.baseAmount}`))})]})};function Po({chargeID:e,onChange:t=()=>void 0,onChargeDeleted:n,fetching:r}){let[i,a]=(0,Z.useState)([]),[o,s]=(0,Z.useState)(e),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(void 0),f=(0,Z.useContext)(li),[{data:p,fetching:m},g]=tn({query:gn,variables:{chargeId:o},pause:f.active}),y=G(Y,f.active?f.getCharge(e):p?.charge),b=f.active?f.fetching:m,x=He(u),S=(0,Z.useCallback)(()=>{f.active?f.refetch():g({requestPolicy:`network-only`}),t()},[f,g,t]),C=(0,Z.useCallback)(e=>{if(n){n(e);return}f.active&&f.refetch(),t()},[f,t,n]);(0,Z.useEffect)(()=>{let e=y;e&&d(t=>{if(!t||t.id!==e.id)return e;let n={...t};for(let[t,r]of Object.entries(e))r!==void 0&&(n[t]=r);return n})},[y]),(0,Z.useEffect)(()=>{r&&!f.active&&g()},[r,g,f.active]),e!==o&&(s(e),d(void 0));let w=x?.__typename,T=!!x?.metadata?.ledgerCount,E=!!x?.metadata?.transactionsCount,D=!!x?.metadata?.documentsCount,O=!!x?.metadata?.receiptsCount,ee=!!x?.metadata?.invoicesCount,k=w===`SalaryCharge`,te=!!x?.metadata?.miscExpensesCount,ne=x?.metadata?.openDocuments,re=(x?.totalAmount?.raw??0)>0&&!O,A=!(ee||O)||!E;(0,Z.useEffect)(()=>{E&&a(e=>e.includes(`transactions`)?e:[...e,`transactions`])},[E]),(0,Z.useEffect)(()=>{D&&a(e=>e.includes(`documents`)?e:[...e,`documents`])},[D]),(0,Z.useEffect)(()=>{T&&a(e=>e.includes(`ledger`)?e:[...e,`ledger`])},[T]),(0,Z.useEffect)(()=>{k&&a(e=>e.includes(`salaries`)?e:[...e,`salaries`])},[k]),(0,Z.useEffect)(()=>{te&&a(e=>e.includes(`miscExpenses`)?e:[...e,`miscExpenses`])},[te]);let j=xt(Y,Sn,x),ie=xt(Y,On,x),M=xt(Y,nn,x),ae=xt(Y,Cn,x),oe=xt(Y,Jt,x),se=(0,Z.useMemo)(()=>w===`ConversionCharge`&&xt(Y,kn,x),[x,w]),N=(0,Z.useMemo)(()=>w===`FinancialCharge`&&xt(Y,bn,x),[x,w]),P=w===`SalaryCharge`&&xt(Y,qt,x),F=(0,Z.useMemo)(()=>w===`CreditcardBankCharge`&&xt(Y,$t,x),[x,w]),L=(0,Z.useMemo)(()=>w===`ForeignSecuritiesCharge`&&xt(Y,rn,x),[x,w]);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[xt(Y,hn,x)&&(0,Q.jsx)(eo,{data:x}),x?(0,Q.jsxs)(`div`,{className:`flex flex-row`,children:[(0,Q.jsxs)(mt,{className:`w-full`,type:`multiple`,value:i,onValueChange:a,children:[w===`ConversionCharge`&&(0,Q.jsxs)(H,{value:`conversion`,children:[(0,Q.jsx)(B,{disabled:!E,children:`Conversion Info`}),(0,Q.jsx)(V,{children:se&&(0,Q.jsx)(vo,{chargeProps:x})})]}),w===`FinancialCharge`&&(0,Q.jsxs)(H,{value:`exchangeRates`,children:[(0,Q.jsx)(B,{disabled:!N,children:`Exchange Rates`}),(0,Q.jsx)(V,{children:N&&(0,Q.jsx)(bo,{chargeProps:x})})]}),E&&(0,Q.jsxs)(H,{value:`transactions`,children:[(0,Q.jsx)(B,{disabled:!E,children:(0,Q.jsxs)(`div`,{className:`flex flex-row items-center gap-2 justify-between w-full`,children:[`Transactions`,re&&(0,Q.jsx)(ge,{chargeId:x.id})]})}),(0,Q.jsx)(V,{children:ae&&(0,Q.jsx)(to,{transactionsProps:x,onChange:S})})]}),te&&(0,Q.jsxs)(H,{value:`miscExpenses`,children:[(0,Q.jsx)(B,{disabled:!te,children:`Misc Expenses`}),(0,Q.jsx)(V,{children:oe&&(0,Q.jsx)(Mo,{miscExpensesData:x,onChange:S})})]}),D&&(0,Q.jsxs)(H,{value:`documents`,children:[(0,Q.jsx)(B,{disabled:!D,children:(0,Q.jsxs)(`div`,{className:`flex flex-row items-center gap-2 justify-between w-full`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-row items-center gap-2 justify-start`,children:[D&&(0,Q.jsx)(I,{content:`Documents Gallery`,children:(0,Q.jsx)(z,{onClick:e=>{e.stopPropagation(),l(e=>!e)},variant:`outline`,disabled:!j,size:`icon`,className:`size-7.5 text-gray-500`,children:(0,Q.jsx)(_,{className:`size-5`})})}),`Documents`]}),ne&&(0,Q.jsx)(ge,{chargeId:x.id})]})}),(0,Q.jsx)(V,{children:ie&&(0,Q.jsx)(Me,{documentsProps:G(On,x)?.additionalDocuments,onChange:S,onChargeDeleted:C})})]}),w===`SalaryCharge`&&(0,Q.jsxs)(H,{value:`salaries`,children:[(0,Q.jsx)(B,{disabled:!k,children:`Salaries`}),(0,Q.jsx)(V,{children:P&&(0,Q.jsx)(No,{salaryRecordsProps:x})})]}),x.__typename===`BusinessTripCharge`&&(0,Q.jsxs)(H,{value:`businessTrip`,children:[(0,Q.jsx)(B,{children:`Business Trip`}),(0,Q.jsx)(V,{children:(0,Q.jsx)(h,{data:x.businessTrip})})]}),w===`CreditcardBankCharge`&&(0,Q.jsxs)(H,{value:`creditcard`,children:[(0,Q.jsx)(B,{children:`CreditCard Transactions`}),(0,Q.jsx)(V,{children:F&&(0,Q.jsx)(yo,{chargeProps:x})})]}),w===`ForeignSecuritiesCharge`&&(0,Q.jsxs)(H,{value:`foreignSecurities`,children:[(0,Q.jsx)(B,{children:`Foreign Securities`}),(0,Q.jsx)(V,{children:L&&(0,Q.jsx)(xo,{chargeProps:x})})]}),T&&(0,Q.jsxs)(H,{value:`ledger`,children:[(0,Q.jsx)(B,{disabled:!T,onClick:e=>{e.stopPropagation()},children:(0,Q.jsxs)(`div`,{className:`flex flex-row items-center gap-2 justify-start w-full`,children:[!x.metadata?.isLedgerLocked&&(0,Q.jsx)(v,{chargeId:x.id,onChange:S,variant:`outline`}),`Ledger Records`]})}),(0,Q.jsx)(V,{children:M&&(0,Q.jsx)(Fo,{data:x})})]}),w===`BankDepositCharge`&&(0,Q.jsxs)(H,{value:`bankDeposit`,children:[(0,Q.jsx)(B,{children:`Bank Deposit`}),(0,Q.jsx)(V,{children:(0,Q.jsx)(ao,{chargeId:x.id})})]}),A&&(0,Q.jsx)(_o,{chargeId:x.id,onChange:S,isOpened:i.includes(`charges-matches`)})]}),j&&(0,Q.jsx)(Ot,{maw:`1/6`,children:(0,Q.jsx)(mr,{in:c,transitionDuration:500,transitionTimingFunction:`linear`,children:(0,Q.jsx)($a,{chargeProps:x,onChange:S,onChargeDeleted:C})})})]}):b?(0,Q.jsx)(Nt,{className:`flex self-center my-5`,color:`dark`,size:`xl`,variant:`dots`}):(0,Q.jsx)(Q.Fragment,{children:!y&&(0,Q.jsx)(`p`,{children:`Error fetching extended information for this charge`})})]})}var Fo=({data:e})=>{let{ledger:t}=G(nn,e);return(0,Q.jsx)(Pn,{ledgerRecordsData:t.records,ledgerDiffData:t.validate?.differences,matches:t.validate?.matches})},Io=({row:e,updateCharge:t,removeCharge:n})=>{let[{data:r,fetching:i},a]=tn({query:Qt,pause:!0,variables:{chargeId:e.original.id}}),o=(0,Z.useMemo)(()=>JSON.stringify(e.original),[e.original]),s=(0,Z.useMemo)(()=>r?.charge?ws(G(un,r.charge)):null,[r]),c=(0,Z.useMemo)(()=>s?JSON.stringify(s):null,[s]);return(0,Z.useEffect)(()=>{s&&c&&!i&&c!==o&&t(s)},[s,c,o,i,t]),e.original.onChange=a,e.original.onDelete=()=>n(e.original.id),(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{className:`w-fit max-w-full`,children:i&&!e.original?(0,Q.jsx)(J,{colSpan:e.getVisibleCells().length+1,children:`Loading...`}):(0,Q.jsx)(Q.Fragment,{children:e.getVisibleCells().map(e=>(0,Q.jsx)(J,{children:jt(e.column.columnDef.cell,e.getContext())},e.id))})},e.id),e.getIsExpanded()&&(0,Q.jsx)(q,{children:(0,Q.jsx)(J,{colSpan:e.getVisibleCells().length,children:(0,Q.jsx)(`div`,{className:`w-0 min-w-full overflow-x-auto [&_th]:whitespace-normal [&_td]:whitespace-normal`,children:(0,Q.jsx)(Gt,{className:`w-full shadow-lg`,children:(0,Q.jsx)(Po,{chargeID:e.original.id,onChange:a,onChargeDeleted:n,fetching:i})})})})})]})},Lo=({amount:e})=>{if(!e)return null;let{value:t,currency:n,shouldValidate:r,isValid:i}=e;return(0,Q.jsx)(L,{inline:!0,size:12,disabled:i===void 0||i,processing:r&&i===void 0,color:`red`,zIndex:`auto`,children:(0,Q.jsx)(`p`,{className:(t??0)>0?`whitespace-nowrap text-green-700`:`whitespace-nowrap text-red-500`,children:d(t,n)})})},Ro=({id:e,name:t})=>(0,Q.jsx)(s,{to:e?c.BUSINESS_TRIPS.DETAIL(e):c.BUSINESS_TRIPS.ROOT,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:t});function zo(e){switch(e){case`BusinessTripCharge`:case`DividendCharge`:case`ConversionCharge`:case`SalaryCharge`:case`InternalTransferCharge`:case`BankDepositCharge`:case`ForeignSecuritiesCharge`:case`CreditcardBankCharge`:return!1}return!0}function Bo(e){switch(e){case`BusinessTripCharge`:case`DividendCharge`:case`ConversionCharge`:case`SalaryCharge`:case`InternalTransferCharge`:return!1}return!0}function Vo(e){switch(e){case`DividendCharge`:case`InternalTransferCharge`:case`SalaryCharge`:case`BankDepositCharge`:case`ForeignSecuritiesCharge`:return!1}return!0}var Ho=({counterparty:e,type:t,isMissing:n})=>{let r=Bo(t)&&!!n,{name:i,id:a}=e??{name:`Missing`,id:void 0};return(0,Q.jsx)(`div`,{className:`whitespace-normal`,children:(0,Q.jsxs)(L,{inline:!0,size:12,disabled:!r,color:`red`,zIndex:`auto`,children:[!r&&a&&(0,Q.jsx)(s,{to:c.BUSINESSES.DETAIL(a),target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`inline-flex items-center font-semibold`,children:i}),r&&i]})})},Uo=({chargeId:e,value:t,isMissing:n,suggestedDescription:r,onChange:i})=>{let[a,o]=(0,Z.useState)(!1),{updateCharge:s,fetching:c}=Le(),l=(0,Z.useCallback)(async t=>{t!==void 0&&(await s({chargeId:e,fields:{userDescription:t}}),o(!0))},[e,s]),u=(0,Z.useMemo)(()=>t&&t!==``?t:r||`Missing`,[t,r]),d=(0,Z.useMemo)(()=>n&&!!r?.length,[n,r]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap whitespace-normal`,children:[(0,Q.jsx)(L,{inline:!0,size:12,disabled:!n,color:`red`,zIndex:`auto`,children:(0,Q.jsx)(`p`,{className:d?`bg-yellow-400`:void 0,children:u})}),d&&(0,Q.jsx)(j,{onClick:e=>{e.stopPropagation(),l(r)},disabled:c})]}),(0,Q.jsx)(me,{chargeId:e,description:r??void 0,open:a,onOpenChange:o,onClose:i})]})},Wo=({chargeId:e,type:t,isTransactionsMissing:n,isDocumentsMissing:r,info:i})=>{let a=(0,Z.useMemo)(()=>{switch(t){case`BusinessTripCharge`:case`ConversionCharge`:case`DividendCharge`:case`InternalTransferCharge`:case`SalaryCharge`:case`MonthlyVatCharge`:case`BankDepositCharge`:case`ForeignSecuritiesCharge`:case`CreditcardBankCharge`:case`FinancialCharge`:return!1;default:return!0}},[t]),o=(0,Z.useMemo)(()=>{switch(t){case`FinancialCharge`:return!1;default:return!0}},[t]),s=(0,Z.useMemo)(()=>o&&n,[o,n]),c=(0,Z.useMemo)(()=>a&&r,[a,r]),l=(0,Z.useMemo)(()=>i?.invalidLedger,[i?.invalidLedger]),u=[];return(s||i?.transactionsCount||o)&&u.push({extraClassName:i?.transactionsCount||!o?void 0:`bg-yellow-400`,content:(0,Q.jsx)(L,{inline:!0,size:12,disabled:!s,color:`red`,zIndex:`auto`,children:(0,Q.jsxs)(`div`,{className:`whitespace-nowrap`,children:[`Transactions: `,i?.transactionsCount??0]})},`transactions`)}),u.push({content:(0,Q.jsx)(L,{inline:!0,size:12,processing:!l,disabled:l===`VALID`,color:l===`DIFF`?`orange`:`red`,zIndex:`auto`,children:(0,Q.jsxs)(`div`,{className:`whitespace-nowrap`,children:[`Ledger Records: `,i?.ledgerCount??0]})},`ledger`)}),(c||i?.documentsCount)&&u.push({content:(0,Q.jsx)(L,{inline:!0,size:12,disabled:!c,color:`red`,zIndex:`auto`,children:(0,Q.jsxs)(`div`,{className:`whitespace-nowrap`,children:[`Documents: `,i?.documentsCount??0]})},`documents`),extraClassName:!r||!a?void 0:`bg-yellow-400`}),i?.miscExpensesCount&&u.push({content:(0,Q.jsxs)(`div`,{className:`whitespace-nowrap`,children:[`Misc Expenses: `,i.miscExpensesCount??0]})}),(0,Q.jsx)(be,{chargeId:e,children:(0,Q.jsx)(Ce,{items:u})})},Go=({chargeId:e,tags:t,suggestedTags:n,isMissing:r,onChange:i})=>{let{updateCharge:a,fetching:o}=Le(),[s,c]=(0,Z.useState)(!1),l=r&&!!n?.length,u=t?.length?t:l?n:[],d=(0,Z.useCallback)(async t=>{await a({chargeId:e,fields:{tags:t?.map(e=>({id:e.id}))}}),c(!0)},[e,a]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(L,{inline:!0,size:12,disabled:!r,color:`red`,zIndex:`auto`,children:(0,Q.jsx)(Ce,{items:u.map(e=>(0,Q.jsx)(Ae,{children:(0,Q.jsxs)(`div`,{children:[e.namePath&&(0,Q.jsx)(Rt,{size:`xs`,opacity:.65,children:`${e.namePath.join(` > `)} >`}),(0,Q.jsx)(Rt,{size:`sm`,children:e.name})]})},e.id)),extraClassName:l?`bg-yellow-400`:void 0})}),l&&(0,Q.jsx)(j,{onClick:e=>{e.stopPropagation(),d(n)},disabled:o}),(0,Q.jsx)(me,{chargeId:e,tagIds:n?.map(e=>({id:e.id})),open:s,onOpenChange:c,onClose:i})]})},Ko=({taxCategory:e,isMissing:t})=>(0,Q.jsx)(L,{inline:!0,size:12,disabled:!t,color:`red`,zIndex:`auto`,children:e?.name??`N/A`}),qo=({type:e})=>{let{text:t,icon:n}=(0,Z.useMemo)(()=>({text:P(e),icon:ue(e)}),[e]);return(0,Q.jsx)(I,{content:t,children:(0,Q.jsx)(oi,{radius:`xl`,size:`xl`,children:n})})},Jo=({value:e,currency:t,amountValue:n,missingInfo:r})=>{let i=e==null&&t===en.Ils||(e??0)>0&&(n??0)<0||(e??0)<0&&(n??0)>0;return(0,Q.jsx)(`div`,{className:i?`whitespace-nowrap text-red-500`:`whitespace-nowrap text-green-700`,children:(0,Q.jsx)(L,{inline:!0,size:12,disabled:!r,color:`red`,zIndex:`auto`,children:e!=null&&t?d(e,t):null})})},Yo=`insertDepreciationRecord`,Xo=()=>{let[{fetching:e},t]=fn(mn);return{fetching:e,addDepreciationRecord:(0,Z.useCallback)(async e=>{let n=`Error adding depreciation record`,r=Yo;i.loading(`Adding depreciation record`,{id:r});try{let o=await t(e),s=a(o,n,r,`insertDepreciationRecord`);if(s)return i.success(`Success`,{id:r,description:`Depreciation record was added`}),s.insertDepreciationRecord}catch(e){console.error(`${n}: ${e}`),i.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}};function Zo(e){let{chargeId:t,onAdd:n}=e,[r,i]=(0,Z.useState)(!1);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(I,{content:`Add Depreciation Record`,children:(0,Q.jsx)(z,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:e=>{e.stopPropagation(),i(!0)},children:(0,Q.jsx)(at,{className:`size-5`})})}),r&&(0,Q.jsx)(Qo,{chargeId:t,opened:r,close:()=>i(!1),onAdd:n})]})}function Qo({chargeId:e,opened:t,close:n,onAdd:r}){let i=Et({defaultValues:{chargeId:e}}),{control:a,handleSubmit:o}=i,[s,c]=(0,Z.useState)(!1),[{data:l,fetching:u}]=tn({query:an}),{addDepreciationRecord:d,fetching:f}=Xo(),p=e=>{d({fields:e}).then(()=>{r?.(),n()})},m=l?.depreciationCategories?.map(e=>({value:e.id,label:e.name}))??[];return(0,Z.useEffect)(()=>{c(!!(u||f))},[u,f]),(0,Q.jsxs)(N,{opened:t,onClose:n,centered:!0,lockScroll:!0,children:[(0,Q.jsx)(N.Title,{children:`Add Depreciation Record`}),(0,Q.jsx)(N.Body,{children:(0,Q.jsx)(wt,{...i,children:(0,Q.jsxs)(`form`,{onSubmit:o(p),children:[(0,Q.jsx)(Tt,{name:`activationDate`,control:a,rules:{pattern:{value:ye,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,Q.jsxs)(_t,{className:`h-min`,children:[(0,Q.jsx)(bt,{htmlFor:`activation-date`,children:`Activation Date`}),(0,Q.jsx)(vt,{children:(0,Q.jsx)(de,{id:`activation-date`,value:e.value??void 0,onChange:t=>{t!==e.value&&e.onChange(t)},"aria-invalid":!!t.error})}),(0,Q.jsx)(Lt,{})]})}),(0,Q.jsx)(yt,{name:`amount`,control:a,render:({field:e,fieldState:t})=>(0,Q.jsx)(yt,{name:`currency`,control:a,render:({field:n,fieldState:r})=>(0,Q.jsx)(F,{...e,value:e.value??void 0,error:t.error?.message||r.error?.message,label:`Amount`,currencyCodeProps:{...n,label:`Currency`}})})}),(0,Q.jsx)(yt,{name:`categoryId`,control:a,render:({field:e,fieldState:t})=>(0,Q.jsx)(D,{...e,disabled:u,data:m,label:`Category`,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(yt,{name:`type`,control:a,render:({field:e,fieldState:t})=>(0,Q.jsx)(D,{...e,data:os,value:e.value,label:`Type`,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(`div`,{className:`flex justify-center mt-5 gap-3`,children:(0,Q.jsx)(`button`,{type:`submit`,className:`text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg`,children:`Add`})})]})})}),(f||s)&&(0,Q.jsx)(Ee,{blur:1,center:!0,children:(0,Q.jsx)(Nt,{})})]})}var $o=`updateDepreciationRecord`,es=()=>{let[{fetching:e},t]=fn(_n);return{fetching:e,updateDepreciationRecord:(0,Z.useCallback)(async e=>{let n=`Error updating depreciation record`,r=$o;i.loading(`Updating depreciation record`,{id:r});try{let o=await t(e),s=a(o,n,r,`updateDepreciationRecord`);if(s)return i.success(`Success`,{id:r,description:`Depreciation record was updated`}),s.updateDepreciationRecord}catch(e){console.error(`${n}: ${e}`),i.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}},ts=`deleteDepreciationRecord`,ns=()=>{let[{fetching:e},t]=fn(sn);return{fetching:e,deleteDepreciationRecord:(0,Z.useCallback)(async e=>{let n=`Error deleting depreciation record`,r=`${ts}-${e.depreciationRecordId}`;i.loading(`Deleting depreciation record`,{id:r});try{let o=await t(e),s=a(o,n,r);if(s)return i.success(`Success`,{id:r,description:`Depreciation record was deleted`}),s.deleteDepreciationRecord}catch(e){console.error(`${n}: ${e}`),i.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}};function rs(e){let{fetching:t,deleteDepreciationRecord:n}=ns(),r=(0,Z.useCallback)(()=>{n({depreciationRecordId:e.depreciationRecordId}).then(()=>{e.onDelete?.()})},[e,n]);return(0,Q.jsx)(I,{content:`Remove Depreciation`,children:(0,Q.jsx)(C,{onConfirm:r,title:`Are you sure you want to delete the depreciation record?`,children:(0,Q.jsx)(z,{variant:`outline`,size:`icon`,className:`size-7.5 text-red-500`,disabled:t,children:(0,Q.jsx)(_e,{className:`size-5`})})})})}var is=({data:e,onChange:t})=>{let n=G(Yt,e),[r,i]=(0,Z.useState)(!1),[{data:a,fetching:s},c]=tn({query:an,pause:!0}),l=Et({defaultValues:{id:n.id}}),{control:u,handleSubmit:d,formState:{dirtyFields:f}}=l,{updateDepreciationRecord:p,fetching:m}=es(),h=e=>{let r=o(e,f);r&&Object.keys(r).length>0&&p({fields:{...e,id:n.id}}).then(()=>{t?.(),i(!1)})},g=a?.depreciationCategories.map(e=>({value:e.id,label:e.name}));return(0,Z.useEffect)(()=>{r&&!a&&c()},[r,a,c]),(0,Q.jsx)(wt,{...l,children:(0,Q.jsxs)(`tr`,{children:[(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`form`,{id:`form ${n.id}`,onSubmit:d(h),children:r?(0,Q.jsx)(Tt,{name:`amount`,control:u,render:({field:e,fieldState:t})=>(0,Q.jsx)(Tt,{name:`currency`,control:u,render:({field:r,fieldState:i})=>(0,Q.jsx)(F,{...e,defaultValue:n.amount?.raw??n.charge.totalAmount?.raw,value:e.value??void 0,error:t.error?.message||i.error?.message,label:`Amount`,currencyCodeProps:{...r,label:`Currency`,defaultValue:n.amount?.currency??n.charge.totalAmount?.currency}})})}):(0,Q.jsx)(`div`,{children:n.amount?.formatted??n.charge.totalAmount?.formatted})})}),(0,Q.jsx)(`td`,{children:(0,Q.jsx)(`div`,{className:`flex flex-col gap-2 justify-center`,children:r?(0,Q.jsx)(Tt,{name:`activationDate`,control:u,defaultValue:n.activationDate,rules:{pattern:{value:ye,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,Q.jsxs)(_t,{children:[(0,Q.jsx)(bt,{htmlFor:`activation-date-${n.id}`,children:`Activation Date`}),(0,Q.jsx)(vt,{children:(0,Q.jsx)(de,{id:`activation-date-${n.id}`,form:`form ${n.id}`,value:e.value??void 0,onChange:t=>{t!==e.value&&e.onChange(t)},"aria-invalid":!!t.error})}),(0,Q.jsx)(Lt,{})]})}):(0,Q.jsx)(`div`,{children:Ct(new Date(n.activationDate),`dd/MM/yy`)})})}),(0,Q.jsx)(`td`,{children:r?(0,Q.jsx)(Tt,{name:`categoryId`,control:u,render:({field:e,fieldState:t})=>(0,Q.jsxs)(_t,{children:[(0,Q.jsx)(bt,{children:`Category`}),(0,Q.jsx)(vt,{children:(0,Q.jsx)(D,{...e,form:`form ${n.id}`,disabled:s,data:g??[],placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(Lt,{})]})}):(0,Q.jsxs)(`div`,{children:[n.category.name,` (`,n.category.percentage,`%)`]})}),(0,Q.jsx)(`td`,{children:r?(0,Q.jsx)(Tt,{name:`type`,control:u,render:({field:e,fieldState:t})=>(0,Q.jsxs)(_t,{children:[(0,Q.jsx)(bt,{children:`Type`}),(0,Q.jsx)(vt,{children:(0,Q.jsx)(D,{...e,form:`form ${n.id}`,data:os,value:e.value,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(Lt,{})]})}):(0,Q.jsx)(`div`,{children:n.type})}),(0,Q.jsxs)(`td`,{children:[(0,Q.jsx)(I,{content:`Edit`,children:(0,Q.jsx)(z,{disabled:m||s,variant:r?`default`:`outline`,size:`icon`,className:`size-7.5`,onClick:e=>{e.stopPropagation(),i(e=>!e)},children:(0,Q.jsx)(R,{className:`size-5`})})}),r&&(0,Q.jsx)(I,{content:`Confirm Changes`,children:(0,Q.jsx)(z,{type:`submit`,form:`form ${n.id}`,variant:`outline`,size:`icon`,className:`size-7.5 text-green-500`,children:(0,Q.jsx)(Xe,{className:`size-5`})})}),(0,Q.jsx)(rs,{depreciationRecordId:n.id,onDelete:t})]})]},n.id)})},as=({chargeId:e,onChange:t})=>{let[{data:n,fetching:r}]=tn({query:Zt,variables:{chargeId:e}});return!r&&!n?.depreciationRecordsByCharge.length?(0,Q.jsx)(Zo,{chargeId:e,onAdd:t}):r?(0,Q.jsx)(u,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,Q.jsx)(`div`,{className:`flex flex-col gap-2 mt-5`,children:(0,Q.jsxs)(S,{highlightOnHover:!0,withBorder:!0,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{children:[(0,Q.jsx)(`th`,{children:`Amount`}),(0,Q.jsx)(`th`,{children:`Activation Date`}),(0,Q.jsx)(`th`,{children:`Category`}),(0,Q.jsx)(`th`,{children:`Type`}),(0,Q.jsx)(`th`,{})]})}),(0,Q.jsxs)(`tbody`,{children:[n?.depreciationRecordsByCharge.map(e=>(0,Q.jsx)(is,{data:e,onChange:t},e.id)),(0,Q.jsx)(`tr`,{children:(0,Q.jsx)(`td`,{colSpan:5,children:(0,Q.jsx)(Zo,{chargeId:e,onAdd:t})})})]})]})})},os=Object.entries(dn).map(([e,t])=>({value:t,label:e}));function ss({chargeId:e,chargeType:t,onChange:n,onDelete:r,isIncome:i}){let{deleteCharge:a}=ee(),[o,s]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),d=(0,Z.useCallback)(()=>u(!1),[]),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),g=(0,Z.useCallback)(()=>h(!1),[]),[_,v]=(0,Z.useState)(!1),[b,S]=(0,Z.useState)(!1),[w,T]=(0,Z.useState)(!1),[E,D]=(0,Z.useState)(!1),O=(0,Z.useCallback)(()=>{De(`${window.location.origin}${c.CHARGES.DETAIL(e)}`)},[e]),k=(0,Z.useCallback)(async()=>{if(await a({chargeId:e})&&r){r();return}n?.()},[e,a,n,r]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(lt,{children:[(0,Q.jsx)(ct,{asChild:!0,children:(0,Q.jsx)(z,{variant:`ghost`,size:`icon`,"aria-label":`Charge actions`,onClick:e=>e.stopPropagation(),children:(0,Q.jsx)(x,{className:`size-4`})})}),(0,Q.jsxs)(ot,{align:`start`,className:`w-50`,onClick:e=>e.stopPropagation(),children:[(0,Q.jsx)(dt,{variant:`section`,children:`Charge`}),(0,Q.jsxs)(st,{onSelect:()=>S(!0),children:[(0,Q.jsx)(R,{className:`size-4`}),`Edit Charge`]}),(0,Q.jsxs)(st,{onSelect:O,children:[(0,Q.jsx)(y,{className:`size-4`}),`Copy Charge Link`]}),(0,Q.jsxs)(st,{onSelect:()=>s(!0),children:[(0,Q.jsx)(_e,{className:`size-4`}),`Delete Charge`]}),(0,Q.jsx)(ut,{}),(0,Q.jsx)(dt,{variant:`section`,children:`Documents`}),(0,Q.jsxs)(st,{onSelect:()=>T(!0),children:[(0,Q.jsx)(M,{className:`size-4`}),`Insert Document`]}),(0,Q.jsxs)(st,{onSelect:()=>D(!0),children:[(0,Q.jsx)(Wn,{className:`size-4`}),`Upload Documents`]}),i&&(0,Q.jsxs)(st,{onSelect:()=>v(!0),children:[(0,Q.jsx)(M,{className:`size-4`}),`Issue Document`]}),(0,Q.jsx)(ut,{}),(0,Q.jsx)(dt,{variant:`section`,children:`Misc Expenses`}),(0,Q.jsxs)(st,{onSelect:()=>p(!0),children:[(0,Q.jsx)(M,{className:`size-4`}),`Add expense`]}),t===`CommonCharge`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ut,{}),(0,Q.jsx)(dt,{variant:`section`,children:`Depreciation`}),(0,Q.jsxs)(st,{onSelect:()=>u(!0),children:[(0,Q.jsx)(Un,{className:`size-4`}),`Depreciation`]})]}),t===`SalaryCharge`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ut,{}),(0,Q.jsx)(dt,{variant:`section`,children:`Salaries`}),(0,Q.jsxs)(st,{onSelect:()=>h(!0),children:[(0,Q.jsx)(Wn,{className:`size-4`}),`Payroll file upload`]})]})]})]}),(0,Q.jsx)(C,{open:o,setOpen:s,onConfirm:k,title:`Are you sure you want to delete this charge?`}),(0,Q.jsx)(N,{withinPortal:!0,size:`xl`,centered:!0,opened:l,onClose:d,title:`Depreciation`,onClick:e=>e.stopPropagation(),children:(0,Q.jsx)(as,{chargeId:e,onChange:()=>{d(),n?.()}})}),(0,Q.jsx)(Ge,{open:f,onOpenChange:p,children:(0,Q.jsx)(Ye,{className:`sm:max-w-[425px]`,onClick:e=>e.stopPropagation(),children:(0,Q.jsx)(Se,{onDone:()=>{p(!1),n?.()},chargeId:e})})}),(0,Q.jsx)(N,{centered:!0,opened:m,onClose:g,title:`Upload Payroll File`,onClick:e=>e.stopPropagation(),children:(0,Q.jsx)(he,{onDone:()=>{g(),n?.()},chargeId:e})}),(0,Q.jsx)(Te,{open:E,onOpenChange:D,onChange:n,chargeId:e}),(0,Q.jsx)(ge,{chargeId:e,open:_,setOpen:v,onDone:()=>n?.()}),(0,Q.jsx)(ae,{chargeId:b?e:void 0,close:()=>S(!1),onChange:()=>{S(!1),n?.()}}),(0,Q.jsx)(te,{chargeId:w?e:void 0,onChange:n,close:()=>T(!1)})]})}var cs=`batchUpdateChargesTags`,ls=()=>{let[{fetching:e},t]=fn(En);return{fetching:e,batchUpdateChargesTags:(0,Z.useCallback)(async e=>{let n=e.chargeIds.length,r=`Error updating charges tags`,o=`${cs}-batch`;i.loading(`Updating tags`,{id:o});try{let s=await t(e),c=a(s,r,o,`batchUpdateChargesTags`);if(c)return i.success(`Success`,{id:o,description:`Tags updated for ${n} charge${n>1?`s`:``}`}),c.batchUpdateChargesTags.charges}catch(e){console.error(`${r}: ${e}`),i.error(`Error`,{id:o,description:r,duration:1e5,closeButton:!0})}},[t])}};function us({chargeIds:e,open:t,onOpenChange:n,onDone:r}){let{selectableTags:i,fetching:a}=Ie(),{fetching:o,batchUpdateChargesTags:s}=ls(),[c,l]=(0,Z.useState)(`add`),[u,d]=(0,Z.useState)([]),[f,p]=(0,Z.useState)(0),m=e.length,h=()=>{d([]),p(e=>e+1)},g=e=>{l(e),h()},_=e=>{e||h(),n(e)},v=async()=>{u.length!==0&&m!==0&&await s({chargeIds:e,...c===`add`?{addTagIds:u}:{removeTagIds:u}})&&(h(),n(!1),r())};return(0,Q.jsx)(Ge,{open:t,onOpenChange:_,children:(0,Q.jsxs)(Ye,{className:`sm:max-w-md`,onClick:e=>e.stopPropagation(),children:[(0,Q.jsxs)(qe,{children:[(0,Q.jsxs)($e,{children:[`Change tags for `,m,` charge`,m===1?``:`s`]}),(0,Q.jsx)(it,{children:`Add the selected tags to, or remove them from, every selected charge. Other tags are left unchanged.`})]}),(0,Q.jsxs)(`div`,{className:`grid gap-3`,children:[(0,Q.jsx)(ce,{value:c,onValueChange:g,children:(0,Q.jsxs)(xe,{className:`w-full`,children:[(0,Q.jsx)(Oe,{value:`add`,children:`Add tags`}),(0,Q.jsx)(Oe,{value:`remove`,children:`Remove tags`})]})}),(0,Q.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Q.jsx)(Qe,{children:`Tags`}),(0,Q.jsx)(je,{options:i,onValueChange:d,defaultValue:u,placeholder:c===`add`?`Select tags to add`:`Select tags to remove`,variant:`default`,disabled:a},`${c}-${f}`)]})]}),(0,Q.jsxs)(Ke,{children:[(0,Q.jsx)(z,{variant:`outline`,onClick:()=>_(!1),children:`Cancel`}),(0,Q.jsxs)(z,{onClick:()=>void v(),disabled:o||u.length===0||m===0,children:[c===`add`?`Add to`:`Remove from`,` `,m,` charge`,m===1?``:`s`]})]})]})})}function ds({table:e}){let{regenerateLedgerRecords:t}=re(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),{rows:o}=e.getSelectedRowModel(),s=o.length,c=o.map(e=>e.original.id);function l(){for(let e of o)e.original.onChange()}function u(){c.length!==0&&t(c).then(l)}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(lt,{children:[(0,Q.jsx)(ct,{asChild:!0,children:(0,Q.jsx)(z,{variant:`ghost`,size:`icon`,className:`size-6`,"aria-label":`Batch charge actions`,onClick:e=>e.stopPropagation(),children:(0,Q.jsx)(x,{className:`size-4`})})}),(0,Q.jsxs)(ot,{align:`start`,children:[(0,Q.jsxs)(st,{disabled:s===0,onSelect:()=>r(!0),children:[(0,Q.jsx)(Ne,{className:`size-4`}),`Regenerate ledger`]}),(0,Q.jsxs)(st,{disabled:s===0,onSelect:()=>a(!0),children:[(0,Q.jsx)(pt,{className:`size-4`}),`Change tags`]})]})]}),(0,Q.jsx)(C,{open:n,setOpen:r,onConfirm:u,title:`Are you sure you want to regenerate ledger records for ${s} selected charge${s===1?``:`s`}?`}),(0,Q.jsx)(us,{chargeIds:c,open:i,onOpenChange:a,onDone:l})]})}var fs=[{id:`select`,header:({table:e})=>(0,Q.jsxs)(`div`,{className:`flex flex-row gap-1 items-center`,children:[(0,Q.jsx)(Pe,{checked:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected()&&`indeterminate`,onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t),"aria-label":`Select all`}),(0,Q.jsx)(ds,{table:e})]}),cell:({row:e})=>(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 items-center`,children:[(0,Q.jsx)(Pe,{checked:e.getIsSelected(),onCheckedChange:t=>e.toggleSelected(!!t),"aria-label":`Select row`}),(0,Q.jsx)(E,{chargeId:e.original.id,value:e.original.accountantApproval,onChange:e.original.onChange,onStatusChange:()=>e.toggleExpanded(!1)})]}),enableSorting:!1,enableHiding:!1},{accessorKey:`type`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Type`}),cell:({row:e})=>(0,Q.jsx)(qo,{type:e.getValue(`type`)})},{accessorKey:`date`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Date`}),cell:({row:e})=>(0,Q.jsx)(ci,{...e.getValue(`date`)})},{accessorKey:`amount.value`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Amount`}),cell:({row:e})=>(0,Q.jsx)(Lo,{amount:e.original.amount}),sortFn:(e,t)=>Math.abs(e.original.amount?.value??0)-Math.abs(t.original.amount?.value??0)},{accessorKey:`vat.value`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`VAT`}),cell:({row:e})=>(0,Q.jsx)(Jo,{...e.original.vat})},{accessorKey:`counterparty.counterparty.name`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Counterparty`}),cell:({row:e})=>e.original.counterparty?(0,Q.jsx)(Ho,{...e.original.counterparty}):null},{accessorKey:`description.value`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Description`}),cell:({row:e})=>(0,Q.jsx)(Uo,{...e.original.description,onChange:e.original.onChange})},{accessorKey:`tags`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Tags`}),cell:({row:e})=>(0,Q.jsx)(Go,{...e.original.tags,onChange:e.original.onChange}),enableSorting:!1},{accessorKey:`taxCategory.taxCategory.name`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Tax Category`}),cell:({row:e})=>e.original.taxCategory?(0,Q.jsx)(Ko,{...e.original.taxCategory}):null},{accessorKey:`businessTrip.name`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`Business Trip`}),cell:({row:e})=>e.original.businessTrip?(0,Q.jsx)(Ro,{...e.original.businessTrip}):null},{accessorKey:`moreInfo`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:`More Info`}),cell:({row:e})=>(0,Q.jsx)(Wo,{...e.original.moreInfo}),enableSorting:!1},{accessorKey:`extension`,header:({column:e})=>(0,Q.jsx)(g,{column:e,title:``}),cell:({row:e})=>{let t=e.getIsExpanded();return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 items-center`,children:[(0,Q.jsx)(ss,{chargeId:e.original.id,chargeType:e.original.type,onChange:e.original.onChange,onDelete:e.original.onDelete,isIncome:(e.original.amount?.value??0)>0}),(0,Q.jsx)(I,{content:`Expand info`,children:(0,Q.jsx)(z,{variant:t?`default`:`outline`,onClick:t=>{t.stopPropagation(),e.toggleExpanded()},className:`size-7.5`,children:t?(0,Q.jsx)(ie,{className:`size-5`}):(0,Q.jsx)(Fe,{className:`size-5`})})})]})},enableSorting:!1}],ps=[{key:`Charge ID`,valueFn:e=>e.id},{key:`Type`,valueFn:e=>e.__typename??``},{key:`Date`,valueFn:e=>ys(e.minDebitDate??e.minEventDate??e.minDocumentsDate)},{key:`Event Date`,valueFn:e=>ys(e.minEventDate)},{key:`Documents Date`,valueFn:e=>ys(e.minDocumentsDate)},{key:`Counterparty`,valueFn:e=>e.counterparty?.name??``},{key:`Description`,valueFn:e=>e.userDescription?.trim()??``},{key:`Tags`,valueFn:e=>(e.tags??[]).map(e=>e.name).join(`; `)},{key:`Tax Category`,valueFn:e=>e.taxCategory?.name??``},{key:`Business Trip`,valueFn:e=>`businessTrip`in e&&e.businessTrip?e.businessTrip.name:``},{key:`Accountant Approval`,valueFn:e=>e.accountantApproval??``},{key:`Amount`,valueFn:e=>bs(e.totalAmount?.raw)},{key:`Currency`,valueFn:e=>e.totalAmount?.currency??``},{key:`VAT`,valueFn:e=>bs(e.vat?.raw)},{key:`Is Valid`,valueFn:e=>Ss(e.validationData?.isValid)},...ms(),{key:`Valid Credit Card Amount`,valueFn:e=>`validCreditCardAmount`in e?Ss(e.validCreditCardAmount):``},{key:`Ledger Status`,valueFn:e=>e.metadata?.invalidLedger??``},{key:`Ledger Balanced`,valueFn:e=>Ss(e.ledger?.balance?.isBalanced)},{key:`Ledger Errors`,valueFn:e=>(e.ledger?.validate?.errors??[]).join(`; `)},{key:`Transactions Count`,valueFn:e=>xs(e.metadata?.transactionsCount)},{key:`Documents Count`,valueFn:e=>xs(e.metadata?.documentsCount)},{key:`Invoices Count`,valueFn:e=>xs(e.metadata?.invoicesCount)},{key:`Receipts Count`,valueFn:e=>xs(e.metadata?.receiptsCount)},{key:`Ledger Count`,valueFn:e=>xs(e.metadata?.ledgerCount)},{key:`Misc Expenses Count`,valueFn:e=>xs(e.metadata?.miscExpensesCount)},{key:`Has Open Documents`,valueFn:e=>Ss(e.metadata?.openDocuments)},{key:`Suggested Description`,valueFn:e=>e.missingInfoSuggestions?.description?.trim()??``},{key:`Suggested Tags`,valueFn:e=>(e.missingInfoSuggestions?.tags??[]).map(e=>e.name).join(`; `)},{key:`Transactions Detail`,valueFn:e=>hs(e)},{key:`Documents Detail`,valueFn:e=>gs(e)}];function ms(){return[[`Missing Counterparty`,X.Counterparty],[`Missing Description`,X.Description],[`Missing Documents`,X.Documents],[`Missing Tags`,X.Tags],[`Missing Transactions`,X.Transactions],[`Missing VAT`,X.Vat],[`Missing Tax Category`,X.TaxCategory]].map(([e,t])=>({key:e,valueFn:e=>e.validationData?Ss(e.validationData.missingInfo.includes(t)):``}))}function hs(e){return(e.transactions??[]).map(e=>{let t=G(Kt,e);return[ys(t.eventDate),t.amount.formatted??bs(t.amount.raw),t.account?.name??``,t.sourceDescription??``,t.referenceKey??``,t.counterparty?.name??``].join(` | `)}).join(`
`)}function gs(e){return(e.additionalDocuments??[]).map(e=>{let t=G(on,e),n=`amount`in t;return[t.documentType??``,n?ys(t.date):``,n?`${t.amount?.formatted??bs(t.amount?.raw)} ${t.amount?.currency??``}`.trim():``,n?t.vat?.formatted??bs(t.vat?.raw):``,n?t.serialNumber??``:``,n?`${t.creditor?.name??``} → ${t.debtor?.name??``}`:``].join(` | `)}).join(`
`)}function _s(e){return[ps.map(e=>vs(e.key)).join(`,`),...e.map(e=>ps.map(t=>vs(t.valueFn(e))).join(`,`))].join(`\r
`)}function vs(e){return e===``?``:/[",\r\n]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e}function ys(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:Ct(t,`yyyy-MM-dd`)}function bs(e){return e==null?``:e.toFixed(2)}function xs(e){return e==null?``:String(e)}function Ss(e){return e==null?``:e?`Yes`:`No`}var Cs=({chargeIds:e,businessName:t})=>{let n=ln(),r=(0,Z.useCallback)(async()=>{let r=`${t?`business_${t}_`:``}charges_${Ct(new Date,`yyyy-MM-dd`)}`;if(e.length===0)return{fileContent:``,fileName:r};let{data:a,error:o}=await n.query(Dn,{chargeIDs:e}).toPromise();if(o)throw i.error(`Error`,{description:`Failed to fetch charges for CSV export`}),o;return{fileContent:_s(a?.chargesByIDs??[]),fileName:r}},[n,e,t]);return(0,Q.jsx)(T,{createFileVariables:r,label:`Download charges CSV`})};function ws(e){let t=G(wn,e)?.missingInfoSuggestions;return{id:e.id,onChange:()=>{},onDelete:()=>{},type:e.__typename,date:si({minDebitDate:e.minDebitDate,minEventDate:e.minEventDate,minDocumentsDate:e.minDocumentsDate,maxDebitDate:e.maxDebitDate,maxEventDate:e.maxEventDate,maxDocumentsDate:e.maxDocumentsDate}),amount:e.totalAmount?{value:e.totalAmount.raw,currency:e.totalAmount.currency,shouldValidate:e.__typename===`CreditcardBankCharge`,isValid:e.__typename===`CreditcardBankCharge`?e.validCreditCardAmount:void 0}:void 0,vat:zo(e.__typename)?{value:e.vat?.raw,currency:e.totalAmount?.currency,missingInfo:e.validationData?.missingInfo.includes(X.Vat),amountValue:e.totalAmount?.raw}:void 0,counterparty:Bo(e.__typename)?{counterparty:e.counterparty?{name:e.counterparty.name,id:e.counterparty.id}:void 0,type:e.__typename,isMissing:e.validationData?.missingInfo.includes(X.Counterparty)}:void 0,description:{chargeId:e.id,value:e.userDescription?.trim()??void 0,isMissing:e.validationData?.missingInfo.includes(X.Description),suggestedDescription:t?.description?.trim()??void 0},tags:{chargeId:e.id,tags:e.tags.map(e=>({id:e.id,name:e.name,namePath:e.namePath??void 0})),suggestedTags:t?.tags.map(e=>({id:e.id,name:e.name,namePath:e.namePath??void 0}))??[],isMissing:e.validationData?.missingInfo.includes(X.Tags)},taxCategory:Vo(e.__typename)?{taxCategory:e.taxCategory?{id:e.taxCategory.id,name:e.taxCategory.name}:void 0,isMissing:e.validationData?.missingInfo.includes(X.TaxCategory)}:void 0,businessTrip:`businessTrip`in e&&e.businessTrip?{id:e.businessTrip.id,name:e.businessTrip.name}:void 0,moreInfo:{chargeId:e.id,type:e.__typename,isTransactionsMissing:e.validationData?.missingInfo.includes(X.Transactions),isDocumentsMissing:e.validationData?.missingInfo.includes(X.Documents),info:e.metadata?{transactionsCount:e.metadata.transactionsCount,documentsCount:e.metadata.documentsCount,ledgerCount:e.metadata.ledgerCount,miscExpensesCount:e.metadata.miscExpensesCount,invalidLedger:e.metadata.invalidLedger}:void 0},accountantApproval:e.accountantApproval}}var Ts=({data:e,rowSelection:t,onRowSelectionChange:n,isAllOpened:r=!1,showExport:i=!1})=>{let[a,o]=(0,Z.useState)([]),[s,c]=(0,Z.useState)([]),[l,u]=(0,Z.useState)({}),[d,f]=(0,Z.useState)({});(0,Z.useEffect)(()=>{f(r?!0:{})},[r]);let p=t!==void 0,m=p?t:l,h=p?n??(()=>{}):u,[g,_]=(0,Z.useState)([]),v=(0,Z.useCallback)(e=>{_(t=>t.map(t=>t.id===e.id?e:t))},[]),y=(0,Z.useCallback)(e=>{_(t=>t.filter(t=>t.id!==e)),h(t=>{if(!(e in t))return t;let{[e]:n,...r}=t;return r})},[h]);(0,Z.useEffect)(()=>{_(e?.map(e=>ws(G(un,e)))??[])},[e]);let b=kt({features:zt,data:g,columns:fs,getRowId:e=>e.id,onSortingChange:o,onColumnFiltersChange:c,onExpandedChange:f,getRowCanExpand:()=>!0,autoResetExpanded:!1,enableRowSelection:!0,onRowSelectionChange:h,state:{sorting:a,columnFilters:s,rowSelection:m,expanded:d},initialState:{pagination:{pageIndex:0,pageSize:100}}}),x=(0,Z.useMemo)(()=>g.map(e=>e.id),[g]),S=Object.keys(m).filter(e=>m[e]),C=S.length>0?S:x;return(0,Q.jsx)(ui,{chargeIds:x,active:r,children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 w-full`,children:[i&&(0,Q.jsx)(`div`,{className:`flex justify-end`,children:(0,Q.jsx)(Cs,{chargeIds:C})}),(0,Q.jsx)(`div`,{className:`overflow-hidden rounded-md border w-full`,children:(0,Q.jsxs)(Vt,{className:`[&_th]:whitespace-normal [&_td]:whitespace-normal [&_th_button]:whitespace-normal`,children:[(0,Q.jsx)(Dt,{children:b.getHeaderGroups().map(e=>(0,Q.jsxs)(q,{children:[e.headers.map(e=>(0,Q.jsx)(K,{colSpan:e.colSpan,children:e.isPlaceholder?null:jt(e.column.columnDef.header,e.getContext())},e.id)),(0,Q.jsx)(K,{})]},e.id))}),(0,Q.jsx)(Pt,{children:b.getRowModel().rows?.length?b.getRowModel().rows.map(e=>(0,Q.jsx)(Io,{row:e,updateCharge:v,removeCharge:y},e.id)):(0,Q.jsx)(q,{children:(0,Q.jsx)(J,{colSpan:fs.length,className:`h-24 text-center`,children:`No results.`})})})]})})]})})};export{Po as n,oi as r,Ts as t};