@accounter/client
Version:
Accounter client application
5 lines • 63.1 kB
JavaScript
import{r as e,s as t}from"./dist-ypP48_Ax.js";import{i as n,o as r,t as i}from"./utils-CbS-oR5I.js";import{t as a}from"./client-CHWRDVVc.js";import{r as o,t as s}from"./error-handling-CKe_iwSC.js";import{S as c}from"./routes-Cawu7UJi.js";import{n as l}from"./loader-circle-CfW9jOIr.js";import{Ar as u,At as d,Lr as f,Mt as p,Q as m,Sr as h,fr as g,it as _,jt as v,vt as y,xr as b}from"./common-D-vYt_Yl.js";import{t as ee}from"./building-2-Bwt8dSgl.js";import{a as x,c as S,d as C,f as w,ft as T,i as E,l as D,lt as te,mt as ne,n as re,o as O,p as k,pt as A,r as j,s as M,t as N,u as P}from"./select-Zdatwv1b.js";import{t as ie}from"./download-B7064n9W.js";import{c as ae,d as oe,f as F,h as se,l as ce,m as le,x as ue,y as de}from"./separator-BvKylNhK.js";import{n as fe,r as pe,t as I}from"./upload-Cp9YJMo1.js";import{n as me,t as he}from"./panel-left-open-C3lw_jDm.js";import{t as L}from"./save-vEROhhbY.js";import{t as R}from"./button-DUNsVBiu.js";import{a as z,c as ge,i as _e,n as B,o as ve,r as ye,s as be,t as xe}from"./alert-dialog-BHNcnEKV.js";import{$c as Se,Bc as V,Fl as H,Ml as U,Nl as W,Pl as G,a as Ce,c as we,d as Te,i as Ee,n as De,o as Oe,r as ke,s as Ae,t as je}from"./table-AJA7Uyxy.js";import{Br as Me,E as Ne,Qo as Pe,Un as Fe,Zo as Ie,ar as Le,ir as Re,oo as ze,so as Be}from"./graphql-DC5GYCFE.js";import{t as Ve}from"./objectWithoutPropertiesLoose-Do6ywDBO.js";import{t as He}from"./columnHelper-BPS5AuUP.js";import{t as K}from"./defineProperty-CHyAdSol.js";import{t as Ue}from"./business-extended-info-Du_cp_Fm.js";var We=l(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Ge=l(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Ke=l(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),qe=l(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Je=l(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),Ye=l(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),Xe=l(`pen`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),q=t(r(),1);function Ze(e,t){if(e==null)return{};var n,r,i=Ve(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 Qe(e,t){var n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(function(n){return Object.is(e[n],t[n])})}function $e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Qe,t=null;return function(n){return t&&e(t.value,n)||(t={value:n}),t.value}}var et=[`block`];function tt(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 nt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?tt(Object(n),!0).forEach(function(t){K(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var rt=Symbol(`tree-item-instruction`);function it(e){return{x:(e.right+e.left)/2,y:(e.bottom+e.top)/2}}function at(e){var t=e.client,n=e.borderBox,r=n.height/4;return t.y<=n.top+r?`reorder-above`:t.y>=n.bottom-r?`reorder-below`:`make-child`}function ot(e){var t=e.element,n=e.input,r=e.currentLevel,i=e.indentPerLevel,a=e.mode,o={x:n.clientX,y:n.clientY},s=t.getBoundingClientRect();if(a===`standard`)return{type:at({borderBox:s,client:o}),indentPerLevel:i,currentLevel:r};var c=it(s);if(a===`expanded`){var l=at({borderBox:s,client:o});return{type:l===`reorder-above`?l:`make-child`,indentPerLevel:i,currentLevel:r}}var u=i*r;if(o.x<s.left+u){if(o.y<c.y)return{type:`reorder-above`,indentPerLevel:i,currentLevel:r};var d=(o.x-s.left)/i;return{type:`reparent`,desiredLevel:Math.max(Math.floor(d),0),indentPerLevel:i,currentLevel:r}}return{type:at({borderBox:s,client:o}),indentPerLevel:i,currentLevel:r}}function st(e,t){return e.type===t.type?e.type===`instruction-blocked`&&t.type===`instruction-blocked`?st(e.desired,t.desired):Qe(e,t):!1}var ct=$e(st);function lt(e){var t=e.desired,n=e.block;return n!=null&&n.includes(t.type)&&t.type!==`instruction-blocked`?{type:`instruction-blocked`,desired:t}:t}function ut(e,t){var n=t.block,r=ct(lt({desired:ot(Ze(t,et)),block:n}));return nt(nt({},e),{},K({},rt,r))}function dt(e){return e[rt]??null}var ft=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bind=void 0;function t(e,t){var n=t.type,r=t.listener,i=t.options;return e.addEventListener(n,r,i),function(){e.removeEventListener(n,r,i)}}e.bind=t})),pt=e((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.bindAll=void 0;var n=ft();function r(e){if(e!==void 0)return typeof e==`boolean`?{capture:e}:e}function i(e,n){return n==null?e:t(t({},e),{options:t(t({},r(n)),r(e.options))})}function a(e,t,r){var a=t.map(function(t){var a=i(t,r);return(0,n.bind)(e,a)});return function(){a.forEach(function(e){return e()})}}e.bindAll=a})),J=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bindAll=e.bind=void 0;var t=ft();Object.defineProperty(e,"bind",{enumerable:!0,get:function(){return t.bind}});var n=pt();Object.defineProperty(e,"bindAll",{enumerable:!0,get:function(){return n.bindAll}})}))(),mt=`data-pdnd-honey-pot`;function ht(e){return e instanceof Element&&e.hasAttribute(`data-pdnd-honey-pot`)}function gt(e){var t=document.elementsFromPoint(e.x,e.y),n=d(t,2),r=n[0],i=n[1];return r?ht(r)?i??null:r:null}var _t=2147483647,vt={inset:`unset`,border:`none`,padding:0,margin:0,overflow:`visible`,color:`inherit`,background:`transparent`,width:`auto`,height:`auto`};function Y(e){var t=null;return function(){if(!t){var n=[...arguments];t={result:e.apply(this,n)}}return t.result}}var X=Y(function(){return typeof HTMLElement<`u`&&typeof HTMLElement.prototype.showPopover==`function`});function yt(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 bt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?yt(Object(n),!0).forEach(function(t){K(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var xt=2,St=xt/2;function Ct(e){return{x:Math.floor(e.x),y:Math.floor(e.y)}}function wt(e){return{x:e.x-St,y:e.y-St}}function Tt(e){return{x:Math.max(e.x,0),y:Math.max(e.y,0)}}function Et(e){return{x:Math.min(e.x,window.innerWidth-xt),y:Math.min(e.y,window.innerHeight-xt)}}function Dt(e){var t=e.client,n=Et(Tt(wt(Ct(t))));return DOMRect.fromRect({x:n.x,y:n.y,width:xt,height:xt})}function Ot(e){var t=e.clientRect;return{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`}}function kt(e){var t=e.client,n=e.clientRect;return t.x>=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function At(e){var t=e.initial,n=document.createElement(`div`);n.setAttribute(mt,`true`),X()&&n.setAttribute(`popover`,`manual`);var r=Dt({client:t});Object.assign(n.style,bt(bt({position:`fixed`},X()?vt:{zIndex:_t}),{},{backgroundColor:`transparent`,padding:0,margin:0,boxSizing:`border-box`,pointerEvents:`auto`},Ot({clientRect:r}))),document.body.appendChild(n),X()&&n.showPopover();var i=(0,J.bind)(window,{type:`pointermove`,listener:function(e){r=Dt({client:{x:e.clientX,y:e.clientY}}),Object.assign(n.style,Ot({clientRect:r}))},options:{capture:!0}});return function(e){var t=e.current;if(i(),kt({client:t,clientRect:r})){n.remove();return}function a(){o(),n.remove()}var o=(0,J.bindAll)(window,[{type:`pointerdown`,listener:a},{type:`pointermove`,listener:a},{type:`focusin`,listener:a},{type:`focusout`,listener:a},{type:`dragstart`,listener:a},{type:`dragenter`,listener:a},{type:`dragover`,listener:a}],{capture:!0})}}function jt(){var e=null;function t(){return e=null,(0,J.bind)(window,{type:`pointermove`,listener:function(t){e={x:t.clientX,y:t.clientY}},options:{capture:!0}})}function n(){var t=null;return function(n){var r=n.eventName,i=n.payload;if(r===`onDragStart`){var a=i.location.initial.input;t=At({initial:e??{x:a.clientX,y:a.clientY}})}if(r===`onDrop`){var o,s=i.location.current.input;(o=t)==null||o({current:{x:s.clientX,y:s.clientY}}),t=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}function Mt(e){if(Array.isArray(e))return p(e)}function Nt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Pt(){throw TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ft(e){return Mt(e)||Nt(e)||v(e)||Pt()}var It=Y(function(){return navigator.userAgent.includes(`Firefox`)}),Lt=Y(function(){var e=navigator.userAgent;return e.includes(`AppleWebKit`)&&!e.includes(`Chrome`)});function Rt(e){return`nodeName`in e}function zt(e){return Rt(e)&&e.ownerDocument!==document}var Bt={isLeavingWindow:Symbol(`leaving`),isEnteringWindow:Symbol(`entering`)};(function(){if(typeof window>`u`||!Lt())return;function e(){return{enterCount:0,isOverWindow:!1}}var t=e();function n(){t=e()}(0,J.bindAll)(window,[{type:`dragstart`,listener:function(){t.enterCount=0,t.isOverWindow=!0}},{type:`drop`,listener:n},{type:`dragend`,listener:n},{type:`dragenter`,listener:function(e){!t.isOverWindow&&t.enterCount===0&&(e[Bt.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:`dragleave`,listener:function(e){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(e[Bt.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function Vt(e){var t=e.dragLeave;return Lt()?t.hasOwnProperty(Bt.isLeavingWindow):!1}function Ht(e){var t=e.dragLeave,n=t.type,r=t.relatedTarget;return n===`dragleave`?Lt()?Vt({dragLeave:t}):r==null?!0:It()?zt(r):r instanceof HTMLIFrameElement:!1}function Ut(e){var t=e.onDragEnd;return[{type:`pointermove`,listener:function(){var e=0;return function(){if(e<20){e++;return}t()}}()},{type:`pointerdown`,listener:t}]}function Wt(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var Gt=function(e){var t=[],n=null,r=function(){t=[...arguments],!n&&(n=requestAnimationFrame(function(){n=null,e.apply(void 0,t)}))};return r.cancel=function(){n&&=(cancelAnimationFrame(n),null)},r}(function(e){return e()}),Kt=function(){var e=null;function t(t){e={frameId:requestAnimationFrame(function(){e=null,t()}),fn:t}}function n(){e&&=(cancelAnimationFrame(e.frameId),e.fn(),null)}return{schedule:t,flush:n}}();function qt(e){var t=e.source,n=e.initial,r=e.dispatchEvent,i={dropTargets:[]};function a(e){r(e),i={dropTargets:e.payload.location.current.dropTargets}}return{start:function(e){var r=e.nativeSetDragImage,o={current:n,previous:i,initial:n};a({eventName:`onGenerateDragPreview`,payload:{source:t,location:o,nativeSetDragImage:r}}),Kt.schedule(function(){a({eventName:`onDragStart`,payload:{source:t,location:o}})})},dragUpdate:function(e){var r=e.current;Kt.flush(),Gt.cancel(),a({eventName:`onDropTargetChange`,payload:{source:t,location:{initial:n,previous:i,current:r}}})},drag:function(e){var r=e.current;Gt(function(){Kt.flush(),a({eventName:`onDrag`,payload:{source:t,location:{initial:n,previous:i,current:r}}})})},drop:function(e){var r=e.current,o=e.updatedSourcePayload;Kt.flush(),Gt.cancel(),a({eventName:`onDrop`,payload:{source:o??t,location:{current:r,previous:i,initial:n}}})}}}var Jt={isActive:!1};function Yt(){return!Jt.isActive}function Xt(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function Zt(e){var t=e.current,n=e.next;if(t.length!==n.length)return!0;for(var r=0;r<t.length;r++)if(t[r].element!==n[r].element)return!0;return!1}function Qt(e){var t=e.event,n=e.dragType,r=e.getDropTargetsOver,i=e.dispatchEvent;if(!Yt())return;var a=en({event:t,dragType:n,getDropTargetsOver:r});Jt.isActive=!0;var o={current:a};$t({event:t,current:a.dropTargets});var s=qt({source:n.payload,dispatchEvent:i,initial:a});function c(e){var t=Zt({current:o.current.dropTargets,next:e.dropTargets});o.current=e,t&&s.dragUpdate({current:o.current})}function l(e){var t=Wt(e),i=r({target:ht(e.target)?gt({x:t.clientX,y:t.clientY}):e.target,input:t,source:n.payload,current:o.current.dropTargets});i.length&&(e.preventDefault(),$t({event:e,current:i})),c({dropTargets:i,input:t})}function u(){o.current.dropTargets.length&&c({dropTargets:[],input:o.current.input}),s.drop({current:o.current,updatedSourcePayload:null}),d()}function d(){Jt.isActive=!1,f()}var f=(0,J.bindAll)(window,[{type:`dragover`,listener:function(e){l(e),s.drag({current:o.current})}},{type:`dragenter`,listener:l},{type:`dragleave`,listener:function(e){Ht({dragLeave:e})&&(c({input:o.current.input,dropTargets:[]}),n.startedFrom===`external`&&u())}},{type:`drop`,listener:function(e){if(o.current={dropTargets:o.current.dropTargets,input:Wt(e)},!o.current.dropTargets.length){u();return}e.preventDefault(),$t({event:e,current:o.current.dropTargets}),s.drop({current:o.current,updatedSourcePayload:n.type===`external`?n.getDropPayload(e):null}),d()}},{type:`dragend`,listener:function(e){o.current={dropTargets:o.current.dropTargets,input:Wt(e)},u()}}].concat(Ft(Ut({onDragEnd:u}))),{capture:!0});s.start({nativeSetDragImage:Xt(t)})}function $t(e){var t=e.event,n=e.current[0]?.dropEffect;n!=null&&t.dataTransfer&&(t.dataTransfer.dropEffect=n)}function en(e){var t=e.event,n=e.dragType,r=e.getDropTargetsOver,i=Wt(t);return n.startedFrom===`external`?{input:i,dropTargets:[]}:{input:i,dropTargets:r({input:i,source:n.payload,target:t.target,current:[]})}}var tn={canStart:Yt,start:Qt},nn=new Map;function rn(e){var t=e.typeKey,n=e.mount,r=nn.get(t);if(r)return r.usageCount++,r;var i={typeKey:t,unmount:n(),usageCount:1};return nn.set(t,i),i}function an(e){var t=rn(e);return function(){t.usageCount--,!(t.usageCount>0)&&(t.unmount(),nn.delete(e.typeKey))}}function on(){var e=[...arguments];return function(){e.forEach(function(e){return e()})}}function sn(e,t){var n=t.attribute,r=t.value;return e.setAttribute(n,r),function(){return e.removeAttribute(n)}}function cn(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 Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?cn(Object(n),!0).forEach(function(t){K(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ln(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=un(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function un(e,t){if(e){if(typeof e==`string`)return dn(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dn(e,t):void 0}}function dn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fn(e){return e.slice(0).reverse()}function pn(e){var t=e.typeKey,n=e.defaultDropEffect,r=new WeakMap,i=`data-drop-target-for-${t}`,a=`[${i}]`;function o(e){return r.set(e.element,e),function(){return r.delete(e.element)}}function s(e){return Y(on(sn(e.element,{attribute:i,value:`true`}),o(e)))}function c(e){var t=e.source,i=e.target,o=e.input,s=e.result,l=s===void 0?[]:s;if(i==null)return l;if(!(i instanceof Element))return i instanceof Node?c({source:t,target:i.parentElement,input:o,result:l}):l;var u=i.closest(a);if(u==null)return l;var d=r.get(u);if(d==null)return l;var f={input:o,source:t,element:d.element};if(d.canDrop&&!d.canDrop(f))return c({source:t,target:d.element.parentElement,input:o,result:l});var p=d.getData?.call(d,f)??{},m=d.getDropEffect?.call(d,f)??n,h={data:p,element:d.element,dropEffect:m,isActiveDueToStickiness:!1};return c({source:t,target:d.element.parentElement,input:o,result:[].concat(Ft(l),[h])})}function l(e){var t=e.eventName,n=e.payload,i=ln(n.location.current.dropTargets),a;try{for(i.s();!(a=i.n()).done;){var o,s=a.value,c=r.get(s.element),l=Z(Z({},n),{},{self:s});c==null||(o=c[t])==null||o.call(c,l)}}catch(e){i.e(e)}finally{i.f()}}var u={onGenerateDragPreview:l,onDrag:l,onDragStart:l,onDrop:l,onDropTargetChange:function(e){var t=e.payload,n=new Set(t.location.current.dropTargets.map(function(e){return e.element})),i=new Set,a=ln(t.location.previous.dropTargets),o;try{for(a.s();!(o=a.n()).done;){var s,c=o.value;i.add(c.element);var l=r.get(c.element),u=n.has(c.element),d=Z(Z({},t),{},{self:c});if(l==null||(s=l.onDropTargetChange)==null||s.call(l,d),!u){var f;l==null||(f=l.onDragLeave)==null||f.call(l,d)}}}catch(e){a.e(e)}finally{a.f()}var p=ln(t.location.current.dropTargets),m;try{for(p.s();!(m=p.n()).done;){var h,g,_=m.value;if(!i.has(_.element)){var v=Z(Z({},t),{},{self:_}),y=r.get(_.element);y==null||(h=y.onDropTargetChange)==null||h.call(y,v),y==null||(g=y.onDragEnter)==null||g.call(y,v)}}}catch(e){p.e(e)}finally{p.f()}}};function d(e){u[e.eventName](e)}function f(e){var t=e.source,n=e.target,i=e.input,a=e.current,o=c({source:t,target:n,input:i});if(o.length>=a.length)return o;for(var s=fn(a),l=fn(o),u=[],d=0;d<s.length;d++){var f,p=s[d],m=l[d];if(m!=null){u.push(m);continue}var h=u[d-1],g=s[d-1];if(h?.element!==g?.element)break;var _=r.get(p.element);if(!_)break;var v={input:i,source:t,element:_.element};if(_.canDrop&&!_.canDrop(v)||!((f=_.getIsSticky)!=null&&f.call(_,v)))break;u.push(Z(Z({},p),{},{isActiveDueToStickiness:!0}))}return fn(u)}return{dropTargetForConsumers:s,getIsOver:f,dispatchEvent:d}}function mn(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=hn(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function hn(e,t){if(e){if(typeof e==`string`)return gn(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gn(e,t):void 0}}function gn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _n(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 vn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?_n(Object(n),!0).forEach(function(t){K(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_n(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function yn(){var e=new Set,t=null;function n(e){t&&(!e.canMonitor||e.canMonitor(t.canMonitorArgs))&&t.active.add(e)}function r(r){var i=vn({},r);e.add(i),n(i);function a(){e.delete(i),t&&t.active.delete(i)}return Y(a)}function i(r){var i=r.eventName,a=r.payload;if(i===`onGenerateDragPreview`){t={canMonitorArgs:{initial:a.location.initial,source:a.source},active:new Set};var o=mn(e),s;try{for(o.s();!(s=o.n()).done;){var c=s.value;n(c)}}catch(e){o.e(e)}finally{o.f()}}if(t){for(var l=Array.from(t.active),u=0,d=l;u<d.length;u++){var f=d[u];if(t.active.has(f)){var p;(p=f[i])==null||p.call(f,a)}}i===`onDrop`&&(t.active.clear(),t=null)}}return{dispatchEvent:i,monitorForConsumers:r}}function bn(e){var t=e.typeKey,n=e.mount,r=e.dispatchEventToSource,i=e.onPostDispatch,a=e.defaultDropEffect,o=yn(),s=pn({typeKey:t,defaultDropEffect:a});function c(e){r?.(e),s.dispatchEvent(e),o.dispatchEvent(e),i?.(e)}function l(e){var t=e.event,n=e.dragType;tn.start({event:t,dragType:n,getDropTargetsOver:s.getIsOver,dispatchEvent:c})}function u(){function e(){return n({canStart:tn.canStart,start:l})}return an({typeKey:t,mount:e})}return{registerUsage:u,dropTarget:s.dropTargetForConsumers,monitor:o.monitorForConsumers}}var xn=Y(function(){return navigator.userAgent.toLocaleLowerCase().includes(`android`)}),Sn=`pdnd:android-fallback`,Cn=`text/plain`,wn=`application/vnd.pdnd`,Tn=new WeakMap;function En(e){return Tn.set(e.element,e),function(){Tn.delete(e.element)}}var Dn=jt(),On=bn({typeKey:`element`,defaultDropEffect:`move`,mount:function(e){return on(Dn.bindEvents(),(0,J.bind)(document,{type:`dragstart`,listener:function(t){if(e.canStart(t)&&!t.defaultPrevented&&t.dataTransfer){var n=t.target;if(n instanceof HTMLElement){var r=Tn.get(n);if(r){var i=Wt(t),a={element:r.element,dragHandle:r.dragHandle??null,input:i};if(r.canDrag&&!r.canDrag(a)){t.preventDefault();return}if(r.dragHandle){var o=gt({x:i.clientX,y:i.clientY});if(!r.dragHandle.contains(o)){t.preventDefault();return}}var s=r.getInitialDataForExternal?.call(r,a)??null;if(s)for(var c=0,l=Object.entries(s);c<l.length;c++){var u=d(l[c],2),f=u[0],p=u[1];t.dataTransfer.setData(f,p??``)}xn()&&!t.dataTransfer.types.includes(`text/plain`)&&!t.dataTransfer.types.includes(`text/uri-list`)&&t.dataTransfer.setData(Cn,Sn),t.dataTransfer.setData(wn,``);var m={type:`element`,payload:{element:r.element,dragHandle:r.dragHandle??null,data:r.getInitialData?.call(r,a)??{}},startedFrom:`internal`};e.start({event:t,dragType:m})}}}}}))},dispatchEventToSource:function(e){var t,n,r=e.eventName,i=e.payload;(t=Tn.get(i.source.element))==null||(n=t[r])==null||n.call(t,i)},onPostDispatch:Dn.getOnPostDispatch()}),kn=On.dropTarget,An=On.monitor;function jn(e){return Y(on(On.registerUsage(),En(e),sn(e.element,{attribute:`draggable`,value:`true`})))}var Mn=`updateDynamicReportTemplateName`,Nn=()=>{let[{fetching:e},t]=Ie(Be);return{fetching:e,updateDynamicReportTemplateName:(0,q.useCallback)(async e=>{let n=`Error updating report template "${e.name}" to "${e.newName}"`,r=`${Mn}-${e.name}`;o.loading(`Updating report template name`,{id:r});try{let i=await t(e),a=s(i,n,r);if(a)return o.success(`Success`,{id:r,description:`Report template "${a.updateDynamicReportTemplateName.name}" updated`}),a.updateDynamicReportTemplateName}catch(e){console.error(`${n}: ${e}`),o.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}},Pn=`updateDynamicReportTemplate`,Fn=()=>{let[{fetching:e},t]=Ie(ze);return{fetching:e,updateDynamicReportTemplate:(0,q.useCallback)(async e=>{let n=`Error updating report template "${e.name}"`,r=`${Pn}-${e.name}`;o.loading(`Updating report template`,{id:r});try{let i=await t(e),a=s(i,n,r);if(a)return o.success(`Success`,{id:r,description:`Report template "${a.updateDynamicReportTemplate.name}" updated`}),a.updateDynamicReportTemplate}catch(e){console.error(`${n}: ${e}`),o.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}};function In(e){return e.data.nodeType===`financial-entity`}function Ln(e){return e.droppable===!0}function Rn(e,t){let n=new Map;for(let t of e){let e=n.get(t.parent)??[];e.push(t.id),n.set(t.parent,e)}let r=[],i=[t];for(;i.length;){let e=i.pop(),t=n.get(e)??[];for(let e of t)r.push(e),i.push(e)}return r}function zn(e){let t=new Map,n=new Map;for(let r of e)t.set(r.id,r),n.has(r.parent)||n.set(r.parent,[]),n.get(r.parent).push(r.id);let r=new Map;function i(e){let a=r.get(e);if(a)return a;let o=t.get(e);if(!o)return{sum:0,leafCount:0};if(In(o)){let t={sum:o.data.value??0,leafCount:1};return r.set(e,t),t}let s=0,c=0;for(let t of n.get(e)??[]){let e=i(t);s+=e.sum,c+=e.leafCount}let l={sum:s,leafCount:c};return r.set(e,l),l}for(let t of e)i(t.id);return r}var Bn=new Intl.NumberFormat(`he-IL`,{style:`currency`,currency:`ILS`,minimumFractionDigits:0,maximumFractionDigits:0});function Vn(e){return Bn.format(e)}function Hn(e,t,n){let r=t.find(e=>e.id===n),i=r||e.find(e=>e.id===n);if(!i)return{nextBankTree:t,nextReportTree:e};let a=!!r;if(!i.droppable)return{nextBankTree:a?t.filter(e=>e.id!==n):t,nextReportTree:a?e:e.filter(e=>e.id!==n)};let o=new Set([n,...Rn(a?t:e,n)]);if(a)return{nextBankTree:t.filter(e=>!o.has(e.id)),nextReportTree:e};let s=[],c=[];for(let t of e)o.has(t.id)?c.push(t.id===n?{...t,parent:`bank`}:t):s.push(t);return{nextBankTree:[...t,...c],nextReportTree:s}}var Q=n(),Un=(0,q.forwardRef)(function({setIsDirty:e,bankTree:t,setBankTree:n,reportTree:r,setReportTree:i},a){let[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(null),u=(0,q.useCallback)(e=>{l(e),s(!0)},[]);return(0,q.useImperativeHandle)(a,()=>({deleteBranch:u})),(0,Q.jsx)(xe,{open:o,onOpenChange:s,children:(0,Q.jsxs)(_e,{children:[(0,Q.jsxs)(be,{children:[(0,Q.jsx)(ge,{children:`Delete Branch`}),(0,Q.jsx)(z,{children:(()=>{if(!c)return null;let e=t.find(e=>e.id===c),n=e||r.find(e=>e.id===c);return n?n.droppable?e?`This branch and all its contents will be permanently deleted.`:`This branch and all its contents will be moved to the bank.`:`This leaf will be removed.`:null})()})]}),(0,Q.jsxs)(ve,{children:[(0,Q.jsx)(ye,{children:`Cancel`}),(0,Q.jsx)(B,{onClick:()=>{if(!c)return;let{nextBankTree:a,nextReportTree:o}=Hn(r,t,c);n(a),i(o),e(!0),s(!1),l(null)},children:`Delete`})]})]})})}),Wn=`deleteDynamicReportTemplate`,Gn=()=>{let[{fetching:e},t]=Ie(Fe);return{fetching:e,deleteDynamicReportTemplate:(0,q.useCallback)(async e=>{let n=`Error deleting report template "${e.name}"`,r=`${Wn}-${e.name}`;o.loading(`Deleting report template`,{id:r});try{let i=await t(e),a=s(i,n,r);if(a)return o.success(`Success`,{id:r,description:`Report template "${a.deleteDynamicReportTemplate}" deleted`}),a.deleteDynamicReportTemplate}catch(e){console.error(`${n}: ${e}`),o.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}},Kn=(0,q.forwardRef)(function({setSelectedTemplateName:e,refetchAllTemplates:t,currentTemplate:n,setCurrentTemplate:r},i){let[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(null),{deleteDynamicReportTemplate:l}=Gn(),u=(0,q.useCallback)(e=>{c(e),o(!0)},[]);return(0,q.useImperativeHandle)(i,()=>({deleteTemplate:u})),(0,Q.jsx)(xe,{open:a,onOpenChange:o,children:(0,Q.jsxs)(_e,{children:[(0,Q.jsxs)(be,{children:[(0,Q.jsx)(ge,{children:`Delete Template`}),(0,Q.jsxs)(z,{children:[`Are you sure you want to delete "`,s?.name,`"? This action cannot be undone.`]})]}),(0,Q.jsxs)(ve,{children:[(0,Q.jsx)(ye,{children:`Cancel`}),(0,Q.jsx)(B,{onClick:async()=>{if(!s)return;let i=await l({name:s.name});i&&s.id===n?.id&&(r(null),e(null)),i&&t({requestPolicy:`network-only`}),o(!1),c(null)},children:`Delete`})]})]})})});function qn({applyTemplate:e,pendingTemplate:t,setPendingTemplate:n,templateSwitchDialogOpen:r,setTemplateSwitchDialogOpen:i}){return(0,Q.jsx)(xe,{open:r,onOpenChange:i,children:(0,Q.jsxs)(_e,{children:[(0,Q.jsxs)(be,{children:[(0,Q.jsx)(ge,{children:`Unsaved changes`}),(0,Q.jsx)(z,{children:`Loading a template will discard your unsaved changes. Continue?`})]}),(0,Q.jsxs)(ve,{children:[(0,Q.jsx)(ye,{onClick:()=>{i(!1),n(null)},children:`Cancel`}),(0,Q.jsx)(B,{onClick:()=>{t&&e(t),i(!1),n(null)},children:`Continue`})]})]})})}var Jn=(0,q.forwardRef)(function({setIsDirty:e,setBankTree:t,setReportTree:n},r){let[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(``),[c,l]=(0,q.useState)(`bank`),u=(0,q.useCallback)(e=>{l(e),s(``),a(!0)},[]);return(0,q.useImperativeHandle)(r,()=>({addBranch:u})),(0,Q.jsx)(S,{open:i,onOpenChange:a,children:(0,Q.jsxs)(D,{children:[(0,Q.jsxs)(w,{children:[(0,Q.jsx)(k,{children:`Add New Branch`}),(0,Q.jsxs)(P,{children:[`Create a new branch in the `,c===`bank`?`Bank`:`Report`,` panel.`]})]}),(0,Q.jsxs)(`div`,{className:`py-4`,children:[(0,Q.jsx)(O,{htmlFor:`new-branch-name`,children:`Branch Name`}),(0,Q.jsx)(M,{id:`new-branch-name`,value:o,onChange:e=>s(e.target.value),className:`mt-2`,placeholder:`Enter branch name...`})]}),(0,Q.jsxs)(C,{children:[(0,Q.jsx)(R,{variant:`outline`,onClick:()=>a(!1),children:`Cancel`}),(0,Q.jsx)(R,{onClick:()=>{if(!o.trim())return;let r={id:`branch-${crypto.randomUUID()}`,parent:c,text:o.trim(),droppable:!0,data:{nodeType:`synthetic-branch`,isOpen:!0}};c===`bank`?t(e=>[...e,r]):n(e=>[...e,r]),e(!0),a(!1),s(``)},disabled:!o.trim(),children:`Create`})]})]})})}),Yn=(0,q.forwardRef)(function({setIsDirty:e,setBankTree:t,setReportTree:n},r){let[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(``),u=(0,q.useCallback)((e,t)=>{s(e),l(t),a(!0)},[]);return(0,q.useImperativeHandle)(r,()=>({renameBranch:u})),(0,Q.jsx)(S,{open:i,onOpenChange:a,children:(0,Q.jsxs)(D,{children:[(0,Q.jsxs)(w,{children:[(0,Q.jsx)(k,{children:`Rename Branch`}),(0,Q.jsx)(P,{children:`Enter a new name for this branch.`})]}),(0,Q.jsxs)(`div`,{className:`py-4`,children:[(0,Q.jsx)(O,{htmlFor:`rename-input`,children:`Name`}),(0,Q.jsx)(M,{id:`rename-input`,value:c,onChange:e=>l(e.target.value),className:`mt-2`})]}),(0,Q.jsxs)(C,{children:[(0,Q.jsx)(R,{variant:`outline`,onClick:()=>a(!1),children:`Cancel`}),(0,Q.jsx)(R,{onClick:()=>{if(!o||!c.trim())return;let r=c.trim(),i=e=>e.map(e=>e.id===o?{...e,text:r}:e);t(i),n(i),e(!0),a(!1),s(null),l(``)},children:`Save`})]})]})})}),Xn=(0,q.forwardRef)(function({setSelectedTemplateName:e,refetchAllTemplates:t,currentTemplate:n,setCurrentTemplate:r},i){let[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(``),{updateDynamicReportTemplateName:l}=Nn(),u=(0,q.useCallback)(()=>{n&&(c(n.name),o(!0))},[n]);return(0,q.useImperativeHandle)(i,()=>({renameTemplate:u})),(0,Q.jsx)(S,{open:a,onOpenChange:o,children:(0,Q.jsxs)(D,{children:[(0,Q.jsxs)(w,{children:[(0,Q.jsx)(k,{children:`Rename Template`}),(0,Q.jsx)(P,{children:`Enter a new name for this template.`})]}),(0,Q.jsxs)(`div`,{className:`py-4`,children:[(0,Q.jsx)(O,{htmlFor:`template-rename-input`,children:`Name`}),(0,Q.jsx)(M,{id:`template-rename-input`,value:s,onChange:e=>c(e.target.value),className:`mt-2`})]}),(0,Q.jsxs)(C,{children:[(0,Q.jsx)(R,{variant:`outline`,onClick:()=>o(!1),children:`Cancel`}),(0,Q.jsx)(R,{onClick:async()=>{if(!n||!s.trim())return;let i=await l({name:n.name,newName:s.trim()});i&&(r(e=>e?{...e,id:i.id,name:i.name}:null),e(i.name),t({requestPolicy:`network-only`})),o(!1),c(``)},disabled:!s.trim(),children:`Save`})]})]})})}),Zn=`insertDynamicReportTemplate`,Qn=()=>{let[{fetching:e},t]=Ie(Me);return{fetching:e,insertDynamicReportTemplate:(0,q.useCallback)(async e=>{let n=`Error inserting report template "${e.name}"`,r=`${Zn}-${e.name}`;o.loading(`Saving report template`,{id:r});try{let i=await t(e),a=s(i,n,r);if(a)return o.success(`Success`,{id:r,description:`Report template "${a.insertDynamicReportTemplate.name}" saved`}),a.insertDynamicReportTemplate}catch(e){console.error(`${n}: ${e}`),o.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}},$n=`report`,er=[`sort-code-branch`,`synthetic-branch`];function tr(e){return er.includes(e)?e:`synthetic-branch`}function nr(e,t){let n=new Map;for(let e of t)n.set(e.business.id,e);let r=[],i=new Set;for(let t of e){let e=t.parent===0||t.parent===`0`?$n:String(t.parent),a=String(t.id);if(t.droppable){let n={nodeType:tr(t.data.nodeType),isOpen:t.data.isOpen,...t.data.hebrewText==null?{}:{hebrewText:t.data.hebrewText},...t.data.sortCode==null?{}:{sortCode:t.data.sortCode}};t.data.nodeType===`sort-code-branch`&&typeof t.id==`number`&&(n.sortCode=t.id),r.push({id:a,parent:e,text:t.text,droppable:!0,data:n})}else{let o=n.get(a);if(!o)continue;i.add(a),r.push({id:a,parent:e,text:o.business.name,droppable:!1,data:{nodeType:`financial-entity`,isOpen:t.data.isOpen,value:o.total.raw*-1,...t.data.hebrewText==null?{}:{hebrewText:t.data.hebrewText}}})}}return{reportTree:r,placedEntityIds:i}}function rr(e){let t=new Map;for(let n of e){let e=t.get(n.parent)??[];e.push(n.id),t.set(n.parent,e)}let n=new Set,r=[...t.get(`report`)??[]];for(;r.length>0;){let e=r.pop();n.add(e);for(let n of t.get(e)??[])r.push(n)}return n}function ir(e){let t=rr(e),n=[];for(let r of e){if(!t.has(r.id))continue;let e={nodeType:r.data.nodeType,isOpen:r.data.isOpen};r.data.hebrewText&&(e.hebrewText=r.data.hebrewText),r.data.sortCode!=null&&(e.sortCode=r.data.sortCode),n.push({id:r.id,parent:r.parent,text:r.text,droppable:r.droppable,data:e})}return JSON.stringify(n)}var ar=(0,q.forwardRef)(function({setSelectedTemplateName:e,refetchAllTemplates:t,setIsDirty:n,setCurrentTemplate:r,reportTree:i},a){let[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(``),{insertDynamicReportTemplate:u}=Qn(),d=(0,q.useCallback)(e=>{l(`Copy of ${e.name}`),s(!0)},[]),f=(0,q.useCallback)(()=>{l(``),s(!0)},[]);return(0,q.useImperativeHandle)(a,()=>({duplicateTemplate:d,saveAsNew:f})),(0,Q.jsx)(S,{open:o,onOpenChange:s,children:(0,Q.jsxs)(D,{children:[(0,Q.jsxs)(w,{children:[(0,Q.jsx)(k,{children:`Save as New Template`}),(0,Q.jsx)(P,{children:`Enter a name for the new template.`})]}),(0,Q.jsxs)(`div`,{className:`py-4`,children:[(0,Q.jsx)(O,{htmlFor:`save-as-name`,children:`Template Name`}),(0,Q.jsx)(M,{id:`save-as-name`,value:c,onChange:e=>l(e.target.value),className:`mt-2`,placeholder:`Enter template name...`})]}),(0,Q.jsxs)(C,{children:[(0,Q.jsx)(R,{variant:`outline`,onClick:()=>s(!1),children:`Cancel`}),(0,Q.jsx)(R,{onClick:async()=>{if(!c.trim())return;let a=ir(i),o=await u({name:c.trim(),template:a});o&&(r({id:o.id,name:o.name,lastUpdated:new Date,isLocked:!1}),e(o.name),n(!1),t({requestPolicy:`network-only`})),s(!1),l(``)},disabled:!c.trim(),children:`Save`})]})]})})}),$=He();function or({open:e,onOpenChange:t,templates:n,onLoad:r,onRename:i,onDuplicate:a,onDelete:o}){let[s,c]=(0,q.useState)(``),[l,u]=(0,q.useState)(null),[d,p]=(0,q.useState)(``),m=(0,q.useRef)(null);function h(e){u(e.id),p(e.name),setTimeout(()=>m.current?.focus(),0)}function g(){u(null),p(``)}function _(e){let t=d.trim();t&&t!==e.name&&i(e,t),u(null),p(``)}let v=(0,q.useMemo)(()=>$.columns([$.accessor(`name`,{header:`Name`,cell:e=>{let t=e.row.original;return l===t.id?(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsx)(M,{ref:m,value:d,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_(t),e.key===`Escape`&&g()},className:`h-7 text-sm`}),(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-7 p-0 text-green-600 hover:text-green-700`,onClick:()=>_(t),disabled:!d.trim(),children:(0,Q.jsx)(ne,{className:`size-3.5`})}),(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-7 p-0`,onClick:g,children:(0,Q.jsx)(te,{className:`size-3.5`})})]}):(0,Q.jsx)(`span`,{className:`font-medium`,children:e.getValue()})}}),$.accessor(`lastUpdated`,{header:`Last Updated`,cell:e=>{let t=e.getValue();return(0,Q.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:t.toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})})}}),$.accessor(`isLocked`,{header:`Locked`,cell:e=>e.getValue()?(0,Q.jsx)(G,{children:(0,Q.jsxs)(U,{children:[(0,Q.jsx)(H,{children:(0,Q.jsx)(pe,{className:`size-4 text-muted-foreground`})}),(0,Q.jsx)(W,{children:`This template is locked`})]})}):null}),$.display({id:`actions`,header:`Actions`,cell:e=>{let n=e.row.original,i=l===n.id;return(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsx)(G,{children:(0,Q.jsxs)(U,{children:[(0,Q.jsx)(H,{asChild:!0,children:(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0`,onClick:()=>{r(n),t(!1)},disabled:i,children:(0,Q.jsx)(I,{className:`size-4`})})}),(0,Q.jsx)(W,{children:n.isLocked?`Load template (read-only)`:`Load template`})]})}),(0,Q.jsx)(G,{children:(0,Q.jsxs)(U,{children:[(0,Q.jsx)(H,{asChild:!0,children:(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0`,onClick:()=>h(n),disabled:n.isLocked||i,children:(0,Q.jsx)(Xe,{className:`size-4`})})}),(0,Q.jsx)(W,{children:n.isLocked?`Cannot rename locked template`:`Rename template`})]})}),(0,Q.jsx)(G,{children:(0,Q.jsxs)(U,{children:[(0,Q.jsx)(H,{asChild:!0,children:(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0`,onClick:()=>a(n),disabled:i,children:(0,Q.jsx)(f,{className:`size-4`})})}),(0,Q.jsx)(W,{children:`Duplicate template`})]})}),(0,Q.jsx)(G,{children:(0,Q.jsxs)(U,{children:[(0,Q.jsx)(H,{asChild:!0,children:(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0 text-destructive hover:text-destructive`,onClick:()=>o(n),disabled:n.isLocked||i,children:(0,Q.jsx)(de,{className:`size-4`})})}),(0,Q.jsx)(W,{children:n.isLocked?`Cannot delete locked template`:`Delete template`})]})})]})}})]),[r,i,a,o,t,l,d]),y=we({features:Ae,data:n,columns:v,state:{globalFilter:s},onGlobalFilterChange:c});return(0,Q.jsx)(S,{open:e,onOpenChange:t,children:(0,Q.jsxs)(D,{className:`max-w-2xl`,children:[(0,Q.jsxs)(w,{children:[(0,Q.jsx)(k,{children:`Template Manager`}),(0,Q.jsx)(P,{children:`Select a template to load, duplicate, or delete.`})]}),(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(M,{placeholder:`Filter templates...`,value:s,onChange:e=>c(e.target.value),className:`max-w-sm`}),(0,Q.jsx)(`div`,{className:`rounded-md border`,children:(0,Q.jsxs)(je,{children:[(0,Q.jsx)(Ce,{children:y.getHeaderGroups().map(e=>(0,Q.jsx)(Oe,{children:e.headers.map(e=>(0,Q.jsx)(Ee,{children:e.isPlaceholder?null:Te(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,Q.jsx)(De,{children:y.getRowModel().rows.length?y.getRowModel().rows.map(e=>(0,Q.jsx)(Oe,{className:e.original.isLocked?`bg-muted/30`:``,children:e.getVisibleCells().map(e=>(0,Q.jsx)(ke,{children:Te(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,Q.jsx)(Oe,{children:(0,Q.jsx)(ke,{colSpan:v.length,className:`h-24 text-center text-muted-foreground`,children:`No templates found.`})})})]})})]})]})})}function sr({onDismiss:e}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 bg-amber-50 border-b border-amber-200`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(fe,{className:`size-5 text-amber-600`}),(0,Q.jsx)(`p`,{className:`text-sm text-amber-800`,children:`This template was saved in a legacy format. Please review and resave to upgrade.`})]}),(0,Q.jsxs)(R,{variant:`ghost`,size:`sm`,onClick:e,className:`text-amber-700 hover:text-amber-900 hover:bg-amber-100`,children:[(0,Q.jsx)(te,{className:`size-4 mr-1`}),`Dismiss`]})]})}function cr({fromDate:e,toDate:t,onFromDateChange:n,onToDateChange:r,owners:i,selectedOwner:a,onOwnerChange:o,showZeroed:s,onShowZeroedChange:c,editMode:l,onEditModeChange:d,isDirty:p,currentTemplate:m,onSelectTemplate:h,onSaveAsNew:g,onResave:v,onRename:b,onDuplicate:ee,onDelete:S,onDownloadCSV:C,isLocked:w=!1}){let T=m!==null;return(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-4 p-4 border-b bg-muted/30`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(O,{htmlFor:`from-date`,className:`text-sm text-muted-foreground`,children:`From`}),(0,Q.jsx)(_,{id:`from-date`,value:e,onChange:e=>n(e??``),className:`w-36`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(O,{htmlFor:`to-date`,className:`text-sm text-muted-foreground`,children:`To`}),(0,Q.jsx)(_,{id:`to-date`,value:t,onChange:e=>r(e??``),className:`w-36`})]}),(0,Q.jsxs)(N,{value:a,onValueChange:o,children:[(0,Q.jsx)(E,{className:`w-40`,children:(0,Q.jsx)(x,{placeholder:`Select owner`})}),(0,Q.jsx)(re,{children:i.map(e=>(0,Q.jsx)(j,{value:e.id,children:e.name},e.id))})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(y,{id:`show-zeroed`,checked:s,onCheckedChange:c}),(0,Q.jsx)(O,{htmlFor:`show-zeroed`,className:`text-sm cursor-pointer`,children:`Show zeroed accounts`})]})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[!w&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(y,{id:`edit-mode`,checked:l,onCheckedChange:d}),(0,Q.jsx)(O,{htmlFor:`edit-mode`,className:`text-sm cursor-pointer font-medium`,children:`Edit Mode`})]}),p&&(0,Q.jsx)(V,{variant:`outline`,className:`bg-amber-100 text-amber-800 border-amber-300`,children:`Unsaved changes`}),(0,Q.jsxs)(ce,{children:[(0,Q.jsx)(se,{asChild:!0,children:(0,Q.jsxs)(R,{variant:`outline`,className:`gap-2`,children:[(0,Q.jsx)(u,{className:`size-4`}),m?.name||`No template`,(0,Q.jsx)(A,{className:`size-4`})]})}),(0,Q.jsxs)(oe,{align:`end`,className:`w-48`,children:[(0,Q.jsxs)(F,{onClick:h,children:[(0,Q.jsx)(u,{className:`size-4 mr-2`}),`Select template`]}),(0,Q.jsx)(le,{}),(0,Q.jsxs)(F,{onClick:g,children:[(0,Q.jsx)(L,{className:`size-4 mr-2`}),`Save as new`]}),(0,Q.jsxs)(F,{onClick:v,disabled:!T||w,children:[(0,Q.jsx)(L,{className:`size-4 mr-2`}),`Resave`]}),(0,Q.jsxs)(F,{onClick:b,disabled:!T||w,children:[(0,Q.jsx)(Xe,{className:`size-4 mr-2`}),`Rename`]}),(0,Q.jsxs)(F,{onClick:ee,disabled:!T,children:[(0,Q.jsx)(f,{className:`size-4 mr-2`}),`Duplicate`]}),(0,Q.jsx)(le,{}),(0,Q.jsxs)(F,{onClick:S,disabled:!T||w,className:`text-destructive focus:text-destructive`,children:[(0,Q.jsx)(de,{className:`size-4 mr-2`}),`Delete`]})]})]}),(0,Q.jsxs)(R,{variant:`outline`,onClick:C,children:[(0,Q.jsx)(ie,{className:`size-4 mr-2`}),`Download CSV`]})]})]})}var lr=a(),ur=Y(function(){return Lt()&&`ontouchend`in document}),dr=function(e){var t=e.container.getBoundingClientRect();return{x:t.width/2,y:t.height/2}};function fr(e){return function(t){var n=t.container;return ur()||xn()?dr({container:n}):(Object.assign(n.style,{borderInlineStart:`${e.x} solid transparent`,borderTop:`${e.y} solid transparent`}),window.getComputedStyle(n).direction===`rtl`?{x:n.getBoundingClientRect().width,y:0}:{x:0,y:0})}}function pr(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 mr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?pr(Object(n),!0).forEach(function(t){K(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function hr(){return{x:0,y:0}}function gr(e){var t=e.render,n=e.nativeSetDragImage,r=e.getOffset,i=r===void 0?hr:r,a=document.createElement(`div`);X()&&a.setAttribute(`popover`,`manual`),Object.assign(a.style,mr(mr({position:`fixed`},X()?vt:{zIndex:_t}),{},{top:0,left:0,pointerEvents:`none`})),document.body.append(a),X()&&a.showPopover();var o=t({container:a});queueMicrotask(function(){var e=i({container:a});if(Lt()){var t=a.getBoundingClientRect();if(t.width===0)return;a.style.left=`-${t.width-1e-4}px`}n?.(a,e.x,e.y)});function s(){c(),o?.(),document.body.removeChild(a)}var c=An({onDragStart:s,onDrop:s})}function _r({node:e}){let t=e.data.entityType??`business`;return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 bg-background border rounded-md px-3 py-2 shadow-lg`,children:[Ln(e)?(0,Q.jsx)(Ke,{className:`size-4 text-muted-foreground`}):t===`business`?(0,Q.jsx)(ee,{className:`size-4 text-muted-foreground`}):(0,Q.jsx)(g,{className:`size-4 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`font-medium text-sm`,children:e.text}),(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground capitalize`,children:[`(`,Ln(e)?`branch`:`entity`,`)`]})]})}function vr(e){return!e||e.type===`instruction-blocked`?null:e.type===`reorder-above`?`top`:e.type===`reorder-below`||e.type===`reparent`?`bottom`:e.type===`make-child`?`child`:null}function yr({node:e,depth:t,treeId:n,nodeStats:r,editMode:a,onToggleExpand:o,onRename:s,onDelete:c}){let[l,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(null),p=(0,q.useRef)(null),m=(0,q.useRef)(null),_=e.data.isOpen,v=Ln(e);(0,q.useEffect)(()=>{let t=p.current;if(!(!t||!a))return jn({element:t,dragHandle:m.current??void 0,getInitialData:()=>({nodeId:e.id,sourceTreeId:n}),onGenerateDragPreview({nativeSetDragImage:t}){gr({nativeSetDragImage:t,getOffset:fr({x:`16px`,y:`8px`}),render({container:t}){let n=(0,lr.createRoot)(t);return n.render((0,Q.jsx)(_r,{node:e})),()=>n.unmount()}})},onDragStart:()=>u(!0),onDrop:()=>u(!1)})},[a,e,n]),(0,q.useEffect)(()=>{let r=p.current;if(!(!r||!a))return kn({element:r,getData:({input:r,element:i})=>ut({nodeId:e.id,treeId:n},{input:r,element:i,currentLevel:t,indentPerLevel:24,mode:_?`expanded`:`standard`,block:e.droppable?[]:[`make-child`]}),onDragEnter:({self:e})=>f(vr(dt(e.data))),onDrag:({self:e})=>f(vr(dt(e.data))),onDragLeave:()=>f(null),onDrop:()=>f(null)})},[t,a,_,e.droppable,e.id,n]);let y=t*24;if(v){let t=r.get(e.id)?.sum??0,n=r.get(e.id)?.leafCount??0;return(0,Q.jsx)(`div`,{ref:p,className:i(`flex flex-col`,l&&`opacity-50`,d===`top`&&`border-t-2 border-primary`,d===`bottom`&&`border-b-2 border-primary`,d===`child`&&`bg-accent/30`),children:(0,Q.jsxs)(`div`,{className:`flex items-center h-10 px-2 hover:bg-muted/50 border-b border-border/50 group`,style:{paddingInlineStart:`${y+8}px`},children:[a&&(0,Q.jsx)(`button`,{ref:m,className:`cursor-grab p-1 text-muted-foreground hover:text-foreground opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,Q.jsx)(qe,{className:`size-4`})}),(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-6 p-0`,onClick:()=>o(e.id),children:_?(0,Q.jsx)(A,{className:`size-4`}):(0,Q.jsx)(T,{className:`size-4`})}),_?(0,Q.jsx)(We,{className:`size-4 text-muted-foreground ml-1`}):(0,Q.jsx)(Ke,{className:`size-4 text-muted-foreground ml-1`}),(0,Q.jsx)(`span`,{className:`ml-2 font-medium truncate`,children:e.text}),e.data.nodeType===`sort-code-branch`&&e.data.sortCode&&(0,Q.jsxs)(V,{variant:`outline`,className:`ml-2 text-xs`,children:[`Sort Code `,e.data.sortCode]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[(0,Q.jsx)(G,{children:(0,Q.jsxs)(U,{children:[(0,Q.jsx)(H,{asChild:!0,children:(0,Q.jsx)(V,{variant:`secondary`,className:i(`text-xs font-mono`,t>=0?`bg-emerald-100 text-emerald-800`:`bg-red-100 text-red-800`),children:Vn(t)})}),(0,Q.jsx)(W,{children:`Total of all descendants`})]})}),!_&&(0,Q.jsx)(G,{children:(0,Q.jsxs)(U,{children:[(0,Q.jsx)(H,{asChild:!0,children:(0,Q.jsx)(V,{variant:`outline`,className:`text-xs`,children:n})}),(0,Q.jsxs)(W,{children:[n,` entities`]})]})}),a&&e.data.nodeType===`synthetic-branch`&&(0,Q.jsxs)(ce,{children:[(0,Q.jsx)(se,{asChild:!0,children:(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-6 p-0 opacity-0 group-hover:opacity-100`,children:(0,Q.jsx)(ue,{className:`size-4`})})}),(0,Q.jsxs)(oe,{align:`end`,children:[(0,Q.jsx)(F,{onClick:()=>s?.(e.id,e.text),children:`Rename`}),(0,Q.jsx)(F,{className:`text-destructive`,onClick:()=>c?.(e.id),children:`Delete`})]})]})]})]})})}let x=e.data.value??0,S=e.data.entityType??`business`;return(0,Q.jsxs)(`div`,{ref:p,className:i(`flex flex-col`,l&&`opacity-50`,d===`top`&&`border-t-2 border-primary`,d===`bottom`&&`border-b-2 border-primary`),children:[(0,Q.jsxs)(`div`,{className:`flex items-center h-10 px-2 hover:bg-muted/50 border-b border-border/50 group`,style:{paddingInlineStart:`${y+8}px`},children:[a&&(0,Q.jsx)(`button`,{ref:m,className:`cursor-grab p-1 text-muted-foreground hover:text-foreground opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,Q.jsx)(qe,{className:`size-4`})}),(0,Q.jsx)(`div`,{className:`size-6 flex items-center justify-center`,children:S===`business`?(0,Q.jsx)(ee,{className:`size-4 text-muted-foreground`}):(0,Q.jsx)(g,{className:`size-4 text-muted-foreground`})}),(0,Q.jsx)(`span`,{className:`ml-2 truncate`,children:e.text}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[(0,Q.jsx)(V,{variant:`secondary`,className:i(`text-xs font-mono`,x>=0?`bg-emerald-100 text-emerald-800`:`bg-red-100 text-red-800`),children:Vn(x)}),(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-6 p-0`,onClick:()=>o(e.id),children:_?(0,Q.jsx)(h,{className:`size-4`}):(0,Q.jsx)(b,{className:`size-4`})})]})]}),_&&(0,Q.jsx)(`div`,{className:`bg-muted/30 border-b border-border/50 py-2 overflow-x-auto`,style:{paddingInlineStart:`${y+32}px`,paddingInlineEnd:`8px`},children:(0,Q.jsx)(`div`,{className:`min-w-max`,children:(0,Q.jsx)(Ue,{businessID:e.id})})})]})}function br(e,t,n,r,i,a){return e.filter(e=>e.parent===t).map(t=>(0,Q.jsxs)(q.Fragment,{children:[(0,Q.jsx)(yr,{node:t,depth:n,treeId:r,nodeStats:i,editMode:a.editMode,onToggleExpand:a.onToggleExpand,onRename:a.onRename,onDelete:a.onDelete}),t.droppable&&t.data.isOpen&&br(e,t.id,n+1,r,i,a)]},t.id))}function xr({treeId:e,title:t,nodes:n,editMode:r,emptyMessage:a,isCollapsed:o=!1,onToggleCollapse:s,onAddBranch:c,onToggleExpand:l,onRename:u,onDelete:d}){let f=(0,q.useRef)(null),[p,m]=(0,q.useState)(!1);(0,q.useEffect)(()=>{let t=f.current;if(!(!t||!r))return kn({element:t,getData:()=>({nodeId:e,treeId:e}),onDragEnter:()=>m(!0),onDragLeave:()=>m(!1),onDrop:()=>m(!1)})},[r,e]);let h=(0,q.useMemo)(()=>zn(n),[n]),g=n.some(t=>t.parent===e),_=e===`bank`?o?he:me:o?Ye:Je;return o?(0,Q.jsx)(`div`,{className:`flex flex-col h-full w-10 shrink-0 border rounded-lg bg-background overflow-hidden`,children:(0,Q.jsxs)(`button`,{className:`flex-1 flex flex-col items-center justify-center gap-3 hover:bg-muted/50 transition-colors w-full`,onClick:s,title:`Expand ${t}`,children:[(0,Q.jsx)(_,{className:`size-4 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`[writing-mode:vertical-rl] rotate-180 text-sm font-semibold text-muted-foreground select-none`,children:t})]})}):(0,Q.jsxs)(`div`,{className:`flex flex-col h-full min-w-0 flex-1 border rounded-lg bg-background overflow-hidden`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b bg-muted/30 shrink-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[s&&(0,Q.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-7 p-0 text-muted-foreground`,onClick:s,title:`Collapse ${t}`,children:(0,Q.jsx)(_,{className:`size-4`})}),(0,Q.jsx)(`h2`,{className:`font-semibold text-lg`,children:t})]}),r&&(0,Q.jsxs)(R,{variant:`outline`,size:`sm`,onClick:c,children:[(0,Q.jsx)(Ge,{className:`size-4 mr-2`}),`Add Branch`]})]}),(0,Q.jsx)(`div`,{className:`flex-1 min-h-0 overflow-auto`,children:(0,Q.jsx)(`div`,{ref:f,className:i(`min-h-[300px] min-w-max transition-colors`,p&&`bg-accent/50`),children:g?br(n,e,0,e,h,{editMode:r,onToggleExpand:l,onRename:u,onDelete:d}):(0,Q.jsx)(`div`,{className:`flex items-center justify-center h-[300px] w-full text-muted-foreground text-sm`,children:a})})})]})}var Sr=`bank`;function Cr(e,t,n,r){let i=t.filter(e=>!(n.has(e.business.id)||!r&&e.total.raw===0)),a=new Map,o=[],s=new Map(e.map(e=>[e.id,e]));for(let e of i){let t=e.business.sortCode;if(t){if(!a.has(t.id)){let e=s.get(t.id);a.set(t.id,{key:t.key,name:e?.name??t.name,entities:[]})}a.get(t.id).entities.push(e)}else o.push(e)}let c=[...a.entries()].sort((e,t)=>e[1].key-t[1].key),l=[];for(let[e,{key:t,name:n,entities:r}]of c){l.push({id:e,parent:Sr,text:`${t} — ${n??``}`,droppable:!0,data:{nodeType:`sort-code-branch`,sortCode:t,isOpen:!1}});for(let t of r)l.push({id:t.business.id,parent:e,text:t.business.name,droppable:!1,data:{nodeType:`financial-entity`,value:t.total.raw*-1,isOpen:!1}})}o.sort((e,t)=>e.business.name.localeCompare(t.business.name));for(let e of o)l.push({id:e.business.id,parent:Sr,text:e.business.name,droppable:!1,data:{nodeType:`financial-entity`,value:e.total.raw*-1,isOpen:!1}});return l}function wr(e,t,n,r,i,a){let o=n.sourceTreeId===`bank`?e:t,s=i===`bank`?e:t;if(r===n.nodeId||n.sourceTreeId===i&&Rn(o,n.nodeId).includes(r)||!o.find(e=>e.id===n.nodeId))return{nextBankTree:e,nextReportTree:t};if(a?.type===`make-child`){let n=s.find(e=>e.id===r);if(n&&In(n))return{nextBankTree:e,nextReportTree:t}}let c=new Set([n.nodeId,...Rn(o,n.nodeId)]),l=o.filter(e=>c.has(e.id)),u=n.sourceTreeId===i,d=o.filter(e=>!c.has(e.id)),f=u?d:s,p;if(!a||a.type===`instruction-blocked`){let e=l.map(e=>e.id===n.nodeId?{...e,parent:i}:e);p=[...f,...e]}else if(a.type===`make-child`){let e=l.map(e=>e.id===n.nodeId?{...e,parent:r}:e);p=[...f,...e]}else if(a.type===`reorder-above`){let e=f.find(e=>e.id===r)?.parent??i,t=l.map(t=>t.id===n.nodeId?{...t,parent:e}:t),a=f.findIndex(e=>e.id===r);p=a===-1?[...f,...t]:[...f.slice(0,a),...t,...f.slice(a)]}else if(a.type===`reorder-below`){let e=f.find(e=>e.id===r)?.parent??i,t=l.map(t=>t.id===n.nodeId?{...t,parent:e}:t),a=f.findIndex(e=>e.id===r);p=a===-1?[...f,...t]:[...f.slice(0,a+1),...t,...f.slice(a+1)]}else if(a.type===`reparent`){let e=new Set([`bank`,`report`]),t=a.currentLevel-a.desiredLevel,i=r;for(let n=0;n<t&&!e.has(i);n++){let e=f.find(e=>e.id===i);if(!e)break;i=e.parent}let o=l.map(e=>e.id===n.nodeId?{...e,parent:i}:e),s=f.findIndex(e=>e.id===r);p=[...f.slice(0,s+1),...o,...f.slice(s+1)]}else p=[...f,...l];return u?i===`bank`?{nextBankTree:p,nextReportTree:t}:{nextBankTree:e,nextReportTree:p}:n.sourceTreeId===`bank`?{nextBankTree:d,nextReportTree:p}:{nextBankTree:p,nextReportTree:d}}function Tr(e){return e.some(e=>`descendantSortCodes`in e.data)}function Er(e,t){let n=new Map;for(let e of t)n.set(e.business.id,e);let r=new Set;for(let t of e)t.droppable||r.add(String(t.id));let i=[],a=new Set;for(let t of e){let e=String(t.id);if(a.has(e))continue;let o=t.parent===0||t.parent===`0`?$n:String(t.parent);if(t.droppable){let s=t.data.sortCode==null?`synthetic-branch`:`sort-code-branch`;i.push({id:e,parent:o,text:t.text,droppable:!0,data:{nodeType:s,isOpen:t.data.isOpen,...t.data.hebrewText==null?{}:{hebrewText:t.data.hebrewText},...t.data.sortCode==null?{}:{sortCode:t.data.sortCode}}}),a.add(e);for(let o of t.data.descendantFinancialEntities??[]){if(r.has(o)||a.has(o))continue;let t=n.get(o);t&&(a.add(o),i.push({id:o,parent:e,text:t.business.name,droppable:!1,data:{nodeType:`financial-entity`,value:t.total.raw*-1,isOpen:!1}}))}}else{let r=n.get(e);if(!r)continue;i.push({id:e,parent:o,text:r.business.name,droppable:!1,data:{nodeType:`financial-entity`,value:r.total.raw*-1,isOpen:t.data.isOpen,...t.data.hebrewText==null?{}:{hebrewText:t.data.hebrewText}}}),a.add(e)}}return i}function Dr(e){return{id:e.id,name:e.name,lastUpdated:new Date(e.updated),isLocked:e.isLocked}}var Or=`${new Date().getFullYear()}-01-01`,kr=new Date().toISOString().slice(0,10);function Ar(){let{userContext:e}=(0,q.useContext)(Se),t=e?.context.adminBusinessId??``,{setFiltersContext:n}=(0,q.useContext)(ae),[r,i]=c(),a=r.get(`from`)??Or,o=r.get(`to`)??kr,s=r.get(`owner`)??t,l=r.get(`zeroed`)===`1`,u=r.get(`template`),d=(0,q.useCallback)(e=>i(t=>(e?t.set(`from`,e):t.delete(`from`),t),{replace:!0}),[i]),f=(0,q.useCallback)(e=>i(t=>(e?t.set(`to`,e):t.delete(`to`),t),{replace:!0}),[i]),p=(0,q.useCallback)(e=>i(t=>(t.set(`owner`,e),t),{replace:!0}),[i]),h=(0,q.useCallback)(e=>i(t=>(t.set(`zeroed`,e?`1`:`0`),t),{replace:!0}),[i]),g=(0,q.useCallback)(e=>i(t=>(e?t.set(`template`,e):t.delete(`template`),t),{replace:!0}),[i]),[_,v]=(0,q.useState)(!1),[y,b]=(0,q.useState)(!1),[ee,x]=(0,q.useState)(!1),[S,C]=(0,q.useState)(null),w=(0,q.useCallback)(e=>{C(t=>t===e?null:e)},[]),[T,E]=(0,q.useState)(null),[D,te]=(0,q.useState)(!1),[ne,re]=(0,q.useState)(null),[O,k]=(0,q.useState)(!1),[A,j]=(0,q.useState)([]),[M,N]=(0,q.useState)([]),P=(0,q.useRef)(null),ie=(0,q.useRef)(null),oe=(0,q.useRef)(null),F=(0,q.useRef)(null),se=(0,q.useRef)(null),ce=(0,q.useRef)(null),{updateDynamicReportTemplate:le}=Fn(),{updateDynamicReportTemplateName:ue}=Nn(),{sortCodes:de}=m({ownerId:e?.context.adminBusinessId}),[{data:fe}]=Pe({query:Re,variables:{filters:{fromDate:a,toDate:o,ownerIds:[s]}}}),[{data:pe},I]=Pe({query:Ne}),[{data:me}]=Pe({query:Le,variables:{name:u??``},pause:!u}),he=(0,q.useMemo)(()=>(pe?.allDynamicReports??[]).map(Dr),[pe]);(0,q.useEffect)(()=>{if(!u||!he.length||T?.name===u)return;let e=he.find(e=>e.name===u);e&&(E(e),x(e.isLegacy??!1),e.isLocked&&v(!1))},[u,he,T]);let L=(0,q.useMemo)(()=>{let e=fe?.businessTransactionsSumFromLedgerRecords;return e?.__typename===`BusinessTransactionsSumFromLedgerRecordsSuccessfulResult`?e.businessTransactionsSum:[]},[fe]),R=(0,q.useRef)(L),z=(0,q.useRef)(de),ge=(0,q.useRef)(l),_e=(0,q.useRef)(M);(0,q.useLayoutEffect)(()=>{R.current=L,z.current=de,ge.current=l,_e.current=M});let B=(0,q.useRef)(0),ve=(0,q.useRef)(0);(0,q.useEffect)(()=>{B.current+=1;let e=me?.dynamicReport?.template??[],t=R.current,n=z.current,r=ge.current,i,a;if(e.length>0){if(Tr(e)){let n=Er(e,t);i=n,a=new Set(n.filter(e=>!e.droppable).map(e=>e.id))}else{let n=nr(e,t);i=n.reportTree,a=n.placedEntityIds}}else i=[],a=new Set;let o=Cr(n,t,a,r);j(o),N(i)},[me,de]),(0,q.useEffect)(()=>{if(ve.current<B.current){ve.current=B.current;return}let e=_e.current,t=new Map(L.map(e=>[e.business.id,e.total.raw*-1])),n=e.map(e=>{if(e.droppable)return e;let n=t.get(e.id)??0;return e.data.value===n?e:{...e,data:{...e.data,value:n}}}),r=new Set(e.filter(e=>!e.droppable).map(e=>e.id)),i=Cr(z.current,L,r,l);N(n),j(i)},[L,l]),(0,q.useEffect)(()=>An({onDrop({source:e,location:t}){let n=e.data,r=t.current.dropTargets[0];if(!r)return;let i=r.data.nodeId,a=r.data.treeId,o=dt(r.data),{nextBankTree:s,nextReportTree:c}=wr(A,M,n,i,a,o);j(s),N(c),b(!0)}}),[A,M]);let ye=(0,q.useCallback)(e=>{j(t=>t.map(t=>t.id===e?{...t,data:{...t.data,isOpen:!t.data.isOpen}}:t))},[]),be=(0,q.useCallback)(e=>{N(t=>t.map(t=>t.id===e?{...t,data:{...t.data,isOpen:!t.data.isOpen}}:t))},[]),xe=(0,q.useCallback)((e,t)=>{P.current?.renameBranch(e,t)},[]),V=(0,q.useCallback)(e=>{ie.current?.deleteBranch(e)},[]),H=(0,q.useCallback)(e=>{oe.current?.addBranch(e)},[]),U=(0,q.useCallback)(()=>{F.current?.saveAsNew()},[]),W=(0,q.useCallback)(e=>{F.current?.duplicateTemplate(e)},[]),G=(0,q.useCallback)(()=>{se.current?.renameTemplate()},[]),Ce=(0,q.useCallback)(e=>{ce.current?.deleteTemplate(e)},[]),we=(0,q.useCallback)(e=>{E(e),g(e.name),x(e.isLegacy??!1),b(!1),e.isLocked&&v(!1)},[g]),Te=(0,q.useCallback)(e=>{y?(re(e),k(!0)):we(e)},[y,we]),Ee=(0,q.useCallback)(async()=>{if(!T)return;let e=ir(M);await le({name:T.name,template:e})&&(b(!1),x(!1))},[T,M,le]),De=(0,q.useCallback)(async(e,t)=>{let n=await ue({name:e.name,newName:t});n&&e.id===T?.id&&(E(e=>e?{...e,id:n.id,name:n.name}:null),g(n.name)),n&&I({requestPolicy:`network-only`})},[T,ue,g,I]),Oe=(0,q.useCallback)(()=>{let e=zn(M),t=[`Name,Value (ILS),Depth`],n=e=>`"${e.replaceAll(`"`,`""`)}"`,r=new Map;for(let e of M){let t=r.get(e.parent)||[];t.push(e),r.set(e.parent,t)}function i(a,o){let s=r.get(a)??[];for(let r of s)if(r.droppable){let a=e.get(r.id)?.sum??0;t.push(`${n(r.text)},${a},${o}`),i(r.id,o+1)}else{let e=r.data.value??0;t.push(`${n(r.text)},${e},${o}`)}}i(`report`,0);let s=t.join(`
`),c=new Blob([s],{type:`text/csv;charset=utf-8;`}),l=URL.createObjectURL(c),u=document.createElement(`a`);u.href=l,u.download=`dynamic-report-${a}-${o}.csv`,u.click(),URL.revokeObjectURL(l)},[M,a,o]);return(0,q.useEffect)(()=>{n(null)},[n]),(0,Q.jsxs)(`div`,{className:`flex flex-col h-screen bg-background`,children:[(0,Q.jsx)(cr,{fromDate:a,toDate:o,onFromDateChange:d,onToDateChange:f,owners:t?[{id:t,name:e?.username??t}]:[],selectedOwner:s,onOwnerChange:p,showZeroed:l,onShowZeroedChange:h,editMode:_,onEditModeChange:v,isDirty:y,currentTemplate:T,onSelectTemplate:()=>te(!0),onSaveAsNew:U,onResave:Ee,onRename:G,onDuplicate:()=>T&&W(T),onDelete:()=>T&&Ce(T),onDownloadCSV:Oe,isLocked:T?.isLocked??!1}),ee&&T?.isLegacy&&(0,Q.jsx)(sr,{onDismiss:()=>x(!1)}),(0,Q.jsx)(`div`,{className:`flex-1 p-4 overflow-hidden`,children:(0,Q.jsxs)(`div`,{className:`flex gap-4 h-full`,children:[(0,Q.jsx)(xr,{treeId:`bank`,title:`Bank`,nodes:A,editMode:_,emptyMessage:`No entities remaining`,isCollapsed:S===`bank`,onToggleCollapse:()=>w(`bank`),onAddBranch:()=>H(`bank`),onToggleExpand:ye,onRename:xe,onDelete:V}),(0,Q.jsx)(xr,{treeId:`report`,title:`Report`,nodes:M,editMode:_,emptyMessage:`Drop entities here to build your report`,isCollapsed:S===`report`,onToggleCollapse:()=>w(`report`),onAddBranch:()=>H(`report`),onToggleExpand:be,onRename:xe,onDelete:V})]})}),(0,Q.jsx)(or,{open:D,onOpenChange:te,templates:he,onLoad:Te,onRename:De,onDuplicate:W,onDelete:Ce}),(0,Q.jsx)(Yn,{ref:P,setIsDirty:b,setBankTree:j,setReportTree:N}),(0,Q.jsx)(Un,{ref:ie,setIsDirty:b,bankTree:A,setBankTree:j,reportTree:M,setReportTree:N}),(0,Q.jsx)(Jn,{ref:oe,setIsDirty:b,setBankTree:j,setReportTree:N}),(0,Q.jsx)(qn,{applyTemplate:we,pendingTemplate:ne,setPendingTemplate:re,templateSwitchDialogOpen:O,setTemplateSwitchDialogOpen:k}),(0,Q.jsx)(ar,{ref:F,setSelectedTemplateName:g,refetchAllTemplates:I,setIsDirty:b,setCurrentTemplate:E,reportTree:M}),(0,Q.jsx)(Xn,{ref:se,setSelectedTemplateName:g,refetchAllTemplates:I,currentTemplate:T,setCurrentTemplate:E}),(0,Q.jsx)(Kn,{ref:ce,setSelectedTemplateName:g,refetchAllTemplates:I,currentTemplate:T,setCurrentTemplate:E})]})}export{Ar as DynamicReport};