@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/embed.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { pathWithin } from "@graview/core";
2
+ import { addressOf, OVERVIEW_PATH, pathWithin } from "@graview/core";
3
3
  import { EMPTY_VIEW, aggregateId, fromUrl, toUrl, withFocus, withOverview } from "@graview/layout/view";
4
- import { VISUALLY_HIDDEN, descentTarget, fetchFrameworkViews, frameworkViewDoors, useWidth } from "@graview/primitives/frame";
4
+ import { BarFindContext, barPlaceAt, barPlaces, descentTarget, fetchFrameworkViews, frameworkViewDoors, OVERVIEW_KEY, useWidth } from "@graview/primitives/frame";
5
5
  import { createNoticeBoard } from "@graview/primitives/frame";
6
6
  import { ErrorReportContext, GraviewProvider, openingView, useNavigation } from "@graview/react/provider";
7
7
  import { AddressBar, faceAtAddress, stopAtAddress } from "./address.js";
8
- import { createContext, createElement, lazy, Suspense, useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from "react";
8
+ import { createContext, createElement, lazy, Suspense, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
9
9
  import { createRoot } from "react-dom/client";
10
10
  import { flushSync } from "react-dom";
11
- import { AUTO_SCENE_HEIGHT, FaceBoundary, FrameNotices, providerProps, storeOf, Strip, useErrorReport, useFrame, useIntrinsicHeight, useReady, useViews, } from "./frame.js";
11
+ import { AUTO_SCENE_HEIGHT, FaceBoundary, FrameBar, FrameNotices, providerProps, storeOf, useErrorReport, useFrame, useIntrinsicHeight, useReady, titleBelow, useSteering, useViews, } from "./frame.js";
12
12
  /**
13
13
  * A FACE BEHIND A DOOR: fetched the first time it is drawn, or before that
14
14
  * when a host asks (`preload`). Drawn once its module is here, it draws in
@@ -36,11 +36,11 @@ function door(load) {
36
36
  /* Each face draws the framework's own views, so it fetches them beside its own chunk (`frameworkViewDoors`). */
37
37
  const withViews = (face) => Promise.all([face, fetchFrameworkViews()]).then(([loaded]) => loaded);
38
38
  const scene = door(() => withViews(import("./scene-face.js").then((face) => face.SceneFace)));
39
- const sceneControls = door(() => import("./scene-face.js").then((face) => face.SceneControls));
39
+ const sceneKeeping = door(() => import("./scene-face.js").then((face) => face.SceneKeeping));
40
40
  const pages = door(() => withViews(import("./pages-content.js").then((face) => face.PagesContent)));
41
41
  const picture = door(() => withViews(import("./picture-face.js").then((face) => face.PictureFace)));
42
42
  const SceneFace = scene.Face;
43
- const SceneControls = sceneControls.Face;
43
+ const SceneKeeping = sceneKeeping.Face;
44
44
  const PagesContent = pages.Face;
45
45
  const PictureFace = picture.Face;
46
46
  /**
@@ -52,7 +52,7 @@ const PictureFace = picture.Face;
52
52
  */
53
53
  export function preload(...faces) {
54
54
  const asked = faces.length > 0 ? faces : ["scene", "pages", "picture"];
55
- const doors = new Set(asked.flatMap((face) => (face === "pages" ? [pages] : face === "picture" ? [picture] : [scene, sceneControls])));
55
+ const doors = new Set(asked.flatMap((face) => (face === "pages" ? [pages] : face === "picture" ? [picture] : [scene, sceneKeeping])));
56
56
  return Promise.all([...doors].map((one) => one.fetch())).then(() => undefined);
57
57
  }
58
58
  /**
@@ -71,9 +71,9 @@ function Arriving({ auto, scene }) {
71
71
  * THE STUDIO, WHEN IT IS TURNED ON. Imported outright, it was about 104 kB
72
72
  * minified of every embed — `studio: false` included, which never draws
73
73
  * it. A product's bundler splits it off here, and a page fetches it only
74
- * when an embed offers the studio; until it arrives, the strip simply has
75
- * no studio on it yet. A host that hands it in (`studio.place`, FR-63) has
76
- * it drawn on the strip in the frame's own render.
74
+ * when an embed offers the studio; until it arrives, the person's menu
75
+ * simply has no studio in it yet. A host that hands it in (`studio.place`,
76
+ * FR-63) has it drawn in the frame's own render.
77
77
  */
78
78
  const StudioPlace = lazy(() => import("@graview/studio").then((studio) => ({ default: studio.StudioPlace })));
79
79
  /**
@@ -111,7 +111,7 @@ function viewFor(face, stop, kinds, places, opening) {
111
111
  return withFocus(withOverview(asked, false), descentTarget(asked, kinds));
112
112
  return asked;
113
113
  }
114
- /** The face a stop implies: a stop at altitude opens the Graview. */
114
+ /** The face a stop implies: a stop at altitude opens the Graview, anything else the scene — the overview (FR-132). */
115
115
  export function faceOf(stop) {
116
116
  return stop && fromUrl(stop).overview ? "graview" : "scene";
117
117
  }
@@ -122,7 +122,7 @@ export function Embed(props) {
122
122
  return props.at && !settling ? _jsx(Settling, { onReady: arrived }) : _jsx(Drawing, { ...props });
123
123
  }
124
124
  function Drawing(props) {
125
- const { app, face = props.at?.face ?? faceOf(props.stop), stop, toggle = true, standing = "Everything is in order", principal, heading = 2 } = props;
125
+ const { app, face = props.at?.face ?? faceOf(props.stop), stop, bar = true, standing = "Everything is in order", principal, heading = 2 } = props;
126
126
  const { rootRef, scope, css, scheme, store, presence, brand, auto, height } = useFrame(props);
127
127
  const views = useViews(props, frameworkViewDoors);
128
128
  const kinds = app.schema.kinds;
@@ -131,21 +131,25 @@ function Drawing(props) {
131
131
  // The first view only: after it, where the reader goes is theirs. Under address routing, a stop in the fragment is where it starts.
132
132
  const initialView = useMemo(() => viewFor(face, at?.stop ?? (address ? stopAtAddress(props.basePath) : undefined) ?? stop, kinds, views.places(), openingView(views, app.schema)), []);
133
133
  /*
134
- * THE PAGE ON PAGES, KEPT (FR-116): where the routed face is, or last was,
135
- * so the scene and back is the same page, and `where()` can say it. Under
136
- * memory routing the routed face opens on it; under address routing the
137
- * address is where it is.
134
+ * THE PAGE ON THE ROUTED FACE, KEPT (FR-116): where it is, or last was,
135
+ * so the overview and back is the same page, and `where()` can say it.
136
+ * Under memory routing the routed face opens on it; under address routing
137
+ * the address is where it is. The overview's own address is never a
138
+ * page of the routed face: it is the scene (FR-132).
138
139
  */
139
140
  const pagesAt = useRef(undefined);
140
- pagesAt.current ??= { path: at?.path ?? (address ? (face === "pages" ? (pathWithin(window.location.pathname, props.basePath) ?? "/") + window.location.search : "/") : (props.path ?? "/")), asked: props.path };
141
+ const pageOf = (path) => (path === undefined || isOverview(path) ? "/" : path);
142
+ pagesAt.current ??= { path: pageOf(at?.path ?? (address ? (face === "pages" ? (pathWithin(window.location.pathname, props.basePath) ?? "/") + window.location.search : "/") : props.path)), asked: props.path };
141
143
  if (props.path !== pagesAt.current.asked)
142
- pagesAt.current = { path: props.path ?? "/", asked: props.path };
144
+ pagesAt.current = { path: pageOf(props.path), asked: props.path };
143
145
  const told = useRef(props.onNavigate);
144
146
  told.current = props.onNavigate;
145
147
  const onNavigate = useCallback((path, how) => {
146
148
  pagesAt.current.path = path;
147
149
  told.current?.(path, how);
148
150
  }, []);
151
+ // Where the routed face is, said by its router as it moves, for the bar's tabs (FR-131).
152
+ const { at: pageAt, setAt: setPageAt, steering } = useSteering(pagesAt.current.path);
149
153
  const whereabouts = useContext(Whereabouts);
150
154
  if (whereabouts)
151
155
  whereabouts.pages = () => pagesAt.current.path;
@@ -153,11 +157,34 @@ function Drawing(props) {
153
157
  /*
154
158
  * NARROW, THE PAGES (FR-13). Below `pagesBelow` the scene and the Graview
155
159
  * give way to the routed face, and come back when there is room: the
156
- * face the host asked for is kept, only what is drawn changes.
160
+ * face the host asked for is kept, only what is drawn changes — until the
161
+ * reader asks for the overview themselves, which is then drawn whatever
162
+ * the width (FR-132).
157
163
  */
158
164
  const width = useWidth(rootRef);
159
- const narrow = props.pagesBelow !== undefined && width !== null && width < props.pagesBelow && (face === "scene" || face === "graview");
165
+ const [overviewAsked, setOverviewAsked] = useState(false);
166
+ const narrow = props.pagesBelow !== undefined && width !== null && width < props.pagesBelow && (face === "scene" || face === "graview") && !overviewAsked;
160
167
  const shown = narrow ? "pages" : face;
168
+ if (whereabouts)
169
+ whereabouts.shown = shown;
170
+ // The scene's face the reader was last on, to go back to from a page: the Graview at altitude, or the scene.
171
+ const sceneFace = useRef(face === "graview" ? "graview" : "scene");
172
+ if (shown === "scene" || shown === "graview")
173
+ sceneFace.current = shown;
174
+ /*
175
+ * THE OVERVIEW'S ADDRESS IS ITS PLACE'S (FR-132). Under address routing
176
+ * the scene is at `<base>/places/overview`, its stop in the fragment; a
177
+ * link to a stop at the bare base — every link written before the scene
178
+ * was a place — opens it, and the address is tidied to the place's.
179
+ */
180
+ useState(() => {
181
+ if (!address || typeof window === "undefined" || shown === "pages" || shown === "picture")
182
+ return;
183
+ const { pathname, search, hash } = window.location;
184
+ if (pathWithin(pathname, props.basePath) !== "/")
185
+ return;
186
+ window.history.replaceState(window.history.state, "", `${addressOf(OVERVIEW_PATH, props.basePath === undefined ? {} : { basePath: props.basePath })}${search}${hash}`);
187
+ });
161
188
  useIntrinsicHeight(rootRef, shown, props.onIntrinsicHeight);
162
189
  const report = useErrorReport(props.onError, shown);
163
190
  const ready = useReady(props.onReady, shown);
@@ -167,22 +194,86 @@ function Drawing(props) {
167
194
  ready(drew);
168
195
  drawnTold.current?.(asked);
169
196
  }, [ready]);
197
+ const [barFind, setBarFind] = useState(null);
198
+ const places = views.places();
199
+ /*
200
+ * MOVING BETWEEN THE OVERVIEW AND A PAGE (FR-132): one press on a tab.
201
+ * Under address routing the address goes first, as a step Back undoes;
202
+ * under memory routing the host is told the face, and — as for any page —
203
+ * the path, the overview's being `/places/overview`.
204
+ */
205
+ const latest = useRef({ shown, onFace: props.onFace });
206
+ latest.current = { shown, onFace: props.onFace };
207
+ const toFace = useCallback((next, path, stop) => {
208
+ if (address) {
209
+ toggled.current?.(next, path, stop);
210
+ return;
211
+ }
212
+ latest.current.onFace?.(next);
213
+ told.current?.(next === "pages" ? (path ?? pagesAt.current.path) : OVERVIEW_PATH, "push");
214
+ }, [address]);
215
+ /*
216
+ * The stop a page's way to the overview names ("On the overview ↗") is
217
+ * landed on once: it is let go when the reader leaves the scene and when
218
+ * the host sets a stop of its own, so it never holds the scene after.
219
+ */
220
+ const [overviewStop, setOverviewStop] = useState(undefined);
221
+ useEffect(() => {
222
+ if (shown === "pages")
223
+ setOverviewStop(undefined);
224
+ }, [shown]);
225
+ const hostStop = useRef(stop);
226
+ useEffect(() => {
227
+ if (hostStop.current === stop)
228
+ return;
229
+ hostStop.current = stop;
230
+ setOverviewStop(undefined);
231
+ }, [stop]);
232
+ const toOverview = useCallback((stop) => {
233
+ if (latest.current.shown !== "pages")
234
+ return;
235
+ setOverviewAsked(true);
236
+ setOverviewStop(stop);
237
+ if (face === "scene" || face === "graview") {
238
+ // Narrow, the scene was standing aside for the pages: the reader asked for it.
239
+ if (address)
240
+ window.history.pushState(null, "", `${addressOf(OVERVIEW_PATH, props.basePath === undefined ? {} : { basePath: props.basePath })}${stop ?? ""}`);
241
+ else
242
+ told.current?.(OVERVIEW_PATH, "push");
243
+ return;
244
+ }
245
+ toFace(sceneFace.current, undefined, stop);
246
+ }, [address, face, props.basePath, toFace]);
247
+ const toPage = useCallback((path) => {
248
+ if (latest.current.shown === "pages") {
249
+ steering.go.current?.(path);
250
+ return;
251
+ }
252
+ pagesAt.current.path = path;
253
+ setPageAt(path);
254
+ toFace("pages", path);
255
+ }, [steering, setPageAt, toFace]);
256
+ const barPlacesHere = barPlaces({ store: store, principal, views: views, overview: true });
257
+ const onPages = shown === "pages";
258
+ const hrefOf = address ? (path) => addressOf(path, props.basePath === undefined ? {} : { basePath: props.basePath }) : undefined;
170
259
  /*
171
260
  * THE EMBED IS ITSELF A LANDMARK.
172
261
  *
173
262
  * `label` named every landmark INSIDE ("Chapter 13 · Places") and left the
174
- * root a plain div — so on somebody else's page the strip, the seats and
263
+ * root a plain div — so on somebody else's page the bar, the seats and
175
264
  * the picture sat outside any landmark at all (axe `region`), and a reader
176
265
  * moving by landmark could not reach the app, let alone tell two of them
177
266
  * apart at the top. A named region is what the label was for.
178
267
  *
179
- * Without a label it takes the app's own name, and two unlabelled embeds
268
+ * Without a label it takes the app's own name, and two unlabeled embeds
180
269
  * of one app are then two regions with one name — which is the ambiguity
181
270
  * the docs warn about, said out loud by `landmark-unique` instead of
182
271
  * silently.
183
272
  */
184
- return (_jsxs("section", { ref: rootRef, className: scope, "aria-label": props.label ?? app.name, "data-graview-embed": shown, "data-graview-scheme": scheme, ...(narrow ? { "data-graview-embed-narrow": "" } : {}), style: { position: "relative", height, minHeight: auto ? 0 : 320, display: "flex", flexDirection: "column", overflow: "hidden", borderRadius: "var(--graview-radius, 12px)" }, children: [_jsx("style", { children: css }), heading !== false && shown !== "pages" ? _jsx(HeadingAt, { level: heading, children: props.label ?? app.name }) : null, _jsxs(ErrorReportContext.Provider, { value: report, children: [_jsx(FrameNotices, { rootRef: rootRef, board: props.notices }), _jsx(FaceBoundary, { module: "@graview/react", report: report, content: true, children: _jsxs(GraviewProvider, { store: store, views: views, initialView: initialView, scheme: scheme, ...providerProps(props, presence, brand), children: [_jsx(Faces, { face: shown, stop: stop, kinds: kinds, places: views.places() }), whereabouts ? _jsx(Watch, { into: whereabouts }) : null, address ? _jsx(AddressBar, { pagesWere: at?.path, basePath: props.basePath, shown: shown, onFace: props.onFace, toggle: toggled, kinds: kinds, places: views.places() }) : null, toggle && shown !== "picture" ? (_jsx(FaceBoundary, { module: "@graview/embed", report: report, children: _jsx(EmbedStrip, { app: app, studio: props.studio, face: shown, narrow: narrow, onFace: address ? (next) => toggled.current?.(next) : props.onFace, standing: standing, seats: props.seats, principal: principal, onSeat: props.onSeat, hostActions: props.hostActions, report: report }) })) : null, _jsx(FaceBoundary, { module: shown === "pages" || shown === "picture" ? "@graview/pages" : "@graview/react", report: report, content: true, children: _jsxs(Suspense, { fallback: _jsx(Arriving, { auto: auto, scene: shown !== "pages" && shown !== "picture" }), children: [shown === "picture" ? (_jsx(PictureFace, { store: store, views: views, as: (stop ? fromUrl(stop).within?.["view"] : undefined) ?? "" })) : shown === "pages" ? (_jsx(PagesContent, { store: store, views: views, presence: presence, auto: auto, brand: brand, props: { ...props, onNavigate, ...(address ? {} : { path: pagesAt.current.path }) } })) : (_jsx(SceneFace, { address: address, auto: auto, rememberAs: app.name, scheme: scheme, scope: scope, ...(props.companion ? { companion: props.companion } : {}) })), _jsx(Drawn, { asked: face, shown: shown, onDrawn: drawn })] }) }, shown)] }) })] })] }));
273
+ return (_jsxs("section", { ref: rootRef, className: scope, "aria-label": props.label ?? app.name, "data-graview-embed": shown, "data-graview-scheme": scheme, ...(narrow ? { "data-graview-embed-narrow": "" } : {}), style: { position: "relative", height, minHeight: auto ? 0 : 320, display: "flex", flexDirection: "column", overflow: "hidden", borderRadius: "var(--graview-radius, 12px)" }, children: [_jsx("style", { children: css }), _jsxs(ErrorReportContext.Provider, { value: report, children: [_jsx(FrameNotices, { rootRef: rootRef, board: props.notices }), _jsx(FaceBoundary, { module: "@graview/react", report: report, content: true, children: _jsxs(GraviewProvider, { store: store, views: views, initialView: initialView, scheme: scheme, ...providerProps(props, presence, brand), ...(props.onSeat ? { onSeat: props.onSeat } : {}), children: [_jsx(Faces, { face: shown, stop: overviewStop ?? stop, kinds: kinds, places: places }), whereabouts ? _jsx(Watch, { into: whereabouts }) : null, address ? _jsx(AddressBar, { pagesWere: at?.path, basePath: props.basePath, shown: shown, onFace: props.onFace, toggle: toggled, kinds: kinds, places: places }) : null, bar && shown !== "picture" ? (_jsx(FaceBoundary, { module: "@graview/embed", report: report, children: _jsx(FrameBar, { name: brand?.name ?? app.name, heading: heading, places: barPlacesHere, current: onPages ? barPlaceAt(barPlacesHere, pageAt) : OVERVIEW_KEY, home: { ...(hrefOf ? { href: hrefOf("/") } : {}), go: () => toPage("/"), current: onPages && pageAt.split("?")[0] === "/" }, reach: { ...(hrefOf ? { href: hrefOf } : {}), go: (place) => (place.key === OVERVIEW_KEY ? toOverview() : toPage(place.path)) }, standing: standing, hostActions: props.hostActions, keeping: onPages ? undefined : _jsx(Keeping, { app: app, studio: props.studio, report: report }), onFind: setBarFind }) })) : null, _jsx(BarFindContext.Provider, { value: barFind, children: _jsx(FaceBoundary, { module: shown === "pages" || shown === "picture" ? "@graview/pages" : "@graview/react", report: report, content: true, children: _jsxs(Suspense, { fallback: _jsx(Arriving, { auto: auto, scene: shown !== "pages" && shown !== "picture" }), children: [shown === "picture" ? (_jsx(PictureFace, { scope: scope, store: store, views: views, as: (stop ? fromUrl(stop).within?.["view"] : undefined) ?? "" })) : shown === "pages" ? (_jsx(PagesContent, { store: store, views: views, presence: presence, auto: auto, brand: brand, steering: steering, overview: toOverview, scope: scope, titleLevel: titleBelow(heading), props: { ...props, onNavigate, ...(address ? {} : { path: pagesAt.current.path }) } })) : (_jsx(SceneFace, { address: address, auto: auto, rememberAs: app.name, scheme: scheme, scope: scope, ...(props.companion ? { companion: props.companion } : {}) })), _jsx(Drawn, { asked: face, shown: shown, onDrawn: drawn })] }) }, shown) })] }) })] })] }));
185
274
  }
275
+ /** Whether a path on the routed face is the overview's own (FR-132). */
276
+ const isOverview = (path) => path.split(/[?#]/)[0] === OVERVIEW_PATH;
186
277
  const Whereabouts = createContext(null);
187
278
  /** Keeps the scene's view where `where()` can read it. */
188
279
  function Watch({ into }) {
@@ -201,11 +292,6 @@ function Settling({ onReady }) {
201
292
  useLayoutEffect(() => void fetchSettling().then(onReady), [onReady]);
202
293
  return null;
203
294
  }
204
- /** A heading at a level the host chose, heard and not seen. */
205
- function HeadingAt({ level, children }) {
206
- const Tag = `h${level}`;
207
- return _jsx(Tag, { style: { ...VISUALLY_HIDDEN, margin: 0 }, children: children });
208
- }
209
295
  /** Keeps the scene's view in step with the face and stop props. */
210
296
  function Faces({ face, stop, kinds, places }) {
211
297
  const { view, go } = useNavigation();
@@ -235,35 +321,20 @@ function Faces({ face, stop, kinds, places }) {
235
321
  }, [face, stop, kinds, view, go]);
236
322
  return null;
237
323
  }
238
- /** The strip, with the scene's faces and its own controls. */
239
- function EmbedStrip({ app, studio, face, narrow = false, onFace, standing, seats, principal, onSeat, hostActions, report, }) {
240
- // Two faces, not three: altitude is the scene's own control, on the
241
- // picture, and a third pill for it here said the same thing twice.
242
- const faces = narrow
243
- ? []
244
- : [
245
- { id: "scene", label: "Scene", title: "The picture — rise and descend on it", pressed: face !== "pages" },
246
- { id: "pages", label: "Pages", title: "The same app as ordinary pages", pressed: face === "pages" },
247
- ];
248
- return (_jsx(Strip, { standing: standing, seats: seats, principal: principal, onSeat: onSeat, hostActions: hostActions, faces: faces.map((candidate) => (_jsx("button", { type: "button", "aria-pressed": candidate.pressed, "data-testid": `embed-face-${candidate.id}`, title: candidate.title, onClick: () => onFace?.(candidate.id), style: {
249
- padding: "3px 11px",
250
- borderRadius: 999,
251
- fontSize: "0.875rem",
252
- borderWidth: 1,
253
- borderStyle: "solid",
254
- // The face you are on wears the capsule; the other is a word to press (FR-117).
255
- borderColor: candidate.pressed ? "var(--graview-accent)" : "transparent",
256
- color: candidate.pressed ? "var(--graview-accent)" : "var(--graview-ink-muted)",
257
- background: candidate.pressed ? "var(--graview-panel)" : "transparent",
258
- }, children: candidate.label }, candidate.id))), scene: face === "pages"
259
- ? undefined
260
- : (compact) => (_jsxs(_Fragment, { children: [_jsx(Suspense, { fallback: null, children: _jsx(SceneControls, { compact: compact }) }), studio !== false ? (_jsx(FaceBoundary, { module: "@graview/studio", report: report, children: _jsx(StudioOnTheStrip, { app: app, studio: studio }) })) : null] })) }));
324
+ /**
325
+ * THE WAYS INTO THE APP, in the person's menu on the overview, for the seat
326
+ * that keeps it: the installation's own districts, and the app's own
327
+ * declaration — inside the embed's box, because a studio that escaped onto
328
+ * somebody else's page would be the rudest thing this package could do.
329
+ */
330
+ function Keeping({ app, studio, report }) {
331
+ return (_jsxs(_Fragment, { children: [_jsx(Suspense, { fallback: null, children: _jsx(SceneKeeping, {}) }), studio !== false ? (_jsx(FaceBoundary, { module: "@graview/studio", report: report, children: _jsx(StudioOnTheBar, { app: app, studio: studio }) })) : null] }));
261
332
  }
262
333
  /**
263
- * The studio's place on the strip: the one the host handed in, drawn at
264
- * once (FR-63), or the embed's own, fetched when it is first drawn.
334
+ * The studio's place in the person's menu: the one the host handed in, drawn
335
+ * at once (FR-63), or the embed's own, fetched when it is first drawn.
265
336
  */
266
- function StudioOnTheStrip({ app, studio }) {
337
+ function StudioOnTheBar({ app, studio }) {
267
338
  const props = {
268
339
  app,
269
340
  within: "box",
@@ -290,11 +361,14 @@ export function mount(element, options) {
290
361
  let setters = null;
291
362
  const here = {};
292
363
  let swaps = 0;
364
+ // What the embed is called, and the app it was called after (FR-128).
365
+ let label = options.label;
366
+ let named = options.app;
293
367
  // A new declaration on its way (FR-116): `drawn()` waits for it.
294
368
  let swapping = Promise.resolve();
295
369
  // Which face is asked for, which is drawn, and who is waiting for the one asked for.
296
370
  // Under address routing, the face the address names (FR-106).
297
- const opening = faceAtAddress({ ...options, ...(options.at ? { face: options.at.face } : {}) });
371
+ const opening = faceAtAddress({ ...options, face: options.at?.face ?? options.face ?? faceOf(options.stop) });
298
372
  let asked = opening;
299
373
  let drawnFace = null;
300
374
  let waiting = [];
@@ -318,6 +392,8 @@ export function mount(element, options) {
318
392
  const [people, setPeople] = useState(options.people);
319
393
  const [hostContext, setHostContext] = useState(options.hostContext);
320
394
  const [brand, setBrand] = useState(options.brand);
395
+ const [called, setCalled] = useState(options.label);
396
+ const [hostActions, setHostActions] = useState(options.hostActions);
321
397
  const [swap, setSwap] = useState(undefined);
322
398
  setters = {
323
399
  app: (next) => {
@@ -325,9 +401,9 @@ export function mount(element, options) {
325
401
  setPath(undefined);
326
402
  setStop(undefined);
327
403
  },
328
- face: setFace, stop: setStop, path: setPath, scheme: setScheme, seat: setSeat, seats: setSeats, people: setPeople, hostContext: setHostContext, brand: setBrand
404
+ face: setFace, stop: setStop, path: setPath, scheme: setScheme, seat: setSeat, seats: setSeats, people: setPeople, hostContext: setHostContext, brand: setBrand, label: setCalled, hostActions: setHostActions
329
405
  };
330
- return (_jsx(Whereabouts.Provider, { value: here, children: _jsx(Embed, { ...(swap ? swapped(options, swap) : options), store: store, notices: board, face: face, ...(stop !== undefined ? { stop } : {}), ...(path !== undefined ? { path } : {}), ...(principal ? { principal } : {}), ...(seats ? { seats } : {}), ...(people ? { people } : {}), ...(hostContext ? { hostContext } : {}), ...(brand ? { brand } : {}), scheme: scheme, onFace: (next) => {
406
+ return (_jsx(Whereabouts.Provider, { value: here, children: _jsx(Embed, { ...(swap ? swapped(options, swap) : options), store: store, notices: board, face: face, ...(stop !== undefined ? { stop } : {}), ...(path !== undefined ? { path } : {}), ...(principal ? { principal } : {}), ...(seats ? { seats } : {}), ...(people ? { people } : {}), ...(hostContext ? { hostContext } : {}), ...(brand ? { brand } : {}), label: called, hostActions: hostActions, scheme: scheme, onFace: (next) => {
331
407
  asked = next;
332
408
  setFace(next);
333
409
  }, onSeat: setSeat, onDrawn: onDrawn }, swap?.n ?? 0) }));
@@ -335,7 +411,9 @@ export function mount(element, options) {
335
411
  const where = () => {
336
412
  const focus = here.view?.focusId;
337
413
  const kind = focus ? store.graph.getNode(focus)?.kind : undefined;
338
- return { face: asked, path: here.pages?.() ?? options.path ?? "/", stop: here.view ? toUrl(here.view) : (options.stop ?? "#"), ...(kind ? { kind } : {}) };
414
+ // On the scene the place is the overview, and its stop rides on it (FR-132).
415
+ const onScene = (here.shown ?? asked) === "scene" || (here.shown ?? asked) === "graview";
416
+ return { face: asked, path: onScene ? OVERVIEW_PATH : (here.pages?.() ?? options.path ?? "/"), stop: here.view ? toUrl(here.view) : (options.stop ?? "#"), ...(kind ? { kind } : {}) };
339
417
  };
340
418
  const root = createRoot(element);
341
419
  flushSync(() => root.render(_jsx(Host, {})));
@@ -344,13 +422,19 @@ export function mount(element, options) {
344
422
  return store;
345
423
  },
346
424
  where,
347
- setApp: (app, given) => {
425
+ setApp: (app, given, asked) => {
348
426
  const remote = "graph" in given ? { store: given } : given;
349
427
  // The app on the page stays drawn until the rules for settling the place in the new one are here.
350
428
  const swap = () => {
351
429
  const at = where();
352
430
  store = remote.store;
353
- flushSync(() => setters?.app({ app, remote, at, n: ++swaps }));
431
+ // A label that was the app's own name is the new app's (FR-128); one the host chose stays, unless it says another.
432
+ label = asked?.label ?? (label === named.name ? app.name : label);
433
+ named = app;
434
+ flushSync(() => {
435
+ setters?.label(label);
436
+ setters?.app({ app, remote, at, n: ++swaps });
437
+ });
354
438
  };
355
439
  if (settling)
356
440
  swap();
@@ -362,13 +446,32 @@ export function mount(element, options) {
362
446
  flushSync(() => setters?.face(face));
363
447
  },
364
448
  setStop: (stop) => flushSync(() => setters?.stop(stop)),
365
- setPath: (path) => flushSync(() => setters?.path(path)),
449
+ setPath: (path) => flushSync(() => {
450
+ // The overview's path is the scene; any other path is a page (FR-132).
451
+ if (isOverview(path)) {
452
+ if (asked === "pages" || asked === "picture") {
453
+ asked = "scene";
454
+ setters?.face("scene");
455
+ }
456
+ return;
457
+ }
458
+ setters?.path(path);
459
+ if (asked !== "pages") {
460
+ asked = "pages";
461
+ setters?.face("pages");
462
+ }
463
+ }),
366
464
  setScheme: (scheme) => flushSync(() => setters?.scheme(scheme)),
367
465
  setSeat: (principal) => flushSync(() => setters?.seat(principal)),
368
466
  setSeats: (seats) => flushSync(() => setters?.seats(seats)),
369
467
  setPeople: (people) => flushSync(() => setters?.people(people)),
370
468
  setHostContext: (context) => flushSync(() => setters?.hostContext(context)),
371
469
  setBrand: (brand) => flushSync(() => setters?.brand(brand)),
470
+ setLabel: (given) => {
471
+ label = given;
472
+ flushSync(() => setters?.label(given));
473
+ },
474
+ setHostActions: (actions) => flushSync(() => setters?.hostActions(actions)),
372
475
  /* Drawn is the face asked for — below `pagesBelow`, drawn as the pages that stand in for it. */
373
476
  drawn: () => swapping.then(() => (drawnFace === asked ? undefined : new Promise((resolve) => waiting.push(resolve)))),
374
477
  notify: (notice) => {
package/dist/embed.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.tsx"],"names":[],"mappings":"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"}
package/dist/fonts.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Brand } from "@graview/core";
1
+ import { type Brand } from "@graview/core";
2
2
  /**
3
3
  * The families a brand names, in the order it names them — the first family
4
4
  * of each stack, which is the one that has to be fetched. `ui-sans-serif`
@@ -1 +1 @@
1
- {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAStE;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKjE"}
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAUtE;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKjE"}
package/dist/fonts.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { 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,8 @@ 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))
12
14
  continue;
13
15
  if (!out.includes(first))
14
16
  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,cAAc,EAAc,MAAM,eAAe,CAAC;AAE3D;;;;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,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"}