@servicetitan/anvil2-ext-charts 0.1.5 → 0.2.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.
- package/CHANGELOG.md +17 -0
- package/dist/ThemeSemantic-CgWUtNzV.js +359 -0
- package/dist/ThemeSemantic-CgWUtNzV.js.map +1 -0
- package/dist/am5.js +1 -1
- package/dist/themes.js +1 -1
- package/package.json +10 -10
- package/dist/ThemeSemantic-CaFj4ckO.js +0 -13498
- package/dist/ThemeSemantic-CaFj4ckO.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @servicetitan/anvil2-ext-common
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1899](https://github.com/servicetitan/hammer/pull/1899) [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5) Thanks [@tounsoo](https://github.com/tounsoo)! - 3.0 Pre-release.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5), [`6ea319a`](https://github.com/servicetitan/hammer/commit/6ea319a282209312485756bfd37f1e2102f8c7e5)]:
|
|
12
|
+
- @servicetitan/hammer-token@3.0.0
|
|
13
|
+
|
|
14
|
+
## 0.1.6
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- [#2081](https://github.com/servicetitan/hammer/pull/2081) [`4cb0e5a`](https://github.com/servicetitan/hammer/commit/4cb0e5a9aa4ea300f9021b4b79d6a8885d751d61) Thanks [@rgdelato](https://github.com/rgdelato)! - [Charts] Bugfix for Monochrome stacked bar chart theme color order
|
|
19
|
+
|
|
3
20
|
## 0.1.5
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import { core } from '@servicetitan/hammer-token';
|
|
2
|
+
import * as am5 from '@amcharts/amcharts5';
|
|
3
|
+
import * as am5xy from '@amcharts/amcharts5/xy';
|
|
4
|
+
|
|
5
|
+
const initAmCharts = (secret) => {
|
|
6
|
+
am5.addLicense(`AM5CH2${parseInt(secret, secret.length ^ 30)}`);
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
initAmCharts("5C176KN48");
|
|
10
|
+
const createTheme = ({
|
|
11
|
+
fills: fillValues,
|
|
12
|
+
strokes: strokeValues,
|
|
13
|
+
fillPatterns: fillPatternTypes,
|
|
14
|
+
colorOrder
|
|
15
|
+
}) => {
|
|
16
|
+
class ThemeCustom extends am5.Theme {
|
|
17
|
+
constructor(root, isReal) {
|
|
18
|
+
super(root, isReal);
|
|
19
|
+
}
|
|
20
|
+
setupDefaultRules() {
|
|
21
|
+
super.setupDefaultRules();
|
|
22
|
+
const fills = fillValues.map((fill) => am5.color(fill));
|
|
23
|
+
const strokes = strokeValues.map(
|
|
24
|
+
(stroke, i2) => stroke == null || stroke === "transparent" ? am5.color(fillValues[i2]) : am5.color(stroke)
|
|
25
|
+
);
|
|
26
|
+
const fillPatterns = fillPatternTypes.map(
|
|
27
|
+
(fillPatternType, i2) => fillPatternType === "solid" ? void 0 : am5.LinePattern.new(this._root, {
|
|
28
|
+
rotation: -45,
|
|
29
|
+
color: am5.color(strokeValues[i2] ?? fillValues[i2]),
|
|
30
|
+
width: 99,
|
|
31
|
+
height: 99
|
|
32
|
+
})
|
|
33
|
+
);
|
|
34
|
+
this.rule("ColorSet").setAll({
|
|
35
|
+
colors: [...fills],
|
|
36
|
+
// this mutates the array if we don't clone it o.o
|
|
37
|
+
reuse: true
|
|
38
|
+
});
|
|
39
|
+
const tempEl = document.createElement("div");
|
|
40
|
+
tempEl.style.color = "var(--foreground-color, #141414)";
|
|
41
|
+
this._root.dom.appendChild(tempEl);
|
|
42
|
+
const computedColor = getComputedStyle(tempEl).color;
|
|
43
|
+
tempEl.remove();
|
|
44
|
+
const rgbMatch = computedColor.match(/\d+/g);
|
|
45
|
+
const foregroundColor = rgbMatch && rgbMatch.length >= 3 ? "#" + rgbMatch.slice(0, 3).map((n) => parseInt(n).toString(16).padStart(2, "0")).join("") : "#141414";
|
|
46
|
+
this.rule("Label").setAll({
|
|
47
|
+
fontFamily: "Nunito Sans",
|
|
48
|
+
fill: am5.color(foregroundColor)
|
|
49
|
+
});
|
|
50
|
+
this.rule("Grid").setAll({
|
|
51
|
+
stroke: am5.color(foregroundColor),
|
|
52
|
+
strokeOpacity: 0.15
|
|
53
|
+
});
|
|
54
|
+
this.rule("Legend").setAll({
|
|
55
|
+
clickTarget: "none"
|
|
56
|
+
});
|
|
57
|
+
const createTooltip = () => {
|
|
58
|
+
const tooltip = am5.Tooltip.new(this._root, {
|
|
59
|
+
getFillFromSprite: false,
|
|
60
|
+
autoTextColor: false
|
|
61
|
+
});
|
|
62
|
+
tooltip.get("background")?.setAll({
|
|
63
|
+
fill: am5.color("#141414"),
|
|
64
|
+
fillOpacity: 1,
|
|
65
|
+
strokeOpacity: 0
|
|
66
|
+
});
|
|
67
|
+
tooltip.label.setAll({
|
|
68
|
+
fill: am5.color("#FFFFFF"),
|
|
69
|
+
fontWeight: "600"
|
|
70
|
+
});
|
|
71
|
+
return tooltip;
|
|
72
|
+
};
|
|
73
|
+
this.rule("PieChart").setup = (target) => {
|
|
74
|
+
target.set("tooltip", createTooltip());
|
|
75
|
+
};
|
|
76
|
+
this.rule("PieSeries").setup = (target) => {
|
|
77
|
+
target.set("alignLabels", false);
|
|
78
|
+
target.ticks.template.set("visible", false);
|
|
79
|
+
};
|
|
80
|
+
this.rule("RadialLabel", ["pie", "series"]).setup = (target) => {
|
|
81
|
+
target.set("fill", am5.color("#141414"));
|
|
82
|
+
target.set("fontWeight", "600");
|
|
83
|
+
target.set("baseRadius", am5.percent(65));
|
|
84
|
+
target.set("x", am5.p50);
|
|
85
|
+
target.set("centerX", am5.p50);
|
|
86
|
+
target.set("y", am5.p50);
|
|
87
|
+
target.set("centerY", am5.p50);
|
|
88
|
+
target.set("inside", true);
|
|
89
|
+
target.set(
|
|
90
|
+
"background",
|
|
91
|
+
am5.RoundedRectangle.new(this._root, {
|
|
92
|
+
fill: am5.color("#FFFFFF"),
|
|
93
|
+
fillOpacity: 0.8,
|
|
94
|
+
cornerRadiusTL: 100,
|
|
95
|
+
cornerRadiusTR: 100,
|
|
96
|
+
cornerRadiusBL: 100,
|
|
97
|
+
cornerRadiusBR: 100
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
let i = 0;
|
|
102
|
+
this.rule("Slice").setup = (target) => {
|
|
103
|
+
target.set("shiftRadius", 4);
|
|
104
|
+
target.set("stroke", strokes[i] ?? fills[i]);
|
|
105
|
+
target.set("fillPattern", fillPatterns[i]);
|
|
106
|
+
target.set("cursorOverStyle", "pointer");
|
|
107
|
+
i += 1;
|
|
108
|
+
if (i == fills.length) i = 0;
|
|
109
|
+
};
|
|
110
|
+
this.rule("Slice").events.on("pointerover", ({ target: slice }) => {
|
|
111
|
+
const parent = slice?.parent;
|
|
112
|
+
parent?.eachChildren((child) => {
|
|
113
|
+
if (child !== slice && child instanceof am5.Slice) {
|
|
114
|
+
child.set("opacity", 0.2);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
this.rule("Slice").events.on("pointerout", ({ target: slice }) => {
|
|
119
|
+
const parent = slice?.parent;
|
|
120
|
+
parent?.eachChildren((child) => {
|
|
121
|
+
if (child !== slice && child instanceof am5.Slice) {
|
|
122
|
+
child.set("opacity", 1);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
const getReorderedColorIndex = colorOrder ? (idx) => colorOrder[idx % colorOrder.length] : void 0;
|
|
127
|
+
const getSeriesReorderIndex = getReorderedColorIndex ? (target) => {
|
|
128
|
+
const chart = target.chart;
|
|
129
|
+
if (!chart) return void 0;
|
|
130
|
+
const allColumnSeries = chart.series.values.filter(
|
|
131
|
+
(s) => s instanceof am5xy.ColumnSeries
|
|
132
|
+
);
|
|
133
|
+
if (allColumnSeries.length < 4) return void 0;
|
|
134
|
+
const idx = allColumnSeries.indexOf(target);
|
|
135
|
+
return idx >= 0 ? getReorderedColorIndex(idx) : void 0;
|
|
136
|
+
} : void 0;
|
|
137
|
+
if (colorOrder && getReorderedColorIndex && getSeriesReorderIndex) {
|
|
138
|
+
const getSliceReorderIndex = (target) => {
|
|
139
|
+
const series = target.dataItem?.component;
|
|
140
|
+
if (!series || series.dataItems.length < 4) return void 0;
|
|
141
|
+
const idx = target.dataItem ? series.dataItems.indexOf(target.dataItem) : -1;
|
|
142
|
+
return idx >= 0 ? getReorderedColorIndex(idx) : void 0;
|
|
143
|
+
};
|
|
144
|
+
this.rule("Slice").adapters.add("fill", (fill, target) => {
|
|
145
|
+
const ci = getSliceReorderIndex(target);
|
|
146
|
+
return ci != null ? fills[ci] : fill;
|
|
147
|
+
});
|
|
148
|
+
this.rule("Slice").adapters.add("stroke", (stroke, target) => {
|
|
149
|
+
const ci = getSliceReorderIndex(target);
|
|
150
|
+
return ci != null ? strokes[ci] ?? fills[ci] : stroke;
|
|
151
|
+
});
|
|
152
|
+
this.rule("Slice").adapters.add("fillPattern", (pattern, target) => {
|
|
153
|
+
const ci = getSliceReorderIndex(target);
|
|
154
|
+
return ci != null ? fillPatterns[ci] : pattern;
|
|
155
|
+
});
|
|
156
|
+
this.rule("ColumnSeries").adapters.add("fill", (fill, target) => {
|
|
157
|
+
const ci = getSeriesReorderIndex(target);
|
|
158
|
+
return ci != null ? fills[ci] : fill;
|
|
159
|
+
});
|
|
160
|
+
this.rule("ColumnSeries").adapters.add("stroke", (stroke, target) => {
|
|
161
|
+
const ci = getSeriesReorderIndex(target);
|
|
162
|
+
return ci != null ? strokes[ci] ?? fills[ci] : stroke;
|
|
163
|
+
});
|
|
164
|
+
this.rule("ColumnSeries").adapters.add(
|
|
165
|
+
"fillPattern",
|
|
166
|
+
(pattern, target) => {
|
|
167
|
+
const ci = getSeriesReorderIndex(target);
|
|
168
|
+
return ci != null ? fillPatterns[ci] : pattern;
|
|
169
|
+
}
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
this.rule("AxisRendererX").setup = (target) => {
|
|
173
|
+
target.setAll({
|
|
174
|
+
stroke: am5.color(foregroundColor)
|
|
175
|
+
});
|
|
176
|
+
target.labels.template.setAll({
|
|
177
|
+
centerY: am5.p100,
|
|
178
|
+
centerX: am5.p50,
|
|
179
|
+
paddingTop: 16,
|
|
180
|
+
paddingBottom: 16
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
this.rule("AxisRendererY").setup = (target) => {
|
|
184
|
+
target.setAll({
|
|
185
|
+
stroke: am5.color(foregroundColor)
|
|
186
|
+
});
|
|
187
|
+
target.labels.template.setAll({
|
|
188
|
+
centerY: am5.p50,
|
|
189
|
+
centerX: am5.p100,
|
|
190
|
+
paddingLeft: 16,
|
|
191
|
+
paddingRight: 16
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
let j = 0;
|
|
195
|
+
this.rule("ColumnSeries").setup = (target) => {
|
|
196
|
+
target.set("fill", fills[j]);
|
|
197
|
+
target.set("stroke", strokes[j] ?? fills[j]);
|
|
198
|
+
target.set("fillPattern", fillPatterns[j]);
|
|
199
|
+
if (getSeriesReorderIndex) {
|
|
200
|
+
target.columns.template.adapters.add("fill", (fill) => {
|
|
201
|
+
const ci = getSeriesReorderIndex(target);
|
|
202
|
+
return ci != null ? fills[ci] : fill;
|
|
203
|
+
});
|
|
204
|
+
target.columns.template.adapters.add("stroke", (stroke) => {
|
|
205
|
+
const ci = getSeriesReorderIndex(target);
|
|
206
|
+
return ci != null ? strokes[ci] ?? fills[ci] : stroke;
|
|
207
|
+
});
|
|
208
|
+
target.columns.template.adapters.add("fillPattern", (pattern) => {
|
|
209
|
+
const ci = getSeriesReorderIndex(target);
|
|
210
|
+
return ci != null ? fillPatterns[ci] : pattern;
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
const isHorizontal = target.get("categoryYField") || target.get("valueXField");
|
|
214
|
+
if (isHorizontal) {
|
|
215
|
+
target.columns.template.setAll({
|
|
216
|
+
cursorOverStyle: "pointer",
|
|
217
|
+
maxHeight: 32,
|
|
218
|
+
cornerRadiusTR: 4,
|
|
219
|
+
cornerRadiusBR: 4
|
|
220
|
+
});
|
|
221
|
+
} else {
|
|
222
|
+
target.columns.template.setAll({
|
|
223
|
+
cursorOverStyle: "pointer",
|
|
224
|
+
maxWidth: 32,
|
|
225
|
+
cornerRadiusTL: 4,
|
|
226
|
+
cornerRadiusTR: 4
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
if (target.get("stacked")) {
|
|
230
|
+
const parent = target?.parent;
|
|
231
|
+
parent?.eachChildren((child) => {
|
|
232
|
+
if (target !== child && child instanceof am5xy.ColumnSeries) {
|
|
233
|
+
child.columns.template.setAll({
|
|
234
|
+
cornerRadiusTL: 0,
|
|
235
|
+
cornerRadiusTR: 0,
|
|
236
|
+
cornerRadiusBR: 0
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
if (j !== 0) {
|
|
241
|
+
let timeout;
|
|
242
|
+
target.columns.template.onPrivate("height", () => {
|
|
243
|
+
if (timeout) clearTimeout(timeout);
|
|
244
|
+
timeout = setTimeout(function() {
|
|
245
|
+
target.columns.each((column) => {
|
|
246
|
+
const height = column.getPrivate("height");
|
|
247
|
+
if (height && height >= 5) {
|
|
248
|
+
column.set("maxHeight", height - 4);
|
|
249
|
+
} else {
|
|
250
|
+
column.set("maxHeight", void 0);
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}, 50);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
target.set("tooltip", createTooltip());
|
|
258
|
+
target.columns.template.events.on(
|
|
259
|
+
"pointerover",
|
|
260
|
+
({ target: column }) => {
|
|
261
|
+
const series = column.dataItem?.component;
|
|
262
|
+
const chart = series?.chart;
|
|
263
|
+
if (!chart) return;
|
|
264
|
+
chart.series.each((s) => {
|
|
265
|
+
if (s instanceof am5xy.ColumnSeries) {
|
|
266
|
+
s.columns.each((col) => {
|
|
267
|
+
if (col !== column) {
|
|
268
|
+
col.set("opacity", 0.2);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
);
|
|
275
|
+
target.columns.template.events.on(
|
|
276
|
+
"pointerout",
|
|
277
|
+
({ target: column }) => {
|
|
278
|
+
const series = column.dataItem?.component;
|
|
279
|
+
const chart = series?.chart;
|
|
280
|
+
if (!chart) return;
|
|
281
|
+
chart.series.each((s) => {
|
|
282
|
+
if (s instanceof am5xy.ColumnSeries) {
|
|
283
|
+
s.columns.each((col) => {
|
|
284
|
+
if (col !== column) {
|
|
285
|
+
col.set("opacity", 1);
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
);
|
|
292
|
+
j += 1;
|
|
293
|
+
if (j == fills.length) j = 0;
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return ThemeCustom;
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
const allMonochromeChartTokens = Object.keys(core.semantic).filter(
|
|
301
|
+
(key) => key.indexOf("ChartMonochrome") !== -1
|
|
302
|
+
);
|
|
303
|
+
const colors$2 = allMonochromeChartTokens.filter((key) => key.indexOf("Color") !== -1).map((key) => core.semantic[key].value);
|
|
304
|
+
const strokes$2 = allMonochromeChartTokens.filter((key) => key.indexOf("StrokeColor") !== -1).map((key) => core.semantic[key].value);
|
|
305
|
+
const patterns$2 = allMonochromeChartTokens.filter((key) => key.indexOf("Pattern") !== -1).map((key) => core.semantic[key].value);
|
|
306
|
+
const ThemeMonochrome = createTheme({
|
|
307
|
+
fills: colors$2,
|
|
308
|
+
strokes: strokes$2,
|
|
309
|
+
fillPatterns: patterns$2,
|
|
310
|
+
colorOrder: [3, 0, 1, 2]
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
const allCategoricalChartTokens = Object.keys(core.semantic).filter(
|
|
314
|
+
(key) => key.indexOf("ChartCategorical") !== -1
|
|
315
|
+
);
|
|
316
|
+
const colors$1 = allCategoricalChartTokens.filter((key) => key.indexOf("Color") !== -1).map((key) => core.semantic[key].value);
|
|
317
|
+
const strokes$1 = allCategoricalChartTokens.filter((key) => key.indexOf("StrokeColor") !== -1).map((key) => core.semantic[key].value);
|
|
318
|
+
const patterns$1 = allCategoricalChartTokens.filter((key) => key.indexOf("Pattern") !== -1).map((key) => core.semantic[key].value);
|
|
319
|
+
const ThemeCategorical = createTheme({
|
|
320
|
+
fills: colors$1,
|
|
321
|
+
strokes: strokes$1,
|
|
322
|
+
fillPatterns: patterns$1
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
const allSemanticChartTokens = Object.keys(core.semantic).filter(
|
|
326
|
+
(key) => key.indexOf("ChartStatus") !== -1
|
|
327
|
+
);
|
|
328
|
+
allSemanticChartTokens.sort((a, b) => {
|
|
329
|
+
if (a.indexOf("Success") !== -1) {
|
|
330
|
+
return -1;
|
|
331
|
+
}
|
|
332
|
+
if (b.indexOf("Success") !== -1) {
|
|
333
|
+
return 1;
|
|
334
|
+
}
|
|
335
|
+
if (a.indexOf("Neutral") !== -1) {
|
|
336
|
+
return -1;
|
|
337
|
+
}
|
|
338
|
+
if (b.indexOf("Neutral") !== -1) {
|
|
339
|
+
return 1;
|
|
340
|
+
}
|
|
341
|
+
if (a.indexOf("Warning") !== -1) {
|
|
342
|
+
return -1;
|
|
343
|
+
}
|
|
344
|
+
if (b.indexOf("Warning") !== -1) {
|
|
345
|
+
return 1;
|
|
346
|
+
}
|
|
347
|
+
return 0;
|
|
348
|
+
});
|
|
349
|
+
const colors = allSemanticChartTokens.filter((key) => key.indexOf("Color") !== -1).map((key) => core.semantic[key].value);
|
|
350
|
+
const strokes = allSemanticChartTokens.filter((key) => key.indexOf("StrokeColor") !== -1).map((key) => core.semantic[key].value);
|
|
351
|
+
const patterns = allSemanticChartTokens.filter((key) => key.indexOf("Pattern") !== -1).map((key) => core.semantic[key].value);
|
|
352
|
+
const ThemeSemantic = createTheme({
|
|
353
|
+
fills: colors,
|
|
354
|
+
strokes,
|
|
355
|
+
fillPatterns: patterns
|
|
356
|
+
});
|
|
357
|
+
|
|
358
|
+
export { ThemeMonochrome as T, ThemeCategorical as a, ThemeSemantic as b };
|
|
359
|
+
//# sourceMappingURL=ThemeSemantic-CgWUtNzV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeSemantic-CgWUtNzV.js","sources":["../src/am5/themes/internal/initAmCharts.ts","../src/am5/themes/internal/createTheme.ts","../src/am5/themes/ThemeMonochrome.ts","../src/am5/themes/ThemeCategorical.ts","../src/am5/themes/ThemeSemantic.ts"],"sourcesContent":["import * as am5 from \"@amcharts/amcharts5\";\n\nexport const initAmCharts = (secret: string) => {\n am5.addLicense(`AM5CH2${parseInt(secret, secret.length ^ 0x1e)}`); // just not plain text (not secure)\n};\n","import * as am5 from \"@amcharts/amcharts5\";\nimport * as am5xy from \"@amcharts/amcharts5/xy\";\nimport { initAmCharts } from \"./initAmCharts\";\n\ninitAmCharts(\"5C176KN48\");\n\nexport const createTheme = ({\n fills: fillValues,\n strokes: strokeValues,\n fillPatterns: fillPatternTypes,\n colorOrder,\n}: {\n fills: string[];\n strokes: (string | undefined)[];\n fillPatterns: (string | undefined)[];\n colorOrder?: number[];\n}) => {\n class ThemeCustom extends am5.Theme {\n constructor(root: am5.Root, isReal: boolean) {\n super(root, isReal);\n }\n\n setupDefaultRules() {\n super.setupDefaultRules();\n\n const fills = fillValues.map((fill) => am5.color(fill));\n\n const strokes = strokeValues.map((stroke, i) =>\n stroke == null || stroke === \"transparent\"\n ? am5.color(fillValues[i])\n : am5.color(stroke),\n );\n\n const fillPatterns = fillPatternTypes.map((fillPatternType, i) =>\n fillPatternType === \"solid\"\n ? undefined\n : am5.LinePattern.new(this._root, {\n rotation: -45,\n color: am5.color(strokeValues[i] ?? fillValues[i]),\n width: 99,\n height: 99,\n }),\n );\n\n this.rule(\"ColorSet\").setAll({\n colors: [...fills], // this mutates the array if we don't clone it o.o\n reuse: true,\n });\n\n // Resolve foreground color from CSS custom property.\n // CSS vars may contain functions like light-dark() that am5.color() can't\n // parse directly, so we resolve through a temp element's computed style.\n const tempEl = document.createElement(\"div\");\n tempEl.style.color = \"var(--foreground-color, #141414)\";\n this._root.dom.appendChild(tempEl);\n const computedColor = getComputedStyle(tempEl).color;\n tempEl.remove();\n\n const rgbMatch = computedColor.match(/\\d+/g);\n const foregroundColor =\n rgbMatch && rgbMatch.length >= 3\n ? \"#\" +\n rgbMatch\n .slice(0, 3)\n .map((n) => parseInt(n).toString(16).padStart(2, \"0\"))\n .join(\"\")\n : \"#141414\";\n\n this.rule(\"Label\").setAll({\n fontFamily: \"Nunito Sans\",\n fill: am5.color(foregroundColor),\n });\n\n this.rule(\"Grid\").setAll({\n stroke: am5.color(foregroundColor),\n strokeOpacity: 0.15,\n });\n\n this.rule(\"Legend\").setAll({\n clickTarget: \"none\",\n });\n\n const createTooltip = () => {\n const tooltip = am5.Tooltip.new(this._root, {\n getFillFromSprite: false,\n autoTextColor: false,\n });\n\n tooltip.get(\"background\")?.setAll({\n fill: am5.color(\"#141414\"),\n fillOpacity: 1,\n strokeOpacity: 0,\n });\n\n tooltip.label.setAll({\n fill: am5.color(\"#FFFFFF\"),\n fontWeight: \"600\",\n });\n\n return tooltip;\n };\n\n /**\n * Pie charts\n */\n\n this.rule(\"PieChart\").setup = (target) => {\n target.set(\"tooltip\", createTooltip());\n };\n\n this.rule(\"PieSeries\").setup = (target) => {\n target.set(\"alignLabels\", false);\n target.ticks.template.set(\"visible\", false);\n };\n\n this.rule(\"RadialLabel\", [\"pie\", \"series\"]).setup = (target) => {\n target.set(\"fill\", am5.color(\"#141414\"));\n target.set(\"fontWeight\", \"600\");\n target.set(\"baseRadius\", am5.percent(65));\n target.set(\"x\", am5.p50);\n target.set(\"centerX\", am5.p50);\n target.set(\"y\", am5.p50);\n target.set(\"centerY\", am5.p50);\n target.set(\"inside\", true);\n target.set(\n \"background\",\n am5.RoundedRectangle.new(this._root, {\n fill: am5.color(\"#FFFFFF\"),\n fillOpacity: 0.8,\n cornerRadiusTL: 100,\n cornerRadiusTR: 100,\n cornerRadiusBL: 100,\n cornerRadiusBR: 100,\n }),\n );\n };\n\n let i = 0;\n this.rule(\"Slice\").setup = (target) => {\n target.set(\"shiftRadius\", 4);\n target.set(\"stroke\", strokes[i] ?? fills[i]);\n target.set(\"fillPattern\", fillPatterns[i]);\n target.set(\"cursorOverStyle\", \"pointer\");\n\n i += 1;\n if (i == fills.length) i = 0;\n };\n\n // pie slices should dim all other slices on hover\n this.rule(\"Slice\").events.on(\"pointerover\", ({ target: slice }) => {\n const parent = slice?.parent;\n parent?.eachChildren((child) => {\n if (child !== slice && child instanceof am5.Slice) {\n child.set(\"opacity\", 0.2);\n }\n });\n });\n\n this.rule(\"Slice\").events.on(\"pointerout\", ({ target: slice }) => {\n const parent = slice?.parent;\n parent?.eachChildren((child) => {\n if (child !== slice && child instanceof am5.Slice) {\n child.set(\"opacity\", 1);\n }\n });\n });\n\n /**\n * Reorder colors when 4 or more categories are used.\n * Uses adapters instead of events to avoid timing issues with\n * datavalidated firing before slices/columns exist.\n * For indices beyond the colorOrder length, cycles through the order.\n */\n\n const getReorderedColorIndex = colorOrder\n ? (idx: number): number => colorOrder[idx % colorOrder.length]\n : undefined;\n\n const getSeriesReorderIndex = getReorderedColorIndex\n ? (target: am5xy.ColumnSeries): number | undefined => {\n const chart = target.chart;\n if (!chart) return undefined;\n const allColumnSeries = chart.series.values.filter(\n (s) => s instanceof am5xy.ColumnSeries,\n );\n if (allColumnSeries.length < 4) return undefined;\n const idx = allColumnSeries.indexOf(target);\n return idx >= 0 ? getReorderedColorIndex(idx) : undefined;\n }\n : undefined;\n\n if (colorOrder && getReorderedColorIndex && getSeriesReorderIndex) {\n const getSliceReorderIndex = (\n target: am5.Sprite,\n ): number | undefined => {\n const series = target.dataItem?.component;\n if (!series || series.dataItems.length < 4) return undefined;\n const idx = target.dataItem\n ? series.dataItems.indexOf(target.dataItem)\n : -1;\n return idx >= 0 ? getReorderedColorIndex(idx) : undefined;\n };\n\n this.rule(\"Slice\").adapters.add(\"fill\", (fill, target) => {\n const ci = getSliceReorderIndex(target);\n return ci != null ? fills[ci] : fill;\n });\n\n this.rule(\"Slice\").adapters.add(\"stroke\", (stroke, target) => {\n const ci = getSliceReorderIndex(target);\n return ci != null ? (strokes[ci] ?? fills[ci]) : stroke;\n });\n\n this.rule(\"Slice\").adapters.add(\"fillPattern\", (pattern, target) => {\n const ci = getSliceReorderIndex(target);\n return ci != null ? fillPatterns[ci] : pattern;\n });\n\n this.rule(\"ColumnSeries\").adapters.add(\"fill\", (fill, target) => {\n const ci = getSeriesReorderIndex(target);\n return ci != null ? fills[ci] : fill;\n });\n\n this.rule(\"ColumnSeries\").adapters.add(\"stroke\", (stroke, target) => {\n const ci = getSeriesReorderIndex(target);\n return ci != null ? (strokes[ci] ?? fills[ci]) : stroke;\n });\n\n this.rule(\"ColumnSeries\").adapters.add(\n \"fillPattern\",\n (pattern, target) => {\n const ci = getSeriesReorderIndex(target);\n return ci != null ? fillPatterns[ci] : pattern;\n },\n );\n }\n\n /**\n * Bar charts\n */\n\n this.rule(\"AxisRendererX\").setup = (target) => {\n target.setAll({\n stroke: am5.color(foregroundColor),\n });\n target.labels.template.setAll({\n centerY: am5.p100,\n centerX: am5.p50,\n paddingTop: 16,\n paddingBottom: 16,\n });\n };\n\n this.rule(\"AxisRendererY\").setup = (target) => {\n target.setAll({\n stroke: am5.color(foregroundColor),\n });\n target.labels.template.setAll({\n centerY: am5.p50,\n centerX: am5.p100,\n paddingLeft: 16,\n paddingRight: 16,\n });\n };\n\n let j = 0;\n this.rule(\"ColumnSeries\").setup = (target) => {\n target.set(\"fill\", fills[j]);\n target.set(\"stroke\", strokes[j] ?? fills[j]);\n target.set(\"fillPattern\", fillPatterns[j]);\n\n if (getSeriesReorderIndex) {\n target.columns.template.adapters.add(\"fill\", (fill) => {\n const ci = getSeriesReorderIndex(target);\n return ci != null ? fills[ci] : fill;\n });\n target.columns.template.adapters.add(\"stroke\", (stroke) => {\n const ci = getSeriesReorderIndex(target);\n return ci != null ? (strokes[ci] ?? fills[ci]) : stroke;\n });\n target.columns.template.adapters.add(\"fillPattern\", (pattern) => {\n const ci = getSeriesReorderIndex(target);\n return ci != null ? fillPatterns[ci] : pattern;\n });\n }\n\n const isHorizontal =\n target.get(\"categoryYField\") || target.get(\"valueXField\");\n\n if (isHorizontal) {\n target.columns.template.setAll({\n cursorOverStyle: \"pointer\",\n maxHeight: 32,\n cornerRadiusTR: 4,\n cornerRadiusBR: 4,\n });\n } else {\n target.columns.template.setAll({\n cursorOverStyle: \"pointer\",\n maxWidth: 32,\n cornerRadiusTL: 4,\n cornerRadiusTR: 4,\n });\n }\n\n if (target.get(\"stacked\")) {\n // Only round the corners of the last series when stacked\n const parent = target?.parent;\n parent?.eachChildren((child) => {\n if (target !== child && child instanceof am5xy.ColumnSeries) {\n child.columns.template.setAll({\n cornerRadiusTL: 0,\n cornerRadiusTR: 0,\n cornerRadiusBR: 0,\n });\n }\n });\n\n // TODO: Figure out a better way to add space between the stacked bars\n if (j !== 0) {\n let timeout: ReturnType<typeof setTimeout>;\n target.columns.template.onPrivate(\"height\", () => {\n if (timeout) clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n target.columns.each((column) => {\n const height = column.getPrivate(\"height\");\n if (height && height >= 5) {\n column.set(\"maxHeight\", height - 4);\n } else {\n column.set(\"maxHeight\", undefined);\n }\n });\n }, 50);\n });\n }\n }\n\n target.set(\"tooltip\", createTooltip());\n\n // bar columns should dim all other columns across all series on hover\n target.columns.template.events.on(\n \"pointerover\",\n ({ target: column }) => {\n const series = column.dataItem?.component as\n | am5xy.ColumnSeries\n | undefined;\n const chart = series?.chart;\n if (!chart) return;\n\n chart.series.each((s) => {\n if (s instanceof am5xy.ColumnSeries) {\n s.columns.each((col) => {\n if (col !== column) {\n col.set(\"opacity\", 0.2);\n }\n });\n }\n });\n },\n );\n\n target.columns.template.events.on(\n \"pointerout\",\n ({ target: column }) => {\n const series = column.dataItem?.component as\n | am5xy.ColumnSeries\n | undefined;\n const chart = series?.chart;\n if (!chart) return;\n\n chart.series.each((s) => {\n if (s instanceof am5xy.ColumnSeries) {\n s.columns.each((col) => {\n if (col !== column) {\n col.set(\"opacity\", 1);\n }\n });\n }\n });\n },\n );\n\n j += 1;\n if (j == fills.length) j = 0;\n };\n }\n }\n\n return ThemeCustom as typeof am5.Theme;\n};\n","import { core } from \"@servicetitan/hammer-token\";\nimport { createTheme } from \"./internal/createTheme\";\n\nconst allMonochromeChartTokens = Object.keys(core.semantic).filter(\n (key) => key.indexOf(\"ChartMonochrome\") !== -1,\n) as (keyof typeof core.semantic)[];\n\nconst colors = allMonochromeChartTokens\n .filter((key) => key.indexOf(\"Color\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst strokes = allMonochromeChartTokens\n .filter((key) => key.indexOf(\"StrokeColor\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst patterns = allMonochromeChartTokens\n .filter((key) => key.indexOf(\"Pattern\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst ThemeMonochrome = createTheme({\n fills: colors,\n strokes,\n fillPatterns: patterns,\n colorOrder: [3, 0, 1, 2],\n});\n\nexport { ThemeMonochrome };\n","import { core } from \"@servicetitan/hammer-token\";\nimport { createTheme } from \"./internal/createTheme\";\n\nconst allCategoricalChartTokens = Object.keys(core.semantic).filter(\n (key) => key.indexOf(\"ChartCategorical\") !== -1,\n) as (keyof typeof core.semantic)[];\n\nconst colors = allCategoricalChartTokens\n .filter((key) => key.indexOf(\"Color\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst strokes = allCategoricalChartTokens\n .filter((key) => key.indexOf(\"StrokeColor\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst patterns = allCategoricalChartTokens\n .filter((key) => key.indexOf(\"Pattern\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst ThemeCategorical = createTheme({\n fills: colors,\n strokes,\n fillPatterns: patterns,\n});\n\nexport { ThemeCategorical };\n","import { core } from \"@servicetitan/hammer-token\";\nimport { createTheme } from \"./internal/createTheme\";\n\nconst allSemanticChartTokens = Object.keys(core.semantic).filter(\n (key) => key.indexOf(\"ChartStatus\") !== -1,\n) as (keyof typeof core.semantic)[];\n\n// \"d\" is alphabetically first which was causing \"danger\" to be first in order\n// instead of last\nallSemanticChartTokens.sort((a, b) => {\n if (a.indexOf(\"Success\") !== -1) {\n return -1;\n }\n if (b.indexOf(\"Success\") !== -1) {\n return 1;\n }\n if (a.indexOf(\"Neutral\") !== -1) {\n return -1;\n }\n if (b.indexOf(\"Neutral\") !== -1) {\n return 1;\n }\n if (a.indexOf(\"Warning\") !== -1) {\n return -1;\n }\n if (b.indexOf(\"Warning\") !== -1) {\n return 1;\n }\n return 0;\n});\n\nconst colors = allSemanticChartTokens\n .filter((key) => key.indexOf(\"Color\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst strokes = allSemanticChartTokens\n .filter((key) => key.indexOf(\"StrokeColor\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst patterns = allSemanticChartTokens\n .filter((key) => key.indexOf(\"Pattern\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst ThemeSemantic = createTheme({\n fills: colors,\n strokes,\n fillPatterns: patterns,\n});\n\nexport { ThemeSemantic };\n"],"names":["i","colors","strokes","patterns"],"mappings":";;;;AAEO,MAAM,YAAA,GAAe,CAAC,MAAA,KAAmB;AAC9C,EAAA,GAAA,CAAI,UAAA,CAAW,SAAS,QAAA,CAAS,MAAA,EAAQ,OAAO,MAAA,GAAS,EAAI,CAAC,CAAA,CAAE,CAAA;AAClE,CAAA;;ACAA,YAAA,CAAa,WAAW,CAAA;AAEjB,MAAM,cAAc,CAAC;AAAA,EAC1B,KAAA,EAAO,UAAA;AAAA,EACP,OAAA,EAAS,YAAA;AAAA,EACT,YAAA,EAAc,gBAAA;AAAA,EACd;AACF,CAAA,KAKM;AAAA,EACJ,MAAM,WAAA,SAAoB,GAAA,CAAI,KAAA,CAAM;AAAA,IAClC,WAAA,CAAY,MAAgB,MAAA,EAAiB;AAC3C,MAAA,KAAA,CAAM,MAAM,MAAM,CAAA;AAAA,IACpB;AAAA,IAEA,iBAAA,GAAoB;AAClB,MAAA,KAAA,CAAM,iBAAA,EAAkB;AAExB,MAAA,MAAM,KAAA,GAAQ,WAAW,GAAA,CAAI,CAAC,SAAS,GAAA,CAAI,KAAA,CAAM,IAAI,CAAC,CAAA;AAEtD,MAAA,MAAM,UAAU,YAAA,CAAa,GAAA;AAAA,QAAI,CAAC,MAAA,EAAQA,EAAAA,KACxC,MAAA,IAAU,QAAQ,MAAA,KAAW,aAAA,GACzB,GAAA,CAAI,KAAA,CAAM,WAAWA,EAAC,CAAC,CAAA,GACvB,GAAA,CAAI,MAAM,MAAM;AAAA,OACtB;AAEA,MAAA,MAAM,eAAe,gBAAA,CAAiB,GAAA;AAAA,QAAI,CAAC,eAAA,EAAiBA,EAAAA,KAC1D,eAAA,KAAoB,OAAA,GAChB,SACA,GAAA,CAAI,WAAA,CAAY,GAAA,CAAI,IAAA,CAAK,KAAA,EAAO;AAAA,UAC9B,QAAA,EAAU,GAAA;AAAA,UACV,KAAA,EAAO,IAAI,KAAA,CAAM,YAAA,CAAaA,EAAC,CAAA,IAAK,UAAA,CAAWA,EAAC,CAAC,CAAA;AAAA,UACjD,KAAA,EAAO,EAAA;AAAA,UACP,MAAA,EAAQ;AAAA,SACT;AAAA,OACP;AAEA,MAAA,IAAA,CAAK,IAAA,CAAK,UAAU,CAAA,CAAE,MAAA,CAAO;AAAA,QAC3B,MAAA,EAAQ,CAAC,GAAG,KAAK,CAAA;AAAA;AAAA,QACjB,KAAA,EAAO;AAAA,OACR,CAAA;AAKD,MAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,KAAK,CAAA;AAC3C,MAAA,MAAA,CAAO,MAAM,KAAA,GAAQ,kCAAA;AACrB,MAAA,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,WAAA,CAAY,MAAM,CAAA;AACjC,MAAA,MAAM,aAAA,GAAgB,gBAAA,CAAiB,MAAM,CAAA,CAAE,KAAA;AAC/C,MAAA,MAAA,CAAO,MAAA,EAAO;AAEd,MAAA,MAAM,QAAA,GAAW,aAAA,CAAc,KAAA,CAAM,MAAM,CAAA;AAC3C,MAAA,MAAM,eAAA,GACJ,QAAA,IAAY,QAAA,CAAS,MAAA,IAAU,CAAA,GAC3B,GAAA,GACA,QAAA,CACG,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,CACV,GAAA,CAAI,CAAC,CAAA,KAAM,QAAA,CAAS,CAAC,CAAA,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA,CACpD,IAAA,CAAK,EAAE,CAAA,GACV,SAAA;AAEN,MAAA,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,CAAO;AAAA,QACxB,UAAA,EAAY,aAAA;AAAA,QACZ,IAAA,EAAM,GAAA,CAAI,KAAA,CAAM,eAAe;AAAA,OAChC,CAAA;AAED,MAAA,IAAA,CAAK,IAAA,CAAK,MAAM,CAAA,CAAE,MAAA,CAAO;AAAA,QACvB,MAAA,EAAQ,GAAA,CAAI,KAAA,CAAM,eAAe,CAAA;AAAA,QACjC,aAAA,EAAe;AAAA,OAChB,CAAA;AAED,MAAA,IAAA,CAAK,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA,CAAO;AAAA,QACzB,WAAA,EAAa;AAAA,OACd,CAAA;AAED,MAAA,MAAM,gBAAgB,MAAM;AAC1B,QAAA,MAAM,OAAA,GAAU,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,KAAK,KAAA,EAAO;AAAA,UAC1C,iBAAA,EAAmB,KAAA;AAAA,UACnB,aAAA,EAAe;AAAA,SAChB,CAAA;AAED,QAAA,OAAA,CAAQ,GAAA,CAAI,YAAY,CAAA,EAAG,MAAA,CAAO;AAAA,UAChC,IAAA,EAAM,GAAA,CAAI,KAAA,CAAM,SAAS,CAAA;AAAA,UACzB,WAAA,EAAa,CAAA;AAAA,UACb,aAAA,EAAe;AAAA,SAChB,CAAA;AAED,QAAA,OAAA,CAAQ,MAAM,MAAA,CAAO;AAAA,UACnB,IAAA,EAAM,GAAA,CAAI,KAAA,CAAM,SAAS,CAAA;AAAA,UACzB,UAAA,EAAY;AAAA,SACb,CAAA;AAED,QAAA,OAAO,OAAA;AAAA,MACT,CAAA;AAMA,MAAA,IAAA,CAAK,IAAA,CAAK,UAAU,CAAA,CAAE,KAAA,GAAQ,CAAC,MAAA,KAAW;AACxC,QAAA,MAAA,CAAO,GAAA,CAAI,SAAA,EAAW,aAAA,EAAe,CAAA;AAAA,MACvC,CAAA;AAEA,MAAA,IAAA,CAAK,IAAA,CAAK,WAAW,CAAA,CAAE,KAAA,GAAQ,CAAC,MAAA,KAAW;AACzC,QAAA,MAAA,CAAO,GAAA,CAAI,eAAe,KAAK,CAAA;AAC/B,QAAA,MAAA,CAAO,KAAA,CAAM,QAAA,CAAS,GAAA,CAAI,SAAA,EAAW,KAAK,CAAA;AAAA,MAC5C,CAAA;AAEA,MAAA,IAAA,CAAK,IAAA,CAAK,eAAe,CAAC,KAAA,EAAO,QAAQ,CAAC,CAAA,CAAE,KAAA,GAAQ,CAAC,MAAA,KAAW;AAC9D,QAAA,MAAA,CAAO,GAAA,CAAI,MAAA,EAAQ,GAAA,CAAI,KAAA,CAAM,SAAS,CAAC,CAAA;AACvC,QAAA,MAAA,CAAO,GAAA,CAAI,cAAc,KAAK,CAAA;AAC9B,QAAA,MAAA,CAAO,GAAA,CAAI,YAAA,EAAc,GAAA,CAAI,OAAA,CAAQ,EAAE,CAAC,CAAA;AACxC,QAAA,MAAA,CAAO,GAAA,CAAI,GAAA,EAAK,GAAA,CAAI,GAAG,CAAA;AACvB,QAAA,MAAA,CAAO,GAAA,CAAI,SAAA,EAAW,GAAA,CAAI,GAAG,CAAA;AAC7B,QAAA,MAAA,CAAO,GAAA,CAAI,GAAA,EAAK,GAAA,CAAI,GAAG,CAAA;AACvB,QAAA,MAAA,CAAO,GAAA,CAAI,SAAA,EAAW,GAAA,CAAI,GAAG,CAAA;AAC7B,QAAA,MAAA,CAAO,GAAA,CAAI,UAAU,IAAI,CAAA;AACzB,QAAA,MAAA,CAAO,GAAA;AAAA,UACL,YAAA;AAAA,UACA,GAAA,CAAI,gBAAA,CAAiB,GAAA,CAAI,IAAA,CAAK,KAAA,EAAO;AAAA,YACnC,IAAA,EAAM,GAAA,CAAI,KAAA,CAAM,SAAS,CAAA;AAAA,YACzB,WAAA,EAAa,GAAA;AAAA,YACb,cAAA,EAAgB,GAAA;AAAA,YAChB,cAAA,EAAgB,GAAA;AAAA,YAChB,cAAA,EAAgB,GAAA;AAAA,YAChB,cAAA,EAAgB;AAAA,WACjB;AAAA,SACH;AAAA,MACF,CAAA;AAEA,MAAA,IAAI,CAAA,GAAI,CAAA;AACR,MAAA,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,CAAE,KAAA,GAAQ,CAAC,MAAA,KAAW;AACrC,QAAA,MAAA,CAAO,GAAA,CAAI,eAAe,CAAC,CAAA;AAC3B,QAAA,MAAA,CAAO,IAAI,QAAA,EAAU,OAAA,CAAQ,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,CAAC,CAAA;AAC3C,QAAA,MAAA,CAAO,GAAA,CAAI,aAAA,EAAe,YAAA,CAAa,CAAC,CAAC,CAAA;AACzC,QAAA,MAAA,CAAO,GAAA,CAAI,mBAAmB,SAAS,CAAA;AAEvC,QAAA,CAAA,IAAK,CAAA;AACL,QAAA,IAAI,CAAA,IAAK,KAAA,CAAM,MAAA,EAAQ,CAAA,GAAI,CAAA;AAAA,MAC7B,CAAA;AAGA,MAAA,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,CAAO,EAAA,CAAG,eAAe,CAAC,EAAE,MAAA,EAAQ,KAAA,EAAM,KAAM;AACjE,QAAA,MAAM,SAAS,KAAA,EAAO,MAAA;AACtB,QAAA,MAAA,EAAQ,YAAA,CAAa,CAAC,KAAA,KAAU;AAC9B,UAAA,IAAI,KAAA,KAAU,KAAA,IAAS,KAAA,YAAiB,GAAA,CAAI,KAAA,EAAO;AACjD,YAAA,KAAA,CAAM,GAAA,CAAI,WAAW,GAAG,CAAA;AAAA,UAC1B;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AAED,MAAA,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,CAAO,EAAA,CAAG,cAAc,CAAC,EAAE,MAAA,EAAQ,KAAA,EAAM,KAAM;AAChE,QAAA,MAAM,SAAS,KAAA,EAAO,MAAA;AACtB,QAAA,MAAA,EAAQ,YAAA,CAAa,CAAC,KAAA,KAAU;AAC9B,UAAA,IAAI,KAAA,KAAU,KAAA,IAAS,KAAA,YAAiB,GAAA,CAAI,KAAA,EAAO;AACjD,YAAA,KAAA,CAAM,GAAA,CAAI,WAAW,CAAC,CAAA;AAAA,UACxB;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AASD,MAAA,MAAM,sBAAA,GAAyB,aAC3B,CAAC,GAAA,KAAwB,WAAW,GAAA,GAAM,UAAA,CAAW,MAAM,CAAA,GAC3D,MAAA;AAEJ,MAAA,MAAM,qBAAA,GAAwB,sBAAA,GAC1B,CAAC,MAAA,KAAmD;AAClD,QAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,QAAA,IAAI,CAAC,OAAO,OAAO,MAAA;AACnB,QAAA,MAAM,eAAA,GAAkB,KAAA,CAAM,MAAA,CAAO,MAAA,CAAO,MAAA;AAAA,UAC1C,CAAC,CAAA,KAAM,CAAA,YAAa,KAAA,CAAM;AAAA,SAC5B;AACA,QAAA,IAAI,eAAA,CAAgB,MAAA,GAAS,CAAA,EAAG,OAAO,MAAA;AACvC,QAAA,MAAM,GAAA,GAAM,eAAA,CAAgB,OAAA,CAAQ,MAAM,CAAA;AAC1C,QAAA,OAAO,GAAA,IAAO,CAAA,GAAI,sBAAA,CAAuB,GAAG,CAAA,GAAI,MAAA;AAAA,MAClD,CAAA,GACA,MAAA;AAEJ,MAAA,IAAI,UAAA,IAAc,0BAA0B,qBAAA,EAAuB;AACjE,QAAA,MAAM,oBAAA,GAAuB,CAC3B,MAAA,KACuB;AACvB,UAAA,MAAM,MAAA,GAAS,OAAO,QAAA,EAAU,SAAA;AAChC,UAAA,IAAI,CAAC,MAAA,IAAU,MAAA,CAAO,SAAA,CAAU,MAAA,GAAS,GAAG,OAAO,MAAA;AACnD,UAAA,MAAM,GAAA,GAAM,OAAO,QAAA,GACf,MAAA,CAAO,UAAU,OAAA,CAAQ,MAAA,CAAO,QAAQ,CAAA,GACxC,EAAA;AACJ,UAAA,OAAO,GAAA,IAAO,CAAA,GAAI,sBAAA,CAAuB,GAAG,CAAA,GAAI,MAAA;AAAA,QAClD,CAAA;AAEA,QAAA,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,CAAE,QAAA,CAAS,IAAI,MAAA,EAAQ,CAAC,MAAM,MAAA,KAAW;AACxD,UAAA,MAAM,EAAA,GAAK,qBAAqB,MAAM,CAAA;AACtC,UAAA,OAAO,EAAA,IAAM,IAAA,GAAO,KAAA,CAAM,EAAE,CAAA,GAAI,IAAA;AAAA,QAClC,CAAC,CAAA;AAED,QAAA,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,CAAE,QAAA,CAAS,IAAI,QAAA,EAAU,CAAC,QAAQ,MAAA,KAAW;AAC5D,UAAA,MAAM,EAAA,GAAK,qBAAqB,MAAM,CAAA;AACtC,UAAA,OAAO,MAAM,IAAA,GAAQ,OAAA,CAAQ,EAAE,CAAA,IAAK,KAAA,CAAM,EAAE,CAAA,GAAK,MAAA;AAAA,QACnD,CAAC,CAAA;AAED,QAAA,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,CAAE,QAAA,CAAS,IAAI,aAAA,EAAe,CAAC,SAAS,MAAA,KAAW;AAClE,UAAA,MAAM,EAAA,GAAK,qBAAqB,MAAM,CAAA;AACtC,UAAA,OAAO,EAAA,IAAM,IAAA,GAAO,YAAA,CAAa,EAAE,CAAA,GAAI,OAAA;AAAA,QACzC,CAAC,CAAA;AAED,QAAA,IAAA,CAAK,IAAA,CAAK,cAAc,CAAA,CAAE,QAAA,CAAS,IAAI,MAAA,EAAQ,CAAC,MAAM,MAAA,KAAW;AAC/D,UAAA,MAAM,EAAA,GAAK,sBAAsB,MAAM,CAAA;AACvC,UAAA,OAAO,EAAA,IAAM,IAAA,GAAO,KAAA,CAAM,EAAE,CAAA,GAAI,IAAA;AAAA,QAClC,CAAC,CAAA;AAED,QAAA,IAAA,CAAK,IAAA,CAAK,cAAc,CAAA,CAAE,QAAA,CAAS,IAAI,QAAA,EAAU,CAAC,QAAQ,MAAA,KAAW;AACnE,UAAA,MAAM,EAAA,GAAK,sBAAsB,MAAM,CAAA;AACvC,UAAA,OAAO,MAAM,IAAA,GAAQ,OAAA,CAAQ,EAAE,CAAA,IAAK,KAAA,CAAM,EAAE,CAAA,GAAK,MAAA;AAAA,QACnD,CAAC,CAAA;AAED,QAAA,IAAA,CAAK,IAAA,CAAK,cAAc,CAAA,CAAE,QAAA,CAAS,GAAA;AAAA,UACjC,aAAA;AAAA,UACA,CAAC,SAAS,MAAA,KAAW;AACnB,YAAA,MAAM,EAAA,GAAK,sBAAsB,MAAM,CAAA;AACvC,YAAA,OAAO,EAAA,IAAM,IAAA,GAAO,YAAA,CAAa,EAAE,CAAA,GAAI,OAAA;AAAA,UACzC;AAAA,SACF;AAAA,MACF;AAMA,MAAA,IAAA,CAAK,IAAA,CAAK,eAAe,CAAA,CAAE,KAAA,GAAQ,CAAC,MAAA,KAAW;AAC7C,QAAA,MAAA,CAAO,MAAA,CAAO;AAAA,UACZ,MAAA,EAAQ,GAAA,CAAI,KAAA,CAAM,eAAe;AAAA,SAClC,CAAA;AACD,QAAA,MAAA,CAAO,MAAA,CAAO,SAAS,MAAA,CAAO;AAAA,UAC5B,SAAS,GAAA,CAAI,IAAA;AAAA,UACb,SAAS,GAAA,CAAI,GAAA;AAAA,UACb,UAAA,EAAY,EAAA;AAAA,UACZ,aAAA,EAAe;AAAA,SAChB,CAAA;AAAA,MACH,CAAA;AAEA,MAAA,IAAA,CAAK,IAAA,CAAK,eAAe,CAAA,CAAE,KAAA,GAAQ,CAAC,MAAA,KAAW;AAC7C,QAAA,MAAA,CAAO,MAAA,CAAO;AAAA,UACZ,MAAA,EAAQ,GAAA,CAAI,KAAA,CAAM,eAAe;AAAA,SAClC,CAAA;AACD,QAAA,MAAA,CAAO,MAAA,CAAO,SAAS,MAAA,CAAO;AAAA,UAC5B,SAAS,GAAA,CAAI,GAAA;AAAA,UACb,SAAS,GAAA,CAAI,IAAA;AAAA,UACb,WAAA,EAAa,EAAA;AAAA,UACb,YAAA,EAAc;AAAA,SACf,CAAA;AAAA,MACH,CAAA;AAEA,MAAA,IAAI,CAAA,GAAI,CAAA;AACR,MAAA,IAAA,CAAK,IAAA,CAAK,cAAc,CAAA,CAAE,KAAA,GAAQ,CAAC,MAAA,KAAW;AAC5C,QAAA,MAAA,CAAO,GAAA,CAAI,MAAA,EAAQ,KAAA,CAAM,CAAC,CAAC,CAAA;AAC3B,QAAA,MAAA,CAAO,IAAI,QAAA,EAAU,OAAA,CAAQ,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,CAAC,CAAA;AAC3C,QAAA,MAAA,CAAO,GAAA,CAAI,aAAA,EAAe,YAAA,CAAa,CAAC,CAAC,CAAA;AAEzC,QAAA,IAAI,qBAAA,EAAuB;AACzB,UAAA,MAAA,CAAO,QAAQ,QAAA,CAAS,QAAA,CAAS,GAAA,CAAI,MAAA,EAAQ,CAAC,IAAA,KAAS;AACrD,YAAA,MAAM,EAAA,GAAK,sBAAsB,MAAM,CAAA;AACvC,YAAA,OAAO,EAAA,IAAM,IAAA,GAAO,KAAA,CAAM,EAAE,CAAA,GAAI,IAAA;AAAA,UAClC,CAAC,CAAA;AACD,UAAA,MAAA,CAAO,QAAQ,QAAA,CAAS,QAAA,CAAS,GAAA,CAAI,QAAA,EAAU,CAAC,MAAA,KAAW;AACzD,YAAA,MAAM,EAAA,GAAK,sBAAsB,MAAM,CAAA;AACvC,YAAA,OAAO,MAAM,IAAA,GAAQ,OAAA,CAAQ,EAAE,CAAA,IAAK,KAAA,CAAM,EAAE,CAAA,GAAK,MAAA;AAAA,UACnD,CAAC,CAAA;AACD,UAAA,MAAA,CAAO,QAAQ,QAAA,CAAS,QAAA,CAAS,GAAA,CAAI,aAAA,EAAe,CAAC,OAAA,KAAY;AAC/D,YAAA,MAAM,EAAA,GAAK,sBAAsB,MAAM,CAAA;AACvC,YAAA,OAAO,EAAA,IAAM,IAAA,GAAO,YAAA,CAAa,EAAE,CAAA,GAAI,OAAA;AAAA,UACzC,CAAC,CAAA;AAAA,QACH;AAEA,QAAA,MAAM,eACJ,MAAA,CAAO,GAAA,CAAI,gBAAgB,CAAA,IAAK,MAAA,CAAO,IAAI,aAAa,CAAA;AAE1D,QAAA,IAAI,YAAA,EAAc;AAChB,UAAA,MAAA,CAAO,OAAA,CAAQ,SAAS,MAAA,CAAO;AAAA,YAC7B,eAAA,EAAiB,SAAA;AAAA,YACjB,SAAA,EAAW,EAAA;AAAA,YACX,cAAA,EAAgB,CAAA;AAAA,YAChB,cAAA,EAAgB;AAAA,WACjB,CAAA;AAAA,QACH,CAAA,MAAO;AACL,UAAA,MAAA,CAAO,OAAA,CAAQ,SAAS,MAAA,CAAO;AAAA,YAC7B,eAAA,EAAiB,SAAA;AAAA,YACjB,QAAA,EAAU,EAAA;AAAA,YACV,cAAA,EAAgB,CAAA;AAAA,YAChB,cAAA,EAAgB;AAAA,WACjB,CAAA;AAAA,QACH;AAEA,QAAA,IAAI,MAAA,CAAO,GAAA,CAAI,SAAS,CAAA,EAAG;AAEzB,UAAA,MAAM,SAAS,MAAA,EAAQ,MAAA;AACvB,UAAA,MAAA,EAAQ,YAAA,CAAa,CAAC,KAAA,KAAU;AAC9B,YAAA,IAAI,MAAA,KAAW,KAAA,IAAS,KAAA,YAAiB,KAAA,CAAM,YAAA,EAAc;AAC3D,cAAA,KAAA,CAAM,OAAA,CAAQ,SAAS,MAAA,CAAO;AAAA,gBAC5B,cAAA,EAAgB,CAAA;AAAA,gBAChB,cAAA,EAAgB,CAAA;AAAA,gBAChB,cAAA,EAAgB;AAAA,eACjB,CAAA;AAAA,YACH;AAAA,UACF,CAAC,CAAA;AAGD,UAAA,IAAI,MAAM,CAAA,EAAG;AACX,YAAA,IAAI,OAAA;AACJ,YAAA,MAAA,CAAO,OAAA,CAAQ,QAAA,CAAS,SAAA,CAAU,QAAA,EAAU,MAAM;AAChD,cAAA,IAAI,OAAA,eAAsB,OAAO,CAAA;AAEjC,cAAA,OAAA,GAAU,WAAW,WAAY;AAC/B,gBAAA,MAAA,CAAO,OAAA,CAAQ,IAAA,CAAK,CAAC,MAAA,KAAW;AAC9B,kBAAA,MAAM,MAAA,GAAS,MAAA,CAAO,UAAA,CAAW,QAAQ,CAAA;AACzC,kBAAA,IAAI,MAAA,IAAU,UAAU,CAAA,EAAG;AACzB,oBAAA,MAAA,CAAO,GAAA,CAAI,WAAA,EAAa,MAAA,GAAS,CAAC,CAAA;AAAA,kBACpC,CAAA,MAAO;AACL,oBAAA,MAAA,CAAO,GAAA,CAAI,aAAa,MAAS,CAAA;AAAA,kBACnC;AAAA,gBACF,CAAC,CAAA;AAAA,cACH,GAAG,EAAE,CAAA;AAAA,YACP,CAAC,CAAA;AAAA,UACH;AAAA,QACF;AAEA,QAAA,MAAA,CAAO,GAAA,CAAI,SAAA,EAAW,aAAA,EAAe,CAAA;AAGrC,QAAA,MAAA,CAAO,OAAA,CAAQ,SAAS,MAAA,CAAO,EAAA;AAAA,UAC7B,aAAA;AAAA,UACA,CAAC,EAAE,MAAA,EAAQ,MAAA,EAAO,KAAM;AACtB,YAAA,MAAM,MAAA,GAAS,OAAO,QAAA,EAAU,SAAA;AAGhC,YAAA,MAAM,QAAQ,MAAA,EAAQ,KAAA;AACtB,YAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,YAAA,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA,KAAM;AACvB,cAAA,IAAI,CAAA,YAAa,MAAM,YAAA,EAAc;AACnC,gBAAA,CAAA,CAAE,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAQ;AACtB,kBAAA,IAAI,QAAQ,MAAA,EAAQ;AAClB,oBAAA,GAAA,CAAI,GAAA,CAAI,WAAW,GAAG,CAAA;AAAA,kBACxB;AAAA,gBACF,CAAC,CAAA;AAAA,cACH;AAAA,YACF,CAAC,CAAA;AAAA,UACH;AAAA,SACF;AAEA,QAAA,MAAA,CAAO,OAAA,CAAQ,SAAS,MAAA,CAAO,EAAA;AAAA,UAC7B,YAAA;AAAA,UACA,CAAC,EAAE,MAAA,EAAQ,MAAA,EAAO,KAAM;AACtB,YAAA,MAAM,MAAA,GAAS,OAAO,QAAA,EAAU,SAAA;AAGhC,YAAA,MAAM,QAAQ,MAAA,EAAQ,KAAA;AACtB,YAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,YAAA,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA,KAAM;AACvB,cAAA,IAAI,CAAA,YAAa,MAAM,YAAA,EAAc;AACnC,gBAAA,CAAA,CAAE,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAQ;AACtB,kBAAA,IAAI,QAAQ,MAAA,EAAQ;AAClB,oBAAA,GAAA,CAAI,GAAA,CAAI,WAAW,CAAC,CAAA;AAAA,kBACtB;AAAA,gBACF,CAAC,CAAA;AAAA,cACH;AAAA,YACF,CAAC,CAAA;AAAA,UACH;AAAA,SACF;AAEA,QAAA,CAAA,IAAK,CAAA;AACL,QAAA,IAAI,CAAA,IAAK,KAAA,CAAM,MAAA,EAAQ,CAAA,GAAI,CAAA;AAAA,MAC7B,CAAA;AAAA,IACF;AAAA;AAGF,EAAA,OAAO,WAAA;AACT,CAAA;;ACnYA,MAAM,wBAAA,GAA2B,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA;AAAA,EAC1D,CAAC,GAAA,KAAQ,GAAA,CAAI,OAAA,CAAQ,iBAAiB,CAAA,KAAM;AAC9C,CAAA;AAEA,MAAMC,WAAS,wBAAA,CACZ,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,OAAO,CAAA,KAAM,EAAE,CAAA,CAC3C,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAMC,YAAU,wBAAA,CACb,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,aAAa,CAAA,KAAM,EAAE,CAAA,CACjD,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAMC,aAAW,wBAAA,CACd,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,SAAS,CAAA,KAAM,EAAE,CAAA,CAC7C,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAM,kBAAkB,WAAA,CAAY;AAAA,EAClC,KAAA,EAAOF,QAAA;AAAA,WACPC,SAAA;AAAA,EACA,YAAA,EAAcC,UAAA;AAAA,EACd,UAAA,EAAY,CAAC,CAAA,EAAG,CAAA,EAAG,GAAG,CAAC;AACzB,CAAC;;ACrBD,MAAM,yBAAA,GAA4B,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA;AAAA,EAC3D,CAAC,GAAA,KAAQ,GAAA,CAAI,OAAA,CAAQ,kBAAkB,CAAA,KAAM;AAC/C,CAAA;AAEA,MAAMF,WAAS,yBAAA,CACZ,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,OAAO,CAAA,KAAM,EAAE,CAAA,CAC3C,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAMC,YAAU,yBAAA,CACb,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,aAAa,CAAA,KAAM,EAAE,CAAA,CACjD,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAMC,aAAW,yBAAA,CACd,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,SAAS,CAAA,KAAM,EAAE,CAAA,CAC7C,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAM,mBAAmB,WAAA,CAAY;AAAA,EACnC,KAAA,EAAOF,QAAA;AAAA,WACPC,SAAA;AAAA,EACA,YAAA,EAAcC;AAChB,CAAC;;ACpBD,MAAM,sBAAA,GAAyB,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,QAAQ,CAAA,CAAE,MAAA;AAAA,EACxD,CAAC,GAAA,KAAQ,GAAA,CAAI,OAAA,CAAQ,aAAa,CAAA,KAAM;AAC1C,CAAA;AAIA,sBAAA,CAAuB,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM;AACpC,EAAA,IAAI,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,KAAM,EAAA,EAAI;AAC/B,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,KAAM,EAAA,EAAI;AAC/B,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,KAAM,EAAA,EAAI;AAC/B,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,KAAM,EAAA,EAAI;AAC/B,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,KAAM,EAAA,EAAI;AAC/B,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,KAAM,EAAA,EAAI;AAC/B,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,OAAO,CAAA;AACT,CAAC,CAAA;AAED,MAAM,SAAS,sBAAA,CACZ,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,OAAO,CAAA,KAAM,EAAE,CAAA,CAC3C,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAM,UAAU,sBAAA,CACb,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,aAAa,CAAA,KAAM,EAAE,CAAA,CACjD,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAM,WAAW,sBAAA,CACd,MAAA,CAAO,CAAC,GAAA,KAAQ,GAAA,CAAI,QAAQ,SAAS,CAAA,KAAM,EAAE,CAAA,CAC7C,IAAI,CAAC,GAAA,KAAQ,KAAK,QAAA,CAAS,GAAG,EAAE,KAAK,CAAA;AAExC,MAAM,gBAAgB,WAAA,CAAY;AAAA,EAChC,KAAA,EAAO,MAAA;AAAA,EACP,OAAA;AAAA,EACA,YAAA,EAAc;AAChB,CAAC;;;;"}
|
package/dist/am5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { a as ThemeCategorical, T as ThemeMonochrome, b as ThemeSemantic } from './ThemeSemantic-
|
|
1
|
+
export { a as ThemeCategorical, T as ThemeMonochrome, b as ThemeSemantic } from './ThemeSemantic-CgWUtNzV.js';
|
|
2
2
|
//# sourceMappingURL=am5.js.map
|
package/dist/themes.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { a as ThemeCategorical, T as ThemeMonochrome, b as ThemeSemantic } from './ThemeSemantic-
|
|
1
|
+
export { a as ThemeCategorical, T as ThemeMonochrome, b as ThemeSemantic } from './ThemeSemantic-CgWUtNzV.js';
|
|
2
2
|
//# sourceMappingURL=themes.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/anvil2-ext-charts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"tabbable": "^6.2.0",
|
|
36
36
|
"tinycolor2": "^1.6.0",
|
|
37
37
|
"uuid": "^10.0.0",
|
|
38
|
-
"@servicetitan/hammer-token": "
|
|
38
|
+
"@servicetitan/hammer-token": "3.0.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@amcharts/amcharts5": "^5",
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@chromatic-com/storybook": "^5.0.1",
|
|
49
|
-
"@storybook/addon-a11y": "10.
|
|
50
|
-
"@storybook/addon-docs": "10.
|
|
51
|
-
"@storybook/addon-links": "10.
|
|
52
|
-
"@storybook/addon-vitest": "10.
|
|
53
|
-
"@storybook/react-vite": "10.
|
|
49
|
+
"@storybook/addon-a11y": "10.3.3",
|
|
50
|
+
"@storybook/addon-docs": "10.3.3",
|
|
51
|
+
"@storybook/addon-links": "10.3.3",
|
|
52
|
+
"@storybook/addon-vitest": "10.3.3",
|
|
53
|
+
"@storybook/react-vite": "10.3.3",
|
|
54
54
|
"@testing-library/jest-dom": "^5.17.0",
|
|
55
55
|
"@testing-library/react": "^16.1.0",
|
|
56
56
|
"@testing-library/user-event": "^14.5.2",
|
|
@@ -78,14 +78,14 @@
|
|
|
78
78
|
"remark-parse": "^11.0.0",
|
|
79
79
|
"remark-stringify": "^11.0.0",
|
|
80
80
|
"sass": "1.87.0",
|
|
81
|
-
"storybook": "10.
|
|
81
|
+
"storybook": "10.3.3",
|
|
82
82
|
"svgo": "^3.3.2",
|
|
83
83
|
"typescript": "~5.7.2",
|
|
84
84
|
"unified": "^11.0.5",
|
|
85
|
-
"vite": "6.4.
|
|
85
|
+
"vite": "6.4.2",
|
|
86
86
|
"vitest": "^3.2.4",
|
|
87
87
|
"vitest-axe": "^0.1.0",
|
|
88
|
-
"@servicetitan/anvil2": "
|
|
88
|
+
"@servicetitan/anvil2": "3.0.0"
|
|
89
89
|
},
|
|
90
90
|
"scripts": {
|
|
91
91
|
"dev": "vite",
|