@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.
Files changed (103) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/SChartBar-BVgwPlYi.js +215 -0
  3. package/dist/SChartBar-CBU1uCuL.cjs +1 -0
  4. package/dist/SChartBurnup-Ch3UMa9w.cjs +1 -0
  5. package/dist/{SChartBurnup-Dxi0MBwo.js → SChartBurnup-DyJHdRlf.js} +75 -75
  6. package/dist/SChartHorizontalBar-Bv90SV6E.cjs +1 -0
  7. package/dist/{SChartHorizontalBar-XNasKzaO.js → SChartHorizontalBar-DDo6TfE8.js} +28 -28
  8. package/dist/{SChartLine-DSQaezYq.js → SChartLine-Cs1JzPEK.js} +29 -29
  9. package/dist/SChartLine-nIGaef_o.cjs +1 -0
  10. package/dist/SChartMultiLine-BzoW4ETf.cjs +1 -0
  11. package/dist/SChartMultiLine-DqCQ7FCv.js +204 -0
  12. package/dist/{SChartPie-bN8rY-y5.js → SChartPie-Bt3o7LZI.js} +55 -55
  13. package/dist/SChartPie-Bv5Obcwb.cjs +1 -0
  14. package/dist/{SChartProgress-BtwqE4xL.js → SChartProgress-uMg4DBpS.js} +30 -30
  15. package/dist/SChartProgress-xxqrj03o.cjs +1 -0
  16. package/dist/SChartStackedArea-BNe6FAg8.cjs +1 -0
  17. package/dist/{SChartStackedArea-BxUex_Di.js → SChartStackedArea-BQGnKp1i.js} +58 -58
  18. package/dist/SChartStackedBar-D1G-VloG.cjs +1 -0
  19. package/dist/SChartStackedBar-fiUU9lNp.js +245 -0
  20. package/dist/{SSegmentControl-CAoM03V6.js → SSegmentControl-B9KkAQiG.js} +11 -9
  21. package/dist/SSegmentControl-OXTka86u.cjs +1 -0
  22. package/dist/areChartSeriesAligned-DiBX3TTk.cjs +1 -0
  23. package/dist/{buildChartSeriesPoints-D8Xpfwp7.js → areChartSeriesAligned-DjonrIMm.js} +2 -8
  24. package/dist/buildChartSeriesPoints-BTyOpkin.js +10 -0
  25. package/dist/buildChartSeriesPoints-Cqo2ed-n.cjs +1 -0
  26. package/dist/components/SChartBar/SChartBar.types.d.ts +47 -0
  27. package/dist/components/SChartBar/SChartBar.types.d.ts.map +1 -0
  28. package/dist/components/SChartBar/SChartBar.vue.d.ts +11 -0
  29. package/dist/components/SChartBar/SChartBar.vue.d.ts.map +1 -0
  30. package/dist/components/SChartBar/index.d.ts +3 -0
  31. package/dist/components/SChartBar/index.d.ts.map +1 -0
  32. package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts +16 -0
  33. package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts.map +1 -0
  34. package/dist/components/SChartBar/utils/createBarTargetLinePlugin.d.ts +9 -0
  35. package/dist/components/SChartBar/utils/createBarTargetLinePlugin.d.ts.map +1 -0
  36. package/dist/components/SChartBar/utils/demoBarSeries.d.ts +9 -0
  37. package/dist/components/SChartBar/utils/demoBarSeries.d.ts.map +1 -0
  38. package/dist/components/SChartBar/utils/skeletonBarSeries.d.ts +5 -0
  39. package/dist/components/SChartBar/utils/skeletonBarSeries.d.ts.map +1 -0
  40. package/dist/components/SChartMultiLine/SChartMultiLine.types.d.ts +2 -0
  41. package/dist/components/SChartMultiLine/SChartMultiLine.types.d.ts.map +1 -1
  42. package/dist/components/SChartMultiLine/SChartMultiLine.vue.d.ts.map +1 -1
  43. package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts +2 -1
  44. package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts.map +1 -1
  45. package/dist/components/SList/utils/resolveListItemFields.d.ts +1 -1
  46. package/dist/components/SList/utils/resolveListItemFields.d.ts.map +1 -1
  47. package/dist/components/SSegmentControl/SSegmentControl.types.d.ts +2 -0
  48. package/dist/components/SSegmentControl/SSegmentControl.types.d.ts.map +1 -1
  49. package/dist/components/SSegmentControl/SSegmentControlItem.vue.d.ts.map +1 -1
  50. package/dist/{createChartCrosshairPlugin-DwFOncWI.js → createChartCrosshairPlugin-DU5grSok.js} +2 -2
  51. package/dist/createChartCrosshairPlugin-DfYzBie2.cjs +1 -0
  52. package/dist/entries/chart-bar.cjs +1 -0
  53. package/dist/entries/chart-bar.d.ts +3 -0
  54. package/dist/entries/chart-bar.d.ts.map +1 -0
  55. package/dist/entries/chart-bar.js +2 -0
  56. package/dist/entries/chart-burnup.cjs +1 -1
  57. package/dist/entries/chart-burnup.js +1 -1
  58. package/dist/entries/chart-horizontal-bar.cjs +1 -1
  59. package/dist/entries/chart-horizontal-bar.js +1 -1
  60. package/dist/entries/chart-line.cjs +1 -1
  61. package/dist/entries/chart-line.js +1 -1
  62. package/dist/entries/chart-multi-line.cjs +1 -1
  63. package/dist/entries/chart-multi-line.js +1 -1
  64. package/dist/entries/chart-pie.cjs +1 -1
  65. package/dist/entries/chart-pie.js +1 -1
  66. package/dist/entries/chart-progress.cjs +1 -1
  67. package/dist/entries/chart-progress.js +1 -1
  68. package/dist/entries/chart-stacked-area.cjs +1 -1
  69. package/dist/entries/chart-stacked-area.js +1 -1
  70. package/dist/entries/chart-stacked-bar.cjs +1 -1
  71. package/dist/entries/chart-stacked-bar.js +1 -1
  72. package/dist/entries/segment-control.cjs +1 -1
  73. package/dist/entries/segment-control.js +1 -1
  74. package/dist/index.cjs +1 -1
  75. package/dist/index.d.ts +2 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +123 -122
  78. package/dist/resolveBarStackedSeriesColor-HDSkh6Mw.cjs +1 -0
  79. package/dist/resolveBarStackedSeriesColor-LpVh1SvQ.js +11 -0
  80. package/dist/resolveSeriesPaletteColor-B5qoBbXN.cjs +1 -0
  81. package/dist/{resolveSeriesPaletteColor-BdvGT-PI.js → resolveSeriesPaletteColor-DcLSyk-D.js} +1 -1
  82. package/dist/{resolveStackedChartContext-DFre3tt0.js → resolveStackedChartContext-CIKVXkDn.js} +6 -6
  83. package/dist/resolveStackedChartContext-CQbgdV55.cjs +1 -0
  84. package/dist/uikit-components.css +1 -1
  85. package/dist/{SChartSkeletonHost-BT96eWSF.js → useChartInteractivity-BATdT86l.js} +126 -126
  86. package/dist/useChartInteractivity-CXSdHPOw.cjs +1 -0
  87. package/package.json +8 -3
  88. package/dist/SChartBurnup-C4x5kik6.cjs +0 -1
  89. package/dist/SChartHorizontalBar-4H-lgfO4.cjs +0 -1
  90. package/dist/SChartLine-BF6Klm4j.cjs +0 -1
  91. package/dist/SChartMultiLine-CrMmphFe.js +0 -198
  92. package/dist/SChartMultiLine-Ddvfmf__.cjs +0 -1
  93. package/dist/SChartPie-namQTFla.cjs +0 -1
  94. package/dist/SChartProgress-DsFHotRv.cjs +0 -1
  95. package/dist/SChartSkeletonHost-Dt5EjQr5.cjs +0 -1
  96. package/dist/SChartStackedArea-BLHs3sSH.cjs +0 -1
  97. package/dist/SChartStackedBar-BJ9LOgSP.js +0 -250
  98. package/dist/SChartStackedBar-CWNyvUj9.cjs +0 -1
  99. package/dist/SSegmentControl-B9jT8Axu.cjs +0 -1
  100. package/dist/buildChartSeriesPoints-Bv3nXvSu.cjs +0 -1
  101. package/dist/createChartCrosshairPlugin-ZZwKUQm8.cjs +0 -1
  102. package/dist/resolveSeriesPaletteColor-hI4YDdUg.cjs +0 -1
  103. package/dist/resolveStackedChartContext-Dsxhhhel.cjs +0 -1
@@ -1,33 +1,33 @@
1
- import { C as e, S as t, a as n, c as r, i, l as a, o, r as s, s as c, t as l, u, v as d } from "./SChartSkeletonHost-BT96eWSF.js";
2
- import { t as f } from "./buildCartesianChartScales-EofFq3ry.js";
3
- import { n as p, t as m } from "./buildChartSeriesPoints-D8Xpfwp7.js";
4
- import { t as h } from "./resolveStackedChartContext-DFre3tt0.js";
5
- import { t as g } from "./createChartCrosshairPlugin-DwFOncWI.js";
6
- import { t as _ } from "./resolveSeriesPaletteColor-BdvGT-PI.js";
7
- import { t as v } from "./SChartLegend-oZoF8XK7.js";
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 = (n, r, i, a = !1) => _(n, r, i, a, {
12
- palette: e,
13
- paletteFallback: d.stackedPalette1,
14
- skeletonPalette: t,
15
- skeletonFallback: d.skeletonPalette1
16
- }), N = 20, P = "stack0", F = ({ seriesList: e, colorHostElement: t, yMax: i, yMin: s, yStep: l = N, skeleton: d = !1, totalLabel: p, onSeriesClick: m }) => {
17
- let _ = h({
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: i,
21
- yMin: s,
22
- yStep: l,
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 = n({
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: m
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: c(d),
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: a,
78
+ position: u,
79
79
  yAlign: "bottom",
80
80
  xAlign: "center",
81
81
  caretPadding: 8,
82
- callbacks: u({ total: p })
82
+ callbacks: i({ total: f })
83
83
  }
84
84
  },
85
- scales: f({
85
+ scales: p({
86
86
  axisLabelColor: v,
87
87
  gridColor: y,
88
88
  yMin: C,
89
89
  yMax: S,
90
- yStep: l,
90
+ yStep: s,
91
91
  stacked: !0
92
92
  })
93
93
  },
94
- plugins: r(d, [g(t), ...T.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: m(I, L)
179
+ points: v(I, L)
180
180
  },
181
181
  {
182
182
  label: V[1] ?? "Series 2",
183
- points: m(I, R)
183
+ points: v(I, R)
184
184
  },
185
185
  {
186
186
  label: V[2] ?? "Series 3",
187
- points: m(I, z)
187
+ points: v(I, z)
188
188
  },
189
189
  {
190
190
  label: V[3] ?? "Series 4",
191
- points: m(I, B)
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(e, { expose: t, emit: n }) {
207
- let r = n, a = A("chartRootRef"), o = A("chartCanvasRef"), c = b(() => e.loading ? H : e.series), u = (t) => {
208
- let n = e.series[t];
209
- n && r("seriesClick", t, n);
210
- }, d = y("onSeriesClick"), f = b(() => !e.loading && e.series.length === 0 ? null : F({
211
- seriesList: c.value,
212
- colorHostElement: a.value,
213
- yMax: e.loading ? 160 : e.yMax,
214
- yMin: e.loading ? 0 : void 0,
215
- yStep: e.loading ? 20 : e.yStep,
216
- skeleton: e.loading,
217
- totalLabel: e.totalLabel,
218
- onSeriesClick: d() ? u : void 0
219
- })), m = b(() => p(c.value, (t, n) => M(t, a.value, n, e.loading))), { chartInstance: h } = i({
220
- canvasRef: o,
221
- config: f,
222
- enabled: b(() => e.loading || e.series.length > 0)
223
- }), { exportImage: g, handleLegendItemHover: _ } = s({
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: o,
226
- colorHostElement: a
225
+ canvasRef: c,
226
+ colorHostElement: o
227
227
  });
228
- return t({ exportImage: g }), (t, n) => (O(), C("div", {
228
+ return r({ exportImage: g }), (r, i) => (O(), C("div", {
229
229
  ref_key: "chartRootRef",
230
- ref: a,
231
- class: D(["s-ui-chart-stacked-area", { "s-ui-chart-stacked-area--skeleton": e.loading }])
232
- }, [w("div", U, [T(k(l), { loading: e.loading }, {
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: o,
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(v), {
239
+ }, 8, ["loading"])]), m.value.length ? (O(), x(k(e), {
240
240
  key: 0,
241
241
  items: m.value,
242
- disabled: e.loading,
243
- interactive: !e.loading,
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
- })), z = p(() => ({
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
- })), H = p(() => x.value ? -1 : C.tabIndex.value ?? -1), U = (e) => {
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
- }, W = (e) => {
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", I.value],
70
+ class: ["s-ui-segment-control__item", z.value],
71
71
  type: k.value ? "button" : void 0
72
- }, z.value, {
72
+ }, H.value, {
73
73
  "aria-checked": T.value ? "true" : "false",
74
- tabindex: H.value,
74
+ "aria-label": I.value,
75
+ tabindex: U.value,
75
76
  name: k.value ? P.value : void 0,
76
- onClick: W,
77
- onKeydown: U
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
- }, t = (e, t) => e.map((e, n) => ({
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 { t as n, e as r, n as t };
8
+ export { e as t };
@@ -0,0 +1,10 @@
1
+ //#region src/utils/chart/core/buildChartLegendItems.ts
2
+ var e = (e, t) => e.map((e, n) => ({
3
+ label: e.label,
4
+ color: t(n, e.fillColor)
5
+ })), t = (e, t) => e.map((e, n) => ({
6
+ label: e,
7
+ value: t[n] ?? 0
8
+ }));
9
+ //#endregion
10
+ export { e as n, 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,3 @@
1
+ export { default as SChartBar } from './SChartBar.vue';
2
+ export type { IChartBarLegendItem, ISChartBarProps, TChartBarAxis, TChartBarPoint, TChartBarSeries, TChartBarTarget, TChartPoint, TChartSeries, } from './SChartBar.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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