@oliasoft-open-source/charts-library 5.1.2-beta-1 → 5.1.2-beta-2

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.
@@ -1,4 +1,4 @@
1
- import{j as a}from"./jsx-runtime-W3oueGCa.js";import{r as s}from"./index-YTOF1_EJ.js";import{D as ea,B as l}from"./legend-Cgq98xea.js";import{L as c}from"./line-chart-CJuXSMXo.js";import{D as la}from"./legend-context-PSa8HhGj.js";import"./index-DHw5ixvP.js";import"./index-BhTLYoCu.js";import"./index-CgYGpm1H.js";import"./get-draggableData-eD2Xdq-6.js";const ta="chartOne-plan-view-chart-controls",na={datasets:[{label:"CH-4ST",lineTension:0,borderColor:"#a30125",pointBackgroundColor:"#a30125",pointRadius:0,pointHoverRadius:0,pointHitRadius:0,borderWidth:2,fill:!1,data:[{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:.3927,label:[]},{x:0,y:2.4838,label:[]},{x:0,y:7.1727,label:[]},{x:0,y:14.4238,label:[]},{x:0,y:24.1818,label:[]},{x:0,y:36.3728,label:[]},{x:0,y:50.9039,label:[]},{x:0,y:67.6648,label:[]},{x:0,y:86.528,label:[]},{x:0,y:107.3503,label:[]},{x:0,y:129.9733,label:[]},{x:0,y:154.2251,label:[]},{x:0,y:179.9215,label:[]},{x:0,y:206.867,label:[]},{x:0,y:234.8569,label:[]},{x:0,y:263.6785,label:[]},{x:0,y:293.1127,label:[]},{x:0,y:322.9358,label:[]},{x:0,y:344.2833,label:[]},{x:0,y:352.9221,label:[]},{x:0,y:382.9221,label:[]},{x:0,y:412.9221,label:[]},{x:0,y:442.9221,label:[]},{x:0,y:472.9221,label:[]},{x:0,y:502.9221,label:[]},{x:0,y:532.9221,label:[]},{x:0,y:562.9221,label:[]},{x:0,y:592.9221,label:[]},{x:0,y:622.9221,label:[]},{x:0,y:644.2821,label:[]}]},{label:"CH-4",lineTension:0,borderColor:"#0154a3",pointBackgroundColor:"#0154a3",pointRadius:0,pointHoverRadius:0,pointHitRadius:0,borderWidth:2,fill:!1,data:[{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]}]}]},oa={direction:"vertical",axes:{x:[{label:"E/W [m]",position:"top"}],y:[{label:"N/S [m]",position:"left"}]},additionalAxesOptions:{chartScaleType:"linear"},graph:{showDataLabels:!0,showMinorGridlines:!0,lineTension:0},chartStyling:{height:"100%"},annotations:{showAnnotations:!0,enableDragAnnotation:!0,annotationsData:[]}},sa={controlsPortalId:ta,data:na,options:oa},m=[{label:"Dataset 1",data:[{x:0,y:0},{x:5,y:25}]}],ra={data:{datasets:m},options:{title:"Chart title",chartStyling:{height:"100%"}}},ma={title:"LineChart / Test Cases",component:c,args:{chart:ra}},y=()=>a.jsx(c,{chart:{data:{datasets:[{label:"Duration %",lineTension:"0",pointHitRadius:10,borderColor:"#dc3912",pointBackgroundColor:"#dc3912",borderWidth:2,pointRadius:4,data:[{x:3,y:0},{x:3,y:100}],yAxisID:"y2"}]},options:{direction:"vertical",axes:{x:[{label:"Duration (TempSim long) [d]",position:"bottom"}],y:[{label:"Probability"},{label:"Percentage [%]"}]},annotations:{annotationsData:[{annotationAxis:"y2",color:"darkgrey",value:16},{displayDragCoordinates:!1,color:"#ff9900",label:"P16",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:17,yMin:15,yScaleID:"y2"},{annotationAxis:"y2",color:"darkgrey",value:66},{displayDragCoordinates:!1,color:"#109618",label:"P66",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:67,yMin:65,yScaleID:"y2"},{annotationAxis:"y2",color:"darkgrey",value:78},{displayDragCoordinates:!1,color:"#990099",label:"P78",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:79,yMin:77,yScaleID:"y2"},{annotationAxis:"y2",color:"darkgrey",value:90},{displayDragCoordinates:!1,color:"#0099c6",label:"P90",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:91,yMin:89,yScaleID:"y2"}],enableDragAnnotation:!0,showAnnotations:!0},additionalAxesOptions:{range:{x:{min:3}},chartScaleType:"linear",reverse:!1},graph:{showMinorGridlines:!0},chartStyling:{height:"100%"},chartOptions:{showPoints:!1,enableDragAnnotation:!0}}}}),b=()=>a.jsx(c,{chart:sa}),x=()=>{const[u,n]=s.useState(m),[L,d]=s.useState(0),[g,_]=s.useState(!1),[D,i]=s.useState(!0),[O,C]=s.useState(!1),[f,W]=s.useState(!0),[A,E]=s.useState("linear"),[S,p]=s.useState(!1),M=s.useMemo(()=>({title:"Stress Tester",axes:{x:[{label:"X Axis"}],y:[{label:"Y Axis"}]},chartOptions:{enableDragAnnotation:!0},annotations:{showAnnotations:!0,enableDragAnnotation:!0,annotationsData:[{enableDrag:!0,type:"box",xMin:3.5,xMax:4,yMin:5,yMax:10,color:"rgba(255, 0, 0, 0.3)",label:"DRAG ME!"},{type:"point",enableDrag:!0,xValue:1,yValue:10,radius:ea,color:"red",label:"Draggable Point",labelConfig:{font:`bold 8px ${la}`,color:"rgba(0,0,0,0.7)"}}]},chartStyling:{height:"100%",squareAspectRatio:f},additionalAxesOptions:{chartScaleType:A},legend:{display:!1}}),[u,f,A]),U=s.useMemo(()=>({data:{datasets:u},options:M}),[u,M]),V=()=>{p(!0),i(!0),setTimeout(()=>{i(!1),p(!1)},5e3)},F=()=>{n(m),d(e=>e+1),i(!0),p(!1)},$=()=>{C(!0);const e=[],o=50,r=40;for(let t=0;t<o;t++)setTimeout(()=>{e.push({label:`DS ${t+1}`,data:[{x:t,y:Math.random()*100},{x:t+1,y:Math.random()*100}],borderColor:`hsl(${t*(360/o)}, 100%, 50%)`}),n([...e]),t===15&&(console.warn("Forcing unmount mid-update"),i(!1)),t===25&&(console.warn("Remounting chart"),i(!0),d(h=>h+1)),t===o-1&&(console.log("Async injection complete"),C(!1))},t*r)},z=()=>{n([{label:"Broken Dataset",borderColor:"red"}])},X=()=>{n([])},Y=()=>{n([{label:"X/Y Points",data:[{x:0,y:0},{x:1,y:1}],borderColor:"green"},{label:"Y Only Array",data:[2,4,6],borderColor:"blue"}])},K=()=>{n([{label:"Bad Y Axis Ref",yAxisID:"y-missing",data:[{x:1,y:1},{x:2,y:2}],borderColor:"purple"}])},H=()=>{const e=Array.from({length:5e3},(o,r)=>({x:r,y:Math.sin(r/100)*100}));n([{label:"Big 5k Points",data:e,borderColor:"orange"}])},N=()=>{n([{label:"Corrupt Point Dataset",data:[{x:0,y:10},{x:1},{y:20},null,void 0,"bad-value",{x:5,y:50}],borderColor:"red"}])},G=()=>{n([{label:"Valid A",data:[{x:0,y:1},{x:1,y:2}],borderColor:"blue"},{label:"Corrupt",data:"not-an-array",borderColor:"red"},{label:"Valid B",data:[{x:0,y:3},{x:1,y:4}],borderColor:"green"}])},q=()=>{const e=[];for(let t=0;t<4;t++){const h=Array.from({length:3e3},(ia,aa)=>({x:aa,y:Math.random()*100}));e.push({label:`Stream DS ${t+1}`,data:h,borderColor:`hsl(${t*90}, 100%, 50%)`})}let o=0;const r=setInterval(()=>{n(e.slice(0,o+1)),o++,o===e.length&&clearInterval(r)},500)},J=()=>{E(e=>e==="linear"?"logarithmic":"linear")},Q=()=>{W(e=>!e)},Z=()=>{let e=0;const o=setInterval(()=>{d(r=>r+1),e++,e===100&&clearInterval(o)},30)};return a.jsxs(a.Fragment,{children:[a.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginBottom:16},children:[a.jsx(l,{label:"Reset to Initial State",colored:!0,onClick:F}),a.jsx(l,{label:"Async Dataset + Unmount",onClick:$,disabled:O}),a.jsx(l,{label:"Set Invalid Dataset",onClick:z}),a.jsx(l,{label:"Set Empty Dataset",onClick:X}),a.jsx(l,{label:"Mixed Data Formats",onClick:Y}),a.jsx(l,{label:"Bad Axis Ref",onClick:K}),a.jsx(l,{label:"Toggle size",onClick:()=>_(!g)}),a.jsx(l,{label:"Toggle Axis Type",onClick:J}),a.jsx(l,{label:"Toggle Aspect Ratio",onClick:Q}),a.jsx(l,{label:"Spam Re-renders",onClick:Z}),a.jsx(l,{label:D?"Unmount Chart":"Remount Chart",onClick:()=>i(e=>!e)}),a.jsx(l,{label:"Manual Re-render",onClick:()=>d(e=>e+1)}),a.jsx(l,{label:"Empty Dataset",onClick:()=>n([])}),a.jsx(l,{label:"Add 5k Points Slowly",onClick:H}),a.jsx(l,{label:"Dataset With Invalid Point",onClick:N}),a.jsx(l,{label:"Malformed Dataset Combo",onClick:G}),a.jsx(l,{label:"Cycle Big Load (Async)",onClick:q}),a.jsx(l,{label:"Timed Unmount During Drag",onClick:V,disabled:S})]}),S&&a.jsx("span",{style:{color:"crimson",fontWeight:"bold"},children:"⏱ Unmounting in 5s – start dragging!"}),a.jsx("div",{style:{height:g?300:null,width:g?300:null,padding:"var(--padding)",overflow:"auto"},children:D?a.jsx(c,{chart:U},L):a.jsx("div",{style:{padding:40,textAlign:"center"},children:"Chart unmounted"})})]})};y.__docgenInfo={description:"",methods:[],displayName:"PartialRangeWithSimilarValues"};b.__docgenInfo={description:"",methods:[],displayName:"closeToValueInDifferentAxes"};x.__docgenInfo={description:"",methods:[],displayName:"StressTest"};var T,v,R;y.parameters={...y.parameters,docs:{...(T=y.parameters)==null?void 0:T.docs,source:{originalSource:`() => {
1
+ import{j as a}from"./jsx-runtime-W3oueGCa.js";import{r as s}from"./index-YTOF1_EJ.js";import{D as ea,B as l}from"./legend-Cgq98xea.js";import{L as c}from"./line-chart-DQPiqg-c.js";import{D as la}from"./legend-context-PSa8HhGj.js";import"./index-DHw5ixvP.js";import"./index-BhTLYoCu.js";import"./index-CgYGpm1H.js";import"./get-draggableData-eD2Xdq-6.js";const ta="chartOne-plan-view-chart-controls",na={datasets:[{label:"CH-4ST",lineTension:0,borderColor:"#a30125",pointBackgroundColor:"#a30125",pointRadius:0,pointHoverRadius:0,pointHitRadius:0,borderWidth:2,fill:!1,data:[{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:.3927,label:[]},{x:0,y:2.4838,label:[]},{x:0,y:7.1727,label:[]},{x:0,y:14.4238,label:[]},{x:0,y:24.1818,label:[]},{x:0,y:36.3728,label:[]},{x:0,y:50.9039,label:[]},{x:0,y:67.6648,label:[]},{x:0,y:86.528,label:[]},{x:0,y:107.3503,label:[]},{x:0,y:129.9733,label:[]},{x:0,y:154.2251,label:[]},{x:0,y:179.9215,label:[]},{x:0,y:206.867,label:[]},{x:0,y:234.8569,label:[]},{x:0,y:263.6785,label:[]},{x:0,y:293.1127,label:[]},{x:0,y:322.9358,label:[]},{x:0,y:344.2833,label:[]},{x:0,y:352.9221,label:[]},{x:0,y:382.9221,label:[]},{x:0,y:412.9221,label:[]},{x:0,y:442.9221,label:[]},{x:0,y:472.9221,label:[]},{x:0,y:502.9221,label:[]},{x:0,y:532.9221,label:[]},{x:0,y:562.9221,label:[]},{x:0,y:592.9221,label:[]},{x:0,y:622.9221,label:[]},{x:0,y:644.2821,label:[]}]},{label:"CH-4",lineTension:0,borderColor:"#0154a3",pointBackgroundColor:"#0154a3",pointRadius:0,pointHoverRadius:0,pointHitRadius:0,borderWidth:2,fill:!1,data:[{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]},{x:0,y:0,label:[]}]}]},oa={direction:"vertical",axes:{x:[{label:"E/W [m]",position:"top"}],y:[{label:"N/S [m]",position:"left"}]},additionalAxesOptions:{chartScaleType:"linear"},graph:{showDataLabels:!0,showMinorGridlines:!0,lineTension:0},chartStyling:{height:"100%"},annotations:{showAnnotations:!0,enableDragAnnotation:!0,annotationsData:[]}},sa={controlsPortalId:ta,data:na,options:oa},m=[{label:"Dataset 1",data:[{x:0,y:0},{x:5,y:25}]}],ra={data:{datasets:m},options:{title:"Chart title",chartStyling:{height:"100%"}}},ma={title:"LineChart / Test Cases",component:c,args:{chart:ra}},y=()=>a.jsx(c,{chart:{data:{datasets:[{label:"Duration %",lineTension:"0",pointHitRadius:10,borderColor:"#dc3912",pointBackgroundColor:"#dc3912",borderWidth:2,pointRadius:4,data:[{x:3,y:0},{x:3,y:100}],yAxisID:"y2"}]},options:{direction:"vertical",axes:{x:[{label:"Duration (TempSim long) [d]",position:"bottom"}],y:[{label:"Probability"},{label:"Percentage [%]"}]},annotations:{annotationsData:[{annotationAxis:"y2",color:"darkgrey",value:16},{displayDragCoordinates:!1,color:"#ff9900",label:"P16",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:17,yMin:15,yScaleID:"y2"},{annotationAxis:"y2",color:"darkgrey",value:66},{displayDragCoordinates:!1,color:"#109618",label:"P66",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:67,yMin:65,yScaleID:"y2"},{annotationAxis:"y2",color:"darkgrey",value:78},{displayDragCoordinates:!1,color:"#990099",label:"P78",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:79,yMin:77,yScaleID:"y2"},{annotationAxis:"y2",color:"darkgrey",value:90},{displayDragCoordinates:!1,color:"#0099c6",label:"P90",dragAxis:"y",enableDrag:!0,resizable:!1,type:"box",xMax:3,xMin:3,yMax:91,yMin:89,yScaleID:"y2"}],enableDragAnnotation:!0,showAnnotations:!0},additionalAxesOptions:{range:{x:{min:3}},chartScaleType:"linear",reverse:!1},graph:{showMinorGridlines:!0},chartStyling:{height:"100%"},chartOptions:{showPoints:!1,enableDragAnnotation:!0}}}}),b=()=>a.jsx(c,{chart:sa}),x=()=>{const[u,n]=s.useState(m),[L,d]=s.useState(0),[g,_]=s.useState(!1),[D,i]=s.useState(!0),[O,C]=s.useState(!1),[f,W]=s.useState(!0),[A,E]=s.useState("linear"),[S,p]=s.useState(!1),M=s.useMemo(()=>({title:"Stress Tester",axes:{x:[{label:"X Axis"}],y:[{label:"Y Axis"}]},chartOptions:{enableDragAnnotation:!0},annotations:{showAnnotations:!0,enableDragAnnotation:!0,annotationsData:[{enableDrag:!0,type:"box",xMin:3.5,xMax:4,yMin:5,yMax:10,color:"rgba(255, 0, 0, 0.3)",label:"DRAG ME!"},{type:"point",enableDrag:!0,xValue:1,yValue:10,radius:ea,color:"red",label:"Draggable Point",labelConfig:{font:`bold 8px ${la}`,color:"rgba(0,0,0,0.7)"}}]},chartStyling:{height:"100%",squareAspectRatio:f},additionalAxesOptions:{chartScaleType:A},legend:{display:!1}}),[u,f,A]),U=s.useMemo(()=>({data:{datasets:u},options:M}),[u,M]),V=()=>{p(!0),i(!0),setTimeout(()=>{i(!1),p(!1)},5e3)},F=()=>{n(m),d(e=>e+1),i(!0),p(!1)},$=()=>{C(!0);const e=[],o=50,r=40;for(let t=0;t<o;t++)setTimeout(()=>{e.push({label:`DS ${t+1}`,data:[{x:t,y:Math.random()*100},{x:t+1,y:Math.random()*100}],borderColor:`hsl(${t*(360/o)}, 100%, 50%)`}),n([...e]),t===15&&(console.warn("Forcing unmount mid-update"),i(!1)),t===25&&(console.warn("Remounting chart"),i(!0),d(h=>h+1)),t===o-1&&(console.log("Async injection complete"),C(!1))},t*r)},z=()=>{n([{label:"Broken Dataset",borderColor:"red"}])},X=()=>{n([])},Y=()=>{n([{label:"X/Y Points",data:[{x:0,y:0},{x:1,y:1}],borderColor:"green"},{label:"Y Only Array",data:[2,4,6],borderColor:"blue"}])},K=()=>{n([{label:"Bad Y Axis Ref",yAxisID:"y-missing",data:[{x:1,y:1},{x:2,y:2}],borderColor:"purple"}])},H=()=>{const e=Array.from({length:5e3},(o,r)=>({x:r,y:Math.sin(r/100)*100}));n([{label:"Big 5k Points",data:e,borderColor:"orange"}])},N=()=>{n([{label:"Corrupt Point Dataset",data:[{x:0,y:10},{x:1},{y:20},null,void 0,"bad-value",{x:5,y:50}],borderColor:"red"}])},G=()=>{n([{label:"Valid A",data:[{x:0,y:1},{x:1,y:2}],borderColor:"blue"},{label:"Corrupt",data:"not-an-array",borderColor:"red"},{label:"Valid B",data:[{x:0,y:3},{x:1,y:4}],borderColor:"green"}])},q=()=>{const e=[];for(let t=0;t<4;t++){const h=Array.from({length:3e3},(ia,aa)=>({x:aa,y:Math.random()*100}));e.push({label:`Stream DS ${t+1}`,data:h,borderColor:`hsl(${t*90}, 100%, 50%)`})}let o=0;const r=setInterval(()=>{n(e.slice(0,o+1)),o++,o===e.length&&clearInterval(r)},500)},J=()=>{E(e=>e==="linear"?"logarithmic":"linear")},Q=()=>{W(e=>!e)},Z=()=>{let e=0;const o=setInterval(()=>{d(r=>r+1),e++,e===100&&clearInterval(o)},30)};return a.jsxs(a.Fragment,{children:[a.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginBottom:16},children:[a.jsx(l,{label:"Reset to Initial State",colored:!0,onClick:F}),a.jsx(l,{label:"Async Dataset + Unmount",onClick:$,disabled:O}),a.jsx(l,{label:"Set Invalid Dataset",onClick:z}),a.jsx(l,{label:"Set Empty Dataset",onClick:X}),a.jsx(l,{label:"Mixed Data Formats",onClick:Y}),a.jsx(l,{label:"Bad Axis Ref",onClick:K}),a.jsx(l,{label:"Toggle size",onClick:()=>_(!g)}),a.jsx(l,{label:"Toggle Axis Type",onClick:J}),a.jsx(l,{label:"Toggle Aspect Ratio",onClick:Q}),a.jsx(l,{label:"Spam Re-renders",onClick:Z}),a.jsx(l,{label:D?"Unmount Chart":"Remount Chart",onClick:()=>i(e=>!e)}),a.jsx(l,{label:"Manual Re-render",onClick:()=>d(e=>e+1)}),a.jsx(l,{label:"Empty Dataset",onClick:()=>n([])}),a.jsx(l,{label:"Add 5k Points Slowly",onClick:H}),a.jsx(l,{label:"Dataset With Invalid Point",onClick:N}),a.jsx(l,{label:"Malformed Dataset Combo",onClick:G}),a.jsx(l,{label:"Cycle Big Load (Async)",onClick:q}),a.jsx(l,{label:"Timed Unmount During Drag",onClick:V,disabled:S})]}),S&&a.jsx("span",{style:{color:"crimson",fontWeight:"bold"},children:"⏱ Unmounting in 5s – start dragging!"}),a.jsx("div",{style:{height:g?300:null,width:g?300:null,padding:"var(--padding)",overflow:"auto"},children:D?a.jsx(c,{chart:U},L):a.jsx("div",{style:{padding:40,textAlign:"center"},children:"Chart unmounted"})})]})};y.__docgenInfo={description:"",methods:[],displayName:"PartialRangeWithSimilarValues"};b.__docgenInfo={description:"",methods:[],displayName:"closeToValueInDifferentAxes"};x.__docgenInfo={description:"",methods:[],displayName:"StressTest"};var T,v,R;y.parameters={...y.parameters,docs:{...(T=y.parameters)==null?void 0:T.docs,source:{originalSource:`() => {
2
2
  return <LineChart chart={{
3
3
  data: {
4
4
  datasets: [{
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DocsRenderer-CFRXHY34-Bd20xJW7.js","./iframe-BquS-aDh.js","./index-YTOF1_EJ.js","./jsx-runtime-W3oueGCa.js","./index-DHw5ixvP.js","./index-BhTLYoCu.js","./index-Dytf1aFS.js","./client-DnE3718B.js"])))=>i.map(i=>d[i]);
2
- import{_ as o}from"./iframe-BquS-aDh.js";var s=Object.defineProperty,i=(e,r)=>{for(var t in r)s(e,t,{get:r[t],enumerable:!0})},n={};i(n,{parameters:()=>d});var _=Object.entries(globalThis.TAGS_OPTIONS??{}).reduce((e,r)=>{let[t,a]=r;return a.excludeFromDocsStories&&(e[t]=!0),e},{}),d={docs:{renderer:async()=>{let{DocsRenderer:e}=await o(async()=>{const{DocsRenderer:r}=await import("./DocsRenderer-CFRXHY34-Bd20xJW7.js").then(t=>t.e);return{DocsRenderer:r}},__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);return new e},stories:{filter:e=>{var r;return(e.tags||[]).filter(t=>_[t]).length===0&&!((r=e.parameters.docs)!=null&&r.disable)}}}};export{d as parameters};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DocsRenderer-CFRXHY34-D6Q7Fl4L.js","./iframe-BRmCfBZj.js","./index-YTOF1_EJ.js","./jsx-runtime-W3oueGCa.js","./index-DHw5ixvP.js","./index-BhTLYoCu.js","./index-Dytf1aFS.js","./client-DnE3718B.js"])))=>i.map(i=>d[i]);
2
+ import{_ as o}from"./iframe-BRmCfBZj.js";var s=Object.defineProperty,i=(e,r)=>{for(var t in r)s(e,t,{get:r[t],enumerable:!0})},n={};i(n,{parameters:()=>d});var _=Object.entries(globalThis.TAGS_OPTIONS??{}).reduce((e,r)=>{let[t,a]=r;return a.excludeFromDocsStories&&(e[t]=!0),e},{}),d={docs:{renderer:async()=>{let{DocsRenderer:e}=await o(async()=>{const{DocsRenderer:r}=await import("./DocsRenderer-CFRXHY34-D6Q7Fl4L.js").then(t=>t.e);return{DocsRenderer:r}},__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);return new e},stories:{filter:e=>{var r;return(e.tags||[]).filter(t=>_[t]).length===0&&!((r=e.parameters.docs)!=null&&r.disable)}}}};export{d as parameters};
@@ -1,3 +1,3 @@
1
- import{j as c}from"./jsx-runtime-W3oueGCa.js";import{r as v}from"./index-YTOF1_EJ.js";import{c as p,D as j}from"./DocsRenderer-CFRXHY34-Bd20xJW7.js";import{e as E}from"./index-CgYGpm1H.js";import"./preview-CrOr4qI2.js";import"./iframe-BquS-aDh.js";import"./index-DHw5ixvP.js";import"./index-BhTLYoCu.js";import"./index-Dytf1aFS.js";import"./client-DnE3718B.js";var g="DARK_MODE";function f(t){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},f(t)}var b;function A(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),e.push.apply(e,n)}return e}function D(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?A(Object(e),!0).forEach(function(n){I(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):A(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function I(t,r,e){return r=M(r),r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function M(t){var r=R(t,"string");return f(r)==="symbol"?r:String(r)}function R(t,r){if(f(t)!=="object"||t===null)return t;var e=t[Symbol.toPrimitive];if(e!==void 0){var n=e.call(t,r);if(f(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(t)}function y(t){return L(t)||N(t)||K(t)||x()}function x(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
1
+ import{j as c}from"./jsx-runtime-W3oueGCa.js";import{r as v}from"./index-YTOF1_EJ.js";import{c as p,D as j}from"./DocsRenderer-CFRXHY34-D6Q7Fl4L.js";import{e as E}from"./index-CgYGpm1H.js";import"./preview-OTEdgn42.js";import"./iframe-BRmCfBZj.js";import"./index-DHw5ixvP.js";import"./index-BhTLYoCu.js";import"./index-Dytf1aFS.js";import"./client-DnE3718B.js";var g="DARK_MODE";function f(t){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},f(t)}var b;function A(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),e.push.apply(e,n)}return e}function D(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?A(Object(e),!0).forEach(function(n){I(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):A(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function I(t,r,e){return r=M(r),r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function M(t){var r=R(t,"string");return f(r)==="symbol"?r:String(r)}function R(t,r){if(f(t)!=="object"||t===null)return t;var e=t[Symbol.toPrimitive];if(e!==void 0){var n=e.call(t,r);if(f(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(t)}function y(t){return L(t)||N(t)||K(t)||x()}function x(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function K(t,r){if(t){if(typeof t=="string")return O(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return O(t,r)}}function N(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function L(t){if(Array.isArray(t))return O(t)}function O(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}const{global:U}=__STORYBOOK_MODULE_GLOBAL__,{STORY_CHANGED:st,SET_STORIES:ct,DOCS_RENDERED:ft}=__STORYBOOK_MODULE_CORE_EVENTS__;var T=U,Y=T.document,h=T.window,C="sb-addon-themes-3";(b=h.matchMedia)===null||b===void 0||b.call(h,"(prefers-color-scheme: dark)");var S={classTarget:"body",dark:p.dark,darkClass:["dark"],light:p.light,lightClass:["light"],stylePreview:!1,userHasExplicitlySetTheTheme:!1},k=function(r){h.localStorage.setItem(C,JSON.stringify(r))},B=function(r,e){var n=e.current,a=e.darkClass,l=a===void 0?S.darkClass:a,o=e.lightClass,i=o===void 0?S.lightClass:o;if(n==="dark"){var u,s;(u=r.classList).remove.apply(u,y(d(i))),(s=r.classList).add.apply(s,y(d(l)))}else{var m,_;(m=r.classList).remove.apply(m,y(d(l))),(_=r.classList).add.apply(_,y(d(i)))}},d=function(r){var e=[];return e.concat(r).map(function(n){return n})},W=function(r){var e=Y.querySelector(r.classTarget);e&&B(e,r)},P=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=h.localStorage.getItem(C);if(typeof e=="string"){var n=JSON.parse(e);return r&&(r.dark&&!E(n.dark,r.dark)&&(n.dark=r.dark,k(n)),r.light&&!E(n.light,r.light)&&(n.light=r.light,k(n))),n}return D(D({},S),r)};W(P());function H(t,r){return q(t)||G(t,r)||$(t,r)||V()}function V(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $(t,r){if(t){if(typeof t=="string")return w(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return w(t,r)}}function w(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function G(t,r){var e=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(e!=null){var n,a,l,o,i=[],u=!0,s=!1;try{if(l=(e=e.call(t)).next,r!==0)for(;!(u=(n=l.call(e)).done)&&(i.push(n.value),i.length!==r);u=!0);}catch(m){s=!0,a=m}finally{try{if(!u&&e.return!=null&&(o=e.return(),Object(o)!==o))return}finally{if(s)throw a}}return i}}function q(t){if(Array.isArray(t))return t}const{addons:J,useState:F,useEffect:z}=__STORYBOOK_MODULE_PREVIEW_API__;function Q(){var t=F(P().current==="dark"),r=H(t,2),e=r[0],n=r[1];return z(function(){var a=J.getChannel();return a.on(g,n),function(){return a.off(g,n)}},[]),e}const{definePreview:mt}=__STORYBOOK_MODULE_PREVIEW_API__,yt=[t=>c.jsx(c.Fragment,{children:c.jsx(t,{})}),t=>{const r=Q();return v.useEffect(()=>(document.documentElement.dataset.theme=r?"dark":"default",()=>{delete document.documentElement.dataset.theme}),[r]),c.jsx(t,{})}],X=t=>{const[r,e]=v.useState(!1);return v.useEffect(()=>{const n=a=>e(a);return t.context.channel.on(g,n),()=>{t.context.channel.off(g,n)}},[t.context.channel]),c.jsx(j,{...t,theme:r?p.dark:p.light})},dt={docs:{container:X},darkMode:{current:"light",stylePreview:!0}},pt=["autodocs"];export{yt as decorators,dt as parameters,pt as tags};
package/dist/iframe.html CHANGED
@@ -509,7 +509,7 @@
509
509
  }
510
510
  </script>
511
511
 
512
- <script type="module" crossorigin src="./assets/iframe-BquS-aDh.js"></script>
512
+ <script type="module" crossorigin src="./assets/iframe-BRmCfBZj.js"></script>
513
513
  </head>
514
514
 
515
515
  <body>
package/dist/index.js CHANGED
@@ -26755,6 +26755,7 @@ const handleAnnotationMouseDown = (event, canvas2, scales, annotations, setDragg
26755
26755
  }
26756
26756
  };
26757
26757
  const handleAnnotationMouseMove = (event, canvas2, scales, isDragging2, activeAnnotation, dragStartX, dragStartY, chart2) => {
26758
+ var _a2, _b2, _c, _d, _e, _f;
26758
26759
  if (isDragging2 && activeAnnotation) {
26759
26760
  if (!isNil(canvas2) && !isNil(canvas2.style)) {
26760
26761
  canvas2.style.cursor = CursorStyle.Move;
@@ -26797,7 +26798,7 @@ const handleAnnotationMouseMove = (event, canvas2, scales, isDragging2, activeAn
26797
26798
  metrics
26798
26799
  );
26799
26800
  }
26800
- chart2.update();
26801
+ (_a2 = chart2 == null ? void 0 : chart2.update) == null ? void 0 : _a2.call(chart2);
26801
26802
  if (activeAnnotation == null ? void 0 : activeAnnotation.onDrag) {
26802
26803
  activeAnnotation.onDrag({ x: x2, y: y2 }, activeAnnotation);
26803
26804
  }
@@ -26810,9 +26811,9 @@ const handleAnnotationMouseMove = (event, canvas2, scales, isDragging2, activeAn
26810
26811
  yScaleID
26811
26812
  );
26812
26813
  if (!isNil(centerX) && !isNil(centerY) && !isNil(xValue) && !isNil(yValue)) {
26813
- ctx.save();
26814
- ctx.clearRect(0, 0, width, height);
26815
- chart2.draw();
26814
+ (_b2 = ctx == null ? void 0 : ctx.save) == null ? void 0 : _b2.call(ctx);
26815
+ (_c = ctx == null ? void 0 : ctx.clearRect) == null ? void 0 : _c.call(ctx, 0, 0, width, height);
26816
+ (_d = chart2 == null ? void 0 : chart2.draw) == null ? void 0 : _d.call(chart2);
26816
26817
  ctx.font = DEFAULT_FONT_FAMILY;
26817
26818
  ctx.fillStyle = "black";
26818
26819
  if (activeAnnotation == null ? void 0 : activeAnnotation.displayDragCoordinates) {
@@ -26826,8 +26827,8 @@ const handleAnnotationMouseMove = (event, canvas2, scales, isDragging2, activeAn
26826
26827
  if (labelY > height) {
26827
26828
  labelY = height - 7;
26828
26829
  }
26829
- ctx.fillText(labelText, labelX, labelY);
26830
- ctx.restore();
26830
+ (_e = ctx == null ? void 0 : ctx.fillText) == null ? void 0 : _e.call(ctx, labelText, labelX, labelY);
26831
+ (_f = ctx == null ? void 0 : ctx.restore) == null ? void 0 : _f.call(ctx);
26831
26832
  }
26832
26833
  }
26833
26834
  }
@@ -26852,12 +26853,13 @@ const handleAnnotationMouseUp = (isDragging2, activeAnnotation, chart2, canvas2,
26852
26853
  }
26853
26854
  };
26854
26855
  const annotationLabel = (ctx, annotations, scales) => {
26856
+ if (!ctx || !annotations) return;
26855
26857
  Object.values(annotations).forEach((annotation2) => {
26856
- var _a2;
26858
+ var _a2, _b2, _c, _d;
26857
26859
  if (annotation2.type === AnnotationType.POINT && !isNil(annotation2 == null ? void 0 : annotation2.label) && ((_a2 = annotation2 == null ? void 0 : annotation2.label) == null ? void 0 : _a2.display)) {
26858
26860
  const { content, font, color: color2, position, padding } = (annotation2 == null ? void 0 : annotation2.label) ?? {};
26859
26861
  const { xScaleID = "x", yScaleID = "y" } = annotation2;
26860
- ctx.save();
26862
+ (_b2 = ctx == null ? void 0 : ctx.save) == null ? void 0 : _b2.call(ctx);
26861
26863
  ctx.font = font;
26862
26864
  ctx.fillStyle = color2;
26863
26865
  const { centerX = -1, centerY = -1 } = calculateAnnotationMetricsInValuesInPixels(
@@ -26882,8 +26884,8 @@ const annotationLabel = (ctx, annotations, scales) => {
26882
26884
  textY = centerY;
26883
26885
  break;
26884
26886
  }
26885
- ctx.fillText(content, textX, textY);
26886
- ctx.restore();
26887
+ (_c = ctx == null ? void 0 : ctx.fillText) == null ? void 0 : _c.call(ctx, content, textX, textY);
26888
+ (_d = ctx == null ? void 0 : ctx.restore) == null ? void 0 : _d.call(ctx);
26887
26889
  }
26888
26890
  });
26889
26891
  };
package/dist/project.json CHANGED
@@ -1 +1 @@
1
- {"generatedAt":1747126236882,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@storybook/testing-library":"0.2.2","eslint-plugin-vitest":null,"eslint-plugin-vitest-globals":"1.5.0","vitest":"3.1.3"},"hasRouterPackage":false,"packageManager":{"type":"yarn","agent":"yarn"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":0,"storybookVersion":"8.6.12","storybookVersionSpecifier":"^8.6.12","language":"javascript","storybookPackages":{"@storybook/blocks":{"version":"8.6.12"},"@storybook/react":{"version":"8.6.12"},"@storybook/react-vite":{"version":"8.6.12"},"@storybook/testing-library":{"version":"0.2.2"},"eslint-plugin-storybook":{"version":"0.12.0"},"storybook":{"version":"8.6.12"}},"addons":{"@storybook/addon-actions":{"version":"8.6.12"},"@storybook/addon-docs":{"version":"8.6.12"},"storybook-dark-mode":{"version":"4.0.2"},"@storybook/addon-mdx-gfm":{"version":"8.6.12"}}}
1
+ {"generatedAt":1747128220814,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@storybook/testing-library":"0.2.2","eslint-plugin-vitest":null,"eslint-plugin-vitest-globals":"1.5.0","vitest":"3.1.3"},"hasRouterPackage":false,"packageManager":{"type":"yarn","agent":"yarn"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":0,"storybookVersion":"8.6.12","storybookVersionSpecifier":"^8.6.12","language":"javascript","storybookPackages":{"@storybook/blocks":{"version":"8.6.12"},"@storybook/react":{"version":"8.6.12"},"@storybook/react-vite":{"version":"8.6.12"},"@storybook/testing-library":{"version":"0.2.2"},"eslint-plugin-storybook":{"version":"0.12.0"},"storybook":{"version":"8.6.12"}},"addons":{"@storybook/addon-actions":{"version":"8.6.12"},"@storybook/addon-docs":{"version":"8.6.12"},"storybook-dark-mode":{"version":"4.0.2"},"@storybook/addon-mdx-gfm":{"version":"8.6.12"}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oliasoft-open-source/charts-library",
3
- "version": "5.1.2-beta-1",
3
+ "version": "5.1.2-beta-2",
4
4
  "description": "React Chart Library (based on Chart.js and react-chart-js-2)",
5
5
  "homepage": "https://gitlab.com/oliasoft-open-source/charts-library",
6
6
  "resolutions": {
@@ -1 +0,0 @@
1
- import{j as _}from"./jsx-runtime-W3oueGCa.js";import{r as O}from"./index-YTOF1_EJ.js";import{$ as Xn,a0 as Ze,a1 as J,B as U,a2 as Yn,v as N,A as k,P as oe,C as Q,a3 as Ve,a4 as Hn,g as De,y as qn,S as Wn,E as $n,F as Zn,a5 as ie,a6 as ae,H as ee,a7 as ge,G as Ae,I as Kn,T as Jn,L as Ke,a as Qn,J as be,K as et,M as Z,d as nt,r as tt,N as Je,a8 as st,f as rt,a9 as lt,U as ot,aa as j,ab as Be,ac as le,D as it,ad as K,b as at,s as ut,Q as ct,ae as dt,h as ft,i as gt,V as mt,W as bt,j as yt,k as ht,p as pt,m as _t,n as xt,o as Tt,q as Et,t as Pt}from"./legend-context-PSa8HhGj.js";import{r as Oe,M as Ue,k as ye,B as X,s as Lt,v as Ct,w as Qe,x as Ot,y as St,z as Nt,A as wt,E as Dt,N as en,G as At,S as Mt,g as Ft,e as vt,F as It,T as pn,J as kt,K as jt,D as Gt,O as Rt,Q as zt,o as Vt,q as Bt,U as Ut,j as Xt,u as Yt,Z as Ht,t as qt,R as Wt,l as $t,H as Zt,L as Kt,m as Jt,n as Qt}from"./legend-Cgq98xea.js";import{c as es,C as ns,f as nn,a as ts,b as ss}from"./get-draggableData-eD2Xdq-6.js";import{e as rs}from"./index-CgYGpm1H.js";const ls=(e,n,t)=>{const[r,s]=e.major,[o,l]=e.minor,i=(r.x+s.x+o.x+l.x)/4,a=(r.y+s.y+o.y+l.y)/4,c=s.x-r.x,u=s.y-r.y,d=Math.atan2(t.getPixelForValue(a+u/2)-t.getPixelForValue(a-u/2),n.getPixelForValue(i+c/2)-n.getPixelForValue(i-c/2)),y=Math.hypot(n.getPixelForValue(r.x)-n.getPixelForValue(s.x),t.getPixelForValue(r.y)-t.getPixelForValue(s.y))/2,m=Math.hypot(n.getPixelForValue(o.x)-n.getPixelForValue(l.x),t.getPixelForValue(o.y)-t.getPixelForValue(l.y))/2,h=n.getPixelForValue(i),b=t.getPixelForValue(a);return{cx:h,cy:b,radiusX:y,radiusY:m,angle:d}},os={id:"ellipsisAnnotationPlugin",afterDatasetsDraw(e){var o,l;const n=e==null?void 0:e.ctx,t=(o=e==null?void 0:e.scales)==null?void 0:o.x,r=(l=e==null?void 0:e.scales)==null?void 0:l.y;n.save();const s=e==null?void 0:e.chartArea;s&&(n.beginPath(),n.rect(s.left,s.top,s.right-s.left,s.bottom-s.top),n.clip()),e.data.datasets.forEach(i=>{const a=i;a.data.forEach(c=>{const{ellipsePoints:u}=c;if(!u)return;const{cx:d,cy:y,radiusX:m,radiusY:h,angle:b}=ls(u,t,r);n.save(),n.beginPath(),n.ellipse(d,y,m,h,b,0,2*Math.PI),n.strokeStyle=a.borderColor||Xn,n.lineWidth=a.borderWidth||1,n.stroke(),n.restore()})})}},is="_chart_e3qdd_1",as="_canvas_e3qdd_11",us="_fixedHeight_e3qdd_20",cs="_stretchHeight_e3qdd_26",ds="_squareAspectRatio_e3qdd_32",fs="_table_e3qdd_62",Se={chart:is,canvas:as,fixedHeight:us,stretchHeight:cs,squareAspectRatio:ds,table:fs};var _n=Symbol.for("immer-nothing"),tn=Symbol.for("immer-draftable"),A=Symbol.for("immer-state");function v(e,...n){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ne=Object.getPrototypeOf;function te(e){return!!e&&!!e[A]}function q(e){var n;return e?xn(e)||Array.isArray(e)||!!e[tn]||!!((n=e.constructor)!=null&&n[tn])||Pe(e)||Le(e):!1}var gs=Object.prototype.constructor.toString();function xn(e){if(!e||typeof e!="object")return!1;const n=ne(e);if(n===null)return!0;const t=Object.hasOwnProperty.call(n,"constructor")&&n.constructor;return t===Object?!0:typeof t=="function"&&Function.toString.call(t)===gs}function he(e,n){Ee(e)===0?Reflect.ownKeys(e).forEach(t=>{n(t,e[t],e)}):e.forEach((t,r)=>n(r,t,e))}function Ee(e){const n=e[A];return n?n.type_:Array.isArray(e)?1:Pe(e)?2:Le(e)?3:0}function Me(e,n){return Ee(e)===2?e.has(n):Object.prototype.hasOwnProperty.call(e,n)}function Tn(e,n,t){const r=Ee(e);r===2?e.set(n,t):r===3?e.add(t):e[n]=t}function ms(e,n){return e===n?e!==0||1/e===1/n:e!==e&&n!==n}function Pe(e){return e instanceof Map}function Le(e){return e instanceof Set}function H(e){return e.copy_||e.base_}function Fe(e,n){if(Pe(e))return new Map(e);if(Le(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const t=xn(e);if(n===!0||n==="class_only"&&!t){const r=Object.getOwnPropertyDescriptors(e);delete r[A];let s=Reflect.ownKeys(r);for(let o=0;o<s.length;o++){const l=s[o],i=r[l];i.writable===!1&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(r[l]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[l]})}return Object.create(ne(e),r)}else{const r=ne(e);if(r!==null&&t)return{...e};const s=Object.create(r);return Object.assign(s,e)}}function Xe(e,n=!1){return Ce(e)||te(e)||!q(e)||(Ee(e)>1&&(e.set=e.add=e.clear=e.delete=bs),Object.freeze(e),n&&Object.entries(e).forEach(([t,r])=>Xe(r,!0))),e}function bs(){v(2)}function Ce(e){return Object.isFrozen(e)}var ys={};function W(e){const n=ys[e];return n||v(0,e),n}var ue;function En(){return ue}function hs(e,n){return{drafts_:[],parent_:e,immer_:n,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function sn(e,n){n&&(W("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=n)}function ve(e){Ie(e),e.drafts_.forEach(ps),e.drafts_=null}function Ie(e){e===ue&&(ue=e.parent_)}function rn(e){return ue=hs(ue,e)}function ps(e){const n=e[A];n.type_===0||n.type_===1?n.revoke_():n.revoked_=!0}function ln(e,n){n.unfinalizedDrafts_=n.drafts_.length;const t=n.drafts_[0];return e!==void 0&&e!==t?(t[A].modified_&&(ve(n),v(4)),q(e)&&(e=pe(n,e),n.parent_||_e(n,e)),n.patches_&&W("Patches").generateReplacementPatches_(t[A].base_,e,n.patches_,n.inversePatches_)):e=pe(n,t,[]),ve(n),n.patches_&&n.patchListener_(n.patches_,n.inversePatches_),e!==_n?e:void 0}function pe(e,n,t){if(Ce(n))return n;const r=n[A];if(!r)return he(n,(s,o)=>on(e,r,n,s,o,t)),n;if(r.scope_!==e)return n;if(!r.modified_)return _e(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const s=r.copy_;let o=s,l=!1;r.type_===3&&(o=new Set(s),s.clear(),l=!0),he(o,(i,a)=>on(e,r,s,i,a,t,l)),_e(e,s,!1),t&&e.patches_&&W("Patches").generatePatches_(r,t,e.patches_,e.inversePatches_)}return r.copy_}function on(e,n,t,r,s,o,l){if(te(s)){const i=o&&n&&n.type_!==3&&!Me(n.assigned_,r)?o.concat(r):void 0,a=pe(e,s,i);if(Tn(t,r,a),te(a))e.canAutoFreeze_=!1;else return}else l&&t.add(s);if(q(s)&&!Ce(s)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;pe(e,s),(!n||!n.scope_.parent_)&&typeof r!="symbol"&&Object.prototype.propertyIsEnumerable.call(t,r)&&_e(e,s)}}function _e(e,n,t=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Xe(n,t)}function _s(e,n){const t=Array.isArray(e),r={type_:t?1:0,scope_:n?n.scope_:En(),modified_:!1,finalized_:!1,assigned_:{},parent_:n,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let s=r,o=Ye;t&&(s=[r],o=ce);const{revoke:l,proxy:i}=Proxy.revocable(s,o);return r.draft_=i,r.revoke_=l,i}var Ye={get(e,n){if(n===A)return e;const t=H(e);if(!Me(t,n))return xs(e,t,n);const r=t[n];return e.finalized_||!q(r)?r:r===Ne(e.base_,n)?(we(e),e.copy_[n]=je(r,e)):r},has(e,n){return n in H(e)},ownKeys(e){return Reflect.ownKeys(H(e))},set(e,n,t){const r=Pn(H(e),n);if(r!=null&&r.set)return r.set.call(e.draft_,t),!0;if(!e.modified_){const s=Ne(H(e),n),o=s==null?void 0:s[A];if(o&&o.base_===t)return e.copy_[n]=t,e.assigned_[n]=!1,!0;if(ms(t,s)&&(t!==void 0||Me(e.base_,n)))return!0;we(e),ke(e)}return e.copy_[n]===t&&(t!==void 0||n in e.copy_)||Number.isNaN(t)&&Number.isNaN(e.copy_[n])||(e.copy_[n]=t,e.assigned_[n]=!0),!0},deleteProperty(e,n){return Ne(e.base_,n)!==void 0||n in e.base_?(e.assigned_[n]=!1,we(e),ke(e)):delete e.assigned_[n],e.copy_&&delete e.copy_[n],!0},getOwnPropertyDescriptor(e,n){const t=H(e),r=Reflect.getOwnPropertyDescriptor(t,n);return r&&{writable:!0,configurable:e.type_!==1||n!=="length",enumerable:r.enumerable,value:t[n]}},defineProperty(){v(11)},getPrototypeOf(e){return ne(e.base_)},setPrototypeOf(){v(12)}},ce={};he(Ye,(e,n)=>{ce[e]=function(){return arguments[0]=arguments[0][0],n.apply(this,arguments)}});ce.deleteProperty=function(e,n){return ce.set.call(this,e,n,void 0)};ce.set=function(e,n,t){return Ye.set.call(this,e[0],n,t,e[0])};function Ne(e,n){const t=e[A];return(t?H(t):e)[n]}function xs(e,n,t){var s;const r=Pn(n,t);return r?"value"in r?r.value:(s=r.get)==null?void 0:s.call(e.draft_):void 0}function Pn(e,n){if(!(n in e))return;let t=ne(e);for(;t;){const r=Object.getOwnPropertyDescriptor(t,n);if(r)return r;t=ne(t)}}function ke(e){e.modified_||(e.modified_=!0,e.parent_&&ke(e.parent_))}function we(e){e.copy_||(e.copy_=Fe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Ts=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(n,t,r)=>{if(typeof n=="function"&&typeof t!="function"){const o=t;t=n;const l=this;return function(a=o,...c){return l.produce(a,u=>t.call(this,u,...c))}}typeof t!="function"&&v(6),r!==void 0&&typeof r!="function"&&v(7);let s;if(q(n)){const o=rn(this),l=je(n,void 0);let i=!0;try{s=t(l),i=!1}finally{i?ve(o):Ie(o)}return sn(o,r),ln(s,o)}else if(!n||typeof n!="object"){if(s=t(n),s===void 0&&(s=n),s===_n&&(s=void 0),this.autoFreeze_&&Xe(s,!0),r){const o=[],l=[];W("Patches").generateReplacementPatches_(n,s,o,l),r(o,l)}return s}else v(1,n)},this.produceWithPatches=(n,t)=>{if(typeof n=="function")return(l,...i)=>this.produceWithPatches(l,a=>n(a,...i));let r,s;return[this.produce(n,t,(l,i)=>{r=l,s=i}),r,s]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){q(e)||v(8),te(e)&&(e=Es(e));const n=rn(this),t=je(e,void 0);return t[A].isManual_=!0,Ie(n),t}finishDraft(e,n){const t=e&&e[A];(!t||!t.isManual_)&&v(9);const{scope_:r}=t;return sn(r,n),ln(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,n){let t;for(t=n.length-1;t>=0;t--){const s=n[t];if(s.path.length===0&&s.op==="replace"){e=s.value;break}}t>-1&&(n=n.slice(t+1));const r=W("Patches").applyPatches_;return te(e)?r(e,n):this.produce(e,s=>r(s,n))}};function je(e,n){const t=Pe(e)?W("MapSet").proxyMap_(e,n):Le(e)?W("MapSet").proxySet_(e,n):_s(e,n);return(n?n.scope_:En()).drafts_.push(t),t}function Es(e){return te(e)||v(10,e),Ln(e)}function Ln(e){if(!q(e)||Ce(e))return e;const n=e[A];let t;if(n){if(!n.modified_)return n.base_;n.finalized_=!0,t=Fe(e,n.scope_.immer_.useStrictShallowCopy_)}else t=Fe(e,!0);return he(t,(r,s)=>{Tn(t,r,Ln(s))}),n&&(n.finalized_=!1),t}var M=new Ts,Ps=M.produce;M.produceWithPatches.bind(M);M.setAutoFreeze.bind(M);M.setUseStrictShallowCopy.bind(M);M.applyPatches.bind(M);M.createDraft.bind(M);M.finishDraft.bind(M);const Cn="TOGGLE_ZOOM",On="TOGGLE_PAN",Sn="TOGGLE_POINTS",Nn="TOGGLE_LINE",wn="TOGGLE_LEGEND",Dn="TOGGLE_TABLE",Ge="RESET_AXES_RANGES",Re="UPDATE_AXES_RANGES",An="TOGGLE_DRAG_POINTS",Mn="TOGGLE_DRAG_ANNOTATION",Fn="DISABLE_DRAG_OPTIONS",me="UPDATE_EDITED",Ls=(e,n)=>Ps(e,t=>{switch(n.type){case Cn:{t.zoomEnabled=!t.zoomEnabled,t.panEnabled&&(t.panEnabled=!1),t.enableDragPoints&&(t.enableDragPoints=!1),t.enableDragAnnotation&&(t.enableDragAnnotation=!1);break}case On:{t.panEnabled=!t.panEnabled,t.zoomEnabled&&(t.zoomEnabled=!1),t.enableDragPoints&&(t.enableDragPoints=!1),t.enableDragAnnotation&&(t.enableDragAnnotation=!1);break}case Sn:{t.pointsEnabled=!t.pointsEnabled;break}case Nn:{t.lineEnabled=!t.lineEnabled;break}case wn:{t.legendEnabled=!t.legendEnabled;break}case Dn:{t.showTable=!t.showTable;break}case Re:{const{axes:r}=n.payload;t.axes=r;break}case Ge:{const{axes:r}=n.payload;t.axes=r;break}case An:{t.enableDragPoints=!t.enableDragPoints,t.panEnabled&&(t.panEnabled=!1),t.zoomEnabled&&(t.zoomEnabled=!1),t.enableDragAnnotation&&(t.enableDragAnnotation=!1);break}case Mn:{t.enableDragAnnotation=!t.enableDragAnnotation,t.panEnabled&&(t.panEnabled=!1),t.zoomEnabled&&(t.zoomEnabled=!1);break}case Fn:{(t.enableDragAnnotation||t.enableDragPoints||t.panEnabled||t.zoomEnabled)&&(t.enableDragAnnotation=!1,t.enableDragPoints=!1,t.panEnabled=!1,t.zoomEnabled=!1);break}case me:{t.edited=n.payload;break}}}),Cs=e=>{if(!e)return null;const n=`line-chart-state-${e}`,t=localStorage.getItem(n);return t?JSON.parse(t).state:null},Os=(e=72)=>{const n=new Date().getTime(),t=e*60*60*1e3;for(let r=0;r<localStorage.length;r++){const s=localStorage.key(r);if(s!=null&&s.includes("line-chart-state-")){const o=localStorage.getItem(s);if(o){const i=JSON.parse(o).timestamp;i&&n-i>t&&localStorage.removeItem(s)}}}},Ss=(e,n)=>{if(!n)return;const t=new Date().getTime(),r=`line-chart-state-${n}`,s={state:e,timestamp:t};localStorage.setItem(r,JSON.stringify(s)),Os()},Ns=({options:e,persistenceId:n})=>{const{chartOptions:{enableZoom:t,enablePan:r,showPoints:s,showLine:o,enableDragAnnotation:l},legend:{display:i},dragData:a}=e,{zoomEnabled:c,panEnabled:u,pointsEnabled:d,lineEnabled:y,legendEnabled:m,enableDragPoints:h,enableDragAnnotation:b}=Cs(n)||{};return{zoomEnabled:l??b?!1:c??t,panEnabled:u??r,pointsEnabled:d??s,lineEnabled:y??o,legendEnabled:m??i,axes:[],showTable:!1,enableDragPoints:(a==null?void 0:a.enableDragData)&&h,enableDragAnnotation:l??b,edited:!1}},ws=e=>O.createElement("svg",{fill:"currentColor",height:"1em",viewBox:"0 0 12 12",width:"1em",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",...e},O.createElement("clipPath",{id:"a"},O.createElement("path",{d:"m0 0h12v12h-12z"})),O.createElement("g",{clipPath:"url(#a)"},O.createElement("path",{d:"m.5 6.5v-1h11v1c-4.16104 0-6.63549 0-11 0z"}))),Ds=e=>O.createElement("svg",{fill:"currentColor",height:"1em",viewBox:"0 0 12 12",width:"1em",xmlns:"http://www.w3.org/2000/svg",...e},O.createElement("circle",{cx:6,cy:6,r:2})),As=e=>O.createElement("svg",{fill:"currentColor",height:"1em",viewBox:"0 0 12 12",width:"1em",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",...e},O.createElement("clipPath",{id:"a"},O.createElement("path",{d:"m0 0h12v12h-12z"})),O.createElement("g",{clipPath:"url(#a)"},O.createElement("path",{d:"m7.937 6.5c-.11122.42912-.36179.80916-.71237 1.08047-.35058.2713-.78133.4185-1.22463.4185s-.87405-.1472-1.22463-.4185c-.35058-.27131-.60115-.65135-.71237-1.08047h-3.563v-1h3.563c.11122-.42912.36179-.80916.71237-1.08046s.78133-.41851 1.22463-.41851.87405.14721 1.22463.41851.60115.65134.71237 1.08046h3.563v1z"})));function Ms({lineEnabled:e,onToggleLine:n,onTogglePoints:t,pointsEnabled:r,translations:s}){return[{type:"Option",label:s.pointsLines,icon:_.jsx(Oe,{icon:_.jsx(As,{})}),selected:r&&e,onClick:()=>{r||t(),e||n()}},{type:"Option",label:s.linesOnly,icon:_.jsx(Oe,{icon:_.jsx(ws,{})}),selected:!r&&e,onClick:()=>{r&&t(),e||n()}},{type:"Option",label:s.pointsOnly,icon:_.jsx(Oe,{icon:_.jsx(Ds,{})}),selected:r&&!e,onClick:()=>{r||t(),e&&n()}}]}const vn=({options:e})=>{const[n,t]=O.useState(!1),r=e.find(s=>s.selected);return _.jsx(Ue,{open:n,setOpen:t,menu:{sections:e,trigger:"Component",component:_.jsx(ye,{display:"inline-flex",text:r==null?void 0:r.label,placement:"bottom-start",enabled:!n,children:_.jsx(X,{colored:"muted",basic:!0,small:!0,round:!0,icon:r==null?void 0:r.icon})})}})};vn.__docgenInfo={description:"",methods:[],displayName:"LineOptions",props:{options:{required:!0,tsType:{name:"Array",elements:[{name:"IMenuSection"}],raw:"IMenuSection[]"},description:""}}};function Fs({onTogglePan:e,onToggleZoom:n,panEnabled:t,zoomEnabled:r,enableDragPoints:s,enableDragAnnotation:o,isDragDataAllowed:l,isDragAnnotationAllowed:i,onToggleDragAnnotation:a,onToggleDragPoints:c,onDisableDragOptions:u,translations:{dragToZoom:d,doubleClickToReset:y,dragToPan:m,dragToMovePoints:h,dragDisabled:b,dragToMoveAnnotation:x}}){return[{label:d,description:y,icon:_.jsx(Lt,{}),selected:r,type:"Option",onClick:()=>{r||n()}},{label:m,description:y,icon:_.jsx(Ct,{}),selected:t,type:"Option",onClick:()=>{t||e()}},...l?[{label:h,icon:_.jsx(Qe,{}),selected:s,type:"Option",onClick:()=>{s||c()}}]:[],...i?[{label:x,icon:_.jsx(Qe,{}),selected:o,type:"Option",onClick:()=>{o||a()}}]:[],{label:b,icon:_.jsx(Ot,{}),selected:!r&&!t&&!s&&!o,type:"Option",onClick:u}]}const In=({options:e})=>{const n=e.find(t=>t.selected);return _.jsx(Ue,{menu:{sections:e,trigger:"Component",component:_.jsx(X,{colored:"muted",basic:!0,small:!0,label:n==null?void 0:n.label,icon:n==null?void 0:n.icon})}})};In.__docgenInfo={description:"@param {import('./drag-options-interfaces').IDragOptions} obj",methods:[],displayName:"DragOptions",props:{options:{required:!0,tsType:{name:"Array",elements:[{name:"IMenuSection"}],raw:"IMenuSection[]"},description:""}}};const vs="_controls_1edjs_1",Is="_buttons_1edjs_6",an={controls:vs,buttons:Is},ks=e=>{const n=O.useCallback(t=>()=>{e({type:t})},[e]);return{onToggleLegend:n(wn),onToggleLine:n(Nn),onTogglePan:n(On),onTogglePoints:n(Sn),onToggleTable:n(Dn),onToggleZoom:n(Cn),onToggleDragPoints:n(An),onToggleDragAnnotation:n(Mn),onDisableDragOptions:n(Fn)}},js=(e,n)=>e===void 0||n===void 0||Number(e)<Number(n),Gs=(e,n)=>e===void 0||n===void 0||Number(e)>Number(n),kn=(e,n=0,t=!1)=>{const r=t&&n!==0?n+1:"";return`${e}${r}`},Rs=e=>{var n;return((n=e==null?void 0:e.match(/[^0-9/]+/gi))==null?void 0:n[0])??""},zs=e=>e.join(""),Yr=e=>typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null,Vs=(e,n,t)=>zs([JSON.stringify(e),JSON.stringify(n),t]),He=({chartRef:e,state:n,options:t,dispatch:r,generatedDatasets:s})=>{const{interactions:{onHover:o,onUnhover:l},axes:i}=t,a=O.useCallback(()=>{var E,g;const f=e==null?void 0:e.current;f&&(n!=null&&n.edited)&&((E=f==null?void 0:f.resetZoom)==null||E.call(f),(g=f==null?void 0:f.reset)==null||g.call(f),r({type:Ge,payload:{axes:[]}}),r({type:me,payload:!1}))},[e==null?void 0:e.current,r,n]),c=O.useCallback((f,E,g)=>(p,P)=>{if(!(P!=null&&P.length)&&l&&f&&(E(null),l(p)),P!=null&&P.length&&o){const{index:L,datasetIndex:C}=P[0],S=g[C],w=S==null?void 0:S.data[L];w&&!rs(f,w)&&(E(w),o(p,C,L,g))}},[o,l,s]),u=O.useCallback(()=>es(e),[e==null?void 0:e.current]),d=O.useCallback(f=>{var E,g,p,P,L;if(f.key===Ze.Shift){const C=e.current,S=(p=(g=(E=C==null?void 0:C.config)==null?void 0:E.options)==null?void 0:g.plugins)==null?void 0:p.zoom;(P=S==null?void 0:S.zoom)!=null&&P.mode&&((L=S==null?void 0:S.pan)!=null&&L.mode)&&(S.zoom.mode=J.Y,S.pan.mode=J.Y,C==null||C.update())}},[e==null?void 0:e.current]),y=O.useCallback(f=>{var E,g,p,P,L;if(f.key===Ze.Shift){const C=e.current,S=(p=(g=(E=C==null?void 0:C.config)==null?void 0:E.options)==null?void 0:g.plugins)==null?void 0:p.zoom;(P=S==null?void 0:S.zoom)!=null&&P.mode&&((L=S==null?void 0:S.pan)!=null&&L.mode)&&(S.zoom.mode=J.XY,S.pan.mode=J.XY,C==null||C.update())}},[e==null?void 0:e.current]),m=O.useCallback(f=>{var g;if(!((g=Object.keys(f))!=null&&g.length))return[];const E=(p,P)=>{var L;return!p[P]||!((L=p[P])!=null&&L.length)?[]:p[P].map((C,S)=>({id:kn(P,S,p[P].length>1),label:(C==null?void 0:C.label)||""}))};return[...E(f,U.X),...E(f,U.Y)]},[i]),h=O.useCallback(()=>{var g;const{scales:f={}}=(e==null?void 0:e.current)||{},E=(g=Object.entries(f))==null?void 0:g.map(([p,{min:P,max:L}])=>({id:p,min:P??0,max:L??0}));r({type:Re,payload:{axes:E}})},[i]),b=O.useCallback(()=>{var E,g;const f=e==null?void 0:e.current;f&&n.edited&&((E=f==null?void 0:f.resetZoom)==null||E.call(f),(g=f==null?void 0:f.reset)==null||g.call(f),r({type:Ge,payload:{axes:[]}}),r({type:me,payload:!1}))},[e==null?void 0:e.current]),x=O.useCallback(({axes:f})=>{r({type:Re,payload:{axes:f}})},[]),T=O.useCallback(f=>{r({type:me,payload:f})},[n]);return{resetZoom:a,onHover:c,handleDownload:u,handleKeyDown:d,handleKeyUp:y,controlsAxesLabels:m(i),updateAxesRangesFromChart:h,onResetAxes:b,onUpdateAxes:x,onUpdateEdited:T}},un=(e,n,t)=>{const r=[];return Yn(e)&&r.push("mustHaveAValue"),t==="min"&&!js(e,n)?r.push("mustBeLessThanMax"):t==="max"&&!Gs(e,n)&&r.push("mustBeGreaterThanMin"),r},Bs=e=>{const n=e.map(({id:r,min:s,max:o})=>({id:r,min:un(String(s),String(o),"min"),max:un(String(o),String(s),"max")})),t=n.every(r=>r.min.length===0&&r.max.length===0);return{errors:n,valid:t}},cn=1,dn=({chartRef:e,state:n})=>{const t=e==null?void 0:e.current;if(!t)return[];const r=(t==null?void 0:t.getInitialScaleBounds())??{};return Object.entries(r).map(([s,{min:o="",max:l=""}])=>{var u;let i=Number(o),a=Number(l);isNaN(i)&&(i=0),isNaN(a)&&(a=i+cn),i===a&&(a+=cn);const{unit:c}=((u=n==null?void 0:n.axes)==null?void 0:u.find(d=>d.id===s))??{};return{id:s,min:i,max:a,unit:c}})},Us=e=>{var E;const{state:n,controlsAxesLabels:t,onUpdateAxes:r,onResetAxes:s,onUpdateEdited:o,depthType:l,translations:i,close:a,chartRef:c}=e??{},[u,d]=O.useState({localAxes:dn({chartRef:c,state:n}),depthType:l==null?void 0:l.selectedDepthType,edited:n.edited}),{errors:y,valid:m}=Bs(u.localAxes),h=({name:g,value:p,id:P})=>{d(L=>({...L,localAxes:L.localAxes.map(C=>C.id===P?{...C,[g]:p}:C),edited:!0}))},b=({name:g,value:p,id:P})=>{d(L=>({...L,localAxes:L.localAxes.map(C=>C.id===P&&typeof C.unit=="object"?{...C,unit:{...C.unit,[g]:p}}:C),edited:!0}))},x=g=>{g.preventDefault(),m&&(r({axes:u.localAxes}),a==null||a()),l&&(l!=null&&l.setSelectedDepthType)&&(l==null||l.setSelectedDepthType(u.depthType)),o(u.edited)},T=()=>{d({localAxes:dn({chartRef:c,state:n}),depthType:l==null?void 0:l.selectedDepthType,edited:!1}),s(),o(!1),a==null||a()},f=g=>g.target.select();return _.jsxs("form",{onSubmit:x,children:[u.localAxes.map(g=>{var C,S;const p=t.find(w=>w.id===g.id),P=(p==null?void 0:p.label)||N.startCase(g.id),L=y.find(w=>w.id===g.id);return _.jsx(wt,{label:P,children:_.jsxs(Dt,{small:!0,width:"300px",children:[_.jsx(en,{name:"min",value:g.min,error:(C=L==null?void 0:L.min)!=null&&C[0]?i[L.min[0]]:null,width:"100%",onChange:w=>h({name:w.target.name,value:w.target.value,id:g.id}),onFocus:f}),_.jsx(At,{children:"to"}),_.jsx(en,{name:"max",value:g.max,error:(S=L==null?void 0:L.max)!=null&&S[0]?i[L.max[0]]:null,width:"100%",onChange:w=>h({name:w.target.name,value:w.target.value,id:g.id}),onFocus:f}),g.unit?_.jsx(Mt,{name:"selectedUnit",options:typeof g.unit!="string"?g.unit.options:[],value:typeof g.unit!="string"?g.unit.selectedUnit:void 0,onChange:w=>b({name:w.target.name,value:w.target.value,id:g.id}),autoLayerWidth:!0,width:"15%"}):null]})},g.id)}),((E=l==null?void 0:l.options)==null?void 0:E.length)>0&&_.jsxs(_.Fragment,{children:[_.jsx(Ft,{items:l.options.map((g,p)=>({key:p,label:g})),onSelected:g=>{d(p=>({...p,depthType:l.options[g],edited:!0}))},small:!0,value:l.options.indexOf(u.depthType)}),_.jsx(vt,{})]}),_.jsxs(It,{gap:"8px",alignItems:"center",children:[_.jsx(X,{type:"submit",small:!0,colored:!0,label:i.done,disabled:!m||!u.edited}),_.jsx(X,{small:!0,name:"resetAxes",label:i.resetAxes,onClick:T}),_.jsx(pn,{small:!0,muted:!0,children:i.orDoubleClickToCanvas})]})]})},jn=e=>_.jsx(St,{placement:"bottom-start",overflowContainer:!0,content:_.jsx(Us,{...e}),children:_.jsx(ye,{text:e.translations.axesOptions,placement:"bottom-start",display:"inline-flex",children:_.jsx(X,{small:!0,basic:!0,colored:"muted",round:!0,icon:_.jsx(Nt,{})})})});jn.__docgenInfo={description:"",methods:[],displayName:"AxesOptions",props:{chartRef:{required:!0,tsType:{name:"RefObject",elements:[{name:"Chart"}],raw:"RefObject<Chart>"},description:""},state:{required:!0,tsType:{name:"IState"},description:""},controlsAxesLabels:{required:!0,tsType:{name:"Array",elements:[{name:"IAxisControlLabel"}],raw:"IAxisControlLabel[]"},description:""},onUpdateAxes:{required:!0,tsType:{name:"signature",type:"function",raw:"({ axes }: { axes: IAxisState }) => void",signature:{arguments:[{type:{name:"signature",type:"object",raw:"{ axes: IAxisState }",signature:{properties:[{key:"axes",value:{name:"IAxisState",required:!0}}]}},name:""}],return:{name:"void"}}},description:""},onResetAxes:{required:!0,tsType:{name:"signature",type:"function",raw:"() => void",signature:{arguments:[],return:{name:"void"}}},description:""},onUpdateEdited:{required:!0,tsType:{name:"signature",type:"function",raw:"(edited: boolean) => void",signature:{arguments:[{type:{name:"boolean"},name:"edited"}],return:{name:"void"}}},description:""},depthType:{required:!1,tsType:{name:"union",raw:"IDepthType | object",elements:[{name:"IDepthType"},{name:"object"}]},description:""},close:{required:!1,tsType:{name:"signature",type:"function",raw:"() => void",signature:{arguments:[],return:{name:"void"}}},description:""},translations:{required:!0,tsType:{name:"Record",elements:[{name:"string"},{name:"string"}],raw:"Record<string, string>"},description:""}}};const Gn=({table:e,headerComponent:n,subheaderComponent:t,chartRef:r,state:s,options:o,dispatch:l,generatedDatasets:i,translations:a,controlsPortalId:c})=>{const{enableDragPoints:u,lineEnabled:d,panEnabled:y,pointsEnabled:m,showTable:h,zoomEnabled:b,enableDragAnnotation:x}=s,{dragData:T,depthType:f,annotations:E}=o,{onToggleLine:g,onTogglePan:p,onTogglePoints:P,onToggleTable:L,onToggleZoom:C,onToggleDragPoints:S,onToggleDragAnnotation:w,onDisableDragOptions:F}=ks(l),{handleDownload:D,controlsAxesLabels:$,onResetAxes:G,onUpdateAxes:se,onUpdateEdited:R}=He({chartRef:r,state:s,options:o,dispatch:l,generatedDatasets:i}),[z,{width:re}]=kt(),Y=re<200,V=O.useMemo(()=>Ms({lineEnabled:d,onToggleLine:g,onTogglePoints:P,pointsEnabled:m,translations:a}),[d,m]),B=O.useMemo(()=>Fs({onTogglePan:p,onToggleZoom:C,panEnabled:y,zoomEnabled:b,enableDragPoints:u,enableDragAnnotation:x,isDragDataAllowed:T==null?void 0:T.enableDragData,isDragAnnotationAllowed:E==null?void 0:E.enableDragAnnotation,onToggleDragAnnotation:w,onToggleDragPoints:S,onDisableDragOptions:F,translations:a}),[b,y,u,T==null?void 0:T.enableDragData,E==null?void 0:E.enableDragAnnotation]);return _.jsxs(_.Fragment,{children:[_.jsxs("div",{className:an.controls,children:[!!o.title&&_.jsx(pn,{bold:!0,children:o.title}),n,_.jsx(ns,{controlsPortalId:c??"",children:_.jsxs("div",{className:an.buttons,ref:z,children:[!h&&_.jsxs(_.Fragment,{children:[_.jsx(jn,{chartRef:r,state:s,controlsAxesLabels:$,onUpdateAxes:se,onResetAxes:G,onUpdateEdited:R,depthType:f,translations:a}),Y?_.jsx(Ue,{menu:{placement:"bottom-end",sections:[...V,{type:"Divider"},...B,{type:"Divider"},{icon:"download",label:a.downloadAsPNG,type:"Option",onClick:D}],trigger:"Component",component:_.jsx(X,{colored:"muted",basic:!0,small:!0,round:!0,icon:"menu"})}}):_.jsxs(_.Fragment,{children:[_.jsx(vn,{options:V}),_.jsx(ye,{display:"inline-flex",text:a.downloadAsPNG,placement:"bottom-end",children:_.jsx(X,{small:!0,basic:!0,colored:"muted",round:!0,icon:"download",onClick:D})}),_.jsx(In,{options:B})]})]}),e?_.jsx(ye,{display:"inline-flex",text:h?a.showChart:a.showTable,placement:"bottom-end",children:_.jsx(X,{small:!0,basic:!0,colored:"muted",round:!0,icon:h?"chart":"table",onClick:L})}):null]})})]}),t]})};Gn.__docgenInfo={description:"",methods:[],displayName:"Controls",props:{headerComponent:{required:!1,tsType:{name:"ReactNode"},description:""},subheaderComponent:{required:!1,tsType:{name:"ReactNode"},description:""},table:{required:!1,tsType:{name:"ReactNode"},description:""},chartRef:{required:!0,tsType:{name:"RefObject",elements:[{name:"Chart"}],raw:"RefObject<Chart>"},description:""},state:{required:!0,tsType:{name:"IState"},description:""},options:{required:!0,tsType:{name:"ILineChartOptions"},description:""},dispatch:{required:!0,tsType:{name:"Dispatch",elements:[{name:"any"}],raw:"Dispatch<any>"},description:""},generatedDatasets:{required:!0,tsType:{name:"Array",elements:[{name:"IGeneratedLineChartDataset"}],raw:"IGeneratedLineChartDataset[]"},description:""},translations:{required:!0,tsType:{name:"Record",elements:[{name:"string"},{name:"string"}],raw:"Record<string, string>"},description:""},controlsPortalId:{required:!1,tsType:{name:"string"},description:""}}};const I={TOP_LEFT:"top-left",TOP_CENTER:"top-center",TOP_RIGHT:"top-right",MIDDLE_LEFT:"middle-left",MIDDLE_CENTER:"middle-center",MIDDLE_RIGHT:"middle-right",BOTTOM_LEFT:"bottom-left",BOTTOM_CENTER:"bottom-center",BOTTOM_RIGHT:"bottom-right"},fn=e=>({label:"",position:e,color:"",unit:{options:[],selectedUnit:"",setSelectedUnit:()=>{}}}),Xs=e=>({x:(e==null?void 0:e.x)||[fn("bottom")],y:(e==null?void 0:e.y)||[fn("left")]}),Ys=e=>({chartScaleType:(e==null?void 0:e.chartScaleType)||"linear",reverse:(e==null?void 0:e.reverse)||!1,beginAtZero:(e==null?void 0:e.beginAtZero)??!1,stepSize:e==null?void 0:e.stepSize,suggestedMin:e==null?void 0:e.suggestedMin,suggestedMax:e==null?void 0:e.suggestedMax,range:e==null?void 0:e.range,autoAxisPadding:(e==null?void 0:e.autoAxisPadding)??!1}),Hs=e=>({width:e==null?void 0:e.width,height:e==null?void 0:e.height,maintainAspectRatio:(e==null?void 0:e.maintainAspectRatio)??!1,staticChartHeight:(e==null?void 0:e.staticChartHeight)??!1,performanceMode:(e==null?void 0:e.performanceMode)??!0,squareAspectRatio:(e==null?void 0:e.squareAspectRatio)??!1,layoutPadding:(e==null?void 0:e.layoutPadding)||{top:0,bottom:20,left:0,right:0}}),qs=e=>({tooltips:(e==null?void 0:e.tooltips)??!0,showLabelsInTooltips:(e==null?void 0:e.showLabelsInTooltips)??!1,hideSimulationName:(e==null?void 0:e.hideSimulationName)??!1,scientificNotation:(e==null?void 0:e.scientificNotation)??!0}),Ws=e=>({lineTension:(e==null?void 0:e.lineTension)??.01,spanGaps:(e==null?void 0:e.spanGaps)??!1,showDataLabels:(e==null?void 0:e.showDataLabels)??!1,showMinorGridlines:(e==null?void 0:e.showMinorGridlines)??!1}),$s=e=>e?e.map(n=>({...n,display:(n==null?void 0:n.display)??!0})):[],Zs=e=>{var n,t,r,s,o,l,i,a;return{labelAnnotation:{showLabel:((n=e==null?void 0:e.labelAnnotation)==null?void 0:n.showLabel)??!1,text:((t=e==null?void 0:e.labelAnnotation)==null?void 0:t.text)??"",position:((r=e==null?void 0:e.labelAnnotation)==null?void 0:r.position)??I.BOTTOM_RIGHT,fontSize:((s=e==null?void 0:e.labelAnnotation)==null?void 0:s.fontSize)??12,xOffset:((o=e==null?void 0:e.labelAnnotation)==null?void 0:o.xOffset)??5,yOffset:((l=e==null?void 0:e.labelAnnotation)==null?void 0:l.yOffset)??5,maxWidth:((i=e==null?void 0:e.labelAnnotation)==null?void 0:i.maxWidth)??300,lineHeight:((a=e==null?void 0:e.labelAnnotation)==null?void 0:a.lineHeight)??12},showAnnotations:(e==null?void 0:e.showAnnotations)??!1,controlAnnotation:(e==null?void 0:e.controlAnnotation)??!1,enableDragAnnotation:(e==null?void 0:e.enableDragAnnotation)??!1,annotationsData:$s(e==null?void 0:e.annotationsData)}},Ks=e=>({display:(e==null?void 0:e.display)??!0,position:(e==null?void 0:e.position)??oe.BottomLeft,align:(e==null?void 0:e.align)??k.Center,customLegend:(e==null?void 0:e.customLegend)??{customLegendPlugin:null,customLegendContainerID:""},usePointStyle:(e==null?void 0:e.usePointStyle)??!0}),Js=e=>({showPoints:(e==null?void 0:e.showPoints)??!0,showLine:(e==null?void 0:e.showLine)??!0,enableZoom:(e==null?void 0:e.enableZoom)??!0,enablePan:(e==null?void 0:e.enablePan)??!1,enableDragAnnotation:(e==null?void 0:e.enableDragAnnotation)??!1,closeOnOutsideClick:(e==null?void 0:e.closeOnOutsideClick)??!1}),Qs=e=>({onLegendClick:e==null?void 0:e.onLegendClick,onHover:e==null?void 0:e.onHover,onUnhover:e==null?void 0:e.onUnhover,onAnimationComplete:e==null?void 0:e.onAnimationComplete}),er=e=>({enableDragData:(e==null?void 0:e.enableDragData)??!1,showTooltip:(e==null?void 0:e.showTooltip)??!0,roundPoints:(e==null?void 0:e.roundPoints)??!0,dragX:(e==null?void 0:e.dragX)??!0,dragY:(e==null?void 0:e.dragY)??!0,onDragStart:e==null?void 0:e.onDragStart,onDrag:e==null?void 0:e.onDrag,onDragEnd:e==null?void 0:e.onDragEnd}),Rn=e=>{const n=(e==null?void 0:e.chart)||{},t=(n==null?void 0:n.options)||{};return{persistenceId:(n==null?void 0:n.persistenceId)??"",controlsPortalId:(n==null?void 0:n.controlsPortalId)??"",testId:(n==null?void 0:n.testId)??void 0,data:(n==null?void 0:n.data)??{datasets:[]},options:{title:(t==null?void 0:t.title)??"",scales:(t==null?void 0:t.scales)??{},axes:Xs(t==null?void 0:t.axes),additionalAxesOptions:Ys(t==null?void 0:t.additionalAxesOptions),chartStyling:Hs(t==null?void 0:t.chartStyling),tooltip:qs(t==null?void 0:t.tooltip),graph:Ws(t==null?void 0:t.graph),annotations:Zs(t==null?void 0:t.annotations),legend:Ks(t==null?void 0:t.legend),chartOptions:Js(t==null?void 0:t.chartOptions),interactions:Qs(t==null?void 0:t.interactions),dragData:er(t==null?void 0:t.dragData),depthType:(t==null?void 0:t.depthType)??{}}}},nr=(e,n)=>{if(N.isEmpty(e)||N.isEmpty(n))return!1;const t=r=>typeof n=="string"?r&&N.has(r,n):N.isArray(n)?r&&N.some(n,s=>r&&N.has(r,s)):r&&N.some(Object.values(n),s=>r&&N.has(r,s));return N.isArray(e)?N.some(e,t):t(e)};var zn=(e=>(e.showLine="showLine",e.showPoints="showPoints",e))(zn||{});const tr=(e,n,t,{label:r})=>{const s=[...e??[]],{annotations:o,graph:l}=t??{},{controlAnnotation:i,showAnnotations:a,annotationsData:c=[]}=o??{};if(i&&a){const u=c.map((d,y)=>{const{type:m,...h}=d,b=h.color??Q[y],x=Hn,T=Ve.INITIAL;return{...h,isAnnotation:!0,annotationType:m,label:h.label,annotationIndex:y,backgroundColor:b,pointBackgroundColor:b,borderColor:b,borderDash:x,borderWidth:T,data:[{}]}});s.push(...u)}return s==null?void 0:s.map((u,d)=>{var B,qe;const{formation:y,data:m=[],pointRadius:h,pointHoverRadius:b,borderWidth:x,borderColor:T,backgroundColor:f,pointBackgroundColor:E,borderDash:g,showPoints:p,showLine:P}=u??{},{lineEnabled:L,pointsEnabled:C,axes:S=[]}=n??{},{lineTension:w,spanGaps:F}=l??{},D=Array.isArray(m)?m:[];if(y&&(D!=null&&D.length)){const We=Number((B=S[0])==null?void 0:B.min),$e=Number((qe=S[0])==null?void 0:qe.max),[de,fe]=D;We&&(de!=null&&de.x)&&(D[0].x=Math.max(We,de.x)),$e&&(fe!=null&&fe.x)&&(D[2].x=Math.min($e,fe.x))}const $=nr(u,zn),G=(D==null?void 0:D.filter(Boolean))||[],se=(G==null?void 0:G.length)===1;let R,z;p!==void 0?R=p:P===!1?R=!0:R=C||se,P!==void 0?z=P:p===!1?z=!0:z=L;const re=parseFloat(h)||Gt,Y=parseFloat(b)||jt,V=Q[d];return{...u,label:(u==null?void 0:u.label)??`${r} ${d+1}`,data:G,showLine:z,lineTension:(u==null?void 0:u.lineTension)??w,spanGaps:F,borderWidth:parseFloat(x)||Vt,borderDash:g||[],borderJoinStyle:zt,borderColor:T??V??De(Q),backgroundColor:f??Rt,pointBackgroundColor:E??V??De(Q),pointRadius:R?re:0,pointHoverRadius:Y,pointHitRadius:(u==null?void 0:u.pointHitRadius)??Y,...$?{hasCustomOpt:$}:{}}})},ze=(e,n,t,r,s=0)=>{var u,d,y,m,h,b,x;const o=r||e.axes[n][0]||{},l=t==null?void 0:t.axes.filter(T=>{var f;return(f=T==null?void 0:T.id)==null?void 0:f.startsWith(n)})[s],i=(d=(u=e==null?void 0:e.scales)==null?void 0:u[`${s===0?n:n+s}`])==null?void 0:d.ticks,{additionalAxesOptions:a}=e,c=()=>{const T=(a==null?void 0:a.chartScaleType)===Wn.Logarithmic,f=(p,P,L)=>T?Zn.includes(p)?nn(p,L):"":nn(p,L);return{...T?{}:{stepSize:o.stepSize??(n===U.Y?a.stepSize:null)},callback:f,includeBounds:!1,...i,font:{size:$n}}};return{display:!0,type:a.chartScaleType,position:o.position,beginAtZero:a.beginAtZero,reverse:n===U.Y?a.reverse:!1,suggestedMax:a.suggestedMax,suggestedMin:a.suggestedMin,min:(l==null?void 0:l.min)??((m=(y=a==null?void 0:a.range)==null?void 0:y[n])==null?void 0:m.min),max:(l==null?void 0:l.max)??((b=(h=a==null?void 0:a.range)==null?void 0:h[n])==null?void 0:b.max),title:{display:(x=o.label)==null?void 0:x.length,text:o.label,padding:0},ticks:c(),grid:{...o.gridLines}}},gn=(e,n,t)=>e.axes[n].reduce((o,l,i)=>{const a=l;a.color=l.color||Q[i]||De(Q),a.position=l.position||qn(n,i);const c=ze(e,n,t,a,i),u=kn(n,i,!0);return{...o,[u]:c}},{}),sr=(e,n)=>{var l,i;const t=((l=e.axes.x)==null?void 0:l.length)>1,r=((i=e.axes.y)==null?void 0:i.length)>1,s=t?gn(e,U.X,n):{x:ze(e,U.X,n)},o=r?gn(e,U.Y,n):{y:ze(e,U.Y,n)};return{...s,...o}},rr=e=>{var t;if(!Array.isArray(e)||!(e!=null&&e.length))return!1;const n=e==null?void 0:e.reduce((r,s)=>{var a,c,u,d;const o=(s==null?void 0:s.xAxisID)??"x",l=(s==null?void 0:s.yAxisID)??"y",i=(s==null?void 0:s.data)??[];if(i&&(i!=null&&i.length)){const{x:y,y:m}=(i==null?void 0:i[0])??{},{x:h=0,y:b=0}=(i==null?void 0:i.at(-1))??{},x=((a=r==null?void 0:r[o])==null?void 0:a.xFirst)??y,T=((c=r==null?void 0:r[o])==null?void 0:c.xLast)??h,f=((u=r==null?void 0:r[l])==null?void 0:u.yFirst)??m,E=((d=r==null?void 0:r[l])==null?void 0:d.yLast)??b,g=Math.min(y,x),p=Math.max(h,T),P=Math.min(m,f),L=Math.max(b,E);r={...r,[o]:{...r[o],xFirst:g,xLast:p},[l]:{yFirst:P,yLast:L}}}return r},{});return(t=Object.values(n))==null?void 0:t.some(({xFirst:r,xLast:s,yFirst:o,yLast:l})=>ie(r,s,{absoluteDiff:ae})||ie(o,l,{absoluteDiff:ae}))},mn=.05,lr={min:-1,max:1},or=({data:e,beginAtZero:n=!1,autoAxisPadding:t=!1})=>{const r=Math.min(...e.filter(m=>m!=null&&!isNaN(m))),s=Math.max(...e.filter(m=>m!=null&&!isNaN(m))),o=Math.sign(r)===-1||Math.sign(s)===-1,l=ie(r,0,{absoluteDiff:ae})&&ie(s,0,{absoluteDiff:ae});if(!(e!=null&&e.length)||l)return lr;if(ie(r,s,{absoluteDiff:ae})){const m=s,h=m*mn,b=n&&!o?0:m-h,x=n&&o?0:m+h,T=ee(x,ge),f=ee(b,ge);return{min:T<0?T:f,max:f<0?f:T}}if(!t)return{min:void 0,max:void 0};const i=r===0||s===0||n,a=Math.sign(r)===-1&&Math.sign(s)===1,c=Math.abs(s-r),u=t?c*mn:0,d=!a&&i&&n&&!o?0:r-u,y=!a&&i&&n&&o?0:s+u;return{min:ee(d,ge),max:ee(y,ge)}},ir=e=>e==null?void 0:e.reduce((n,t)=>({...n,[t.annotationAxis]:[...n[t.annotationAxis]||[],+t.value]}),{}),ar=(e,n,t)=>{if(!Array.isArray(e)||!Array.isArray(n))return{};const r=ir(t);return n.reduce((s,o)=>{const l=Rs(o),i=e.filter(c=>(c[`${l}AxisID`]??l)===o).flatMap(c=>((c==null?void 0:c.data)??[]).map(d=>d[l])),a=(r==null?void 0:r[o])??[];return s[o]=[...new Set([...i,...a])],s},{})},bn=(e,n)=>!N.isNil(e)||!N.isNil(n),ur=(e,n,t)=>{const{additionalAxesOptions:r,annotations:{annotationsData:s=[],controlAnnotation:o=!1}={}}=e||{},l=sr(e,n)||{},i=o?t.filter(({isAnnotation:d})=>!d):t;if(!(r!=null&&r.autoAxisPadding)&&!rr(i))return l;const a=Object.keys(l)??[],c=ar(t,a,s);return(c&&(a==null?void 0:a.reduce((d,y)=>{const m=l[y],{min:h=void 0,max:b=void 0}=m,{min:x,max:T}=or({data:c[y],beginAtZero:r==null?void 0:r.beginAtZero,autoAxisPadding:r==null?void 0:r.autoAxisPadding}),f={[y]:{...m,min:h??(bn(h,b)?void 0:x),max:b??(bn(h,b)?void 0:T)}};return{...d,...f}},{})))??l},cr=(e,n,t,r,s)=>{const l=e??0,i=n??0,a=t??0,c=r??0,u=s??0,d=l-100<=a,y=l+100>=c,m=l+100>=a&&l+100<c&&i+100>=u;return{overLeftSide:d,overRightSide:y,overBottomSide:m}},dr=e=>{var y,m;const n=e==null?void 0:e.chart,t=(e==null?void 0:e.dataIndex)??0,r=(e==null?void 0:e.datasetIndex)??0,s=(n==null?void 0:n.chartArea)??{},{left:o=null,right:l=null,bottom:i=null}=s,a=(y=n==null?void 0:n.getDatasetMeta)==null?void 0:y.call(n,r),c=(m=a==null?void 0:a.data)==null?void 0:m[t],u=(c==null?void 0:c.x)??null,d=(c==null?void 0:c.y)??null;return{x:u,y:d,left:o,right:l,bottom:i}},fr=()=>e=>{const{x:n,y:t,left:r,right:s,bottom:o}=dr(e),{overLeftSide:l=!1,overRightSide:i=!1,overBottomSide:a=!1}=cr(n,t,r,s,o);return l&&k.Right||i&&k.Left||a&&k.End||k.Start},gr=e=>{var n;return(n=e==null?void 0:e.graph)!=null&&n.showDataLabels?{display:Ae,align:fr(),formatter:(t,r)=>{var o,l;const s=(l=(o=r==null?void 0:r.dataset)==null?void 0:o.data)==null?void 0:l[r.dataIndex];return!s||s.label==null?"":typeof s.label=="string"?s.label:Array.isArray(s.label)?s.label.map(String):String(s.label)}}:{display:!1}},mr=e=>{const n=e==null?void 0:e.match(/\[(.*)\]/g);return n&&(n==null?void 0:n.length)>0?n==null?void 0:n[0]:""},yn=(e,n)=>{let t={};return n?(Math.abs(e)<Bt||Math.abs(e)>Ut)&&(t={roundScientificCoefficient:3}):t={scientific:!1},nt(tt(e),t)},br=e=>{var o,l,i,a,c;if(!((l=(o=e==null?void 0:e.axes)==null?void 0:o.x)!=null&&l.length)||!((a=(i=e==null?void 0:e.axes)==null?void 0:i.y)!=null&&a.length))return console.warn("Tooltip config fallback: missing axes",e),{enabled:!1,callbacks:{}};const{scientificNotation:n}=(e==null?void 0:e.tooltip)??{},t=({xAxisID:u="",yAxisID:d=""})=>{var x,T,f,E,g,p,P;const y=(u==null?void 0:u.length)>1?Number(u==null?void 0:u[1])-1:0,m=(d==null?void 0:d.length)>1?Number(d==null?void 0:d[1])-1:0,h=(T=(x=e==null?void 0:e.axes)==null?void 0:x.x)==null?void 0:T[y],b=(E=(f=e==null?void 0:e.axes)==null?void 0:f.y)==null?void 0:E[m];return((P=(p=(g=e==null?void 0:e.axes)==null?void 0:g.x)==null?void 0:p[0])==null?void 0:P.position)===oe.Top?{titleAxisLabel:(b==null?void 0:b.label)||"",valueAxisLabel:(h==null?void 0:h.label)||"",titleLabel:Z.Y,valueLabel:Z.X}:{titleAxisLabel:(h==null?void 0:h.label)||"",valueAxisLabel:(b==null?void 0:b.label)||"",titleLabel:Z.X,valueLabel:Z.Y}},r=u=>{var x,T,f,E;if(!(u!=null&&u[0]))return"";const d=t(u[0].dataset),{titleLabel:y="",titleAxisLabel:m=""}=d??{},h=y===Z.Y?(T=(x=u==null?void 0:u[0])==null?void 0:x.parsed)==null?void 0:T.y:(E=(f=u==null?void 0:u[0])==null?void 0:f.parsed)==null?void 0:E.x;return`${yn(h,n)} ${m}`},s=u=>{var g;const{showLabelsInTooltips:d}=(e==null?void 0:e.tooltip)??{};let y=((g=u==null?void 0:u.dataset)==null?void 0:g.label)||"";const m=t(u==null?void 0:u.dataset),{valueLabel:h="",valueAxisLabel:b=""}=m??{},T=(()=>{var P,L;const p=h===Z.X?(P=u==null?void 0:u.parsed)==null?void 0:P.x:(L=u==null?void 0:u.parsed)==null?void 0:L.y;return yn(p,n)})(),f=mr(b),E=et(u,d);return`${y}: ${T} ${f} ${E}`};return{enabled:(c=e==null?void 0:e.tooltip)==null?void 0:c.tooltips,mode:be.Nearest,intersect:!0,padding:Qn,usePointStyle:!0,boxWidth:Ke,boxHeight:Ke,boxPadding:Jn,callbacks:{title:r,label:s,afterLabel:Kn}}},yr=({chartRef:e,state:n,options:t,dispatch:r,generatedDatasets:s})=>{const{interactions:{onAnimationComplete:o},annotations:{labelAnnotation:{showLabel:l,text:i,position:a,fontSize:c,xOffset:u,yOffset:d,maxWidth:y,lineHeight:m}={}},chartStyling:{layoutPadding:h}}=t,{enableDragPoints:b,zoomEnabled:x,panEnabled:T,lineEnabled:f}=n,[E,g]=O.useState(null),{updateAxesRangesFromChart:p,onHover:P,onUpdateEdited:L}=He({chartRef:e,state:n,options:t,dispatch:r,generatedDatasets:s}),{legend:C,customLegendPlugin:S}=Xt({chartRef:e,options:t})??{},{state:w}=Yt()??{},{annotation:F}=w??{},D=gr(t)??{},$=br(t)??{},G=O.useMemo(()=>ur(t,n,s),[t,n,s,e]),se=O.useMemo(()=>b&&ts(t),[b,t]),R=O.useMemo(()=>({enabled:T,mode:J.XY,onPanComplete(){p(),L(!0)}}),[T]),z=O.useMemo(()=>({mode:J.XY,drag:{enabled:x,threshold:3,backgroundColor:Ht,borderColor:Je,borderWidth:1},onZoomComplete(){p(),L(!0)}}),[x]),re={datalabels:D,annotationDraggerPlugin:{enabled:n==null?void 0:n.enableDragAnnotation},annotation:qt(F),zoom:{pan:R,zoom:z},tooltip:$,legend:{...C,display:!1,events:[]},customLegendPlugin:S,chartAreaBorder:{borderColor:Je},chartAreaText:{showLabel:l,text:i,position:a,fontSize:c,xOffset:u,yOffset:d,maxWidth:y,lineHeight:m},...se};return O.useMemo(()=>{var Y,V,B;return{layout:{padding:h},onHover:P(E,g,s),maintainAspectRatio:(Y=t==null?void 0:t.chartStyling)==null?void 0:Y.maintainAspectRatio,aspectRatio:(V=t==null?void 0:t.chartStyling)!=null&&V.squareAspectRatio?1:0,animation:(B=t==null?void 0:t.chartStyling)!=null&&B.performanceMode?!1:{duration:rt.FAST,onComplete:o},hover:{mode:be.Nearest,intersect:!0},elements:{line:{pointStyle:st.Circle,showLine:f,tension:0}},scales:G,plugins:re,events:Object.values(lt)}},[n,t,e,s])},hr=({options:e,resetZoom:n})=>{const{graph:t,legend:r}=e,s=O.useCallback((o,l)=>{const{event:i}=l;return i.type===Wt?(n(),!1):!0},[n]);return O.useMemo(()=>[...ot(t,r),{id:"customEventCatcher",beforeEvent:s}],[s])},pr=(e,n)=>{var t,r;O.useEffect(()=>{var s,o;if((o=(s=n==null?void 0:n.legend)==null?void 0:s.customLegend)!=null&&o.customLegendPlugin){const l=document.getElementById(n.legend.customLegend.customLegendContainerID);l!==null&&(l.style.visibility=e.legendEnabled?"visible":"hidden")}},[(r=(t=n==null?void 0:n.legend)==null?void 0:t.customLegend)==null?void 0:r.customLegendPlugin,e.legendEnabled])},_r=(e,n)=>{O.useEffect(()=>{Ss(e,n)},[e.panEnabled,e.lineEnabled,e.pointsEnabled,e.legendEnabled,e.enableDragPoints,e.zoomEnabled])},xr=({options:e,state:n,persistenceId:t})=>{const r=O.useMemo(()=>n,[n]),s=O.useMemo(()=>e,[e]);_r(r,t),pr(r,s)},xe=" ",Tr="rgba(0, 0, 0, 0.5)",Er=e=>{var n;return(n=Array.isArray(e)?e.join(xe):e)==null?void 0:n.split(xe)},Pr=({ctx:e,lines:n,lineHeight:t,x:r,y:s,position:o})=>{n==null||n.forEach((l,i)=>{const a=o!=null&&o.includes("top")?s+t*(i+1)-5:s-(n.length-1-i)*t;e==null||e.fillText(l,r,a)})},Lr=(e,n)=>{const s=n<500?.5:n<700?.7:1;return e*s},Cr=e=>{var s,o,l,i,a,c,u;const{legend:n}=e??{},t=n&&(n!=null&&n.display)&&((s=n==null?void 0:n.options)==null?void 0:s.position)==="left"?(n==null?void 0:n.width)+((l=(o=n==null?void 0:n.options)==null?void 0:o.labels)==null?void 0:l.padding)*2:0,r=n&&n.display&&(((i=n==null?void 0:n.options)==null?void 0:i.position)==="top"||((a=n==null?void 0:n.options)==null?void 0:a.position)==="bottom")?(n==null?void 0:n.height)+((u=(c=n==null?void 0:n.options)==null?void 0:c.labels)==null?void 0:u.padding)*2:0;return{legendWidth:t,legendHeight:r}},Or=(e,n,t,r)=>{const{chartArea:s,width:o}=n??{},l=o-8,{legendWidth:i,legendHeight:a}=Cr(n)??{};switch(e){case I.TOP_LEFT:return[(s==null?void 0:s.left)+t+i,(s==null?void 0:s.top)+r+a];case I.TOP_CENTER:return[(s==null?void 0:s.left)+(s==null?void 0:s.width)/2,(s==null?void 0:s.top)+r+a];case I.TOP_RIGHT:return[l-t,(s==null?void 0:s.top)+r+a];case I.MIDDLE_LEFT:return[(s==null?void 0:s.left)+t+i,(s==null?void 0:s.top)+(s==null?void 0:s.height)/2];case I.MIDDLE_CENTER:return[(s==null?void 0:s.left)+(s==null?void 0:s.width)/2,(s==null?void 0:s.top)+(s==null?void 0:s.height)/2];case I.MIDDLE_RIGHT:return[l-t-i,(s==null?void 0:s.top)+(s==null?void 0:s.height)/2];case I.BOTTOM_LEFT:return[(s==null?void 0:s.left)+t+i,(s==null?void 0:s.bottom)-r-a];case I.BOTTOM_CENTER:return[(s==null?void 0:s.left)+(s==null?void 0:s.width)/2,(s==null?void 0:s.bottom)-r-a];case I.BOTTOM_RIGHT:default:return[l-t-i,(s==null?void 0:s.bottom)-r-a]}},Sr=e=>e!=null&&e.includes(k.Center)?k.Center:e!=null&&e.includes(k.Left)?k.Left:k.Right,Nr=(e,n,t)=>{let r="",s=[];for(let o=0;o<e.length;o++){const l=`${r}${e==null?void 0:e[o]}${xe}`,{width:i}=(t==null?void 0:t.measureText(l))??{};i>n?(s.push(r==null?void 0:r.trim()),r=`${e==null?void 0:e[o]}${xe}`):r=l}return s.push(r.trim()),s},wr=(e,n)=>{var d,y;if(!e)return;const{text:t,maxWidth:r,fontSize:s,lineHeight:o,x:l,y:i,position:a}=n??{},c=Er(t),u=Nr(c,r,e);(d=e==null?void 0:e.save)==null||d.call(e),e.font=`${s}px Arial`,e.fillStyle=Tr,e.textAlign=Sr(a),Pr({ctx:e,lines:u,lineHeight:o,x:l,y:i,position:a}),(y=e==null?void 0:e.restore)==null||y.call(e)},Dr={id:"chartAreaText",beforeDraw:(e,n,t)=>{const{showLabel:r,text:s,fontSize:o,xOffset:l,yOffset:i,lineHeight:a,maxWidth:c,position:u}=t??{};if(!r||!s)return;const{ctx:d,chartArea:y}=e??{};if(!d||!y)return;const m=Lr(c,y.width),[h,b]=Or(u,e,l,i);wr(d,{text:s,maxWidth:m,fontSize:o,lineHeight:a,x:h,y:b,position:u})}},Vn=(e,n,t,r,s)=>{const o=n.getBoundingClientRect(),l=e.clientX-o.left,i=e.clientY-o.top,a=t==null?void 0:t[r],c=t==null?void 0:t[s],u=(a==null?void 0:a.getValueForPixel(l))??-1,d=(c==null?void 0:c.getValueForPixel(i))??-1;return{x:u,y:d}},Te=e=>{const{xMin:n,xMax:t,yMin:r,yMax:s,xValue:o,yValue:l,type:i}=e??{};let a,c,u,d;return!N.isNil(n)&&!N.isNil(t)&&!N.isNil(r)&&!N.isNil(s)&&i===j.BOX?(a=(n+t)/2,c=(r+s)/2,u=t-n,d=s-r):!N.isNil(o)&&!N.isNil(l)&&i===j.POINT&&(a=o,c=l,u=0,d=0),{centerX:a,centerY:c,width:u,height:d}},Bn=(e,n,t,r)=>{const{xMin:s,xMax:o,yMin:l,yMax:i,xValue:a,yValue:c,type:u}=e??{};let d,y,m,h;const b=n==null?void 0:n[t],x=n==null?void 0:n[r];if(!b||!x)return{centerX:-1,centerY:-1,width:0,height:0};if(!N.isNil(s)&&!N.isNil(o)&&!N.isNil(l)&&!N.isNil(i)&&u===j.BOX){const T=(s+o)/2,f=(l+i)/2,E=(b==null?void 0:b.getPixelForValue(s))??0,g=(b==null?void 0:b.getPixelForValue(o))??0,p=(x==null?void 0:x.getPixelForValue(l))??0,P=(x==null?void 0:x.getPixelForValue(i))??0;m=E-g,h=p-P,d=(b==null?void 0:b.getPixelForValue(T))??-1,y=(x==null?void 0:x.getPixelForValue(f))??-1}else!N.isNil(a)&&!N.isNil(c)&&u===j.POINT&&(m=0,h=0,d=(b==null?void 0:b.getPixelForValue(a))??-1,y=(x==null?void 0:x.getPixelForValue(c))??-1);return{centerX:d,centerY:y,width:m,height:h}},Ar=({x:e,y:n,chartArea:t,scales:r,metrics:s,resizable:o=!1,dragRange:l,annotationType:i,xScaleID:a,yScaleID:c})=>{if(o&&!l)return!0;if(l){const x=e!==void 0&&l.x?e>=l.x[0]&&e<=l.x[1]:!0,T=n!==void 0&&l.y?n>=l.y[0]&&n<=l.y[1]:!0;return x&&T}const u=r==null?void 0:r[a],d=r==null?void 0:r[c];if(!(r!=null&&r[a])||!(r!=null&&r[c]))return!1;const y=(u==null?void 0:u.getValueForPixel(t.left))??Number.NEGATIVE_INFINITY,m=(u==null?void 0:u.getValueForPixel(t.right))??Number.POSITIVE_INFINITY,h=(d==null?void 0:d.getValueForPixel(t.bottom))??Number.NEGATIVE_INFINITY,b=(d==null?void 0:d.getValueForPixel(t.top))??Number.POSITIVE_INFINITY;if(i===j.POINT){const x=e!==void 0?e>=y&&e<=m:!0,T=n!==void 0?n>=h&&n<=b:!0;return x&&T}if(i===j.BOX&&s.width!==void 0&&s.height!==void 0){const x=e!==void 0?e-s.width/2:void 0,T=e!==void 0?e+s.width/2:void 0,f=n!==void 0?n-s.height/2:void 0,E=n!==void 0?n+s.height/2:void 0,g=x!==void 0&&T!==void 0?x>=y&&T<=m:!0,p=f!==void 0&&E!==void 0?f>=h&&E<=b:!0;return g&&p}return!0},hn=(e,n,t,r,s,o,l,i)=>{if(!(r!=null&&r.chartArea))return;const{resizable:a,dragRange:c=null}=t??{};Ar({[e]:n,chartArea:r.chartArea,scales:s,resizable:a,dragRange:c,metrics:i||{},annotationType:t.type,xScaleID:o,yScaleID:l})&&(t.type===j.POINT?e==="x"?t.xValue=n:e==="y"&&(t.yValue=n):t.type===j.BOX&&i&&(e==="x"&&i.width&&(t.xMin=n-i.width/2,t.xMax=n+i.width/2),e==="y"&&i.height&&(t.yMin=n-i.height/2,t.yMax=n+i.height/2)))},Un=(e,n,t)=>{var s,o,l;if(!n)return;const r=(l=(o=(s=e==null?void 0:e.options)==null?void 0:s.plugins)==null?void 0:o.annotation)==null?void 0:l.annotations;r&&n&&r[n]&&(r[n].borderWidth=t)},Mr=(e,n,t,r,s,o)=>{const l=o?r==null?void 0:r[o]:null;if(!l)return;const{xScaleID:i="x",yScaleID:a="y"}=l,{x:c,y:u}=Vn(e,n,t,i,a),d=Te(l);if(l&&l.enableDrag&&!N.isNil(d.centerY)&&!N.isNil(d.centerX)){!N.isNil(n)&&!N.isNil(n.style)&&(n.style.cursor=Be.Move);const y=c-d.centerX,m=u-d.centerY;s(!0,l,y,m),l!=null&&l.onDragStart&&l.onDragStart({x:c,y:u},l)}},Fr=(e,n,t,r,s,o,l,i)=>{if(r&&s){!N.isNil(n)&&!N.isNil(n.style)&&(n.style.cursor=Be.Move);const a=s==null?void 0:s.id;Un(i,a,Ve.HOVERED);const c=(s==null?void 0:s.dragAxis)??le.Both,{xScaleID:u="x",yScaleID:d="y"}=s,{x:y,y:m}=Vn(e,n,t,u,d),h=Te(s);let b=y-o,x=m-l;c!==le.Y&&hn(le.X,b,s,i,t,u,d,h),c!==le.X&&hn(le.Y,x,s,i,t,u,d,h),i.update(),s!=null&&s.onDrag&&s.onDrag({x:y,y:m},s);const{ctx:T,width:f,height:E}=i,{centerX:g,centerY:p}=Te(s)??{},{centerX:P,centerY:L}=Bn(s,t,u,d);if(!N.isNil(g)&&!N.isNil(p)&&!N.isNil(P)&&!N.isNil(L)&&(T.save(),T.clearRect(0,0,f,E),i.draw(),T.font=it,T.fillStyle="black",s!=null&&s.displayDragCoordinates)){let C=P-45,S=L-20;const w=`X: ${ee(g,2)}, Y: ${ee(p,2)}`,F=14;S-F<0&&(S=L+F+15),S>E&&(S=E-7),T.fillText(w,C,S),T.restore()}}},vr=(e,n,t,r,s)=>{if(e&&n){const o=n==null?void 0:n.id;Un(t,o,Ve.ZERO);const{centerX:l=-1,centerY:i=-1}=Te(n)??{};N.isNil(n==null?void 0:n.onDragEnd)||n==null||n.onDragEnd({x:l,y:i},n),!N.isNil(r)&&!N.isNil(r.style)&&(r.style.cursor=Be.Pointer),s(!1,null)}},Ir=(e,n,t)=>{Object.values(n).forEach(r=>{var s;if(r.type===j.POINT&&!N.isNil(r==null?void 0:r.label)&&((s=r==null?void 0:r.label)!=null&&s.display)){const{content:o,font:l,color:i,position:a,padding:c}=(r==null?void 0:r.label)??{},{xScaleID:u="x",yScaleID:d="y"}=r;e.save(),e.font=l,e.fillStyle=i;const{centerX:y=-1,centerY:m=-1}=Bn(r,t,u,d),h=e.measureText(o).width;let b=y-h/2,x=m+20;switch(a){case oe.Top:x=m-20;break;case oe.Left:b=y-h-c,x=m;break;case oe.Right:b=y+c,x=m;break}e.fillText(o,b,x),e.restore()}})},kr={id:"annotationDraggerPlugin",beforeDraw(e){var s,o,l,i,a,c,u,d;const n=e==null?void 0:e.ctx;let t=((o=(s=e.options.plugins)==null?void 0:s.annotation)==null?void 0:o.annotations)??{};if(!t||!n||!t)return;Ir(e.ctx,t,e.scales),(((i=(l=e==null?void 0:e.options)==null?void 0:l.plugins)==null?void 0:i.annotationDraggerPlugin)||{enabled:!1}).enabled?((c=(a=e==null?void 0:e.options)==null?void 0:a.plugins)!=null&&c.tooltip&&(e.options.plugins.tooltip.enabled=!1),e.options.hover={mode:void 0,intersect:!1}):((d=(u=e==null?void 0:e.options)==null?void 0:u.plugins)!=null&&d.tooltip&&(e.options.plugins.tooltip.enabled=!0),e.options.hover={mode:be.Nearest,intersect:!0})},afterUpdate(e){var y,m,h,b,x,T,f,E;const{canvas:n,scales:t,hoveredAnnotationId:r}=e??{},s=((m=(y=e==null?void 0:e.options)==null?void 0:y.plugins)==null?void 0:m.annotationDraggerPlugin)||{enabled:!1};if(!n||!t||!s)return;const o={...t,x:t.x,y:t.y};let l=((b=(h=e.options.plugins)==null?void 0:h.annotation)==null?void 0:b.annotations)??{};if(!e&&!l)return;s.enabled?((T=(x=e==null?void 0:e.options)==null?void 0:x.plugins)!=null&&T.tooltip&&(e.options.plugins.tooltip.enabled=!1),e.options.hover={mode:void 0,intersect:!1}):((E=(f=e==null?void 0:e.options)==null?void 0:f.plugins)!=null&&E.tooltip&&(e.options.plugins.tooltip.enabled=!0),e.options.hover={mode:be.Nearest,intersect:!0});let i=!1,a,c,u=null;const d=(g,p,P,L)=>{i=g,u=p,P!==void 0&&L!==void 0&&(a=P,c=L)};!n.dataset.annotationDraggerInitialized&&s.enabled&&r&&(n.addEventListener(K.MOUSEDOWN,g=>{var p,P,L;Mr(g,n,o,(L=(P=(p=e==null?void 0:e.options)==null?void 0:p.plugins)==null?void 0:P.annotation)==null?void 0:L.annotations,d,e.hoveredAnnotationId)}),n.addEventListener(K.MOUSEMOVE,g=>{N.debounce(()=>Fr(g,n,o,i,u,a,c,e),5)()}),n.addEventListener(K.MOUSEUP,g=>{const p=g.currentTarget;vr(i,u,e,p,d)}),n.dataset.annotationDraggerInitialized="true"),s.enabled||(n.removeEventListener(K.MOUSEDOWN,()=>{}),n.removeEventListener(K.MOUSEMOVE,()=>{}),n.removeEventListener(K.MOUSEUP,()=>{}),n.dataset.annotationDraggerInitialized="")}};ft.register(gt,mt,bt,yt,ht,pt,_t,xt,Tt,Et,Pt,Qt,Dr,kr,os);const jr=e=>{var w,F;ut();const n=O.useRef(null),{table:t,headerComponent:r,subheaderComponent:s}=e??{},{translations:o,languageKey:l}=ss(),i=Rn(e),{data:{datasets:a}={datasets:[]},options:c,testId:u,persistenceId:d,controlsPortalId:y}=i,{annotations:m,axes:h,chartStyling:b,graph:x}=c??{},T=!((F=(w=c==null?void 0:c.legend)==null?void 0:w.customLegend)!=null&&F.customLegendContainerID),[f,E]=O.useReducer(Ls,{options:c,persistenceId:d},Ns),g=O.useMemo(()=>tr(a,f,c,o),[f.lineEnabled,f.pointsEnabled,a,h,m,x]);xr({options:c,state:f,persistenceId:d});const{resetZoom:p,handleKeyDown:P,handleKeyUp:L}=He({chartRef:n,state:f,options:c,dispatch:E,generatedDatasets:g}),C=yr({chartRef:n,state:f,options:c,dispatch:E,generatedDatasets:g}),S=hr({options:c,resetZoom:p});return _.jsxs("div",{className:ct(b,Se),style:{width:b.width||Ae,height:b.height||Ae},tabIndex:0,onKeyDown:P,onKeyUp:L,"data-testid":u,children:[_.jsx(Gn,{table:t,headerComponent:r,subheaderComponent:s,chartRef:n,state:f,options:c,dispatch:E,generatedDatasets:g,translations:o,controlsPortalId:y}),t&&f.showTable?_.jsx("div",{className:Se.table,children:t}):_.jsx($t,{backend:Zt,context:window,children:_.jsxs("div",{className:Se.canvas,id:"canvas",children:[_.jsx(dt,{ref:n,data:{datasets:g},options:C,plugins:S}),T&&!!g.length&&_.jsx(Kt,{chartRef:n,legendConfig:{options:c,generatedDatasets:g,chartType:Jt.LINE}})]})})]},Vs(f,c,l))},Gr=e=>{const{options:n}=Rn(e);return _.jsx(at,{options:n,children:_.jsx(jr,{...e})})};Gr.__docgenInfo={description:"",methods:[],displayName:"LineChartWithLegend",props:{chart:{required:!0,tsType:{name:"ILineChartData"},description:""},table:{required:!1,tsType:{name:"ReactNode"},description:""},headerComponent:{required:!1,tsType:{name:"ReactNode"},description:""},subheaderComponent:{required:!1,tsType:{name:"ReactNode"},description:""}}};export{Gr as L,Yr as i};