gesso-framework 0.6.30 → 0.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 +61 -0
- package/dist/{FunctionComponent-CHtojpp7.d.ts → FunctionComponent-Czkex8fp.d.ts} +358 -114
- package/dist/{serveChannels-BlEag7WU.js → WorkerPorts-m_hLRoPj.js} +8 -240
- package/dist/WorkerPorts-m_hLRoPj.js.map +1 -0
- package/dist/agent/index.d.ts +53 -2
- package/dist/agent/index.js +5 -4
- package/dist/agent/index.js.map +1 -1
- package/dist/app-De3z58x7.js +638 -0
- package/dist/app-De3z58x7.js.map +1 -0
- package/dist/computed-_cYcdczA.js +577 -0
- package/dist/computed-_cYcdczA.js.map +1 -0
- package/dist/createComponent-DJads88q.js +47 -0
- package/dist/createComponent-DJads88q.js.map +1 -0
- package/dist/{index-DZbSb8IN.d.ts → index-BENndtaH.d.ts} +222 -96
- package/dist/index.d.ts +4 -5
- package/dist/index.js +440 -6645
- package/dist/index.js.map +1 -1
- package/dist/jsx/jsx-runtime.d.ts +8 -5
- package/dist/jsx/jsx-runtime.js +15 -6
- package/dist/jsx/jsx-runtime.js.map +1 -1
- package/dist/{persisted-fUzIU8FZ.js → persisted-8meJmsOh.js} +4 -576
- package/dist/persisted-8meJmsOh.js.map +1 -0
- package/dist/remote/index.d.ts +2 -2
- package/dist/remote/index.js +2 -1
- package/dist/remote/index.js.map +1 -1
- package/dist/{remote-BoB8zh7z.js → remote-B4bjdTzg.js} +19 -4
- package/dist/remote-B4bjdTzg.js.map +1 -0
- package/dist/render-cydQ10Nd.js +6795 -0
- package/dist/render-cydQ10Nd.js.map +1 -0
- package/dist/serveChannels-DReCmRxO.js +241 -0
- package/dist/serveChannels-DReCmRxO.js.map +1 -0
- package/dist/{createComponent-3n1ZSql8.js → show-D0MevHaV.js} +2 -46
- package/dist/show-D0MevHaV.js.map +1 -0
- package/dist/{ui-CHtNccR8.d.ts → tools-BFBwuinE.d.ts} +351 -8
- package/dist/{webmcp-CdDq2nzS.js → webmcp-D7IlA0fu.js} +3 -3
- package/dist/webmcp-D7IlA0fu.js.map +1 -0
- package/dist/worker/index.d.ts +3 -4
- package/dist/worker/index.js +5 -3
- package/dist/worker/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/ChannelProtocol-ByNoHujM.d.ts +0 -247
- package/dist/app-Yig59Ygf.js +0 -326
- package/dist/app-Yig59Ygf.js.map +0 -1
- package/dist/createComponent-3n1ZSql8.js.map +0 -1
- package/dist/persisted-fUzIU8FZ.js.map +0 -1
- package/dist/remote-BoB8zh7z.js.map +0 -1
- package/dist/serveChannels-BlEag7WU.js.map +0 -1
- package/dist/webmcp-CdDq2nzS.js.map +0 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
//#region src/metadata.ts
|
|
2
|
+
const metadataStore = /* @__PURE__ */ new WeakMap();
|
|
3
|
+
function getComponentMetadata(constructor) {
|
|
4
|
+
let metadata = metadataStore.get(constructor);
|
|
5
|
+
if (metadata === void 0) {
|
|
6
|
+
metadata = {
|
|
7
|
+
tag: constructor.name,
|
|
8
|
+
inputs: /* @__PURE__ */ new Set(),
|
|
9
|
+
states: /* @__PURE__ */ new Set(),
|
|
10
|
+
injects: /* @__PURE__ */ new Map(),
|
|
11
|
+
channels: /* @__PURE__ */ new Map()
|
|
12
|
+
};
|
|
13
|
+
metadataStore.set(constructor, metadata);
|
|
14
|
+
}
|
|
15
|
+
return metadata;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/createComponent.ts
|
|
19
|
+
/**
|
|
20
|
+
* Creates a ComponentElement for use as a child of a UiElement.
|
|
21
|
+
*
|
|
22
|
+
* Column(
|
|
23
|
+
* createComponent(Counter, { label: 'Count' }),
|
|
24
|
+
* createComponent(TodoItem, { todo }, todo.id)
|
|
25
|
+
* )
|
|
26
|
+
*
|
|
27
|
+
* The component may be a class extending Component or a function
|
|
28
|
+
* `(props, ctx) => UiChild`. Props are typed from the component: a
|
|
29
|
+
* class's `input()` fields, or a function's `Inputs<P>` parameter. A
|
|
30
|
+
* misspelled prop, a value of the wrong type, and a missing required
|
|
31
|
+
* prop are compile errors; props may be omitted only when none is
|
|
32
|
+
* required.
|
|
33
|
+
*/
|
|
34
|
+
function createComponent(component, ...args) {
|
|
35
|
+
const [props, key] = args;
|
|
36
|
+
return {
|
|
37
|
+
kind: "component",
|
|
38
|
+
tag: getComponentMetadata(component).tag,
|
|
39
|
+
component,
|
|
40
|
+
props: props ?? {},
|
|
41
|
+
key
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { getComponentMetadata as n, createComponent as t };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=createComponent-DJads88q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createComponent-DJads88q.js","names":[],"sources":["../src/metadata.ts","../src/createComponent.ts"],"sourcesContent":["export const COMPONENT_METADATA_KEY = Symbol('gesso:component:metadata');\n\nexport interface ComponentMetadata {\n tag: string;\n inputs: Set<string>;\n states: Set<string>;\n injects: Map<string, Function>;\n /** Property name → the channel token it resolves to (`@Channel`). */\n channels: Map<string, { name: string }>;\n}\n\nconst metadataStore = new WeakMap<Function, ComponentMetadata>();\n\nexport function getComponentMetadata(constructor: Function): ComponentMetadata {\n let metadata = metadataStore.get(constructor);\n if (metadata === undefined) {\n metadata = { tag: constructor.name, inputs: new Set(), states: new Set(), injects: new Map(), channels: new Map() };\n metadataStore.set(constructor, metadata);\n }\n return metadata;\n}\n\nexport function hasComponentMetadata(constructor: Function): boolean {\n return metadataStore.has(constructor);\n}\n","import type { ComponentElement } from './ComponentElement';\nimport type { ComponentArgs, ComponentProps, ComponentType } from './FunctionComponent';\nimport { getComponentMetadata } from './metadata';\n\n/**\n * Creates a ComponentElement for use as a child of a UiElement.\n *\n * Column(\n * createComponent(Counter, { label: 'Count' }),\n * createComponent(TodoItem, { todo }, todo.id)\n * )\n *\n * The component may be a class extending Component or a function\n * `(props, ctx) => UiChild`. Props are typed from the component: a\n * class's `input()` fields, or a function's `Inputs<P>` parameter. A\n * misspelled prop, a value of the wrong type, and a missing required\n * prop are compile errors; props may be omitted only when none is\n * required.\n */\nexport function createComponent<C extends ComponentType>(\n component: C,\n ...args: ComponentArgs<C>\n): ComponentElement<ComponentProps<C>> {\n const [props, key] = args as [ComponentProps<C> | undefined, string | number | undefined];\n const metadata = getComponentMetadata(component);\n return {\n kind: 'component',\n tag: metadata.tag,\n component,\n props: (props ?? {}) as ComponentProps<C>,\n key\n };\n}\n"],"mappings":";AAWA,MAAM,gCAAgB,IAAI,QAAqC;AAE/D,SAAgB,qBAAqB,aAA0C;CAC7E,IAAI,WAAW,cAAc,IAAI,WAAW;CAC5C,IAAI,aAAa,KAAA,GAAW;EAC1B,WAAW;GAAE,KAAK,YAAY;GAAM,wBAAQ,IAAI,IAAI;GAAG,wBAAQ,IAAI,IAAI;GAAG,yBAAS,IAAI,IAAI;GAAG,0BAAU,IAAI,IAAI;EAAE;EAClH,cAAc,IAAI,aAAa,QAAQ;CACzC;CACA,OAAO;AACT;;;;;;;;;;;;;;;;;;ACDA,SAAgB,gBACd,WACA,GAAG,MACkC;CACrC,MAAM,CAAC,OAAO,OAAO;CAErB,OAAO;EACL,MAAM;EACN,KAHe,qBAAqB,SAGxB,CAAC,CAAC;EACd;EACA,OAAQ,SAAS,CAAC;EAClB;CACF;AACF"}
|
|
@@ -1,56 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { E as WorkerHandle, s as
|
|
3
|
-
import { C as InternalState, T as Component, a as ComponentType, c as Inputs, g as OutputCell, h as InputCell, i as ComponentProps, n as ComponentArgs, r as ComponentContext, u as ChannelReplica, v as ReadableCell } from "./FunctionComponent-CHtojpp7.js";
|
|
1
|
+
import { L as ChannelToken, R as Command, a as ComponentType, c as Inputs, i as ComponentProps, j as Patch, n as ComponentArgs, p as InternalState, r as ComponentContext, u as Component, v as InputCell, x as ReadableCell, y as OutputCell } from "./FunctionComponent-Czkex8fp.js";
|
|
2
|
+
import { C as ServiceRegistry, E as DesignThemes, O as AgentConfirmation, U as ChannelSource, X as WorkerHandle, b as ComponentElement, s as UiHost, t as AgentToolDefinition, w as ChannelRegistry, x as FrameworkChild } from "./tools-BFBwuinE.js";
|
|
4
3
|
import { BehaviorSubject, Observable, Subscription } from "rxjs";
|
|
5
|
-
import { AnimatedCell, AnimationDriver, CanvasHost, CaretRect, ComponentLikeElement, ComponentResolver, EditingState, EditingState as EditingState$1, FocusOptions, IconRasterizer, ImageResolver, LayoutExplanation, LayoutInspector, MARK_PREFIX, MotionStateInput, MotionTiming, Reactive, RendererBackend, Size, TextMeasureRequest, TextMeasurer, UI_ROLES, UI_SEMANTIC_STATES, UiAnimation, UiChild, UiContrast, UiDurationToken, UiEasing, UiEasingToken, UiEditingController, UiElement, UiFileDropMessage, UiFindController, UiFocusManager, UiFrameClockFactory, UiInputDispatcher, UiInsets, UiKeyModifiers, UiKeyboardController, UiLength, UiModifier, UiMotion, UiNode, UiPlatformAdapter, UiPointerController, UiPointerDevice, UiReducedMotionPolicy, UiRole, UiScrollability, UiSelectionController, UiSemanticState, UiSemanticsAction, UiSemanticsMap, UiSemanticsMap as UiSemanticsMap$1, UiSemanticsPatch, UiSemanticsRecord, UiSemanticsRecord as UiSemanticsRecord$1, UiSemanticsUpdate, UiShortcutRegistry, UiSpringSpec, UiSpringToken, UiTextPosition, UiThemeExtension, UiTouchScroller, UiWheelController, VideoClock, VideoResolver, markInstant, markNow, measureSpan, performanceMarksEnabled, setPerformanceMarks as setPerformanceMarks$1 } from "gesso-core";
|
|
6
|
-
//#region src/service/ServiceRegistry.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* The runtime services a component may inject.
|
|
9
|
-
*
|
|
10
|
-
* A service is a plain class the runtime constructs once and hands to
|
|
11
|
-
* whoever asks: the clipboard and window (`ShellService`), overlays,
|
|
12
|
-
* focus, find, media, animation. They are not application state and
|
|
13
|
-
* they never cross a thread — they hold a `UiNode`, an `ImageResolver`,
|
|
14
|
-
* decoded bitmaps, a focus manager — so there is no replica, no patch
|
|
15
|
-
* and no wire format anywhere near them.
|
|
16
|
-
*
|
|
17
|
-
* That is the whole difference from what used to be here. Application
|
|
18
|
-
* state crosses the barrier and is declared as a channel; a service
|
|
19
|
-
* stays on the render thread and is simply called. Both used to be
|
|
20
|
-
* `Store`, and the single name hid which of the two rules applied.
|
|
21
|
-
*/
|
|
22
|
-
declare class ServiceRegistry {
|
|
23
|
-
private readonly services;
|
|
24
|
-
/** Constructs and registers a service, once. */
|
|
25
|
-
register<T extends object>(ServiceClass: new () => T): T;
|
|
26
|
-
/**
|
|
27
|
-
* Points an existing service at a replacement class of the same
|
|
28
|
-
* name, keeping the instance (the HMR).
|
|
29
|
-
*
|
|
30
|
-
* A registry is keyed by the class object, which is the right key
|
|
31
|
-
* for every purpose but one: replacing a module produces a new class
|
|
32
|
-
* object, so a component from the replaced module injects a class
|
|
33
|
-
* the registry has never seen even though a service of that name is
|
|
34
|
-
* sitting in it. Re-keying is what lets the tree be rebuilt from new
|
|
35
|
-
* code while the service it depends on carries on holding what it
|
|
36
|
-
* was holding.
|
|
37
|
-
*
|
|
38
|
-
* **The instance keeps the behaviour it was constructed with.** It
|
|
39
|
-
* was built from the old class and its methods are the old code, so
|
|
40
|
-
* a change to a service's own body needs a full reload to take
|
|
41
|
-
* effect. State survives; behaviour does not. That is the trade
|
|
42
|
-
* every hot-replacement system makes, and pretending otherwise would
|
|
43
|
-
* be worse than saying it.
|
|
44
|
-
*
|
|
45
|
-
* Returns false when nothing of that name was registered, which
|
|
46
|
-
* means the caller is looking at a genuinely new service rather than
|
|
47
|
-
* a replacement.
|
|
48
|
-
*/
|
|
49
|
-
adopt(ServiceClass: new () => object): boolean;
|
|
50
|
-
get<T extends object>(ServiceClass: new () => T): T;
|
|
51
|
-
has(ServiceClass: Function): boolean;
|
|
52
|
-
}
|
|
53
|
-
//#endregion
|
|
4
|
+
import { AnimatedCell, AnimationDriver, CanvasHost, CaretRect, ComponentLikeElement, ComponentResolver, EditingState, EditingState as EditingState$1, FocusOptions, IconRasterizer, ImageResolver, LayoutExplanation, LayoutInspector, MARK_PREFIX, MotionStateInput, MotionTiming, Reactive, RendererBackend, Size, SvgResolver, TextMeasureRequest, TextMeasurer, UI_ROLES, UI_SEMANTIC_STATES, UiAnimation, UiChild, UiContrast, UiDurationToken, UiEasing, UiEasingToken, UiEditingController, UiElement, UiFileDropMessage, UiFindController, UiFocusManager, UiFrameClockFactory, UiInputDispatcher, UiInsets, UiKeyModifiers, UiKeyboardController, UiLength, UiModifier, UiMotion, UiNode, UiPlatformAdapter, UiPointer, UiPointerController, UiPointerDevice, UiReducedMotionPolicy, UiRole, UiScrollability, UiSelectionController, UiSemanticState, UiSemanticsAction, UiSemanticsMap, UiSemanticsMap as UiSemanticsMap$1, UiSemanticsPatch, UiSemanticsRecord, UiSemanticsRecord as UiSemanticsRecord$1, UiSemanticsUpdate, UiShortcutRegistry, UiSourceLocation, UiSpringSpec, UiSpringToken, UiTextPosition, UiTheme, UiThemeExtension, UiTouchScroller, UiWheelController, VideoClock, VideoResolver, markInstant, markNow, measureSpan, performanceMarksEnabled, setPerformanceMarks as setPerformanceMarks$1 } from "gesso-core";
|
|
54
5
|
//#region src/derive.d.ts
|
|
55
6
|
/** How `derive` decides that a new value is not a change. */
|
|
56
7
|
type Equality<T> = 'reference' | 'structural' | ((a: T, b: T) => boolean);
|
|
@@ -989,25 +940,6 @@ declare function Channel(token: {
|
|
|
989
940
|
name: string;
|
|
990
941
|
}): PropertyDecorator;
|
|
991
942
|
//#endregion
|
|
992
|
-
//#region src/channel/ChannelRegistry.d.ts
|
|
993
|
-
/**
|
|
994
|
-
* The channels a runtime can hand to its components, by name.
|
|
995
|
-
*
|
|
996
|
-
* A replica is the only thing kept: whether the data lives in another
|
|
997
|
-
* worker or on this very thread is settled by the port it was attached
|
|
998
|
-
* with, and nothing above here can tell.
|
|
999
|
-
*/
|
|
1000
|
-
declare class ChannelRegistry {
|
|
1001
|
-
private readonly replicas;
|
|
1002
|
-
/** Attaches a channel over `port`. */
|
|
1003
|
-
attach<View extends object, Commands extends object>(token: ChannelToken<View, Commands>, port: ChannelPort): ChannelReplica<View, Commands>;
|
|
1004
|
-
get<View extends object, Commands extends object>(token: ChannelToken<View, Commands>): ChannelReplica<View, Commands>;
|
|
1005
|
-
has(token: ChannelToken<object, CommandMap>): boolean;
|
|
1006
|
-
/** Every attached replica, for frame-aligned patch flushing. */
|
|
1007
|
-
all(): ChannelReplica<object, CommandMap>[];
|
|
1008
|
-
dispose(): void;
|
|
1009
|
-
}
|
|
1010
|
-
//#endregion
|
|
1011
943
|
//#region src/channel/plainData.d.ts
|
|
1012
944
|
/**
|
|
1013
945
|
* Checks that a value can cross the barrier.
|
|
@@ -1124,28 +1056,6 @@ declare function pickKeys<T extends object, K extends keyof T>(source: Observabl
|
|
|
1124
1056
|
//#region src/channel/structuralEquals.d.ts
|
|
1125
1057
|
declare function structurallyEqual<T>(a: T, b: T): boolean;
|
|
1126
1058
|
//#endregion
|
|
1127
|
-
//#region src/ComponentElement.d.ts
|
|
1128
|
-
/**
|
|
1129
|
-
* Declarative representation of a component instance in the tree.
|
|
1130
|
-
*
|
|
1131
|
-
* ComponentElements are resolved by ComponentRenderer into plain
|
|
1132
|
-
* UiElement trees before being passed to UiGraphBuilder.
|
|
1133
|
-
*/
|
|
1134
|
-
interface ComponentElement<P = Record<string, unknown>> {
|
|
1135
|
-
readonly kind: 'component';
|
|
1136
|
-
readonly tag: string;
|
|
1137
|
-
/** The class or function to mount. */
|
|
1138
|
-
readonly component: ComponentType;
|
|
1139
|
-
readonly props: P;
|
|
1140
|
-
readonly key?: string | number;
|
|
1141
|
-
}
|
|
1142
|
-
declare function isComponentElement(value: unknown): value is ComponentElement;
|
|
1143
|
-
/**
|
|
1144
|
-
* Anything the framework accepts as a child: a runtime element, an
|
|
1145
|
-
* observable stream of elements, or a component definition.
|
|
1146
|
-
*/
|
|
1147
|
-
type FrameworkChild = UiChild | ComponentElement;
|
|
1148
|
-
//#endregion
|
|
1149
1059
|
//#region src/createComponent.d.ts
|
|
1150
1060
|
/**
|
|
1151
1061
|
* Creates a ComponentElement for use as a child of a UiElement.
|
|
@@ -1440,6 +1350,13 @@ declare class ComponentHost<P extends Record<string, unknown> = Record<string, u
|
|
|
1440
1350
|
private createInputRecord;
|
|
1441
1351
|
private createContext;
|
|
1442
1352
|
private wireInputs;
|
|
1353
|
+
/**
|
|
1354
|
+
* What the parent most recently supplied for each input, as given:
|
|
1355
|
+
* a value, an element or a stream, whether or not the component has
|
|
1356
|
+
* read it yet. For a tool reading the tree, such as the inspector's
|
|
1357
|
+
* owner report; nothing here changes it.
|
|
1358
|
+
*/
|
|
1359
|
+
suppliedInputs(): ReadonlyMap<string, unknown>;
|
|
1443
1360
|
/**
|
|
1444
1361
|
* Connects one input cell to whatever the parent supplied.
|
|
1445
1362
|
*
|
|
@@ -1562,6 +1479,13 @@ interface UiNodeReport {
|
|
|
1562
1479
|
readonly semantics?: UiSemanticsReport;
|
|
1563
1480
|
/** `formatExplanation` of the node's layout, which is L8's answer. */
|
|
1564
1481
|
readonly explanation: string;
|
|
1482
|
+
/**
|
|
1483
|
+
* Where the element was written, when it was compiled for
|
|
1484
|
+
* development. The one part of the report that is a handle after
|
|
1485
|
+
* all: it names a line an editor can open, and an owner's `usedAt`
|
|
1486
|
+
* names the line that used the component around it.
|
|
1487
|
+
*/
|
|
1488
|
+
readonly source?: UiSourceLocation;
|
|
1565
1489
|
}
|
|
1566
1490
|
/** A node under the inspected one at the pointer. */
|
|
1567
1491
|
interface UiBeneathReport {
|
|
@@ -1576,7 +1500,21 @@ interface UiOwnerReport {
|
|
|
1576
1500
|
/** The `@Define` tag, else the class or function name. */
|
|
1577
1501
|
readonly name: string;
|
|
1578
1502
|
readonly anchorId: string;
|
|
1503
|
+
/** Where the component was used, when compiled for development. */
|
|
1504
|
+
readonly usedAt?: UiSourceLocation;
|
|
1505
|
+
/**
|
|
1506
|
+
* What its parent supplied for each input, as far as plain data can
|
|
1507
|
+
* say: a word, a number or a flag as it is, and an element (a slot the
|
|
1508
|
+
* parent filled) as `{ element: true }`. Handlers, data objects and
|
|
1509
|
+
* streams with no current value are left out. What a design tool
|
|
1510
|
+
* needs to write a component's use back as code: `label="Email"`.
|
|
1511
|
+
*/
|
|
1512
|
+
readonly inputs?: Readonly<Record<string, UiOwnerInput>>;
|
|
1579
1513
|
}
|
|
1514
|
+
/** One input's value in an owner report; see `UiOwnerReport.inputs`. */
|
|
1515
|
+
type UiOwnerInput = string | number | boolean | null | {
|
|
1516
|
+
readonly element: true;
|
|
1517
|
+
};
|
|
1580
1518
|
/** As much of a node as a one-line path needs. */
|
|
1581
1519
|
interface NodePathTarget {
|
|
1582
1520
|
/** `UiNodeType`, as its string value. */
|
|
@@ -1704,6 +1642,8 @@ interface UiSemanticsReport {
|
|
|
1704
1642
|
*/
|
|
1705
1643
|
declare function printPropValue(value: unknown): string;
|
|
1706
1644
|
/** The report as text, for a console or a test failure. */
|
|
1645
|
+
/** `file:line:column`, the form editors and terminals turn into a link. */
|
|
1646
|
+
declare function formatSourceLocation(source: UiSourceLocation): string;
|
|
1707
1647
|
declare function formatNodeReport(report: UiNodeReport): string;
|
|
1708
1648
|
//#endregion
|
|
1709
1649
|
//#region src/app/colorScheme.d.ts
|
|
@@ -1956,6 +1896,7 @@ declare class ShellService {
|
|
|
1956
1896
|
private leaving;
|
|
1957
1897
|
private readonly scheme;
|
|
1958
1898
|
private readonly contrastState;
|
|
1899
|
+
private readonly pointerState;
|
|
1959
1900
|
private readonly activeState;
|
|
1960
1901
|
private readonly insets;
|
|
1961
1902
|
private readonly isFullscreen;
|
|
@@ -2015,6 +1956,13 @@ declare class ShellService {
|
|
|
2015
1956
|
* );
|
|
2016
1957
|
*/
|
|
2017
1958
|
readonly contrast: ReadableCell<UiContrast>;
|
|
1959
|
+
/**
|
|
1960
|
+
* What the person points with: `coarse` on a touch screen, `fine` with
|
|
1961
|
+
* a mouse or a trackpad. Fine until a shell says otherwise. The
|
|
1962
|
+
* runtime also provides it at the root (`UiEnvironmentKeys.pointer`),
|
|
1963
|
+
* where controls read it; this is for the application's own choices.
|
|
1964
|
+
*/
|
|
1965
|
+
readonly pointer: ReadableCell<UiPointer>;
|
|
2018
1966
|
/**
|
|
2019
1967
|
* Whether the window is the one the person is using: shown, and holding
|
|
2020
1968
|
* the keyboard focus. False while it is behind another window,
|
|
@@ -2064,6 +2012,8 @@ declare class ShellService {
|
|
|
2064
2012
|
/** Called by the runtime when the shell reports whether the window is active; not for applications. */
|
|
2065
2013
|
applyWindowActive(active: boolean): void;
|
|
2066
2014
|
/** Called by the runtime when the shell reports the contrast; not for applications. */
|
|
2015
|
+
/** Called by the runtime when the shell reports what the person points with. */
|
|
2016
|
+
applyPointer(pointer: UiPointer): void;
|
|
2067
2017
|
applyContrast(contrast: UiContrast): void;
|
|
2068
2018
|
/**
|
|
2069
2019
|
* Called by the runtime when the shell reports the platform's insets.
|
|
@@ -3140,6 +3090,8 @@ interface MediaOptions {
|
|
|
3140
3090
|
resolver?: ImageResolver;
|
|
3141
3091
|
/** Where an `Icon` finds its raster. */
|
|
3142
3092
|
rasterizer?: IconRasterizer;
|
|
3093
|
+
/** Where an `Image` reads an SVG source. */
|
|
3094
|
+
vectors?: SvgResolver;
|
|
3143
3095
|
/** Where a `Video` finds its decoder. */
|
|
3144
3096
|
videoResolver?: VideoResolver;
|
|
3145
3097
|
}
|
|
@@ -3162,6 +3114,7 @@ interface MediaOptions {
|
|
|
3162
3114
|
declare class MediaService {
|
|
3163
3115
|
private imageResolver;
|
|
3164
3116
|
private iconRasterizer;
|
|
3117
|
+
private svgResolver;
|
|
3165
3118
|
private videoResolver;
|
|
3166
3119
|
/**
|
|
3167
3120
|
* Whether each of the three is the service's to dispose.
|
|
@@ -3177,6 +3130,10 @@ declare class MediaService {
|
|
|
3177
3130
|
private ownsRasterizer;
|
|
3178
3131
|
private ownsVideoResolver;
|
|
3179
3132
|
get images(): ImageResolver;
|
|
3133
|
+
/** Where an `Image` reads an SVG source, which it draws as vectors rather than decoding. */
|
|
3134
|
+
get vectors(): SvgResolver;
|
|
3135
|
+
/** The same seam, for SVG. A read file holds no pixels, so there is nothing to dispose either way. */
|
|
3136
|
+
setSvgResolver(resolver: SvgResolver): void;
|
|
3180
3137
|
get icons(): IconRasterizer;
|
|
3181
3138
|
/**
|
|
3182
3139
|
* Built on first use rather than in the field, because a decoder is
|
|
@@ -3478,6 +3435,8 @@ declare class GessoRuntime {
|
|
|
3478
3435
|
readonly inspector: LayoutInspector;
|
|
3479
3436
|
private readonly resolver;
|
|
3480
3437
|
private readonly graph;
|
|
3438
|
+
/** The properties `InspectionService.preview` is drawing over, by node; gone with the node. */
|
|
3439
|
+
private readonly previewed;
|
|
3481
3440
|
private readonly engine;
|
|
3482
3441
|
private readonly builder;
|
|
3483
3442
|
private readonly scheduler;
|
|
@@ -3653,6 +3612,8 @@ declare class GessoRuntime {
|
|
|
3653
3612
|
private audioListener;
|
|
3654
3613
|
private caretTimer;
|
|
3655
3614
|
private scrollbarTimer;
|
|
3615
|
+
/** Pending frame the renderer asked for though nothing changes; see \`UiRenderer.nextRepaint\`. */
|
|
3616
|
+
private rendererTimer;
|
|
3656
3617
|
private inspectorTimer;
|
|
3657
3618
|
/** Pending wake-up for an animation that does not want every frame. */
|
|
3658
3619
|
private animationTimer;
|
|
@@ -3874,6 +3835,21 @@ declare class GessoRuntime {
|
|
|
3874
3835
|
* request produced it.
|
|
3875
3836
|
*/
|
|
3876
3837
|
private sendTree;
|
|
3838
|
+
/**
|
|
3839
|
+
* The theme a node sees, by id, or with none named the theme the
|
|
3840
|
+
* application's outermost content sees: from the application's root,
|
|
3841
|
+
* down through every node with exactly one child, which passes the
|
|
3842
|
+
* wrappers an application usually puts its theme on. Undefined before
|
|
3843
|
+
* the root is built, or for an id the tree does not hold.
|
|
3844
|
+
*/
|
|
3845
|
+
themeAt(id?: string): UiTheme | undefined;
|
|
3846
|
+
/**
|
|
3847
|
+
* `InspectionService.preview`: a write over the node's own value, as
|
|
3848
|
+
* a modifier's is, from a source of its own placed after every
|
|
3849
|
+
* modifier, so it wins and ending it restores what was under it.
|
|
3850
|
+
*/
|
|
3851
|
+
private previewProperty;
|
|
3852
|
+
private endPreviews;
|
|
3877
3853
|
/** `inspectNode` for a node named by id, or null when the tree has no such node. */
|
|
3878
3854
|
inspectNodeById(id: string): UiNodeReport | null;
|
|
3879
3855
|
/**
|
|
@@ -4000,6 +3976,14 @@ declare class GessoRuntime {
|
|
|
4000
3976
|
setColorScheme(scheme: ColorScheme): void;
|
|
4001
3977
|
/** Whether the window is the one in use, passed straight to `ShellService`; see `ShellService.windowActive`. */
|
|
4002
3978
|
setWindowActive(active: boolean): void;
|
|
3979
|
+
/**
|
|
3980
|
+
* What the person points with, as the shell reports it: kept on
|
|
3981
|
+
* `ShellService.pointer`, and provided at the root, so every theme in
|
|
3982
|
+
* the tree is turned for a finger on a touch device (`withPointer`)
|
|
3983
|
+
* without the application doing anything. A subtree that says
|
|
3984
|
+
* `pointer` itself keeps what it says.
|
|
3985
|
+
*/
|
|
3986
|
+
setPointer(pointer: UiPointer): void;
|
|
4003
3987
|
/** The contrast the platform asks for, passed straight to `ShellService`; see `ShellService.contrast`. */
|
|
4004
3988
|
setContrast(contrast: UiContrast): void;
|
|
4005
3989
|
/**
|
|
@@ -4104,6 +4088,7 @@ declare class GessoRuntime {
|
|
|
4104
4088
|
*/
|
|
4105
4089
|
private pathOf;
|
|
4106
4090
|
/** The components that rendered a node, nearest first. */
|
|
4091
|
+
private sourceReport;
|
|
4107
4092
|
private ownersOf;
|
|
4108
4093
|
private propsOf;
|
|
4109
4094
|
/**
|
|
@@ -4592,6 +4577,13 @@ declare class GessoRuntime {
|
|
|
4592
4577
|
* property change asks for. The engine says when the next change is
|
|
4593
4578
|
* due; one pending timer marks a repaint for it.
|
|
4594
4579
|
*/
|
|
4580
|
+
/**
|
|
4581
|
+
* The renderer wants a frame though nothing changes: Canvas2D's kept
|
|
4582
|
+
* subtrees are drawn sharp once a zoom settles. One pending timer
|
|
4583
|
+
* marks the root for paint then, which leaves every kept thing as it
|
|
4584
|
+
* is; a frame before it that is still not settled asks again.
|
|
4585
|
+
*/
|
|
4586
|
+
private scheduleRendererRepaint;
|
|
4595
4587
|
private scheduleScrollbarFade;
|
|
4596
4588
|
/**
|
|
4597
4589
|
* The caret blinks, which needs frames no property change asks for.
|
|
@@ -4608,7 +4600,7 @@ declare class GessoRuntime {
|
|
|
4608
4600
|
* for; one pending timer marks a repaint for the next step due.
|
|
4609
4601
|
*/
|
|
4610
4602
|
private scheduleInspectorRepaint;
|
|
4611
|
-
/** Hands the listener the hovered node's cursor, when it changed. */
|
|
4603
|
+
/** Hands the listener the hovered node's cursor, when it changed: the arrow over a scrollbar, as a native one shows. */
|
|
4612
4604
|
private sendCursor;
|
|
4613
4605
|
/**
|
|
4614
4606
|
* Hands the listener the pointer's scroll chain, when it changed.
|
|
@@ -4949,6 +4941,9 @@ type ShellToRuntimeMessage = {
|
|
|
4949
4941
|
} | {
|
|
4950
4942
|
type: 'contrast';
|
|
4951
4943
|
contrast: UiContrast;
|
|
4944
|
+
} | {
|
|
4945
|
+
type: 'pointer';
|
|
4946
|
+
pointer: UiPointer;
|
|
4952
4947
|
} |
|
|
4953
4948
|
/** Whether the window is shown and holds the focus; once at start-up and on every change. See `ShellService.windowActive`. */
|
|
4954
4949
|
{
|
|
@@ -6421,6 +6416,8 @@ declare class GessoAppBuilder {
|
|
|
6421
6416
|
private root;
|
|
6422
6417
|
private readonly channelRegistrations;
|
|
6423
6418
|
private readonly serviceRegistrations;
|
|
6419
|
+
/** The application's own agent tools (`useAgentTools`). */
|
|
6420
|
+
private readonly agentTools;
|
|
6424
6421
|
private frameListener;
|
|
6425
6422
|
private inspectListener;
|
|
6426
6423
|
private devtoolsListener;
|
|
@@ -6462,6 +6459,8 @@ declare class GessoAppBuilder {
|
|
|
6462
6459
|
* service.
|
|
6463
6460
|
*/
|
|
6464
6461
|
useService(ServiceClass: new () => object): this;
|
|
6462
|
+
/** Offers an agent tools of the application's own; see `renderRoot(...).useAgentTools`. */
|
|
6463
|
+
useAgentTools(tools: readonly AgentToolDefinition[]): this;
|
|
6465
6464
|
/**
|
|
6466
6465
|
* Declares the app's routes, which is all it takes to make a
|
|
6467
6466
|
* `RouterOutlet` in the tree resolve them. Mirrors
|
|
@@ -7626,6 +7625,78 @@ declare class FrameService {
|
|
|
7626
7625
|
publish(metrics: FrameMetrics): void;
|
|
7627
7626
|
}
|
|
7628
7627
|
//#endregion
|
|
7628
|
+
//#region src/app/InspectionService.d.ts
|
|
7629
|
+
/**
|
|
7630
|
+
* What is on the screen, as a component can ask: the nodes under a
|
|
7631
|
+
* point, and what each one is.
|
|
7632
|
+
*
|
|
7633
|
+
* The inspector already answers both, for the devtools panel, from the
|
|
7634
|
+
* runtime's hit tester and its node report. A tool built in Gesso that
|
|
7635
|
+
* points at Gesso needs the same answers from inside the tree: a design
|
|
7636
|
+
* editor whose canvas holds live frames, where a click picks the box
|
|
7637
|
+
* under it instead of pressing it and says which line wrote it. So the
|
|
7638
|
+
* runtime puts them here, as it puts frames in `FrameService`.
|
|
7639
|
+
* Injected like any service: `ctx.inject(InspectionService)`.
|
|
7640
|
+
*/
|
|
7641
|
+
declare class InspectionService {
|
|
7642
|
+
private host;
|
|
7643
|
+
/** Called by the runtime; not for components. */
|
|
7644
|
+
attach(host: InspectionHost): void;
|
|
7645
|
+
/**
|
|
7646
|
+
* Every node under a point, topmost first, in the coordinates a
|
|
7647
|
+
* pointer event carries: the one a press would reach, then each one
|
|
7648
|
+
* it is painted over. Empty before the first frame.
|
|
7649
|
+
*/
|
|
7650
|
+
nodesAt(x: number, y: number): readonly UiNode[];
|
|
7651
|
+
/**
|
|
7652
|
+
* What the node is, as the inspector reports it: its box, its props,
|
|
7653
|
+
* the components that rendered it and, compiled for development, the
|
|
7654
|
+
* line that wrote it (`source`) and where each of those components
|
|
7655
|
+
* was used (`owners[].usedAt`).
|
|
7656
|
+
*/
|
|
7657
|
+
inspect(node: UiNode): UiNodeReport;
|
|
7658
|
+
/**
|
|
7659
|
+
* Where the node is drawn, as `inspect(node).box` reports it, without
|
|
7660
|
+
* the rest of the report: for an editor that reads the boxes of many
|
|
7661
|
+
* nodes as its view moves (a minimap of a board of frames), where
|
|
7662
|
+
* building each node's props, owners and source was most of the cost.
|
|
7663
|
+
*/
|
|
7664
|
+
box(node: UiNode): {
|
|
7665
|
+
readonly x: number;
|
|
7666
|
+
readonly y: number;
|
|
7667
|
+
readonly width: number;
|
|
7668
|
+
readonly height: number;
|
|
7669
|
+
};
|
|
7670
|
+
/**
|
|
7671
|
+
* Draws a node as though it declared `value` for `property`, until
|
|
7672
|
+
* the preview is ended or the node leaves the tree.
|
|
7673
|
+
*
|
|
7674
|
+
* What a design editor shows while a value is being chosen: a padding
|
|
7675
|
+
* dragged or a colour hovered in a list is drawn at once, on the
|
|
7676
|
+
* live tree, and only written to the source when the designer lets go.
|
|
7677
|
+
* It wins over the element's own value and over its modifiers, and
|
|
7678
|
+
* ending it restores whichever of those was there, inheritance
|
|
7679
|
+
* included. The name and value are a prop's, as JSX would write them.
|
|
7680
|
+
*/
|
|
7681
|
+
preview(node: UiNode, property: string, value: unknown): void;
|
|
7682
|
+
/** Ends a preview of one property, or of every property previewed on the node. */
|
|
7683
|
+
endPreview(node: UiNode, property?: string): void;
|
|
7684
|
+
}
|
|
7685
|
+
/** What the runtime gives the service. */
|
|
7686
|
+
interface InspectionHost {
|
|
7687
|
+
nodesAt(x: number, y: number): readonly UiNode[];
|
|
7688
|
+
inspect(node: UiNode): UiNodeReport;
|
|
7689
|
+
/** The node's box alone, as `inspect` reports it. */
|
|
7690
|
+
box?(node: UiNode): {
|
|
7691
|
+
readonly x: number;
|
|
7692
|
+
readonly y: number;
|
|
7693
|
+
readonly width: number;
|
|
7694
|
+
readonly height: number;
|
|
7695
|
+
};
|
|
7696
|
+
preview?(node: UiNode, property: string, value: unknown): void;
|
|
7697
|
+
endPreview?(node: UiNode, property?: string): void;
|
|
7698
|
+
}
|
|
7699
|
+
//#endregion
|
|
7629
7700
|
//#region src/app/videoClock.d.ts
|
|
7630
7701
|
/**
|
|
7631
7702
|
* A clip's position, taken from the sound playing beside it.
|
|
@@ -8701,6 +8772,13 @@ interface WorkerGlobal {
|
|
|
8701
8772
|
* useChannel() calls always land before the shell's init message is
|
|
8702
8773
|
* processed.
|
|
8703
8774
|
*/
|
|
8775
|
+
/** An error the render worker reported, as an application's `onError` hears it. */
|
|
8776
|
+
interface RenderWorkerError {
|
|
8777
|
+
readonly message: string;
|
|
8778
|
+
readonly stack?: string;
|
|
8779
|
+
/** Where it came from: a frame, a listener, the renderer, a channel, a message, or nothing that caught it. */
|
|
8780
|
+
readonly source: RuntimeErrorSource;
|
|
8781
|
+
}
|
|
8704
8782
|
declare function renderRoot(root: FrameworkChild | ComponentType): RenderWorkerApp;
|
|
8705
8783
|
declare class RenderWorkerApp {
|
|
8706
8784
|
private readonly channelRegistrations;
|
|
@@ -8711,6 +8789,14 @@ declare class RenderWorkerApp {
|
|
|
8711
8789
|
private root;
|
|
8712
8790
|
private readonly host;
|
|
8713
8791
|
private runtime;
|
|
8792
|
+
/** See `renderThemesWith`. */
|
|
8793
|
+
private renderThemes;
|
|
8794
|
+
/** See `loadModulesWith`. */
|
|
8795
|
+
private loadModule;
|
|
8796
|
+
/** The application's own agent tools (`useAgentTools`). */
|
|
8797
|
+
private readonly agentTools;
|
|
8798
|
+
/** What the application asked to hear of the errors this worker reports (`onError`). */
|
|
8799
|
+
private readonly errorListeners;
|
|
8714
8800
|
/** Held so forwarded display refreshes can be handed to it. */
|
|
8715
8801
|
private clock;
|
|
8716
8802
|
private channels;
|
|
@@ -8728,6 +8814,11 @@ declare class RenderWorkerApp {
|
|
|
8728
8814
|
* would be a bare sentence with nothing to look up.
|
|
8729
8815
|
*/
|
|
8730
8816
|
private reportUncaught;
|
|
8817
|
+
/**
|
|
8818
|
+
* Tells the shell about an error, which shows it (the development
|
|
8819
|
+
* overlay), and every listener the application gave `onError`.
|
|
8820
|
+
*/
|
|
8821
|
+
private reportError;
|
|
8731
8822
|
/**
|
|
8732
8823
|
* Replaces the application's root and rebuilds its tree, for hot
|
|
8733
8824
|
* module replacement.
|
|
@@ -8752,6 +8843,24 @@ declare class RenderWorkerApp {
|
|
|
8752
8843
|
* message it simply changes which root will be built.
|
|
8753
8844
|
*/
|
|
8754
8845
|
reload(root: FrameworkChild | ComponentType, services?: readonly (new () => object)[]): void;
|
|
8846
|
+
/**
|
|
8847
|
+
* How `render_frame` loads a module an agent names, given its path from
|
|
8848
|
+
* the project root with a leading slash (`/mocks/Settings.tsx`). By
|
|
8849
|
+
* default it is imported from where the application is served, which
|
|
8850
|
+
* suits an application drawing its own modules. One whose modules are
|
|
8851
|
+
* served from somewhere else says where: a design editor serving the
|
|
8852
|
+
* project it designs from another folder.
|
|
8853
|
+
*
|
|
8854
|
+
* renderRoot(Editor).loadModulesWith(path => import(`/@fs${projectRoot}${path}`))
|
|
8855
|
+
*/
|
|
8856
|
+
loadModulesWith(load: (path: string) => Promise<Record<string, unknown>>): this;
|
|
8857
|
+
/**
|
|
8858
|
+
* The themes an application designs in, asked on each call, when they
|
|
8859
|
+
* are not the one it is drawn in: a design editor's project's. They
|
|
8860
|
+
* are what `render_frame` draws in and `tokens_view` reports unless an
|
|
8861
|
+
* agent asks for the application's own; see `designedTheme`.
|
|
8862
|
+
*/
|
|
8863
|
+
renderThemesWith(themes: () => DesignThemes): this;
|
|
8755
8864
|
/**
|
|
8756
8865
|
* Registers a channel.
|
|
8757
8866
|
*
|
|
@@ -8777,6 +8886,23 @@ declare class RenderWorkerApp {
|
|
|
8777
8886
|
* service.
|
|
8778
8887
|
*/
|
|
8779
8888
|
useService(ServiceClass: new () => object): this;
|
|
8889
|
+
/**
|
|
8890
|
+
* Offers an agent tools of the application's own, beside its
|
|
8891
|
+
* channels' and its screen's: ones that answer with something other
|
|
8892
|
+
* than a view, such as a measurement or a composed picture. See
|
|
8893
|
+
* `AgentToolDefinition`. Called again, it adds to them.
|
|
8894
|
+
*
|
|
8895
|
+
* renderRoot(Editor).useAgentTools(editorTools);
|
|
8896
|
+
*/
|
|
8897
|
+
useAgentTools(tools: readonly AgentToolDefinition[]): this;
|
|
8898
|
+
/**
|
|
8899
|
+
* Hears every error this worker reports to the shell: a frame that
|
|
8900
|
+
* threw, a listener, the renderer, a channel, anything uncaught. For
|
|
8901
|
+
* an application that shows errors itself, where they happen: a design
|
|
8902
|
+
* editor listing what is wrong with a mock rather than an overlay over
|
|
8903
|
+
* the editor, with the plugin's `overlay: false`.
|
|
8904
|
+
*/
|
|
8905
|
+
onError(listener: (error: RenderWorkerError) => void): this;
|
|
8780
8906
|
/**
|
|
8781
8907
|
* Declares the app's routes, which is all it takes to make a
|
|
8782
8908
|
* `RouterOutlet` in the tree resolve them.
|
|
@@ -8862,5 +8988,5 @@ declare class RenderWorkerApp {
|
|
|
8862
8988
|
private initialize;
|
|
8863
8989
|
}
|
|
8864
8990
|
//#endregion
|
|
8865
|
-
export {
|
|
8866
|
-
//# sourceMappingURL=index-
|
|
8991
|
+
export { OpfsStorageOptions as $, BoundStream as $n, Mutation as $r, RendererChoice as $t, observeReducedMotion as A, AudioMetadata as An, findUnplainPath as Ar, ShellHistory as At, InspectionHost as B, UiEasingChoice as Bn, ThemeTokenCell as Br, DevtoolsRequest as Bt, writeClipboard as C, route as Cn, createComponent as Cr, GessoAppBuilder as Ct, TextService as D, formatUrl as Dn, ChannelRegistration as Dr, AppLogicEndpoint as Dt, EditingService as E, buildPath as En, pickKeys as Er, createApp as Et, AudioSink as F, AudioStatus as Fn, Input as Fr, ActionEntry as Ft, persisted as G, ShellRecentFile as Gn, show as Gr, treeText as Gt, FrameService as H, ShellFileRequest as Hn, bind as Hr, PatchEntry as Ht, AudioSinkOptions as I, AnimateOptions as In, Output as Ir, ChannelErrorEntry as It, IndexedDbStorage as J, ShellStorageOp as Jn, EachProps as Jr, ShellToRuntimeMessage as Jt, ShellStorage as K, ShellRequest as Kn, Each as Kr, RuntimeErrorSource as Kt, AudioSinkOutput as L, AnimationService as Ln, ControlledOptions as Lr, CommandEntry as Lt, PresenceProps as M, AudioSample as Mn, Channel as Mr, ShellHistoryOptions as Mt, RouterOutlet as N, AudioService as Nn, Define as Nr, createShellHistory as Nt, FindService as O, parseUrl as On, ChannelRegistryHandle as Or, WorkerApp as Ot, AudioElementLike as P, AudioState as Pn, Inject as Pr, ActionCause as Pt, OpfsStorage as Q, observeColorScheme as Qn, MutateOptions as Qr, GessoRuntimeOptions as Qt, MediaSessionLike as R, SpringOptions as Rn, ControlledValue as Rr, ConsoleEntry as Rt, EditingProxySink as S, RouteTarget as Sn, OverlayService as Sr, createSyncApp as St, ScrollService as T, RouteParams as Tn, pick as Tr, CreateAppOptions as Tt, PersistedOptions as U, ShellFileResult as Un, Show as Ur, UiTreeNode as Ut, InspectionService as V, ShellFile as Vn, themeTokenCell as Vr, FrameEntry as Vt, PersistedState as W, ShellFileType as Wn, ShowProps as Wr, UiTreeSnapshot as Wt, OpfsDirectory as X, ColorScheme as Xn, debounced as Xr, FramePhaseTimings as Xt, IndexedDbStorageOptions as Y, ShellStorageResult as Yn, each as Yr, FrameMetrics as Yt, OpfsFileHandle as Z, ColorSchemePreference as Zn, throttled as Zr, GessoRuntime as Zt, renderRoot as _, DeriveOptions as _i, OutletProps as _n, ComponentHost as _r, ShellLocalStore as _t, UiRole as a, resource as ai, FontFamilyDeclaration as an, UiPropOrigin as ar, classifyStorageError as at, SemanticsMirrorSink as b, RouteGuard as bn, OverlayPlacement as br, GessoApp as bt, UiSemanticsPatch as c, FanCell as ci, FontService as cn, UiStreamReport as cr, storageReadValue as ct, markNow as d, FanOutOptions as di, RouteAnswer as dn, formatNodePath as dr, UndoableOptions as dt, mutate as ei, RuntimeInput as en, NodePathTarget as er, OpfsWritable as et, measureSpan as f, fanOut as fi, RouteMatch as fn, formatNodeReport as fr, undoable as ft, RenderWorkerError as g, computed as gi, RouteState as gn, ComponentHostResolver as gr, rememberedDirectory as gt, RenderWorkerApp as h, ReadSource as hi, RouterService as hn, printPropValue as hr, UndoTransaction as ht, UI_SEMANTIC_STATES as i, ResourceStatus as ii, FontFaceLike as in, UiOwnerReport as ir, StorageRead as it, Presence as j, AudioRequest as jn, requirePlainData as jr, ShellHistoryMode as jt, observeMediaQuery as k, AudioAction as kn, createChannelRegistry as kr, WorkerAppOptions as kt, UiSemanticsRecord$1 as l, FanKey as li, MediaOptions as ln, describeStream as lr, UndoShortcutOptions as lt, setPerformanceMarks$1 as m, ComputedOptions as mi, RouterRoutes as mn, formatStream as mr, UndoStackOptions as mt, MARK_PREFIX as n, ResourceOptions as ni, UiFramePhase as nn, UiNodeReport as nr, StorageAdapter as nt, UiSemanticState as o, SelectOptions as oi, FontFamilyStatus as on, UiPropReport as or, storageErrorMessage as ot, performanceMarksEnabled as p, ComputedCell as pi, RouterHistorySink as pn, formatSourceLocation as pr, UndoStack as pt, ShellStorageOptions as q, ShellService as qn, EachKey as qr, RuntimeToShellMessage as qt, UI_ROLES as r, ResourceState as ri, FontFaceDeclaration as rn, UiOwnerInput as rr, StorageOutcome as rt, UiSemanticsMap$1 as s, select as si, FontHost as sn, UiSemanticsReport as sr, storageReadFailure as st, EditingState$1 as t, Resource as ti, UI_FRAME_PHASES as tn, UiEnvironmentReport as tr, MemoryStorage as tt, markInstant as u, FanOut as ui, MediaService as un, formatAge as ur, registerUndoShortcuts as ut, EditingMirrorTarget as v, Equality as vi, RouteContext as vn, OverlayLayer as vr, performShellStorage as vt, FocusService as w, to as wn, structurallyEqual as wr, WebMcpChoice as wt, EditingProxy as x, RouteOptions as xn, OverlayRect as xr, GessoAppOptions as xt, SemanticsMirror as y, derive as yi, RouteDefinition as yn, OverlayEntry as yr, shellStorageDenied as yt, audioClock as z, UiDuration as zn, controlled as zr, DevtoolsEvent as zt };
|
|
8992
|
+
//# sourceMappingURL=index-BENndtaH.d.ts.map
|