@nvidia-elements/core 2.6.0 → 2.7.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 +20 -0
- package/dist/accordion/accordion2.js +4 -4
- package/dist/alert/alert-group2.js +1 -1
- package/dist/alert/alert2.js +1 -1
- package/dist/avatar/avatar-group2.js +1 -1
- package/dist/avatar/avatar2.js +1 -1
- package/dist/badge/badge2.js +1 -1
- package/dist/breadcrumb/breadcrumb2.js +1 -1
- package/dist/bundles/index.d.ts +1 -0
- package/dist/bundles/index.js +5 -5
- package/dist/button/button2.js +1 -1
- package/dist/button-group/button-group2.js +1 -1
- package/dist/card/card2.js +4 -4
- package/dist/chat-message/chat-message2.js +1 -1
- package/dist/checkbox/checkbox-group2.js +1 -1
- package/dist/checkbox/checkbox2.js +1 -1
- package/dist/color/color2.js +1 -1
- package/dist/combobox/combobox2.js +1 -1
- package/dist/copy-button/copy-button2.js +1 -1
- package/dist/custom-elements.json +588 -184
- package/dist/data.snippets.json +36 -36
- package/dist/date/date2.js +1 -1
- package/dist/datetime/datetime2.js +1 -1
- package/dist/dialog/dialog-footer2.js +1 -1
- package/dist/dialog/dialog-header2.js +1 -1
- package/dist/dialog/dialog2.js +1 -1
- package/dist/divider/divider2.js +1 -1
- package/dist/dot/dot2.js +1 -1
- package/dist/drawer/drawer-content2.js +1 -1
- package/dist/drawer/drawer-footer2.js +1 -1
- package/dist/drawer/drawer-header2.js +1 -1
- package/dist/drawer/drawer2.js +1 -1
- package/dist/dropdown/dropdown-footer2.js +1 -1
- package/dist/dropdown/dropdown-header2.js +1 -1
- package/dist/dropdown/dropdown2.js +1 -1
- package/dist/dropdown-group/dropdown-group.js +1 -1
- package/dist/dropzone/dropzone2.js +1 -1
- package/dist/file/file2.js +1 -1
- package/dist/format-bytes/format-bytes2.js +1 -1
- package/dist/format-datetime/format-datetime2.js +1 -1
- package/dist/format-number/format-number2.js +1 -1
- package/dist/format-relative-time/format-relative-time2.js +1 -1
- package/dist/format-truncate/format-truncate2.js +1 -1
- package/dist/forms/control/control2.js +1 -1
- package/dist/forms/control-group/control-group2.js +1 -1
- package/dist/forms/control-message/control-message2.js +1 -1
- package/dist/gauge/gauge2.js +1 -1
- package/dist/gauge/gauge2.js.map +1 -1
- package/dist/grid/cell/cell2.js +1 -1
- package/dist/grid/column/column2.js +1 -1
- package/dist/grid/footer/footer2.js +1 -1
- package/dist/grid/grid2.js +1 -1
- package/dist/grid/header/header2.js +1 -1
- package/dist/grid/placeholder/placeholder2.js +1 -1
- package/dist/grid/row/row2.js +1 -1
- package/dist/icon/icon2.js +2 -2
- package/dist/icon-button/icon-button2.js +1 -1
- package/dist/index.js +1 -1
- package/dist/input/input-group2.js +1 -1
- package/dist/input/input2.js +1 -1
- package/dist/internal/controllers/gesture.controller.d.ts +65 -0
- package/dist/internal/controllers/gesture.controller.examples.js +6 -0
- package/dist/internal/controllers/gesture.controller.examples.js.map +1 -0
- package/dist/internal/controllers/gesture.controller.examples.json +16 -0
- package/dist/internal/controllers/gesture.controller.js +235 -0
- package/dist/internal/controllers/gesture.controller.js.map +1 -0
- package/dist/internal/controllers/keynav-spatial.controller.d.ts +24 -0
- package/dist/internal/controllers/keynav-spatial.controller.js +75 -0
- package/dist/internal/controllers/keynav-spatial.controller.js.map +1 -0
- package/dist/internal/index.d.ts +2 -1
- package/dist/internal/index.js +30 -29
- package/dist/internal/services/global.service.js +1 -1
- package/dist/logo/logo2.js +1 -1
- package/dist/menu/menu-item2.js +1 -1
- package/dist/menu/menu2.js +1 -1
- package/dist/month/month2.js +1 -1
- package/dist/notification/notification-group2.js +1 -1
- package/dist/notification/notification2.js +1 -1
- package/dist/page/page-panel/page-panel-content2.js +1 -1
- package/dist/page/page-panel/page-panel-footer2.js +1 -1
- package/dist/page/page-panel/page-panel-header2.js +1 -1
- package/dist/page/page-panel/page-panel2.js +1 -1
- package/dist/page/page.js +1 -1
- package/dist/page/page.js.map +1 -1
- package/dist/page/page2.js +1 -1
- package/dist/page-header/page-header2.js +1 -1
- package/dist/page-loader/page-loader2.js +1 -1
- package/dist/pagination/pagination2.js +1 -1
- package/dist/panel/panel2.js +4 -4
- package/dist/password/password2.js +1 -1
- package/dist/preferences-input/preferences-input2.js +1 -1
- package/dist/progress-bar/progress-bar.js.map +1 -1
- package/dist/progress-bar/progress-bar2.js +1 -1
- package/dist/progress-ring/progress-ring2.js +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
- package/dist/pulse/pulse2.js +1 -1
- package/dist/radio/radio-group2.js +1 -1
- package/dist/radio/radio2.js +1 -1
- package/dist/range/range2.js +1 -1
- package/dist/resize-handle/resize-handle.d.ts +1 -0
- package/dist/resize-handle/resize-handle2.js +42 -23
- package/dist/resize-handle/resize-handle2.js.map +1 -1
- package/dist/search/search2.js +1 -1
- package/dist/select/select2.js +1 -1
- package/dist/skeleton/skeleton2.js +1 -1
- package/dist/sort-button/sort-button2.js +1 -1
- package/dist/sparkline/sparkline2.js +1 -1
- package/dist/star-rating/star-rating2.js +1 -1
- package/dist/steps/steps2.js +2 -2
- package/dist/switch/switch-group2.js +1 -1
- package/dist/switch/switch2.js +1 -1
- package/dist/tabs/tabs-group2.js +1 -1
- package/dist/tabs/tabs2.js +2 -2
- package/dist/tag/tag2.js +1 -1
- package/dist/textarea/textarea2.js +1 -1
- package/dist/time/time2.js +1 -1
- package/dist/toast/toast2.js +1 -1
- package/dist/toggletip/toggletip-footer2.js +1 -1
- package/dist/toggletip/toggletip-header2.js +1 -1
- package/dist/toggletip/toggletip2.js +1 -1
- package/dist/toolbar/toolbar2.js +1 -1
- package/dist/tooltip/tooltip2.js +1 -1
- package/dist/tree/tree-node2.js +1 -1
- package/dist/tree/tree2.js +1 -1
- package/dist/week/week2.js +1 -1
- package/package.json +23 -1
- package/dist/internal/controllers/type-touch.controller.d.ts +0 -22
- package/dist/internal/controllers/type-touch.controller.examples.js +0 -6
- package/dist/internal/controllers/type-touch.controller.examples.js.map +0 -1
- package/dist/internal/controllers/type-touch.controller.examples.json +0 -16
- package/dist/internal/controllers/type-touch.controller.js +0 -58
- package/dist/internal/controllers/type-touch.controller.js.map +0 -1
package/dist/toolbar/toolbar2.js
CHANGED
package/dist/tooltip/tooltip2.js
CHANGED
package/dist/tree/tree-node2.js
CHANGED
package/dist/tree/tree2.js
CHANGED
package/dist/week/week2.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nvidia-elements/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"release": {
|
|
5
5
|
"extends": "../../release.config.js"
|
|
6
6
|
},
|
|
@@ -1043,6 +1043,7 @@
|
|
|
1043
1043
|
"public/**",
|
|
1044
1044
|
"src/**",
|
|
1045
1045
|
"!src/**/*.test.ts",
|
|
1046
|
+
"!src/**/*.test.bench.ts",
|
|
1046
1047
|
"!src/**/*.test.lighthouse.ts",
|
|
1047
1048
|
"!src/**/*.test.visual.ts",
|
|
1048
1049
|
"!src/**/*.test.axe.ts",
|
|
@@ -1117,6 +1118,26 @@
|
|
|
1117
1118
|
"NODE_ENV": "production"
|
|
1118
1119
|
}
|
|
1119
1120
|
},
|
|
1121
|
+
"test:bench": {
|
|
1122
|
+
"command": "vitest bench --run --config=vitest.bench.ts",
|
|
1123
|
+
"files": [
|
|
1124
|
+
"dist/**/*.js",
|
|
1125
|
+
"src/**/*.test.bench.ts",
|
|
1126
|
+
"vitest.bench.ts"
|
|
1127
|
+
],
|
|
1128
|
+
"output": [],
|
|
1129
|
+
"dependencies": [
|
|
1130
|
+
"../internals/testing:build",
|
|
1131
|
+
"../internals/vite:ci",
|
|
1132
|
+
{
|
|
1133
|
+
"script": "build",
|
|
1134
|
+
"cascade": false
|
|
1135
|
+
}
|
|
1136
|
+
],
|
|
1137
|
+
"env": {
|
|
1138
|
+
"NODE_ENV": "production"
|
|
1139
|
+
}
|
|
1140
|
+
},
|
|
1120
1141
|
"test:types": {
|
|
1121
1142
|
"command": "tsc --project tsconfig.types.json",
|
|
1122
1143
|
"files": [
|
|
@@ -1309,6 +1330,7 @@
|
|
|
1309
1330
|
"build": "wireit",
|
|
1310
1331
|
"build:icons": "wireit",
|
|
1311
1332
|
"test": "wireit",
|
|
1333
|
+
"test:bench": "wireit",
|
|
1312
1334
|
"test:types": "wireit",
|
|
1313
1335
|
"test:watch": "wireit",
|
|
1314
1336
|
"test:axe": "wireit",
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ReactiveElement, ReactiveController } from 'lit';
|
|
2
|
-
import type { OffsetPoint, Point } from '../types/index.js';
|
|
3
|
-
export declare class NveTouchEvent extends Event {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
offsetX: number;
|
|
7
|
-
offsetY: number;
|
|
8
|
-
constructor(event: 'nve-touch-start' | 'nve-touch-move' | 'nve-touch-end', point: Point & OffsetPoint);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* @event nve-touch-start
|
|
12
|
-
* @event nve-touch-move
|
|
13
|
-
* @event nve-touch-end
|
|
14
|
-
*/
|
|
15
|
-
export declare function typeTouch<T extends ReactiveElement>(): ClassDecorator;
|
|
16
|
-
export declare class TypeTouchController<T extends ReactiveElement> implements ReactiveController {
|
|
17
|
-
#private;
|
|
18
|
-
private host;
|
|
19
|
-
constructor(host: T);
|
|
20
|
-
hostConnected(): void;
|
|
21
|
-
hostDisconnected(): void;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type-touch.controller.examples.js","names":[],"sources":["../../../src/internal/controllers/type-touch.controller.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement } from 'lit';\nimport { typeTouch } from '@nvidia-elements/core/internal';\nimport '@nvidia-elements/core/card/define.js';\nimport '@nvidia-elements/core/button/define.js';\nimport '@nvidia-elements/core/icon-button/define.js';\n\nexport default {\n title: 'Internal/Controllers'\n}\n\n@typeTouch<TouchDemoElement>()\nclass TouchDemoElement extends LitElement {\n static styles = [\n css`\n :host {\n display: block;\n position: fixed;\n width: 50px;\n height: 50px;\n outline: 1px solid red;\n }\n `,\n ];\n}\n\ncustomElements.get('type-touch-controller-demo-element') || customElements.define('type-touch-controller-demo-element', TouchDemoElement);\n\n/**\n * @summary Touch controller with drag-to-move behavior dispatching start, move, and end events.\n * @tags test-case\n */\nexport const TouchDemo = {\n render: () => html`\n <type-touch-controller-demo-element></type-touch-controller-demo-element>\n <script type=\"module\">\n const element = document.querySelector('type-touch-controller-demo-element');\n const container = document.querySelector('#touch-demo-container');\n element.addEventListener('nve-touch-start', e => console.log(e.type));\n element.addEventListener('nve-touch-move', position => {\n console.log(position.type);\n element.style.left = position.x + 'px';\n element.style.top = position.y + 'px';\n });\n element.addEventListener('nve-touch-end', e => console.log(e.type));\n </script>\n `\n}\n"],"mappings":";AAGA,IAAA,IAAc"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"entrypoint": "@nvidia-elements/core/internal/controllers/type-touch.controller.examples.json",
|
|
3
|
-
"items": [
|
|
4
|
-
{
|
|
5
|
-
"id": "internal-controllers-type-touch.controller-touch-demo",
|
|
6
|
-
"name": "TouchDemo",
|
|
7
|
-
"template": "<type-touch-controller-demo-element></type-touch-controller-demo-element>\n<script type=\"module\">\n const element = document.querySelector(\"type-touch-controller-demo-element\");\n const container = document.querySelector(\"#touch-demo-container\");\n element.addEventListener(\"nve-touch-start\", (e) => console.log(e.type));\n element.addEventListener(\"nve-touch-move\", (position) => {\n console.log(position.type);\n element.style.left = position.x + \"px\";\n element.style.top = position.y + \"px\";\n });\n element.addEventListener(\"nve-touch-end\", (e) => console.log(e.type));\n</script>\n",
|
|
8
|
-
"summary": "Touch controller with drag-to-move behavior dispatching start, move, and end events.",
|
|
9
|
-
"description": "",
|
|
10
|
-
"composition": false,
|
|
11
|
-
"tags": [
|
|
12
|
-
"test-case"
|
|
13
|
-
]
|
|
14
|
-
}
|
|
15
|
-
]
|
|
16
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { getDifference as e } from "../utils/objects.js";
|
|
2
|
-
//#region src/internal/controllers/type-touch.controller.ts
|
|
3
|
-
var t = class extends Event {
|
|
4
|
-
constructor(e, t) {
|
|
5
|
-
super(e), this.x = t.x, this.y = t.y, this.offsetX = t.offsetX, this.offsetY = t.offsetY;
|
|
6
|
-
}
|
|
7
|
-
};
|
|
8
|
-
function n() {
|
|
9
|
-
return (e) => e.addInitializer((e) => new r(e));
|
|
10
|
-
}
|
|
11
|
-
var r = class {
|
|
12
|
-
#e;
|
|
13
|
-
#t;
|
|
14
|
-
constructor(e) {
|
|
15
|
-
this.host = e, this.host.addController(this);
|
|
16
|
-
}
|
|
17
|
-
hostConnected() {
|
|
18
|
-
this.host.addEventListener("pointerdown", this.#n);
|
|
19
|
-
}
|
|
20
|
-
hostDisconnected() {
|
|
21
|
-
this.host.removeEventListener("pointerdown", this.#n), globalThis.document.removeEventListener("pointerup", this.#i), globalThis.document.removeEventListener("pointermove", this.#r);
|
|
22
|
-
}
|
|
23
|
-
#n = (e) => {
|
|
24
|
-
e.composedPath().find((e) => e === this.host) && (this.#e = {
|
|
25
|
-
x: e.clientX,
|
|
26
|
-
y: e.clientY
|
|
27
|
-
}, this.#t = e.pointerId, this.host.setPointerCapture(this.#t), globalThis.document.addEventListener("pointerup", this.#i), globalThis.document.addEventListener("pointermove", this.#r), this.host.dispatchEvent(new t("nve-touch-start", {
|
|
28
|
-
...this.#e,
|
|
29
|
-
offsetX: 0,
|
|
30
|
-
offsetY: 0
|
|
31
|
-
})));
|
|
32
|
-
};
|
|
33
|
-
#r = (e) => {
|
|
34
|
-
requestAnimationFrame(() => {
|
|
35
|
-
let n = this.#a(e);
|
|
36
|
-
this.host.dispatchEvent(new t("nve-touch-move", n)), this.#e = {
|
|
37
|
-
x: e.clientX,
|
|
38
|
-
y: e.clientY
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
#i = (e) => {
|
|
43
|
-
/* istanbul ignore else -- #start registers #end only after setting #startPosition. */
|
|
44
|
-
this.#e && (globalThis.document.removeEventListener("pointerup", this.#i, !1), globalThis.document.removeEventListener("pointermove", this.#r, !1), this.host.dispatchEvent(new t("nve-touch-end", this.#a(e))), this.host.releasePointerCapture(this.#t), this.#t = null);
|
|
45
|
-
};
|
|
46
|
-
#a(t) {
|
|
47
|
-
return {
|
|
48
|
-
offsetX: e(this.#e.x, t.clientX),
|
|
49
|
-
offsetY: e(this.#e.y, t.clientY),
|
|
50
|
-
x: t.clientX,
|
|
51
|
-
y: t.clientY
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
//#endregion
|
|
56
|
-
export { t as NveTouchEvent, r as TypeTouchController, n as typeTouch };
|
|
57
|
-
|
|
58
|
-
//# sourceMappingURL=type-touch.controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type-touch.controller.js","names":["#start","#end","#move","#startPosition","#pointerId","#getCoordinatesFromPointerEvent"],"sources":["../../../src/internal/controllers/type-touch.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveElement, ReactiveController } from 'lit';\nimport type { LegacyDecoratorTarget, OffsetPoint, Point } from '../types/index.js';\nimport { getDifference } from '../utils/objects.js';\n\nexport class NveTouchEvent extends Event {\n x: number;\n y: number;\n offsetX: number;\n offsetY: number;\n\n constructor(event: 'nve-touch-start' | 'nve-touch-move' | 'nve-touch-end', point: Point & OffsetPoint) {\n super(event);\n this.x = point.x;\n this.y = point.y;\n this.offsetX = point.offsetX;\n this.offsetY = point.offsetY;\n }\n}\n\n/**\n * @event nve-touch-start\n * @event nve-touch-move\n * @event nve-touch-end\n */\nexport function typeTouch<T extends ReactiveElement>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) => target.addInitializer!((instance: T) => new TypeTouchController(instance));\n}\n\nexport class TypeTouchController<T extends ReactiveElement> implements ReactiveController {\n #startPosition: Point;\n #pointerId: number;\n\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n hostConnected() {\n this.host.addEventListener('pointerdown', this.#start);\n }\n\n hostDisconnected() {\n this.host.removeEventListener('pointerdown', this.#start);\n globalThis.document.removeEventListener('pointerup', this.#end);\n globalThis.document.removeEventListener('pointermove', this.#move);\n }\n\n #start = (e: PointerEvent) => {\n if (e.composedPath().find(el => el === this.host)) {\n this.#startPosition = { x: e.clientX, y: e.clientY };\n this.#pointerId = e.pointerId;\n this.host.setPointerCapture(this.#pointerId);\n globalThis.document.addEventListener('pointerup', this.#end);\n globalThis.document.addEventListener('pointermove', this.#move);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-start', { ...this.#startPosition, offsetX: 0, offsetY: 0 }));\n }\n };\n\n #move = (e: PointerEvent) => {\n requestAnimationFrame(() => {\n const point = this.#getCoordinatesFromPointerEvent(e);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-move', point));\n this.#startPosition = { x: e.clientX, y: e.clientY };\n });\n };\n\n #end = (e: PointerEvent) => {\n /* istanbul ignore else -- #start registers #end only after setting #startPosition. */\n if (this.#startPosition) {\n globalThis.document.removeEventListener('pointerup', this.#end, false);\n globalThis.document.removeEventListener('pointermove', this.#move, false);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-end', this.#getCoordinatesFromPointerEvent(e)));\n this.host.releasePointerCapture(this.#pointerId);\n this.#pointerId = null as unknown as number;\n }\n };\n\n #getCoordinatesFromPointerEvent(e: PointerEvent) {\n const value = {\n offsetX: getDifference(this.#startPosition.x, e.clientX),\n offsetY: getDifference(this.#startPosition.y, e.clientY),\n x: e.clientX,\n y: e.clientY\n };\n return value;\n }\n}\n"],"mappings":";;AAOA,IAAa,IAAb,cAAmC,MAAM;CAMvC,YAAY,GAA+D,GAA4B;EAKrG,AAJA,MAAM,CAAK,GACX,KAAK,IAAI,EAAM,GACf,KAAK,IAAI,EAAM,GACf,KAAK,UAAU,EAAM,SACrB,KAAK,UAAU,EAAM;CACvB;AACF;AAOA,SAAgB,IAAuD;CACrE,QAAQ,MAAkC,EAAO,gBAAiB,MAAgB,IAAI,EAAoB,CAAQ,CAAC;AACrH;AAEA,IAAa,IAAb,MAA0F;CACxF;CACA;CAEA,YAAY,GAAiB;EAC3B,AADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,gBAAgB;EACd,KAAK,KAAK,iBAAiB,eAAe,KAAKA,EAAM;CACvD;CAEA,mBAAmB;EAGjB,AAFA,KAAK,KAAK,oBAAoB,eAAe,KAAKA,EAAM,GACxD,WAAW,SAAS,oBAAoB,aAAa,KAAKC,EAAI,GAC9D,WAAW,SAAS,oBAAoB,eAAe,KAAKC,EAAK;CACnE;CAEA,MAAU,MAAoB;EAC5B,AAAI,EAAE,aAAa,CAAC,CAAC,MAAK,MAAM,MAAO,KAAK,IAAI,MAC9C,KAAKC,KAAiB;GAAE,GAAG,EAAE;GAAS,GAAG,EAAE;EAAQ,GACnD,KAAKC,KAAa,EAAE,WACpB,KAAK,KAAK,kBAAkB,KAAKA,EAAU,GAC3C,WAAW,SAAS,iBAAiB,aAAa,KAAKH,EAAI,GAC3D,WAAW,SAAS,iBAAiB,eAAe,KAAKC,EAAK,GAC9D,KAAK,KAAK,cAAc,IAAI,EAAc,mBAAmB;GAAE,GAAG,KAAKC;GAAgB,SAAS;GAAG,SAAS;EAAE,CAAC,CAAC;CAEpH;CAEA,MAAS,MAAoB;EAC3B,4BAA4B;GAC1B,IAAM,IAAQ,KAAKE,GAAgC,CAAC;GAEpD,AADA,KAAK,KAAK,cAAc,IAAI,EAAc,kBAAkB,CAAK,CAAC,GAClE,KAAKF,KAAiB;IAAE,GAAG,EAAE;IAAS,GAAG,EAAE;GAAQ;EACrD,CAAC;CACH;CAEA,MAAQ,MAAoB;;EAE1B,AAAI,KAAKA,OACP,WAAW,SAAS,oBAAoB,aAAa,KAAKF,IAAM,EAAK,GACrE,WAAW,SAAS,oBAAoB,eAAe,KAAKC,IAAO,EAAK,GACxE,KAAK,KAAK,cAAc,IAAI,EAAc,iBAAiB,KAAKG,GAAgC,CAAC,CAAC,CAAC,GACnG,KAAK,KAAK,sBAAsB,KAAKD,EAAU,GAC/C,KAAKA,KAAa;CAEtB;CAEA,GAAgC,GAAiB;EAO/C,OAAO;GALL,SAAS,EAAc,KAAKD,GAAe,GAAG,EAAE,OAAO;GACvD,SAAS,EAAc,KAAKA,GAAe,GAAG,EAAE,OAAO;GACvD,GAAG,EAAE;GACL,GAAG,EAAE;EAEA;CACT;AACF"}
|