@graview/embed 0.1.15 → 0.1.17

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/dist/fonts.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { GRAVIEW_FACE, isSystemFamily } from "@graview/core";
1
2
  /**
2
3
  * The families a brand names, in the order it names them — the first family
3
4
  * of each stack, which is the one that has to be fetched. `ui-sans-serif`
@@ -8,7 +9,11 @@ export function familiesOf(brand) {
8
9
  const out = [];
9
10
  for (const stack of stacks) {
10
11
  const first = stack?.split(",")[0]?.trim().replace(/^["']|["']$/g, "");
11
- if (!first || first.startsWith("ui-") || first === "system-ui" || first.startsWith("-apple"))
12
+ // A face the reader's system has (Georgia, Menlo, a `system-serif` stack) is never fetched (FR-124).
13
+ if (!first || isSystemFamily(first))
14
+ continue;
15
+ // Nor the framework's own face: Montserrat is named by `TYPOGRAPHY`, and the host loads it (`@graview/primitives/montserrat.css`) or the system sans stands in.
16
+ if (first.toLowerCase() === GRAVIEW_FACE.toLowerCase())
12
17
  continue;
13
18
  if (!out.includes(first))
14
19
  out.push(first);
package/dist/fonts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,SAAS,CAAC,KAAwB;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzH,OAAO,qCAAqC,KAAK,eAAe,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAc,MAAM,eAAe,CAAC;AAEzE;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvE,qGAAqG;QACrG,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9C,gKAAgK;QAChK,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;YAAE,SAAS;QACjE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,SAAS,CAAC,KAAwB;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzH,OAAO,qCAAqC,KAAK,eAAe,CAAC;AACnE,CAAC"}
package/dist/frame.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Store, type AnySchema, type Brand, type GraviewApp, type Person, type PresenceChannel, type Principal } from "@graview/core";
2
2
  import type { NavigationHow, PageComponent, PageRegistry } from "@graview/pages";
3
- import { type HostAction, type NoticeBoard } from "@graview/primitives/frame";
3
+ import { type BarFaces, type BarFind, type BarGo, type BarPlace, type HostAction, type NoticeBoard } from "@graview/primitives/frame";
4
4
  import { type ErrorReport, type ReactViewRegistry, type ReaderMemory, type Scheme } from "@graview/react/provider";
5
5
  import { Component, type ErrorInfo, type ReactNode } from "react";
6
6
  /**
@@ -94,8 +94,8 @@ export interface FrameOptions<S extends AnySchema = AnySchema> {
94
94
  readonly presence?: PresenceChannel;
95
95
  /**
96
96
  * The seats a reader may take, when the page wants the policy to be felt
97
- * rather than read: each is a name and a principal, shown on the strip and
98
- * pressed while it is at the keyboard. The strip, the pages and the acts
97
+ * rather than read: each is a name and a principal, shown in the person's menu and
98
+ * pressed while it is at the keyboard. The bar, the pages and the acts
99
99
  * all narrow to the seat, so what a gardener may not do is struck through
100
100
  * the moment a gardener sits down.
101
101
  */
@@ -138,8 +138,19 @@ export interface FrameOptions<S extends AnySchema = AnySchema> {
138
138
  readonly pages?: PageRegistry<S, PageComponent<S>>;
139
139
  /** Views beyond the derived defaults. */
140
140
  readonly views?: (schema: S, registry: ReactViewRegistry<S>) => ReactViewRegistry<S>;
141
- /** The strip (the faces, Standing, who is here) above the picture. Default on. */
142
- readonly toggle?: boolean;
141
+ /**
142
+ * THE APP BAR (FR-131) above every face: the app's name, its places —
143
+ * the overview among them — Find, the standing and the person. Default
144
+ * on; off for a host whose own page already says all of that.
145
+ */
146
+ readonly bar?: boolean;
147
+ /**
148
+ * THE PAGE'S ICON (FR-124): `true` when the host's page IS the app (a
149
+ * hosted app on its own address), so the page wears the brand's
150
+ * favicon while the embed is mounted. Off by default: an embed on
151
+ * somebody else's page never changes that page's icon.
152
+ */
153
+ readonly favicon?: boolean;
143
154
  /** Fetch the brand's fonts. Default on; off when the host already has them. */
144
155
  readonly fonts?: boolean;
145
156
  /**
@@ -150,8 +161,8 @@ export interface FrameOptions<S extends AnySchema = AnySchema> {
150
161
  */
151
162
  readonly height?: number | string;
152
163
  /**
153
- * THE HEIGHT THE EMBED ASKS FOR, as it changes (FR-13): the strip and the
154
- * whole page under it on the pages face, the strip and the picture's box
164
+ * THE HEIGHT THE EMBED ASKS FOR, as it changes (FR-13): the bar and the
165
+ * whole page under it on the pages face, the bar and the picture's box
155
166
  * on the others. A widget forwards it to its host (MCP Apps'
156
167
  * `ui/notifications/size-changed`, ChatGPT's `notifyIntrinsicHeight`).
157
168
  */
@@ -160,7 +171,7 @@ export interface FrameOptions<S extends AnySchema = AnySchema> {
160
171
  readonly standing?: string;
161
172
  /**
162
173
  * THE HOST'S OWN ACTIONS (FR-72): "Your apps", "Change the app", "Report
163
- * this app" — links (or presses, with `onSelect`) drawn in the strip's
174
+ * this app" — links (or presses, with `onSelect`) drawn in the bar's
164
175
  * profile menu, under who is signed in, reached by the keyboard like
165
176
  * everything else in it. Nothing of the host's needs to stand over the
166
177
  * scene.
@@ -173,7 +184,7 @@ export interface FrameOptions<S extends AnySchema = AnySchema> {
173
184
  */
174
185
  readonly notices?: NoticeBoard;
175
186
  /**
176
- * TOLD WHAT WENT WRONG (FR-24). A view, a page or the strip that throws
187
+ * TOLD WHAT WENT WRONG (FR-24). A view, a page or the bar that throws
177
188
  * is contained where it threw, the rest of the embed keeps working, and
178
189
  * the host is told the error's class and the framework module that
179
190
  * caught it, never what was on screen.
@@ -199,14 +210,17 @@ export declare function useViews<S extends AnySchema>(props: Pick<FrameOptions<S
199
210
  framework: (schema: S, specs: GraviewApp<S>["viewSpecs"]) => ReactViewRegistry<S>): ReactViewRegistry<S>;
200
211
  /** A store from a declaration and a seed: the app's own policy, in memory. */
201
212
  export declare function storeOf<S extends AnySchema>(app: GraviewApp<S>, seed: FrameOptions<S>["seed"]): Store<S>;
202
- /** The host page's scheme: an explicit `data-theme`, else the system's preference. */
203
- export declare function hostScheme(): Scheme;
213
+ /**
214
+ * The host page's scheme: an explicit `data-theme`, else the scheme the
215
+ * app prefers (`brand.scheme`, FR-124), else the system's preference.
216
+ */
217
+ export declare function hostScheme(preferred?: Scheme | "auto"): Scheme;
204
218
  /**
205
219
  * THE HEIGHT THE EMBED ASKS FOR, told as it changes (FR-13). A chat's
206
220
  * widget frame is sized from its content, and an embed that filled
207
221
  * whatever box it was given had no height of its own to say: the frame
208
- * stayed at its first guess. The pages face asks for the strip and the
209
- * whole page; the other faces for the strip and the picture's box.
222
+ * stayed at its first guess. The pages face asks for the bar and the
223
+ * whole page; the other faces for the bar and the picture's box.
210
224
  */
211
225
  export declare function useIntrinsicHeight(rootRef: {
212
226
  readonly current: HTMLElement | null;
@@ -254,22 +268,48 @@ export declare function providerProps<S extends AnySchema>(props: FrameOptions<S
254
268
  brand?: Brand | undefined;
255
269
  };
256
270
  /**
257
- * The strip above the picture: the brand's name, the faces when there are
258
- * faces to switch between, the scene's own controls on the scene, who is at
259
- * the keyboard, the seats a host offers, and Standing.
271
+ * THE ONE APP BAR (FR-131), as every face of the embed draws it: the app's
272
+ * mark and name — the heading, the way home — the switch between the scene
273
+ * and the pages (FR-137), the place you are on (FR-138), then
274
+ * Find (the face under the bar puts its own box there), the standing and
275
+ * the person, whose menu holds the seats, the host's own actions and, for
276
+ * the seat that keeps the app, the ways into it.
260
277
  */
261
- export declare function Strip({ faces, scene, standing, seats, principal, onSeat, hostActions, }: {
262
- /** The face switcher, where there is more than one face. */
263
- faces?: ReactNode;
264
- /** The scene's own controls (the places, the installation, the studio), given the strip's compactness. */
265
- scene?: ((compact: boolean) => ReactNode) | undefined;
266
- standing: string;
267
- seats?: FrameOptions["seats"] | undefined;
268
- principal?: Principal | undefined;
269
- onSeat?: ((principal: Principal) => void) | undefined;
270
- /** The host's own actions, in the profile menu (FR-72). */
271
- hostActions?: readonly HostAction[] | undefined;
278
+ export declare function FrameBar({ name, heading, faces, places, current, home, reach, standing, hostActions, keeping, onFind, }: {
279
+ readonly name: string;
280
+ readonly heading: 1 | 2 | 3 | 4 | 5 | 6 | false;
281
+ /** The switch between the scene and the pages (FR-137); none where only the pages are drawn. */
282
+ readonly faces?: BarFaces | undefined;
283
+ readonly places: readonly BarPlace[];
284
+ readonly current: string | null;
285
+ readonly home: {
286
+ readonly href?: string | undefined;
287
+ readonly go: () => void;
288
+ readonly current: boolean;
289
+ };
290
+ readonly reach: BarGo;
291
+ readonly standing: string;
292
+ /** The host's own actions, in the person's menu (FR-72). */
293
+ readonly hostActions?: readonly HostAction[] | undefined;
294
+ /** The ways into the app, for the seat that keeps it. */
295
+ readonly keeping?: ReactNode;
296
+ readonly onFind: (find: BarFind | null) => void;
272
297
  }): import("react").JSX.Element;
298
+ /** The level a page's own title is said at: one below the app's name on the bar, or 2 when the host's own heading says the name (FR-131). */
299
+ export declare const titleBelow: (heading: 1 | 2 | 3 | 4 | 5 | 6 | false) => 2 | 3 | 4 | 5 | 6;
300
+ /**
301
+ * THE PLACE THE ROUTED FACE IS ON, and the way to send it elsewhere (FR-131):
302
+ * the bar is drawn above the face, outside its router, so the router says
303
+ * where it is as it moves, and takes the bar's presses.
304
+ */
305
+ export declare function useSteering(initial: string): {
306
+ at: string;
307
+ setAt: import("react").Dispatch<import("react").SetStateAction<string>>;
308
+ steering: {
309
+ go: import("react").RefObject<((path: string) => void) | undefined>;
310
+ at: import("react").Dispatch<import("react").SetStateAction<string>>;
311
+ };
312
+ };
273
313
  /** An error as a host may keep it: its class, and nothing it says. */
274
314
  export declare function errorClass(error: unknown): EmbedError;
275
315
  /** The report every boundary under the embed tells, as the host's `onError` with the face it was in. */
@@ -285,12 +325,12 @@ interface FaceBoundaryProps {
285
325
  /** The framework module this part of the embed is drawn by. */
286
326
  readonly module: string;
287
327
  readonly report: ErrorReport;
288
- /** Whether the fallback stands in for the face's content (measured for height) or for a part of the strip. */
328
+ /** Whether the fallback stands in for the face's content (measured for height) or for a part of the bar. */
289
329
  readonly content?: boolean;
290
330
  readonly children: ReactNode;
291
331
  }
292
332
  /**
293
- * A PART THAT THROWS STAYS A PART (FR-24). Each face, the strip and the
333
+ * A PART THAT THROWS STAYS A PART (FR-24). Each face, the bar and the
294
334
  * studio's place on it draw behind one of these: what threw says it could
295
335
  * not draw, in the framework's words rather than the error's, and offers
296
336
  * to try again; everything around it keeps working.
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.tsx"],"names":[],"mappings":"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"}
package/dist/frame.js CHANGED
@@ -1,6 +1,6 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Store } from "@graview/core";
3
- import { createNoticeBoard, Notices, Profile, registerDeclaredLenses, Standing, themeBaseCss, useWidth } from "@graview/primitives/frame";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { faviconHref, Store } from "@graview/core";
3
+ import { AppBar, createNoticeBoard, Notices, Profile, registerDeclaredLenses, Standing, themeBaseCss, useFavicon } from "@graview/primitives/frame";
4
4
  import { layerViews, useGraview, useTheKeyboardLandsSomewhere } from "@graview/react/provider";
5
5
  import { Component, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
6
6
  import { fontsLink } from "./fonts.js";
@@ -36,13 +36,18 @@ export function storeOf(app, seed) {
36
36
  ...(app.intelligence ? { intelligence: app.intelligence } : {}),
37
37
  });
38
38
  }
39
- /** The host page's scheme: an explicit `data-theme`, else the system's preference. */
40
- export function hostScheme() {
39
+ /**
40
+ * The host page's scheme: an explicit `data-theme`, else the scheme the
41
+ * app prefers (`brand.scheme`, FR-124), else the system's preference.
42
+ */
43
+ export function hostScheme(preferred) {
41
44
  if (typeof document === "undefined")
42
- return "light";
45
+ return preferred === "dark" ? "dark" : "light";
43
46
  const stamped = document.documentElement.dataset["theme"];
44
47
  if (stamped === "dark" || stamped === "light")
45
48
  return stamped;
49
+ if (preferred === "dark" || preferred === "light")
50
+ return preferred;
46
51
  return typeof matchMedia === "function" && matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
47
52
  }
48
53
  /**
@@ -51,12 +56,12 @@ export function hostScheme() {
51
56
  * its own toggle is pressed (or a widget's glue, when the chat says the
52
57
  * theme changed) left the embed in the other one.
53
58
  */
54
- function useHostScheme(follow) {
55
- const [scheme, setScheme] = useState(() => hostScheme());
59
+ function useHostScheme(follow, preferred) {
60
+ const [scheme, setScheme] = useState(() => hostScheme(preferred));
56
61
  useEffect(() => {
57
62
  if (!follow || typeof document === "undefined")
58
63
  return;
59
- const read = () => setScheme(hostScheme());
64
+ const read = () => setScheme(hostScheme(preferred));
60
65
  read();
61
66
  const stamped = new MutationObserver(read);
62
67
  stamped.observe(document.documentElement, { attributes: true, attributeFilter: ["data-theme"] });
@@ -66,7 +71,7 @@ function useHostScheme(follow) {
66
71
  stamped.disconnect();
67
72
  media?.removeEventListener?.("change", read);
68
73
  };
69
- }, [follow]);
74
+ }, [follow, preferred]);
70
75
  return scheme;
71
76
  }
72
77
  /** Element heights, read the one way a ResizeObserver also reads them. */
@@ -75,8 +80,8 @@ const heightOf = (element) => (element ? element.getBoundingClientRect().height
75
80
  * THE HEIGHT THE EMBED ASKS FOR, told as it changes (FR-13). A chat's
76
81
  * widget frame is sized from its content, and an embed that filled
77
82
  * whatever box it was given had no height of its own to say: the frame
78
- * stayed at its first guess. The pages face asks for the strip and the
79
- * whole page; the other faces for the strip and the picture's box.
83
+ * stayed at its first guess. The pages face asks for the bar and the
84
+ * whole page; the other faces for the bar and the picture's box.
80
85
  */
81
86
  export function useIntrinsicHeight(rootRef, face, onHeight) {
82
87
  const told = useRef(onHeight);
@@ -88,15 +93,17 @@ export function useIntrinsicHeight(rootRef, face, onHeight) {
88
93
  return;
89
94
  const parts = () => {
90
95
  const children = [...root.children];
91
- const strip = children.find((child) => child.hasAttribute("data-embed-strip"));
96
+ const strip = children.find((child) => child.hasAttribute("data-graview-app-bar"));
92
97
  const content = children.find((child) => child.hasAttribute("data-embed-content"));
93
98
  const measure = content?.querySelector("[data-embed-measure]") ?? null;
94
- return { strip, content, measure };
99
+ // On a phone the place is the page's first line, under the bar (FR-138).
100
+ const line = children.find((child) => child.hasAttribute("data-graview-place-line"));
101
+ return { strip, line, content, measure };
95
102
  };
96
103
  let last = -1;
97
104
  const report = () => {
98
- const { strip, content, measure } = parts();
99
- const height = Math.ceil(heightOf(strip) + (measure ? heightOf(measure) : heightOf(content)));
105
+ const { strip, line, content, measure } = parts();
106
+ const height = Math.ceil(heightOf(strip) + heightOf(line) + (measure ? heightOf(measure) : heightOf(content)));
100
107
  if (height === last)
101
108
  return;
102
109
  last = height;
@@ -108,13 +115,13 @@ export function useIntrinsicHeight(rootRef, face, onHeight) {
108
115
  const observer = new ResizeObserver(report);
109
116
  const watch = () => {
110
117
  observer.disconnect();
111
- const { strip, content, measure } = parts();
112
- for (const element of [root, strip, content, measure])
118
+ const { strip, line, content, measure } = parts();
119
+ for (const element of [root, strip, line, content, measure])
113
120
  if (element)
114
121
  observer.observe(element);
115
122
  };
116
123
  watch();
117
- // The strip comes and goes with the face's own children; a page that
124
+ // The bar comes and goes with the face's own children; a page that
118
125
  // routes changes size inside the measured box, which the observer sees.
119
126
  const swapped = new MutationObserver(() => {
120
127
  watch();
@@ -148,10 +155,12 @@ export function useFrame(props) {
148
155
  const store = useMemo(() => props.store ?? props.remote?.store ?? storeOf(app, seed), [props.store, props.remote, app, seed]);
149
156
  const presence = props.presence ?? props.remote?.presence;
150
157
  const told = props.hostContext?.theme;
151
- const followed = useHostScheme(askedScheme === "auto" && told === undefined);
158
+ const followed = useHostScheme(askedScheme === "auto" && told === undefined, brand?.scheme);
152
159
  const scheme = askedScheme === "auto" ? (told ?? followed) : askedScheme;
153
160
  /* Every face's sheet; the scene face draws the scene's own rules beside it (`sceneCss`, FR-104). */
154
161
  const css = useMemo(() => themeBaseCss(scheme, brand, { scope: `.${scope}` }), [scheme, brand, scope]);
162
+ // The page's icon, only when the host said its page is the app's (FR-124).
163
+ useFavicon(props.favicon ? faviconHref(brand) : undefined);
155
164
  // The brand's fonts, fetched once per family set, without the host's help.
156
165
  useEffect(() => {
157
166
  if (!fonts || typeof document === "undefined")
@@ -164,31 +173,33 @@ export function useFrame(props) {
164
173
  link.href = href;
165
174
  document.head.appendChild(link);
166
175
  }, [brand, fonts]);
167
- // Landmarks inside, named after the embed — kept so through re-renders.
176
+ // Landmarks inside, named after the embed — kept so through re-renders, and through a new label (FR-128).
177
+ const namedAfter = useRef(undefined);
168
178
  useLayoutEffect(() => {
169
179
  const root = rootRef.current;
180
+ const before = namedAfter.current;
181
+ namedAfter.current = label;
170
182
  if (!root || !label)
171
183
  return;
172
184
  const name = (el) => {
173
- const own = el.getAttribute("aria-label") ?? "";
174
- if (own.startsWith(`${label} · `))
175
- return;
185
+ const said = el.getAttribute("aria-label") ?? "";
186
+ // The last label's part of a name was the embed's, not the landmark's own.
187
+ const own = before && before !== label ? (said.startsWith(`${before} · `) ? said.slice(before.length + 3) : said === before ? "" : said) : said;
176
188
  // Named the same thing: "The pipeline · The pipeline" is one name said
177
189
  // twice, not a place inside a place. A region of that name IS the
178
190
  // embed's region, so it stops being a second landmark (two regions of
179
191
  // one name is axe's `landmark-unique`) and stays a named group.
180
- if (own === label) {
181
- if (el.getAttribute("role") === "region" || (el.tagName === "SECTION" && !el.hasAttribute("role")))
182
- el.setAttribute("role", "group");
183
- return;
184
- }
185
- el.setAttribute("aria-label", own ? `${label} · ${own}` : label);
192
+ if (own === label && (el.getAttribute("role") === "region" || (el.tagName === "SECTION" && !el.hasAttribute("role"))))
193
+ el.setAttribute("role", "group");
194
+ const next = own.startsWith(`${label} · `) || own === label ? own : own ? `${label} · ${own}` : label;
195
+ if (next !== said)
196
+ el.setAttribute("aria-label", next);
186
197
  };
187
198
  // The root is the embed's own region and already wears the label; the
188
199
  // sweep names what is INSIDE it — a named section is a region too, and
189
200
  // the seat is one (FR-40).
190
201
  // A landmark that already says which picture it is in — a board's column, "Vendors by status · Researching, 0" (FR-109) — keeps its name.
191
- const sweep = () => root.querySelectorAll("aside, nav, main, header, footer, section[aria-label]:not([role]), [role=region], [role=complementary], [role=navigation]").forEach((el) => {
202
+ const sweep = () => root.querySelectorAll("aside, nav, main, header, footer, section[aria-label]:not([role]), [role=region], [role=complementary], [role=navigation], [role=search]").forEach((el) => {
192
203
  if (!el.hasAttribute("data-graview-named-by-lens"))
193
204
  name(el);
194
205
  });
@@ -226,61 +237,29 @@ export function providerProps(props, presence, brand) {
226
237
  };
227
238
  }
228
239
  /**
229
- * The strip above the picture: the brand's name, the faces when there are
230
- * faces to switch between, the scene's own controls on the scene, who is at
231
- * the keyboard, the seats a host offers, and Standing.
240
+ * THE ONE APP BAR (FR-131), as every face of the embed draws it: the app's
241
+ * mark and name — the heading, the way home — the switch between the scene
242
+ * and the pages (FR-137), the place you are on (FR-138), then
243
+ * Find (the face under the bar puts its own box there), the standing and
244
+ * the person, whose menu holds the seats, the host's own actions and, for
245
+ * the seat that keeps the app, the ways into it.
232
246
  */
233
- export function Strip({ faces, scene, standing, seats, principal, onSeat, hostActions, }) {
247
+ export function FrameBar({ name, heading, faces, places, current, home, reach, standing, hostActions, keeping, onFind, }) {
234
248
  const { brand } = useGraview();
235
- const sameSeat = (a, b) => a !== undefined && a.id === b.id && a.kind === b.kind;
236
- /*
237
- * COMPACT BELOW A PHONE'S WIDTH: the places and the seats as one select
238
- * each rather than a pill per name. At 360px the pills wrapped to five
239
- * rows and the strip was taller than the picture under it.
240
- */
241
- const strip = useRef(null);
242
- const width = useWidth(strip);
243
- const compact = width !== null && width < 560;
244
- return (_jsxs("div", { ref: strip, role: "group", "aria-label": "Face", "data-testid": "embed-faces", "data-embed-strip": compact ? "compact" : "full", style: {
245
- display: "flex",
246
- alignItems: "center",
247
- // Wraps rather than clips: at a phone's width Standing takes the
248
- // next line instead of losing its last word.
249
- flexWrap: "wrap",
250
- gap: 6,
251
- padding: "8px 12px",
252
- flex: "0 0 auto",
253
- borderBottom: "1px solid var(--graview-edge)",
254
- background: "var(--graview-bar)",
255
- fontSize: "0.875rem",
256
- }, children: [_jsx("span", { style: { fontFamily: "var(--graview-font-display)", letterSpacing: "0.12em", textTransform: "uppercase", fontSize: "0.75rem", marginRight: 6 }, children: brand?.name ?? "Graview" }), faces, scene?.(compact), _jsx(Profile, { ...(hostActions ? { hostActions } : {}) }), seats && seats.length > 1 && compact ? (_jsx("select", { "aria-label": "Seat", "data-testid": "embed-seats", value: seats.find((seat) => sameSeat(principal, seat.principal))?.principal.id ?? "", onChange: (event) => {
257
- const seat = seats.find((candidate) => candidate.principal.id === event.target.value);
258
- if (seat)
259
- onSeat?.(seat.principal);
260
- }, style: {
261
- minHeight: 24,
262
- maxWidth: "46%",
263
- padding: "3px 8px",
264
- borderRadius: 999,
265
- fontSize: "0.875rem",
266
- borderWidth: 1,
267
- borderStyle: "solid",
268
- borderColor: "var(--graview-accent)",
269
- color: "var(--graview-accent)",
270
- background: "var(--graview-panel)",
271
- }, children: seats.map((seat) => (_jsxs("option", { value: seat.principal.id, children: ["As ", seat.label] }, seat.principal.id))) })) : seats && seats.length > 1 ? (_jsxs("div", { role: "group", "aria-label": "Seat", "data-testid": "embed-seats", style: { display: "flex", alignItems: "center", gap: 6, marginLeft: 6 }, children: [_jsx("span", { style: { fontSize: "0.75rem", letterSpacing: "0.12em", textTransform: "uppercase", color: "var(--graview-ink-faint)" }, children: "As" }), seats.map((seat) => {
272
- const pressed = sameSeat(principal, seat.principal);
273
- return (_jsx("button", { type: "button", "aria-pressed": pressed, "data-testid": `embed-seat-${seat.principal.id}`, title: `Sit down as ${seat.label}: the strip, the pages and the acts narrow to what this seat may do`, onClick: () => onSeat?.(seat.principal), style: {
274
- padding: "3px 11px",
275
- borderRadius: 999,
276
- fontSize: "0.875rem",
277
- borderWidth: 1,
278
- borderStyle: "solid",
279
- borderColor: pressed ? "var(--graview-accent)" : "transparent",
280
- color: pressed ? "var(--graview-accent)" : "var(--graview-ink-muted)",
281
- background: pressed ? "var(--graview-panel)" : "transparent",
282
- }, children: seat.label }, seat.principal.id));
283
- })] })) : null, _jsx("div", { style: { marginLeft: "auto", minWidth: 0 }, children: _jsx(Standing, { clean: standing }) })] }));
249
+ return (_jsx(AppBar, { brand: brand, name: name, description: brand?.subtitle, heading: heading, faces: faces, home: home, places: places, current: current, reach: reach, onFind: onFind, tools: _jsxs(_Fragment, { children: [_jsx(Standing, { clean: standing }), _jsx(Profile, { ...(hostActions ? { hostActions } : {}), ...(keeping ? { keeping } : {}) })] }) }));
250
+ }
251
+ /** The level a page's own title is said at: one below the app's name on the bar, or 2 when the host's own heading says the name (FR-131). */
252
+ export const titleBelow = (heading) => (heading === false ? 2 : Math.min(heading + 1, 6));
253
+ /**
254
+ * THE PLACE THE ROUTED FACE IS ON, and the way to send it elsewhere (FR-131):
255
+ * the bar is drawn above the face, outside its router, so the router says
256
+ * where it is as it moves, and takes the bar's presses.
257
+ */
258
+ export function useSteering(initial) {
259
+ const [at, setAt] = useState(initial);
260
+ const go = useRef(undefined);
261
+ const steering = useMemo(() => ({ go, at: setAt }), []);
262
+ return { at, setAt, steering };
284
263
  }
285
264
  /** An error as a host may keep it: its class, and nothing it says. */
286
265
  export function errorClass(error) {
@@ -315,7 +294,7 @@ export function useReady(onReady, face) {
315
294
  }, []);
316
295
  }
317
296
  /**
318
- * A PART THAT THROWS STAYS A PART (FR-24). Each face, the strip and the
297
+ * A PART THAT THROWS STAYS A PART (FR-24). Each face, the bar and the
319
298
  * studio's place on it draw behind one of these: what threw says it could
320
299
  * not draw, in the framework's words rather than the error's, and offers
321
300
  * to try again; everything around it keeps working.
package/dist/frame.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkG,MAAM,eAAe,CAAC;AAEtI,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAqC,MAAM,2BAA2B,CAAC;AAC7K,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,4BAA4B,EAA4E,MAAM,yBAAyB,CAAC;AACzK,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkC,MAAM,OAAO,CAAC;AACtI,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAqNvC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,KAA6C;AAC7C;;;;;GAKG;AACH,SAAiF;IAEjF,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,iHAAiH;QACjH,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAyB,CAAC;IACxG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,OAAO,CAAsB,GAAkB,EAAE,IAA6B;IAC5F,OAAO,IAAI,KAAK,CAAI;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;QAC9B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;QAChC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,UAAU;IACxB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC9D,OAAO,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACnH,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QACvD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,KAAK,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,EAAE,mBAAmB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,CAAC,OAAmC,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzH;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAiD,EAAE,IAAY,EAAE,QAAgD;IAClJ,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IACxB,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC;IACtC,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC7B,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACnF,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC;YACvE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACrC,CAAC,CAAC;QACF,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO;YAC5B,IAAI,GAAG,MAAM,CAAC;YACd,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,MAAM,EAAE,CAAC;QACT,IAAI,OAAO,cAAc,KAAK,WAAW;YAAE,OAAO;QAClD,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YAC5C,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;gBAAE,IAAI,OAAO;oBAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChG,CAAC,CAAC;QACF,KAAK,EAAE,CAAC;QACR,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACxC,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAsB,KAAsB;IAClE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACnH,MAAM,OAAO,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC1C,4BAA4B,CAAC,OAAgB,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D;;;;;OAKG;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9H,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;IACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAW,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACjF,oGAAoG;IACpG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvG,2EAA2E;IAC3E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QACtD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,IAAI,IAAI,CAAC;YAAE,OAAO;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,wEAAwE;IACxE,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QAC5B,MAAM,IAAI,GAAG,CAAC,EAAW,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC;gBAAE,OAAO;YAC1C,uEAAuE;YACvE,kEAAkE;YAClE,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACrI,OAAO;YACT,CAAC;YACD,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,sEAAsE;QACtE,uEAAuE;QACvE,2BAA2B;QAC3B,0IAA0I;QAC1I,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,IAAI,CAAC,gBAAgB,CAAC,2HAA2H,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAChK,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC;gBAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACL,KAAK,EAAE,CAAC;QACR,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7C,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9G,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC;AAClG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAA2G;IACtJ,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAc,sBAAsB,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACpI,OAAO,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;AAC1D,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,aAAa,CAAsB,KAAsB,EAAE,QAAqC,EAAE,KAAwB;IACxI,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,4FAA4F;QAC5F,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF;4EACoE;QACpE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE;KACnC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,EACpB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,MAAM,EACN,WAAW,GAYZ;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAwB,EAAE,CAAY,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IACnH;;;;OAIG;IACH,MAAM,KAAK,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC;IAC9C,OAAO,CACL,eACE,GAAG,EAAE,KAAK,EACV,IAAI,EAAC,OAAO,gBACD,MAAM,iBACL,aAAa,sBACP,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC9C,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,iEAAiE;YACjE,6CAA6C;YAC7C,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,+BAA+B;YAC7C,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,UAAU;SACrB,aAED,eAAM,KAAK,EAAE,EAAE,UAAU,EAAE,6BAA6B,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,YACjJ,KAAK,EAAE,IAAI,IAAI,SAAS,GACpB,EACN,KAAK,EACL,KAAK,EAAE,CAAC,OAAO,CAAC,EAIjB,KAAC,OAAO,OAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,EACpD,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CACtC,+BACa,MAAM,iBACL,aAAa,EACzB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,EACpF,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtF,IAAI,IAAI;wBAAE,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC,EACD,KAAK,EAAE;oBACL,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,SAAS;oBAClB,YAAY,EAAE,GAAG;oBACjB,QAAQ,EAAE,UAAU;oBACpB,WAAW,EAAE,CAAC;oBACd,WAAW,EAAE,OAAO;oBACpB,WAAW,EAAE,uBAAuB;oBACpC,KAAK,EAAE,uBAAuB;oBAC9B,UAAU,EAAE,sBAAsB;iBACnC,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,kBAAgC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,oBAClD,IAAI,CAAC,KAAK,KADH,IAAI,CAAC,SAAS,CAAC,EAAE,CAErB,CACV,CAAC,GACK,CACV,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9B,eAAK,IAAI,EAAC,OAAO,gBAAY,MAAM,iBAAa,aAAa,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aACnI,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,mBAAW,EACtI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBACpD,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,kBACC,OAAO,iBACR,cAAc,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAC9C,KAAK,EAAE,eAAe,IAAI,CAAC,KAAK,qEAAqE,EACrG,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EACvC,KAAK,EAAE;gCACL,OAAO,EAAE,UAAU;gCACnB,YAAY,EAAE,GAAG;gCACjB,QAAQ,EAAE,UAAU;gCACpB,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa;gCAC9D,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,0BAA0B;gCACrE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,aAAa;6BAC7D,YAEA,IAAI,CAAC,KAAK,IAjBN,IAAI,CAAC,SAAS,CAAC,EAAE,CAkBf,CACV,CAAC;oBACJ,CAAC,CAAC,IACE,CACP,CAAC,CAAC,CAAC,IAAI,EACR,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,YAC7C,KAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,GAAI,GACzB,IACF,CACP,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC;AAC3H,CAAC;AAED,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAExF,wGAAwG;AACxG,MAAM,UAAU,cAAc,CAAC,OAAgC,EAAE,IAAe;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnC,OAAO,WAAW,CAAc,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1J,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAgC,EAAE,IAAe;IACxE,MAAM,KAAK,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO;QAC1B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAWD;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,SAA0D;IACjF,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEnC,MAAM,CAAC,wBAAwB;QAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEQ,iBAAiB,CAAC,KAAY,EAAE,IAAe;QACtD,oEAAoE;QACpE,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,wBAAwB,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEQ,MAAM;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnD,OAAO,CACL,eACE,IAAI,EAAC,OAAO,6BACa,IAAI,CAAC,KAAK,CAAC,MAAM,KACtC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5D,KAAK,EACH,IAAI,CAAC,KAAK,CAAC,OAAO;gBAChB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE;gBACrM,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,aAGxH,yBAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,iBAAiB,GAAQ,EAC9F,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAEnH,IACL,CACP,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { AnySchema, Brand, PresenceChannel, Store } from "@graview/core";
2
+ import { type PagesSteering } from "@graview/pages";
2
3
  import type { ReactViewRegistry } from "@graview/react/provider";
3
4
  import type { FrameOptions } from "./frame.js";
4
5
  /**
@@ -6,13 +7,21 @@ import type { FrameOptions } from "./frame.js";
6
7
  * unless the embed is sized from its content: then the page is as tall as
7
8
  * it is, and the height the host is told is the whole of it.
8
9
  */
9
- export declare function PagesContent<S extends AnySchema>({ store, auto, brand, views, presence, props, }: {
10
+ export declare function PagesContent<S extends AnySchema>({ store, auto, brand, views, presence, steering, overview, scope, titleLevel, props, }: {
10
11
  readonly store: Store<S>;
11
12
  /** The registry the scene draws from, so the pages draw the same pictures (FR-35). */
12
13
  readonly views: ReactViewRegistry<S>;
13
14
  readonly presence: PresenceChannel | undefined;
14
15
  readonly auto: boolean;
15
16
  readonly brand: Brand | undefined;
17
+ /** The bar above: where the face is, said as it moves, and the bar's presses taken (FR-131). */
18
+ readonly steering?: PagesSteering | undefined;
19
+ /** The way to the overview from a page, when the embed draws the scene (FR-132). */
20
+ readonly overview?: ((stop: string) => void) | undefined;
21
+ /** The embed's scope, for the views' own sheet (FR-131). */
22
+ readonly scope: string;
23
+ /** The level a page's own title is said at: one below the app's name on the bar (FR-131). */
24
+ readonly titleLevel?: 2 | 3 | 4 | 5 | 6;
16
25
  readonly props: FrameOptions<S>;
17
26
  }): import("react").JSX.Element;
18
27
  //# sourceMappingURL=pages-content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages-content.d.ts","sourceRoot":"","sources":["../src/pages-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,EAChD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACjC,+BAsCA"}
1
+ {"version":3,"file":"pages-content.d.ts","sourceRoot":"","sources":["../src/pages-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,EAChD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAc,EACd,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAClC,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACzD,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACjC,+BA2CA"}