dynamic-mui 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -5
- package/dist/accordion-DqBdGRim.mjs +23 -0
- package/dist/accordion-lvbD_BpX.js +1 -0
- package/dist/addressfield-CGX3UppE.mjs +152 -0
- package/dist/addressfield-DDG15fqJ.js +1 -0
- package/dist/asyncautocomplete-BAfBR9P7.mjs +89 -0
- package/dist/asyncautocomplete-w9q_1DWt.js +1 -0
- package/dist/bar-BzO7tvYJ.mjs +20 -0
- package/dist/bar-DEVxyUVS.js +1 -0
- package/dist/cascadeselect-C3QVfoig.mjs +64 -0
- package/dist/cascadeselect-DzbhK9en.js +1 -0
- package/dist/colorpicker-5qmEq7ZI.js +1 -0
- package/dist/colorpicker-DhNZulJY.mjs +98 -0
- package/dist/components/DynamicComponent.d.ts +2 -0
- package/dist/components/FormGenerator.d.ts +99 -10
- package/dist/components/controls/index.d.ts +45 -79
- package/dist/consentfield-B7Rm8d3U.js +1 -0
- package/dist/consentfield-CBQUR4J5.mjs +78 -0
- package/dist/datatable-BIQznwQe.mjs +20 -0
- package/dist/datatable-BWlcUP0M.js +1 -0
- package/dist/dynamic-mui.cjs +1 -0
- package/dist/dynamic-mui.mjs +32 -0
- package/dist/editabletable-DCoRmsEO.js +1 -0
- package/dist/editabletable-DRlBV8lk.mjs +126 -0
- package/dist/fileupload-ByBv1UjT.mjs +172 -0
- package/dist/fileupload-Cze3Oc_2.js +1 -0
- package/dist/formrepeater-BBkKGLFJ.mjs +71 -0
- package/dist/formrepeater-BxJzXoHx.js +1 -0
- package/dist/formwizard-BDZE1UDD.js +1 -0
- package/dist/formwizard-D2u1bMvK.mjs +83 -0
- package/dist/geofield-8WTeZk0Z.mjs +104 -0
- package/dist/geofield-Bw3p4NLJ.js +1 -0
- package/dist/group-B2mSylHd.mjs +23 -0
- package/dist/group-BlfO3ZZf.js +1 -0
- package/dist/imagelist-Bn9QhIv7.js +1 -0
- package/dist/imagelist-rqmJajHt.mjs +18 -0
- package/dist/index-CddjLTWF.mjs +12499 -0
- package/dist/index-D08GIfqF.js +43 -0
- package/dist/index.d.ts +9 -1
- package/dist/intlphone-B_Xn98pU.js +1 -0
- package/dist/intlphone-DtQZ12xk.mjs +140 -0
- package/dist/keyvaluefield-B_1NeGuP.mjs +125 -0
- package/dist/keyvaluefield-DyKCGd32.js +1 -0
- package/dist/line-B-DwR1hm.mjs +20 -0
- package/dist/line-BkymZu31.js +1 -0
- package/dist/lineitemlist-DGo8UOZC.js +1 -0
- package/dist/lineitemlist-vGKzJlQx.mjs +166 -0
- package/dist/list-7uNWrepS.mjs +20 -0
- package/dist/list-C0FgmtQw.js +1 -0
- package/dist/locationfield-CeUgxLkQ.mjs +119 -0
- package/dist/locationfield-Duyw1ZEz.js +1 -0
- package/dist/markdowneditor-B1y-hfny.mjs +90 -0
- package/dist/markdowneditor-Db0Un1_Z.js +2 -0
- package/dist/matrixfield-C7Sc-YpI.mjs +117 -0
- package/dist/matrixfield-CckODuPn.js +1 -0
- package/dist/mixChart-C3o184UT.js +1 -0
- package/dist/mixChart-ISf3Kbr-.mjs +75 -0
- package/dist/multitextbox-BYazIAeG.js +1 -0
- package/dist/multitextbox-ide2lvJ6.mjs +78 -0
- package/dist/npsscale-C2e88qk_.js +1 -0
- package/dist/npsscale-lndz7GEq.mjs +87 -0
- package/dist/numberstepper-DitbcvV9.mjs +128 -0
- package/dist/numberstepper-DyRjQM_K.js +1 -0
- package/dist/pie-CJSL8Sv5.js +1 -0
- package/dist/pie-CL29dlh5.mjs +20 -0
- package/dist/richtexteditor-CVg-MnKp.js +1 -0
- package/dist/richtexteditor-DsC1XC7h.mjs +141 -0
- package/dist/s3Upload-B0JeoLkS.js +1 -0
- package/dist/s3Upload-dpioZ2c8.mjs +51 -0
- package/dist/signature-14OrZriO.mjs +1225 -0
- package/dist/signature-D582X6tB.js +2 -0
- package/dist/stepper-B-FpcZvT.js +1 -0
- package/dist/stepper-CDfEy_C6.mjs +140 -0
- package/dist/summaryfield-B08ZmVHh.js +1 -0
- package/dist/summaryfield-CTpPlZBG.mjs +96 -0
- package/dist/tabs-BIliqFOs.js +1 -0
- package/dist/tabs-DDeJCFt8.mjs +39 -0
- package/dist/tagsinput-D-q6rRZS.mjs +58 -0
- package/dist/tagsinput-qh_lhdFb.js +1 -0
- package/dist/util/registry.d.ts +29 -0
- package/dist/util/resolvers.d.ts +45 -0
- package/dist/util/useFormEngine.d.ts +74 -0
- package/dist/util/validateSchema.d.ts +23 -0
- package/dist/v4-BysszJq8.mjs +30 -0
- package/dist/v4-CqdK_b8Y.js +1 -0
- package/package.json +36 -11
- package/dist/AxisSharedComponents-BbsKw1BT.js +0 -3
- package/dist/AxisSharedComponents-xLtpOLH_.mjs +0 -605
- package/dist/ChartsAxis-CANvBdY9.mjs +0 -47
- package/dist/ChartsAxis-EZ7m_KrU.js +0 -1
- package/dist/ChartsGrid-BCRTvNTr.js +0 -3
- package/dist/ChartsGrid-C_HT7qpL.mjs +0 -381
- package/dist/ChartsWrapper-CM7EDyAK.js +0 -5
- package/dist/ChartsWrapper-CO5_Z6BD.mjs +0 -1878
- package/dist/ChartsXAxis-CPmuCRhq.mjs +0 -487
- package/dist/ChartsXAxis-DFFY1sPg.js +0 -3
- package/dist/ChartsYAxis-DLUMr9vG.mjs +0 -392
- package/dist/ChartsYAxis-fpevi1sP.js +0 -1
- package/dist/XmlShapeDeserializer-3yQdm0b0.mjs +0 -237
- package/dist/XmlShapeDeserializer-XKJAoqLc.js +0 -1
- package/dist/clampAngle-BvZjnf53.mjs +0 -11
- package/dist/clampAngle-DpAsDoeT.js +0 -1
- package/dist/createSelector-B-9FwV16.mjs +0 -430
- package/dist/createSelector-f0oqn8Lr.js +0 -7
- package/dist/date-utils-CFUUt6NL.js +0 -4
- package/dist/date-utils-pGzaKb0p.mjs +0 -477
- package/dist/dynamic-mui.cjs.js +0 -1
- package/dist/dynamic-mui.es.js +0 -22
- package/dist/index--8Zky9Oh.js +0 -299
- package/dist/index-6WTs1Xy_.js +0 -1
- package/dist/index-B1R1akM2.js +0 -1
- package/dist/index-BW8_rRff.js +0 -7
- package/dist/index-BXFVK_GX.js +0 -1
- package/dist/index-B_KNUTjy.js +0 -1
- package/dist/index-BhaKvHkU.mjs +0 -62051
- package/dist/index-Bif92ima.js +0 -1
- package/dist/index-BnZOu8CL.js +0 -1
- package/dist/index-CDxpgRlR.mjs +0 -7
- package/dist/index-CThMfvtJ.mjs +0 -2555
- package/dist/index-CVqLvm8B.js +0 -1
- package/dist/index-CodJBIn6.mjs +0 -1665
- package/dist/index-Cr6Wp_S-.mjs +0 -3141
- package/dist/index-CslPwsrf.mjs +0 -4
- package/dist/index-CuV0MQzZ.mjs +0 -1173
- package/dist/index-DA0XouZs.mjs +0 -153
- package/dist/index-DKS5Sz9e.js +0 -14
- package/dist/index-DSkYYZuW.mjs +0 -4
- package/dist/index-DU78_FiA.js +0 -1
- package/dist/index-D_mYhgJ0.js +0 -10
- package/dist/index-DcWfyXJp.mjs +0 -92
- package/dist/index-Dlimbnxj.mjs +0 -2965
- package/dist/index-MllWgTJ5.mjs +0 -9372
- package/dist/index-in5z9hUb.js +0 -133
- package/dist/index-qUW7FnZ-.mjs +0 -20540
- package/dist/index.browser-BSu11T_q.mjs +0 -363
- package/dist/index.browser-By7-GABP.js +0 -4
- package/dist/isDeepEqual-BHfPvf9U.mjs +0 -393
- package/dist/isDeepEqual-CqxZGVRk.js +0 -1
- package/dist/loadCognitoIdentity-DtYTy-DW.js +0 -1
- package/dist/loadCognitoIdentity-DzdR91GB.mjs +0 -872
- package/dist/loadSts-Cic6UToN.mjs +0 -593
- package/dist/loadSts-csbFP6zX.js +0 -1
- package/dist/main.d.ts +0 -1
- package/dist/noAuth-B8ui2kBg.mjs +0 -71
- package/dist/noAuth-JPA2o4dt.js +0 -1
- package/dist/playground/AIContext.d.ts +0 -18
- package/dist/playground/AIPanel.d.ts +0 -10
- package/dist/playground/Builder.d.ts +0 -1
- package/dist/playground/Canvas.d.ts +0 -9
- package/dist/playground/DemoGallery.d.ts +0 -6
- package/dist/playground/PropertiesEditor.d.ts +0 -10
- package/dist/playground/Sidebar.d.ts +0 -9
- package/dist/playground/demoForms.d.ts +0 -3
- package/dist/playground/demoRecipes.d.ts +0 -15
- package/dist/playground/demoVariants.d.ts +0 -11
- package/dist/playground/documentation.d.ts +0 -6
- package/dist/playground/templates.d.ts +0 -7
- package/dist/playground/testData.d.ts +0 -2
- package/dist/test/setup.d.ts +0 -0
- package/dist/theme/theme.d.ts +0 -6
- package/dist/useAxis-DSbfEtO7.js +0 -3
- package/dist/useAxis-SiNBMMWq.mjs +0 -3010
- package/dist/useChartContainerProps-Bl3hO-r1.mjs +0 -5418
- package/dist/useChartContainerProps-C_C_PZoi.js +0 -12
- package/dist/useItemHighlightedGetter-9CIwqsGj.js +0 -1
- package/dist/useItemHighlightedGetter-CTISrNdV.mjs +0 -88
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";const c=require("./index--8Zky9Oh.js"),In=require("react"),v=require("./useAxis-DSbfEtO7.js"),B=require("./isDeepEqual-CqxZGVRk.js"),A=require("./createSelector-f0oqn8Lr.js");function bn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const P=bn(In),Tt=({params:e,store:t})=>{P.useEffect(()=>{t.set("animation",c._extends({},t.state.animation,{skip:e.skipAnimation}))},[t,e.skipAnimation]);const n=P.useCallback(()=>{let i=!1;return t.set("animation",c._extends({},t.state.animation,{skipAnimationRequests:t.state.animation.skipAnimationRequests+1})),()=>{i||(i=!0,t.set("animation",c._extends({},t.state.animation,{skipAnimationRequests:t.state.animation.skipAnimationRequests-1})))}},[t]);return c.useEnhancedEffect(()=>{if(typeof window>"u"||!window?.matchMedia)return;let s;const r=a=>{a.matches?s=n():s?.()},o=window.matchMedia("(prefers-reduced-motion)");return r(o),o.addEventListener("change",r),()=>{o.removeEventListener("change",r)}},[n,t]),{instance:{disableAnimation:n}}};Tt.params={skipAnimation:!0};Tt.getDefaultizedParams=({params:e})=>c._extends({},e,{skipAnimation:e.skipAnimation??!1});Tt.getInitialState=({skipAnimation:e})=>{const t=typeof window>"u"||!window?.matchMedia,n=process.env.NODE_ENV==="test"?t:!1;return{animation:{skip:e,skipAnimationRequests:n?1:0}}};function Zt(e,t){const n=P.useRef(!0);P.useEffect(()=>{if(n.current){n.current=!1;return}return e()},t)}const Te="DEFAULT_X_AXIS_KEY",De="DEFAULT_Y_AXIS_KEY",Pn={top:20,bottom:20,left:20,right:20},Sn=45,An=25,we=20;function Me(e,t){return typeof e=="number"?{top:e,bottom:e,left:e,right:e}:t?c._extends({},t,e):e}const Tn=10,Dt=({params:e,store:t,svgRef:n})=>{const i=e.width!==void 0&&e.height!==void 0,s=P.useRef({displayError:!1,initialCompute:!0,computeRun:0}),[r,o]=P.useState(0),[a,l]=P.useState(0),u=P.useCallback(()=>{const f=n?.current;if(!f)return{};const y=c.ownerWindow(f).getComputedStyle(f),x=Math.floor(parseFloat(y.height))||0,E=Math.floor(parseFloat(y.width))||0;return(t.state.dimensions.width!==E||t.state.dimensions.height!==x)&&t.set("dimensions",{margin:{top:e.margin.top,right:e.margin.right,bottom:e.margin.bottom,left:e.margin.left},width:e.width??E,height:e.height??x,propsWidth:e.width,propsHeight:e.height}),{height:x,width:E}},[t,n,e.height,e.width,e.margin.left,e.margin.right,e.margin.top,e.margin.bottom]);Zt(()=>{const f=e.width??t.state.dimensions.width,g=e.height??t.state.dimensions.height;t.set("dimensions",{margin:{top:e.margin.top,right:e.margin.right,bottom:e.margin.bottom,left:e.margin.left},width:f,height:g,propsHeight:e.height,propsWidth:e.width})},[t,e.height,e.width,e.margin.left,e.margin.right,e.margin.top,e.margin.bottom]),P.useEffect(()=>{s.current.displayError=!0},[]),c.useEnhancedEffect(()=>{if(i||!s.current.initialCompute||s.current.computeRun>Tn)return;const f=u();f.width!==r||f.height!==a?(s.current.computeRun+=1,f.width!==void 0&&o(f.width),f.height!==void 0&&l(f.height)):s.current.initialCompute&&(s.current.initialCompute=!1)},[a,r,u,i]),c.useEnhancedEffect(()=>{if(i)return()=>{};u();const f=n.current;if(typeof ResizeObserver>"u")return()=>{};let g;const y=new ResizeObserver(()=>{g=requestAnimationFrame(()=>{u()})});return f&&y.observe(f),()=>{g&&cancelAnimationFrame(g),f&&y.unobserve(f)}},[u,i,n]),process.env.NODE_ENV!=="production"&&(s.current.displayError&&e.width===void 0&&r===0&&(console.error("MUI X Charts: ChartContainer does not have `width` prop, and its container has no `width` defined."),s.current.displayError=!1),s.current.displayError&&e.height===void 0&&a===0&&(console.error("MUI X Charts: ChartContainer does not have `height` prop, and its container has no `height` defined."),s.current.displayError=!1));const d=t.use(v.selectorChartDrawingArea),h=P.useCallback(f=>f>=d.left-1&&f<=d.left+d.width,[d.left,d.width]),p=P.useCallback(f=>f>=d.top-1&&f<=d.top+d.height,[d.height,d.top]);return{instance:{isPointInside:P.useCallback((f,g,y)=>y&&"closest"in y&&y.closest("[data-drawing-container]")?!0:h(f)&&p(g),[h,p]),isXInside:h,isYInside:p}}};Dt.params={width:!0,height:!0,margin:!0};Dt.getDefaultizedParams=({params:e})=>c._extends({},e,{margin:Me(e.margin,Pn)});Dt.getInitialState=({width:e,height:t,margin:n})=>({dimensions:{margin:n,width:e??0,height:t??0,propsWidth:e,propsHeight:t}});const Jt=({params:e,store:t})=>(c.useEnhancedEffect(()=>{t.set("experimentalFeatures",e.experimentalFeatures)},[t,e.experimentalFeatures]),{});Jt.params={experimentalFeatures:!0};Jt.getInitialState=({experimentalFeatures:e})=>({experimentalFeatures:e});let ge=0;const Dn=()=>(ge+=1,`mui-chart-${ge}`),Qt=({params:e,store:t})=>(P.useEffect(()=>{e.id===void 0||e.id===t.state.id.providedChartId&&t.state.id.chartId!==void 0||t.set("id",c._extends({},t.state.id,{chartId:e.id??Dn()}))},[t,e.id]),{});Qt.params={id:!0};Qt.getInitialState=({id:e})=>({id:{chartId:e,providedChartId:e}});const wn=e=>e.id,Mn=A.createSelector(wn,e=>e.chartId),On=["#4254FB","#FFB422","#FA4F58","#0DBEFF","#22BF75","#FA83B4","#FF7511"],kn=["#495AFB","#FFC758","#F35865","#30C8FF","#44CE8D","#F286B3","#FF8C39"],Oe=e=>e==="dark"?kn:On,wt=({params:e,store:t,seriesConfig:n})=>{const{series:i,dataset:s,theme:r,colors:o}=e;return Zt(()=>{t.set("series",c._extends({},t.state.series,{defaultizedSeries:v.defaultizeSeries({series:i,colors:typeof o=="function"?o(r):o,seriesConfig:n}),dataset:s}))},[o,s,i,r,n,t]),{instance:{serializeIdentifier:c.useEventCallback(l=>v.serializeIdentifier(n,l))}}};wt.params={dataset:!0,series:!0,colors:!0,theme:!0};const Gn=[];wt.getDefaultizedParams=({params:e})=>c._extends({},e,{series:e.series?.length?e.series:Gn,colors:e.colors??Oe,theme:e.theme??"light"});wt.getInitialState=({series:e=[],colors:t,theme:n,dataset:i},s,r)=>({series:{seriesConfig:r,defaultizedSeries:v.defaultizeSeries({series:e,colors:typeof t=="function"?t(n):t,seriesConfig:r}),dataset:i}});const ke=(e,t)=>{const n=new Map;return e&&e.forEach(i=>{const s=v.serializeIdentifier(t,i);n.set(s,i)}),n},Mt=({store:e,params:t,seriesConfig:n,instance:i})=>{Zt(()=>{t.hiddenItems!==void 0&&(process.env.NODE_ENV!=="production"&&!e.state.visibilityManager.isControlled&&console.error(["MUI X Charts: A chart component is changing the `hiddenItems` from uncontrolled to controlled.","Elements should not switch from uncontrolled to controlled (or vice versa).","Decide between using a controlled or uncontrolled for the lifetime of the component.","The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.","More info: https://fb.me/react-controlled-components"].join(`
|
|
2
|
-
`)),e.set("visibilityManager",c._extends({},e.state.visibilityManager,{visibilityMap:ke(t.hiddenItems,n)})))},[e,t.hiddenItems,n]);const s=c.useEventCallback(a=>{const l=e.state.visibilityManager.visibilityMap,u=i.serializeIdentifier(a);if(l.has(u))return;const d=new Map(l);d.set(u,a),e.set("visibilityManager",c._extends({},e.state.visibilityManager,{visibilityMap:d})),t.onHiddenItemsChange?.(Array.from(d.values()))}),r=c.useEventCallback(a=>{const l=e.state.visibilityManager.visibilityMap,u=i.serializeIdentifier(a);if(!l.has(u))return;const d=new Map(l);d.delete(u),e.set("visibilityManager",c._extends({},e.state.visibilityManager,{visibilityMap:d})),t.onHiddenItemsChange?.(Array.from(d.values()))}),o=c.useEventCallback(a=>{const l=e.state.visibilityManager.visibilityMap,u=i.serializeIdentifier(a);l.has(u)?r(a):s(a)});return{instance:{hideItem:s,showItem:r,toggleItemVisibility:o}}};Mt.getInitialState=(e,t,n)=>{const i=e.hiddenItems??e.initialHiddenItems;return{visibilityManager:{visibilityMap:i?ke(i,n):v.EMPTY_VISIBILITY_MAP,isControlled:e.hiddenItems!==void 0}}};Mt.params={onHiddenItemsChange:!0,hiddenItems:!0,initialHiddenItems:!0};const Ln={abort:!0,animationcancel:!0,animationend:!0,animationiteration:!0,animationstart:!0,auxclick:!0,beforeinput:!0,beforetoggle:!0,blur:!0,cancel:!0,canplay:!0,canplaythrough:!0,change:!0,click:!0,close:!0,compositionend:!0,compositionstart:!0,compositionupdate:!0,contextlost:!0,contextmenu:!0,contextrestored:!0,copy:!0,cuechange:!0,cut:!0,dblclick:!0,drag:!0,dragend:!0,dragenter:!0,dragleave:!0,dragover:!0,dragstart:!0,drop:!0,durationchange:!0,emptied:!0,ended:!0,error:!0,focus:!0,focusin:!0,focusout:!0,formdata:!0,gotpointercapture:!0,input:!0,invalid:!0,keydown:!0,keypress:!0,keyup:!0,load:!0,loadeddata:!0,loadedmetadata:!0,loadstart:!0,lostpointercapture:!0,mousedown:!0,mouseenter:!0,mouseleave:!0,mousemove:!0,mouseout:!0,mouseover:!0,mouseup:!0,paste:!0,pause:!0,play:!0,playing:!0,pointercancel:!0,pointerdown:!0,pointerenter:!0,pointerleave:!0,pointermove:!0,pointerout:!0,pointerover:!0,pointerup:!0,progress:!0,ratechange:!0,reset:!0,resize:!0,scroll:!0,scrollend:!0,securitypolicyviolation:!0,seeked:!0,seeking:!0,select:!0,selectionchange:!0,selectstart:!0,slotchange:!0,stalled:!0,submit:!0,suspend:!0,timeupdate:!0,toggle:!0,touchcancel:!0,touchend:!0,touchmove:!0,touchstart:!0,transitioncancel:!0,transitionend:!0,transitionrun:!0,transitionstart:!0,volumechange:!0,waiting:!0,webkitanimationend:!0,webkitanimationiteration:!0,webkitanimationstart:!0,webkittransitionend:!0,wheel:!0,beforematch:!0,pointerrawupdate:!0};class Ge{customData={};constructor(t){if(!t||!t.name)throw new Error("Gesture must be initialized with a valid name.");if(t.name in Ln)throw new Error(`Gesture can't be created with a native event name. Tried to use "${t.name}". Please use a custom name instead.`);this.name=t.name,this.preventDefault=t.preventDefault??!1,this.stopPropagation=t.stopPropagation??!1,this.preventIf=t.preventIf??[],this.requiredKeys=t.requiredKeys??[],this.pointerMode=t.pointerMode??[],this.pointerOptions=t.pointerOptions??{}}init(t,n,i,s){this.element=t,this.pointerManager=n,this.gesturesRegistry=i,this.keyboardManager=s;const r=`${this.name}ChangeOptions`;this.element.addEventListener(r,this.handleOptionsChange);const o=`${this.name}ChangeState`;this.element.addEventListener(o,this.handleStateChange)}handleOptionsChange=t=>{t&&t.detail&&this.updateOptions(t.detail)};updateOptions(t){this.preventDefault=t.preventDefault??this.preventDefault,this.stopPropagation=t.stopPropagation??this.stopPropagation,this.preventIf=t.preventIf??this.preventIf,this.requiredKeys=t.requiredKeys??this.requiredKeys,this.pointerMode=t.pointerMode??this.pointerMode,this.pointerOptions=t.pointerOptions??this.pointerOptions}getBaseConfig(){return{requiredKeys:this.requiredKeys}}getEffectiveConfig(t,n){if(t!=="mouse"&&t!=="touch"&&t!=="pen")return n;const i=this.pointerOptions[t];return i?c._extends({},n,i):n}handleStateChange=t=>{t&&t.detail&&this.updateState(t.detail)};updateState(t){Object.assign(this.state,t)}getTargetElement(t){return this.isActive||this.element===t.target||"contains"in this.element&&this.element.contains(t.target)||"getRootNode"in this.element&&this.element.getRootNode()instanceof ShadowRoot&&t.composedPath().includes(this.element)?this.element:null}set isActive(t){t?this.gesturesRegistry.registerActiveGesture(this.element,this):this.gesturesRegistry.unregisterActiveGesture(this.element,this)}get isActive(){return this.gesturesRegistry.isGestureActive(this.element,this)??!1}shouldPreventGesture(t,n){const i=this.getEffectiveConfig(n,this.getBaseConfig());if(!this.keyboardManager.areKeysPressed(i.requiredKeys))return!0;if(this.preventIf.length===0)return!1;const s=this.gesturesRegistry.getActiveGestures(t);return this.preventIf.some(r=>s[r])}isPointerTypeAllowed(t){return!this.pointerMode||this.pointerMode.length===0?!0:this.pointerMode.includes(t)}destroy(){const t=`${this.name}ChangeOptions`;this.element.removeEventListener(t,this.handleOptionsChange);const n=`${this.name}ChangeState`;this.element.removeEventListener(n,this.handleStateChange)}}class zn{activeGestures=new Map;registerActiveGesture(t,n){this.activeGestures.has(t)||this.activeGestures.set(t,new Set);const i=this.activeGestures.get(t),s={gesture:n,element:t};i.add(s)}unregisterActiveGesture(t,n){const i=this.activeGestures.get(t);i&&(i.forEach(s=>{s.gesture===n&&i.delete(s)}),i.size===0&&this.activeGestures.delete(t))}getActiveGestures(t){const n=this.activeGestures.get(t);return n?Array.from(n).reduce((i,s)=>(i[s.gesture.name]=!0,i),{}):{}}isGestureActive(t,n){const i=this.activeGestures.get(t);return i?Array.from(i).some(s=>s.gesture===n):!1}destroy(){this.activeGestures.clear()}unregisterElement(t){this.activeGestures.delete(t)}}class Rn{pressedKeys=new Set;constructor(){this.initialize()}initialize(){typeof window>"u"||(window.addEventListener("keydown",this.handleKeyDown),window.addEventListener("keyup",this.handleKeyUp),window.addEventListener("blur",this.clearKeys))}handleKeyDown=t=>{this.pressedKeys.add(t.key)};handleKeyUp=t=>{this.pressedKeys.delete(t.key)};clearKeys=()=>{this.pressedKeys.clear()};areKeysPressed(t){return!t||t.length===0?!0:t.every(n=>n==="ControlOrMeta"?navigator.platform.includes("Mac")?this.pressedKeys.has("Meta"):this.pressedKeys.has("Control"):this.pressedKeys.has(n))}destroy(){typeof window<"u"&&(window.removeEventListener("keydown",this.handleKeyDown),window.removeEventListener("keyup",this.handleKeyUp),window.removeEventListener("blur",this.clearKeys)),this.clearKeys()}}class Hn{preventEventInterruption=!0;pointers=new Map;gestureHandlers=new Set;constructor(t){this.root=t.root??document.getRootNode({composed:!0})??document.body,this.touchAction=t.touchAction||"auto",this.passive=t.passive??!1,this.preventEventInterruption=t.preventEventInterruption??!0,this.setupEventListeners()}registerGestureHandler(t){return this.gestureHandlers.add(t),()=>{this.gestureHandlers.delete(t)}}getPointers(){return new Map(this.pointers)}setupEventListeners(){this.touchAction!=="auto"&&(this.root.style.touchAction=this.touchAction),this.root.addEventListener("pointerdown",this.handlePointerEvent,{passive:this.passive}),this.root.addEventListener("pointermove",this.handlePointerEvent,{passive:this.passive}),this.root.addEventListener("pointerup",this.handlePointerEvent,{passive:this.passive}),this.root.addEventListener("pointercancel",this.handlePointerEvent,{passive:this.passive}),this.root.addEventListener("forceCancel",this.handlePointerEvent,{passive:this.passive}),this.root.addEventListener("blur",this.handleInterruptEvents),this.root.addEventListener("contextmenu",this.handleInterruptEvents)}handleInterruptEvents=t=>{if(this.preventEventInterruption&&"pointerType"in t&&t.pointerType==="touch"){t.preventDefault();return}const n=new PointerEvent("forceCancel",{bubbles:!1,cancelable:!1}),i=this.pointers.values().next().value;if(this.pointers.size>0&&i){Object.defineProperties(n,{clientX:{value:i.clientX},clientY:{value:i.clientY},pointerId:{value:i.pointerId},pointerType:{value:i.pointerType}});for(const[s,r]of this.pointers.entries()){const o=c._extends({},r,{type:"forceCancel"});this.pointers.set(s,o)}}this.notifyHandlers(n),this.pointers.clear()};handlePointerEvent=t=>{const{type:n,pointerId:i}=t;if(n==="pointerdown"||n==="pointermove")this.pointers.set(i,this.createPointerData(t));else if(n==="pointerup"||n==="pointercancel"||n==="forceCancel"){this.pointers.set(i,this.createPointerData(t)),this.notifyHandlers(t),this.pointers.delete(i);return}this.notifyHandlers(t)};notifyHandlers(t){this.gestureHandlers.forEach(n=>n(this.pointers,t))}createPointerData(t){return{pointerId:t.pointerId,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY,target:t.target,timeStamp:t.timeStamp,type:t.type,isPrimary:t.isPrimary,pressure:t.pressure,width:t.width,height:t.height,pointerType:t.pointerType,srcEvent:t}}destroy(){this.root.removeEventListener("pointerdown",this.handlePointerEvent),this.root.removeEventListener("pointermove",this.handlePointerEvent),this.root.removeEventListener("pointerup",this.handlePointerEvent),this.root.removeEventListener("pointercancel",this.handlePointerEvent),this.root.removeEventListener("forceCancel",this.handlePointerEvent),this.root.removeEventListener("blur",this.handleInterruptEvents),this.root.removeEventListener("contextmenu",this.handleInterruptEvents),this.pointers.clear(),this.gestureHandlers.clear()}}class Nn{gestureTemplates=new Map;elementGestureMap=new Map;activeGesturesRegistry=new zn;keyboardManager=new Rn;constructor(t){this.pointerManager=new Hn({root:t.root,touchAction:t.touchAction,passive:t.passive}),t.gestures&&t.gestures.length>0&&t.gestures.forEach(n=>{this.addGestureTemplate(n)})}addGestureTemplate(t){this.gestureTemplates.has(t.name)&&console.warn(`Gesture template with name "${t.name}" already exists. It will be overwritten.`),this.gestureTemplates.set(t.name,t)}setGestureOptions(t,n,i){const s=this.elementGestureMap.get(n);if(!s||!s.has(t)){console.error(`Gesture "${t}" not found on the provided element.`);return}const r=new CustomEvent(`${t}ChangeOptions`,{detail:i,bubbles:!1,cancelable:!1,composed:!1});n.dispatchEvent(r)}setGestureState(t,n,i){const s=this.elementGestureMap.get(n);if(!s||!s.has(t)){console.error(`Gesture "${t}" not found on the provided element.`);return}const r=new CustomEvent(`${t}ChangeState`,{detail:i,bubbles:!1,cancelable:!1,composed:!1});n.dispatchEvent(r)}registerElement(t,n,i){return Array.isArray(t)||(t=[t]),t.forEach(s=>{const r=i?.[s];this.registerSingleGesture(s,n,r)}),n}registerSingleGesture(t,n,i){const s=this.gestureTemplates.get(t);if(!s)return console.error(`Gesture template "${t}" not found.`),!1;this.elementGestureMap.has(n)||this.elementGestureMap.set(n,new Map);const r=this.elementGestureMap.get(n);r.has(t)&&(console.warn(`Element already has gesture "${t}" registered. It will be replaced.`),this.unregisterElement(t,n));const o=s.clone(i);return o.init(n,this.pointerManager,this.activeGesturesRegistry,this.keyboardManager),r.set(t,o),!0}unregisterElement(t,n){const i=this.elementGestureMap.get(n);return!i||!i.has(t)?!1:(i.get(t).destroy(),i.delete(t),this.activeGesturesRegistry.unregisterElement(n),i.size===0&&this.elementGestureMap.delete(n),!0)}unregisterAllGestures(t){const n=this.elementGestureMap.get(t);if(n){for(const[,i]of n)i.destroy(),this.activeGesturesRegistry.unregisterElement(t);this.elementGestureMap.delete(t)}}destroy(){for(const[t]of this.elementGestureMap)this.unregisterAllGestures(t);this.gestureTemplates.clear(),this.elementGestureMap.clear(),this.activeGesturesRegistry.destroy(),this.keyboardManager.destroy(),this.pointerManager.destroy()}}class U extends Ge{unregisterHandler=null;originalTarget=null;constructor(t){super(t),this.minPointers=t.minPointers??1,this.maxPointers=t.maxPointers??1/0}init(t,n,i,s){super.init(t,n,i,s),this.unregisterHandler=this.pointerManager.registerGestureHandler(this.handlePointerEvent)}updateOptions(t){super.updateOptions(t),this.minPointers=t.minPointers??this.minPointers,this.maxPointers=t.maxPointers??this.maxPointers}getBaseConfig(){return{requiredKeys:this.requiredKeys,minPointers:this.minPointers,maxPointers:this.maxPointers}}isWithinPointerCount(t,n){const i=this.getEffectiveConfig(n,this.getBaseConfig());return t.length>=i.minPointers&&t.length<=i.maxPointers}getRelevantPointers(t,n){return t.filter(i=>this.isPointerTypeAllowed(i.pointerType)&&(n===i.target||i.target===this.originalTarget||n===this.originalTarget||"contains"in n&&n.contains(i.target))||"getRootNode"in n&&n.getRootNode()instanceof ShadowRoot&&i.srcEvent.composedPath().includes(n))}destroy(){this.unregisterHandler&&(this.unregisterHandler(),this.unregisterHandler=null),super.destroy()}}function _n(e,t){const n=t.x-e.x,i=t.y-e.y;return Math.sqrt(n*n+i*i)}function xt(e){if(e.length<2)return 0;let t=0,n=0;for(let i=0;i<e.length;i+=1)for(let s=i+1;s<e.length;s+=1)t+=_n({x:e[i].clientX,y:e[i].clientY},{x:e[s].clientX,y:e[s].clientY}),n+=1;return n>0?t/n:0}function H(e){if(e.length===0)return{x:0,y:0};const t=e.reduce((n,i)=>(n.x+=i.clientX,n.y+=i.clientY,n),{x:0,y:0});return{x:t.x/e.length,y:t.y/e.length}}function R(e,t){return`${e}${t==="ongoing"?"":t.charAt(0).toUpperCase()+t.slice(1)}`}const yt=1e-5,Y=1e-5,xe=.15;function Xn(e,t){const n=t.x-e.x,i=t.y-e.y,s={vertical:null,horizontal:null,mainAxis:null},r=Kn(t,e),o=Math.abs(n)>Math.abs(i)?"horizontal":"vertical",a=r||o==="horizontal"?yt:xe,l=r?yt:o==="horizontal"?xe:yt;return Math.abs(n)>a&&(s.horizontal=n>0?"right":"left"),Math.abs(i)>l&&(s.vertical=i>0?"down":"up"),s.mainAxis=r?"diagonal":o,s}function Kn(e,t){const n=t.x-e.x,i=t.y-e.y,s=Math.atan2(i,n)*180/Math.PI;return s>=-45+Y&&s<=-22.5+Y||s>=22.5+Y&&s<=45+Y||s>=135+Y&&s<=157.5+Y||s>=-157.5+Y&&s<=-135+Y}function $n(e,t){if(!e.vertical&&!e.horizontal)return!1;if(t.length===0)return!0;const n=e.vertical===null||t.includes(e.vertical),i=e.horizontal===null||t.includes(e.horizontal);return n&&i}const ye=0,Fn=e=>e>ye?1:e<-ye?-1:0,j=e=>{e.cancelable&&e.preventDefault()};class te extends U{state={lastPosition:null};constructor(t){super(t),this.threshold=t.threshold||0}clone(t){return new te(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,threshold:this.threshold,minPointers:this.minPointers,maxPointers:this.maxPointers,requiredKeys:[...this.requiredKeys],pointerMode:[...this.pointerMode],preventIf:[...this.preventIf],pointerOptions:structuredClone(this.pointerOptions)},t))}init(t,n,i,s){super.init(t,n,i,s),this.element.addEventListener("pointerenter",this.handleElementEnter),this.element.addEventListener("pointerleave",this.handleElementLeave)}destroy(){this.element.removeEventListener("pointerenter",this.handleElementEnter),this.element.removeEventListener("pointerleave",this.handleElementLeave),this.resetState(),super.destroy()}updateOptions(t){super.updateOptions(t)}resetState(){this.isActive=!1,this.state={lastPosition:null}}handleElementEnter=t=>{if(t.pointerType!=="mouse"&&t.pointerType!=="pen")return;const n=this.pointerManager.getPointers()||new Map,i=Array.from(n.values());if(this.isWithinPointerCount(i,t.pointerType)){this.isActive=!0;const s={x:t.clientX,y:t.clientY};this.state.lastPosition=s,this.emitMoveEvent(this.element,"start",i,t),this.emitMoveEvent(this.element,"ongoing",i,t)}};handleElementLeave=t=>{if(t.pointerType!=="mouse"&&t.pointerType!=="pen"||!this.isActive)return;const n=this.pointerManager.getPointers()||new Map,i=Array.from(n.values());this.emitMoveEvent(this.element,"end",i,t),this.resetState()};handlePointerEvent=(t,n)=>{if(n.type!=="pointermove"||n.pointerType!=="mouse"&&n.pointerType!=="pen")return;this.preventDefault&&n.preventDefault(),this.stopPropagation&&n.stopPropagation();const i=Array.from(t.values()),s=this.getTargetElement(n);if(!s||!this.isWithinPointerCount(i,n.pointerType))return;if(this.shouldPreventGesture(s,n.pointerType)){if(!this.isActive)return;this.resetState(),this.emitMoveEvent(s,"end",i,n);return}const r={x:n.clientX,y:n.clientY};this.state.lastPosition=r,this.isActive||(this.isActive=!0,this.emitMoveEvent(s,"start",i,n)),this.emitMoveEvent(s,"ongoing",i,n)};emitMoveEvent(t,n,i,s){const r=this.state.lastPosition||H(i),o=this.gesturesRegistry.getActiveGestures(t),a={gestureName:this.name,centroid:r,target:s.target,srcEvent:s,phase:n,pointers:i,timeStamp:s.timeStamp,activeGestures:o,customData:this.customData},l=R(this.name,n),u=new CustomEvent(l,{bubbles:!0,cancelable:!0,composed:!0,detail:a});t.dispatchEvent(u)}}class q extends U{state={startPointers:new Map,startCentroid:null,lastCentroid:null,movementThresholdReached:!1,totalDeltaX:0,totalDeltaY:0,activeDeltaX:0,activeDeltaY:0,lastDirection:{vertical:null,horizontal:null,mainAxis:null},lastDeltas:null};constructor(t){super(t),this.direction=t.direction||["up","down","left","right"],this.threshold=t.threshold||0}clone(t){return new q(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,threshold:this.threshold,minPointers:this.minPointers,maxPointers:this.maxPointers,direction:[...this.direction],requiredKeys:[...this.requiredKeys],pointerMode:[...this.pointerMode],preventIf:[...this.preventIf],pointerOptions:structuredClone(this.pointerOptions)},t))}destroy(){this.resetState(),super.destroy()}updateOptions(t){super.updateOptions(t),this.direction=t.direction||this.direction,this.threshold=t.threshold??this.threshold}resetState(){this.isActive=!1,this.state=c._extends({},this.state,{startPointers:new Map,startCentroid:null,lastCentroid:null,lastDeltas:null,activeDeltaX:0,activeDeltaY:0,movementThresholdReached:!1,lastDirection:{vertical:null,horizontal:null,mainAxis:null}})}handlePointerEvent=(t,n)=>{const i=Array.from(t.values());if(n.type==="forceCancel"){this.cancel(n.target,i,n);return}const s=this.getTargetElement(n);if(!s)return;if(this.shouldPreventGesture(s,n.pointerType)){this.cancel(s,i,n);return}const r=this.getRelevantPointers(i,s);if(!this.isWithinPointerCount(r,n.pointerType)){this.cancel(s,r,n);return}switch(n.type){case"pointerdown":if(!this.isActive&&!this.state.startCentroid)r.forEach(o=>{this.state.startPointers.set(o.pointerId,o)}),this.originalTarget=s,this.state.startCentroid=H(r),this.state.lastCentroid=c._extends({},this.state.startCentroid);else if(this.state.startCentroid&&this.state.lastCentroid){const o=this.state.lastCentroid,a=H(r),l=a.x-o.x,u=a.y-o.y;this.state.startCentroid={x:this.state.startCentroid.x+l,y:this.state.startCentroid.y+u},this.state.lastCentroid=a,r.forEach(d=>{this.state.startPointers.has(d.pointerId)||this.state.startPointers.set(d.pointerId,d)})}break;case"pointermove":if(this.state.startCentroid&&this.isWithinPointerCount(i,n.pointerType)){const o=H(r),a=o.x-this.state.startCentroid.x,l=o.y-this.state.startCentroid.y,u=Math.sqrt(a*a+l*l),d=Xn(this.state.lastCentroid??this.state.startCentroid,o),h=this.state.lastCentroid?o.x-this.state.lastCentroid.x:0,p=this.state.lastCentroid?o.y-this.state.lastCentroid.y:0;!this.state.movementThresholdReached&&u>=this.threshold&&$n(d,this.direction)?(this.state.movementThresholdReached=!0,this.isActive=!0,this.state.lastDeltas={x:h,y:p},this.state.totalDeltaX+=h,this.state.totalDeltaY+=p,this.state.activeDeltaX+=h,this.state.activeDeltaY+=p,this.emitPanEvent(s,"start",r,n,o),this.emitPanEvent(s,"ongoing",r,n,o)):this.state.movementThresholdReached&&this.isActive&&(this.state.lastDeltas={x:h,y:p},this.state.totalDeltaX+=h,this.state.totalDeltaY+=p,this.state.activeDeltaX+=h,this.state.activeDeltaY+=p,this.emitPanEvent(s,"ongoing",r,n,o)),this.state.lastCentroid=o,this.state.lastDirection=d}break;case"pointerup":case"pointercancel":case"forceCancel":if(this.isActive&&this.state.movementThresholdReached){const o=r.filter(a=>a.type!=="pointerup"&&a.type!=="pointercancel");if(this.isWithinPointerCount(o,n.pointerType)){if(o.length>=1&&this.state.lastCentroid){const a=H(o),l=a.x-this.state.lastCentroid.x,u=a.y-this.state.lastCentroid.y;this.state.startCentroid={x:this.state.startCentroid.x+l,y:this.state.startCentroid.y+u},this.state.lastCentroid=a;const d=r.find(h=>h.type==="pointerup"||h.type==="pointercancel")?.pointerId;d!==void 0&&this.state.startPointers.delete(d)}}else{const a=this.state.lastCentroid||this.state.startCentroid;n.type==="pointercancel"&&this.emitPanEvent(s,"cancel",r,n,a),this.emitPanEvent(s,"end",r,n,a),this.resetState()}}else this.resetState();break}};emitPanEvent(t,n,i,s,r){if(!this.state.startCentroid)return;const o=this.state.lastDeltas?.x??0,a=this.state.lastDeltas?.y??0,l=this.state.startPointers.values().next().value,u=l?(s.timeStamp-l.timeStamp)/1e3:0,d=u>0?o/u:0,h=u>0?a/u:0,p=Math.sqrt(d*d+h*h),m=this.gesturesRegistry.getActiveGestures(t),f={gestureName:this.name,initialCentroid:this.state.startCentroid,centroid:r,target:s.target,srcEvent:s,phase:n,pointers:i,timeStamp:s.timeStamp,deltaX:o,deltaY:a,direction:this.state.lastDirection,velocityX:d,velocityY:h,velocity:p,totalDeltaX:this.state.totalDeltaX,totalDeltaY:this.state.totalDeltaY,activeDeltaX:this.state.activeDeltaX,activeDeltaY:this.state.activeDeltaY,activeGestures:m,customData:this.customData},g=R(this.name,n),y=new CustomEvent(g,{bubbles:!0,cancelable:!0,composed:!0,detail:f});t.dispatchEvent(y),this.preventDefault&&s.preventDefault(),this.stopPropagation&&s.stopPropagation()}cancel(t,n,i){if(this.isActive){const s=t??this.element;this.emitPanEvent(s,"cancel",n,i,this.state.lastCentroid),this.emitPanEvent(s,"end",n,i,this.state.lastCentroid)}this.resetState()}}class ee extends U{state={startDistance:0,lastDistance:0,lastScale:1,lastTime:0,velocity:0,totalScale:1,deltaScale:0};constructor(t){super(c._extends({},t,{minPointers:t.minPointers??2})),this.threshold=t.threshold??0}clone(t){return new ee(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,threshold:this.threshold,minPointers:this.minPointers,maxPointers:this.maxPointers,requiredKeys:[...this.requiredKeys],pointerMode:[...this.pointerMode],preventIf:[...this.preventIf],pointerOptions:structuredClone(this.pointerOptions)},t))}destroy(){this.resetState(),super.destroy()}updateOptions(t){super.updateOptions(t)}resetState(){this.isActive=!1,this.state=c._extends({},this.state,{startDistance:0,lastDistance:0,lastScale:1,lastTime:0,velocity:0,deltaScale:0})}handlePointerEvent=(t,n)=>{const i=Array.from(t.values()),s=this.getTargetElement(n);if(!s)return;if(this.shouldPreventGesture(s,n.pointerType)){this.isActive&&(this.emitPinchEvent(s,"cancel",i,n),this.resetState());return}const r=this.getRelevantPointers(i,s);switch(n.type){case"pointerdown":if(r.length>=2&&!this.isActive){const o=xt(r);this.state.startDistance=o,this.state.lastDistance=o,this.state.lastTime=n.timeStamp,this.originalTarget=s}else if(this.isActive&&r.length>=2){const o=xt(r);this.state.startDistance=o/this.state.lastScale,this.state.lastDistance=o,this.state.lastTime=n.timeStamp}break;case"pointermove":if(this.state.startDistance&&this.isWithinPointerCount(r,n.pointerType)){const o=xt(r),a=Math.abs(o-this.state.lastDistance);if(a!==0&&a>=this.threshold){const l=this.state.startDistance?o/this.state.startDistance:1,u=l/this.state.lastScale;this.state.totalScale*=u;const d=(n.timeStamp-this.state.lastTime)/1e3;if(this.state.lastDistance){const p=(o-this.state.lastDistance)/d;this.state.velocity=Number.isNaN(p)?0:p}this.state.lastDistance=o,this.state.deltaScale=l-this.state.lastScale,this.state.lastScale=l,this.state.lastTime=n.timeStamp,this.isActive?this.emitPinchEvent(s,"ongoing",r,n):(this.isActive=!0,this.emitPinchEvent(s,"start",r,n),this.emitPinchEvent(s,"ongoing",r,n))}}break;case"pointerup":case"pointercancel":case"forceCancel":if(this.isActive){const o=r.filter(a=>a.type!=="pointerup"&&a.type!=="pointercancel");if(!this.isWithinPointerCount(o,n.pointerType))n.type==="pointercancel"&&this.emitPinchEvent(s,"cancel",r,n),this.emitPinchEvent(s,"end",r,n),this.resetState();else if(o.length>=2){const a=xt(o);this.state.startDistance=a/this.state.lastScale,this.state.lastDistance=a,this.state.lastTime=n.timeStamp}}break}};emitPinchEvent(t,n,i,s){const r=H(i),o=this.state.lastDistance,a=this.state.lastScale,l=this.gesturesRegistry.getActiveGestures(t),u={gestureName:this.name,centroid:r,target:s.target,srcEvent:s,phase:n,pointers:i,timeStamp:s.timeStamp,scale:a,deltaScale:this.state.deltaScale,totalScale:this.state.totalScale,distance:o,velocity:this.state.velocity,activeGestures:l,direction:Fn(this.state.velocity),customData:this.customData};this.preventDefault&&s.preventDefault(),this.stopPropagation&&s.stopPropagation();const d=R(this.name,n),h=new CustomEvent(d,{bubbles:!0,cancelable:!0,composed:!0,detail:u});t.dispatchEvent(h)}}class Ot extends U{state={startCentroid:null,lastPosition:null,timerId:null,startTime:0,pressThresholdReached:!1};constructor(t){super(t),this.duration=t.duration??500,this.maxDistance=t.maxDistance??10}clone(t){return new Ot(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,minPointers:this.minPointers,maxPointers:this.maxPointers,duration:this.duration,maxDistance:this.maxDistance,requiredKeys:[...this.requiredKeys],pointerMode:[...this.pointerMode],preventIf:[...this.preventIf],pointerOptions:structuredClone(this.pointerOptions)},t))}destroy(){this.clearPressTimer(),this.resetState(),super.destroy()}updateOptions(t){super.updateOptions(t),this.duration=t.duration??this.duration,this.maxDistance=t.maxDistance??this.maxDistance}resetState(){this.clearPressTimer(),this.isActive=!1,this.state=c._extends({},this.state,{startCentroid:null,lastPosition:null,timerId:null,startTime:0,pressThresholdReached:!1})}clearPressTimer(){this.state.timerId!==null&&(clearTimeout(this.state.timerId),this.state.timerId=null)}handlePointerEvent=(t,n)=>{const i=Array.from(t.values());if(n.type==="forceCancel"){this.cancelPress(n.target,i,n);return}const s=this.getTargetElement(n);if(!s)return;if(this.shouldPreventGesture(s,n.pointerType)){this.isActive&&this.cancelPress(s,i,n);return}const r=this.getRelevantPointers(i,s);if(!this.isWithinPointerCount(r,n.pointerType)){this.isActive&&this.cancelPress(s,r,n);return}switch(n.type){case"pointerdown":!this.isActive&&!this.state.startCentroid&&(this.state.startCentroid=H(r),this.state.lastPosition=c._extends({},this.state.startCentroid),this.state.startTime=n.timeStamp,this.isActive=!0,this.originalTarget=s,this.clearPressTimer(),this.state.timerId=setTimeout(()=>{if(this.isActive&&this.state.startCentroid){this.state.pressThresholdReached=!0;const o=this.state.lastPosition;this.emitPressEvent(s,"start",r,n,o),this.emitPressEvent(s,"ongoing",r,n,o)}},this.duration));break;case"pointermove":if(this.isActive&&this.state.startCentroid){const o=H(r);this.state.lastPosition=o;const a=o.x-this.state.startCentroid.x,l=o.y-this.state.startCentroid.y;Math.sqrt(a*a+l*l)>this.maxDistance&&this.cancelPress(s,r,n)}break;case"pointerup":if(this.isActive){if(this.state.pressThresholdReached){const o=this.state.lastPosition||this.state.startCentroid;this.emitPressEvent(s,"end",r,n,o)}this.resetState()}break;case"pointercancel":case"forceCancel":this.cancelPress(s,r,n);break}};emitPressEvent(t,n,i,s,r){const o=this.gesturesRegistry.getActiveGestures(t),a=s.timeStamp-this.state.startTime,l={gestureName:this.name,centroid:r,target:s.target,srcEvent:s,phase:n,pointers:i,timeStamp:s.timeStamp,x:r.x,y:r.y,duration:a,activeGestures:o,customData:this.customData},u=R(this.name,n),d=new CustomEvent(u,{bubbles:!0,cancelable:!0,composed:!0,detail:l});t.dispatchEvent(d),this.preventDefault&&s.preventDefault(),this.stopPropagation&&s.stopPropagation()}cancelPress(t,n,i){if(this.isActive&&this.state.pressThresholdReached){const s=this.state.lastPosition||this.state.startCentroid;this.emitPressEvent(t??this.element,"cancel",n,i,s),this.emitPressEvent(t??this.element,"end",n,i,s)}this.resetState()}}class ne extends U{state={phase:"waitingForPress",dragTimeoutId:null};constructor(t){super(t),this.pressDuration=t.pressDuration??500,this.pressMaxDistance=t.pressMaxDistance??10,this.dragTimeout=t.dragTimeout??1e3,this.dragThreshold=t.dragThreshold??0,this.dragDirection=t.dragDirection||["up","down","left","right"],this.pressGesture=new Ot({name:`${this.name}-press`,duration:this.pressDuration,maxDistance:this.pressMaxDistance,maxPointers:this.maxPointers,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)}),this.panGesture=new q({name:`${this.name}-pan`,minPointers:this.minPointers,maxPointers:this.maxPointers,threshold:this.dragThreshold,direction:this.dragDirection,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)})}clone(t){return new ne(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,minPointers:this.minPointers,maxPointers:this.maxPointers,pressDuration:this.pressDuration,pressMaxDistance:this.pressMaxDistance,dragTimeout:this.dragTimeout,dragThreshold:this.dragThreshold,dragDirection:[...this.dragDirection],requiredKeys:[...this.requiredKeys],pointerMode:[...this.pointerMode],preventIf:[...this.preventIf],pointerOptions:structuredClone(this.pointerOptions)},t))}init(t,n,i,s){super.init(t,n,i,s),this.pressGesture.init(t,n,i,s),this.panGesture.init(t,n,i,s),this.element.addEventListener(this.pressGesture.name,this.pressHandler),this.element.addEventListener(`${this.panGesture.name}Start`,this.dragStartHandler),this.element.addEventListener(this.panGesture.name,this.dragMoveHandler),this.element.addEventListener(`${this.panGesture.name}End`,this.dragEndHandler),this.element.addEventListener(`${this.panGesture.name}Cancel`,this.dragEndHandler)}destroy(){this.resetState(),this.pressGesture.destroy(),this.panGesture.destroy(),this.element.removeEventListener(this.pressGesture.name,this.pressHandler),this.element.removeEventListener(`${this.panGesture.name}Start`,this.dragStartHandler),this.element.removeEventListener(this.panGesture.name,this.dragMoveHandler),this.element.removeEventListener(`${this.panGesture.name}End`,this.dragEndHandler),this.element.removeEventListener(`${this.panGesture.name}Cancel`,this.dragEndHandler),super.destroy()}updateOptions(t){super.updateOptions(t),this.pressDuration=t.pressDuration??this.pressDuration,this.pressMaxDistance=t.pressMaxDistance??this.pressMaxDistance,this.dragTimeout=t.dragTimeout??this.dragTimeout,this.dragThreshold=t.dragThreshold??this.dragThreshold,this.dragDirection=t.dragDirection||this.dragDirection,this.element.dispatchEvent(new CustomEvent(`${this.panGesture.name}ChangeOptions`,{detail:{minPointers:this.minPointers,maxPointers:this.maxPointers,threshold:this.dragThreshold,direction:this.dragDirection,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)}})),this.element.dispatchEvent(new CustomEvent(`${this.pressGesture.name}ChangeOptions`,{detail:{duration:this.pressDuration,maxDistance:this.pressMaxDistance,maxPointers:this.maxPointers,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)}}))}resetState(){this.state.dragTimeoutId!==null&&clearTimeout(this.state.dragTimeoutId),this.restoreTouchAction(),this.isActive=!1,this.state={phase:"waitingForPress",dragTimeoutId:null}}handlePointerEvent(){}pressHandler=()=>{this.state.phase==="waitingForPress"&&(this.state.phase="pressDetected",this.setTouchAction(),this.state.dragTimeoutId=setTimeout(()=>{this.resetState()},this.dragTimeout))};dragStartHandler=t=>{this.state.phase==="pressDetected"&&(this.state.dragTimeoutId!==null&&(clearTimeout(this.state.dragTimeoutId),this.state.dragTimeoutId=null),this.restoreTouchAction(),this.state.phase="dragging",this.isActive=!0,this.element.dispatchEvent(new CustomEvent(R(this.name,t.detail.phase),t)))};dragMoveHandler=t=>{this.state.phase==="dragging"&&this.element.dispatchEvent(new CustomEvent(R(this.name,t.detail.phase),t))};dragEndHandler=t=>{this.state.phase==="dragging"&&(this.resetState(),this.element.dispatchEvent(new CustomEvent(R(this.name,t.detail.phase),t)))};setTouchAction(){this.element.addEventListener("touchstart",j,{passive:!1}),this.element.addEventListener("touchmove",j,{passive:!1}),this.element.addEventListener("touchend",j,{passive:!1})}restoreTouchAction(){this.element.removeEventListener("touchstart",j),this.element.removeEventListener("touchmove",j),this.element.removeEventListener("touchend",j)}}class ot extends U{state={startCentroid:null,currentTapCount:0,lastTapTime:0,lastPosition:null};constructor(t){super(t),this.maxDistance=t.maxDistance??10,this.taps=t.taps??1}clone(t){return new ot(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,minPointers:this.minPointers,maxPointers:this.maxPointers,maxDistance:this.maxDistance,taps:this.taps,requiredKeys:[...this.requiredKeys],pointerMode:[...this.pointerMode],preventIf:[...this.preventIf],pointerOptions:structuredClone(this.pointerOptions)},t))}destroy(){this.resetState(),super.destroy()}updateOptions(t){super.updateOptions(t),this.maxDistance=t.maxDistance??this.maxDistance,this.taps=t.taps??this.taps}resetState(){this.isActive=!1,this.state={startCentroid:null,currentTapCount:0,lastTapTime:0,lastPosition:null}}handlePointerEvent=(t,n)=>{const i=Array.from(t.values()),s=this.getTargetElement(n);if(!s)return;const r=this.getRelevantPointers(i,s);if(this.shouldPreventGesture(s,n.pointerType)||!this.isWithinPointerCount(r,n.pointerType)){this.isActive&&this.cancelTap(s,r,n);return}switch(n.type){case"pointerdown":this.isActive||(this.state.startCentroid=H(r),this.state.lastPosition=c._extends({},this.state.startCentroid),this.isActive=!0,this.originalTarget=s);break;case"pointermove":if(this.isActive&&this.state.startCentroid){const o=H(r);this.state.lastPosition=o;const a=o.x-this.state.startCentroid.x,l=o.y-this.state.startCentroid.y;Math.sqrt(a*a+l*l)>this.maxDistance&&this.cancelTap(s,r,n)}break;case"pointerup":if(this.isActive){this.state.currentTapCount+=1;const o=this.state.lastPosition||this.state.startCentroid;if(!o){this.cancelTap(s,r,n);return}this.state.currentTapCount>=this.taps?(this.fireTapEvent(s,r,n,o),this.resetState()):(this.state.lastTapTime=n.timeStamp,this.isActive=!1,this.state.startCentroid=null,setTimeout(()=>{this.state&&this.state.currentTapCount>0&&this.state.currentTapCount<this.taps&&(this.state.currentTapCount=0)},300))}break;case"pointercancel":case"forceCancel":this.cancelTap(s,r,n);break}};fireTapEvent(t,n,i,s){const r=this.gesturesRegistry.getActiveGestures(t),o={gestureName:this.name,centroid:s,target:i.target,srcEvent:i,phase:"end",pointers:n,timeStamp:i.timeStamp,x:s.x,y:s.y,tapCount:this.state.currentTapCount,activeGestures:r,customData:this.customData},a=new CustomEvent(this.name,{bubbles:!0,cancelable:!0,composed:!0,detail:o});t.dispatchEvent(a),this.preventDefault&&i.preventDefault(),this.stopPropagation&&i.stopPropagation()}cancelTap(t,n,i){if(this.state.startCentroid||this.state.lastPosition){const s=this.state.lastPosition||this.state.startCentroid,r=this.gesturesRegistry.getActiveGestures(t),o={gestureName:this.name,centroid:s,target:i.target,srcEvent:i,phase:"cancel",pointers:n,timeStamp:i.timeStamp,x:s.x,y:s.y,tapCount:this.state.currentTapCount,activeGestures:r,customData:this.customData},a=R(this.name,"cancel"),l=new CustomEvent(a,{bubbles:!0,cancelable:!0,composed:!0,detail:o});t.dispatchEvent(l)}this.resetState()}}class ie extends U{state={phase:"waitingForTap",dragTimeoutId:null};constructor(t){super(t),this.tapMaxDistance=t.tapMaxDistance??10,this.dragTimeout=t.dragTimeout??1e3,this.dragThreshold=t.dragThreshold??0,this.dragDirection=t.dragDirection||["up","down","left","right"],this.tapGesture=new ot({name:`${this.name}-tap`,maxDistance:this.tapMaxDistance,maxPointers:this.maxPointers,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)}),this.panGesture=new q({name:`${this.name}-pan`,minPointers:this.minPointers,maxPointers:this.maxPointers,threshold:this.dragThreshold,direction:this.dragDirection,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)})}clone(t){return new ie(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,minPointers:this.minPointers,maxPointers:this.maxPointers,tapMaxDistance:this.tapMaxDistance,dragTimeout:this.dragTimeout,dragThreshold:this.dragThreshold,dragDirection:[...this.dragDirection],requiredKeys:[...this.requiredKeys],pointerMode:[...this.pointerMode],preventIf:[...this.preventIf],pointerOptions:structuredClone(this.pointerOptions)},t))}init(t,n,i,s){super.init(t,n,i,s),this.tapGesture.init(t,n,i,s),this.panGesture.init(t,n,i,s),this.element.addEventListener(this.tapGesture.name,this.tapHandler),this.element.addEventListener(`${this.panGesture.name}Start`,this.dragStartHandler),this.element.addEventListener(this.panGesture.name,this.dragMoveHandler),this.element.addEventListener(`${this.panGesture.name}End`,this.dragEndHandler),this.element.addEventListener(`${this.panGesture.name}Cancel`,this.dragEndHandler)}destroy(){this.resetState(),this.tapGesture.destroy(),this.panGesture.destroy(),this.element.removeEventListener(this.tapGesture.name,this.tapHandler),this.element.removeEventListener(`${this.panGesture.name}Start`,this.dragStartHandler),this.element.removeEventListener(this.panGesture.name,this.dragMoveHandler),this.element.removeEventListener(`${this.panGesture.name}End`,this.dragEndHandler),this.element.removeEventListener(`${this.panGesture.name}Cancel`,this.dragEndHandler),super.destroy()}updateOptions(t){super.updateOptions(t),this.tapMaxDistance=t.tapMaxDistance??this.tapMaxDistance,this.dragTimeout=t.dragTimeout??this.dragTimeout,this.dragThreshold=t.dragThreshold??this.dragThreshold,this.dragDirection=t.dragDirection||this.dragDirection,this.element.dispatchEvent(new CustomEvent(`${this.panGesture.name}ChangeOptions`,{detail:{minPointers:this.minPointers,maxPointers:this.maxPointers,threshold:this.dragThreshold,direction:this.dragDirection,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)}})),this.element.dispatchEvent(new CustomEvent(`${this.tapGesture.name}ChangeOptions`,{detail:{maxDistance:this.tapMaxDistance,maxPointers:this.maxPointers,pointerMode:this.pointerMode,requiredKeys:this.requiredKeys,preventIf:this.preventIf,pointerOptions:structuredClone(this.pointerOptions)}}))}resetState(){this.state.dragTimeoutId!==null&&clearTimeout(this.state.dragTimeoutId),this.restoreTouchAction(),this.isActive=!1,this.state={phase:"waitingForTap",dragTimeoutId:null}}handlePointerEvent(){}tapHandler=()=>{this.state.phase==="waitingForTap"&&(this.state.phase="tapDetected",this.setTouchAction(),this.state.dragTimeoutId=setTimeout(()=>{this.resetState()},this.dragTimeout))};dragStartHandler=t=>{this.state.phase==="tapDetected"&&(this.state.dragTimeoutId!==null&&(clearTimeout(this.state.dragTimeoutId),this.state.dragTimeoutId=null),this.restoreTouchAction(),this.state.phase="dragging",this.isActive=!0,this.element.dispatchEvent(new CustomEvent(R(this.name,t.detail.phase),t)))};dragMoveHandler=t=>{this.state.phase==="dragging"&&this.element.dispatchEvent(new CustomEvent(R(this.name,t.detail.phase),t))};dragEndHandler=t=>{this.state.phase==="dragging"&&(this.resetState(),this.element.dispatchEvent(new CustomEvent(R(this.name,t.detail.phase),t)))};setTouchAction(){this.element.addEventListener("touchstart",j,{passive:!1})}restoreTouchAction(){this.element.removeEventListener("touchstart",j)}}class Pt extends Ge{state={totalDeltaX:0,totalDeltaY:0,totalDeltaZ:0};constructor(t){super(t),this.sensitivity=t.sensitivity??1,this.max=t.max??Number.MAX_SAFE_INTEGER,this.min=t.min??Number.MIN_SAFE_INTEGER,this.initialDelta=t.initialDelta??0,this.invert=t.invert??!1,this.state.totalDeltaX=this.initialDelta,this.state.totalDeltaY=this.initialDelta,this.state.totalDeltaZ=this.initialDelta}clone(t){return new Pt(c._extends({name:this.name,preventDefault:this.preventDefault,stopPropagation:this.stopPropagation,sensitivity:this.sensitivity,max:this.max,min:this.min,initialDelta:this.initialDelta,invert:this.invert,requiredKeys:[...this.requiredKeys],preventIf:[...this.preventIf]},t))}init(t,n,i,s){super.init(t,n,i,s),this.element.addEventListener("wheel",this.handleWheelEvent)}destroy(){this.element.removeEventListener("wheel",this.handleWheelEvent),this.resetState(),super.destroy()}resetState(){this.isActive=!1,this.state={totalDeltaX:0,totalDeltaY:0,totalDeltaZ:0}}updateOptions(t){super.updateOptions(t),this.sensitivity=t.sensitivity??this.sensitivity,this.max=t.max??this.max,this.min=t.min??this.min,this.initialDelta=t.initialDelta??this.initialDelta,this.invert=t.invert??this.invert}handleWheelEvent=t=>{if(this.shouldPreventGesture(this.element,"mouse"))return;const n=this.pointerManager.getPointers()||new Map,i=Array.from(n.values());this.state.totalDeltaX+=t.deltaX*this.sensitivity*(this.invert?-1:1),this.state.totalDeltaY+=t.deltaY*this.sensitivity*(this.invert?-1:1),this.state.totalDeltaZ+=t.deltaZ*this.sensitivity*(this.invert?-1:1),["totalDeltaX","totalDeltaY","totalDeltaZ"].forEach(s=>{this.state[s]<this.min&&(this.state[s]=this.min),this.state[s]>this.max&&(this.state[s]=this.max)}),this.emitWheelEvent(i,t)};emitWheelEvent(t,n){const i=t.length>0?H(t):{x:n.clientX,y:n.clientY},s=this.gesturesRegistry.getActiveGestures(this.element),r={gestureName:this.name,centroid:i,target:n.target,srcEvent:n,phase:"ongoing",pointers:t,timeStamp:n.timeStamp,deltaX:n.deltaX*this.sensitivity*(this.invert?-1:1),deltaY:n.deltaY*this.sensitivity*(this.invert?-1:1),deltaZ:n.deltaZ*this.sensitivity*(this.invert?-1:1),deltaMode:n.deltaMode,totalDeltaX:this.state.totalDeltaX,totalDeltaY:this.state.totalDeltaY,totalDeltaZ:this.state.totalDeltaZ,activeGestures:s,customData:this.customData};this.preventDefault&&n.preventDefault(),this.stopPropagation&&n.stopPropagation();const o=R(this.name,"ongoing"),a=new CustomEvent(o,{bubbles:!0,cancelable:!0,composed:!0,detail:r});this.element.dispatchEvent(a)}}const J=e=>e.preventDefault(),se=({svgRef:e})=>{const t=P.useRef(null);P.useEffect(()=>{const s=e.current;t.current||(t.current=new Nn({gestures:[new q({name:"pan",threshold:0,maxPointers:1}),new te({name:"move",preventIf:["pan","zoomPinch","zoomPan"]}),new ot({name:"tap",preventIf:["pan","zoomPinch","zoomPan"]}),new Ot({name:"quickPress",duration:50}),new q({name:"brush",threshold:0,maxPointers:1}),new q({name:"zoomPan",threshold:0,preventIf:["zoomTapAndDrag","zoomPressAndDrag"]}),new ee({name:"zoomPinch",threshold:5}),new Pt({name:"zoomTurnWheel",sensitivity:.01,initialDelta:1}),new Pt({name:"panTurnWheel",sensitivity:.5}),new ie({name:"zoomTapAndDrag",dragThreshold:10}),new ne({name:"zoomPressAndDrag",dragThreshold:10,preventIf:["zoomPinch"]}),new ot({name:"zoomDoubleTapReset",taps:2})]}));const r=t.current;if(!(!s||!r))return r.registerElement(["pan","move","zoomPinch","zoomPan","zoomTurnWheel","panTurnWheel","tap","quickPress","zoomTapAndDrag","zoomPressAndDrag","zoomDoubleTapReset","brush"],s),()=>{r.unregisterAllGestures(s)}},[e,t]);const n=P.useCallback((s,r,o)=>{const a=e.current;return a?.addEventListener(s,r,o),{cleanup:()=>a?.removeEventListener(s,r)}},[e]),i=P.useCallback((s,r)=>{const o=e.current,a=t.current;!a||!o||a.setGestureOptions(s,o,r??{})},[e,t]);return P.useEffect(()=>{const s=e.current;return s?.addEventListener("gesturestart",J),s?.addEventListener("gesturechange",J),s?.addEventListener("gestureend",J),()=>{s?.removeEventListener("gesturestart",J),s?.removeEventListener("gesturechange",J),s?.removeEventListener("gestureend",J)}},[e]),{instance:{addInteractionListener:n,updateZoomInteractionListeners:i}}};se.params={};se.getInitialState=()=>({});const Yn=[Qt,Jt,Dt,wt,se,Tt],jn=["apiRef"],Bn=e=>{let{plugins:t}=e,n=c._objectWithoutPropertiesLoose(e.props,jn);const i={};t.forEach(o=>{Object.assign(i,o.params)});const s={};return Object.keys(n).forEach(o=>{const a=n[o];i[o]&&(s[o]=a)}),t.reduce((o,a)=>a.getDefaultizedParams?a.getDefaultizedParams({params:o}):o,s)};let ve=0;function Vn(e,t,n){const i=c.useId(),s=P.useMemo(()=>[...Yn,...e],[e]),r=Bn({plugins:s,props:t});r.id=r.id??i;const a=P.useRef({}).current,l=Un(t.apiRef),u=P.useRef(null),d=P.useRef(null),h=P.useRef(null);if(h.current==null){ve+=1;const f={cacheKey:{id:ve}};s.forEach(g=>{g.getInitialState&&Object.assign(f,g.getInitialState(r,f,n))}),h.current=new B.Store(f)}const p=f=>{const g=f({instance:a,params:r,plugins:s,store:h.current,svgRef:d,chartRootRef:u,seriesConfig:n});g.publicAPI&&Object.assign(l.current,g.publicAPI),g.instance&&Object.assign(a,g.instance)};return s.forEach(p),{contextValue:P.useMemo(()=>({store:h.current,publicAPI:l.current,instance:a,svgRef:d,chartRootRef:u}),[a,l])}}function qn(e){return e.current==null&&(e.current={}),e}function Un(e){const t=P.useRef({});return e?qn(e):t}function Wn(e){const{componentName:t,propName:n,controlled:i,defaultValue:s,warningPrefix:r="MUI X"}=e,[{initialDefaultValue:o,isControlled:a}]=P.useState({initialDefaultValue:s,isControlled:i!==void 0});a!==(i!==void 0)&&c.warnOnce([`${r}: A component is changing the ${a?"":"un"}controlled ${n} state of ${t} to be ${a?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${n} element for the lifetime of the component.`,"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.","More info: https://fb.me/react-controlled-components"],"error"),JSON.stringify(o)!==JSON.stringify(s)&&c.warnOnce([`${r}: A component is changing the default ${n} state of an uncontrolled ${t} after being initialized. To suppress this warning opt to use a controlled ${t}.`],"error")}const re=process.env.NODE_ENV==="production"?()=>{}:Wn;function Le(e,t){const n={top:0,bottom:0,none:0};return(e&&e.length>0?e:[{id:Te,scaleType:"linear"}]).map((r,o)=>{const a=r.dataKey,l=o===0?"bottom":"none",u=r.position??l,d=An+(r.label?we:0),h=r.id??`defaultized-x-axis-${o}`,p=c._extends({offset:n[u]},r,{id:h,position:u,height:r.height??d,zoom:v.defaultizeZoom(r.zoom,h,"x",r.reverse)});if(u!=="none"&&(n[u]+=p.height,p.zoom?.slider.enabled&&(n[u]+=p.zoom.slider.size)),a===void 0||r.data!==void 0)return p;if(t===void 0)throw new Error("MUI X Charts: x-axis uses `dataKey` but no `dataset` is provided.");return c._extends({},p,{data:t.map(m=>m[a])})})}function ze(e,t){const n={right:0,left:0,none:0};return(e&&e.length>0?e:[{id:De,scaleType:"linear"}]).map((r,o)=>{const a=r.dataKey,l=o===0?"left":"none",u=r.position??l,d=Sn+(r.label?we:0),h=r.id??`defaultized-y-axis-${o}`,p=c._extends({offset:n[u]},r,{id:h,position:u,width:r.width??d,zoom:v.defaultizeZoom(r.zoom,h,"y",r.reverse)});if(u!=="none"&&(n[u]+=p.width,p.zoom?.slider.enabled&&(n[u]+=p.zoom.slider.size)),a===void 0||r.data!==void 0)return p;if(t===void 0)throw new Error("MUI X Charts: y-axis uses `dataKey` but no `dataset` is provided.");return c._extends({},p,{data:t.map(m=>m[a])})})}function Q(e){return e instanceof Date?e.getTime():e}function tt(e,t){const{scale:n,data:i,reverse:s}=e;if(!v.isOrdinalScale(n)){const o=n.invert(t);if(i===void 0)return-1;const a=Q(o);return i?.findIndex((u,d)=>{const h=Q(u);return h>a&&(d===0||Math.abs(a-h)<=Math.abs(a-Q(i[d-1])))||h<=a&&(d===i.length-1||Math.abs(Q(o)-h)<Math.abs(Q(o)-Q(i[d+1])))})}const r=n.bandwidth()===0?Math.floor((t-Math.min(...n.range())+n.step()/2)/n.step()):Math.floor((t-Math.min(...n.range()))/n.step());return r<0||r>=i.length?-1:s?i.length-1-r:r}function Ce(e,t,n,i){if(!v.isOrdinalScale(e)){if(i===null){const s=e.invert(n);return Number.isNaN(s)?null:s}return t[i]}return i===null||i<0||i>=t.length?null:t[i]}function et(e,t){const n=e.createSVGPoint();return n.x=t.clientX,n.y=t.clientY,n.matrixTransform(e.getScreenCTM().inverse())}const lt=({store:e})=>{const t=c.useEventCallback(function(){e.update({interaction:c._extends({},e.state.interaction,{pointer:null})})}),n=c.useEventCallback(function(a){e.state.interaction.lastUpdate!==a&&e.set("interaction",c._extends({},e.state.interaction,{lastUpdate:a}))}),i=c.useEventCallback(function(a){e.set("interaction",c._extends({},e.state.interaction,{pointer:a,lastUpdate:a!==null?"pointer":e.state.interaction.lastUpdate}))}),s=c.useEventCallback(function(a){e.set("interaction",c._extends({},e.state.interaction,{pointerType:a.pointerType}))}),r=c.useEventCallback(function(){e.set("interaction",c._extends({},e.state.interaction,{pointerType:null}))});return{instance:{cleanInteraction:t,setLastUpdateSource:n,setPointerCoordinate:i,handlePointerEnter:s,handlePointerLeave:r}}};lt.getInitialState=()=>({interaction:{item:null,pointer:null,lastUpdate:"pointer",pointerType:null}});lt.params={};const kt=e=>e.interaction,Zn=A.createSelector(kt,e=>e!==void 0),Re=A.createSelector(kt,e=>e?.pointer??null),ct=A.createSelector(Re,e=>e&&e.x),ut=A.createSelector(Re,e=>e&&e.y),Jn=A.createSelector(kt,e=>e?.lastUpdate),Qn=A.createSelector(kt,e=>e?.pointerType??null);function Ut(e,t,n=t.axisIds[0]){return Array.isArray(n)?n.map(i=>tt(t.axis[i],e)):tt(t.axis[n],e)}const He=(e,t,n)=>{if(e===null)return null;const i=Ut(e,t,n);return i===-1?null:i},Ne=A.createSelector(ct,v.selectorChartXAxis,He),_e=A.createSelector(ut,v.selectorChartYAxis,He),ti=A.createSelector(ct,ut,v.selectorChartXAxis,v.selectorChartYAxis,(e,t,n,i)=>[...e===null?[]:n.axisIds.map(s=>({axisId:s,dataIndex:Ut(e,n,s)})),...t===null?[]:i.axisIds.map(s=>({axisId:s,dataIndex:Ut(t,i,s)}))].filter(s=>s.dataIndex!==null&&s.dataIndex>=0));function Xe(e,t,n,i=t.axisIds[0]){return Array.isArray(i)?i.map((s,r)=>{const o=t.axis[s];return Ce(o.scale,o.data,e,n[r])}):Ce(t.axis[i].scale,t.axis[i].data,e,n)}const ei=A.createSelector(ct,v.selectorChartXAxis,Ne,(e,t,n,i)=>e===null||t.axisIds.length===0?null:Xe(e,t,n,i)),ni=A.createSelector(ut,v.selectorChartYAxis,_e,(e,t,n,i)=>e===null||t.axisIds.length===0?null:Xe(e,t,n,i)),Ke=[],$e=A.createSelectorMemoizedWithOptions({memoizeOptions:{resultEqualityCheck:B.isDeepEqual}})(ct,v.selectorChartXAxis,(e,t)=>e===null?Ke:t.axisIds.filter(n=>t.axis[n].triggerTooltip).map(n=>({axisId:n,dataIndex:tt(t.axis[n],e)})).filter(({dataIndex:n})=>n>=0)),Fe=A.createSelectorMemoizedWithOptions({memoizeOptions:{resultEqualityCheck:B.isDeepEqual}})(ut,v.selectorChartYAxis,(e,t)=>e===null?Ke:t.axisIds.filter(n=>t.axis[n].triggerTooltip).map(n=>({axisId:n,dataIndex:tt(t.axis[n],e)})).filter(({dataIndex:n})=>n>=0)),ii=A.createSelector($e,Fe,(e,t)=>e.length>0||t.length>0);function si(e){return e.setPointerCoordinate!==void 0}const ri=new Set(["bar","rangeBar","line"]),st=({params:e,store:t,seriesConfig:n,svgRef:i,instance:s})=>{const{xAxis:r,yAxis:o,dataset:a,onHighlightedAxisChange:l}=e;if(process.env.NODE_ENV!=="production"){const C=[...r??[],...o??[]].filter(b=>b.id).map(b=>b.id),I=new Set(C.filter((b,T)=>C.indexOf(b)!==T));I.size>0&&c.warnOnce([`MUI X Charts: The following axis ids are duplicated: ${Array.from(I).join(", ")}.`,"Please make sure that each axis has a unique id."].join(`
|
|
3
|
-
`),"error")}const u=t.use(v.selectorChartDrawingArea),d=t.use(v.selectorChartSeriesProcessed),h=t.use(Zn),{axis:p,axisIds:m}=t.use(v.selectorChartXAxis),{axis:f,axisIds:g}=t.use(v.selectorChartYAxis);re({warningPrefix:"MUI X Charts",componentName:"Chart",propName:"highlightedAxis",controlled:e.highlightedAxis,defaultValue:void 0}),c.useEnhancedEffect(()=>{e.highlightedAxis!==void 0&&t.set("controlledCartesianAxisHighlight",e.highlightedAxis)},[t,e.highlightedAxis]);const y=P.useRef(!0);P.useEffect(()=>{if(y.current){y.current=!1;return}t.set("cartesianAxis",{x:Le(r,a),y:ze(o,a)})},[n,u,r,o,a,t]);const x=m[0],E=g[0];B.useStoreEffect(t,ti,(C,I)=>{if(l&&!Object.is(C,I)){if(C.length!==I.length){l(I);return}C?.some(({axisId:b,dataIndex:T},D)=>I[D].axisId!==b||I[D].dataIndex!==T)&&l(I)}});const S=si(s);return P.useEffect(()=>{const C=i.current;if(!h||!S||!C||e.disableAxisListener)return()=>{};const I=s.addInteractionListener("moveEnd",k=>{k.detail.activeGestures.pan||s.cleanInteraction()}),b=s.addInteractionListener("panEnd",k=>{k.detail.activeGestures.move||s.cleanInteraction()}),T=s.addInteractionListener("quickPressEnd",k=>{!k.detail.activeGestures.move&&!k.detail.activeGestures.pan&&s.cleanInteraction()}),D=k=>{const G=k.detail.srcEvent,w=k.detail.target,O=et(C,G);if(k.detail.srcEvent.buttons>=1&&w?.hasPointerCapture(k.detail.srcEvent.pointerId)&&!w?.closest("[data-charts-zoom-slider]")&&w?.releasePointerCapture(k.detail.srcEvent.pointerId),!s.isPointInside(O.x,O.y,w)){s.cleanInteraction?.();return}s.setPointerCoordinate(O)},M=s.addInteractionListener("move",D),K=s.addInteractionListener("pan",D),$=s.addInteractionListener("quickPress",D);return()=>{M.cleanup(),I.cleanup(),K.cleanup(),b.cleanup(),$.cleanup(),T.cleanup()}},[i,t,p,x,f,E,s,e.disableAxisListener,h,S]),P.useEffect(()=>{const C=i.current,I=e.onAxisClick;if(C===null||!I)return()=>{};const b=s.addInteractionListener("tap",T=>{let D=null,M=!1;const K=et(C,T.detail.srcEvent),$=tt(p[x],K.x);M=$!==-1,D=M?$:tt(f[E],K.y);const k=M?m[0]:g[0];if(D==null||D===-1)return;const G=(M?p:f)[k].data[D],w={};Object.keys(d).filter(O=>ri.has(O)).forEach(O=>{const L=d[O];L?.seriesOrder.forEach(N=>{const F=L.series[N],W=F.xAxisId,Z=F.yAxisId,V=M?W:Z;(V===void 0||V===k)&&(w[N]=F.data[D])})}),I(T.detail.srcEvent,{dataIndex:D,axisValue:G,seriesValues:w})});return()=>{b.cleanup()}},[e.onAxisClick,d,i,p,m,f,g,x,E,s]),{}};st.params={xAxis:!0,yAxis:!0,dataset:!0,onAxisClick:!0,disableAxisListener:!0,onHighlightedAxisChange:!0,highlightedAxis:!0};st.getDefaultizedParams=({params:e})=>c._extends({},e,{colors:e.colors??Oe,theme:e.theme??"light",defaultizedXAxis:Le(e.xAxis,e.dataset),defaultizedYAxis:ze(e.yAxis,e.dataset)});st.getInitialState=e=>c._extends({cartesianAxis:{x:e.defaultizedXAxis,y:e.defaultizedYAxis}},e.highlightedAxis===void 0?{}:{controlledCartesianAxisHighlight:e.highlightedAxis});const dt=e=>e.keyboardNavigation,oi=A.createSelector(dt,(e,t)=>e?.item!=null&&B.fastObjectShallowCompare(e.item,t)),Ye=A.createSelector(dt,e=>e?.item!=null),oe=A.createSelector(dt,e=>e?.item??null),ai=A.createSelector(dt,e=>!!e?.enableKeyboardNavigation),je=e=>(t,n,i)=>{if(t==null||!("dataIndex"in t)||t.dataIndex===void 0)return;const s=i[t.type]?.series[t.seriesId];if(!s)return;let r=e==="x"?"xAxisId"in s&&s.xAxisId:"yAxisId"in s&&s.yAxisId;return(r===void 0||r===!1)&&(r=n.axisIds[0]),{axisId:r,dataIndex:t.dataIndex}},li=A.createSelector(oe,v.selectorChartXAxis,v.selectorChartSeriesProcessed,je("x")),ci=A.createSelector(oe,v.selectorChartYAxis,v.selectorChartSeriesProcessed,je("y")),ui=A.createSelector(dt,function(t){if(t?.item==null)return null;const{type:n,seriesId:i}=t.item;return n===void 0||i===void 0?null:t.item}),_=e=>e.brush;A.createSelector(_,e=>e?.start);A.createSelector(_,e=>e?.current);const di=A.createSelector(_,e=>e?.start?.x??null),hi=A.createSelector(_,e=>e?.start?.y??null),pi=A.createSelector(_,e=>e?.current?.x??null),fi=A.createSelector(_,e=>e?.current?.y??null);A.createSelectorMemoized(di,hi,pi,fi,(e,t,n,i)=>e===null||t===null||n===null||i===null?null:{start:{x:e,y:t},current:{x:n,y:i}});const mi=A.createSelector(v.selectorChartSeriesProcessed,e=>{let t=!1,n=!1;return e&&Object.entries(e).forEach(([i,s])=>{Object.values(s.series).some(r=>r.layout==="horizontal")&&(t=!0),i==="scatter"&&s.seriesOrder.length>0&&(n=!0)}),n?"xy":t?"y":"x"}),gi=A.createSelector(v.selectorChartZoomOptionsLookup,function(t){let n=!1,i=!1;return Object.values(t).forEach(s=>{s.axisDirection==="y"&&(i=!0),s.axisDirection==="x"&&(n=!0)}),n&&i?"xy":i?"y":n?"x":null});A.createSelector(mi,gi,(e,t)=>t??e);const Be=A.createSelector(_,e=>e?.enabled||e?.isZoomBrushEnabled),Ve=A.createSelector(Be,_,(e,t)=>e&&t?.start!==null&&t?.current!==null),xi=A.createSelector(_,Ve,(e,t)=>t&&e?.preventHighlight),yi=A.createSelector(_,Ve,(e,t)=>t&&e?.preventTooltip),ht=({store:e,svgRef:t,instance:n,params:i})=>{const s=e.use(Be);c.useEnhancedEffect(()=>{e.set("brush",c._extends({},e.state.brush,{enabled:i.brushConfig.enabled,preventTooltip:i.brushConfig.preventTooltip,preventHighlight:i.brushConfig.preventHighlight}))},[e,i.brushConfig.enabled,i.brushConfig.preventTooltip,i.brushConfig.preventHighlight]);const r=c.useEventCallback(function(u){e.set("brush",c._extends({},e.state.brush,{start:e.state.brush.start??u,current:u}))}),o=c.useEventCallback(function(){e.set("brush",c._extends({},e.state.brush,{start:null,current:null}))}),a=c.useEventCallback(function(u){e.state.brush.isZoomBrushEnabled!==u&&e.set("brush",c._extends({},e.state.brush,{isZoomBrushEnabled:u}))});return P.useEffect(()=>{const l=t.current;if(l===null||!s)return()=>{};const u=g=>{if(g.detail.target?.closest("[data-charts-zoom-slider]"))return;const y=et(l,{clientX:g.detail.initialCentroid.x,clientY:g.detail.initialCentroid.y});r(y)},d=g=>{const y=et(l,{clientX:g.detail.centroid.x,clientY:g.detail.centroid.y});r(y)},h=n.addInteractionListener("brushStart",u),p=n.addInteractionListener("brush",d),m=n.addInteractionListener("brushCancel",o),f=n.addInteractionListener("brushEnd",o);return()=>{h.cleanup(),p.cleanup(),f.cleanup(),m.cleanup()}},[t,n,e,o,r,s]),{instance:{setBrushCoordinates:r,clearBrush:o,setZoomBrushEnabled:a}}};ht.params={brushConfig:!0};ht.getDefaultizedParams=({params:e})=>c._extends({},e,{brushConfig:{enabled:e?.brushConfig?.enabled??!1,preventTooltip:e?.brushConfig?.preventTooltip??!0,preventHighlight:e?.brushConfig?.preventHighlight??!0}});ht.getInitialState=e=>({brush:{enabled:e.brushConfig.enabled,isZoomBrushEnabled:!1,preventTooltip:e.brushConfig.preventTooltip,preventHighlight:e.brushConfig.preventHighlight,start:null,current:null}});const pt=({store:e,params:t})=>{re({warningPrefix:"MUI X Charts",componentName:"Chart",propName:"tooltipItem",controlled:t.tooltipItem,defaultValue:null}),c.useEnhancedEffect(()=>{e.state.tooltip.item!==t.tooltipItem&&e.set("tooltip",c._extends({},e.state.tooltip,{item:t.tooltipItem}))},[e,t.tooltipItem]);const n=c.useEventCallback(function(r){const o=e.state.tooltip.item;if(o!==null&&(!r||B.fastObjectShallowCompare(o,r))){t.onTooltipItemChange?.(null),e.state.tooltip.itemIsControlled||e.set("tooltip",c._extends({},e.state.tooltip,{item:null}));return}});return{instance:{setTooltipItem:c.useEventCallback(function(r){B.fastObjectShallowCompare(e.state.tooltip.item,r)||(t.onTooltipItemChange?.(r),e.state.tooltip.itemIsControlled||e.set("tooltip",c._extends({},e.state.tooltip,{item:r})))}),removeTooltipItem:n}}};pt.getInitialState=e=>({tooltip:{itemIsControlled:e.tooltipItem!==void 0,item:e.tooltipItem??null}});pt.params={tooltipItem:!0,onTooltipItemChange:!0};const Gt=({params:e,store:t,svgRef:n})=>{const i=c.useEventCallback(function(){t.state.keyboardNavigation.item!==null&&t.set("keyboardNavigation",c._extends({},t.state.keyboardNavigation,{item:null}))});return P.useEffect(()=>{const s=n.current;if(!s||!e.enableKeyboardNavigation)return;function r(o){let a=t.state.keyboardNavigation.item,l=a?.type;if(!l&&(l=Object.keys(v.selectorChartDefaultizedSeries(t.state)).find(d=>t.state.series.seriesConfig[d]!==void 0),l===void 0))return;const u=t.state.series.seriesConfig[l]?.keyboardFocusHandler?.(o);u&&(a=u(a,t.state),a!==t.state.keyboardNavigation.item&&(o.preventDefault(),t.update(c._extends({},t.state.highlight&&{highlight:c._extends({},t.state.highlight,{lastUpdate:"keyboard"})},t.state.interaction&&{interaction:c._extends({},t.state.interaction,{lastUpdate:"keyboard"})},{keyboardNavigation:c._extends({},t.state.keyboardNavigation,{item:a})}))))}return s.addEventListener("keydown",r),s.addEventListener("blur",i),()=>{s.removeEventListener("keydown",r),s.removeEventListener("blur",i)}},[n,i,e.enableKeyboardNavigation,t]),c.useEnhancedEffect(()=>{t.state.keyboardNavigation.enableKeyboardNavigation!==e.enableKeyboardNavigation&&t.set("keyboardNavigation",c._extends({},t.state.keyboardNavigation,{enableKeyboardNavigation:!!e.enableKeyboardNavigation}))},[t,e.enableKeyboardNavigation]),{}};Gt.getInitialState=e=>({keyboardNavigation:{item:null,enableKeyboardNavigation:!!e.enableKeyboardNavigation}});Gt.params={enableKeyboardNavigation:!0};function Ee(e,t){return e.id!==void 0?e:c._extends({id:t},e)}function Ie(e){return e.colorMap?c._extends({},e,{colorScale:e.colorMap.type==="ordinal"&&e.data?v.getOrdinalColorScale(c._extends({values:e.data},e.colorMap)):v.getColorScale(e.colorMap.type==="continuous"?c._extends({min:e.min,max:e.max},e.colorMap):e.colorMap)}):e}function qe(e,t){if(!e||e.length===0)return{axis:{},axisIds:[]};const n={},i=[];return e.forEach((s,r)=>{const o=s.dataKey,a=s.id??`defaultized-z-axis-${r}`;if(o===void 0||s.data!==void 0){n[a]=Ie(Ee(s,a)),i.push(a);return}if(t===void 0)throw new Error("MUI X Charts: z-axis uses `dataKey` but no `dataset` is provided.");n[a]=Ie(Ee(c._extends({},s,{data:t.map(l=>l[o])}),a)),i.push(a)}),{axis:n,axisIds:i}}const ft=({params:e,store:t})=>{const{zAxis:n,dataset:i}=e,s=P.useRef(!0);return P.useEffect(()=>{if(s.current){s.current=!1;return}t.set("zAxis",qe(n,i))},[n,i,t]),{}};ft.params={zAxis:!0,dataset:!0};ft.getInitialState=e=>({zAxis:qe(e.zAxis,e.dataset)});const vi=e=>e,Ci=A.createSelector(vi,e=>e.zAxis),mt=({store:e,params:t})=>{re({warningPrefix:"MUI X Charts",componentName:"Chart",propName:"highlightedItem",controlled:t.highlightedItem,defaultValue:null}),c.useEnhancedEffect(()=>{e.state.highlight.item!==t.highlightedItem&&e.set("highlight",c._extends({},e.state.highlight,{item:t.highlightedItem})),process.env.NODE_ENV!=="production"&&t.highlightedItem!==void 0&&!e.state.highlight.isControlled&&c.warnOnce(["MUI X Charts: The `highlightedItem` switched between controlled and uncontrolled state.","To remove the highlight when using controlled state, you must provide `null` to the `highlightedItem` prop instead of `undefined`."].join(`
|
|
4
|
-
`))},[e,t.highlightedItem]);const n=c.useEventCallback(()=>{t.onHighlightChange?.(null);const s=e.state.highlight;s.item===null||s.isControlled||e.set("highlight",{item:null,lastUpdate:"pointer",isControlled:!1})}),i=c.useEventCallback(s=>{const r=e.state.highlight;B.fastObjectShallowCompare(r.item,s)||(t.onHighlightChange?.(s),!r.isControlled&&e.set("highlight",{item:s,lastUpdate:"pointer",isControlled:!1}))});return{instance:{clearHighlight:n,setHighlight:i}}};mt.getInitialState=e=>({highlight:{item:e.highlightedItem,lastUpdate:"pointer",isControlled:e.highlightedItem!==void 0}});mt.params={highlightedItem:!0,onHighlightChange:!0};function at(e){let t=1/0,n=-1/0;for(const i of e??[])i<t&&(t=i),i>n&&(n=i);return[t,n]}const be=(e,t)=>t==="x"?{x:e,y:null}:{x:null,y:e},Ue=e=>{const{axis:t,getFilters:n,isDefaultAxis:i}=e,s=n?.({currentAxisId:t.id,isDefaultAxis:i}),r=s?t.data?.filter((o,a)=>s({x:null,y:null},a)):t.data;return at(r??[])},We=e=>t=>{const{series:n,axis:i,getFilters:s,isDefaultAxis:r}=t;return Object.keys(n).filter(o=>{const a=e==="x"?n[o].xAxisId:n[o].yAxisId;return a===i.id||r&&a===void 0}).reduce((o,a)=>{const{stackedData:l}=n[a],u=s?.({currentAxisId:i.id,isDefaultAxis:r,seriesXAxisId:n[a].xAxisId,seriesYAxisId:n[a].yAxisId}),[d,h]=l?.reduce((p,m,f)=>u&&(!u(be(m[0],e),f)||!u(be(m[1],e),f))?p:[Math.min(...m,p[0]),Math.max(...m,p[1])],[1/0,-1/0])??[1/0,-1/0];return[Math.min(d,o[0]),Math.max(h,o[1])]},[1/0,-1/0])},Ei=e=>Object.keys(e.series).some(n=>e.series[n].layout==="horizontal")?We("x")(e):Ue(e),Ii=e=>Object.keys(e.series).some(n=>e.series[n].layout==="horizontal")?Ue(e):We("y")(e);function z(e){return function(){return e}}const bi=Math.abs,Pi=Math.atan2,Si=Math.cos,Ai=Math.max,Ti=Math.min,Di=Math.sin,wi=Math.sqrt,Mi=1e-12,Lt=Math.PI,Wt=Lt/2,bt=2*Lt;function Oi(e){return e>1?0:e<-1?Lt:Math.acos(e)}function ki(e){return e>=1?Wt:e<=-1?-Wt:Math.asin(e)}function ae(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Gi(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function Li(e){return e}function zi(){var e=Li,t=Gi,n=null,i=z(0),s=z(bt),r=z(0);function o(a){var l,u=(a=ae(a)).length,d,h,p=0,m=new Array(u),f=new Array(u),g=+i.apply(this,arguments),y=Math.min(bt,Math.max(-bt,s.apply(this,arguments)-g)),x,E=Math.min(Math.abs(y)/u,r.apply(this,arguments)),S=E*(y<0?-1:1),C;for(l=0;l<u;++l)(C=f[m[l]=l]=+e(a[l],l,a))>0&&(p+=C);for(t!=null?m.sort(function(I,b){return t(f[I],f[b])}):n!=null&&m.sort(function(I,b){return n(a[I],a[b])}),l=0,h=p?(y-u*S)/p:0;l<u;++l,g=x)d=m[l],C=f[d],x=g+(C>0?C*h:0)+S,f[d]={data:a[d],index:l,value:C,startAngle:g,endAngle:x,padAngle:E};return f}return o.value=function(a){return arguments.length?(e=typeof a=="function"?a:z(+a),o):e},o.sortValues=function(a){return arguments.length?(t=a,n=null,o):t},o.sort=function(a){return arguments.length?(n=a,t=null,o):n},o.startAngle=function(a){return arguments.length?(i=typeof a=="function"?a:z(+a),o):i},o.endAngle=function(a){return arguments.length?(s=typeof a=="function"?a:z(+a),o):s},o.padAngle=function(a){return arguments.length?(r=typeof a=="function"?a:z(+a),o):r},o}function nt(e,t){if((o=e.length)>1)for(var n=1,i,s,r=e[t[0]],o,a=r.length;n<o;++n)for(s=r,r=e[t[n]],i=0;i<a;++i)r[i][1]+=r[i][0]=isNaN(s[i][1])?s[i][0]:s[i][1]}function it(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function Ri(e,t){return e[t]}function Hi(e){const t=[];return t.key=e,t}function St(){var e=z([]),t=it,n=nt,i=Ri;function s(r){var o=Array.from(e.apply(this,arguments),Hi),a,l=o.length,u=-1,d;for(const h of r)for(a=0,++u;a<l;++a)(o[a][u]=[0,+i(h,o[a].key,u,r)]).data=h;for(a=0,d=ae(t(o));a<l;++a)o[d[a]].index=a;return n(o,d),o}return s.keys=function(r){return arguments.length?(e=typeof r=="function"?r:z(Array.from(r)),s):e},s.value=function(r){return arguments.length?(i=typeof r=="function"?r:z(+r),s):i},s.order=function(r){return arguments.length?(t=r==null?it:typeof r=="function"?r:z(Array.from(r)),s):t},s.offset=function(r){return arguments.length?(n=r??nt,s):n},s}function Ni(e,t){if((i=e.length)>0){for(var n,i,s=0,r=e[0].length,o;s<r;++s){for(o=n=0;n<i;++n)o+=e[n][s][1]||0;if(o)for(n=0;n<i;++n)e[n][s][1]/=o}nt(e,t)}}function _i(e,t){if((s=e.length)>0){for(var n=0,i=e[t[0]],s,r=i.length;n<r;++n){for(var o=0,a=0;o<s;++o)a+=e[o][n][1]||0;i[n][1]+=i[n][0]=-a/2}nt(e,t)}}function Xi(e,t){if(!(!((o=e.length)>0)||!((r=(s=e[t[0]]).length)>0))){for(var n=0,i=1,s,r,o;i<r;++i){for(var a=0,l=0,u=0;a<o;++a){for(var d=e[t[a]],h=d[i][1]||0,p=d[i-1][1]||0,m=(h-p)/2,f=0;f<a;++f){var g=e[t[f]],y=g[i][1]||0,x=g[i-1][1]||0;m+=y-x}l+=h,u+=m*h}s[i-1][1]+=s[i-1][0]=n,l&&(n-=u/l)}s[i-1][1]+=s[i-1][0]=n,nt(e,t)}}function Ze(e){var t=e.map(Ki);return it(e).sort(function(n,i){return t[n]-t[i]})}function Ki(e){for(var t=-1,n=0,i=e.length,s,r=-1/0;++t<i;)(s=+e[t][1])>r&&(r=s,n=t);return n}function Je(e){var t=e.map(Qe);return it(e).sort(function(n,i){return t[n]-t[i]})}function Qe(e){for(var t=0,n=-1,i=e.length,s;++n<i;)(s=+e[n][1])&&(t+=s);return t}function $i(e){return Je(e).reverse()}function Fi(e){var t=e.length,n,i,s=e.map(Qe),r=Ze(e),o=0,a=0,l=[],u=[];for(n=0;n<t;++n)i=r[n],o<a?(o+=s[i],l.push(i)):(a+=s[i],u.push(i));return u.reverse().concat(l)}function Yi(e){return it(e).reverse()}function ji(e,t){if(e.length===0)return;const n=e.length,i=t,s=e[i[0]].length;for(let r=0;r<s;r+=1){let o=0,a=0;for(let l=0;l<n;l+=1){const u=e[i[l]],d=u[r],h=d[1]-d[0];h>0?(d[0]=o,o+=h,d[1]=o):h<0?(d[1]=a,a+=h,d[0]=a):d.data[u.key]>0?(d[0]=o,d[1]=o):d.data[u.key]<0?(d[1]=a,d[0]=a):(d[0]=0,d[1]=0)}}}const Bt={appearance:Ze,ascending:Je,descending:$i,insideOut:Fi,none:it,reverse:Yi},Vt={expand:Ni,diverging:ji,none:nt,silhouette:_i,wiggle:Xi},tn=e=>{const{series:t,seriesOrder:n,defaultStrategy:i}=e,s=[],r={};return n.forEach(o=>{const{stack:a,stackOrder:l,stackOffset:u}=t[o];a===void 0?s.push({ids:[o],stackingOrder:Bt.none,stackingOffset:Vt.none}):r[a]===void 0?(r[a]=s.length,s.push({ids:[o],stackingOrder:Bt[l??i?.stackOrder??"none"],stackingOffset:Vt[u??i?.stackOffset??"diverging"]})):(s[r[a]].ids.push(o),l!==void 0&&(s[r[a]].stackingOrder=Bt[l]),u!==void 0&&(s[r[a]].stackingOffset=Vt[u]))}),s},Bi=e=>e==null?"":e.toLocaleString(),Vi=(e,t,n)=>{const{seriesOrder:i,series:s}=e,r=tn(e),o=t??[];i.forEach(l=>{const u=s[l].data;if(u!==void 0)u.forEach((d,h)=>{o.length<=h?o.push({[l]:d}):o[h][l]=d});else if(t===void 0)throw new Error([`MUI X Charts: bar series with id='${l}' has no data.`,"Either provide a data property to the series or use the dataset prop."].join(`
|
|
5
|
-
`));if(process.env.NODE_ENV!=="production"&&!u&&t){const d=s[l].dataKey;if(!d)throw new Error([`MUI X Charts: bar series with id='${l}' has no data and no dataKey.`,"You must provide a dataKey when using the dataset prop."].join(`
|
|
6
|
-
`));t.forEach((h,p)=>{const m=h[d];m!=null&&typeof m!="number"&&c.warnOnce([`MUI X Charts: your dataset key "${d}" is used for plotting bars, but the dataset contains the non-null non-numerical element "${m}" at index ${p}.`,"Bar plots only support numeric and null values."].join(`
|
|
7
|
-
`))})}});const a={};return r.forEach(l=>{const{ids:u,stackingOffset:d,stackingOrder:h}=l,p=u.map(x=>{const E=s[x].dataKey;return s[x].data===void 0&&E!==void 0?E:x}),m=St().keys(p).value((x,E)=>x[E]??0).order(h).offset(d)(o),f=m.map(x=>x.index),g=()=>f,y=St().keys(p).value((x,E)=>{const S=p.indexOf(E),C=u[S];return n?.({type:"bar",seriesId:C})?x[E]??0:0}).order(g).offset(d)(o);u.forEach((x,E)=>{const S=s[x].dataKey,C=S?t.map(b=>{const T=b[S];return typeof T=="number"?T:null}):s[x].data,I=!n?.({type:"bar",seriesId:x});a[x]=c._extends({layout:"vertical",labelMarkType:"square",minBarSize:0,valueFormatter:s[x].valueFormatter??Bi},s[x],{data:C,hidden:I,stackedData:m[E],visibleStackedData:y[E]})})}),{seriesOrder:i,stackingGroups:r,series:a}};function X(e,t){return typeof e=="function"?e(t):e}const qi=e=>{const{seriesOrder:t,series:n}=e;return t.reduce((i,s)=>{const r=X(n[s].label,"legend");return r===void 0||i.push({type:"bar",markType:n[s].labelMarkType,id:s,seriesId:s,color:n[s].color,label:r}),i},[])};function le(e){return e.colorGetter?e.colorGetter:()=>e.color}const en=(e,t,n)=>{const i=e.layout==="vertical",s=i?t?.colorScale:n?.colorScale,r=i?n?.colorScale:t?.colorScale,o=i?t?.data:n?.data,a=le(e);return r?l=>{if(l===void 0)return e.color;const u=e.data[l],d=u===null?a({value:u,dataIndex:l}):r(u);return d===null?a({value:u,dataIndex:l}):d}:s&&o?l=>{if(l===void 0)return e.color;const u=o[l],d=u===null?a({value:u,dataIndex:l}):s(u);return d===null?a({value:u,dataIndex:l}):d}:l=>{if(l===void 0)return e.color;const u=e.data[l];return a({value:u,dataIndex:l})}};function nn(e,t){return Object.keys(e).filter(n=>t.has(n)).flatMap(n=>{const i=e[n];return i.seriesOrder.filter(s=>i.series[s].data.length>0&&i.series[s].data.some(r=>r!=null)).map(s=>({type:n,seriesId:s}))})}function sn(e,t,n,i){const s=nn(e,t);if(s.length===0)return null;const r=n!==void 0&&i!==void 0?s.findIndex(o=>o.type===n&&o.seriesId===i):-1;return r<=0?s[s.length-1]:s[(r-1+s.length)%s.length]}function rn(e,t){return Object.keys(e).filter(n=>t.has(n)).flatMap(n=>{const i=e[n];return i.seriesOrder.filter(s=>i.series[s].data.length>0&&i.series[s].data.some(r=>r!=null)).map(s=>i.series[s].data.length)}).reduce((n,i)=>Math.max(n,i),0)}function on(e,t,n,i){const s=nn(e,t);if(s.length===0)return null;const r=n!==void 0&&i!==void 0?s.findIndex(o=>o.type===n&&o.seriesId===i):-1;return s[(r+1)%s.length]}function an(e,t,n){if(t==="sankey")return!1;const i=e[t]?.series[n]?.data;return i!=null&&i.length>0}function zt(e,t=!1){return function(i,s){const r=v.selectorChartSeriesProcessed(s);let o=i?.seriesId,a=i?.type;if(!a||o==null||!an(r,a,o)){const d=on(r,e,a,o);if(d===null)return null;a=d.type,o=d.seriesId}const l=rn(r,e);let u=i?.dataIndex==null?0:i.dataIndex+1;return t?u=u%l:u=Math.min(l-1,u),{type:a,seriesId:o,dataIndex:u}}}function Rt(e,t=!1){return function(i,s){const r=v.selectorChartSeriesProcessed(s);let o=i?.seriesId,a=i?.type;if(!a||o==null||!an(r,a,o)){const d=sn(r,e,a,o);if(d===null)return null;a=d.type,o=d.seriesId}const l=rn(r,e);let u=i?.dataIndex==null?l-1:i.dataIndex-1;return t?u=(l+u)%l:u=Math.max(0,u),{type:a,seriesId:o,dataIndex:u}}}function Ht(e){return function(n,i){const s=v.selectorChartSeriesProcessed(i);let r=n?.seriesId,o=n?.type;const a=on(s,e,o,r);if(a===null)return null;o=a.type,r=a.seriesId;const l=n?.dataIndex==null?0:n.dataIndex;return{type:o,seriesId:r,dataIndex:l}}}function Nt(e){return function(n,i){const s=v.selectorChartSeriesProcessed(i);let r=n?.seriesId,o=n?.type;const a=sn(s,e,o,r);if(a===null)return null;o=a.type,r=a.seriesId;const l=s[o].series[r].data,u=n?.dataIndex==null?l.length-1:n.dataIndex;return{type:o,seriesId:r,dataIndex:u}}}const vt=new Set(["bar","line","scatter"]),Ui=e=>{switch(e.key){case"ArrowRight":return zt(vt);case"ArrowLeft":return Rt(vt);case"ArrowDown":return Nt(vt);case"ArrowUp":return Ht(vt);default:return null}},Wi=e=>{const{series:t,getColor:n,identifier:i}=e;if(!i||i.dataIndex===void 0)return null;const s=X(t.label,"tooltip"),r=t.data[i.dataIndex];if(r==null)return null;const o=t.valueFormatter(r,{dataIndex:i.dataIndex});return{identifier:i,color:n(i.dataIndex),label:s,value:r,formattedValue:o,markType:t.labelMarkType}},Zi=e=>Object.values(e).map(t=>t.layout==="horizontal"?{direction:"y",axisId:t.yAxisId}:{direction:"x",axisId:t.xAxisId});function ln(e,t,n){if(n===0)return{barWidth:e/t,offset:0};const i=e/(t+(t-1)*n),s=n*i;return{barWidth:i,offset:s}}function Ji(e,t,n){const i=e&&t>0,s=!e&&t<0,r=i||s;return n?!r:r}function cn(e){const{verticalLayout:t,xAxisConfig:n,yAxisConfig:i,series:s,dataIndex:r,numberOfGroups:o,groupIndex:a}=e,l=t?n:i,u=(t?i.reverse:n.reverse)??!1,{barWidth:d,offset:h}=ln(l.scale.bandwidth(),o,l.barGapRatio),p=a*(d+h),m=n.scale,f=i.scale,g=l.data[r],y=s.data[r];if(y==null)return null;const E=s.visibleStackedData[r].map(D=>t?f(D):m(D)),[S,C]=at(E).map(D=>Math.round(D));let I=0;y!==0&&(s.hidden||(I=Math.max(s.minBarSize,C-S)));const b=Ji(t,y,u);let T=0;return b?T=C-I:T=S,{x:t?m(g)+p:T,y:t?T:f(g)+p,height:t?I:d,width:t?d:I}}const Qi=e=>{const{series:t,identifier:n,axesConfig:i,placement:s}=e;if(!n||n.dataIndex===void 0)return null;const r=t.bar?.series[n.seriesId];if(t.bar==null||r==null||i.x===void 0||i.y===void 0)return null;const o=cn({verticalLayout:r.layout==="vertical",xAxisConfig:i.x,yAxisConfig:i.y,series:r,dataIndex:n.dataIndex,numberOfGroups:t.bar.stackingGroups.length,groupIndex:t.bar.stackingGroups.findIndex(h=>h.ids.includes(r.id))});if(o==null)return null;const{x:a,y:l,width:u,height:d}=o;switch(s){case"right":return{x:a+u,y:l+d/2};case"bottom":return{x:a+u/2,y:l+d};case"left":return{x:a,y:l+d/2};default:return{x:a+u/2,y:l}}};function ts(e,t,n){return c._extends({},e,{id:e.id??`auto-generated-id-${t}`,color:e.color??n[t%n.length]})}const es=e=>`Type(${e})`,ns=e=>`Series(${e})`,is=e=>e===void 0?"":`Index(${e})`,_t=e=>`${es(e.type)}${ns(e.seriesId)}${is(e.dataIndex)}`,ss={seriesProcessor:Vi,colorProcessor:en,legendGetter:qi,tooltipGetter:Wi,tooltipItemPositionGetter:Qi,axisTooltipGetter:Zi,xExtremumGetter:Ei,yExtremumGetter:Ii,getSeriesWithDefaultValues:ts,keyboardFocusHandler:Ui,identifierSerializer:_t},rs=e=>{const{series:t,axis:n,isDefaultAxis:i,getFilters:s}=e;let r=1/0,o=-1/0;for(const a in t){if(!Object.hasOwn(t,a))continue;const l=t[a].xAxisId;if(!(l===n.id||l===void 0&&i))continue;const u=s?.({currentAxisId:n.id,isDefaultAxis:i,seriesXAxisId:t[a].xAxisId,seriesYAxisId:t[a].yAxisId}),d=t[a].data??[];for(let h=0;h<d.length;h+=1){const p=d[h];u&&!u(p,h)||p.x!==null&&(p.x<r&&(r=p.x),p.x>o&&(o=p.x))}}return[r,o]},os=e=>{const{series:t,axis:n,isDefaultAxis:i,getFilters:s}=e;let r=1/0,o=-1/0;for(const a in t){if(!Object.hasOwn(t,a))continue;const l=t[a].yAxisId;if(!(l===n.id||l===void 0&&i))continue;const u=s?.({currentAxisId:n.id,isDefaultAxis:i,seriesXAxisId:t[a].xAxisId,seriesYAxisId:t[a].yAxisId}),d=t[a].data??[];for(let h=0;h<d.length;h+=1){const p=d[h];u&&!u(p,h)||p.y!==null&&(p.y<r&&(r=p.y),p.y>o&&(o=p.y))}}return[r,o]},as=({series:e,seriesOrder:t},n,i)=>({series:Object.fromEntries(Object.entries(e).map(([r,o])=>{const a=o?.datasetKeys,l=["x","y"].filter(d=>typeof a?.[d]!="string");if(o?.datasetKeys&&l.length>0)throw new Error([`MUI X Charts: scatter series with id='${r}' has incomplete datasetKeys.`,`Properties ${l.map(d=>`"${d}"`).join(", ")} are missing.`].join(`
|
|
8
|
-
`));const u=a?n?.map(d=>({x:d[a.x]??null,y:d[a.y]??null,z:a.z&&d[a.z],id:a.id&&d[a.id]}))??[]:o.data??[];return[r,c._extends({labelMarkType:"circle",markerSize:4},o,{preview:c._extends({markerSize:1},o?.preview),data:u,hidden:!i?.({type:"scatter",seriesId:r}),valueFormatter:o.valueFormatter??(d=>d&&`(${d.x}, ${d.y})`)})]})),seriesOrder:t}),ls=(e,t,n,i)=>{const s=i?.colorScale,r=n?.colorScale,o=t?.colorScale,a=le(e);return s?l=>{if(l===void 0)return e.color;if(i?.data?.[l]!==void 0){const h=s(i?.data?.[l]);if(h!==null)return h}const u=e.data[l],d=u===null?a({value:u,dataIndex:l}):s(u.z);return d===null?a({value:u,dataIndex:l}):d}:r?l=>{if(l===void 0)return e.color;const u=e.data[l],d=u===null?a({value:u,dataIndex:l}):r(u.y);return d===null?a({value:u,dataIndex:l}):d}:o?l=>{if(l===void 0)return e.color;const u=e.data[l],d=u===null?a({value:u,dataIndex:l}):o(u.x);return d===null?a({value:u,dataIndex:l}):d}:l=>{if(l===void 0)return e.color;const u=e.data[l];return a({value:u,dataIndex:l})}},cs=e=>{const{seriesOrder:t,series:n}=e;return t.reduce((i,s)=>{const r=X(n[s].label,"legend");return r===void 0||i.push({type:"scatter",markType:n[s].labelMarkType,id:s,seriesId:s,color:n[s].color,label:r}),i},[])},us=e=>{const{series:t,getColor:n,identifier:i}=e;if(!i||i.dataIndex===void 0)return null;const s=X(t.label,"tooltip"),r=t.data[i.dataIndex],o=t.valueFormatter(r,{dataIndex:i.dataIndex});return{identifier:i,color:n(i.dataIndex),label:s,value:r,formattedValue:o,markType:t.labelMarkType}},ds=(e,t,n)=>c._extends({},e,{id:e.id??`auto-generated-id-${t}`,color:e.color??n[t%n.length]}),hs=e=>{const{series:t,identifier:n,axesConfig:i}=e;if(!n||n.dataIndex===void 0)return null;const s=t.scatter?.series[n.seriesId];if(s==null||i.x===void 0||i.y===void 0)return null;const r=s.data?.[n.dataIndex].x,o=s.data?.[n.dataIndex].y;return r==null||o==null?null:{x:i.x.scale(r),y:i.y.scale(o)}},Ct=new Set(["bar","line","scatter"]),ps=e=>{switch(e.key){case"ArrowRight":return zt(Ct);case"ArrowLeft":return Rt(Ct);case"ArrowDown":return Nt(Ct);case"ArrowUp":return Ht(Ct);default:return null}},fs={seriesProcessor:as,colorProcessor:ls,legendGetter:cs,tooltipGetter:us,tooltipItemPositionGetter:hs,xExtremumGetter:rs,yExtremumGetter:os,getSeriesWithDefaultValues:ds,keyboardFocusHandler:ps,identifierSerializer:_t},ms=e=>{const{axis:t}=e;return at(t.data??[])};function gs(e,t,n,i){return n.reduce((s,r,o)=>{if(t[o]===null)return s;const[a,l]=e(r);return i&&(!i({y:a,x:null},o)||!i({y:l,x:null},o))?s:[Math.min(a,l,s[0]),Math.max(a,l,s[1])]},[1/0,-1/0])}const xs=e=>{const{series:t,axis:n,isDefaultAxis:i,getFilters:s}=e;return Object.keys(t).filter(r=>{const o=t[r].yAxisId;return o===n.id||i&&o===void 0}).reduce((r,o)=>{const{area:a,stackedData:l,data:u}=t[o],d=a!==void 0,h=s?.({currentAxisId:n.id,isDefaultAxis:i,seriesXAxisId:t[o].xAxisId,seriesYAxisId:t[o].yAxisId}),p=d&&n.scaleType!=="log"&&typeof t[o].baseline!="string"?y=>y:y=>[y[1],y[1]],m=gs(p,u,l,h),[f,g]=m;return[Math.min(f,r[0]),Math.max(g,r[1])]},[1/0,-1/0])},ys=e=>e==null?"":e.toLocaleString(),vs=(e,t,n)=>{const{seriesOrder:i,series:s}=e,r=tn(c._extends({},e,{defaultStrategy:{stackOffset:"none"}})),o=t??[];i.forEach(l=>{const u=s[l].data;if(u!==void 0)u.forEach((d,h)=>{o.length<=h?o.push({[l]:d}):o[h][l]=d});else if(t===void 0&&process.env.NODE_ENV!=="production")throw new Error([`MUI X Charts: line series with id='${l}' has no data.`,"Either provide a data property to the series or use the dataset prop."].join(`
|
|
9
|
-
`));if(process.env.NODE_ENV!=="production"&&!u&&t){const d=s[l].dataKey;if(!d)throw new Error([`MUI X Charts: line series with id='${l}' has no data and no dataKey.`,"You must provide a dataKey when using the dataset prop."].join(`
|
|
10
|
-
`));t.forEach((h,p)=>{const m=h[d];m!=null&&typeof m!="number"&&c.warnOnce([`MUI X Charts: your dataset key "${d}" is used for plotting lines, but the dataset contains the non-null non-numerical element "${m}" at index ${p}.`,"Line plots only support numeric and null values."].join(`
|
|
11
|
-
`))})}});const a={};return r.forEach(l=>{const{ids:u,stackingOffset:d,stackingOrder:h}=l,p=u.map(x=>{const E=s[x].dataKey;return s[x].data===void 0&&E!==void 0?E:x}),m=St().keys(p).value((x,E)=>x[E]??0).order(h).offset(d)(o),f=m.map(x=>x.index),g=()=>f,y=St().keys(p).value((x,E)=>{const S=p.indexOf(E),C=u[S];return n?.({type:"line",seriesId:C})?x[E]??0:0}).order(g).offset(d)(o);u.forEach((x,E)=>{const S=s[x].dataKey,C=S?t.map(b=>{const T=b[S];return typeof T=="number"?T:null}):s[x].data,I=!n?.({type:"line",seriesId:x});a[x]=c._extends({labelMarkType:"line"},s[x],{data:C,valueFormatter:s[x].valueFormatter??ys,hidden:I,stackedData:m[E],visibleStackedData:y[E]})})}),{seriesOrder:i,stackingGroups:r,series:a}},un=(e,t,n)=>{const i=n?.colorScale,s=t?.colorScale,r=le(e);return i?o=>{if(o===void 0)return e.color;const a=e.data[o],l=a===null?r({value:a,dataIndex:o}):i(a);return l===null?r({value:a,dataIndex:o}):l}:s?o=>{if(o===void 0)return e.color;const a=t.data?.[o],l=a===null?r({value:a,dataIndex:o}):s(a);return l===null?r({value:a,dataIndex:o}):l}:o=>{if(o===void 0)return e.color;const a=e.data[o];return r({value:a,dataIndex:o})}},Cs=e=>{const{seriesOrder:t,series:n}=e;return t.reduce((i,s)=>{const r=X(n[s].label,"legend");return r===void 0||i.push({type:"line",markType:n[s].labelMarkType,id:s,seriesId:s,color:n[s].color,label:r}),i},[])},Es=e=>{const{series:t,getColor:n,identifier:i}=e;if(!i||i.dataIndex===void 0)return null;const s=X(t.label,"tooltip"),r=t.data[i.dataIndex],o=t.valueFormatter(r,{dataIndex:i.dataIndex});return{identifier:i,color:n(i.dataIndex),label:s,value:r,formattedValue:o,markType:t.labelMarkType}},Is=e=>Object.values(e).map(t=>({direction:"x",axisId:t.xAxisId})),bs=(e,t,n)=>c._extends({},e,{id:e.id??`auto-generated-id-${t}`,color:e.color??n[t%n.length]}),Ps=e=>{const{series:t,identifier:n,axesConfig:i}=e;if(!n||n.dataIndex===void 0)return null;const s=t.line?.series[n.seriesId];if(s==null||i.x===void 0||i.y===void 0)return null;const r=i.x.data?.[n.dataIndex],o=s.data[n.dataIndex]==null?null:s.visibleStackedData[n.dataIndex][1];return r==null||o==null?null:{x:i.x.scale(r),y:i.y.scale(o)}},Et=new Set(["bar","line","scatter"]),Ss=e=>{switch(e.key){case"ArrowRight":return zt(Et);case"ArrowLeft":return Rt(Et);case"ArrowDown":return Nt(Et);case"ArrowUp":return Ht(Et);default:return null}},As={colorProcessor:un,seriesProcessor:vs,legendGetter:Cs,tooltipGetter:Es,tooltipItemPositionGetter:Ps,axisTooltipGetter:Is,xExtremumGetter:ms,yExtremumGetter:xs,getSeriesWithDefaultValues:bs,keyboardFocusHandler:Ss,identifierSerializer:_t},Ts=(e="none")=>{if(typeof e=="function")return e;switch(e){case"none":return null;case"desc":return(t,n)=>n-t;case"asc":return(t,n)=>t-n;default:return null}},Ds=(e,t,n)=>{const{seriesOrder:i,series:s}=e,r={};return i.forEach(o=>{const a=s[o].data.filter((d,h)=>n?.({type:"pie",seriesId:o,dataIndex:h})),l=zi().startAngle(v.deg2rad(s[o].startAngle??0)).endAngle(v.deg2rad(s[o].endAngle??360)).padAngle(v.deg2rad(s[o].paddingAngle??0)).sortValues(Ts(s[o].sortingValues??"none"))(a.map(d=>d.value));let u=0;r[o]=c._extends({labelMarkType:"circle",valueFormatter:d=>d.value.toLocaleString()},s[o],{data:s[o].data.map((d,h)=>{const p=d.id??`auto-generated-pie-id-${o}-${h}`,m=!n?.({type:"pie",seriesId:o,dataIndex:h});let f;if(m){const y=u>0?l[u-1].endAngle:v.deg2rad(s[o].startAngle??0);f={startAngle:y,endAngle:y,padAngle:0,value:d.value,index:h}}else f=l[u],u+=1;const g=c._extends({},d,{id:p,hidden:m},f);return c._extends({labelMarkType:"circle"},g,{formattedValue:s[o].valueFormatter?.(c._extends({},g,{label:X(g.label,"arc")}),{dataIndex:h})??g.value.toLocaleString()})})})}),{seriesOrder:i,series:r}},ws=e=>t=>e.data[t].color,Ms=e=>{const{seriesOrder:t,series:n}=e;return t.reduce((i,s)=>(n[s].data.forEach((r,o)=>{const a=X(r.label,"legend");if(a===void 0)return;const l=r.id??o;i.push({type:"pie",markType:r.labelMarkType??n[s].labelMarkType,seriesId:s,id:l,itemId:l,dataIndex:o,color:r.color,label:a})}),i),[])},Os=e=>{const{series:t,getColor:n,identifier:i}=e;if(!i||i.dataIndex===void 0)return null;const s=t.data[i.dataIndex];if(s==null)return null;const r=X(s.label,"tooltip"),o=c._extends({},s,{label:r}),a=t.valueFormatter(o,{dataIndex:i.dataIndex});return{identifier:i,color:n(i.dataIndex),label:r,value:o,formattedValue:a,markType:s.labelMarkType??t.labelMarkType}};function rt(e,t){if(typeof e=="number")return e;if(e==="100%")return t;if(e.endsWith("%")){const n=Number.parseFloat(e.slice(0,e.length-1));if(!Number.isNaN(n))return n*t/100}if(e.endsWith("px")){const n=Number.parseFloat(e.slice(0,e.length-2));if(!Number.isNaN(n))return n}throw new Error(`MUI X Charts: Received an unknown value "${e}". It should be a number, or a string with a percentage value.`)}function dn(e,t){const{height:n,width:i}=t,{cx:s,cy:r}=e,o=Math.min(i,n)/2,a=rt(s??"50%",i),l=rt(r??"50%",n);return{cx:a,cy:l,availableRadius:o}}const ks=(e,t)=>{const n={};for(const i of e.seriesOrder){const{innerRadius:s,outerRadius:r,arcLabelRadius:o,cx:a,cy:l}=e.series[i],{cx:u,cy:d,availableRadius:h}=dn({cx:a,cy:l},{width:t.width,height:t.height}),p=rt(r??h,h),m=rt(s??0,h),f=o===void 0?(m+p)/2:rt(o,h);n[i]={radius:{available:h,inner:m,outer:p,label:f},center:{x:t.left+u,y:t.top+d}}}return n},Gs=(e,t,n)=>c._extends({},e,{id:e.id??`auto-generated-id-${t}`,data:e.data.map((i,s)=>c._extends({},i,{color:i.color??n[s%n.length]}))}),Ls=e=>{const{series:t,identifier:n,placement:i,seriesLayout:s}=e;if(!n||n.dataIndex===void 0)return null;const r=t.pie?.series[n.seriesId],o=s.pie?.[n.seriesId];if(r==null||o==null)return null;const{center:a,radius:l}=o,{data:u}=r,d=u[n.dataIndex];if(!d)return null;const h=[[l.inner,d.startAngle],[l.inner,d.endAngle],[l.outer,d.startAngle],[l.outer,d.endAngle]].map(([y,x])=>({x:a.x+y*Math.sin(x),y:a.y-y*Math.cos(x)})),[p,m]=at(h.map(y=>y.x)),[f,g]=at(h.map(y=>y.y));switch(i){case"bottom":return{x:(m+p)/2,y:g};case"left":return{x:p,y:(g+f)/2};case"right":return{x:m,y:(g+f)/2};default:return{x:(m+p)/2,y:f}}},It=new Set(["pie"]),zs=e=>{switch(e.key){case"ArrowRight":return zt(It);case"ArrowLeft":return Rt(It);case"ArrowDown":return Nt(It);case"ArrowUp":return Ht(It);default:return null}},Rs={colorProcessor:ws,seriesProcessor:Ds,seriesLayout:ks,legendGetter:Ms,tooltipGetter:Os,tooltipItemPositionGetter:Ls,getSeriesWithDefaultValues:Gs,keyboardFocusHandler:zs,identifierSerializer:_t},Hs={bar:ss,scatter:fs,line:As,pie:Rs},Ns=[ft,pt,lt,st,mt];function _s(e){const{children:t,plugins:n=Ns,pluginParams:i={},seriesConfig:s=Hs}=e,{contextValue:r}=Vn(n,i,s);return c.jsxRuntimeExports.jsx(v.ChartContext.Provider,{value:r,children:t})}function ce(){return v.useStore().use(Mn)}function hn(){const e=v.useStore(),{axis:t,axisIds:n}=e.use(Ci)??{axis:{},axisIds:[]};return{zAxis:t,zAxisIds:n}}function pn(){const e=v.useChartContext();if(!e)throw new Error(["MUI X Charts: Could not find the svg ref context.","It looks like you rendered your component outside of a ChartContainer parent component."].join(`
|
|
12
|
-
`));return e.svgRef}function fn(){const e=ce();return P.useCallback(t=>`${e}-gradient-${t}`,[e])}function Xs(){const e=ce();return P.useCallback(t=>`${e}-gradient-${t}-object-bound`,[e])}const Ks={"image/png":"PNG","image/jpeg":"JPEG","image/webp":"WebP"},$s=e=>({components:{MuiChartsLocalizationProvider:{defaultProps:{localeText:c._extends({},e)}}}}),mn={loading:"Loading data…",noData:"No data to display",zoomIn:"Zoom in",zoomOut:"Zoom out",toolbarExport:"Export",toolbarExportPrint:"Print",toolbarExportImage:e=>`Export as ${Ks[e]??e}`,chartTypeBar:"Bar",chartTypeColumn:"Column",chartTypeLine:"Line",chartTypeArea:"Area",chartTypePie:"Pie",chartPaletteLabel:"Color palette",chartPaletteNameRainbowSurge:"Rainbow Surge",chartPaletteNameBlueberryTwilight:"Blueberry Twilight",chartPaletteNameMangoFusion:"Mango Fusion",chartPaletteNameCheerfulFiesta:"Cheerful Fiesta",chartPaletteNameStrawberrySky:"Strawberry Sky",chartPaletteNameBlue:"Blue",chartPaletteNameGreen:"Green",chartPaletteNamePurple:"Purple",chartPaletteNameRed:"Red",chartPaletteNameOrange:"Orange",chartPaletteNameYellow:"Yellow",chartPaletteNameCyan:"Cyan",chartPaletteNamePink:"Pink",chartConfigurationSectionChart:"Chart",chartConfigurationSectionColumns:"Columns",chartConfigurationSectionBars:"Bars",chartConfigurationSectionAxes:"Axes",chartConfigurationGrid:"Grid",chartConfigurationBorderRadius:"Border radius",chartConfigurationCategoryGapRatio:"Category gap ratio",chartConfigurationBarGapRatio:"Series gap ratio",chartConfigurationStacked:"Stacked",chartConfigurationShowToolbar:"Show toolbar",chartConfigurationSkipAnimation:"Skip animation",chartConfigurationInnerRadius:"Inner radius",chartConfigurationOuterRadius:"Outer radius",chartConfigurationColors:"Colors",chartConfigurationHideLegend:"Hide legend",chartConfigurationShowMark:"Show mark",chartConfigurationHeight:"Height",chartConfigurationWidth:"Width",chartConfigurationSeriesGap:"Series gap",chartConfigurationTickPlacement:"Tick placement",chartConfigurationTickLabelPlacement:"Tick label placement",chartConfigurationCategoriesAxisLabel:"Categories axis label",chartConfigurationSeriesAxisLabel:"Series axis label",chartConfigurationXAxisPosition:"X-axis position",chartConfigurationYAxisPosition:"Y-axis position",chartConfigurationSeriesAxisReverse:"Reverse series axis",chartConfigurationTooltipPlacement:"Placement",chartConfigurationTooltipTrigger:"Trigger",chartConfigurationLegendPosition:"Position",chartConfigurationLegendDirection:"Direction",chartConfigurationBarLabels:"Bar labels",chartConfigurationColumnLabels:"Column labels",chartConfigurationInterpolation:"Interpolation",chartConfigurationSectionTooltip:"Tooltip",chartConfigurationSectionLegend:"Legend",chartConfigurationSectionLines:"Lines",chartConfigurationSectionAreas:"Areas",chartConfigurationSectionArcs:"Arcs",chartConfigurationPaddingAngle:"Padding angle",chartConfigurationCornerRadius:"Corner radius",chartConfigurationArcLabels:"Arc labels",chartConfigurationStartAngle:"Start angle",chartConfigurationEndAngle:"End angle",chartConfigurationPieTooltipTrigger:"Trigger",chartConfigurationPieLegendPosition:"Position",chartConfigurationPieLegendDirection:"Direction",chartConfigurationOptionNone:"None",chartConfigurationOptionValue:"Value",chartConfigurationOptionAuto:"Auto",chartConfigurationOptionTop:"Top",chartConfigurationOptionTopLeft:"Top Left",chartConfigurationOptionTopRight:"Top Right",chartConfigurationOptionBottom:"Bottom",chartConfigurationOptionBottomLeft:"Bottom Left",chartConfigurationOptionBottomRight:"Bottom Right",chartConfigurationOptionLeft:"Left",chartConfigurationOptionRight:"Right",chartConfigurationOptionAxis:"Axis",chartConfigurationOptionItem:"Item",chartConfigurationOptionHorizontal:"Horizontal",chartConfigurationOptionVertical:"Vertical",chartConfigurationOptionBoth:"Both",chartConfigurationOptionStart:"Start",chartConfigurationOptionMiddle:"Middle",chartConfigurationOptionEnd:"End",chartConfigurationOptionExtremities:"Extremities",chartConfigurationOptionTick:"Tick",chartConfigurationOptionMonotoneX:"Monotone X",chartConfigurationOptionMonotoneY:"Monotone Y",chartConfigurationOptionCatmullRom:"Catmull-Rom",chartConfigurationOptionLinear:"Linear",chartConfigurationOptionNatural:"Natural",chartConfigurationOptionStep:"Step",chartConfigurationOptionStepBefore:"Step Before",chartConfigurationOptionStepAfter:"Step After",chartConfigurationOptionBumpX:"Bump X",chartConfigurationOptionBumpY:"Bump Y"},Fs=mn;$s(mn);const Ys=["localeText"],At=P.createContext(null);process.env.NODE_ENV!=="production"&&(At.displayName="ChartsLocalizationContext");function gn(e){const{localeText:t}=e,n=c._objectWithoutPropertiesLoose(e,Ys),{localeText:i}=P.useContext(At)??{localeText:void 0},s=c.useThemeProps({props:n,name:"MuiChartsLocalizationProvider"}),{children:r,localeText:o}=s,a=P.useMemo(()=>c._extends({},Fs,o,i,t),[o,i,t]),l=P.useMemo(()=>({localeText:a}),[a]);return c.jsxRuntimeExports.jsx(At.Provider,{value:l,children:r})}process.env.NODE_ENV!=="production"&&(gn.propTypes={children:c.PropTypes.node,localeText:c.PropTypes.object});const js={baseButton:c.Button,baseIconButton:c.IconButton},Bs={},Vs=c._extends({},js,Bs),xn=P.createContext(null);process.env.NODE_ENV!=="production"&&(xn.displayName="ChartsSlotsContext");function qs(e){const{slots:t,slotProps:n={},defaultSlots:i,children:s}=e,r=P.useMemo(()=>({slots:c._extends({},i,t),slotProps:n}),[i,t,n]);return c.jsxRuntimeExports.jsx(xn.Provider,{value:r,children:s})}function Us(e,t,n,i,s,r,o,a,l,u,d=1/0,h=1){const p=n.copy(),m=i.copy();p.range([0,1]),m.range([0,1]);const f=function(T){const D=p(t[T].x),M=m(t[T].y);return D>=s&&D<=r&&M>=o&&M<=a},g=n.range()[1]-n.range()[0],y=i.range()[1]-i.range()[0],x=g*g,E=y*y;function S(b,T){return x*b*b+E*T*T}const C=p(Pe(n,l,b=>t[b]?.x)),I=m(Pe(i,u,b=>t[b]?.y));return e.neighbors(C,I,h,d!=null?d*d:1/0,f,S)}function Pe(e,t,n){if(v.isOrdinalScale(e)){const i=e.bandwidth()===0?Math.floor((t-Math.min(...e.range())+e.step()/2)/e.step()):Math.floor((t-Math.min(...e.range()))/e.step());return n(i)}return e.invert(t)}const Xt=({svgRef:e,params:t,store:n,instance:i})=>{const{disableVoronoi:s,voronoiMaxRadius:r,onItemClick:o}=t,{axis:a,axisIds:l}=n.use(v.selectorChartXAxis),{axis:u,axisIds:d}=n.use(v.selectorChartYAxis),h=n.use(v.selectorChartZoomIsInteracting),{series:p,seriesOrder:m}=n.use(v.selectorChartSeriesProcessed)?.scatter??{},f=n.use(h?v.selectorChartSeriesEmptyFlatbushMap:v.selectorChartSeriesFlatbushMap),g=l[0],y=d[0];c.useEnhancedEffect(()=>{n.set("voronoi",{isVoronoiEnabled:!s})},[n,s]),P.useEffect(()=>{if(e.current===null||s)return;const S=e.current;function C(G){const w=et(S,G);if(!i.isPointInside(w.x,w.y))return"outside-chart";let O;for(const L of m??[]){const N=(p??{})[L],F=f.get(L);if(!F)continue;const W=N.xAxisId??g,Z=N.yAxisId??y,V=v.selectorChartAxisZoomData(n.state,W),gt=v.selectorChartAxisZoomData(n.state,Z),Kt=r==="item"?N.markerSize:r,$t=(V?.start??0)/100,Ft=(V?.end??100)/100,Yt=(gt?.start??0)/100,de=(gt?.end??100)/100,he=a[W].scale,pe=u[Z].scale,jt=Us(F,N.data,he,pe,$t,Ft,Yt,de,w.x,w.y,Kt)[0];if(jt===void 0)continue;const fe=N.data[jt],Cn=he(fe.x),En=pe(fe.y),me=(Cn-w.x)**2+(En-w.y)**2;(O===void 0||me<O.distanceSq)&&(O={dataIndex:jt,seriesId:L,distanceSq:me})}return O===void 0?"no-point-found":{seriesId:O.seriesId,dataIndex:O.dataIndex}}const I=i.addInteractionListener("moveEnd",G=>{G.detail.activeGestures.pan||(i.cleanInteraction?.(),i.clearHighlight?.(),i.removeTooltipItem?.())}),b=i.addInteractionListener("panEnd",G=>{G.detail.activeGestures.move||(i.cleanInteraction?.(),i.clearHighlight?.(),i.removeTooltipItem?.())}),T=i.addInteractionListener("quickPressEnd",G=>{!G.detail.activeGestures.move&&!G.detail.activeGestures.pan&&(i.cleanInteraction?.(),i.clearHighlight?.(),i.removeTooltipItem?.())}),D=G=>{const w=C(G.detail.srcEvent);if(w==="outside-chart"){i.cleanInteraction?.(),i.clearHighlight?.(),i.removeTooltipItem?.();return}if(w==="outside-voronoi-max-radius"||w==="no-point-found"){i.removeTooltipItem?.(),i.clearHighlight?.(),i.removeTooltipItem?.();return}const{seriesId:O,dataIndex:L}=w;i.setTooltipItem?.({type:"scatter",seriesId:O,dataIndex:L}),i.setLastUpdateSource?.("pointer"),i.setHighlight?.({seriesId:O,dataIndex:L})},M=i.addInteractionListener("tap",G=>{const w=C(G.detail.srcEvent);if(typeof w!="string"&&o){const{seriesId:O,dataIndex:L}=w;o(G.detail.srcEvent,{type:"scatter",seriesId:O,dataIndex:L})}}),K=i.addInteractionListener("move",D),$=i.addInteractionListener("pan",D),k=i.addInteractionListener("quickPress",D);return()=>{M.cleanup(),K.cleanup(),I.cleanup(),$.cleanup(),b.cleanup(),k.cleanup(),T.cleanup()}},[e,u,a,r,o,s,i,m,p,f,g,y,n]);const x=c.useEventCallback(()=>{n.set("voronoi",{isVoronoiEnabled:!0})}),E=c.useEventCallback(()=>{n.set("voronoi",{isVoronoiEnabled:!1})});return{instance:{enableVoronoi:x,disableVoronoi:E}}};Xt.getDefaultizedParams=({params:e})=>c._extends({},e,{disableVoronoi:e.disableVoronoi??!e.series.some(t=>t.type==="scatter")});Xt.getInitialState=e=>({voronoi:{isVoronoiEnabled:!e.disableVoronoi}});Xt.params={disableVoronoi:!0,voronoiMaxRadius:!0,onItemClick:!0};const yn=[ft,ht,pt,lt,st,mt,Mt,Xt,Gt],Ws=["children","localeText","plugins","seriesConfig","slots","slotProps"],Zs=e=>{const t=c.useThemeProps({props:e,name:"MuiChartDataProvider"}),{children:n,localeText:i,plugins:s=yn,seriesConfig:r,slots:o,slotProps:a}=t,l=c._objectWithoutPropertiesLoose(t,Ws),u=c.useTheme(),d={plugins:s,seriesConfig:r,pluginParams:c._extends({theme:u.palette.mode},l)};return{children:n,localeText:i,chartProviderProps:d,slots:o,slotProps:a}};function vn(e){const{children:t,localeText:n,chartProviderProps:i,slots:s,slotProps:r}=Zs(e);return c.jsxRuntimeExports.jsx(_s,c._extends({},i,{children:c.jsxRuntimeExports.jsx(gn,{localeText:n,children:c.jsxRuntimeExports.jsx(qs,{slots:s,slotProps:r,defaultSlots:Vs,children:t})})}))}process.env.NODE_ENV!=="production"&&(vn.propTypes={apiRef:c.PropTypes.shape({current:c.PropTypes.any}),colors:c.PropTypes.oneOfType([c.PropTypes.arrayOf(c.PropTypes.string),c.PropTypes.func]),dataset:c.PropTypes.arrayOf(c.PropTypes.object),experimentalFeatures:c.PropTypes.shape({preferStrictDomainInLineCharts:c.PropTypes.bool}),height:c.PropTypes.number,id:c.PropTypes.string,localeText:c.PropTypes.object,margin:c.PropTypes.oneOfType([c.PropTypes.number,c.PropTypes.shape({bottom:c.PropTypes.number,left:c.PropTypes.number,right:c.PropTypes.number,top:c.PropTypes.number})]),series:c.PropTypes.arrayOf(c.PropTypes.object),skipAnimation:c.PropTypes.bool,slotProps:c.PropTypes.object,slots:c.PropTypes.object,theme:c.PropTypes.oneOf(["dark","light"]),width:c.PropTypes.number});function Se(e){const{isReversed:t,gradientId:n,size:i,direction:s,scale:r,colorMap:o}=e;return i<=0?null:c.jsxRuntimeExports.jsx("linearGradient",{id:n,x1:"0",x2:"0",y1:"0",y2:"0",[`${s}${t?1:2}`]:`${i}px`,gradientUnits:"userSpaceOnUse",children:o.thresholds.map((a,l)=>{const u=r(a);if(u===void 0)return null;const d=t?1-u/i:u/i;return Number.isNaN(d)?null:c.jsxRuntimeExports.jsxs(P.Fragment,{children:[c.jsxRuntimeExports.jsx("stop",{offset:d,stopColor:o.colors[l],stopOpacity:1}),c.jsxRuntimeExports.jsx("stop",{offset:d,stopColor:o.colors[l+1],stopOpacity:1})]},a.toString()+l)})})}const Js=10;function Ae(e){const{gradientUnits:t,isReversed:n,gradientId:i,size:s,direction:r,scale:o,colorScale:a,colorMap:l}=e,u=[l.min??0,l.max??100],d=u.map(o).filter(f=>f!==void 0);if(d.length!==2)return null;const h=typeof u[0]=="number"?v.interpolateNumber(u[0],u[1]):v.interpolateDate(u[0],u[1]),p=Math.round((Math.max(...d)-Math.min(...d))/Js),m=`${u[0]}-${u[1]}-`;return c.jsxRuntimeExports.jsx("linearGradient",{id:i,x1:"0",x2:"0",y1:"0",y2:"0",[`${r}${n?1:2}`]:t==="objectBoundingBox"?1:`${s}px`,gradientUnits:t??"userSpaceOnUse",children:Array.from({length:p+1},(f,g)=>{const y=h(g/p);if(y===void 0)return null;const x=o(y);if(x===void 0)return null;const E=n?1-x/s:x/s,S=a(y);return S===null?null:c.jsxRuntimeExports.jsx("stop",{offset:E,stopColor:S,stopOpacity:1},m+g)})})}const Qs=10,tr=e=>e?{x1:"1",x2:"0",y1:"0",y2:"0"}:{x1:"0",x2:"1",y1:"0",y2:"0"};function qt(e){const{isReversed:t,gradientId:n,colorScale:i,colorMap:s}=e,r=[s.min??0,s.max??100],o=typeof r[0]=="number"?v.interpolateNumber(r[0],r[1]):v.interpolateDate(r[0],r[1]),a=Qs,l=`${r[0]}-${r[1]}-`;return c.jsxRuntimeExports.jsx("linearGradient",c._extends({id:n},tr(t),{gradientUnits:"objectBoundingBox",children:Array.from({length:a+1},(u,d)=>{const h=d/a,p=o(h);if(p===void 0)return null;const m=i(p);return m===null?null:c.jsxRuntimeExports.jsx("stop",{offset:h,stopColor:m,stopOpacity:1},l+d)})}))}function er(){const{top:e,height:t,bottom:n,left:i,width:s,right:r}=v.useDrawingArea(),o=e+t+n,a=i+s+r,l=fn(),u=Xs(),{xAxis:d,xAxisIds:h}=v.useXAxes(),{yAxis:p,yAxisIds:m}=v.useYAxes(),{zAxis:f,zAxisIds:g}=hn(),y=m.filter(S=>p[S].colorMap!==void 0),x=h.filter(S=>d[S].colorMap!==void 0),E=g.filter(S=>f[S].colorMap!==void 0);return y.length===0&&x.length===0&&E.length===0?null:c.jsxRuntimeExports.jsxs("defs",{children:[y.map(S=>{const C=l(S),I=u(S),{colorMap:b,scale:T,colorScale:D,reverse:M}=p[S];return b?.type==="piecewise"?c.jsxRuntimeExports.jsx(Se,{isReversed:!M,scale:T,colorMap:b,size:o,gradientId:C,direction:"y"},C):b?.type==="continuous"?c.jsxRuntimeExports.jsxs(P.Fragment,{children:[c.jsxRuntimeExports.jsx(Ae,{isReversed:!M,scale:T,colorScale:D,colorMap:b,size:o,gradientId:C,direction:"y"}),c.jsxRuntimeExports.jsx(qt,{isReversed:M,colorScale:D,colorMap:b,gradientId:I})]},C):null}),x.map(S=>{const C=l(S),I=u(S),{colorMap:b,scale:T,reverse:D,colorScale:M}=d[S];return b?.type==="piecewise"?c.jsxRuntimeExports.jsx(Se,{isReversed:D,scale:T,colorMap:b,size:a,gradientId:C,direction:"x"},C):b?.type==="continuous"?c.jsxRuntimeExports.jsxs(P.Fragment,{children:[c.jsxRuntimeExports.jsx(Ae,{isReversed:D,scale:T,colorScale:M,colorMap:b,size:a,gradientId:C,direction:"x"}),c.jsxRuntimeExports.jsx(qt,{isReversed:D,colorScale:M,colorMap:b,gradientId:I})]},C):null}),E.map(S=>{const C=u(S),{colorMap:I,colorScale:b}=f[S];return I?.type==="continuous"?c.jsxRuntimeExports.jsx(qt,{colorScale:b,colorMap:I,gradientId:C},C):null})]})}function nr(e){return c.generateUtilityClass("MuiChartsSurface",e)}const ir=()=>{const e={root:["root"]};return c.composeClasses(e,nr)};c.generateUtilityClasses("MuiChartsSurface",["root"]);const sr=["children","className","title","desc"],rr=c.styled("svg",{name:"MuiChartsSurface",slot:"Root"})(({ownerState:e})=>({width:e.width??"100%",height:e.height??"100%",display:"flex",position:"relative",flexDirection:"column",alignItems:"center",justifyContent:"center",overflow:"hidden",touchAction:"pan-y",userSelect:"none",gridArea:"chart","&:focus":{outline:"none"}})),ue=P.forwardRef(function(t,n){const{store:i,instance:s}=v.useChartContext(),r=i.use(v.selectorChartSvgWidth),o=i.use(v.selectorChartSvgHeight),a=i.use(v.selectorChartPropsWidth),l=i.use(v.selectorChartPropsHeight),u=i.use(ai),d=i.use(Ye),h=pn(),p=c.useForkRef(h,n),m=c.useThemeProps({props:t,name:"MuiChartsSurface"}),{children:f,className:g,title:y,desc:x}=m,E=c._objectWithoutPropertiesLoose(m,sr),S=ir(),C=o>0&&r>0;return c.jsxRuntimeExports.jsxs(rr,c._extends({ownerState:{width:a,height:l},viewBox:`0 0 ${r} ${o}`,className:c.clsx(S.root,g),tabIndex:u?0:void 0,"data-has-focused-item":d||void 0},E,{onPointerEnter:I=>{E.onPointerEnter?.(I),s.handlePointerEnter?.(I)},onPointerLeave:I=>{E.onPointerLeave?.(I),s.handlePointerLeave?.(I)},onClick:I=>{E.onClick?.(I),s.handleClick?.(I)},ref:p,children:[y&&c.jsxRuntimeExports.jsx("title",{children:y}),x&&c.jsxRuntimeExports.jsx("desc",{children:x}),c.jsxRuntimeExports.jsx(er,{}),C&&f]}))});process.env.NODE_ENV!=="production"&&(ue.displayName="ChartsSurface");process.env.NODE_ENV!=="production"&&(ue.propTypes={children:c.PropTypes.node,className:c.PropTypes.string,desc:c.PropTypes.string,sx:c.PropTypes.oneOfType([c.PropTypes.arrayOf(c.PropTypes.oneOfType([c.PropTypes.func,c.PropTypes.object,c.PropTypes.bool])),c.PropTypes.func,c.PropTypes.object]),title:c.PropTypes.string});const or=["width","height","margin","children","series","colors","dataset","desc","onAxisClick","highlightedAxis","onHighlightedAxisChange","tooltipItem","onTooltipItemChange","disableVoronoi","voronoiMaxRadius","onItemClick","disableAxisListener","highlightedItem","onHighlightChange","sx","title","xAxis","yAxis","zAxis","rotationAxis","radiusAxis","skipAnimation","seriesConfig","plugins","localeText","slots","slotProps","experimentalFeatures","enableKeyboardNavigation","brushConfig","onHiddenItemsChange","hiddenItems","initialHiddenItems"],ar=(e,t)=>{const n=e,{width:i,height:s,margin:r,children:o,series:a,colors:l,dataset:u,desc:d,onAxisClick:h,highlightedAxis:p,onHighlightedAxisChange:m,tooltipItem:f,onTooltipItemChange:g,disableVoronoi:y,voronoiMaxRadius:x,onItemClick:E,disableAxisListener:S,highlightedItem:C,onHighlightChange:I,sx:b,title:T,xAxis:D,yAxis:M,zAxis:K,rotationAxis:$,radiusAxis:k,skipAnimation:G,seriesConfig:w,plugins:O,localeText:L,slots:N,slotProps:F,experimentalFeatures:W,enableKeyboardNavigation:Z,brushConfig:V,onHiddenItemsChange:gt,hiddenItems:Kt,initialHiddenItems:$t}=n,Ft=c._objectWithoutPropertiesLoose(n,or),Yt=c._extends({title:T,desc:d,sx:b,ref:t},Ft);return{chartDataProviderProps:{margin:r,series:a,colors:l,dataset:u,disableAxisListener:S,highlightedItem:C,onHighlightChange:I,onAxisClick:h,highlightedAxis:p,onHighlightedAxisChange:m,tooltipItem:f,onTooltipItemChange:g,disableVoronoi:y,voronoiMaxRadius:x,onItemClick:E,xAxis:D,yAxis:M,zAxis:K,rotationAxis:$,radiusAxis:k,skipAnimation:G,width:i,height:s,localeText:L,seriesConfig:w,experimentalFeatures:W,enableKeyboardNavigation:Z,brushConfig:V,onHiddenItemsChange:gt,hiddenItems:Kt,initialHiddenItems:$t,plugins:O??yn,slots:N,slotProps:F},chartsSurfaceProps:Yt,children:o}};exports.ChartDataProvider=vn;exports.ChartsLocalizationContext=At;exports.ChartsSurface=ue;exports.DEFAULT_X_AXIS_KEY=Te;exports.DEFAULT_Y_AXIS_KEY=De;exports.abs=bi;exports.acos=Oi;exports.array=ae;exports.asin=ki;exports.atan2=Pi;exports.constant=z;exports.cos=Si;exports.defaultizeMargin=Me;exports.epsilon=Mi;exports.getBandSize=ln;exports.getBarDimensions=cn;exports.getColor=en;exports.getColor$1=un;exports.getLabel=X;exports.getPieCoordinates=dn;exports.getSVGPoint=et;exports.halfPi=Wt;exports.max=Ai;exports.min=Ti;exports.pi=Lt;exports.selectorBrushShouldPreventAxisHighlight=xi;exports.selectorBrushShouldPreventTooltip=yi;exports.selectorChartsFocusedItem=oe;exports.selectorChartsHasFocusedItem=Ye;exports.selectorChartsInteractionAxisTooltip=ii;exports.selectorChartsInteractionPointerX=ct;exports.selectorChartsInteractionPointerY=ut;exports.selectorChartsInteractionTooltipXAxes=$e;exports.selectorChartsInteractionTooltipYAxes=Fe;exports.selectorChartsInteractionXAxisIndex=Ne;exports.selectorChartsInteractionXAxisValue=ei;exports.selectorChartsInteractionYAxisIndex=_e;exports.selectorChartsInteractionYAxisValue=ni;exports.selectorChartsItemIsFocused=oi;exports.selectorChartsKeyboardItem=ui;exports.selectorChartsKeyboardXAxisIndex=li;exports.selectorChartsKeyboardYAxisIndex=ci;exports.selectorChartsLastInteraction=Jn;exports.selectorChartsPointerType=Qn;exports.sin=Di;exports.sqrt=wi;exports.tau=bt;exports.useChartBrush=ht;exports.useChartCartesianAxis=st;exports.useChartContainerProps=ar;exports.useChartGradientIdBuilder=fn;exports.useChartHighlight=mt;exports.useChartId=ce;exports.useChartInteraction=lt;exports.useChartKeyboardNavigation=Gt;exports.useChartTooltip=pt;exports.useChartVisibilityManager=Mt;exports.useChartZAxis=ft;exports.useSvgRef=pn;exports.useZAxes=hn;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const A=require("./useAxis-DSbfEtO7.js"),w=require("./ChartsWrapper-CM7EDyAK.js"),M=Math.PI,g=2*M,u=1e-6,E=g-u;function m(n){this._+=n[0];for(let t=1,i=n.length;t<i;++t)this._+=arguments[t]+n[t]}function I(n){let t=Math.floor(n);if(!(t>=0))throw new Error(`invalid digits: ${n}`);if(t>15)return m;const i=10**t;return function(s){this._+=s[0];for(let h=1,e=s.length;h<e;++h)this._+=Math.round(arguments[h]*i)/i+s[h]}}class P{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?m:I(t)}moveTo(t,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+i}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,i){this._append`L${this._x1=+t},${this._y1=+i}`}quadraticCurveTo(t,i,s,h){this._append`Q${+t},${+i},${this._x1=+s},${this._y1=+h}`}bezierCurveTo(t,i,s,h,e,l){this._append`C${+t},${+i},${+s},${+h},${this._x1=+e},${this._y1=+l}`}arcTo(t,i,s,h,e){if(t=+t,i=+i,s=+s,h=+h,e=+e,e<0)throw new Error(`negative radius: ${e}`);let l=this._x1,d=this._y1,r=s-t,$=h-i,a=l-t,o=d-i,_=a*a+o*o;if(this._x1===null)this._append`M${this._x1=t},${this._y1=i}`;else if(_>u)if(!(Math.abs(o*r-$*a)>u)||!e)this._append`L${this._x1=t},${this._y1=i}`;else{let p=s-l,f=h-d,x=r*r+$*$,q=p*p+f*f,y=Math.sqrt(x),v=Math.sqrt(_),C=e*Math.tan((M-Math.acos((x+_-q)/(2*y*v)))/2),c=C/v,b=C/y;Math.abs(c-1)>u&&this._append`L${t+c*a},${i+c*o}`,this._append`A${e},${e},0,0,${+(o*p>a*f)},${this._x1=t+b*r},${this._y1=i+b*$}`}}arc(t,i,s,h,e,l){if(t=+t,i=+i,s=+s,l=!!l,s<0)throw new Error(`negative radius: ${s}`);let d=s*Math.cos(h),r=s*Math.sin(h),$=t+d,a=i+r,o=1^l,_=l?h-e:e-h;this._x1===null?this._append`M${$},${a}`:(Math.abs(this._x1-$)>u||Math.abs(this._y1-a)>u)&&this._append`L${$},${a}`,s&&(_<0&&(_=_%g+g),_>E?this._append`A${s},${s},0,1,${o},${t-d},${i-r}A${s},${s},0,1,${o},${this._x1=$},${this._y1=a}`:_>u&&this._append`A${s},${s},0,${+(_>=M)},${o},${this._x1=t+s*Math.cos(e)},${this._y1=i+s*Math.sin(e)}`)}rect(t,i,s,h){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+i}h${s=+s}v${+h}h${-s}Z`}toString(){return this._}}function T(n){let t=3;return n.digits=function(i){if(!arguments.length)return t;if(i==null)t=null;else{const s=Math.floor(i);if(!(s>=0))throw new RangeError(`invalid digits: ${i}`);t=s}return n},()=>new P(t)}function H(){const n=A.useStore(),t=n.use(w.selectorChartsIsHighlightedCallback),i=n.use(w.selectorChartsIsFadedCallback);return{isHighlighted:t,isFaded:i}}exports.useItemHighlightedGetter=H;exports.withPath=T;
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { b as E } from "./useAxis-SiNBMMWq.mjs";
|
|
2
|
-
import { s as T, a as A } from "./ChartsWrapper-CO5_Z6BD.mjs";
|
|
3
|
-
const M = Math.PI, g = 2 * M, p = 1e-6, I = g - p;
|
|
4
|
-
function w(n) {
|
|
5
|
-
this._ += n[0];
|
|
6
|
-
for (let t = 1, i = n.length; t < i; ++t)
|
|
7
|
-
this._ += arguments[t] + n[t];
|
|
8
|
-
}
|
|
9
|
-
function L(n) {
|
|
10
|
-
let t = Math.floor(n);
|
|
11
|
-
if (!(t >= 0)) throw new Error(`invalid digits: ${n}`);
|
|
12
|
-
if (t > 15) return w;
|
|
13
|
-
const i = 10 ** t;
|
|
14
|
-
return function(s) {
|
|
15
|
-
this._ += s[0];
|
|
16
|
-
for (let h = 1, e = s.length; h < e; ++h)
|
|
17
|
-
this._ += Math.round(arguments[h] * i) / i + s[h];
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
class P {
|
|
21
|
-
constructor(t) {
|
|
22
|
-
this._x0 = this._y0 = // start of current subpath
|
|
23
|
-
this._x1 = this._y1 = null, this._ = "", this._append = t == null ? w : L(t);
|
|
24
|
-
}
|
|
25
|
-
moveTo(t, i) {
|
|
26
|
-
this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +i}`;
|
|
27
|
-
}
|
|
28
|
-
closePath() {
|
|
29
|
-
this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._append`Z`);
|
|
30
|
-
}
|
|
31
|
-
lineTo(t, i) {
|
|
32
|
-
this._append`L${this._x1 = +t},${this._y1 = +i}`;
|
|
33
|
-
}
|
|
34
|
-
quadraticCurveTo(t, i, s, h) {
|
|
35
|
-
this._append`Q${+t},${+i},${this._x1 = +s},${this._y1 = +h}`;
|
|
36
|
-
}
|
|
37
|
-
bezierCurveTo(t, i, s, h, e, l) {
|
|
38
|
-
this._append`C${+t},${+i},${+s},${+h},${this._x1 = +e},${this._y1 = +l}`;
|
|
39
|
-
}
|
|
40
|
-
arcTo(t, i, s, h, e) {
|
|
41
|
-
if (t = +t, i = +i, s = +s, h = +h, e = +e, e < 0) throw new Error(`negative radius: ${e}`);
|
|
42
|
-
let l = this._x1, u = this._y1, r = s - t, $ = h - i, a = l - t, o = u - i, _ = a * a + o * o;
|
|
43
|
-
if (this._x1 === null)
|
|
44
|
-
this._append`M${this._x1 = t},${this._y1 = i}`;
|
|
45
|
-
else if (_ > p) if (!(Math.abs(o * r - $ * a) > p) || !e)
|
|
46
|
-
this._append`L${this._x1 = t},${this._y1 = i}`;
|
|
47
|
-
else {
|
|
48
|
-
let d = s - l, f = h - u, x = r * r + $ * $, C = d * d + f * f, y = Math.sqrt(x), m = Math.sqrt(_), b = e * Math.tan((M - Math.acos((x + _ - C) / (2 * y * m))) / 2), c = b / m, v = b / y;
|
|
49
|
-
Math.abs(c - 1) > p && this._append`L${t + c * a},${i + c * o}`, this._append`A${e},${e},0,0,${+(o * d > a * f)},${this._x1 = t + v * r},${this._y1 = i + v * $}`;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
arc(t, i, s, h, e, l) {
|
|
53
|
-
if (t = +t, i = +i, s = +s, l = !!l, s < 0) throw new Error(`negative radius: ${s}`);
|
|
54
|
-
let u = s * Math.cos(h), r = s * Math.sin(h), $ = t + u, a = i + r, o = 1 ^ l, _ = l ? h - e : e - h;
|
|
55
|
-
this._x1 === null ? this._append`M${$},${a}` : (Math.abs(this._x1 - $) > p || Math.abs(this._y1 - a) > p) && this._append`L${$},${a}`, s && (_ < 0 && (_ = _ % g + g), _ > I ? this._append`A${s},${s},0,1,${o},${t - u},${i - r}A${s},${s},0,1,${o},${this._x1 = $},${this._y1 = a}` : _ > p && this._append`A${s},${s},0,${+(_ >= M)},${o},${this._x1 = t + s * Math.cos(e)},${this._y1 = i + s * Math.sin(e)}`);
|
|
56
|
-
}
|
|
57
|
-
rect(t, i, s, h) {
|
|
58
|
-
this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +i}h${s = +s}v${+h}h${-s}Z`;
|
|
59
|
-
}
|
|
60
|
-
toString() {
|
|
61
|
-
return this._;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function H(n) {
|
|
65
|
-
let t = 3;
|
|
66
|
-
return n.digits = function(i) {
|
|
67
|
-
if (!arguments.length) return t;
|
|
68
|
-
if (i == null)
|
|
69
|
-
t = null;
|
|
70
|
-
else {
|
|
71
|
-
const s = Math.floor(i);
|
|
72
|
-
if (!(s >= 0)) throw new RangeError(`invalid digits: ${i}`);
|
|
73
|
-
t = s;
|
|
74
|
-
}
|
|
75
|
-
return n;
|
|
76
|
-
}, () => new P(t);
|
|
77
|
-
}
|
|
78
|
-
function F() {
|
|
79
|
-
const n = E(), t = n.use(T), i = n.use(A);
|
|
80
|
-
return {
|
|
81
|
-
isHighlighted: t,
|
|
82
|
-
isFaded: i
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
export {
|
|
86
|
-
F as u,
|
|
87
|
-
H as w
|
|
88
|
-
};
|