@accounter/client
Version:
Accounter client application
5 lines • 62.8 kB
JavaScript
import{t as e}from"./building-2-BBv615u9.js";import{n as t,r as n,t as r}from"./upload-DjRSIbA9.js";import{t as i}from"./save-D3SH8Sls.js";import{a,c as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./alert-dialog-DSWf47lx.js";import{t as p}from"./objectWithoutPropertiesLoose-DGYGdwsT.js";import{Al as m,An as h,B as g,Ci as _,Cu as v,Di as y,Dn as ee,Ed as te,Ei as b,En as ne,Fi as x,Fu as re,G as S,H as C,Id as w,Ii as T,J as ie,Jt as ae,Ju as oe,K as se,Kl as E,Ks as D,Kt as O,Li as k,Ln as ce,Mi as A,Ni as j,Nu as le,Oi as ue,On as de,Os as fe,Pd as pe,Pi as M,Ri as N,Rn as me,Si as P,Ti as F,U as he,V as I,W as L,Wl as R,Y as ge,Z as _e,_i as z,bi as B,dn as ve,dt as ye,er as be,fl as xe,gs as Se,hd as Ce,jd as we,ji as V,kd as Te,kl as H,kn as Ee,ks as De,ld as Oe,md as ke,nd as Ae,od as je,pd as Me,pl as Ne,q as Pe,qu as Fe,sd as Ie,tr as Le,vi as U,xa as Re,xi as W,yd as G,yi as K,zn as ze,zu as Be}from"./index-CSYTUOOk.js";import{t as q}from"./defineProperty-51EsgOsK.js";import{t as Ve}from"./business-extended-info-BcpXBMho.js";var He=G(`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`}]]),Ue=G(`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`}]]),We=G(`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`}]]),Ge=G(`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`}]]),Ke=G(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),qe=G(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),Je=G(`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=G(`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=G(`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`}]]),J=w(we(),1);function Ze(e,t){if(e==null)return{};var n,r,i=p(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])}):!1}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){q(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),{},q({},rt,r))}function dt(e){return e[rt]??null}var ft=pe((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=pe((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})),Y=pe((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=ce(document.elementsFromPoint(e.x,e.y),2),n=t[0],r=t[1];return n?ht(n)?r??null:n:null}var _t=2147483647,vt={inset:`unset`,border:`none`,padding:0,margin:0,overflow:`visible`,color:`inherit`,background:`transparent`};function X(e){var t=null;return function(){if(!t){var n=[...arguments];t={result:e.apply(this,n)}}return t.result}}var Z=X(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){q(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`),Z()&&n.setAttribute(`popover`,`manual`);var r=Dt({client:t});Object.assign(n.style,bt(bt({position:`fixed`},Z()?vt:{zIndex:_t}),{},{backgroundColor:`transparent`,padding:0,margin:0,boxSizing:`border-box`,pointerEvents:`auto`},Ot({clientRect:r}))),document.body.appendChild(n),Z()&&n.showPopover();var i=(0,Y.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,Y.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,Y.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 ze(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)||me(e)||Pt()}var It=X(function(){return navigator.userAgent.includes(`Firefox`)}),Lt=X(function(){var e=navigator.userAgent;return e.includes(`AppleWebKit`)&&!e.includes(`Chrome`)}),Rt={isLeavingWindow:Symbol(`leaving`),isEnteringWindow:Symbol(`entering`)};function zt(e){var t=e.dragLeave;return Lt()?t.hasOwnProperty(Rt.isLeavingWindow):!1}(function(){if(typeof window>`u`||!Lt())return;function e(){return{enterCount:0,isOverWindow:!1}}var t=e();function n(){t=e()}(0,Y.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[Rt.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:`dragleave`,listener:function(e){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(e[Rt.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function Bt(e){return`nodeName`in e}function Vt(e){return Bt(e)&&e.ownerDocument!==document}function Ht(e){var t=e.dragLeave,n=t.type,r=t.relatedTarget;return n===`dragleave`?Lt()?zt({dragLeave:t}):r==null?!0:It()?Vt(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,Y.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 Q(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){q(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 X(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=Q(Q({},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=Q(Q({},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=Q(Q({},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(Q(Q({},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){q(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 X(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=X(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,Y.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=ce(l[c],2),d=u[0],f=u[1];t.dataTransfer.setData(d,f??``)}xn()&&!t.dataTransfer.types.includes(`text/plain`)&&!t.dataTransfer.types.includes(`text/uri-list`)&&t.dataTransfer.setData(Cn,Sn),t.dataTransfer.setData(wn,``);var p={type:`element`,payload:{element:r.element,dragHandle:r.dragHandle??null,data:r.getInitialData?.call(r,a)??{}},startedFrom:`internal`};e.start({event:t,dragType:p})}}}}}))},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 X(on(On.registerUsage(),En(e),sn(e.element,{attribute:`draggable`,value:`true`})))}var Mn=`updateDynamicReportTemplateName`,Nn=()=>{let[{fetching:e},t]=H(Ne);return{fetching:e,updateDynamicReportTemplateName:(0,J.useCallback)(async e=>{let n=`Error updating report template "${e.name}" to "${e.newName}"`,r=`${Mn}-${e.name}`;U.loading(`Updating report template name`,{id:r});try{let i=z(await t(e),n,r);if(i)return U.success(`Success`,{id:r,description:`Report template "${i.updateDynamicReportTemplateName.name}" updated`}),i.updateDynamicReportTemplateName}catch(e){console.error(`${n}: ${e}`),U.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}},Pn=`updateDynamicReportTemplate`,Fn=()=>{let[{fetching:e},t]=H(xe);return{fetching:e,updateDynamicReportTemplate:(0,J.useCallback)(async e=>{let n=`Error updating report template "${e.name}"`,r=`${Pn}-${e.name}`;U.loading(`Updating report template`,{id:r});try{let i=z(await t(e),n,r);if(i)return U.success(`Success`,{id:r,description:`Report template "${i.updateDynamicReportTemplate.name}" updated`}),i.updateDynamicReportTemplate}catch(e){console.error(`${n}: ${e}`),U.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 $=v(),Un=(0,J.forwardRef)(function({setIsDirty:e,bankTree:t,setBankTree:n,reportTree:r,setReportTree:i},p){let[m,h]=(0,J.useState)(!1),[g,_]=(0,J.useState)(null),v=(0,J.useCallback)(e=>{_(e),h(!0)},[]);return(0,J.useImperativeHandle)(p,()=>({deleteBranch:v})),(0,$.jsx)(f,{open:m,onOpenChange:h,children:(0,$.jsxs)(s,{children:[(0,$.jsxs)(d,{children:[(0,$.jsx)(o,{children:`Delete Branch`}),(0,$.jsx)(a,{children:(()=>{if(!g)return null;let e=t.find(e=>e.id===g),n=e||r.find(e=>e.id===g);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,$.jsxs)(l,{children:[(0,$.jsx)(u,{children:`Cancel`}),(0,$.jsx)(c,{onClick:()=>{if(!g)return;let{nextBankTree:a,nextReportTree:o}=Hn(r,t,g);n(a),i(o),e(!0),h(!1),_(null)},children:`Delete`})]})]})})}),Wn=`deleteDynamicReportTemplate`,Gn=()=>{let[{fetching:e},t]=H(Se);return{fetching:e,deleteDynamicReportTemplate:(0,J.useCallback)(async e=>{let n=`Error deleting report template "${e.name}"`,r=`${Wn}-${e.name}`;U.loading(`Deleting report template`,{id:r});try{let i=z(await t(e),n,r);if(i)return U.success(`Success`,{id:r,description:`Report template "${i.deleteDynamicReportTemplate}" deleted`}),i.deleteDynamicReportTemplate}catch(e){console.error(`${n}: ${e}`),U.error(`Error`,{id:r,description:n,duration:1e5,closeButton:!0})}},[t])}},Kn=(0,J.forwardRef)(function({setSelectedTemplateName:e,refetchAllTemplates:t,currentTemplate:n,setCurrentTemplate:r},i){let[p,m]=(0,J.useState)(!1),[h,g]=(0,J.useState)(null),{deleteDynamicReportTemplate:_}=Gn(),v=(0,J.useCallback)(e=>{g(e),m(!0)},[]);return(0,J.useImperativeHandle)(i,()=>({deleteTemplate:v})),(0,$.jsx)(f,{open:p,onOpenChange:m,children:(0,$.jsxs)(s,{children:[(0,$.jsxs)(d,{children:[(0,$.jsx)(o,{children:`Delete Template`}),(0,$.jsxs)(a,{children:[`Are you sure you want to delete "`,h?.name,`"? This action cannot be undone.`]})]}),(0,$.jsxs)(l,{children:[(0,$.jsx)(u,{children:`Cancel`}),(0,$.jsx)(c,{onClick:async()=>{if(!h)return;let i=await _({name:h.name});i&&h.id===n?.id&&(r(null),e(null)),i&&t({requestPolicy:`network-only`}),m(!1),g(null)},children:`Delete`})]})]})})});function qn({applyTemplate:e,pendingTemplate:t,setPendingTemplate:n,templateSwitchDialogOpen:r,setTemplateSwitchDialogOpen:i}){return(0,$.jsx)(f,{open:r,onOpenChange:i,children:(0,$.jsxs)(s,{children:[(0,$.jsxs)(d,{children:[(0,$.jsx)(o,{children:`Unsaved changes`}),(0,$.jsx)(a,{children:`Loading a template will discard your unsaved changes. Continue?`})]}),(0,$.jsxs)(l,{children:[(0,$.jsx)(u,{onClick:()=>{i(!1),n(null)},children:`Cancel`}),(0,$.jsx)(c,{onClick:()=>{t&&e(t),i(!1),n(null)},children:`Continue`})]})]})})}var Jn=(0,J.forwardRef)(function({setIsDirty:e,setBankTree:t,setReportTree:n},r){let[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(``),[c,l]=(0,J.useState)(`bank`),u=(0,J.useCallback)(e=>{l(e),s(``),a(!0)},[]);return(0,J.useImperativeHandle)(r,()=>({addBranch:u})),(0,$.jsx)(j,{open:i,onOpenChange:a,children:(0,$.jsxs)(M,{children:[(0,$.jsxs)(k,{children:[(0,$.jsx)(N,{children:`Add New Branch`}),(0,$.jsxs)(x,{children:[`Create a new branch in the `,c===`bank`?`Bank`:`Report`,` panel.`]})]}),(0,$.jsxs)(`div`,{className:`py-4`,children:[(0,$.jsx)(V,{htmlFor:`new-branch-name`,children:`Branch Name`}),(0,$.jsx)(A,{id:`new-branch-name`,value:o,onChange:e=>s(e.target.value),className:`mt-2`,placeholder:`Enter branch name...`})]}),(0,$.jsxs)(T,{children:[(0,$.jsx)(R,{variant:`outline`,onClick:()=>a(!1),children:`Cancel`}),(0,$.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,J.forwardRef)(function({setIsDirty:e,setBankTree:t,setReportTree:n},r){let[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(``),u=(0,J.useCallback)((e,t)=>{s(e),l(t),a(!0)},[]);return(0,J.useImperativeHandle)(r,()=>({renameBranch:u})),(0,$.jsx)(j,{open:i,onOpenChange:a,children:(0,$.jsxs)(M,{children:[(0,$.jsxs)(k,{children:[(0,$.jsx)(N,{children:`Rename Branch`}),(0,$.jsx)(x,{children:`Enter a new name for this branch.`})]}),(0,$.jsxs)(`div`,{className:`py-4`,children:[(0,$.jsx)(V,{htmlFor:`rename-input`,children:`Name`}),(0,$.jsx)(A,{id:`rename-input`,value:c,onChange:e=>l(e.target.value),className:`mt-2`})]}),(0,$.jsxs)(T,{children:[(0,$.jsx)(R,{variant:`outline`,onClick:()=>a(!1),children:`Cancel`}),(0,$.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,J.forwardRef)(function({setSelectedTemplateName:e,refetchAllTemplates:t,currentTemplate:n,setCurrentTemplate:r},i){let[a,o]=(0,J.useState)(!1),[s,c]=(0,J.useState)(``),{updateDynamicReportTemplateName:l}=Nn(),u=(0,J.useCallback)(()=>{n&&(c(n.name),o(!0))},[n]);return(0,J.useImperativeHandle)(i,()=>({renameTemplate:u})),(0,$.jsx)(j,{open:a,onOpenChange:o,children:(0,$.jsxs)(M,{children:[(0,$.jsxs)(k,{children:[(0,$.jsx)(N,{children:`Rename Template`}),(0,$.jsx)(x,{children:`Enter a new name for this template.`})]}),(0,$.jsxs)(`div`,{className:`py-4`,children:[(0,$.jsx)(V,{htmlFor:`template-rename-input`,children:`Name`}),(0,$.jsx)(A,{id:`template-rename-input`,value:s,onChange:e=>c(e.target.value),className:`mt-2`})]}),(0,$.jsxs)(T,{children:[(0,$.jsx)(R,{variant:`outline`,onClick:()=>o(!1),children:`Cancel`}),(0,$.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]=H(D);return{fetching:e,insertDynamicReportTemplate:(0,J.useCallback)(async e=>{let n=`Error inserting report template "${e.name}"`,r=`${Zn}-${e.name}`;U.loading(`Saving report template`,{id:r});try{let i=z(await t(e),n,r);if(i)return U.success(`Success`,{id:r,description:`Report template "${i.insertDynamicReportTemplate.name}" saved`}),i.insertDynamicReportTemplate}catch(e){console.error(`${n}: ${e}`),U.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,J.forwardRef)(function({setSelectedTemplateName:e,refetchAllTemplates:t,setIsDirty:n,setCurrentTemplate:r,reportTree:i},a){let[o,s]=(0,J.useState)(!1),[c,l]=(0,J.useState)(``),{insertDynamicReportTemplate:u}=Qn(),d=(0,J.useCallback)(e=>{l(`Copy of ${e.name}`),s(!0)},[]),f=(0,J.useCallback)(()=>{l(``),s(!0)},[]);return(0,J.useImperativeHandle)(a,()=>({duplicateTemplate:d,saveAsNew:f})),(0,$.jsx)(j,{open:o,onOpenChange:s,children:(0,$.jsxs)(M,{children:[(0,$.jsxs)(k,{children:[(0,$.jsx)(N,{children:`Save as New Template`}),(0,$.jsx)(x,{children:`Enter a name for the new template.`})]}),(0,$.jsxs)(`div`,{className:`py-4`,children:[(0,$.jsx)(V,{htmlFor:`save-as-name`,children:`Template Name`}),(0,$.jsx)(A,{id:`save-as-name`,value:c,onChange:e=>l(e.target.value),className:`mt-2`,placeholder:`Enter template name...`})]}),(0,$.jsxs)(T,{children:[(0,$.jsx)(R,{variant:`outline`,onClick:()=>s(!1),children:`Cancel`}),(0,$.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`})]})]})})}),or=ie();function sr({open:e,onOpenChange:t,templates:i,onLoad:a,onRename:o,onDuplicate:s,onDelete:c}){let[l,u]=(0,J.useState)(``),[d,f]=(0,J.useState)(null),[p,m]=(0,J.useState)(``),h=(0,J.useRef)(null);function _(e){f(e.id),m(e.name),setTimeout(()=>h.current?.focus(),0)}function v(){f(null),m(``)}function y(e){let t=p.trim();t&&t!==e.name&&o(e,t),f(null),m(``)}let ee=(0,J.useMemo)(()=>[or.accessor(`name`,{header:`Name`,cell:e=>{let t=e.row.original;return d===t.id?(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(A,{ref:h,value:p,onChange:e=>m(e.target.value),onKeyDown:e=>{e.key===`Enter`&&y(t),e.key===`Escape`&&v()},className:`h-7 text-sm`}),(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-7 p-0 text-green-600 hover:text-green-700`,onClick:()=>y(t),disabled:!p.trim(),children:(0,$.jsx)(Ce,{className:`size-3.5`})}),(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-7 p-0`,onClick:v,children:(0,$.jsx)(le,{className:`size-3.5`})})]}):(0,$.jsx)(`span`,{className:`font-medium`,children:e.getValue()})}}),or.accessor(`lastUpdated`,{header:`Last Updated`,cell:e=>(0,$.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:e.getValue().toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})})}),or.accessor(`isLocked`,{header:`Locked`,cell:e=>e.getValue()?(0,$.jsx)(W,{children:(0,$.jsxs)(K,{children:[(0,$.jsx)(P,{children:(0,$.jsx)(n,{className:`size-4 text-muted-foreground`})}),(0,$.jsx)(B,{children:`This template is locked`})]})}):null}),or.display({id:`actions`,header:`Actions`,cell:e=>{let n=e.row.original,i=d===n.id;return(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(W,{children:(0,$.jsxs)(K,{children:[(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0`,onClick:()=>{a(n),t(!1)},disabled:i,children:(0,$.jsx)(r,{className:`size-4`})})}),(0,$.jsx)(B,{children:n.isLocked?`Load template (read-only)`:`Load template`})]})}),(0,$.jsx)(W,{children:(0,$.jsxs)(K,{children:[(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0`,onClick:()=>_(n),disabled:n.isLocked||i,children:(0,$.jsx)(Xe,{className:`size-4`})})}),(0,$.jsx)(B,{children:n.isLocked?`Cannot rename locked template`:`Rename template`})]})}),(0,$.jsx)(W,{children:(0,$.jsxs)(K,{children:[(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0`,onClick:()=>s(n),disabled:i,children:(0,$.jsx)(Oe,{className:`size-4`})})}),(0,$.jsx)(B,{children:`Duplicate template`})]})}),(0,$.jsx)(W,{children:(0,$.jsxs)(K,{children:[(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-8 p-0 text-destructive hover:text-destructive`,onClick:()=>c(n),disabled:n.isLocked||i,children:(0,$.jsx)(Be,{className:`size-4`})})}),(0,$.jsx)(B,{children:n.isLocked?`Cannot delete locked template`:`Delete template`})]})})]})}})],[a,o,s,c,t,d,p]),te=Pe({data:i,columns:ee,state:{globalFilter:l},onGlobalFilterChange:u,getCoreRowModel:ge(),getFilteredRowModel:_e()});return(0,$.jsx)(j,{open:e,onOpenChange:t,children:(0,$.jsxs)(M,{className:`max-w-2xl`,children:[(0,$.jsxs)(k,{children:[(0,$.jsx)(N,{children:`Template Manager`}),(0,$.jsx)(x,{children:`Select a template to load, duplicate, or delete.`})]}),(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsx)(A,{placeholder:`Filter templates...`,value:l,onChange:e=>u(e.target.value),className:`max-w-sm`}),(0,$.jsx)(`div`,{className:`rounded-md border`,children:(0,$.jsxs)(g,{children:[(0,$.jsx)(L,{children:te.getHeaderGroups().map(e=>(0,$.jsx)(S,{children:e.headers.map(e=>(0,$.jsx)(he,{children:e.isPlaceholder?null:se(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,$.jsx)(I,{children:te.getRowModel().rows.length?te.getRowModel().rows.map(e=>(0,$.jsx)(S,{className:e.original.isLocked?`bg-muted/30`:``,children:e.getVisibleCells().map(e=>(0,$.jsx)(C,{children:se(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,$.jsx)(S,{children:(0,$.jsx)(C,{colSpan:ee.length,className:`h-24 text-center text-muted-foreground`,children:`No templates found.`})})})]})})]})]})})}function cr({onDismiss:e}){return(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 bg-amber-50 border-b border-amber-200`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(t,{className:`size-5 text-amber-600`}),(0,$.jsx)(`p`,{className:`text-sm text-amber-800`,children:`This template was saved in a legacy format. Please review and resave to upgrade.`})]}),(0,$.jsxs)(R,{variant:`ghost`,size:`sm`,onClick:e,className:`text-amber-700 hover:text-amber-900 hover:bg-amber-100`,children:[(0,$.jsx)(le,{className:`size-4 mr-1`}),`Dismiss`]})]})}function lr({fromDate:e,toDate:t,onFromDateChange:n,onToDateChange:r,owners:a,selectedOwner:o,onOwnerChange:s,showZeroed:c,onShowZeroedChange:l,editMode:u,onEditModeChange:d,isDirty:f,currentTemplate:p,onSelectTemplate:m,onSaveAsNew:g,onResave:v,onRename:te,onDuplicate:x,onDelete:re,onDownloadCSV:S,isLocked:C=!1}){let w=p!==null;return(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-4 p-4 border-b bg-muted/30`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(V,{htmlFor:`from-date`,className:`text-sm text-muted-foreground`,children:`From`}),(0,$.jsx)(ae,{id:`from-date`,value:e,onChange:e=>n(e??``),className:`w-36`})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(V,{htmlFor:`to-date`,className:`text-sm text-muted-foreground`,children:`To`}),(0,$.jsx)(ae,{id:`to-date`,value:t,onChange:e=>r(e??``),className:`w-36`})]}),(0,$.jsxs)(ne,{value:o,onValueChange:s,children:[(0,$.jsx)(Ee,{className:`w-40`,children:(0,$.jsx)(h,{placeholder:`Select owner`})}),(0,$.jsx)(ee,{children:a.map(e=>(0,$.jsx)(de,{value:e.id,children:e.name},e.id))})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ve,{id:`show-zeroed`,checked:c,onCheckedChange:l}),(0,$.jsx)(V,{htmlFor:`show-zeroed`,className:`text-sm cursor-pointer`,children:`Show zeroed accounts`})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[!C&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ve,{id:`edit-mode`,checked:u,onCheckedChange:d}),(0,$.jsx)(V,{htmlFor:`edit-mode`,className:`text-sm cursor-pointer font-medium`,children:`Edit Mode`})]}),f&&(0,$.jsx)(O,{variant:`outline`,className:`bg-amber-100 text-amber-800 border-amber-300`,children:`Unsaved changes`}),(0,$.jsxs)(_,{children:[(0,$.jsx)(ue,{asChild:!0,children:(0,$.jsxs)(R,{variant:`outline`,className:`gap-2`,children:[(0,$.jsx)(Ae,{className:`size-4`}),p?.name||`No template`,(0,$.jsx)(ke,{className:`size-4`})]})}),(0,$.jsxs)(F,{align:`end`,className:`w-48`,children:[(0,$.jsxs)(b,{onClick:m,children:[(0,$.jsx)(Ae,{className:`size-4 mr-2`}),`Select template`]}),(0,$.jsx)(y,{}),(0,$.jsxs)(b,{onClick:g,children:[(0,$.jsx)(i,{className:`size-4 mr-2`}),`Save as new`]}),(0,$.jsxs)(b,{onClick:v,disabled:!w||C,children:[(0,$.jsx)(i,{className:`size-4 mr-2`}),`Resave`]}),(0,$.jsxs)(b,{onClick:te,disabled:!w||C,children:[(0,$.jsx)(Xe,{className:`size-4 mr-2`}),`Rename`]}),(0,$.jsxs)(b,{onClick:x,disabled:!w,children:[(0,$.jsx)(Oe,{className:`size-4 mr-2`}),`Duplicate`]}),(0,$.jsx)(y,{}),(0,$.jsxs)(b,{onClick:re,disabled:!w||C,className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Be,{className:`size-4 mr-2`}),`Delete`]})]})]}),(0,$.jsxs)(R,{variant:`outline`,onClick:S,children:[(0,$.jsx)(Ie,{className:`size-4 mr-2`}),`Download CSV`]})]})]})}var ur=Te(),dr=X(function(){return Lt()&&`ontouchend`in document}),fr=function(e){var t=e.container.getBoundingClientRect();return{x:t.width/2,y:t.height/2}};function pr(e){return function(t){var n=t.container;return dr()||xn()?fr({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 mr(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 hr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?mr(Object(n),!0).forEach(function(t){q(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gr(){return{x:0,y:0}}function _r(e){var t=e.render,n=e.nativeSetDragImage,r=e.getOffset,i=r===void 0?gr:r,a=document.createElement(`div`);Z()&&a.setAttribute(`popover`,`manual`),Object.assign(a.style,hr(hr({position:`fixed`},Z()?vt:{zIndex:_t}),{},{top:0,left:0,pointerEvents:`none`})),document.body.append(a),Z()&&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 vr({node:t}){let n=t.data.entityType??`business`;return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 bg-background border rounded-md px-3 py-2 shadow-lg`,children:[Ln(t)?(0,$.jsx)(We,{className:`size-4 text-muted-foreground`}):n===`business`?(0,$.jsx)(e,{className:`size-4 text-muted-foreground`}):(0,$.jsx)(re,{className:`size-4 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`font-medium text-sm`,children:t.text}),(0,$.jsxs)(`span`,{className:`text-xs text-muted-foreground capitalize`,children:[`(`,Ln(t)?`branch`:`entity`,`)`]})]})}function yr(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 br({node:t,depth:n,treeId:r,nodeStats:i,editMode:a,onToggleExpand:o,onRename:s,onDelete:c}){let[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(null),p=(0,J.useRef)(null),m=(0,J.useRef)(null),h=t.data.isOpen,g=Ln(t);(0,J.useEffect)(()=>{let e=p.current;if(!(!e||!a))return jn({element:e,dragHandle:m.current??void 0,getInitialData:()=>({nodeId:t.id,sourceTreeId:r}),onGenerateDragPreview({nativeSetDragImage:e}){_r({nativeSetDragImage:e,getOffset:pr({x:`16px`,y:`8px`}),render({container:e}){let n=(0,ur.createRoot)(e);return n.render((0,$.jsx)(vr,{node:t})),()=>n.unmount()}})},onDragStart:()=>u(!0),onDrop:()=>u(!1)})},[a,t,r]),(0,J.useEffect)(()=>{let e=p.current;if(!(!e||!a))return kn({element:e,getData:({input:e,element:i})=>ut({nodeId:t.id,treeId:r},{input:e,element:i,currentLevel:n,indentPerLevel:24,mode:h?`expanded`:`standard`,block:t.droppable?[]:[`make-child`]}),onDragEnter:({self:e})=>f(yr(dt(e.data))),onDrag:({self:e})=>f(yr(dt(e.data))),onDragLeave:()=>f(null),onDrop:()=>f(null)})},[n,a,h,t.droppable,t.id,r]);let v=n*24;if(g){let e=i.get(t.id)?.sum??0,n=i.get(t.id)?.leafCount??0;return(0,$.jsx)(`div`,{ref:p,className:E(`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,$.jsxs)(`div`,{className:`flex items-center h-10 px-2 hover:bg-muted/50 border-b border-border/50 group`,style:{paddingInlineStart:`${v+8}px`},children:[a&&(0,$.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,$.jsx)(Ge,{className:`size-4`})}),(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-6 p-0`,onClick:()=>o(t.id),children:h?(0,$.jsx)(ke,{className:`size-4`}):(0,$.jsx)(Me,{className:`size-4`})}),h?(0,$.jsx)(He,{className:`size-4 text-muted-foreground ml-1`}):(0,$.jsx)(We,{className:`size-4 text-muted-foreground ml-1`}),(0,$.jsx)(`span`,{className:`ml-2 font-medium truncate`,children:t.text}),t.data.nodeType===`sort-code-branch`&&t.data.sortCode&&(0,$.jsxs)(O,{variant:`outline`,className:`ml-2 text-xs`,children:[`Sort Code `,t.data.sortCode]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[(0,$.jsx)(W,{children:(0,$.jsxs)(K,{children:[(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(O,{variant:`secondary`,className:E(`text-xs font-mono`,e>=0?`bg-emerald-100 text-emerald-800`:`bg-red-100 text-red-800`),children:Vn(e)})}),(0,$.jsx)(B,{children:`Total of all descendants`})]})}),!h&&(0,$.jsx)(W,{children:(0,$.jsxs)(K,{children:[(0,$.jsx)(P,{asChild:!0,children:(0,$.jsx)(O,{variant:`outline`,className:`text-xs`,children:n})}),(0,$.jsxs)(B,{children:[n,` entities`]})]})}),a&&t.data.nodeType===`synthetic-branch`&&(0,$.jsxs)(_,{children:[(0,$.jsx)(ue,{asChild:!0,children:(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-6 p-0 opacity-0 group-hover:opacity-100`,children:(0,$.jsx)(je,{className:`size-4`})})}),(0,$.jsxs)(F,{align:`end`,children:[(0,$.jsx)(b,{onClick:()=>s?.(t.id,t.text),children:`Rename`}),(0,$.jsx)(b,{className:`text-destructive`,onClick:()=>c?.(t.id),children:`Delete`})]})]})]})]})})}let y=t.data.value??0,ee=t.data.entityType??`business`;return(0,$.jsxs)(`div`,{ref:p,className:E(`flex flex-col`,l&&`opacity-50`,d===`top`&&`border-t-2 border-primary`,d===`bottom`&&`border-b-2 border-primary`),children:[(0,$.jsxs)(`div`,{className:`flex items-center h-10 px-2 hover:bg-muted/50 border-b border-border/50 group`,style:{paddingInlineStart:`${v+8}px`},children:[a&&(0,$.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,$.jsx)(Ge,{className:`size-4`})}),(0,$.jsx)(`div`,{className:`size-6 flex items-center justify-center`,children:ee===`business`?(0,$.jsx)(e,{className:`size-4 text-muted-foreground`}):(0,$.jsx)(re,{className:`size-4 text-muted-foreground`})}),(0,$.jsx)(`span`,{className:`ml-2 truncate`,children:t.text}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 ml-auto`,children:[(0,$.jsx)(O,{variant:`secondary`,className:E(`text-xs font-mono`,y>=0?`bg-emerald-100 text-emerald-800`:`bg-red-100 text-red-800`),children:Vn(y)}),(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-6 p-0`,onClick:()=>o(t.id),children:h?(0,$.jsx)(oe,{className:`size-4`}):(0,$.jsx)(Fe,{className:`size-4`})})]})]}),h&&(0,$.jsx)(`div`,{className:`bg-muted/30 border-b border-border/50 py-2 overflow-x-auto`,style:{paddingInlineStart:`${v+32}px`,paddingInlineEnd:`8px`},children:(0,$.jsx)(`div`,{className:`min-w-max`,children:(0,$.jsx)(Ve,{businessID:t.id})})})]})}function xr(e,t,n,r,i,a){return e.filter(e=>e.parent===t).map(t=>(0,$.jsxs)(J.Fragment,{children:[(0,$.jsx)(br,{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&&xr(e,t.id,n+1,r,i,a)]},t.id))}function Sr({treeId:e,title:t,nodes:n,editMode:r,emptyMessage:i,isCollapsed:a=!1,onToggleCollapse:o,onAddBranch:s,onToggleExpand:c,onRename:l,onDelete:u}){let d=(0,J.useRef)(null),[f,p]=(0,J.useState)(!1);(0,J.useEffect)(()=>{let t=d.current;if(!(!t||!r))return kn({element:t,getData:()=>({nodeId:e,treeId:e}),onDragEnter:()=>p(!0),onDragLeave:()=>p(!1),onDrop:()=>p(!1)})},[r,e]);let m=(0,J.useMemo)(()=>zn(n),[n]),h=n.some(t=>t.parent===e),g=e===`bank`?a?qe:Ke:a?Ye:Je;return a?(0,$.jsx)(`div`,{className:`flex flex-col h-full w-10 shrink-0 border rounded-lg bg-background overflow-hidden`,children:(0,$.jsxs)(`button`,{className:`flex-1 flex flex-col items-center justify-center gap-3 hover:bg-muted/50 transition-colors w-full`,onClick:o,title:`Expand ${t}`,children:[(0,$.jsx)(g,{className:`size-4 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`[writing-mode:vertical-rl] rotate-180 text-sm font-semibold text-muted-foreground select-none`,children:t})]})}):(0,$.jsxs)(`div`,{className:`flex flex-col h-full min-w-0 flex-1 border rounded-lg bg-background overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b bg-muted/30 shrink-0`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[o&&(0,$.jsx)(R,{variant:`ghost`,size:`sm`,className:`size-7 p-0 text-muted-foreground`,onClick:o,title:`Collapse ${t}`,children:(0,$.jsx)(g,{className:`size-4`})}),(0,$.jsx)(`h2`,{className:`font-semibold text-lg`,children:t})]}),r&&(0,$.jsxs)(R,{variant:`outline`,size:`sm`,onClick:s,children:[(0,$.jsx)(Ue,{className:`size-4 mr-2`}),`Add Branch`]})]}),(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-auto`,children:(0,$.jsx)(`div`,{ref:d,className:E(`min-h-[300px] min-w-max transition-colors`,f&&`bg-accent/50`),children:h?xr(n,e,0,e,m,{editMode:r,onToggleExpand:c,onRename:l,onDelete:u}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-[300px] w-full text-muted-foreground text-sm`,children:i})})})]})}var Cr=`bank`;function wr(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:Cr,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:Cr,text:e.business.name,droppable:!1,data:{nodeType:`financial-entity`,value:e.total.raw*-1,isOpen:!1}});return l}function Tr(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 Er(e){return e.some(e=>`descendantSortCodes`in e.data)}function Dr(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 Or(e){return{id:e.id,name:e.name,lastUpdated:new Date(e.updated),isLocked:e.isLocked}}var kr=`${new Date().getFullYear()}-01-01`,Ar=new Date().toISOString().slice(0,10);function jr(){let{userContext:e}=(0,J.useContext)(Le),t=e?.context.adminBusinessId??``,{setFiltersContext:n}=(0,J.useContext)(be),[r,i]=te(),a=r.get(`from`)??kr,o=r.get(`to`)??Ar,s=r.get(`owner`)??t,c=r.get(`zeroed`)===`1`,l=r.get(`template`),u=(0,J.useCallback)(e=>i(t=>(e?t.set(`from`,e):t.delete(`from`),t),{replace:!0}),[i]),d=(0,J.useCallback)(e=>i(t=>(e?t.set(`to`,e):t.delete(`to`),t),{replace:!0}),[i]),f=(0,J.useCallback)(e=>i(t=>(t.set(`owner`,e),t),{replace:!0}),[i]),p=(0,J.useCallback)(e=>i(t=>(t.set(`zeroed`,e?`1`:`0`),t),{replace:!0}),[i]),h=(0,J.useCallback)(e=>i(t=>(e?t.set(`template`,e):t.delete(`template`),t),{replace:!0}),[i]),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(!1),[ee,b]=(0,J.useState)(!1),[ne,x]=(0,J.useState)(null),re=(0,J.useCallback)(e=>{x(t=>t===e?null:e)},[]),[S,C]=(0,J.useState)(null),[w,T]=(0,J.useState)(!1),[ie,ae]=(0,J.useState)(null),[oe,se]=(0,J.useState)(!1),[E,D]=(0,J.useState)([]),[O,k]=(0,J.useState)([]),ce=(0,J.useRef)(null),A=(0,J.useRef)(null),j=(0,J.useRef)(null),le=(0,J.useRef)(null),ue=(0,J.useRef)(null),de=(0,J.useRef)(null),{updateDynamicReportTemplate:pe}=Fn(),{updateDynamicReportTemplateName:M}=Nn(),{sortCodes:N}=ye(),[{data:me}]=m({query:fe,variables:{filters:{fromDate:a,toDate:o,ownerIds:[s]}}}),[{data:P},F]=m({query:Re}),[{data:he}]=m({query:De,variables:{name:l??``},pause:!l}),I=(0,J.useMemo)(()=>(P?.allDynamicReports??[]).map(Or),[P]);(0,J.useEffect)(()=>{if(!l||!I.length||S?.name===l)return;let e=I.find(e=>e.name===l);e&&(C(e),b(e.isLegacy??!1),e.isLocked&&_(!1))},[l,I,S]);let L=(0,J.useMemo)(()=>{let e=me?.businessTransactionsSumFromLedgerRecords;return e?.__typename===`BusinessTransactionsSumFromLedgerRecordsSuccessfulResult`?e.businessTransactionsSum:[]},[me]),R=(0,J.useRef)(L),ge=(0,J.useRef)(N),_e=(0,J.useRef)(c),z=(0,J.useRef)(O);(0,J.useLayoutEffect)(()=>{R.current=L,ge.current=N,_e.current=c,z.current=O});let B=(0,J.useRef)(0),ve=(0,J.useRef)(0);(0,J.useEffect)(()=>{B.current+=1;let e=he?.dynamicReport?.template??[],t=R.current,n=ge.current,r=_e.current,i,a;if(e.length>0)if(Er(e)){let n=Dr(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;D(wr(n,t,a,r)),k(i)},[he,N]),(0,J.useEffect)(()=>{if(ve.current<B.current){ve.current=B.current;return}let e=z.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=wr(ge.current,L,r,c);k(n),D(i)},[L,c]),(0,J.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,{nextBankTree:o,nextReportTree:s}=Tr(E,O,n,i,a,dt(r.data));D(o),k(s),y(!0)}}),[E,O]);let xe=(0,J.useCallback)(e=>{D(t=>t.map(t=>t.id===e?{...t,data:{...t.data,isOpen:!t.data.isOpen}}:t))},[]),Se=(0,J.useCallback)(e=>{k(t=>t.map(t=>t.id===e?{...t,data:{...t.data,isOpen:!t.data.isOpen}}:t))},[]),Ce=(0,J.useCallback)((e,t)=>{ce.current?.renameBranch(e,t)},[]),we=(0,J.useCallback)(e=>{A.current?.deleteBranch(e)},[]),V=(0,J.useCallback)(e=>{j.current?.addBranch(e)},[]),Te=(0,J.useCallback)(()=>{le.current?.saveAsNew()},[]),H=(0,J.useCallback)(e=>{le.current?.duplicateTemplate(e)},[]),Ee=(0,J.useCallback)(()=>{ue.current?.renameTemplate()},[]),Oe=(0,J.useCallback)(e=>{de.current?.deleteTemplate(e)},[]),ke=(0,J.useCallback)(e=>{C(e),h(e.name),b(e.isLegacy??!1),y(!1),e.isLocked&&_(!1)},[h]),Ae=(0,J.useCallback)(e=>{v?(ae(e),se(!0)):ke(e)},[v,ke]),je=(0,J.useCallback)(async()=>{if(!S)return;let e=ir(O);await pe({name:S.name,template:e})&&(y(!1),b(!1))},[S,O,pe]),Me=(0,J.useCallback)(async(e,t)=>{let n=await M({name:e.name,newName:t});n&&e.id===S?.id&&(C(e=>e?{...e,id:n.id,name:n.name}:null),h(n.name)),n&&F({requestPolicy:`network-only`})},[S,M,h,F]),Ne=(0,J.useCallback)(()=>{let e=zn(O),t=[`Name,Value (ILS),Depth`],n=e=>`"${e.replaceAll(`"`,`""`)}"`,r=new Map;for(let e of O){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)},[O,a,o]);return(0,J.useEffect)(()=>{n(null)},[n]),(0,$.jsxs)(`div`,{className:`flex flex-col h-screen bg-background`,children:[(0,$.jsx)(lr,{fromDate:a,toDate:o,onFromDateChange:u,onToDateChange:d,owners:t?[{id:t,name:e?.username??t}]:[],selectedOwner:s,onOwnerChange:f,showZeroed:c,onShowZeroedChange:p,editMode:g,onEditModeChange:_,isDirty:v,currentTemplate:S,onSelectTemplate:()=>T(!0),onSaveAsNew:Te,onResave:je,onRename:Ee,onDuplicate:()=>S&&H(S),onDelete:()=>S&&Oe(S),onDownloadCSV:Ne,isLocked:S?.isLocked??!1}),ee&&S?.isLegacy&&(0,$.jsx)(cr,{onDismiss:()=>b(!1)}),(0,$.jsx)(`div`,{className:`flex-1 p-4 overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`flex gap-4 h-full`,children:[(0,$.jsx)(Sr,{treeId:`bank`,title:`Bank`,nodes:E,editMode:g,emptyMessage:`No entities remaining`,isCollapsed:ne===`bank`,onToggleCollapse:()=>re(`bank`),onAddBranch:()=>V(`bank`),onToggleExpand:xe,onRename:Ce,onDelete:we}),(0,$.jsx)(Sr,{treeId:`report`,title:`Report`,nodes:O,editMode:g,emptyMessage:`Drop entities here to build your report`,isCollapsed:ne===`report`,onToggleCollapse:()=>re(`report`),onAddBranch:()=>V(`report`),onToggleExpand:Se,onRename:Ce,onDelete:we})]})}),(0,$.jsx)(sr,{open:w,onOpenChange:T,templates:I,onLoad:Ae,onRename:Me,onDuplicate:H,onDelete:Oe}),(0,$.jsx)(Yn,{ref:ce,setIsDirty:y,setBankTree:D,setReportTree:k}),(0,$.jsx)(Un,{ref:A,setIsDirty:y,bankTree:E,setBankTree:D,reportTree:O,setReportTree:k}),(0,$.jsx)(Jn,{ref:j,setIsDirty:y,setBankTree:D,setReportTree:k}),(0,$.jsx)(qn,{applyTemplate:ke,pendingTemplate:ie,setPendingTemplate:ae,templateSwitchDialogOpen:oe,setTemplateSwitchDialogOpen:se}),(0,$.jsx)(ar,{ref:le,setSelectedTemplateName:h,refetchAllTemplates:F,setIsDirty:y,setCurrentTemplate:C,reportTree:O}),(0,$.jsx)(Xn,{ref:ue,setSelectedTemplateName:h,refetchAllTemplates:F,currentTemplate:S,setCurrentTemplate:C}),(0,$.jsx)(Kn,{ref:de,setSelectedTemplateName:h,refetchAllTemplates:F,currentTemplate:S,setCurrentTemplate:C})]})}export{jr as DynamicReport};