@tartaguti/ui-components 0.2.0 → 0.3.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 +37 -0
- package/README.md +12 -0
- package/custom-elements.json +3160 -1264
- package/dist/accordion/tt-accordion-item.d.ts.map +1 -1
- package/dist/accordion/tt-accordion-item.js +5 -2
- package/dist/accordion/tt-accordion-item.js.map +1 -1
- package/dist/bento/tt-bento-item.d.ts.map +1 -1
- package/dist/bento/tt-bento-item.js +7 -13
- package/dist/bento/tt-bento-item.js.map +1 -1
- package/dist/docs.d.ts +7 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/docs.js +15 -0
- package/dist/docs.js.map +1 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/sidebar/tt-menu-group.d.ts.map +1 -1
- package/dist/sidebar/tt-menu-group.js +16 -5
- package/dist/sidebar/tt-menu-group.js.map +1 -1
- package/dist/sidebar/tt-menu-item.d.ts.map +1 -1
- package/dist/sidebar/tt-menu-item.js +24 -11
- package/dist/sidebar/tt-menu-item.js.map +1 -1
- package/dist/sidebar/tt-sidebar-footer.d.ts.map +1 -1
- package/dist/sidebar/tt-sidebar-footer.js +7 -3
- package/dist/sidebar/tt-sidebar-footer.js.map +1 -1
- package/dist/sidebar/tt-sidebar.d.ts +8 -3
- package/dist/sidebar/tt-sidebar.d.ts.map +1 -1
- package/dist/sidebar/tt-sidebar.js +196 -44
- package/dist/sidebar/tt-sidebar.js.map +1 -1
- package/dist/strings.d.ts +64 -0
- package/dist/strings.d.ts.map +1 -0
- package/dist/strings.js +68 -0
- package/dist/strings.js.map +1 -0
- package/dist/tokens.css +30 -6
- package/dist/tt-alert.d.ts.map +1 -1
- package/dist/tt-alert.js +5 -2
- package/dist/tt-alert.js.map +1 -1
- package/dist/tt-auth.d.ts +5 -1
- package/dist/tt-auth.d.ts.map +1 -1
- package/dist/tt-auth.js +72 -10
- package/dist/tt-auth.js.map +1 -1
- package/dist/tt-breadcrumbs.d.ts.map +1 -1
- package/dist/tt-breadcrumbs.js +6 -3
- package/dist/tt-breadcrumbs.js.map +1 -1
- package/dist/tt-button-group.d.ts.map +1 -1
- package/dist/tt-button-group.js +7 -1
- package/dist/tt-button-group.js.map +1 -1
- package/dist/tt-button.d.ts.map +1 -1
- package/dist/tt-button.js +37 -28
- package/dist/tt-button.js.map +1 -1
- package/dist/tt-card.d.ts.map +1 -1
- package/dist/tt-card.js +9 -6
- package/dist/tt-card.js.map +1 -1
- package/dist/tt-chart.d.ts +10 -2
- package/dist/tt-chart.d.ts.map +1 -1
- package/dist/tt-chart.js +167 -29
- package/dist/tt-chart.js.map +1 -1
- package/dist/tt-checkbox.d.ts.map +1 -1
- package/dist/tt-checkbox.js +5 -2
- package/dist/tt-checkbox.js.map +1 -1
- package/dist/tt-code-block.d.ts +4 -5
- package/dist/tt-code-block.d.ts.map +1 -1
- package/dist/tt-code-block.js +53 -17
- package/dist/tt-code-block.js.map +1 -1
- package/dist/tt-combobox.d.ts +14 -0
- package/dist/tt-combobox.d.ts.map +1 -1
- package/dist/tt-combobox.js +234 -31
- package/dist/tt-combobox.js.map +1 -1
- package/dist/tt-company-card.d.ts +18 -0
- package/dist/tt-company-card.d.ts.map +1 -1
- package/dist/tt-company-card.js +73 -4
- package/dist/tt-company-card.js.map +1 -1
- package/dist/tt-comparison-table.d.ts.map +1 -1
- package/dist/tt-comparison-table.js +6 -3
- package/dist/tt-comparison-table.js.map +1 -1
- package/dist/tt-component-doc.d.ts.map +1 -1
- package/dist/tt-component-doc.js +6 -3
- package/dist/tt-component-doc.js.map +1 -1
- package/dist/tt-contact-list.d.ts +17 -2
- package/dist/tt-contact-list.d.ts.map +1 -1
- package/dist/tt-contact-list.js +68 -10
- package/dist/tt-contact-list.js.map +1 -1
- package/dist/tt-copy-button.d.ts.map +1 -1
- package/dist/tt-copy-button.js +6 -3
- package/dist/tt-copy-button.js.map +1 -1
- package/dist/tt-data-table.d.ts +4 -0
- package/dist/tt-data-table.d.ts.map +1 -1
- package/dist/tt-data-table.js +25 -9
- package/dist/tt-data-table.js.map +1 -1
- package/dist/tt-dock-item.d.ts +53 -0
- package/dist/tt-dock-item.d.ts.map +1 -0
- package/dist/tt-dock-item.js +270 -0
- package/dist/tt-dock-item.js.map +1 -0
- package/dist/tt-dock.d.ts +59 -0
- package/dist/tt-dock.d.ts.map +1 -0
- package/dist/tt-dock.js +337 -0
- package/dist/tt-dock.js.map +1 -0
- package/dist/tt-drawer.d.ts +4 -0
- package/dist/tt-drawer.d.ts.map +1 -1
- package/dist/tt-drawer.js +14 -4
- package/dist/tt-drawer.js.map +1 -1
- package/dist/tt-dropdown-menu.d.ts +5 -0
- package/dist/tt-dropdown-menu.d.ts.map +1 -1
- package/dist/tt-dropdown-menu.js +34 -8
- package/dist/tt-dropdown-menu.js.map +1 -1
- package/dist/tt-file-upload.d.ts +35 -0
- package/dist/tt-file-upload.d.ts.map +1 -1
- package/dist/tt-file-upload.js +210 -21
- package/dist/tt-file-upload.js.map +1 -1
- package/dist/tt-filter.d.ts.map +1 -1
- package/dist/tt-filter.js +10 -5
- package/dist/tt-filter.js.map +1 -1
- package/dist/tt-form.d.ts +25 -1
- package/dist/tt-form.d.ts.map +1 -1
- package/dist/tt-form.js +151 -12
- package/dist/tt-form.js.map +1 -1
- package/dist/tt-grid.d.ts +10 -1
- package/dist/tt-grid.d.ts.map +1 -1
- package/dist/tt-grid.js +38 -9
- package/dist/tt-grid.js.map +1 -1
- package/dist/tt-icon.d.ts.map +1 -1
- package/dist/tt-icon.js +5 -0
- package/dist/tt-icon.js.map +1 -1
- package/dist/tt-inbox.d.ts +4 -0
- package/dist/tt-inbox.d.ts.map +1 -1
- package/dist/tt-inbox.js +13 -3
- package/dist/tt-inbox.js.map +1 -1
- package/dist/tt-input.d.ts.map +1 -1
- package/dist/tt-input.js +15 -5
- package/dist/tt-input.js.map +1 -1
- package/dist/tt-key-values.d.ts +2 -0
- package/dist/tt-key-values.d.ts.map +1 -1
- package/dist/tt-key-values.js +45 -2
- package/dist/tt-key-values.js.map +1 -1
- package/dist/tt-layout.d.ts +53 -2
- package/dist/tt-layout.d.ts.map +1 -1
- package/dist/tt-layout.js +233 -27
- package/dist/tt-layout.js.map +1 -1
- package/dist/tt-modal.d.ts +4 -0
- package/dist/tt-modal.d.ts.map +1 -1
- package/dist/tt-modal.js +14 -4
- package/dist/tt-modal.js.map +1 -1
- package/dist/tt-navbar.d.ts +4 -0
- package/dist/tt-navbar.d.ts.map +1 -1
- package/dist/tt-navbar.js +42 -7
- package/dist/tt-navbar.js.map +1 -1
- package/dist/tt-pagination.d.ts +4 -0
- package/dist/tt-pagination.d.ts.map +1 -1
- package/dist/tt-pagination.js +8 -1
- package/dist/tt-pagination.js.map +1 -1
- package/dist/tt-product.d.ts +67 -15
- package/dist/tt-product.d.ts.map +1 -1
- package/dist/tt-product.js +447 -366
- package/dist/tt-product.js.map +1 -1
- package/dist/tt-progress.d.ts +1 -0
- package/dist/tt-progress.d.ts.map +1 -1
- package/dist/tt-progress.js +26 -7
- package/dist/tt-progress.js.map +1 -1
- package/dist/tt-quantity.d.ts.map +1 -1
- package/dist/tt-quantity.js +5 -2
- package/dist/tt-quantity.js.map +1 -1
- package/dist/tt-radio-group.d.ts.map +1 -1
- package/dist/tt-radio-group.js +5 -2
- package/dist/tt-radio-group.js.map +1 -1
- package/dist/tt-scroller.d.ts +76 -0
- package/dist/tt-scroller.d.ts.map +1 -0
- package/dist/tt-scroller.js +525 -0
- package/dist/tt-scroller.js.map +1 -0
- package/dist/tt-search.d.ts.map +1 -1
- package/dist/tt-search.js +10 -5
- package/dist/tt-search.js.map +1 -1
- package/dist/tt-select.d.ts +9 -0
- package/dist/tt-select.d.ts.map +1 -1
- package/dist/tt-select.js +99 -14
- package/dist/tt-select.js.map +1 -1
- package/dist/tt-slider.d.ts.map +1 -1
- package/dist/tt-slider.js +13 -2
- package/dist/tt-slider.js.map +1 -1
- package/dist/tt-social-links.d.ts.map +1 -1
- package/dist/tt-social-links.js +7 -4
- package/dist/tt-social-links.js.map +1 -1
- package/dist/tt-switcher.d.ts +2 -0
- package/dist/tt-switcher.d.ts.map +1 -1
- package/dist/tt-switcher.js +24 -76
- package/dist/tt-switcher.js.map +1 -1
- package/dist/tt-table-row.d.ts.map +1 -1
- package/dist/tt-table-row.js +5 -2
- package/dist/tt-table-row.js.map +1 -1
- package/dist/tt-table.d.ts.map +1 -1
- package/dist/tt-table.js +5 -2
- package/dist/tt-table.js.map +1 -1
- package/dist/tt-tabs.d.ts.map +1 -1
- package/dist/tt-tabs.js +5 -2
- package/dist/tt-tabs.js.map +1 -1
- package/dist/tt-tag-list.d.ts.map +1 -1
- package/dist/tt-tag-list.js +6 -3
- package/dist/tt-tag-list.js.map +1 -1
- package/dist/tt-textarea.d.ts.map +1 -1
- package/dist/tt-textarea.js +5 -2
- package/dist/tt-textarea.js.map +1 -1
- package/dist/tt-toast.d.ts +4 -1
- package/dist/tt-toast.d.ts.map +1 -1
- package/dist/tt-toast.js +40 -6
- package/dist/tt-toast.js.map +1 -1
- package/dist/tt-toggle-group.d.ts.map +1 -1
- package/dist/tt-toggle-group.js +7 -1
- package/dist/tt-toggle-group.js.map +1 -1
- package/dist/tt-toggle.d.ts.map +1 -1
- package/dist/tt-toggle.js +14 -9
- package/dist/tt-toggle.js.map +1 -1
- package/package.json +1 -1
- package/vscode.html-custom-data.json +236 -65
package/dist/tt-chart.js
CHANGED
|
@@ -6,10 +6,73 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { LitElement, html, css } from "lit";
|
|
8
8
|
import { customElement, property, query } from "lit/decorators.js";
|
|
9
|
-
import { Chart, registerables } from "chart.js";
|
|
10
9
|
import { srOnly } from "./sr-only.js";
|
|
11
|
-
|
|
12
|
-
Chart.
|
|
10
|
+
/*
|
|
11
|
+
Chart.js is loaded the first time a chart draws, not when the library
|
|
12
|
+
is imported. It is most of the library's weight (about 70 KB gzipped),
|
|
13
|
+
and an app that imports the whole library without drawing a chart used
|
|
14
|
+
to download it anyway. One load for every chart on the page.
|
|
15
|
+
*/
|
|
16
|
+
let ChartClass;
|
|
17
|
+
let loading;
|
|
18
|
+
/** Loads Chart.js once and registers its parts. Charts call this themselves. */
|
|
19
|
+
export function loadChartJs() {
|
|
20
|
+
loading ??= import("chart.js").then(({ Chart, registerables }) => {
|
|
21
|
+
Chart.register(...registerables);
|
|
22
|
+
ChartClass = Chart;
|
|
23
|
+
return Chart;
|
|
24
|
+
});
|
|
25
|
+
return loading;
|
|
26
|
+
}
|
|
27
|
+
// The series colours, in order.
|
|
28
|
+
const PALETTE = [
|
|
29
|
+
"--tt-chart-1",
|
|
30
|
+
"--tt-chart-2",
|
|
31
|
+
"--tt-chart-3",
|
|
32
|
+
"--tt-chart-4",
|
|
33
|
+
"--tt-chart-5",
|
|
34
|
+
];
|
|
35
|
+
// Everything rebuild() reads from the tokens, the font included.
|
|
36
|
+
const TOKENS = [
|
|
37
|
+
...PALETTE,
|
|
38
|
+
"--tt-border",
|
|
39
|
+
"--tt-muted-foreground",
|
|
40
|
+
"--tt-popover",
|
|
41
|
+
"--tt-popover-foreground",
|
|
42
|
+
"--tt-card",
|
|
43
|
+
"--tt-font-sans",
|
|
44
|
+
];
|
|
45
|
+
/*
|
|
46
|
+
The element and everything it inherits from, up to <html>, stepping
|
|
47
|
+
out of each shadow root to its host: the composed path of ancestors.
|
|
48
|
+
*/
|
|
49
|
+
function* selfAndAncestors(start) {
|
|
50
|
+
let node = start;
|
|
51
|
+
while (node) {
|
|
52
|
+
if (node instanceof Element)
|
|
53
|
+
yield node;
|
|
54
|
+
node = node instanceof ShadowRoot ? node.host : node.parentNode;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/*
|
|
58
|
+
One colour per slice, round the palette, except that the last slice
|
|
59
|
+
never takes the first one's colour.
|
|
60
|
+
|
|
61
|
+
A pie is a circle, so its last slice touches its first. With six
|
|
62
|
+
slices and five colours both came out the same, and the two read as
|
|
63
|
+
one slice twice the size. The last one takes the first colour that
|
|
64
|
+
neither of its neighbours has.
|
|
65
|
+
*/
|
|
66
|
+
function sliceColours(colours, count) {
|
|
67
|
+
const slices = Array.from({ length: count }, (_, j) => colours[j % colours.length]);
|
|
68
|
+
const last = count - 1;
|
|
69
|
+
if (count > 2 && slices[last] === slices[0]) {
|
|
70
|
+
slices[last] =
|
|
71
|
+
colours.find((c) => c !== slices[0] && c !== slices[last - 1]) ??
|
|
72
|
+
slices[last];
|
|
73
|
+
}
|
|
74
|
+
return slices;
|
|
75
|
+
}
|
|
13
76
|
let TTChart = class TTChart extends LitElement {
|
|
14
77
|
constructor() {
|
|
15
78
|
super(...arguments);
|
|
@@ -21,6 +84,10 @@ let TTChart = class TTChart extends LitElement {
|
|
|
21
84
|
// Chart.js draws to a canvas, which is one opaque box to a screen
|
|
22
85
|
// reader. This is the only description it will ever get.
|
|
23
86
|
this.label = "";
|
|
87
|
+
// The animation frame a repaint is waiting for, 0 when none is.
|
|
88
|
+
this.repaintFrame = 0;
|
|
89
|
+
// The tokens the chart on screen was drawn with. See tokens().
|
|
90
|
+
this.painted = "";
|
|
24
91
|
/*
|
|
25
92
|
Frames spent waiting for the design tokens to become readable. Bounded
|
|
26
93
|
so a genuinely missing stylesheet degrades to a drawn chart rather
|
|
@@ -31,25 +98,34 @@ let TTChart = class TTChart extends LitElement {
|
|
|
31
98
|
token(name) {
|
|
32
99
|
return getComputedStyle(this).getPropertyValue(name).trim();
|
|
33
100
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
101
|
+
/*
|
|
102
|
+
Every token rebuild() reads, as one string, so "has anything the
|
|
103
|
+
chart is drawn with changed" is one comparison. A custom property
|
|
104
|
+
reads back with its var()s already filled in, so a palette built
|
|
105
|
+
from --tt-brand changes here when the brand does.
|
|
106
|
+
*/
|
|
107
|
+
tokens() {
|
|
108
|
+
const style = getComputedStyle(this);
|
|
109
|
+
return TOKENS.map((name) => style.getPropertyValue(name).trim()).join("|");
|
|
110
|
+
}
|
|
111
|
+
/*
|
|
112
|
+
A token as a colour the canvas understands.
|
|
113
|
+
|
|
114
|
+
The token's own text is not always one. A palette written as
|
|
115
|
+
color-mix(in oklab, var(--tt-brand) 50%, var(--tt-card)) reads back
|
|
116
|
+
as color-mix(...) with the colours filled in: still a formula, which
|
|
117
|
+
a canvas is not guaranteed to parse. Set as an element's colour, the
|
|
118
|
+
browser works the formula out, and the computed colour is a plain
|
|
119
|
+
value every canvas accepts. The probe is a hidden span in this
|
|
120
|
+
shadow root, so it inherits exactly what the chart does.
|
|
121
|
+
*/
|
|
122
|
+
colour(name) {
|
|
123
|
+
this.probe.style.color = `var(${name})`;
|
|
124
|
+
return getComputedStyle(this.probe).color;
|
|
42
125
|
}
|
|
43
126
|
connectedCallback() {
|
|
44
127
|
super.connectedCallback();
|
|
45
|
-
|
|
46
|
-
// Canvas will not restyle itself the way inherited custom properties
|
|
47
|
-
// would, so a theme switch left the chart in the old colours.
|
|
48
|
-
this.themeObserver = new MutationObserver(() => this.rebuild());
|
|
49
|
-
this.themeObserver.observe(document.documentElement, {
|
|
50
|
-
attributes: true,
|
|
51
|
-
attributeFilter: ["class", "data-theme"],
|
|
52
|
-
});
|
|
128
|
+
this.watchTokens();
|
|
53
129
|
/*
|
|
54
130
|
Reconnected after a move: drag and drop, or reparenting into a modal.
|
|
55
131
|
disconnectedCallback destroyed the chart, and firstUpdated, which
|
|
@@ -65,6 +141,8 @@ let TTChart = class TTChart extends LitElement {
|
|
|
65
141
|
disconnectedCallback() {
|
|
66
142
|
this.themeObserver?.disconnect();
|
|
67
143
|
this.resizeObserver?.disconnect();
|
|
144
|
+
cancelAnimationFrame(this.repaintFrame);
|
|
145
|
+
this.repaintFrame = 0;
|
|
68
146
|
// Chart.js holds listeners and an animation loop. Without destroy()
|
|
69
147
|
// every navigation leaks one chart.
|
|
70
148
|
this.chart?.destroy();
|
|
@@ -80,6 +158,45 @@ let TTChart = class TTChart extends LitElement {
|
|
|
80
158
|
firstUpdated() {
|
|
81
159
|
this.observeSize();
|
|
82
160
|
}
|
|
161
|
+
/*
|
|
162
|
+
REPAINT WHEN THE TOKENS CHANGE, wherever they change.
|
|
163
|
+
|
|
164
|
+
Inherited custom properties restyle every other component on their
|
|
165
|
+
own. A canvas keeps the colours it was drawn with, so this has to
|
|
166
|
+
notice. It used to watch only <html>, so a colour set on the chart
|
|
167
|
+
itself (a style attribute, a class) or a theme on any element
|
|
168
|
+
between it and <html> (data-theme, .dark, a builder colour theme)
|
|
169
|
+
was not picked up until something else repainted it.
|
|
170
|
+
|
|
171
|
+
So it watches its own class, style and data-theme, and those of
|
|
172
|
+
every ancestor, across shadow roots, since any of them can set a
|
|
173
|
+
token it inherits. Cheap on purpose: a burst of changes waits for
|
|
174
|
+
one animation frame, and the chart is rebuilt only if a token it
|
|
175
|
+
reads really changed. A class toggled on the page for any other
|
|
176
|
+
reason costs one read.
|
|
177
|
+
|
|
178
|
+
The list of ancestors is taken on connect. Moving the chart, or any
|
|
179
|
+
ancestor, disconnects and reconnects it, which takes it again.
|
|
180
|
+
*/
|
|
181
|
+
watchTokens() {
|
|
182
|
+
this.themeObserver?.disconnect();
|
|
183
|
+
this.themeObserver = new MutationObserver(() => this.scheduleRepaint());
|
|
184
|
+
for (const element of selfAndAncestors(this)) {
|
|
185
|
+
this.themeObserver.observe(element, {
|
|
186
|
+
attributes: true,
|
|
187
|
+
attributeFilter: ["class", "style", "data-theme"],
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
scheduleRepaint() {
|
|
192
|
+
if (this.repaintFrame)
|
|
193
|
+
return;
|
|
194
|
+
this.repaintFrame = requestAnimationFrame(() => {
|
|
195
|
+
this.repaintFrame = 0;
|
|
196
|
+
if (this.tokens() !== this.painted)
|
|
197
|
+
this.rebuild();
|
|
198
|
+
});
|
|
199
|
+
}
|
|
83
200
|
// Chart.js measures its container. Inside a shadow root, inside flex
|
|
84
201
|
// or grid, that measurement is often wrong on first paint, so drive
|
|
85
202
|
// resizing explicitly instead of trusting responsive: true.
|
|
@@ -103,7 +220,12 @@ let TTChart = class TTChart extends LitElement {
|
|
|
103
220
|
// already run, so its Chart.js listeners and animation loop leak.
|
|
104
221
|
if (!this.canvas || !this.isConnected)
|
|
105
222
|
return;
|
|
106
|
-
|
|
223
|
+
// The first chart on the page waits for Chart.js, then draws.
|
|
224
|
+
if (!ChartClass) {
|
|
225
|
+
loadChartJs().then(() => this.rebuild(), (error) => console.error("tt-chart: Chart.js failed to load.", error));
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const palette = PALETTE.map((name) => this.token(name));
|
|
107
229
|
/*
|
|
108
230
|
DO NOT PAINT BEFORE THE TOKENS RESOLVE.
|
|
109
231
|
|
|
@@ -128,14 +250,19 @@ let TTChart = class TTChart extends LitElement {
|
|
|
128
250
|
return;
|
|
129
251
|
}
|
|
130
252
|
this.chart?.destroy();
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
253
|
+
this.painted = this.tokens();
|
|
254
|
+
// From here on, colours the canvas can draw. Only the emptiness test
|
|
255
|
+
// above needs the raw token: an unset token resolves to the inherited
|
|
256
|
+
// text colour, which would hide that the stylesheet is missing.
|
|
257
|
+
const colours = PALETTE.map((name) => this.colour(name));
|
|
258
|
+
const grid = this.colour("--tt-border");
|
|
259
|
+
const text = this.colour("--tt-muted-foreground");
|
|
260
|
+
const surface = this.colour("--tt-popover");
|
|
261
|
+
const surfaceText = this.colour("--tt-popover-foreground");
|
|
135
262
|
// What a pie's slices are cut apart against. The card, not the
|
|
136
263
|
// popover: this is the surface the chart SITS on, not the one its
|
|
137
264
|
// tooltip is drawn on, and the two only happen to match today.
|
|
138
|
-
const sliceGap = this.
|
|
265
|
+
const sliceGap = this.colour("--tt-card");
|
|
139
266
|
/*
|
|
140
267
|
The typeface, resolved the same way as the colours. Chart.js draws
|
|
141
268
|
its own text in Helvetica unless told otherwise, so every axis label
|
|
@@ -169,15 +296,15 @@ let TTChart = class TTChart extends LitElement {
|
|
|
169
296
|
label: s.label,
|
|
170
297
|
data: s.data,
|
|
171
298
|
backgroundColor: sliced
|
|
172
|
-
? s.data.
|
|
173
|
-
:
|
|
299
|
+
? sliceColours(colours, s.data.length)
|
|
300
|
+
: colours[i % colours.length],
|
|
174
301
|
/*
|
|
175
302
|
Slices are separated by the gap between them, so their border
|
|
176
303
|
is the surface behind the chart rather than their own fill.
|
|
177
304
|
Chart.js defaults this to white, which draws five white hairs
|
|
178
305
|
across a dark theme.
|
|
179
306
|
*/
|
|
180
|
-
borderColor: sliced ? sliceGap :
|
|
307
|
+
borderColor: sliced ? sliceGap : colours[i % colours.length],
|
|
181
308
|
borderWidth: 2,
|
|
182
309
|
tension: 0.3,
|
|
183
310
|
pointRadius: 3,
|
|
@@ -236,7 +363,7 @@ let TTChart = class TTChart extends LitElement {
|
|
|
236
363
|
},
|
|
237
364
|
},
|
|
238
365
|
};
|
|
239
|
-
this.chart = new
|
|
366
|
+
this.chart = new ChartClass(this.canvas, config);
|
|
240
367
|
}
|
|
241
368
|
static { this.styles = [
|
|
242
369
|
srOnly,
|
|
@@ -264,6 +391,12 @@ let TTChart = class TTChart extends LitElement {
|
|
|
264
391
|
canvas {
|
|
265
392
|
display: block;
|
|
266
393
|
}
|
|
394
|
+
|
|
395
|
+
/* Never drawn. Its computed colour is how colour() resolves a token,
|
|
396
|
+
and display: none still computes it. */
|
|
397
|
+
.probe {
|
|
398
|
+
display: none;
|
|
399
|
+
}
|
|
267
400
|
`,
|
|
268
401
|
]; }
|
|
269
402
|
render() {
|
|
@@ -279,6 +412,8 @@ let TTChart = class TTChart extends LitElement {
|
|
|
279
412
|
></canvas>
|
|
280
413
|
</div>
|
|
281
414
|
|
|
415
|
+
<span class="probe"></span>
|
|
416
|
+
|
|
282
417
|
<!-- sr-only on a wrapper, not on the table: a table ignores
|
|
283
418
|
width: 1px and overflow: hidden and grows to fit its cells,
|
|
284
419
|
so a "hidden" table stuck out and scrolled the page sideways. -->
|
|
@@ -325,6 +460,9 @@ __decorate([
|
|
|
325
460
|
__decorate([
|
|
326
461
|
query("canvas")
|
|
327
462
|
], TTChart.prototype, "canvas", void 0);
|
|
463
|
+
__decorate([
|
|
464
|
+
query(".probe")
|
|
465
|
+
], TTChart.prototype, "probe", void 0);
|
|
328
466
|
TTChart = __decorate([
|
|
329
467
|
customElement("tt-chart")
|
|
330
468
|
], TTChart);
|
package/dist/tt-chart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-chart.js","sourceRoot":"","sources":["../src/tt-chart.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tt-chart.js","sourceRoot":"","sources":["../src/tt-chart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-checkbox.d.ts","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1C,qBACa,UAAW,SAAQ,UAAU;IAGxC,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,SAAS,CAA0B;IAYA,IAAI,SAAM;IAIrD,KAAK,SAAQ;IAGb,OAAO,UAAS;IAIhB,aAAa,UAAS;IAGtB,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAcX,WAAW,UAAS;IAGpB,KAAK,SAAM;IAEX,OAAO,CAAC,OAAO,CAA0B;IAEzC,IAAI,IAAI,2BAEP;IAED,IAAI,QAAQ,kBAEX;IACD,aAAa;IAIb,cAAc;IAId,iBAAiB;IAKjB,iBAAiB;IAKjB,wBAAwB,CAAC,KAAK,EAAE,MAAM;IAItC,OAAO,CAAC,OAAO,EAAE,cAAc;IAiB/B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,YAAY;IAiBpB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAI5B,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"tt-checkbox.d.ts","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1C,qBACa,UAAW,SAAQ,UAAU;IAGxC,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,SAAS,CAA0B;IAYA,IAAI,SAAM;IAIrD,KAAK,SAAQ;IAGb,OAAO,UAAS;IAIhB,aAAa,UAAS;IAGtB,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAcX,WAAW,UAAS;IAGpB,KAAK,SAAM;IAEX,OAAO,CAAC,OAAO,CAA0B;IAEzC,IAAI,IAAI,2BAEP;IAED,IAAI,QAAQ,kBAEX;IACD,aAAa;IAIb,cAAc;IAId,iBAAiB;IAKjB,iBAAiB;IAKjB,wBAAwB,CAAC,KAAK,EAAE,MAAM;IAItC,OAAO,CAAC,OAAO,EAAE,cAAc;IAiB/B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,YAAY;IAiBpB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAI5B,MAAM,CAAC,MAAM,4BAwKX;IAEF,MAAM;CAuCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|
package/dist/tt-checkbox.js
CHANGED
|
@@ -203,8 +203,11 @@ let TTCheckbox = class TTCheckbox extends LitElement {
|
|
|
203
203
|
box-shadow var(--tt-duration-normal) var(--tt-ease);
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
/* Only where a pointer can hover: a tap would leave this on. */
|
|
207
|
+
@media (hover: hover) {
|
|
208
|
+
input:hover:not(:disabled) {
|
|
209
|
+
border-color: var(--tt-foreground);
|
|
210
|
+
}
|
|
208
211
|
}
|
|
209
212
|
|
|
210
213
|
input:focus-visible {
|
package/dist/tt-checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-checkbox.js","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,IAAI,GAAG,GAAG,CAAC,CAAC;AAGL,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAAnC;;QAKG,cAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE3C;;;;;;;;;UASE;QACyC,SAAI,GAAG,EAAE,CAAC;QAErD,gEAAgE;QAEhE,UAAK,GAAG,IAAI,CAAC;QAGb,YAAO,GAAG,KAAK,CAAC;QAEhB,uEAAuE;QAEvE,kBAAa,GAAG,KAAK,CAAC;QAGtB,aAAQ,GAAG,KAAK,CAAC;QAGjB,aAAQ,GAAG,KAAK,CAAC;QAGjB,UAAK,GAAG,EAAE,CAAC;QAEX;;;;;;;;;;UAUE;QAEF,gBAAW,GAAG,KAAK,CAAC;QAGpB,UAAK,GAAG,EAAE,CAAC;QAEH,YAAO,GAAG,eAAe,EAAE,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tt-checkbox.js","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":"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"}
|
package/dist/tt-code-block.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
-
import "prismjs/components/prism-typescript";
|
|
3
|
-
import "prismjs/components/prism-javascript";
|
|
4
|
-
import "prismjs/components/prism-css";
|
|
5
|
-
import "prismjs/components/prism-json";
|
|
6
|
-
import "prismjs/components/prism-markup";
|
|
7
2
|
import "./tt-icon.js";
|
|
3
|
+
type PrismApi = typeof import("prismjs");
|
|
4
|
+
/** Loads Prism and its languages once. Code blocks call this themselves. */
|
|
5
|
+
export declare function loadPrism(): Promise<PrismApi>;
|
|
8
6
|
interface CodeTab {
|
|
9
7
|
label?: string;
|
|
10
8
|
language?: string;
|
|
@@ -19,6 +17,7 @@ export declare class TTCodeBlock extends LitElement {
|
|
|
19
17
|
private activeTabIndex;
|
|
20
18
|
private copied;
|
|
21
19
|
private copyTimer?;
|
|
20
|
+
connectedCallback(): void;
|
|
22
21
|
disconnectedCallback(): void;
|
|
23
22
|
private get currentCode();
|
|
24
23
|
private get currentLanguage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-code-block.d.ts","sourceRoot":"","sources":["../src/tt-code-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tt-code-block.d.ts","sourceRoot":"","sources":["../src/tt-code-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,OAAO,cAAc,CAAC;AAEtB,KAAK,QAAQ,GAAG,cAAc,SAAS,CAAC,CAAC;AAczC,4EAA4E;AAC5E,wBAAgB,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,CAc7C;AAED,UAAU,OAAO;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBACa,WAAY,SAAQ,UAAU;IACb,IAAI,SAAM;IACV,QAAQ,SAAM;IACd,QAAQ,SAAM;IAG1C,eAAe,UAAS;IACG,IAAI,EAAE,OAAO,EAAE,CAAM;IAEvC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,SAAS,CAAC,CAAgC;IAElD,iBAAiB;IAUjB,oBAAoB;IAKpB,OAAO,KAAK,WAAW,GAKtB;IAED,OAAO,KAAK,eAAe,GAK1B;IAKD,OAAO,KAAK,WAAW,GAatB;YAEa,QAAQ;IAetB,OAAO,CAAC,iBAAiB;IAezB,MAAM,CAAC,MAAM,4BAmPV;IAEH,MAAM;CAmEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
|
package/dist/tt-code-block.js
CHANGED
|
@@ -8,13 +8,34 @@ import { LitElement, html, css } from "lit";
|
|
|
8
8
|
import { customElement, property, state } from "lit/decorators.js";
|
|
9
9
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
10
10
|
import { srOnly } from "./sr-only.js";
|
|
11
|
-
import Prism from "prismjs";
|
|
12
|
-
import "prismjs/components/prism-typescript";
|
|
13
|
-
import "prismjs/components/prism-javascript";
|
|
14
|
-
import "prismjs/components/prism-css";
|
|
15
|
-
import "prismjs/components/prism-json";
|
|
16
|
-
import "prismjs/components/prism-markup"; // HTML
|
|
17
11
|
import "./tt-icon.js";
|
|
12
|
+
/*
|
|
13
|
+
Prism is loaded the first time a code block is shown, not when the
|
|
14
|
+
library is imported, so an app without code blocks never downloads it.
|
|
15
|
+
Until it arrives the code shows as plain text, then it is coloured.
|
|
16
|
+
|
|
17
|
+
The language files extend the core through a global Prism, so the core
|
|
18
|
+
goes first and the languages after. The core already has markup (HTML),
|
|
19
|
+
css, clike and javascript; typescript builds on javascript.
|
|
20
|
+
*/
|
|
21
|
+
let prism;
|
|
22
|
+
let loading;
|
|
23
|
+
/** Loads Prism and its languages once. Code blocks call this themselves. */
|
|
24
|
+
export function loadPrism() {
|
|
25
|
+
loading ??= import("prismjs").then(async (module) => {
|
|
26
|
+
const core = (module.default ?? module);
|
|
27
|
+
// The language files have no types: they only add to the global Prism.
|
|
28
|
+
await Promise.all([
|
|
29
|
+
// @ts-expect-error untyped side-effect module
|
|
30
|
+
import("prismjs/components/prism-typescript"),
|
|
31
|
+
// @ts-expect-error untyped side-effect module
|
|
32
|
+
import("prismjs/components/prism-json"),
|
|
33
|
+
]);
|
|
34
|
+
prism = core;
|
|
35
|
+
return core;
|
|
36
|
+
});
|
|
37
|
+
return loading;
|
|
38
|
+
}
|
|
18
39
|
let TTCodeBlock = class TTCodeBlock extends LitElement {
|
|
19
40
|
constructor() {
|
|
20
41
|
super(...arguments);
|
|
@@ -27,6 +48,12 @@ let TTCodeBlock = class TTCodeBlock extends LitElement {
|
|
|
27
48
|
this.activeTabIndex = 0;
|
|
28
49
|
this.copied = false;
|
|
29
50
|
}
|
|
51
|
+
connectedCallback() {
|
|
52
|
+
super.connectedCallback();
|
|
53
|
+
if (!prism) {
|
|
54
|
+
loadPrism().then(() => this.requestUpdate(), (error) => console.error("tt-code-block: Prism failed to load.", error));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
30
57
|
disconnectedCallback() {
|
|
31
58
|
clearTimeout(this.copyTimer);
|
|
32
59
|
super.disconnectedCallback();
|
|
@@ -47,11 +74,15 @@ let TTCodeBlock = class TTCodeBlock extends LitElement {
|
|
|
47
74
|
// updated(), so the markup is correct on first paint and Lit stays in
|
|
48
75
|
// charge of the DOM.
|
|
49
76
|
get highlighted() {
|
|
77
|
+
const code = this.currentCode.trim();
|
|
78
|
+
// Not loaded yet: plain text, which Lit escapes.
|
|
79
|
+
if (!prism)
|
|
80
|
+
return code;
|
|
50
81
|
const lang = this.currentLanguage.toLowerCase();
|
|
51
|
-
const grammar =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return
|
|
82
|
+
const grammar = prism.languages[lang] ??
|
|
83
|
+
prism.languages.clike ??
|
|
84
|
+
prism.languages.markup;
|
|
85
|
+
return unsafeHTML(prism.highlight(code, grammar, lang));
|
|
55
86
|
}
|
|
56
87
|
async copyCode() {
|
|
57
88
|
try {
|
|
@@ -164,9 +195,12 @@ let TTCodeBlock = class TTCodeBlock extends LitElement {
|
|
|
164
195
|
background var(--tt-duration-normal) var(--tt-ease);
|
|
165
196
|
}
|
|
166
197
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
198
|
+
/* Only where a pointer can hover: a tap would leave this on. */
|
|
199
|
+
@media (hover: hover) {
|
|
200
|
+
.tab:hover {
|
|
201
|
+
color: var(--tt-code-foreground);
|
|
202
|
+
background: rgb(255 255 255 / 0.05);
|
|
203
|
+
}
|
|
170
204
|
}
|
|
171
205
|
|
|
172
206
|
.tab.active {
|
|
@@ -207,9 +241,11 @@ let TTCodeBlock = class TTCodeBlock extends LitElement {
|
|
|
207
241
|
border-color var(--tt-duration-normal) var(--tt-ease);
|
|
208
242
|
}
|
|
209
243
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
244
|
+
@media (hover: hover) {
|
|
245
|
+
.copy-btn:hover {
|
|
246
|
+
background: rgb(255 255 255 / 0.08);
|
|
247
|
+
border-color: var(--tt-code-muted);
|
|
248
|
+
}
|
|
213
249
|
}
|
|
214
250
|
|
|
215
251
|
.copy-btn:focus-visible {
|
|
@@ -375,7 +411,7 @@ let TTCodeBlock = class TTCodeBlock extends LitElement {
|
|
|
375
411
|
|
|
376
412
|
<div class="code-viewport">
|
|
377
413
|
${this.renderLineNumbers()}
|
|
378
|
-
<pre part="code"><code>${
|
|
414
|
+
<pre part="code"><code>${this.highlighted}</code></pre>
|
|
379
415
|
</div>
|
|
380
416
|
</div>
|
|
381
417
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-code-block.js","sourceRoot":"","sources":["../src/tt-code-block.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"tt-code-block.js","sourceRoot":"","sources":["../src/tt-code-block.ts"],"names":[],"mappings":"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"}
|
package/dist/tt-combobox.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { LitElement } from "lit";
|
|
|
2
2
|
import type { PropertyValues } from "lit";
|
|
3
3
|
import "./tt-icon.js";
|
|
4
4
|
import type { SelectOption } from "./tt-select.js";
|
|
5
|
+
import type { TTStrings } from "./strings.js";
|
|
5
6
|
/**
|
|
6
7
|
* A select you can type into.
|
|
7
8
|
*
|
|
@@ -25,10 +26,16 @@ import type { SelectOption } from "./tt-select.js";
|
|
|
25
26
|
* ever changes by choosing an option.
|
|
26
27
|
*/
|
|
27
28
|
export declare class TTCombobox extends LitElement {
|
|
29
|
+
/** This component's own text, over setStrings() (see strings.ts). */
|
|
30
|
+
strings: Partial<TTStrings>;
|
|
31
|
+
private text;
|
|
28
32
|
static formAssociated: boolean;
|
|
29
33
|
private internals;
|
|
30
34
|
name: string;
|
|
31
35
|
value: string;
|
|
36
|
+
multiple: boolean;
|
|
37
|
+
/** The chosen values while `multiple` is on, in the options' order. */
|
|
38
|
+
values: string[];
|
|
32
39
|
options: SelectOption[];
|
|
33
40
|
label: string;
|
|
34
41
|
placeholder: string;
|
|
@@ -58,6 +65,9 @@ export declare class TTCombobox extends LitElement {
|
|
|
58
65
|
formStateRestoreCallback(state: string): void;
|
|
59
66
|
private syncFormState;
|
|
60
67
|
private get selected();
|
|
68
|
+
private get hasValue();
|
|
69
|
+
private isChosen;
|
|
70
|
+
private get chosenOptions();
|
|
61
71
|
private score;
|
|
62
72
|
private get filtered();
|
|
63
73
|
private openList;
|
|
@@ -87,6 +97,10 @@ export declare class TTCombobox extends LitElement {
|
|
|
87
97
|
*/
|
|
88
98
|
private handleFieldClick;
|
|
89
99
|
private choose;
|
|
100
|
+
/** Keeps the options' order, so the chips do not shuffle. */
|
|
101
|
+
private setValues;
|
|
102
|
+
private emitChange;
|
|
103
|
+
private removeValue;
|
|
90
104
|
private clear;
|
|
91
105
|
private handleInput;
|
|
92
106
|
private move;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tt-combobox.d.ts","sourceRoot":"","sources":["../src/tt-combobox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1C,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tt-combobox.d.ts","sourceRoot":"","sources":["../src/tt-combobox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1C,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,qEAAqE;IACrC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAM;IAEjE,OAAO,CAAC,IAAI,CAA+B;IAE3C,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,SAAS,CAA0B;IAIA,IAAI,SAAM;IAEzB,KAAK,SAAM;IAOK,QAAQ,UAAS;IAE7D,uEAAuE;IAC5C,MAAM,EAAE,MAAM,EAAE,CAAM;IAEtB,OAAO,EAAE,YAAY,EAAE,CAAM;IAE5B,KAAK,SAAM;IAEX,WAAW,SAAsB;IAER,SAAS,SAAgB;IAElD,KAAK,SAAM;IAEK,QAAQ,UAAS;IAEhC,QAAQ,UAAS;IAIH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAY;IAKzF,WAAW,UAAS;IAGS,SAAS,UAAS;IAEtC,OAAO,CAAC,IAAI,CAAS;IAGrB,OAAO,CAAC,KAAK,CAAM;IAInB,OAAO,CAAC,WAAW,CAAM;IAElB,OAAO,CAAC,KAAK,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAe;IAChC,OAAO,CAAC,IAAI,CAAoB;IAE7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,OAAO,CAAC,CAAa;IAE7B,IAAI,IAAI,2BAEP;IAED,IAAI,QAAQ,kBAEX;IAED,aAAa;IAIb,cAAc;IAId,iBAAiB;IAKjB,oBAAoB;IAKpB,iBAAiB;IAMjB,wBAAwB,CAAC,KAAK,EAAE,MAAM;IAItC,OAAO,CAAC,aAAa;IAsBrB,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,CAAC,QAAQ;IAKhB,OAAO,KAAK,aAAa,GAExB;IA6BD,OAAO,CAAC,KAAK;IAYb,OAAO,KAAK,QAAQ,GASnB;IAID,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,MAAM;IAqBd,6DAA6D;IAC7D,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,aAAa;IAkErB,OAAO,CAAC,OAAO,EAAE,cAAc;IAiB/B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,QAAQ;IAYhB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAI5B,MAAM,CAAC,MAAM,4BAqWV;IAEH,MAAM;CAoKP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|