@shtabapp/ui-kit 1.45.0 → 1.47.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 (129) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/{SChartBurnup-DhuCNXhU.cjs → SChartBurnup-BhCS06uF.cjs} +1 -1
  3. package/dist/SChartBurnup-CG239MJx.js +251 -0
  4. package/dist/SChartHorizontalBar-DnKbf_9E.cjs +1 -0
  5. package/dist/SChartHorizontalBar-DqTZ4H-9.js +175 -0
  6. package/dist/SChartLegend-DGtjd6zV.cjs +1 -0
  7. package/dist/SChartLegend-oZoF8XK7.js +42 -0
  8. package/dist/SChartLine-CEnRbnVo.cjs +1 -0
  9. package/dist/SChartLine-CQhbtAjJ.js +129 -0
  10. package/dist/SChartMultiLine-B6GldTYv.cjs +1 -0
  11. package/dist/SChartMultiLine-CPEglksk.js +198 -0
  12. package/dist/SChartPie-CQyENNM6.cjs +1 -0
  13. package/dist/SChartPie-DXHCXNEs.js +168 -0
  14. package/dist/{SChartProgress-Zdphet8I.js → SChartProgress-BwDuidgB.js} +54 -50
  15. package/dist/{SChartProgress-QsGTZ8kT.cjs → SChartProgress-CMcM6yvT.cjs} +1 -1
  16. package/dist/SChartSkeletonHost-BlIYGj-7.cjs +1 -0
  17. package/dist/{SChartSkeletonHost-CecfQ3Ye.js → SChartSkeletonHost-DSFyP_DN.js} +150 -89
  18. package/dist/SChartStackedArea-BR7W44h6.js +254 -0
  19. package/dist/SChartStackedArea-DHSamqau.cjs +1 -0
  20. package/dist/SChartStackedBar-B3HcO4UQ.cjs +1 -0
  21. package/dist/SChartStackedBar-BbYna5KB.js +245 -0
  22. package/dist/{SColorPicker-ksmNupJa.js → SColorPicker-BqsD-5xA.js} +1 -1
  23. package/dist/{SColorPicker-BIrkgFys.cjs → SColorPicker-CeKB3QS1.cjs} +1 -1
  24. package/dist/SList-DAzztC-7.js +514 -0
  25. package/dist/SList-S18K8mlH.cjs +1 -0
  26. package/dist/{SSelect-DS2EGmjV.js → SSelect-Bntb-dgY.js} +1 -1
  27. package/dist/{SSelect-CkV6gq4S.cjs → SSelect-DcTEwHx6.cjs} +1 -1
  28. package/dist/components/SChartBurnup/SChartBurnup.vue.d.ts +4 -1
  29. package/dist/components/SChartBurnup/SChartBurnup.vue.d.ts.map +1 -1
  30. package/dist/components/SChartHorizontalBar/SChartHorizontalBar.vue.d.ts +9 -2
  31. package/dist/components/SChartHorizontalBar/SChartHorizontalBar.vue.d.ts.map +1 -1
  32. package/dist/components/SChartHorizontalBar/utils/buildSChartHorizontalBarConfig.d.ts +1 -0
  33. package/dist/components/SChartHorizontalBar/utils/buildSChartHorizontalBarConfig.d.ts.map +1 -1
  34. package/dist/components/SChartLegend/SChartLegend.types.d.ts +2 -0
  35. package/dist/components/SChartLegend/SChartLegend.types.d.ts.map +1 -1
  36. package/dist/components/SChartLegend/SChartLegend.vue.d.ts +5 -1
  37. package/dist/components/SChartLegend/SChartLegend.vue.d.ts.map +1 -1
  38. package/dist/components/SChartLine/SChartLine.vue.d.ts +4 -1
  39. package/dist/components/SChartLine/SChartLine.vue.d.ts.map +1 -1
  40. package/dist/components/SChartMultiLine/SChartMultiLine.vue.d.ts +9 -2
  41. package/dist/components/SChartMultiLine/SChartMultiLine.vue.d.ts.map +1 -1
  42. package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts +2 -1
  43. package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts.map +1 -1
  44. package/dist/components/SChartPie/SChartPie.vue.d.ts +9 -2
  45. package/dist/components/SChartPie/SChartPie.vue.d.ts.map +1 -1
  46. package/dist/components/SChartPie/utils/buildPieChartConfig.d.ts +2 -1
  47. package/dist/components/SChartPie/utils/buildPieChartConfig.d.ts.map +1 -1
  48. package/dist/components/SChartProgress/SChartProgress.vue.d.ts +4 -1
  49. package/dist/components/SChartProgress/SChartProgress.vue.d.ts.map +1 -1
  50. package/dist/components/SChartSegmentedBar/SChartSegmentedBar.vue.d.ts +9 -2
  51. package/dist/components/SChartSegmentedBar/SChartSegmentedBar.vue.d.ts.map +1 -1
  52. package/dist/components/SChartSegmentedBar/utils/buildSegmentedBarChartConfig.d.ts +2 -1
  53. package/dist/components/SChartSegmentedBar/utils/buildSegmentedBarChartConfig.d.ts.map +1 -1
  54. package/dist/components/SChartStackedArea/SChartStackedArea.vue.d.ts +9 -2
  55. package/dist/components/SChartStackedArea/SChartStackedArea.vue.d.ts.map +1 -1
  56. package/dist/components/SChartStackedArea/utils/buildStackedAreaChartConfig.d.ts +2 -1
  57. package/dist/components/SChartStackedArea/utils/buildStackedAreaChartConfig.d.ts.map +1 -1
  58. package/dist/components/SChartStackedBar/SChartStackedBar.vue.d.ts +9 -2
  59. package/dist/components/SChartStackedBar/SChartStackedBar.vue.d.ts.map +1 -1
  60. package/dist/components/SChartStackedBar/utils/buildStackedBarChartConfig.d.ts +2 -1
  61. package/dist/components/SChartStackedBar/utils/buildStackedBarChartConfig.d.ts.map +1 -1
  62. package/dist/components/SList/SList.types.d.ts +11 -0
  63. package/dist/components/SList/SList.types.d.ts.map +1 -1
  64. package/dist/components/SList/SList.vue.d.ts +11 -3
  65. package/dist/components/SList/SList.vue.d.ts.map +1 -1
  66. package/dist/composables/useChartInteractivity.d.ts +14 -0
  67. package/dist/composables/useChartInteractivity.d.ts.map +1 -0
  68. package/dist/composables/useFlatTreeList.d.ts +4 -1
  69. package/dist/composables/useFlatTreeList.d.ts.map +1 -1
  70. package/dist/composables/useHasListener.d.ts +2 -0
  71. package/dist/composables/useHasListener.d.ts.map +1 -0
  72. package/dist/{createChartCrosshairPlugin-HfMMUP5O.cjs → createChartCrosshairPlugin-DdLyEWI0.cjs} +1 -1
  73. package/dist/{createChartCrosshairPlugin-BC0IDCn3.js → createChartCrosshairPlugin-q3U4ePnf.js} +2 -2
  74. package/dist/entries/chart-burnup.cjs +1 -1
  75. package/dist/entries/chart-burnup.js +1 -1
  76. package/dist/entries/chart-horizontal-bar.cjs +1 -1
  77. package/dist/entries/chart-horizontal-bar.js +1 -1
  78. package/dist/entries/chart-line.cjs +1 -1
  79. package/dist/entries/chart-line.js +1 -1
  80. package/dist/entries/chart-multi-line.cjs +1 -1
  81. package/dist/entries/chart-multi-line.js +1 -1
  82. package/dist/entries/chart-pie.cjs +1 -1
  83. package/dist/entries/chart-pie.js +1 -1
  84. package/dist/entries/chart-progress.cjs +1 -1
  85. package/dist/entries/chart-progress.js +1 -1
  86. package/dist/entries/chart-stacked-area.cjs +1 -1
  87. package/dist/entries/chart-stacked-area.js +1 -1
  88. package/dist/entries/chart-stacked-bar.cjs +1 -1
  89. package/dist/entries/chart-stacked-bar.js +1 -1
  90. package/dist/entries/color-picker.cjs +1 -1
  91. package/dist/entries/color-picker.js +1 -1
  92. package/dist/entries/list.cjs +1 -1
  93. package/dist/entries/list.js +1 -1
  94. package/dist/entries/select.cjs +1 -1
  95. package/dist/entries/select.js +1 -1
  96. package/dist/index.cjs +1 -1
  97. package/dist/index.js +184 -140
  98. package/dist/resolveSeriesPaletteColor-YACKW1NO.cjs +1 -0
  99. package/dist/{resolveSeriesPaletteColor-m8HQ9qwV.js → resolveSeriesPaletteColor-fuhGbjFO.js} +1 -1
  100. package/dist/{resolveStackedChartContext-DdraOueU.js → resolveStackedChartContext-BiIGZ2or.js} +5 -5
  101. package/dist/{resolveStackedChartContext-BywAnZUu.cjs → resolveStackedChartContext-Bp75eU_I.cjs} +1 -1
  102. package/dist/useHasListener-BPgtbbo6.cjs +1 -0
  103. package/dist/useHasListener-RSjlUyqH.js +8 -0
  104. package/dist/utils/chart/core/chartCssVariables.d.ts +2 -0
  105. package/dist/utils/chart/core/chartCssVariables.d.ts.map +1 -1
  106. package/dist/utils/chart/core/chartInteractivity.d.ts +41 -0
  107. package/dist/utils/chart/core/chartInteractivity.d.ts.map +1 -0
  108. package/dist/utils/chart/horizontalBar/buildHorizontalBarChartConfig.d.ts +2 -1
  109. package/dist/utils/chart/horizontalBar/buildHorizontalBarChartConfig.d.ts.map +1 -1
  110. package/package.json +3 -3
  111. package/dist/SChartBurnup-DYBnJMnm.js +0 -247
  112. package/dist/SChartHorizontalBar-DMBzyz9x.cjs +0 -1
  113. package/dist/SChartHorizontalBar-bm3Jexa3.js +0 -156
  114. package/dist/SChartLegend-Chr0IZWN.js +0 -30
  115. package/dist/SChartLegend-DXFXKXCm.cjs +0 -1
  116. package/dist/SChartLine-CiREb4H_.js +0 -125
  117. package/dist/SChartLine-P57XRR2o.cjs +0 -1
  118. package/dist/SChartMultiLine-3cdB0U12.js +0 -166
  119. package/dist/SChartMultiLine-BW1kITlR.cjs +0 -1
  120. package/dist/SChartPie-55wx2zRi.cjs +0 -1
  121. package/dist/SChartPie-Dc_gjzIl.js +0 -143
  122. package/dist/SChartSkeletonHost-CfM0zolj.cjs +0 -1
  123. package/dist/SChartStackedArea-BaJ963lU.cjs +0 -1
  124. package/dist/SChartStackedArea-cjN9gECV.js +0 -219
  125. package/dist/SChartStackedBar-0jGICBA0.js +0 -217
  126. package/dist/SChartStackedBar-j9WyOnsL.cjs +0 -1
  127. package/dist/SList-BtfUntkw.js +0 -437
  128. package/dist/SList-fZQdPkFG.cjs +0 -1
  129. package/dist/resolveSeriesPaletteColor-BcFyrhh0.cjs +0 -1
@@ -0,0 +1,198 @@
1
+ import { S as e, a as t, c as n, f as r, i, o as a, p as o, r as s, s as c, t as l, v as u, w as d, y as f } from "./SChartSkeletonHost-DSFyP_DN.js";
2
+ import { n as p, r as m, t as h } from "./buildChartSeriesPoints-D8Xpfwp7.js";
3
+ import { t as g } from "./createChartCrosshairPlugin-q3U4ePnf.js";
4
+ import { t as _ } from "./resolveSeriesPaletteColor-fuhGbjFO.js";
5
+ import { t as v } from "./buildMultiLineChartScales-CFZ8YVeJ.js";
6
+ import { t as y } from "./SChartLegend-oZoF8XK7.js";
7
+ import { t as b } from "./useHasListener-RSjlUyqH.js";
8
+ import { computed as x, createBlock as S, createCommentVNode as C, createElementBlock as w, createElementVNode as T, createVNode as E, defineComponent as D, normalizeClass as O, openBlock as k, unref as A, useTemplateRef as j, withCtx as M } from "vue";
9
+ //#region src/utils/chart/multiLine/resolveMultiLineSeriesColor.ts
10
+ var N = (t, n, r, i = !1) => _(t, n, r, i, {
11
+ palette: f,
12
+ paletteFallback: u.multiLinePalette1,
13
+ skeletonPalette: e,
14
+ skeletonFallback: u.skeletonPalette1
15
+ }), P = (e, t, n) => {
16
+ if (t) return t;
17
+ let r = e.reduce((e, t) => {
18
+ let n = t.points.reduce((e, t) => Math.max(e, t.value), 0);
19
+ return Math.max(e, n);
20
+ }, 0), i = Math.ceil(r / n) * n;
21
+ return i > 0 ? i : n * 5;
22
+ }, F = 4, I = 5, L = ({ seriesList: e, colorHostElement: i, yMax: s, yMin: l, yStep: f = I, mirrorYAxis: p = !0, skeleton: h = !1, onSeriesClick: _ }) => {
23
+ if (!m(e)) return null;
24
+ let y = d(u.axisLabel, i), b = d(u.grid, i), x = d(u.tooltipBackground, i), S = d(u.tooltipText, i), C = h && s ? s : P(e, s, f), w = h && l !== void 0 ? l : 0, T = e[0]?.points.map((e) => e.label) ?? [], E = t({
25
+ kind: "series",
26
+ skeleton: h,
27
+ colorHostElement: i,
28
+ onIndexClick: _
29
+ });
30
+ return {
31
+ type: "line",
32
+ data: {
33
+ labels: T,
34
+ datasets: e.map((e, t) => {
35
+ let n = N(t, i, e.fillColor, h);
36
+ return {
37
+ label: e.label,
38
+ data: e.points.map((e) => e.value),
39
+ borderColor: n,
40
+ backgroundColor: n,
41
+ ...h ? {} : {
42
+ hoverBorderColor: n,
43
+ hoverBackgroundColor: n
44
+ },
45
+ borderWidth: F,
46
+ fill: !1,
47
+ pointRadius: 0,
48
+ pointHoverRadius: 4,
49
+ tension: .4
50
+ };
51
+ })
52
+ },
53
+ options: {
54
+ responsive: !0,
55
+ maintainAspectRatio: !1,
56
+ onHover: E.onHover,
57
+ onClick: E.onClick,
58
+ interaction: a(h, {
59
+ mode: "index",
60
+ intersect: !1
61
+ }),
62
+ hover: h ? void 0 : {
63
+ mode: "nearest",
64
+ intersect: !1
65
+ },
66
+ plugins: {
67
+ legend: { display: !1 },
68
+ tooltip: {
69
+ enabled: c(h),
70
+ backgroundColor: x,
71
+ titleColor: S,
72
+ bodyColor: S,
73
+ footerColor: S,
74
+ displayColors: !1,
75
+ position: r,
76
+ yAlign: "bottom",
77
+ xAlign: "center",
78
+ caretPadding: 8,
79
+ callbacks: o()
80
+ }
81
+ },
82
+ scales: v({
83
+ axisLabelColor: y,
84
+ gridColor: b,
85
+ yMin: w,
86
+ yMax: C,
87
+ yStep: f,
88
+ mirrorYAxis: p
89
+ })
90
+ },
91
+ plugins: n(h, [g(i), ...E.plugins])
92
+ };
93
+ }, R = [
94
+ "26.01",
95
+ "2.02",
96
+ "9.02",
97
+ "16.02",
98
+ "23.02",
99
+ "2.03",
100
+ "9.03",
101
+ "16.03",
102
+ "23.03",
103
+ "30.03",
104
+ "6.04"
105
+ ], z = [{
106
+ label: "Series 1",
107
+ points: h(R, [
108
+ 30,
109
+ 34,
110
+ 38,
111
+ 44,
112
+ 46,
113
+ 50,
114
+ 54,
115
+ 56,
116
+ 58,
117
+ 60,
118
+ 62
119
+ ])
120
+ }, {
121
+ label: "Series 2",
122
+ points: h(R, [
123
+ 22,
124
+ 24,
125
+ 26,
126
+ 28,
127
+ 30,
128
+ 32,
129
+ 33,
130
+ 35,
131
+ 36,
132
+ 38,
133
+ 40
134
+ ])
135
+ }], B = { class: "s-ui-chart-multi-line__canvas-wrap" }, V = /* @__PURE__ */ D({
136
+ __name: "SChartMultiLine",
137
+ props: {
138
+ series: { default: () => [] },
139
+ loading: {
140
+ type: Boolean,
141
+ default: !1
142
+ },
143
+ yMax: {},
144
+ yStep: {},
145
+ mirrorYAxis: {
146
+ type: Boolean,
147
+ default: !0
148
+ }
149
+ },
150
+ emits: ["seriesClick"],
151
+ setup(e, { expose: t, emit: n }) {
152
+ let r = n, a = j("chartRootRef"), o = j("chartCanvasRef"), c = x(() => e.loading ? z : e.series), u = (t) => {
153
+ let n = e.series[t];
154
+ n && r("seriesClick", t, n);
155
+ }, d = b("onSeriesClick"), f = x(() => !e.loading && e.series.length === 0 ? null : L({
156
+ seriesList: c.value,
157
+ colorHostElement: a.value,
158
+ yMax: e.yMax,
159
+ yStep: e.yStep,
160
+ mirrorYAxis: e.mirrorYAxis,
161
+ skeleton: e.loading,
162
+ onSeriesClick: d() ? u : void 0
163
+ })), m = x(() => p(c.value, (t, n) => N(t, a.value, n, e.loading))), { chartInstance: h } = i({
164
+ canvasRef: o,
165
+ config: f,
166
+ enabled: x(() => e.loading || e.series.length > 0)
167
+ }), { exportImage: g, handleLegendItemHover: _ } = s({
168
+ chartInstance: h,
169
+ canvasRef: o,
170
+ colorHostElement: a
171
+ });
172
+ return t({ exportImage: g }), (t, n) => (k(), w("div", {
173
+ ref_key: "chartRootRef",
174
+ ref: a,
175
+ class: O(["s-ui-chart-multi-line", { "s-ui-chart-multi-line--skeleton": e.loading }])
176
+ }, [T("div", B, [E(A(l), { loading: e.loading }, {
177
+ default: M(() => [T("canvas", {
178
+ ref_key: "chartCanvasRef",
179
+ ref: o,
180
+ class: "s-ui-chart-multi-line__canvas"
181
+ }, null, 512)]),
182
+ _: 1
183
+ }, 8, ["loading"])]), m.value.length ? (k(), S(A(y), {
184
+ key: 0,
185
+ items: m.value,
186
+ disabled: e.loading,
187
+ interactive: !e.loading,
188
+ onItemHover: A(_)
189
+ }, null, 8, [
190
+ "items",
191
+ "disabled",
192
+ "interactive",
193
+ "onItemHover"
194
+ ])) : C("", !0)], 2));
195
+ }
196
+ });
197
+ //#endregion
198
+ export { V as t };
@@ -0,0 +1 @@
1
+ const e=require("./SChartSkeletonHost-BlIYGj-7.cjs"),t=require("./resolveSeriesPaletteColor-YACKW1NO.cjs"),n=require("./SChartLegend-DGtjd6zV.cjs"),r=require("./useHasListener-BPgtbbo6.cjs");let i=require("vue");var a=(n,r,i,a=!1)=>t.t(n,r,i,a,{palette:e.x,paletteFallback:e.v.piePalette1,skeletonPalette:e.b,skeletonFallback:e.v.pieSkeletonPalette1}),o=()=>({title:()=>``,label:e=>`${e.label??``} – ${e.parsed??0}`}),s=4,c=4,l=1,u=`400 12px var(--s-ui-font-family-label)`,d=(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()},f=e=>!(`getCenterPoint`in e)||typeof e.getCenterPoint!=`function`?null:e.getCenterPoint(!1),p=t=>({id:`pieSegmentBadge`,afterDatasetsDraw(n){let r=n.getDatasetMeta(0);if(!r)return;let i=e.w(e.v.pieBadgeBackground,t),a=e.w(e.v.pieBadgeBorder,t),o=e.w(e.v.pieBadgeText,t),{ctx:p}=n;p.save(),p.font=u,p.textAlign=`center`,p.textBaseline=`middle`;for(let e=0;e<r.data.length;e+=1){let t=r.data[e],u=n.data.datasets[0]?.data[e],m=t?f(t):null;if(t&&typeof u==`number`&&u>0&&m){let e=`${u}`,t=p.measureText(e).width+s*2;d(p,m.x-t/2,m.y-20/2,t,20,c),p.fillStyle=i,p.fill(),p.lineWidth=l,p.strokeStyle=a,p.stroke(),p.fillStyle=o,p.fillText(e,m.x,m.y)}}p.restore()}}),m=({sliceList:t,colorHostElement:n,skeleton:r=!1,onSliceClick:i})=>{if(t.length===0)return null;let s=e.w(e.v.pieSegmentBorder,n),c=e.w(e.v.tooltipBackground,n),l=e.w(e.v.tooltipText,n),u=t.map((e,t)=>a(t,n,e.fillColor,r)),d=e.a({kind:`element`,skeleton:r,colorHostElement:n,onIndexClick:i});return{type:`pie`,data:{labels:t.map(e=>e.label),datasets:[{data:t.map(e=>e.value),backgroundColor:u,hoverBackgroundColor:u,borderColor:s,hoverBorderColor:s,borderWidth:4,hoverBorderWidth:4,hoverOffset:26,spacing:0,borderRadius:8}]},options:{responsive:!0,maintainAspectRatio:!0,cutout:`58%`,rotation:115,layout:{padding:26},onHover:d.onHover,onClick:d.onClick,interaction:e.o(r,{mode:`nearest`,intersect:!0}),plugins:{legend:{display:!1},tooltip:{enabled:e.s(r),backgroundColor:c,titleColor:l,bodyColor:l,displayColors:!1,callbacks:o()}}},plugins:e.c(r,[p(n),...d.plugins])}},h=[`Series 1`,`Series 2`,`Series 3`,`Series 4`,`Series 5`,`Series 6`,`Series 7`,`Series 8`],g=[4,1,1,1,1,1,1,1],_=h.map((e,t)=>({label:e,value:g[t]??1})),v={class:`s-ui-chart-pie__canvas-wrap`},y=(0,i.defineComponent)({__name:`SChartPie`,props:{slices:{default:()=>[]},loading:{type:Boolean,default:!1}},emits:[`sliceClick`],setup(t,{expose:o,emit:s}){let c=s,l=e.n,u=(0,i.useTemplateRef)(`chartRootRef`),d=(0,i.useTemplateRef)(`chartCanvasRef`),f=(0,i.computed)(()=>t.loading?_:t.slices),p=e=>{let n=t.slices[e];n&&c(`sliceClick`,e,n)},h=r.t(`onSliceClick`),g=(0,i.computed)(()=>!t.loading&&t.slices.length===0?null:m({sliceList:f.value,colorHostElement:u.value,skeleton:t.loading,onSliceClick:h()?p:void 0})),y=(0,i.computed)(()=>f.value.map((e,n)=>({label:e.label,color:a(n,u.value,e.fillColor,t.loading)}))),{chartInstance:b}=e.i({canvasRef:d,config:g,enabled:(0,i.computed)(()=>t.loading||t.slices.length>0)}),{exportImage:x,handleLegendItemHover:S}=e.r({chartInstance:b,canvasRef:d,colorHostElement:u,legendDimKind:`element`});return o({exportImage:x}),(r,a)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{ref_key:`chartRootRef`,ref:u,class:(0,i.normalizeClass)([`s-ui-chart-pie`,{"s-ui-chart-pie--skeleton":t.loading}])},[(0,i.createElementVNode)(`div`,v,[(0,i.createVNode)((0,i.unref)(e.t),{loading:t.loading,type:(0,i.unref)(l).PIE},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`canvas`,{ref_key:`chartCanvasRef`,ref:d,class:`s-ui-chart-pie__canvas`},null,512)]),_:1},8,[`loading`,`type`])]),y.value.length?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(n.t),{key:0,items:y.value,disabled:t.loading,interactive:!t.loading,direction:`column`,onItemHover:(0,i.unref)(S)},null,8,[`items`,`disabled`,`interactive`,`onItemHover`])):(0,i.createCommentVNode)(``,!0)],2))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return y}});
@@ -0,0 +1,168 @@
1
+ import { a as e, b as t, c as n, i as r, n as i, o as a, r as o, s, t as c, v as l, w as u, x as d } from "./SChartSkeletonHost-DSFyP_DN.js";
2
+ import { t as f } from "./resolveSeriesPaletteColor-fuhGbjFO.js";
3
+ import { t as p } from "./SChartLegend-oZoF8XK7.js";
4
+ import { t as m } from "./useHasListener-RSjlUyqH.js";
5
+ import { computed as h, createBlock as g, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createVNode as b, defineComponent as x, normalizeClass as S, openBlock as C, unref as w, useTemplateRef as T, withCtx as E } from "vue";
6
+ //#region src/utils/chart/pie/resolvePieSliceColor.ts
7
+ var D = (e, n, r, i = !1) => f(e, n, r, i, {
8
+ palette: d,
9
+ paletteFallback: l.piePalette1,
10
+ skeletonPalette: t,
11
+ skeletonFallback: l.pieSkeletonPalette1
12
+ }), O = () => ({
13
+ title: () => "",
14
+ label: (e) => `${e.label ?? ""} – ${e.parsed ?? 0}`
15
+ }), k = 4, A = 4, j = 1, M = "400 12px var(--s-ui-font-family-label)", N = (e, t, n, r, i, a) => {
16
+ let o = Math.min(a, r / 2, i / 2);
17
+ 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();
18
+ }, P = (e) => !("getCenterPoint" in e) || typeof e.getCenterPoint != "function" ? null : e.getCenterPoint(!1), F = (e) => ({
19
+ id: "pieSegmentBadge",
20
+ afterDatasetsDraw(t) {
21
+ let n = t.getDatasetMeta(0);
22
+ if (!n) return;
23
+ let r = u(l.pieBadgeBackground, e), i = u(l.pieBadgeBorder, e), a = u(l.pieBadgeText, e), { ctx: o } = t;
24
+ o.save(), o.font = M, o.textAlign = "center", o.textBaseline = "middle";
25
+ for (let e = 0; e < n.data.length; e += 1) {
26
+ let s = n.data[e], c = t.data.datasets[0]?.data[e], l = s ? P(s) : null;
27
+ if (s && typeof c == "number" && c > 0 && l) {
28
+ let e = `${c}`, t = o.measureText(e).width + k * 2;
29
+ N(o, l.x - t / 2, l.y - 20 / 2, t, 20, A), o.fillStyle = r, o.fill(), o.lineWidth = j, o.strokeStyle = i, o.stroke(), o.fillStyle = a, o.fillText(e, l.x, l.y);
30
+ }
31
+ }
32
+ o.restore();
33
+ }
34
+ }), I = ({ sliceList: t, colorHostElement: r, skeleton: i = !1, onSliceClick: o }) => {
35
+ if (t.length === 0) return null;
36
+ let c = u(l.pieSegmentBorder, r), d = u(l.tooltipBackground, r), f = u(l.tooltipText, r), p = t.map((e, t) => D(t, r, e.fillColor, i)), m = e({
37
+ kind: "element",
38
+ skeleton: i,
39
+ colorHostElement: r,
40
+ onIndexClick: o
41
+ });
42
+ return {
43
+ type: "pie",
44
+ data: {
45
+ labels: t.map((e) => e.label),
46
+ datasets: [{
47
+ data: t.map((e) => e.value),
48
+ backgroundColor: p,
49
+ hoverBackgroundColor: p,
50
+ borderColor: c,
51
+ hoverBorderColor: c,
52
+ borderWidth: 4,
53
+ hoverBorderWidth: 4,
54
+ hoverOffset: 26,
55
+ spacing: 0,
56
+ borderRadius: 8
57
+ }]
58
+ },
59
+ options: {
60
+ responsive: !0,
61
+ maintainAspectRatio: !0,
62
+ cutout: "58%",
63
+ rotation: 115,
64
+ layout: { padding: 26 },
65
+ onHover: m.onHover,
66
+ onClick: m.onClick,
67
+ interaction: a(i, {
68
+ mode: "nearest",
69
+ intersect: !0
70
+ }),
71
+ plugins: {
72
+ legend: { display: !1 },
73
+ tooltip: {
74
+ enabled: s(i),
75
+ backgroundColor: d,
76
+ titleColor: f,
77
+ bodyColor: f,
78
+ displayColors: !1,
79
+ callbacks: O()
80
+ }
81
+ }
82
+ },
83
+ plugins: n(i, [F(r), ...m.plugins])
84
+ };
85
+ }, L = [
86
+ "Series 1",
87
+ "Series 2",
88
+ "Series 3",
89
+ "Series 4",
90
+ "Series 5",
91
+ "Series 6",
92
+ "Series 7",
93
+ "Series 8"
94
+ ], R = [
95
+ 4,
96
+ 1,
97
+ 1,
98
+ 1,
99
+ 1,
100
+ 1,
101
+ 1,
102
+ 1
103
+ ], z = L.map((e, t) => ({
104
+ label: e,
105
+ value: R[t] ?? 1
106
+ })), B = { class: "s-ui-chart-pie__canvas-wrap" }, V = /* @__PURE__ */ x({
107
+ __name: "SChartPie",
108
+ props: {
109
+ slices: { default: () => [] },
110
+ loading: {
111
+ type: Boolean,
112
+ default: !1
113
+ }
114
+ },
115
+ emits: ["sliceClick"],
116
+ setup(e, { expose: t, emit: n }) {
117
+ let a = n, s = i, l = T("chartRootRef"), u = T("chartCanvasRef"), d = h(() => e.loading ? z : e.slices), f = (t) => {
118
+ let n = e.slices[t];
119
+ n && a("sliceClick", t, n);
120
+ }, x = m("onSliceClick"), O = h(() => !e.loading && e.slices.length === 0 ? null : I({
121
+ sliceList: d.value,
122
+ colorHostElement: l.value,
123
+ skeleton: e.loading,
124
+ onSliceClick: x() ? f : void 0
125
+ })), k = h(() => d.value.map((t, n) => ({
126
+ label: t.label,
127
+ color: D(n, l.value, t.fillColor, e.loading)
128
+ }))), { chartInstance: A } = r({
129
+ canvasRef: u,
130
+ config: O,
131
+ enabled: h(() => e.loading || e.slices.length > 0)
132
+ }), { exportImage: j, handleLegendItemHover: M } = o({
133
+ chartInstance: A,
134
+ canvasRef: u,
135
+ colorHostElement: l,
136
+ legendDimKind: "element"
137
+ });
138
+ return t({ exportImage: j }), (t, n) => (C(), v("div", {
139
+ ref_key: "chartRootRef",
140
+ ref: l,
141
+ class: S(["s-ui-chart-pie", { "s-ui-chart-pie--skeleton": e.loading }])
142
+ }, [y("div", B, [b(w(c), {
143
+ loading: e.loading,
144
+ type: w(s).PIE
145
+ }, {
146
+ default: E(() => [y("canvas", {
147
+ ref_key: "chartCanvasRef",
148
+ ref: u,
149
+ class: "s-ui-chart-pie__canvas"
150
+ }, null, 512)]),
151
+ _: 1
152
+ }, 8, ["loading", "type"])]), k.value.length ? (C(), g(w(p), {
153
+ key: 0,
154
+ items: k.value,
155
+ disabled: e.loading,
156
+ interactive: !e.loading,
157
+ direction: "column",
158
+ onItemHover: w(M)
159
+ }, null, 8, [
160
+ "items",
161
+ "disabled",
162
+ "interactive",
163
+ "onItemHover"
164
+ ])) : _("", !0)], 2));
165
+ }
166
+ });
167
+ //#endregion
168
+ export { V as t };
@@ -1,27 +1,27 @@
1
- import { S as e, a as t, g as n, i as r, l as i, r as a, t as o } from "./SChartSkeletonHost-CecfQ3Ye.js";
2
- import { computed as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, normalizeClass as f, openBlock as p, unref as m, useTemplateRef as h, withCtx as g } from "vue";
3
- var _ = 4, v = 12, y = 24, b = (e) => {
1
+ import { d as e, i as t, o as n, r, s as i, t as a, v as o, w as s } from "./SChartSkeletonHost-DSFyP_DN.js";
2
+ import { computed as c, createElementBlock as l, createElementVNode as u, createVNode as d, defineComponent as f, normalizeClass as p, openBlock as m, unref as h, useTemplateRef as g, withCtx as _ } from "vue";
3
+ var v = 4, y = 12, b = 24, x = (e) => {
4
4
  let t = e <= 15;
5
5
  return {
6
- pointRadius: t ? _ : 0,
7
- pointHoverRadius: _,
8
- pointHitRadius: t ? v : y
6
+ pointRadius: t ? v : 0,
7
+ pointHoverRadius: v,
8
+ pointHitRadius: t ? y : b
9
9
  };
10
- }, x = (e) => e <= 15 ? {
10
+ }, S = (e) => e <= 15 ? {
11
11
  mode: "nearest",
12
12
  intersect: !0
13
13
  } : {
14
14
  mode: "nearest",
15
15
  axis: "x",
16
16
  intersect: !1
17
- }, S = .3, C = 1, w = ({ labels: a, progressValues: o, referenceValues: s, seriesLabel: c, valuePrefix: l, minValue: u, maxValue: d, stepSize: f, progressSnapshotCount: p, colorHostElement: m, skeleton: h = !1 }) => {
18
- let g = e(n.axisLabel, m), _ = e(n.grid, m), v = e(h ? n.skeletonSeries : n.progressLine, m), y = e(h ? n.skeletonFillStart : n.referenceFill, m), w = e(n.tooltipBackground, m), T = e(n.tooltipText, m), E = S, D = b(p), O = x(p);
17
+ }, C = .3, w = 1, T = ({ labels: t, progressValues: r, referenceValues: a, seriesLabel: c, valuePrefix: l, minValue: u, maxValue: d, stepSize: f, progressSnapshotCount: p, colorHostElement: m, skeleton: h = !1 }) => {
18
+ let g = s(o.axisLabel, m), _ = s(o.grid, m), v = s(h ? o.skeletonSeries : o.progressLine, m), y = s(h ? o.skeletonFillStart : o.referenceFill, m), b = s(o.tooltipBackground, m), T = s(o.tooltipText, m), E = C, D = x(p), O = S(p);
19
19
  return {
20
20
  type: "line",
21
21
  data: {
22
- labels: a,
22
+ labels: t,
23
23
  datasets: [{
24
- data: s,
24
+ data: a,
25
25
  borderColor: "transparent",
26
26
  backgroundColor: y,
27
27
  pointRadius: 0,
@@ -31,7 +31,7 @@ var _ = 4, v = 12, y = 24, b = (e) => {
31
31
  order: 0
32
32
  }, {
33
33
  label: c,
34
- data: o,
34
+ data: r,
35
35
  borderColor: v,
36
36
  backgroundColor: v,
37
37
  tension: E,
@@ -47,16 +47,16 @@ var _ = 4, v = 12, y = 24, b = (e) => {
47
47
  options: {
48
48
  responsive: !0,
49
49
  maintainAspectRatio: !1,
50
- interaction: r(h, O),
50
+ interaction: n(h, O),
51
51
  plugins: {
52
52
  legend: { display: !1 },
53
53
  tooltip: {
54
- enabled: t(h),
55
- backgroundColor: w,
54
+ enabled: i(h),
55
+ backgroundColor: b,
56
56
  titleColor: T,
57
57
  bodyColor: T,
58
- position: i,
59
- filter: (e) => e.datasetIndex === C,
58
+ position: e,
59
+ filter: (e) => e.datasetIndex === w,
60
60
  callbacks: { label: (e) => {
61
61
  let t = e.parsed.y;
62
62
  return t === null ? "" : `${t}${l}`;
@@ -105,11 +105,11 @@ var _ = 4, v = 12, y = 24, b = (e) => {
105
105
  }
106
106
  }
107
107
  };
108
- }, T = (e) => {
108
+ }, E = (e) => {
109
109
  let t = e.match(/^(\d{4})-(\d{2})-(\d{2})/);
110
110
  return t ? `${t[3]}.${t[2]}.${t[1]}` : e;
111
- }, E = (e) => Math.round(e * 10) / 10, D = ({ progressSnapshots: e, deadline: t = null, minValue: n = 0, maxValue: r = 100 }) => {
112
- let i = e.map((e) => T(e.date)), a = e.map((e) => e.progress), o = t ? T(t) : null, s = a.length === 1 ? [
111
+ }, D = (e) => Math.round(e * 10) / 10, O = ({ progressSnapshots: e, deadline: t = null, minValue: n = 0, maxValue: r = 100 }) => {
112
+ let i = e.map((e) => E(e.date)), a = e.map((e) => e.progress), o = t ? E(t) : null, s = a.length === 1 ? [
113
113
  "",
114
114
  i[0] ?? "",
115
115
  ""
@@ -121,13 +121,13 @@ var _ = 4, v = 12, y = 24, b = (e) => {
121
121
  return {
122
122
  labels: s,
123
123
  progressValues: c,
124
- referenceValues: l === 0 ? [] : l === 1 ? [n] : Array.from({ length: l }, (e, t) => E(n + t * ((r - n) / (l - 1)))),
124
+ referenceValues: l === 0 ? [] : l === 1 ? [n] : Array.from({ length: l }, (e, t) => D(n + t * ((r - n) / (l - 1)))),
125
125
  minValue: n,
126
126
  maxValue: r,
127
- stepSize: E((r - n) / 4),
127
+ stepSize: D((r - n) / 4),
128
128
  progressSnapshotCount: e.length
129
129
  };
130
- }, O = [
130
+ }, k = [
131
131
  {
132
132
  date: "2025-11-01",
133
133
  progress: 20
@@ -152,7 +152,7 @@ var _ = 4, v = 12, y = 24, b = (e) => {
152
152
  date: "2026-04-01",
153
153
  progress: 84
154
154
  }
155
- ], k = { class: "s-ui-chart-progress__canvas-wrap" }, A = /* @__PURE__ */ d({
155
+ ], A = { class: "s-ui-chart-progress__canvas-wrap" }, j = /* @__PURE__ */ f({
156
156
  __name: "SChartProgress",
157
157
  props: {
158
158
  progressSnapshots: { default: () => [] },
@@ -166,37 +166,41 @@ var _ = 4, v = 12, y = 24, b = (e) => {
166
166
  default: !1
167
167
  }
168
168
  },
169
- setup(e) {
170
- let t = h("chartRootRef"), n = h("chartCanvasRef"), r = s(() => e.minValue ?? 0), i = s(() => e.maxValue ?? 100), d = s(() => e.prefix ?? "%"), _ = s(() => e.loading ? O : e.progressSnapshots), v = s(() => D({
171
- progressSnapshots: _.value,
169
+ setup(e, { expose: n }) {
170
+ let i = g("chartRootRef"), o = g("chartCanvasRef"), s = c(() => e.minValue ?? 0), f = c(() => e.maxValue ?? 100), v = c(() => e.prefix ?? "%"), y = c(() => e.loading ? k : e.progressSnapshots), b = c(() => O({
171
+ progressSnapshots: y.value,
172
172
  deadline: e.loading ? "2026-06-28" : e.deadline,
173
- minValue: e.loading ? 0 : r.value,
174
- maxValue: e.loading ? 100 : i.value
175
- }));
176
- return a({
177
- canvasRef: n,
178
- config: s(() => !e.loading && e.progressSnapshots.length === 0 ? null : w({
179
- labels: v.value.labels,
180
- progressValues: v.value.progressValues,
181
- referenceValues: v.value.referenceValues,
173
+ minValue: e.loading ? 0 : s.value,
174
+ maxValue: e.loading ? 100 : f.value
175
+ })), { chartInstance: x } = t({
176
+ canvasRef: o,
177
+ config: c(() => !e.loading && e.progressSnapshots.length === 0 ? null : T({
178
+ labels: b.value.labels,
179
+ progressValues: b.value.progressValues,
180
+ referenceValues: b.value.referenceValues,
182
181
  seriesLabel: e.seriesLabel,
183
- valuePrefix: d.value,
184
- minValue: v.value.minValue,
185
- maxValue: v.value.maxValue,
186
- stepSize: e.loading ? 25 : v.value.stepSize,
187
- progressSnapshotCount: v.value.progressSnapshotCount,
188
- colorHostElement: t.value,
182
+ valuePrefix: v.value,
183
+ minValue: b.value.minValue,
184
+ maxValue: b.value.maxValue,
185
+ stepSize: e.loading ? 25 : b.value.stepSize,
186
+ progressSnapshotCount: b.value.progressSnapshotCount,
187
+ colorHostElement: i.value,
189
188
  skeleton: e.loading
190
189
  })),
191
- enabled: s(() => e.loading || e.progressSnapshots.length > 0)
192
- }), (r, i) => (p(), c("div", {
190
+ enabled: c(() => e.loading || e.progressSnapshots.length > 0)
191
+ }), { exportImage: S } = r({
192
+ chartInstance: x,
193
+ canvasRef: o,
194
+ colorHostElement: i
195
+ });
196
+ return n({ exportImage: S }), (t, n) => (m(), l("div", {
193
197
  ref_key: "chartRootRef",
194
- ref: t,
195
- class: f(["s-ui-chart-progress", { "s-ui-chart-progress--skeleton": e.loading }])
196
- }, [l("div", k, [u(m(o), { loading: e.loading }, {
197
- default: g(() => [l("canvas", {
198
+ ref: i,
199
+ class: p(["s-ui-chart-progress", { "s-ui-chart-progress--skeleton": e.loading }])
200
+ }, [u("div", A, [d(h(a), { loading: e.loading }, {
201
+ default: _(() => [u("canvas", {
198
202
  ref_key: "chartCanvasRef",
199
- ref: n,
203
+ ref: o,
200
204
  class: "s-ui-chart-progress__canvas"
201
205
  }, null, 512)]),
202
206
  _: 1
@@ -204,4 +208,4 @@ var _ = 4, v = 12, y = 24, b = (e) => {
204
208
  }
205
209
  });
206
210
  //#endregion
207
- export { A as t };
211
+ export { j as t };
@@ -1 +1 @@
1
- const e=require("./SChartSkeletonHost-CfM0zolj.cjs");let t=require("vue");var n=4,r=12,i=24,a=e=>{let t=e<=15;return{pointRadius:t?n:0,pointHoverRadius:n,pointHitRadius:t?r:i}},o=e=>e<=15?{mode:`nearest`,intersect:!0}:{mode:`nearest`,axis:`x`,intersect:!1},s=.3,c=1,l=({labels:t,progressValues:n,referenceValues:r,seriesLabel:i,valuePrefix:l,minValue:u,maxValue:d,stepSize:f,progressSnapshotCount:p,colorHostElement:m,skeleton:h=!1})=>{let g=e.S(e.g.axisLabel,m),_=e.S(e.g.grid,m),v=e.S(h?e.g.skeletonSeries:e.g.progressLine,m),y=e.S(h?e.g.skeletonFillStart:e.g.referenceFill,m),b=e.S(e.g.tooltipBackground,m),x=e.S(e.g.tooltipText,m),S=s,C=a(p),w=o(p);return{type:`line`,data:{labels:t,datasets:[{data:r,borderColor:`transparent`,backgroundColor:y,pointRadius:0,pointHoverRadius:0,pointHitRadius:0,fill:`start`,order:0},{label:i,data:n,borderColor:v,backgroundColor:v,tension:S,pointRadius:C.pointRadius,pointHoverRadius:C.pointHoverRadius,pointHitRadius:C.pointHitRadius,pointBackgroundColor:v,pointBorderColor:v,fill:!1,order:1}]},options:{responsive:!0,maintainAspectRatio:!1,interaction:e.i(h,w),plugins:{legend:{display:!1},tooltip:{enabled:e.a(h),backgroundColor:b,titleColor:x,bodyColor:x,position:e.l,filter:e=>e.datasetIndex===c,callbacks:{label:e=>{let t=e.parsed.y;return t===null?``:`${t}${l}`}}}},scales:{x:{type:`category`,border:{display:!1},grid:{color:_,drawTicks:!0},ticks:{color:g,font:{family:`var(--s-ui-font-family-label)`,size:10,weight:500},padding:8}},y:{type:`linear`,min:u,max:d,border:{display:!1},grid:{color:_,drawTicks:!0},ticks:{color:g,stepSize:f,callback:e=>`${e}${l}`,font:{family:`var(--s-ui-font-family-label)`,size:10,weight:500},padding:8}}}}}},u=e=>{let t=e.match(/^(\d{4})-(\d{2})-(\d{2})/);return t?`${t[3]}.${t[2]}.${t[1]}`:e},d=e=>Math.round(e*10)/10,f=({progressSnapshots:e,deadline:t=null,minValue:n=0,maxValue:r=100})=>{let i=e.map(e=>u(e.date)),a=e.map(e=>e.progress),o=t?u(t):null,s=a.length===1?[``,i[0]??``,``]:o?[...i,o]:i,c=a.length===1?[null,a[0]??null,null]:o?[...a,null]:a,l=s.length;return{labels:s,progressValues:c,referenceValues:l===0?[]:l===1?[n]:Array.from({length:l},(e,t)=>d(n+t*((r-n)/(l-1)))),minValue:n,maxValue:r,stepSize:d((r-n)/4),progressSnapshotCount:e.length}},p=[{date:`2025-11-01`,progress:20},{date:`2025-12-01`,progress:35},{date:`2026-01-01`,progress:42},{date:`2026-02-01`,progress:58},{date:`2026-03-01`,progress:71},{date:`2026-04-01`,progress:84}],m={class:`s-ui-chart-progress__canvas-wrap`},h=(0,t.defineComponent)({__name:`SChartProgress`,props:{progressSnapshots:{default:()=>[]},deadline:{default:null},minValue:{},maxValue:{},prefix:{},seriesLabel:{default:`Progress`},loading:{type:Boolean,default:!1}},setup(n){let r=(0,t.useTemplateRef)(`chartRootRef`),i=(0,t.useTemplateRef)(`chartCanvasRef`),a=(0,t.computed)(()=>n.minValue??0),o=(0,t.computed)(()=>n.maxValue??100),s=(0,t.computed)(()=>n.prefix??`%`),c=(0,t.computed)(()=>n.loading?p:n.progressSnapshots),u=(0,t.computed)(()=>f({progressSnapshots:c.value,deadline:n.loading?`2026-06-28`:n.deadline,minValue:n.loading?0:a.value,maxValue:n.loading?100:o.value}));return e.r({canvasRef:i,config:(0,t.computed)(()=>!n.loading&&n.progressSnapshots.length===0?null:l({labels:u.value.labels,progressValues:u.value.progressValues,referenceValues:u.value.referenceValues,seriesLabel:n.seriesLabel,valuePrefix:s.value,minValue:u.value.minValue,maxValue:u.value.maxValue,stepSize:n.loading?25:u.value.stepSize,progressSnapshotCount:u.value.progressSnapshotCount,colorHostElement:r.value,skeleton:n.loading})),enabled:(0,t.computed)(()=>n.loading||n.progressSnapshots.length>0)}),(a,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`chartRootRef`,ref:r,class:(0,t.normalizeClass)([`s-ui-chart-progress`,{"s-ui-chart-progress--skeleton":n.loading}])},[(0,t.createElementVNode)(`div`,m,[(0,t.createVNode)((0,t.unref)(e.t),{loading:n.loading},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`canvas`,{ref_key:`chartCanvasRef`,ref:i,class:`s-ui-chart-progress__canvas`},null,512)]),_:1},8,[`loading`])])],2))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});
1
+ const e=require("./SChartSkeletonHost-BlIYGj-7.cjs");let t=require("vue");var n=4,r=12,i=24,a=e=>{let t=e<=15;return{pointRadius:t?n:0,pointHoverRadius:n,pointHitRadius:t?r:i}},o=e=>e<=15?{mode:`nearest`,intersect:!0}:{mode:`nearest`,axis:`x`,intersect:!1},s=.3,c=1,l=({labels:t,progressValues:n,referenceValues:r,seriesLabel:i,valuePrefix:l,minValue:u,maxValue:d,stepSize:f,progressSnapshotCount:p,colorHostElement:m,skeleton:h=!1})=>{let g=e.w(e.v.axisLabel,m),_=e.w(e.v.grid,m),v=e.w(h?e.v.skeletonSeries:e.v.progressLine,m),y=e.w(h?e.v.skeletonFillStart:e.v.referenceFill,m),b=e.w(e.v.tooltipBackground,m),x=e.w(e.v.tooltipText,m),S=s,C=a(p),w=o(p);return{type:`line`,data:{labels:t,datasets:[{data:r,borderColor:`transparent`,backgroundColor:y,pointRadius:0,pointHoverRadius:0,pointHitRadius:0,fill:`start`,order:0},{label:i,data:n,borderColor:v,backgroundColor:v,tension:S,pointRadius:C.pointRadius,pointHoverRadius:C.pointHoverRadius,pointHitRadius:C.pointHitRadius,pointBackgroundColor:v,pointBorderColor:v,fill:!1,order:1}]},options:{responsive:!0,maintainAspectRatio:!1,interaction:e.o(h,w),plugins:{legend:{display:!1},tooltip:{enabled:e.s(h),backgroundColor:b,titleColor:x,bodyColor:x,position:e.d,filter:e=>e.datasetIndex===c,callbacks:{label:e=>{let t=e.parsed.y;return t===null?``:`${t}${l}`}}}},scales:{x:{type:`category`,border:{display:!1},grid:{color:_,drawTicks:!0},ticks:{color:g,font:{family:`var(--s-ui-font-family-label)`,size:10,weight:500},padding:8}},y:{type:`linear`,min:u,max:d,border:{display:!1},grid:{color:_,drawTicks:!0},ticks:{color:g,stepSize:f,callback:e=>`${e}${l}`,font:{family:`var(--s-ui-font-family-label)`,size:10,weight:500},padding:8}}}}}},u=e=>{let t=e.match(/^(\d{4})-(\d{2})-(\d{2})/);return t?`${t[3]}.${t[2]}.${t[1]}`:e},d=e=>Math.round(e*10)/10,f=({progressSnapshots:e,deadline:t=null,minValue:n=0,maxValue:r=100})=>{let i=e.map(e=>u(e.date)),a=e.map(e=>e.progress),o=t?u(t):null,s=a.length===1?[``,i[0]??``,``]:o?[...i,o]:i,c=a.length===1?[null,a[0]??null,null]:o?[...a,null]:a,l=s.length;return{labels:s,progressValues:c,referenceValues:l===0?[]:l===1?[n]:Array.from({length:l},(e,t)=>d(n+t*((r-n)/(l-1)))),minValue:n,maxValue:r,stepSize:d((r-n)/4),progressSnapshotCount:e.length}},p=[{date:`2025-11-01`,progress:20},{date:`2025-12-01`,progress:35},{date:`2026-01-01`,progress:42},{date:`2026-02-01`,progress:58},{date:`2026-03-01`,progress:71},{date:`2026-04-01`,progress:84}],m={class:`s-ui-chart-progress__canvas-wrap`},h=(0,t.defineComponent)({__name:`SChartProgress`,props:{progressSnapshots:{default:()=>[]},deadline:{default:null},minValue:{},maxValue:{},prefix:{},seriesLabel:{default:`Progress`},loading:{type:Boolean,default:!1}},setup(n,{expose:r}){let i=(0,t.useTemplateRef)(`chartRootRef`),a=(0,t.useTemplateRef)(`chartCanvasRef`),o=(0,t.computed)(()=>n.minValue??0),s=(0,t.computed)(()=>n.maxValue??100),c=(0,t.computed)(()=>n.prefix??`%`),u=(0,t.computed)(()=>n.loading?p:n.progressSnapshots),d=(0,t.computed)(()=>f({progressSnapshots:u.value,deadline:n.loading?`2026-06-28`:n.deadline,minValue:n.loading?0:o.value,maxValue:n.loading?100:s.value})),{chartInstance:h}=e.i({canvasRef:a,config:(0,t.computed)(()=>!n.loading&&n.progressSnapshots.length===0?null:l({labels:d.value.labels,progressValues:d.value.progressValues,referenceValues:d.value.referenceValues,seriesLabel:n.seriesLabel,valuePrefix:c.value,minValue:d.value.minValue,maxValue:d.value.maxValue,stepSize:n.loading?25:d.value.stepSize,progressSnapshotCount:d.value.progressSnapshotCount,colorHostElement:i.value,skeleton:n.loading})),enabled:(0,t.computed)(()=>n.loading||n.progressSnapshots.length>0)}),{exportImage:g}=e.r({chartInstance:h,canvasRef:a,colorHostElement:i});return r({exportImage:g}),(r,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`chartRootRef`,ref:i,class:(0,t.normalizeClass)([`s-ui-chart-progress`,{"s-ui-chart-progress--skeleton":n.loading}])},[(0,t.createElementVNode)(`div`,m,[(0,t.createVNode)((0,t.unref)(e.t),{loading:n.loading},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`canvas`,{ref_key:`chartCanvasRef`,ref:a,class:`s-ui-chart-progress__canvas`},null,512)]),_:1},8,[`loading`])])],2))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});
@@ -0,0 +1 @@
1
+ let e=require("vue"),t=require("@shtabapp/ui-kit-primitives"),n=require("@vueuse/core"),r=require("chart.js");var i=(e,t)=>{if(typeof window>`u`)return``;let n=t??document.documentElement;return getComputedStyle(n).getPropertyValue(e).trim()},a={axisLabel:`--s-ui-chart-axis-label`,grid:`--s-ui-chart-grid`,crosshair:`--s-ui-chart-crosshair`,legendLabel:`--s-ui-chart-legend-label`,seriesPrimary:`--s-ui-chart-series-primary`,seriesFillStart:`--s-ui-chart-series-fill-start`,seriesFillEnd:`--s-ui-chart-series-fill-end`,seriesFillOpacity:`--s-ui-chart-series-fill-opacity`,skeletonSeries:`--s-ui-chart-skeleton-series`,skeletonPalette1:`--s-ui-chart-skeleton-palette-1`,skeletonPalette2:`--s-ui-chart-skeleton-palette-2`,skeletonPalette3:`--s-ui-chart-skeleton-palette-3`,skeletonPalette4:`--s-ui-chart-skeleton-palette-4`,skeletonPalette5:`--s-ui-chart-skeleton-palette-5`,skeletonPalette6:`--s-ui-chart-skeleton-palette-6`,skeletonFillStart:`--s-ui-chart-skeleton-fill-start`,skeletonFillEnd:`--s-ui-chart-skeleton-fill-end`,skeletonFillOpacity:`--s-ui-chart-skeleton-fill-opacity`,fillMuted:`--s-ui-chart-fill-muted`,exportBackground:`--s-ui-chart-export-background`,tooltipBackground:`--s-ui-chart-tooltip-background`,tooltipText:`--s-ui-chart-tooltip-text`,stackedPalette1:`--s-ui-chart-stacked-palette-1`,stackedPalette2:`--s-ui-chart-stacked-palette-2`,stackedPalette3:`--s-ui-chart-stacked-palette-3`,stackedPalette4:`--s-ui-chart-stacked-palette-4`,stackedPalette5:`--s-ui-chart-stacked-palette-5`,stackedPalette6:`--s-ui-chart-stacked-palette-6`,barStackedPalette1:`--s-ui-chart-bar-stacked-palette-1`,barStackedPalette2:`--s-ui-chart-bar-stacked-palette-2`,barStackedPalette3:`--s-ui-chart-bar-stacked-palette-3`,barStackedPalette4:`--s-ui-chart-bar-stacked-palette-4`,barStackedPalette5:`--s-ui-chart-bar-stacked-palette-5`,barStackedPalette6:`--s-ui-chart-bar-stacked-palette-6`,barHoverOutline:`--s-ui-chart-bar-hover-outline`,barSkeletonPalette1:`--s-ui-chart-bar-skeleton-palette-1`,barSkeletonPalette2:`--s-ui-chart-bar-skeleton-palette-2`,barSkeletonPalette3:`--s-ui-chart-bar-skeleton-palette-3`,barSkeletonPalette4:`--s-ui-chart-bar-skeleton-palette-4`,barSkeletonPalette5:`--s-ui-chart-bar-skeleton-palette-5`,barSkeletonPalette6:`--s-ui-chart-bar-skeleton-palette-6`,piePalette1:`--s-ui-chart-pie-palette-1`,piePalette2:`--s-ui-chart-pie-palette-2`,piePalette3:`--s-ui-chart-pie-palette-3`,piePalette4:`--s-ui-chart-pie-palette-4`,piePalette5:`--s-ui-chart-pie-palette-5`,piePalette6:`--s-ui-chart-pie-palette-6`,piePalette7:`--s-ui-chart-pie-palette-7`,piePalette8:`--s-ui-chart-pie-palette-8`,pieSegmentBorder:`--s-ui-chart-pie-segment-border`,pieBadgeBackground:`--s-ui-chart-pie-badge-background`,pieBadgeBorder:`--s-ui-chart-pie-badge-border`,pieBadgeText:`--s-ui-chart-pie-badge-text`,pieHoverShadow:`--s-ui-chart-pie-hover-shadow`,pieSkeletonPalette1:`--s-ui-chart-pie-skeleton-palette-1`,pieSkeletonPalette2:`--s-ui-chart-pie-skeleton-palette-2`,pieSkeletonPalette3:`--s-ui-chart-pie-skeleton-palette-3`,pieSkeletonPalette4:`--s-ui-chart-pie-skeleton-palette-4`,pieSkeletonPalette5:`--s-ui-chart-pie-skeleton-palette-5`,pieSkeletonPalette6:`--s-ui-chart-pie-skeleton-palette-6`,pieSkeletonPalette7:`--s-ui-chart-pie-skeleton-palette-7`,pieSkeletonPalette8:`--s-ui-chart-pie-skeleton-palette-8`,barHorizontalFillDefault:`--s-ui-chart-bar-horizontal-fill-default`,barHorizontalSkeletonFill:`--s-ui-chart-bar-horizontal-skeleton-fill`,barHorizontalCategoryLabel:`--s-ui-chart-bar-horizontal-category-label`,barHorizontalCategoryLabelSkeleton:`--s-ui-chart-bar-horizontal-category-label-skeleton`,progressLine:`--s-ui-chart-progress-line`,referenceFill:`--s-ui-chart-reference-fill`,multiLinePalette1:`--s-ui-chart-multi-line-palette-1`,multiLinePalette2:`--s-ui-chart-multi-line-palette-2`,multiLinePalette3:`--s-ui-chart-multi-line-palette-3`,burnupGoal:`--s-ui-chart-burnup-goal`,burnupPlan:`--s-ui-chart-burnup-plan`,burnupFact:`--s-ui-chart-burnup-fact`,burnupFactFillStart:`--s-ui-chart-burnup-fact-fill-start`,burnupFactFillEnd:`--s-ui-chart-burnup-fact-fill-end`,burnupToday:`--s-ui-chart-burnup-today`,burnupTagBackground:`--s-ui-chart-burnup-tag-background`},o=[a.stackedPalette1,a.stackedPalette2,a.stackedPalette3,a.stackedPalette4,a.stackedPalette5,a.stackedPalette6],s=[a.skeletonPalette1,a.skeletonPalette2,a.skeletonPalette3,a.skeletonPalette4,a.skeletonPalette5,a.skeletonPalette6],c=[a.barStackedPalette1,a.barStackedPalette2,a.barStackedPalette3,a.barStackedPalette4,a.barStackedPalette5,a.barStackedPalette6],l=[a.barSkeletonPalette1,a.barSkeletonPalette2,a.barSkeletonPalette3,a.barSkeletonPalette4,a.barSkeletonPalette5,a.barSkeletonPalette6],u=[a.piePalette1,a.piePalette2,a.piePalette3,a.piePalette4,a.piePalette5,a.piePalette6,a.piePalette7,a.piePalette8],d=[a.pieSkeletonPalette1,a.pieSkeletonPalette2,a.pieSkeletonPalette3,a.pieSkeletonPalette4,a.pieSkeletonPalette5,a.pieSkeletonPalette6,a.pieSkeletonPalette7,a.pieSkeletonPalette8],f=[a.multiLinePalette1,a.multiLinePalette2,a.multiLinePalette3],p=e=>`captions`in e,m=(e,t)=>{let n=e.data.datasets[0];if(!n||!p(n))return;let r=n.captions?.[t];if(r)return r},h=()=>({title:e=>{let t=e[0];if(!t)return``;let n=m(t.chart,t.dataIndex),r=[`${t.label}`];return n&&r.push(n),r},label:e=>`${e.dataset.label??``} – ${e.parsed.y??0}`}),g=`stackedBarTop`,_=function(e,t){if(e.length===0)return{x:t.x,y:t.y};let n=1/0,r=1/0,i=-1/0;for(let t of e){let{x:e,y:a,width:o}=t.element.getProps([`x`,`y`,`width`]);n=Math.min(n,a),r=Math.min(r,e-o/2),i=Math.max(i,e+o/2)}return{x:(r+i)/2,y:n}},v=()=>({title:e=>{let t=e[0];return t?`${t.label}`:``},label:e=>`${e.dataset.label??``}: ${e.parsed.y??0}`}),y=`multiLineTop`,b=function(e,t){let n=this.chart.chartArea;return!n||e.length===0?{x:t.x,y:t.y}:{x:t.x,y:n.top}},x=`progressChartPoint`,S=1,C=(e,t)=>{let n=e.data.datasets[S]?.data[t];return typeof n==`number`?n:null},w=function(e){let t=e.find(e=>e.datasetIndex===S)??e[0];if(!t)return!1;let n=this.chart.scales.y;if(!n)return!1;let r=C(this.chart,t.index);return r===null?!1:{x:t.element.x,y:n.getPixelForValue(r),xAlign:`center`,yAlign:`bottom`}},T=({total:e}={})=>({title:e=>{let t=e[0];return t?`${t.label}`:``},label:e=>`${e.dataset.label??``} – ${e.parsed.y??0}`,footer:t=>{let n=t.reduce((e,t)=>e+(t.parsed.y??0),0);return e?`${e} – ${n}`:`${n}`}}),E=`stackedAreaTop`,D=function(e,t){let n=this.chart.chartArea;return!n||e.length===0?{x:t.x,y:t.y}:{x:t.x,y:n.top}},O=!1,k=!1,A=!1,j=!1,M=!1,N=()=>{k||=(r.Tooltip.positioners.stackedAreaTop=D,!0)},P=()=>{A||=(r.Tooltip.positioners.stackedBarTop=_,!0)},F=()=>{j||=(r.Tooltip.positioners.progressChartPoint=w,!0)},I=()=>{M||=(r.Tooltip.positioners.multiLineTop=b,!0)},L=()=>{O||=(r.Chart.register(r.LineController,r.LineElement,r.PointElement,r.BarController,r.BarElement,r.PieController,r.ArcElement,r.LinearScale,r.CategoryScale,r.Tooltip,r.Filler),N(),P(),F(),I(),!0)},R=(e,t)=>e?{mode:`nearest`,intersect:!1}:t,z=e=>!e,B=(e,t)=>e?[]:t,V=new WeakMap,H={element:(e,t,n)=>{let r=e.data.datasets[0],i=r?.hoverBackgroundColor;!r||!Array.isArray(i)||(r.backgroundColor=t===null?[...i]:i.map((e,r)=>r===t?e:n))},series:(e,t,n)=>{e.data.datasets.forEach((e,r)=>{let i=t===null||r===t,{hoverBackgroundColor:a,hoverBorderColor:o}=e;a!==void 0&&!Array.isArray(a)&&(e.backgroundColor=i?a:n),o!==void 0&&!Array.isArray(o)&&(e.borderColor=i?o:n)})}},U=(e,t,n,r,i=!1)=>{(V.get(e)?.index??null)!==n&&(V.set(e,{index:n,kind:t,mutedColor:r}),H[t](e,n,r),e.canvas.style.cursor=n!==null&&i?`pointer`:``,e.update())},W=e=>{let t=V.get(e);!t||t.index===null||(V.set(e,{...t,index:null}),H[t.kind](e,null,t.mutedColor),e.canvas.style.cursor=``,e.update())},G={id:`sChartHoverDimReset`,afterEvent:(e,t)=>{t.event.type===`mouseout`&&W(e)}},K=(e,t)=>{let n=e[0];return n?t===`element`?n.index:n.datasetIndex:null},q=({kind:e,skeleton:t,colorHostElement:n,onIndexClick:r})=>{if(t)return{plugins:[]};let i=J(n),a=!!r,o={onHover:(t,n,r)=>{U(r,e,K(n,e),i,a)},plugins:[G]};return r&&(o.onClick=(t,n)=>{let i=K(n,e);i!==null&&r(i)}),o},J=e=>i(a.fillMuted,e),Y=(e,t)=>{if(!e.canvas.width||!e.canvas.height)return;let n=document.createElement(`canvas`);n.width=e.canvas.width,n.height=e.canvas.height;let r=n.getContext(`2d`);if(r)return r.fillStyle=i(a.exportBackground,t)||`#ffffff`,r.fillRect(0,0,n.width,n.height),r.drawImage(e.canvas,0,0),n.toDataURL(`image/png`)},X=({canvasRef:t,config:i,enabled:a})=>{let o=(0,e.shallowRef)(),s=()=>{o.value&&=(o.value.destroy(),void 0)},c=()=>{if(!(0,e.toValue)(a)){s();return}let n=(0,e.toValue)(t),c=(0,e.toValue)(i);if(!n||!c){s();return}L(),o.value&&=(o.value.destroy(),void 0),o.value=new r.Chart(n,c)};return(0,e.onMounted)(()=>{c()}),(0,e.watch)(()=>[(0,e.toValue)(a),(0,e.toValue)(t),(0,e.toValue)(i)],()=>{c()},{deep:!0}),(0,n.useResizeObserver)(t,()=>{o.value?.resize()}),(0,e.onBeforeUnmount)(()=>{s()}),{chartInstance:o}},Z=({chartInstance:t,canvasRef:n,colorHostElement:r,legendDimKind:i=`series`})=>((0,e.watch)(t,()=>{let t=(0,e.toValue)(n);t?.style.cursor&&(t.style.cursor=``)}),{exportImage:()=>{if(t.value)return Y(t.value,(0,e.toValue)(r))},handleLegendItemHover:n=>{t.value&&U(t.value,i,n,J((0,e.toValue)(r)))}}),Q=function(e){return e.CARTESIAN=`cartesian`,e.PIE=`pie`,e}({}),$=(0,e.defineComponent)({__name:`SChartSkeletonHost`,props:{loading:{type:Boolean,default:!1},type:{default:()=>Q.CARTESIAN}},setup(n){let r=(0,e.computed)(()=>n.type===Q.PIE?t.ESSkeletonType.CHART_PIE:t.ESSkeletonType.CHART_CARTESIAN);return(i,a)=>n.loading?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.SSkeleton),{key:0,type:r.value,class:`s-ui-chart-skeleton-host`},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,`default`)]),_:3},8,[`type`])):(0,e.renderSlot)(i.$slots,`default`,{key:1})}});Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return f}});