UNPKG

@nebula.js/sn-line-chart

Version:
7 lines (6 loc) 612 kB
/* * @nebula.js/sn-line-chart v1.45.1 * Copyright (c) 2025 QlikTech International AB * Released under the MIT license. */ System.register(["qlik-chart-modules","qlik-object-conversion","@nebula.js/stardust","qlik-chart-modules/react","hammerjs","picasso.js","picasso-plugin-q","react","react-dom"],(function(e){"use strict";var t,n,i,o,r,a,s,l,c,u,d,m,p,h,f,g,v,y,x,b,M,S,E,C,T,N,k,O,L,q,D,I,w,A,P,R,z,_,F,V,U,j,H,B,$,W,G,Y,X,K,J,Z,Q,ee;return{setters:[function(e){t=e.getValue,n=e.setValue,i=e.createColor,o=e.memoize,r=e.fontResolver,a=e.debouncer,s=e.throttler,l=e.storage,c=e.cache,u=e.colorService,d=e.disclaimerService,m=e.layoutService,p=e.selectionService,h=e.tooltipService,f=e.themeService,g=e.dockService,v=e.alternativeService,y=e.pluginService},function(e){x=e.default},function(e){b=e.useModel,M=e.useState,S=e.useEffect,E=e.useImperativeHandle,C=e.onTakeSnapshot,T=e.useApp,N=e.useOptions,k=e.useRenderState,O=e.usePromise,L=e.useLayout,q=e.useTranslator,D=e.useAction,I=e.useConstraints,w=e.useDeviceType,A=e.useElement,P=e.useSelections,R=e.useAppLayout,z=e.useEmbed,_=e.usePlugins,F=e.useStaleLayout,V=e.useTheme,U=e.useRect},function(e){j=e.reactRenderer,H=e.axisTitleComponent,B=e.disclaimerComponent},function(e){$=e.default},function(e){W=e.default},function(e){G=e.default},function(e){Y=e.default,X=e,K=e.isValidElement,J=e.cloneElement,Z=e.Children},function(e){Q=e,ee=e.default}],execute:function(){e("default",(function(e){return function(e){if(e&&e.get&&e.add){const t="Object.Disclaimer.LimitedData";if(e.get(t)!==t)return;Object.keys(te).forEach((t=>{e.add(te[t])}))}}(e.translator),{ext:rd(e),qae:ad(e),component(){const n=function({env:e}){const t=function(){const e={timer:Date.now(),mainTimer:null,pointTimer:null,lineTimer:null,reducedLineTimer:null,renderPromise:null,getInProgressive:()=>e.progressive,setInProgressive:t=>{e.progressive=t}},[t]=M((()=>e));return t}(),n=function(e){const t=I(),n=function(){const e=L(),t=q(),[n,i]=M(!1),[o,r]=M(!1),a=e=>{r("boolean"==typeof e?e:!o)},[s]=M({});return s.enabled=()=>n,s.active=()=>o,s.action=a,s.update=e=>{i(!e.select&&!e.active)},D((()=>{var i,r;const s=!(null===(i=e.qSelectionInfo)||void 0===i||!i.qInSelections),l=!(null===(r=e.qHyperCube)||void 0===r||null===(r=r.qDimensionInfo)||void 0===r||null===(r=r[0])||void 0===r||!r.qIsOneAndOnlyOne);return{key:"lasso",label:t.get(o?"Tooltip.ToggleOffLassoSelection":"Tooltip.ToggleOnLassoSelection"),icon:$M,hidden:!n||!s||l,action:a,active:o}}),[o,n,e,t.language()]),s}(),[i]=M((()=>function({lasso:e,progressiveRendering:t}){const n={interact:{isEnabled:!0,enabled(){return this.isEnabled},update(e){this.isEnabled=!e.active}},lasso:e,scroll:{isEnabled:!0,enabled(){return this.isEnabled},update(e){this.isEnabled=!e.active}},select:{isEnabled:!0,enabled(){return this.isEnabled&&!t.getInProgressive()},update(e){this.isEnabled=!e.select&&!e.active}},tooltip:{isEnabled:!0,enabled(){return this.isEnabled},update(e){this.isEnabled=!e.passive}},update(e){Object.keys(n).forEach((t=>{n[t].update&&n[t].update(e)}))},destroy(){n.select.removeAllListeners()}};return Object.keys(BM.prototype).forEach((e=>{n.select[e]=BM.prototype[e]})),BM.init(n.select),n}({lasso:n,progressiveRendering:e})));return S((()=>{i.update(t)}),[t]),i}(t),i=w(),o=A(),r=N(),a=P(),[s,u]=M();return S((()=>{const{flags:s={isEnabled:()=>!1},isUnsupportedFeature:d=()=>!1}=e,m=function(){const e=W();return e.use(G),e.use(function(e){if("function"!=typeof e.interaction)return t=>{t.interaction("hammer",rh(e))};return void e.interaction("hammer",rh(Hammer))}($)),e.use(function(){return function(e){e.renderer("react",function(){function e({x:e,y:t,width:n,height:i,scaleRatio:o,margin:r}={}){const a={x:0,y:0,width:0,height:0,scaleRatio:{x:1,y:1},margin:{left:0,top:0}};return a.x=Number.isNaN(e)?a.x:e,a.y=Number.isNaN(t)?a.y:t,a.width=Number.isNaN(n)?a.width:n,a.height=Number.isNaN(i)?a.height:i,void 0!==o&&(a.scaleRatio.x=Number.isNaN(o.x)?a.scaleRatio.x:o.x,a.scaleRatio.y=Number.isNaN(o.y)?a.scaleRatio.y:o.y),void 0!==r&&(a.margin.left=Number.isNaN(r.left)?0:r.left,a.margin.top=Number.isNaN(r.top)?0:r.top),a}return function(t={}){const{createElement:n=document.createElement.bind(document)}=t;let i,o=e();const r={element:()=>i,root:()=>i,appendTo:e=>(i||(i=n("div"),i.style.position="absolute",i.style["-webkit-font-smoothing"]="antialiased",i.style["-moz-osx-font-smoothing"]="antialiased",i.style.pointerEvents="none"),e.appendChild(i),i),render(e){if(!i)return!1;const t=o.scaleRatio.x,n=o.scaleRatio.y;return i.style.left=`${Math.round(o.margin.left+o.x*t)}px`,i.style.top=`${Math.round(o.margin.top+o.y*n)}px`,i.style.width=`${Math.round(o.width)}px`,i.style.height=`${Math.round(o.height)}px`,i.style.transform=`scale(${t}, ${n})`,i.style.transformOrigin="top left",ee.render(function(e,t){return Y.createElement(zy,{generateClassName:t},Y.createElement(Ox,{theme:bM},e))}(e,MM),i),!0},itemsAt:()=>[],findShapes:()=>[],clear:()=>(i&&ee.unmountComponentAtNode(i),r),destroy(){i&&i.parentElement&&(ee.unmountComponentAtNode(i),i.parentElement.removeChild(i)),i=null},size:t=>(t&&(o=e(t)),o)};return r}}()),e.component("data-title",function(e){function t(e){return!e.isDimension&&Se.getValue(e,"hyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures.length")>0}function n(e){return e.isDimension&&Se.getValue(e,"hyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions.length")>0}return{renderer:"react",disableTriggers:!0,preferredSize:function(){const{height:n}=e.measureText({text:"M",fontSize:this.style.fontSize,fontFamily:this.style.fontFamily});return this.settings.settings.isDimension||t(this.settings.settings)?Math.max(28,n):Math.max(20,n)},render(){const{settings:{app:e,disabled:i,explicitItemInfos:o,hyperCube:r,hyperCubeDef:a,isDimension:s,minWidth:l,model:c,onChangeToAlternative:u,padding:d,rtl:m,selections:p,skipAttributeExpressions:h,translator:f,supportConditional:g=!1},layout:{dock:v}}=this.settings,y="top"!==v&&"bottom"!==v||!m?"ltr":"rtl",x=function(e,t){const n={pointerEvents:"auto",display:"flex",justifyContent:"center",alignItems:"center",height:"100%"};"left"===e?(n.width=`${t.height}px`,n.height=`${t.width}px`,n.transform=`rotate(-90deg) translate(-${t.height}px, 0)`,n.transformOrigin="top left"):"right"===e&&(n.width=`${t.height}px`,n.height=`${t.width}px`,n.transform=`rotate(90deg) translate(0, -${t.width}px)`,n.transformOrigin="top left");return n}(v,this.rect),b=a&&a.qLayoutExclude&&a.qLayoutExclude.qHyperCubeDef,M=b&&b[s?"qDimensions":"qMeasures"]||[],S=o||r[s?"qDimensionInfo":"qMeasureInfo"],E=s?Sh:Ch,C=s?Eh:Th,T=Boolean(c&&c.colorSupport&&c.modifiers),N=T&&(n(this.settings.settings)||t(this.settings.settings)),k=S.map(((t,n)=>{var o;const r="number"==typeof t.explicitColumn?t.explicitColumn:n,a=C(t,r,c,e),y=n===S.length-1,x=Boolean(e)&&s&&"N"!==t.qGrouping,b=T||x?E({column:r,activeInfo:t,altList:M,app:e,dir:m?"rtl":"ltr",dock:xM(v),model:c,onChange:u,skipAttributeExpressions:h,translator:f,allowChangeOfAlternatives:T}):void 0;return Y.createElement(Y.Fragment,{key:t.cId},Y.createElement(yM,{chartId:null!==(o=null==c?void 0:c.id)&&void 0!==o?o:"",showGroupDimOptions:x,popover:b,titleData:a,model:c,translator:f,selections:p,disabled:i(),style:this.style,isDimension:s,padding:d,minWidth:l,hasAlternative:N,supportConditional:g}),!y&&Y.createElement("span",{style:{lineHeight:"normal",...this.style}},", "))}));return Y.createElement("div",{style:x,dir:y},k)}}}(e.renderer("svg")()))}}()),e.renderer("react-qcm",j),e.component("axis-overlay",Jm.picassoComponents.axisOverlay),e.component("axis-title",H),e.component("brush-highlighter",wM),e.component("disclaimer",B),e.component("ghost-point",AM),e.component("label-space",eh),e.component("out-of-bounds-marker",nh),e.component("point-label",Qp),e.component("reference-line-labels",Cs),e.component("scroll-hint",Br),e.component("scrollbar",Bl),e.component("time-axis",Jm.picassoComponents.timeAxis),e.scale("logarithmic",VM),e.scale("time",Jm.picassoScales.time),e.symbol("line-point",PM),e}(),p=m({renderer:{prio:[r.renderer||"canvas"]}});o.style.overflow="hidden";const h=p.chart({element:o,data:[],settings:{}});return u({actions:n,chart:h,deviceType:i,flags:s,isUnsupportedFeature:d,picasso:p,progressiveRendering:t,selections:a,viewCache:c(),viewState:l({scrollOffset:void 0,viewRange:[0,1]})}),function(){n.destroy(),h.destroy()}}),[]),s}({env:e}),i=function({core:e}){const n=T(),i=R(),o=z(),r=b(),a=N(),l=_(),u=P(),d=F(),p=V(),h=q(),[x,E]=M(),[C,k]=M();return S((()=>{if(!e)return()=>{};const{actions:t,chart:n}=e,i=$S({actions:t,chart:n,selections:u});return E(i),function(){i.destroy(),i.destroyLazySelection()}}),[e]),S((()=>{if(!x)return;const{qLocaleInfo:u}=i,b="rtl"===a.direction,{actions:M,chart:S,flags:E,isUnsupportedFeature:C,picasso:T,viewCache:N,viewState:O,progressiveRendering:L}=e,q=m({source:d,metaAdditionsFn:jS(C),experimental:{filter:!0}});x.setFilteredFields(q.meta.filteredFields),x.setLayout(q.getLayout());const D=f({theme:p,config:{id:"lineChart",resolve:[["object","plugins.label","fontFamily",'"Source Sans Pro", "Arial", "sans-serif"'],["object","plugins.label","fontSize","12px"]]}}),I=g({chart:S,layoutService:q,config:{logicalSize:PE({layout:q.getLayout(),options:a}),rtl:b},typeConfig:{type:"major-minor",fallback:"horizontal",invert:!1}}),w=v({app:n,translator:h}),A=function({chart:e,layoutService:n,progressiveRendering:i,options:o}){const{POINT:r,LINE:a,BRUSH_HIGHLIGHTER:s,REDUCED_LINE:l}=Zm.COMPONENT,c={partialUpdate:[Zm.COMPONENT.MINOR_AXIS,Zm.COMPONENT.GRID_LINE,Zm.COMPONENT.ZERO_LINE,Zm.COMPONENT.MAJOR_AXIS_TITLE,Zm.COMPONENT.MINOR_AXIS_TITLE,Zm.COMPONENT.MEASURE_REF_LINE_LABEL,Zm.COMPONENT.LEGEND_CATEGORICAL,l],duringMainProgressive:[],duringReducedLineProgressive:[],forClearProgressive:[],postUpdate:[],all:[]},{dimensionCount:u,measureCount:d,isOneDimensional:m,isContinuous:p,size:h,isStacked:f,isConnect:g}=n.meta,v=n.getLayout(),y=!0,x=void 0===v.maxNumPoints||v.maxNumPoints<qE?qE:Math.min(DE,Math.ceil(v.maxNumPoints)),b=Math.min(IE,x),M=t(v.qHyperCube,"qSize.qcy"),S=1===u?M*d:M,E=()=>{const e=void 0===v.maxNumLines||v.maxNumLines<=0?wE:Math.min(AE,Math.ceil(v.maxNumLines));return 1===u?Math.min(e,d):2===u?Math.min(e,h.dimensions[1]+1):void 0},C=E(),T=p&&S>b&&x>b&&(x>qE&&C>=wE||x>=qE&&C>wE),N={mainPages:[],reducedCube:void 0,reducedPages:[]},k={isMaxNumPointsEnabled:y,isLargeNumPoints:T,maxNumPoints:x,maxNumLines:C,pointProgressive:!1,lineProgressive:!1,reducedLineProgressive:!1,highlighterProgressive:!1,hasInjectedData:!g||f},O={linesDict:{},lines:[],chunks:[],matrix:[]},L={linesDict:{},lines:[],chunks:[],matrix:[]};function q(){N.mainPages=n.getDataPages(),n.setDataPages([])}function D(){n.setDataPages(N.mainPages),N.mainPages=[]}function I(){N.reducedCube&&(N.reducedPages=N.reducedCube.qDataPages||[],N.reducedCube.qDataPages=[])}function w(){N.reducedCube&&(N.reducedCube.qDataPages=N.reducedPages,N.reducedPages=[])}const A=()=>bE({layoutService:n,isMaxNumPointsEnabled:y,maxNumPoints:x,maxNumLines:C,options:o}),P=t=>{const n=t?[...c.partialUpdate,r,a,s]:[l,r,a,s];e.update({partialData:!0,excludeFromUpdate:n})},R=t=>{requestAnimationFrame((()=>{null===i.reducedLineTimer&&null===i.mainTimer&&(e.update({partialData:!0,excludeFromUpdate:c.postUpdate}),i.setInProgressive(!1),t())}))},z=e=>{requestAnimationFrame((()=>{k.pointProgressive=!1,k.lineProgressive=!1,i.mainTimer=null,R(e)}))},_=e=>{requestAnimationFrame((()=>{k.reducedLineProgressive=!1,i.reducedLineTimer=null,R(e)}))},F=(t,o)=>{i.setInProgressive(!0);const r=n.getDataPages();if(!r.length)return void o(t);const a=r[0].qMatrix.length,s=d;let l=0;const u=()=>{i.mainTimer=requestAnimationFrame((()=>{if(null==e||!e.update)return void kE({progressiveRendering:i,meta:k});const n=Math.max(0,l*a),r=Math.min(a*d,(l+1)*a);k.pointProgressive={start:n,end:r,isFirst:0===l,isLast:l===s-1},k.lineProgressive={...k.pointProgressive},e.update({partialData:!0,excludeFromUpdate:c.duringMainProgressive}),l++,l<s?u():o(t)}))};u()},V=(t,n)=>{i.setInProgressive(!0);const{reducedCube:o}=N,r=o.qDataPages;if(!r.length)return void n(t);const a=r[0].qMatrix.length,s=d;let l=0;const u=()=>{i.reducedLineTimer=requestAnimationFrame((()=>{const i=Math.max(0,l*a),o=Math.min(a*d,(l+1)*a);k.reducedLineProgressive={start:i,end:o,isFirst:0===l,isLast:l===s-1},e.update({partialData:!0,excludeFromUpdate:c.duringReducedLineProgressive}),l++,l<s?u():n(t)}))};u()},U=(e,t)=>{if(P(t),i.renderPromise={resolve:e},t)F(e,z);else{const{reducedCube:t}=N,n=t.qDataPages;F(e,z),n.length&&c.all.includes(l)&&V(e,_)}},j=(t,o)=>{const r=n.getDataPages()[0].qMatrix.length,{lines:a,matrix:s}=O,l=a.length,u=a[0].points.length,d=LE(a),m=Math.ceil(u/d);let p=0;const h=()=>{i.mainTimer=requestAnimationFrame((()=>{if(null==e||!e.update)return void kE({progressiveRendering:i,meta:k});q();const a=p*l*d,u=Math.min(r,(p+1)*l*d),f=Math.max(a-l,0),g=u;k.pointProgressive={start:f,end:g,isFirst:0===p,isLast:g===r},k.lineProgressive={...k.pointProgressive};const v=[{...N.mainPages[0],qMatrix:s.slice(a,u)}];n.setDataPages(v),e.update({partialData:!0,excludeFromUpdate:c.duringMainProgressive}),D(),p++,p<m?h():o(t)}))};h()},H=(t,o)=>{const r=n.getDataPages()[0].qMatrix.length,{chunks:a}=O,s=a.length;let l=0,u=0;const d=()=>{i.mainTimer=requestAnimationFrame((()=>{if(null==e||!e.update)return void kE({progressiveRendering:i,meta:k});q();const m=Math.min(r,u+a[l].length);k.pointProgressive={start:u,end:m,isFirst:0===l,isLast:l===s-1},k.lineProgressive={...k.pointProgressive},u=m;const p=[{...N.mainPages[0],qMatrix:a[l]}];n.setDataPages(p),e.update({partialData:!0,excludeFromUpdate:c.duringMainProgressive}),D(),l++,l<s?d():o(t)}))};d()},B=(e,t)=>{i.setInProgressive(!0);const o=n.getDataPages();o.length?(EE(n,o,O,f,!0),f?j(e,t):H(e,t)):t(e)},$=(t,n)=>{const{reducedCube:o}=N,r=o.qDataPages[0].qMatrix.length,{lines:a,matrix:s}=O,l=a.length,u=a[0].points.length,d=LE(a),m=Math.ceil(u/d);let p=0;const h=()=>{i.reducedLineTimer=requestAnimationFrame((()=>{if(null==e||!e.update)return void kE({progressiveRendering:i,meta:k});I();const a=p*l*d,u=Math.min(r,(p+1)*l*d),f=Math.max(a-l,0),g=u;k.reducedLineProgressive={start:f,end:g,isFirst:0===p,isLast:g===r};const v=[{...N.reducedPages[0],qMatrix:s.slice(a,u)}];o.qDataPages=v,e.update({partialData:!0,excludeFromUpdate:c.duringReducedLineProgressive}),w(),p++,p<m?h():n(t)}))};h()},W=(t,n)=>{const{reducedCube:o}=N,r=o.qDataPages[0].qMatrix.length,{chunks:a}=L,s=a.length;let l=0,u=0;const d=()=>{i.reducedLineTimer=requestAnimationFrame((()=>{if(null==e||!e.update)return void kE({progressiveRendering:i,meta:k});I();const m=Math.min(r,u+a[l].length);k.reducedLineProgressive={start:u,end:m,isFirst:0===l,isLast:l===s-1},u=m;const p=[{...N.reducedPages[0],qMatrix:a[l]}];o.qDataPages=p,e.update({partialData:!0,excludeFromUpdate:c.duringReducedLineProgressive}),w(),l++,l<s?d():n(t)}))};d()},G=(e,t)=>{i.setInProgressive(!0);const{reducedCube:o}=N,r=o.qDataPages;r.length?(EE(n,r,L,f),f?$(e,t):W(e,t)):t(e)},Y=(e,t)=>{if(P(t),i.renderPromise={resolve:e},t)B(e,z);else{const{reducedCube:t}=N,n=t.qDataPages;B(e,z),n.length&&c.all.includes(l)&&G(e,_)}},X=(e,t)=>{m?U(e,t):Y(e,t)},K=({render:t,nodes:o})=>CE({chart:e,layoutService:n,progressiveRendering:i,meta:k,render:t,nodes:o,timerId:"highlighterTimer",progressiveId:"highlighterProgressive",shouldUseProgressive:A}),J=({render:t,nodes:o})=>CE({chart:e,layoutService:n,progressiveRendering:i,meta:k,render:t,nodes:o,timerId:"lineTimer",progressiveId:"lineProgressive",shouldUseProgressive:A}),Z=()=>{null===i.mainTimer&&null===i.pointTimer&&null===i.lineTimer&&null===i.reducedLineTimer||(kE({progressiveRendering:i,meta:k}),q(),I(),e.update({partialData:!0,excludeFromUpdate:c.forClearProgressive}),D(),w())};return{meta:k,exclude:c,getSelectionContext:()=>T?"lazySelection":"selection",shouldUseProgressive:A,isLargeNumVisiblePoints:()=>xE({layoutService:n,maxNumPoints:x,maxNumLines:C}),resetProgressive:e=>kE({progressiveRendering:i,isPartialUpdate:e,meta:k}),renderProgressive:X,brushPoints:({render:t,nodes:n})=>NE({chart:e,shouldUseProgressive:A,progressiveRendering:i,meta:k,render:t,nodes:n}),dimLines:J,highlightLines:K,setReducedCube:e=>{N.reducedCube=e},clear:Z}}({chart:S,layoutService:q,progressiveRendering:L,options:a}),P=function({layoutService:e}){const t=function({layoutService:e}){const t=e.meta.isDiscrete?IS:RS;return t({layoutService:e})}({layoutService:e}),n={shouldProcess:t.shouldProcess()};if(t.shouldProcessInitialPage()){const n=e.getDataPages();t.processDataPage({dataPage:n&&n.length?n[0]:[]})}return{query:{getShouldProcess:()=>n.shouldProcess,getFilteredDataPage:({dataPage:e})=>t.getFilteredDataPage({dataPage:e})},command:{processDataPage:({dataPage:e})=>{n.shouldProcess&&t.processDataPage({dataPage:e})}}}}({layoutService:q}),R=function({layoutService:e}){const t={layoutService:void 0},{isDiscrete:n,hasMultipleDimensions:i}=e.meta,o=e.getLayoutValue("color",{}),r=o.auto?i:"byDimension"===o.mode&&o.byDimDef&&o.byDimDef.activeDimensionIndex>-1;n&&r&&(t.layoutService=m({source:e.getLayout()}));return{query:{getHasCube:()=>!!t.layoutService,getCube:()=>t.layoutService?t.layoutService.getHyperCube():void 0,getDataPages:()=>t.layoutService?t.layoutService.getDataPages():void 0},command:{setDataPages:e=>{t.layoutService&&t.layoutService.setDataPages(e)}}}}({layoutService:q}),z=function({layoutService:e}){const{isOneDimensional:t,isContinuous:n}=e.meta,i="qDimensionInfo/0",o=`${i}:numeric`,r="qDimensionInfo/"+(t?0:1),a=e.getHyperCubeValue("qMeasureInfo"),s=a.map(((e,t)=>`qMeasureInfo/${t}`)),l=n?[{key:o,from:i,override:{value:e=>e.qNum}}]:void 0;return{main:{outer:i,inner:r,outerNumeric:o,minors:s},reduced:{outer:i,inner:r,minors:t?s:["qMeasureInfo/0","qMeasureInfo/1"]},forecast:US(a),virtuals:l}}({layoutService:q}),_=function({enigmaModel:e,layoutService:t,dataProcessorModel:n}){const i={cube:void 0,on:!1},o=function({enigmaModel:e,layoutService:t}){const{isSnapshot:n,isContinuous:i}=t.meta;if(n)return function({layoutService:e}){return function(){return Promise.resolve({reducedCube:e.getLayoutValue("reducedHyperCube")||e.getHyperCube()})}}({layoutService:t});if(i)return function({layoutService:e}){return function(){const t=e.getHyperCube();return Promise.resolve({reducedCube:{...t,qDataPages:[...t.qDataPages]}})}}({layoutService:t});return function({enigmaModel:e,layoutService:t}){return function(){return function(e,t,n){return e.getHyperCubeReducedData(n.path,[n.rect],n.zoomLevel,n.filter).catch(Oe).then((e=>{var n;const i=t.getHyperCubeValue("qMode"),o=t.getHyperCubeValue("qDimensionInfo"),r="K"===i&&o.length>1&&(null===(n=e[0])||void 0===n?void 0:n.qIsReduced),a=e.slice(),s=t.getHyperCubeValue("qMeasureInfo"),l=r?[]:t.getHyperCubeValue("qColumnOrder");return{reducedCube:{qDataPages:a,qDimensionInfo:o.slice(),qEffectiveInterColumnSortOrder:[1,0],qMeasureInfo:r?[s[0],s[0]]:s.slice(),qStackedDataPages:[],qMode:"S",qHasOtherValues:t.getHyperCubeValue("qHasOtherValues"),qSize:t.getHyperCubeValue("qSize"),qColumnOrder:l}}}))}(e,t,{path:"/qHyperCubeDef",rect:HS({layoutService:t}),zoomLevel:-1,filter:"D1"})}}({enigmaModel:e,layoutService:t})}({enigmaModel:e,layoutService:t}),r=function({layoutService:e}){const{isSnapshot:t,isTwoDimensional:n,isStacked:i}=e.meta,o=e=>{e.qDimensionInfo.unshift({key:"dummy-patch-dimension"})};return o.should=e=>!!(t&&n&&i&&1===e.qDimensionInfo.length),o}({layoutService:t});return{query:{getCube:()=>i.cube,getIsReduced:()=>i.on},command:{initialize:()=>o().then((e=>{const{reducedCube:o}=e;r.should(o)&&r(o),i.cube=o,i.on=!!(i.cube&&i.cube.qDataPages[0]&&i.cube.qDataPages[0].qIsReduced),t.meta.isDiscrete&&t.meta.isOneDimensional&&i.cube.qDataPages[0]&&n.command.processDataPage({dataPage:i.cube.qDataPages[0]})})),setSnapshotData:e=>{e.reducedHyperCube=i.cube}}}}({enigmaModel:r,layoutService:q,dataProcessorModel:P}),F=q.meta.isContinuous?Jm.model({model:r,viewState:O,viewCache:N,layoutService:q,largeDataService:A,dataProcessorModel:P}):void 0;F&&F.update(q.getLayout());const V=ES({app:n,model:r,translator:h,picasso:T,localeInfo:u,theme:p,layoutService:q,reducedModel:_,legendModel:R,continuousModel:F}),U=Vc({layoutService:q,viewState:O,colorModel:{settings:()=>V.getMain().getSettings(),resolveUIColor:e=>V.getMain().getPaletteColor(e)},chart:S,env:{translator:h},keys:{colorScale:Zm.SCALE.MAIN.COLOR},isEnabled:()=>q.meta.dimensionCount<2});U.command.update();const j=function({layoutService:e,reducedModel:t,continuousModel:n,trendLineModel:i}){const o={min:NaN,max:NaN,implicit:{min:NaN,max:NaN},explicit:{min:NaN,max:NaN},meta:{hasExplicit:!1,hasExplicitMin:!1,hasExplicitMax:!1,includesZero:!1}},{isArea:r}=e.meta,a=e.getLayoutValue("measureAxis.logarithmic",!1),s=function({layoutService:e}){const{isStacked:t,isOneDimensional:n}=e.meta;if(!t)return function({layoutService:e}){return function(){let t=e.getHyperCubeValue("qMeasureInfo");return t=function(e){return e.concat(...e.map((e=>{var t,n;return null!==(t=null===(n=e.qAttrExprInfo)||void 0===n?void 0:n.filter((e=>-1!==FS.indexOf(e.id))))&&void 0!==t?t:[]})))}(t),{min:Math.min(...t.filter((e=>_S(e.qMin))).map((e=>e.qMin))),max:Math.max(...t.filter((e=>_S(e.qMax))).map((e=>e.qMax)))}}}({layoutService:e});return n?function({dataPage:e,count:t}){const{qMatrix:n}=e,i={min:NaN,max:NaN};return n.forEach((e=>{let n=0,o=0;e.slice(-t).forEach((e=>{"NaN"!==e.qNum&&(e.qNum>=0?o+=e.qNum:n+=e.qNum)})),i.min=Number.isNaN(i.min)?n:Math.min(n,i.min),i.max=Number.isNaN(i.max)?o:Math.max(o,i.max)})),i}:function({dataPage:e,count:t}){const n={min:NaN,max:NaN};if(e.qData){const{qData:t}=e;return n.min=Math.min(...t[0].qSubNodes.filter((e=>VS(e.qMinNeg))).map((e=>e.qMinNeg))),n.max=Math.max(...t[0].qSubNodes.filter((e=>VS(e.qMaxPos))).map((e=>e.qMaxPos))),n}const{qMatrix:i}=e,o={};return i.forEach((e=>{const n=e[0].qElemNumber;o[n]||(o[n]={key:n,min:0,max:0}),e.slice(t).forEach((e=>{"NaN"!==e.qNum&&(e.qNum>=0?o[n].max+=e.qNum:o[n].min+=e.qNum)}))})),Object.keys(o).forEach((e=>{n.min=Number.isNaN(n.min)?o[e].min:Math.min(o[e].min,n.min),n.max=Number.isNaN(n.max)?o[e].max:Math.max(o[e].max,n.max)})),n}}({layoutService:e});return{query:{getExtrema:()=>o},command:{initialize:()=>{const{min:l,max:c}=function({layoutService:e}){const t={min:NaN,max:NaN},{getLayoutValue:n}=e;if(n("measureAxis.autoMinMax",!1))return t;const i=n("measureAxis.minMax");"min"!==i&&"minMax"!==i||(t.min=+n("measureAxis.min"));"max"!==i&&"minMax"!==i||(t.max=+n("measureAxis.max"));return t}({layoutService:e});return o.explicit.min=l,o.explicit.max=c,o.meta.hasExplicitMin=!Number.isNaN(l),o.meta.hasExplicitMax=!Number.isNaN(c),o.meta.hasExplicit=o.meta.hasExplicitMin||o.meta.hasExplicitMax,async function({layoutService:e,reducedModel:t,continuousModel:n}){const{isDiscrete:i,isStacked:o,measureCount:r,dimensionCount:a,hasMultipleDimensions:s}=e.meta;if(i){const e=t.query.getCube();return e.qDataPages.length?{dataPage:e.qDataPages[0],count:r}:{dataPage:e.qStackedDataPages[0]}}const[l]=await n.fetchMinMaxData();return{dataPage:l,count:o&&s?a:r}}({layoutService:e,reducedModel:t,continuousModel:n}).then((({dataPage:e,count:t})=>{const{min:n,max:l}=s({dataPage:e,count:t});let c=Number((Number.isFinite(n)?n:0).toFixed(13)),u=Number((Number.isFinite(l)?l:0).toFixed(13));if(i.query.hasTrendLines()){const{min:e,max:t}=i.query.getMinMax();c=Number.isFinite(e)?Math.min(c,e):c,u=Number.isFinite(t)?Math.max(u,t):u}o.implicit.min=r&&!a?Math.min(0,c):c,o.implicit.max=r&&!a?Math.max(0,u):u,o.min=Number.isNaN(o.explicit.min)?o.implicit.min:o.explicit.min,o.max=Number.isNaN(o.explicit.max)?o.implicit.max:o.explicit.max,o.meta.hasExplicitMin&&!o.meta.hasExplicitMax&&(o.max=Math.max(o.min,o.max)),o.meta.hasExplicitMax&&!o.meta.hasExplicitMin&&(o.min=Math.min(o.min,o.max)),o.meta.includesZero=!!((0-o.min)*(0-o.max)<=0)}))}}}}({layoutService:q,reducedModel:_,continuousModel:F,trendLineModel:U}),H=zS({layoutService:q,extremumModel:j,largeDataService:A}),B=function({picasso:e,chart:t,localeInfo:n,continuousModel:i,layoutService:o,reducedModel:r,legendModel:a,fieldModel:s,trendLineModel:l,colorService:c,largeDataService:u,progressiveRendering:d,options:m,viewCache:p}){const{POINT:h,LINE:f,BRUSH_HIGHLIGHTER:g,REDUCED_LINE:v}=Zm.COMPONENT,{exclude:y,resetProgressive:x,shouldUseProgressive:b,renderProgressive:M,setReducedCube:S}=u,E={isUpdateDataless:!1,isUsingLegendCube:!1,isUsingLabelSpace:!1,isSizeChanging:!1,isPartialUpdating:!1},{isContinuous:C,isStacked:T}=o.meta,{virtuals:N}=s,k=[],O={main:k,reduced:k,legend:k,dataset:e.data("q")({key:Zm.DATA.MAIN,data:o.getHyperCube(),config:{localeInfo:n,virtualFields:N}})};function L(){O.main=o.getDataPages(),o.setDataPages([])}function q(){o.setDataPages(O.main),O.main=k}const D=()=>{const e=t.component(Zm.COMPONENT.OUT_OF_MIN_BOUNDS),n=e&&e.show();return!(!0!==m.chartAnimations||bS(o)>cu.LARGE_NUM_POINTS_ANIMATIONS||E.isSizeChanging||E.isPartialUpdating||p.get("hasHiddenMinOobs")&&n||ks.propertiesHaveChanged({viewCache:p,layout:o.getLayout()}))};return{query:{getDataset:()=>O.dataset,getIsUpdateDataless:()=>E.isUpdateDataless,getIsUsingLegendCube:()=>E.isUsingLegendCube,getIsUsingLabelSpace:()=>E.isUsingLabelSpace,animationsEnabled:D},command:{initialize:()=>{E.isUsingLegendCube=!(C||!T&&!r.query.getIsReduced()||!a.query.getHasCube())},update:()=>(x(),t.layoutComponents(),b()?new Promise((e=>{M(e)})):(t.update(),d.setInProgressive(!1),Promise.resolve())),updateDataless:({settings:e})=>{x(),y.duringMainProgressive=e.components.map((e=>e.key)).filter((e=>e!==h&&e!==f)),y.duringReducedLineProgressive=e.components.map((e=>e.key)).filter((e=>e!==v)),y.forClearProgressive=e.components.map((e=>e.key)).filter((e=>e!==h&&e!==f&&e!==v)),y.postUpdate=e.components.map((e=>e.key)).filter((e=>e!==g)),y.all=e.components.map((e=>e.key)),E.isUpdateDataless=!0;const s=b();L();const u=C?i.getInitialCube():r.query.getCube();S(u);const d=o.getHyperCube()===u;d||(O.reduced=u.qDataPages,u.qDataPages=k),E.isUsingLegendCube&&(O.legend=a.query.getDataPages(),a.command.setDataPages([]));const m=[{type:"q",key:Zm.DATA.MAIN,data:o.getHyperCube(),config:{localeInfo:n,virtualFields:N}},{type:"q",key:Zm.DATA.REDUCED,data:u,config:{localeInfo:n,virtualFields:N}},...c.getMain().getData()];E.isUsingLegendCube&&m.push({type:"q",key:Zm.DATA.LEGEND,data:a.query.getCube(),config:{localeInfo:n,virtualFields:N}}),l.query.hasTrendLines()&&m.push({key:"trend",data:l.query.getData()}),s?t.update({data:m,settings:e}):t.layoutComponents({data:m,settings:e}),q(),d||(u.qDataPages=O.reduced,O.reduced=k),E.isUsingLegendCube&&(a.command.setDataPages(O.legend),O.legend=k),E.isUpdateDataless=!1},updatePartial:()=>(x(!0),b()?new Promise((e=>{M(e,!0)})):(E.isPartialUpdating=!0,t.update({partialData:!0,excludeFromUpdate:y.partialUpdate}),E.isPartialUpdating=!1,d.setInProgressive(!1),Promise.resolve())),setUseLabelSpace:e=>{E.isUsingLabelSpace=e},setState:(e,t)=>{E[e]=t}}}}({picasso:T,chart:S,localeInfo:u,continuousModel:F,layoutService:q,reducedModel:_,legendModel:R,fieldModel:z,trendLineModel:U,colorService:V,largeDataService:A,progressiveRendering:L,options:a,viewCache:N}),$=function({layoutService:e,dockService:t,themeService:n,flags:i}){const{LINE:o,POINT:r}=WS,a=n.getStyles(),s=function({layoutService:e}){const{isOneDimensional:t}=e.meta,{style:n}=e.getLayoutValue("components",[]).filter((e=>"line"===e.key))[0]||{},i=e=>`qMeasureInfo.${e}.styling`;return({property:o,defaultValue:r,index:a})=>{const s=n&&Object.hasOwnProperty.call(n,o)?n[o]:r;if(void 0===a)return s;const{style:l}=e.getHyperCubeValue(i(t?a:0),[]).filter((e=>"line"===e.key||e.cId))[0]||{};return l&&Object.hasOwnProperty.call(l,o)?l[o]:s}}({layoutService:e}),l=t=>i.isEnabled("CLIENT_IM_3050")?e.getLayoutValue("components",[]).find((e=>e.key===t)):void 0,c={line:{getCurve:()=>(e,t)=>s({property:"lineCurve",defaultValue:o.CURVE.LINEAR,index:t}),getStrokeWidth:()=>(e,n)=>s({property:"lineThickness",defaultValue:"FULL"===t.meta.chart.mode?o.WIDTH.FULL.DEFAULT:o.WIDTH.LESS.DEFAULT,index:n}),getStrokeDasharray:()=>(e,t)=>{const n=s({property:"lineType",defaultValue:o.TYPE.SOLID,index:t});return n&&o.TYPE[n.toUpperCase()]}},forecast:{getCurve:()=>t=>{const n=t.datum.line.value;return e.getLayoutValue(`qHyperCube.qMeasureInfo.${n}.forecast.lineCurve`,c.line.getCurve()(t,n))},getStrokeWidth:()=>t=>{const n=t.datum.line.value;return e.getLayoutValue(`qHyperCube.qMeasureInfo.${n}.forecast.lineThickness`,c.line.getStrokeWidth()(t,n))},getStrokeDasharray:()=>t=>{const n=t.datum.line.value,i=e.getLayoutValue(`qHyperCube.qMeasureInfo.${n}.forecast.lineType`);return i?o.TYPE[i.toUpperCase()]:c.line.getStrokeDasharray()(t,n)}},point:{getSize:e=>s({property:"dataPointSize",defaultValue:r.SIZE.DEFAULT,index:e})},axis:{title:{getStyle:()=>{var e,t,n,i,o,r;return{color:null!==(e=null===(t=l("axis"))||void 0===t||null===(t=t.axis)||void 0===t||null===(t=t.title)||void 0===t||null===(t=t.color)||void 0===t?void 0:t.color)&&void 0!==e?e:a.axis.title.color,fontFamily:null!==(n=null===(i=l("axis"))||void 0===i||null===(i=i.axis)||void 0===i||null===(i=i.title)||void 0===i?void 0:i.fontFamily)&&void 0!==n?n:a.axis.title.fontFamily,fontSize:null!==(o=null===(r=l("axis"))||void 0===r||null===(r=r.axis)||void 0===r||null===(r=r.title)||void 0===r?void 0:r.fontSize)&&void 0!==o?o:a.axis.title.fontSize}}},label:{getStyle:()=>{var e,t,n,i,o,r;return{fill:null!==(e=null===(t=l("axis"))||void 0===t||null===(t=t.axis)||void 0===t||null===(t=t.label)||void 0===t||null===(t=t.name)||void 0===t||null===(t=t.color)||void 0===t?void 0:t.color)&&void 0!==e?e:a.axis.label.name.color,fontFamily:null!==(n=null===(i=l("axis"))||void 0===i||null===(i=i.axis)||void 0===i||null===(i=i.label)||void 0===i||null===(i=i.name)||void 0===i?void 0:i.fontFamily)&&void 0!==n?n:a.axis.label.name.fontFamily,fontSize:null!==(o=null===(r=l("axis"))||void 0===r||null===(r=r.axis)||void 0===r||null===(r=r.label)||void 0===r||null===(r=r.name)||void 0===r?void 0:r.fontSize)&&void 0!==o?o:a.axis.label.name.fontSize}}}},label:{getStyle:()=>{var e,t,n,i,o,r;return{fill:null!==(e=null===(t=l("label"))||void 0===t||null===(t=t.label)||void 0===t||null===(t=t.value)||void 0===t||null===(t=t.color)||void 0===t?void 0:t.color)&&void 0!==e?e:a.label.value.color,fontFamily:null!==(n=null===(i=l("label"))||void 0===i||null===(i=i.label)||void 0===i||null===(i=i.value)||void 0===i?void 0:i.fontFamily)&&void 0!==n?n:a.label.value.fontFamily,fontSize:null!==(o=null===(r=l("label"))||void 0===r||null===(r=r.label)||void 0===r||null===(r=r.value)||void 0===r?void 0:r.fontSize)&&void 0!==o?o:a.label.value.fontSize}}},legend:{title:{getStyle:()=>{var e,t,n,i,o,r;return{fontFamily:null!==(e=null===(t=l("legend"))||void 0===t||null===(t=t.legend)||void 0===t||null===(t=t.title)||void 0===t?void 0:t.fontFamily)&&void 0!==e?e:a.legend.title.fontFamily,fontSize:null!==(n=null===(i=l("legend"))||void 0===i||null===(i=i.legend)||void 0===i||null===(i=i.title)||void 0===i?void 0:i.fontSize)&&void 0!==n?n:a.legend.title.fontSize,color:null!==(o=null===(r=l("legend"))||void 0===r||null===(r=r.legend)||void 0===r||null===(r=r.title)||void 0===r||null===(r=r.color)||void 0===r?void 0:r.color)&&void 0!==o?o:a.legend.title.color}}},label:{getStyle:()=>{var e,t,n,i,o,r;return{fontFamily:null!==(e=null===(t=l("legend"))||void 0===t||null===(t=t.legend)||void 0===t||null===(t=t.label)||void 0===t?void 0:t.fontFamily)&&void 0!==e?e:a.legend.label.fontFamily,fontSize:null!==(n=null===(i=l("legend"))||void 0===i||null===(i=i.legend)||void 0===i||null===(i=i.label)||void 0===i?void 0:i.fontSize)&&void 0!==n?n:a.legend.label.fontSize,color:null!==(o=null===(r=l("legend"))||void 0===r||null===(r=r.legend)||void 0===r||null===(r=r.label)||void 0===r||null===(r=r.color)||void 0===r?void 0:r.color)&&void 0!==o?o:a.legend.label.color}}}}};return{query:c}}({layoutService:q,dockService:I,themeService:D,flags:E}),G=function({chart:e,layoutService:t,chartModel:n,extremumModel:i,dockService:o,themeService:r}){const a={locked:!1,resolved:void 0},{getExtrema:s}=i.query,l=function({chart:e,layoutService:t,chartModel:n,extremumModel:i,dockService:o,themeService:r}){const a=t.getLayoutValue("measureAxis.logarithmic",!1),{measureText:s}=W.renderer("svg")();return()=>{const l=r.getStyles(),c=e=>s({text:e,fontFamily:l.axis.label.name.fontFamily,fontSize:l.axis.label.name.fontSize}),u=function({chart:e,chartModel:t,dockService:n}){const i=t.query.getIsUpdateDataless()?n.meta.chart.size:e.component(Zm.COMPONENT.LINE).rect;return"horizontal"===n.meta.major.orientation?i.height:i.width}({chart:e,chartModel:n,dockService:o}),d=i.query.getExtrema();return(a&&!d.meta.includesZero?pE:dE)({chart:e,layoutService:t,dockService:o,measureText:c,extrema:d,size:u})}}({chart:e,layoutService:t,chartModel:n,extremumModel:i,dockService:o,themeService:r}),c=()=>(a.locked&&a.resolved||(a.resolved=l()),a.resolved);return{query:{getValues:()=>c().values,getMin:()=>s().meta.hasExplicitMin?s().explicit.min:c().min,getMax:()=>s().meta.hasExplicitMax?s().explicit.max:c().max},command:{lock:()=>{a.locked=!0},unlock:()=>{a.locked=!1}}}}({chart:S,layoutService:q,chartModel:B,extremumModel:j,dockService:I,themeService:D}),Y=$u({app:n,chart:S,embed:o,flags:E,layout:q.getLayout(),localeInfo:u,model:r,options:{direction:a.direction},picasso:T,translator:h}),X=fE({actions:M,chart:S,colorService:V,custom:Y,fieldModel:z,layoutService:q,rtl:b,themeService:D,tickModel:G,translator:h,trendLineModel:U,viewState:O}),K=q.meta.isDiscrete?function({chart:e,actions:n,componentKey:i,enigmaModel:o,layoutService:r,dockService:a,trendLineModel:l,itemWidths:u,viewState:d,rtl:m,options:{definitionPath:p="/qHyperCubeDef",getRect:h,axisKey:f,renderer:g,areaBuffer:v,processDataPage:y=()=>{}}={}}){const x=c(),b=function({qMode:e}){switch(e){case"K":return eS;case"T":return tS;default:return QM}}({qMode:r.getHyperCubeValue("qMode")}),M=function({state:e,contains:t}){return e.set(nS,[]),{add:t=>{const n=e.get(nS);n.length=0,n.push(t)},getCurrent:()=>e.get(nS)[0],getAll:()=>e.get(nS),contains:n=>t(e.get(nS)[0],n)}}({state:x,contains:b.contains});!function({layoutService:e,dataStore:t,composition:n}){const i=e.getDataPages()[0];if(!i)return;const o=n.patcher({layoutService:e});o.should(i)&&o(i);t.add(i)}({layoutService:r,dataStore:M,composition:b});const S=function({buffer:e}){return void 0===e?void 0:2*Math.round(e/2)}({buffer:v}),E=function({dataStore:e,composition:t,enigmaModel:n,layoutService:i,trendLineModel:o=cS,definitionPath:r,processDataPage:a}){const{slicer:l,cacheWarden:c,request:u}=t,d=function({dataStore:e,slice:t,warden:n,expand:i,request:o,process:r,connectionless:a,processDataPage:s}){const l=(l,{onProcessing:c}={})=>{if(e.contains(l)){const i=e.getCurrent();if(a)return Promise.resolve(t(i,l));const o=n.release(i.qArea,l),s=r.isProcessing();if(!o&&s&&r.cancel(),!o||s)return Promise.resolve(t(i,l))}if(a)return Promise.resolve(e.getCurrent());r.isProcessing()&&c&&c();const u=i(l);return r(o(u)).then((n=>(s(n),e.add(n),t(n,l))))};return l}({dataStore:e,slice:l,warden:c({bounds:{width:i.meta.size.x,height:i.meta.size.y}}),expand:sS({layoutService:i}),request:u({definitionPath:r}),process:lS(n),connectionless:i.meta.isSnapshot,processDataPage:a}),m=s(((e,{onProcessing:t,onData:n})=>{d(e,{onProcessing:t}).then((e=>n(e))).catch((e=>{if(e!==WM)throw e}))}),KM);return function(e,{onProcessing:t=GM,onDataPage:n=GM}={}){m(e,{onProcessing:t,onData:e=>{i.setDataPages(e?[e]:[]),o.command.update(),n(e)}})}}({dataStore:M,composition:b,enigmaModel:o,layoutService:r,trendLineModel:l,definitionPath:p,processDataPage:y}),C=function({chart:e,componentKey:t,state:n,dataStore:i,pageData:o,layoutService:r,dockService:a,itemWidths:s,getRect:l,axisKey:c,renderer:u,areaBuffer:d,viewState:m,rtl:p}){n.set("rect",{width:0,height:0}),n.set("itemWidths",{}),n.set("itemSize",0),n.set("items",{}),n.set("offsets",{}),n.set("finished",0),n.set("scaleRange",[0,1]);const h=function({chart:e,getRect:t,getDataPages:n,layoutService:i,dockService:o,getItemWidths:r,axisKey:a,renderer:s,areaBuffer:l,rtl:c}){const{inTotal:u,area:d,scaleRange:m}=function({layoutService:e}){const{isDimensionless:t,isGrouped:n,isGroupedByMeasure:i}=e.meta;if(t)return uS;if(!n)return dS;return i?fS:yS}({layoutService:i}),p=()=>"horizontal"===o.meta.major.orientation?t().width:t().height,h=e=>e?p()/e:0,f=(e,t)=>-(e-t)*h(t);return{getItems(){const n=i.getLayoutValue("dimensionAxis"),l=u({layoutService:i});return{inTotal:l,inView:xS({chart:e,rect:t(),dockService:o,itemWidths:r(),axisKey:a,renderer:s,isGrouped:i.meta.isGrouped,dimensionAxis:n,inTotal:l,isMajorLabelless:"none"===n.show||"title"===n.show,maxDataRows:Math.floor(YM/(i.meta.dimensionCount+i.meta.measureCount))})}},getItemSize({items:e}){const{inView:t}=e;return h(t)},getOffsets({pixelOffset:e,items:t}){const{inTotal:n,inView:i}=t,o=Math.min(0,Math.max(e,f(n,i))),r=i?Math.abs(i*o/p()):0;return{start:{pixel:o,item:r},end:{item:Math.min(r+(i||0),n)}}},getUpperBound({items:e}){const{inTotal:t,inView:n}=e;return f(t,n)},getViewRange({pixelOffset:e,items:t}){const{inTotal:n,inView:i}=t;return function({viewSize:e,inTotal:t,inView:n,pixelOffset:i}){const o=e/n*t,r=Math.abs(i)/o,a=Math.min(1,r+e/o);return[r,a]}({viewSize:p(),inTotal:n,inView:i,pixelOffset:e})},getArea:({itemOffset:e,items:t})=>d({getDataPages:n,layoutService:i,itemOffset:e,inView:t.inView,areaBuffer:l}),getScaleRange({offsets:e,items:t}){const r=m({getDataPages:n,layoutService:i,offsets:e,items:t,viewSize:p(),upperBound:f(t.inTotal,t.inView)});return"horizontal"===o.meta.major.orientation&&c?function(e){return[1-e[1],1-e[0]]}(r):r},validate:{offset({pixelOffset:e,items:t}){const{inTotal:n,inView:i}=t;return e<=0&&e>=f(n,i)}},convert:{itemToPixelOffset({itemOffset:e,items:t}){const{inView:n}=t,i=e*h(n);return Number.isFinite(i)?-i:0},relativeToPixelOffset({relativeOffset:e,items:t}){const{inTotal:n,inView:i}=t;return-e*(h(i)*n)}}}}({chart:e,getRect:()=>n.get("rect"),getDataPages:i.getCurrent,layoutService:r,dockService:a,getItemWidths:()=>n.get("itemWidths"),axisKey:c,renderer:u,areaBuffer:d,rtl:p}),f=()=>{const e=h.getItems();return n.set("items",e),e},g=({pixelOffset:e,items:t})=>{const i=h.getOffsets({pixelOffset:e,items:t});return n.set("offsets",i),i},v=({items:e})=>{const t=r.getLayoutValue("scrollStartPos"),n=m.get("scrollOffset");if(void 0===n)return 1===t?h.getUpperBound({items:e}):0;if("number"==typeof n)return h.convert.itemToPixelOffset({itemOffset:n,items:e});const{start:i,end:o}=n,a=1===t&&o?o-e.inView:i;return h.convert.itemToPixelOffset({itemOffset:a,items:e})},y=e=>{const[{qArea:t}]=r.getDataPages();return!!t&&Object.keys(e).every((n=>e[n]===t[n]))},x=e=>{const t=Date.now(),i=f(),r=g({pixelOffset:e,items:i}),a=h.getArea({itemOffset:r.start.item,items:i});if(y(a))return void((h.validate.offset({pixelOffset:e,items:i})||m.get("scrollOffset").start!==r.start.item)&&(n.set("finished",t),n.set("scaleRange",h.getScaleRange({offsets:r.start,items:i})),m.preventSet("viewRange",h.getViewRange({pixelOffset:r.start.pixel,items:i})),m.set("scrollOffset",{start:r.start.item,end:r.end.item})));m.preventSet("viewRange",h.getViewRange({pixelOffset:r.start.pixel,items:i}));const s=()=>{n.get("finished")>t||(n.set("finished",t),n.set("scaleRange",h.getScaleRange({offsets:r.start,items:i})),m.set("scrollOffset",{start:r.start.item,end:r.end.item}))};o(a,{onProcessing:s,onDataPage:s})};return{enabled(){const{inTotal:e,inView:t}=n.get("items");return e>t},itemSize:()=>n.get("itemSize"),scaleRange:()=>n.get("scaleRange"),initialize(){const i=e.component(t);if(!i)return Promise.resolve();n.set("rect","function"==typeof l?l():i.rect),n.set("itemWidths","function"==typeof s?s():s);const r=f();n.set("itemSize",h.getItemSize({items:r}));const a=v({items:r}),c=g({pixelOffset:a,items:r});m.preventSet("viewRange",h.getViewRange({pixelOffset:c.start.pixel,items:r}));const u=h.getArea({itemOffset:c.start.item,items:r});return new Promise((e=>{o(u,{onDataPage:()=>{n.set("scaleRange",h.getScaleRange({offsets:c.start,items:r})),m.preventSet("scrollOffset",{start:c.start.item,end:c.end.item}),e()}})}))},scroll(e){const t=n.get("offsets").start.pixel+e;x(t)},scrollToRelative(e){const t=n.get("items"),i=h.convert.relativeToPixelOffset({relativeOffset:e,items:t});x(i)}}}({chart:e,componentKey:i,state:x,dataStore:M,pageData:E,layoutService:r,dockService:a,itemWidths:u,getRect:h,axisKey:f,renderer:g,areaBuffer:S,viewState:d,rtl:m}),T=function({layoutService:e,dataStore:n}){return function(i){const o=t(i,`${e.refs.dataPages}`);o.length=0,o.push(n.getCurrent())}}({layoutService:r,dataStore:M}),N=function({chart:e,actions:t,componentKey:n,dockService:i,rtl:o,scroller:r}){return{gestures:[rS({chart:e,actions:t,componentKey:n,dockService:i,rtl:o,scroller:r})],native:{type:"native",events:{wheel:aS({chart:e,actions:t,componentKey:n,scroller:r})}}}}({chart:e,actions:n,componentKey:i,dockService:a,rtl:m,scroller:C});return{interactions:N,query:{getCanScroll:()=>C.enabled(),getItemSize:()=>C.itemSize(),getScaleRange:()=>C.scaleRange(),getCurrentDataPage:()=>M.getCurrent()},command:{initialize:()=>C.initialize(),scrollTo:e=>C.scrollToRelative(e),setSnapshotData:e=>T(e)}}}({chart:S,actions:M,componentKey:Zm.COMPONENT.LINE,enigmaModel:r,layoutService:q,dockService:I,trendLineModel:U,itemWidths:zE,viewState:O,rtl:b,options:{axisKey:Zm.COMPONENT.MAJOR_AXIS,renderer:T.renderer("svg")(),areaBuffer:q.meta.isTwoDimensional||P.query.getShouldProcess()?40:12,processDataPage:e=>P.command.processDataPage({dataPage:e})}}):void 0,J=function({layoutService:e,discreteModel:t}){const{isContinuous:n,canBeContinuous:i,isGroupedByDimension:o}=e.meta,r=e.getLayout(),a="K"===r.qHyperCube.qMode,s=Ne.dimensionless(r),l=is.getMeasureRefLines(r),c=is.getDimensionRefLines(r,s),u=is.getMeasureRefLineLabels(r),d=is.getDimensionRefLineLabels(r,s);let m={},p={};const h=t=>{if(i){const n=e.getLayoutValue("qHyperCube.qDimensionInfo.0"),{qMin:i,qMax:o}=n;return is.isOutOfRange({value:t,qMin:i,qMax:o})}return!1},f=t=>{if(!p[t])return!1;if(!n&&o){const n={valueInfo:p[t]},i="S"===e.getHyperCubeValue("qMode")?"qDataPages.0":"qStackedDataPages.0",o=e.getHyperCubeValue(i);return is.isOutOfDataPages({label:n,dataPages:o})}return!0},g=()=>!(!c||!c.length)&&!c.every((t=>{const n=is.getInputValue({refLineLayout:t,layoutService:e});return h(n)||f(n)})),v={isKMode:a,canBeContinuous:i,measureRefLines:l,dimensionRefLines:c,measureRefLineLabels:u,dimensionRefLineLabels:d,dimensionRefLineInfo:p,dimensionValuesInfo:m,query:{getRefLines:e=>is.getRefLines(r,e),getRefLineLabels:e=>is.getRefLineLabels(r,e)},update:()=>{p=v.dimensionRefLineInfo,g()&&(m=is.getDimensionValuesInfo({layout:r,canBeContinuous:i,discreteModel:t,layoutService:e}),v.dimensionValuesInfo=m,c.forEach((t=>{const n=is.getInputValue({refLineLayout:t,layoutService:e});m[n]&&(p[n]?(p[n].innerValues=m[n].innerValues,p[n].minOrder=Math.min(p[n].minOrder,m[n].minOrder),p[n].maxOrder=Math.max(p[n].maxOrder,m[n].maxOrder),p[n].isMinOrderOk=p[n].isMinOrderOk||m[n].isMinOrderOk,p[n].isMaxOrderOk=p[n].isMaxOrderOk||m[n].isMaxOrderOk):p[n]={id:m[n].id,qText:m[n].qText,innerValues:m[n].innerValues,minOrder:m[n].minOrder,maxOrder:m[n].maxOrder,isMinOrderOk:m[n].isMinOrderOk,isMaxOrderOk:m[n].isMaxOrderOk},p[n].numInnerValues=(p[n].maxOrder||0)-(p[n].minOrder||0)+1)})))}};return v.update(),v}({layoutService:q,discreteModel:K}),Z=y({picassoInstance:T,plugins:l||[],pluginArgs:RE(q)});k({alternativeService:w,chartModel:B,colorService:V,continuousModel:F,customTooltipService:Y,dataProcessorModel:P,disclaimerService:H,discreteModel:K,dockService:I,extremumModel:j,fieldModel:z,layoutService:q,legendModel:R,pluginService:Z,reducedModel:_,refLineModel:J,selectionService:x,styleModel:$,themeService:D,tickModel:G,tooltipService:X,trendLineModel:U,largeDataService:A})}),[d,a.direction,x,p.name(),h.language()]),C}({core:n}),o=function({core:e,services:t}){var n;const i=T(),o=b(),r=N(),a=k();(function({core:e}){E((()=>({getViewState(){var t;if(!e)return;const{chart:n,viewState:i}=e,o=n.component(Zm.COMPONENT.LEGEND_CATEGORICAL);return{scrollOffset:i.get("scrollOffset"),zoom:i.get("zoom"),legendScrollOffset:null==o||null===(t=o._DO_NOT_USE_getInfo)||void 0===t?void 0:t.call(o).offset}}})),[e])})({core:e}),function({core:e,services:t}){C((n=>{if(!e||!t)return;const{chart:i,viewState:o}=e,{colorService:r,continuousModel:a,discreteModel:s,dockService:l,layoutService:c,reducedModel:u}=t,{isDiscrete:d,isSnapshot:m}=c.meta,{width:p,height:h}=l.meta.chart.size;return n.snapshotData=n.snapshotData||{},n.snapshotData.content={size:{w:p,h:h}},m?Promise.resolve():(n.snapshotData.content.chartData={scrollOffset:o.get("scrollOffset"),zoom:o.get("zoom"),legendScrollOffset:ke(i,Zm.COMPONENT.LEGEND_CATEGORICAL)},d?(s.command.setSnapshotData(n),u.command.setSnapshotData(n)):a.setSnapshotData(n),r.getMain().getSnapshotData().then((e=>{n.snapshotData.content.chartData={...n.snapshotData.content.chartData,...e}})).catch((()=>{})))}))}({core:e,services:t});const s=function({enable:e=!0}={}){const t=b(),n=()=>Date.now().toString()+Math.random(),[i,o]=M(n()),r={properties:void 0};return S((()=>{if(!t||!t.getEffectiveProperties||!e)return()=>{};const i=()=>{t.getEffectiveProperties().then((e=>{const t=me(!0,{},e);if(!r.properties)return void(r.properties=t);const i=function(e,t){var n,i,o,r;const a={properties:!1,exclude:!1};if(e===t)return a;const s=me(!0,{},e),l=me(!0,{},t);return a.exclude=!cd(null===(n=s.qHyperCubeDef)||void 0===n?void 0:n.qLayoutExclude,null===(i=l.qHyperCubeDef)||void 0===i?void 0:i.qLayoutExclude),null===(o=s.qHyperCubeDef)||void 0===o||delete o.qLayoutExclude,null===(r=l.qHyperCubeDef)||void 0===r||delete r.qLayoutExclude,a.properties=!cd(s,l),a}(r.properties,t);r.properties=t,i.exclude&&!i.properties&&o(n())}))};return t.on("changed",i),i(),()=>{t.removeListener("changed",i)}}),[e]),i}({enable:!1===(null==t||null===(n=t.layoutService)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.isSnapshot)}),[l,c]=O((()=>{if(!e||!t)return Promise.resolve();const{flags:n}=e,{alternativeService:s,chartModel:l,colorService:c,continuousModel:u,customTooltipService:d,disclaimerService:m,extremumModel:p,layoutService:h,pluginService:f,reducedModel:g,selectionService:v,tooltipService:y,largeDataService:x}=t,{isContinuous:b,isSnapshot:M}=h.meta;!function({core:e,options:t,services:n}){const{viewCache:i,viewState:o}=e,{chartModel:r,continuousModel:a,discreteModel:s,layoutService:l,legendModel:c,refLineModel:u}=n,{isContinuous:d,isDiscrete:m,isSnapshot:p}=l.meta,h=t.viewState||{},f=p?l.getLayoutValue("snapshotData.content.chartData",{}):h;o.preventSet("scrollOffset",f.scrollOffset),o.preventSet("legendScrollOffset",f.legendScrollOffset||0),f.zoom&&o.preventSet("zoom",f.zoom);const{onZoomChange:g,onZoomIntercept:v}=Jm.event;m&&o.onChanged("scrollOffset",(()=>{c.command.setDataPages([s.query.getCurrentDataPage()]),u.update(),r.command.updatePartial()}));d&&(o.intercept("zoom",v({viewCache:i})),o.onChanged("zoom",g({continuousDataModel:a,layoutService:l},r.command.updatePartial)))}({core:e,options:r,services:t});const S=[];return M||S.push(o.getEffectiveProperties()),b&&(x.clear(),S.push(u.initialFetch())),S.push(g.command.initialize()),Promise.all(S).then((async e=>{const t=e[0]||void 0;if(null!=t&&t.qHyperCubeDef){const e=function({app:e,model:t,properties:n,layoutService:i,flags:o}){const r=me(!0,{},n),a=i.getLayout();return{shouldUpdate:()=>function({model:e,properties:t,layoutService:n,flags:i}){const o=n.getLayout(),r=gc({enabledForecast:i.isEnabled("LINECHART_FORECAST")||ud(o),properties:t,layout:o});if(r)return!0;return function({model:e,properties:t,layoutService:n}){var i,o;const r=me(!0,{},t);dd(t,n.getLayout());const{dimensionCount:a,isContinuous:s}=n.meta;s||1===a?t.qHyperCubeDef.qMode="S":2===a&&(t.qHyperCubeDef.qMode="K");const l=n.getLayout();if(null===(i=e.colorSupport)||void 0===i||null===(o=i.colorByUpdater)||void 0===o||o.call(i,t,"qHyperCubeDef.",l),function({properties:e,layoutService:t}){const{filteredFields:n}=t.meta;if(!(n.measures.length>0))return;const{mode:i}=e.color||{};if("byExpression"===i){var o;if("colorByExpression"===(null===(o=t.getLayout().qHyperCube.qMeasureInfo)||void 0===o||null===(o=o[0])||void 0===o||null===(o=o.qAttrExprInfo)||void 0===o||null===(o=o[0])||void 0===o?void 0:o.id))return;const{current:i,target:r}=function({properties:e,filtered:t}){const{qMeasures:n}=e.qHyperCubeDef||[],{current:i,target:o}=n.reduce(((e,n,i)=>{var o;return"colorByExpression"===(null===(o=n.qAttributeExpressions[0])||void 0===o?void 0:o.id)&&(e.current=i),void 0!==e.target||t.includes(i)||(e.target=i),e}),{current:void 0,target:void 0});return{current:i,target:o}}({properties:e,filtered:n.measures});if(void 0===i)return;const a=e.qHyperCubeDef.qMeasures[i].qAttributeExpressions[0];e.qHyperCubeDef.qMeasures[i].qAttributeExpressions.splice(0,1),e.qHyperCubeDef.qMeasures[r].qAttributeExpressions.splice(0,0,a)}}({properties:t,layoutService:n}),Jr.compare(r,t,!0)||JSON.stringify(r)===JSON.stringify(t))return!1;return t.hash=Math.random(),!0}({model:e,properties:t,layoutService:n})}({model:t,properties:n,layoutService:i,flags:o}),update:async()=>_s(a)?t.setProperties(n).then((()=>{e.clearUndoBuffer()})):zs(t,r,n)}}({app:i,model:o,properties:t,layoutService:h,flags:n});if(e.shouldUpdate())return await e.update(),void a.pending();a.restore()}d.setProperties(t),y.expando.set("properties",t),await f.initialize(),await p.command.initialize(),await c.initialize(),await s.initialize({properties:t}),m.initialize(),l.command.initialize();const{field:r}=c.getMain().getSettings();return v.setBrushAliases({colorField:r,useLegendCube:l.query.getIsUsingLegendCube(),legendAlias:`${Zm.DATA.LEGEND}/${r}`}),{properties:t}}))}),[e,t,s]);if(c&&!c.isHandled)throw c;return l}({core:n,services:i});!function({core:e,services:t,bootstrapped:n}){const i=T(),o=R(),r=b(),s=N(),l=U(),c=V(),u=function({value:e,wait:t=100})