@shtabapp/ui-kit 1.77.0 → 1.78.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/SChartBar-BAO2FtIO.cjs +1 -0
- package/dist/SChartBar-DHjm1H0N.js +304 -0
- package/dist/{SChartBurnup-joKIDLFb.cjs → SChartBurnup-9s2KNzCr.cjs} +1 -1
- package/dist/{SChartBurnup-BeQWgnGT.js → SChartBurnup-B1KU1E5B.js} +63 -63
- package/dist/SChartHorizontalBar-DwY63iRT.cjs +1 -0
- package/dist/SChartHorizontalBar-VKU0b6Jx.js +245 -0
- package/dist/{SChartLegend-dDqLhvIj.js → SChartLegend-At0mMO09.js} +1 -1
- package/dist/{SChartLegend-D1gPKGm0.cjs → SChartLegend-DQMLr6yV.cjs} +1 -1
- package/dist/{SChartLine-BV8Ytso5.js → SChartLine-rnEsQv-q.js} +35 -35
- package/dist/{SChartLine-DeJjaBmo.cjs → SChartLine-tj-AapTr.cjs} +1 -1
- package/dist/SChartMultiLine-C4jjmLEb.js +282 -0
- package/dist/SChartMultiLine-dtd6k59D.cjs +1 -0
- package/dist/{SChartPie-DccW5J0b.cjs → SChartPie-Ddk8r-_I.cjs} +1 -1
- package/dist/{SChartPie-BiLoxutQ.js → SChartPie-Ebg7WSga.js} +31 -31
- package/dist/{SChartProgress-DSxJqRA0.js → SChartProgress-DRSh_taf.js} +27 -27
- package/dist/{SChartProgress-Cpdkad6Q.cjs → SChartProgress-DozBX6ve.cjs} +1 -1
- package/dist/SChartScatter-DilWNoz0.cjs +1 -0
- package/dist/SChartScatter-DnmTw18x.js +249 -0
- package/dist/SChartStackedArea-BJ5HsJzQ.cjs +1 -0
- package/dist/SChartStackedArea-zIygTOp8.js +278 -0
- package/dist/SChartStackedBar-CXpVSagd.js +350 -0
- package/dist/SChartStackedBar-Dj6esSCS.cjs +2 -0
- package/dist/{applyChartHighlightedYTick-BHVwiljn.cjs → applyChartHighlightedYTick-CKsVe7PW.cjs} +1 -1
- package/dist/{applyChartHighlightedYTick-DmsstRVM.js → applyChartHighlightedYTick-DOxlsWPd.js} +1 -1
- package/dist/buildChartMirrorScale-CBUIRPYX.cjs +1 -0
- package/dist/buildChartMirrorScale-_PhGNiFR.js +15 -0
- package/dist/buildMultiLineChartScales-BweU2ftq.cjs +1 -0
- package/dist/buildMultiLineChartScales-DbRe2UFD.js +38 -0
- package/dist/components/SChartBar/SChartBar.types.d.ts +4 -0
- package/dist/components/SChartBar/SChartBar.types.d.ts.map +1 -1
- package/dist/components/SChartBar/SChartBar.vue.d.ts.map +1 -1
- package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts +3 -1
- package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts.map +1 -1
- package/dist/components/SChartBar/utils/createBarValueLabelPlugin.d.ts.map +1 -1
- package/dist/components/SChartHorizontalBar/SChartHorizontalBar.types.d.ts +12 -0
- package/dist/components/SChartHorizontalBar/SChartHorizontalBar.types.d.ts.map +1 -1
- package/dist/components/SChartHorizontalBar/SChartHorizontalBar.vue.d.ts.map +1 -1
- package/dist/components/SChartHorizontalBar/utils/buildSChartHorizontalBarConfig.d.ts +6 -0
- package/dist/components/SChartHorizontalBar/utils/buildSChartHorizontalBarConfig.d.ts.map +1 -1
- package/dist/components/SChartMultiLine/SChartMultiLine.types.d.ts +2 -0
- package/dist/components/SChartMultiLine/SChartMultiLine.types.d.ts.map +1 -1
- package/dist/components/SChartMultiLine/SChartMultiLine.vue.d.ts.map +1 -1
- package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts +2 -1
- package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts.map +1 -1
- package/dist/components/SChartMultiLine/utils/demoMultiLineSeries.d.ts +1 -0
- package/dist/components/SChartMultiLine/utils/demoMultiLineSeries.d.ts.map +1 -1
- package/dist/components/SChartScatter/SChartScatter.types.d.ts +51 -0
- package/dist/components/SChartScatter/SChartScatter.types.d.ts.map +1 -0
- package/dist/components/SChartScatter/SChartScatter.vue.d.ts +12 -0
- package/dist/components/SChartScatter/SChartScatter.vue.d.ts.map +1 -0
- package/dist/components/SChartScatter/index.d.ts +3 -0
- package/dist/components/SChartScatter/index.d.ts.map +1 -0
- package/dist/components/SChartScatter/utils/buildScatterChartConfig.d.ts +20 -0
- package/dist/components/SChartScatter/utils/buildScatterChartConfig.d.ts.map +1 -0
- package/dist/components/SChartScatter/utils/demoScatter.d.ts +6 -0
- package/dist/components/SChartScatter/utils/demoScatter.d.ts.map +1 -0
- package/dist/components/SChartScatter/utils/skeletonScatter.d.ts +5 -0
- package/dist/components/SChartScatter/utils/skeletonScatter.d.ts.map +1 -0
- package/dist/components/SChartStackedArea/SChartStackedArea.types.d.ts +5 -1
- package/dist/components/SChartStackedArea/SChartStackedArea.types.d.ts.map +1 -1
- package/dist/components/SChartStackedArea/SChartStackedArea.vue.d.ts.map +1 -1
- package/dist/components/SChartStackedArea/utils/buildStackedAreaChartConfig.d.ts +3 -1
- package/dist/components/SChartStackedArea/utils/buildStackedAreaChartConfig.d.ts.map +1 -1
- package/dist/components/SChartStackedArea/utils/demoStackedSeries.d.ts +2 -0
- package/dist/components/SChartStackedArea/utils/demoStackedSeries.d.ts.map +1 -1
- package/dist/components/SChartStackedBar/SChartStackedBar.types.d.ts +21 -0
- package/dist/components/SChartStackedBar/SChartStackedBar.types.d.ts.map +1 -1
- package/dist/components/SChartStackedBar/SChartStackedBar.vue.d.ts.map +1 -1
- package/dist/components/SChartStackedBar/index.d.ts +1 -1
- package/dist/components/SChartStackedBar/index.d.ts.map +1 -1
- package/dist/components/SChartStackedBar/utils/buildStackedBarChartConfig.d.ts +7 -1
- package/dist/components/SChartStackedBar/utils/buildStackedBarChartConfig.d.ts.map +1 -1
- package/dist/components/SChartStackedBar/utils/createStackedBarTotalsPlugin.d.ts +6 -0
- package/dist/components/SChartStackedBar/utils/createStackedBarTotalsPlugin.d.ts.map +1 -0
- package/dist/components/SChartStackedBar/utils/createStackedBarTrendPlugin.d.ts +10 -0
- package/dist/components/SChartStackedBar/utils/createStackedBarTrendPlugin.d.ts.map +1 -0
- package/dist/components/SChartStackedBar/utils/demoStackedBarSeries.d.ts +2 -0
- package/dist/components/SChartStackedBar/utils/demoStackedBarSeries.d.ts.map +1 -1
- package/dist/{createChartCrosshairPlugin-EqMlaexu.js → createChartCrosshairPlugin-B4LrgKjG.js} +1 -1
- package/dist/{createChartCrosshairPlugin-BTPv09h4.cjs → createChartCrosshairPlugin-COIICTCz.cjs} +1 -1
- package/dist/{createChartMarkersPlugin-BKxLg4pL.cjs → createChartMarkersPlugin-L7qomZVK.cjs} +1 -1
- package/dist/{createChartMarkersPlugin-DPvfZp_e.js → createChartMarkersPlugin-bAEeP-5Z.js} +1 -1
- package/dist/createCustomTooltipCallbacks-CxeEfJLl.js +12 -0
- package/dist/createCustomTooltipCallbacks-oRAimZTt.cjs +1 -0
- package/dist/entries/chart-bar.cjs +1 -1
- package/dist/entries/chart-bar.js +1 -1
- package/dist/entries/chart-burnup.cjs +1 -1
- package/dist/entries/chart-burnup.js +1 -1
- package/dist/entries/chart-horizontal-bar.cjs +1 -1
- package/dist/entries/chart-horizontal-bar.js +1 -1
- package/dist/entries/chart-line.cjs +1 -1
- package/dist/entries/chart-line.js +1 -1
- package/dist/entries/chart-multi-line.cjs +1 -1
- package/dist/entries/chart-multi-line.js +1 -1
- package/dist/entries/chart-pie.cjs +1 -1
- package/dist/entries/chart-pie.js +1 -1
- package/dist/entries/chart-progress.cjs +1 -1
- package/dist/entries/chart-progress.js +1 -1
- package/dist/entries/chart-scatter.cjs +1 -0
- package/dist/entries/chart-scatter.d.ts +3 -0
- package/dist/entries/chart-scatter.d.ts.map +1 -0
- package/dist/entries/chart-scatter.js +2 -0
- package/dist/entries/chart-stacked-area.cjs +1 -1
- package/dist/entries/chart-stacked-area.js +1 -1
- package/dist/entries/chart-stacked-bar.cjs +1 -1
- package/dist/entries/chart-stacked-bar.d.ts +1 -1
- package/dist/entries/chart-stacked-bar.d.ts.map +1 -1
- package/dist/entries/chart-stacked-bar.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +185 -184
- package/dist/resolveBarStackedSeriesColor-BDJ7XBIB.cjs +1 -0
- package/dist/resolveBarStackedSeriesColor-zEV1Ps7h.js +11 -0
- package/dist/resolveChartLabelFont-D_Pxt-gs.cjs +1 -0
- package/dist/resolveChartLabelFont-WtZd0pFD.js +4 -0
- package/dist/{resolveCssColorValue-DH_SEZj4.js → resolveCssColorValue-BBK7CTmP.js} +1 -1
- package/dist/resolveCssColorValue-D3fS-cK8.cjs +1 -0
- package/dist/{resolveSeriesPaletteColor-DoPeNP_F.js → resolveSeriesPaletteColor-Bk52kyZo.js} +2 -2
- package/dist/resolveSeriesPaletteColor-CVEsFs0o.cjs +1 -0
- package/dist/{resolveStackedChartContext-D4tuSA6Z.cjs → resolveStackedChartContext-BE3ZW2Sf.cjs} +1 -1
- package/dist/{resolveStackedChartContext-BbCzct6O.js → resolveStackedChartContext-Dc6Foe7D.js} +1 -1
- package/dist/uikit-components.css +1 -1
- package/dist/useChartInteractivity-Yk7qEYgl.cjs +2 -0
- package/dist/{useChartInteractivity-DygkiRA1.js → useChartInteractivity-sgbPZgcH.js} +58 -57
- package/dist/utils/chart/bar/createStackedBarTooltipCallbacks.d.ts.map +1 -1
- package/dist/utils/chart/core/buildChartMirrorScale.d.ts +27 -0
- package/dist/utils/chart/core/buildChartMirrorScale.d.ts.map +1 -0
- package/dist/utils/chart/core/chartCssVariables.d.ts +1 -0
- package/dist/utils/chart/core/chartCssVariables.d.ts.map +1 -1
- package/dist/utils/chart/core/chartInteractivity.d.ts +6 -0
- package/dist/utils/chart/core/chartInteractivity.d.ts.map +1 -1
- package/dist/utils/chart/core/createCustomTooltipCallbacks.d.ts +8 -0
- package/dist/utils/chart/core/createCustomTooltipCallbacks.d.ts.map +1 -0
- package/dist/utils/chart/core/registerChartJs.d.ts.map +1 -1
- package/dist/utils/chart/css/resolveChartLabelFont.d.ts +7 -0
- package/dist/utils/chart/css/resolveChartLabelFont.d.ts.map +1 -0
- package/dist/utils/chart/horizontalBar/buildHorizontalBarChartConfig.d.ts +7 -1
- package/dist/utils/chart/horizontalBar/buildHorizontalBarChartConfig.d.ts.map +1 -1
- package/dist/utils/chart/horizontalBar/buildHorizontalBarChartScales.d.ts +3 -1
- package/dist/utils/chart/horizontalBar/buildHorizontalBarChartScales.d.ts.map +1 -1
- package/dist/utils/chart/horizontalBar/createHorizontalBarValueLabelPlugin.d.ts +10 -0
- package/dist/utils/chart/horizontalBar/createHorizontalBarValueLabelPlugin.d.ts.map +1 -0
- package/dist/utils/chart/index.d.ts +1 -0
- package/dist/utils/chart/index.d.ts.map +1 -1
- package/dist/utils/chart/multiLine/buildMultiLineChartScales.d.ts +16 -21
- package/dist/utils/chart/multiLine/buildMultiLineChartScales.d.ts.map +1 -1
- package/package.json +7 -2
- package/dist/SChartBar-BvytQ-2z.js +0 -293
- package/dist/SChartBar-BzCeNCsi.cjs +0 -1
- package/dist/SChartHorizontalBar-C40Yroue.js +0 -176
- package/dist/SChartHorizontalBar-Dwln3uuE.cjs +0 -1
- package/dist/SChartMultiLine-7_HcvVEQ.js +0 -279
- package/dist/SChartMultiLine-Cl9Pf3Wp.cjs +0 -1
- package/dist/SChartStackedArea-B28offwE.js +0 -254
- package/dist/SChartStackedArea-Ce7xyhp1.cjs +0 -1
- package/dist/SChartStackedBar-C77FlKGS.js +0 -245
- package/dist/SChartStackedBar-CqUDrFJ3.cjs +0 -1
- package/dist/buildMultiLineChartScales-Di-yTvEB.js +0 -41
- package/dist/buildMultiLineChartScales-lVP6h9H4.cjs +0 -1
- package/dist/resolveBarStackedSeriesColor-CjwUxrUx.js +0 -11
- package/dist/resolveBarStackedSeriesColor-Czkj5bJY.cjs +0 -1
- package/dist/resolveCssColorValue-BFMo08-w.cjs +0 -1
- package/dist/resolveSeriesPaletteColor-BepW1gdW.cjs +0 -1
- package/dist/useChartInteractivity-CaZ37kX-.cjs +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
## [@shtabapp/ui-kit-v1.78.2](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.78.1...@shtabapp/ui-kit@1.78.2) (2026-10-21)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **checkbox:** не менять высоту строки при включении чекбокса ([197c2d3](https://gitlab.com/mstikharev/shtab-ui-kit/commit/197c2d35a482af34e9e677ba4245b9b2877f3d53))
|
|
6
|
+
|
|
7
|
+
## [@shtabapp/ui-kit-v1.78.1](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.78.0...@shtabapp/ui-kit@1.78.1) (2026-10-20)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **charts:** totalLabel в SChartStackedArea подписывает сумму в тултипе, а не в легенде ([de818cb](https://gitlab.com/mstikharev/shtab-ui-kit/commit/de818cbd88597ce093ac1491c45cb092abddd4b2))
|
|
12
|
+
|
|
13
|
+
## [@shtabapp/ui-kit-v1.78.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.77.0...@shtabapp/ui-kit@1.78.0) (2026-10-20)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **charts:** высота SChartLine и SChartMultiLine в токенах — переопределяется с обёртки ([5401772](https://gitlab.com/mstikharev/shtab-ui-kit/commit/5401772085e26766e8a94eac7887d4b98b1b125d))
|
|
18
|
+
|
|
1
19
|
## [@shtabapp/ui-kit-v1.77.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.76.0...@shtabapp/ui-kit@1.77.0) (2026-10-18)
|
|
2
20
|
|
|
3
21
|
### Features
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./useChartInteractivity-Yk7qEYgl.cjs"),t=require("./SChartLegend-DQMLr6yV.cjs"),n=require("./resolveCssColorValue-D3fS-cK8.cjs"),r=require("./buildCartesianChartScales-Dck5yBMo.cjs"),i=require("./resolveChartValueRange-DBCYLCXs.cjs"),a=require("./resolveBarStackedSeriesColor-BDJ7XBIB.cjs"),o=require("./buildChartMirrorScale-CBUIRPYX.cjs"),s=require("./resolveChartLabelFont-D_Pxt-gs.cjs"),c=require("./applyChartHighlightedYTick-CKsVe7PW.cjs"),l=require("./splitChartAxisLabel-DAmQOJn6.cjs"),u=require("./buildChartSeriesPoints-Cqo2ed-n.cjs"),d=require("./useHasListener-BPgtbbo6.cjs");let f=require("vue");var p=1,m=[4,4],h=`500 10px var(--s-ui-font-family-label)`,g=4,_=e=>e.length>0&&new Set(e).size===1,v=({target:t,colorHostElement:r,rightAxisId:i})=>({id:`barTargetLine`,afterDatasetsDraw(a){if(!t||t.values.length===0)return;let o=t.axis===`right`?i:`y`,s=a.scales[o],c=a.scales.x;if(!s||!c)return;let{ctx:l,chartArea:u}=a,d=t.color?n.t(t.color,r):e.S(e.D.grid,r);l.save(),l.strokeStyle=d,l.lineWidth=p,l.setLineDash(t.solid?[]:m);let[f]=t.values;if(f!==void 0&&_(t.values)){let e=s.getPixelForValue(f);l.beginPath(),l.moveTo(u.left,e),l.lineTo(u.right,e),l.stroke(),t.label&&(l.setLineDash([]),l.fillStyle=d,l.font=h,l.textAlign=`left`,l.fillText(t.label,u.left,e-g))}else{let e=(u.right-u.left)/t.values.length;t.values.forEach((t,n)=>{if(t<=0)return;let r=s.getPixelForValue(t);l.beginPath(),l.moveTo(u.left+e*n,r),l.lineTo(u.left+e*(n+1),r),l.stroke()})}l.restore()}}),y=4,b=10,x=500,S=({colorHostElement:t,formatValue:n})=>({id:`barValueLabel`,afterDatasetsDraw(r){let i=e.S(e.D.barValueLabel,t),a=e.S(e.D.barValueLabelMuted,t),{ctx:o}=r;o.save(),o.font=s.t({size:b,weight:x,colorHostElement:t}),o.textAlign=`center`,r.data.datasets.forEach((t,s)=>{r.isDatasetVisible(s)&&r.getDatasetMeta(s).data.forEach((c,l)=>{let u=t.data[l];if(typeof u!=`number`)return;let d=u<0;o.fillStyle=e.o(r,s,l)?a:i,o.textBaseline=d?`top`:`bottom`,o.fillText(n?n(u):String(u),c.x,d?c.y+y:c.y-y)})}),o.restore()}}),C=5,w=4,T=12,E=`yRight`,D=1.05,O=16,k=.92,A=1,j=(e,t,n,r)=>i.t(e.flatMap(e=>e.points.map(e=>e.value*D)),{yMin:t,yMax:n,yStep:r}),M=({seriesList:t,colorHostElement:i,yMax:s,yMin:u,yStep:d=C,rightYMax:f,rightYStep:p=C,mirrorYAxis:m=!1,target:h,skeleton:g=!1,showValues:_=!1,formatValue:y,formatYTick:b,mode:x=`grouped`,categories:D=[],highlightedYTick:M,maxBarThickness:N,formatTooltip:P,onPointClick:F})=>{if(t.length===0)return null;let I=t.filter(e=>e.axis!==`right`),L=t.filter(e=>e.axis===`right`),R=e.S(e.D.axisLabel,i),z=e.S(e.D.grid,i),B=e.S(e.D.tooltipBackground,i),V=e.S(e.D.tooltipText,i),H=e.S(e.D.barAxisLabelMuted,i),U=j(I,u,s,d),W=j(L,void 0,f,p),G=x===`histogram`,K=D.map(e=>n.t(e.color,i)),q=r.t({axisLabelColor:R,gridColor:z,yMin:U.min,yMax:U.max,yStep:d,xTickFontSize:T,...b?{formatYAxisTick:e=>typeof e==`number`?b(e):e}:{}}),J=M&&!g?c.t(q.y.ticks,{highlightedTick:M,yStep:d,axisLabelColor:R,colorHostElement:i}):{ticks:q.y.ticks},Y=G?{...q.y,display:!1}:{...q.y,...J},X=(e,t)=>o.n({min:e,max:t,tickOptions:J}),Z=L.length>0?{[E]:X(W.min,W.max)}:m&&!G?{[o.t]:X(U.min,U.max)}:{},Q={x:{...q.x,...G?{border:{display:!0,color:z}}:{},ticks:{...q.x.ticks,color:({chart:t,index:n})=>e.i(t,n)?H:R}},y:Y,...Z},$=e.r({kind:`segment`,skeleton:g,colorHostElement:i,onElementIndexClick:F});return{type:`bar`,data:{labels:t[0]?.points.map(e=>l.t(e.label))??[],datasets:t.map((e,t)=>{let r=a.t(t,i,e.fillColor,g),o=e.points.map(e=>e.fillColor?n.t(e.fillColor,i):(e.category===void 0?void 0:K[e.category])??r);return{label:e.label,data:e.points.map(e=>e.value),backgroundColor:o,hoverBackgroundColor:o,borderWidth:0,hoverBorderWidth:0,borderRadius:w,yAxisID:e.axis===`right`?E:`y`,...N?{maxBarThickness:N}:{},captions:e.points.map(e=>e.caption),categories:e.points.map(e=>e.category),...G?{barPercentage:k,categoryPercentage:A}:{}}})},options:{responsive:!0,maintainAspectRatio:!1,layout:_?{padding:{top:O}}:void 0,onHover:$.onHover,onClick:$.onClick,hover:g?void 0:{mode:`nearest`,intersect:!0},interaction:e.f(g,{mode:`nearest`,intersect:!0}),plugins:{legend:{display:!1},tooltip:{enabled:e.p(g),backgroundColor:B,titleColor:V,bodyColor:V,displayColors:!1,...P?{callbacks:{title:()=>[],label:e=>P(e.dataIndex,e.datasetIndex)}}:{}}},scales:Q},plugins:e.m(g,[v({target:h,colorHostElement:i,rightAxisId:E}),..._?[S({colorHostElement:i,formatValue:y})]:[],...$.plugins])}},N=[`5 неделя`,`6 неделя`,`7 неделя`,`8 неделя`,`9 неделя`,`10 неделя`],P=[{label:`Series 1`,points:u.t(N,[28,34,24,42,30,36])},{label:`Series 2`,points:u.t(N,[18,22,16,28,20,24])}],F={class:`s-ui-chart-bar__canvas-wrap`},I=(0,f.defineComponent)({__name:`SChartBar`,props:{series:{default:()=>[]},mode:{default:`grouped`},loading:{type:Boolean,default:!1},yMax:{},yMin:{},yStep:{},rightYMax:{},rightYStep:{},mirrorYAxis:{type:Boolean,default:!1},target:{},showLegend:{type:Boolean,default:!0},showValues:{type:Boolean,default:!1},formatValue:{type:Function},formatYTick:{type:Function},categories:{default:()=>[]},highlightedYTick:{},legendSize:{},maxBarThickness:{},formatTooltip:{type:Function}},emits:[`pointClick`],setup(r,{expose:i,emit:o}){let s=o,c=(0,f.useTemplateRef)(`chartRootRef`),l=(0,f.useTemplateRef)(`chartCanvasRef`),p=(0,f.computed)(()=>r.loading?P:r.mode===`grouped`?r.series:r.series.slice(0,1)),m=(e,t)=>{let n=p.value[t],r=n?.points[e];n&&r&&s(`pointClick`,e,t,r,n)},h=d.t(`onPointClick`),g=(0,f.computed)(()=>!r.loading&&r.series.length===0?null:M({seriesList:p.value,colorHostElement:c.value,yMax:r.loading?50:r.yMax,yMin:r.loading?void 0:r.yMin,yStep:r.loading?10:r.yStep,rightYMax:r.rightYMax,rightYStep:r.rightYStep,mirrorYAxis:r.mirrorYAxis,target:r.loading?void 0:r.target,skeleton:r.loading,showValues:r.showValues,formatValue:r.formatValue,formatYTick:r.formatYTick,mode:r.mode,categories:r.categories,highlightedYTick:r.highlightedYTick,maxBarThickness:r.maxBarThickness,formatTooltip:r.formatTooltip,onPointClick:h()?m:void 0})),_=(0,f.computed)(()=>!r.loading&&r.categories.length>0),v=(0,f.computed)(()=>_.value?r.categories.map(e=>({label:e.label,color:n.t(e.color,c.value)})):u.n(p.value,(e,t)=>a.t(e,c.value,t,r.loading))),y=(0,f.computed)(()=>r.loading||!r.target?.legendLabel?[]:[{label:r.target.legendLabel,color:r.target.color?n.t(r.target.color,c.value):e.S(e.D.grid,c.value),marker:`line`}]),b=(0,f.computed)(()=>[...v.value,...y.value]),{chartInstance:x}=e.n({canvasRef:l,config:g,enabled:(0,f.computed)(()=>r.loading||r.series.length>0)}),{exportImage:S,handleLegendItemHover:C}=e.t({chartInstance:x,canvasRef:l,colorHostElement:c,legendDimKind:()=>_.value?`category`:`series`}),w=e=>{C(e!==null&&e<v.value.length?e:null)};return i({exportImage:S}),(n,i)=>((0,f.openBlock)(),(0,f.createElementBlock)(`div`,{ref_key:`chartRootRef`,ref:c,class:(0,f.normalizeClass)([`s-ui-chart-bar`,{"s-ui-chart-bar--skeleton":r.loading}])},[(0,f.createElementVNode)(`div`,F,[(0,f.createVNode)((0,f.unref)(e.C),{loading:r.loading},{default:(0,f.withCtx)(()=>[(0,f.createElementVNode)(`canvas`,{ref_key:`chartCanvasRef`,ref:l,class:`s-ui-chart-bar__canvas`},null,512)]),_:1},8,[`loading`])]),r.showLegend&&b.value.length?((0,f.openBlock)(),(0,f.createBlock)((0,f.unref)(t.t),{key:0,items:b.value,size:r.legendSize,disabled:r.loading,interactive:!r.loading,onItemHover:w},null,8,[`items`,`size`,`disabled`,`interactive`])):(0,f.createCommentVNode)(``,!0)],2))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return I}});
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { C as e, D as t, S as n, f as r, i, m as a, n as o, o as s, p as c, r as l, t as u } from "./useChartInteractivity-sgbPZgcH.js";
|
|
2
|
+
import { t as d } from "./SChartLegend-At0mMO09.js";
|
|
3
|
+
import { t as f } from "./resolveCssColorValue-BBK7CTmP.js";
|
|
4
|
+
import { t as p } from "./buildCartesianChartScales-EofFq3ry.js";
|
|
5
|
+
import { t as m } from "./resolveChartValueRange-DZybnmaX.js";
|
|
6
|
+
import { t as h } from "./resolveBarStackedSeriesColor-zEV1Ps7h.js";
|
|
7
|
+
import { n as g, t as _ } from "./buildChartMirrorScale-_PhGNiFR.js";
|
|
8
|
+
import { t as v } from "./resolveChartLabelFont-WtZd0pFD.js";
|
|
9
|
+
import { t as y } from "./applyChartHighlightedYTick-DOxlsWPd.js";
|
|
10
|
+
import { t as b } from "./splitChartAxisLabel-D-IFyucJ.js";
|
|
11
|
+
import { n as x, t as S } from "./buildChartSeriesPoints-BTyOpkin.js";
|
|
12
|
+
import { t as C } from "./useHasListener-RSjlUyqH.js";
|
|
13
|
+
import { computed as w, createBlock as T, createCommentVNode as E, createElementBlock as D, createElementVNode as O, createVNode as k, defineComponent as A, normalizeClass as j, openBlock as M, unref as N, useTemplateRef as P, withCtx as F } from "vue";
|
|
14
|
+
//#region src/components/SChartBar/utils/createBarTargetLinePlugin.ts
|
|
15
|
+
var I = 1, L = [4, 4], R = "500 10px var(--s-ui-font-family-label)", z = 4, B = (e) => e.length > 0 && new Set(e).size === 1, ee = ({ target: e, colorHostElement: r, rightAxisId: i }) => ({
|
|
16
|
+
id: "barTargetLine",
|
|
17
|
+
afterDatasetsDraw(a) {
|
|
18
|
+
if (!e || e.values.length === 0) return;
|
|
19
|
+
let o = e.axis === "right" ? i : "y", s = a.scales[o], c = a.scales.x;
|
|
20
|
+
if (!s || !c) return;
|
|
21
|
+
let { ctx: l, chartArea: u } = a, d = e.color ? f(e.color, r) : n(t.grid, r);
|
|
22
|
+
l.save(), l.strokeStyle = d, l.lineWidth = I, l.setLineDash(e.solid ? [] : L);
|
|
23
|
+
let [p] = e.values;
|
|
24
|
+
if (p !== void 0 && B(e.values)) {
|
|
25
|
+
let t = s.getPixelForValue(p);
|
|
26
|
+
l.beginPath(), l.moveTo(u.left, t), l.lineTo(u.right, t), l.stroke(), e.label && (l.setLineDash([]), l.fillStyle = d, l.font = R, l.textAlign = "left", l.fillText(e.label, u.left, t - z));
|
|
27
|
+
} else {
|
|
28
|
+
let t = (u.right - u.left) / e.values.length;
|
|
29
|
+
e.values.forEach((e, n) => {
|
|
30
|
+
if (e <= 0) return;
|
|
31
|
+
let r = s.getPixelForValue(e);
|
|
32
|
+
l.beginPath(), l.moveTo(u.left + t * n, r), l.lineTo(u.left + t * (n + 1), r), l.stroke();
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
l.restore();
|
|
36
|
+
}
|
|
37
|
+
}), V = 4, H = 10, U = 500, te = ({ colorHostElement: e, formatValue: r }) => ({
|
|
38
|
+
id: "barValueLabel",
|
|
39
|
+
afterDatasetsDraw(i) {
|
|
40
|
+
let a = n(t.barValueLabel, e), o = n(t.barValueLabelMuted, e), { ctx: c } = i;
|
|
41
|
+
c.save(), c.font = v({
|
|
42
|
+
size: H,
|
|
43
|
+
weight: U,
|
|
44
|
+
colorHostElement: e
|
|
45
|
+
}), c.textAlign = "center", i.data.datasets.forEach((e, t) => {
|
|
46
|
+
i.isDatasetVisible(t) && i.getDatasetMeta(t).data.forEach((n, l) => {
|
|
47
|
+
let u = e.data[l];
|
|
48
|
+
if (typeof u != "number") return;
|
|
49
|
+
let d = u < 0;
|
|
50
|
+
c.fillStyle = s(i, t, l) ? o : a, c.textBaseline = d ? "top" : "bottom", c.fillText(r ? r(u) : String(u), n.x, d ? n.y + V : n.y - V);
|
|
51
|
+
});
|
|
52
|
+
}), c.restore();
|
|
53
|
+
}
|
|
54
|
+
}), W = 5, ne = 4, re = 12, G = "yRight", K = 1.05, ie = 16, ae = .92, oe = 1, q = (e, t, n, r) => m(e.flatMap((e) => e.points.map((e) => e.value * K)), {
|
|
55
|
+
yMin: t,
|
|
56
|
+
yMax: n,
|
|
57
|
+
yStep: r
|
|
58
|
+
}), J = ({ seriesList: e, colorHostElement: o, yMax: s, yMin: u, yStep: d = W, rightYMax: m, rightYStep: v = W, mirrorYAxis: x = !1, target: S, skeleton: C = !1, showValues: w = !1, formatValue: T, formatYTick: E, mode: D = "grouped", categories: O = [], highlightedYTick: k, maxBarThickness: A, formatTooltip: j, onPointClick: M }) => {
|
|
59
|
+
if (e.length === 0) return null;
|
|
60
|
+
let N = e.filter((e) => e.axis !== "right"), P = e.filter((e) => e.axis === "right"), F = n(t.axisLabel, o), I = n(t.grid, o), L = n(t.tooltipBackground, o), R = n(t.tooltipText, o), z = n(t.barAxisLabelMuted, o), B = q(N, u, s, d), V = q(P, void 0, m, v), H = D === "histogram", U = O.map((e) => f(e.color, o)), K = p({
|
|
61
|
+
axisLabelColor: F,
|
|
62
|
+
gridColor: I,
|
|
63
|
+
yMin: B.min,
|
|
64
|
+
yMax: B.max,
|
|
65
|
+
yStep: d,
|
|
66
|
+
xTickFontSize: re,
|
|
67
|
+
...E ? { formatYAxisTick: (e) => typeof e == "number" ? E(e) : e } : {}
|
|
68
|
+
}), J = k && !C ? y(K.y.ticks, {
|
|
69
|
+
highlightedTick: k,
|
|
70
|
+
yStep: d,
|
|
71
|
+
axisLabelColor: F,
|
|
72
|
+
colorHostElement: o
|
|
73
|
+
}) : { ticks: K.y.ticks }, Y = H ? {
|
|
74
|
+
...K.y,
|
|
75
|
+
display: !1
|
|
76
|
+
} : {
|
|
77
|
+
...K.y,
|
|
78
|
+
...J
|
|
79
|
+
}, X = (e, t) => g({
|
|
80
|
+
min: e,
|
|
81
|
+
max: t,
|
|
82
|
+
tickOptions: J
|
|
83
|
+
}), Z = P.length > 0 ? { [G]: X(V.min, V.max) } : x && !H ? { [_]: X(B.min, B.max) } : {}, Q = {
|
|
84
|
+
x: {
|
|
85
|
+
...K.x,
|
|
86
|
+
...H ? { border: {
|
|
87
|
+
display: !0,
|
|
88
|
+
color: I
|
|
89
|
+
} } : {},
|
|
90
|
+
ticks: {
|
|
91
|
+
...K.x.ticks,
|
|
92
|
+
color: ({ chart: e, index: t }) => i(e, t) ? z : F
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
y: Y,
|
|
96
|
+
...Z
|
|
97
|
+
}, $ = l({
|
|
98
|
+
kind: "segment",
|
|
99
|
+
skeleton: C,
|
|
100
|
+
colorHostElement: o,
|
|
101
|
+
onElementIndexClick: M
|
|
102
|
+
});
|
|
103
|
+
return {
|
|
104
|
+
type: "bar",
|
|
105
|
+
data: {
|
|
106
|
+
labels: e[0]?.points.map((e) => b(e.label)) ?? [],
|
|
107
|
+
datasets: e.map((e, t) => {
|
|
108
|
+
let n = h(t, o, e.fillColor, C), r = e.points.map((e) => e.fillColor ? f(e.fillColor, o) : (e.category === void 0 ? void 0 : U[e.category]) ?? n);
|
|
109
|
+
return {
|
|
110
|
+
label: e.label,
|
|
111
|
+
data: e.points.map((e) => e.value),
|
|
112
|
+
backgroundColor: r,
|
|
113
|
+
hoverBackgroundColor: r,
|
|
114
|
+
borderWidth: 0,
|
|
115
|
+
hoverBorderWidth: 0,
|
|
116
|
+
borderRadius: ne,
|
|
117
|
+
yAxisID: e.axis === "right" ? G : "y",
|
|
118
|
+
...A ? { maxBarThickness: A } : {},
|
|
119
|
+
captions: e.points.map((e) => e.caption),
|
|
120
|
+
categories: e.points.map((e) => e.category),
|
|
121
|
+
...H ? {
|
|
122
|
+
barPercentage: ae,
|
|
123
|
+
categoryPercentage: oe
|
|
124
|
+
} : {}
|
|
125
|
+
};
|
|
126
|
+
})
|
|
127
|
+
},
|
|
128
|
+
options: {
|
|
129
|
+
responsive: !0,
|
|
130
|
+
maintainAspectRatio: !1,
|
|
131
|
+
layout: w ? { padding: { top: ie } } : void 0,
|
|
132
|
+
onHover: $.onHover,
|
|
133
|
+
onClick: $.onClick,
|
|
134
|
+
hover: C ? void 0 : {
|
|
135
|
+
mode: "nearest",
|
|
136
|
+
intersect: !0
|
|
137
|
+
},
|
|
138
|
+
interaction: r(C, {
|
|
139
|
+
mode: "nearest",
|
|
140
|
+
intersect: !0
|
|
141
|
+
}),
|
|
142
|
+
plugins: {
|
|
143
|
+
legend: { display: !1 },
|
|
144
|
+
tooltip: {
|
|
145
|
+
enabled: c(C),
|
|
146
|
+
backgroundColor: L,
|
|
147
|
+
titleColor: R,
|
|
148
|
+
bodyColor: R,
|
|
149
|
+
displayColors: !1,
|
|
150
|
+
...j ? { callbacks: {
|
|
151
|
+
title: () => [],
|
|
152
|
+
label: (e) => j(e.dataIndex, e.datasetIndex)
|
|
153
|
+
} } : {}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
scales: Q
|
|
157
|
+
},
|
|
158
|
+
plugins: a(C, [
|
|
159
|
+
ee({
|
|
160
|
+
target: S,
|
|
161
|
+
colorHostElement: o,
|
|
162
|
+
rightAxisId: G
|
|
163
|
+
}),
|
|
164
|
+
...w ? [te({
|
|
165
|
+
colorHostElement: o,
|
|
166
|
+
formatValue: T
|
|
167
|
+
})] : [],
|
|
168
|
+
...$.plugins
|
|
169
|
+
])
|
|
170
|
+
};
|
|
171
|
+
}, Y = [
|
|
172
|
+
"5 неделя",
|
|
173
|
+
"6 неделя",
|
|
174
|
+
"7 неделя",
|
|
175
|
+
"8 неделя",
|
|
176
|
+
"9 неделя",
|
|
177
|
+
"10 неделя"
|
|
178
|
+
], X = [{
|
|
179
|
+
label: "Series 1",
|
|
180
|
+
points: S(Y, [
|
|
181
|
+
28,
|
|
182
|
+
34,
|
|
183
|
+
24,
|
|
184
|
+
42,
|
|
185
|
+
30,
|
|
186
|
+
36
|
|
187
|
+
])
|
|
188
|
+
}, {
|
|
189
|
+
label: "Series 2",
|
|
190
|
+
points: S(Y, [
|
|
191
|
+
18,
|
|
192
|
+
22,
|
|
193
|
+
16,
|
|
194
|
+
28,
|
|
195
|
+
20,
|
|
196
|
+
24
|
|
197
|
+
])
|
|
198
|
+
}], Z = { class: "s-ui-chart-bar__canvas-wrap" }, Q = /* @__PURE__ */ A({
|
|
199
|
+
__name: "SChartBar",
|
|
200
|
+
props: {
|
|
201
|
+
series: { default: () => [] },
|
|
202
|
+
mode: { default: "grouped" },
|
|
203
|
+
loading: {
|
|
204
|
+
type: Boolean,
|
|
205
|
+
default: !1
|
|
206
|
+
},
|
|
207
|
+
yMax: {},
|
|
208
|
+
yMin: {},
|
|
209
|
+
yStep: {},
|
|
210
|
+
rightYMax: {},
|
|
211
|
+
rightYStep: {},
|
|
212
|
+
mirrorYAxis: {
|
|
213
|
+
type: Boolean,
|
|
214
|
+
default: !1
|
|
215
|
+
},
|
|
216
|
+
target: {},
|
|
217
|
+
showLegend: {
|
|
218
|
+
type: Boolean,
|
|
219
|
+
default: !0
|
|
220
|
+
},
|
|
221
|
+
showValues: {
|
|
222
|
+
type: Boolean,
|
|
223
|
+
default: !1
|
|
224
|
+
},
|
|
225
|
+
formatValue: { type: Function },
|
|
226
|
+
formatYTick: { type: Function },
|
|
227
|
+
categories: { default: () => [] },
|
|
228
|
+
highlightedYTick: {},
|
|
229
|
+
legendSize: {},
|
|
230
|
+
maxBarThickness: {},
|
|
231
|
+
formatTooltip: { type: Function }
|
|
232
|
+
},
|
|
233
|
+
emits: ["pointClick"],
|
|
234
|
+
setup(r, { expose: i, emit: a }) {
|
|
235
|
+
let s = a, c = P("chartRootRef"), l = P("chartCanvasRef"), p = w(() => r.loading ? X : r.mode === "grouped" ? r.series : r.series.slice(0, 1)), m = (e, t) => {
|
|
236
|
+
let n = p.value[t], r = n?.points[e];
|
|
237
|
+
n && r && s("pointClick", e, t, r, n);
|
|
238
|
+
}, g = C("onPointClick"), _ = w(() => !r.loading && r.series.length === 0 ? null : J({
|
|
239
|
+
seriesList: p.value,
|
|
240
|
+
colorHostElement: c.value,
|
|
241
|
+
yMax: r.loading ? 50 : r.yMax,
|
|
242
|
+
yMin: r.loading ? void 0 : r.yMin,
|
|
243
|
+
yStep: r.loading ? 10 : r.yStep,
|
|
244
|
+
rightYMax: r.rightYMax,
|
|
245
|
+
rightYStep: r.rightYStep,
|
|
246
|
+
mirrorYAxis: r.mirrorYAxis,
|
|
247
|
+
target: r.loading ? void 0 : r.target,
|
|
248
|
+
skeleton: r.loading,
|
|
249
|
+
showValues: r.showValues,
|
|
250
|
+
formatValue: r.formatValue,
|
|
251
|
+
formatYTick: r.formatYTick,
|
|
252
|
+
mode: r.mode,
|
|
253
|
+
categories: r.categories,
|
|
254
|
+
highlightedYTick: r.highlightedYTick,
|
|
255
|
+
maxBarThickness: r.maxBarThickness,
|
|
256
|
+
formatTooltip: r.formatTooltip,
|
|
257
|
+
onPointClick: g() ? m : void 0
|
|
258
|
+
})), v = w(() => !r.loading && r.categories.length > 0), y = w(() => v.value ? r.categories.map((e) => ({
|
|
259
|
+
label: e.label,
|
|
260
|
+
color: f(e.color, c.value)
|
|
261
|
+
})) : x(p.value, (e, t) => h(e, c.value, t, r.loading))), b = w(() => r.loading || !r.target?.legendLabel ? [] : [{
|
|
262
|
+
label: r.target.legendLabel,
|
|
263
|
+
color: r.target.color ? f(r.target.color, c.value) : n(t.grid, c.value),
|
|
264
|
+
marker: "line"
|
|
265
|
+
}]), S = w(() => [...y.value, ...b.value]), { chartInstance: A } = o({
|
|
266
|
+
canvasRef: l,
|
|
267
|
+
config: _,
|
|
268
|
+
enabled: w(() => r.loading || r.series.length > 0)
|
|
269
|
+
}), { exportImage: I, handleLegendItemHover: L } = u({
|
|
270
|
+
chartInstance: A,
|
|
271
|
+
canvasRef: l,
|
|
272
|
+
colorHostElement: c,
|
|
273
|
+
legendDimKind: () => v.value ? "category" : "series"
|
|
274
|
+
}), R = (e) => {
|
|
275
|
+
L(e !== null && e < y.value.length ? e : null);
|
|
276
|
+
};
|
|
277
|
+
return i({ exportImage: I }), (t, n) => (M(), D("div", {
|
|
278
|
+
ref_key: "chartRootRef",
|
|
279
|
+
ref: c,
|
|
280
|
+
class: j(["s-ui-chart-bar", { "s-ui-chart-bar--skeleton": r.loading }])
|
|
281
|
+
}, [O("div", Z, [k(N(e), { loading: r.loading }, {
|
|
282
|
+
default: F(() => [O("canvas", {
|
|
283
|
+
ref_key: "chartCanvasRef",
|
|
284
|
+
ref: l,
|
|
285
|
+
class: "s-ui-chart-bar__canvas"
|
|
286
|
+
}, null, 512)]),
|
|
287
|
+
_: 1
|
|
288
|
+
}, 8, ["loading"])]), r.showLegend && S.value.length ? (M(), T(N(d), {
|
|
289
|
+
key: 0,
|
|
290
|
+
items: S.value,
|
|
291
|
+
size: r.legendSize,
|
|
292
|
+
disabled: r.loading,
|
|
293
|
+
interactive: !r.loading,
|
|
294
|
+
onItemHover: R
|
|
295
|
+
}, null, 8, [
|
|
296
|
+
"items",
|
|
297
|
+
"size",
|
|
298
|
+
"disabled",
|
|
299
|
+
"interactive"
|
|
300
|
+
])) : E("", !0)], 2));
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
//#endregion
|
|
304
|
+
export { Q as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./useChartInteractivity-
|
|
1
|
+
const e=require("./useChartInteractivity-Yk7qEYgl.cjs"),t=require("./SChartLegend-DQMLr6yV.cjs"),n=require("./createChartCrosshairPlugin-COIICTCz.cjs"),r=require("./buildMultiLineChartScales-BweU2ftq.cjs");let i=require("vue");var a=(t,n)=>({id:`sUiChartBurnupTodayLine`,beforeDatasetsDraw(r){if(t<0)return;let{ctx:i,chartArea:a}=r,o=r.scales.x;if(!a||!o)return;let s=e.S(e.D.burnupToday,n),c=o.getPixelForValue(t);i.save(),i.beginPath(),i.moveTo(c,a.top),i.lineTo(c,a.bottom),i.lineWidth=1,i.strokeStyle=s,i.stroke(),i.restore()}}),o=8,s=4,c=5,l=12,u=12,d=60,f=12,p=e=>{if(typeof window>`u`)return`500 10px sans-serif`;let t=e??document.documentElement;return`500 10px ${getComputedStyle(t).getPropertyValue(`--s-ui-font-family-label`).trim()||`sans-serif`}`},m=(e,t,n,r,i,a)=>{let o=Math.min(a,r/2,i/2);e.beginPath(),e.moveTo(t+o,n),e.lineTo(t+r-o,n),e.arcTo(t+r,n,t+r,n+o,o),e.lineTo(t+r,n+i-o),e.arcTo(t+r,n+i,t+r-o,n+i,o),e.lineTo(t+o,n+i),e.arcTo(t,n+i,t,n+i-o,o),e.lineTo(t,n+o),e.arcTo(t,n,t+o,n,o),e.closePath()},h=({tagLines:t,factDatasetIndex:n,todayIndex:r},i)=>({id:`sUiChartBurnupTag`,afterDatasetsDraw(a){if(r<0||t.length===0)return;let h=a.getDatasetMeta(n)?.data[r],{chartArea:g}=a;if(!h||!g)return;let _=e.S(e.D.burnupToday,i),v=e.S(e.D.burnupTagBackground,i),{ctx:y}=a;y.save(),y.font=p(i),y.textAlign=`center`,y.textBaseline=`middle`;let b=t.reduce((e,t)=>Math.max(e,y.measureText(t).width),0),x=Math.max(d,b+o*2),S=t.length*u+s+c,C=Math.min(Math.max(h.x-x/2,g.left),g.right-x),w=Math.max(h.y-f-S,g.top);m(y,C,w,x,S,l),y.fillStyle=v,y.fill(),y.lineWidth=1,y.strokeStyle=_,y.stroke(),y.fillStyle=_,t.forEach((e,t)=>{y.fillText(e,C+x/2,w+s+u*(t+.5))}),y.restore()}}),g=(e,t)=>t>=0&&e>t,_=({todayIndex:e,futureLabel:t,resolveTitle:n})=>({title:t=>{let r=t[0];return!r||g(r.dataIndex,e)?``:n?.(r.dataIndex)??`${r.label}`},label:n=>g(n.dataIndex,e)?t:`${n.dataset.label??``}: ${n.parsed.y??0}%`}),v=e=>t=>!g(t.dataIndex,e)||t.datasetIndex===0,y=1,b=1,x=2,S=[8,8],C=[9,9],w=2,T=25,E=e=>e.reduce((e,t,n)=>t.fact===null?e:n,-1),D=(e,t)=>e.goal??t,O=(e,t,n)=>{let r=e.reduce((e,n)=>Math.max(e,n.plan,n.fact??0,D(n,t)),t);return Math.ceil(r/n)*n},k=(e,t)=>t.some(e=>e.label===``)?{...e,x:{...e.x,ticks:{...e.x.ticks,autoSkip:!1,maxRotation:0}}}:e,A=({points:t,colorHostElement:i,goalValue:o=100,goalLabel:s=`Цель`,planLabel:c=`План`,factLabel:l=`Факт`,futureLabel:u=`Этот день ещё не наступил`,yStep:d=T,mirrorYAxis:f=!0,showTag:p=!0,skeleton:m=!1})=>{if(t.length===0)return null;let g=e.S(e.D.axisLabel,i),A=e.S(e.D.grid,i),j=e.S(e.D.tooltipBackground,i),M=e.S(e.D.tooltipText,i),N=e.S(e.D.skeletonSeries,i),P=m?N:e.S(e.D.burnupGoal,i),F=m?N:e.S(e.D.burnupPlan,i),I=m?N:e.S(e.D.burnupFact,i),L=e.S(e.D.burnupFactFillStart,i),R=e.S(e.D.burnupFactFillEnd,i),z=E(t),B=z>=0?t[z]:void 0,V=B?[`${l.toLowerCase()} ${B.fact}%`,`${c.toLowerCase()} ${B.plan}%`]:[];return{type:`line`,data:{labels:t.map(e=>e.label),datasets:[{label:s,data:t.map(e=>D(e,o)),borderColor:P,backgroundColor:P,borderWidth:y,borderDash:S,fill:!1,pointRadius:0,pointHoverRadius:0,tension:0},{label:c,data:t.map(e=>e.plan),borderColor:F,backgroundColor:F,borderWidth:b,borderDash:C,fill:!1,pointRadius:0,pointHoverRadius:0,tension:.4},{label:l,data:t.map(e=>e.fact??null),borderColor:I,backgroundColor:m?I:t=>e.d(t,L,R),borderWidth:x,fill:!m,spanGaps:!1,pointRadius:0,pointHoverRadius:4,tension:.4}]},options:{responsive:!0,maintainAspectRatio:!1,interaction:e.f(m,{mode:`index`,intersect:!1}),plugins:{legend:{display:!1},tooltip:{enabled:e.p(m),backgroundColor:j,titleColor:M,bodyColor:M,displayColors:!1,position:e.v,yAlign:`bottom`,xAlign:`center`,caretPadding:8,filter:v(z),callbacks:_({todayIndex:z,futureLabel:u,resolveTitle:e=>t[e]?.tooltipLabel})}},scales:k(r.t({axisLabelColor:g,gridColor:A,yMin:0,yMax:O(t,o,d),yStep:d,mirrorYAxis:f,formatYAxisTick:e=>`${e}%`}),t)},plugins:e.m(m,[n.t(i),a(z,i),...p?[h({tagLines:V,factDatasetIndex:w,todayIndex:z},i)]:[]])}},j=[8,15,23,31,38,46,54,62,69,77,85,92,96,100],M=[5,10,16,22,28,34,40,45,50,54,57,60,null,null],N=j.map((e,t)=>({label:`Д${t+1}`,plan:e,fact:M[t]})),P={class:`s-ui-chart-burnup__canvas-wrap`},F=(0,i.defineComponent)({__name:`SChartBurnup`,props:{points:{default:()=>[]},loading:{type:Boolean,default:!1},goalValue:{default:100},goalLabel:{default:`Цель`},planLabel:{default:`План`},factLabel:{default:`Факт`},futureLabel:{default:`Этот день ещё не наступил`},yStep:{default:25},mirrorYAxis:{type:Boolean,default:!0},showTag:{type:Boolean,default:!0}},setup(n,{expose:r}){let a=(0,i.useTemplateRef)(`chartRootRef`),o=(0,i.useTemplateRef)(`chartCanvasRef`),s=(0,i.computed)(()=>n.loading?N:n.points),c=(0,i.computed)(()=>!n.loading&&n.points.length===0?null:A({points:s.value,colorHostElement:a.value,goalValue:n.goalValue,goalLabel:n.goalLabel,planLabel:n.planLabel,factLabel:n.factLabel,futureLabel:n.futureLabel,yStep:n.yStep,mirrorYAxis:n.mirrorYAxis,showTag:n.showTag,skeleton:n.loading})),l=(0,i.computed)(()=>[{label:n.goalLabel,cssVariable:e.D.burnupGoal},{label:n.planLabel,cssVariable:e.D.burnupPlan},{label:n.factLabel,cssVariable:e.D.burnupFact}].map(t=>({label:t.label.toLowerCase(),color:e.S(n.loading?e.D.skeletonSeries:t.cssVariable,a.value)}))),{chartInstance:u}=e.n({canvasRef:o,config:c,enabled:(0,i.computed)(()=>n.loading||n.points.length>0)}),{exportImage:d}=e.t({chartInstance:u,canvasRef:o,colorHostElement:a});return r({exportImage:d}),(r,s)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{ref_key:`chartRootRef`,ref:a,class:(0,i.normalizeClass)([`s-ui-chart-burnup`,{"s-ui-chart-burnup--skeleton":n.loading}])},[(0,i.createElementVNode)(`div`,P,[(0,i.createVNode)((0,i.unref)(e.C),{loading:n.loading},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`canvas`,{ref_key:`chartCanvasRef`,ref:o,class:`s-ui-chart-burnup__canvas`},null,512)]),_:1},8,[`loading`])]),(0,i.createVNode)((0,i.unref)(t.t),{items:l.value,disabled:n.loading},null,8,[`items`,`disabled`])],2))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return F}});
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as u } from "./SChartLegend-
|
|
3
|
-
import { t as d } from "./createChartCrosshairPlugin-
|
|
4
|
-
import { t as f } from "./buildMultiLineChartScales-
|
|
1
|
+
import { C as e, D as t, S as n, d as r, f as i, m as a, n as o, p as s, t as c, v as l } from "./useChartInteractivity-sgbPZgcH.js";
|
|
2
|
+
import { t as u } from "./SChartLegend-At0mMO09.js";
|
|
3
|
+
import { t as d } from "./createChartCrosshairPlugin-B4LrgKjG.js";
|
|
4
|
+
import { t as f } from "./buildMultiLineChartScales-DbRe2UFD.js";
|
|
5
5
|
import { computed as p, createElementBlock as m, createElementVNode as h, createVNode as g, defineComponent as _, normalizeClass as v, openBlock as y, unref as b, useTemplateRef as x, withCtx as S } from "vue";
|
|
6
6
|
//#region src/utils/chart/burnup/createBurnupTodayLinePlugin.ts
|
|
7
|
-
var C = (
|
|
7
|
+
var C = (e, r) => ({
|
|
8
8
|
id: "sUiChartBurnupTodayLine",
|
|
9
9
|
beforeDatasetsDraw(i) {
|
|
10
|
-
if (
|
|
10
|
+
if (e < 0) return;
|
|
11
11
|
let { ctx: a, chartArea: o } = i, s = i.scales.x;
|
|
12
12
|
if (!o || !s) return;
|
|
13
|
-
let c = t
|
|
13
|
+
let c = n(t.burnupToday, r), l = s.getPixelForValue(e);
|
|
14
14
|
a.save(), a.beginPath(), a.moveTo(l, o.top), a.lineTo(l, o.bottom), a.lineWidth = 1, a.strokeStyle = c, a.stroke(), a.restore();
|
|
15
15
|
}
|
|
16
16
|
}), w = 8, T = 4, E = 5, D = 12, O = 12, k = 60, A = 12, j = (e) => {
|
|
@@ -20,16 +20,16 @@ var C = (n, r) => ({
|
|
|
20
20
|
}, M = (e, t, n, r, i, a) => {
|
|
21
21
|
let o = Math.min(a, r / 2, i / 2);
|
|
22
22
|
e.beginPath(), e.moveTo(t + o, n), e.lineTo(t + r - o, n), e.arcTo(t + r, n, t + r, n + o, o), e.lineTo(t + r, n + i - o), e.arcTo(t + r, n + i, t + r - o, n + i, o), e.lineTo(t + o, n + i), e.arcTo(t, n + i, t, n + i - o, o), e.lineTo(t, n + o), e.arcTo(t, n, t + o, n, o), e.closePath();
|
|
23
|
-
}, N = ({ tagLines:
|
|
23
|
+
}, N = ({ tagLines: e, factDatasetIndex: r, todayIndex: i }, a) => ({
|
|
24
24
|
id: "sUiChartBurnupTag",
|
|
25
25
|
afterDatasetsDraw(o) {
|
|
26
|
-
if (i < 0 ||
|
|
26
|
+
if (i < 0 || e.length === 0) return;
|
|
27
27
|
let s = o.getDatasetMeta(r)?.data[i], { chartArea: c } = o;
|
|
28
28
|
if (!s || !c) return;
|
|
29
|
-
let l = t
|
|
29
|
+
let l = n(t.burnupToday, a), u = n(t.burnupTagBackground, a), { ctx: d } = o;
|
|
30
30
|
d.save(), d.font = j(a), d.textAlign = "center", d.textBaseline = "middle";
|
|
31
|
-
let f =
|
|
32
|
-
M(d, h, g, p, m, D), d.fillStyle = u, d.fill(), d.lineWidth = 1, d.strokeStyle = l, d.stroke(), d.fillStyle = l,
|
|
31
|
+
let f = e.reduce((e, t) => Math.max(e, d.measureText(t).width), 0), p = Math.max(k, f + w * 2), m = e.length * O + T + E, h = Math.min(Math.max(s.x - p / 2, c.left), c.right - p), g = Math.max(s.y - A - m, c.top);
|
|
32
|
+
M(d, h, g, p, m, D), d.fillStyle = u, d.fill(), d.lineWidth = 1, d.strokeStyle = l, d.stroke(), d.fillStyle = l, e.forEach((e, t) => {
|
|
33
33
|
d.fillText(e, h + p / 2, g + T + O * (t + .5));
|
|
34
34
|
}), d.restore();
|
|
35
35
|
}
|
|
@@ -52,17 +52,17 @@ var C = (n, r) => ({
|
|
|
52
52
|
maxRotation: 0
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
} : e, J = ({ points:
|
|
56
|
-
if (
|
|
57
|
-
let b = t
|
|
55
|
+
} : e, J = ({ points: e, colorHostElement: o, goalValue: c = 100, goalLabel: u = "Цель", planLabel: p = "План", factLabel: m = "Факт", futureLabel: h = "Этот день ещё не наступил", yStep: g = U, mirrorYAxis: _ = !0, showTag: v = !0, skeleton: y = !1 }) => {
|
|
56
|
+
if (e.length === 0) return null;
|
|
57
|
+
let b = n(t.axisLabel, o), x = n(t.grid, o), S = n(t.tooltipBackground, o), w = n(t.tooltipText, o), T = n(t.skeletonSeries, o), E = y ? T : n(t.burnupGoal, o), D = y ? T : n(t.burnupPlan, o), O = y ? T : n(t.burnupFact, o), k = n(t.burnupFactFillStart, o), A = n(t.burnupFactFillEnd, o), j = W(e), M = j >= 0 ? e[j] : void 0, P = M ? [`${m.toLowerCase()} ${M.fact}%`, `${p.toLowerCase()} ${M.plan}%`] : [];
|
|
58
58
|
return {
|
|
59
59
|
type: "line",
|
|
60
60
|
data: {
|
|
61
|
-
labels:
|
|
61
|
+
labels: e.map((e) => e.label),
|
|
62
62
|
datasets: [
|
|
63
63
|
{
|
|
64
64
|
label: u,
|
|
65
|
-
data:
|
|
65
|
+
data: e.map((e) => G(e, c)),
|
|
66
66
|
borderColor: E,
|
|
67
67
|
backgroundColor: E,
|
|
68
68
|
borderWidth: L,
|
|
@@ -74,7 +74,7 @@ var C = (n, r) => ({
|
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
label: p,
|
|
77
|
-
data:
|
|
77
|
+
data: e.map((e) => e.plan),
|
|
78
78
|
borderColor: D,
|
|
79
79
|
backgroundColor: D,
|
|
80
80
|
borderWidth: R,
|
|
@@ -86,9 +86,9 @@ var C = (n, r) => ({
|
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
label: m,
|
|
89
|
-
data:
|
|
89
|
+
data: e.map((e) => e.fact ?? null),
|
|
90
90
|
borderColor: O,
|
|
91
|
-
backgroundColor: y ? O : (e) =>
|
|
91
|
+
backgroundColor: y ? O : (e) => r(e, k, A),
|
|
92
92
|
borderWidth: z,
|
|
93
93
|
fill: !y,
|
|
94
94
|
spanGaps: !1,
|
|
@@ -101,19 +101,19 @@ var C = (n, r) => ({
|
|
|
101
101
|
options: {
|
|
102
102
|
responsive: !0,
|
|
103
103
|
maintainAspectRatio: !1,
|
|
104
|
-
interaction:
|
|
104
|
+
interaction: i(y, {
|
|
105
105
|
mode: "index",
|
|
106
106
|
intersect: !1
|
|
107
107
|
}),
|
|
108
108
|
plugins: {
|
|
109
109
|
legend: { display: !1 },
|
|
110
110
|
tooltip: {
|
|
111
|
-
enabled:
|
|
111
|
+
enabled: s(y),
|
|
112
112
|
backgroundColor: S,
|
|
113
113
|
titleColor: w,
|
|
114
114
|
bodyColor: w,
|
|
115
115
|
displayColors: !1,
|
|
116
|
-
position:
|
|
116
|
+
position: l,
|
|
117
117
|
yAlign: "bottom",
|
|
118
118
|
xAlign: "center",
|
|
119
119
|
caretPadding: 8,
|
|
@@ -121,7 +121,7 @@ var C = (n, r) => ({
|
|
|
121
121
|
callbacks: F({
|
|
122
122
|
todayIndex: j,
|
|
123
123
|
futureLabel: h,
|
|
124
|
-
resolveTitle: (
|
|
124
|
+
resolveTitle: (t) => e[t]?.tooltipLabel
|
|
125
125
|
})
|
|
126
126
|
}
|
|
127
127
|
},
|
|
@@ -129,20 +129,20 @@ var C = (n, r) => ({
|
|
|
129
129
|
axisLabelColor: b,
|
|
130
130
|
gridColor: x,
|
|
131
131
|
yMin: 0,
|
|
132
|
-
yMax: K(
|
|
132
|
+
yMax: K(e, c, g),
|
|
133
133
|
yStep: g,
|
|
134
134
|
mirrorYAxis: _,
|
|
135
135
|
formatYAxisTick: (e) => `${e}%`
|
|
136
|
-
}),
|
|
136
|
+
}), e)
|
|
137
137
|
},
|
|
138
|
-
plugins:
|
|
139
|
-
d(
|
|
140
|
-
C(j,
|
|
138
|
+
plugins: a(y, [
|
|
139
|
+
d(o),
|
|
140
|
+
C(j, o),
|
|
141
141
|
...v ? [N({
|
|
142
142
|
tagLines: P,
|
|
143
143
|
factDatasetIndex: H,
|
|
144
144
|
todayIndex: j
|
|
145
|
-
},
|
|
145
|
+
}, o)] : []
|
|
146
146
|
])
|
|
147
147
|
};
|
|
148
148
|
}, Y = [
|
|
@@ -202,58 +202,58 @@ var C = (n, r) => ({
|
|
|
202
202
|
default: !0
|
|
203
203
|
}
|
|
204
204
|
},
|
|
205
|
-
setup(
|
|
206
|
-
let
|
|
207
|
-
points:
|
|
208
|
-
colorHostElement:
|
|
209
|
-
goalValue:
|
|
210
|
-
goalLabel:
|
|
211
|
-
planLabel:
|
|
212
|
-
factLabel:
|
|
213
|
-
futureLabel:
|
|
214
|
-
yStep:
|
|
215
|
-
mirrorYAxis:
|
|
216
|
-
showTag:
|
|
217
|
-
skeleton:
|
|
205
|
+
setup(r, { expose: i }) {
|
|
206
|
+
let a = x("chartRootRef"), s = x("chartCanvasRef"), l = p(() => r.loading ? Z : r.points), d = p(() => !r.loading && r.points.length === 0 ? null : J({
|
|
207
|
+
points: l.value,
|
|
208
|
+
colorHostElement: a.value,
|
|
209
|
+
goalValue: r.goalValue,
|
|
210
|
+
goalLabel: r.goalLabel,
|
|
211
|
+
planLabel: r.planLabel,
|
|
212
|
+
factLabel: r.factLabel,
|
|
213
|
+
futureLabel: r.futureLabel,
|
|
214
|
+
yStep: r.yStep,
|
|
215
|
+
mirrorYAxis: r.mirrorYAxis,
|
|
216
|
+
showTag: r.showTag,
|
|
217
|
+
skeleton: r.loading
|
|
218
218
|
})), f = p(() => [
|
|
219
219
|
{
|
|
220
|
-
label:
|
|
221
|
-
cssVariable:
|
|
220
|
+
label: r.goalLabel,
|
|
221
|
+
cssVariable: t.burnupGoal
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
|
-
label:
|
|
225
|
-
cssVariable:
|
|
224
|
+
label: r.planLabel,
|
|
225
|
+
cssVariable: t.burnupPlan
|
|
226
226
|
},
|
|
227
227
|
{
|
|
228
|
-
label:
|
|
229
|
-
cssVariable:
|
|
228
|
+
label: r.factLabel,
|
|
229
|
+
cssVariable: t.burnupFact
|
|
230
230
|
}
|
|
231
|
-
].map((
|
|
232
|
-
label:
|
|
233
|
-
color:
|
|
231
|
+
].map((e) => ({
|
|
232
|
+
label: e.label.toLowerCase(),
|
|
233
|
+
color: n(r.loading ? t.skeletonSeries : e.cssVariable, a.value)
|
|
234
234
|
}))), { chartInstance: _ } = o({
|
|
235
|
-
canvasRef:
|
|
235
|
+
canvasRef: s,
|
|
236
236
|
config: d,
|
|
237
|
-
enabled: p(() =>
|
|
238
|
-
}), { exportImage: C } =
|
|
237
|
+
enabled: p(() => r.loading || r.points.length > 0)
|
|
238
|
+
}), { exportImage: C } = c({
|
|
239
239
|
chartInstance: _,
|
|
240
|
-
canvasRef:
|
|
241
|
-
colorHostElement:
|
|
240
|
+
canvasRef: s,
|
|
241
|
+
colorHostElement: a
|
|
242
242
|
});
|
|
243
|
-
return
|
|
243
|
+
return i({ exportImage: C }), (t, n) => (y(), m("div", {
|
|
244
244
|
ref_key: "chartRootRef",
|
|
245
|
-
ref:
|
|
246
|
-
class: v(["s-ui-chart-burnup", { "s-ui-chart-burnup--skeleton":
|
|
247
|
-
}, [h("div", Q, [g(b(
|
|
245
|
+
ref: a,
|
|
246
|
+
class: v(["s-ui-chart-burnup", { "s-ui-chart-burnup--skeleton": r.loading }])
|
|
247
|
+
}, [h("div", Q, [g(b(e), { loading: r.loading }, {
|
|
248
248
|
default: S(() => [h("canvas", {
|
|
249
249
|
ref_key: "chartCanvasRef",
|
|
250
|
-
ref:
|
|
250
|
+
ref: s,
|
|
251
251
|
class: "s-ui-chart-burnup__canvas"
|
|
252
252
|
}, null, 512)]),
|
|
253
253
|
_: 1
|
|
254
254
|
}, 8, ["loading"])]), g(b(u), {
|
|
255
255
|
items: f.value,
|
|
256
|
-
disabled:
|
|
256
|
+
disabled: r.loading
|
|
257
257
|
}, null, 8, ["items", "disabled"])], 2));
|
|
258
258
|
}
|
|
259
259
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./useChartInteractivity-Yk7qEYgl.cjs"),t=require("./resolveCssColorValue-D3fS-cK8.cjs"),n=require("./buildChartMirrorScale-CBUIRPYX.cjs"),r=require("./resolveChartLabelFont-D_Pxt-gs.cjs"),i=require("./useHasListener-BPgtbbo6.cjs");let a=require("vue");var o=10,s=14,c=`xMirror`,l=({axisLabelColor:e,categoryLabelColor:t,gridColor:r,xMin:i,xMax:a,xStep:l,mirrorXAxis:u=!1,formatXTick:d})=>{let f={color:e,stepSize:l,font:{size:o,weight:500},padding:8,...d?{callback:e=>typeof e==`number`?d(e):e}:{}};return{...u?{[c]:n.n({min:i,max:a,tickOptions:{ticks:f},position:`top`,hideTickMarks:!0})}:{},x:{type:`linear`,min:i,max:a,border:{display:!1},grid:{color:r,drawTicks:!1},ticks:f},y:{border:{display:!1},grid:{display:!1},ticks:{color:t,font:{size:s,weight:400},padding:8,crossAlign:`far`,autoSkip:!1}}}},u=8,d=12,f=500,p=64,m=(e,t)=>t?t(e):String(e),h=e=>r.t({size:d,weight:f,colorHostElement:e}),g=({values:e,colorHostElement:t,formatValue:n})=>{let r=typeof document>`u`?null:document.createElement(`canvas`).getContext(`2d`);if(!r)return p;r.font=h(t);let i=e.reduce((e,t)=>Math.max(e,r.measureText(m(t,n)).width),0);return Math.ceil(i)+u},_=({colorHostElement:t,formatValue:n})=>({id:`horizontalBarValueLabel`,afterDatasetsDraw(r){let i=e.S(e.D.barValueLabel,t),a=e.S(e.D.barValueLabelMuted,t),{ctx:o}=r;o.save(),o.font=h(t),o.textAlign=`left`,o.textBaseline=`middle`,r.data.datasets.forEach((t,s)=>{r.isDatasetVisible(s)&&r.getDatasetMeta(s).data.forEach((c,l)=>{let d=t.data[l];typeof d==`number`&&(o.fillStyle=e.o(r,s,l)?a:i,o.fillText(m(d,n),c.x+u,c.y))})}),o.restore()}}),v=(n,r,i)=>i?e.S(e.D.barHorizontalSkeletonFill,r):n?t.t(n,r):e.S(e.D.barHorizontalFillDefault,r),y=(e,t,n)=>{if(t)return t;let r=0;for(let t of e)r=Math.max(r,t.value);let i=Math.ceil(r/n)*n;return i>0?i:n*6},b=10,x=0,S=36,C=4,w=({items:t,colorHostElement:n,xMax:r,xMin:i=x,xStep:a=b,skeleton:o=!1,barThickness:s=S,mirrorXAxis:c=!1,showValues:u=!1,formatValue:d,formatXTick:f,formatTooltip:p,onBarClick:m})=>{if(t.length===0)return null;let h=e.S(e.D.axisLabel,n),w=e.S(e.D.grid,n),T=e.S(e.D.tooltipBackground,n),E=e.S(e.D.tooltipText,n),D=e.S(o?e.D.barHorizontalCategoryLabelSkeleton:e.D.barHorizontalCategoryLabel,n),O=y(t,r,a),k=t.map(e=>v(e.color,n,o)),A=e.r({kind:`element`,skeleton:o,colorHostElement:n,onIndexClick:m});return{type:`bar`,data:{labels:t.map(e=>e.label),datasets:[{data:t.map(e=>e.value),backgroundColor:k,hoverBackgroundColor:k,borderWidth:0,hoverBorderWidth:0,barThickness:s,borderRadius:{topRight:C,bottomRight:C}}]},options:{indexAxis:`y`,responsive:!0,layout:u&&!o?{padding:{right:g({values:t.map(e=>e.value),colorHostElement:n,formatValue:d})}}:void 0,maintainAspectRatio:!1,onHover:A.onHover,onClick:A.onClick,interaction:e.f(o,{mode:`index`,axis:`y`,intersect:!1}),plugins:{legend:{display:!1},tooltip:{enabled:e.p(o),backgroundColor:T,titleColor:E,bodyColor:E,...p?{displayColors:!1,callbacks:{title:()=>[],label:e=>p(e.dataIndex)}}:{}}},scales:l({axisLabelColor:h,categoryLabelColor:D,gridColor:w,xMin:i,xMax:O,xStep:a,mirrorXAxis:c,formatXTick:f})},plugins:u&&!o?[...A.plugins,_({colorHostElement:n,formatValue:d})]:A.plugins}},T=e=>w(e),E=[{label:`Открыта`,value:48},{label:`В процессе`,value:32},{label:`Ревью`,value:53},{label:`Готова для QA`,value:18},{label:`QA`,value:25},{label:`Готова`,value:0}],D={class:`s-ui-chart-horizontal-bar__canvas-wrap`},O=(0,a.defineComponent)({__name:`SChartHorizontalBar`,props:{items:{default:()=>[]},loading:{type:Boolean,default:!1},xMin:{},xMax:{},xStep:{},barThickness:{},mirrorXAxis:{type:Boolean,default:!1},showValues:{type:Boolean,default:!1},formatValue:{type:Function},formatXTick:{type:Function},formatTooltip:{type:Function}},emits:[`barClick`],setup(t,{expose:n,emit:r}){let o=r,s=(0,a.useTemplateRef)(`chartRootRef`),c=(0,a.useTemplateRef)(`chartCanvasRef`),l=(0,a.computed)(()=>t.loading?E:t.items),u=e=>{let n=t.items[e];n&&o(`barClick`,e,n)},d=i.t(`onBarClick`),{chartInstance:f}=e.n({canvasRef:c,config:(0,a.computed)(()=>!t.loading&&t.items.length===0?null:T({items:l.value,colorHostElement:s.value,xMax:t.loading?60:t.xMax,xMin:t.loading?0:t.xMin,xStep:t.loading?10:t.xStep,skeleton:t.loading,barThickness:t.barThickness,mirrorXAxis:t.loading?!1:t.mirrorXAxis,showValues:t.showValues,formatValue:t.loading?void 0:t.formatValue,formatXTick:t.loading?void 0:t.formatXTick,formatTooltip:t.loading?void 0:t.formatTooltip,onBarClick:d()?u:void 0})),enabled:(0,a.computed)(()=>t.loading||t.items.length>0)}),{exportImage:p}=e.t({chartInstance:f,canvasRef:c,colorHostElement:s});return n({exportImage:p}),(n,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{ref_key:`chartRootRef`,ref:s,class:(0,a.normalizeClass)([`s-ui-chart-horizontal-bar`,{"s-ui-chart-horizontal-bar--skeleton":t.loading}])},[(0,a.createElementVNode)(`div`,D,[(0,a.createVNode)((0,a.unref)(e.C),{loading:t.loading},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`canvas`,{ref_key:`chartCanvasRef`,ref:c,class:`s-ui-chart-horizontal-bar__canvas`},null,512)]),_:1},8,[`loading`])])],2))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return O}});
|