@casys/mcp-erpnext 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casys/mcp-erpnext",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "MCP server for ERPNext with interactive UI viewers",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Chart Viewer - mcp-erpnext</title>
7
- <script type="module" crossorigin>function m2(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in e)){const o=Object.getOwnPropertyDescriptor(n,i);o&&Object.defineProperty(e,i,o.get?o:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=r(i);fetch(i.href,o)}})();function fn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Kv={exports:{}},Ps={},qv={exports:{}},Ne={};/**
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Chart Viewer - mcp-erpnext</title>
7
+ <script type="module" crossorigin>function m2(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in e)){const o=Object.getOwnPropertyDescriptor(n,i);o&&Object.defineProperty(e,i,o.get?o:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=r(i);fetch(i.href,o)}})();function fn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Kv={exports:{}},Ps={},qv={exports:{}},Ne={};/**
8
8
  * @license React
9
9
  * react.production.min.js
10
10
  *
@@ -187,9 +187,9 @@ container holding the app. Specify either width or maxWidth, and either height o
187
187
  * This source code is licensed under the MIT license found in the
188
188
  * LICENSE file in the root directory of this source tree.
189
189
  */var XE;function kee(){if(XE)return Ny;XE=1;var e=cl();function t(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}var r=typeof Object.is=="function"?Object.is:t,n=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,s=e.useMemo,u=e.useDebugValue;return Ny.useSyncExternalStoreWithSelector=function(f,d,p,h,m){var b=i(null);if(b.current===null){var P={hasValue:!1,value:null};b.current=P}else P=b.current;b=s(function(){function S(C){if(!_){if(_=!0,k=C,C=h(C),m!==void 0&&P.hasValue){var I=P.value;if(m(I,C))return E=I}return E=C}if(I=E,r(k,C))return I;var j=h(C);return m!==void 0&&m(I,j)?(k=C,I):(k=C,E=j)}var _=!1,k,E,A=p===void 0?null:p;return[function(){return S(d())},A===null?void 0:function(){return S(A())}]},[d,p,h,m]);var w=n(f,b[0],b[1]);return o(function(){P.hasValue=!0,P.value=w},[w]),u(w),w},Ny}var QE;function Eee(){return QE||(QE=1,My.exports=kee()),My.exports}Eee();function Aee(e){e()}function Iee(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Aee(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!n||e===null||(n=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var JE={notify(){},get:()=>[]};function Cee(e,t){let r,n=JE,i=0,o=!1;function s(w){p();const S=n.subscribe(w);let _=!1;return()=>{_||(_=!0,S(),h())}}function u(){n.notify()}function f(){P.onStateChange&&P.onStateChange()}function d(){return o}function p(){i++,r||(r=e.subscribe(f),n=Iee())}function h(){i--,r&&i===0&&(r(),r=void 0,n.clear(),n=JE)}function m(){o||(o=!0,p())}function b(){o&&(o=!1,h())}const P={addNestedSub:s,notifyNestedSubs:u,handleChangeWrapper:f,isSubscribed:d,trySubscribe:m,tryUnsubscribe:b,getListeners:()=>n};return P}var Tee=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",jee=Tee(),Mee=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Nee=Mee(),Ree=()=>jee||Nee?y.useLayoutEffect:y.useEffect,Dee=Ree();function eA(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function zee(e,t){if(eA(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let i=0;i<r.length;i++)if(!Object.prototype.hasOwnProperty.call(t,r[i])||!eA(e[r[i]],t[r[i]]))return!1;return!0}var $ee=Symbol.for("react-redux-context"),Lee=typeof globalThis<"u"?globalThis:{};function Fee(){if(!y.createContext)return{};const e=Lee[$ee]??=new Map;let t=e.get(y.createContext);return t||(t=y.createContext(null),e.set(y.createContext,t)),t}var Bee=Fee();function Uee(e){const{children:t,context:r,serverState:n,store:i}=e,o=y.useMemo(()=>{const f=Cee(i);return{store:i,subscription:f,getServerState:n?()=>n:void 0}},[i,n]),s=y.useMemo(()=>i.getState(),[i]);Dee(()=>{const{subscription:f}=o;return f.onStateChange=f.notifyNestedSubs,f.trySubscribe(),s!==i.getState()&&f.notifyNestedSubs(),()=>{f.tryUnsubscribe(),f.onStateChange=void 0}},[o,s]);const u=r||Bee;return y.createElement(u.Provider,{value:o},t)}var Kee=Uee,qee=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius"]);function Wee(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Tl(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(qee.has(n)){if(e[n]==null&&t[n]==null)continue;if(!zee(e[n],t[n]))return!1}else if(!Wee(e[n],t[n]))return!1;return!0}var Zee=["id"],Hee=["type","layout","connectNulls","needClip","shape"],Vee=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function au(){return au=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},au.apply(null,arguments)}function tA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Kn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tA(Object(r),!0).forEach(function(n){Gee(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Gee(e,t,r){return(t=Yee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yee(e){var t=Xee(e,"string");return typeof t=="symbol"?t:t+""}function Xee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pw(e,t){if(e==null)return{};var r,n,i=Qee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Qee(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var Jee=e=>{var{dataKey:t,name:r,stroke:n,legendType:i,hide:o}=e;return[{inactive:o,dataKey:t,type:i,color:n,value:mn(r,t),payload:e}]},ete=y.memo(e=>{var{dataKey:t,data:r,stroke:n,strokeWidth:i,fill:o,name:s,hide:u,unit:f,tooltipType:d,id:p}=e,h={dataDefinedOnItem:r,getPosition:Zr,settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:void 0,name:mn(s,t),hide:u,type:d,color:n,unit:f,graphicalItemId:p}};return y.createElement(lo,{tooltipEntrySettings:h})}),NN=(e,t)=>"".concat(t,"px ").concat(e-t,"px");function tte(e,t){for(var r=e.length%2!==0?[...e,0]:e,n=[],i=0;i<t;++i)n=[...n,...r];return n}var rte=(e,t,r)=>{var n=r.reduce((b,P)=>b+P);if(!n)return NN(t,e);for(var i=Math.floor(e/n),o=e%n,s=t-e,u=[],f=0,d=0;f<r.length;d+=(p=r[f])!==null&&p!==void 0?p:0,++f){var p,h=r[f];if(h!=null&&d+h>o){u=[...r.slice(0,f),o-d];break}}var m=u.length%2===0?[0,s]:[s];return[...tte(r,i),...u,...m].map(b=>"".concat(b,"px")).join(", ")};function nte(e){var{clipPathId:t,points:r,props:n}=e,{dot:i,dataKey:o,needClip:s}=n,{id:u}=n,f=Pw(n,Zee),d=Xe(f);return y.createElement(yw,{points:r,dot:i,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:d,needClip:s,clipPathId:t})}function ite(e){var{showLabels:t,children:r,points:n}=e,i=y.useMemo(()=>n?.map(o=>{var s,u,f={x:(s=o.x)!==null&&s!==void 0?s:0,y:(u=o.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Kn(Kn({},f),{},{value:o.value,payload:o.payload,viewBox:f,parentViewBox:void 0,fill:void 0})}),[n]);return y.createElement(Du,{value:t?i:void 0},r)}function rA(e){var{clipPathId:t,pathRef:r,points:n,strokeDasharray:i,props:o}=e,{type:s,layout:u,connectNulls:f,needClip:d,shape:p}=o,h=Pw(o,Hee),m=Kn(Kn({},Mt(h)),{},{fill:"none",className:"recharts-line-curve",clipPath:d?"url(#clipPath-".concat(t,")"):void 0,points:n,type:s,layout:u,connectNulls:f,strokeDasharray:i??o.strokeDasharray});return y.createElement(y.Fragment,null,n?.length>1&&y.createElement(ru,au({shapeType:"curve",option:p},m,{pathRef:r})),y.createElement(nte,{points:n,clipPathId:t,props:o}))}function ate(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function ote(e){var{clipPathId:t,props:r,pathRef:n,previousPointsRef:i,longestAnimatedLengthRef:o}=e,{points:s,strokeDasharray:u,isAnimationActive:f,animationBegin:d,animationDuration:p,animationEasing:h,animateNewValues:m,width:b,height:P,onAnimationEnd:w,onAnimationStart:S}=r,_=i.current,k=fa(s,"recharts-line-"),E=y.useRef(k),[A,C]=y.useState(!1),I=!A,j=y.useCallback(()=>{typeof w=="function"&&w(),C(!1)},[w]),$=y.useCallback(()=>{typeof S=="function"&&S(),C(!0)},[S]),Z=ate(n.current),Q=y.useRef(0);E.current!==k&&(Q.current=o.current,E.current=k);var Y=Q.current;return y.createElement(ite,{points:s,showLabels:I},r.children,y.createElement(ca,{animationId:k,begin:d,duration:p,isActive:f,easing:h,onAnimationEnd:j,onAnimationStart:$,key:k},U=>{var oe=De(Y,Z+Y,U),se=Math.min(oe,Z),fe;if(f)if(u){var be="".concat(u).split(/[,\s]+/gim).map(ne=>parseFloat(ne));fe=rte(se,Z,be)}else fe=NN(Z,se);else fe=u==null?void 0:String(u);if(U>0&&Z>0&&(i.current=s,o.current=Math.max(o.current,se)),_){var he=_.length/s.length,X=U===1?s:s.map((ne,re)=>{var R=Math.floor(re*he);if(_[R]){var G=_[R];return Kn(Kn({},ne),{},{x:De(G.x,ne.x,U),y:De(G.y,ne.y,U)})}return m?Kn(Kn({},ne),{},{x:De(b*2,ne.x,U),y:De(P/2,ne.y,U)}):Kn(Kn({},ne),{},{x:ne.x,y:ne.y})});return i.current=X,y.createElement(rA,{props:r,points:X,clipPathId:t,pathRef:n,strokeDasharray:fe})}return y.createElement(rA,{props:r,points:s,clipPathId:t,pathRef:n,strokeDasharray:fe})}),y.createElement(Al,{label:r.label}))}function lte(e){var{clipPathId:t,props:r}=e,n=y.useRef(null),i=y.useRef(0),o=y.useRef(null);return y.createElement(ote,{props:r,clipPathId:t,previousPointsRef:n,longestAnimatedLengthRef:i,pathRef:o})}var ste=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:$e(e.payload,t)}};class ute extends y.Component{render(){var{hide:t,dot:r,points:n,className:i,xAxisId:o,yAxisId:s,top:u,left:f,width:d,height:p,id:h,needClip:m,zIndex:b}=this.props;if(t)return null;var P=Ee("recharts-line",i),w=h,{r:S,strokeWidth:_}=MN(r),k=mw(r),E=S*2+_,A=m?"url(#clipPath-".concat(k?"":"dots-").concat(w,")"):void 0;return y.createElement(Nt,{zIndex:b},y.createElement(Te,{className:P},m&&y.createElement("defs",null,y.createElement(Vp,{clipPathId:w,xAxisId:o,yAxisId:s}),!k&&y.createElement("clipPath",{id:"clipPath-dots-".concat(w)},y.createElement("rect",{x:f-E/2,y:u-E/2,width:d+E,height:p+E}))),y.createElement(xw,{xAxisId:o,yAxisId:s,data:n,dataPointFormatter:ste,errorBarOffset:0},y.createElement(lte,{props:this.props,clipPathId:w}))),y.createElement(Sd,{activeDot:this.props.activeDot,points:n,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:A}))}}var RN={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:it.line,type:"linear"};function cte(e){var t=He(e,RN),{activeDot:r,animateNewValues:n,animationBegin:i,animationDuration:o,animationEasing:s,connectNulls:u,dot:f,hide:d,isAnimationActive:p,label:h,legendType:m,xAxisId:b,yAxisId:P,id:w}=t,S=Pw(t,Vee),{needClip:_}=zu(b,P),k=Hp(),E=ua(),A=It(),C=le(Q=>Oee(Q,b,P,A,w));if(E!=="horizontal"&&E!=="vertical"||C==null||k==null)return null;var{height:I,width:j,x:$,y:Z}=k;return y.createElement(ute,au({},S,{id:w,connectNulls:u,dot:f,activeDot:r,animateNewValues:n,animationBegin:i,animationDuration:o,animationEasing:s,isAnimationActive:p,hide:d,label:h,legendType:m,xAxisId:b,yAxisId:P,points:C,layout:E,height:I,width:j,left:$,top:Z,needClip:_}))}function fte(e){var{layout:t,xAxis:r,yAxis:n,xAxisTicks:i,yAxisTicks:o,dataKey:s,bandSize:u,displayedData:f}=e;return f.map((d,p)=>{var h=$e(d,s);if(t==="horizontal"){var m=nl({axis:r,ticks:i,bandSize:u,entry:d,index:p}),b=We(h)?null:n.scale.map(h);return{x:m,y:b??null,value:h,payload:d}}var P=We(h)?null:r.scale.map(h),w=nl({axis:n,ticks:o,bandSize:u,entry:d,index:p});return P==null||w==null?null:{x:P,y:w,value:h,payload:d}}).filter(Boolean)}function dte(e){var t=He(e,RN),r=It();return y.createElement(so,{id:t.id,type:"line"},n=>y.createElement(y.Fragment,null,y.createElement(qp,{legendPayload:Jee(t)}),y.createElement(ete,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),y.createElement(Wp,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),y.createElement(cte,au({},t,{id:n}))))}var Sw=y.memo(dte,Tl);Sw.displayName="Line";function Qn(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:yN}function Jn(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:yN}var DN=(e,t,r)=>cn(e,"xAxis",Qn(e,t),r),zN=(e,t,r)=>un(e,"xAxis",Qn(e,t),r),$N=(e,t,r)=>cn(e,"yAxis",Jn(e,t),r),LN=(e,t,r)=>un(e,"yAxis",Jn(e,t),r),pte=D([je,DN,$N,zN,LN],(e,t,r,n,i)=>vn(e,"xAxis")?Gn(t,n,!1):Gn(r,i,!1)),hte=(e,t)=>t,FN=D([xl,hte],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),BN=e=>{var t=je(e),r=vn(t,"xAxis");return r?"yAxis":"xAxis"},vte=(e,t)=>{var r=BN(e);return r==="yAxis"?Jn(e,t):Qn(e,t)},mte=(e,t,r)=>md(e,BN(e),vte(e,t),r),yte=D([FN,mte],(e,t)=>{var r;if(!(e==null||t==null)){var{stackId:n}=e,i=Op(e);if(!(n==null||i==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,s=o?.find(u=>u.key===i);if(s!=null)return s.map(u=>[u[0],u[1]])}}}),gte=D([je,DN,$N,zN,LN,yte,yj,pte,FN,lH],(e,t,r,n,i,o,s,u,f,d)=>{var{chartData:p,dataStartIndex:h,dataEndIndex:m}=s;if(!(f==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||i==null||n.length===0||i.length===0||u==null)){var{data:b}=f,P;if(b&&b.length>0?P=b:P=p?.slice(h,m+1),P!=null)return zte({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataStartIndex:h,areaSettings:f,stackedData:o,displayedData:P,chartBaseValue:d,bandSize:u})}}),bte=["id"],wte=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Ka(){return Ka=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ka.apply(null,arguments)}function UN(e,t){if(e==null)return{};var r,n,i=xte(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function xte(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function nA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ho(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?nA(Object(r),!0).forEach(function(n){Pte(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pte(e,t,r){return(t=Ste(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ste(e){var t=_te(e,"string");return typeof t=="symbol"?t:t+""}function _te(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kd(e,t){return e&&e!=="none"?e:t}var Ote=e=>{var{dataKey:t,name:r,stroke:n,fill:i,legendType:o,hide:s}=e;return[{inactive:s,dataKey:t,type:o,color:kd(n,i),value:mn(r,t),payload:e}]},kte=y.memo(e=>{var{dataKey:t,data:r,stroke:n,strokeWidth:i,fill:o,name:s,hide:u,unit:f,tooltipType:d,id:p}=e,h={dataDefinedOnItem:r,getPosition:Zr,settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:void 0,name:mn(s,t),hide:u,type:d,color:kd(n,o),unit:f,graphicalItemId:p}};return y.createElement(lo,{tooltipEntrySettings:h})});function Ete(e){var{clipPathId:t,points:r,props:n}=e,{needClip:i,dot:o,dataKey:s}=n,u=Xe(n);return y.createElement(yw,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:s,baseProps:u,needClip:i,clipPathId:t})}function Ate(e){var{showLabels:t,children:r,points:n}=e,i=n.map(o=>{var s,u,f={x:(s=o.x)!==null&&s!==void 0?s:0,y:(u=o.y)!==null&&u!==void 0?u:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Ho(Ho({},f),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:f,fill:void 0})});return y.createElement(Du,{value:t?i:void 0},r)}function iA(e){var{points:t,baseLine:r,needClip:n,clipPathId:i,props:o}=e,{layout:s,type:u,stroke:f,connectNulls:d,isRange:p}=o,{id:h}=o,m=UN(o,bte),b=Xe(m),P=Mt(m);return y.createElement(y.Fragment,null,t?.length>1&&y.createElement(Te,{clipPath:n?"url(#clipPath-".concat(i,")"):void 0},y.createElement(Fa,Ka({},P,{id:h,points:t,connectNulls:d,type:u,baseLine:r,layout:s,stroke:"none",className:"recharts-area-area"})),f!=="none"&&y.createElement(Fa,Ka({},b,{className:"recharts-area-curve",layout:s,type:u,connectNulls:d,fill:"none",points:t})),f!=="none"&&p&&y.createElement(Fa,Ka({},b,{className:"recharts-area-curve",layout:s,type:u,connectNulls:d,fill:"none",points:r}))),y.createElement(Ete,{points:t,props:m,clipPathId:i}))}function Ite(e){var t,r,{alpha:n,baseLine:i,points:o,strokeWidth:s}=e,u=(t=o[0])===null||t===void 0?void 0:t.y,f=(r=o[o.length-1])===null||r===void 0?void 0:r.y;if(!Ce(u)||!Ce(f))return null;var d=n*Math.abs(u-f),p=Math.max(...o.map(h=>h.x||0));return ue(i)?p=Math.max(i,p):i&&Array.isArray(i)&&i.length&&(p=Math.max(...i.map(h=>h.x||0),p)),ue(p)?y.createElement("rect",{x:0,y:u<f?u:u-d,width:p+(s?parseInt("".concat(s),10):1),height:Math.floor(d)}):null}function Cte(e){var t,r,{alpha:n,baseLine:i,points:o,strokeWidth:s}=e,u=(t=o[0])===null||t===void 0?void 0:t.x,f=(r=o[o.length-1])===null||r===void 0?void 0:r.x;if(!Ce(u)||!Ce(f))return null;var d=n*Math.abs(u-f),p=Math.max(...o.map(h=>h.y||0));return ue(i)?p=Math.max(i,p):i&&Array.isArray(i)&&i.length&&(p=Math.max(...i.map(h=>h.y||0),p)),ue(p)?y.createElement("rect",{x:u<f?u:u-d,y:0,width:d,height:Math.floor(p+(s?parseInt("".concat(s),10):1))}):null}function Tte(e){var{alpha:t,layout:r,points:n,baseLine:i,strokeWidth:o}=e;return r==="vertical"?y.createElement(Ite,{alpha:t,points:n,baseLine:i,strokeWidth:o}):y.createElement(Cte,{alpha:t,points:n,baseLine:i,strokeWidth:o})}function jte(e){var{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:o}=e,{points:s,baseLine:u,isAnimationActive:f,animationBegin:d,animationDuration:p,animationEasing:h,onAnimationStart:m,onAnimationEnd:b}=n,P=y.useMemo(()=>({points:s,baseLine:u}),[s,u]),w=fa(P,"recharts-area-"),S=G0(),[_,k]=y.useState(!1),E=!_,A=y.useCallback(()=>{typeof b=="function"&&b(),k(!1)},[b]),C=y.useCallback(()=>{typeof m=="function"&&m(),k(!0)},[m]);if(S==null)return null;var I=i.current,j=o.current;return y.createElement(Ate,{showLabels:E,points:s},n.children,y.createElement(ca,{animationId:w,begin:d,duration:p,isActive:f,easing:h,onAnimationEnd:A,onAnimationStart:C,key:w},$=>{if(I){var Z=I.length/s.length,Q=$===1?s:s.map((U,oe)=>{var se=Math.floor(oe*Z);if(I[se]){var fe=I[se];return Ho(Ho({},U),{},{x:De(fe.x,U.x,$),y:De(fe.y,U.y,$)})}return U}),Y;return ue(u)?Y=De(j,u,$):We(u)||Ur(u)?Y=De(j,0,$):Y=u.map((U,oe)=>{var se=Math.floor(oe*Z);if(Array.isArray(j)&&j[se]){var fe=j[se];return Ho(Ho({},U),{},{x:De(fe.x,U.x,$),y:De(fe.y,U.y,$)})}return U}),$>0&&(i.current=Q,o.current=Y),y.createElement(iA,{points:Q,baseLine:Y,needClip:t,clipPathId:r,props:n})}return $>0&&(i.current=s,o.current=u),y.createElement(Te,null,f&&y.createElement("defs",null,y.createElement("clipPath",{id:"animationClipPath-".concat(r)},y.createElement(Tte,{alpha:$,points:s,baseLine:u,layout:S,strokeWidth:n.strokeWidth}))),y.createElement(Te,{clipPath:"url(#animationClipPath-".concat(r,")")},y.createElement(iA,{points:s,baseLine:u,needClip:t,clipPathId:r,props:n})))}),y.createElement(Al,{label:n.label}))}function Mte(e){var{needClip:t,clipPathId:r,props:n}=e,i=y.useRef(null),o=y.useRef();return y.createElement(jte,{needClip:t,clipPathId:r,props:n,previousPointsRef:i,previousBaselineRef:o})}class Nte extends y.PureComponent{render(){var{hide:t,dot:r,points:n,className:i,top:o,left:s,needClip:u,xAxisId:f,yAxisId:d,width:p,height:h,id:m,baseLine:b,zIndex:P}=this.props;if(t)return null;var w=Ee("recharts-area",i),S=m,{r:_,strokeWidth:k}=MN(r),E=mw(r),A=_*2+k,C=u?"url(#clipPath-".concat(E?"":"dots-").concat(S,")"):void 0;return y.createElement(Nt,{zIndex:P},y.createElement(Te,{className:w},u&&y.createElement("defs",null,y.createElement(Vp,{clipPathId:S,xAxisId:f,yAxisId:d}),!E&&y.createElement("clipPath",{id:"clipPath-dots-".concat(S)},y.createElement("rect",{x:s-A/2,y:o-A/2,width:p+A,height:h+A}))),y.createElement(Mte,{needClip:u,clipPathId:S,props:this.props})),y.createElement(Sd,{points:n,mainColor:kd(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:C}),this.props.isRange&&Array.isArray(b)&&y.createElement(Sd,{points:b,mainColor:kd(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:C}))}}var KN={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:it.area};function Rte(e){var t,r=He(e,KN),{activeDot:n,animationBegin:i,animationDuration:o,animationEasing:s,connectNulls:u,dot:f,fill:d,fillOpacity:p,hide:h,isAnimationActive:m,legendType:b,stroke:P,xAxisId:w,yAxisId:S}=r,_=UN(r,wte),k=ua(),E=MM(),{needClip:A}=zu(w,S),C=It(),{points:I,isRange:j,baseLine:$}=(t=le(se=>gte(se,e.id,C)))!==null&&t!==void 0?t:{},Z=Hp();if(k!=="horizontal"&&k!=="vertical"||Z==null||E!=="AreaChart"&&E!=="ComposedChart")return null;var{height:Q,width:Y,x:U,y:oe}=Z;return!I||!I.length?null:y.createElement(Nte,Ka({},_,{activeDot:n,animationBegin:i,animationDuration:o,animationEasing:s,baseLine:$,connectNulls:u,dot:f,fill:d,fillOpacity:p,height:Q,hide:h,layout:k,isAnimationActive:m==="auto"?!pl.isSsr:m,isRange:j,legendType:b,needClip:A,points:I,stroke:P,width:Y,left:U,top:oe,xAxisId:w,yAxisId:S}))}var Dte=(e,t,r,n,i)=>{var o=r??t;if(ue(o))return o;var s=e==="horizontal"?i:n,u=s.scale.domain();if(s.type==="number"){var f=Math.max(u[0],u[1]),d=Math.min(u[0],u[1]);return o==="dataMin"?d:o==="dataMax"||f<0?f:Math.max(Math.min(u[0],u[1]),0)}return o==="dataMin"?u[0]:o==="dataMax"?u[1]:u[0]};function zte(e){var{areaSettings:{connectNulls:t,baseValue:r,dataKey:n},stackedData:i,layout:o,chartBaseValue:s,xAxis:u,yAxis:f,displayedData:d,dataStartIndex:p,xAxisTicks:h,yAxisTicks:m,bandSize:b}=e,P=i&&i.length,w=Dte(o,s,r,u,f),S=o==="horizontal",_=!1,k=d.map((A,C)=>{var I,j,$,Z;if(P)Z=i[p+C];else{var Q=$e(A,n);Array.isArray(Q)?(Z=Q,_=!0):Z=[w,Q]}var Y=(I=(j=Z)===null||j===void 0?void 0:j[1])!==null&&I!==void 0?I:null,U=Y==null||P&&!t&&$e(A,n)==null;if(S){var oe;return{x:nl({axis:u,ticks:h,bandSize:b,entry:A,index:C}),y:U?null:(oe=f.scale.map(Y))!==null&&oe!==void 0?oe:null,value:Z,payload:A}}return{x:U?null:($=u.scale.map(Y))!==null&&$!==void 0?$:null,y:nl({axis:f,ticks:m,bandSize:b,entry:A,index:C}),value:Z,payload:A}}),E;return P||_?E=k.map(A=>{var C,I=Array.isArray(A.value)?A.value[0]:null;if(S){var j;return{x:A.x,y:I!=null&&A.y!=null&&(j=f.scale.map(I))!==null&&j!==void 0?j:null,payload:A.payload}}return{x:I!=null&&(C=u.scale.map(I))!==null&&C!==void 0?C:null,y:A.y,payload:A.payload}}):E=S?f.scale.map(w):u.scale.map(w),{points:k,baseLine:E??0,isRange:_}}function $te(e){var t=He(e,KN),r=It();return y.createElement(so,{id:t.id,type:"area"},n=>y.createElement(y.Fragment,null,y.createElement(qp,{legendPayload:Ote(t)}),y.createElement(kte,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),y.createElement(Wp,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:uT(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),y.createElement(Rte,Ka({},t,{id:n}))))}var _w=y.memo($te,Tl);_w.displayName="Area";var Lte="Invariant failed";function Fte(e,t){throw new Error(Lte)}function qg(){return qg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},qg.apply(null,arguments)}function Ed(e){return y.createElement(ru,qg({shapeType:"rectangle",activeClassName:"recharts-active-bar"},e))}var Bte=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,i)=>{if(ue(t))return t;var o=ue(n)||We(n);return o?t(n,i):(o||Fte(),r)}},Ute=(e,t,r)=>r,Kte=(e,t)=>t,$u=D([xl,Kte],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),qte=D([$u],e=>e?.maxBarSize),Wte=(e,t,r,n)=>n,Zte=D([je,xl,Qn,Jn,Ute],(e,t,r,n,i)=>t.filter(o=>e==="horizontal"?o.xAxisId===r:o.yAxisId===n).filter(o=>o.isPanorama===i).filter(o=>o.hide===!1).filter(o=>o.type==="bar")),Hte=(e,t,r)=>{var n=je(e),i=Qn(e,t),o=Jn(e,t);if(!(i==null||o==null))return n==="horizontal"?md(e,"yAxis",o,r):md(e,"xAxis",i,r)},Vte=(e,t)=>{var r=je(e),n=Qn(e,t),i=Jn(e,t);if(!(n==null||i==null))return r==="horizontal"?Pk(e,"xAxis",n):Pk(e,"yAxis",i)},Gte=D([Zte,oH,Vte],dJ),Yte=(e,t,r)=>{var n,i,o=$u(e,t);if(o==null)return 0;var s=Qn(e,t),u=Jn(e,t);if(s==null||u==null)return 0;var f=je(e),d=Ij(e),{maxBarSize:p}=o,h=We(p)?d:p,m,b;return f==="horizontal"?(m=cn(e,"xAxis",s,r),b=un(e,"xAxis",s,r)):(m=cn(e,"yAxis",u,r),b=un(e,"yAxis",u,r)),(n=(i=Gn(m,b,!0))!==null&&i!==void 0?i:h)!==null&&n!==void 0?n:0},qN=(e,t,r)=>{var n=je(e),i=Qn(e,t),o=Jn(e,t);if(!(i==null||o==null)){var s,u;return n==="horizontal"?(s=cn(e,"xAxis",i,r),u=un(e,"xAxis",i,r)):(s=cn(e,"yAxis",o,r),u=un(e,"yAxis",o,r)),Gn(s,u)}},Xte=D([Gte,Ij,aH,Cj,Yte,qN,qte],yJ),Qte=(e,t,r)=>{var n=Qn(e,t);if(n!=null)return cn(e,"xAxis",n,r)},Jte=(e,t,r)=>{var n=Jn(e,t);if(n!=null)return cn(e,"yAxis",n,r)},ere=(e,t,r)=>{var n=Qn(e,t);if(n!=null)return un(e,"xAxis",n,r)},tre=(e,t,r)=>{var n=Jn(e,t);if(n!=null)return un(e,"yAxis",n,r)},rre=D([Xte,$u],bJ),nre=D([Hte,$u],gJ),ire=D([Ut,Z0,Qte,Jte,ere,tre,rre,je,yj,qN,nre,$u,Wte],(e,t,r,n,i,o,s,u,f,d,p,h,m)=>{var{chartData:b,dataStartIndex:P,dataEndIndex:w}=f;if(!(h==null||s==null||t==null||u!=="horizontal"&&u!=="vertical"||r==null||n==null||i==null||o==null||d==null)){var{data:S}=h,_;if(S!=null&&S.length>0?_=S:_=b?.slice(P,w+1),_!=null)return jre({layout:u,barSettings:h,pos:s,parentViewBox:t,bandSize:d,xAxis:r,yAxis:n,xAxisTicks:i,yAxisTicks:o,stackedData:p,displayedData:_,offset:e,cells:m,dataStartIndex:P})}}),are=["index"];function Wg(){return Wg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Wg.apply(null,arguments)}function ore(e,t){if(e==null)return{};var r,n,i=lre(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function lre(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var WN=y.createContext(void 0),sre=e=>{var t=y.useContext(WN);if(t!=null)return t.stackId;if(e!=null)return uT(e)},ure=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),cre=e=>{var t=y.useContext(WN);if(t!=null){var{stackId:r}=t;return"url(#".concat(ure(r,e),")")}},ZN=e=>{var{index:t}=e,r=ore(e,are),n=cre(t);return y.createElement(Te,Wg({className:"recharts-bar-stack-layer",clipPath:n},r))},fre=["onMouseEnter","onMouseLeave","onClick"],dre=["value","background","tooltipPosition"],pre=["id"],hre=["onMouseEnter","onClick","onMouseLeave"];function Pi(){return Pi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Pi.apply(null,arguments)}function aA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function br(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?aA(Object(r),!0).forEach(function(n){vre(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):aA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vre(e,t,r){return(t=mre(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function mre(e){var t=yre(e,"string");return typeof t=="symbol"?t:t+""}function yre(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ad(e,t){if(e==null)return{};var r,n,i=gre(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function gre(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var bre=e=>{var{dataKey:t,name:r,fill:n,legendType:i,hide:o}=e;return[{inactive:o,dataKey:t,type:i,color:n,value:mn(r,t),payload:e}]},wre=y.memo(e=>{var{dataKey:t,stroke:r,strokeWidth:n,fill:i,name:o,hide:s,unit:u,tooltipType:f,id:d}=e,p={dataDefinedOnItem:void 0,getPosition:Zr,settings:{stroke:r,strokeWidth:n,fill:i,dataKey:t,nameKey:void 0,name:mn(o,t),hide:s,type:f,color:i,unit:u,graphicalItemId:d}};return y.createElement(lo,{tooltipEntrySettings:p})});function xre(e){var t=le(xi),{data:r,dataKey:n,background:i,allOtherBarProps:o}=e,{onMouseEnter:s,onMouseLeave:u,onClick:f}=o,d=Ad(o,fre),p=Bp(s,n,o.id),h=Up(u),m=Kp(f,n,o.id);if(!i||r==null)return null;var b=Hn(i);return y.createElement(Nt,{zIndex:wJ(i,it.barBackground)},r.map((P,w)=>{var{value:S,background:_,tooltipPosition:k}=P,E=Ad(P,dre);if(!_)return null;var A=p(P,w),C=h(P,w),I=m(P,w),j=br(br(br(br(br({option:i,isActive:String(w)===t},E),{},{fill:"#eee"},_),b),sa(d,P,w)),{},{onMouseEnter:A,onMouseLeave:C,onClick:I,dataKey:n,index:w,className:"recharts-bar-background-rectangle"});return y.createElement(Ed,Pi({key:"background-bar-".concat(w)},j))}))}function Pre(e){var{showLabels:t,children:r,rects:n}=e,i=n?.map(o=>{var s={x:o.x,y:o.y,width:o.width,lowerWidth:o.width,upperWidth:o.width,height:o.height};return br(br({},s),{},{value:o.value,payload:o.payload,parentViewBox:o.parentViewBox,viewBox:s,fill:o.fill})});return y.createElement(Du,{value:t?i:void 0},r)}function Sre(e){var{shape:t,activeBar:r,baseProps:n,entry:i,index:o,dataKey:s}=e,u=le(xi),f=le(tw),d=r&&String(o)===u&&(f==null||s===f),p=d?r:t;return d?y.createElement(Nt,{zIndex:it.activeBar},y.createElement(ZN,{index:o},y.createElement(Ed,Pi({},n,{name:String(n.name)},i,{isActive:d,option:p,index:o,dataKey:s})))):y.createElement(Ed,Pi({},n,{name:String(n.name)},i,{isActive:d,option:p,index:o,dataKey:s}))}function _re(e){var{shape:t,baseProps:r,entry:n,index:i,dataKey:o}=e;return y.createElement(Ed,Pi({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:i,dataKey:o}))}function Ore(e){var t,{data:r,props:n}=e,i=(t=Xe(n))!==null&&t!==void 0?t:{},{id:o}=i,s=Ad(i,pre),{shape:u,dataKey:f,activeBar:d}=n,{onMouseEnter:p,onClick:h,onMouseLeave:m}=n,b=Ad(n,hre),P=Bp(p,f,o),w=Up(m),S=Kp(h,f,o);return r?y.createElement(y.Fragment,null,r.map((_,k)=>y.createElement(ZN,Pi({index:k,key:"rectangle-".concat(_?.x,"-").concat(_?.y,"-").concat(_?.value,"-").concat(k),className:"recharts-bar-rectangle"},sa(b,_,k),{onMouseEnter:P(_,k),onMouseLeave:w(_,k),onClick:S(_,k)}),d?y.createElement(Sre,{shape:u,activeBar:d,baseProps:s,entry:_,index:k,dataKey:f}):y.createElement(_re,{shape:u,baseProps:s,entry:_,index:k,dataKey:f})))):null}function kre(e){var{props:t,previousRectanglesRef:r}=e,{data:n,layout:i,isAnimationActive:o,animationBegin:s,animationDuration:u,animationEasing:f,onAnimationEnd:d,onAnimationStart:p}=t,h=r.current,m=fa(t,"recharts-bar-"),[b,P]=y.useState(!1),w=!b,S=y.useCallback(()=>{typeof d=="function"&&d(),P(!1)},[d]),_=y.useCallback(()=>{typeof p=="function"&&p(),P(!0)},[p]);return y.createElement(Pre,{showLabels:w,rects:n},y.createElement(ca,{animationId:m,begin:s,duration:u,isActive:o,easing:f,onAnimationEnd:S,onAnimationStart:_,key:m},k=>{var E=k===1?n:n?.map((A,C)=>{var I=h&&h[C];if(I)return br(br({},A),{},{x:De(I.x,A.x,k),y:De(I.y,A.y,k),width:De(I.width,A.width,k),height:De(I.height,A.height,k)});if(i==="horizontal"){var j=De(0,A.height,k),$=De(A.stackedBarStart,A.y,k);return br(br({},A),{},{y:$,height:j})}var Z=De(0,A.width,k),Q=De(A.stackedBarStart,A.x,k);return br(br({},A),{},{width:Z,x:Q})});return k>0&&(r.current=E??null),E==null?null:y.createElement(Te,null,y.createElement(Ore,{props:t,data:E}))}),y.createElement(Al,{label:t.label}),t.children)}function Ere(e){var t=y.useRef(null);return y.createElement(kre,{previousRectanglesRef:t,props:e})}var HN=0,Are=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:$e(e,t)}};class Ire extends y.PureComponent{render(){var{hide:t,data:r,dataKey:n,className:i,xAxisId:o,yAxisId:s,needClip:u,background:f,id:d}=this.props;if(t||r==null)return null;var p=Ee("recharts-bar",i),h=d;return y.createElement(Te,{className:p,id:d},u&&y.createElement("defs",null,y.createElement(Vp,{clipPathId:h,xAxisId:o,yAxisId:s})),y.createElement(Te,{className:"recharts-bar-rectangles",clipPath:u?"url(#clipPath-".concat(h,")"):void 0},y.createElement(xre,{data:r,dataKey:n,background:f,allOtherBarProps:this.props}),y.createElement(Ere,this.props)))}}var Cre={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:HN,xAxisId:0,yAxisId:0,zIndex:it.bar};function Tre(e){var{xAxisId:t,yAxisId:r,hide:n,legendType:i,minPointSize:o,activeBar:s,animationBegin:u,animationDuration:f,animationEasing:d,isAnimationActive:p}=e,{needClip:h}=zu(t,r),m=ua(),b=It(),P=Fp(e.children,kl),w=le(k=>ire(k,e.id,b,P));if(m!=="vertical"&&m!=="horizontal")return null;var S,_=w?.[0];return _==null||_.height==null||_.width==null?S=0:S=m==="vertical"?_.height/2:_.width/2,y.createElement(xw,{xAxisId:t,yAxisId:r,data:w,dataPointFormatter:Are,errorBarOffset:S},y.createElement(Ire,Pi({},e,{layout:m,needClip:h,data:w,xAxisId:t,yAxisId:r,hide:n,legendType:i,minPointSize:o,activeBar:s,animationBegin:u,animationDuration:f,animationEasing:d,isAnimationActive:p})))}function jre(e){var{layout:t,barSettings:{dataKey:r,minPointSize:n},pos:i,bandSize:o,xAxis:s,yAxis:u,xAxisTicks:f,yAxisTicks:d,stackedData:p,displayedData:h,offset:m,cells:b,parentViewBox:P,dataStartIndex:w}=e,S=t==="horizontal"?u:s,_=p?S.scale.domain():null,k=HK({numericAxis:S}),E=S.scale.map(k);return h.map((A,C)=>{var I,j,$,Z,Q,Y;if(p){var U=p[C+w];if(U==null)return null;I=UK(U,_)}else I=$e(A,r),Array.isArray(I)||(I=[k,I]);var oe=Bte(n,HN)(I[1],C);if(t==="horizontal"){var se,fe=u.scale.map(I[0]),be=u.scale.map(I[1]);if(fe==null||be==null)return null;j=x_({axis:s,ticks:f,bandSize:o,offset:i.offset,entry:A,index:C}),$=(se=be??fe)!==null&&se!==void 0?se:void 0,Z=i.size;var he=fe-be;if(Q=Ur(he)?0:he,Y={x:j,y:m.top,width:Z,height:m.height},Math.abs(oe)>0&&Math.abs(Q)<Math.abs(oe)){var X=Xt(Q||oe)*(Math.abs(oe)-Math.abs(Q));$-=X,Q+=X}}else{var ne=s.scale.map(I[0]),re=s.scale.map(I[1]);if(ne==null||re==null)return null;if(j=ne,$=x_({axis:u,ticks:d,bandSize:o,offset:i.offset,entry:A,index:C}),Z=re-ne,Q=i.size,Y={x:m.left,y:$,width:m.width,height:Q},Math.abs(oe)>0&&Math.abs(Z)<Math.abs(oe)){var R=Xt(Z||oe)*(Math.abs(oe)-Math.abs(Z));Z+=R}}if(j==null||$==null||Z==null||Q==null)return null;var G=br(br({},A),{},{stackedBarStart:E,x:j,y:$,width:Z,height:Q,value:p?I:I[1],payload:A,background:Y,tooltipPosition:{x:j+Z/2,y:$+Q/2},parentViewBox:P},b&&b[C]&&b[C].props);return G}).filter(Boolean)}function Mre(e){var t=He(e,Cre),r=sre(t.stackId),n=It();return y.createElement(so,{id:t.id,type:"bar"},i=>y.createElement(y.Fragment,null,y.createElement(qp,{legendPayload:bre(t)}),y.createElement(wre,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:i}),y.createElement(Wp,{type:"bar",id:i,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n}),y.createElement(Nt,{zIndex:t.zIndex},y.createElement(Tre,Pi({},t,{id:i})))))}var Gp=y.memo(Mre,Tl);Gp.displayName="Bar";var Nre=["option","isActive"];function zs(){return zs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},zs.apply(null,arguments)}function Rre(e,t){if(e==null)return{};var r,n,i=Dre(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Dre(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function zre(e){var{option:t,isActive:r}=e,n=Rre(e,Nre);return typeof t=="string"?y.createElement(ru,zs({option:y.createElement(Gd,zs({type:t},n)),isActive:r,shapeType:"symbols"},n)):y.createElement(ru,zs({option:t,isActive:r,shapeType:"symbols"},n))}var $re=(e,t,r,n,i,o,s)=>cn(e,"xAxis",t,s),Lre=(e,t,r,n,i,o,s)=>un(e,"xAxis",t,s),Fre=(e,t,r,n,i,o,s)=>cn(e,"yAxis",r,s),Bre=(e,t,r,n,i,o,s)=>un(e,"yAxis",r,s),Ure=(e,t,r,n)=>d9(e,"zAxis",n,!1),Kre=(e,t,r,n,i)=>i,qre=(e,t,r,n,i,o)=>o,Wre=(e,t,r,n,i,o,s)=>Pp(e,void 0,void 0,s),Zre=D([xl,Kre],(e,t)=>e.filter(r=>r.type==="scatter").find(r=>r.id===t)),Hre=D([Wre,$re,Lre,Fre,Bre,Ure,Zre,qre],(e,t,r,n,i,o,s,u)=>{var{chartData:f,dataStartIndex:d,dataEndIndex:p}=e;if(s!=null){var h;if(s?.data!=null&&s.data.length>0?h=s.data:h=f?.slice(d,p+1),!(h==null||t==null||n==null||r==null||i==null||r?.length===0||i?.length===0))return lne({displayedData:h,xAxis:t,yAxis:n,zAxis:o,scatterSettings:s,xAxisTicks:r,yAxisTicks:i,cells:u})}}),Vre=["id"],Gre=["onMouseEnter","onClick","onMouseLeave"],Yre=["animationBegin","animationDuration","animationEasing","hide","isAnimationActive","legendType","lineJointType","lineType","shape","xAxisId","yAxisId","zAxisId"];function Zg(e,t){if(e==null)return{};var r,n,i=Xre(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Xre(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Qa(){return Qa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Qa.apply(null,arguments)}function oA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function jr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?oA(Object(r),!0).forEach(function(n){Qre(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Qre(e,t,r){return(t=Jre(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Jre(e){var t=ene(e,"string");return typeof t=="symbol"?t:t+""}function ene(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var tne=e=>{var{dataKey:t,name:r,fill:n,legendType:i,hide:o}=e;return[{inactive:o,dataKey:t,type:i,color:n,value:mn(r,t),payload:e}]},rne=y.memo(e=>{var{dataKey:t,points:r,stroke:n,strokeWidth:i,fill:o,name:s,hide:u,tooltipType:f,id:d}=e,p={dataDefinedOnItem:r?.map(h=>h.tooltipPayload),getPosition:h=>{var m;return r==null||(m=r[Number(h)])===null||m===void 0?void 0:m.tooltipPosition},settings:{stroke:n,strokeWidth:i,fill:o,nameKey:void 0,dataKey:t,name:mn(s,t),hide:u,type:f,color:o,unit:"",graphicalItemId:d}};return y.createElement(lo,{tooltipEntrySettings:p})});function nne(e){var{points:t,props:r}=e,{line:n,lineType:i,lineJointType:o}=r;if(!n)return null;var s=Xe(r),u=Hn(n),f,d;if(i==="joint")f=t.map(S=>{var _,k;return{x:(_=S.cx)!==null&&_!==void 0?_:null,y:(k=S.cy)!==null&&k!==void 0?k:null}});else if(i==="fitting"){var{xmin:p,xmax:h,a:m,b}=S6(t),P=S=>m*S+b;f=[{x:p,y:P(p)},{x:h,y:P(h)}]}var w=jr(jr(jr({},s),{},{fill:"none",stroke:s&&s.fill},u),{},{points:f});return y.isValidElement(n)?d=y.cloneElement(n,w):typeof n=="function"?d=n(w):d=y.createElement(Fa,Qa({},w,{type:o})),y.createElement(Te,{className:"recharts-scatter-line",key:"recharts-scatter-line"},d)}function ine(e){var{showLabels:t,points:r,children:n}=e,i=bu(),o=y.useMemo(()=>r?.map(s=>{var u,f,d={x:(u=s.x)!==null&&u!==void 0?u:0,y:(f=s.y)!==null&&f!==void 0?f:0,width:s.width,height:s.height,lowerWidth:s.width,upperWidth:s.width};return jr(jr({},d),{},{value:void 0,payload:s.payload,viewBox:d,parentViewBox:i,fill:void 0})}),[i,r]);return y.createElement(Du,{value:t?o:void 0},n)}function ane(e){var{points:t,allOtherScatterProps:r}=e,{shape:n,activeShape:i,dataKey:o}=r,{id:s}=r,u=Zg(r,Vre),f=le(xi),{onMouseEnter:d,onClick:p,onMouseLeave:h}=r,m=Zg(r,Gre),b=Bp(d,o,s),P=Up(h),w=Kp(p,o,s);if(!R6(t))return null;var S=Xe(u);return y.createElement(y.Fragment,null,y.createElement(nne,{points:t,props:u}),t.map((_,k)=>{var E=i!=null&&i!==!1,A=E&&f===String(k),C=E&&A?i:n,I=jr(jr(jr({},S),_),{},{index:k,[W0]:String(s)});return y.createElement(Nt,{key:"symbol-".concat(_?.cx,"-").concat(_?.cy,"-").concat(_?.size,"-").concat(k),zIndex:A?it.activeDot:void 0},y.createElement(Te,Qa({className:"recharts-scatter-symbol"},sa(m,_,k),{onMouseEnter:b(_,k),onMouseLeave:P(_,k),onClick:w(_,k)}),y.createElement(zre,Qa({option:C,isActive:A},I))))}))}function one(e){var{previousPointsRef:t,props:r}=e,{points:n,isAnimationActive:i,animationBegin:o,animationDuration:s,animationEasing:u}=r,f=t.current,d=fa(r,"recharts-scatter-"),[p,h]=y.useState(!1),m=y.useCallback(()=>{h(!1)},[]),b=y.useCallback(()=>{h(!0)},[]),P=!p;return y.createElement(ine,{showLabels:P,points:n},r.children,y.createElement(ca,{animationId:d,begin:o,duration:s,isActive:i,easing:u,onAnimationEnd:m,onAnimationStart:b,key:d},w=>{var S=w===1?n:n?.map((_,k)=>{var E=f&&f[k];return E?jr(jr({},_),{},{cx:_.cx==null?void 0:De(E.cx,_.cx,w),cy:_.cy==null?void 0:De(E.cy,_.cy,w),size:De(E.size,_.size,w)}):jr(jr({},_),{},{size:De(0,_.size,w)})});return w>0&&(t.current=S),y.createElement(Te,null,y.createElement(ane,{points:S,allOtherScatterProps:r,showLabels:P}))}),y.createElement(Al,{label:r.label}))}function lne(e){var{displayedData:t,xAxis:r,yAxis:n,zAxis:i,scatterSettings:o,xAxisTicks:s,yAxisTicks:u,cells:f}=e,d=We(r.dataKey)?o.dataKey:r.dataKey,p=We(n.dataKey)?o.dataKey:n.dataKey,h=i&&i.dataKey,m=i?i.range:Bj.range,b=m&&m[0],P=r.scale.bandwidth?r.scale.bandwidth():0,w=n.scale.bandwidth?n.scale.bandwidth():0;return t.map((S,_)=>{var k=$e(S,d),E=$e(S,p),A=!We(h)&&$e(S,h)||"-",C=[{name:We(r.dataKey)?o.name:r.name||String(r.dataKey),unit:r.unit||"",value:k,payload:S,dataKey:d,type:o.tooltipType},{name:We(n.dataKey)?o.name:n.name||String(n.dataKey),unit:n.unit||"",value:E,payload:S,dataKey:p,type:o.tooltipType}];A!=="-"&&i!=null&&C.push({name:i.name||i.dataKey,unit:i.unit||"",value:A,payload:S,dataKey:h,type:o.tooltipType});var I=nl({axis:r,ticks:s,bandSize:P,entry:S,index:_,dataKey:d}),j=nl({axis:n,ticks:u,bandSize:w,entry:S,index:_,dataKey:p}),$=A!=="-"&&i!=null?i.scale.map(A):b,Z=$==null?0:Math.sqrt(Math.max($,0)/Math.PI);return jr(jr({},S),{},{cx:I,cy:j,x:I==null?void 0:I-Z,y:j==null?void 0:j-Z,width:2*Z,height:2*Z,size:$,node:{x:k,y:E,z:A},tooltipPayload:C,tooltipPosition:{x:I,y:j},payload:S},f&&f[_]&&f[_].props)})}var sne=(e,t,r)=>({x:e.cx,y:e.cy,value:Number(r==="x"?e.node.x:e.node.y),errorVal:$e(e,t)});function une(e){var{hide:t,points:r,className:n,needClip:i,xAxisId:o,yAxisId:s,id:u}=e,f=y.useRef(null);if(t)return null;var d=Ee("recharts-scatter",n),p=u;return y.createElement(Nt,{zIndex:e.zIndex},y.createElement(Te,{className:d,clipPath:i?"url(#clipPath-".concat(p,")"):void 0,id:u},i&&y.createElement("defs",null,y.createElement(Vp,{clipPathId:p,xAxisId:o,yAxisId:s})),y.createElement(xw,{xAxisId:o,yAxisId:s,data:r,dataPointFormatter:sne,errorBarOffset:0},y.createElement(Te,{key:"recharts-scatter-symbols"},y.createElement(one,{props:e,previousPointsRef:f})))))}var VN={xAxisId:0,yAxisId:0,zAxisId:0,label:!1,line:!1,legendType:"circle",lineType:"joint",lineJointType:"linear",shape:"circle",hide:!1,isAnimationActive:"auto",animationBegin:0,animationDuration:400,animationEasing:"linear",zIndex:it.scatter};function cne(e){var t=He(e,VN),{animationBegin:r,animationDuration:n,animationEasing:i,hide:o,isAnimationActive:s,legendType:u,lineJointType:f,lineType:d,shape:p,xAxisId:h,yAxisId:m,zAxisId:b}=t,P=Zg(t,Yre),{needClip:w}=zu(h,m),S=y.useMemo(()=>Fp(e.children,kl),[e.children]),_=It(),k=le(E=>Hre(E,h,m,b,e.id,S,_));return w==null||k==null?null:y.createElement(y.Fragment,null,y.createElement(rne,{dataKey:e.dataKey,points:k,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:e.id}),y.createElement(une,Qa({},P,{xAxisId:h,yAxisId:m,zAxisId:b,lineType:d,lineJointType:f,legendType:u,shape:p,hide:o,isAnimationActive:s,animationBegin:r,animationDuration:n,animationEasing:i,points:k,needClip:w})))}function fne(e){var t=He(e,VN),r=It();return y.createElement(so,{id:t.id,type:"scatter"},n=>y.createElement(y.Fragment,null,y.createElement(qp,{legendPayload:tne(t)}),y.createElement(Wp,{type:"scatter",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:t.zAxisId,dataKey:t.dataKey,hide:t.hide,name:t.name,tooltipType:t.tooltipType,isPanorama:r}),y.createElement(cne,Qa({},t,{id:n}))))}var GN=y.memo(fne,Tl);GN.displayName="Scatter";var dne=["domain","range"],pne=["domain","range"];function lA(e,t){if(e==null)return{};var r,n,i=hne(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function hne(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function sA(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function YN(e,t){if(e===t)return!0;var{domain:r,range:n}=e,i=lA(e,dne),{domain:o,range:s}=t,u=lA(t,pne);return!sA(r,o)||!sA(n,s)?!1:Tl(i,u)}var vne=["type"],mne=["dangerouslySetInnerHTML","ticks","scale"],yne=["id","scale"];function Hg(){return Hg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Hg.apply(null,arguments)}function uA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function cA(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?uA(Object(r),!0).forEach(function(n){gne(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):uA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function gne(e,t,r){return(t=bne(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function bne(e){var t=wne(e,"string");return typeof t=="symbol"?t:t+""}function wne(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Vg(e,t){if(e==null)return{};var r,n,i=xne(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function xne(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Pne(e){var t=Ve(),r=y.useRef(null),n=G0(),{type:i}=e,o=Vg(e,vne),s=yl(n,"xAxis",i),u=y.useMemo(()=>{if(s!=null)return cA(cA({},o),{},{type:s})},[o,s]);return y.useLayoutEffect(()=>{u!=null&&(r.current===null?t(xQ(u)):r.current!==u&&t(PQ({prev:r.current,next:u})),r.current=u)},[u,t]),y.useLayoutEffect(()=>()=>{r.current&&(t(SQ(r.current)),r.current=null)},[t]),null}var Sne=e=>{var{xAxisId:t,className:r}=e,n=le(Z0),i=It(),o="xAxis",s=le(_=>uM(_,o,t,i)),u=le(_=>aM(_,t)),f=le(_=>s9(_,t)),d=le(_=>Lj(_,t));if(u==null||f==null||d==null)return null;var{dangerouslySetInnerHTML:p,ticks:h,scale:m}=e,b=Vg(e,mne),{id:P,scale:w}=d,S=Vg(d,yne);return y.createElement(ww,Hg({},b,S,{x:f.x,y:f.y,width:u.width,height:u.height,className:Ee("recharts-".concat(o," ").concat(o),r),viewBox:n,ticks:s,axisType:o}))},_ne={allowDataOverflow:Vt.allowDataOverflow,allowDecimals:Vt.allowDecimals,allowDuplicatedCategory:Vt.allowDuplicatedCategory,angle:Vt.angle,axisLine:pi.axisLine,height:Vt.height,hide:!1,includeHidden:Vt.includeHidden,interval:Vt.interval,label:!1,minTickGap:Vt.minTickGap,mirror:Vt.mirror,orientation:Vt.orientation,padding:Vt.padding,reversed:Vt.reversed,scale:Vt.scale,tick:Vt.tick,tickCount:Vt.tickCount,tickLine:pi.tickLine,tickSize:pi.tickSize,type:Vt.type,xAxisId:0},One=e=>{var t=He(e,_ne);return y.createElement(y.Fragment,null,y.createElement(Pne,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit}),y.createElement(Sne,t))},Id=y.memo(One,YN);Id.displayName="XAxis";var kne=["type"],Ene=["dangerouslySetInnerHTML","ticks","scale"],Ane=["id","scale"];function Gg(){return Gg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Gg.apply(null,arguments)}function fA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dA(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?fA(Object(r),!0).forEach(function(n){Ine(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ine(e,t,r){return(t=Cne(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Cne(e){var t=Tne(e,"string");return typeof t=="symbol"?t:t+""}function Tne(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Yg(e,t){if(e==null)return{};var r,n,i=jne(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function jne(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Mne(e){var t=Ve(),r=y.useRef(null),n=G0(),{type:i}=e,o=Yg(e,kne),s=yl(n,"yAxis",i),u=y.useMemo(()=>{if(s!=null)return dA(dA({},o),{},{type:s})},[s,o]);return y.useLayoutEffect(()=>{u!=null&&(r.current===null?t(_Q(u)):r.current!==u&&t(OQ({prev:r.current,next:u})),r.current=u)},[u,t]),y.useLayoutEffect(()=>()=>{r.current&&(t(kQ(r.current)),r.current=null)},[t]),null}function Nne(e){var{yAxisId:t,className:r,width:n,label:i}=e,o=y.useRef(null),s=y.useRef(null),u=le(Z0),f=It(),d=Ve(),p="yAxis",h=le(I=>oM(I,t)),m=le(I=>c9(I,t)),b=le(I=>uM(I,p,t,f)),P=le(I=>Fj(I,t));if(y.useLayoutEffect(()=>{if(!(n!=="auto"||!h||lw(i)||y.isValidElement(i)||P==null)){var I=o.current;if(I){var j=I.getCalculatedWidth();Math.round(h.width)!==Math.round(j)&&d(EQ({id:t,width:j}))}}},[b,h,d,i,t,n,P]),h==null||m==null||P==null)return null;var{dangerouslySetInnerHTML:w,ticks:S,scale:_}=e,k=Yg(e,Ene),{id:E,scale:A}=P,C=Yg(P,Ane);return y.createElement(ww,Gg({},k,C,{ref:o,labelRef:s,x:m.x,y:m.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:h.width,height:h.height,className:Ee("recharts-".concat(p," ").concat(p),r),viewBox:u,ticks:b,axisType:p}))}var Rne={allowDataOverflow:Gt.allowDataOverflow,allowDecimals:Gt.allowDecimals,allowDuplicatedCategory:Gt.allowDuplicatedCategory,angle:Gt.angle,axisLine:pi.axisLine,hide:!1,includeHidden:Gt.includeHidden,interval:Gt.interval,label:!1,minTickGap:Gt.minTickGap,mirror:Gt.mirror,orientation:Gt.orientation,padding:Gt.padding,reversed:Gt.reversed,scale:Gt.scale,tick:Gt.tick,tickCount:Gt.tickCount,tickLine:pi.tickLine,tickSize:pi.tickSize,type:Gt.type,width:Gt.width,yAxisId:0},Dne=e=>{var t=He(e,Rne);return y.createElement(y.Fragment,null,y.createElement(Mne,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter}),y.createElement(Nne,t))},Yp=y.memo(Dne,YN);Yp.displayName="YAxis";var zne={begin:0,duration:1e3,easing:"ease",isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}};function $ne(e){var t=He(e,zne),{animationId:r,from:n,to:i,attributeName:o,isActive:s,canBegin:u,duration:f,easing:d,begin:p,onAnimationEnd:h,onAnimationStart:m,children:b}=t,P=s==="auto"?!pl.isSsr:s,w=TT(r+o,t.animationManager),[S,_]=y.useState(()=>P?n:i),k=y.useRef(!1),E=y.useCallback(()=>{_(n),m()},[n,m]);if(y.useEffect(()=>{if(!P||!u)return Zr;k.current=!0;var C=w.subscribe(_);return w.start([E,p,i,f,h]),()=>{w.stop(),C&&C(),h()}},[P,u,f,d,p,E,h,w,i,n]),!P)return b({[o]:i});if(!u)return b({[o]:n});if(k.current){var A=J0([o],f,d);return b({transition:A,[o]:S})}return b({[o]:n})}var Lne=(e,t)=>t,Ow=D([Lne,je,bl,Jt,EM,Ci,SV,Ut],CV),kw=e=>{var t=e.currentTarget.getBoundingClientRect(),r=t.width/e.currentTarget.offsetWidth,n=t.height/e.currentTarget.offsetHeight;return{chartX:Math.round((e.clientX-t.left)/r),chartY:Math.round((e.clientY-t.top)/n)}},XN=on("mouseClick"),QN=yu();QN.startListening({actionCreator:XN,effect:(e,t)=>{var r=e.payload,n=Ow(t.getState(),kw(r));n?.activeIndex!=null&&t.dispatch(P9({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var Xg=on("mouseMove"),JN=yu(),yf=null;JN.startListening({actionCreator:Xg,effect:(e,t)=>{var r=e.payload;yf!==null&&cancelAnimationFrame(yf);var n=kw(r);yf=requestAnimationFrame(()=>{var i=t.getState(),o=Gb(i,i.tooltip.settings.shared);if(o==="axis"){var s=Ow(i,n);s?.activeIndex!=null?t.dispatch(gM({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate})):t.dispatch(mM())}yf=null})}});function Fne(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<<CHILDREN>>":t}var pA={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},eR=Nr({name:"rootProps",initialState:pA,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:pA.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),Bne=eR.reducer,{updateOptions:Une}=eR.actions,Kne=null,qne={updatePolarOptions:(e,t)=>t.payload},tR=Nr({name:"polarOptions",initialState:Kne,reducers:qne}),{updatePolarOptions:Wne}=tR.actions,Zne=tR.reducer,rR=on("keyDown"),nR=on("focus"),Ew=yu();Ew.startListening({actionCreator:rR,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var{keyboardInteraction:i}=r.tooltip,o=e.payload;if(!(o!=="ArrowRight"&&o!=="ArrowLeft"&&o!=="Enter")){var s=Yb(i,Ol(r),Tu(r),Nu(r)),u=s==null?-1:Number(s);if(!(!Number.isFinite(u)||u<0)){var f=Ci(r);if(o==="Enter"){var d=gd(r,"axis","hover",String(i.index));t.dispatch(Lg({active:!i.active,activeIndex:i.index,activeCoordinate:d}));return}var p=p9(r),h=p==="left-to-right"?1:-1,m=o==="ArrowRight"?1:-1,b=u+m*h;if(!(f==null||b>=f.length||b<0)){var P=gd(r,"axis","hover",String(b));t.dispatch(Lg({active:!0,activeIndex:b.toString(),activeCoordinate:P}))}}}}}});Ew.startListening({actionCreator:nR,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var{keyboardInteraction:i}=r.tooltip;if(!i.active&&i.index==null){var o="0",s=gd(r,"axis","hover",String(o));t.dispatch(Lg({active:!0,activeIndex:o,activeCoordinate:s}))}}}});var tn=on("externalEvent"),iR=yu(),Ry=new Map;iR.startListening({actionCreator:tn,effect:(e,t)=>{var{handler:r,reactEvent:n}=e.payload;if(r!=null){n.persist();var i=n.type,o=Ry.get(i);o!==void 0&&cancelAnimationFrame(o);var s=requestAnimationFrame(()=>{try{var u=t.getState(),f={activeCoordinate:sV(u),activeDataKey:tw(u),activeIndex:xi(u),activeLabel:CM(u),activeTooltipIndex:xi(u),isTooltipActive:uV(u)};r(f,n)}finally{Ry.delete(i)}});Ry.set(i,s)}}});var Hne=D([Sl],e=>e.tooltipItemPayloads),Vne=D([Hne,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var{getPosition:i}=n;if(i!=null)return i(t)}}}),aR=on("touchMove"),oR=yu();oR.startListening({actionCreator:aR,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){var n=t.getState(),i=Gb(n,n.tooltip.settings.shared);if(i==="axis"){var o=r.touches[0];if(o==null)return;var s=Ow(n,kw({clientX:o.clientX,clientY:o.clientY,currentTarget:r.currentTarget}));s?.activeIndex!=null&&t.dispatch(gM({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate}))}else if(i==="item"){var u,f=r.touches[0];if(document.elementFromPoint==null||f==null)return;var d=document.elementFromPoint(f.clientX,f.clientY);if(!d||!d.getAttribute)return;var p=d.getAttribute(fT),h=(u=d.getAttribute(W0))!==null&&u!==void 0?u:void 0,m=_l(n).find(w=>w.id===h);if(p==null||m==null||h==null)return;var{dataKey:b}=m,P=Vne(n,p,h);t.dispatch(Rp({activeDataKey:b,activeIndex:p,activeCoordinate:P,activeGraphicalItemId:h}))}}}});var Gne=TC({brush:xJ,cartesianAxis:AQ,chartData:l7,errorBars:vee,graphicalItems:zX,layout:zK,legend:Wq,options:r7,polarAxis:xY,polarOptions:Zne,referenceElements:OJ,rootProps:Bne,tooltip:S9,zIndex:qV}),Yne=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return uK({reducer:Gne,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([QN.middleware,JN.middleware,Ew.middleware,iR.middleware,oR.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(ZC({type:"raf"}))},devTools:{serialize:{replacer:Fne},name:"recharts-".concat(r)}})};function Aw(e){var{preloadedState:t,children:r,reduxStoreName:n}=e,i=It(),o=y.useRef(null);if(i)return r;o.current==null&&(o.current=Yne(t,n));var s=$0;return y.createElement(Kee,{context:s,store:o.current},r)}function Xne(e){var{layout:t,margin:r}=e,n=Ve(),i=It();return y.useEffect(()=>{i||(n(NK(t)),n(aT(r)))},[n,i,t,r]),null}var lR=y.memo(Xne,Tl);function sR(e){var t=Ve();return y.useEffect(()=>{t(Une(e))},[t,e]),null}function hA(e){var{zIndex:t,isPanorama:r}=e,n=y.useRef(null),i=Ve();return y.useLayoutEffect(()=>(n.current&&i(UV({zIndex:t,element:n.current,isPanorama:r})),()=>{i(KV({zIndex:t,isPanorama:r}))}),[i,t,r]),y.createElement("g",{tabIndex:-1,ref:n})}function vA(e){var{children:t,isPanorama:r}=e,n=le(jV);if(!n||n.length===0)return t;var i=n.filter(s=>s<0),o=n.filter(s=>s>0);return y.createElement(y.Fragment,null,i.map(s=>y.createElement(hA,{key:s,zIndex:s,isPanorama:r})),t,o.map(s=>y.createElement(hA,{key:s,zIndex:s,isPanorama:r})))}var Qne=["children"];function Jne(e,t){if(e==null)return{};var r,n,i=eie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function eie(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Cd(){return Cd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Cd.apply(null,arguments)}var tie={width:"100%",height:"100%",display:"block"},rie=y.forwardRef((e,t)=>{var r=fp(),n=dp(),i=ET();if(!ln(r)||!ln(n))return null;var{children:o,otherAttributes:s,title:u,desc:f}=e,d,p;return s!=null&&(typeof s.tabIndex=="number"?d=s.tabIndex:d=i?0:void 0,typeof s.role=="string"?p=s.role:p=i?"application":void 0),y.createElement(Bd,Cd({},s,{title:u,desc:f,role:p,tabIndex:d,width:r,height:n,style:tie,ref:t}),o)}),nie=e=>{var{children:t}=e,r=le(cp);if(!r)return null;var{width:n,height:i,y:o,x:s}=r;return y.createElement(Bd,{width:n,height:i,x:s,y:o},t)},mA=y.forwardRef((e,t)=>{var{children:r}=e,n=Jne(e,Qne),i=It();return i?y.createElement(nie,null,y.createElement(vA,{isPanorama:!0},r)):y.createElement(rie,Cd({ref:t},n),y.createElement(vA,{isPanorama:!1},r))});function iie(){var e=Ve(),[t,r]=y.useState(null),n=le(JK);return y.useEffect(()=>{if(t!=null){var i=t.getBoundingClientRect(),o=i.width/t.offsetWidth;Ce(o)&&o!==n&&e(DK(o))}},[t,e,n]),r}function yA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function aie(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yA(Object(r),!0).forEach(function(n){oie(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function oie(e,t,r){return(t=lie(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function lie(e){var t=sie(e,"string");return typeof t=="symbol"?t:t+""}function sie(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ra(){return ra=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ra.apply(null,arguments)}var uie=()=>(m7(),null);function Td(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var cie=y.forwardRef((e,t)=>{var r,n,i=y.useRef(null),[o,s]=y.useState({containerWidth:Td((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:Td((n=e.style)===null||n===void 0?void 0:n.height)}),u=y.useCallback((d,p)=>{s(h=>{var m=Math.round(d),b=Math.round(p);return h.containerWidth===m&&h.containerHeight===b?h:{containerWidth:m,containerHeight:b}})},[]),f=y.useCallback(d=>{if(typeof t=="function"&&t(d),d!=null&&typeof ResizeObserver<"u"){var{width:p,height:h}=d.getBoundingClientRect();u(p,h);var m=P=>{var w=P[0];if(w!=null){var{width:S,height:_}=w.contentRect;u(S,_)}},b=new ResizeObserver(m);b.observe(d),i.current=b}},[t,u]);return y.useEffect(()=>()=>{var d=i.current;d?.disconnect()},[u]),y.createElement(y.Fragment,null,y.createElement(wu,{width:o.containerWidth,height:o.containerHeight}),y.createElement("div",ra({ref:f},e)))}),fie=y.forwardRef((e,t)=>{var{width:r,height:n}=e,[i,o]=y.useState({containerWidth:Td(r),containerHeight:Td(n)}),s=y.useCallback((f,d)=>{o(p=>{var h=Math.round(f),m=Math.round(d);return p.containerWidth===h&&p.containerHeight===m?p:{containerWidth:h,containerHeight:m}})},[]),u=y.useCallback(f=>{if(typeof t=="function"&&t(f),f!=null){var{width:d,height:p}=f.getBoundingClientRect();s(d,p)}},[t,s]);return y.createElement(y.Fragment,null,y.createElement(wu,{width:i.containerWidth,height:i.containerHeight}),y.createElement("div",ra({ref:u},e)))}),die=y.forwardRef((e,t)=>{var{width:r,height:n}=e;return y.createElement(y.Fragment,null,y.createElement(wu,{width:r,height:n}),y.createElement("div",ra({ref:t},e)))}),pie=y.forwardRef((e,t)=>{var{width:r,height:n}=e;return typeof r=="string"||typeof n=="string"?y.createElement(fie,ra({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?y.createElement(die,ra({},e,{width:r,height:n,ref:t})):y.createElement(y.Fragment,null,y.createElement(wu,{width:r,height:n}),y.createElement("div",ra({ref:t},e)))});function hie(e){return e?cie:pie}var uR=y.forwardRef((e,t)=>{var{children:r,className:n,height:i,onClick:o,onContextMenu:s,onDoubleClick:u,onMouseDown:f,onMouseEnter:d,onMouseLeave:p,onMouseMove:h,onMouseUp:m,onTouchEnd:b,onTouchMove:P,onTouchStart:w,style:S,width:_,responsive:k,dispatchTouchEvents:E=!0}=e,A=y.useRef(null),C=Ve(),[I,j]=y.useState(null),[$,Z]=y.useState(null),Q=iie(),Y=H0(),U=Y?.width>0?Y.width:_,oe=Y?.height>0?Y.height:i,se=y.useCallback(V=>{Q(V),typeof t=="function"&&t(V),j(V),Z(V),V!=null&&(A.current=V)},[Q,t,j,Z]),fe=y.useCallback(V=>{C(XN(V)),C(tn({handler:o,reactEvent:V}))},[C,o]),be=y.useCallback(V=>{C(Xg(V)),C(tn({handler:d,reactEvent:V}))},[C,d]),he=y.useCallback(V=>{C(mM()),C(tn({handler:p,reactEvent:V}))},[C,p]),X=y.useCallback(V=>{C(Xg(V)),C(tn({handler:h,reactEvent:V}))},[C,h]),ne=y.useCallback(()=>{C(nR())},[C]),re=y.useCallback(V=>{C(rR(V.key))},[C]),R=y.useCallback(V=>{C(tn({handler:s,reactEvent:V}))},[C,s]),G=y.useCallback(V=>{C(tn({handler:u,reactEvent:V}))},[C,u]),Se=y.useCallback(V=>{C(tn({handler:f,reactEvent:V}))},[C,f]),we=y.useCallback(V=>{C(tn({handler:m,reactEvent:V}))},[C,m]),Ie=y.useCallback(V=>{C(tn({handler:w,reactEvent:V}))},[C,w]),Me=y.useCallback(V=>{E&&C(aR(V)),C(tn({handler:P,reactEvent:V}))},[C,E,P]),Ae=y.useCallback(V=>{C(tn({handler:b,reactEvent:V}))},[C,b]),Fe=hie(k);return y.createElement(ow.Provider,{value:I},y.createElement(ZI.Provider,{value:$},y.createElement(Fe,{width:U??S?.width,height:oe??S?.height,className:Ee("recharts-wrapper",n),style:aie({position:"relative",cursor:"default",width:U,height:oe},S),onClick:fe,onContextMenu:R,onDoubleClick:G,onFocus:ne,onKeyDown:re,onMouseDown:Se,onMouseEnter:be,onMouseLeave:he,onMouseMove:X,onMouseUp:we,onTouchEnd:Ae,onTouchMove:Me,onTouchStart:Ie,ref:se},y.createElement(uie,null),r)))}),vie=["width","height","responsive","children","className","style","compact","title","desc"];function mie(e,t){if(e==null)return{};var r,n,i=yie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function yie(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var cR=y.forwardRef((e,t)=>{var{width:r,height:n,responsive:i,children:o,className:s,style:u,compact:f,title:d,desc:p}=e,h=mie(e,vie),m=Xe(h);return f?y.createElement(y.Fragment,null,y.createElement(wu,{width:r,height:n}),y.createElement(mA,{otherAttributes:m,title:d,desc:p},o)):y.createElement(uR,{className:s,style:u,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},y.createElement(mA,{otherAttributes:m,title:d,desc:p,ref:t},y.createElement(EJ,null,o)))});function Qg(){return Qg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Qg.apply(null,arguments)}var gie={top:5,right:5,bottom:5,left:5},bie={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:gie,responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},Lu=y.forwardRef(function(t,r){var n,i=He(t.categoricalChartProps,bie),{chartName:o,defaultTooltipEventType:s,validateTooltipEventTypes:u,tooltipPayloadSearcher:f,categoricalChartProps:d}=t,p={chartName:o,defaultTooltipEventType:s,validateTooltipEventTypes:u,tooltipPayloadSearcher:f,eventEmitter:void 0};return y.createElement(Aw,{preloadedState:{options:p},reduxStoreName:(n=d.id)!==null&&n!==void 0?n:o},y.createElement(SN,{chartData:d.data}),y.createElement(lR,{layout:i.layout,margin:i.margin}),y.createElement(sR,{baseValue:i.baseValue,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),y.createElement(cR,Qg({},i,{ref:r})))}),wie=["axis"],xie=y.forwardRef((e,t)=>y.createElement(Lu,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:wie,tooltipPayloadSearcher:oo,categoricalChartProps:e,ref:t})),Pie=["axis","item"],fR=y.forwardRef((e,t)=>y.createElement(Lu,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Pie,tooltipPayloadSearcher:oo,categoricalChartProps:e,ref:t}));function Sie(e){var t=Ve();return y.useEffect(()=>{t(Wne(e))},[t,e]),null}var _ie=["layout"];function Jg(){return Jg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Jg.apply(null,arguments)}function Oie(e,t){if(e==null)return{};var r,n,i=kie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function kie(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var Eie={top:5,right:5,bottom:5,left:5},Iw={accessibilityLayer:!0,stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:Eie,reverseStackOrder:!1,syncMethod:"index",layout:"radial",responsive:!1,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"},dR=y.forwardRef(function(t,r){var n,i=He(t.categoricalChartProps,Iw),{layout:o}=i,s=Oie(i,_ie),{chartName:u,defaultTooltipEventType:f,validateTooltipEventTypes:d,tooltipPayloadSearcher:p}=t,h={chartName:u,defaultTooltipEventType:f,validateTooltipEventTypes:d,tooltipPayloadSearcher:p,eventEmitter:void 0};return y.createElement(Aw,{preloadedState:{options:h},reduxStoreName:(n=i.id)!==null&&n!==void 0?n:u},y.createElement(SN,{chartData:i.data}),y.createElement(lR,{layout:o,margin:i.margin}),y.createElement(sR,{baseValue:void 0,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),y.createElement(Sie,{cx:i.cx,cy:i.cy,startAngle:i.startAngle,endAngle:i.endAngle,innerRadius:i.innerRadius,outerRadius:i.outerRadius}),y.createElement(cR,Jg({},s,{ref:r})))});function gA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bA(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?gA(Object(r),!0).forEach(function(n){Aie(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Aie(e,t,r){return(t=Iie(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Iie(e){var t=Cie(e,"string");return typeof t=="symbol"?t:t+""}function Cie(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Tie=["item"],jie=bA(bA({},Iw),{},{layout:"centric",startAngle:0,endAngle:360}),Mie=y.forwardRef((e,t)=>{var r=He(e,jie);return y.createElement(dR,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Tie,tooltipPayloadSearcher:oo,categoricalChartProps:r,ref:t})}),Dy={},zy={},$y={},wA;function Nie(){return wA||(wA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return typeof Buffer<"u"&&Buffer.isBuffer(r)}e.isBuffer=t})($y)),$y}var Ly={},xA;function Rie(){return xA||(xA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){const n=r?.constructor,i=typeof n=="function"?n.prototype:Object.prototype;return r===i}e.isPrototype=t})(Ly)),Ly}var Fy={},PA;function Die(){return PA||(PA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=wC();function r(n){return t.isTypedArray(n)}e.isTypedArray=r})(Fy)),Fy}var By={},Uy={},SA;function zie(){return SA||(SA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=DT();function r(n){const i=t.toFinite(n),o=i%1;return o?i-o:i}e.toInteger=r})(Uy)),Uy}var _A;function $ie(){return _A||(_A=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=zie();function r(n,i){if(n=t.toInteger(n),n<1||!Number.isSafeInteger(n))return[];const o=new Array(n);for(let s=0;s<n;s++)o[s]=typeof i=="function"?i(s):s;return o}e.times=r})(By)),By}var OA;function Lie(){return OA||(OA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Nie(),r=Rie(),n=vu(),i=Die(),o=$ie();function s(p){if(p==null)return[];switch(typeof p){case"object":case"function":return n.isArrayLike(p)?d(p):r.isPrototype(p)?f(p):u(p);default:return u(Object(p))}}function u(p){const h=[];for(const m in p)h.push(m);return h}function f(p){return u(p).filter(m=>m!=="constructor")}function d(p){const h=o.times(p.length,P=>`${P}`),m=new Set(h);t.isBuffer(p)&&(m.add("offset"),m.add("parent")),i.isTypedArray(p)&&(m.add("buffer"),m.add("byteLength"),m.add("byteOffset"));const b=u(p).filter(P=>!m.has(P));return Array.isArray(p)?[...h,...b]:[...h.filter(P=>Object.hasOwn(p,P)),...b]}e.keysIn=s})(zy)),zy}var Ky={},kA;function Fie(){return kA||(kA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Vd(),r=uC(),n=Wd(),i=Zd(),o=Hd();function s(f,d){if(f==null)return!0;switch(typeof d){case"symbol":case"number":case"object":{if(Array.isArray(d))return u(f,d);if(typeof d=="number"?d=i.toKey(d):typeof d=="object"&&(Object.is(d?.valueOf(),-0)?d="-0":d=String(d)),r.isUnsafeProperty(d))return!1;if(f?.[d]===void 0)return!0;try{return delete f[d],!0}catch{return!1}}case"string":{if(f?.[d]===void 0&&n.isDeepKey(d))return u(f,o.toPath(d));if(r.isUnsafeProperty(d))return!1;try{return delete f[d],!0}catch{return!1}}}}function u(f,d){const p=d.length===1?f:t.get(f,d.slice(0,-1)),h=d[d.length-1];if(p?.[h]===void 0)return!0;if(r.isUnsafeProperty(h))return!1;try{return delete p[h],!0}catch{return!1}}e.unset=s})(Ky)),Ky}var qy={},EA;function Bie(){return EA||(EA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=gC();function r(n){const i=[];for(;n;)i.push(...t.getSymbols(n)),n=Object.getPrototypeOf(n);return i}e.getSymbolsIn=r})(qy)),qy}var Wy={},AA;function Uie(){return AA||(AA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=vu();function r(n,i=1){const o=[],s=Math.floor(i);if(!t.isArrayLike(n))return o;const u=(f,d)=>{for(let p=0;p<f.length;p++){const h=f[p];d<s&&(Array.isArray(h)||h?.[Symbol.isConcatSpreadable]||h!==null&&typeof h=="object"&&Object.prototype.toString.call(h)==="[object Arguments]")?Array.isArray(h)?u(h,d+1):u(Array.from(h),d+1):o.push(h)}};return u(Array.from(n),0),o}e.flatten=r})(Wy)),Wy}var IA;function Kie(){return IA||(IA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=PC(),r=Lie(),n=Fie(),i=Bie(),o=Wd(),s=Uie(),u=dN();function f(m,...b){if(m==null)return{};b=s.flatten(b);const P=d(m,b);for(let w=0;w<b.length;w++){let S=b[w];switch(typeof S){case"object":{Array.isArray(S)||(S=Array.from(S));for(let _=0;_<S.length;_++){const k=S[_];n.unset(P,k)}break}case"string":case"symbol":case"number":{n.unset(P,S);break}}}return P}function d(m,b){return b.some(w=>Array.isArray(w)||o.isDeepKey(w))?h(m):p(m)}function p(m){const b={},P=[...r.keysIn(m),...i.getSymbolsIn(m)];for(let w=0;w<P.length;w++){const S=P[w];b[S]=m[S]}return b}function h(m){const b={},P=[...r.keysIn(m),...i.getSymbolsIn(m)];for(let w=0;w<P.length;w++){const S=P[w];b[S]=t.cloneDeepWith(m[S],_=>{if(!u.isPlainObject(_))return _})}return b}e.omit=f})(Dy)),Dy}var Zy,CA;function qie(){return CA||(CA=1,Zy=Kie().omit),Zy}var Wie=qie();const Zie=fn(Wie);var Hie=["width","height","className","style","children","type"];function Vie(e,t){if(e==null)return{};var r,n,i=Gie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Gie(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function ul(){return ul=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ul.apply(null,arguments)}function TA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?TA(Object(r),!0).forEach(function(n){$s(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):TA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $s(e,t,r){return(t=Yie(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yie(e){var t=Xie(e,"string");return typeof t=="symbol"?t:t+""}function Xie(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Cw="value";function Qie(e){return e!=null&&typeof e=="object"&&"x"in e&&"y"in e&&"width"in e&&"height"in e&&typeof e.x=="number"&&typeof e.y=="number"&&typeof e.width=="number"&&typeof e.height=="number"}var pR=(e,t)=>{if(!(!e||!t))return hi(e,t)},Jie=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"".concat(r,"children[").concat(t,"]")},eae={chartName:"Treemap",defaultTooltipEventType:"item",validateTooltipEventTypes:["item"],tooltipPayloadSearcher:pR,eventEmitter:void 0},_f=e=>{var{depth:t,node:r,index:n,dataKey:i,nameKey:o,nestedActiveTooltipIndex:s}=e,u=t===0?"":Jie(n,s),{children:f}=r,d=t+1,p=f&&f.length?f.map((P,w)=>_f({depth:d,node:P,index:w,dataKey:i,nameKey:o,nestedActiveTooltipIndex:u})):null,h;if(p&&p.length)h=p.reduce((P,w)=>P+w.value,0);else{var m=r[i],b=typeof m=="number"?m:0;h=Ur(b)||b<=0?0:b}return mt(mt({},r),{},{children:p,name:$e(r,o,""),[Cw]:h,depth:t,index:n,tooltipIndex:u})},tae=e=>({x:e.x,y:e.y,width:e.width,height:e.height}),rae=(e,t)=>{var r=t<0?0:t;return e.map(n=>{var i=n[Cw]*r;return mt(mt({},n),{},{area:Ur(i)||i<=0?0:i})})},nae=(e,t,r)=>{var n=t*t,i=e.area*e.area,{min:o,max:s}=e.reduce((u,f)=>({min:Math.min(u.min,f.area),max:Math.max(u.max,f.area)}),{min:1/0,max:0});return i?Math.max(n*s*r/i,i/(n*o*r)):1/0},iae=(e,t,r,n)=>{var i=t?Math.round(e.area/t):0;(n||i>r.height)&&(i=r.height);for(var o=r.x,s,u=0,f=e.length;u<f;u++)s=e[u],s!=null&&(s.x=o,s.y=r.y,s.height=i,s.width=Math.min(i?Math.round(s.area/i):0,r.x+r.width-o),o+=s.width);return s!=null&&(s.width+=r.x+r.width-o),mt(mt({},r),{},{y:r.y+i,height:r.height-i})},aae=(e,t,r,n)=>{var i=t?Math.round(e.area/t):0;(n||i>r.width)&&(i=r.width);for(var o=r.y,s,u=0,f=e.length;u<f;u++)s=e[u],s!=null&&(s.x=r.x,s.y=o,s.width=i,s.height=Math.min(i?Math.round(s.area/i):0,r.y+r.height-o),o+=s.height);return s&&(s.height+=r.y+r.height-o),mt(mt({},r),{},{x:r.x+i,width:r.width-i})},jA=(e,t,r,n)=>t===r.width?iae(e,t,r,n):aae(e,t,r,n),Of=(e,t)=>{var{children:r}=e;if(r&&r.length){var n=tae(e),i=[],o=1/0,s,u,f=Math.min(n.width,n.height),d=rae(r,n.width*n.height/e[Cw]),p=d.slice();for(i.area=0;p.length>0;)if([s]=p,s!=null)if(i.push(s),i.area+=s.area,u=nae(i,f,t),u<=o)p.shift(),o=u;else{var h,m;i.area-=(h=(m=i.pop())===null||m===void 0?void 0:m.area)!==null&&h!==void 0?h:0,n=jA(i,f,n,!1),f=Math.min(n.width,n.height),i.length=i.area=0,o=1/0}return i.length&&(n=jA(i,f,n,!0),i.length=i.area=0),mt(mt({},e),{},{children:d.map(b=>Of(b,t))})}return e},e0={aspectRatio:.5*(1+Math.sqrt(5)),dataKey:"value",nameKey:"name",type:"flat",isAnimationActive:"auto",isUpdateAnimationActive:"auto",animationBegin:0,animationDuration:1500,animationEasing:"linear"},oae={isAnimationFinished:!1,formatRoot:null,currentRoot:void 0,nestIndex:[],prevAspectRatio:e0.aspectRatio,prevDataKey:e0.dataKey};function lae(e){var{content:t,nodeProps:r,type:n,colorPanel:i,onMouseEnter:o,onMouseLeave:s,onClick:u}=e;if(y.isValidElement(t))return y.createElement(Te,{onMouseEnter:o,onMouseLeave:s,onClick:u},y.cloneElement(t,r));if(typeof t=="function")return y.createElement(Te,{onMouseEnter:o,onMouseLeave:s,onClick:u},t(r));var{x:f,y:d,width:p,height:h,index:m}=r,b=null;p>10&&h>10&&r.children&&n==="nest"&&(b=y.createElement(sw,{points:[{x:f+2,y:d+h/2},{x:f+6,y:d+h/2+3},{x:f+2,y:d+h/2+6}]}));var P=null,w=Xo(r.name);p>20&&h>20&&w.width<p&&w.height<h&&(P=y.createElement("text",{x:f+8,y:d+h/2+7,fontSize:14},r.name));var S=i||eq;return y.createElement("g",null,y.createElement(eb,ul({fill:r.depth<2?S[m%S.length]:"rgba(255,255,255,0)",stroke:"#fff"},Zie(r,["children"]),{onMouseEnter:o,onMouseLeave:s,onClick:u,"data-recharts-item-index":r.tooltipIndex})),b,P)}function sae(e){var t=Ve(),r={x:e.nodeProps.x+e.nodeProps.width/2,y:e.nodeProps.y+e.nodeProps.height/2},n=()=>{t(Rp({activeIndex:e.nodeProps.tooltipIndex,activeDataKey:e.dataKey,activeCoordinate:r,activeGraphicalItemId:e.id}))},i=()=>{},o=()=>{t(yM({activeIndex:e.nodeProps.tooltipIndex,activeDataKey:e.dataKey,activeCoordinate:r,activeGraphicalItemId:e.id}))};return y.createElement(lae,ul({},e,{onMouseEnter:n,onMouseLeave:i,onClick:o}))}var uae=y.memo(e=>{var{dataKey:t,nameKey:r,stroke:n,fill:i,currentRoot:o,id:s}=e,u={dataDefinedOnItem:o,getPosition:Zr,settings:{stroke:n,strokeWidth:void 0,fill:i,dataKey:t,nameKey:r,name:void 0,hide:!1,type:void 0,color:i,unit:"",graphicalItemId:s}};return y.createElement(lo,{tooltipEntrySettings:u})}),cae={top:0,right:0,bottom:0,left:0};function fae(e){var{content:t,nodeProps:r,isLeaf:n,treemapProps:i,onNestClick:o}=e,{id:s,isAnimationActive:u,animationBegin:f,animationDuration:d,animationEasing:p,isUpdateAnimationActive:h,type:m,colorPanel:b,dataKey:P,onAnimationStart:w,onAnimationEnd:S,onMouseEnter:_,onClick:k,onMouseLeave:E}=i,{width:A,height:C,x:I,y:j}=r,$=-I-A,Z=0,Q=fe=>{(n||m==="nest")&&typeof _=="function"&&_(r,fe)},Y=fe=>{(n||m==="nest")&&typeof E=="function"&&E(r,fe)},U=()=>{m==="nest"&&o(r),(n||m==="nest")&&typeof k=="function"&&k(r)},oe=y.useCallback(()=>{typeof S=="function"&&S()},[S]),se=y.useCallback(()=>{typeof w=="function"&&w()},[w]);return y.createElement($ne,{animationId:"treemap-".concat(r.tooltipIndex),from:"translate(".concat($,"px, ").concat(Z,"px)"),to:"translate(0, 0)",attributeName:"transform",begin:f,easing:p,isActive:u,duration:d,onAnimationStart:se,onAnimationEnd:oe},fe=>y.createElement(Te,{onMouseEnter:Q,onMouseLeave:Y,onClick:U,style:mt(mt({},fe),{},{transformOrigin:"".concat(I," ").concat(j)})},y.createElement(sae,{id:s,content:t,dataKey:P,nodeProps:mt(mt({},r),{},{isAnimationActive:u,isUpdateAnimationActive:!h,width:A,height:C,x:I,y:j}),type:m,colorPanel:b})))}class hR extends y.PureComponent{constructor(){super(...arguments),$s(this,"state",mt({},oae)),$s(this,"handleClick",t=>{var{onClick:r,type:n}=this.props;if(n==="nest"&&t.children){var{width:i,height:o,dataKey:s,nameKey:u,aspectRatio:f}=this.props,d=_f({depth:0,node:mt(mt({},t),{},{x:0,y:0,width:i,height:o}),index:0,dataKey:s,nameKey:u,nestedActiveTooltipIndex:t.tooltipIndex}),p=Of(d,f),{nestIndex:h}=this.state;h.push(t),this.setState({formatRoot:p,currentRoot:d,nestIndex:h})}r&&r(t)}),$s(this,"handleTouchMove",t=>{var r=t.touches[0];if(r!=null){var n=document.elementFromPoint(r.clientX,r.clientY);if(!(!n||!n.getAttribute||this.state.formatRoot==null)){var i=n.getAttribute("data-recharts-item-index"),o=pR(this.state.formatRoot,i);if(Qie(o)){var{dataKey:s,dispatch:u}=this.props,f={x:o.x+o.width/2,y:o.y+o.height/2};u(Rp({activeIndex:i,activeDataKey:s,activeCoordinate:f,activeGraphicalItemId:this.props.id}))}}}})}static getDerivedStateFromProps(t,r){if(t.data!==r.prevData||t.type!==r.prevType||t.width!==r.prevWidth||t.height!==r.prevHeight||t.dataKey!==r.prevDataKey||t.aspectRatio!==r.prevAspectRatio){var n=_f({depth:0,node:{children:t.data,x:0,y:0,width:t.width,height:t.height},index:0,dataKey:t.dataKey,nameKey:t.nameKey}),i=Of(n,t.aspectRatio);return mt(mt({},r),{},{formatRoot:i,currentRoot:n,nestIndex:[n],prevAspectRatio:t.aspectRatio,prevData:t.data,prevWidth:t.width,prevHeight:t.height,prevDataKey:t.dataKey,prevType:t.type})}return null}handleNestIndex(t,r){var{nestIndex:n}=this.state,{width:i,height:o,dataKey:s,nameKey:u,aspectRatio:f}=this.props,d=_f({depth:0,node:mt(mt({},t),{},{x:0,y:0,width:i,height:o}),index:0,dataKey:s,nameKey:u,nestedActiveTooltipIndex:t.tooltipIndex}),p=Of(d,f);n=n.slice(0,r+1),this.setState({formatRoot:p,currentRoot:t,nestIndex:n})}renderNode(t,r){var{content:n,type:i}=this.props,o=mt(mt(mt({},Xe(this.props)),r),{},{root:t}),s=!r.children||!r.children.length,{currentRoot:u}=this.state,f=(u?.children||[]).filter(d=>d.depth===r.depth&&d.name===r.name);return!f.length&&t.depth&&i==="nest"?null:y.createElement(Te,{key:"recharts-treemap-node-".concat(o.x,"-").concat(o.y,"-").concat(o.name),className:"recharts-treemap-depth-".concat(r.depth)},y.createElement(fae,{isLeaf:s,content:n,nodeProps:o,treemapProps:this.props,onNestClick:this.handleClick}),r.children&&r.children.length?r.children.map(d=>this.renderNode(r,d)):null)}renderAllNodes(){var{formatRoot:t}=this.state;return t?this.renderNode(t,t):null}renderNestIndex(){var{nameKey:t,nestIndexContent:r}=this.props,{nestIndex:n}=this.state;return y.createElement("div",{className:"recharts-treemap-nest-index-wrapper",style:{marginTop:"8px",textAlign:"center"}},n.map((i,o)=>{var s=hi(i,t,"root"),u=typeof s=="string"?s:"root",f;return y.isValidElement(r)&&(f=y.cloneElement(r,i,o)),typeof r=="function"?f=r(i,o):f=u,y.createElement("div",{onClick:this.handleNestIndex.bind(this,i,o),key:"nest-index-".concat(tl()),className:"recharts-treemap-nest-index-box",style:{cursor:"pointer",display:"inline-block",padding:"0 7px",background:"#000",color:"#fff",marginRight:"3px"}},f)}))}render(){var t=this.props,{width:r,height:n,className:i,style:o,children:s,type:u}=t,f=Vie(t,Hie),d=Xe(f);return y.createElement(y.Fragment,null,y.createElement(uae,{dataKey:this.props.dataKey,nameKey:this.props.nameKey,stroke:this.props.stroke,fill:this.props.fill,currentRoot:this.state.currentRoot,id:this.props.id}),y.createElement(Bd,ul({},d,{width:r,height:u==="nest"?n-30:n,onTouchMove:this.handleTouchMove}),this.renderAllNodes(),s),u==="nest"&&this.renderNestIndex())}}$s(hR,"displayName","Treemap");function dae(e){var t=Ve(),r=fp(),n=dp();if(!ln(r)||!ln(n))return null;var{id:i}=e;return y.createElement(so,{id:i,type:"treemap"},o=>y.createElement(hR,ul({},e,{id:o,width:r,height:n,dispatch:t})))}function pae(e){var t,r=He(e,e0),{className:n,style:i,width:o,height:s}=r,[u,f]=y.useState(null);return y.createElement(Aw,{preloadedState:{options:eae},reduxStoreName:(t=r.className)!==null&&t!==void 0?t:"Treemap"},y.createElement(Tq,{margin:cae}),y.createElement(uR,{dispatchTouchEvents:!1,className:n,style:i,width:o,height:s,responsive:!1,ref:d=>{u==null&&d!=null&&f(d)},onMouseEnter:void 0,onMouseLeave:void 0,onClick:void 0,onMouseMove:void 0,onMouseDown:void 0,onMouseUp:void 0,onContextMenu:void 0,onDoubleClick:void 0,onTouchStart:void 0,onTouchMove:void 0,onTouchEnd:void 0},y.createElement(ow.Provider,{value:u},y.createElement(dae,r))))}function MA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function NA(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?MA(Object(r),!0).forEach(function(n){hae(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):MA(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hae(e,t,r){return(t=vae(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function vae(e){var t=mae(e,"string");return typeof t=="symbol"?t:t+""}function mae(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var yae=["axis"],gae=NA(NA({},Iw),{},{layout:"centric",startAngle:90,endAngle:-270}),bae=y.forwardRef((e,t)=>{var r=He(e,gae);return y.createElement(dR,{chartName:"RadarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:yae,tooltipPayloadSearcher:oo,categoricalChartProps:r,ref:t})}),wae=["item"],xae=y.forwardRef((e,t)=>y.createElement(Lu,{chartName:"ScatterChart",defaultTooltipEventType:"item",validateTooltipEventTypes:wae,tooltipPayloadSearcher:oo,categoricalChartProps:e,ref:t})),Pae=["axis"],Sae=y.forwardRef((e,t)=>y.createElement(Lu,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Pae,tooltipPayloadSearcher:oo,categoricalChartProps:e,ref:t})),_ae=["axis"],Oae=y.forwardRef((e,t)=>y.createElement(Lu,{chartName:"ComposedChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:_ae,tooltipPayloadSearcher:oo,categoricalChartProps:e,ref:t}));function Ma(e){return`var(${e})`}const Fo={bg:{surface:Ma("--bg-surface")},text:{muted:Ma("--text-muted"),faint:Ma("--text-faint")},accent:Ma("--accent"),border:Ma("--border")},bt={sans:Ma("--font-sans"),mono:Ma("--font-mono")};function Xp(e,t=2){return e.toLocaleString("en-US",{minimumFractionDigits:t,maximumFractionDigits:t})}function vR(e,t="USD"){return e.toLocaleString("en-US",{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:2})}function kae(){return q.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[q.jsx("rect",{x:"1",y:"1",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.9"}),q.jsx("rect",{x:"9",y:"1",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.6"}),q.jsx("rect",{x:"1",y:"9",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.6"}),q.jsx("rect",{x:"9",y:"9",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.35"})]})}function Eae(){const e={display:"flex",alignItems:"center",gap:7,padding:"0 14px",height:30,background:Fo.bg.surface,borderBottom:`1px solid ${Fo.border}`,flexShrink:0},t={fontFamily:bt.sans,fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:Fo.accent},r={width:3,height:3,borderRadius:"50%",background:Fo.text.faint,marginLeft:2,marginRight:2,flexShrink:0},n={fontFamily:bt.sans,fontSize:10,color:Fo.text.muted,letterSpacing:"0.03em"};return q.jsxs("div",{style:e,children:[q.jsx("div",{style:{color:Fo.accent},children:q.jsx(kae,{})}),q.jsx("span",{style:t,children:"ERPNext"}),q.jsx("div",{style:r}),q.jsx("span",{style:n,children:"gestion ERP"})]})}function Aae(e,t={}){return!e.request||e.visibilityState!=="visible"||e.refreshInFlight?!1:t.ignoreInterval?!0:e.now-e.lastRefreshStartedAt>=e.minIntervalMs}function RA(e,t){return e?.refreshRequest??t}function Iae(e){return e instanceof Error&&/timed? out/i.test(e.message)?"Refresh timed out":"Refresh failed"}function Cae(e){return e.structuredContent?JSON.stringify(e.structuredContent):e.content?.find(t=>t.type==="text")?.text??null}const Na=new E4({name:"Chart Viewer",version:"3.0.0"}),Tae=15e3,jae=1e4,Ja=["#60a5fa","#4ade80","#fbbf24","#818cf8","#c084fc","#fb923c","#34d399","#f472b6","#a78bfa","#f97316","#22d3ee","#e879f9"];function jn(e,t){return e.color??Ja[t%Ja.length]}function jl(e){return e.labels.map((t,r)=>{const n={name:t};for(const i of e.datasets)n[i.label]=i.values[r]??0;return n})}function mR(e,t){return t.currency?vR(e,t.currency):`${Xp(e,e%1===0?0:1)}${t.unit?" "+t.unit:""}`}function yR(e){return Xp(e,e<10?1:0)}const gR={fontSize:11,fill:"var(--text-secondary)",fontFamily:bt.sans},jd={fontSize:10,fill:"var(--text-faint)",fontFamily:bt.mono},Ml={strokeDasharray:"3 3",stroke:"var(--border)"},Tw={fill:"var(--bg-hover)",opacity:.5},Nl={top:8,right:16,left:8,bottom:4};function DA({message:e}){return q.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"var(--text-muted)",fontSize:13,fontFamily:bt.sans},children:e})}function Mae(){return q.jsx("div",{style:{padding:24},children:q.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[[1,2,3,4].map(e=>q.jsx("div",{className:"skeleton",style:{height:e===1?32:20,width:e===1?"40%":`${60+e*8}%`}},e)),q.jsx("div",{style:{marginTop:8},children:[1,2,3,4,5].map(e=>q.jsx("div",{className:"skeleton",style:{height:36,marginBottom:2}},e))})]})})}function Rl({active:e,payload:t,label:r,data:n}){return!e||!t?.length?null:q.jsxs("div",{style:{background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:6,padding:"8px 12px",fontSize:12,fontFamily:bt.sans,boxShadow:"var(--shadow-md)"},children:[r&&q.jsx("div",{style:{color:"var(--text-muted)",marginBottom:4,fontSize:11},children:r}),t.map((i,o)=>q.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:2},children:[q.jsx("div",{style:{width:8,height:8,borderRadius:2,background:i.color,flexShrink:0}}),q.jsxs("span",{style:{color:"var(--text-secondary)"},children:[i.name,":"]}),q.jsx("span",{style:{color:"var(--text-primary)",fontFamily:bt.mono,fontWeight:600},children:mR(i.value,n)})]},o))]})}function Fu({data:e,isVerticalLayout:t}){return t?q.jsx(Id,{type:"number",tick:jd,axisLine:!1,tickLine:!1,tickFormatter:yR,label:e.xAxisLabel?{value:e.xAxisLabel,position:"insideBottom",offset:-2,fontSize:10,fill:"var(--text-faint)"}:void 0}):q.jsx(Id,{dataKey:"name",tick:gR,axisLine:{stroke:"var(--border)"},tickLine:!1,label:e.xAxisLabel?{value:e.xAxisLabel,position:"insideBottom",offset:-2,fontSize:10,fill:"var(--text-faint)"}:void 0})}function eo({data:e,yAxisId:t,orientation:r}){return q.jsx(Yp,{yAxisId:t,orientation:r,tick:jd,axisLine:!1,tickLine:!1,tickFormatter:yR,label:e.yAxisLabel?{value:e.yAxisLabel,angle:-90,position:"insideLeft",fontSize:10,fill:"var(--text-faint)"}:void 0})}function Hy({data:e,onDataClick:t}){const r=jl(e),n=e.type==="stacked-bar";return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(fR,{data:r,margin:Nl,barCategoryGap:"20%",children:[q.jsx(uo,{...Ml,vertical:!1}),q.jsx(Fu,{data:e}),q.jsx(eo,{data:e}),e.showRightAxis&&q.jsx(eo,{data:e,yAxisId:"right",orientation:"right"}),q.jsx(ha,{content:q.jsx(Rl,{data:e}),cursor:Tw,animationDuration:0}),e.datasets.length>1&&q.jsx(ro,{wrapperStyle:{fontSize:11,fontFamily:bt.sans}}),e.datasets.map((i,o)=>q.jsx(Gp,{dataKey:i.label,fill:jn(i,o),radius:[3,3,0,0],opacity:.85,maxBarSize:56,stackId:n?i.stack??"default":void 0,yAxisId:i.yAxisId,animationDuration:0,cursor:t?"pointer":void 0,onClick:t?s=>t(String(s.name??"")):void 0},i.label))]})})}function Nae({data:e,onDataClick:t}){const r=jl(e);return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(fR,{data:r,layout:"vertical",margin:{...Nl,left:8},children:[q.jsx(uo,{...Ml,horizontal:!1}),q.jsx(Fu,{data:e,isVerticalLayout:!0}),q.jsx(Yp,{type:"category",dataKey:"name",width:120,tick:gR,axisLine:!1,tickLine:!1}),q.jsx(ha,{content:q.jsx(Rl,{data:e}),cursor:Tw,animationDuration:0}),e.datasets.map((n,i)=>q.jsx(Gp,{dataKey:n.label,fill:jn(n,i),radius:[0,3,3,0],opacity:.85,animationDuration:0,cursor:t?"pointer":void 0,onClick:t?o=>t(String(o.name??"")):void 0},n.label))]})})}function Rae({data:e,onDataClick:t}){const r=jl(e);return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(xie,{data:r,margin:Nl,onClick:t?n=>{n?.activeLabel&&t(String(n.activeLabel))}:void 0,children:[q.jsx(uo,{...Ml}),q.jsx(Fu,{data:e}),q.jsx(eo,{data:e}),e.showRightAxis&&q.jsx(eo,{data:e,yAxisId:"right",orientation:"right"}),q.jsx(ha,{content:q.jsx(Rl,{data:e}),animationDuration:0}),e.datasets.length>1&&q.jsx(ro,{wrapperStyle:{fontSize:11,fontFamily:bt.sans}}),e.datasets.map((n,i)=>q.jsx(Sw,{type:"monotone",dataKey:n.label,stroke:jn(n,i),strokeWidth:2,strokeDasharray:n.strokeStyle==="dashed"?"6 3":void 0,dot:n.showDots!==!1?{r:3,fill:jn(n,i)}:!1,activeDot:t?{r:5,cursor:"pointer"}:{r:5},yAxisId:n.yAxisId,animationDuration:0},n.label))]})})}function zA({data:e,onDataClick:t}){const r=jl(e),n=e.type==="stacked-area";return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(Sae,{data:r,margin:Nl,onClick:t?i=>{i?.activeLabel&&t(String(i.activeLabel))}:void 0,children:[q.jsx("defs",{children:e.datasets.map((i,o)=>q.jsxs("linearGradient",{id:`grad-${o}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[q.jsx("stop",{offset:"5%",stopColor:jn(i,o),stopOpacity:.3}),q.jsx("stop",{offset:"95%",stopColor:jn(i,o),stopOpacity:.02})]},i.label))}),q.jsx(uo,{...Ml}),q.jsx(Fu,{data:e}),q.jsx(eo,{data:e}),q.jsx(ha,{content:q.jsx(Rl,{data:e}),animationDuration:0}),e.datasets.length>1&&q.jsx(ro,{wrapperStyle:{fontSize:11,fontFamily:bt.sans}}),e.datasets.map((i,o)=>q.jsx(_w,{type:"monotone",dataKey:i.label,stroke:jn(i,o),strokeWidth:2,fill:`url(#grad-${o})`,dot:i.showDots?{r:3,fill:jn(i,o)}:!1,activeDot:{r:5},stackId:n?i.stack??"default":void 0,animationDuration:0},i.label))]})})}function Dae({data:e,onDataClick:t}){const r=jl(e);return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(Oae,{data:r,margin:Nl,onClick:t?n=>{n?.activeLabel&&t(String(n.activeLabel))}:void 0,children:[q.jsx(uo,{...Ml}),q.jsx(Fu,{data:e}),q.jsx(eo,{data:e}),e.showRightAxis&&q.jsx(eo,{data:e,yAxisId:"right",orientation:"right"}),q.jsx(ha,{content:q.jsx(Rl,{data:e}),cursor:Tw,animationDuration:0}),e.datasets.length>1&&q.jsx(ro,{wrapperStyle:{fontSize:11,fontFamily:bt.sans}}),e.datasets.map((n,i)=>{const o=jn(n,i),s=n.type??"bar";return s==="line"?q.jsx(Sw,{type:"monotone",dataKey:n.label,stroke:o,strokeWidth:2,strokeDasharray:n.strokeStyle==="dashed"?"6 3":void 0,dot:n.showDots!==!1?{r:3,fill:o}:!1,yAxisId:n.yAxisId,animationDuration:0},n.label):s==="area"?q.jsx(_w,{type:"monotone",dataKey:n.label,stroke:o,fill:o,fillOpacity:.15,yAxisId:n.yAxisId,animationDuration:0},n.label):q.jsx(Gp,{dataKey:n.label,fill:o,radius:[3,3,0,0],opacity:.85,maxBarSize:56,stackId:n.stack,yAxisId:n.yAxisId,animationDuration:0},n.label)})]})})}function $A({data:e,isDonut:t,onDataClick:r}){const n=e.datasets[0];if(!n||n.values.length===0||e.labels.length===0)return q.jsx(DA,{message:"No data for chart"});const i=n.values.reduce((s,u)=>s+u,0);if(i===0)return q.jsx(DA,{message:"All values are zero"});const o=e.labels.map((s,u)=>({name:s,value:n.values[u]??0}));return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(Mie,{children:[q.jsx(mN,{data:o,cx:"50%",cy:"50%",innerRadius:t?55:0,outerRadius:90,paddingAngle:t?2:1,dataKey:"value",label:({name:s,percent:u})=>`${s} ${(u*100).toFixed(0)}%`,labelLine:{stroke:"var(--text-faint)",strokeWidth:1},animationDuration:0,cursor:r?"pointer":void 0,onClick:r?s=>r(String(s.name??"")):void 0,children:o.map((s,u)=>q.jsx(kl,{fill:Ja[u%Ja.length],opacity:.85},u))}),q.jsx(ha,{formatter:s=>mR(s,e),animationDuration:0,contentStyle:{background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:6,fontSize:12,fontFamily:bt.sans}}),t&&q.jsxs(q.Fragment,{children:[q.jsx("text",{x:"50%",y:"46%",textAnchor:"middle",dominantBaseline:"middle",fontSize:11,fill:"var(--text-muted)",fontFamily:bt.sans,children:"Total"}),q.jsx("text",{x:"50%",y:"56%",textAnchor:"middle",dominantBaseline:"middle",fontSize:15,fill:"var(--text-primary)",fontFamily:bt.mono,fontWeight:700,children:e.currency?vR(i,e.currency):Xp(i,0)})]})]})})}function zae({data:e}){const t=jl(e);return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(bae,{data:t,cx:"50%",cy:"50%",outerRadius:"70%",children:[q.jsx(oN,{stroke:"var(--border)"}),q.jsx(uN,{dataKey:"name",tick:{fontSize:11,fill:"var(--text-secondary)",fontFamily:bt.sans}}),q.jsx(sN,{tick:{fontSize:9,fill:"var(--text-faint)",fontFamily:bt.mono}}),q.jsx(ha,{content:q.jsx(Rl,{data:e}),animationDuration:0}),e.datasets.length>1&&q.jsx(ro,{wrapperStyle:{fontSize:11,fontFamily:bt.sans}}),e.datasets.map((r,n)=>q.jsx(PN,{name:r.label,dataKey:r.label,stroke:jn(r,n),fill:jn(r,n),fillOpacity:.2,strokeWidth:2,animationDuration:0},r.label))]})})}function $ae({data:e}){const t=e.scatterData??[];return t.length?q.jsx(Oi,{width:"100%",height:"100%",children:q.jsxs(xae,{margin:Nl,children:[q.jsx(uo,{...Ml}),q.jsx(Id,{type:"number",dataKey:"x",name:"x",tick:jd,label:e.xAxisLabel?{value:e.xAxisLabel,position:"insideBottom",offset:-2,fontSize:10,fill:"var(--text-faint)"}:void 0}),q.jsx(Yp,{type:"number",dataKey:"y",name:"y",tick:jd,label:e.yAxisLabel?{value:e.yAxisLabel,angle:-90,position:"insideLeft",fontSize:10,fill:"var(--text-faint)"}:void 0}),q.jsx(ha,{animationDuration:0,contentStyle:{background:"var(--bg-elevated)",border:"1px solid var(--border)",borderRadius:6,fontSize:12,fontFamily:bt.sans}}),t.length>1&&q.jsx(ro,{wrapperStyle:{fontSize:11,fontFamily:bt.sans}}),t.map((r,n)=>q.jsx(GN,{name:r.label,data:r.points,fill:r.color??Ja[n%Ja.length],opacity:.75,animationDuration:0},r.label))]})}):null}function Lae(e){const{x:t,y:r,width:n,height:i,name:o,index:s,colors:u}=e;return n<30||i<20?null:q.jsxs("g",{children:[q.jsx("rect",{x:t,y:r,width:n,height:i,fill:u[s%u.length],opacity:.8,rx:3,stroke:"var(--bg-root)",strokeWidth:2}),n>50&&i>24&&q.jsx("text",{x:t+n/2,y:r+i/2-6,textAnchor:"middle",fontSize:11,fill:"#fff",fontFamily:bt.sans,children:o.length>Math.floor(n/8)?o.slice(0,Math.floor(n/8)-1)+"…":o}),n>50&&i>38&&q.jsx("text",{x:t+n/2,y:r+i/2+10,textAnchor:"middle",fontSize:10,fill:"rgba(255,255,255,0.7)",fontFamily:bt.mono,children:Xp(e.value,e.value<10?1:0)})]})}function Fae({data:e}){let t;if(e.treeData)t=bR(e.treeData);else{const r=e.datasets[0];if(!r)return null;t=e.labels.map((n,i)=>({name:n,value:r.values[i]??0}))}return q.jsx(Oi,{width:"100%",height:"100%",children:q.jsx(pae,{data:t,dataKey:"value",nameKey:"name",content:q.jsx(Lae,{x:0,y:0,width:0,height:0,name:"",value:0,index:0,colors:Ja})})})}function bR(e){const t=[];for(const r of e)r.children?.length?t.push(...bR(r.children)):r.value!=null&&t.push({name:r.name,value:r.value});return t}function Bae({data:e}){const t=e.type??"bar",n=Na.getHostCapabilities()?.serverTools&&e._drillDown?i=>{const o=e._drillDown.replace(/\{label\}/g,i);Na.sendMessage({role:"user",content:[{type:"text",text:o}]}).catch(()=>{})}:void 0;switch(t){case"bar":return q.jsx(Hy,{data:e,onDataClick:n});case"stacked-bar":return q.jsx(Hy,{data:e,onDataClick:n});case"horizontal-bar":return q.jsx(Nae,{data:e,onDataClick:n});case"line":return q.jsx(Rae,{data:e,onDataClick:n});case"area":return q.jsx(zA,{data:e,onDataClick:n});case"stacked-area":return q.jsx(zA,{data:e,onDataClick:n});case"composed":return q.jsx(Dae,{data:e,onDataClick:n});case"pie":return q.jsx($A,{data:e,isDonut:!1,onDataClick:n});case"donut":return q.jsx($A,{data:e,isDonut:!0,onDataClick:n});case"radar":return q.jsx(zae,{data:e});case"scatter":return q.jsx($ae,{data:e});case"treemap":return q.jsx(Fae,{data:e});default:return q.jsx(Hy,{data:e,onDataClick:n})}}function Uae({data:e,error:t,refreshing:r,onRefresh:n}){return q.jsxs("div",{style:{fontFamily:bt.sans,background:"var(--bg-root)",height:"100vh",overflow:"hidden"},children:[q.jsx(Eae,{}),q.jsxs("div",{style:{padding:"8px 16px 0",display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12},children:[q.jsxs("div",{style:{minWidth:0},children:[q.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-secondary)"},children:e.title}),e.subtitle&&q.jsx("div",{style:{fontSize:11,color:"var(--text-faint)",marginTop:2},children:e.subtitle}),q.jsx("div",{"aria-live":"polite",style:{fontSize:11,color:t?"var(--error)":r?"var(--text-muted)":"var(--text-faint)",marginTop:4},children:t??(r?"Refreshing…":"Auto-refresh on focus")})]}),q.jsx("button",{onClick:n,disabled:r,style:{border:"1px solid var(--border)",background:"var(--bg-elevated)",color:"var(--text-secondary)",borderRadius:6,padding:"4px 8px",fontSize:11,fontFamily:bt.sans,cursor:r?"default":"pointer",flexShrink:0},children:r?"Refreshing":"Refresh"})]}),q.jsx("div",{style:{height:"calc(100vh - 100px)",padding:"4px 8px 8px"},children:q.jsx(Bae,{data:e})})]})}function Kae(){const[e,t]=y.useState(null),[r,n]=y.useState(!0),[i,o]=y.useState(!1),[s,u]=y.useState(null),f=y.useRef(null),d=y.useRef(null),p=y.useRef(!1),h=y.useRef(0);function m(w){f.current=w,d.current=RA(w,d.current),t(w)}function b(w){const S=Cae(w);if(!S)return!1;try{const _=JSON.parse(S);return m(_),u(null),n(!1),!0}catch(_){return console.error("Parse error:",_),u("Failed to parse chart payload"),n(!1),!1}}async function P(w={}){const S=RA(f.current,d.current);if(!Aae({request:S,visibilityState:typeof document>"u"?"visible":document.visibilityState,refreshInFlight:p.current,now:Date.now(),lastRefreshStartedAt:h.current,minIntervalMs:Tae},w)||!S||!Na.getHostCapabilities()?.serverTools)return!1;p.current=!0,h.current=Date.now(),o(!0);try{const _=await Na.callServerTool({name:S.toolName,arguments:S.arguments},{timeout:jae});return _.isError?(u("Refresh failed"),!1):b(_)?!0:(u("Refresh returned no data"),!1)}catch(_){return u(Iae(_)),!1}finally{p.current=!1,o(!1)}}return y.useEffect(()=>{Na.connect().catch(()=>{}),Na.ontoolresult=w=>{b(w)},Na.ontoolinputpartial=()=>{f.current||n(!0)}},[]),y.useEffect(()=>{function w(){P({ignoreInterval:!0})}function S(){document.visibilityState==="visible"&&P({ignoreInterval:!0})}return window.addEventListener("focus",w),document.addEventListener("visibilitychange",S),()=>{window.removeEventListener("focus",w),document.removeEventListener("visibilitychange",S)}},[]),r?q.jsx(Mae,{}):e?q.jsx(Uae,{data:e,error:s,refreshing:i,onRefresh:()=>void P({ignoreInterval:!0})}):q.jsx("div",{style:{padding:32,textAlign:"center",color:"var(--text-muted)",fontSize:13,fontFamily:bt.sans},children:"No chart data — run an analytics tool or PML workflow that returns ChartData"})}_2.createRoot(document.getElementById("app")).render(q.jsx(Kae,{}));</script>
190
- <style rel="stylesheet" crossorigin>:root{--accent: #0089FF;--accent-dim: rgba(0, 137, 255, .15);--accent-border: rgba(0, 137, 255, .3);--success: #16a34a;--success-dim: rgba(22, 163, 74, .1);--error: #dc2626;--error-dim: rgba(220, 38, 38, .1);--warning: #d97706;--warning-dim: rgba(217, 119, 6, .1);--info: #2563eb;--info-dim: rgba(37, 99, 235, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace;--bg-root: #ffffff;--bg-surface: #f9fafb;--bg-elevated: #f3f4f6;--bg-hover: #e5e7eb;--bg-active: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-faint: #9ca3af;--border: #e5e7eb;--border-subtle: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg-root: #08080a;--bg-surface: #111113;--bg-elevated: #18181b;--bg-hover: #1f1f23;--bg-active: #27272a;--text-primary: #e7e5e4;--text-secondary: #a8a29e;--text-muted: #78716c;--text-faint: #57534e;--border: #27272a;--border-subtle: #1f1f23;--success: #4ade80;--success-dim: rgba(74, 222, 128, .12);--error: #f87171;--error-dim: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .12);--info: #60a5fa;--info-dim: rgba(96, 165, 250, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{border-radius:var(--radius-lg);overflow:hidden}html,body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.drag-scroll::-webkit-scrollbar{display:none}.drag-scroll{scrollbar-width:none}article button:hover:not(:disabled){background:var(--bg-hover)!important;color:var(--text-primary)!important}article[draggable=true]:active{cursor:grabbing;opacity:.85}.kanban-detail-backdrop{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto;backdrop-filter:blur(2px)}.kanban-detail-panel{background:var(--bg-root);border:1px solid var(--border);border-radius:10px;max-width:520px;width:100%;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;position:relative;display:flex;flex-direction:column}.kanban-detail-panel .detail-field-row{transition:background .1s}.kanban-detail-panel .detail-field-row:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell{transition:background .1s;border-radius:4px}.kanban-detail-panel .detail-field-cell:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell:hover input,.kanban-detail-panel .detail-field-cell:hover select{border-color:var(--border)!important;background:var(--bg-elevated)!important}.kanban-detail-panel select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}@media(prefers-color-scheme:dark){.kanban-detail-backdrop{background:#000000a6}.kanban-detail-panel{box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}}.kanban-card-title-link{cursor:pointer;text-decoration:none;color:inherit}.kanban-card-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}</style>
191
- </head>
192
- <body>
193
- <div id="app"></div>
194
- </body>
190
+ <style rel="stylesheet" crossorigin>:root{--accent: #0089ff;--accent-dim: rgba(0, 137, 255, .15);--accent-border: rgba(0, 137, 255, .3);--success: #16a34a;--success-dim: rgba(22, 163, 74, .1);--error: #dc2626;--error-dim: rgba(220, 38, 38, .1);--warning: #d97706;--warning-dim: rgba(217, 119, 6, .1);--info: #2563eb;--info-dim: rgba(37, 99, 235, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace;--bg-root: #ffffff;--bg-surface: #f9fafb;--bg-elevated: #f3f4f6;--bg-hover: #e5e7eb;--bg-active: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-faint: #9ca3af;--border: #e5e7eb;--border-subtle: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg-root: #08080a;--bg-surface: #111113;--bg-elevated: #18181b;--bg-hover: #1f1f23;--bg-active: #27272a;--text-primary: #e7e5e4;--text-secondary: #a8a29e;--text-muted: #78716c;--text-faint: #57534e;--border: #27272a;--border-subtle: #1f1f23;--success: #4ade80;--success-dim: rgba(74, 222, 128, .12);--error: #f87171;--error-dim: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .12);--info: #60a5fa;--info-dim: rgba(96, 165, 250, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{border-radius:var(--radius-lg);overflow:hidden}html,body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.drag-scroll::-webkit-scrollbar{display:none}.drag-scroll{scrollbar-width:none}article button:hover:not(:disabled){background:var(--bg-hover)!important;color:var(--text-primary)!important}article[draggable=true]:active{cursor:grabbing;opacity:.85}.kanban-detail-backdrop{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto;backdrop-filter:blur(2px)}.kanban-detail-panel{background:var(--bg-root);border:1px solid var(--border);border-radius:10px;max-width:520px;width:100%;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;position:relative;display:flex;flex-direction:column}.kanban-detail-panel .detail-field-row{transition:background .1s}.kanban-detail-panel .detail-field-row:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell{transition:background .1s;border-radius:4px}.kanban-detail-panel .detail-field-cell:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell:hover input,.kanban-detail-panel .detail-field-cell:hover select{border-color:var(--border)!important;background:var(--bg-elevated)!important}.kanban-detail-panel select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}@media(prefers-color-scheme:dark){.kanban-detail-backdrop{background:#000000a6}.kanban-detail-panel{box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}}.kanban-card-title-link{cursor:pointer;text-decoration:none;color:inherit}.kanban-card-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}</style>
191
+ </head>
192
+ <body>
193
+ <div id="app"></div>
194
+ </body>
195
195
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Doclist Viewer - mcp-erpnext</title>
7
- <script type="module" crossorigin>(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))l(u);new MutationObserver(u=>{for(const d of u)if(d.type==="childList")for(const f of d.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&l(f)}).observe(document,{childList:!0,subtree:!0});function i(u){const d={};return u.integrity&&(d.integrity=u.integrity),u.referrerPolicy&&(d.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?d.credentials="include":u.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(u){if(u.ep)return;u.ep=!0;const d=i(u);fetch(u.href,d)}})();var ta={exports:{}},go={},na={exports:{}},ae={};/**
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Doclist Viewer - mcp-erpnext</title>
7
+ <script type="module" crossorigin>(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))l(u);new MutationObserver(u=>{for(const d of u)if(d.type==="childList")for(const f of d.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&l(f)}).observe(document,{childList:!0,subtree:!0});function i(u){const d={};return u.integrity&&(d.integrity=u.integrity),u.referrerPolicy&&(d.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?d.credentials="include":u.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(u){if(u.ep)return;u.ep=!0;const d=i(u);fetch(u.href,d)}})();var ta={exports:{}},go={},na={exports:{}},ae={};/**
8
8
  * @license React
9
9
  * react.production.min.js
10
10
  *
@@ -122,9 +122,9 @@ Boolean requesting whether a visible border and background is provided by the ho
122
122
  container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:z().optional().describe("User's language and region preference in BCP 47 format."),timeZone:z().optional().describe("User's timezone in IANA format."),userAgent:z().optional().describe("Host application identifier."),platform:fe([k("web"),k("desktop"),k("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:T({touch:Ne().optional().describe("Whether the device supports touch input."),hover:Ne().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:T({top:ue().describe("Top safe area inset in pixels."),right:ue().describe("Right safe area inset in pixels."),bottom:ue().describe("Bottom safe area inset in pixels."),left:ue().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough(),RS=T({method:k("ui/notifications/host-context-changed"),params:zp.describe("Partial context update containing only changed fields.")});T({method:k("ui/update-model-context"),params:T({content:oe(Ro).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:Te(z(),Ce().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})});T({method:k("ui/initialize"),params:T({appInfo:is.describe("App identification (name and version)."),appCapabilities:zS.describe("Features and capabilities this app provides."),protocolVersion:z().describe("Protocol version this app supports.")})});var PS=T({protocolVersion:z().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:is.describe("Host application identification and version."),hostCapabilities:xS.describe("Features and capabilities provided by the host."),hostContext:zp.describe("Rich context about the host environment.")}).passthrough();class NS extends lS{_appInfo;_capabilities;options;_hostCapabilities;_hostInfo;_hostContext;constructor(o,i={},l={autoResize:!0}){super(l),this._appInfo=o,this._capabilities=i,this.options=l,this.setRequestHandler(ss,u=>(console.log("Received ping:",u.params),{})),this.onhostcontextchanged=()=>{}}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}set ontoolinput(o){this.setNotificationHandler(vS,i=>o(i.params))}set ontoolinputpartial(o){this.setNotificationHandler(yS,i=>o(i.params))}set ontoolresult(o){this.setNotificationHandler(CS,i=>o(i.params))}set ontoolcancelled(o){this.setNotificationHandler(_S,i=>o(i.params))}set onhostcontextchanged(o){this.setNotificationHandler(RS,i=>{this._hostContext={...this._hostContext,...i.params},o(i.params)})}set onteardown(o){this.setRequestHandler(kS,(i,l)=>o(i.params,l))}set oncalltool(o){this.setRequestHandler(kp,(i,l)=>o(i.params,l))}set onlisttools(o){this.setRequestHandler(Sp,(i,l)=>o(i.params,l))}assertCapabilityForMethod(o){}assertRequestHandlerCapability(o){switch(o){case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Client does not support tool capability (required for ${o})`);return;case"ping":case"ui/resource-teardown":return;default:throw Error(`No handler for method ${o} registered`)}}assertNotificationCapability(o){}assertTaskCapability(o){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(o){throw Error("Task handlers are not supported in MCP Apps")}async callServerTool(o,i){if(typeof o=="string")throw Error(`callServerTool() expects an object as its first argument, but received a string ("${o}"). Did you mean: callServerTool({ name: "${o}", arguments: { ... } })?`);return await this.request({method:"tools/call",params:o},ls,i)}async readServerResource(o,i){return await this.request({method:"resources/read",params:o},yp,i)}async listServerResources(o,i){return await this.request({method:"resources/list",params:o},vp,i)}sendMessage(o,i){return this.request({method:"ui/message",params:o},gS,i)}sendLog(o){return this.notification({method:"notifications/message",params:o})}updateModelContext(o,i){return this.request({method:"ui/update-model-context",params:o},Ta,i)}openLink(o,i){return this.request({method:"ui/open-link",params:o},mS,i)}sendOpenLink=this.openLink;downloadFile(o,i){return this.request({method:"ui/download-file",params:o},hS,i)}requestDisplayMode(o,i){return this.request({method:"ui/request-display-mode",params:o},ES,i)}sendSizeChanged(o){return this.notification({method:"ui/notifications/size-changed",params:o})}setupSizeChangedNotifications(){let o=!1,i=0,l=0,u=()=>{o||(o=!0,requestAnimationFrame(()=>{o=!1;let f=document.documentElement,m=f.style.width,y=f.style.height;f.style.width="fit-content",f.style.height="max-content";let S=f.getBoundingClientRect();f.style.width=m,f.style.height=y;let C=window.innerWidth-f.clientWidth,P=Math.ceil(S.width+C),j=Math.ceil(S.height);(P!==i||j!==l)&&(i=P,l=j,this.sendSizeChanged({width:P,height:j}))}))};u();let d=new ResizeObserver(u);return d.observe(document.documentElement),d.observe(document.body),()=>d.disconnect()}async connect(o=new cS(window.parent,window.parent),i){if(this.transport)throw Error("App is already connected. Call close() before connecting again.");await super.connect(o);try{let l=await this.request({method:"ui/initialize",params:{appCapabilities:this._capabilities,appInfo:this._appInfo,protocolVersion:aS}},PS,i);if(l===void 0)throw Error(`Server sent invalid initialize result: ${l}`);this._hostCapabilities=l.hostCapabilities,this._hostInfo=l.hostInfo,this._hostContext=l.hostContext,await this.notification({method:"ui/notifications/initialized"}),this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(l){throw this.close(),l}}}function qe(n){return`var(${n})`}const I={bg:{surface:qe("--bg-surface"),elevated:qe("--bg-elevated"),hover:qe("--bg-hover")},text:{primary:qe("--text-primary"),secondary:qe("--text-secondary"),muted:qe("--text-muted"),faint:qe("--text-faint")},accent:qe("--accent"),accentDim:qe("--accent-dim"),border:qe("--border"),borderSubtle:qe("--border-subtle"),success:qe("--success"),successDim:qe("--success-dim"),error:qe("--error"),errorDim:qe("--error-dim"),warning:qe("--warning"),warningDim:qe("--warning-dim"),info:qe("--info"),infoDim:qe("--info-dim")},Jt={sans:qe("--font-sans"),mono:qe("--font-mono")},Rt={card:{background:I.bg.surface,border:`1px solid ${I.border}`,borderRadius:"8px",padding:"16px"},badge:(n,o)=>({display:"inline-flex",alignItems:"center",padding:"2px 8px",fontSize:"11px",fontWeight:600,borderRadius:"4px",color:n,background:o,letterSpacing:"0.02em"}),input:{background:I.bg.elevated,border:`1px solid ${I.border}`,borderRadius:"6px",padding:"6px 12px",fontSize:"13px",color:I.text.primary,outline:"none",transition:"border-color 0.15s",width:"100%",fontFamily:Jt.sans},button:{background:I.bg.elevated,border:`1px solid ${I.border}`,borderRadius:"6px",padding:"6px 14px",fontSize:"12px",color:I.text.secondary,cursor:"pointer",transition:"all 0.15s",fontFamily:Jt.sans,whiteSpace:"nowrap"},buttonActive:{background:I.accentDim,borderColor:I.accent,color:I.accent},tableHeader:{padding:"8px 12px",textAlign:"left",fontSize:"11px",fontWeight:600,color:I.text.muted,textTransform:"uppercase",letterSpacing:"0.05em",borderBottom:`1px solid ${I.border}`,cursor:"pointer",userSelect:"none",whiteSpace:"nowrap",transition:"color 0.15s"},tableCell:{padding:"8px 12px",fontSize:"13px",borderBottom:`1px solid ${I.borderSubtle}`,color:I.text.primary},mono:{fontFamily:Jt.mono,fontSize:"12px"}};function IS(n,o=2){return n.toLocaleString("en-US",{minimumFractionDigits:o,maximumFractionDigits:o})}function OS(){return O.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[O.jsx("rect",{x:"1",y:"1",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.9"}),O.jsx("rect",{x:"9",y:"1",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.6"}),O.jsx("rect",{x:"1",y:"9",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.6"}),O.jsx("rect",{x:"9",y:"9",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.35"})]})}function jS(){const n={display:"flex",alignItems:"center",gap:7,padding:"0 14px",height:30,background:I.bg.surface,borderBottom:`1px solid ${I.border}`,flexShrink:0},o={fontFamily:Jt.sans,fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:I.accent},i={width:3,height:3,borderRadius:"50%",background:I.text.faint,marginLeft:2,marginRight:2,flexShrink:0},l={fontFamily:Jt.sans,fontSize:10,color:I.text.muted,letterSpacing:"0.03em"};return O.jsxs("div",{style:n,children:[O.jsx("div",{style:{color:I.accent},children:O.jsx(OS,{})}),O.jsx("span",{style:o,children:"ERPNext"}),O.jsx("div",{style:i}),O.jsx("span",{style:l,children:"gestion ERP"})]})}function $S(){const n={display:"flex",justifyContent:"flex-end",alignItems:"center",padding:"6px 16px 8px",borderTop:`1px solid ${I.borderSubtle}`,marginTop:8},o={fontFamily:Jt.sans,fontSize:10,color:I.text.faint,letterSpacing:"0.04em"};return O.jsx("div",{style:n,children:O.jsx("span",{style:o,children:"Casys AI"})})}function bS(n,o={}){return!n.request||n.visibilityState!=="visible"||n.refreshInFlight?!1:o.ignoreInterval?!0:n.now-n.lastRefreshStartedAt>=n.minIntervalMs}function yf(n,o){return n?.refreshRequest??o}function MS(n){return n instanceof Error&&/timed? out/i.test(n.message)?"Refresh timed out":"Refresh failed"}function Yi(n){return n.structuredContent?JSON.stringify(n.structuredContent):n.content?.find(o=>o.type==="text")?.text??null}const LS=new Set(["status","docstatus","workflow_state"]),DS=new Set(["doctype","owner","modified_by","creation","modified","idx","_rowAction","_sendMessageHints"]),AS=new Set(["status","workflow_state","company","territory","customer_group","item_group","supplier_group","priority","type"]),ZS=6,FS=["name","status","customer","customer_name","supplier","supplier_name","item_code","item_name","employee_name","project","subject","grand_total","outstanding_amount","posting_date","transaction_date","delivery_date"];function US(n){const o=[],i=[];for(const l of FS)n.includes(l)&&o.push(l);for(const l of n.sort())o.includes(l)||i.push(l);return[...o,...i].slice(0,ZS)}function _f(n){return LS.has(n.toLowerCase())}function Xi(n){return n==null?"—":typeof n=="number"?IS(n,n%1===0?0:2):typeof n=="boolean"?n?"Yes":"No":typeof n=="object"?JSON.stringify(n):String(n)}function HS(n,o,i){const l=n.join(","),u=o.map(S=>n.map(C=>{const P=Xi(S[C]);return P.includes(",")||P.includes('"')?`"${P.replace(/"/g,'""')}"`:P}).join(",")).join(`
123
123
  `),d=`${l}
124
124
  ${u}`,f=new Blob([d],{type:"text/csv"}),m=URL.createObjectURL(f),y=document.createElement("a");y.href=m,y.download=`${i??"export"}.csv`,y.click(),URL.revokeObjectURL(m)}function wf(n,o){let i=n;for(const l of o.split(".")){if(i==null||typeof i!="object")return;i=i[l]}return i}const qa={Submitted:{color:I.success,bg:I.successDim},Completed:{color:I.success,bg:I.successDim},Paid:{color:I.success,bg:I.successDim},Active:{color:I.success,bg:I.successDim},Enabled:{color:I.success,bg:I.successDim},"To Deliver and Bill":{color:I.info,bg:I.infoDim},"To Bill":{color:I.info,bg:I.infoDim},"To Deliver":{color:I.info,bg:I.infoDim},Draft:{color:I.text.muted,bg:I.bg.elevated},Pending:{color:I.warning,bg:I.warningDim},Open:{color:I.warning,bg:I.warningDim},"Partly Paid":{color:I.warning,bg:I.warningDim},"Partly Delivered":{color:I.warning,bg:I.warningDim},Cancelled:{color:I.error,bg:I.errorDim},Overdue:{color:I.error,bg:I.errorDim},Closed:{color:I.text.faint,bg:I.bg.elevated},Disabled:{color:I.text.faint,bg:I.bg.elevated}};function qS({value:n}){const o=qa[n];return o?O.jsx("span",{style:Rt.badge(o.color,o.bg),children:n}):O.jsx("span",{children:n})}function VS(){return O.jsx("div",{style:{padding:24},children:O.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[[1,2,3,4].map(n=>O.jsx("div",{className:"skeleton",style:{height:n===1?32:20,width:n===1?"40%":`${60+n*8}%`}},n)),O.jsx("div",{style:{marginTop:8},children:[1,2,3,4,5].map(n=>O.jsx("div",{className:"skeleton",style:{height:36,marginBottom:2}},n))})]})})}function BS(){return O.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"48px 24px",color:I.text.muted,gap:16},children:[O.jsxs("svg",{width:"56",height:"56",viewBox:"0 0 56 56",fill:"none",style:{opacity:.35},children:[O.jsx("rect",{x:"8",y:"8",width:"40",height:"40",rx:"4",stroke:"currentColor",strokeWidth:"2"}),O.jsx("path",{d:"M8 18h40",stroke:"currentColor",strokeWidth:"2"}),O.jsx("path",{d:"M20 8v40M36 8v40",stroke:"currentColor",strokeWidth:"1",opacity:"0.3"}),O.jsx("path",{d:"M8 28h40M8 38h40",stroke:"currentColor",strokeWidth:"1",opacity:"0.3"})]}),O.jsxs("div",{style:{fontSize:13,textAlign:"center"},children:["No documents to display",O.jsx("div",{style:{fontSize:11,color:I.text.faint,marginTop:4},children:"Query a DocType to see results in this table"})]})]})}const Sf={success:{color:I.success,bg:I.successDim},error:{color:I.error,bg:I.errorDim},info:{color:I.info,bg:I.infoDim},default:{color:I.text.secondary,bg:I.bg.elevated}};function qi({label:n,variant:o="default",disabled:i,loading:l,confirm:u,onClick:d}){const[f,m]=ge.useState(!1),y=ge.useRef();ge.useEffect(()=>()=>clearTimeout(y.current),[]);const S=Sf[o]??Sf.default;return O.jsx("button",{onClick:()=>{if(u&&!f){m(!0),clearTimeout(y.current),y.current=setTimeout(()=>m(!1),4e3);return}m(!1),d()},disabled:i||l,style:{...Rt.button,background:S.bg,color:S.color,borderColor:S.color,opacity:i||l?.5:1,fontSize:11,padding:"4px 10px"},children:l?"…":f?"Confirm?":n})}function WS({label:n,value:o,bold:i}){return O.jsxs("div",{style:{padding:"4px 0"},children:[O.jsx("div",{style:{fontSize:10,color:I.text.muted,textTransform:"uppercase",letterSpacing:"0.04em",marginBottom:2},children:n}),O.jsx("div",{style:{fontSize:i?15:13,fontWeight:i?600:500,color:I.text.primary,fontFamily:i?Jt.mono:Jt.sans},children:o??"—"})]})}function QS({app:n,data:o,loading:i,doctype:l,sendMessageHints:u,onClose:d,onAction:f}){const[m,y]=ge.useState(null),[S,C]=ge.useState(null),[P,j]=ge.useState(!0);if(i)return O.jsx("div",{style:{padding:16,background:I.bg.surface},children:[1,2,3].map(ne=>O.jsx("div",{className:"skeleton",style:{height:14,width:`${30+ne*15}%`,marginBottom:8}},ne))});if(!o)return null;async function D(ne,ce,pe,Se){y(ne),C(null);const kt=await f(ce,pe);j(kt),C(kt?Se:"Action failed"),y(null)}const ee=[];for(const[ne,ce]of Object.entries(o))if(!(ne.startsWith("_")||ne==="refreshRequest"||ne==="doctype")&&ce!=null)if(Array.isArray(ce))ee.push([ne,`${ce.length} item${ce.length>1?"s":""}`]);else if(typeof ce=="object")for(const[pe,Se]of Object.entries(ce))Se!=null&&typeof Se!="object"&&ee.push([`${ne}.${pe}`,String(Se)]);else ee.push([ne,Xi(ce)]);const F=String(o.name??""),K=String(o.status??o.docstatus??""),de=qa[K],me=K==="Draft"||o.docstatus===0,ie=o.docstatus===1,se=u?.map(ne=>({...ne,message:ne.message.replace(/\{id\}/g,F).replace(/\{doctype\}/g,l??"")}))??[];return O.jsxs("div",{style:{padding:16,background:I.bg.surface,borderTop:`2px solid ${I.accent}`},children:[O.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:10},children:[O.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[O.jsx("span",{style:{fontSize:14,fontWeight:600,color:I.text.primary,fontFamily:Jt.mono},children:F}),de&&O.jsx("span",{style:Rt.badge(de.color,de.bg),children:K}),l&&O.jsx("span",{style:{fontSize:11,color:I.text.muted},children:l})]}),O.jsx("button",{onClick:d,style:{...Rt.button,padding:"2px 8px",fontSize:11},children:"✕"})]}),O.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(160px, 1fr))",gap:6,marginBottom:10},children:ee.slice(0,12).map(([ne,ce])=>O.jsx(WS,{label:ne.replace(/_/g," ").replace(/\./g," > "),value:ce,bold:ne==="grand_total"||ne==="total"||ne==="amount"},ne))}),S&&O.jsx("div",{style:{fontSize:11,color:P?I.success:I.error,marginBottom:8},children:S}),O.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap",paddingTop:8,borderTop:`1px solid ${I.border}`},children:[me&&F&&O.jsx(qi,{label:"Submit",variant:"success",loading:m==="submit",confirm:!0,onClick:()=>D("submit","erpnext_doc_submit",{doctype:l??"",name:F},"Submitted")}),ie&&F&&O.jsx(qi,{label:"Cancel",variant:"error",loading:m==="cancel",confirm:!0,onClick:()=>D("cancel","erpnext_doc_cancel",{doctype:l??"",name:F},"Cancelled")}),se.map((ne,ce)=>O.jsx(qi,{label:ne.label,onClick:async()=>{try{await n.sendMessage({role:"user",content:[{type:"text",text:ne.message}]})}catch{}}},ce)),F&&l&&se.length===0&&O.jsx(qi,{label:"Full details",onClick:async()=>{try{await n.sendMessage({role:"user",content:[{type:"text",text:`Show me the full details of ${l} ${F}`}]})}catch{}}})]})]})}function JS(n){return["status","docstatus","workflow_state"].includes(n.toLowerCase())}function KS({columns:n,chipFilters:o,onFilterChange:i}){return n.length===0?null:O.jsx("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center",marginBottom:12},children:n.map(({col:l,values:u})=>O.jsxs(ge.Fragment,{children:[O.jsx("span",{style:{fontSize:10,color:I.text.faint,textTransform:"uppercase",letterSpacing:"0.1em",fontWeight:700},children:l.replace(/_/g," ")}),O.jsx("button",{onClick:()=>i(l,null),style:{...Rt.button,padding:"4px 10px",fontSize:10,borderRadius:8,border:"1px solid transparent",background:o[l]==null?I.accentDim:I.bg.elevated,color:o[l]==null?I.accent:I.text.secondary,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.08em"},children:"All"}),u.map(d=>{const f=o[l]===d,m=JS(l)?qa[d]:null;return O.jsx("button",{onClick:()=>i(l,d),style:{...Rt.button,padding:"4px 10px",fontSize:10,borderRadius:8,border:"1px solid transparent",background:f?m?.bg??I.accentDim:I.bg.elevated,color:f?m?.color??I.accent:I.text.secondary,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.08em"},children:d},d)})]},l))})}function Vi({label:n,disabled:o,onClick:i}){return O.jsx("button",{onClick:i,disabled:o,style:{...Rt.button,padding:"4px 10px",fontSize:11,opacity:o?.4:1,cursor:o?"default":"pointer"},onMouseEnter:l=>{o||(l.currentTarget.style.borderColor=I.accent)},onMouseLeave:l=>{l.currentTarget.style.borderColor=I.border},children:n})}const dn=new NS({name:"Doclist Viewer",version:"2.0.0"}),GS=15e3,Bi=1e4;function YS(){const[n,o]=ge.useState(null),[i,l]=ge.useState(!0),[u,d]=ge.useState(!1),[f,m]=ge.useState(null),y=ge.useRef(null),S=ge.useRef(null),C=ge.useRef(!1),P=ge.useRef(0);function j(F){y.current=F,S.current=yf(F,S.current),o(F)}function D(F){if(F.isError){const de=Yi(F);return m(de??"Tool returned an error"),l(!1),!1}const K=Yi(F);if(!K)return!1;try{const de=JSON.parse(K);if(!de)return!1;if(!Array.isArray(de.data))if(de._title||de._rowAction||de.count!=null)de.data=[];else return!1;return j(de),m(null),l(!1),!0}catch{return m("Failed to parse doclist payload"),l(!1),!1}}async function ee(F={}){const K=yf(y.current,S.current);if(bS({request:K,visibilityState:typeof document>"u"?"visible":document.visibilityState,refreshInFlight:C.current,now:Date.now(),lastRefreshStartedAt:P.current,minIntervalMs:GS},F)&&!(!K||!dn.getHostCapabilities()?.serverTools)){C.current=!0,P.current=Date.now(),d(!0);try{const de=await dn.callServerTool({name:K.toolName,arguments:K.arguments},{timeout:Bi});de.isError?m("Refresh failed"):D(de)||m("Refresh returned no data")}catch(de){m(MS(de))}finally{C.current=!1,d(!1)}}}return ge.useEffect(()=>{dn.connect().catch(()=>{}),dn.ontoolresult=F=>{D(F)},dn.ontoolinputpartial=()=>{y.current||l(!0)}},[]),ge.useEffect(()=>{const F=()=>void ee({ignoreInterval:!0}),K=()=>{document.visibilityState==="visible"&&ee({ignoreInterval:!0})};return window.addEventListener("focus",F),document.addEventListener("visibilitychange",K),()=>{window.removeEventListener("focus",F),document.removeEventListener("visibilitychange",K)}},[]),O.jsxs("div",{style:{display:"flex",flexDirection:"column",minHeight:"100vh"},"aria-busy":u,children:[O.jsx(jS,{}),O.jsx("div",{style:{flex:1},children:i?O.jsx(VS,{}):n?O.jsx(XS,{data:n,error:f,refreshing:u,onRefresh:()=>void ee({ignoreInterval:!0}),onError:m}):O.jsx(BS,{})}),O.jsx($S,{})]})}const aa=20;function XS({data:n,error:o,refreshing:i,onRefresh:l,onError:u}){const[d,f]=ge.useState(null),[m,y]=ge.useState("asc"),[S,C]=ge.useState(""),[P,j]=ge.useState(0),[D,ee]=ge.useState(null),[F,K]=ge.useState(null),[de,me]=ge.useState(!1),[ie,se]=ge.useState({}),ne=ge.useRef(),ce=ge.useRef(null),pe=n._rowAction,Se=n.data??[],kt=Se.length>0&&Se[0]._detail!=null,It=!!pe||kt;async function tn(g){const R=String(pe?wf(g,pe.idField)??"":g._id??g.name??"");if(R){if(D===R){ee(null),K(null);return}if(!pe&&g._detail){ee(R),K(g._detail);return}if(pe){ee(R),K(null),me(!0),ce.current=R;try{const Z={...pe.extraArgs,[pe.argName]:R},q=await dn.callServerTool({name:pe.toolName,arguments:Z},{timeout:Bi});if(ce.current!==R)return;if(q.isError)u("Failed to load details"),ee(null);else{const G=Yi(q);if(G){const le=JSON.parse(G);K(le.data??le),u(null)}}}catch(Z){if(ce.current!==R)return;u(Z instanceof Error?Z.message:"Failed to load details"),ee(null)}finally{ce.current===R&&me(!1)}}}}async function Ot(g,R){try{if((await dn.callServerTool({name:g,arguments:R},{timeout:Bi})).isError)return!1;const q=D;return clearTimeout(ne.current),ne.current=setTimeout(async()=>{if(q&&pe&&ce.current===q)try{const G=await dn.callServerTool({name:pe.toolName,arguments:{...pe.extraArgs,[pe.argName]:q}},{timeout:Bi});if(ce.current!==q)return;if(!G.isError){const le=Yi(G);if(le){const he=JSON.parse(le);K(he.data??he)}}}catch{}},1500),!0}catch{return!1}}ge.useEffect(()=>{ee(null),K(null)},[d,m,S,P,ie]);const ut=ge.useMemo(()=>{if(Se.length<2)return[];const g=[];for(const R of Object.keys(Se[0]??{})){if(!AS.has(R)&&!_f(R))continue;const Z=new Set;for(const q of Se){const G=q[R];if(G!=null&&typeof G=="string"&&Z.add(G),Z.size>8)break}Z.size>=2&&Z.size<=8&&g.push({col:R,values:Array.from(Z).sort()})}return g},[Se]),Ve=ge.useMemo(()=>{if(Se.length===0)return[];const g=new Set;for(const R of Se)for(const Z of Object.keys(R))!DS.has(Z)&&!Z.startsWith("_")&&g.add(Z);return US(Array.from(g))},[Se]),pt=ge.useMemo(()=>{let g=Se;for(const[R,Z]of Object.entries(ie))Z&&(g=g.filter(q=>q[R]===Z));if(S){const R=S.toLowerCase();g=g.filter(Z=>Ve.some(q=>Xi(Z[q]).toLowerCase().includes(R)))}return g},[Se,S,Ve,ie]),Qe=ge.useMemo(()=>d?[...pt].sort((g,R)=>{const Z=g[d],q=R[d];if(Z==null&&q==null)return 0;if(Z==null)return 1;if(q==null)return-1;const G=typeof Z=="number"&&typeof q=="number"?Z-q:String(Z).localeCompare(String(q));return m==="asc"?G:-G}):pt,[pt,d,m]),Ee=Math.ceil(Qe.length/aa),A=Qe.slice(P*aa,(P+1)*aa),te=ge.useCallback(g=>{d===g?y(R=>R==="asc"?"desc":"asc"):(f(g),y("asc"))},[d]),H=n._title??n.doctype??"Documents";return O.jsxs("div",{style:{padding:16,fontFamily:Jt.sans},children:[O.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12,flexWrap:"wrap",gap:8},children:[O.jsxs("div",{children:[O.jsx("div",{style:{fontSize:16,fontWeight:700,color:I.text.primary},children:H}),O.jsxs("div",{style:{fontSize:12,color:I.text.muted},children:[Qe.length," of ",n.count??Se.length," records"]}),O.jsx("div",{"aria-live":"polite",style:{fontSize:11,color:o?I.error:I.text.faint,marginTop:4},children:o??(i?"Refreshing…":"Auto-refresh on focus")})]}),O.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[O.jsx("input",{type:"text",placeholder:"Search...",value:S,onChange:g=>{C(g.target.value),j(0)},style:{...Rt.input,maxWidth:200},onFocus:g=>{g.target.style.borderColor=I.accent},onBlur:g=>{g.target.style.borderColor=I.border}}),O.jsx("button",{onClick:l,disabled:i,style:Rt.button,onMouseEnter:g=>{i||(g.currentTarget.style.borderColor=I.accent,g.currentTarget.style.color=I.accent)},onMouseLeave:g=>{g.currentTarget.style.borderColor=I.border,g.currentTarget.style.color=I.text.secondary},children:O.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[O.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[O.jsx("path",{d:"M10 6a4 4 0 1 1-1.1-2.76",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"}),O.jsx("path",{d:"M10 2v2.8H7.2",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})]}),i?"Refreshing":"Refresh"]})}),O.jsx("button",{onClick:()=>HS(Ve,Qe,n.doctype),style:Rt.button,onMouseEnter:g=>{g.currentTarget.style.borderColor=I.accent,g.currentTarget.style.color=I.accent},onMouseLeave:g=>{g.currentTarget.style.borderColor=I.border,g.currentTarget.style.color=I.text.secondary},children:O.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[O.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:O.jsx("path",{d:"M6 1v8M6 9l-3-3M6 9l3-3M2 11h8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})}),"CSV"]})})]})]}),O.jsx(KS,{columns:ut,chipFilters:ie,onFilterChange:(g,R)=>{se(Z=>{if(R===null){const q={...Z};return delete q[g],q}return{...Z,[g]:R}}),j(0)}}),O.jsx("div",{style:{border:`1px solid ${I.border}`,borderRadius:8,overflow:"hidden"},children:O.jsx("div",{style:{overflowX:"auto"},children:O.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:Math.max(600,Ve.length*120)},children:[O.jsx("thead",{children:O.jsx("tr",{children:Ve.map(g=>O.jsxs("th",{onClick:()=>te(g),style:{...Rt.tableHeader,background:I.bg.surface,color:d===g?I.accent:I.text.muted},children:[g.replace(/_/g," "),O.jsx("span",{style:{marginLeft:4,opacity:d===g?1:.3,fontSize:10},children:d===g?m==="asc"?"▲":"▼":"⇅"})]},g))})}),O.jsx("tbody",{children:A.length===0?O.jsx("tr",{children:O.jsx("td",{colSpan:Ve.length,style:{...Rt.tableCell,textAlign:"center",color:I.text.muted,padding:32},children:"No matching records"})}):A.map((g,R)=>{const Z=String(pe?wf(g,pe.idField)??"":g._id??g.name??R),q=D===Z&&Z!=="";return O.jsxs(ge.Fragment,{children:[O.jsx("tr",{style:{transition:"background 0.1s",cursor:It?"pointer":"default",background:q?I.bg.hover:"transparent"},onClick:It?()=>void tn(g):void 0,onMouseEnter:G=>{q||(G.currentTarget.style.background=I.bg.hover)},onMouseLeave:G=>{q||(G.currentTarget.style.background="transparent")},children:Ve.map((G,le)=>{const he=g[G],_e=typeof he=="number",Re=_f(G)&&typeof he=="string";return O.jsx("td",{style:{...Rt.tableCell,..._e?{textAlign:"right",fontFamily:Jt.mono,fontSize:12}:{},...G==="name"?{fontWeight:500}:{},maxWidth:250,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:O.jsxs("span",{style:{display:"flex",alignItems:"center",gap:6,justifyContent:_e?"flex-end":"flex-start"},children:[de&&q&&le===0&&O.jsx("span",{className:"skeleton",style:{width:12,height:12,borderRadius:"50%",display:"inline-block",flexShrink:0}}),Re?O.jsx(qS,{value:he}):Xi(he)]})},G)})}),q&&O.jsx("tr",{children:O.jsx("td",{colSpan:Ve.length,style:{padding:0,borderBottom:`1px solid ${I.border}`},children:O.jsx(QS,{app:dn,data:F,loading:de,doctype:n.doctype,sendMessageHints:n._sendMessageHints,onClose:()=>{ee(null),K(null)},onAction:Ot})})})]},R)})})]})})}),Ee>1&&O.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:12,flexWrap:"wrap",gap:8},children:[O.jsxs("div",{style:{fontSize:12,color:I.text.muted},children:["Page ",P+1," of ",Ee]}),O.jsxs("div",{style:{display:"flex",gap:4},children:[O.jsx(Vi,{label:"First",disabled:P===0,onClick:()=>j(0)}),O.jsx(Vi,{label:"Prev",disabled:P===0,onClick:()=>j(g=>g-1)}),O.jsx(Vi,{label:"Next",disabled:P>=Ee-1,onClick:()=>j(g=>g+1)}),O.jsx(Vi,{label:"Last",disabled:P>=Ee-1,onClick:()=>j(Ee-1)})]})]})]})}Ph.createRoot(document.getElementById("app")).render(O.jsx(YS,{}));</script>
125
- <style rel="stylesheet" crossorigin>:root{--accent: #0089FF;--accent-dim: rgba(0, 137, 255, .15);--accent-border: rgba(0, 137, 255, .3);--success: #16a34a;--success-dim: rgba(22, 163, 74, .1);--error: #dc2626;--error-dim: rgba(220, 38, 38, .1);--warning: #d97706;--warning-dim: rgba(217, 119, 6, .1);--info: #2563eb;--info-dim: rgba(37, 99, 235, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace;--bg-root: #ffffff;--bg-surface: #f9fafb;--bg-elevated: #f3f4f6;--bg-hover: #e5e7eb;--bg-active: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-faint: #9ca3af;--border: #e5e7eb;--border-subtle: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg-root: #08080a;--bg-surface: #111113;--bg-elevated: #18181b;--bg-hover: #1f1f23;--bg-active: #27272a;--text-primary: #e7e5e4;--text-secondary: #a8a29e;--text-muted: #78716c;--text-faint: #57534e;--border: #27272a;--border-subtle: #1f1f23;--success: #4ade80;--success-dim: rgba(74, 222, 128, .12);--error: #f87171;--error-dim: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .12);--info: #60a5fa;--info-dim: rgba(96, 165, 250, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{border-radius:var(--radius-lg);overflow:hidden}html,body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.drag-scroll::-webkit-scrollbar{display:none}.drag-scroll{scrollbar-width:none}article button:hover:not(:disabled){background:var(--bg-hover)!important;color:var(--text-primary)!important}article[draggable=true]:active{cursor:grabbing;opacity:.85}.kanban-detail-backdrop{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto;backdrop-filter:blur(2px)}.kanban-detail-panel{background:var(--bg-root);border:1px solid var(--border);border-radius:10px;max-width:520px;width:100%;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;position:relative;display:flex;flex-direction:column}.kanban-detail-panel .detail-field-row{transition:background .1s}.kanban-detail-panel .detail-field-row:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell{transition:background .1s;border-radius:4px}.kanban-detail-panel .detail-field-cell:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell:hover input,.kanban-detail-panel .detail-field-cell:hover select{border-color:var(--border)!important;background:var(--bg-elevated)!important}.kanban-detail-panel select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}@media(prefers-color-scheme:dark){.kanban-detail-backdrop{background:#000000a6}.kanban-detail-panel{box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}}.kanban-card-title-link{cursor:pointer;text-decoration:none;color:inherit}.kanban-card-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}</style>
126
- </head>
127
- <body>
128
- <div id="app"></div>
129
- </body>
125
+ <style rel="stylesheet" crossorigin>:root{--accent: #0089ff;--accent-dim: rgba(0, 137, 255, .15);--accent-border: rgba(0, 137, 255, .3);--success: #16a34a;--success-dim: rgba(22, 163, 74, .1);--error: #dc2626;--error-dim: rgba(220, 38, 38, .1);--warning: #d97706;--warning-dim: rgba(217, 119, 6, .1);--info: #2563eb;--info-dim: rgba(37, 99, 235, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace;--bg-root: #ffffff;--bg-surface: #f9fafb;--bg-elevated: #f3f4f6;--bg-hover: #e5e7eb;--bg-active: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-faint: #9ca3af;--border: #e5e7eb;--border-subtle: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg-root: #08080a;--bg-surface: #111113;--bg-elevated: #18181b;--bg-hover: #1f1f23;--bg-active: #27272a;--text-primary: #e7e5e4;--text-secondary: #a8a29e;--text-muted: #78716c;--text-faint: #57534e;--border: #27272a;--border-subtle: #1f1f23;--success: #4ade80;--success-dim: rgba(74, 222, 128, .12);--error: #f87171;--error-dim: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .12);--info: #60a5fa;--info-dim: rgba(96, 165, 250, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{border-radius:var(--radius-lg);overflow:hidden}html,body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.drag-scroll::-webkit-scrollbar{display:none}.drag-scroll{scrollbar-width:none}article button:hover:not(:disabled){background:var(--bg-hover)!important;color:var(--text-primary)!important}article[draggable=true]:active{cursor:grabbing;opacity:.85}.kanban-detail-backdrop{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto;backdrop-filter:blur(2px)}.kanban-detail-panel{background:var(--bg-root);border:1px solid var(--border);border-radius:10px;max-width:520px;width:100%;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;position:relative;display:flex;flex-direction:column}.kanban-detail-panel .detail-field-row{transition:background .1s}.kanban-detail-panel .detail-field-row:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell{transition:background .1s;border-radius:4px}.kanban-detail-panel .detail-field-cell:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell:hover input,.kanban-detail-panel .detail-field-cell:hover select{border-color:var(--border)!important;background:var(--bg-elevated)!important}.kanban-detail-panel select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}@media(prefers-color-scheme:dark){.kanban-detail-backdrop{background:#000000a6}.kanban-detail-panel{box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}}.kanban-card-title-link{cursor:pointer;text-decoration:none;color:inherit}.kanban-card-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}</style>
126
+ </head>
127
+ <body>
128
+ <div id="app"></div>
129
+ </body>
130
130
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Sales Funnel - mcp-erpnext</title>
7
- <script type="module" crossorigin>(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))a(u);new MutationObserver(u=>{for(const d of u)if(d.type==="childList")for(const f of d.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&a(f)}).observe(document,{childList:!0,subtree:!0});function i(u){const d={};return u.integrity&&(d.integrity=u.integrity),u.referrerPolicy&&(d.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?d.credentials="include":u.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function a(u){if(u.ep)return;u.ep=!0;const d=i(u);fetch(u.href,d)}})();var Jl={exports:{}},mo={},Kl={exports:{}},te={};/**
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Sales Funnel - mcp-erpnext</title>
7
+ <script type="module" crossorigin>(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))a(u);new MutationObserver(u=>{for(const d of u)if(d.type==="childList")for(const f of d.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&a(f)}).observe(document,{childList:!0,subtree:!0});function i(u){const d={};return u.integrity&&(d.integrity=u.integrity),u.referrerPolicy&&(d.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?d.credentials="include":u.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function a(u){if(u.ep)return;u.ep=!0;const d=i(u);fetch(u.href,d)}})();var Jl={exports:{}},mo={},Kl={exports:{}},te={};/**
8
8
  * @license React
9
9
  * react.production.min.js
10
10
  *
@@ -120,9 +120,9 @@ Boolean requesting whether a visible border and background is provided by the ho
120
120
  - "model": Tool visible to and callable by the agent
121
121
  - "app": Tool callable by the app from this server only`)});T({mimeTypes:Y(x()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});T({method:k("ui/download-file"),params:T({contents:Y(ie([cp,dp])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})});T({method:k("ui/message"),params:T({role:k("user").describe('Message role, currently only "user" is supported.'),content:Y(Co).describe("Message content blocks (text, image, etc.).")})});T({method:k("ui/notifications/sandbox-resource-ready"),params:T({html:x().describe("HTML content to load into the inner iframe."),sandbox:x().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:La.optional().describe("CSP configuration from resource metadata."),permissions:Da.optional().describe("Sandbox permissions from resource metadata.")})});var _k=T({method:k("ui/notifications/tool-result"),params:ts.describe("Standard MCP tool execution result.")}),mp=T({toolInfo:T({id:ko.optional().describe("JSON-RPC id of the tools/call request."),tool:Ma.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:rk.optional().describe("Current color theme preference."),styles:pk.optional().describe("Style configuration for theming the app."),displayMode:_o.optional().describe("How the UI is currently displayed."),availableDisplayModes:Y(_o).optional().describe("Display modes the host supports."),containerDimensions:ie([T({height:ne().describe("Fixed container height in pixels.")}),T({maxHeight:ie([ne(),ia()]).optional().describe("Maximum container height in pixels.")})]).and(ie([T({width:ne().describe("Fixed container width in pixels.")}),T({maxWidth:ie([ne(),ia()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
122
122
  container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:x().optional().describe("User's language and region preference in BCP 47 format."),timeZone:x().optional().describe("User's timezone in IANA format."),userAgent:x().optional().describe("Host application identifier."),platform:ie([k("web"),k("desktop"),k("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:T({touch:Se().optional().describe("Whether the device supports touch input."),hover:Se().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:T({top:ne().describe("Top safe area inset in pixels."),right:ne().describe("Right safe area inset in pixels."),bottom:ne().describe("Bottom safe area inset in pixels."),left:ne().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough(),wk=T({method:k("ui/notifications/host-context-changed"),params:mp.describe("Partial context update containing only changed fields.")});T({method:k("ui/update-model-context"),params:T({content:Y(Co).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:ye(x(),_e().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})});T({method:k("ui/initialize"),params:T({appInfo:Xi.describe("App identification (name and version)."),appCapabilities:gk.describe("Features and capabilities this app provides."),protocolVersion:x().describe("Protocol version this app supports.")})});var kk=T({protocolVersion:x().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:Xi.describe("Host application identification and version."),hostCapabilities:mk.describe("Features and capabilities provided by the host."),hostContext:mp.describe("Rich context about the host environment.")}).passthrough();class Sk extends Xw{_appInfo;_capabilities;options;_hostCapabilities;_hostInfo;_hostContext;constructor(o,i={},a={autoResize:!0}){super(a),this._appInfo=o,this._capabilities=i,this.options=a,this.setRequestHandler(es,u=>(console.log("Received ping:",u.params),{})),this.onhostcontextchanged=()=>{}}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}set ontoolinput(o){this.setNotificationHandler(uk,i=>o(i.params))}set ontoolinputpartial(o){this.setNotificationHandler(ck,i=>o(i.params))}set ontoolresult(o){this.setNotificationHandler(_k,i=>o(i.params))}set ontoolcancelled(o){this.setNotificationHandler(dk,i=>o(i.params))}set onhostcontextchanged(o){this.setNotificationHandler(wk,i=>{this._hostContext={...this._hostContext,...i.params},o(i.params)})}set onteardown(o){this.setRequestHandler(hk,(i,a)=>o(i.params,a))}set oncalltool(o){this.setRequestHandler(pp,(i,a)=>o(i.params,a))}set onlisttools(o){this.setRequestHandler(fp,(i,a)=>o(i.params,a))}assertCapabilityForMethod(o){}assertRequestHandlerCapability(o){switch(o){case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Client does not support tool capability (required for ${o})`);return;case"ping":case"ui/resource-teardown":return;default:throw Error(`No handler for method ${o} registered`)}}assertNotificationCapability(o){}assertTaskCapability(o){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(o){throw Error("Task handlers are not supported in MCP Apps")}async callServerTool(o,i){if(typeof o=="string")throw Error(`callServerTool() expects an object as its first argument, but received a string ("${o}"). Did you mean: callServerTool({ name: "${o}", arguments: { ... } })?`);return await this.request({method:"tools/call",params:o},ts,i)}async readServerResource(o,i){return await this.request({method:"resources/read",params:o},up,i)}async listServerResources(o,i){return await this.request({method:"resources/list",params:o},ap,i)}sendMessage(o,i){return this.request({method:"ui/message",params:o},ak,i)}sendLog(o){return this.notification({method:"notifications/message",params:o})}updateModelContext(o,i){return this.request({method:"ui/update-model-context",params:o},wa,i)}openLink(o,i){return this.request({method:"ui/open-link",params:o},sk,i)}sendOpenLink=this.openLink;downloadFile(o,i){return this.request({method:"ui/download-file",params:o},lk,i)}requestDisplayMode(o,i){return this.request({method:"ui/request-display-mode",params:o},vk,i)}sendSizeChanged(o){return this.notification({method:"ui/notifications/size-changed",params:o})}setupSizeChangedNotifications(){let o=!1,i=0,a=0,u=()=>{o||(o=!0,requestAnimationFrame(()=>{o=!1;let f=document.documentElement,h=f.style.width,v=f.style.height;f.style.width="fit-content",f.style.height="max-content";let z=f.getBoundingClientRect();f.style.width=h,f.style.height=v;let C=window.innerWidth-f.clientWidth,R=Math.ceil(z.width+C),N=Math.ceil(z.height);(R!==i||N!==a)&&(i=R,a=N,this.sendSizeChanged({width:R,height:N}))}))};u();let d=new ResizeObserver(u);return d.observe(document.documentElement),d.observe(document.body),()=>d.disconnect()}async connect(o=new nk(window.parent,window.parent),i){if(this.transport)throw Error("App is already connected. Call close() before connecting again.");await super.connect(o);try{let a=await this.request({method:"ui/initialize",params:{appCapabilities:this._capabilities,appInfo:this._appInfo,protocolVersion:ek}},kk,i);if(a===void 0)throw Error(`Server sent invalid initialize result: ${a}`);this._hostCapabilities=a.hostCapabilities,this._hostInfo=a.hostInfo,this._hostContext=a.hostContext,await this.notification({method:"ui/notifications/initialized"}),this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(a){throw this.close(),a}}}function St(n){return`var(${n})`}const fe={bg:{surface:St("--bg-surface"),elevated:St("--bg-elevated")},text:{primary:St("--text-primary"),secondary:St("--text-secondary"),muted:St("--text-muted"),faint:St("--text-faint")},accent:St("--accent"),border:St("--border"),success:St("--success"),error:St("--error"),warning:St("--warning")},Rn={sans:St("--font-sans"),mono:St("--font-mono")},na={card:{background:fe.bg.surface,border:`1px solid ${fe.border}`,borderRadius:"8px",padding:"16px"},button:{background:fe.bg.elevated,border:`1px solid ${fe.border}`,borderRadius:"6px",padding:"6px 14px",fontSize:"12px",color:fe.text.secondary,cursor:"pointer",transition:"all 0.15s",fontFamily:Rn.sans,whiteSpace:"nowrap"}};function xk(n,o=2){return n.toLocaleString("en-US",{minimumFractionDigits:o,maximumFractionDigits:o})}function zk(n,o="USD"){return n.toLocaleString("en-US",{style:"currency",currency:o,minimumFractionDigits:2,maximumFractionDigits:2})}function Ek(){return B.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[B.jsx("rect",{x:"1",y:"1",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.9"}),B.jsx("rect",{x:"9",y:"1",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.6"}),B.jsx("rect",{x:"1",y:"9",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.6"}),B.jsx("rect",{x:"9",y:"9",width:"6",height:"6",rx:"1.5",fill:"currentColor",opacity:"0.35"})]})}function Tk(){const n={display:"flex",alignItems:"center",gap:7,padding:"0 14px",height:30,background:fe.bg.surface,borderBottom:`1px solid ${fe.border}`,flexShrink:0},o={fontFamily:Rn.sans,fontSize:11,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",color:fe.accent},i={width:3,height:3,borderRadius:"50%",background:fe.text.faint,marginLeft:2,marginRight:2,flexShrink:0},a={fontFamily:Rn.sans,fontSize:10,color:fe.text.muted,letterSpacing:"0.03em"};return B.jsxs("div",{style:n,children:[B.jsx("div",{style:{color:fe.accent},children:B.jsx(Ek,{})}),B.jsx("span",{style:o,children:"ERPNext"}),B.jsx("div",{style:i}),B.jsx("span",{style:a,children:"gestion ERP"})]})}function Ck(n,o={}){return!n.request||n.visibilityState!=="visible"||n.refreshInFlight?!1:o.ignoreInterval?!0:n.now-n.lastRefreshStartedAt>=n.minIntervalMs}function df(n,o){return n?.refreshRequest??o}function Pk(n){return n instanceof Error&&/timed? out/i.test(n.message)?"Refresh timed out":"Refresh failed"}function Rk(n){return n.structuredContent?JSON.stringify(n.structuredContent):n.content?.find(o=>o.type==="text")?.text??null}const Qn=new Sk({name:"Funnel Viewer",version:"1.0.0"}),Nk=15e3,Ik=1e4;function Ok(){return B.jsx("div",{style:{padding:24},children:B.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[[1,2,3,4].map(n=>B.jsx("div",{className:"skeleton",style:{height:n===1?32:20,width:n===1?"40%":`${60+n*8}%`}},n)),B.jsx("div",{style:{marginTop:16,display:"flex",flexDirection:"column",alignItems:"center",gap:8},children:[100,82,64,46].map((n,o)=>B.jsx("div",{className:"skeleton",style:{height:56,width:`${n}%`,borderRadius:6}},o))})]})})}function gp(){return B.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"48px 24px",color:fe.text.muted,gap:16},children:[B.jsxs("svg",{width:"56",height:"56",viewBox:"0 0 56 56",fill:"none",style:{opacity:.35},children:[B.jsx("path",{d:"M8 10 L48 10 L36 46 L20 46 Z",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinejoin:"round"}),B.jsx("line",{x1:"12",y1:"19",x2:"44",y2:"19",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.5"}),B.jsx("line",{x1:"16",y1:"28",x2:"40",y2:"28",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.4"}),B.jsx("line",{x1:"19",y1:"37",x2:"37",y2:"37",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.3"})]}),B.jsxs("div",{style:{fontSize:13,textAlign:"center"},children:["No funnel data",B.jsx("div",{style:{fontSize:11,color:fe.text.faint,marginTop:4},children:"Run the sales funnel tool to visualize your pipeline"})]})]})}const ff=["polygon(0% 0%, 100% 0%, 92% 100%, 8% 100%)","polygon(8% 0%, 92% 0%, 82% 100%, 18% 100%)","polygon(18% 0%, 82% 0%, 74% 100%, 26% 100%)","polygon(26% 0%, 74% 0%, 74% 100%, 26% 100%)"];function $k(n){const o=Math.max(0,parseInt(n.slice(1,3),16)-40),i=Math.max(0,parseInt(n.slice(3,5),16)-40),a=Math.max(0,parseInt(n.slice(5,7),16)-40);return`#${o.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}`}function jk({stage:n,stageIndex:o,currency:i,onClick:a}){const u=n.count===0,d=ff[Math.min(o,ff.length-1)],f=u?"linear-gradient(180deg, #333 0%, #222 100%)":`linear-gradient(180deg, ${n.color} 0%, ${$k(n.color)} 100%)`;return B.jsxs("div",{style:{clipPath:d,background:f,padding:"16px 20px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,minHeight:56,cursor:a?"pointer":"default",transition:"transform 0.15s, box-shadow 0.15s",opacity:u?.4:1,position:"relative"},onClick:a,onMouseEnter:h=>{!a||u||(h.currentTarget.style.transform="scale(1.02)",h.currentTarget.style.boxShadow=`0 0 20px ${n.color}30`)},onMouseLeave:h=>{h.currentTarget.style.transform="scale(1)",h.currentTarget.style.boxShadow="none"},title:a?`Click to see ${n.label}`:void 0,children:[B.jsx("span",{style:{fontSize:24,fontWeight:700,fontFamily:Rn.mono,color:"#fff",textShadow:"0 2px 4px rgba(0,0,0,0.3)",lineHeight:1},children:xk(n.count,0)}),B.jsx("span",{style:{fontSize:10,fontWeight:700,color:"rgba(255,255,255,0.85)",textTransform:"uppercase",letterSpacing:"0.1em"},children:n.label}),n.value!=null&&n.value>0&&B.jsx("span",{style:{fontSize:11,fontFamily:Rn.mono,color:"rgba(255,255,255,0.6)",marginTop:2},children:zk(n.value,i)})]})}function Mk({rate:n,color:o}){return B.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:0,margin:"2px 0"},children:[B.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",style:{opacity:.4},children:B.jsx("path",{d:"M6 1v10M6 11l-3-3M6 11l3-3",stroke:o??fe.text.muted,strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),B.jsxs("span",{style:{display:"inline-flex",alignItems:"center",padding:"2px 10px",fontSize:10,fontWeight:700,fontFamily:Rn.mono,borderRadius:10,background:fe.bg.elevated,color:o??fe.text.secondary,letterSpacing:"0.02em"},children:[n,"%"]})]})}function Lk(){const[n,o]=Kt.useState(null),[i,a]=Kt.useState(!0),[u,d]=Kt.useState(!1),[f,h]=Kt.useState(null),v=Kt.useRef(null),z=Kt.useRef(null),C=Kt.useRef(!1),R=Kt.useRef(0);function N(V){v.current=V,z.current=df(V,z.current),o(V)}function L(V){const G=Rk(V);if(!G)return!1;try{const Ne=JSON.parse(G);return N(Ne),h(null),a(!1),!0}catch(Ne){return console.error("Parse error:",Ne),h("Failed to parse funnel payload"),a(!1),!1}}async function ee(V={}){const G=df(v.current,z.current);if(!Ck({request:G,visibilityState:typeof document>"u"?"visible":document.visibilityState,refreshInFlight:C.current,now:Date.now(),lastRefreshStartedAt:R.current,minIntervalMs:Nk},V)||!G||!Qn.getHostCapabilities()?.serverTools)return!1;C.current=!0,R.current=Date.now(),d(!0);try{const Ne=await Qn.callServerTool({name:G.toolName,arguments:G.arguments},{timeout:Ik});return Ne.isError?(h("Refresh failed"),!1):L(Ne)?!0:(h("Refresh returned no data"),!1)}catch(Ne){return h(Pk(Ne)),!1}finally{C.current=!1,d(!1)}}return Kt.useEffect(()=>{Qn.connect().catch(()=>{}),Qn.ontoolresult=V=>{L(V)},Qn.ontoolinputpartial=()=>{v.current||a(!0)}},[]),Kt.useEffect(()=>{function V(){ee({ignoreInterval:!0})}function G(){document.visibilityState==="visible"&&ee({ignoreInterval:!0})}return window.addEventListener("focus",V),document.addEventListener("visibilitychange",G),()=>{window.removeEventListener("focus",V),document.removeEventListener("visibilitychange",G)}},[]),B.jsxs("div",{style:{display:"flex",flexDirection:"column",minHeight:"100vh"},"aria-busy":u,children:[B.jsx(Tk,{}),B.jsx("div",{style:{flex:1},children:i?B.jsx(Ok,{}):n?B.jsx(Dk,{data:n,error:f,refreshing:u,onRefresh:()=>void ee({ignoreInterval:!0})}):B.jsx(gp,{})})]})}function Dk({data:n,error:o,refreshing:i,onRefresh:a}){const u=n.currency??"EUR",d=n.stages??[],f=Qn.getHostCapabilities()?.serverTools,h={Leads:"Show all leads",Lead:"Show all leads",Opportunities:"Show all open opportunities",Opportunity:"Show all open opportunities",Quotations:"Show all quotations",Quotation:"Show all quotations","Sales Orders":"Show all sales orders","Sales Order":"Show all sales orders",Orders:"Show all sales orders"};function v(N){const L=N._drillDown??h[N.label];L&&Qn.sendMessage({role:"user",content:[{type:"text",text:L}]}).catch(()=>{})}if(d.length===0)return B.jsx(gp,{});const z=d[0].count,C=d[d.length-1].count,R=z>0?Math.round(C/z*100):0;return B.jsxs("div",{style:{padding:20,fontFamily:Rn.sans,maxWidth:680,margin:"0 auto"},children:[B.jsxs("div",{style:{marginBottom:20,display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:12},children:[B.jsxs("div",{children:[B.jsx("div",{style:{fontSize:18,fontWeight:700,color:fe.text.primary},children:n.title}),n.subtitle&&B.jsx("div",{style:{fontSize:12,color:fe.text.muted,marginTop:2},children:n.subtitle}),B.jsx("div",{"aria-live":"polite",style:{fontSize:11,color:o?fe.error:fe.text.faint,marginTop:6},children:o??(i?"Refreshing…":"Auto-refresh on focus")})]}),B.jsx("button",{onClick:a,disabled:i,style:na.button,onMouseEnter:N=>{i||(N.currentTarget.style.borderColor=fe.accent,N.currentTarget.style.color=fe.accent)},onMouseLeave:N=>{N.currentTarget.style.borderColor=fe.border,N.currentTarget.style.color=fe.text.secondary},children:i?"Refreshing":"Refresh"})]}),B.jsx("div",{style:{display:"flex",flexDirection:"column",gap:0},children:d.map((N,L)=>B.jsxs("div",{children:[B.jsx(jk,{stage:N,stageIndex:L,currency:u,onClick:f?()=>v(N):void 0}),L<d.length-1&&d[L+1].conversionRate!=null&&B.jsx(Mk,{rate:d[L+1].conversionRate,color:d[L+1].color})]},N.label))}),B.jsxs("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:12,marginTop:20,padding:"12px 16px",...na.card},children:[B.jsx("span",{style:{fontSize:12,color:fe.text.muted},children:"Overall Conversion"}),B.jsxs("span",{style:{fontSize:11,color:fe.text.faint},children:[d[0].label," → ",d[d.length-1].label]}),B.jsxs("span",{style:{fontSize:18,fontWeight:700,fontFamily:Rn.mono,color:R>20?fe.success:R>5?fe.warning:fe.error},children:[R,"%"]})]}),f&&B.jsx("div",{style:{display:"flex",gap:8,justifyContent:"center",marginTop:12},children:d.map(N=>B.jsx("button",{onClick:()=>v(N),style:{...na.button,fontSize:11,padding:"4px 12px",borderColor:N.color+"40",color:fe.text.secondary,transition:"all 0.15s"},onMouseEnter:L=>{L.currentTarget.style.borderColor=N.color,L.currentTarget.style.color=N.color},onMouseLeave:L=>{L.currentTarget.style.borderColor=N.color+"40",L.currentTarget.style.color=fe.text.secondary},children:N.label},N.label))})]})}km.createRoot(document.getElementById("app")).render(B.jsx(Lk,{}));</script>
123
- <style rel="stylesheet" crossorigin>:root{--accent: #0089FF;--accent-dim: rgba(0, 137, 255, .15);--accent-border: rgba(0, 137, 255, .3);--success: #16a34a;--success-dim: rgba(22, 163, 74, .1);--error: #dc2626;--error-dim: rgba(220, 38, 38, .1);--warning: #d97706;--warning-dim: rgba(217, 119, 6, .1);--info: #2563eb;--info-dim: rgba(37, 99, 235, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace;--bg-root: #ffffff;--bg-surface: #f9fafb;--bg-elevated: #f3f4f6;--bg-hover: #e5e7eb;--bg-active: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-faint: #9ca3af;--border: #e5e7eb;--border-subtle: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg-root: #08080a;--bg-surface: #111113;--bg-elevated: #18181b;--bg-hover: #1f1f23;--bg-active: #27272a;--text-primary: #e7e5e4;--text-secondary: #a8a29e;--text-muted: #78716c;--text-faint: #57534e;--border: #27272a;--border-subtle: #1f1f23;--success: #4ade80;--success-dim: rgba(74, 222, 128, .12);--error: #f87171;--error-dim: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .12);--info: #60a5fa;--info-dim: rgba(96, 165, 250, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{border-radius:var(--radius-lg);overflow:hidden}html,body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.drag-scroll::-webkit-scrollbar{display:none}.drag-scroll{scrollbar-width:none}article button:hover:not(:disabled){background:var(--bg-hover)!important;color:var(--text-primary)!important}article[draggable=true]:active{cursor:grabbing;opacity:.85}.kanban-detail-backdrop{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto;backdrop-filter:blur(2px)}.kanban-detail-panel{background:var(--bg-root);border:1px solid var(--border);border-radius:10px;max-width:520px;width:100%;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;position:relative;display:flex;flex-direction:column}.kanban-detail-panel .detail-field-row{transition:background .1s}.kanban-detail-panel .detail-field-row:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell{transition:background .1s;border-radius:4px}.kanban-detail-panel .detail-field-cell:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell:hover input,.kanban-detail-panel .detail-field-cell:hover select{border-color:var(--border)!important;background:var(--bg-elevated)!important}.kanban-detail-panel select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}@media(prefers-color-scheme:dark){.kanban-detail-backdrop{background:#000000a6}.kanban-detail-panel{box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}}.kanban-card-title-link{cursor:pointer;text-decoration:none;color:inherit}.kanban-card-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}</style>
124
- </head>
125
- <body>
126
- <div id="app"></div>
127
- </body>
123
+ <style rel="stylesheet" crossorigin>:root{--accent: #0089ff;--accent-dim: rgba(0, 137, 255, .15);--accent-border: rgba(0, 137, 255, .3);--success: #16a34a;--success-dim: rgba(22, 163, 74, .1);--error: #dc2626;--error-dim: rgba(220, 38, 38, .1);--warning: #d97706;--warning-dim: rgba(217, 119, 6, .1);--info: #2563eb;--info-dim: rgba(37, 99, 235, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", monospace;--bg-root: #ffffff;--bg-surface: #f9fafb;--bg-elevated: #f3f4f6;--bg-hover: #e5e7eb;--bg-active: #d1d5db;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--text-faint: #9ca3af;--border: #e5e7eb;--border-subtle: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg-root: #08080a;--bg-surface: #111113;--bg-elevated: #18181b;--bg-hover: #1f1f23;--bg-active: #27272a;--text-primary: #e7e5e4;--text-secondary: #a8a29e;--text-muted: #78716c;--text-faint: #57534e;--border: #27272a;--border-subtle: #1f1f23;--success: #4ade80;--success-dim: rgba(74, 222, 128, .12);--error: #f87171;--error-dim: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .12);--info: #60a5fa;--info-dim: rgba(96, 165, 250, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{border-radius:var(--radius-lg);overflow:hidden}html,body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.drag-scroll::-webkit-scrollbar{display:none}.drag-scroll{scrollbar-width:none}article button:hover:not(:disabled){background:var(--bg-hover)!important;color:var(--text-primary)!important}article[draggable=true]:active{cursor:grabbing;opacity:.85}.kanban-detail-backdrop{position:fixed;inset:0;z-index:100;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto;backdrop-filter:blur(2px)}.kanban-detail-panel{background:var(--bg-root);border:1px solid var(--border);border-radius:10px;max-width:520px;width:100%;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;position:relative;display:flex;flex-direction:column}.kanban-detail-panel .detail-field-row{transition:background .1s}.kanban-detail-panel .detail-field-row:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell{transition:background .1s;border-radius:4px}.kanban-detail-panel .detail-field-cell:hover{background:var(--bg-surface)}.kanban-detail-panel .detail-field-cell:hover input,.kanban-detail-panel .detail-field-cell:hover select{border-color:var(--border)!important;background:var(--bg-elevated)!important}.kanban-detail-panel select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}.kanban-detail-panel textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-dim);outline:none}@media(prefers-color-scheme:dark){.kanban-detail-backdrop{background:#000000a6}.kanban-detail-panel{box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}}.kanban-card-title-link{cursor:pointer;text-decoration:none;color:inherit}.kanban-card-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}</style>
124
+ </head>
125
+ <body>
126
+ <div id="app"></div>
127
+ </body>
128
128
  </html>