vue-data-ui 2.2.90 → 2.2.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-table-d-VcuH-r.js +1488 -0
- package/dist/{index.es-Cgqo-FBk.js → index.es-Dc9Fd4o6.js} +1 -1
- package/dist/legend-DJCYLsl_.js +61 -0
- package/dist/style.css +1 -1
- package/dist/themes-lgjsYHsH.js +4967 -0
- package/dist/title-BF-9Qcni.js +56 -0
- package/dist/tooltip-D85WEOKi.js +94 -0
- package/dist/user-options-DZgCz8UA.js +415 -0
- package/dist/vue-data-ui.js +455 -61
- package/dist/vue-ui-3d-bar-DW7kGJSz.js +20360 -0
- package/dist/vue-ui-age-pyramid-4hcuKpFY.js +781 -0
- package/dist/vue-ui-annotator-C83FVvl8.js +2175 -0
- package/dist/vue-ui-candlestick-diclGj95.js +807 -0
- package/dist/vue-ui-chestnut-ACetHLdG.js +1049 -0
- package/dist/vue-ui-cursor-Rx7UNaYT.js +229 -0
- package/dist/vue-ui-dashboard-B3PlN0ks.js +231 -0
- package/dist/vue-ui-digits-CxMXID42.js +154 -0
- package/dist/vue-ui-donut-DMiwVXNd.js +1534 -0
- package/dist/vue-ui-dumbbell-B_X1T8TR.js +621 -0
- package/dist/vue-ui-flow-B72wzQ6V.js +451 -0
- package/dist/vue-ui-galaxy-DXX5yivT.js +482 -0
- package/dist/vue-ui-gauge-Cs9PDurH.js +466 -0
- package/dist/vue-ui-heatmap-PcoNSLdN.js +581 -0
- package/dist/vue-ui-kpi-DchEmPtB.js +55 -0
- package/dist/vue-ui-mini-loader-DltJLkqy.js +131 -0
- package/dist/vue-ui-molecule-CWvukBzs.js +746 -0
- package/dist/vue-ui-mood-radar-DEfdtIi8.js +544 -0
- package/dist/vue-ui-nested-donuts-9URpqgXE.js +768 -0
- package/dist/vue-ui-onion-C0eowUT6.js +551 -0
- package/dist/vue-ui-parallel-coordinate-plot-Bc_pAaPJ.js +647 -0
- package/dist/vue-ui-quadrant-_ddVAm9V.js +1174 -0
- package/dist/vue-ui-quick-chart-Cio0hDYO.js +1310 -0
- package/dist/vue-ui-radar-Dyg38i33.js +853 -0
- package/dist/vue-ui-rating-CE1Lmwd2.js +271 -0
- package/dist/vue-ui-relation-circle-BMlB3k3d.js +303 -0
- package/dist/vue-ui-rings-BuXeijvb.js +507 -0
- package/dist/vue-ui-scatter-B1hZfOua.js +870 -0
- package/dist/vue-ui-screenshot-0QXgxzGs.js +160 -0
- package/dist/vue-ui-smiley-B7kR7exr.js +763 -0
- package/dist/vue-ui-spark-trend-BmL2KiYL.js +245 -0
- package/dist/vue-ui-sparkgauge-BMzFv14L.js +158 -0
- package/dist/vue-ui-sparkhistogram-DWpOXqHm.js +243 -0
- package/dist/vue-ui-sparkstackbar-DB9VQXlc.js +244 -0
- package/dist/vue-ui-strip-plot-DyN6P0JO.js +614 -0
- package/dist/vue-ui-table-DM3zL89q.js +2180 -0
- package/dist/vue-ui-table-heatmap-gWx0Nslu.js +237 -0
- package/dist/vue-ui-thermometer-Bcqv5kd_.js +384 -0
- package/dist/vue-ui-timer-BIFxjujK.js +451 -0
- package/dist/vue-ui-tiremarks-zBwHpED_.js +248 -0
- package/dist/vue-ui-treemap-BaplVc_z.js +719 -0
- package/dist/vue-ui-vertical-bar-CdK6ZJPM.js +734 -0
- package/dist/vue-ui-waffle-COOzH7M3.js +635 -0
- package/dist/vue-ui-wheel-BEpuVTBk.js +226 -0
- package/dist/vue-ui-word-cloud-DNqxAAiX.js +344 -0
- package/dist/vue-ui-xy-_mHq-czW.js +2058 -0
- package/dist/vue-ui-xy-canvas-DqX8Gee5.js +1003 -0
- package/package.json +1 -1
- package/dist/index-DZlxUin4.js +0 -57288
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { useCssVars as q, ref as h, computed as c, onMounted as J, openBlock as n, createElementBlock as l, normalizeStyle as I, normalizeClass as V, createBlock as Q, unref as g, createSlots as Y, withCtx as C, renderSlot as r, normalizeProps as v, guardReactiveProps as f, createCommentVNode as p, createElementVNode as y, Fragment as k, renderList as $, createVNode as Z, mergeProps as z, nextTick as j } from "vue";
|
|
2
|
+
import { _ as ee, e as E, i as te, j as ae, R as oe, a as se, F as ne, K as le, v as re, w as ue } from "./data-table-d-VcuH-r.js";
|
|
3
|
+
import { t as ie } from "./themes-lgjsYHsH.js";
|
|
4
|
+
import { u as M } from "./title-BF-9Qcni.js";
|
|
5
|
+
import { U as de } from "./user-options-DZgCz8UA.js";
|
|
6
|
+
import { u as ce, a as ve } from "./vue-ui-3d-bar-DW7kGJSz.js";
|
|
7
|
+
const pe = ["id"], me = { role: "cell" }, fe = { role: "row" }, he = ["data-cell"], ge = {
|
|
8
|
+
key: 0,
|
|
9
|
+
style: { display: "flex", "flex-direction": "row", gap: "2px", "align-items": "center" }
|
|
10
|
+
}, ye = ["height", "width"], be = {
|
|
11
|
+
key: 0,
|
|
12
|
+
role: "cell",
|
|
13
|
+
"data-cell": "sum"
|
|
14
|
+
}, Ce = {
|
|
15
|
+
key: 1,
|
|
16
|
+
role: "cell",
|
|
17
|
+
"data-cell": "average"
|
|
18
|
+
}, ke = {
|
|
19
|
+
key: 2,
|
|
20
|
+
role: "cell",
|
|
21
|
+
"data-cell": "median"
|
|
22
|
+
}, _e = {
|
|
23
|
+
__name: "vue-ui-table-heatmap",
|
|
24
|
+
props: {
|
|
25
|
+
config: {
|
|
26
|
+
type: Object,
|
|
27
|
+
default() {
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
dataset: {
|
|
32
|
+
type: Array,
|
|
33
|
+
default() {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
setup(G, { expose: S }) {
|
|
39
|
+
const m = G;
|
|
40
|
+
q((e) => ({
|
|
41
|
+
ccade694: W.value,
|
|
42
|
+
"14f24091": X.value
|
|
43
|
+
}));
|
|
44
|
+
const { vue_ui_table_heatmap: B } = ce(), _ = h(E()), u = h(!1), b = h(null), w = h(!1), x = h(0), t = c(() => {
|
|
45
|
+
const e = M({
|
|
46
|
+
userConfig: m.config,
|
|
47
|
+
defaultConfig: B
|
|
48
|
+
});
|
|
49
|
+
return e.theme ? {
|
|
50
|
+
...M({
|
|
51
|
+
userConfig: ie.vue_ui_table_heatmap[e.theme] || m.config,
|
|
52
|
+
defaultConfig: e
|
|
53
|
+
})
|
|
54
|
+
} : e;
|
|
55
|
+
}), { isPrinting: U, isImaging: A, generatePdf: F, generateImage: P } = ve({
|
|
56
|
+
elementId: `table_heatmap_${_.value}`,
|
|
57
|
+
fileName: "vue-ui-table-heatmap"
|
|
58
|
+
}), D = c(() => t.value.table.responsiveBreakpoint), H = c(() => !!m.dataset && m.dataset.length);
|
|
59
|
+
J(() => {
|
|
60
|
+
te(m.dataset) && ae({
|
|
61
|
+
componentName: "VueUiTableHeatmap",
|
|
62
|
+
type: "dataset"
|
|
63
|
+
});
|
|
64
|
+
const e = new ResizeObserver((s) => {
|
|
65
|
+
s.forEach((a) => {
|
|
66
|
+
u.value = a.contentRect.width < D.value;
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
b.value && e.observe(b.value);
|
|
70
|
+
});
|
|
71
|
+
const N = c(() => m.dataset.map((e) => {
|
|
72
|
+
const s = e.values.map((o) => isNaN(o) ? 0 : o), a = s.reduce((o, d) => o + d, 0);
|
|
73
|
+
return {
|
|
74
|
+
...e,
|
|
75
|
+
values: s,
|
|
76
|
+
serieExtremes: {
|
|
77
|
+
max: Math.max(...s),
|
|
78
|
+
min: Math.min(...s)
|
|
79
|
+
},
|
|
80
|
+
sum: a,
|
|
81
|
+
average: a / s.length,
|
|
82
|
+
median: oe(s),
|
|
83
|
+
displayValues: [e.name, ...e.values],
|
|
84
|
+
id: E()
|
|
85
|
+
};
|
|
86
|
+
})), O = c(() => {
|
|
87
|
+
const e = N.value.flatMap((s) => s.values);
|
|
88
|
+
return {
|
|
89
|
+
min: Math.min(...e),
|
|
90
|
+
max: Math.max(...e)
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
function L(e, s) {
|
|
94
|
+
const a = t.value.style.heatmapColors.useIndividualScale;
|
|
95
|
+
return le(t.value.style.heatmapColors.min, t.value.style.heatmapColors.max, a ? s.min : O.value.min, a ? s.max : O.value.max, e);
|
|
96
|
+
}
|
|
97
|
+
const R = c(() => N.value.map((e) => ({
|
|
98
|
+
...e,
|
|
99
|
+
colors: e.displayValues.map((s) => isNaN(s) ? t.value.style.backgroundColor : L(s, e.serieExtremes))
|
|
100
|
+
}))), X = c(() => t.value.style.backgroundColor), W = c(() => `${t.value.table.borderWidth}px`);
|
|
101
|
+
function T() {
|
|
102
|
+
j(() => {
|
|
103
|
+
const e = R.value.map((o) => [
|
|
104
|
+
[o.name],
|
|
105
|
+
o.displayValues,
|
|
106
|
+
[o.sum],
|
|
107
|
+
[o.average],
|
|
108
|
+
[o.median]
|
|
109
|
+
]), s = [[[""], t.value.table.head.values, ["sum"], ["average"], ["median"]]].concat(e), a = re(s);
|
|
110
|
+
ue({ csvContent: a, title: "vue-ui-table-heatmap" });
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function K(e) {
|
|
114
|
+
w.value = e, x.value += 1;
|
|
115
|
+
}
|
|
116
|
+
return S({
|
|
117
|
+
generatePdf: F,
|
|
118
|
+
generateCsv: T,
|
|
119
|
+
generateImage: P
|
|
120
|
+
}), (e, s) => (n(), l("div", {
|
|
121
|
+
ref_key: "tableContainer",
|
|
122
|
+
ref: b,
|
|
123
|
+
style: I(`width:100%; overflow-x:auto; container-type: inline-size;padding-top:${t.value.userOptions.show ? "36px" : ""}`),
|
|
124
|
+
class: V({ "vue-ui-responsive": u.value }),
|
|
125
|
+
id: `table_heatmap_${_.value}`
|
|
126
|
+
}, [
|
|
127
|
+
t.value.userOptions.show && H.value ? (n(), Q(de, {
|
|
128
|
+
ref: "details",
|
|
129
|
+
key: `user_option_${x.value}`,
|
|
130
|
+
backgroundColor: t.value.style.backgroundColor,
|
|
131
|
+
color: t.value.style.color,
|
|
132
|
+
isPrinting: g(U),
|
|
133
|
+
isImaging: g(A),
|
|
134
|
+
uid: _.value,
|
|
135
|
+
hasPdf: t.value.userOptions.buttons.pdf,
|
|
136
|
+
hasXls: t.value.userOptions.buttons.csv,
|
|
137
|
+
hasImg: t.value.userOptions.buttons.img,
|
|
138
|
+
hasFullscreen: t.value.userOptions.buttons.fullscreen,
|
|
139
|
+
isFullscreen: w.value,
|
|
140
|
+
titles: { ...t.value.userOptions.buttonTitles },
|
|
141
|
+
chartElement: b.value,
|
|
142
|
+
onToggleFullscreen: K,
|
|
143
|
+
onGeneratePdf: g(F),
|
|
144
|
+
onGenerateCsv: T,
|
|
145
|
+
onGenerateImage: g(P)
|
|
146
|
+
}, Y({ _: 2 }, [
|
|
147
|
+
e.$slots.optionPdf ? {
|
|
148
|
+
name: "optionPdf",
|
|
149
|
+
fn: C(() => [
|
|
150
|
+
r(e.$slots, "optionPdf", {}, void 0, !0)
|
|
151
|
+
]),
|
|
152
|
+
key: "0"
|
|
153
|
+
} : void 0,
|
|
154
|
+
e.$slots.optionCsv ? {
|
|
155
|
+
name: "optionCsv",
|
|
156
|
+
fn: C(() => [
|
|
157
|
+
r(e.$slots, "optionCsv", {}, void 0, !0)
|
|
158
|
+
]),
|
|
159
|
+
key: "1"
|
|
160
|
+
} : void 0,
|
|
161
|
+
e.$slots.optionImg ? {
|
|
162
|
+
name: "optionImg",
|
|
163
|
+
fn: C(() => [
|
|
164
|
+
r(e.$slots, "optionImg", {}, void 0, !0)
|
|
165
|
+
]),
|
|
166
|
+
key: "2"
|
|
167
|
+
} : void 0,
|
|
168
|
+
e.$slots.optionFullscreen ? {
|
|
169
|
+
name: "optionFullscreen",
|
|
170
|
+
fn: C(({ toggleFullscreen: a, isFullscreen: o }) => [
|
|
171
|
+
r(e.$slots, "optionFullscreen", v(f({ toggleFullscreen: a, isFullscreen: o })), void 0, !0)
|
|
172
|
+
]),
|
|
173
|
+
key: "3"
|
|
174
|
+
} : void 0
|
|
175
|
+
]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasXls", "hasImg", "hasFullscreen", "isFullscreen", "titles", "chartElement", "onGeneratePdf", "onGenerateImage"])) : p("", !0),
|
|
176
|
+
y("table", {
|
|
177
|
+
class: V({ "vue-ui-table-heatmap": !0 }),
|
|
178
|
+
style: I(`width:100%;font-family:${t.value.style.fontFamily};background:${t.value.style.backgroundColor};`)
|
|
179
|
+
}, [
|
|
180
|
+
y("caption", null, [
|
|
181
|
+
r(e.$slots, "caption", {}, void 0, !0)
|
|
182
|
+
]),
|
|
183
|
+
y("thead", null, [
|
|
184
|
+
y("tr", {
|
|
185
|
+
role: "row",
|
|
186
|
+
style: I(`background:${t.value.table.head.backgroundColor};color:${t.value.table.head.color}`)
|
|
187
|
+
}, [
|
|
188
|
+
(n(!0), l(k, null, $(t.value.table.head.values, (a, o) => (n(), l("th", me, [
|
|
189
|
+
r(e.$slots, "head", v(f({ value: a, rowIndex: o, type: typeof a, isResponsive: u.value })), void 0, !0)
|
|
190
|
+
]))), 256))
|
|
191
|
+
], 4)
|
|
192
|
+
]),
|
|
193
|
+
y("tbody", null, [
|
|
194
|
+
(n(!0), l(k, null, $(R.value, (a, o) => (n(), l("tr", fe, [
|
|
195
|
+
(n(!0), l(k, null, $(a.displayValues, (d, i) => (n(), l("td", {
|
|
196
|
+
role: "cell",
|
|
197
|
+
"data-cell": t.value.table.head.values[i]
|
|
198
|
+
}, [
|
|
199
|
+
a.color && i === 0 ? (n(), l("div", ge, [
|
|
200
|
+
a.color ? (n(), l("svg", {
|
|
201
|
+
key: 0,
|
|
202
|
+
height: t.value.style.shapeSize,
|
|
203
|
+
width: t.value.style.shapeSize,
|
|
204
|
+
viewBox: "0 0 20 20",
|
|
205
|
+
style: { background: "none", overflow: "visible" }
|
|
206
|
+
}, [
|
|
207
|
+
Z(se, {
|
|
208
|
+
plot: { x: 10, y: 10 },
|
|
209
|
+
color: a.color,
|
|
210
|
+
radius: 9,
|
|
211
|
+
shape: a.shape || "circle"
|
|
212
|
+
}, null, 8, ["color", "shape"])
|
|
213
|
+
], 8, ye)) : p("", !0),
|
|
214
|
+
r(e.$slots, "rowTitle", v(f({ value: d, rowIndex: o, colIndex: i, type: typeof d, isResponsive: u.value })), void 0, !0)
|
|
215
|
+
])) : (n(), l(k, { key: 1 }, [
|
|
216
|
+
i === 0 ? r(e.$slots, "rowTitle", v(z({ key: 0 }, { value: d, rowIndex: o, colIndex: i, type: typeof d, isResponsive: u.value })), void 0, !0) : p("", !0),
|
|
217
|
+
i > 0 ? r(e.$slots, "cell", v(z({ key: 1 }, { value: d, rowIndex: o, colIndex: i, type: typeof d, isResponsive: u.value, color: a.colors[i], textColor: g(ne)(a.colors[i]) })), void 0, !0) : p("", !0)
|
|
218
|
+
], 64))
|
|
219
|
+
], 8, he))), 256)),
|
|
220
|
+
t.value.table.showSum ? (n(), l("td", be, [
|
|
221
|
+
r(e.$slots, "sum", v(f({ value: a.sum, rowIndex: o, isResponsive: u.value })), void 0, !0)
|
|
222
|
+
])) : p("", !0),
|
|
223
|
+
t.value.table.showAverage ? (n(), l("td", Ce, [
|
|
224
|
+
r(e.$slots, "average", v(f({ value: a.average, rowIndex: o, isResponsive: u.value })), void 0, !0)
|
|
225
|
+
])) : p("", !0),
|
|
226
|
+
t.value.table.showMedian ? (n(), l("td", ke, [
|
|
227
|
+
r(e.$slots, "median", v(f({ value: a.median, rowIndex: o, isResponsive: u.value })), void 0, !0)
|
|
228
|
+
])) : p("", !0)
|
|
229
|
+
]))), 256))
|
|
230
|
+
])
|
|
231
|
+
], 4)
|
|
232
|
+
], 14, pe));
|
|
233
|
+
}
|
|
234
|
+
}, Ne = /* @__PURE__ */ ee(_e, [["__scopeId", "data-v-5a2dcde4"]]);
|
|
235
|
+
export {
|
|
236
|
+
Ne as default
|
|
237
|
+
};
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import { useCssVars as re, computed as c, onMounted as ue, ref as p, openBlock as r, createElementBlock as n, normalizeClass as b, normalizeStyle as W, createVNode as ne, createCommentVNode as h, createBlock as E, unref as y, createSlots as ie, withCtx as S, renderSlot as w, normalizeProps as he, guardReactiveProps as ce, createElementVNode as d, Fragment as C, renderList as j, toDisplayString as de } from "vue";
|
|
2
|
+
import { _ as ve, i as ye, j as z, k as fe, e as ge, f as me, p as k, g as pe, h as $, X as ke, o as xe, n as _e } from "./data-table-d-VcuH-r.js";
|
|
3
|
+
import { t as be } from "./themes-lgjsYHsH.js";
|
|
4
|
+
import { u as B, _ as we } from "./title-BF-9Qcni.js";
|
|
5
|
+
import { U as Ce } from "./user-options-DZgCz8UA.js";
|
|
6
|
+
import { u as $e, a as Fe, S as Pe } from "./vue-ui-3d-bar-DW7kGJSz.js";
|
|
7
|
+
const Ie = ["id"], Ye = {
|
|
8
|
+
key: 0,
|
|
9
|
+
style: "width:100%"
|
|
10
|
+
}, Me = ["xmlns", "viewBox"], Oe = {
|
|
11
|
+
id: "vueUiPill",
|
|
12
|
+
clipPathUnits: "objectBoundingBox"
|
|
13
|
+
}, Se = ["fill"], Ue = ["id"], qe = ["stop-color"], Ne = ["stop-color"], Le = ["stop-color"], Te = { "clip-path": "url(#vueUiPill)" }, Ge = ["x", "y", "height", "width"], Ve = ["x", "y", "height", "width", "fill"], We = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], Ee = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], je = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], ze = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], Be = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], Ae = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], De = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], He = ["x1", "x2", "y1", "y2", "stroke-width", "stroke"], Xe = ["x", "y", "height", "width"], Re = ["y", "x", "fill", "font-size", "font-weight"], Je = {
|
|
14
|
+
__name: "vue-ui-thermometer",
|
|
15
|
+
props: {
|
|
16
|
+
dataset: {
|
|
17
|
+
type: Object,
|
|
18
|
+
default() {
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
config: {
|
|
23
|
+
type: Object,
|
|
24
|
+
default() {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
setup(U, { expose: A }) {
|
|
30
|
+
const a = U;
|
|
31
|
+
re((s) => ({
|
|
32
|
+
efcaaea8: Z.value,
|
|
33
|
+
"67dbf562": Q.value,
|
|
34
|
+
bd690a62: K.value
|
|
35
|
+
}));
|
|
36
|
+
const { vue_ui_thermometer: D } = $e(), F = c(() => !!a.dataset && Object.keys(a.dataset).length);
|
|
37
|
+
ue(() => {
|
|
38
|
+
ye(a.dataset) ? z({
|
|
39
|
+
componentName: "VueUiThermometer",
|
|
40
|
+
type: "dataset"
|
|
41
|
+
}) : fe({
|
|
42
|
+
datasetObject: a.dataset,
|
|
43
|
+
requiredAttributes: ["value", "from", "to"]
|
|
44
|
+
}).forEach((s) => {
|
|
45
|
+
z({
|
|
46
|
+
componentName: "VueUiThermometer",
|
|
47
|
+
type: "datasetAttribute",
|
|
48
|
+
property: s
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
const f = p(ge()), q = p(null), N = p(0), e = c(() => {
|
|
53
|
+
const s = B({
|
|
54
|
+
userConfig: a.config,
|
|
55
|
+
defaultConfig: D
|
|
56
|
+
});
|
|
57
|
+
return s.theme ? {
|
|
58
|
+
...B({
|
|
59
|
+
userConfig: be.vue_ui_thermometer[s.theme] || a.config,
|
|
60
|
+
defaultConfig: s
|
|
61
|
+
}),
|
|
62
|
+
customPalette: me[s.theme] || k
|
|
63
|
+
} : s;
|
|
64
|
+
}), { isPrinting: H, isImaging: X, generatePdf: L, generateImage: T } = Fe({
|
|
65
|
+
elementId: `thermometer__${f.value}`,
|
|
66
|
+
fileName: e.value.style.title.text || "vue-ui-thermometer"
|
|
67
|
+
}), x = c(() => pe(e.value.customPalette)), R = c(() => e.value.style.chart.thermometer.width), v = c(() => a.dataset.steps || 10), i = p({
|
|
68
|
+
top: e.value.style.chart.padding.top,
|
|
69
|
+
left: e.value.style.chart.padding.left,
|
|
70
|
+
right: e.value.style.chart.padding.right,
|
|
71
|
+
bottom: e.value.style.chart.padding.bottom
|
|
72
|
+
});
|
|
73
|
+
function _(s, o, t) {
|
|
74
|
+
const u = [], M = G(s), O = G(o);
|
|
75
|
+
for (let m = 0; m < t; m++) {
|
|
76
|
+
const se = P(M.red, O.red, m, t), le = P(M.green, O.green, m, t), ae = P(M.blue, O.blue, m, t), oe = `#${I(se)}${I(le)}${I(ae)}`;
|
|
77
|
+
u.push(oe);
|
|
78
|
+
}
|
|
79
|
+
return u;
|
|
80
|
+
}
|
|
81
|
+
function G(s) {
|
|
82
|
+
const o = s.slice(1);
|
|
83
|
+
return {
|
|
84
|
+
red: parseInt(o.slice(0, 2), 16),
|
|
85
|
+
green: parseInt(o.slice(2, 4), 16),
|
|
86
|
+
blue: parseInt(o.slice(4, 6), 16)
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function P(s, o, t, u) {
|
|
90
|
+
return Math.round(s + (o - s) * t / u);
|
|
91
|
+
}
|
|
92
|
+
function I(s) {
|
|
93
|
+
return s.toString(16).padStart(2, "0");
|
|
94
|
+
}
|
|
95
|
+
const l = c(() => {
|
|
96
|
+
const s = R.value + i.value.left + i.value.right, o = e.value.style.chart.height;
|
|
97
|
+
return {
|
|
98
|
+
width: s,
|
|
99
|
+
left: i.value.left,
|
|
100
|
+
right: s - i.value.right,
|
|
101
|
+
top: i.value.top,
|
|
102
|
+
bottom: o - i.value.bottom,
|
|
103
|
+
height: o
|
|
104
|
+
};
|
|
105
|
+
}), J = c(() => l.value), Y = c(() => {
|
|
106
|
+
const s = a.dataset.from < 0 ? Math.abs(a.dataset.from) : a.dataset.from, o = a.dataset.to < 0 ? Math.abs(a.dataset.to) : a.dataset.to;
|
|
107
|
+
let t = 0;
|
|
108
|
+
return a.dataset.to > 0 ? t = s + o : s > o ? t = s - o : t = o - s, (1 - (Math.abs(a.dataset.from) + a.dataset.value) / t) * (l.value.height - i.value.top - i.value.bottom);
|
|
109
|
+
}), K = c(() => `${Y.value}px`), Q = c(() => `${l.value.height - e.value.style.chart.padding.bottom - i.value.top}px`), Z = c(() => `${e.value.style.chart.animation.speedMs}ms`), ee = c(() => {
|
|
110
|
+
if (a.dataset.colors) {
|
|
111
|
+
if (!a.dataset.colors.from)
|
|
112
|
+
return _(x.value[0] || k[0], $(a.dataset.colors.to), v.value || 10);
|
|
113
|
+
if (!a.dataset.colors.to)
|
|
114
|
+
return _($(a.dataset.colors.from), x.value[1] || k[1], v.value || 10);
|
|
115
|
+
} else
|
|
116
|
+
return _(x.value[1] || k[1], x.value[0] || k[0], v.value || 10);
|
|
117
|
+
return _($(a.dataset.colors.from), $(a.dataset.colors.to), v.value || 10);
|
|
118
|
+
}), V = c(() => {
|
|
119
|
+
const s = [];
|
|
120
|
+
let o = 0;
|
|
121
|
+
const t = l.value.height - i.value.top - i.value.bottom;
|
|
122
|
+
for (let u = 0; u < t - 1; u += t / v.value)
|
|
123
|
+
s.push({
|
|
124
|
+
x: l.value.left,
|
|
125
|
+
y: l.value.top + u,
|
|
126
|
+
qYLess: l.value.top + u + t / v.value / 4,
|
|
127
|
+
halfY: l.value.top + u + t / v.value / 2,
|
|
128
|
+
qYMore: l.value.top + u + t / v.value / 4 * 3,
|
|
129
|
+
color: ee.value[o],
|
|
130
|
+
height: t / v.value
|
|
131
|
+
}), o += 1;
|
|
132
|
+
return s;
|
|
133
|
+
}), g = p(!1);
|
|
134
|
+
function te(s) {
|
|
135
|
+
g.value = s, N.value += 1;
|
|
136
|
+
}
|
|
137
|
+
return A({
|
|
138
|
+
generatePdf: L,
|
|
139
|
+
generateImage: T
|
|
140
|
+
}), (s, o) => (r(), n("div", {
|
|
141
|
+
ref_key: "thermoChart",
|
|
142
|
+
ref: q,
|
|
143
|
+
class: b(`vue-ui-thermometer ${g.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
|
|
144
|
+
style: W(`width:100%;background:${e.value.style.chart.backgroundColor};color:${e.value.style.chart.color};font-family:${e.value.style.fontFamily}`),
|
|
145
|
+
id: `thermometer__${f.value}`
|
|
146
|
+
}, [
|
|
147
|
+
e.value.style.title.text ? (r(), n("div", Ye, [
|
|
148
|
+
ne(we, {
|
|
149
|
+
config: {
|
|
150
|
+
title: {
|
|
151
|
+
cy: "thermometer-div-title",
|
|
152
|
+
...e.value.style.title
|
|
153
|
+
},
|
|
154
|
+
subtitle: {
|
|
155
|
+
cy: "thermometer-div-subtitle",
|
|
156
|
+
...e.value.style.title.subtitle
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}, null, 8, ["config"])
|
|
160
|
+
])) : h("", !0),
|
|
161
|
+
e.value.userOptions.show && F.value ? (r(), E(Ce, {
|
|
162
|
+
ref: "details",
|
|
163
|
+
key: `user_options_${N.value}`,
|
|
164
|
+
backgroundColor: e.value.style.chart.backgroundColor,
|
|
165
|
+
color: e.value.style.chart.color,
|
|
166
|
+
isImaging: y(X),
|
|
167
|
+
isPrinting: y(H),
|
|
168
|
+
uid: f.value,
|
|
169
|
+
hasPdf: e.value.userOptions.buttons.pdf,
|
|
170
|
+
hasImg: e.value.userOptions.buttons.img,
|
|
171
|
+
hasFullscreen: e.value.userOptions.buttons.fullscreen,
|
|
172
|
+
hasXls: !1,
|
|
173
|
+
isFullscreen: g.value,
|
|
174
|
+
titles: { ...e.value.userOptions.buttonTitles },
|
|
175
|
+
chartElement: q.value,
|
|
176
|
+
onToggleFullscreen: te,
|
|
177
|
+
onGeneratePdf: y(L),
|
|
178
|
+
onGenerateImage: y(T)
|
|
179
|
+
}, ie({ _: 2 }, [
|
|
180
|
+
s.$slots.optionPdf ? {
|
|
181
|
+
name: "optionPdf",
|
|
182
|
+
fn: S(() => [
|
|
183
|
+
w(s.$slots, "optionPdf", {}, void 0, !0)
|
|
184
|
+
]),
|
|
185
|
+
key: "0"
|
|
186
|
+
} : void 0,
|
|
187
|
+
s.$slots.optionImg ? {
|
|
188
|
+
name: "optionImg",
|
|
189
|
+
fn: S(() => [
|
|
190
|
+
w(s.$slots, "optionImg", {}, void 0, !0)
|
|
191
|
+
]),
|
|
192
|
+
key: "1"
|
|
193
|
+
} : void 0,
|
|
194
|
+
s.$slots.optionFullscreen ? {
|
|
195
|
+
name: "optionFullscreen",
|
|
196
|
+
fn: S(({ toggleFullscreen: t, isFullscreen: u }) => [
|
|
197
|
+
w(s.$slots, "optionFullscreen", he(ce({ toggleFullscreen: t, isFullscreen: u })), void 0, !0)
|
|
198
|
+
]),
|
|
199
|
+
key: "2"
|
|
200
|
+
} : void 0
|
|
201
|
+
]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasPdf", "hasImg", "hasFullscreen", "isFullscreen", "titles", "chartElement", "onGeneratePdf", "onGenerateImage"])) : h("", !0),
|
|
202
|
+
F.value ? (r(), n("svg", {
|
|
203
|
+
key: 2,
|
|
204
|
+
xmlns: y(ke),
|
|
205
|
+
class: b({ "vue-data-ui-fullscreen--on": g.value, "vue-data-ui-fulscreen--off": !g.value }),
|
|
206
|
+
width: "100%",
|
|
207
|
+
viewBox: `0 0 ${l.value.width} ${l.value.height}`,
|
|
208
|
+
style: W(`background:${e.value.style.chart.backgroundColor}`)
|
|
209
|
+
}, [
|
|
210
|
+
d("defs", null, [
|
|
211
|
+
d("clipPath", Oe, [
|
|
212
|
+
d("rect", {
|
|
213
|
+
x: "0",
|
|
214
|
+
y: "0",
|
|
215
|
+
width: "1",
|
|
216
|
+
height: "1",
|
|
217
|
+
rx: "0.5",
|
|
218
|
+
ry: "0.07",
|
|
219
|
+
fill: e.value.style.chart.backgroundColor
|
|
220
|
+
}, null, 8, Se)
|
|
221
|
+
]),
|
|
222
|
+
(r(!0), n(C, null, j(V.value, (t, u) => (r(), n("linearGradient", {
|
|
223
|
+
id: `vueUiThermometerGradient_${u}_${f.value}`,
|
|
224
|
+
x1: "0%",
|
|
225
|
+
y1: "0%",
|
|
226
|
+
x2: "100%",
|
|
227
|
+
y2: "0%"
|
|
228
|
+
}, [
|
|
229
|
+
d("stop", {
|
|
230
|
+
offset: "0%",
|
|
231
|
+
"stop-color": t.color
|
|
232
|
+
}, null, 8, qe),
|
|
233
|
+
d("stop", {
|
|
234
|
+
offset: "50%",
|
|
235
|
+
"stop-color": `${t.color}${y(xe)[100 - e.value.style.chart.graduations.gradient.intensity]}`
|
|
236
|
+
}, null, 8, Ne),
|
|
237
|
+
d("stop", {
|
|
238
|
+
offset: "100%",
|
|
239
|
+
"stop-color": t.color
|
|
240
|
+
}, null, 8, Le)
|
|
241
|
+
], 8, Ue))), 256))
|
|
242
|
+
]),
|
|
243
|
+
d("g", Te, [
|
|
244
|
+
d("rect", {
|
|
245
|
+
x: l.value.left,
|
|
246
|
+
y: l.value.top,
|
|
247
|
+
height: l.value.height - i.value.top - i.value.bottom,
|
|
248
|
+
width: l.value.width - i.value.left - i.value.right,
|
|
249
|
+
fill: "#FFFFFF"
|
|
250
|
+
}, null, 8, Ge),
|
|
251
|
+
(r(!0), n(C, null, j(V.value, (t, u) => (r(), n("g", {
|
|
252
|
+
key: `graduation_${u}`
|
|
253
|
+
}, [
|
|
254
|
+
d("rect", {
|
|
255
|
+
x: t.x,
|
|
256
|
+
y: t.y,
|
|
257
|
+
height: t.height,
|
|
258
|
+
width: l.value.width - e.value.style.chart.padding.left - e.value.style.chart.padding.right,
|
|
259
|
+
fill: e.value.style.chart.graduations.gradient.show ? `url(#vueUiThermometerGradient_${u}_${f.value})` : t.color,
|
|
260
|
+
"shape-rendering": "crispEdges"
|
|
261
|
+
}, null, 8, Ve),
|
|
262
|
+
e.value.style.chart.graduations.show && ["both", "left"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
263
|
+
key: 0,
|
|
264
|
+
x1: t.x,
|
|
265
|
+
x2: t.x + 10,
|
|
266
|
+
y1: t.y,
|
|
267
|
+
y2: t.y,
|
|
268
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth,
|
|
269
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
270
|
+
"stroke-linecap": "round"
|
|
271
|
+
}, null, 8, We)) : h("", !0),
|
|
272
|
+
e.value.style.chart.graduations.showIntermediate ? (r(), n(C, { key: 1 }, [
|
|
273
|
+
e.value.style.chart.graduations.show && ["both", "left"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
274
|
+
key: 0,
|
|
275
|
+
x1: t.x,
|
|
276
|
+
x2: t.x + 5,
|
|
277
|
+
y1: t.halfY,
|
|
278
|
+
y2: t.halfY,
|
|
279
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth / 2,
|
|
280
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
281
|
+
"stroke-linecap": "round"
|
|
282
|
+
}, null, 8, Ee)) : h("", !0),
|
|
283
|
+
e.value.style.chart.graduations.show && ["both", "left"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
284
|
+
key: 1,
|
|
285
|
+
x1: t.x,
|
|
286
|
+
x2: t.x + 2.5,
|
|
287
|
+
y1: t.qYLess,
|
|
288
|
+
y2: t.qYLess,
|
|
289
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth / 2,
|
|
290
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
291
|
+
"stroke-linecap": "round"
|
|
292
|
+
}, null, 8, je)) : h("", !0),
|
|
293
|
+
e.value.style.chart.graduations.show && ["both", "left"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
294
|
+
key: 2,
|
|
295
|
+
x1: t.x,
|
|
296
|
+
x2: t.x + 2.5,
|
|
297
|
+
y1: t.qYMore,
|
|
298
|
+
y2: t.qYMore,
|
|
299
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth / 2,
|
|
300
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
301
|
+
"stroke-linecap": "round"
|
|
302
|
+
}, null, 8, ze)) : h("", !0)
|
|
303
|
+
], 64)) : h("", !0),
|
|
304
|
+
e.value.style.chart.graduations.show && ["both", "right"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
305
|
+
key: 2,
|
|
306
|
+
x1: l.value.right,
|
|
307
|
+
x2: l.value.right - 10,
|
|
308
|
+
y1: t.y,
|
|
309
|
+
y2: t.y,
|
|
310
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth,
|
|
311
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
312
|
+
"stroke-linecap": "round"
|
|
313
|
+
}, null, 8, Be)) : h("", !0),
|
|
314
|
+
e.value.style.chart.graduations.showIntermediate ? (r(), n(C, { key: 3 }, [
|
|
315
|
+
e.value.style.chart.graduations.show && ["both", "right"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
316
|
+
key: 0,
|
|
317
|
+
x1: l.value.right,
|
|
318
|
+
x2: l.value.right - 5,
|
|
319
|
+
y1: t.halfY,
|
|
320
|
+
y2: t.halfY,
|
|
321
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth / 2,
|
|
322
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
323
|
+
"stroke-linecap": "round"
|
|
324
|
+
}, null, 8, Ae)) : h("", !0),
|
|
325
|
+
e.value.style.chart.graduations.show && ["both", "right"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
326
|
+
key: 1,
|
|
327
|
+
x1: l.value.right,
|
|
328
|
+
x2: l.value.right - 2.5,
|
|
329
|
+
y1: t.qYLess,
|
|
330
|
+
y2: t.qYLess,
|
|
331
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth / 2,
|
|
332
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
333
|
+
"stroke-linecap": "round"
|
|
334
|
+
}, null, 8, De)) : h("", !0),
|
|
335
|
+
e.value.style.chart.graduations.show && ["both", "right"].includes(e.value.style.chart.graduations.sides) ? (r(), n("line", {
|
|
336
|
+
key: 2,
|
|
337
|
+
x1: l.value.right,
|
|
338
|
+
x2: l.value.right - 2.5,
|
|
339
|
+
y1: t.qYMore,
|
|
340
|
+
y2: t.qYMore,
|
|
341
|
+
"stroke-width": e.value.style.chart.graduations.strokeWidth / 2,
|
|
342
|
+
stroke: e.value.style.chart.graduations.stroke,
|
|
343
|
+
"stroke-linecap": "round"
|
|
344
|
+
}, null, 8, He)) : h("", !0)
|
|
345
|
+
], 64)) : h("", !0)
|
|
346
|
+
]))), 128)),
|
|
347
|
+
d("rect", {
|
|
348
|
+
class: b({ "vue-ui-thermometer-temperature": e.value.style.chart.animation.use }),
|
|
349
|
+
x: l.value.left,
|
|
350
|
+
y: l.value.top,
|
|
351
|
+
height: Y.value,
|
|
352
|
+
width: l.value.width - e.value.style.chart.padding.left - e.value.style.chart.padding.right,
|
|
353
|
+
fill: "#FFFFFF66"
|
|
354
|
+
}, null, 10, Xe)
|
|
355
|
+
]),
|
|
356
|
+
d("text", {
|
|
357
|
+
class: b({ "vue-ui-thermometer-temperature-value": e.value.style.chart.animation.use }),
|
|
358
|
+
y: Y.value + l.value.top + e.value.style.chart.label.fontSize / 3,
|
|
359
|
+
x: l.value.left - 10,
|
|
360
|
+
"text-anchor": "end",
|
|
361
|
+
fill: e.value.style.chart.label.color,
|
|
362
|
+
"font-size": e.value.style.chart.label.fontSize,
|
|
363
|
+
"font-weight": e.value.style.chart.label.bold ? "bold" : "normal"
|
|
364
|
+
}, de(y(_e)({ p: e.value.style.chart.label.prefix, v: U.dataset.value, s: e.value.style.chart.label.suffix, r: e.value.style.chart.label.rounding })), 11, Re),
|
|
365
|
+
w(s.$slots, "svg", { svg: J.value }, void 0, !0)
|
|
366
|
+
], 14, Me)) : h("", !0),
|
|
367
|
+
F.value ? h("", !0) : (r(), E(Pe, {
|
|
368
|
+
key: 3,
|
|
369
|
+
config: {
|
|
370
|
+
type: "thermometer",
|
|
371
|
+
style: {
|
|
372
|
+
backgroundColor: e.value.style.chart.backgroundColor,
|
|
373
|
+
thermometer: {
|
|
374
|
+
color: "#CCCCCC"
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}, null, 8, ["config"]))
|
|
379
|
+
], 14, Ie));
|
|
380
|
+
}
|
|
381
|
+
}, lt = /* @__PURE__ */ ve(Je, [["__scopeId", "data-v-eef95fe3"]]);
|
|
382
|
+
export {
|
|
383
|
+
lt as default
|
|
384
|
+
};
|