@shtabapp/ui-kit 1.62.0 → 1.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/SChartBar-BVgwPlYi.js +215 -0
- package/dist/SChartBar-CBU1uCuL.cjs +1 -0
- package/dist/SChartBurnup-Ch3UMa9w.cjs +1 -0
- package/dist/{SChartBurnup-Dxi0MBwo.js → SChartBurnup-DyJHdRlf.js} +75 -75
- package/dist/SChartHorizontalBar-Bv90SV6E.cjs +1 -0
- package/dist/{SChartHorizontalBar-XNasKzaO.js → SChartHorizontalBar-DDo6TfE8.js} +28 -28
- package/dist/{SChartLine-DSQaezYq.js → SChartLine-Cs1JzPEK.js} +29 -29
- package/dist/SChartLine-nIGaef_o.cjs +1 -0
- package/dist/SChartMultiLine-BzoW4ETf.cjs +1 -0
- package/dist/SChartMultiLine-DqCQ7FCv.js +204 -0
- package/dist/{SChartPie-bN8rY-y5.js → SChartPie-Bt3o7LZI.js} +55 -55
- package/dist/SChartPie-Bv5Obcwb.cjs +1 -0
- package/dist/{SChartProgress-BtwqE4xL.js → SChartProgress-uMg4DBpS.js} +30 -30
- package/dist/SChartProgress-xxqrj03o.cjs +1 -0
- package/dist/SChartStackedArea-BNe6FAg8.cjs +1 -0
- package/dist/{SChartStackedArea-BxUex_Di.js → SChartStackedArea-BQGnKp1i.js} +58 -58
- package/dist/SChartStackedBar-D1G-VloG.cjs +1 -0
- package/dist/SChartStackedBar-fiUU9lNp.js +245 -0
- package/dist/{SSegmentControl-CAoM03V6.js → SSegmentControl-B9KkAQiG.js} +11 -9
- package/dist/SSegmentControl-OXTka86u.cjs +1 -0
- package/dist/areChartSeriesAligned-DiBX3TTk.cjs +1 -0
- package/dist/{buildChartSeriesPoints-D8Xpfwp7.js → areChartSeriesAligned-DjonrIMm.js} +2 -8
- package/dist/buildChartSeriesPoints-BTyOpkin.js +10 -0
- package/dist/buildChartSeriesPoints-Cqo2ed-n.cjs +1 -0
- package/dist/components/SChartBar/SChartBar.types.d.ts +47 -0
- package/dist/components/SChartBar/SChartBar.types.d.ts.map +1 -0
- package/dist/components/SChartBar/SChartBar.vue.d.ts +11 -0
- package/dist/components/SChartBar/SChartBar.vue.d.ts.map +1 -0
- package/dist/components/SChartBar/index.d.ts +3 -0
- package/dist/components/SChartBar/index.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts +16 -0
- package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/createBarTargetLinePlugin.d.ts +9 -0
- package/dist/components/SChartBar/utils/createBarTargetLinePlugin.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/demoBarSeries.d.ts +9 -0
- package/dist/components/SChartBar/utils/demoBarSeries.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/skeletonBarSeries.d.ts +5 -0
- package/dist/components/SChartBar/utils/skeletonBarSeries.d.ts.map +1 -0
- 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/SList/utils/resolveListItemFields.d.ts +1 -1
- package/dist/components/SList/utils/resolveListItemFields.d.ts.map +1 -1
- package/dist/components/SSegmentControl/SSegmentControl.types.d.ts +2 -0
- package/dist/components/SSegmentControl/SSegmentControl.types.d.ts.map +1 -1
- package/dist/components/SSegmentControl/SSegmentControlItem.vue.d.ts.map +1 -1
- package/dist/{createChartCrosshairPlugin-DwFOncWI.js → createChartCrosshairPlugin-DU5grSok.js} +2 -2
- package/dist/createChartCrosshairPlugin-DfYzBie2.cjs +1 -0
- package/dist/entries/chart-bar.cjs +1 -0
- package/dist/entries/chart-bar.d.ts +3 -0
- package/dist/entries/chart-bar.d.ts.map +1 -0
- package/dist/entries/chart-bar.js +2 -0
- 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-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.js +1 -1
- package/dist/entries/segment-control.cjs +1 -1
- package/dist/entries/segment-control.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -122
- package/dist/resolveBarStackedSeriesColor-HDSkh6Mw.cjs +1 -0
- package/dist/resolveBarStackedSeriesColor-LpVh1SvQ.js +11 -0
- package/dist/resolveSeriesPaletteColor-B5qoBbXN.cjs +1 -0
- package/dist/{resolveSeriesPaletteColor-BdvGT-PI.js → resolveSeriesPaletteColor-DcLSyk-D.js} +1 -1
- package/dist/{resolveStackedChartContext-DFre3tt0.js → resolveStackedChartContext-CIKVXkDn.js} +6 -6
- package/dist/resolveStackedChartContext-CQbgdV55.cjs +1 -0
- package/dist/uikit-components.css +1 -1
- package/dist/{SChartSkeletonHost-BT96eWSF.js → useChartInteractivity-BATdT86l.js} +126 -126
- package/dist/useChartInteractivity-CXSdHPOw.cjs +1 -0
- package/package.json +8 -3
- package/dist/SChartBurnup-C4x5kik6.cjs +0 -1
- package/dist/SChartHorizontalBar-4H-lgfO4.cjs +0 -1
- package/dist/SChartLine-BF6Klm4j.cjs +0 -1
- package/dist/SChartMultiLine-CrMmphFe.js +0 -198
- package/dist/SChartMultiLine-Ddvfmf__.cjs +0 -1
- package/dist/SChartPie-namQTFla.cjs +0 -1
- package/dist/SChartProgress-DsFHotRv.cjs +0 -1
- package/dist/SChartSkeletonHost-Dt5EjQr5.cjs +0 -1
- package/dist/SChartStackedArea-BLHs3sSH.cjs +0 -1
- package/dist/SChartStackedBar-BJ9LOgSP.js +0 -250
- package/dist/SChartStackedBar-CWNyvUj9.cjs +0 -1
- package/dist/SSegmentControl-B9jT8Axu.cjs +0 -1
- package/dist/buildChartSeriesPoints-Bv3nXvSu.cjs +0 -1
- package/dist/createChartCrosshairPlugin-ZZwKUQm8.cjs +0 -1
- package/dist/resolveSeriesPaletteColor-hI4YDdUg.cjs +0 -1
- package/dist/resolveStackedChartContext-Dsxhhhel.cjs +0 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as f } from "./
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as v } from "./
|
|
1
|
+
import { t as e } from "./SChartLegend-oZoF8XK7.js";
|
|
2
|
+
import { C as t, a as n, b as r, c as i, g as a, i as o, n as s, o as c, r as l, s as u, t as d, x as f } from "./useChartInteractivity-BATdT86l.js";
|
|
3
|
+
import { t as p } from "./buildCartesianChartScales-EofFq3ry.js";
|
|
4
|
+
import { t as m } from "./resolveStackedChartContext-CIKVXkDn.js";
|
|
5
|
+
import { t as h } from "./createChartCrosshairPlugin-DU5grSok.js";
|
|
6
|
+
import { t as g } from "./resolveSeriesPaletteColor-DcLSyk-D.js";
|
|
7
|
+
import { n as _, t as v } from "./buildChartSeriesPoints-BTyOpkin.js";
|
|
8
8
|
import { t as y } from "./useHasListener-RSjlUyqH.js";
|
|
9
9
|
import { computed as b, createBlock as x, createCommentVNode as S, createElementBlock as C, createElementVNode as w, createVNode as T, defineComponent as E, normalizeClass as D, openBlock as O, unref as k, useTemplateRef as A, withCtx as j } from "vue";
|
|
10
10
|
//#region src/utils/chart/stacked/resolveStackedSeriesColor.ts
|
|
11
|
-
var M = (
|
|
12
|
-
palette:
|
|
13
|
-
paletteFallback:
|
|
14
|
-
skeletonPalette:
|
|
15
|
-
skeletonFallback:
|
|
16
|
-
}), N = 20, P = "stack0", F = ({ seriesList: e, colorHostElement: t, yMax:
|
|
17
|
-
let _ =
|
|
11
|
+
var M = (e, t, n, i = !1) => g(e, t, n, i, {
|
|
12
|
+
palette: f,
|
|
13
|
+
paletteFallback: a.stackedPalette1,
|
|
14
|
+
skeletonPalette: r,
|
|
15
|
+
skeletonFallback: a.skeletonPalette1
|
|
16
|
+
}), N = 20, P = "stack0", F = ({ seriesList: e, colorHostElement: t, yMax: r, yMin: a, yStep: s = N, skeleton: d = !1, totalLabel: f, onSeriesClick: g }) => {
|
|
17
|
+
let _ = m({
|
|
18
18
|
seriesList: e,
|
|
19
19
|
colorHostElement: t,
|
|
20
|
-
yMax:
|
|
21
|
-
yMin:
|
|
22
|
-
yStep:
|
|
20
|
+
yMax: r,
|
|
21
|
+
yMin: a,
|
|
22
|
+
yStep: s,
|
|
23
23
|
skeleton: d
|
|
24
24
|
});
|
|
25
25
|
if (!_) return null;
|
|
26
|
-
let { axisLabelColor: v, gridColor: y, tooltipBackgroundColor: b, tooltipTextColor: x, resolvedYMax: S, resolvedYMin: C, chartLabels: w } = _, T =
|
|
26
|
+
let { axisLabelColor: v, gridColor: y, tooltipBackgroundColor: b, tooltipTextColor: x, resolvedYMax: S, resolvedYMin: C, chartLabels: w } = _, T = l({
|
|
27
27
|
kind: "series",
|
|
28
28
|
skeleton: d,
|
|
29
29
|
colorHostElement: t,
|
|
30
|
-
onIndexClick:
|
|
30
|
+
onIndexClick: g
|
|
31
31
|
});
|
|
32
32
|
return {
|
|
33
33
|
type: "line",
|
|
@@ -69,29 +69,29 @@ var M = (n, r, i, a = !1) => _(n, r, i, a, {
|
|
|
69
69
|
plugins: {
|
|
70
70
|
legend: { display: !1 },
|
|
71
71
|
tooltip: {
|
|
72
|
-
enabled:
|
|
72
|
+
enabled: n(d),
|
|
73
73
|
backgroundColor: b,
|
|
74
74
|
titleColor: x,
|
|
75
75
|
bodyColor: x,
|
|
76
76
|
footerColor: x,
|
|
77
77
|
displayColors: !1,
|
|
78
|
-
position:
|
|
78
|
+
position: u,
|
|
79
79
|
yAlign: "bottom",
|
|
80
80
|
xAlign: "center",
|
|
81
81
|
caretPadding: 8,
|
|
82
|
-
callbacks:
|
|
82
|
+
callbacks: i({ total: f })
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
|
-
scales:
|
|
85
|
+
scales: p({
|
|
86
86
|
axisLabelColor: v,
|
|
87
87
|
gridColor: y,
|
|
88
88
|
yMin: C,
|
|
89
89
|
yMax: S,
|
|
90
|
-
yStep:
|
|
90
|
+
yStep: s,
|
|
91
91
|
stacked: !0
|
|
92
92
|
})
|
|
93
93
|
},
|
|
94
|
-
plugins:
|
|
94
|
+
plugins: c(d, [h(t), ...T.plugins])
|
|
95
95
|
};
|
|
96
96
|
}, I = [
|
|
97
97
|
"24.02",
|
|
@@ -176,19 +176,19 @@ var M = (n, r, i, a = !1) => _(n, r, i, a, {
|
|
|
176
176
|
], H = [
|
|
177
177
|
{
|
|
178
178
|
label: V[0] ?? "Series 1",
|
|
179
|
-
points:
|
|
179
|
+
points: v(I, L)
|
|
180
180
|
},
|
|
181
181
|
{
|
|
182
182
|
label: V[1] ?? "Series 2",
|
|
183
|
-
points:
|
|
183
|
+
points: v(I, R)
|
|
184
184
|
},
|
|
185
185
|
{
|
|
186
186
|
label: V[2] ?? "Series 3",
|
|
187
|
-
points:
|
|
187
|
+
points: v(I, z)
|
|
188
188
|
},
|
|
189
189
|
{
|
|
190
190
|
label: V[3] ?? "Series 4",
|
|
191
|
-
points:
|
|
191
|
+
points: v(I, B)
|
|
192
192
|
}
|
|
193
193
|
], U = { class: "s-ui-chart-stacked-area__canvas-wrap" }, W = /* @__PURE__ */ E({
|
|
194
194
|
__name: "SChartStackedArea",
|
|
@@ -203,45 +203,45 @@ var M = (n, r, i, a = !1) => _(n, r, i, a, {
|
|
|
203
203
|
totalLabel: {}
|
|
204
204
|
},
|
|
205
205
|
emits: ["seriesClick"],
|
|
206
|
-
setup(
|
|
207
|
-
let
|
|
208
|
-
let
|
|
209
|
-
|
|
210
|
-
},
|
|
211
|
-
seriesList:
|
|
212
|
-
colorHostElement:
|
|
213
|
-
yMax:
|
|
214
|
-
yMin:
|
|
215
|
-
yStep:
|
|
216
|
-
skeleton:
|
|
217
|
-
totalLabel:
|
|
218
|
-
onSeriesClick:
|
|
219
|
-
})), m = b(() =>
|
|
220
|
-
canvasRef:
|
|
221
|
-
config:
|
|
222
|
-
enabled: b(() =>
|
|
223
|
-
}), { exportImage: g, handleLegendItemHover:
|
|
206
|
+
setup(n, { expose: r, emit: i }) {
|
|
207
|
+
let a = i, o = A("chartRootRef"), c = A("chartCanvasRef"), l = b(() => n.loading ? H : n.series), u = (e) => {
|
|
208
|
+
let t = n.series[e];
|
|
209
|
+
t && a("seriesClick", e, t);
|
|
210
|
+
}, f = y("onSeriesClick"), p = b(() => !n.loading && n.series.length === 0 ? null : F({
|
|
211
|
+
seriesList: l.value,
|
|
212
|
+
colorHostElement: o.value,
|
|
213
|
+
yMax: n.loading ? 160 : n.yMax,
|
|
214
|
+
yMin: n.loading ? 0 : void 0,
|
|
215
|
+
yStep: n.loading ? 20 : n.yStep,
|
|
216
|
+
skeleton: n.loading,
|
|
217
|
+
totalLabel: n.totalLabel,
|
|
218
|
+
onSeriesClick: f() ? u : void 0
|
|
219
|
+
})), m = b(() => _(l.value, (e, t) => M(e, o.value, t, n.loading))), { chartInstance: h } = s({
|
|
220
|
+
canvasRef: c,
|
|
221
|
+
config: p,
|
|
222
|
+
enabled: b(() => n.loading || n.series.length > 0)
|
|
223
|
+
}), { exportImage: g, handleLegendItemHover: v } = d({
|
|
224
224
|
chartInstance: h,
|
|
225
|
-
canvasRef:
|
|
226
|
-
colorHostElement:
|
|
225
|
+
canvasRef: c,
|
|
226
|
+
colorHostElement: o
|
|
227
227
|
});
|
|
228
|
-
return
|
|
228
|
+
return r({ exportImage: g }), (r, i) => (O(), C("div", {
|
|
229
229
|
ref_key: "chartRootRef",
|
|
230
|
-
ref:
|
|
231
|
-
class: D(["s-ui-chart-stacked-area", { "s-ui-chart-stacked-area--skeleton":
|
|
232
|
-
}, [w("div", U, [T(k(
|
|
230
|
+
ref: o,
|
|
231
|
+
class: D(["s-ui-chart-stacked-area", { "s-ui-chart-stacked-area--skeleton": n.loading }])
|
|
232
|
+
}, [w("div", U, [T(k(t), { loading: n.loading }, {
|
|
233
233
|
default: j(() => [w("canvas", {
|
|
234
234
|
ref_key: "chartCanvasRef",
|
|
235
|
-
ref:
|
|
235
|
+
ref: c,
|
|
236
236
|
class: "s-ui-chart-stacked-area__canvas"
|
|
237
237
|
}, null, 512)]),
|
|
238
238
|
_: 1
|
|
239
|
-
}, 8, ["loading"])]), m.value.length ? (O(), x(k(
|
|
239
|
+
}, 8, ["loading"])]), m.value.length ? (O(), x(k(e), {
|
|
240
240
|
key: 0,
|
|
241
241
|
items: m.value,
|
|
242
|
-
disabled:
|
|
243
|
-
interactive: !
|
|
244
|
-
onItemHover: k(
|
|
242
|
+
disabled: n.loading,
|
|
243
|
+
interactive: !n.loading,
|
|
244
|
+
onItemHover: k(v)
|
|
245
245
|
}, null, 8, [
|
|
246
246
|
"items",
|
|
247
247
|
"disabled",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./SChartLegend-DGtjd6zV.cjs"),t=require("./useChartInteractivity-CXSdHPOw.cjs"),n=require("./buildCartesianChartScales-Dck5yBMo.cjs"),r=require("./resolveStackedChartContext-CQbgdV55.cjs"),i=require("./resolveBarStackedSeriesColor-HDSkh6Mw.cjs"),a=require("./buildChartSeriesPoints-Cqo2ed-n.cjs"),o=require("./useHasListener-BPgtbbo6.cjs");let s=require("vue");var c=3,l=4,u=(e,t,n,r,i,a)=>{let o=Math.min(a,r/2,i),s=o;e.beginPath(),e.moveTo(t,n+i),e.lineTo(t,n+o),e.arcTo(t,n,t+o,n,o),e.lineTo(t+r-s,n),e.arcTo(t+r,n,t+r,n+s,s),e.lineTo(t+r,n+i),e.closePath(),e.stroke()},d=e=>({id:`stackedBarHoverOutline`,afterDatasetsDraw(n){let r=n.tooltip?.getActiveElements()??[];if(r.length===0)return;let i=1/0,a=1/0,o=-1/0,s=-1/0;for(let e of r){let{x:t,y:n,width:r,base:c}=e.element.getProps([`x`,`y`,`width`,`base`]),l=t-r/2,u=t+r/2,d=n,f=c;i=Math.min(i,l),o=Math.max(o,u),a=Math.min(a,d),s=Math.max(s,f)}let d=t.S(t.g.barHoverOutline,e),{ctx:f,chartArea:p}=n,m=c/2,h=p?.bottom??s,g=Math.min(s,h),_=i+m,v=a+m,y=o-i-c,b=g-a-c;if(y<=0||b<=0)return;let x=Math.max(0,l-m);f.save(),f.strokeStyle=d,f.lineWidth=c,u(f,_,v,y,b,x),f.restore()}}),f=5,p=`stack0`,m=36,h=4,g=12,_=({seriesList:e,colorHostElement:a,yMax:o,yMin:s,yStep:c=f,skeleton:l=!1,onSeriesClick:u,onSegmentClick:_})=>{let v=r.t({seriesList:e,colorHostElement:a,yMax:o,yMin:s,yStep:c,skeleton:l});if(!v)return null;let{axisLabelColor:y,gridColor:b,tooltipBackgroundColor:x,tooltipTextColor:S,resolvedYMax:C,resolvedYMin:w,chartLabels:T,pointCaptions:E,topSeriesIndex:D}=v,O=t.r({kind:`segment`,skeleton:l,colorHostElement:a,onIndexClick:u,onElementIndexClick:_});return{type:`bar`,data:{labels:T,datasets:e.map((e,t)=>{let n=i.t(t,a,e.fillColor,l);return{label:e.label,data:e.points.map(e=>e.value),backgroundColor:n,hoverBackgroundColor:n,borderWidth:0,hoverBorderWidth:0,stack:p,barThickness:m,borderRadius:t===D?{topLeft:h,topRight:h}:0,...t===0?{captions:E}:{}}})},options:{responsive:!0,maintainAspectRatio:!1,onHover:O.onHover,onClick:O.onClick,hover:l?void 0:{mode:`nearest`,intersect:!0},interaction:t.i(l,{mode:`nearest`,intersect:!0}),plugins:{legend:{display:!1},tooltip:{enabled:t.a(l),backgroundColor:x,titleColor:S,bodyColor:S,displayColors:!1,position:t.f,yAlign:`bottom`,xAlign:`center`,caretPadding:8,callbacks:t.p()}},scales:n.t({axisLabelColor:y,gridColor:b,yMin:w,yMax:C,yStep:c,stacked:!0,xTickFontSize:g})},plugins:t.o(l,[d(a),...O.plugins])}},v=[`5 неделя`,`6 неделя`,`7 неделя`,`8 неделя`,`9 неделя`,`10 неделя`,`11 неделя`,`12 неделя`,`13 неделя`,`14 неделя`,`15 неделя`,`16 неделя`],y=[12,14,15,16,18,17,16,15,14,13,12,11],b=[6,7,8,8,9,8,7,7,6,6,5,5],x=[4,5,5,6,6,5,5,4,4,3,3,3],S=[`Series 1`,`Series 2`,`Series 3`],C=[{label:S[0]??`Series 1`,points:a.t(v,y)},{label:S[1]??`Series 2`,points:a.t(v,b)},{label:S[2]??`Series 3`,points:a.t(v,x)}],w={class:`s-ui-chart-stacked-bar__canvas-wrap`},T=(0,s.defineComponent)({__name:`SChartStackedBar`,props:{series:{default:()=>[]},loading:{type:Boolean,default:!1},yMax:{},yStep:{}},emits:[`seriesClick`,`segmentClick`],setup(n,{expose:r,emit:c}){let l=c,u=(0,s.useTemplateRef)(`chartRootRef`),d=(0,s.useTemplateRef)(`chartCanvasRef`),f=(0,s.computed)(()=>n.loading?C:n.series),p=e=>{let t=n.series[e];t&&l(`seriesClick`,e,t)},m=(e,t)=>{let r=n.series[t],i=r?.points[e];r&&i&&l(`segmentClick`,e,t,i,r)},h=o.t(`onSeriesClick`),g=o.t(`onSegmentClick`),v=(0,s.computed)(()=>!n.loading&&n.series.length===0?null:_({seriesList:f.value,colorHostElement:u.value,yMax:n.loading?50:n.yMax,yMin:n.loading?0:void 0,yStep:n.loading?5:n.yStep,skeleton:n.loading,onSeriesClick:h()?p:void 0,onSegmentClick:g()?m:void 0})),y=(0,s.computed)(()=>a.n(f.value,(e,t)=>i.t(e,u.value,t,n.loading))),{chartInstance:b}=t.n({canvasRef:d,config:v,enabled:(0,s.computed)(()=>n.loading||n.series.length>0)}),{exportImage:x,handleLegendItemHover:S}=t.t({chartInstance:b,canvasRef:d,colorHostElement:u});return r({exportImage:x}),(r,i)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{ref_key:`chartRootRef`,ref:u,class:(0,s.normalizeClass)([`s-ui-chart-stacked-bar`,{"s-ui-chart-stacked-bar--skeleton":n.loading}])},[(0,s.createElementVNode)(`div`,w,[(0,s.createVNode)((0,s.unref)(t.C),{loading:n.loading},{default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`canvas`,{ref_key:`chartCanvasRef`,ref:d,class:`s-ui-chart-stacked-bar__canvas`},null,512)]),_:1},8,[`loading`])]),y.value.length?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(e.t),{key:0,items:y.value,disabled:n.loading,interactive:!n.loading,onItemHover:(0,s.unref)(S)},null,8,[`items`,`disabled`,`interactive`,`onItemHover`])):(0,s.createCommentVNode)(``,!0)],2))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return T}});
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { t as e } from "./SChartLegend-oZoF8XK7.js";
|
|
2
|
+
import { C as t, S as n, a as r, f as i, g as a, i as o, n as s, o as c, p as l, r as u, t as d } from "./useChartInteractivity-BATdT86l.js";
|
|
3
|
+
import { t as f } from "./buildCartesianChartScales-EofFq3ry.js";
|
|
4
|
+
import { t as p } from "./resolveStackedChartContext-CIKVXkDn.js";
|
|
5
|
+
import { t as m } from "./resolveBarStackedSeriesColor-LpVh1SvQ.js";
|
|
6
|
+
import { n as h, t as g } from "./buildChartSeriesPoints-BTyOpkin.js";
|
|
7
|
+
import { t as _ } from "./useHasListener-RSjlUyqH.js";
|
|
8
|
+
import { computed as v, createBlock as y, createCommentVNode as b, createElementBlock as x, createElementVNode as S, createVNode as C, defineComponent as w, normalizeClass as T, openBlock as E, unref as D, useTemplateRef as O, withCtx as k } from "vue";
|
|
9
|
+
//#region src/utils/chart/bar/createStackedBarHoverOutlinePlugin.ts
|
|
10
|
+
var A = 3, j = 4, M = (e, t, n, r, i, a) => {
|
|
11
|
+
let o = Math.min(a, r / 2, i), s = o;
|
|
12
|
+
e.beginPath(), e.moveTo(t, n + i), e.lineTo(t, n + o), e.arcTo(t, n, t + o, n, o), e.lineTo(t + r - s, n), e.arcTo(t + r, n, t + r, n + s, s), e.lineTo(t + r, n + i), e.closePath(), e.stroke();
|
|
13
|
+
}, N = (e) => ({
|
|
14
|
+
id: "stackedBarHoverOutline",
|
|
15
|
+
afterDatasetsDraw(t) {
|
|
16
|
+
let r = t.tooltip?.getActiveElements() ?? [];
|
|
17
|
+
if (r.length === 0) return;
|
|
18
|
+
let i = Infinity, o = Infinity, s = -Infinity, c = -Infinity;
|
|
19
|
+
for (let e of r) {
|
|
20
|
+
let { x: t, y: n, width: r, base: a } = e.element.getProps([
|
|
21
|
+
"x",
|
|
22
|
+
"y",
|
|
23
|
+
"width",
|
|
24
|
+
"base"
|
|
25
|
+
]), l = t - r / 2, u = t + r / 2, d = n, f = a;
|
|
26
|
+
i = Math.min(i, l), s = Math.max(s, u), o = Math.min(o, d), c = Math.max(c, f);
|
|
27
|
+
}
|
|
28
|
+
let l = n(a.barHoverOutline, e), { ctx: u, chartArea: d } = t, f = A / 2, p = d?.bottom ?? c, m = Math.min(c, p), h = i + f, g = o + f, _ = s - i - A, v = m - o - A;
|
|
29
|
+
if (_ <= 0 || v <= 0) return;
|
|
30
|
+
let y = Math.max(0, j - f);
|
|
31
|
+
u.save(), u.strokeStyle = l, u.lineWidth = A, M(u, h, g, _, v, y), u.restore();
|
|
32
|
+
}
|
|
33
|
+
}), P = 5, F = "stack0", I = 36, L = 4, R = 12, z = ({ seriesList: e, colorHostElement: t, yMax: n, yMin: a, yStep: s = P, skeleton: d = !1, onSeriesClick: h, onSegmentClick: g }) => {
|
|
34
|
+
let _ = p({
|
|
35
|
+
seriesList: e,
|
|
36
|
+
colorHostElement: t,
|
|
37
|
+
yMax: n,
|
|
38
|
+
yMin: a,
|
|
39
|
+
yStep: s,
|
|
40
|
+
skeleton: d
|
|
41
|
+
});
|
|
42
|
+
if (!_) return null;
|
|
43
|
+
let { axisLabelColor: v, gridColor: y, tooltipBackgroundColor: b, tooltipTextColor: x, resolvedYMax: S, resolvedYMin: C, chartLabels: w, pointCaptions: T, topSeriesIndex: E } = _, D = u({
|
|
44
|
+
kind: "segment",
|
|
45
|
+
skeleton: d,
|
|
46
|
+
colorHostElement: t,
|
|
47
|
+
onIndexClick: h,
|
|
48
|
+
onElementIndexClick: g
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
type: "bar",
|
|
52
|
+
data: {
|
|
53
|
+
labels: w,
|
|
54
|
+
datasets: e.map((e, n) => {
|
|
55
|
+
let r = m(n, t, e.fillColor, d);
|
|
56
|
+
return {
|
|
57
|
+
label: e.label,
|
|
58
|
+
data: e.points.map((e) => e.value),
|
|
59
|
+
backgroundColor: r,
|
|
60
|
+
hoverBackgroundColor: r,
|
|
61
|
+
borderWidth: 0,
|
|
62
|
+
hoverBorderWidth: 0,
|
|
63
|
+
stack: F,
|
|
64
|
+
barThickness: I,
|
|
65
|
+
borderRadius: n === E ? {
|
|
66
|
+
topLeft: L,
|
|
67
|
+
topRight: L
|
|
68
|
+
} : 0,
|
|
69
|
+
...n === 0 ? { captions: T } : {}
|
|
70
|
+
};
|
|
71
|
+
})
|
|
72
|
+
},
|
|
73
|
+
options: {
|
|
74
|
+
responsive: !0,
|
|
75
|
+
maintainAspectRatio: !1,
|
|
76
|
+
onHover: D.onHover,
|
|
77
|
+
onClick: D.onClick,
|
|
78
|
+
hover: d ? void 0 : {
|
|
79
|
+
mode: "nearest",
|
|
80
|
+
intersect: !0
|
|
81
|
+
},
|
|
82
|
+
interaction: o(d, {
|
|
83
|
+
mode: "nearest",
|
|
84
|
+
intersect: !0
|
|
85
|
+
}),
|
|
86
|
+
plugins: {
|
|
87
|
+
legend: { display: !1 },
|
|
88
|
+
tooltip: {
|
|
89
|
+
enabled: r(d),
|
|
90
|
+
backgroundColor: b,
|
|
91
|
+
titleColor: x,
|
|
92
|
+
bodyColor: x,
|
|
93
|
+
displayColors: !1,
|
|
94
|
+
position: i,
|
|
95
|
+
yAlign: "bottom",
|
|
96
|
+
xAlign: "center",
|
|
97
|
+
caretPadding: 8,
|
|
98
|
+
callbacks: l()
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
scales: f({
|
|
102
|
+
axisLabelColor: v,
|
|
103
|
+
gridColor: y,
|
|
104
|
+
yMin: C,
|
|
105
|
+
yMax: S,
|
|
106
|
+
yStep: s,
|
|
107
|
+
stacked: !0,
|
|
108
|
+
xTickFontSize: R
|
|
109
|
+
})
|
|
110
|
+
},
|
|
111
|
+
plugins: c(d, [N(t), ...D.plugins])
|
|
112
|
+
};
|
|
113
|
+
}, B = [
|
|
114
|
+
"5 неделя",
|
|
115
|
+
"6 неделя",
|
|
116
|
+
"7 неделя",
|
|
117
|
+
"8 неделя",
|
|
118
|
+
"9 неделя",
|
|
119
|
+
"10 неделя",
|
|
120
|
+
"11 неделя",
|
|
121
|
+
"12 неделя",
|
|
122
|
+
"13 неделя",
|
|
123
|
+
"14 неделя",
|
|
124
|
+
"15 неделя",
|
|
125
|
+
"16 неделя"
|
|
126
|
+
], V = [
|
|
127
|
+
12,
|
|
128
|
+
14,
|
|
129
|
+
15,
|
|
130
|
+
16,
|
|
131
|
+
18,
|
|
132
|
+
17,
|
|
133
|
+
16,
|
|
134
|
+
15,
|
|
135
|
+
14,
|
|
136
|
+
13,
|
|
137
|
+
12,
|
|
138
|
+
11
|
|
139
|
+
], H = [
|
|
140
|
+
6,
|
|
141
|
+
7,
|
|
142
|
+
8,
|
|
143
|
+
8,
|
|
144
|
+
9,
|
|
145
|
+
8,
|
|
146
|
+
7,
|
|
147
|
+
7,
|
|
148
|
+
6,
|
|
149
|
+
6,
|
|
150
|
+
5,
|
|
151
|
+
5
|
|
152
|
+
], U = [
|
|
153
|
+
4,
|
|
154
|
+
5,
|
|
155
|
+
5,
|
|
156
|
+
6,
|
|
157
|
+
6,
|
|
158
|
+
5,
|
|
159
|
+
5,
|
|
160
|
+
4,
|
|
161
|
+
4,
|
|
162
|
+
3,
|
|
163
|
+
3,
|
|
164
|
+
3
|
|
165
|
+
], W = [
|
|
166
|
+
"Series 1",
|
|
167
|
+
"Series 2",
|
|
168
|
+
"Series 3"
|
|
169
|
+
], G = [
|
|
170
|
+
{
|
|
171
|
+
label: W[0] ?? "Series 1",
|
|
172
|
+
points: g(B, V)
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
label: W[1] ?? "Series 2",
|
|
176
|
+
points: g(B, H)
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
label: W[2] ?? "Series 3",
|
|
180
|
+
points: g(B, U)
|
|
181
|
+
}
|
|
182
|
+
], K = { class: "s-ui-chart-stacked-bar__canvas-wrap" }, q = /* @__PURE__ */ w({
|
|
183
|
+
__name: "SChartStackedBar",
|
|
184
|
+
props: {
|
|
185
|
+
series: { default: () => [] },
|
|
186
|
+
loading: {
|
|
187
|
+
type: Boolean,
|
|
188
|
+
default: !1
|
|
189
|
+
},
|
|
190
|
+
yMax: {},
|
|
191
|
+
yStep: {}
|
|
192
|
+
},
|
|
193
|
+
emits: ["seriesClick", "segmentClick"],
|
|
194
|
+
setup(n, { expose: r, emit: i }) {
|
|
195
|
+
let a = i, o = O("chartRootRef"), c = O("chartCanvasRef"), l = v(() => n.loading ? G : n.series), u = (e) => {
|
|
196
|
+
let t = n.series[e];
|
|
197
|
+
t && a("seriesClick", e, t);
|
|
198
|
+
}, f = (e, t) => {
|
|
199
|
+
let r = n.series[t], i = r?.points[e];
|
|
200
|
+
r && i && a("segmentClick", e, t, i, r);
|
|
201
|
+
}, p = _("onSeriesClick"), g = _("onSegmentClick"), w = v(() => !n.loading && n.series.length === 0 ? null : z({
|
|
202
|
+
seriesList: l.value,
|
|
203
|
+
colorHostElement: o.value,
|
|
204
|
+
yMax: n.loading ? 50 : n.yMax,
|
|
205
|
+
yMin: n.loading ? 0 : void 0,
|
|
206
|
+
yStep: n.loading ? 5 : n.yStep,
|
|
207
|
+
skeleton: n.loading,
|
|
208
|
+
onSeriesClick: p() ? u : void 0,
|
|
209
|
+
onSegmentClick: g() ? f : void 0
|
|
210
|
+
})), A = v(() => h(l.value, (e, t) => m(e, o.value, t, n.loading))), { chartInstance: j } = s({
|
|
211
|
+
canvasRef: c,
|
|
212
|
+
config: w,
|
|
213
|
+
enabled: v(() => n.loading || n.series.length > 0)
|
|
214
|
+
}), { exportImage: M, handleLegendItemHover: N } = d({
|
|
215
|
+
chartInstance: j,
|
|
216
|
+
canvasRef: c,
|
|
217
|
+
colorHostElement: o
|
|
218
|
+
});
|
|
219
|
+
return r({ exportImage: M }), (r, i) => (E(), x("div", {
|
|
220
|
+
ref_key: "chartRootRef",
|
|
221
|
+
ref: o,
|
|
222
|
+
class: T(["s-ui-chart-stacked-bar", { "s-ui-chart-stacked-bar--skeleton": n.loading }])
|
|
223
|
+
}, [S("div", K, [C(D(t), { loading: n.loading }, {
|
|
224
|
+
default: k(() => [S("canvas", {
|
|
225
|
+
ref_key: "chartCanvasRef",
|
|
226
|
+
ref: c,
|
|
227
|
+
class: "s-ui-chart-stacked-bar__canvas"
|
|
228
|
+
}, null, 512)]),
|
|
229
|
+
_: 1
|
|
230
|
+
}, 8, ["loading"])]), A.value.length ? (E(), y(D(e), {
|
|
231
|
+
key: 0,
|
|
232
|
+
items: A.value,
|
|
233
|
+
disabled: n.loading,
|
|
234
|
+
interactive: !n.loading,
|
|
235
|
+
onItemHover: D(N)
|
|
236
|
+
}, null, 8, [
|
|
237
|
+
"items",
|
|
238
|
+
"disabled",
|
|
239
|
+
"interactive",
|
|
240
|
+
"onItemHover"
|
|
241
|
+
])) : b("", !0)], 2));
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
//#endregion
|
|
245
|
+
export { q as t };
|
|
@@ -40,15 +40,15 @@ var B = Symbol("SSegmentControl"), V = {
|
|
|
40
40
|
return e.mode === "none" ? "button" : e.rootTag;
|
|
41
41
|
}), k = p(() => O.value === "button"), P = p(() => {
|
|
42
42
|
if (n) return M(n.name);
|
|
43
|
-
}), I = p(() => ({
|
|
43
|
+
}), I = p(() => t.item.ariaLabel ? t.item.ariaLabel : t.item.iconOnly ? t.item.label : void 0), z = p(() => ({
|
|
44
44
|
"s-ui-segment-control__item--selected": T.value,
|
|
45
45
|
"s-ui-segment-control__item--icon-only": !!t.item.iconOnly,
|
|
46
46
|
"s-ui-segment-control__item--link": c(t.item.link)
|
|
47
|
-
})),
|
|
47
|
+
})), H = p(() => ({
|
|
48
48
|
...s(D.value, { replace: t.item.replace }),
|
|
49
49
|
disabled: k.value && x.value ? !0 : void 0,
|
|
50
50
|
"aria-disabled": !k.value && x.value ? !0 : void 0
|
|
51
|
-
})),
|
|
51
|
+
})), U = p(() => x.value ? -1 : C.tabIndex.value ?? -1), W = (e) => {
|
|
52
52
|
if (!x.value) {
|
|
53
53
|
if (y.isRouterLink.value && (e.key === "Enter" || e.key === " " || e.key === "Spacebar")) {
|
|
54
54
|
e.preventDefault(), y.navigate();
|
|
@@ -56,7 +56,7 @@ var B = Symbol("SSegmentControl"), V = {
|
|
|
56
56
|
}
|
|
57
57
|
C.handleKeydown(e);
|
|
58
58
|
}
|
|
59
|
-
},
|
|
59
|
+
}, G = (e) => {
|
|
60
60
|
if (x.value) {
|
|
61
61
|
e.preventDefault(), e.stopPropagation();
|
|
62
62
|
return;
|
|
@@ -67,14 +67,15 @@ var B = Symbol("SSegmentControl"), V = {
|
|
|
67
67
|
ref_key: "itemRootRef",
|
|
68
68
|
ref: _,
|
|
69
69
|
role: "radio",
|
|
70
|
-
class: ["s-ui-segment-control__item",
|
|
70
|
+
class: ["s-ui-segment-control__item", z.value],
|
|
71
71
|
type: k.value ? "button" : void 0
|
|
72
|
-
},
|
|
72
|
+
}, H.value, {
|
|
73
73
|
"aria-checked": T.value ? "true" : "false",
|
|
74
|
-
|
|
74
|
+
"aria-label": I.value,
|
|
75
|
+
tabindex: U.value,
|
|
75
76
|
name: k.value ? P.value : void 0,
|
|
76
|
-
onClick:
|
|
77
|
-
onKeydown:
|
|
77
|
+
onClick: G,
|
|
78
|
+
onKeydown: W
|
|
78
79
|
}), {
|
|
79
80
|
default: L(() => [t.item.icon ? (E(), g("span", V, [v(N(R), {
|
|
80
81
|
name: t.item.icon,
|
|
@@ -88,6 +89,7 @@ var B = Symbol("SSegmentControl"), V = {
|
|
|
88
89
|
"class",
|
|
89
90
|
"type",
|
|
90
91
|
"aria-checked",
|
|
92
|
+
"aria-label",
|
|
91
93
|
"tabindex",
|
|
92
94
|
"name"
|
|
93
95
|
]));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./SButton.types-UKroD-ev.cjs"),t=require("./useSelectionGroup-NJvi3hNo.cjs"),n=require("./useSelectLink-DZIAhQ2J.cjs"),r=require("./useLink-1LLWpdDZ.cjs"),i=require("./getIndicatorMetricsPercent-CFGy_nB8.cjs");let a=require("vue"),o=require("@shtabapp/ui-kit-primitives"),s=require("@vueuse/core");var c=Symbol(`SSegmentControl`),l={key:0,class:`s-ui-segment-control__icon`,"aria-hidden":`true`},u=(0,a.defineComponent)({__name:`SSegmentControlItem`,props:{item:{}},setup(t){let i=(0,a.inject)(c,null),s={[e.n.SMALL]:`s-ui-typography-label-12-medium`,[e.n.MEDIUM]:`s-ui-typography-label-14-medium`,[e.n.LARGE]:`s-ui-typography-label-16-medium`},u={[e.n.SMALL]:16,[e.n.MEDIUM]:20,[e.n.LARGE]:24},d=(0,a.computed)(()=>i?(0,a.toValue)(i.size):e.n.MEDIUM),f=(0,a.computed)(()=>s[d.value]),p=(0,a.computed)(()=>u[d.value]),m=(0,a.useTemplateRef)(`itemRootRef`),h=r.t(()=>t.item.link,()=>t.item.exact,()=>t.item.replace);n.t({isRouterLink:h.isRouterLink,isActive:h.isActive,group:()=>i,value:()=>t.item.value});let g=(0,a.computed)(()=>!!(i&&(0,a.toValue)(i.disabled))||!!t.item.disabled),_=n.n({group:()=>i,value:()=>t.item.value,el:m,disabled:g}),v=(0,a.computed)(()=>h.isRouterLink.value?h.isActive.value:_.isActive.value),y=h.linkPresentation,b=(0,a.computed)(()=>{let e=y.value;return e.mode===`none`?`button`:e.rootTag}),x=(0,a.computed)(()=>b.value===`button`),S=(0,a.computed)(()=>{if(i)return(0,a.toValue)(i.name)}),C=(0,a.computed)(()=>t.item.ariaLabel?t.item.ariaLabel:t.item.iconOnly?t.item.label:void 0),w=(0,a.computed)(()=>({"s-ui-segment-control__item--selected":v.value,"s-ui-segment-control__item--icon-only":!!t.item.iconOnly,"s-ui-segment-control__item--link":r.r(t.item.link)})),T=(0,a.computed)(()=>({...r.n(y.value,{replace:t.item.replace}),disabled:x.value&&g.value?!0:void 0,"aria-disabled":!x.value&&g.value?!0:void 0})),E=(0,a.computed)(()=>g.value?-1:_.tabIndex.value??-1),D=e=>{if(!g.value){if(h.isRouterLink.value&&(e.key===`Enter`||e.key===` `||e.key===`Spacebar`)){e.preventDefault(),h.navigate();return}_.handleKeydown(e)}},O=e=>{if(g.value){e.preventDefault(),e.stopPropagation();return}h.isRouterLink.value||_.handleClick()};return(e,n)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(b.value),(0,a.mergeProps)({ref_key:`itemRootRef`,ref:m,role:`radio`,class:[`s-ui-segment-control__item`,w.value],type:x.value?`button`:void 0},T.value,{"aria-checked":v.value?`true`:`false`,"aria-label":C.value,tabindex:E.value,name:x.value?S.value:void 0,onClick:O,onKeydown:D}),{default:(0,a.withCtx)(()=>[t.item.icon?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,l,[(0,a.createVNode)((0,a.unref)(o.SIcon),{name:t.item.icon,size:p.value},null,8,[`name`,`size`])])):(0,a.createCommentVNode)(``,!0),t.item.label&&!t.item.iconOnly?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,{key:1,class:(0,a.normalizeClass)([`s-ui-segment-control__label`,f.value])},(0,a.toDisplayString)(t.item.label),3)):(0,a.createCommentVNode)(``,!0)]),_:1},16,[`class`,`type`,`aria-checked`,`aria-label`,`tabindex`,`name`]))}}),d=`.s-ui-segment-control__item`,f=({trackEl:e,activeIndex:t,itemCount:n})=>{let r=(0,a.ref)(i.t()),o=()=>{let n=(0,a.toValue)(e),o=(0,a.toValue)(t);if(!n||o<0){r.value=i.t();return}let s=n.querySelectorAll(d).item(o);if(!(s instanceof HTMLElement)){r.value=i.t();return}r.value=i.n(n,s)};return(0,s.useResizeObserver)(e,()=>{o()}),(0,a.watch)(()=>[(0,a.toValue)(t),(0,a.toValue)(n)],async()=>{await(0,a.nextTick)(),o()},{immediate:!0}),{indicatorStyle:(0,a.computed)(()=>{let{left:e,top:t,width:n,height:i}=r.value;return!n||!i?{opacity:`0`}:{opacity:`1`,left:`${e}%`,top:`${t}%`,width:`${n}%`,height:`${i}%`}}),updateMetrics:o}},p=[`aria-disabled`],m=(0,a.defineComponent)({__name:`SSegmentControl`,props:(0,a.mergeModels)({items:{},size:{default:()=>e.n.MEDIUM},disabled:{type:Boolean,default:!1},mandatory:{type:Boolean,default:!0},name:{}},{modelValue:{},modelModifiers:{}}),emits:(0,a.mergeModels)([`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,a.useModel)(e,`modelValue`),i=n,o=(0,a.useTemplateRef)(`trackRef`),s=t.o({modelValue:()=>r.value,onUpdateModelValue:e=>{t.i(e)&&(r.value=e,i(`change`,e))},mode:t.n.SINGLE,mandatory:()=>e.mandatory,orientation:t.r.HORIZONTAL,loop:!0});(0,a.provide)(c,{mode:()=>t.n.SINGLE,isSelected:s.isSelected,selectItem:s.select,registerItem:s.registerItem,getItemTabIndex:s.getItemTabIndex,getGroupTabIndex:s.getGroupTabIndex,handleItemKeydown:s.handleItemKeydown,disabled:()=>e.disabled,name:()=>e.name,size:()=>e.size});let{indicatorStyle:l}=f({trackEl:()=>o.value,activeIndex:(0,a.computed)(()=>{let t=e.items.findIndex(e=>s.isSelected(e.value));return t>=0?t:0}),itemCount:()=>e.items.length}),d=(0,a.computed)(()=>({[`s-ui-segment-control--size-${e.size}`]:!0,"s-ui-segment-control--disabled":e.disabled})),m=(e,t)=>`${String(e.value)}-${t}`,h=()=>{if(r.value!==void 0&&r.value!==null)return;let t=e.items.find(e=>!e.disabled);t&&(r.value=t.value)};return(0,a.watch)(()=>e.items,()=>{h()},{immediate:!0}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,(0,a.mergeProps)({ref_key:`trackRef`,ref:o,class:[`s-ui-segment-control`,d.value],role:`radiogroup`,"aria-disabled":e.disabled||void 0},t.$attrs),[(0,a.createElementVNode)(`span`,{class:`s-ui-segment-control__indicator`,style:(0,a.normalizeStyle)((0,a.unref)(l)),"aria-hidden":`true`},null,4),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.items,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)(u,{key:m(e,t),item:e},null,8,[`item`]))),128))],16,p))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return m}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=e=>{if(e.length===0)return!1;let t=e[0];return!t||t.points.length===0?!1:e.every(e=>e.points.length===t.points.length?e.points.every((e,n)=>e.label===t.points[n]?.label):!1)};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return e}});
|
|
@@ -3,12 +3,6 @@ var e = (e) => {
|
|
|
3
3
|
if (e.length === 0) return !1;
|
|
4
4
|
let t = e[0];
|
|
5
5
|
return !t || t.points.length === 0 ? !1 : e.every((e) => e.points.length === t.points.length ? e.points.every((e, n) => e.label === t.points[n]?.label) : !1);
|
|
6
|
-
}
|
|
7
|
-
label: e.label,
|
|
8
|
-
color: t(n, e.fillColor)
|
|
9
|
-
})), n = (e, t) => e.map((e, n) => ({
|
|
10
|
-
label: e,
|
|
11
|
-
value: t[n] ?? 0
|
|
12
|
-
}));
|
|
6
|
+
};
|
|
13
7
|
//#endregion
|
|
14
|
-
export {
|
|
8
|
+
export { e as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=(e,t)=>e.map((e,n)=>({label:e.label,color:t(n,e.fillColor)})),t=(e,t)=>e.map((e,n)=>({label:e,value:t[n]??0}));Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { TChartPoint, TChartSeries } from '../../utils/chart/chart.types';
|
|
2
|
+
export type { TChartPoint, TChartSeries } from '../../utils/chart/chart.types';
|
|
3
|
+
export type TChartBarAxis = 'left' | 'right';
|
|
4
|
+
export type TChartBarPoint = TChartPoint & {
|
|
5
|
+
/** Цвет конкретного столбика: для категориальных графиков, где цвет несёт смысл. */
|
|
6
|
+
fillColor?: string;
|
|
7
|
+
};
|
|
8
|
+
export type TChartBarSeries = Omit<TChartSeries, 'points'> & {
|
|
9
|
+
points: TChartBarPoint[];
|
|
10
|
+
/** Шкала серии. Правая — независимая ось со своими единицами. */
|
|
11
|
+
axis?: TChartBarAxis;
|
|
12
|
+
};
|
|
13
|
+
export type TChartBarTarget = {
|
|
14
|
+
/** Значение цели на каждый столбик: норма бывает разной у обрезанных периодов. */
|
|
15
|
+
values: number[];
|
|
16
|
+
/** Подпись рисуется, только когда цель одинакова во всех столбиках. */
|
|
17
|
+
label?: string;
|
|
18
|
+
axis?: TChartBarAxis;
|
|
19
|
+
color?: string;
|
|
20
|
+
};
|
|
21
|
+
export interface ISChartBarProps {
|
|
22
|
+
/** Серии столбиков. */
|
|
23
|
+
series?: TChartBarSeries[];
|
|
24
|
+
/** single — один столбик на категорию, grouped — серии рядом внутри категории. */
|
|
25
|
+
mode?: 'single' | 'grouped';
|
|
26
|
+
/** Режим загрузки со скелетоном. */
|
|
27
|
+
loading?: boolean;
|
|
28
|
+
/** Верхняя граница левой оси Y. */
|
|
29
|
+
yMax?: number;
|
|
30
|
+
/** Шаг делений левой оси Y. */
|
|
31
|
+
yStep?: number;
|
|
32
|
+
/** Верхняя граница правой оси Y. */
|
|
33
|
+
rightYMax?: number;
|
|
34
|
+
/** Шаг делений правой оси Y. */
|
|
35
|
+
rightYStep?: number;
|
|
36
|
+
/** Дублировать подписи левой оси справа. Игнорируется, если есть серии на правой оси. */
|
|
37
|
+
mirrorYAxis?: boolean;
|
|
38
|
+
/** Горизонтальная линия цели поверх столбиков. */
|
|
39
|
+
target?: TChartBarTarget;
|
|
40
|
+
/** Показывать легенду под графиком. */
|
|
41
|
+
showLegend?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface IChartBarLegendItem {
|
|
44
|
+
label: string;
|
|
45
|
+
color: string;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=SChartBar.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SChartBar.types.d.ts","sourceRoot":"","sources":["../../../src/components/SChartBar/SChartBar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE9E,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE9E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAC3D,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,iEAAiE;IACjE,IAAI,CAAC,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAA;IAC1B,kFAAkF;IAClF,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC3B,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yFAAyF;IACzF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ISChartBarProps, TChartBarPoint, TChartBarSeries } from './SChartBar.types';
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<ISChartBarProps, {
|
|
3
|
+
exportImage: () => string | undefined;
|
|
4
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
5
|
+
pointClick: (pointIndex: number, seriesIndex: number, point: TChartBarPoint, series: TChartBarSeries) => any;
|
|
6
|
+
}, string, import("vue").PublicProps, Readonly<ISChartBarProps> & Readonly<{
|
|
7
|
+
onPointClick?: ((pointIndex: number, seriesIndex: number, point: TChartBarPoint, series: TChartBarSeries) => any) | undefined;
|
|
8
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|
|
11
|
+
//# sourceMappingURL=SChartBar.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SChartBar.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SChartBar/SChartBar.vue"],"names":[],"mappings":"AA4IA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAmL1B,QAAA,MAAM,YAAY;;;;;;kFAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SChartBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACtD,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ChartConfiguration } from 'chart.js';
|
|
2
|
+
import type { TChartBarSeries, TChartBarTarget } from '../SChartBar.types';
|
|
3
|
+
export interface IBuildBarChartConfigOptions {
|
|
4
|
+
seriesList: TChartBarSeries[];
|
|
5
|
+
colorHostElement?: Element | null;
|
|
6
|
+
yMax?: number;
|
|
7
|
+
yStep?: number;
|
|
8
|
+
rightYMax?: number;
|
|
9
|
+
rightYStep?: number;
|
|
10
|
+
mirrorYAxis?: boolean;
|
|
11
|
+
target?: TChartBarTarget;
|
|
12
|
+
skeleton?: boolean;
|
|
13
|
+
onPointClick?: (pointIndex: number, seriesIndex: number) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const buildBarChartConfig: ({ seriesList, colorHostElement, yMax, yStep, rightYMax, rightYStep, mirrorYAxis, target, skeleton, onPointClick, }: IBuildBarChartConfigOptions) => ChartConfiguration<"bar"> | null;
|
|
16
|
+
//# sourceMappingURL=buildBarChartConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildBarChartConfig.d.ts","sourceRoot":"","sources":["../../../../src/components/SChartBar/utils/buildBarChartConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAoB1E,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CACjE;AAiBD,eAAO,MAAM,mBAAmB,GAAI,oHAWjC,2BAA2B,KAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAiH5D,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Plugin } from 'chart.js';
|
|
2
|
+
import type { TChartBarTarget } from '../SChartBar.types';
|
|
3
|
+
export interface ICreateBarTargetLinePluginOptions {
|
|
4
|
+
target?: TChartBarTarget;
|
|
5
|
+
colorHostElement?: Element | null;
|
|
6
|
+
rightAxisId: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const createBarTargetLinePlugin: ({ target, colorHostElement, rightAxisId, }: ICreateBarTargetLinePluginOptions) => Plugin<"bar">;
|
|
9
|
+
//# sourceMappingURL=createBarTargetLinePlugin.d.ts.map
|