vue-chrts 0.2.4 → 0.2.5-test.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,13 @@
1
- import { defineComponent as U, useSlots as j, useTemplateRef as w, ref as R, computed as p, createElementBlock as u, openBlock as a, normalizeClass as S, normalizeStyle as T, createVNode as m, createCommentVNode as d, createElementVNode as X, unref as t, withCtx as x, createBlock as c, Fragment as L, renderList as z, mergeProps as C, renderSlot as D } from "vue";
2
- import { Position as A, CurveType as b } from "@unovis/ts";
3
- import { createMarkers as I, getFirstPropertyValue as Y } from "../../utils.js";
1
+ import { defineComponent as N, useSlots as W, useTemplateRef as E, ref as M, computed as m, createElementBlock as f, openBlock as c, normalizeClass as w, normalizeStyle as v, createVNode as y, createCommentVNode as u, createElementVNode as X, unref as n, withCtx as z, createBlock as g, Fragment as h, renderList as R, mergeProps as x, renderSlot as T } from "vue";
2
+ import { Position as L, CurveType as C } from "@unovis/ts";
3
+ import { createMarkers as Y, getFirstPropertyValue as U } from "../../utils.js";
4
4
  import H from "../Tooltip.js";
5
- import { VisXYContainer as K, VisTooltip as q, VisArea as J, VisLine as Q, VisAxis as B, VisCrosshair as Z, VisBulletLegend as _ } from "@unovis/vue";
6
- import { LegendPosition as ee } from "../../types.js";
7
- const ie = {
5
+ import { VisXYContainer as q, VisTooltip as J, VisArea as K, VisLine as Q, VisAxis as A, VisCrosshair as Z, VisBulletLegend as I } from "@unovis/vue";
6
+ import { LegendPosition as _ } from "../../types.js";
7
+ const ee = {
8
8
  ref: "slotWrapper",
9
9
  style: { display: "none" }
10
- }, y = 24, V = 4, te = 0.5, F = "#3b82f6", de = /* @__PURE__ */ U({
10
+ }, te = 0.5, $ = "#3b82f6", se = /* @__PURE__ */ N({
11
11
  __name: "AreaChart",
12
12
  props: {
13
13
  data: {},
@@ -20,15 +20,21 @@ const ie = {
20
20
  xFormatter: {},
21
21
  yFormatter: {},
22
22
  curveType: {},
23
+ hideArea: { type: Boolean, default: !1 },
24
+ gradientStops: { default: () => [
25
+ { offset: "0%", stopOpacity: 1 },
26
+ { offset: "75%", stopOpacity: 0 }
27
+ ] },
23
28
  lineWidth: { default: 2 },
24
29
  lineDashArray: {},
25
- xNumTicks: { default: (r) => r.data.length > y ? y / V : r.data.length - 1 },
30
+ xNumTicks: {},
26
31
  xExplicitTicks: {},
27
32
  minMaxTicksOnly: { type: Boolean },
28
- yNumTicks: { default: (r) => r.data.length > y ? y / V : r.data.length - 1 },
29
- hideLegend: { type: Boolean },
33
+ yNumTicks: {},
34
+ hideLegend: { type: Boolean, default: !1 },
30
35
  hideTooltip: { type: Boolean },
31
- legendPosition: {},
36
+ legendPosition: { default: _.BottomCenter },
37
+ legendStyle: { default: void 0 },
32
38
  xDomainLine: { type: Boolean },
33
39
  yDomainLine: { type: Boolean },
34
40
  xTickLine: { type: Boolean },
@@ -44,78 +50,96 @@ const ie = {
44
50
  xDomain: {}
45
51
  },
46
52
  emits: ["click"],
47
- setup(r, { emit: $ }) {
48
- const G = $, n = r, O = j(), h = w("slotWrapper"), s = R(), f = p(
49
- () => Object.values(n.categories).map((e) => e.color)
50
- ), N = p(() => n.markerConfig ? I(n.markerConfig) : ""), g = p(() => n.legendPosition === ee.Top), E = p(() => {
51
- const e = (i, o) => `
52
- <linearGradient id="gradient${i}-${o}" gradientTransform="rotate(90)">
53
- <stop offset="0%" stop-color="${o}" stop-opacity="1" />
54
- <stop offset="100%" stop-color="${o}" stop-opacity="0" />
53
+ setup(e, { emit: D }) {
54
+ const b = D, i = e, B = W(), p = E("slotWrapper"), d = M(), k = m(() => {
55
+ const o = Object.values(i.categories).map(
56
+ (l, t) => `var(--vis-color${t})`
57
+ );
58
+ return Object.values(i.categories).map(
59
+ (l, t) => l.color ?? o[t]
60
+ );
61
+ }), O = m(() => i.markerConfig ? Y(i.markerConfig) : ""), V = m(() => i.legendPosition.startsWith("top")), F = m(() => i.legendPosition.includes("left") ? "flex-start" : i.legendPosition.includes("right") ? "flex-end" : "center"), G = m(() => {
62
+ const o = (t, a) => {
63
+ var r;
64
+ return `
65
+ <linearGradient id="gradient${t}-${a}" gradientTransform="rotate(90)">
66
+ ${((r = i.gradientStops) == null ? void 0 : r.map(
67
+ (s) => `<stop offset="${s.offset}" stop-color="${a}" stop-opacity="${s.stopOpacity}" />`
68
+ ).join("")) ?? ""}
69
+ <stop offset="100%" stop-color="${a}" stop-opacity="0" />
55
70
  </linearGradient>
56
- `, l = (i, o) => `
57
- <linearGradient id="gradient${i}-${o}" gradientTransform="rotate(90)">
58
- <stop offset="0%" style="stop-color:var(--vis-color0);stop-opacity:1" />
59
- <stop offset="100%" style="stop-color:var(--vis-color0);stop-opacity:0" />
71
+ `;
72
+ }, l = (t, a) => {
73
+ var r;
74
+ return `
75
+ <linearGradient id="gradient${t}-${a}" gradientTransform="rotate(90)">
76
+
77
+ ${((r = i.gradientStops) == null ? void 0 : r.map(
78
+ (s) => `
79
+ <stop offset="${s.offset}" style="stop-color:var(${a});stop-opacity:${s.stopOpacity}" />
80
+ `
81
+ ).join("")) ?? ""}
60
82
  </linearGradient>
61
83
  `;
62
- return f.value.map(
63
- (i, o) => i != null && i.includes("#") ? e(o, i) : l(o, i ?? F)
84
+ };
85
+ return k.value.map(
86
+ (t, a) => t != null && t.includes("#") ? o(a, t) : l(a, t ?? $)
64
87
  ).join("");
65
88
  });
66
- function P(e) {
89
+ function P(o) {
67
90
  var l;
68
91
  return {
69
- y: (i) => Number(i[e]),
70
- color: ((l = n.categories[e]) == null ? void 0 : l.color) ?? F
92
+ y: (t) => Number(t[o]),
93
+ color: ((l = i.categories[o]) == null ? void 0 : l.color) ?? $
71
94
  };
72
95
  }
73
- function W(e) {
74
- return typeof window > "u" ? "" : h.value ? h.value.innerHTML : "";
96
+ function S(o) {
97
+ return typeof window > "u" ? "" : p.value ? p.value.innerHTML : "";
75
98
  }
76
- function M(e) {
77
- return s.value = e, W();
99
+ function j(o) {
100
+ return d.value = o, S();
78
101
  }
79
- return (e, l) => (a(), u("div", {
80
- style: T({
102
+ return (o, l) => (c(), f("div", {
103
+ style: v({
81
104
  display: "flex",
82
- flexDirection: g.value ? "column-reverse" : "column"
105
+ flexDirection: V.value ? "column-reverse" : "column",
106
+ gap: "var(--vis-legend-spacing)"
83
107
  }),
84
- class: S({ markers: !!n.markerConfig }),
85
- onClick: l[0] || (l[0] = (i) => G("click", i, s.value))
108
+ class: w({ markers: !!i.markerConfig }),
109
+ onClick: l[0] || (l[0] = (t) => b("click", t, d.value))
86
110
  }, [
87
- m(t(K), {
111
+ y(n(q), {
88
112
  data: e.data,
89
113
  height: e.height,
90
114
  padding: e.padding,
91
- "svg-defs": E.value + N.value,
115
+ "svg-defs": G.value + O.value,
92
116
  "y-domain": e.yDomain,
93
117
  "x-domain": e.xDomain
94
118
  }, {
95
- default: x(() => [
96
- e.hideTooltip ? d("", !0) : (a(), c(t(q), {
119
+ default: z(() => [
120
+ e.hideTooltip ? u("", !0) : (c(), g(n(J), {
97
121
  key: 0,
98
- "horizontal-placement": t(A).Right,
99
- "vertical-placement": t(A).Top
122
+ "horizontal-placement": n(L).Right,
123
+ "vertical-placement": n(L).Top
100
124
  }, null, 8, ["horizontal-placement", "vertical-placement"])),
101
- (a(!0), u(L, null, z(Object.keys(n.categories), (i, o) => (a(), u(L, { key: i }, [
102
- m(t(J), C({
103
- x: (k, v) => v
104
- }, { ref_for: !0 }, P(i), {
105
- color: `url(#gradient${o}-${f.value[o]})`,
106
- opacity: te,
107
- "curve-type": e.curveType ?? t(b).MonotoneX
108
- }), null, 16, ["x", "color", "curve-type"]),
109
- m(t(Q), {
110
- x: (k, v) => v,
111
- y: (k) => k[i],
112
- color: f.value[o],
113
- "curve-type": e.curveType ?? t(b).MonotoneX,
125
+ (c(!0), f(h, null, R(Object.keys(i.categories), (t, a) => (c(), f(h, { key: t }, [
126
+ y(n(K), x({
127
+ x: (r, s) => s
128
+ }, { ref_for: !0 }, P(t), {
129
+ color: `url(#gradient${a}-${k.value[a]})`,
130
+ opacity: e.hideArea ? 0 : te,
131
+ "curve-type": e.curveType ?? n(C).MonotoneX
132
+ }), null, 16, ["x", "color", "opacity", "curve-type"]),
133
+ y(n(Q), {
134
+ x: (r, s) => s,
135
+ y: (r) => r[t],
136
+ color: k.value[a],
137
+ "curve-type": e.curveType ?? n(C).MonotoneX,
114
138
  "line-width": e.lineWidth,
115
- lineDashArray: e.lineDashArray ? e.lineDashArray[o] : void 0
139
+ lineDashArray: e.lineDashArray ? e.lineDashArray[a] : void 0
116
140
  }, null, 8, ["x", "y", "color", "curve-type", "line-width", "lineDashArray"])
117
141
  ], 64))), 128)),
118
- e.hideXAxis ? d("", !0) : (a(), c(t(B), {
142
+ e.hideXAxis ? u("", !0) : (c(), g(n(A), {
119
143
  key: 1,
120
144
  type: "x",
121
145
  label: e.xLabel,
@@ -128,7 +152,7 @@ const ie = {
128
152
  "tick-line": e.xTickLine,
129
153
  "min-max-ticks-only": e.minMaxTicksOnly
130
154
  }, null, 8, ["label", "num-ticks", "tick-format", "tick-values", "grid-line", "domain-line", "tick-line", "min-max-ticks-only"])),
131
- e.hideYAxis ? d("", !0) : (a(), c(t(B), {
155
+ e.hideYAxis ? u("", !0) : (c(), g(n(A), {
132
156
  key: 2,
133
157
  type: "y",
134
158
  label: e.yLabel,
@@ -138,40 +162,44 @@ const ie = {
138
162
  "domain-line": e.yDomainLine,
139
163
  "tick-line": e.yTickLine
140
164
  }, null, 8, ["label", "num-ticks", "tick-format", "grid-line", "domain-line", "tick-line"])),
141
- e.hideTooltip ? d("", !0) : (a(), c(t(Z), C({ key: 3 }, e.crosshairConfig, { template: M }), null, 16))
165
+ e.hideTooltip ? u("", !0) : (c(), g(n(Z), x({ key: 3 }, e.crosshairConfig, { template: j }), null, 16))
142
166
  ]),
143
167
  _: 1
144
168
  }, 8, ["data", "height", "padding", "svg-defs", "y-domain", "x-domain"]),
145
- e.hideLegend ? d("", !0) : (a(), u("div", {
169
+ i.hideLegend ? u("", !0) : (c(), f("div", {
146
170
  key: 0,
147
- style: T({
171
+ style: v({
148
172
  display: "flex",
149
- alignItems: "center",
150
- justifyContent: "flex-end",
151
- paddingBottom: g.value ? "1rem" : void 0,
152
- paddingTop: g.value ? void 0 : "1rem"
173
+ justifyContent: F.value
153
174
  })
154
175
  }, [
155
- m(t(_), {
156
- items: Object.values(e.categories)
157
- }, null, 8, ["items"])
176
+ y(n(I), {
177
+ style: v([
178
+ i.legendStyle,
179
+ "display: flex; gap: var(--vis-legend-spacing);"
180
+ ]),
181
+ items: Object.values(i.categories).map((t) => ({
182
+ ...t,
183
+ color: Array.isArray(t.color) ? t.color[0] : t.color
184
+ }))
185
+ }, null, 8, ["style", "items"])
158
186
  ], 4)),
159
- X("div", ie, [
160
- t(O).tooltip ? D(e.$slots, "tooltip", {
187
+ X("div", ee, [
188
+ n(B).tooltip ? T(o.$slots, "tooltip", {
161
189
  key: 0,
162
- values: s.value
163
- }) : s.value ? D(e.$slots, "fallback", { key: 1 }, () => [
164
- m(H, {
165
- data: s.value,
190
+ values: d.value
191
+ }) : d.value ? T(o.$slots, "fallback", { key: 1 }, () => [
192
+ y(H, {
193
+ data: d.value,
166
194
  categories: e.categories,
167
- toolTipTitle: t(Y)(s.value) ?? "",
168
- yFormatter: n.yFormatter
195
+ toolTipTitle: n(U)(d.value) ?? "",
196
+ yFormatter: i.yFormatter
169
197
  }, null, 8, ["data", "categories", "toolTipTitle", "yFormatter"])
170
- ]) : d("", !0)
198
+ ]) : u("", !0)
171
199
  ], 512)
172
200
  ], 6));
173
201
  }
174
202
  });
175
203
  export {
176
- de as default
204
+ se as default
177
205
  };
@@ -57,6 +57,17 @@ export interface AreaChartProps<T> {
57
57
  * See `CurveType` for available options.
58
58
  */
59
59
  curveType?: CurveType;
60
+ /**
61
+ * If `true`, hides the area fill, displaying only the line.
62
+ */
63
+ hideArea?: boolean;
64
+ /**
65
+ * Edit the gradient stops for the area fill.
66
+ */
67
+ gradientStops?: Array<{
68
+ offset: string;
69
+ stopOpacity: number;
70
+ }>;
60
71
  /**
61
72
  * The width of the line in pixels. Default is 2px.
62
73
  */
@@ -94,6 +105,10 @@ export interface AreaChartProps<T> {
94
105
  * See `LegendPosition` for available options.
95
106
  */
96
107
  legendPosition?: LegendPosition;
108
+ /**
109
+ * Optional style object for the legend container. Allows custom CSS styling.
110
+ */
111
+ legendStyle?: string | Record<string, string>;
97
112
  /**
98
113
  * If `true`, displays a domain line (axis line) along the x-axis.
99
114
  */
@@ -1,14 +1,14 @@
1
- import { defineComponent as C, useSlots as S, useTemplateRef as D, ref as N, computed as c, createElementBlock as y, openBlock as n, normalizeStyle as T, createVNode as g, createCommentVNode as m, createElementVNode as O, unref as i, withCtx as w, createBlock as u, Fragment as E, renderList as M, renderSlot as B } from "vue";
2
- import { Orientation as l, StackedBar as j, GroupedBar as z } from "@unovis/ts";
3
- import { getFirstPropertyValue as H } from "../../utils.js";
4
- import { useStackedGrouped as W } from "./stackedGroupedUtils.js";
5
- import { VisXYContainer as X, VisTooltip as Y, VisStackedBar as L, VisGroupedBar as $, VisAxis as A, VisBulletLegend as R } from "@unovis/vue";
6
- import q from "../Tooltip.js";
7
- import { LegendPosition as I } from "../../types.js";
8
- const U = {
1
+ import { defineComponent as W, useSlots as X, useTemplateRef as Y, ref as j, computed as k, createElementBlock as v, openBlock as l, normalizeStyle as L, createVNode as b, createCommentVNode as f, createElementVNode as H, unref as a, withCtx as $, createBlock as c, Fragment as q, renderList as I, renderSlot as C } from "vue";
2
+ import { Orientation as g, StackedBar as U, GroupedBar as J } from "@unovis/ts";
3
+ import { getFirstPropertyValue as K } from "../../utils.js";
4
+ import { useStackedGrouped as Q } from "./stackedGroupedUtils.js";
5
+ import { VisXYContainer as Z, VisXYLabels as _, VisTooltip as ee, VisStackedBar as F, VisGroupedBar as te, VisAxis as V, VisBulletLegend as ae } from "@unovis/vue";
6
+ import ie from "../Tooltip.js";
7
+ import { LegendPosition as ne } from "../../types.js";
8
+ const oe = {
9
9
  ref: "slotWrapper",
10
10
  style: { display: "none" }
11
- }, ae = /* @__PURE__ */ C({
11
+ }, ye = /* @__PURE__ */ W({
12
12
  __name: "BarChart",
13
13
  props: {
14
14
  data: {},
@@ -25,18 +25,19 @@ const U = {
25
25
  categories: {},
26
26
  xFormatter: {},
27
27
  yFormatter: {},
28
- yNumTicks: { default: (t) => t.data.length > 24 ? 24 / 4 : t.data.length - 1 },
28
+ yNumTicks: {},
29
29
  minMaxTicksOnly: { type: Boolean },
30
- xNumTicks: { default: (t) => t.data.length > 24 ? 24 / 4 : t.data.length - 1 },
30
+ xNumTicks: {},
31
31
  xExplicitTicks: {},
32
32
  yAxis: {},
33
- groupPadding: {},
34
- barPadding: {},
33
+ groupPadding: { default: 0 },
34
+ barPadding: { default: 0.2 },
35
35
  radius: {},
36
- hideLegend: { type: Boolean },
36
+ hideLegend: { type: Boolean, default: !1 },
37
37
  hideTooltip: { type: Boolean, default: !1 },
38
- orientation: { default: l.Vertical },
39
- legendPosition: {},
38
+ orientation: { default: g.Vertical },
39
+ legendPosition: { default: ne.BottomCenter },
40
+ legendStyle: { default: void 0 },
40
41
  xDomainLine: { type: Boolean },
41
42
  yDomainLine: { type: Boolean },
42
43
  xTickLine: { type: Boolean },
@@ -47,137 +48,174 @@ const U = {
47
48
  hideYAxis: { type: Boolean },
48
49
  stackedGroupedSpacing: { default: 0.1 },
49
50
  stackAndGrouped: { type: Boolean },
51
+ valueLabel: {},
50
52
  xAxis: {}
51
53
  },
52
54
  emits: ["click"],
53
- setup(t, { emit: V }) {
54
- const x = V, a = t, G = S(), k = D("slotWrapper"), r = N();
55
- if (!a.yAxis || a.yAxis.length === 0)
55
+ setup(e, { emit: G }) {
56
+ const S = G, t = e, O = X(), h = Y("slotWrapper"), u = j();
57
+ if (t.valueLabel && !t.xAxis)
58
+ throw new Error(
59
+ "BarChart: 'xAxis' prop is required when 'valueLabel' is enabled. Please provide an 'xAxis' to display value labels."
60
+ );
61
+ if (!t.yAxis || t.yAxis.length === 0)
56
62
  throw new Error("yAxis is required");
57
- const f = c(() => a.yAxis.map((e) => (d) => d[e])), v = (e, d) => {
58
- var o;
59
- return (o = Object.values(a.categories)[d]) == null ? void 0 : o.color;
60
- }, s = c(
61
- () => W({
62
- data: a.data,
63
- categories: a.categories,
64
- stackAndGrouped: a.stackAndGrouped,
65
- xAxis: a.xAxis,
66
- spacing: a.stackedGroupedSpacing
63
+ const A = k(() => t.yAxis.map((i) => (o) => o[i])), B = (i, o) => {
64
+ var n;
65
+ return (n = Object.values(t.categories)[o]) == null ? void 0 : n.color;
66
+ }, y = k(
67
+ () => Q({
68
+ data: t.data,
69
+ categories: t.categories,
70
+ stackAndGrouped: t.stackAndGrouped,
71
+ xAxis: t.xAxis,
72
+ spacing: t.stackedGroupedSpacing
67
73
  }).value
68
- ), h = c(
69
- () => a.legendPosition === I.Top
70
- );
71
- function b(e) {
72
- return r.value = e, P();
74
+ ), w = k(() => t.legendPosition.startsWith("top")), D = k(() => t.legendPosition.includes("left") ? "flex-start" : t.legendPosition.includes("right") ? "flex-end" : "center");
75
+ function T(i) {
76
+ return u.value = i, E();
73
77
  }
74
- function P(e) {
75
- return typeof window > "u" ? "" : k.value ? k.value.innerHTML : "";
78
+ function E(i) {
79
+ return typeof window > "u" ? "" : h.value ? h.value.innerHTML : "";
76
80
  }
77
- return (e, d) => (n(), y("div", {
78
- style: T({
81
+ const P = t.yAxis.map((i) => (o) => o[i]), N = P.length, z = t.data.flatMap(
82
+ (i, o) => P.map((n, s) => ({
83
+ x: o,
84
+ y: Number(n(i) ?? 0),
85
+ itemIndex: s
86
+ }))
87
+ ), M = (i) => {
88
+ if (t.stacked || t.stackAndGrouped) return i.x;
89
+ const o = N;
90
+ if (o <= 1) return i.x;
91
+ const s = 1 - (t.groupPadding ?? 0), m = s / o, x = -s / 2, r = m * i.itemIndex + m / 2, p = 1 - (t.barPadding ?? 0), R = (x + r) * p;
92
+ return i.x + R;
93
+ };
94
+ return (i, o) => (l(), v("div", {
95
+ style: L({
79
96
  display: "flex",
80
- flexDirection: h.value ? "column-reverse" : "column",
81
- gap: "1rem"
97
+ flexDirection: w.value ? "column-reverse" : "column",
98
+ gap: "var(--vis-legend-spacing)"
82
99
  }),
83
- onClick: d[0] || (d[0] = (o) => x("click", o, r.value))
100
+ onClick: o[0] || (o[0] = (n) => S("click", n, u.value))
84
101
  }, [
85
- g(i(X), {
102
+ b(a(Z), {
86
103
  padding: e.padding,
87
104
  height: e.height
88
105
  }, {
89
- default: w(() => [
90
- g(i(Y), {
91
- triggers: {
92
- [i(z).selectors.bar]: b,
93
- [i(j).selectors.bar]: b
94
- }
95
- }, null, 8, ["triggers"]),
96
- e.stackAndGrouped ? (n(!0), y(E, { key: 0 }, M(s.value.states, (o) => (n(), u(i(L), {
97
- key: o,
98
- data: s.value.chartData,
99
- x: (p, F) => F + s.value.positions[o],
100
- y: s.value.bars[o],
101
- color: s.value.colorFunctions[o],
102
- "rounded-corners": e.radius ?? 0,
103
- "group-padding": e.groupPadding ?? 0,
104
- "bar-padding": e.barPadding,
105
- orientation: e.orientation ?? i(l).Vertical
106
- }, null, 8, ["data", "x", "y", "color", "rounded-corners", "group-padding", "bar-padding", "orientation"]))), 128)) : e.stacked ? (n(), u(i(L), {
107
- key: 2,
108
- data: e.data,
109
- x: (o, p) => p,
110
- y: f.value,
111
- color: v,
112
- "rounded-corners": e.radius ?? 0,
113
- "group-padding": e.groupPadding ?? 0,
114
- "bar-padding": e.barPadding ?? 0.2,
115
- orientation: e.orientation ?? i(l).Vertical
116
- }, null, 8, ["data", "x", "y", "rounded-corners", "group-padding", "bar-padding", "orientation"])) : (n(), u(i($), {
117
- key: 1,
118
- data: e.data,
119
- x: (o, p) => p,
120
- y: f.value,
121
- color: v,
122
- "rounded-corners": e.radius ?? 0,
123
- "group-padding": e.groupPadding ?? 0,
124
- "bar-padding": e.barPadding ?? 0.2,
125
- orientation: e.orientation ?? i(l).Vertical
126
- }, null, 8, ["data", "x", "y", "rounded-corners", "group-padding", "bar-padding", "orientation"])),
127
- e.hideXAxis ? m("", !0) : (n(), u(i(A), {
128
- key: 3,
129
- type: "x",
130
- "tick-format": e.xFormatter,
131
- label: e.xLabel,
132
- "grid-line": e.xGridLine,
133
- "domain-line": !!e.xDomainLine,
134
- "tick-line": e.xTickLine,
135
- "num-ticks": e.xNumTicks,
136
- "tick-values": e.xExplicitTicks,
137
- minMaxTicksOnly: e.minMaxTicksOnly
138
- }, null, 8, ["tick-format", "label", "grid-line", "domain-line", "tick-line", "num-ticks", "tick-values", "minMaxTicksOnly"])),
139
- e.hideYAxis ? m("", !0) : (n(), u(i(A), {
140
- key: 4,
141
- type: "y",
142
- label: e.yLabel,
143
- "grid-line": e.orientation !== i(l).Horizontal && e.yGridLine,
144
- "domain-line": !!e.yDomainLine,
145
- "tick-format": e.yFormatter,
146
- "num-ticks": e.yNumTicks,
147
- "tick-line": e.yTickLine
148
- }, null, 8, ["label", "grid-line", "domain-line", "tick-format", "num-ticks", "tick-line"]))
149
- ]),
106
+ default: $(() => {
107
+ var n, s, m, x;
108
+ return [
109
+ e.valueLabel ? (l(), c(a(_), {
110
+ key: 0,
111
+ data: a(z),
112
+ x: M,
113
+ y: (r) => {
114
+ var d;
115
+ return r.y + (((d = t.valueLabel) == null ? void 0 : d.labelSpacing) ?? 0);
116
+ },
117
+ label: (n = t.valueLabel) == null ? void 0 : n.label,
118
+ backgroundColor: ((s = t.valueLabel) == null ? void 0 : s.backgroundColor) ?? "transparent",
119
+ color: ((m = t.valueLabel) == null ? void 0 : m.color) ?? "red",
120
+ labelFontSize: (x = t.valueLabel) == null ? void 0 : x.labelFontSize
121
+ }, null, 8, ["data", "y", "label", "backgroundColor", "color", "labelFontSize"])) : f("", !0),
122
+ b(a(ee), {
123
+ triggers: {
124
+ [a(J).selectors.bar]: T,
125
+ [a(U).selectors.bar]: T
126
+ }
127
+ }, null, 8, ["triggers"]),
128
+ e.stackAndGrouped ? (l(!0), v(q, { key: 1 }, I(y.value.states, (r) => (l(), c(a(F), {
129
+ key: r,
130
+ data: y.value.chartData,
131
+ x: (d, p) => p + y.value.positions[r],
132
+ y: y.value.bars[r],
133
+ color: y.value.colorFunctions[r],
134
+ "rounded-corners": e.radius ?? 0,
135
+ "group-padding": e.groupPadding ?? 0,
136
+ "bar-padding": e.barPadding,
137
+ orientation: e.orientation ?? a(g).Vertical
138
+ }, null, 8, ["data", "x", "y", "color", "rounded-corners", "group-padding", "bar-padding", "orientation"]))), 128)) : e.stacked ? (l(), c(a(F), {
139
+ key: 3,
140
+ data: e.data,
141
+ x: (r, d) => d,
142
+ y: A.value,
143
+ color: B,
144
+ "rounded-corners": e.radius ?? 0,
145
+ "group-padding": e.groupPadding ?? 0,
146
+ "bar-padding": e.barPadding ?? 0.2,
147
+ orientation: e.orientation ?? a(g).Vertical
148
+ }, null, 8, ["data", "x", "y", "rounded-corners", "group-padding", "bar-padding", "orientation"])) : (l(), c(a(te), {
149
+ key: 2,
150
+ data: e.data,
151
+ x: (r, d) => d,
152
+ y: A.value,
153
+ color: B,
154
+ "rounded-corners": e.radius ?? 0,
155
+ "group-padding": e.groupPadding ?? 0,
156
+ "bar-padding": e.barPadding ?? 0.2,
157
+ orientation: e.orientation ?? a(g).Vertical
158
+ }, null, 8, ["data", "x", "y", "rounded-corners", "group-padding", "bar-padding", "orientation"])),
159
+ e.hideXAxis ? f("", !0) : (l(), c(a(V), {
160
+ key: 4,
161
+ type: "x",
162
+ "tick-format": e.xFormatter,
163
+ label: e.xLabel,
164
+ "grid-line": e.xGridLine,
165
+ "domain-line": !!e.xDomainLine,
166
+ "tick-line": e.xTickLine,
167
+ "num-ticks": e.xNumTicks,
168
+ "tick-values": e.xExplicitTicks,
169
+ minMaxTicksOnly: e.minMaxTicksOnly
170
+ }, null, 8, ["tick-format", "label", "grid-line", "domain-line", "tick-line", "num-ticks", "tick-values", "minMaxTicksOnly"])),
171
+ e.hideYAxis ? f("", !0) : (l(), c(a(V), {
172
+ key: 5,
173
+ type: "y",
174
+ label: e.yLabel,
175
+ "grid-line": e.orientation !== a(g).Horizontal && e.yGridLine,
176
+ "domain-line": !!e.yDomainLine,
177
+ "tick-format": e.yFormatter,
178
+ "num-ticks": e.yNumTicks,
179
+ "tick-line": e.yTickLine
180
+ }, null, 8, ["label", "grid-line", "domain-line", "tick-format", "num-ticks", "tick-line"]))
181
+ ];
182
+ }),
150
183
  _: 1
151
184
  }, 8, ["padding", "height"]),
152
- e.hideLegend ? m("", !0) : (n(), y("div", {
185
+ t.hideLegend ? f("", !0) : (l(), v("div", {
153
186
  key: 0,
154
- style: T({
187
+ style: L({
155
188
  display: "flex",
156
- alignItems: "center",
157
- justifyContent: "flex-end",
158
- paddingBottom: h.value ? "1rem" : void 0
189
+ justifyContent: D.value
159
190
  })
160
191
  }, [
161
- g(i(R), {
162
- items: Object.values(a.categories)
163
- }, null, 8, ["items"])
192
+ b(a(ae), {
193
+ style: L([
194
+ t.legendStyle,
195
+ "display: flex; gap: var(--vis-legend-spacing);"
196
+ ]),
197
+ items: Object.values(t.categories).map((n) => ({
198
+ ...n,
199
+ color: Array.isArray(n.color) ? n.color[0] : n.color
200
+ }))
201
+ }, null, 8, ["style", "items"])
164
202
  ], 4)),
165
- O("div", U, [
166
- i(G).tooltip ? B(e.$slots, "tooltip", {
203
+ H("div", oe, [
204
+ a(O).tooltip ? C(i.$slots, "tooltip", {
167
205
  key: 0,
168
- values: r.value
169
- }) : r.value ? B(e.$slots, "fallback", { key: 1 }, () => [
170
- g(q, {
171
- data: r.value,
172
- categories: a.categories,
173
- toolTipTitle: i(H)(r.value) ?? "",
174
- yFormatter: a.orientation === i(l).Horizontal ? a.xFormatter : a.yFormatter
206
+ values: u.value
207
+ }) : u.value ? C(i.$slots, "fallback", { key: 1 }, () => [
208
+ b(ie, {
209
+ data: u.value,
210
+ categories: t.categories,
211
+ toolTipTitle: a(K)(u.value) ?? "",
212
+ yFormatter: t.orientation === a(g).Horizontal ? t.xFormatter : t.yFormatter
175
213
  }, null, 8, ["data", "categories", "toolTipTitle", "yFormatter"])
176
- ]) : m("", !0)
214
+ ]) : f("", !0)
177
215
  ], 512)
178
216
  ], 4));
179
217
  }
180
218
  });
181
219
  export {
182
- ae as default
220
+ ye as default
183
221
  };
@@ -7,7 +7,7 @@ declare const _default: <T extends {}>(__VLS_props: NonNullable<Awaited<typeof _
7
7
  attrs: any;
8
8
  slots: {
9
9
  tooltip?(_: {
10
- values: any;
10
+ values: T | undefined;
11
11
  }): any;
12
12
  fallback?(_: {}): any;
13
13
  };