@ptlm-azulejo/tooltip 1.0.0-alpha.149 → 1.0.0-alpha.151
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/README.md +40 -41
- package/dist/index.js +64 -33
- package/dist/src/index.vue.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,10 +35,10 @@ CSS variables at runtime. Those tokens come from `@ptlm-azulejo/themes`, and **t
|
|
|
35
35
|
brand is selected by a class on your app's `<html>` element**, so switching brand
|
|
36
36
|
never touches component code.
|
|
37
37
|
|
|
38
|
-
| Project
|
|
39
|
-
|
|
|
40
|
-
| Leroy Merlin | `@ptlm-azulejo/themes/presets/leroy-merlin.css` | `preset-lm`
|
|
41
|
-
| Adeo
|
|
38
|
+
| Project | Preset stylesheet | Root class | Typeface | Font package |
|
|
39
|
+
| ------------ | ----------------------------------------------- | ------------- | --------------- | ---------------------------------- |
|
|
40
|
+
| Leroy Merlin | `@ptlm-azulejo/themes/presets/leroy-merlin.css` | `preset-lm` | LeroyMerlinSans | `@ptlm-azulejo/fonts-leroy-merlin` |
|
|
41
|
+
| Adeo | `@ptlm-azulejo/themes/presets/adeo.css` | `preset-adeo` | Roboto | `@ptlm-azulejo/fonts-adeo` |
|
|
42
42
|
|
|
43
43
|
**Leroy Merlin projects**
|
|
44
44
|
|
|
@@ -49,7 +49,7 @@ import '@ptlm-azulejo/tooltip/style.css'
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
```html
|
|
52
|
-
<html lang="pt" class="preset-lm">
|
|
52
|
+
<html lang="pt" class="preset-lm"></html>
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
**Adeo projects**
|
|
@@ -61,7 +61,7 @@ import '@ptlm-azulejo/tooltip/style.css'
|
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
```html
|
|
64
|
-
<html lang="pt" class="preset-adeo">
|
|
64
|
+
<html lang="pt" class="preset-adeo"></html>
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
> The preset class is what resolves the brand at runtime. Without it — even with
|
|
@@ -75,12 +75,12 @@ Add `data-theme` alongside the brand class to pin the color scheme. Leave it off
|
|
|
75
75
|
and the preset follows the OS `prefers-color-scheme`:
|
|
76
76
|
|
|
77
77
|
```html
|
|
78
|
-
<html lang="pt" class="preset-lm" data-theme="dark">
|
|
78
|
+
<html lang="pt" class="preset-lm" data-theme="dark"></html>
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
### Why the font package is separate
|
|
82
82
|
|
|
83
|
-
The preset only
|
|
83
|
+
The preset only _names_ its typeface in `--font-family` and ships no font files.
|
|
84
84
|
[Loading them is your app's job](../themes/README.md#fonts), as with upstream
|
|
85
85
|
Mozaic, so you keep control of hosting, subsetting and preload. Without the
|
|
86
86
|
matching font package, `font-sans` falls back to a generic sans-serif. A
|
|
@@ -89,32 +89,32 @@ only the active brand's file is ever downloaded.
|
|
|
89
89
|
|
|
90
90
|
### Custom property
|
|
91
91
|
|
|
92
|
-
| Name
|
|
93
|
-
|
|
|
94
|
-
| `--tooltip-z-index` | `number` | `1`
|
|
92
|
+
| Name | Type | Default | Description |
|
|
93
|
+
| ------------------- | -------- | ------- | ------------------------------------------- |
|
|
94
|
+
| `--tooltip-z-index` | `number` | `1` | Customise the z-index of the tooltip bubble |
|
|
95
95
|
|
|
96
96
|
## Props
|
|
97
97
|
|
|
98
|
-
| Name
|
|
99
|
-
|
|
|
100
|
-
| `id`
|
|
101
|
-
| `text`
|
|
102
|
-
| `position`
|
|
103
|
-
| `pointer`
|
|
104
|
-
| `helpCursor` | `boolean`
|
|
105
|
-
| `radius`
|
|
106
|
-
| `standalone` | `boolean`
|
|
107
|
-
| `ui`
|
|
98
|
+
| Name | Type | Default | Description |
|
|
99
|
+
| ------------ | ---------------------------------------- | ------- | ---------------------------------------------------------- |
|
|
100
|
+
| `id` | `string` | — | Unique id for `aria-describedby` / content `id` (required) |
|
|
101
|
+
| `text` | `string` | — | Tooltip content; keep concise (required) |
|
|
102
|
+
| `position` | `'top' \| 'bottom' \| 'left' \| 'right'` | `'top'` | Position relative to the trigger |
|
|
103
|
+
| `pointer` | `boolean` | `true` | Show the origin arrow pointing at the trigger |
|
|
104
|
+
| `helpCursor` | `boolean` | `false` | Show the help cursor (`?`) on hover / focus |
|
|
105
|
+
| `radius` | `'none' \| 'sm' \| 'md' \| 'lg'` | `'md'` | Bubble border radius (`none` or `--border-radius-s/m/l`) |
|
|
106
|
+
| `standalone` | `boolean` | `false` | Always visible, in normal flow (no hover gate) |
|
|
107
|
+
| `ui` | `TooltipUi` | `{}` | Per-part Tailwind class overrides |
|
|
108
108
|
|
|
109
109
|
### `:ui` keys
|
|
110
110
|
|
|
111
111
|
Pass Tailwind class strings; they **merge** with defaults via `cn()` (conflicting utilities win).
|
|
112
112
|
|
|
113
|
-
| Key
|
|
114
|
-
|
|
|
115
|
-
| `root`
|
|
116
|
-
| `content` | The bubble (`role="tooltip"`)
|
|
117
|
-
| `text`
|
|
113
|
+
| Key | Targets | `data-testid` |
|
|
114
|
+
| --------- | --------------------------------------------------------- | ----------------- |
|
|
115
|
+
| `root` | Wrapper around the trigger and bubble | `tooltip` |
|
|
116
|
+
| `content` | The bubble (`role="tooltip"`) | `tooltip-content` |
|
|
117
|
+
| `text` | The label inside the bubble | `tooltip-text` |
|
|
118
118
|
| `pointer` | Origin arrow wrapper (masked triangle on the bubble edge) | `tooltip-pointer` |
|
|
119
119
|
|
|
120
120
|
```vue
|
|
@@ -126,7 +126,8 @@ Pass Tailwind class strings; they **merge** with defaults via `cn()` (conflictin
|
|
|
126
126
|
root: 'shadow-lg',
|
|
127
127
|
content: 'bg-[color:var(--color-background-accent-inverse)] border-transparent',
|
|
128
128
|
text: 'uppercase tracking-wide',
|
|
129
|
-
pointer:
|
|
129
|
+
pointer:
|
|
130
|
+
'[--tooltip-pointer-fill:var(--color-background-accent-inverse)] [--tooltip-pointer-border:transparent]',
|
|
130
131
|
}"
|
|
131
132
|
>
|
|
132
133
|
Trigger
|
|
@@ -139,20 +140,20 @@ When you recolour `content`, set `--tooltip-pointer-fill` / `--tooltip-pointer-b
|
|
|
139
140
|
|
|
140
141
|
Aligned with the [ARIA tooltip pattern](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/tooltip_role) and WCAG **1.4.13 Content on Hover or Focus**:
|
|
141
142
|
|
|
142
|
-
| Requirement
|
|
143
|
-
|
|
|
144
|
-
| Name / role
|
|
145
|
-
| Relationship
|
|
146
|
-
| Keyboard
|
|
147
|
-
| Hoverable
|
|
148
|
-
| Persistent
|
|
149
|
-
| Decorative arrow
|
|
150
|
-
| Non-essential only | Do not put critical information only in the tooltip (touch / some AT may miss it)
|
|
143
|
+
| Requirement | Behavior |
|
|
144
|
+
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
145
|
+
| Name / role | Bubble has `role="tooltip"` and a stable `id` |
|
|
146
|
+
| Relationship | `aria-describedby` is set on the **owning control** — a focusable slotted element if present, otherwise the root (`tabindex="0"`) |
|
|
147
|
+
| Keyboard | Opens on focus; Escape dismisses without moving focus |
|
|
148
|
+
| Hoverable | Gap is sized so the arrow bridges trigger → bubble; hover stays on the root |
|
|
149
|
+
| Persistent | Stays open until blur / mouse leave / Escape |
|
|
150
|
+
| Decorative arrow | `aria-hidden="true"` |
|
|
151
|
+
| Non-essential only | Do not put critical information only in the tooltip (touch / some AT may miss it) |
|
|
151
152
|
|
|
152
153
|
## Slots
|
|
153
154
|
|
|
154
|
-
| Name
|
|
155
|
-
|
|
|
155
|
+
| Name | Description |
|
|
156
|
+
| --------- | --------------------------------------------------------------- |
|
|
156
157
|
| `default` | The tooltip will point to the content of the slot (the trigger) |
|
|
157
158
|
|
|
158
159
|
## Basic usage
|
|
@@ -163,9 +164,7 @@ import { AzTooltip } from '@ptlm-azulejo/tooltip'
|
|
|
163
164
|
</script>
|
|
164
165
|
|
|
165
166
|
<template>
|
|
166
|
-
<AzTooltip id="help-tip" text="Keep the tooltip text concise.">
|
|
167
|
-
Hover me
|
|
168
|
-
</AzTooltip>
|
|
167
|
+
<AzTooltip id="help-tip" text="Keep the tooltip text concise."> Hover me </AzTooltip>
|
|
169
168
|
</template>
|
|
170
169
|
```
|
|
171
170
|
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { computed as D, createCommentVNode as He, createElementBlock as Se, createElementVNode as te, defineComponent as Ze, nextTick as er, normalizeClass as Y, onBeforeUnmount as rr, onMounted as or, openBlock as Ae, ref as J, renderSlot as tr, toDisplayString as sr, watch as ar } from "vue";
|
|
2
2
|
function Le(e) {
|
|
3
3
|
var r, o, t = "";
|
|
4
|
-
if (typeof e == "string" || typeof e == "number")
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
if (typeof e == "string" || typeof e == "number")
|
|
5
|
+
t += e;
|
|
6
|
+
else if (typeof e == "object")
|
|
7
|
+
if (Array.isArray(e)) {
|
|
8
|
+
var a = e.length;
|
|
9
|
+
for (r = 0; r < a; r++)
|
|
10
|
+
e[r] && (o = Le(e[r])) && (t && (t += " "), t += o);
|
|
11
|
+
} else
|
|
12
|
+
for (o in e)
|
|
13
|
+
e[o] && (t && (t += " "), t += o);
|
|
9
14
|
return t;
|
|
10
15
|
}
|
|
11
16
|
function nr() {
|
|
12
|
-
for (var e, r, o = 0, t = "", a = arguments.length; o < a; o++)
|
|
17
|
+
for (var e, r, o = 0, t = "", a = arguments.length; o < a; o++)
|
|
18
|
+
(e = arguments[o]) && (r = Le(e)) && (t && (t += " "), t += r);
|
|
13
19
|
return t;
|
|
14
20
|
}
|
|
15
21
|
function H(e) {
|
|
@@ -21,11 +27,13 @@ function H(e) {
|
|
|
21
27
|
}, H(e);
|
|
22
28
|
}
|
|
23
29
|
function ir(e, r) {
|
|
24
|
-
if (H(e) != "object" || !e)
|
|
30
|
+
if (H(e) != "object" || !e)
|
|
31
|
+
return e;
|
|
25
32
|
var o = e[Symbol.toPrimitive];
|
|
26
33
|
if (o !== void 0) {
|
|
27
34
|
var t = o.call(e, r || "default");
|
|
28
|
-
if (H(t) != "object")
|
|
35
|
+
if (H(t) != "object")
|
|
36
|
+
return t;
|
|
29
37
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
30
38
|
}
|
|
31
39
|
return (r === "string" ? String : Number)(e);
|
|
@@ -65,8 +73,10 @@ function dr(e) {
|
|
|
65
73
|
}
|
|
66
74
|
var pr = (e, r) => {
|
|
67
75
|
const o = new Array(e.length + r.length);
|
|
68
|
-
for (let t = 0; t < e.length; t++)
|
|
69
|
-
|
|
76
|
+
for (let t = 0; t < e.length; t++)
|
|
77
|
+
o[t] = e[t];
|
|
78
|
+
for (let t = 0; t < r.length; t++)
|
|
79
|
+
o[e.length + t] = r[t];
|
|
70
80
|
return o;
|
|
71
81
|
}, ur = (e, r) => ({
|
|
72
82
|
classGroupId: e,
|
|
@@ -79,7 +89,8 @@ var pr = (e, r) => {
|
|
|
79
89
|
const r = gr(e), { conflictingClassGroups: o, conflictingClassGroupModifiers: t } = e;
|
|
80
90
|
return {
|
|
81
91
|
getClassGroupId: (c) => {
|
|
82
|
-
if (c.startsWith("[") && c.endsWith("]"))
|
|
92
|
+
if (c.startsWith("[") && c.endsWith("]"))
|
|
93
|
+
return fr(c);
|
|
83
94
|
const b = c.split(le), u = b[0] === "" && b.length > 1 ? 1 : 0;
|
|
84
95
|
return Ne(b, u, r);
|
|
85
96
|
},
|
|
@@ -92,18 +103,22 @@ var pr = (e, r) => {
|
|
|
92
103
|
}
|
|
93
104
|
};
|
|
94
105
|
}, Ne = (e, r, o) => {
|
|
95
|
-
if (e.length - r === 0)
|
|
106
|
+
if (e.length - r === 0)
|
|
107
|
+
return o.classGroupId;
|
|
96
108
|
const t = e[r], a = o.nextPart.get(t);
|
|
97
109
|
if (a) {
|
|
98
110
|
const u = Ne(e, r + 1, a);
|
|
99
|
-
if (u)
|
|
111
|
+
if (u)
|
|
112
|
+
return u;
|
|
100
113
|
}
|
|
101
114
|
const s = o.validators;
|
|
102
|
-
if (s === null)
|
|
115
|
+
if (s === null)
|
|
116
|
+
return;
|
|
103
117
|
const c = r === 0 ? e.join(le) : e.slice(r).join(le), b = s.length;
|
|
104
118
|
for (let u = 0; u < b; u++) {
|
|
105
119
|
const p = s[u];
|
|
106
|
-
if (p.validator(c))
|
|
120
|
+
if (p.validator(c))
|
|
121
|
+
return p.classGroupId;
|
|
107
122
|
}
|
|
108
123
|
}, fr = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
|
|
109
124
|
const r = e.slice(1, -1), o = r.indexOf(":"), t = r.slice(0, o);
|
|
@@ -159,12 +174,13 @@ var pr = (e, r) => {
|
|
|
159
174
|
}
|
|
160
175
|
return o;
|
|
161
176
|
}, kr = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, zr = (e) => {
|
|
162
|
-
if (e < 1)
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
177
|
+
if (e < 1)
|
|
178
|
+
return {
|
|
179
|
+
get: () => {
|
|
180
|
+
},
|
|
181
|
+
set: () => {
|
|
182
|
+
}
|
|
183
|
+
};
|
|
168
184
|
let r = 0, o = /* @__PURE__ */ Object.create(null), t = /* @__PURE__ */ Object.create(null);
|
|
169
185
|
const a = (s, c) => {
|
|
170
186
|
o[s] = c, r++, r > e && (r = 0, t = o, o = /* @__PURE__ */ Object.create(null));
|
|
@@ -172,7 +188,8 @@ var pr = (e, r) => {
|
|
|
172
188
|
return {
|
|
173
189
|
get(s) {
|
|
174
190
|
let c = o[s];
|
|
175
|
-
if (c !== void 0)
|
|
191
|
+
if (c !== void 0)
|
|
192
|
+
return c;
|
|
176
193
|
if ((c = t[s]) !== void 0)
|
|
177
194
|
return a(s, c), c;
|
|
178
195
|
},
|
|
@@ -244,7 +261,9 @@ var pr = (e, r) => {
|
|
|
244
261
|
postfixLookupClassGroupIds: Gr(e)
|
|
245
262
|
}, br(e)), Gr = (e) => {
|
|
246
263
|
const r = /* @__PURE__ */ Object.create(null), o = e.postfixLookupClassGroups;
|
|
247
|
-
if (o)
|
|
264
|
+
if (o)
|
|
265
|
+
for (let t = 0; t < o.length; t++)
|
|
266
|
+
r[o[t]] = !0;
|
|
248
267
|
return r;
|
|
249
268
|
}, Mr = /\s+/, Ir = (e, r) => {
|
|
250
269
|
const { parseClassName: o, getClassGroupId: t, getConflictingClassGroupIds: a, sortModifiers: s, postfixLookupClassGroupIds: c } = r, b = [], u = e.trim().split(Mr);
|
|
@@ -260,7 +279,8 @@ var pr = (e, r) => {
|
|
|
260
279
|
w = t(x.substring(0, S));
|
|
261
280
|
const P = w && c[w] ? t(x) : void 0;
|
|
262
281
|
P && P !== w && (w = P, T = !1);
|
|
263
|
-
} else
|
|
282
|
+
} else
|
|
283
|
+
w = t(x);
|
|
264
284
|
if (!w) {
|
|
265
285
|
if (!T) {
|
|
266
286
|
p = f + (p.length > 0 ? " " + p : p);
|
|
@@ -273,7 +293,8 @@ var pr = (e, r) => {
|
|
|
273
293
|
T = !1;
|
|
274
294
|
}
|
|
275
295
|
const W = A.length === 0 ? "" : A.length === 1 ? A[0] : s(A).join(":"), E = V ? W + fe : W, B = E + w;
|
|
276
|
-
if (b.indexOf(B) > -1)
|
|
296
|
+
if (b.indexOf(B) > -1)
|
|
297
|
+
continue;
|
|
277
298
|
b.push(B);
|
|
278
299
|
const L = a(w, T);
|
|
279
300
|
for (let P = 0; P < L.length; ++P) {
|
|
@@ -285,12 +306,15 @@ var pr = (e, r) => {
|
|
|
285
306
|
return p;
|
|
286
307
|
}, Or = (...e) => {
|
|
287
308
|
let r = 0, o, t, a = "";
|
|
288
|
-
for (; r < e.length; )
|
|
309
|
+
for (; r < e.length; )
|
|
310
|
+
(o = e[r++]) && (t = We(o)) && (a && (a += " "), a += t);
|
|
289
311
|
return a;
|
|
290
312
|
}, We = (e) => {
|
|
291
|
-
if (typeof e == "string")
|
|
313
|
+
if (typeof e == "string")
|
|
314
|
+
return e;
|
|
292
315
|
let r, o = "";
|
|
293
|
-
for (let t = 0; t < e.length; t++)
|
|
316
|
+
for (let t = 0; t < e.length; t++)
|
|
317
|
+
e[t] && (r = We(e[t])) && (o && (o += " "), o += r);
|
|
294
318
|
return o;
|
|
295
319
|
}, Oe = (e, ...r) => {
|
|
296
320
|
let o, t, a, s;
|
|
@@ -299,7 +323,8 @@ var pr = (e, r) => {
|
|
|
299
323
|
return o = Pr(p), t = o.cache.get, a = o.cache.set, s = b, b(u);
|
|
300
324
|
}, b = (u) => {
|
|
301
325
|
const p = t(u);
|
|
302
|
-
if (p)
|
|
326
|
+
if (p)
|
|
327
|
+
return p;
|
|
303
328
|
const y = Ir(u, o);
|
|
304
329
|
return a(u, y), y;
|
|
305
330
|
};
|
|
@@ -1791,9 +1816,13 @@ var pr = (e, r) => {
|
|
|
1791
1816
|
}, Zr = (e, { cacheSize: r, prefix: o, experimentalParseClassName: t, extend: a = {}, override: s = {} }) => (X(e, "cacheSize", r), X(e, "prefix", o), X(e, "experimentalParseClassName", t), ne(e.theme, s.theme), ne(e.classGroups, s.classGroups), ne(e.conflictingClassGroups, s.conflictingClassGroups), ne(e.conflictingClassGroupModifiers, s.conflictingClassGroupModifiers), X(e, "postfixLookupClassGroups", s.postfixLookupClassGroups), X(e, "orderSensitiveModifiers", s.orderSensitiveModifiers), ie(e.theme, a.theme), ie(e.classGroups, a.classGroups), ie(e.conflictingClassGroups, a.conflictingClassGroups), ie(e.conflictingClassGroupModifiers, a.conflictingClassGroupModifiers), ge(e, a, "postfixLookupClassGroups"), ge(e, a, "orderSensitiveModifiers"), e), X = (e, r, o) => {
|
|
1792
1817
|
o !== void 0 && (e[r] = o);
|
|
1793
1818
|
}, ne = (e, r) => {
|
|
1794
|
-
if (r)
|
|
1819
|
+
if (r)
|
|
1820
|
+
for (const o in r)
|
|
1821
|
+
X(e, o, r[o]);
|
|
1795
1822
|
}, ie = (e, r) => {
|
|
1796
|
-
if (r)
|
|
1823
|
+
if (r)
|
|
1824
|
+
for (const o in r)
|
|
1825
|
+
ge(e, r, o);
|
|
1797
1826
|
}, ge = (e, r, o) => {
|
|
1798
1827
|
const t = r[o];
|
|
1799
1828
|
t !== void 0 && (e[o] = e[o] ? e[o].concat(t) : t);
|
|
@@ -1928,9 +1957,11 @@ var oo = [
|
|
|
1928
1957
|
const g = p.value;
|
|
1929
1958
|
(g == null ? void 0 : g.getAttribute("aria-describedby")) === s.id && g.removeAttribute("aria-describedby"), p.value = null, y.value = !1;
|
|
1930
1959
|
}, S = () => {
|
|
1931
|
-
if (x(), s.standalone)
|
|
1960
|
+
if (x(), s.standalone)
|
|
1961
|
+
return;
|
|
1932
1962
|
const g = c.value;
|
|
1933
|
-
if (!g)
|
|
1963
|
+
if (!g)
|
|
1964
|
+
return;
|
|
1934
1965
|
const O = g.querySelector(o), G = O && O !== g ? O : g;
|
|
1935
1966
|
G.setAttribute("aria-describedby", s.id), p.value = G, y.value = G === g;
|
|
1936
1967
|
}, T = (g) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../src/index.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../src/index.vue"],"names":[],"mappings":"AAsWA,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAEjE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvD,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAsGD,KAAK,WAAW,GAAG;IACf;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,EAAE,CAAC,EAAE,SAAS,CAAA;CACf,CAAC;AAaJ,KAAK,WAAW,GAAG;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;CACxB,CAAC;AAqNF,QAAA,MAAM,UAAU;cAjQD,eAAe;YAajB,aAAa;aARZ,OAAO;gBAIJ,OAAO;gBASP,OAAO;QAKf,SAAS;6EA6OhB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|