@react-x11/components 0.3.0 → 0.5.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/README.md +131 -4
- package/dist/charts/components.d.ts +3 -1
- package/dist/charts/components.d.ts.map +1 -1
- package/dist/charts/components.js +8 -4
- package/dist/charts/components.js.map +1 -1
- package/dist/charts/node.d.ts +13 -6
- package/dist/charts/node.d.ts.map +1 -1
- package/dist/charts/node.js +75 -24
- package/dist/charts/node.js.map +1 -1
- package/dist/charts/render.d.ts +4 -0
- package/dist/charts/render.d.ts.map +1 -1
- package/dist/charts/render.js +11 -6
- package/dist/charts/render.js.map +1 -1
- package/dist/code-editor/node.d.ts +47 -16
- package/dist/code-editor/node.d.ts.map +1 -1
- package/dist/code-editor/node.js +121 -51
- package/dist/code-editor/node.js.map +1 -1
- package/dist/flow/draw.d.ts +19 -1
- package/dist/flow/draw.d.ts.map +1 -1
- package/dist/flow/draw.js +64 -35
- package/dist/flow/draw.js.map +1 -1
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +24 -8
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/model.d.ts +4 -2
- package/dist/flow/model.d.ts.map +1 -1
- package/dist/flow/model.js +4 -2
- package/dist/flow/model.js.map +1 -1
- package/dist/flow/node.d.ts +40 -9
- package/dist/flow/node.d.ts.map +1 -1
- package/dist/flow/node.js +142 -53
- package/dist/flow/node.js.map +1 -1
- package/dist/flow/types.d.ts +46 -21
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/formula/index.d.ts +4 -2
- package/dist/formula/index.d.ts.map +1 -1
- package/dist/formula/index.js.map +1 -1
- package/dist/formula/node.d.ts +5 -1
- package/dist/formula/node.d.ts.map +1 -1
- package/dist/formula/node.js +19 -3
- package/dist/formula/node.js.map +1 -1
- package/dist/html/controls.d.ts +4 -1
- package/dist/html/controls.d.ts.map +1 -1
- package/dist/html/controls.js.map +1 -1
- package/dist/html/css/cascade.d.ts +11 -5
- package/dist/html/css/cascade.d.ts.map +1 -1
- package/dist/html/css/cascade.js +18 -8
- package/dist/html/css/cascade.js.map +1 -1
- package/dist/html/css/parse.d.ts +15 -10
- package/dist/html/css/parse.d.ts.map +1 -1
- package/dist/html/css/parse.js +41 -16
- package/dist/html/css/parse.js.map +1 -1
- package/dist/html/css/style.d.ts +3 -0
- package/dist/html/css/style.d.ts.map +1 -1
- package/dist/html/css/style.js +3 -1
- package/dist/html/css/style.js.map +1 -1
- package/dist/html/css/values.d.ts +14 -1
- package/dist/html/css/values.d.ts.map +1 -1
- package/dist/html/css/values.js +11 -8
- package/dist/html/css/values.js.map +1 -1
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +1 -0
- package/dist/html/index.js.map +1 -1
- package/dist/html/layout/boxes.d.ts +12 -5
- package/dist/html/layout/boxes.d.ts.map +1 -1
- package/dist/html/layout/boxes.js +7 -4
- package/dist/html/layout/boxes.js.map +1 -1
- package/dist/html/layout/inline.d.ts.map +1 -1
- package/dist/html/layout/inline.js +22 -1
- package/dist/html/layout/inline.js.map +1 -1
- package/dist/html/node.d.ts +22 -8
- package/dist/html/node.d.ts.map +1 -1
- package/dist/html/node.js +97 -15
- package/dist/html/node.js.map +1 -1
- package/dist/html/paint.d.ts +3 -0
- package/dist/html/paint.d.ts.map +1 -1
- package/dist/html/paint.js +2 -2
- package/dist/html/paint.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/dist/maps/clip.d.ts +43 -0
- package/dist/maps/clip.d.ts.map +1 -0
- package/dist/maps/clip.js +171 -0
- package/dist/maps/clip.js.map +1 -0
- package/dist/maps/gzip.d.ts +15 -0
- package/dist/maps/gzip.d.ts.map +1 -0
- package/dist/maps/gzip.js +56 -0
- package/dist/maps/gzip.js.map +1 -0
- package/dist/maps/index.d.ts +55 -0
- package/dist/maps/index.d.ts.map +1 -0
- package/dist/maps/index.js +141 -0
- package/dist/maps/index.js.map +1 -0
- package/dist/maps/labels.d.ts +123 -0
- package/dist/maps/labels.d.ts.map +1 -0
- package/dist/maps/labels.js +323 -0
- package/dist/maps/labels.js.map +1 -0
- package/dist/maps/mvt.d.ts +244 -0
- package/dist/maps/mvt.d.ts.map +1 -0
- package/dist/maps/mvt.js +820 -0
- package/dist/maps/mvt.js.map +1 -0
- package/dist/maps/node.d.ts +278 -0
- package/dist/maps/node.d.ts.map +1 -0
- package/dist/maps/node.js +1459 -0
- package/dist/maps/node.js.map +1 -0
- package/dist/maps/overlay.d.ts +157 -0
- package/dist/maps/overlay.d.ts.map +1 -0
- package/dist/maps/overlay.js +472 -0
- package/dist/maps/overlay.js.map +1 -0
- package/dist/maps/paint.d.ts +226 -0
- package/dist/maps/paint.d.ts.map +1 -0
- package/dist/maps/paint.js +705 -0
- package/dist/maps/paint.js.map +1 -0
- package/dist/maps/proj.d.ts +281 -0
- package/dist/maps/proj.d.ts.map +1 -0
- package/dist/maps/proj.js +451 -0
- package/dist/maps/proj.js.map +1 -0
- package/dist/maps/sources.d.ts +256 -0
- package/dist/maps/sources.d.ts.map +1 -0
- package/dist/maps/sources.js +210 -0
- package/dist/maps/sources.js.map +1 -0
- package/dist/maps/style.d.ts +141 -0
- package/dist/maps/style.d.ts.map +1 -0
- package/dist/maps/style.js +147 -0
- package/dist/maps/style.js.map +1 -0
- package/dist/maps/styles.d.ts +82 -0
- package/dist/maps/styles.d.ts.map +1 -0
- package/dist/maps/styles.js +898 -0
- package/dist/maps/styles.js.map +1 -0
- package/dist/maps/tiles.d.ts +283 -0
- package/dist/maps/tiles.d.ts.map +1 -0
- package/dist/maps/tiles.js +469 -0
- package/dist/maps/tiles.js.map +1 -0
- package/dist/maps/types.d.ts +244 -0
- package/dist/maps/types.d.ts.map +1 -0
- package/dist/maps/types.js +2 -0
- package/dist/maps/types.js.map +1 -0
- package/dist/qml/containers.d.ts +3 -0
- package/dist/qml/containers.d.ts.map +1 -0
- package/dist/qml/containers.js +331 -0
- package/dist/qml/containers.js.map +1 -0
- package/dist/qml/controls.d.ts +12 -0
- package/dist/qml/controls.d.ts.map +1 -0
- package/dist/qml/controls.js +21 -0
- package/dist/qml/controls.js.map +1 -0
- package/dist/qml/globals.d.ts +6 -0
- package/dist/qml/globals.d.ts.map +1 -0
- package/dist/qml/globals.js +25 -0
- package/dist/qml/globals.js.map +1 -0
- package/dist/qml/index.d.ts +15 -0
- package/dist/qml/index.d.ts.map +1 -0
- package/dist/qml/index.js +25 -0
- package/dist/qml/index.js.map +1 -0
- package/dist/qml/interaction.d.ts +12 -0
- package/dist/qml/interaction.d.ts.map +1 -0
- package/dist/qml/interaction.js +246 -0
- package/dist/qml/interaction.js.map +1 -0
- package/dist/qml/ir.d.ts +106 -0
- package/dist/qml/ir.d.ts.map +1 -0
- package/dist/qml/ir.js +7 -0
- package/dist/qml/ir.js.map +1 -0
- package/dist/qml/layouts.d.ts +3 -0
- package/dist/qml/layouts.d.ts.map +1 -0
- package/dist/qml/layouts.js +122 -0
- package/dist/qml/layouts.js.map +1 -0
- package/dist/qml/models.d.ts +14 -0
- package/dist/qml/models.d.ts.map +1 -0
- package/dist/qml/models.js +80 -0
- package/dist/qml/models.js.map +1 -0
- package/dist/qml/objects.d.ts +228 -0
- package/dist/qml/objects.d.ts.map +1 -0
- package/dist/qml/objects.js +1103 -0
- package/dist/qml/objects.js.map +1 -0
- package/dist/qml/parse.d.ts +10 -0
- package/dist/qml/parse.d.ts.map +1 -0
- package/dist/qml/parse.js +607 -0
- package/dist/qml/parse.js.map +1 -0
- package/dist/qml/qtquick.d.ts +7 -0
- package/dist/qml/qtquick.d.ts.map +1 -0
- package/dist/qml/qtquick.js +347 -0
- package/dist/qml/qtquick.js.map +1 -0
- package/dist/qml/react.d.ts +83 -0
- package/dist/qml/react.d.ts.map +1 -0
- package/dist/qml/react.js +323 -0
- package/dist/qml/react.js.map +1 -0
- package/dist/qml/resolver.d.ts +38 -0
- package/dist/qml/resolver.d.ts.map +1 -0
- package/dist/qml/resolver.js +64 -0
- package/dist/qml/resolver.js.map +1 -0
- package/dist/qml/slots.d.ts +65 -0
- package/dist/qml/slots.d.ts.map +1 -0
- package/dist/qml/slots.js +230 -0
- package/dist/qml/slots.js.map +1 -0
- package/dist/qml/states.d.ts +5 -0
- package/dist/qml/states.d.ts.map +1 -0
- package/dist/qml/states.js +276 -0
- package/dist/qml/states.js.map +1 -0
- package/dist/qml/view-utils.d.ts +42 -0
- package/dist/qml/view-utils.d.ts.map +1 -0
- package/dist/qml/view-utils.js +121 -0
- package/dist/qml/view-utils.js.map +1 -0
- package/dist/reorder/hx.d.ts +18 -0
- package/dist/reorder/hx.d.ts.map +1 -0
- package/dist/reorder/hx.js +10 -0
- package/dist/reorder/hx.js.map +1 -0
- package/dist/reorder/index.d.ts +314 -0
- package/dist/reorder/index.d.ts.map +1 -0
- package/dist/reorder/index.js +1539 -0
- package/dist/reorder/index.js.map +1 -0
- package/dist/reorder/model.d.ts +107 -0
- package/dist/reorder/model.d.ts.map +1 -0
- package/dist/reorder/model.js +162 -0
- package/dist/reorder/model.js.map +1 -0
- package/dist/richtext/node.d.ts +15 -5
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +40 -11
- package/dist/richtext/node.js.map +1 -1
- package/dist/richtext/runs.d.ts +35 -13
- package/dist/richtext/runs.d.ts.map +1 -1
- package/dist/richtext/runs.js +83 -27
- package/dist/richtext/runs.js.map +1 -1
- package/dist/tabs/hx.d.ts +18 -0
- package/dist/tabs/hx.d.ts.map +1 -0
- package/dist/tabs/hx.js +10 -0
- package/dist/tabs/hx.js.map +1 -0
- package/dist/tabs/index.d.ts +160 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +1265 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/terminal/vt/fonts.d.ts +45 -15
- package/dist/terminal/vt/fonts.d.ts.map +1 -1
- package/dist/terminal/vt/fonts.js +89 -19
- package/dist/terminal/vt/fonts.js.map +1 -1
- package/dist/terminal/vt/index.d.ts +1 -1
- package/dist/terminal/vt/index.d.ts.map +1 -1
- package/dist/terminal/vt/index.js +3 -3
- package/dist/terminal/vt/index.js.map +1 -1
- package/dist/terminal/vt/node.d.ts +42 -0
- package/dist/terminal/vt/node.d.ts.map +1 -1
- package/dist/terminal/vt/node.js +95 -11
- package/dist/terminal/vt/node.js.map +1 -1
- package/dist/terminal/vt/pty.d.ts +16 -0
- package/dist/terminal/vt/pty.d.ts.map +1 -1
- package/dist/terminal/vt/pty.js +186 -0
- package/dist/terminal/vt/pty.js.map +1 -1
- package/dist/terminal/vt/renderer.d.ts.map +1 -1
- package/dist/terminal/vt/renderer.js +13 -3
- package/dist/terminal/vt/renderer.js.map +1 -1
- package/package.json +23 -3
- package/src/charts/components.ts +14 -7
- package/src/charts/node.ts +81 -26
- package/src/charts/render.ts +16 -6
- package/src/code-editor/node.ts +147 -53
- package/src/flow/draw.ts +104 -35
- package/src/flow/index.ts +33 -13
- package/src/flow/model.ts +4 -2
- package/src/flow/node.ts +158 -59
- package/src/flow/types.ts +46 -21
- package/src/formula/index.ts +4 -2
- package/src/formula/node.ts +24 -5
- package/src/html/controls.ts +4 -1
- package/src/html/css/cascade.ts +18 -7
- package/src/html/css/parse.ts +46 -21
- package/src/html/css/style.ts +6 -1
- package/src/html/css/values.ts +25 -9
- package/src/html/index.ts +1 -0
- package/src/html/layout/boxes.ts +19 -9
- package/src/html/layout/inline.ts +23 -1
- package/src/html/node.ts +110 -17
- package/src/html/paint.ts +17 -2
- package/src/index.ts +142 -0
- package/src/maps/clip.ts +184 -0
- package/src/maps/gzip.ts +66 -0
- package/src/maps/index.ts +316 -0
- package/src/maps/labels.ts +442 -0
- package/src/maps/mvt.ts +857 -0
- package/src/maps/node.ts +1819 -0
- package/src/maps/overlay.ts +639 -0
- package/src/maps/paint.ts +978 -0
- package/src/maps/proj.ts +641 -0
- package/src/maps/sources.ts +425 -0
- package/src/maps/style.ts +309 -0
- package/src/maps/styles.ts +1040 -0
- package/src/maps/tiles.ts +676 -0
- package/src/maps/types.ts +260 -0
- package/src/qml/containers.tsx +380 -0
- package/src/qml/controls.tsx +47 -0
- package/src/qml/globals.ts +33 -0
- package/src/qml/index.ts +67 -0
- package/src/qml/interaction.tsx +317 -0
- package/src/qml/ir.ts +80 -0
- package/src/qml/layouts.tsx +141 -0
- package/src/qml/models.ts +101 -0
- package/src/qml/objects.ts +1431 -0
- package/src/qml/parse.ts +624 -0
- package/src/qml/qtquick.tsx +413 -0
- package/src/qml/react.tsx +454 -0
- package/src/qml/resolver.ts +99 -0
- package/src/qml/slots.ts +249 -0
- package/src/qml/states.ts +318 -0
- package/src/qml/view-utils.ts +140 -0
- package/src/reorder/hx.ts +31 -0
- package/src/reorder/index.ts +2223 -0
- package/src/reorder/model.ts +232 -0
- package/src/richtext/node.ts +49 -14
- package/src/richtext/runs.ts +115 -30
- package/src/tabs/hx.ts +31 -0
- package/src/tabs/index.ts +1686 -0
- package/src/terminal/vt/fonts.ts +128 -36
- package/src/terminal/vt/index.ts +4 -2
- package/src/terminal/vt/node.ts +105 -12
- package/src/terminal/vt/pty.ts +243 -0
- package/src/terminal/vt/renderer.ts +13 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type QmlTypeDef } from './objects.js';
|
|
2
|
+
import { Slot } from './slots.js';
|
|
3
|
+
export declare const modelTypes: Record<string, QmlTypeDef>;
|
|
4
|
+
export interface ResolvedModel {
|
|
5
|
+
rows: unknown[];
|
|
6
|
+
/** Present for a ListModel: the revision slot a consumer watches. */
|
|
7
|
+
revSlot: Slot | null;
|
|
8
|
+
}
|
|
9
|
+
/** number | array | ListModel → rows a Repeater/ListView can walk. */
|
|
10
|
+
export declare function resolveModel(value: unknown): ResolvedModel;
|
|
11
|
+
/** The context properties a delegate row sees: index, modelData, and — for
|
|
12
|
+
* object rows — each role by name, the way QML exposes ListModel roles. */
|
|
13
|
+
export declare function delegateExtras(rows: unknown[], index: number): Record<string, unknown>;
|
|
14
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/qml/models.ts"],"names":[],"mappings":"AAQA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAYlC,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAyCjD,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAa1D;AAED;2EAC2E;AAC3E,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EAAE,EACf,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// ListModel / ListElement, and the one helper every model consumer shares.
|
|
2
|
+
//
|
|
3
|
+
// A ListModel is rows of plain objects. Inline `ListElement` children seed
|
|
4
|
+
// it; the mutation methods (`append`, `remove`, `set`, …) are facade
|
|
5
|
+
// methods, and every mutation bumps a hidden revision slot the consumers
|
|
6
|
+
// (Repeater, ListView) watch — a coarse rebuild, which is the honest P1
|
|
7
|
+
// answer; incremental delegate reuse is DelegateModel's job, later.
|
|
8
|
+
import { QmlInstance, instanceOf } from './objects.js';
|
|
9
|
+
import { Slot } from './slots.js';
|
|
10
|
+
const rowsOf = (m) => m.state.rows;
|
|
11
|
+
function mutate(m, fn) {
|
|
12
|
+
fn(rowsOf(m));
|
|
13
|
+
m.slot('count').assign(rowsOf(m).length);
|
|
14
|
+
m.slot('__rev').assign(m.slot('__rev').peek() + 1);
|
|
15
|
+
}
|
|
16
|
+
export const modelTypes = {
|
|
17
|
+
ListElement: {
|
|
18
|
+
nonVisual: true,
|
|
19
|
+
dynamicProperties: true,
|
|
20
|
+
properties: {},
|
|
21
|
+
},
|
|
22
|
+
ListModel: {
|
|
23
|
+
nonVisual: true,
|
|
24
|
+
properties: { count: { default: 0 }, __rev: { default: 0 } },
|
|
25
|
+
init(m) {
|
|
26
|
+
const rows = [];
|
|
27
|
+
for (const el of m.children) {
|
|
28
|
+
if (el.typeInfo.name !== 'ListElement')
|
|
29
|
+
continue;
|
|
30
|
+
const row = {};
|
|
31
|
+
for (const [name, slot] of el.slots)
|
|
32
|
+
row[name] = slot.peek();
|
|
33
|
+
rows.push(row);
|
|
34
|
+
}
|
|
35
|
+
m.state.rows = rows;
|
|
36
|
+
m.slot('count').assign(rows.length);
|
|
37
|
+
m.methods.set('get', (i) => rowsOf(m)[Number(i)]);
|
|
38
|
+
m.methods.set('append', (row) => mutate(m, (r) => r.push(row)));
|
|
39
|
+
m.methods.set('insert', (i, row) => mutate(m, (r) => r.splice(Number(i), 0, row)));
|
|
40
|
+
m.methods.set('remove', (i, n) => mutate(m, (r) => r.splice(Number(i), n === undefined ? 1 : Number(n))));
|
|
41
|
+
m.methods.set('set', (i, row) => mutate(m, (r) => {
|
|
42
|
+
r[Number(i)] = { ...r[Number(i)], ...row };
|
|
43
|
+
}));
|
|
44
|
+
m.methods.set('setProperty', (i, name, value) => mutate(m, (r) => {
|
|
45
|
+
r[Number(i)] = { ...r[Number(i)], [String(name)]: value };
|
|
46
|
+
}));
|
|
47
|
+
m.methods.set('clear', () => mutate(m, (r) => (r.length = 0)));
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
/** number | array | ListModel → rows a Repeater/ListView can walk. */
|
|
52
|
+
export function resolveModel(value) {
|
|
53
|
+
const inst = instanceOf(value);
|
|
54
|
+
if (inst && inst.typeInfo.name === 'ListModel') {
|
|
55
|
+
return { rows: rowsOf(inst), revSlot: inst.slot('__rev') };
|
|
56
|
+
}
|
|
57
|
+
if (typeof value === 'number') {
|
|
58
|
+
return {
|
|
59
|
+
rows: Array.from({ length: Math.max(0, Math.floor(value)) }, (_, i) => i),
|
|
60
|
+
revSlot: null,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (Array.isArray(value))
|
|
64
|
+
return { rows: value, revSlot: null };
|
|
65
|
+
return { rows: [], revSlot: null };
|
|
66
|
+
}
|
|
67
|
+
/** The context properties a delegate row sees: index, modelData, and — for
|
|
68
|
+
* object rows — each role by name, the way QML exposes ListModel roles. */
|
|
69
|
+
export function delegateExtras(rows, index) {
|
|
70
|
+
const data = rows[index];
|
|
71
|
+
const extras = { index, modelData: data };
|
|
72
|
+
if (data && typeof data === 'object' && !Array.isArray(data)) {
|
|
73
|
+
for (const [k, v] of Object.entries(data)) {
|
|
74
|
+
if (!(k in extras))
|
|
75
|
+
extras[k] = v;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return extras;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/qml/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
import type { ObjectIR, QmlDocument, ValueIR } from './ir.js';
|
|
3
|
+
import type { QmlResolver } from './resolver.js';
|
|
4
|
+
import { Slot, type BindingFn } from './slots.js';
|
|
5
|
+
/**
|
|
6
|
+
* A captured object template (`delegate:`, `sourceComponent:`, a `states:`
|
|
7
|
+
* entry) together with where it was written — its document (for compiling
|
|
8
|
+
* and imports) and its context (what its instances' names resolve
|
|
9
|
+
* through). A delegate handed to a file-backed ListView from the use site
|
|
10
|
+
* must keep resolving use-site names; carrying the pair is what makes
|
|
11
|
+
* that true.
|
|
12
|
+
*/
|
|
13
|
+
export interface TemplateRef {
|
|
14
|
+
object: ObjectIR;
|
|
15
|
+
doc: QmlDocument;
|
|
16
|
+
context: Context;
|
|
17
|
+
}
|
|
18
|
+
/** The use-site half of a file-backed component instance: `MyBackdrop
|
|
19
|
+
* { width: 5; … }` — members evaluated in the *site's* scope, applied on
|
|
20
|
+
* the component document's root instance. */
|
|
21
|
+
interface SiteRef {
|
|
22
|
+
ir: ObjectIR;
|
|
23
|
+
doc: QmlDocument;
|
|
24
|
+
ctx: Context;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* How expressions see an object: live property access, callable signals
|
|
28
|
+
* and methods. Deliberately `any`-valued — a facade is QML's dynamic edge,
|
|
29
|
+
* and `view.id('meter').width = 40` reading naturally is the point.
|
|
30
|
+
*/
|
|
31
|
+
export type QmlFacade = Record<string, any>;
|
|
32
|
+
export interface QmlPropertyDef {
|
|
33
|
+
default?: unknown;
|
|
34
|
+
}
|
|
35
|
+
export interface ValueSourceHookup {
|
|
36
|
+
targetSlot: Slot;
|
|
37
|
+
target: QmlInstance;
|
|
38
|
+
}
|
|
39
|
+
/** What `registerQmlModule` takes, per type. */
|
|
40
|
+
export interface QmlTypeDef {
|
|
41
|
+
extends?: string;
|
|
42
|
+
nonVisual?: boolean;
|
|
43
|
+
/** Object children become templates under this key (Repeater's
|
|
44
|
+
* `delegate`, Loader's `sourceComponent`) instead of instantiating. */
|
|
45
|
+
capture?: string;
|
|
46
|
+
/** Bindings to undeclared names create slots (`PropertyChanges`,
|
|
47
|
+
* `ListElement`) instead of failing. */
|
|
48
|
+
dynamicProperties?: boolean;
|
|
49
|
+
/** `on<Signal>` members are collected, not attached — the type wires
|
|
50
|
+
* them itself (`Connections`). */
|
|
51
|
+
deferHandlers?: boolean;
|
|
52
|
+
/** RowLayout/ColumnLayout: children render as flex items (yoga decides
|
|
53
|
+
* geometry, read back into their slots) instead of absolutely. */
|
|
54
|
+
managesChildLayout?: boolean;
|
|
55
|
+
properties?: Record<string, QmlPropertyDef>;
|
|
56
|
+
signals?: Record<string, string[]>;
|
|
57
|
+
enums?: Record<string, number>;
|
|
58
|
+
init?: (inst: QmlInstance, hookup?: ValueSourceHookup) => void;
|
|
59
|
+
dispose?: (inst: QmlInstance) => void;
|
|
60
|
+
/** The instance's effective children changed (Repeater splice). */
|
|
61
|
+
onStructure?: (inst: QmlInstance) => void;
|
|
62
|
+
view?: ComponentType<{
|
|
63
|
+
inst: QmlInstance;
|
|
64
|
+
}>;
|
|
65
|
+
}
|
|
66
|
+
export interface QmlTypeInfo {
|
|
67
|
+
name: string;
|
|
68
|
+
base: QmlTypeInfo | null;
|
|
69
|
+
nonVisual: boolean;
|
|
70
|
+
capture: string | null;
|
|
71
|
+
dynamicProperties: boolean;
|
|
72
|
+
deferHandlers: boolean;
|
|
73
|
+
managesChildLayout: boolean;
|
|
74
|
+
properties: Record<string, QmlPropertyDef>;
|
|
75
|
+
signals: Record<string, string[]>;
|
|
76
|
+
enums: Record<string, number>;
|
|
77
|
+
init: ((inst: QmlInstance, hookup?: ValueSourceHookup) => void) | null;
|
|
78
|
+
dispose: ((inst: QmlInstance) => void) | null;
|
|
79
|
+
onStructure: ((inst: QmlInstance) => void) | null;
|
|
80
|
+
view: ComponentType<{
|
|
81
|
+
inst: QmlInstance;
|
|
82
|
+
}> | null;
|
|
83
|
+
}
|
|
84
|
+
export declare function registerQmlModule(name: string, { types }: {
|
|
85
|
+
version?: string;
|
|
86
|
+
types: Record<string, QmlTypeDef>;
|
|
87
|
+
}): void;
|
|
88
|
+
export declare function lookupType(doc: QmlDocument, typeName: string): QmlTypeInfo;
|
|
89
|
+
/** `Loader { source: "widgets/Meter.qml" }` — a relative path resolved
|
|
90
|
+
* against the document that names it. Null without a resolver or when the
|
|
91
|
+
* file is absent. */
|
|
92
|
+
export declare function resolveComponentByPath(fromDoc: QmlDocument, path: string): QmlDocument | null;
|
|
93
|
+
export declare class Context {
|
|
94
|
+
parent: Context | null;
|
|
95
|
+
doc: QmlDocument;
|
|
96
|
+
ids: Map<string, QmlInstance>;
|
|
97
|
+
extras: Map<string, Slot>;
|
|
98
|
+
root: QmlInstance | null;
|
|
99
|
+
constructor(parent: Context | null, doc: QmlDocument);
|
|
100
|
+
lookupId(name: string): QmlInstance | null;
|
|
101
|
+
lookupExtra(name: string): Slot | null;
|
|
102
|
+
}
|
|
103
|
+
export interface QtNamespace {
|
|
104
|
+
[key: string]: unknown;
|
|
105
|
+
rgba(r: number, g: number, b: number, a?: number): string;
|
|
106
|
+
hsla(h: number, s: number, l: number, a?: number): string;
|
|
107
|
+
point(x: number, y: number): {
|
|
108
|
+
x: number;
|
|
109
|
+
y: number;
|
|
110
|
+
};
|
|
111
|
+
size(width: number, height: number): {
|
|
112
|
+
width: number;
|
|
113
|
+
height: number;
|
|
114
|
+
};
|
|
115
|
+
rect(x: number, y: number, width: number, height: number): {
|
|
116
|
+
x: number;
|
|
117
|
+
y: number;
|
|
118
|
+
width: number;
|
|
119
|
+
height: number;
|
|
120
|
+
};
|
|
121
|
+
binding(fn: () => unknown): unknown;
|
|
122
|
+
qsTr(s: string): string;
|
|
123
|
+
}
|
|
124
|
+
export declare const Qt: QtNamespace;
|
|
125
|
+
export interface AnchorLine {
|
|
126
|
+
inst: QmlInstance;
|
|
127
|
+
edge: string;
|
|
128
|
+
}
|
|
129
|
+
export declare class QmlInstance {
|
|
130
|
+
readonly uid: number;
|
|
131
|
+
readonly typeInfo: QmlTypeInfo;
|
|
132
|
+
readonly doc: QmlDocument;
|
|
133
|
+
readonly context: Context;
|
|
134
|
+
parentInst: QmlInstance | null;
|
|
135
|
+
id: string | null;
|
|
136
|
+
ir: ObjectIR | null;
|
|
137
|
+
slots: Map<string, Slot>;
|
|
138
|
+
methods: Map<string, (...args: unknown[]) => unknown>;
|
|
139
|
+
signalParams: Map<string, string[]>;
|
|
140
|
+
signalSubs: Map<string, Set<(...args: unknown[]) => void>>;
|
|
141
|
+
/** Effective visual children — Repeater splices instances in here. */
|
|
142
|
+
children: QmlInstance[];
|
|
143
|
+
/** Captured object templates (`delegate`, `sourceComponent`, …). */
|
|
144
|
+
templates: Map<string, TemplateRef>;
|
|
145
|
+
/** For a file-backed component instance: the use-site members, applied
|
|
146
|
+
* in the site's own scope during activation. */
|
|
147
|
+
site: SiteRef | null;
|
|
148
|
+
valueSources: QmlInstance[];
|
|
149
|
+
/** `Keys.onPressed` and friends: attached handlers by dotted name. */
|
|
150
|
+
attachedHandlers: Map<string, (...args: unknown[]) => unknown>;
|
|
151
|
+
/** `Connections`: raw `onX` members, wired by the type's init. */
|
|
152
|
+
deferredHandlers: Array<{
|
|
153
|
+
name: string;
|
|
154
|
+
value: ValueIR;
|
|
155
|
+
}>;
|
|
156
|
+
onDestruction: Array<() => void>;
|
|
157
|
+
anchorLines: Map<string, AnchorLine>;
|
|
158
|
+
version: number;
|
|
159
|
+
structVersion: number;
|
|
160
|
+
listeners: Set<() => void>;
|
|
161
|
+
destroyed: boolean;
|
|
162
|
+
/** Per-type scratch: timers, behaviors, repeater items, host node… */
|
|
163
|
+
state: Record<string, unknown>;
|
|
164
|
+
scope: object;
|
|
165
|
+
facade: QmlFacade;
|
|
166
|
+
_activated: boolean;
|
|
167
|
+
constructor(typeInfo: QmlTypeInfo, doc: QmlDocument, context: Context, parentInst: QmlInstance | null);
|
|
168
|
+
addSlot(name: string, value: unknown): Slot;
|
|
169
|
+
slot(name: string): Slot;
|
|
170
|
+
/** undefined ⇒ not a member (so scope lookup continues up the chain). */
|
|
171
|
+
resolveMember(name: string): unknown;
|
|
172
|
+
getMember(name: string): unknown;
|
|
173
|
+
setMember(name: string, value: unknown): void;
|
|
174
|
+
emit(name: string, ...args: unknown[]): void;
|
|
175
|
+
onSignal(name: string, fn: (...args: unknown[]) => void): () => void;
|
|
176
|
+
anchorLine(edge: string): AnchorLine;
|
|
177
|
+
/** React bridge: any slot change bumps the version; one subscription
|
|
178
|
+
* per object. */
|
|
179
|
+
_changed(): void;
|
|
180
|
+
_structChanged(): void;
|
|
181
|
+
subscribe(fn: () => void): () => void;
|
|
182
|
+
visualChildren(): QmlInstance[];
|
|
183
|
+
destroy(): void;
|
|
184
|
+
}
|
|
185
|
+
/** The instance behind a facade, or null for anything else. */
|
|
186
|
+
export declare const instanceOf: (facade: unknown) => QmlInstance | null;
|
|
187
|
+
export interface InstantiateResult {
|
|
188
|
+
root: QmlInstance;
|
|
189
|
+
context: Context;
|
|
190
|
+
}
|
|
191
|
+
export declare function instantiateDocument(doc: QmlDocument, { context, extras, resolver, }?: {
|
|
192
|
+
context?: Context | null;
|
|
193
|
+
extras?: Record<string, unknown> | null;
|
|
194
|
+
/** Enables `.qml`-file resolution: the implicit same-directory import
|
|
195
|
+
* and quoted-path imports (resolver.ts). */
|
|
196
|
+
resolver?: QmlResolver | null;
|
|
197
|
+
}): InstantiateResult;
|
|
198
|
+
/**
|
|
199
|
+
* A delegate template instantiated into a child context (Repeater, Loader,
|
|
200
|
+
* ListView). `extras` become context properties (index, modelData, roles);
|
|
201
|
+
* ids inside the template scope to the child context while names from the
|
|
202
|
+
* enclosing document keep resolving through the chain.
|
|
203
|
+
*/
|
|
204
|
+
export declare function instantiateTemplate(tpl: TemplateRef, parentInst: QmlInstance | null, extras?: Record<string, unknown> | null): {
|
|
205
|
+
inst: QmlInstance;
|
|
206
|
+
context: Context;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* Instantiate a whole component document (Loader's `source` path). Its
|
|
210
|
+
* names resolve within its own file; only the top-level context — where
|
|
211
|
+
* `QmlView`'s context properties live — is shared through.
|
|
212
|
+
*/
|
|
213
|
+
export declare function instantiateComponentDoc(compDoc: QmlDocument, nearContext: Context, parentInst: QmlInstance | null): {
|
|
214
|
+
inst: QmlInstance;
|
|
215
|
+
context: Context;
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* Hot reload: carry interactive state (slots assigned at runtime —
|
|
219
|
+
* toggles, counters, typed text) from the old tree onto the new one,
|
|
220
|
+
* matched by id + property name. Everything else re-derives from the
|
|
221
|
+
* edited source.
|
|
222
|
+
*/
|
|
223
|
+
export declare function migrateUserState(oldContext: Context, newContext: Context): number;
|
|
224
|
+
/** Compile a stored handler in an instance's scope — how `Connections`
|
|
225
|
+
* wires its deferred `onX` members to another object's signals. */
|
|
226
|
+
export declare function makeHandlerFor(inst: QmlInstance, value: ValueIR, params: string[]): (...args: unknown[]) => unknown;
|
|
227
|
+
export type { BindingFn };
|
|
228
|
+
//# sourceMappingURL=objects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/qml/objects.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAGV,QAAQ,EACR,WAAW,EACX,OAAO,EACR,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAiB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAGjE;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;6CAE6C;AAC7C,UAAU,OAAO;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;CACd;AAaD;;;;GAIG;AAGH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;2EACuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;4CACwC;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;sCACkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;sEACkE;IAClE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,IAAI,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;CACnD;AAMD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,KAAK,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,GACjE,IAAI,CAMN;AAgCD,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CA8B1E;AAmED;;qBAEqB;AACrB,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,IAAI,CAUpB;AAqED,qBAAa,OAAO;IAClB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,WAAW,CAAC;IACjB,GAAG,2BAAkC;IACrC,MAAM,oBAA2B;IACjC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEhC,YAAY,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,WAAW,EAGnD;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMzC;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAMrC;CACF;AAID,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,IAAI,CACF,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,OAAO,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,EAAE,EAAE,WAUhB,CAAC;AA+EF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzB,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC3B,KAAK,oBAA2B;IAChC,OAAO,wBAA6B,OAAO,EAAE,KAAK,OAAO,EAAI;IAC7D,YAAY,wBAA+B;IAC3C,UAAU,4BAAiC,OAAO,EAAE,KAAK,IAAI,GAAK;IAClE,sEAAsE;IACtE,QAAQ,EAAE,WAAW,EAAE,CAAM;IAC7B,oEAAoE;IACpE,SAAS,2BAAkC;IAC3C;oDACgD;IAChD,IAAI,EAAE,OAAO,GAAG,IAAI,CAAQ;IAC5B,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,sEAAsE;IACtE,gBAAgB,wBAA6B,OAAO,EAAE,KAAK,OAAO,EAAI;IACtE,kEAAkE;IAClE,gBAAgB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAM;IAC/D,aAAa,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAM;IACtC,WAAW,0BAAiC;IAC5C,OAAO,SAAK;IACZ,aAAa,SAAK;IAClB,SAAS,YAAiB,IAAI,EAAI;IAClC,SAAS,UAAS;IAClB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,UAAS;IAEnB,YACE,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,WAAW,GAAG,IAAI,EAe/B;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAI1C;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAOvB;IAED,yEAAyE;IACzE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKnC;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAW/B;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAO5C;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI3C;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAOnE;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAInC;IAED;qBACiB;IACjB,QAAQ,IAAI,IAAI,CAGf;IAED,cAAc,IAAI,IAAI,CAIrB;IAED,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAGpC;IAED,cAAc,IAAI,WAAW,EAAE,CAE9B;IAED,OAAO,IAAI,IAAI,CAUd;CACF;AAWD,+DAA+D;AAC/D,eAAO,MAAM,UAAU,WAAY,OAAO,KAAG,WAAW,GAAG,IAIjD,CAAC;AAsCX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,EACE,OAAc,EACd,MAAa,EACb,QAAe,GAChB,GAAE;IACD,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC;gDAC4C;IAC5C,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC1B,GACL,iBAAiB,CA0BnB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,WAAW,GAAG,IAAI,EAC9B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAW,GAC5C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAqBzC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,WAAW,GAAG,IAAI,GAC7B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAgBzC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,GAClB,MAAM,CAeR;AAgXD;mEACmE;AACnE,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EAAE,GACf,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAEjC;AA8ND,YAAY,EAAE,SAAS,EAAE,CAAC"}
|