@accounter/client
Version:
Accounter client application
1 lines • 32.6 kB
JavaScript
import{t as e}from"./funnel-CDY9d08i.js";import{t}from"./sub-BHb6WRjG.js";import{$i as n,$t as r,Al as i,Bl as a,Ca as o,Cu as s,Eu as c,Ha as l,Hl as u,Id as d,Jt as f,M as p,Ml as m,N as h,Nu as g,Ou as _,Rl as v,St as y,Ul as b,Va as x,Wl as S,Wt as C,Yi as w,_n as T,cn as ee,ds as E,er as D,fn as O,fr as te,gi as ne,gn as k,gt as A,hn as j,ht as re,ir as ie,jd as ae,mt as oe,nr as se,pn as M,tr as ce,vi as le,vn as N,wn as ue,wt as P,xn as de,zl as fe}from"./index-CSYTUOOk.js";import{t as pe}from"./use-url-query-CA_xnIYM.js";import{t as me}from"./page-layout-DE94O32j.js";import{t as he}from"./transactions-table-C_KUnuCm.js";import{Z as F}from"./wiggle-tCqG_f_o.js";import{$ as ge,A as _e,At as ve,B as I,Bt as ye,C as be,Ct as xe,D as Se,Dt as Ce,E as we,Et as Te,F as Ee,Ft as De,G as Oe,H as ke,I as Ae,It as je,L as Me,Lt as L,M as Ne,Mt as Pe,N as Fe,Nt as R,P as Ie,Pt as Le,Q as Re,R as ze,S as Be,T as Ve,Tt as He,V as Ue,Vt as We,W as z,X as Ge,Y as Ke,_t as qe,a as Je,at as Ye,bt as Xe,c as Ze,ct as B,d as Qe,et as $e,f as et,ft as tt,gt as nt,ht as rt,i as it,jt as V,k as at,kt as ot,mt as st,n as ct,nt as lt,o as ut,ot as dt,p as ft,pt,r as mt,rt as ht,s as gt,st as _t,t as vt,tt as yt,u as bt,ut as xt,w as St,wt as Ct,xt as wt,yt as Tt}from"./download-csv-BRS6wXSa.js";var Et=e=>null;Et.displayName=`Cell`;var Dt=(e,t,n)=>{var r=He();return(i,a)=>o=>{e?.(i,a,o),r(ze({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},Ot=e=>{var t=He();return(n,r)=>i=>{e?.(n,r,i),t(Ae())}},kt=(e,t,n)=>{var r=He();return(i,a)=>o=>{e?.(i,a,o),r(Me({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},At=(e,t,n)=>{var r=n??e;if(!R(r))return ve(r,t,0)},jt=(e,t,n)=>{var r={},i=e.filter(Ke),a=e.filter(e=>e.stackId==null),o=i.reduce((e,t)=>{var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},r),s=Object.entries(o).map(e=>{var[r,i]=e;return{stackId:r,dataKeys:i.map(e=>e.dataKey),barSize:At(t,n,i[0]?.barSize)}}),c=a.map(e=>({stackId:void 0,dataKeys:[e.dataKey].filter(e=>e!=null),barSize:At(t,n,e.barSize)}));return[...s,...c]};function Mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function H(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Mt(Object(n),!0).forEach(function(t){Nt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Nt(e,t,n){return(t=Pt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pt(e){var t=Ft(e,`string`);return typeof t==`symbol`?t:t+``}function Ft(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function It(e,t,n,r,i){var a=r.length;if(!(a<1)){var o=ve(e,n,0,!0),s,c=[];if(Ct(r[0]?.barSize)){var l=!1,u=n/a,d=r.reduce((e,t)=>e+(t.barSize||0),0);d+=(a-1)*o,d>=n&&(d-=(a-1)*o,o=0),d>=n&&u>0&&(l=!0,u*=.9,d=a*u);var f={offset:((n-d)/2>>0)-o,size:0};s=r.reduce((e,t)=>{var n={stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:f.offset+f.size+o,size:l?u:t.barSize??0}},r=[...e,n];return f=n.position,r},c)}else{var p=ve(t,n,0,!0);n-2*p-(a-1)*o<=0&&(o=0);var m=(n-2*p-(a-1)*o)/a;m>1&&(m>>=0);var h=Ct(i)?Math.min(m,i):m;s=r.reduce((e,t,n)=>[...e,{stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:p+(m+o)*n+(m-h)/2,size:h}}],c)}return s}}var Lt=(e,t,n,r,i,a,o)=>{var s=R(o)?t:o,c=It(n,r,i===a?a:i,e,s);return i!==a&&c!=null&&(c=c.map(e=>H(H({},e),{},{position:H(H({},e.position),{},{offset:e.position.offset-i/2})}))),c},Rt=(e,t)=>{var n=Ge(t);if(!(!e||n==null||t==null)){var{stackId:r}=t;if(r!=null){var i=e[r];if(i){var{stackedData:a}=i;if(a)return a.find(e=>e.key===n)}}}},zt=(e,t)=>{if(!(e==null||t==null)){var n=e.find(e=>e.stackId===t.stackId&&t.dataKey!=null&&e.dataKeys.includes(t.dataKey));if(n!=null)return n.position}};function Bt(e,t){return e&&typeof e==`object`&&`zIndex`in e&&typeof e.zIndex==`number`&&Ct(e.zIndex)?e.zIndex:t}function U(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function W(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var Vt=!0,Ht=`Invariant failed`;function Ut(e,t){if(!e){if(Vt)throw Error(Ht);var n=typeof t==`function`?t():t,r=n?`${Ht}: ${n}`:Ht;throw Error(r)}}var G=d(ae());function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wt.apply(null,arguments)}function Gt(e){return G.createElement(we,Wt({shapeType:`rectangle`,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`},e))}var Kt=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,r)=>{if(Le(e))return e;var i=Le(n)||R(n);return i?e(n,r):(!i&&Ut(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},qt=(e,t,n)=>n,K=F([Oe,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),Jt=F([K],e=>e?.maxBarSize),Yt=(e,t,n,r)=>r,Xt=F([B,Oe,U,W,qt],(e,t,n,r,i)=>t.filter(t=>e===`horizontal`?t.xAxisId===n:t.yAxisId===r).filter(e=>e.isPanorama===i).filter(e=>e.hide===!1).filter(e=>e.type===`bar`)),Zt=(e,t,n)=>{var r=B(e),i=U(e,t),a=W(e,t);if(!(i==null||a==null))return r===`horizontal`?ke(e,`yAxis`,a,n):ke(e,`xAxis`,i,n)},Qt=F([Xt,yt,(e,t)=>{var n=B(e),r=U(e,t),i=W(e,t);if(!(r==null||i==null))return n===`horizontal`?Ue(e,`xAxis`,r):Ue(e,`yAxis`,i)}],jt),$t=(e,t,n)=>{var r=K(e,t);if(r==null)return 0;var i=U(e,t),a=W(e,t);if(i==null||a==null)return 0;var o=B(e),s=lt(e),{maxBarSize:c}=r,l=R(c)?s:c,u,d;return o===`horizontal`?(u=I(e,`xAxis`,i,n),d=z(e,`xAxis`,i,n)):(u=I(e,`yAxis`,a,n),d=z(e,`yAxis`,a,n)),rt(u,d,!0)??l??0},en=(e,t,n)=>{var r=B(e),i=U(e,t),a=W(e,t);if(!(i==null||a==null)){var o,s;return r===`horizontal`?(o=I(e,`xAxis`,i,n),s=z(e,`xAxis`,i,n)):(o=I(e,`yAxis`,a,n),s=z(e,`yAxis`,a,n)),rt(o,s)}},tn=F([st,pt,(e,t,n)=>{var r=U(e,t);if(r!=null)return I(e,`xAxis`,r,n)},(e,t,n)=>{var r=W(e,t);if(r!=null)return I(e,`yAxis`,r,n)},(e,t,n)=>{var r=U(e,t);if(r!=null)return z(e,`xAxis`,r,n)},(e,t,n)=>{var r=W(e,t);if(r!=null)return z(e,`yAxis`,r,n)},F([F([Qt,lt,$e,ge,$t,en,Jt],Lt),K],zt),B,ht,en,F([Zt,K],Rt),K,Yt],(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{var{chartData:p,dataStartIndex:m,dataEndIndex:h}=c;if(!(d==null||o==null||t==null||s!==`horizontal`&&s!==`vertical`||n==null||r==null||i==null||a==null||l==null)){var{data:g}=d,_=g!=null&&g.length>0?g:p?.slice(m,h+1);if(_!=null)return Fn({layout:s,barSettings:d,pos:o,parentViewBox:t,bandSize:l,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:u,displayedData:_,offset:e,cells:f,dataStartIndex:m})}}),nn=[`index`];function rn(){return rn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},rn.apply(null,arguments)}function an(e,t){if(e==null)return{};var n,r,i=on(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function on(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var sn=(0,G.createContext)(void 0),cn=e=>{var t=(0,G.useContext)(sn);if(t!=null)return t.stackId;if(e!=null)return Tt(e)},ln=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,un=e=>{var t=(0,G.useContext)(sn);if(t!=null){var{stackId:n}=t;return`url(#${ln(n,e)})`}},dn=e=>{var{index:t}=e,n=an(e,nn),r=un(t);return G.createElement(L,rn({className:`recharts-bar-stack-layer`,clipPath:r},n))},fn=[`onMouseEnter`,`onMouseLeave`,`onClick`],pn=[`value`,`background`,`tooltipPosition`],mn=[`id`],hn=[`onMouseEnter`,`onClick`,`onMouseLeave`];function q(){return q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},q.apply(null,arguments)}function gn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?gn(Object(n),!0).forEach(function(t){_n(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _n(e,t,n){return(t=vn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vn(e){var t=yn(e,`string`);return typeof t==`symbol`?t:t+``}function yn(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Y(e,t){if(e==null)return{};var n,r,i=bn(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function bn(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var xn=e=>{var{dataKey:t,name:n,fill:r,legendType:i,hide:a}=e;return[{inactive:a,dataKey:t,type:i,color:r,value:Xe(n,t),payload:e}]},Sn=G.memo(e=>{var{dataKey:t,stroke:n,strokeWidth:r,fill:i,name:a,hide:o,unit:s,tooltipType:c,id:l}=e,u={dataDefinedOnItem:void 0,getPosition:je,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:Xe(a,t),hide:o,type:c,color:i,unit:s,graphicalItemId:l}};return G.createElement(Ve,{tooltipEntrySettings:u})});function Cn(e){var t=Te(Ee),{data:n,dataKey:r,background:i,allOtherBarProps:a}=e,{onMouseEnter:o,onMouseLeave:s,onClick:c}=a,l=Y(a,fn),u=Dt(o,r,a.id),d=Ot(s),f=kt(c,r,a.id);if(!i||n==null)return null;var p=We(i);return G.createElement(Fe,{zIndex:Bt(i,Re.barBackground)},n.map((e,n)=>{var{value:a,background:o,tooltipPosition:s}=e,c=Y(e,pn);if(!o)return null;var m=u(e,n),h=d(e,n),g=f(e,n),_=J(J(J(J(J({option:i,isActive:String(n)===t},c),{},{fill:`#eee`},o),p),ot(l,e,n)),{},{onMouseEnter:m,onMouseLeave:h,onClick:g,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return G.createElement(Gt,q({key:`background-bar-${n}`},_))}))}function wn(e){var{showLabels:t,children:n,rects:r}=e,i=r?.map(e=>{var t={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return J(J({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return G.createElement(at,{value:t?i:void 0},n)}function Tn(e){var{shape:t,activeBar:n,baseProps:r,entry:i,index:a,dataKey:o}=e,s=Te(Ee),c=Te(Ie),l=n&&String(i.originalDataIndex)===s&&(c==null||o===c),[u,d]=(0,G.useState)(!1),[f,p]=(0,G.useState)(!1);(0,G.useEffect)(()=>{var e;return l?(d(!0),e=requestAnimationFrame(()=>{p(!0)})):p(!1),()=>{cancelAnimationFrame(e)}},[l]);var m=(0,G.useCallback)(()=>{l||d(!1)},[l]),h=l&&f,g=l||u,_=l?n===!0?t:n:t,v=G.createElement(Gt,q({},r,{name:String(r.name)},i,{isActive:h,option:_,index:a,dataKey:o,onTransitionEnd:m}));return g?G.createElement(Fe,{zIndex:Re.activeBar},G.createElement(dn,{index:i.originalDataIndex},v)):v}function En(e){var{shape:t,baseProps:n,entry:r,index:i,dataKey:a}=e;return G.createElement(Gt,q({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a}))}function Dn(e){var{data:t,props:n}=e,r=ye(n)??{},{id:i}=r,a=Y(r,mn),{shape:o,dataKey:s,activeBar:c}=n,{onMouseEnter:l,onClick:u,onMouseLeave:d}=n,f=Y(n,hn),p=Dt(l,s,i),m=Ot(d),h=kt(u,s,i);return t?G.createElement(G.Fragment,null,t.map((e,t)=>G.createElement(dn,q({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},ot(f,e,t),{onMouseEnter:p(e,t),onMouseLeave:m(e,t),onClick:h(e,t)}),c?G.createElement(Tn,{shape:o,activeBar:c,baseProps:a,entry:e,index:t,dataKey:s}):G.createElement(En,{shape:o,baseProps:a,entry:e,index:t,dataKey:s})))):null}function On(e){var{props:t,previousRectanglesRef:n}=e,{data:r,layout:i,isAnimationActive:a,animationBegin:o,animationDuration:s,animationEasing:c,onAnimationEnd:l,onAnimationStart:u}=t,d=n.current,f=Ye(t,`recharts-bar-`),[p,m]=(0,G.useState)(!1),h=!p,g=(0,G.useCallback)(()=>{typeof l==`function`&&l(),m(!1)},[l]),_=(0,G.useCallback)(()=>{typeof u==`function`&&u(),m(!0)},[u]);return G.createElement(wn,{showLabels:h,rects:r},G.createElement(dt,{animationId:f,begin:o,duration:s,isActive:a,easing:c,onAnimationEnd:g,onAnimationStart:_,key:f},e=>{var a=e===1?r:r?.map((t,n)=>{var r=d&&d[n];if(r)return J(J({},t),{},{x:V(r.x,t.x,e),y:V(r.y,t.y,e),width:V(r.width,t.width,e),height:V(r.height,t.height,e)});if(i===`horizontal`){var a=V(0,t.height,e),o=V(t.stackedBarStart,t.y,e);return J(J({},t),{},{y:o,height:a})}var s=V(0,t.width,e),c=V(t.stackedBarStart,t.x,e);return J(J({},t),{},{width:s,x:c})});return e>0&&(n.current=a??null),a==null?null:G.createElement(L,null,G.createElement(Dn,{props:t,data:a}))}),G.createElement(_e,{label:t.label}),t.children)}function kn(e){var t=(0,G.useRef)(null);return G.createElement(On,{previousRectanglesRef:t,props:e})}var An=0,jn=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:wt(e,t)}},Mn=class extends G.PureComponent{render(){var{hide:e,data:t,dataKey:n,className:r,xAxisId:i,yAxisId:a,needClip:o,background:s,id:l}=this.props;if(e||t==null)return null;var u=c(`recharts-bar`,r),d=l;return G.createElement(L,{className:u,id:l},o&&G.createElement(`defs`,null,G.createElement(bt,{clipPathId:d,xAxisId:i,yAxisId:a})),G.createElement(L,{className:`recharts-bar-rectangles`,clipPath:o?`url(#clipPath-${d})`:void 0},G.createElement(Cn,{data:t,dataKey:n,background:s,allOtherBarProps:this.props}),G.createElement(kn,this.props)))}},Nn={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:An,xAxisId:0,yAxisId:0,zIndex:Re.bar};function Pn(e){var{xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:u}=e,{needClip:d}=Qe(t,n),f=xt(),p=tt(),m=Se(e.children,Et),h=Te(t=>tn(t,e.id,p,m));if(f!==`vertical`&&f!==`horizontal`)return null;var g,_=h?.[0];return g=_==null||_.height==null||_.width==null?0:f===`vertical`?_.height/2:_.width/2,G.createElement(et,{xAxisId:t,yAxisId:n,data:h,dataPointFormatter:jn,errorBarOffset:g},G.createElement(Mn,q({},e,{layout:f,needClip:d,data:h,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:u})))}function Fn(e){var{layout:t,barSettings:{dataKey:n,minPointSize:r,hasCustomShape:i},pos:a,bandSize:o,xAxis:s,yAxis:c,xAxisTicks:l,yAxisTicks:u,stackedData:d,displayedData:f,offset:p,cells:m,parentViewBox:h,dataStartIndex:g}=e,_=t===`horizontal`?c:s,v=d?_.scale.domain():null,y=nt({numericAxis:_}),b=_.scale.map(y);return f.map((e,f)=>{var _,x,S,C,w,T;if(d){var ee=d[f+g];if(ee==null)return null;_=xe(ee,v)}else _=wt(e,n),Array.isArray(_)||(_=[y,_]);var E=Kt(r,An)(_[1],f);if(t===`horizontal`){var D=c.scale.map(_[0]),O=c.scale.map(_[1]);if(D==null||O==null)return null;x=qe({axis:s,ticks:l,bandSize:o,offset:a.offset,entry:e,index:f}),S=O??D??void 0,C=a.size;var te=D-O;if(w=Pe(te)?0:te,T={x,y:p.top,width:C,height:p.height},Math.abs(E)>0&&Math.abs(w)<Math.abs(E)){var ne=De(w||E)*(Math.abs(E)-Math.abs(w));S-=ne,w+=ne}}else{var k=s.scale.map(_[0]),A=s.scale.map(_[1]);if(k==null||A==null)return null;if(x=k,S=qe({axis:c,ticks:u,bandSize:o,offset:a.offset,entry:e,index:f}),C=A-k,w=a.size,T={x:p.left,y:S,width:p.width,height:w},Math.abs(E)>0&&Math.abs(C)<Math.abs(E)){var j=De(C||E)*(Math.abs(E)-Math.abs(C));C+=j}}return x==null||S==null||C==null||w==null||!i&&(C===0||w===0)?null:J(J({},e),{},{stackedBarStart:b,x,y:S,width:C,height:w,value:d?_:_[1],payload:e,background:T,tooltipPosition:{x:x+C/2,y:S+w/2},parentViewBox:h,originalDataIndex:f},m&&m[f]&&m[f].props)}).filter(Boolean)}function In(e){var t=Ce(e,Nn),n=cn(t.stackId),r=tt();return G.createElement(be,{id:t.id,type:`bar`},e=>G.createElement(G.Fragment,null,G.createElement(St,{legendPayload:xn(t)}),G.createElement(Sn,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:e}),G.createElement(Be,{type:`bar`,id:e,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r,hasCustomShape:t.shape!=null}),G.createElement(Fe,{zIndex:t.zIndex},G.createElement(Pn,q({},t,{id:e})))))}var X=G.memo(In,_t);X.displayName=`Bar`;var Ln=[`axis`,`item`],Rn=(0,G.forwardRef)((e,t)=>G.createElement(gt,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:Ln,tooltipPayloadSearcher:Ne,categoricalChartProps:e,ref:t})),zn=d(ne(),1),Bn=()=>{let[{data:e,fetching:t,error:n},r]=i({query:o});n&&(console.error(`Error fetching financial accounts: ${n}`),le.error(`Error`,{description:`Unable to fetch financial accounts`}));let a=(0,G.useMemo)(()=>e?.allFinancialAccounts?.sort((e,t)=>e.name>t.name?1:-1)??[],[e]);return{fetching:t,refresh:()=>r(),financialAccounts:a,selectableFinancialAccounts:(0,G.useMemo)(()=>a.map(e=>({value:e.id,label:e.name})),[a])}},Z=s();function Vn(e){return _(e??null)}var Hn=`balanceReportFilters`,Q={MONTHLY:`Monthly`,BI_MONTHLY:`Bi-monthly`,QUARTERLY:`Quarterly`,SEMI_ANNUALLY:`Semi-Annually`,ANNUALLY:`Annually`},Un=y({ownerId:P().optional(),fromDate:P().regex(n,`Date must be in format yyyy-mm-dd`),toDate:P().regex(n,`Date must be in format yyyy-mm-dd`),period:re([Q.MONTHLY,Q.BI_MONTHLY,Q.QUARTERLY,Q.SEMI_ANNUALLY,Q.ANNUALLY]),includedCounterparties:A(P()),excludedCounterparties:A(P()),includedTags:A(P()),excludedTags:A(P()),includedAccounts:A(P()),excludedAccounts:A(P())});function Wn(e){return{ownerId:e.ownerId??void 0,fromDate:e.fromDate,toDate:e.toDate,period:e.period??Q.MONTHLY,includedCounterparties:e.includedCounterparties??[],excludedCounterparties:e.excludedCounterparties??[],includedTags:e.includedTags??[],excludedTags:e.excludedTags??[],includedAccounts:e.includedAccounts??[],excludedAccounts:e.excludedAccounts??[]}}function Gn({filter:e,setFilter:t,closeModal:n}){let i=ue({resolver:oe(Un),defaultValues:Wn(e)}),{selectableAdminBusinesses:a,fetching:o}=p(),{selectableFinancialEntities:s,fetching:c}=ee(),{selectableFinancialAccounts:l,fetching:u}=Bn(),{selectableTags:d,fetching:m}=de(),h=e=>{t(e),n()},g=i.watch(`includedCounterparties`),_=(0,G.useMemo)(()=>g.length>0,[g]),v=i.watch(`includedTags`),y=(0,G.useMemo)(()=>v.length>0,[v]),b=i.watch(`includedAccounts`),x=(0,G.useMemo)(()=>b.length>0,[b]);return(0,Z.jsx)(O,{...i,children:(0,Z.jsxs)(`form`,{onSubmit:i.handleSubmit(h),children:[(0,Z.jsxs)(ie,{cols:2,children:[(0,Z.jsx)(j,{control:i.control,name:`ownerId`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Admin Business`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(r,{onChange:e.onChange,data:a,value:e.value,disabled:o,placeholder:`Scroll to see all options`,formPart:!0})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`fromDate`,render:({field:e,fieldState:t})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{htmlFor:`balance-report-from-date`,children:`From Date`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(f,{id:`balance-report-from-date`,onChange:t=>{t!==e.value&&e.onChange(t)},value:e.value??void 0,"aria-invalid":!!t.error})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`toDate`,render:({field:e,fieldState:t})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{htmlFor:`balance-report-to-date`,children:`To Date`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(f,{id:`balance-report-to-date`,onChange:t=>{t!==e.value&&e.onChange(t)},value:e.value??void 0,"aria-invalid":!!t.error})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`period`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Period`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(r,{onChange:e.onChange,data:Object.values(Q).map(e=>({value:e,label:e})),value:e.value,placeholder:`Select period`,formPart:!0})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`includedCounterparties`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Included Counterparties`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(C,{asChild:!0,options:s,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:c})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`excludedCounterparties`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Excluded Counterparties`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(C,{asChild:!0,options:s,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:c||_})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`includedAccounts`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Included Accounts`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(C,{asChild:!0,options:l,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:u})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`excludedAccounts`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Excluded Accounts`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(C,{asChild:!0,options:l,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:u||x})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`includedTags`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Included Tags`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(C,{asChild:!0,options:d,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:m})}),(0,Z.jsx)(N,{})]})}),(0,Z.jsx)(j,{control:i.control,name:`excludedTags`,render:({field:e})=>(0,Z.jsxs)(k,{children:[(0,Z.jsx)(T,{children:`Excluded Tags`}),(0,Z.jsx)(M,{children:(0,Z.jsx)(C,{asChild:!0,options:d,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:m||y})}),(0,Z.jsx)(N,{})]})})]}),(0,Z.jsxs)(`div`,{className:`flex justify-center mt-5 gap-3`,children:[(0,Z.jsx)(S,{type:`submit`,disabled:o,children:`Filter`}),(0,Z.jsx)(S,{type:`button`,variant:`destructive`,onClick:n,children:`Cancel`})]})]})})}function Kn({filter:t,setFilter:n,initiallyOpened:r=!1}){let[i,a]=(0,G.useState)(r),[o,s]=(0,G.useState)(!!t),{get:c,set:l}=pe();return(0,G.useEffect)(()=>{let e=Vn(t);e!==c(`balanceReportFilters`)&&l(Hn,e)},[t,c,l]),(0,Z.jsxs)(`div`,{className:`flex flex-row gap-5 items-center`,children:[(0,Z.jsx)(h,{opened:i,onClose:()=>a(!1),content:(0,Z.jsx)(Gn,{filter:t,setFilter:(0,G.useCallback)(e=>{(0,zn.default)(e,t)||(n(e),s(!!e))},[t,n]),closeModal:()=>a(!1)}),modalSize:`xl`}),(0,Z.jsx)(te,{inline:!0,size:16,disabled:!o,children:(0,Z.jsx)(S,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>a(!0),children:(0,Z.jsx)(e,{className:`size-5`})})})]})}var qn=({periodInfo:e})=>{let t=w(E.Usd);return e?(0,Z.jsx)(v,{className:`mb-4`,children:(0,Z.jsx)(fe,{className:`pt-6`,children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 md:grid-cols-4 gap-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:`Income`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`h-3 w-3 rounded-sm bg-[hsl(var(--chart-1))]`}),(0,Z.jsx)(`p`,{className:`text-2xl font-bold`,children:t.format(e.income)})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:`Expense`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`h-3 w-3 rounded-sm bg-[hsl(var(--chart-2))]`}),(0,Z.jsx)(`p`,{className:`text-2xl font-bold`,children:t.format(e.expense)})]})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:`Delta`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`h-3 w-3 rounded-sm bg-[hsl(var(--chart-3))]`}),(0,Z.jsx)(`p`,{className:`text-2xl font-bold`,children:t.format(e.delta)})]}),Object.keys(e.deltaInfo).length>0&&(0,Z.jsx)(`div`,{className:`mt-2 space-y-1`,children:Object.entries(e.deltaInfo).map(([e,t])=>{let n=e;return(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:w(n).format(t??0)},n)})})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:`Cumulative`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`h-3 w-3 rounded-sm bg-[hsl(var(--chart-4))]`}),(0,Z.jsx)(`p`,{className:`text-2xl font-bold`,children:t.format(e.cumulative)})]})]})]})})}):null},Jn=({periodInfo:e,onCloseExtendedTransactions:t})=>{let n=(0,G.useMemo)(()=>e?.transactions.map(e=>e.id)||[],[e?.transactions]),[{data:r,fetching:a},o]=i({query:x,variables:{transactionIDs:n},pause:n.length===0});(0,G.useEffect)(()=>{n.length>0&&o()},[n,o]);let s=(0,G.useMemo)(()=>r?.transactionsByIDs?n.map(e=>r?.transactionsByIDs.find(t=>t.id===e)).filter(Boolean):[],[r,n]);return(0,Z.jsx)(v,{className:`mt-5 w-full`,children:a?(0,Z.jsx)(se,{}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(u,{children:(0,Z.jsxs)(b,{className:`flex justify-between`,children:[(0,Z.jsxs)(`span`,{children:[e?.period,` Transactions`]}),(0,Z.jsxs)(`div`,{className:`flex flex-row gap-2 items-center`,children:[(0,Z.jsx)(vt,{rawTransactions:s}),(0,Z.jsx)(S,{variant:`link`,onClick:t,children:(0,Z.jsx)(g,{className:`h-4 w-4`})})]})]})}),(0,Z.jsxs)(fe,{children:[(0,Z.jsx)(qn,{periodInfo:e}),(0,Z.jsx)(he,{transactionsProps:s})]})]})})},$={income:{label:`Income`,color:`rgba(0, 255, 50, 0.5)`},expense:{label:`Expense`,color:`rgba(255, 0, 0, 0.5)`},delta:{label:`Delta`,color:`rgba(0, 30, 255, 0.5)`},cumulative:{label:`Cumulative Balance`,color:`rgba(100, 0, 255, 0.5)`}};function Yn(e,t,n){switch(n){case Q.MONTHLY:return`${e}-${String(t).padStart(2,`0`)}`;case Q.BI_MONTHLY:{let n=t%2==0?t-1:t;return`${e}-${String(n).padStart(2,`0`)}`}case Q.QUARTERLY:return`${e}-Q${Math.ceil(t/3)}`;case Q.SEMI_ANNUALLY:return`${e}-H${t>6?2:1}`;case Q.ANNUALLY:return String(e)}}function Xn(e,t){switch(t){case Q.MONTHLY:{let[t,n]=e.split(`-`);return`${n}/${t}`}case Q.BI_MONTHLY:{let[t,n]=e.split(`-`),r=Number(n)+1;return`${n}-${String(r).padStart(2,`0`)}/${t}`}case Q.QUARTERLY:{let[t,n]=e.split(`-`);return`${n}, ${t}`}case Q.SEMI_ANNUALLY:{let[t,n]=e.split(`-`);return`${n}, ${t}`}case Q.ANNUALLY:return e}}var Zn=w(E.Usd),Qn=()=>{let{setFiltersContext:e}=(0,G.useContext)(D),{userContext:n}=(0,G.useContext)(ce),{get:r}=pe(),[o,s]=(0,G.useState)((0,G.useMemo)(()=>{let e={ownerId:n?.context.adminBusinessId,toDate:m(new Date,`yyyy-MM-dd`),period:Q.MONTHLY,fromDate:m(t(new Date,{years:1}),`yyyy-MM-dd`),includedCounterparties:[],excludedCounterparties:[],includedTags:[],excludedTags:[],includedAccounts:[],excludedAccounts:[]},i=r(Hn);if(i)try{return JSON.parse(decodeURIComponent(i))}catch(e){console.log(`Error parsing balance report filters from URL:`,e)}return e},[n?.context.adminBusinessId,r])),[c,d]=(0,G.useState)(void 0),[f,p]=(0,G.useState)(Object.keys($)),[{data:h,fetching:g}]=i({query:l,variables:(0,G.useMemo)(()=>{let{ownerId:e,fromDate:t,toDate:n}=o;return{ownerId:e,fromDate:t,toDate:n}},[o]),pause:!o});(0,G.useEffect)(()=>{e((0,Z.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,Z.jsx)(Kn,{filter:o,setFilter:s,initiallyOpened:!o}),(0,Z.jsx)(C,{options:Object.entries($).map(([e,t])=>({label:t.label,value:e})),onValueChange:p,defaultValue:f,placeholder:`Select Data Sets`,variant:`default`,maxCount:1})]})),d(void 0)},[h,g,o,e,s,f]),(0,G.useEffect)(()=>{s(e=>({...e,ownerId:n?.context.adminBusinessId}))},[n]);let _=(0,G.useMemo)(()=>{if(!h?.transactionsForBalanceReport)return[];let e=new Map;h.transactionsForBalanceReport.map(t=>{if(o.includedCounterparties?.length>0){if(!t.counterparty?.id||!t.isFee&&n?.context.financialAccountsBusinessesIds?.includes(t.counterparty.id)||!o.includedCounterparties.includes(t.counterparty.id))return}else if(t.counterparty?.id&&(!t.isFee&&n?.context.financialAccountsBusinessesIds?.includes(t.counterparty.id)||o.excludedCounterparties?.includes(t.counterparty.id)))return;if(o.includedTags?.length>0){if(!t.charge?.tags||t.charge.tags.length===0||!t.charge.tags.some(e=>o.includedTags.includes(e.id)))return}else if(o.excludedTags.length>0&&t.charge?.tags.length&&t.charge.tags.some(e=>o.excludedTags.includes(e.id)))return;if(o.includedAccounts?.length>0){if(!t.account?.id||!o.includedAccounts.includes(t.account.id))return}else if(t.account?.id&&o.excludedAccounts?.includes(t.account.id))return;let r=Yn(t.year,t.month,o.period);e.has(r)||e.set(r,{period:r,income:0,expense:0,delta:0,deltaInfo:{},cumulative:0,transactions:[]});let i=e.get(r);t.amountUsd.raw>0?i.income+=t.amountUsd.raw:i.expense+=t.amountUsd.raw,i.delta+=t.amountUsd.raw,i.deltaInfo[t.amount.currency]=(i.deltaInfo[t.amount.currency]||0)+t.amount.raw,i.transactions.push(t)});let t=0;return Array.from(e.entries()).sort((e,t)=>e[0].localeCompare(t[0])).map(([e,n])=>(t+=n.delta,{period:e,income:n.income,expense:n.expense,delta:n.delta,deltaInfo:n.deltaInfo,cumulative:t,transactions:n.transactions.sort((e,t)=>Math.abs(t.amountUsd.raw)-Math.abs(e.amountUsd.raw))}))},[h,o.period,o.includedCounterparties,o.excludedCounterparties,o.includedAccounts,o.excludedAccounts,o.includedTags,o.excludedTags,n?.context.financialAccountsBusinessesIds]);return(0,Z.jsx)(me,{title:`Balance Report`,description:`Accounts periodical balance`,children:g?(0,Z.jsx)(se,{}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(v,{className:`w-full`,children:[(0,Z.jsx)(u,{children:(0,Z.jsx)(a,{children:`Click specific period to expand it's transactions data`})}),(0,Z.jsx)(fe,{children:(0,Z.jsx)(ct,{config:$,className:`h-150 w-full`,children:(0,Z.jsxs)(Rn,{accessibilityLayer:!0,data:_,onClick:e=>d(e.activeLabel?.toString()),children:[(0,Z.jsx)(ft,{vertical:!1}),(0,Z.jsx)(Ze,{dataKey:`period`,tickLine:!1,tickMargin:10,axisLine:!1,tickFormatter:e=>Xn(e,o.period)}),(0,Z.jsx)(Je,{content:(0,Z.jsx)(ut,{formatter:(e,t,n,r)=>{let i=`bg-[var(--color-${t})]`;return r<2?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`${i} h-2.5 w-2.5 shrink-0 rounded-[2px]`}),$[t]?.label||t,(0,Z.jsx)(`div`,{className:`ml-auto flex items-baseline gap-0.5 font-mono font-medium tabular-nums text-foreground`,children:Zn.format(Number(e))})]}):(0,Z.jsxs)(`div`,{className:`mt-1.5 flex basis-full items-center border-t pt-1.5 text-xs font-medium text-foreground`,children:[(0,Z.jsx)(`div`,{className:`h-2.5 w-2.5 shrink-0 rounded-[2px] mr-2 ${i}`}),$[t]?.label||t,(0,Z.jsx)(`div`,{className:`ml-auto flex items-baseline gap-0.5 font-mono font-medium tabular-nums text-foreground`,children:Zn.format(Number(e))})]})}})}),(0,Z.jsx)(mt,{content:(0,Z.jsx)(it,{})}),f.includes(`income`)&&(0,Z.jsx)(X,{dataKey:`income`,fill:`var(--color-income)`,radius:4}),f.includes(`expense`)&&(0,Z.jsx)(X,{dataKey:`expense`,fill:`var(--color-expense)`,radius:4}),f.includes(`delta`)&&(0,Z.jsx)(X,{dataKey:`delta`,fill:`var(--color-delta)`,radius:4}),f.includes(`cumulative`)&&(0,Z.jsx)(X,{dataKey:`cumulative`,fill:`var(--color-cumulative)`,radius:4})]})})})]}),c&&(0,Z.jsx)(Jn,{periodInfo:_.find(e=>e.period===c),onCloseExtendedTransactions:()=>d(void 0)})]})})};export{Qn as BalanceReport};