UNPKG

@accounter/client

Version:
1 lines • 33 kB
import{s as e}from"./dist-BbgEzppd.js";import{a as t,i as n,o as r}from"./utils-BUNz070n.js";import{Mn as i,X as a,Ya as o,Z as s,j as c,r as l}from"./error-handling-AQOG1RNy.js";import{r as u,s as d}from"./routes-BXbESQBe.js";import{ut as f}from"./select-6mBYg_R6.js";import{At as p,Ft as m,G as h,I as g,It as _,Nt as v,Ot as ee,Pt as y,R as b,Vt as x,_t as S,cn as C,dt as w,f as te,gn as T,jt as E,mt as D,p as ne,q as O,wt as k,yr as A,z as j}from"./common-Cy-x5Vhe.js";import{t as re}from"./funnel-BvwoBZ0O.js";import{t as M}from"./button-CBTN3XMQ.js";import{a as ie,n as ae,o as oe,r as se,t as ce}from"./card-I9-5Y7H7.js";import{X as le,at as N,b as ue,v as de}from"./table-tK8pMUMS.js";import{t as fe}from"./sub-CoUILHWZ.js";import{w as pe}from"./index-B8E5XsZe.js";import{t as me}from"./use-url-query-BZOFfgST.js";import{t as he}from"./page-layout-BO3YzLcj.js";import{t as ge}from"./transactions-table-BvI00JZX.js";import{Z as P}from"./wiggle-BXH3GGYO.js";import{$ as _e,A as ve,At as ye,B as F,Bt as be,C as xe,Ct as Se,D as Ce,Dt as we,E as Te,Et as I,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-D3P8e-KM.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 ye(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=ye(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=ye(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=e(r());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(Te,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=P([Oe,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),Jt=P([K],e=>e?.maxBarSize),Yt=(e,t,n,r)=>r,Xt=P([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=P([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=F(e,`xAxis`,i,n),d=z(e,`xAxis`,i,n)):(u=F(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=F(e,`xAxis`,i,n),s=z(e,`xAxis`,i,n)):(o=F(e,`yAxis`,a,n),s=z(e,`yAxis`,a,n)),rt(o,s)}},tn=P([st,pt,(e,t,n)=>{var r=U(e,t);if(r!=null)return F(e,`xAxis`,r,n)},(e,t,n)=>{var r=W(e,t);if(r!=null)return F(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)},P([P([Qt,lt,$e,_e,$t,en,Jt],Lt),K],zt),B,ht,en,P([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=I(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=I(Ee),c=I(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=be(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(ve,{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:n,dataKey:r,className:i,xAxisId:a,yAxisId:o,needClip:s,background:c,id:l}=this.props;if(e||n==null)return null;var u=t(`recharts-bar`,i),d=l;return G.createElement(L,{className:u,id:l},s&&G.createElement(`defs`,null,G.createElement(bt,{clipPathId:d,xAxisId:a,yAxisId:o})),G.createElement(L,{className:`recharts-bar-rectangles`,clipPath:s?`url(#clipPath-${d})`:void 0},G.createElement(Cn,{data:n,dataKey:r,background:c,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=Ce(e.children,Et),h=I(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,ee=nt({numericAxis:_}),y=_.scale.map(ee);return f.map((e,f)=>{var _,b,x,S,C,w;if(d){var te=d[f+g];if(te==null)return null;_=Se(te,v)}else _=wt(e,n),Array.isArray(_)||(_=[ee,_]);var T=Kt(r,An)(_[1],f);if(t===`horizontal`){var E=c.scale.map(_[0]),D=c.scale.map(_[1]);if(E==null||D==null)return null;b=qe({axis:s,ticks:l,bandSize:o,offset:a.offset,entry:e,index:f}),x=D??E??void 0,S=a.size;var ne=E-D;if(C=Pe(ne)?0:ne,w={x:b,y:p.top,width:S,height:p.height},Math.abs(T)>0&&Math.abs(C)<Math.abs(T)){var O=De(C||T)*(Math.abs(T)-Math.abs(C));x-=O,C+=O}}else{var k=s.scale.map(_[0]),A=s.scale.map(_[1]);if(k==null||A==null)return null;if(b=k,x=qe({axis:c,ticks:u,bandSize:o,offset:a.offset,entry:e,index:f}),S=A-k,C=a.size,w={x:p.left,y:x,width:p.width,height:C},Math.abs(T)>0&&Math.abs(S)<Math.abs(T)){var j=De(S||T)*(Math.abs(T)-Math.abs(S));S+=j}}return b==null||x==null||S==null||C==null||!i&&(S===0||C===0)?null:J(J({},e),{},{stackedBarStart:y,x:b,y:x,width:S,height:C,value:d?_:_[1],payload:e,background:w,tooltipPosition:{x:b+S/2,y:x+C/2},parentViewBox:h,originalDataIndex:f},m&&m[f]&&m[f].props)}).filter(Boolean)}function In(e){var t=we(e,Nn),n=cn(t.stackId),r=tt();return G.createElement(xe,{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=e(le(),1),Bn=()=>{let[{data:e,fetching:t,error:n},r]=o({query:c});n&&(console.error(`Error fetching financial accounts: ${n}`),l.error(`Error`,{description:`Unable to fetch financial accounts`}));let i=(0,G.useMemo)(()=>e?.allFinancialAccounts?.sort((e,t)=>e.name>t.name?1:-1)??[],[e]);return{fetching:t,refresh:()=>r(),financialAccounts:i,selectableFinancialAccounts:(0,G.useMemo)(()=>i.map(e=>({value:e.id,label:e.name})),[i])}},Z=n();function Vn(e){return!e||u(e)?null:encodeURIComponent(JSON.stringify(e))}var Hn=`balanceReportFilters`,Q={MONTHLY:`Monthly`,BI_MONTHLY:`Bi-monthly`,QUARTERLY:`Quarterly`,SEMI_ANNUALLY:`Semi-Annually`,ANNUALLY:`Annually`},Un=h({ownerId:O().optional(),fromDate:O().regex(d,`Date must be in format yyyy-mm-dd`),toDate:O().regex(d,`Date must be in format yyyy-mm-dd`),period:b([Q.MONTHLY,Q.BI_MONTHLY,Q.QUARTERLY,Q.SEMI_ANNUALLY,Q.ANNUALLY]),includedCounterparties:j(O()),excludedCounterparties:j(O()),includedTags:j(O()),excludedTags:j(O()),includedAccounts:j(O()),excludedAccounts:j(O())});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 r=x({resolver:g(Un),defaultValues:Wn(e)}),{selectableAdminBusinesses:i,fetching:a}=te(),{selectableFinancialEntities:o,fetching:s}=k(),{selectableFinancialAccounts:c,fetching:l}=Bn(),{selectableTags:u,fetching:d}=w(),f=e=>{t(e),n()},h=r.watch(`includedCounterparties`),b=(0,G.useMemo)(()=>h.length>0,[h]),T=r.watch(`includedTags`),ne=(0,G.useMemo)(()=>T.length>0,[T]),O=r.watch(`includedAccounts`),A=(0,G.useMemo)(()=>O.length>0,[O]);return(0,Z.jsx)(p,{...r,children:(0,Z.jsxs)(`form`,{onSubmit:r.handleSubmit(f),children:[(0,Z.jsxs)(C,{cols:2,children:[(0,Z.jsx)(v,{control:r.control,name:`ownerId`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Admin Business`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(S,{onChange:e.onChange,data:i,value:e.value,disabled:a,placeholder:`Scroll to see all options`,formPart:!0})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`fromDate`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`From Date`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(ee,{...e,onChange:t=>{let n=t?typeof t==`string`?t:N(t,`yyyy-MM-dd`):void 0;n!==e.value&&e.onChange(n)},value:e.value?new Date(e.value):void 0,popoverProps:{withinPortal:!0}})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`toDate`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`To Date`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(ee,{...e,onChange:t=>{let n=t?typeof t==`string`?t:N(t,`yyyy-MM-dd`):void 0;n!==e.value&&e.onChange(n)},value:e.value?new Date(e.value):void 0,popoverProps:{withinPortal:!0}})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`period`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Period`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(S,{onChange:e.onChange,data:Object.values(Q).map(e=>({value:e,label:e})),value:e.value,placeholder:`Select period`,formPart:!0})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`includedCounterparties`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Included Counterparties`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(D,{asChild:!0,options:o,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:s})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`excludedCounterparties`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Excluded Counterparties`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(D,{asChild:!0,options:o,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:s||b})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`includedAccounts`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Included Accounts`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(D,{asChild:!0,options:c,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:l})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`excludedAccounts`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Excluded Accounts`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(D,{asChild:!0,options:c,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:l||A})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`includedTags`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Included Tags`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(D,{asChild:!0,options:u,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:d})}),(0,Z.jsx)(_,{})]})}),(0,Z.jsx)(v,{control:r.control,name:`excludedTags`,render:({field:e})=>(0,Z.jsxs)(y,{children:[(0,Z.jsx)(m,{children:`Excluded Tags`}),(0,Z.jsx)(E,{children:(0,Z.jsx)(D,{asChild:!0,options:u,onValueChange:e.onChange,defaultValue:e.value??[],value:e.value??[],placeholder:`Scroll to see all options`,variant:`default`,disabled:d||ne})}),(0,Z.jsx)(_,{})]})})]}),(0,Z.jsxs)(`div`,{className:`flex justify-center mt-5 gap-3`,children:[(0,Z.jsx)(M,{type:`submit`,disabled:a,children:`Filter`}),(0,Z.jsx)(M,{type:`button`,variant:`destructive`,onClick:n,children:`Cancel`})]})]})})}function Kn({filter:e,setFilter:t,initiallyOpened:n=!1}){let[r,i]=(0,G.useState)(n),[a,o]=(0,G.useState)(!!e),{get:s,set:c}=me();return(0,G.useEffect)(()=>{let t=Vn(e);t!==s(`balanceReportFilters`)&&c(Hn,t)},[e,s,c]),(0,Z.jsxs)(`div`,{className:`flex flex-row gap-5 items-center`,children:[(0,Z.jsx)(ne,{opened:r,onClose:()=>i(!1),content:(0,Z.jsx)(Gn,{filter:e,setFilter:(0,G.useCallback)(n=>{(0,zn.default)(n,e)||(t(n),o(!!n))},[e,t]),closeModal:()=>i(!1)}),modalSize:`xl`}),(0,Z.jsx)(T,{inline:!0,size:16,disabled:!a,children:(0,Z.jsx)(M,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>i(!0),children:(0,Z.jsx)(re,{className:`size-5`})})})]})}var qn=({periodInfo:e})=>{let t=A(i.Usd);return e?(0,Z.jsx)(ce,{className:`mb-4`,children:(0,Z.jsx)(ae,{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:A(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:i},s]=o({query:a,variables:{transactionIDs:n},pause:n.length===0});(0,G.useEffect)(()=>{n.length>0&&s()},[n,s]);let c=(0,G.useMemo)(()=>r?.transactionsByIDs?n.map(e=>r?.transactionsByIDs.find(t=>t.id===e)).filter(Boolean):[],[r,n]);return(0,Z.jsx)(ce,{className:`mt-5 w-full`,children:i?(0,Z.jsx)(ue,{}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ie,{children:(0,Z.jsxs)(oe,{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:c}),(0,Z.jsx)(M,{variant:`link`,onClick:t,children:(0,Z.jsx)(f,{className:`h-4 w-4`})})]})]})}),(0,Z.jsxs)(ae,{children:[(0,Z.jsx)(qn,{periodInfo:e}),(0,Z.jsx)(ge,{transactionsProps:c})]})]})})},$={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=A(i.Usd),Qn=()=>{let{setFiltersContext:e}=(0,G.useContext)(pe),{userContext:t}=(0,G.useContext)(de),{get:n}=me(),[r,i]=(0,G.useState)((0,G.useMemo)(()=>{let e={ownerId:t?.context.adminBusinessId,toDate:N(new Date,`yyyy-MM-dd`),period:Q.MONTHLY,fromDate:N(fe(new Date,{years:1}),`yyyy-MM-dd`),includedCounterparties:[],excludedCounterparties:[],includedTags:[],excludedTags:[],includedAccounts:[],excludedAccounts:[]},r=n(Hn);if(r)try{return JSON.parse(decodeURIComponent(r))}catch(e){console.log(`Error parsing balance report filters from URL:`,e)}return e},[t?.context.adminBusinessId,n])),[a,c]=(0,G.useState)(void 0),[l,u]=(0,G.useState)(Object.keys($)),[{data:d,fetching:f}]=o({query:s,variables:(0,G.useMemo)(()=>{let{ownerId:e,fromDate:t,toDate:n}=r;return{ownerId:e,fromDate:t,toDate:n}},[r]),pause:!r});(0,G.useEffect)(()=>{e((0,Z.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,Z.jsx)(Kn,{filter:r,setFilter:i,initiallyOpened:!r}),(0,Z.jsx)(D,{options:Object.entries($).map(([e,t])=>({label:t.label,value:e})),onValueChange:u,defaultValue:l,placeholder:`Select Data Sets`,variant:`default`,maxCount:1})]})),c(void 0)},[d,f,r,e,i,l]),(0,G.useEffect)(()=>{i(e=>({...e,ownerId:t?.context.adminBusinessId}))},[t]);let p=(0,G.useMemo)(()=>{if(!d?.transactionsForBalanceReport)return[];let e=new Map;d.transactionsForBalanceReport.map(n=>{if(r.includedCounterparties?.length>0){if(!n.counterparty?.id||!n.isFee&&t?.context.financialAccountsBusinessesIds?.includes(n.counterparty.id)||!r.includedCounterparties.includes(n.counterparty.id))return}else if(n.counterparty?.id&&(!n.isFee&&t?.context.financialAccountsBusinessesIds?.includes(n.counterparty.id)||r.excludedCounterparties?.includes(n.counterparty.id)))return;if(r.includedTags?.length>0){if(!n.charge?.tags||n.charge.tags.length===0||!n.charge.tags.some(e=>r.includedTags.includes(e.id)))return}else if(r.excludedTags.length>0&&n.charge?.tags.length&&n.charge.tags.some(e=>r.excludedTags.includes(e.id)))return;if(r.includedAccounts?.length>0){if(!n.account?.id||!r.includedAccounts.includes(n.account.id))return}else if(n.account?.id&&r.excludedAccounts?.includes(n.account.id))return;let i=Yn(n.year,n.month,r.period);e.has(i)||e.set(i,{period:i,income:0,expense:0,delta:0,deltaInfo:{},cumulative:0,transactions:[]});let a=e.get(i);n.amountUsd.raw>0?a.income+=n.amountUsd.raw:a.expense+=n.amountUsd.raw,a.delta+=n.amountUsd.raw,a.deltaInfo[n.amount.currency]=(a.deltaInfo[n.amount.currency]||0)+n.amount.raw,a.transactions.push(n)});let n=0;return Array.from(e.entries()).sort((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>(n+=t.delta,{period:e,income:t.income,expense:t.expense,delta:t.delta,deltaInfo:t.deltaInfo,cumulative:n,transactions:t.transactions.sort((e,t)=>Math.abs(t.amountUsd.raw)-Math.abs(e.amountUsd.raw))}))},[d,r.period,r.includedCounterparties,r.excludedCounterparties,r.includedAccounts,r.excludedAccounts,r.includedTags,r.excludedTags,t?.context.financialAccountsBusinessesIds]);return(0,Z.jsx)(he,{title:`Balance Report`,description:`Accounts periodical balance`,children:f?(0,Z.jsx)(ue,{}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(ce,{className:`w-full`,children:[(0,Z.jsx)(ie,{children:(0,Z.jsx)(se,{children:`Click specific period to expand it's transactions data`})}),(0,Z.jsx)(ae,{children:(0,Z.jsx)(ct,{config:$,className:`h-150 w-full`,children:(0,Z.jsxs)(Rn,{accessibilityLayer:!0,data:p,onClick:e=>c(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,r.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,{})}),l.includes(`income`)&&(0,Z.jsx)(X,{dataKey:`income`,fill:`var(--color-income)`,radius:4}),l.includes(`expense`)&&(0,Z.jsx)(X,{dataKey:`expense`,fill:`var(--color-expense)`,radius:4}),l.includes(`delta`)&&(0,Z.jsx)(X,{dataKey:`delta`,fill:`var(--color-delta)`,radius:4}),l.includes(`cumulative`)&&(0,Z.jsx)(X,{dataKey:`cumulative`,fill:`var(--color-cumulative)`,radius:4})]})})})]}),a&&(0,Z.jsx)(Jn,{periodInfo:p.find(e=>e.period===a),onCloseExtendedTransactions:()=>c(void 0)})]})})};export{Qn as BalanceReport};