@motionscript/charts 0.1.0-alpha.5 → 0.1.0-alpha.6
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 +22 -0
- package/README.md +30 -16
- package/dist/bar-chart/bar-chart.d.ts +93 -246
- package/dist/bar-chart/bar-chart.d.ts.map +1 -1
- package/dist/bar-chart/bar-chart.js +378 -569
- package/dist/bar-chart/bar-chart.js.map +1 -1
- package/dist/bar-chart/category-axis.d.ts +24 -41
- package/dist/bar-chart/category-axis.d.ts.map +1 -1
- package/dist/bar-chart/category-axis.js +93 -115
- package/dist/bar-chart/category-axis.js.map +1 -1
- package/dist/bar-chart/chart-bars.d.ts +36 -70
- package/dist/bar-chart/chart-bars.d.ts.map +1 -1
- package/dist/bar-chart/chart-bars.js +156 -210
- package/dist/bar-chart/chart-bars.js.map +1 -1
- package/dist/bar-chart/index.d.ts +2 -2
- package/dist/bar-chart/index.d.ts.map +1 -1
- package/dist/bar-chart/index.js +1 -1
- package/dist/bar-chart/index.js.map +1 -1
- package/dist/bar-chart/shared.d.ts +3 -3
- package/dist/bar-chart/shared.d.ts.map +1 -1
- package/dist/bar-chart/shared.js +3 -3
- package/dist/bar-chart/shared.js.map +1 -1
- package/dist/browser/chunks/chunk-XROBIRQK.js +2 -0
- package/dist/browser/chunks/chunk-XROBIRQK.js.map +7 -0
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +3 -3
- package/dist/browser/kit.js +1 -1
- package/dist/browser/manifest.json +1 -1
- package/dist/engine.d.ts +8 -6
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +8 -6
- package/dist/engine.js.map +1 -1
- package/dist/kit/cartesian.d.ts +44 -0
- package/dist/kit/cartesian.d.ts.map +1 -0
- package/dist/kit/cartesian.js +59 -0
- package/dist/kit/cartesian.js.map +1 -0
- package/dist/kit/chart-border.d.ts +8 -11
- package/dist/kit/chart-border.d.ts.map +1 -1
- package/dist/kit/chart-border.js +15 -32
- package/dist/kit/chart-border.js.map +1 -1
- package/dist/kit/chart-canvas.d.ts +23 -21
- package/dist/kit/chart-canvas.d.ts.map +1 -1
- package/dist/kit/chart-canvas.js +33 -90
- package/dist/kit/chart-canvas.js.map +1 -1
- package/dist/kit/chart-legend.d.ts +79 -67
- package/dist/kit/chart-legend.d.ts.map +1 -1
- package/dist/kit/chart-legend.js +129 -154
- package/dist/kit/chart-legend.js.map +1 -1
- package/dist/kit/entries.d.ts +17 -0
- package/dist/kit/entries.d.ts.map +1 -0
- package/dist/kit/entries.js +19 -0
- package/dist/kit/entries.js.map +1 -0
- package/dist/kit/motion.d.ts +48 -0
- package/dist/kit/motion.d.ts.map +1 -0
- package/dist/kit/motion.js +63 -0
- package/dist/kit/motion.js.map +1 -0
- package/dist/kit/paints.d.ts +10 -0
- package/dist/kit/paints.d.ts.map +1 -0
- package/dist/kit/paints.js +12 -0
- package/dist/kit/paints.js.map +1 -0
- package/dist/kit/shared.d.ts +31 -3
- package/dist/kit/shared.d.ts.map +1 -1
- package/dist/kit/shared.js +42 -3
- package/dist/kit/shared.js.map +1 -1
- package/dist/kit/vertical-axis.d.ts +36 -61
- package/dist/kit/vertical-axis.d.ts.map +1 -1
- package/dist/kit/vertical-axis.js +97 -132
- package/dist/kit/vertical-axis.js.map +1 -1
- package/dist/line-chart/chart-line.d.ts +25 -51
- package/dist/line-chart/chart-line.d.ts.map +1 -1
- package/dist/line-chart/chart-line.js +89 -120
- package/dist/line-chart/chart-line.js.map +1 -1
- package/dist/line-chart/chart-region.d.ts +14 -14
- package/dist/line-chart/chart-region.d.ts.map +1 -1
- package/dist/line-chart/chart-region.js +26 -64
- package/dist/line-chart/chart-region.js.map +1 -1
- package/dist/line-chart/horizontal-axis.d.ts +32 -56
- package/dist/line-chart/horizontal-axis.d.ts.map +1 -1
- package/dist/line-chart/horizontal-axis.js +85 -123
- package/dist/line-chart/horizontal-axis.js.map +1 -1
- package/dist/line-chart/index.d.ts +2 -2
- package/dist/line-chart/index.d.ts.map +1 -1
- package/dist/line-chart/index.js +1 -1
- package/dist/line-chart/index.js.map +1 -1
- package/dist/line-chart/line-chart.d.ts +111 -319
- package/dist/line-chart/line-chart.d.ts.map +1 -1
- package/dist/line-chart/line-chart.js +403 -663
- package/dist/line-chart/line-chart.js.map +1 -1
- package/dist/line-chart/shared.d.ts +3 -3
- package/dist/line-chart/shared.d.ts.map +1 -1
- package/dist/line-chart/shared.js +3 -3
- package/dist/line-chart/shared.js.map +1 -1
- package/dist/nodes.d.ts +6 -9
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +7 -9
- package/dist/nodes.js.map +1 -1
- package/dist/pie-chart/index.d.ts +2 -2
- package/dist/pie-chart/index.d.ts.map +1 -1
- package/dist/pie-chart/index.js +1 -1
- package/dist/pie-chart/index.js.map +1 -1
- package/dist/pie-chart/pie-chart.d.ts +77 -134
- package/dist/pie-chart/pie-chart.d.ts.map +1 -1
- package/dist/pie-chart/pie-chart.js +200 -271
- package/dist/pie-chart/pie-chart.js.map +1 -1
- package/dist/pie-chart/pie-legend.d.ts +54 -31
- package/dist/pie-chart/pie-legend.d.ts.map +1 -1
- package/dist/pie-chart/pie-legend.js +93 -107
- package/dist/pie-chart/pie-legend.js.map +1 -1
- package/dist/pie-chart/pie-ring.d.ts +142 -131
- package/dist/pie-chart/pie-ring.d.ts.map +1 -1
- package/dist/pie-chart/pie-ring.js +333 -391
- package/dist/pie-chart/pie-ring.js.map +1 -1
- package/package.json +4 -4
- package/src/bar-chart/bar-chart.ts +415 -701
- package/src/bar-chart/category-axis.ts +95 -110
- package/src/bar-chart/chart-bars.ts +178 -200
- package/src/bar-chart/index.ts +2 -2
- package/src/bar-chart/shared.ts +3 -3
- package/src/engine.ts +8 -6
- package/src/kit/cartesian.ts +81 -0
- package/src/kit/chart-border.ts +22 -33
- package/src/kit/chart-canvas.ts +44 -79
- package/src/kit/chart-legend.ts +173 -189
- package/src/kit/entries.ts +20 -0
- package/src/kit/motion.ts +90 -0
- package/src/kit/paints.ts +15 -0
- package/src/kit/shared.ts +52 -3
- package/src/kit/vertical-axis.ts +110 -140
- package/src/line-chart/chart-line.ts +95 -122
- package/src/line-chart/chart-region.ts +30 -59
- package/src/line-chart/horizontal-axis.ts +99 -135
- package/src/line-chart/index.ts +2 -2
- package/src/line-chart/line-chart.ts +449 -825
- package/src/line-chart/shared.ts +3 -3
- package/src/nodes.ts +8 -10
- package/src/pie-chart/index.ts +2 -2
- package/src/pie-chart/pie-chart.ts +221 -311
- package/src/pie-chart/pie-legend.ts +124 -114
- package/src/pie-chart/pie-ring.ts +386 -473
- package/dist/browser/chunks/chunk-5ZPBV6BU.js +0 -2
- package/dist/browser/chunks/chunk-5ZPBV6BU.js.map +0 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type PieChartTheme, type PieLabelMode, type PieLabelPlacement } from "./shared.js";
|
|
1
|
+
import { type DataRecord, type NodeOf, type Node2D, type Node2DProps } from "@motionscript/sdk";
|
|
2
|
+
import { type PieChartConfig, type PieChartTheme, type PieLabelMode, type PieLabelPlacement } from "./shared.js";
|
|
3
3
|
export interface PieChartProps extends Node2DProps {
|
|
4
4
|
/** One row per slice — a plain record of field name to value. */
|
|
5
5
|
data: DataRecord[];
|
|
@@ -21,156 +21,99 @@ export interface PieChartProps extends Node2DProps {
|
|
|
21
21
|
showLegend?: boolean;
|
|
22
22
|
/** Gap between the ring and the legend, in px. */
|
|
23
23
|
gap?: number;
|
|
24
|
-
/** Text set in the ring's hole — see
|
|
24
|
+
/** Text set in the ring's hole — see `revealCenter`. */
|
|
25
25
|
centerLabel?: string;
|
|
26
26
|
/** Smaller second line under {@link centerLabel}. */
|
|
27
27
|
centerCaption?: string;
|
|
28
28
|
/**
|
|
29
29
|
* Whether the hole's summary is drawn at rest. `true` (the default) is the
|
|
30
30
|
* plain answer; a scene that wants the conclusion to land on a later beat sets
|
|
31
|
-
* this `false` and
|
|
31
|
+
* this `false` and runs `revealCenter` when it gets there.
|
|
32
32
|
*/
|
|
33
33
|
showCenter?: boolean;
|
|
34
34
|
}
|
|
35
|
-
/** What the selection
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
/** What the selection reads: the rows, how they are cut, and the pops the commands move. */
|
|
36
|
+
export interface PieChartValues {
|
|
37
|
+
readonly data: DataRecord[];
|
|
38
|
+
readonly categoryField: string;
|
|
39
|
+
readonly valueField: string;
|
|
40
|
+
readonly theme: PieChartConfig;
|
|
41
|
+
readonly pops: number[];
|
|
42
|
+
}
|
|
43
|
+
/** Whether slice `index` is grown out past the ring's rim: past half way, so a slice mid-swell is not yet counted. */
|
|
44
|
+
export declare function isSliceSelected(s: PieChartValues, index: number): boolean;
|
|
39
45
|
/**
|
|
40
|
-
* A pie or donut chart, composed from two
|
|
41
|
-
*
|
|
42
|
-
*
|
|
46
|
+
* A pie or donut chart, composed from two parts laid out by a horizontal-flow
|
|
47
|
+
* {@link Rect} — the ring filling whatever the hugging legend leaves, both
|
|
48
|
+
* centred:
|
|
43
49
|
*
|
|
44
50
|
* - {@link PieRing} — the wedges, each sized by its share of the total, with its
|
|
45
|
-
* label
|
|
46
|
-
* summary in the hole.
|
|
51
|
+
* label inside its own band or pinned outside on a leader line, and the
|
|
52
|
+
* summary in the hole.
|
|
47
53
|
* - {@link PieLegend} — a column of swatch-and-caption rows naming each slice.
|
|
48
54
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* the three. A line or a bar chart plots *series*, so its colours belong to
|
|
54
|
-
* columns and hiding one is a sensible thing to ask for. A pie plots rows, so its
|
|
55
|
-
* palette is indexed by row and there is nothing to hide: dropping a slice would
|
|
56
|
-
* silently re-cut every other wedge's share, which is a different chart rather
|
|
57
|
-
* than the same chart with a series switched off. {@link selectSlice} and its
|
|
58
|
-
* siblings are what a pie has instead — a slice swells out of the ring, its hole
|
|
59
|
-
* edge staying put, and everything else dims behind it.
|
|
55
|
+
* **One mark per row, not per column**: a pie's palette is indexed by row and
|
|
56
|
+
* there is nothing to hide, since dropping a slice would re-cut every other
|
|
57
|
+
* wedge. `selectSlice` and its siblings are what a pie has instead — a slice
|
|
58
|
+
* swells out of the ring and everything else dims behind it.
|
|
60
59
|
*
|
|
61
|
-
* **Resting state is the finished chart
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* every part back to its pre-entrance state before animating. The one exception
|
|
65
|
-
* is the hole's summary, which a scene can hold back with `showCenter: false`
|
|
66
|
-
* because it is usually the chart's *conclusion* rather than part of its setup.
|
|
60
|
+
* **Resting state is the finished chart**; `enter` arms every part on its first
|
|
61
|
+
* frame. The one exception is the hole's summary, which a scene can hold back
|
|
62
|
+
* with `showCenter: false`, because it is usually the chart's *conclusion*.
|
|
67
63
|
*/
|
|
68
|
-
export declare
|
|
69
|
-
data: DataRecord[]
|
|
70
|
-
categoryField:
|
|
71
|
-
valueField:
|
|
72
|
-
theme: PieChartTheme
|
|
73
|
-
labelMode: PieLabelMode
|
|
74
|
-
labelPlacement: PieLabelPlacement
|
|
75
|
-
gap:
|
|
76
|
-
centerLabel:
|
|
77
|
-
centerCaption:
|
|
78
|
-
/**
|
|
79
|
-
* How far each slice is currently pushed out of the ring, `0`–`1` per index.
|
|
80
|
-
*
|
|
81
|
-
* Held here rather than on the ring because two parts read it: the wedges grow
|
|
82
|
-
* out by it, and the legend entries dim by it. One signal, one tween, and the
|
|
83
|
-
* two can't drift.
|
|
84
|
-
*/
|
|
85
|
-
pops: number[];
|
|
86
|
-
private ring;
|
|
87
|
-
private legend;
|
|
88
|
-
/** `this.theme` read back through its *resolved* shape — see `LineChart.theme`. */
|
|
89
|
-
private get resolvedTheme();
|
|
90
|
-
/** The slices the ring and the legend draw, resolved from the rows and the palette. */
|
|
91
|
-
private get slices();
|
|
92
|
-
/**
|
|
93
|
-
* How far each slice is dimmed by the current selection, one entry per slice —
|
|
94
|
-
* 1 while nothing is selected, and for the selected slice itself; falling
|
|
95
|
-
* toward the theme's `dimOpacity` for the rest in proportion to how far the
|
|
96
|
-
* selection has grown.
|
|
97
|
-
*/
|
|
98
|
-
private sliceDims;
|
|
99
|
-
/** How far slice `index` is currently pushed out, in `[0, 1]`. */
|
|
100
|
-
private popAt;
|
|
101
|
-
constructor(props?: NodeConfig<PieChart, PieChartProps>);
|
|
102
|
-
/**
|
|
103
|
-
* Prime every part at its pre-entrance state — no wedges swept, no labels, the
|
|
104
|
-
* legend shifted and transparent.
|
|
105
|
-
*
|
|
106
|
-
* Called by {@link enter} before its first frame so nothing flashes ahead of
|
|
107
|
-
* its beat. Idempotent, and public so a scene can hide a chart ahead of time
|
|
108
|
-
* without starting the entrance. The hole's summary is deliberately untouched:
|
|
109
|
-
* it has its own signal, so a scene that set it up to land later keeps that.
|
|
110
|
-
*/
|
|
111
|
-
arm(): void;
|
|
112
|
-
/**
|
|
113
|
-
* Animate the whole chart in: the wedges sweep in clockwise from the theme's
|
|
114
|
-
* `startAngle`, then the labels fade up and the legend staggers in together.
|
|
115
|
-
*
|
|
116
|
-
* `duration` is the **whole** entrance; the phases are shares of it.
|
|
117
|
-
*/
|
|
118
|
-
enter(args: CommandArgs<Record<string, never>> & {
|
|
119
|
-
duration: number;
|
|
120
|
-
}): Command<Record<string, never>>;
|
|
121
|
-
/**
|
|
122
|
-
* Fade the hole's summary up.
|
|
123
|
-
*
|
|
124
|
-
* Held out of {@link enter} on purpose: what sits in a donut's hole is usually
|
|
125
|
-
* the chart's conclusion, so the scene lands it on the beat it belongs to
|
|
126
|
-
* rather than giving it away with the first frame. Pair it with
|
|
127
|
-
* `showCenter: false`, which is what leaves the hole clear to begin with.
|
|
128
|
-
*/
|
|
129
|
-
revealCenter(args?: CommandArgs<Record<string, never>> & {
|
|
130
|
-
duration?: number;
|
|
131
|
-
}): Command<{
|
|
132
|
-
centerReveal: number;
|
|
133
|
-
}>;
|
|
134
|
-
/** True when slice `index` is currently grown out past the ring's rim. */
|
|
135
|
-
isSelected(index: number): boolean;
|
|
64
|
+
export declare const PieChart: import("@motionscript/sdk").Component<"pieChart", import("@motionscript/sdk").Merge<import("@motionscript/sdk").Box2DState, {
|
|
65
|
+
readonly data: import("@motionscript/sdk").Type<DataRecord[], DataRecord[], false>;
|
|
66
|
+
readonly categoryField: "";
|
|
67
|
+
readonly valueField: "";
|
|
68
|
+
readonly theme: import("@motionscript/sdk").Type<PieChartTheme, PieChartConfig, false>;
|
|
69
|
+
readonly labelMode: import("@motionscript/sdk").Type<PieLabelMode, PieLabelMode, false>;
|
|
70
|
+
readonly labelPlacement: import("@motionscript/sdk").Type<PieLabelPlacement, PieLabelPlacement, false>;
|
|
71
|
+
readonly gap: 40;
|
|
72
|
+
readonly centerLabel: "";
|
|
73
|
+
readonly centerCaption: "";
|
|
136
74
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
75
|
+
* How far each slice is pushed out of the ring, `0`–`1` per index. Held here
|
|
76
|
+
* rather than on the ring because two parts read it: the wedges grow out by
|
|
77
|
+
* it, and the legend entries dim by it. Seeded flush, one to a row.
|
|
139
78
|
*/
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
79
|
+
readonly pops: import("@motionscript/sdk").Type<number[], number[], false>;
|
|
80
|
+
/** Read as the chart is built: the legend is a part the chart builds or doesn't. */
|
|
81
|
+
readonly showLegend: import("@motionscript/sdk").Type<boolean, boolean, false>;
|
|
82
|
+
/** Read as the chart is built: whether the hole's summary is drawn at rest. */
|
|
83
|
+
readonly showCenter: import("@motionscript/sdk").Type<boolean, boolean, false>;
|
|
84
|
+
}>, {
|
|
85
|
+
readonly enter: {};
|
|
86
|
+
readonly revealCenter: {};
|
|
87
|
+
readonly selectSlice: {
|
|
88
|
+
readonly sliceIndex: import("@motionscript/sdk").Type<number, number, false>;
|
|
89
|
+
};
|
|
90
|
+
readonly deselectSlice: {
|
|
91
|
+
readonly sliceIndex: import("@motionscript/sdk").Type<number, number, false>;
|
|
92
|
+
};
|
|
93
|
+
readonly selectOnlySlice: {
|
|
94
|
+
readonly sliceIndex: import("@motionscript/sdk").Type<number, number, false>;
|
|
95
|
+
};
|
|
96
|
+
readonly clearSelection: {};
|
|
97
|
+
}, null, Node2D<Node2DProps>, import("@motionscript/sdk").CallProps<import("@motionscript/sdk").Merge<import("@motionscript/sdk").Box2DState, {
|
|
98
|
+
readonly data: import("@motionscript/sdk").Type<DataRecord[], DataRecord[], false>;
|
|
99
|
+
readonly categoryField: "";
|
|
100
|
+
readonly valueField: "";
|
|
101
|
+
readonly theme: import("@motionscript/sdk").Type<PieChartTheme, PieChartConfig, false>;
|
|
102
|
+
readonly labelMode: import("@motionscript/sdk").Type<PieLabelMode, PieLabelMode, false>;
|
|
103
|
+
readonly labelPlacement: import("@motionscript/sdk").Type<PieLabelPlacement, PieLabelPlacement, false>;
|
|
104
|
+
readonly gap: 40;
|
|
105
|
+
readonly centerLabel: "";
|
|
106
|
+
readonly centerCaption: "";
|
|
161
107
|
/**
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* command's duration is what the timeline lays out and what its parallel
|
|
166
|
-
* siblings are timed against, so a no-op that took no frames would pull
|
|
167
|
-
* everything after it forward.
|
|
168
|
-
*
|
|
169
|
-
* `from` and the targets are read when the command is *built*, which for a
|
|
170
|
-
* driven scene is with the node in the state its own start time implies — so a
|
|
171
|
-
* select that follows another starts from where that one left the ring.
|
|
108
|
+
* How far each slice is pushed out of the ring, `0`–`1` per index. Held here
|
|
109
|
+
* rather than on the ring because two parts read it: the wedges grow out by
|
|
110
|
+
* it, and the legend entries dim by it. Seeded flush, one to a row.
|
|
172
111
|
*/
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
112
|
+
readonly pops: import("@motionscript/sdk").Type<number[], number[], false>;
|
|
113
|
+
/** Read as the chart is built: the legend is a part the chart builds or doesn't. */
|
|
114
|
+
readonly showLegend: import("@motionscript/sdk").Type<boolean, boolean, false>;
|
|
115
|
+
/** Read as the chart is built: whether the hole's summary is drawn at rest. */
|
|
116
|
+
readonly showCenter: import("@motionscript/sdk").Type<boolean, boolean, false>;
|
|
117
|
+
}>, null>>;
|
|
118
|
+
export type PieChart = NodeOf<typeof PieChart>;
|
|
176
119
|
//# sourceMappingURL=pie-chart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pie-chart.d.ts","sourceRoot":"","sources":["../../src/pie-chart/pie-chart.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"pie-chart.d.ts","sourceRoot":"","sources":["../../src/pie-chart/pie-chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,MAAM,EAEX,KAAK,MAAM,EACX,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAA;AAO1B,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEvB,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,iEAAiE;IACjE,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,kCAAkC;IAClC,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,CAAA;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CACxB;AAqBD,sHAAsH;AACtH,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzE;AAsCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;IAYjB;;;;OAIG;;IAEH,oFAAoF;;IAEpF,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;IAR/E;;;;OAIG;;IAEH,oFAAoF;;IAEpF,+EAA+E;;UAsHjF,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAA"}
|