@sentropic/design-system-vue 0.11.0 → 0.12.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiCard.d.ts","sourceRoot":"","sources":["../src/KpiCard.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,OAAO;;cAG8B,MAAM,MAAM,GAAG,MAAM;;;;;;;;;;;;cAGpC,MAAM,kBAAkB;;;;cAC9B,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;;;;;;;;;cAIjB,MAAM,MAAM,EAAE;;;;cAClB,MAAM,WAAW;;;;cACjB,MAAM,WAAW;;;;;;;;;;;cAXK,MAAM,MAAM,GAAG,MAAM;;;;;;;;;;;;cAGpC,MAAM,kBAAkB;;;;cAC9B,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;;;;;;;;;cAIjB,MAAM,MAAM,EAAE;;;;cAClB,MAAM,WAAW;;;;cACjB,MAAM,WAAW;;;;;;;;;;;;;;;;;;;4EAyK3C,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { defineComponent, h } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ import { Sparkline } from "./Sparkline.js";
4
+ export const KpiCard = defineComponent({
5
+ name: "KpiCard",
6
+ props: {
7
+ value: { type: [Number, String], required: true },
8
+ label: { type: String, required: true },
9
+ delta: { type: Number, default: undefined },
10
+ deltaFormat: { type: String, default: "percent" },
11
+ trend: { type: String, default: undefined },
12
+ format: { type: String, default: "number" },
13
+ unit: { type: String, default: undefined },
14
+ currency: { type: String, default: "EUR" },
15
+ locale: { type: String, default: undefined },
16
+ sparkline: { type: Array, default: undefined },
17
+ size: { type: String, default: "md" },
18
+ tone: { type: String, default: undefined },
19
+ class: { type: String, default: undefined },
20
+ },
21
+ setup(props, { attrs }) {
22
+ return () => {
23
+ const value = props.value;
24
+ const label = props.label;
25
+ const delta = props.delta;
26
+ const deltaFormat = props.deltaFormat ?? "percent";
27
+ const format = props.format ?? "number";
28
+ const unit = props.unit;
29
+ const currency = props.currency ?? "EUR";
30
+ const locale = props.locale;
31
+ const sparkline = props.sparkline;
32
+ const size = props.size ?? "md";
33
+ const tone = props.tone;
34
+ const resolvedTrend = props.trend ?? (delta == null ? undefined : delta > 0 ? "up" : delta < 0 ? "down" : "flat");
35
+ let formattedValue;
36
+ if (typeof value === "string") {
37
+ formattedValue = value;
38
+ }
39
+ else if (!Number.isFinite(value)) {
40
+ // Jamais de « NaN »/« ∞ » dans le DOM ni l'aria.
41
+ formattedValue = "—";
42
+ }
43
+ else if (format === "currency") {
44
+ // Un code devise invalide fait lever Intl ; on retombe sur le nombre brut.
45
+ try {
46
+ formattedValue = new Intl.NumberFormat(locale, { style: "currency", currency }).format(value);
47
+ }
48
+ catch {
49
+ formattedValue = new Intl.NumberFormat(locale).format(value);
50
+ }
51
+ }
52
+ else if (format === "percent") {
53
+ formattedValue = new Intl.NumberFormat(locale, {
54
+ style: "percent",
55
+ maximumFractionDigits: 2,
56
+ }).format(value);
57
+ }
58
+ else {
59
+ formattedValue = new Intl.NumberFormat(locale).format(value);
60
+ }
61
+ let formattedDelta;
62
+ if (delta != null && Number.isFinite(delta)) {
63
+ const sign = delta > 0 ? "+" : "";
64
+ if (deltaFormat === "percent") {
65
+ const pct = new Intl.NumberFormat(locale, {
66
+ style: "percent",
67
+ maximumFractionDigits: 1,
68
+ }).format(delta);
69
+ formattedDelta = `${sign}${pct}`;
70
+ }
71
+ else {
72
+ formattedDelta = `${sign}${new Intl.NumberFormat(locale).format(delta)}`;
73
+ }
74
+ }
75
+ const sparklineTone = resolvedTrend === "up" ? "success" : resolvedTrend === "down" ? "error" : "neutral";
76
+ const arrow = resolvedTrend === "up"
77
+ ? "M3 8.5 7 4l4 4.5"
78
+ : resolvedTrend === "down"
79
+ ? "M3 5.5 7 10l4-4.5"
80
+ : "M3 7h8";
81
+ const trendLabel = resolvedTrend === "up"
82
+ ? "en hausse"
83
+ : resolvedTrend === "down"
84
+ ? "en baisse"
85
+ : resolvedTrend === "flat"
86
+ ? "stable"
87
+ : undefined;
88
+ // L'unité est redondante quand le format est déjà autosuffisant.
89
+ const ariaUnit = format === "currency" || format === "percent" ? undefined : unit;
90
+ const ariaLabel = [
91
+ label,
92
+ formattedValue,
93
+ ariaUnit,
94
+ formattedDelta && `${formattedDelta} ${trendLabel ?? ""}`.trim(),
95
+ ]
96
+ .filter(Boolean)
97
+ .join(", ");
98
+ const classes = classNames("st-kpiCard", `st-kpiCard--${size}`, tone && `st-kpiCard--${tone}`, tone && "st-kpiCard--toned", props.class);
99
+ const valueChildren = [
100
+ h("span", { class: "st-kpiCard__number" }, formattedValue),
101
+ ];
102
+ if (unit) {
103
+ valueChildren.push(h("span", { class: "st-kpiCard__unit" }, unit));
104
+ }
105
+ const footerChildren = [];
106
+ if (formattedDelta) {
107
+ footerChildren.push(h("span", {
108
+ class: `st-kpiCard__delta st-kpiCard__delta--${resolvedTrend ?? "flat"}`,
109
+ "aria-hidden": "true",
110
+ }, [
111
+ h("svg", {
112
+ class: "st-kpiCard__arrow",
113
+ width: "14",
114
+ height: "14",
115
+ viewBox: "0 0 14 14",
116
+ "aria-hidden": "true",
117
+ focusable: "false",
118
+ }, [
119
+ h("path", {
120
+ d: arrow,
121
+ fill: "none",
122
+ stroke: "currentColor",
123
+ "stroke-width": "1.75",
124
+ "stroke-linecap": "round",
125
+ "stroke-linejoin": "round",
126
+ }),
127
+ ]),
128
+ h("span", { class: "st-kpiCard__deltaValue" }, formattedDelta),
129
+ ]));
130
+ }
131
+ if (sparkline && sparkline.length > 0) {
132
+ footerChildren.push(h(Sparkline, {
133
+ class: "st-kpiCard__sparkline",
134
+ data: sparkline,
135
+ tone: sparklineTone,
136
+ area: true,
137
+ }));
138
+ }
139
+ const labelChildren = [];
140
+ if (tone) {
141
+ labelChildren.push(h("span", { class: "st-kpiCard__swatch", "aria-hidden": "true" }));
142
+ }
143
+ labelChildren.push(h("span", { class: "st-kpiCard__labelText" }, label));
144
+ const children = [
145
+ h("p", { class: "st-kpiCard__label" }, labelChildren),
146
+ h("p", { class: "st-kpiCard__value" }, valueChildren),
147
+ ];
148
+ if (formattedDelta || sparkline) {
149
+ children.push(h("div", { class: "st-kpiCard__footer" }, footerChildren));
150
+ }
151
+ return h("article", { ...attrs, class: classes, role: "group", "aria-label": ariaLabel }, children);
152
+ };
153
+ },
154
+ });
155
+ //# sourceMappingURL=KpiCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiCard.js","sourceRoot":"","sources":["../src/KpiCard.ts"],"names":[],"mappings":"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"}
@@ -124,7 +124,7 @@ export declare const TimePicker: import("vue").DefineComponent<import("vue").Ext
124
124
  max: string;
125
125
  size: TimePickerSize;
126
126
  value: string;
127
- step: number;
128
127
  format: TimePickerFormat;
128
+ step: number;
129
129
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
130
130
  //# sourceMappingURL=TimePicker.d.ts.map
@@ -0,0 +1,95 @@
1
+ export type TreemapChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
2
+ export type TreemapChartDatum = {
3
+ label: string;
4
+ value: number;
5
+ tone?: TreemapChartTone;
6
+ children?: TreemapChartDatum[];
7
+ };
8
+ export type TreemapTiling = "squarified";
9
+ export type TreemapChartProps = {
10
+ data: TreemapChartDatum[];
11
+ tiling?: TreemapTiling;
12
+ showLabels?: boolean;
13
+ legend?: boolean;
14
+ width?: number;
15
+ height?: number;
16
+ label: string;
17
+ class?: string;
18
+ };
19
+ export declare const TreemapChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
20
+ data: {
21
+ type: () => TreemapChartDatum[];
22
+ required: true;
23
+ };
24
+ tiling: {
25
+ type: () => TreemapTiling;
26
+ default: string;
27
+ };
28
+ showLabels: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ legend: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ width: {
37
+ type: NumberConstructor;
38
+ default: number;
39
+ };
40
+ height: {
41
+ type: NumberConstructor;
42
+ default: number;
43
+ };
44
+ label: {
45
+ type: StringConstructor;
46
+ required: true;
47
+ };
48
+ class: {
49
+ type: StringConstructor;
50
+ default: undefined;
51
+ };
52
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
53
+ [key: string]: any;
54
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
55
+ data: {
56
+ type: () => TreemapChartDatum[];
57
+ required: true;
58
+ };
59
+ tiling: {
60
+ type: () => TreemapTiling;
61
+ default: string;
62
+ };
63
+ showLabels: {
64
+ type: BooleanConstructor;
65
+ default: boolean;
66
+ };
67
+ legend: {
68
+ type: BooleanConstructor;
69
+ default: boolean;
70
+ };
71
+ width: {
72
+ type: NumberConstructor;
73
+ default: number;
74
+ };
75
+ height: {
76
+ type: NumberConstructor;
77
+ default: number;
78
+ };
79
+ label: {
80
+ type: StringConstructor;
81
+ required: true;
82
+ };
83
+ class: {
84
+ type: StringConstructor;
85
+ default: undefined;
86
+ };
87
+ }>> & Readonly<{}>, {
88
+ class: string;
89
+ legend: boolean;
90
+ width: number;
91
+ height: number;
92
+ showLabels: boolean;
93
+ tiling: "squarified";
94
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
95
+ //# sourceMappingURL=TreemapChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreemapChart.d.ts","sourceRoot":"","sources":["../src/TreemapChart.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA+GF,eAAO,MAAM,YAAY;;cAGE,MAAM,iBAAiB,EAAE;;;;cACtB,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cADtB,MAAM,iBAAiB,EAAE;;;;cACtB,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAgO/C,CAAC"}
@@ -0,0 +1,255 @@
1
+ import { defineComponent, h, ref } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ import { chartDataList, labelColorForTone } from "./chartScale.js";
4
+ const TONES = [
5
+ "category1",
6
+ "category2",
7
+ "category3",
8
+ "category4",
9
+ "category5",
10
+ "category6",
11
+ "category7",
12
+ "category8",
13
+ ];
14
+ const PADDING = 2;
15
+ const sumValue = (d) => {
16
+ if (d.children && d.children.length > 0) {
17
+ return d.children.reduce((s, c) => s + sumValue(c), 0);
18
+ }
19
+ return Math.max(d.value, 0);
20
+ };
21
+ function squarify(nodes, rect) {
22
+ const out = [];
23
+ const total = nodes.reduce((s, n) => s + n.value, 0);
24
+ if (total <= 0 || nodes.length === 0)
25
+ return out;
26
+ const area = rect.w * rect.h;
27
+ const scale = area / total;
28
+ const items = nodes.map((n) => ({ datum: n.datum, value: n.value, area: n.value * scale }));
29
+ let free = { ...rect };
30
+ let row = [];
31
+ const worst = (r, side) => {
32
+ if (r.length === 0 || side <= 0)
33
+ return Infinity;
34
+ const s = r.reduce((acc, it) => acc + it.area, 0);
35
+ let max = -Infinity;
36
+ let min = Infinity;
37
+ for (const it of r) {
38
+ if (it.area > max)
39
+ max = it.area;
40
+ if (it.area < min)
41
+ min = it.area;
42
+ }
43
+ const s2 = s * s;
44
+ const side2 = side * side;
45
+ return Math.max((side2 * max) / s2, s2 / (side2 * min));
46
+ };
47
+ const layoutRow = (r, side, area2) => {
48
+ const s = r.reduce((acc, it) => acc + it.area, 0);
49
+ if (side <= 0)
50
+ return area2;
51
+ const thickness = s / side;
52
+ if (area2.w >= area2.h) {
53
+ let oy = area2.y;
54
+ for (const it of r) {
55
+ const hh = it.area / thickness;
56
+ out.push({ datum: it.datum, value: it.value, rect: { x: area2.x, y: oy, w: thickness, h: hh } });
57
+ oy += hh;
58
+ }
59
+ return { x: area2.x + thickness, y: area2.y, w: area2.w - thickness, h: area2.h };
60
+ }
61
+ else {
62
+ let ox = area2.x;
63
+ for (const it of r) {
64
+ const w = it.area / thickness;
65
+ out.push({ datum: it.datum, value: it.value, rect: { x: ox, y: area2.y, w, h: thickness } });
66
+ ox += w;
67
+ }
68
+ return { x: area2.x, y: area2.y + thickness, w: area2.w, h: area2.h - thickness };
69
+ }
70
+ };
71
+ for (const it of items) {
72
+ const side = Math.min(free.w, free.h);
73
+ const next = [...row, it];
74
+ if (row.length === 0 || worst(next, side) <= worst(row, side)) {
75
+ row = next;
76
+ }
77
+ else {
78
+ free = layoutRow(row, side, free);
79
+ row = [it];
80
+ }
81
+ }
82
+ if (row.length > 0) {
83
+ free = layoutRow(row, Math.min(free.w, free.h), free);
84
+ }
85
+ return out;
86
+ }
87
+ function inset(r, pad) {
88
+ const w = Math.max(r.w - pad * 2, 0);
89
+ const h = Math.max(r.h - pad * 2, 0);
90
+ return { x: r.x + pad, y: r.y + pad, w, h };
91
+ }
92
+ const LABEL_MIN_W = 44;
93
+ const LABEL_MIN_H = 22;
94
+ const VALUE_MIN_H = 38;
95
+ export const TreemapChart = defineComponent({
96
+ name: "TreemapChart",
97
+ props: {
98
+ data: { type: Array, required: true },
99
+ tiling: { type: String, default: "squarified" },
100
+ showLabels: { type: Boolean, default: true },
101
+ legend: { type: Boolean, default: false },
102
+ width: { type: Number, default: 480 },
103
+ height: { type: Number, default: 300 },
104
+ label: { type: String, required: true },
105
+ class: { type: String, default: undefined },
106
+ },
107
+ setup(props, { attrs }) {
108
+ const hoveredIndex = ref(null);
109
+ function handleLeave() {
110
+ hoveredIndex.value = null;
111
+ }
112
+ function handleVisualPointerMove(event) {
113
+ const target = event.target;
114
+ if (!(target instanceof Element)) {
115
+ hoveredIndex.value = null;
116
+ return;
117
+ }
118
+ const index = Number(target.getAttribute("data-chart-index"));
119
+ hoveredIndex.value = Number.isInteger(index) ? index : null;
120
+ }
121
+ return () => {
122
+ const data = props.data;
123
+ const showLabels = props.showLabels ?? true;
124
+ const legend = props.legend ?? false;
125
+ const width = props.width ?? 480;
126
+ const height = props.height ?? 300;
127
+ const label = props.label;
128
+ let cells = [];
129
+ if (data && data.length !== 0) {
130
+ // Squarify produit de meilleurs ratios d'aspect quand l'entrée est triée
131
+ // par valeur décroissante (voir Bruls, Huizing, van Wijk 2000).
132
+ const roots = data
133
+ .map((d, i) => ({ datum: d, value: sumValue(d), tone: d.tone ?? TONES[i % TONES.length] }))
134
+ .filter((n) => n.value > 0)
135
+ .sort((a, b) => b.value - a.value);
136
+ if (roots.length !== 0) {
137
+ const topRects = squarify(roots.map((r) => ({ datum: r.datum, value: r.value })), { x: 0, y: 0, w: width, h: height });
138
+ const result = [];
139
+ topRects.forEach((tr) => {
140
+ const root = roots.find((r) => r.datum === tr.datum);
141
+ const children = (tr.datum.children ?? [])
142
+ .filter((c) => Math.max(c.value, 0) > 0)
143
+ .sort((a, b) => Math.max(b.value, 0) - Math.max(a.value, 0));
144
+ if (children.length > 0) {
145
+ const innerRect = inset(tr.rect, PADDING);
146
+ const childRects = squarify(children.map((c) => ({ datum: c, value: Math.max(c.value, 0) })), innerRect);
147
+ childRects.forEach((cr, ci) => {
148
+ const tone = cr.datum.tone ?? root.tone ?? TONES[ci % TONES.length];
149
+ result.push({
150
+ datum: cr.datum,
151
+ value: cr.value,
152
+ tone,
153
+ textColor: labelColorForTone(tone),
154
+ rect: inset(cr.rect, PADDING / 2),
155
+ parentLabel: tr.datum.label,
156
+ depth: 1,
157
+ });
158
+ });
159
+ }
160
+ else {
161
+ result.push({
162
+ datum: tr.datum,
163
+ value: tr.value,
164
+ tone: root.tone,
165
+ textColor: labelColorForTone(root.tone),
166
+ rect: inset(tr.rect, PADDING / 2),
167
+ depth: 0,
168
+ });
169
+ }
170
+ });
171
+ cells = result;
172
+ }
173
+ }
174
+ const legendItems = !data
175
+ ? []
176
+ : data
177
+ .map((d, i) => ({ label: d.label, tone: d.tone ?? TONES[i % TONES.length] }))
178
+ .filter((_, i) => sumValue(data[i]) > 0);
179
+ const dataValueItems = cells.map((c) => c.parentLabel ? `${c.parentLabel}, ${c.datum.label}: ${c.value}` : `${c.datum.label}: ${c.value}`);
180
+ const hoveredIdx = hoveredIndex.value;
181
+ // Préfixe d'id unique pour les clip-paths (évite les collisions entre instances).
182
+ const clipPrefix = `st-treemap-clip-${Math.random().toString(36).slice(2, 9)}`;
183
+ // <defs> contenant un clipPath par cellule.
184
+ const defsChildren = cells.map((cell, i) => h("clipPath", { key: `clip${i}`, id: `${clipPrefix}-${i}` }, [
185
+ h("rect", { x: cell.rect.x, y: cell.rect.y, width: cell.rect.w, height: cell.rect.h, rx: "2" }),
186
+ ]));
187
+ const cellNodes = [h("defs", {}, defsChildren)];
188
+ cells.forEach((cell, i) => {
189
+ const groupChildren = [
190
+ h("rect", {
191
+ class: classNames("st-treemapChart__rect", `st-treemapChart__rect--${cell.tone}`, hoveredIdx !== null && hoveredIdx !== i && "st-treemapChart__rect--dim"),
192
+ x: cell.rect.x,
193
+ y: cell.rect.y,
194
+ width: cell.rect.w,
195
+ height: cell.rect.h,
196
+ rx: "2",
197
+ "data-chart-index": i,
198
+ }),
199
+ ];
200
+ if (showLabels && cell.rect.w >= LABEL_MIN_W && cell.rect.h >= LABEL_MIN_H) {
201
+ const textGroup = [
202
+ h("text", { class: "st-treemapChart__label", x: cell.rect.x + 6, y: cell.rect.y + 15, "data-chart-index": i, style: `fill: ${cell.textColor}` }, cell.datum.label),
203
+ ];
204
+ if (cell.rect.h >= VALUE_MIN_H) {
205
+ textGroup.push(h("text", { class: "st-treemapChart__value", x: cell.rect.x + 6, y: cell.rect.y + 30, "data-chart-index": i, style: `fill: ${cell.textColor}` }, String(cell.value)));
206
+ }
207
+ groupChildren.push(h("g", { "clip-path": `url(#${clipPrefix}-${i})` }, textGroup));
208
+ }
209
+ cellNodes.push(h("g", {
210
+ key: cell.parentLabel ? `${cell.parentLabel}/${cell.datum.label}` : cell.datum.label,
211
+ class: "st-treemapChart__cell",
212
+ "data-chart-index": i,
213
+ }, groupChildren));
214
+ });
215
+ const children = [
216
+ h("div", {
217
+ class: "st-treemapChart__visual",
218
+ role: "img",
219
+ "aria-label": label,
220
+ onPointermove: handleVisualPointerMove,
221
+ onPointerleave: handleLeave,
222
+ }, [
223
+ h("svg", {
224
+ viewBox: `0 0 ${width} ${height}`,
225
+ preserveAspectRatio: "xMidYMid meet",
226
+ width: "100%",
227
+ height: "100%",
228
+ focusable: "false",
229
+ "aria-hidden": "true",
230
+ }, cellNodes),
231
+ ]),
232
+ chartDataList(label, dataValueItems),
233
+ ];
234
+ if (hoveredIdx !== null && cells[hoveredIdx]) {
235
+ const cell = cells[hoveredIdx];
236
+ children.push(h("div", {
237
+ class: "st-treemapChart__tooltip",
238
+ role: "presentation",
239
+ style: `left: ${((cell.rect.x + cell.rect.w / 2) / width) * 100}%; top: ${(cell.rect.y / height) * 100}%`,
240
+ }, [
241
+ h("span", { class: "st-treemapChart__tooltipLabel" }, cell.parentLabel ? `${cell.parentLabel} · ${cell.datum.label}` : cell.datum.label),
242
+ h("span", { class: "st-treemapChart__tooltipValue" }, String(cell.value)),
243
+ ]));
244
+ }
245
+ if (legend && legendItems.length > 0) {
246
+ children.push(h("ul", { class: "st-treemapChart__legend", "aria-hidden": "true" }, legendItems.map((item) => h("li", { key: item.label, class: "st-treemapChart__legendItem" }, [
247
+ h("span", { class: `st-treemapChart__legendSwatch st-treemapChart__legendSwatch--${item.tone}`, "aria-hidden": "true" }),
248
+ ` ${item.label}`,
249
+ ]))));
250
+ }
251
+ return h("div", { ...attrs, class: classNames("st-treemapChart", props.class) }, children);
252
+ };
253
+ },
254
+ });
255
+ //# sourceMappingURL=TreemapChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreemapChart.js","sourceRoot":"","sources":["../src/TreemapChart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ export type WaterfallType = "increase" | "decrease" | "total";
2
+ export type WaterfallChartDatum = {
3
+ label: string;
4
+ value: number;
5
+ type?: WaterfallType;
6
+ };
7
+ export type WaterfallChartProps = {
8
+ data: WaterfallChartDatum[];
9
+ width?: number;
10
+ height?: number;
11
+ connectors?: boolean;
12
+ format?: (value: number) => string;
13
+ label: string;
14
+ class?: string;
15
+ };
16
+ export declare const WaterfallChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
17
+ data: {
18
+ type: () => WaterfallChartDatum[];
19
+ default: () => never[];
20
+ };
21
+ width: {
22
+ type: NumberConstructor;
23
+ default: number;
24
+ };
25
+ height: {
26
+ type: NumberConstructor;
27
+ default: number;
28
+ };
29
+ connectors: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ format: {
34
+ type: () => (value: number) => string;
35
+ default: undefined;
36
+ };
37
+ label: {
38
+ type: StringConstructor;
39
+ required: true;
40
+ };
41
+ class: {
42
+ type: StringConstructor;
43
+ default: undefined;
44
+ };
45
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
+ data: {
49
+ type: () => WaterfallChartDatum[];
50
+ default: () => never[];
51
+ };
52
+ width: {
53
+ type: NumberConstructor;
54
+ default: number;
55
+ };
56
+ height: {
57
+ type: NumberConstructor;
58
+ default: number;
59
+ };
60
+ connectors: {
61
+ type: BooleanConstructor;
62
+ default: boolean;
63
+ };
64
+ format: {
65
+ type: () => (value: number) => string;
66
+ default: undefined;
67
+ };
68
+ label: {
69
+ type: StringConstructor;
70
+ required: true;
71
+ };
72
+ class: {
73
+ type: StringConstructor;
74
+ default: undefined;
75
+ };
76
+ }>> & Readonly<{}>, {
77
+ class: string;
78
+ data: WaterfallChartDatum[];
79
+ width: number;
80
+ height: number;
81
+ format: (value: number) => string;
82
+ connectors: boolean;
83
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
84
+ //# sourceMappingURL=WaterfallChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaterfallChart.d.ts","sourceRoot":"","sources":["../src/WaterfallChart.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,eAAO,MAAM,cAAc;;cAGA,MAAM,mBAAmB,EAAE;;;;;;;;;;;;;;;;cAIX,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;cAJ/C,MAAM,mBAAmB,EAAE;;;;;;;;;;;;;;;;cAIX,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;oBAAjB,MAAM,KAAK,MAAM;;4EAgQxE,CAAC"}