1import{a2 as D,r as _,R as ee,at as Ye,j as g,g as Me,D as je,H as $e}from"./index-BzOhS_Ua.js";import{bg as Te,bl as Re,cC as Pe,bc as ne,ah as oe,af as Fe,ao as Ge}from"./app-body-B3H32O80.js";import{u as We,i as Ke}from"./useEchartInstance-GV7Ui0FA.js";import{m as Ae}from"./index-BkwfyOLW.js";import{g as Ve}from"./index-B5TJCvXs.js";import{i as qe}from"./install-Csr68650.js";import{i as Ze}from"./install-CkItfzzr.js";import{M as Ce,a as Qe,d as se,z as Ue,b as re,c as Xe,i as Je}from"./installMarkLine-B-dEtD_S.js";import{_ as Ie,j as P,a5 as et,G as ie,cs as tt,aM as le,cF as ce,a9 as ue,as as at,bP as nt,bN as ot,cc as st,bQ as rt,C as it,by as de,ct as Le,aG as he,aU as pe,aE as me,k as lt,bu as ct,cu as G,cG as ut,co as fe,u as dt,a as ht}from"./chart-DdUDI4Ud.js";import{O as ge}from"./OptionsFilter-C-BViGqZ.js";import{n as ve}from"./index-CtKoyCAH.js";import"./points-C_TKkvfk.js";import"./TextInput-Bg3k3lEz.js";import"./useReportsMenu-BKHnvgEQ.js";import"./index-DyVz8Gw4.js";import"./index-BAL4xImf.js";import"./ExportData-Bf-6ThbP.js";import"./access-Bd8dT19o.js";import"./DataTable-Cq9XcWr-.js";import"./forecastSeries-W7i-9i_W.js";import"./ChartSnapshotMenu-eDMaLqXZ.js";import"./createChartTooltip-DmoBiKif.js";import"./formatDaysToEliminate-BD6Zaa3i.js";import"./install-D4cpKK1G.js";import"./installVisualMapPiecewise-dsv0x3Wj.js";import"./index-DxUcrtlp.js";const E={title:{i18n:{ru:"ÐÑÑоÑÐ¸Ñ Ð¿Ñогноза",en:"[[EN: ÐÑÑоÑÐ¸Ñ Ð¿Ñогноза]]"}},close:{i18n:{ru:"ÐакÑÑÑÑ",en:"[[EN: ÐакÑÑÑÑ]]"}},subtitle:{i18n:{ru:"ÐакÑоÑкономиÑеÑкий опÑÐ¾Ñ Ðанка РоÑÑии · опÑоÑов: {=count|number(0)} · {=first} â {=last}",en:"[[EN: ÐакÑоÑкономиÑеÑкий опÑÐ¾Ñ Ðанка РоÑÑии · опÑоÑов: {=count|number(0)} · {=first} â {=last}]]"}},viewYear:{i18n:{ru:"ÐÑогноз на год",en:"[[EN: ÐÑогноз на год]]"}},viewHorizon:{i18n:{ru:"СколÑзÑÑий гоÑизонÑ",en:"[[EN: СколÑзÑÑий гоÑизонÑ]]"}},years:{i18n:{ru:"ÐÑогнознÑй год",en:"[[EN: ÐÑогнознÑй год]]"}},horizons:{i18n:{ru:"ÐоÑизонÑ",en:"[[EN: ÐоÑизонÑ]]"}},chipRemove:{i18n:{ru:"УбÑаÑÑ {=label}",en:"[[EN: УбÑаÑÑ {=label}]]"}},chipLastHint:{i18n:{ru:"ÐоÑледний вÑбÑаннÑй пÑÐ½ÐºÑ ÑбÑаÑÑ Ð½ÐµÐ»ÑзÑ",en:"[[EN: ÐоÑледний вÑбÑаннÑй пÑÐ½ÐºÑ ÑбÑаÑÑ Ð½ÐµÐ»ÑзÑ]]"}},stat:{i18n:{ru:"СÑаÑиÑÑика",en:"[[EN: СÑаÑиÑÑика]]"}},valueMode:{i18n:{ru:"ÐнаÑениÑ",en:"[[EN: ÐнаÑениÑ]]"}},deviationMode:{i18n:{ru:"РаÑÑ
ождение Ñ ÑакÑом",en:"[[EN: РаÑÑ
ождение Ñ ÑакÑом]]"}},showFact:{i18n:{ru:"ФакÑ",en:"[[EN: ФакÑ]]"}},factHint:{i18n:{ru:"ÐÑог календаÑного года по Ñой же меÑÑике, ÑÑо и пÑогноз: {=unit}. Ðа год пÑиÑ
одиÑÑÑ Ð¾Ð´Ð½Ð¾ знаÑение, поÑÑÐ¾Ð¼Ñ Ð²Ð½ÑÑÑи года Ð»Ð¸Ð½Ð¸Ñ Ð½Ðµ менÑеÑÑÑ",en:"[[EN: ÐÑог календаÑного года по Ñой же меÑÑике, ÑÑо и пÑогноз: {=unit}. Ðа год пÑиÑ
одиÑÑÑ Ð¾Ð´Ð½Ð¾ знаÑение, поÑÑÐ¾Ð¼Ñ Ð²Ð½ÑÑÑи года Ð»Ð¸Ð½Ð¸Ñ Ð½Ðµ менÑеÑÑÑ]]"}},factHintFan:{i18n:{ru:"ÐÑог календаÑного года по Ñой же меÑÑике, ÑÑо и пÑогноз: {=unit}",en:"[[EN: ÐÑог календаÑного года по Ñой же меÑÑике, ÑÑо и пÑогноз: {=unit}]]"}},showBand:{i18n:{ru:"ÐоÑÐ¸Ð´Ð¾Ñ 10â90%",en:"[[EN: ÐоÑÐ¸Ð´Ð¾Ñ 10â90%]]"}},bandHint:{i18n:{ru:"ÐнÑÑÑи коÑидоÑа â 80% оÑвеÑов пÑогнозиÑÑов, кÑайние 10% оÑбÑоÑенÑ. ÐоÑÑÑпен, когда вÑбÑан один пÑогнознÑй год",en:"[[EN: ÐнÑÑÑи коÑидоÑа â 80% оÑвеÑов пÑогнозиÑÑов, кÑайние 10% оÑбÑоÑенÑ. ÐоÑÑÑпен, когда вÑбÑан один пÑогнознÑй год]]"}},showFan:{i18n:{ru:"ÐÐµÐµÑ Ð¿Ñогнозов",en:"[[EN: ÐÐµÐµÑ Ð¿Ñогнозов]]"}}
1,fanHint:{i18n:{ru:"ÐÐ°Ð¶Ð´Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ â один опÑÐ¾Ñ Ð¸ его пÑогноз на вÑе Ð³Ð¾Ð´Ñ ÑÑазÑ. Чем ÑвеÑлее линиÑ, Ñем ÑÑаÑÑе опÑоÑ; ползÑнок «ÐпÑоÑ» лиÑÑÐ°ÐµÑ Ð¸ÑÑоÑиÑ",en:"[[EN: ÐÐ°Ð¶Ð´Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ â один опÑÐ¾Ñ Ð¸ его пÑогноз на вÑе Ð³Ð¾Ð´Ñ ÑÑазÑ. Чем ÑвеÑлее линиÑ, Ñем ÑÑаÑÑе опÑоÑ; ползÑнок «ÐпÑоÑ» лиÑÑÐ°ÐµÑ Ð¸ÑÑоÑиÑ]]"}},fanSurvey:{i18n:{ru:"ÐпÑоÑ",en:"[[EN: ÐпÑоÑ]]"}},forecastFor:{i18n:{ru:"ÐÑогноз на {=year}",en:"[[EN: ÐÑогноз на {=year}]]"}},factFor:{i18n:{ru:"Ð¤Ð°ÐºÑ {=year}",en:"[[EN: Ð¤Ð°ÐºÑ {=year}]]"}},horizonCurrent:{i18n:{ru:"ТекÑÑий год",en:"[[EN: ТекÑÑий год]]"}},horizonYear1:{i18n:{ru:"ЧеÑез год",en:"[[EN: ЧеÑез год]]"}},horizonYear2:{i18n:{ru:"ЧеÑез 2 года",en:"[[EN: ЧеÑез 2 года]]"}},horizonYear3:{i18n:{ru:"ЧеÑез 3 года",en:"[[EN: ЧеÑез 3 года]]"}},horizonWithCount:{i18n:{ru:"{=name} · {=count} из {=total}",en:"[[EN: {=name} · {=count} из {=total}]]"}},horizonFact:{i18n:{ru:"Ð¤Ð°ÐºÑ Â· {=name}",en:"[[EN: Ð¤Ð°ÐºÑ Â· {=name}]]"}},deviationOf:{i18n:{ru:"РаÑÑ
ождение · {=name}",en:"[[EN: РаÑÑ
ождение · {=name}]]"}},deviationAxis:{i18n:{ru:"РаÑÑ
ождение пÑогноза Ñ ÑакÑом, {=unit} · вÑÑе нÑÐ»Ñ â ждали болÑÑе",en:"[[EN: РаÑÑ
ождение пÑогноза Ñ ÑакÑом, {=unit}]]"}},zeroLine:{i18n:{ru:"ÐÑогноз Ñовпал Ñ ÑакÑом",en:"[[EN: ÐÑогноз Ñовпал Ñ ÑакÑом]]"}},fanSurveyLine:{i18n:{ru:"ÐпÑÐ¾Ñ {=survey}",en:"[[EN: ÐпÑÐ¾Ñ {=survey}]]"}},targetYear:{i18n:{ru:"на {=year} год",en:"[[EN: на {=year} год]]"}},fanFact:{i18n:{ru:"ФакÑ",en:"[[EN: ФакÑ]]"}},statMedian:{i18n:{ru:"Ðедиана",en:"[[EN: Ðедиана]]"}},statAverage:{i18n:{ru:"СÑеднее",en:"[[EN: СÑеднее]]"}},statMax:{i18n:{ru:"ÐакÑимÑм",en:"[[EN: ÐакÑимÑм]]"}},statP90:{i18n:{ru:"90-й пÑоÑенÑилÑ",en:"[[EN: 90-й пÑоÑенÑилÑ]]"}},statQ3:{i18n:{ru:"3-й кваÑÑилÑ",en:"[[EN: 3-й кваÑÑилÑ]]"}},statQ1:{i18n:{ru:"1-й кваÑÑилÑ",en:"[[EN: 1-й кваÑÑилÑ]]"}},statP10:{i18n:{ru:"10-й пÑоÑенÑилÑ",en:"[[EN: 10-й пÑоÑенÑилÑ]]"}},statMin:{i18n:{ru:"ÐинимÑм",en:"[[EN: ÐинимÑм]]"}},statAnswers:{i18n:{ru:"ÐÑего оÑвеÑов",en:"[[EN: ÐÑего оÑвеÑов]]"}},noHistory:{i18n:{ru:"Ðо ÑÑÐ¾Ð¼Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÐµÐ»Ñ Ð¸ÑÑоÑии опÑоÑа неÑ: он ÑаÑÑÑиÑÑваеÑÑÑ, а не ÑпÑаÑиваеÑÑÑ Ñ Ð¿ÑогнозиÑÑов",en:"[[EN: Ðо ÑÑÐ¾Ð¼Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÐµÐ»Ñ Ð¸ÑÑоÑии опÑоÑа неÑ]]"}},source:{i18n:{ru:"ÐÑÑоÑник: Ðанк РоÑÑии, агÑегиÑованнÑе ÑезÑлÑÑаÑÑ Ð¾Ð¿ÑоÑа. СÑез Ð¾Ñ {=snapshot}",en:"[[EN: ÐÑÑоÑник: Ðанк РоÑÑии, агÑегиÑованнÑе ÑезÑлÑÑаÑÑ Ð¾Ð¿ÑоÑа]]"}}};var pt=function(e){Ie(a,e);function a(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=a.type,n}return a.prototype.createMarkerModelFromSeries=function(n,t,s){return new a(n,t,s)},a.type="markArea",a.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},a}(Ce),W=ct(),mt=function(e,a,n,t){var s=t[0],d=t[1];if(!(!s||!d)){var p=se(e,s),o=se(e,d),f=p.coord,h=o.coord;f[0]=G(f[0],-1/0),f[1]=G(f[1],-1/0),h[0]=G(h[0],1/0),h[1]=G(h[1],1/0);var c=ut([{},p,o]);return c.coord=[p.coord,o.coord],c.x0=p.x,c.y0=p.y,c.x1=o.x,c.y1=o.y,c}};function V(e){return!isNaN(e)&&!isFinite(e)}function ye(e,a,n,t){var s=1-e;return V(a[s])&&V(n[s])}function ft(e,a){var n=a.coord[0],t=a.coord[1],s={coord:n,x:a.x0,y:a.y0},d={coord:t,x:a.x1,y:a.y1};return Le(e,"cartesian2d")?n&&t&&(ye(1,n,t)||ye(0,n,t))?!0:Ue(e,s,d):re(e,s)||re(e,d)}function be(e,a,n,t,s){var d=t.coordinateSystem,p=e.getItemModel(a),o,f=de(p.get(n[0]),s.getWidth()),h=de(p.get(n[1]),s.getHeight());if(!isNaN(f)&&!isNaN(h))o=[f,h];else{if(t.getMarkerPosition){var c=e.getValues(["x0","y0"],a),i=e.getValues(["x1","y1"],a),r=d.clampData(c),m=d.clampData(i),u=[];n[0]==="x0"?u[0]=r[0]>m[0]?i[0]:c[0]:u[0]=r[0]>m[0]?c[0]:i[0],n[1]==="y0"?u[1]=r[1]>m[1]?i[1]:c[1]:u[1]=r[1]>m[1]?c[1]:i[1],o=t.getMarkerPosition(u,n,!0)}else{var y=e.get(n[0],a),b=e.get(n[1],a),l=[y,b];d.clampData&&d.clampData(l,l),o=d.dataToPoint(l,!0)}if(Le(d,"cartesian2d")){var w=d.getAxis("x"),k=d.getAxis("y"),y=e.get(n[0],a),b=e.get(n[1],a);V(y)?o[0]=w.toGlobalCoord(w.getExtent()[n[0]==="x0"?0:1]):V(b)&&(o[1]=k.toGlobalCoord(k.getExtent()[n[1]==="y0"?0:1]))}isNaN(f)||(o[0]=f),isNaN(h)||(o[1]=h)}return o}var xe=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],gt=function(e){Ie(a,e);function a(){var n=e!==null&&e.apply(this,arguments)||this;return n.type=a.type,n}return a.prototype.updateTransform=function(n,t,s){t.eachSeries(function(d){var p=Ce.getMarkerModelFromSeries(d,"markArea");if(p){var o=p.getData();o.each(function(f){var h=P(xe,function(i){return be(o,f,i,d,s)});o.setItemLayout(f,h);var c=o.getItemGraphicEl(f);c.setShape("points",h)})}},this)},a.prototype.renderSeries=function(n,t,s,d){var p=n.coordinateSystem,o=n.id,f=n.getData(),h=this.markerGroupMap,c=h.get(o)||h.set(o,{group:new et});this.group.add(c.group),this.markKeep(c);var i=vt(p,n,t);t.setData(i),i.each(function(r){var m=P(xe,function(M){return be(i,r,M,n,d)}),u=p.getAxis("x").scale,y=p.getAxis("y").scale,b=u.getExtent(),l=y.getExtent(),w=[u.parse(i.get("x0",r)),u.parse(i.get("x1",r))],k=[y.parse(i.get("y0",r)),y.parse(i.get("y1",r))];ie(w),ie(k);var I=!(b[0]>w[1]||b[1]<w[0]||l[0]>k[1]||l[1]<k[0]),H=!I;i.setItemLayout(r,{points:m,allClipped:H});var S=i.getItemModel(r).getModel("itemStyle").getItemStyle(),j=tt(f,"color");S.fill||(S.fill=j,le(S.fill)&&(S.fill=ce(S.fill,.4))),S.stroke||(S.stroke=j),i.setItemVisual(r,"style",S)}),i.diff(W(c).data).add(function(r){var m=i.getItemLayout(r);if(!m.allClipped){var u=new ue({shape:{points:m.points}});i.setItemGraphicEl(r,u),c.group.add(u)}}).update(function(r,m){var u=W(c).data.getItemGraphicEl(m),y=i.getItemLayout(r);y.allClipped?u&&c.group.remove(u):(u?at(u,{shape:{points:y.points}},t,r):u=new ue({shape:{points:y.points}}),i.setItemGraphicEl(r,u),c.group.add(u))}).remove(function(r){var m=W(c).data.getItemGraphicEl(r);c.group.remove(m)}).execute(),i.eachItemGraphicEl(function(r,m){var u=i.getItemModel(m),y=i.getItemVisual(m,"style");
1r.useStyle(i.getItemVisual(m,"style")),nt(r,ot(u),{labelFetcher:t,labelDataIndex:m,defaultText:i.getName(m)||"",inheritColor:le(y.fill)?ce(y.fill,1):"#000"}),st(r,u),rt(r,null,null,u.get(["emphasis","disabled"])),it(r).dataModel=t}),W(c).data=i,c.group.silent=t.get("silent")||n.get("silent")},a.type="markArea",a}(Qe);function vt(e,a,n){var t,s,d=["x0","y0","x1","y1"];if(e){var p=P(e&&e.dimensions,function(h){var c=a.getData(),i=c.getDimensionInfo(c.mapDimension(h))||{};return he(he({},i),{name:h,ordinalMeta:null})});s=P(d,function(h,c){return{name:h,type:p[c%2].type}}),t=new pe(s,n)}else s=[{name:"value",type:"float"}],t=new pe(s,n);var o=P(n.get("data"),me(mt,a,e,n));e&&(o=lt(o,me(ft,e)));var f=e?function(h,c,i,r){var m=h.coord[Math.floor(r/2)][r%2];return fe(m,s[r])}:function(h,c,i,r){return fe(h.value,s[r])};return t.initData(o,null,f),t.hasItemOption=!0,t}function yt(e){e.registerComponentModel(pt),e.registerComponentView(gt),e.registerPreprocessor(function(a){Xe(a.series,"markArea")&&(a.markArea=a.markArea||{})})}const bt=["median","average","max","p90","q3","q1","p10","min"],X=[0,1,2,3],_e=[D.blue[6],D.teal[6],D.orange[6],D.violet[6],D.red[6],D.green[6],D.yellow[6],D.blue[3],D.teal[3]
1],O=e=>_e[Math.abs(Number.isInteger(e)?e:0)%_e.length],xt=.18,Se=.08,_t=.38,St=e=>e==="light"?{color:D.blue[7],opacity:.09}:{color:D.blue[6],opacity:.1},we=24,te=e=>{const[a,n]=e.split("-").map(Number);return new Date(a,n-1,1)},q=e=>te(e).getTime(),ae=e=>te(e).getFullYear(),wt=(e,a)=>{const n=q(e[e.length-1]);return Math.max(a,n+30*24*3600*1e3)},T=(e,a,n)=>{const t=e.map((s,d)=>[q(s),a[d]??null]);return t.push([n,a[a.length-1]??null]),t},Nt=(e,a,n,t)=>{var s,d;return((d=(s=e.values)==null?void 0:s[a])==null?void 0:d[n])??new Array(t).fill(null)},U=(e,a,n,t)=>Nt(e,a,n,t),De=(e,a,n,t)=>t.map((s,d)=>{var p,o,f;return((f=(o=(p=e.values)==null?void 0:p[a])==null?void 0:o[String(ae(s)+n)])==null?void 0:f[d])??null}),Et=(e,a,n,t)=>De(e,a,n,t).filter(s=>s!==null).length,kt=(e,a)=>{const n=e.filter(s=>a[s]>0);if(n.length===e.length)return e;if(n.length)return n;const t=Object.keys(a).map(Number).sort((s,d)=>s-d).find(s=>a[s]>0);return t===void 0?e:[t]},Mt=(e,a,n)=>n.map(t=>e.fact[String(ae(t)+a)]??null),jt=(e,a)=>e.map((n,t)=>{const s=a[t];return n===null||s===null||s===void 0?null:n-s}),Ne=(e,a,n)=>e.years.map(t=>{var s,d,p;return[Number(t),((p=(d=(s=e.values)==null?void 0:s[a])==null?void 0:d[t])==null?void 0:p[n])??null]}),Ft=e=>e.years.map(a=>[Number(a),e.fact[a]??null]),He=(e,a)=>{const n=[e];for(let t=new Date(e).getFullYear()+1;t<=new Date(a).getFullYear();t+=1)n.push(new Date(t,0,1).getTime());return n.push(a),n.slice(0,-1).map((t,s)=>({start:t,end:n[s+1],year:new Date(t).getFullYear(),shaded:s%2===0}))},At=(e,a)=>e.years.filter(n=>{var t,s,d;return(d=(s=(t=e.values)==null?void 0:t[a])==null?void 0:s[n])==null?void 0:d.some(p=>p!==null)}),Ct=(e,a,n)=>n.length?n.reduce((t,s)=>{const d=p=>{var o,f;return((f=(o=e.values[a])==null?void 0:o[p])==null?void 0:f.filter(h=>h!==null).length)??0};return d(s)>d(t)?s:t},n[0]):null,It=({indicator:e,initialYear:a,initialView:n,surveys:t})=>{const s=t.length,[d,p]=_.useState(n),[o,f]=_.useState("median"),[h,c]=_.useState([]),[i,r]=_.useState([0,3]),[m,u]=_.useState("value"),[y,b]=_.useState(!0),[l,w]=_.useState(!1),[k,I]=_.useState(!1),[H,S]=_.useState(Math.max(s-1,0)),j=_.useMemo(()=>e?Object.entries(e.values??{}).filter(([,v])=>Object.values(v).some(B=>B.some(Y=>Y!==null))).map(([v])=>v):[],[e]),M=_.useMemo(()=>e?At(e,o):[],[e,o]),L=_.useMemo(()=>Object.fromEntries(X.map(v=>[v,e?Et(e,o,v,t):0])),[e,o,t]);return _.useEffect(()=>{r(v=>kt(v,L))},[L]),_.useEffect(()=>{e&&c(v=>{const B=v.filter(Z=>M.includes(Z));if(B.length)return B.length===v.length?v:B;const Y=a&&M.includes(a)?a:Ct(e,o,M);return Y?[Y]:[]})},[e,M,a,o]),_.useEffect(()=>{S(Math.max(s-1,0))},[s]),{view:d,setView:p,stat:o,setStat:f,availableYears:M,availableStats:j,horizonCounts:L,years:h,setYears:c,horizons:i,setHorizons:r,valueMode:m,setValueMode:u,withFact:y,setWithFact:b,withBand:l,setWithBand:w,fan:k,setFan:I,surveyIndex:H,setSurveyIndex:S}},Lt="_modal_1jyp7_1",Dt="_header_1jyp7_14",Ht="_title_1jyp7_24",Bt="_subtitle_1jyp7_30",zt="_close_1jyp7_35",Ot="_body_1jyp7_55",Yt="_footer_1jyp7_64",$t="_empty_1jyp7_71",C={modal:Lt,header:Dt,title:Ht,subtitle:Bt,close:zt,body:Ot,footer:Yt,empty:$t,"tooltip-header":"_tooltip-header_1jyp7_83","tooltip-row":"_tooltip-row_1jyp7_90","tooltip-name":"_tooltip-name_1jyp7_99","tooltip-marker":"_tooltip-marker_1jyp7_107","tooltip-note":"_tooltip-note_1jyp7_114","tooltip-value":"_tooltip-value_1jyp7_118"};dt([qe,Ke,Ze,Je,yt,ht]);const K=e=>({color:e.axisLabel,fontSize:11,fontFamily:"Inter"}),Tt=(e,a)=>a.map(([n,t],s)=>{var p;const d=(p=e[s])==null?void 0:p[1];return[n,t===null||d===null||d===void 0?null:t-d]}),Rt=({model:e})=>{const{f:a,locale:n}=ee(),t=Ve("dark"),s=Ye(t),{containerRef:d,setOption:p}=We(),o=String(a(E.zeroLine,{})??""),f=_.useMemo(()=>{if(!e)return null;const h=e.stepped?"end":!1,c=l=>l==null?"â":String(a(Te.numberByLength,{value:l})??""),i=Ae(n,"short"),r=e.yearBands.length?[{id:"year-bands",type:"line",silent:!0,data:[],tooltip:{show:!1},markArea:{silent:!0,data:e.yearBands.map(l=>[{xAxis:l.start,itemStyle:l.shaded?St(t):{color:"transparent"},label:{show:!0,formatter:String(l.year),position:"insideBottom",offset:[0,we],...K(s)}},{xAxis:l.end}])}}]:[],m=e.bands.flatMap(l=>[{id:`${l.id}-base`,name:l.name,type:"line",step:h,stack:l.id,symbol:"none",silent:!0,lineStyle:{opacity:0}
1,areaStyle:{opacity:0},tooltip:{show:!1},data:l.lower},{id:l.id,name:l.name,type:"line",step:h,stack:l.id,symbol:"none",silent:!0,lineStyle:{opacity:0},areaStyle:{color:l.color,opacity:xt},tooltip:{show:!1},data:Tt(l.lower,l.upper)}]),u=new Map(e.series.filter(l=>l.tipNote).map(l=>[l.id,l.tipNote])),y=new Map(e.series.map(l=>[l.id,!!l.dashed])),b=e.series.map(l=>{var w;return{id:l.id,name:l.name,type:"line",step:h,symbol:"none",connectNulls:!1,emphasis:{disabled:l.faded!==void 0},silent:l.faded!==void 0,tooltip:{show:l.faded===void 0},lineStyle:{color:l.color,width:l.faded!==void 0?1:l.muted?1.5:2,opacity:l.faded??(l.muted?.7:1),type:l.dashed?"dashed":"solid"},itemStyle:{color:l.color},data:l.points,...e.withZeroLine&&l.id===((w=e.series[0])==null?void 0:w.id)?{markLine:{silent:!0,symbol:"none",label:{formatter:o,color:s.axisLabel,fontSize:11,fontFamily:"Inter",position:"insideStartTop"},lineStyle:{color:s.axisLabel,type:"solid",width:1},data:[{yAxis:0}]}}:{}}});return{animation:!1,grid:{left:8,right:16,top:34,bottom:e.yearBands.length?we:8,containLabel:!0},tooltip:{trigger:"axis",backgroundColor:s.tooltipBg,borderColor:s.tooltipBorder,textStyle:{color:s.tooltipText,fontSize:12,fontFamily:"Inter"},axisPointer:{type:"line",lineStyle:{color:s.gridLine}},formatter:l=>{var H;const w=l.filter(S=>{var j,M;return((j=S.value)==null?void 0:j[1])!==null&&((M=S.value)==null?void 0:M[1])!==void 0}).map(S=>{var M,L;const j=(M=u.get(S.seriesId??""))==null?void 0:M(S.dataIndex??0);return`<div class="${C["tooltip-row"]}"><span class="${C["tooltip-name"]}"><span class="${C["tooltip-marker"]}" style="border-top-color:${S.color};border-top-style:${y.get(S.seriesId??"")?"dashed":"solid"}"></span>${S.seriesName}`+(j?`<span class="${C["tooltip-note"]}">${j}</span>`:"")+`</span><span class="${C["tooltip-value"]}">${c((L=S.value)==null?void 0:L[1])}</span></div>`}).join(""),k=((H=l[0])==null?void 0:H.axisValue)??0,I=e.timeAxis?i.format(new Date(Number(k))):String(k);return`<div class="${C["tooltip-header"]}">${I}</div>${w}`}},xAxis:{type:e.timeAxis?"time":"value",min:e.timeAxis?void 0:"dataMin",max:e.timeAxis?void 0:"dataMax",minInterval:e.timeAxis?void 0:1,axisLabel:{show:!e.yearBands.length,...K(s),formatter:e.timeAxis?void 0:l=>String(l),hideOverlap:!0},axisLine:{lineStyle:{color:s.axisLine}},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"value",scale:!0,name:e.valueLabel,nameLocation:"end",nameGap:16,nameTextStyle:{...K(s),align:"left"},axisLabel:{...K(s),formatter:l=>c(l)},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:s.gridLine}}},series:[...r,...m,...b]}},[e,s,t,a,n,o]);return _.useEffect(()=>{f&&p(f)},[f,p]),{containerRef:d}},Pt="_chart_1ajlg_1",Gt={chart:Pt},Wt=({model:e})=>{const{containerRef:a}=Rt({model:e});return g.jsx("div",{ref:a,className:Gt.chart})},Kt="_hint_1dwqz_1",Vt="_accent_1dwqz_12",Ee={hint:Kt,accent:Vt},J=({text:e,accent:a,size:n=14})=>g.jsx(Re,{overlay:e,placement:"top",width:"normal",trigger:["hover","focus"],children:g.jsx("span",{className:Me(Ee.hint,a&&Ee.accent),tabIndex:0,role:"img","aria-label":e,children:g.jsx(Pe,{width:n,height:n,stroke:"currentColor","aria-hidden":"true"})})}),qt="_controls_og9ig_1",Zt="_row_og9ig_8",Qt="_segment_og9ig_17",Ut="_group_og9ig_26",Xt="_label_og9ig_32",Jt="_range_og9ig_38",ea="_badge_og9ig_43",ta="_toggles_og9ig_54",aa="_toggle_og9ig_54",na="_fan_og9ig_66",oa="_chips_og9ig_73",sa="_chip_og9ig_73",ra="_dot_og9ig_106",ia="_remove_og9ig_113",F={controls:qt,row:Zt,"segment-control":"_segment-control_og9ig_17",segment:Qt,group:Ut,label:Xt,range:Jt,badge:ea,toggles:ta,toggle:aa,fan:na,chips:oa,chip:sa,dot:ra,remove:ia},la=({viewOptions:e,view:a,onViewChange:n,picker:t,statOptions:s,stat:d,onStatApply:p,valueModeOptions:o,valueMode:f,onValueModeChange:h,toggles:c,fan:i,chips:r,survey:m})=>g.jsxs("div",{className:F.controls,children:[g.jsxs("div",{className:F.row,children:[g.jsx(ne,{options:e,optionKey:a,handleOptionChange:u=>u&&n(u),theme:F}),m?g.jsxs("div",{className:F.group,children:[g.jsx("span",{className:F.label,children:m.label}),g.jsx("input",{type:"range",className:F.range,min:0,max:m.max,value:m.value,onChange:u=>m.onChange(Number(u.target.value)),"aria-label":m.label,"aria-valuetext":m.text}),g.jsx("span",{className:F.badge,children:m.text})]}):g.jsx(ge,{header:t.header,popoverTitle:t.title,options:t.options,selectedKeys:t.selectedKeys,isOptionDisabled:t.isOptionDisabled,onApply:t.onApply,withSearch:!1,visibleRows:9}),g.jsx(ge,{mode:"radio",header:s.header,popoverTitle:s.title,options:s.options,selectedKeys:[d],onApply:p,isOptionDisabled:s.isOptionDisabled,withSearch:!1,withTriggerCounter:!1,visibleRows:8}),o&&g.jsx(ne,{options:o,optionKey:f,handleOptionChange:u=>u&&h(u),theme:F}),g.jsx("div",{className:F.toggles,children:c.map(u=>g.jsxs("span",{className:F.toggle,children:[g.jsx(oe,{compact:!0,label:u.label,addProps:()=>({checked:u.checked,disabled:u.disabled,onChange:y=>u.onChange(y.target.checked)})}),u.hint&&g.jsx(J,{text:u.hint,accent:u.disabled})]},u.id))}),g.jsxs("span",{className:F.fan,children:[g.jsx(oe,{compact:!0,label:i.label,addProps:()=>({checked:i.checked,onChange:u=>i.onChange(u.target.checked)})}),i.hint&&g.jsx(J,{text:i.hint})]})]}),r.length>0&&g.jsx("div",{className:F.chips,children:r.map(u=>g.jsxs("button",{type:"button",className:F.chip,onClick:u.onRemove,disabled:!u.removable,title:u.hint,"aria-label":u.hint,children:[g.jsx("span",{className:F.dot,style:{background:u.color}}
1),u.label,g.jsx(Fe,{size:10,className:F.remove,"aria-hidden":"true"})]},u.id))})]}),ke=(e,a,n)=>a&&n===1,ca=({state:e,surveys:a,formatSurvey:n,factHint:t,fanFactHint:s,horizonName:d,statName:p})=>{const o=je(E),{f}=ee(),{view:h,setView:c,stat:i,setStat:r,availableYears:m,availableStats:u,horizonCounts:y,years:b,setYears:l,horizons:w,setHorizons:k,valueMode:I,setValueMode:H,withFact:S,setWithFact:j,withBand:M,setWithBand:L,fan:v,setFan:B,surveyIndex:Y,setSurveyIndex:Z}=e,$=h==="year",Be=_.useMemo(()=>{if($)return{header:o.years,title:o.years,options:m.map(x=>({key:x,name:x})),selectedKeys:b,isOptionDisabled:ke,onApply:x=>l([...x].sort((A,z)=>Number(A)-Number(z)))};const N=X.some(x=>y[x]>0);return{header:o.horizons,title:o.horizons,options:X.map(x=>({key:String(x),name:String(f(E.horizonWithCount,{name:d(x),count:y[x],total:a.length})??"")})),selectedKeys:w.map(String),isOptionDisabled:(x,A,z)=>ke(x,A,z)||N&&y[Number(x.key)]===0,onApply:x=>k(x.map(Number).sort((A,z)=>A-z))}},[$,o.years,o.horizons,m,b,l,w,k,d,y,a.length,f]),Q=_.useCallback((N,x)=>x?String(f(E.chipRemove,{label:N})??""):o.chipLastHint,[f,o.chipLastHint]),ze=_.useMemo(()=>{if(v)return[];if($){const x=b.length>1;return b.map(A=>({id:A,label:A,color:O(m.indexOf(A)),hint:Q(A,x),removable:x,onRemove:()=>l(b.filter(z=>z!==A))}))}const N=w.length>1;return w.map(x=>{const A=d(x);return{id:String(x),label:A,color:O(x),hint:Q(A,N),removable:N,onRemove:()=>k(w.filter(z=>z!==x))}})},[v,$,b,m,w,l,k,d,Q]),Oe=_.useMemo(()=>{if(v)return[{id:"fan-fact",label:o.showFact,hint:s,checked:S,onChange:j}];const N={id:"fact",label:o.showFact,hint:t,checked:S,onChange:j};return $?[N,{id:"band",label:o.showBand,hint:o.bandHint,checked:M&&b.length===1,disabled:b.length>1,onChange:L}]:I==="deviation"?[]:[N]},[v,$,I,b.length,S,j,M,L,o.showFact,o.showBand,o.bandHint,t,s]);return{viewOptions:[{key:"year",label:o.viewYear},{key:"horizon",label:o.viewHorizon}],view:h,onViewChange:N=>{B(!1),c(N)},picker:Be,statOptions:{header:`${o.stat}: ${p(i)}`,title:o.stat,options:bt.map(N=>({key:N,name:p(N)})),isOptionDisabled:N=>!u.includes(N.key)},stat:i,onStatApply:N=>{const x=N[0];x&&r(x)},valueModeOptions:!v&&!$?[{key:"value",label:o.valueMode},{key:"deviation",label:o.deviationMode}]:null,valueMode:I,onValueModeChange:N=>H(N),toggles:Oe,fan:{id:"fan",label:o.showFan,hint:o.fanHint,checked:v,onChange:B},chips:ze,survey:v?{label:o.fanSurvey,text:n(a[Y]??a[a.length-1]),value:Y,max:Math.max(a.length-1,0),onChange:Z}:null}},ua=e=>{const a=new Set,n=new Set;for(const t of e)t.hint&&!a.has(t.hint)&&(a.add(t.hint),n.add(t.id));return n},da="_legend_1bebo_1",ha="_item_1bebo_8",pa="_mark_1bebo_17",ma="_dashed_1bebo_23",fa="_band_1bebo_27",R={legend:da,item:ha,mark:pa,dashed:ma,band:fa},ga=({model:e})=>{if(!e)return null;const a=[...e.series.filter(t=>t.faded===void 0).map(t=>({id:t.id,name:t.name,color:t.color,dashed:t.dashed,hint:t.hint})),...e.bands.map(t=>({id:t.id,name:t.name,color:t.color,band:!0}))],n=ua(a);return g.jsx("div",{className:R.legend,children:a.map(t=>g.jsxs("span",{className:R.item,children:[g.jsx("span",{className:Me(R.mark,"dashed"in t&&t.dashed&&R.dashed,"band"in t&&R.band),style:{borderTopColor:t.color,background:"band"in t?t.color:void 0}}),t.name,"hint"in t&&t.hint&&n.has(t.id)&&g.jsx(J,{text:t.hint,size:12})]},t.id))})},va=e=>{const{indicator:a,surveys:n,stat:t,surveyIndex:s,withFact:d,labels:p}=e,o=[];return n.slice(0,s).forEach((f,h)=>{const c=Ne(a,t,h);c.some(([,i])=>i!==null)&&o.push({id:`fan-${f}`,name:p.fanSurvey(f),color:O(0),faded:Se+(_t-Se)*(h/Math.max(s,1)),points:c})}),o.push({id:"fan-current",name:p.fanSurvey(n[s]),color:O(0),points:Ne(a,t,s)}),d&&o.push({id:"fan-fact",name:p.fanFact,hint:p.fanFactHint,color:O(2),dashed:!0,points:Ft(a)}),o},ya=(e,a)=>{const{indicator:n,surveys:t,stat:s,years:d,availableYears:p,withFact:o,withBand:f,labels:h}=e,c=[];d.forEach(r=>{const m=O(p.indexOf(r));c.push({id:`year-${r}`,name:h.forecastFor(r),color:m,points:T(t,U(n,s,r,t.length),a)});const u=n.fact[r];o&&u!==void 0&&c.push({id:`year-fact-${r}`,name:h.factFor(r),hint:h.factHint,color:m,dashed:!0,muted:!0,points:T(t,t.map(()=>u),a)})});const i=[];if(f&&d.length===1){const r=d[0];i.push({id:`band-${r}`,name:h.band,color:O(p.indexOf(r)),lower:T(t,U(n,"p10",r,t.length),a),upper:T(t,U(n,"p90",r,t.length),a)})}return{series:c,bands:i,valueLabel:h.unit,timeAxis:!0,yearBands:He(q(t[0]),a),stepped:!0,withZeroLine:!1}},ba=(e,a)=>{const{indicator:n,surveys:t,stat:s,horizons:d,valueMode:p,withFact:o,labels:f}=e,h=[];d.forEach(i=>
1{const r=O(i),m=f.horizonName(i),u=De(n,s,i,t),y=Mt(n,i,t),b=l=>{const w=t[Math.min(l,t.length-1)];return f.targetYear(ae(w)+i)};if(p==="deviation"){h.push({id:`deviation-${i}`,name:f.deviationOf(m),color:r,tipNote:b,points:T(t,jt(u,y),a)});return}h.push({id:`horizon-${i}`,name:m,color:r,tipNote:b,points:T(t,u,a)}),o&&h.push({id:`horizon-fact-${i}`,name:f.horizonFact(m),hint:f.factHint,color:r,dashed:!0,muted:!0,tipNote:b,points:T(t,y,a)})});const c=p==="deviation";return{series:h,bands:[],valueLabel:c?f.deviationAxis:f.unit,timeAxis:!0,yearBands:He(q(t[0]),a),stepped:!0,withZeroLine:c}},xa=e=>{if(e.fan)return{series:va(e),bands:[],valueLabel:e.labels.unit,timeAxis:!1,yearBands:[],stepped:!1,withZeroLine:!1};const a=wt(e.surveys,e.now);return e.view==="year"?ya(e,a):ba(e,a)},_a=e=>e.replace(/\.$/,""),Sa=(e,a,n="long")=>Ae(a,n).format(te(e)),wa=["horizonCurrent","horizonYear1","horizonYear2","horizonYear3"],Na={median:"statMedian",average:"statAverage",max:"statMax",p90:"statP90",q3:"statQ3",q1:"statQ1",p10:"statP10",min:"statMin",answers:"statAnswers"},Ua=({history:e,loadingStatus:a,indicatorKey:n,year:t,view:s,indicatorLabel:d,onClose:p})=>{const{f:o,locale:f}=ee(),h=je(E),c=_.useMemo(()=>{if(!e||!n)return null;const v=ve(n);return(e.indicators??[]).find(B=>ve(B.key)===v)??null},[e,n]),i=_.useMemo(()=>(e==null?void 0:e.meta.surveys)??[],[e]),r=It({indicator:c,initialYear:t,initialView:s,surveys:i}),m=_.useCallback(v=>Sa(v,f),[f]),u=_.useCallback(v=>String(o(E[wa[v]],{})??""),[o]),y=_.useCallback(v=>String(o(E[Na[v]],{})??""),[o]),b=(c==null?void 0:c.unitRu)??"",l=String(o(E.factHint,{unit:_a(b)})??""),w=String(o(E.factHintFan,{unit:b})??""),k=ca({state:r,surveys:i,formatSurvey:m,factHint:l,fanFactHint:w,horizonName:u,statName:y}),I=_.useMemo(()=>!c||!i.length?null:xa({indicator:c,surveys:i,now:Date.now(),view:r.view,stat:r.stat,years:r.years,availableYears:r.availableYears,horizons:r.horizons,valueMode:r.valueMode,withFact:r.withFact,withBand:r.withBand,fan:r.fan,surveyIndex:r.surveyIndex,labels:{forecastFor:v=>String(o(E.forecastFor,{year:v})??""),factFor:v=>String(o(E.factFor,{year:v})??""),horizonName:u,horizonFact:v=>String(o(E.horizonFact,{name:v})??""),deviationOf:v=>String(o(E.deviationOf,{name:v})??""),fanSurvey:v=>String(o(E.fanSurveyLine,{survey:m(v)})??""),fanFact:String(o(E.fanFact,{})??""),factHint:l,fanFactHint:w,targetYear:v=>String(o(E.targetYear,{year:v})??""),band:h.showBand,unit:b,deviationAxis:String(o(E.deviationAxis,{unit:b})??"")}}),[c,i,r.view,r.stat,r.years,r.availableYears,r.horizons,r.valueMode,r.withFact,r.withBand,r.fan,r.surveyIndex,o,m,u,h.showBand,b,l,w]),H=_.useMemo(()=>i.length?String(o(E.subtitle,{count:i.length,first:m(i[0]),last:m(i[i.length-1])})??""):"",[i,o,m]),S=r.view==="year"&&!r.fan&&r.years.length===1?r.years[0]:null,j=[h.title,(c==null?void 0:c.nameRu)??d,S].filter(Boolean).join(" · "),M=[H,c==null?void 0:c.unitRu].filter(Boolean).join(" · "),L=()=>c?g.jsxs(g.Fragment,{children:[g.jsx(la,{...k}),g.jsx(Wt,{model:I}),g.jsx(ga,{model:I}),(e==null?void 0:e.meta.snapshot)&&g.jsx("div",{className:C.footer,children:o(E.source,{snapshot:e.meta.snapshot})})]}):g.jsx("div",{className:C.empty,children:h.noHistory});return g.jsxs(Ge,{open:!0,onClose:p,backdropClassname:void 0,className:C.modal,blockScroll:!0,children:[g.jsxs("div",{className:C.header,children:[g.jsxs("div",{children:[g.jsx("h3",{className:C.title,children:j}),g.jsx("div",{className:C.subtitle,children:M})]}),g.jsx("button",{type:"button",className:C.close,onClick:p,"aria-label":h.close,children:g.jsx(Fe,{size:28,"aria-hidden":"true"})})]}),g.jsx("div",{className:C.body,children:g.jsx($e,{loadingStatuses:[a],children:L()})})]})};export{Ua as EconHistoryModal};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.