@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.
Files changed (213) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +12 -0
  3. package/custom-elements.json +3160 -1264
  4. package/dist/accordion/tt-accordion-item.d.ts.map +1 -1
  5. package/dist/accordion/tt-accordion-item.js +5 -2
  6. package/dist/accordion/tt-accordion-item.js.map +1 -1
  7. package/dist/bento/tt-bento-item.d.ts.map +1 -1
  8. package/dist/bento/tt-bento-item.js +7 -13
  9. package/dist/bento/tt-bento-item.js.map +1 -1
  10. package/dist/docs.d.ts +7 -0
  11. package/dist/docs.d.ts.map +1 -0
  12. package/dist/docs.js +15 -0
  13. package/dist/docs.js.map +1 -0
  14. package/dist/index.d.ts +4 -6
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +8 -7
  17. package/dist/index.js.map +1 -1
  18. package/dist/sidebar/tt-menu-group.d.ts.map +1 -1
  19. package/dist/sidebar/tt-menu-group.js +16 -5
  20. package/dist/sidebar/tt-menu-group.js.map +1 -1
  21. package/dist/sidebar/tt-menu-item.d.ts.map +1 -1
  22. package/dist/sidebar/tt-menu-item.js +24 -11
  23. package/dist/sidebar/tt-menu-item.js.map +1 -1
  24. package/dist/sidebar/tt-sidebar-footer.d.ts.map +1 -1
  25. package/dist/sidebar/tt-sidebar-footer.js +7 -3
  26. package/dist/sidebar/tt-sidebar-footer.js.map +1 -1
  27. package/dist/sidebar/tt-sidebar.d.ts +8 -3
  28. package/dist/sidebar/tt-sidebar.d.ts.map +1 -1
  29. package/dist/sidebar/tt-sidebar.js +196 -44
  30. package/dist/sidebar/tt-sidebar.js.map +1 -1
  31. package/dist/strings.d.ts +64 -0
  32. package/dist/strings.d.ts.map +1 -0
  33. package/dist/strings.js +68 -0
  34. package/dist/strings.js.map +1 -0
  35. package/dist/tokens.css +30 -6
  36. package/dist/tt-alert.d.ts.map +1 -1
  37. package/dist/tt-alert.js +5 -2
  38. package/dist/tt-alert.js.map +1 -1
  39. package/dist/tt-auth.d.ts +5 -1
  40. package/dist/tt-auth.d.ts.map +1 -1
  41. package/dist/tt-auth.js +72 -10
  42. package/dist/tt-auth.js.map +1 -1
  43. package/dist/tt-breadcrumbs.d.ts.map +1 -1
  44. package/dist/tt-breadcrumbs.js +6 -3
  45. package/dist/tt-breadcrumbs.js.map +1 -1
  46. package/dist/tt-button-group.d.ts.map +1 -1
  47. package/dist/tt-button-group.js +7 -1
  48. package/dist/tt-button-group.js.map +1 -1
  49. package/dist/tt-button.d.ts.map +1 -1
  50. package/dist/tt-button.js +37 -28
  51. package/dist/tt-button.js.map +1 -1
  52. package/dist/tt-card.d.ts.map +1 -1
  53. package/dist/tt-card.js +9 -6
  54. package/dist/tt-card.js.map +1 -1
  55. package/dist/tt-chart.d.ts +10 -2
  56. package/dist/tt-chart.d.ts.map +1 -1
  57. package/dist/tt-chart.js +167 -29
  58. package/dist/tt-chart.js.map +1 -1
  59. package/dist/tt-checkbox.d.ts.map +1 -1
  60. package/dist/tt-checkbox.js +5 -2
  61. package/dist/tt-checkbox.js.map +1 -1
  62. package/dist/tt-code-block.d.ts +4 -5
  63. package/dist/tt-code-block.d.ts.map +1 -1
  64. package/dist/tt-code-block.js +53 -17
  65. package/dist/tt-code-block.js.map +1 -1
  66. package/dist/tt-combobox.d.ts +14 -0
  67. package/dist/tt-combobox.d.ts.map +1 -1
  68. package/dist/tt-combobox.js +234 -31
  69. package/dist/tt-combobox.js.map +1 -1
  70. package/dist/tt-company-card.d.ts +18 -0
  71. package/dist/tt-company-card.d.ts.map +1 -1
  72. package/dist/tt-company-card.js +73 -4
  73. package/dist/tt-company-card.js.map +1 -1
  74. package/dist/tt-comparison-table.d.ts.map +1 -1
  75. package/dist/tt-comparison-table.js +6 -3
  76. package/dist/tt-comparison-table.js.map +1 -1
  77. package/dist/tt-component-doc.d.ts.map +1 -1
  78. package/dist/tt-component-doc.js +6 -3
  79. package/dist/tt-component-doc.js.map +1 -1
  80. package/dist/tt-contact-list.d.ts +17 -2
  81. package/dist/tt-contact-list.d.ts.map +1 -1
  82. package/dist/tt-contact-list.js +68 -10
  83. package/dist/tt-contact-list.js.map +1 -1
  84. package/dist/tt-copy-button.d.ts.map +1 -1
  85. package/dist/tt-copy-button.js +6 -3
  86. package/dist/tt-copy-button.js.map +1 -1
  87. package/dist/tt-data-table.d.ts +4 -0
  88. package/dist/tt-data-table.d.ts.map +1 -1
  89. package/dist/tt-data-table.js +25 -9
  90. package/dist/tt-data-table.js.map +1 -1
  91. package/dist/tt-dock-item.d.ts +53 -0
  92. package/dist/tt-dock-item.d.ts.map +1 -0
  93. package/dist/tt-dock-item.js +270 -0
  94. package/dist/tt-dock-item.js.map +1 -0
  95. package/dist/tt-dock.d.ts +59 -0
  96. package/dist/tt-dock.d.ts.map +1 -0
  97. package/dist/tt-dock.js +337 -0
  98. package/dist/tt-dock.js.map +1 -0
  99. package/dist/tt-drawer.d.ts +4 -0
  100. package/dist/tt-drawer.d.ts.map +1 -1
  101. package/dist/tt-drawer.js +14 -4
  102. package/dist/tt-drawer.js.map +1 -1
  103. package/dist/tt-dropdown-menu.d.ts +5 -0
  104. package/dist/tt-dropdown-menu.d.ts.map +1 -1
  105. package/dist/tt-dropdown-menu.js +34 -8
  106. package/dist/tt-dropdown-menu.js.map +1 -1
  107. package/dist/tt-file-upload.d.ts +35 -0
  108. package/dist/tt-file-upload.d.ts.map +1 -1
  109. package/dist/tt-file-upload.js +210 -21
  110. package/dist/tt-file-upload.js.map +1 -1
  111. package/dist/tt-filter.d.ts.map +1 -1
  112. package/dist/tt-filter.js +10 -5
  113. package/dist/tt-filter.js.map +1 -1
  114. package/dist/tt-form.d.ts +25 -1
  115. package/dist/tt-form.d.ts.map +1 -1
  116. package/dist/tt-form.js +151 -12
  117. package/dist/tt-form.js.map +1 -1
  118. package/dist/tt-grid.d.ts +10 -1
  119. package/dist/tt-grid.d.ts.map +1 -1
  120. package/dist/tt-grid.js +38 -9
  121. package/dist/tt-grid.js.map +1 -1
  122. package/dist/tt-icon.d.ts.map +1 -1
  123. package/dist/tt-icon.js +5 -0
  124. package/dist/tt-icon.js.map +1 -1
  125. package/dist/tt-inbox.d.ts +4 -0
  126. package/dist/tt-inbox.d.ts.map +1 -1
  127. package/dist/tt-inbox.js +13 -3
  128. package/dist/tt-inbox.js.map +1 -1
  129. package/dist/tt-input.d.ts.map +1 -1
  130. package/dist/tt-input.js +15 -5
  131. package/dist/tt-input.js.map +1 -1
  132. package/dist/tt-key-values.d.ts +2 -0
  133. package/dist/tt-key-values.d.ts.map +1 -1
  134. package/dist/tt-key-values.js +45 -2
  135. package/dist/tt-key-values.js.map +1 -1
  136. package/dist/tt-layout.d.ts +53 -2
  137. package/dist/tt-layout.d.ts.map +1 -1
  138. package/dist/tt-layout.js +233 -27
  139. package/dist/tt-layout.js.map +1 -1
  140. package/dist/tt-modal.d.ts +4 -0
  141. package/dist/tt-modal.d.ts.map +1 -1
  142. package/dist/tt-modal.js +14 -4
  143. package/dist/tt-modal.js.map +1 -1
  144. package/dist/tt-navbar.d.ts +4 -0
  145. package/dist/tt-navbar.d.ts.map +1 -1
  146. package/dist/tt-navbar.js +42 -7
  147. package/dist/tt-navbar.js.map +1 -1
  148. package/dist/tt-pagination.d.ts +4 -0
  149. package/dist/tt-pagination.d.ts.map +1 -1
  150. package/dist/tt-pagination.js +8 -1
  151. package/dist/tt-pagination.js.map +1 -1
  152. package/dist/tt-product.d.ts +67 -15
  153. package/dist/tt-product.d.ts.map +1 -1
  154. package/dist/tt-product.js +447 -366
  155. package/dist/tt-product.js.map +1 -1
  156. package/dist/tt-progress.d.ts +1 -0
  157. package/dist/tt-progress.d.ts.map +1 -1
  158. package/dist/tt-progress.js +26 -7
  159. package/dist/tt-progress.js.map +1 -1
  160. package/dist/tt-quantity.d.ts.map +1 -1
  161. package/dist/tt-quantity.js +5 -2
  162. package/dist/tt-quantity.js.map +1 -1
  163. package/dist/tt-radio-group.d.ts.map +1 -1
  164. package/dist/tt-radio-group.js +5 -2
  165. package/dist/tt-radio-group.js.map +1 -1
  166. package/dist/tt-scroller.d.ts +76 -0
  167. package/dist/tt-scroller.d.ts.map +1 -0
  168. package/dist/tt-scroller.js +525 -0
  169. package/dist/tt-scroller.js.map +1 -0
  170. package/dist/tt-search.d.ts.map +1 -1
  171. package/dist/tt-search.js +10 -5
  172. package/dist/tt-search.js.map +1 -1
  173. package/dist/tt-select.d.ts +9 -0
  174. package/dist/tt-select.d.ts.map +1 -1
  175. package/dist/tt-select.js +99 -14
  176. package/dist/tt-select.js.map +1 -1
  177. package/dist/tt-slider.d.ts.map +1 -1
  178. package/dist/tt-slider.js +13 -2
  179. package/dist/tt-slider.js.map +1 -1
  180. package/dist/tt-social-links.d.ts.map +1 -1
  181. package/dist/tt-social-links.js +7 -4
  182. package/dist/tt-social-links.js.map +1 -1
  183. package/dist/tt-switcher.d.ts +2 -0
  184. package/dist/tt-switcher.d.ts.map +1 -1
  185. package/dist/tt-switcher.js +24 -76
  186. package/dist/tt-switcher.js.map +1 -1
  187. package/dist/tt-table-row.d.ts.map +1 -1
  188. package/dist/tt-table-row.js +5 -2
  189. package/dist/tt-table-row.js.map +1 -1
  190. package/dist/tt-table.d.ts.map +1 -1
  191. package/dist/tt-table.js +5 -2
  192. package/dist/tt-table.js.map +1 -1
  193. package/dist/tt-tabs.d.ts.map +1 -1
  194. package/dist/tt-tabs.js +5 -2
  195. package/dist/tt-tabs.js.map +1 -1
  196. package/dist/tt-tag-list.d.ts.map +1 -1
  197. package/dist/tt-tag-list.js +6 -3
  198. package/dist/tt-tag-list.js.map +1 -1
  199. package/dist/tt-textarea.d.ts.map +1 -1
  200. package/dist/tt-textarea.js +5 -2
  201. package/dist/tt-textarea.js.map +1 -1
  202. package/dist/tt-toast.d.ts +4 -1
  203. package/dist/tt-toast.d.ts.map +1 -1
  204. package/dist/tt-toast.js +40 -6
  205. package/dist/tt-toast.js.map +1 -1
  206. package/dist/tt-toggle-group.d.ts.map +1 -1
  207. package/dist/tt-toggle-group.js +7 -1
  208. package/dist/tt-toggle-group.js.map +1 -1
  209. package/dist/tt-toggle.d.ts.map +1 -1
  210. package/dist/tt-toggle.js +14 -9
  211. package/dist/tt-toggle.js.map +1 -1
  212. package/package.json +1 -1
  213. 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
- // Registered once for the module, not per instance.
12
- Chart.register(...registerables);
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
- get palette() {
35
- return [
36
- this.token("--tt-chart-1"),
37
- this.token("--tt-chart-2"),
38
- this.token("--tt-chart-3"),
39
- this.token("--tt-chart-4"),
40
- this.token("--tt-chart-5"),
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
- // Watch the dark class and the theme preset on <html> and repaint.
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
- const palette = this.palette;
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
- const grid = this.token("--tt-border");
132
- const text = this.token("--tt-muted-foreground");
133
- const surface = this.token("--tt-popover");
134
- const surfaceText = this.token("--tt-popover-foreground");
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.token("--tt-card");
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.map((_, j) => palette[j % palette.length])
173
- : palette[i % palette.length],
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 : palette[i % palette.length],
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 Chart(this.canvas, config);
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);
@@ -1 +1 @@
1
- {"version":3,"file":"tt-chart.js","sourceRoot":"","sources":["../src/tt-chart.ts"],"names":[],"mappings":"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"}
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,4BAqKX;IAEF,MAAM;CAuCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
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"}
@@ -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
- input:hover:not(:disabled) {
207
- border-color: var(--tt-foreground);
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 {
@@ -1 +1 @@
1
- {"version":3,"file":"tt-checkbox.js","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tt-checkbox.js","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":"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"}
@@ -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;AAM5C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AAEzC,OAAO,cAAc,CAAC;AAEtB,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,oBAAoB;IAKpB,OAAO,KAAK,WAAW,GAKtB;IAED,OAAO,KAAK,eAAe,GAK1B;IAKD,OAAO,KAAK,WAAW,GAStB;YAEa,QAAQ;IAetB,OAAO,CAAC,iBAAiB;IAezB,MAAM,CAAC,MAAM,4BA8OV;IAEH,MAAM;CAmEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
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"}
@@ -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 = Prism.languages[lang] ??
52
- Prism.languages.clike ??
53
- Prism.languages.markup;
54
- return Prism.highlight(this.currentCode.trim(), grammar, lang);
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
- .tab:hover {
168
- color: var(--tt-code-foreground);
169
- background: rgb(255 255 255 / 0.05);
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
- .copy-btn:hover {
211
- background: rgb(255 255 255 / 0.08);
212
- border-color: var(--tt-code-muted);
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>${unsafeHTML(this.highlighted)}</code></pre>
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":"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"}
1
+ {"version":3,"file":"tt-code-block.js","sourceRoot":"","sources":["../src/tt-code-block.ts"],"names":[],"mappings":"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"}
@@ -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;AAInD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,SAAS,CAA0B;IAIA,IAAI,SAAM;IAEzB,KAAK,SAAM;IAEZ,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;IAKjB,wBAAwB,CAAC,KAAK,EAAE,MAAM;IAItC,OAAO,CAAC,aAAa;IAgBrB,OAAO,KAAK,QAAQ,GAEnB;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;IAed,OAAO,CAAC,KAAK;IAmBb,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,aAAa;IA0DrB,OAAO,CAAC,OAAO,EAAE,cAAc;IAU/B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,QAAQ;IAYhB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAI5B,MAAM,CAAC,MAAM,4BAiRV;IAEH,MAAM;CA2HP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
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"}