@graview/embed 0.1.14 → 0.1.16

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/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 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,45 @@ 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 — its places as tabs, then
273
+ * Find (the face under the bar puts its own box there), the standing and
274
+ * the person, whose menu holds the seats, the host's own actions and, for
275
+ * the seat that keeps the app, the ways into it.
260
276
  */
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;
277
+ export declare function FrameBar({ name, heading, places, current, home, reach, standing, hostActions, keeping, onFind, }: {
278
+ readonly name: string;
279
+ readonly heading: 1 | 2 | 3 | 4 | 5 | 6 | false;
280
+ readonly places: readonly BarPlace[];
281
+ readonly current: string | null;
282
+ readonly home: {
283
+ readonly href?: string | undefined;
284
+ readonly go: () => void;
285
+ readonly current: boolean;
286
+ };
287
+ readonly reach: BarGo;
288
+ readonly standing: string;
289
+ /** The host's own actions, in the person's menu (FR-72). */
290
+ readonly hostActions?: readonly HostAction[] | undefined;
291
+ /** The ways into the app, for the seat that keeps it. */
292
+ readonly keeping?: ReactNode;
293
+ readonly onFind: (find: BarFind | null) => void;
272
294
  }): import("react").JSX.Element;
295
+ /** 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). */
296
+ export declare const titleBelow: (heading: 1 | 2 | 3 | 4 | 5 | 6 | false) => 2 | 3 | 4 | 5 | 6;
297
+ /**
298
+ * THE PLACE THE ROUTED FACE IS ON, and the way to send it elsewhere (FR-131):
299
+ * the bar is drawn above the face, outside its router, so the router says
300
+ * where it is as it moves, and takes the bar's presses.
301
+ */
302
+ export declare function useSteering(initial: string): {
303
+ at: string;
304
+ setAt: import("react").Dispatch<import("react").SetStateAction<string>>;
305
+ steering: {
306
+ go: import("react").RefObject<((path: string) => void) | undefined>;
307
+ at: import("react").Dispatch<import("react").SetStateAction<string>>;
308
+ };
309
+ };
273
310
  /** An error as a host may keep it: its class, and nothing it says. */
274
311
  export declare function errorClass(error: unknown): EmbedError;
275
312
  /** The report every boundary under the embed tells, as the host's `onError` with the face it was in. */
@@ -285,12 +322,12 @@ interface FaceBoundaryProps {
285
322
  /** The framework module this part of the embed is drawn by. */
286
323
  readonly module: string;
287
324
  readonly report: ErrorReport;
288
- /** Whether the fallback stands in for the face's content (measured for height) or for a part of the strip. */
325
+ /** Whether the fallback stands in for the face's content (measured for height) or for a part of the bar. */
289
326
  readonly content?: boolean;
290
327
  readonly children: ReactNode;
291
328
  }
292
329
  /**
293
- * A PART THAT THROWS STAYS A PART (FR-24). Each face, the strip and the
330
+ * A PART THAT THROWS STAYS A PART (FR-24). Each face, the bar and the
294
331
  * studio's place on it draw behind one of these: what threw says it could
295
332
  * not draw, in the framework's words rather than the error's, and offers
296
333
  * 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,7 +93,7 @@ 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
99
  return { strip, content, measure };
@@ -114,7 +119,7 @@ export function useIntrinsicHeight(rootRef, face, onHeight) {
114
119
  observer.observe(element);
115
120
  };
116
121
  watch();
117
- // The strip comes and goes with the face's own children; a page that
122
+ // The bar comes and goes with the face's own children; a page that
118
123
  // routes changes size inside the measured box, which the observer sees.
119
124
  const swapped = new MutationObserver(() => {
120
125
  watch();
@@ -148,10 +153,12 @@ export function useFrame(props) {
148
153
  const store = useMemo(() => props.store ?? props.remote?.store ?? storeOf(app, seed), [props.store, props.remote, app, seed]);
149
154
  const presence = props.presence ?? props.remote?.presence;
150
155
  const told = props.hostContext?.theme;
151
- const followed = useHostScheme(askedScheme === "auto" && told === undefined);
156
+ const followed = useHostScheme(askedScheme === "auto" && told === undefined, brand?.scheme);
152
157
  const scheme = askedScheme === "auto" ? (told ?? followed) : askedScheme;
153
158
  /* Every face's sheet; the scene face draws the scene's own rules beside it (`sceneCss`, FR-104). */
154
159
  const css = useMemo(() => themeBaseCss(scheme, brand, { scope: `.${scope}` }), [scheme, brand, scope]);
160
+ // The page's icon, only when the host said its page is the app's (FR-124).
161
+ useFavicon(props.favicon ? faviconHref(brand) : undefined);
155
162
  // The brand's fonts, fetched once per family set, without the host's help.
156
163
  useEffect(() => {
157
164
  if (!fonts || typeof document === "undefined")
@@ -164,31 +171,33 @@ export function useFrame(props) {
164
171
  link.href = href;
165
172
  document.head.appendChild(link);
166
173
  }, [brand, fonts]);
167
- // Landmarks inside, named after the embed — kept so through re-renders.
174
+ // Landmarks inside, named after the embed — kept so through re-renders, and through a new label (FR-128).
175
+ const namedAfter = useRef(undefined);
168
176
  useLayoutEffect(() => {
169
177
  const root = rootRef.current;
178
+ const before = namedAfter.current;
179
+ namedAfter.current = label;
170
180
  if (!root || !label)
171
181
  return;
172
182
  const name = (el) => {
173
- const own = el.getAttribute("aria-label") ?? "";
174
- if (own.startsWith(`${label} · `))
175
- return;
183
+ const said = el.getAttribute("aria-label") ?? "";
184
+ // The last label's part of a name was the embed's, not the landmark's own.
185
+ const own = before && before !== label ? (said.startsWith(`${before} · `) ? said.slice(before.length + 3) : said === before ? "" : said) : said;
176
186
  // Named the same thing: "The pipeline · The pipeline" is one name said
177
187
  // twice, not a place inside a place. A region of that name IS the
178
188
  // embed's region, so it stops being a second landmark (two regions of
179
189
  // 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);
190
+ if (own === label && (el.getAttribute("role") === "region" || (el.tagName === "SECTION" && !el.hasAttribute("role"))))
191
+ el.setAttribute("role", "group");
192
+ const next = own.startsWith(`${label} · `) || own === label ? own : own ? `${label} · ${own}` : label;
193
+ if (next !== said)
194
+ el.setAttribute("aria-label", next);
186
195
  };
187
196
  // The root is the embed's own region and already wears the label; the
188
197
  // sweep names what is INSIDE it — a named section is a region too, and
189
198
  // the seat is one (FR-40).
190
199
  // 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) => {
200
+ 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
201
  if (!el.hasAttribute("data-graview-named-by-lens"))
193
202
  name(el);
194
203
  });
@@ -226,61 +235,28 @@ export function providerProps(props, presence, brand) {
226
235
  };
227
236
  }
228
237
  /**
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.
238
+ * THE ONE APP BAR (FR-131), as every face of the embed draws it: the app's
239
+ * mark and name — the heading, the way home — its places as tabs, then
240
+ * Find (the face under the bar puts its own box there), the standing and
241
+ * the person, whose menu holds the seats, the host's own actions and, for
242
+ * the seat that keeps the app, the ways into it.
232
243
  */
233
- export function Strip({ faces, scene, standing, seats, principal, onSeat, hostActions, }) {
244
+ export function FrameBar({ name, heading, places, current, home, reach, standing, hostActions, keeping, onFind, }) {
234
245
  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 }) })] }));
246
+ return (_jsx(AppBar, { brand: brand, name: name, description: brand?.subtitle, heading: heading, home: home, places: places, current: current, reach: reach, onFind: onFind, tools: _jsxs(_Fragment, { children: [_jsx(Standing, { clean: standing }), _jsx(Profile, { ...(hostActions ? { hostActions } : {}), ...(keeping ? { keeping } : {}) })] }) }));
247
+ }
248
+ /** 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). */
249
+ export const titleBelow = (heading) => (heading === false ? 2 : Math.min(heading + 1, 6));
250
+ /**
251
+ * THE PLACE THE ROUTED FACE IS ON, and the way to send it elsewhere (FR-131):
252
+ * the bar is drawn above the face, outside its router, so the router says
253
+ * where it is as it moves, and takes the bar's presses.
254
+ */
255
+ export function useSteering(initial) {
256
+ const [at, setAt] = useState(initial);
257
+ const go = useRef(undefined);
258
+ const steering = useMemo(() => ({ go, at: setAt }), []);
259
+ return { at, setAt, steering };
284
260
  }
285
261
  /** An error as a host may keep it: its class, and nothing it says. */
286
262
  export function errorClass(error) {
@@ -315,7 +291,7 @@ export function useReady(onReady, face) {
315
291
  }, []);
316
292
  }
317
293
  /**
318
- * A PART THAT THROWS STAYS A PART (FR-24). Each face, the strip and the
294
+ * A PART THAT THROWS STAYS A PART (FR-24). Each face, the bar and the
319
295
  * studio's place on it draw behind one of these: what threw says it could
320
296
  * not draw, in the framework's words rather than the error's, and offers
321
297
  * 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":"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"}
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,+BAoCA"}
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"}
@@ -1,30 +1,37 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { basePathOf } from "@graview/core";
3
3
  import { PagesApp } from "@graview/pages";
4
+ import { viewsCss } from "@graview/primitives/pages";
5
+ import { useMemo } from "react";
4
6
  /**
5
7
  * The routed face in the frame. The page scrolls inside the embed's box,
6
8
  * unless the embed is sized from its content: then the page is as tall as
7
9
  * it is, and the height the host is told is the whole of it.
8
10
  */
9
- export function PagesContent({ store, auto, brand, views, presence, props, }) {
10
- return (_jsx("div", { "data-embed-content": "", style: auto ? { flex: "0 0 auto", background: "var(--graview-ground)" } : { flex: "1 1 auto", minHeight: 0, overflow: "auto", background: "var(--graview-ground)" }, children: _jsx("div", { "data-embed-measure": "", style: { display: "flow-root" }, children: _jsx(PagesApp, {
11
- /*
12
- * THE SAME PICTURES ON THE ROUTED FACE (FR-35): the registry the
13
- * scene draws from, so a view registered here is the gallery's
14
- * card, the list's row and the record's page too.
15
- */
16
- context: {
17
- store,
18
- embedded: true,
19
- views,
20
- settings: props.app.settings ?? [],
21
- ...(presence ? { presence } : {}),
22
- ...(brand ? { brand } : {}),
23
- ...(props.principal ? { principal: props.principal } : {}),
24
- ...(props.seats ? { seats: props.seats } : {}),
25
- ...(props.people ? { people: props.people } : {}),
26
- }, ...(props.pages ? { registry: props.pages } : {}), ...(props.routing === "address"
27
- ? basePathOf(props.basePath) === "" ? {} : { basename: basePathOf(props.basePath) }
28
- : { initialPath: props.path ?? "/" }), ...(props.path !== undefined ? { path: props.path } : {}), ...(props.onNavigate ? { onNavigate: props.onNavigate } : {}) }) }) }));
11
+ export function PagesContent({ store, auto, brand, views, presence, steering, overview, scope, titleLevel = 2, props, }) {
12
+ const css = useMemo(() => viewsCss({ scope: `.${scope}` }), [scope]);
13
+ return (_jsxs("div", { "data-embed-content": "", style: auto ? { flex: "0 0 auto", background: "var(--graview-ground)" } : { flex: "1 1 auto", minHeight: 0, overflow: "auto", background: "var(--graview-ground)" }, children: [_jsx("style", { children: css }), _jsx("div", { "data-embed-measure": "", style: { display: "flow-root" }, children: _jsx(PagesApp, {
14
+ /*
15
+ * THE SAME PICTURES ON THE ROUTED FACE (FR-35): the registry the
16
+ * scene draws from, so a view registered here is the gallery's
17
+ * card, the list's row and the record's page too.
18
+ */
19
+ context: {
20
+ store,
21
+ embedded: true,
22
+ /* The bar above says the app, its places, Find and the standing: the face does not say them again (FR-131). */
23
+ ...(props.bar !== false ? { barAbove: true } : {}),
24
+ ...(overview ? { overview } : {}),
25
+ titleLevel,
26
+ views,
27
+ settings: props.app.settings ?? [],
28
+ ...(presence ? { presence } : {}),
29
+ ...(brand ? { brand } : {}),
30
+ ...(props.principal ? { principal: props.principal } : {}),
31
+ ...(props.seats ? { seats: props.seats } : {}),
32
+ ...(props.people ? { people: props.people } : {}),
33
+ }, ...(props.pages ? { registry: props.pages } : {}), ...(steering ? { steering } : {}), ...(props.routing === "address"
34
+ ? basePathOf(props.basePath) === "" ? {} : { basename: basePathOf(props.basePath) }
35
+ : { initialPath: props.path ?? "/" }), ...(props.path !== undefined ? { path: props.path } : {}), ...(props.onNavigate ? { onNavigate: props.onNavigate } : {}) }) })] }));
29
36
  }
30
37
  //# sourceMappingURL=pages-content.js.map