gesso-framework 0.6.20 → 0.6.21

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # gesso-framework
2
2
 
3
+ ## 0.6.21
4
+
5
+ ### Patch Changes
6
+
7
+ - 42c06c1: A render worker draws the frames it asks for while its page is hidden or behind another window, paced by a timer, rather than waiting for a refresh that a hidden page never gets. A channel's patches are applied on a frame, so until now an answer the application thread sent while the page was hidden reached nothing: a request awaiting it never settled, and the screen and its semantics mirror kept what they last showed, until the page was shown again. The runtime still asks for no frame on a hidden page's account, so no caret blink or animation runs there.
8
+ - c99b972: `MenuItem` takes `items`, a submenu: it opens beside its item on a press, the pointer resting on it, Enter or Right, Left or Escape goes back, and a choice in it is the menu's own, closing both. `Menu` takes `compact`, for shorter rows in a long context menu, as `Select`'s.
9
+
10
+ `FocusService.releaseTrap` (and `UiFocusManager.popScope`) take the node trapped in, and end only that trap: none, when it ended already. A trap ends by itself when its subtree is removed, and a menu that released its trap after closing ended the trap under it as well, a submenu's menu's, leaving the keyboard nowhere.
11
+
12
+ - 856bc51: `TextInput` takes `secret`, and `EditableText` a `secret` property, for a password or a passphrase. The field draws a bullet for every character, copy and cut take nothing from it, and while it has focus the shell edits it through a hidden `<input type="password">`, so the browser and the platform treat it as a password: secure input on macOS, no autocorrect, and a screen reader that calls it a secure text field. The value still reaches `onChange`; the shell's element, the semantics record and the accessibility mirror only ever hold the bullets. A secret field is one line.
13
+ - 47d9cc1: `ShellService.readText()` reads the system clipboard's text, for a Paste chosen from a menu: a key's paste brings its text with it, a menu's has to ask. It resolves to null where the browser refuses (it wants a secure context and focus, and may ask the person first) or no shell is installed, and never rejects. Both shells answer it, the worker's through a `clipboardRead` message and its `clipboardReadResult`.
14
+ - Updated dependencies [499d7ae]
15
+ - Updated dependencies [42c06c1]
16
+ - Updated dependencies [c99b972]
17
+ - Updated dependencies [e612a33]
18
+ - Updated dependencies [856bc51]
19
+ - Updated dependencies [211e791]
20
+ - gesso-core@0.6.21
21
+
3
22
  ## 0.6.20
4
23
 
5
24
  ### Patch Changes
@@ -1672,6 +1672,9 @@ type ShellRequest = {
1672
1672
  type: 'clipboard';
1673
1673
  id: number;
1674
1674
  text: string;
1675
+ } | {
1676
+ type: 'clipboardRead';
1677
+ id: number;
1675
1678
  } | {
1676
1679
  type: 'openUrl';
1677
1680
  url: string;
@@ -1888,6 +1891,9 @@ declare class ShellService {
1888
1891
  /** Clipboard writes asked for and not yet answered, by the id sent with each. */
1889
1892
  private readonly copies;
1890
1893
  private nextCopyId;
1894
+ /** Clipboard reads asked for and not yet answered, by the id sent with each. */
1895
+ private readonly reads;
1896
+ private nextReadId;
1891
1897
  /** File requests asked for and not yet answered, by the id sent with each. */
1892
1898
  private readonly files;
1893
1899
  private nextFileId;
@@ -2011,6 +2017,20 @@ declare class ShellService {
2011
2017
  * `settlePopup`'s terms.
2012
2018
  */
2013
2019
  settleClipboard(id: number, copied: boolean): void;
2020
+ /**
2021
+ * The text on the system clipboard, for a Paste chosen from a menu
2022
+ * rather than typed: a key's paste comes with its text, a menu's has
2023
+ * to ask. Null when there is none to give: the browser refused (it
2024
+ * wants a secure context, a focused document, and in some browsers
2025
+ * the person's say-so, which it asks for itself), or no shell is
2026
+ * installed. It never rejects.
2027
+ */
2028
+ readText(): Promise<string | null>;
2029
+ /**
2030
+ * Called by the runtime with what a clipboard read found. Not for
2031
+ * applications. An unknown id is ignored, on `settlePopup`'s terms.
2032
+ */
2033
+ settleClipboardRead(id: number, text: string | null): void;
2014
2034
  /** Opens a URL in the user's browser, in a new tab or window. */
2015
2035
  openUrl(url: string): void;
2016
2036
  /**
@@ -3401,6 +3421,12 @@ declare class GessoRuntime {
3401
3421
  private constraints;
3402
3422
  private pixelRatio;
3403
3423
  private lastFrameMs;
3424
+ /** The timer that draws an input's frame early; see `answerInput`. */
3425
+ private earlyFrame;
3426
+ /** When the last early frame was drawn, on this thread's clock. */
3427
+ private lastEarlyFrame;
3428
+ /** When the last discrete input was routed; see `answerInput`. */
3429
+ private lastDiscreteInput;
3404
3430
  /** The display time the frame being drawn is for; see `FrameMetrics.time`. */
3405
3431
  private frameTime;
3406
3432
  /** When the frame's first phase began, before its changes were collected; see `FrameMetrics.durationMs`. */
@@ -3653,6 +3679,39 @@ declare class GessoRuntime {
3653
3679
  * method: measurement must not be a condition of routing an event.
3654
3680
  */
3655
3681
  noteInput(at: number | undefined): void;
3682
+ /**
3683
+ * Draws the frame a discrete input armed (a key, a character typed, a
3684
+ * paste, a press) as soon as the input has been routed, rather than at
3685
+ * the next refresh.
3686
+ *
3687
+ * Waiting for the refresh is what typing cost. With keys at random
3688
+ * points in the frame, a key waited half a refresh on average and
3689
+ * nearly a whole one at worst before its frame began, so keystroke to
3690
+ * frame was p50 12.5 ms and p95 20.7 ms for about 5 ms of work:
3691
+ * a quarter of all keys over a frame at 60 Hz. A frame drawn in its
3692
+ * own task is committed when the task ends, and shown at the next
3693
+ * refresh the compositor has not yet taken, which is never later than
3694
+ * the frame the refresh would have drawn.
3695
+ *
3696
+ * It runs in a task of its own, a zero timer, not in the input's: a
3697
+ * key arrives as `keyDown` and then `beforeInput`, two messages posted
3698
+ * together, and one frame for both is the point. Continuous input
3699
+ * (pointer moves, the wheel) is left to the refresh, which already
3700
+ * coalesces it. Two guards keep it from costing more than it saves:
3701
+ * nothing early while the last frame took more than half a refresh,
3702
+ * when a second frame in the same refresh would take time the next
3703
+ * one needs; and no early frame within `EARLY_FRAME_GAP_MS` of the
3704
+ * last, so a burst of keys is still one frame per refresh or so.
3705
+ *
3706
+ * The answer to an input often comes later, from another thread: quick
3707
+ * open's results, a completion list. A channel's patch that arrives
3708
+ * within `ANSWER_WINDOW_MS` of a discrete input is drawn early the same
3709
+ * way (see `deferPatchesFrom`), so the answer does not wait for a
3710
+ * refresh either.
3711
+ */
3712
+ answerInput(): void;
3713
+ /** Draws the pending frame in a task of its own, if the guards in `answerInput` allow. */
3714
+ private drawEarly;
3656
3715
  /**
3657
3716
  * Turns the layout inspector on or off. While on, every frame paints
3658
3717
  * the hovered node's boxes and the measure heatmap over the scene, and
@@ -3900,6 +3959,8 @@ declare class GessoRuntime {
3900
3959
  * `ShellService.copyText` returned.
3901
3960
  */
3902
3961
  settleClipboard(id: number, copied: boolean): void;
3962
+ /** Reports what a clipboard read found, settling the promise `ShellService.readText` returned. */
3963
+ settleClipboardRead(id: number, text: string | null): void;
3903
3964
  /**
3904
3965
  * Reports what the shell found in `localStorage`, settling the
3905
3966
  * promise `ShellService.requestStorage` returned.
@@ -4854,6 +4915,12 @@ type ShellToRuntimeMessage = {
4854
4915
  id: number;
4855
4916
  copied: boolean;
4856
4917
  } |
4918
+ /** What a `clipboardRead` request found, under its `id`: null when the browser would not say. */
4919
+ {
4920
+ type: 'clipboardReadResult';
4921
+ id: number;
4922
+ text: string | null;
4923
+ } |
4857
4924
  /**
4858
4925
  * What the shell found in `localStorage` for a `storage` request
4859
4926
  * (ShellStorage). The second reply on this protocol, and it carries
@@ -5073,6 +5140,11 @@ type RuntimeToShellMessage = {
5073
5140
  id: number;
5074
5141
  text: string;
5075
5142
  } |
5143
+ /** Read the clipboard's text (ShellService.readText). `id` pairs it with the `clipboardReadResult` that comes back. */
5144
+ {
5145
+ type: 'clipboardRead';
5146
+ id: number;
5147
+ } |
5076
5148
  /** Open a URL in a new tab (ShellService.openUrl). */
5077
5149
  {
5078
5150
  type: 'openUrl';
@@ -8086,9 +8158,12 @@ declare class FocusService {
8086
8158
  trap(scope: UiNode): void;
8087
8159
  /**
8088
8160
  * Ends the innermost trap and returns focus to whatever held it when
8089
- * the trap was taken — the button that opened the dialog.
8161
+ * the trap was taken — the button that opened the dialog. Given the
8162
+ * node trapped in, only that trap ends, and nothing when it ended
8163
+ * already: a trap's subtree removed releases it, and a release after
8164
+ * that would otherwise end the trap under it.
8090
8165
  */
8091
- releaseTrap(): void;
8166
+ releaseTrap(scope?: UiNode): void;
8092
8167
  private run;
8093
8168
  private sync;
8094
8169
  }
@@ -8140,11 +8215,27 @@ interface EditingProxySink {
8140
8215
  *
8141
8216
  * Nothing here reads the textarea's content as truth except the
8142
8217
  * composition string, which is the one thing only the browser knows.
8218
+ *
8219
+ * A secret field (`EditingState.secret`) is edited through an
8220
+ * `<input type="password">` in the textarea's place, made the first
8221
+ * time one takes focus. Only a password input makes the browser and the
8222
+ * OS treat what is typed as a password: macOS turns on secure input, so
8223
+ * no other application can read the keys; nothing autocorrects, learns
8224
+ * or spell-checks it; a screen reader calls it a secure text field and
8225
+ * does not echo the characters. Every listener the textarea has, the
8226
+ * input has too. Its value is the state's text, which for a secret
8227
+ * field is already the mask, so the value reaches no element.
8143
8228
  */
8144
8229
  declare class EditingProxy {
8145
8230
  private readonly canvas;
8146
8231
  private readonly sink;
8147
8232
  private readonly textarea;
8233
+ /** The password input, once a secret field has had focus. */
8234
+ private password;
8235
+ /** Whichever of the two the focused editable is edited through. */
8236
+ private field;
8237
+ /** What `describe` was last given, so a swap of element carries it across. */
8238
+ private described;
8148
8239
  private readonly doc;
8149
8240
  private readonly view;
8150
8241
  private state;
@@ -8152,12 +8243,27 @@ declare class EditingProxy {
8152
8243
  private disposed;
8153
8244
  /** Set while `raiseKeyboard` drops focus on purpose; see there. */
8154
8245
  private refocusing;
8155
- private readonly detach;
8246
+ private detach;
8156
8247
  constructor(canvas: HTMLCanvasElement, sink: EditingProxySink);
8248
+ /** Hides an element, puts it over the canvas and listens to it. */
8249
+ private prepare;
8250
+ /** The password input, made the first time a secret field needs it. */
8251
+ private passwordField;
8252
+ /** Whether an element is one this proxy edits through. */
8253
+ private owns;
8254
+ /**
8255
+ * Moves editing to the other element: the focused editable became, or
8256
+ * stopped being, a secret one. Focus follows if the old element had
8257
+ * it; the blur that causes is ours, not the person leaving the field.
8258
+ */
8259
+ private swapTo;
8157
8260
  /** True while an editable in the runtime has focus. */
8158
8261
  get active(): boolean;
8159
- /** The hidden element, for tests. */
8160
- get element(): HTMLTextAreaElement;
8262
+ /**
8263
+ * The hidden element editing goes through: the textarea, or the
8264
+ * password input while a secret field has focus. For tests.
8265
+ */
8266
+ get element(): HTMLTextAreaElement | HTMLInputElement;
8161
8267
  /**
8162
8268
  * The runtime's editing state changed. Null means no editable has
8163
8269
  * focus: the element gives focus back to the canvas so keys keep
@@ -8216,14 +8322,22 @@ declare class EditingProxy {
8216
8322
  * the person is really typing into. That the two cannot disagree is
8217
8323
  * the reason the field's semantics live here rather than on a second
8218
8324
  * element beside it.
8325
+ *
8326
+ * Nothing of the record's value is written: the element's own value
8327
+ * is the field's text (a secret field's mask), and that is what a
8328
+ * screen reader reads.
8219
8329
  */
8220
8330
  describe(record: UiSemanticsRecord | null, activeDescendant?: string, controls?: string): void;
8331
+ private write;
8221
8332
  dispose(): void;
8222
8333
  /** Puts the element where the caret is, so the IME window opens there. */
8223
8334
  private position;
8224
8335
  /** Mirrors the runtime's text and selection, except while the IME owns the element. */
8225
8336
  private mirror;
8337
+ /** Listens to one of the two elements; each has the same listeners. */
8226
8338
  private listen;
8339
+ private readonly onPaste;
8340
+ private listenWindow;
8227
8341
  }
8228
8342
  /**
8229
8343
  * Writes text to the system clipboard from the main thread, and answers
@@ -8644,4 +8758,4 @@ declare class RenderWorkerApp {
8644
8758
  }
8645
8759
  //#endregion
8646
8760
  export { StorageAdapter as $, UiNodeReport as $n, mutate as $r, UiFramePhase as $t, Presence as A, AudioService as An, ChannelRegistry as Ar, createShellHistory as At, PersistedOptions as B, ShellFileResult as Bn, themeTokenCell as Br, UiTreeNode as Bt, FocusService as C, buildPath as Cn, pick as Cr, createApp as Ct, FindService as D, AudioMetadata as Dn, createChannelRegistry as Dr, ShellHistory as Dt, TextService as E, AudioAction as En, ChannelRegistryHandle as Er, WorkerAppOptions as Et, AudioSinkOptions as F, SpringOptions as Fn, Output as Fr, ConsoleEntry as Ft, IndexedDbStorage as G, ShellStorageOp as Gn, Each as Gr, ShellToRuntimeMessage as Gt, persisted as H, ShellRecentFile as Hn, Show as Hr, treeText as Ht, AudioSinkOutput as I, UiDuration as In, ControlledOptions as Ir, DevtoolsEvent as It, OpfsFileHandle as J, ColorSchemePreference as Jn, each as Jr, GessoRuntime as Jt, IndexedDbStorageOptions as K, ShellStorageResult as Kn, EachKey as Kr, FrameMetrics as Kt, MediaSessionLike as L, UiEasingChoice as Ln, ControlledValue as Lr, DevtoolsRequest as Lt, RouterOutlet as M, AudioStatus as Mn, Define as Mr, ActionEntry as Mt, AudioElementLike as N, AnimateOptions as Nn, Inject as Nr, ChannelErrorEntry as Nt, observeMediaQuery as O, AudioRequest as On, findUnplainPath as Or, ShellHistoryMode as Ot, AudioSink as P, AnimationService as Pn, Input as Pr, CommandEntry as Pt, MemoryStorage as Q, UiEnvironmentReport as Qn, Mutation as Qr, UI_FRAME_PHASES as Qt, audioClock as R, ShellFile as Rn, controlled as Rr, FrameEntry as Rt, writeClipboard as S, RouteParams as Sn, structurallyEqual as Sr, CreateAppOptions as St, EditingService as T, parseUrl as Tn, ChannelRegistration as Tr, WorkerApp as Tt, ShellStorage as U, ShellRequest as Un, ShowProps as Ur, RuntimeErrorSource as Ut, PersistedState as V, ShellFileType as Vn, bind as Vr, UiTreeSnapshot as Vt, ShellStorageOptions as W, ShellService as Wn, show as Wr, RuntimeToShellMessage as Wt, OpfsStorageOptions as X, BoundStream as Xn, throttled as Xr, RendererChoice as Xt, OpfsStorage as Y, observeColorScheme as Yn, debounced as Yr, GessoRuntimeOptions as Yt, OpfsWritable as Z, NodePathTarget as Zn, MutateOptions as Zr, RuntimeInput as Zt, EditingMirrorTarget as _, Equality as _i, RouteGuard as _n, OverlayService as _r, GessoApp as _t, UiRole as a, SelectOptions as ai, FontService as an, describeStream as ar, storageReadValue as at, EditingProxy as b, route as bn, FrameworkChild as br, GessoAppBuilder as bt, UiSemanticsPatch as c, FanKey as ci, RouteAnswer as cn, formatNodeReport as cr, UndoableOptions as ct, markNow as d, fanOut as di, RouterRoutes as dn, ComponentHostResolver as dr, UndoStackOptions as dt, Resource as ei, FontFaceDeclaration as en, UiOwnerReport as er, StorageOutcome as et, measureSpan as f, ComputedCell as fi, RouterService as fn, ComponentHost as fr, UndoTransaction as ft, renderRoot as g, DeriveOptions as gi, RouteDefinition as gn, OverlayRect as gr, shellStorageDenied as gt, RenderWorkerApp as h, computed as hi, RouteContext as hn, OverlayPlacement as hr, performShellStorage as ht, UI_SEMANTIC_STATES as i, resource as ii, FontHost as in, UiStreamReport as ir, storageReadFailure as it, PresenceProps as j, AudioState as jn, Channel as jr, ActionCause as jt, observeReducedMotion as k, AudioSample as kn, requirePlainData as kr, ShellHistoryOptions as kt, UiSemanticsRecord$1 as l, FanOut as li, RouteMatch as ln, formatStream as lr, undoable as lt, setPerformanceMarks$1 as m, ReadSource as mi, OutletProps as mn, OverlayEntry as mr, ShellLocalStore as mt, MARK_PREFIX as n, ResourceState as ni, FontFamilyDeclaration as nn, UiPropReport as nr, classifyStorageError as nt, UiSemanticState as o, select as oi, MediaOptions as on, formatAge as or, UndoShortcutOptions as ot, performanceMarksEnabled as p, ComputedOptions as pi, RouteState as pn, OverlayLayer as pr, rememberedDirectory as pt, OpfsDirectory as q, ColorScheme as qn, EachProps as qr, FramePhaseTimings as qt, UI_ROLES as r, ResourceStatus as ri, FontFamilyStatus as rn, UiSemanticsReport as rr, storageErrorMessage as rt, UiSemanticsMap$1 as s, FanCell as si, MediaService as sn, formatNodePath as sr, registerUndoShortcuts as st, EditingState$1 as t, ResourceOptions as ti, FontFaceLike as tn, UiPropOrigin as tr, StorageRead as tt, markInstant as u, FanOutOptions as ui, RouterHistorySink as un, printPropValue as ur, UndoStack as ut, SemanticsMirror as v, derive as vi, RouteOptions as vn, createComponent as vr, GessoAppOptions as vt, ScrollService as w, formatUrl as wn, pickKeys as wr, AppLogicEndpoint as wt, EditingProxySink as x, to as xn, isComponentElement as xr, WebMcpChoice as xt, SemanticsMirrorSink as y, ServiceRegistry as yi, RouteTarget as yn, ComponentElement as yr, createSyncApp as yt, FrameService as z, ShellFileRequest as zn, ThemeTokenCell as zr, PatchEntry as zt };
8647
- //# sourceMappingURL=index-Deqs0FCn.d.ts.map
8761
+ //# sourceMappingURL=index-C2nyeg5Y.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { _ as channel, a as isChannelHostMessage, c as applyPatch, d as ChannelSpec, f as ChannelToken, g as ViewOf, h as CommandsOf, i as isChannelClientMessage, l as applyPatches, m as CommandMap, n as ChannelHostMessage, o as Patch, p as Command, r as ChannelPort, s as PatchPath, t as ChannelClientMessage, u as diffProjection, v as defineChannel, y as viewKeys } from "./ChannelProtocol-ByNoHujM.js";
2
2
  import { A as portHandle, C as MessageEndpoint, D as isHubMessage, E as WorkerHandle, F as JsonSchema, I as channelSchema, L as describeChannel, M as workerHandle, N as ChannelSchema, O as isPortErrorMessage, P as CommandSchema, S as APPLICATION_WORKER, T as PortHost, _ as serve, b as ProvidedChannel, g as ServedChannel, j as servePorts, k as isPortHandshake, v as serveChannels, w as PortHandshake, x as provide, y as ChannelSource } from "./ui-D90CiOhW.js";
3
3
  import { C as InternalState, S as output, T as Component, _ as OutputTarget, a as ComponentType, b as into, c as Inputs, d as BoundsCell, f as bounds, g as OutputCell, h as InputCell, i as ComponentProps, l as isClassComponent, m as EmitValue, o as FunctionComponent, p as EmitArgs, r as ComponentContext, s as InputValue, t as ClassComponent, u as ChannelReplica, v as ReadableCell, w as internalState, x as isOutputTarget, y as input } from "./FunctionComponent-B1TJED62.js";
4
- import { $ as StorageAdapter, $n as UiNodeReport, $r as mutate, $t as UiFramePhase, A as Presence, An as AudioService, Ar as ChannelRegistry, At as createShellHistory, B as PersistedOptions, Bn as ShellFileResult, Br as themeTokenCell, Bt as UiTreeNode, C as FocusService, Cn as buildPath, Cr as pick, Ct as createApp, D as FindService, Dn as AudioMetadata, Dr as createChannelRegistry, Dt as ShellHistory, E as TextService, En as AudioAction, Er as ChannelRegistryHandle, Et as WorkerAppOptions, F as AudioSinkOptions, Fn as SpringOptions, Fr as Output, Ft as ConsoleEntry, G as IndexedDbStorage, Gn as ShellStorageOp, Gr as Each, Gt as ShellToRuntimeMessage, H as persisted, Hn as ShellRecentFile, Hr as Show, Ht as treeText, I as AudioSinkOutput, In as UiDuration, Ir as ControlledOptions, It as DevtoolsEvent, J as OpfsFileHandle, Jn as ColorSchemePreference, Jr as each, Jt as GessoRuntime, K as IndexedDbStorageOptions, Kn as ShellStorageResult, Kr as EachKey, Kt as FrameMetrics, L as MediaSessionLike, Ln as UiEasingChoice, Lr as ControlledValue, Lt as DevtoolsRequest, M as RouterOutlet, Mn as AudioStatus, Mr as Define, Mt as ActionEntry, N as AudioElementLike, Nn as AnimateOptions, Nr as Inject, Nt as ChannelErrorEntry, O as observeMediaQuery, On as AudioRequest, Or as findUnplainPath, Ot as ShellHistoryMode, P as AudioSink, Pn as AnimationService, Pr as Input, Pt as CommandEntry, Q as MemoryStorage, Qn as UiEnvironmentReport, Qr as Mutation, Qt as UI_FRAME_PHASES, R as audioClock, Rn as ShellFile, Rr as controlled, Rt as FrameEntry, S as writeClipboard, Sn as RouteParams, Sr as structurallyEqual, St as CreateAppOptions, T as EditingService, Tn as parseUrl, Tr as ChannelRegistration, Tt as WorkerApp, U as ShellStorage, Un as ShellRequest, Ur as ShowProps, Ut as RuntimeErrorSource, V as PersistedState, Vn as ShellFileType, Vr as bind, Vt as UiTreeSnapshot, W as ShellStorageOptions, Wn as ShellService, Wr as show, Wt as RuntimeToShellMessage, X as OpfsStorageOptions, Xn as BoundStream, Xr as throttled, Xt as RendererChoice, Y as OpfsStorage, Yn as observeColorScheme, Yr as debounced, Yt as GessoRuntimeOptions, Z as OpfsWritable, Zn as NodePathTarget, Zr as MutateOptions, Zt as RuntimeInput, _ as EditingMirrorTarget, _i as Equality, _n as RouteGuard, _r as OverlayService, _t as GessoApp, a as UiRole, ai as SelectOptions, an as FontService, ar as describeStream, at as storageReadValue, b as EditingProxy, bn as route, br as FrameworkChild, bt as GessoAppBuilder, c as UiSemanticsPatch, ci as FanKey, cn as RouteAnswer, cr as formatNodeReport, ct as UndoableOptions, d as markNow, di as fanOut, dn as RouterRoutes, dr as ComponentHostResolver, dt as UndoStackOptions, ei as Resource, en as FontFaceDeclaration, er as UiOwnerReport, et as StorageOutcome, f as measureSpan, fi as ComputedCell, fn as RouterService, fr as ComponentHost, ft as UndoTransaction, g as renderRoot, gi as DeriveOptions, gn as RouteDefinition, gr as OverlayRect, gt as shellStorageDenied, h as RenderWorkerApp, hi as computed, hn as RouteContext, hr as OverlayPlacement, ht as performShellStorage, i as UI_SEMANTIC_STATES, ii as resource, in as FontHost, ir as UiStreamReport, it as storageReadFailure, j as PresenceProps, jn as AudioState, jr as Channel, jt as ActionCause, k as observeReducedMotion, kn as AudioSample, kr as requirePlainData, kt as ShellHistoryOptions, l as UiSemanticsRecord, li as FanOut, ln as RouteMatch, lr as formatStream, lt as undoable, m as setPerformanceMarks, mi as ReadSource, mn as OutletProps, mr as OverlayEntry, mt as ShellLocalStore, n as MARK_PREFIX, ni as ResourceState, nn as FontFamilyDeclaration, nr as UiPropReport, nt as classifyStorageError, o as UiSemanticState, oi as select, on as MediaOptions, or as formatAge, ot as UndoShortcutOptions, p as performanceMarksEnabled, pi as ComputedOptions, pn as RouteState, pr as OverlayLayer, pt as rememberedDirectory, q as OpfsDirectory, qn as ColorScheme, qr as EachProps, qt as FramePhaseTimings, r as UI_ROLES, ri as ResourceStatus, rn as FontFamilyStatus, rr as UiSemanticsReport, rt as storageErrorMessage, s as UiSemanticsMap, si as FanCell, sn as MediaService, sr as formatNodePath, st as registerUndoShortcuts, t as EditingState, ti as ResourceOptions, tn as FontFaceLike, tr as UiPropOrigin, tt as StorageRead, u as markInstant, ui as FanOutOptions, un as RouterHistorySink, ur as printPropValue, ut as UndoStack, v as SemanticsMirror, vi as derive, vn as RouteOptions, vr as createComponent, vt as GessoAppOptions, w as ScrollService, wn as formatUrl, wr as pickKeys, wt as AppLogicEndpoint, x as EditingProxySink, xn as to, xr as isComponentElement, xt as WebMcpChoice, y as SemanticsMirrorSink, yi as ServiceRegistry, yn as RouteTarget, yr as ComponentElement, yt as createSyncApp, z as FrameService, zn as ShellFileRequest, zr as ThemeTokenCell, zt as PatchEntry } from "./index-Deqs0FCn.js";
4
+ import { $ as StorageAdapter, $n as UiNodeReport, $r as mutate, $t as UiFramePhase, A as Presence, An as AudioService, Ar as ChannelRegistry, At as createShellHistory, B as PersistedOptions, Bn as ShellFileResult, Br as themeTokenCell, Bt as UiTreeNode, C as FocusService, Cn as buildPath, Cr as pick, Ct as createApp, D as FindService, Dn as AudioMetadata, Dr as createChannelRegistry, Dt as ShellHistory, E as TextService, En as AudioAction, Er as ChannelRegistryHandle, Et as WorkerAppOptions, F as AudioSinkOptions, Fn as SpringOptions, Fr as Output, Ft as ConsoleEntry, G as IndexedDbStorage, Gn as ShellStorageOp, Gr as Each, Gt as ShellToRuntimeMessage, H as persisted, Hn as ShellRecentFile, Hr as Show, Ht as treeText, I as AudioSinkOutput, In as UiDuration, Ir as ControlledOptions, It as DevtoolsEvent, J as OpfsFileHandle, Jn as ColorSchemePreference, Jr as each, Jt as GessoRuntime, K as IndexedDbStorageOptions, Kn as ShellStorageResult, Kr as EachKey, Kt as FrameMetrics, L as MediaSessionLike, Ln as UiEasingChoice, Lr as ControlledValue, Lt as DevtoolsRequest, M as RouterOutlet, Mn as AudioStatus, Mr as Define, Mt as ActionEntry, N as AudioElementLike, Nn as AnimateOptions, Nr as Inject, Nt as ChannelErrorEntry, O as observeMediaQuery, On as AudioRequest, Or as findUnplainPath, Ot as ShellHistoryMode, P as AudioSink, Pn as AnimationService, Pr as Input, Pt as CommandEntry, Q as MemoryStorage, Qn as UiEnvironmentReport, Qr as Mutation, Qt as UI_FRAME_PHASES, R as audioClock, Rn as ShellFile, Rr as controlled, Rt as FrameEntry, S as writeClipboard, Sn as RouteParams, Sr as structurallyEqual, St as CreateAppOptions, T as EditingService, Tn as parseUrl, Tr as ChannelRegistration, Tt as WorkerApp, U as ShellStorage, Un as ShellRequest, Ur as ShowProps, Ut as RuntimeErrorSource, V as PersistedState, Vn as ShellFileType, Vr as bind, Vt as UiTreeSnapshot, W as ShellStorageOptions, Wn as ShellService, Wr as show, Wt as RuntimeToShellMessage, X as OpfsStorageOptions, Xn as BoundStream, Xr as throttled, Xt as RendererChoice, Y as OpfsStorage, Yn as observeColorScheme, Yr as debounced, Yt as GessoRuntimeOptions, Z as OpfsWritable, Zn as NodePathTarget, Zr as MutateOptions, Zt as RuntimeInput, _ as EditingMirrorTarget, _i as Equality, _n as RouteGuard, _r as OverlayService, _t as GessoApp, a as UiRole, ai as SelectOptions, an as FontService, ar as describeStream, at as storageReadValue, b as EditingProxy, bn as route, br as FrameworkChild, bt as GessoAppBuilder, c as UiSemanticsPatch, ci as FanKey, cn as RouteAnswer, cr as formatNodeReport, ct as UndoableOptions, d as markNow, di as fanOut, dn as RouterRoutes, dr as ComponentHostResolver, dt as UndoStackOptions, ei as Resource, en as FontFaceDeclaration, er as UiOwnerReport, et as StorageOutcome, f as measureSpan, fi as ComputedCell, fn as RouterService, fr as ComponentHost, ft as UndoTransaction, g as renderRoot, gi as DeriveOptions, gn as RouteDefinition, gr as OverlayRect, gt as shellStorageDenied, h as RenderWorkerApp, hi as computed, hn as RouteContext, hr as OverlayPlacement, ht as performShellStorage, i as UI_SEMANTIC_STATES, ii as resource, in as FontHost, ir as UiStreamReport, it as storageReadFailure, j as PresenceProps, jn as AudioState, jr as Channel, jt as ActionCause, k as observeReducedMotion, kn as AudioSample, kr as requirePlainData, kt as ShellHistoryOptions, l as UiSemanticsRecord, li as FanOut, ln as RouteMatch, lr as formatStream, lt as undoable, m as setPerformanceMarks, mi as ReadSource, mn as OutletProps, mr as OverlayEntry, mt as ShellLocalStore, n as MARK_PREFIX, ni as ResourceState, nn as FontFamilyDeclaration, nr as UiPropReport, nt as classifyStorageError, o as UiSemanticState, oi as select, on as MediaOptions, or as formatAge, ot as UndoShortcutOptions, p as performanceMarksEnabled, pi as ComputedOptions, pn as RouteState, pr as OverlayLayer, pt as rememberedDirectory, q as OpfsDirectory, qn as ColorScheme, qr as EachProps, qt as FramePhaseTimings, r as UI_ROLES, ri as ResourceStatus, rn as FontFamilyStatus, rr as UiSemanticsReport, rt as storageErrorMessage, s as UiSemanticsMap, si as FanCell, sn as MediaService, sr as formatNodePath, st as registerUndoShortcuts, t as EditingState, ti as ResourceOptions, tn as FontFaceLike, tr as UiPropOrigin, tt as StorageRead, u as markInstant, ui as FanOutOptions, un as RouterHistorySink, ur as printPropValue, ut as UndoStack, v as SemanticsMirror, vi as derive, vn as RouteOptions, vr as createComponent, vt as GessoAppOptions, w as ScrollService, wn as formatUrl, wr as pickKeys, wt as AppLogicEndpoint, x as EditingProxySink, xn as to, xr as isComponentElement, xt as WebMcpChoice, y as SemanticsMirrorSink, yi as ServiceRegistry, yn as RouteTarget, yr as ComponentElement, yt as createSyncApp, z as FrameService, zn as ShellFileRequest, zr as ThemeTokenCell, zt as PatchEntry } from "./index-C2nyeg5Y.js";
5
5
  export { APPLICATION_WORKER, type ActionCause, type ActionEntry, type AnimateOptions, AnimationService, type AppLogicEndpoint, type AudioAction, type AudioElementLike, type AudioMetadata, type AudioRequest, type AudioSample, AudioService, AudioSink, type AudioSinkOptions, type AudioSinkOutput, type AudioState, type AudioStatus, type BoundStream, BoundsCell, Channel, type ChannelClientMessage, type ChannelErrorEntry, type ChannelHostMessage, type ChannelPort, type ChannelRegistration, ChannelRegistry, type ChannelRegistryHandle, ChannelReplica, type ChannelSchema, type ChannelSource, type ChannelSpec, type ChannelToken, type ClassComponent, type ColorScheme, type ColorSchemePreference, type Command, type CommandEntry, type CommandMap, type CommandSchema, type CommandsOf, Component, type ComponentContext, type ComponentElement, ComponentHost, ComponentHostResolver, type ComponentProps, type ComponentType, ComputedCell, type ComputedOptions, type ConsoleEntry, type ControlledOptions, type ControlledValue, type CreateAppOptions, Define, type DeriveOptions, type DevtoolsEvent, type DevtoolsRequest, Each, type EachKey, type EachProps, type EditingMirrorTarget, EditingProxy, type EditingProxySink, EditingService, type EditingState, type EmitArgs, type EmitValue, type Equality, FanCell, type FanKey, FanOut, type FanOutOptions, FindService, FocusService, type FontFaceDeclaration, type FontFaceLike, type FontFamilyDeclaration, type FontFamilyStatus, type FontHost, FontService, type FrameEntry, type FrameMetrics, type FramePhaseTimings, FrameService, type FrameworkChild, type FunctionComponent, GessoApp, GessoAppBuilder, type GessoAppOptions, GessoRuntime, type GessoRuntimeOptions, IndexedDbStorage, type IndexedDbStorageOptions, Inject, Input, InputCell, type InputValue, type Inputs, InternalState, type JsonSchema, MARK_PREFIX, type MediaOptions, MediaService, type MediaSessionLike, MemoryStorage, type MessageEndpoint, type MutateOptions, type Mutation, type NodePathTarget, type OpfsDirectory, type OpfsFileHandle, OpfsStorage, type OpfsStorageOptions, type OpfsWritable, type OutletProps, Output, type OutputCell, type OutputTarget, type OverlayEntry, OverlayLayer, type OverlayPlacement, type OverlayRect, OverlayService, type Patch, type PatchEntry, type PatchPath, type PersistedOptions, PersistedState, type PortHandshake, type PortHost, Presence, type PresenceProps, ProvidedChannel, type ReadSource, type ReadableCell, RenderWorkerApp, type RendererChoice, Resource, type ResourceOptions, type ResourceState, type ResourceStatus, type RouteAnswer, type RouteContext, type RouteDefinition, type RouteGuard, type RouteMatch, type RouteOptions, type RouteParams, RouteState, type RouteTarget, type RouterHistorySink, RouterOutlet, type RouterRoutes, RouterService, type RuntimeErrorSource, type RuntimeInput, type RuntimeToShellMessage, ScrollService, type SelectOptions, SemanticsMirror, type SemanticsMirrorSink, type ServedChannel, ServiceRegistry, type ShellFile, type ShellFileRequest, type ShellFileResult, type ShellFileType, type ShellHistory, type ShellHistoryMode, type ShellHistoryOptions, type ShellLocalStore, type ShellRecentFile, type ShellRequest, ShellService, ShellStorage, type ShellStorageOp, type ShellStorageOptions, type ShellStorageResult, type ShellToRuntimeMessage, Show, type ShowProps, type SpringOptions, type StorageAdapter, type StorageOutcome, type StorageRead, TextService, ThemeTokenCell, UI_FRAME_PHASES, UI_ROLES, UI_SEMANTIC_STATES, type UiDuration, type UiEasingChoice, type UiEnvironmentReport, type UiFramePhase, type UiNodeReport, type UiOwnerReport, type UiPropOrigin, type UiPropReport, type UiRole, type UiSemanticState, type UiSemanticsMap, type UiSemanticsPatch, type UiSemanticsRecord, type UiSemanticsReport, type UiStreamReport, type UiTreeNode, type UiTreeSnapshot, type UndoShortcutOptions, UndoStack, type UndoStackOptions, type UndoTransaction, type UndoableOptions, type ViewOf, type WebMcpChoice, WorkerApp, type WorkerAppOptions, type WorkerHandle, applyPatch, applyPatches, audioClock, bind, bounds, buildPath, channel, channelSchema, classifyStorageError, computed, controlled, createApp, createChannelRegistry, createComponent, createShellHistory, createSyncApp, debounced, defineChannel, derive, describeChannel, describeStream, diffProjection, each, fanOut, findUnplainPath, formatAge, formatNodePath, formatNodeReport, formatStream, formatUrl, input, internalState, into, isChannelClientMessage, isChannelHostMessage, isClassComponent, isComponentElement, isHubMessage, isOutputTarget, isPortErrorMessage, isPortHandshake, markInstant, markNow, measureSpan, mutate, observeColorScheme, observeMediaQuery, observeReducedMotion, output, parseUrl, performShellStorage, performanceMarksEnabled, persisted, pick, pickKeys, portHandle, printPropValue, provide, registerUndoShortcuts, rememberedDirectory, renderRoot, requirePlainData, resource, route, select, serve, serveChannels, servePorts, setPerformanceMarks, shellStorageDenied, show, storageErrorMessage, storageReadFailure, storageReadValue, structurallyEqual, themeTokenCell, throttled, to, treeText, undoable, viewKeys, workerHandle, writeClipboard };